0
0
616
535
516
463
1202
1302
0
667
128
404
386
563
918
1044
0
-40
-47
-19
1
0
12
0
-6
0
0
0
1
25
6
7
-2
33
0
-1
0
4
0
0
0
0
-9
-1
6
2
-8
0
-74
0
5
0
0
0
-27
-39
-11
-7
-47
-22
0
15
0
174
0
0
10
-46
-2
-23
11
-26
0
80
25
132
14
175
110
72
-34
2
-30
2
15
18
49
28
64
4
94
113
65
40
56
57
37
87
94
128
37
0
52
0
0
0
13
-8
-10
-28
-15
-17
16
10
79
64
192
-18
166
-17
-39
-34
-10
30
64
-25
21
16
22
13
-137
29
7
12
44
-72
-29
-79
8
12
3
52
26
-5
94
17
18
13
-35
-34
-37
-70
36
17
47
99
16
147
-33
-19
-13
-21
1
19
11
20
51
1
213
-66
182
-35
-8
34
-16
31
21
63
11
107
74
242
101
274
-21
19
35
6
24
38
67
-20
166
94
212
170
170
3
-8
45
-26
0
0
0
0
0
0
0
3
4
-2
-52
-37
41
0
17
0
0
0
0
0
-10
34
-46
-51
0
89
0
9
0
0
0
0
0
-30
8
23
-23
45
12
-2
59
42
54
23
2
-1
46
12
10
-7
11
44
-9
-10
32
-52
36
3
0
20
22
-22
22
24
77
-6
7
0
44
0
0
0
20
-70
29
0
-13
-67
-20
32
33
62
142
-10
14
-10
57
18
35
15
11
-42
23
7
13
15
-124
53
-24
0
4
15
8
-104
-24
32
28
-32
34
-14
90
0
0
3
-9
-24
-28
-118
50
84
72
155
5
119
-43
16
9
-28
-6
37
-2
54
0
0
184
-48
172
1
-46
11
16
29
13
13
8
152
64
222
128
166
72
-3
16
9
16
44
81
-36
167
71
212
28
-8
-11
20
11
49
0
0
0
0
0
0
0
58
-35
10
18
66
76
0
-17
0
-2
0
0
0
-16
-32
-15
-22
11
6
122
47
108
-24
152
10
46
-36
6
-34
-11
8
17
79
96
96
-48
54
-8
62
53
28
-15
18
9
67
50
28
0
35
0
0
0
9
-18
-36
-51
4
-31
3
-25
2
83
65
-26
32
-12
-37
-2
-4
6
9
-15
21
22
28
18
-223
21
-44
0
-50
-61
-44
-25
-17
60
19
18
107
24
111
-51
0
9
15
24
30
-128
9
29
44
59
37
101
23
-50
3
-1
-32
-31
72
17
24
-83
144
-55
110
-65
5
21
-50
4
3
34
53
94
30
183
158
222
24
18
51
9
12
45
81
-3
176
50
108
56
58
3
43
-19
-58
0
-2
0
0
0
0
0
2
11
33
-5
-48
2
109
29
180
-40
100
-31
-101
0
-4
-8
-16
25
0
138
95
117
-38
163
-5
90
47
8
36
-16
51
71
35
13
0
43
0
0
0
-25
-23
29
-37
-67
-28
27
3
56
36
96
-4
-48
-40
19
-9
-2
25
-8
-62
11
-2
13
6
-209
-6
-54
51
5
-37
18
41
-7
-38
0
-14
84
-21
65
-38
-1
24
36
19
55
-73
59
73
35
49
29
46
-39
-30
13
-13
-59
-32
-3
36
59
-71
111
-39
178
-29
-42
-7
-64
-19
5
50
5
92
-25
236
81
154
10
-50
21
28
48
11
84
-1
190
68
162
124
43
-56
38
15
13
0
1
14
-1
18
-9
-1
-17
-18
30
5
1
-25
43
30
17
34
22
62
197
2
-13
-13
9
-28
-15
-62
10
0
0
0
0
0
-22
-12
1
7
-50
-15
-66
42
-150
16
-153
-167
-133
-23
-16
-6
11
-23
-30
-13
3
-5
-1
-37
-359
7
23
-13
30
22
-12
31
6
13
-21
26
45
-237
112
-11
11
13
4
-16
-24
-268
21
3
42
44
17
79
-24
-24
-21
40
-24
-40
-68
11
-172
-180
13
-182
70
-27
-15
42
-41
-40
-27
31
19
-228
74
128
65
134
-42
-32
-12
-11
-36
-22
53
62
47
107
113
6
179
-29
-1
26
70
8
-4
1
7
5
0
0
-9
11
-9
-36
-47
-20
-39
44
0
0
0
0
0
-10
-34
-42
-33
8
20
-105
10
-124
-4
-182
-172
-72
-27
-24
-30
-20
-15
22
-37
-5
-29
-10
-9
-183
20
2
-32
35
-2
25
84
6
18
15
35
-2
-365
48
-18
-38
-1
-7
-22
6
-292
10
7
28
-6
-5
39
-40
-9
-54
-16
-17
10
-100
-21
-150
-128
-42
-194
38
-28
-17
37
10
-18
-16
36
23
-127
-30
12
7
63
9
-9
-35
-19
15
49
29
41
47
70
-124
-164
-110
0
0
0
0
-11
0
0
0
0
0
0
-19
7
0
4
5
7
-65
-5
0
-25
0
0
0
5
-2
12
2
4
4
-66
64
-66
35
-12
0
53
4
2
9
13
7
15
-47
57
3
71
38
0
35
3
4
8
4
2
7
0
75
-5
40
52
14
28
4
11
2
5
6
9
-88
-41
0
0
-42
0
-12
3
4
-5
-5
-14
-18
15
-22
0
0
-16
6
-30
-5
-5
13
-6
-2
-5
40
-40
22
-8
0
0
0
2
1
7
6
-2
-10
6
0
-5
-22
1
-6
1
-13
3
-10
2
-5
18
-9
16
23
-321
43
6
2
-2
28
8
42
-2
46
29
-27
54
-121
69
6
6
7
10
3
12
-268
23
39
11
43
25
67
-2
0
-7
7
-6
-4
-24
-4
-54
-200
135
-43
181
9
-1
27
7
-1
1
62
1
75
-12
197
86
253
4
-9
12
-4
10
7
103
-15
179
41
283
177
156
0
1
4
0
1
-3
1
-1
0
-1
0
5
14
15
14
14
-12
0
18
18
22
19
186
-80
-4
-9
-7
-13
-19
12
-5
-15
-28
16
-16
250
-26
-3
-13
-3
-9
-5
1
-2
-31
-2
-13
-21
275
-22
5
-5
-8
-3
-1
3
12
-22
29
-33
9
260
-53
1
1
2
-13
-4
-32
34
-5
12
-45
21
219
-79
1
-17
-13
52
1
5
-26
-4
-6
13
6
16
28
14
38
0
57
-140
-22
17
-1
-3
-30
25
-10
4
7
3
16
52
-25
-33
-49
-109
10
55
-11
2
16
17
2
27
65
23
-28
-3
16
46
196
-89
-17
4
-3
11
-1
20
-1
-6
-15
-34
7
297
-112
63
38
42
48
2
-4
12
-3
0
0
21
16
5
2
3
4
0
195
-17
-27
-68
-12
-71
-14
11
5
6
26
23
2
257
-19
32
-10
-14
-5
-50
12
11
0
8
6
7
264
-8
-28
-6
-12
-62
-49
6
2
17
1
0
-3
2
-18
-3
-4
6
13
18
-2
-3
21
17
55
-26
189
177
51
77
-32
6
-4
8
-4
3
-5
94
11
237
254
112
206
-26
-5
84
7
-7
3
7
4
0
16
8
3
-9
18
7
9
4
9
16
13
124
189
11
-66
-31
23
35
12
83
0
16
-9
4
6
-8
7
0
0
0
0
0
-86
104
39
5
0
30
10
3
43
0
24
30
58
28
0
26
22
-5
24
0
50
0
0
0
0
0
72
-47
7
0
0
48
6
-53
0
0
-81
80
-24
0
0
47
25
-20
0
0
0
0
0
0
0
-3
12
94
0
0
14
-36
31
0
0
53
38
20
0
0
8
71
-30
0
0
0
0
0
0
0
8
-47
35
0
0
107
48
99
0
0
37
68
-34
0
0
19
0
16
0
0
0
0
0
0
0
35
16
66
0
0
63
47
65
0
0
11
59
8
0
0
24
86
25
0
0
0
0
0
0
0
45
31
92
0
0
23
34
82
0
0
-11
37
29
0
0
54
66
99
0
0
0
0
0
0
0
72
26
25
0
0
-32
52
54
0
0
5
32
9
0
0
-4
-39
3
0
0
0
0
0
0
0
5
-1
83
0
0
78
-2
-24
0
0
40
7
32
0
0
21
14
-17
0
0
0
0
0
0
0
38
28
-44
0
0
18
10
-89
0
0
8
-25
-73
0
0
17
21
39
0
0
0
0
0
0
0
30
-89
-20
0
0
78
36
45
0
0
-34
-65
-73
0
0
3
-56
64
0
0
0
0
0
0
0
-6
-56
-90
0
0
1
26
2
0
0
50
-36
21
0
0
24
-39
21
0
0
0
0
0
0
0
26
44
-4
0
0
35
47
-6
0
0
41
33
65
0
0
48
52
11
0
0
0
0
0
0
0
36
33
-3
0
0
20
40
-59
0
0
22
15
27
0
0
55
32
22
0
0
0
0
0
0
0
76
83
11
0
0
26
20
53
0
0
15
32
117
0
0
23
9
50
0
0
0
0
0
45
-21
1
38
44
-30
15
38
-47
-49
18
46
-100
18
72
69
23
3
30
62
-15
105
0
0
0
0
-107
-23
46
-45
0
37
59
-46
44
0
0
1
49
4
0
0
2
-5
-1
0
0
0
0
0
0
0
-10
-78
-101
0
0
50
32
6
0
0
-1
34
4
0
0
11
-10
-123
0
0
0
0
0
0
0
43
13
-14
0
0
-8
27
23
0
0
-48
124
-88
0
0
-11
-8
-4
0
0
0
0
0
0
0
30
13
-16
0
0
-38
86
41
0
0
0
-100
54
0
0
71
24
-93
0
0
0
0
0
0
0
-25
34
77
0
0
28
37
12
0
0
-27
110
75
0
0
34
-14
-8
0
0
0
0
0
0
0
42
7
75
0
0
62
-42
24
0
0
27
16
-39
0
0
-44
1
0
0
0
0
0
0
0
0
126
69
21
0
0
17
20
22
0
0
-35
55
66
0
0
-59
-8
33
0
0
0
0
0
0
0
40
16
47
0
0
-14
29
-109
0
0
12
-51
-18
0
0
15
-38
-102
0
0
0
0
0
0
0
50
61
8
0
0
-1
0
0
0
0
18
0
7
0
0
-15
-5
-8
0
0
0
0
0
0
0
109
1
0
0
0
-71
23
40
0
0
-15
-52
-21
0
0
-33
-34
-2
0
0
0
0
0
0
0
-46
-25
-19
0
0
27
-71
26
0
0
76
-13
-26
0
0
-60
37
52
0
0
0
0
0
0
0
-95
14
-80
0
0
-28
10
-17
0
0
30
11
31
0
0
37
91
106
0
0
0
0
0
0
0
65
34
-77
0
0
-82
84
38
0
0
34
77
52
0
0
-32
27
71
0
0
0
0
0
-12
11
50
57
18
-19
-84
47
-5
-71
23
80
-28
-21
17
1
52
-7
40
37
74
102
0
0
0
46
-5
-23
11
139
105
47
-17
-21
39
65
26
-20
-63
35
-7
-28
18
30
73
-78
17
0
0
0
0
0
10
5
104
0
44
37
-10
-57
0
-85
-18
24
-23
0
80
-115
-1
50
0
58
0
0
0
0
0
6
27
-21
0
0
49
59
52
0
0
26
-43
43
0
0
11
30
19
0
0
0
0
0
0
0
46
52
28
0
0
70
33
33
0
0
-13
40
26
0
0
12
62
6
0
0
0
0
0
0
0
-82
14
-44
0
0
15
92
113
0
0
-16
54
18
0
0
71
13
52
0
0
0
0
0
0
0
12
-72
16
0
0
35
66
38
0
0
-5
8
-11
0
0
60
13
-44
0
0
0
0
0
0
0
-2
-77
5
0
0
41
44
66
0
0
21
17
-23
0
0
-73
58
74
0
0
0
0
0
0
0
45
61
30
0
0
19
-41
-35
0
0
26
11
-3
0
0
11
22
19
0
0
0
0
0
0
0
-27
-25
-3
0
0
-25
-14
-45
0
0
24
20
-54
0
0
-30
-19
4
0
0
0
0
0
0
0
5
5
0
0
0
-4
56
-37
0
0
-49
-45
23
0
0
22
-71
18
0
0
0
0
0
0
0
79
-11
-23
0
0
-24
55
31
0
0
19
61
-2
0
0
9
22
59
0
0
0
0
0
0
0
-47
9
-1
0
0
1
13
63
0
0
-68
46
-19
0
0
110
39
65
0
0
0
0
0
0
0
-16
1
88
0
0
60
42
53
0
0
-30
16
22
0
0
77
70
48
0
0
0
0
0
-25
-12
-21
22
-61
29
79
28
52
54
-40
61
43
31
34
-9
40
-18
6
-41
66
29
0
0
0
-6
5
10
7
-47
-9
5
16
-61
76
35
88
23
-2
59
50
23
59
-95
34
0
-16
0
0
0
0
-7
-29
8
7
-9
152
-17
-2
48
-43
34
-12
-19
44
89
-30
9
26
-68
-35
17
0
0
0
0
-1
-17
-1
-15
0
-3
23
17
14
0
8
31
-20
102
0
40
-10
38
-66
0
-15
0
0
0
0
0
24
27
20
0
0
30
-19
29
0
0
-14
5
50
0
0
10
51
-43
0
0
0
0
0
0
0
37
-5
0
0
0
26
39
54
0
0
-17
40
55
0
0
-6
37
13
0
0
0
0
0
0
0
18
3
34
0
0
44
-8
-52
0
0
52
-33
13
0
0
17
-97
12
0
0
0
0
0
0
0
49
-74
-9
0
0
78
-119
44
0
0
8
63
-11
0
0
28
27
34
0
0
0
0
0
0
0
30
23
-9
0
0
40
-9
-33
0
0
35
31
-22
0
0
37
50
49
0
0
0
0
0
0
0
38
14
30
0
0
-83
-22
36
0
0
58
-92
-13
0
0
-26
6
-22
0
0
0
0
0
0
0
9
-41
-48
0
0
38
35
-62
0
0
-85
-2
-20
0
0
44
21
-15
0
0
0
0
0
0
0
56
-61
17
0
0
53
47
41
0
0
17
-1
-23
0
0
15
19
-24
0
0
0
0
0
0
0
9
7
20
0
0
-9
50
74
0
0
48
50
30
0
0
-2
-6
-21
0
0
0
0
0
0
0
29
2
47
0
0
43
24
122
0
0
-30
48
95
0
0
7
-25
1
0
0
0
0
0
63
-75
19
5
-20
-13
-9
55
9
7
36
60
0
27
46
18
70
28
16
37
63
146
0
0
0
22
-24
69
26
-24
-11
37
17
-48
-23
-9
-3
-53
96
47
29
61
-18
89
29
13
39
0
0
0
-37
-73
51
-44
48
4
101
31
19
12
-19
47
-21
36
-25
32
61
-55
56
29
18
32
0
0
0
29
57
58
72
4
-10
-31
27
-12
20
27
111
113
8
58
29
10
-21
45
-3
-47
-6
0
0
0
0
37
21
-27
-6
0
-25
-12
30
56
0
45
-15
46
28
0
4
36
100
-1
0
60
0
0
0
0
0
29
17
136
0
0
-21
35
52
0
0
-11
27
58
0
0
80
38
36
0
0
0
0
0
0
0
22
22
11
0
0
-5
16
20
0
0
-10
-57
-21
0
0
12
-65
-26
0
0
0
0
0
0
0
-21
-40
11
0
0
45
29
11
0
0
7
16
59
0
0
23
15
23
0
0
0
0
0
0
0
14
4
32
0
0
19
23
6
0
0
7
6
30
0
0
24
16
36
0
0
0
0
0
0
0
28
-21
29
0
0
21
-48
-31
0
0
-36
-22
15
0
0
-42
-3
-18
0
0
0
0
0
0
0
16
18
53
0
0
-3
12
12
0
0
25
12
39
0
0
-1
15
52
0
0
0
0
0
0
0
37
4
9
0
0
17
35
59
0
0
12
8
41
0
0
21
10
29
0
0
0
0
0
0
0
-9
54
-16
0
0
15
-60
26
0
0
68
60
7
0
0
15
18
-12
0
0
0
0
0
0
0
59
2
56
0
0
40
6
19
0
0
40
56
63
0
0
3
2
59
0
0
0
0
0
24
-64
-12
18
-32
1
13
32
19
-7
66
66
18
30
1
71
62
26
39
-37
133
28
0
0
0
126
33
89
12
0
-73
55
-57
44
-88
73
-7
-43
-5
-46
46
21
103
45
69
31
-41
0
0
0
-6
-107
64
2
1
55
29
5
3
46
-2
47
82
27
29
56
79
-14
-26
56
59
13
0
0
0
-2
-24
41
75
-21
-32
-29
35
-34
7
-25
69
-29
-13
27
42
136
44
-47
-16
84
-49
0
0
0
92
-18
34
46
-28
50
2
8
49
-51
-41
8
20
34
14
25
-41
34
46
14
49
85
0
0
0
0
65
62
31
-20
0
76
-50
1
27
0
-29
54
57
-18
0
-13
3
-31
97
0
1
0
0
0
0
0
-21
11
-20
0
0
5
-19
-16
0
0
23
-11
-27
0
0
4
-41
-6
0
0
0
0
0
0
0
21
-44
-3
0
0
35
21
10
0
0
39
13
10
0
0
1
16
23
0
0
0
0
0
0
0
15
50
60
0
0
21
-2
26
0
0
14
5
31
0
0
39
29
43
0
0
0
0
0
0
0
-16
-46
19
0
0
15
3
-61
0
0
-9
22
-16
0
0
46
56
-39
0
0
0
0
0
0
0
-52
-36
-89
0
0
11
50
72
0
0
36
1
60
0
0
-15
31
72
0
0
0
0
0
0
0
-11
-54
-80
0
0
-9
39
34
0
0
37
-5
40
0
0
53
38
47
0
0
0
0
0
0
0
22
46
-5
0
0
13
-9
2
0
0
29
27
-24
0
0
31
13
-47
0
0
0
0
0
0
0
62
13
19
0
0
72
4
-24
0
0
30
-6
46
0
0
20
16
27
0
0
0
0
0
8
80
70
29
29
50
-1
86
45
11
26
65
62
5
8
-51
18
18
61
35
-25
-14
0
0
0
111
-16
-6
67
4
-52
37
46
-31
-11
-5
22
2
-8
0
0
-35
11
1
0
0
0
0
0
0
-31
61
-1
-27
18
18
53
50
32
10
13
3
32
-24
17
21
-64
-8
24
-18
0
-12
0
0
0
80
-29
-8
56
-11
-55
-3
-60
19
12
51
-8
12
-36
37
5
-54
39
25
11
-6
19
0
0
0
45
14
-15
86
9
11
41
19
43
-27
-38
-5
6
42
19
-74
-38
-40
-38
-25
16
6
0
0
0
6
47
-14
25
31
26
0
-11
26
-14
-56
-29
10
11
-17
24
-16
18
-59
-13
-19
11
0
0
0
0
0
0
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
27
97
0
0
27
-3
7
0
0
-12
-1
7
0
0
14
19
-1
0
0
0
0
0
0
0
10
6
13
0
0
1
0
-8
0
0
0
1
-9
0
0
-3
4
-2
0
0
0
0
0
0
0
3
9
-8
0
0
-4
13
33
0
0
-33
23
41
0
0
10
-37
42
0
0
0
0
0
0
0
-50
38
1
0
0
-4
3
-1
0
0
-1
7
-14
0
0
-16
-8
-33
0
0
0
0
0
0
0
72
45
68
0
0
4
-18
8
0
0
1
-1
-6
0
0
6
-4
17
0
0
0
0
0
0
0
15
-11
12
0
0
3
5
-5
0
0
4
-1
-4
0
0
2
0
29
0
0
0
0
0
0
0
88
27
-14
0
0
-5
-11
-21
0
0
-14
-6
-7
0
0
-51
-2
33
0
0
0
0
0
-56
-28
31
15
-49
48
-49
41
-3
-95
-53
23
61
-3
13
-39
53
-14
-56
6
-86
14
0
0
0
-50
-69
-46
-16
-67
-9
101
53
-33
-38
7
102
12
17
-50
-112
147
-6
11
18
65
-18
0
0
0
-3
-23
-2
-79
-38
-16
-27
-42
29
-7
-17
14
78
-35
41
-1
38
-6
7
38
50
73
0
0
0
-1
-12
-130
90
-47
-9
73
-35
24
-12
21
-9
45
77
-8
11
-28
31
-18
-24
-13
10
0
0
0
21
62
-9
74
-56
3
11
13
48
59
27
37
25
35
36
18
19
16
38
22
47
13
0
0
0
70
5
56
65
11
-39
38
6
4
7
89
13
-10
-18
-4
22
35
9
24
22
39
-45
0
0
0
40
37
37
38
25
35
37
43
12
17
5
2
4
4
13
2
1
-4
4
4
-1
-10
0
0
0
0
18
-60
28
-32
0
11
22
17
15
0
34
-5
4
-1
0
0
-6
0
-13
0
-3
0
0
0
0
0
9
2
-7
0
0
22
13
1
0
0
11
-9
-11
0
0
-5
-21
-9
0
0
0
0
0
0
0
-6
-11
-33
0
0
6
22
16
0
0
-13
-26
-11
0
0
-15
1
1
0
0
0
0
0
0
0
-3
-27
-29
0
0
2
10
-7
0
0
1
-7
12
0
0
13
-5
-8
0
0
0
0
0
0
0
9
5
34
0
0
9
32
25
0
0
7
-1
-6
0
0
1
-1
-7
0
0
0
0
0
0
0
-12
-48
-8
0
0
14
-29
-3
0
0
3
0
-4
0
0
-14
-12
-12
0
0
0
0
0
0
0
-5
22
13
0
0
-4
0
-12
0
0
-16
-17
2
0
0
5
-1
14
0
0
0
0
0
61
-88
25
-47
-23
-71
-65
14
16
-23
-17
-21
14
8
-46
-27
-1
44
41
24
-59
-42
0
0
0
26
-76
51
-30
60
16
14
12
28
-20
-10
-18
32
22
-38
-10
-49
35
37
90
20
0
0
0
0
55
-35
-56
19
-60
6
-20
28
4
-49
14
-58
38
-15
36
-9
-62
20
18
21
-31
-95
0
0
0
-5
-70
102
18
42
20
11
36
3
-68
38
-4
23
20
45
-5
-10
34
48
97
23
-49
0
0
0
17
-1
11
4
52
44
-4
13
37
19
37
15
19
31
19
35
43
4
30
55
50
18
0
0
0
-17
-53
5
8
-26
44
-25
23
37
5
22
12
17
18
38
28
23
18
34
28
51
-4
0
0
0
1
-26
15
18
-7
10
14
11
21
9
3
26
4
5
18
1
22
-2
0
1
8
-4
0
0
0
-14
-27
-28
-14
7
13
-2
1
-16
17
-9
-11
-5
-19
-6
-3
-6
-6
-15
-11
3
15
0
0
0
0
0
3
8
10
0
0
2
4
11
0
0
-13
-7
-1
0
0
-4
1
-9
0
0
0
0
0
0
0
-8
-3
-1
0
0
17
24
23
0
0
-37
-18
-9
0
0
-5
0
1
0
0
0
0
0
0
0
-8
-10
-24
0
0
-39
-2
-6
0
0
-6
-11
-11
0
0
0
11
6
0
0
0
0
0
0
0
-17
-34
-7
0
0
-6
-9
-1
0
0
-6
-16
-14
0
0
2
-15
-15
0
0
0
0
0
0
0
8
-44
4
0
0
9
-40
10
0
0
19
-8
-4
0
0
17
-2
23
0
0
0
0
0
0
0
1
39
-64
0
0
6
13
-34
0
0
3
9
-14
0
0
18
17
0
0
0
0
0
0
-6
48
18
-19
46
-5
20
-38
64
-31
3
-27
-51
-43
2
10
26
52
-16
-39
2
-54
0
0
0
0
-8
87
-14
82
-1
-5
-53
-14
4
7
0
3
-5
0
0
0
-2
23
-1
0
0
0
0
0
-5
13
6
-3
-13
0
-54
75
29
54
-1
48
-2
-25
21
41
-52
-53
-49
25
0
20
0
0
0
0
-48
1
-33
-9
-2
-25
66
164
-20
13
12
-32
15
128
16
-36
18
-28
-10
-8
34
0
0
0
0
-51
-9
50
55
126
-37
41
9
53
94
31
12
74
1
-6
-89
1
19
-47
32
-47
0
0
0
67
-106
20
29
1
97
-92
-58
-21
45
58
-21
-8
70
-33
28
-54
58
-23
36
5
-111
0
0
0
27
0
48
32
31
80
17
40
20
71
38
14
8
-30
0
3
-40
-33
16
-23
27
-23
0
0
0
-35
-93
87
51
46
24
4
17
4
49
-4
16
-9
-28
-26
-1
-7
-36
-25
12
-2
-12
0
0
0
-36
-51
-17
-15
-1
35
-85
14
14
11
95
-10
32
-7
13
74
-30
12
15
2
43
-76
0
0
0
0
2
-13
-7
11
0
56
-12
-35
116
0
69
85
-20
-36
0
9
29
54
-74
0
3
0
0
0
0
0
75
93
83
0
0
26
20
13
0
0
-21
9
29
0
0
5
3
-34
0
0
0
0
0
0
0
28
33
89
0
0
4
19
26
0
0
-12
40
17
0
0
-17
14
-12
0
0
0
0
0
0
0
78
1
51
0
0
34
-9
-64
0
0
12
-40
-13
0
0
13
13
-31
0
0
0
0
0
0
0
50
86
49
0
0
34
66
-31
0
0
33
25
-14
0
0
-33
53
36
0
0
0
0
0
0
-47
-29
-26
70
1
32
-18
-58
-56
-11
-114
4
47
-16
-2
20
-10
-27
-36
25
71
0
0
0
0
-63
44
11
-12
-8
126
4
-49
13
0
-30
45
25
-4
0
8
-4
42
10
0
2
0
0
0
0
75
-43
29
48
0
-65
-49
65
-2
0
-98
-38
-20
3
0
-37
69
-5
-3
8
118
0
0
0
0
-40
-14
-11
52
24
-97
41
72
73
50
103
-35
80
64
-5
-36
-3
-69
-29
-5
58
0
0
0
72
29
19
-17
28
5
25
26
13
14
34
33
9
37
64
18
28
2
-4
34
9
67
0
0
0
55
24
-6
5
-75
23
85
51
-17
-19
-14
52
-2
43
52
-33
4
-2
0
9
-66
55
0
0
0
17
73
20
17
28
45
11
-1
8
20
8
46
10
26
-8
-15
-7
-3
-20
0
-5
2
0
0
0
-21
-24
17
3
-30
27
-20
13
6
-6
14
-12
1
16
5
11
-8
-12
-2
9
-7
-26
0
0
0
-8
22
8
-27
-14
18
-1
-11
-1
6
25
21
0
-8
-13
20
13
-13
-5
-7
7
8
0
0
0
-25
-3
-25
-1
-7
-76
35
5
61
2
22
29
-10
6
-16
-52
10
-20
-63
33
-7
-6
0
0
0
0
-5
-25
-6
-20
0
24
-45
6
-17
0
5
-15
17
-4
0
-21
-3
22
8
0
23
0
0
0
0
0
28
12
19
0
0
5
9
22
0
0
3
6
6
0
0
9
-12
-7
0
0
0
0
0
0
0
19
-2
-10
0
0
-19
-11
6
0
0
13
-18
11
0
0
9
17
-14
0
0
0
0
0
0
0
7
26
-38
0
0
3
20
5
0
0
-10
0
26
0
0
28
-38
-10
0
0
0
0
0
14
-105
29
24
40
-16
-18
12
-21
-40
2
6
63
2
-14
-37
16
37
20
-7
5
63
0
0
0
-39
-34
14
52
-73
98
24
40
18
-3
-2
16
11
56
-13
24
34
3
66
-31
-12
-23
0
0
0
40
-36
64
18
-27
51
-20
-11
60
-16
67
-5
-1
-17
-20
-3
-46
16
-68
-2
-41
83
0
0
0
-1
3
-9
9
-49
142
-53
75
15
82
-25
17
-49
13
39
-53
61
7
58
54
-18
-16
0
0
0
-36
46
19
5
9
63
7
22
6
30
17
51
18
33
33
46
62
-17
36
27
-1
34
0
0
0
101
45
26
21
65
53
67
10
26
14
35
43
56
17
41
54
-11
47
21
33
-6
11
0
0
0
40
-12
34
29
29
21
7
32
10
18
4
-1
16
9
20
4
1
-1
7
25
20
10
0
0
0
-16
-22
-43
35
-6
23
-12
-6
-1
20
4
-26
4
2
10
-9
-15
3
-20
2
-2
-9
0
0
0
-4
-43
-16
-9
-43
-4
-4
8
-7
11
2
-20
-5
-26
-19
13
-16
-2
-23
-17
6
-9
0
0
0
-21
-19
6
-16
-4
-43
49
32
28
36
11
49
5
6
-2
-59
13
-8
-21
-5
-36
4
0
0
0
73
-5
26
3
-7
-9
21
0
3
-7
19
23
-2
4
16
-15
13
4
13
24
-25
38
0
0
0
0
-13
-4
-46
14
0
-24
20
14
62
0
36
3
6
17
0
9
-1
-12
-10
0
-2
0
0
0
0
0
6
-38
4
0
0
-6
-7
12
0
0
-9
-6
3
0
0
14
-7
14
0
0
0
0
0
0
0
14
16
12
0
0
2
-12
7
0
0
10
-7
15
0
0
22
0
24
0
0
0
0
0
-12
7
46
15
38
-115
-27
10
-35
-64
48
33
42
63
60
56
53
14
32
44
-35
55
0
0
0
-15
6
69
-19
-15
-80
-44
-3
40
11
34
135
30
7
33
27
-83
-45
-56
0
7
40
0
0
0
8
-39
12
-24
-64
80
-5
-8
20
125
-12
-39
43
19
0
63
9
3
23
12
3
87
0
0
0
3
1
54
-44
-9
33
-15
-7
0
49
-11
52
35
16
-68
31
48
-13
-5
34
84
41
0
0
0
-45
-23
17
5
-31
48
33
-10
-2
-37
3
-2
4
9
22
1
26
-44
24
42
51
39
0
0
0
47
19
56
-38
26
32
-14
29
-9
42
-15
-27
73
-46
70
-18
-11
6
52
39
9
9
0
0
0
33
90
31
42
22
7
-1
-15
1
-21
4
1
4
-2
-7
-5
-21
-10
-10
-9
-6
8
0
0
0
52
-59
-33
-49
-73
10
26
24
-15
36
15
-5
-5
-2
12
-5
10
4
1
12
-3
-8
0
0
0
28
39
10
10
4
-2
5
4
15
5
20
-3
13
2
-1
-3
13
19
17
6
7
37
0
0
0
-5
-23
0
1
-8
-5
31
36
-9
54
28
64
6
12
22
-75
-56
1
-15
83
-74
-14
0
0
0
-8
-36
2
4
-62
8
57
10
-20
3
28
-7
3
14
20
-16
-2
-9
19
-23
34
18
0
0
0
-19
79
17
-21
37
43
18
14
3
36
13
34
-5
13
8
-2
30
-5
11
15
8
3
0
0
0
0
42
34
-18
26
0
-28
-20
-54
8
0
47
-24
15
-28
0
-8
-9
-4
-9
0
-50
0
0
0
0
0
-7
-9
-74
0
0
-16
8
-26
0
0
-5
-9
-20
0
0
-14
-6
5
0
0
0
0
0
-13
-48
18
11
2
4
22
18
45
16
19
39
82
23
-34
6
105
-13
19
29
-3
86
0
0
0
51
22
21
-32
4
31
1
-30
-26
-75
12
70
41
-65
39
11
12
47
42
100
-9
-1
0
0
0
-5
-41
11
22
-110
57
60
10
37
-10
3
41
46
44
67
36
108
98
82
-10
41
29
0
0
0
-6
34
-33
59
-36
-11
67
65
51
-4
-18
19
57
45
-38
-18
-3
6
-1
-25
24
15
0
0
0
70
34
8
-32
-47
-8
57
51
20
11
17
89
-14
10
18
12
-31
49
43
18
43
20
0
0
0
47
-41
-3
44
-10
-94
71
12
7
15
90
42
-20
45
23
-14
-7
-3
5
53
1
-17
0
0
0
-10
53
37
-19
6
72
13
-2
17
-4
2
1
-5
-8
2
-2
-5
25
-7
2
-4
-19
0
0
0
-2
-32
31
36
-35
-4
12
-3
3
15
-10
-3
18
10
2
-1
-14
2
2
15
5
13
0
0
0
-118
-6
4
1
22
-20
-17
8
2
4
7
2
17
15
3
3
-12
9
14
-5
6
-14
0
0
0
-39
56
1
6
-4
-71
84
42
56
12
15
30
-7
71
17
-4
86
28
7
-38
-57
10
0
0
0
-84
-63
28
8
-9
13
-3
24
-4
7
27
-20
7
21
6
-32
7
4
22
-33
-4
-21
0
0
0
-69
-10
1
-26
-13
29
7
13
18
21
-16
-23
16
-3
-12
4
-10
16
-7
14
33
-6
0
0
0
-58
7
14
-33
30
40
-14
23
-29
10
-14
14
-16
7
-32
-22
-60
21
3
-21
-1
33
0
0
0
0
-19
-28
-72
-14
0
-1
19
-35
41
0
27
-42
-11
-36
0
76
12
31
-43
0
0
0
-14
28
-14
-55
18
-6
11
38
13
27
-12
26
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
0
-20
-34
-34
0
63
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
21
0
35
-62
36
0
37
33
-76
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-13
0
-25
1
11
0
69
24
39
0
63
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
0
21
31
19
0
26
51
66
0
90
-15
-18
0
-81
0
24
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
36
0
-25
20
1
0
80
-3
57
0
66
16
-5
0
-28
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
50
0
-43
11
-2
0
18
17
41
0
24
-31
11
0
-12
-25
-17
0
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-9
0
-48
-55
-1
0
13
-12
-8
0
36
-33
10
0
34
51
-29
0
-20
135
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-46
0
-93
-4
-1
0
-92
-8
-2
0
-34
-20
-3
0
-81
-45
-24
0
-33
4
28
0
9
0
0
0
0
0
0
0
0
0
0
0
0
31
37
0
24
-32
65
0
22
-1
-59
0
-6
-23
52
0
-50
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-22
-1
0
97
-20
6
0
-26
92
-8
0
-49
50
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
0
-8
1
-56
0
30
-9
3
0
-48
13
22
0
25
42
25
0
42
-10
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
36
26
0
-21
68
-15
0
32
13
23
0
30
-27
-7
0
-56
-34
-3
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
7
59
-38
0
49
26
-21
0
60
5
11
0
-64
3
10
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-3
3
-70
32
-6
-26
-16
5
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-3
-45
0
12
-2
33
0
9
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
49
0
9
3
-20
0
-47
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-86
0
-37
-35
48
0
78
0
12
0
40
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
-29
0
-32
16
-5
0
115
16
41
0
71
12
28
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
58
0
-44
66
47
0
21
76
2
0
35
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
-12
0
-3
52
16
0
-2
4
-20
0
-10
60
23
0
-58
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-60
0
-68
-6
33
0
-87
-27
36
0
-92
32
10
0
39
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-84
0
-46
-3
21
0
-31
-16
39
0
-5
-30
29
0
15
47
-32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
-23
4
-1
0
-3
-33
-107
0
-17
14
6
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-28
-24
0
-11
19
-94
0
-52
28
12
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-42
0
12
35
17
0
-74
19
6
0
-35
2
-2
0
-44
-5
17
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-43
0
48
25
-51
0
25
-80
26
0
84
37
72
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
69
0
41
3
25
0
63
73
-16
0
9
32
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-64
125
22
-5
13
-16
-16
-31
23
-118
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-32
-12
-7
-2
-8
-32
-17
0
-17
-30
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-66
19
46
-58
-22
-55
56
1
61
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
46
0
60
59
8
0
88
6
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
29
0
25
-3
-2
0
89
24
84
0
34
28
-73
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
71
0
-2
3
4
0
37
-3
-4
0
-1
-17
-20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-23
0
32
-41
9
0
10
24
-23
0
-25
14
13
0
-22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
71
0
-71
-3
-5
0
34
-5
25
0
35
3
-19
0
-40
18
-13
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
0
-58
8
-38
0
-8
6
0
0
-41
-1
10
0
-25
-33
-17
0
45
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-13
0
-7
69
-68
0
45
133
64
0
-46
11
15
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
-6
-49
0
21
-25
-2
0
-7
20
-54
0
-50
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
0
-65
-25
-23
0
4
-6
-23
0
16
-9
2
0
-11
91
-6
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-52
0
31
85
41
0
3
29
22
0
65
15
74
0
9
-25
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
0
0
31
8
0
75
-26
1
0
3
31
5
0
47
0
4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-59
-71
-12
3
15
-31
-2
-19
24
59
-4
0
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-21
-8
0
-1
3
15
-52
0
-2
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
10
-8
-43
-9
-14
-3
35
0
6
-62
29
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
3
-13
0
94
-15
-32
30
-1
56
-48
-52
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
5
0
55
-31
-26
0
-22
10
32
0
69
39
80
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
35
0
-65
56
-11
0
-86
32
54
0
82
42
-55
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
15
0
52
17
17
0
17
10
-16
0
-56
-12
-67
0
46
39
16
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
57
0
5
22
-92
0
1
-20
-31
0
49
16
-21
0
69
3
-75
0
30
58
68
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-22
-24
0
-13
43
15
0
3
24
33
0
7
-16
-17
0
-63
-5
16
0
-29
0
17
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-2
-27
13
0
-14
9
-19
0
-55
-15
-84
0
45
-14
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
15
7
0
2
18
-5
0
-90
-63
27
0
-33
-30
15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-47
0
27
4
-73
0
-36
-17
-45
0
-24
42
-2
0
14
58
93
0
-14
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
28
0
-31
-30
-18
0
66
28
14
0
25
25
54
0
21
1
-16
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-56
0
19
42
-29
0
37
106
24
0
42
10
58
0
97
-38
60
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
10
4
21
-27
0
-5
67
7
-9
25
-28
7
-3
51
-9
0
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-27
-52
35
-28
-73
36
12
0
26
43
-14
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
81
1
105
41
-23
18
16
-19
-2
19
-49
0
-14
-28
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
4
38
-38
8
21
-9
-42
86
36
49
92
0
-23
38
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-51
61
-2
30
9
5
-50
52
5
7
1
52
29
29
106
110
-12
-11
21
-47
73
76
-13
-4
69
-8
-5
0
9
3
0
0
0
0
0
2
54
0
13
-7
-91
0
50
25
-98
0
18
61
4
0
16
-3
80
0
-105
30
73
0
12
11
28
0
-41
0
-2
0
0
0
0
0
0
65
-30
0
25
4
57
0
43
23
32
0
37
4
-16
0
11
-25
-70
0
-65
7
-17
0
-41
36
-15
0
14
0
48
0
13
0
0
0
0
43
99
0
0
11
22
0
39
7
-43
0
77
20
-17
0
17
18
28
0
51
20
0
0
47
5
16
0
24
0
-14
0
-21
0
0
0
0
18
82
0
31
17
45
0
-18
4
29
0
-23
-6
11
0
-20
-9
-10
0
-8
-17
-14
0
8
5
57
0
35
0
-14
0
9
0
0
0
0
33
108
0
-75
49
48
0
-81
44
19
0
11
40
47
0
34
-28
-72
0
61
37
-1
0
-47
-17
-47
0
32
0
42
0
-29
0
0
0
0
104
0
0
0
-53
48
0
56
26
35
0
10
-46
6
0
30
25
2
0
9
-45
26
0
7
44
-20
0
31
0
17
0
-21
0
0
0
0
-8
78
0
-11
25
10
0
-29
46
21
0
0
23
7
0
48
30
10
0
13
16
16
0
13
59
30
0
38
0
34
0
22
0
0
0
0
-9
-15
0
2
1
-134
0
-12
36
60
0
73
18
57
0
-26
29
30
0
-44
4
61
0
101
41
-12
0
31
0
76
0
15
0
0
0
0
9
39
0
26
-37
-33
0
118
68
20
0
115
56
7
0
23
42
33
0
54
21
17
0
16
94
13
0
-38
0
14
0
-202
0
0
0
0
22
10
26
52
-52
11
10
10
-96
30
-26
21
0
26
41
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-2
40
42
39
-4
-37
7
-2
16
15
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
1
75
41
-9
53
-14
0
23
-3
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
36
-19
-14
-6
23
68
11
54
-55
0
44
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-13
19
10
27
26
-22
51
44
13
1
-29
-49
20
-50
98
48
30
30
31
90
67
22
-53
2
-5
76
9
0
-1
-3
0
0
0
0
0
68
3
-9
5
33
-30
26
-2
19
7
12
-25
-62
-27
-21
1
1
-20
19
0
-16
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
-27
29
0
-24
-12
-44
0
14
-24
13
0
-46
-31
-33
0
76
29
-70
0
8
17
40
0
36
12
-34
0
-15
0
26
0
11
0
0
0
0
46
77
0
100
62
52
0
55
63
-22
0
-31
26
68
0
-49
22
-11
0
19
5
42
0
-48
38
16
0
41
0
6
0
49
0
0
0
0
22
74
0
2
16
64
0
-4
16
4
0
55
2
10
0
8
-14
-18
0
13
-21
-14
0
-50
42
-32
0
-35
0
4
0
-24
0
0
0
0
-45
43
0
-89
13
8
0
-50
-50
8
0
-11
-27
-11
0
-87
13
-16
0
92
74
33
0
0
44
19
0
4
0
-37
0
-57
0
0
0
0
83
0
0
0
-10
80
0
96
51
-70
0
24
-11
57
0
48
-39
16
0
-29
-7
34
0
-20
21
-36
0
-15
0
19
0
6
0
0
0
0
41
87
0
47
44
65
0
14
24
-24
0
-14
8
31
0
-6
60
-4
0
-8
-3
9
0
23
-2
-50
0
87
0
50
0
13
0
0
0
0
13
15
0
50
66
37
0
84
5
52
0
-16
-33
35
0
23
91
51
0
6
52
83
0
0
45
-31
0
-22
0
-52
0
-13
0
0
0
0
0
-6
0
46
-19
3
0
1
47
10
0
29
0
-14
0
33
64
18
0
43
43
24
0
-5
-14
1
0
1
0
-37
0
-17
0
0
0
0
-18
25
13
14
17
27
67
9
0
-26
28
4
0
-51
-50
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
19
-6
-13
0
71
-8
14
0
2
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
30
-93
48
20
-22
1
14
0
-14
25
-19
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
16
54
0
-10
25
8
34
0
-5
13
63
0
-5
-7
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
13
13
15
-47
4
-35
-104
-9
10
40
58
5
85
-22
7
-10
20
14
9
67
-101
-17
41
47
8
-8
-69
0
-52
-7
-10
0
0
-5
0
54
-50
-25
-17
-57
-20
33
63
-4
10
-13
-11
-26
-27
-47
-42
-16
22
21
-15
36
-39
-9
-17
-8
-11
-71
21
0
15
-20
-12
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
87
0
42
-47
31
0
-12
-31
20
0
36
61
-56
0
2
-22
35
0
10
6
13
0
22
-20
-11
0
4
0
-3
0
0
0
0
0
0
67
60
0
38
72
94
0
34
-4
33
0
49
-29
24
0
27
-15
3
0
7
20
-9
0
1
-2
1
0
-10
0
-5
0
-82
0
0
0
0
-13
23
0
-1
-8
-83
0
-17
-1
28
0
19
19
51
0
-51
11
24
0
-15
37
6
0
7
-1
1
0
14
0
10
0
-1
0
0
0
0
-8
0
0
0
46
6
0
-30
-51
-31
0
41
-7
-10
0
33
23
-13
0
31
-8
56
0
26
2
-24
0
42
0
5
0
10
0
0
0
0
19
95
0
37
9
79
0
-2
-9
15
0
-34
-7
11
0
-14
53
21
0
-10
-8
5
0
-8
-18
-5
0
1
0
-3
0
-1
0
0
0
0
-3
0
0
48
31
-15
0
7
-21
-13
0
-5
-28
10
0
-38
-23
48
0
54
-8
-50
0
20
8
-12
0
-7
0
1
0
-4
0
0
0
0
10
-14
0
-19
23
2
0
-3
-23
-18
0
0
8
-15
0
-3
34
-31
0
52
14
-15
0
-130
-25
-12
0
-1
0
23
0
25
0
0
0
0
-37
16
-53
-143
9
52
10
-37
1
-85
4
-11
0
-2
11
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-63
-98
-130
4
20
47
116
0
-6
12
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-60
-66
2
52
11
15
24
-7
-37
21
4
0
-1
53
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
42
-67
-48
-15
-82
46
45
15
-24
25
64
0
-8
-14
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
56
25
43
31
-22
31
-18
-18
70
7
75
79
77
44
34
-29
75
33
26
4
73
67
71
19
9
49
71
0
-103
16
-25
0
0
-1
0
33
88
100
15
-14
61
63
-27
4
38
-33
75
36
4
-98
-43
43
0
-8
103
80
18
-2
61
-12
30
41
34
0
64
50
-93
0
0
-13
0
-17
-15
-44
18
23
-36
41
-5
24
-38
-36
-91
1
-17
52
22
-12
-14
50
-4
50
-4
22
3
5
17
6
16
0
6
9
4
0
0
0
0
34
26
-67
-79
-18
-53
-2
4
16
-28
2
-29
-5
-115
45
-41
30
-29
71
28
6
-26
-2
-17
-6
12
-22
10
0
3
9
-11
0
0
-43
0
-72
17
0
-54
29
-3
0
-42
-9
42
0
11
-25
2
0
2
-20
-8
0
11
-37
-16
0
13
-5
5
0
1
0
1
0
-2
0
0
0
0
40
-9
0
-49
-27
49
0
2
-41
-7
0
117
39
7
0
48
-57
63
0
6
-15
22
0
-4
-8
15
0
-28
0
-16
0
-74
0
0
0
0
112
0
0
0
-22
11
0
-43
10
-44
0
60
-1
-6
0
52
6
-10
0
10
-3
25
0
-5
-10
25
0
-34
0
5
0
-8
0
0
0
0
15
51
0
-50
-44
-41
0
50
-44
-44
0
-39
-21
-21
0
-12
3
-11
0
-33
18
17
0
1
-6
23
0
8
0
-22
0
-21
0
0
0
0
41
-70
0
-22
45
-5
0
61
18
62
0
53
16
40
0
79
12
12
0
58
9
12
0
38
4
0
0
14
0
-39
0
-23
0
0
0
0
-62
54
0
-34
33
36
0
50
34
34
0
25
48
19
0
6
16
81
0
84
24
44
0
77
20
12
0
11
0
-2
0
-56
0
0
0
0
0
0
0
0
-25
-31
-9
17
-10
-73
15
0
-4
-64
-10
-18
0
30
-24
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-77
-83
-30
10
-119
62
-28
0
27
94
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-41
-15
14
-4
53
64
52
0
-21
-43
3
0
0
-39
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
16
21
4
-22
50
-19
-2
65
-26
-22
0
-86
-43
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-1
42
26
15
36
31
38
42
24
44
52
22
5
11
-7
30
-14
7
5
-10
-2
8
0
78
18
-26
0
0
24
0
0
0
0
0
26
38
8
34
16
20
27
86
52
13
19
62
26
-15
41
45
32
3
2
-13
25
25
-33
-47
0
17
37
-87
0
0
15
0
0
0
0
0
0
46
18
-40
7
13
18
17
25
41
33
40
10
20
15
17
5
-8
18
-6
-2
5
-23
5
0
9
77
-3
0
0
20
0
0
0
0
0
14
15
78
48
19
50
62
5
45
36
93
46
12
2
8
13
-4
-8
-28
0
-1
-6
-36
-8
0
7
-26
-15
0
0
10
0
0
0
0
0
-13
42
55
0
0
3
11
0
20
6
12
0
-2
3
8
0
-1
-2
3
0
30
20
-3
0
0
47
21
0
0
0
13
0
0
0
0
0
15
9
0
-23
9
8
0
184
-9
19
0
35
23
11
0
-34
9
21
0
-81
1
-1
0
-55
0
-27
0
26
0
0
0
0
0
0
0
0
51
54
0
-45
9
127
0
-13
0
93
0
63
-26
-32
0
37
-30
-22
0
0
-7
-41
0
-5
0
-4
0
-13
0
0
0
0
0
0
0
0
20
45
0
-62
32
14
0
43
43
22
0
47
13
6
0
31
-3
0
0
-11
-6
-23
0
-22
0
28
0
-28
0
0
0
0
0
0
0
0
-18
87
0
63
-16
2
0
49
14
18
0
25
20
2
0
32
11
-3
0
6
1
-11
0
-2
0
-11
0
-33
0
0
0
0
0
0
0
0
46
45
0
60
22
44
0
75
15
30
0
22
-13
4
0
14
5
3
0
-21
-6
13
0
-56
0
-8
0
-26
0
0
0
0
0
0
0
0
-1
18
42
-50
0
-6
17
4
0
0
-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
-23
-70
12
0
-17
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-7
-18
0
20
99
-1
0
0
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
30
30
67
0
-52
67
20
0
1
-59
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
0
44
84
-79
-32
23
3
80
64
-41
-37
26
43
16
9
39
-18
1
24
26
-10
43
50
0
19
16
70
0
0
-25
0
0
0
0
0
-33
21
-14
-10
-59
75
-9
30
27
-61
64
58
112
34
20
25
-8
-85
-13
73
28
-1
36
47
0
46
-68
9
0
0
-2
0
0
0
0
0
-1
5
63
5
-66
1
-3
127
30
-11
94
65
-18
-7
29
21
11
0
18
36
-51
16
-2
19
0
-8
12
21
0
0
-4
0
0
0
0
0
6
36
8
-34
-35
-41
67
-21
40
7
20
-141
12
-9
7
46
-9
-21
26
40
0
-11
-33
41
0
33
17
-8
0
0
-10
0
0
0
0
0
-1
8
58
75
-53
-27
12
111
17
2
20
13
-9
9
17
10
-20
-23
2
12
11
-9
3
23
0
-47
-25
38
0
0
-104
0
0
0
0
0
15
1
0
0
33
-95
-1
50
-6
-30
-54
-75
-7
-2
-21
21
-26
73
-22
6
21
37
55
5
0
24
8
34
0
0
32
0
0
0
0
0
53
12
0
6
1
62
0
67
6
81
0
-2
-40
11
0
37
19
-3
0
28
-9
10
0
-75
0
-5
0
-11
0
0
0
0
0
0
0
0
-16
24
0
-15
-70
-31
0
0
15
-1
0
-13
3
15
0
3
-13
-11
0
21
26
15
0
51
0
-21
0
-70
0
0
0
0
0
0
0
0
-13
-10
0
-1
-32
13
0
-28
1
-2
0
-43
-5
-30
0
-9
-24
7
0
41
11
-51
0
-17
0
-46
0
5
0
0
0
0
0
0
0
0
-71
0
0
0
15
-22
0
10
-18
32
0
23
61
-18
0
93
-5
59
0
37
-4
16
0
47
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-23
-44
0
3
-43
-7
0
-5
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
-12
0
0
16
0
0
0
0
0
0
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
80
7
0
1
-34
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
60
94
0
47
21
-1
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
41
35
115
-6
15
-34
-41
0
10
-1
-2
-30
-57
5
42
34
-29
5
-18
0
7
151
22
0
0
-37
0
0
0
0
0
0
0
0
0
19
-74
1
95
35
-24
17
-50
13
33
30
-8
61
-16
21
-24
-37
53
-10
-66
0
34
-5
-1
0
0
-49
0
0
0
0
0
0
0
0
0
56
60
4
0
26
19
35
-14
-25
10
15
24
48
-12
-32
-2
5
3
-2
7
0
62
39
31
0
0
3
0
0
0
0
0
0
0
0
0
-68
-22
-18
76
-12
-10
27
-14
-4
8
25
21
-4
-15
-6
3
3
0
-1
22
0
33
2
-42
0
0
-11
0
0
0
0
0
0
0
0
0
3
-49
77
17
25
8
34
26
-31
-10
23
30
0
-27
-39
2
9
5
-18
13
0
-4
11
-13
0
0
24
0
0
0
0
0
0
0
0
0
83
131
23
-47
0
-48
30
-38
-4
34
66
7
39
36
57
-31
0
-38
43
-28
0
-78
35
-64
0
0
-6
0
0
0
0
0
0
0
0
0
93
79
40
4
10
-44
-29
22
-42
-6
14
38
26
18
-8
23
-26
2
-33
-23
0
31
-18
-24
0
0
-27
0
0
0
0
0
0
0
0
0
-29
-16
0
73
13
-21
0
21
-16
15
0
34
9
-5
0
-7
-11
-3
0
10
0
-42
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
29
-22
23
0
-50
-14
31
0
-7
-10
-15
0
7
10
-38
0
31
0
-78
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-56
115
0
23
-15
32
0
36
-16
13
0
17
28
34
0
-17
10
-3
0
-20
0
20
0
-51
0
0
0
0
-19
-19
12
18
-24
-18
-5
-18
6
30
-53
61
0
-80
67
0
0
0
16
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-53
7
8
55
60
-88
79
0
24
27
-1
0
0
-54
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
15
-12
-34
-15
37
1
-24
66
35
81
0
16
-15
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
41
-15
-61
-60
-25
30
66
13
19
-23
8
0
5
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-33
-18
36
79
28
34
86
34
57
-18
51
40
46
2
33
63
54
43
89
35
6
35
73
23
11
46
48
0
13
42
-85
0
0
2
0
100
42
6
14
10
1
43
20
-19
6
-12
-19
31
27
31
134
37
9
2
97
85
71
37
127
36
22
27
22
0
-11
59
-55
0
0
-13
0
89
-63
94
9
-15
4
6
-40
45
11
12
-8
19
30
31
0
2
20
3
20
24
5
1
16
0
5
5
9
0
1
7
5
0
0
-9
0
15
-9
-30
38
4
-51
-49
-18
-30
5
-56
-26
43
5
-49
-22
14
-16
-30
3
5
-6
1
20
0
0
0
20
0
37
-6
-13
0
0
-12
0
31
89
0
-46
12
60
11
35
17
50
0
43
-10
30
86
0
-44
-31
18
-6
-7
-31
-8
-11
7
11
-12
2
0
38
-2
-14
0
0
20
0
-5
19
0
34
5
22
-30
73
37
-27
70
-56
20
-33
55
23
63
41
24
-25
20
22
37
-46
-1
2
-20
-9
0
-2
1
-71
0
0
-52
0
36
0
0
0
42
59
0
-5
61
-27
-76
66
21
16
3
74
-4
43
40
20
-23
-1
-1
-10
-7
-13
10
33
0
-6
1
-6
0
0
-8
0
18
18
-6
6
23
69
24
-39
-62
46
29
18
-1
24
2
-6
12
-20
13
0
10
-24
7
21
-9
-7
-5
32
0
41
8
18
0
0
-102
0
10
9
0
-21
61
0
0
81
-7
93
0
17
17
16
0
40
9
8
0
36
17
-2
0
40
13
6
0
30
0
-12
0
-33
0
0
0
0
3
2
0
-48
-52
42
0
53
56
-2
0
117
19
33
0
51
62
36
0
39
6
21
0
24
-13
5
0
-20
0
-6
0
-88
0
0
0
0
-11
33
51
13
17
-54
-18
-22
-8
-18
-4
-108
0
11
-6
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
19
25
38
-1
11
58
-67
0
5
45
9
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
29
29
3
13
11
-23
-1
-3
-24
-19
-58
0
7
-32
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
42
59
-10
43
-34
8
-6
3
-26
4
8
0
-12
-35
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-6
13
-52
26
-62
-66
5
-19
-61
-62
-86
34
36
-21
-11
-9
58
-12
-46
-119
10
49
28
12
12
57
114
0
-4
81
-1
0
0
11
0
76
42
2
61
-74
41
0
63
0
-62
2
-2
65
-82
40
38
73
10
35
-95
-8
50
52
-46
-6
-4
19
-11
0
28
4
39
0
0
90
0
-16
47
135
-43
74
70
-25
4
-11
51
1
-29
-35
-62
-110
-35
-20
-49
-45
-2
23
-25
-15
-27
-4
-1
6
7
0
-4
-1
1
0
0
-5
0
48
-11
61
89
27
-74
-33
-64
-24
-58
13
31
4
-7
52
7
8
-22
55
6
7
-17
34
5
9
8
13
0
0
15
-8
-3
0
0
-8
0
51
68
0
37
33
71
53
48
-17
-20
78
69
-3
5
54
7
-10
-11
20
-12
-16
-3
1
2
-55
32
-8
-13
0
51
-37
-58
0
0
-12
0
-2
20
0
-15
40
7
-1
-25
-69
25
5
13
-2
-14
41
-8
28
5
-58
6
21
-7
15
-66
-1
51
4
-36
0
4
-27
7
0
0
-11
0
48
0
0
0
36
58
0
7
59
-50
48
75
-6
27
49
39
27
32
42
-26
-53
21
34
-52
2
32
1
-28
0
23
5
10
0
0
8
0
71
52
92
-12
30
-16
19
61
3
-75
-17
23
39
-35
53
-26
8
-32
42
33
8
-13
45
-3
5
0
14
-6
0
19
2
48
0
0
6
0
-20
27
70
-46
-12
-71
-7
4
-35
91
-44
63
48
35
-5
40
-12
6
35
37
11
-80
-22
20
1
-26
63
-35
0
-49
16
49
0
0
51
0
8
50
0
131
56
5
0
46
-82
47
0
67
23
-32
0
49
37
-14
0
6
-5
22
0
32
-3
2
0
-12
0
-12
0
-55
0
0
0
0
0
28
14
-12
-10
2
-2
2
-1
31
16
-3
0
1
-4
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-35
-52
-3
6
-6
13
-3
0
0
15
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
-71
21
16
32
7
-19
0
19
58
8
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
10
22
-3
-40
15
7
-48
0
-4
64
18
0
-1
13
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-37
22
40
23
15
18
67
-77
14
29
-77
-52
8
-2
6
66
68
36
-18
60
58
7
-45
-19
-32
16
77
0
17
14
16
0
0
-22
0
-3
49
42
93
-5
67
9
18
-8
29
2
-3
1
-47
-39
-3
22
1
31
-1
-24
-11
-7
-1
20
-8
21
-8
0
74
-19
-1
0
0
12
0
28
33
56
18
44
-101
3
29
-36
-37
-1
6
-10
0
-42
-40
-31
-50
-28
-16
2
-12
-51
-17
14
12
1
-56
0
-4
0
1
0
0
-30
0
13
114
93
100
92
82
80
-53
-55
22
9
-21
23
27
19
-13
25
44
77
-84
2
-17
-2
-47
-1
5
13
32
0
-13
9
0
0
0
1
0
77
127
0
-14
37
82
9
-16
-12
54
26
-56
-13
16
21
-11
-7
-4
19
-22
-38
-25
-12
-11
-26
50
4
17
0
-11
39
9
0
0
25
0
75
90
0
-27
-4
23
36
-20
2
1
5
-1
5
17
-37
-140
-14
3
120
-71
-30
-7
-6
-45
21
21
19
-13
0
12
-8
0
0
0
22
0
114
0
0
0
-2
96
0
-46
27
0
8
-35
14
71
16
55
13
94
62
-5
-29
-1
7
-5
-6
85
-20
6
0
19
-7
17
0
0
1
0
55
44
79
77
14
75
104
26
21
9
-12
-44
42
17
20
-88
10
15
53
-130
-25
3
7
-66
9
7
9
5
0
-15
-13
39
0
0
10
0
17
-27
25
78
75
113
7
-6
5
71
45
-68
-40
1
-27
-24
19
42
-33
-43
9
-3
-7
6
-4
10
13
43
0
-65
10
-2
0
0
-2
0
7
104
155
79
25
2
48
5
-5
3
0
-1
-33
30
-7
-9
-45
-48
1
121
15
-1
56
-45
68
10
-30
-48
0
-61
-76
-91
0
0
5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-18
-17
-19
-19
-1
-8
22
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
-2
2
12
13
5
2
84
17
32
13
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
18
21
17
19
28
29
36
61
40
2
21
74
118
16
7
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
30
34
34
30
42
54
41
69
34
2
98
46
72
-54
92
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
24
32
33
36
43
34
66
55
73
68
69
50
91
120
10
134
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
18
29
17
-8
52
49
52
37
29
71
111
71
53
87
41
66
122
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
26
8
10
11
30
52
28
27
64
43
85
61
30
59
81
56
88
47
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-56
-80
13
66
59
24
40
7
95
30
42
51
46
72
56
110
57
55
65
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-35
-3
-33
-25
30
-14
-22
54
43
5
80
3
57
91
117
64
31
46
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-79
54
-5
55
-34
-14
45
21
37
39
42
70
77
68
86
-13
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
74
65
3
14
57
33
68
-15
12
-6
80
78
29
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
56
1
90
-3
24
52
-4
3
4
-3
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
-2
0
-4
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
-33
-31
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-81
-57
3
41
-26
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-52
-115
31
-54
18
-26
-67
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-8
-37
1
-18
102
-25
-72
28
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
45
-26
-54
-41
-8
48
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-18
6
0
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
39
52
-28
15
-68
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-10
-35
-27
-30
19
60
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
105
-86
-33
-26
-64
-39
5
53
16
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
0
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
-99
-3
-15
-20
-67
-42
52
17
-10
36
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-20
-122
-36
7
92
63
52
-16
-14
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-23
-17
-48
-12
6
-53
41
8
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
4
-8
36
-17
45
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
14
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
12
9
26
83
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-12
28
-31
-142
15
-10
40
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
2
-39
-25
0
3
-132
-75
73
33
13
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
11
-43
-49
-33
-14
-100
22
0
40
-14
-44
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
64
-11
-4
-27
-23
8
4
4
59
31
-28
-26
-2
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-56
57
50
9
-31
-42
113
-73
-2
127
-42
40
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
29
2
-36
-25
-126
97
28
108
-17
-20
54
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
5
-33
35
-12
-41
-17
67
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
1
2
7
4
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
24
-33
-186
12
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
101
49
-20
-20
-72
-23
4
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-57
-66
16
-50
-16
85
83
40
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-71
1
-60
-6
14
-28
-4
59
-10
57
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
-2
-29
76
34
-35
-42
-55
-33
20
37
18
17
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-53
43
0
-25
45
-76
62
-33
116
-39
-39
-24
71
-48
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-55
-49
38
-6
14
-40
-6
41
-15
-8
34
-1
-16
67
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-30
5
25
-64
86
-29
11
41
-7
119
-31
26
-19
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
-2
-64
-113
44
46
-39
50
-17
39
66
18
48
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-8
64
-41
-35
28
-25
9
39
18
48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
-2
6
-4
-1
-3
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
22
-80
78
19
-4
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
32
21
68
-35
18
41
-66
28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-9
3
-19
-26
45
-50
28
3
53
-49
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-12
-3
26
-19
14
-11
-3
12
47
15
-49
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-17
-22
-42
-60
-50
-47
-95
-3
78
108
40
78
0
-5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-63
-44
49
-44
-26
14
-36
49
19
35
14
-3
-22
14
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
31
45
-73
12
-41
3
28
31
28
-26
-69
-34
-53
-4
-15
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-100
-10
-43
-7
-99
20
-76
19
-5
10
-13
4
4
0
3
20
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-2
-57
-9
23
4
-53
9
-25
-16
14
-6
-49
1
44
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-26
-8
-92
35
-65
-75
28
50
93
6
-81
-1
22
5
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
-23
-7
-35
-11
47
-47
-19
-28
11
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
2
90
6
6
-4
6
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-2
0
-5
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
97
68
87
-9
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-5
133
2
14
66
46
-31
-40
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-21
3
22
44
-35
64
101
67
37
-44
-61
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
23
9
-4
19
-3
16
79
15
33
26
-20
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-2
1
8
-8
19
18
61
31
52
37
11
-51
2
89
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
23
12
15
6
17
3
14
14
-52
5
38
-15
52
46
-4
25
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
37
26
12
-3
19
-10
2
20
15
58
45
-46
52
17
1
48
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
28
-17
1
-16
-11
9
17
-29
-14
17
13
-11
-12
38
68
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
14
-1
39
10
-58
61
32
2
-10
26
64
-9
-24
49
-27
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
15
7
-21
-7
30
47
34
-31
-40
35
30
25
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-15
29
-12
22
21
-2
13
43
-13
-1
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
36
80
7
36
53
-22
-34
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
-9
21
58
8
56
-5
37
-3
36
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-6
7
12
-11
-7
32
27
-2
70
45
61
-36
13
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-17
-14
-16
-20
-1
5
2
31
31
-16
13
-25
-32
47
-24
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
11
-3
-8
-2
4
20
-18
-2
-13
-48
-39
10
30
18
7
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
-9
11
-15
-5
28
2
-58
1
18
34
21
46
-42
-13
-29
41
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
-5
16
25
-14
8
17
54
-48
-35
-13
45
63
51
11
7
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-39
7
-21
-3
26
42
-9
-4
-37
23
-13
20
-12
-8
-6
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
-27
-55
-2
47
8
-35
39
30
28
-42
24
28
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-16
14
-18
-10
18
1
8
-1
-13
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
13
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
2
-3
20
2
63
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
4
-1
2
-1
29
39
44
-15
69
106
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
10
8
8
15
1
14
12
17
59
141
-29
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
40
14
35
33
25
45
34
30
-4
46
97
123
56
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
45
57
38
59
32
50
48
34
101
109
52
128
36
-4
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
90
59
64
80
53
67
33
82
78
32
47
146
-36
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
26
66
91
-14
37
102
64
77
3
39
3
8
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
8
82
2
-8
0
4
-2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-26
-65
-17
-24
-5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
21
10
0
-1
7
-42
-7
26
-23
-8
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
81
62
62
40
46
51
4
-32
-59
-44
-15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
85
79
72
91
108
28
102
90
48
99
-35
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
114
68
81
128
92
137
127
100
33
-44
98
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
92
68
203
145
64
142
112
-34
29
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
-1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
95
37
-3
116
8
0
-35
42
8
-2
-1
0
-10
3
-71
0
4
5
0
6
-3
-25
-1
-2
-2
0
2
0
24
-2
0
0
0
5
0
0
0
65
0
2
8
0
0
-52
0
0
1
0
2
58
8
0
8
0
0
98
-1
-1
23
-40
2
0
52
101
16
0
52
1
98
4
-19
0
0
-51
10
8
0
13
-5
0
-46
0
25
2
2
0
0
24
-3
21
0
-1
0
0
5
0
-3
0
-8
0
0
0
43
-23
0
0
-29
0
0
0
-5
-3
50
52
28
103
-4
0
6
-19
7
0
41
-1
0
4
77
2
4
67
22
0
30
-59
-4
5
31
0
2
-13
49
0
-1
-96
-20
0
-25
-22
0
0
24
4
0
0
-9
0
-6
-6
15
-4
0
50
0
0
7
9
17
0
27
-22
-78
0
0
0
2
-29
21
-7
6
0
-2
51
21
21
43
81
-24
-8
-38
32
0
-3
106
-2
-13
-4
36
2
17
-92
8
0
5
-48
0
51
-14
6
-5
3
-72
0
0
-3
15
9
0
21
0
0
0
-6
-4
0
-36
0
-5
0
-3
57
0
68
0
0
0
0
0
10
-13
-20
17
-3
0
-2
-6
-97
-9
-46
11
0
0
-2
12
-22
4
16
0
-3
24
-49
1
-46
65
0
1
-3
-27
0
-8
-74
-15
0
0
-43
-2
-37
13
-1
-6
0
-19
0
0
2
45
0
0
8
0
-41
0
0
0
0
-74
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
-29
0
0
0
0
0
0
26
0
-4
0
0
44
0
0
0
1
0
0
-66
0
0
0
-5
0
0
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-31
-5
8
-2
0
0
-5
0
0
0
108
0
0
9
-2
0
87
11
0
0
3
-3
0
0
-7
0
0
-1
-14
0
0
0
0
0
0
-44
0
0
10
0
0
0
42
0
9
0
0
0
0
6
0
0
0
0
0
0
12
0
-1
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
-15
0
0
-2
0
0
0
-1
0
0
-1
0
0
0
-34
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
11
0
0
0
0
-4
0
0
0
0
0
0
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
13
0
1
10
0
0
5
3
0
0
-1
0
0
0
0
0
0
0
8
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-5
0
0
0
0
-8
27
-29
19
18
0
-6
10
0
-1
3
42
0
0
15
0
0
0
17
0
0
3
7
0
8
-9
0
0
-7
-1
0
0
13
0
2
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
7
0
0
0
16
0
-28
53
89
-11
0
0
4
-5
0
2
29
0
0
-16
19
0
-33
10
-8
0
21
23
0
0
-16
0
0
8
-17
0
0
7
10
0
0
-24
0
0
0
0
0
0
5
0
-41
-8
-1
0
0
-59
0
0
0
0
-5
0
13
-1
2
0
0
0
0
39
-9
0
5
0
0
9
-6
0
-7
12
5
0
0
-4
0
2
2
0
0
-8
54
0
0
-9
2
0
0
-13
0
-1
0
0
0
0
-10
0
0
2
-7
0
0
44
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
33
5
0
0
0
0
0
-2
0
13
3
0
0
0
27
0
-8
0
-1
0
0
-22
0
-1
-2
0
0
0
-7
0
5
0
4
0
0
27
0
0
0
0
0
0
58
0
1
9
-2
0
0
-32
0
7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
66
-48
-33
25
-39
30
9
-14
83
13
3
23
-23
22
-14
-2
-56
-39
-5
-8
-20
31
-90
-84
-80
-61
6
36
-109
-9
-60
3
-31
22
-36
-59
-45
-7
-59
16
-18
-13
-56
4
-48
-18
-25
60
121
40
53
50
-21
-12
53
43
35
7
-15
73
2
47
12
-90
7
-77
-8
66
-54
-10
-25
1
-47
0
-35
-49
-7
32
-4
26
-44
-27
-2
-56
-49
-74
-53
-11
10
-6
-20
-24
-89
20
-14
-1
-7
-87
-75
28
-26
-64
-30
-20
-44
-18
-8
-24
-28
-49
2
2
30
40
2
45
-3
-22
73
51
127
78
50
6
77
12
-15
-18
2
16
0
-50
-2
5
-60
1
-53
-17
0
-40
-5
-38
-12
-11
-22
-23
-85
-1
-40
-29
-24
23
22
-85
-1
-8
6
-19
-21
20
-64
-3
7
-24
6
-36
7
-12
28
-33
24
-34
-42
51
-8
13
4
8
79
39
-13
16
-3
-82
6
26
8
-22
-9
9
16
14
37
52
0
-39
-12
-28
3
-8
-7
-14
-15
-18
27
-28
-8
-41
-67
-2
-13
0
8
-35
-22
-14
-41
3
-91
-4
-9
1
6
-3
-1
-38
17
-31
-28
1
-48
4
-22
-48
-11
-19
13
-11
-27
-1
-14
-29
-32
-13
-47
-5
-20
-22
-2
-44
-69
-3
14
-17
-52
52
-6
-5
-39
-1
-7
-2
-1
20
38
-30
-17
-27
2
29
5
15
35
5
-90
17
3
-64
-69
-89
-18
-28
-65
-22
-28
-13
-13
8
-34
5
24
38
-21
-15
-40
-18
-3
-23
8
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
1
0
22
0
0
-109
14
0
-2
0
0
0
0
5
-1
8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
46
0
0
-4
0
0
-11
0
0
0
0
-4
-2
94
13
1
0
0
60
-4
-2
-5
-19
0
3
66
-1
-6
0
73
0
6
17
-5
0
0
0
1
-2
-1
-17
0
1
0
0
16
0
-2
0
0
-2
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
23
0
0
0
0
0
36
-65
24
62
0
0
-4
25
0
0
32
0
0
41
26
1
-11
-13
-5
0
-30
68
0
5
-28
0
4
6
-42
0
0
3
0
0
0
-41
0
0
0
0
0
0
-87
0
-34
0
17
0
0
59
0
0
0
0
0
0
-52
14
-12
0
0
0
0
-18
89
0
5
0
0
0
109
0
-8
17
32
0
1
23
0
-1
-1
0
0
13
-51
0
42
25
0
0
0
-35
0
0
3
4
19
0
6
0
0
3
-1
0
0
-88
0
0
0
0
0
0
-15
0
0
0
0
5
0
-47
0
-1
0
0
0
8
51
-7
0
0
0
0
1
-46
8
25
0
0
0
0
16
5
-8
0
0
0
0
-15
0
50
15
0
0
0
-26
0
0
8
30
0
0
52
0
9
-2
13
0
0
-28
0
0
0
2
0
0
38
0
-10
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
13
0
0
0
0
0
-3
6
0
0
0
0
23
0
0
0
-39
0
0
6
0
0
0
-22
0
4
2
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
40
0
0
-3
0
0
0
-7
0
0
-6
0
0
-4
0
0
-10
3
0
0
-3
-3
0
0
0
0
0
-3
4
0
0
-10
0
0
0
17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
26
0
0
0
0
0
0
12
0
0
-1
0
0
0
5
0
0
0
0
0
0
44
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
4
0
0
0
0
19
0
0
0
0
0
0
-8
0
-4
0
0
0
0
3
0
0
-3
0
0
0
32
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-4
0
0
0
0
0
-7
6
0
0
0
0
14
0
0
0
-85
0
0
30
0
0
0
-1
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
13
0
0
0
0
2
91
0
9
-6
0
0
-7
27
-2
0
31
0
0
38
4
0
3
13
0
0
-3
50
0
0
11
0
0
-9
-3
0
0
0
0
0
0
40
0
0
0
0
0
0
13
0
-14
0
0
0
0
41
0
0
0
0
0
0
-10
0
0
0
0
0
0
-31
1
0
0
0
0
-8
44
0
0
0
0
0
0
-27
0
0
-24
0
0
0
-78
0
0
1
0
0
0
-13
0
0
-2
0
0
0
-2
0
0
-3
0
0
0
29
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-39
0
20
1
0
0
0
17
0
0
0
0
0
0
2
0
-3
-1
0
0
1
-47
0
0
0
-1
0
0
-41
0
0
0
0
0
0
-43
0
0
0
0
0
0
15
0
4
0
0
0
0
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
-13
10
-57
-10
38
-84
4
-38
-40
-96
-30
-65
-3
-25
-14
13
27
-8
-63
6
-19
-12
-8
-15
-25
-24
-44
-62
13
-53
-14
-7
-28
-15
-49
1
12
-5
-5
0
7
62
-43
16
97
52
-7
4
8
-78
-14
-123
-16
14
84
55
45
-88
67
59
51
-52
38
3
14
-44
-13
-47
-7
18
-9
-10
-13
-67
-42
-10
-10
21
-68
-31
-23
-54
-5
-25
9
-43
-55
-24
-50
-63
-51
-17
-47
-31
-24
6
-50
-37
1
-21
5
-21
-22
-6
-70
-41
69
64
-9
14
-3
52
42
56
24
32
-14
33
-37
16
-13
-23
37
-6
16
-44
-16
-17
83
29
17
-103
22
-31
-36
-49
-32
-26
-47
3
36
-18
-14
16
-19
-35
-40
-47
-10
-37
-22
-66
23
-17
30
15
-50
-86
-82
37
-65
-17
38
20
9
-18
65
-1
-25
72
-15
67
43
-103
52
36
29
26
13
17
-8
48
19
6
15
52
63
35
14
-28
-15
52
-14
27
-16
-17
-1
-16
-10
44
17
15
-21
2
-16
-34
-78
-17
-4
4
-6
8
-12
-69
-56
6
-2
-9
-12
-55
-86
-26
11
0
0
23
-30
-60
-32
50
9
-2
54
-44
-68
-19
56
32
64
18
1
-62
19
21
-22
-16
12
15
0
-1
38
33
13
-31
-73
-26
-6
-49
-23
-7
-37
3
18
57
14
4
-2
4
83
-14
-7
66
0
-106
19
-7
-2
-47
68
13
-43
8
78
-44
-61
-17
13
-25
10
6
48
15
-46
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-3
0
0
0
0
-7
-24
-17
2
0
25
-4
18
-4
-1
0
0
0
0
-14
0
-14
13
0
0
25
0
0
1
0
15
0
0
-3
0
0
-26
0
0
1
0
2
0
-18
6
-24
0
0
3
1
23
-1
-7
28
0
-64
0
1
15
-41
-3
28
-51
-15
0
2
0
-56
4
-43
30
8
0
-5
-1
-13
-5
13
-1
0
0
-6
1
-3
8
0
0
8
0
-26
0
5
0
0
1
5
-62
0
0
63
0
0
0
19
4
54
4
64
29
16
0
13
63
-4
0
25
0
0
-20
0
-4
19
23
32
-1
-17
-18
0
-12
-35
6
34
-1
-62
0
0
-18
-17
-6
-1
-33
0
0
5
0
20
0
19
0
61
8
23
0
0
0
0
-8
0
19
2
0
25
-27
25
0
-8
0
0
23
11
0
21
19
25
27
0
-14
19
-24
71
6
22
0
-11
34
32
0
7
28
-42
0
-1
12
25
15
-18
0
7
6
-49
8
-1
0
-6
0
0
25
51
14
0
-61
0
0
6
4
-10
0
30
0
3
0
11
-51
0
44
0
0
0
0
-8
5
45
-2
1
0
0
0
-6
-26
-1
28
8
0
0
22
0
2
30
6
-29
-8
-17
30
-1
5
-4
19
-8
-3
-76
0
47
-20
7
-8
2
-34
0
77
-15
3
11
0
-4
0
0
-8
-9
5
0
42
0
72
0
0
-7
0
60
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
-1
-15
0
0
-3
5
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
74
0
0
0
0
0
-61
0
0
0
0
0
-6
42
2
1
0
0
-71
0
0
0
51
-3
0
-39
2
0
0
53
0
0
80
114
0
0
-4
21
-2
-12
0
0
0
-7
0
20
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
8
0
0
0
9
0
36
-35
140
-18
1
0
-54
36
0
0
25
0
0
-55
-48
0
-44
-12
-8
0
49
-13
0
10
10
0
0
-23
-1
0
0
5
0
0
0
-3
0
0
30
0
0
0
4
0
81
0
1
0
-1
-20
0
0
0
0
0
0
59
0
1
0
0
0
0
59
50
5
0
0
0
0
3
-6
10
40
2
0
5
-15
0
0
-8
0
0
-21
49
0
29
10
-1
-12
-5
38
0
1
0
1
-2
0
-37
0
-2
36
-24
15
0
29
0
0
-1
0
-1
0
51
0
0
0
8
8
0
51
0
0
0
0
0
0
55
-4
12
0
0
0
0
21
0
-57
18
0
0
0
21
0
-14
4
0
0
0
-28
0
-9
-7
0
0
0
-31
0
0
3
8
0
0
4
0
25
-2
-2
0
0
-12
0
0
5
12
0
0
-33
0
-6
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-3
0
15
-5
2
0
0
0
-3
5
0
-1
0
0
0
0
0
0
-2
0
0
0
-1
-5
0
0
0
-61
0
0
5
0
0
44
0
0
0
0
-1
1
-9
0
8
0
0
4
0
0
0
49
4
0
86
0
0
0
26
0
0
-64
0
0
0
-10
-18
0
26
-23
0
0
-6
0
6
0
0
0
0
8
24
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
0
0
-18
0
0
0
-4
0
17
62
23
4
-2
0
-8
46
0
0
-21
0
0
1
60
0
2
1
0
0
-17
-26
-2
0
32
0
2
-1
65
0
0
4
-5
0
-3
26
0
0
19
0
0
0
0
0
82
0
6
-8
0
114
0
0
0
0
0
0
-42
-7
9
0
0
0
0
-13
22
0
0
0
0
27
-143
-4
0
-4
5
0
-16
13
0
0
14
0
0
1
11
-2
0
-29
-9
0
1
15
0
0
-2
0
0
0
-4
0
13
0
-2
0
0
-99
0
0
0
0
0
0
44
0
0
0
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
3
0
0
0
0
-29
0
2
0
0
0
0
32
0
0
7
0
0
0
-42
0
0
0
-8
0
0
-48
0
2
0
1
0
0
-41
0
0
-10
0
0
0
11
0
3
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
65
-47
7
-5
1
-9
-90
37
57
18
17
-14
-18
13
-42
3
-2
-1
5
-42
-12
91
4
11
26
-36
1
0
63
0
-3
0
0
4
0
0
-1
0
0
0
4
-26
41
44
6
3
0
-3
-112
-35
21
10
51
-2
-47
80
37
-8
-6
79
17
62
-17
25
-8
21
23
-32
-19
7
-11
13
0
-72
-5
7
32
-63
20
-2
-3
1
-1
17
-105
0
9
2
4
-16
1
41
5
0
21
22
-21
-1
-3
-22
0
-2
19
5
6
33
47
-30
-24
21
0
-48
27
78
13
-20
-2
-1
-9
4
-50
-20
-4
3
20
41
-16
43
-36
-7
7
-3
6
-4
32
23
-2
-23
65
73
7
6
13
-21
-9
-23
4
7
3
16
25
-12
74
-43
7
-1
25
-9
4
-11
1
12
-27
-7
0
-26
-1
1
34
-6
-9
47
-15
-7
16
33
46
-5
11
28
8
0
10
-5
-57
19
10
-31
26
-13
30
-20
-14
31
67
-15
14
13
-26
-1
-15
7
-34
9
-13
-7
-18
33
8
21
4
0
-5
6
-36
21
-12
1
0
-2
38
52
1
0
1
4
0
0
-2
25
11
15
0
-2
-11
-69
0
-79
-37
-31
5
2
1
19
71
10
19
-54
16
1
70
11
7
-35
-82
57
35
-14
-16
-7
22
72
-33
-43
14
20
23
2
-23
-46
-20
23
24
10
5
-27
14
-33
14
7
-4
0
-92
-26
-18
-76
0
-31
-6
6
-4
-81
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
16
0
0
-23
0
1
7
88
5
0
-6
0
-3
-32
8
0
0
0
0
21
0
1
-3
0
0
0
-3
0
0
0
-11
0
0
-40
0
0
-4
0
0
0
0
3
0
34
0
4
0
0
-43
8
-3
0
-38
0
0
-38
0
0
0
5
0
4
-7
-7
0
0
30
0
11
-56
-13
0
-7
5
0
0
8
0
0
0
-22
0
15
-8
-3
0
0
0
15
7
0
-12
0
0
0
0
38
0
0
-35
0
0
0
29
0
-6
-21
68
-6
0
0
-15
45
0
0
-11
0
0
53
-8
0
63
18
0
0
-35
-5
0
3
-29
0
-2
-17
-24
0
0
-18
0
0
-19
7
0
0
16
0
11
1
24
0
-48
31
2
6
0
15
9
0
0
0
6
0
-31
56
0
0
0
-3
0
14
20
0
3
0
0
29
20
0
4
47
1
-2
-53
-9
0
13
8
0
0
-7
16
0
-4
-9
0
-2
-6
3
0
-1
-8
0
8
-3
-60
0
-1
26
0
-4
0
-4
0
0
89
0
50
0
77
0
-2
5
0
-12
0
-18
2
0
0
0
10
0
-35
22
6
0
0
0
1
99
0
-29
-5
0
0
0
9
0
-4
7
0
0
0
0
0
5
-3
0
0
11
2
0
-13
-3
0
0
0
103
0
31
-37
0
0
0
-13
0
0
-1
12
2
0
66
0
-16
-8
0
2
0
-68
28
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
9
0
0
0
0
0
3
2
1
7
3
0
0
-2
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
22
0
0
0
0
0
-39
0
0
0
0
0
-3
18
0
-1
0
0
26
0
0
-7
-8
-1
0
-30
0
-14
0
-7
0
0
-12
7
0
0
13
18
0
24
-17
0
0
-1
0
0
-28
8
0
0
0
-14
0
-16
-1
0
0
0
-5
-14
0
-2
0
0
0
-1
5
0
0
-69
0
0
0
6
-1
19
3
-10
-4
0
0
-73
23
0
0
24
0
0
13
92
0
-16
-18
-9
0
-43
-2
0
-10
-23
0
0
48
-9
0
-7
33
3
0
-7
-13
0
0
-17
-2
0
0
-6
0
-146
-1
-7
0
0
36
0
0
0
1
0
0
44
15
5
0
-8
0
0
-4
29
0
18
4
0
29
0
-8
19
-4
41
0
55
38
-3
7
-9
0
0
13
19
-3
8
53
-5
0
5
2
0
0
48
0
0
10
26
0
0
-12
2
0
0
7
0
-2
-5
0
0
0
-87
0
0
0
0
0
0
-30
0
0
0
0
0
0
34
12
-4
24
0
0
4
57
0
-20
12
0
0
-1
48
0
2
13
2
0
-4
-13
1
-12
34
0
0
-29
-22
0
13
49
1
0
0
-17
0
2
-21
0
0
0
-44
0
0
6
9
0
0
-39
0
10
-3
0
0
0
16
8
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
98
18
-13
24
27
-11
26
61
-8
0
-3
-41
1
-32
-18
5
-7
10
-29
-44
0
66
0
12
1
-2
-62
0
15
-1
0
0
-3
-11
-18
-94
22
-19
-38
5
7
-81
-34
98
-9
29
18
-51
-66
-74
-34
-9
-18
17
42
2
39
47
11
-5
20
65
24
-2
-17
-9
-70
28
38
45
-23
7
0
-22
-10
7
65
5
-2
-1
-16
-21
-19
2
-24
-1
0
23
-21
-6
0
-4
-23
0
9
-23
-51
-13
16
0
-34
45
-21
-4
-3
20
-9
18
35
-10
31
11
19
-12
15
17
0
17
-11
25
-7
-26
-6
-22
-63
-19
-10
-11
-8
0
-22
41
1
9
0
-19
-5
10
-28
32
14
-4
12
-16
13
23
-11
4
36
5
36
13
-22
0
12
16
48
0
78
1
8
17
-5
12
-29
-18
9
-33
-12
15
-94
-9
20
17
31
9
34
24
54
6
4
-31
5
-5
46
57
8
-52
-7
-9
-17
22
25
-27
-4
-61
-2
-2
6
10
4
33
-1
11
-2
7
-39
-18
28
-5
-4
-10
-2
23
-30
-5
0
-27
22
-2
0
16
50
-3
-2
-102
-6
5
-12
-4
-41
16
65
61
41
-9
37
-102
-24
66
-86
47
42
21
25
8
53
-90
4
9
-42
-22
-33
-24
32
38
15
-1
53
2
-7
-32
-1
19
51
22
-13
-4
7
-43
17
57
-1
5
-5
-44
-2
69
35
0
-66
49
2
8
-38
-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
41
-4
8
-9
-4
16
-51
4
19
0
0
2
0
-2
0
4
0
0
0
0
0
0
1
0
43
0
0
-10
0
0
-27
0
0
0
0
0
2
84
0
-8
0
0
62
21
12
5
-3
5
-2
-48
30
-8
12
-31
-16
-9
48
0
21
8
6
37
-57
-32
20
0
10
32
-4
19
-6
39
-1
1
-4
-5
-29
8
-7
0
0
-1
3
-4
0
7
0
0
0
-28
-17
0
0
-1
0
0
0
-9
0
-48
37
57
21
25
3
-45
3
1
0
12
-2
0
-11
5
0
52
60
-38
4
-40
0
1
91
-60
-3
-17
95
-5
0
9
-18
24
0
6
15
0
-1
-12
0
-8
0
-14
0
-54
-3
17
0
0
-18
0
0
0
0
-56
0
34
59
5
0
42
0
0
-56
-53
-6
3
0
-1
12
-21
-9
-31
-24
-35
0
-43
10
2
4
15
1
-3
25
0
-1
-7
92
-96
0
-8
9
0
-3
-32
39
-5
1
-10
0
1
98
-58
-1
0
31
0
0
8
0
7
0
-3
0
0
0
2
-2
0
54
0
0
0
0
0
2
-15
-10
11
0
16
0
-4
-8
-13
96
-12
0
0
6
-36
7
-64
38
20
1
55
0
0
-27
73
1
8
-1
-49
4
-18
26
25
0
3
-4
0
4
2
-25
2
0
9
0
0
-10
12
2
0
-39
0
-57
0
6
-5
0
6
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
18
0
0
0
0
0
6
39
0
0
0
0
-7
0
0
0
95
0
0
17
0
0
0
-5
0
-21
34
-13
0
0
14
-3
2
40
139
0
0
31
0
8
-1
-1
0
-1
-3
0
0
0
-1
0
0
0
0
-6
0
1
0
0
0
6
5
0
0
38
0
0
0
-5
0
47
-17
94
-52
0
0
32
76
0
0
12
0
0
-9
-56
0
-22
-67
-61
0
-51
-133
0
-8
18
0
0
-4
28
0
24
6
0
0
0
14
0
0
-1
0
0
0
-31
0
-65
0
27
0
0
-24
0
0
0
0
7
0
7
6
-3
0
0
0
0
75
-14
-9
3
0
0
9
52
0
8
121
92
0
0
-63
0
-1
-14
0
0
-4
-64
0
-16
-49
6
1
0
9
0
0
23
0
0
0
67
0
0
0
15
0
0
4
0
0
0
0
0
0
-64
0
0
0
2
1
0
-44
0
0
0
0
2
0
-1
1
0
-1
-3
0
0
-5
0
-25
0
0
0
0
-36
0
1
1
0
0
0
-56
0
18
1
0
0
14
-68
0
-1
-4
1
0
0
11
0
5
-1
0
0
0
-22
0
0
0
-2
0
0
12
0
4
0
0
0
0
-16
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
19
0
0
0
0
0
-1
-92
0
1
0
0
35
10
0
0
8
0
7
-123
0
0
0
50
0
0
45
-13
0
0
-1
6
-1
5
-10
0
0
5
0
0
1
0
0
0
0
12
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
6
0
0
0
8
0
-99
41
4
-12
0
0
1
-36
0
0
7
0
0
-16
87
0
5
-47
1
0
56
-27
0
0
39
0
0
13
40
0
0
0
-8
0
0
-18
0
0
8
0
0
0
81
0
-8
0
-4
0
0
76
0
0
0
0
0
0
-58
-6
17
0
0
0
0
-27
-1
0
2
0
0
-6
4
-2
0
-4
3
0
0
-15
0
0
5
0
0
-2
4
1
4
-3
20
0
0
57
0
0
2
0
0
0
20
0
0
-3
-5
0
0
-28
0
0
0
0
0
0
44
0
0
0
0
0
0
55
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-3
1
5
0
0
0
0
-5
0
0
0
0
0
0
-5
-6
0
9
0
0
0
27
0
-6
-6
-6
6
0
-59
0
0
-1
0
1
0
-19
0
0
0
0
0
0
-37
0
-8
-6
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
8
0
50
-4
-5
-1
-5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
16
0
0
-5
0
0
-5
0
0
0
0
-2
12
19
0
1
0
0
2
27
0
1
-65
17
0
-31
0
-3
0
46
0
4
2
14
-6
0
-29
49
36
0
58
0
4
-10
0
4
5
-14
0
0
0
17
-18
4
8
0
0
0
0
8
0
8
0
0
0
0
18
0
0
-27
0
0
0
13
0
14
-47
-13
12
0
0
-5
10
0
0
27
0
3
67
8
0
77
54
31
0
63
-2
-12
2
-15
0
8
-4
41
0
4
-6
6
0
-8
1
0
0
0
0
0
0
-48
0
12
0
-22
0
0
6
0
0
0
0
8
0
36
-18
-5
0
0
0
0
1
73
3
0
0
0
-3
-53
51
1
-39
38
-3
-1
-52
0
0
-13
0
0
-2
-40
-1
0
25
73
-8
-17
18
0
3
6
14
0
-3
23
0
0
9
-17
0
0
30
0
0
0
0
11
0
-12
0
0
0
3
33
0
24
0
0
0
0
0
0
-41
-4
0
0
0
0
0
-6
0
17
0
0
0
-3
-59
0
-3
0
0
0
7
-61
0
-1
-8
0
0
19
47
0
-8
0
-38
0
0
-30
0
21
0
0
0
0
-48
0
1
0
-43
15
0
-17
0
7
0
0
-1
0
8
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-6
0
0
25
0
0
0
0
0
0
1
0
0
0
0
45
0
0
0
-11
0
0
32
4
0
0
10
0
3
-35
-2
0
0
-3
0
0
1
-1
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
62
0
0
4
0
0
0
0
0
27
0
4
8
0
0
-10
-56
0
0
-6
0
0
6
-21
0
-5
-10
0
0
-36
12
0
0
1
0
0
0
1
0
0
0
0
0
0
-47
0
0
6
0
0
0
2
0
17
-5
0
0
0
-19
0
0
0
0
0
0
58
1
3
0
0
0
0
-20
-2
0
0
0
0
0
75
0
22
-4
0
0
0
-59
0
0
-1
0
0
13
-3
0
0
-36
0
1
14
8
0
0
-2
0
0
0
93
0
0
17
0
0
0
-43
0
0
0
0
0
0
-26
0
0
0
0
-2
0
-124
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
-2
0
-6
0
0
0
0
0
2
74
0
0
14
0
0
0
47
0
0
0
0
4
0
9
0
0
-9
0
0
0
-7
0
8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
0
0
1
-25
0
3
36
0
0
0
0
0
0
5
0
0
0
39
0
0
0
0
-5
0
0
0
0
0
9
0
0
0
0
0
16
44
0
-10
0
0
-56
-1
-9
0
-24
0
0
-51
1
-9
0
12
0
-5
-10
3
0
0
-44
-39
4
46
72
0
0
-6
0
0
-12
7
0
0
3
-1
5
11
-5
0
0
8
0
-1
0
26
0
0
0
17
2
0
0
21
0
0
0
0
4
31
75
58
-44
0
0
99
67
-1
0
73
0
0
-61
27
0
53
-22
66
0
-49
-96
0
-6
-24
0
0
-39
-13
0
0
16
3
0
63
-42
0
0
-37
0
0
22
88
0
7
46
-2
0
0
27
0
4
0
4
0
0
30
5
-28
0
-2
0
15
20
39
0
-1
0
0
18
32
2
-3
21
80
0
24
26
0
-3
77
0
0
17
-57
0
-18
70
-54
0
51
-9
0
8
3
2
0
-18
-3
0
0
28
26
0
3
57
0
0
-27
8
0
0
58
0
0
0
-40
0
0
30
6
0
0
0
0
0
13
-4
0
0
-4
0
0
44
0
75
-2
0
0
9
35
0
-15
-24
-3
0
7
-19
6
-4
58
0
0
24
-18
0
15
46
39
0
6
13
0
83
6
0
0
0
-18
0
0
0
35
0
0
-4
0
-23
0
0
0
0
3
7
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
143
0
0
0
10
14
0
-8
5
0
6
4
6
0
9
0
-36
0
0
-27
0
0
-64
0
0
0
0
0
-26
6
0
-3
0
-7
75
6
0
0
18
-50
25
-1
-2
7
0
-28
0
17
-98
86
-6
0
-11
-27
74
-87
17
17
2
-13
0
11
1
11
0
0
-21
-33
-16
27
4
0
0
-5
19
-28
0
-55
0
0
3
17
-35
0
0
-55
0
0
-1
36
6
17
25
-69
20
-1
0
12
23
0
0
16
0
-7
-51
21
-1
104
20
39
16
-36
33
0
0
-17
-8
1
41
-11
0
0
10
-30
21
0
0
0
0
-56
0
-2
0
17
-2
-48
28
-5
8
0
-26
0
0
1
1
-15
0
25
17
4
0
-3
-1
0
-33
-9
0
-1
0
4
-2
-53
-9
42
16
-39
7
0
24
0
-7
59
-6
-1
-12
-15
-9
9
31
26
-9
-14
1
-5
3
3
4
13
0
-9
0
0
35
-7
-1
0
9
0
0
-30
0
-8
0
-46
0
0
3
-33
5
0
-25
1
0
0
1
-2
0
-67
6
24
0
-4
0
0
-13
0
-14
4
0
19
0
52
0
6
70
-14
-16
12
12
3
-15
-29
-5
-18
0
-10
-2
-33
-32
43
5
0
5
0
20
22
0
4
0
-20
-8
-2
-5
-3
24
0
3
0
-5
0
0
31
0
-52
-7
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
2
-16
0
-6
0
0
0
6
-3
0
-2
0
-41
0
0
-10
0
0
-60
0
0
0
0
-7
6
34
0
-8
0
0
-62
-3
31
25
25
3
-2
-22
14
21
0
3
5
-10
29
-53
0
-10
36
0
7
47
0
-23
22
85
0
20
77
5
0
-1
-10
-12
43
0
64
0
0
0
3
27
0
-42
0
0
0
-25
-36
0
0
-59
0
0
12
-12
10
1
41
15
-61
-4
0
38
40
9
-1
44
0
0
6
-28
-1
6
25
22
0
-22
-25
14
-23
35
0
-7
-46
0
2
-12
66
14
12
-5
-61
0
-2
-25
-1
1
0
-4
0
-19
-4
-16
0
0
-20
0
0
0
0
-23
0
0
-27
23
0
-3
0
0
0
51
-17
-21
0
0
-17
-6
-58
56
94
2
40
-68
45
0
3
14
0
0
-30
-16
22
129
-4
46
-16
-40
0
-19
2
-17
-11
44
28
-7
0
0
-80
6
4
0
21
0
0
-5
-1
36
0
-12
0
-1
2
10
-95
0
-7
0
0
0
-1
-12
0
-6
24
3
0
-11
0
1
36
7
-63
-22
0
0
-8
75
5
3
-48
18
0
-15
-53
9
-36
44
-8
-4
21
0
6
24
-33
1
5
-1
-62
0
-74
-25
-10
0
0
26
0
0
-2
15
2
0
-12
0
-14
0
0
3
0
-69
-13
-1
0
-1
-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
32
4
0
0
0
0
2
2
-8
0
0
0
0
0
0
0
0
26
0
0
17
0
0
-31
0
0
0
3
0
12
-6
0
0
0
0
34
0
0
-2
11
0
0
-54
0
0
1
7
0
-12
41
-3
0
0
15
56
4
59
-38
0
5
48
0
-5
-17
29
0
0
0
12
-15
8
15
0
0
0
0
-5
0
0
0
0
-4
0
-7
0
0
-15
0
0
0
11
1
22
-23
51
49
0
0
24
0
0
-3
22
0
0
45
17
0
15
21
-38
0
20
37
0
0
-2
0
-2
48
-64
0
0
7
-6
8
-2
12
0
0
8
0
0
-13
23
0
-6
-5
1
0
0
89
0
0
0
0
3
0
66
5
40
0
0
0
0
-23
-2
9
0
17
0
0
24
0
1
9
0
0
-16
12
0
-3
1
0
-10
-12
-31
0
1
2
-7
0
1
-85
0
0
-3
0
0
-19
2
0
0
-8
-1
0
0
10
0
-2
5
-2
0
0
0
0
1
8
-16
0
0
15
0
1
0
0
0
0
11
-9
-1
1
0
0
0
-35
0
-29
0
0
0
-2
-19
0
0
0
8
0
0
50
0
-18
3
0
0
0
0
0
2
-4
-8
23
0
24
0
-5
0
1
0
0
29
0
0
-6
2
0
0
64
0
49
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
-6
0
0
-40
0
0
0
-24
0
-2
-51
0
0
0
-5
0
-14
-41
-5
0
0
65
28
2
-6
36
0
0
0
0
10
10
0
0
0
0
25
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
8
0
0
0
0
-4
-17
-22
-1
4
0
0
-7
49
6
0
6
0
0
31
-29
0
42
10
-25
1
-52
-37
0
0
16
0
0
8
-24
0
0
11
-1
0
0
32
0
0
1
0
0
0
-27
0
-32
0
5
20
0
44
0
0
0
0
0
0
7
12
15
0
0
0
0
11
0
0
0
0
0
16
-24
0
0
-4
-8
0
0
37
0
7
8
0
-13
-4
10
0
0
-40
0
0
0
28
0
0
-1
0
1
0
20
0
0
5
86
0
0
11
0
0
4
0
0
0
-44
0
0
0
4
-2
0
44
0
0
0
0
0
0
1
0
0
0
0
0
0
49
-7
29
0
0
0
0
8
0
-3
-1
0
4
-3
50
0
-7
-16
0
0
0
16
0
0
0
5
0
0
-8
0
0
-2
0
0
0
54
0
0
0
9
-2
0
-34
0
7
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-23
0
0
40
0
0
0
0
0
10
-5
0
0
0
0
39
9
3
0
56
0
0
-55
0
0
0
33
-1
54
-85
13
-1
0
-10
62
5
55
16
0
0
0
-2
27
-4
-8
0
0
1
65
31
-1
0
0
0
-7
0
3
0
-3
0
0
0
1
-2
0
0
-5
0
0
0
-7
-5
-2
-24
-40
-20
0
0
33
-41
-2
0
30
0
0
-43
60
0
-59
-20
-25
0
61
-52
0
0
-13
0
0
56
9
0
0
-3
82
0
15
-17
0
0
0
0
0
0
38
0
65
0
-7
0
0
-35
0
0
0
0
-4
0
-32
3
1
0
0
0
0
-5
-10
0
3
0
0
8
-1
6
0
-5
-5
0
10
-11
0
-6
19
0
0
-24
8
0
0
-65
0
-2
-6
-12
0
1
-3
2
1
8
-16
0
0
0
18
0
-6
-16
0
0
0
0
10
0
39
0
9
0
-6
55
0
-38
0
0
0
0
0
0
18
0
0
0
0
0
0
24
0
-15
0
0
0
0
53
0
0
3
0
0
0
9
0
0
0
0
0
-3
-69
0
0
1
0
0
-2
-67
0
-15
0
0
0
0
-35
0
0
1
6
0
0
2
0
-14
0
0
0
0
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
-83
-13
0
0
0
0
43
0
-3
0
0
-1
0
-37
0
0
0
21
0
0
-6
0
0
-14
0
0
0
5
-2
12
-7
0
1
0
8
-1
-5
0
9
-46
0
-4
-30
-8
0
0
55
0
6
-16
-6
0
0
-39
0
-21
26
-32
6
0
-53
0
-46
-62
-5
0
2
-55
0
-76
-27
3
0
0
8
0
16
-8
28
0
0
0
0
14
0
25
-22
0
0
0
-35
0
-45
36
-93
65
0
0
21
-21
-7
0
-11
0
-5
-14
-34
0
-62
-9
0
-6
19
7
2
2
16
0
1
0
-34
0
0
30
0
-15
10
-23
0
0
-1
0
26
-6
-127
0
-70
-17
0
47
-13
9
0
-2
0
0
-44
0
12
3
19
0
0
-1
0
-52
49
6
-3
0
0
-57
-4
-8
14
41
0
0
8
16
0
7
-11
0
44
43
28
2
0
6
0
15
67
5
0
3
38
0
-45
-30
-11
0
0
27
0
-12
6
36
0
0
23
0
30
0
1
0
0
0
0
29
0
7
1
0
0
0
17
7
-28
2
0
-5
0
0
0
50
2
-18
-9
0
0
-2
23
0
25
2
0
60
22
12
0
-40
18
0
6
-2
-24
0
4
-7
0
-18
3
-41
0
58
-55
0
7
0
26
0
0
-78
0
37
0
-4
0
-31
-1
0
14
0
-7
6
0
9
0
9
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-1
5
0
3
0
4
0
0
0
0
29
0
0
0
0
0
28
0
0
-2
0
4
62
-10
0
2
0
0
13
16
0
15
-1
-1
0
42
-7
0
0
-7
0
0
-88
-38
0
4
-62
-36
0
23
-15
-13
0
26
6
0
77
24
0
0
-12
23
-1
35
63
0
18
13
0
0
-5
5
0
0
4
-2
7
0
0
29
0
0
0
27
1
34
6
-44
-38
0
0
82
68
3
0
3
0
0
-16
-22
0
7
5
14
0
-39
-40
0
-5
-10
0
0
-54
-111
0
18
-31
0
0
7
-67
0
1
51
0
0
-2
62
0
19
49
-32
0
0
54
0
0
0
0
0
0
15
15
-41
0
7
0
0
60
-80
0
3
0
0
63
4
8
47
2
13
0
-20
-5
0
21
70
0
0
63
-7
0
3
56
2
0
-3
-19
10
21
28
-1
0
-9
-39
0
0
60
-9
0
9
5
0
0
-10
0
0
0
15
0
0
1
37
0
0
-8
-7
0
0
5
0
0
34
19
0
0
0
0
-7
-9
-8
15
8
0
0
2
9
-3
1
-34
23
0
39
11
0
-9
-5
-1
0
7
-12
0
5
16
7
0
0
15
0
2
-18
0
0
0
-44
9
0
41
44
0
0
2
0
19
0
0
0
0
-10
-8
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
3
0
30
-22
22
0
0
0
-8
0
0
-9
0
0
-13
0
0
-1
-22
0
-9
-9
0
0
0
0
-109
5
-8
0
-17
-72
-22
-31
11
0
0
-68
-1
-22
-121
16
8
0
-58
-17
-7
-99
47
0
0
-38
-7
-15
0
-15
0
0
56
-37
27
0
30
0
0
10
0
7
0
22
0
0
15
-12
2
0
0
-115
0
14
-3
-83
0
-6
20
-6
-38
-2
0
2
-5
0
0
35
0
0
-31
-8
-4
37
23
6
8
3
-5
-1
0
-36
0
23
-12
11
0
1
9
-15
-5
0
-7
0
0
3
0
5
0
2
0
-24
-2
10
-2
0
5
0
0
-8
0
9
0
14
-13
-5
0
2
0
0
-65
-11
0
0
0
0
4
-60
-31
-18
-53
0
5
0
-19
0
-1
-87
0
-6
3
-2
-3
58
15
43
-2
3
-1
0
18
16
-6
-6
7
-1
0
0
28
-45
-39
0
-14
0
0
24
0
5
0
-2
0
0
-4
-78
18
0
-36
0
0
0
40
7
0
-71
6
0
2
-66
5
0
-29
0
64
40
-4
0
0
-37
0
0
1
40
-64
7
-52
0
3
-54
1
0
0
-9
-3
1
35
30
-28
0
-18
0
-22
-25
0
21
0
-8
0
-8
11
-2
-1
0
18
0
66
-16
-8
-31
0
-72
-8
0
0
-7
-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
-7
0
0
0
0
0
0
2
0
-14
0
0
-4
0
0
-134
0
0
0
0
0
8
-19
0
-2
0
0
-23
1
-6
-2
-2
-4
0
-36
24
0
0
-48
0
-7
-12
21
-1
-16
29
105
6
-20
-22
0
0
45
0
7
68
0
0
-1
-3
6
17
-2
1
0
0
0
0
-5
0
5
0
0
0
2
2
0
0
33
0
0
0
-3
0
-13
-40
26
48
0
0
71
-32
4
2
-48
0
0
30
41
0
-18
48
-27
0
-27
-5
0
0
-7
25
-2
-29
-7
0
0
-21
-3
0
2
0
0
4
-13
-1
0
0
-10
0
-3
0
-2
0
0
23
0
0
0
-1
6
0
50
18
34
0
-2
0
1
-25
6
6
1
0
0
4
12
-4
-28
-10
15
25
-1
24
0
17
9
0
0
44
12
3
-65
40
13
-1
0
15
0
1
9
0
0
-5
0
0
0
-28
-33
-1
0
-10
1
0
0
-1
-5
0
-9
0
0
0
15
-11
0
-7
0
0
0
-3
0
0
-29
-14
0
0
0
0
-1
-40
2
21
-1
0
0
0
-92
-2
-4
5
-1
0
-12
18
-4
16
16
0
0
-8
-7
0
3
-20
-14
0
0
0
0
-5
9
0
0
0
-16
0
0
1
27
0
0
-30
0
24
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
4
0
-28
0
2
0
0
-14
0
0
0
2
0
0
44
1
0
0
-5
0
0
-18
4
0
0
0
-6
-2
13
-2
0
0
0
0
-12
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
-4
0
0
0
5
0
30
0
-2
10
0
0
-2
-3
0
0
44
0
0
9
18
0
-2
-2
0
0
-3
-2
0
0
-1
0
0
0
20
0
0
0
0
0
0
-23
0
0
9
0
0
0
5
0
-19
0
-1
0
0
-35
0
0
0
0
0
0
37
0
0
0
0
0
0
-45
1
0
-2
0
0
0
-26
0
0
1
0
0
0
-91
0
0
-7
0
0
0
7
0
0
-3
0
1
0
-7
0
0
0
0
0
0
-10
0
0
2
8
0
0
38
0
0
0
0
0
0
-8
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
2
0
0
0
0
0
1
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
7
19
0
0
0
-8
0
0
0
0
0
0
48
0
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-50
0
0
0
0
0
0
-92
0
0
0
0
41
0
0
0
-50
0
0
-93
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-49
0
8
-1
0
0
-3
3
0
0
2
0
0
0
24
0
-1
-2
0
0
19
-37
0
0
2
0
0
0
9
0
0
-1
0
0
0
-42
0
0
0
0
0
0
3
0
52
0
0
0
0
-13
0
0
0
0
0
0
-76
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-29
0
0
0
0
0
0
118
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
27
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
67
0
0
0
0
0
-26
0
0
0
0
0
0
9
0
0
0
0
16
0
0
0
36
0
0
-75
0
0
0
-1
0
-1
-15
27
0
0
-2
8
0
-5
-3
0
0
-1
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
-67
1
2
0
0
0
-1
0
0
0
1
0
0
-5
5
0
-7
7
0
0
4
-3
0
0
0
0
0
0
39
0
0
2
-1
0
2
-16
0
0
-4
0
17
0
25
0
9
0
0
0
0
20
0
0
0
0
0
0
-12
0
-2
0
0
0
0
-52
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
10
-64
0
0
2
3
0
0
1
0
0
0
-6
8
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-6
0
0
4
0
0
-13
0
0
0
0
0
1
60
0
0
0
0
12
0
0
0
-63
0
8
-53
0
0
0
3
0
-1
-55
0
0
0
38
0
0
-2
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-3
0
0
0
0
0
22
1
0
0
0
0
0
-58
0
0
38
0
0
-4
50
0
41
-18
0
0
-8
-9
0
0
0
0
0
0
-42
0
0
-20
0
0
0
-42
0
0
-2
0
0
0
-7
0
-7
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
102
1
0
0
0
0
0
34
4
0
0
0
0
0
16
0
0
-3
0
0
-2
-73
0
0
-2
0
0
0
48
0
0
-2
0
0
0
-2
0
0
-7
1
0
0
-28
0
0
0
0
0
0
-31
0
0
0
0
-2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
1
0
0
0
0
32
0
0
0
0
0
0
15
0
-4
0
0
0
0
-10
0
0
0
0
0
0
68
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
20
0
0
0
-6
0
0
0
0
21
0
0
0
0
0
-16
0
0
0
0
9
-4
-6
0
5
0
0
34
-4
20
2
12
16
0
10
8
0
0
-55
0
2
-50
-22
0
0
-9
-38
0
-32
39
7
0
60
0
0
28
2
0
0
8
7
0
24
-9
0
0
4
8
6
0
-11
0
0
0
0
4
0
0
-13
0
0
0
0
-2
29
1
-56
85
1
0
-8
26
-2
0
8
0
0
-21
1
0
21
52
41
0
-46
-17
0
0
-44
0
0
28
-19
0
-2
26
16
0
-40
-86
0
0
-10
10
0
-8
31
0
-31
51
1
0
0
67
0
-1
0
0
0
0
-38
-56
-14
0
23
0
2
18
40
0
-2
0
0
30
43
24
1
57
-33
0
-32
20
1
-17
-3
12
0
-21
-31
0
-7
-7
-59
0
140
34
-1
3
0
-4
0
-6
22
0
0
0
33
0
5
13
0
2
52
0
0
1
63
0
-1
-4
45
0
0
-21
-15
0
0
0
0
0
-9
0
0
7
0
0
12
-55
0
-51
8
0
0
0
39
0
0
10
-1
0
12
-12
0
-1
-5
0
0
-2
50
-6
0
83
-64
0
0
-40
1
-50
115
0
0
0
-18
0
0
-58
22
0
0
-26
0
-2
15
-7
0
0
-26
-16
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
2
0
0
0
0
0
0
-67
0
0
0
0
9
0
0
0
-45
0
0
41
0
0
0
0
0
-5
9
67
0
0
57
-3
-4
0
13
0
0
0
0
-8
0
0
0
0
12
-7
2
0
0
0
0
-1
0
7
0
1
0
0
0
-5
-40
0
0
-1
0
0
0
5
0
-75
-2
0
5
0
0
0
-77
0
0
3
0
0
-5
-13
0
-13
-1
-100
0
-1
30
0
0
0
0
0
0
47
0
0
-6
0
0
0
-63
0
0
45
0
0
0
-3
0
14
6
12
0
0
-85
0
0
0
0
0
0
9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-36
0
0
-1
1
0
0
12
0
0
0
0
0
2
-28
0
0
-5
-2
0
-8
-33
0
0
-8
0
0
0
37
0
0
8
0
0
0
-88
0
0
-6
0
5
0
1
0
0
0
0
-3
0
-44
0
0
0
0
-7
0
16
0
0
0
0
0
0
-2
0
0
10
0
0
0
-23
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
0
0
-2
0
0
0
-40
0
-1
0
9
0
0
-21
0
0
0
-2
0
0
-118
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
2
0
0
-26
0
0
-4
0
-4
4
15
0
0
0
0
-67
-3
-1
0
-48
-1
0
-42
0
0
1
-22
0
56
3
-11
7
0
-31
13
-6
38
-12
0
0
-1
0
7
2
-5
0
2
16
4
4
24
0
0
0
13
-7
47
0
34
0
0
0
88
19
0
14
76
0
0
0
-2
2
53
18
16
-43
-4
0
24
52
2
0
36
0
0
33
-10
-4
13
20
27
-2
-50
47
0
-10
-56
-4
0
4
-13
22
1
91
11
-1
1
6
0
0
-31
0
-1
0
0
1
5
0
28
25
0
-13
0
5
0
-2
-4
0
17
9
-8
0
30
13
0
31
-41
0
-8
6
0
-1
11
-3
20
-29
14
0
-3
15
10
17
31
0
-5
18
-7
-2
3
-4
70
0
46
25
0
-10
5
-16
0
-20
-38
0
0
-17
15
-5
0
0
-7
0
-2
-2
-10
0
10
0
0
0
0
-9
0
14
0
0
0
-1
0
0
19
3
5
7
-5
0
0
14
-5
-19
-9
0
0
-10
-61
3
-25
10
-7
0
-2
-43
4
19
-14
0
0
-1
-111
0
23
7
3
0
0
36
0
38
-46
-10
0
0
0
0
-1
4
-1
-6
0
-36
0
-47
0
0
0
0
17
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
15
0
0
0
0
0
0
-45
0
0
0
0
-3
0
0
0
-110
0
0
61
0
0
0
-4
0
0
7
0
0
0
0
-3
3
-5
0
0
0
-2
0
0
-7
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
-37
-2
1
12
0
0
0
38
0
0
-4
0
0
-1
5
0
30
14
0
0
14
37
0
0
0
0
0
3
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
-5
0
0
0
0
-21
0
0
0
0
4
0
11
-7
2
0
0
-2
0
10
13
0
0
0
0
0
-14
0
0
0
0
0
0
-102
0
0
4
0
0
0
6
0
-6
65
0
0
2
-49
0
0
-2
0
0
0
31
0
0
-23
-4
6
0
-70
0
0
0
0
9
0
21
0
0
0
0
0
0
-27
0
0
0
0
17
0
18
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
4
0
0
0
13
0
-8
6
0
0
0
10
0
1
0
0
2
0
38
0
0
0
0
0
0
-27
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-38
0
0
0
0
0
0
-11
0
0
0
0
-8
0
0
0
-8
0
0
-29
0
0
0
-2
0
0
15
6
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
-1
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
-23
0
-3
2
0
0
-1
-54
0
0
0
0
0
10
-9
0
-1
-5
0
0
-1
-6
0
0
-2
0
0
0
-5
0
0
-1
0
0
0
33
0
0
0
0
0
0
24
0
-8
0
0
0
0
-2
0
0
0
0
0
0
-55
-2
0
0
0
0
0
16
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
23
0
0
0
-10
0
0
0
-2
0
0
8
0
0
13
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
-13
0
0
0
25
12
0
0
0
0
0
-3
0
0
0
0
0
0
-46
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
-25
0
0
0
0
0
0
-60
0
0
0
0
-43
0
0
0
-26
0
0
-6
0
0
0
-8
0
-3
-58
-1
0
0
-2
11
-8
-7
5
0
0
0
0
3
0
0
0
0
0
0
36
0
0
0
0
0
0
-7
0
0
0
0
0
47
76
0
0
-9
0
0
0
0
0
-15
0
2
-1
0
0
2
-35
0
0
2
0
0
-47
15
0
-21
-12
-9
0
-11
13
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
9
3
0
-14
0
0
0
0
0
0
-12
-2
0
0
-7
0
0
-89
0
0
0
0
0
0
-31
0
-3
0
-4
0
0
-10
0
0
0
0
2
0
-48
0
0
-1
0
0
0
-97
0
0
-1
0
-2
4
-40
0
0
0
-4
0
0
-11
0
0
0
0
4
0
-9
0
0
0
0
-7
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
-2
0
0
0
0
-60
0
0
0
0
-25
0
-48
0
-12
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
27
0
0
9
0
0
0
0
0
9
3
0
4
0
0
-30
12
0
0
5
0
1
-43
0
0
0
22
0
50
-61
15
0
0
17
0
40
-37
-3
0
0
3
0
25
-3
-3
0
0
7
0
-19
-8
3
0
0
27
0
-47
0
4
0
0
0
0
1
0
0
-16
0
0
0
-1
0
-23
-38
4
78
0
0
-21
7
0
5
27
0
-1
-37
-14
0
20
0
-4
0
-12
-38
0
0
-24
0
13
-7
-106
0
0
-93
0
9
11
27
0
0
-25
0
0
2
-43
0
42
43
0
48
0
20
0
0
0
0
6
0
-35
0
-3
0
0
0
0
4
-16
0
0
0
0
79
13
2
15
59
0
-1
17
-41
0
0
19
0
-1
5
-69
0
0
-30
0
-25
-25
42
0
0
-70
0
32
23
37
0
0
38
0
3
0
-7
0
0
1
0
49
0
-1
0
0
2
0
-2
0
30
2
0
0
0
1
0
38
0
0
0
0
0
0
4
0
31
36
0
0
-1
-6
0
-2
-17
0
-1
0
11
0
0
37
0
0
0
-14
0
0
15
0
0
0
57
0
-7
-29
0
0
0
28
0
0
-11
0
-9
0
23
0
-37
0
0
-5
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
13
0
0
0
0
0
-5
-5
0
0
0
0
50
0
0
0
29
15
0
-35
4
0
0
22
0
0
-30
-29
0
0
-26
-9
0
-47
-16
0
0
-30
0
1
-13
33
0
-4
-13
21
0
4
0
0
0
0
0
0
0
-13
0
0
-1
24
0
0
0
33
0
0
0
0
5
34
30
-2
-21
0
0
9
29
0
0
4
0
0
-39
13
0
83
-1
-46
0
-23
51
0
-1
50
0
0
5
8
0
24
19
20
0
-2
-31
0
0
11
0
0
0
-54
0
19
6
-20
0
0
34
0
0
0
2
0
0
-50
-57
21
0
-22
0
0
8
8
0
0
0
0
1
-33
8
0
40
-9
0
-3
47
0
0
69
0
0
31
5
0
5
9
-22
0
-29
3
0
0
-18
24
0
-16
-97
0
-16
-41
-86
0
0
-82
0
0
-17
0
0
0
10
0
-10
-4
-11
0
0
-7
0
5
0
0
0
0
-44
0
0
0
0
0
0
-68
0
1
27
0
0
2
3
0
18
25
4
0
14
45
0
-5
23
0
0
22
5
0
1
-2
-4
0
0
-31
0
35
-6
0
0
0
-36
0
0
19
0
0
0
-26
0
48
0
0
0
0
-29
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-30
0
0
16
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-13
0
0
0
0
0
0
-22
0
0
8
0
0
0
-1
0
1
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-46
0
0
0
0
-32
0
0
0
-37
0
0
34
0
0
0
-5
0
0
-35
-4
0
0
-5
-4
0
11
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-2
0
0
0
0
0
10
-20
25
-3
0
0
0
40
0
0
2
0
0
-6
56
0
9
-19
2
0
-44
6
0
0
5
0
0
-1
21
0
0
8
0
0
0
-10
0
0
-3
0
0
0
6
0
43
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
-72
0
0
0
0
0
0
13
0
0
-1
28
0
2
43
0
0
3
0
0
-1
-50
0
0
5
0
0
1
9
0
0
51
0
0
0
39
0
0
0
3
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
13
0
-107
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
9
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
14
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
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
-20
0
0
0
0
0
0
-66
0
0
0
0
10
0
0
0
-53
0
0
-18
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
20
0
0
0
0
0
4
-40
0
0
-5
0
0
0
-2
0
0
25
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
82
0
0
0
0
0
0
12
0
0
0
0
0
8
17
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-52
-61
-25
6
7
36
18
-6
-25
-11
4
-51
-20
-15
-54
-39
-6
-40
123
52
-33
-91
-19
-3
16
-5
-19
-6
-2
-2
-20
-14
-21
-21
-8
5
19
-88
-12
-22
48
3
-4
21
-12
-150
-16
36
-62
26
15
-18
34
-9
13
12
8
6
-12
-24
-32
-13
-26
-43
-41
-5
-13
32
-9
-18
-78
15
-50
-39
-101
-46
-22
-23
-26
-13
-20
-158
-14
-10
1
-16
-9
-3
-42
-14
-45
-45
42
-9
1
20
-29
8
-23
-35
42
3
9
83
29
84
-58
47
18
19
-60
43
10
28
-20
-8
101
-19
-51
-14
42
1
3
-35
-10
5
-40
6
-15
-10
-47
-31
4
-1
-30
13
-29
41
-8
-21
-23
82
-20
-31
-17
22
-35
-9
7
-12
-5
-16
74
-22
-38
44
30
6
51
14
-1
-27
-14
-5
-16
9
-38
-12
-9
-42
41
-6
-15
59
10
-34
34
42
-26
22
-11
-33
6
2
-6
-4
-32
-15
13
-52
-4
60
-2
60
-46
-29
-52
0
-36
-24
-36
44
-33
35
-22
11
-18
58
-7
-14
-56
6
8
5
63
19
20
23
6
38
-4
-50
7
-19
-22
-7
58
-15
33
83
-6
48
-19
11
16
-24
-22
-22
-53
12
-40
10
-2
10
41
45
51
-16
34
-55
-18
-57
-58
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-25
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-14
0
0
0
0
0
0
-28
0
0
0
0
0
0
-20
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
50
0
0
0
2
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
8
0
0
0
0
-2
0
0
0
-66
0
0
31
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-53
4
0
0
0
0
6
46
0
0
10
0
0
-1
-4
0
0
7
0
0
0
16
0
0
-6
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-10
0
0
0
0
13
0
0
0
0
0
0
-44
0
-1
0
0
0
0
30
0
0
0
0
0
0
-41
0
0
12
0
0
0
22
0
0
0
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
-40
0
0
0
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
0
0
0
16
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
-5
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
22
-2
0
1
0
0
3
-11
0
0
23
42
0
-1
5
-2
0
-43
5
0
-84
29
0
8
-14
36
0
-19
-20
0
0
-13
4
0
64
17
-2
0
16
40
0
-57
-31
0
0
15
-5
0
0
-4
0
0
0
-5
0
0
1
1
0
5
1
0
-3
11
-8
-70
35
0
0
65
49
-1
8
26
0
0
-2
32
-1
55
26
50
0
-51
-31
0
0
-30
-7
0
32
20
0
-8
-25
0
0
-5
-5
0
10
12
-7
0
16
-57
0
24
-8
39
0
0
13
0
4
0
0
0
0
-9
18
-32
0
53
0
2
10
-4
0
23
0
0
-7
18
-1
31
-12
-81
0
52
29
0
0
62
0
0
49
-25
-5
5
26
53
0
-77
8
0
2
42
12
0
-2
-15
0
-2
-27
-10
0
16
-5
-4
0
-12
0
0
0
-20
-2
0
-8
-36
0
0
-23
7
0
0
17
0
7
29
4
0
2
-23
0
1
13
-6
-10
54
0
0
-5
-4
0
3
26
9
0
11
-9
1
36
-24
2
0
14
-28
0
13
11
15
0
4
16
0
-35
-33
-3
0
-2
-36
5
-2
46
-10
0
0
-46
-2
-23
5
-5
0
0
6
-6
-2
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
-2
0
0
0
-36
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-21
0
0
0
0
0
0
-53
0
0
8
0
0
-1
-2
0
0
-2
0
0
16
12
0
0
0
0
0
0
-1
0
0
0
16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
49
0
0
0
0
0
0
-7
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
5
-97
46
-13
-53
31
-31
10
-10
-11
-15
20
-3
3
39
-99
-4
15
-26
2
-2
-37
30
-34
-35
-38
-9
-9
12
8
32
47
-28
17
-16
-40
-65
-1
-41
-9
-11
21
-49
-22
1
-1
-23
-47
-35
-7
4
-33
0
2
-49
11
57
-69
-11
-4
19
0
-12
-10
33
-11
-79
-58
8
2
3
7
-15
22
-102
13
-19
54
20
-10
10
9
-2
-2
-19
-11
-35
-51
-3
17
-11
59
-13
-15
-20
36
14
-16
11
50
-30
-25
-9
33
-10
-20
7
-59
-6
-10
-6
-15
-19
13
-20
-8
-9
-34
-11
-3
-2
-30
6
-51
80
-12
10
55
-1
-24
-10
10
1
-26
6
61
-22
19
20
-19
-8
-5
37
-43
-3
-17
-5
-40
26
-16
-12
60
-39
5
19
56
-23
-15
0
-13
-7
127
118
-9
-15
-46
-18
1
-13
10
-25
-49
6
-27
0
-48
40
-60
-20
-19
-40
-9
-22
30
-40
-67
19
53
1
14
4
77
0
26
-43
-34
-49
27
-7
108
38
32
8
100
-3
33
-20
10
76
3
63
28
-12
-53
11
-8
1
-21
-21
-19
-36
28
-25
-1
-25
-1
-31
20
19
58
-12
11
-9
-3
-29
0
-30
-7
-19
19
33
19
33
1
-5
-42
19
-47
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-36
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-21
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
125
0
0
-46
0
0
0
0
0
6
-10
1
0
0
-2
0
9
5
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-9
-1
0
-13
0
0
3
1
0
0
2
0
0
37
-31
0
7
2
0
0
9
-39
0
0
3
0
0
0
-61
0
0
5
0
0
1
-10
0
0
-4
0
0
0
0
0
-9
0
0
0
0
-43
0
0
0
0
0
0
52
20
10
0
0
0
0
-15
13
0
0
0
0
0
36
0
0
1
0
0
0
-30
0
0
0
0
0
0
35
0
0
-5
0
0
2
-40
0
0
6
0
-2
2
-61
0
0
-2
0
0
0
-20
0
0
0
0
0
0
90
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
4
0
0
0
0
9
0
0
5
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
73
0
0
5
0
0
0
5
0
0
-2
0
0
0
-51
0
37
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
59
0
0
0
-63
0
0
0
0
0
0
23
0
0
-14
0
0
0
-7
-46
0
32
-6
0
0
0
0
0
1
0
0
0
6
9
0
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
-38
3
-1
0
0
0
1
7
0
0
-34
0
0
-9
-17
0
1
-35
-33
0
36
4
0
0
16
0
0
-3
-13
0
1
-8
-8
0
0
-39
0
0
19
0
0
0
13
0
39
-2
0
0
0
-9
0
0
0
0
0
0
44
8
-2
0
0
0
0
-20
-3
0
0
0
0
0
-14
0
0
-4
-1
0
0
68
0
0
2
0
0
0
-6
0
0
20
0
0
-5
53
0
0
27
0
0
0
33
0
0
0
26
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
-55
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
14
0
6
-2
0
0
0
8
0
0
0
0
0
0
23
0
11
-1
0
0
0
1
0
0
0
1
0
0
-41
0
27
0
0
0
0
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-2
5
-59
0
0
35
3
0
0
13
0
-2
-70
-1
0
0
43
-6
0
-7
0
0
0
0
0
-4
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
-8
-21
0
0
58
0
0
0
6
0
5
-30
-92
-8
0
0
-5
21
-2
2
9
0
0
23
40
0
19
-60
-10
0
74
26
0
0
-68
0
0
0
31
0
0
-1
0
0
0
34
0
0
-3
0
0
0
-92
0
40
0
2
0
0
28
-2
0
0
0
0
0
-31
-2
-12
0
0
0
0
99
12
0
-2
0
0
-4
-19
0
-4
15
-1
0
-1
-65
0
22
-1
0
0
-24
-61
0
-3
-28
0
0
0
1
0
0
12
0
0
0
52
0
0
3
8
0
0
-11
0
-1
0
0
0
0
56
0
0
0
0
0
0
29
0
0
0
0
0
0
-11
0
0
1
0
0
0
-5
0
8
0
0
0
0
62
-8
0
0
0
0
0
-24
0
2
0
0
0
0
5
0
0
0
0
0
0
-1
0
-8
5
0
0
0
87
0
1
0
0
0
0
90
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
25
-14
0
73
-8
30
43
-1
-3
0
85
1
4
20
-2
4
-4
-19
-31
10
-95
-4
7
0
-2
0
-27
3
1
0
0
-22
-26
31
-10
1
0
0
-5
-1
-31
0
3
0
0
0
-2
35
0
0
-64
0
0
0
10
-12
0
-3
62
100
0
0
-39
-30
19
0
8
0
-1
-6
59
0
-51
128
-2
0
13
24
4
2
-57
-2
8
-44
30
0
0
54
6
3
8
-24
0
0
-18
0
-3
0
-61
0
53
-8
2
0
0
7
0
0
0
0
1
0
-9
6
6
0
-4
0
0
0
-42
7
-2
0
0
6
-60
46
-25
-63
13
0
-14
-8
0
8
14
0
0
29
-16
7
-82
-12
49
-14
-9
2
2
40
-14
0
-2
-5
-1
0
0
-119
99
1
0
8
0
1
0
0
-2
0
-44
1
1
0
-39
2
0
-2
13
0
0
0
0
9
0
-14
-1
-6
1
0
0
7
-13
-35
-1
0
0
-2
34
0
-5
-4
0
0
7
-56
-4
23
15
0
-2
2
47
-1
1
19
31
-4
0
17
2
40
28
0
2
0
-38
0
0
4
30
1
0
-53
0
-3
0
0
-2
0
-65
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
91
84
-73
68
43
-2
42
11
-18
136
6
-11
38
41
38
71
30
20
-13
6
23
23
14
-15
45
-39
8
-97
49
-58
13
-23
5
-11
-82
-4
-59
-77
-41
-55
-20
-99
-16
-42
-100
-87
-7
-2
-29
-26
-37
-29
-37
24
-2
76
35
-182
-62
60
43
9
67
13
54
19
0
-35
6
20
-2
-6
33
48
-3
4
8
9
8
12
33
18
9
15
-2
-38
-6
13
10
-17
-74
13
-14
27
-14
59
22
-113
2
-67
-21
2
1
49
29
-1
-42
-53
-93
-21
-3
-12
33
-32
-36
-27
-34
-27
-80
-2
-111
-57
-108
66
16
5
-34
-22
-13
-51
-6
-17
-11
11
67
-2
-11
-48
25
14
-2
32
37
17
-4
26
-63
-17
-4
1
-18
41
44
-29
-7
-43
-1
-15
17
-26
-41
4
-65
-31
-53
11
-28
-20
1
-73
-76
-39
3
-13
-51
10
6
6
-33
-9
28
-76
-26
-17
-23
-50
66
-66
-27
-22
-11
29
-19
25
-48
29
-29
20
21
0
22
0
41
-62
64
-6
47
-42
43
-72
-19
-12
-38
-6
-18
-25
6
0
-65
-14
22
62
-4
-36
-7
-13
-57
-73
26
1
-66
8
30
0
-25
-22
-12
-34
-35
-14
17
-47
-31
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
0
0
71
0
0
0
-9
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
3
-24
3
0
0
6
-29
-8
0
2
0
0
21
-6
0
3
1
0
0
-12
-15
0
0
8
0
0
0
-6
0
0
7
0
0
0
-9
0
0
0
0
0
0
7
0
4
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-2
0
0
0
19
0
-4
4
5
0
6
19
0
0
0
0
0
17
10
0
0
-7
0
0
0
29
0
0
0
0
0
0
56
0
0
0
0
0
0
-7
0
0
0
0
8
0
27
0
0
0
4
4
0
-3
0
0
0
0
0
0
2
23
0
0
0
0
0
-1
0
10
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
-13
0
-9
0
0
-62
3
-5
0
52
0
-1
9
-1
0
0
17
0
2
0
0
0
-2
0
0
-1
-1
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
-1
0
0
0
-4
-43
0
0
100
0
0
0
-4
0
25
-11
-24
62
0
0
-10
-12
1
2
-16
0
0
-34
18
0
3
55
7
0
-22
78
0
-5
73
0
0
-7
15
0
0
6
-1
0
0
-1
0
0
7
0
0
0
-12
0
46
0
10
0
0
33
0
0
0
0
-1
0
24
2
8
0
0
0
-1
65
-10
0
0
0
0
8
-76
-4
0
30
0
2
0
-41
0
0
-9
0
0
3
32
-7
0
-16
0
-7
0
-37
0
0
-6
-2
0
0
1
0
0
-12
2
0
0
102
0
0
-4
0
18
0
23
0
0
0
-3
1
0
-40
0
0
0
0
0
-3
-15
3
0
2
0
0
2
6
0
52
0
0
0
0
-6
0
0
0
0
0
0
-58
-1
-5
0
0
0
0
-30
0
0
-7
4
0
0
-31
0
-41
-1
0
0
0
5
0
0
1
0
0
0
-29
0
-7
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
0
0
4
0
0
0
6
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-29
35
3
0
0
0
-5
39
0
0
0
0
0
2
22
0
9
-22
0
0
-5
-8
0
0
2
0
0
4
-19
0
0
0
0
0
0
-28
0
0
-10
0
0
0
-31
0
-4
0
-4
0
0
-78
0
0
0
0
0
0
38
0
0
0
0
0
0
-36
21
0
8
0
0
6
55
0
-1
0
0
0
1
-16
0
0
4
0
0
-2
87
0
0
0
0
0
0
-42
0
0
0
0
0
0
98
0
0
0
5
0
0
-70
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
-62
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
-4
0
0
0
0
41
0
0
0
13
0
0
-21
0
3
0
0
0
0
-6
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
5
70
-44
87
9
-1
13
-20
35
-17
-38
-29
-43
15
-30
-3
12
-44
-28
14
38
-43
-8
-7
-28
22
-16
21
7
-5
-41
-69
18
-27
0
-52
10
-1
-12
-3
-29
0
2
37
0
-1
-37
-52
10
24
-15
-14
-7
30
1
135
47
-56
70
102
-29
12
48
17
31
39
-6
20
30
-9
-6
-4
94
20
-12
19
-63
-57
17
54
17
-34
-25
-53
-31
-24
-6
18
10
-19
-2
-24
1
-14
-40
66
-57
4
-15
-14
0
62
6
-2
0
22
11
7
-1
85
37
12
51
-9
48
60
3
11
30
33
46
17
69
35
-23
-21
-5
26
17
48
5
91
-49
-14
1
-24
59
20
-24
49
-27
16
-67
39
89
49
-11
-8
42
17
24
34
1
-23
-16
-1
17
-49
-16
-20
10
30
30
8
86
84
7
0
6
-8
7
0
-1
15
51
67
38
20
-53
-20
-4
-49
16
-2
-11
-7
63
4
-57
-26
-16
55
29
-36
71
154
15
-81
30
108
51
57
17
-23
40
92
67
11
55
9
5
-71
47
-1
-23
-2
-18
-4
-14
22
-24
7
0
5
1
-1
-78
0
0
66
-3
45
-42
6
3
-64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
41
0
-8
0
-15
0
0
4
-30
8
23
9
2
0
-3
0
36
17
-1
0
0
-5
0
-14
2
-6
0
-2
0
0
-48
0
0
0
0
0
-11
-13
0
0
45
0
0
0
4
7
17
0
1
6
0
0
-34
0
-2
0
19
0
0
-10
31
0
-18
68
2
0
-61
-67
0
1
-50
2
0
-15
-51
0
0
3
8
0
-3
-40
0
0
-8
0
0
-4
-15
0
23
-2
36
0
-5
-29
0
0
0
0
0
0
-2
10
-2
0
0
0
0
59
7
0
5
0
0
2
0
-8
-5
21
-12
0
-6
34
0
0
-4
-5
0
6
4
0
0
-36
0
0
11
-98
0
0
-69
5
-3
-3
-13
0
8
23
-34
0
0
-20
0
0
8
0
-12
0
140
0
0
0
0
36
0
31
0
0
0
0
0
0
-4
-1
-2
-4
0
0
0
0
3
87
-2
0
0
0
10
0
-3
-7
0
0
0
19
0
0
-2
0
0
-2
-60
0
0
0
-17
0
0
29
3
83
25
0
0
0
-12
0
0
-9
-10
0
0
30
0
-29
0
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
0
0
16
0
17
23
12
0
-1
3
5
0
30
12
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
23
0
0
0
0
-5
0
0
17
0
0
0
0
13
42
4
-41
9
0
0
-68
-20
0
-1
-22
0
0
69
-82
0
-18
-16
0
0
-32
37
0
0
63
0
0
4
-2
0
0
32
1
0
0
-45
0
0
-1
0
0
0
34
0
-39
-9
0
0
0
-34
0
0
0
0
-2
0
25
0
0
0
0
0
0
45
21
0
2
0
0
-8
-15
0
4
-3
7
0
-8
19
0
0
-1
0
0
3
-40
0
-5
-14
0
0
0
-16
0
0
4
0
4
0
20
0
0
6
5
0
0
7
0
0
0
0
-4
0
16
0
0
0
0
-7
0
52
0
0
0
0
0
0
71
-8
0
0
0
0
0
81
0
-26
0
0
0
0
29
0
-1
8
0
0
8
-10
0
-3
0
0
0
-1
69
0
29
12
0
0
-2
-15
0
-7
0
1
0
0
-26
0
0
0
16
0
0
47
0
1
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
-4
0
5
89
-29
0
0
2
-6
25
23
-3
0
0
17
0
19
-3
-13
0
0
0
-7
-1
0
5
0
0
0
0
4
0
0
0
0
0
0
-68
0
0
13
0
0
0
1
0
84
-24
29
70
0
0
-8
103
0
0
-6
0
0
-22
2
0
-14
-40
0
0
92
-30
0
4
-5
0
0
0
8
0
0
25
-2
0
0
-73
0
0
22
0
0
0
-76
0
20
0
15
0
0
84
0
0
0
0
0
0
7
-2
2
0
0
0
0
-12
1
0
2
0
0
1
75
0
3
-8
2
0
0
109
0
0
0
0
0
5
-26
0
0
1
0
0
0
-16
0
0
-7
0
0
0
26
0
0
-10
-5
0
0
-48
0
0
0
0
0
0
26
0
0
0
-4
-6
0
-6
0
0
0
0
0
0
-1
3
0
0
0
0
0
4
0
3
0
0
0
0
-29
-1
2
-1
0
0
6
13
0
0
0
0
0
0
-25
0
0
0
-9
0
0
-4
0
-4
0
0
0
0
-61
0
0
2
16
0
0
-119
0
-14
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
34
-25
16
58
69
10
-9
3
-13
-54
50
-9
-11
-6
-14
40
-69
-35
11
-3
14
-42
-47
-15
-18
-14
-14
-39
1
-23
-30
2
31
-20
-14
44
-33
-17
-44
11
-40
-17
-3
-7
-27
-6
-74
-48
90
49
75
-17
11
-13
-34
15
96
-7
-22
101
-19
48
57
21
72
7
-15
5
-21
28
-29
21
24
12
42
66
0
-25
1
45
-10
42
33
16
-15
48
-116
-41
-37
-19
-13
-29
-34
-4
7
-14
-53
-28
-16
-33
54
-21
-29
9
-18
5
4
8
7
-18
-15
-29
38
49
-61
-19
-107
-70
14
37
47
5
61
6
38
8
3
-4
77
7
32
42
64
-11
12
5
18
30
25
10
-15
21
72
8
-20
54
-67
1
-79
-33
-17
45
-8
-18
-7
72
-45
-30
46
7
-32
-17
-55
-31
-60
25
-3
-41
30
-71
-74
-47
58
-22
95
34
33
66
-55
-54
55
48
1
41
-3
40
-82
17
50
-14
63
21
-27
-50
38
61
27
-54
-34
75
41
7
71
22
-48
43
-10
16
-14
-29
-5
46
29
-23
-16
0
-23
2
13
8
-23
6
7
-49
-13
11
17
61
-10
-29
-36
43
-1
-1
-35
75
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
126
0
1
-44
3
0
0
-31
0
54
-30
-16
0
0
5
0
25
8
-4
0
0
17
0
20
0
-4
0
0
-3
0
-10
0
1
0
0
0
0
17
0
0
0
0
0
0
56
0
3
-37
-9
38
0
0
84
61
-1
-9
-12
0
0
-85
49
0
64
-2
0
0
-14
-79
0
-3
14
0
0
25
-46
0
0
14
0
2
0
-1
0
0
-8
0
0
0
-9
0
10
5
0
1
0
-13
0
0
0
0
-1
0
39
5
-16
0
0
0
0
-47
3
7
-9
0
-1
6
45
0
-9
90
29
-3
-4
-59
0
-1
4
0
-7
34
-66
0
-1
-40
0
16
41
-22
0
0
19
0
-1
-8
41
0
0
-7
2
0
8
-50
0
0
-4
0
-8
0
-4
0
0
0
0
-18
0
-39
0
0
0
0
-1
0
9
-13
0
0
0
0
2
12
-6
-25
0
0
0
5
-9
0
-8
3
0
2
-5
31
0
4
-21
0
-8
-8
0
0
-2
86
8
-2
-6
33
0
-28
-8
0
0
0
-23
0
0
-17
0
5
0
-32
0
-23
0
0
-3
0
39
-8
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
28
6
0
-37
0
0
0
-4
0
0
21
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
-1
0
0
7
0
0
0
0
0
-1
71
8
14
0
0
12
19
0
0
17
0
0
7
36
0
-40
46
-12
0
-65
-2
0
5
12
0
0
-1
-56
0
0
-21
-2
0
19
-10
0
0
2
0
0
0
-34
0
-27
-5
31
0
0
-43
0
0
0
0
0
0
16
39
0
0
0
0
0
30
1
0
4
0
0
6
34
0
2
26
0
0
43
22
0
4
34
0
0
-13
-13
0
0
-11
-6
0
-13
-53
0
0
27
-3
0
18
0
0
0
-15
17
0
1
-18
0
0
1
0
0
0
8
0
0
0
0
0
0
35
0
0
0
0
0
0
-13
3
0
0
0
0
3
24
0
-19
4
0
0
-5
-5
0
-8
0
0
0
0
-2
0
22
13
0
0
0
24
0
0
-2
-5
0
0
22
0
9
20
1
0
0
38
0
0
0
-3
0
0
31
0
18
0
0
0
0
22
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
41
16
29
30
6
33
-48
1
-28
-21
-85
-104
-32
-29
-55
-25
-51
-42
-46
-22
-20
-30
1
51
-71
-11
-19
-44
-17
38
-28
-11
-38
-20
-17
-49
3
-17
-39
-84
-25
-16
53
4
52
58
-45
6
75
7
-28
-29
55
2
28
32
25
-30
27
35
-8
96
28
38
38
-56
17
-2
20
4
-16
-65
-80
-20
-26
-45
-41
-5
44
-19
-14
-36
-1
-31
-29
-69
2
-63
-32
31
-46
-14
-59
-18
-98
-78
-36
3
-8
-8
21
-30
26
-21
-3
56
55
-5
-29
-77
-32
11
41
-42
5
35
25
55
-19
15
56
70
63
-21
31
11
17
-12
-41
3
22
54
36
-7
-37
35
16
-33
18
-9
-5
-38
-61
-12
-15
40
17
-3
-17
14
-17
-21
5
-46
-3
-35
-7
-22
-24
6
-17
-1
-72
57
-30
-1
-17
28
30
-2
86
29
76
-27
102
36
90
53
20
11
-53
26
11
-46
2
25
1
-93
67
-13
-18
-4
6
36
82
-3
-20
45
32
43
24
8
22
18
38
39
8
-14
-10
22
-8
51
-59
-9
2
25
49
12
-26
-16
-3
-7
1
14
26
72
-124
88
-19
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
63
0
0
66
63
-6
14
-5
0
0
57
-8
-6
7
-7
0
0
0
-24
-8
1
6
0
0
0
0
-21
2
-15
0
0
0
67
-35
0
0
2
0
0
0
13
3
21
7
25
26
0
0
25
54
0
0
-23
0
0
-58
0
8
-75
20
5
2
-3
19
0
-3
-52
0
0
-35
-59
0
-1
-60
7
0
5
-16
0
0
-19
0
-1
-1
-91
0
-56
0
-5
0
24
22
0
0
0
-1
1
0
35
-1
20
0
0
0
0
57
63
5
6
0
0
57
-62
-4
-6
-14
-15
0
5
0
2
2
-47
0
1
-10
4
1
-9
-14
-1
-3
1
10
2
0
-1
-1
-6
-4
-97
0
0
2
-7
-19
0
-3
0
0
0
0
6
0
46
0
0
0
-3
9
0
41
0
0
0
0
0
0
29
5
0
0
0
0
4
28
0
31
-2
0
0
12
0
0
-4
27
-1
0
15
4
5
5
10
1
0
-13
51
0
4
-4
-33
0
0
16
0
65
0
-3
0
0
-3
0
0
0
14
0
0
23
0
39
0
0
0
0
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
12
0
3
1
29
0
-19
-4
0
0
5
0
9
4
15
0
0
12
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
-2
0
0
0
0
0
-12
2
51
-2
0
0
4
68
0
0
26
0
0
-21
-21
0
-62
66
-12
0
20
-33
0
0
-1
0
0
-8
3
0
0
-14
0
0
0
-5
0
0
3
0
0
0
48
0
-29
5
0
0
0
26
0
0
0
0
3
0
1
16
5
0
0
0
0
5
-12
0
0
0
0
-20
19
0
0
31
0
0
0
-84
0
0
-6
0
1
29
-30
0
5
-67
-1
0
-2
-31
0
0
-10
0
-29
9
78
0
0
-3
-1
0
0
-39
0
0
0
0
0
0
28
0
0
0
0
0
0
69
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-4
-8
0
0
0
94
0
1
0
0
0
3
-36
0
5
0
0
0
-3
16
0
0
0
-1
0
0
-2
0
5
0
0
0
0
48
0
25
0
0
0
0
-23
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
38
0
2
0
-1
0
10
-4
0
0
0
0
0
0
15
0
0
6
0
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
92
-28
0
0
-18
0
0
15
-4
0
11
14
-3
0
-13
-68
0
0
-12
0
0
2
16
0
0
-5
0
0
0
-1
0
0
0
0
8
0
15
0
9
0
0
0
0
21
0
0
0
0
-1
0
-50
10
0
0
0
0
0
27
2
0
0
0
0
3
-16
0
0
2
0
0
2
12
0
0
0
0
0
0
46
0
-16
-1
3
0
2
-55
0
0
0
0
0
0
-6
0
0
0
0
0
0
-46
0
0
0
0
0
0
133
0
0
0
0
0
0
69
0
0
0
0
0
0
6
1
0
0
0
0
0
-1
0
9
3
0
0
0
-16
0
0
0
0
0
-6
9
0
1
0
0
0
0
1
0
0
0
0
0
-2
11
0
1
9
3
0
0
19
0
0
0
6
0
0
-8
0
-2
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
92
-32
-17
53
-11
55
-33
12
4
9
-20
-1
-61
-27
33
-2
8
-43
-10
-22
-22
13
-1
5
-31
-5
-42
-5
-6
0
-1
0
-20
-42
0
0
19
0
0
18
9
-1
41
0
24
49
4
0
67
-40
-5
0
25
-9
13
38
53
22
13
39
-27
21
48
31
52
46
57
-34
11
16
0
-16
-1
-38
1
-28
-50
-4
0
-2
-36
4
38
63
-34
-1
-25
12
-25
-1
0
-16
-1
-3
4
1
-19
-1
-32
-52
45
0
-20
-8
6
75
-9
59
51
-8
-2
67
46
29
4
0
28
27
128
44
-8
31
5
38
12
14
9
-70
-26
2
15
40
21
6
-22
84
8
-19
20
73
-29
-18
-25
-45
-6
-47
-50
-8
0
-1
1
-6
29
2
-38
-1
10
25
-78
-27
0
-5
-53
0
0
4
-33
1
42
90
6
6
-5
0
10
27
3
12
-41
5
8
-83
32
-4
112
31
-14
0
8
42
-2
13
-5
-8
28
83
-22
21
-19
33
-34
-16
5
-13
5
-16
11
-49
-5
-29
-8
0
-2
3
-47
-2
0
-26
0
-44
4
-11
55
0
14
-28
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
0
0
34
0
-7
28
-12
0
0
0
0
0
0
-4
0
0
1
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
-22
0
0
0
0
0
7
-1
0
-9
0
0
18
-24
0
0
43
0
0
-31
2
0
-27
-12
0
0
10
-50
0
0
3
0
0
-12
-65
0
0
-6
0
0
0
-68
0
0
8
0
0
0
-22
0
-58
0
0
0
0
-58
0
0
0
0
0
0
13
-7
13
0
0
0
0
-1
0
0
0
0
0
-2
9
3
-1
64
1
0
0
36
0
0
-1
0
0
8
-34
0
0
-7
3
5
6
10
0
0
10
0
0
0
10
0
0
42
-1
0
0
76
0
0
0
0
2
0
52
0
0
0
0
1
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
-36
0
0
4
0
0
0
-21
0
0
0
0
0
-1
-28
0
-1
-2
0
0
0
-24
0
0
2
0
0
0
-10
0
16
-6
0
0
0
0
0
0
6
0
0
0
25
0
4
0
0
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
3
59
-50
0
61
46
29
0
13
0
0
38
8
0
0
-14
-9
0
36
26
0
0
-5
2
0
5
16
0
0
0
-26
0
0
0
15
0
0
0
0
13
12
0
34
95
-8
0
-9
-21
-4
1
-12
0
0
-39
-34
12
1
0
-70
0
81
-21
0
24
-14
0
0
38
-3
5
-3
3
6
0
61
-40
0
0
40
0
0
-25
-45
0
-17
-57
4
0
0
-4
0
0
-6
0
0
0
26
-41
2
0
15
0
0
8
58
0
54
0
0
64
-25
28
23
12
-26
0
24
-13
-13
-6
-59
0
0
175
-17
-5
52
52
-31
0
54
14
0
9
-1
-16
0
-39
11
8
0
19
6
0
17
1
0
0
20
0
0
0
23
0
-6
6
-17
0
0
-3
0
0
0
0
0
0
-2
3
0
0
30
0
36
-145
17
138
0
-4
0
-17
42
0
-14
-10
24
0
-9
2
-1
35
62
0
0
54
6
0
-31
45
-97
0
49
-17
0
-83
-10
6
0
8
-38
0
0
19
25
0
0
18
0
-38
1
0
0
0
59
46
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-140
35
43
31
-21
-15
8
-134
-44
44
-7
-55
-61
14
-85
50
9
31
-4
-46
19
-3
-12
27
-1
-9
-31
-12
-5
-20
-27
0
-3
39
13
-24
32
43
-42
43
1
25
19
47
51
14
57
-22
-9
-24
57
116
60
31
11
26
-72
25
-54
-35
41
-73
28
27
-1
83
-55
-11
-13
-27
-125
-40
-1
24
-2
18
-30
28
25
36
-6
-9
-11
49
65
-9
-1
-6
11
17
-51
5
2
-13
30
8
36
84
-5
33
15
26
36
37
-59
-53
46
42
-65
20
-25
7
-47
31
-46
-114
52
-13
18
-87
8
63
4
17
7
-21
-69
-8
0
-38
33
61
-5
34
-11
2
35
18
3
-8
-22
-5
-8
5
30
-34
30
16
21
-2
-9
-83
-25
13
0
-14
23
-3
0
-60
11
0
-3
-20
17
6
-44
-1
24
-33
-31
-33
60
3
17
-99
25
-40
10
39
-17
-3
9
5
-68
-10
-16
-61
36
27
3
-20
17
2
51
1
-42
2
-24
12
46
-26
9
15
3
-33
118
40
13
20
-3
15
0
-14
29
45
17
-2
14
-27
-9
-2
-20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-96
25
-3
-3
0
24
4
5
-1
-2
6
4
-65
67
5
0
-1
-3
-1
54
0
12
0
0
29
-8
7
0
0
-24
0
0
-1
-20
31
76
42
54
13
15
-16
-33
-7
-10
0
-31
1
-4
-18
39
2
24
45
-21
-32
5
0
49
-86
-3
-5
-13
-6
-43
2
-3
-17
-47
-1
-22
-33
0
-1
-16
0
33
0
-3
0
16
-2
-91
-52
0
2
0
-1
-1
0
-57
0
-1
35
54
0
9
0
0
43
-6
-5
24
-1
0
-40
-5
74
-9
77
-12
8
-75
14
-4
14
40
2
-17
83
0
16
-7
78
136
36
30
-9
-2
-29
-98
-4
2
4
-8
0
-3
6
53
-89
8
6
0
-1
37
-2
-16
0
-46
0
1
0
23
-6
0
-17
-1
0
0
0
-1
0
68
-53
-8
-16
9
3
57
-1
-13
42
65
0
0
-9
-4
12
-55
-29
-15
1
-30
0
8
54
-25
3
0
-30
-78
0
0
-65
-30
24
-6
-6
0
-13
-15
-15
36
0
-9
0
-1
-5
-7
-3
0
-34
0
4
0
0
46
0
-50
3
-1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
20
0
0
24
0
0
0
-6
0
0
0
0
0
0
0
0
0
17
0
0
0
-8
0
0
0
0
10
0
0
-11
0
0
0
0
0
-15
-45
-2
-25
0
0
-5
30
0
0
9
0
0
-11
18
0
28
74
-6
0
101
-5
0
0
-24
0
-1
-17
-52
0
0
3
0
0
0
18
0
0
-13
0
5
0
-3
0
21
1
-3
0
0
57
0
0
0
0
0
0
-40
0
0
0
0
0
0
7
-2
0
0
0
0
0
9
0
-2
-9
2
0
0
9
0
0
0
0
0
5
-58
0
-2
-47
0
0
12
-33
0
0
6
0
0
0
2
0
0
13
0
0
0
23
0
0
0
0
8
0
90
0
0
0
0
6
0
-44
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-3
0
8
0
0
0
0
-4
0
0
0
0
0
0
32
0
9
0
0
0
0
28
0
0
0
0
0
0
-52
0
2
0
0
0
0
-1
0
0
0
15
0
0
-53
0
-1
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
5
8
0
0
0
5
1
0
0
0
2
0
8
0
0
0
0
-1
0
3
0
0
0
0
-6
0
0
24
0
0
0
0
0
8
8
-1
-2
0
0
-29
76
-1
0
-49
0
0
-66
-10
0
46
60
9
0
-40
15
0
0
-6
0
0
6
-27
0
0
-6
12
8
0
-22
0
0
-1
0
0
2
38
0
-5
0
-1
0
0
-7
0
0
0
0
2
0
-69
-1
0
0
0
0
0
47
0
0
0
0
0
3
-44
3
0
-16
3
0
2
-10
0
0
5
0
0
25
-14
0
3
21
2
0
0
-68
0
13
47
0
-4
0
81
0
0
0
0
0
0
33
0
0
0
0
22
0
8
0
0
0
0
0
0
-58
0
0
0
0
3
0
21
3
0
0
0
0
0
13
1
0
0
0
0
0
63
0
0
0
0
0
-10
-10
0
-1
0
0
0
0
7
0
0
0
0
0
0
35
0
0
0
0
0
0
-33
0
0
0
0
0
0
26
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-21
-16
7
8
19
-2
-69
53
-2
-1
-3
-21
11
2
27
0
-2
0
-1
11
-3
19
0
0
5
-48
-31
-1
-2
-52
0
0
27
77
-3
38
-34
-43
137
-51
2
-38
13
2
-4
0
0
-9
-17
37
110
-97
32
-48
21
24
3
1
7
11
-2
18
88
36
0
14
27
9
54
9
-12
-2
17
9
-3
69
-6
-2
-2
-26
6
-12
-9
-1
-11
0
-3
-1
-1
-60
0
23
35
-75
0
-35
8
11
43
-20
25
-76
4
4
16
43
71
-52
83
-34
-2
38
8
65
19
17
0
-78
64
28
-42
-15
56
13
-82
14
-10
53
37
-150
-33
32
-2
9
9
-7
0
73
8
48
-12
2
-6
-3
-9
63
0
-44
0
-1
0
-36
28
0
35
22
-2
0
54
24
-2
4
38
-16
-17
-7
1
-39
-11
3
1
56
-3
41
-31
-1
21
43
13
3
-27
-25
17
25
13
-48
12
25
-52
23
14
49
50
31
28
-59
21
0
-78
52
31
-12
-15
-40
-7
2
7
-23
16
-4
-15
0
-20
34
13
43
0
-5
-35
-2
-1
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-66
-10
-6
53
0
4
-10
-11
0
-8
5
0
50
4
-6
0
6
5
0
39
-4
-65
0
0
5
0
4
0
-27
-21
0
-1
0
2
17
13
-3
-11
-43
0
0
1
-12
6
-8
-12
0
4
-25
29
24
-65
-6
0
-7
0
13
0
-12
30
0
1
28
-122
-2
-5
18
0
-2
28
-9
0
13
22
0
-23
7
6
0
23
26
0
-36
-12
-26
-14
1
-4
0
6
0
-1
-51
-31
0
0
4
0
2
14
9
-6
0
0
-25
15
44
-1
21
-4
25
51
38
0
-7
59
0
-26
46
7
-1
20
16
0
-9
8
19
0
6
32
-6
-27
15
-28
-8
-8
75
0
15
48
-8
0
8
16
0
-18
16
13
-1
8
64
0
18
0
3
2
0
0
0
-19
0
15
-30
13
2
0
0
7
62
36
-5
36
0
-14
13
52
-1
-7
4
0
-3
-10
2
13
36
-33
0
15
9
38
-13
66
41
-3
-53
69
40
0
-3
100
0
51
-7
3
0
30
89
5
29
0
-13
0
17
8
0
7
0
27
-45
-4
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
0
0
-9
0
0
-48
72
0
0
20
-107
0
10
-6
0
0
22
4
0
0
-14
0
0
0
28
0
0
-4
20
0
0
0
0
-2
29
6
-30
2
1
0
21
21
0
0
12
0
0
53
33
-5
23
-26
-14
0
-4
-123
6
-2
-9
0
0
-12
5
0
6
11
-10
0
67
6
0
0
45
1
0
25
12
0
-15
-16
-4
0
0
6
0
1
2
0
0
0
74
-5
18
0
0
0
-8
-27
74
0
23
0
0
-16
39
20
48
7
6
0
81
11
0
-15
66
0
0
-13
-60
0
0
18
8
0
61
19
0
-8
61
4
0
15
-2
0
0
23
-5
0
1
26
0
0
22
0
0
-1
9
0
0
5
-17
0
0
25
28
0
0
0
0
0
14
18
5
4
0
0
21
-2
3
83
12
0
0
65
41
0
12
37
-7
0
-48
2
3
62
21
0
0
54
-7
0
-13
69
35
0
-10
-10
-7
117
24
10
0
-2
-55
0
4
13
57
0
-1
15
0
20
3
0
0
0
45
-53
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
66
0
0
28
2
-3
47
36
0
0
7
-7
-22
0
-29
0
0
4
-14
2
0
0
-21
0
-1
37
-35
7
9
35
12
-44
-2
1
12
28
0
7
35
-19
-6
-53
19
-28
22
8
9
3
-117
-24
-16
-10
13
74
-65
2
16
0
5
10
-35
0
11
-22
4
7
15
23
-68
0
22
0
25
43
-15
5
0
-16
0
0
-6
0
-45
0
14
41
26
0
-43
-1
4
9
-39
9
43
-1
0
11
29
-13
49
28
-7
10
-31
2
6
-16
42
12
12
52
31
-16
11
15
56
52
9
-9
-7
45
14
-2
22
-4
-4
-3
7
7
-7
-54
0
-1
0
10
49
-9
-4
-3
22
2
0
4
-56
-31
0
-9
23
2
0
4
-38
-8
1
-57
0
-15
-47
-5
-13
-103
-14
68
-18
-8
-18
5
15
-2
52
-74
-37
-8
4
-4
10
23
11
-8
103
-3
0
8
16
-11
-28
14
2
-22
0
51
-1
-7
5
0
12
0
2
37
-87
27
0
11
1
24
34
1
-60
0
-14
8
-2
0
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
18
4
12
4
53
-19
49
-3
0
0
61
0
12
1
-32
0
0
1
21
12
0
0
20
0
0
0
64
12
-36
-32
-2
49
-3
0
75
8
-6
0
-4
0
8
-19
2
30
-17
-18
-27
4
22
-10
-10
89
15
8
59
38
0
16
7
13
68
-20
-28
-26
0
-8
16
0
16
-7
-32
0
-26
23
-38
43
0
10
0
-1
0
-4
-42
0
1
23
35
0
-8
0
0
-69
58
-4
-57
9
0
-48
15
50
2
7
5
-6
44
38
0
-75
1
2
-3
89
5
96
-50
-67
20
-51
-10
0
3
-5
-7
-12
-44
-11
10
0
30
58
27
-5
4
-17
0
-1
-2
0
-75
-7
-14
0
-3
-1
-33
-31
0
-55
-4
-1
0
0
1
0
-18
0
-10
1
1
-1
-10
-12
-6
17
-49
-2
0
-12
56
-10
-40
105
2
1
-50
65
-18
47
-67
5
2
-6
0
2
-44
-18
-68
25
32
10
0
-53
3
24
1
0
12
0
-1
-22
-21
-26
4
-8
0
-14
-4
0
-1
0
-10
-6
-1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-5
0
0
0
0
0
88
30
-12
3
0
0
-7
51
0
0
-35
0
0
31
-58
0
-5
13
0
0
-14
-76
0
0
45
-2
0
5
2
0
0
51
0
2
0
-22
0
0
-1
0
0
0
-50
0
-4
-8
-1
0
0
-47
0
0
0
0
0
0
4
0
8
0
0
0
0
-1
1
0
0
0
0
2
-42
-16
-1
-12
-2
0
-12
-23
0
8
14
0
-3
-4
-43
0
7
7
-14
0
0
-51
0
0
-25
0
10
2
-47
0
0
-7
1
-3
0
57
0
0
0
0
0
0
-23
0
0
0
1
0
0
-3
1
0
0
0
1
0
-6
0
0
0
0
0
0
-8
0
1
12
0
0
0
7
0
0
-1
0
0
-9
-22
0
6
-1
0
0
-4
-27
0
-12
0
20
0
0
-32
0
-2
0
0
0
0
-22
0
0
0
6
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
4
0
0
0
0
0
-53
3
-2
8
0
0
-4
53
0
0
5
0
0
1
-10
0
4
43
9
0
-15
-9
0
0
14
0
0
-2
56
0
0
1
8
0
0
0
0
0
0
0
0
0
-17
0
1
0
-1
0
0
-6
0
0
0
0
0
0
-35
6
0
0
0
0
0
-79
0
0
0
0
0
-6
11
-3
0
-10
4
0
0
-31
0
0
0
0
0
0
88
0
0
-10
10
0
0
85
0
0
0
0
0
0
40
0
0
-2
2
0
0
-34
0
0
0
0
-8
0
34
0
0
0
0
0
0
28
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
7
2
0
0
-5
0
0
0
-1
0
0
-33
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
23
0
1
0
31
-43
50
20
0
0
4
-1
-13
8
33
0
0
0
5
52
0
0
60
0
0
0
37
-3
24
35
-7
-1
-1
0
-78
35
0
0
-7
0
10
-56
17
0
-21
45
3
4
5
-27
-2
5
24
0
-1
77
23
0
-1
24
-13
7
70
-66
0
0
-8
6
-11
6
11
0
-47
0
-12
5
0
23
1
0
0
0
-25
0
62
34
51
0
50
0
0
0
-16
-3
0
0
0
58
13
23
-18
13
24
-8
-26
8
0
22
119
0
29
11
-37
-7
36
1
56
7
37
10
-3
0
-2
-3
6
9
0
0
0
0
-39
22
9
26
0
0
1
-1
5
0
34
0
0
0
29
24
0
23
8
0
0
0
8
2
14
-3
0
-2
0
0
-1
-14
-1
-41
0
0
-1
12
-47
0
17
-15
6
0
-3
-27
0
-28
-5
0
1
-1
-66
0
-1
0
-65
-3
-6
26
0
-9
10
-1
-17
0
1
-13
0
0
53
-7
0
-10
0
55
0
-4
-6
0
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
46
0
0
-7
0
0
0
0
0
-6
-2
0
1
0
0
-9
2
0
0
-3
0
0
7
40
0
23
-6
0
0
0
-48
0
0
-20
0
0
14
-14
0
0
11
0
0
1
-55
0
0
-1
0
0
0
-22
0
9
0
0
0
0
43
0
0
0
0
0
0
-16
-4
0
0
0
0
0
14
0
0
0
0
0
0
7
0
0
10
0
0
0
-15
0
0
15
0
0
0
-49
0
0
16
6
0
0
2
0
0
3
0
0
0
-28
0
0
2
-1
0
0
-60
0
0
0
0
0
0
57
0
0
0
0
2
0
48
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
-3
0
0
0
0
28
0
0
0
0
0
0
54
0
-1
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
-126
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
0
0
-10
-15
0
-37
10
0
-3
20
-8
0
0
8
0
0
0
2
0
0
-12
-34
0
0
0
0
-20
29
-6
-28
-21
3
0
-64
-19
0
0
-2
0
0
54
4
-1
-8
-23
33
0
-67
-31
0
-5
-32
12
0
26
-21
0
0
1
-90
0
19
-29
0
0
27
0
0
5
-37
0
-9
-52
-23
0
17
-2
0
0
14
4
0
0
18
30
30
0
-3
0
0
35
-8
6
1
0
0
30
15
5
6
-2
29
0
31
20
0
10
6
0
0
84
2
0
2
32
-74
0
11
-16
0
8
-22
-11
0
9
-9
0
-1
3
-38
0
-32
26
0
0
0
0
0
-3
-10
0
0
-2
-14
0
0
0
-7
1
0
0
0
0
45
1
0
7
2
0
-4
-23
0
5
49
0
0
4
-2
0
-2
57
-8
0
34
-12
4
1
8
0
0
52
6
0
-7
68
67
0
-2
16
0
-2
119
0
0
-3
2
3
0
-14
2
0
0
4
0
38
0
0
0
0
24
-64
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
29
-5
105
0
16
0
0
0
-52
-30
0
8
-46
0
0
0
-4
0
50
25
-56
5
0
0
-22
27
0
6
33
0
0
-15
17
0
107
57
-31
0
-6
4
0
0
45
0
0
0
-3
0
-2
21
74
-8
0
-40
0
0
-5
4
-2
0
-48
0
-14
-16
4
0
0
21
0
0
13
2
14
0
33
-12
-8
0
-32
0
-2
33
57
0
0
0
0
13
1
75
-7
-6
-5
0
-1
10
0
1
-9
-2
2
9
0
0
-37
5
-28
-8
5
-10
0
3
23
-16
-23
0
-6
0
1
-17
26
-17
0
-30
0
0
63
5
-66
0
54
0
0
2
-48
31
0
29
0
0
0
9
7
0
13
-2
-4
0
0
0
0
-27
0
-21
-2
4
4
-6
-58
0
5
-11
7
-1
0
-22
0
8
-21
0
2
0
-31
0
0
-7
16
8
0
-24
0
72
70
0
0
0
-58
0
0
-28
15
1
0
3
0
40
9
-5
23
0
-26
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
22
5
0
0
0
0
-79
0
14
0
0
0
-3
9
0
0
31
0
0
0
-29
0
14
13
26
20
1
0
34
12
-7
0
6
0
0
-59
46
0
42
9
70
0
8
-20
1
-1
29
-15
45
28
11
0
1
61
29
-3
8
0
6
-1
60
0
10
0
35
0
17
35
22
-5
0
6
0
-1
0
0
50
0
-16
-21
-52
0
6
0
0
-25
7
3
6
6
0
65
-51
55
4
-54
-60
0
31
30
0
41
53
0
-2
21
16
-1
5
54
28
-3
-7
15
0
17
-33
1
10
-1
0
0
0
-28
12
7
0
-11
0
1
14
-1
33
0
33
0
0
0
-32
-69
0
-25
0
-6
0
0
0
0
-24
12
19
2
9
0
0
-56
1
16
-8
0
0
2
9
0
36
-49
13
0
-14
-14
2
-7
-50
0
0
-1
-40
-1
-4
1
4
0
-5
0
0
40
22
0
5
0
-16
0
0
-13
18
6
0
-9
3
-22
0
0
-1
0
42
36
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
-8
-4
0
-5
0
0
1
74
0
0
-3
0
0
-3
-8
0
-6
-9
0
0
0
13
0
0
13
0
0
0
-4
0
0
-1
0
0
6
-8
0
0
0
0
0
0
0
0
10
0
3
0
0
2
0
0
0
0
0
0
-24
0
0
0
0
0
0
22
0
0
0
0
0
4
-8
0
0
0
-2
0
0
-29
0
0
0
0
0
0
8
0
0
-2
6
0
0
-46
0
4
0
2
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-32
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
-9
0
10
0
0
0
0
-2
0
0
0
1
0
0
-5
0
-9
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-26
-2
0
0
0
0
17
12
0
0
-7
0
0
5
20
0
-2
38
-1
0
4
-28
0
0
2
0
0
1
0
0
0
0
3
0
0
10
0
0
0
0
0
0
1
0
8
0
-1
0
0
9
0
0
0
0
0
0
38
-2
0
0
0
0
0
-39
0
0
0
0
0
0
-36
0
0
1
-2
0
2
40
0
0
1
0
0
-12
9
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
5
0
0
-1
0
0
0
-50
0
0
2
0
5
0
-9
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
3
0
0
0
-4
0
0
0
0
0
0
5
0
0
-8
0
0
0
-5
0
1
0
0
0
0
5
0
0
0
0
0
0
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
0
1
-5
24
0
-1
0
0
0
-6
42
0
0
-28
0
0
-2
-40
2
-17
20
-70
-55
14
0
-39
-13
0
0
18
0
0
21
44
0
-40
29
-25
3
23
14
0
0
17
-10
0
-19
-21
0
-14
-4
38
0
-30
5
0
17
3
0
0
-10
34
0
7
-1
24
0
4
4
0
0
0
-3
-52
0
-17
47
-35
0
-29
0
0
-20
19
0
17
0
0
-2
-6
15
73
43
-24
-5
-8
12
0
0
9
0
-20
-35
-19
0
-66
-46
26
-14
-6
8
0
-9
-1
-12
30
17
39
0
-7
-3
0
-16
-4
-18
0
0
0
0
37
0
29
0
0
0
-7
-12
0
-24
0
0
0
1
-29
0
39
1
9
0
-6
0
0
28
2
-42
-6
0
0
-1
-22
0
-5
0
-12
0
9
8
0
10
-10
0
5
0
-3
8
-6
0
-39
18
0
-6
0
26
0
0
-6
0
-23
0
0
0
-36
-21
0
6
0
-47
0
0
-7
0
-21
-9
0
0
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-4
0
22
0
1
0
0
0
0
-17
0
0
-32
0
0
0
0
0
-34
-88
22
-9
0
0
-21
-23
-1
5
2
0
8
19
27
0
20
44
0
-12
14
8
0
-3
65
0
51
28
-57
0
3
16
-4
25
-27
-10
0
-1
52
0
12
10
-59
0
-10
36
0
-19
0
40
0
0
0
0
4
0
11
-20
-30
0
0
0
0
-23
20
0
7
0
2
22
-22
9
2
31
-1
8
-72
-56
0
10
-9
0
18
-10
-11
0
-9
4
3
-9
15
18
0
0
-15
0
-14
31
-55
0
0
85
0
11
2
4
0
0
-18
0
27
0
39
0
-5
-18
0
-62
0
5
3
0
0
0
-1
0
20
14
0
0
0
0
-2
-17
0
8
86
0
0
12
42
0
0
40
-2
0
4
47
0
-4
75
0
-15
-17
52
0
3
-38
0
-4
-6
-16
0
-1
-44
0
-4
0
25
0
0
11
0
58
0
71
0
-15
-22
0
-28
0
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
0
0
49
-5
0
2
23
0
0
-11
2
0
0
8
1
0
-1
4
0
4
8
-29
-30
-73
0
0
31
-3
-7
-4
37
0
0
2
8
0
-17
3
38
0
22
-7
0
-7
13
-16
0
-55
-12
0
0
6
-12
0
17
-107
0
0
5
-2
0
24
16
0
-60
21
10
0
0
-1
0
0
-4
0
0
0
7
32
7
0
-19
0
0
-11
-86
0
46
0
0
-50
-18
1
19
-5
-15
0
51
20
0
12
45
0
0
28
32
0
10
85
0
0
57
-6
-1
8
-7
0
0
-21
1
-8
2
19
4
0
-1
26
0
0
14
-2
0
-8
12
0
0
-4
93
0
0
-25
-8
0
0
0
0
0
48
3
0
-12
3
0
-4
10
-7
12
12
0
0
28
10
22
-25
-82
2
0
87
28
0
62
-28
3
0
7
0
0
-7
21
-25
0
0
-35
0
25
-15
10
0
0
-40
0
0
154
13
0
0
-1
0
9
-8
24
0
0
-19
138
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
6
8
0
0
-59
0
0
0
-14
0
4
-20
1
-3
0
0
-3
-52
0
0
44
0
0
-81
60
-2
-44
43
55
0
-12
19
0
0
7
0
-6
1
2
0
0
43
16
12
0
-33
0
0
34
1
23
0
0
0
-17
-28
9
0
0
-28
0
0
0
0
-8
0
-20
0
-4
0
3
-5
0
-20
-9
0
-2
0
0
0
-1
0
1
23
8
0
-3
12
0
-2
-6
0
-24
2
-29
0
3
46
-23
-3
0
5
0
0
20
0
34
0
47
0
0
32
-22
4
0
9
0
0
17
0
-63
0
-20
0
0
0
63
-34
0
-33
0
0
0
0
4
0
-12
-2
0
0
0
0
0
3
0
-24
5
0
0
0
7
0
16
3
5
30
1
30
-9
-3
0
0
0
0
9
0
-5
54
-25
2
0
7
0
-39
-12
0
-9
0
28
0
0
-4
-10
9
0
-98
0
-8
0
0
3
0
8
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
14
0
-2
27
0
0
0
-2
0
-47
-9
-14
23
0
0
20
-23
0
0
-23
0
0
-92
51
0
-1
38
-50
-2
-58
22
1
0
-13
-2
22
-11
-43
0
-2
19
5
-5
-3
4
0
0
48
3
-4
3
0
0
47
7
21
8
0
-11
0
-4
0
0
28
0
-13
8
7
0
-29
-2
0
-17
-12
0
5
0
0
6
47
-26
-24
0
24
7
-23
14
-2
-8
8
0
13
-73
40
0
-24
60
68
1
-12
-13
3
5
4
0
-5
0
-30
1
0
33
31
-21
0
0
0
7
-1
-8
4
0
-32
-3
0
-4
-9
24
0
3
0
0
0
0
0
0
0
1
0
-7
-4
0
0
-51
-1
-47
3
0
2
0
79
0
-5
-85
-4
0
0
4
-1
-27
-29
0
-19
2
12
0
5
-26
-20
4
0
-11
0
2
-4
0
17
-1
0
0
0
3
3
7
0
-100
0
-29
-2
3
3
0
5
-8
0
-12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
30
0
0
0
0
0
8
-29
0
0
-2
0
0
-1
-6
0
-1
9
0
0
10
20
0
0
-1
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
-1
0
0
0
1
0
0
-1
0
0
0
40
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
-7
5
0
-8
0
0
1
-47
0
0
48
0
0
-8
-13
0
5
-12
0
0
5
27
0
0
0
0
0
0
16
0
0
-1
0
0
0
19
0
0
0
0
0
0
5
0
-3
0
3
0
0
4
0
0
0
0
0
0
-76
-2
0
0
0
0
0
-17
0
0
0
0
0
0
-31
0
0
0
0
0
0
23
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-4
0
0
5
-12
0
0
-54
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
-49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-22
42
0
0
49
0
0
0
0
0
-12
8
-9
2
0
0
-15
-11
0
0
53
0
0
-25
30
0
4
-7
12
-4
-23
4
0
0
-4
0
-2
40
-10
0
2
2
18
0
62
-12
0
-1
-4
0
-8
8
-40
0
-46
0
18
-2
0
-44
0
1
-1
0
-5
0
-22
-14
32
0
-14
0
0
8
-15
0
0
0
0
0
-36
-6
1
2
-1
0
1
23
5
0
4
0
4
20
-33
0
8
-2
-28
2
0
-29
-1
2
0
-1
-9
-4
5
0
0
0
-13
8
0
15
0
0
24
0
-20
0
33
0
0
0
-5
7
0
-6
0
0
0
0
23
0
-13
0
0
0
0
0
0
8
0
-7
0
0
0
0
17
10
0
0
0
-2
0
-29
4
-1
-2
0
0
0
83
0
0
0
-24
-4
2
-19
0
-25
25
0
0
0
-25
0
0
0
0
0
0
27
0
-3
0
0
-1
0
-9
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-5
0
0
0
0
0
-35
-10
-4
2
0
0
-2
9
0
0
-5
0
0
-13
-3
0
0
-22
0
0
3
-30
0
0
-4
0
0
1
18
0
0
-4
4
0
-4
-50
0
0
-3
0
0
0
-2
0
23
-5
-5
0
0
43
0
0
0
0
0
0
12
0
2
0
0
0
0
-33
4
0
0
0
0
0
18
4
-4
-1
0
0
0
-51
0
0
12
0
0
0
-9
0
-1
6
0
0
0
-27
0
0
-1
0
0
-3
-5
0
0
-7
0
8
0
18
0
0
2
0
-4
0
-16
0
0
0
0
-2
0
-33
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
6
-12
0
0
0
13
0
0
0
5
0
0
-12
0
7
3
0
0
0
34
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
1
2
0
0
-2
22
0
0
3
0
1
7
10
-8
25
-6
0
79
-2
0
0
54
0
0
1
21
0
-13
29
46
0
10
23
0
0
-6
2
0
39
30
0
3
26
40
0
28
-27
0
10
26
8
0
-4
15
0
-15
37
6
0
0
-6
0
-1
-11
0
0
0
18
4
-7
0
-7
0
0
-14
-14
-5
-2
0
0
30
-8
5
37
9
63
0
-8
18
0
18
46
0
0
32
15
7
-8
64
14
0
32
31
0
8
30
-6
0
-32
30
-2
73
32
4
0
-62
-17
0
-1
-21
-1
0
14
27
0
11
46
6
0
0
-9
76
0
0
0
0
0
17
-4
0
3
9
0
0
-74
-13
6
15
0
0
2
29
0
0
0
43
0
-12
31
0
-4
116
0
0
-9
43
0
34
19
-13
0
-58
16
0
4
61
-14
0
7
-9
0
1
48
-3
0
0
38
0
14
22
0
0
0
-15
-15
7
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-35
0
0
0
0
0
0
-13
0
0
1
0
0
0
25
0
-2
6
0
0
10
5
0
0
-1
0
0
0
46
0
0
1
0
0
0
-50
0
0
31
0
0
0
8
0
-3
0
-2
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
1
0
0
0
16
0
0
0
0
0
0
-22
0
0
-2
0
0
0
36
0
0
0
0
0
0
31
0
0
0
0
0
0
-45
0
0
0
0
0
0
30
0
0
0
0
0
0
-32
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
5
0
0
0
-5
0
0
0
-2
0
0
2
0
1
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
7
-1
14
50
-84
76
0
0
-35
11
0
0
-8
0
0
-33
31
0
-69
55
11
0
-23
23
0
0
9
9
-1
-16
-70
0
-8
33
-21
-1
59
10
0
0
-45
0
8
-7
19
0
-4
-9
-13
0
14
0
-3
0
0
-2
42
0
21
5
5
0
0
0
0
1
-6
0
-6
0
0
28
5
-5
-34
46
-45
0
29
-39
0
-9
-36
0
19
114
-36
-6
8
-44
62
13
-30
14
0
2
-34
-1
5
-53
1
0
0
-80
72
-50
-1
20
0
0
-9
13
23
3
0
0
0
-1
28
9
0
7
0
0
0
13
0
0
19
3
0
0
0
0
0
-78
0
6
2
3
0
-3
12
0
45
44
-18
16
-3
55
8
74
-52
0
3
-12
-24
0
-18
-36
13
1
13
-33
0
-35
39
-5
-8
0
11
0
0
-16
-41
3
0
0
0
78
0
0
0
0
-8
-5
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
47
0
0
-2
0
0
-4
33
0
-1
-1
0
0
0
7
0
0
0
0
0
0
5
0
0
4
0
0
0
73
0
0
0
0
0
0
-1
0
-2
0
-8
0
0
-1
0
0
0
0
1
0
-59
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-45
0
0
0
0
0
-1
-20
0
0
-3
0
0
-3
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
3
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
4
0
1
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-22
0
4
0
0
0
3
37
0
0
7
0
0
19
-22
0
41
8
-6
0
-23
32
0
0
0
0
0
0
-23
0
0
0
-7
5
0
-51
0
0
0
0
0
0
1
0
-1
0
-2
2
0
6
0
0
0
0
0
0
3
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-58
0
0
1
0
0
-25
-34
0
0
0
0
-5
1
-38
0
6
5
0
0
2
35
1
0
7
0
-31
0
-39
0
0
0
0
0
0
-4
0
0
0
0
1
0
1
0
0
0
0
-1
0
-59
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
0
0
-1
0
2
0
0
0
0
0
0
-4
0
0
-2
0
13
0
37
0
-1
0
0
1
0
-11
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-42
0
10
0
5
0
43
41
5
9
0
0
-21
-19
0
0
9
0
0
-89
17
0
20
-2
0
-19
26
-1
0
0
-18
0
-12
11
22
0
0
29
0
10
6
27
0
0
16
0
73
1
-22
0
-4
64
0
1
-6
6
0
0
3
0
2
0
36
-37
34
0
0
0
0
-1
15
0
-3
0
0
3
-37
0
15
-29
0
5
65
-5
0
0
35
0
50
10
20
0
0
29
0
39
88
-27
0
0
16
0
8
-23
-39
0
0
36
0
-10
-5
10
0
0
43
0
17
0
-28
0
0
-13
0
48
0
21
-8
0
0
0
-26
0
26
0
0
0
0
0
0
-79
0
66
0
0
0
25
29
0
0
-12
0
-9
2
30
0
-5
10
0
15
9
-44
0
0
4
3
-2
0
66
0
-13
-28
0
-2
0
7
0
0
35
0
44
0
-15
0
-22
7
0
29
0
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
32
0
36
-2
-3
38
0
-20
-3
63
0
5
-1
10
2
-4
11
6
-5
-28
-29
-11
0
11
7
52
19
11
3
0
19
21
0
-23
12
-44
0
86
21
0
2
24
46
0
-27
-13
0
-22
7
6
0
27
22
-20
-2
-4
23
0
0
-8
-50
5
5
-51
0
-20
0
-26
-14
28
-6
0
2
-22
95
-84
-11
-19
9
35
10
3
71
18
42
8
15
21
-8
-26
32
6
0
64
31
-5
-8
21
58
0
78
20
3
10
57
25
-12
47
20
0
-2
17
54
0
2
9
1
-15
12
-5
0
0
-21
-52
-2
0
-14
0
-7
8
-82
-7
20
-76
0
57
-49
0
50
-53
-7
7
-100
-4
-2
30
-19
8
-1
20
38
-24
8
2
-1
-4
53
12
3
74
5
10
0
-29
22
0
1
78
-2
0
-1
21
0
-1
35
1
0
0
-11
0
-30
40
2
0
0
63
48
21
-3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
2
0
0
7
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
1
17
0
0
-17
0
0
-8
29
0
-1
-1
-5
0
13
6
0
0
4
0
0
0
5
0
0
-5
-12
8
0
-27
0
0
-6
0
2
0
-13
0
5
0
2
0
0
-14
0
0
0
0
-9
0
0
0
1
0
0
0
0
-70
0
0
0
0
0
8
-10
0
0
-5
0
0
0
-2
0
0
0
0
0
1
-29
0
0
-16
0
0
0
-20
0
0
0
0
0
0
14
0
0
2
0
0
0
44
0
0
0
0
5
0
-7
0
0
0
0
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
2
0
0
0
0
0
-30
0
0
19
0
0
0
31
0
2
0
0
0
0
2
0
0
0
-1
1
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-10
-33
-63
9
-1
-35
-12
-16
0
-32
1
34
42
2
77
3
2
30
15
-48
-27
57
-55
-14
-20
21
0
-27
3
20
-15
30
46
-59
-15
7
11
-14
-6
-34
-1
-62
-1
-25
-32
-48
45
0
23
-1
-1
28
-2
36
0
-12
0
-4
0
-1
42
1
30
16
10
-1
-1
-2
-55
-22
-32
17
54
-33
-21
36
15
-7
-8
-18
0
114
-124
-4
-35
-27
-15
-33
-43
-28
5
-2
-19
-34
-18
-2
13
-20
-3
42
-9
-29
-58
73
28
-10
-5
20
23
7
-14
43
-3
1
-25
-32
1
4
8
0
-2
0
-2
-47
14
26
-33
-4
1
-10
0
-40
-3
32
20
-16
-5
1
-8
41
-13
-19
0
-79
-33
21
-19
-13
-85
32
42
80
-10
-31
-3
24
-86
26
-34
43
-27
2
-44
-55
10
-28
0
14
0
-9
34
34
-52
2
-6
3
28
1
-7
3
0
-8
0
-1
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-28
0
0
8
0
0
0
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
1
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
6
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
0
0
-1
4
0
0
15
0
0
-15
25
0
0
13
27
0
12
7
0
-2
-3
0
0
-2
-36
0
0
6
0
0
0
14
0
0
-5
0
0
0
-39
0
37
3
0
-2
0
4
0
0
0
0
8
0
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
19
0
0
1
0
0
3
-14
0
0
0
0
0
0
-74
0
0
-1
0
8
-2
-55
0
0
-4
0
24
0
10
0
0
1
0
0
0
-78
0
0
0
0
-8
0
-5
0
0
10
0
-17
0
-52
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
14
0
0
0
0
-7
0
0
0
0
-1
0
35
0
0
5
0
0
0
-28
0
-1
0
0
0
0
10
0
0
3
0
0
0
91
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
-18
-15
47
-3
0
100
38
0
0
65
0
0
-5
-37
14
-37
14
6
0
4
-19
-7
0
15
0
0
-58
-54
0
0
-30
44
0
8
2
0
0
-34
0
0
0
28
0
-53
-31
-30
0
0
-57
0
3
0
-1
0
0
-27
63
6
0
-1
0
0
-12
71
0
14
0
0
20
21
-12
-27
-46
-27
0
-11
-7
0
-4
73
0
0
-7
-18
-1
1
-6
38
0
23
10
0
-2
18
-1
0
-9
-4
0
1
-16
-8
0
0
21
0
0
47
0
0
0
35
0
0
63
-51
0
0
-3
20
0
0
0
0
0
15
-17
0
-2
-9
0
8
-29
0
-66
18
0
0
0
-14
0
28
19
9
0
37
-19
-1
0
-21
-2
0
19
20
0
27
14
-14
0
7
-15
2
-9
-4
7
0
2
23
0
-13
14
41
0
3
35
0
-53
0
0
0
0
36
2
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-34
0
0
-17
-75
10
20
-8
9
0
-16
-16
0
0
-34
0
0
0
-10
0
0
-32
20
0
0
93
0
0
3
0
0
0
-17
0
-1
-1
8
0
0
6
-1
0
0
0
2
0
-5
11
4
0
0
0
0
-34
2
0
1
0
0
15
62
-3
-8
8
-4
0
8
34
0
-3
7
0
8
-7
-31
0
9
-1
0
-4
0
-95
0
-5
8
0
0
-3
-49
0
0
56
-8
0
0
48
0
0
0
0
6
0
0
0
0
0
0
-29
0
-4
0
0
0
0
0
0
9
-10
0
-1
0
0
0
-3
0
-1
1
0
0
0
-10
0
-1
0
0
0
0
12
0
26
4
0
0
0
-35
0
0
1
-1
0
0
13
0
8
-4
0
0
0
-22
0
0
0
-1
0
0
-9
0
34
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
33
2
-33
29
30
22
40
-9
-47
-33
40
-5
58
48
3
-1
27
79
-2
25
35
-7
67
32
23
-7
1
3
-4
-21
67
12
1
6
6
-17
20
8
-7
12
6
-60
-8
12
27
11
30
13
5
7
30
-18
-24
15
31
-91
0
-58
-103
-39
36
-5
-74
-54
3
-112
-116
16
8
38
-13
28
-26
-5
8
-10
2
-15
14
-10
9
-9
13
33
-17
30
5
45
90
46
16
-21
-19
40
2
-10
-32
2
-7
2
18
-4
48
18
48
2
48
-43
-9
3
10
-39
-10
-13
26
-15
44
0
-108
0
-51
6
-27
-87
-89
-79
-43
-22
-94
-42
-51
-14
13
4
2
-4
-10
-46
-2
12
-22
-91
29
48
-55
30
30
-34
11
-2
4
27
60
-41
12
-46
42
21
-2
7
38
-19
58
-14
12
48
7
17
2
-24
0
-38
-44
-25
-34
7
-33
24
-54
-5
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
59
15
1
4
1
7
-32
78
-8
37
78
2
-12
-7
6
-12
40
40
-3
27
-19
-42
-2
3
45
-25
0
14
-3
2
-5
-2
-2
-45
25
-37
0
18
-20
-23
-53
3
-42
1
-1
0
52
-47
0
8
-15
27
2
-28
17
3
19
-19
8
12
0
0
77
41
87
89
29
128
22
45
42
14
-20
17
25
-22
34
24
18
-67
-20
47
-6
8
9
15
2
21
-11
33
-14
-18
0
48
-45
-19
24
-7
-15
0
0
14
0
-22
1
-25
0
2
-50
50
-22
0
10
-22
0
0
0
10
-1
2
19
15
-9
-8
0
55
-101
-11
-10
-34
8
18
35
-13
-9
23
88
5
-5
-48
0
28
58
51
-4
14
-32
-49
5
-66
36
54
-27
28
-32
0
23
-3
1
-7
5
-41
5
5
-50
-12
-45
-1
14
0
52
-20
0
43
0
-49
94
8
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
26
6
13
-38
-1
-8
24
-37
2
25
9
-12
29
-67
-8
56
-12
0
8
-35
13
49
0
-2
-51
25
88
25
26
0
-5
38
14
-91
7
-63
0
-11
-24
13
-10
0
-1
-1
0
0
-5
-5
0
68
14
-41
0
-95
-2
6
-19
-59
13
-5
0
6
107
54
18
-19
115
30
-29
2
34
-6
41
-1
0
-20
-57
-13
52
-13
-55
35
79
-77
-40
24
24
-68
-8
29
12
4
1
1
-69
-35
-10
-4
-48
18
24
-9
0
29
0
36
1
0
-16
-31
-26
2
-25
0
0
0
0
9
-9
-49
-90
-9
9
4
7
3
-28
6
55
-5
0
0
3
-15
5
71
-84
1
0
45
-12
8
-17
0
6
-6
36
-12
-3
3
-45
-95
21
-20
-1
28
-86
-6
-8
-29
0
-91
1
1
18
-60
0
0
16
3
-9
0
0
-2
0
-52
-7
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
26
23
-7
-17
-2
10
15
13
-43
88
5
-77
-3
32
-12
2
-22
-17
13
10
61
7
0
8
19
64
11
13
30
0
20
33
-1
28
4
21
0
29
-106
33
47
-1
17
-3
-2
9
0
20
0
42
14
66
0
-3
4
-1
-52
58
10
-21
4
1
56
53
-20
94
53
19
14
-3
-17
12
1
-39
-13
-39
-29
-22
13
-14
37
19
44
-40
-6
0
-52
23
-26
-6
-11
-15
0
-10
-19
-33
-28
-4
-25
-1
-9
45
0
31
0
31
0
-1
-3
-61
-80
0
7
26
-1
0
0
-7
1
-7
-39
-3
0
33
-2
14
32
10
-130
-13
-1
5
42
0
-3
-40
-29
27
-20
33
-1
-3
14
21
7
28
1
-39
-4
-7
-42
37
-7
-4
9
0
-38
-1
24
2
0
-19
-13
4
-109
-11
2
2
34
0
62
-2
0
3
0
-5
-31
-3
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-31
0
0
17
0
0
47
-6
0
14
-8
0
3
-5
-32
0
20
-23
0
0
29
15
0
0
-55
0
-1
-3
-34
0
0
-9
0
0
0
-5
0
3
-4
0
0
0
2
0
0
0
0
1
0
16
-8
0
0
0
0
0
-57
3
0
0
0
0
0
16
0
0
-7
0
0
0
-52
0
0
-1
0
0
-8
-104
0
1
-44
0
0
9
52
0
-1
-1
0
0
-1
-91
0
0
-15
-4
8
0
83
0
0
0
0
0
0
0
0
0
0
0
16
0
-25
0
0
0
0
-12
0
3
1
5
0
0
0
0
33
0
-14
-1
0
0
0
-69
0
0
0
0
0
0
36
0
0
30
0
0
0
-75
0
2
-7
0
0
-3
-28
0
2
0
0
-2
0
2
0
0
0
0
-1
0
6
0
-7
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
3
0
6
2
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
9
0
0
0
0
3
0
0
0
0
0
0
-67
0
1
0
0
0
0
-31
1
0
0
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
7
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
-2
0
0
0
0
-4
0
0
0
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
35
-10
98
-2
1
-7
-20
12
-9
-11
70
-6
-49
-30
-61
-1
-6
46
-21
40
11
-9
0
1
21
-4
-18
-3
-49
0
-53
-20
18
-32
0
-71
0
1
7
0
-10
0
54
-49
-8
5
19
2
0
6
96
-73
12
1
-5
95
4
-2
28
-59
-4
-2
46
-13
5
25
-12
-2
56
-79
50
24
-39
-1
96
-22
-18
-19
-1
34
-37
-45
122
-2
21
-5
-8
-5
-5
-75
2
-34
0
0
20
1
8
3
15
0
1
17
41
-7
0
31
20
0
0
0
-1
0
-76
29
-15
11
-1
7
8
-28
4
90
-27
0
-4
6
-66
-2
25
8
-17
-1
-20
11
12
22
27
0
24
-1
-60
-7
-67
-81
-60
-14
-13
16
-4
-13
9
-3
-31
-2
-17
-2
2
60
-75
2
0
17
0
16
12
0
19
0
38
-45
4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-11
-24
-44
-14
-17
-72
42
-13
14
6
44
2
-42
10
-14
7
54
13
-32
-49
7
0
-8
-64
19
-64
-33
-40
-34
49
-8
-47
8
-21
29
-1
17
-21
27
49
35
2
-17
8
-45
-40
17
-6
-41
-6
47
-66
-93
-123
-36
-64
0
14
13
-20
-5
-24
-47
16
3
2
-57
-23
-25
11
-4
-14
12
-17
-40
-35
-11
-13
-55
8
26
34
-37
53
-10
0
-52
15
-3
60
-14
-5
-30
-2
39
-45
6
-10
-16
18
40
42
36
-26
-15
15
-9
-97
1
23
-25
-85
-10
3
-11
-61
6
44
-43
0
-81
12
-41
-78
-39
-94
-25
-73
-21
-22
-8
2
-86
-5
13
9
-60
39
70
59
-5
100
27
-4
18
0
-15
-8
-11
1
10
60
68
5
-6
15
-12
-11
12
-22
51
-7
-42
17
-93
-64
18
-36
22
33
-12
-7
13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
-54
-59
-1
0
-10
112
0
2
-15
0
0
-8
44
0
0
0
1
0
0
-69
0
0
-1
0
0
0
-5
0
-22
0
-2
0
0
109
0
0
0
0
0
0
-18
0
0
0
0
0
0
33
-4
0
0
0
0
0
-54
0
2
19
-6
0
-1
13
0
1
-3
0
-8
5
35
0
0
20
2
41
0
-16
0
4
0
0
-2
0
14
0
0
7
-8
-2
0
-15
0
0
-2
0
-31
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
40
0
0
-8
-2
0
0
96
-1
-2
-2
0
0
0
24
2
-4
-2
0
0
0
-20
0
5
0
0
0
0
21
0
-7
0
0
0
0
-25
0
0
0
0
0
0
83
0
0
0
0
0
0
45
0
2
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
45
0
-78
41
17
0
8
51
0
0
0
0
0
-3
1
0
0
6
-7
0
0
20
0
0
0
0
0
0
31
0
-10
0
2
0
0
6
0
0
0
0
3
0
-2
0
3
0
0
0
0
-35
-7
0
-8
0
0
0
102
0
0
0
0
0
-5
-48
0
0
4
0
0
3
64
0
0
10
0
0
2
69
0
0
0
0
0
0
2
0
0
0
-22
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
-123
0
0
0
0
0
0
-13
-9
0
0
0
0
0
-5
-8
-3
3
0
0
0
-37
0
1
0
0
0
0
-12
0
-2
0
0
0
0
-23
0
0
0
1
0
0
19
0
0
0
0
0
0
5
0
0
-1
0
0
0
-46
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
-42
0
31
20
0
53
20
-2
-10
18
-9
-13
16
34
-2
-1
23
23
-6
42
11
-3
57
-51
-4
-12
-40
14
-3
-20
33
-15
-35
-3
15
-2
-10
-36
1
8
0
28
-23
-43
-1
17
-22
-5
21
15
54
12
13
64
78
35
144
91
48
53
30
-8
30
-90
9
-43
-1
-22
13
10
92
-5
31
71
-20
38
34
-20
-52
21
92
-4
8
5
45
14
-23
-16
26
-10
8
-5
-3
-27
15
21
-7
4
-3
-5
7
-68
0
0
22
4
-2
0
0
44
80
23
32
56
-3
-44
0
38
-6
49
-33
-121
13
-49
-4
51
0
85
28
85
59
45
-4
76
18
-25
-20
0
42
21
-43
7
57
23
65
35
17
8
2
2
62
43
12
1
29
7
-95
44
15
-5
12
-1
1
-7
7
4
0
9
18
-4
0
-20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
12
13
0
0
-2
5
0
0
1
0
0
0
25
0
0
0
0
0
0
102
0
0
0
0
0
0
2
0
-12
-4
0
0
0
48
0
0
0
0
0
0
-18
0
5
0
0
0
0
-30
0
0
0
0
0
0
-19
0
0
-1
0
0
0
-27
0
0
10
0
0
0
-5
0
0
3
0
0
1
7
0
0
1
0
0
0
-38
0
0
2
0
0
0
-69
0
0
0
0
0
0
-33
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
-26
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
-32
0
0
0
0
0
0
-56
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
0
3
-4
-14
0
-9
67
0
1
-1
0
0
0
9
0
0
-1
0
0
0
-4
0
0
-4
0
0
0
-30
0
34
0
-6
0
0
-56
0
0
0
0
0
0
-17
0
0
0
0
0
0
92
-7
-5
-13
0
0
2
46
0
0
9
4
0
2
54
0
0
11
0
0
-8
35
0
0
25
-3
0
0
2
0
0
-4
0
0
-3
43
0
0
0
7
0
0
81
0
0
0
0
0
0
0
0
0
0
5
0
0
-39
0
0
0
0
0
0
-52
0
0
0
0
0
0
126
0
-1
8
0
0
0
90
0
-3
1
0
0
0
-5
0
0
1
0
0
0
49
0
0
0
0
0
0
6
0
1
-3
0
0
0
38
0
0
-2
0
0
0
-3
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-10
-6
51
33
7
48
-61
-26
21
-8
4
-16
-7
-11
-24
-1
-2
31
7
-41
3
22
68
3
56
3
-39
8
2
0
5
-1
-37
-50
0
-9
-13
5
0
18
-48
4
48
19
39
114
33
-4
-33
6
31
53
30
-29
1
-26
-22
-26
91
20
10
4
-34
26
97
-32
-73
-77
11
51
-4
-45
-71
27
-68
3
43
-17
8
54
60
-10
26
-4
-3
4
-14
11
-19
36
0
17
-2
5
-13
-39
-43
0
-25
6
-2
0
-19
-14
0
23
45
-10
22
4
-1
-7
-2
8
27
131
17
-1
-32
13
95
41
-54
17
3
3
1
-5
16
18
115
-51
-12
-34
50
76
15
-8
27
-5
5
8
31
47
8
74
1
35
66
-9
56
0
75
-7
-14
-2
25
-26
6
1
0
-7
33
25
12
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
-96
-3
-20
-29
-14
20
8
11
29
17
-42
-1
19
-1
-10
17
-18
-49
15
12
-25
10
6
28
-76
-33
-8
-2
40
-16
80
-23
0
-11
9
63
0
68
-6
-21
-24
-31
-39
-8
1
-58
-16
4
43
-19
-34
-20
45
-100
0
51
12
-37
45
14
-129
-10
47
-10
-43
-19
45
-1
0
35
-37
33
-43
10
-42
-6
-46
-11
38
11
-47
-28
-3
-6
-23
42
36
11
-33
12
-3
-16
90
24
12
1
-7
31
6
5
59
6
-5
18
60
18
-32
-17
-14
-49
-62
-68
20
-62
-3
-37
-41
0
61
123
-65
-60
-14
-10
0
121
1
-79
-79
26
-180
-24
-39
-28
-67
-16
38
-67
10
1
47
-28
14
-40
9
17
0
13
18
55
54
25
27
-3
20
-17
57
41
-1
2
-35
-16
25
43
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
40
0
0
1
0
0
16
15
0
0
23
0
0
0
13
0
1
4
0
0
0
-69
0
23
0
7
0
0
-12
0
0
0
0
0
0
-14
1
0
0
0
0
0
-37
-1
0
0
0
0
-6
82
0
0
-7
0
0
0
-132
0
-3
24
0
-7
-6
19
0
4
-102
0
0
0
-10
0
0
-1
1
0
0
-57
0
0
-1
-4
1
0
-57
0
0
0
0
0
0
22
0
0
0
0
2
0
11
0
0
0
0
0
0
22
-2
0
5
0
0
0
-22
0
0
0
0
0
0
117
0
0
6
0
0
0
-54
0
1
0
0
0
10
-30
0
-3
18
0
0
0
28
0
-3
2
0
0
0
-10
0
0
0
0
0
0
46
0
2
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
24
32
-31
-75
103
2
-11
9
23
-59
36
-13
-45
0
0
5
14
-6
-3
-27
3
-6
5
18
44
16
0
7
-1
-1
-27
0
5
0
53
-37
-15
0
17
8
-2
-41
57
15
-6
-6
-4
-12
-36
-32
41
-5
-35
3
-35
19
13
-34
55
-10
10
59
-46
41
19
-71
30
72
-23
-46
-5
8
1
-33
-58
-58
6
-3
-26
-9
3
-36
2
7
-4
-13
47
-20
40
0
37
-3
-5
-5
-82
-30
0
-5
-7
-6
0
-2
31
25
-20
48
-7
-19
0
0
-15
-38
-54
-4
66
-13
20
-13
5
33
45
21
-2
-1
-65
16
24
-49
-30
6
59
61
0
-3
-14
74
48
-1
-18
-23
-3
-40
23
47
49
40
-5
-6
-1
-49
7
106
-2
3
0
-135
5
1
-28
0
-6
-61
10
-2
11
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
6
-20
-1
-3
36
26
-12
4
-1
28
3
26
-26
38
13
-19
-4
35
4
51
-20
-12
0
2
74
-3
46
-8
-1
80
-1
6
19
-63
1
8
24
-4
0
3
-30
52
46
-2
-64
65
11
2
-24
12
5
-3
-60
-90
47
14
-2
59
44
1
18
-12
12
22
-7
27
4
-62
30
36
0
49
125
11
-19
9
-25
-6
14
-52
-35
-3
19
32
-8
2
75
53
2
47
-7
-13
53
95
-10
-57
7
0
17
-24
9
0
-17
-30
-15
65
44
-6
-17
1
36
-2
32
85
23
89
13
-31
-38
27
19
8
27
-14
-32
-57
31
83
72
-19
0
-16
-53
25
-13
-12
-23
44
-98
0
3
-23
-26
-32
16
15
3
-23
13
-19
-8
12
-2
22
-2
-1
54
-31
-9
54
-4
18
3
4
25
-29
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
-2
-5
17
0
-18
-77
-17
0
-16
-23
0
46
43
-8
0
-3
-12
0
43
84
-3
10
27
-45
-4
-14
0
16
0
1
1
0
13
0
-3
65
-2
0
7
10
0
-4
-9
8
72
-8
0
39
1
14
-1
27
-13
5
90
-1
1
-28
9
0
37
-14
-1
0
25
-29
2
-15
89
7
1
-25
25
8
-10
31
-17
-5
1
4
-36
1
-3
-20
-8
0
11
0
4
-6
6
0
0
25
0
17
0
2
-10
0
0
0
-10
-16
-3
-2
-22
8
0
0
-28
28
-27
-20
-81
0
8
-60
-38
-1
-43
-32
0
0
33
13
4
-46
-57
-2
23
69
-31
1
-40
46
0
-18
-34
21
-8
15
17
5
38
80
5
0
4
15
5
1
7
-4
0
39
-8
0
51
0
-1
-54
-4
-5
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
9
0
15
76
0
0
-4
62
0
0
-40
0
0
15
-49
0
0
-5
0
0
0
-12
0
-6
-1
-41
0
0
7
0
-4
0
0
0
0
40
-7
-10
0
0
0
0
60
-3
0
0
0
0
0
-37
0
-1
7
-33
0
22
29
0
0
6
0
0
84
15
0
0
-41
2
0
26
62
0
8
28
0
0
25
-10
0
0
5
-9
0
0
-26
0
0
13
0
0
0
78
0
0
0
13
0
0
35
0
0
0
0
0
0
-45
0
0
0
0
0
0
67
0
-1
-4
0
0
7
101
0
-1
34
8
0
0
77
0
-5
54
0
0
13
-18
0
0
-19
22
0
0
-57
0
32
25
0
0
0
-37
0
0
0
0
0
0
-18
0
-18
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
40
16
-23
-3
7
-18
26
-12
13
-30
20
18
-40
25
-14
-1
-5
-18
-2
-35
-5
4
3
15
-5
-8
-14
0
23
-15
14
-1
44
-20
1
40
0
18
49
3
-5
54
51
-16
-57
57
48
6
21
-9
-6
-33
7
2
19
-114
0
48
48
-1
22
26
-10
14
-9
59
5
-5
13
18
18
-29
19
11
0
37
8
7
-9
-10
41
-7
15
-6
-3
-1
1
-2
0
15
4
10
8
6
0
31
-49
-2
0
26
10
44
28
0
-12
-8
-33
-66
128
-8
1
62
13
14
23
95
88
-16
0
-19
-27
33
-12
40
-60
-20
12
-14
22
7
-14
-8
4
-1
12
5
-23
-42
37
-8
-9
0
-5
22
-30
33
6
10
3
-19
26
2
-2
0
23
-22
-22
39
-31
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-6
-2
-114
-14
10
9
22
3
-23
0
13
36
-29
47
-22
15
22
35
-13
-57
65
-12
25
-3
42
-29
-10
1
1
38
-14
4
-5
28
-36
4
-9
-7
-4
-4
32
3
3
34
16
9
-49
-68
20
-3
16
-12
5
8
4
-9
0
-30
10
54
8
19
-28
6
-16
-45
-51
-1
12
20
14
87
1
34
-36
4
28
-6
-69
76
-8
2
-1
-57
-13
-20
-36
8
70
21
-4
25
33
-17
-5
24
30
24
20
48
-27
17
-33
13
-60
-4
38
30
-21
-25
-52
21
-18
57
-11
13
20
27
-50
0
12
26
-29
18
-74
-60
-20
50
22
-19
-27
34
-91
-17
-10
-32
-15
-89
105
39
21
71
-4
61
-12
-24
-37
4
12
-20
-14
7
61
8
33
-9
-41
18
-37
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
22
0
0
15
0
0
0
-1
0
0
-2
0
0
0
-22
0
-1
1
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
52
0
0
-4
0
0
0
37
0
0
0
1
0
0
38
0
0
7
0
0
0
0
0
0
5
0
0
7
23
0
-1
0
0
0
0
-43
0
0
-4
-8
0
0
23
0
0
0
0
8
0
43
0
0
0
0
0
0
-10
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
4
0
0
0
0
-79
0
0
-2
0
0
0
30
0
0
-6
0
0
0
40
0
0
-1
0
0
0
-33
0
0
0
0
0
0
29
0
0
3
0
0
0
118
0
15
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
50
0
0
46
5
0
4
-28
0
0
-8
0
-7
0
-34
0
43
0
21
0
0
8
0
0
0
0
9
0
73
-8
-7
0
-1
0
0
56
-8
-1
0
0
0
0
24
0
0
-11
36
0
26
-51
0
0
21
0
-1
-4
35
0
0
29
0
5
-1
-8
0
0
-13
0
-3
0
48
0
-5
21
0
5
0
54
0
0
0
0
-6
0
7
0
0
6
-1
-2
0
48
0
0
0
0
0
5
-34
5
0
0
0
0
0
6
17
0
4
0
0
0
-91
0
0
9
8
0
-3
16
0
-3
3
0
0
0
-7
0
0
0
-1
0
10
-1
0
-18
0
0
0
0
5
0
0
0
-10
0
0
8
0
-9
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
11
-4
7
-53
52
-25
75
5
0
-12
-59
2
73
-29
0
0
-51
-2
-17
-26
0
8
-1
-4
-1
-4
-10
0
4
-18
-46
0
46
-4
-23
62
81
21
6
25
-13
-33
60
34
-117
91
42
-19
-2
-27
15
-39
-38
-2
39
-19
-2
44
51
50
58
-19
83
24
-6
69
8
11
26
50
25
0
-10
-15
37
-59
-20
26
-16
-4
6
9
39
-3
0
2
-3
0
15
49
0
11
-2
2
0
0
-6
0
44
-44
-2
12
69
2
57
-19
9
-17
3
0
0
37
53
35
-50
9
-9
1
-17
-14
-28
-49
-32
2
24
-2
20
-26
63
24
32
18
87
24
0
-16
-45
1
53
-12
21
0
13
-2
-54
37
-1
-5
0
12
0
0
-2
0
1
-40
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
48
0
0
38
7
0
-2
-106
0
0
-3
0
0
0
-28
0
-36
0
0
0
0
28
0
0
0
0
0
0
-19
-4
0
0
0
0
0
-4
-7
0
-4
0
0
-1
-102
-16
0
-10
0
0
0
-23
0
0
-3
0
0
-2
54
0
0
-4
-2
0
-4
-3
0
0
3
0
0
7
10
0
0
-35
0
0
0
-62
0
0
0
0
0
0
37
0
0
0
0
23
0
34
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-13
1
0
0
0
-8
0
0
0
-2
0
-6
45
0
-7
2
0
0
0
58
0
0
-1
0
0
0
-23
0
16
7
0
0
0
-17
0
0
6
0
0
0
29
0
-20
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-37
0
0
-68
0
0
-9
-100
0
8
12
0
0
-2
11
0
97
-3
-13
0
0
-7
0
0
0
0
0
0
35
-15
-5
0
0
0
0
-11
-26
0
-4
0
0
27
-75
0
3
68
70
0
45
0
0
1
-24
0
0
-15
115
25
0
48
10
0
-47
-3
0
2
-43
0
0
4
-3
0
0
2
-47
0
4
20
0
3
-1
0
0
0
-40
0
0
0
-12
0
0
-16
8
0
0
0
0
0
-59
-7
0
4
0
0
0
-3
0
7
-2
0
0
1
-42
7
0
-71
-1
0
-9
-1
-3
-10
-25
0
0
-5
-6
0
-1
-5
-7
0
16
37
-7
-6
-7
0
0
7
-5
0
0
-4
1
0
0
-31
0
-28
0
4
0
0
28
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-3
30
0
-1
0
20
0
80
-7
23
-28
0
13
0
0
0
0
-26
0
-8
-12
21
0
-19
-3
0
0
34
-1
30
0
7
5
42
46
37
25
14
8
7
18
-7
18
20
-2
-15
-5
-1
-8
-11
20
-86
5
-1
-42
12
-16
-16
29
4
0
40
0
4
27
-63
37
0
3
0
2
47
-16
-91
0
13
0
-1
-4
-77
15
0
-34
-8
0
0
6
2
0
-31
-3
5
14
8
4
-7
28
0
-46
10
0
23
6
41
5
4
-34
-4
-8
-3
-14
-1
-25
-120
0
23
0
-6
-3
-11
-61
-40
-2
0
-50
0
-68
-54
0
1
0
-14
-1
3
3
23
4
0
-2
0
-12
-4
-12
-2
0
31
-22
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
-22
-10
27
42
-24
-37
-16
2
-23
56
-20
-35
77
-13
1
30
25
0
-27
1
-12
-10
5
1
7
6
-25
9
7
3
8
20
11
30
-9
32
69
22
-28
32
-19
-6
51
69
-37
-52
-11
28
-22
90
-31
37
-17
21
-29
0
20
95
13
18
-84
-40
11
-17
10
16
-4
-17
65
-4
0
-11
26
-23
9
-30
-6
0
-4
44
-27
25
0
2
-13
-19
-5
24
26
8
8
80
-38
-16
17
13
99
-2
-47
30
12
1
-11
-3
17
20
-102
18
25
26
-17
-32
-11
31
19
-7
-58
31
0
-7
-95
-35
22
45
-42
-10
13
9
14
-72
68
28
6
-2
-31
34
18
47
46
19
-3
39
77
11
5
-3
-10
37
-12
13
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
-2
0
-1
0
0
-46
0
0
0
0
0
0
17
0
8
0
0
0
0
-61
0
0
0
0
0
0
-4
0
4
0
0
0
0
3
0
0
0
0
0
0
69
0
0
-4
0
0
1
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
-4
0
0
0
10
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
-6
0
0
58
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
-25
0
0
0
-1
0
-8
1
14
4
0
2
0
0
0
0
0
0
-28
-4
5
0
-2
0
0
32
0
0
-16
0
0
22
33
0
0
0
0
0
0
-18
0
0
-11
0
0
21
-76
0
0
-7
-2
0
-14
8
0
0
0
0
0
-8
-15
0
0
0
-2
0
0
-26
0
0
7
0
-5
0
-34
0
0
0
0
8
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
-2
0
0
0
0
18
0
0
0
0
0
0
-27
0
0
0
0
0
5
8
0
0
0
0
0
0
18
5
-3
-14
0
-9
0
-28
0
0
0
-2
0
0
-6
0
18
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
18
0
-9
-3
-12
55
-7
9
2
22
-2
2
61
4
11
-2
-1
0
1
-11
0
11
-26
3
0
-40
8
-4
19
-18
18
-67
-4
-4
-48
-21
-2
-17
9
11
-49
4
7
-1
59
67
-2
33
-49
-15
-3
-8
-14
-47
-70
30
-20
-3
-30
-4
26
14
-28
42
-8
-8
8
-23
-9
-15
4
-5
-1
-5
0
17
-3
15
-1
-3
0
9
12
0
24
-6
-1
0
-8
2
-1
6
-67
-1
1
-17
0
31
-26
19
-5
-27
-2
-12
-52
6
8
54
10
-9
-57
-71
17
5
-67
8
-7
-58
-26
3
-4
-43
3
-4
-27
-4
15
0
23
-7
-7
15
0
17
0
0
0
-74
-14
0
7
0
6
0
-19
-3
0
56
12
4
-1
-48
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
39
-1
-6
78
0
24
24
74
0
9
-59
0
-6
0
29
0
0
0
0
22
0
8
25
-14
0
0
14
8
-14
49
-3
-12
0
0
3
-53
6
-11
38
-1
-5
43
-54
0
-1
73
0
28
88
-13
0
6
-41
0
22
10
43
0
13
-1
-5
9
128
-27
0
3
18
0
14
-2
23
0
0
-36
0
28
0
7
0
-1
53
0
-24
0
0
45
0
0
0
-7
0
-52
-6
-3
0
0
0
-3
24
-3
-46
-7
0
0
-14
-41
-6
-5
-57
0
2
16
-32
0
5
-177
0
0
-10
26
-8
8
30
0
18
-6
4
0
-78
-33
0
-19
-5
27
0
0
46
0
3
0
-19
0
-2
0
0
-8
0
36
40
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
57
0
0
0
52
0
-5
-5
-21
0
0
12
0
2
0
0
0
0
6
34
-56
0
-5
0
0
4
0
0
-12
0
0
0
10
0
0
111
-7
0
8
11
0
-2
-37
0
0
33
-25
0
0
-45
6
0
-10
8
0
0
-42
0
0
34
-19
0
0
-30
16
0
14
49
0
0
1
0
0
0
36
0
0
0
109
0
0
37
0
0
0
1
0
0
22
1
0
0
0
0
0
-21
0
40
3
0
0
8
21
24
-5
-3
0
0
7
65
0
0
55
0
0
-1
-54
0
2
38
-2
0
-2
92
0
-40
7
0
0
0
50
0
0
6
-18
0
0
-9
0
37
0
0
0
0
-17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
41
1
-28
8
0
17
0
0
-19
0
2
0
2
9
18
0
-12
0
0
-9
-29
0
10
0
0
-2
11
29
-4
15
-22
0
0
15
0
8
-12
0
10
3
27
0
-15
-12
-15
11
0
-29
-1
0
9
-1
-6
0
44
0
3
18
78
0
0
0
0
0
67
0
20
0
33
0
0
0
-11
56
0
-12
0
0
0
0
0
0
-11
0
2
0
0
0
0
27
0
-9
-3
0
0
0
15
0
2
-33
6
-5
0
-46
0
22
-9
13
-10
0
-47
0
-25
-37
-61
13
0
-29
0
95
-52
0
0
0
10
0
0
-39
-60
-2
0
-47
0
18
-5
-12
6
0
59
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
27
-3
-3
21
-8
-49
-42
58
54
-51
-45
-15
0
-17
-16
-35
-12
-12
-20
53
-1
-21
48
10
-45
30
72
22
-7
59
35
-24
-7
23
11
75
-95
18
-14
-47
-21
19
-79
-50
5
-49
-74
22
-7
-35
24
47
20
-5
-34
0
9
108
36
50
34
-17
-3
1
23
5
-54
-3
2
6
5
-71
1
-15
-13
-1
-25
-28
64
15
-17
-50
-2
3
-8
-59
-7
-31
42
48
30
-58
-53
78
-1
-54
-25
-11
55
63
2
14
-44
-57
32
109
17
3
-80
-31
35
-6
6
66
-8
-6
41
-89
0
-28
-12
-22
-62
7
-14
13
-4
10
58
1
5
35
3
33
-12
7
-42
20
-3
-3
30
20
21
-36
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-50
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
15
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
43
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
-3
0
0
0
0
-13
0
0
0
0
0
0
-22
-4
0
0
0
0
0
-60
0
0
0
0
0
0
-5
0
0
2
-2
0
1
2
0
0
-3
0
0
0
57
-8
0
-8
0
7
0
-53
0
0
-2
-8
3
0
-7
0
0
2
5
1
0
-5
0
0
0
0
0
0
-5
0
0
0
0
3
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
-1
0
0
0
0
10
0
0
0
0
0
0
20
0
0
0
-1
0
0
-19
0
-3
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
62
0
-8
0
11
-51
-12
2
0
0
0
51
-28
0
-6
-1
-59
0
26
0
7
-3
16
0
-1
8
0
-45
32
3
6
-22
1
-9
115
25
-4
20
41
0
17
57
9
-1
9
34
-3
-6
-30
-27
0
5
-16
-10
43
30
24
0
-7
-3
6
32
5
-11
0
4
8
-6
26
36
43
0
0
0
-29
-34
0
11
34
0
0
2
45
0
-15
12
0
6
8
-4
8
-73
0
-40
12
-2
-1
-8
-8
-16
-31
-25
-3
-24
-34
-13
-12
-16
0
0
-82
-2
30
0
-6
-10
31
-21
5
-6
0
-45
25
-30
9
9
41
0
0
-8
-5
-40
0
19
1
-13
0
0
12
0
20
-14
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-12
-3
0
0
0
6
0
0
0
0
0
0
-17
-3
0
0
0
0
0
-65
0
0
0
0
0
2
12
0
0
0
0
0
0
-25
0
0
0
0
0
1
-2
0
0
-9
4
0
0
-47
0
0
9
0
0
17
-24
0
0
5
0
0
0
-25
0
0
0
0
0
0
58
0
0
0
0
-1
0
-24
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
0
2
0
0
0
-17
0
0
0
0
0
0
9
0
0
-1
0
0
7
-7
0
0
-4
0
0
0
-19
0
0
7
0
0
0
83
0
0
0
0
0
0
-43
0
-7
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
17
-8
76
0
0
78
0
0
0
0
0
0
3
10
17
0
18
0
0
14
-21
0
18
0
0
-6
-18
0
8
22
8
0
23
12
0
1
38
0
0
11
-15
-2
0
-26
14
0
14
-1
0
-3
22
0
0
-8
11
0
0
64
41
0
12
-2
0
0
64
0
0
0
64
0
0
0
-57
0
0
11
-1
0
0
0
0
0
80
0
0
0
0
0
0
-40
0
-19
13
0
0
0
40
0
0
5
0
0
0
73
0
0
-6
0
0
0
0
0
9
-7
10
0
0
-40
0
-18
-31
0
0
0
27
0
0
-22
3
0
0
16
0
1
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
1
0
-1
0
-48
-7
1
0
0
6
0
-23
-5
0
0
0
0
0
-42
-1
5
-8
-2
0
0
27
0
4
-3
0
0
0
70
0
0
61
3
0
0
-26
0
0
-14
0
0
0
68
0
0
6
4
0
0
-20
0
0
-14
0
-8
0
50
0
0
0
0
-6
0
26
0
0
0
0
0
0
-101
0
-3
0
0
0
0
-3
0
-19
0
0
0
0
-25
0
3
9
-6
0
0
14
0
-2
-12
0
0
0
-51
0
0
-5
8
0
0
42
0
-14
0
0
0
0
28
0
0
0
-14
0
0
-7
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
2
-13
-6
-44
1
6
37
49
2
1
2
1
-9
52
-17
21
7
-4
-12
-8
70
-38
-39
4
55
7
-4
-54
70
38
2
59
-4
9
-51
-37
-3
-62
-7
-16
-14
11
-62
2
24
70
51
-24
34
-24
12
44
59
-24
0
-30
-12
10
35
-38
9
46
4
34
-6
35
62
3
19
1
-3
-1
-23
70
30
-16
24
-2
39
-39
6
-24
-10
83
-9
55
4
82
8
-1
77
-7
-2
75
14
-158
-12
37
-7
-6
-109
66
-34
20
-15
26
-28
-32
15
17
17
20
-22
45
-27
3
17
0
-2
-17
82
48
4
-4
26
2
59
-26
39
9
0
26
-19
18
2
-47
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-4
0
-19
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
8
0
0
0
-35
0
0
-1
0
0
0
6
0
0
-1
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
12
-3
-5
24
-8
3
0
-6
-44
-1
0
2
-9
39
3
2
38
-56
9
-17
19
15
50
-46
-29
20
41
-14
7
-29
36
-55
-15
-43
1
28
45
-43
8
44
2
12
-6
-5
72
14
-51
23
1
-23
-15
3
58
37
-2
-3
6
1
5
37
-15
72
-8
15
1
18
-36
19
13
0
10
-16
6
-2
26
11
16
-33
-34
-32
-19
-13
-2
-10
-44
9
-39
36
-28
0
91
-13
2
-31
2
-11
-7
-13
11
51
54
-13
33
14
34
0
-2
-8
52
28
33
19
-42
-8
77
19
9
-26
-17
-23
-2
23
-7
4
88
3
18
-2
2
-12
-62
62
0
36
1
8
-19
48
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
12
0
0
11
0
-47
-8
5
0
21
0
0
-18
-8
0
1
0
0
-11
-39
-6
3
-53
13
-13
20
-8
0
1
-10
0
0
40
-2
0
2
1
-34
23
-4
22
5
-2
17
12
-32
0
-35
0
9
0
-32
7
0
4
0
0
-8
-3
-9
0
19
0
-8
0
-3
11
0
-12
6
0
0
0
0
0
-50
1
-2
3
0
0
-5
0
-10
-13
-8
0
0
4
-13
0
1
0
-9
-6
-7
-71
1
3
32
0
0
1
8
0
-8
4
1
33
6
-38
0
-37
-12
1
6
0
-6
0
0
0
1
1
0
-15
0
24
0
0
60
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
16
0
0
10
-5
-8
0
-2
-56
9
0
0
6
-4
29
17
-3
14
0
5
-13
15
0
74
-6
-6
5
42
2
0
-26
16
0
-22
8
30
8
31
22
-5
23
94
24
0
-18
30
0
9
137
-6
-6
17
57
3
46
0
8
0
0
1
0
-23
0
13
0
0
-6
2
0
0
-9
-12
-12
0
0
-16
-1
42
1
0
0
0
-1
11
-19
1
-69
-9
0
6
-66
42
0
-33
-15
6
88
29
34
2
119
23
0
-39
-42
-1
0
40
33
-2
28
-13
35
0
-28
-11
0
52
1
9
0
0
56
41
3
-2
-1
0
12
6
0
35
0
-3
41
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-7
26
-15
0
17
0
0
17
2
0
0
0
0
7
9
0
0
-25
20
0
41
2
0
0
31
0
0
-16
-65
0
-6
-3
24
0
20
16
0
0
-38
0
0
1
-16
0
6
-50
1
0
1
-44
0
0
49
0
0
0
16
0
0
-5
-4
0
0
-36
-6
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-7
6
0
0
0
-56
0
-2
-18
4
0
24
3
0
-8
18
0
0
0
9
0
0
-17
5
0
0
-46
0
70
25
0
0
-7
24
0
0
12
8
0
0
-42
0
-4
0
0
0
0
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
46
0
0
0
0
0
3
8
0
0
2
0
0
6
-67
0
0
-3
0
0
-3
-21
0
0
40
7
0
0
-53
0
5
0
0
0
0
52
0
0
0
-2
0
0
-60
0
0
0
0
0
0
-4
0
0
0
0
0
0
-78
0
0
0
0
0
0
-8
0
0
0
0
0
-1
6
0
0
4
0
0
0
41
0
0
0
0
0
0
-10
0
1
0
0
0
0
8
0
0
0
0
0
0
37
0
-8
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
-36
0
67
8
-7
9
34
17
41
38
-2
-12
12
11
-44
-10
10
-51
6
-24
36
-12
28
-7
-81
19
9
34
4
14
-3
-33
47
3
44
21
1
-21
2
37
-3
-31
-39
3
-24
77
7
-13
12
1
42
92
-15
18
0
1
14
-44
10
55
1
4
71
1
0
2
-89
20
26
71
-20
-15
-30
39
-5
61
-56
-30
13
23
100
58
5
-13
31
-26
51
62
-1
13
6
12
-43
-35
-18
35
-1
-31
-4
-9
50
-34
25
-17
1
7
56
24
13
-38
-13
-3
12
42
-49
19
1
0
2
6
1
40
62
0
18
-27
-4
-9
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-48
2
0
0
0
0
0
4
0
0
0
0
0
0
-75
0
0
8
0
0
0
62
0
0
-1
0
0
0
66
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
2
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
-5
0
0
0
0
0
-1
-9
0
0
0
-1
0
-5
-25
0
8
-13
0
0
-4
36
0
0
5
0
0
0
26
0
0
3
0
0
0
24
0
0
-1
0
0
0
-4
0
0
-3
0
0
0
30
0
0
0
0
0
0
-77
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
0
0
0
0
-3
0
18
5
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
2
0
0
0
0
-51
0
0
0
0
0
0
-3
3
0
0
0
10
0
-41
0
0
0
0
-3
12
-63
0
0
0
0
-2
0
-3
0
0
0
0
-2
0
-91
0
0
0
-9
0
0
-19
0
0
0
0
14
0
114
0
0
0
0
-6
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
3
0
0
34
0
0
0
0
0
0
16
0
0
0
0
0
0
-41
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-2
0
0
0
0
0
50
0
0
0
0
0
-3
13
1
0
0
0
0
0
-13
0
0
2
0
0
0
-18
0
0
-5
0
0
0
-24
0
0
-5
0
0
0
10
0
0
0
0
0
0
-22
0
0
0
0
0
0
12
0
0
0
0
-1
0
-45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
-7
0
0
0
0
6
0
-28
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-32
19
0
-9
0
-2
21
39
0
-4
0
0
38
-32
0
4
-4
5
0
45
17
0
27
-14
0
0
-11
-41
0
10
4
35
0
44
-17
0
0
71
0
0
24
-60
0
0
-14
-11
0
-5
-14
0
-4
44
0
0
1
-2
0
0
-6
-26
0
0
-14
0
0
0
0
0
0
9
0
0
1
-1
0
0
-35
0
12
-16
0
0
6
-45
0
1
63
26
0
0
4
0
-4
5
0
0
-9
-8
0
-2
-51
-32
0
-3
-15
0
-15
43
0
0
-8
-28
0
0
-12
-21
0
0
1
0
5
1
0
0
0
-6
-15
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
3
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-4
6
47
-23
29
84
26
-32
50
0
1
10
50
1
-7
-1
0
-8
15
-6
-5
-27
9
-6
-16
21
-3
14
-10
79
16
8
-56
16
-31
-8
-25
-99
-25
11
15
-19
-11
42
17
-17
25
-16
13
-12
-25
-16
54
-13
6
-22
0
-23
-30
-22
-1
22
-5
0
6
-67
-56
3
8
104
5
38
13
87
-25
82
95
-38
56
19
-20
46
4
47
-7
6
16
-19
40
14
-23
-20
-30
-33
-23
1
16
66
2
-25
-26
-42
36
15
33
2
-26
-11
-56
5
6
-42
-13
-2
-24
-2
-93
43
-22
0
-33
39
-24
24
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
20
-2
49
0
0
17
-31
-13
1
11
6
0
-54
-10
0
72
-49
4
-5
33
14
-4
-13
-19
7
52
-16
-1
7
-10
14
-10
-60
-7
-56
0
-1
53
14
-48
17
4
0
-1
15
-1
-27
0
4
0
-1
13
-28
-9
0
76
0
0
0
0
1
0
-27
6
0
1
-3
0
4
31
-1
118
21
0
-3
-6
7
-2
-4
-19
22
1
17
-42
-5
32
-53
2
26
7
-22
-4
-9
-57
42
-3
2
-55
0
-26
68
0
-66
1
-17
0
14
1
89
40
0
-37
0
24
2
0
-22
0
-2
0
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
0
-6
0
-2
-32
-10
58
-8
-22
-62
-11
-20
0
0
43
-30
6
-37
37
-45
0
29
27
-8
-63
44
-16
-6
0
-74
-7
-29
7
-58
0
-3
13
1
-7
1
-34
0
0
-16
2
29
3
43
0
5
5
-64
6
0
-6
-9
0
0
0
13
0
-2
-10
3
3
3
2
0
39
-1
105
-50
0
0
31
-23
-1
-4
-93
16
2
-33
-36
-12
31
-43
0
-5
24
-43
1
33
-7
-41
-49
32
-13
0
-3
-27
-1
41
8
51
0
0
28
-72
44
-1
-105
0
-1
-70
21
12
0
10
14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-3
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
1
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
0
0
0
0
-6
5
0
1
75
-24
-2
3
10
0
0
0
0
-8
-4
34
0
0
97
0
-5
-9
-28
0
0
1
0
26
0
-29
0
0
51
-1
-3
0
-44
0
0
-14
0
16
0
-111
0
0
0
0
18
0
1
0
0
0
0
13
0
12
-2
0
2
0
0
0
-12
0
3
0
0
0
0
53
0
5
-6
0
0
4
14
0
0
17
0
0
0
28
0
2
-9
0
0
0
-2
0
-36
73
0
-2
0
-13
0
0
15
6
11
0
-50
0
-64
0
0
12
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
22
0
0
0
0
1
55
0
0
10
-4
0
1
36
0
0
8
0
0
4
28
0
0
-4
0
0
-3
38
0
0
-9
0
0
4
5
0
-1
17
1
0
0
8
0
0
20
0
0
0
-103
0
0
0
0
0
0
19
5
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-7
0
-4
0
0
0
0
-54
0
-3
2
0
0
0
3
0
2
0
0
0
0
17
0
0
4
-5
0
0
-32
0
-28
0
0
0
0
-44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-3
83
0
0
1
0
0
0
17
0
4
2
0
0
0
21
0
0
0
0
0
0
25
0
0
3
5
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
4
0
0
0
0
1
0
0
0
0
0
0
9
0
2
-1
0
0
0
32
0
0
0
0
0
0
2
0
-5
0
0
0
0
-5
0
0
0
6
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-28
6
9
-22
-6
-51
32
16
60
17
47
64
-8
43
-20
65
11
11
-24
-3
-16
-2
-4
28
36
-4
11
4
-21
11
-58
-3
3
-41
-67
2
34
-51
-40
10
-20
-14
-15
-19
19
-45
17
-14
-1
9
22
-34
-5
-25
-14
-15
0
10
-28
1
-41
0
-62
17
86
-69
-29
13
32
-15
30
-23
-34
34
-8
-37
72
-8
96
13
56
-39
3
9
-13
50
-14
13
20
-37
-61
8
-63
16
-30
29
27
-8
-6
1
30
-2
62
-25
-16
1
14
-18
-37
46
-1
15
19
-24
24
10
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-22
39
12
94
51
0
84
24
-10
-8
-57
0
1
56
38
-13
29
14
32
1
30
9
1
-3
-17
0
-27
4
25
0
1
-25
-42
1
-1
-28
0
0
10
0
48
0
-5
1
0
-3
62
-82
0
9
2
0
0
0
8
6
49
-29
-2
15
9
0
8
-48
-13
93
14
0
9
-4
8
1
-6
22
-21
0
-24
-129
-1
47
68
8
0
14
45
0
3
-34
-1
8
4
16
-2
122
1
-2
16
0
9
2
-6
16
-53
-5
0
71
0
16
4
0
3
0
-28
-11
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-39
0
0
16
-5
0
-3
-5
0
0
0
0
0
0
11
0
0
12
-1
0
0
12
0
0
0
0
-3
0
-14
0
0
0
-1
0
0
-53
0
0
-1
0
0
0
-1
0
0
0
3
0
0
-26
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
43
0
1
-4
0
0
0
-25
0
0
0
0
0
0
4
0
2
0
-6
0
0
18
0
7
0
0
0
0
0
0
0
0
4
0
0
-8
0
10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-1
-9
-5
-16
-1
43
0
0
1
-7
0
-2
-8
5
0
0
-8
0
2
0
68
10
-1
24
0
-11
0
29
0
7
-3
5
0
-8
35
0
0
4
0
1
0
66
0
0
0
-9
45
0
53
-5
0
0
0
0
0
21
-44
0
0
0
0
0
73
1
17
0
0
0
0
8
0
0
-5
0
-6
0
75
-4
-2
-4
0
9
0
-29
0
-1
7
-1
0
0
52
0
-16
-3
0
-3
0
26
0
0
0
3
7
0
54
0
57
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
1
-9
22
0
-19
61
0
0
7
0
0
0
-7
0
8
-5
0
0
0
45
0
0
0
0
-7
0
9
0
0
-13
-6
0
0
-36
0
0
0
0
0
0
23
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-5
0
2
0
0
0
0
27
0
-4
0
0
0
0
-5
0
0
0
0
0
0
7
0
8
0
0
0
0
47
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-32
0
0
12
0
0
0
-8
0
0
-7
0
0
0
-26
0
0
6
0
0
0
-2
0
0
0
3
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-58
1
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
6
0
0
0
35
0
4
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
17
0
0
0
-2
0
0
0
-4
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-4
3
-5
0
-2
10
62
0
4
-46
-13
-21
-10
13
0
4
25
-4
1
0
37
7
0
-52
30
-5
0
-1
0
9
19
0
5
0
-9
0
4
0
-13
8
0
16
4
0
0
0
-5
0
49
-22
0
0
0
0
0
36
1
14
8
0
0
-4
24
0
-3
101
-2
1
1
73
0
1
6
0
-19
-4
32
1
10
-34
47
5
0
-25
0
32
-8
1
2
0
-80
0
0
25
-15
16
0
-38
0
48
0
0
7
0
-37
26
24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-6
-3
35
17
-20
20
22
31
108
8
-4
13
6
9
2
34
56
16
-11
62
6
-22
42
8
15
54
-29
12
-4
-38
49
65
28
-27
-16
10
31
17
25
3
0
-6
27
13
0
-14
32
14
27
14
27
-15
3
-10
-84
0
-53
14
-2
-5
-13
-3
46
-32
-8
5
28
20
-50
2
22
17
-26
30
70
71
36
-15
76
34
21
-13
57
-11
-19
38
22
1
65
-1
7
-3
-25
8
-33
3
-3
0
-1
19
68
16
-3
0
23
-41
8
-2
37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
0
5
24
0
0
41
7
0
-7
35
-5
-2
-1
14
0
-5
77
7
1
-1
83
0
0
-32
-1
0
23
12
0
0
13
0
-7
0
5
0
0
0
2
-7
0
1
0
0
0
0
0
0
-107
2
81
0
-3
0
0
52
5
8
1
0
0
0
-47
4
97
1
0
0
9
-35
0
-14
122
0
0
0
-8
0
-2
14
9
0
0
-12
0
70
10
1
0
0
67
0
2
-23
-33
0
0
2
0
20
0
0
-1
0
-43
3
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
78
-5
-3
36
0
1
45
51
-3
10
120
38
12
-1
28
2
0
29
0
-5
-2
49
0
0
-44
33
9
0
7
0
0
6
0
-11
0
51
0
0
0
6
-36
0
0
0
0
0
2
8
0
-69
10
0
0
0
0
-8
-2
0
5
10
0
0
3
83
-2
-13
1
20
0
-16
58
0
96
24
0
0
7
3
0
1
84
24
0
-2
-27
0
-38
-2
8
29
0
69
0
0
29
-22
2
0
-8
0
27
-1
0
0
0
59
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
94
38
7
2
57
20
-3
70
41
24
-41
-33
37
3
-10
69
21
-6
42
-8
-1
47
-57
19
75
-3
10
0
-10
39
0
-17
-2
25
1
41
22
12
-8
0
14
-32
2
0
0
-6
0
-21
90
-5
1
-2
6
0
50
8
-61
31
0
0
-68
13
-10
11
1
-6
6
-21
7
0
-40
1
3
47
50
-9
-9
-50
-65
17
53
-8
-23
8
-68
76
-2
-19
21
-15
0
3
52
-44
45
0
-7
0
42
4
0
-7
0
83
80
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-2
0
48
69
0
75
1
-62
2
42
4
-26
62
71
-27
0
43
-13
-7
21
12
-9
-3
12
35
4
-39
0
-5
0
0
-6
0
52
30
10
3
-1
0
4
-20
0
12
0
0
0
0
-10
0
-30
-11
0
-7
0
0
30
83
-11
42
91
0
-2
1
10
1
56
-42
0
-19
61
3
3
51
50
0
12
34
-12
0
53
16
-8
18
7
-40
0
-37
-3
1
-28
0
4
0
1
25
5
37
0
15
0
-12
5
0
15
0
0
5
-2
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
0
0
3
0
0
0
-39
0
0
3
2
0
0
-36
0
0
-6
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
-42
0
0
0
0
0
0
2
0
0
0
0
0
0
42
0
-16
0
0
0
0
56
0
0
0
4
0
0
47
0
0
0
0
0
8
70
0
0
-1
-2
0
0
1
0
29
0
0
0
0
-9
0
0
-1
0
0
0
45
0
-4
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
-1
27
28
63
49
-13
41
22
-2
27
5
50
0
-5
0
-1
35
38
13
2
6
0
0
10
0
6
0
-22
2
6
4
88
85
0
30
5
-1
0
0
-6
0
8
17
1
0
0
0
0
67
0
10
-8
0
0
-8
31
-3
-31
124
-5
0
2
-39
-18
8
-13
1
8
0
6
0
4
-144
-67
4
0
-30
-2
-18
9
1
9
0
3
8
0
-33
39
-28
0
46
0
76
0
0
-19
0
24
-23
0
25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-4
94
-2
7
-31
-9
43
10
-18
20
12
-27
19
26
16
35
54
53
18
7
48
5
-31
6
55
-5
-7
-5
-13
31
113
81
17
-3
1
20
16
41
0
61
-53
109
37
49
87
2
44
-5
-9
47
88
-20
7
-17
-50
-103
0
-126
-7
-38
5
-14
-112
10
10
15
-56
-45
1
-148
-11
18
-17
-4
-33
39
42
18
26
32
-7
58
-31
35
5
-72
68
25
11
28
-44
-7
-70
-4
-43
-11
-2
3
-1
-19
-2
-15
46
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
71
0
-3
49
0
0
-1
-30
0
0
-4
0
0
0
-46
0
4
0
0
20
0
-29
0
0
0
0
0
0
39
0
0
0
0
0
0
-56
0
0
0
0
0
0
4
-3
0
0
0
0
0
5
0
2
0
0
0
0
-29
5
0
0
0
0
0
-43
0
10
-5
0
0
0
-9
0
0
38
-24
0
0
-12
0
3
0
0
0
0
-5
0
0
0
0
0
0
-125
0
14
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-8
-2
0
40
0
-3
-10
45
0
0
-1
0
-2
-6
47
8
0
13
-2
-1
3
77
0
0
0
0
0
0
-29
0
0
0
33
2
0
31
0
0
0
0
-5
0
82
-5
0
0
0
0
0
48
14
-5
1
0
0
-17
21
0
-1
-4
0
0
-5
-25
1
0
5
-3
0
0
39
0
0
-5
-10
0
0
8
0
6
3
0
0
0
77
0
0
0
-3
0
0
-8
0
10
0
0
0
0
21
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
-22
-75
5
70
24
13
34
0
8
54
-8
34
-27
21
1
0
102
25
-74
4
38
0
0
-12
-6
5
0
27
0
0
-13
12
61
0
32
5
0
0
0
21
0
44
-6
24
2
5
0
-3
14
9
78
-6
-1
6
46
4
14
45
29
-28
0
31
-40
0
52
-22
6
10
-30
9
0
-22
-16
-52
0
16
28
0
-58
4
-3
9
0
7
-4
-1
6
-36
21
-3
2
0
-76
-7
0
9
0
-17
35
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
22
0
0
0
-63
0
0
0
0
0
0
-10
0
0
3
0
0
0
-156
0
0
0
0
0
0
9
0
0
0
0
-5
0
43
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-5
0
2
0
0
0
-7
-18
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
6
0
0
0
20
0
0
6
0
0
0
-37
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
0
-8
24
-2
0
13
-9
0
0
-52
4
0
0
18
0
0
-6
-29
0
0
5
0
1
0
0
0
5
41
0
-8
1
-25
0
0
-42
0
0
0
0
0
0
46
-9
0
0
0
0
0
5
0
-1
23
0
0
40
-32
0
0
-42
-4
0
0
11
0
-6
52
0
0
-7
36
0
0
-45
2
0
0
94
0
60
5
0
0
0
20
0
0
2
5
0
0
-31
0
13
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
12
1
-7
-36
39
0
27
0
19
-30
47
34
0
25
0
5
-17
7
51
0
44
0
14
-15
31
31
0
12
-2
1
0
-2
-2
0
13
2
5
-5
-1
0
0
-28
0
43
-10
0
0
-1
36
1
-51
44
10
-17
-5
-13
-1
46
-2
0
0
0
8
6
-47
33
14
21
0
20
1
31
-72
4
3
0
41
0
0
20
44
-16
0
37
0
0
0
0
26
0
23
-39
0
-8
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
-12
-31
11
35
19
32
38
3
-5
27
2
8
28
23
21
-33
-14
81
-2
-28
4
29
23
-1
77
-8
0
-5
-46
-16
-7
-2
-55
70
12
51
-48
46
-26
0
21
2
35
-60
11
-10
-30
-3
12
-50
48
46
-98
36
-25
0
37
-22
-15
13
13
45
1
-33
36
3
22
59
15
-12
-1
-29
-20
-46
-47
-3
53
12
28
33
22
37
18
10
0
-3
-24
28
4
0
22
17
39
-43
64
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
3
-9
0
22
0
1
0
0
0
0
0
0
-113
0
0
0
0
0
0
-45
0
1
0
1
0
0
-7
0
0
0
0
0
0
28
-10
0
0
0
0
0
24
0
-7
0
0
0
0
62
0
-8
0
0
0
0
-12
0
-4
4
0
0
0
-19
0
0
0
0
0
0
46
0
-2
0
0
0
0
-42
0
-2
0
0
0
0
32
0
-40
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
7
0
7
-2
-1
5
0
13
0
0
-22
-8
23
0
56
2
0
7
0
-12
0
-9
0
0
0
-11
2
0
38
0
0
0
0
-8
0
75
-6
0
0
0
1
2
-36
17
-4
18
0
3
0
0
0
-10
44
2
-1
8
-1
-4
0
28
-4
0
0
13
-1
-15
-37
48
7
1
-10
0
-73
-3
12
-1
0
71
0
0
-3
32
0
0
-1
0
11
0
0
-12
0
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
20
43
32
-6
31
-24
20
-27
-18
-8
31
17
14
8
3
-1
-18
2
24
-5
7
-2
8
-4
-54
22
5
-12
-21
-8
0
-3
25
-1
2
-18
16
-4
77
0
-57
38
-14
-20
68
-4
0
-4
22
29
13
-23
-57
13
-27
24
-1
10
125
17
-5
-31
20
-2
47
1
-11
2
29
-8
-4
1
0
6
-68
-1
11
-4
-6
-12
-5
70
0
-5
2
-8
0
8
87
0
21
36
-6
9
69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
40
0
1
26
-1
3
-7
12
0
0
6
12
-19
-8
-38
0
0
4
0
20
-2
0
0
0
-4
0
-24
0
32
3
0
0
0
26
0
84
-2
-1
-1
0
0
42
73
0
28
-11
0
2
45
-23
0
-10
-38
0
0
14
35
4
-52
84
0
0
-62
17
0
22
28
2
23
-2
-6
3
27
-81
0
-2
0
14
0
0
-8
0
-5
0
-14
0
2
14
0
-2
0
79
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
9
-2
12
0
0
0
27
0
0
45
25
0
0
34
0
0
18
0
0
0
48
0
0
0
-12
0
0
-17
20
0
0
0
0
0
59
-9
-7
-1
0
0
0
42
-1
20
-12
0
0
0
67
0
2
-3
0
0
1
24
-4
10
-70
0
0
3
59
0
0
94
2
0
4
20
0
-93
24
0
0
2
0
0
0
0
-17
0
0
36
0
25
0
0
0
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
-2
53
-27
0
22
0
0
-33
0
61
0
20
-5
-2
0
74
-7
0
32
10
0
0
0
1
0
-46
-8
0
0
-3
0
1
-109
1
39
-4
0
0
0
41
0
3
19
-18
-1
0
-60
3
29
6
-6
17
-4
-7
-8
28
23
-24
0
0
-8
0
25
-30
2
-4
0
-13
0
0
9
-27
5
0
9
0
37
0
-1
25
0
11
19
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-9
129
-76
6
-30
-11
-21
9
-4
7
72
-38
-10
36
0
10
8
35
-3
11
-1
3
-11
-27
-16
-62
11
15
-13
15
18
68
0
19
-9
23
5
-31
12
-120
42
-5
8
-22
45
13
26
7
15
-11
100
21
13
-59
-36
31
0
12
10
22
5
28
-12
-22
30
-54
-7
27
11
23
-2
11
-45
11
8
-4
49
8
12
17
4
52
47
0
-7
0
-8
-24
74
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-39
0
0
0
0
-2
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
-15
0
0
0
0
0
0
14
0
15
0
0
0
0
32
0
0
0
0
0
0
-9
0
-5
4
0
0
0
2
0
0
4
0
0
0
1
0
0
0
0
0
0
48
0
0
0
-4
0
0
20
0
7
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-17
0
0
30
104
-1
0
11
0
0
0
0
10
0
-30
0
0
0
15
1
0
5
0
0
0
0
0
0
-19
0
0
0
0
0
8
26
0
0
13
0
0
-12
8
0
-6
0
0
0
-7
-55
1
-3
0
0
0
1
-17
0
0
-1
-13
0
0
2
0
4
2
0
7
3
42
0
0
-8
0
0
-1
-18
0
43
0
0
0
0
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
36
0
-9
9
35
23
59
2
0
8
-5
0
34
-1
10
0
-1
0
-21
-18
0
17
-12
-1
0
11
23
0
-12
-1
5
0
10
0
13
-14
2
-75
28
14
9
-63
-4
5
66
25
79
-23
-2
7
-8
-35
-17
1
-30
10
-20
6
99
23
-51
7
-27
3
1
-39
-5
0
103
11
-14
-5
8
4
3
83
0
8
0
-29
0
2
-31
0
-8
10
-2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-37
0
-2
14
-2
-14
0
42
12
0
-15
0
-8
0
2
0
0
0
0
-8
0
8
0
0
0
0
0
0
-9
-2
0
-6
0
0
0
-27
-3
20
0
0
0
-9
54
0
6
-3
-1
0
1
-84
0
-1
-4
0
0
0
26
0
0
38
3
0
0
-11
0
-5
6
0
0
0
43
0
0
-1
0
0
0
1
0
50
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
0
0
-69
15
8
1
8
0
0
0
0
0
0
-12
0
0
7
27
0
0
9
1
0
0
0
0
0
32
9
0
0
-16
0
0
8
0
45
0
0
0
4
48
0
7
-13
-23
0
-30
11
0
-2
51
0
0
12
19
0
-8
40
7
0
0
13
0
-17
44
0
0
0
24
0
0
-46
-52
0
0
-25
0
-21
0
0
0
0
30
8
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
0
0
0
0
5
0
22
0
0
0
28
46
0
-40
-9
0
0
0
0
0
-6
0
0
0
0
0
0
-30
0
0
12
0
0
0
-39
0
-24
-7
-9
2
0
52
0
8
5
2
0
0
-13
0
0
7
-4
0
2
50
1
-1
13
-6
-9
0
-46
0
3
2
0
0
0
74
0
11
0
0
-14
0
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-12
-6
21
13
-15
5
18
-4
43
26
-18
-2
0
-1
24
21
-2
-49
-27
22
12
33
48
-12
30
-5
13
31
-21
3
-20
-5
-15
19
-26
94
33
21
-23
-56
-28
32
-36
-8
-9
-2
-26
44
-9
5
-24
64
101
-14
-6
0
33
-42
-48
-61
18
20
-6
42
-38
6
10
38
3
12
-21
-18
10
-20
25
-1
11
-17
-7
16
-61
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
5
0
0
-1
-3
0
1
0
0
0
0
22
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
0
0
0
-15
0
14
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
9
0
16
0
44
0
0
0
-1
5
0
84
0
0
0
0
0
0
-13
1
0
0
0
0
0
-4
0
0
-1
0
0
1
1
0
0
8
0
0
0
-8
0
0
-1
0
0
0
13
0
0
0
6
0
0
-17
0
1
0
0
0
0
115
0
2
2
-12
-6
0
-53
0
-6
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
-5
0
1
6
0
20
0
8
0
28
97
0
-13
8
0
0
5
4
2
-26
-62
0
20
8
0
9
-6
1
17
22
4
0
-35
-12
6
23
-1
19
37
-44
5
4
-38
-11
4
54
39
6
0
-22
0
-20
-3
-16
-15
0
6
-12
-10
15
1
3
0
-6
0
1
-20
0
19
0
3
0
18
-35
0
-28
-44
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
17
23
0
-16
0
17
2
8
-17
-17
3
0
4
-23
0
0
0
-9
0
8
7
-2
-5
0
0
1
-8
-7
57
14
0
-8
119
29
0
17
18
0
1
32
24
0
101
38
0
-57
-29
-73
-7
51
-28
-22
1
0
15
-5
-35
36
0
8
5
-1
0
-5
60
24
-44
0
13
0
8
-22
0
30
0
22
-35
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-30
0
0
0
67
0
13
0
36
0
0
10
-1
0
0
0
0
0
10
2
0
-1
-4
0
0
9
0
-3
14
0
0
6
-22
0
0
7
1
0
-9
53
0
12
16
0
0
7
-51
0
4
-88
6
0
-17
-5
0
4
-17
0
0
0
17
0
0
2
6
0
0
-6
0
40
0
0
0
0
36
-2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-7
2
0
50
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
-24
6
0
0
12
51
0
14
0
9
-5
0
-13
0
-4
0
0
0
0
-66
0
-5
-15
-3
0
0
-107
0
-24
1
0
0
0
18
0
0
0
0
0
0
-54
0
6
0
0
5
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-19
14
-72
-17
-19
-5
7
40
-2
4
-140
-50
25
18
41
-40
17
-12
43
78
19
55
21
52
66
-37
-29
2
11
-14
40
21
50
17
9
88
17
21
96
7
0
7
37
-23
-8
-2
-16
-18
-16
62
34
40
34
-7
-52
0
14
-46
43
-7
-33
13
12
-17
-1
-24
-13
50
-13
29
-73
-10
-47
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
12
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
6
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
2
0
0
0
-41
0
0
0
0
0
0
-5
0
10
0
0
0
0
26
0
0
0
0
0
0
-19
0
5
0
0
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
56
28
0
6
2
0
0
0
1
0
-11
3
3
0
0
0
-2
-64
0
-6
2
0
0
0
15
0
0
0
0
0
0
25
0
-10
8
2
-3
0
16
0
-6
-3
11
0
0
-65
0
38
0
0
-5
0
-6
0
0
0
-28
-8
0
-1
0
-27
0
0
1
0
12
7
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
8
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
17
0
0
0
0
0
0
25
0
0
0
0
0
0
-14
0
0
-1
0
0
0
56
0
0
-3
0
0
0
-51
0
-1
0
0
0
0
-56
0
0
0
0
0
0
-16
0
4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
2
-7
0
0
-35
-27
0
0
0
0
0
19
-12
0
-8
3
0
4
48
1
-22
-3
0
0
0
47
-14
-3
-43
34
0
6
-2
0
-25
-14
0
0
8
43
0
25
31
-52
0
0
-1
0
50
41
0
0
-8
6
0
-1
9
17
0
0
-50
0
-8
0
0
0
0
-32
40
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
8
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
6
-1
0
4
30
-26
-10
88
-38
-3
0
-2
45
23
-12
-14
57
0
-67
-15
-13
-81
56
-11
56
-18
-9
3
-3
24
-28
3
27
-3
19
18
7
7
-9
9
5
-6
-4
-24
-6
-19
-8
12
-10
-1
1
20
43
45
-6
0
-5
-9
35
-2
13
0
32
-22
12
-6
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
8
0
0
0
0
5
0
0
0
0
0
-6
2
0
3
-7
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
2
1
0
-66
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
-9
0
0
0
0
0
-9
-10
0
0
0
0
0
0
17
0
0
0
9
0
0
14
0
0
0
0
0
0
-31
0
0
0
4
0
0
20
0
-4
0
0
0
0
17
0
0
0
0
0
0
-82
0
41
0
0
0
0
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
-33
-5
0
0
0
0
0
-18
9
18
-18
0
0
0
4
0
0
6
0
-1
49
41
0
27
21
0
-1
3
-18
0
4
99
0
-3
7
-24
0
-24
62
0
9
0
-46
0
0
39
5
-2
2
12
0
14
7
0
0
0
-29
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
43
0
0
-2
0
0
11
4
-3
-2
12
0
-1
-4
-5
39
12
0
0
-8
24
0
14
47
-39
0
-34
17
0
79
-21
0
0
-8
32
0
-38
89
-10
0
-1
28
0
-14
19
-3
0
0
24
-4
1
-22
19
0
0
-2
0
67
11
0
0
0
19
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
16
-21
-29
94
-16
5
94
8
-1
-10
85
97
48
95
-12
44
19
42
26
-24
45
-1
22
14
-31
-30
-31
84
-15
22
4
6
-12
-11
-79
5
8
6
-29
37
22
-82
18
4
50
-17
-18
-23
-8
25
6
-10
-41
-26
10
-15
0
-30
-63
-8
-24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
1
0
0
0
-1
1
0
0
2
0
0
0
-10
0
0
0
0
0
7
-71
0
9
-9
0
0
0
15
0
4
-1
0
-10
0
19
0
0
0
3
0
0
-38
0
-36
-7
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-11
0
0
0
0
14
0
5
0
0
0
0
0
0
-30
0
15
-5
0
0
0
-18
0
0
0
0
7
0
-29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
8
-8
0
0
-14
0
0
-2
0
0
0
20
0
-8
74
23
0
0
20
0
5
-3
0
0
0
45
0
0
0
2
0
0
37
0
33
0
0
0
0
39
4
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
24
0
0
-5
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
25
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-31
35
37
-5
5
1
64
27
-21
-51
29
-47
12
27
11
28
18
11
52
5
18
-30
-8
-72
0
47
-16
3
17
36
-5
-10
17
-99
18
-21
-22
-17
-25
30
-41
-4
-9
0
28
-6
-2
7
0
0
-19
-1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-33
4
0
0
0
-58
4
18
8
4
0
1
40
-4
-7
-2
0
4
-4
35
0
0
-8
9
0
-1
35
0
-14
31
-1
0
0
-43
0
0
-8
-2
-1
0
15
0
-21
-5
0
0
0
6
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
96
0
0
0
0
0
0
55
0
0
0
0
0
0
77
0
0
0
13
0
0
2
0
4
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
1
0
0
0
0
65
0
0
-1
0
2
0
-4
0
0
0
0
0
0
-38
0
0
0
0
0
0
-36
0
6
0
0
-1
0
-35
0
0
0
-6
0
0
-62
0
-3
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
1
0
0
0
0
111
0
0
21
0
1
0
39
0
0
14
0
0
0
-87
0
-6
0
0
0
0
-4
0
2
5
0
0
0
-119
0
0
0
5
0
0
41
0
20
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
4
5
-18
0
0
-39
0
16
-4
-4
0
0
-16
0
0
2
-2
0
0
-2
0
15
1
0
0
0
90
0
0
0
0
0
0
38
0
3
0
0
4
0
-23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
75
60
31
32
-10
-24
8
-1
0
-17
7
16
4
-18
40
-2
-23
-28
-59
24
-22
21
-2
23
-28
-8
-35
0
52
-3
0
-1
9
19
0
10
0
-15
-1
0
33
0
-31
-4
-7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
2
0
0
0
54
0
-10
0
0
0
-8
46
0
0
-1
0
0
0
-37
0
0
0
0
0
0
2
0
0
0
0
0
0
-42
0
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
6
5
-17
-7
19
-12
43
0
-12
36
14
1
-7
-25
-1
12
3
-39
0
-2
-13
-13
-148
-29
11
3
0
-2
0
0
29
8
0
0
-34
0
37
0
-3
-4
0
-72
2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
68
0
5
0
15
0
-4
55
16
-11
3
0
9
0
8
0
17
0
-4
0
0
-9
0
80
15
8
-2
0
4
0
0
0
-8
0
0
-36
0
-49
0
0
2
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
0
0
20
0
0
0
0
0
0
-28
0
8
1
0
0
0
34
0
0
0
-1
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
-2
0
0
-1
2
0
0
-2
0
0
0
44
0
0
0
0
0
0
3
0
-6
0
0
0
0
28
0
0
2
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-10
-5
-1
1
0
-56
0
3
37
35
4
0
7
0
-19
9
0
0
0
-7
0
0
0
0
0
0
-33
0
-4
0
0
7
0
-25
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
10
19
61
13
77
-102
-21
9
37
-9
2
-30
-35
13
0
22
-15
-39
28
0
-15
8
-23
28
16
-81
-1
-34
-1
-13
51
-4
46
0
-5
22
1
20
62
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
1
0
0
-1
58
0
25
0
0
0
0
-13
0
-3
5
0
0
0
4
0
0
0
0
0
0
57
0
8
0
0
0
0
-8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-27
2
-2
14
0
0
0
36
0
0
16
6
-1
22
7
0
0
15
4
0
0
-23
0
0
-4
5
0
0
37
0
-15
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
57
-7
5
-70
0
-24
7
4
0
4
1
-32
-3
0
31
10
66
0
0
0
0
109
-1
13
0
21
19
0
-3
0
57
0
0
-6
0
-19
-14
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-7
15
0
0
3
-10
0
-5
37
0
1
0
5
0
16
19
0
0
0
-25
0
0
3
0
0
0
40
0
71
0
0
5
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
0
0
0
27
0
0
8
-16
0
1
61
0
-8
0
0
0
0
-22
0
0
0
-8
0
0
11
0
0
0
0
0
0
-3
-5
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
28
77
0
0
-75
0
26
-9
0
0
0
-15
0
0
17
7
2
0
-42
0
4
0
0
-3
0
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
-23
-14
53
34
117
44
7
-5
-31
14
-22
-89
40
22
-1
-1
-25
6
29
7
13
-2
-17
-39
4
57
0
3
-6
3
3
-121
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
2
0
0
0
-75
0
15
-1
5
0
0
14
0
0
0
0
0
0
-40
0
-25
0
-1
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-39
0
-2
52
-16
-6
4
-13
6
24
49
-3
-5
0
-28
0
-1
8
20
-14
0
-24
0
36
0
-2
1
0
-118
16
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
40
0
34
-3
5
-45
13
23
-2
50
0
-8
16
0
-9
8
-2
-1
-23
0
0
-12
0
122
0
0
6
-2
17
-6
9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
0
0
0
7
0
0
0
0
0
0
96
0
0
0
0
0
0
-6
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
-15
0
0
22
0
3
-2
0
0
0
-38
0
0
-2
0
0
0
-13
0
21
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-81
0
30
0
0
4
0
-32
0
2
-6
8
0
0
-12
0
-37
0
0
0
0
-43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
9
0
-5
34
37
72
3
-6
7
13
-67
-19
28
0
4
0
3
31
22
-24
0
-28
-9
-2
1
-92
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
0
0
0
5
0
0
46
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
62
0
28
-5
0
-6
0
-48
0
0
0
-25
-3
0
22
0
-42
0
0
-7
0
-20
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
0
55
3
24
5
-3
-10
-8
0
0
70
40
0
-16
0
-73
0
-3
2
0
24
31
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-22
0
-84
17
8
5
0
-60
0
0
-19
8
-1
0
37
0
36
0
0
1
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
41
6
0
0
0
42
0
0
14
0
0
0
22
0
-7
0
0
0
0
-1
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
0
0
0
0
9
0
5
0
0
0
0
-67
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-31
-1
-27
22
2
12
-1
-3
-3
-20
16
-10
-42
0
-18
-18
-7
-7
-25
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
44
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-1
-8
-114
-16
1
-50
3
-5
-26
0
11
0
-23
-62
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
48
-13
0
-36
0
22
0
-17
-20
0
55
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
-1
0
0
0
-4
0
-18
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
12
0
0
0
45
0
-51
0
0
0
0
-20
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
6
7
-29
48
-17
0
-5
-24
4
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
4
0
2
1
0
-45
16
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-42
-1
0
-5
0
-43
-14
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
35
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
34
-19
39
1
-40
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
116
0
-2
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-44
0
0
0
0
0
0
2
0
0
0
0
10
0
0
0
-77
0
0
-53
0
0
0
0
0
0
3
0
0
0
16
0
0
11
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-31
0
0
0
0
0
23
0
0
-3
17
0
0
9
44
0
0
0
0
0
6
27
0
0
0
0
0
0
-19
0
0
-8
0
0
0
5
0
16
0
0
0
0
0
0
0
0
0
-1
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-20
0
0
1
0
0
0
-62
0
0
3
0
0
0
8
0
0
0
9
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
-1
0
0
0
0
5
0
0
0
0
0
0
13
0
3
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-20
12
27
-24
55
37
57
-18
-76
29
31
24
40
51
91
-10
-47
29
-29
-32
2
42
-39
-80
-38
33
-3
-17
1
-66
-3
23
-30
-60
-118
-48
-12
-43
13
38
0
-16
12
-1
0
29
4
-38
38
1
20
-8
-29
-37
68
48
87
42
20
-9
-17
20
28
31
-1
80
2
-25
-3
-21
5
-46
35
16
15
-29
-43
-43
-33
8
-39
-6
5
-14
14
-32
-10
-11
6
45
-8
-3
-9
-45
-18
26
-63
-10
-47
-9
-154
14
-16
-41
-68
20
6
-8
-59
-15
32
4
57
35
1
31
5
25
-26
3
-71
16
3
9
39
27
64
-14
-14
-13
33
11
-17
26
8
39
48
-59
-62
-7
-12
18
-3
-29
69
-27
-9
24
1
2
-57
-67
46
-9
16
2
-40
21
-36
5
-21
-43
-16
-4
52
33
-6
14
-21
-6
-22
-80
-42
78
2
31
-74
32
46
-7
-15
22
-44
17
-5
-13
19
-34
11
92
14
22
33
-9
-14
-13
56
-21
37
-28
-51
40
-1
-3
57
3
42
69
-59
-3
48
7
12
-2
-8
-17
30
-54
-18
-2
-18
31
11
-16
53
-42
-17
-33
51
-4
5
20
-27
-16
-26
10
15
34
17
-76
-42
-59
10
58
18
-78
-28
-3
43
2
47
-23
16
-25
26
3
15
-19
-31
10
-17
30
14
68
68
-28
-47
-42
18
14
36
-41
26
-36
-46
46
-61
7
92
-31
0
-60
-17
7
18
70
-8
-9
7
-20
-72
-14
4
-15
-5
26
4
-32
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
138
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
4
0
-5
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
18
0
4
0
5
0
0
0
0
-15
0
0
0
0
0
0
-1
0
57
-5
0
0
0
-5
0
0
0
0
0
7
6
0
0
-1
2
0
0
51
0
0
0
0
0
0
-1
0
8
0
2
0
0
-2
0
0
0
0
16
0
49
0
-1
0
0
0
0
-1
-1
0
0
0
0
0
34
0
6
0
0
0
1
1
0
0
0
0
0
0
-22
0
0
-2
0
0
0
9
0
0
-13
0
0
0
23
0
0
0
0
0
0
44
0
0
0
0
0
0
-2
0
0
0
5
0
0
15
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-4
0
0
0
0
6
0
0
0
-1
0
0
7
0
-1
0
0
0
0
21
0
0
5
-6
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
30
0
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
1
0
0
1
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
5
0
0
5
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
60
48
40
-8
0
37
-18
54
-32
-3
-20
13
-43
10
-20
0
-1
0
0
-13
0
-10
3
0
5
10
-3
0
-12
7
1
0
0
12
0
0
-8
0
0
-1
0
8
150
32
-1
21
0
0
-14
11
-2
-20
-22
-17
-8
-32
16
2
-1
-13
8
45
80
11
-6
17
9
-1
62
-88
5
-5
0
-61
0
47
0
54
0
-1
12
47
23
4
-9
-1
0
-2
-2
19
-1
116
0
-1
-3
11
-4
0
0
33
-1
0
0
19
-21
50
36
8
13
18
2
57
32
10
-4
42
4
-6
-65
-31
0
46
31
83
-1
-73
-54
-23
-14
-38
0
-18
-86
50
-3
8
26
-10
4
43
8
0
3
-61
4
13
-3
8
-2
11
3
-18
-2
1
32
0
-6
-1
10
5
0
16
54
29
0
-14
24
-1
51
47
5
-8
0
0
-42
98
4
35
-27
-25
-1
-16
14
0
-32
37
-3
9
-8
-31
-8
-16
47
-15
-2
15
-10
1
-45
33
-6
64
10
-56
-6
-3
-40
4
-26
-3
16
0
0
52
-8
-2
-8
-87
0
0
3
47
-13
0
-2
50
-3
0
1
0
0
86
9
7
4
-5
0
-2
-26
-4
-41
-7
0
1
20
-69
3
-17
-54
47
2
13
-7
-3
23
41
-4
1
-34
45
0
-30
3
-64
10
-13
-73
0
-11
-87
1
-6
-4
-81
-1
-1
-47
-22
-17
-2
15
0
34
1
2
-32
0
46
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
7
0
0
0
-2
4
-3
0
2
-13
-4
3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
66
0
0
2
0
0
-57
0
0
0
0
0
8
88
6
4
1
0
-25
21
1
0
49
45
-1
-47
0
9
0
-6
4
3
7
24
5
0
-35
13
-14
18
13
10
0
39
-2
24
-3
-1
0
1
-16
0
-3
7
0
0
0
-9
0
3
0
2
0
0
0
0
-92
0
0
46
0
0
3
-8
4
77
20
-20
10
-13
0
39
-39
4
0
52
0
0
42
0
-15
1
-1
-14
-4
-98
90
0
3
-64
0
1
-15
-40
-1
0
0
20
0
-7
7
0
0
77
0
0
-2
1
0
19
-4
-8
-8
0
-40
0
0
1
0
7
0
-12
49
78
0
0
0
-5
39
57
0
8
2
-3
1
-1
-4
-6
50
-65
1
42
0
-1
-4
24
5
8
-3
104
0
-13
74
-8
1
-6
18
0
25
29
-5
0
-3
-35
0
12
-15
95
0
0
71
2
0
-3
-1
-1
0
-37
0
0
0
-1
-8
0
56
1
6
0
0
0
0
-12
-5
0
1
-5
0
-1
-40
0
83
4
0
0
-16
0
0
18
57
-8
0
5
-28
0
-35
-13
0
0
-1
21
0
30
-1
-47
0
-5
82
0
6
0
-2
-4
0
-12
-6
0
8
-5
0
0
4
0
-47
0
0
1
0
-16
-3
17
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-1
0
0
-1
0
0
0
0
-6
0
-5
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
65
0
0
0
0
0
1
86
0
0
0
0
33
0
0
-1
57
-1
0
6
6
0
0
-8
0
-3
11
-8
0
2
15
5
2
16
-8
0
0
-4
0
0
-1
6
0
0
-13
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-18
0
0
-13
0
0
0
-6
5
-12
21
5
12
7
0
16
59
0
0
-7
0
0
68
13
0
48
42
-5
0
49
24
0
0
-1
3
0
29
-14
0
0
49
-5
0
0
15
0
0
-3
0
0
0
-22
0
-37
-3
0
0
0
-14
0
0
0
0
0
0
99
2
-1
0
0
0
0
85
-2
0
0
0
0
0
80
0
0
17
0
0
-13
39
0
3
13
0
0
-10
-46
0
0
-14
2
0
44
-19
0
7
-6
0
0
0
26
0
0
24
-2
0
0
-45
0
0
1
0
0
0
25
0
0
0
1
0
0
21
0
0
0
0
0
0
37
4
-2
0
0
0
0
-49
0
-2
0
0
0
0
93
0
-11
-4
0
0
0
-3
0
59
0
0
0
8
45
0
0
-3
5
0
0
84
0
-5
0
0
0
0
-25
0
0
0
0
0
0
-13
0
18
0
0
0
0
-12
0
-3
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
4
0
0
0
0
0
-5
0
0
0
-3
3
0
0
0
0
0
0
0
8
2
1
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
-9
-16
0
0
0
0
47
-47
0
5
112
-13
-2
-23
29
2
0
-79
0
-2
56
6
0
-1
-12
-13
5
-40
-17
0
0
-2
0
0
0
2
0
0
-13
0
-1
8
-1
0
0
0
0
-15
0
5
0
0
0
0
-76
0
0
1
0
0
0
49
3
25
-14
0
13
0
0
6
23
-8
0
32
0
0
44
-18
0
21
9
42
0
3
29
0
3
-7
0
0
9
-46
0
0
17
8
0
-2
-25
0
0
-9
0
0
-5
41
0
-12
-2
8
8
0
9
0
0
0
0
0
0
25
-5
5
0
0
0
0
-2
5
0
0
0
0
-8
26
-1
0
59
-8
0
-3
27
0
-3
3
0
0
9
-19
0
-1
22
7
0
4
-63
0
-2
6
0
0
0
12
0
0
41
-13
0
2
25
0
2
-1
-1
-2
0
39
0
-4
0
3
-3
0
-50
-2
0
0
0
0
0
58
0
0
0
0
0
0
22
0
-27
7
0
0
0
4
0
-2
8
-3
0
-13
20
0
3
-1
0
0
2
2
0
-3
3
25
0
1
-24
0
21
-3
0
0
0
-51
0
0
-1
0
0
0
-49
0
-8
0
0
0
0
48
17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
65
7
-2
85
1
-1
-16
72
4
3
73
-4
-16
-36
9
0
0
0
-1
17
-8
-1
0
-1
-4
17
-14
0
-3
0
-9
0
0
47
0
0
-21
0
0
2
8
-2
151
131
-2
5
-1
4
35
6
41
-10
45
8
-3
41
15
28
-19
-1
58
68
39
77
25
2
2
-27
7
-53
-34
-4
-5
-13
0
37
-18
3
-1
-4
26
-15
15
49
-32
0
0
18
0
53
-2
5
0
0
-1
17
-13
0
-3
11
-1
0
-1
-45
7
58
48
-15
-3
-30
0
44
21
-7
1
42
0
0
-37
-62
20
51
58
21
31
-16
-33
-1
65
19
-10
12
45
-12
-6
5
14
8
48
-104
0
3
-5
-5
0
0
55
-60
0
-28
-12
-26
-22
-4
40
0
6
-1
3
8
-2
21
-62
-54
0
-30
-3
-3
32
-14
-2
26
0
-8
-72
33
-2
30
9
-18
-2
46
27
0
12
-56
-8
-21
-22
-16
33
42
19
89
-29
-8
-11
5
-3
12
71
-42
-7
-15
0
2
-95
-17
55
2
-46
0
11
-6
-8
51
12
33
0
7
-14
20
-35
0
9
-5
0
0
-5
-1
8
-1
-18
-13
0
-17
0
-3
41
13
36
0
-1
4
20
34
-8
29
-21
95
14
-11
-26
-1
12
-6
25
12
-28
5
3
45
-79
-2
-19
36
13
-9
12
-12
-22
70
26
-81
1
2
-26
-36
-22
31
-1
3
-31
-1
22
63
0
-2
-37
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-1
0
0
0
-5
-10
-5
-1
0
0
0
65
3
0
0
0
0
0
5
0
0
0
0
-1
0
14
0
0
0
-7
0
0
-6
0
0
-12
0
0
0
0
0
32
45
0
0
0
-3
-2
-3
0
0
9
0
0
-17
-5
0
3
-8
0
-24
50
14
0
0
-31
0
1
-49
91
0
1
-2
0
-7
-17
2
0
4
4
0
14
3
0
0
0
17
0
-24
0
-7
0
0
0
0
-19
0
0
44
0
0
0
-13
0
19
13
4
-19
0
0
28
-24
0
0
-32
0
0
48
-28
0
37
-28
5
1
-15
44
0
0
42
0
0
-52
-55
0
0
9
-3
0
-1
-28
0
0
-7
0
-3
0
43
0
-49
-10
0
0
0
0
0
0
0
0
29
0
29
28
0
0
0
0
0
-60
5
0
2
0
0
-8
25
0
-22
6
0
0
8
19
0
3
16
0
0
56
26
0
4
-5
0
7
27
6
0
-4
25
5
7
6
-16
0
-4
10
0
3
0
13
0
0
0
0
-5
0
65
0
-5
40
0
-24
0
-10
0
3
0
0
0
0
24
-8
0
5
0
0
2
6
0
10
0
0
0
14
-62
0
18
12
0
0
2
37
0
15
7
0
0
-1
61
0
0
-4
0
6
0
-4
0
8
13
0
-10
0
30
0
0
91
0
1
0
3
0
-14
14
0
1
0
15
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-49
0
0
0
0
0
5
0
0
0
0
0
2
2
0
0
0
0
-4
0
0
1
-12
0
0
-54
0
0
0
22
0
0
36
1
0
0
0
0
0
52
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
18
0
0
0
0
0
61
-5
0
2
6
0
8
46
0
0
-12
0
0
50
-13
0
-45
-8
0
0
-47
9
0
0
59
0
0
0
-9
0
0
-5
0
0
-4
-11
0
0
-5
0
0
0
-7
0
-17
0
0
0
0
6
0
0
0
0
0
0
37
-14
8
0
0
0
0
77
7
0
0
0
0
8
38
0
-1
0
-1
0
1
42
0
0
13
0
0
19
-104
0
0
3
-2
0
8
-36
0
-7
-8
0
0
0
-70
0
0
24
-10
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
39
0
0
0
0
0
0
-16
0
0
0
0
0
9
6
0
14
0
0
0
0
3
0
0
-5
0
0
0
46
0
-34
0
0
0
0
-26
0
0
0
0
0
0
95
0
1
0
0
0
0
18
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
139
65
9
-2
63
-24
42
28
-3
-1
0
-1
-43
6
-1
0
0
-7
52
8
0
0
-2
33
0
0
-3
0
-2
-39
0
0
0
0
8
-16
-10
1
-1
0
23
-86
-8
65
6
7
-6
56
-66
-4
15
-9
-37
0
-22
-12
-90
-21
-33
25
89
-25
26
33
2
-1
-85
4
20
11
-2
0
0
34
-57
-11
41
44
0
0
-30
0
2
-2
-21
0
0
32
-38
16
0
1
-3
0
0
0
-1
19
7
47
33
-15
36
1
19
-16
-12
-8
-14
-2
-3
50
-16
7
75
48
-111
21
25
-11
20
-1
-61
-19
29
53
-33
-1
-1
36
25
-10
9
-1
-4
10
-13
0
-27
-8
-8
0
-5
-64
24
4
-12
-39
0
0
-3
0
50
0
39
7
79
0
3
0
0
-17
25
-6
41
0
0
2
-14
-20
-12
62
41
16
-76
50
-1
9
46
8
-9
-76
27
59
-5
-14
-40
-26
-46
-3
9
56
-19
7
-36
-47
19
0
2
-31
48
-3
-24
2
0
-2
-3
0
-3
0
-48
0
0
-1
13
5
0
22
0
0
-1
-2
26
0
5
-60
58
-3
-9
0
8
-3
2
-2
-62
1
-14
-55
-11
-1
-5
-26
-25
17
-4
-7
13
-24
90
3
-18
1
-22
4
-18
-127
-70
-10
-2
35
0
-9
-19
21
-47
24
23
0
0
75
15
4
0
-6
0
29
-1
2
23
0
-41
-17
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
-7
0
0
21
0
0
0
0
0
4
92
0
0
0
0
-63
0
0
0
30
-3
-8
-13
-2
-4
-8
117
-2
-1
-21
0
0
0
12
16
3
3
7
0
0
2
0
3
0
5
0
0
0
-1
0
-4
-7
0
0
0
0
-5
0
-4
0
0
0
0
-23
0
0
-1
0
0
0
0
0
-3
-15
0
0
0
0
29
43
0
0
11
0
0
-17
-70
0
-46
-33
14
0
-3
0
0
0
25
8
0
-15
2
0
0
30
-2
0
-8
-28
0
0
4
7
0
0
9
0
2
0
-2
0
0
32
0
0
0
0
0
0
23
-13
0
0
0
0
0
5
4
0
0
0
0
5
-57
0
4
54
13
0
0
-38
0
8
6
0
0
91
0
0
0
-86
-6
1
15
-35
0
1
8
-6
0
0
-49
0
0
0
-3
0
0
-11
0
0
1
0
0
2
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-16
-4
0
0
0
0
0
-10
0
85
0
0
0
0
-52
-1
4
1
-1
0
0
0
0
27
1
0
0
5
-52
0
5
2
26
0
0
-106
0
1
8
-5
0
0
-37
0
0
0
0
0
0
-39
0
-6
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
10
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
57
0
0
0
0
0
0
11
-3
0
0
0
0
-1
0
0
-53
4
0
27
-9
0
0
28
0
-1
61
0
0
0
0
14
0
0
6
0
0
1
0
-4
5
5
0
-9
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
-1
0
0
0
0
0
12
13
0
4
2
0
-5
78
0
0
-13
0
0
12
30
0
64
-25
0
0
-8
49
0
0
21
0
0
4
-26
0
0
12
-1
0
7
-26
0
1
0
0
0
0
-4
0
20
0
0
0
0
16
0
0
0
0
-2
0
27
0
0
0
0
0
0
1
-2
0
1
0
0
0
36
0
0
-4
-4
0
-4
76
0
0
-4
0
0
0
-61
0
0
8
0
0
2
25
0
0
0
0
0
0
1
0
0
0
0
0
0
37
0
0
13
0
0
0
27
0
0
0
0
-1
0
67
0
0
0
0
0
0
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-3
0
0
0
0
42
0
0
0
0
0
0
13
0
-8
0
-2
0
0
45
0
0
0
0
0
0
-42
0
0
0
0
0
0
58
0
-2
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-1
0
-26
0
0
0
0
0
-23
0
0
0
0
0
0
74
0
0
0
0
4
0
0
0
-11
-1
7
-20
-3
0
0
81
0
0
-38
-2
7
0
2
0
0
-42
4
0
0
-4
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
7
0
0
12
0
0
1
0
10
-6
0
-4
1
0
0
42
23
2
0
-2
0
0
-13
-19
-3
-47
-9
1
0
-11
70
0
0
-8
0
0
-15
17
0
0
-6
-8
0
-5
-19
0
1
47
0
0
0
2
-2
-10
0
0
0
0
13
0
0
0
0
-7
0
26
-1
0
0
-3
0
0
65
13
0
0
0
0
0
14
0
3
7
0
0
2
27
0
0
-5
0
0
2
1
0
-1
0
0
0
20
-53
0
0
20
0
0
8
-40
0
0
-3
0
0
0
60
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-40
-3
-5
0
0
0
0
21
0
0
1
0
0
0
-58
0
0
0
0
0
0
21
0
0
16
-4
0
-1
-31
0
-4
0
0
0
0
-9
0
0
0
0
0
0
-58
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
18
0
2
0
0
0
0
0
0
0
9
0
0
1
0
0
0
4
0
-39
0
0
1
0
0
-51
0
0
0
0
0
25
35
0
0
0
2
-24
31
4
3
16
-4
0
-91
-7
0
5
-7
0
9
65
43
0
0
-17
7
0
0
58
0
0
29
0
1
2
-4
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
-1
26
0
0
6
0
0
0
1
0
-4
21
-5
-5
0
0
-18
-3
0
0
-5
1
0
4
-20
0
45
-18
-5
6
20
-87
0
8
30
0
-9
6
46
0
0
-5
5
1
20
54
0
0
3
-6
0
0
35
0
18
0
5
0
0
-26
0
0
0
0
0
0
0
25
-2
0
-2
0
0
52
-1
0
0
0
0
0
2
6
0
-28
1
0
9
-3
0
-1
2
0
0
-5
9
-1
-2
13
5
2
-2
-49
0
3
3
0
0
4
33
0
0
-1
-4
0
0
101
0
0
-5
0
0
-1
-38
0
0
0
0
1
0
91
0
4
0
0
0
0
47
0
0
0
0
0
-3
2
0
9
12
0
0
0
-13
0
-1
7
0
0
0
21
-4
14
0
0
-2
0
65
0
0
-1
-13
0
0
28
0
-7
2
0
0
0
-48
0
0
-1
-3
0
0
-21
0
8
0
1
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
21
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
67
1
0
0
0
0
0
82
0
0
0
0
0
0
1
0
2
0
0
0
2
-2
0
0
6
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
57
0
0
0
0
0
0
-21
0
0
-1
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-37
0
0
0
0
0
-2
43
0
0
0
0
16
0
0
0
-21
2
0
-57
0
0
0
24
0
0
1
0
0
0
1
0
0
35
0
0
-3
0
0
0
4
5
0
0
0
4
0
1
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
14
0
0
0
0
0
36
17
0
3
5
0
20
-1
0
0
-29
0
0
18
9
0
32
33
1
0
-72
1
0
0
41
0
0
-1
22
0
0
-4
-8
0
-8
22
0
0
-2
0
0
0
19
0
-21
0
4
0
5
-7
0
0
2
0
0
0
-29
-3
0
0
0
0
0
-48
0
0
0
0
0
-3
45
0
0
0
0
0
6
-26
0
0
-7
0
0
3
-55
0
0
-15
-6
0
2
72
0
9
32
0
0
0
37
0
1
-2
0
0
0
-6
0
0
7
0
0
8
-7
0
0
0
-8
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
-8
0
0
0
0
-13
0
0
4
0
0
0
72
0
6
0
0
0
0
8
0
0
2
0
0
0
10
0
0
0
0
0
0
-2
0
-2
-2
0
0
0
-10
0
0
0
0
0
0
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
0
2
0
0
-3
0
4
2
0
2
0
0
0
0
0
-77
0
0
-16
0
0
35
0
0
0
0
0
4
-7
0
0
0
0
-18
-6
0
-2
-38
0
0
-54
-2
7
-1
-10
0
7
-32
-34
0
0
15
35
0
14
28
0
0
8
0
53
0
-16
0
8
10
-4
-3
0
-27
0
0
0
0
2
0
-7
0
0
0
0
-54
0
0
-13
0
0
0
10
0
14
2
20
-46
-1
0
9
-18
-3
0
48
0
0
72
9
-3
-5
18
7
0
-63
50
-1
0
-28
-2
0
-18
-75
0
0
37
-3
1
4
-47
5
0
-17
0
0
0
-54
1
-32
-1
-3
0
0
6
0
0
0
0
30
0
-52
1
-1
0
0
0
0
-10
6
0
0
0
0
31
-27
30
-4
8
-1
0
-6
55
1
7
75
0
0
-6
14
0
-1
57
31
0
0
-31
0
0
-22
-1
-6
3
-3
0
-5
-6
-4
0
0
-36
0
0
10
0
2
0
-47
0
0
0
0
5
0
-28
0
0
0
0
-1
0
-4
5
3
0
0
0
0
56
8
-20
1
0
0
0
-3
0
1
87
7
0
0
-53
0
65
4
0
0
0
46
0
-9
-31
1
0
-7
-5
0
-8
7
0
0
0
19
0
0
-1
0
0
0
27
0
-10
0
0
2
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
-3
0
0
3
0
0
0
0
0
-29
0
0
0
0
0
-17
0
0
0
0
0
0
-26
0
0
0
0
8
-1
16
0
-7
-5
0
-24
0
0
0
12
0
2
67
20
0
0
-22
-19
-2
19
0
1
0
34
0
9
20
39
0
0
3
0
1
-3
-6
0
0
0
0
0
0
0
0
0
0
-5
7
0
0
10
0
0
0
0
1
-17
35
-6
-4
0
0
6
12
18
0
57
0
0
52
-26
0
-26
54
-5
0
-11
-56
0
3
58
0
0
-5
0
0
0
-27
-2
2
8
-30
0
0
2
0
0
1
1
0
-28
0
-4
0
0
-36
0
0
0
0
0
0
28
-4
-1
0
0
0
0
21
-14
-3
3
0
0
0
-47
0
15
-5
15
0
2
2
0
0
20
0
2
-8
9
3
3
35
-8
0
-7
0
-1
0
7
0
0
-3
9
0
0
-1
0
0
0
-16
0
0
0
0
0
0
81
0
0
2
-1
0
0
28
0
0
0
0
0
0
20
-1
0
3
-9
0
0
102
-1
33
36
0
0
0
-63
1
0
-1
0
0
5
-40
0
30
-56
0
0
3
0
0
7
14
-3
0
0
-4
0
-10
0
5
-3
0
-11
0
0
-4
0
0
0
-54
0
24
0
0
-5
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-25
0
0
0
0
0
10
8
0
0
0
0
5
0
0
20
-25
10
0
-35
0
0
0
3
0
16
60
0
0
0
36
0
0
1
0
0
1
8
0
0
-7
-5
0
0
0
8
9
-2
0
0
0
0
0
-4
0
-1
0
0
3
0
0
0
0
-3
0
0
0
-1
0
-26
19
0
-8
0
0
-2
18
0
0
-18
0
0
32
-4
0
-9
-29
-8
0
6
94
0
0
3
0
0
8
-6
0
0
16
-3
0
0
20
0
0
-5
0
0
0
-2
0
-8
0
5
0
0
-13
0
0
0
0
4
0
6
-4
0
0
0
0
0
-13
10
0
0
0
0
0
43
0
5
9
0
0
-2
11
0
0
0
0
0
0
13
0
-2
-12
12
0
-1
-16
0
0
1
0
0
0
12
0
0
0
-16
0
0
3
0
0
0
0
0
0
-18
0
2
-6
0
7
0
31
0
0
0
0
0
0
6
-2
0
0
0
0
0
-4
0
1
0
0
0
0
21
0
0
0
-6
0
0
-30
0
6
0
0
0
0
84
0
0
0
-3
0
0
-2
0
0
-5
0
-2
0
29
0
0
0
0
0
0
70
0
14
0
0
-6
0
-8
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
9
0
0
0
0
0
0
14
0
0
0
0
5
-1
0
0
17
0
3
-71
7
0
0
-2
0
0
9
0
0
0
30
1
0
43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
57
1
0
0
0
0
0
4
0
0
21
0
0
-47
0
0
-1
49
3
0
0
18
0
0
-2
0
0
0
31
0
0
-2
0
0
18
-18
0
0
5
0
0
0
5
0
10
0
0
0
0
13
0
0
0
0
0
0
49
1
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
-1
0
0
-1
37
0
0
-5
0
0
0
19
0
0
0
0
0
0
70
0
0
0
0
0
0
-1
0
0
0
0
0
0
-59
0
0
0
0
0
0
-4
0
0
0
6
0
0
-52
0
0
0
0
0
0
33
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
10
0
0
0
-7
0
0
0
0
0
0
-11
0
-1
0
0
0
0
49
0
0
0
1
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-4
0
0
0
0
0
0
-63
0
0
0
0
-1
-1
-15
0
-67
0
0
-88
0
0
0
22
0
0
-8
-3
0
3
-3
-49
5
29
0
0
0
1
0
2
0
-3
0
0
0
-4
0
-8
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
-3
0
0
0
0
0
-27
-6
5
0
0
0
8
32
0
0
-5
0
0
33
-5
0
-3
-21
0
0
2
32
0
0
10
0
0
0
-16
0
2
4
28
0
0
39
0
0
2
0
0
0
12
0
36
0
0
0
0
-3
0
0
0
0
-1
0
8
0
0
0
0
0
0
-40
0
0
0
0
0
0
-29
4
0
5
0
0
5
14
0
0
0
0
0
0
3
0
0
-1
5
0
23
46
0
0
0
0
0
0
12
0
0
0
28
0
-4
-48
0
0
0
0
0
0
-26
0
0
0
0
-6
0
-78
0
0
0
0
0
0
-55
0
0
0
0
0
0
-21
0
-3
0
0
0
0
13
0
0
0
0
0
-14
-15
0
26
0
0
0
0
-2
0
0
0
4
0
0
-35
0
-6
0
0
0
0
18
0
0
0
-6
0
0
23
0
-3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
9
0
0
0
-1
5
-3
0
0
0
0
0
0
0
-1
-28
0
0
-4
0
0
-53
0
0
0
-3
0
18
25
0
0
0
0
-58
5
0
0
-36
0
0
-9
13
0
13
-22
0
0
-34
0
0
0
-8
0
22
-1
-5
0
0
-8
0
13
0
0
0
0
23
0
-2
0
0
0
-4
1
0
28
0
0
0
0
0
0
59
0
0
52
0
0
0
-1
0
-44
-27
0
19
0
0
12
6
0
0
11
0
0
45
-54
0
-19
79
0
0
22
-28
0
0
57
0
0
17
31
0
0
9
0
8
-7
-2
0
0
10
0
0
-5
-39
0
-71
0
0
7
0
30
0
0
0
0
5
0
18
37
-8
0
0
2
0
-55
-2
0
-2
0
0
-6
-23
0
0
1
0
0
7
-35
0
0
1
0
0
-66
48
0
-3
-1
0
0
-6
-1
0
0
-25
0
2
1
33
0
0
14
0
0
0
-1
0
0
-3
0
8
0
13
0
0
0
0
-3
0
-11
0
0
0
0
0
1
-19
-2
0
0
0
0
-3
-31
0
-2
0
0
0
0
-44
0
2
-30
0
0
9
-4
0
5
-5
0
0
0
-3
-1
0
0
0
-2
4
23
0
50
0
0
0
0
37
0
0
0
0
-3
0
-18
0
-9
0
0
0
0
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
-4
0
0
0
0
-6
-1
-49
1
0
0
0
60
-8
0
0
-12
-8
0
19
6
0
0
-30
0
0
-17
0
0
1
16
28
0
10
0
0
0
0
0
0
9
-10
0
0
10
-2
0
-4
1
0
0
-5
0
0
0
-2
0
0
0
-2
0
0
0
5
0
0
0
0
0
5
5
-5
5
0
0
-7
82
0
0
30
0
0
109
66
0
29
-19
62
0
-81
81
0
0
-10
0
0
1
0
0
0
42
-2
0
12
33
0
0
-28
0
0
0
-43
0
-12
41
6
0
-4
-44
0
0
0
0
0
0
-46
-4
-6
0
0
0
0
-37
1
0
13
0
0
16
22
0
-1
19
-5
0
-18
41
0
1
48
0
0
4
7
0
1
53
0
0
1
29
0
13
-9
0
0
2
-42
0
-5
-36
17
0
7
14
0
0
24
0
0
-3
-94
0
0
0
-3
0
0
2
0
6
0
0
0
0
-52
0
-1
-8
0
0
0
-17
0
-24
-3
0
0
0
28
-4
0
3
0
0
0
-6
0
20
0
0
0
1
45
0
1
15
1
0
-2
-38
0
25
-7
0
0
0
-5
0
0
0
0
0
0
20
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
9
1
0
0
8
0
-44
0
0
0
0
0
-31
0
0
0
0
0
-24
-22
0
0
0
1
-26
-5
0
0
-18
-4
0
17
1
-1
0
-24
0
0
-51
15
0
0
-38
18
2
-8
3
-1
0
-11
0
-4
0
6
0
0
-32
0
8
0
5
0
0
0
0
7
0
-3
0
0
0
-8
-41
0
0
-5
0
0
0
7
0
70
-7
-3
5
1
0
-12
-34
0
0
-80
0
0
-45
15
4
30
-15
4
-1
-9
-10
0
0
40
0
0
29
24
0
2
24
-2
-3
0
-1
0
0
-18
4
-9
0
50
0
-33
-3
0
0
0
47
0
0
1
0
-9
0
1
0
0
0
0
0
0
14
-1
0
0
0
0
5
-29
12
-5
14
-3
-1
0
0
0
0
66
0
-9
0
-79
3
0
7
-2
9
0
-1
0
0
21
0
-3
1
0
0
0
-6
20
0
-7
1
0
0
-2
0
-4
0
11
0
0
0
0
29
0
-12
-4
0
0
3
0
0
-6
0
0
0
0
-1
0
-3
-3
-30
-23
0
0
3
23
0
1
-4
3
0
0
78
0
-11
-3
-2
0
0
-44
0
2
4
4
0
0
21
0
-28
7
0
0
0
-16
0
1
4
-8
0
0
13
0
17
0
0
1
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-69
0
0
0
0
0
-83
0
0
0
0
0
-1
85
0
0
0
0
2
0
-3
0
-4
3
0
-33
2
0
0
2
0
-2
-7
-3
0
0
51
0
0
-12
-3
0
0
33
0
0
-16
0
0
0
-7
7
-3
0
0
0
0
-8
0
2
0
0
0
0
0
0
1
0
0
6
0
0
0
3
0
38
-16
0
17
-1
0
-8
43
-3
0
-10
0
0
18
31
0
0
23
0
0
-51
19
2
0
-30
0
0
0
7
0
5
31
0
1
0
0
0
0
-4
0
0
0
-1
0
-16
-1
2
0
0
-10
0
0
0
0
0
0
-3
10
0
0
0
0
0
15
-8
0
-2
0
0
5
29
-2
-1
-25
1
0
10
35
0
0
-13
0
0
19
-10
0
0
8
1
0
0
-13
0
0
2
0
6
0
0
0
0
3
0
0
0
-55
0
0
-10
0
0
0
-1
0
0
0
1
0
0
-31
0
0
0
0
0
0
23
0
5
0
0
0
-1
1
1
3
4
0
0
0
-17
0
0
-1
-2
0
1
63
0
21
0
0
0
0
47
0
0
3
0
0
0
0
0
21
0
0
5
0
0
2
0
0
0
0
0
-58
0
-10
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
62
0
0
0
-1
0
0
14
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
4
0
0
2
0
0
0
4
0
0
8
0
0
-1
2
0
-4
-3
-3
0
8
18
0
0
0
0
0
0
31
0
0
19
0
0
0
8
0
0
0
0
0
0
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
-1
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-5
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
-3
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
0
0
-55
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
2
0
0
-30
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
-2
0
0
-1
0
0
18
-1
-1
0
-2
1
0
0
-2
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
-5
0
0
0
0
0
0
-57
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-74
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
3
0
0
-58
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-69
0
0
0
1
0
0
-62
0
0
19
0
0
0
2
0
14
0
0
0
-5
9
0
0
3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
15
2
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
-52
0
-1
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-32
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-8
0
0
30
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
-27
0
0
0
0
0
0
-4
0
21
-1
0
0
1
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
-12
0
0
7
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
34
0
0
0
0
0
-3
67
0
0
0
0
13
5
0
0
-15
0
0
29
5
-1
0
51
0
0
31
0
0
0
-8
-2
0
-59
5
0
0
43
0
0
-1
0
0
0
0
0
0
15
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
9
-10
-6
-1
-4
5
0
-2
-38
0
0
8
0
0
-67
-11
0
25
25
5
0
-12
44
0
0
53
0
0
-4
65
0
0
-14
50
0
-2
-15
0
0
-3
0
0
0
-41
0
-14
-30
4
0
0
-20
0
0
0
0
0
0
-42
-2
-5
0
17
0
0
-48
3
0
0
0
0
2
6
0
0
-9
-1
0
3
93
0
0
4
0
0
5
-36
0
0
-23
2
0
-8
-23
0
0
33
0
0
0
-14
0
0
20
-1
0
0
-27
0
0
-1
0
0
0
-7
0
0
0
16
0
0
2
0
0
0
0
0
0
54
0
0
0
0
0
0
45
0
3
0
0
0
0
50
0
0
5
0
0
0
-38
0
57
-2
0
0
0
-19
0
1
0
0
0
0
-66
0
-21
0
0
0
0
10
0
-7
0
1
0
0
-21
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-11
0
0
0
0
0
-2
-2
0
0
0
0
2
0
0
0
33
0
4
-63
0
0
0
2
0
0
0
-2
0
0
-1
-2
-1
-3
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
3
0
0
0
0
-3
0
0
-2
0
0
0
-2
0
-45
13
0
0
-1
9
0
0
5
0
0
0
-2
0
0
-2
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-26
0
0
0
0
0
0
-38
0
0
0
0
0
0
45
0
0
0
0
0
7
-47
0
0
0
0
0
0
11
0
0
-2
0
0
0
-52
0
0
0
0
0
0
21
0
0
-1
0
0
0
17
0
0
0
0
13
0
3
0
0
0
0
0
0
35
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
-3
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-61
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
-4
0
0
0
30
0
0
-31
0
0
1
-45
0
0
12
-2
0
0
-9
-2
0
6
1
0
0
8
0
0
0
0
0
0
14
0
0
-7
0
0
0
4
0
-5
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
-41
-13
3
2
0
0
-3
-12
0
0
39
1
0
-4
-4
2
64
42
2
0
9
31
0
-1
32
0
0
0
49
0
0
0
41
0
0
70
0
0
-1
0
0
0
0
0
-2
8
0
0
0
-16
0
0
0
0
0
0
-12
4
0
0
0
0
0
-33
0
0
0
0
0
0
11
5
0
0
-1
0
0
10
-1
0
3
0
0
-5
28
0
0
-6
-48
0
0
-8
0
0
0
0
3
0
-1
0
0
0
38
0
0
0
0
0
0
0
0
0
-17
0
0
0
8
0
0
60
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
13
0
0
0
13
-1
0
-2
-2
0
0
2
0
-8
0
0
0
0
6
0
0
0
3
0
0
19
0
-17
0
0
0
0
0
0
0
0
0
0
0
-40
0
-4
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-10
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
50
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
-30
0
-2
0
0
0
0
-11
0
0
3
0
0
75
0
0
3
9
0
0
-5
4
0
0
0
0
0
0
4
0
0
-7
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
17
0
0
0
0
0
-4
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
29
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
6
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
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
-3
0
0
0
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
24
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-30
0
0
0
0
0
-1
1
0
0
-1
0
0
5
-1
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
-57
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
3
0
0
18
0
0
0
0
-2
-4
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
-21
0
0
0
0
0
0
0
0
-58
0
0
13
0
0
7
-35
0
0
1
0
0
12
2
0
-42
0
0
0
-15
36
0
0
-1
0
0
0
-15
0
0
0
0
0
0
-49
0
0
0
0
0
0
32
0
11
0
-2
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
29
0
0
0
0
0
0
8
4
1
-3
1
0
3
-36
0
0
0
0
1
0
-17
0
0
2
0
0
0
-31
0
0
0
0
0
0
37
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
12
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
6
0
0
0
0
4
0
0
-4
0
0
0
-4
0
6
0
0
0
0
14
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
46
0
0
0
0
0
2
-3
0
0
0
0
-6
0
0
0
-7
0
0
-5
0
0
0
-6
0
0
5
0
0
0
-4
0
2
-3
0
0
0
0
0
82
0
0
0
0
0
0
0
6
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
8
0
0
0
-1
0
28
-4
0
-9
0
0
2
-39
0
0
-4
0
0
8
5
0
59
10
0
0
56
55
0
2
-1
0
0
0
-8
0
0
-3
0
0
1
-24
0
0
55
0
0
4
-5
0
-9
9
0
0
0
27
0
0
0
0
0
0
-41
4
0
0
0
0
0
37
-7
0
0
0
0
-3
-1
0
-1
8
0
0
-20
-48
0
0
0
0
0
3
-20
0
0
6
0
0
13
-52
0
0
14
0
1
0
-17
0
0
-28
0
16
0
-27
0
0
0
0
27
0
31
0
0
0
0
-3
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
5
0
0
0
-1
-6
0
0
0
0
0
1
19
0
0
-1
0
0
0
-20
0
0
0
0
0
0
76
0
-5
0
0
0
0
-7
0
0
2
0
0
0
-56
0
5
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-30
0
0
0
0
0
-10
10
0
0
0
0
8
0
0
0
11
0
0
23
0
0
0
-24
0
0
9
0
0
0
-6
-6
0
40
0
0
1
0
0
0
2
-1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
31
0
0
0
0
0
13
-1
-7
-2
0
0
-3
55
0
0
96
0
0
-42
-2
0
-23
-14
7
0
-31
86
0
0
47
0
0
-4
-40
0
0
-23
-18
0
-16
-24
0
0
5
0
0
0
-5
0
-36
10
-1
0
0
-34
0
0
0
0
0
0
-6
-5
-4
0
0
0
0
69
8
0
0
0
0
-1
32
0
20
-2
5
0
-7
36
0
0
7
0
0
6
-6
0
0
3
9
0
8
11
0
2
-4
0
0
0
37
0
0
54
-10
0
0
14
0
0
-19
0
0
0
35
0
0
0
-6
0
0
55
0
0
0
0
0
0
4
0
0
0
0
0
0
-17
0
8
0
0
0
-2
-14
0
-2
0
0
0
0
5
0
10
0
0
0
0
-52
0
0
0
0
0
0
16
0
29
1
0
0
0
10
0
6
0
0
0
0
-5
0
78
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
-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
3
0
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
-5
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
-106
0
0
0
-19
0
0
19
-5
0
0
-3
0
0
13
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
0
0
0
0
0
-59
0
0
-6
0
0
-3
0
0
-28
-4
0
0
-2
-3
0
-1
-5
0
0
1
6
0
0
0
0
0
0
-3
0
0
0
0
0
-2
4
0
4
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-69
-2
0
0
0
0
0
8
-2
0
0
0
0
3
-1
0
0
13
0
0
0
18
0
0
0
0
0
0
22
0
-1
2
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
-4
0
0
0
-4
0
4
0
0
0
0
-6
0
0
0
3
0
0
14
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
1
0
0
0
0
0
0
-10
2
0
0
0
0
0
-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
11
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
58
-1
0
0
13
-9
0
0
0
0
0
0
-4
0
0
8
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
5
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
5
-8
0
0
5
-8
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-2
0
2
2
-1
20
17
0
-14
-12
-25
24
-14
-20
14
-83
-26
3
1
103
-24
-12
27
-9
11
70
-22
-4
11
-10
-8
38
5
14
13
20
18
6
2
-2
0
-5
-26
42
-55
-35
-2
0
0
5
-8
-5
0
0
0
11
14
-3
0
-12
-71
18
-8
-43
37
-39
-28
-1
-19
38
-44
-25
-9
-20
10
47
17
18
10
6
-35
2
9
-9
31
5
1
18
-19
-13
12
23
-11
11
-2
-17
-55
-1
-6
-38
-21
-15
0
1
53
-27
23
-31
39
-2
-27
-3
-13
-10
41
-12
24
-10
58
-11
-14
-4
1
27
0
0
-46
24
14
-14
-37
-1
-15
-25
4
-4
-3
-31
-41
-22
-32
-55
19
2
-16
6
16
27
-59
-5
2
-46
-57
-2
-43
-25
23
-18
10
-8
7
-70
31
-18
7
-1
-23
-1
-26
39
-37
1
-5
23
46
16
3
0
-20
38
67
-27
-3
-27
0
6
23
31
-3
-5
-13
-8
3
75
-23
-45
1
0
75
-50
-19
53
12
-21
-15
19
26
18
50
-30
48
-10
40
9
-23
-18
-24
-8
-15
-27
-30
0
53
-2
42
-11
82
-15
2
41
-65
9
-20
59
15
6
18
16
-20
-26
23
-15
19
13
5
-1
42
0
-10
53
43
-27
-14
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-7
-2
0
0
-2
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
9
-31
0
0
0
0
4
23
0
-1
50
56
0
-18
18
0
0
22
0
0
-42
-5
-2
7
-31
-40
0
-66
2
0
0
74
0
0
30
-4
0
0
-83
-23
0
49
0
0
0
2
0
0
0
0
0
0
0
-8
0
0
0
42
0
0
-4
0
0
-45
-15
2
27
24
0
-43
19
0
0
-28
0
0
40
-11
0
0
41
-23
0
10
20
0
0
14
0
0
34
-35
0
-7
-43
36
0
-59
24
0
0
-13
0
0
0
2
0
-1
-3
13
0
0
-7
0
7
0
0
0
0
-3
-19
-28
0
13
0
0
-6
62
2
-10
0
0
33
27
4
10
-11
-16
0
23
-8
0
3
-8
0
0
15
57
8
-1
3
23
0
87
-26
0
-2
53
0
0
-4
-16
1
2
12
-52
0
0
34
0
14
8
0
0
7
-48
0
-1
3
-13
0
0
-33
0
4
0
0
0
0
-44
-32
3
-2
6
0
1
16
-3
-32
17
0
0
-1
61
0
4
-12
-6
0
0
-15
0
34
-4
0
0
5
-65
0
-1
4
43
0
-1
38
0
22
3
-2
0
0
34
0
0
-1
15
0
0
26
0
-51
-2
0
0
0
-29
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-25
38
8
-29
-50
-32
-16
-17
26
34
-3
-7
0
13
-28
27
17
19
80
-9
23
-32
142
-1
8
-48
-43
-2
-35
77
37
-7
-57
-14
-66
-26
4
-2
-20
6
-26
31
68
-4
-46
-11
-31
-17
-135
-98
-25
-17
-61
42
17
-19
-13
-1
-10
-25
-31
80
89
1
4
15
30
10
29
13
-8
-27
51
12
53
41
-24
-10
-140
4
-10
-7
-3
23
-8
-12
44
58
28
3
27
0
15
-30
-14
-40
-48
-28
-10
-3
35
13
-5
26
21
15
5
32
-11
23
43
49
0
9
-37
-46
1
-17
-2
9
0
14
-25
52
3
47
-4
-1
-42
3
49
9
101
1
-25
18
49
28
-20
56
16
83
-17
19
61
7
12
14
-4
13
-12
-5
-15
38
0
37
11
6
-49
23
12
18
39
-3
40
8
9
-41
-8
-25
49
27
77
-15
-20
-11
-15
17
-38
-33
11
-1
-25
-1
18
-15
-52
-40
-24
-15
40
-50
64
-47
-24
63
-29
23
-35
-23
35
-29
32
-11
66
16
2
-59
12
26
-8
-89
-19
1
29
20
-25
10
-72
18
-11
71
56
75
-19
13
-1
-29
-25
35
37
21
-49
58
-16
19
-1
18
12
102
78
56
-50
77
18
10
-6
4
-36
34
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
20
0
0
53
0
0
0
5
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
5
0
0
0
0
0
0
51
0
0
0
0
0
0
-3
0
60
0
0
0
12
-3
0
0
1
0
0
0
-4
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
3
0
0
0
1
0
0
8
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
41
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
42
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
-1
0
0
0
0
-96
0
0
-3
0
0
0
0
0
9
7
2
0
30
-8
0
0
-2
0
0
0
-2
0
0
-3
8
0
0
71
0
0
1
0
0
0
0
0
-21
0
0
0
0
-6
0
0
0
0
0
0
1
12
0
0
0
0
0
35
0
0
0
0
0
-4
1
0
0
0
0
0
0
53
0
0
-4
0
0
0
91
0
0
1
0
0
0
-68
0
0
4
0
0
0
-8
0
0
0
3
0
0
-31
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
-8
0
0
0
0
0
0
-25
0
1
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
13
0
0
5
5
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
-4
-1
0
3
0
0
0
9
0
0
0
0
0
0
0
0
100
0
0
0
-5
30
0
0
-4
0
0
0
65
0
0
-6
0
0
0
-17
0
0
2
0
0
0
-6
0
1
0
5
0
0
18
0
0
0
0
0
0
11
0
0
0
0
0
0
-20
5
0
0
0
0
0
38
0
-5
0
0
0
0
-76
0
0
0
0
0
0
41
0
0
0
0
0
0
11
0
0
12
0
0
0
43
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
-3
0
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-42
-7
4
56
0
-8
84
-1
0
0
64
0
1
6
-4
0
0
63
-15
41
-59
3
1
4
-14
0
31
-1
5
0
0
8
0
-30
2
0
0
0
0
0
-14
0
3
0
0
0
13
-60
0
0
3
0
0
0
-3
0
0
13
-79
27
4
0
-82
43
0
-7
-26
0
0
-49
98
0
14
51
39
0
5
-12
0
6
25
1
-1
-29
35
0
-1
-13
0
0
1
-51
-2
0
-20
0
0
2
42
0
2
-25
-4
0
0
-40
0
0
0
0
30
0
48
-16
-5
0
0
0
0
0
4
-12
0
0
0
-8
-2
-4
42
87
-6
0
-29
23
0
-2
-25
0
0
10
-21
-1
2
-47
4
0
46
-36
0
2
-48
0
-3
2
-69
0
3
-68
37
0
0
-1
4
8
-6
0
4
0
-28
0
9
8
7
-9
0
-15
0
0
0
0
0
0
0
-18
0
5
0
0
0
-31
-1
-79
-22
0
0
-1
-29
0
0
2
0
0
6
12
-8
9
-14
0
0
0
18
0
18
-3
2
0
0
-30
0
21
48
-1
-3
0
-25
4
3
-1
-1
-17
0
-39
0
5
0
0
-3
0
38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
-8
10
32
54
-3
46
-19
-50
18
114
29
72
-27
55
-3
48
36
-6
-5
57
-67
-1
-10
-78
-2
-19
70
-17
0
-1
-63
41
47
-3
-5
0
0
-1
-2
-79
0
-15
0
0
1
8
-98
0
0
31
0
0
0
-34
0
0
-7
-100
46
0
0
14
-42
-3
25
24
20
-2
25
58
9
-26
-6
-118
-12
-7
-27
4
8
-11
13
-5
11
-30
0
18
21
-68
-2
9
-37
0
8
4
2
-10
-21
5
-1
-14
-12
3
12
3
-53
0
0
0
5
34
0
46
98
82
0
-3
5
0
-17
-17
-9
29
-8
1
-21
-26
53
-48
-8
-59
0
112
19
-1
-8
-46
3
74
-12
-32
4
25
-8
-15
75
54
-30
0
-10
-34
18
-7
34
13
0
-12
-60
21
2
0
5
0
-44
-32
-2
-28
-1
3
0
6
-8
-45
46
0
-4
30
0
0
3
0
0
21
-5
-6
-4
5
0
4
7
18
0
-49
-12
7
28
20
8
64
-23
-7
-2
-25
-107
16
104
-9
0
4
-2
56
0
4
-42
12
20
2
22
0
-19
-14
10
-2
-1
3
0
0
-12
-56
28
-2
35
3
4
0
-4
1
0
-25
25
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
5
0
0
-31
0
0
0
13
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
29
0
2
0
0
0
3
-49
0
0
-1
0
0
-1
0
0
1
-3
4
0
-5
-4
0
0
3
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
45
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
-1
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
-17
-1
0
0
-7
-43
0
0
-1
0
0
0
0
0
0
2
0
0
0
31
0
0
4
0
0
0
21
0
2
0
0
0
0
-3
0
0
0
0
7
0
10
7
0
0
0
0
0
27
0
0
0
0
0
0
41
0
0
0
0
0
0
-56
0
0
0
0
0
13
20
0
0
-2
0
0
0
53
0
0
0
0
0
0
-2
0
0
0
2
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
-29
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
1
0
0
0
0
-4
0
0
0
0
0
0
-54
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
7
0
0
-8
0
0
1
7
0
0
53
6
0
0
-6
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
-8
0
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
8
0
0
0
-23
0
0
4
0
0
3
5
0
0
-3
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
14
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
6
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-4
4
16
-1
2
47
44
27
-8
-83
-65
45
-18
3
-2
5
-45
0
-16
-5
-6
0
0
-34
116
5
6
78
0
0
18
0
23
0
-22
0
0
0
2
12
0
0
39
0
0
0
18
0
25
17
-51
26
14
0
7
47
0
0
2
-2
0
6
-7
-1
-15
-34
50
0
17
-5
-1
10
14
-1
-14
5
-27
0
31
3
-51
-1
0
-5
0
0
-83
0
-6
31
-7
0
65
-11
46
-4
0
-4
0
0
0
0
27
0
58
-18
-8
0
6
16
0
51
24
0
-14
0
0
41
-1
-1
16
120
-44
0
-11
-30
1
5
49
0
0
49
39
-7
18
-16
-20
1
50
13
-1
8
55
4
-1
33
-37
0
38
88
-26
2
-6
-48
0
18
16
0
36
1
19
-1
30
40
52
25
0
34
6
8
0
8
14
0
38
-90
3
0
0
0
-7
47
0
10
17
0
-2
2
-20
0
48
3
25
0
7
13
0
-30
-19
-4
0
5
-17
3
-11
44
21
0
0
-7
0
-15
-23
0
1
8
-31
0
16
-23
-19
2
3
-49
0
89
2
0
31
1
28
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-26
-2
0
2
0
-1
-23
-16
0
0
-6
-4
1
22
-7
0
0
2
3
48
12
3
0
0
29
0
9
81
0
0
1
0
0
5
0
8
0
0
0
-7
-30
0
0
-47
0
0
0
9
3
42
56
7
-5
0
0
-22
0
-4
0
-51
-1
0
59
-4
0
-83
5
25
-1
78
-9
0
4
22
-6
0
21
-48
0
0
-37
48
10
13
17
0
0
25
0
8
-1
45
0
44
-25
-12
0
0
49
0
0
0
0
-5
0
7
25
-1
0
-2
0
1
-7
5
-2
6
0
0
48
0
0
0
38
-2
0
-16
39
0
7
1
-2
0
-39
41
2
12
-12
-1
0
-1
15
-1
-2
3
-3
-3
5
-73
0
0
-46
12
0
0
-56
0
0
39
0
-3
1
113
0
2
0
1
-12
0
15
-5
0
0
0
0
0
13
0
-1
0
0
0
0
0
8
-29
1
-2
0
0
-57
0
0
0
-1
0
0
-126
0
56
35
3
0
-2
21
0
2
-18
1
0
3
9
0
-26
-4
0
1
0
130
0
0
-8
0
0
0
5
0
47
1
-8
0
0
43
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
50
0
0
-44
0
0
0
50
-4
-1
20
-4
0
0
-5
0
-3
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
10
2
0
0
0
0
0
-40
0
0
50
0
0
10
-15
0
-5
55
0
0
-41
69
0
0
-2
0
0
-1
4
0
0
0
0
0
0
-78
0
0
-7
0
1
0
-6
0
11
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
-84
3
0
0
0
0
-1
74
0
-4
1
0
0
-1
-7
0
0
0
0
0
-3
-29
0
0
17
0
0
0
-48
0
0
27
0
0
0
8
0
0
0
4
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
15
0
0
0
0
0
0
18
0
-4
0
0
0
0
22
0
0
0
0
0
-2
-43
0
-1
0
0
0
13
8
0
1
0
0
0
0
25
0
7
0
0
0
0
29
0
0
0
0
0
0
11
0
7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
26
0
2
44
-9
0
0
25
3
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-30
0
0
-1
0
0
0
0
0
68
8
0
5
-1
0
0
81
0
0
4
0
0
40
-1
0
11
-8
0
0
-70
56
0
0
0
0
0
0
43
0
0
0
0
0
7
-15
0
0
0
0
0
0
-40
0
13
0
-8
0
0
40
0
0
0
0
0
0
-97
0
0
0
0
0
0
-58
0
0
0
0
0
-6
18
0
0
6
0
0
1
-128
2
3
-1
0
0
0
-20
0
0
-2
0
0
0
-74
0
0
7
0
0
0
-22
0
0
8
0
0
0
79
0
0
-1
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
-53
1
0
0
0
0
-2
1
0
-2
0
0
0
-2
13
0
8
0
0
0
13
40
0
1
0
0
0
0
-30
0
0
0
0
0
0
108
0
0
1
0
0
0
8
0
0
-1
0
0
0
-56
0
2
0
0
0
0
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
67
-7
119
3
-37
79
-27
30
18
5
21
-41
-44
-46
34
-13
41
6
31
-8
51
-98
-3
-2
-45
-26
34
-21
-6
-1
-1
-56
5
-7
-9
-34
-2
-2
-2
-58
-19
0
-5
22
3
0
35
-1
-1
76
4
-2
24
-8
0
-30
22
18
-3
56
29
-1
58
9
-2
36
12
1
-24
27
21
29
3
64
-27
92
42
27
-10
8
0
-8
1
9
-21
0
8
-45
12
48
-43
-14
-5
-32
-14
-31
-31
10
-36
-4
-6
17
43
8
-2
21
-33
-90
-1
-36
-36
-2
82
8
-5
48
8
22
-37
16
56
-22
22
54
13
-17
8
32
-8
118
7
40
9
-8
-41
75
43
75
4
32
-2
44
3
-2
-40
-84
49
-21
-2
5
2
-30
53
-25
-23
-1
-19
43
8
-29
-3
14
25
-7
-30
23
-22
0
3
33
47
-2
3
24
-2
57
88
-15
3
-12
0
-55
1
-45
33
-12
0
-1
34
-15
-15
18
16
20
-5
-47
-24
9
52
62
-6
23
27
-4
-3
25
-8
32
-56
65
-2
5
4
50
70
-52
40
43
-17
31
-5
61
4
-8
-1
0
-2
33
4
-67
0
-4
34
-21
17
2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
45
0
-2
-35
0
0
0
-32
0
62
-24
1
0
0
39
0
-2
-2
1
0
0
8
0
7
5
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
18
0
0
0
-29
6
20
55
67
-1
0
0
-56
-69
0
0
-32
0
0
54
5
0
14
-8
0
0
-18
-77
0
0
-31
0
3
-16
12
0
1
-75
0
0
6
-10
0
0
62
0
0
0
-58
0
-7
0
0
0
0
2
0
0
-1
0
12
0
53
-10
-8
0
0
0
0
-16
13
0
-2
0
0
20
-8
-14
-1
30
0
6
-21
42
0
-1
2
0
-8
69
-31
0
0
40
0
1
-12
6
0
7
60
0
-1
1
-5
0
6
27
-1
-1
-1
39
0
0
-1
0
-9
0
25
0
-8
0
0
8
0
1
0
0
0
0
0
0
48
-5
-2
0
0
0
0
-57
0
-65
7
0
0
-8
-7
0
-3
0
0
0
-1
-21
0
54
-10
0
-4
-4
-38
0
-2
-23
0
0
0
17
0
2
-3
0
0
0
6
0
0
-5
0
0
0
23
0
15
0
0
2
0
-1
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
1
9
0
23
0
0
-5
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
1
0
0
0
0
0
-17
-9
0
-1
0
0
0
-45
0
0
46
0
0
-35
-21
0
69
-3
0
0
3
-6
0
0
-17
0
0
-16
6
0
2
13
1
0
17
-19
0
0
0
0
0
4
11
0
37
0
-2
0
0
-34
0
0
0
0
0
0
-16
-7
2
0
0
0
1
90
2
0
0
0
0
5
48
-2
0
-16
0
0
-1
18
0
0
-5
0
0
10
-16
0
4
31
-6
0
9
10
0
-2
5
0
0
4
26
0
0
-8
4
0
0
-14
0
0
0
0
0
0
5
0
-2
8
8
0
0
35
0
0
0
0
0
0
42
0
0
0
1
0
0
12
0
-46
1
0
0
0
-64
0
0
1
-2
0
0
26
0
22
19
0
0
0
-36
0
0
-5
-1
0
5
-3
0
-1
0
0
0
0
22
0
-1
0
-5
0
0
64
0
-5
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-26
-9
10
33
25
-41
0
-66
-55
-19
-25
-10
31
-37
-49
-15
4
-56
35
-11
-2
-61
9
-12
-98
-18
-7
-13
-38
-30
0
-18
2
-21
-5
16
29
5
-4
-21
-52
28
48
18
-9
33
7
-5
40
2
-11
7
30
0
5
38
-56
59
27
64
6
-40
34
10
63
61
-27
22
-59
64
9
6
78
50
4
2
0
-3
0
-25
-12
-12
-13
33
-25
13
-17
8
16
-91
-25
-5
46
65
76
13
-24
0
18
-5
-38
0
-25
-23
0
48
35
19
7
8
-36
5
29
75
26
70
-46
38
149
16
8
-87
50
55
20
31
-6
15
39
0
-3
43
54
-21
28
55
9
56
32
-27
-3
36
-25
-40
40
41
25
-1
5
18
-4
-112
-25
-27
-14
73
51
-53
-8
-6
-1
6
-17
-15
0
-45
-49
-2
4
33
7
89
-69
-3
-26
-18
91
0
66
19
-9
42
13
13
-63
18
-75
-47
42
-15
-56
-2
-3
49
31
40
1
17
-4
6
-47
-13
10
22
-20
13
50
2
-145
65
6
-12
-52
30
-15
-14
41
-4
1
6
54
-30
16
0
28
9
15
12
20
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
15
-2
0
45
6
-9
-7
-9
0
0
-1
0
9
-5
-3
0
0
20
0
8
-3
1
0
0
0
0
8
0
-8
0
0
0
10
-47
0
0
-16
0
0
-4
-5
0
71
-1
18
36
3
0
36
0
0
0
-19
0
0
-68
0
-3
50
2
1
0
-11
-52
0
0
-21
0
0
3
42
0
0
-5
-3
0
-12
-60
0
0
5
0
4
0
28
0
24
22
-4
-1
0
3
0
0
0
0
0
0
10
-8
5
0
0
0
0
83
0
2
1
0
0
0
-40
-1
1
-18
0
0
41
0
0
0
-74
-1
0
-1
-17
0
2
17
1
0
12
33
0
0
-5
0
0
1
-91
0
1
8
15
0
0
186
0
0
0
-1
6
0
39
0
0
0
6
30
0
-41
0
-4
0
4
0
0
33
-2
0
5
0
0
0
55
8
44
9
0
0
4
0
4
19
19
5
0
-4
45
0
19
54
0
0
0
-45
0
4
3
-3
0
0
-45
0
30
0
4
0
4
0
0
0
-2
0
0
0
-13
0
11
1
0
0
0
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
-19
0
0
1
0
0
0
0
0
99
4
-3
0
0
0
0
-11
0
0
-5
0
0
-1
-1
0
7
32
0
0
-41
10
0
0
2
0
0
0
-7
0
0
1
0
0
0
33
0
0
0
0
0
0
-4
0
10
0
0
0
0
-7
0
0
0
0
0
0
108
0
0
0
0
0
0
-45
0
0
0
0
0
0
-36
0
0
1
0
0
-8
24
0
0
0
0
0
0
7
0
2
0
0
0
0
-57
0
0
0
0
0
0
53
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
1
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
-15
0
0
5
0
0
0
-15
0
-4
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-15
0
0
8
0
0
0
0
0
0
0
1
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
1
0
0
0
0
0
-50
14
-2
0
0
0
6
73
0
0
-24
0
0
4
0
0
-6
71
0
0
-4
-7
0
0
0
0
0
-8
15
0
0
5
0
0
-6
4
0
0
0
0
0
0
20
0
-8
4
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-89
0
0
0
0
0
3
45
0
0
-2
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
1
16
0
0
0
0
0
0
23
0
0
0
0
0
4
-26
0
0
0
0
0
0
13
0
0
2
0
0
0
36
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
24
7
0
0
0
-14
0
0
0
-4
0
0
-1
0
2
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
26
6
20
-8
-10
-47
-62
-15
-2
1
5
-2
-47
-68
75
0
7
-37
18
-16
7
-64
0
-4
40
0
-59
3
31
0
0
13
-39
-2
0
1
0
0
0
4
-23
9
44
105
-20
-20
13
0
25
-35
88
22
-6
0
-8
95
22
-2
-7
16
0
-6
20
-16
4
96
-11
0
21
22
5
0
6
-30
18
35
0
-33
1
-2
11
4
-19
9
-24
0
-93
-42
36
-2
-1
35
0
-1
-2
0
0
3
29
-39
-62
0
-8
0
-8
32
-2
-2
-13
0
0
13
10
39
92
11
28
-3
60
-11
2
12
30
5
-1
93
-2
14
41
32
32
-3
73
-5
38
7
35
-8
15
-41
-90
1
-13
16
24
-29
-4
-7
0
-1
-18
2
9
-3
35
-4
0
-29
-59
58
0
20
0
0
0
0
2
0
21
-12
1
0
0
0
5
-14
5
42
-13
-1
-8
-21
27
1
6
64
-29
5
-5
-9
7
16
-2
2
38
-9
-13
-3
-28
84
-26
-4
-5
-51
0
-16
-39
-2
-4
-12
-28
0
-2
60
-36
9
-8
-31
0
41
-1
2
-13
0
20
-8
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
-3
47
0
0
0
0
0
1
0
0
-33
51
0
0
4
0
0
0
0
0
0
5
1
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
6
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
3
0
0
0
0
17
0
0
0
0
0
0
-28
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
62
0
0
0
0
0
0
5
0
0
0
0
0
0
46
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
0
0
8
-1
0
0
0
0
6
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
3
34
-18
0
-6
3
0
-1
4
0
0
-25
0
0
-58
-10
0
-15
0
-8
0
88
-1
0
0
-41
0
0
31
-2
0
0
-23
-2
0
-1
-62
0
0
12
0
0
0
19
0
48
0
3
0
-16
-108
0
0
0
0
0
0
-120
29
-1
0
-4
0
0
47
1
-1
4
0
0
1
32
4
-24
-4
7
0
25
57
0
0
-24
0
0
-3
-6
0
3
-31
-4
0
10
19
0
-1
21
0
0
0
80
0
0
18
5
0
0
46
0
0
0
0
0
0
51
0
-1
-1
-26
0
0
-14
0
0
0
0
0
0
82
-15
0
0
0
0
0
-24
0
31
-4
0
0
1
21
0
0
0
1
0
0
-36
0
6
20
0
0
-12
-29
0
8
0
0
0
0
-6
0
-4
-7
3
0
0
-13
0
-2
1
2
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-47
-7
-4
-13
5
-20
32
-31
0
1
7
-26
16
19
33
0
-2
20
0
-23
1
27
1
0
0
-22
-1
0
0
-14
0
1
-1
62
6
87
10
19
14
-11
0
22
16
6
0
20
0
0
69
-20
-14
12
64
-7
-15
-19
4
5
87
1
-6
-10
-74
21
-4
-38
42
42
-5
47
-18
-3
-14
70
16
-17
29
-11
-2
9
0
-16
-7
-1
8
0
0
0
-4
-31
0
2
-7
111
0
34
11
1
69
-17
-17
-4
-23
0
-19
5
-8
23
13
14
3
-51
13
3
-12
-10
5
0
83
25
6
13
2
-8
-6
37
7
21
1
40
-3
67
1
3
-1
8
85
-12
-34
2
-23
4
16
-7
-5
84
-1
-2
0
-15
-17
-14
11
0
-10
-12
-1
0
1
15
0
8
24
-18
3
2
0
-8
14
5
70
-32
6
0
-48
34
-2
55
-65
6
-8
2
23
8
-2
39
-27
-9
30
44
4
8
-129
45
3
4
13
-7
0
95
5
30
4
-40
0
-31
-12
-4
5
1
-24
0
57
12
-9
-35
0
-42
2
-7
2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
-2
0
0
0
0
0
0
-8
-10
-8
0
0
0
0
-1
0
0
0
25
0
0
0
0
-15
0
0
-15
0
0
0
1
0
-20
7
36
7
2
0
-44
79
3
0
-13
0
-1
3
9
-2
20
-25
21
0
-43
0
-2
-1
-14
0
0
13
-5
0
1
-12
-3
0
68
-26
0
0
11
5
0
0
32
0
-10
0
-16
0
0
16
0
0
0
7
0
0
56
-1
41
0
0
0
0
-3
7
-4
-2
0
0
0
-6
3
2
-41
-15
0
12
34
0
8
19
0
0
39
0
0
0
-6
-1
0
-13
23
0
0
29
0
0
5
1
0
-6
-10
-29
0
0
-10
0
0
-4
2
-3
0
2
0
0
0
3
0
0
22
0
0
0
0
0
0
8
-5
0
0
0
0
0
-2
-1
-42
-5
-1
0
0
-25
0
-6
-22
0
0
-7
0
-1
27
10
0
0
-3
15
0
0
-2
-1
0
0
-27
2
26
-20
3
0
0
8
0
0
0
-2
0
0
27
0
20
0
0
4
0
15
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
7
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-1
0
20
0
2
0
0
0
-5
57
0
0
-1
0
0
-1
18
0
69
-27
0
0
5
-1
0
0
19
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
1
0
-8
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
25
0
0
0
0
0
0
44
0
0
0
0
0
0
1
0
0
-2
0
0
0
1
0
0
0
0
0
0
62
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
-3
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
42
0
3
0
0
0
-4
7
0
0
3
0
0
-4
4
0
-2
15
0
0
-4
5
0
0
1
0
0
3
1
0
0
-1
20
0
-3
93
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
-10
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
4
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
-7
0
0
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
-16
0
0
0
0
0
0
4
0
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
4
0
0
10
8
-20
5
47
0
0
16
3
-35
36
-3
0
1
1
2
14
0
21
0
0
0
71
-3
0
0
-7
0
0
0
22
8
37
-7
14
55
8
0
-66
11
29
-1
21
0
4
24
64
24
26
58
41
5
-3
25
2
0
30
-2
-7
68
31
-12
0
-16
12
19
-20
-34
0
0
10
2
-16
5
-57
-2
-17
-16
3
-18
0
-8
1
0
0
0
12
0
-3
-4
-24
0
-7
8
0
36
-28
0
-20
0
0
27
1
7
-5
11
-14
24
-40
22
-12
31
-44
-6
-3
-57
16
0
71
15
91
41
10
1
-3
-19
-88
58
-25
36
-55
-12
15
2
-21
31
24
-31
0
-4
36
0
91
3
-35
0
-13
2
-48
15
0
-1
0
-3
0
-24
2
0
27
-48
7
13
-24
0
0
-32
10
-24
41
0
0
9
69
13
-2
31
-34
0
51
-6
5
-41
35
1
0
10
15
-10
64
14
-57
2
-16
-53
1
-41
-5
0
-74
-1
-36
8
29
-24
-45
-1
0
-15
0
13
-9
0
-14
0
-35
-17
-3
0
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
-18
-7
0
0
-6
0
18
-3
6
0
0
40
0
48
16
-6
0
0
-6
0
22
0
0
0
0
0
-22
43
0
0
-43
0
0
0
52
4
35
18
27
-40
0
0
-18
-1
-8
5
12
0
0
52
-2
0
4
18
0
4
14
-31
0
0
5
0
-8
-58
5
0
-2
-6
4
6
-4
-21
0
0
0
0
-2
6
-20
8
23
-18
0
-4
0
8
-2
0
3
0
-44
0
11
-4
6
0
0
-5
6
13
-41
0
-12
0
0
-6
7
-10
-5
48
0
0
13
4
0
-1
36
0
0
-55
-11
0
14
-11
0
3
13
-5
0
2
-6
1
-26
-8
-37
8
11
-21
-5
-7
0
-5
0
-16
49
0
-6
0
24
0
0
42
0
-33
0
6
2
6
0
0
-2
0
20
1
6
0
0
0
0
26
0
33
5
0
0
19
-4
-2
24
-38
0
0
-17
7
0
-52
16
0
0
-2
63
0
6
-39
6
2
0
-33
0
-20
27
0
0
0
-1
1
0
0
0
1
0
-17
0
51
3
0
-30
0
27
2
10
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
1
0
0
-2
-2
0
0
-1
-7
0
0
0
0
0
-2
0
0
0
45
0
0
1
-1
0
0
0
34
0
0
0
0
0
-28
20
-9
-48
-4
0
68
45
0
0
31
0
0
38
43
0
3
-29
-6
0
-70
77
0
0
-6
0
0
25
97
0
1
-1
22
0
57
82
0
0
20
0
0
1
-72
0
-3
-9
20
0
-4
108
0
0
0
0
0
0
-3
81
16
0
1
0
0
7
-37
-4
0
0
0
21
64
-1
-7
-3
-11
0
54
11
0
1
12
0
0
58
-6
0
-7
68
25
0
16
-13
0
36
25
0
0
-2
50
0
1
22
23
0
0
-50
0
-5
5
0
0
0
-30
0
-6
20
17
0
0
24
0
0
0
-1
0
0
18
-1
0
0
-6
0
0
-50
1
10
2
0
0
3
-52
2
-2
-35
-16
0
-2
-5
0
39
15
0
0
0
20
0
5
1
-8
0
0
67
0
-5
-1
0
0
12
-16
0
2
1
-3
0
0
-2
0
-37
-2
0
0
0
57
-12
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
83
0
-1
8
-28
18
18
46
0
-4
6
-4
-8
4
-42
0
0
0
-30
20
0
-3
-2
0
0
0
-32
1
30
-39
-50
-4
-26
0
-81
40
-4
9
23
0
0
-59
20
0
-33
29
25
-1
13
6
-5
8
-17
5
-5
-29
-5
0
-3
6
11
-20
-21
-16
9
4
19
0
-3
-1
-30
0
-17
2
-16
-1
0
91
0
0
3
0
-29
0
26
18
-63
0
53
0
0
-27
16
9
37
2
0
-6
9
-5
18
17
38
9
-28
68
2
-14
11
4
-12
9
11
-30
69
-64
-28
0
-6
21
-3
-1
-50
-3
-25
-5
-2
6
0
20
1
-12
14
-18
0
-17
-5
0
-18
0
-34
0
2
-2
-42
5
0
-6
4
0
0
0
5
0
-24
12
-5
-14
0
0
0
-10
9
-86
-25
-1
0
1
72
0
-20
-27
-12
0
-4
-21
0
-32
4
0
1
4
52
0
-21
3
15
1
-2
11
0
-11
-36
1
-5
-5
21
0
33
-37
21
-1
0
14
0
16
0
0
16
0
25
-15
5
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
5
0
6
3
-4
0
0
0
-4
0
0
-2
0
0
0
1
-56
0
0
6
0
0
2
-7
0
78
-16
-4
-6
0
0
-39
19
0
0
34
0
0
3
32
1
7
31
5
0
-40
10
-5
5
90
0
0
43
0
1
0
-1
1
0
-2
27
0
2
-2
0
0
-5
-26
0
2
-1
-9
0
-1
-59
0
0
0
1
-2
0
8
3
0
0
-5
0
0
72
36
2
-3
0
0
3
-40
0
-1
-10
-13
0
31
30
0
4
-8
0
5
9
14
-1
19
48
3
0
3
0
0
5
-45
-5
0
-6
-50
2
0
12
0
0
2
-3
0
0
8
0
0
5
-43
0
0
14
2
-6
0
51
0
0
0
0
0
0
24
-2
0
6
0
0
0
-2
1
27
-6
0
0
0
-10
0
-3
29
0
0
0
-29
0
-18
-2
0
0
-3
0
0
1
-8
-5
2
4
-54
0
-22
3
-5
0
0
-24
0
1
-5
3
0
0
-30
0
-42
0
0
0
0
1
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
-7
0
0
0
0
0
2
-38
0
0
5
0
0
15
0
0
3
-15
-5
0
0
16
0
0
38
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-8
19
0
0
0
0
0
1
-1
0
20
3
0
0
-12
-13
0
0
5
0
0
0
44
0
0
0
0
0
0
17
0
0
0
0
0
0
29
0
-3
0
0
0
0
-7
0
0
0
0
0
0
19
-3
0
0
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
75
0
0
0
-2
0
0
-40
0
0
9
0
0
0
-40
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
-34
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
4
0
8
-1
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
-3
12
-32
-14
7
0
0
0
0
0
-2
0
-7
0
0
0
2
-42
0
0
-49
0
0
0
-22
-1
46
74
0
9
10
0
-13
-54
0
0
-14
-1
-5
-43
103
0
-18
-15
-25
0
32
95
0
0
11
1
0
40
22
0
0
-3
71
0
11
85
0
0
-29
0
0
-1
-21
1
-36
0
1
0
0
15
0
0
0
0
-34
0
60
20
5
0
0
3
0
0
8
0
-8
0
0
-7
26
-23
-13
-17
-2
1
71
22
0
1
-17
3
-2
98
-63
0
0
42
-6
3
-2
-63
0
8
1
0
0
0
35
0
0
3
-2
0
0
-20
0
-5
-1
0
1
2
-27
0
1
0
30
26
0
47
0
0
0
0
0
0
3
-8
2
0
0
0
-1
-25
9
52
0
0
0
-5
6
0
6
4
0
0
-3
61
0
27
3
0
0
0
53
0
6
17
18
1
0
39
0
21
0
0
4
0
12
0
0
0
0
0
0
72
0
5
0
0
0
0
-39
4
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
-11
0
0
0
0
0
0
30
0
0
-5
0
0
0
1
0
20
-3
0
0
-27
-1
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
3
0
0
0
0
-48
0
0
0
0
0
2
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
0
-2
-3
0
-1
0
0
0
0
0
0
0
44
0
0
0
-11
0
0
0
-13
0
0
0
0
4
-15
-6
7
26
3
0
-18
-24
0
0
-48
0
0
1
-14
6
-31
-19
10
0
4
46
0
0
-2
0
0
61
-18
0
7
-51
-17
0
27
-13
0
0
50
0
0
0
20
0
-58
1
-34
0
0
-16
0
0
0
0
0
0
11
26
1
0
0
0
4
-15
-9
0
1
0
0
-13
-48
14
5
-2
35
0
-35
28
0
0
24
0
0
-82
-15
0
-5
10
-86
0
17
-72
-1
-4
35
4
0
3
-23
0
0
-55
-26
0
0
24
0
20
0
0
0
0
-38
0
13
0
16
0
0
20
0
10
0
0
0
0
50
23
0
0
5
0
0
-65
5
-8
18
0
0
5
87
2
0
-26
4
0
1
-1
0
56
-1
0
0
1
-16
0
-14
34
-3
0
2
1
0
109
-14
5
0
6
32
0
6
-2
0
0
0
-13
0
25
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
0
2
0
-5
0
-1
0
0
0
-12
-31
0
0
-8
0
0
0
-4
0
12
-9
-3
2
0
0
3
28
0
0
51
0
0
-24
-54
0
22
-49
-1
0
10
-25
0
0
8
0
0
0
-47
0
-1
74
-2
0
0
-7
0
0
-6
0
0
0
80
0
51
4
-15
3
-2
-18
0
0
0
0
-5
0
-1
-19
0
0
-1
0
0
-38
5
0
1
0
0
0
5
2
3
-26
-6
0
0
-38
0
1
5
0
0
-1
-31
0
9
42
-1
0
-2
-43
4
0
16
0
-1
-3
34
-1
0
27
-2
0
0
10
0
0
-1
0
1
0
-11
0
0
5
-4
1
0
10
0
0
0
3
0
0
-39
-10
0
0
0
0
0
38
0
0
0
0
0
0
51
0
0
0
1
0
19
-9
0
9
1
0
0
-6
47
0
0
-6
12
0
0
71
0
0
-5
0
0
0
-72
0
-1
0
0
0
0
19
0
-6
-8
0
2
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-1
0
-2
0
1
0
0
0
0
-54
0
0
-20
0
0
0
-6
0
-80
4
-1
0
-1
0
-6
59
0
0
-11
0
0
-9
-9
0
26
30
-20
4
-72
-21
0
0
-15
0
-10
-1
-67
0
0
40
5
-14
10
0
0
8
19
0
0
-3
6
0
24
0
-8
0
-2
-27
0
0
-2
0
-8
0
42
18
0
0
0
5
0
32
12
1
0
-7
0
-10
-4
-8
-5
-10
-4
0
18
6
0
0
33
0
0
12
-34
0
-4
10
-32
20
3
58
0
0
4
0
-2
0
0
0
0
-2
-13
-12
0
28
0
-1
0
0
6
7
61
0
0
1
-3
33
0
-13
0
0
-2
-1
3
0
5
0
0
0
0
0
-4
15
0
-65
-2
8
0
0
31
0
-6
10
-15
0
0
38
0
-12
13
0
0
1
10
0
-12
1
1
0
6
0
0
-5
0
0
0
-16
19
0
-2
8
-3
0
5
-25
0
-6
0
1
3
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
24
0
0
-1
0
0
0
-1
0
0
2
0
0
-7
7
0
0
-1
0
0
-4
-1
0
0
2
0
0
0
-40
0
0
0
0
0
0
0
0
-4
0
0
0
0
8
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
3
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
8
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-10
0
6
0
0
0
0
23
0
0
-3
0
0
0
45
0
5
-43
4
-16
25
0
12
-5
3
0
23
0
0
10
96
0
1
10
-22
0
-32
31
0
-3
5
-2
0
-4
12
0
0
16
63
0
-1
29
1
0
-3
0
0
0
9
0
-13
4
4
0
0
8
0
0
0
0
35
0
-7
25
-3
0
-4
0
0
4
49
0
0
0
0
15
-54
8
-3
11
11
1
11
-20
0
-1
48
8
2
29
3
0
9
-5
50
0
11
7
0
-1
3
-1
4
6
15
0
-14
0
18
3
0
-38
0
0
0
0
5
0
-93
0
0
0
3
-1
0
-24
0
0
0
0
-1
0
58
4
0
0
0
0
0
-72
7
60
0
0
0
5
17
0
13
-3
2
0
0
67
0
-23
-1
0
0
0
73
0
-12
0
-3
10
-3
-12
-1
-52
0
0
-3
0
41
0
0
0
-8
0
0
-3
0
-64
0
0
1
0
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
69
0
3
0
0
0
0
12
0
0
5
0
0
0
-5
0
-39
-2
0
45
0
0
0
6
0
0
16
0
0
-4
-12
0
23
-4
0
-1
11
22
0
0
70
0
8
-6
-4
0
0
23
0
5
5
-36
0
0
25
0
-1
-1
3
0
-49
-3
0
-1
0
61
0
0
0
0
13
0
24
28
37
0
0
0
0
-47
-2
0
1
0
0
0
-34
0
-2
-9
0
0
25
-80
0
0
14
0
-2
2
-67
0
0
-31
0
0
-3
23
0
0
-17
0
0
0
21
0
0
-8
0
1
0
19
0
0
-1
0
29
0
-7
25
6
0
0
-4
0
36
0
0
0
0
0
0
-42
-7
0
0
0
0
0
51
0
-26
0
0
0
0
2
3
0
10
0
0
0
50
0
14
0
0
-1
0
17
0
0
0
0
0
0
20
0
-25
0
0
0
0
12
0
0
0
0
-8
0
-8
0
-6
0
0
6
0
-17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
-7
0
0
0
-4
0
0
0
10
0
0
0
-26
0
0
0
0
0
-9
-25
-3
2
0
0
-16
15
0
0
-61
0
0
13
25
0
9
5
49
0
25
33
0
0
33
0
0
7
5
0
9
-30
28
0
28
-57
7
0
-3
0
0
-1
-8
0
-19
49
-37
0
0
4
0
0
0
0
0
0
8
71
11
0
-6
0
-6
-37
28
0
0
0
0
8
28
0
-17
29
4
0
29
21
0
0
110
0
0
-37
41
0
-4
-29
-20
0
-86
-8
-1
9
-49
0
0
1
-10
1
0
-8
-28
0
0
-18
0
-7
-23
1
0
0
13
0
0
41
38
0
0
19
-2
0
0
0
0
0
-36
62
0
0
0
0
0
-27
0
15
1
0
0
3
44
0
-1
14
0
0
0
-42
0
35
-12
0
0
-1
14
8
25
-19
-1
0
-3
4
0
-36
31
1
0
5
-8
0
10
24
17
0
0
20
-2
34
0
0
0
0
20
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
8
4
-19
0
0
-4
0
0
0
0
4
-39
-7
1
-9
-4
0
10
10
0
-8
-19
0
0
4
-20
0
-2
10
1
0
-36
1
0
0
55
0
-1
2
-13
0
0
0
0
-8
0
-62
0
0
35
0
0
0
-36
0
-8
-9
-2
0
0
19
0
0
-2
0
5
0
10
-4
-2
0
-7
0
0
-67
-8
0
0
0
0
0
-29
0
6
6
0
-5
4
-69
0
-12
4
0
0
0
11
0
3
-5
1
0
0
-33
0
2
7
0
-2
0
-49
0
0
32
-7
0
0
4
0
6
0
0
31
0
-17
0
0
0
2
11
0
16
0
0
0
0
0
0
-39
0
0
0
0
0
0
-52
-7
11
0
0
0
0
102
0
2
-1
0
3
-1
44
0
22
-6
0
0
0
19
0
0
1
-4
-1
0
41
0
18
6
0
0
0
82
0
0
1
0
0
0
8
0
1
0
2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
6
0
0
0
0
0
-33
-7
4
0
0
0
4
-1
0
0
36
0
0
-4
-17
0
39
32
0
0
-59
-11
0
0
12
0
0
1
-3
0
0
-1
0
0
2
-24
0
0
71
0
0
-2
0
0
-46
0
0
2
0
21
0
0
3
0
0
0
-55
2
1
0
0
0
0
-69
-6
0
6
0
0
0
12
0
-5
8
0
0
-6
-13
0
0
-6
0
0
-15
46
0
1
24
-2
0
0
28
0
0
5
0
0
0
-48
0
0
0
0
0
2
0
0
0
2
0
0
0
-65
0
0
0
0
-1
0
-46
0
0
0
0
0
0
47
0
0
0
0
0
0
35
0
27
0
0
0
-1
-51
0
0
3
5
0
0
43
0
-5
0
0
0
0
10
0
0
1
0
0
0
-6
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
0
14
1
0
0
0
22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
1
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
1
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
3
0
0
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
15
0
0
-1
0
0
0
-1
0
0
1
0
0
0
-60
0
0
0
0
0
0
1
0
0
0
0
0
-2
-5
0
0
0
-1
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
2
0
0
0
9
0
-66
-3
0
0
0
0
4
-30
0
0
43
0
0
-8
-19
0
-11
10
0
2
1
-2
0
0
1
0
0
18
-36
0
0
0
0
0
2
-3
0
0
-12
0
0
0
1
0
71
0
-1
0
0
-8
0
0
0
0
0
0
-41
2
0
0
0
0
0
84
-1
0
0
0
0
0
-65
0
0
-7
13
0
0
22
0
0
0
0
0
-16
0
0
0
1
0
0
0
30
0
0
0
0
0
0
26
0
0
0
-3
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
-44
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
19
0
0
0
1
7
0
0
5
0
0
0
7
0
-6
0
2
0
0
5
0
0
-2
6
0
-3
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
5
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
0
4
-6
0
0
-3
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
5
0
-1
28
0
0
0
-46
0
0
0
0
1
-23
-36
1
2
0
0
-49
33
0
0
-2
0
0
72
60
0
-10
-65
22
0
21
12
0
5
-20
0
0
83
56
0
0
37
88
0
42
-65
0
-1
-40
0
0
1
2
0
14
-52
17
0
4
14
0
0
-1
0
0
0
-28
-16
12
0
6
0
0
26
-43
0
0
0
0
38
0
0
40
8
2
0
8
-12
0
0
58
0
0
-14
38
0
-4
7
-26
0
17
14
0
1
47
0
0
2
-29
0
8
110
14
0
0
-24
0
14
47
0
0
0
20
0
29
-16
2
0
0
-13
-1
0
0
0
0
0
11
-12
0
0
-2
0
-3
-30
0
16
27
0
0
9
-19
0
0
7
25
0
21
94
0
-1
47
-5
0
-6
53
0
2
5
24
0
0
1
0
98
31
0
0
1
-44
2
2
-13
-65
0
0
-30
0
-15
3
0
0
0
17
-16
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-13
0
0
1
0
0
0
3
0
-21
0
0
0
1
-1
0
0
-33
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
7
0
0
0
0
3
0
0
0
0
0
0
-82
0
0
0
0
0
0
-74
0
0
0
0
0
0
5
0
0
0
0
0
0
-86
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-8
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
30
5
0
14
-1
0
0
-75
5
0
-55
0
0
-44
3
0
-10
47
3
0
-4
-9
0
-2
-1
2
0
0
62
0
0
3
-4
0
0
19
0
0
-1
0
0
-1
39
0
-3
8
0
0
0
0
0
0
2
0
0
0
1
3
-1
0
0
0
0
-41
5
0
0
0
0
-2
-31
-3
-5
3
3
-2
6
36
0
0
3
0
0
13
20
0
0
-13
-23
0
40
-7
0
6
8
0
-3
-3
-16
0
-1
-3
-5
0
0
-9
0
0
0
3
-1
0
0
0
0
5
0
5
0
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
18
0
-32
0
0
0
0
-39
0
5
1
0
0
0
-4
0
0
0
0
0
1
-22
0
7
-1
-2
1
5
-7
0
-5
-1
0
0
0
20
0
0
0
0
0
0
0
0
-2
0
4
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-59
0
0
-3
0
0
-4
0
0
-27
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
-1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
-52
-5
0
1
4
7
0
0
-1
0
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
-12
0
1
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
-3
-51
0
0
0
0
0
0
-4
0
0
0
0
0
7
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
8
0
0
0
0
-1
0
0
0
0
0
0
3
0
3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-21
19
0
1
0
0
30
46
0
0
-3
0
0
-16
38
0
-7
-3
0
0
-24
-25
0
5
9
0
0
40
3
0
7
28
0
-1
6
32
0
0
-8
0
0
0
0
0
3
0
14
5
0
-25
0
0
0
0
4
0
-12
-3
-3
0
0
0
0
-52
2
0
-8
0
0
0
58
0
-6
7
0
0
22
-46
0
0
-3
0
-2
-4
-4
0
0
-35
0
0
3
-47
0
0
-1
0
8
-2
-2
0
-2
27
-2
0
0
-23
0
0
2
0
4
0
-42
0
0
0
0
3
0
3
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
-8
0
0
0
0
-47
0
0
-4
0
0
0
37
0
1
7
0
0
0
-87
0
0
-5
0
0
0
46
0
-21
-4
0
-1
0
-27
0
0
1
0
7
0
0
0
2
0
0
12
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
15
-1
0
18
0
-5
-24
-35
10
2
-44
0
5
23
3
1
0
5
0
23
57
-6
31
9
17
0
6
-36
1
-8
9
-2
0
15
-6
0
-13
-4
18
0
8
-1
0
5
-6
0
0
30
26
13
3
18
6
0
42
39
21
-4
1
-2
0
0
-13
-10
-47
-1
15
0
-1
-7
-69
-2
-14
-1
0
-31
9
-15
6
-8
-6
0
-38
6
3
34
78
-12
0
-2
1
-24
-16
1
28
0
-9
16
-1
3
44
20
0
65
-21
5
-2
21
13
0
72
8
0
-10
42
16
0
2
-13
-6
11
-41
17
2
0
-25
9
26
-2
0
0
0
10
35
25
30
9
0
71
4
-3
19
-52
-10
0
-1
-20
-5
-8
-39
-39
0
-89
-23
-1
-44
7
-15
0
62
51
2
20
3
-37
0
-35
18
0
-1
52
-3
0
0
-7
0
47
-46
64
0
0
-21
0
14
-19
4
0
0
-13
123
140
24
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
-5
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
2
-30
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
-58
6
-21
-8
2
17
-34
-1
-7
-38
0
0
40
4
-1
39
-25
-15
-2
14
-30
0
-5
-32
-5
0
41
12
0
-3
-69
-84
-2
44
-30
0
0
-103
0
1
-6
5
0
-29
13
-6
-6
2
49
0
0
2
0
11
-2
-31
0
16
0
-7
0
0
-34
-13
0
-8
8
-8
51
-30
6
8
7
41
0
-55
1
-1
3
-33
0
-4
-13
34
0
48
15
-8
1
-76
22
0
1
-64
0
-29
-19
-7
1
0
-19
-40
1
-1
-20
0
-1
-6
0
5
-1
38
0
-4
-33
-44
31
0
11
0
0
0
-1
0
-2
12
-32
0
-1
8
0
8
-136
1
0
29
1
0
-1
11
2
8
4
8
8
-2
-29
0
-41
-12
0
-1
2
50
0
24
-17
-1
-1
6
0
1
4
1
-2
0
-25
-4
0
-4
-1
-8
-6
3
19
0
11
0
0
-25
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
0
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-22
0
0
0
0
0
-2
0
0
48
-5
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-38
0
0
0
0
0
0
-20
0
0
0
0
0
0
-38
0
0
-4
0
0
0
-8
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
-17
16
32
0
0
-25
17
-1
0
-1
0
0
-47
32
2
-14
24
10
0
30
37
0
0
40
0
0
-3
-79
0
-5
-22
6
0
-21
18
1
0
-62
0
0
0
38
0
-41
-9
-10
0
0
13
0
3
0
0
0
0
32
74
14
0
0
0
8
-36
29
0
0
0
0
-5
61
-10
44
62
6
0
-40
7
0
0
-9
0
0
25
0
0
0
53
52
0
70
-13
0
-3
50
8
0
-1
-7
0
0
44
-3
0
0
15
4
-8
8
0
0
1
37
0
-5
1
-10
0
0
30
1
0
0
0
0
0
-7
4
0
0
0
0
3
45
4
32
2
0
0
-2
-13
-3
2
-17
-2
0
-2
-27
0
26
-19
0
0
0
-16
6
-1
-41
-8
0
0
4
0
51
2
0
0
1
55
0
-2
13
-5
0
2
2
3
-21
0
1
0
0
33
26
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
1
0
0
-15
15
-5
0
10
3
0
0
-24
0
0
0
-4
0
0
3
0
0
0
34
0
0
-2
0
0
0
-21
0
4
1
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
1
0
0
0
0
0
13
0
0
-5
0
0
-7
12
0
0
0
0
0
0
-13
0
0
1
0
0
0
51
0
0
2
0
0
0
-13
0
0
5
0
0
0
-55
0
0
0
0
0
0
8
0
-2
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-8
0
0
0
0
42
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
2
16
-24
11
22
25
44
-1
-10
-2
52
29
-6
33
-6
-2
-32
45
-4
54
-35
4
-47
-47
-12
-9
-34
12
-9
9
51
-1
6
-24
50
5
-6
13
4
35
-29
15
-32
22
11
-51
83
-8
0
-37
-25
51
-2
10
-28
-18
0
-43
-4
-40
9
15
-20
-13
16
-10
15
84
47
22
25
4
51
-13
22
-11
32
-12
21
2
33
-32
-17
7
3
-6
-14
-7
42
1
119
-34
17
11
-8
-30
14
-37
-9
0
-61
9
12
19
25
-31
4
47
22
2
52
0
-15
52
10
-1
-18
59
-2
0
-2
3
-44
-27
0
26
-26
-10
-50
-16
14
29
23
36
4
26
21
6
10
20
-26
92
13
39
11
67
-23
5
-16
60
19
28
11
42
-38
4
36
-90
52
21
21
-61
-12
-78
-40
38
-32
15
-14
-1
-20
10
-50
-70
6
-2
-48
64
-27
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
-1
1
65
0
0
57
25
-3
-35
35
-52
0
-11
-47
-9
8
-18
10
4
-24
-5
2
-1
-100
7
-1
-13
-12
0
-4
19
5
-1
-3
29
0
34
0
-7
2
0
-45
0
0
0
-5
-15
-3
17
-24
-4
0
0
-5
0
39
-5
0
-24
1
0
40
62
-6
20
-18
34
-2
1
75
0
6
17
0
-2
-58
16
0
18
-88
14
0
-41
5
7
-3
-42
-13
1
17
21
0
-9
-38
-52
1
0
5
0
2
10
0
2
13
-41
0
0
0
-9
-10
0
-9
-22
-2
0
0
0
-2
42
0
-1
1
-3
0
-5
39
-3
152
0
-2
0
-1
-8
-5
28
74
12
0
-4
56
0
68
-40
0
0
-2
-11
0
2
43
-47
0
-5
90
0
64
6
-15
0
0
96
3
-5
-5
0
0
-3
-101
0
-29
-4
1
-5
0
41
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
-5
0
-24
0
0
117
-10
-1
0
-12
-26
0
-9
0
-1
0
-2
0
0
8
52
0
0
31
-1
3
3
-29
0
0
20
-5
-5
-2
30
0
-38
0
40
-1
0
-41
0
0
0
0
43
0
33
22
0
0
5
-4
0
-10
24
0
-5
0
0
-3
45
4
10
9
-5
0
8
-70
0
-5
1
0
1
8
23
0
0
16
2
0
10
-38
1
0
67
-1
3
-2
-17
0
0
-20
3
0
0
76
0
2
-1
0
3
0
19
2
2
-4
5
-25
0
-46
0
0
0
0
0
0
14
1
0
4
12
0
0
-4
0
20
0
0
0
0
-35
0
0
-1
0
0
0
-46
2
0
0
0
0
0
67
0
-2
-4
1
0
0
-19
0
-12
19
-3
0
0
31
0
0
-2
-4
0
0
-47
0
18
0
0
-2
0
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-92
0
0
-20
15
0
115
-4
0
59
34
56
0
-23
7
0
1
19
0
0
0
79
0
20
-58
-13
6
8
-38
0
0
52
0
0
0
-4
-3
-30
5
73
12
0
-59
0
0
0
0
-5
0
61
47
-6
0
1
0
0
-55
57
-2
0
0
0
2
45
-1
8
3
5
0
-65
21
1
-23
-13
-1
0
58
7
0
12
-31
26
0
-18
74
1
1
41
4
0
0
33
0
4
-86
75
0
0
-12
0
0
-9
0
54
0
-5
13
8
0
-27
23
0
24
3
0
0
0
0
-1
-95
1
0
0
0
0
0
32
-4
-27
7
0
0
12
51
4
-8
-1
-3
0
0
-12
0
32
0
1
-1
2
31
0
9
8
8
0
0
23
0
42
0
-4
0
0
-3
0
-7
1
-4
0
8
-48
0
23
8
0
-1
0
33
-18
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
21
0
0
6
-2
0
67
-1
0
0
34
-20
0
1
-2
0
0
0
53
0
0
-22
0
0
3
-31
0
0
-17
0
0
0
-6
0
17
0
0
0
0
22
0
0
2
0
7
0
35
5
0
0
0
0
0
-63
-1
0
-3
0
0
17
-24
0
0
-1
0
0
22
-31
0
0
34
0
-3
3
-31
0
0
-9
0
0
-1
15
0
0
39
0
0
0
-14
0
0
-4
0
0
0
49
0
0
3
0
-1
0
-17
0
0
0
0
-2
0
-40
0
0
0
0
0
0
30
5
0
-9
0
0
0
-1
0
-1
-8
0
0
0
-20
0
8
0
0
0
5
-23
0
-18
-16
0
0
0
-10
0
0
17
0
0
0
-4
0
37
0
0
0
0
48
0
0
0
0
0
0
-26
0
1
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
62
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-9
-1
2
35
84
0
7
11
0
8
-33
3
4
-17
2
0
-1
-41
27
-3
-6
36
0
0
56
0
-1
0
-3
0
-2
-19
-45
2
0
45
0
0
-12
0
15
0
32
-13
-14
0
-5
0
7
-31
-25
0
0
0
0
-2
62
-8
3
143
2
0
48
12
0
1
24
2
0
-25
-7
0
1
2
25
0
56
-14
0
-13
11
-7
7
-3
55
0
-16
20
-39
-4
0
27
0
-5
8
0
-1
0
18
1
-7
23
14
55
0
-31
1
0
0
0
2
0
-75
31
-5
5
0
0
0
22
3
85
-1
8
0
-8
63
2
-5
-7
18
0
2
-79
0
-60
-13
0
0
0
-3
0
7
35
-5
8
-4
-16
0
93
-11
-2
0
0
-78
0
0
-64
6
0
0
-62
0
13
0
0
15
0
53
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
16
-9
16
-10
28
-1
-6
40
4
-3
2
-26
43
10
46
58
-29
10
2
-2
-10
41
-16
-1
9
-78
-50
-35
82
8
7
5
-25
22
-20
4
55
-67
45
29
-3
-8
-44
76
-9
-25
31
-1
21
11
-16
32
-72
26
-61
0
33
14
41
29
-31
48
23
23
29
-30
99
92
4
9
-10
43
-34
37
27
3
-8
18
31
-1
25
88
-11
-10
-36
18
32
9
3
-34
-8
30
49
-24
-30
38
9
19
-1
47
7
13
-48
0
-20
-31
33
7
-4
-32
-10
2
-26
40
-13
-5
0
13
0
90
1
47
19
0
-48
-73
9
-7
38
-11
-15
49
53
31
23
1
-54
19
1
-64
-96
-14
-54
14
-37
-16
-1
-45
52
18
43
65
18
39
13
67
10
-6
-58
57
6
41
42
-1
38
14
9
-21
60
10
21
-22
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
7
2
0
11
31
0
0
12
0
0
-8
10
0
0
1
0
0
0
39
0
0
0
0
0
0
26
0
-41
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
98
7
0
0
0
0
0
23
0
0
0
0
0
12
16
0
0
-3
0
0
4
-55
0
0
0
0
0
0
-79
0
0
4
0
0
3
13
0
0
-3
0
0
0
-4
0
0
0
0
0
0
16
0
0
-7
0
0
0
-46
0
0
0
0
0
0
-24
0
0
0
0
0
0
-6
0
-2
0
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
99
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
6
3
3
0
14
17
0
0
-7
0
0
0
3
0
0
-1
0
0
0
101
0
0
-6
0
0
0
7
0
6
5
0
0
0
69
0
0
0
0
0
0
55
0
0
0
0
0
0
16
0
0
0
0
0
-3
3
0
0
6
0
0
5
2
0
0
0
0
0
1
-13
0
0
0
0
0
3
63
0
0
2
0
0
0
15
0
0
4
1
0
0
21
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
-1
0
0
0
0
0
-23
0
1
5
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
3
0
0
-2
0
0
3
0
0
0
38
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-22
0
22
44
-39
-8
8
-6
-5
38
37
-2
8
-9
25
0
0
28
40
-29
-24
-2
0
-6
4
-4
14
7
16
-2
9
23
-25
-7
0
11
0
-2
3
0
15
0
27
-26
-14
0
-17
5
0
0
-44
18
-4
2
0
28
7
-4
-1
93
-9
1
15
17
0
-15
25
1
32
0
4
0
-41
-19
72
8
56
-1
0
53
-26
-5
-16
-27
-24
6
-30
28
22
-5
7
23
0
-21
-32
-1
1
0
-8
0
-3
-16
-8
-53
0
38
9
0
0
2
2
0
10
-17
0
-1
3
0
1
66
-3
-10
14
0
0
32
62
10
143
-7
-44
1
89
33
-1
69
0
7
5
-6
-25
0
-37
-18
64
5
2
-37
1
-7
-6
1
-29
38
1
4
-1
-17
-55
24
-1
35
0
29
2
0
37
0
-9
-3
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
13
-1
0
0
4
11
0
0
0
0
0
-1
2
0
0
-1
0
0
0
-15
0
0
0
0
0
0
3
0
0
1
0
0
0
14
0
0
0
0
0
0
41
0
0
0
0
0
0
34
0
0
0
0
0
-1
29
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
3
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
-3
0
0
0
0
43
0
0
0
0
0
0
44
0
0
0
0
0
0
-31
0
0
0
0
0
0
12
0
0
0
0
0
0
-25
0
0
0
0
0
3
-12
0
0
-1
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
3
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
50
6
-36
12
57
-43
-15
-7
23
-20
-21
-4
-50
7
-8
1
-13
2
11
4
-7
-1
0
46
47
9
0
17
-14
0
5
0
66
0
52
-61
-5
0
-13
-6
-7
32
29
0
50
-5
0
9
-16
17
96
-12
-26
0
80
-44
-5
21
-10
1
7
76
-7
-13
-47
27
-26
-25
-19
-16
0
-36
129
-10
-14
1
-10
4
30
3
-30
-9
-1
-1
5
22
-33
-2
80
-1
65
-8
-20
-12
76
54
0
-34
-5
43
0
8
-51
0
-25
-48
-2
28
-1
0
2
1
-1
17
-13
0
7
-5
11
3
132
-11
82
0
22
-50
-4
39
67
3
-16
-18
5
2
-85
-74
5
-1
4
6
0
-10
-58
-1
22
-6
-35
-2
-4
100
-22
-8
-6
-3
4
28
2
1
-4
0
1
75
-12
23
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
87
-5
30
-37
0
0
40
-47
0
-25
38
-17
4
61
7
1
-1
12
-7
-40
-1
-38
-4
-12
-42
-48
6
-4
-27
0
0
-1
-1
-4
0
6
7
-45
0
84
0
1
-16
33
-1
12
0
0
-6
10
13
28
80
0
0
-7
0
-5
63
-28
2
0
48
-32
3
13
-27
4
-47
12
-9
0
20
6
6
27
-27
-39
1
8
78
-34
19
5
-39
0
-13
-40
0
37
0
-35
0
-2
-1
58
1
0
43
-3
-5
0
2
-5
-2
-1
6
0
0
-1
0
-1
-17
-6
-25
45
8
0
0
0
9
1
8
-1
4
-2
-13
5
8
9
0
1
10
91
3
-12
48
-11
-1
-4
-38
0
33
-7
12
2
16
25
0
-1
-12
21
0
0
31
0
-40
-5
2
25
0
47
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-15
0
0
-5
0
0
2
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
43
0
0
0
0
0
0
-11
0
-3
2
-2
0
-7
-54
0
0
0
0
0
0
9
0
0
0
0
0
5
-50
0
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
3
0
0
0
0
3
0
-2
0
0
0
0
7
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
2
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-8
31
-26
-55
59
44
-37
28
-3
5
-3
14
-31
21
3
-7
28
-5
8
90
33
-7
9
26
61
27
2
4
-8
-4
-14
-9
16
-1
-4
19
40
-1
-3
-34
1
-1
52
-27
-18
8
-4
-67
-13
-48
-40
-14
25
11
-11
-31
0
-58
-5
-20
-37
12
28
42
-37
-1
22
-2
-59
5
3
26
-23
-32
-11
-10
-21
-4
-33
-15
11
-12
-68
31
1
-44
-50
6
-9
29
-4
-19
5
-42
-34
-13
0
-14
23
-13
-2
-28
-10
-2
15
-24
7
-13
-2
-2
-30
4
66
57
36
8
-19
-57
-27
-13
-26
-12
44
7
-15
6
-2
-71
-19
-3
32
5
6
12
-22
2
-32
31
-4
-21
2
-5
-54
-9
67
70
26
-8
-9
-46
21
-11
47
13
1
8
-43
-5
-15
0
-20
-9
8
-6
-14
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
58
-1
5
-54
13
-34
28
-30
0
31
-24
-11
-45
-21
-4
5
-8
-73
7
14
5
-17
0
-16
3
11
0
0
32
15
-2
2
14
13
-1
15
-44
59
0
-10
27
1
73
26
-1
31
10
0
42
39
25
42
0
96
0
50
-39
6
31
40
-3
-14
-10
24
-3
12
9
-48
33
10
2
-13
3
-43
75
38
-22
-4
0
-22
-156
-54
-13
5
-28
7
18
87
-6
-17
0
-5
0
-20
31
6
69
0
-3
1
5
0
21
25
0
49
-50
0
0
5
-2
-26
84
9
26
-39
0
0
-92
1
18
-2
2
4
-7
-9
17
-17
-44
5
-5
-16
1
8
7
-28
-18
-12
10
8
-57
2
-8
-55
0
-18
7
11
3
-3
-31
55
2
0
31
0
3
5
-1
6
0
-47
0
4
1
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
42
-2
0
-49
0
0
-4
11
0
-5
5
0
0
9
15
0
19
14
0
0
1
5
0
31
6
0
2
0
30
0
0
0
0
-62
0
-46
29
-2
0
0
0
7
10
8
6
0
0
0
-2
56
0
19
25
0
0
22
31
0
0
9
0
0
13
14
0
-3
-18
0
-3
-89
44
0
10
123
0
0
0
0
0
-1
32
-6
0
0
11
0
0
-3
0
-6
0
-66
0
-3
4
0
46
0
8
-3
0
0
0
0
0
-7
0
0
0
0
0
-4
-61
0
31
-9
0
0
-3
12
0
4
-2
0
0
1
-52
0
-7
51
-1
0
-10
-82
0
-19
-24
1
-2
0
7
2
-10
0
0
1
0
-11
0
3
2
0
1
0
13
0
4
0
0
3
0
12
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
-16
0
0
3
47
0
0
0
0
0
8
29
0
0
0
0
0
0
7
0
16
0
-8
0
0
2
0
0
0
0
0
0
-1
9
0
0
0
0
0
-20
0
0
0
0
0
0
-38
0
0
0
-3
0
0
7
0
0
-1
0
0
0
5
0
0
6
0
0
0
-64
0
0
1
0
0
0
15
0
0
0
1
0
0
-95
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
38
0
0
0
0
0
1
-3
0
-1
0
0
0
0
4
0
0
-1
0
0
0
-23
0
-1
0
0
0
0
-5
0
0
-4
0
0
0
-52
0
-5
0
0
0
0
34
0
0
0
0
0
0
16
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-58
-13
45
-11
20
5
-82
13
0
18
10
3
13
-3
-4
8
6
19
5
80
0
-25
28
14
3
10
-81
0
-1
-19
-8
-1
119
32
-14
7
49
18
-32
6
0
-7
26
-25
76
21
63
-3
48
0
2
25
-36
0
10
-26
16
-2
17
-3
12
-2
12
1
-8
43
39
21
2
-4
36
-2
-16
-30
5
43
-1
36
0
5
-22
2
48
2
4
7
51
37
13
33
0
10
-46
3
-5
-2
-41
0
7
1
0
-3
-22
-1
13
-30
32
-20
100
0
0
-3
27
0
-3
24
-65
0
-25
-23
-12
44
33
-3
0
7
5
-2
2
16
-49
-2
0
44
4
17
20
-3
-76
14
-30
-4
2
2
46
17
-7
11
-2
-42
14
0
30
0
-7
-27
0
49
20
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
27
2
-60
10
-4
-13
72
-4
16
-5
-5
16
-6
23
-24
-14
9
-30
-59
-6
11
23
-1
-3
-29
5
-75
3
36
-59
-18
0
11
18
8
-7
26
3
21
-61
-1
-43
-15
-61
5
17
10
51
0
-26
103
20
-5
22
-22
29
0
41
63
9
42
-13
15
-20
-8
-34
4
-27
-9
-47
-2
1
7
53
-54
-29
-2
0
1
-25
48
-12
-4
-22
-1
-5
-5
-25
50
11
0
22
47
-7
-1
16
26
0
-16
-21
25
9
-41
-1
7
-1
24
25
-13
2
-8
45
-42
43
43
48
-12
2
55
0
15
14
-66
28
10
-52
-75
7
-58
-43
-90
24
-3
1
-40
-48
68
-2
1
27
-18
-6
64
-23
-8
-1
3
-16
2
-21
6
4
73
0
21
16
-16
-10
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
18
0
0
0
0
-18
0
0
0
0
0
0
48
3
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
1
-27
0
0
0
0
0
2
17
0
0
0
0
0
0
74
0
0
0
0
0
0
5
0
0
0
0
0
0
42
0
0
0
0
0
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-3
0
0
-3
36
0
0
0
0
0
0
-6
0
8
2
0
0
0
7
0
0
0
0
0
0
-78
0
0
0
0
0
0
1
-6
0
0
0
0
0
13
0
0
3
4
0
8
-47
0
0
0
0
0
1
28
0
0
0
0
0
0
-25
2
0
0
0
0
0
-34
0
0
0
-1
0
0
19
0
0
0
0
0
0
-23
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
-3
0
0
-5
0
-1
0
0
0
0
67
0
0
0
0
0
0
30
0
-5
0
0
0
0
12
0
0
-1
0
0
0
0
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
0
33
23
-38
4
32
32
0
21
-17
-1
-1
-23
14
0
9
9
29
8
-4
12
2
-1
15
0
-57
0
9
57
2
-4
8
5
0
35
8
-7
-5
0
-4
0
-16
13
10
-47
60
5
14
-13
0
10
89
1
-2
80
10
0
-73
-26
19
0
-26
21
-3
-24
15
6
45
55
-33
0
1
49
37
12
-55
26
0
13
16
-1
-2
-5
-44
1
6
0
5
-5
0
-1
0
0
0
-1
-9
8
8
-29
-6
-1
2
0
-3
-40
0
-37
-10
-1
0
-14
76
0
28
11
-14
0
-64
22
12
-39
-29
1
2
2
6
0
-42
16
60
17
30
-24
0
-3
-34
-2
8
-3
-23
0
0
-15
-5
-13
-12
-39
0
-25
5
1
7
0
-9
12
33
-5
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-47
0
0
0
0
0
0
-32
0
0
0
0
0
0
-6
0
-13
-9
0
0
0
-6
0
0
0
0
0
0
63
0
0
0
0
0
0
-41
0
0
0
0
0
0
-10
0
0
7
0
0
0
-64
0
0
21
0
0
-8
-24
0
0
-4
0
0
0
1
0
0
-12
0
0
0
-29
0
0
0
0
0
0
17
0
0
0
0
0
0
42
0
0
0
0
17
0
-59
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
-30
0
1
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
1
0
0
-7
-48
0
0
2
0
0
0
-14
0
-24
0
-5
0
0
-31
0
0
0
0
0
0
42
1
0
0
0
0
0
46
0
0
0
0
0
0
45
0
14
-1
3
0
12
38
0
-1
-6
0
0
16
108
0
0
-4
0
0
0
-21
0
0
-8
0
0
0
-23
0
0
-1
7
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
-3
0
0
0
0
-5
0
0
0
-9
0
0
31
0
2
0
0
0
0
-36
0
0
0
0
0
0
-43
0
0
-1
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-56
0
0
18
0
-2
0
116
-3
22
28
-23
0
0
86
3
0
0
3
13
0
25
2
4
0
5
0
0
-51
-16
-3
0
4
0
2
-3
22
-2
67
23
0
10
27
-3
-3
-9
0
0
-2
-20
0
1
-16
-30
0
0
-60
0
4
-49
0
0
0
-4
0
1
-106
-9
-9
0
-14
0
7
2
1
-22
0
-21
0
2
0
-8
-54
0
-14
0
0
0
0
0
0
-1
-2
0
5
0
0
0
7
-8
73
-1
0
0
0
36
0
-4
-9
12
0
0
-90
0
19
-8
0
0
0
-104
0
4
48
15
0
0
80
0
47
7
-2
24
0
18
0
-2
-3
3
-1
0
-26
0
-15
8
0
-19
0
84
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
9
-3
-1
28
29
-40
42
-3
24
4
-67
-5
6
-43
-1
-1
9
0
17
0
-64
-66
15
0
-1
14
-3
4
105
0
-28
5
-1
6
-20
-5
21
8
-5
-7
-11
26
-4
15
-51
-11
-20
-32
-8
-3
33
4
36
-62
-5
0
-12
9
54
3
-12
6
-18
-10
25
-23
10
41
-23
-22
-5
-4
-11
-34
-21
-2
-20
21
2
-8
-23
-7
0
-28
-7
-2
-1
4
11
-1
-6
35
-2
-11
3
-3
84
58
30
-8
-8
-21
11
-11
-22
1
-62
20
-93
-1
-12
28
-4
-29
17
-31
-10
-48
0
0
4
11
86
9
-5
20
-1
9
47
-3
-3
6
-18
2
45
5
14
33
-1
-2
-2
-17
-3
0
45
0
5
82
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
1
56
0
0
0
0
0
0
15
0
0
1
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
73
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
0
-2
0
0
0
-1
0
24
1
15
0
0
-7
0
0
0
0
-2
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
-46
0
0
8
0
0
0
-38
0
0
0
0
0
0
-14
0
0
-7
0
0
3
56
0
0
-3
0
0
0
-17
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
24
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
0
10
0
0
0
0
-8
0
0
-1
0
0
0
72
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
0
0
21
2
-4
-3
17
0
-19
0
3
15
0
-23
-3
0
0
-1
68
0
57
-77
-6
0
12
-2
7
1
58
-1
22
0
0
52
-26
-7
-18
30
24
-2
-73
5
0
9
23
0
0
-30
-15
0
17
-13
-28
-1
-3
-27
-1
-6
-3
13
0
0
11
7
0
-8
56
0
-3
-2
0
0
20
0
54
0
-53
-5
-19
-1
13
-26
0
30
-1
0
0
0
5
0
12
23
-3
0
0
0
-4
24
0
-23
-20
0
0
15
24
-3
-29
-7
-18
0
5
38
0
89
47
0
6
-1
-31
0
57
2
-20
0
12
17
0
13
14
0
-3
0
9
0
-3
-1
-51
55
0
-11
-1
-25
0
-6
60
0
22
-49
2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
13
0
0
0
-67
0
-18
9
0
4
0
-23
0
9
0
0
29
0
-8
49
-18
0
0
0
0
-20
-1
0
0
0
0
-19
-5
-6
0
94
0
0
142
14
0
0
11
0
0
-3
-17
0
-2
-24
3
0
9
10
0
0
8
0
0
-1
40
3
4
-1
0
2
0
-40
0
0
14
0
32
0
-6
0
8
16
0
-61
0
31
1
-1
0
0
0
0
-45
-2
0
0
0
0
0
-31
0
-8
-2
0
0
0
46
0
-3
-15
0
0
5
3
0
-5
13
0
0
0
-34
0
-4
5
0
0
2
-14
0
18
5
0
6
0
-58
0
0
-58
0
-7
0
-34
-2
-50
2
0
0
0
2
40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-7
0
18
0
0
0
0
-5
0
0
0
0
0
0
-67
-16
0
0
0
0
0
52
6
0
0
0
0
-3
-82
-1
0
-2
0
0
-12
-24
0
0
4
0
0
3
-74
0
0
0
0
0
7
-42
0
0
-3
0
0
0
75
0
0
-1
0
0
0
-54
0
0
0
0
0
0
26
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
-6
0
0
0
0
-19
0
0
0
0
0
0
5
0
-6
0
0
0
0
29
0
0
6
0
0
5
37
0
-4
-13
0
0
0
-1
0
0
0
0
0
0
19
0
12
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
27
3
-3
3
0
57
0
0
2
0
-10
0
-39
-9
5
0
-6
0
0
12
27
0
0
0
0
0
-37
1
22
33
5
9
-23
33
0
-1
-39
0
0
-1
56
0
-9
-32
11
4
0
20
0
0
37
0
5
0
25
0
8
19
39
0
0
-53
0
0
0
0
-1
0
-22
0
-5
0
5
20
0
7
0
0
0
0
0
0
-29
8
0
0
-1
0
0
-14
-1
54
48
0
0
-3
35
0
0
16
-16
0
-14
48
0
21
-53
0
-4
0
46
0
-2
7
-3
0
0
22
0
-72
7
-2
0
0
33
0
4
-8
14
0
0
46
0
-49
12
0
0
0
37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
15
24
-5
-13
-16
15
-33
-43
10
12
22
5
-8
1
-12
22
-18
-6
-23
-6
-31
10
2
0
-3
31
7
106
-12
-28
-44
-15
-33
4
-21
5
-10
-45
4
-3
-38
-29
-1
-33
22
-1
-14
2
33
12
3
59
49
-8
-26
-14
0
-11
49
2
42
-55
-3
-8
0
5
-30
-6
5
0
4
-27
-9
6
-80
3
0
19
54
-13
0
3
7
-3
37
14
-27
36
-33
-2
-6
22
51
-14
-48
-13
-9
-8
2
-30
-84
-27
-5
36
-32
-10
-36
-36
-10
-20
-64
12
-24
-34
26
53
9
50
49
0
3
-52
23
-4
-4
37
32
-2
-14
2
-8
43
-20
0
-3
-12
-11
1
-33
0
19
-40
-13
1
-26
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
1
0
0
0
0
0
7
-8
0
0
0
0
0
-2
0
0
2
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
-5
0
0
0
0
0
0
27
0
0
0
0
0
0
11
0
0
0
0
0
0
24
0
0
0
0
0
1
50
0
0
0
0
0
0
-22
0
0
1
-3
0
0
3
0
0
18
0
0
0
30
0
0
-1
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-32
0
18
1
-76
0
0
9
0
0
-1
0
48
0
40
12
4
0
4
2
0
-26
24
2
-2
0
0
-10
8
8
5
36
-40
-5
-38
-40
0
8
-20
0
-2
6
54
-5
10
59
-2
0
-9
-9
0
-5
-3
0
4
-2
-33
0
7
-3
-38
0
0
-25
0
0
1
0
-8
4
15
-3
-1
0
-57
45
0
26
-8
-8
0
0
0
0
53
-14
0
1
2
0
0
8
0
-27
13
0
0
-3
-44
0
5
-7
-25
0
-17
-9
0
-108
3
0
-2
-8
-5
0
-4
0
13
1
0
-13
0
48
2
0
-4
0
-9
0
0
0
19
-22
0
4
0
-72
0
0
-4
0
-11
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
7
0
0
0
0
-7
0
0
0
0
0
0
-46
0
0
0
0
0
0
35
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
1
0
0
2
7
0
0
0
0
0
2
-23
0
0
0
0
0
0
6
0
0
-5
0
0
0
1
0
0
0
0
0
0
38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
16
0
-13
0
0
-6
0
0
0
0
0
0
4
0
0
0
-6
0
0
-58
0
0
0
0
0
0
-29
0
0
25
1
0
5
13
0
0
0
0
0
0
-41
0
0
-7
-5
0
3
-32
0
0
-6
0
0
3
-11
0
0
-6
3
0
0
30
0
0
7
0
0
0
-10
0
0
0
15
0
0
42
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
-4
0
0
0
0
-9
0
0
7
0
0
0
6
0
0
2
0
0
1
-12
0
5
0
-1
0
0
123
0
6
-1
0
0
0
-3
0
0
0
1
0
0
-28
0
29
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
0
-25
-1
0
0
0
0
0
-3
7
0
0
0
0
-5
53
0
0
-2
3
0
0
-10
0
1
0
0
0
1
3
0
3
-7
24
0
0
37
0
-5
6
0
0
0
61
0
0
8
0
0
0
-78
0
0
1
0
0
0
-49
0
-1
-4
0
0
0
-26
0
0
0
0
0
0
-30
0
0
0
0
0
0
19
1
-1
0
0
0
0
-52
0
0
0
4
0
0
29
0
0
0
0
0
-4
12
0
0
0
9
0
0
58
0
-1
0
0
0
0
-7
0
0
0
-10
0
0
-37
0
16
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-66
-4
-2
-7
-3
8
0
-6
-21
34
0
-3
0
-4
11
54
4
-20
1
0
-13
-1
20
-2
7
-61
1
-26
-24
13
9
16
-27
-11
45
-6
-1
17
-7
-32
41
7
4
0
-14
-42
49
9
2
-45
9
34
31
39
1
4
0
-2
34
2
-5
5
-1
18
3
-8
0
9
-39
0
-26
-1
-7
3
-8
-7
0
-3
39
-5
17
-37
0
39
55
9
-13
-4
-9
-2
55
-29
3
-2
-14
-52
0
61
-21
-4
-64
9
-20
0
-39
-16
0
20
-6
77
12
-21
-36
0
-5
85
-3
2
19
0
0
0
10
51
0
0
0
0
-45
12
2
36
0
34
52
3
-7
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
-2
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
-2
43
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
-2
-1
13
-2
-78
3
-42
16
-1
0
36
-49
-6
20
-22
9
-4
0
-9
116
-9
-19
-5
-7
8
7
-17
37
-1
0
35
30
45
13
-3
-3
3
4
89
5
-14
9
9
-15
-17
15
31
-46
-41
1
-12
11
35
63
-13
-20
18
47
-26
-5
4
22
-32
-16
15
-62
39
-7
0
27
-15
8
0
0
-21
0
-4
-69
-33
13
2
0
-21
12
13
-23
113
17
-48
-53
3
5
-6
-50
44
-6
23
-23
-2
-63
-25
2
-13
11
-26
8
48
-4
58
-18
8
-34
0
3
13
-12
3
-2
-4
-10
9
3
-19
7
0
-9
-1
5
25
0
53
0
17
-1
4
8
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-16
0
19
22
1
0
0
0
-2
-3
29
0
1
0
0
-6
5
-8
0
36
17
0
-14
-28
0
0
-31
0
0
-20
3
0
-8
7
21
0
-11
-19
0
8
2
0
0
0
-84
0
0
0
-10
0
0
-23
0
0
0
0
0
0
-15
0
0
0
6
4
0
37
0
0
0
0
0
0
-35
0
2
-1
0
0
0
-3
0
5
1
0
0
0
-52
0
0
2
4
1
0
-9
0
-10
0
0
0
0
32
0
4
1
2
0
0
-28
0
-12
-3
0
0
0
15
0
5
-3
0
0
0
-48
0
-5
0
0
-7
0
-6
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
1
0
0
0
-8
0
-31
6
8
0
0
0
0
15
-34
0
24
0
0
4
21
8
-2
14
0
1
-101
-10
0
-1
-43
0
-4
-43
8
0
4
-11
0
-20
75
2
0
1
36
0
-2
8
-28
0
0
-6
0
1
0
-3
0
0
10
0
3
0
-2
0
0
5
0
-18
0
-12
0
-5
0
2
-2
0
31
-35
0
0
0
0
0
-9
0
12
-6
0
0
0
6
-2
6
-4
0
0
6
7
-3
-14
59
0
2
-3
-74
0
0
42
0
2
0
-13
0
41
-18
0
-7
0
-24
0
-6
-8
0
0
0
21
0
74
0
0
24
0
19
-38
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-33
0
0
0
0
0
0
24
0
0
0
0
0
0
14
0
0
33
1
0
25
-53
0
0
1
0
0
-5
57
0
0
-1
0
0
0
-64
0
0
-24
0
0
0
-5
0
0
9
8
0
0
20
0
0
0
0
0
0
65
0
0
0
0
0
0
-24
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
2
5
0
0
0
42
0
0
0
-5
0
0
30
0
-2
-5
0
0
0
66
0
0
0
2
0
0
-8
0
2
-1
0
0
0
35
0
0
3
3
0
0
-56
0
-1
0
0
0
0
14
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
3
0
0
0
0
0
1
-4
0
0
-4
0
0
0
-29
0
0
0
0
0
0
-34
0
0
0
-4
0
0
-39
0
1
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
1
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
11
0
-12
0
-4
10
33
-1
5
1
-1
-9
-25
-65
45
51
-29
-40
42
3
-2
35
56
18
6
-6
23
13
46
20
-75
8
30
-7
5
4
57
-5
-1
-51
-2
0
-9
-22
-4
-65
4
-28
0
-43
-7
2
34
-1
0
-1
7
-2
40
3
0
5
-3
-1
0
0
-2
-1
11
8
-41
-21
-10
0
-13
-16
-2
6
15
8
-8
37
-12
1
-53
9
48
-5
24
15
27
-19
118
3
2
-20
-46
-1
-58
13
-1
-1
8
-26
0
8
-36
43
20
4
-7
0
6
68
4
36
0
0
0
-22
1
1
3
0
35
-9
-7
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
3
0
0
0
62
0
0
0
0
0
0
-5
0
0
4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
45
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-4
0
0
56
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
2
0
0
9
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
25
0
0
2
0
0
0
13
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
83
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
-2
0
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
1
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
7
0
0
0
-18
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
33
-3
0
-2
0
0
-34
-8
-3
0
0
0
6
46
0
2
56
-3
0
11
8
0
0
3
0
0
82
0
0
-7
3
-9
0
50
-26
0
0
-68
-1
0
-8
10
0
0
-17
86
0
-7
-24
0
0
-6
0
0
-7
25
24
6
0
40
0
0
-19
-1
0
0
0
0
0
-34
0
0
0
0
0
0
33
0
-34
5
0
0
5
-79
0
0
3
4
0
10
13
0
34
5
0
0
-5
5
0
2
29
8
0
0
21
0
63
13
-1
0
0
-8
0
0
0
15
0
0
0
0
-12
0
0
0
0
-14
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
42
-31
-3
39
38
-62
-27
-25
-1
34
-5
-9
-31
-22
19
-57
4
-12
25
71
-13
-68
-17
31
0
2
-46
-27
44
-15
-19
-25
11
2
-22
10
8
4
-12
-2
6
0
-5
-48
-59
4
-37
-35
-22
-2
-26
22
-13
18
1
0
-1
-76
-7
-23
-31
-7
-46
-79
-17
8
-47
-6
14
5
46
32
8
20
15
21
57
40
62
76
-41
-12
-45
-7
-4
64
58
-5
19
-21
28
-73
-4
10
-33
27
39
-25
3
-55
2
-89
26
-1
-2
-10
48
44
29
-40
5
0
23
7
7
-5
-4
5
0
0
51
-31
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-12
0
-16
0
0
-2
-32
-2
0
-22
-4
0
-24
48
0
0
19
0
0
54
-43
0
20
33
-60
0
22
10
0
0
47
0
0
-2
18
0
0
94
21
0
2
-32
2
2
40
0
-4
0
61
0
-6
8
5
0
0
-9
0
5
0
0
0
0
-61
-9
0
0
0
0
-4
0
0
50
5
0
0
-3
18
-5
-2
-3
0
0
0
-15
0
59
-2
0
-1
0
-22
0
-7
-7
2
0
0
28
0
-23
0
0
0
0
25
0
-5
25
-2
7
0
0
0
-80
-5
0
-3
0
-16
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
1
20
0
0
2
36
0
0
-61
0
0
-25
0
0
-7
-8
0
6
51
-32
0
15
-49
0
-3
2
2
0
0
65
0
0
3
6
0
0
15
0
0
0
0
43
0
41
0
-1
0
-4
20
0
-71
0
0
0
0
0
0
-16
-6
0
0
-2
0
0
0
0
4
4
0
0
-4
-64
-3
0
23
-2
0
-4
21
0
-63
-8
0
0
0
-24
0
0
4
-2
-1
0
56
0
-1
0
3
0
0
20
0
0
0
8
0
0
-130
0
0
0
1
0
0
28
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-3
0
0
0
0
-3
80
0
0
-1
0
0
-5
-34
0
0
-4
0
0
16
61
0
-1
-3
0
0
-19
-11
0
0
-3
0
-10
0
32
0
0
5
0
0
0
-35
0
0
8
0
17
0
-6
0
-1
0
0
-1
0
35
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
-5
0
0
0
0
63
0
1
0
0
0
0
30
0
8
0
0
0
0
38
0
6
-4
0
0
1
-2
0
2
0
0
0
0
4
0
0
0
0
0
0
-18
0
3
0
0
6
0
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
4
-13
0
0
1
0
0
5
-5
0
0
0
0
0
8
38
0
0
2
0
0
0
1
0
0
0
0
0
0
6
0
0
0
-2
0
0
-95
0
0
0
0
0
0
2
0
0
-2
-1
0
0
27
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
-10
0
0
0
0
0
0
-8
0
5
0
0
0
0
-2
0
0
0
0
0
0
17
0
-4
0
0
0
0
21
0
0
0
0
0
0
-14
0
-3
0
0
0
0
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
1
0
0
0
-24
0
0
0
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
8
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
65
9
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
0
11
27
-16
-19
61
2
24
81
63
-27
49
85
-28
-45
6
37
-7
5
62
15
11
35
21
-27
-57
-10
6
-8
3
-34
7
-19
-23
17
-25
16
27
-11
4
30
-14
11
-98
54
10
23
1
28
76
-14
-2
-30
31
6
0
-6
8
-6
3
0
75
-7
108
-3
-24
2
37
30
16
-10
-1
3
-13
8
-37
-4
20
24
97
26
40
3
5
-26
-11
0
4
65
-77
14
-1
53
27
9
52
-68
-26
3
-20
24
3
54
-27
-18
3
-9
16
32
51
0
54
17
-49
-4
-37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
8
0
-3
13
21
0
2
22
-1
0
10
0
0
-11
30
0
-16
31
0
0
-5
95
5
-1
-37
0
0
2
41
2
-8
28
6
2
0
-55
0
0
-21
0
6
-4
40
0
0
0
1
9
0
-9
0
2
0
0
0
0
0
0
4
0
5
0
0
103
6
11
-15
0
0
0
11
-3
-9
101
0
0
-1
23
0
-64
37
0
0
0
10
0
6
-14
-12
0
0
-30
0
45
0
0
0
0
-13
0
0
-10
1
-1
0
-24
0
11
13
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-12
0
0
17
0
0
0
14
0
0
0
0
0
0
29
0
0
-2
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
6
0
-47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
-8
0
0
-5
0
0
0
6
0
0
0
0
0
0
-1
0
13
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-6
2
-2
0
8
-15
0
0
1
0
0
5
60
0
0
-13
0
0
2
104
0
19
-2
0
0
0
41
0
0
1
-1
0
3
-73
0
0
0
0
-8
0
92
0
0
0
-4
2
0
27
0
0
0
0
0
0
63
5
0
0
0
0
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
5
0
0
0
0
34
0
0
0
0
0
0
-9
0
-3
0
2
0
0
44
0
0
0
0
0
0
19
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
56
0
0
-9
0
0
0
66
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
2
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
-7
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
53
0
-1
1
0
0
10
-8
0
0
-16
1
-6
0
-4
0
-1
22
0
0
0
-34
0
-1
23
4
4
-2
19
0
-3
6
0
-9
0
47
0
-1
0
1
4
0
60
0
0
0
0
0
0
7
-21
7
0
0
0
0
-11
1
0
0
0
0
0
-43
0
-2
-1
2
0
0
12
0
15
-7
0
0
24
16
0
0
-1
-7
-2
0
-13
0
-29
0
0
0
0
-26
5
-1
0
3
0
0
-26
0
16
0
0
3
0
73
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-11
10
35
24
16
-16
-33
4
-20
-42
0
34
27
13
-7
7
-7
-35
-29
-23
-3
-25
-2
-6
25
61
18
69
13
0
-4
-5
28
55
-5
51
-1
9
23
53
-5
0
-37
-7
-3
1
-11
-19
8
18
54
-21
-37
-1
2
-6
0
-48
-20
12
2
2
-70
-28
95
40
11
-33
4
-54
14
44
-65
-74
0
8
58
3
24
-71
-35
-15
28
-15
35
1
53
-27
-45
-45
-32
21
2
3
-40
8
57
-7
-1
0
16
-23
4
18
0
0
24
6
5
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
34
0
0
3
0
0
10
-30
5
-8
43
4
0
-4
54
0
0
7
0
0
-3
15
0
0
0
-3
0
0
76
0
0
0
0
-1
0
28
0
0
0
0
-14
0
68
5
0
0
0
0
0
3
13
0
0
0
0
0
8
7
19
0
0
0
0
33
0
-5
7
0
0
0
134
0
15
-1
0
0
0
2
0
1
2
3
0
0
39
0
12
0
0
0
3
-16
0
0
2
0
0
0
66
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
-23
0
0
1
25
0
1
-29
-11
0
-1
1
0
0
17
0
0
0
26
0
0
-4
14
0
0
68
0
0
0
0
-7
0
-111
0
0
0
8
32
0
-9
0
0
0
0
0
0
-22
15
0
0
0
0
0
16
0
-11
0
0
0
0
-49
0
0
0
5
0
2
48
0
-3
19
0
-1
-1
-59
0
1
0
0
0
0
26
0
18
3
0
0
0
-8
0
0
13
4
0
0
33
0
-3
-2
0
0
0
23
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
1
4
42
-8
0
102
21
0
10
98
-32
-6
-37
16
-1
-2
-43
3
-9
2
8
0
-29
26
31
-25
0
-23
0
3
-2
3
32
0
-8
0
-8
-14
47
24
0
16
-6
0
0
0
13
0
-15
-26
0
0
0
0
0
-13
-12
-79
5
0
0
24
-33
-4
21
3
0
0
5
-12
0
56
19
0
-2
-9
-47
1
1
-42
0
0
-7
19
0
-1
2
4
-6
0
39
0
15
5
-9
-4
0
17
0
-35
-7
0
-2
0
29
-13
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
10
0
4
6
1
0
58
-16
0
0
-38
0
0
60
32
0
10
-21
0
-7
14
-14
0
0
20
0
0
0
-50
0
0
-19
0
-7
0
16
0
-1
-8
0
36
0
16
2
0
0
0
0
0
-1
-1
0
0
0
0
6
-26
0
7
25
0
0
4
50
0
0
30
0
0
-6
-72
2
-82
14
0
3
0
-3
0
24
-5
0
0
0
24
0
-8
2
0
-2
4
20
0
0
-3
0
0
0
9
0
-36
0
0
-4
0
54
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-4
0
0
0
2
0
0
-48
0
0
0
0
0
0
39
0
0
0
-3
0
0
-62
0
0
0
0
0
0
8
0
0
0
0
0
0
42
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
-2
0
0
0
0
10
0
1
0
0
0
0
27
0
4
0
0
0
0
14
0
0
0
-1
0
0
-4
0
-1
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
-1
-2
-1
28
-12
23
-24
6
2
47
4
-2
0
45
0
0
8
-31
4
0
-48
0
0
-13
0
-14
0
51
3
-8
3
5
-15
0
34
2
-4
0
-6
-2
0
34
-2
-1
-1
-3
0
0
-54
0
-39
-7
0
0
0
19
-14
42
-71
-17
0
6
17
0
-41
-71
0
0
-5
-16
0
3
-22
11
0
0
28
0
56
21
0
-3
0
24
0
0
5
24
3
0
-2
0
54
0
1
57
0
76
41
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
10
-76
0
-18
-47
-48
42
17
5
-35
-10
17
-74
29
27
2
-78
55
10
-53
-36
8
-22
-42
36
40
-8
4
18
3
-46
32
-6
2
0
21
41
-27
0
21
-45
1
1
34
-47
53
-4
-3
-11
55
83
15
8
-4
-10
-78
0
-28
7
-4
81
-1
25
8
-56
29
10
27
19
31
50
-78
1
42
-2
-8
-23
0
-48
-22
8
-8
-18
-27
27
27
-8
22
26
17
38
-14
30
2
11
20
-24
0
43
-36
-1
-53
50
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
-2
0
0
-2
-11
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
44
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-4
0
0
0
0
-14
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
-45
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
-1
0
0
6
50
0
0
-16
0
0
0
1
0
0
0
0
0
0
-47
0
0
0
0
0
0
17
0
0
0
-2
-1
0
137
0
0
0
0
0
0
-11
0
0
0
0
0
0
-24
3
-1
0
0
0
-3
-22
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
64
-2
0
42
25
-7
31
1
0
18
-17
-3
4
6
-11
0
10
49
30
0
-3
-24
0
12
22
-1
-26
0
-9
0
-1
8
43
-15
0
-8
0
0
0
0
13
0
-4
-6
3
0
0
0
0
76
8
-53
0
0
0
-3
-28
0
-58
86
-4
0
0
15
-4
33
-11
-3
0
22
-74
3
23
-1
-45
0
-3
43
0
-24
12
-10
-3
-1
68
0
-1
-8
8
-5
0
11
0
-3
0
0
-7
0
56
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
2
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
-5
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
25
0
-5
0
0
0
0
2
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
2
0
0
0
-5
0
0
-8
0
0
0
4
0
0
0
0
0
0
-33
0
0
2
0
0
0
19
0
0
-2
18
0
0
39
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
-4
0
0
0
0
-2
0
0
0
1
0
0
70
0
1
0
0
0
0
-1
0
0
0
0
0
0
17
0
-3
2
0
0
0
10
0
0
0
0
0
0
-81
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
5
-89
5
0
0
-33
0
10
-61
-35
1
0
69
5
-1
-23
0
-14
1
20
-1
0
-1
15
6
0
31
-8
3
0
-1
0
0
0
-28
0
0
-2
0
0
-16
0
77
17
0
1
0
-32
1
-14
19
3
0
0
-17
0
-68
-3
0
-4
0
-36
0
3
9
14
0
-3
38
0
34
-16
7
-2
-8
20
-2
-2
3
-19
3
0
67
0
64
-3
0
29
0
-30
-18
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-28
68
-33
35
121
2
91
4
-8
-23
8
-16
-44
45
28
-8
-27
32
-40
-31
5
-16
-23
66
28
44
-29
2
9
-41
0
-1
-4
-100
-1
-31
-11
-2
-19
48
0
-23
42
-78
12
9
-8
3
8
22
-6
12
75
27
-13
-70
0
-40
-19
-32
-9
0
120
-50
15
-57
9
58
49
-44
-20
13
-6
1
49
-49
9
14
-2
-76
72
13
37
-7
-13
-5
-18
6
5
-45
0
22
6
-14
-24
-9
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
55
0
0
-1
0
0
0
53
0
0
0
0
0
0
-4
0
0
0
0
0
0
76
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-41
0
0
-5
0
0
0
-93
0
0
29
6
0
0
-45
0
0
0
0
0
0
39
0
0
0
0
4
0
-22
0
0
0
0
0
0
-36
0
0
0
0
0
-4
8
7
2
0
0
0
0
-6
0
0
4
-4
0
0
43
0
9
0
0
0
0
-17
0
0
1
-1
0
0
8
0
-8
0
0
0
-6
-26
0
0
0
1
0
0
49
0
20
0
0
0
0
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
29
1
-6
28
2
-21
-74
-43
0
-2
6
-22
-1
15
-22
0
-24
-43
-4
27
0
-11
3
23
-4
-10
42
0
4
0
0
0
8
2
0
8
80
0
1
-4
0
4
5
6
-24
-6
0
0
3
-31
0
-10
0
9
0
-2
17
12
70
10
-1
0
8
35
0
39
17
12
0
0
-18
0
7
14
-1
-17
-1
12
0
6
6
113
12
0
3
0
45
0
0
-10
0
18
-35
3
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-61
0
-4
25
0
0
0
-4
0
0
10
-3
0
-2
-63
0
0
6
0
4
3
61
0
0
0
0
37
0
27
0
0
0
0
0
0
7
-7
0
0
0
0
0
-4
0
-4
2
0
0
6
-10
2
0
-31
0
0
29
3
0
3
39
0
0
-2
-29
0
3
8
2
0
3
-33
0
9
0
0
-1
0
-39
0
10
0
0
3
0
37
0
52
15
0
1
0
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-11
0
0
5
0
0
0
-50
0
0
0
0
0
0
-29
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
1
0
0
0
0
-34
0
0
0
3
0
0
-38
0
-2
0
0
0
0
3
0
0
0
0
0
0
-33
0
-3
1
0
0
0
44
0
0
0
0
0
0
-7
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
69
0
-2
6
68
-8
0
-65
0
0
1
0
16
-3
17
0
-1
-9
48
7
0
-31
0
0
0
0
0
0
11
-1
0
0
0
0
0
-45
0
-48
1
0
0
0
-118
0
-13
15
24
0
0
-45
0
68
58
-8
0
0
-40
0
5
-28
-7
0
0
40
3
63
2
0
0
0
59
0
-7
13
-43
0
0
-8
0
98
0
0
5
0
30
6
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
29
-33
7
12
-78
106
11
-5
-7
28
18
-37
-1
-26
-21
11
28
-24
0
-1
6
-105
80
0
27
-47
-3
17
13
19
21
17
0
67
41
27
4
14
3
-3
40
-26
-35
-18
-42
-31
4
-39
-8
-11
-5
-38
25
-27
12
0
-1
80
-8
19
0
-31
20
4
-4
-98
33
-7
-33
29
1
18
2
-16
70
40
-12
0
-99
-7
-24
-3
0
-9
-15
38
48
61
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-18
1
0
0
-29
0
0
0
0
0
-1
-9
0
0
-5
0
4
0
-28
0
0
0
0
0
0
-52
0
0
0
0
0
0
-3
0
2
0
0
0
0
58
0
0
-4
0
0
0
16
0
1
0
0
0
-8
-33
0
0
0
-1
0
0
-48
0
16
0
0
0
0
-24
0
0
-3
0
0
0
-19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-4
-8
1
0
28
-47
0
8
0
0
-58
0
23
-1
-4
4
-2
-15
0
0
0
0
0
0
1
-1
44
-11
-1
0
6
0
0
-13
-5
47
-3
-8
0
-2
21
0
5
25
-10
0
13
71
0
37
1
1
0
17
-24
-4
-44
-4
62
0
0
5
0
-26
20
0
0
0
12
-1
-5
-1
39
-1
0
32
0
-67
0
0
-12
0
-39
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
-6
0
0
-3
0
12
0
-15
0
0
0
-1
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
-8
0
0
0
0
12
0
0
0
0
0
0
44
0
0
0
0
0
0
-16
0
0
0
0
0
0
38
0
-3
0
0
0
0
-10
0
0
0
0
0
0
-18
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
1
1
0
0
-19
0
0
1
0
0
0
-8
0
0
0
1
0
0
79
0
0
0
0
0
0
5
13
0
0
0
0
0
4
0
30
0
0
0
0
42
0
0
3
0
0
0
-27
0
5
0
0
0
0
-41
0
0
6
0
0
0
-57
0
-9
0
0
0
0
29
0
0
0
0
0
0
28
0
3
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
-4
0
0
0
40
0
0
0
-1
12
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
3
0
0
0
0
54
0
1
4
0
0
0
-5
0
-5
0
0
0
0
35
0
10
-7
-1
0
0
23
0
19
0
0
0
0
6
0
0
0
0
0
0
-6
0
-3
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
22
24
-7
7
23
22
-19
58
-10
45
-51
-17
-6
1
-23
-8
21
1
0
-21
9
6
91
-14
7
21
0
50
-27
-25
-37
41
5
-8
64
5
8
2
25
-12
2
-69
-8
-7
35
81
31
-31
-43
-6
10
-15
-39
4
-21
28
0
4
18
-37
-9
8
12
40
-7
21
-61
27
56
-1
21
0
-44
-4
-14
-19
0
1
24
6
-24
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
7
0
0
0
17
0
0
0
0
0
0
-24
0
0
0
0
0
0
-20
-1
0
0
0
0
0
-1
0
1
0
0
0
-1
-7
0
0
0
0
0
0
-17
0
-4
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-46
4
-12
0
0
-38
0
-27
0
-7
0
57
22
0
-15
-8
3
0
0
0
0
1
4
0
0
-5
0
0
7
0
82
25
0
0
9
33
-2
-18
43
-2
0
0
-1
3
-15
4
-8
-4
1
18
0
-3
6
6
0
4
-39
0
37
0
3
0
0
50
0
-1
-1
-4
-5
0
14
0
92
0
0
26
0
22
-41
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
1
-29
0
-18
0
-73
0
0
-38
0
56
0
-33
0
3
0
0
0
0
-31
50
0
-6
0
0
0
24
-4
19
15
0
0
-22
40
0
-13
-1
0
0
-3
24
5
52
42
0
-2
8
-13
3
8
-12
0
0
-3
23
0
-14
5
0
6
0
2
0
0
-10
0
-2
0
-88
0
-33
1
0
-9
0
24
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
-36
0
0
0
0
0
0
17
0
19
0
0
0
0
-5
0
0
-9
0
0
0
-8
0
-19
1
0
0
0
4
0
0
0
0
0
0
-51
0
-5
1
0
0
0
2
0
0
0
0
0
0
20
0
3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
4
1
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
-47
0
0
0
0
0
0
-16
0
0
0
-1
0
0
-41
0
4
0
0
0
0
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
4
6
-52
-63
20
5
0
-18
-22
66
-1
1
-22
-1
11
0
25
18
54
17
6
-39
51
-19
-11
-5
16
31
-11
64
-3
-22
72
4
27
26
-45
3
60
60
35
-25
-28
-15
-54
-89
15
-30
37
4
-18
40
38
13
67
38
0
-2
43
55
48
6
14
2
-8
-15
-13
6
12
-1
31
-13
-14
-16
24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-8
0
1
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-5
0
0
0
0
-9
0
0
0
0
0
0
36
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
73
0
0
0
1
0
0
-38
0
-40
0
0
2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
3
-3
-1
0
-44
-4
6
0
0
0
0
27
0
0
0
0
0
0
15
0
38
0
0
0
-5
98
0
0
0
0
0
0
15
0
-22
0
0
0
0
-26
0
0
0
2
1
0
21
0
-7
0
0
0
0
-17
0
1
0
6
0
0
37
0
4
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
14
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-17
0
0
27
-8
0
0
0
0
0
85
-6
0
0
0
0
0
-7
0
6
0
0
0
0
10
0
0
-7
1
0
0
-13
0
-18
0
0
0
0
-18
0
0
0
0
0
3
1
0
-36
-8
0
0
0
-22
0
-1
-1
12
0
0
34
0
22
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
8
0
1
0
0
0
0
7
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
6
-3
-2
3
-3
-3
2
14
5
-8
23
0
-1
29
41
76
-49
5
-2
27
15
40
63
55
92
2
13
-16
7
0
-43
2
5
8
-35
-1
-5
55
4
0
-18
-29
0
12
17
-14
6
8
25
0
-17
93
48
-47
-4
0
0
-14
2
-9
0
0
23
9
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
-2
0
0
0
0
41
0
0
0
0
0
0
48
0
1
0
0
0
0
-10
0
0
0
0
0
0
-38
0
-5
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
-3
0
0
-27
0
0
0
0
0
0
-8
0
-4
-3
0
0
0
-55
0
0
0
-3
0
-2
23
0
1
0
0
0
0
-13
0
-2
0
0
0
0
23
0
7
0
0
0
0
57
0
0
2
4
0
0
-15
0
0
0
0
0
0
-70
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-41
-4
0
0
0
0
0
79
0
17
-2
0
0
-2
26
0
0
-2
6
0
-1
-76
0
55
-16
0
0
8
28
0
-5
6
0
0
0
47
0
-11
8
0
0
0
-45
0
0
0
0
1
0
-38
0
-22
1
0
0
0
-1
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
5
0
5
0
0
0
2
3
-24
0
0
0
7
20
0
2
14
6
0
2
-2
0
35
3
0
0
0
-30
0
0
-13
1
0
0
50
0
-53
5
0
0
0
108
6
-2
8
6
0
0
-29
0
101
10
-3
0
0
4
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-49
-11
9
3
1
-1
11
48
7
31
21
-10
48
11
44
-3
86
21
2
-16
28
87
56
10
159
1
9
1
-8
38
12
-71
16
-35
-41
-6
13
24
15
-60
64
-31
9
-32
-37
-29
-39
16
20
0
40
23
-13
11
0
0
-1
-26
8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-5
0
0
0
0
0
0
-5
0
2
0
0
0
0
25
0
0
0
0
0
0
37
0
-1
0
0
0
0
-126
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
-1
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
0
-3
0
0
0
0
14
0
0
0
0
0
0
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-21
0
0
0
0
0
0
-54
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-44
12
20
40
4
0
19
10
-3
9
38
-20
1
99
-13
0
12
28
7
-16
2
17
0
-29
-21
30
5
-18
-28
0
-19
28
-4
-39
56
6
1
35
-58
-39
-30
-3
-18
-1
-27
4
0
56
0
1
56
-6
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
8
0
0
0
-54
0
0
4
-2
0
0
3
-8
4
-1
2
0
0
6
0
0
0
0
-6
0
-23
0
12
0
0
0
0
-57
0
3
1
0
0
0
0
0
0
0
0
0
0
62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
-2
0
-3
0
0
0
0
28
0
-2
0
0
0
0
1
0
0
0
-4
0
0
-9
0
5
0
0
0
0
-3
0
0
0
0
0
0
47
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
-8
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
2
0
0
74
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
1
0
0
0
5
0
-1
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
3
-3
0
0
-68
0
-1
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
38
0
0
0
0
0
0
-72
0
-1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
7
-5
26
53
-31
0
-36
44
1
14
48
18
-7
-4
50
0
16
23
47
-3
-3
-10
0
-2
0
0
0
5
0
0
-6
5
-2
13
0
-9
0
19
0
0
-5
0
28
5
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
15
0
0
0
0
36
0
0
0
0
0
0
19
0
0
0
0
0
0
47
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
0
-8
188
-13
-3
9
-11
0
13
9
0
0
15
14
0
-23
73
28
0
-3
-9
0
69
-20
4
19
18
-22
0
-5
-5
4
1
0
38
0
-15
0
0
1
0
39
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
5
4
0
1
38
0
-12
0
0
0
0
97
0
-4
-8
0
0
0
102
0
-5
0
0
0
0
-21
0
0
0
1
0
0
81
0
-6
0
0
0
0
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
56
0
0
-2
4
0
0
-38
0
0
0
0
0
0
-7
0
0
0
0
0
0
36
0
15
0
0
-16
0
39
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-24
7
78
-9
4
-1
-13
-19
-9
-14
-34
67
-5
56
3
0
-17
-47
-3
2
-42
16
0
12
53
48
-5
3
26
17
32
5
0
49
0
14
-47
-8
-48
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
-2
0
0
0
0
7
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
48
-5
28
14
0
0
0
18
0
0
-8
-3
0
0
23
0
-8
5
-3
0
0
-33
0
0
0
-1
0
0
105
0
-18
0
0
0
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
5
0
0
0
0
5
0
8
6
-3
0
0
-31
0
22
0
1
-2
0
-24
0
0
0
3
0
0
68
0
-19
0
0
3
0
-47
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-37
0
2
0
0
0
7
72
0
8
-2
0
0
0
-1
0
-10
-1
0
0
0
-50
0
0
0
1
0
0
-21
0
27
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-1
0
0
26
0
5
0
0
0
0
21
0
0
0
0
0
0
2
0
-3
0
0
0
0
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
3
-40
-62
14
26
12
-1
28
-8
3
-24
6
12
5
74
-87
-25
79
-1
30
0
35
-1
0
-44
-1
-22
9
53
-4
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-39
0
0
-4
24
0
-3
-8
0
161
37
0
-30
0
33
0
-2
0
-7
0
0
44
0
-6
0
0
-13
0
-3
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-4
2
1
0
53
0
3
-1
0
-1
0
-64
0
0
0
5
1
0
22
0
18
0
0
0
0
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
7
1
0
0
0
-53
0
0
0
-3
0
0
1
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-9
5
24
75
-17
-24
6
-10
-6
-15
28
-25
-15
0
-30
-1
-35
36
1
24
0
-19
15
38
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
17
0
4
0
0
55
0
0
-6
2
0
0
28
0
1
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
-4
2
-3
0
0
3
0
0
4
10
0
-4
41
0
38
0
0
0
0
104
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
31
0
0
0
0
-14
0
1
3
0
0
0
-27
0
9
0
0
0
0
47
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
3
0
0
-105
0
-1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
58
10
49
-27
34
-19
-9
8
0
-56
29
2
5
0
-13
20
-29
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-84
0
0
6
6
0
0
-42
-1
5
-3
2
-1
0
49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
14
0
0
-54
0
28
0
1
2
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-57
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
4
0
0
26
0
-4
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
0
-60
8
-2
-20
0
-21
39
25
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
-9
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
84
-9
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
136
4
-13
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
2
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
4
-1
0
2
0
0
0
-2
5
0
0
-1
0
0
0
-23
0
0
0
0
0
0
31
0
0
1
0
0
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
50
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
102
0
0
-7
0
0
0
4
0
0
0
0
0
0
13
0
0
-5
0
0
0
10
0
0
0
-1
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-32
0
0
-2
-5
0
8
-4
4
0
0
0
-8
-1
-3
0
0
0
0
0
2
0
0
0
0
0
6
0
0
0
0
-44
0
0
29
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
1
0
0
0
15
0
0
39
0
0
0
-9
0
0
31
0
0
0
21
-5
-5
40
-5
0
0
-10
0
34
4
0
0
0
4
4
-18
0
0
0
0
0
0
26
0
4
0
0
0
0
22
0
0
-7
0
0
0
-38
0
0
-6
-5
-4
0
0
14
17
0
0
0
0
0
40
22
0
26
36
37
0
-24
11
0
0
61
0
0
8
-61
0
0
0
-13
0
-23
19
0
0
35
0
1
0
5
0
-27
0
-1
0
0
12
2
0
0
0
-2
0
0
13
0
0
0
0
0
0
40
0
-6
0
0
0
32
0
0
-6
0
0
-20
-3
0
0
9
0
0
29
52
0
0
7
-19
0
23
-39
0
0
63
0
-1
14
48
0
0
-16
-40
0
0
-40
0
-2
-3
0
1
0
-10
-1
-1
0
-2
0
0
34
0
-6
0
0
0
0
0
26
2
0
0
0
0
7
0
0
0
0
0
0
-33
0
0
-7
0
0
0
-27
0
0
-2
0
0
-4
17
0
-4
-14
3
0
0
10
3
0
0
0
0
0
13
0
0
0
0
0
0
-67
0
-53
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-63
1
38
-48
26
0
0
0
0
0
0
0
24
7
-8
11
9
44
-2
29
18
-29
-19
5
-7
-16
-1
11
-43
-55
-95
12
4
32
40
-21
-14
-11
2
-22
-17
-13
30
-5
-56
1
-11
-43
-7
0
-44
74
-29
-19
35
-30
89
-45
-16
-110
-8
4
-5
10
26
-14
-2
23
10
-14
-40
84
10
-14
-44
26
-10
-15
14
26
2
14
7
3
-19
-20
-7
-38
0
-14
-4
-13
-11
-8
-5
1
-17
-36
76
-41
4
24
-7
69
-24
23
-43
15
-1
-2
-44
32
-39
-54
-79
-3
2
3
3
-19
48
17
24
-55
-23
8
-3
-18
2
54
45
-38
8
4
-9
4
-2
-56
11
3
42
-14
4
28
6
-14
4
17
39
-1
-14
-29
-14
-2
49
-41
0
60
-7
-53
-5
23
2
-3
-3
8
-40
-4
-13
-23
-17
37
3
67
2
-17
-18
-81
10
4
-51
4
-40
-39
30
32
-39
-42
10
-5
16
-14
16
1
-14
3
24
18
9
7
19
-9
5
18
56
13
6
-1
-7
-4
-32
-4
9
-12
-20
-3
-1
-29
5
6
9
4
-8
2
6
13
-6
-45
-4
-27
-2
-19
23
-31
-5
4
-2
-3
-28
0
11
-31
-21
-10
9
-3
-25
-2
38
-65
-29
-4
1
24
-25
82
-15
-6
-3
1
-23
5
-13
59
-19
-10
26
-29
-19
-35
6
-14
-10
-13
15
-22
10
22
-4
6
-20
-12
-4
-42
4
-36
0
-62
12
-32
-7
-6
35
-2
1
-13
-32
-46
2
28
-7
-23
12
-5
-25
12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-20
0
0
0
0
0
-1
0
0
0
3
0
0
-1
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
8
0
0
0
0
0
0
4
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
-41
0
2
-3
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
4
-1
0
0
0
0
0
-4
0
0
0
0
24
0
0
-2
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
0
0
13
10
0
0
-2
0
1
23
3
0
0
-63
1
0
32
-3
0
0
0
0
20
-16
0
0
0
-1
-1
2
19
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
1
0
0
0
-52
0
31
0
2
-3
0
0
0
9
0
0
12
0
0
9
-25
0
-17
8
0
0
44
54
0
0
5
0
0
-48
59
0
0
17
-3
0
0
38
0
0
-7
0
0
0
5
0
32
0
1
0
0
-26
0
0
0
0
0
0
29
-1
0
0
0
0
0
15
0
0
0
0
0
0
44
0
2
-5
0
0
-2
-30
0
0
1
0
0
-8
13
0
0
0
6
0
1
4
0
0
31
0
0
0
7
0
0
-9
-1
0
0
42
0
0
-4
0
0
0
-43
0
0
0
1
4
0
26
0
0
0
0
0
0
28
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
-1
-89
0
4
0
0
0
0
75
0
0
-9
-7
0
0
-35
0
0
-1
0
0
0
42
0
0
0
0
0
0
33
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-129
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-121
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
1
0
0
-3
0
0
0
-7
0
0
5
0
0
0
0
0
4
-5
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
10
0
0
0
0
0
-5
-6
1
0
0
0
0
-26
0
0
0
0
0
0
0
0
-6
0
0
0
-17
-3
0
0
-3
0
0
0
36
0
0
0
0
0
23
-21
0
0
-6
0
0
0
-8
0
-9
0
0
0
0
-4
0
0
0
0
0
0
-44
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-5
0
0
16
0
0
0
9
0
0
-1
0
0
0
6
0
0
1
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
48
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
136
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-3
0
0
0
0
0
2
-1
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
4
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
2
0
0
0
20
0
0
1
0
0
1
23
0
0
0
0
0
0
39
0
0
0
0
0
0
22
0
0
0
4
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
-37
0
0
0
0
0
0
-23
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-32
0
0
32
0
0
0
-19
8
0
5
0
0
0
-5
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
-22
0
-5
-5
0
0
3
71
0
0
13
0
0
9
-9
0
-45
14
0
0
44
16
0
0
4
0
0
-2
-84
0
0
0
-4
0
-3
36
0
0
-6
0
0
0
22
0
15
0
0
0
0
-6
0
0
0
0
0
0
-4
-3
0
0
0
0
0
8
2
0
0
0
0
0
-6
0
0
13
1
0
0
35
0
0
-4
0
0
0
22
0
1
0
0
0
-5
-18
0
0
17
0
0
0
9
0
0
3
-8
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-36
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
-2
0
0
0
0
-28
0
0
0
0
0
0
21
0
0
8
0
0
0
44
0
0
0
0
0
0
2
0
4
0
0
0
0
54
0
-5
0
0
0
0
-49
0
8
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
5
-3
-3
0
0
0
0
-19
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-100
0
0
0
0
0
-22
0
0
0
0
0
2
4
0
0
0
0
-1
0
-1
0
-8
0
0
52
0
0
0
38
0
-6
121
2
0
0
51
-2
0
-39
0
0
0
-5
0
8
6
0
0
0
24
0
0
-2
-3
0
0
1
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
25
2
-2
0
0
0
-52
0
0
0
-7
0
0
-18
4
0
-53
32
0
0
-57
-93
0
0
52
0
0
0
-23
-3
0
2
-12
0
0
-27
0
0
39
0
0
0
-8
0
-41
0
-2
0
0
-41
0
0
0
0
0
0
-18
-2
0
0
-1
0
0
8
0
0
0
0
0
-1
0
0
0
-5
-1
0
0
26
0
0
0
0
0
5
9
0
0
54
3
0
2
81
0
0
-10
0
-7
13
-79
0
-3
0
-10
0
-6
-1
0
0
6
0
9
0
-57
0
2
0
0
-10
0
-15
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
6
0
0
0
9
-9
0
-2
0
13
0
0
-43
0
10
21
0
0
0
-3
0
3
0
-3
0
0
-17
0
-9
-8
0
0
0
-29
0
0
2
0
0
0
-41
0
7
0
0
3
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-7
0
0
5
-3
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
2
0
0
26
0
0
0
0
0
0
10
0
0
0
0
-3
6
-27
0
0
0
0
60
0
0
0
-25
0
0
47
-5
0
0
-73
-9
16
-60
5
0
0
8
0
-10
9
0
0
0
10
3
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
30
0
0
5
0
0
0
-5
0
-19
-2
39
0
0
0
0
-54
0
0
21
0
0
-5
30
0
-1
74
5
0
-34
0
0
0
26
0
0
1
31
0
0
44
-1
0
-2
21
0
0
12
0
0
0
8
0
59
0
-6
0
0
42
0
0
0
0
0
0
55
0
0
0
7
0
0
-19
7
0
0
0
0
0
12
-1
0
-2
0
0
0
53
0
0
-2
0
0
0
-44
0
0
-7
0
0
-4
-76
0
0
-40
0
-1
0
-48
0
0
13
-21
0
0
-58
0
0
0
0
12
0
15
0
0
0
0
1
0
45
0
0
0
0
0
0
-3
5
0
0
0
0
0
-29
0
1
0
0
0
0
-5
0
0
0
0
0
0
-41
0
9
-3
0
0
0
-57
0
0
2
0
0
0
41
0
-3
0
0
0
0
-7
0
0
0
8
0
0
-12
0
-17
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
37
4
41
14
-27
-5
44
-33
25
-44
-24
10
-3
16
29
-8
-2
-64
11
7
-22
-7
-13
-17
-12
33
-39
6
22
-2
15
-20
4
-20
-28
-3
-9
58
-38
-29
47
23
29
54
-16
-22
-113
-42
-29
64
-126
-39
-5
-27
9
-14
-30
0
3
38
30
13
19
30
-17
0
3
-24
7
52
97
-38
18
-6
7
1
-6
-15
31
-1
-37
-1
-5
-12
-72
41
-3
27
2
-49
52
33
-18
2
3
-2
-61
-39
22
-14
-42
-6
5
-53
1
13
-95
2
-8
-42
-52
5
92
-49
17
-28
-40
8
-6
-5
-60
-1
1
56
3
0
-64
-44
10
-35
-83
31
2
49
-16
0
-20
44
8
2
-13
-43
4
11
21
17
-5
-20
6
0
1
16
-4
-6
-19
4
-45
-14
-9
-84
-3
-1
6
-72
-9
-47
21
3
3
-68
47
-58
-60
6
-9
46
38
1
-46
-31
-24
-5
5
37
25
-4
6
-25
-1
-20
4
-3
0
13
-7
-1
5
56
4
-6
19
11
0
-48
19
8
-2
-66
3
0
-29
50
6
-16
4
16
1
-44
-35
9
3
12
-17
1
10
3
27
-14
-14
-16
4
32
19
-42
-35
22
-51
-34
-23
-19
-15
-80
9
-22
-19
9
3
6
-5
-13
-12
-21
-56
-44
-27
-42
9
10
-8
33
7
6
-11
-18
28
-5
35
12
-34
85
11
-46
1
48
-5
4
-30
0
31
-1
41
0
-34
-67
1
60
5
24
15
-47
-3
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
24
-1
0
0
0
0
18
14
3
0
-3
-5
1
-22
1
0
0
0
0
0
-4
8
0
0
0
-1
0
0
1
0
-12
0
0
-3
0
0
-19
0
0
0
0
0
-22
24
0
0
0
0
0
24
-4
0
2
0
3
37
14
0
0
-65
0
0
-109
4
21
0
25
-1
1
-45
-36
-1
0
42
0
0
5
0
0
0
-13
-8
9
-26
5
0
0
10
0
6
0
-4
0
0
-1
1
32
0
0
-3
0
0
0
6
0
-12
4
-9
0
0
0
40
47
-4
0
-1
0
0
4
-37
0
-17
38
0
0
-16
44
-14
0
-16
0
-7
-53
-112
0
0
5
-5
0
5
63
0
0
-21
0
0
23
5
0
-35
1
-1
0
0
26
0
0
0
0
1
0
83
5
1
0
0
0
0
99
-8
0
0
3
0
-9
-17
6
5
51
0
0
6
-53
-6
2
-25
0
0
68
4
-6
0
40
-1
0
-8
-7
0
0
-16
8
0
-7
15
0
13
-10
4
5
0
-27
0
0
2
0
6
0
45
0
0
0
2
-17
0
42
0
2
0
0
0
0
41
0
0
0
0
0
0
-8
0
-2
-4
0
0
-5
47
0
4
0
2
0
0
-58
-6
-1
-1
1
0
1
-9
4
0
-1
0
0
0
-2
0
6
0
-3
0
0
66
0
-9
0
2
0
0
-37
0
-5
0
0
22
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-2
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
-5
-7
0
0
-2
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
3
1
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
1
0
0
5
-2
0
0
-2
0
0
0
2
0
0
0
0
0
0
-12
0
0
5
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
8
-2
0
0
0
0
0
2
-6
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
29
0
0
0
21
8
0
-74
0
0
-1
12
-2
0
-49
8
0
-3
-5
0
0
64
0
0
0
4
-2
0
-19
2
0
4
0
0
0
-5
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
-43
1
-1
0
0
0
0
-74
0
0
-7
0
0
-3
9
0
71
-7
0
0
17
21
0
0
20
-3
0
0
-40
0
1
79
7
0
-13
69
0
0
-62
0
0
0
-1
0
-22
9
-2
0
0
17
0
0
0
0
0
0
-4
5
0
0
0
0
0
-19
0
0
0
0
0
0
38
0
0
-1
-5
0
6
2
0
2
21
0
0
0
38
0
0
16
0
0
-8
11
0
0
0
-1
0
4
-73
0
1
-87
2
0
0
37
0
0
-2
0
0
0
-36
0
0
6
-1
0
0
16
7
0
0
0
0
0
23
0
0
0
0
0
1
17
-2
-48
0
3
0
0
-54
0
0
8
0
0
0
-61
0
50
0
0
0
0
17
0
0
0
0
0
-4
26
0
-17
0
0
0
0
-22
0
0
0
0
0
0
-11
0
-6
0
0
0
0
-65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
36
73
-7
8
37
40
9
-66
-8
57
-55
-73
-58
-53
-35
-35
-22
-11
-36
-37
-16
28
-22
-9
-7
-48
8
-2
-5
-5
-1
-19
-12
-16
-32
17
-9
-31
-3
-6
0
-8
11
3
168
49
9
34
-134
10
-29
-40
6
-26
-52
8
-22
-72
-11
3
-63
38
21
20
-63
-48
-11
6
12
20
94
-12
-2
4
-4
-13
16
-60
-20
-57
4
-48
25
-27
-41
-7
-6
-28
1
-6
-4
-27
-34
-10
-14
-40
23
9
17
-64
-41
-28
41
6
-28
-18
2
-61
-13
-37
-14
-88
18
25
27
24
-7
3
7
-6
-79
-22
2
34
-18
-5
10
40
29
12
28
23
-2
2
1
107
-2
-61
17
34
4
-41
4
0
5
-61
-77
-7
-9
-38
2
-46
-47
-30
16
26
3
0
22
30
-4
8
-68
-66
-78
-2
-40
-6
-11
-45
21
-34
15
0
-10
19
34
35
-3
1
43
10
2
-43
-28
-14
-32
24
2
-7
27
-27
-11
83
27
-37
-8
-49
4
-19
-20
18
-10
9
15
-56
-4
39
10
-19
-21
-48
-56
-41
7
25
-9
-19
19
-26
-7
-11
48
3
-10
-55
13
-6
-27
6
-6
-18
-18
-6
66
-8
24
51
-23
-9
-28
11
45
42
-52
17
72
-55
7
-23
12
53
-11
-26
9
-13
26
-41
-21
-25
-38
25
-12
-23
-54
-14
-3
35
-73
0
18
-21
4
10
18
-44
52
6
78
-40
-42
-63
-35
5
-31
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
5
42
8
-1
3
-18
0
-1
0
0
-5
-3
16
5
9
-3
-3
1
0
-4
0
45
5
0
-4
0
0
-33
0
0
0
0
0
-43
57
0
-2
-3
12
104
93
4
-1
144
75
45
21
-25
0
12
44
6
58
-29
0
-98
-28
-104
-89
-5
5
6
0
23
-111
-3
-36
-24
-45
0
2
-4
-67
22
52
-49
-4
5
10
0
-37
0
15
0
0
0
-21
-105
0
0
36
0
0
-7
-13
-1
-9
-77
50
2
-13
0
-21
4
-16
4
112
-7
0
-24
-9
0
-57
84
-13
0
-18
0
48
-4
3
-6
27
-8
-22
-9
1
-43
34
31
-43
6
8
4
45
2
0
-8
14
0
3
-16
45
0
0
-63
-5
10
1
12
-13
0
-22
-6
88
0
34
-8
8
37
11
0
0
0
0
4
39
-5
19
31
4
0
-1
42
-5
-8
-36
17
20
-15
0
5
-10
28
-13
7
-24
-3
3
8
17
58
0
-8
-33
-5
-21
-17
-27
-5
57
-42
0
-12
-53
9
-6
-3
39
1
102
-30
-24
-27
1
-42
5
-2
15
0
-5
0
47
23
0
4
-7
0
0
-36
0
-1
16
7
0
-5
-36
0
38
-34
75
0
-19
0
0
-41
31
-7
-6
-4
-47
3
-56
22
10
0
-48
-12
5
3
-51
31
0
-3
-84
-5
5
44
13
0
4
-13
0
-5
13
0
-7
2
-43
-7
1
0
-1
0
0
0
0
0
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
0
0
0
-2
0
0
15
3
0
0
-1
-7
0
1
14
0
0
2
0
0
0
-1
0
-129
0
0
-7
0
0
-8
0
0
1
-2
0
-13
6
0
5
0
0
27
4
0
0
16
0
-5
12
-2
0
-8
63
0
56
106
6
-3
0
-15
0
-8
-25
-48
0
0
-19
-1
0
2
-22
0
-10
53
14
0
17
-13
0
0
40
0
0
5
-5
0
0
0
1
9
0
0
21
0
1
0
32
0
41
5
48
0
0
0
20
50
0
0
59
0
0
-53
-5
0
-17
37
7
0
98
-44
1
-3
-33
-4
-2
-29
21
0
1
-30
0
0
-5
9
0
0
-70
0
0
8
-7
0
85
11
3
0
-1
-24
0
0
0
0
-5
0
-4
30
0
0
2
0
0
18
-4
0
8
0
0
-9
74
0
-20
-49
-1
3
-44
19
0
0
29
9
0
-29
23
0
8
9
8
0
-22
11
0
25
55
-2
0
-4
29
0
0
-3
-36
0
-10
37
0
0
1
0
0
2
-22
0
2
1
0
0
0
-20
-3
0
0
5
0
0
56
-7
0
-6
0
0
-3
-40
0
18
-10
0
0
-1
69
0
0
-8
0
0
0
-46
0
-1
0
0
0
-8
-12
0
-23
-1
-13
0
5
-69
0
-4
13
-1
0
-1
24
0
-5
8
0
0
0
-44
0
47
-3
0
0
0
-46
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
0
0
0
0
0
0
0
42
0
0
0
0
0
-4
25
3
0
0
-1
0
0
0
0
0
0
-1
0
1
0
1
0
25
0
0
-2
0
0
-40
0
0
0
0
0
14
52
0
-3
0
0
13
16
0
0
-2
69
0
74
2
0
0
76
5
-2
58
19
-13
8
-17
-26
1
-62
27
0
3
-23
0
-1
-2
-30
0
0
-4
10
-5
15
10
1
8
-6
0
5
0
-2
0
0
5
-2
63
0
0
-22
0
0
0
-29
-12
-49
-18
-4
31
0
0
1
-16
6
0
41
13
0
-50
-44
4
-40
25
-43
0
9
-9
0
0
43
0
3
9
23
4
0
-16
-34
0
70
63
0
0
47
-1
-14
4
48
0
-38
-4
-13
0
8
40
7
0
6
-4
-4
0
-10
21
10
0
-3
7
0
-16
-21
-2
1
0
4
-7
24
0
1
-61
58
-3
58
-38
0
3
72
-2
0
-49
-7
-2
-18
24
37
0
-27
-39
0
8
-20
8
0
-6
21
0
0
-37
29
0
0
14
0
0
-3
0
8
0
24
0
4
-4
29
-8
4
-52
13
-2
0
0
0
0
90
-24
0
-1
8
0
0
27
-8
-3
10
0
0
0
15
8
-2
14
-3
0
0
-8
0
6
-5
0
0
-5
-17
0
22
-7
29
0
-1
-33
-1
-67
-10
0
0
0
-60
3
-1
8
-5
0
0
14
0
88
3
0
0
-4
-38
83
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
78
15
-6
-48
-88
14
-12
-41
0
0
0
4
-1
14
89
5
0
11
22
2
-3
17
0
-42
-4
1
-2
0
0
28
0
0
-2
-7
-2
-94
-82
0
0
0
0
1
31
31
-1
138
141
7
-43
-28
0
1
80
25
-4
54
-29
-19
14
43
20
-4
77
9
7
20
79
-1
-46
16
41
0
0
-11
1
-9
-84
42
0
0
40
7
5
-11
-6
0
0
-9
71
-46
2
-3
87
0
0
0
-74
0
14
-3
6
-4
-7
0
-88
-12
15
0
36
0
-1
19
7
-9
19
75
62
0
-26
-28
0
-7
113
6
-12
2
3
6
13
89
42
0
23
14
0
-4
52
-8
6
-9
-63
0
2
-16
36
13
-13
-26
0
-6
-19
2
-2
0
30
-18
26
0
-32
0
-2
-2
-20
0
0
5
0
-8
32
-50
37
48
-3
19
-8
-47
-5
-19
-12
11
-2
-9
-43
18
19
35
-6
16
24
-37
-2
-10
50
3
3
-6
-67
10
-9
-37
37
1
52
-53
0
42
-24
-3
-11
0
-62
0
-1
29
-11
-21
-3
-15
-8
-3
0
-9
8
4
28
46
-1
0
0
0
10
-1
10
64
-21
0
3
-5
-25
0
-40
-7
33
0
25
52
-1
38
-19
31
-5
32
-13
0
-36
38
-35
-1
-12
-48
0
-1
-23
4
-6
9
-5
-1
-10
-16
-14
13
0
-64
2
19
0
-2
0
0
-9
-2
-3
-20
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
42
0
0
-7
0
0
-8
0
0
0
0
0
-3
-1
0
0
0
2
-10
1
0
0
-38
0
0
-38
0
0
0
31
0
0
47
3
0
5
61
0
0
15
-17
0
0
0
0
1
2
-1
0
0
0
0
3
-5
-7
0
0
0
0
-3
0
-18
0
0
0
0
10
0
0
-5
0
0
0
-8
0
-27
0
0
0
0
0
2
-15
0
0
-5
0
0
53
2
0
-50
-52
0
0
-35
2
0
0
24
0
0
10
44
0
0
-3
2
0
-31
1
0
0
-6
0
0
-3
-72
0
-11
23
0
0
-2
15
0
0
-1
0
-2
0
-1
14
-1
0
0
0
0
-29
0
0
0
0
0
0
-19
0
-7
-6
0
0
9
-69
0
0
11
0
0
-4
30
0
0
61
0
0
-1
-69
0
0
-17
0
0
-2
0
0
0
9
0
-1
16
28
0
0
29
0
2
0
5
0
0
-2
-17
30
0
-18
0
3
0
0
0
0
57
0
0
0
0
0
0
13
0
1
0
0
1
-5
3
0
0
5
-6
0
0
-20
0
0
-5
0
0
0
-23
0
0
2
0
0
2
59
0
30
1
0
0
0
-40
0
2
-3
0
0
0
-16
0
4
-3
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
41
0
0
0
-6
0
16
42
0
0
0
0
0
0
-1
0
0
1
-2
0
0
0
-1
-65
0
0
0
0
0
18
0
0
0
0
0
-13
-2
0
0
0
0
19
31
0
0
17
5
0
19
0
0
0
53
0
0
17
12
0
-2
-77
-16
0
10
24
0
0
0
0
0
64
10
0
0
-26
-4
0
17
-4
0
0
-2
0
0
0
-4
0
0
0
12
0
0
0
15
0
0
0
0
0
2
-21
-5
2
9
0
6
4
0
0
16
0
0
-18
-18
0
7
18
-86
0
-100
14
0
0
-8
-1
0
-2
41
0
0
-20
26
0
-94
55
0
0
42
0
0
0
-6
-1
10
-1
-8
0
0
43
0
0
-4
0
0
0
1
-63
4
0
5
0
0
16
8
0
0
0
0
-1
58
1
0
69
0
0
99
10
0
-7
-32
0
0
58
38
0
0
29
-35
0
-55
46
0
12
56
-14
0
0
-22
0
0
48
-14
0
0
-75
0
-5
26
0
0
0
9
0
-2
0
32
0
0
5
0
0
0
0
0
0
-57
-4
0
0
0
0
0
-87
0
8
0
1
0
0
52
0
0
28
0
0
0
37
0
16
22
0
0
-7
-11
0
-10
-7
84
0
0
-89
-1
-166
7
-9
0
0
-39
0
7
-8
-8
0
0
69
0
28
0
0
0
0
-38
36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
50
14
-40
5
-2
27
-5
4
5
0
-30
-9
-17
-1
-2
8
-29
0
-1
6
0
0
-13
0
0
3
-4
8
45
73
-1
5
7
0
18
-40
56
-15
81
-9
1
-16
-25
6
0
24
-4
-18
-99
37
12
-5
39
-18
51
-17
-123
10
1
-16
-1
-39
76
43
27
7
-47
-17
-44
40
-28
0
2
-96
-3
-77
-8
7
-2
-1
-43
-62
-136
0
102
-19
0
0
12
-40
0
-13
41
-50
51
-8
0
67
-5
3
-6
47
2
-9
-9
-21
45
18
22
7
-5
-14
13
30
-5
-43
10
-4
15
-44
-5
-14
-35
-27
50
-57
-39
7
-12
-70
-16
31
-4
-19
1
58
-14
50
62
10
18
0
-2
15
7
38
0
1
-34
63
0
-63
-5
1
-22
55
-2
-2
29
25
15
17
37
13
-31
39
-49
0
-17
5
55
-26
-16
-30
-85
-9
-1
78
-28
-10
44
-2
-52
-7
90
-8
29
33
-58
-46
2
6
5
-1
-5
-15
-13
2
10
-48
-3
-11
0
-1
0
4
-43
-12
-26
0
-2
45
13
-14
-12
-42
0
11
6
-5
-14
-3
-5
-2
13
10
1
40
-6
22
-1
-31
-15
-37
47
-6
0
-32
-11
42
-49
4
50
31
19
2
-2
28
34
-3
57
-9
-28
-10
66
-7
-26
-8
3
-30
0
-14
12
-52
-7
0
-2
1
98
9
4
38
0
9
23
30
0
18
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
23
0
0
0
0
18
42
-6
0
-1
8
-5
0
0
1
-1
-24
0
0
-32
0
0
-29
0
0
-1
0
3
-5
32
0
1
0
6
-12
-44
15
0
19
-13
1
46
-5
0
0
23
0
0
40
-42
-14
-41
42
-89
16
-71
0
-29
3
68
0
-124
-50
-16
0
-2
-20
64
-22
12
40
0
0
-1
15
-5
12
-5
0
0
2
-6
-157
0
0
-12
1
0
0
-31
4
73
0
22
3
5
0
50
-7
-2
0
68
3
0
-37
-22
0
62
-10
9
5
36
-27
10
-20
59
0
8
19
0
-14
-4
-57
13
-12
10
-68
0
2
-46
5
-5
-18
-37
0
-2
15
14
-1
-1
-100
0
0
0
0
88
0
10
-11
40
0
72
0
0
-12
1
-5
31
-1
0
3
5
-20
14
-27
22
-1
69
-7
0
56
4
-8
-13
-54
17
-4
-21
36
1
-8
-73
0
13
-15
45
6
13
-50
-24
-9
-20
67
-62
-9
1
-65
0
2
-1
0
-50
0
-27
0
15
-1
3
-123
1
2
4
2
0
-1
0
0
-46
39
3
0
-16
0
-1
25
4
22
27
0
2
-18
-63
0
16
-3
-10
0
12
49
13
11
14
-23
-3
-75
0
12
3
-16
-50
2
7
-15
0
-28
-43
-5
-3
0
-40
4
-10
-49
16
6
-5
20
0
22
13
0
31
0
27
-3
-7
0
29
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
-76
0
0
0
-1
0
-7
-1
-1
0
0
0
-6
-4
0
0
24
36
-8
7
-7
0
0
29
0
2
89
22
14
0
34
-3
5
-34
0
0
-3
-21
0
41
-19
1
0
0
19
8
-6
14
33
0
0
-12
0
-3
0
1
0
0
1
0
0
0
1
4
0
0
0
30
0
33
-1
-13
-1
0
0
35
-24
0
0
41
0
0
8
-10
0
-94
-3
41
0
-20
-6
0
0
162
0
0
52
-70
0
0
28
7
0
7
-21
0
0
44
0
1
0
104
0
-56
-1
24
0
0
-6
0
0
0
0
4
0
23
60
3
0
0
-2
0
60
3
0
0
0
0
4
-18
0
-2
60
-5
17
7
79
0
0
-45
0
0
-8
-24
0
0
-4
42
2
-4
-41
0
-7
15
0
0
13
27
0
-2
-3
3
0
0
68
0
0
29
0
0
0
-1
0
0
-10
3
35
0
10
0
0
0
0
0
0
-15
0
-5
0
0
0
-2
-19
0
-10
4
0
0
1
-46
0
5
-9
3
0
0
9
-5
7
6
0
0
-24
-7
0
-9
0
10
3
0
4
0
38
-4
0
0
0
99
0
0
0
0
-7
0
19
0
17
0
0
3
0
-30
-6
7
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
-6
0
23
0
0
1
0
0
4
0
0
0
0
0
-4
-10
0
4
0
0
13
9
0
0
4
56
1
-86
-25
0
0
-55
2
2
-46
-8
0
0
10
105
-2
25
-15
0
0
-3
0
-3
-13
5
0
0
49
1
2
19
20
0
0
0
0
16
0
8
0
0
0
0
-30
0
3
-5
0
0
0
9
0
45
1
-31
3
0
0
86
-22
0
0
-42
0
0
6
-29
0
79
20
5
0
20
-33
-2
0
-24
0
0
38
-20
7
1
23
24
0
-7
-41
0
0
6
0
0
-2
11
0
2
13
-25
0
0
-43
0
0
0
0
0
0
-44
-9
0
0
0
0
0
-11
-2
0
-1
0
0
3
-84
0
0
2
8
0
25
-12
0
0
12
0
0
-19
70
0
0
0
1
0
-1
-17
0
0
-13
-1
0
0
-30
0
-3
-37
-3
0
0
6
-1
7
-1
0
0
0
-5
0
0
-8
-8
-8
0
35
-3
0
0
0
0
0
9
29
0
0
0
0
0
-23
0
9
0
0
0
0
35
0
0
-8
0
0
0
38
0
17
24
0
0
-2
-42
0
7
-1
31
0
3
31
0
31
-5
0
0
0
72
0
0
9
0
1
0
-52
0
56
0
0
13
0
-29
57
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
28
0
0
0
4
13
45
20
2
0
0
9
-2
-3
0
0
-50
0
0
51
0
0
-3
0
0
-1
0
0
-13
27
0
0
0
0
58
3
0
0
-32
-79
-13
-1
-14
0
0
-9
2
-14
-50
-14
0
-2
18
-121
10
-20
7
-2
-15
-28
2
-40
-44
-44
-4
2
-23
-7
27
-30
10
2
0
-4
0
-58
-9
48
3
0
-2
50
-40
0
0
67
0
0
0
-20
0
24
-20
30
0
-3
0
-52
-13
0
0
-21
0
0
9
86
-2
6
17
-65
0
-77
-40
0
0
30
12
-1
59
2
0
0
-8
4
1
84
-25
0
0
-55
4
0
6
1
0
-25
-42
-53
-15
18
3
0
0
1
0
-8
0
-10
-31
-6
0
-2
-17
0
-12
4
0
0
0
-5
-19
-7
87
-5
-17
-30
18
-19
-10
0
7
28
-5
23
11
32
0
0
23
23
22
52
7
-3
7
-146
-11
8
-9
-80
0
-1
1
1
30
27
25
0
-3
4
-2
8
-7
5
0
1
-2
27
-2
0
1
15
0
0
0
24
0
-1
15
-4
0
0
0
7
-15
-5
7
0
0
0
43
10
0
-4
45
12
0
0
-21
1
10
-8
-14
-1
55
5
0
6
9
9
18
-25
-2
-1
-7
-2
-3
-12
-1
-21
1
-1
48
-76
24
0
-7
6
-117
0
0
8
0
-15
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
-1
0
0
7
0
-29
0
44
10
1
15
0
117
0
9
0
14
0
0
-8
0
0
-12
0
0
0
0
0
-9
-3
0
0
0
0
55
11
0
0
38
0
8
-12
21
14
0
-20
0
4
-100
-71
0
0
-52
0
-21
-10
5
0
0
53
0
-1
-77
42
0
0
-3
0
-78
-21
1
0
0
33
0
6
0
3
0
0
-4
0
6
0
-5
-88
0
0
0
33
0
-9
-7
-17
65
0
0
-42
-12
0
0
44
0
0
-45
-24
19
-34
-18
0
0
7
19
0
29
-5
-2
0
-24
5
0
0
49
0
-5
7
17
0
0
3
0
-5
-8
-15
0
-80
6
0
5
0
29
1
0
4
0
11
0
-21
-98
-57
0
0
-1
-1
-11
16
-2
18
0
0
27
-7
-8
-4
17
0
-7
35
33
0
5
52
0
9
-59
39
0
-4
-29
0
-3
-10
-23
0
8
15
0
-3
47
25
0
0
-20
0
31
8
12
0
12
30
0
45
0
3
2
-1
-54
0
42
0
-12
-14
6
0
0
25
0
-17
-4
0
2
0
0
-1
-13
-1
-6
65
0
0
41
-18
1
5
84
0
0
-16
67
0
-32
-55
0
0
-3
-39
0
11
-32
0
6
1
33
1
-73
32
0
-8
0
54
0
0
120
0
-7
0
3
0
24
-30
0
-2
0
-21
-47
-1
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
31
0
3
0
0
0
30
46
0
0
7
-2
0
5
-8
10
29
0
0
0
0
0
-9
0
0
12
0
3
-22
11
0
2
0
0
9
-6
-2
0
21
51
0
27
0
0
0
-11
-1
1
-27
48
0
1
-27
6
0
29
18
14
0
-20
0
0
21
23
0
0
0
9
0
99
44
-2
0
41
-3
0
2
-1
-4
0
0
12
0
0
-4
-71
0
0
-25
0
-4
-6
-14
119
10
-5
0
57
1
0
-2
-42
0
0
-55
24
9
4
-8
7
0
-60
31
0
7
3
0
0
-63
-39
-2
0
6
-91
0
10
-34
0
23
-23
1
0
37
7
-8
-27
11
-26
0
-2
0
4
0
-2
10
0
2
-13
-24
-32
0
-22
0
0
8
45
0
16
16
0
-23
31
-4
6
19
24
0
18
28
-6
-2
42
0
0
9
3
0
-3
40
63
0
29
-23
0
-2
-9
2
0
-49
22
1
8
-21
74
0
21
24
0
17
21
-1
0
0
2
9
-2
1
-22
0
-3
-15
2
2
1
-5
0
0
6
89
0
0
25
0
-2
17
0
123
1
0
0
1
-16
8
16
37
-40
0
29
32
0
76
-13
0
0
58
-24
0
50
10
32
0
-29
-42
0
25
86
0
0
-2
-74
0
-3
-3
-23
0
-8
-7
0
-17
-2
0
0
0
26
47
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
-5
8
26
-20
-8
7
-15
-5
-8
0
0
-37
0
0
-4
0
-5
0
2
8
78
-28
5
-29
-13
7
48
67
4
-3
-7
-43
14
2
1
0
2
1
-11
20
-31
71
-3
-4
-10
-17
10
-103
-60
31
-3
-153
-25
1
-35
-41
19
25
16
-6
16
-22
5
17
9
-39
60
-16
-1
15
0
0
71
0
-16
0
-32
-46
0
0
-62
-1
1
-2
-82
-2
-2
-16
-8
-39
-2
-12
0
-3
2
1
-13
13
10
3
-6
-20
-5
9
-5
-6
-3
21
-13
7
5
2
-14
4
-17
-54
15
-3
-6
-4
-18
-1
77
65
5
-11
-5
-4
24
-3
-14
0
-1
-2
-1
-35
-8
9
0
4
-16
-81
0
-15
0
0
-5
4
-1
-3
-9
0
-4
16
51
2
-61
-20
-4
-8
-3
5
-24
-33
-7
-6
-35
-2
52
49
-47
-1
6
-8
-13
-25
20
25
-14
10
25
-12
-4
-12
-1
-14
-15
1
-11
-25
-24
-3
57
-4
-19
-18
-2
-15
-29
-13
-74
0
-21
5
19
9
55
-42
0
-15
6
-1
-4
-41
1
0
6
-18
48
32
5
12
7
-20
5
-19
26
-47
-22
-1
38
-29
10
32
-15
41
0
-15
0
23
-45
13
-21
-2
-28
3
-17
30
97
20
14
8
-4
-7
-21
-39
-21
0
3
-2
37
24
-12
-28
0
-29
-61
-14
-24
-64
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
1
-2
0
7
0
0
-7
0
0
-3
0
0
0
0
0
-20
6
0
0
0
0
17
7
24
-7
89
-17
-2
1
-1
0
0
73
-1
0
9
11
2
-8
13
-78
-1
-5
35
6
0
44
6
13
2
0
3
-8
-1
12
87
-9
10
0
0
74
0
-2
0
0
0
0
0
9
-103
0
-2
24
0
0
0
-19
0
38
1
-7
-1
-3
0
36
-10
0
0
72
-1
0
4
0
0
-7
65
42
0
-79
26
5
0
0
8
0
-52
48
4
0
-47
-1
0
-18
0
16
1
-9
-6
-5
1
-45
0
-41
-13
1
0
0
6
0
0
0
-6
-3
0
4
21
39
0
-7
0
0
6
32
0
0
0
0
-2
-34
-10
32
-30
1
-13
-17
4
-1
0
38
2
0
-23
62
0
7
88
-3
10
36
-35
-3
5
-13
8
0
21
0
0
4
-38
86
1
-6
-105
-2
0
4
0
-19
0
-114
0
-2
-3
-24
-10
3
-10
-7
0
0
-1
0
0
-1
0
0
0
0
0
0
2
3
-51
-12
0
0
0
17
0
-24
42
-6
0
3
-10
0
59
-8
-2
0
-4
11
0
-1
30
-36
0
-5
0
-10
-107
-13
0
8
5
-27
0
-1
2
3
-9
-3
15
0
36
0
0
0
0
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
0
-1
0
0
-9
0
0
0
0
0
1
5
0
0
0
0
0
42
0
0
2
0
0
-19
0
0
0
25
0
0
40
13
1
0
-93
3
29
31
0
0
0
-4
0
25
6
0
0
0
-2
0
18
0
41
0
0
22
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
8
0
47
0
-1
0
0
0
25
-6
0
0
-3
0
0
-11
55
0
-6
71
7
0
-43
-52
0
0
41
0
0
-13
-78
0
0
33
5
0
-6
-47
0
3
7
0
-7
0
-25
0
9
0
0
0
0
-35
0
0
3
0
1
0
13
-2
0
0
0
-4
0
45
0
0
0
0
0
0
39
0
1
0
0
0
3
67
0
0
4
0
0
2
2
0
0
30
0
0
0
-67
0
0
-7
0
0
0
9
0
14
-18
5
-18
0
-32
0
0
0
0
3
0
-29
0
0
0
1
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
-4
0
0
0
-2
48
0
3
0
-4
0
0
3
0
0
2
0
0
0
64
0
0
-1
0
0
0
-13
0
0
0
0
0
0
15
0
0
0
0
0
0
50
0
-6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-66
0
0
-1
0
0
-21
0
0
0
0
0
0
7
0
0
0
0
46
-6
0
0
9
-1
0
-31
0
0
0
24
0
0
-27
-2
0
0
-39
-5
3
-56
0
0
0
-10
0
-3
-6
0
0
0
-1
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
94
0
0
0
0
0
0
75
0
-37
-6
0
0
0
0
2
23
0
0
-2
0
0
10
34
0
-30
53
-2
0
-40
-60
0
0
59
0
0
9
-35
0
0
40
-1
0
23
-76
0
0
38
0
0
0
-38
0
146
8
-3
0
0
-18
0
0
0
0
1
0
4
0
0
0
0
0
0
58
0
0
0
0
0
0
24
0
0
8
0
0
0
-103
0
0
-1
0
0
0
-2
0
0
-29
-1
0
-8
66
0
0
30
0
0
-2
-41
0
0
-8
-8
0
0
101
0
0
-2
0
0
0
-41
0
0
0
-2
-3
0
-11
0
0
0
3
0
0
-17
65
0
0
0
0
0
7
0
-2
0
0
0
0
44
0
0
0
0
0
0
-37
7
0
-9
0
0
0
10
0
0
0
0
0
0
-2
0
-16
0
0
0
0
6
0
0
0
0
0
0
3
0
-7
0
0
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-39
0
0
1
0
0
-20
0
0
0
0
0
-6
-2
0
0
0
0
51
0
13
0
-5
-1
0
-50
0
-2
0
-4
0
0
34
0
2
0
1
3
-2
-17
0
0
0
2
0
0
-7
-18
0
0
0
0
-9
-2
0
0
0
10
0
0
0
9
0
0
-2
-8
-7
0
0
-2
0
0
0
0
0
50
-6
4
0
0
0
-4
-6
0
0
1
0
0
6
34
0
-36
-12
-3
0
1
6
0
0
-2
0
0
-13
75
0
0
-2
0
0
14
-94
0
0
0
0
0
0
3
0
-20
-5
14
0
-10
-43
0
0
0
0
0
0
23
20
0
0
0
4
0
-9
-10
0
4
0
0
0
-18
8
0
-5
0
0
-5
44
0
13
12
0
0
14
-40
0
0
-1
7
0
2
-70
0
-1
-13
0
0
0
-21
0
-2
0
-1
0
0
0
0
0
0
0
-4
0
30
0
0
0
-3
4
0
59
0
0
0
0
0
0
-60
0
0
0
0
0
0
7
0
-4
0
0
0
0
-44
0
0
0
0
0
0
6
0
8
0
0
0
-1
-7
0
0
0
-3
0
3
-88
0
6
0
0
0
0
-63
0
0
0
0
0
0
24
0
-10
0
0
0
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
53
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
10
0
0
0
-10
0
0
42
-3
-1
0
-39
10
-5
-22
0
0
0
-4
0
-2
-2
0
0
0
1
0
1
-2
0
0
0
2
0
3
0
0
0
0
0
0
26
0
0
-1
0
0
0
-7
0
-16
0
4
-4
0
0
0
34
0
0
1
0
0
0
5
0
-22
-37
0
0
-49
-54
0
0
1
0
0
9
-17
0
0
-6
0
0
-9
-24
0
0
-3
0
0
0
11
0
-1
-1
0
0
0
-27
0
0
0
0
0
0
-63
5
6
0
0
0
0
39
0
0
0
0
0
0
-1
-10
0
-1
0
0
0
-70
0
0
5
0
0
-9
-9
0
0
-11
0
0
-8
6
0
0
-58
0
0
9
-84
0
0
13
0
0
0
18
0
0
1
0
0
0
-7
0
0
0
0
-2
0
61
0
0
0
0
0
0
-3
10
0
0
0
0
-2
10
0
-1
0
0
0
0
-20
0
0
0
0
0
0
-46
0
0
0
0
0
0
29
0
0
-8
-4
0
-5
-80
0
0
0
0
0
0
13
0
0
0
0
0
0
11
0
-9
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
-5
-9
0
0
-3
-13
-29
-1
0
0
0
0
-4
0
0
0
0
-1
-19
-32
0
-1
0
0
-24
40
1
0
0
68
0
-9
-7
0
0
-8
0
0
-23
-15
0
0
-15
-54
0
-50
26
-1
0
-20
-1
0
-99
13
0
0
-37
51
0
-7
11
1
0
-1
-3
0
9
15
0
0
-4
-36
0
0
1
0
0
0
7
0
0
27
-26
-44
-21
17
0
-15
0
0
0
-36
0
0
-122
0
-7
25
-3
7
0
-33
76
0
0
20
0
0
-110
-52
-1
7
-43
-30
0
-79
-20
17
-1
-1
0
0
51
-14
23
1
-17
10
0
30
17
0
2
-10
-1
0
0
-14
-40
-29
0
6
0
-13
25
-68
0
0
-2
0
15
4
1
-1
40
89
0
-19
52
0
-12
-47
0
0
34
-1
0
-5
57
-43
0
-75
17
7
-18
23
24
0
-38
31
0
-3
47
-36
0
4
1
23
8
26
1
0
0
-10
0
71
33
72
0
0
34
-40
-5
0
0
0
6
-2
-17
0
0
1
0
-3
87
0
49
28
23
0
-2
46
0
1
-16
-14
0
-1
39
0
47
13
0
0
9
27
0
42
23
-60
0
13
-18
-1
21
23
0
0
-7
30
-4
30
25
-26
0
-1
-21
0
29
5
0
0
0
25
-20
-4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-102
0
0
48
0
0
-64
0
2
0
0
0
15
-1
0
0
0
0
5
8
13
0
-58
-78
-13
-28
3
0
0
34
0
14
43
-5
0
9
-34
57
-10
22
20
2
0
52
0
-52
0
-6
2
-7
-50
22
-22
-3
-15
0
0
21
0
3
2
-48
0
0
-29
-28
-129
0
0
-5
0
0
0
2
0
-10
4
-2
0
0
0
-28
-5
0
0
-62
-1
8
30
6
0
65
-6
-19
0
129
-23
0
0
11
0
10
48
4
0
0
-11
-10
10
-1
43
0
-2
55
0
0
4
24
0
-78
23
-27
0
0
-67
0
0
-3
8
-9
0
-27
-8
12
0
-40
0
0
-63
-8
0
0
-3
0
2
36
-1
0
-3
-6
-16
0
-6
0
14
87
0
-3
14
19
0
1
-59
18
0
0
-36
13
0
-16
5
-6
0
20
0
3
-35
-10
-17
0
4
0
5
-7
0
-78
0
-58
0
-4
19
5
-54
0
4
-2
0
0
-8
-3
0
-2
0
0
0
0
0
0
41
0
15
-3
-1
0
0
21
0
2
-1
0
2
-1
38
0
-2
4
0
0
7
-70
0
-22
11
-23
-5
0
-17
0
26
-6
0
0
0
11
0
1
-17
-1
18
0
-92
-2
39
3
0
-8
0
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-38
0
4
14
0
0
-17
0
0
-5
0
0
-20
-1
0
0
0
0
-28
-25
-2
0
-15
-19
6
-15
-13
0
-1
-26
0
0
-95
15
-1
0
6
-30
-6
0
8
0
0
-48
0
-4
-15
2
0
0
52
9
-5
52
0
0
5
43
0
-22
0
83
0
0
0
-11
-105
0
9
-8
0
0
0
-25
0
3
2
-16
0
4
0
21
26
0
0
-9
0
0
11
32
0
31
30
-34
0
79
26
1
-2
-11
1
0
11
70
0
2
48
9
0
32
-16
0
0
-53
0
-2
3
0
3
-22
30
13
6
9
-91
4
0
4
0
-1
0
-30
-5
-3
0
-24
7
0
59
-13
10
0
0
0
-2
5
67
-36
12
-14
0
-1
46
-4
0
-17
-1
0
-59
-63
6
-9
48
-95
9
-40
79
0
0
23
6
0
-2
-1
8
-12
-87
-19
0
0
0
0
-2
27
-2
-8
0
-54
0
0
0
-6
-16
0
-66
-2
0
0
-10
0
0
-87
0
-3
0
1
0
0
-17
8
-30
-1
0
0
-1
-18
0
4
-2
2
0
0
-8
-2
58
-10
13
0
1
-28
0
11
25
-22
0
0
-1
1
77
-30
0
0
9
0
0
0
-6
-49
-5
0
-27
0
7
4
0
0
0
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
-2
0
0
17
0
0
0
0
0
-14
0
0
0
0
0
-8
-2
0
0
48
5
0
59
0
0
0
-12
0
0
57
0
0
-1
70
-19
3
-73
0
0
0
0
0
24
0
0
0
0
63
-1
5
0
3
0
0
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
0
-9
0
24
0
-2
20
0
0
17
-51
0
0
0
0
0
-13
-19
0
-9
54
0
0
77
30
0
0
7
0
0
-1
-27
0
0
-21
29
0
-8
15
0
3
5
0
0
0
-4
0
-42
-7
0
0
0
-24
0
0
0
0
1
0
-16
-3
5
0
1
-10
0
36
0
0
0
0
0
-14
-11
0
0
-8
0
-2
-2
18
0
0
0
0
0
7
-19
0
17
60
7
-1
6
11
0
3
60
0
0
0
18
0
0
17
-7
-9
0
-93
0
0
0
0
0
0
50
0
0
3
-8
-1
0
-18
0
0
0
0
0
0
54
0
0
0
0
0
0
11
0
4
0
0
0
0
33
0
0
0
0
0
0
-26
0
0
-5
0
0
-1
3
0
0
0
0
0
0
-5
0
3
0
0
0
0
98
0
-2
0
0
0
0
65
0
-12
0
0
0
0
105
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
47
0
0
-1
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-3
0
0
0
39
0
1
-43
-1
1
0
-34
-4
12
-5
2
0
0
-3
0
-2
-1
-1
0
0
8
0
16
10
2
0
0
0
0
-12
0
-1
0
0
0
19
-6
0
0
-2
0
0
0
-10
0
-1
0
0
0
0
0
-1
-19
0
0
17
0
0
17
50
0
66
-40
-1
0
9
13
0
0
-1
0
0
-1
-75
0
0
87
-2
0
0
3
0
0
1
-8
0
0
11
0
46
3
-4
0
2
-8
0
0
0
0
0
0
28
0
-5
0
0
0
0
64
0
0
0
0
0
0
6
0
0
-1
0
3
7
-49
0
0
-4
0
0
-2
56
0
0
-6
-1
0
0
11
0
0
-4
0
0
0
-18
0
0
0
-1
0
3
-45
0
0
-1
0
-1
0
36
0
-1
0
-1
-2
0
-65
0
0
0
0
0
0
-2
-1
0
0
0
0
0
27
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-30
0
-1
0
0
0
0
-23
0
0
0
0
0
0
-14
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-8
0
0
-4
0
0
0
0
0
-1
-15
0
0
0
0
66
4
0
4
-45
-30
63
-2
0
0
0
-8
0
0
5
1
0
0
-37
-11
53
-24
-23
0
0
-3
0
-21
-18
14
0
0
0
11
22
21
-1
0
0
1
41
-18
-15
-5
0
0
-3
-3
-13
0
0
-8
0
0
-5
-80
0
-21
-7
-3
0
0
0
26
35
0
0
1
0
0
-66
-1
0
24
-31
-75
0
14
-12
0
0
-37
0
6
12
-12
0
0
-8
-19
0
-43
-17
5
0
-1
0
-7
21
-47
0
-13
-3
-42
-11
2
15
0
0
0
13
5
0
6
2
-3
0
-16
0
0
-18
0
0
0
0
0
-1
46
12
-4
-4
21
15
-20
-19
0
-1
-9
0
-5
9
2
-1
-2
-27
25
-6
-3
-42
0
0
-1
9
3
30
-10
0
7
-1
-47
-1
43
-18
-1
0
-2
-10
-60
0
-9
0
0
0
33
-41
0
7
-2
0
0
0
13
0
-17
0
0
0
0
0
0
17
0
-8
2
0
24
0
-12
0
0
23
5
1
-10
-19
0
-17
8
-1
16
0
10
0
10
-5
-5
7
-1
-62
0
-47
-2
0
-6
-8
14
0
4
18
-6
11
0
12
0
-44
0
0
1
0
-18
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
3
0
0
17
0
0
0
0
0
2
-26
0
0
0
0
-43
-90
0
0
51
0
69
-27
30
0
0
-7
0
-14
13
-54
-3
0
-3
0
42
-20
-17
0
0
11
0
-12
-73
0
0
0
-81
0
-104
-24
-1
0
0
36
0
-6
0
45
0
0
-1
0
7
0
0
-88
0
0
0
1
-2
23
-29
-2
29
0
0
28
-12
0
0
-13
0
5
4
-2
0
-14
-29
13
0
55
-34
0
-1
13
0
8
-21
-72
0
0
26
0
-1
54
15
0
0
29
5
0
43
-23
0
18
-42
1
21
0
16
0
0
34
0
-10
0
-25
11
-24
0
0
0
0
-6
-12
0
4
0
0
-5
-22
0
20
40
0
34
-81
10
0
0
-56
0
-53
83
23
0
0
64
0
1
-2
-23
0
0
-19
5
5
28
-4
2
0
13
0
23
75
-54
0
4
-7
0
-11
2
17
0
0
-6
0
-11
0
24
39
0
0
0
0
0
45
-40
0
0
0
0
-4
13
0
0
1
0
0
9
15
0
0
-30
0
0
-25
-30
0
-10
92
0
0
2
33
0
0
91
0
4
-8
35
0
-102
-4
0
0
-5
-33
0
0
40
0
0
0
-1
0
32
2
0
-2
0
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-5
-36
0
0
0
0
0
28
0
0
0
0
-6
-1
-44
-2
0
-1
0
-29
84
0
0
-3
14
0
-3
0
0
2
-56
0
0
-32
61
0
4
-8
19
0
16
-15
0
0
-37
0
0
47
53
1
2
-71
0
0
-6
7
0
0
-4
0
0
0
-11
0
0
0
-43
5
0
6
12
0
0
0
0
0
24
-5
-4
-19
7
0
37
-25
0
0
-61
0
0
44
61
0
82
16
8
0
-62
9
0
2
-15
0
0
-25
-9
0
-4
-11
12
0
40
-21
0
2
-47
0
0
-2
133
0
35
-35
-19
0
0
7
0
0
0
0
0
0
3
-6
24
0
46
0
0
8
-2
0
0
2
0
0
3
0
3
-33
8
0
69
20
0
22
65
0
0
37
9
1
-5
-34
34
0
-70
6
0
1
34
6
0
-22
-53
-1
6
-33
-11
0
-30
-90
0
24
23
0
0
0
-15
0
0
-7
30
0
0
13
0
2
0
0
0
0
52
-19
6
8
0
0
0
56
0
25
0
0
0
-5
-98
0
7
6
38
0
17
71
0
-54
-67
0
0
5
-11
-1
19
49
-44
0
16
-38
0
-13
-33
-20
0
8
-42
0
4
-11
-33
0
0
-20
0
28
0
0
0
0
11
104
4
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
5
125
-2
0
0
0
0
-3
22
5
0
-9
19
0
0
-4
1
0
0
0
0
13
0
0
0
0
2
0
0
0
0
0
0
17
0
-5
0
5
0
0
1
0
-4
0
0
-1
0
0
0
-10
0
-26
0
0
0
0
0
0
28
0
0
0
0
0
-3
-4
0
40
-7
-1
0
-1
11
0
0
9
0
0
0
13
0
0
2
0
0
0
-13
0
0
-1
0
0
0
5
0
-5
-2
0
0
0
8
0
0
0
0
0
0
-21
-6
0
0
0
0
0
18
0
0
0
0
0
3
-32
0
0
0
0
0
5
-17
0
0
2
0
0
0
15
0
-1
1
0
0
1
-27
0
9
-1
0
0
0
5
0
0
0
0
0
0
-46
0
0
-4
0
0
0
-20
0
0
0
0
0
0
39
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
-3
0
2
0
0
0
-2
0
0
4
0
0
1
0
-4
0
-8
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
8
0
4
0
0
8
3
-2
0
2
5
0
10
0
0
0
-51
0
0
-30
0
1
-4
-74
10
-1
-21
0
0
0
10
0
8
-1
-5
0
-4
20
-1
0
-9
-4
0
0
13
0
0
0
0
-9
0
3
22
-64
0
0
6
0
0
1
-1
0
-59
-8
2
-1
0
0
16
-41
0
0
13
0
0
7
81
0
27
21
5
0
34
47
0
-1
-39
0
0
14
27
0
0
14
0
0
-27
-20
0
0
-22
0
0
-8
51
0
-47
0
7
0
0
0
0
0
0
0
2
0
12
-1
28
0
-10
0
0
28
0
0
0
0
0
0
-55
2
0
-14
-4
0
-3
-14
-8
-2
8
0
8
1
-49
0
4
-8
19
9
4
13
0
8
6
2
-9
-8
40
1
0
-6
-8
-6
0
-19
0
0
0
0
-7
-5
0
0
0
0
-1
24
0
-57
-5
0
0
2
0
0
-72
-1
-7
0
1
0
0
-1
0
0
0
0
0
0
-37
0
3
-3
0
2
0
41
0
2
-4
0
0
0
-28
0
8
6
-23
0
0
-63
0
-2
23
0
10
0
-3
0
0
0
0
0
0
0
0
15
0
0
0
0
-19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
0
0
0
0
0
6
-5
0
0
0
0
8
0
0
0
-14
0
0
15
0
0
0
-11
0
-1
-19
5
0
0
-19
6
0
-33
-2
0
0
0
0
6
0
-4
0
0
-4
0
-22
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
0
0
2
0
0
0
60
0
0
0
-1
4
0
0
5
84
0
0
-4
0
0
18
19
0
-5
16
0
0
20
-37
0
0
12
0
0
50
26
0
0
0
0
0
-33
52
0
0
-17
0
0
4
0
0
-39
0
0
1
0
-5
0
0
0
0
3
0
108
-1
0
0
0
0
0
40
-1
0
0
0
0
0
20
0
0
19
0
0
0
13
0
10
0
0
0
-10
-68
0
0
12
-6
0
0
-36
0
0
-25
0
0
0
-40
0
0
25
0
0
9
16
0
0
0
0
-3
0
-8
0
-12
0
0
-1
0
-23
0
0
0
0
3
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
95
0
0
-2
0
0
5
15
0
0
0
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
0
0
0
-11
0
19
0
0
6
0
-10
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
0
2
2
8
65
2
31
-13
33
20
52
21
-7
-13
65
6
-8
-3
-3
-19
-6
26
-15
10
33
-7
58
27
-70
-5
-2
-29
-6
23
19
98
25
59
31
-41
-13
5
-48
-2
18
2
-36
-4
3
-41
-8
7
-10
-13
-5
-31
-10
12
8
7
-8
-24
-36
-14
-17
-9
2
8
-3
-2
-68
-36
-19
-40
6
-6
10
14
-5
-33
54
2
-2
-106
-2
1
-2
77
3
-9
-16
-7
0
-22
-37
-53
-2
74
-7
-2
-4
1
-20
1
4
-37
0
-24
-58
-22
0
73
-70
7
-1
11
29
-17
-33
30
2
61
-24
30
-1
-21
-12
-34
-43
-6
32
0
36
-37
30
24
41
-3
2
23
-15
9
10
-12
6
-8
25
25
-18
-43
-67
25
-3
10
-1
-1
-27
-9
-8
2
60
-34
8
-32
-2
-45
0
-70
25
-10
1
-97
-13
-1
-82
-95
-33
9
5
-9
-2
-6
28
-25
-16
-27
-30
3
-128
49
16
-51
-46
-39
13
28
-11
71
-49
-8
-21
-2
-64
-1
46
-6
10
32
22
28
-69
-22
14
-45
-33
4
-106
7
0
16
18
37
11
-8
-54
-27
-27
37
-63
-3
47
-82
-11
-20
48
25
5
14
-81
-45
-55
34
-47
1
42
-125
-22
-10
10
14
-3
-16
0
-16
-84
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
1
0
0
0
-6
0
0
14
0
0
0
2
0
0
-24
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
1
0
0
-1
0
0
0
0
0
-19
-1
0
-1
-5
0
-8
23
0
0
0
0
0
0
-3
0
23
-8
0
0
16
-35
0
0
0
0
0
1
-27
0
0
1
0
0
0
-58
0
0
0
0
0
0
6
0
46
0
0
0
0
22
0
0
0
0
0
0
-9
0
-5
0
0
2
0
-49
0
0
0
0
0
0
5
0
0
0
0
0
0
-44
0
0
-2
0
0
3
-16
0
-2
8
0
0
6
15
0
0
-1
0
0
0
-1
0
0
0
3
0
0
-49
0
0
0
0
0
0
-13
0
2
0
0
4
0
-53
8
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
-3
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
2
-9
0
-6
0
0
0
2
-2
0
0
0
0
0
0
-14
0
-8
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
12
0
0
8
12
0
0
-12
0
0
-43
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-26
0
0
0
0
0
0
-11
0
-1
-1
0
0
7
-4
0
0
0
0
0
2
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
-5
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
34
0
0
0
0
0
0
2
0
0
9
0
0
0
-62
0
0
0
0
0
0
-27
0
0
-1
0
0
0
9
0
0
-24
0
0
0
-22
0
0
0
0
0
0
-43
0
0
0
0
1
0
-5
0
0
0
0
9
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
2
0
0
-22
41
-2
25
0
0
-45
-1
-2
-5
60
2
0
34
3
0
0
-33
0
0
1
72
-2
25
-21
-53
0
19
-33
0
14
-16
-2
0
47
-28
0
-4
-10
-42
0
42
-43
12
-1
-42
17
0
-3
-62
5
0
-1
40
0
0
-29
-3
0
0
-12
0
8
4
-54
-11
20
40
0
-16
3
0
0
-12
0
0
-31
33
-7
6
5
-79
3
23
47
-13
14
10
0
0
47
-6
0
4
17
5
0
-66
-22
0
16
41
-6
0
-1
-53
51
-35
43
-13
0
-3
-27
2
7
55
-4
0
-1
-36
-30
-44
0
-5
0
-5
8
-22
-5
15
-4
0
64
28
46
29
-10
48
0
12
40
-5
21
34
-7
0
14
19
66
3
26
26
0
74
17
18
-13
58
11
0
34
18
15
36
16
15
0
45
-24
-5
-47
8
-6
0
1
-57
24
-5
27
-5
0
-1
-26
-3
114
-1
4
0
3
22
-40
5
-6
2
0
-5
43
-7
-18
50
4
0
-43
28
0
-4
-28
40
-6
107
45
-17
20
142
22
0
-30
4
6
-38
1
63
0
-26
-3
19
43
58
30
0
6
-19
-27
46
57
55
0
7
-13
-4
40
27
-2
-3
-1
-6
15
21
-1
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
35
0
0
0
16
0
0
-5
0
0
0
6
-2
0
14
0
0
0
-4
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
-4
8
0
0
-1
-10
0
0
-1
0
0
-6
56
0
0
-1
0
0
0
13
0
0
-4
0
0
0
-1
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-24
0
0
0
0
0
0
-45
0
0
-1
0
0
0
-69
0
0
-1
0
0
0
-7
0
0
7
0
0
0
2
0
0
-1
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-3
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-2
-58
-45
-6
40
31
18
46
52
-8
-1
32
4
-24
-2
3
-11
-62
-51
0
-7
105
-30
-10
0
-31
0
-30
63
30
-25
15
-15
9
1
-1
35
-9
-9
-1
-11
-24
-79
-134
2
-31
-7
-37
-66
-65
-17
-11
0
2
-5
-34
-28
-34
-60
-7
-23
36
3
-3
-39
16
22
-103
-8
-2
-6
18
9
38
-32
19
0
-52
-8
6
1
-29
8
-7
3
-5
-1
-24
36
3
-3
-11
-22
-2
-17
-28
1
-6
57
-46
-7
3
-66
-10
-4
-31
2
-11
0
-33
-25
-16
67
-27
-25
-5
-49
41
-6
178
28
-51
-4
13
73
5
-49
-111
19
-106
-42
-21
0
-38
13
-5
3
-21
9
-1
35
-115
3
64
7
-13
0
54
17
10
-5
-38
-15
-9
48
-14
0
-26
-8
-53
-3
-2
13
8
-2
3
-1
-4
43
2
-6
-24
3
36
-15
44
-46
0
-12
7
-87
-6
5
32
-18
23
-3
30
-12
-50
-65
21
47
-86
-40
-14
-30
9
-9
-7
-14
22
-7
-5
0
15
-33
24
-21
9
14
4
5
-28
-26
-74
-18
-20
21
27
10
-8
20
4
61
-11
-4
-20
-16
-18
0
-37
-9
0
-7
-57
-18
2
34
-6
-27
0
-5
-14
2
41
4
-6
-47
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
2
0
0
-3
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
1
0
0
25
0
0
0
0
0
0
2
3
0
0
9
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
6
15
0
1
-4
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
27
0
0
0
0
0
0
-18
0
-8
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
-11
0
0
0
-15
0
0
-4
0
0
0
50
0
0
-36
0
0
0
0
0
0
0
0
0
0
-15
0
7
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
7
0
0
0
17
0
-36
0
0
0
0
0
-9
-18
0
0
-16
0
0
29
-27
0
4
-49
0
0
107
-92
0
0
-1
0
0
3
-55
0
0
39
0
0
5
33
0
0
1
0
0
0
0
0
-6
0
0
-2
0
14
0
0
0
0
0
0
12
34
0
0
0
0
0
17
0
0
0
0
0
0
-11
0
0
4
0
0
-1
-12
0
0
0
0
0
1
33
0
0
10
0
0
-2
76
0
0
-1
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
1
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
3
0
0
0
0
6
0
0
0
0
0
0
-10
0
21
-2
0
0
0
34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
0
0
0
0
-18
0
0
0
69
15
0
17
0
0
0
-36
0
0
59
-3
6
0
-66
28
0
15
0
0
0
15
0
0
-9
0
0
0
3
1
0
43
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
19
53
0
0
0
0
1
19
3
22
0
2
0
16
3
0
0
47
0
0
-3
-41
-3
9
20
-5
0
8
-5
0
0
12
1
0
-18
11
0
8
25
-13
0
5
-23
0
0
-12
0
0
-1
-20
0
-34
-2
-13
0
0
30
0
0
0
0
0
0
38
-39
0
0
0
0
0
-28
0
0
-1
0
0
0
60
0
0
2
0
0
-5
44
0
-1
67
0
0
4
-12
0
0
14
29
0
1
-17
0
4
-13
4
0
-7
23
0
0
5
52
0
-8
21
0
0
13
0
0
0
-4
0
7
-15
-2
0
0
65
-1
3
0
0
0
0
5
0
-1
0
0
0
0
3
0
2
0
0
0
0
24
0
0
-27
-4
0
0
14
0
-1
24
0
0
9
36
7
7
14
-5
0
0
-48
0
35
0
3
0
0
45
0
0
-19
-6
0
0
0
0
-39
0
0
0
0
-7
-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
3
0
-2
0
-2
0
0
-87
-10
0
0
21
0
-5
-69
4
0
0
30
1
-1
77
0
0
0
1
0
0
0
0
0
0
-13
-2
-3
0
-3
0
0
1
0
33
0
0
0
0
0
0
21
0
0
-2
0
0
0
0
0
6
1
-6
0
0
0
0
-60
0
0
-23
0
0
-7
-39
0
19
-43
-3
0
-11
78
0
0
-12
0
0
-4
8
0
0
2
1
0
-8
17
0
0
1
0
0
0
-4
0
-3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
-1
-19
0
6
-41
0
0
-8
0
0
0
-76
6
0
-3
-3
0
-1
-69
0
0
49
0
0
0
-16
0
6
-4
-3
0
0
46
0
0
0
0
0
0
38
0
0
-2
-3
13
0
3
0
0
0
0
0
0
27
-2
0
0
0
0
0
-3
2
-2
1
0
0
0
-4
0
1
-8
0
0
0
0
0
40
23
2
0
0
-5
0
0
-2
0
0
0
5
0
3
0
0
0
0
6
0
0
4
0
0
0
16
0
13
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-59
-9
0
76
-66
-10
25
-6
4
0
41
0
-18
117
26
-8
0
58
35
44
56
1
-2
8
-41
0
84
-11
-21
0
0
-44
67
-5
-46
3
0
0
-21
0
-65
0
-27
0
0
0
-30
25
0
0
49
0
0
3
113
0
0
-8
84
0
0
0
-26
-40
0
2
-32
0
0
67
17
-1
-56
-23
-14
0
40
-3
8
-6
30
-6
24
59
-12
0
1
23
30
4
41
-22
0
0
21
0
-12
7
53
0
-49
6
-89
-8
-6
18
-3
3
-2
0
21
0
16
-38
3
3
-41
17
0
0
6
3
0
0
0
-60
-22
-7
35
-28
123
0
-46
36
0
-5
7
0
-3
15
-33
0
-2
-27
-14
3
47
-15
1
-8
37
19
-2
-31
-5
0
0
12
-9
3
29
0
0
-5
-13
-5
-32
0
18
6
-16
-31
27
17
0
15
-17
0
0
0
-1
-4
0
-41
0
-1
-8
2
1
3
7
1
15
-3
0
-17
8
0
4
36
7
0
6
-17
0
-5
29
8
5
7
-20
0
22
-61
23
1
-4
-38
0
35
72
-2
3
0
48
-3
-2
41
3
-17
0
21
0
21
0
0
-2
0
3
-22
-49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-49
0
6
5
-58
-8
-5
47
0
-6
14
1
-66
31
115
-18
3
-9
-7
3
0
-45
0
-1
42
0
-76
-57
-49
4
12
12
-62
1
-81
-8
0
0
-46
2
-19
0
-4
0
0
0
-55
24
0
-1
-45
0
0
-1
-12
6
-48
0
38
69
7
0
6
-2
0
4
-6
1
-1
29
-14
0
-29
-36
-56
0
-45
3
25
23
17
1
-15
58
-35
-6
-3
-35
12
-3
2
-8
0
4
-5
-8
-5
0
-15
0
-34
-31
-80
13
0
-30
0
3
-2
-2
-67
0
23
49
0
0
-12
0
0
-83
0
-1
14
0
4
32
31
24
17
-33
38
-5
-79
10
8
-1
64
-1
-22
-85
-1
0
-25
-10
-39
25
-37
-6
0
1
-51
24
27
1
11
1
2
-29
65
1
41
10
0
-4
-72
-3
7
4
13
0
21
-39
16
44
0
8
-27
-1
0
-1
-10
8
71
7
6
0
-8
2
-1
-7
-4
31
19
0
0
16
-17
0
-5
19
-7
-5
26
34
0
-79
7
-6
-8
-9
-26
2
-12
-41
24
-7
-49
49
0
2
-43
-8
-8
0
-15
0
7
17
-9
-10
-2
10
8
-10
4
1
-5
0
4
-24
-3
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
4
0
55
0
0
0
-25
0
-2
-13
0
0
0
16
-1
0
-29
0
0
0
0
0
-1
-1
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
6
0
0
0
0
0
-9
1
-2
0
0
0
0
-59
0
0
0
0
0
-1
-14
0
-40
-22
0
0
-43
-6
0
0
-1
0
0
-1
-52
0
0
-1
0
0
0
17
0
0
-1
0
13
0
-2
0
24
0
-1
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-1
0
3
0
-7
0
0
-2
0
0
0
-29
0
0
5
0
-8
0
-1
0
0
0
0
-7
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-17
1
0
20
8
0
2
18
0
0
-2
0
0
70
-5
0
0
76
5
-1
76
0
0
0
0
0
39
1
8
0
0
-29
7
20
0
0
0
0
-1
0
55
0
0
0
0
0
0
-31
0
0
17
0
0
0
-7
0
-24
0
-8
0
0
0
-1
-78
0
0
0
0
0
-70
-7
0
55
-15
1
0
59
-12
0
0
-66
0
0
10
-33
0
0
86
-15
1
9
19
0
2
10
0
5
0
-63
0
41
13
7
0
0
11
0
0
0
0
30
0
58
1
5
0
-2
0
0
65
9
0
0
0
0
0
-166
0
0
-1
-5
0
6
49
0
0
0
0
0
16
-19
0
0
-21
8
0
-31
17
0
0
39
0
0
6
14
0
-4
0
-9
8
0
-53
0
0
-12
0
-5
0
-64
0
0
0
-23
-51
0
17
0
0
0
0
0
0
-14
-8
0
0
0
0
0
-7
0
-1
0
0
0
0
-36
0
0
0
-1
0
0
-55
0
-7
-1
0
0
1
-51
0
0
-14
-17
0
0
0
0
-8
6
0
0
0
73
0
0
0
3
3
0
-27
0
-33
0
0
-8
0
12
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
0
-10
0
0
-42
0
0
0
23
0
0
8
1
0
0
-5
0
3
-71
0
0
0
-1
0
0
7
1
0
0
-6
0
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
1
0
0
0
0
0
-90
0
0
0
0
0
0
-78
0
0
0
0
0
-2
-32
0
-27
-57
0
0
5
45
0
0
-2
0
0
5
-99
0
0
-3
0
0
3
-16
0
0
-1
0
0
5
22
0
-97
0
0
0
0
57
0
0
0
0
6
0
17
-4
0
0
0
0
0
-76
0
0
0
0
0
0
-18
0
0
0
13
0
0
-146
0
0
-2
0
0
0
104
0
0
5
0
0
0
-36
0
0
-40
0
0
0
43
0
0
-5
0
0
0
-24
0
0
-1
0
0
0
-29
0
0
0
0
-2
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-48
0
0
0
0
0
0
20
0
0
4
0
0
0
-31
0
-1
0
0
0
0
10
0
0
0
0
0
0
-49
0
3
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
32
0
0
36
29
0
2
0
-1
0
-9
12
0
0
1
0
0
0
0
0
0
-2
0
0
-1
1
0
0
0
0
0
0
0
0
0
8
0
-10
0
0
0
0
0
0
0
0
-58
4
0
0
0
0
-1
32
0
0
32
0
0
2
-37
0
39
-24
-1
0
-47
-74
0
0
-5
0
0
3
17
0
0
13
0
0
10
-25
0
0
-30
0
0
0
32
0
32
0
12
0
0
10
0
0
0
0
0
0
-3
1
-2
0
0
0
0
-3
13
0
0
0
0
5
27
0
0
21
3
0
2
71
0
0
51
0
0
-5
-34
0
8
53
0
0
-1
31
0
2
32
0
0
3
17
0
0
32
-2
0
0
53
0
0
-1
0
0
0
-25
0
0
0
-8
0
0
-29
0
0
0
0
0
0
-61
-2
0
0
0
0
0
60
0
-8
-3
0
0
0
47
0
0
1
0
0
0
56
0
-10
2
0
0
0
-9
0
0
1
-7
0
0
52
0
-2
-52
5
0
0
31
0
0
0
6
0
0
22
0
-1
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
20
-8
-3
24
-4
10
6
32
84
-15
17
-22
38
-3
42
0
3
8
-3
-6
55
7
0
0
10
11
-51
-38
73
0
-2
10
-12
-44
1
68
-3
0
13
34
-1
0
-2
-21
0
0
-2
48
0
10
6
-23
7
21
0
-12
-5
-3
1
-11
14
0
-23
25
-1
62
-53
-26
-7
1
6
1
3
68
12
12
-8
35
2
-36
-33
-29
-4
-55
-35
8
6
-72
-5
-63
9
-20
0
-4
-49
13
15
0
-20
-23
-1
-2
3
-24
0
5
9
-47
0
25
36
0
-23
80
29
-7
40
0
-1
41
-4
-3
-53
-10
0
7
15
6
-5
12
8
-13
-9
9
45
58
-12
-29
-45
85
40
-4
21
-58
-27
80
-16
12
0
-27
16
-42
73
25
29
6
46
7
-5
-21
-3
-56
0
-6
4
2
9
0
-18
30
38
0
-1
48
7
-44
5
-1
-2
-31
0
-4
-62
-6
54
122
0
0
-1
-46
1
-7
-21
-24
-5
-29
8
1
12
-8
-10
-40
17
35
-3
-12
-14
-43
6
32
-7
-8
-18
-11
-6
-38
4
5
-2
21
-74
2
63
0
33
0
88
-7
0
93
0
22
12
23
16
-8
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
3
-5
22
-10
36
93
52
9
3
91
73
91
5
21
-2
0
37
-1
-7
-29
-6
0
0
1
-23
-3
-68
-6
1
0
8
0
34
-1
-15
0
0
-6
-24
-23
0
-6
37
0
0
0
61
0
32
-15
54
-6
6
0
-17
0
2
-1
46
-1
0
27
-40
-5
-38
-23
28
0
32
18
2
1
29
-6
1
70
-22
10
0
33
-4
22
25
47
-7
3
-13
14
-64
-14
-18
-1
-6
23
1
-30
0
-47
1
0
-6
4
48
3
1
113
14
0
-147
-12
-1
-7
11
-3
5
0
0
48
0
0
23
-23
-30
-4
-42
-11
-6
10
-39
-3
6
39
17
-7
50
4
-43
-4
49
-22
-8
-6
52
18
-42
20
1
0
72
50
49
34
0
-17
0
1
7
3
0
5
-40
0
2
0
47
-19
0
0
-28
-2
0
1
-10
0
23
-22
0
-1
1
0
17
0
0
-22
-25
16
0
2
0
1
-27
-78
59
0
-20
44
6
-6
-17
0
0
-33
4
5
81
-13
-30
8
-9
-43
0
54
1
-1
27
-13
-58
-1
2
-52
-6
42
0
-12
0
-1
0
0
-65
0
-26
25
-8
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
0
0
0
23
0
0
141
15
-8
0
60
-6
0
13
6
0
0
60
0
-8
50
-8
0
0
9
3
0
13
0
0
0
0
0
0
0
-2
0
0
0
-2
-11
0
0
0
0
0
0
-7
0
-12
-4
-3
0
0
0
0
-68
0
0
-32
0
0
-1
-117
0
-22
-45
0
0
-29
80
0
0
-30
0
0
-6
-20
0
0
92
-2
0
36
-11
0
0
116
0
0
-1
53
0
-26
0
-4
0
0
-34
0
0
0
0
0
0
-22
-4
0
0
8
0
0
13
-7
-3
0
0
0
0
-50
14
3
-4
0
2
-5
3
0
9
-7
0
-8
-4
3
0
0
24
0
0
-4
90
0
-14
-2
0
0
-8
65
0
0
-4
9
8
0
-59
2
0
1
0
-16
0
16
0
0
0
5
24
0
2
-1
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
-2
0
0
0
0
22
0
-6
0
0
0
2
48
0
0
2
0
0
5
-1
0
-6
0
0
0
0
-96
0
2
0
0
0
0
117
0
0
3
0
0
0
-71
0
17
0
0
0
0
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
59
0
0
-37
16
0
0
77
-7
-1
-49
0
0
0
19
0
-4
0
0
0
0
-3
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
16
-28
0
0
-7
0
0
0
-2
0
23
-6
0
-3
0
0
-5
42
0
0
5
0
0
4
-30
0
10
32
25
0
-11
34
0
0
0
0
0
-1
-7
0
0
-7
-3
0
-7
-14
0
0
-4
0
0
0
25
0
33
0
15
0
0
5
0
0
0
0
0
0
-35
-3
0
0
0
0
0
-54
-1
0
3
0
0
0
-12
0
0
-5
-1
0
4
-52
1
0
-5
0
0
0
-132
0
0
32
-2
0
8
-53
0
0
-28
0
0
1
87
0
0
-1
3
0
0
73
0
0
-3
0
0
0
33
0
0
0
-2
7
0
34
0
0
0
0
0
0
-13
-3
0
0
0
0
0
-18
0
-25
0
0
0
0
-13
0
0
0
0
0
0
-8
0
-3
9
0
0
-5
-13
0
0
-4
0
0
0
34
0
-3
7
0
0
0
41
0
0
0
0
0
0
74
0
-1
0
0
0
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
0
0
58
9
7
47
107
60
-4
74
35
37
0
77
-23
-15
57
17
-34
1
60
-2
1
35
1
-15
-26
10
0
5
43
-10
-5
-3
5
8
0
26
5
6
0
-8
19
-1
0
7
-16
-1
13
43
69
6
-5
0
-105
-28
0
4
-81
10
0
-88
-40
0
-10
21
1
-2
13
8
75
-3
57
-5
15
13
13
-5
17
44
71
-46
-25
13
-1
8
26
-2
-27
23
14
40
29
42
46
18
17
0
-21
9
1
21
16
0
-1
5
-3
-1
-18
16
-1
10
37
0
-5
35
-4
-20
56
-3
-55
10
-11
-45
-54
-5
0
46
-87
-29
-30
-47
25
-10
-36
-6
62
-16
11
20
-26
-8
18
-39
-55
2
-10
-11
17
4
19
45
-115
14
14
45
54
55
-61
-17
13
14
57
28
-2
62
0
9
-59
4
2
74
22
2
24
7
10
-2
-45
-5
19
18
-1
47
-50
16
28
-60
27
0
25
-12
36
17
26
7
-8
13
4
-18
45
-93
16
8
37
22
38
-68
-2
-22
1
7
-40
37
-31
32
-24
23
-66
-59
-24
-43
-8
11
18
-24
-14
15
-22
0
10
-12
7
-2
27
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
18
1
-15
-17
22
3
56
5
0
-48
-52
53
0
4
-27
0
3
-66
-2
0
0
-3
-3
13
-10
8
0
0
-19
0
25
-2
-133
0
0
-8
0
1
0
-3
-34
0
0
0
0
5
-2
46
-53
13
0
0
16
0
1
0
37
0
-4
-39
-18
0
-95
-96
0
0
20
-34
4
-6
25
17
28
-46
1
0
-1
5
0
-29
29
-16
0
-6
-1
0
-28
-39
-7
0
32
-6
0
21
-38
-18
0
-2
63
0
26
0
12
-52
-16
0
0
1
3
9
-42
0
32
0
0
-96
-37
55
4
-31
3
24
-49
11
0
5
8
1
15
51
-111
0
-3
0
-3
10
48
2
0
16
33
-5
3
34
19
0
64
35
40
53
-19
-18
2
47
-4
-9
7
-20
-3
0
8
26
0
-23
1
8
-1
0
0
0
39
0
49
119
0
-4
0
0
0
-96
0
64
-45
0
1
2
24
0
1
-44
13
6
79
15
-5
-49
55
0
-1
-65
-43
0
19
-32
12
15
53
-9
0
12
25
16
-7
17
22
2
-27
1
0
-3
-9
-34
0
24
66
0
71
0
-31
-75
-5
-25
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
5
2
0
8
-2
0
-12
8
48
0
24
16
0
41
15
0
0
-12
0
0
-93
34
1
0
-54
-9
0
-49
0
0
0
-6
1
0
9
-5
0
0
-23
38
-7
0
0
0
0
0
18
0
0
-35
52
-5
33
0
0
10
-11
0
0
-1
0
0
126
-58
0
39
42
-69
0
21
-2
0
0
20
0
0
65
24
25
0
41
24
0
-55
20
0
0
43
0
0
-9
16
-2
20
-5
6
0
4
-7
0
0
0
-27
0
3
17
5
3
0
-25
0
1
-26
-4
0
0
0
0
70
-20
2
0
33
-7
0
-16
-7
0
-13
75
0
0
93
1
0
8
21
-11
0
-20
2
12
0
28
-12
0
26
27
0
0
10
-14
0
4
-37
0
0
-15
-1
0
0
34
0
2
4
-19
0
1
-39
0
0
1
0
0
-2
-82
12
0
0
2
0
-1
-14
0
2
29
0
0
8
-5
1
-3
114
-5
0
5
-3
-2
-20
86
-1
0
13
-7
-4
-10
54
46
0
-29
57
3
29
-3
2
0
-23
18
0
-8
13
47
0
0
27
0
19
0
0
0
4
-19
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
-101
39
11
-4
1
1
3
29
-59
-27
-14
22
20
20
9
-20
-3
5
-1
-56
-13
64
-17
-27
-55
10
-47
-65
-34
16
-1
9
-2
12
-32
-31
0
-60
-29
6
-41
9
-27
5
-16
32
-49
16
20
-69
85
-2
-30
-14
-25
18
76
20
0
22
18
10
11
-6
-51
1
-20
68
-1
-5
8
18
-1
-3
26
-6
0
35
44
-8
-22
15
-12
2
107
5
-11
-2
-20
-8
-5
36
19
0
10
26
15
4
-13
30
-36
55
-5
-31
25
-28
-33
2
0
3
10
-11
-74
3
-14
5
28
49
4
72
81
14
-29
52
18
-1
-29
-4
-14
22
47
39
-6
-14
16
6
6
-5
-30
5
57
-1
3
-1
37
49
-4
47
63
4
-32
13
-38
-7
115
35
-5
6
23
52
0
-37
35
-2
-35
-9
-2
-20
-33
-46
-9
-16
-30
21
-3
14
-7
18
3
24
44
-29
-18
-22
19
33
-33
9
-10
1
0
16
28
16
-16
-24
-51
31
14
38
27
20
-5
2
31
18
-54
-21
7
-6
25
9
-16
-1
-10
43
-6
5
7
18
11
5
57
7
-8
2
13
59
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-130
0
3
115
28
2
-34
33
0
-5
13
3
26
-1
2
0
-5
85
1
20
15
-20
0
0
-4
0
16
0
-5
0
0
4
8
-7
0
0
19
0
0
0
-18
-1
-32
36
55
10
-8
0
-9
-18
0
0
47
0
9
-56
0
0
-77
16
-14
0
-43
40
1
3
-58
0
2
41
23
0
0
155
4
0
24
69
0
0
16
0
3
5
109
0
-87
0
-15
0
0
25
0
0
-6
0
4
1
-2
24
7
0
1
0
0
22
0
-1
-3
0
0
10
38
-14
1
38
5
0
-52
0
0
0
-15
0
0
73
17
1
6
-44
-15
1
-4
-40
0
5
39
0
0
-29
68
0
-1
2
47
1
0
-15
0
2
43
-3
-4
0
59
0
0
8
-8
32
0
-30
3
0
0
0
0
0
21
1
6
0
1
0
-7
12
0
13
22
0
0
0
0
-4
9
5
-16
0
1
-13
0
-2
-6
0
0
-1
30
0
18
11
-5
0
0
22
0
18
-17
-16
0
-1
-7
0
0
6
-4
3
0
-23
0
-30
-2
0
3
0
36
9
-2
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
12
0
5
0
0
-34
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-32
0
8
0
0
0
0
-10
0
0
6
0
0
6
2
0
3
-16
0
0
39
-24
0
0
7
0
0
-4
-10
0
0
-3
0
0
1
-26
0
0
0
0
0
0
-12
0
-9
0
1
0
0
58
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
0
8
0
0
0
31
0
0
-5
0
0
1
20
0
2
-2
0
0
0
15
0
8
-7
0
0
0
-26
0
0
0
3
0
0
-36
0
0
0
0
1
0
14
0
0
0
0
0
0
42
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
60
0
0
0
0
0
0
1
0
3
0
0
0
0
-1
0
0
5
2
0
0
87
0
7
0
0
0
0
-1
0
0
0
0
0
0
36
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-9
0
0
21
7
0
-13
0
0
0
-3
0
0
0
3
0
0
50
0
-6
1
0
0
0
0
0
0
4
-3
0
0
0
0
97
0
0
0
0
0
0
0
0
48
3
0
0
0
0
5
-107
1
0
-5
0
0
-4
-5
0
-3
45
-2
0
-25
12
0
0
4
0
0
0
-39
0
0
0
0
0
4
2
0
0
0
0
0
0
9
0
47
-1
1
0
0
-31
0
0
0
0
-2
0
-64
1
2
0
0
0
0
-26
0
0
0
0
0
3
-2
0
0
-6
0
0
1
-12
0
0
5
0
0
7
-41
0
0
-4
0
0
-2
6
0
-4
0
0
0
0
-7
0
0
1
0
0
0
-64
0
0
0
0
0
0
-28
0
0
8
0
0
0
56
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
-5
0
0
0
0
17
0
0
0
0
0
0
34
0
-2
0
8
0
0
-7
0
0
3
0
0
0
3
0
0
-5
0
0
0
11
0
0
0
0
0
0
-3
0
-25
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
31
35
-3
11
10
-27
40
-27
26
41
-8
-10
-54
-25
-20
3
-12
-12
6
-15
1
15
-6
-10
-31
-18
-20
7
-5
-4
-2
-42
-8
-80
13
-16
-12
-58
-33
-67
6
-54
-84
1
0
23
41
-8
6
-2
47
-18
-4
47
18
-64
-9
34
-16
-10
6
-8
-10
0
-1
15
35
53
-8
67
-2
26
-4
22
-1
-19
-57
-67
-3
50
-33
-55
-9
-30
0
-2
-9
7
-46
-13
2
2
16
100
44
-1
7
18
29
-2
4
-35
4
5
96
5
32
-18
-58
-74
-34
18
-87
23
-20
23
58
5
-29
9
13
-13
2
-22
-8
35
-32
-3
23
4
28
-13
11
32
2
-5
11
32
-9
-40
-34
12
-7
5
-22
-16
60
-1
-28
-68
4
-28
14
-29
-50
-4
-17
9
-1
-13
15
-27
32
-56
-25
22
5
-4
-8
-49
13
11
-44
-21
-10
46
5
-6
-60
33
9
-58
154
-87
34
-24
28
-7
12
-22
4
83
-36
-26
-38
12
0
42
-5
-3
-34
-7
-5
11
-18
63
19
-22
-15
10
73
-19
-7
30
20
-12
18
39
17
55
-22
-25
5
77
-15
-12
54
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
27
0
0
52
0
0
-10
0
0
0
17
0
-1
-2
-5
0
0
28
0
-12
3
-1
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
6
0
0
0
-6
0
-1
-7
-2
0
0
0
-32
72
0
0
12
0
0
26
43
0
-1
-24
0
0
-20
5
0
0
13
0
0
-32
6
0
0
5
0
0
25
-45
0
0
5
0
0
0
1
0
16
-2
-1
0
0
54
0
0
0
0
1
0
-17
4
-8
0
0
0
0
27
-8
0
0
0
0
10
-9
0
1
15
1
-1
9
-50
0
0
2
0
0
6
1
0
0
13
0
0
-6
10
0
0
-1
0
6
7
-57
0
0
4
0
0
-4
-41
0
0
5
0
0
0
-6
0
0
0
1
40
0
28
0
0
-5
0
0
0
-13
0
0
0
0
0
-7
0
0
-20
0
0
0
13
-39
0
0
5
0
0
0
-33
0
0
3
0
0
0
-15
0
0
-8
0
0
6
-21
0
-34
9
0
0
0
-9
0
0
9
0
0
0
59
0
13
30
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
47
-9
-13
41
9
0
-9
8
0
0
19
0
0
-31
0
0
-6
-12
0
6
76
0
0
0
-2
0
0
5
0
0
0
0
-16
0
0
0
-26
0
0
0
0
0
6
19
6
1
-8
0
-4
39
0
0
22
0
0
-53
-42
0
8
-19
-6
0
53
-57
1
0
-7
-7
0
-9
-13
0
0
-51
-10
0
-15
-43
0
0
-48
0
0
1
55
0
-1
-44
16
0
0
-11
0
0
-8
0
0
0
-21
95
58
0
0
0
0
0
5
0
2
2
0
4
31
0
7
-15
12
0
96
24
0
0
-1
2
0
-9
79
0
9
69
-13
0
-38
-24
0
7
63
-1
0
13
-15
0
8
25
116
-1
-38
-19
0
-8
49
0
0
0
-61
0
24
65
17
0
0
7
0
0
4
0
0
0
-7
-8
0
0
0
0
0
13
0
32
10
0
0
-6
79
0
0
86
-45
0
-4
8
0
72
-17
0
0
2
-10
0
-13
-1
23
0
0
-29
3
72
18
-7
0
3
-77
0
14
6
-32
0
0
28
0
-18
-2
2
0
2
38
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
51
102
16
92
-65
24
16
-11
5
-7
-34
-33
-69
62
-20
33
12
-11
-19
-4
35
-28
-3
34
0
-17
-1
-2
-9
-1
-5
-4
12
-21
114
3
24
-30
18
-7
-1
-23
0
-139
53
4
33
-64
-14
-54
40
-2
-8
-5
6
6
39
-28
23
65
-10
-23
46
-29
37
99
-16
-11
30
16
-27
-3
-2
27
84
53
-19
-13
28
-4
-12
-8
-48
-10
-20
-34
39
47
46
-4
0
-11
-2
2
1
-17
-22
10
6
79
18
60
-15
11
46
16
33
92
-6
18
-52
28
-15
0
18
-29
-59
30
-27
-28
-30
50
-4
6
35
-27
-18
11
29
10
85
65
29
-26
44
-27
9
-22
43
28
-8
28
-91
56
95
20
25
-46
42
70
56
-22
30
1
-5
32
-21
38
67
11
-13
-32
-30
12
-10
6
9
-16
11
13
65
33
62
-34
-72
-1
53
10
-2
18
45
51
-34
48
3
-32
32
42
49
-40
-8
-23
11
25
68
7
9
82
34
44
-43
19
-30
8
23
-7
64
23
19
49
11
48
32
66
-21
12
7
-27
69
1
42
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-49
-4
0
0
0
22
5
-13
0
14
4
-19
-32
32
32
0
0
11
0
-25
-2
-17
1
0
-1
33
-22
0
0
36
0
0
1
-48
-13
19
-1
58
0
-10
0
32
23
0
0
75
10
-7
88
-10
8
-47
21
49
0
-98
0
-2
0
-26
21
0
-38
-130
-14
3
-24
30
3
-43
5
0
0
25
0
0
96
45
0
8
-14
45
-1
-7
-72
0
0
-6
-8
-15
1
-9
44
17
0
-35
-15
-2
35
-10
-6
-3
4
0
-9
10
38
-29
-18
42
0
27
5
0
-29
64
-4
16
-3
0
3
8
33
-79
1
-5
-35
0
-5
-4
4
14
56
20
0
-6
-46
-10
0
-97
6
0
72
-5
-2
88
1
7
16
-5
13
12
56
0
21
0
0
0
0
-21
0
9
-68
12
0
4
0
-15
17
-4
-33
-63
-1
0
5
-41
4
49
-105
26
-6
-15
0
20
3
65
0
0
13
-58
0
-10
-62
-4
-8
0
28
-2
22
-18
-9
8
3
9
5
8
86
-37
-15
-4
44
-2
43
-13
0
-1
2
25
8
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
51
0
-2
0
0
0
14
1
0
0
34
0
-22
-20
0
0
0
3
0
0
0
6
0
0
2
1
23
0
0
1
0
0
0
5
0
43
16
-9
0
0
0
-27
-7
0
0
13
0
0
17
-22
-3
-17
-27
-14
0
-50
-12
-8
0
70
-8
0
99
-59
0
0
-8
0
0
-27
-10
0
-2
7
0
0
0
15
0
58
-2
0
0
0
-19
0
0
0
0
-1
0
-5
-8
0
0
0
0
4
103
0
0
0
0
0
-5
-32
0
0
-5
0
3
9
-38
0
-13
109
3
0
0
38
2
7
-27
-8
-8
3
45
0
0
2
0
0
8
36
0
-5
8
0
7
0
-34
0
0
1
0
-2
0
-33
0
-13
-3
5
14
0
33
0
-1
0
-1
0
0
-11
24
0
-2
7
0
0
-45
0
12
-8
0
0
0
63
0
-1
0
0
-3
3
28
0
-1
2
0
0
-6
21
0
-2
2
0
0
1
-32
0
-6
-1
2
6
0
-63
0
0
0
0
3
0
-13
0
-6
0
-5
5
0
13
-2
-5
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
51
0
0
-27
0
-1
-7
0
0
0
3
0
-3
-9
-6
0
0
1
0
5
0
2
0
0
0
0
-43
0
0
8
0
0
0
68
0
-44
-1
0
1
0
0
11
-9
0
0
24
0
0
-42
43
0
-74
-50
-5
0
-102
20
0
0
72
0
0
9
21
0
0
-18
-5
0
0
5
0
0
-8
0
-9
4
-51
0
31
-17
-8
0
-4
31
0
0
0
0
-9
0
-46
-15
0
0
-1
-5
0
61
-10
0
0
0
0
-4
-14
0
0
43
-1
-1
29
-20
0
0
6
0
0
-2
66
0
6
-2
-1
0
-14
-3
0
-1
-59
0
0
45
-35
0
0
-4
-18
0
4
-15
0
0
0
0
29
0
-16
0
0
1
3
-8
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
-3
-3
0
0
-4
38
1
0
-1
0
0
0
19
2
-8
-6
0
0
0
-4
0
8
-6
-3
0
0
48
0
0
4
-14
0
0
-41
0
0
-1
2
2
0
128
0
14
0
0
1
0
-36
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
26
29
-16
30
22
30
-9
-41
14
10
-7
-30
12
6
-12
-5
72
4
-14
-5
-51
-44
-3
1
-84
-32
-14
4
-28
-7
-2
-8
112
-11
77
26
-34
-38
10
-8
-9
44
31
15
-23
30
41
33
20
8
0
-7
3
-17
34
5
3
7
48
11
-12
45
33
-10
-21
-49
7
24
-1
4
-24
-5
-6
6
-46
19
-13
-2
-35
24
-3
-15
-22
31
-12
-1
-59
-37
76
2
12
-18
-43
8
-1
-15
51
22
24
55
-20
9
25
-22
30
20
44
-72
-20
23
65
12
5
-26
-50
-31
79
-3
-15
-11
-57
48
-8
-5
59
10
-24
39
10
-19
23
31
54
-22
-34
37
-29
-4
11
0
-9
3
-32
2
-22
38
92
-17
42
-29
26
-1
-4
57
-11
-47
20
-49
-10
-10
-3
-6
-4
8
-9
4
7
-13
6
-42
-31
-8
2
-85
42
-13
33
-24
4
28
4
-14
-2
24
16
-7
-3
-58
-12
-37
-9
51
20
-10
51
49
15
10
31
-15
0
51
69
9
21
-4
85
-35
39
11
-3
4
21
20
25
-22
-22
-3
19
-71
0
-4
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
16
-2
-6
18
-1
14
-56
-110
-1
-2
-4
0
-1
-37
19
-2
-3
-42
-1
17
-6
-61
-4
0
-43
0
8
0
14
-21
0
0
0
-10
8
11
-34
41
-22
7
0
45
0
15
-3
37
-1
0
-31
54
-4
27
1
0
-5
4
14
-3
-4
13
5
-2
-17
-38
-2
14
0
-4
48
18
6
0
-1
23
0
12
-3
19
2
22
2
-2
4
19
7
-12
1
70
-1
-21
0
-7
-8
12
0
-1
-4
1
-7
30
10
-9
0
6
-49
-9
-6
7
15
-1
18
-6
8
-6
66
29
0
1
10
12
-3
7
12
1
-37
-38
-1
-10
9
-10
3
18
-2
-19
25
48
11
-9
-35
20
-3
6
-21
42
0
4
3
8
18
-24
52
0
-11
-6
4
-19
46
-6
-7
-25
14
9
-28
-5
-21
0
-6
-102
-17
-3
-47
37
0
-25
-51
12
2
-12
-8
-2
0
34
-35
-8
23
17
0
23
-35
27
0
-58
-66
19
6
47
29
15
-11
-17
1
-47
16
26
-6
-124
29
4
54
24
-23
-3
20
28
0
-20
-2
-4
-16
29
39
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
34
0
-4
22
-3
0
-1
6
0
0
49
2
0
-5
-20
0
-4
-40
-2
0
-3
-16
0
0
-5
-30
-1
0
-8
-61
0
0
11
0
-5
-6
-49
-39
66
-4
0
50
13
0
0
49
0
0
11
-40
-23
-12
7
-27
0
-46
-14
-4
0
-48
-7
2
73
34
0
-2
-9
9
8
10
-16
5
0
24
-7
0
26
22
0
34
18
18
0
-1
-5
1
16
-8
-2
0
-2
20
-65
-49
0
20
0
0
-11
66
0
-2
1
0
17
47
39
41
4
18
-1
-72
19
2
-30
7
0
0
-8
10
0
-13
-16
-51
0
27
-38
-5
-49
41
10
-12
-2
4
1
38
-42
-11
0
57
-28
0
12
1
0
0
3
-62
0
57
-18
-112
0
0
-6
10
-13
0
-1
0
0
8
45
-10
19
-5
0
29
6
-1
13
-47
0
0
13
14
-8
-4
74
41
0
-9
33
16
7
-14
2
0
66
-16
0
22
-50
-5
0
8
20
2
91
4
-10
0
-40
-18
7
-4
2
56
0
16
-17
0
28
3
0
0
3
-9
-18
3
-1
-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
0
0
0
0
0
0
7
9
-23
-13
0
9
3
-32
-17
48
-2
-14
9
-7
27
22
45
-9
-28
-23
-3
0
-10
-8
-6
-10
-30
16
-18
2
-16
11
-38
32
0
-8
8
-7
-42
-3
-31
14
-58
19
-4
3
-3
-38
-34
-58
-6
44
-23
11
14
-13
17
15
29
101
3
-6
10
-64
-13
-71
-28
-22
90
26
-33
-14
5
1
-1
-5
31
180
-15
-59
-42
9
24
-16
0
-1
-56
-22
0
0
47
-18
4
21
49
16
-40
46
-12
3
-44
41
-26
4
-28
-56
8
-16
-14
6
-46
10
-62
15
50
58
-16
-13
20
-105
-2
-11
46
25
1
46
-30
-4
-47
-21
-9
5
50
-13
-10
52
15
20
10
11
-41
-9
-8
1
-24
14
-5
-1
3
14
-23
34
-32
43
-8
-12
-5
1
-39
22
-4
-21
12
47
-35
51
4
-33
-94
-5
107
11
23
-38
13
-31
-13
26
6
-6
11
8
18
-6
50
-33
-18
0
-77
-75
-2
4
-21
15
12
16
4
-11
31
-8
-7
7
-9
8
8
10
3
-6
57
-5
3
-9
48
61
-34
17
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-28
0
0
-84
-5
-51
-66
-3
0
0
-54
0
5
0
-14
0
0
-16
-2
-46
0
0
-29
0
0
3
-63
0
-9
14
-20
0
-5
0
28
13
0
-2
-92
0
0
20
40
5
75
1
-27
0
-54
30
-21
2
16
1
0
-20
0
14
21
9
-30
0
1
-2
0
-15
-39
-1
6
-54
17
0
-25
66
-34
-6
15
-15
0
0
2
0
7
0
39
14
67
0
9
0
0
8
74
0
13
0
0
-3
63
26
-9
53
34
21
-7
-33
-2
-16
1
-6
13
26
61
1
31
-29
-5
0
-3
0
-4
3
33
17
25
29
-30
-4
23
-10
-25
-9
5
-28
0
-8
17
0
-33
0
21
0
-3
-30
10
-23
5
1
-3
0
1
14
6
0
-24
-1
0
-14
-6
0
0
17
-9
-6
31
-1
5
1
-31
0
29
42
-8
0
-6
-17
4
-32
-24
-2
0
-5
0
0
53
-58
21
-1
-21
26
0
-80
-4
1
-1
1
-25
-10
-6
25
18
10
-4
3
0
8
-3
0
28
0
53
13
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
6
-7
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
-108
0
0
0
0
0
-1
27
0
0
12
0
0
-4
-77
0
-52
53
10
0
-29
2
0
0
2
0
0
-4
-51
0
0
-3
9
0
0
8
0
0
-12
0
0
0
14
0
-9
0
-2
0
0
17
0
0
0
0
0
0
-22
-10
0
0
0
0
0
56
-2
0
0
0
0
0
-42
0
0
-8
0
0
0
-96
0
0
-29
0
0
5
-43
0
0
-3
0
0
0
-86
0
0
0
0
0
-6
-54
0
0
-2
0
0
0
-13
0
0
0
0
0
0
32
0
0
0
-1
3
0
-65
0
0
0
0
0
0
18
-2
0
0
0
0
0
-13
0
2
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
7
0
0
2
17
0
0
0
-4
0
0
-27
0
-3
5
0
0
0
-23
0
-2
8
0
0
0
-33
0
4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
6
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-2
0
-30
0
5
0
0
0
-10
-25
0
0
9
0
0
12
34
0
46
-48
17
0
-68
-17
0
-2
54
0
0
48
-13
0
-1
2
-1
0
1
-67
0
0
0
0
0
0
-3
0
-29
0
0
0
0
62
0
0
0
0
0
0
20
3
0
0
0
0
0
3
0
0
0
0
0
0
-55
0
0
2
-9
0
0
80
0
0
-3
0
0
-2
58
0
-8
17
5
2
-7
-19
0
0
-13
0
0
0
6
0
0
6
0
0
0
18
0
0
0
0
0
0
-29
0
0
0
14
0
0
5
0
0
0
-2
0
0
27
0
0
0
0
0
0
18
0
-2
0
0
0
0
-3
0
0
1
0
0
0
-7
0
2
-1
0
0
0
22
0
6
-6
0
0
4
40
0
4
0
0
0
0
-10
0
0
0
0
-3
3
-41
0
-1
-1
0
0
0
6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
23
-1
-16
-42
24
-60
-5
42
0
3
-3
5
-45
-10
-15
0
0
13
-12
-61
0
-2
-8
0
0
-2
-84
10
7
37
28
-5
-8
0
-16
-20
5
-4
-13
-12
9
-19
20
-3
-34
-6
-56
0
29
6
9
21
55
6
-15
16
18
86
46
56
-60
0
35
20
-13
80
31
-2
34
-24
54
-6
10
23
90
42
-12
-8
-4
-2
4
0
21
2
11
21
-18
0
-14
-30
0
-19
-30
-5
-5
1
5
-12
-21
15
32
37
-59
-90
-27
-37
33
-10
29
-5
23
13
-5
8
-41
9
-37
29
80
3
24
3
-32
-1
-9
1
-3
2
-52
-36
25
25
20
-18
-1
-27
94
0
19
-2
-9
1
-20
-17
43
10
0
15
6
-6
0
0
-62
0
4
-65
-1
-5
0
0
1
-17
17
27
9
-3
2
-28
53
-6
17
-15
23
-2
-3
16
-9
15
65
5
13
-69
-45
1
-19
-53
-64
2
-6
23
-4
35
-46
3
-18
39
-13
-1
-6
45
27
-45
-1
-15
0
37
20
0
7
0
26
0
-1
0
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
0
3
0
1
9
-3
0
0
8
0
0
0
-1
0
0
8
0
-20
0
0
-5
0
0
0
-3
0
-45
0
-2
0
0
0
0
-36
0
0
0
0
0
-9
32
0
37
-78
0
0
30
19
0
0
-7
0
0
9
-138
0
0
-5
0
0
-15
-3
0
0
-6
0
0
0
-74
0
-25
-8
0
0
0
21
0
0
-9
0
0
0
-9
12
-8
0
0
6
0
14
0
0
0
0
0
0
31
0
-1
0
5
5
8
-63
0
0
-1
0
0
-1
39
0
0
-17
0
0
2
-54
0
0
-46
0
0
-7
40
0
0
-3
0
33
0
2
0
0
-3
0
-25
0
18
0
0
0
0
-2
0
26
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
12
0
0
0
0
28
0
0
0
-7
0
0
-18
0
-3
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
-6
0
0
0
14
0
0
2
0
0
0
-20
0
-15
0
0
-5
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-7
0
3
44
-61
0
-55
-30
0
-2
-15
42
0
0
2
-2
0
-6
35
0
0
57
-94
0
0
16
0
-5
7
19
-27
19
4
0
43
-18
-2
9
35
0
0
-5
-20
-2
43
18
-9
0
-13
19
0
-2
-4
0
0
36
-37
2
-3
-24
-37
0
16
-1
-6
13
39
0
0
104
1
0
1
-4
-5
0
5
-19
4
9
41
12
0
0
1
47
8
0
63
0
0
5
-22
0
-2
-6
0
71
-6
-14
32
2
39
0
20
-1
2
-1
-67
-1
0
33
1
0
7
-8
16
0
29
-18
29
-8
39
22
0
7
7
1
-6
-2
3
0
-35
-3
2
83
41
-16
0
-7
-23
-1
8
71
48
0
0
-17
-18
10
0
-5
0
0
-33
-39
-10
32
16
0
0
-7
-1
-65
-3
0
0
-45
12
1
7
75
-55
0
156
21
7
33
1
2
0
-107
12
13
-8
8
50
0
-10
7
0
17
40
2
0
-5
-42
14
-4
-50
41
0
6
4
0
7
-18
-1
0
0
1
-110
-17
8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
50
-2
-1
-5
23
-30
0
-27
10
0
76
-76
-79
0
-1
1
0
0
-6
-10
1
-23
-1
-9
5
6
0
94
-34
13
0
-6
-22
-5
53
51
6
-8
38
-8
-1
37
-8
-8
29
-16
-13
23
53
-14
0
-12
-26
-45
1
22
-37
0
34
-34
0
5
1
-37
3
19
-87
-21
8
0
20
39
-2
54
18
-63
0
15
-31
-12
0
-53
1
0
11
41
1
23
14
0
12
-45
-21
7
16
-20
-5
25
21
7
9
-7
-5
-49
-18
16
-7
-40
5
-19
-22
-31
7
7
58
-1
-12
13
-12
0
-4
13
-84
-45
-25
0
17
1
21
24
0
8
0
-2
-5
-12
-22
16
-10
-3
6
50
0
-1
-5
-4
1
-3
-33
5
-3
12
0
0
25
-7
30
17
1
-16
-5
-49
5
-15
0
-5
-12
-13
16
-3
-24
2
18
-19
17
-20
4
-2
6
-66
-10
-24
-12
-3
-1
39
-8
40
0
-11
-8
6
-2
10
-17
3
24
-2
26
-2
-4
76
0
11
68
-18
-13
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
9
0
0
-5
0
4
3
-12
0
0
8
15
18
0
3
66
0
0
0
-28
0
44
-58
38
33
22
0
4
-9
-1
0
-19
0
2
-26
41
0
-23
-13
24
0
-18
13
0
-22
-7
0
0
124
-24
-3
0
-39
-19
34
45
0
-4
6
50
7
-12
-5
32
0
-53
-34
23
-1
0
31
0
-3
18
0
-10
0
14
-31
-5
0
5
2
0
15
0
0
-1
0
0
-3
-9
-21
19
-6
22
-1
-58
-6
1
-54
-7
-1
12
3
13
-3
68
21
-16
8
-31
-1
2
23
-26
5
47
-4
0
1
14
89
8
4
6
45
9
0
-23
0
-13
-2
30
0
0
58
-34
-49
0
-38
-3
0
-2
0
2
0
-43
109
-6
-1
0
0
0
-35
18
26
51
-5
-5
0
45
0
8
22
50
0
-5
-2
0
-27
15
-1
5
-1
-1
-1
-8
5
-12
0
24
0
0
-29
-86
17
0
5
-72
-8
0
-5
4
27
0
29
0
-94
-16
0
-55
0
-23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-21
0
-9
0
0
0
0
-78
0
0
0
0
0
0
-42
0
24
53
0
0
-20
7
0
0
29
0
0
0
6
0
0
-2
0
0
-4
12
0
0
2
0
0
0
43
0
8
0
-1
0
0
17
0
0
0
0
0
0
-8
8
0
0
0
0
0
29
0
0
0
0
0
0
-22
0
8
0
0
0
0
4
0
0
2
0
0
0
0
0
0
-1
-3
0
0
12
0
0
-2
0
0
-1
-13
0
0
-1
-3
0
0
-15
0
0
0
0
0
0
-6
0
0
0
-1
0
0
20
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
0
-8
0
-5
0
0
0
-2
-5
0
0
0
0
0
0
10
0
-13
0
0
0
0
-3
0
0
2
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
54
-3
-6
0
0
0
0
-61
0
0
-1
0
0
-19
-3
0
50
101
3
0
32
54
0
0
5
0
0
-16
45
0
0
-5
-6
0
-1
-30
0
0
-3
0
0
-6
-2
0
-3
0
7
0
0
8
0
0
-3
0
0
0
-81
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-35
-6
0
10
0
0
-1
36
0
0
-2
0
0
-6
64
0
0
-13
0
0
-1
-32
22
0
-23
0
4
0
-47
0
0
-2
0
0
0
42
0
0
-6
0
0
0
-40
0
9
-1
-1
-1
0
-1
0
0
0
0
0
0
-24
-8
0
0
0
0
0
-2
0
0
9
0
0
0
6
0
0
-1
-3
0
0
-58
0
0
24
0
0
0
-16
0
0
-4
0
0
7
-7
0
0
0
0
0
0
-40
0
0
0
0
0
0
-24
0
-2
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
92
-1
5
-1
-8
25
-64
54
-2
0
0
3
1
0
-4
-24
1
0
3
12
13
1
23
70
35
17
0
-14
-5
-2
0
20
0
-15
20
28
2
13
7
3
-7
-14
-16
4
24
-59
58
4
-64
-16
56
-4
-9
10
-20
15
-18
15
23
17
77
-13
-2
22
-3
9
9
63
-10
73
5
3
-2
0
7
-72
0
0
36
-28
0
4
-78
1
-18
-2
-1
-15
-3
-26
70
-3
-8
20
0
5
-48
15
1
9
23
-13
9
-32
-11
7
-23
44
19
-9
-42
34
7
-21
-27
18
41
-13
-22
0
-3
-20
-43
-2
11
30
-5
-21
8
28
4
-15
-14
-9
0
34
-2
-52
-10
0
8
-20
1
0
-14
-35
0
-2
-27
39
7
21
-15
80
-36
14
38
16
1
-11
26
-11
0
-21
-2
38
-3
-19
4
-40
-18
-24
-24
6
-15
-61
0
67
-48
-104
24
-73
14
2
-10
19
6
35
47
-9
10
4
-8
16
-14
18
2
2
-29
-6
-1
-34
6
-5
-58
-13
-2
40
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
0
0
-43
0
10
-15
-1
0
0
-2
0
-40
0
0
3
0
0
0
-48
0
-23
-49
-14
-7
8
0
-13
39
0
2
6
0
0
-36
11
0
44
2
0
0
36
15
-20
0
16
0
51
-31
-60
0
-5
-6
-1
-6
6
-69
0
0
28
0
16
3
-31
2
-8
-10
0
71
0
0
-4
0
-4
0
-11
0
12
-79
-8
0
0
2
0
-9
-34
-3
7
0
0
64
11
2
20
13
0
15
29
-18
0
-9
-12
0
-18
-44
-13
0
32
-16
16
0
22
4
0
-2
-6
4
44
-13
14
0
1
-48
0
21
-13
-28
0
-2
-7
0
-18
-3
-43
0
7
-19
0
-3
0
5
17
2
0
0
44
0
-5
1
3
0
0
0
0
24
1
-41
-2
0
0
0
41
0
1
41
-10
0
21
56
-3
-53
16
0
0
0
7
0
-1
-2
0
5
-5
0
0
99
94
0
0
0
38
0
0
31
0
6
0
-19
12
-10
-21
0
25
0
3
24
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
65
0
-8
4
-17
0
-2
23
1
-1
-5
20
-2
0
1
-6
0
0
-30
0
0
1
5
21
-4
93
0
21
6
0
0
13
0
0
41
-7
4
26
25
7
0
4
7
0
-15
-3
-8
0
3
10
0
4
41
-1
0
35
-77
-16
-3
2
4
0
-14
-28
14
-37
37
17
0
43
-11
14
-3
-24
4
0
0
10
36
-28
0
6
0
-3
0
-98
-2
17
0
0
5
14
-4
2
2
-4
0
-39
17
0
-14
23
-6
0
-10
16
4
-21
7
0
0
-11
-15
21
-6
19
8
0
39
2
0
-26
16
18
0
-24
4
-1
25
17
-13
0
-10
-3
0
-45
24
44
0
0
-4
26
-16
-3
12
0
-1
-17
-70
0
-8
-7
0
5
-6
-4
17
-46
2
0
71
21
0
15
0
8
0
-99
-3
-8
52
-13
-2
0
-4
21
2
0
116
13
0
49
-4
-2
-13
40
0
0
11
-14
-10
16
-5
-6
0
-5
-6
0
-21
34
-3
0
0
-3
-1
-3
65
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
8
0
32
-13
11
0
-14
-53
0
0
14
31
1
-5
4
-2
8
14
0
-25
-30
-4
0
-33
8
25
-22
14
0
16
12
4
-1
-9
21
-1
4
42
4
0
3
1
0
8
22
1
35
5
-34
-8
18
32
47
13
3
0
1
-4
7
-2
68
14
-5
0
0
43
-15
-8
0
-12
18
-72
-3
-20
-7
0
-5
29
0
3
0
-88
-3
-55
-37
-1
23
-19
12
-45
-8
-4
44
17
-14
6
-21
18
-29
-33
24
-1
9
-12
11
2
-6
43
-28
32
-1
-1
-3
-45
-2
-17
34
2
-28
0
-7
33
-7
-38
0
-5
-7
0
16
19
-24
0
-13
-43
0
0
15
-10
0
12
24
0
-13
-12
0
25
-48
4
-74
-11
7
8
0
9
0
-6
-32
38
22
-15
24
-5
-20
56
-8
10
3
6
0
31
56
-15
22
-17
-1
1
-33
64
30
-30
4
9
7
0
-44
-42
-5
0
-27
0
12
-31
14
-114
0
-21
-5
-6
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
0
0
7
-6
-1
0
1
13
0
0
4
-4
0
17
-19
-14
-5
10
0
78
-1
0
0
62
0
0
-44
31
0
-42
-24
31
0
-40
-14
0
0
13
9
0
-53
20
-7
3
15
-78
-25
-4
-42
0
0
17
-10
-11
72
0
0
46
12
21
-6
-2
-84
0
0
-3
0
11
0
38
-34
6
0
-13
-4
0
-22
72
0
-8
0
0
-12
-8
138
-5
-6
-11
0
-6
-19
1
0
-44
0
8
15
-16
0
9
-7
-16
10
21
44
5
3
-69
-1
-25
-43
20
3
8
-83
51
50
4
0
0
0
97
1
35
-10
-9
0
0
21
-24
-47
0
3
-4
0
0
-2
6
0
58
1
-1
0
0
0
0
4
-1
-31
38
0
0
-2
4
0
14
31
-18
5
0
12
0
-69
-9
7
-9
0
44
0
0
67
30
20
24
-9
-2
-41
-24
17
-7
8
0
0
-5
-71
7
0
0
-32
0
-31
-12
1
5
0
20
6
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
0
0
0
0
0
-62
0
4
0
0
0
0
18
0
0
6
0
0
0
-3
0
40
20
0
0
-51
-43
0
0
34
0
0
0
24
0
0
31
14
0
0
9
0
0
21
0
0
0
0
0
-6
0
0
0
0
-3
0
0
0
0
0
0
72
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
18
0
0
-4
0
0
0
-15
0
0
12
0
0
0
29
0
0
0
0
0
0
-15
0
0
9
0
0
0
68
0
0
0
-2
0
0
21
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
-2
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
4
0
15
0
0
0
0
0
-1
-1
0
0
-9
0
0
-6
-9
0
-21
-47
1
0
21
-41
0
0
-19
0
4
-2
35
0
0
-8
0
-3
-1
-7
0
0
6
0
0
0
3
0
-5
0
0
0
0
30
0
0
0
0
0
0
-29
-2
0
0
0
0
0
18
0
0
0
0
0
0
-15
0
0
0
13
0
3
86
0
0
3
0
0
-2
-57
0
0
0
0
1
0
28
0
0
-5
0
0
0
-23
0
0
1
0
0
0
-33
0
0
0
0
0
0
-5
0
0
7
-1
-1
0
17
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
2
0
0
0
-14
1
0
0
0
0
0
59
0
6
0
0
0
0
-5
0
0
0
10
0
0
-18
0
-1
0
0
0
-1
-2
0
0
5
0
0
0
-4
0
0
0
0
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
17
-26
-18
0
0
-33
0
0
-4
46
0
-11
-11
-22
-2
0
0
75
-5
0
0
40
-7
-1
45
1
0
-24
17
-69
0
-33
2
-2
0
-10
0
4
66
-7
-10
9
6
-11
-2
-88
-29
0
-3
-6
48
-10
-38
-3
0
-2
-19
-22
-7
-17
20
0
0
0
7
-31
6
12
54
-7
0
11
-8
0
2
-38
0
0
2
0
29
-5
5
11
-31
-42
29
-1
0
0
-21
58
-8
7
25
22
-15
-4
38
26
-20
-59
-22
26
14
-28
20
-9
40
21
-8
0
0
22
-22
-4
-15
-5
-2
4
0
-51
0
-26
0
9
0
-66
-44
0
0
3
-5
0
-6
10
0
-17
-8
0
0
1
0
0
-19
-7
-13
12
0
-24
-4
-52
-5
-6
-16
-40
-15
-3
2
0
28
-8
0
-13
-7
17
0
-40
27
-21
29
-5
-28
0
-35
3
2
15
16
7
-5
-6
-14
40
-1
0
20
0
53
0
-1
14
0
-24
-11
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
2
0
0
0
-8
0
55
0
0
0
0
0
-2
-69
0
0
-4
0
0
-2
-36
0
-31
31
0
0
40
47
0
0
-10
0
0
-44
-16
0
0
-17
0
0
7
-16
0
0
-48
0
0
0
-28
0
-26
-40
0
0
0
22
0
0
0
0
-2
0
3
2
2
0
0
-2
0
39
0
0
0
0
0
0
-58
0
0
5
0
0
0
-1
0
0
6
0
0
0
53
0
0
8
0
0
3
-9
0
0
-13
0
0
0
58
0
0
12
3
-7
0
-54
0
0
0
0
-3
0
18
0
0
0
0
0
0
-44
0
0
0
0
-3
0
7
0
0
0
0
0
0
37
0
0
-1
0
0
0
-9
0
4
-7
0
0
0
-23
0
0
-3
0
0
0
31
0
0
-2
3
0
0
13
0
-1
0
0
0
0
-12
0
0
0
0
0
0
-51
0
1
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
55
3
-3
-9
25
0
0
-21
-12
0
0
0
0
3
-13
-65
-39
-64
-28
0
-8
2
1
0
-5
0
0
16
-8
0
2
16
40
0
8
7
-4
2
28
1
0
56
-28
0
-5
23
5
0
8
0
0
41
38
4
0
40
-16
-9
-4
34
30
0
-19
5
2
6
-78
-1
0
0
-9
-3
24
0
21
0
2
-5
1
0
-8
1
0
6
26
-9
-26
-21
-1
0
2
14
3
29
-21
-15
0
16
8
-9
-5
-1
-16
0
35
12
0
63
22
40
0
-53
9
-18
-6
11
-10
0
53
-6
0
-22
74
4
0
28
-17
-2
-1
17
-34
0
13
-5
-12
6
-1
0
0
0
27
-36
-1
-2
-27
0
-2
2
1
-25
-4
8
0
44
11
1
-4
44
-42
0
-38
45
-1
-58
22
8
0
21
2
0
69
9
-55
0
-17
13
0
53
47
-13
0
28
-6
7
5
46
19
0
0
-16
0
23
-9
0
0
0
1
33
-27
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
6
0
-1
0
-1
0
0
0
0
-89
0
0
-7
0
0
-1
21
0
-72
-23
5
0
44
30
0
-4
34
0
0
-4
43
0
-4
-1
0
0
-2
32
0
0
25
0
0
0
25
0
-63
3
-6
0
-2
17
0
0
0
0
0
0
-21
-12
0
0
-8
0
0
-12
0
0
0
0
0
0
-1
1
0
1
0
9
0
17
0
-6
-10
0
2
0
19
0
8
30
-2
0
0
-61
0
0
21
0
-4
0
-54
-1
3
19
-5
0
0
59
0
0
0
0
9
0
73
0
3
0
0
-5
0
41
0
0
0
2
0
0
-14
3
0
0
0
0
0
-27
0
-2
0
0
0
0
-35
0
0
0
0
5
0
-10
0
5
1
0
0
0
6
0
0
0
0
0
0
-12
0
10
0
0
0
0
10
0
0
0
1
0
0
19
0
-23
0
0
0
0
-70
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-4
0
39
6
4
0
18
0
-16
-9
0
0
-54
0
0
38
55
0
-6
-17
-59
0
11
-22
-4
-9
-13
-2
6
-32
3
0
-1
32
32
0
29
35
1
0
34
3
-10
40
41
-8
-21
31
6
-5
13
0
2
0
-5
51
-6
0
41
0
-5
0
8
0
0
28
5
0
0
0
5
-4
-28
-14
25
-59
-16
7
52
-15
0
-2
29
0
-19
-21
-70
-4
13
48
-82
21
-40
-25
-2
-1
34
0
-25
4
7
-3
11
-7
17
1
2
19
0
0
-24
17
-18
0
0
7
0
5
22
-69
0
-11
0
0
0
-6
12
0
-41
-13
1
0
0
0
0
-18
2
-10
16
0
0
0
-31
0
4
-13
-5
-3
-1
-26
6
-65
-64
0
0
-9
7
0
-15
-19
23
1
0
-21
0
38
2
1
18
0
17
0
-1
-2
-11
-2
0
0
0
-77
-2
0
3
0
-45
29
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
-49
0
0
0
0
0
2
-15
0
6
102
0
0
-49
-12
0
0
5
0
0
0
-36
0
0
0
2
0
-3
27
0
0
-9
0
0
0
29
0
-24
7
0
0
0
-1
0
0
0
0
5
0
22
0
-5
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-5
0
0
-78
0
0
0
0
0
0
73
0
0
9
0
0
0
-48
0
0
-15
0
0
0
16
0
0
-3
0
0
0
-61
0
0
3
0
0
0
-2
0
0
2
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
3
0
0
0
0
-3
0
0
0
0
0
0
-10
0
-3
0
0
0
0
-3
0
0
0
0
0
0
1
0
9
0
0
-4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
0
6
0
0
0
0
0
-1
-2
0
9
-16
0
0
-4
-9
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
-2
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-7
0
0
-3
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
-1
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-1
0
-58
6
-4
0
0
0
-48
10
-7
0
51
-2
9
7
0
0
19
34
5
0
-54
-38
0
0
-7
-1
-5
50
19
0
0
0
8
1
15
16
0
0
8
12
0
-4
2
0
-46
25
-21
0
-1
11
0
0
0
-8
-2
0
5
-4
9
0
-55
0
0
-67
0
0
0
0
-2
0
-6
0
-2
-4
-3
-21
-4
-29
0
-1
21
0
-10
17
-25
0
7
-26
-7
5
-41
-27
0
0
-20
17
-26
8
-40
0
0
-2
-8
51
0
-11
0
1
0
4
-17
0
-17
0
0
0
-7
-40
0
-31
5
0
0
6
0
0
-26
1
0
0
0
1
0
50
0
-8
1
1
1
0
-22
0
0
9
0
0
0
-8
0
-13
0
2
0
0
-41
0
8
1
-8
-12
0
-7
0
-32
0
17
0
0
30
0
-6
0
2
5
0
9
0
44
0
10
19
0
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-112
0
0
0
-30
0
30
19
45
10
0
0
94
0
3
0
5
0
-8
5
-1
0
-12
19
-1
0
12
-6
0
0
4
0
0
-44
-3
0
1
3
0
2
-21
7
0
0
6
1
50
37
-68
0
-22
-65
0
68
-34
-8
0
0
58
3
36
0
-4
-32
67
0
0
5
0
7
-43
2
-13
0
-10
-6
2
1
-8
-39
0
-18
67
33
0
-6
-8
0
10
105
9
0
3
-2
0
-21
14
3
5
-6
-16
0
-1
9
-46
0
-13
-29
0
-11
73
-3
0
0
-26
-4
13
2
-46
0
0
18
0
-34
0
14
6
0
-1
5
-13
0
9
-5
0
0
0
0
2
3
-3
5
-7
0
3
-3
-28
1
-8
2
0
-12
0
-34
0
-58
57
0
-3
13
-19
0
3
20
-3
-8
-28
21
0
-81
81
0
-10
-4
-2
0
0
-26
0
2
10
-7
0
30
-2
0
-79
0
27
20
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-106
-6
-8
-17
0
-55
3
-10
-35
-45
-22
0
3
3
-5
-16
2
-64
0
2
-2
-6
18
4
-2
0
9
-13
37
60
-9
7
0
38
8
68
-79
-2
-6
0
55
7
-2
21
13
8
-4
64
13
25
3
13
2
0
-12
11
-38
-40
-42
24
0
-2
-1
-30
-25
6
-17
0
-20
10
-19
-5
-51
-18
0
-36
9
-35
-44
6
-12
0
10
-3
17
43
-8
37
0
17
12
72
37
14
16
0
50
-3
12
111
30
17
-1
56
6
-1
65
25
16
0
31
3
-33
3
29
80
0
8
4
-6
-14
-4
6
0
-22
-6
-13
78
-12
51
0
-18
20
-18
-79
4
11
0
4
3
22
13
-3
3
0
37
-9
56
-72
12
-32
0
31
5
-2
40
-12
-23
0
0
27
-29
-48
19
9
0
86
5
39
69
54
16
0
66
-2
-45
34
3
35
-29
-12
3
-24
11
17
-52
0
0
26
18
46
26
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
-13
0
1
-24
0
0
-5
-6
0
0
0
0
3
0
-7
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-20
0
0
0
0
0
0
-27
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
12
15
0
0
4
0
0
25
-57
0
-57
-68
-10
0
49
25
0
0
126
0
0
-22
38
-1
0
15
8
0
-17
43
0
0
-14
0
0
5
17
0
-48
8
0
0
1
67
0
0
0
0
-1
0
0
0
25
0
0
-1
0
-7
0
2
0
0
0
0
9
0
0
56
-1
0
0
-7
0
0
16
0
0
0
-3
0
0
69
-5
7
-1
37
0
0
-33
0
0
-2
14
0
1
16
45
0
2
-12
0
8
0
0
-3
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
37
0
13
0
0
0
0
-39
0
0
1
0
0
0
-7
0
0
3
0
0
0
-5
0
-8
-5
-1
0
0
26
0
-3
-2
0
0
0
-14
0
0
0
0
8
0
-9
0
13
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-23
-24
30
5
0
-6
19
0
-8
-22
-2
2
-34
-4
-2
8
-2
-71
-12
1
31
8
70
-23
-4
15
-94
-11
0
15
-35
-69
-14
-18
-12
0
4
4
4
-19
-91
-41
0
5
8
-34
48
17
-11
0
0
-1
-5
18
0
11
0
42
0
-24
-20
1
16
30
3
20
0
0
45
-14
63
2
-35
-75
51
-65
1
-3
-24
22
-2
27
-47
10
-2
-3
-31
-9
31
-97
-3
0
-2
3
60
40
2
-8
0
5
-58
-36
-39
7
-18
0
40
16
-6
-18
3
-13
-1
-7
33
-31
20
4
-13
0
1
0
21
-12
1
-8
-33
5
-1
-1
2
1
-12
31
-81
55
0
0
-30
4
0
1
55
-33
8
-19
27
1
35
-56
-1
-7
-21
-24
0
-22
-18
-29
-4
5
-28
0
3
-20
-4
-63
15
-24
0
-4
-66
13
-26
0
29
0
-28
-40
1
-81
0
13
0
-2
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
20
0
0
-12
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
1
-40
0
0
0
0
0
0
13
0
0
0
1
0
0
-24
0
0
0
0
0
0
-24
0
0
0
0
0
0
-20
0
0
0
0
0
0
-18
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
-6
-2
0
0
1
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-12
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
1
0
0
0
-6
0
0
5
0
0
0
-5
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
16
-17
0
0
16
0
0
-13
-67
0
-67
-16
0
0
-84
34
0
0
-34
0
0
29
-66
0
0
66
0
0
24
-8
0
0
-78
0
0
-5
-18
0
3
12
-6
-6
0
31
0
0
0
0
1
0
1
-2
-8
0
0
0
0
6
0
0
0
0
0
0
26
3
5
-4
0
-5
0
15
0
0
-24
0
0
-1
32
0
0
44
0
0
3
35
0
0
-44
0
7
0
2
0
0
7
0
0
0
-110
0
1
-1
0
0
0
-48
0
-3
-5
0
13
0
-15
0
0
0
0
6
0
-70
2
0
0
0
0
0
0
0
-2
0
0
0
0
-145
0
0
0
2
0
0
-13
1
19
30
0
7
0
-12
0
0
1
0
24
0
-71
0
-6
2
0
0
0
-28
0
0
0
0
0
0
-50
0
-2
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
18
47
30
-13
0
-3
3
14
3
39
0
0
15
-12
1
43
14
23
0
4
33
6
16
0
31
0
-15
-23
6
3
-35
13
0
31
-20
2
-10
18
4
0
40
-70
-1
-48
46
-30
0
-4
7
-19
-3
8
2
0
0
15
33
-30
0
-17
0
-5
1
33
0
47
0
0
37
41
-24
-2
-3
66
0
14
11
-10
23
15
16
0
34
-5
17
14
33
3
0
35
-12
5
-13
19
-14
0
9
-49
-2
68
-3
13
0
128
-16
0
-21
26
15
0
-3
9
23
-33
2
-21
0
0
39
106
-12
-1
-1
0
0
9
-10
-1
0
-5
0
-10
4
13
-35
42
-2
0
-90
22
1
-15
69
4
0
-52
-8
1
-42
-36
17
0
-6
-9
5
-14
81
37
0
-7
5
-5
23
9
9
0
-12
4
-1
-50
12
22
0
9
26
-2
16
25
0
0
2
-21
54
-30
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
1
0
0
-15
-7
0
-10
48
-3
0
66
-11
0
0
3
0
0
12
-2
0
0
2
-13
-3
-40
-5
0
0
34
0
2
0
1
0
34
0
-5
0
0
-39
0
0
0
0
0
0
-73
5
-3
0
0
0
0
107
6
0
0
0
0
0
-44
-7
0
0
0
0
1
-31
0
0
-6
0
0
-1
16
0
0
-4
5
0
0
8
0
0
70
0
9
0
-11
0
0
23
-17
0
0
31
0
0
0
0
1
0
45
0
9
0
0
-5
0
11
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
1
0
0
0
0
0
-30
0
0
20
0
0
0
-4
0
1
-7
0
0
0
11
0
0
0
6
0
4
74
0
-5
-20
0
0
0
20
0
2
0
0
0
0
-83
0
-1
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-17
6
-1
11
-27
42
3
-34
7
11
1
73
12
4
8
-3
30
72
38
-2
-4
73
-47
7
-13
9
-20
-1
-36
-8
-7
8
-39
8
-15
-24
8
8
-2
-2
-6
-15
-27
-10
-9
-11
-8
-2
4
-25
3
10
20
14
-43
0
-40
21
-78
-8
21
-20
-5
-23
-73
-15
-2
19
-5
-7
-86
61
22
16
-4
33
3
3
54
9
-25
10
-17
-16
9
-29
12
11
12
65
-5
41
-23
12
1
38
-39
-8
64
19
-3
22
22
-26
0
27
15
9
25
20
81
-20
28
59
12
15
-24
-28
0
-12
22
0
52
-23
-31
14
6
-46
-18
-38
9
46
-20
-61
23
-2
10
-34
12
3
9
-3
24
22
26
6
2
-16
-29
28
10
6
24
-10
4
18
2
69
29
90
1
52
-13
-6
37
-31
-36
6
6
22
34
4
27
28
2
9
13
57
25
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-4
8
0
-24
-28
0
39
58
-7
0
-50
-23
5
-4
-7
5
6
-17
4
6
-5
-52
23
10
49
16
0
1
19
0
5
-12
-31
0
-21
21
-58
-1
-1
4
21
-13
-4
2
47
3
44
-8
12
0
46
-1
0
-54
0
3
-2
-2
0
8
61
-2
-16
66
-12
2
6
3
-1
-5
49
-15
-2
40
14
6
9
-54
-60
0
55
-30
1
-1
-8
-4
-54
29
-11
0
4
-6
33
-6
-25
-29
-2
8
33
-5
-10
0
-15
0
-6
-57
-73
63
0
-18
8
-5
0
-1
-1
-12
57
5
2
-9
0
0
-5
11
-2
-6
35
0
8
3
-1
-5
11
-22
-10
0
-13
32
2
10
72
-6
-3
-38
-42
0
30
17
24
51
-13
-25
0
46
13
1
-7
-13
16
0
-19
47
-49
3
0
-2
0
19
-29
0
-41
0
5
65
2
-12
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
4
0
0
0
11
6
-32
-13
33
0
36
-129
3
0
22
-2
0
54
26
0
1
10
29
-3
-97
23
0
6
-4
2
-33
-10
-34
-8
-42
-75
8
2
0
-19
-3
0
-10
-7
65
0
25
-2
-10
0
-23
9
-5
-65
64
0
22
0
-2
-2
-24
-48
-5
49
-45
-1
-58
43
7
2
15
1
1
-35
-46
-8
7
112
20
0
71
-34
-8
28
-9
-4
0
-6
-27
2
5
35
-31
5
10
-29
5
-14
-61
0
-70
5
-31
2
-3
51
-10
-49
1
11
9
1
0
0
4
-14
14
124
6
-4
1
0
0
21
-6
-12
2
0
-7
-4
34
0
3
-23
31
4
8
-17
-6
34
-19
25
8
41
9
0
-15
-52
76
0
-12
-8
0
-29
-22
0
27
-1
13
0
1
-9
-53
-8
0
-26
0
-82
-5
4
-51
0
33
50
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-26
0
0
-18
0
0
53
42
14
-69
-51
-15
0
-20
21
0
0
42
0
0
6
7
2
0
28
15
-24
-40
-53
0
0
54
0
35
0
1
12
-7
-37
46
0
0
69
-2
0
0
0
5
0
40
6
-2
0
27
-3
0
-20
-23
4
1
0
0
1
46
-2
0
5
1
0
23
13
-2
1
-12
4
0
-26
70
2
19
32
-17
8
-19
13
0
-5
-35
0
8
4
41
0
-14
-72
-13
8
0
-14
0
2
22
-2
-8
6
41
-4
-3
0
14
30
0
55
0
0
0
1
0
0
-32
13
0
0
0
0
8
-25
1
8
0
0
0
0
28
0
0
-8
0
0
0
36
0
51
-3
0
0
0
-24
0
6
40
7
0
-2
-24
0
-18
32
0
-7
0
41
0
19
0
-35
0
0
37
0
61
-4
0
19
0
32
32
5
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
0
0
15
0
0
-26
-81
0
35
-43
-5
0
30
-34
0
0
48
0
0
-4
-106
0
0
-40
-2
0
5
-7
0
0
9
0
13
1
0
0
37
51
0
0
0
38
0
0
-5
0
6
0
17
16
-10
0
0
0
0
-39
0
0
0
0
0
3
-5
0
0
-9
0
6
-69
-23
0
0
149
0
-1
14
-106
0
0
-5
0
1
32
-59
0
-5
6
16
47
43
-15
0
-2
9
0
-10
-8
-81
0
1
16
0
18
0
-33
0
0
8
0
-14
0
2
0
0
0
0
-8
0
-7
-3
0
0
0
0
0
-25
0
31
-13
0
0
-1
-82
0
0
-24
0
0
-16
27
8
69
-26
0
0
-2
-4
0
0
7
0
0
-1
-44
0
-78
50
0
1
0
12
0
0
6
0
-1
0
-13
0
-8
-5
0
18
0
-15
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
2
-2
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
5
-2
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
-5
0
0
4
0
0
-9
0
0
0
5
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
1
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
17
-5
35
40
31
-1
30
86
5
-5
75
-8
-22
61
-23
-5
21
29
35
-58
15
27
0
0
-28
32
21
-52
21
0
35
-35
47
12
-4
-14
22
8
8
-7
44
0
-13
70
6
0
-78
1
-2
20
21
0
-3
-1
0
2
60
-15
1
31
29
0
79
9
3
33
-32
0
31
45
37
1
-44
-14
52
5
23
5
29
-30
50
4
-61
41
53
-7
63
34
50
29
88
19
-2
42
104
-4
47
-6
-3
30
-5
-16
-9
10
0
18
2
-32
0
29
-3
0
19
88
-5
-22
-15
0
7
38
2
-98
47
-1
0
39
-30
-13
-13
-30
42
24
57
11
-25
43
34
-2
21
-20
-44
0
77
48
41
-30
45
-40
-2
8
28
-13
-2
-8
-7
21
47
98
-4
39
0
-4
0
55
-32
0
-13
0
-22
-108
7
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-33
7
9
-12
-44
15
-5
57
-8
-4
40
16
2
6
4
48
2
14
3
-12
-4
-8
17
6
-38
8
-1
-23
-45
2
-12
2
12
-27
-10
-8
-8
1
22
1
6
2
5
-19
-28
-6
-7
-10
5
7
-88
-115
6
56
-23
0
43
-77
29
6
13
-20
15
17
-50
17
26
38
10
9
37
-62
0
-1
22
-19
-1
-9
12
-2
-3
18
-28
-8
25
15
5
5
8
-16
-3
47
-3
4
-39
-23
-3
2
-88
-48
-1
17
8
88
-7
0
-29
81
28
-24
40
16
-3
9
-39
-92
25
22
0
-4
-21
6
-91
-42
-62
-27
-4
15
-48
14
-45
-8
-8
6
3
-7
7
-55
-14
0
15
-29
18
30
-37
-6
13
-12
10
14
26
17
7
-14
-26
22
31
-7
31
-12
4
12
14
-2
44
-25
21
10
42
8
10
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
51
0
0
6
1
0
74
-71
0
0
-8
0
0
7
53
0
0
-10
0
0
-6
-33
0
0
40
0
0
0
13
0
68
0
0
0
0
11
0
0
0
0
0
0
-64
0
0
0
0
0
0
-17
0
0
0
0
0
0
82
0
0
13
0
0
8
59
0
0
-2
0
0
-2
7
0
0
32
0
0
0
20
0
0
42
0
0
-2
-19
0
0
5
-10
0
0
-43
0
0
-3
0
0
0
-9
0
0
-3
-2
-2
0
1
0
0
0
0
0
0
-9
0
0
-4
0
0
0
-34
0
-2
0
0
0
0
-67
0
0
0
0
0
0
2
0
0
0
0
0
3
25
0
0
0
0
0
0
39
0
-9
0
0
0
0
25
0
0
0
0
0
0
-23
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-19
0
-8
-31
0
0
-19
-30
0
0
-15
0
0
4
46
0
0
0
-6
0
-9
-33
0
0
19
0
0
-1
9
0
-30
13
0
0
0
110
0
0
0
0
0
0
-44
-13
0
0
0
0
0
9
2
0
0
0
0
0
22
0
0
6
0
0
0
56
0
0
-2
0
0
0
-32
0
0
4
0
0
1
-3
0
0
-12
0
4
0
-47
0
0
3
0
0
0
-91
0
0
0
0
0
0
-28
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-36
0
-1
0
0
0
0
51
0
0
0
0
0
0
-3
0
0
-12
0
0
0
-21
0
-7
0
0
0
0
-21
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-42
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
0
11
26
-19
-12
-9
0
15
-22
20
22
65
-5
5
2
-11
15
4
76
-12
19
0
12
22
-12
27
-30
-9
0
-2
11
3
-25
-21
-8
4
3
7
-18
-24
2
9
-54
-50
0
7
24
0
17
101
34
-4
12
0
-8
57
-3
57
-9
53
-58
-6
25
8
29
37
-11
-7
22
34
-11
-46
52
25
-30
-7
-2
-20
8
33
-7
47
-16
9
0
-15
-7
-4
-36
-67
39
0
2
69
-1
-17
-3
-21
4
10
34
25
22
0
0
27
-5
0
22
22
0
47
29
-33
0
-16
0
8
35
2
67
-29
-4
6
14
80
10
-11
9
33
3
39
28
16
-43
-69
-4
9
-21
-39
-8
-34
6
3
-1
43
17
37
44
43
39
-20
-21
25
-15
16
-22
31
4
-18
-19
9
8
-4
-17
34
0
4
-32
41
-10
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
-2
42
-5
0
34
-42
0
0
49
0
0
0
-68
0
0
12
0
0
-8
-10
0
0
-1
0
0
-4
-2
0
-4
-7
4
0
0
-12
0
0
2
0
0
0
3
-4
0
0
0
0
0
74
0
0
0
0
0
-1
54
0
0
4
0
0
1
5
0
0
1
0
0
-4
5
0
0
5
0
0
0
-12
0
0
-3
0
0
0
37
0
9
5
0
0
0
-66
0
0
-2
0
-1
0
-24
0
0
0
0
16
0
-2
0
0
0
0
0
0
33
0
0
-1
0
0
0
31
0
-3
0
0
0
-17
12
0
0
4
0
0
0
6
0
3
0
0
0
0
8
0
0
0
0
0
-1
-22
0
0
-3
0
0
0
9
0
0
-1
0
0
0
73
0
1
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
13
-21
0
0
-29
-54
0
0
-76
0
0
0
72
0
0
26
0
0
12
-7
0
0
10
0
0
0
-5
0
-1
-5
25
0
-5
73
0
0
0
0
0
0
19
7
0
0
0
0
0
-38
1
0
0
0
0
-1
7
0
0
-6
0
0
3
38
0
-4
-4
0
0
0
2
0
0
90
-7
0
0
69
0
0
12
0
0
0
-19
0
0
-41
0
0
-7
-58
0
0
-7
0
0
0
-38
0
0
0
-9
0
0
14
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
41
0
0
0
0
60
0
0
0
0
0
2
107
0
3
4
0
0
0
-46
0
0
1
2
0
0
7
0
-19
8
0
0
0
3
0
0
0
0
0
0
68
0
-6
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
34
3
-8
17
-15
4
-12
7
7
0
-12
-25
40
-44
-8
2
-18
-8
-37
-52
51
12
0
3
19
-7
-11
-3
-43
5
29
-9
-3
-6
0
7
-5
8
-7
12
42
3
18
78
-3
29
-3
-17
49
14
15
16
-134
-47
68
21
7
-41
69
-4
6
-3
51
-1
-15
-87
-22
41
-52
-75
1
13
69
9
135
64
-5
-4
8
24
-33
-19
-71
-41
12
-4
-44
-12
33
32
0
-3
-27
36
-61
29
0
0
11
-59
42
1
-6
21
0
6
-26
-3
9
42
0
1
-17
-20
56
18
7
-4
101
-6
-21
52
11
58
-7
40
-17
33
26
-10
10
19
-32
6
7
34
-55
-10
-4
-5
-20
8
45
2
12
48
23
-11
-3
32
-15
20
-16
-2
3
-2
-19
-3
0
-2
0
-10
-16
18
0
-51
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
19
-54
-23
14
-38
-26
10
21
59
4
8
26
-8
10
54
38
22
-39
-5
63
1
-31
-2
20
-8
-69
40
-20
-15
-25
-30
42
2
-29
-10
-27
-100
5
15
-28
4
8
-10
-67
53
-26
-10
116
-52
24
3
-26
-64
-19
-9
0
13
-53
-30
-34
-12
-19
-22
1
52
-29
8
37
19
-2
-24
-21
-13
-21
-3
-38
-5
-48
-31
17
-17
4
26
-15
46
7
16
43
9
-11
-2
-18
65
62
61
0
0
18
-28
39
10
71
-22
23
-14
-36
-7
-20
-9
26
21
-44
-9
15
16
-22
-72
-44
0
-25
-32
-9
-11
20
75
-45
61
89
-69
-7
-37
13
43
-20
-26
-11
-10
5
66
-12
7
-4
-4
-47
9
-32
-11
12
-46
4
-24
37
34
4
30
40
51
24
35
-1
24
4
52
-21
8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
82
0
0
40
0
0
8
51
0
4
-4
0
0
8
-47
0
0
-5
0
0
-1
-23
0
14
-1
17
0
0
-18
0
0
0
0
-1
0
-16
0
0
0
0
0
0
14
0
0
0
0
0
0
-55
0
-5
9
-5
0
0
-79
0
0
-2
0
0
0
5
0
5
14
0
0
0
-36
0
2
38
0
0
0
-48
0
17
2
0
0
0
33
0
0
0
0
-3
0
24
0
0
-2
0
-3
0
69
0
0
0
0
0
0
4
10
0
0
0
0
0
9
0
0
-1
0
0
0
-55
0
0
0
0
0
0
-28
0
3
-4
0
0
0
-40
0
0
1
0
0
0
29
0
-14
0
0
0
0
-54
0
0
-5
0
0
0
73
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
80
36
-22
-10
-31
15
-10
-23
-16
-17
25
121
-36
-5
4
46
-4
79
-39
14
3
-5
-16
-4
-7
13
22
9
31
-20
-24
-25
-42
-1
11
-27
-79
0
-11
26
-13
-5
-10
0
-2
-47
14
42
-6
-52
24
-22
-53
30
-12
18
-14
-68
68
20
80
40
6
-15
-83
-10
-8
32
-38
-9
2
-10
4
37
49
-36
-4
-4
-3
10
6
-34
18
15
-10
-10
-23
-20
83
-38
-16
-7
35
62
16
-5
42
-3
25
22
-44
76
-69
-3
3
18
15
32
-25
-6
16
-31
4
0
-46
26
-22
-39
-8
28
-2
87
-1
-80
5
-17
-6
25
-8
49
48
18
8
51
42
-6
35
69
-24
13
-3
46
-10
39
20
49
4
-40
-57
38
-27
12
-5
7
-3
-5
-46
-21
69
-8
6
46
29
-6
-63
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-67
56
25
-39
10
4
5
11
-34
1
-9
-1
13
10
-31
-54
14
15
42
-50
-3
24
8
15
-7
28
-4
-11
58
36
50
5
0
-4
-6
15
-25
21
-43
-51
8
1
103
-16
-17
-54
39
-51
1
-15
57
4
-11
8
2
-5
4
1
26
-48
4
-32
3
-30
47
-22
57
39
-26
6
96
-18
12
-1
-40
62
-6
54
37
14
0
8
0
16
19
-13
58
6
19
-7
4
-40
-7
6
16
8
-13
9
33
-22
-11
71
-7
5
29
-3
6
-72
-108
-8
41
-23
17
-15
10
-15
31
-52
40
36
93
35
-54
31
-5
-14
8
61
-6
-46
-4
97
10
1
41
39
29
-15
14
4
63
3
-44
21
-12
63
29
-1
21
17
-3
19
25
-2
27
-10
46
44
32
38
4
-52
-5
51
-6
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-20
-3
-6
6
0
18
-53
-17
1
18
6
-24
-84
-15
-23
-8
2
-26
1
46
-54
-12
0
51
2
0
-12
82
1
0
1
-39
3
19
-2
10
-45
25
0
4
-10
-1
11
-7
10
-46
0
1
-65
35
6
-7
18
-5
41
11
-8
-1
12
30
0
68
40
-36
0
25
-25
0
-38
38
-5
-1
-37
36
-1
-8
49
16
0
8
35
32
-69
-1
-40
0
169
0
3
13
-58
7
0
-11
39
-6
12
-8
19
25
88
14
0
-12
0
17
-21
-7
-5
-7
0
8
-43
0
-34
7
0
13
7
-40
0
-33
-25
6
3
-7
-3
-5
51
59
-13
22
35
3
6
-43
21
0
-30
59
-33
2
53
67
-1
-2
38
27
0
23
-32
0
-22
28
-26
-1
35
76
0
-78
-1
15
-30
-3
-39
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-54
0
0
-8
0
0
4
-50
0
0
0
-1
0
-7
-26
0
0
-2
0
0
0
-15
0
-32
0
1
0
0
-32
0
0
0
0
0
0
-11
-1
-1
0
0
0
0
-9
0
0
0
0
0
0
-60
0
3
1
0
0
8
-19
0
0
0
0
0
0
10
0
0
43
0
0
-5
14
0
0
-15
0
0
0
4
0
0
24
7
0
0
-46
0
0
0
0
0
0
4
0
0
0
14
0
0
-74
0
0
0
0
0
0
-41
0
0
0
0
0
-3
2
0
8
0
0
0
1
69
0
2
-25
0
0
0
26
0
0
19
0
0
0
-38
0
0
-1
3
0
0
2
0
0
8
0
0
0
-19
0
0
0
0
0
0
-69
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
15
-18
20
15
13
5
-23
14
57
66
17
-22
-22
51
7
-5
-6
12
14
38
37
3
-48
21
-20
27
11
-3
12
-3
8
4
48
41
49
9
-14
-62
-8
-26
30
46
19
21
38
-4
27
26
42
1
3
13
-1
-21
-26
-37
1
-45
-31
23
0
21
56
5
-64
25
5
23
78
9
-1
-82
14
7
11
30
32
17
39
-22
38
6
6
40
5
-20
8
14
20
0
-40
20
-32
37
-47
40
9
-8
3
-6
2
43
21
9
-10
-7
-39
-10
4
32
42
-65
-14
-76
-9
27
67
62
15
1
-26
-16
-2
19
-46
-10
4
9
-55
-22
18
-12
109
14
-1
0
23
-93
10
10
6
34
-79
60
31
-16
83
4
-34
4
8
-37
53
-24
18
52
-51
46
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-7
25
4
-22
-14
-23
16
-3
-3
8
-1
3
-4
1
-20
-33
3
7
-24
-43
6
-8
9
-56
-17
-44
22
47
-17
17
-9
-44
-3
-3
-51
-1
10
-3
20
-47
-16
-12
1
-11
-4
15
-61
55
3
13
-50
34
1
-75
23
-21
0
10
-16
30
-30
-6
2
-7
35
62
-4
31
9
17
-1
46
35
-5
-25
53
37
-12
78
-1
45
-58
-2
-53
15
-57
3
58
-11
10
12
10
-2
-15
0
60
22
3
13
23
-57
26
-105
13
40
14
11
-53
2
-79
-5
48
13
-19
-41
-20
56
-36
18
0
0
6
47
-56
99
25
-27
70
19
-39
-50
109
-9
13
38
-49
19
24
39
12
15
72
-14
-7
-14
9
-60
11
-34
-38
11
54
11
2
16
0
-29
-2
30
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-69
0
1
-6
0
0
-1
16
0
0
-35
0
0
0
2
0
73
0
5
0
0
-36
0
0
0
0
0
0
-14
2
0
0
0
0
0
53
4
0
0
0
0
0
-51
0
16
6
23
0
12
0
0
-3
-8
0
0
0
-10
0
0
48
0
0
7
3
0
-1
-24
0
0
0
-24
0
0
0
-3
-4
0
45
0
0
-12
0
0
0
-12
0
0
0
0
6
0
96
0
0
0
0
0
0
-14
-6
0
0
-4
0
0
-8
0
3
0
0
0
0
13
0
0
-2
4
0
0
-20
0
6
5
0
0
0
-33
0
0
0
0
0
0
-54
0
-7
-1
0
0
0
18
0
0
4
0
0
0
46
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
-16
3
0
-10
-4
0
0
8
0
-14
0
89
0
165
-1
13
1
0
46
0
0
2
0
0
0
-20
21
0
0
0
0
0
3
7
0
0
0
0
0
5
0
0
41
-8
0
-30
-56
0
0
24
0
0
9
113
0
0
-7
-8
0
0
-12
0
8
-5
-3
0
0
-18
0
0
-5
-2
-20
0
106
0
0
18
0
0
0
20
0
0
2
6
-8
0
-16
0
0
0
0
0
0
-16
-1
0
-5
0
0
0
13
0
13
-10
0
0
0
-9
-2
0
-1
-13
0
0
-7
0
-19
0
0
0
0
29
0
3
-3
5
0
-5
-55
0
6
3
1
0
0
-17
0
0
1
0
0
0
-32
0
9
0
0
-4
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
-10
81
31
-37
-10
17
-12
22
13
-9
-3
49
13
-2
4
-12
60
-16
-10
0
1
-18
-1
14
49
41
0
-5
37
-31
1
6
-5
41
24
-26
13
23
-2
48
-6
7
-3
-25
28
57
25
-32
-17
36
88
42
16
-9
6
8
17
-9
7
41
35
45
0
-4
-39
-20
-22
41
79
3
-8
-28
-8
16
-26
44
6
10
20
36
34
37
16
5
-26
95
12
9
21
0
18
14
-14
-1
67
-48
12
13
44
0
56
-47
0
-47
11
24
17
-31
8
46
29
18
15
8
5
69
26
-13
11
-14
9
17
11
-22
49
-11
-10
11
-31
38
-78
12
26
-4
41
10
-1
-14
41
-5
0
53
43
106
-45
-73
9
0
-10
-18
-7
-4
14
25
-24
5
-5
65
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
11
0
0
-26
0
0
-30
-16
0
0
14
0
0
-2
-8
0
-4
6
0
0
0
-40
0
0
-1
0
0
0
4
4
34
0
0
0
0
13
-1
0
0
0
0
0
-58
0
-1
16
0
0
5
-6
0
0
-14
0
0
40
7
0
0
3
0
0
36
46
0
0
-96
0
0
-5
-11
0
0
73
0
0
-1
-25
0
0
14
0
-5
0
-37
0
0
-1
0
47
0
7
1
0
0
0
0
0
18
0
0
0
0
0
-2
12
0
-1
0
0
0
0
-28
0
0
0
0
0
0
-48
0
-9
-1
0
0
1
-1
0
0
3
8
6
1
-81
0
70
49
0
0
0
50
0
0
32
0
-2
0
74
0
-6
24
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-46
0
0
43
-1
0
-62
7
0
0
-24
0
0
0
-49
0
-39
-13
51
0
0
-49
0
0
0
3
0
0
-15
2
0
0
-4
0
0
-4
-2
5
0
0
0
-2
51
0
0
62
-5
0
4
9
0
4
-13
0
0
1
81
0
0
17
37
0
38
-8
0
0
-83
0
0
-1
8
0
0
-42
-23
0
0
-19
0
0
51
0
0
0
-41
0
0
-1
4
0
0
-26
0
0
0
0
0
0
-48
0
0
2
0
0
0
-6
0
6
-9
0
0
5
23
0
0
2
0
0
-1
80
0
6
13
-7
0
-2
-31
0
-2
95
2
0
7
26
0
80
-13
0
0
1
10
0
0
28
5
0
0
50
0
11
0
0
0
0
-26
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
12
0
-16
-44
-9
-2
-5
2
-1
-42
-33
-5
-50
0
-3
5
-18
-6
24
22
0
15
-26
-85
0
-75
20
-2
-25
-54
0
-5
-2
0
11
-28
73
106
14
-86
-28
18
7
-7
0
62
-5
30
28
-2
3
-19
-36
-44
4
-12
-23
-4
18
-81
10
-10
-20
3
0
56
3
-19
36
13
7
0
33
-12
17
10
-5
8
-3
50
8
-16
3
14
-7
-19
-14
-2
-4
47
0
-30
21
-27
-3
2
0
2
-46
-1
12
63
0
0
8
10
-5
19
-38
11
0
1
16
-3
-73
12
-32
6
15
22
-9
52
-15
66
-9
-72
49
-1
-79
1
1
15
7
13
6
-69
96
-82
51
1
29
0
0
113
5
38
0
-49
69
1
-40
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-33
-114
-59
1
-36
-50
-5
5
27
-1
12
-13
1
9
-7
-74
-22
-20
-67
-17
-12
-5
-12
-49
-50
-22
-19
40
12
-34
0
-57
12
34
47
-15
38
22
11
-22
-31
-4
-5
-31
-45
13
-40
-18
18
0
1
-32
21
9
-20
52
0
-8
6
-4
-25
3
-43
2
6
-75
10
27
12
-10
-16
-26
9
7
-14
-9
-9
10
-44
-7
3
-8
-5
29
7
1
-6
-35
0
47
-20
22
-3
-15
10
17
37
19
-26
32
-8
-24
-9
-15
16
0
53
-43
47
-116
26
26
-4
-75
4
21
-35
-67
66
0
-11
9
21
35
9
-16
-5
-85
-7
-23
18
5
-23
1
-49
45
-26
-5
18
33
-4
65
9
18
32
-7
-76
3
46
63
-14
5
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-70
0
0
19
0
0
0
14
0
9
-2
0
0
0
24
0
-2
0
0
-1
0
-14
0
12
0
0
-9
5
-57
0
-1
0
0
0
0
48
0
0
22
-1
0
3
22
0
0
0
3
0
0
-7
0
0
-1
0
0
8
16
0
0
-6
0
0
0
13
0
0
-2
-1
0
-3
-28
0
0
-1
0
0
0
99
0
0
0
0
0
0
-2
0
0
0
0
-4
0
4
0
0
0
0
0
0
6
0
-8
0
0
0
-1
44
0
0
0
0
0
0
41
0
-1
-3
0
0
-2
-35
0
4
0
2
0
0
71
0
6
5
0
0
0
28
0
5
1
0
0
0
29
0
-8
0
0
-1
0
15
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
15
0
0
-35
0
0
-5
86
0
-59
15
5
0
0
-32
0
0
0
0
0
0
37
1
0
0
0
0
0
-11
0
0
0
0
0
0
70
-5
0
13
10
0
-9
17
0
-4
3
0
0
7
-58
0
-5
13
25
0
0
-54
0
0
-41
0
-7
0
9
0
6
8
3
20
0
-25
0
4
-2
0
-6
0
10
0
0
0
0
-7
0
17
0
0
0
0
0
0
41
-8
0
0
0
0
0
4
0
-4
-9
0
0
0
-16
0
0
-8
0
0
0
0
0
3
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
18
0
0
0
25
0
0
0
6
2
0
37
0
-3
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-6
24
37
28
63
-1
-4
-3
-5
-33
-6
19
16
-7
24
30
29
61
-39
0
-7
-39
-52
0
12
32
-1
4
24
-6
-5
-5
-1
-11
6
-26
48
-6
10
43
-56
-1
-8
-38
-11
11
-7
-16
0
-32
46
13
18
27
-69
6
4
11
1
30
-12
-29
23
-4
1
72
-18
-13
2
5
-8
-56
103
-24
32
-26
-11
4
-46
-67
41
16
0
-4
34
63
3
11
-82
0
10
56
-8
4
16
-4
40
14
8
-1
-7
-16
18
10
34
-22
-7
-52
26
67
31
-6
42
17
-31
49
27
-1
-9
0
-33
-25
8
18
-60
28
-5
-17
8
2
-23
12
-4
4
-45
-17
23
27
-7
6
5
10
54
0
-3
0
-8
-33
74
46
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
-4
11
0
-5
-5
4
6
23
32
0
34
7
-27
12
12
5
0
17
0
-5
-3
67
0
-7
-23
-1
-16
6
-1
-4
0
-3
-4
1
-17
-6
63
2
-15
62
2
-3
-41
49
3
50
-38
-8
-9
-4
29
-8
-3
-21
-1
0
17
15
20
8
5
-3
9
12
40
42
-34
-54
-24
0
-5
32
0
42
3
9
-9
-7
10
-1
5
1
0
6
24
0
0
1
-4
-45
-54
2
0
0
0
33
-14
2
-59
18
0
-8
2
5
0
-2
-12
14
0
-1
-6
0
-50
72
0
14
30
27
0
23
5
3
0
4
17
6
18
-32
0
-10
-15
4
-9
58
-52
0
58
0
-21
-5
-1
82
0
-44
0
8
-14
9
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-35
0
0
-30
0
0
0
3
0
-68
70
-92
0
0
-45
0
0
3
0
0
0
-12
-19
18
0
-8
0
0
8
9
0
0
2
0
0
-36
0
0
17
9
0
9
-66
0
0
29
0
0
24
-4
3
0
-3
2
1
18
-21
0
0
3
1
0
15
-23
0
0
43
-24
0
2
40
0
14
44
0
0
0
26
0
-8
-14
34
0
0
-16
0
-7
0
0
0
0
-41
-7
0
0
0
0
0
79
0
3
-5
0
0
0
111
0
0
-9
-1
0
-15
1
0
-30
-49
0
0
-3
-36
0
2
19
-15
0
-18
-1
0
33
-52
0
0
0
-59
0
-1
1
3
0
0
43
0
8
0
0
0
0
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-4
38
36
1
-72
-2
-4
-22
4
32
17
-68
0
-1
51
27
0
-35
8
-10
-6
-57
0
14
-9
0
118
-24
12
-22
29
-29
16
-49
12
-1
7
34
35
39
-101
41
-2
13
25
22
79
-7
4
-1
67
29
22
-54
4
27
-4
3
-7
1
22
19
-16
-4
3
-72
16
-30
0
2
1
-1
55
-45
-3
0
3
-32
0
-4
13
12
0
7
-101
48
4
4
0
-3
16
7
19
55
-5
1
126
12
0
-7
36
-39
-8
9
12
15
-39
28
38
-47
-6
5
5
-16
22
67
-27
16
-5
0
-40
-29
24
5
6
23
0
-6
14
39
52
0
32
0
38
15
0
-73
0
-27
45
-8
54
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-49
-14
0
-9
-26
47
-10
16
-64
26
21
-47
46
-5
-4
-18
-5
-52
72
52
-6
-4
19
4
19
-8
19
4
15
12
24
-8
0
-19
-1
-16
2
7
-78
-6
-13
6
22
48
3
-39
-70
16
3
-38
-57
-5
-5
24
4
0
-34
-7
22
-7
-32
8
4
-89
24
-17
49
33
69
6
-13
17
8
-44
-19
-41
-10
23
-37
-39
-24
-5
-32
20
-5
5
8
-2
-53
44
9
10
13
-15
44
17
-48
2
30
41
36
-11
50
9
0
-5
14
17
-15
0
25
3
32
34
-28
-36
15
1
0
31
-1
-27
-23
-22
-16
-11
52
30
14
0
42
45
-8
-6
-50
16
3
-36
-5
12
8
-6
0
-42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
22
7
-3
0
2
-2
0
0
0
0
0
0
47
16
0
0
0
0
0
-37
2
0
0
0
0
0
-78
0
1
-9
0
0
0
5
0
0
6
0
0
2
16
0
0
-1
13
0
0
-77
0
0
21
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
84
0
0
4
6
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
-2
10
0
0
0
0
0
0
-5
0
0
-1
0
0
0
28
0
-1
0
0
0
0
-44
0
6
4
0
0
0
2
0
0
3
0
0
0
-14
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
41
-2
27
-4
0
65
0
0
0
0
1
0
29
-2
0
0
24
0
0
63
0
0
0
0
0
0
-56
0
0
3
0
0
-2
27
0
0
-24
0
0
0
-46
0
0
21
-1
0
-13
-2
0
0
-8
-1
1
2
-18
0
0
-4
-6
0
9
-1
0
0
0
0
8
0
-69
0
0
-4
15
-6
0
43
0
0
0
0
0
0
-35
0
0
0
0
0
0
7
0
25
-3
0
0
0
7
0
0
0
0
0
0
-12
0
7
-7
0
0
0
-25
0
0
4
-1
0
-1
2
0
0
0
0
0
0
45
0
0
15
-7
1
0
6
0
-5
0
0
0
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-4
-2
-2
-29
-2
-56
91
8
-4
5
22
-43
4
-7
9
-11
-48
-7
-13
10
2
-4
-35
1
-66
5
-2
-67
14
61
-46
11
22
20
-52
15
-9
-23
-1
-27
31
8
23
88
6
-7
9
-49
-5
3
0
39
-18
-35
23
-24
4
6
-27
74
-16
-48
-18
-1
31
19
-29
-7
8
41
-6
1
2
9
-8
-9
-1
6
-44
-33
0
-54
-16
-6
3
56
-8
33
35
4
19
7
-36
-59
50
12
3
-7
43
-4
14
-32
41
0
34
20
10
-66
-13
-15
28
-16
8
0
36
41
-16
3
11
-17
24
-11
-39
-33
28
-72
28
-23
-9
-11
35
19
-6
11
-5
-21
6
-4
9
0
1
-28
-9
0
22
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-4
-11
4
0
0
7
0
0
15
0
0
0
-28
38
13
0
0
0
0
-54
0
0
0
0
0
-2
-44
7
1
0
0
0
29
-35
0
-8
78
0
0
-27
22
0
0
168
0
0
-1
-45
0
0
-3
0
0
0
-18
0
0
-7
0
0
-4
-69
0
0
5
0
2
0
15
0
0
-3
3
-60
0
-44
1
0
0
0
0
0
21
2
0
0
0
0
0
-31
0
10
0
0
0
0
2
0
0
-27
0
0
0
-6
0
0
-12
0
0
0
11
0
0
-9
-9
0
0
10
0
6
-5
0
0
0
13
0
0
8
0
0
0
-37
0
-8
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-73
26
8
0
0
-33
0
-2
1
0
0
0
8
42
17
0
17
0
0
-6
17
0
0
0
0
13
15
-1
6
-24
24
0
-18
32
0
-12
80
0
0
-53
-78
0
0
-34
-64
0
-19
11
0
7
22
0
0
61
-34
0
5
-2
-5
0
4
24
0
2
24
0
0
0
-48
0
0
-67
-62
0
0
-43
0
0
0
0
0
0
9
6
0
0
1
0
2
-6
0
31
4
0
0
-10
-3
0
0
-6
4
0
0
61
0
32
31
0
0
19
31
0
-6
-25
63
0
2
-3
0
-15
-55
0
0
-2
19
0
4
32
-8
0
0
60
0
44
-15
0
0
0
-52
17
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
31
0
10
0
-37
36
16
0
6
0
0
-20
6
0
2
0
0
2
16
0
8
-3
0
18
4
45
0
-8
21
3
-3
0
18
5
0
-37
40
0
-8
-45
5
-10
-10
1
-4
0
24
0
5
-50
8
-20
0
-46
-1
-3
45
0
25
0
-4
8
-1
-12
46
10
0
11
2
0
-1
8
7
0
12
-20
0
0
0
0
0
17
0
-15
-6
0
-9
-6
-14
1
-2
121
6
0
0
25
-3
-5
-1
-1
3
0
1
0
57
-11
26
1
0
-21
0
-59
34
0
0
0
18
0
0
1
-50
0
0
-5
0
34
-25
0
-30
0
10
17
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
28
-17
41
-19
-42
-1
-2
-1
19
-1
-66
54
-6
3
113
-4
23
17
78
76
5
50
-39
-4
-11
22
15
-10
24
63
17
-37
-53
-1
-14
-14
-20
-10
-57
-16
-33
-1
-30
-27
-10
-26
-34
64
-5
-18
-2
-9
9
37
-37
0
31
42
-44
-42
1
69
20
-37
52
13
28
-29
14
-1
62
13
22
-108
21
1
20
-13
-39
65
-93
0
30
37
13
4
11
4
-69
-3
11
27
-15
9
-40
-5
6
20
-40
-21
4
-15
59
-16
-6
32
38
-3
-5
-38
-11
-28
1
-45
-46
-52
-40
-34
0
2
-9
76
-36
57
46
5
-8
7
2
-10
6
9
16
-20
65
11
-66
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-71
0
0
0
0
0
-2
-27
0
0
0
0
0
0
23
1
0
0
0
0
0
11
0
0
13
0
0
-4
51
0
0
-5
-1
0
-2
-57
0
0
1
0
0
2
22
0
0
-8
0
0
-1
-3
0
0
0
0
0
0
9
0
0
0
12
-8
0
92
0
0
0
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
30
0
0
1
0
0
0
17
0
0
0
0
0
0
-16
0
0
13
0
0
0
-6
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
81
13
-6
-28
-17
-2
-25
9
-2
24
-7
-67
-27
10
15
36
45
28
27
8
10
34
84
16
51
-9
11
4
0
-24
40
-15
29
31
13
59
-38
-9
55
-17
4
-11
-89
19
6
-4
43
-45
-9
31
-31
14
28
3
18
0
28
-30
7
96
14
-31
20
30
118
13
29
8
-2
1
-46
85
6
29
16
30
-10
18
48
-43
-50
-12
58
-17
-40
5
14
69
19
-31
-34
-2
45
-13
33
66
21
5
38
6
-38
19
18
-12
1
-13
-22
43
-2
-11
30
-6
-9
-39
0
38
4
15
-26
33
26
-22
18
-4
13
8
-22
-75
-62
-84
9
-5
4
-29
46
5
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
3
2
-3
31
-19
0
9
34
122
0
-21
0
-2
-10
-9
0
-24
-1
0
-51
15
3
-1
24
-9
-31
-38
20
0
3
-20
0
21
110
35
7
2
-33
-19
1
3
12
0
-1
56
-57
13
-8
-31
-1
-12
-7
6
-11
7
-32
0
41
1
-24
-8
0
-1
-2
-12
0
-88
22
0
-8
38
-34
0
23
-2
0
-24
-16
0
-5
-44
0
0
50
1
-12
90
0
-7
8
21
-1
0
-12
81
-10
-58
8
7
-75
4
-5
-3
65
-19
0
24
8
-52
-14
-29
-43
0
-26
-38
1
-59
0
16
0
-23
1
21
-18
0
-2
0
26
0
0
45
0
-47
12
-4
0
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
15
3
2
14
8
25
0
7
-45
62
0
0
-9
0
-6
38
-2
-2
1
5
26
14
3
-21
24
0
-17
34
17
0
17
9
5
-12
60
6
0
-17
12
35
-1
36
8
0
-68
-12
0
0
34
1
0
-5
-6
0
22
-54
9
0
-1
33
-2
-11
2
-16
0
-13
-13
0
40
0
-11
36
22
0
0
-16
2
-11
70
0
25
0
-4
21
-15
-18
29
65
0
-2
-10
-16
5
-47
111
-9
-2
34
6
-2
-31
-4
19
-4
-29
-16
0
14
41
0
33
-3
9
0
-19
20
0
15
-9
8
-5
7
61
0
-12
2
6
16
39
33
0
-8
0
-32
-10
6
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-17
12
19
0
-30
0
0
31
3
0
0
0
0
0
-22
0
0
-55
-37
0
21
-29
0
5
-14
0
0
37
-68
0
0
1
-14
0
72
-23
0
-2
40
0
0
0
-22
0
-2
-64
34
0
-13
24
0
0
-1
0
0
-1
-60
0
-1
9
4
0
0
-2
-9
0
0
0
0
0
101
-1
0
0
0
0
0
-51
0
-52
0
0
0
-3
12
0
-1
-24
1
0
8
-12
0
-5
-65
0
0
0
25
0
3
53
-3
0
1
-8
0
43
-14
0
0
-6
87
0
0
39
6
0
0
-35
0
107
6
0
0
0
39
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-2
-2
0
27
0
0
-1
0
0
0
0
0
0
-110
0
3
9
-5
27
-5
8
0
3
19
0
-11
-4
25
0
-9
-9
7
8
1
-12
0
3
-37
0
6
0
-27
0
0
-18
-8
-2
0
-17
0
0
-22
0
-72
0
61
0
-3
-4
-3
-1
0
-52
1
0
0
0
7
0
1
0
0
0
0
0
0
-8
0
1
0
0
0
0
3
0
0
-8
-5
0
0
38
0
6
0
0
0
0
77
0
0
-6
4
0
0
-12
0
4
1
0
0
0
-35
0
0
-3
-2
0
0
14
0
-58
0
0
0
0
-32
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
37
8
-8
57
-13
-22
-7
13
-21
-25
-46
-27
-12
9
-101
-14
12
4
20
6
-2
-34
34
-1
14
-16
-33
-9
-38
-14
2
9
-27
-1
-3
-20
61
16
-45
-50
-23
-9
-53
-32
5
-20
34
-28
-2
0
8
13
-22
-6
-14
0
6
-30
-30
-6
-11
14
-13
-79
-24
-12
37
15
7
10
-47
4
66
64
6
42
-5
16
-41
16
89
-66
-10
5
20
-16
36
-36
48
16
10
-20
25
-12
75
76
49
-10
12
2
-3
-2
8
-55
5
-7
-27
30
-3
11
-31
-7
-2
-13
31
33
47
-7
0
-4
19
-59
12
35
-14
18
-18
-9
-13
46
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-23
0
0
0
1
0
17
0
0
0
0
0
0
80
0
0
2
6
0
10
-43
0
0
-2
0
0
15
33
0
0
7
-31
0
0
9
0
0
15
0
0
0
-66
0
0
12
26
1
0
44
0
0
-3
0
0
0
-25
0
0
0
-4
0
0
53
0
-1
0
0
0
0
5
0
0
0
0
0
0
10
0
-1
0
0
0
0
46
0
0
0
3
0
0
-8
0
8
0
0
0
0
22
0
0
0
0
0
0
24
0
0
-1
0
0
0
39
0
0
14
-1
0
0
-43
0
6
0
0
0
0
-39
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
0
0
0
0
0
18
8
0
0
0
0
0
2
0
0
-1
0
0
0
88
0
0
3
0
0
1
13
0
0
48
0
0
7
56
0
0
4
0
0
7
-13
0
0
-2
-1
0
0
-76
0
0
7
0
0
0
54
0
0
0
-4
-1
0
-42
0
0
0
0
0
0
-4
1
0
0
0
0
0
6
0
-1
-1
0
0
0
-41
0
0
0
0
0
0
-32
0
2
0
0
0
0
48
0
0
0
0
0
0
30
0
38
0
0
0
0
13
0
0
0
0
0
0
17
0
-1
0
0
0
0
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
61
0
-25
0
0
-35
0
0
0
0
0
-5
-46
-6
0
-7
-2
12
-13
14
0
0
-11
-2
0
25
34
0
-1
40
49
-2
-43
5
0
-4
-5
8
31
0
15
0
0
-4
45
-8
0
11
0
0
7
0
39
0
41
0
-2
0
5
13
0
1
-3
0
0
0
-9
0
16
-2
0
0
0
0
0
66
0
2
0
0
0
0
-40
0
0
-1
0
15
0
-8
0
-7
0
-6
12
-3
3
0
0
0
-3
8
0
27
0
5
0
0
0
0
-56
0
0
0
14
8
0
-43
0
-14
0
2
-14
0
-27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-4
8
0
0
0
0
3
0
0
0
0
0
0
1
0
0
-7
0
0
-8
11
0
0
-32
0
0
19
-34
0
0
7
0
0
0
-10
0
0
-73
0
3
-6
25
0
0
62
-1
0
0
3
0
0
-13
0
-1
0
-44
0
0
0
0
-4
0
-11
0
0
0
0
0
0
65
-29
0
0
0
0
0
33
0
0
0
0
0
0
-25
0
0
-2
0
0
-8
-32
0
0
15
0
0
0
69
0
0
-2
-2
0
0
-2
0
0
-2
0
0
0
10
0
0
2
0
0
0
-107
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-39
0
-1
0
0
6
-5
0
-7
7
0
88
-11
-3
-1
16
-91
0
2
8
0
27
-20
3
0
50
36
0
2
-5
97
0
66
12
0
-3
13
-17
0
52
-14
0
11
-61
-62
0
-44
-2
2
58
3
0
0
4
-2
5
-32
-10
5
0
0
-36
-5
-21
1
0
0
0
-27
16
0
0
0
0
25
66
0
-43
51
0
0
-1
48
0
0
-5
3
0
-24
15
-2
19
-28
0
0
-3
45
0
12
34
-20
0
-8
2
3
66
80
0
0
-16
-15
0
3
-7
-110
0
0
-47
8
1
44
0
0
0
31
-9
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-38
0
0
4
0
0
7
-25
0
0
3
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-17
29
-49
-49
43
30
13
-13
48
37
-19
3
13
43
0
63
-13
11
-12
12
-16
-8
0
-5
17
6
-13
12
1
26
1
-2
29
-33
-7
0
22
-23
2
2
-18
8
4
-36
4
-13
-16
-40
-9
-22
-23
-26
-28
1
-3
13
0
-59
0
-21
27
31
41
-2
5
11
-65
-18
-20
15
44
2
15
-6
-26
17
10
-4
107
4
41
40
13
-48
9
7
58
1
2
-29
25
-5
20
8
28
-26
45
-27
-2
-68
-19
-6
-25
8
-34
-24
49
-40
-8
-17
9
35
6
-77
-29
10
38
-21
79
0
47
-22
-19
-124
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
0
7
30
0
11
-50
12
-6
-29
-35
-5
-56
16
-3
-3
-3
1
-4
-46
-19
0
-5
-24
-10
2
-5
-11
7
20
15
1
-27
12
26
2
29
3
16
-40
-22
6
0
57
-5
0
-27
-2
40
0
56
28
-93
-11
0
21
0
6
10
3
-4
0
-9
-44
-2
-3
-4
1
9
-23
3
39
-37
-3
0
-9
-44
0
-5
11
5
0
4
40
0
-53
-31
23
-20
4
-56
0
69
-76
-67
44
-58
-37
3
37
41
8
-10
-2
33
4
68
-44
16
-15
0
4
-1
-9
25
0
62
-3
-3
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
0
5
0
0
17
6
0
0
-5
9
47
50
-27
0
0
7
2
-34
-25
1
-1
-2
-41
-35
5
32
-10
20
41
-34
10
-8
33
49
0
-8
37
86
10
-4
-32
3
-1
21
-20
5
-1
66
0
-23
-3
-51
-12
0
-29
1
-1
-7
0
-7
0
66
-8
0
2
-12
0
0
-38
0
13
-6
0
4
-19
16
0
-4
17
-7
0
2
-22
0
21
-86
0
-14
5
-21
0
-41
-37
-25
-9
-2
23
0
3
-2
-2
29
-17
-54
2
-4
-14
24
6
-7
-120
0
30
38
-4
-13
0
40
-57
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
3
0
0
0
0
-2
0
3
0
0
0
0
0
0
3
0
0
0
2
0
0
29
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
1
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
-8
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
0
1
0
-1
-6
18
3
15
26
0
-24
86
5
0
-7
-4
0
-34
-32
44
0
-5
39
0
54
-5
-18
0
-7
22
0
-13
-31
-27
0
12
9
0
-30
62
-11
0
0
101
0
21
-6
13
0
7
24
0
-4
0
29
-16
0
0
0
23
0
12
-3
0
-5
0
0
0
-32
0
-74
-7
0
-10
4
-10
0
0
-3
0
4
-14
-14
-1
-35
-36
0
-13
9
26
0
5
60
-8
2
69
-41
0
-8
27
0
18
24
-52
7
3
21
6
-52
3
14
0
8
6
0
-51
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
23
0
0
0
3
12
6
0
9
0
0
-9
22
0
-3
40
0
0
40
39
0
-2
-26
42
0
38
-71
0
0
-9
0
0
4
12
0
0
27
-3
0
0
-2
0
0
5
-1
0
0
89
-2
0
-4
-2
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-26
-1
0
0
0
59
0
0
-3
1
0
0
5
0
-5
43
0
0
-5
-22
0
1
4
-9
0
4
-51
0
-12
0
0
0
0
12
3
-2
0
0
0
0
53
0
23
0
0
0
0
-44
-68
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-26
0
0
1
0
0
1
31
8
0
-1
0
0
-20
-9
1
0
5
0
0
0
9
0
0
-10
0
0
0
-23
0
0
0
0
0
0
65
0
0
0
0
0
0
-24
0
0
0
0
0
0
39
1
0
0
0
0
0
-7
0
5
0
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
13
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
1
-65
-63
14
-12
-33
-28
18
18
26
27
-35
-3
-2
5
78
25
5
-8
-49
-4
3
64
-10
24
59
-22
8
2
-32
66
4
2
56
3
4
-13
45
-21
38
10
-20
-5
14
-27
-8
-16
20
-28
5
-31
-20
20
-15
-5
-12
0
35
102
-9
-10
0
-50
-8
-53
-108
-42
15
-26
46
4
5
-13
-14
-44
-70
-1
12
44
-8
2
1
-30
-42
0
52
-43
33
-7
86
-16
-6
40
20
8
9
52
-6
19
17
27
-13
17
15
-29
5
69
2
-59
17
-4
35
13
4
50
-37
-38
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
8
-5
30
45
-1
43
24
-31
-6
95
-1
0
46
2
-4
-3
46
-68
-3
-9
-78
0
1
-16
15
3
-17
8
0
2
23
43
3
-22
-1
8
0
-48
0
24
2
-95
0
22
9
6
4
0
15
8
1
0
0
-1
0
-9
0
-5
5
2
0
0
9
0
8
-26
0
-3
-12
49
0
6
35
2
0
-6
3
0
43
128
-4
-5
2
-22
0
-27
2
10
5
8
23
2
-77
26
0
0
2
38
0
0
28
18
6
0
-14
1
-41
0
0
67
0
-3
41
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-3
0
-1
0
-16
0
0
0
0
0
0
-72
0
0
20
-10
1
-2
-56
0
0
-4
0
0
0
26
0
0
2
0
-3
0
-40
0
0
0
0
0
0
-47
0
0
0
0
-2
0
-97
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
19
0
0
0
0
12
0
0
0
1
0
4
55
0
0
-2
0
0
0
15
0
0
0
-2
0
0
-35
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
-4
41
0
6
-45
0
0
-3
31
0
0
21
-5
0
22
10
0
-6
78
0
0
0
-6
0
0
12
52
0
0
76
0
0
1
0
-5
0
53
0
0
0
-8
-2
0
48
0
0
0
0
0
0
22
2
0
0
0
0
0
-4
0
24
0
0
0
0
40
0
5
2
1
0
0
-8
0
29
12
0
0
0
-18
0
0
13
-5
0
0
31
0
-15
0
-2
0
0
-1
0
-1
0
0
-2
0
-29
0
5
5
0
0
0
8
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
1
0
-11
0
0
-6
0
0
0
65
0
0
32
0
0
23
6
0
0
-17
4
0
0
31
0
-5
-13
-9
0
3
-93
0
0
1
0
-9
0
92
0
0
0
0
1
0
84
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
13
0
0
0
0
15
0
0
0
0
0
0
33
0
-4
-3
0
0
0
-40
0
0
1
0
0
3
30
0
0
0
0
0
0
35
0
0
0
0
0
0
33
0
3
0
0
0
0
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-6
0
0
0
-126
0
1
-8
0
0
0
-23
0
0
0
0
0
0
-73
0
3
0
0
0
0
-38
0
0
-2
0
0
0
1
0
0
1
1
0
0
-47
0
0
0
0
0
0
87
0
0
0
0
0
0
-20
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
-9
0
0
0
-8
0
0
3
0
0
0
40
0
-8
0
0
0
0
-71
0
1
0
0
0
0
79
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
3
-5
10
0
0
51
9
0
0
-16
17
0
-45
12
0
12
-59
-4
-11
2
55
0
3
71
64
-22
-8
-35
0
0
-40
0
38
0
53
1
-10
0
10
10
0
-48
0
-6
0
0
4
0
128
18
0
2
6
0
0
77
0
25
9
-2
0
0
57
0
0
29
-5
5
2
-13
0
7
88
-3
0
-1
31
0
-5
-39
-7
0
0
19
0
15
-1
4
0
0
-21
6
9
56
3
0
0
-1
0
-47
0
0
-2
0
7
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
-39
-87
28
37
-40
-5
8
35
-61
1
-1
21
-11
16
57
-14
5
0
5
-14
-19
29
28
-10
8
18
-19
-2
0
15
-18
-18
-37
8
0
64
33
-19
26
45
0
-22
-74
-24
-14
-83
-47
-21
30
58
-16
-37
-16
-3
-40
0
42
-10
-22
-30
8
43
9
-6
47
13
37
45
-29
-13
60
9
54
-96
49
-16
4
-7
-1
24
-14
-56
22
-1
87
25
32
14
70
-26
-27
-30
-7
4
7
-72
-3
19
7
15
17
22
-50
12
2
-49
42
51
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-13
59
0
0
7
-1
0
25
103
20
0
37
-21
0
1
34
1
2
0
-2
0
-4
31
-20
10
8
-16
0
0
13
0
0
0
16
0
0
0
0
3
0
26
0
0
0
3
0
0
-13
14
-4
0
7
0
0
-2
8
18
10
0
0
8
20
0
4
7
-1
0
-7
51
0
-41
0
-1
2
6
26
0
4
29
-1
0
4
35
0
5
24
0
0
0
-86
0
1
14
0
4
0
-20
0
18
0
0
0
0
26
3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
13
12
3
61
1
0
-15
79
0
0
-2
-17
-2
-30
17
0
0
6
5
3
-23
29
-3
-8
106
-10
-2
-1
-5
-3
0
-3
0
74
-1
35
0
0
1
-1
31
0
30
0
0
0
0
5
0
-34
-30
0
0
0
0
0
2
4
89
0
0
0
2
55
6
-1
0
-3
4
7
24
13
-18
43
0
-2
0
7
0
0
-35
-32
13
-5
8
0
-23
34
0
0
0
-54
0
2
38
0
0
0
22
0
153
-3
0
-2
0
46
40
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
15
0
-31
52
14
15
1
60
3
1
1
-19
-15
19
27
-15
92
9
1
-25
4
34
-6
87
10
56
34
-8
23
-2
-15
-10
-20
5
0
20
-2
-22
-56
0
19
0
-4
3
-19
0
0
-8
0
13
85
-1
0
0
-6
10
19
-4
4
-4
0
0
-13
35
0
-48
-38
-38
0
-21
6
0
36
-53
82
17
50
5
0
20
-15
35
19
38
25
6
1
70
3
7
-7
26
9
-1
-5
-27
-30
31
3
0
37
-44
2
36
0
-12
38
-6
14
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
8
-15
0
20
-28
-49
-3
13
25
0
-30
74
-51
0
4
11
2
-74
20
18
0
-12
-30
3
32
35
35
-1
13
60
0
72
-1
-47
0
0
27
0
-9
0
23
-9
0
0
-2
0
0
-39
-41
0
0
0
0
0
35
0
78
3
0
6
2
28
0
0
10
0
0
-9
-11
1
83
14
2
-3
58
-10
0
48
1
5
1
-1
-24
0
35
-24
0
9
1
37
0
-3
-25
-7
1
0
-15
0
63
3
0
49
3
23
29
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-11
0
-1
14
0
0
0
27
3
-1
47
-20
0
-8
-7
0
-4
34
-3
0
12
-66
0
0
35
17
0
3
8
0
2
87
0
0
0
22
0
0
-6
14
-1
0
15
-3
-2
0
0
0
0
-40
0
0
0
0
0
0
23
0
35
33
0
0
0
1
0
0
8
-1
0
13
26
0
8
10
0
0
0
48
0
13
-24
16
0
0
32
0
-37
-1
-3
0
0
50
0
-6
-16
4
0
0
32
0
5
1
8
0
0
50
7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-3
15
31
-9
-3
-73
7
1
-25
-29
-2
-10
3
22
0
55
-33
53
-31
75
25
0
61
20
-4
-51
-1
15
5
-10
-44
2
1
0
13
30
0
0
4
13
0
28
-53
0
7
2
0
-20
1
-2
-14
-21
0
-5
2
60
-2
1
24
-12
-2
-25
-24
16
28
-13
15
2
10
15
0
17
-32
-49
-5
-21
16
0
8
63
-2
-3
-7
76
-15
-1
28
-38
7
0
64
0
55
-27
0
78
0
8
-7
4
-17
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-78
-21
0
-4
-55
38
12
1
-11
7
-45
1
5
10
17
8
21
-5
-23
-15
10
10
36
28
16
-27
3
6
33
43
17
22
-10
29
11
-17
-6
-46
-28
-4
-36
11
2
11
33
51
-11
-2
24
-13
-24
-47
-4
21
20
0
29
-54
-4
-22
-46
-5
-14
-1
9
-3
25
50
-26
6
9
30
22
2
-40
63
5
39
24
8
-50
18
19
-3
-43
26
-20
-16
-4
-72
-10
16
-8
-1
-8
-6
-105
25
36
-15
14
19
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
12
0
0
0
-37
0
0
43
0
0
0
96
0
0
-21
-7
0
0
-8
0
0
0
0
0
0
47
0
0
0
0
-8
0
16
0
0
0
0
1
0
13
0
-7
0
0
0
0
1
0
8
-3
0
0
0
7
0
0
8
0
0
0
35
0
0
0
0
0
0
83
0
0
-12
0
0
0
95
0
-8
0
0
0
0
17
0
0
3
0
0
0
-22
0
-20
0
0
0
0
55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
32
0
0
26
-21
-9
-2
8
0
0
-51
-12
-5
-1
-49
0
0
-8
10
-4
0
52
0
0
-5
0
11
0
30
0
0
0
-3
16
0
27
-2
-1
0
0
0
0
6
1
0
0
2
0
-1
70
0
-38
49
0
15
0
-17
0
0
17
0
-3
10
17
0
2
14
0
0
0
42
0
0
8
-9
0
0
-80
0
-7
34
-1
3
8
12
0
-9
29
6
0
0
3
0
44
0
0
-3
0
7
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
28
24
26
27
51
39
13
35
25
29
3
85
48
12
33
-25
-14
-23
-33
-11
53
7
-4
17
-35
57
-30
8
-20
1
-21
-5
40
0
-1
11
-11
7
12
-19
33
-2
21
36
3
6
-21
0
-14
7
-8
74
8
0
8
27
26
-3
-42
-49
14
0
74
2
8
57
-72
26
-1
-49
2
0
-28
10
133
-11
55
29
2
26
31
-22
-19
-33
15
-16
11
7
-46
42
5
-4
-1
48
17
-3
16
0
-2
7
39
0
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
5
0
0
-51
-8
0
-4
57
0
-1
-54
0
0
0
-52
0
0
21
0
0
0
62
0
0
0
0
13
0
55
0
0
0
0
39
0
65
0
0
0
0
0
0
8
14
0
0
0
0
0
-36
0
13
0
0
0
5
77
0
0
15
0
0
-3
-38
0
0
6
0
0
0
37
0
0
89
0
0
0
-3
0
-5
-5
0
0
0
25
16
0
2
0
0
0
-79
0
25
2
0
-12
0
20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
32
-24
0
-3
10
0
0
36
-2
0
0
-19
0
1
40
1
0
39
-14
0
19
15
0
0
-12
3
0
-12
19
46
0
0
-1
4
0
0
0
0
0
32
22
0
0
0
0
0
-15
0
39
-8
0
0
0
-13
0
0
16
-16
0
0
46
0
12
2
2
0
0
0
0
9
43
8
0
0
-48
0
31
53
-4
0
0
4
0
-4
-11
14
0
0
45
0
-61
0
0
0
0
17
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-8
0
-8
-1
4
-32
-48
-16
4
-30
-17
29
32
68
5
-2
37
9
7
0
0
26
21
-5
39
24
21
0
-17
16
23
-1
-16
-47
0
20
19
0
31
-1
0
9
25
17
-31
10
13
-8
-8
13
0
-42
37
44
-8
13
-24
-8
-48
64
-6
6
3
22
0
-59
-45
-66
-8
15
58
-1
87
-56
-1
-24
-9
28
1
14
86
-17
-46
0
-4
6
42
74
0
-9
0
-7
82
-7
1
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
65
20
22
22
5
44
9
80
-5
30
-9
11
43
14
57
-10
59
-11
-21
0
-3
-68
26
41
36
-5
10
3
-20
-3
16
34
-20
34
18
10
-15
33
-29
11
-107
11
6
-2
54
46
-50
38
40
17
43
-39
11
61
10
0
-45
-54
22
47
-74
-17
1
-44
-12
-19
16
20
-25
-5
-5
-13
-7
-53
-7
-26
15
-45
-4
6
-4
20
62
5
84
-14
10
-56
35
-5
8
1
50
-23
2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-6
0
0
0
24
0
8
66
-7
0
0
-69
0
0
4
0
0
0
52
0
0
0
4
0
0
-44
0
0
0
0
0
0
43
-9
0
0
0
0
0
3
0
-24
0
0
0
0
-68
0
2
0
0
0
0
-32
0
9
0
0
0
0
-28
0
0
1
2
0
0
68
0
34
0
0
0
0
43
0
0
-5
0
0
0
72
0
-5
0
0
0
0
-7
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
7
42
-7
8
-1
41
-4
0
-29
-21
0
-4
-37
0
0
10
0
-8
8
-25
0
-2
-3
-3
65
0
-33
-2
0
0
0
0
0
-76
18
0
-6
0
0
0
-41
5
15
-12
0
0
2
9
3
0
-1
-20
-8
0
-26
0
-18
-9
5
5
0
9
0
0
-34
-13
0
-7
48
-1
9
-8
0
9
0
26
0
-1
5
0
0
0
-2
0
23
1
0
-1
0
20
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
3
36
-29
6
1
-7
2
13
31
23
21
-27
13
24
-3
13
25
47
-20
-23
5
3
-44
-13
4
9
-1
28
-17
-3
-8
-6
138
-5
12
37
9
41
24
0
67
-1
24
70
39
28
49
3
-14
37
14
39
-42
5
-73
35
-18
41
53
-19
8
46
-2
-2
26
0
77
9
-62
0
-25
14
53
-26
66
52
-3
29
-25
3
-2
-18
-34
17
-4
13
-20
14
99
-1
26
-3
17
-22
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-25
0
36
26
2
-50
82
-14
0
14
22
-20
-36
-43
-21
0
52
-3
0
12
33
-13
0
2
75
8
0
0
5
24
1
-3
0
-63
0
24
22
0
2
0
4
20
15
1
52
55
3
-8
8
-5
4
5
1
12
4
67
42
12
65
8
5
-4
-27
-21
0
20
66
1
26
33
-37
-9
40
5
1
9
15
2
-2
25
65
19
6
0
-21
0
29
31
0
-22
0
-2
-88
12
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
3
0
-2
92
0
0
0
-43
0
0
39
-33
0
-1
-61
0
1
2
0
0
0
75
0
0
5
5
0
0
-26
25
0
0
0
0
0
0
-5
0
0
0
0
-6
-22
0
32
3
0
0
-2
7
0
0
-7
8
0
8
75
0
34
-31
0
0
0
114
0
-2
-8
1
0
7
10
0
-2
-8
0
0
0
-19
0
0
-18
-6
0
0
1
0
11
0
0
0
0
-7
14
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
11
-7
32
31
-48
-66
-6
-26
-1
24
31
-13
-27
0
40
-4
5
10
26
13
0
16
-18
0
-2
0
68
3
-36
-58
-4
-4
-24
0
4
-27
0
-20
20
0
0
-13
-7
-8
25
12
102
-3
3
7
1
-56
23
0
-8
0
39
8
-33
16
8
-3
0
-24
1
-47
14
-1
20
2
17
5
-13
-10
36
-11
0
21
0
-5
-2
0
-8
0
-14
20
0
-2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
4
-50
-26
-5
0
-5
24
12
9
7
37
-5
-17
18
-6
20
-12
15
-9
-18
-13
7
2
-55
-27
-62
-11
17
17
38
10
-32
-28
-13
30
-12
57
37
50
-71
20
-16
11
31
22
19
-2
27
28
-6
12
8
7
70
40
-49
0
2
53
74
50
42
2
-6
5
-62
2
-18
-16
53
14
-17
-11
18
0
0
82
-5
-33
-10
9
15
-9
1
-6
14
-70
4
6
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
8
-3
0
0
69
0
0
0
0
0
0
11
0
0
0
0
20
0
-37
0
0
0
0
0
0
73
0
0
0
1
0
0
-4
0
-1
0
0
0
0
-14
0
-1
6
0
0
0
-15
0
14
-24
0
0
0
-1
0
0
0
-7
0
0
32
0
4
0
0
0
0
-1
0
-12
8
2
0
0
75
0
25
-1
0
0
0
29
56
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
16
75
0
2
49
0
0
33
0
-15
0
10
0
10
14
57
43
0
28
0
0
0
0
0
0
-22
0
0
0
0
0
4
3
-6
6
-19
0
0
-2
13
0
0
44
0
0
13
86
1
34
9
-4
-6
21
-4
0
0
8
-12
0
19
70
0
52
-12
10
-12
0
9
-4
0
8
8
-3
0
-31
0
14
2
0
29
0
58
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
5
-33
-11
9
-4
-23
6
-22
34
-71
-65
20
85
12
70
-16
68
1
34
15
9
21
27
0
3
8
-7
-7
89
17
38
-82
-20
133
-26
26
25
44
-2
4
-30
-4
-4
58
29
-19
14
49
9
-4
27
3
-18
18
13
-6
69
14
77
11
-3
-28
1
-5
1
11
1
11
-26
46
-15
-7
-13
41
12
24
2
-7
-28
-21
-51
58
-10
28
-79
20
41
79
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
39
0
0
-8
-2
0
9
-10
0
-8
0
0
-14
0
-97
0
-3
27
0
75
0
43
-5
0
0
0
0
0
-51
4
0
0
0
0
0
13
0
1
-4
0
0
-8
-9
0
1
-2
-3
8
-6
-29
0
-49
-43
0
0
0
4
0
6
-13
10
5
0
-47
0
-17
31
0
0
2
-24
0
0
0
0
0
0
1
0
-33
-4
0
-8
0
93
-6
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
23
0
-11
22
0
-5
-82
0
0
-42
0
0
22
29
0
-1
-9
8
0
0
-12
0
0
0
0
0
0
-28
28
0
-6
0
0
4
38
0
8
-5
0
0
0
20
0
33
26
44
0
1
47
0
48
14
-3
0
-4
38
0
14
133
-11
0
32
0
0
-28
-2
2
0
4
-9
0
24
22
-6
0
0
3
2
-68
-3
0
0
0
13
21
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
15
-100
0
4
0
1
-1
-3
41
19
20
3
3
0
0
0
-9
6
0
-23
4
0
0
10
0
0
-23
-3
7
-11
1
0
15
7
0
55
-2
17
0
0
-32
0
-7
58
3
2
0
20
0
4
39
34
0
0
-8
0
-36
29
-2
0
0
24
0
5
42
-10
-1
0
-12
0
-2
-2
0
-5
4
-61
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
41
39
15
44
38
29
9
30
11
7
0
-24
-8
2
44
-32
-5
-86
-27
41
-1
46
5
-10
2
-6
75
17
-62
-14
-23
59
-16
-40
9
93
30
-1
21
-22
-59
-23
65
-4
-29
-11
26
-1
8
21
47
-16
-5
-24
13
0
-42
31
-18
-16
-18
7
-21
-23
-3
24
37
8
-18
7
7
-24
15
11
-24
-8
12
26
-6
-21
-12
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
12
0
0
0
10
0
-1
0
-7
0
0
68
0
0
0
0
1
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
0
0
0
0
-49
0
0
1
0
0
0
86
0
0
0
0
0
0
49
0
-24
0
0
0
0
-25
0
0
0
0
0
0
2
0
5
0
0
0
0
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-22
0
15
48
0
0
0
21
0
10
-1
-10
66
0
-26
0
0
0
0
-2
1
4
-9
0
0
0
0
-2
22
0
1
19
0
3
0
72
1
0
84
-6
3
-5
1
0
11
-11
0
0
-6
-62
0
2
37
-32
-5
-6
-73
0
-27
11
0
3
25
-70
0
0
-24
9
0
0
-41
0
114
-8
0
9
0
10
15
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-4
-8
-14
-11
1
-17
20
-30
-94
-8
20
13
0
4
-93
10
-1
69
30
-4
6
8
-2
3
67
-7
-86
6
6
58
17
-3
-14
-36
31
2
70
-8
-19
9
3
-6
-1
6
-54
-3
-13
57
-6
0
-16
70
36
45
-19
-15
-3
-11
48
30
15
-10
-15
2
-26
-16
2
30
-12
-10
8
41
11
5
32
0
-35
-38
-8
-6
-4
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
0
3
33
3
26
25
3
26
72
2
-5
15
0
-8
30
-17
0
0
-23
0
30
88
-1
10
0
-3
4
-8
-8
48
-69
0
20
22
14
0
13
73
-5
-8
50
-22
-9
50
81
8
5
-21
6
4
15
10
-1
-32
4
5
0
35
16
0
8
-9
-25
-2
-12
-13
0
58
0
-19
0
25
-12
0
15
0
-8
8
15
16
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
0
-1
-77
1
0
-3
4
0
3
60
-19
0
0
-32
8
0
0
2
0
0
4
-14
0
0
0
0
0
11
3
45
4
0
0
10
43
0
10
7
2
0
-5
-50
0
80
42
0
0
-1
30
0
-6
56
-6
0
1
-9
0
6
-5
0
0
-6
53
0
41
1
-8
0
0
39
0
-18
-2
-2
0
0
-7
63
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
-1
24
0
0
-30
-3
0
0
0
10
0
52
0
0
0
-1
0
0
3
0
-3
5
0
0
-6
-39
0
0
-41
-20
0
-6
21
0
7
1
1
5
0
38
0
0
-38
48
-1
0
1
0
14
-21
0
0
-3
-30
0
-28
-18
-20
0
0
-48
0
-86
-8
0
7
0
-15
8
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
6
53
6
15
27
-16
-5
8
43
61
-9
-139
14
-15
18
19
22
57
-17
55
70
2
-47
36
16
6
37
27
6
-114
30
10
-14
-29
35
26
-17
-3
19
0
45
75
14
29
-30
-7
0
-72
-24
-11
53
-74
-9
48
4
17
0
-12
17
74
10
84
-33
-6
-2
-10
38
-6
28
-6
25
-14
50
-2
37
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
18
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
3
0
0
0
0
-3
0
0
-5
0
0
0
3
0
0
0
0
0
0
-2
0
0
5
0
0
0
7
0
0
3
0
0
0
-4
0
5
0
0
0
0
24
0
-1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
1
2
-15
0
56
0
0
0
0
0
0
-63
0
0
0
-1
0
0
13
-2
-4
0
-4
0
0
5
0
0
6
-11
2
0
36
0
-17
1
0
0
0
-30
3
0
-3
30
0
0
37
0
24
0
0
0
0
39
0
0
-8
-1
0
0
23
0
85
-3
0
4
0
48
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
0
8
0
-31
11
0
-28
-12
1
0
-2
0
0
-3
-79
0
15
12
0
2
-37
1
73
-1
0
-3
-22
-9
0
-3
0
3
0
5
26
8
-20
32
1
-5
0
-16
5
-15
-47
-81
-20
9
-20
-2
-47
-21
1
8
0
-18
0
-5
-6
34
-15
0
-2
0
-78
-1
3
-34
0
-5
45
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
5
-8
0
-39
0
0
0
0
0
0
32
0
0
0
0
0
0
-25
0
8
-3
0
0
0
27
0
-3
0
0
0
0
-46
0
-8
3
0
0
0
22
0
0
-1
0
0
0
-28
0
-3
10
0
0
0
6
0
0
5
0
0
0
23
0
-4
-9
0
6
0
-68
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-28
0
0
-4
-52
0
0
4
91
2
0
-19
0
0
67
57
0
-12
0
0
3
15
1
23
-32
1
0
1
31
0
0
96
55
0
-43
27
-6
20
64
0
0
20
44
0
76
96
71
0
-11
35
-3
-18
-16
0
0
27
12
-3
0
53
-45
0
3
-5
0
-62
-1
-7
0
0
-8
4
-5
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
8
0
0
0
0
0
-31
8
0
0
0
0
0
43
0
2
0
0
0
0
18
0
0
1
0
0
0
28
0
-1
-6
0
0
0
-29
0
0
3
-19
0
0
-56
0
1
0
-2
0
-6
16
-1
0
-6
6
0
0
-57
0
-2
0
0
0
0
-34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-33
-49
-66
14
-27
-11
-7
6
-19
-25
27
4
-7
11
18
-5
21
-22
4
-25
-13
2
18
-1
-11
-41
27
-34
9
-16
6
31
15
-61
47
-18
-27
4
8
22
-19
-18
-5
15
-49
-15
-11
-23
-22
14
-40
0
-41
6
-15
-111
0
-45
0
2
-4
63
0
12
-54
23
34
-26
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-48
0
0
-4
0
0
7
24
0
0
5
0
0
0
3
0
0
2
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
5
0
0
0
7
0
37
-3
0
0
2
0
0
31
0
4
22
0
0
-1
-75
0
0
53
8
0
0
21
0
-6
-13
0
0
0
-21
0
3
-5
4
0
2
21
0
4
17
0
-6
-5
-8
0
-1
0
50
0
-5
-25
0
-13
0
0
-7
0
97
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-17
0
0
1
-1
3
41
-8
0
0
-6
0
0
80
8
-53
-6
0
0
2
22
0
0
7
13
0
24
-11
0
4
-55
0
0
-7
-123
0
-8
6
18
-5
22
57
0
-71
-3
0
-1
-5
-30
5
8
0
-1
0
3
-44
0
10
0
0
0
0
-44
44
-23
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
31
-8
0
0
-5
0
3
31
-5
2
-4
-3
-1
-25
0
56
-61
16
-3
3
11
0
0
-15
0
-6
46
-13
-1
53
-71
0
0
-2
13
0
92
22
-14
0
-29
-5
-2
-21
24
0
53
-8
10
4
-1
32
0
-1
0
-18
0
43
-1
0
-19
0
-61
10
-13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
11
12
1
2
0
0
23
31
0
-1
7
0
23
-20
-2
32
48
-3
0
135
3
0
-8
-47
10
0
78
22
10
-19
2
6
0
72
41
0
1
47
1
0
-7
10
0
18
7
11
0
48
41
-4
-8
89
-49
0
8
-17
8
-46
57
1
0
0
14
-14
18
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
6
0
0
0
-3
0
0
0
0
0
0
-31
0
-5
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
18
102
12
57
-35
-15
-9
-20
-3
20
8
56
-8
7
14
-66
63
18
-15
-12
15
42
26
21
-8
10
10
7
-54
26
22
10
60
-35
-1
18
19
10
8
-8
19
-12
48
7
-26
-1
-18
11
1
0
-14
-1
25
13
-1
0
-30
-27
-11
-36
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
50
0
-14
-1
1
0
0
-76
0
0
3
1
0
0
-23
0
0
25
3
0
0
-21
0
-15
-1
-27
0
-4
-45
0
58
-10
0
0
-1
-15
0
1
-3
-10
-3
0
-13
0
-50
-4
0
2
0
-2
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
-2
6
0
9
0
76
0
0
0
0
0
-2
59
0
0
-29
0
0
0
-38
0
-3
-1
0
0
0
43
0
74
2
0
5
0
85
0
0
2
0
0
0
-20
0
-20
0
0
10
0
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
-6
10
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
-5
3
0
0
-40
0
-10
0
0
0
0
2
0
0
0
0
0
0
-52
0
18
0
0
0
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
6
12
0
5
-5
0
0
0
-49
0
0
-4
-5
0
0
14
0
-4
0
0
0
0
-22
0
0
-12
0
0
0
-75
0
-8
-19
0
0
0
-48
0
5
-1
0
0
3
102
0
-5
8
0
0
0
57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
9
0
0
4
0
2
3
0
0
0
-34
0
0
-9
0
0
8
-45
0
5
7
0
0
0
38
0
-3
-6
0
0
0
24
0
-99
0
-5
0
0
70
0
-1
-5
55
0
0
40
0
84
-3
0
0
0
-21
-66
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
-2
13
0
0
0
-12
0
0
0
-5
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
-29
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
-8
-6
-51
28
31
15
-30
18
38
-35
-29
57
1
-18
11
31
2
32
34
23
-5
-15
-52
4
19
-16
-19
-10
-3
34
-22
-43
-5
1
0
-42
-94
3
39
-43
3
-11
2
-18
-57
0
-1
-1
-3
-33
1
-55
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-28
0
0
0
2
-43
0
47
35
29
0
10
104
-1
37
-41
-25
1
29
-17
0
2
-29
23
4
2
-1
0
56
19
-1
-4
0
22
3
0
-24
-1
0
0
52
0
32
0
8
-8
0
15
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-1
0
0
0
0
-13
0
3
2
0
0
1
-15
4
0
2
0
0
0
-23
0
-2
-1
0
0
0
35
0
0
3
5
0
0
-26
0
0
0
0
0
0
24
0
-10
0
0
0
0
-9
6
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
32
0
0
0
0
0
0
49
0
-13
0
0
0
0
-15
0
-1
-2
0
0
0
-55
0
25
0
2
0
0
-26
0
0
0
0
0
0
64
0
-3
0
0
0
0
44
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
48
-13
0
0
0
-53
0
0
-25
0
0
0
-65
0
6
23
0
0
0
51
0
0
2
0
0
0
-62
0
34
0
0
0
0
88
0
0
7
0
-13
0
11
0
42
-3
0
0
0
43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
5
0
0
0
-2
0
0
0
0
0
0
-2
0
5
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
0
0
5
0
0
2
-2
0
5
-19
0
0
-24
81
0
0
-41
0
0
0
-8
0
6
-16
0
0
0
-2
0
3
-1
0
0
0
-8
0
1
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
30
-1
0
33
-17
9
35
22
-18
-1
-29
-11
69
-18
-12
-23
31
-51
-16
-101
-1
-17
-3
-32
37
-8
-77
-53
-45
-2
96
85
20
7
-8
27
-3
71
-23
-21
-41
0
13
12
-4
-21
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-61
0
2
6
0
0
0
45
0
16
0
0
0
0
-44
0
0
-5
0
0
0
-3
0
-14
0
0
0
0
103
0
0
-12
0
3
0
-20
0
2
0
0
0
0
29
-6
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-80
1
-33
20
-31
15
-7
42
45
-17
59
-3
0
-21
47
0
62
55
59
5
-4
23
0
-90
19
2
8
-29
17
1
7
24
9
12
0
-40
0
63
0
0
70
0
19
-2
-1
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
48
0
0
-9
42
0
0
78
0
-33
-40
-12
0
6
79
0
-3
14
-4
0
18
-1
0
98
18
0
0
0
17
0
-3
2
-4
22
0
84
0
31
-7
0
-13
0
32
19
13
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
3
0
0
0
12
0
2
8
0
0
0
16
0
0
0
0
0
0
-34
0
2
0
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
10
0
-31
-4
0
0
0
19
0
0
5
0
0
0
15
0
-5
0
0
0
0
-24
0
0
20
0
0
0
-14
0
5
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
7
-15
0
0
0
23
0
13
94
9
0
0
-34
0
0
42
-8
0
0
-5
0
0
17
-8
0
0
24
0
112
17
0
0
0
42
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
-56
57
60
43
-73
-42
15
5
5
16
11
-34
18
0
-1
10
-14
-4
-49
-11
-21
-39
61
13
-5
-34
10
-15
2
-37
27
-11
-4
-2
25
-39
102
-22
-65
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
1
-9
0
0
0
-18
0
0
1
12
0
0
-13
0
-5
0
0
0
0
4
0
0
-6
0
0
0
-37
0
-5
0
0
0
0
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
50
0
0
3
-5
0
0
57
0
0
8
-8
-1
-3
6
0
-9
0
5
0
0
-5
4
0
-2
0
0
0
-11
0
-7
0
0
0
0
35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
3
-10
39
22
3
-10
-69
0
4
-4
38
9
3
46
0
-52
23
0
0
-14
13
0
-2
-6
4
16
0
54
0
67
9
7
-13
0
-3
-13
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
2
-56
67
0
0
0
-32
0
1
-85
-25
23
8
33
0
-21
15
0
7
10
77
0
-16
10
7
-20
0
-33
0
-22
-8
0
7
0
62
1
-9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
15
-25
0
0
0
3
0
0
0
-2
0
0
37
0
-5
-5
0
0
0
-44
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
-13
-26
3
0
0
66
0
-5
22
-3
9
1
90
4
-3
-13
3
0
0
25
0
31
6
0
0
0
71
-15
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
-24
13
58
4
-30
55
1
-19
13
19
13
-45
24
-5
111
-5
8
0
-13
53
2
-3
2
26
-11
-31
-15
-6
25
-20
30
9
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
-25
0
0
5
6
0
0
-50
0
0
-5
0
0
0
53
0
-7
0
0
0
0
4
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-2
0
45
4
-3
0
-56
0
126
65
4
0
-42
-30
0
0
-24
3
-24
0
8
0
-26
-1
22
-53
0
13
30
40
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
56
0
-11
9
29
-8
41
0
0
36
103
-8
2
-25
-11
0
-22
122
-26
-5
-3
-12
0
27
12
0
-10
0
2
-104
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
41
0
0
0
72
0
-2
0
0
0
0
61
0
0
0
0
0
0
0
0
-4
-2
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
0
6
28
-10
0
-1
31
0
4
-6
0
0
0
45
0
0
0
0
0
0
-80
0
8
0
0
0
0
77
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
29
5
-7
-3
0
7
0
2
-3
5
0
0
47
0
92
16
0
14
0
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-6
15
-18
5
78
-145
-36
11
20
-56
50
-20
13
28
-9
7
4
53
-2
-18
5
-7
-20
-6
4
72
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
3
0
0
0
-48
0
0
7
0
0
0
-43
0
-2
0
0
0
0
10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-24
-1
60
8
0
0
-2
-64
1
0
-8
-17
-4
0
59
0
20
0
0
53
-4
1
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-28
0
16
58
17
34
30
-30
0
21
-23
-14
4
0
-4
0
25
1
-1
-69
0
-28
29
-41
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
6
36
-50
0
-8
-7
-10
1
30
54
1
1
1
21
2
49
6
0
-2
0
-68
-3
5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-74
3
0
0
-1
-17
0
0
14
0
0
0
-3
0
10
-6
2
0
0
20
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
25
-5
41
0
0
51
0
99
13
0
-7
-3
-30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-23
-10
50
-34
56
99
-96
7
44
-24
60
-6
51
-14
26
7
-23
8
-17
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
34
0
-2
0
0
4
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-5
0
6
-23
3
-31
-1
-25
-1
47
-20
7
-1
0
-3
-2
14
-1
57
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
0
48
-56
138
-8
0
-12
0
0
0
0
23
-4
-41
28
1
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-54
0
0
-7
0
0
0
-9
0
7
1
0
-3
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
43
0
57
0
5
0
0
12
-8
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
3
53
-3
22
47
-41
-2
-19
-93
40
-30
-21
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
7
0
1
13
0
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
34
0
57
0
0
57
0
-47
43
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-10
0
33
-24
0
5
0
-48
-43
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-45
8
4
0
0
-98
2
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
27
111
17
-67
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
26
8
-34
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-12
34
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-26
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-9
-4
0
0
5
7
0
0
-3
0
0
-5
1
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
-1
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-30
0
0
-17
0
0
0
-2
0
0
54
0
0
0
-1
0
0
8
0
0
0
0
0
1
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
-1
0
35
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-21
0
0
0
0
0
0
4
0
-3
-9
0
0
-11
-17
0
0
-1
0
0
-3
-13
0
0
8
0
0
0
-40
0
0
-4
0
0
0
0
0
-2
-3
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
8
0
-5
49
0
0
-2
0
0
0
16
0
0
-3
0
0
0
6
0
0
7
0
0
0
-8
0
-1
-19
0
0
0
-54
0
0
6
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
0
-1
0
0
0
-18
0
-2
2
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-35
-26
7
3
20
-27
10
1
30
-60
55
-4
6
-11
0
0
0
0
0
0
0
5
42
30
-37
30
-10
-28
-1
21
-33
-58
-19
-22
34
-2
36
-16
12
-11
-21
-13
-68
35
50
0
-28
66
3
-12
-101
0
5
-40
-16
-5
-14
2
3
5
26
-7
-21
-5
-16
-6
-89
2
2
-2
9
-20
38
-26
-11
22
37
-18
-2
15
-17
2
4
10
1
3
1
-10
-12
-22
-2
3
-25
42
-55
-2
7
3
-10
39
-78
39
4
-5
-2
33
24
18
-28
-11
-7
2
-33
-65
6
-65
-28
-20
20
-44
2
-3
-10
34
9
8
17
1
133
-61
-8
-4
-16
5
11
-49
5
-1
3
-9
4
2
-40
6
11
7
-66
-7
-4
-35
23
2
-5
-18
2
3
-78
-50
1
-110
-33
6
-5
-40
12
-4
8
-15
33
-5
-31
23
6
36
-14
18
0
-1
30
-39
4
1
-98
-1
18
-86
6
2
-14
-23
-1
-51
-34
-1
37
-23
4
3
91
62
-1
-54
-4
24
2
21
33
19
13
-15
-4
4
-26
-40
6
-3
-6
10
0
-41
5
-7
0
-30
7
3
66
-14
-29
-22
27
0
-4
25
-13
19
5
9
-3
-1
-42
-39
42
78
4
5
12
-28
-88
-50
32
-25
42
7
-54
-20
-34
-44
20
-5
-6
-34
-51
-9
-32
-48
40
10
-3
-33
-10
84
-35
22
-7
-10
10
11
-7
-37
15
11
73
-4
2
-40
16
-27
15
34
-46
20
9
13
11
0
-4
6
5
-40
-1
95
-8
43
-53
10
-38
46
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
10
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
51
0
0
0
0
0
0
-13
0
0
0
-1
5
0
35
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
16
0
53
3
-2
0
0
0
6
66
0
0
0
0
0
5
0
0
-2
0
0
0
6
9
0
0
-4
0
0
-2
47
0
0
1
0
0
0
36
0
0
-5
0
0
0
-8
0
-27
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
27
0
0
0
0
0
0
-7
0
0
0
1
-5
0
0
0
0
0
0
0
1
-64
0
0
3
-4
0
1
23
0
0
6
0
0
0
-7
0
0
0
0
0
0
50
0
0
0
0
7
0
8
0
0
-2
0
-7
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-48
0
0
0
0
0
0
86
0
3
0
0
6
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-10
0
0
-30
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
3
70
0
0
0
0
0
0
-28
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
14
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
75
0
0
0
0
0
0
-5
0
0
0
0
0
2
47
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
-8
0
0
0
13
0
0
-1
0
0
0
18
0
0
0
0
0
0
24
0
0
0
0
12
0
-72
0
0
0
0
0
0
34
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
1
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
18
0
0
0
0
0
94
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
37
0
0
0
0
0
0
40
0
0
0
14
0
0
37
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
-13
0
0
0
0
0
-2
-2
0
8
7
0
0
-2
-16
0
0
1
0
0
-2
-7
0
0
0
6
0
0
9
0
0
0
0
0
0
1
0
-14
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
59
0
0
0
0
0
0
57
0
0
3
0
0
0
68
0
0
0
0
0
0
57
0
0
-5
0
0
0
-12
0
0
-4
-2
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
0
0
0
50
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
109
13
0
0
14
0
0
31
0
0
0
0
0
0
8
-9
0
0
0
-3
0
0
0
0
4
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
21
0
0
-30
-8
0
0
10
0
0
28
25
0
0
-12
-5
-9
-8
5
0
0
-3
0
-12
4
0
0
0
-11
0
-24
13
0
0
0
-3
0
1
0
7
0
0
-1
0
-17
0
0
0
0
0
0
7
0
52
-2
-1
0
0
0
0
-10
0
0
1
0
0
0
109
0
18
-5
5
0
-3
24
0
0
26
0
0
-2
30
0
0
41
0
0
1
11
0
0
-3
0
0
0
11
0
26
3
-3
0
0
-19
0
0
0
0
-1
0
-1
0
0
0
0
0
0
28
0
-1
0
0
0
0
-78
0
0
-8
0
0
0
52
0
0
0
0
0
-1
-4
0
-1
-14
-4
0
0
-63
0
0
-2
5
-1
8
-108
0
9
-14
0
0
0
-73
0
0
0
0
8
0
-3
0
0
0
0
-6
0
-8
-1
0
0
0
0
0
15
2
0
0
0
0
0
-6
0
3
0
0
0
0
4
0
0
0
0
0
0
-5
0
6
3
0
0
0
24
0
2
0
-8
0
0
15
0
-1
3
3
0
0
-12
0
0
0
9
0
9
-78
0
17
0
0
-6
0
-13
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-5
-6
0
0
0
0
0
0
0
0
39
0
0
0
4
0
0
18
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
36
0
0
-2
0
0
6
0
0
0
0
0
1
1
0
-1
0
0
-8
0
0
0
-69
-2
0
-58
0
0
0
60
0
0
54
0
0
0
37
0
0
39
0
0
0
-2
0
5
-7
0
0
0
-94
-9
1
-5
0
0
0
16
0
-1
0
0
0
0
0
0
50
0
0
0
0
0
0
-3
0
-11
0
-5
0
0
0
3
0
0
0
-9
0
0
-6
12
0
-62
2
0
0
49
-27
0
0
-21
0
0
0
56
0
0
-3
0
0
0
-3
0
0
-11
0
0
0
1
0
-13
0
0
0
0
14
0
0
0
0
0
0
36
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
39
0
0
-5
0
1
0
-58
0
0
5
17
-3
-7
37
0
0
32
0
0
0
12
0
0
16
-1
0
0
37
0
0
0
0
0
0
-4
0
0
-1
0
2
0
-56
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
18
3
0
0
4
-13
0
0
0
9
0
0
20
0
12
29
0
0
9
-15
0
-3
0
-5
0
0
26
0
-4
-3
0
0
0
1
0
0
0
0
0
0
-4
0
1
0
0
-1
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-2
4
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-58
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
-7
12
0
0
3
0
0
91
0
0
0
25
-1
0
8
0
0
0
5
0
0
8
0
0
0
24
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
-41
0
0
0
0
0
12
7
0
-41
-7
0
0
-1
10
0
0
-4
0
0
5
88
0
0
10
0
0
-3
-11
0
0
14
0
0
0
41
0
-15
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-25
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
4
0
0
3
-39
0
0
-7
0
0
0
40
0
0
0
3
0
0
13
0
0
-6
0
0
0
-4
0
0
0
0
0
0
-78
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
2
0
0
0
0
5
0
0
0
0
0
0
-1
0
6
0
0
0
0
13
0
0
0
0
0
0
5
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-13
0
-6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-125
-90
-1
-2
0
-32
0
0
0
0
0
0
0
23
50
32
118
31
-7
-15
9
31
22
9
41
19
13
-10
-38
-9
38
-34
16
-24
30
-33
-47
6
-51
-14
-1
8
-29
2
-3
-24
-1
-20
-32
0
-45
-4
-4
15
35
-33
-38
-6
3
-23
5
-9
7
-57
-33
-15
50
-48
-15
2
-21
59
156
8
5
50
-3
7
-36
-7
71
-63
-10
-4
-61
-30
-112
1
-17
-3
-8
46
70
16
-34
-35
1
-72
-6
-32
-41
34
-24
5
-20
-55
50
-8
-69
57
24
17
2
-52
8
29
21
-4
-29
-1
-28
-5
-7
49
49
-33
-13
-50
-11
-4
2
-6
2
4
20
-6
0
24
-23
30
-2
-8
-11
4
-21
-16
-4
1
-47
77
20
-12
-7
-42
6
-55
3
-4
14
-11
-21
4
-111
19
38
37
37
40
-3
-23
-4
-35
31
16
21
3
-40
36
2
-30
-42
-83
-20
-23
-19
-19
8
12
-14
-3
-12
26
6
-74
28
-21
-6
14
-14
5
-13
-63
-30
0
-42
-46
0
60
-32
13
5
72
42
12
13
57
-23
-4
-44
-38
-1
45
46
6
-4
54
7
-26
8
12
-20
13
-26
-19
36
-33
-11
0
-10
29
-98
30
-35
-40
-49
-26
-55
-13
26
-103
-18
-102
8
17
139
3
-22
-17
-11
1
17
-37
-12
54
-4
14
-2
-14
12
12
-7
-10
-24
0
70
-28
10
-28
-32
-8
-19
-85
-28
-7
-17
12
50
-2
-59
-15
-73
-50
13
-31
8
1
-5
3
56
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
115
0
0
0
0
0
-102
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
45
0
0
-24
-1
0
0
0
0
0
-9
-1
0
0
-6
3
0
-19
17
0
0
0
0
0
-6
0
0
0
-2
0
0
-6
1
0
0
8
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
44
0
0
0
0
0
2
-1
0
0
0
0
0
0
1
0
-41
-36
0
0
8
-32
0
0
2
0
0
-2
28
0
0
23
-2
0
-3
4
0
0
-1
0
0
0
-12
0
-22
-2
0
0
0
-2
0
0
0
0
0
0
-120
0
0
0
0
0
0
-28
0
0
0
0
0
0
-27
0
0
0
0
0
0
-33
0
0
-4
0
0
0
-8
0
1
-8
0
0
0
-6
0
17
-1
0
0
0
41
0
0
42
0
0
0
-6
0
0
0
0
25
0
31
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
1
0
0
3
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
2
0
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
7
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
12
0
0
0
0
0
0
-1
1
0
0
3
0
0
17
0
0
0
-7
0
0
0
0
0
0
-48
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
5
31
0
0
0
0
0
0
0
0
-41
0
0
0
-1
-51
0
0
0
0
0
0
8
0
0
-3
0
0
0
-27
0
0
0
0
0
0
-22
0
12
6
0
0
0
2
0
0
0
0
0
0
61
5
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
6
0
0
0
0
3
0
0
0
0
-4
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
-8
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
7
0
0
0
0
8
0
0
0
0
0
0
-6
0
7
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
-3
10
0
0
0
0
0
0
0
0
-6
0
-3
0
1
0
0
13
-2
0
0
0
0
0
-9
0
-2
0
32
4
0
2
0
0
-1
0
-4
0
0
0
-11
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
-5
0
0
-43
-3
0
0
0
-3
0
15
-1
0
0
76
18
0
9
3
0
0
-44
0
0
-21
0
0
0
-12
-23
0
-28
-1
0
0
-7
9
0
0
-6
0
0
23
-31
0
0
-2
-7
0
0
-1
0
0
11
-5
-2
0
0
0
32
-51
0
2
-1
0
0
6
-2
0
69
14
0
0
-16
29
3
0
62
-13
0
27
23
0
0
71
-4
0
-1
-9
0
4
-22
0
0
28
6
0
-43
13
-5
0
0
0
0
14
0
13
0
0
36
-24
0
0
3
0
0
44
0
0
0
0
0
0
-102
0
0
-1
-9
0
0
53
0
-1
19
0
0
-8
66
0
7
-59
-6
0
4
37
0
-1
-29
-8
0
-20
44
0
0
-40
-14
0
4
15
0
1
-37
0
0
-3
77
0
-2
-6
-7
0
0
-9
-9
0
0
0
0
0
-56
4
0
0
0
0
-1
2
0
16
0
2
0
0
-14
0
4
12
0
0
0
-17
0
-25
-3
8
0
0
-9
0
7
1
-5
0
-9
-47
0
-30
-1
-6
0
0
19
0
0
-3
-3
0
0
-62
0
8
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-33
-5
8
33
-20
-3
-14
-96
-20
-1
2
-8
1
46
-5
-3
-3
-56
23
0
-5
1
1
-22
0
0
-85
0
0
0
0
-3
0
-1
1
49
6
0
-6
-2
9
-1
-50
-2
0
-13
-48
41
29
65
17
0
-140
17
3
8
43
-4
21
-15
-20
36
6
40
13
6
58
0
-66
-11
-2
0
0
-15
9
-95
-54
-20
0
0
-19
0
-51
26
-45
0
0
-25
-34
-24
0
6
9
0
-3
25
-16
-2
46
20
-1
1
-63
0
5
-42
-3
0
12
-4
4
60
-13
-7
-49
-14
-45
3
-4
-35
2
6
-18
5
5
-36
2
0
8
30
-21
-2
-26
-10
0
25
21
1
0
-6
2
-5
-50
45
-55
-13
-1
-78
0
-6
30
2
-84
0
8
-24
-9
0
1
-3
0
-5
9
5
0
75
-1
-17
-3
-1
18
-49
47
0
-30
-1
0
9
3
5
-55
28
-3
-5
-5
12
53
10
83
10
-4
-5
-43
-23
-24
7
-24
1
-8
-99
-40
65
0
35
1
4
-42
1
-106
-1
-17
0
-8
-16
-96
-13
0
-9
-8
-2
0
38
-5
0
25
12
0
7
0
0
0
-57
-8
18
0
4
20
6
3
0
32
75
-25
8
24
-62
12
17
-45
-3
0
-2
-45
6
-49
-64
-45
2
1
-46
0
-93
21
-68
-5
0
51
0
29
96
-37
-1
0
-5
0
33
-10
1
-28
0
14
-18
-6
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
-7
7
-34
4
-3
-24
5
0
0
-2
0
1
3
-8
-1
-4
0
-1
26
0
0
0
17
0
0
-15
0
0
12
0
0
0
0
2
2
32
0
0
-1
0
13
-25
0
1
-117
-76
10
-118
0
0
7
30
0
-20
103
-2
0
2
65
29
13
42
22
0
5
15
0
10
12
22
0
1
67
13
13
-72
0
0
0
43
0
-10
0
5
0
0
11
-1
-7
0
0
3
0
0
0
1
0
-59
-22
-1
0
0
0
-51
-80
0
0
64
0
0
-28
0
0
-4
-46
-14
0
4
-42
0
7
39
1
0
-38
40
0
5
12
6
1
-33
23
0
-1
50
0
0
0
-46
2
-14
118
33
0
0
-15
0
0
-1
0
16
0
0
5
-10
0
4
0
0
-28
-1
4
-1
-9
-1
-8
-21
0
2
0
-2
-1
-1
0
4
5
-44
1
23
-54
-25
5
12
-54
-24
-5
-24
24
8
34
-6
-10
-10
5
-55
0
68
4
-76
-17
0
-1
0
-5
-1
0
33
0
1
0
-3
2
-36
-87
0
-48
-8
-2
0
-15
0
0
-10
0
0
-27
30
0
-8
-38
0
-57
-2
0
0
47
0
0
3
-47
-7
2
-6
14
0
115
12
-1
-9
-1
16
0
61
53
34
-3
13
7
0
6
1
0
0
0
-49
0
-1
0
-12
-5
0
-68
0
8
4
0
-112
0
-22
-4
0
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
6
0
0
-4
0
1
-41
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-5
0
0
-60
0
0
0
0
0
4
23
0
0
0
0
-1
1
0
0
-9
7
3
-41
-5
0
-4
13
0
0
9
0
0
1
18
18
0
26
1
0
0
51
0
1
7
16
0
0
-11
-3
-14
22
0
0
0
5
0
5
0
5
0
0
0
0
-21
0
0
-1
0
0
0
0
0
15
0
5
0
0
0
1
36
0
0
8
0
0
52
2
0
-58
101
-4
0
-16
-35
0
2
-62
0
0
-45
24
0
-1
20
2
0
1
57
0
0
9
-4
0
0
-4
0
99
3
2
0
2
57
0
0
0
0
0
0
31
0
3
0
0
0
0
-28
0
0
0
0
0
0
-21
0
-1
-2
-3
1
0
20
0
0
-27
0
0
0
-5
0
0
4
0
0
2
37
0
-1
17
0
0
-2
-12
0
4
31
22
0
0
3
0
0
0
0
6
0
-16
0
0
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
38
0
22
0
0
0
0
9
0
4
-3
-1
0
0
-5
0
0
0
0
0
0
-31
0
0
-3
1
0
0
-14
0
-6
0
0
0
0
-19
0
0
4
0
0
0
-22
0
19
-1
0
0
0
21
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
26
0
0
-9
0
-3
-11
-2
0
0
-1
0
0
2
23
3
0
-6
0
0
-10
0
0
42
0
-1
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
12
41
0
0
-19
30
6
20
2
8
-1
55
0
0
21
23
7
0
-11
10
4
-24
10
0
0
-2
0
6
50
-4
0
0
39
4
-12
-9
5
-1
0
-2
0
-6
0
-2
0
0
1
0
75
0
0
5
0
0
1
-6
7
-26
2
-1
3
-6
0
-33
-7
0
0
0
0
0
29
-12
0
-35
-29
70
0
-96
19
0
-3
40
10
3
49
-63
0
-1
-16
-6
0
13
3
0
0
67
0
-4
-6
-34
0
-19
3
-7
1
0
-26
0
0
0
3
0
0
-11
23
2
0
0
0
0
-6
1
0
0
0
0
0
16
0
0
-1
14
0
18
-24
0
0
-1
2
12
0
-40
-7
0
-5
6
0
-10
13
-14
0
39
4
0
4
-17
-6
0
8
0
-8
0
-12
0
0
31
7
0
0
8
0
5
2
0
-21
0
19
0
0
0
0
0
0
27
0
0
0
1
0
0
15
0
3
0
0
0
1
31
0
-2
-2
-8
0
0
37
0
-10
-8
0
0
8
53
0
2
1
0
0
-5
14
0
18
-28
0
8
0
-18
0
0
-5
0
5
0
-92
0
-12
0
0
-2
0
39
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
16
39
26
-24
-14
-2
17
-6
-2
-8
-15
3
3
6
-43
8
-6
45
-29
-44
12
4
0
14
31
-2
-10
0
0
-6
0
0
0
-3
0
-28
-23
-1
0
-5
10
-6
5
2
2
-47
-8
10
-19
-30
5
21
21
-5
-5
13
47
18
4
-44
-52
-15
-9
58
83
9
-27
39
-32
-25
64
16
-1
5
-24
56
-31
37
0
-3
-46
-10
47
43
-24
-1
0
48
24
5
-3
0
-34
0
-1
17
20
3
-8
37
-23
0
-58
0
-55
-18
0
0
3
5
-29
5
6
-1
-5
29
22
-17
-51
-5
1
-16
28
-46
1
-19
1
36
24
36
-11
25
6
4
13
-5
22
-9
9
-12
21
0
12
62
14
13
52
-16
0
-1
42
4
-19
0
-10
-60
-29
0
57
9
-1
-19
55
-1
0
-17
17
27
-23
-31
0
16
-34
-25
37
-3
-5
-9
-40
2
-35
-93
7
49
45
-52
-3
-38
-23
-45
40
-16
-40
-74
-49
-52
-3
-1
14
-22
8
42
-12
-7
0
-1
42
-34
41
17
11
-2
-4
15
-6
9
0
-8
2
0
1
-12
-17
0
-18
-7
-1
0
17
2
-5
-49
8
20
29
-1
-2
2
-9
-16
-21
29
-43
8
-11
-19
1
54
63
-64
64
-9
-4
4
30
9
-2
-40
-52
-7
-2
-17
-31
-13
-11
-4
-6
-1
-6
45
-4
-26
-2
12
0
28
-32
1
62
0
25
1
2
-5
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-2
33
-13
-65
-1
-24
5
-4
0
0
8
-1
21
-80
-20
-8
-4
3
0
14
-1
-3
-1
-3
0
0
-37
0
0
-9
0
-7
0
-76
7
59
-17
1
1
0
-14
32
65
-8
-1
-20
9
0
-6
8
0
-1
-60
0
59
-64
28
1
0
-38
-1
-63
-11
-48
6
-1
-77
0
-7
-47
-30
0
-1
-28
0
-28
4
-7
0
0
63
0
27
-5
-3
0
0
-29
0
1
0
-30
-47
0
0
8
-9
2
10
-42
-35
-135
0
-5
-13
7
0
7
0
0
9
-60
-54
0
11
5
-4
5
-2
-10
-1
4
-51
0
-8
-10
-27
-4
1
-41
2
-1
-8
5
0
29
-3
0
83
12
-6
0
9
4
0
95
25
5
3
-2
2
0
-22
1
-13
23
-76
0
0
49
-3
-13
-65
-1
5
0
2
-35
18
0
-3
45
0
6
37
-17
-4
-4
57
-2
13
52
35
0
-13
8
2
25
22
21
-9
13
9
0
28
8
-49
-2
-17
5
0
16
73
5
-8
-17
34
4
70
-25
35
0
8
60
0
-42
0
-4
-28
-7
-3
0
126
0
-1
-3
0
-9
0
-1
-13
25
0
57
-45
0
-6
-58
-58
0
6
32
0
-6
90
39
-4
-60
11
0
5
-64
32
8
-22
-30
2
24
41
33
3
-74
-3
0
-33
15
32
-14
5
39
1
17
2
19
0
41
0
0
117
0
19
37
51
5
0
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
0
0
0
3
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
30
0
0
0
-17
0
0
46
0
0
0
0
0
0
0
0
0
0
-28
0
0
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-38
6
0
0
0
0
4
44
0
0
0
0
0
0
9
0
8
12
0
0
3
11
0
0
13
0
0
8
6
0
0
17
0
0
0
5
0
0
-8
0
0
0
-1
0
-22
5
0
0
0
-56
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
-25
0
0
2
0
0
0
-104
0
0
13
-6
0
-1
-69
0
0
9
0
0
0
13
0
0
-1
0
0
3
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
-3
1
0
0
-21
0
2
0
0
0
0
-18
0
1
8
14
0
0
-8
0
0
0
1
0
0
-38
0
0
0
0
0
0
44
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
64
14
-37
61
12
10
36
-45
-17
-35
58
3
-4
44
-51
13
-63
18
-9
-116
0
0
-14
0
0
-12
0
7
12
-62
-13
28
65
0
109
31
-5
-7
35
-24
81
59
49
-5
-4
54
87
-6
-45
47
-50
-74
-40
-43
-13
-18
-21
52
-54
-18
7
14
82
-67
32
-6
13
-36
-68
-50
29
-8
-22
-60
69
-120
0
-55
-2
-1
-28
-36
-104
0
32
-16
1
8
-42
-20
28
-17
-41
32
-21
37
-1
10
-42
-11
-26
14
-14
-74
-7
-19
11
24
-15
-16
-23
43
61
10
9
15
75
19
-2
-13
-9
3
10
73
-10
2
9
14
-58
-28
36
-30
26
-25
-10
-19
51
74
-9
-2
-83
-3
-44
-32
-27
-46
0
-31
-97
-38
0
1
4
0
-25
-42
-14
39
23
12
53
-10
-54
-51
39
-41
31
46
-74
-3
59
-42
-67
3
74
5
38
-49
5
-14
32
-25
-59
-60
1
41
38
46
8
-43
-2
4
-69
-13
75
2
-9
46
8
29
54
25
11
-89
-6
31
-56
4
-11
0
-29
-31
44
2
54
41
-6
8
84
-23
-8
22
-14
7
-21
-5
-38
-96
82
-53
20
15
5
-41
56
-69
78
-59
-16
-8
-5
26
55
66
10
-13
47
-14
0
55
35
22
-9
-2
33
-17
52
28
10
-19
9
-6
-60
-35
7
40
-46
-4
34
4
26
12
0
-26
65
42
37
-21
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-129
47
0
0
-3
0
-3
1
7
-1
-2
8
-7
-1
0
-1
0
-9
0
0
0
0
0
12
0
0
0
0
-1
30
26
0
12
0
0
86
53
0
0
25
-32
11
103
2
0
0
82
0
-5
26
8
4
-7
68
-25
60
-100
0
3
-8
0
-3
51
59
59
0
-3
-105
-28
-45
-4
-4
-6
-3
4
0
-42
-3
-31
0
0
45
-48
-90
-1
0
-55
3
0
-1
-6
0
-37
-16
-30
-6
-13
0
44
-16
4
0
-8
0
1
36
38
0
12
70
50
0
-31
-64
2
-30
66
0
0
-6
0
5
-2
-34
-31
-9
6
-65
0
10
-86
10
-1
-48
-15
0
-15
-46
22
-1
8
-33
0
0
1
0
-19
0
-1
-83
87
0
2
0
0
-4
0
0
-1
19
0
17
-13
5
-7
1
75
-2
-19
36
-17
-1
-21
0
2
-81
1
0
-68
16
-43
-17
-24
0
85
-21
4
57
-19
-47
-28
-4
-74
53
86
7
78
-23
4
34
93
3
-47
-25
-90
0
32
98
-71
4
0
17
-28
4
0
-9
20
0
-71
0
-2
0
53
0
-1
-87
-1
-63
0
-5
0
22
14
-3
-48
-41
13
0
75
-7
0
11
-40
-12
0
-15
0
-5
93
27
79
-8
6
-43
1
-7
-3
6
18
-2
26
0
14
-15
47
18
-21
-25
-19
-57
-19
5
-29
0
20
-17
7
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
3
0
0
5
9
2
0
1
0
12
0
0
-7
0
0
51
0
2
0
0
0
4
-1
0
0
0
-2
-3
6
0
0
7
-1
16
-27
3
0
0
7
0
7
30
0
0
0
31
2
-21
-47
-8
0
4
80
0
-18
-35
14
0
9
-56
2
3
5
2
0
0
49
0
2
0
-1
0
0
-5
0
-33
0
-7
-8
0
0
-9
53
0
30
14
-8
1
-3
0
-4
8
0
0
7
1
7
-25
-19
0
-13
42
-30
1
94
23
0
0
26
0
0
2
-5
0
-8
45
18
-1
4
4
0
2
-90
0
4
-7
-16
0
37
-7
-3
0
-3
-73
0
0
-12
0
-2
0
-6
-1
0
0
0
9
-1
0
3
0
0
0
0
-1
-20
0
3
-15
0
-7
-8
-33
0
0
-14
0
-1
6
23
12
0
101
29
4
-7
6
8
-7
4
0
0
29
-5
0
2
12
-31
0
2
-7
0
0
-2
0
0
0
1
0
0
7
0
5
0
-33
0
2
0
0
0
0
3
-4
0
5
7
-6
0
43
0
19
0
0
0
0
-51
0
-9
-1
24
0
4
5
0
-5
0
0
3
0
-53
-2
13
40
8
0
0
-70
0
-15
7
0
-5
0
23
0
-10
7
9
8
0
-26
0
-3
2
0
-9
0
-86
-10
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
8
0
0
16
23
0
0
7
1
0
0
2
0
13
0
0
-20
0
0
-6
0
0
0
0
0
-3
32
0
0
8
0
40
42
0
0
61
64
5
-3
-4
0
0
-4
0
1
4
21
-2
0
4
-47
2
-16
41
2
8
75
0
16
31
7
0
8
-4
1
-2
-10
-13
0
0
-4
0
-5
-2
-5
0
0
0
0
-39
0
0
-17
0
0
0
-6
0
-47
-14
5
0
4
0
12
-48
0
0
-2
0
0
-79
-50
0
36
-55
15
0
32
13
0
2
21
0
0
74
6
0
-1
44
52
0
71
8
0
-7
-57
-6
1
-28
-43
0
67
-4
-17
0
5
20
0
0
1
0
0
0
-15
-1
6
0
0
0
-1
-7
0
1
0
0
0
-4
-44
8
0
30
-14
0
-19
45
0
1
-32
0
0
6
8
-1
-1
-81
70
-7
-13
43
1
0
-83
0
5
-21
7
0
4
88
10
1
0
17
0
-2
-5
0
0
-1
36
0
4
5
2
8
0
25
3
0
0
3
0
0
-20
2
0
0
4
0
0
13
3
47
-5
3
0
-5
-23
0
-8
6
-3
0
0
-22
10
43
-25
4
2
10
-39
0
5
2
-4
4
0
-36
13
40
-45
0
0
-8
25
0
-8
1
0
0
0
-33
9
21
0
1
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-179
-8
4
10
4
-1
0
-28
-7
25
0
-16
3
-3
0
-8
-2
-106
9
-18
-67
0
1
-14
0
0
0
0
0
6
44
0
-1
0
0
-34
11
0
7
-10
-83
24
33
72
0
5
57
0
-6
21
40
4
34
-19
-47
32
-37
107
5
29
27
-5
10
86
-31
9
1
-57
3
77
23
43
8
0
3
0
-39
-31
-2
-7
0
-16
-7
-39
7
0
-34
1
0
-6
35
0
7
-18
-13
0
-4
0
114
17
0
0
-28
-1
-1
-67
10
-1
-15
-82
-92
1
27
-11
1
-2
8
-41
0
-52
29
-2
3
41
-2
-5
52
-37
0
-13
-159
0
9
73
-12
2
-5
1
-1
0
-11
-17
0
1
-3
0
45
0
-17
-1
89
0
-5
3
0
-17
9
0
0
7
22
8
30
22
-5
-3
-19
6
42
-11
0
1
-22
8
5
-12
-53
-10
-48
-22
15
-6
51
-5
14
51
-48
51
-2
-64
-26
2
12
19
-6
14
5
-47
8
2
-81
3
-28
4
-53
1
14
0
5
-109
0
-32
4
-1
0
22
2
0
75
-24
0
-1
-19
0
-1
36
0
31
-13
-9
2
1
42
0
13
-4
-4
-6
-7
-56
-1
40
-23
50
1
43
-99
-1
-63
-47
-12
-5
-13
-128
7
27
-21
0
-8
-3
34
-4
13
-19
-17
-13
0
-4
-2
-74
4
14
3
0
-2
-5
0
-6
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
2
2
0
-7
10
1
0
0
22
0
25
1
15
0
-5
0
0
-26
0
0
1
0
0
0
0
0
-5
24
0
0
0
2
-38
22
0
0
8
-2
-42
-8
14
7
0
10
0
-8
-1
23
0
0
-20
0
23
1
-4
0
5
10
0
-37
-3
-2
0
0
-39
0
-111
-12
-8
0
0
58
0
-35
2
19
0
0
5
0
4
0
0
-23
0
0
0
-23
0
-5
-56
18
-9
0
0
73
-4
0
0
91
-2
0
-11
0
0
-39
24
-1
0
23
-7
0
0
-17
14
0
36
62
0
0
55
2
3
-9
-17
0
4
-13
0
-1
-15
2
0
-90
-94
0
-6
0
26
0
0
-17
0
10
0
-5
0
-2
0
0
-2
0
-45
-6
3
0
1
0
-7
23
0
0
6
0
-6
44
33
2
0
-35
14
-13
55
19
0
-3
6
5
1
-18
-9
0
-12
36
0
37
30
39
0
8
-4
8
-7
-23
14
0
0
-75
0
75
0
24
-3
0
-16
0
-59
0
0
2
-6
0
0
8
0
-48
9
0
0
0
0
0
-14
-3
-28
13
0
0
17
6
0
0
116
1
0
2
12
0
-17
37
0
9
-1
14
0
-3
-91
-8
1
2
3
0
-56
-52
0
-5
0
-40
0
-9
-6
0
-13
0
1
0
83
6
0
35
0
-83
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
-5
-41
0
0
2
-41
0
0
0
0
40
0
0
0
0
0
-21
0
0
0
0
0
-1
-29
0
0
0
0
15
-53
0
0
-44
-28
0
35
-4
0
0
17
0
0
12
13
5
-1
34
17
0
-2
-13
4
0
-29
0
0
45
32
0
0
48
-19
0
76
18
0
0
56
0
0
2
-21
-1
0
-1
5
-1
0
-4
16
0
0
0
0
0
-3
-2
-23
-7
39
0
-15
-6
2
0
14
0
0
8
37
0
-40
39
17
0
-24
36
0
0
30
0
0
-63
17
0
0
11
-65
0
12
-14
0
0
41
0
0
-33
0
10
-10
24
-7
0
5
-57
-4
-19
3
-8
0
0
-54
-16
-3
0
-2
0
0
53
24
0
2
1
0
5
64
0
1
20
-11
0
6
50
0
0
44
0
0
41
34
0
-4
-1
59
0
18
-37
-2
-6
-24
0
0
-15
32
0
21
-16
-72
1
5
48
-1
8
-70
0
0
0
-42
-3
-2
-6
-18
0
0
-50
-3
0
0
0
0
0
73
8
0
8
-14
0
0
21
0
-24
0
0
0
1
18
0
0
-5
-43
0
-1
23
0
-10
-78
0
0
8
-13
2
-4
21
-12
0
0
9
0
-11
53
6
0
-4
-57
-3
-9
-31
32
0
0
-38
0
16
0
0
0
0
-28
8
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
60
149
9
-7
-12
-65
2
-32
8
-2
66
-3
-23
7
12
-5
0
0
1
-5
-16
-10
-72
0
27
-30
7
-21
53
4
-1
0
13
-72
4
-43
52
-5
-31
33
-61
-39
9
3
49
-20
5
-52
-118
4
53
12
12
-55
13
-60
3
-36
4
-10
-62
-6
34
-37
28
40
0
-34
-25
-2
47
29
-1
-52
35
-21
0
-60
-47
0
8
58
-46
-1
2
-15
-12
-13
23
0
1
-9
-2
5
-35
-6
-9
9
24
-4
22
-14
5
-3
-2
3
-3
70
27
-16
-3
-37
-5
45
-5
-2
-34
81
-38
-3
-4
-2
-18
-32
35
-19
-14
0
-14
8
-22
68
-13
2
39
-3
8
-3
11
0
3
-43
-150
-1
27
8
30
-20
-19
-1
47
-41
-14
-124
-6
5
-6
-87
-21
12
-39
-10
-10
26
-42
67
-23
-57
-19
-24
28
-23
18
11
14
-14
46
-64
-1
5
45
-4
-15
42
17
12
13
7
-8
-4
-9
-81
19
41
-26
2
-9
-8
11
4
-12
-13
-1
-33
-14
7
9
7
-51
1
-52
40
-31
11
59
-24
-25
15
-25
5
-3
-25
-39
-18
-21
-14
-43
53
-11
-70
-16
8
-5
-2
39
-21
76
73
-27
-48
-52
25
18
-24
1
-18
21
-31
14
-2
-23
2
-44
23
-57
2
0
9
-1
3
-1
-35
41
-28
23
0
-14
-25
-22
32
-35
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-15
0
0
1
0
0
-85
0
0
0
0
0
4
5
0
2
2
0
-33
-2
-1
0
-64
-98
6
38
1
0
0
-89
-2
0
35
6
0
-2
4
5
0
31
8
0
0
-27
3
-4
5
0
-2
0
-63
1
-4
4
-13
0
0
-1
9
-1
0
23
0
0
0
0
-97
0
0
8
0
0
0
-7
0
35
-8
0
3
0
0
4
-6
2
0
13
0
0
50
39
0
39
14
-36
0
-13
-12
0
-1
-123
-1
0
16
22
0
0
62
1
-3
-34
0
0
-7
-106
-4
0
8
-78
-2
-60
5
-3
0
-2
-81
0
0
0
1
0
0
-18
25
1
0
0
0
0
-50
0
0
0
0
0
-9
65
23
3
21
0
0
10
-36
0
0
14
14
0
-1
-37
10
0
43
5
2
21
49
0
-12
22
-14
3
-2
0
3
-1
-21
1
4
-3
-11
1
-9
24
0
-9
-1
3
-3
0
0
-8
5
0
-43
4
0
0
0
0
0
-24
3
0
1
0
0
-1
-39
0
1
0
0
4
2
-34
0
4
-9
-8
1
0
23
0
91
53
2
3
1
112
0
-19
-27
63
0
1
0
0
-99
41
0
0
0
-4
-5
-2
21
13
0
0
-68
0
19
0
0
-2
0
-44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
40
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-5
-1
42
0
0
0
0
0
0
42
0
0
0
-11
-4
0
-12
-14
0
0
55
0
0
13
0
0
0
-13
0
-1
-1
3
0
0
19
0
0
3
0
0
0
0
0
20
0
0
0
0
0
0
5
0
28
0
4
0
0
0
5
18
0
0
0
0
0
13
52
0
3
39
0
0
4
43
0
0
-29
0
0
7
71
0
0
3
0
0
0
-162
0
3
-4
0
0
-5
-43
0
14
0
3
0
0
16
0
0
0
0
5
0
17
-1
0
0
0
0
0
19
0
0
0
0
0
0
-53
0
0
0
0
0
2
3
0
0
-7
0
0
3
18
0
-4
16
12
0
2
18
0
0
-9
0
0
8
-17
0
4
-3
7
0
0
-81
0
0
5
0
0
0
22
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-3
17
0
0
4
0
0
0
6
0
0
0
0
0
0
12
0
0
8
0
0
0
-46
0
1
2
0
0
0
9
0
0
0
0
0
0
-20
0
3
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
31
0
0
5
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-32
32
0
0
14
-2
0
-43
0
0
0
-1
0
0
14
0
0
0
-51
-3
0
4
0
0
0
14
0
0
-16
-1
0
0
-16
0
-1
5
0
0
0
0
0
0
0
-4
0
0
0
0
-40
0
0
0
0
0
0
14
0
40
0
2
0
0
0
-3
-97
0
0
62
0
0
-5
29
0
-8
-13
0
0
-11
2
0
0
4
0
0
0
56
0
0
2
0
0
-2
-17
0
0
-6
0
0
0
18
0
-49
-17
1
0
0
-9
0
0
0
-1
0
0
32
-1
0
0
0
0
0
-62
0
0
0
0
0
2
58
0
0
1
0
0
-2
51
0
0
-4
0
0
4
-76
0
0
23
2
0
0
4
1
0
-3
0
0
0
25
0
5
-4
0
0
0
-41
0
0
8
0
0
0
-10
0
0
0
0
0
0
-65
0
0
0
3
0
0
8
1
0
0
0
0
0
11
0
7
5
0
0
0
41
0
3
-3
-6
0
0
10
-2
1
0
-2
0
0
5
0
0
0
0
0
0
-5
0
2
0
0
0
0
-1
0
1
-4
0
-1
0
-31
-1
0
3
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-83
0
0
-8
0
0
-39
0
0
0
0
0
0
-2
0
0
0
8
29
-1
0
0
89
5
-1
-41
16
0
2
0
0
0
2
23
0
0
19
-4
0
-43
2
0
0
2
0
0
-53
2
0
0
-51
0
-17
-2
0
0
0
13
0
0
0
-12
0
0
9
0
-91
0
0
0
0
0
0
-4
0
-8
-2
-1
0
0
0
-1
73
0
0
-4
0
0
-3
67
0
20
19
5
0
-5
26
0
-3
-8
2
0
0
13
0
0
5
1
0
-1
-51
6
-10
6
0
0
0
-17
0
-71
0
0
0
3
34
0
0
0
0
0
0
-68
1
0
0
0
0
0
-18
4
0
0
0
0
6
78
0
5
0
0
0
4
0
0
0
18
0
0
-3
-3
0
8
0
-1
0
0
6
0
0
-15
2
-1
2
71
0
-7
-4
8
0
0
-68
0
0
2
0
5
-3
-35
2
20
0
0
-11
0
2
-8
0
0
0
0
0
12
0
0
0
0
0
0
21
0
6
0
0
2
0
57
0
7
0
0
0
0
-66
0
5
-1
0
0
0
15
0
0
-4
-1
0
0
-44
0
16
0
0
0
0
83
0
0
0
0
0
0
-48
0
-5
0
0
-1
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
15
8
0
0
16
0
0
15
0
0
0
0
0
0
4
-1
0
0
-42
0
0
-69
0
0
0
-2
0
0
3
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
-31
0
0
0
0
0
0
-21
0
0
10
0
0
0
-3
0
4
12
5
0
-9
56
0
-1
-4
0
0
0
-63
0
0
25
0
0
-1
18
0
0
0
0
0
0
-30
0
-4
-1
0
0
0
35
0
0
1
0
0
0
-38
0
0
0
0
0
0
-44
4
0
0
0
0
0
3
0
0
-8
0
2
-1
-141
0
0
8
0
0
0
-31
0
0
0
0
0
1
25
0
3
-12
0
-2
0
-63
0
0
7
0
0
0
27
0
0
6
0
0
0
9
0
0
0
0
51
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
-1
0
0
0
19
0
-4
0
0
0
0
-13
0
0
-3
0
0
0
-45
0
0
0
0
-1
0
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
10
18
0
0
1
-3
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
20
-25
0
0
0
0
-70
2
-8
-3
2
38
0
-3
2
0
0
-15
0
0
-6
0
0
0
71
-72
0
32
36
0
0
4
0
0
-94
-5
0
0
-71
-1
0
18
5
0
0
58
0
0
-3
8
0
0
1
15
0
0
0
-25
0
0
0
0
0
-41
-13
-4
0
-54
0
-22
-30
0
0
-13
0
0
-35
88
4
-35
16
55
0
-16
19
0
0
26
0
0
-5
9
0
0
84
15
0
-77
-44
0
-3
-43
0
0
29
-9
0
0
-69
-29
0
3
5
0
0
0
0
0
0
-9
-18
-9
0
-5
0
0
-2
0
0
0
0
0
-35
-47
0
-2
-31
46
0
-21
42
0
-2
20
-1
0
-5
29
0
0
-9
30
0
-58
4
1
-5
37
0
0
-16
30
0
-6
-3
11
0
0
9
0
-3
89
0
0
0
-14
0
8
7
43
0
0
-28
2
0
0
0
0
0
-19
0
0
0
0
0
0
8
-3
-4
4
-4
0
0
-15
0
-10
33
7
0
0
-36
0
-4
15
8
0
0
-54
0
29
-14
-68
0
-2
-29
0
-15
54
0
0
0
-27
0
24
172
-38
0
0
-67
0
42
0
0
0
0
17
23
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-24
0
0
-8
0
0
-98
0
-2
0
-1
0
0
1
0
0
8
2
55
-2
0
0
-10
-128
-27
21
-9
0
0
-10
0
0
21
3
0
3
-12
-19
-2
-28
57
-2
0
4
1
-115
41
1
2
8
-53
0
-4
26
72
0
0
68
10
2
0
76
-4
0
21
17
-152
0
0
-1
0
0
0
2
0
46
18
0
0
-4
0
9
-36
0
0
-15
5
-9
0
84
0
41
-75
5
0
25
6
0
0
-98
0
0
19
-9
0
1
-17
-9
-8
-13
13
0
0
-116
1
-5
0
-17
0
28
-25
-42
0
0
-60
0
0
-3
4
-1
0
-22
-4
13
0
-8
-3
0
0
-1
0
0
6
0
0
-74
0
-4
-9
-4
-7
0
-1
0
0
-6
-1
3
12
-47
1
14
-34
-57
13
0
-44
1
4
29
1
13
0
-17
2
-5
-2
-2
54
0
19
0
-3
-7
0
-24
0
-89
0
0
0
0
-96
0
-5
0
0
0
-9
-4
0
-85
0
0
0
9
0
-5
-87
0
109
0
0
3
0
29
0
8
-1
25
5
8
9
0
-5
-29
13
0
0
-120
0
8
-27
-3
0
3
-63
0
42
39
9
0
0
10
0
3
0
-2
8
0
-57
6
-66
0
-3
-19
0
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-111
0
3
-36
0
7
-83
0
0
0
0
-1
0
-2
0
0
0
0
64
15
0
0
-11
-12
-5
3
14
0
0
-9
0
-3
11
0
0
0
106
-41
13
-48
57
0
0
75
5
-4
-63
-18
0
0
-9
9
-3
4
0
1
0
-9
3
7
2
-25
0
0
0
-1
-24
0
8
5
0
1
0
-4
0
27
-1
4
0
0
0
-31
13
0
0
3
2
0
-45
43
0
29
31
-27
0
-73
16
0
0
-10
0
2
3
-35
-4
0
41
-41
0
-71
51
0
5
-10
5
0
-7
0
0
-18
-46
-13
0
2
11
0
0
8
0
0
0
38
0
4
0
3
0
0
-4
0
0
0
0
0
7
-20
0
3
-2
0
-13
-5
-17
-3
0
-12
-9
2
8
-14
4
0
-24
24
2
21
59
-1
-6
12
1
1
9
-6
0
3
-85
24
-6
10
0
-2
-16
4
0
-5
0
3
14
0
-5
8
8
0
-16
1
-1
0
0
4
0
-1
1
-2
0
-2
0
0
-27
0
33
2
0
22
-2
-58
0
-5
-2
-1
0
0
-89
1
-72
-6
1
0
-8
-8
0
2
7
38
-1
0
-16
0
-52
25
0
0
-1
0
2
1
8
27
24
0
33
0
-21
0
0
0
7
2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
2
0
0
-38
0
0
0
0
0
-2
-3
0
0
0
0
-7
9
0
0
-58
-2
0
81
4
0
0
0
0
0
125
15
0
0
-22
14
0
44
0
0
0
-14
0
-3
-3
0
0
0
56
-1
8
25
0
0
0
0
0
-5
0
0
0
0
0
0
-35
0
-7
0
0
0
0
-19
0
10
0
-6
9
1
0
-2
-22
0
0
0
0
0
-52
-13
0
4
27
0
0
5
89
0
1
0
0
0
-2
-7
0
0
-12
-1
0
-5
47
0
0
16
0
0
1
-16
0
-8
-7
0
9
0
46
0
9
0
0
-1
0
-27
8
-3
0
0
25
0
13
0
0
0
0
0
0
14
0
0
18
-4
-3
0
16
0
0
-5
0
0
0
44
0
0
-7
3
0
0
-36
0
0
12
0
0
0
-34
0
0
13
0
2
0
-82
0
0
0
0
0
0
129
0
0
1
2
36
0
34
0
-4
0
0
0
0
8
0
0
2
0
0
0
17
0
9
-7
0
0
0
30
0
0
0
0
0
0
22
0
-8
5
0
0
0
1
0
7
0
-5
0
0
88
0
-5
0
0
0
0
61
0
-1
16
0
0
0
16
0
-6
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-81
6
0
-89
-1
0
0
1
0
0
-52
0
0
0
43
-4
0
-11
0
0
0
0
0
0
-1
0
0
0
-9
0
0
3
-6
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
2
1
0
-3
0
0
0
0
0
-12
-14
0
0
0
0
0
22
-4
0
16
88
3
0
0
-10
0
0
-33
0
0
-1
-16
0
0
-15
-4
-1
-8
31
0
0
-2
0
0
0
24
0
27
-13
30
0
3
-3
0
0
-3
3
0
0
-30
-4
0
0
0
0
0
28
0
0
0
0
0
0
-12
0
0
0
0
2
-4
-3
0
0
19
0
0
0
8
0
0
2
19
0
4
57
0
0
-2
0
0
-1
17
0
0
2
0
0
6
-24
0
0
5
0
8
0
19
0
0
0
0
-14
0
-8
-1
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
-2
5
0
-18
0
0
0
0
5
0
0
0
5
0
0
-12
0
-20
2
0
1
0
-1
0
0
0
0
1
0
-1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-5
0
0
0
0
4
4
39
0
3
11
0
-35
50
0
0
13
-13
-68
-39
12
0
0
-41
-3
-19
-26
-6
0
0
12
0
-66
-60
11
4
0
-20
-10
-36
-6
-8
8
0
-50
17
-3
-55
-1
0
0
-5
4
16
2
88
0
0
6
62
-5
0
0
-51
0
0
-8
-55
0
-8
1
-8
0
-38
0
15
-5
0
0
-36
1
-10
-14
20
0
-19
-22
7
4
-22
3
0
0
-17
4
-4
-54
-15
-5
0
-25
-27
3
-55
4
0
0
15
16
0
-62
-2
-1
-13
-41
10
0
14
25
0
0
0
7
4
0
1
-60
-3
0
1
0
0
-30
0
0
0
-7
6
19
-60
2
-4
47
-81
-35
-18
-11
0
0
40
50
6
-48
-4
-5
-1
-32
15
9
23
-14
-8
-4
-79
-3
-13
4
-74
-1
21
21
-23
-9
-19
2
0
1
2
39
-48
44
-1
0
2
0
45
-14
0
4
0
0
0
0
-10
0
-12
0
0
0
3
0
0
-7
0
17
3
12
5
-4
-27
0
-8
-29
22
-19
0
-59
0
-58
0
-49
-7
13
11
0
26
9
21
-17
5
-63
0
-62
-20
2
-21
6
-1
1
2
10
-13
12
0
-8
0
-55
0
0
2
0
-67
-6
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
-7
0
0
-16
0
0
0
5
0
0
24
0
0
0
0
41
5
0
0
-10
-10
-13
-4
0
0
0
-8
0
4
9
3
1
0
-17
0
0
-27
-14
-2
0
8
0
-67
0
0
0
0
20
0
-6
-5
0
0
0
-13
0
91
0
2
0
0
-1
0
8
0
0
-2
0
0
0
19
3
-5
-8
41
1
0
0
60
-32
0
0
14
0
0
-18
-41
0
27
-18
1
0
70
17
0
-3
38
0
0
-1
-88
0
0
-57
0
0
15
-11
0
0
-12
0
0
2
22
0
-84
31
0
0
-1
18
0
0
0
0
48
0
13
5
4
0
0
0
0
-8
-4
0
0
0
0
9
50
0
-1
-16
0
2
6
-12
0
-4
97
1
-8
9
-29
4
2
24
0
-1
-47
35
0
0
9
0
12
9
-17
0
9
-23
0
-5
5
17
0
0
89
0
26
2
9
0
0
-5
0
39
0
-21
1
0
0
0
0
0
-24
0
0
0
0
0
-4
-26
6
-5
5
0
0
0
34
0
0
7
0
1
0
-15
0
-21
33
0
0
0
31
0
0
53
0
0
0
-54
4
117
39
0
0
0
-27
0
0
8
0
1
0
61
0
-8
0
0
-4
0
-64
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-29
0
0
0
0
0
-1
0
0
0
0
0
5
-25
0
0
2
0
45
-23
0
0
-43
6
0
9
3
0
0
-29
0
0
57
-6
0
0
10
28
0
27
20
1
0
3
0
3
-13
54
0
0
-59
11
0
47
0
16
0
1
0
0
14
-2
0
0
8
-11
-1
0
0
-10
0
0
0
0
-5
-24
-12
-7
25
-4
0
24
-27
0
0
9
1
0
-10
41
0
48
-12
-17
0
-25
42
0
0
36
0
0
-41
65
0
31
42
8
0
-5
16
0
-3
-18
0
0
2
35
0
-33
-1
0
0
0
77
0
0
0
0
0
0
7
20
54
0
6
0
0
-30
16
0
0
0
0
12
-45
15
-14
-30
-13
0
29
63
0
0
10
1
0
17
-4
24
-17
31
-1
-2
-22
30
3
10
5
0
0
-25
27
0
6
-58
-32
0
-1
-46
0
42
-6
0
0
-3
10
0
4
29
38
7
0
-23
0
0
0
0
0
0
-6
0
0
-4
-5
0
0
29
6
-31
-1
0
0
-4
-51
0
2
-1
-19
0
1
34
0
20
6
0
0
-3
-8
0
-5
-4
-5
0
0
0
0
14
19
0
0
-5
-30
0
10
49
9
0
0
-12
-2
81
1
8
0
0
4
19
6
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
15
0
-7
-51
18
0
0
17
0
0
-4
0
0
0
-24
0
0
25
-7
0
0
0
0
0
1
0
0
0
-9
0
0
0
-2
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-32
0
0
-5
0
-2
1
4
0
-6
-32
15
0
9
41
0
1
-5
0
0
0
38
0
0
0
0
0
0
-59
0
0
-2
0
0
0
5
0
-1
0
0
0
0
-3
0
0
0
0
0
0
61
20
0
0
0
0
0
1
0
0
0
0
0
2
1
0
0
0
0
2
-4
-47
0
0
0
0
4
0
-57
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
-5
0
0
0
0
-13
0
0
0
0
0
0
-16
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
29
0
0
0
0
0
0
2
0
-5
0
0
0
0
1
0
0
0
0
12
0
-1
0
5
0
0
0
0
-6
0
0
3
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-5
0
-37
0
0
0
0
0
4
-40
0
6
0
14
-2
0
-70
0
0
-1
0
0
0
94
0
0
0
-39
0
0
5
-2
0
0
41
0
0
-2
0
0
0
-1
0
-41
0
0
-1
0
0
3
0
0
-22
0
0
0
0
0
-27
50
0
0
-1
0
0
2
10
0
-46
-9
0
0
-1
67
0
0
-22
0
0
0
-23
0
0
29
0
0
3
25
0
0
-52
0
0
0
55
0
-43
0
0
0
0
0
0
0
-20
0
0
0
17
-2
2
0
0
0
0
-17
0
0
0
0
0
0
-30
0
0
0
0
2
0
-5
0
0
-1
0
0
0
-69
0
0
91
-1
0
2
-52
0
0
-15
0
-1
0
36
0
0
-28
-1
0
-5
-78
0
-1
5
0
-2
0
0
0
6
0
0
-35
0
-58
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
8
-1
0
-1
0
-31
0
-14
0
0
0
0
37
0
-3
-1
0
0
1
30
0
0
0
0
0
0
31
0
-26
0
0
0
0
7
0
0
0
0
0
0
0
0
-14
0
0
-2
0
-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
43
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-9
0
0
3
0
0
0
0
0
0
8
0
0
0
-33
0
0
-14
0
0
0
2
0
0
-10
0
0
0
26
0
-1
0
16
0
0
1
0
0
1
-4
0
0
0
0
0
0
-1
3
0
0
0
-5
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
16
8
0
41
-6
8
0
71
68
0
0
-8
0
0
12
-17
0
0
-3
0
0
0
7
0
0
10
0
0
0
6
0
17
0
0
0
0
-1
0
0
0
0
0
0
50
-2
2
0
0
0
0
50
0
0
0
0
0
0
36
0
0
0
0
0
0
-35
0
0
6
0
0
8
16
0
0
6
0
0
-1
29
0
0
3
0
-1
0
20
0
0
3
-1
0
0
6
0
2
-1
0
16
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
9
0
0
0
0
0
32
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
-12
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
41
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
0
-1
-61
31
-59
-15
-21
-45
-36
7
-13
-20
-67
-31
56
10
2
-12
-5
-19
43
69
-28
23
32
-22
-31
-15
-12
-1
-5
3
-5
48
-97
31
11
26
9
-59
6
-9
-10
-12
-4
31
-5
-113
-24
-1
-19
-28
-4
2
28
-22
-7
-24
69
0
-8
23
-82
-8
12
-38
-10
10
2
-59
14
-2
-21
7
5
-2
55
2
-4
-28
-105
-30
-1
53
16
5
10
5
5
-12
17
46
-2
2
-26
-16
-10
33
52
0
-23
-51
-13
0
-21
104
4
35
1
-3
-5
-8
-54
15
-7
-44
-44
-16
-20
38
-16
-43
-37
0
3
-74
7
2
-1
-16
28
-4
-22
-41
-1
-1
27
19
-15
34
64
3
-13
-3
-19
-7
-7
17
-3
-52
-16
-11
-3
-35
-18
-7
-26
30
3
7
13
-59
19
-7
-21
-11
-9
-30
-21
-34
-4
51
-20
6
-40
-28
12
-63
-45
-13
1
-41
3
-41
-11
1
-13
-6
-13
-61
-61
-118
4
-25
21
-39
26
-6
-48
-18
30
-7
-13
16
-33
5
-4
28
4
-43
60
55
-56
42
-6
-1
-25
-62
-28
8
-49
-11
11
-29
16
-32
-1
59
49
-17
-32
-47
-20
24
2
-61
24
-42
73
-57
8
8
-43
-11
21
-41
-5
11
-39
32
-20
7
44
3
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
0
-9
0
0
0
0
0
0
0
0
0
0
-47
-1
0
3
5
0
0
7
0
0
13
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
42
0
0
0
0
0
13
53
0
0
0
0
0
1
4
0
-7
-21
0
0
-47
-28
0
0
0
0
0
-1
58
0
0
0
-8
0
0
-53
0
0
0
0
0
0
-7
0
10
2
0
0
1
7
0
0
0
0
0
0
10
-5
9
0
0
-1
0
-60
0
0
0
0
0
0
-19
0
0
0
0
0
0
-21
0
0
-5
0
0
0
-61
0
0
0
-2
0
0
-60
0
1
0
0
0
0
39
0
0
0
-4
0
0
29
0
0
0
0
0
0
-13
0
0
0
0
-3
0
-31
0
0
0
0
7
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
0
0
1
0
3
0
0
0
0
0
0
5
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
12
0
0
0
39
0
0
-36
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
58
0
0
0
0
0
-15
23
0
0
0
0
0
0
0
0
14
1
0
0
1
-9
0
0
0
0
0
0
12
0
0
0
0
0
0
-64
0
0
0
0
0
-1
-2
0
-50
5
0
0
0
8
0
0
0
0
0
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
-12
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
95
0
0
0
0
13
-2
-22
0
0
0
0
0
0
5
0
0
0
0
-1
0
-25
-4
0
0
0
13
0
5
0
0
0
0
0
0
1
0
8
0
0
0
0
44
0
0
0
0
0
0
-1
0
4
0
0
0
0
-2
0
0
0
0
0
0
-1
0
1
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
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
27
0
0
0
0
-7
43
-46
-1
-1
0
0
-46
-49
0
0
1
16
0
1
-2
0
0
2
0
0
33
56
1
-1
1
19
0
48
-53
0
-2
-59
0
0
66
62
0
-1
1
-1
0
46
-15
5
-1
-21
14
0
14
-10
0
0
0
20
0
0
0
87
0
0
5
0
0
-9
47
76
-5
-93
0
-30
0
0
0
23
0
0
-50
40
0
-14
-11
-3
0
17
69
0
5
22
0
0
-3
-68
6
4
10
47
0
-104
-20
2
-1
60
0
0
85
-48
-20
-45
-73
-28
0
-2
-50
3
-12
-1
-4
0
0
-31
-96
-21
0
-9
0
0
-10
-25
4
0
0
0
34
-2
0
1
-30
-27
0
-19
20
4
2
19
0
0
-24
51
0
-35
24
5
0
-34
12
0
96
41
27
0
5
13
-3
-15
-16
57
0
13
-31
-1
-4
36
4
0
0
-43
17
-13
1
18
0
0
-32
-39
-5
0
0
0
-1
9
7
0
2
-13
0
-1
-32
10
-24
9
0
0
-2
-1
0
11
-28
-15
0
-4
0
-4
12
3
48
0
-2
-38
0
10
-8
-81
0
-12
-4
0
-10
33
7
0
8
-57
-2
11
-2
48
0
0
-17
1
-2
3
0
0
0
40
-57
8
38
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
8
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
1
0
0
0
-1
0
0
-10
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
8
-3
0
0
0
8
0
0
8
0
0
0
2
0
0
-1
0
0
0
-14
0
0
0
0
0
0
1
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-11
0
95
-45
50
47
3
14
-22
8
1
1
16
5
-10
-64
48
12
-33
-40
-12
-5
15
-58
-8
-4
-36
-3
26
-102
-8
-2
-29
-15
-3
-2
-4
-30
-10
8
-1
-16
-7
66
-39
-32
-100
-8
-32
-34
-44
-40
-29
26
2
-71
25
74
-42
-11
-10
-33
0
0
-3
-1
39
-17
-9
-24
-1
-40
51
-14
-21
-50
5
-2
27
-14
-2
7
-19
7
-4
-9
-16
21
-22
25
-3
-17
71
4
5
-28
-13
-8
-7
-47
36
7
59
37
-19
0
-84
-1
-8
1
5
-27
-12
3
38
23
-14
-5
0
-5
126
31
5
13
-42
30
2
43
-27
6
-41
-51
25
9
-16
30
24
10
21
25
0
-5
-46
-9
-48
-13
49
-6
5
-3
0
7
-74
-8
-5
16
27
3
-58
15
-19
-2
-15
-6
11
-14
-12
28
0
-15
84
6
-5
10
32
-15
7
-49
11
-5
10
6
-6
-29
48
-11
54
-26
-56
-3
-5
-16
14
44
-91
12
-27
-20
24
-7
20
34
-3
7
-114
19
11
5
64
-2
0
-25
-3
-5
10
-61
-16
-4
9
37
12
1
42
-41
-8
-48
-11
12
-32
-3
72
18
4
-26
27
0
-29
-28
-2
72
-30
14
-59
-5
-36
-4
27
-36
17
-20
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
1
0
0
0
3
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
-1
-19
0
0
2
-9
0
0
7
0
0
0
20
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
41
0
0
0
-7
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
-2
0
0
0
27
0
0
8
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
44
5
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
25
-13
0
0
38
-77
0
0
0
0
0
0
-13
0
0
38
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
55
0
0
0
0
0
-53
0
0
0
0
0
0
-24
0
0
0
0
0
0
25
0
0
0
0
0
0
81
0
0
-2
0
0
0
9
0
0
8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-29
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
38
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-32
4
0
24
0
0
0
0
0
0
-19
0
0
0
-21
-10
0
-19
0
2
0
-3
0
0
4
0
0
0
-7
0
0
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
-1
0
5
0
-1
0
1
1
0
0
0
0
0
29
1
0
9
9
6
0
-40
54
0
0
32
0
0
10
-24
0
0
12
-39
0
3
-39
0
0
6
0
0
-27
5
0
-108
1
0
0
0
2
0
0
8
0
0
0
67
16
0
0
0
0
0
-56
0
0
0
0
0
4
69
0
0
0
0
0
-7
95
0
0
-20
0
0
-1
-23
0
-1
40
-1
0
-5
-84
2
0
67
0
0
-3
-69
0
0
2
26
0
0
-56
0
0
0
0
0
0
-26
0
0
2
0
0
0
40
-5
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
-39
0
0
0
0
0
0
43
0
0
-10
0
0
0
63
0
5
0
-2
0
0
12
0
-12
0
0
0
0
-55
0
0
0
12
0
0
-24
0
-5
0
0
0
0
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
13
0
0
0
0
0
3
2
1
0
0
5
-1
0
18
0
0
0
-4
0
21
0
0
0
0
34
0
2
5
0
0
0
0
0
-2
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
-24
0
0
0
0
0
2
-2
0
17
-7
-4
0
-32
14
0
0
4
0
0
8
65
0
0
29
-1
0
0
19
0
0
-11
0
0
0
10
0
32
0
0
0
0
-9
0
0
0
0
0
0
-14
-2
0
0
0
0
0
7
0
0
0
0
0
-5
-20
0
0
4
3
0
3
49
0
0
-10
0
0
0
-45
1
0
-2
1
0
0
15
0
0
13
0
0
0
-44
0
0
2
-3
0
0
10
0
0
-3
0
0
0
-23
0
0
7
0
9
0
31
0
0
0
0
0
0
47
0
0
0
0
0
0
-5
0
2
0
0
0
0
42
0
0
0
0
0
0
-5
0
3
0
0
0
0
-40
0
0
-12
0
0
0
81
0
-33
0
0
0
0
0
0
0
0
0
0
0
28
0
-6
0
0
1
0
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-5
5
0
53
0
-1
-4
-2
0
0
23
0
0
9
8
6
0
29
41
-2
-16
-4
0
2
-23
0
7
6
20
0
0
34
-4
-41
3
14
0
0
4
0
11
0
-1
0
0
0
3
26
0
0
5
0
0
0
-17
0
0
-3
97
0
7
0
-24
-19
0
1
-36
0
0
-16
22
3
41
82
-5
0
22
43
0
0
47
-2
0
57
5
0
0
-12
13
0
-27
-10
0
7
-7
0
-6
2
40
0
-23
39
26
12
0
52
0
0
0
0
2
0
6
84
29
0
0
0
0
0
0
0
0
0
0
3
-42
0
8
5
-2
0
-51
10
1
-1
-16
-1
0
25
-59
0
0
-6
-49
0
40
-9
0
-5
10
-1
-1
7
-2
0
0
35
47
5
-16
-12
0
0
-49
-1
98
0
20
0
12
5
13
-59
0
12
8
0
0
0
1
0
0
-6
0
3
4
0
0
-41
5
-13
4
0
0
1
-5
0
3
10
0
0
0
-2
-3
-29
0
0
0
2
38
-10
-7
-16
-2
-1
0
-35
0
-13
48
0
0
0
-39
0
-10
7
8
0
0
24
0
57
0
0
8
0
-9
29
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
0
0
-60
-45
-7
9
-1
0
0
18
2
-4
117
23
0
-3
-29
-25
55
-37
-5
0
7
-23
0
-134
-60
-7
0
0
-31
27
-43
-25
-2
0
0
-2
-23
43
0
-69
0
0
-2
-4
16
0
0
23
0
0
0
-37
0
-80
0
26
-6
41
0
39
-15
0
0
-111
-1
2
-16
-45
0
-21
-20
-68
0
-6
23
0
-8
-16
3
2
-104
4
0
5
34
-28
0
-44
59
0
0
-21
-5
15
-12
-41
0
-39
19
-43
-2
0
-40
0
0
1
0
41
0
-13
3
2
0
8
0
0
-64
0
0
0
2
0
3
71
1
40
-41
53
5
36
37
-1
0
18
8
-3
-30
-20
0
-10
-5
-128
0
-6
-10
1
12
-14
3
-13
15
43
2
0
23
-49
-5
0
-11
0
-2
-57
0
41
0
-85
0
-5
28
8
-5
0
-3
6
0
0
2
-3
0
45
2
0
0
6
0
0
-53
7
-68
0
0
3
0
8
0
4
-102
0
2
2
8
0
54
-7
2
-1
1
-43
0
-2
-38
-4
-3
0
11
0
-30
-38
0
0
0
-11
0
-8
-53
28
-2
0
11
0
-35
0
0
-47
0
4
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
-42
0
0
0
0
0
0
-1
0
0
0
41
0
0
19
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
8
-30
0
0
0
0
0
3
0
0
1
-6
0
0
-5
10
0
0
-1
0
0
1
-22
0
0
8
0
0
0
-42
0
0
-1
0
0
0
-4
0
5
2
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
2
-46
0
0
0
0
0
0
-3
0
0
2
0
0
0
16
0
0
1
0
0
0
27
0
0
6
0
0
0
-5
0
0
0
0
1
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
0
0
-9
70
0
44
-3
0
0
0
0
0
16
0
0
0
-25
-15
-2
30
-1
0
0
14
0
-16
0
0
0
0
53
-3
4
0
0
0
0
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
4
-8
0
36
-5
0
0
0
0
0
-74
0
0
0
0
0
9
11
0
42
-12
-3
0
-2
-53
0
0
4
0
0
-32
-55
0
0
-13
1
0
-2
-51
0
0
39
0
0
0
-42
0
-13
9
0
0
0
70
0
0
0
0
0
0
-4
2
0
0
0
0
0
-8
0
0
0
-6
0
0
-42
0
0
0
-4
13
3
40
0
0
0
0
-8
0
-31
0
-8
13
2
0
8
-56
0
0
65
0
-4
0
8
0
-3
-2
-4
-2
0
50
0
0
0
-3
-3
0
3
0
0
-4
0
31
0
-1
0
0
0
0
-5
0
5
1
0
0
0
0
0
-32
0
-10
0
0
0
0
-49
0
0
0
6
12
0
-5
0
40
5
0
0
0
-13
0
-1
0
0
0
0
-32
0
-39
0
0
0
-6
25
0
0
0
0
0
0
-14
0
23
0
0
-8
0
-32
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
1
-3
-7
-88
0
0
0
4
0
6
-15
14
0
0
104
19
-2
47
0
0
-4
1
0
-10
115
0
0
0
-42
0
5
30
0
0
0
0
0
-3
0
-3
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-51
0
0
0
0
0
6
-15
0
0
6
0
0
19
13
0
-39
-24
8
0
29
-53
0
0
-3
0
0
-5
-43
0
0
17
-9
0
0
-31
0
0
8
0
3
0
23
0
44
4
-3
0
0
42
0
0
0
0
-8
0
26
0
-3
0
0
0
0
64
0
0
0
0
0
-13
27
0
0
0
1
-2
1
-25
0
0
6
0
0
0
-12
0
0
-37
-1
0
-8
25
0
0
31
0
0
0
21
0
0
12
0
25
0
0
0
0
0
0
0
0
49
0
0
0
0
53
0
-27
0
0
0
0
0
0
-7
0
0
0
0
0
0
54
0
4
0
0
0
0
-10
0
0
0
0
0
0
-18
0
5
-1
0
0
0
27
0
0
12
2
0
0
57
0
8
0
0
0
0
38
0
0
-4
0
0
0
-16
0
5
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
-3
0
10
0
0
0
0
0
0
-3
-1
0
-7
-28
0
0
7
5
0
0
-5
0
0
-2
-2
0
0
7
0
0
12
-1
0
0
-5
0
0
0
7
0
0
0
0
2
0
0
3
0
0
0
0
0
-50
-5
0
0
-1
0
-6
-43
0
0
3
0
0
-3
2
0
12
33
9
0
-59
-33
0
0
-2
0
0
7
-64
0
0
8
-5
0
0
20
0
0
-5
0
0
0
41
0
-48
-2
0
0
0
-32
0
0
-1
0
0
0
28
3
-8
0
0
0
0
-16
0
0
2
0
0
0
-1
0
0
-1
16
-5
-8
-18
0
0
-16
0
0
0
15
0
-2
-2
-2
0
16
-15
0
-2
15
0
0
5
3
0
0
3
0
0
0
-9
0
0
2
0
0
-13
5
0
0
0
0
0
0
28
0
0
0
0
0
0
18
7
0
1
0
0
0
-8
0
3
3
0
0
0
18
0
0
7
0
0
5
20
0
15
0
6
0
0
17
0
0
-8
-2
0
0
27
0
0
0
0
0
5
-7
0
0
5
3
0
0
-6
0
5
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-11
0
2
-24
-16
32
22
13
-9
-1
-1
-67
-60
44
5
3
-4
26
-2
-16
27
18
-1
5
20
-35
-17
4
1
0
-1
11
-2
-16
-2
-50
0
0
-5
41
-2
0
4
-47
0
0
-3
18
12
-3
13
-19
-1
-23
0
6
4
7
0
30
-4
0
22
-21
0
-22
-16
-13
-2
3
-18
0
0
8
-8
-22
21
21
0
1
67
26
-12
7
7
-4
13
-4
12
106
-5
22
7
-10
-64
18
47
33
-8
0
1
-9
-2
34
0
30
-21
-13
0
17
-3
0
-22
12
9
-2
5
0
14
-12
6
-1
-44
22
-19
46
22
0
64
-31
-17
1
58
2
-2
-9
34
32
28
-45
-9
22
72
-4
13
-26
9
4
-1
-50
37
0
22
-24
-31
0
5
-34
1
-12
-3
-7
7
17
-46
-24
-34
0
3
52
10
-1
-5
-3
0
4
-17
-2
0
-62
0
-5
51
0
19
57
2
-1
19
20
0
-1
-60
-32
16
6
2
0
13
-27
15
-11
8
18
-19
44
43
-27
23
30
3
-2
23
14
24
49
-7
-52
0
-6
60
1
26
0
11
2
-50
34
0
-13
0
14
20
0
-12
-17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
22
0
-2
-37
1
-8
56
13
1
0
16
12
46
7
25
-5
-12
4
-7
14
-130
1
0
-1
-28
134
-44
7
-12
0
0
65
0
61
1
-6
0
0
-25
-40
36
0
0
-26
0
-1
0
59
-1
-11
10
31
0
38
0
-48
0
8
0
37
1
0
-21
-41
-1
-40
-35
-15
0
-30
57
0
-14
-22
-3
-2
24
10
-8
1
9
11
0
45
29
0
4
-14
0
-2
-1
-20
5
-12
23
-12
46
0
-25
1
8
0
0
18
0
-3
-9
-8
0
2
0
0
20
-5
0
0
1
4
8
0
0
-1
53
58
15
-21
-53
-1
0
7
2
27
17
2
3
-7
-1
-53
14
49
4
-4
-10
-39
39
10
-38
-7
0
1
-16
-20
-46
10
-18
0
26
23
3
5
0
18
0
3
-1
9
38
0
31
-8
0
0
-5
-4
0
103
8
0
0
-4
0
6
0
2
-17
-15
0
13
-4
-23
0
-3
-71
30
0
64
63
0
66
46
-8
-1
-5
-9
0
35
-6
56
-2
-9
13
0
-52
66
3
-10
0
1
0
-18
-32
-14
2
0
-44
0
-58
83
0
0
0
62
25
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
-4
0
0
9
0
0
0
-6
8
0
70
0
0
0
-3
0
0
0
1
0
0
32
0
10
0
0
0
0
0
0
0
0
-6
0
0
0
0
-16
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
21
0
0
0
0
0
1
1
0
24
-15
0
0
0
-2
0
0
-12
0
0
3
15
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
23
-4
0
0
0
3
0
0
0
0
0
0
-72
4
0
0
4
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
69
0
0
0
0
0
0
-4
0
0
30
0
0
0
-53
0
0
6
0
0
0
25
0
2
12
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
0
0
0
30
0
0
0
0
0
0
6
3
0
0
0
0
0
-3
0
-10
0
0
0
0
-5
0
0
0
1
0
0
-13
0
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
-3
0
0
5
0
0
0
3
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
65
0
0
0
0
0
2
0
0
5
-2
0
0
5
-48
0
0
2
0
0
0
-23
0
0
0
0
0
0
22
0
0
-1
0
0
0
5
0
-2
0
4
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
2
-27
0
0
4
0
0
0
5
0
0
1
0
0
0
-46
0
0
-4
0
0
0
-4
0
0
-1
0
0
0
36
0
0
0
0
0
0
17
0
0
0
0
-1
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
3
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
4
0
0
1
0
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-70
0
0
4
46
-20
-21
129
4
3
-51
-8
-54
21
85
-46
-9
69
-19
-46
7
13
-4
4
30
14
-23
3
48
8
12
27
51
-41
25
-15
8
-1
-11
-45
-6
-1
30
-37
0
-1
-60
-39
-2
-15
22
-103
0
-73
0
-32
3
-16
-3
-10
-59
-24
-89
6
27
-6
-40
38
-14
9
24
0
24
25
-12
-9
31
-7
11
3
47
14
-21
23
17
36
-23
56
-30
-4
-66
10
-7
32
13
12
-26
-53
-5
-25
-26
-22
14
1
0
-10
11
-41
0
80
-51
-12
-35
-30
-8
-1
-70
-11
-51
-21
-8
-63
-10
-10
26
-12
-33
-5
29
-45
-35
-16
-14
37
-24
15
-21
-11
-59
24
-15
-45
15
33
54
-5
-23
21
-45
9
16
5
18
25
24
45
-24
-11
19
51
-46
9
-2
9
27
-40
38
0
-35
-21
29
-1
-96
-72
0
-19
-26
-4
-1
-72
25
30
1
-43
41
5
2
-65
-136
-17
-3
93
35
3
-30
65
45
13
-8
-40
-58
28
-21
-18
59
43
-3
26
14
35
-24
16
-27
16
-45
14
1
-2
76
5
-23
45
28
2
-13
-3
-14
13
28
18
-1
12
-19
13
3
-64
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
78
0
-9
-35
-18
0
12
-10
1
-8
-5
-67
10
-1
-20
0
13
-60
-48
7
-2
4
0
18
-20
-1
0
0
-10
-4
-4
-3
-18
0
2
-43
14
12
0
42
-78
0
-3
-5
4
38
10
-48
-82
20
0
0
-33
1
0
8
13
0
0
-7
-55
0
-23
-7
19
0
2
-9
0
-3
11
0
18
-39
-26
0
-3
-23
0
-63
32
-11
0
68
25
27
-7
-67
-17
0
32
-8
6
9
-15
-10
-4
-15
7
-3
16
0
6
-34
-64
0
0
-3
-1
16
-75
0
9
6
-6
11
-1
0
16
-36
-1
-20
-19
6
10
0
-8
0
-96
11
-71
0
-15
-8
10
-46
23
9
30
-2
27
-7
-46
-52
9
5
-1
16
-15
-38
-39
-7
12
51
52
-4
59
80
15
0
12
29
0
-40
0
-17
-60
1
-7
-4
-1
0
11
31
-3
2
0
-4
6
10
0
-28
47
4
-109
-75
16
0
30
50
-2
66
-37
23
0
-23
-6
0
19
24
-32
-6
15
-37
-3
53
81
1
0
45
9
0
-15
-30
13
8
5
20
-25
10
5
-15
0
17
-12
0
5
8
-24
-31
-5
2
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
8
0
0
-38
0
0
0
3
1
14
-35
18
0
22
61
2
1
36
0
0
13
48
0
0
-40
-57
0
-36
43
0
0
-65
0
14
-6
37
0
0
-80
-26
-8
0
5
2
0
13
0
0
0
-26
43
5
0
0
0
32
-47
6
0
5
-2
0
111
-18
0
22
3
-6
0
19
11
0
-17
32
3
0
80
-41
0
0
29
7
0
0
21
0
-14
-38
0
0
-22
57
0
-22
19
3
0
29
17
0
0
14
9
0
0
3
-6
12
0
-19
0
-1
11
1
0
-4
15
0
18
-18
8
20
-41
52
0
51
67
0
28
61
0
0
36
3
0
-2
-2
20
0
0
-32
-1
-10
90
-1
0
9
4
3
-14
-9
-51
0
99
9
0
-1
-42
-3
0
19
-37
0
-10
-24
0
0
0
-3
4
0
-3
0
0
0
21
-4
0
-7
3
0
-16
8
4
40
8
0
0
0
20
0
-8
20
14
0
-5
-1
0
28
47
-8
0
7
-65
-3
-42
21
-16
0
-29
-9
0
-34
53
-1
0
-7
-8
-12
2
-26
-1
0
-3
21
0
-35
-3
-1
0
-1
-15
23
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-42
-75
-92
5
-2
25
22
2
17
18
8
-32
19
-7
19
17
34
11
-42
-7
-25
-4
-8
69
-15
56
5
-55
-4
33
-31
-58
25
0
-17
41
51
-12
-21
11
21
10
13
-25
3
6
29
9
-147
3
31
-51
19
24
1
12
-2
-81
28
0
2
82
6
-6
-63
-2
-2
-7
26
2
-9
85
31
-14
-12
-3
-2
8
-62
-58
-18
20
-44
45
-3
-8
20
15
-8
-52
-78
-13
-37
21
-40
1
-33
16
-2
4
13
-18
-18
-45
-30
-9
-24
-53
-50
-49
42
-44
-6
-141
-34
-14
-8
16
30
-6
-32
-16
11
49
7
2
-9
-60
-54
-11
37
30
9
-13
-17
-37
11
21
-4
-3
-8
39
5
-6
17
8
39
4
25
66
-11
-41
40
-30
1
102
43
-7
-3
13
-7
-9
-38
-64
22
6
-1
19
-13
-14
3
-6
-8
2
7
-12
-125
-6
-23
-11
94
45
-14
-49
-33
-24
-12
3
23
-14
23
22
30
-9
28
4
-9
-16
52
21
27
53
27
8
-32
8
54
-3
-71
-9
-34
3
-14
6
11
9
6
-4
-50
-5
20
-4
42
31
4
-16
-28
-22
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
22
5
-1
-44
-8
5
-2
1
0
0
-14
0
76
-36
0
0
8
48
9
0
-64
-2
1
0
11
0
6
0
8
0
0
5
-5
12
0
0
-13
0
0
0
-4
8
-39
-41
-8
0
0
0
-23
23
0
-1
-1
1
0
-72
0
0
-109
0
9
0
66
-33
0
3
-25
2
0
-27
-11
0
0
48
-13
0
-26
103
0
-1
60
0
-5
-1
-63
0
-63
31
-19
-3
8
0
7
0
0
0
-5
-1
40
45
-9
0
-8
-8
0
33
-16
0
8
0
0
21
8
-6
4
-34
13
4
-41
0
0
-5
22
1
5
-7
-39
1
0
62
-4
3
10
-28
8
18
30
-2
13
29
8
0
-12
7
8
-23
5
45
0
5
1
3
-4
0
5
0
10
15
-8
-19
-1
5
0
0
0
0
3
0
76
0
0
0
0
2
2
-53
-4
4
-9
0
0
-4
0
2
-4
62
4
0
9
-22
0
57
-8
16
0
2
-63
0
41
8
4
7
0
10
-1
40
-15
7
0
0
77
-3
0
-4
0
8
0
-20
0
12
-2
0
-16
0
48
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
7
0
0
74
0
0
-100
0
0
0
0
0
0
0
0
0
0
13
0
0
8
0
0
0
3
0
0
0
-6
0
0
0
0
33
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
8
-9
0
0
5
0
0
6
8
0
-1
-17
9
0
-3
45
0
0
-2
0
0
-18
17
0
0
1
0
0
4
-36
0
0
-4
0
0
0
116
0
-16
0
0
0
0
14
0
0
0
0
0
0
-7
0
-4
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
-1
0
-23
0
0
0
0
0
1
-31
0
0
0
0
0
0
-95
0
0
2
0
0
0
78
0
-7
5
0
0
0
41
0
0
0
0
0
0
49
0
0
0
0
15
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
29
0
-9
0
0
0
0
4
0
0
0
0
0
0
-1
0
17
0
0
0
0
32
0
0
0
0
0
0
22
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
5
1
0
-44
0
0
-3
0
-9
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
70
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
-2
-30
0
0
0
0
0
-2
19
0
12
0
0
0
-9
-33
0
0
5
3
0
1
36
0
0
-1
0
0
1
44
0
0
-16
0
0
0
3
0
-7
-4
6
0
0
35
0
0
0
0
0
0
65
3
0
0
0
0
0
-77
-1
0
0
0
0
0
-1
0
0
-4
4
0
-2
27
0
0
-1
0
0
0
45
-7
0
-2
0
0
0
53
0
0
3
0
0
0
-1
0
0
0
3
0
0
-22
0
0
1
0
0
0
13
0
0
0
0
0
0
-41
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
-2
2
0
0
0
2
0
-5
1
0
0
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
-5
0
-2
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
-4
-13
42
44
5
-49
-49
-1
3
-11
-6
-14
18
36
-5
0
-1
33
-15
-57
51
0
0
55
-5
-43
-12
12
0
0
-48
1
8
0
-2
-1
0
0
0
42
2
-8
69
-2
0
-8
0
-2
26
-7
0
-5
-8
3
42
39
0
21
10
24
0
-57
-24
0
7
47
-2
3
59
26
-4
53
30
81
30
-26
38
-2
1
-101
6
23
-43
-44
-2
-7
-37
-21
-5
-4
29
0
0
0
0
4
0
-23
-46
-6
0
-12
10
1
-8
18
-5
0
0
2
-2
2
2
4
-8
5
-2
38
24
1
-1
26
-20
16
-55
-50
30
-31
-43
18
-18
-40
-34
0
9
-5
-1
84
-19
-65
18
-13
23
22
-7
-2
-7
0
0
0
0
90
-3
55
-2
50
-2
19
-14
0
-11
0
0
0
0
0
0
-5
51
0
-4
7
0
0
-33
-2
-1
-3
6
0
5
19
0
18
22
42
-1
32
-26
-5
31
-45
21
0
-2
-40
-8
45
24
35
0
10
-15
5
-71
37
-1
0
-4
-58
0
4
-53
-23
32
-4
3
0
-59
-3
-2
57
0
41
13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-3
0
0
15
0
0
-5
1
0
0
-6
0
-2
-4
0
0
0
86
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
19
-2
0
0
0
0
19
49
0
0
0
0
0
-6
-3
0
34
72
0
0
-26
95
0
0
1
0
0
0
33
0
0
-29
4
0
-1
58
0
0
6
0
0
0
38
0
11
17
0
0
0
-26
0
0
0
0
0
0
50
-4
10
0
0
0
0
17
0
0
0
0
0
8
-47
0
0
0
-1
0
16
-42
0
0
-4
0
0
0
-112
0
0
3
0
-1
0
10
0
8
-7
0
2
0
2
0
0
15
0
0
5
6
0
0
14
0
0
0
13
0
0
0
0
17
0
87
0
0
0
0
0
0
-28
0
0
0
0
0
2
27
0
-5
0
0
0
8
28
0
0
0
0
0
0
29
0
22
0
0
0
0
-8
0
0
12
9
0
-1
-13
0
-10
0
0
0
0
5
0
0
0
0
0
0
-53
0
-4
0
0
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
24
6
0
65
-1
0
-29
-7
-1
5
1
0
0
45
0
0
0
25
-1
0
-50
7
0
0
8
0
0
-7
1
0
0
-4
10
0
0
0
3
1
0
3
0
0
65
0
-1
0
0
0
26
-7
0
0
17
0
0
-4
48
0
8
-37
94
0
-47
-40
0
6
-55
0
0
29
-65
0
0
-18
-34
0
88
61
0
0
4
0
0
23
-75
0
-20
-26
-17
0
0
-25
0
0
0
0
0
0
-46
-28
0
0
0
0
0
41
-3
2
8
0
0
22
-84
0
0
-7
-4
0
5
-82
0
0
-15
-1
0
46
53
0
-2
-6
-7
0
11
4
0
0
90
-2
0
92
1
0
-10
-37
4
0
14
4
0
0
-2
0
0
0
-15
0
0
0
1
0
-2
-67
1
0
0
0
0
0
-83
-1
0
-9
-8
0
0
39
0
29
-4
2
0
-12
43
0
4
-3
-4
0
5
9
0
-29
11
0
0
-5
23
0
0
14
-6
0
1
-23
0
16
-9
0
0
0
-44
0
3
8
10
0
0
25
0
31
0
0
0
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
17
-41
-51
67
-51
28
-41
35
-9
-22
-42
-7
-43
75
12
7
16
21
14
2
50
-17
15
0
-9
9
1
0
-26
-10
0
0
4
10
14
15
-57
55
-24
-15
1
58
-4
22
8
16
24
27
-5
19
9
-4
-55
-74
-14
18
2
43
-54
27
-38
-4
37
-13
-37
-26
-38
-46
17
-18
-14
-1
-18
-20
64
-13
8
-16
-8
-24
-31
-38
-1
23
-12
39
25
-11
21
12
0
12
-23
26
-2
-5
-10
6
23
-24
42
-32
11
-37
58
12
31
51
-56
-4
-89
-14
-8
95
-27
-38
104
-15
3
-14
-17
80
-35
-10
109
15
3
26
-7
-19
16
68
30
-16
-47
-6
32
0
39
-30
-2
-6
5
0
34
71
45
-22
15
106
13
-45
11
1
11
-70
-12
-5
38
3
-3
-14
64
42
-22
28
43
-13
39
45
0
0
-3
60
-51
10
43
-17
-3
45
0
-25
14
3
91
32
-62
-8
40
-40
114
17
32
60
11
110
54
20
-23
55
70
-6
-19
-4
-8
-30
14
-53
-21
-14
-24
-14
30
-28
9
20
13
-23
-16
5
-56
-19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
42
0
-1
45
-1
-50
-80
-2
0
5
-50
-16
-1
-20
4
0
0
12
0
60
0
-19
0
0
54
-1
10
0
0
19
0
0
12
-18
0
-23
-27
13
-4
1
0
-20
2
0
0
-1
-10
8
3
-41
0
-37
2
63
-3
-70
0
3
-2
0
13
0
27
10
0
0
-48
5
-2
-13
11
0
-7
-13
18
2
-10
-16
0
-15
8
-14
1
0
49
0
0
9
3
-20
1
23
48
8
0
-4
0
8
-41
0
0
3
-2
0
21
-1
-2
2
76
-25
-11
-16
7
0
0
-52
0
-4
-15
0
0
6
-79
-19
0
-32
-35
0
7
-1
-14
1
41
35
0
-5
24
-11
-2
-10
-9
0
0
66
2
-1
2
19
0
2
-2
-25
-5
1
63
2
0
-8
0
1
0
7
-4
0
0
0
0
0
14
10
79
8
2
0
-1
-47
6
5
-3
-13
0
-4
0
0
23
21
-18
0
-2
-74
-6
1
-1
60
1
6
58
-3
-35
28
0
-1
0
53
0
-3
-6
-1
-3
0
-3
0
21
7
0
2
0
30
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
5
0
10
-22
0
0
8
0
0
0
44
0
-2
18
-4
0
0
5
0
0
0
0
0
0
6
0
-85
0
0
0
0
0
0
-8
0
-33
0
1
0
0
0
4
-37
0
0
-5
0
0
2
-16
0
-6
32
0
0
-57
48
0
0
14
0
0
58
-33
0
0
0
4
0
8
-27
0
0
6
0
0
-7
-4
0
10
3
0
0
0
59
0
0
0
0
0
0
-22
4
0
0
0
0
5
-30
0
0
6
0
0
0
18
0
3
-6
0
0
0
52
0
0
4
0
-2
0
-21
0
0
-1
0
0
2
14
0
0
-9
0
0
0
-62
0
0
5
-2
0
0
-26
0
0
0
0
6
0
-32
0
0
0
0
-2
0
-7
0
0
4
0
0
0
8
0
0
0
0
0
0
4
0
1
-2
0
0
0
-5
0
0
-2
0
0
0
-14
0
-12
0
0
0
0
-15
0
0
12
0
0
1
12
0
1
1
0
0
0
-3
0
0
0
-1
0
0
-5
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
-1
-7
-1
0
0
14
0
0
-33
9
0
0
-13
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
42
0
10
0
0
0
-2
-4
0
0
-3
0
0
6
-5
0
-90
17
-6
0
19
-14
0
0
-5
0
0
36
-26
0
0
-5
0
-2
0
-31
0
0
-6
0
0
3
-8
0
20
-7
0
5
0
14
0
0
0
0
14
0
28
-3
0
0
0
0
0
-17
0
0
0
0
0
0
-18
0
0
-8
0
0
-12
29
0
0
20
0
2
-5
-63
0
0
-15
1
0
2
-16
0
1
30
-1
0
-3
-26
0
0
4
0
0
0
40
0
0
-5
0
5
0
-21
0
0
-1
0
29
0
40
0
0
0
7
0
0
-8
6
0
0
0
0
0
16
0
-3
-2
-2
0
0
59
0
0
0
2
0
0
49
0
-8
0
0
0
0
72
0
0
-21
0
0
0
23
0
-3
1
0
0
0
-30
0
1
1
0
0
0
-3
0
0
0
0
1
0
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
12
-35
8
82
-7
13
12
-8
20
-18
28
10
4
53
-10
31
3
13
-24
-20
-8
3
-13
38
15
-14
-1
53
-106
-31
-10
93
-33
34
10
44
-10
13
-38
6
74
11
67
4
42
-7
5
-16
1
33
-4
-47
-29
-1
-2
3
-5
73
22
-14
18
2
-2
-42
30
9
-24
-4
-1
-25
-5
-32
-18
-15
-22
30
-7
-18
11
-14
-11
33
50
2
55
31
16
41
11
5
3
-17
12
30
10
-1
15
7
-4
-14
6
29
-39
19
-8
55
-5
-19
-95
10
73
4
19
29
-21
-60
102
-5
-7
-21
2
-65
-1
33
19
-25
47
-12
-5
-43
47
-8
9
22
22
7
9
105
30
-11
39
1
-16
-5
60
-26
-3
-4
-21
11
29
9
-5
-7
-35
3
28
30
3
-14
-33
-13
54
-60
12
51
-21
-12
-19
-27
29
42
-22
28
-4
-30
39
-18
-36
23
51
-12
-18
2
6
0
-17
-44
-27
96
11
58
44
-66
28
-3
60
10
7
-28
50
60
7
-23
52
63
-34
3
-47
-25
-36
42
3
43
-30
-18
1
-49
40
8
64
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-66
13
8
25
0
-34
-55
2
8
-2
-26
0
-35
-5
4
16
0
-32
0
9
14
-29
0
0
51
0
9
0
0
-6
0
0
0
24
0
5
-9
-27
35
0
0
32
2
-3
0
49
7
2
-7
78
0
9
20
0
8
16
-21
4
0
-13
-8
-2
31
45
-3
0
0
0
67
10
-4
0
45
-16
0
73
-34
20
-1
5
-31
0
48
40
7
-3
30
29
0
-57
0
5
5
-84
-1
0
8
0
4
-49
23
-4
0
3
8
27
4
21
-53
0
16
27
14
0
19
37
0
27
16
11
5
0
10
-3
15
0
-3
0
1
-13
-1
-56
30
-6
0
44
16
17
-39
-54
5
1
-28
-24
0
82
4
-9
15
3
26
0
21
0
-2
26
91
105
-1
-13
0
-21
17
0
48
0
-14
-2
-28
-1
-27
0
0
3
-9
8
0
5
-17
0
10
27
15
0
-3
-88
4
6
35
7
-8
54
1
4
-96
65
20
0
0
-52
0
-23
8
54
-5
-34
41
3
3
0
-16
3
23
-68
-1
14
0
1
-6
-10
-16
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
1
0
-30
0
0
-32
22
0
0
2
3
0
36
0
0
0
4
0
0
0
15
0
0
-1
-12
-1
0
7
40
0
0
2
0
4
-12
-67
5
-4
-11
0
-13
0
0
0
14
0
0
-12
-16
0
48
-7
-63
0
-12
-19
2
5
51
0
0
13
22
1
0
16
-49
3
8
-6
0
-1
24
0
0
21
-21
0
-12
-78
41
0
0
-84
0
0
-1
0
0
0
5
100
-41
0
0
0
0
-4
30
0
23
-1
0
3
-40
0
1
-77
21
0
-20
3
0
0
-4
0
0
-36
-35
4
48
-11
12
4
-45
-49
-1
-8
41
-1
0
2
-39
0
8
0
7
0
-6
-3
0
0
-28
4
0
29
-72
0
18
52
-51
0
0
-26
-4
0
0
0
0
0
-47
1
0
4
4
0
-2
29
0
18
7
0
0
7
45
0
-4
41
-5
0
81
17
0
87
76
-2
0
12
4
0
-8
-15
-54
0
12
-44
0
-29
5
-1
0
8
40
0
-6
-58
-16
0
9
-34
0
-26
0
0
0
0
-50
3
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
9
10
-6
9
6
25
-51
-30
3
-23
3
-69
-8
-74
-40
-9
2
-22
12
8
5
-90
-24
-43
74
-2
0
-90
12
-10
28
-1
2
-1
-4
8
-8
5
21
35
49
-43
-12
55
12
9
-35
34
-56
-17
-40
-62
11
22
12
-34
20
51
18
22
-16
41
-34
-6
23
0
7
-5
74
-12
-13
54
-5
-3
5
2
-75
-19
19
-14
26
-67
-6
-1
-6
-16
-57
3
-22
2
21
5
41
-25
-46
-15
99
62
7
-1
-35
-7
10
34
-28
5
-2
-11
-26
72
40
-13
-8
101
-31
4
-2
52
-14
4
18
-24
-10
26
61
65
-14
-15
40
-4
-12
54
-33
-23
10
78
6
-51
28
-53
-7
-16
33
27
10
59
-2
-32
79
73
8
6
31
-3
-23
-1
23
20
72
-3
-31
4
17
12
-5
-51
-15
-12
-1
-49
-47
-28
-20
79
23
5
-27
49
35
-54
-53
-1
-9
-23
19
27
-78
-44
83
-19
54
-21
42
4
4
130
-21
-53
62
-23
-18
18
23
-2
55
-20
36
-11
26
-18
-11
-9
43
-4
13
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
16
-2
1
17
90
-7
52
-12
-3
0
19
-1
-66
2
-51
14
0
5
26
-12
0
0
0
0
3
0
-19
0
9
-81
105
0
40
0
-29
8
0
0
7
0
-4
-36
11
1
-82
17
-48
0
-36
-17
0
-14
43
4
1
-8
0
-2
-28
-32
-42
-9
69
-31
0
-6
-15
0
8
62
-12
0
-37
9
-38
13
6
-72
0
0
-3
0
54
0
15
-73
19
0
5
-4
0
-37
19
0
-2
16
0
30
-4
0
33
-32
-39
-25
32
31
10
0
67
-2
-4
-43
-21
0
56
-25
-72
37
-27
0
-2
15
1
0
47
-4
-37
0
8
-49
-29
23
-23
5
1
-9
33
15
9
0
-18
-1
-9
-53
42
12
0
-39
0
-4
0
-6
34
0
102
5
0
-1
26
0
-1
28
0
-5
48
0
2
-4
13
0
-16
63
82
1
-8
35
0
-26
17
8
30
-3
0
-13
-25
22
-54
7
-8
8
0
-24
-13
8
-1
-17
28
0
-7
-17
-5
-26
9
-33
0
-37
-42
0
-76
0
-33
-5
3
0
-7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
18
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
-39
0
0
0
0
0
0
-8
0
56
0
0
0
0
0
0
2
0
0
1
0
0
-7
13
0
-7
12
0
0
23
27
0
0
36
0
0
13
-4
0
0
41
0
-2
0
-51
0
0
-8
0
0
0
17
0
-67
3
0
0
0
-26
0
0
0
0
0
0
-15
0
5
0
0
0
0
2
0
0
0
0
0
1
-58
0
0
0
0
0
17
26
0
0
0
0
0
12
16
0
-1
-5
0
0
0
-5
0
0
-8
0
0
0
-24
0
4
-9
0
0
0
-7
0
0
-7
0
0
0
-7
0
0
3
0
0
0
-42
0
0
0
0
0
0
10
0
0
0
0
0
-3
-9
0
-7
0
0
0
0
-13
0
1
0
0
0
0
52
0
70
0
0
0
0
71
0
0
0
0
0
0
-49
0
15
0
0
0
0
-4
0
0
0
0
0
0
-2
0
-29
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
7
0
0
3
-1
0
0
-3
2
0
0
0
0
0
-3
0
-58
0
0
-2
0
0
-1
6
0
-11
5
1
0
-3
0
-2
-35
0
0
14
0
0
5
79
0
-5
13
0
0
-55
2
0
0
-11
0
0
0
-1
0
0
-10
0
0
-8
-110
0
0
0
0
0
6
12
0
-41
-1
0
0
0
16
0
0
0
0
0
0
-3
-8
0
0
0
0
0
2
0
0
3
0
0
0
50
0
0
-2
-12
0
0
-9
0
0
-4
0
0
-3
64
-9
-8
0
-5
0
5
-33
2
0
-3
-2
0
23
13
0
13
13
-1
0
0
-31
0
0
0
0
16
-1
71
2
0
3
0
-1
0
19
0
0
0
0
-3
0
-1
0
0
0
-1
0
0
-5
0
-1
-1
0
0
0
-38
0
0
0
0
0
0
-3
0
-1
0
0
0
0
10
0
0
6
-8
0
0
8
0
-18
0
0
0
0
-34
0
0
4
0
2
0
-53
0
-5
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
27
5
3
-67
20
-26
25
22
8
0
1
12
45
12
42
-3
0
0
-8
-56
-5
4
-90
0
0
0
23
0
14
57
-9
-10
-2
0
-7
-20
4
8
32
-2
5
12
-66
0
49
9
24
0
-30
-49
-1
7
-31
15
0
-17
41
0
11
5
-25
-3
44
1
0
-14
-17
23
13
-85
-8
12
-15
-15
9
33
18
-15
-5
0
10
0
60
0
-27
15
-14
0
-1
-18
0
7
3
1
-1
0
-3
19
3
-5
-19
-34
-6
-43
-14
-27
0
16
0
-3
-19
-34
-10
0
1
19
-37
8
-37
28
8
-16
-67
-27
22
-71
-47
10
64
-66
-55
53
6
2
0
0
8
0
-21
0
-20
-5
-18
-1
54
-38
0
-4
95
2
0
-1
21
0
29
67
0
4
0
0
2
3
-2
27
9
5
0
65
-32
0
16
28
12
2
6
-22
0
66
16
0
0
-18
3
0
-4
37
-24
0
-5
-44
0
-68
-30
1
68
12
-1
-10
9
25
29
3
3
-16
-3
17
-3
0
56
0
-6
-13
-4
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-74
0
0
-4
2
0
0
0
0
0
0
-5
0
0
0
0
55
0
0
0
0
0
0
-3
0
22
0
17
0
0
0
0
-30
0
0
15
0
0
-12
19
0
-14
-8
0
0
-1
10
0
0
-3
0
0
-7
-10
0
0
1
0
0
8
-67
0
0
42
0
0
0
-50
0
-81
2
0
0
0
-28
0
0
0
0
0
0
-71
0
1
0
0
0
0
-46
0
0
0
0
0
0
29
0
0
0
0
-2
1
44
0
0
0
0
0
8
64
0
0
6
0
0
0
-44
0
0
3
0
0
0
30
0
0
-5
0
0
0
-10
0
0
-9
0
0
0
-50
0
0
0
2
-8
0
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
1
0
0
0
-6
0
-2
0
0
0
0
26
0
0
0
0
0
0
53
0
1
0
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
48
0
0
17
13
0
-97
32
25
0
49
10
0
-3
40
0
0
-1
22
-2
0
3
-64
0
-1
-12
0
-5
0
-69
30
7
12
0
-69
-11
0
0
-51
2
0
40
-8
0
-19
0
-8
0
-41
-6
7
0
5
-6
0
3
-58
23
0
9
-34
0
25
-1
0
-4
45
-8
0
-7
19
-8
-26
6
52
0
2
-22
-2
0
96
9
2
0
7
74
30
0
12
0
2
6
-3
0
-1
14
0
5
7
0
-7
0
-27
0
-35
10
0
8
4
-5
0
-23
-21
0
-19
-2
45
0
-55
-4
0
-25
-10
0
0
7
-18
-5
104
5
33
0
-27
20
1
0
-18
0
2
-16
-27
0
-6
-9
97
0
0
-22
2
9
-1
8
0
0
-6
46
0
27
30
0
0
24
0
-5
-26
-5
0
14
-18
0
-25
-93
26
0
26
6
-3
23
-37
-8
0
26
6
0
49
5
3
0
51
1
0
-7
31
3
0
-19
25
8
-5
-19
-35
0
0
0
0
11
-4
0
0
0
-35
-52
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
38
6
14
-68
5
-52
0
-25
0
0
17
-4
-131
-1
42
20
0
-2
28
-54
0
19
-48
91
25
-24
0
-15
0
-7
0
-45
8
-12
-9
10
0
-21
-17
-93
13
-7
-12
19
14
22
2
24
0
-12
0
-2
-32
-41
44
-64
-17
18
-48
-54
-2
-17
-4
11
1
9
-15
-69
2
14
21
8
12
23
14
1
0
13
-117
-15
0
2
2
-5
19
91
0
-2
38
4
-47
13
12
4
-32
10
51
21
-17
4
-4
12
-6
9
37
13
10
4
-6
-24
-73
-9
-4
-27
40
-22
35
93
68
-27
37
-15
-48
-57
-33
5
-2
0
25
38
0
-13
-1
-9
-8
4
29
-46
-1
0
10
24
-1
-3
26
19
3
62
38
-1
9
-31
0
0
38
5
-47
-11
-8
110
30
-7
0
50
52
3
-42
0
-27
-3
-72
62
-72
-5
-2
-68
1
-57
27
-40
35
0
-23
16
-16
-6
3
-40
-6
-6
-3
-22
-1
50
-9
3
-25
0
-18
101
-6
-18
0
-3
31
4
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-1
0
0
14
0
-51
0
-3
0
0
-9
18
-1
0
0
5
0
0
0
-33
-1
8
-15
-6
0
5
0
-45
-9
0
0
-21
0
0
-59
-25
0
-37
31
-27
0
8
38
0
-1
49
-1
-6
42
-27
0
0
-90
61
4
-56
0
3
18
-86
24
-3
5
-76
0
-77
-18
-6
8
1
-62
0
0
0
0
5
0
30
-5
-10
0
-9
5
0
4
0
0
1
0
0
-8
75
4
4
1
-5
25
20
-6
0
0
-4
0
5
-7
-4
-8
29
-11
-9
6
-17
47
0
18
26
0
5
-16
0
0
65
-3
-46
0
29
22
0
0
-12
1
47
3
-49
-3
0
2
-4
-8
0
61
-9
0
0
0
1
0
-20
13
0
-12
-1
0
0
7
3
17
0
0
0
0
-40
0
-1
-3
15
0
-1
-39
0
-84
-46
-8
0
0
7
0
74
8
-9
0
9
0
0
23
3
0
-2
0
-19
-1
20
0
-2
0
9
24
0
52
13
0
17
0
-7
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-41
0
1
0
0
0
0
34
0
0
8
0
0
0
-13
0
5
-14
0
0
5
13
0
0
-4
0
0
2
4
0
0
2
-2
0
-3
24
0
0
9
0
0
0
17
0
18
0
0
0
0
-29
0
0
0
0
0
0
46
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-54
0
0
0
-4
0
0
-14
0
0
3
0
0
0
9
0
-1
-6
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-10
0
0
0
0
0
0
98
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
-3
0
0
0
0
4
0
0
14
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-8
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
1
40
0
0
0
0
0
-34
-5
0
2
33
0
0
-32
16
0
0
-5
0
0
0
9
0
0
5
-3
0
0
32
0
0
30
0
0
-1
-33
0
53
-2
-5
0
0
5
0
0
0
0
1
0
33
0
0
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
4
0
0
7
17
0
0
0
0
0
0
-29
2
0
26
0
0
0
54
0
0
1
0
0
0
-65
0
-1
10
0
0
0
14
0
0
-3
0
0
0
-6
0
0
0
0
-2
0
7
0
0
0
0
0
0
2
1
0
0
0
0
0
-14
0
6
3
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-13
0
0
0
0
0
0
-9
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-52
4
5
37
-34
11
16
-9
-55
0
41
-13
-3
0
-16
-30
2
-1
-27
-40
15
-3
31
-7
-25
-1
0
-66
-2
11
-30
-12
-5
6
14
30
28
8
25
-18
-91
9
11
29
3
-44
-87
12
-100
-11
-53
18
-86
-51
-1
-55
-1
-11
56
-72
47
16
-71
9
3
36
0
7
-58
21
-2
7
111
38
-46
-55
0
-8
44
-3
-1
5
-53
23
-14
50
50
-24
103
-44
-43
-6
-61
-17
-7
-16
25
-66
2
34
12
-12
-30
18
-34
5
-65
98
-20
24
-5
-32
8
13
-9
-7
-27
25
38
-12
1
19
-68
-40
1
-15
1
1
-25
22
-26
-26
44
-1
18
-17
-22
-65
-13
-2
-22
41
-32
-2
-49
-47
-8
-14
7
-26
19
-42
88
16
-30
70
5
-25
3
16
-82
-49
0
-64
14
10
-47
18
-16
-10
25
-23
-12
-2
30
-14
9
2
-35
8
-28
123
-14
-10
-13
12
-1
52
-4
-22
-16
37
1
11
38
-17
-2
-8
-1
33
2
-20
5
-27
-57
13
8
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
1
0
-11
0
-18
0
-13
0
0
-4
0
-19
0
0
-9
0
0
0
-2
-2
20
8
42
0
0
0
-33
-31
4
6
17
0
0
27
-26
0
-60
-48
0
0
27
38
0
-1
99
0
0
-27
-35
2
0
-52
0
0
21
-38
0
-3
-17
0
0
14
-52
0
6
7
0
0
0
10
0
0
0
0
-6
0
-28
51
-7
0
0
-3
0
-5
7
0
0
0
0
1
-51
-1
2
-29
0
7
-26
33
0
1
13
0
-6
18
-1
0
-15
105
12
0
18
1
1
-4
-28
0
57
8
12
0
24
27
-12
-7
-8
-2
0
0
27
0
27
0
31
0
0
1
0
-28
0
-37
-1
-2
0
0
-2
0
-73
0
-1
2
0
0
-2
-8
0
-3
2
0
0
8
-31
0
4
6
0
0
19
13
0
-2
7
0
0
0
31
2
-10
12
0
-1
0
-61
0
70
29
0
0
0
37
0
0
3
0
9
0
1
0
-19
0
0
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
33
0
0
-34
-25
0
0
101
0
0
16
-14
0
0
0
34
0
-1
-2
0
19
9
29
15
-5
21
0
-79
-29
0
0
-21
0
0
-85
-31
1
-48
-14
-36
0
31
13
0
48
-15
0
0
-26
5
-8
18
4
6
0
17
-25
-4
-2
-39
-5
0
46
-21
0
-4
-23
-13
0
25
25
0
0
45
0
0
0
2
20
-6
0
-1
0
0
-39
-22
-1
2
18
0
21
-30
0
25
-33
-21
0
68
9
0
-6
4
-5
0
-139
5
-1
5
-9
-16
0
-74
-1
-2
51
-12
-2
0
-29
17
0
29
-19
18
0
88
16
0
-3
-18
-7
0
-1
17
1
1
-46
71
3
0
4
-5
0
0
-3
0
0
-11
62
0
-7
-5
0
0
-41
-5
-23
-36
-3
0
1
-14
0
-2
8
-26
0
-11
5
0
42
-7
-5
0
-24
-23
12
52
98
5
0
10
-7
0
15
28
0
0
-2
-28
0
11
64
-1
0
0
0
-1
21
-6
0
0
0
-3
32
0
20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
12
0
33
-49
-26
0
-13
30
0
5
25
46
0
-25
-45
24
0
-26
0
-4
-30
4
1
-4
2
42
2
38
3
51
-7
-31
-1
51
9
-5
0
23
-31
-1
-10
8
-3
-9
-33
1
-24
-18
-17
0
10
7
-17
8
5
36
3
7
-44
-58
-1
0
-11
27
-4
2
10
29
0
24
-36
-90
-1
-38
0
0
12
-54
0
-6
-24
16
28
10
8
-15
-84
-22
-1
80
-25
0
-10
-73
-14
41
-97
52
-16
-22
-4
-51
-1
-21
1
18
5
-9
57
-36
14
-3
-7
4
-40
-7
-2
-5
-38
4
4
-59
-1
-8
0
-44
-1
-7
-52
-61
-27
0
35
-8
0
1
-5
-27
-4
6
-7
-4
-7
14
9
-5
-21
-40
2
11
0
-40
-3
-14
0
28
89
-16
-1
5
70
0
-25
-8
-6
-6
0
-28
-3
-41
14
-46
-17
-12
-13
0
7
-9
20
-24
16
66
-1
28
46
-81
-25
0
-8
-1
-16
23
2
-45
0
0
-39
0
-8
12
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
1
0
-1
-15
0
0
20
0
-5
0
-8
0
-23
1
34
0
3
0
-25
-33
0
0
-15
-2
1
-36
32
0
5
25
-23
0
-54
-27
15
0
-23
0
0
88
8
0
0
-5
-4
3
47
44
0
1
-48
0
6
60
0
1
-35
100
-1
0
2
-16
0
0
-6
1
4
0
-27
15
40
0
3
-2
0
-44
0
0
0
0
0
0
-41
-1
-1
42
-2
11
-2
32
0
4
58
0
-2
-25
31
0
-3
-73
-37
6
32
39
0
0
29
14
-11
-17
5
0
14
-29
-5
23
-5
0
-1
5
79
0
6
-1
44
-6
8
-13
1
-24
0
7
0
2
0
12
24
0
-50
-2
0
0
0
0
0
-28
0
-19
0
0
0
0
-30
0
4
40
1
0
-1
4
0
-36
34
4
0
-1
-67
-1
2
-24
-58
-2
0
-4
0
5
-9
0
0
0
0
0
25
28
-13
0
0
50
0
-136
0
-2
-14
0
67
-7
6
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
70
0
0
0
0
0
0
1
0
9
-56
0
0
-15
3
0
0
2
0
0
1
26
0
0
0
0
0
-5
-24
0
0
4
0
0
2
-2
0
-4
-12
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
1
0
0
0
0
28
0
0
0
0
0
0
17
0
0
-9
0
0
0
-86
0
0
0
0
0
0
13
0
-8
23
0
0
0
-27
0
0
-1
0
0
0
9
0
0
0
0
6
0
-12
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
2
0
0
0
0
-3
0
0
0
0
0
0
-1
0
9
2
0
0
0
30
0
-7
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-77
0
0
0
0
0
0
-4
0
20
-2
0
0
-13
22
0
0
5
0
0
0
25
0
0
1
0
0
0
18
0
0
-1
0
0
0
-1
0
4
1
0
0
0
-1
2
0
0
0
0
0
-38
0
0
0
0
0
0
29
0
0
0
0
0
0
20
0
0
0
0
4
0
26
0
0
-1
0
0
0
-48
0
0
-6
0
0
0
2
0
0
-2
0
0
0
8
0
0
-1
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-44
1
0
-2
91
27
0
-6
70
0
0
-4
-39
3
7
19
54
-3
-55
0
20
15
0
0
-28
-2
0
26
55
0
-36
-6
-5
-6
4
38
0
-3
-43
-5
0
-12
-8
0
-3
-4
51
17
-55
-48
-8
-1
1
0
0
3
2
2
15
29
26
-2
5
-65
-9
0
15
35
-46
0
-53
-85
-37
0
5
0
0
3
24
0
4
7
0
31
-35
0
14
-1
-16
-27
7
12
1
34
6
16
-56
30
23
-2
13
-24
5
-38
23
-61
33
28
4
-17
-35
-1
-11
39
-44
30
-44
-46
10
0
-14
21
1
1
-8
0
-27
0
-3
0
21
-47
0
-26
11
0
0
7
-24
0
5
-12
0
0
-9
-2
-3
-9
-2
-25
-1
-3
-20
-2
-22
0
-9
6
1
-2
5
-43
0
-30
38
-4
30
4
-12
4
31
-3
78
0
0
-35
0
17
3
-3
-6
0
42
0
0
15
-41
-50
-17
-45
0
47
0
0
-60
0
-88
-5
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-74
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
46
0
0
-2
0
0
-2
-34
0
40
76
0
0
4
-20
0
0
-19
0
0
0
-19
0
0
-13
19
0
5
12
0
0
5
0
0
8
-14
0
-34
7
0
0
5
66
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
-25
0
0
0
0
-7
0
30
0
0
-4
0
0
0
40
0
0
0
-1
0
-3
-1
0
0
1
0
0
0
-2
0
0
14
0
0
0
-78
0
0
-4
0
-6
0
-11
0
0
0
0
3
0
-56
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
-9
19
0
0
0
14
0
0
-2
0
0
0
-25
0
-3
0
0
0
0
0
0
0
3
0
0
0
41
0
0
0
0
-1
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
85
12
0
0
0
1
0
0
0
0
0
8
-47
-78
4
-7
0
3
-10
0
-1
-36
0
0
2
-64
0
-28
-14
-7
0
-4
-6
-7
0
-8
2
0
58
-5
1
-5
19
2
0
8
-3
0
8
41
14
0
-8
-35
0
-5
-15
-32
0
-3
16
0
-6
71
1
0
0
7
-10
46
0
28
0
-25
23
16
-7
-1
0
0
40
-21
0
92
-53
8
0
-49
6
-1
0
32
0
0
28
19
0
69
-8
-24
0
18
17
-3
15
-5
0
0
-5
9
0
-25
20
18
0
-8
-30
0
-9
28
0
0
0
-34
0
3
6
-2
7
0
2
-7
0
0
-5
0
0
-28
-5
0
3
-4
0
0
47
2
-10
9
1
-1
15
-45
0
0
-61
22
0
52
-14
0
-32
-29
15
0
1
33
0
26
-9
50
0
6
-9
0
-44
25
-3
0
-12
7
0
7
-58
8
0
0
-40
0
-4
-25
0
0
0
-8
-11
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-5
0
0
0
0
0
0
-79
0
0
-1
0
3
-3
82
0
-21
-26
6
0
29
-42
0
0
-32
0
0
-20
43
0
0
-11
0
4
-10
-7
0
0
-7
0
0
0
-31
0
2
13
-1
0
0
4
0
0
0
0
-1
0
-11
0
2
0
0
0
0
-9
0
0
0
3
0
0
-19
0
0
0
0
-6
-6
3
0
0
-3
0
1
1
71
0
-3
27
-4
0
0
48
0
3
6
0
7
0
-34
0
0
30
2
-3
0
57
0
0
-3
0
-8
0
-13
0
0
0
2
-1
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
12
0
0
0
0
-104
0
0
0
0
-6
0
46
0
0
0
0
0
0
8
0
0
1
-3
-2
0
-33
0
8
0
0
0
0
33
0
2
0
0
0
0
-40
0
-4
0
0
0
0
9
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
-1
-3
-4
0
-39
2
-4
0
1
0
-14
-45
0
0
6
0
0
1
-2
0
12
36
61
0
49
35
0
-1
-65
8
0
-41
0
0
-6
-50
-10
10
29
10
0
6
57
0
0
-8
-39
0
9
16
-9
-2
-4
0
-4
0
56
16
3
0
-6
-8
-9
0
0
0
0
-37
3
0
0
0
0
-4
-6
0
0
26
-11
95
8
11
2
0
-39
1
-6
-6
-29
-6
0
-20
13
-18
-8
-6
-6
-14
9
32
-30
14
-5
-3
66
2
29
52
5
5
0
0
2
-3
11
0
0
0
0
-17
7
42
0
-56
0
0
0
0
0
0
-24
0
0
0
0
0
0
40
0
-75
0
0
7
0
45
0
14
-2
-8
42
0
5
12
0
-27
-4
6
1
28
2
-5
0
-2
2
1
-76
0
-59
-19
20
12
0
-2
0
0
12
-41
-7
12
0
0
22
0
-1
-23
0
19
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-2
4
0
0
0
0
1
50
0
0
0
0
0
0
-2
0
-1
58
0
0
41
-17
0
0
-1
0
0
2
-4
0
0
0
0
0
0
67
0
0
5
0
0
0
34
0
-12
1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
38
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
42
0
0
0
0
0
-1
53
0
0
6
0
0
0
-3
0
0
0
0
0
0
-41
0
-25
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-25
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-3
0
0
0
-8
-21
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
9
-2
0
-5
-2
0
0
-3
0
-28
3
0
0
1
0
-1
-12
-7
0
-34
27
-54
0
-27
1
2
-1
29
-1
0
-14
-27
0
0
1
-40
0
-24
18
7
0
0
2
10
1
-74
0
0
32
-18
0
-7
30
0
0
0
0
-10
0
8
1
0
0
0
0
0
22
0
0
4
-1
0
13
-106
0
-1
-6
0
-18
-6
18
0
0
-8
-3
76
4
-11
0
6
-44
-9
-2
0
25
3
0
6
-9
-23
5
21
0
0
0
42
4
0
23
0
6
0
0
19
0
-42
-1
0
0
-13
-60
0
-32
0
5
0
0
-1
0
57
0
0
-20
0
0
4
-89
0
3
-1
0
2
2
-84
1
10
3
2
-8
0
-63
0
-63
-3
0
0
-1
-19
0
8
-2
1
-5
0
1
0
-11
1
0
0
2
-1
0
21
0
-3
0
0
33
0
0
0
6
-7
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
12
-6
5
-2
3
0
0
3
10
0
0
-4
0
0
-69
-3
0
-23
35
-1
0
60
-1
1
-1
-35
0
0
-23
7
0
5
6
0
2
-18
-28
0
0
29
0
0
0
14
0
-42
-1
0
-9
13
13
0
0
0
0
28
0
25
-41
2
-1
0
0
0
-23
0
0
1
0
-2
2
29
7
0
42
0
6
1
25
0
7
-65
0
-13
0
-3
0
0
19
0
7
23
-4
-1
-8
55
0
13
-9
-82
0
6
44
0
-3
-24
-2
0
0
-12
0
6
0
13
0
6
-1
0
-16
0
16
0
0
0
0
-7
0
-45
0
0
0
0
0
0
-109
0
-6
-8
0
0
1
12
0
0
-13
0
0
1
-10
0
20
40
0
0
0
-16
0
-10
-35
0
0
-8
13
0
16
-8
0
0
0
3
0
0
-14
0
25
0
-6
0
6
0
0
-25
0
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-97
0
-31
-31
0
66
2
13
-15
-10
-20
0
-7
6
8
-1
8
0
0
16
14
1
-6
5
0
0
12
-11
-5
35
-18
-8
9
11
4
24
-4
-2
11
0
60
-8
-2
30
3
-7
0
79
14
12
-5
7
-2
0
67
-1
89
10
-11
-37
1
0
2
-1
-9
-8
-37
0
-15
0
-21
2
7
-40
0
-1
-2
17
-90
-19
-77
-2
19
5
-7
-43
9
-48
0
1
7
73
16
7
-6
0
58
5
-41
40
14
13
-2
6
2
14
-18
2
8
0
22
6
-30
19
37
19
0
54
-10
-58
15
-39
-1
0
-3
-2
9
68
-24
72
0
0
-3
-7
-1
12
-18
0
24
46
27
-26
93
102
-2
28
-23
-39
50
-30
-77
0
-37
-6
-3
-26
-13
14
0
-5
13
12
11
31
-8
-5
46
-2
-22
-23
49
67
0
62
-4
-7
-43
41
27
0
60
-6
-31
12
56
-16
0
-4
28
2
87
12
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
1
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-52
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
2
1
0
4
0
7
-7
0
0
3
0
0
29
1
0
15
-54
1
0
-3
53
0
0
-32
0
0
0
28
-3
0
33
3
0
-14
-43
0
0
-4
0
0
0
22
0
-5
-13
0
0
0
-24
1
0
0
0
0
0
0
0
14
0
0
0
0
-51
0
0
0
0
0
0
37
0
0
0
-6
0
-8
5
0
0
6
0
0
-7
-47
0
0
-50
-2
14
4
10
0
0
3
0
0
0
-9
0
0
27
-2
0
0
38
0
0
20
0
-7
0
-20
0
-1
0
0
9
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-32
0
4
0
0
0
0
-67
0
0
-3
0
0
2
55
12
2
0
0
0
0
-47
0
0
0
-4
0
0
-12
0
-4
5
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
-5
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-33
-17
-2
2
0
-12
-20
1
-1
51
0
0
6
-13
0
37
-19
4
-5
-19
-42
5
0
13
0
0
-20
5
0
0
-91
-52
0
47
-12
0
-2
-33
-6
-1
4
-22
0
-2
-23
8
1
0
-48
0
0
-7
42
-25
0
-34
0
10
0
-2
0
0
-40
1
1
0
22
0
0
-26
0
4
62
-23
6
49
51
-1
0
-1
0
5
-22
-26
0
-1
-51
-102
9
47
51
0
-1
-77
52
40
-22
1
0
-1
-53
-23
16
-6
-15
0
12
53
5
-87
0
10
0
16
-7
-18
28
0
-49
0
0
0
-3
-2
1
-36
14
0
0
0
0
0
3
0
16
4
0
-2
-2
-10
0
0
-16
-10
10
0
-19
0
-36
-34
0
21
0
-43
0
5
26
-2
5
-1
-17
2
-41
-61
-4
-1
-3
-28
0
-1
16
-48
-1
0
-40
0
-47
12
0
-51
0
-35
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-24
6
0
0
-1
-27
0
0
-1
0
0
0
-34
0
0
23
0
0
0
-8
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
0
0
0
0
0
0
-20
1
0
0
6
0
0
-19
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
1
1
0
24
-27
0
0
1
0
0
0
1
0
2
-2
0
0
0
23
0
0
0
0
0
0
29
0
-10
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-42
0
0
0
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
8
0
0
2
-1
0
0
-22
0
0
0
0
0
0
-8
0
0
-1
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
0
-1
0
-39
0
0
0
0
-3
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-40
0
0
0
0
0
0
30
0
-1
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
8
0
0
-4
0
0
5
47
0
-35
-34
0
0
56
-76
0
0
30
0
0
-9
-76
0
0
2
0
0
-1
2
0
-1
-15
0
0
-1
-2
0
34
7
-1
0
0
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-34
0
0
2
0
0
0
9
0
0
0
0
-9
0
-49
0
0
1
0
7
1
77
0
0
-4
0
-4
4
-85
0
0
22
0
13
0
-35
0
0
-10
31
-2
2
-47
0
0
0
0
0
0
-23
0
0
0
0
22
0
33
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
25
-4
0
0
0
-8
0
6
-2
0
-4
0
-43
0
-3
-2
0
0
0
-15
0
0
40
1
-5
0
-15
0
10
0
0
0
0
27
0
-2
0
0
0
0
19
0
16
0
0
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
17
-39
22
29
0
52
8
-6
-2
78
0
0
13
-12
0
-11
-12
-73
0
-5
-15
-4
-10
-17
-14
0
2
-18
-2
7
21
0
0
33
-16
0
0
12
-1
0
18
-33
-8
-57
13
-9
0
-9
11
0
-8
12
16
0
0
6
20
37
0
-9
0
-1
-14
5
0
-6
0
0
-77
-11
-5
-4
-11
8
0
23
0
8
9
-7
0
0
-60
2
15
-25
23
45
0
16
20
0
8
7
-1
-3
15
8
3
12
-14
-111
0
-42
-22
-6
-1
-3
32
0
7
-11
-1
-24
14
26
0
0
49
42
1
-1
0
0
0
2
19
0
-3
30
0
-2
45
-2
9
36
-1
0
14
-40
0
22
-35
-31
0
-7
9
-3
-35
57
3
0
-42
-15
10
51
31
-74
0
-44
-16
10
3
50
1
0
18
-26
2
-5
-13
-17
0
6
3
4
17
79
0
0
0
-44
25
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-24
3
0
17
-5
0
0
95
86
0
0
2
0
0
0
-67
0
0
-13
-8
0
-3
91
0
0
-12
0
0
0
23
0
5
2
0
0
0
-12
0
0
0
0
0
0
-28
6
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
1
0
0
0
0
14
0
0
0
0
0
2
9
0
0
27
7
0
0
-13
0
0
-28
0
0
1
53
0
0
0
0
0
0
94
0
0
1
0
0
0
23
0
0
0
0
11
0
-54
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
0
30
-7
0
0
0
1
0
-1
0
0
0
0
74
0
2
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-76
74
24
19
7
-5
-2
-65
10
3
8
-28
6
6
-2
-60
25
-23
80
11
-3
0
9
5
5
37
7
5
66
25
1
-22
2
-26
-6
-40
10
-17
11
-8
12
-8
-33
15
-34
8
-6
-12
7
-8
22
-21
90
1
-6
0
-24
-54
-10
0
27
11
-13
-4
41
-19
-23
-31
11
-4
45
23
1
-27
19
13
-2
-17
-3
16
-16
22
-22
-6
69
-17
4
-24
-23
-38
0
55
-18
-2
1
-14
-9
7
-19
17
5
34
-28
7
2
-108
-26
10
37
9
26
-30
31
60
-31
15
4
-21
0
-29
24
-25
-31
-47
-30
8
12
31
3
-68
-25
-43
-35
17
-25
-22
23
-36
24
4
32
-18
25
-68
-6
13
-6
-15
-19
28
10
-25
13
5
73
13
6
19
-2
-43
4
93
-2
9
3
-2
0
2
19
29
17
2
22
62
-11
0
-8
-17
-50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-45
1
-7
-58
0
-3
-13
-32
0
-24
-66
-58
0
-16
-48
0
36
-46
-1
0
110
-34
0
0
-62
28
-14
-39
-15
0
3
37
0
0
36
58
2
-6
13
-3
0
4
57
0
0
2
-4
48
3
57
-2
-10
0
13
7
0
-25
0
1
0
1
5
6
-15
8
-1
21
103
-13
-41
40
0
0
19
0
5
-16
-22
0
24
26
-74
0
-38
-5
9
3
12
5
15
-14
-33
2
18
-21
-13
-23
-7
46
0
18
44
-3
-54
0
2
0
0
-38
5
13
0
-19
-1
0
0
-1
0
0
15
0
0
0
0
0
0
10
0
-8
0
9
0
23
-13
3
8
-38
-48
2
18
-21
0
-9
39
-10
0
7
-98
0
8
-18
27
1
-2
-19
0
-9
-36
4
-2
8
99
-8
0
23
-41
0
-3
52
0
47
6
0
-46
0
1
13
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
6
0
0
-3
3
0
79
-23
2
-3
30
-33
0
5
39
0
-13
-34
-1
4
26
12
0
0
-62
-38
-3
-54
-22
0
0
10
8
0
-2
21
0
8
-57
-8
0
-2
-26
0
0
5
0
-13
0
9
49
1
0
-9
-1
0
-79
0
7
-3
0
0
0
-15
0
-1
-19
17
13
27
-24
0
0
107
0
-5
-6
-26
0
0
-24
-24
0
-23
-40
1
19
18
-6
6
7
6
4
2
-23
3
-14
0
32
2
5
-101
0
-13
0
-17
0
0
-21
-54
-7
0
1
5
0
0
-4
0
0
-73
0
0
0
0
0
0
49
-4
0
0
0
0
0
-40
0
-4
14
0
2
0
-29
0
0
58
-16
0
0
29
-1
-1
1
-1
0
5
-11
0
31
0
0
0
0
25
0
-2
-32
-12
-1
0
-21
0
32
5
0
15
0
25
46
0
38
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-11
68
0
45
-1
10
0
13
-23
0
0
-18
0
0
-32
-42
0
0
51
4
0
-14
-18
0
0
50
0
0
0
-99
0
-92
5
48
0
0
4
0
0
0
0
29
0
14
-19
14
0
0
0
0
-58
-9
0
0
0
0
0
-2
0
0
0
2
0
-1
-41
0
0
0
0
0
32
13
0
0
5
9
3
8
-5
0
8
-56
0
-5
0
-44
0
0
-13
16
1
0
-9
0
14
-17
0
-19
0
-9
0
0
-16
-21
49
0
-24
0
0
0
0
0
0
-15
-3
0
0
0
0
0
-4
0
10
0
0
0
0
118
0
0
0
0
0
0
36
0
1
8
0
0
0
-15
0
0
23
-2
5
0
-22
0
9
4
0
0
0
-19
0
9
0
0
5
0
43
0
-22
2
0
-4
0
-61
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
22
0
2
-52
-10
0
38
11
0
0
19
-29
0
0
-10
0
14
-27
-51
0
0
52
0
9
19
2
0
4
35
0
7
7
-41
0
-69
-7
0
-1
-4
32
4
-4
18
0
23
0
19
4
46
0
-2
0
0
-30
0
0
0
0
0
-5
36
0
0
3
0
-29
49
-34
0
0
43
0
11
58
-60
0
0
-27
0
0
2
0
0
1
103
0
26
9
-43
0
-2
93
0
24
-1
10
0
-12
31
0
37
0
-6
0
0
68
0
11
0
-12
0
0
0
0
-8
0
-61
0
0
0
0
0
0
12
-4
21
0
0
25
-1
-5
0
0
46
0
0
-1
10
0
133
-55
0
0
0
-52
0
0
-15
0
8
0
17
0
19
11
0
13
0
8
0
0
30
0
13
0
-11
0
-3
0
0
90
0
17
9
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-6
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
-6
1
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
35
0
26
12
-12
-3
-12
26
-2
0
-12
0
8
-6
35
-3
0
-3
54
-13
-21
-1
0
17
-15
-7
-4
-25
-29
0
-14
-20
-22
4
-8
17
24
0
6
0
-54
0
32
-6
-43
0
5
-1
0
14
6
1
-7
2
2
-3
62
23
-19
104
-13
50
-41
-2
-1
-20
-4
-5
26
0
38
17
-19
53
90
15
-10
12
-3
27
37
13
-61
22
-11
-6
-39
-34
26
-6
5
5
0
9
33
0
40
0
-1
0
24
32
68
11
0
10
8
-31
0
9
17
0
-23
17
0
-1
4
0
0
21
-6
13
42
0
3
1
-15
0
-6
10
24
-6
0
23
2
11
-3
0
2
-1
-5
7
37
3
63
-22
8
23
0
-43
-56
-10
-14
-10
-26
0
21
40
26
43
-3
16
13
-29
9
29
98
0
12
-11
9
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-33
-7
2
-33
71
5
-11
27
-3
-22
-42
66
29
2
-1
-17
10
-3
-17
1
-6
100
-32
-4
54
4
16
-2
39
-6
-4
-6
40
-9
-5
-35
40
-19
0
3
10
-4
8
24
-12
34
-15
23
-3
-50
-37
-6
-56
8
3
0
-5
-5
22
27
30
-53
11
-9
-12
15
26
-40
2
10
49
-39
-18
-15
30
19
0
2
60
-2
-43
-14
11
-2
-16
62
8
-6
40
-56
-8
23
-72
-13
45
10
-41
15
-52
12
-21
-2
1
-46
-1
20
-52
3
-58
-55
-5
-3
0
-129
-17
-36
-31
-38
0
-72
14
6
44
36
5
-24
13
67
-5
15
16
10
-4
14
33
-18
-37
21
-61
-15
-41
-17
-21
-21
-21
34
14
-20
13
-11
8
50
-59
-12
-1
-15
-14
9
-15
-27
-3
-34
-7
-12
-55
-5
-32
-5
13
-8
-38
69
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
0
2
8
0
0
-6
-98
0
0
79
0
0
-3
51
0
0
29
0
0
3
18
0
0
-1
0
0
0
-10
0
-1
-4
0
0
0
31
0
0
0
0
0
0
-50
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
1
1
0
0
65
0
0
0
0
0
0
-9
0
0
6
0
0
8
28
0
0
1
0
0
0
32
0
0
4
-1
0
0
47
0
0
0
0
0
0
48
0
0
0
0
0
0
118
0
0
0
0
-2
0
-4
0
0
0
0
0
0
13
0
1
0
0
0
0
47
0
0
0
0
0
0
31
0
12
0
0
0
0
2
0
0
13
0
0
0
7
0
-6
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-10
23
-1
0
4
-81
0
0
20
0
0
0
-26
0
0
-1
-8
0
6
19
0
0
0
0
0
0
0
0
36
12
0
0
0
8
0
0
0
0
0
0
5
-1
0
0
0
0
0
-5
0
0
0
0
0
0
53
0
0
0
0
0
0
2
0
0
14
0
0
0
43
0
0
0
2
0
0
45
0
0
0
0
0
0
-25
0
0
-5
-1
0
0
30
0
0
0
0
0
0
2
0
0
0
0
-2
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
3
0
0
0
23
0
5
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
2
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
23
0
-13
-38
6
0
-13
12
0
-3
24
-2
-1
-7
-17
-4
-13
18
37
-3
-32
6
0
-4
-17
2
-2
1
5
0
-19
-31
-39
2
-33
16
0
-6
14
-5
-75
0
-6
29
-31
0
-4
0
3
11
11
0
0
-12
-8
-24
42
0
2
4
-67
6
11
68
2
0
52
5
-13
-20
18
15
-78
0
24
-28
-2
0
1
42
53
16
-38
-16
-16
0
4
5
29
90
23
-6
0
8
23
-5
18
0
-3
0
7
15
-41
1
0
0
1
-10
0
37
-3
4
12
7
0
0
-11
0
0
17
8
-44
13
3
-8
3
50
0
-17
43
26
25
2
-28
1
30
16
0
-27
-2
-13
0
-11
-21
96
21
0
-7
0
-54
30
28
-26
2
3
0
-4
26
25
43
1
7
0
-39
4
0
-31
0
-6
-28
-3
0
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
-104
-8
0
0
-1
-7
0
0
42
0
0
0
-20
0
0
2
0
0
0
62
0
0
-2
0
0
-6
-27
0
16
-4
0
0
0
6
0
0
4
0
0
0
13
10
0
0
0
0
0
-66
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
8
0
29
0
0
12
0
0
2
-26
0
0
-4
0
3
0
-5
0
0
-9
0
-5
0
-21
0
0
0
0
0
0
44
0
0
0
0
47
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
-3
0
-1
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
8
0
0
0
0
-23
0
0
2
0
0
0
19
0
-3
0
0
4
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
0
-58
-6
-17
0
-7
-96
0
0
-27
0
0
13
-19
0
0
19
0
0
-5
-31
0
0
19
0
0
-16
-66
0
-6
-15
0
0
-5
-5
0
0
5
0
0
0
-15
0
5
0
0
0
0
-10
0
0
0
0
0
8
67
0
0
0
0
0
-5
75
0
2
18
0
0
1
-19
0
0
10
13
0
-6
13
0
8
-16
0
0
4
133
0
-2
-1
0
0
-5
-6
0
0
-1
0
0
3
-84
0
0
-1
7
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
-8
9
0
0
0
99
0
0
-5
0
0
0
-3
0
12
-3
0
0
0
-86
0
0
-7
0
0
0
9
0
-5
0
0
0
13
22
0
0
-12
-13
0
0
15
0
-19
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
3
32
11
30
4
28
21
-10
-12
-4
-55
0
39
-3
-1
12
12
-20
10
-69
12
3
12
-55
-19
38
121
-41
-6
1
-37
-2
39
0
44
-44
46
0
21
38
0
-22
8
0
5
-44
1
19
-7
-18
-61
-76
55
-41
-83
-18
41
8
-10
-14
71
47
27
4
-24
-23
80
-7
47
-4
-3
-50
1
38
-64
-52
-23
-10
13
-7
-44
7
-37
20
0
72
-72
-3
-42
-7
-47
-1
9
-74
6
6
0
-8
-38
16
-1
20
26
0
4
-37
19
48
52
0
0
5
7
68
0
-3
-34
-1
26
6
5
-17
-15
13
-51
0
-1
-17
57
0
-15
11
-3
4
48
16
43
-15
8
-33
1
43
39
-3
6
3
57
-25
25
-7
60
-64
0
3
0
80
52
5
-8
0
-12
57
6
-23
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
27
-9
24
-42
-5
77
13
-13
6
31
68
-47
-1
-26
0
61
25
19
-39
21
-16
9
-5
-1
1
44
30
-13
24
1
-6
7
-39
0
-26
-4
-78
-7
-35
18
4
11
-46
-3
-41
2
-1
1
-10
18
0
-22
66
-23
-42
0
-76
24
-20
-22
2
50
10
1
9
-12
9
-4
-30
3
68
39
-9
-14
-94
-20
-5
21
17
41
2
-65
29
-25
2
48
-40
-3
12
-95
-20
5
7
22
6
-12
0
19
-12
-8
8
-12
-78
0
-25
43
5
0
16
7
0
-8
17
78
9
-16
-4
24
0
-6
46
10
5
-27
40
-53
-2
4
-13
51
62
6
-24
13
37
-43
-56
-21
-3
-64
11
-59
62
0
49
-38
19
2
71
21
-33
18
0
12
2
6
5
-10
45
-1
21
37
-5
32
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
0
-2
0
0
0
-19
0
0
1
1
0
1
28
0
0
4
0
0
0
11
0
-29
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
26
0
0
0
0
0
0
-43
0
0
0
0
0
0
-19
0
0
0
-2
0
0
-11
0
0
3
0
0
0
-16
0
0
-7
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
59
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
-3
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
5
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
56
-23
18
-47
7
39
-35
-21
-35
26
-3
49
-7
12
20
6
34
12
-35
44
7
-5
4
-17
-7
-2
24
-17
-38
13
-5
9
40
3
-1
-39
-30
32
21
-26
-31
24
-61
1
-19
0
-50
15
-10
67
39
4
-13
14
-12
-17
16
-57
-12
22
20
-34
-11
19
-46
-3
-21
40
1
-20
2
23
-9
28
6
32
11
-39
31
22
33
-46
-23
8
68
-35
-39
-10
51
93
-27
-40
68
-42
12
7
-6
11
-26
28
-7
10
4
-2
20
48
46
-48
-66
-12
-8
-17
-5
-27
-6
-55
-45
-2
19
13
13
29
33
-71
-29
-3
-27
1
5
-65
31
-26
-1
-42
-29
-17
2
30
-41
7
14
-2
55
-38
-3
-12
-22
52
14
-29
-47
-73
-12
1
12
25
21
6
28
-1
-11
-21
-4
-2
-29
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
-2
-87
19
-13
41
-11
-3
25
41
-24
-8
5
-4
14
-17
-15
24
31
-67
66
1
30
-5
12
5
-53
1
16
-46
54
38
-8
-17
0
3
18
9
-1
72
-20
41
-6
-57
23
-5
7
-5
41
-11
26
53
-40
-77
5
-77
-8
-24
29
12
-39
-33
-94
7
6
-57
-53
-13
2
13
17
-42
26
16
70
-11
-35
11
-9
17
-2
-7
-125
70
20
-27
-18
42
5
24
-50
12
-14
65
29
21
6
-3
8
27
42
-6
-16
24
-5
4
97
4
52
-53
-25
4
-101
0
16
41
4
87
-9
17
2
21
-48
6
-47
8
-34
-15
-2
23
-116
-1
58
17
29
-8
15
-47
-13
53
6
22
-33
-8
7
0
-28
11
-36
-45
-17
12
35
40
-9
24
5
46
-1
0
-1
2
-66
-5
-27
29
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
33
3
0
22
0
1
-104
-2
0
12
-33
0
21
-9
-5
0
-2
8
8
-8
-39
-17
0
14
-7
0
45
-9
9
-2
-13
-49
0
-31
0
5
-70
-14
0
0
8
0
4
5
8
-5
-5
6
-10
0
-3
-1
-37
0
-139
29
-15
0
25
41
0
-89
-5
-31
-1
0
-18
7
2
-26
7
0
73
40
0
47
29
8
-3
12
2
13
4
5
-27
0
11
-44
1
36
-5
6
0
31
-18
3
-6
0
-3
-9
7
-4
19
-69
0
-7
-52
0
-6
0
-14
1
18
0
19
-17
0
-20
28
-34
0
4
2
0
-16
23
-3
0
-37
-10
4
18
15
-31
0
-44
-20
-7
96
-6
29
0
16
23
0
40
6
49
0
-7
4
0
17
-14
-10
0
66
-4
0
5
0
-23
46
6
24
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-43
0
0
-6
0
0
-1
-32
0
0
3
2
0
0
-39
0
0
-8
0
0
0
-50
0
-5
5
0
0
0
24
0
0
0
0
0
0
48
8
0
0
0
0
0
45
0
0
0
0
0
0
-8
0
0
0
-1
0
-1
37
0
0
5
0
0
3
-16
0
0
-2
-4
0
-1
38
0
-1
-5
-7
0
0
19
0
8
9
-6
0
0
18
0
0
0
0
0
0
40
0
0
3
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
5
0
0
0
0
-32
0
0
0
3
0
0
48
0
-15
0
0
0
0
-9
0
0
-1
17
0
0
3
0
-3
0
0
0
0
73
0
0
3
0
0
0
7
0
-6
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
1
-3
29
2
30
18
-42
4
-16
47
-13
25
23
-23
23
-40
14
3
-13
-4
30
-9
-23
-30
-1
23
15
0
15
-36
-66
4
48
49
3
6
-14
-5
-68
-20
-5
140
27
8
-49
-9
-3
107
1
6
1
19
-10
-48
43
-16
5
-19
46
38
32
-15
20
-8
82
6
-14
-85
33
-14
15
82
-15
13
1
-9
58
30
-71
80
34
-43
11
1
-5
18
11
24
3
50
-2
8
-33
1
-18
-51
19
-4
-31
-85
-20
6
-26
-5
59
9
-5
-24
29
-9
32
-36
-2
-4
-35
32
-46
-7
-50
-1
13
36
17
-23
-21
-6
7
-26
42
49
-28
26
84
13
28
-1
42
24
-38
143
19
45
70
-9
10
30
8
5
-16
11
17
-1
5
-7
7
26
-20
-54
-17
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-14
27
-7
-13
5
-5
19
1
33
-43
5
14
-42
-10
-28
1
9
-11
-33
-63
15
-11
64
-66
22
20
-17
-17
-11
-44
3
-7
-71
-10
33
5
21
-112
-31
-49
10
38
-6
79
4
0
17
12
-3
-3
-114
-65
1
18
-1
2
0
39
-40
34
4
60
-28
-43
-7
18
-1
84
24
3
-5
13
-52
17
-47
-54
19
-3
43
40
18
-54
-43
-37
6
-12
-89
5
16
2
-5
8
17
-30
-51
-7
23
-47
-2
-9
-57
25
-9
31
-7
-14
21
22
-59
29
-11
46
-16
15
-18
10
22
-37
8
0
46
50
-23
2
29
-24
-19
52
-52
-18
-20
-2
-2
-6
-75
5
-38
-13
13
50
4
74
11
17
5
-9
-22
-4
22
-2
32
-36
-17
35
5
22
26
55
-18
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
-1
-1
0
-2
-10
0
0
-16
0
0
0
-36
0
-14
-3
0
0
0
-8
0
0
0
0
0
0
-4
3
16
0
0
0
0
-26
0
0
0
0
0
0
-5
0
-1
7
0
0
0
-35
0
0
2
0
0
0
-23
0
0
3
0
0
8
-27
0
0
0
0
0
-1
-21
0
0
13
2
0
0
91
0
0
0
0
0
0
5
0
0
0
0
17
0
66
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
0
0
-4
0
0
0
-8
0
0
0
-4
0
0
2
0
8
0
0
0
0
-23
0
0
0
0
0
0
22
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
23
-18
0
-7
-9
0
0
17
0
-14
10
10
0
-8
-5
-3
-3
0
-13
0
0
0
0
0
0
-17
-3
0
0
0
0
-1
4
-1
0
0
0
0
-2
-104
0
0
0
0
0
13
-80
0
0
2
0
0
2
-16
0
0
-1
-1
6
7
-85
2
-5
-5
-1
0
0
118
0
0
-4
2
1
0
71
0
0
-5
0
0
0
44
0
1
0
0
0
0
-120
0
0
0
0
0
0
1
0
0
1
0
0
0
-7
0
-7
0
0
0
0
7
0
1
3
-1
0
0
37
0
3
0
0
0
0
-37
0
0
-5
-3
0
-1
34
0
25
-13
0
0
4
-5
0
0
-2
0
0
0
-35
0
2
-4
0
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
11
-13
38
28
33
-54
4
-25
0
50
-26
-28
25
-15
-20
-4
0
27
-35
-2
-27
-2
-8
0
-35
-10
10
2
4
4
91
-1
29
-4
-3
50
14
53
-8
22
-9
-37
-11
-10
-60
64
5
-62
1
11
10
-15
1
25
64
8
-2
48
-5
31
38
4
19
-21
35
-8
-17
-10
-8
39
31
24
-54
15
18
28
-15
22
-9
39
-1
-3
12
-47
-8
28
28
47
27
5
-1
2
-24
-42
8
-6
-25
0
2
-23
0
4
-84
1
-16
-21
52
-1
43
7
112
25
54
5
45
39
11
18
-46
-19
-9
-37
-46
-27
0
10
1
5
-28
33
58
-30
7
-2
-1
8
40
16
-25
32
-7
-1
-24
66
29
0
-40
-8
-1
15
14
-12
-30
-2
40
23
31
44
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
0
0
53
0
0
-12
-17
0
0
42
0
0
-7
-40
0
25
32
-4
0
0
-7
0
0
0
0
0
0
59
2
0
0
0
0
0
-44
-5
0
0
0
0
-5
62
0
0
0
-3
0
6
2
0
0
-1
0
0
16
1
0
0
12
0
0
0
-72
0
1
-8
0
-5
-7
61
0
0
27
0
0
-6
-17
0
0
-2
0
1
0
35
0
0
0
0
37
0
51
0
0
0
0
0
0
31
0
0
0
0
0
0
85
0
0
0
0
0
0
29
0
3
-4
0
0
0
-129
0
-4
-3
0
0
0
48
0
0
1
-7
0
0
-52
0
-14
1
0
0
0
-17
0
0
-4
0
0
0
-41
0
15
0
0
22
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
67
0
0
44
0
0
19
-51
0
0
-8
0
0
0
-34
0
41
3
-6
0
0
26
0
0
0
0
0
0
-12
2
0
0
0
0
0
-4
0
0
0
0
0
-3
47
0
0
0
-4
0
-58
10
0
0
15
0
0
6
12
0
0
-5
0
0
-23
-46
0
-2
1
0
0
-4
26
0
0
56
4
0
0
-37
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-74
0
0
0
0
0
0
-40
0
0
0
0
0
0
34
0
3
0
0
0
0
40
0
0
9
0
0
0
-26
0
-22
0
0
0
0
-1
0
-3
8
-9
0
0
-11
0
-17
8
0
0
0
-59
0
0
-8
0
0
0
-14
0
22
0
0
0
0
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
37
0
-2
-73
-38
-30
1
-30
-9
-1
-29
19
25
-6
-23
-2
-4
21
-7
-5
0
-2
-51
15
0
23
8
-17
28
-39
-8
5
-4
-2
-18
36
-13
36
-5
121
1
-90
9
0
45
-62
-3
24
31
18
6
-39
-13
24
53
11
-34
-16
3
-62
-4
-25
-65
14
-5
27
-28
6
32
24
0
3
-8
-29
0
-79
-1
28
13
-6
-58
-2
-14
2
-27
20
8
0
5
22
0
-13
-47
0
14
-26
0
-1
29
8
-9
14
7
-10
-4
27
0
-11
9
20
-3
-1
-6
-2
-45
0
19
-1
0
-20
-1
70
-22
44
-1
-2
5
8
-38
50
-4
3
6
-17
-6
17
-24
-61
3
-17
-16
0
19
-33
0
14
0
-45
16
29
10
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-16
-38
-22
9
-51
11
-21
4
34
-32
-12
28
-109
-6
11
-29
6
-34
-32
-56
4
-23
-31
-17
17
10
-116
55
13
-37
40
-8
27
-68
32
1
91
-27
13
-2
-22
-6
1
0
0
23
-4
-32
32
17
-36
59
-25
34
11
5
0
-81
-53
1
13
11
-12
3
125
-41
13
37
-15
-72
-3
52
31
23
-2
1
3
2
14
93
5
67
-15
40
4
32
-73
-42
4
-7
30
13
-13
30
20
-21
50
-41
-21
74
3
96
18
-27
47
13
37
25
-11
-57
5
-43
-19
37
-6
-19
-15
31
65
0
68
3
41
-2
29
-55
-4
63
-25
-9
-22
35
10
5
-41
-75
-75
55
21
5
-2
-42
-48
-8
62
-15
36
12
4
-5
-31
-72
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
67
0
0
-19
0
0
-2
9
0
30
20
-1
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
-3
0
0
-6
-32
0
0
0
0
0
-2
-48
0
-1
-6
0
0
-2
6
0
0
-5
0
0
-2
-21
0
0
18
-1
0
-3
-9
0
0
-5
0
0
0
7
0
0
0
0
6
0
-42
0
0
0
0
0
0
-14
-3
0
0
0
0
0
-9
0
6
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-4
0
0
-3
0
0
0
18
0
1
0
0
0
0
43
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-22
0
0
12
-22
0
25
40
0
0
0
30
0
0
-3
0
5
0
-15
7
1
0
0
0
0
-17
0
0
0
0
0
0
8
1
0
-3
-1
0
-2
10
0
0
-3
0
0
0
-38
-1
0
5
8
0
-6
-8
0
0
-4
0
0
-2
5
0
2
-30
14
0
-8
-41
0
0
-1
0
0
0
-43
0
0
7
0
-7
0
-46
0
0
0
0
0
0
-44
0
0
0
0
0
0
-17
0
-7
0
0
0
0
-8
0
0
6
5
0
0
-3
0
6
-12
0
0
0
-38
0
0
0
0
0
0
-33
0
37
-4
0
0
0
7
0
0
0
0
0
0
11
0
-15
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-8
-1
-5
-42
62
18
-64
-12
0
29
-26
-20
30
25
-20
58
-5
51
46
-41
0
24
-98
-56
0
-48
-63
-25
2
-27
-1
2
-42
9
-46
11
9
29
-27
-4
-30
41
-9
6
-3
54
-24
59
-46
-4
36
-33
-10
-27
49
-36
-17
70
-17
-2
-47
-65
35
24
-7
-34
30
-15
12
-3
10
1
-33
-35
74
4
25
-25
6
55
64
47
18
0
26
-75
-3
-3
-15
50
1
6
37
20
17
-6
6
14
-12
74
30
19
-4
12
54
7
-1
13
-4
-74
-12
1
8
-2
-25
-1
-75
-24
-12
-3
-19
18
37
53
-8
-33
-10
2
3
-21
-10
38
-14
0
11
59
-1
35
37
-16
-14
8
24
47
-13
10
9
24
49
12
30
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-27
0
-1
1
-3
25
15
-18
-4
9
-9
0
-61
0
17
1
8
0
0
-16
0
5
-9
-51
0
0
-7
-4
14
1
0
-3
0
22
40
30
-3
-10
-20
22
11
21
14
0
5
30
10
35
-11
-2
0
36
-19
0
5
-37
25
0
-6
26
0
25
-56
11
0
-30
48
-10
-22
7
-45
-3
50
43
0
40
0
43
0
-9
-7
0
40
0
2
-5
-2
8
0
-31
0
-57
17
0
-5
1
0
5
-93
6
17
-36
0
33
2
45
0
4
-98
0
4
44
18
0
21
-9
-12
0
-6
38
0
39
19
1
6
13
-28
0
-25
125
0
-7
-6
-26
-2
5
24
0
46
-3
39
-3
49
-22
0
9
0
20
28
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
23
0
-9
82
0
0
-2
8
0
-21
-2
-24
0
0
-36
0
0
0
0
0
0
9
55
0
0
0
0
0
70
0
0
0
-1
0
0
-43
0
0
-2
-5
0
-13
-24
0
0
-63
0
0
-9
21
0
0
-18
-24
0
17
-76
0
0
-29
-1
0
1
-74
0
0
-65
-38
0
0
28
0
0
-5
0
0
0
-80
0
0
0
8
0
0
-66
-8
0
0
0
0
0
-39
0
0
-3
-4
0
0
-24
0
20
-2
0
0
0
-52
0
1
25
0
0
-13
10
0
26
0
0
0
-3
28
0
-6
49
44
0
-2
53
0
-95
17
0
0
0
3
0
0
-12
0
0
0
57
0
56
0
0
0
0
-34
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
23
15
22
2
29
27
0
-34
0
7
13
-7
-15
0
-6
-41
-17
0
2
-1
1
21
64
-3
0
0
-4
44
-6
-15
-13
21
-10
-41
-58
13
0
-1
0
0
-4
-46
27
-1
-19
21
55
32
-14
-21
43
25
8
1
-59
-7
19
-13
19
-25
9
-15
22
-4
29
10
-54
1
22
5
0
0
-7
-10
-63
-42
-4
-1
3
0
8
3
-12
1
52
65
0
27
-19
0
2
9
12
71
-45
0
13
13
15
0
-14
48
56
-12
3
18
-3
-10
33
14
-2
-1
14
-8
8
-2
-16
23
7
-28
-14
14
9
-1
0
-2
3
0
6
-115
29
4
-3
9
0
-11
-71
0
-10
3
3
23
-12
1
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
-59
-23
3
-13
-40
-4
0
37
-28
-4
8
-54
-7
-1
18
-14
-40
-19
-60
-56
-12
-53
-21
27
7
-44
19
-14
7
-118
-22
4
-32
-23
-11
-3
8
1
29
-14
10
9
33
-52
9
-22
32
12
5
17
-21
6
21
19
15
0
-45
-46
2
18
-23
36
2
1
3
45
52
26
98
10
-8
-37
2
-73
-9
-50
-4
-2
20
-48
-82
34
-32
16
37
116
34
62
-22
-142
6
-24
21
14
33
8
-5
-10
-45
6
-8
-1
-2
-6
-7
16
-13
16
18
57
-51
-7
-37
-33
-50
1
-5
-75
0
78
24
-39
28
-17
14
7
56
54
5
14
-10
8
-8
-47
-15
-46
-8
13
-48
9
19
31
23
-11
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
29
0
0
0
0
25
0
0
0
0
0
0
68
3
-2
0
0
0
0
-62
0
0
0
0
0
0
-19
0
0
0
0
0
0
13
0
0
0
0
0
0
59
0
0
-6
1
0
0
-13
0
0
0
0
0
0
-22
0
3
0
0
0
0
26
0
0
1
0
0
0
8
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
5
0
0
0
0
5
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
88
0
-32
-8
31
0
6
77
0
0
0
-1
0
0
-41
-23
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
-1
0
-8
0
-9
0
0
31
0
0
-6
-10
2
0
1
14
-2
1
-55
0
0
44
0
13
13
21
0
-5
7
5
2
-5
-5
0
0
8
0
0
-7
-23
0
0
0
3
27
0
32
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
-20
0
0
0
0
17
0
0
0
0
0
0
-26
0
-5
-8
4
0
0
-40
0
-1
-7
-7
1
0
-34
0
0
-12
0
0
-2
16
0
0
1
0
0
0
77
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
7
-5
29
-6
22
-10
-39
-9
6
-5
15
-7
56
0
14
-3
-126
0
-19
20
-2
-1
54
-1
16
-12
0
-99
-1
33
100
44
10
-34
-24
19
2
7
31
-6
53
-67
0
0
43
-24
6
27
4
-3
-10
-11
5
-19
6
-48
3
-13
-19
4
-10
73
65
-9
-13
7
-22
0
9
74
-25
0
8
-7
6
-2
1
21
-5
14
-1
17
-17
-1
3
28
-2
3
0
7
90
14
41
-55
-7
-4
0
-56
6
-6
-63
71
77
1
68
2
0
-54
-36
23
-54
39
9
-5
-25
-26
29
12
51
-8
23
-9
18
38
-26
-30
26
9
17
2
47
29
40
-6
-6
-5
-34
-2
24
0
9
-16
-5
-4
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
16
4
0
0
-2
-37
0
0
0
0
0
0
75
0
-1
0
0
0
0
-42
0
0
0
0
0
0
66
0
0
0
0
0
-9
-101
0
0
0
0
0
3
-67
0
9
31
0
0
0
-3
0
0
-22
0
12
0
-51
0
0
19
0
0
6
8
0
0
-9
0
0
0
-17
0
0
4
0
1
0
-22
1
0
0
0
0
0
-6
0
0
0
0
0
0
-53
0
10
0
0
0
0
16
0
0
1
0
0
0
-9
0
23
12
0
0
0
-19
0
0
5
17
-1
0
-18
0
-2
0
0
0
0
-41
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
-4
-8
0
0
21
0
0
-1
0
0
0
15
1
0
0
13
0
0
24
0
0
0
0
0
3
-77
0
0
28
24
0
-9
-24
0
0
44
0
0
36
6
0
0
-8
27
0
0
-31
-4
-15
1
0
0
-1
-22
0
-2
28
30
0
3
-18
0
8
-8
0
0
0
-7
0
0
3
-26
0
0
-39
2
0
0
0
0
0
4
-1
0
0
0
0
0
26
0
-5
0
0
0
0
16
0
5
-2
-1
0
0
4
0
18
11
0
0
-4
-11
-1
0
27
-13
0
2
10
0
-9
66
0
0
-1
-3
0
-4
-8
4
0
0
-51
0
75
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
8
0
-2
0
-20
5
-2
0
4
0
0
-16
2
2
0
1
0
13
-20
0
-2
-3
19
20
5
-10
0
5
107
0
43
0
9
0
12
76
20
6
-3
-33
1
12
-13
-13
-10
0
-18
5
4
-33
3
-2
0
-21
0
-17
8
0
-9
3
-19
1
-1
0
0
-17
0
-13
30
0
0
0
13
2
151
-3
0
6
0
0
4
74
0
58
5
8
0
3
-24
0
-6
40
31
0
0
39
0
12
-26
12
0
0
-44
4
3
-6
20
1
0
12
0
3
-8
-6
3
0
-80
0
1
9
-30
0
0
-6
0
-27
0
0
-19
0
10
2
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-10
127
-17
-3
34
31
-1
-5
-8
54
-1
-1
44
-18
-7
29
-6
-40
28
-101
22
-3
-76
-38
-21
54
-27
21
-6
14
-13
32
-28
-25
-18
-1
81
-18
-3
-13
-111
7
1
-38
-33
-28
-25
-79
-3
-25
30
99
-9
-31
-15
-28
0
-42
-78
-36
57
-53
31
27
42
-37
-2
-37
-29
-2
12
-4
-7
-20
-140
-99
-1
30
44
2
-49
9
13
-41
8
27
17
17
-58
-1
9
-12
-10
-75
-10
1
55
-91
29
-6
47
67
41
27
-13
-11
-70
-23
-26
18
-84
2
-14
6
64
32
16
-24
-25
0
11
14
99
5
-23
11
15
-9
-24
-10
-47
8
-4
20
26
34
35
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
15
0
0
0
0
0
0
20
0
0
0
0
0
0
29
0
0
2
0
0
0
46
0
0
0
0
0
0
-30
0
0
7
-4
0
0
32
0
0
3
0
0
0
23
0
1
-1
0
0
0
-46
0
0
0
0
0
0
27
0
0
3
0
-2
0
-10
0
0
0
0
0
0
-8
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-16
0
0
0
0
-1
0
0
0
6
0
0
14
0
10
0
0
0
0
-27
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
15
0
8
-30
41
-30
1
-6
-23
0
-3
32
-11
-62
16
-13
-1
-9
50
41
-36
-15
66
24
24
10
-6
-14
-15
16
-14
38
3
17
5
-3
39
-46
22
-16
32
-19
-13
0
-26
25
-21
41
-27
-13
-48
54
22
17
17
76
7
44
20
30
-102
-6
0
21
7
60
13
26
33
0
-3
-36
28
-16
-11
38
-7
22
-5
-10
9
-9
31
39
-15
-27
20
1
-3
-1
-16
-9
71
-4
31
-30
119
-12
1
30
20
13
59
77
-15
-10
24
30
16
5
8
-28
-7
15
21
40
33
-23
34
-8
15
76
-70
9
-57
-11
-4
15
-72
-32
-5
-17
-2
9
19
7
26
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
27
-2
-5
4
-4
-57
0
6
-4
33
0
1
0
0
-33
-15
-1
2
0
-3
84
-10
-1
0
66
-75
28
43
37
0
-2
-3
25
-49
41
7
5
38
-31
7
16
-49
-2
1
-35
32
36
-55
30
-15
0
-68
-44
24
-3
0
-66
6
-13
-24
-3
-77
1
11
6
56
0
-94
-27
0
25
7
16
0
-7
3
0
-76
29
0
1
26
-2
3
6
0
-18
5
0
20
28
5
0
9
-37
-22
56
4
-42
0
9
-38
65
-47
-8
9
1
36
-32
-79
10
-16
19
0
15
8
-2
83
3
-15
0
-50
2
14
-46
-3
20
0
58
-8
29
23
0
-7
81
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
0
-8
6
16
0
4
-24
15
0
0
-6
0
-9
16
0
2
0
-1
58
26
-4
-6
36
0
-7
27
-9
0
5
1
0
0
-53
-25
0
13
24
0
12
60
10
0
1
42
0
12
22
35
0
2
39
0
-7
48
22
0
-2
15
0
-5
1
3
0
-1
19
0
27
0
-3
-3
8
0
14
-1
-3
-42
-35
0
-4
-3
0
0
-15
0
-7
9
0
0
43
10
0
5
61
0
-11
-16
-32
0
10
-2
0
-4
2
2
0
21
-11
-4
-5
-4
1
0
-14
-45
0
14
6
-21
0
-2
-39
0
-2
10
-2
-1
-7
64
0
-32
0
-14
1
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
-37
-6
1
0
0
0
0
-38
0
0
0
0
0
-5
-5
0
0
-2
0
0
-2
22
0
-4
46
0
0
0
23
0
0
59
4
0
42
-31
0
-3
19
3
0
-2
40
0
0
-72
-52
0
0
30
0
0
0
0
0
0
-59
0
0
-2
-12
0
0
33
-5
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
-1
1
0
0
0
-70
0
0
10
0
0
0
4
0
-3
-3
0
0
0
36
0
0
-5
18
0
0
-24
0
0
6
0
0
0
7
0
7
67
22
0
0
-9
0
46
0
0
0
0
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
2
0
0
0
0
59
0
0
0
0
1
0
14
0
0
0
0
16
2
7
0
0
-7
0
3
-7
46
0
14
-24
-5
0
1
-44
0
0
-46
1
-5
8
-44
0
-1
-23
-3
-2
0
-39
0
0
-17
-2
-10
0
52
0
7
0
0
-7
0
-30
0
0
0
0
-2
0
2
0
0
0
0
0
0
-9
0
7
0
0
0
0
14
0
0
0
2
1
0
26
0
-9
7
-4
0
0
-100
0
0
-6
0
-2
0
-36
0
-24
-8
0
3
0
-32
0
-5
0
1
1
0
49
0
-1
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
70
-35
-11
1
-1
-5
-28
5
14
-3
55
-34
50
10
51
-40
35
21
-25
28
-10
28
40
5
-51
-21
-47
-17
20
-3
-17
-41
10
6
-9
7
40
8
-113
-20
-10
-1
-33
51
-25
-4
-53
6
-19
2
-37
-9
0
12
32
0
49
14
-77
-65
-17
-1
-22
20
-3
14
-4
10
5
21
-87
44
28
-43
3
12
14
21
26
39
-1
-67
11
22
5
-23
-27
-7
68
13
18
16
68
15
-11
-58
-6
-22
-27
33
-22
15
46
-79
21
9
-9
-21
31
-5
117
-25
12
-53
-112
41
-40
-3
0
9
14
-49
6
-60
-5
45
-46
-12
-3
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
1
0
0
0
0
0
54
0
0
0
0
0
0
42
0
0
0
34
13
-2
60
0
0
1
0
0
0
-41
0
0
-5
0
0
0
106
0
0
24
0
0
0
24
0
-3
5
-4
0
0
-40
0
0
-4
0
7
0
-7
0
0
0
0
0
0
7
0
0
0
0
5
0
-5
0
0
0
-5
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-48
0
1
0
6
0
0
11
0
0
0
0
0
0
-18
0
-3
5
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
3
0
0
0
27
0
0
0
0
0
0
0
0
-59
0
0
5
0
-4
0
-12
0
0
-1
0
0
-13
-37
0
0
4
-7
0
0
22
0
0
30
1
0
0
-63
0
0
-4
0
16
22
14
0
0
1
0
-2
0
-2
0
0
0
10
-5
0
79
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
0
50
0
0
-24
0
0
0
19
0
0
0
0
0
-8
30
0
3
2
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-14
-8
0
8
0
0
6
0
0
0
-9
0
2
15
0
0
-3
6
-4
-2
18
0
0
-2
0
0
1
49
0
1
-65
27
0
1
-9
0
-2
-27
-4
-7
-2
-23
0
-1
-13
-15
-53
0
-67
0
0
0
0
-47
0
-43
0
0
0
-6
7
0
-5
0
0
0
0
-4
0
4
8
0
0
0
0
0
10
0
-5
0
0
-8
0
-31
0
0
5
-1
0
0
-48
0
50
-1
8
0
0
-33
0
0
18
8
0
0
26
0
47
-6
0
0
0
30
0
0
16
13
0
0
-21
0
30
0
0
0
0
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-7
0
0
0
0
-65
1
0
0
0
0
0
-6
0
0
0
0
-30
0
14
0
0
1
0
0
-1
-35
0
0
-5
5
0
0
-39
0
-2
-15
0
-3
14
25
0
0
35
0
-6
-8
3
0
0
-1
0
5
0
-10
0
0
0
0
-6
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
4
0
0
0
14
-1
0
0
0
-1
0
0
-19
0
-29
1
0
0
0
20
0
-2
0
1
0
0
1
0
-5
0
0
0
0
91
0
0
5
0
-1
0
47
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
82
-17
0
13
0
0
-4
1
0
-2
0
0
-8
34
0
0
-4
68
0
24
2
0
6
-24
17
0
79
19
0
-3
-7
46
0
6
6
0
3
-2
7
0
29
-44
0
20
-32
32
0
-7
-2
0
41
4
0
0
0
-50
7
3
-3
-84
0
0
-11
-2
-2
0
5
0
0
-53
-15
0
1
4
0
0
54
0
34
-3
0
0
0
-42
0
-4
81
-17
0
2
11
0
31
55
-3
0
-4
27
-3
2
28
-75
0
3
12
0
26
7
0
0
0
9
0
6
-31
41
0
0
-51
0
-15
28
0
0
0
-43
60
-38
15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
3
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-19
8
-118
-35
22
46
-4
-11
81
61
-3
22
-14
1
1
71
-3
11
30
68
-6
-1
-23
16
18
9
47
44
-5
30
59
2
-42
26
21
4
-68
14
10
0
-44
-62
-6
33
-8
-15
-3
-68
41
-16
11
-36
-12
-15
-31
-43
0
-12
-42
-37
6
-83
-9
-32
-28
18
-40
26
-1
-4
-1
120
-13
6
49
73
9
7
9
-27
18
15
39
-2
-3
-31
45
-31
49
40
-31
4
-7
15
-6
8
26
25
-4
20
11
17
-6
-15
27
-34
97
-34
21
-20
60
92
23
46
-12
27
26
29
26
0
2
-20
13
-67
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
0
5
-10
0
0
-8
41
-6
-33
19
5
-5
-22
1
17
11
16
-1
-29
-55
-2
-4
0
-6
0
-9
-15
-3
-24
-2
4
1
-7
-106
102
5
-24
9
-3
-5
-4
-8
21
0
43
0
3
-62
-30
-128
0
28
41
-17
-1
0
-7
0
-150
19
0
9
0
-8
2
-32
0
20
-26
0
0
-1
24
0
1
-7
59
2
-3
-16
-4
-13
-57
-3
0
-4
-86
4
68
-66
-49
8
7
-39
8
-17
-25
0
1
5
-49
0
-1
3
11
-13
0
-9
0
10
-10
0
23
0
31
8
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
0
0
7
0
0
-3
98
0
0
10
16
4
-21
-46
0
0
-64
6
66
-8
-34
0
1
-33
49
-1
48
-27
-4
5
-17
-6
-25
18
-27
0
6
-90
34
-4
-8
-54
6
-2
11
23
36
-4
129
0
0
-12
-11
-52
0
-65
0
0
0
5
0
3
33
3
0
0
0
0
3
-46
0
59
2
0
4
0
-29
0
0
-1
1
0
0
42
0
-4
-5
-3
0
0
14
0
6
-34
4
24
10
-42
0
-2
-3
-3
0
0
16
0
4
-3
-1
12
0
-20
0
-2
4
2
-40
0
19
15
25
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
32
0
0
0
0
1
0
16
0
0
-1
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
2
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
0
0
0
0
5
38
0
0
-9
0
16
-6
-33
0
0
26
0
-7
24
-46
0
1
-9
0
0
0
-5
0
0
-87
0
2
5
-6
0
0
-14
0
-2
-3
3
0
0
127
0
72
0
-7
0
0
0
0
27
0
20
0
0
0
0
0
0
-49
0
0
0
0
0
0
-23
0
-4
0
0
5
-2
-47
0
0
-1
0
0
10
-53
0
-1
-24
0
0
3
72
0
6
12
0
0
0
-6
0
16
0
0
1
-8
-37
0
-6
-13
0
0
0
-25
0
-6
0
0
14
0
20
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
10
0
0
0
0
-1
3
0
0
7
-6
0
-1
39
0
0
24
0
0
-3
-24
0
0
14
-9
0
0
103
0
0
-21
0
0
0
28
0
0
22
22
0
0
-67
0
0
-5
-2
0
0
-31
0
-1
-2
1
0
0
1
-1
0
0
0
0
0
18
0
0
0
0
0
0
17
0
2
0
0
0
0
-16
0
0
0
1
0
3
-32
0
-4
7
0
0
0
-13
0
0
-3
-6
0
0
-53
0
15
0
0
0
0
65
-4
-2
-2
1
0
0
-60
0
-22
0
0
0
0
-81
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
89
0
0
0
0
0
0
-4
0
0
7
-1
0
0
14
0
0
1
0
0
0
95
0
0
-9
0
0
0
-8
0
0
0
0
1
0
-2
0
0
0
0
-14
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
10
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
-26
0
-8
0
0
0
0
0
0
0
0
0
0
0
13
0
10
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
9
-26
27
-44
-28
-2
31
56
62
21
-66
1
29
4
58
46
37
-9
29
-29
-10
-34
65
1
-30
4
-43
4
-43
-22
-10
-12
-38
-6
6
6
6
-11
48
-29
1
-22
43
33
-32
-48
14
16
13
-8
-68
9
-32
-24
0
0
32
-55
-26
23
-2
50
-9
53
-42
-31
14
32
-2
-2
-1
18
-15
3
-26
-57
12
8
-18
36
-47
11
72
5
-56
-30
8
-8
3
22
21
-69
27
14
-49
6
-28
-2
-87
35
18
-24
1
18
10
-8
18
-3
7
43
-31
5
-13
-30
32
-39
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-54
0
5
52
-20
0
8
44
0
0
5
0
4
-7
-78
0
0
43
40
0
-3
27
-2
0
-60
-19
2
8
-21
0
-1
9
-2
-2
-2
-27
0
0
-5
0
-7
0
-25
0
0
8
-5
-51
0
12
0
0
0
0
-8
0
17
2
0
0
-6
-5
0
18
0
-9
-2
3
-2
-5
45
0
0
0
0
0
1
29
0
28
-5
1
0
0
-13
0
0
-2
-5
0
0
-55
0
-14
-7
0
0
0
-12
0
0
-1
16
0
0
22
0
26
0
0
0
0
32
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
91
0
0
0
0
0
0
-5
0
7
-1
-1
0
0
58
0
0
-1
0
0
-1
-19
0
0
-3
0
0
0
-25
0
0
0
0
0
0
42
0
0
0
0
-2
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
40
0
5
0
0
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
0
-13
0
0
-4
0
0
0
-6
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
13
0
11
0
0
0
0
13
0
7
0
-5
-1
-10
0
1
-4
0
8
2
0
-29
0
8
0
0
20
-5
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
-37
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
69
0
8
0
0
0
0
-5
0
0
0
0
0
2
7
0
-1
0
0
0
0
3
0
0
0
0
0
0
63
0
2
1
0
0
0
-3
0
0
0
0
0
0
-65
0
-1
0
0
-3
0
5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
2
0
-6
6
-61
0
0
-3
0
11
0
-1
0
0
21
0
5
0
-56
0
-4
-4
0
-3
23
15
0
0
18
10
-5
-2
19
0
0
4
0
-1
0
-17
0
3
0
0
35
0
42
0
0
0
0
0
0
-40
0
0
1
0
0
0
-5
0
0
0
0
0
0
15
0
0
18
0
5
0
-18
0
17
54
0
0
0
-6
0
-2
0
-1
0
0
-5
0
-18
0
0
0
-2
-23
0
0
8
0
-6
0
-50
0
10
0
0
-15
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
3
0
0
-33
0
4
0
0
0
0
-29
0
0
0
4
0
5
-33
0
0
-8
0
0
0
44
0
0
-8
0
0
0
44
0
0
5
0
0
0
-12
0
0
-6
3
0
0
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
-37
0
-5
0
0
0
0
55
0
0
-1
0
0
0
-6
0
9
-1
0
0
0
9
0
0
0
0
0
0
30
0
7
2
0
0
0
-17
0
0
5
-5
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-90
0
4
-41
0
-2
-3
11
0
4
44
-78
-8
19
-38
0
47
-54
6
-2
2
119
0
-4
19
1
-6
0
10
0
0
-44
0
-21
0
11
0
0
3
0
-17
0
-2
0
0
0
-7
0
0
-3
-1
0
0
0
0
0
73
-7
26
0
0
-1
0
16
0
3
9
-12
0
1
-31
0
28
-30
0
-2
0
68
-2
8
93
24
0
0
59
0
45
34
0
0
0
-52
0
0
-6
0
0
0
9
0
-8
0
0
18
0
32
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
17
-3
-47
16
-16
-88
-22
16
-13
90
-16
47
-22
56
18
52
-16
-4
-8
-32
20
7
-10
19
19
1
25
-72
-14
-41
-16
9
-28
8
49
4
83
30
-47
-19
16
25
-29
-9
49
4
-3
23
-5
2
8
0
-27
3
-18
44
0
-111
44
-48
-30
2
59
45
-7
11
23
1
1
-6
23
0
12
25
-21
0
16
-2
13
10
45
-6
34
42
8
44
39
9
34
75
-38
-47
-18
51
58
22
-38
20
10
-22
3
-113
41
39
-3
0
34
-18
5
-4
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
31
0
-4
9
-55
0
-3
2
0
0
3
-13
0
-2
-45
0
4
0
-69
0
0
-30
0
0
0
31
0
2
0
0
0
0
51
0
0
0
0
-3
0
32
1
0
0
0
-2
0
8
0
0
0
0
0
0
-1
4
0
-3
0
0
0
-6
0
6
0
0
0
2
-11
0
1
0
0
0
0
-20
0
0
1
2
0
0
-15
0
13
0
0
0
0
-61
0
0
-4
0
0
0
-63
0
13
0
0
0
0
-4
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
0
0
-1
0
0
68
100
-2
0
2
23
0
9
40
0
-1
38
0
8
-1
-32
0
1
26
17
0
0
25
0
0
47
0
-38
0
-5
0
0
-4
0
-12
0
-20
0
0
0
2
0
0
62
0
0
0
0
0
0
-46
0
5
0
0
3
0
-2
0
-6
12
4
-1
0
-36
0
2
1
0
0
-2
-42
0
0
-8
-5
0
0
118
0
0
3
-6
-2
0
85
0
5
-1
0
6
0
1
0
-10
0
0
30
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
9
1
6
8
-44
39
0
53
-14
21
-8
24
15
0
84
5
19
30
-26
-6
-4
26
21
-2
19
23
11
0
-15
17
0
18
0
36
0
-8
13
-9
38
0
-11
2
0
0
0
6
0
-24
17
0
0
0
0
0
44
0
-41
0
-5
0
0
11
0
-10
-1
12
-1
-13
17
0
46
-5
-4
3
-18
-27
6
2
-125
14
-10
3
6
5
-24
47
-7
5
14
9
0
-1
-43
123
-32
0
16
0
25
-7
0
-3
0
-34
23
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-57
0
0
-3
0
19
6
19
0
-7
-21
9
-13
27
-42
0
17
20
2
-44
25
-10
0
-4
-14
0
31
-4
-18
0
-9
15
0
40
0
12
0
2
-4
0
-41
0
-12
2
0
1
-3
0
0
-4
-20
0
0
0
8
0
62
0
23
-11
0
1
6
52
0
-4
7
0
12
7
-5
0
-30
-13
0
-5
-6
15
0
53
65
1
0
-1
-34
0
-5
-38
0
-11
2
15
0
0
46
4
-16
0
8
0
-45
0
0
0
0
42
-3
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
0
0
-83
8
0
-4
-59
-18
21
-11
8
0
-18
8
12
39
1
-84
0
-13
70
0
-10
16
1
0
-58
-16
8
17
-2
-9
0
-4
5
-1
-4
14
-4
0
0
0
-5
-1
0
-6
0
0
-6
6
0
2
0
0
2
11
0
32
-18
0
0
1
67
-3
6
91
-11
0
9
37
0
9
81
-42
0
-4
-23
1
17
35
16
0
10
63
0
42
-16
5
0
1
74
-2
-8
25
-11
0
0
5
0
-50
23
8
0
0
20
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
62
1
8
20
-58
4
-57
16
-1
7
-2
-30
43
-4
33
0
26
-67
-10
18
0
33
0
0
2
9
96
-3
60
6
7
39
-21
-13
0
-23
-16
0
0
11
5
0
3
0
0
-7
30
0
0
-9
1
-42
-8
0
0
0
14
3
-8
39
-9
14
0
29
0
-78
-63
-12
3
-12
19
-4
51
26
3
-2
16
29
0
44
16
0
10
0
-32
-1
-4
5
-21
1
0
38
0
47
74
0
106
0
-63
-16
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
7
-63
-41
5
-46
-26
24
16
9
12
23
0
-63
58
20
52
20
28
-26
-30
25
9
42
-5
42
-30
-57
-9
-8
-9
22
49
36
-4
90
-2
-80
-16
73
24
-16
-74
23
43
18
-59
-78
-110
5
20
13
-26
-16
-22
-58
-38
0
-2
-33
24
14
10
102
-30
-36
-27
1
27
-9
0
-6
30
-2
-10
-9
-51
21
0
-21
-5
14
-14
-16
25
-1
27
21
1
30
31
82
-8
4
-26
-17
-35
-38
-20
40
-6
48
-15
72
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
0
-2
-3
0
0
0
38
0
0
-20
0
0
0
32
0
1
-4
-3
0
0
3
0
0
1
0
0
0
-67
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
-1
0
0
0
0
0
1
0
-3
0
0
0
0
-7
0
0
3
0
0
0
8
0
0
0
0
0
0
-9
0
1
-2
0
0
0
-5
0
-2
0
0
0
0
29
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
-3
1
-9
17
0
1
43
0
0
6
0
3
0
48
0
0
3
5
2
0
64
0
0
-8
0
0
0
34
0
0
-6
0
-12
0
-69
0
0
0
0
0
0
-22
6
0
0
0
0
1
-7
0
-1
-3
0
0
0
45
0
0
0
0
0
0
-63
0
5
29
0
0
0
-51
0
0
0
-6
0
0
-31
0
-7
-5
0
0
0
26
0
0
0
0
0
0
-67
0
-5
0
0
14
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
7
15
64
-7
-21
11
-58
29
-12
-39
-17
23
41
58
27
-1
77
-23
-4
-47
-51
16
-9
19
21
2
114
45
-2
0
-7
31
-22
0
0
-2
74
-12
5
10
-24
0
46
-22
-1
3
44
0
0
7
3
-29
22
1
5
29
45
0
35
29
6
2
10
7
-8
22
-13
29
-7
-29
29
0
0
22
75
24
83
-14
2
14
-1
1
-49
8
0
4
83
39
17
4
-7
-9
0
-9
-12
0
15
0
16
12
-18
3
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-61
0
0
-27
0
0
-1
-35
0
0
6
0
3
-4
47
0
0
-3
-1
0
0
20
0
0
0
0
0
0
-54
0
0
0
0
-20
0
-25
0
0
0
0
-2
0
-17
0
0
0
0
0
0
78
0
-1
0
0
0
0
84
0
0
-4
-5
0
0
11
0
-20
0
0
0
0
49
0
0
7
0
0
0
46
0
-5
0
0
0
0
41
0
0
1
0
0
0
-89
0
-1
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-56
0
8
33
18
0
0
-61
0
3
-26
18
0
0
13
0
12
0
53
0
0
-43
0
-6
72
-4
0
0
24
0
5
-41
1
0
0
32
0
0
0
3
0
0
-50
2
0
0
4
0
0
-6
0
-31
-1
-1
0
-2
88
0
-2
65
34
0
0
-46
0
47
-44
-5
0
5
18
0
7
14
14
0
0
-13
0
-20
-1
5
0
10
22
0
-1
2
-5
0
0
36
0
-24
-13
0
0
0
-45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
23
7
4
4
-29
-4
13
13
7
0
-43
1
38
1
28
8
-1
-63
0
-29
0
-18
-3
-2
-16
85
24
0
-19
1
30
1
-4
-4
0
-38
5
0
3
-10
0
0
27
0
51
-44
-1
0
2
71
0
7
62
-39
-5
-1
-27
0
-12
49
16
0
-5
-1
7
1
-83
-13
8
4
-52
0
-42
13
6
-6
-1
7
-2
2
76
122
-2
9
14
0
3
-4
-1
52
0
13
-33
-52
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
9
-8
-10
4
58
-17
-8
11
-14
34
25
-8
-25
50
9
-34
7
45
-31
-46
-27
-9
77
-54
10
31
-8
-24
9
114
-42
-7
12
23
12
-22
-29
25
40
-22
-34
79
21
6
-13
-4
-43
2
16
33
-33
-18
72
75
50
-14
0
-2
-18
-8
-3
-57
99
35
15
23
-10
1
-44
-6
9
5
-13
-34
-44
2
-13
15
43
-86
-14
10
-2
-45
-11
-57
-7
19
-1
-19
-12
4
-29
0
20
39
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
0
0
24
0
0
-9
-17
0
-1
31
0
0
14
-20
0
0
5
0
-1
0
10
0
0
-7
0
0
0
-43
0
0
0
0
0
0
4
-4
0
0
0
0
0
-24
0
-1
0
0
0
0
-3
0
0
0
0
2
0
-8
0
-3
2
0
0
0
-57
0
-7
8
-8
0
4
35
0
-8
0
0
0
0
-4
0
0
0
0
0
0
-29
0
-6
0
0
0
0
29
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
134
-10
-2
-87
5
-5
8
-6
-1
0
6
42
0
15
-53
0
0
-3
0
5
0
21
0
0
0
-3
5
0
50
0
0
0
14
-4
0
-15
9
0
0
0
0
-3
110
0
65
1
0
0
0
-2
0
0
-30
0
1
0
54
0
22
35
-7
0
-2
30
0
-4
0
2
0
0
12
0
-29
4
0
0
0
9
0
0
1
8
2
0
-3
0
-3
1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
4
25
-4
33
62
23
34
26
18
8
42
-39
-71
9
40
15
-23
0
0
58
-22
40
22
15
18
25
0
15
-58
-2
-7
-1
64
0
-29
9
-5
2
17
5
14
-17
21
49
42
5
7
-2
10
-7
-16
-32
92
0
-19
26
-2
7
8
33
2
44
8
-3
55
-2
13
37
15
-9
-2
3
-10
21
-7
18
15
-20
13
-15
13
42
-7
13
2
70
-34
-8
75
0
43
-8
25
-25
-22
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-24
-17
-7
13
42
-9
0
21
46
-19
6
55
17
0
7
45
0
-6
0
-29
0
-4
28
-5
14
0
8
-8
0
0
3
-12
0
13
23
0
-4
-2
6
-2
1
0
-80
-1
0
-52
4
-23
0
-24
-14
1
23
41
29
0
1
7
20
48
-35
-1
0
-19
5
-5
117
12
14
2
65
21
0
99
-16
17
0
-4
44
0
54
-3
-28
0
34
43
0
26
0
8
86
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
-16
15
0
6
-21
0
-5
-42
-18
0
0
-61
0
0
23
0
0
0
7
0
1
0
0
0
0
-8
0
0
0
8
0
0
-40
4
0
0
0
0
3
20
0
-13
4
0
0
0
-7
0
-13
4
-4
0
8
9
0
34
8
-5
0
0
-30
6
7
8
7
0
0
-67
0
42
-9
0
0
-10
-81
0
0
7
2
0
0
-28
0
-55
9
1
0
0
-59
-27
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
12
-15
-8
-63
0
7
-17
0
0
-52
27
56
0
2
-1
10
-22
22
0
0
0
4
0
0
0
0
0
-62
48
0
5
8
0
-2
17
-6
-37
70
0
0
5
30
1
3
-33
5
0
0
5
0
-40
-60
0
-2
0
13
3
-2
24
-7
0
-2
-22
-2
128
28
0
-1
2
21
0
-4
-7
76
-1
-6
-6
-1
85
-16
0
28
0
50
40
-4
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
17
-38
-10
22
-8
6
6
-14
-19
42
-60
-15
-11
-7
-5
65
32
0
-16
-25
12
48
38
0
26
29
-4
25
38
-19
14
-15
-36
34
-7
28
-23
44
72
-12
50
20
-56
16
-17
26
37
4
9
-29
-54
15
1
60
65
0
-12
25
8
28
6
-109
11
-8
-60
-47
-8
-20
21
14
-44
-41
-6
24
-8
-52
-7
1
-39
-7
7
-41
-5
13
-17
119
1
4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
-6
0
0
0
-51
0
0
-8
0
-8
0
-92
0
1
0
0
27
0
64
0
3
0
0
0
0
3
0
0
0
0
0
0
39
0
7
6
0
-4
0
13
0
0
0
0
0
-1
-4
0
3
6
0
0
0
0
0
0
0
8
0
0
9
0
-1
0
0
0
0
-75
0
8
0
1
0
0
-21
0
-5
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
49
0
-2
51
-21
-13
0
84
0
0
1
0
20
0
50
0
0
0
0
-10
0
9
4
0
0
1
0
0
60
-1
0
0
5
0
0
52
0
-22
-1
0
0
2
-89
0
5
36
-5
-17
-3
-21
0
25
-8
-6
1
0
-73
0
-3
10
11
7
3
-9
0
-50
-2
0
18
0
-18
0
0
0
0
41
0
-94
0
53
-2
5
54
0
23
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
13
-101
16
56
-22
-17
14
0
82
-4
-2
36
-15
9
8
47
29
2
28
0
7
-35
-5
0
-10
-32
-4
-2
-15
-2
4
-96
2
5
-36
-7
10
-57
22
-5
-24
-30
-1
-13
-43
40
-3
-7
36
4
-15
-20
-12
-2
11
5
-4
-4
37
-6
-13
-36
-18
40
-24
-17
-2
22
34
41
2
-40
21
-1
-19
-6
2
-7
26
10
0
35
0
8
-20
-21
-5
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
0
8
21
-2
72
0
10
0
0
-11
0
-19
0
-23
0
0
76
0
-40
0
-78
-3
0
0
0
0
0
25
-4
0
0
0
0
0
-20
8
35
-1
0
15
0
54
0
-2
6
4
29
0
1
0
-22
-12
0
-13
5
-1
0
-3
-30
0
-13
0
-78
0
51
-13
0
0
0
-16
0
0
29
0
2
12
-18
0
7
6
0
1
0
44
6
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
0
28
-18
42
0
7
-14
0
-1
55
0
0
0
-43
0
8
41
102
0
0
22
0
0
0
-8
0
0
18
22
0
0
-14
0
0
-3
0
-26
-16
0
0
0
13
0
-3
-34
-62
0
0
-11
4
-18
32
27
0
7
41
22
-11
-44
72
0
-5
-9
0
55
-69
0
0
0
55
0
0
25
31
0
0
-22
1
-49
16
1
0
0
-20
8
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-3
0
7
0
43
0
15
0
0
-5
48
-39
-3
24
0
0
0
0
3
0
21
1
0
0
-1
0
0
-50
0
-36
1
8
0
0
21
0
31
-47
-42
0
0
-21
-1
-31
-30
6
0
0
65
3
59
-50
71
4
0
34
0
26
-26
-8
0
0
7
-3
0
-1
-15
-2
10
0
0
34
0
0
1
0
-6
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
1
-29
-2
33
23
11
27
21
16
73
2
17
-30
3
3
4
-52
40
68
-72
-10
-6
49
14
-72
76
4
10
15
7
10
-1
-3
-2
-71
-29
7
17
1
-21
29
-38
3
12
-4
40
1
-129
-7
-8
35
-33
9
19
-3
-64
0
4
33
16
40
-74
-14
13
6
52
-63
-16
8
-74
-1
-25
-67
24
-46
-8
13
-2
27
-20
12
-33
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
3
0
0
0
18
0
0
2
0
1
0
19
0
0
0
0
0
0
25
0
0
0
0
0
0
-7
0
-9
0
0
0
0
30
0
0
-2
0
0
-4
31
0
0
0
0
0
0
-3
0
2
0
0
0
0
-9
0
62
0
0
7
0
51
0
0
-3
0
0
0
46
0
27
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
96
0
0
4
0
6
1
48
1
0
-13
-8
-50
0
46
1
0
0
0
0
0
-36
2
0
-4
3
0
0
-17
-6
-2
-3
0
0
-2
26
0
5
-15
-22
24
0
-55
0
9
18
0
0
0
-20
5
2
-1
-6
0
0
9
0
-21
0
0
0
0
23
1
-12
0
0
0
-1
17
0
110
0
0
-23
0
-21
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
7
-3
55
-72
-7
-36
48
9
5
41
0
-56
15
0
9
2
0
23
42
-26
-1
-39
-32
-8
-18
37
1
7
13
-22
47
15
20
-1
-6
-21
0
33
57
46
24
-25
-1
0
47
1
69
28
-8
13
-6
-4
16
74
69
-72
29
0
25
-25
25
-7
-27
3
-7
41
172
-24
88
-5
3
-1
54
47
-9
25
-2
18
-55
-7
-1
-28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-3
-1
22
3
116
-4
9
0
7
-37
-2
-2
0
12
-10
-1
0
13
8
0
6
25
0
1
10
0
0
-75
0
-136
40
0
-7
-50
-4
-2
-5
29
0
-7
-18
-7
0
61
56
0
1
9
10
7
-1
9
2
16
-3
-26
0
24
59
1
3
13
-34
1
-12
-92
0
-1
0
-20
0
2
-25
0
-15
0
8
78
-5
-20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
-1
68
0
0
0
16
0
6
31
-6
0
0
1
0
0
0
0
0
0
43
3
0
0
17
0
0
23
0
54
3
6
0
0
56
0
0
-4
20
0
6
24
0
77
21
0
0
0
6
0
-3
43
42
0
4
-94
0
-21
16
0
0
0
28
0
18
-19
8
0
0
-19
0
-74
0
3
0
0
66
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-1
0
18
-19
0
-42
3
0
0
0
0
0
-16
0
0
2
0
0
0
-27
-1
3
-6
0
0
-4
18
0
3
5
-5
0
0
12
0
-3
12
-8
0
-1
-97
0
0
-25
-7
0
0
-5
0
50
5
7
0
0
0
0
-2
-4
15
-2
0
-33
0
43
0
0
0
0
-58
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
47
2
10
27
-32
2
20
21
76
18
-97
-39
11
19
-22
-40
47
26
-9
-15
0
3
8
-35
49
16
-13
3
47
-57
-14
18
-27
-27
19
1
-24
52
-13
-56
-27
-5
-102
33
-31
25
13
-27
3
-19
-43
-13
-80
9
35
0
89
69
90
5
113
-39
-2
15
-5
-13
3
21
52
18
10
20
52
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
-2
0
103
0
0
0
0
-1
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
24
0
-3
0
6
-8
0
0
14
-1
0
12
0
0
0
1
0
0
-46
-1
0
-2
0
0
-2
5
0
0
0
3
0
-2
84
0
3
-2
-5
0
0
-48
0
-2
-6
-6
0
0
13
0
-22
-9
0
0
0
8
0
0
-3
0
29
0
-13
-2
-24
0
0
-25
0
-34
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-71
0
1
0
-72
-46
0
-26
0
1
0
0
-9
0
35
31
0
2
-7
0
-1
-16
0
6
2
0
-1
-11
6
2
10
19
-7
0
10
-14
-1
15
-14
-12
0
0
-16
4
43
24
0
-8
16
6
0
20
-4
0
-1
-1
59
0
5
-7
53
-4
-3
-29
0
54
14
0
7
0
14
34
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
-1
0
14
0
-35
0
0
0
0
8
0
-4
0
0
0
0
0
0
2
0
8
0
0
6
0
14
0
0
-1
7
0
0
-3
0
2
0
0
0
0
38
0
0
-4
0
0
-2
-1
0
5
0
0
0
0
78
0
0
0
0
0
0
-84
0
1
5
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-35
-12
-8
18
-8
0
0
-40
-3
10
6
-3
0
0
-24
-5
0
0
-19
0
0
-23
4
4
-5
2
0
-3
-21
0
10
16
37
0
-16
-51
0
-52
59
5
0
23
44
0
3
30
-82
0
18
7
0
-18
-9
0
0
-4
9
0
25
45
6
0
0
24
0
-30
-3
0
0
0
-5
21
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-20
0
0
0
7
0
0
15
0
0
0
0
0
0
-5
0
0
2
13
0
0
57
0
4
2
0
0
0
-10
0
0
1
0
0
0
-147
0
3
0
0
0
0
43
0
-1
8
3
0
0
-61
0
9
0
0
0
0
61
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-61
-2
-18
8
-86
-38
15
-14
65
-6
-4
-10
7
12
3
35
8
59
-24
17
29
-21
15
20
51
-11
-68
-40
3
-20
32
40
17
-10
-2
-8
11
11
-34
-12
-12
-12
21
-9
-57
-38
-113
6
-30
-3
-12
-33
-40
18
-62
11
0
90
-20
36
34
-25
-1
8
-7
48
-25
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
-3
0
0
0
0
13
0
0
1
0
0
0
5
0
0
0
0
0
0
-1
0
-2
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
12
0
0
0
9
0
0
19
0
0
0
0
0
14
30
0
0
-6
0
0
0
30
0
5
48
0
0
0
52
0
0
0
-13
0
-1
50
0
0
-4
0
0
25
-15
0
3
0
5
-1
0
-93
0
9
0
0
0
0
-25
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-3
0
0
8
8
0
-11
-1
0
0
3
0
0
-40
-5
-4
-5
0
0
0
-34
0
3
-9
22
0
-3
-45
0
19
-23
-2
0
0
-28
-3
9
49
-8
-8
0
-15
0
-10
-8
0
13
0
-27
14
-12
0
-8
-9
0
-19
0
-13
0
0
8
0
-44
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
34
3
0
-4
0
0
-86
-20
0
0
0
0
0
-42
0
18
2
0
0
-6
-13
0
6
71
0
0
-26
0
0
54
-46
-2
0
-7
-2
0
58
140
-2
-13
-1
25
4
44
46
0
0
-5
24
1
15
91
8
-9
0
-24
0
-23
-18
0
-10
0
-53
29
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
-3
0
6
0
0
13
-22
-2
8
-2
0
27
-1
0
-22
-33
-3
-6
20
14
0
-24
3
-50
0
74
-11
0
8
57
76
0
2
37
1
-58
60
44
0
24
41
0
43
20
51
0
6
-3
0
42
-2
-5
0
-9
-46
0
-15
41
2
0
0
38
6
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
-5
-19
-18
40
-13
-139
2
-32
14
15
-26
29
4
-2
-26
10
-15
8
26
13
-3
-13
37
-23
-55
-41
-18
13
-2
65
-9
-16
-13
-20
-6
-61
14
-8
91
-41
-1
-28
30
31
9
-7
28
13
-2
5
10
-5
73
-3
9
0
13
-50
24
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-42
0
21
0
2
0
0
55
0
0
1
0
0
-2
11
0
4
-5
10
0
0
-95
0
-5
1
0
0
0
-24
0
7
0
0
0
0
-19
0
9
15
-10
0
0
44
0
-54
0
0
-2
0
25
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
-1
0
0
0
-42
0
22
0
10
0
0
-5
0
-3
-7
0
0
0
2
0
0
1
0
20
0
41
0
53
0
0
-8
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
-10
0
0
-22
0
0
0
0
0
0
22
0
0
-8
0
0
0
-34
0
-5
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
-1
2
0
0
0
-48
0
0
0
-1
-3
0
15
0
5
-1
0
-3
1
3
0
3
-17
-6
0
0
59
0
7
-2
0
0
0
-19
0
2
-4
0
17
0
-6
0
-7
2
0
-1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
29
0
0
0
0
0
0
38
0
-7
-2
-7
0
-7
-43
0
33
-4
0
0
0
-35
1
0
-5
14
0
0
-123
0
-24
5
0
0
0
4
-3
3
9
2
0
0
-73
0
-51
4
0
0
0
26
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
-7
-5
-70
17
3
33
0
-2
13
17
-16
-10
19
-14
-1
-10
32
0
-10
-19
18
-10
-42
-30
-19
-8
18
-5
4
-61
-91
-15
-54
10
-24
3
-22
46
-40
4
-7
7
0
-15
34
3
50
16
-4
34
2
-15
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
-30
6
0
0
5
-15
0
0
17
5
0
0
34
0
4
-14
-9
0
0
29
0
0
0
-12
0
8
31
0
-29
6
0
3
0
-39
0
1
0
0
0
0
-14
0
-30
0
0
7
0
37
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
1
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
-3
0
44
0
0
0
0
0
7
-47
0
-1
-6
0
0
0
42
0
0
18
4
0
0
3
0
0
5
0
0
0
-4
0
8
10
7
0
0
-93
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-4
0
0
8
0
-15
0
-1
27
0
8
0
-46
0
-4
1
0
6
0
-61
0
-1
8
0
0
0
66
0
-20
-6
0
2
0
45
0
0
0
0
1
0
42
0
-3
0
0
-13
0
-4
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
0
0
-4
0
1
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
-4
-8
0
0
-116
0
-9
0
0
0
0
53
0
0
-2
0
0
0
-35
0
0
7
0
0
0
-8
0
0
0
0
0
0
82
0
0
0
0
1
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
29
-1
108
15
36
4
20
26
1
-8
-19
85
23
102
5
-16
-37
-15
-2
-50
-13
1
3
33
-22
11
37
28
-50
29
21
-16
-2
-45
-3
0
0
-75
0
29
42
-7
13
-61
-41
-7
-44
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
-8
0
2
0
0
0
0
-15
0
0
0
0
0
0
8
0
-1
0
0
0
0
5
0
0
0
0
0
0
-9
0
-2
0
0
0
0
5
9
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-26
-10
-4
-16
-24
64
1
-40
-6
48
-10
-2
-11
-22
-37
2
32
-7
14
-2
-1
-67
-2
-5
-34
-5
-4
-5
-11
-1
0
-38
49
-7
0
21
0
18
-6
0
-26
0
33
17
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
0
0
-9
6
0
2
1
0
7
3
0
-8
-7
2
0
10
-3
-3
0
0
-18
0
30
16
0
7
0
-9
0
-5
1
-6
3
0
59
0
-6
0
0
-3
0
-30
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
4
0
0
0
-47
0
0
0
0
0
0
-26
0
0
0
0
0
0
55
0
7
0
0
0
0
-27
0
0
0
0
-7
0
35
0
4
8
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
3
-4
0
0
0
0
0
50
-5
8
0
0
31
0
3
8
0
0
0
-51
0
13
-3
-2
0
8
21
0
0
0
-2
0
0
49
0
6
0
0
0
0
57
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-57
0
-41
0
0
0
0
-14
-1
-3
-21
9
0
0
-29
0
9
6
0
0
-1
26
-4
0
6
15
0
0
24
0
-12
-3
0
4
0
32
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-7
-5
29
60
51
13
10
1
-15
1
9
52
-33
137
-16
-6
4
-10
-55
63
50
4
-8
43
16
62
-37
-27
1
17
-44
51
-18
-78
-1
28
-34
12
14
66
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-12
0
0
0
0
13
0
0
0
0
0
0
-7
0
-1
-1
0
0
0
1
0
0
0
0
0
0
-23
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
0
10
-5
4
0
0
21
0
0
7
9
0
0
-56
0
7
12
0
0
0
-27
0
0
0
2
0
0
-24
0
0
0
0
0
0
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
32
0
38
50
12
-4
2
7
0
-14
-114
2
8
0
10
0
24
58
-1
34
0
-24
-8
-5
13
-11
-41
4
37
0
42
-1
0
-44
0
45
-5
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
0
25
31
0
1
0
-30
0
-3
-26
8
13
0
12
0
-14
78
0
17
0
1
0
0
-15
0
-1
0
39
0
37
0
0
85
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
15
0
0
2
30
0
-7
1
-8
0
0
6
0
1
-4
2
0
3
-18
0
0
-5
0
0
0
-1
0
9
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
7
1
-5
-12
0
0
-14
0
46
23
0
0
0
-68
-13
0
23
31
0
0
18
0
12
0
0
-1
0
-19
-12
-4
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
40
68
64
-24
5
-14
-2
1
-42
-22
-41
-67
-57
-3
-35
-5
-17
19
-57
10
-1
5
15
0
5
-61
-17
0
-64
22
-44
29
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
-1
0
0
0
1
0
0
0
0
0
0
2
0
-7
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
7
7
-22
-60
12
-34
-8
-45
0
127
0
-12
-2
13
-34
0
-11
-63
0
33
10
-15
0
96
19
-1
10
0
25
23
17
10
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
91
0
34
32
18
52
5
36
0
-29
86
5
10
1
-2
0
-9
-53
-72
-5
2
-13
0
113
0
0
72
0
3
-31
5
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
17
0
0
0
77
0
-7
13
0
0
0
8
0
1
-5
0
0
0
-8
0
-8
0
0
25
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
10
0
1
0
0
-14
0
-12
-1
0
0
0
10
0
0
-5
0
0
0
16
0
10
0
0
0
0
-6
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
0
-47
8
0
0
0
28
0
0
0
0
0
0
-19
0
-7
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-9
-11
65
10
-124
-2
7
-12
11
7
25
12
-2
3
5
-5
44
-75
-36
1
45
-49
-15
-27
42
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
-10
0
-1
0
0
0
0
47
0
9
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
0
3
-14
0
0
1
-17
2
0
41
4
0
0
-16
0
27
0
5
-15
0
10
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
29
35
8
4
-2
5
0
3
44
-1
1
-1
36
0
-14
8
0
-112
0
-41
-94
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-44
5
0
-26
3
5
0
17
-23
0
-7
0
-13
0
3
7
0
48
0
30
-1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-91
-6
0
0
0
3
0
0
13
9
0
0
-34
0
66
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-1
0
0
0
2
58
0
5
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-11
-3
58
-4
-44
-5
22
-13
-12
-81
7
-2
-4
3
-45
23
-8
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-24
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
0
-4
-49
52
-39
0
23
0
19
67
-4
-5
0
37
-10
-15
6
44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
6
-13
6
49
17
0
-24
0
40
0
2
-31
0
18
7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
2
-5
5
0
0
-49
0
-5
0
0
-2
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-1
0
0
0
48
0
33
0
0
0
0
63
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-5
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
-7
61
-5
23
-3
-26
31
1
-48
-21
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-18
0
0
0
0
-62
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
-20
14
0
23
0
44
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
77
0
0
26
0
-57
6
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-31
5
-6
0
0
21
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-36
-1
25
44
-33
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
49
-35
2
-7
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
-21
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-102
-11
-4
-2
-2
-29
28
-58
-87
-25
33
-3
9
55
-5
-56
-98
36
-43
-17
59
0
0
0
0
0
0
0
0
-5
-52
4
4
17
-59
29
-11
41
-19
3
-50
-25
-17
-11
58
-1
-98
-41
11
3
6
-2
-1
-12
9
-39
-20
29
0
-25
-92
32
-21
46
44
9
-18
-5
1
1
6
-65
-8
-8
-4
-40
-14
13
-10
-17
-3
-1
-5
8
-4
7
23
-26
4
-30
2
0
-2
10
-5
-4
-8
28
21
37
-17
-35
-6
-4
20
-56
22
-33
19
-2
-46
2
5
7
19
-8
-26
61
21
-65
-2
0
-80
-43
-26
0
20
-2
-5
17
23
-41
-10
3
-1
-32
7
8
3
4
8
-3
93
-16
3
-12
68
-57
-2
3
-76
6
-19
17
-9
-1
-18
-20
-1
-64
74
6
0
13
-5
-17
12
-42
10
4
26
-72
26
-27
-10
0
-1
11
35
-39
-21
-39
15
2
10
-55
-50
35
-16
-31
-5
39
17
-12
20
39
1
1
-16
-41
16
-53
15
-34
0
-40
-22
4
-13
9
-1
0
-109
109
6
31
11
22
3
-16
14
10
-4
2
24
-4
86
-16
-4
-29
-8
52
-7
-83
-34
13
45
6
-1
1
-11
-31
2
0
47
21
-6
1
79
-77
24
-50
-15
4
-55
-53
-28
40
-3
-20
-1
-49
10
-6
-21
9
33
5
-44
-20
-13
15
21
-28
-5
-41
8
17
9
1
15
1
17
11
24
32
20
-20
-3
32
48
-10
-31
49
-121
2
33
-10
4
-82
1
-4
0
-51
27
-8
-38
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
22
0
0
-14
-39
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
-5
0
0
0
-53
0
-27
0
0
0
0
4
0
0
0
0
0
0
-71
0
0
0
0
0
0
-8
0
0
0
0
0
0
-41
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-16
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
48
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
24
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
0
1
0
0
0
0
-2
0
0
0
0
0
0
45
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-3
0
0
56
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
5
0
0
0
7
0
0
7
0
0
0
0
0
0
3
0
0
32
7
0
0
-6
0
0
-1
0
0
0
20
0
1
-7
0
0
0
-2
0
0
0
0
0
0
-3
0
48
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-45
0
0
2
0
0
0
8
0
-3
-4
0
0
0
55
0
0
0
0
0
0
-94
0
0
0
0
0
-4
-64
0
0
3
0
0
0
-36
0
0
19
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
30
0
0
0
0
0
0
56
0
0
-2
0
0
0
9
0
0
0
0
0
0
-28
0
0
-1
0
0
0
38
0
0
-4
0
0
0
67
0
0
0
0
0
0
4
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
17
0
0
0
6
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
23
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
-74
0
0
0
24
0
0
45
0
0
0
7
0
0
58
0
0
0
5
0
0
-1
0
0
0
4
0
0
1
0
0
0
28
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-23
0
0
0
-8
-25
0
0
0
0
0
0
95
0
0
0
0
0
-2
32
0
0
0
0
0
0
-34
0
-4
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
0
0
8
0
0
-8
42
0
0
0
0
0
0
-9
0
0
18
0
0
0
28
0
0
7
0
0
0
58
0
0
0
0
0
0
9
0
0
0
0
6
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
-17
0
11
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
1
0
0
0
-2
0
0
7
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-68
22
-16
-3
3
5
-4
-19
-109
-31
-10
-7
-29
0
0
0
0
0
0
0
-2
-28
-11
22
-26
-52
-37
-39
38
-5
3
-5
10
-57
53
75
24
-2
13
-18
19
4
-4
-2
0
-14
1
-47
-74
32
-41
-16
-8
-62
19
-60
27
14
-2
12
3
-3
-2
-121
-5
-3
-11
14
4
-64
4
-16
-29
0
13
9
-6
28
-45
-21
-15
-34
5
-12
-7
-46
-77
-3
55
2
-5
-11
-16
-1
-14
-1
-6
-24
54
47
19
-4
2
2
0
18
-48
20
28
-32
34
-12
-1
-47
0
-21
-60
0
11
-3
70
7
51
-36
45
21
-7
53
23
0
2
-41
-4
-4
-10
18
13
53
-74
-8
1
-29
9
2
-26
-12
0
-7
-71
6
-1
-7
11
-33
-3
-7
-1
4
-7
-66
27
5
7
-4
11
18
8
2
-3
31
5
20
-36
19
-6
-5
-17
3
3
-13
-52
-29
7
-23
2
15
-20
-23
3
-1
-2
-27
1
-22
-27
-7
-4
-3
82
-5
-32
-68
-2
-2
-45
11
5
12
-25
5
1
-24
39
-16
-20
-16
-16
-5
37
-11
0
-11
26
-14
-1
-9
96
-4
-16
-2
-1
-4
8
2
-30
-3
31
-7
-21
37
50
-8
-23
-46
-32
32
24
58
31
19
43
28
7
-45
39
35
-47
15
-14
-4
10
-14
-13
27
52
31
2
12
-7
6
-18
-52
-3
-4
-16
-24
1
-25
-35
-6
-21
-10
-49
-3
18
4
-8
-1
-26
7
2
8
-20
-1
4
-14
9
-40
42
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
0
0
0
0
0
1
2
0
0
0
0
0
-40
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-8
-1
-14
0
-1
-13
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-59
0
0
3
0
0
0
-43
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
-31
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
7
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
-7
0
0
0
0
0
0
-2
0
0
0
48
0
3
24
0
0
0
-1
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-15
2
0
0
0
2
0
0
-8
0
0
-2
-22
0
0
-10
0
0
-2
-12
0
0
-2
0
0
0
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
-15
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
10
0
0
0
-4
0
0
13
0
0
0
7
0
0
32
2
0
0
0
0
0
41
0
0
0
52
0
0
56
0
0
0
-8
0
0
0
3
0
0
-8
0
10
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
4
0
0
8
0
0
8
0
0
26
6
0
0
8
-42
0
2
-21
0
0
1
37
0
0
-33
-1
0
-10
6
0
0
-31
0
0
0
34
0
-26
1
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
40
0
0
0
43
0
0
24
1
0
0
-2
0
0
-6
0
0
0
-15
0
0
-7
-1
0
0
-1
0
0
8
0
0
0
4
0
0
0
0
0
0
-27
0
0
0
0
0
0
12
0
0
0
0
0
0
102
0
5
0
0
0
0
5
0
0
2
0
0
0
73
0
4
0
0
0
0
11
0
0
0
0
0
0
-5
0
1
1
0
0
0
-7
0
0
0
0
0
0
-32
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
0
2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
45
3
0
0
-25
0
0
0
0
0
25
0
0
30
0
0
42
0
0
0
0
0
0
2
0
0
0
0
-3
25
0
0
-39
-121
-64
-21
-3
0
0
-38
1
-53
18
-1
9
0
-14
9
-47
-33
31
3
0
101
0
-83
-73
8
0
0
-6
9
-2
22
0
0
0
-18
0
-3
0
41
-1
0
-3
0
-45
0
0
-5
0
0
-1
0
0
-33
-18
0
1
-5
0
0
-71
0
5
12
0
1
0
-82
0
-23
-40
-70
0
-3
-80
0
0
-44
0
0
5
10
1
0
-15
-5
0
46
75
0
-10
10
0
0
-9
25
0
45
-59
-27
0
0
-63
0
0
67
6
2
0
72
1
3
0
0
0
0
-67
0
0
0
1
0
0
-46
0
5
-3
-3
-4
-2
-25
0
0
-9
0
-4
0
-22
24
-4
-34
-38
0
-8
-11
0
4
-55
-18
-6
0
40
1
1
-83
39
0
0
-18
0
1
5
0
39
0
-59
0
0
22
13
-70
0
26
5
0
0
10
0
0
1
0
0
3
0
0
0
-124
0
23
0
0
4
0
-32
0
27
58
8
0
-7
8
0
-10
21
-9
0
0
-52
0
-5
-4
39
-5
0
-44
0
-18
-4
-1
0
0
-55
0
0
-4
0
12
0
9
12
-16
0
0
-2
0
59
18
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
2
0
-3
0
-4
0
0
0
0
0
0
0
-7
0
1
0
13
0
0
37
0
0
0
-27
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
50
0
0
0
-93
0
0
-62
0
0
0
25
0
-7
-30
5
0
0
9
4
49
-5
-2
0
0
72
0
-26
29
0
0
0
35
0
0
-6
-9
0
0
38
0
66
5
25
0
0
-2
1
-46
0
0
4
0
0
0
-1
0
45
7
2
0
16
0
0
-90
0
0
43
0
0
13
0
0
1
8
72
0
-56
45
0
0
-30
0
0
37
28
0
0
7
13
0
6
23
0
0
-26
0
5
6
38
0
-129
10
-6
0
0
-14
0
0
-8
0
-20
0
2
0
8
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
-1
1
0
-1
0
0
0
-15
0
0
3
-10
0
-1
-25
-2
0
3
-56
0
0
20
-1
0
0
61
0
0
24
3
0
-2
42
0
-1
-1
-2
0
1
-43
0
0
0
4
-28
0
-16
1
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
-3
0
0
0
8
0
0
0
0
-8
0
1
6
0
39
7
0
0
0
-78
0
3
37
4
0
-2
11
0
38
0
0
0
0
4
0
2
-1
0
-1
1
-53
0
-17
0
0
4
0
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-10
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
-9
0
0
0
0
0
0
32
0
0
0
-2
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
34
0
0
0
-4
0
0
22
0
0
0
0
0
0
0
0
-3
0
0
0
0
10
0
0
0
0
0
-3
-29
0
0
0
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
34
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
9
0
0
-4
0
0
0
-4
0
0
25
0
0
0
0
0
0
0
8
0
0
-15
0
-2
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
12
0
0
0
0
0
4
99
0
0
0
0
0
0
9
0
29
-1
0
0
-2
-60
0
0
0
0
0
0
26
0
0
0
0
0
31
9
0
0
-1
0
0
0
8
0
-10
4
0
0
0
8
0
0
0
0
0
0
47
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-29
0
0
0
0
0
1
24
0
0
1
2
0
0
-74
0
0
0
0
7
0
-48
0
0
0
-2
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-6
16
-3
-46
-8
0
0
0
0
0
0
0
5
36
-15
9
114
-1
-4
-129
36
-9
1
27
14
7
-2
13
0
0
-25
0
-46
0
0
-5
0
0
2
-8
0
17
-54
0
-1
41
-68
-31
31
-1
-1
24
2
57
0
-7
0
0
24
7
-18
32
-40
0
-3
-97
-55
17
-29
-13
-36
-5
-4
-26
-33
-24
10
25
-7
-3
-4
27
11
7
0
-2
-12
-78
-36
-43
36
-3
0
-38
-5
4
0
9
21
0
15
-84
-81
-7
1
-8
-24
0
-12
0
22
-5
0
0
0
-24
16
39
-3
2
-23
2
11
7
-34
-4
1
8
12
32
-13
23
-5
0
0
8
36
-75
5
10
8
0
10
-4
-3
-48
-1
0
-2
-26
18
-8
14
44
0
0
-4
-65
-15
0
-5
-6
-87
-3
-3
0
-1
-11
-6
1
0
-60
-40
6
-30
0
1
3
-27
-9
12
-8
0
-4
-1
52
10
60
4
9
53
10
-25
0
-35
-27
37
-25
16
-14
30
-14
-24
0
-8
-7
33
-1
-11
-25
2
-10
-8
-58
21
3
35
-2
2
-27
-47
30
0
-7
11
-1
51
-1
55
5
-14
73
6
-1
-76
3
-2
-27
-7
-1
13
-21
69
29
0
-6
38
-21
9
66
-22
7
0
-21
-5
23
-9
-9
-16
3
52
-38
-48
21
9
-48
4
24
-26
-28
2
0
-7
9
7
0
-18
-38
0
47
0
13
4
-14
40
0
12
-33
-5
-7
-42
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
0
0
6
0
0
-19
0
0
0
-60
0
1
0
0
0
6
-2
0
-13
0
0
-1
0
0
0
0
0
4
16
0
6
0
-4
-38
25
0
0
13
0
47
-19
0
0
0
7
0
-10
-5
0
0
0
-87
0
-103
11
2
-5
0
30
0
17
-16
6
0
0
-16
0
77
-54
0
0
0
-33
0
-57
0
0
0
0
14
0
-1
0
0
-16
0
0
0
27
0
4
-20
-6
0
0
0
77
-2
0
0
-6
0
0
71
0
0
16
21
0
0
28
15
0
0
-28
0
0
-47
-94
0
0
-37
0
5
29
6
0
0
-45
0
0
-1
-14
0
-18
30
0
0
0
-24
0
0
26
0
5
0
-2
73
-31
0
0
0
0
-14
-10
0
-5
0
0
0
-12
15
0
12
0
-1
74
1
0
0
34
0
47
48
40
0
0
0
-23
1
8
23
0
0
39
0
-2
25
-76
0
0
19
0
-3
-2
6
0
1
55
0
4
0
25
0
0
16
0
-3
0
-18
3
0
8
0
0
0
17
6
0
0
0
0
0
30
0
16
8
0
0
-3
-26
0
0
16
0
-2
20
24
0
-61
-64
0
4
1
15
0
0
-56
0
5
0
14
0
3
13
0
0
0
0
0
0
-6
0
9
0
12
0
-5
24
0
56
0
-36
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
-25
0
0
0
0
0
-75
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
18
2
0
6
0
0
0
0
0
0
27
0
0
0
-1
0
0
47
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
47
1
0
0
0
0
-3
49
0
0
0
0
0
-1
-8
0
-2
-7
-1
0
-12
-74
0
0
5
0
0
-2
-1
0
0
4
0
0
8
-28
0
0
0
0
0
0
-7
0
-6
4
0
0
0
-35
0
0
0
0
0
0
42
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-50
0
0
0
0
0
0
18
0
0
0
3
0
-8
13
0
0
2
0
0
0
26
0
0
-1
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
72
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-9
-14
3
9
-10
-8
12
0
0
-2
3
0
1
0
-2
5
0
-91
0
0
-2
0
0
0
0
0
0
-7
0
-1
-41
20
-3
-65
5
0
-11
8
-43
-64
-22
-6
3
-10
-12
-25
-75
-38
2
-4
5
-32
-15
-17
-40
24
0
-59
-37
7
30
6
0
-4
3
-47
-16
29
-4
3
0
-3
-17
11
-1
-18
1
0
7
27
17
0
0
-13
0
-1
-9
22
5
-3
25
-85
2
45
0
-6
5
0
2
-4
15
-18
-15
21
-3
-8
22
-1
-39
3
2
0
-6
-8
-37
63
-45
-4
3
14
-28
-32
73
-8
0
4
-2
-9
24
-18
-39
2
0
5
-13
10
-51
5
-1
0
0
-6
-53
3
0
1
44
-23
0
-1
0
0
-16
12
0
12
-22
-9
8
-2
1
-8
-43
41
-33
-48
-2
0
0
-69
12
-38
68
-10
56
15
-5
-46
39
14
13
15
-33
-41
-4
74
-51
-18
-9
38
-35
1
39
22
4
-3
-6
-16
102
15
-24
14
3
2
2
35
33
0
-11
-6
9
4
13
18
4
2
8
1
4
-71
5
0
-6
32
47
-26
5
-61
-25
-35
2
-4
43
-3
-19
0
-4
11
29
-49
-23
35
-21
-33
0
-1
6
40
23
9
-11
-6
-41
-11
0
-29
-1
-20
1
13
10
-46
-35
0
8
0
-59
29
17
32
0
-28
-45
1
-21
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
1
-15
0
0
25
0
0
0
22
0
0
0
0
0
43
0
0
0
0
0
-58
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
-43
0
0
0
-1
0
0
0
0
4
0
-1
0
-3
60
-6
0
0
22
2
0
-33
0
0
0
1
0
0
-19
0
0
0
-15
-1
1
0
17
0
0
2
0
-13
0
0
-1
0
0
0
1
0
-24
-7
0
0
-2
0
-4
-35
0
0
0
0
0
-55
1
0
-9
40
-13
0
53
0
0
0
-47
1
0
11
-46
0
0
-4
4
0
4
-87
0
0
124
3
0
0
17
0
-15
0
0
0
3
-25
0
0
-2
0
7
0
-36
0
0
0
0
0
0
27
0
0
0
0
0
-2
-60
0
0
0
1
0
-2
4
0
3
-15
0
0
-13
0
0
0
-18
36
0
6
43
0
0
-11
3
0
-4
12
0
0
-6
-3
0
0
-41
0
0
-2
0
0
0
-23
0
0
6
4
8
0
21
0
0
0
0
0
0
5
0
0
0
-1
0
0
-14
0
1
0
0
0
0
-17
0
0
-5
7
0
0
0
0
-59
-3
1
0
0
-41
0
1
6
-3
0
0
-51
0
40
-4
0
0
0
-6
0
-5
0
0
0
0
1
0
23
-1
0
0
0
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-1
-4
0
0
28
0
0
0
-19
0
0
0
0
0
5
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
3
-4
16
1
0
0
-1
0
0
-35
6
0
0
21
0
0
44
0
0
0
-1
0
-2
0
0
0
0
101
0
2
-20
3
0
0
-12
0
8
1
0
0
0
0
0
57
0
0
0
0
0
0
0
0
46
0
-2
0
0
0
5
63
0
0
0
0
0
34
1
0
6
47
0
0
-15
0
0
-1
-4
0
0
-5
16
0
0
1
0
0
-5
58
0
0
-3
0
0
0
21
0
-21
-7
0
0
0
-5
0
-4
6
0
7
0
52
0
0
0
0
0
0
-29
0
0
0
0
0
0
53
0
0
0
0
0
0
-26
0
0
-1
0
0
4
31
0
0
0
0
0
0
4
0
2
-6
-5
0
0
-33
0
0
2
0
0
0
19
0
0
0
0
1
0
-11
0
0
0
-3
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
27
0
0
0
0
34
0
0
0
0
0
0
-42
0
19
0
0
0
0
-6
0
3
0
0
0
0
-4
0
6
0
0
0
0
-24
0
0
0
0
0
0
20
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
61
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
-1
29
0
0
0
-2
0
0
31
2
0
0
-3
0
-2
-20
1
0
0
-5
0
-5
98
0
0
0
-12
0
1
3
0
0
0
31
0
0
0
-8
0
0
-1
0
0
0
0
4
0
0
0
0
0
-4
0
0
0
0
0
-19
63
0
0
2
0
0
41
5
0
38
-8
0
0
-16
15
0
0
0
0
0
0
7
0
0
5
0
0
8
33
0
0
-6
0
0
0
4
0
-30
0
0
0
0
-7
0
0
7
0
0
0
-41
0
-6
0
0
0
0
55
0
0
0
0
0
-9
11
0
0
0
0
1
0
-7
0
0
7
0
0
0
-35
0
1
0
-4
0
8
5
1
0
-4
2
0
0
3
5
0
-3
0
0
0
-120
0
0
0
0
0
0
24
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
2
0
-25
0
5
-2
1
0
-2
13
0
-2
-2
-4
0
0
1
0
0
5
3
0
0
-6
0
-1
0
2
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
4
3
0
0
0
15
0
0
0
53
0
0
0
0
0
18
0
0
0
0
0
-80
0
0
0
0
0
0
-5
0
0
0
0
-10
-8
0
0
12
-10
0
24
0
0
0
7
0
9
-14
1
1
0
27
2
-3
68
-8
0
0
-5
3
0
-112
40
0
6
8
3
3
15
0
0
0
13
0
-24
1
0
0
0
0
0
-48
0
0
3
0
0
0
1
0
-53
-8
-2
0
0
0
-5
-16
0
0
5
0
0
-1
0
0
64
-2
31
0
-11
37
1
0
0
0
0
50
-38
0
-2
3
0
0
27
-20
0
0
-25
-5
0
0
26
0
-74
-14
0
0
0
-85
0
0
0
0
-12
0
47
-1
0
0
0
0
0
-7
0
0
0
0
0
0
-127
0
0
0
0
0
0
23
0
0
4
0
0
-8
-27
0
3
-8
20
0
-3
54
0
-4
28
0
0
0
-144
0
-4
-10
0
0
-2
-6
0
0
0
0
0
0
81
0
0
0
3
8
0
53
0
0
0
0
-4
0
45
6
0
0
0
0
0
5
0
-41
0
0
0
-1
-13
0
5
0
0
0
0
-91
0
-29
48
-6
0
1
2
0
4
-4
0
0
0
-6
0
-14
1
0
0
0
5
0
-1
0
18
0
0
-17
0
-1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
-36
0
0
0
0
0
58
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
0
45
0
0
-37
0
0
0
5
0
0
9
0
0
0
-21
0
-1
-56
0
0
0
-1
0
1
-5
0
0
0
56
0
0
-6
0
0
0
-37
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
-20
21
0
0
2
0
0
3
0
0
13
63
0
0
12
17
0
0
-12
0
0
8
36
0
0
-6
0
0
0
22
0
0
-9
0
0
0
-53
0
22
5
0
0
0
-29
0
0
0
0
0
0
-14
0
0
0
0
0
0
-63
0
0
0
0
0
0
-41
0
0
0
0
0
0
-67
0
0
-22
0
0
0
2
0
0
29
0
0
0
-29
0
0
-78
0
0
0
-12
0
0
-8
0
0
0
-48
0
0
0
0
0
0
-44
0
0
0
0
0
0
66
0
0
0
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
42
0
0
3
0
0
0
-26
0
0
1
0
0
0
3
0
0
90
0
0
0
24
0
-24
-3
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
-36
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
-5
-14
0
30
0
0
0
0
0
0
-8
0
0
0
40
0
0
31
0
0
0
2
0
0
49
0
0
0
-10
0
0
-1
3
0
0
62
0
0
0
-1
0
0
5
0
-2
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-1
-42
0
0
-7
0
0
-3
1
0
-29
41
-28
0
-22
28
0
0
-9
0
0
0
-16
0
0
-24
0
0
-1
90
0
0
26
0
0
0
22
0
83
7
0
0
0
-58
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
-20
0
0
0
0
0
1
-61
0
0
-3
0
0
0
-29
0
0
-4
0
0
0
20
0
0
-12
0
0
0
-59
0
0
-4
0
0
0
-54
0
0
-2
0
0
0
44
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
5
0
0
0
-86
0
30
-1
0
0
0
-8
0
0
0
0
0
0
-47
0
6
10
0
0
0
0
0
0
0
0
0
0
31
0
-5
4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
-47
-45
-4
-28
10
-2
-13
-4
-1
3
0
-82
6
-1
-4
0
0
13
-2
-15
-49
47
-1
-18
29
-75
-7
5
10
-3
-18
9
15
5
10
-10
2
-40
-1
13
-7
30
34
47
-8
-9
16
-61
-51
-46
-6
-28
-47
20
-94
-42
4
44
-1
-35
19
-42
-12
6
-7
2
-32
-22
3
14
7
4
34
21
-21
-3
13
-25
13
-71
34
-15
-26
-2
18
45
32
44
-3
11
-1
5
8
9
-49
38
15
3
59
11
-7
10
30
-46
-4
15
7
14
-4
20
-18
0
-40
-7
13
45
-76
29
-4
-49
53
0
-53
1
-14
-2
4
-12
30
-14
-5
5
22
-4
4
18
-103
-9
0
-1
-70
-55
-7
35
-6
2
-5
-16
-5
19
1
-7
-28
-13
-43
37
52
29
27
-19
-6
-8
12
-37
20
13
-10
-17
25
4
-12
13
57
-63
-20
0
-42
-12
15
20
-71
-6
-18
-19
-10
-26
-33
24
-15
-28
9
22
18
-17
1
-6
-27
59
4
3
-13
0
-4
-33
25
88
-20
3
-7
-21
9
-1
22
27
-6
-2
27
4
66
-43
-4
-24
-15
-20
10
29
-7
36
24
54
4
-15
51
9
40
8
-11
-12
-6
-29
30
31
21
26
-4
9
1
50
-3
3
-16
-42
22
9
29
24
7
-3
-10
4
46
16
42
30
2
-13
-11
53
-11
28
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
4
5
-6
-42
0
0
0
-1
0
0
6
0
0
0
32
0
-8
47
-8
0
0
70
0
3
-88
0
0
0
-9
0
3
13
-7
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
-6
1
0
0
0
0
0
-1
0
0
0
0
0
-2
1
0
-1
3
2
0
61
41
0
-1
15
-1
0
-9
-13
0
0
-12
1
0
-28
0
0
0
35
0
0
0
-64
0
9
-6
2
0
0
-35
0
0
2
0
0
0
28
0
0
0
0
0
0
61
0
0
0
0
0
2
18
-1
0
-4
-1
0
0
-26
0
0
1
0
0
1
-53
0
0
6
-2
0
0
20
0
0
28
-1
0
4
0
0
0
12
0
0
0
7
0
1
0
0
0
0
-47
0
0
4
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
9
-2
0
0
3
134
0
-4
0
0
0
2
9
0
0
-3
0
0
0
42
0
1
-1
4
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
44
0
8
0
0
0
0
1
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
-60
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
4
0
-36
0
0
0
-4
0
0
-10
8
0
0
75
0
-9
36
-8
0
0
8
0
0
-52
0
0
0
-2
0
2
-7
0
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
19
0
0
0
0
0
-8
0
0
21
6
0
0
15
-27
0
0
4
0
0
2
30
0
0
27
0
0
-5
39
0
0
-15
0
0
10
22
0
8
1
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
10
0
0
0
0
0
-4
7
0
0
0
0
0
0
-31
0
0
0
0
0
-1
-38
0
0
3
0
0
6
-56
0
-1
19
0
0
0
-4
0
0
0
0
0
0
-62
0
0
0
0
0
0
48
0
0
0
0
0
0
-15
0
0
0
0
0
0
34
0
0
0
0
0
0
-6
0
-5
0
0
0
0
1
0
3
-1
0
0
0
4
0
-5
0
0
0
0
0
0
-2
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-5
0
0
-1
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
17
0
0
0
1
-2
0
-39
0
0
0
-1
0
0
16
-2
0
0
-2
0
-2
-32
-7
0
0
-17
0
-3
-11
-1
0
0
8
0
0
-1
17
0
0
0
0
5
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
17
-3
-7
0
25
34
0
0
13
0
0
33
-64
0
0
-6
0
0
20
-34
0
0
29
0
0
0
-14
0
19
0
0
0
0
-16
0
0
2
0
0
0
-51
3
0
0
0
0
0
-37
0
0
0
0
0
0
13
0
0
-1
0
0
0
22
0
0
9
0
0
-17
13
0
0
-6
-1
0
0
-13
0
0
7
0
0
0
39
2
0
5
4
0
0
-57
0
0
0
0
0
0
30
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
23
0
-5
1
0
0
0
4
0
0
2
0
0
0
2
0
0
0
0
0
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
-4
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
7
-24
1
0
0
7
0
3
12
3
-6
0
8
2
3
-94
29
0
-2
50
0
0
-7
0
0
6
-13
0
2
0
0
0
0
19
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
-2
-2
24
0
0
0
1
25
0
0
-2
0
0
-8
-10
0
-52
9
2
0
-6
26
0
0
-5
0
0
7
-32
0
0
10
-1
0
5
-47
0
0
1
0
0
0
23
0
6
0
-8
0
0
-50
0
0
0
0
4
0
23
8
25
0
0
0
0
18
0
0
0
0
0
0
-47
0
0
0
0
0
0
41
0
-3
4
0
0
0
-38
0
0
-5
-6
0
0
-82
0
0
-1
19
0
0
-67
0
-3
8
2
0
0
-12
0
0
0
0
0
0
55
0
0
0
0
-5
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
1
0
0
0
0
-6
0
0
0
0
0
0
11
0
4
0
0
0
0
0
0
0
0
13
0
-4
0
0
51
0
1
0
0
-15
0
0
0
0
0
0
-9
0
9
0
0
-4
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
25
0
0
0
0
0
45
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
2
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
-6
0
0
-2
0
0
-5
0
0
0
-16
0
0
-5
0
0
0
-16
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
54
-18
0
0
-5
-11
0
0
5
0
0
5
-6
0
0
-1
0
0
2
-18
0
0
48
0
0
0
20
0
-6
4
0
0
-6
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
-5
0
0
0
11
0
0
0
0
0
0
0
0
0
-13
0
0
0
-38
0
0
0
0
0
0
-7
0
0
-1
0
0
0
22
0
0
0
0
33
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
-76
0
0
0
1
0
0
-5
0
0
0
-4
0
0
6
0
0
0
-7
0
0
47
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-27
0
0
0
0
0
2
-6
0
4
10
15
0
8
43
0
0
-28
0
0
-8
-9
0
0
-2
0
0
0
50
0
0
-21
0
0
12
-31
0
-39
0
0
0
0
27
0
0
0
0
0
0
-58
0
0
0
0
0
0
-15
0
0
0
0
0
0
-24
0
0
3
0
0
0
-29
0
0
1
0
0
0
19
0
0
-7
0
0
0
-18
0
0
5
0
0
0
16
0
0
-2
0
0
0
35
0
0
0
0
0
0
46
0
0
0
0
0
0
12
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
-1
0
0
0
0
8
0
0
3
3
0
0
14
0
-1
0
0
0
0
1
0
-1
0
1
0
0
-1
0
1
0
0
0
0
22
0
0
0
0
0
0
-14
0
19
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-41
0
0
4
0
0
-73
0
0
0
0
0
0
3
0
0
0
0
77
2
0
0
-18
-82
-50
-20
-2
0
0
-18
0
2
27
8
0
0
-70
3
-100
-59
99
-7
0
-11
17
-43
-3
-8
0
0
-45
0
-17
3
0
5
-13
53
-1
8
1
38
-3
0
22
0
-195
0
-1
40
0
6
5
-7
0
16
-2
-2
0
-9
0
26
-6
0
0
-8
0
0
-25
13
0
15
-9
1
0
-26
52
0
0
-73
0
0
8
-36
0
0
3
0
-4
-4
8
0
0
-31
7
-9
29
16
0
-40
-41
6
13
0
-15
0
0
31
43
1
0
19
60
48
0
0
0
0
-54
0
0
3
-1
0
0
76
0
-3
-98
16
-6
6
20
0
0
38
0
22
3
-83
-6
-3
19
-11
-1
12
-86
-9
1
-45
-3
-3
1
-53
-3
0
-60
44
0
0
-48
-2
0
14
35
-145
-4
-15
0
0
-5
-1
-56
0
36
0
0
0
8
-7
0
-7
0
0
0
0
0
0
-79
0
-22
-2
3
7
0
-18
0
-1
42
3
0
0
-8
5
45
-4
-5
0
0
-25
-4
-4
10
-3
0
-17
-8
4
-1
4
-9
1
0
-70
0
0
-12
0
19
0
-58
0
-1
0
0
-2
0
-124
3
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
62
-1
0
-10
0
0
0
0
0
0
-16
0
0
0
7
-2
0
19
-2
0
0
-4
0
2
4
1
0
-3
4
0
15
-33
0
0
4
-3
0
-1
0
0
0
0
1
0
-19
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
3
5
0
31
9
3
0
-21
-22
0
0
-10
0
0
2
7
0
0
32
3
0
-1
67
0
0
2
0
0
-8
0
0
67
-54
0
0
6
-51
0
-3
2
0
0
0
22
0
0
0
0
0
0
-42
0
0
0
0
0
0
-38
0
0
0
0
0
0
-57
0
0
8
0
0
0
55
0
0
8
-1
0
0
25
0
0
-8
-1
0
0
63
0
2
-4
-15
0
-6
0
0
-1
0
0
0
0
24
0
0
0
0
-3
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
8
0
0
0
0
-2
0
-3
4
0
0
0
-40
0
1
-1
0
0
0
1
0
0
0
1
0
0
-29
0
2
0
0
0
0
0
0
7
0
0
0
0
-56
0
18
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-7
0
63
0
0
0
10
0
0
-5
0
0
0
-4
0
0
10
0
0
0
0
0
-1
13
0
0
0
-8
0
-5
-8
0
0
0
0
0
6
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
15
-8
8
0
-13
40
0
0
9
0
0
3
32
0
0
0
0
0
0
-49
0
0
-9
0
0
0
-54
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
61
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
8
0
0
0
-13
0
0
5
0
0
0
-8
0
0
-3
0
0
0
-29
0
0
0
0
2
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-2
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
-23
0
0
0
1
0
0
0
5
0
0
0
0
0
65
6
0
0
-2
0
-1
5
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
20
-1
0
0
0
0
0
30
0
0
2
0
0
0
0
0
-1
0
5
0
6
26
0
0
1
0
0
4
-36
0
0
-5
0
0
-8
19
0
0
-2
0
0
0
-25
0
-4
4
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
23
0
0
4
0
0
0
-17
0
0
9
0
0
2
20
0
0
0
0
0
0
-18
0
3
0
0
0
4
49
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
-1
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
85
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
63
0
0
-1
0
0
0
0
-1
8
15
0
-1
42
-27
31
-11
0
0
23
1
-12
-41
9
-3
0
-4
14
4
-24
60
-1
0
7
24
-1
-15
15
4
2
22
-17
-5
66
-42
0
3
-29
35
-72
-53
44
0
-5
-3
-54
-52
48
47
8
0
-1
32
-14
0
-4
-71
0
0
-68
-15
0
-7
-41
-66
-4
-31
0
3
-19
0
0
-8
-2
36
-3
-8
1
6
1
22
-10
-30
-25
-4
0
-2
32
-46
-8
-27
0
21
35
13
82
21
3
0
0
23
-8
0
2
-1
0
-42
5
-1
3
40
52
3
-6
0
0
-66
0
0
-71
29
0
0
0
0
-19
-16
0
13
12
15
84
-7
-14
-5
62
-21
-22
-39
-13
-3
0
0
29
11
10
-17
3
4
2
21
-12
-15
13
38
-10
6
43
-2
0
-43
5
-8
-4
-52
1
-42
-6
-5
2
-2
12
20
-2
16
-1
-6
-1
-32
-38
0
-2
-3
0
0
-33
-27
-1
10
-6
1
-2
12
-1
40
-19
1
44
-54
54
11
11
-2
0
13
-109
-41
-7
-10
-28
-15
3
57
-37
39
21
19
2
-12
5
-44
16
28
22
-6
52
-63
-22
11
-3
32
-2
-4
-3
-40
13
0
16
7
-17
-3
-45
-52
0
8
-26
-1
-1
35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-7
7
4
2
0
0
0
3
0
0
4
1
0
0
38
0
1
38
0
0
0
0
0
-10
1
0
0
0
-2
0
-1
-1
0
0
0
-15
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
-27
0
0
0
0
0
0
-48
0
0
0
0
0
-3
17
0
27
-14
0
0
-5
47
0
0
0
0
0
0
-90
0
0
-2
0
0
0
-73
0
0
2
0
0
0
-11
0
-34
-5
0
5
0
-31
0
0
-3
0
0
0
40
8
0
0
0
0
0
-31
0
0
0
0
0
0
12
0
0
-5
0
2
-1
-2
0
0
20
0
0
-3
1
0
0
-2
0
0
3
0
0
0
-7
0
0
0
-28
0
0
28
0
0
8
10
0
0
5
0
0
0
-71
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
23
-6
0
-2
-3
0
0
0
-27
0
-2
-5
0
0
0
47
0
0
0
0
0
0
25
0
6
-3
0
0
0
-4
0
0
2
0
0
0
-12
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
-4
0
49
0
0
0
0
0
0
14
0
0
0
-2
0
0
-27
0
0
0
-7
0
0
-39
0
0
0
8
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-25
0
0
0
0
0
-1
-9
0
12
-26
8
0
-15
22
0
0
24
0
0
-8
-47
0
0
3
0
0
-3
11
0
0
49
0
0
0
-52
0
-24
-1
0
0
0
38
0
0
0
0
0
0
29
0
-2
0
0
0
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
2
0
0
2
-36
0
0
-3
2
0
3
-36
0
0
-15
0
0
0
78
0
0
-1
-1
0
0
29
0
-2
8
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
1
1
0
0
0
0
10
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
-21
0
2
-9
0
0
0
-9
0
0
1
0
0
0
-88
0
1
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
10
0
0
0
0
0
0
-6
0
0
0
2
0
0
-5
3
0
0
6
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
47
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-4
0
0
0
0
-43
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
4
0
0
0
-1
0
0
1
0
0
0
13
-6
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
14
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
-17
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
48
0
0
0
0
0
0
-16
0
0
0
30
0
-3
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
40
0
0
0
-32
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-10
6
2
0
10
27
0
0
-1
0
0
0
-34
0
0
-15
-1
0
0
-17
0
0
0
0
0
0
-28
0
-38
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
3
0
0
0
0
24
0
0
0
0
0
0
0
0
34
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
1
6
0
0
0
3
0
0
-1
0
0
0
-1
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-9
0
0
0
1
42
0
0
0
0
0
2
-22
0
0
0
0
0
0
30
0
0
5
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
2
0
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-1
0
3
-1
5
-4
-5
-47
-20
-95
-65
35
3
19
-2
7
-5
4
-6
0
2
34
22
-15
-10
-2
-24
34
-39
20
-1
-15
2
-4
48
3
0
-11
-47
0
-37
36
39
33
-16
88
2
18
-27
21
8
-14
16
-6
-53
-32
51
-2
-7
9
3
-6
19
-46
-8
-16
17
10
6
-2
25
-31
10
7
-8
6
0
4
15
-34
-5
19
-12
-5
6
3
7
-2
-5
-7
-3
30
-10
-2
-99
-1
11
-2
-29
6
2
-31
25
-23
1
31
32
-6
121
-54
-35
-2
1
15
37
40
-5
9
-4
-46
9
7
36
8
1
0
18
0
-4
65
-4
-9
0
14
-3
45
-12
11
3
0
30
-1
28
-35
6
2
-1
-24
0
8
-28
-4
-18
-6
11
-43
14
-9
-26
-6
-2
-77
-8
8
15
-13
-21
-5
-19
-7
-6
1
-39
-22
1
18
9
1
-17
8
-14
-5
29
-28
-31
-71
8
0
-2
-19
43
-50
-4
-28
-12
3
-45
54
27
-28
-38
-29
-4
27
-36
-10
2
-48
-31
-17
-4
12
37
-8
15
21
-16
22
-7
-28
66
52
49
-5
48
13
9
14
22
-7
-26
-32
5
-77
32
-33
-33
14
4
-13
-8
2
-13
32
1
23
65
-54
-5
-14
-2
-2
-16
10
-13
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
51
0
0
0
5
0
0
-1
0
0
0
48
0
0
-15
2
0
0
-7
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
-5
0
-1
0
-2
-3
0
0
-1
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
48
0
-45
0
0
0
0
2
0
0
0
0
0
0
-33
0
30
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-44
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
10
0
18
11
0
0
51
-50
0
8
0
0
0
-2
0
0
-58
-6
2
0
0
-15
0
63
17
0
0
25
0
0
30
8
0
1
-41
-2
0
-54
-7
0
0
-42
-2
0
9
-6
0
0
0
0
0
0
0
4
0
0
0
0
0
-38
-20
-3
0
-8
0
22
-1
0
0
41
0
0
-21
-50
0
77
-7
-13
0
61
41
0
0
35
0
0
-54
1
0
-1
86
-1
0
-59
21
1
0
49
-8
0
-2
23
0
13
15
0
0
-1
33
9
0
0
0
0
0
14
-5
18
0
0
0
0
-10
0
0
0
0
0
2
-2
0
7
5
0
0
14
1
0
0
76
-1
0
-5
8
2
0
61
53
0
0
21
0
-2
-47
-8
0
0
13
0
-1
-41
-28
0
0
11
0
-1
-16
0
0
0
13
0
0
0
-6
0
0
10
-9
0
0
0
0
0
32
6
0
0
3
0
-1
18
0
6
3
0
0
-2
-18
0
0
-3
-40
0
4
-70
0
54
-5
0
0
0
-65
0
2
-12
0
0
0
-14
0
-43
-34
0
0
0
-7
2
-2
7
20
0
0
33
0
-10
0
0
0
0
37
1
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-25
62
-41
-6
27
-14
-61
-33
-12
-6
-2
2
-1
3
-19
9
18
2
-16
-2
12
-19
44
-58
-2
11
-1
-2
-45
-24
-58
10
38
-2
6
-43
-53
6
-8
-59
12
7
-86
-34
-21
-10
20
33
4
-38
40
-34
-12
5
4
24
25
16
-13
-10
41
30
24
-1
-61
52
39
16
-23
-32
1
40
-11
-6
41
-79
-2
1
-20
1
2
0
24
4
-2
68
-42
0
22
-21
-4
-1
-21
-20
11
-20
-28
0
-7
-25
-70
9
10
1
13
-1
10
-7
17
10
-33
-19
-3
-30
37
-10
-84
1
-1
-3
14
40
-22
13
-39
-25
0
-49
-56
-25
-8
-16
-15
-36
-85
-44
11
19
-19
-5
-2
-72
-20
2
28
-11
-22
-3
-10
-72
12
-20
-3
15
-4
-16
19
7
10
5
17
2
-38
-7
-5
11
-18
-12
-4
41
62
-3
37
0
7
-4
-28
-10
6
-12
3
-6
1
4
13
-65
-24
-5
8
16
23
-32
32
26
-80
-32
-16
39
-14
10
-51
18
-11
-1
-5
-17
-30
13
42
20
-17
-10
-11
-16
-36
-38
-33
-5
-24
15
17
-13
-8
-22
-2
40
-2
31
-3
57
0
-15
-4
-39
-15
4
17
66
1
12
3
21
-8
1
-8
8
-2
3
-6
-62
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-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
-7
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
9
3
0
0
2
-3
0
0
2
0
0
0
-36
0
0
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
16
0
0
0
-6
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-48
0
0
1
0
0
0
8
0
9
-8
1
0
2
-12
0
0
1
0
0
1
22
0
0
0
0
0
0
52
0
0
2
0
0
0
-49
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
-3
0
0
10
0
0
0
0
0
5
4
0
0
2
0
0
0
7
0
0
-7
0
0
0
-20
0
0
8
3
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
6
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-45
20
0
-11
0
0
0
-6
0
0
-33
0
0
0
3
0
0
3
0
0
0
-5
0
1
-3
0
0
0
-4
0
1
-10
0
0
0
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
27
0
0
-1
0
0
3
2
0
2
12
13
0
21
22
0
0
15
0
0
1
-15
0
0
-6
0
0
8
57
0
0
5
0
0
0
14
0
3
0
0
0
0
-1
0
0
0
0
0
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
1
30
0
0
0
0
0
0
26
0
0
10
0
0
0
-29
0
0
20
0
0
0
25
0
0
13
0
0
0
-56
0
0
-1
0
5
0
-1
0
0
0
0
6
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-22
1
0
0
-2
0
0
0
6
0
4
0
0
0
0
1
0
0
0
0
0
0
-12
0
-3
1
0
0
0
3
0
0
0
0
0
0
-26
0
0
0
0
7
0
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
-108
1
0
0
-116
-37
-75
-87
1
0
0
15
0
43
96
6
0
0
29
35
-6
6
7
0
0
-29
0
-17
-29
-3
0
0
-57
0
-18
-52
0
0
0
-26
-1
15
0
0
0
0
14
0
-30
0
5
0
0
0
0
-1
0
-73
0
-2
0
6
0
-12
-20
0
0
-42
0
0
57
5
0
-43
-29
-49
0
-39
-20
0
0
48
0
-1
-8
28
0
0
19
-6
0
-14
-7
5
-1
-53
-6
0
0
-6
0
-48
5
0
0
-3
-12
0
0
-3
0
-2
0
-26
0
-2
0
0
0
0
-57
0
0
0
1
0
0
55
0
2
-1
2
-2
-1
20
0
0
-4
0
0
4
-52
0
0
26
-25
6
6
28
0
0
-6
8
0
0
35
0
0
-19
-4
-2
0
5
1
0
-57
0
-72
0
-26
0
2
-1
0
-7
0
-34
0
0
0
0
0
0
36
0
0
0
0
0
0
-78
0
-18
1
0
2
0
27
0
0
3
-1
0
0
-70
0
9
1
0
0
0
-52
0
-6
-22
2
0
0
-61
0
-9
-12
0
0
0
31
0
0
9
-5
0
0
-40
0
0
0
0
8
0
-24
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
-2
7
0
72
0
0
0
0
0
0
-3
0
0
0
0
3
0
61
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-46
0
0
0
0
0
1
2
0
-6
-3
0
0
-1
7
0
0
0
0
0
0
45
0
0
-2
1
0
0
70
0
0
-7
0
0
0
-33
0
6
-1
0
0
0
-3
0
0
0
0
1
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
76
0
0
0
0
0
0
-16
0
0
-1
0
0
0
14
0
0
8
0
0
0
31
0
0
-2
-10
0
0
-46
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-4
0
0
0
0
0
0
2
0
-4
-10
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-4
0
9
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
0
-5
-73
0
0
0
-2
0
20
7
0
0
0
-8
0
3
-40
0
0
0
0
0
-1
-2
0
0
0
5
0
-5
1
0
0
0
-56
0
0
0
9
0
0
0
0
28
0
0
0
0
0
0
0
0
50
0
0
0
0
0
-3
-4
0
0
0
0
0
19
-19
0
2
-81
7
0
-13
-19
0
0
0
0
0
0
16
0
0
-2
0
0
0
-35
0
0
8
0
0
0
-31
0
48
2
0
0
0
-11
0
0
0
0
-5
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
24
-5
-3
0
-109
0
0
1
0
0
0
3
0
0
19
0
0
0
-30
0
0
-12
0
0
0
-24
0
0
-5
0
0
0
-25
0
0
0
0
0
0
-48
0
0
0
0
-1
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-31
0
0
-13
0
0
0
13
0
0
0
0
0
0
-1
0
0
-1
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
41
0
0
0
7
0
0
6
0
0
0
-11
0
0
24
-10
0
0
-18
0
0
78
0
0
0
-7
0
0
2
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-3
0
3
65
0
0
0
0
0
8
0
0
-41
-5
-155
0
-5
6
0
0
-35
0
0
7
-39
0
0
-3
0
0
1
0
0
0
98
0
0
0
9
0
-35
-4
0
0
0
27
0
0
0
0
0
0
-29
0
0
0
0
0
0
-49
0
0
0
0
0
0
-18
0
0
0
6
0
0
-49
0
0
-2
0
0
0
58
0
0
-12
-1
0
0
-8
0
0
10
0
0
-1
-37
0
0
3
0
0
0
36
0
0
-2
0
0
0
-51
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
8
5
0
0
0
3
0
0
3
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
-1
0
0
0
0
7
0
0
0
0
0
0
52
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
0
0
-1
53
22
36
-8
0
-7
-7
-32
33
19
-4
0
65
2
-46
32
1
0
0
5
8
-62
33
2
0
0
-12
40
-4
-2
16
-2
0
-5
0
20
0
0
-2
0
0
-3
-15
0
-22
-16
58
20
18
0
0
-7
0
0
-54
-4
0
0
-40
0
-41
-28
-111
0
4
-34
1
0
101
2
0
29
30
0
0
1
-71
0
-43
25
0
3
-9
1
0
3
3
0
-72
9
-8
0
0
18
0
0
-19
0
-113
0
0
49
23
0
0
-19
0
-12
0
0
0
13
0
0
53
0
0
-38
-42
0
5
34
0
3
-14
5
17
24
-79
0
8
-16
69
-30
22
3
0
3
-8
-69
42
0
23
0
-2
-12
-71
-14
-3
8
9
0
46
-1
20
0
15
-8
0
-28
-7
13
0
-9
-4
0
0
0
-1
0
-41
0
0
0
0
0
0
-80
0
23
14
2
-4
0
-40
-2
3
49
38
-1
1
27
0
3
40
10
8
0
23
0
-10
23
-73
0
0
-1
0
51
4
-2
14
0
50
0
0
-4
-2
-14
0
65
0
3
5
0
-13
0
35
40
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
14
0
0
22
0
0
14
-2
0
0
54
33
15
-6
44
3
0
5
2
10
-49
-3
0
0
56
0
32
-3
0
0
0
-42
-1
-8
0
-4
0
0
13
0
-11
0
0
-1
0
0
0
13
0
40
6
3
-2
0
0
-11
0
0
3
22
-6
0
-5
-18
0
13
-67
0
0
21
19
0
0
14
7
0
-15
-27
9
0
10
-4
-1
-37
31
-1
0
-26
0
0
0
2
0
30
65
-1
0
0
-22
0
0
-3
0
22
0
-27
-3
0
0
0
0
0
-34
0
0
0
0
0
-2
0
0
0
4
19
-16
-1
-73
0
0
69
0
-1
7
59
0
0
-21
34
0
-15
10
0
-6
-30
17
7
1
-25
0
5
-11
-70
-1
0
4
0
2
-14
0
0
0
43
0
3
-8
-4
56
0
-25
0
-1
0
5
0
0
-89
0
0
8
6
0
0
0
-10
-1
-1
-3
0
0
-18
0
0
36
0
0
7
21
0
-27
-13
-7
0
0
-4
0
13
-1
28
0
0
52
0
25
-6
-4
-1
0
-54
2
-1
-24
6
0
0
-18
0
-38
1
0
-31
0
20
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
-5
0
0
5
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
6
0
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
-8
0
0
2
0
0
0
0
0
0
7
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-5
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-7
22
16
12
73
-10
-2
-13
49
-10
0
58
54
-5
14
-32
7
-29
66
-5
7
14
-18
15
-14
-5
-23
6
14
-42
32
1
28
-3
0
-63
21
42
-3
20
36
-1
-8
-49
28
1
5
-38
-145
0
9
0
-67
-11
0
0
50
-5
-13
-87
-5
-2
-38
17
18
-7
-8
4
10
0
114
27
-6
-13
16
0
0
5
14
-12
15
17
0
7
10
-34
12
-19
0
0
-6
31
-2
29
-16
-20
0
-1
25
-34
-24
0
-3
-14
-55
0
-9
0
0
-14
7
0
0
-14
0
-24
-9
0
-1
0
8
14
-40
-2
0
-2
27
44
20
-9
17
-6
-2
18
-15
8
18
-8
32
44
34
-17
19
-34
11
1
19
17
-17
5
-7
-27
-7
-25
-7
-42
33
-5
1
-2
-15
-40
-74
32
0
-3
17
0
-14
-55
11
-1
-14
-21
0
-1
-55
-2
-2
-37
-1
-81
0
47
21
-48
-22
-2
25
3
-5
-20
-15
29
2
-43
-19
26
7
0
-46
0
33
-29
-32
17
0
-34
0
-66
15
81
-2
-1
-55
0
0
-7
-12
36
5
7
0
67
-41
-60
33
0
17
-55
0
12
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
10
-58
0
0
0
1
0
-9
3
50
0
0
-88
0
13
-4
-10
12
0
11
0
28
-45
6
0
0
-2
0
-3
-74
-17
0
0
16
0
-2
0
7
-60
0
-2
0
-70
1
10
-43
-75
-8
0
0
46
14
0
0
-12
0
0
12
-28
0
-37
-3
0
43
2
-1
0
0
22
0
-45
-51
-6
0
0
-26
0
-44
19
1
0
0
7
0
8
0
6
0
5
-1
0
-4
7
-25
0
0
-5
0
-21
0
6
-42
-37
-1
0
0
0
-19
-57
0
0
13
19
78
-22
0
0
-65
0
5
29
6
0
0
21
0
7
63
-11
0
0
-35
8
-27
9
24
-6
-2
16
29
22
-41
-21
0
-2
8
27
8
-10
-10
0
-2
72
17
3
13
-8
0
0
-8
0
-6
0
-5
-2
0
47
0
-2
0
-4
16
0
0
0
2
0
-13
0
0
2
0
-6
0
-8
0
3
-44
0
-22
8
22
-1
-8
-6
-13
31
-14
14
-5
-7
-16
16
45
1
4
6
4
-24
0
7
0
-20
0
-4
28
0
12
0
-25
0
-3
-10
0
-9
0
-23
-13
8
26
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-147
-4
0
0
10
-2
0
-30
0
0
0
41
-25
0
23
54
0
0
-6
-1
0
21
-10
0
0
-27
-4
0
37
13
0
0
44
-19
0
-3
37
0
0
1
-11
-10
0
0
3
0
0
-4
0
0
1
2
3
0
-7
0
-121
-7
0
0
14
-8
0
4
-32
0
43
46
23
0
-3
36
0
0
36
10
0
7
-8
0
0
48
-3
0
25
4
0
0
11
12
0
-6
21
0
-26
15
-6
0
-13
2
0
0
48
-3
0
0
3
-7
26
0
0
0
0
-13
0
0
29
-3
0
-4
21
0
6
16
-37
0
4
3
0
0
-8
-24
0
8
44
0
2
24
73
0
15
20
0
0
0
46
0
5
5
3
4
19
-7
0
85
1
0
0
18
112
0
8
3
0
0
-5
-1
0
0
-8
-7
0
-1
48
0
2
-15
10
5
0
10
0
8
-25
0
-11
-35
-4
0
20
-46
0
-9
-35
6
0
4
37
0
36
50
3
0
0
-25
0
-3
-29
-2
0
0
-12
0
-9
91
1
0
0
-70
0
0
-46
-18
0
1
31
0
-46
-10
0
0
0
1
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-58
1
-41
-1
8
-46
-6
49
6
-49
-6
-42
-11
-17
5
12
-37
-6
2
-38
6
8
-14
5
-20
-9
29
65
6
-11
2
-20
14
11
0
7
22
12
-19
78
-48
-1
4
-96
-48
4
-19
0
-13
-1
-2
17
24
-23
11
-28
27
-2
13
7
-13
-1
-5
0
7
40
-9
63
7
-39
-4
-27
8
12
9
44
-30
2
-60
24
-1
-83
-85
-31
-3
16
9
-31
-15
-50
-81
-41
48
-2
-59
13
14
0
-4
-18
-2
1
34
19
-2
11
-39
1
9
-12
33
-8
0
-70
-8
-35
75
-34
9
10
-6
27
-9
32
-29
-31
0
-47
17
11
14
4
23
-7
86
76
14
29
36
-30
-7
5
-25
-17
14
-39
-90
3
-42
-63
-11
-68
3
10
-4
-7
-92
-47
5
8
0
-3
38
-17
-3
-27
31
0
-22
-7
-1
-6
-36
-6
-5
-15
-14
50
70
23
-41
37
-8
-2
55
0
-18
19
-11
-5
3
1
26
8
-15
-39
-14
1
-11
31
28
15
-15
14
1
-37
23
-66
-51
-7
16
17
-59
20
-7
33
-3
-4
0
-23
-8
-21
5
-1
-1
43
-21
-8
30
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
1
0
-5
44
-6
0
0
-29
3
0
50
-1
0
0
10
0
0
5
6
0
0
29
0
-3
0
-8
0
0
0
0
26
0
0
0
0
0
0
0
0
13
0
0
0
6
0
0
-37
0
0
0
0
0
14
0
0
6
19
1
0
-20
4
0
1
-7
0
0
-1
12
0
0
1
-1
0
0
8
0
0
5
0
0
0
14
0
2
3
0
0
0
41
0
0
0
0
0
0
42
0
-7
0
0
0
0
-21
0
0
0
0
0
0
23
0
0
0
0
-1
-8
0
0
0
8
0
-3
15
13
0
0
39
-4
12
5
-2
1
0
-7
2
1
0
-26
0
2
-18
0
0
-6
22
0
0
-1
0
0
0
1
0
-1
0
2
6
0
10
0
0
0
0
0
0
-15
2
0
3
0
0
0
5
0
-5
0
0
0
5
0
0
0
0
-6
0
0
-15
0
9
13
0
0
0
1
0
5
19
0
0
0
28
0
5
-8
0
0
0
5
0
0
0
0
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
0
0
0
-8
-21
0
0
0
0
0
0
24
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
-3
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
-3
0
0
0
-2
0
-7
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
2
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
2
1
9
32
1
12
66
0
-1
23
-2
-28
11
4
0
0
11
-22
-52
-22
1
0
0
40
-8
-48
0
-4
0
0
-42
0
-20
0
0
30
0
0
3
3
0
9
31
14
0
-10
0
-4
19
-1
0
0
0
0
2
-8
0
-57
-31
-48
0
-33
-24
0
5
-19
2
-59
-59
10
0
0
39
20
25
34
3
-6
-6
15
0
0
22
-5
0
-14
18
29
0
0
-6
0
5
-23
-1
-71
0
-16
-21
-23
0
0
0
0
2
1
0
0
0
0
-4
10
-1
0
0
-41
72
2
4
0
0
-5
6
-3
-15
-26
-1
1
4
-28
53
17
-4
0
-3
-6
-7
-15
24
7
8
0
26
94
12
41
-16
0
0
-61
23
-48
-4
-10
9
20
-28
-12
-49
0
-7
-5
0
0
-2
-6
0
2
3
0
0
23
0
0
39
-1
42
0
-32
13
-29
-2
0
10
0
-7
0
41
-30
0
-32
-16
-8
7
-8
-53
0
-5
7
-29
0
0
-3
0
-7
26
3
-5
0
-18
0
0
5
91
22
0
0
0
-8
-8
0
38
-7
-2
18
4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
0
0
-31
0
-17
-19
0
0
0
0
0
-1
-9
0
0
0
39
0
0
-9
0
0
0
20
0
0
0
0
0
0
0
0
-55
0
0
6
0
0
0
0
0
84
0
20
0
0
0
-2
-22
0
0
0
0
0
-21
0
0
11
-20
0
0
-3
-39
0
0
0
0
0
0
27
0
0
6
0
0
0
0
0
0
-11
0
0
0
18
0
-6
7
0
0
0
-44
0
0
12
0
0
0
-32
0
0
0
0
0
0
-19
0
0
0
0
0
0
31
0
0
25
0
0
0
-16
0
0
5
0
0
0
46
0
0
13
0
0
0
-8
0
0
0
0
0
0
37
0
0
-2
0
0
0
10
0
0
2
0
0
0
-12
0
0
-1
0
5
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
-1
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
6
0
0
0
11
0
0
0
0
0
0
27
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
32
64
0
-20
0
0
-1
-13
0
0
18
0
0
0
-41
0
0
25
0
0
0
-15
0
0
0
2
0
0
0
-1
-3
0
0
-39
0
0
0
0
0
3
3
0
0
30
0
7
64
0
0
40
2
0
-60
-39
0
-63
-92
19
0
-54
-16
0
0
-15
1
0
56
-4
0
0
45
-1
0
-7
-4
0
0
25
0
0
-7
1
0
-53
39
7
0
-8
-11
0
0
40
0
0
0
2
-1
-7
0
0
0
0
-1
0
0
-3
0
0
0
56
0
0
-21
28
0
-9
-20
0
0
-45
-4
-7
-19
-5
0
0
-56
-1
0
-6
6
0
0
28
-18
0
7
18
0
0
-21
29
0
0
-6
0
0
-10
6
0
0
-2
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-6
0
0
0
1
0
0
53
0
1
-10
-9
0
-4
-41
0
-3
-9
1
0
0
-7
0
-33
-23
23
0
0
16
0
3
-21
-18
0
0
-54
0
2
-20
25
0
0
23
0
0
0
-2
0
0
15
0
-26
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-23
0
5
-6
12
-41
-60
6
0
-1
-9
1
51
0
78
1
5
-15
31
-39
-1
42
-4
-1
-38
0
-18
0
6
21
0
0
27
32
0
-14
14
51
-6
-37
0
5
-6
0
0
33
5
12
-45
-23
-3
-25
-64
-91
-5
14
-19
7
8
19
5
-3
87
-66
0
15
-11
16
-3
-13
-10
0
-1
-9
26
13
8
2
0
-25
-31
-4
4
-2
-18
-1
0
-93
-7
-42
0
6
-1
42
0
0
0
0
-28
42
0
-13
1
0
20
-8
1
-7
-18
70
-38
77
27
2
2
-5
41
-27
-19
-29
3
-53
3
-25
11
32
-34
45
39
-40
-27
10
19
9
-5
46
-22
-11
16
-7
-4
0
97
64
2
-45
9
-10
13
-5
-42
-44
-46
0
-25
1
0
1
-5
1
1
-13
0
0
-2
24
0
0
-3
-5
51
32
-4
48
1
9
-3
61
12
-52
4
0
-3
0
23
-94
19
-10
2
-7
4
-4
-28
-41
-7
1
2
0
16
8
37
60
-4
2
2
-3
-20
40
2
0
11
2
27
-5
1
-66
3
-33
16
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
-11
0
-25
-17
1
0
13
61
0
-4
43
-1
0
0
1
0
15
0
-8
0
0
2
8
8
0
0
-3
0
0
0
25
0
18
-8
2
0
0
0
-7
17
0
0
1
0
0
-25
44
0
-8
-7
-4
0
-6
0
-1
-8
78
0
0
24
16
0
0
3
0
1
7
-1
0
-4
58
0
0
0
14
0
2
0
-2
0
0
-36
0
0
0
0
3
0
-21
3
0
0
0
0
0
-6
1
0
0
0
0
0
6
0
0
5
7
0
0
-50
0
0
5
0
0
25
0
0
0
40
-5
0
2
28
0
2
-23
0
0
-2
7
0
0
-31
0
1
0
9
1
0
29
0
-2
0
-35
0
0
-3
0
-21
0
21
1
0
0
0
0
0
25
3
0
0
0
0
0
-40
0
9
0
0
0
-4
2
0
-9
-4
0
0
1
0
0
-8
-3
0
0
3
-114
0
8
6
6
0
0
-30
0
-3
5
0
0
0
12
0
1
0
3
-1
0
39
0
-6
0
0
0
0
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-3
0
0
-2
0
0
-1
0
0
0
13
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
42
0
0
0
0
0
-8
0
0
18
14
0
0
-1
-38
0
0
-10
0
0
-8
-25
0
0
0
1
0
2
-9
0
0
2
0
0
0
-56
0
3
0
0
0
0
-7
0
0
-1
0
3
0
44
3
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
1
33
0
0
0
0
0
-3
-1
0
0
-5
0
0
0
-19
0
0
0
0
0
0
-13
0
0
-6
0
0
0
31
0
0
8
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
2
0
0
0
-2
0
0
0
0
0
0
7
0
5
0
0
0
0
-2
0
3
0
0
0
0
-2
0
3
0
0
0
0
24
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
0
0
-4
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-41
0
0
4
0
0
0
0
0
0
-1
0
0
0
6
0
0
-10
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-38
0
0
17
0
0
0
-9
0
0
7
0
0
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
15
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
21
5
45
-26
7
-49
18
-3
6
-6
74
14
3
-36
0
0
-24
-108
-45
-15
34
0
0
-74
6
9
1
-8
36
0
0
6
-75
-3
5
-18
-28
0
-25
0
84
3
0
0
0
12
-2
1
-34
8
-13
-39
-12
2
25
0
2
0
-46
6
40
-79
1
5
-3
-23
15
-19
-10
-1
0
0
23
15
-29
-87
2
0
5
-3
34
6
21
25
12
4
-21
-9
1
0
2
-38
-73
-1
-1
3
0
-8
-58
0
3
27
-30
36
24
0
0
-7
24
-36
27
-3
0
2
3
-5
-16
-18
-21
-2
7
1
-64
49
99
-7
2
-20
11
-45
69
28
-9
1
22
11
13
12
41
-7
2
29
-1
52
-12
-2
14
0
1
43
25
0
0
-4
8
4
26
-23
2
0
-2
4
0
0
-54
0
-4
5
1
-2
7
-5
-1
2
-10
3
72
15
-15
59
-5
15
-23
-31
28
28
5
1
-32
-1
-16
18
-24
-40
6
-27
-6
5
66
-35
-32
0
-6
1
16
17
-3
-8
0
8
0
0
-27
-5
14
0
-20
-84
-3
19
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
0
0
42
0
-45
-62
-3
0
0
-39
0
0
13
4
0
0
-50
0
-50
0
-7
0
0
-10
0
-17
0
0
-13
0
0
0
-29
0
33
2
-4
0
0
0
19
-8
0
0
62
0
0
32
1
0
12
56
0
0
5
-28
0
0
-44
0
1
5
-5
0
0
-31
0
0
67
-5
0
0
-13
0
3
0
-7
0
21
-63
0
0
0
-41
0
0
5
0
114
0
1
0
5
0
0
0
0
-21
0
0
0
0
0
0
-21
0
0
-7
0
-14
31
2
0
0
42
0
-1
-10
19
5
0
-12
0
0
6
7
0
0
-46
0
-3
-14
-47
0
0
33
0
0
8
-39
0
4
118
0
2
5
-64
0
-1
6
0
4
0
-27
0
0
0
0
0
0
-30
-6
0
0
0
0
0
22
0
-24
0
0
4
0
-68
0
0
-8
0
0
0
-15
0
14
47
0
0
0
41
0
6
-66
0
-1
0
-4
0
79
-15
0
0
0
-41
0
0
-17
0
2
3
-1
0
27
-3
0
-25
0
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-33
0
-3
-12
3
0
19
4
4
7
-7
0
0
72
3
0
0
61
4
0
-4
33
0
0
2
-12
-1
0
-3
-29
0
0
1
0
0
7
-9
-4
0
-10
0
-30
21
0
0
-15
-7
0
-23
-16
9
-5
-52
-13
0
-32
-26
7
0
3
27
0
-8
3
0
0
10
48
0
24
3
5
27
8
7
0
-20
9
0
-11
9
-6
0
-5
7
0
0
69
0
0
0
-23
-15
-14
0
0
0
0
-35
0
0
-5
0
0
0
28
0
1
7
1
0
-41
3
0
6
3
0
0
48
14
3
-1
-15
-22
0
35
-34
-3
2
3
-52
0
32
-1
2
-1
46
77
0
-5
-21
0
3
31
9
0
0
-15
5
-10
85
-1
0
0
5
-16
0
1
6
0
0
-87
30
0
-4
-73
0
0
-15
-5
-72
-2
0
0
-5
-18
0
8
28
17
0
-12
-28
0
-18
3
-8
0
-12
-6
0
0
78
-4
0
0
-26
0
-55
31
-18
0
8
7
0
0
-12
-1
0
0
-48
-1
47
35
-1
0
1
1
-2
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
6
0
-21
32
10
-21
31
6
19
8
-132
14
7
-37
25
-1
-6
1
-10
0
35
-1
0
-8
-16
-25
-13
0
6
80
-7
0
0
30
14
9
-1
12
-3
46
-45
-36
9
-17
0
2
-13
-32
-11
-13
24
-2
-9
3
24
-3
-1
52
-9
81
-1
-37
-21
3
-14
-2
-1
2
33
2
0
7
10
-12
11
32
-3
20
-12
-28
-49
-38
0
2
-28
-18
-2
15
12
-6
-7
28
-5
-14
6
56
37
5
-48
29
25
32
4
14
12
2
33
-42
-18
-21
22
-4
44
10
-14
16
-63
-109
-4
19
0
0
-37
7
11
5
-91
62
-40
-1
27
-17
0
22
44
15
36
-28
21
1
27
4
-7
-32
22
0
-2
39
11
-30
-30
28
-13
6
2
26
51
-2
2
104
19
-28
22
45
-86
27
19
-1
-6
9
-8
-5
40
57
-4
-18
43
29
-27
4
22
-27
11
10
4
-48
45
18
-6
6
-36
58
-39
-9
29
-19
-9
13
50
2
6
14
-8
5
13
-30
1
60
-1
-8
-7
30
-22
-72
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-8
0
0
-14
1
-7
0
1
0
0
75
-1
3
3
38
-4
0
-8
-1
44
0
0
34
0
0
0
-5
0
15
-20
5
0
29
0
-11
2
0
0
-28
0
0
-16
18
0
20
8
51
0
-78
6
0
0
41
-3
-6
-4
0
-5
2
-92
-8
-6
-15
-52
5
5
45
0
0
19
37
0
27
39
24
0
-5
-2
0
2
29
-14
38
0
-42
6
113
0
0
4
0
12
-2
0
-2
0
0
2
35
0
8
-11
-7
-30
-12
12
0
0
28
9
-2
0
-19
-3
0
-55
-18
13
-4
0
5
4
-30
2
1
6
41
0
-2
-6
-9
0
8
52
-1
0
36
0
15
1
17
0
-1
8
-5
-5
0
-5
3
0
0
15
-6
0
38
4
0
6
0
0
0
2
0
20
3
0
1
0
33
0
1
42
14
0
-2
-17
0
29
-13
-5
0
6
0
-3
-1
-26
32
-2
0
14
0
-12
-17
0
0
0
-39
-1
2
-17
8
0
0
-58
0
42
0
3
26
0
12
-10
-3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
48
0
0
0
11
0
0
0
5
0
0
-3
0
7
0
0
0
0
0
0
3
0
-24
0
0
0
0
0
5
73
0
0
0
0
0
-2
2
0
3
-25
0
0
3
30
0
0
2
0
0
0
-22
0
0
29
0
0
0
-49
0
0
-3
0
0
0
31
0
-7
13
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-27
0
0
0
0
0
0
38
0
0
-4
0
0
0
57
0
0
0
3
0
0
4
0
0
0
0
0
0
21
0
0
7
0
0
0
33
0
0
0
0
0
0
49
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
-1
0
6
0
0
0
0
1
0
-12
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
5
0
0
0
0
0
10
0
0
0
0
0
-2
-35
0
0
0
0
0
0
-4
0
-12
0
0
0
5
-42
0
0
4
0
0
0
-19
0
0
6
0
0
-2
-27
0
0
8
0
0
0
12
0
1
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
64
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
-3
0
-77
8
93
52
24
7
0
-77
10
24
5
-7
-1
0
22
4
-82
0
3
25
0
0
0
-4
0
25
22
-4
0
27
0
10
-36
0
8
22
0
3
50
-5
-16
-27
35
-118
0
4
-40
-1
0
38
-1
3
17
6
0
-3
60
107
0
42
-10
0
-4
63
0
3
15
31
2
66
49
0
0
12
-46
0
0
4
0
23
0
-17
4
-5
-1
5
0
0
3
0
0
-1
1
0
1
36
-4
4
29
-40
2
-9
9
0
4
-52
2
-6
5
-60
1
7
-23
-34
10
-17
25
5
-4
-56
-5
-2
-3
-34
0
-11
-31
-20
-3
-3
4
0
3
6
1
-9
-1
-5
0
38
17
25
-65
0
-17
2
-2
0
0
-7
0
-1
8
-4
0
6
0
0
27
5
22
4
0
0
-5
-35
-1
47
-7
-33
2
-3
8
1
32
21
6
2
4
-40
0
0
-3
28
0
-5
-18
0
62
47
0
0
0
22
0
-7
0
-13
0
5
-85
0
69
0
0
-17
0
51
13
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
22
0
9
0
0
0
0
41
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-4
-4
0
0
20
-11
0
0
0
0
0
8
-58
0
0
-2
0
0
3
-1
0
0
100
0
0
0
9
0
39
-9
0
0
0
5
0
0
0
0
3
0
5
-1
0
0
0
0
0
-56
0
0
0
0
0
0
-5
0
0
5
0
0
8
4
0
0
0
0
0
0
-36
0
0
30
2
0
0
29
0
0
-19
0
0
0
-102
0
0
-29
0
4
0
-30
0
0
0
0
3
0
-25
0
0
0
0
8
0
-20
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-31
0
9
0
0
0
0
0
0
1
-8
0
0
0
-1
0
0
0
0
0
0
6
0
0
-1
0
0
0
31
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
0
0
0
28
0
29
1
0
0
30
-1
0
-3
32
0
0
-60
2
0
0
-14
-37
0
0
13
0
0
5
-5
56
0
-5
0
-80
-38
0
0
-97
1
0
62
58
0
3
-15
-11
0
21
16
0
0
19
0
0
146
-2
-3
0
11
-76
0
67
3
0
0
-3
0
0
2
18
0
-8
28
52
0
16
-36
0
8
-15
-5
0
0
-3
-5
15
0
0
0
0
-3
0
0
0
-5
0
-6
-58
0
-6
-5
-55
0
17
1
0
3
-19
0
0
48
-58
4
6
-2
60
0
-46
-1
0
-12
-7
-26
0
10
28
0
-9
54
-16
0
-4
34
-8
3
17
-8
0
0
-31
0
-1
-3
11
0
0
-27
-4
9
0
29
0
0
4
1
0
0
-2
0
-1
-33
2
-35
7
0
-1
-8
-23
0
4
-5
8
0
54
-37
0
-40
55
1
0
-7
22
0
-4
19
36
0
0
35
0
69
13
9
0
2
101
0
6
59
9
0
0
8
0
30
0
-2
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
-58
66
27
0
7
-3
0
60
14
-92
0
2
6
0
-1
3
-3
0
-14
-20
-44
0
-68
0
-4
-6
0
0
-20
7
-13
51
-11
0
10
-23
-58
5
-49
-17
1
-2
31
70
19
33
-33
-7
-1
-30
-58
18
-39
-50
27
-5
-39
6
-3
0
-45
0
16
14
48
2
0
-31
0
0
-43
2
-31
0
-8
-24
-17
-6
6
0
0
-22
11
0
-5
-4
48
1
-36
-18
24
-10
29
25
89
-15
0
0
21
3
40
-89
-22
-7
66
-16
-14
-20
20
-5
26
-17
33
-52
14
0
-37
30
-32
-36
-25
50
0
-31
-1
6
18
-4
-34
0
-6
4
-15
-34
-8
29
0
12
20
-12
-3
54
32
0
-3
1
-6
0
37
0
-2
3
-2
-26
42
10
23
13
-18
0
-1
-53
-39
2
13
-10
0
56
37
-4
-12
-17
-5
0
-19
70
-30
-8
5
19
-1
-11
52
1
8
1
-10
0
-1
-17
30
-54
2
-8
-1
14
34
0
64
0
10
32
0
10
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
16
-59
-2
0
0
4
0
0
3
0
-39
0
0
6
0
0
6
4
0
-28
-8
0
0
0
0
5
-16
0
0
3
0
0
-53
59
0
-29
45
1
0
23
60
0
1
49
0
0
-29
13
0
0
-8
0
0
14
0
0
-1
14
-9
-3
-1
-52
0
-28
17
0
0
0
-25
0
0
14
1
2
0
37
0
3
0
0
0
0
-25
0
0
0
0
0
0
-30
0
-4
0
2
-3
-1
35
0
3
-18
0
-19
6
47
0
0
-50
-12
0
29
63
0
-3
-16
9
0
-5
0
0
-8
13
19
0
1
29
0
0
-1
0
2
0
-4
0
0
6
0
41
0
-39
0
0
0
0
0
0
42
-7
0
0
0
0
0
-20
2
-18
0
0
-4
0
120
0
-4
0
8
1
1
-11
0
4
-2
-2
0
0
-10
0
-2
3
0
0
0
0
0
-5
-13
0
-12
0
-22
0
0
0
0
0
0
19
0
33
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
9
0
0
0
0
0
-8
0
0
-1
1
0
0
1
-9
0
0
1
0
0
0
112
0
0
-3
0
0
0
-29
0
0
-8
0
0
0
68
0
-4
0
0
0
0
49
0
0
0
0
0
0
55
0
0
0
0
0
0
40
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
0
0
0
34
0
0
0
0
0
0
-51
0
0
0
0
0
0
-23
0
0
-2
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-13
0
0
0
0
0
0
27
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
50
0
0
0
0
0
4
0
0
-2
0
0
0
-14
-55
0
0
0
0
0
4
11
0
0
7
0
0
0
24
0
0
24
0
0
0
36
0
-6
0
0
0
0
-9
0
0
-2
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
8
0
0
0
-29
0
0
-7
0
0
0
17
0
0
0
0
-1
0
86
0
0
0
0
0
0
17
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
9
13
10
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-10
1
42
-16
-95
4
0
-21
-8
0
0
2
-3
0
-1
-121
0
0
-38
-58
31
-2
-20
-29
-5
5
0
104
29
0
0
-13
-3
5
16
-11
-2
-13
13
6
8
12
17
-1
5
-13
12
2
-44
3
0
-6
-23
2
-1
-66
-2
0
-23
-24
47
0
3
-2
0
25
-4
28
-10
-13
-12
-3
0
0
-51
-53
0
-1
-15
15
0
-2
2
16
-14
-41
1
-3
-77
0
81
-33
2
6
11
19
33
24
18
0
-8
16
15
8
46
-6
-5
-21
-8
32
-11
-20
20
-15
16
14
4
17
-42
-35
12
70
-10
-39
51
14
9
1
-14
4
-62
-3
4
0
0
7
0
56
-14
0
-31
4
1
0
13
55
1
45
48
0
-6
-39
-5
-3
-20
-1
-32
-23
-22
-15
5
-1
0
-54
-47
13
27
-4
-15
-6
-37
-43
7
-7
-5
28
-5
-1
5
-12
-9
3
35
0
26
-20
46
55
-3
24
5
7
-18
35
-7
12
-4
0
84
0
-17
16
0
-7
0
-15
0
-55
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-18
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
0
0
3
0
0
-4
0
0
47
37
0
0
-27
-54
0
0
-3
0
0
0
-53
0
0
-3
0
0
-3
-66
0
0
-110
0
0
4
6
0
23
20
0
0
0
43
0
0
0
0
0
0
-55
-1
0
0
0
0
0
-73
0
0
0
0
0
0
-13
0
0
-2
0
0
0
-7
0
0
-4
0
0
0
-82
0
0
-19
0
0
0
23
0
0
-5
0
0
0
-6
0
0
-4
0
0
0
7
0
0
-4
0
0
0
38
0
0
0
0
-1
0
-40
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
8
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-1
0
0
0
18
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
38
0
0
39
7
0
0
49
-3
0
1
30
-1
0
0
-18
0
0
1
0
0
16
14
-5
13
-9
0
45
6
0
0
-6
-2
0
-44
-38
0
-27
-44
21
0
90
8
0
0
-22
-12
0
-49
-17
0
0
9
3
0
-9
-152
0
0
-39
-1
0
0
-12
0
23
-64
-12
0
0
-10
0
0
31
0
0
0
-8
40
-2
0
0
0
0
-40
-4
0
0
-1
0
8
-41
0
0
-10
54
0
13
5
0
3
-53
0
0
-13
-32
4
0
-29
43
0
13
-44
5
0
-26
25
0
-5
-6
1
29
11
-9
0
1
3
0
3
57
0
0
-6
0
7
0
-2
46
15
0
-12
0
0
0
-6
0
0
-38
5
0
0
0
0
0
-8
3
50
0
0
0
6
30
0
0
-12
8
0
0
-1
-2
-26
2
-7
0
3
-11
0
6
12
81
0
2
19
0
21
-75
0
0
0
51
0
6
13
1
0
0
-36
0
-15
0
4
0
0
46
9
-3
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
11
0
6
0
-208
0
-8
-113
0
28
-3
-30
-9
-6
-29
41
0
-14
0
95
-36
0
0
-46
-24
-13
32
-37
-9
9
-18
-60
14
8
38
0
1
30
35
-14
54
18
4
9
27
-1
-5
-3
12
0
-8
-24
-6
0
-1
5
-1
10
2
-6
-3
-2
-27
9
0
15
-8
-21
0
30
-11
-32
0
0
0
0
-1
-28
0
0
-4
8
-5
-33
10
2
28
-43
51
-16
1
0
12
18
-3
17
-4
0
2
67
-31
-38
-16
18
-13
52
-12
19
-83
21
56
25
17
6
16
-37
-35
-3
-1
6
0
12
25
40
0
-82
-2
-1
-35
10
-40
0
15
0
0
-3
30
3
-2
33
-1
0
0
-18
0
5
-3
0
-21
9
0
-26
-4
-13
-1
10
15
72
-4
2
29
0
19
48
-7
-7
0
-23
0
4
-1
-94
2
0
12
3
-28
-32
12
6
0
-3
4
-3
48
-46
15
0
-51
0
-28
2
24
-136
0
-34
-6
-17
-7
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-18
0
0
13
0
0
0
0
0
15
-9
0
0
0
0
-5
7
0
0
0
0
0
0
-1
0
45
-2
-20
0
41
32
0
0
-12
0
2
-41
28
0
0
18
0
1
-8
-53
0
0
-54
0
-4
0
0
0
-12
0
0
-1
0
-41
0
0
-5
0
-4
0
9
4
0
0
0
0
0
34
0
0
0
0
0
0
2
0
0
0
-1
0
0
-20
0
0
54
0
0
-1
23
0
0
-13
-8
1
4
-65
0
0
7
0
0
1
27
0
0
-3
0
0
0
0
0
0
10
0
0
0
-41
0
0
-3
0
39
0
58
-2
0
0
0
0
0
-11
0
0
0
0
0
0
12
0
-9
1
0
0
0
-22
0
1
1
0
0
0
23
0
8
0
0
0
0
54
0
0
0
-5
0
0
39
0
15
5
1
0
0
0
0
6
19
0
-1
0
-70
0
12
0
0
0
0
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-19
0
0
5
0
0
0
19
0
-8
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
-16
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-4
-7
0
0
0
21
0
0
0
0
0
8
-29
0
0
6
0
0
0
6
0
0
0
0
0
0
-8
0
8
-25
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
16
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
-17
0
1
-23
-13
-2
3
7
0
0
-91
-4
0
-5
-9
-59
-13
-16
0
47
4
0
0
-47
-1
-1
19
29
0
-9
13
15
-6
21
1
0
10
8
-10
38
37
4
-2
-8
55
-14
-5
-79
-21
-3
0
-25
13
13
24
-7
0
39
1
8
0
20
-12
-1
0
0
65
-85
0
-39
-9
-39
0
3
5
0
-12
-12
0
-6
-33
64
-30
13
0
-8
-24
-20
-4
-63
11
0
6
-129
10
15
22
-32
-6
-9
11
9
-9
-27
-44
33
68
24
-1
-17
29
0
-4
22
29
-16
-10
0
-6
1
8
1
-45
9
0
-22
26
23
0
-53
-20
0
-8
-5
-1
0
15
39
2
32
0
0
0
-1
0
-1
-2
-2
9
15
21
-26
1
4
-3
9
70
16
-11
-2
-51
0
31
6
-112
15
46
-19
-1
27
-29
-7
19
23
23
0
5
-20
-38
-32
1
57
3
0
-1
-21
52
-7
5
0
-62
0
39
40
0
5
32
6
-2
-30
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-1
17
0
0
9
0
0
-5
0
0
-54
-3
0
0
-16
-18
0
0
-16
0
0
4
37
0
0
-6
0
0
0
104
0
0
-29
0
0
2
58
0
-66
-9
0
0
0
-47
0
0
0
0
0
0
-15
0
0
0
0
0
0
-48
0
0
0
0
0
0
-20
0
0
0
0
0
0
17
0
0
79
0
0
-2
-40
0
0
12
0
0
2
-112
0
0
-70
0
0
0
-30
0
0
-3
0
0
1
-56
0
0
0
0
0
0
33
0
0
-11
0
-20
0
1
1
0
0
0
0
0
-9
0
0
0
0
0
0
-27
0
-1
-1
0
0
0
55
0
0
1
0
0
0
-6
0
10
0
0
0
0
-8
0
0
-17
0
0
0
-35
0
3
1
0
0
0
8
0
0
0
0
0
0
1
0
0
1
0
4
0
1
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
11
36
0
0
8
-5
0
0
0
0
0
13
2
24
0
44
0
30
-33
0
0
57
0
0
-22
-54
0
11
-31
-29
0
43
21
-2
0
-11
0
0
-44
-12
0
0
-21
72
0
-22
-17
0
-5
-29
0
0
-1
-68
0
-33
30
-4
0
0
11
0
-3
3
0
0
0
57
-6
64
0
3
0
0
-15
-9
0
0
0
0
-7
-40
0
3
30
1
0
51
3
0
2
-21
0
0
1
-34
-7
0
-13
9
0
-19
-33
-1
0
-23
68
0
5
14
0
1
42
46
0
15
15
0
-7
2
0
-1
5
-62
0
1
-39
11
0
0
17
0
0
0
0
0
2
24
0
0
0
8
0
0
4
-1
25
-5
0
0
0
7
0
1
3
-8
0
-2
-38
0
-32
-27
0
0
0
10
0
0
10
-12
0
0
-6
0
18
44
-8
0
0
-20
0
-8
-8
-63
0
0
10
0
-63
-7
0
0
0
26
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-3
-5
0
1
0
0
-115
0
0
0
0
0
1
1
0
16
8
-6
0
3
41
0
0
1
0
0
0
3
0
0
0
0
0
0
101
0
0
-25
0
0
0
-31
0
-12
8
-7
0
0
-13
0
0
2
0
0
0
-4
-4
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
-1
0
-106
0
0
0
0
0
0
-2
0
0
53
30
0
0
21
0
0
-2
-2
0
0
-49
0
-6
-6
0
0
0
-58
0
0
-5
0
21
0
-25
0
0
12
0
-4
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
3
0
-13
0
0
4
0
0
0
37
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
3
0
0
-17
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-20
-4
0
0
32
0
-2
-57
0
0
-4
0
0
-18
-61
-8
33
73
17
0
23
17
0
0
37
0
0
-3
10
0
0
-45
0
0
-9
29
0
0
-105
0
0
0
-15
0
43
-3
17
0
0
0
0
0
5
0
0
0
7
0
31
0
0
0
0
-21
0
0
0
0
0
-8
-27
0
0
0
-13
-31
-32
-35
0
0
-13
-1
-23
1
-25
8
0
-4
-43
0
6
79
0
-2
-51
-17
8
0
74
0
0
1
0
-1
-1
36
0
0
6
-2
-28
4
0
0
1
-1
0
-152
0
-71
0
0
0
-8
0
0
-13
0
0
0
0
0
0
-17
0
23
0
3
-7
0
5
0
0
-2
-4
0
0
-46
0
-54
21
-6
0
-1
-47
0
-4
41
-8
0
1
-128
0
-65
0
-9
0
0
-5
0
0
8
2
21
0
0
0
34
0
1
7
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
-3
25
-5
0
5
-2
0
0
-8
0
0
-3
23
0
0
-6
0
0
0
-14
0
0
0
0
0
0
24
0
-4
-1
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
-7
0
0
0
-14
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
-3
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
-3
-1
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
16
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-24
0
0
0
-24
0
22
-39
0
0
62
0
-6
-7
-28
0
-52
-49
11
0
-104
21
0
0
-11
0
0
48
44
0
0
24
0
0
61
15
0
0
0
0
0
0
7
0
-33
2
0
0
0
61
0
0
0
1
0
0
14
0
7
0
0
0
0
-37
0
0
0
0
0
-7
-3
0
0
-47
-7
38
0
-41
0
0
-28
9
-6
-2
-21
0
0
-9
-25
-7
0
10
0
0
20
-3
-33
0
7
8
0
-2
43
0
0
44
0
0
0
0
-30
0
-11
0
0
0
0
-160
0
12
-2
0
0
-1
0
0
21
0
0
0
0
0
0
-16
0
0
-3
0
0
0
-41
0
6
2
16
0
0
-25
0
4
2
0
0
0
-34
0
0
2
-76
0
0
-1
0
1
0
-2
0
0
-3
0
0
0
0
-13
0
-16
0
-13
0
0
-9
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
12
0
0
53
9
0
0
0
0
0
0
8
0
0
-5
0
0
0
47
0
0
-1
0
0
0
-19
0
-2
0
0
0
0
17
0
0
0
0
1
0
34
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
-61
0
0
-3
0
0
0
33
0
0
10
0
0
-13
-24
0
0
-6
0
0
0
-72
0
0
4
0
0
0
13
0
0
1
0
-2
0
36
0
0
0
0
-2
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
49
0
0
0
0
0
0
-8
0
0
-18
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
8
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-112
0
-31
-53
1
-54
0
27
17
-3
-30
0
69
8
-3
0
-7
4
0
0
12
4
-25
0
-4
0
12
-3
-14
-16
4
-77
0
-23
-10
20
-24
-3
-8
-5
42
0
3
13
-3
-27
-2
-55
6
0
2
8
5
0
18
-13
-51
-4
-3
-26
0
0
3
-60
-73
-2
-86
0
32
-3
-7
-4
-59
48
0
72
20
13
28
-33
-47
-4
46
5
-5
-12
-8
97
0
59
8
54
-44
1
20
-4
2
-1
34
-9
15
-4
0
42
4
-11
41
9
20
0
-30
-20
1
17
50
-67
0
14
-7
10
14
-6
17
-1
0
-6
49
0
-163
-4
0
5
8
-74
-1
100
7
0
26
32
-27
-3
-4
-19
-1
-104
-9
12
-60
27
-30
0
-16
11
-16
-26
34
47
0
29
11
16
35
38
-23
0
15
-19
31
-6
60
-6
-1
32
-12
-3
-1
45
39
0
-1
7
-1
-66
16
-3
0
0
10
-61
15
33
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
23
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
-19
0
0
0
0
0
-1
0
0
66
-12
0
0
-2
4
0
0
0
0
0
3
29
0
0
7
0
0
-2
-63
0
0
32
0
0
0
29
0
-2
0
0
0
0
-13
-1
0
0
0
-1
0
0
0
-3
0
0
0
0
20
0
0
0
0
0
0
18
0
0
0
0
0
0
-38
0
0
2
0
0
0
-14
0
0
-2
1
0
0
-8
-1
0
-8
0
1
0
-10
0
0
0
0
0
0
20
-8
0
0
0
0
0
2
0
0
0
0
-14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
57
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
-14
0
0
-3
0
0
-5
0
0
-71
-67
0
-26
-78
-53
0
-8
-19
0
0
-2
0
0
-17
-105
0
0
-55
-1
-1
-5
-13
0
0
-12
0
0
0
-4
0
-1
10
-5
2
8
41
0
0
51
13
-4
0
-103
0
43
0
0
0
0
20
0
0
0
0
0
0
-46
0
0
-1
1
6
1
-11
0
0
-4
0
13
1
10
2
0
-32
95
-9
1
-12
0
0
-30
3
-9
0
-99
0
1
87
-1
-4
-5
-35
0
0
0
0
-79
0
16
0
0
-3
6
51
0
-40
0
0
0
0
0
0
-33
0
0
0
0
0
0
44
0
6
0
0
-10
0
9
0
0
1
0
0
0
5
0
57
2
0
2
0
19
0
-32
-1
-1
0
0
-111
0
-5
9
5
0
0
-47
0
0
2
0
5
0
-49
0
3
0
0
5
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
-4
0
0
0
-1
-63
0
0
-2
0
0
0
-56
0
0
0
0
0
8
-63
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
19
0
0
-7
0
0
0
8
0
0
0
0
0
0
40
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
2
-20
0
0
0
0
0
-2
0
0
-51
-40
0
0
-24
-62
0
0
-8
0
0
3
-58
0
0
-5
0
0
-1
-4
0
0
-27
0
0
0
-78
0
43
-7
0
0
0
-53
0
0
0
0
1
0
29
0
0
0
0
0
0
-40
0
0
0
0
0
0
-47
0
0
0
0
0
0
-69
0
0
5
0
9
1
-37
0
0
72
0
0
16
-12
0
0
-23
0
-4
0
57
0
0
-11
0
0
0
-126
0
0
0
0
0
0
-116
0
0
8
0
82
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
38
0
-1
0
0
0
0
50
0
0
-3
0
0
0
-41
0
69
-2
0
0
0
-4
0
0
16
0
0
0
-8
0
0
1
0
0
0
15
0
0
0
0
0
0
52
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-4
0
12
0
45
30
0
0
-4
0
0
29
51
0
12
-33
-33
0
31
-16
0
-2
-41
0
0
9
-19
0
-2
-63
-5
0
50
3
0
0
-10
0
0
1
-121
0
-30
-32
41
0
0
-64
0
3
4
0
7
0
26
31
-2
0
0
0
0
5
0
0
0
0
0
1
40
0
0
2
0
0
4
12
0
0
-8
0
0
-7
4
-1
0
7
9
0
6
-63
5
0
-38
-41
0
16
36
0
-1
-46
4
0
0
-26
0
0
-12
0
0
-2
-80
0
-3
32
10
-2
0
-55
0
0
0
0
0
0
-31
0
0
0
2
0
-1
22
0
1
1
0
0
-1
7
0
0
2
2
0
0
-4
-1
-4
48
0
0
0
-19
0
-10
8
-7
0
0
2
0
6
95
7
0
0
-57
0
0
-6
2
0
0
-24
0
99
0
0
0
0
52
-15
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
-5
0
0
0
0
0
12
2
0
0
13
48
0
0
-1
0
0
0
42
0
0
10
0
0
0
44
0
0
-5
0
0
0
3
0
-2
0
0
0
0
21
0
0
0
0
0
0
4
2
0
0
0
0
0
-32
0
0
0
0
0
0
14
0
0
0
0
0
0
44
0
0
0
0
0
2
0
0
0
10
0
0
0
22
0
0
-24
0
0
0
-13
0
0
0
19
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
58
0
0
0
0
0
0
14
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
27
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
-19
7
-11
13
-2
16
-1
-44
1
13
12
14
8
-3
-1
32
3
33
45
47
-10
4
2
7
-30
15
38
-1
25
23
-11
23
20
18
-8
-6
-3
12
73
62
-3
0
-12
-20
22
32
-12
0
-1
4
-14
-9
-13
-12
17
0
1
-52
21
-27
18
-20
-2
-1
19
-39
-43
29
-23
1
3
-8
13
-53
-23
-13
0
20
131
-7
30
13
-21
-1
2
-46
10
-25
-3
-13
-5
-32
15
28
-15
53
-17
-3
-11
54
-6
55
-60
-22
-5
3
-26
25
44
19
13
-9
-59
-40
-8
73
43
-42
0
1
47
7
-40
-7
19
4
38
3
29
-25
-8
37
-7
-28
-27
-12
20
-46
-27
-7
-31
17
24
-24
-32
46
5
-24
-14
3
25
-11
16
-16
53
16
26
-30
-40
5
40
32
15
2
13
-26
-40
1
0
11
-39
65
4
-7
9
39
2
-2
14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
31
0
0
18
0
0
18
-18
0
49
18
-41
0
72
56
0
0
-15
0
0
2
-4
0
0
37
2
0
22
-44
0
-8
-15
0
2
1
-30
0
-22
49
0
0
0
-116
0
0
-2
0
-8
0
-17
2
0
0
0
-2
0
2
0
0
0
0
0
0
35
0
0
-3
0
-1
58
5
0
0
31
0
-17
-5
48
0
-1
-116
36
0
29
41
0
-3
6
-2
0
0
-92
0
17
-25
19
0
5
-21
0
0
-18
0
12
0
-61
0
0
1
0
5
0
23
1
0
0
0
0
0
90
0
0
0
0
0
0
55
0
-14
-3
0
0
-2
-8
0
-2
-3
-13
0
-2
85
0
-9
24
0
0
0
-35
0
0
-30
0
0
0
-32
0
6
-7
2
0
0
99
0
-4
1
-6
0
0
-69
0
1
0
0
13
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-5
0
0
50
-11
0
0
-25
11
0
-9
37
0
0
-55
4
0
7
-7
0
0
-66
0
0
-4
-13
0
0
-37
0
0
0
-10
0
10
46
-9
0
1
-46
0
0
6
0
16
0
41
5
25
0
0
0
0
-82
0
0
0
0
0
0
29
0
0
30
0
0
-9
40
0
0
-21
0
0
0
22
4
0
70
31
0
0
-16
0
20
-70
69
4
0
-3
0
0
8
24
0
0
-44
0
0
-11
0
-33
7
13
0
0
-7
0
-99
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
-3
-54
0
0
0
0
0
0
-95
0
3
-1
20
0
0
-28
0
0
12
0
0
0
-15
0
0
-2
1
0
0
-48
0
1
14
1
0
0
1
0
0
39
0
0
0
32
0
0
0
0
-5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-6
4
-1
0
7
-55
0
0
-5
0
0
0
11
0
0
0
2
0
-1
-38
0
0
11
0
0
0
36
0
-4
0
0
0
0
0
0
0
0
0
1
0
49
0
3
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
-78
0
0
0
0
0
0
101
0
0
0
0
0
-3
9
0
0
9
0
0
0
28
0
0
2
-4
0
0
18
0
0
8
0
-8
0
1
0
0
0
0
-4
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
4
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
13
-2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
8
0
0
31
0
7
2
-82
0
31
-50
0
0
46
-71
0
0
19
0
-2
-19
-6
0
0
-34
0
4
17
10
0
0
-8
0
0
0
22
0
62
-18
0
0
8
7
0
0
-13
0
1
0
12
-2
25
0
0
0
0
-41
0
0
0
0
12
-6
3
0
0
1
0
50
5
9
0
0
3
0
19
1
-37
0
0
-44
0
4
0
-2
0
0
-11
0
17
0
-15
0
0
41
0
13
0
31
0
0
123
0
-20
0
-36
0
0
13
0
54
0
-45
-2
0
7
0
1
0
-49
1
0
0
0
0
0
6
0
83
-1
0
0
0
-48
0
2
-17
0
0
0
-21
0
-37
29
0
-7
0
71
0
0
25
0
-9
0
-8
0
-15
-31
0
3
0
-22
0
0
5
0
2
0
7
0
-8
6
0
-16
0
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
0
35
61
-2
7
14
15
3
0
-4
0
0
-8
-36
0
0
33
-32
0
7
-42
0
0
54
0
0
0
11
0
-26
-49
0
0
0
-41
0
0
1
0
12
0
11
1
2
0
0
0
0
-27
-20
0
-3
0
0
12
48
0
0
-4
0
23
0
2
0
0
-2
0
0
2
1
-6
0
-46
66
2
4
15
0
-5
71
-5
-1
0
-8
0
29
-20
42
-1
0
-16
0
0
50
0
13
0
45
0
0
-5
0
26
0
36
1
0
0
0
17
0
-77
0
0
0
0
0
0
-61
-2
46
18
0
-4
0
-6
0
1
-4
-18
8
0
4
1
-22
-74
0
0
0
-45
-1
-5
35
-11
0
0
-10
0
-1
80
0
0
0
-6
0
0
-3
0
0
0
5
0
16
0
2
88
1
-51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-30
-32
-23
4
-13
-6
8
-5
78
54
-41
-2
-42
32
2
-22
-67
-23
6
-44
3
-1
40
-57
-1
-35
-48
35
-1
11
-5
5
-46
-16
-8
3
-30
-17
-15
68
-23
2
-3
-2
-6
4
-74
4
8
-24
68
-14
-36
-50
-5
-85
0
-6
-14
-35
-45
13
-69
-2
-8
30
1
-45
21
20
12
-20
-17
-8
-37
21
-11
8
-8
-40
8
-94
-45
-21
2
-19
37
13
-6
-30
60
7
40
2
-45
36
0
-16
43
-17
54
-20
6
14
-4
10
7
-16
15
23
-56
-16
-14
10
68
10
-62
-5
-35
0
4
14
-85
-61
-14
-110
-43
36
47
-16
4
-1
4
-5
-2
-2
-21
-51
18
-35
-22
-6
2
-13
5
33
78
-18
17
-2
-34
-5
-19
52
-8
-35
89
56
47
14
-12
-10
5
14
-39
8
-1
13
24
13
-5
17
32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
8
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
0
-4
-2
-86
0
-4
-8
0
0
28
0
0
-7
7
0
0
35
36
0
-12
31
-1
0
16
0
0
-9
5
0
-41
-9
24
0
0
-40
0
0
-17
-1
69
0
-22
13
-1
0
0
0
0
-25
0
0
0
0
0
2
72
0
0
0
-8
-7
-10
46
0
0
0
0
-5
41
22
0
-7
-47
-15
3
15
-15
0
0
44
5
0
0
39
0
1
35
-8
2
0
-27
-1
0
16
0
-8
0
-20
0
0
0
0
-15
0
-1
0
0
0
-6
0
0
37
1
0
0
0
0
0
3
0
-17
0
0
0
-1
-7
0
0
-13
3
0
0
-6
0
9
3
0
0
0
-47
0
-8
-16
-15
0
0
-21
0
63
-5
6
2
0
-73
0
0
-22
0
-7
0
-38
0
-2
0
0
-15
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
0
0
10
54
0
0
0
0
0
0
-39
0
0
1
0
0
-2
-66
0
0
42
0
0
0
-23
0
6
0
0
0
0
5
0
0
0
0
0
0
-45
0
0
0
0
0
0
32
0
0
0
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-4
0
0
-29
0
0
0
8
0
0
3
0
0
0
22
0
0
2
0
0
0
-21
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
2
0
0
0
0
28
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
12
-28
0
2
-6
0
0
-7
0
0
0
13
0
0
-7
0
0
0
-40
0
0
-11
0
0
0
-40
0
-4
-4
0
0
0
-27
0
0
0
0
0
0
43
0
0
0
0
0
0
49
0
0
0
0
0
0
46
0
0
0
2
0
4
-12
0
0
6
0
0
0
-9
0
0
-43
8
0
0
29
0
0
19
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
69
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-32
-9
4
-13
6
6
39
21
-1
0
31
-18
5
3
-9
0
1
40
-6
-1
1
32
0
-8
-16
-4
-12
2
-58
0
3
-29
-4
39
0
-20
-5
20
0
0
0
0
28
22
0
-1
0
0
0
5
0
-3
-4
5
18
1
-45
0
-12
54
-3
-3
10
-26
0
-9
-44
9
0
-53
-26
22
1
-46
-4
19
10
23
-1
19
-9
-36
3
1
45
0
12
-8
-1
-94
0
-42
0
2
-9
5
-85
0
-22
1
0
0
2
-4
0
-55
3
0
0
3
0
0
-72
-2
-5
-65
1
-5
2
-28
-4
-3
5
34
0
-9
-8
6
72
-39
-17
4
0
41
0
9
2
49
2
-19
-1
0
-45
0
24
14
0
45
2
1
15
1
-42
5
6
-1
90
-8
1
2
0
-59
-19
2
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
16
0
3
-13
0
-2
-43
1
0
0
3
71
0
10
4
0
-1
29
0
-7
-1
2
0
-11
12
40
0
0
32
0
0
76
0
-66
0
-1
1
-120
0
0
0
0
10
-7
0
-3
0
-14
-5
32
-3
0
-2
18
-51
11
0
0
0
-44
-17
-119
76
-8
3
15
-7
26
-29
22
-8
-4
7
-60
-32
-69
8
28
0
12
-14
17
-108
-6
-27
0
-4
-19
32
0
0
20
0
0
60
14
-68
0
26
-6
0
41
0
-25
0
-34
2
0
0
0
0
0
11
17
3
-1
0
0
-29
0
0
-2
-8
-45
0
3
27
-4
1
7
-12
-5
-3
20
0
-8
-76
121
0
0
-39
0
27
8
-1
0
-2
14
0
0
12
-3
-25
8
32
0
9
-55
0
-35
0
14
27
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
8
0
0
0
15
0
0
0
0
0
0
-66
0
0
13
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
-2
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
-4
0
0
0
40
0
0
-14
0
0
0
13
0
0
0
0
5
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
-8
-6
-12
14
9
-20
-17
24
-5
5
45
60
-18
20
17
24
17
-65
-8
17
10
0
10
-19
-19
37
-40
-6
17
-5
-1
47
-104
0
24
-20
1
-8
14
0
-1
18
44
0
7
31
25
-29
11
8
-2
39
19
8
52
-39
-7
0
-5
3
-18
35
6
-1
-4
3
10
-27
-54
-5
-13
36
-16
-74
24
-43
22
72
44
11
29
70
37
20
-5
-57
-10
-3
50
41
-62
9
-9
9
-78
-32
0
10
-6
-2
14
-18
-28
-3
-11
53
-1
-9
-31
5
1
18
-9
-3
-22
31
29
-28
10
-6
-9
31
-52
38
44
31
-7
-22
-24
80
-23
-23
-6
8
32
40
23
62
-6
36
-4
10
9
36
10
0
7
16
12
40
11
100
-2
-23
2
72
5
-63
-16
2
-8
-25
-10
-12
-23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-3
0
30
-18
6
-46
-5
-9
1
-29
-17
-27
-39
4
1
-16
16
23
-9
20
10
0
0
0
-55
-3
0
8
-7
0
-18
9
8
0
7
9
-5
-1
0
0
0
21
5
0
-3
-28
0
40
18
0
3
-8
-3
45
-45
5
0
-2
114
31
7
-12
24
-4
-5
-33
-32
-6
43
11
29
-6
7
8
-83
38
9
3
-3
11
-18
16
-11
8
-9
19
-24
36
-32
-17
0
2
26
20
15
-1
0
6
8
0
-3
9
-13
0
-15
-17
0
0
-63
0
0
23
5
16
15
-10
-63
-13
4
0
-7
-74
-37
0
-26
4
18
-41
36
-97
13
1
-18
5
-27
51
-5
-11
-4
14
-1
-47
-30
-11
-19
1
-3
-1
-4
8
-11
-14
-5
4
0
-38
-25
78
49
0
12
-19
-3
-15
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
5
-13
0
12
-49
-3
0
0
-1
0
-3
4
-5
0
0
4
0
-6
-55
5
0
-1
2
0
-5
5
-14
0
0
32
2
39
0
9
-43
0
0
0
2
0
-19
0
0
0
0
-1
6
19
0
-3
-9
0
19
6
1
0
0
8
0
-14
15
18
0
0
6
3
23
17
12
18
24
36
14
43
13
-9
0
-1
-10
-2
-11
28
-3
0
-3
22
0
3
0
-7
7
22
15
0
11
0
7
39
0
4
0
34
3
-39
-4
0
0
0
0
0
-66
2
-5
38
0
8
5
-16
0
-5
-48
0
0
0
-3
0
0
18
0
19
1
23
0
2
77
0
52
3
-20
0
15
36
0
11
0
42
0
1
64
0
47
0
-11
0
19
128
0
25
0
-6
11
-5
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
54
0
0
-4
0
0
3
-68
0
0
0
0
0
0
24
0
0
6
0
0
0
60
0
-12
0
0
0
0
-23
0
0
0
0
0
0
-59
0
0
0
0
0
0
-17
0
0
0
0
0
0
10
0
0
2
0
0
0
-50
0
0
8
0
0
0
9
0
0
4
0
0
0
12
0
0
-9
0
0
0
-22
0
0
0
0
0
0
-27
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
10
0
0
13
0
0
0
-1
0
7
0
0
0
0
12
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
0
-19
-3
41
-4
-45
-3
0
36
1
-25
24
13
21
0
-44
47
57
9
8
-3
-4
0
6
40
-7
0
14
-59
52
0
-8
2
0
-28
-32
0
9
-3
0
-5
40
0
9
69
25
7
-42
-2
0
2
14
17
35
96
14
0
-6
19
28
7
4
11
-4
17
15
76
-43
6
12
-12
48
10
14
26
8
4
5
0
17
31
30
-9
7
-2
8
16
-6
58
0
-10
-3
-2
-2
-13
-14
-13
2
1
0
-3
14
0
-4
11
1
66
-12
4
9
19
-24
0
-5
50
-17
63
5
-8
0
95
14
74
0
0
53
-4
63
4
67
-15
0
-5
-1
-6
-8
-10
-5
0
3
21
3
11
34
12
0
1
0
4
22
0
55
-10
-13
-31
-3
41
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
65
27
-16
11
5
-25
-2
-36
73
-6
-48
-20
35
-6
25
-5
-1
-18
30
-3
-10
46
-5
-14
-33
38
0
-4
17
-36
40
-49
-19
-16
-5
26
6
-48
-38
-13
-29
-17
-56
-50
-14
-35
-27
-5
3
-40
-58
-21
-8
1
43
0
25
67
20
-10
17
16
-15
12
-112
6
2
30
12
-3
41
-69
3
-6
54
22
-2
-35
-17
-9
-85
4
-30
-3
-37
-66
22
12
12
-1
6
52
4
22
17
13
-24
-42
-15
27
-14
-33
7
26
-19
-1
-14
-8
-54
8
41
-5
38
45
17
-69
-5
87
0
-4
-6
30
-25
-42
8
3
-18
-17
-44
-22
8
-25
-15
-1
-11
7
49
1
-21
3
29
-25
-14
-16
15
-6
-2
-6
-43
21
-16
-2
-2
21
55
-23
2
71
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
12
0
0
0
0
0
1
-28
0
0
-1
0
0
0
42
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
58
0
0
0
0
0
0
8
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
-4
0
0
0
14
0
0
0
0
0
0
34
0
0
1
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
52
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
4
0
0
1
63
0
0
-19
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
-3
-13
0
0
0
0
0
-18
0
0
0
0
0
0
18
0
0
0
1
0
5
8
0
0
0
0
0
0
-39
0
0
0
0
0
0
-12
0
0
4
0
0
0
-9
0
0
-16
1
0
0
-25
0
0
0
0
8
0
-5
0
0
2
0
5
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
3
3
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
0
0
5
12
24
-1
-9
0
-7
15
-9
-5
-27
1
0
5
-6
44
2
-8
-6
0
0
15
0
-5
0
6
-7
-21
-1
6
0
0
8
1
0
-4
-1
0
-17
9
0
-6
-2
26
-49
-25
-15
0
2
18
0
-10
4
12
4
-13
33
73
-21
-8
4
-1
42
8
5
-2
1
31
-1
15
5
-27
-11
-10
29
6
3
-27
-8
72
-17
-8
-1
13
12
-5
10
0
8
-19
0
0
-2
-3
0
48
-19
0
0
-48
0
-8
-28
-10
22
-8
-1
7
7
17
0
-35
55
-6
7
5
14
0
-50
-48
1
0
10
34
0
-13
87
50
-1
3
13
0
-22
-3
-1
14
-1
51
0
3
36
-3
11
-19
6
-7
56
-11
-4
31
0
17
-26
15
-14
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
-3
0
0
21
0
0
0
-49
0
7
-2
0
0
0
-16
0
0
-3
0
0
0
18
0
0
0
0
0
0
-50
0
0
0
0
0
0
43
0
0
0
0
0
0
10
0
0
-6
0
0
0
-8
0
0
-9
0
0
0
19
0
0
17
0
0
0
-14
0
0
-3
0
0
0
-5
0
0
18
0
0
0
14
0
0
0
0
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
1
0
0
0
-29
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
51
0
3
0
0
-5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-53
0
0
-29
0
0
1
-83
0
0
-3
0
0
0
-7
0
-14
-2
0
0
0
-47
0
0
0
0
0
0
35
-1
0
0
0
0
0
16
0
0
0
0
0
0
47
0
0
0
0
0
0
24
0
0
7
0
0
-5
-2
0
0
46
-4
0
0
80
0
0
21
0
0
-1
40
0
0
-3
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-37
0
0
8
0
0
0
-40
0
0
2
0
0
0
113
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
0
0
-32
-3
0
10
18
0
-9
-25
6
0
-3
-39
0
20
9
0
15
0
-3
4
-8
0
4
0
0
52
-1
0
0
0
-4
0
29
2
16
6
-40
-5
13
-27
0
0
-2
-4
-6
-65
25
22
-8
-39
5
4
3
-2
0
-1
-38
0
0
8
61
0
-5
27
-4
-4
0
33
-10
0
14
0
7
0
-68
0
-1
30
-7
77
0
1
8
0
0
3
0
0
12
15
8
0
6
0
0
-83
-2
-35
0
0
-5
-7
68
0
-17
9
20
1
-2
-40
0
31
35
-3
0
0
15
0
-14
72
3
0
3
-38
0
24
23
2
5
0
17
0
0
3
5
0
0
-20
-4
5
0
0
2
2
-1
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
21
-10
-2
-11
-28
-46
0
2
-22
-4
-44
-39
-3
-3
33
-57
-17
-22
-49
-3
-9
-24
-15
-23
-57
10
0
14
-4
8
5
28
-54
-8
0
-65
-60
2
-60
22
28
-2
-17
-29
6
7
-31
-69
2
-108
-118
-19
8
-65
-7
0
71
-38
-9
51
-5
19
0
62
-6
2
23
-8
-42
3
6
-7
10
-34
11
-26
-2
78
7
12
-82
2
0
13
-4
-26
-18
-14
-54
6
11
13
18
-12
-53
3
4
-18
76
9
-33
-21
-35
-12
24
13
43
46
-39
-1
-33
-6
-17
-21
29
16
8
5
0
28
53
12
-30
13
7
15
71
-12
-24
57
59
-18
-14
9
21
4
13
-17
5
-7
-12
-46
11
-60
-26
3
7
14
-52
32
-46
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
0
0
0
27
0
3
3
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-2
0
0
0
4
0
1
8
0
0
0
-7
0
0
2
0
0
0
5
-7
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-36
0
0
0
0
0
0
8
0
0
-1
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
2
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
-10
13
10
12
5
-35
0
-6
-21
-38
0
-4
-4
0
0
33
5
49
0
18
-14
-5
0
0
2
0
31
-4
0
6
0
-14
8
4
0
0
61
48
-6
35
-10
0
12
48
5
31
71
3
0
1
54
-3
24
-23
-12
-6
5
-27
-3
-2
-4
49
0
4
-10
78
-24
-5
7
0
2
-23
10
-29
-1
-23
-10
-2
0
32
-1
0
0
-2
0
0
-4
-1
0
78
1
0
0
-40
0
5
-29
0
-35
52
0
22
-13
24
0
13
-12
13
-5
-15
20
0
46
42
3
-3
-3
-11
0
33
-48
6
0
0
9
1
-9
63
-5
0
-4
69
0
0
5
20
23
0
-5
0
-30
0
-2
33
0
17
-13
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-21
0
0
-8
0
0
0
22
0
15
-26
0
0
0
-33
0
0
7
0
-5
0
0
-4
0
0
0
0
0
-92
0
0
0
0
0
0
-81
0
0
14
0
0
6
-9
0
0
-26
0
2
-8
-12
0
0
-1
0
0
-11
-10
0
0
-62
0
16
0
2
0
0
47
0
0
-3
-9
0
0
4
0
3
0
10
0
0
-2
0
8
0
11
0
0
0
0
0
0
4
-2
0
0
0
0
0
-39
0
22
-9
0
0
-3
-22
0
0
-2
0
0
0
4
0
-9
26
0
0
0
73
0
-2
19
0
0
0
5
0
4
6
0
0
0
-1
0
8
0
0
0
0
14
0
-5
0
0
-8
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
1
0
0
0
-133
0
5
13
0
0
0
-92
0
0
0
0
0
0
64
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
13
0
0
0
11
0
0
8
0
0
0
-40
0
0
-46
0
0
0
17
0
0
-3
3
0
0
-39
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-49
0
0
-1
0
0
0
-41
0
3
8
0
0
0
-91
0
0
0
0
0
0
-6
0
0
-1
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
21
17
1
-1
-9
25
0
0
37
0
4
0
25
-11
-15
0
0
0
0
45
-2
0
0
0
-3
1
-14
0
2
-5
-22
33
6
-19
0
0
2
0
7
-10
-3
0
-5
35
42
0
-1
-5
-8
-10
48
5
-34
1
48
0
0
40
-10
-6
0
20
0
0
46
0
-25
0
20
0
6
-7
-31
-10
0
0
0
0
0
0
-8
-1
92
-25
0
-1
0
0
-1
30
-2
9
0
0
4
2
-22
0
5
-37
15
-8
4
-33
0
25
44
-10
0
8
-27
0
-8
16
-11
-7
0
51
1
1
-4
6
0
0
2
0
3
-33
5
0
0
10
0
-41
6
0
-14
0
-9
-19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
7
10
-9
-10
-3
91
6
-18
-25
-3
24
-30
-2
-1
-1
-35
18
-21
1
-37
-12
2
1
-24
-36
28
33
5
23
78
12
7
-6
10
-2
-8
8
7
5
35
16
0
8
-38
1
-27
16
-55
0
-7
52
8
-8
36
6
0
78
45
-18
7
-53
48
-7
79
-53
40
25
14
1
11
37
-42
-34
-42
-21
-4
-10
-89
-5
13
-28
-96
7
14
10
21
8
17
-6
-10
6
-9
-11
71
-37
57
-4
17
16
-16
28
19
9
-25
6
-8
-76
-6
-8
-3
0
-1
-6
35
-35
20
-22
-21
0
9
6
-31
6
-27
24
-1
11
-49
-33
-23
27
25
3
-15
-40
-84
-74
-15
-2
-38
2
8
3
42
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
3
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-31
0
0
-9
0
0
0
1
0
0
6
0
0
0
-3
0
0
0
0
0
0
11
0
0
1
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
24
0
0
0
-5
0
0
0
0
0
0
58
0
0
0
0
0
0
-24
0
0
0
0
0
0
-30
0
0
-3
0
0
0
90
0
0
0
0
0
0
-43
0
0
22
16
0
0
3
0
0
34
0
0
0
27
0
0
-2
0
0
0
32
0
0
4
0
0
0
31
0
0
0
0
-15
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
32
0
4
-12
0
0
0
-1
0
0
-17
-1
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
38
-2
33
-7
12
-5
6
-4
-1
-8
44
0
3
16
-111
0
54
0
0
3
59
0
-2
80
0
40
-10
7
16
20
51
-23
81
19
0
-2
43
-29
-49
64
14
-6
16
22
20
29
-48
18
23
20
6
30
-4
2
2
0
2
-18
-11
20
10
35
0
62
1
13
55
6
2
-5
22
15
16
4
0
7
-14
4
0
-66
62
0
52
-2
-1
-4
22
0
1
3
0
35
-10
-1
-2
1
2
-8
-7
-32
-43
-25
68
-1
12
-4
28
48
5
-5
20
19
-21
89
24
25
0
13
-1
89
19
-90
0
0
13
14
22
0
40
-16
-1
0
0
-3
-4
-4
19
0
46
94
-1
-2
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
-23
21
0
0
0
-26
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-82
0
0
0
0
0
0
40
0
-2
0
0
0
4
-5
0
0
0
0
0
1
-50
0
0
-7
0
0
0
-11
0
0
-28
0
0
0
10
0
0
-6
0
0
1
19
0
0
-5
0
-2
0
2
0
0
-1
0
13
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
108
0
0
-4
0
0
0
11
0
-3
0
0
0
0
11
0
-7
-1
1
0
0
0
0
-1
0
0
0
0
26
0
0
0
0
0
0
22
0
0
0
0
-17
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
-29
1
0
0
0
42
0
0
0
0
0
0
17
0
0
0
0
0
0
39
0
0
0
0
0
0
25
0
0
0
17
0
-2
53
0
0
20
0
0
0
-29
0
0
-9
-2
0
-1
-34
0
2
32
0
0
0
0
0
0
43
0
0
0
34
0
0
0
0
0
0
19
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
-1
0
0
5
0
0
0
4
0
0
5
0
0
0
57
0
9
-3
0
0
0
-4
0
0
0
0
0
0
-47
0
12
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
12
4
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
1
0
-2
0
-54
0
0
8
0
0
8
-137
0
0
4
-1
0
0
27
0
3
-11
6
0
0
-65
0
0
6
8
0
0
31
0
0
2
0
0
0
-12
0
0
-1
-1
24
0
63
0
0
0
0
0
0
24
0
0
0
0
0
0
-15
0
-4
0
0
0
0
-58
0
0
1
0
0
16
-4
0
4
0
0
0
0
50
0
6
-2
-6
0
0
-84
0
-4
0
0
0
0
-58
0
0
0
0
0
0
4
0
11
1
0
-3
0
16
-5
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
13
2
-25
10
3
0
-1
-81
26
32
-65
-9
-5
20
8
1
-8
17
21
-65
-5
16
-12
-8
43
13
-17
-4
-18
-25
5
20
-1
-36
2
20
-16
10
-13
0
-9
-3
-8
21
2
-62
-76
-49
-12
-85
49
-3
2
-9
25
0
39
5
-48
7
20
-31
1
-35
-23
17
-53
-13
0
-29
15
13
-44
-65
-37
30
7
36
40
10
-43
35
13
10
31
-44
-5
64
-2
22
-4
30
-103
0
-35
-4
11
0
33
28
-23
-23
14
-44
-3
-35
16
-53
60
-23
-33
-8
-23
26
-5
-57
34
-11
0
6
5
63
-61
5
-4
5
41
-3
38
-45
13
-5
-9
50
-4
38
-77
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-10
-14
0
-11
-3
0
0
-4
-27
0
0
-12
-6
0
-10
-42
0
-8
-1
15
-29
-3
0
10
27
21
11
-12
5
0
8
-8
6
28
-26
-6
0
12
28
-17
-22
-28
3
36
-19
38
-61
19
5
10
-3
-10
37
30
31
12
15
0
57
72
4
60
-4
7
0
4
-36
14
21
0
-12
-5
2
0
50
-63
0
-28
-46
0
15
50
0
-14
-38
10
60
9
5
24
-26
-16
-8
-1
56
29
3
15
21
0
4
-6
-27
14
-16
-25
0
21
23
41
-6
-21
-21
8
-63
-17
35
10
3
28
0
-3
-28
42
-39
-30
30
0
23
10
0
42
0
26
-36
-5
-14
-11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
17
23
0
11
-46
-3
0
-8
0
0
-4
12
0
0
0
0
41
14
0
0
-27
-10
-14
-8
4
0
0
-60
0
18
-42
-3
0
26
-15
-26
4
13
-13
5
-5
47
105
9
-2
-28
2
10
-45
68
-7
-7
-23
3
0
24
0
29
0
-11
1
-2
0
4
96
0
7
-3
0
0
-3
0
0
4
18
0
17
-18
0
0
13
0
-7
1
0
-1
1
-1
0
28
79
84
0
1
-2
0
13
15
19
-27
0
26
0
0
-44
40
-4
5
73
0
-14
-1
-4
10
0
3
0
44
3
14
0
0
-14
-2
34
0
-3
4
0
-6
-4
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-12
0
-4
0
21
-1
-5
0
0
0
0
-8
0
0
0
0
0
2
32
0
0
3
0
0
-1
-39
0
0
-35
0
0
-1
-22
0
0
8
0
0
-18
11
0
0
22
0
0
0
0
0
1
-16
0
0
0
21
0
0
1
0
-3
0
-25
0
0
-4
0
42
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
7
-4
0
0
0
10
0
0
-8
0
0
0
-36
0
0
5
0
0
-2
-53
0
0
27
0
0
0
61
0
0
-3
0
0
0
-81
0
-2
-3
0
0
0
-28
0
-9
0
0
-10
0
-25
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
47
0
0
0
0
0
0
-43
0
0
0
0
0
0
22
0
0
2
0
0
8
-17
0
0
0
0
0
0
19
0
0
-6
3
0
0
47
0
0
9
0
0
0
-20
0
0
3
0
0
1
19
0
0
0
0
0
-1
-6
0
0
19
0
0
0
-88
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
6
2
0
0
2
0
0
-5
0
0
0
-19
0
0
0
0
0
0
-25
0
8
3
0
0
0
-39
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
-5
0
0
24
0
0
5
0
2
-2
-14
0
0
9
-16
0
0
-11
0
0
10
0
0
0
14
0
0
12
0
0
0
2
0
0
2
0
13
0
20
0
0
0
0
-5
0
37
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
4
0
0
0
0
-18
0
0
4
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
-15
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-13
-4
-5
0
0
-8
-27
0
1
-8
10
-59
41
0
0
-41
2
45
6
-10
0
5
-23
8
-1
-34
7
-1
19
-8
-28
83
-21
-9
27
-4
-27
4
9
26
-15
-37
27
-64
-29
39
-38
23
0
45
26
22
7
24
0
14
-5
5
45
-11
0
-7
-5
-4
-2
-109
46
-8
-27
4
-10
2
-21
9
3
51
1
-13
13
4
52
1
15
0
46
30
-19
-3
-2
11
-9
-40
-16
-35
18
31
1
0
-22
14
-72
-15
13
18
25
-64
-60
11
24
-1
-13
7
-5
-54
9
1
2
0
0
78
-59
-56
40
-5
-12
48
14
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
9
0
0
0
-8
0
0
-5
0
0
0
3
0
0
-5
0
0
0
10
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
2
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
10
0
0
0
0
0
2
0
0
0
-5
0
0
0
14
0
0
-4
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
8
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
8
4
0
0
0
0
11
0
0
0
0
-2
0
-28
0
0
-6
0
15
19
22
0
0
21
0
10
19
-19
1
0
39
-57
-1
0
-18
0
0
-11
-8
-2
0
-25
0
0
-1
-9
1
1
-5
0
-2
0
0
14
0
-13
0
1
0
0
-14
0
-12
-3
0
0
0
-13
0
65
0
0
0
0
0
0
5
0
1
0
0
3
0
-1
0
0
8
0
0
0
-22
0
0
-6
0
0
0
10
0
0
0
-5
0
0
-36
0
0
0
0
0
0
83
0
0
0
-1
-5
0
-56
0
22
0
0
0
0
-3
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
2
0
29
0
0
0
0
0
0
19
0
0
5
0
0
0
1
0
0
-7
0
0
0
40
0
0
-2
0
7
0
36
0
0
0
0
-2
0
-66
0
0
-5
0
5
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
0
-14
0
-9
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
6
0
0
0
0
-9
0
0
0
0
0
0
-39
0
0
0
0
0
36
-7
0
2
-4
-4
0
-37
-17
1
0
-8
-27
0
-1
4
3
2
33
37
0
0
-25
0
0
16
-6
0
0
-8
0
0
-42
0
0
0
-99
0
0
2
-4
0
0
-12
-1
0
0
0
0
0
2
2
0
0
0
0
0
20
0
-20
0
0
0
-1
-38
0
13
43
-10
0
-1
37
0
18
6
8
0
0
16
0
25
-50
-1
0
0
-21
0
40
15
0
0
0
-47
0
4
-4
0
0
0
-96
0
2
0
0
0
0
-8
-23
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-37
-10
-15
32
29
26
8
-3
27
-35
4
33
27
-8
-47
-17
17
-12
11
49
-6
-22
17
3
20
31
46
1
24
-42
13
1
4
-1
-1
-88
-54
17
-10
48
60
2
-38
12
-17
-23
-20
17
-4
83
20
-20
17
18
-12
0
3
-2
-1
-31
-5
22
4
6
16
25
24
-22
3
20
45
21
-15
27
34
17
13
-40
2
18
78
-43
-56
14
-19
-5
29
31
-66
17
24
33
-36
32
30
10
21
2
-22
-5
10
26
70
-24
-11
-2
-43
-8
79
12
1
6
50
-40
23
24
38
-23
0
48
-22
43
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
5
-9
0
0
44
1
9
3
-34
0
0
6
0
-2
-4
7
1
0
24
-3
-24
1
-7
0
0
5
0
-10
0
0
-1
3
-22
-4
-5
1
0
0
0
49
-15
44
0
62
0
0
-1
0
43
0
-79
0
-1
0
0
-5
0
-2
0
0
0
0
0
0
35
0
1
0
0
0
0
32
0
4
1
-4
0
0
-36
0
-65
5
0
0
0
16
0
4
5
25
0
0
-59
0
1
-3
0
0
1
-33
0
0
0
0
-5
0
-40
0
15
-5
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
-23
0
3
-4
10
0
-5
-77
0
0
-2
8
8
8
-39
1
-4
-11
1
-2
0
-26
6
0
58
20
24
0
3
0
8
29
6
2
0
-96
0
0
40
0
17
4
71
0
0
-7
1
-50
0
-2
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-30
0
28
0
0
19
1
-57
0
0
-7
0
0
1
57
0
6
21
0
13
0
-5
0
0
-29
1
-1
0
46
0
0
1
0
0
0
15
0
0
19
1
6
0
-43
0
0
-8
0
-13
0
27
-12
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
3
0
0
0
40
0
0
-1
0
0
0
31
0
0
-1
0
0
0
0
0
0
-6
0
0
0
23
0
0
3
0
0
0
-23
0
0
0
0
-3
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
-17
0
0
0
0
0
0
-67
0
0
0
0
0
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
3
0
0
0
0
0
0
8
0
0
0
-7
0
0
1
0
0
0
-19
0
0
-1
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
4
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
-5
-17
-16
-36
-22
-23
2
-8
12
29
-75
22
-49
-3
-1
-14
12
28
-47
-21
-10
54
-33
19
-46
18
-53
5
-76
65
36
-31
5
6
6
46
12
0
-32
-4
21
0
0
29
-42
-57
17
0
4
28
25
4
-41
42
22
0
13
-8
-16
-7
0
-59
-8
27
-16
8
61
33
5
7
-3
5
-44
-23
90
79
2
-10
23
56
-72
46
0
-5
10
-67
1
12
-11
-17
-21
-12
44
21
-21
4
5
25
-10
76
-22
1
-41
0
-9
-3
23
-55
-69
-36
0
-4
-2
12
-74
-78
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
-6
0
0
0
7
0
0
1
-12
0
0
-13
1
0
0
30
0
0
17
0
0
0
-15
0
7
2
0
0
0
6
0
0
8
0
-4
0
17
0
0
1
0
-19
0
-88
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
-3
0
0
0
0
66
0
0
0
0
0
0
4
0
-3
0
0
0
0
-5
0
0
0
0
0
0
-35
0
2
0
0
1
0
22
0
0
0
0
2
0
-12
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
0
0
0
0
0
0
19
0
0
0
-1
0
0
-27
0
-3
0
0
0
0
-13
0
0
1
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
1
0
0
0
0
25
0
0
0
0
0
1
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
1
0
0
0
-51
0
0
-1
0
0
0
20
0
0
-5
0
0
0
-48
0
0
8
0
0
0
-70
0
0
0
0
5
0
-3
0
0
0
0
-2
0
-83
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
1
0
0
0
-3
0
1
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-33
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
36
0
0
0
16
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-46
0
0
0
0
0
0
-31
0
0
0
0
0
0
30
0
0
0
0
0
0
-28
0
0
-5
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
-12
0
0
-8
0
0
0
0
0
0
13
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
0
0
-20
0
0
0
22
0
0
-4
3
0
0
5
0
-4
11
-1
0
0
-9
0
3
22
0
0
0
31
0
0
-4
0
0
0
54
0
0
0
0
11
0
-20
0
0
0
0
0
0
10
0
0
0
4
0
0
-33
0
0
0
0
0
0
-70
0
13
-4
0
0
0
-6
0
-3
0
0
0
0
-2
0
7
0
0
0
0
7
0
5
0
0
0
0
-30
0
0
-16
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-3
0
-24
-17
-2
30
-1
-3
-2
12
18
-27
-18
26
-15
6
-46
42
-41
42
-31
-24
-29
40
-16
-25
28
-73
-5
15
-5
-55
17
-21
-11
34
-12
14
-38
-14
10
0
5
12
-3
0
39
-3
-1
3
-26
-1
-7
-7
2
-5
0
24
0
-29
0
-5
8
9
1
53
113
-3
25
-33
-22
4
21
-7
-60
42
65
-39
14
-82
17
-55
-13
19
-22
-2
12
32
-70
10
5
29
0
23
-43
-15
-8
-2
-23
6
-14
-5
16
42
0
6
33
14
16
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
32
0
0
-5
0
0
0
-19
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
-7
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
0
0
-6
0
0
1
33
0
0
3
-5
0
1
-78
0
1
0
0
0
0
-26
0
0
-8
0
0
0
40
0
0
0
0
2
0
-1
0
0
0
0
14
0
19
0
0
0
0
-1
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
-1
0
0
0
-1
-3
0
4
7
0
0
0
41
0
0
0
0
0
0
20
0
4
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
3
2
0
-2
-3
2
0
0
-2
48
0
-3
19
0
-2
35
42
-4
5
60
0
-6
28
38
-1
1
59
0
0
24
0
13
0
-52
0
0
-9
0
-35
0
-5
0
0
0
0
7
0
5
1
0
0
0
0
0
-19
0
13
0
0
0
0
-57
0
2
-4
15
0
0
42
0
-6
12
2
0
0
-8
0
0
27
75
0
0
-3
0
-9
-44
-1
0
0
36
0
0
7
0
4
0
2
0
-5
0
0
-8
0
4
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
0
0
46
0
4
-2
22
2
0
-49
20
1
0
-43
-8
0
28
-2
-13
-3
16
0
0
0
3
1
-1
-3
0
0
13
0
-9
0
26
0
0
0
0
-33
0
-18
0
0
0
0
0
0
-39
0
0
0
0
0
0
-101
0
5
5
0
0
7
-23
0
0
-2
0
0
0
11
0
-54
18
0
0
0
58
0
-2
8
0
12
0
-23
0
7
37
0
6
0
0
0
0
15
0
17
0
27
0
8
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
-26
0
0
-6
-50
0
0
4
-8
0
-3
-25
0
-3
-6
0
0
0
-58
0
0
14
6
0
-1
4
0
0
12
0
0
0
18
0
0
16
0
0
0
36
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
14
0
0
0
0
3
0
0
0
0
0
0
23
0
3
13
0
0
0
6
0
0
7
2
0
0
38
0
1
1
1
0
0
77
0
0
-10
0
0
0
-3
0
-6
-1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
-36
14
-6
-1
-8
0
2
-2
2
0
0
37
6
0
0
-1
0
0
-3
0
0
63
-3
4
0
7
-1
0
8
0
41
0
31
0
0
0
0
0
0
-53
6
0
0
0
0
0
-19
-1
33
8
0
0
0
-31
0
0
59
9
0
0
12
0
30
6
0
0
0
26
0
0
3
-15
0
0
-43
0
33
1
-7
0
0
78
0
0
18
0
0
0
2
0
0
0
0
-6
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-33
28
-9
12
-58
22
3
45
23
-10
-19
-33
-7
25
-11
4
32
-9
-29
20
2
31
7
18
-41
-20
3
13
-6
4
54
7
-2
-5
4
-37
8
-51
65
-55
46
-8
-11
11
-74
-33
-18
-8
-13
20
-42
25
-49
80
-24
0
-9
-30
23
41
-1
5
-16
40
7
16
0
37
-17
-17
-6
-31
-20
-3
-27
-86
-28
15
39
22
-12
36
29
-26
18
104
28
61
-16
-3
1
-6
7
-18
53
-45
-6
18
20
4
55
87
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
-2
0
0
-25
0
0
7
0
0
0
29
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
10
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
17
0
0
62
-13
93
3
32
0
-6
-20
-2
0
0
5
-1
-1
53
38
-2
0
-24
0
0
-6
1
-48
2
-13
0
1
15
30
71
0
-14
0
0
6
0
0
0
56
3
0
0
-2
0
0
-26
0
9
-5
4
4
14
67
0
-7
7
1
0
0
31
0
1
35
-2
4
8
-3
0
4
26
-23
0
1
30
0
-40
14
2
2
0
7
0
2
105
13
0
0
7
0
37
-3
0
79
0
-7
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
-44
8
0
0
-30
0
0
-15
0
0
0
-55
0
0
0
0
0
0
-18
0
0
-2
0
0
0
30
0
0
0
0
15
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
-4
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
-28
6
0
0
-45
0
0
-25
0
0
0
-8
0
-1
4
0
0
0
-19
0
0
8
1
0
0
7
0
0
33
0
0
0
-13
0
0
0
0
0
0
37
2
0
0
-1
0
0
-1
0
-10
0
0
0
-2
-29
0
0
0
0
0
0
11
0
10
8
0
0
0
91
0
1
23
6
0
0
27
0
-8
-2
0
0
0
47
0
0
-8
0
0
0
-17
0
0
-4
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
3
-5
59
-1
0
6
22
3
0
-43
94
-10
0
-6
0
0
-8
-7
0
8
-73
0
0
-15
0
40
0
-29
1
0
0
0
13
0
-7
0
-1
0
0
0
0
-54
0
-23
-4
0
-8
0
-36
0
2
17
-5
0
0
-6
0
97
-46
25
0
0
39
0
0
57
1
0
0
-35
0
1
-24
2
0
0
-21
0
-2
-4
-5
0
0
-23
0
-5
0
0
0
0
-61
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
96
22
-6
20
43
-17
-24
24
-13
-9
31
-28
15
8
17
-24
31
-137
-23
3
-9
0
29
-17
-17
-89
-1
2
-62
10
-1
47
46
8
-30
18
0
69
7
-4
-18
20
24
11
10
-3
4
59
-14
5
108
-3
63
35
-19
0
-11
-34
-7
-8
-1
12
-14
-9
9
-26
-40
-7
-24
21
15
-40
26
-28
-52
-4
-33
1
18
-8
17
2
-8
-8
15
-133
5
-12
49
0
6
-30
12
-29
-51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
11
0
0
-2
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
-13
7
0
0
4
0
2
0
0
0
0
8
0
9
-2
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
0
0
-10
0
3
0
33
0
0
16
0
0
0
-70
0
0
0
0
0
0
13
0
0
0
0
0
0
64
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
3
0
0
-1
0
-1
0
0
0
-1
0
0
-34
0
0
3
0
1
0
-1
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-5
-1
2
-2
-17
24
59
15
6
-4
24
25
-1
6
3
0
3
-4
-12
48
-4
-12
0
3
-88
10
0
0
10
14
0
-1
-8
-8
-2
3
59
0
-1
84
0
5
15
-2
130
-5
41
11
16
16
25
5
13
26
-7
28
36
5
41
-28
50
0
0
-16
0
27
35
-8
1
-3
-6
3
12
-14
22
9
5
8
0
-2
-6
38
30
22
6
0
2
12
-2
-65
0
10
33
-8
-42
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
3
-37
19
40
-16
10
0
1
72
9
11
-15
4
0
0
23
0
-12
0
-92
0
-1
45
0
18
0
35
-4
0
-1
0
1
0
28
4
0
0
-2
0
0
-12
-3
42
-5
0
-2
-8
43
2
0
21
0
-2
-8
-5
0
-20
0
1
0
-5
-21
0
0
-46
-8
0
0
60
2
-36
-18
0
-7
0
60
0
0
63
0
1
0
-47
0
39
-3
3
59
0
-13
39
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
7
2
0
0
21
0
0
-4
8
0
0
-26
0
0
0
0
0
1
-23
0
0
0
0
0
0
-58
0
0
-1
0
0
0
3
0
0
0
0
0
0
-33
0
0
0
0
0
0
73
0
0
0
-4
0
0
-32
0
6
-47
0
0
0
19
0
0
0
0
0
0
-11
0
-6
0
0
0
0
67
0
0
-1
0
0
0
-56
0
2
-1
0
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-30
-1
0
0
21
0
0
38
0
-3
0
-36
0
0
30
-1
-48
0
-6
0
0
0
0
0
0
-9
1
-6
0
13
0
0
-1
0
-5
0
0
0
7
-16
0
-6
30
-6
0
1
-28
0
46
15
8
0
0
113
0
2
16
6
0
1
64
0
29
8
0
0
0
18
0
0
8
1
0
0
-6
0
-26
0
0
5
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-17
26
47
-10
27
-20
-17
7
6
-45
27
-34
-58
15
1
-5
0
22
15
-57
0
0
39
8
-3
-102
77
-4
15
-71
5
34
-46
1
48
8
-2
-6
12
6
-10
-38
-9
17
-36
2
10
15
-73
2
0
-15
61
-41
1
-1
0
21
56
-5
-12
17
5
35
-8
-42
-2
-21
-4
-19
1
8
-54
32
44
-30
-1
-13
-13
9
19
15
9
0
-8
-1
29
64
-42
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
1
5
0
0
0
14
0
0
1
0
9
0
6
0
0
0
0
1
0
26
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
9
0
0
0
0
0
0
-3
-7
8
0
0
-31
0
9
0
0
0
0
3
0
0
-5
0
0
0
-14
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-45
0
0
6
0
0
0
29
0
0
0
0
5
0
-21
0
0
2
2
4
0
-13
0
0
0
0
0
0
29
0
0
0
0
0
0
-17
0
-17
7
0
0
0
3
0
0
-8
0
0
-3
2
0
24
1
0
0
0
35
0
0
2
0
0
0
33
0
-2
0
0
0
0
29
0
0
0
0
1
0
40
0
7
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-12
-3
7
26
9
-19
-25
23
0
1
1
-44
-72
4
-27
2
8
15
-39
22
0
6
-2
0
-2
6
-3
0
72
-9
0
0
13
0
0
32
-1
21
-3
0
39
-47
-33
17
-8
1
10
45
-16
18
-1
41
-19
72
11
0
2
-12
23
-11
-4
0
0
31
0
-37
-41
-7
25
0
17
2
1
18
-17
12
-4
-22
0
-5
-8
-13
45
-1
37
11
0
-6
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
0
0
23
0
0
0
-20
0
0
85
0
-4
0
59
0
0
-28
0
75
0
-26
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
-17
-2
0
0
2
-80
0
-3
30
8
0
0
49
0
-20
-4
0
0
0
-18
0
-7
-28
-14
0
0
-1
0
35
15
0
0
0
18
0
0
67
0
0
0
50
0
-15
0
0
5
0
-26
-24
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
29
-2
0
0
-28
0
0
24
2
0
0
-44
0
0
18
0
0
0
-1
0
0
0
-12
0
0
46
0
0
0
-4
0
0
-16
0
6
0
0
0
0
54
0
1
8
-3
0
0
22
0
-28
15
0
0
0
4
0
0
54
13
0
0
43
0
48
-33
0
0
0
74
0
1
12
0
0
0
14
0
7
0
0
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
10
0
0
0
30
0
0
0
0
4
0
-51
-5
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
-2
0
0
0
0
-28
0
0
3
0
0
0
67
0
-3
8
1
0
0
93
0
0
0
0
0
0
10
0
4
8
2
0
0
57
0
0
0
0
0
0
-13
0
20
-1
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-6
29
-16
4
-117
-41
0
-13
113
-4
-70
-7
0
2
-45
30
-10
-20
30
-1
-29
12
0
-2
-1
0
106
0
22
23
-35
35
75
41
-9
1
25
32
70
2
78
2
14
-20
15
-19
51
4
35
-29
9
-73
-19
64
-17
0
-12
8
-44
22
1
-13
39
28
52
-8
-2
-19
-29
-14
2
-26
18
-43
-32
0
-7
8
12
-91
-94
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-23
0
-3
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-8
0
0
0
0
-5
0
0
-7
0
0
0
5
0
1
0
0
0
0
6
0
-4
0
0
0
0
7
0
-16
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
0
0
0
0
0
44
0
0
0
-5
10
0
42
0
0
0
0
0
0
16
0
0
0
0
0
0
-43
0
-4
0
0
0
8
4
0
0
-2
0
0
-12
12
0
3
4
0
0
0
15
0
0
-7
0
0
0
-8
0
1
0
0
0
0
12
0
-2
0
0
0
3
1
0
0
0
0
-2
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
15
0
-3
6
48
-64
-1
-50
-6
-28
3
-24
34
0
33
-2
0
0
0
0
0
2
-31
0
1
26
0
0
-10
-1
46
-2
6
-5
-1
29
0
24
38
71
12
-1
1
-16
5
-28
-9
-3
-27
-11
-1
0
-18
-18
-9
0
33
-1
3
32
-1
0
0
16
2
0
29
-12
13
4
9
-6
-77
0
0
54
0
54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-39
0
-1
-4
-38
0
6
-30
0
-30
0
-44
0
0
0
0
-10
0
-48
0
0
0
0
0
0
-44
0
-8
23
0
10
7
-5
0
0
113
-1
0
1
8
0
38
80
0
25
-14
44
0
-1
22
0
-7
0
57
0
18
-2
0
0
0
-17
0
0
-41
0
12
0
-2
0
-1
15
0
-29
0
-22
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
1
-12
0
0
0
-9
0
0
0
0
0
0
-75
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
5
0
0
0
0
61
0
0
-8
1
0
0
-3
0
-4
-23
0
0
0
63
0
6
34
0
0
0
-16
0
19
29
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
75
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
0
-61
0
0
0
0
0
0
1
2
0
0
0
0
0
23
0
0
0
0
0
0
45
0
0
6
0
0
0
-61
0
-5
0
0
0
0
6
0
-2
4
0
0
0
4
0
0
-3
0
0
0
53
0
0
0
0
0
0
-34
0
-20
2
0
-1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
119
-43
29
-20
5
0
-5
-22
3
-1
-36
-33
-6
2
-24
-1
8
-19
-2
42
14
-8
-39
-2
-8
53
20
-2
-23
-28
-9
24
39
-5
11
13
9
-67
50
25
13
7
-9
-62
1
72
-15
37
-13
29
-31
-9
-58
111
-19
0
32
27
66
10
65
2
5
-21
10
-9
7
-27
0
11
-42
59
-8
48
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
3
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
0
0
40
0
2
1
-2
0
0
34
0
0
0
0
0
0
57
0
0
3
8
0
0
1
0
0
0
0
0
0
28
0
0
4
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
5
26
31
0
-22
0
0
0
0
0
0
15
-2
0
0
2
0
0
-87
0
37
-1
0
-2
-2
6
0
0
96
-4
8
0
14
0
-56
-3
3
0
0
51
0
-1
-4
18
12
0
3
0
4
-2
0
-1
0
89
0
0
0
36
0
0
-47
0
30
13
0
-6
0
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
-5
0
59
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
7
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
15
0
0
0
52
0
-5
-5
0
0
0
-22
0
0
2
0
0
0
62
0
0
0
0
0
0
2
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
0
0
71
9
0
0
-18
-3
0
39
-4
0
0
-25
0
0
0
0
0
0
25
-22
13
-9
-1
0
2
67
0
-2
13
3
0
1
-15
0
2
10
-8
0
0
24
0
10
30
50
0
0
-32
0
96
-8
0
0
0
-3
0
0
-30
6
-1
0
-49
0
30
4
0
0
0
6
45
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
44
0
1
2
0
0
0
1
0
0
5
0
0
0
-3
0
-6
0
0
0
0
7
0
0
0
0
0
0
57
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
-1
9
0
-4
-45
-5
0
-8
-38
0
6
35
21
-39
26
-9
58
-45
0
-4
-10
10
-96
-4
1
-22
0
32
12
-52
13
2
-2
2
11
-8
-22
-46
-8
22
-18
-39
-78
-43
24
1
-15
5
16
8
-9
12
24
0
0
-23
-10
-42
-2
0
-19
-40
-5
-1
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
-1
0
0
0
1
0
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
43
0
0
0
0
0
0
-50
0
-1
0
0
0
5
47
0
0
27
-2
0
4
-5
0
-9
5
-1
0
0
6
0
13
0
6
0
0
-14
0
18
0
0
0
0
3
0
0
0
0
0
0
-19
0
6
0
0
0
0
-58
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-32
0
0
-1
0
0
0
-7
0
23
-2
0
0
0
-24
0
1
-27
0
0
0
-66
0
-10
-9
0
0
0
15
0
0
3
0
0
0
3
0
-2
0
0
1
0
-34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
22
-10
0
0
4
12
0
-5
0
0
-5
7
0
-19
20
19
0
6
36
0
0
7
23
0
8
2
0
35
38
-13
0
2
13
0
3
54
-89
0
0
42
0
33
51
-25
0
0
-12
0
0
-13
1
0
0
-95
0
-7
45
-1
0
0
36
-22
0
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
-1
4
49
-5
-21
-21
-20
-47
26
-3
-28
-66
23
8
-89
-21
6
-27
3
4
21
-3
5
-19
-4
-61
26
4
-36
32
-20
-34
-5
-5
45
26
-14
-45
-11
-11
32
1
10
10
36
-12
13
-8
-23
-19
46
-36
26
0
0
-1
-30
-49
-51
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
7
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
1
-2
-1
0
0
-3
0
0
0
0
0
0
-41
0
18
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
-10
20
0
0
0
-3
0
0
13
0
-4
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
-50
0
4
0
0
1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
5
0
0
7
0
0
0
0
0
0
1
0
7
-5
12
0
0
46
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
24
-52
8
-22
-13
-18
0
15
-14
1
-1
2
-49
0
20
-10
-25
6
0
2
-2
4
-24
74
-2
0
-20
7
46
62
8
23
0
-8
2
0
162
-3
1
0
-30
0
61
5
0
7
0
35
-19
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
6
0
0
0
5
0
0
0
0
0
0
5
0
0
-2
0
0
0
18
0
0
0
0
0
0
-60
0
-1
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
0
0
0
1
5
0
0
5
0
0
0
4
0
0
58
0
0
0
4
0
2
-1
0
0
0
6
0
6
-1
0
0
0
-8
0
0
-1
0
0
0
-11
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
10
-8
20
38
-22
9
-24
4
10
-27
29
-49
0
-16
-63
2
29
-13
-40
-8
1
-52
0
53
-32
12
0
0
21
1
22
-10
4
2
0
-22
3
-3
-7
0
-5
-2
-37
-41
-2
-5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
5
0
0
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
114
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
-2
-1
-1
-10
0
-24
0
32
15
7
0
0
-30
0
18
50
-8
0
0
-15
6
-1
-17
-17
0
0
57
0
0
-9
0
0
0
22
0
38
0
0
4
0
-16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
5
-7
0
6
42
0
23
4
0
0
0
5
0
0
0
0
0
0
-8
0
0
-2
0
0
0
32
0
0
-10
0
0
0
-6
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
62
0
0
-2
0
-2
0
10
0
0
0
0
0
0
-1
0
-1
-6
0
0
0
4
0
-2
0
0
0
0
-4
0
0
0
0
0
0
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
2
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
7
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
2
30
0
0
0
0
0
0
-44
0
-3
0
0
0
0
14
0
0
0
0
0
0
82
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
1
1
37
33
3
-14
-23
18
72
-14
-51
-5
20
-34
-5
62
-7
-30
6
-5
29
-2
-13
-14
52
16
0
-31
0
-79
2
1
-81
0
-15
86
-7
3
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
5
0
7
10
0
0
0
26
0
0
5
0
0
0
59
0
0
0
3
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
0
108
4
0
0
0
28
0
1
3
31
0
0
72
0
-29
-27
0
0
0
31
0
0
-29
2
0
9
-3
0
54
7
0
-7
0
-14
-8
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
4
3
-25
0
-6
0
-55
0
-9
-35
0
0
0
24
0
16
13
0
0
0
36
0
0
1
0
0
0
-51
0
-17
0
0
-31
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
0
0
0
-32
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
1
-4
0
0
0
-2
0
0
1
0
0
0
-4
0
0
4
0
0
0
60
0
0
0
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
9
10
5
-4
-18
1
28
-3
-34
60
-14
42
-2
1
0
45
23
-52
13
0
-13
-6
39
28
-1
-27
-1
-35
-4
39
5
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-26
0
14
2
22
0
1
-77
3
145
30
-2
4
0
29
0
0
-12
-13
14
0
-10
0
-14
0
0
21
0
30
-2
0
-27
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
2
62
48
-4
0
48
0
8
-5
1
0
0
-73
0
-6
8
0
8
17
29
0
6
0
0
-2
0
46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
-54
-1
0
0
-22
0
-13
0
0
0
0
1
0
0
0
0
0
0
-45
0
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
24
0
4
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
0
0
5
0
0
0
0
0
0
12
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
50
1
-16
59
-9
2
0
-4
0
-2
12
-72
54
-2
-22
0
57
-12
0
-65
0
-12
-1
4
-50
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-19
-5
0
9
4
-40
0
0
0
0
1
0
-2
0
-2
0
5
4
0
15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
53
92
10
3
0
-31
0
1
8
0
-1
0
24
0
0
0
0
-33
0
30
-8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-19
33
2
3
1
19
0
0
-18
0
1
0
-6
0
-31
20
0
-5
0
5
13
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-15
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
45
0
-4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-7
0
76
-16
34
-2
18
-13
-6
25
-2
1
-20
-16
-43
2
-12
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-1
-20
-6
7
0
10
0
0
3
0
26
0
-5
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-19
19
-2
-15
-28
0
26
0
0
-9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
1
0
0
0
-16
0
-3
0
0
-3
0
-24
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-46
-6
16
30
0
-27
0
-5
36
-3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-3
0
0
9
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
-2
0
0
14
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
15
1
0
0
0
7
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
70
-1
71
-167
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-7
8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
10
-2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-4
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
53
-10
30
29
-87
76
34
63
100
11
12
-21
22
-38
-27
8
9
-37
36
4
53
27
-78
-58
-10
-19
37
-12
-76
-71
-82
-50
-1
8
-38
1
-54
-74
22
9
-30
-40
-72
-22
-48
-7
10
-9
-43
-4
-5
-8
-55
-20
0
0
0
0
0
0
0
-23
19
59
-19
15
-10
16
30
34
-18
-22
59
64
19
12
40
54
26
21
-17
33
-2
-27
18
3
4
-56
-18
48
-8
-35
-74
11
57
10
3
-56
-15
-46
32
-46
-7
-18
-6
-34
12
-55
31
2
-73
-99
-34
-40
-18
-23
13
-38
-6
-32
-13
33
30
2
-12
-6
-4
21
0
-8
7
-9
22
66
18
-8
19
-12
3
10
20
29
15
-53
-15
-6
-2
76
-46
-10
33
-5
52
-6
-68
-35
7
-45
-67
-50
4
-87
-13
34
4
-109
7
-32
-27
-59
-44
-49
22
-78
15
-36
20
-55
-17
-9
-39
3
-74
-23
-2
-1
-31
12
-7
-41
-40
-50
4
-78
-24
8
-4
8
19
-8
5
-12
-1
-78
33
45
42
3
10
-6
-19
-46
19
70
-15
31
14
-90
-14
-12
-9
21
16
-10
-5
26
1
5
9
38
-2
-117
37
-38
-26
6
-34
-1
6
-75
-54
-36
17
-21
38
-36
29
-1
-62
-7
-6
-19
26
-49
17
15
56
36
-8
102
60
25
-8
23
21
3
2
46
-3
-20
-18
-43
12
112
-28
-40
-1
20
-14
1
-10
34
0
-33
27
-53
-9
-56
-9
-14
-24
59
-86
2
-22
0
56
2
64
-13
-2
-28
18
-115
-21
-25
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
-8
0
0
-3
0
0
0
-5
0
0
5
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
7
0
0
0
0
0
11
-1
-1
2
0
0
0
-14
0
0
-3
0
0
-8
-2
0
0
1
0
0
0
-7
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
24
8
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-1
0
0
-8
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
0
-1
0
0
-1
-26
0
0
5
0
0
-2
-1
0
0
7
0
0
-1
-7
0
0
-7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
-1
0
0
0
0
0
25
0
0
1
0
0
0
-14
0
0
0
0
0
0
-4
0
0
1
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
0
0
0
0
5
0
0
-4
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
1
0
0
14
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-9
0
0
30
0
0
-7
0
0
9
0
0
0
0
31
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
41
0
0
0
0
0
0
1
-8
0
0
0
0
0
28
0
0
-7
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
4
0
0
0
0
0
-8
0
3
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
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
5
0
0
98
0
0
-7
0
5
0
-5
0
0
0
-2
-2
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
-4
-2
2
-6
-9
0
-1
-64
-1
-10
0
114
2
0
4
8
0
0
-12
0
1
-3
-1
0
0
-13
0
0
0
-2
0
3
4
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-78
0
0
0
-2
0
111
55
65
-55
17
0
1
-82
0
0
-45
0
0
13
-40
-3
-27
48
0
0
31
6
0
0
-4
0
0
-24
6
0
0
3
-1
0
0
92
0
0
0
0
0
0
-1
0
26
2
0
-3
0
-34
0
0
5
0
0
0
41
0
0
0
0
1
0
-68
19
0
-8
0
0
0
-1
-2
3
8
-17
0
24
23
-2
0
3
0
0
-19
8
0
-4
4
0
0
0
17
0
0
0
0
0
0
-28
0
0
0
-3
0
0
-16
0
0
0
0
0
0
83
0
0
5
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
-34
0
-42
4
0
0
0
34
0
-17
-9
-3
0
-8
-1
0
8
0
0
0
0
-24
0
0
-6
0
0
0
-69
0
-2
0
-1
0
0
6
0
0
0
-7
0
0
-6
0
2
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
-7
0
0
0
0
12
0
0
-2
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
4
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
7
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
0
0
1
0
3
0
0
8
13
0
0
0
6
0
0
0
4
0
10
-1
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
-14
0
0
1
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
-24
0
9
0
7
0
0
-40
-1
0
1
1
0
0
-19
-4
0
13
0
0
0
15
0
0
-8
1
0
0
0
2
0
0
0
0
4
0
-8
0
0
0
0
0
0
-8
0
0
0
0
-15
0
0
-1
0
0
0
0
0
87
-5
10
27
4
0
14
19
0
0
10
0
0
35
5
0
26
-1
0
0
7
27
0
0
48
0
0
-1
-34
0
0
-5
0
0
-2
-23
0
0
-5
0
0
0
5
0
-32
-2
0
0
0
42
0
0
0
0
1
0
-52
-1
0
0
0
0
4
16
-3
0
-2
0
0
4
40
-5
-3
4
-4
0
-3
32
0
-2
-5
0
0
-1
-68
0
0
-10
0
0
16
-28
0
-1
8
0
0
0
-29
0
-1
-1
-5
0
0
31
0
0
0
0
0
0
0
0
0
0
10
1
0
32
0
0
0
0
0
0
86
0
-1
0
0
0
0
13
0
8
0
0
0
0
-13
0
0
0
0
0
-1
-5
0
-7
5
0
0
0
30
0
0
0
0
0
0
16
0
0
-2
0
0
0
-63
0
13
-2
0
0
0
13
0
7
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
19
-10
91
17
5
7
9
-18
52
-72
38
-14
-59
25
-17
17
51
-54
22
-7
-27
44
-6
-14
7
-33
-36
-32
-36
-56
-16
-98
10
-16
-13
-89
6
-1
-10
-12
-4
-4
14
-1
-5
-1
46
-15
0
0
0
0
0
0
0
64
49
15
12
90
1
-6
6
-72
-16
-44
22
-77
22
-1
2
33
63
5
28
-48
11
32
-9
-45
-12
-58
-18
-54
-20
-8
-32
-16
-86
-11
-11
39
-8
41
-40
22
-3
-50
-90
-31
0
-29
29
-10
-42
-97
-16
-24
-13
-35
34
2
14
51
20
73
47
0
66
68
95
-12
25
3
-56
4
26
-34
15
4
11
13
-11
14
79
-29
-45
-106
24
-31
-17
-52
16
24
19
-8
-13
-8
-71
-10
-12
-10
-5
39
-28
-33
10
-41
-9
32
-62
26
7
-74
-5
-24
-54
-40
5
0
76
-68
-31
-30
59
-11
41
-161
42
3
-49
-31
9
61
52
-21
42
-13
-23
7
10
2
-21
-52
-63
3
-2
34
4
-2
31
48
-23
-21
-35
-13
-10
41
38
-32
-13
-59
52
-21
20
-30
56
-12
63
37
-37
-3
4
5
16
-7
-20
-23
-21
-3
-25
-5
-23
-20
-19
-4
-6
29
24
59
26
-25
-123
22
-36
0
-21
-50
47
-122
-22
-61
-15
-59
-7
-25
24
28
28
-36
-43
-26
-38
89
-2
38
-19
-56
17
-26
66
37
-32
19
5
-7
22
-78
-15
-22
-9
-54
34
-9
-13
34
-38
2
-26
4
-56
138
-22
1
-6
78
1
-91
-30
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
13
-1
-93
-5
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
-1
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
54
0
0
1
-4
5
0
-65
8
0
0
-5
0
0
-19
-2
0
0
0
0
0
-8
-3
0
0
0
0
0
-7
5
0
0
1
0
0
2
9
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
-13
0
0
0
0
2
79
3
57
-10
-4
0
5
-50
1
0
91
0
0
-5
2
0
-1
-6
0
0
16
-2
0
0
2
0
0
-5
21
0
-6
-3
0
0
0
67
0
0
0
0
0
0
37
0
-16
0
0
0
0
-13
0
0
0
0
0
0
-2
-6
0
0
0
0
0
-80
5
0
-2
0
0
12
73
0
0
-6
-3
0
14
-65
0
4
-1
0
0
-12
66
0
0
0
0
0
0
-21
0
0
1
0
0
0
-25
0
0
-4
0
0
0
-74
0
0
0
0
0
0
-1
0
0
0
0
1
0
47
0
-4
0
0
0
0
20
3
0
0
16
0
0
-7
0
-16
0
0
0
2
88
0
0
0
0
0
0
-7
0
-19
0
0
0
0
5
0
0
0
0
0
0
-5
0
-2
0
0
0
0
50
0
0
0
2
0
0
-37
0
-13
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
32
0
0
0
4
0
0
-13
6
0
0
-3
0
0
8
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
34
-2
12
12
-1
0
-18
15
0
0
-67
0
0
43
3
0
24
49
0
0
0
-12
0
0
-16
0
0
0
-42
0
0
2
0
0
0
48
0
0
-5
0
0
-4
6
0
46
0
0
0
0
3
0
0
0
0
0
0
-58
9
0
0
-1
0
0
0
1
0
0
0
0
1
-99
0
5
15
-1
0
-7
-19
0
0
45
0
0
1
22
0
0
14
0
0
1
-21
0
0
0
0
0
1
-38
0
1
-1
0
0
0
-29
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
-51
0
0
1
0
0
0
97
0
-50
0
0
0
0
68
0
0
0
0
0
0
12
0
1
1
0
0
0
-5
0
0
1
0
0
0
1
0
0
0
0
0
0
37
0
2
0
0
0
0
20
0
-2
0
0
0
0
51
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-10
68
21
24
-4
-61
-27
7
-33
-3
-69
-40
-120
5
-54
-1
-4
0
1
-44
-2
-63
-19
-1
20
-10
-47
0
13
2
-22
0
0
18
0
0
5
0
1
-2
2
0
0
0
0
0
0
0
-81
-83
42
-18
-39
-36
32
-18
-42
-2
35
-38
2
61
-9
10
16
-45
6
-31
15
-25
0
-57
-2
-75
0
12
-23
-19
-1
1
-105
-16
-50
-62
66
5
0
-19
-1
-62
0
-44
2
1
29
-12
-63
0
0
37
0
0
-5
-34
5
58
129
-8
44
8
-1
54
69
23
-95
23
-1
1
-71
21
41
75
-20
-34
1
-33
-37
47
18
-46
-6
27
-51
-36
5
-32
11
28
-5
94
-22
0
-6
-73
-2
0
-2
9
-1
-33
-81
-62
14
20
3
-1
-4
-2
-1
14
0
-1
-4
-21
0
15
1
-57
-5
105
-5
-24
-4
0
37
59
-9
-11
86
21
9
80
7
24
3
125
-2
-15
3
-34
-25
31
15
-41
20
-44
-45
11
18
26
-11
-15
16
31
-1
-11
-26
-40
-46
-8
-4
-2
25
7
-2
-8
-1
-21
0
0
-29
8
-22
0
-31
-3
-1
2
-4
29
-5
-19
-13
-49
-113
-4
-8
47
-65
2
9
-64
9
9
-48
28
38
-25
-8
-35
-10
5
50
53
-24
-31
40
25
-16
-51
0
1
-34
-75
-23
9
-40
-8
-37
13
-36
20
13
23
-2
1
3
1
-37
0
-10
0
-20
-8
2
2
0
-5
2
10
25
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
0
-1
5
6
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
81
0
0
-6
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
26
6
-2
2
8
11
0
-45
0
-3
3
19
0
0
-57
-26
3
1
-39
-4
30
21
15
0
0
-9
0
0
-3
0
0
0
-3
0
0
0
3
0
0
6
0
-2
0
2
0
0
0
0
-7
0
0
13
0
0
0
0
0
39
31
-19
81
3
0
4
-11
1
6
56
0
0
-28
0
3
-9
39
14
0
-59
-9
0
-2
-5
-4
-14
-1
44
0
0
-43
5
0
0
7
0
0
-2
0
0
0
-58
-1
-40
1
-14
4
0
-67
8
0
0
1
0
0
23
1
0
0
0
0
8
-14
45
-2
32
0
0
11
-25
-5
5
-6
8
0
-2
0
0
-5
-49
-4
-4
24
-23
2
7
18
1
0
0
-87
0
0
-17
-3
0
0
-56
0
1
27
9
2
0
8
0
0
-1
0
4
0
-12
0
0
-6
2
-1
0
5
0
0
0
2
0
0
-17
-3
-8
0
0
0
2
-18
0
-14
13
0
0
-1
0
0
2
5
0
0
0
40
0
24
-17
1
-2
0
-47
0
0
20
-3
0
9
-33
0
-10
6
0
0
-10
-10
1
-4
-2
-2
0
0
3
0
-1
0
0
-1
0
-10
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
12
0
0
0
8
-3
0
0
14
0
0
2
-3
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
57
0
0
-42
2
0
0
19
0
-3
-25
0
-1
0
17
-2
0
25
-5
0
0
-5
0
12
-4
0
0
0
-1
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
-30
4
31
42
6
0
-5
14
0
0
23
0
0
-11
2
7
-17
36
-4
0
27
4
0
0
-12
0
0
-14
-33
0
0
31
0
0
9
31
0
0
0
0
0
0
-92
0
54
0
-2
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
22
1
-5
5
0
0
0
-14
6
2
-16
-8
0
0
97
0
-2
-13
0
0
6
2
0
2
2
-6
0
-1
26
0
0
-8
0
0
0
-30
0
0
5
-3
0
0
70
0
0
0
0
0
0
25
0
0
12
0
0
0
-17
0
0
0
0
0
0
-26
-4
0
-8
2
0
0
55
0
-8
0
0
0
0
-62
0
0
-7
0
0
0
-59
0
6
0
0
0
0
7
0
0
0
0
0
0
49
0
0
-2
0
0
0
63
0
0
0
5
0
0
41
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
2
0
0
4
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
3
-3
0
0
-1
0
0
-53
0
0
0
9
0
0
0
0
0
0
0
0
28
-3
-4
36
0
0
-31
0
0
0
-38
0
2
70
0
0
0
-30
0
4
2
30
0
0
0
0
-1
-1
6
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
24
0
0
0
2
1
42
-19
-2
-8
-1
0
8
-83
8
0
-5
0
0
56
36
0
-11
30
12
0
-3
29
0
0
28
0
0
-3
32
0
0
8
-3
1
-1
13
0
0
-3
0
0
5
12
0
6
-2
8
8
0
-9
0
0
2
0
0
0
-87
8
0
0
0
6
-2
-36
-2
0
0
0
0
0
-18
2
4
-29
-7
0
3
-35
0
0
8
0
0
13
-28
0
0
29
5
0
0
-35
0
0
3
0
0
0
27
0
0
0
5
0
-3
42
0
0
1
0
0
0
-4
0
0
6
0
0
0
-50
0
0
0
0
0
0
-7
5
0
0
0
0
0
42
0
10
-10
0
0
0
11
0
0
0
0
0
0
39
0
-1
0
0
0
0
-40
0
0
0
9
0
0
43
0
0
0
-1
0
0
32
0
0
6
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
19
30
14
-3
0
2
-3
-15
35
-6
-13
57
-12
-25
-19
0
0
0
0
51
-33
-25
0
0
2
13
-9
7
1
0
-10
0
-3
-7
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-94
-45
30
-1
-4
-50
8
1
-103
-2
-4
14
-6
73
1
-27
33
-6
13
-21
0
-26
-105
-4
-15
98
4
-35
-106
-20
0
0
2
3
-58
57
4
0
0
-34
0
-34
-3
-52
0
0
5
-39
-57
0
0
-56
0
0
2
-67
11
38
53
30
23
-56
0
-17
61
-17
-30
2
0
0
-20
-21
3
46
10
-6
-6
-92
-22
2
-1
-10
38
-1
-31
-35
3
-4
3
13
17
91
-49
0
7
-70
-1
-17
-4
35
0
-43
-24
11
13
5
-8
0
0
-5
1
21
0
26
39
-5
0
22
-3
18
19
48
8
-25
-4
7
-13
86
66
19
55
26
3
-87
-10
5
-9
12
8
5
-27
19
9
-6
22
-23
-25
-5
-6
-4
2
66
2
-2
9
-23
-2
0
-35
-27
-5
0
15
1
1
-1
0
-41
-6
-25
0
4
10
-16
12
0
39
-20
0
3
0
0
18
50
21
-25
23
-3
0
-6
29
66
-11
21
1
-4
-5
-63
-15
5
-66
0
-13
-81
35
-3
-26
-4
-17
-8
10
-25
0
-35
71
-43
0
20
10
0
94
11
19
-3
-3
-78
0
0
-2
9
-1
0
-1
0
-39
-1
-2
-3
0
-115
8
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
21
0
-4
-5
3
0
0
0
0
-66
9
-8
0
0
0
0
20
0
0
0
0
0
0
48
0
8
0
24
0
0
23
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
8
1
0
0
-60
0
0
40
2
0
0
-13
0
35
-88
1
12
0
-33
22
-3
2
-35
-2
0
-19
0
-9
-6
22
0
0
14
0
-51
-3
-8
0
3
-4
1
-46
0
-7
0
0
0
0
-2
0
0
52
0
-1
0
-24
0
-33
-31
-24
14
0
0
-30
40
0
0
12
0
0
-39
3
0
32
17
0
2
1
-16
0
0
-30
0
0
73
-44
0
0
-46
0
0
29
-13
0
0
47
0
-4
0
-44
0
28
-15
12
9
0
-7
0
7
0
0
-51
0
4
67
24
0
0
0
1
-14
4
0
9
0
0
69
18
6
-1
-16
0
0
-35
-6
0
0
30
0
-3
-5
-13
0
0
-9
0
-1
16
31
0
6
17
0
-3
9
-4
0
9
-55
10
-5
0
-21
0
0
1
2
12
0
31
0
0
-21
0
7
0
-8
0
0
0
0
1
0
11
-4
2
0
0
0
-6
39
0
-71
1
0
0
-3
-43
0
1
37
-2
0
-5
18
0
13
-22
0
0
-12
27
0
-7
-3
8
0
-11
17
0
-43
-8
0
0
-1
12
0
-13
-5
0
-8
0
-7
0
-58
0
0
-8
0
22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
5
-3
5
0
-1
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
47
-1
0
0
17
0
0
-15
-1
-8
0
-21
0
0
-45
47
0
0
-9
27
0
70
1
0
0
-3
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
-8
0
0
-17
0
0
0
0
0
65
-5
-76
4
0
0
56
-12
0
0
-169
0
0
-27
-29
7
119
-83
6
0
49
49
0
3
-44
0
0
40
102
0
0
-1
-4
0
3
16
0
-2
-60
0
0
-6
-35
0
11
0
0
0
0
-59
0
0
0
0
0
0
25
15
-4
0
0
0
0
84
1
0
2
0
0
-24
41
3
-7
109
0
0
10
-16
2
1
-30
0
0
18
-53
0
0
55
2
0
-3
11
0
0
50
0
0
0
-98
0
0
5
12
0
0
15
0
0
0
0
0
-1
-30
0
0
0
-3
0
0
-20
0
0
0
0
0
0
37
-2
0
-16
0
0
29
-18
-2
7
-2
0
0
0
53
0
4
48
0
0
-4
-63
0
5
1
0
0
15
43
0
-4
4
0
0
0
-97
0
52
-8
0
0
0
50
0
0
-2
0
0
0
32
0
-46
7
0
0
0
-58
0
-2
0
12
0
0
0
0
0
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
12
40
4
-6
41
-19
7
15
3
-1
-8
0
48
25
30
-2
0
-45
-26
35
-6
11
2
-23
-1
0
5
0
0
3
0
0
0
3
0
0
0
0
0
0
0
-41
-59
-9
10
5
26
-65
-138
18
-29
-2
5
-8
15
2
26
-13
58
-54
20
8
4
-43
48
55
12
-12
-28
7
-49
-12
0
11
36
-59
5
11
2
-1
-13
1
-13
-4
-61
0
0
-32
5
-19
0
1
-12
0
-1
6
2
-14
29
-50
-30
36
-59
-4
-13
8
-31
104
18
-12
-30
-65
-19
-41
27
-100
-16
16
31
20
33
-39
-33
-9
-25
-15
-23
14
-2
-5
45
-36
51
8
-8
1
48
-15
34
40
-5
-8
-26
36
-23
-4
-3
32
0
0
-8
0
28
0
25
9
-42
0
2
4
-60
-10
-36
47
82
13
-33
63
22
-1
-48
-53
2
-8
22
26
10
71
-26
0
46
55
5
86
-52
-17
-61
-13
-49
-16
31
-20
-3
-15
-30
10
-18
8
-14
-8
3
-51
1
-2
0
-8
-57
1
9
-4
-15
1
1
-67
111
-36
0
-51
6
0
-1
-8
-26
-14
15
-6
10
6
18
-9
55
35
-32
16
-21
-8
35
135
37
33
-6
21
2
-8
16
24
-40
-28
47
-9
-28
12
-45
12
-61
-39
-45
-4
6
11
-5
-38
-82
40
-8
-15
-15
8
-3
-103
-79
-56
-5
23
0
-43
1
-15
23
0
-44
-20
-12
-3
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-58
0
0
-5
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
-31
30
0
0
3
-24
0
23
-1
0
0
72
-6
-1
-7
0
0
-8
3
-3
-2
29
-11
2
0
51
0
0
7
1
0
0
0
0
4
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-91
0
0
89
0
0
0
-1
0
-22
115
-6
0
0
0
-61
33
0
0
3
0
0
88
70
-2
-13
-37
-9
0
-23
0
0
0
-20
0
0
-1
60
0
0
5
1
-1
5
58
0
0
1
3
0
0
12
0
-28
8
0
0
0
-39
0
0
0
0
-3
0
54
7
0
0
0
0
1
40
12
0
-25
0
0
6
21
1
-2
-43
1
0
11
77
0
0
55
0
0
-22
0
0
-7
-32
30
0
-12
-7
0
0
4
-1
0
0
25
0
4
1
-6
0
0
-36
0
5
-1
0
0
0
70
0
-1
0
-2
0
0
-5
0
0
0
0
0
0
27
3
0
-2
0
0
0
61
0
36
3
0
0
0
43
0
-1
-5
-4
0
20
0
0
-8
-8
0
0
-12
21
0
-5
0
2
0
5
65
0
-8
3
8
0
0
130
0
0
-5
2
-1
0
5
0
33
0
0
14
0
68
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-24
0
0
4
0
0
60
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
6
0
0
-15
0
0
0
52
0
0
29
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
5
0
0
0
0
0
-19
11
12
121
-1
0
-25
64
0
-4
-9
0
0
-6
-21
0
-13
16
0
0
-23
69
0
0
6
0
0
8
-45
0
-6
0
0
0
0
28
0
0
0
0
0
0
24
0
11
0
0
0
0
4
0
0
0
0
0
0
68
0
0
0
0
0
0
52
-3
0
0
0
0
-3
19
0
0
6
6
0
0
-41
0
0
5
0
0
6
-10
0
0
0
0
0
0
34
0
0
0
0
0
0
25
0
0
0
0
0
0
-68
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-14
-6
0
8
0
0
0
23
0
17
5
0
0
0
21
0
-5
0
0
0
0
-25
0
-5
-1
0
0
0
-8
0
0
0
1
0
0
13
0
4
0
0
0
0
25
0
0
0
0
0
0
-45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
77
0
0
-29
0
0
0
17
0
0
56
1
0
0
-9
0
0
2
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
-13
0
0
0
0
0
35
0
8
4
0
0
3
-28
0
0
1
0
0
-4
-4
10
-2
-2
-6
0
1
8
0
0
8
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
0
2
0
1
0
0
-8
0
0
0
0
-1
0
-15
0
0
0
0
0
-3
-67
1
0
0
0
0
0
60
-4
0
-2
-1
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
7
0
1
0
0
6
4
0
0
0
0
0
0
-50
0
0
1
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
-2
-1
0
0
6
0
0
0
38
0
0
-4
0
0
0
16
0
29
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
7
5
-6
-24
-13
0
1
87
0
0
-3
-50
0
-7
41
-8
8
0
-22
-9
6
-50
-45
0
0
-2
0
-1
2
14
0
0
0
0
0
19
40
0
0
-5
0
0
16
8
0
0
0
0
1
0
0
16
0
0
0
-1
2
55
41
-39
12
6
0
47
-16
-2
0
-14
0
9
25
41
0
26
32
70
3
7
-37
1
0
5
0
0
-16
15
0
0
0
0
0
-3
-74
0
0
5
0
1
6
51
0
-2
0
0
0
-2
-3
0
0
0
0
0
0
71
2
3
0
0
0
0
-38
27
0
0
0
0
-23
-82
17
-8
-35
0
0
4
-15
3
-7
0
0
0
3
-5
-2
8
5
-2
0
1
-83
0
-3
0
-1
0
0
0
0
0
0
0
0
-8
-142
0
0
0
5
0
0
-75
0
0
0
1
-12
0
-41
0
0
0
0
0
0
46
-3
2
0
-8
0
0
25
-2
-48
-2
0
0
0
59
0
3
2
0
0
-3
25
0
-21
0
0
0
-10
43
0
0
0
14
0
-1
-51
0
-8
0
-7
0
0
67
0
5
0
-6
2
0
-79
0
-13
0
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
0
-17
2
0
0
15
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-9
-3
-5
-2
0
0
12
1
0
0
-1
0
0
-1
-8
0
1
1
0
0
-4
-9
0
0
0
0
0
1
-7
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
48
0
0
0
0
0
0
-19
0
0
0
0
0
0
-14
10
0
0
0
0
-6
11
0
0
-1
0
0
0
44
0
0
0
0
0
1
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
0
0
0
47
-5
0
-13
0
0
0
-7
0
0
-14
-1
0
0
5
3
0
-2
-21
0
0
13
0
0
47
0
0
0
8
6
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
80
-56
-2
117
6
0
48
-21
0
0
-44
0
0
78
-49
0
9
-45
2
0
-93
12
0
8
56
0
0
-56
-10
0
-5
13
7
0
41
-28
0
0
-1
0
0
0
-20
0
22
1
7
0
0
52
0
0
0
0
0
0
-78
46
0
0
0
0
0
73
3
0
-15
0
0
20
16
0
0
8
-8
0
-28
25
0
-2
1
0
0
20
-89
0
5
-12
-1
0
32
-48
0
0
0
0
0
0
17
0
0
49
2
0
0
21
0
0
0
0
0
0
-40
0
0
0
1
0
0
8
0
0
0
-1
0
0
23
-1
0
24
0
0
0
32
0
83
0
0
0
-1
-19
0
0
5
1
0
-7
-11
0
0
33
0
0
2
19
0
-2
0
-4
0
0
-24
0
31
-3
0
0
0
52
0
0
2
2
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
14
0
4
16
0
-2
0
0
0
-2
0
-33
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
-13
-10
0
-2
-4
-13
0
-23
1
0
0
-7
0
8
32
8
4
0
47
30
0
20
-17
3
0
-3
0
23
4
12
0
-2
-49
-14
-1
55
29
0
0
-3
0
-9
0
-7
0
0
0
-2
-62
0
0
-3
0
0
0
-1
0
-42
1
-51
36
-9
0
57
21
0
0
-66
0
0
-10
-2
-1
-18
-25
44
0
13
-31
0
8
-72
-1
-1
-12
-77
0
0
22
5
0
-17
21
0
0
-5
0
0
2
-9
0
-1
17
-8
0
0
-44
0
0
0
0
-17
0
27
7
0
0
0
0
0
-58
4
0
3
0
0
-3
-51
18
-13
2
-7
0
0
-6
2
-2
-47
0
3
-5
-21
-2
-1
-6
12
0
1
-19
10
0
-12
0
0
12
25
0
0
-24
14
9
-8
25
0
0
-5
0
2
0
-84
0
0
-6
-3
-17
0
-69
0
-6
8
0
4
0
8
8
0
-17
0
0
0
-20
-3
10
-1
0
-2
0
-50
0
13
0
3
-2
-9
-3
0
-29
6
0
-8
10
11
0
8
2
-13
-3
4
-74
0
42
-2
8
0
0
14
0
1
0
-9
0
0
16
0
-4
0
0
0
0
-36
12
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
-10
0
-4
0
0
0
2
0
0
0
0
3
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
-30
-22
-15
-6
38
37
2
-22
3
0
0
-11
0
-13
26
-32
0
0
-18
-40
-7
9
0
1
-2
-44
0
-2
-11
11
0
0
9
4
-2
-3
4
0
0
0
0
-2
0
20
0
0
0
0
-23
0
0
31
0
0
1
4
0
3
-57
4
31
-5
0
-44
10
4
0
94
0
0
17
-46
-1
63
15
-36
0
-199
-35
0
4
-34
0
0
-25
0
0
-4
37
-6
1
23
-81
-1
0
17
0
0
4
83
0
-17
0
-1
0
0
56
0
0
0
0
24
0
58
0
23
0
0
0
0
11
42
7
7
0
0
14
8
-5
-14
28
13
0
-11
26
1
-4
-2
0
0
13
-4
2
0
-55
-8
0
5
0
2
4
-18
0
-1
-14
-41
0
0
-8
16
0
0
-20
0
0
0
0
0
0
-59
14
2
0
0
-6
0
-91
0
7
0
0
0
0
21
6
0
25
0
0
-3
-167
13
-22
-12
0
0
7
-60
-3
40
28
6
0
3
3
0
25
9
0
0
-8
0
-2
-9
5
49
0
-5
-45
0
-5
0
0
0
0
-24
0
0
3
-1
0
0
-35
0
-5
0
0
0
0
45
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
1
-18
0
0
15
0
0
0
1
0
-3
-11
0
0
0
19
5
-2
47
0
0
0
9
0
0
9
3
0
0
5
0
2
2
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-2
0
-5
0
3
-22
1
0
-5
-42
0
-2
-17
0
0
0
3
0
8
41
8
0
4
-24
0
0
-2
0
0
2
1
0
0
8
0
0
-1
46
0
0
-1
0
0
0
24
0
-2
0
1
0
2
-49
0
0
0
0
0
0
0
1
0
0
0
0
0
-68
0
0
12
0
0
0
-10
0
0
54
6
0
0
20
0
0
0
0
0
0
-32
0
-14
-4
-2
0
0
-19
0
0
0
0
0
0
-47
0
0
0
-2
0
0
17
0
-1
0
0
0
0
-10
0
0
0
1
0
0
-34
0
0
0
0
0
0
-8
0
-1
0
0
0
0
1
0
0
-1
0
0
0
-4
0
-16
0
1
0
0
9
0
-13
0
0
0
0
-4
0
0
0
-1
0
0
13
0
-2
0
0
0
0
45
0
-1
0
0
0
0
70
0
-2
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
0
16
0
0
18
0
0
0
-2
0
0
20
0
0
0
58
-9
0
44
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
-30
-8
-19
-4
0
0
-1
-55
-1
0
-3
0
0
21
13
0
2
-17
-1
0
-10
72
0
0
-6
0
0
0
31
0
0
15
0
0
0
-1
0
0
9
0
0
9
-8
0
-1
0
0
0
0
-4
0
0
0
0
0
0
13
-5
0
0
0
0
0
-39
-1
0
3
0
0
8
-38
0
0
-4
0
0
1
87
-5
0
-1
0
0
0
-57
0
0
0
0
0
0
-27
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-56
0
0
0
0
0
0
-9
0
0
0
2
0
0
15
0
0
0
0
0
0
4
-3
0
0
0
0
0
30
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
7
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
0
-32
0
0
-1
0
0
17
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
49
0
0
-33
2
0
0
-21
0
0
-13
2
0
0
0
-5
0
54
-8
0
0
-1
0
16
7
-12
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
8
0
0
0
1
0
-60
27
-12
0
0
0
-14
43
0
0
-14
0
0
5
-55
0
-5
-30
0
0
-15
57
0
0
-5
0
0
8
-15
0
0
0
5
0
-2
-54
0
0
-1
0
0
0
-10
0
-72
0
-5
0
1
-31
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
-39
25
0
-9
3
0
0
-8
0
0
0
0
0
23
55
0
-9
-3
20
0
-1
11
0
1
5
0
0
0
15
0
-1
1
-29
0
2
-39
0
0
0
0
4
0
-30
0
0
-4
0
6
0
8
0
0
0
0
-4
0
32
0
2
0
1
0
0
-27
0
1
0
0
0
0
-41
0
0
0
13
0
0
-19
0
7
0
2
0
-1
-13
0
-6
0
15
0
-2
20
0
1
0
6
0
0
-22
0
0
0
0
0
0
-51
0
-6
0
0
0
0
-13
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
15
-2
-5
0
0
-1
0
0
0
0
0
-22
0
0
-7
0
0
2
0
0
0
3
0
0
0
0
0
0
0
-4
15
0
0
-13
0
0
-8
0
0
0
-50
0
15
45
-3
0
0
-8
0
6
-17
32
-1
0
17
0
-8
1
1
0
0
4
0
12
-1
-2
0
0
-3
0
-35
0
0
0
0
0
0
-8
0
0
-13
0
0
0
-19
0
-4
-15
-20
-32
0
0
-1
-41
0
0
-20
0
0
-32
-71
0
-40
8
0
3
8
-14
0
0
-1
0
0
51
12
0
0
-6
0
0
8
-5
0
0
8
0
0
1
-13
0
14
23
0
3
0
-35
0
0
0
0
-4
0
1
6
-3
0
0
0
0
-2
1
0
5
0
0
-9
-18
1
0
-51
0
0
9
19
0
0
71
0
0
5
-13
0
-2
-8
0
0
-8
-19
0
-1
29
0
8
0
-33
0
0
2
0
0
0
53
0
0
9
0
-17
0
31
0
0
0
0
-7
0
-12
0
0
0
0
8
0
4
6
0
0
0
0
-1
36
0
-8
-6
0
0
0
21
0
0
-6
0
0
3
-43
0
32
0
0
0
0
-13
0
0
-3
0
0
0
-60
0
-41
4
0
-5
0
-39
0
0
15
0
0
0
-18
0
-13
7
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
5
0
0
-2
-2
0
0
1
0
37
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
32
0
2
1
27
13
0
5
0
0
0
27
0
0
-135
18
0
0
-59
2
0
16
50
0
0
0
0
0
-6
49
0
0
8
-22
0
4
-6
3
0
3
0
0
-6
1
0
0
0
39
0
0
0
30
0
0
0
0
0
-6
-14
-12
-13
-4
0
-113
24
27
0
7
0
0
-64
61
0
-55
-27
8
0
12
16
0
-4
-22
0
0
-2
-26
0
0
5
10
0
22
-40
0
0
-13
0
0
2
7
0
52
26
8
0
0
-14
0
0
0
0
0
0
-40
-17
-4
0
6
0
0
-30
12
0
-10
0
0
6
-15
4
8
-65
0
0
91
18
-4
1
119
0
0
55
-42
-4
-8
-77
1
0
55
3
0
3
4
0
0
-5
26
0
5
6
27
0
0
-31
0
0
12
0
0
0
10
0
0
0
-3
0
0
10
0
0
0
0
0
0
-86
-1
0
2
0
0
0
69
0
9
5
0
0
9
-49
-2
-25
-2
0
0
-17
-40
0
4
21
0
0
15
46
0
-1
-9
0
0
-5
-49
0
-2
22
0
0
0
-49
0
0
28
1
0
0
6
0
-19
0
0
0
0
-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
-7
0
0
8
0
0
0
-6
0
-29
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-41
-8
-5
0
-84
32
-16
-4
3
0
0
-77
0
5
-12
5
0
0
-63
25
-6
-8
5
1
0
-6
0
27
0
40
0
0
4
-3
16
0
22
-5
-6
-23
0
-75
0
2
0
0
0
-14
-32
0
0
19
0
0
0
0
0
1
-31
-23
8
5
0
-16
30
-7
0
-49
0
0
34
2
0
-40
-86
-36
0
19
-26
0
0
9
0
0
8
19
0
0
-47
15
0
0
-27
0
-1
-3
0
0
0
-46
0
-39
19
-29
0
0
-26
0
0
0
0
4
0
11
3
0
0
0
0
0
33
0
0
-5
-4
0
0
-55
-14
-1
-11
78
1
4
-20
0
-3
-3
0
-3
0
-2
-2
-3
14
-9
0
0
-9
0
0
62
0
-4
0
-13
0
0
33
-14
0
0
7
0
0
-3
0
-11
0
-31
0
0
0
24
10
0
-90
-3
0
0
0
0
0
27
0
0
0
0
0
0
-58
0
-23
-4
0
-1
0
-23
0
2
7
-4
-6
6
59
0
0
10
0
0
0
-31
0
0
11
4
0
0
-42
0
4
1
0
0
0
-38
0
2
1
-1
0
0
17
0
-7
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-1
0
0
0
0
0
14
0
-60
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
19
12
2
0
-108
1
0
0
-23
0
0
-1
4
2
0
22
-3
0
4
-5
0
0
-29
0
-1
84
0
2
0
0
15
21
1
58
0
0
-3
0
0
0
7
0
0
0
-1
-3
0
0
-1
0
0
0
-3
0
-10
30
0
44
16
0
-17
-39
0
0
-2
0
0
7
-49
-2
-36
5
-1
2
-36
-26
-1
-1
-57
1
0
2
9
0
0
5
-3
0
-1
0
0
0
-8
0
0
0
55
0
-8
0
7
0
0
17
0
0
0
0
0
0
13
-5
0
0
3
0
1
61
-24
-4
-1
0
0
8
-17
9
-1
4
3
0
1
10
0
0
-22
0
2
4
83
0
0
14
-13
0
-2
-32
0
0
-1
1
0
0
0
0
-2
-5
-3
0
0
11
0
0
0
0
0
0
-41
0
0
0
5
0
0
-79
0
0
0
0
0
3
60
4
-4
0
0
0
-4
3
-1
-17
-9
0
0
0
-39
-1
-9
-5
6
0
0
-6
0
-36
4
0
0
0
17
0
0
-2
3
0
0
0
0
12
0
-1
0
0
50
0
0
0
0
0
0
-3
0
-2
-3
0
-1
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
19
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-21
-5
-4
-7
0
0
0
10
0
0
-5
0
0
19
-12
0
-8
0
0
0
9
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
24
0
0
6
0
0
0
-25
0
0
0
0
0
0
-11
0
0
4
0
0
0
-26
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
40
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
12
0
0
0
0
0
0
-2
0
0
0
1
5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
5
-1
0
0
0
-1
11
0
0
27
0
0
0
-1
0
0
-6
0
0
-1
40
0
0
0
0
0
0
-1
0
0
8
0
0
0
-3
0
0
0
0
0
0
7
0
-1
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
-51
0
0
0
0
0
0
-12
-1
0
-2
-5
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
-41
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-1
0
0
57
0
0
0
-3
0
0
-1
0
0
0
0
0
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
-8
0
0
17
3
0
-15
0
0
0
0
1
0
0
0
0
0
0
29
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
3
0
0
0
0
2
0
0
0
0
0
0
-26
0
-4
0
0
0
0
-32
-9
0
0
0
0
0
5
0
0
-4
0
0
-2
22
0
0
5
0
0
0
9
0
0
0
0
0
0
-73
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
0
0
0
0
0
18
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-34
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
4
0
0
0
0
-34
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-2
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
-1
0
17
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
-35
-24
7
0
-56
41
0
47
-6
0
0
27
0
0
-57
6
0
6
-18
-65
0
47
1
0
0
-37
0
0
-16
23
0
0
0
-2
0
-12
3
0
0
-1
0
0
0
2
0
0
0
48
0
0
0
47
0
0
0
0
-1
13
-64
-30
-15
-13
0
-92
-32
0
0
-8
2
0
5
40
2
-27
-23
-10
0
-4
77
0
-4
29
0
0
61
-37
-4
0
-11
17
0
0
-98
0
0
-37
0
0
-2
-21
0
-39
-4
-56
0
0
51
0
0
0
0
0
0
43
-19
5
0
11
0
6
-57
-3
6
-23
0
0
54
-33
0
-3
-35
20
0
35
10
0
0
-17
0
0
-2
26
0
0
-10
26
0
-8
-7
0
6
6
0
0
0
21
0
-1
36
-8
0
-21
5
0
0
0
0
0
0
20
0
0
-1
28
0
0
12
13
0
0
0
0
0
16
18
0
6
0
0
0
-60
0
3
16
0
0
16
27
1
-1
11
0
0
-2
1
0
1
-18
0
0
-2
22
1
1
4
-1
0
-1
-60
0
42
-4
0
0
0
1
0
4
-2
-5
0
0
-34
0
-41
0
0
0
0
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
-127
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
52
0
0
53
0
0
0
14
0
0
-2
0
0
0
-2
-2
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-5
0
0
0
0
0
0
3
0
22
0
0
3
0
0
0
39
0
0
-11
0
0
0
26
0
21
-5
0
0
0
-44
0
0
5
0
0
0
-1
0
0
0
0
0
0
-77
0
0
0
0
0
0
-8
0
4
0
0
-3
0
-81
0
0
0
0
0
0
-34
0
0
0
0
0
0
-46
0
0
1
0
0
0
27
2
0
0
1
0
0
-28
0
0
5
0
0
0
-18
0
0
-3
0
0
0
-49
0
0
0
0
0
0
11
0
0
0
0
0
0
46
0
0
0
0
0
0
-9
0
0
0
-3
-3
0
-48
0
0
0
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
5
0
-5
13
0
0
0
0
0
0
-2
0
0
0
7
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
42
0
0
-2
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
-10
8
0
0
11
0
0
-3
6
0
0
25
0
0
-46
-4
5
0
8
6
0
-24
-1
0
0
-1
0
0
0
-8
0
0
4
10
-1
-23
0
0
0
2
0
4
0
0
0
0
0
1
-3
0
0
-25
0
0
0
0
0
17
-3
42
-16
4
0
20
-56
-5
-3
-27
0
0
-6
-6
0
-41
-12
-7
0
-12
72
0
0
19
0
0
40
-31
0
0
0
4
0
2
-27
0
0
-5
0
0
-1
0
0
-71
14
1
0
0
-34
2
0
0
0
1
0
4
8
0
0
-1
0
0
9
8
0
1
-1
0
-4
8
0
13
-38
44
0
23
37
12
2
33
0
0
7
-61
0
-16
-15
-3
0
-1
-52
0
8
14
0
0
0
106
0
5
-7
-3
0
0
0
0
0
0
0
0
0
85
0
0
0
0
3
0
0
0
0
0
0
0
0
30
5
0
1
0
0
0
-21
0
3
0
0
0
0
-37
-4
4
-8
0
0
0
-15
0
-20
-4
0
0
0
-34
0
0
0
-4
0
0
35
0
-12
-1
-1
0
0
0
0
0
0
-6
0
0
-39
0
0
5
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
-13
0
0
0
0
0
-16
-5
4
0
0
-1
1
-2
4
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
-1
0
0
0
0
0
0
0
0
29
-1
7
0
0
0
91
-30
0
0
20
0
0
-45
3
0
4
64
7
0
37
41
0
0
-6
0
0
-5
-3
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
3
0
0
0
0
-16
0
0
0
0
0
0
-3
1
0
0
0
0
0
-59
0
0
0
0
0
-1
61
0
0
0
0
0
0
75
0
0
-3
0
0
0
-8
0
0
16
7
0
1
56
0
0
-2
0
0
0
10
0
-2
0
0
0
0
-8
0
0
6
0
0
0
10
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-15
0
-3
-1
0
0
-1
-8
0
0
0
-3
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
1
0
0
0
0
-3
0
-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
-5
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
-17
0
-1
0
0
0
0
-21
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-37
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
1
0
0
0
-23
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-120
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-28
0
0
-13
0
0
0
54
0
0
-6
19
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
-2
0
-3
0
0
0
-9
0
0
0
3
0
0
0
0
0
11
8
0
-1
0
0
-2
31
0
0
-2
0
0
-22
-40
0
0
6
0
0
18
-18
0
0
0
0
0
0
82
0
0
0
0
0
-1
-46
0
0
0
0
0
0
6
0
-40
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-57
-1
0
0
0
0
0
-41
0
-8
-8
0
0
4
-46
0
0
0
0
0
0
-36
0
0
0
1
0
0
-60
0
0
0
0
0
0
33
0
0
0
0
0
0
-49
0
0
0
0
1
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
1
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
-16
0
0
0
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-7
0
0
12
0
0
0
-19
0
0
-8
-3
0
0
0
0
29
-2
0
0
0
0
0
-3
0
0
0
0
4
0
0
2
-5
0
0
-1
0
-1
0
-7
0
0
0
0
-5
0
0
41
0
0
0
31
0
42
3
1
-5
0
0
15
-35
0
0
-11
0
0
-20
-25
0
-4
10
0
0
35
-57
0
0
0
0
0
0
1
0
0
-1
0
0
5
-58
0
0
14
0
0
0
17
0
8
3
0
0
0
6
0
0
0
0
0
0
-40
2
0
0
0
0
0
-37
-1
0
2
0
0
-5
32
0
0
9
0
0
5
-73
0
0
-1
0
0
0
-6
0
0
14
0
0
-3
-55
0
0
-12
0
0
0
-11
0
0
24
-1
2
0
-73
0
0
1
0
0
0
20
0
0
0
0
-1
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
7
0
0
0
-1
72
0
3
0
0
0
2
-22
0
0
-1
0
0
0
-5
0
0
0
0
0
0
4
0
-3
0
0
0
0
16
0
0
2
0
2
0
9
0
-10
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-26
-63
0
20
2
0
0
61
0
0
-64
-11
0
0
20
19
0
57
-8
0
-7
-2
0
0
-5
3
0
0
4
5
0
0
-1
0
0
0
0
0
3
0
0
0
0
4
0
0
0
65
0
0
0
0
0
19
-1
59
2
0
0
64
17
2
0
-29
0
0
8
40
0
-75
-32
-17
0
-37
-12
0
-5
-28
0
0
13
-6
0
0
-43
-25
0
31
-3
0
0
47
0
0
0
12
0
-18
3
8
0
0
8
0
0
1
0
0
0
-37
23
-1
0
0
0
8
-3
0
0
6
0
0
13
11
-2
4
-9
9
0
-11
-46
0
0
69
0
0
-24
10
0
-5
44
24
0
15
-21
0
0
-5
0
0
2
-11
0
5
1
-29
0
0
-149
0
0
2
1
0
14
11
0
0
0
5
0
0
-24
0
0
0
0
0
0
27
2
0
0
0
0
-1
69
-6
48
4
0
0
0
21
0
0
-2
-5
0
1
-4
0
9
0
0
0
10
-15
0
14
0
3
0
-2
139
0
-16
-12
0
0
0
41
0
-1
2
0
0
0
-18
0
21
0
0
0
0
62
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-43
0
-1
0
0
0
0
-16
0
0
0
0
0
0
-2
0
12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
6
0
0
0
0
0
8
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
1
0
0
0
21
0
0
2
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
4
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
9
-17
0
0
5
0
0
0
-5
0
1
8
0
0
0
-2
-1
0
7
2
0
0
0
0
2
-2
1
0
0
1
0
-6
5
0
0
0
-4
0
0
-1
0
0
0
0
0
-30
0
0
-1
0
0
0
0
0
-48
3
-6
0
2
0
16
-35
-2
0
33
0
0
-1
6
0
7
4
-4
0
-3
52
0
0
-4
0
0
-2
8
0
0
-3
0
0
0
4
0
0
4
0
0
0
-6
0
-38
7
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-74
0
0
-12
0
0
-19
30
0
0
-4
2
0
22
53
0
0
-2
0
0
0
-46
0
0
-2
-4
0
0
-11
0
0
-3
0
0
2
50
0
0
2
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-1
4
0
0
0
0
0
26
0
-7
0
0
0
0
-17
0
5
-1
-3
0
0
2
0
-4
0
0
0
0
-7
0
1
1
-3
0
0
24
0
-2
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
1
0
0
1
0
0
0
0
0
0
-2
2
0
0
0
2
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
1
0
0
0
-2
0
-6
0
-14
0
0
0
6
-44
0
0
0
0
0
1
2
0
5
5
0
0
13
8
0
0
0
0
0
-2
2
0
0
5
0
0
0
2
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
-7
0
0
0
-41
0
0
0
0
0
0
0
0
0
-3
0
0
0
42
0
0
-2
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-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
10
0
-4
9
8
0
0
0
0
0
0
0
29
-14
12
-95
3
-18
-20
-11
-23
-37
0
-13
-5
-74
-18
-33
-44
29
-46
-27
-26
-9
8
1
13
62
10
23
-95
16
13
-45
8
-33
66
-88
-112
-5
-6
-50
-4
-29
56
21
-8
-1
57
37
-6
-3
-2
-34
-1
-8
-25
-53
-63
-16
32
37
8
29
-2
53
-35
-69
-7
-10
-64
5
-33
-63
-71
-9
17
-16
-52
-1
-3
-4
-16
-34
44
-25
-34
1
-6
18
23
-9
59
8
1
0
-1
24
-16
-52
-37
-4
2
17
-45
23
-13
30
-12
50
1
-35
-9
9
0
19
-34
-1
-2
-36
-16
-11
-3
-3
-24
-1
19
-10
-39
2
93
-56
-42
-1
21
17
-31
44
5
-3
-19
-80
-3
-8
25
-61
-12
-62
-21
-41
-11
3
-42
-13
-53
4
-23
-14
1
-71
-7
32
-15
-4
5
-18
-20
8
-11
-6
2
-10
9
3
-118
-23
3
0
-3
13
-46
-9
58
-27
-2
27
10
-74
-2
7
-2
-25
25
47
37
-21
44
-13
-40
9
-28
33
-18
-26
-85
-69
10
10
43
-55
18
-69
-58
4
7
44
8
-9
26
12
10
-1
17
10
30
-3
-30
10
-3
-38
-2
9
-5
12
3
-12
-52
67
5
-91
0
17
-96
-6
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
-22
5
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
0
0
0
0
0
3
-9
0
0
0
0
0
0
-5
0
0
-4
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-50
20
0
27
-65
103
0
26
-6
0
0
41
1
0
-99
-20
-7
0
-30
-15
3
-41
-6
15
0
10
0
0
96
-7
0
0
-15
-41
0
-58
-5
0
7
-2
0
0
-1
0
0
0
0
-2
4
0
0
-34
0
0
4
0
20
-55
-17
-36
28
-7
0
-97
-9
0
-7
-36
0
0
66
99
-3
43
8
51
0
0
-16
1
-2
-41
0
0
-38
9
4
0
-90
11
0
27
-9
0
3
-58
0
0
-6
-15
0
0
-4
-17
0
-1
-63
0
0
0
0
0
0
-6
-34
-4
0
-5
0
-5
-37
-40
-2
30
0
0
-12
31
1
3
19
27
0
-10
23
2
-1
1
0
0
1
-9
-2
1
-3
-12
0
-68
-50
-3
22
-16
0
0
11
-15
2
-3
-51
-31
0
9
32
0
0
50
0
0
-6
-5
0
-25
-7
47
0
0
-1
15
-1
0
6
0
1
-28
-9
0
0
-1
0
-6
9
-4
-57
60
0
0
6
20
0
-6
-8
-9
0
-30
1
0
21
-17
0
0
-3
-2
0
8
34
-2
0
25
-10
0
-48
-59
2
0
2
-57
3
9
15
15
0
0
-43
0
-46
0
0
0
0
-19
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-2
0
0
-3
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-45
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-47
32
28
16
-14
-25
-5
22
54
45
5
-38
-4
-9
-11
-61
15
22
-17
19
3
-15
65
26
10
-122
-8
-48
-86
4
-32
-18
16
-25
38
-8
8
-39
-9
-10
9
15
-15
-20
-43
-20
-6
-8
-41
17
-10
-30
-41
-42
-6
-26
-5
-13
-40
37
-51
-47
-20
-1
-15
37
-8
50
22
12
-7
-63
12
16
-2
-38
5
-7
-56
-34
28
5
-17
4
5
-15
56
-4
19
-36
14
-4
-4
-18
-15
-88
-43
-66
19
-29
25
-44
0
27
-2
1
-31
-21
32
-68
32
-38
9
0
43
-41
10
-54
12
13
-30
-55
-17
-91
-154
8
0
-66
-39
-15
-12
-81
35
-6
-48
-21
-12
-47
-20
-19
-30
-14
-26
1
-31
-80
40
2
-17
22
42
0
-40
13
-16
-58
-26
22
9
-14
-46
13
-4
-5
28
4
68
11
-31
13
-45
-13
34
4
-10
-15
8
-31
-12
-12
5
-70
6
13
-46
-65
9
-44
-19
-1
-4
-12
24
75
-52
-33
-21
4
-35
17
-23
-99
22
-33
19
-48
-6
-58
21
55
7
35
1
-4
32
17
6
-26
-4
39
40
64
-56
-88
19
-51
48
11
34
70
-15
-5
-60
-30
-68
-26
5
-40
11
2
54
-79
29
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-42
16
0
0
0
0
0
-11
0
0
0
0
0
22
-25
0
0
0
0
0
3
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-13
0
0
-8
0
0
0
21
0
0
-10
0
0
0
-24
54
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
10
0
30
0
0
0
-5
39
0
-6
-4
0
0
-10
48
0
13
-24
0
0
-14
16
0
0
-6
0
0
0
-1
0
0
-4
-12
0
0
1
0
0
1
0
0
0
1
0
-5
1
0
0
0
-10
0
0
0
0
0
0
26
-5
12
0
0
0
0
22
1
0
0
0
0
2
-89
12
0
-1
-18
0
3
61
0
0
0
0
0
0
-56
0
0
-8
0
0
0
-91
0
0
-1
0
0
0
3
0
0
-5
-10
0
0
-85
0
0
0
0
0
0
-16
0
-4
0
0
0
0
-6
0
0
0
0
0
0
24
0
-3
0
0
0
-8
10
0
-5
0
0
0
0
-28
0
0
-1
0
0
0
-23
0
0
0
0
0
0
-6
0
3
0
0
0
2
6
0
-5
0
0
0
0
-7
0
0
0
2
0
0
8
0
12
0
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-4
40
-8
24
8
16
50
-44
41
46
-8
18
-3
-121
-25
-1
-13
49
8
-44
-49
-114
0
-14
9
45
-60
-134
12
0
-1
23
0
-89
-1
33
-12
0
0
8
29
0
0
-13
0
0
0
36
0
18
-3
67
10
-11
0
63
17
20
69
-52
-4
-3
-43
37
1
48
-32
30
10
-32
19
23
2
29
1
16
37
-19
0
-12
-27
37
20
-2
-45
0
10
-118
5
-14
-55
-21
-2
42
-9
-24
-34
12
30
0
0
41
0
-8
0
66
-52
23
0
7
-17
-1
44
-1
8
-60
0
0
-8
47
-51
66
40
77
10
-16
-29
50
-11
2
-5
-8
40
-4
-27
-59
55
11
1
-23
-45
0
-10
34
-12
38
-4
-54
0
-25
28
159
30
8
-18
0
-15
37
-1
-10
8
10
18
14
-29
-7
-18
0
-15
7
0
6
-3
-5
0
3
-67
24
21
2
-3
2
61
-6
-90
-18
2
-2
-24
21
40
-31
-54
-24
13
12
-45
8
-9
-79
-18
0
-31
47
14
70
9
16
0
0
-15
8
-12
23
-1
16
2
34
4
15
-27
30
12
0
-13
0
101
1
0
9
0
-29
2
16
-1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
9
0
4
4
-4
8
-7
8
0
-3
43
62
24
-116
-45
0
0
54
3
23
55
0
0
1
3
0
37
-7
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
0
42
0
0
0
7
1
48
-22
14
34
0
0
96
0
6
-9
-75
-2
1
34
59
1
-27
1
7
-7
-15
18
-9
0
-34
0
0
8
-69
0
-3
3
5
0
2
52
0
0
5
0
1
0
-4
0
-39
0
-2
0
0
51
0
0
0
0
-1
0
-54
-29
-1
0
0
0
-5
41
22
15
53
0
0
-66
0
1
8
-25
-18
0
-61
-84
13
1
23
0
0
-22
-7
2
0
-8
6
0
-6
-5
3
2
0
0
0
0
-17
0
-1
73
39
0
8
-21
0
3
7
0
7
0
-85
-2
0
0
22
3
0
-2
1
0
0
0
-4
0
-39
-4
0
-1
0
0
0
0
0
59
24
10
0
20
60
-2
3
9
3
0
1
-34
0
-46
-80
-1
0
0
-65
0
-17
42
1
0
-5
14
-1
-54
-13
1
0
0
-23
0
-1
8
-9
0
0
-4
0
-44
5
0
0
0
-38
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-40
0
0
17
9
0
12
51
0
0
15
-8
0
0
-9
0
0
0
6
0
0
0
0
23
0
0
0
0
0
0
7
0
17
0
0
0
0
-18
0
0
6
0
0
0
0
-1
-19
23
23
27
-5
0
14
51
-1
0
-6
0
0
9
-2
0
-1
-43
13
0
4
-62
3
0
9
0
0
-9
-24
0
0
17
0
0
1
-83
0
0
0
0
0
0
3
0
-13
0
6
0
0
-50
0
0
0
0
7
0
18
-6
0
0
0
0
-3
-26
-7
0
-7
0
0
22
-24
0
0
-44
40
0
0
6
0
0
3
0
0
10
-50
0
0
2
1
0
1
3
0
0
-6
0
0
0
-46
0
0
2
1
0
0
40
0
0
-1
-1
0
0
-10
0
0
0
2
0
0
-32
0
0
0
0
0
0
-33
0
0
-2
0
0
0
24
0
-19
0
0
0
-2
-50
0
-2
0
2
0
0
112
-2
0
1
0
0
3
27
0
-4
0
5
0
5
44
0
-25
2
0
0
0
51
0
-10
0
0
0
0
-41
0
-2
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
0
25
0
0
68
0
0
0
23
4
-1
-5
48
8
0
8
0
0
17
-8
0
0
0
0
0
13
-2
0
0
0
0
0
0
-1
0
0
0
7
-32
0
0
88
0
0
0
13
0
58
-4
-5
-7
8
0
73
50
-2
0
-5
0
0
9
-14
0
12
43
1
0
58
-10
0
0
18
0
0
4
53
0
0
12
0
0
-20
35
0
0
14
0
0
0
19
0
62
0
2
0
0
-47
0
0
0
0
-5
0
-69
13
-1
0
-1
0
0
-9
16
-3
-23
0
0
1
-25
9
6
39
25
0
-7
-4
0
7
4
0
17
0
8
0
6
25
-4
0
-4
19
-2
2
33
0
0
0
-33
0
-8
-2
10
0
0
32
0
0
-1
4
0
0
-82
0
0
2
0
0
0
-48
0
0
0
0
0
0
-1
2
0
0
1
0
0
34
-3
72
-5
0
0
0
-101
0
1
12
-4
0
-5
27
0
-2
0
0
0
-2
-47
0
0
0
-4
0
-1
99
0
-22
-7
0
0
0
20
0
0
13
-25
0
0
27
0
9
0
0
0
0
-25
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-18
4
29
17
16
-33
-55
17
17
-25
33
0
49
-99
-70
-25
5
34
-9
68
-9
7
1
-2
38
-31
-81
-67
-28
-3
-3
-27
0
-61
-21
-13
-2
-2
-2
-14
-23
0
0
9
0
0
12
14
-9
55
70
13
43
42
3
79
92
-28
12
-19
-9
9
-4
29
7
21
-57
-18
59
-7
-18
11
33
16
-16
30
-80
22
1
-16
8
-45
-21
-7
6
3
-9
36
17
7
-32
-50
19
-13
42
-59
16
15
7
24
8
-12
1
-42
0
14
8
-56
0
10
-4
-61
44
25
4
-16
26
-1
33
48
-1
8
47
-26
32
30
15
26
-32
-38
23
-1
-10
25
16
-2
46
-71
-75
-5
36
58
23
4
-54
9
0
-10
-1
-46
-40
-5
-3
-25
-13
6
-5
-94
42
-41
37
-4
0
-4
5
-33
1
0
-12
26
-6
0
-5
38
0
-49
19
-38
-24
5
2
8
15
-42
-41
-14
-5
-5
-13
-31
-11
-41
-4
-41
-48
-57
23
16
-14
-24
-32
33
122
-27
-42
-48
-16
-27
11
-48
-12
24
22
-65
48
24
-13
-28
-2
-67
-90
5
-45
-4
-19
12
5
-7
-1
-30
0
2
-11
-19
0
40
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
5
0
19
-10
-13
-3
0
10
0
7
4
-12
3
0
33
0
-38
-7
-42
0
0
-11
0
13
0
0
0
0
0
0
129
0
0
0
0
0
0
31
0
0
-47
0
0
0
-55
0
69
117
-11
55
0
0
94
5
0
0
-9
0
0
-108
59
0
-19
5
0
-10
6
21
0
1
-108
0
-6
-20
-4
0
0
-83
0
0
5
-16
0
0
-52
0
5
0
-11
0
2
-1
0
-7
0
36
0
-2
0
0
64
0
-13
-8
7
0
0
0
0
12
6
0
-20
0
0
29
0
-2
10
2
0
0
-19
-3
0
0
-42
0
-6
-28
-50
0
-1
-26
0
-9
-11
-14
0
-5
-20
0
6
-3
-24
0
0
-15
-5
-4
-2
-23
0
0
-6
0
-23
0
-17
0
-5
-8
0
34
0
7
0
0
4
0
0
0
-106
-3
-7
8
0
0
-1
-33
0
-10
-1
0
0
6
12
0
-4
-11
0
0
5
-36
-2
5
68
0
0
7
-50
0
-2
-98
0
0
6
8
0
-30
25
0
-6
0
-50
0
0
-7
0
-50
0
-24
0
34
-6
0
-1
0
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
74
0
0
19
0
1
0
-6
0
0
36
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
9
23
-18
18
0
0
82
-31
-3
10
-43
0
0
49
37
-1
-33
20
-5
0
34
-33
0
0
-39
0
0
-8
-35
0
0
0
3
0
0
39
0
0
-2
0
0
0
-56
0
-38
0
-6
0
0
-54
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
0
8
0
0
-41
56
0
-1
-2
1
0
13
-70
0
0
10
0
0
-7
6
13
5
28
0
0
18
-35
0
0
10
0
0
-9
-56
0
1
-21
-2
0
0
-52
0
0
2
1
0
0
-48
0
0
0
0
0
0
-59
0
0
0
0
0
5
85
0
2
0
0
0
0
-39
3
8
-10
0
0
0
119
0
0
-14
0
0
-1
25
0
-5
1
0
0
0
-10
0
7
-3
0
0
0
38
0
-4
0
3
0
4
-39
0
1
-2
0
0
0
54
0
-2
0
0
0
0
-24
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
46
4
-16
-19
24
9
-44
-5
-9
-15
46
-38
-21
54
4
-37
-41
-35
-69
-20
5
1
-2
21
-33
-4
21
21
-14
21
13
37
44
-2
0
-26
-4
-8
-21
30
-13
11
63
25
12
44
-23
-1
-31
-1
28
35
-2
16
-13
1
-30
9
12
-9
21
8
15
-14
-85
3
-39
-38
-37
-44
13
30
105
10
28
-56
12
-3
4
-8
11
14
4
27
-12
-22
5
-5
0
-28
-63
-15
0
-2
5
-8
7
-8
15
11
-15
5
-56
-21
-11
16
-23
3
63
-17
3
45
23
52
-62
14
-20
11
23
13
-5
17
33
5
20
-23
6
6
35
-7
59
17
-7
-9
23
6
-13
-64
43
-6
-11
-36
-82
19
45
51
-31
9
19
-56
-46
-69
8
-5
3
-15
70
96
68
18
0
-8
-31
17
-10
-3
-22
-74
18
38
-35
19
-73
-6
-29
25
-61
67
-5
-3
-42
-17
33
-13
-26
59
-113
47
47
31
-11
29
42
16
-86
32
-5
-49
-35
19
-57
59
-6
-14
19
-10
7
17
-78
-11
18
16
15
23
37
1
-8
6
30
-13
23
-16
-48
6
-8
10
-8
-15
-81
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
0
0
-39
2
2
-6
-6
0
8
24
0
5
67
14
0
0
9
0
0
6
3
0
0
2
0
-2
0
-3
0
0
0
0
-12
0
0
40
0
0
0
6
0
5
-17
33
57
7
0
-24
-21
0
0
-47
0
0
87
0
-4
-22
26
0
0
24
-30
-2
0
-15
0
0
-5
-107
0
0
-8
-1
0
6
62
0
-1
12
0
0
0
55
0
76
1
-6
-3
7
27
0
0
0
0
-15
-1
3
-7
0
0
0
0
-8
49
0
0
-13
0
0
17
-23
7
-3
51
21
0
23
0
-3
0
18
0
0
5
10
0
5
18
2
0
0
67
0
0
7
0
0
0
8
0
0
-15
-6
4
-1
11
0
0
-3
0
0
5
1
0
0
0
0
0
0
24
0
0
0
5
0
0
53
0
-3
6
0
0
0
73
0
-3
0
0
0
4
0
0
-1
3
20
0
-3
-26
-1
9
5
2
0
-2
42
0
0
-2
10
0
-2
-2
0
-41
2
0
0
0
82
0
-1
-7
-3
0
0
-70
0
-28
0
0
1
0
-29
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
16
-3
0
1
-4
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
55
1
2
-9
0
0
-8
-76
0
0
-51
0
0
-16
-5
0
43
19
0
0
13
-41
0
0
16
0
0
8
-18
0
0
-3
0
0
-3
40
0
0
0
0
0
0
13
0
22
0
0
0
0
-12
0
0
0
0
0
0
40
0
0
0
0
0
0
25
1
0
-3
0
0
0
108
0
0
-7
0
0
0
97
0
0
-2
0
0
0
9
0
0
0
0
0
0
49
0
0
0
0
0
-5
-34
0
0
1
-1
0
0
-52
0
0
0
0
0
0
-21
0
0
0
0
0
0
-35
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
2
0
0
0
0
-48
0
-8
0
0
0
-1
3
0
5
0
0
0
0
-5
0
0
0
0
0
0
48
0
3
0
0
0
0
-7
0
0
0
0
0
0
19
0
-3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
76
0
0
1
0
0
12
6
0
0
7
0
0
77
-9
0
-1
2
0
0
0
-4
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
29
0
-1
0
0
0
0
11
0
0
0
0
0
0
11
1
0
0
0
0
0
37
8
0
0
0
0
-2
-70
0
0
12
0
0
0
-83
0
0
-4
0
0
-7
57
0
0
0
0
0
0
-7
0
0
-3
0
0
0
9
0
0
-2
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
59
0
0
0
0
0
0
-28
0
0
0
0
0
0
54
0
-2
0
0
0
0
-11
0
0
-1
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
2
0
0
6
0
0
-1
0
0
0
1
0
0
0
-4
0
0
-12
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
62
22
55
66
-70
47
-21
-44
-2
23
-12
0
16
18
18
-2
10
-45
-6
-24
-21
-2
0
-3
-26
-32
-55
-32
-37
0
0
-29
2
-26
0
-2
38
0
-1
4
-18
-29
37
11
3
-15
54
-5
-99
-32
-106
49
-23
0
79
13
-21
-5
-24
8
16
9
1
-38
95
-9
-38
-33
-24
47
6
-8
23
-2
-55
-51
-46
-47
5
-8
-1
-6
3
-3
-10
0
-5
-94
-65
-1
-1
-10
0
3
15
-2
-45
0
-3
44
-24
0
-65
4
-40
34
11
14
-20
12
-12
-62
-1
-22
-106
88
18
-10
20
8
-31
89
53
14
55
-8
-17
28
17
24
88
27
48
-41
-1
-49
-65
-48
54
135
-57
10
-3
41
-42
6
-16
33
-5
-1
6
8
-60
-7
-20
0
8
-8
-40
63
0
-22
17
0
0
8
1
-13
18
44
-20
-8
-3
0
8
-59
-47
48
49
0
13
-11
30
-8
92
-12
-44
15
13
-24
-51
30
33
-5
4
-47
-48
-8
38
-71
-87
-28
-31
-19
-8
-31
61
-3
-5
-23
30
0
8
-90
45
55
-9
-1
0
-1
9
-4
57
0
44
-39
-13
-3
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
-8
0
0
-5
6
0
0
4
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-2
0
0
0
0
0
49
0
17
-5
0
0
24
-55
0
0
1
0
0
-7
-6
0
49
18
0
0
6
0
0
0
5
0
0
1
-12
0
0
-17
0
0
0
79
0
0
0
0
0
0
-29
0
8
6
0
0
-2
15
0
0
0
0
0
0
38
-1
0
0
0
0
0
-31
1
0
0
0
0
-3
32
0
3
6
0
0
-13
7
0
0
7
0
0
5
-7
0
0
2
0
0
16
17
0
0
0
0
0
-3
1
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
4
0
37
0
0
0
0
0
0
23
8
0
0
0
0
0
7
0
1
0
0
0
0
47
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
16
-8
0
0
14
0
0
0
0
0
4
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-3
0
0
-48
0
0
0
5
0
0
8
0
0
0
4
0
0
2
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
-4
38
-19
-4
-17
-8
0
-22
50
0
0
-45
0
0
38
-15
0
53
-25
0
0
24
-81
0
0
-42
0
0
-9
63
0
0
28
-1
0
26
-10
0
0
0
0
0
-8
-28
0
-16
33
36
0
-2
-60
0
0
0
0
0
0
-38
38
-6
0
0
0
0
8
18
0
-27
0
0
-6
-38
0
0
25
50
0
105
-13
-3
0
-43
0
0
-6
-16
0
0
13
0
0
11
-44
0
0
-7
0
0
8
15
0
-5
-39
-22
0
0
-24
0
0
-3
1
0
0
9
3
0
-13
2
0
0
-48
0
0
0
0
0
0
48
4
0
0
1
0
-3
1
0
-40
7
0
0
-13
-24
0
0
4
0
0
-1
-51
0
29
-13
0
0
16
7
0
0
5
5
0
0
-29
0
59
-24
0
0
0
-28
0
-1
18
-4
0
0
8
0
0
-2
0
0
0
-41
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
52
-11
-40
16
33
-2
-25
2
13
-14
-7
-50
-39
-42
-1
-3
-5
-3
42
0
59
4
0
13
16
-53
-1
0
59
0
-1
-7
26
37
5
60
14
-39
26
-1
-5
56
8
-51
-22
9
3
-18
-57
29
-35
-21
-18
5
-18
39
-72
-2
12
52
6
-13
45
2
21
-2
24
-12
61
-58
2
-2
-16
6
-40
-3
-22
0
-11
-16
-10
10
-3
-13
2
0
-7
3
-55
0
37
30
13
-3
5
2
36
26
12
5
-19
-1
5
17
44
-61
-4
42
45
5
2
-2
40
-46
21
-31
11
-12
4
-33
-53
-47
30
-10
-49
8
-2
27
44
-14
66
8
8
-2
-17
22
-1
-32
9
-4
10
6
8
0
44
-1
-23
0
2
37
-11
12
0
9
-10
-6
-1
-3
1
0
-62
-52
-73
-37
-2
0
-3
5
-23
-30
43
4
8
-21
38
5
48
-7
67
-3
66
-11
4
-36
-39
6
-6
1
10
-1
17
-3
13
-15
-6
-6
2
-27
-71
-7
16
-2
-54
-4
-6
89
-65
57
0
-19
-1
-25
12
0
-11
0
13
-1
-9
-1
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-3
0
0
0
13
6
-4
0
0
13
-5
-3
1
36
0
0
-1
0
-4
0
-25
0
0
0
0
-75
0
0
84
0
0
0
-55
-17
-8
-125
-37
-58
4
0
-26
33
-5
-9
-65
0
0
31
-31
-1
44
-39
30
0
-28
0
6
-1
-53
-14
0
-13
-81
6
-8
6
0
0
-13
1
0
0
-29
0
7
-5
-68
0
-46
0
4
3
0
-7
0
0
0
-1
0
0
4
-37
37
0
4
0
-1
36
-22
0
31
0
0
-33
-41
10
41
14
-1
0
-15
67
0
6
-3
0
0
-69
0
0
24
-74
-17
0
-49
29
-1
2
-29
-1
0
1
-25
0
-12
-12
-47
17
1
-23
0
8
13
3
-1
0
-29
0
2
-22
0
24
0
-29
0
0
0
0
0
0
-52
13
6
0
0
0
9
2
3
69
16
2
0
0
17
-3
-5
-18
0
0
24
0
-2
109
-1
6
0
32
-12
0
-13
9
-27
0
1
0
-1
20
-19
2
0
0
-13
0
7
5
-1
-6
0
-35
0
46
0
0
8
0
23
-4
-2
-4
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
98
13
-1
0
-6
0
-8
-27
0
0
4
0
0
-15
18
0
-1
-55
2
0
6
8
0
0
-3
0
0
1
-11
0
0
0
0
0
0
67
0
0
0
0
0
0
-8
0
7
0
0
0
0
-8
0
0
0
0
0
0
-43
0
0
0
0
0
-1
-86
0
0
0
0
0
0
6
0
3
0
-4
0
0
21
0
0
0
0
0
23
-1
0
0
-12
0
0
0
-26
0
0
-5
0
0
0
-8
0
0
4
-1
0
0
-55
0
0
0
7
0
0
34
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
16
0
0
0
0
-6
0
-2
0
0
0
0
-7
0
7
-5
0
0
0
1
0
0
0
0
0
0
18
0
0
-3
0
0
0
-5
0
0
0
0
0
0
44
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
13
0
0
0
0
0
-47
27
-23
30
0
0
8
-24
0
0
24
0
0
2
1
0
-8
13
0
0
-29
60
0
0
8
0
0
0
-20
0
0
-2
2
1
0
-22
0
0
0
0
0
2
34
0
-8
-1
0
0
0
57
0
0
0
0
0
0
-54
2
0
0
0
0
0
32
5
0
0
0
0
1
-37
0
0
9
-9
0
0
-62
0
8
1
0
0
0
-63
0
0
-8
1
0
0
-29
0
0
1
0
0
0
6
0
0
5
29
0
0
-2
0
0
0
0
0
0
28
0
0
0
5
0
0
73
0
0
0
0
0
0
73
0
0
0
0
0
0
8
0
-8
0
0
0
0
52
0
0
1
0
0
-1
7
0
2
-8
0
0
6
-60
0
0
0
0
0
-2
-18
0
0
0
0
0
0
10
0
0
1
0
0
0
27
0
-14
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-39
-1
0
15
2
72
48
-5
-9
1
-13
1
-71
55
-2
0
-4
-5
0
-14
0
48
0
0
0
14
-25
0
0
-62
0
0
-1
-10
-27
-31
-60
-19
3
3
1
88
44
22
-2
4
0
-19
-55
31
-14
-8
-5
26
8
26
-1
-8
-5
45
-3
-1
-27
1
0
7
1
-49
5
-66
-28
0
16
-12
0
10
54
-61
-1
-4
3
-54
-55
-8
-47
0
0
1
0
-5
0
54
-16
73
1
30
-5
9
7
18
-3
-8
0
0
-36
32
-19
-39
52
-13
-3
-57
-31
-6
27
-47
8
0
-69
-27
-3
-6
54
21
1
45
-52
0
0
-9
5
-10
5
4
0
-3
12
30
19
-4
4
3
5
-22
1
18
13
13
0
1
-2
-24
-34
0
31
9
0
5
-6
14
0
2
12
4
10
-1
0
-8
27
8
-9
-32
3
0
-8
-65
-8
-18
24
14
-1
31
-4
0
3
-27
1
7
8
-49
0
-9
-13
79
8
-25
-12
2
35
-14
-24
-1
1
1
5
-5
1
19
-10
5
11
0
35
-15
0
25
0
67
-1
17
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
10
0
0
13
0
-4
-22
-12
0
0
23
0
-13
-15
24
0
0
-4
0
-1
1
-22
2
0
2
0
16
0
0
28
0
0
0
33
8
29
-12
47
-32
0
0
19
-4
0
-1
-22
0
0
-57
-54
0
16
32
0
0
4
11
0
0
-32
0
-8
33
-54
0
0
5
0
-12
16
-37
0
0
66
0
-2
2
-32
0
-36
-6
3
-67
0
32
0
2
-1
0
-9
0
4
-15
11
0
0
-1
0
9
-14
0
37
0
0
-51
-16
-3
-10
12
0
-5
4
2
0
15
-42
1
0
9
17
0
10
63
0
4
39
-3
0
15
70
-13
62
-26
1
0
-7
41
0
4
-19
-8
0
-2
77
0
-4
0
42
0
-18
-72
0
30
0
0
-7
0
-1
0
3
0
-27
2
13
-7
0
0
27
-19
3
-80
-46
0
-8
50
46
-15
7
25
0
0
-66
-17
0
-17
-33
1
-8
3
-28
0
-10
-6
2
-2
-31
8
0
-34
-59
0
0
0
5
0
5
1
0
-26
0
16
0
25
1
0
-8
0
19
-65
-5
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
60
0
0
5
0
0
0
-10
0
0
-2
-3
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
21
0
0
0
0
-3
69
-8
65
23
4
0
-13
-28
0
-3
-12
0
0
3
30
0
-14
36
-7
0
54
-70
0
0
-59
0
0
40
5
-3
2
-45
3
0
-2
-23
0
0
41
0
0
-3
8
0
-48
9
-1
0
0
-26
0
0
0
0
0
0
-4
29
9
0
0
0
2
15
22
0
0
0
0
-3
12
1
7
44
-12
0
-24
3
0
3
-5
0
0
16
5
0
0
-2
-54
0
-33
-1
0
17
17
0
0
0
-32
0
0
-60
6
0
0
0
0
0
-3
-5
0
0
-38
0
0
18
-5
0
0
-32
0
0
0
0
0
0
-47
-2
-3
-3
0
0
-13
5
0
23
4
0
0
8
-59
0
0
-5
0
0
31
-7
-2
14
-35
0
0
2
3
0
5
49
-3
0
-3
69
0
-20
22
0
0
0
1
0
0
63
20
0
0
-49
0
0
2
0
0
0
94
0
-7
0
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
0
0
0
0
0
0
42
24
12
-1
-68
109
-48
8
-59
0
-2
-48
0
-11
0
-36
0
0
1
-10
8
0
0
81
0
0
0
29
-2
-9
-10
29
-8
-19
-4
81
0
-5
-38
0
0
0
-9
22
-7
21
-50
-21
8
-84
-22
23
4
13
6
3
46
20
0
-8
-19
29
0
-32
17
1
-2
15
18
-6
0
13
-1
8
-35
24
-3
0
-51
3
0
8
0
20
0
6
30
26
0
45
0
4
-20
-29
23
-96
17
0
39
6
-41
5
39
-23
7
-39
24
7
18
-52
-1
19
-3
8
54
-19
-64
-6
-6
6
-8
33
-8
33
-3
11
29
19
2
22
-29
-34
55
0
11
2
-9
-68
0
-6
0
-3
0
2
8
-11
-54
0
-9
-8
0
3
-9
-11
-10
-54
20
8
60
1
0
4
-54
25
-12
-7
7
0
7
66
2
25
134
7
0
-1
46
-4
5
46
13
3
24
-21
4
18
43
-13
2
41
30
3
13
-31
3
34
-8
-6
0
7
-3
31
-2
0
-2
8
27
1
-4
-12
0
21
19
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
-20
0
23
-31
32
0
0
-2
2
11
0
-3
0
0
0
1
-104
0
0
22
0
0
0
10
-12
11
8
-17
6
33
0
21
14
0
2
10
8
0
-16
-14
-5
33
-7
-27
0
75
-25
0
19
-34
-1
0
-40
0
-4
2
-5
3
0
-17
-34
0
6
-80
-2
0
-1
14
0
-101
6
2
3
-2
-72
0
0
-1
0
3
0
-11
-15
-5
0
3
0
0
21
-10
0
19
0
0
67
7
11
10
9
-27
-10
-87
37
-1
8
84
1
-7
100
-18
0
43
-63
32
27
-25
0
0
-2
-23
-3
-4
9
-24
0
-1
-6
20
0
5
-21
0
-3
-5
0
5
0
29
-17
0
1
-17
-78
0
-70
0
0
0
0
-2
0
7
18
-1
-6
0
0
-4
93
-7
-13
-5
0
0
10
-21
-9
-10
1
-27
1
-23
62
0
-29
12
0
-8
-8
0
0
-13
-10
23
-1
-1
-51
0
-39
24
-1
0
0
24
0
0
8
-9
0
0
-35
0
71
0
0
5
0
-27
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
10
32
-6
-6
0
0
-24
0
0
-8
0
0
8
30
0
-1
18
0
0
1
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
5
-1
0
0
0
60
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
22
0
0
1
0
0
0
-19
0
0
5
0
0
0
-18
0
0
0
0
0
0
4
0
0
-3
0
0
0
5
0
0
0
1
0
0
71
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-3
0
0
0
0
-3
0
-5
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
-21
0
0
0
0
0
0
24
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-49
-6
-1
-3
0
0
5
7
0
0
2
0
0
29
-17
0
1
-10
0
0
-1
1
0
0
9
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-39
0
0
0
0
0
0
48
2
0
0
0
0
0
30
0
2
-3
0
0
0
-24
0
0
0
0
0
0
-9
0
0
0
0
0
0
-49
0
0
0
0
0
0
51
0
0
-4
5
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-2
0
0
0
4
0
0
8
0
0
8
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
8
0
-7
6
25
-3
-9
21
0
1
5
0
4
0
27
0
0
0
-4
-63
0
0
-13
0
0
0
-19
4
-12
-15
53
-1
-2
0
-20
-46
9
1
-58
0
0
-17
-45
0
-30
-1
-5
0
-131
-71
8
0
31
-2
-6
-9
7
-3
7
-22
-23
-3
24
-36
0
-5
4
0
25
-20
38
0
-25
0
-9
0
0
1
0
5
0
0
11
0
-6
-10
-7
0
11
0
0
19
93
0
13
0
-1
-23
-33
-53
-3
14
6
6
58
3
-1
5
-20
0
3
-12
9
0
2
46
34
0
16
15
0
-4
-1
-1
0
-2
-34
0
-6
-4
4
7
0
-11
0
0
0
2
-4
0
27
0
3
0
6
3
0
36
0
0
0
0
0
0
13
-19
-2
0
0
0
3
-79
0
40
-5
0
0
-13
0
0
0
42
0
5
-2
9
0
11
21
0
6
-6
-49
0
0
0
1
0
-2
39
0
23
0
0
0
0
-39
0
-5
16
0
0
0
-1
0
2
0
0
-7
0
4
4
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
45
-2
-1
5
0
0
0
33
0
0
8
0
0
0
4
0
2
8
0
0
-3
-5
0
0
0
0
0
0
-3
0
0
18
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
3
0
0
0
0
0
0
-94
0
0
0
0
0
0
-63
0
0
0
0
0
0
-16
0
4
-14
-1
0
-9
-70
0
0
0
0
0
0
51
0
0
0
0
0
1
-56
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
1
0
0
0
1
-20
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
10
0
0
-3
-5
0
22
0
0
0
-1
0
0
0
10
0
0
0
-73
0
0
0
-28
0
0
0
0
0
55
56
51
40
-4
0
62
-18
-1
0
32
0
0
9
-59
0
13
-47
9
0
-13
-44
0
0
-19
0
0
-58
-52
0
0
23
1
0
-17
-43
0
0
72
0
0
3
14
0
20
-50
-25
0
0
-16
0
0
0
0
0
0
26
-16
-2
0
0
0
0
47
-14
0
8
0
0
31
-22
-14
4
8
-32
0
-6
-48
4
0
8
0
0
-80
-11
0
-3
-18
-9
0
-42
-104
0
2
16
4
0
17
-60
0
-8
-46
50
0
-18
-2
0
0
21
0
0
0
-27
0
0
-12
-28
0
0
10
1
0
0
0
0
0
-80
2
0
0
0
0
0
-15
-2
70
-36
0
0
0
-103
0
0
29
9
0
0
-13
0
-10
27
0
0
13
3
0
0
-23
22
0
14
-33
0
11
-5
0
0
0
16
0
0
5
0
0
0
-4
0
-28
3
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
27
0
0
0
1
0
0
9
7
-38
0
0
18
0
0
0
-1
1
-60
-17
-49
29
3
0
5
-10
0
0
-59
0
0
-24
-23
0
18
-37
-11
0
2
-8
-2
-3
-7
0
0
1
-20
-4
2
-9
-9
7
0
16
0
0
-18
1
0
0
-50
0
4
-11
-56
0
0
44
0
0
0
0
-8
0
14
9
5
0
1
0
0
-48
-43
-1
3
0
0
4
16
19
7
-61
-13
0
3
-55
0
0
-56
0
0
2
62
0
19
-34
17
0
0
-14
-5
-2
-88
1
0
0
6
0
0
23
-21
0
0
12
0
0
3
0
20
0
-35
0
0
0
12
28
0
-67
0
0
0
-3
0
0
8
-1
-6
4
4
0
0
49
0
26
22
0
5
-1
-5
0
-10
22
6
-8
0
25
0
52
-7
-8
13
0
-28
2
0
-8
7
0
1
46
0
-44
6
0
-9
0
73
0
-3
-1
-1
3
0
-36
0
4
0
0
0
0
-52
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
0
-2
0
0
0
0
-4
49
0
0
-40
0
0
0
0
3
16
7
-149
24
0
0
-3
-32
6
0
-12
0
0
22
31
0
-79
-42
9
0
-10
58
0
0
-64
0
0
16
-150
0
0
-6
3
0
5
0
0
0
5
0
0
0
3
0
-58
12
-4
-1
13
37
0
1
-1
0
-3
0
-5
-5
-7
0
0
0
6
30
-6
12
1
0
-1
-10
-32
-16
-6
29
32
0
-40
50
0
0
-66
0
4
-24
-10
8
14
-22
4
3
2
24
8
5
21
-2
0
0
0
0
0
20
4
0
0
-23
0
0
0
-2
4
3
-44
0
0
-8
17
-15
0
-7
0
0
0
0
0
0
-49
-8
0
4
0
-9
0
21
-5
-4
-12
0
-2
2
-44
-3
3
16
3
0
8
-17
6
5
2
0
2
4
-43
0
0
4
-2
0
0
0
0
-11
4
0
0
0
-21
0
0
3
0
0
0
-3
5
-17
0
0
5
0
-5
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
14
0
-13
4
0
0
0
-3
0
0
-4
0
0
4
-5
0
3
32
-6
0
-13
-12
0
0
-1
0
0
0
1
0
0
7
0
0
0
-1
0
0
0
0
0
0
-2
0
4
0
17
0
0
50
0
0
0
0
0
0
-28
0
0
0
0
0
0
-32
0
0
1
0
0
0
-13
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
12
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
3
0
0
-5
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
20
-34
0
0
-3
0
0
-10
0
0
-3
35
0
0
-4
45
0
0
0
0
0
-6
1
0
0
-10
-1
0
0
-58
0
0
0
0
0
0
1
0
7
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-31
0
0
0
0
0
-3
-66
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
5
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
-4
-6
0
0
0
0
0
1
0
0
7
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
7
2
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-2
0
0
0
0
-21
0
-3
0
0
0
-5
-26
0
0
-1
0
0
0
5
0
14
-48
-30
-19
-8
-1
60
-41
0
-2
-16
0
0
-60
24
-1
12
-56
-37
0
-6
36
0
0
-18
0
0
-4
-12
0
0
5
9
0
10
9
0
0
0
3
0
0
28
0
6
0
-32
0
0
-16
0
0
0
0
0
0
-28
2
-4
0
-1
0
0
23
6
0
9
0
0
8
-14
0
12
82
-8
5
-3
-8
0
0
-8
0
0
6
-19
0
5
-6
14
0
-10
-11
0
-2
-6
6
0
0
42
0
0
0
-23
1
0
28
0
0
0
0
15
0
-29
0
2
0
-1
-23
0
-36
-1
0
1
0
8
0
-12
0
0
0
13
0
1
-11
0
32
3
0
0
0
-49
2
9
0
0
0
0
57
0
12
-4
0
0
0
5
0
-1
0
-13
0
0
-7
0
-59
0
3
0
0
-58
0
0
0
13
0
0
-5
3
-40
0
0
1
0
10
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-34
0
0
0
0
0
0
9
0
0
-47
0
0
0
10
8
-9
0
3
-9
0
0
13
-23
0
-3
5
0
0
-23
19
0
-48
-4
0
0
65
-36
0
0
102
0
2
-2
-15
0
0
0
0
-1
1
26
-3
0
22
0
0
0
42
0
-19
-3
0
0
0
-13
0
0
0
0
-5
0
-37
5
-2
0
0
0
0
-11
1
0
13
0
0
8
-65
0
0
-8
0
0
-1
10
0
0
-1
0
0
10
-1
0
0
-7
0
0
-21
-86
0
7
-3
0
0
0
60
0
0
24
0
0
0
15
0
0
5
0
4
0
-82
0
0
17
0
-8
0
-37
0
-1
0
0
-4
0
5
-2
0
-3
0
0
0
-29
0
-9
0
0
0
0
7
0
0
-5
0
0
1
-10
0
5
0
0
0
0
2
0
0
0
0
0
0
-25
0
13
-2
0
0
0
34
0
0
6
0
0
0
26
0
17
7
0
10
0
15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
25
0
0
0
-4
0
0
-1
10
0
0
0
24
0
0
3
0
0
8
4
-88
13
13
0
24
6
0
0
0
-1
0
-40
-41
0
23
-28
54
0
52
30
0
0
-18
0
0
21
-1
0
0
-38
-20
0
-3
-125
-1
0
-10
0
0
2
16
0
14
-32
-32
0
0
-15
0
0
0
0
0
0
14
57
3
0
-6
0
3
23
-27
3
-35
1
0
71
2
-1
0
-38
10
0
12
-37
0
0
44
0
0
-36
61
0
5
-10
-41
0
38
20
0
-2
3
-3
0
-44
-42
0
-2
24
-36
0
0
9
0
0
33
0
0
0
-32
0
-4
17
-4
0
0
35
-3
0
0
0
0
0
-12
3
0
13
0
0
-2
-70
0
7
-3
0
0
-1
3
0
0
-15
-3
0
20
65
0
-36
16
0
0
8
-56
0
2
35
13
0
-5
-22
0
53
-16
0
0
1
33
0
0
27
5
0
0
9
0
21
0
0
0
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
0
3
36
-38
0
0
-54
0
0
0
0
4
-15
-16
-44
-12
3
0
-20
-52
1
3
-48
0
0
-16
-8
1
-60
8
15
0
3
-10
0
0
15
0
0
-2
11
0
0
-6
-9
0
0
-83
0
0
19
0
0
0
24
0
-36
-18
-39
0
0
-20
0
0
4
0
19
0
-8
13
-1
0
16
0
0
-30
-13
0
0
0
2
0
-30
1
3
-26
5
2
0
16
0
-1
13
0
0
1
25
0
0
-28
-1
0
-1
-32
0
2
-21
0
0
0
17
0
-2
-29
-18
8
0
27
0
0
-1
0
-24
0
0
0
0
0
-9
-33
0
-17
0
0
0
0
5
0
53
0
0
-3
0
0
0
-31
0
22
1
0
0
2
35
4
5
-4
6
-1
0
-43
0
17
0
0
0
0
58
0
0
1
-3
0
0
-16
0
-3
-2
0
0
0
-37
0
0
-1
7
0
0
9
0
6
0
0
0
0
-57
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-20
0
0
-1
0
0
0
1
13
74
19
-103
-30
2
0
-27
35
0
0
3
0
0
-27
30
3
27
17
-15
1
-54
-54
0
0
-11
0
0
54
-16
0
0
-57
32
0
-16
-52
0
0
6
0
0
1
0
0
32
0
-3
2
0
-12
0
0
0
0
22
0
-32
-4
-1
0
0
0
0
29
18
0
-2
0
0
3
44
-13
5
23
6
0
-4
-13
-2
0
-6
0
2
8
-81
0
24
-5
-32
0
-17
-52
0
0
-21
2
0
-2
-4
0
0
14
0
0
0
0
0
0
-1
-1
5
0
-38
0
0
0
0
-13
0
31
0
0
0
0
4
0
37
2
0
0
-2
0
0
10
19
-5
0
0
0
-8
-1
5
0
-1
0
0
0
-123
0
-38
0
0
0
-1
37
-1
-14
10
-6
0
0
-27
0
26
4
0
0
-2
0
0
0
0
15
0
0
-54
0
-7
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
2
0
0
0
0
-37
-4
0
3
0
0
0
0
0
2
9
0
0
1
-2
0
0
13
0
0
-8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
22
0
0
0
0
0
0
17
0
0
-5
0
0
0
-32
0
0
0
0
0
0
-13
0
0
6
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-18
0
0
0
-1
0
-1
-14
0
0
0
0
0
0
20
0
-12
-6
0
0
-3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
30
0
0
0
0
0
18
-57
0
0
0
0
0
10
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
34
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
-30
0
0
0
13
0
-116
-5
17
-2
0
0
7
2
0
-3
37
0
0
26
-63
0
0
-50
0
0
39
46
0
0
2
0
0
-2
-85
0
0
-1
3
0
-9
9
0
0
0
0
0
0
-17
0
-35
0
-4
0
0
-58
0
0
-3
0
0
0
-68
-1
9
0
0
0
0
-24
-2
0
0
0
0
-1
-24
0
0
2
8
0
-30
-30
0
0
-4
0
0
0
-12
0
0
5
-6
-4
5
45
0
4
0
-6
0
4
-53
0
0
0
5
2
0
23
0
2
0
0
1
0
3
0
0
0
0
0
0
60
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
-15
0
0
-3
0
8
0
0
8
0
0
0
-58
0
-4
0
1
0
0
8
0
0
2
-1
0
2
-10
0
-5
0
2
0
2
15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
29
0
0
0
0
0
2
26
0
0
1
0
0
0
19
0
-2
-2
0
0
0
-5
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
27
0
0
0
0
0
0
-15
0
0
0
0
0
0
-60
1
0
0
0
0
0
-21
0
0
-3
0
0
0
28
0
0
1
0
0
0
5
0
0
-2
0
0
0
-24
0
0
0
0
0
0
-1
0
0
1
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-33
0
0
-8
-102
0
0
0
-19
0
0
-1
0
22
12
2
19
-30
-6
0
-104
-14
2
1
-9
0
0
-29
-55
0
-49
-8
13
0
12
19
-5
0
12
0
0
-16
-36
0
-1
-16
46
0
-38
-3
0
0
-25
-2
0
-2
-82
0
16
28
-1
0
0
22
0
0
5
0
0
0
7
-9
23
0
51
0
17
-28
0
0
7
0
0
61
-14
3
-2
24
-9
0
3
13
0
4
40
0
0
-17
-32
8
16
-36
-16
0
7
17
0
29
5
0
0
2
18
4
5
-44
-2
0
-6
-31
0
2
4
9
0
3
19
0
0
-10
4
0
0
43
0
0
0
0
0
-5
-31
8
0
-1
0
0
10
-64
0
26
9
0
0
1
9
0
0
-3
-4
0
9
37
0
74
36
0
0
-2
-2
2
1
6
-5
0
8
57
-5
14
-55
0
0
2
-42
0
0
-59
4
0
0
5
0
-7
-3
0
0
0
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
5
0
0
0
-22
-124
3
0
26
0
0
0
2
0
15
-1
4
0
-1
32
0
0
-5
0
0
0
4
0
0
14
0
0
0
50
0
0
0
0
5
0
10
0
-4
0
0
-8
0
23
0
0
0
0
0
0
-29
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
0
0
6
36
0
0
0
0
0
0
-24
0
0
2
0
0
0
5
0
0
1
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
6
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
10
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-1
0
-25
-14
-26
49
-2
0
-18
10
-2
-1
-61
0
0
-12
0
-5
-105
35
-8
0
16
36
0
0
-58
1
4
-6
67
0
0
47
2
0
-4
-21
0
0
-2
0
-5
1
18
0
-6
2
-2
0
0
0
2
0
0
0
-1
0
-15
-3
-1
0
0
0
0
-63
12
0
3
0
0
-1
-12
6
-1
2
1
0
-48
32
0
0
0
0
0
19
-60
0
0
-106
6
-3
15
19
-8
-2
-1
6
8
0
-54
0
1
9
41
-4
0
17
0
0
0
0
5
0
0
5
0
-2
-1
-2
0
-53
0
0
0
0
0
0
62
0
0
-6
0
0
0
-33
0
-4
10
0
0
-8
56
8
2
2
0
0
3
-80
6
9
0
0
-8
2
-58
0
-2
0
-22
0
0
-59
0
-5
-4
0
0
0
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
1
0
0
0
-38
0
0
-3
0
0
0
0
0
12
13
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
3
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-30
0
-2
0
0
0
0
-51
0
0
-39
0
0
-1
1
0
-10
24
0
0
-14
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
6
0
22
0
0
0
0
-76
0
0
0
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
-8
0
0
-3
-42
0
0
0
0
0
0
-16
0
0
0
-4
0
0
-60
4
0
0
0
0
0
3
0
0
0
0
0
0
-41
0
0
0
0
-3
0
4
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
1
0
0
0
0
0
-3
0
2
0
0
0
0
-13
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
0
0
0
7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
4
0
-63
5
-55
-5
0
0
34
-20
0
0
-39
0
0
-15
30
0
4
-33
0
0
-87
-56
0
0
-89
0
0
-8
-39
0
0
-27
0
2
-4
-22
0
0
34
0
-19
0
-2
0
6
2
0
1
-1
-4
0
0
0
0
-13
0
-64
-5
-4
0
0
0
0
-30
-1
-4
4
0
0
-1
3
0
2
-43
0
0
25
15
0
0
0
0
0
-7
-66
0
0
90
0
-24
2
8
0
0
21
0
-2
0
-44
0
0
8
0
7
-7
-55
0
0
-3
0
-46
0
-13
0
5
0
0
9
0
-17
6
0
0
0
0
0
32
0
0
0
0
0
0
4
0
4
8
0
0
7
-57
2
0
4
0
0
0
23
0
1
-4
0
0
0
39
0
0
-13
0
0
7
-22
0
-20
-2
0
0
0
-6
0
0
1
0
-1
0
-22
0
-6
0
0
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
6
0
-30
-2
1
-74
-66
19
0
7
-3
6
42
9
26
0
39
48
-15
-14
-31
19
0
19
-15
16
-2
9
0
0
14
-6
0
-5
-28
-38
0
-1
18
0
6
-11
1
0
1
17
0
-32
-11
-33
0
-1
41
20
-1
5
-1
0
0
-30
9
-62
-1
9
0
-1
-10
24
-1
-32
-5
2
-59
13
-1
-8
-9
-19
0
-20
11
-15
-12
-11
0
0
30
-16
12
-12
6
-10
0
16
6
3
2
-22
-3
0
9
-5
-1
-1
23
11
0
25
1
2
11
-17
-48
0
-1
-24
0
6
50
2
0
0
-15
-8
-3
0
2
0
0
-5
40
3
-17
11
0
-47
3
-38
-58
149
19
1
55
5
-2
2
42
11
0
-34
27
11
-13
39
8
0
-7
19
-3
71
-8
-60
0
-11
35
-12
46
39
24
0
-4
-4
1
-3
23
-21
0
-3
-19
0
-73
12
0
0
-6
6
35
-29
-10
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
-4
0
0
8
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
0
0
0
0
0
0
-45
0
0
3
0
0
0
-7
0
0
-3
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-20
-27
14
-11
-14
0
-111
-25
-3
41
-54
0
-1
-37
-29
-14
-3
-47
-19
-10
-34
-19
-5
-14
-40
5
-8
-23
2
0
0
-44
-36
-2
27
22
0
-2
28
1
-23
-7
-23
0
12
30
-10
14
0
-24
-1
0
-1
0
8
0
0
0
-95
0
1
7
-5
-22
-99
-13
-9
0
1
-39
-3
-34
5
-42
23
-1
-14
35
-24
48
-58
0
-17
-19
29
-6
11
-39
-67
-3
4
12
-5
53
31
0
0
-36
2
-1
4
13
44
-18
-1
16
0
3
29
-1
-44
3
-31
-3
-2
-2
-51
35
0
29
0
0
0
0
-1
5
-25
-19
-1
19
-7
4
-7
-11
0
26
36
10
1
-4
39
-3
0
21
7
6
3
41
6
-38
-27
6
-18
-7
-27
-2
23
7
5
1
30
-61
0
-43
65
-7
5
2
-9
0
0
67
61
3
0
6
0
-14
-24
0
-8
0
-10
0
-5
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-1
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
0
0
0
-4
64
0
0
0
0
0
-4
2
0
-2
-8
0
0
1
9
0
0
-7
0
0
0
10
0
0
0
0
0
0
20
0
0
3
0
0
0
47
0
-1
0
5
0
0
3
0
0
0
0
0
0
-31
0
0
0
0
0
0
26
1
0
0
0
0
0
-32
0
0
-1
0
0
0
-15
0
0
-2
0
0
0
-24
0
0
7
0
0
0
-8
0
0
0
0
0
0
-4
0
0
-8
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
8
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
4
0
0
0
4
0
0
0
0
0
0
-3
0
0
-8
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
8
-73
55
-7
0
27
-15
6
0
-9
0
0
16
-17
0
-21
3
-80
0
61
-89
2
0
-39
0
0
72
2
-1
0
-58
83
0
19
2
1
0
23
0
0
0
-34
0
-117
-67
35
0
0
-33
-2
7
0
0
0
0
-10
-4
-38
0
0
0
-2
-16
0
0
15
-4
0
24
23
-3
0
45
-3
0
34
-5
0
-1
-43
0
0
43
-34
0
-4
-39
-57
0
-39
24
0
1
-9
0
0
6
-16
0
-2
-53
-27
0
0
-12
0
0
27
0
0
0
17
0
-6
2
31
0
0
-17
-1
0
0
0
0
0
-72
-2
1
5
-1
0
-9
-39
8
94
-1
0
0
-1
63
0
0
50
7
0
37
-1
-1
-50
-35
0
8
-6
1
1
-18
-24
1
0
-4
21
-1
-66
12
0
0
-6
-48
0
5
-20
-2
0
0
-3
0
67
-12
1
0
0
-13
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-8
0
10
0
0
25
-51
0
-17
-36
1
0
40
44
0
0
-4
0
0
0
-12
0
0
13
-12
5
0
-8
0
0
-2
0
0
-2
31
0
-28
0
0
-4
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
-143
-29
0
0
0
0
-3
23
4
-1
13
-3
0
0
-80
1
1
-23
0
2
8
-28
0
0
0
0
0
9
25
0
-1
9
0
0
0
-26
0
0
16
-6
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-33
0
0
0
0
0
0
-96
6
-1
1
0
0
0
13
8
10
2
0
0
0
2
-7
0
0
0
0
0
44
0
8
-4
0
0
0
44
0
-2
0
0
0
0
70
0
1
0
0
0
0
-46
0
13
0
-1
0
0
-112
0
4
0
0
-4
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
50
37
16
100
-15
-103
3
-45
44
15
32
6
-25
-7
17
-80
-25
37
41
-15
23
-20
26
-55
-30
-9
-47
3
12
9
47
-45
-38
22
-21
-10
39
15
5
-24
67
-34
12
13
47
5
-4
-44
-24
-1
24
-21
-8
-77
-3
-41
0
-31
-88
45
-1
10
-78
-50
50
53
-54
-43
-45
-58
1
-15
-57
65
-68
-52
-34
-38
-8
-79
12
-6
-63
-21
-20
21
22
-20
-45
1
-54
-18
-14
-9
-44
19
6
73
-6
-9
31
-5
44
10
115
-3
41
66
18
-2
-31
-7
-5
-29
-16
-46
-34
-36
-54
0
-81
-44
-52
-44
1
-51
-35
-17
-18
-19
-36
48
-65
6
10
-56
0
-103
-11
-33
15
2
-14
17
-35
26
12
-35
48
-16
-3
4
-77
-90
19
60
-23
-18
-20
19
30
1
-11
-36
59
4
-10
-16
1
-28
66
-39
71
15
-25
-49
3
15
-18
-3
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
70
5
8
29
1
-1
55
-8
-5
-58
5
17
-2
20
22
-5
5
-59
0
4
-59
-15
-4
9
-32
23
1
24
-11
0
0
21
0
24
2
-34
0
45
-29
87
0
0
-47
0
0
0
4
-52
0
-20
-15
11
0
-4
0
0
62
6
-2
-47
0
0
-46
-26
-24
16
-40
26
13
5
25
12
-30
-29
-1
3
20
-19
-8
35
63
12
3
35
-15
-3
0
-52
14
2
-9
-27
0
-50
74
-14
2
-6
5
0
-4
-46
2
-35
0
-20
0
1
-37
17
-7
0
-6
-2
4
0
2
1
-2
27
24
2
-5
8
3
12
-36
13
-56
-12
2
1
-31
20
1
25
-30
-30
1
52
-12
1
36
62
-3
-8
11
25
2
28
-3
-29
4
16
2
0
96
-29
8
0
0
25
2
0
-23
54
-5
0
-4
0
11
-7
7
3
0
11
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
13
-32
9
-26
0
0
-114
32
23
-80
37
-68
-7
-44
-23
-5
0
-63
2
0
26
-24
-4
20
-29
18
3
42
-23
-3
0
-103
0
23
-40
-15
-2
25
-49
-27
-8
0
-20
-1
0
-1
0
-23
0
2
10
-29
0
5
0
-35
-31
-94
4
-15
0
1
-55
11
21
-40
-24
44
-2
1
54
15
-13
27
-1
66
-19
17
-12
-3
8
22
-1
18
23
-9
-3
-50
-3
22
-3
5
0
-13
-23
14
11
23
8
-1
0
35
5
-81
5
12
-2
3
25
32
47
0
0
-2
-2
0
0
1
-4
32
50
43
-1
-15
2
41
4
4
71
-50
0
0
-17
-7
9
-1
-7
-12
-4
-35
33
-2
-47
-64
0
-13
-2
10
3
-60
-29
-43
-1
41
0
-8
-8
-1
0
12
16
20
2
-22
-14
-10
-3
0
10
-13
-83
-2
0
5
0
-60
-87
-13
1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
48
2
-43
14
0
0
-38
18
-40
0
64
-26
0
-87
-25
24
-1
27
-5
-17
14
-33
0
57
4
-33
7
-22
13
0
0
27
0
-6
5
55
-32
-5
18
27
-5
0
46
4
0
0
3
-26
0
42
59
-15
0
61
0
-1
-36
50
-8
-21
1
0
37
-17
73
17
13
-17
0
7
32
13
44
-2
0
-5
15
26
1
34
-59
-38
19
-31
-15
0
-4
-5
-10
-7
-24
22
0
0
-34
1
-9
0
25
0
19
-41
-5
78
-5
4
-3
0
-8
62
-30
0
-18
4
0
0
-1
4
6
-59
-50
10
-5
-4
0
4
12
-4
23
8
-2
0
9
10
12
-9
15
-5
0
25
-17
2
-12
23
-3
15
17
-42
-1
6
31
-1
0
-23
16
0
3
-24
-1
-3
-2
-15
3
-3
-1
-51
0
0
-42
0
-23
2
0
-13
-6
60
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-40
0
1
51
0
0
-7
-4
0
-19
-64
0
0
-68
-50
0
-2
34
0
0
41
-45
-1
0
-1
0
0
52
-48
0
0
-5
0
-7
0
-50
0
78
0
0
0
0
-12
0
0
-3
0
1
0
7
3
-13
0
0
0
0
-60
29
1
5
0
0
2
-98
0
0
-6
0
6
-8
-101
0
10
42
0
0
5
-88
0
0
43
0
-1
0
26
-5
0
0
0
0
-12
-115
0
0
7
0
6
0
-15
0
0
8
0
5
0
-80
0
7
-8
0
-6
0
-1
0
0
0
0
0
0
-8
1
0
0
0
0
0
-8
0
13
4
0
0
0
-38
0
-1
2
0
0
0
-67
-1
-2
2
1
0
-2
-18
0
2
-1
2
0
6
-21
0
-8
0
0
0
0
-41
0
0
-3
0
2
0
-65
0
13
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
5
-1
-48
-14
98
-3
6
-39
-2
-12
-71
0
-41
-112
13
0
19
-13
-29
41
10
-41
0
3
10
0
7
3
-80
0
14
-17
27
24
-4
36
-1
13
5
0
39
0
-13
24
12
0
16
-29
0
9
-75
5
-20
0
0
-60
39
-8
-10
37
25
-6
24
85
7
19
34
-4
-8
-29
39
0
68
-16
-40
0
-86
-27
-6
-5
75
18
5
36
0
-4
-16
5
-2
-1
-5
32
-5
24
-42
4
-23
0
18
0
-9
2
-17
-11
0
-13
12
20
0
0
-5
0
59
-22
-3
42
-3
0
1
-24
19
64
-13
8
-2
0
-11
3
69
5
-47
3
0
-19
0
23
77
2
-5
64
70
1
10
-46
-46
-14
-34
-50
0
-80
-49
27
24
-4
-63
-2
-7
61
-73
30
-5
12
0
4
-13
0
28
0
-37
3
27
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
3
-122
-48
-47
32
42
16
-7
-5
-20
-77
7
7
35
-36
-31
-22
-25
-67
-63
25
15
-31
-22
-16
-58
7
-58
-7
-44
-27
-49
-9
4
-13
-7
1
-11
-57
-15
-34
-13
13
-21
19
-24
-21
-33
-1
-1
20
-54
-37
-66
-45
-53
0
-51
-45
-8
-9
-35
-73
-17
6
-83
-40
88
67
-25
-34
-45
9
-28
-4
-96
50
-35
38
-48
20
-42
-39
4
9
-51
-76
66
14
9
-73
3
9
1
-12
20
-27
22
18
12
-7
8
1
8
-15
-4
-48
-42
-5
11
-124
5
22
26
33
-19
-105
-12
32
0
-5
-2
-50
-3
-44
-1
-34
25
33
-39
49
77
-4
-30
-36
-14
-67
-30
-95
-24
-53
-91
40
-7
11
-30
24
-24
49
-45
-68
19
-6
32
-13
-15
-13
16
-9
-41
-21
-21
96
-41
14
-45
-61
-18
32
-17
5
-37
-39
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-40
0
35
42
1
0
13
44
0
4
10
0
0
13
-41
0
0
0
0
0
0
-9
0
0
-1
0
0
-4
29
0
46
-1
-2
0
0
2
0
0
0
0
0
0
-52
-2
19
0
0
0
-6
-35
9
8
-2
0
0
-2
-30
-2
0
-4
0
0
5
-40
0
-4
-18
0
0
-1
18
0
-5
-4
0
0
0
-65
0
0
0
0
0
0
-8
0
0
0
-6
0
0
55
0
0
0
0
0
0
-21
0
0
-1
0
2
0
2
0
0
0
0
0
0
-13
0
-1
0
0
0
-1
23
0
4
-8
0
0
0
55
0
-1
1
-1
0
0
-5
0
0
0
0
0
0
-57
0
3
1
0
0
0
-86
0
-1
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-52
0
0
52
10
0
-29
43
0
0
5
0
0
-7
-8
0
0
-3
-7
2
-1
-59
0
0
1
0
0
0
-41
0
40
0
2
0
0
-38
0
0
0
0
0
0
38
0
0
0
0
0
0
19
-10
0
4
0
0
0
68
0
0
2
0
0
6
11
0
0
-6
0
0
-7
10
0
0
1
1
9
-8
-15
0
0
0
8
-2
0
-13
0
0
0
0
0
0
-20
0
0
7
0
0
0
-31
0
0
0
6
0
0
-78
0
0
0
0
0
0
14
-1
4
0
0
0
0
34
0
-16
0
0
0
0
38
0
0
0
0
0
0
13
0
-13
0
0
3
0
45
0
0
0
0
0
0
34
0
-4
0
0
0
0
12
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-32
16
-32
20
-18
60
-4
33
49
-7
4
-8
0
-32
-25
6
34
17
-15
-7
-33
8
1
-1
21
-13
-28
19
7
1
5
43
-11
38
0
46
-1
-1
-51
-2
-2
0
22
5
-13
0
-2
0
0
49
74
5
13
0
0
-14
-4
43
-44
38
28
2
41
17
-9
27
103
6
14
-19
22
-8
16
21
16
-32
48
5
18
6
9
5
42
-10
-21
-1
-9
-3
-12
19
38
8
0
0
-22
-14
6
-8
7
-2
12
-64
11
-5
0
32
39
-1
0
-6
30
9
40
-74
0
6
2
-1
-86
-1
-9
-22
-40
-1
-8
115
-9
66
-12
-63
-66
-5
42
-24
42
-4
43
29
3
43
14
9
33
73
-1
-22
10
-8
1
66
3
10
29
-28
-6
3
-16
-50
-15
5
2
1
4
92
-2
0
86
0
55
6
-6
1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
-2
56
0
0
5
26
0
0
0
0
0
-3
-6
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
9
-8
0
0
0
-13
0
0
0
0
0
0
71
0
0
0
0
0
0
-55
0
0
0
0
0
0
58
0
0
-4
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
0
-2
41
0
0
0
0
0
0
-28
0
0
0
0
0
0
47
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
25
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
2
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-1
0
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
0
20
4
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
35
0
0
-6
0
0
0
-7
0
-8
0
0
0
0
46
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
2
0
0
0
0
0
-40
0
0
8
0
0
0
-43
0
0
0
0
0
1
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
52
0
0
0
0
0
0
75
0
0
0
0
0
0
46
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
52
72
3
36
21
-23
-4
40
0
1
-22
-47
26
14
6
0
-7
-38
2
-2
-10
57
0
-26
-2
18
31
0
-15
0
-18
-5
0
94
0
40
-27
-46
0
36
6
9
23
39
9
-10
1
0
-19
-34
-6
-30
-44
-53
0
42
15
1
3
-49
1
-1
-67
22
17
2
20
49
-5
75
-10
25
68
-4
-3
12
-17
-45
-5
53
-9
56
-5
-7
17
0
-8
-54
-6
121
0
34
13
31
71
-67
-71
0
28
0
-7
2
0
0
0
0
-21
56
1
-1
0
2
34
4
-16
91
9
0
1
-5
-5
-20
-53
66
0
50
-22
2
-39
-20
-22
11
-12
9
2
-2
-30
5
-1
4
5
-4
-43
-14
5
-8
-2
46
7
-46
-38
21
-8
0
-44
41
-5
28
5
31
0
-17
-40
10
0
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
50
8
-81
6
39
-48
30
3
-15
55
-42
-13
-12
-7
-4
-2
-49
-2
4
-86
22
0
-66
16
10
-2
-12
-43
3
0
54
2
-30
0
-33
-71
14
0
-47
-9
21
19
-21
9
-13
-6
5
-63
32
-6
107
15
-15
73
-90
0
-87
-55
-39
2
14
-25
-39
6
28
-52
-87
-47
-5
-15
7
-18
11
48
27
29
-36
-8
-44
-57
51
-8
-17
-37
-4
29
-55
-9
40
1
-23
2
5
8
-75
26
0
-2
31
0
8
21
-6
-5
12
-8
52
-13
-5
0
-25
-43
-7
15
30
19
8
-26
0
16
-27
-13
52
1
31
-37
10
-81
33
-17
5
-31
78
11
-102
-56
-64
13
39
-12
2
114
29
-13
42
-23
-26
0
7
9
-40
6
-9
10
3
-9
-10
-1
21
1
-75
-17
-33
-18
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
112
0
0
-5
0
0
-7
47
0
0
0
0
0
-1
-48
0
0
-5
0
0
0
-7
0
-33
0
2
0
0
-59
0
0
0
0
0
0
-24
-3
0
0
0
0
0
107
0
0
-2
0
0
0
61
0
1
2
0
0
1
26
0
0
5
0
0
0
-16
0
0
-1
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-63
0
0
0
0
0
0
-27
7
-2
13
0
0
0
-5
0
0
0
0
0
1
-27
0
8
0
0
0
0
-5
0
0
0
0
0
0
-3
0
1
0
0
0
0
29
0
-1
3
0
0
0
31
0
0
0
0
0
0
-74
0
-6
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
-27
-25
-28
-8
3
33
-27
22
-9
20
-9
0
40
12
0
1
67
6
-24
3
8
0
-33
-54
25
-13
12
-5
7
5
8
-1
13
-2
24
6
-86
0
9
1
2
40
15
0
63
-2
-1
-61
-38
-108
-50
-34
24
-65
-5
-19
5
-36
1
4
-8
7
0
-31
52
-2
-16
-66
-29
28
10
-26
35
-9
28
76
16
1
-54
-8
-29
35
-34
-9
0
-13
-40
-1
49
-4
-18
-2
9
7
-7
-44
0
33
15
-7
-12
0
26
3
37
-23
-29
48
-2
0
-17
-7
-42
18
-12
1
48
-9
-39
66
16
77
-20
25
11
-8
7
27
29
-14
-6
-22
20
18
30
-24
24
8
42
40
2
4
-103
18
-13
-21
-4
0
-9
-20
10
8
-10
-24
-2
29
18
0
2
0
-23
-33
5
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
8
19
-3
48
48
-19
29
-4
9
39
-59
-1
4
-2
-5
32
21
59
49
2
4
-10
-7
38
0
36
-7
-4
-24
0
10
0
19
-1
19
51
62
-3
-64
-10
-27
28
-70
4
-8
-1
0
-21
14
25
-70
62
-106
5
22
-2
50
63
-53
13
-2
11
-1
0
53
38
45
33
-9
13
42
41
-49
46
1
16
13
7
80
5
22
29
34
23
14
1
-35
-3
-24
6
18
14
-11
-66
12
8
0
-3
15
-5
15
0
35
-12
13
-71
21
-5
-1
0
19
30
-18
-109
-9
1
-6
67
-7
16
32
70
12
-13
-46
-28
0
-61
54
-57
-31
60
-54
-23
-10
15
-27
-51
9
2
8
17
132
-39
-74
16
13
-19
9
34
0
40
-12
12
-1
-31
22
0
6
0
43
31
-6
15
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
2
0
31
0
0
-40
-45
0
0
-53
0
-1
-55
-14
0
8
42
0
-5
4
-43
0
8
-8
0
-13
0
30
0
-6
0
0
-58
0
2
-1
-7
0
0
0
1
19
-38
-1
-17
0
0
55
10
-3
-1
-15
0
0
28
-9
0
0
-11
0
0
-69
-39
0
8
-9
0
-1
-41
-17
0
2
16
0
-6
-3
-49
-1
0
4
4
26
23
-24
0
0
-4
0
58
0
-36
0
-5
17
0
17
0
1
-1
0
0
0
-6
0
13
0
4
0
0
0
13
25
0
-9
18
0
0
-16
-52
0
-7
-21
0
0
44
6
2
1
-13
0
0
27
-50
0
12
6
-2
4
-5
-4
0
-36
-11
0
0
0
44
0
0
25
0
29
0
-6
0
100
-14
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
0
0
1
0
0
-2
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
-6
0
0
0
0
-7
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
0
0
-5
0
0
0
46
-4
-3
-5
6
0
2
-139
0
0
3
0
0
0
28
0
0
3
0
0
6
-52
0
0
0
0
0
0
-19
0
0
0
2
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
2
0
0
0
23
0
0
1
0
0
0
-18
0
0
0
0
0
-8
29
0
0
0
0
0
0
52
0
1
8
0
0
0
4
0
0
2
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
43
21
-18
-1
10
-22
-2
9
-1
3
-40
-63
-31
13
-25
1
11
-11
-9
-3
-1
-56
6
-14
-2
0
-13
0
7
-24
10
0
-9
-21
-14
33
-70
-4
50
-1
0
0
18
-6
-28
-1
43
-4
-82
0
-40
-11
9
0
-27
-59
17
23
-38
24
-21
0
0
15
-6
4
7
13
29
10
30
-2
-66
-26
5
55
3
1
-7
23
53
-4
-21
0
18
9
63
39
9
22
0
7
4
21
-1
8
-44
3
46
-24
44
59
-31
-1
71
22
0
-87
35
22
2
-2
30
1
-5
-6
12
-30
19
8
48
-48
-54
-2
-4
13
19
5
-22
66
-46
31
34
-9
25
-49
-6
1
4
27
-5
13
37
22
-19
71
-6
-14
-6
-11
-12
0
-60
0
-27
36
-9
36
-53
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
15
-26
-5
-3
16
78
48
-20
-3
-2
-12
-23
-111
-32
1
0
20
68
-67
-85
-69
-23
24
-5
43
0
-5
2
-9
-33
-73
-5
69
-2
4
5
-37
44
-8
45
-17
0
-26
32
-54
-6
5
3
25
17
-1
6
-11
0
-28
42
0
12
51
-18
-29
-45
-42
-19
-2
-13
-9
-29
-12
-62
-8
3
-7
-13
-20
-20
56
-10
-16
-24
21
-5
-47
12
22
-8
-7
-44
21
-37
0
25
-27
-8
10
5
-111
25
26
-30
5
-13
25
-38
99
0
-28
11
-44
-18
-11
58
45
36
19
14
-41
20
5
0
8
-43
37
44
-13
-9
28
7
-65
42
-46
32
-24
-31
-9
-36
-18
-21
-61
3
-1
15
-34
30
-10
-94
6
22
6
-47
-124
41
60
0
-30
-12
-2
-3
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
-8
0
0
-1
0
0
0
-8
0
1
0
0
0
0
-1
0
0
0
0
0
0
29
-5
0
0
0
0
0
101
2
0
-4
0
0
0
-80
0
1
7
0
0
-1
-51
0
0
0
0
0
-2
-36
0
0
20
0
0
0
56
0
0
1
0
0
0
10
0
0
-4
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-1
0
0
0
0
65
0
-5
-1
0
0
0
-21
0
0
0
0
0
0
42
0
1
0
0
0
0
32
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
1
0
0
0
0
18
0
-5
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-19
0
0
17
-40
0
0
0
0
0
0
2
0
-4
0
0
0
0
9
0
0
0
0
0
0
-114
-13
0
0
0
0
0
89
0
0
0
0
0
0
-44
0
1
8
0
0
-5
-58
0
0
-26
0
0
0
113
0
0
0
0
0
0
67
0
0
-3
0
0
0
21
0
0
0
1
0
0
-65
0
0
0
0
0
0
77
0
0
0
0
-2
0
56
0
0
0
0
0
0
-43
0
0
5
0
0
0
-40
0
-1
0
0
0
0
26
0
0
0
-1
0
-4
-1
0
-1
0
0
0
3
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
52
0
0
0
0
0
0
-68
0
-3
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
1
-3
-56
-14
17
61
2
0
0
-12
1
7
44
46
0
-26
-6
80
-17
4
-58
0
0
-13
0
10
0
45
23
1
0
-9
-16
-10
33
-43
-4
9
0
0
20
21
-3
-23
11
8
-31
-119
16
-1
-34
-36
0
-3
-12
0
-3
-3
-26
78
0
25
23
2
-24
53
2
-7
29
11
0
84
-84
-26
44
-40
-8
0
-22
-3
4
25
1
-11
10
0
-1
-52
-36
0
24
14
0
0
0
1
0
-44
3
8
8
4
-1
56
54
-2
18
20
-4
0
-12
48
-13
-42
-17
9
0
-2
-61
0
-93
-23
-2
0
3
-21
10
-9
-19
12
0
81
21
0
9
20
1
-2
-5
4
-2
3
-3
78
2
0
-32
-5
22
-2
2
-1
0
64
-18
13
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
0
0
-14
0
0
-3
49
0
0
0
0
0
0
54
0
-2
0
0
0
0
-18
0
0
0
0
0
0
-108
0
0
0
0
0
0
-81
0
0
0
0
0
-1
27
0
0
1
0
0
-5
-29
0
0
1
0
0
0
22
0
0
-1
0
0
0
-25
0
0
0
0
0
-6
18
0
0
0
0
0
0
-4
0
-1
0
0
5
0
12
0
0
0
0
-4
0
43
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
9
0
0
0
-56
0
0
0
0
0
0
12
0
0
0
0
0
0
25
0
-5
0
0
0
0
-4
0
-8
7
0
0
-2
5
0
0
16
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-54
0
0
2
0
0
0
43
0
0
-1
0
0
0
-11
0
8
2
-3
0
0
-43
0
0
0
0
0
0
40
0
0
0
0
0
0
-86
2
0
13
0
0
4
-29
0
0
4
0
0
-14
-55
0
0
-49
0
0
48
-30
0
0
-5
0
0
0
16
0
0
-19
0
0
0
-10
0
0
-15
0
0
0
-50
0
0
-3
0
0
0
3
0
0
0
1
0
0
-79
0
0
0
0
0
0
-12
2
0
1
0
0
0
18
0
-25
2
0
0
2
8
0
0
0
0
0
0
31
0
-3
-1
0
0
2
-37
0
0
-1
0
0
0
-21
0
2
0
0
0
0
-17
0
0
0
0
0
0
-10
0
-1
4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
0
0
-16
0
-23
0
-78
0
-6
78
-28
1
0
-31
0
0
0
0
29
0
46
38
0
0
0
-1
0
-8
26
0
34
0
0
-31
59
-4
23
-32
-3
-1
-18
3
25
2
-52
0
-4
4
-21
-6
3
37
72
0
5
27
2
-3
-8
0
0
8
-1
0
53
-20
-52
0
0
-6
0
2
-5
0
3
0
30
0
0
-7
-18
71
0
14
-1
0
-1
-7
-1
0
-1
27
0
-25
0
0
0
28
2
-4
-19
0
0
0
30
0
-29
-59
5
7
0
42
2
-40
26
0
-7
0
2
0
33
-41
-25
2
0
-5
0
-23
-7
0
0
4
-87
0
-4
18
4
0
0
20
0
17
0
0
-13
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-44
1
-5
-14
7
-61
34
-18
-2
-29
1
23
-11
13
-9
0
-1
29
0
-83
0
-21
-32
-40
1
-19
-4
10
-9
49
10
-57
2
6
-35
-46
-70
-98
-29
-37
118
-37
-26
-39
4
-62
42
-20
80
3
8
56
55
-27
-74
-16
0
-18
84
1
16
86
-27
9
2
-12
-30
-16
-23
-32
-3
0
6
-24
-6
-26
-6
30
-3
23
-43
-47
13
0
15
13
-2
6
-5
31
-14
-25
-17
50
21
-7
5
-5
29
16
-23
50
-13
-20
-6
-25
8
43
-2
-1
0
83
14
-5
20
-21
10
-21
46
0
14
-93
-51
50
-1
6
-33
-6
-42
9
7
20
48
-7
-6
53
-16
-67
24
8
-11
9
45
-31
9
-32
0
7
-65
6
-12
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
6
0
0
0
0
-8
0
0
0
0
0
0
-50
0
0
0
0
0
0
12
0
0
3
0
0
0
12
0
0
-4
0
0
0
33
0
0
16
0
0
0
-18
0
0
9
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
-1
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
1
0
0
0
38
0
-1
0
-2
-2
0
-1
0
0
0
0
0
0
26
-1
0
0
0
0
0
45
5
0
-4
0
0
-1
40
-1
0
68
-3
0
0
-43
0
0
0
0
0
1
-3
0
-1
0
0
0
0
-107
0
0
0
0
0
0
2
0
0
0
-2
0
0
-31
0
0
-2
0
0
0
69
0
0
0
0
0
0
-15
0
0
0
0
25
0
44
-4
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
-4
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
27
0
-2
-3
2
-1
4
18
0
4
-4
5
2
-1
17
-3
0
0
0
48
0
2
-9
22
0
-7
0
-16
7
-10
9
30
0
0
-23
19
-14
-21
30
-49
-1
16
-17
-4
14
-10
14
-4
-13
-19
0
7
5
-55
3
5
-4
1
-5
0
5
0
3
18
0
6
-22
11
19
-6
19
0
2
0
1
-57
0
8
0
-2
0
26
10
0
-2
0
0
0
-3
2
0
-36
-20
0
24
4
0
4
66
-3
-2
20
0
6
0
-27
0
-17
-44
-6
-3
21
-68
0
12
16
0
3
-5
-5
0
-43
-16
-57
0
-1
15
-2
-24
-13
4
-12
0
-9
0
-1
2
-14
42
0
16
-1
85
-4
-3
20
0
36
45
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
26
0
6
-19
0
0
0
-50
0
-25
-29
0
2
0
-44
0
0
0
0
2
0
-26
-42
1
0
0
0
5
45
-4
0
-6
0
0
6
-16
0
0
7
0
5
-18
11
0
1
-30
0
0
6
-53
0
0
64
8
0
-44
-4
0
0
-26
0
5
6
-17
0
0
-10
4
20
0
6
0
0
4
0
-37
0
-69
0
0
67
0
45
0
-42
0
0
0
0
0
0
15
1
0
-5
0
0
-4
-15
0
-19
43
0
0
1
-4
0
6
-19
0
0
0
22
0
1
-1
0
0
0
2
0
21
-10
0
0
3
31
0
34
43
-1
0
0
21
0
0
-5
0
0
0
-5
0
78
0
0
8
0
-34
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
-7
0
2
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-57
-6
0
0
0
0
2
43
0
0
10
2
0
0
-1
0
0
-5
0
0
5
-76
0
0
-8
0
0
0
14
0
0
0
0
0
9
3
0
3
0
0
0
0
-13
0
0
-3
0
0
0
30
0
0
0
7
0
0
44
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
9
0
0
-3
0
0
1
-45
0
-7
8
0
0
0
28
0
0
1
0
0
0
-17
0
7
0
0
0
0
-2
0
0
0
6
0
0
-40
0
4
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
43
1
17
-1
0
-31
0
0
0
0
3
0
-43
6
-1
0
5
0
0
-43
-2
0
20
0
0
-4
12
-5
0
37
-42
-5
-22
30
0
0
5
0
0
1
-26
0
-9
28
3
-9
0
0
0
6
-88
0
0
0
15
0
0
-9
-53
2
0
-18
0
0
44
-7
-1
0
88
-2
0
0
-19
-53
0
-23
0
0
0
0
0
0
-63
3
0
0
0
0
6
-25
0
-43
-41
0
0
0
49
9
16
12
-5
0
0
83
0
-21
7
0
0
0
-52
0
0
-17
42
0
0
-2
0
-68
-8
-3
0
0
2
0
3
15
-2
0
0
17
0
-20
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-20
-29
5
-21
47
-11
-47
-47
16
-8
-30
-1
-1
2
-7
-8
-44
-3
-40
-38
57
10
18
-14
-17
-5
3
-12
-10
-28
-1
25
-33
41
-44
3
43
22
34
0
-36
4
1
-87
34
-23
-65
29
-77
12
-16
-21
34
-112
48
-113
0
-33
17
15
-18
-88
34
-17
-18
-47
53
-14
26
40
1
54
-50
-29
-33
1
-1
-5
2
-2
13
-6
-23
-59
-42
-71
-43
-48
-27
4
-37
12
4
90
42
-1
47
-57
-18
-4
-75
-9
-20
-16
-2
30
-22
49
40
69
-57
-28
8
18
-12
44
9
-26
-27
0
32
29
-19
28
-17
8
-10
9
-20
-39
21
4
-6
-1
45
-72
-3
-3
28
-8
14
-45
-52
-5
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
-1
0
0
0
-4
0
-1
1
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
14
0
0
0
0
0
0
-35
0
0
0
0
0
0
-100
0
0
0
0
0
0
-4
0
0
5
0
0
-1
3
0
0
-1
0
0
0
7
0
0
-5
6
0
0
-4
0
0
0
0
0
0
-29
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-6
0
0
4
0
0
0
-2
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
39
0
-3
0
11
29
0
14
0
-6
0
5
-42
0
-14
-64
2
0
-1
0
0
-34
-10
0
-12
0
0
3
30
-9
-3
53
-3
0
31
-36
3
-5
-90
0
9
-19
2
10
5
-27
11
0
53
-9
0
-5
45
-5
0
-8
5
0
0
7
14
8
-17
4
0
0
5
6
62
0
30
0
0
0
-6
-30
0
-31
-1
0
0
0
0
0
-13
9
8
0
0
0
-9
4
0
-7
-5
1
0
-8
-63
0
-9
-1
-3
0
-1
-2
0
-25
-5
0
9
2
-7
0
42
1
-58
2
9
9
0
32
-10
0
-4
0
25
0
-6
0
-2
0
0
17
0
-83
1
0
-1
0
-22
28
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-16
0
0
0
0
-17
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
-17
0
0
2
-16
0
0
0
0
0
0
-10
0
0
3
0
0
6
-12
0
0
0
0
0
0
45
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-71
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
0
-21
-1
-1
0
0
-45
0
3
-3
0
0
0
-63
-2
0
0
0
0
0
27
1
0
2
0
0
2
-15
0
2
17
-1
0
6
8
0
0
0
0
0
-4
35
0
0
-19
0
0
6
19
0
0
-8
3
0
4
-37
0
0
4
17
0
0
13
0
0
2
0
0
0
-44
0
0
-5
-3
0
0
-14
0
0
0
0
0
0
16
0
0
-9
0
0
0
-13
0
0
-2
0
0
0
29
0
0
8
0
0
3
10
0
-2
0
0
0
0
-7
0
4
-3
0
0
-1
5
0
-44
23
0
0
0
50
0
0
-24
0
0
0
-17
0
-1
0
0
0
0
56
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
-6
0
0
0
52
0
0
0
0
0
-1
37
1
0
0
0
0
-4
-22
0
-1
8
-5
0
0
-7
-4
0
-13
0
0
-1
39
0
3
4
-3
0
0
-3
0
1
35
0
-2
0
2
0
0
1
0
0
0
-87
0
0
0
0
0
0
-22
0
0
1
0
0
0
-7
0
0
0
0
0
0
-51
2
0
0
0
0
0
-7
0
14
0
0
0
0
26
0
0
1
0
0
0
57
0
-4
0
0
0
0
-5
0
-1
3
0
0
0
31
0
0
2
0
0
0
-129
0
0
0
6
0
0
-6
0
-4
0
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
-4
-1
-4
-7
-55
0
-4
-57
4
-1
14
0
7
9
17
0
-48
8
2
72
-9
47
44
-32
26
70
18
-12
-7
-15
-18
0
-11
54
30
-20
11
-6
-11
-50
31
-1
22
-22
-7
8
49
-7
-3
-1
72
50
-31
-52
-2
0
1
39
-48
5
69
-1
29
-3
-2
0
-20
19
0
-34
-5
0
6
4
41
-6
41
60
31
-11
14
0
-62
-5
-9
24
-82
5
-2
-5
1
15
21
-104
37
0
-54
-4
-10
-35
-18
1
7
-65
2
-4
-6
-26
31
2
-16
0
3
32
28
15
1
-3
0
0
-3
-33
10
-1
0
23
-1
49
-4
-3
6
0
-46
-1
28
1
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-50
0
0
0
0
0
0
-6
0
0
-2
0
0
-2
34
0
0
0
0
0
0
-16
0
0
0
0
0
0
-41
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-18
2
0
35
-5
-6
3
3
-92
0
0
-19
0
30
-26
30
0
1
-7
1
24
-20
-47
-31
7
-31
-64
42
-12
33
67
54
-10
-11
17
-7
21
-13
8
-44
-42
-75
4
3
-22
8
28
-33
-68
-11
-1
-19
13
33
-30
73
-3
2
15
-22
29
-21
-13
-11
-5
-3
53
-47
0
0
23
20
3
0
-3
-2
3
-32
-17
4
5
-24
0
-46
-16
40
-11
16
18
-3
-36
-39
34
-10
68
-40
-7
-36
10
0
-37
-14
9
-7
8
-65
2
3
-5
-16
2
-19
8
-1
13
-7
-8
9
-8
26
3
30
20
62
-7
-10
18
36
16
-50
13
17
0
3
21
-59
-12
7
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
20
0
0
0
0
8
0
-27
38
-6
0
0
0
0
-46
-19
0
0
0
0
4
56
-1
0
-21
5
0
9
-5
0
0
13
0
0
4
37
0
9
-7
-3
0
-9
-53
0
-2
-3
-1
0
5
-25
0
0
7
-12
-3
1
-12
0
0
0
9
9
0
16
0
-5
0
6
14
0
-1
0
0
0
0
0
0
-57
0
-1
3
0
0
0
11
0
-5
5
0
0
3
7
0
0
30
-2
0
-4
-42
0
-16
13
0
0
-6
5
0
0
0
-1
-3
0
-28
0
-5
-1
0
0
0
18
0
9
0
0
0
0
35
0
8
0
0
0
0
12
-15
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-3
0
7
-36
1
0
0
0
7
10
9
1
-16
0
0
23
-10
-3
-4
2
0
2
29
-9
0
0
75
0
4
36
-26
0
-7
13
0
4
26
-19
0
0
56
0
8
19
-28
0
0
-12
0
-4
0
-12
0
0
22
0
-13
0
-42
0
0
6
0
-12
0
7
0
0
0
0
0
0
-60
9
0
2
0
0
-2
-34
0
-7
7
0
0
-5
27
0
6
-12
6
0
-5
-15
0
28
-33
0
0
14
-38
0
-4
10
4
4
0
13
0
-6
4
0
0
0
-54
0
0
-2
0
0
0
9
0
-10
0
0
1
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-26
1
0
0
5
0
0
22
0
0
-1
0
0
-5
19
0
0
4
2
0
-25
4
1
2
-6
0
0
1
50
0
0
-12
0
0
-2
-8
0
0
-16
0
0
-14
22
0
-1
0
-2
0
0
-53
0
0
7
0
0
0
-47
0
0
0
4
0
0
-8
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-6
-2
0
0
-2
-51
-8
0
1
0
0
1
-47
0
-4
0
0
0
0
5
0
1
0
0
0
0
61
0
1
14
0
0
1
36
0
0
3
-3
0
0
-44
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-27
0
0
0
0
0
0
4
0
0
10
0
0
0
28
0
0
5
0
0
0
-7
0
5
12
0
0
0
42
0
0
-2
0
0
0
-13
0
0
-8
0
0
0
-30
0
3
0
0
0
0
-26
0
0
0
0
0
0
-60
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
-2
0
0
0
0
5
0
0
0
0
0
0
57
0
2
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
-1
0
0
0
1
0
0
0
0
0
0
38
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-43
-2
48
1
3
-12
-52
-29
-33
8
24
-28
-8
-16
-35
-4
-4
-27
2
11
97
-36
-20
7
26
-37
-4
31
-15
5
64
-17
-40
8
48
-7
-38
28
-40
60
8
3
-62
-31
57
35
-61
-34
5
22
57
23
-33
15
0
-18
13
-57
45
-64
0
-4
14
-5
0
0
-22
0
11
-3
12
-5
-8
4
-56
-7
50
41
-41
21
24
101
46
1
-21
-101
1
13
-52
-18
-33
4
16
-4
11
-32
-8
5
-19
5
-39
-27
-24
22
10
-3
-16
-36
7
-6
0
1
1
35
11
2
-12
0
0
125
15
9
8
0
29
-2
-10
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
-3
0
0
0
-5
0
0
-1
0
0
0
-12
0
0
0
0
0
6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-41
0
0
0
0
0
0
17
-6
0
15
0
0
0
-66
0
0
0
0
0
-10
13
0
0
-5
0
0
6
2
0
0
0
0
0
6
-2
0
0
1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
3
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-9
0
0
0
0
-56
0
0
0
0
0
0
-2
0
0
43
0
0
5
5
0
-5
-3
0
0
0
14
0
0
-2
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
-40
0
0
0
0
0
0
14
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
12
0
0
0
0
30
0
0
0
0
0
0
56
0
0
0
3
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
36
0
0
0
0
0
0
-24
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-7
0
0
0
0
0
1
2
0
0
-3
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-33
-10
0
0
0
-10
-31
6
0
5
0
0
-5
0
0
0
-52
-18
0
-6
26
0
-3
14
0
0
23
-31
0
0
33
5
0
45
-41
1
0
46
0
0
-6
-46
0
0
-1
12
0
0
52
0
0
6
0
0
0
-80
7
0
-5
-2
0
0
-41
0
0
0
0
0
0
7
-2
0
-6
0
0
0
-20
2
25
1
0
0
3
-43
0
-4
15
-1
0
3
-62
0
12
-1
0
0
0
8
0
0
3
0
0
2
29
0
-66
-9
0
0
0
-37
0
14
-12
8
0
0
-25
0
-5
0
0
0
0
-67
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
18
57
-21
1
-8
-17
2
44
19
25
-8
123
37
-15
19
-40
36
-58
-48
-1
0
40
-1
31
23
61
1
-11
24
34
-9
-32
-50
44
-13
-11
56
23
-35
-84
-41
-23
-23
50
-35
-4
-26
-21
-18
-11
-10
-38
21
-49
-23
0
20
-73
5
-20
29
-47
25
33
37
-18
0
-22
41
22
3
-32
-7
10
-15
-1
-24
12
-25
-6
24
-48
-31
-20
-24
-22
45
35
17
-26
9
-21
-135
5
48
-54
75
-8
40
-4
-10
-4
27
-6
10
-7
33
7
-5
-1
-39
-16
-10
-53
-6
3
0
-12
0
5
-58
-19
33
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
1
0
-24
0
0
-21
-27
0
0
4
20
-4
16
-23
0
-2
-63
0
0
-46
-23
0
17
25
15
1
-32
1
0
1
27
-1
3
-8
6
1
0
72
-21
59
3
30
0
-2
5
0
-24
0
-19
0
0
14
9
-48
0
-27
0
0
0
0
2
0
-18
7
0
-3
0
0
1
43
1
26
-28
0
-5
-14
-25
-5
2
-43
-13
0
-24
5
0
-15
-54
0
0
-3
23
0
-25
13
34
-1
7
-39
-6
46
-7
0
-3
-3
27
1
0
29
-2
-1
0
-38
0
-68
0
0
3
0
22
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
39
6
0
0
0
17
15
-3
0
30
8
0
-2
-42
3
0
-36
0
0
-7
-75
0
0
-27
-12
1
25
-16
0
0
-17
0
0
-3
-50
0
-2
-4
-10
-3
-1
-28
0
0
-1
0
63
0
66
0
-1
0
0
-63
0
-9
0
0
0
0
0
0
1
21
3
0
-1
0
0
34
-4
21
2
0
0
0
-1
0
0
13
0
0
-3
-44
0
4
-7
0
0
0
-27
0
2
-12
-1
0
0
-34
0
-4
0
0
0
2
-36
0
0
0
-8
0
0
-65
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
0
0
0
0
5
31
0
0
6
0
0
-7
66
0
0
-1
0
-1
5
-23
0
0
-42
0
0
-1
-65
0
0
1
0
5
4
-68
0
0
0
0
0
0
69
0
0
0
0
11
0
3
0
0
0
0
-3
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
1
26
0
2
-3
0
0
0
-11
0
0
0
0
0
0
33
0
4
-7
0
0
0
-39
0
4
0
0
0
0
37
0
-10
0
0
0
0
-26
0
-1
0
0
0
0
-23
0
-3
0
0
5
0
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-57
0
0
2
0
0
0
28
0
0
3
0
0
0
-60
0
0
-4
0
0
0
-34
0
0
0
0
0
0
17
0
0
0
0
0
0
-42
0
0
0
0
0
0
25
0
0
-1
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
1
0
0
0
0
-1
0
0
0
0
0
0
13
0
-12
0
0
0
0
-4
0
0
0
0
0
0
-42
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
0
-10
-1
0
0
1
-20
0
-3
0
0
0
0
-55
0
1
-3
0
0
2
34
0
0
-2
0
0
0
-40
0
0
36
-23
0
0
-147
0
0
0
0
6
0
46
0
0
0
0
-5
0
-28
0
0
0
0
0
0
-52
0
-3
1
0
0
0
-19
0
10
0
0
0
0
32
0
0
2
-1
0
1
50
0
8
0
0
0
0
3
1
-2
0
0
0
0
6
0
1
0
0
0
0
8
0
0
0
5
0
0
9
0
8
4
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
73
54
18
-24
-75
6
21
28
101
61
-97
-29
42
1
19
-15
36
-27
-44
6
-24
46
46
32
-47
0
-1
11
-15
-81
31
-3
-4
-26
-5
-4
-121
-64
-48
-29
46
3
-14
19
-91
-22
-34
4
28
-74
-35
43
-8
-32
4
0
32
84
-20
3
15
8
-13
-57
69
-16
-9
76
-30
42
14
74
-34
-22
8
77
10
9
5
23
18
-13
-110
-33
11
60
6
-44
-26
11
-3
0
22
-1
1
-62
11
-17
1
61
-24
22
-57
23
6
0
8
60
-23
-43
47
-16
-1
-23
-25
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
-3
-26
-34
-28
0
-5
23
0
2
-38
0
0
-29
15
0
41
42
6
-8
-6
-23
1
0
8
0
0
-28
63
0
0
1
-2
1
-5
-67
0
0
42
0
8
0
89
-5
0
0
4
13
0
25
0
0
0
0
0
0
47
5
3
5
-4
0
-2
-131
0
85
10
-3
0
-5
-38
-2
1
-7
1
0
2
-38
6
-19
-30
0
0
0
-135
0
-48
-13
0
-1
0
-53
0
-28
1
0
0
0
76
0
0
-6
27
0
0
-42
-5
17
0
0
-6
0
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
1
-3
10
0
0
-46
0
0
0
0
0
0
9
0
0
0
-8
0
0
-75
0
0
-3
0
0
0
24
0
0
-1
-5
0
0
-39
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-1
0
0
0
0
5
0
0
0
0
0
0
7
0
1
0
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
1
6
5
-58
4
-11
60
3
-4
3
0
-2
76
31
-7
0
47
-13
-7
12
-70
0
0
65
-1
0
-1
14
0
7
39
34
0
0
2
0
0
5
0
16
0
4
-1
0
0
91
3
0
8
0
5
0
0
0
0
8
35
0
-2
0
0
0
-34
-6
9
5
0
0
0
-29
0
-5
-2
0
0
-12
120
0
4
46
1
-5
7
-19
0
0
-6
-1
0
2
30
0
-18
-6
0
0
4
21
0
-2
0
-2
1
0
56
-1
-21
0
0
7
0
-11
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
25
0
0
0
0
0
-1
-26
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-3
0
0
1
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
-32
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
-2
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-46
0
4
67
0
0
6
-9
0
9
-79
-13
5
-4
-1
0
0
14
1
0
-5
36
0
-2
83
-62
0
0
-30
2
0
1
2
-6
0
57
0
-1
0
-41
-6
0
19
0
0
0
0
7
0
39
-10
-1
0
0
0
-3
-7
2
-84
22
0
0
-8
10
0
-10
8
1
7
3
6
0
-27
41
0
0
7
-57
0
-6
17
24
0
0
-120
-1
3
27
-1
0
5
-14
1
47
-4
5
0
0
-72
0
-1
0
0
-1
0
13
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
31
-65
-52
-5
-6
13
11
11
11
-18
-24
45
-39
73
2
31
-2
-5
-79
27
-30
10
-9
-84
21
53
-1
61
20
14
-61
33
7
-49
43
25
-24
-6
-27
-9
10
2
4
-18
23
-3
-4
-7
1
7
-16
-14
94
-4
-3
-49
0
11
-1
-5
57
50
41
4
5
55
24
-32
-70
-24
-5
-62
28
-22
-112
8
23
-27
16
68
-2
3
-23
-72
-4
21
-17
-17
5
42
-38
5
3
-39
55
31
38
1
-19
12
-62
-23
5
-21
3
33
-51
-3
-25
-22
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
0
-1
-13
0
0
30
-25
0
1
51
9
0
-15
28
0
0
33
2
0
-1
-7
0
0
-1
8
0
0
-44
0
0
0
0
4
0
24
0
0
0
0
0
0
-77
0
0
0
0
0
0
-1
3
4
-6
0
0
3
5
2
34
-4
0
0
0
-34
0
0
-5
0
4
0
10
0
1
-3
0
0
1
-82
0
0
-2
22
5
0
14
0
-30
0
0
0
0
-17
0
0
0
0
0
0
25
0
-5
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
-1
0
-23
0
0
24
-9
0
0
13
5
0
-3
22
0
0
13
0
0
0
17
0
3
6
6
0
0
-45
0
1
0
0
0
0
-5
0
0
-3
7
2
0
1
0
0
0
4
0
4
53
7
2
2
0
0
0
-41
0
-25
4
0
0
0
51
-1
0
0
0
0
0
-24
0
-7
-6
0
0
-4
70
0
20
-24
3
0
0
38
0
2
-2
0
0
0
-70
0
0
-7
0
0
0
0
0
-3
0
0
0
0
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
40
-5
30
-78
2
30
-15
7
0
21
54
66
-6
12
11
-43
-1
3
19
-4
24
-28
0
17
-43
-122
0
30
-19
-1
10
42
-1
7
-1
28
0
-2
-29
8
-53
0
40
1
-7
0
-1
6
0
-5
32
0
1
1
2
-26
-1
61
58
9
-1
-3
-12
57
0
-60
32
-14
2
21
1
6
54
62
43
-8
-4
20
-1
9
-20
48
5
15
60
-9
-14
31
0
-8
29
19
5
5
-45
66
16
-2
25
0
-73
25
0
-42
0
36
73
-25
4
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-2
0
20
0
0
-18
-23
4
19
22
0
-2
-32
-36
0
0
-6
0
4
5
-61
7
10
8
-1
-5
5
12
0
0
-1
-2
-6
0
28
0
0
0
0
-52
0
2
0
0
0
0
1
0
1
-4
-3
0
0
0
-6
23
7
36
-21
0
0
8
-30
0
-5
-11
0
0
-22
-19
-6
30
-20
0
0
1
-51
0
-5
6
-4
0
9
11
-7
-22
-9
0
-1
10
-89
0
0
4
0
7
0
-44
0
12
-2
0
-7
0
52
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
6
0
0
0
-35
0
0
-3
0
0
0
-99
0
0
13
0
0
2
3
0
0
0
0
0
0
-30
0
0
0
0
0
0
83
0
0
0
0
0
0
-86
0
0
0
0
0
0
-28
0
0
0
0
0
0
-29
0
0
0
0
0
0
-83
0
0
3
0
0
0
-6
0
5
-5
0
0
0
41
0
1
0
0
0
0
84
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
0
0
51
-39
5
-13
-3
0
6
38
-6
0
0
-23
0
2
-7
60
0
9
37
0
0
-39
0
-7
0
-18
0
-13
16
114
-16
0
3
0
-2
0
4
0
-3
6
62
1
0
-7
0
1
-53
2
8
24
0
0
-3
48
0
-16
47
-34
0
8
-29
-1
-50
-38
25
1
0
-6
0
-3
-71
-4
0
-3
-16
0
-38
-19
1
0
-3
5
0
-1
-19
-13
-8
0
4
-3
-34
0
0
6
0
-53
-3
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
-71
21
-22
-40
27
4
13
-9
-21
50
-8
-82
-4
8
10
6
9
33
-1
-41
15
30
-61
32
-37
-37
-40
-6
44
-39
-13
11
-22
0
30
43
46
6
-46
-69
19
23
-54
38
31
23
-10
-9
21
-27
-18
-38
-8
-5
-19
0
57
-8
-28
-58
22
-12
-5
46
-53
10
-15
-16
-18
5
29
54
5
13
-3
-55
-25
-30
-10
-8
85
-58
9
57
-8
-47
27
-6
-31
-15
5
71
-9
36
-10
-79
15
22
9
21
-45
-7
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
5
24
0
0
0
-35
0
0
0
0
0
0
7
0
0
0
29
0
0
22
0
0
0
0
0
1
8
0
0
0
0
0
0
52
0
0
0
0
0
0
-29
0
8
5
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
-7
9
0
0
4
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
46
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
-17
0
0
-2
-8
0
0
-4
1
0
-4
43
0
0
5
4
0
0
-101
0
0
-4
0
0
0
31
0
0
0
2
0
0
-29
0
0
0
0
0
0
27
-2
0
0
0
0
5
70
-8
10
0
0
0
0
22
0
0
-4
0
0
0
21
0
0
5
0
0
0
-20
0
2
0
0
0
0
11
0
1
0
0
0
0
86
0
0
0
0
0
0
25
0
0
0
0
0
0
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
30
-3
-17
-31
46
-4
-9
14
0
20
-87
30
-5
0
40
0
3
-59
-101
0
-13
0
0
7
2
10
-34
-2
-49
0
18
30
4
43
0
2
3
0
0
0
1
0
44
33
7
-27
-6
0
3
30
10
-17
-5
0
0
-47
-26
-1
37
-47
29
0
18
-19
-4
117
39
0
-6
5
-4
0
7
-8
38
0
51
11
0
-8
-48
12
4
-1
-86
4
5
3
-1
-4
0
0
0
44
-1
0
-31
0
-17
16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
1
0
0
0
0
-44
0
0
0
0
0
0
-21
0
0
0
0
0
0
-44
0
0
0
0
0
0
11
0
0
0
0
0
0
-10
0
6
3
0
0
0
37
0
0
-8
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
-3
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
-4
0
0
0
-2
0
0
-4
0
0
0
-21
0
0
3
5
0
0
34
0
0
0
0
0
0
16
0
0
0
-5
0
0
19
0
0
0
0
0
0
30
0
0
0
0
0
0
-32
0
0
0
0
0
0
31
0
0
-2
0
0
0
37
0
0
-7
0
0
0
90
0
0
0
0
0
0
-27
0
-7
1
0
0
0
-4
0
0
-6
0
0
0
74
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
43
8
-10
-3
18
0
-1
1
0
-4
23
38
2
0
19
0
1
-24
0
82
0
47
0
-1
-16
-23
69
0
-51
0
0
0
0
3
0
16
1
1
9
0
0
-3
32
1
2
5
0
0
0
-16
0
-18
-18
8
0
4
11
-9
32
-74
0
20
1
2
17
5
-39
-21
0
-13
15
0
23
-49
-2
0
0
-43
0
0
1
16
0
0
41
0
-35
8
0
4
0
-21
52
-4
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-29
43
21
37
20
52
25
5
5
7
-56
35
21
28
0
10
2
11
-6
14
-31
67
-48
-2
-12
-16
0
35
-1
30
-3
2
78
-5
11
12
-16
37
8
-1
27
18
117
-107
-47
14
-18
-125
30
-8
88
59
-1
17
14
0
-15
-75
-40
-26
1
-72
-10
66
9
-40
-41
10
36
-15
-17
8
-3
-46
9
0
46
13
11
1
-56
-9
-16
9
55
-4
-12
-29
20
0
40
-72
77
28
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
5
-52
0
0
0
1
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
-20
0
0
0
0
0
0
-41
0
1
0
0
0
0
5
0
19
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
1
0
0
11
0
-8
0
0
0
0
-6
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
0
3
4
0
0
0
44
2
0
9
1
0
-1
-98
0
0
0
0
0
1
-26
0
-1
2
0
0
0
-1
0
0
0
5
10
0
96
0
0
0
-2
0
-2
-16
-3
-11
2
0
0
5
-29
0
-1
-7
0
0
0
-53
0
-40
-8
0
0
0
26
0
0
14
-2
1
2
-31
0
4
-2
0
0
0
34
0
0
0
1
0
0
-14
0
10
0
0
1
0
86
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-8
-7
19
10
-1
0
-51
-1
-1
12
-50
32
-3
-2
0
3
-3
0
77
0
-11
-5
8
2
-30
58
0
-1
3
0
2
-3
5
0
-19
45
13
2
-8
0
40
-8
1
-10
29
14
-1
1
-66
5
18
-4
-13
0
-19
2
12
6
0
0
0
-32
-13
0
-82
3
14
1
-4
-14
-2
-30
12
1
-3
-2
28
5
4
-3
-40
15
0
-6
0
12
-2
-1
-15
0
16
-2
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-34
4
0
-45
0
0
1
-15
0
0
-14
1
7
0
-12
0
0
-32
0
19
0
-20
0
0
-2
0
29
0
4
0
0
0
0
3
0
34
1
2
-7
0
0
3
-57
0
68
14
0
0
-10
12
3
0
-4
0
0
-1
42
0
-12
12
0
0
0
-48
0
0
35
0
0
8
-36
0
6
25
0
0
-4
52
0
5
23
1
5
-4
43
0
43
0
0
-10
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
8
0
0
0
4
0
0
0
0
0
0
-16
0
0
-9
0
0
0
53
0
0
0
3
0
0
-23
0
0
0
0
0
0
-30
2
0
-1
0
0
0
-1
0
-2
0
0
0
0
-41
0
0
7
0
0
3
25
0
0
8
0
0
0
-10
0
0
0
2
0
0
33
0
-6
-2
0
0
0
1
0
0
-2
0
0
0
1
0
-5
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
24
-82
43
0
0
-52
0
0
43
1
-9
0
33
0
-3
-25
-15
3
0
32
0
0
0
0
0
2
-11
-5
0
8
0
0
0
15
0
-46
25
0
0
0
49
0
5
-5
2
0
0
-32
0
95
5
0
0
0
17
0
8
0
-5
0
0
20
0
67
1
-1
0
0
-7
0
5
1
-18
-1
1
42
0
-4
-3
-2
22
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-15
-32
50
-24
-26
40
-11
15
48
67
-22
50
-5
13
12
-9
2
-56
-35
0
0
5
-14
-75
-14
21
-39
0
-45
23
46
2
43
20
27
46
9
20
6
31
-22
-50
3
-17
-25
-35
-6
-129
10
-21
-6
51
0
-55
18
42
0
82
-2
71
71
-1
-64
-23
102
16
39
42
-38
-76
-22
-4
-55
-74
-20
-59
-29
12
-5
9
28
1
38
-6
5
-5
-25
-14
-90
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
2
0
-36
0
0
0
0
0
0
3
0
0
20
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
-13
0
3
0
0
0
0
-1
0
0
4
1
0
0
5
0
-1
0
0
0
0
-12
0
1
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
0
0
2
-1
0
5
-40
0
0
-1
0
0
0
-1
0
0
6
16
-2
0
44
0
0
0
0
0
0
-65
0
0
0
0
0
0
10
0
2
17
0
0
31
0
3
0
-4
0
0
-9
23
0
7
0
0
-3
0
21
0
0
0
0
0
-2
22
0
0
1
0
0
0
12
0
0
1
0
0
0
14
0
-1
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-4
16
-91
-3
-2
-1
0
0
0
1
-16
8
9
-1
-1
8
24
-69
0
-8
0
0
0
0
0
0
-52
-15
-4
3
0
0
1
28
0
-115
4
0
10
3
54
0
4
25
3
-4
21
36
0
0
-29
2
0
-24
-2
2
60
-9
-1
0
-1
-20
-1
-75
1
1
-2
2
3
0
18
-1
56
-1
0
6
0
-31
0
0
-4
0
15
0
3
0
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
0
0
0
0
0
0
14
0
0
-1
0
0
0
-3
0
0
2
0
6
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
-54
0
0
-22
0
0
-13
37
0
0
0
0
0
15
3
0
1
1
0
0
0
70
0
0
0
0
0
0
-74
0
0
0
0
0
0
-52
0
8
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-1
-13
0
0
-40
0
0
0
0
0
0
-7
0
0
0
-4
0
0
2
0
0
0
0
0
0
-11
-1
0
0
0
0
0
41
0
-3
-5
0
0
0
-69
0
0
2
0
0
0
8
0
0
0
0
0
-5
-71
0
0
-2
-2
0
1
-55
0
-1
0
0
0
0
15
0
0
0
0
0
0
32
0
1
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-2
0
-4
0
8
0
-40
0
0
-1
16
-3
0
-15
0
0
0
0
0
0
0
0
10
0
0
0
0
-18
0
22
0
0
0
0
-48
0
4
0
0
0
0
-15
0
-7
1
0
0
0
38
5
-1
2
-8
0
0
-75
0
-66
-5
2
0
0
20
0
0
0
6
-2
0
-45
0
0
0
0
-3
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
16
0
-40
53
3
-9
13
-33
0
-10
-104
-68
-9
0
14
-33
-2
-4
-2
-2
-3
9
-9
-26
66
25
25
6
8
-26
13
45
23
-1
30
5
26
75
-49
48
15
34
7
46
25
-51
19
-1
64
-17
-7
36
-2
6
0
14
0
43
-18
68
-24
-2
19
-4
-7
-29
-20
-4
54
2
-11
4
-54
-66
5
-37
0
15
-23
-13
10
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
1
0
0
0
56
0
0
0
8
0
0
-13
0
0
0
0
0
0
-28
0
0
7
0
0
0
27
0
0
0
0
0
0
37
0
0
0
0
0
0
52
0
5
-8
0
0
0
11
0
-5
0
-1
0
0
-91
0
-1
6
0
0
1
-3
0
0
0
-8
0
0
81
0
4
0
2
0
0
-3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
-3
17
2
-35
0
-2
0
-100
-4
0
-42
0
0
0
6
0
7
-52
5
0
-8
0
0
-5
59
0
-23
29
0
0
-17
-4
-6
0
-16
-29
0
7
56
0
16
-1
0
-1
-9
32
-7
-2
-19
8
0
0
23
0
52
-12
0
0
0
50
0
49
0
16
-5
0
-33
0
24
3
0
-13
0
26
-14
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
0
-5
0
-10
0
-62
0
0
40
0
-3
0
-58
0
0
0
0
0
0
-22
0
0
-2
0
0
1
-40
0
2
2
0
0
-1
22
0
-6
-6
-3
0
4
53
0
66
41
0
0
5
12
0
4
-1
-27
-1
-31
-12
0
1
13
0
-1
14
14
0
2
0
0
1
0
-19
0
-10
-3
0
-3
0
-68
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
-14
0
0
0
1
0
0
0
9
0
0
21
0
0
0
8
0
0
62
0
1
-3
0
0
0
1
0
0
0
0
0
7
-85
0
0
-3
0
0
0
26
0
8
-4
0
0
0
-16
0
1
1
0
0
0
1
0
-25
10
0
0
0
-27
0
0
0
0
0
0
78
0
-8
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
7
0
-2
0
25
0
0
0
0
0
0
-16
0
0
0
0
0
0
10
0
14
-1
0
0
0
40
0
0
-1
0
0
0
-30
0
3
0
0
0
0
-39
0
0
-2
0
0
0
125
0
0
0
0
0
0
-42
0
0
0
0
0
0
-10
0
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
6
-21
31
43
-6
7
9
46
116
-5
7
29
-12
23
-23
-57
0
21
39
44
22
-19
31
60
26
-15
-29
22
-25
22
-17
-16
4
97
24
2
3
-4
-32
12
44
-12
-14
-7
53
-27
48
48
16
46
-43
-73
15
-28
10
0
5
27
11
-8
1
-1
-3
29
-12
42
1
4
-1
17
6
-27
-17
-39
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-59
0
0
0
0
0
0
4
2
0
0
0
0
0
-2
0
-4
0
0
0
0
-23
0
0
0
4
0
0
0
0
1
0
0
0
0
-3
0
-7
0
0
0
0
3
0
5
0
0
0
0
2
0
0
0
0
0
0
60
0
3
0
0
-1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
7
-14
0
-71
0
0
0
0
0
0
-8
-1
0
0
0
0
0
12
0
24
-5
0
0
10
6
0
5
-10
0
0
0
-20
0
13
4
0
0
1
-3
0
5
0
29
2
2
38
0
17
-2
0
0
0
-18
0
-1
0
0
0
0
2
0
-41
0
0
10
0
-30
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
22
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
-1
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
10
0
8
2
0
0
0
16
0
2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
55
0
0
-10
33
0
0
3
0
0
0
0
0
0
-40
-1
0
0
0
0
0
2
0
0
1
0
0
-4
10
0
0
8
9
0
0
-65
0
-18
-5
0
0
0
-46
0
0
-1
-1
0
-1
-8
0
-40
0
0
0
0
36
0
0
-5
-2
0
0
-15
0
-4
0
0
0
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-36
0
1
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-2
-1
-2
12
-5
-45
-24
-53
-23
26
6
-5
-25
26
34
-44
13
3
-9
18
-14
34
48
89
51
-85
-14
4
0
73
12
-27
-32
1
-8
-17
76
21
23
-26
56
24
-89
27
19
30
4
-22
-4
16
62
-6
-40
-2
0
19
8
-2
-5
-7
0
47
-8
-4
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
5
0
0
0
-2
0
-10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-40
0
0
0
0
0
0
-2
0
1
1
0
0
0
15
0
0
-4
2
0
0
-30
0
0
0
0
0
0
-12
0
1
9
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
-63
0
3
0
0
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
-4
0
0
0
0
-3
-41
1
-1
30
0
0
3
-17
0
0
8
-3
0
0
-14
0
-1
-1
0
0
-1
-38
0
-1
0
0
0
1
22
0
-57
0
-3
0
5
33
0
0
5
-3
0
0
-58
0
-13
0
0
-1
0
-25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
0
0
0
0
0
-7
-1
-2
-8
0
0
0
-11
0
7
7
0
2
-1
10
0
1
0
0
0
10
-42
0
30
1
0
8
-16
22
8
0
18
0
0
1
-31
0
75
-3
0
0
0
7
0
0
-10
0
1
0
-11
0
9
0
0
-4
0
54
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
-15
0
0
0
0
0
-2
20
7
-60
42
0
0
-2
-26
0
-3
-60
6
0
-2
-50
0
-11
6
0
0
-3
7
0
4
-3
-7
0
8
-11
0
-21
-7
0
0
0
14
0
8
8
23
0
0
-22
0
-10
-4
0
0
0
-37
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
75
-101
20
-33
-23
37
-15
59
20
38
6
10
-67
15
-13
-76
-18
-17
-11
-16
22
31
-22
-21
-45
-81
-8
13
-83
-120
1
47
-38
11
28
-21
18
-25
-71
-5
27
27
-14
76
-48
-24
15
-19
28
16
-44
1
-18
21
-1
0
0
25
-3
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
-8
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
3
0
0
0
0
-3
0
0
0
0
0
0
-16
0
-3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
19
0
0
0
0
6
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-1
6
0
0
-2
0
0
0
1
0
0
-13
0
0
0
26
0
-5
0
0
0
0
-7
0
0
0
3
0
0
62
0
-20
0
0
0
0
-27
0
0
0
8
0
0
42
0
0
0
0
0
0
-49
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
15
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
42
-15
23
30
8
-35
-154
33
-1
-26
46
144
0
-33
-7
-8
86
11
-29
-9
48
-12
15
-95
-88
-4
35
16
-11
7
-9
-69
-22
38
34
-10
-1
-17
-65
47
36
2
-18
2
14
-29
-6
41
0
42
32
-40
-2
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
0
54
8
0
0
0
20
4
8
6
4
0
0
29
0
17
-3
0
0
0
54
0
2
0
0
0
2
-57
0
10
0
0
0
0
0
0
0
-1
0
-1
0
9
0
-26
0
0
-8
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
-4
1
0
0
0
23
-4
0
0
0
0
0
28
0
-4
0
0
0
0
-6
0
0
-1
0
0
0
-37
0
-8
0
0
0
0
3
0
0
2
0
0
0
-37
0
-8
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
3
-3
7
0
0
0
90
0
5
2
0
0
0
-38
0
0
-8
0
0
0
-5
0
0
3
2
0
0
14
0
1
0
0
0
0
112
0
2
0
0
-5
0
74
0
-4
0
0
0
0
-21
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
-10
-1
0
0
0
-21
0
0
0
0
0
0
-60
0
5
0
0
0
1
25
0
0
0
0
0
0
1
0
14
0
0
0
0
-18
0
0
0
0
0
0
-5
0
-4
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
1
0
0
-126
0
-17
0
-3
0
0
10
0
0
-8
0
0
0
8
0
-2
3
0
0
0
54
0
0
0
0
0
0
4
0
-8
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-14
2
-77
-5
-72
8
0
26
-7
78
-17
-3
-18
0
-32
0
60
-13
-88
4
59
-19
1
50
11
15
6
5
-42
-9
56
-75
-55
22
0
36
0
75
1
0
12
0
-6
-23
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
4
0
0
0
2
0
-2
0
0
0
0
-7
0
-8
-2
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
68
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-63
0
-8
-48
6
0
44
19
0
59
-47
0
-15
5
8
0
8
7
-59
0
1
-65
0
-110
44
-3
4
0
-30
0
0
-6
12
-1
0
-51
0
22
-1
-2
15
0
-20
19
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-14
0
0
12
1
0
-12
-2
0
-54
5
0
0
0
-52
7
1
-7
-1
0
0
-50
0
2
1
0
0
0
-74
13
-1
-4
5
0
0
78
0
-2
0
0
0
0
53
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
-2
0
0
0
3
0
0
0
0
0
0
16
0
12
0
0
0
0
2
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
2
0
0
0
20
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-51
0
0
0
0
0
0
-11
0
4
0
0
0
0
3
0
7
1
0
0
0
64
0
2
0
0
0
0
-15
0
-2
0
0
1
0
-34
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
20
15
-58
53
-23
19
-60
-9
2
59
-23
-56
0
10
-29
-4
-41
90
-15
-3
2
16
-1
80
-21
-21
-8
2
30
0
55
6
18
-20
0
11
17
35
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
7
0
0
-7
0
-7
0
0
0
0
-14
0
0
0
8
0
0
76
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-52
0
58
14
0
0
5
57
0
0
-5
7
0
0
23
0
-12
7
0
0
0
-66
0
0
0
0
0
0
45
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
3
6
0
2
0
2
-6
0
-8
-12
7
6
0
67
0
-29
3
0
0
0
4
0
0
-3
0
1
0
7
0
10
0
0
-1
0
29
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
0
-2
-6
0
0
0
47
0
0
0
0
0
0
-45
0
-8
1
0
0
3
-54
0
0
0
0
0
0
13
0
33
0
0
-4
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-12
5
0
0
0
-10
0
0
0
-1
0
0
-38
0
-7
0
0
0
0
-14
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-78
0
0
-8
14
0
0
35
0
0
5
-10
0
1
-47
0
0
1
-2
0
0
-7
0
-5
0
0
4
0
-22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-4
-2
28
22
66
-26
3
-14
24
7
-16
-71
4
10
92
0
85
4
-28
-8
0
25
-5
-52
0
18
-73
0
-34
-87
8
-1
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-9
0
0
0
-13
0
0
5
0
0
0
-12
0
0
0
0
0
0
6
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
115
-2
-4
-33
5
0
4
61
0
6
-8
0
0
1
-71
0
0
-15
0
0
0
-45
0
39
0
-1
-13
0
-67
1
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
3
0
10
-6
0
0
3
0
0
-3
0
0
0
6
1
0
0
0
0
0
-19
0
38
0
0
-9
0
91
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-2
0
8
0
0
33
0
0
0
0
0
0
36
0
0
0
0
0
0
-18
0
-5
0
0
0
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
2
-2
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
26
0
-4
0
0
0
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
2
4
0
0
-8
0
0
2
8
0
0
-8
0
-1
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-3
-1
7
46
64
-26
-9
-53
-1
13
6
-29
3
0
-1
-2
-15
-6
0
-18
0
0
-24
14
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
0
0
0
0
-22
0
9
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
27
10
3
0
-3
50
0
0
8
-2
0
0
-9
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
0
11
-3
0
0
3
-73
0
4
-5
0
0
0
17
0
-1
0
0
0
0
44
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
-40
25
0
0
0
46
0
0
49
0
0
0
-9
0
20
0
0
-1
0
-35
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
1
-2
0
0
0
8
0
0
0
1
0
0
21
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
1
-8
0
0
0
25
0
-8
0
0
0
0
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-16
1
3
87
-27
4
-1
3
-24
-5
-13
0
-19
0
21
21
9
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
-4
0
2
0
0
0
-39
-1
45
0
0
9
0
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
0
3
0
3
0
0
1
0
-14
0
0
-1
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
49
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-6
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-27
0
-54
12
-3
-13
0
-7
-16
4
13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-4
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
9
0
-1
7
0
-28
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
-13
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
22
24
-15
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
2
0
0
-2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-1
0
-1
-6
0
0
-1
1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-16
0
0
0
0
0
0
-51
0
0
2
0
0
0
-12
0
0
0
0
0
0
-3
0
0
6
0
0
0
0
0
0
0
6
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
30
0
0
8
-11
5
0
-5
0
0
0
-4
0
5
-9
0
0
0
0
6
-11
-7
0
0
0
0
0
28
0
0
0
0
0
2
-1
0
0
0
1
0
0
-6
0
0
14
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
3
0
-7
41
0
0
0
67
-3
12
32
-1
0
0
-73
0
24
19
0
0
0
4
-42
25
4
0
0
0
-5
-8
-15
0
0
0
0
0
0
26
0
0
-50
0
0
0
6
0
0
-1
-24
0
0
0
-30
42
0
-2
-66
0
0
-99
-12
5
18
11
0
0
31
-2
0
0
-87
0
0
-23
-41
0
0
41
93
0
-17
-4
0
0
19
0
0
-2
6
0
59
-8
5
0
0
-1
-5
0
0
0
21
0
-14
21
-24
0
0
-1
-1
0
-36
0
-9
0
0
1
31
5
-15
51
-3
0
-1
-17
0
0
-25
0
7
-2
29
0
4
25
2
0
23
52
0
-2
13
-2
0
0
-33
0
0
-66
-25
0
0
22
0
0
-21
0
-3
0
-40
-1
0
13
30
4
0
-74
25
3
0
0
0
0
0
-48
1
6
0
0
0
-15
0
-8
-2
0
0
17
18
0
-2
-9
0
0
0
-5
0
-6
2
0
0
0
-62
3
0
-6
-4
1
0
29
-2
-32
0
0
-3
0
34
0
-4
19
8
6
0
-28
0
48
0
-2
-3
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
30
-46
-133
6
-8
-31
77
21
-2
52
36
-12
-3
31
18
18
35
-39
47
-4
14
15
-3
50
-58
-32
-36
-3
-6
19
31
-3
-36
34
-8
-24
22
-1
-1
-10
15
-2
-17
17
-3
-3
-22
55
-1
-72
-34
2
-37
-60
31
-27
2
26
-17
-135
52
-57
-52
0
0
0
0
0
0
0
39
40
18
43
54
61
-15
19
30
56
19
17
-1
-7
1
38
87
57
6
-27
-4
-16
-4
-25
46
-3
-6
-6
-15
7
-73
-19
3
34
-7
33
12
2
-63
37
-9
-5
-6
-64
-3
-20
-21
71
-11
14
6
1
60
17
-14
-35
33
20
17
22
49
23
17
11
20
32
14
13
1
20
35
-3
-7
13
29
30
-28
18
-2
22
5
0
1
-7
-32
-6
18
-3
-10
-38
-3
7
-2
-2
7
-14
0
-4
53
-4
33
-2
20
57
12
-36
12
-20
-14
-67
-5
34
-128
10
-59
-8
-57
-27
-7
-30
-6
3
48
-5
30
79
-8
16
-23
9
20
31
2
-1
11
35
27
18
30
41
15
1
-19
11
10
6
-2
-28
-8
10
-2
-10
13
2
-5
-1
12
15
-19
48
-8
37
-2
-2
17
-16
-11
-3
-111
7
-24
-49
-13
3
6
-21
49
-52
-27
-45
58
-78
33
10
-48
49
22
77
47
42
-7
-1
31
-1
12
18
5
4
13
25
6
65
14
19
-16
15
5
-7
27
-6
-15
0
-38
9
-14
44
-16
-24
-7
-53
-21
-23
-4
1
36
-3
30
9
7
20
51
-52
-8
-32
18
7
18
-65
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
1
0
3
-6
2
2
0
12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
-66
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
12
-2
0
0
0
0
0
4
0
0
0
21
-1
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
-18
-8
-5
-1
0
0
0
-6
0
0
0
0
0
5
8
0
-1
0
0
0
0
43
0
0
-3
0
0
7
33
0
0
1
0
0
0
16
0
0
-1
0
0
0
-2
0
15
0
-1
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
3
-1
0
0
0
0
0
-43
0
0
-1
0
0
0
-53
0
0
-1
0
0
-1
-31
0
0
0
0
0
0
48
0
0
1
0
0
0
-3
0
0
1
0
0
0
-71
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
39
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
7
0
0
0
-2
-4
1
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-1
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
-29
0
-1
-19
6
0
0
-38
0
0
1
-3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
36
10
0
0
0
0
1
27
0
0
-1
0
0
-15
-8
0
2
-8
0
0
-71
0
0
0
42
0
0
0
9
0
0
3
0
0
0
22
0
0
0
0
0
0
20
0
-4
0
0
0
0
14
0
0
0
0
0
0
17
0
0
0
0
0
0
25
1
0
0
0
0
0
7
4
0
-1
0
0
0
-42
0
0
0
0
0
0
-34
0
-2
-1
0
0
0
-20
0
0
-1
0
0
0
-12
0
0
-3
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
5
0
7
0
0
0
0
2
0
0
0
5
0
0
24
0
-4
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-66
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
15
0
1
-1
0
0
0
0
0
0
-1
-6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-1
0
0
0
-1
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
8
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
12
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
1
0
0
-1
-1
0
0
-9
0
0
0
2
0
0
-8
6
-7
0
0
-1
0
17
-2
0
0
0
0
0
0
0
-17
0
0
-6
0
0
0
0
35
0
0
0
0
0
33
0
0
0
0
0
40
103
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
11
0
0
4
0
0
1
-70
-80
0
-19
-24
0
0
-57
0
0
14
17
14
0
-8
51
0
12
1
0
0
-6
0
0
0
-13
0
0
-3
6
7
0
0
-32
0
0
0
0
0
33
73
-10
2
0
0
8
-14
-1
1
-4
0
0
43
76
1
6
-9
4
0
87
30
0
0
-2
0
0
63
-77
0
0
-54
66
0
-63
-14
0
1
-55
0
0
-19
-65
3
49
2
3
0
0
-58
0
0
4
0
0
0
13
-20
-7
0
0
0
4
-16
-12
0
35
0
0
7
-44
-6
15
54
0
0
105
0
0
0
59
0
0
39
1
0
2
137
-50
0
-89
-61
0
1
34
0
0
-13
-65
0
0
-48
13
0
0
-9
0
0
17
0
0
0
21
0
0
-7
-5
0
0
-4
0
0
0
0
0
0
-52
1
0
1
0
0
6
-13
4
105
0
0
0
0
-11
0
6
26
0
0
12
-92
0
-42
19
0
0
-1
11
0
9
-5
-2
0
0
18
0
78
33
0
0
0
9
0
0
2
-6
0
0
-88
0
-97
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
49
3
-1
92
-4
1
-162
-1
0
49
54
0
3
-30
1
0
8
-1
1
3
0
-5
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
21
0
0
-3
0
0
-37
0
0
0
0
0
-11
69
0
19
0
0
0
0
0
0
0
0
0
-38
-25
36
31
42
6
0
-153
42
0
-4
-16
0
0
-3
82
0
0
7
0
-6
-4
-7
0
0
-1
6
-1
2
4
0
0
-8
0
-4
0
43
0
0
0
0
3
0
0
-54
0
0
0
-17
0
103
-17
63
0
1
0
-6
4
-6
0
-37
12
0
46
-14
3
40
-24
-9
0
-51
43
1
3
-44
-2
-8
6
-67
0
0
-21
-41
0
14
-79
0
0
12
25
0
0
-25
0
11
-29
-13
9
0
-80
0
0
2
0
-1
0
-2
0
20
0
1
0
0
81
77
0
14
0
0
12
46
-43
-7
7
10
1
-34
-10
0
0
-3
0
0
-15
11
1
-7
-8
0
12
70
-53
0
0
-48
-2
-16
0
-72
0
-9
-13
-43
-1
0
10
0
-1
52
0
-7
0
-119
0
0
0
2
18
0
9
0
0
0
0
8
0
66
48
3
-8
7
0
0
-76
1
17
-38
0
0
8
48
0
6
-5
0
0
0
-45
0
40
54
-24
0
0
-63
0
-8
53
46
0
0
-8
0
-10
16
12
0
0
23
7
0
34
18
0
0
-30
0
59
0
0
0
0
74
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-29
0
0
0
-9
0
0
0
2
0
0
1
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
15
0
0
0
0
0
-2
0
0
0
-20
0
0
-1
0
0
-32
-2
0
0
-8
14
0
0
-2
0
0
0
10
0
0
-1
0
0
0
8
0
0
-1
0
0
0
1
0
-2
0
3
0
0
20
0
0
0
0
0
0
-46
0
0
0
0
0
0
-90
0
0
0
0
0
1
0
1
0
6
0
0
-1
-71
0
0
-3
0
0
-1
-47
0
0
0
0
0
0
4
0
0
2
0
0
0
-10
0
0
-1
0
0
0
-52
0
0
0
0
0
0
1
0
0
0
0
6
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
-4
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
24
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
14
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
15
0
0
-6
0
0
0
-1
-1
5
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
64
-14
3
0
0
0
5
-6
0
8
-32
0
0
1
-3
0
-61
8
0
0
-26
31
0
0
2
0
0
0
-11
0
0
-1
0
0
0
77
0
0
2
0
0
0
-4
0
-21
7
0
0
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
-57
-3
0
0
0
0
1
-92
0
0
17
0
0
0
-49
0
3
8
0
0
0
-47
0
2
2
0
0
0
-20
0
0
-4
0
0
0
0
0
0
4
3
0
0
-36
0
0
0
0
0
0
18
0
0
0
0
0
0
38
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
1
0
0
0
0
8
0
0
0
0
0
0
4
0
-3
0
0
0
0
36
0
0
0
0
0
0
4
0
0
0
0
0
0
48
0
0
0
0
0
0
24
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
13
9
75
19
-3
8
28
44
44
-91
28
-27
11
7
44
37
27
21
10
20
-7
9
13
-27
-26
20
-4
9
12
6
-39
-21
8
33
-34
73
59
-6
-41
-36
9
-36
-22
1
-54
21
30
-31
-43
13
26
38
-7
-13
34
0
0
0
0
0
0
0
27
2
55
44
20
84
10
12
40
-4
-56
3
13
24
-3
37
18
17
0
-10
5
14
4
51
-13
-2
-19
-1
-10
18
24
14
-8
-41
4
6
17
-13
-71
0
1
2
-4
11
14
11
-12
47
25
141
7
63
-21
-17
47
-25
20
17
12
-9
10
42
31
9
-14
-18
-73
7
6
54
-14
11
33
2
-11
43
-28
11
-1
-1
-7
4
-10
13
18
4
-19
12
4
62
5
-7
-7
17
24
1
1
31
42
-3
1
-33
10
-2
-13
11
4
8
1
69
10
11
3
3
-8
-29
34
-8
-47
28
9
-32
33
6
22
25
-38
-18
-68
-59
-4
-24
-22
-32
-4
-47
-31
-2
-15
-21
-3
-2
3
2
-16
3
-6
-5
0
-31
-28
7
-9
-6
-2
1
10
-16
4
11
5
19
3
27
12
5
5
2
-54
3
27
-66
15
28
-53
4
34
20
5
22
-38
-56
-10
-6
0
-66
-9
-119
22
15
8
-15
16
29
-8
34
-2
-5
-42
-64
-55
3
10
-13
-2
22
-21
-19
-15
-10
19
-9
73
4
-9
35
-1
46
4
-7
40
0
-23
-7
-4
5
-33
18
18
46
-26
45
10
-19
-23
40
-14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-2
0
2
-29
52
0
-80
-4
0
0
4
0
-4
3
7
0
0
0
33
-2
5
-1
0
0
0
-5
-6
-3
-3
0
0
17
0
4
0
0
0
41
0
0
-25
0
0
10
0
0
0
0
0
83
61
0
0
0
0
0
0
0
0
0
0
0
-63
13
8
0
-91
0
1
22
18
-8
0
13
-23
4
-47
-32
0
0
34
-1
-26
-2
-6
0
0
1
-7
8
-33
-1
0
0
-2
0
-9
0
21
0
16
-1
0
13
0
0
54
0
0
0
-24
0
70
40
-2
0
0
0
29
-27
0
5
-55
0
0
-28
62
0
-21
98
-1
0
20
16
-2
0
0
0
-3
8
-38
0
3
-33
-1
0
-12
-27
0
0
-121
0
-2
6
-6
0
-16
-5
-36
-1
0
-194
0
0
-1
0
5
0
57
82
8
0
0
0
0
27
-18
0
-10
0
0
0
-12
1
5
41
-6
-19
8
-39
0
0
3
0
6
38
1
0
15
-38
17
0
-29
-130
0
0
5
3
0
9
-25
0
-1
-38
-51
-8
9
38
0
0
-5
0
-2
0
-22
0
0
0
8
7
0
62
0
3
0
-25
0
0
45
-13
-3
2
0
0
4
49
0
-37
-3
0
0
4
5
-7
-8
-4
3
8
1
-4
-32
-35
-2
0
0
1
37
0
1
0
-14
4
0
32
0
13
6
0
-10
0
12
0
0
-1
-8
0
1
-28
0
28
0
0
-2
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
9
0
0
-57
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-55
0
0
-3
0
0
-23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
-41
-5
4
0
-75
0
0
-10
0
2
0
-3
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
10
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
-1
0
0
0
0
0
-3
0
4
0
0
0
-1
-8
0
0
-53
0
0
-2
0
0
-35
-24
0
0
-57
1
0
0
-32
0
0
1
-14
0
0
-3
0
-2
0
19
0
0
0
0
0
0
6
0
8
0
0
0
0
-27
0
0
0
0
0
0
-36
0
0
0
0
0
0
-22
0
0
0
0
0
0
-63
0
0
-2
13
0
0
-31
0
0
1
0
0
-3
-7
0
0
-2
0
0
0
4
0
0
-2
0
0
0
6
0
0
-1
0
0
0
-49
0
0
0
0
0
0
-1
0
0
0
0
-2
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
-25
0
0
0
0
0
0
70
0
0
0
0
0
0
-9
0
0
-1
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
50
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
-2
18
0
-41
3
10
15
18
0
0
0
8
14
0
-3
-7
0
-1
13
1
0
1
0
0
0
55
0
8
24
5
0
0
5
0
-26
0
16
0
0
0
-16
0
0
0
0
1
20
41
0
-5
0
0
0
0
0
0
0
0
0
-23
6
0
42
-25
23
0
-27
19
0
0
0
-73
0
-44
29
16
29
-34
0
0
-3
8
0
0
-29
16
0
-20
-17
0
0
-3
-1
0
-2
7
0
0
-20
0
0
0
8
-68
0
0
0
0
0
-81
111
56
21
0
0
30
24
14
5
59
0
13
-9
45
0
-26
-56
47
0
-9
11
0
1
-31
12
0
-20
-33
0
-28
-44
0
0
-14
18
0
0
-69
-4
0
44
-32
0
-48
-60
-5
0
5
-10
0
30
0
-3
0
0
25
49
47
0
31
0
0
-21
-37
0
2
0
0
-88
13
11
3
23
16
0
-75
-5
0
0
-57
0
0
51
42
0
30
30
72
0
69
-2
0
-8
16
-9
0
9
-30
0
17
8
-79
0
7
-34
0
0
-16
0
0
2
-27
0
67
6
-38
0
0
-9
41
0
0
0
0
0
-15
-4
2
24
-5
0
0
-52
2
-10
-54
0
0
8
33
0
3
18
7
0
35
-24
0
-24
-17
8
0
-18
-52
-2
-13
-15
41
0
2
-57
22
5
35
-2
0
0
-95
0
-10
4
-59
0
0
12
0
25
13
6
0
-3
59
-13
0
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
34
47
-54
91
12
17
-102
-52
-55
-36
-43
-47
-52
-29
-9
-22
-14
32
-2
30
36
-17
63
0
-72
17
-70
8
-32
-3
-30
5
13
-60
-2
5
9
0
0
-16
-6
-3
70
77
-5
13
27
3
0
0
0
0
0
0
0
-17
-49
-81
23
14
-15
24
-17
15
55
10
6
-12
18
-42
-29
-43
3
-102
-83
-12
-14
-25
13
5
-37
7
-27
-20
12
-6
-10
-108
-47
-3
-57
-55
24
-3
-107
-28
-23
-2
-100
8
-1
1
-44
-6
20
-24
-17
27
14
59
1
-10
1
38
26
62
7
10
-1
18
-62
36
30
11
100
-28
-18
-63
-31
-12
-11
36
-49
-18
-47
-78
-7
-1
-49
-46
0
-18
14
-50
13
98
37
14
-23
-17
-11
-9
-60
-4
-10
-22
-29
-24
-28
-39
0
36
-16
-6
-4
-21
54
0
15
12
-35
-5
41
36
-63
39
-3
38
34
-8
-24
-77
14
-49
-56
-32
-97
-52
-31
-33
-28
28
21
-46
-81
-36
7
70
0
-22
-4
-8
-24
-15
41
-79
-38
-32
-58
-78
4
-24
-10
-35
18
10
-19
-24
36
-122
-116
-40
-26
-6
2
-96
-43
3
-33
-93
-13
1
-47
-36
20
-14
-8
5
3
-16
35
-7
-9
-28
-63
8
-66
0
7
-24
-75
-11
-33
-44
83
-32
-28
-1
-55
-27
12
41
-20
-41
-13
31
-22
-93
-35
-59
26
-42
-15
-8
-1
10
3
-37
-4
-23
-10
35
-32
-18
38
1
-1
17
18
-17
-20
31
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-34
0
-5
-5
13
-4
-18
-2
42
27
-5
-45
-13
-12
-2
0
0
-2
-4
5
5
-4
7
-2
-6
-5
13
0
48
0
-41
0
9
17
0
7
28
0
0
0
7
0
56
43
-2
30
1
0
0
0
0
0
0
0
0
-109
0
-57
-30
-79
-12
66
20
-58
13
-15
10
-100
12
-118
-59
23
8
-3
-1
40
-9
6
0
5
-8
-10
-53
-1
-26
0
-1
-3
0
-71
1
-12
0
0
24
8
-36
0
10
32
0
0
-2
-27
18
-9
-12
-25
11
23
-13
107
59
5
2
67
2
6
4
0
24
-8
-15
-106
-29
-25
-18
9
27
-30
6
-3
96
-20
0
-1
17
6
-2
-87
-25
0
8
-62
0
6
4
5
8
-31
32
-6
-8
8
4
0
0
-6
-1
-42
0
-28
-10
56
9
0
-6
0
-10
-49
0
27
-9
6
20
-33
-39
53
27
25
-10
-41
0
8
39
22
-19
-10
-50
-2
0
-6
61
-2
8
-44
0
9
1
-28
-21
-5
-17
-16
8
20
-56
-48
-7
-6
-28
0
1
27
16
-8
-6
-3
0
6
-44
-29
-50
0
40
-3
0
0
4
-3
0
38
21
-7
-10
0
2
-2
-27
-7
-62
46
40
1
-94
0
13
63
2
36
3
-10
-19
1
-76
-53
8
31
16
-84
-7
-40
23
30
0
29
53
0
-143
1
-4
21
2
-52
2
2
-36
-46
1
0
-2
0
5
0
0
-3
0
1
-92
6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
119
17
6
78
0
9
2
-32
-3
-1
-62
0
-4
-18
39
0
0
-4
0
8
7
-19
0
-2
0
1
7
0
65
0
10
0
5
1
0
0
-18
0
0
14
-8
0
45
82
0
24
0
0
0
0
0
0
0
0
0
-86
46
6
72
-58
4
15
24
-39
12
28
-66
-77
-17
-57
-3
0
0
-84
25
-2
0
-38
2
-5
-39
-4
1
-17
36
0
0
-13
-2
0
9
57
0
0
-1
6
54
0
-2
52
0
0
0
26
-9
63
-10
56
31
0
0
-8
69
0
8
38
0
7
-17
-52
-5
44
3
-9
7
-50
-29
0
20
-59
32
-6
-31
-56
0
-15
24
-6
-1
-49
-26
4
0
-32
8
0
1
40
0
38
-14
57
-7
3
36
0
0
0
-1
-8
0
17
8
10
-5
0
1
-1
41
-111
19
49
0
4
11
-11
53
69
-69
28
-2
0
-23
0
-1
-37
7
0
-136
-2
0
-13
-61
23
20
25
0
5
-6
-41
-13
12
-6
-54
1
5
73
-7
0
65
-1
0
-19
17
-2
43
0
-68
0
30
9
17
-9
0
64
19
0
3
0
20
4
48
-13
-5
-2
0
-2
-3
-23
0
82
66
0
-2
0
83
-6
-39
-5
-3
-1
18
63
-1
-58
-5
-1
0
-9
-42
7
0
-18
1
0
0
7
0
-65
27
29
5
1
83
0
2
3
20
-3
0
-10
0
-66
2
-3
1
0
12
1
0
2
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
20
4
-3
-144
-4
-1
-48
16
58
-4
40
27
-56
-18
13
30
0
40
6
41
-4
59
13
-2
-1
-4
54
0
-24
17
40
1
6
-57
0
0
0
0
0
0
-9
-1
43
-4
-1
6
-12
-3
0
0
0
0
0
0
0
-2
-26
-22
4
80
-2
43
61
-16
48
1
30
-8
22
-17
72
45
0
12
-13
34
76
16
0
3
42
24
8
20
25
0
-1
71
-2
-33
-9
-20
-1
-2
1
6
-10
0
-3
34
0
0
0
5
5
36
9
-29
3
0
1
-69
-152
-8
51
-105
-5
0
48
16
8
26
-17
60
-9
-50
-33
3
3
-76
-4
-47
51
4
1
15
40
-2
-6
3
17
-4
0
17
-58
-17
-9
35
7
61
3
31
-5
-6
8
18
-7
-5
-8
73
0
-24
-16
10
-4
47
59
1
28
-15
0
39
19
0
-167
-50
-51
-6
-41
-3
2
-77
-2
21
42
3
5
8
-38
-24
1
47
18
-26
28
-19
-14
-9
22
-40
-2
53
4
6
-6
7
-10
11
4
1
20
13
59
-27
3
34
-4
-8
49
-25
81
-49
-31
-1
-2
-4
-1
0
10
47
0
31
9
0
-6
-2
0
-4
-1
-41
20
50
14
1
15
45
9
-47
-60
24
-7
0
-18
0
31
5
-13
8
-54
26
-7
42
-13
-78
-6
-40
28
-6
63
-103
24
78
-1
-16
3
-3
26
61
-2
-1
0
0
-16
57
6
-25
0
-19
-33
0
-2
57
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-26
12
42
-41
-9
-4
-49
8
8
-15
7
2
-14
-9
-24
36
1
-42
42
-37
-73
-28
-1
15
3
-23
-61
-4
-49
-5
-8
-6
-26
-47
0
1
3
0
0
11
-3
0
2
124
8
-8
-42
0
0
0
0
0
0
0
0
8
-16
13
-74
-16
-49
45
43
4
32
23
3
-10
-40
1
10
58
-15
-72
-48
3
-30
71
-4
-13
11
-8
3
-35
0
-1
1
2
29
-2
-75
-13
-2
-3
-14
18
-14
5
-10
-11
-4
0
0
-82
31
16
-2
-45
29
1
0
-16
12
-9
-9
41
-6
-2
-32
14
17
22
43
8
31
14
12
109
-34
-4
-44
60
-3
3
-32
5
29
-29
2
-9
1
-5
19
-5
-23
19
-5
-8
74
3
-18
-2
-43
0
-9
-5
-13
22
-6
-24
-1
26
17
-31
-2
20
-5
5
17
-47
30
-13
29
44
45
-12
-22
-33
-2
-23
5
54
-1
23
-45
35
42
44
17
-20
-21
-60
31
-68
-11
-54
-5
66
-20
26
-43
-13
5
-16
30
-49
6
-40
-6
11
3
40
14
21
-78
24
-67
-8
-22
-50
-1
8
1
-2
0
-58
-20
16
41
-10
-5
-12
-14
-70
25
-53
18
59
-32
-4
-58
-57
-64
33
-3
-39
-10
18
-5
-16
-4
-3
-11
61
1
-46
38
14
-62
-19
3
11
5
-58
66
-22
-20
-45
-13
-61
-13
73
-48
0
-23
-22
-1
-2
-35
5
-12
0
-24
-40
-18
-3
-1
-3
-22
59
-3
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-40
11
-8
-102
5
-15
-46
-37
1
43
-79
-1
-61
-75
-79
0
-2
0
0
3
16
10
30
9
-61
0
52
0
75
41
-13
-4
0
30
0
0
-10
0
0
0
44
0
28
-21
24
-67
0
6
0
0
0
0
0
0
0
-14
6
13
-2
-6
0
-37
-54
-55
-8
-2
-35
-9
-3
-81
7
1
25
-22
8
3
-49
-14
0
0
-11
5
-18
1
-22
0
-1
93
0
-5
30
-57
6
0
-10
0
14
0
-5
-3
0
0
8
10
-4
20
-33
48
92
0
0
13
45
-1
0
23
0
0
21
26
8
37
6
-1
8
-42
23
10
1
-30
0
9
21
-36
8
-4
-21
-2
-19
-10
0
0
25
9
0
58
-17
-3
-3
22
4
-14
13
60
-25
9
-2
-13
0
23
0
1
20
-37
0
0
-9
0
1
35
-5
8
0
-4
42
45
0
46
-2
52
11
5
-41
5
76
0
25
-24
-48
24
7
2
-20
22
42
22
16
-4
80
13
-16
8
1
-52
1
6
8
-14
-4
56
9
0
-30
-1
0
1
42
24
0
-6
-40
-5
1
0
-34
41
-4
-1
4
-7
0
-42
-10
40
-40
3
0
-130
27
-9
-80
9
-2
0
46
-35
-6
-2
53
-1
2
-8
18
63
-82
11
6
13
-60
3
-1
-10
-12
-6
-22
-51
19
-1
-12
-37
-1
-14
-35
17
-14
-26
32
-2
16
41
-18
0
-2
-8
0
-35
-1
-1
3
-7
-14
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
-4
24
-3
43
-2
0
13
28
16
20
-14
43
0
46
41
31
-8
0
0
0
-42
-21
57
-21
45
13
0
-1
4
100
-13
0
0
0
0
2
-14
9
0
-1
0
-1
40
32
23
-8
-5
0
0
0
0
0
0
0
0
-50
10
4
-7
-20
0
0
23
24
-9
95
-26
-64
0
6
-80
0
-2
-40
27
0
-20
-99
1
-14
-19
-70
0
-9
-61
-2
-1
-64
-1
-1
-1
-82
3
-5
22
49
-8
0
4
-33
8
0
-5
-1
0
-8
-2
6
16
-13
0
87
12
29
0
-52
-2
0
-44
0
8
-10
-67
-93
0
12
56
7
-39
-48
-18
0
-9
-19
29
-2
-38
-28
0
-71
-18
0
-1
-26
-4
0
54
-17
-2
-52
-43
17
0
10
-7
0
8
-13
0
0
6
12
-89
13
-7
-10
0
-8
37
-31
-3
0
-2
0
41
34
24
149
-31
45
0
6
17
0
9
3
1
0
-1
-15
4
97
-40
-26
0
-23
-24
5
-29
-30
6
0
33
-13
-5
-47
5
-38
0
71
12
0
10
45
56
0
41
-22
5
-30
-109
-22
0
3
-33
-6
-4
0
0
0
8
38
24
3
-1
28
0
29
-101
-4
-45
-39
0
0
-16
12
-6
52
2
48
0
-40
-3
-18
76
9
-2
1
10
-40
50
-53
17
-88
0
38
-19
5
-70
21
7
0
-40
8
-5
15
5
31
0
0
20
-9
-61
46
-4
0
0
-15
52
-9
8
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-13
-10
12
-30
39
-7
18
-30
-60
-80
48
-36
-7
31
-41
-35
-39
-25
6
-48
-16
-36
-25
-10
-16
-52
-43
-19
-6
1
-36
-22
-46
-60
-26
27
19
-55
-41
-9
-130
0
0
0
0
0
0
0
-163
-35
0
-94
16
-56
-55
-13
-53
24
-8
-4
11
0
41
-44
39
13
-8
10
14
2
-1
-6
-34
-27
-6
-16
21
-13
10
37
-31
2
-27
3
-24
-24
-9
-9
3
-40
-16
-12
-1
-42
-12
-20
-22
31
29
-27
-53
-22
37
-15
-21
11
-15
9
50
-21
-58
-2
58
103
38
-2
14
35
18
-3
62
34
-4
-81
34
14
-15
-28
-58
-8
-17
-30
-1
-7
13
-6
-15
-30
-22
-22
24
-8
5
-13
18
-41
-31
1
-57
-39
-69
-49
-38
-24
19
-7
18
-52
16
-58
-52
26
4
-17
87
-48
-66
24
22
-3
28
32
-8
18
43
34
44
-57
34
-30
-32
-8
10
34
9
38
11
-18
28
-10
72
17
5
8
11
8
-12
89
-121
-8
8
17
-12
-6
-109
-54
-10
-13
-6
0
-11
-30
-66
-24
-15
-14
-48
3
14
-33
-44
-30
-14
-65
-3
-50
46
-26
-33
-66
-14
-33
-1
-26
-31
18
-31
30
-20
0
12
-6
55
-22
39
8
59
17
6
22
7
31
-31
-12
-14
3
7
-26
27
-22
-35
11
-10
-5
-30
30
-5
-64
-8
-26
39
-30
-93
-2
-5
-13
6
-4
-1
-47
-20
5
28
-18
-23
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-10
0
-4
41
-1
-52
-17
4
0
0
-1
2
-25
65
-15
0
-3
12
-19
12
0
-1
0
8
0
9
-95
0
0
-3
0
0
0
0
0
19
29
-1
0
0
-8
0
0
0
0
0
0
0
-96
-14
-8
-5
3
-23
7
-11
0
-42
1
-14
-87
-20
-130
-82
-7
6
-53
49
-7
-97
50
8
-2
40
20
-88
-40
29
4
-4
6
7
-70
84
-77
0
6
-7
-75
-81
-1
9
-11
0
0
-6
-1
19
4
3
-96
-17
0
0
-15
5
-1
29
23
-4
0
-24
-18
-28
25
-28
27
1
-99
0
36
-54
-17
-46
-23
-60
0
24
8
-46
-45
-26
-6
-40
24
6
-6
11
-24
0
-26
0
10
12
-28
-2
4
2
0
-1
9
7
-60
0
46
0
-52
0
29
-2
0
5
16
0
-16
-2
0
-54
-7
-34
-7
39
-23
0
-58
-3
2
-84
-8
57
0
20
0
55
53
-27
-21
53
18
57
6
-52
-28
11
1
-25
1
-6
107
-7
-23
2
15
15
13
-1
23
31
-58
10
-13
-18
-64
57
-21
-90
0
29
-2
-8
-2
-5
7
1
-9
-13
-31
3
5
0
16
-24
-48
-49
-58
-7
0
-55
42
21
-52
19
-18
0
-113
0
-45
51
11
-25
-19
48
6
25
-17
-11
21
-1
-7
-31
6
-97
-44
-3
-8
10
-21
13
-23
-17
44
-16
1
-8
0
-8
2
-2
-1
17
18
-2
9
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
9
-6
0
-15
-13
25
51
58
0
-1
0
0
-5
0
-23
0
0
-9
0
0
0
-11
0
-50
6
13
-10
0
0
54
0
0
0
-16
0
-24
-3
17
0
0
0
0
0
0
0
0
0
0
-44
20
2
0
61
2
55
91
38
6
19
34
-2
17
-42
30
0
2
70
2
-20
-12
62
5
16
93
27
-3
40
13
0
0
1
0
12
0
34
0
0
-4
-6
-44
0
0
-18
0
0
0
44
0
3
68
54
8
27
0
-2
47
0
9
-17
0
-2
54
-6
0
26
-37
16
7
13
-47
5
-4
-36
-2
2
19
6
0
6
-32
-9
-3
1
5
0
-1
-51
0
0
7
-53
0
-20
0
13
-1
0
52
0
0
4
0
-6
0
55
60
-29
0
0
0
0
9
-50
0
23
4
-10
29
18
-10
-39
-16
-7
9
-3
-19
0
3
-44
-2
0
-48
-35
0
2
-45
53
0
-5
7
-1
16
39
0
-3
-5
17
0
5
31
10
-5
-38
-20
0
-1
47
0
-32
0
4
0
15
-7
-32
-24
0
-26
0
0
0
0
-1
1
32
-5
0
6
0
0
0
-8
7
-114
7
-8
0
-44
14
0
-15
20
2
0
-1
-3
0
8
2
1
0
16
52
0
-15
7
13
4
13
29
0
-25
57
-2
1
0
18
0
0
4
-1
0
0
28
0
-13
0
0
0
0
-42
-5
0
0
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
-20
24
0
0
-3
24
-2
1
-3
3
0
0
0
-29
0
-5
0
0
0
-3
12
0
0
0
108
0
0
10
0
0
18
0
0
0
0
0
-2
50
0
0
0
0
0
0
0
0
0
0
0
-25
14
24
0
38
-8
-3
51
-14
1
0
-6
-122
2
-42
-14
0
0
-57
0
49
-12
2
0
0
-25
-7
20
5
68
0
0
-3
0
42
0
-6
0
0
0
38
-82
0
0
44
0
0
5
28
22
32
23
5
19
0
0
-71
46
2
0
-74
0
0
-41
-18
-6
-1
-67
-11
2
-61
8
-1
0
-19
0
0
12
-20
0
0
8
13
0
32
-2
0
0
-2
23
0
0
6
0
51
1
-42
-3
0
-4
0
0
-9
-1
20
0
-29
-52
32
0
33
0
0
3
-16
4
0
0
0
-13
36
-5
41
-18
-1
0
29
-11
0
0
-35
-3
0
-18
-36
3
8
-3
62
0
7
-4
-2
0
26
0
-1
0
8
-8
0
-47
-12
0
1
-52
0
10
15
0
-8
0
5
0
-1
-6
58
69
0
36
-1
0
0
0
0
0
38
27
0
0
42
0
-2
-27
2
-9
-2
0
-1
-1
-40
0
0
8
0
0
-1
-87
-9
-5
54
3
0
10
19
0
5
-8
-19
0
0
-12
-1
-9
8
0
-3
0
-60
0
0
-5
-8
0
0
1
0
22
51
0
-15
0
50
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-2
7
7
14
-32
-46
-18
-38
-8
4
10
18
-20
15
-2
5
-3
-82
7
-25
-11
-8
-8
2
1
2
-29
0
-2
-1
0
7
5
-23
-52
-3
20
-2
1
-2
0
0
0
0
0
0
0
0
-90
-3
-41
-51
39
54
-48
-23
10
-19
83
-64
-23
7
47
8
-40
-23
5
53
47
-38
84
6
113
-23
-10
-79
-28
-118
12
36
73
18
-5
11
-23
-7
5
61
-26
-22
-8
5
6
0
0
-6
0
60
-15
45
-111
89
-2
12
-147
-9
9
-28
-35
5
3
-63
41
38
43
1
-21
15
1
15
66
8
16
50
5
42
8
-78
26
-39
50
58
-1
23
-20
-4
13
-5
7
-59
5
-3
-5
-94
77
-17
9
19
19
-2
54
9
-16
0
29
16
-2
0
-52
-19
12
-6
-7
29
-75
1
-10
-115
20
45
41
-7
-13
92
-6
28
-7
-49
-50
28
-11
9
-11
123
59
-59
-37
-41
-29
14
-29
-80
-15
-44
65
45
-31
0
-21
-27
-38
-140
-8
-2
0
-1
33
-54
67
-23
17
7
-33
-8
3
34
0
5
13
-5
-1
38
38
0
-46
-24
-45
4
-4
-8
-7
2
52
-65
83
25
13
-14
4
36
106
33
-46
20
-84
-7
-33
67
2
1
0
-24
34
23
-19
-83
48
-8
-83
16
-12
-2
-102
-47
-16
-33
-21
-12
18
-50
2
-82
-1
18
-5
-55
-38
-27
-39
-1
7
-22
-1
20
38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
4
-1
-1
8
6
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
1
0
32
0
0
-50
0
0
55
0
0
0
0
0
-3
30
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
76
0
0
14
0
0
-1
40
-5
24
-62
-13
8
0
14
0
-3
20
6
0
0
9
0
-35
22
-6
0
0
-4
0
-3
0
3
0
0
0
-7
51
0
0
-30
0
0
0
-5
0
-46
8
-1
0
0
0
10
-36
-2
0
-66
0
0
-40
8
0
-96
3
8
0
19
-87
0
0
-22
0
0
33
18
0
30
7
8
0
7
-76
0
0
31
0
0
15
6
-1
76
-47
1
0
-1
29
0
0
0
0
0
0
7
-16
-5
0
0
0
0
-21
0
0
0
0
0
0
-12
14
-4
17
0
0
-45
-78
0
5
-41
0
0
-63
-6
0
0
-45
0
0
50
20
0
2
1
0
0
2
45
0
0
85
-18
-3
-3
-4
0
0
-12
0
-3
0
22
0
-7
0
0
30
0
21
0
0
0
0
0
0
-53
20
0
5
0
0
0
14
0
29
8
0
0
7
4
0
0
-14
0
0
0
27
5
1
12
0
0
-2
1
0
-5
10
3
0
0
-5
0
13
-41
0
0
1
-21
0
-2
-2
0
0
0
-81
0
23
-2
0
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
45
0
-1
-7
44
3
-23
-34
-3
5
-6
7
0
-9
-40
50
-4
-2
-12
0
0
-9
-15
-19
0
-7
-1
0
-2
-27
0
0
-6
0
-1
-33
78
-1
13
-1
0
0
0
0
0
0
0
0
-16
-46
12
14
11
5
0
-20
-35
-1
-12
-99
-80
-2
32
14
-2
1
-27
0
-9
71
-17
5
19
-20
16
7
-26
14
3
-2
-9
3
1
51
0
-1
0
-16
0
-4
-4
-3
-8
0
0
17
0
1
-1
31
65
-17
8
0
-9
19
19
40
-5
5
-1
-5
11
26
5
-14
-73
0
-94
-6
-19
-6
-72
-4
0
-2
-45
5
10
-4
-6
0
10
-20
0
6
9
18
3
13
20
0
14
-5
-38
0
-53
-1
15
-3
16
1
0
0
37
-24
9
-2
-68
0
-4
2
24
9
93
7
0
-42
8
-79
-27
63
1
0
-23
12
5
11
-6
3
0
27
-34
26
66
-63
33
0
2
-23
1
-12
22
64
0
48
49
-8
16
17
4
0
41
8
1
-5
-3
-8
0
12
-15
-3
-26
-4
-45
0
0
12
1
1
0
-15
0
0
-27
69
-1
42
29
0
0
-11
-1
-32
8
2
0
4
5
0
-11
27
41
0
-14
4
16
-12
0
-2
0
-25
-10
-7
72
-1
7
0
-1
-22
-2
18
-21
-7
0
-21
-32
0
50
114
29
0
0
31
-5
17
-53
5
0
0
23
-96
41
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-155
9
69
99
30
45
-52
53
56
50
-10
-48
42
-75
8
2
2
27
66
20
-88
0
24
-15
0
0
40
30
-2
30
45
-1
6
-2
0
0
0
0
0
0
0
0
-36
-26
3
14
-28
-31
-41
2
31
-60
-14
-11
-27
8
1
-33
29
53
-56
3
-28
-131
-11
-28
63
-58
-81
-75
41
7
0
9
-58
40
-98
46
-23
4
-1
-104
-50
-114
10
26
-31
0
0
-5
-84
-1
13
74
-49
-22
-5
-2
40
6
36
66
-10
-9
6
-84
22
30
16
-21
-42
-58
-51
-4
44
53
-72
-82
-66
-90
-42
19
38
-47
-50
-50
0
-20
-86
48
-55
20
-51
-43
19
-25
9
-59
-38
-127
35
-46
-6
7
19
-12
-28
-4
5
-37
52
-1
-62
0
-14
0
34
-36
0
40
6
-15
-37
1
6
1
-23
49
0
15
-34
-48
-6
16
-104
-93
-4
50
3
55
-4
-28
-19
5
22
38
-15
-115
-47
-54
-34
44
-26
-4
-24
-8
47
-18
-4
38
-21
-26
-72
-32
-7
17
-3
-45
-32
-56
0
-5
-17
2
7
-51
-89
9
-33
58
-51
58
-47
2
94
-72
11
13
-24
9
-11
51
14
-10
-8
-78
34
-36
25
-22
-14
18
-9
-7
6
3
-11
40
82
-27
-59
-41
56
-12
9
13
14
-12
-22
-10
-32
31
-17
-26
-49
-38
27
-11
-3
-28
-120
0
-58
0
11
-14
7
18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
60
-31
-2
-8
9
-45
82
66
40
6
1
-50
-24
0
54
7
0
-1
-1
-216
0
0
-1
0
0
19
3
-2
16
14
-1
13
0
-2
0
0
0
0
0
0
0
-39
-11
-7
28
9
-56
-69
27
-3
36
98
39
14
-3
37
0
47
-15
-9
31
-28
28
-19
3
5
18
-55
-97
-16
-52
2
-1
-58
-5
-211
-11
-11
0
0
-12
-47
-132
0
-1
3
0
0
-1
-85
-2
4
-26
-14
-23
8
0
-51
-29
-12
55
-33
21
16
-13
-26
-4
43
-28
29
12
-29
-1
31
-7
13
16
37
6
0
-13
9
-98
-21
36
8
1
0
-16
-39
54
-15
-81
-39
0
-39
-50
52
-52
-29
-12
0
-2
-8
-6
-65
0
4
-51
-32
0
-69
-48
-1
7
-43
27
54
8
-1
-2
-7
105
-33
7
-71
-34
-12
15
34
-5
-8
28
-24
-43
8
-16
-21
-3
28
29
-18
0
-50
-19
63
55
-22
61
12
28
-76
2
17
-79
69
-11
-5
0
-65
58
-96
11
18
0
-7
-53
-63
-92
-1
13
-87
-5
14
9
-49
0
30
11
43
-45
4
0
-8
-21
-53
49
10
-9
-5
36
22
13
104
48
-47
5
-120
20
27
14
-53
1
-13
-33
0
-35
-23
-11
-33
-53
-27
-25
5
-28
-57
-76
-17
7
24
14
44
-61
-14
-24
-1
-26
0
-16
31
4
26
7
-22
11
-7
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-26
-3
0
-5
0
-18
67
10
0
0
-6
-5
-10
0
22
0
-30
0
0
9
0
0
5
0
0
18
-5
0
-27
-63
-2
-2
0
-1
0
0
0
0
0
0
0
11
-4
0
7
12
0
-11
20
-92
0
8
-45
49
10
-29
-3
-1
6
-35
-1
28
57
54
-1
0
-19
48
4
-17
-36
0
0
33
0
-12
0
-5
0
6
8
13
16
0
-8
20
0
0
0
-22
0
21
74
-14
-20
-6
0
13
27
0
8
-78
0
0
7
29
0
48
-20
120
2
-62
-35
5
9
5
0
-26
-53
-52
0
6
-39
8
-4
-6
5
-4
-5
5
0
-4
9
8
0
-24
50
-108
2
-13
-3
0
0
5
22
-30
0
24
12
39
0
0
93
0
30
61
-3
18
-1
5
-32
19
7
-54
50
13
-3
52
45
0
6
-13
3
0
55
-26
13
-21
-23
23
-20
-104
-65
-3
-10
-2
-3
82
-41
-18
0
-48
52
-3
-8
12
-31
-1
5
-62
1
-23
-2
15
8
-5
4
19
34
-1
-22
0
22
-5
6
-1
0
-21
13
-1
0
-1
0
8
17
-2
-48
-61
3
-1
21
51
-1
-40
-119
4
7
20
-2
-8
-18
57
1
-8
12
-2
0
-103
-60
-18
21
7
-39
0
-23
-5
0
-10
0
3
0
-28
12
2
15
0
-31
4
-53
4
-6
-8
0
20
-38
-3
-1
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
18
0
0
1
1
3
0
25
0
0
0
-1
-8
0
4
0
21
0
0
-22
0
0
-36
0
0
0
10
0
-31
-27
0
0
0
0
0
0
0
0
0
0
0
-38
-16
0
0
-33
1
27
-64
-20
-1
58
32
-61
-9
69
-35
-3
9
-52
0
68
21
8
-6
0
24
16
-80
-12
-28
0
0
-3
0
31
0
29
0
0
-2
9
-73
0
0
5
0
0
0
49
0
-38
45
-5
-12
-6
0
-75
2
0
0
-57
0
0
59
-11
4
12
61
-19
-2
-25
-16
9
0
3
16
2
-91
23
0
0
39
-18
0
-10
32
1
0
56
0
-3
0
77
0
-108
30
-33
0
0
3
0
0
0
0
-3
0
-2
-85
-35
-1
4
-2
0
40
17
0
2
0
0
38
-3
-15
4
-61
0
0
-36
-74
-1
-65
-6
0
-8
-10
44
0
3
-8
-11
3
-9
-2
0
2
10
18
1
-6
-29
0
0
-2
115
-2
-4
30
15
1
16
0
-2
12
14
0
0
8
-8
-2
0
16
24
0
0
0
0
0
-33
45
0
0
-2
0
1
-21
0
-26
12
3
0
32
-24
10
7
22
5
0
-5
-21
-8
-1
8
0
1
-3
-2
0
-1
5
16
0
22
-12
1
-4
-28
0
-13
0
-27
0
-6
17
48
19
0
1
0
20
-1
0
5
0
66
10
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
37
0
-1
0
-3
-59
-11
117
0
-1
-10
-49
44
-1
3
41
-18
0
0
-6
0
0
-6
0
0
9
-5
0
44
-12
-2
3
-1
0
0
0
0
0
0
0
0
-62
42
3
-19
23
-13
1
-58
-36
-1
-9
-25
9
-6
-27
55
8
29
-6
-7
-72
-12
-3
0
13
-21
-34
-50
-120
2
0
-1
28
0
-57
9
-17
0
0
2
-57
-83
0
5
-59
0
0
-2
-7
0
13
-14
26
-63
7
0
-46
4
16
29
5
16
-5
-27
25
2
20
13
-62
-7
-35
-38
44
-4
14
42
-5
66
42
25
-7
-20
73
2
19
12
0
4
-51
-7
27
-13
2
0
-38
7
-122
-13
30
-37
-4
-2
0
0
-119
0
13
-28
54
0
-17
-8
-3
31
-7
0
8
-3
0
-61
36
-83
-17
-15
49
42
-75
1
2
-21
3
7
13
-25
-23
25
-40
22
24
-34
-44
-10
6
9
-117
-40
7
25
4
0
49
71
33
-42
25
-20
0
1
-21
3
-21
-1
-41
10
-10
-3
-48
-18
0
-48
10
-14
0
-3
17
0
29
49
18
-7
-3
0
-9
-96
17
-24
-85
2
0
25
3
2
8
43
-6
0
-16
-42
2
59
-9
23
-1
-1
-26
8
-22
-62
-31
-2
46
-29
0
42
-2
13
0
15
11
0
-24
-15
26
-24
0
2
0
-9
-2
0
-3
0
-20
-20
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-36
31
-2
0
-2
7
-52
-26
-7
29
-18
0
28
0
22
13
4
0
0
-37
0
-2
-21
0
0
0
-11
-1
-17
-38
14
-5
0
0
0
0
0
0
0
0
0
-26
-23
-18
0
-8
0
-12
-66
-69
-5
32
-26
-5
-18
20
-48
1
31
7
-6
-11
-53
1
0
-5
-45
0
4
-97
-90
2
-2
4
0
0
-1
23
-1
0
-38
0
-4
-1
45
33
0
0
0
16
0
13
-25
-1
-31
0
0
20
-22
9
36
31
0
0
-105
-39
47
-28
-40
-10
32
0
-30
52
71
-21
-1
50
60
-1
-13
-15
22
6
-25
17
-46
40
16
-4
66
-33
1
-60
0
-46
-36
-6
-49
29
29
-3
0
50
0
82
-1
0
27
-27
-1
0
-98
8
-23
-58
18
45
0
-2
31
-5
27
-38
-12
-2
22
-85
2
10
-6
-12
1
-21
6
7
55
11
12
-29
-16
19
-11
-17
-66
20
0
-20
-3
27
12
1
14
-3
1
17
28
6
-22
34
4
2
-5
35
3
1
-19
29
-16
0
0
0
2
0
-6
5
0
-21
-27
47
-18
0
0
-24
10
-31
35
16
0
-30
-82
2
-8
-11
14
13
-26
-79
27
-24
-17
44
-5
-28
52
5
-2
-119
45
-51
-8
-62
38
-5
18
-41
17
80
-24
42
3
91
-14
-20
49
-54
-20
0
-30
-87
-6
-40
0
-40
-98
6
13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-8
1
35
0
0
13
-81
82
65
-6
-58
0
18
-53
-50
24
-2
10
-1
0
-30
-14
0
-1
-32
0
14
25
-22
-2
-51
4
0
0
0
0
0
0
0
0
15
-6
0
8
-13
43
-1
-54
-39
19
-54
-21
-40
13
-28
-28
13
-8
-88
-16
-8
-12
20
1
22
2
14
-5
66
37
29
6
3
45
16
16
-36
-3
-2
-74
-14
47
-5
-68
-26
0
-1
-72
33
12
9
-35
19
-1
6
0
64
12
-2
101
-22
45
0
26
44
10
50
14
-22
0
-48
-21
18
-35
-3
-20
-3
-34
-42
30
-35
-9
-16
-1
18
0
13
59
-18
70
0
27
48
-4
-7
-17
-41
0
-11
-7
30
-2
-23
8
0
7
8
-73
9
-4
-1
0
0
3
-8
-8
-64
-4
0
-50
33
21
49
33
-29
0
20
30
-7
-17
12
-31
-1
29
-3
75
33
-8
-59
1
33
-58
-6
-11
-8
34
0
13
4
18
81
32
29
-3
65
21
-5
14
7
50
-5
-47
-14
28
-23
-11
-9
2
-1
-2
-48
23
21
-15
0
-2
11
-59
-27
24
-8
0
-53
5
-15
-6
-63
13
0
-68
11
19
14
-24
-10
0
-61
22
-6
-11
-40
3
5
53
-30
15
-61
-3
15
0
91
8
-31
-30
30
-75
5
71
-29
-2
-5
-3
-51
-1
23
-9
0
-22
31
-18
0
-1
0
-36
-29
-26
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
10
-3
17
-30
1
-3
3
33
-3
50
1
11
0
7
-4
0
-1
8
0
0
3
-16
3
7
-15
-5
0
0
0
0
0
0
0
-10
-23
2
24
-33
20
-62
-2
-53
-8
-7
-31
-33
-42
-86
-34
30
-6
-110
-107
-26
-22
40
31
13
36
1
-7
3
-11
-28
9
-30
34
4
1
36
0
0
60
-2
-9
0
2
-100
0
0
-31
-36
0
-7
-26
9
-26
-42
3
8
-2
3
10
-16
-18
-15
-19
4
61
8
-52
-24
7
-40
-14
34
-4
-18
29
-47
-90
1
18
-5
4
-68
-44
-80
4
-6
31
20
-59
-4
-1
16
-20
-13
42
-7
-3
2
-14
9
12
69
-13
28
5
12
-58
-46
1
6
-3
0
-1
-21
29
0
-3
24
-95
-24
-63
-10
-42
-74
-25
10
-4
19
-76
-40
-51
-13
-26
3
74
-35
-29
-24
-23
-52
9
-16
51
8
-21
-14
-33
-14
-5
-53
32
-28
12
-1
-6
-5
52
12
-82
1
0
-5
-7
-2
-16
-9
-6
0
-26
-9
-3
-4
-21
-38
0
-18
102
11
23
-32
-2
39
-26
15
0
-26
-69
-36
49
2
13
-37
-14
-7
-8
-8
28
-9
-90
-28
41
62
35
-20
-12
-124
11
-14
-55
-25
3
-5
-19
1
-11
19
75
-7
12
19
49
-33
-24
1
-6
-15
16
-23
12
-16
0
-38
-39
-5
-3
-52
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-10
-4
-2
0
20
-42
-20
-69
9
-35
25
-5
-101
0
-2
-41
0
-1
-2
-2
-1
-81
18
-1
7
-1
0
0
0
0
0
0
0
0
-79
9
-7
22
-7
15
-10
3
-28
71
-18
44
11
8
-47
-83
-6
-2
0
-16
-22
64
0
38
2
-8
153
7
-59
-31
-2
-2
-32
-4
-81
-5
11
-1
-2
-3
-76
-137
-6
31
-60
0
-1
-6
-117
-8
17
-29
52
16
-5
0
-11
7
-15
14
4
3
0
-38
12
-2
13
-13
23
1
-63
14
22
11
-18
104
2
3
18
-36
62
3
119
31
15
0
21
-4
-2
27
-13
-2
42
-8
-67
-19
-21
-25
3
7
-3
-4
-8
40
-28
-2
51
-31
-31
5
-38
-13
13
-13
-8
16
-33
0
1
-37
-2
-80
53
28
-87
4
-58
-4
-30
9
-24
12
-29
17
-6
-15
16
20
-24
4
-7
15
34
-65
-31
25
-1
52
0
18
-17
-17
-59
-52
-3
-19
-6
-25
-7
40
-45
-13
-26
5
0
-36
-69
-16
15
27
41
-45
-2
-11
-26
-1
8
-34
-4
-3
-1
4
13
-8
49
-4
7
6
4
25
-9
-38
-47
-21
-16
-2
-51
-35
-18
-23
-21
0
21
2
-7
7
-38
-50
35
13
14
0
-6
-39
8
-11
41
6
0
-8
19
29
-85
0
3
9
0
-26
-38
37
29
-5
15
-40
-32
-2
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
54
0
0
0
0
-9
0
0
0
-29
0
0
-7
0
0
68
0
0
0
5
0
-31
-6
0
0
0
0
0
0
0
0
0
0
0
-42
1
0
-2
10
-8
-3
-11
8
0
-7
-21
-26
24
24
-54
4
0
21
-3
-43
37
-23
0
6
-3
-5
-37
7
-22
0
-4
22
0
49
1
-13
0
0
6
14
27
4
19
30
0
0
0
63
0
-7
54
36
28
0
0
-51
37
0
0
-5
0
0
24
47
-8
55
-43
43
0
28
13
3
56
-38
-7
0
-61
-33
-1
2
12
-2
91
-16
-141
0
13
-42
0
-8
0
-14
0
-6
-9
-15
29
0
-48
0
0
33
-8
15
0
2
-43
6
0
15
3
0
10
41
0
4
0
0
0
5
19
63
92
0
0
90
-2
0
22
23
0
-5
9
41
0
0
12
21
0
-3
18
0
-5
-125
0
-14
-4
-115
0
32
-49
-9
0
0
-12
0
6
-27
0
-1
0
-50
0
9
0
87
-38
0
25
0
0
0
0
16
0
-44
-9
0
-1
1
0
0
6
-4
-31
48
0
0
8
-24
0
53
64
0
0
23
-23
0
-10
-36
0
0
0
39
-3
29
11
-8
0
0
-83
0
-28
23
0
0
-5
-33
0
-6
0
3
0
0
42
0
2
6
0
2
0
38
30
3
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-2
0
0
2
0
-75
0
0
47
0
0
-4
0
0
0
0
0
10
4
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
23
0
-2
72
-12
0
-4
1
-93
-36
-56
-12
0
0
28
6
-2
30
4
0
0
-10
8
4
28
-5
0
0
18
0
14
0
20
0
0
0
-1
99
0
0
-23
0
0
0
-2
0
-35
27
-14
1
0
0
47
-24
0
0
-4
0
0
48
22
0
-6
1
-15
0
-85
42
0
-1
-5
8
19
-16
-25
0
0
1
-5
-1
20
-11
0
0
-38
0
6
0
-1
0
14
-9
-13
-27
0
-22
0
0
0
-1
0
0
-11
53
-3
0
-1
0
0
16
-2
0
4
0
0
0
29
-23
0
-5
-1
0
-19
-29
0
0
-39
0
0
-7
-16
20
0
-41
0
0
5
-18
0
0
56
0
-2
-12
2
0
0
-48
14
3
0
42
0
0
5
-1
54
0
43
0
0
0
-8
-1
0
19
0
0
0
2
1
0
48
1
0
0
0
0
0
31
0
-9
25
0
0
0
-71
0
2
36
0
0
-1
14
-6
5
-14
-3
0
0
-26
0
9
-13
0
0
0
47
0
-10
-1
0
-1
-6
-51
0
0
-3
-5
0
0
-12
0
-9
-3
-4
-10
0
-68
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
48
0
0
0
13
1
0
-7
0
-6
0
0
-36
0
0
-16
0
0
0
-2
0
-40
30
0
0
0
0
0
0
0
0
0
0
0
15
-10
1
0
-57
0
0
25
-1
4
-1
-15
34
13
1
-10
0
0
-25
0
-16
23
-23
7
0
0
4
-53
-36
-19
0
0
67
21
44
-2
6
0
0
0
32
-41
0
0
-93
0
0
0
-27
0
23
-43
-18
0
1
0
-43
39
1
-1
-57
0
0
-26
24
19
38
-68
-63
31
-37
-31
-9
-2
-13
2
-8
2
31
0
0
-46
-52
2
14
-68
0
0
74
1
31
7
-38
0
-36
1
-26
2
7
-36
0
8
10
0
-19
0
8
12
-9
0
-7
3
0
61
4
0
-2
0
0
-5
-24
-16
12
-11
1
2
12
-52
20
56
-80
40
0
4
-31
-2
12
-58
19
-2
-31
-35
0
0
-16
-3
-6
-69
-68
8
5
20
-34
-10
1
-33
0
0
12
1
40
0
19
7
16
0
28
-19
0
17
-1
3
0
0
-9
0
-20
-2
8
0
0
0
0
38
0
65
-6
-1
0
-1
-12
0
-9
-8
1
22
-13
0
0
68
6
0
-1
-24
45
-7
10
-4
-16
-10
32
-25
0
3
-3
0
-13
13
-5
0
0
0
-27
1
0
-13
0
-77
0
0
3
0
-7
-5
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
-1
-5
-1
0
0
0
-6
0
0
39
0
0
35
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
0
0
0
0
-105
0
0
0
-54
0
24
-10
11
0
0
-3
-4
8
0
-4
0
0
8
0
4
-54
0
0
0
-8
0
2
100
-9
0
0
-13
0
-8
0
3
0
0
-2
0
6
0
0
22
0
0
0
-19
0
8
8
8
-4
0
0
16
-9
0
0
-143
0
0
-35
2
-1
7
-2
-1
0
17
-102
0
0
24
0
0
-19
-12
0
0
-60
6
0
114
-51
0
0
24
0
-2
8
-52
0
-32
-5
4
-4
4
-65
0
0
16
0
-1
0
10
21
-1
0
0
-10
0
-9
0
0
0
0
0
-12
-27
-5
3
31
0
0
-20
3
0
0
-74
0
0
-28
1
0
0
-4
0
0
-30
7
8
-1
-102
0
0
-8
19
0
0
-14
-3
-31
-8
7
0
0
-18
0
25
0
62
0
0
25
2
-10
0
-39
0
0
0
0
0
0
31
1
0
-1
0
0
0
31
0
-31
-1
0
0
3
-26
0
0
12
0
0
22
-72
0
-6
-19
0
0
3
66
0
0
1
0
0
0
5
0
9
-1
0
-1
0
26
0
0
-1
0
0
0
-38
0
-6
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-1
18
0
3
5
0
-1
-5
87
6
2
-17
10
0
-10
-12
0
0
59
0
0
-57
27
95
36
2
0
0
0
0
0
0
0
0
14
65
-3
19
-12
-5
0
12
-17
21
-6
-21
-35
1
-45
-1
5
21
-11
-29
-2
-5
-21
11
-1
49
-21
9
-7
3
-13
30
-25
-4
-1
30
21
8
-4
-99
12
3
-2
21
27
0
0
-15
-2
-21
-1
-24
-82
-60
12
0
36
2
-10
-74
-1
-5
0
19
13
41
6
8
-74
0
-15
12
0
-11
-31
-5
0
-35
-30
-32
37
-29
-22
0
-36
-138
13
-19
-4
-91
0
1
-5
-2
-11
-10
15
0
-88
39
-2
80
22
25
-24
-6
0
-19
-10
-4
42
0
0
3
26
-24
-6
0
0
-6
-22
-19
-30
5
-81
0
50
55
-6
-78
25
-16
0
-11
-1
15
11
-5
28
0
4
-8
-3
-27
15
-16
1
39
-16
-10
-40
-1
-16
3
63
18
20
-7
20
49
-5
18
9
0
76
-12
8
0
0
27
-53
6
-57
-19
0
0
-19
8
0
46
43
0
-69
2
-7
-15
-46
-5
0
40
22
0
-4
6
14
0
5
19
-13
-15
-55
3
2
61
12
-26
-28
70
20
0
14
-6
9
-22
32
11
0
103
2
33
4
6
57
-1
8
23
-1
-4
-31
1
0
0
13
3
3
-7
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-51
0
0
-29
0
0
-77
0
0
0
-5
0
-45
-10
-5
0
0
0
0
0
0
0
0
0
0
21
0
0
-2
-8
0
-23
-19
-4
5
-1
6
-73
-91
12
1
4
0
28
20
15
7
2
17
28
-7
-35
-5
16
63
0
0
-13
45
1
0
16
-4
1
-63
-19
-103
0
-3
-139
0
0
-13
7
0
13
20
21
-16
0
0
49
33
0
0
62
0
-8
-52
-10
-3
45
-19
-52
0
29
10
0
0
23
-1
-30
8
62
0
33
-54
-38
2
-42
-1
0
-6
22
22
-3
0
4
0
-18
-51
-20
35
0
-130
25
0
-31
0
-3
0
16
-12
-135
0
34
0
0
19
49
0
0
0
0
7
27
21
5
-47
-20
-11
11
-70
0
-5
-53
1
2
-53
29
5
2
-91
-61
-2
-10
13
-6
-22
-14
-1
-98
0
-39
0
0
-36
-58
0
22
-42
0
1
-44
13
-24
5
-86
0
0
-15
-2
-81
0
13
-19
-2
-1
-51
-2
0
3
-20
8
0
9
0
0
10
1
-19
0
0
4
0
-7
0
-1
-72
4
-1
0
28
5
-21
-2
1
7
0
-38
0
41
-4
19
-13
6
-42
6
33
-59
-18
37
0
-3
0
46
-10
-70
-13
0
-50
0
-53
-1
-7
20
0
-57
-8
0
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
77
5
-39
-2
0
-105
0
3
-33
0
0
-2
-1
0
-72
35
4
10
0
0
0
0
0
0
0
0
0
-13
-48
0
1
27
-13
-15
-53
-67
37
-37
24
-7
-58
41
-14
12
27
43
34
-104
46
-55
1
88
18
-39
-83
23
0
-4
-26
101
-18
32
-27
-19
8
0
15
26
-62
3
29
13
0
0
1
-5
-1
1
85
-24
5
-6
0
-9
28
46
-16
36
0
19
-14
7
-32
10
-22
-10
-3
-54
27
-2
-16
-81
24
10
63
-36
-13
-27
-8
-89
-49
62
-46
-8
8
-50
0
-83
-22
0
9
-59
-70
-3
-30
20
-28
25
-20
-27
29
-30
0
-40
54
14
3
12
-1
4
-7
-126
-4
-32
0
0
-23
14
42
8
33
54
-12
-46
28
-4
-101
-54
-7
-6
-6
-18
16
32
-19
-77
1
-78
25
-3
15
-9
-57
-80
15
-47
-1
-64
-9
-25
-63
-119
0
-8
-11
-57
0
-36
0
-24
17
-77
-44
11
-39
1
-35
28
-5
5
9
-3
0
18
-23
28
20
14
6
-31
-21
-29
10
-7
-1
-2
-35
6
-17
-78
-17
-108
2
46
61
26
34
1
12
5
-5
-18
-1
-39
-71
34
-12
-62
4
-5
-90
-55
19
-2
-28
0
0
-8
16
-59
2
-12
13
0
23
13
28
-4
-5
-70
-30
-1
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
16
0
0
24
0
0
0
-4
0
5
-2
0
-1
0
0
0
0
0
0
0
0
0
-36
31
0
15
-90
0
0
1
-8
2
0
6
-89
-47
20
17
0
0
54
0
23
-9
4
0
0
69
29
-10
63
26
0
0
29
0
-2
-6
-5
0
0
0
0
-39
0
-4
-6
0
0
0
63
0
15
-88
-7
9
0
0
-30
12
0
0
-114
0
0
-29
31
0
5
24
6
0
-48
-37
0
-3
-5
1
20
37
1
0
0
50
-4
0
17
40
0
2
-3
0
-5
7
-65
0
-36
-14
12
25
0
58
0
0
-3
0
9
0
-23
-36
14
0
0
29
0
86
15
0
-3
0
0
14
-18
0
7
-30
-1
0
-68
42
0
0
-14
0
0
-82
28
0
-1
-45
27
1
21
30
0
-4
7
0
0
8
-96
0
68
-61
29
2
4
-128
0
-3
14
0
-11
0
-14
0
1
13
0
-3
2
-19
0
1
0
0
-1
0
33
-12
0
0
-2
0
0
-6
0
18
9
0
0
0
36
0
-10
-23
0
0
-4
16
0
-14
-15
0
0
-3
-4
0
19
-12
0
1
1
-20
0
68
1
-8
7
2
-7
0
-14
0
10
-8
0
-17
0
-74
-7
0
0
0
40
-1
-5
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
4
19
0
0
12
0
0
36
0
0
-1
0
0
-3
24
0
0
0
0
0
0
0
0
0
0
0
-26
-1
20
0
8
0
-2
-42
-8
-4
0
51
54
-13
-40
59
0
0
-68
0
9
0
-3
0
0
-24
-12
42
-19
-41
0
0
-5
0
-63
7
-2
0
0
0
41
7
0
8
-7
0
0
0
52
0
-15
-1
-1
-4
0
0
-28
11
0
0
-8
0
0
-13
-140
8
-63
47
41
0
61
7
0
0
35
0
4
51
-26
0
0
-39
52
0
28
47
0
0
0
27
0
9
-62
0
-1
-4
-40
5
-6
24
0
0
0
0
-8
0
-16
-55
32
0
-5
0
0
-60
1
0
8
0
0
0
-45
-2
0
-37
-3
0
-73
20
0
0
81
0
0
-58
12
0
-1
-27
-8
0
22
-38
0
0
-16
0
0
-14
25
0
0
7
-25
-1
-1
-37
0
-2
-3
0
-66
0
-15
0
0
-5
-3
-2
0
-60
-3
0
0
0
0
29
1
-17
0
2
0
0
0
-58
0
101
-3
0
0
-2
-14
0
-8
-1
0
1
27
58
0
1
14
0
2
0
-68
0
0
-23
7
0
0
25
0
-6
4
0
-1
0
-18
0
0
-24
-18
-12
0
-24
0
-41
-1
0
-1
0
-46
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-8
0
0
-31
0
0
4
0
0
0
0
0
17
-17
0
0
0
0
0
0
0
0
0
0
0
-54
14
0
28
-27
-1
-27
-35
44
-3
0
-26
-15
-62
-12
25
0
0
-5
-16
11
-21
-32
0
0
51
-42
-1
26
-46
0
0
41
-36
-46
13
23
-1
31
-18
-5
69
0
0
-134
0
0
40
33
0
-19
-25
-22
7
-1
0
-16
27
5
2
-23
12
0
-54
-4
0
-5
-53
-34
0
-7
-1
0
0
29
38
-22
-17
3
0
0
-32
-45
-32
13
7
3
0
33
40
4
-46
-45
0
0
32
-34
-41
48
-27
0
-2
0
5
31
0
-2
-94
-25
0
-97
1
0
-10
18
0
0
0
1
-15
-27
54
42
-113
-5
-1
109
-20
-2
1
-7
-25
-16
47
-45
47
2
-11
-2
-37
-53
-43
0
-2
-8
63
-30
-1
31
-6
8
-15
-67
-21
5
-11
0
2
-16
3
3
18
-47
0
-1
0
-32
-19
0
-8
-8
3
0
-4
-23
0
-26
5
4
0
-8
0
4
53
0
-18
-32
-7
-3
6
-15
0
4
-14
-4
1
37
-51
5
46
26
5
2
-38
17
2
25
1
-37
-52
47
0
0
-65
9
-14
-33
-16
8
0
-4
2
-74
-37
-2
-29
0
-28
0
-2
41
0
-39
-4
0
0
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-29
-18
0
6
0
0
25
0
0
0
0
0
-36
33
-1
13
0
0
0
0
0
0
0
0
0
-13
-6
3
-5
-28
0
45
-99
-67
6
-4
4
-4
34
-43
13
0
-3
0
4
10
-144
-49
0
0
-48
7
-22
-60
-14
6
0
6
20
19
4
6
0
0
57
-3
1
0
-4
2
0
0
0
-38
8
-18
-25
2
37
0
0
-95
-10
10
6
-26
0
0
-3
-37
3
1
-50
-2
0
-32
-23
0
9
-31
0
67
-6
-7
0
-3
24
-2
5
-41
-16
0
-1
-26
7
-13
-4
-11
-2
28
-23
-6
-56
4
30
0
0
-7
-2
-12
4
-19
-7
-49
0
-8
20
-2
-40
31
0
4
0
-16
35
-6
36
2
-15
0
15
-45
-15
3
-57
-4
0
58
-21
-50
0
-38
-33
-3
70
-44
34
0
-9
-10
-1
17
-10
3
2
-7
-9
-4
40
13
-2
6
33
3
13
20
4
-1
0
0
-23
-2
-18
0
36
68
0
0
0
-28
0
-19
43
5
37
0
0
-74
-1
-5
37
-11
0
0
75
-5
0
4
45
-1
-2
-48
-4
0
-38
36
1
23
26
65
0
-42
5
-12
-21
8
29
-4
-40
-26
0
39
20
-10
0
8
17
-2
44
-7
22
0
-8
-26
-3
-52
0
30
0
10
-4
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-52
-17
0
-4
0
0
-7
-7
0
5
26
0
-8
27
38
-12
14
0
0
0
0
0
0
0
0
0
-12
11
-6
-6
23
-3
0
-27
-30
7
-9
-90
31
14
-15
26
8
23
-1
-5
2
26
3
41
-4
33
-5
-3
19
-75
19
-2
16
3
-3
21
54
-1
-5
10
48
-2
-4
0
-19
3
0
-13
-2
-19
-17
-14
-43
1
0
0
40
-2
61
-8
-14
1
0
-10
5
29
50
-15
-24
0
-19
7
-5
43
-25
-30
0
-6
-16
0
9
-28
2
0
30
-51
-8
39
-44
15
0
21
-1
-3
-45
42
33
0
-30
13
10
6
64
25
0
0
15
-42
28
6
9
0
7
-14
17
27
32
12
0
-24
4
-6
-68
11
50
2
1
12
17
-22
0
-6
0
-1
41
10
-7
2
54
0
44
-10
2
46
20
-29
0
-39
0
-8
65
19
11
0
15
-47
27
-5
-43
-4
0
55
28
5
63
36
37
1
0
5
38
29
0
27
0
0
-30
38
-7
3
-41
0
-13
-20
15
-13
-46
7
0
19
26
29
-24
-31
-7
-2
-5
21
7
48
44
5
-5
96
9
48
113
2
36
0
15
-11
29
-3
-9
-39
-2
-27
-1
-5
-93
-11
-22
0
47
-30
4
-24
16
12
0
14
6
-39
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-48
0
-4
0
-20
0
1
66
4
5
0
23
-10
0
-5
-7
0
0
42
0
0
1
2
0
2
36
50
2
-29
-3
0
0
44
1
2
-1
14
0
0
3
-1
-3
0
0
-25
0
0
0
0
0
33
3
0
0
0
0
22
-40
0
0
-7
0
0
-8
27
-4
-78
-8
0
0
2
21
0
0
29
0
0
4
-44
0
0
-5
14
0
0
-5
0
0
8
4
8
-8
-6
0
6
0
-6
8
0
-53
0
0
4
0
-1
0
-16
2
-1
0
0
0
0
-22
5
0
0
0
0
0
25
2
0
-23
0
0
1
76
0
0
-3
0
0
-1
-39
0
0
8
-10
0
0
47
2
0
12
-5
0
12
85
0
0
-2
-4
0
0
3
0
0
-4
0
-2
1
53
0
0
20
14
1
0
-67
0
0
0
2
0
0
-119
0
0
0
0
0
0
6
-14
15
-2
0
0
0
-30
10
0
0
-1
0
0
31
0
-4
-8
0
0
0
43
0
0
43
0
0
3
-74
0
91
0
0
0
0
-14
0
0
0
10
0
0
-43
0
-9
0
0
0
0
-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
14
-5
0
0
0
-8
0
27
-5
0
0
0
0
0
0
0
0
0
0
0
-47
0
17
0
-48
0
1
-63
85
-5
23
21
-50
-44
-2
27
13
0
-76
-40
-19
27
-22
0
8
-13
24
-7
-91
-44
0
14
2
5
1
47
0
8
0
107
67
-46
2
-4
-108
0
0
-2
33
0
-44
16
-21
15
-1
0
76
-16
27
0
40
0
0
24
31
19
47
-21
-50
0
-38
-9
0
4
-13
-33
5
19
-3
14
-5
-19
29
3
39
-33
-6
0
51
33
-5
0
-87
1
-12
17
-8
14
15
0
24
0
6
20
13
0
-45
-23
1
-1
-47
0
3
-44
21
-4
10
0
5
30
59
5
-15
-20
-12
3
20
-34
-21
-18
-52
13
4
-31
6
20
-32
5
-18
-6
-40
-26
6
-8
39
3
8
2
20
8
-7
29
-31
-1
-8
19
-1
-2
-22
18
-21
3
0
0
-3
-54
8
23
0
-64
10
0
-5
0
0
0
-9
-20
-29
-4
0
0
0
-11
-5
-72
90
0
4
-19
-75
25
-18
-64
-8
-1
3
-60
-3
-72
2
20
5
12
-4
1
29
-39
24
-24
-5
16
0
-83
2
69
-16
0
36
0
6
-22
-16
0
0
0
0
-20
7
-2
32
0
-12
8
0
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
0
0
0
-2
0
49
-2
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-1
-75
-10
4
68
-17
0
-1
39
18
7
35
14
0
18
0
0
8
26
-10
0
2
-12
12
76
146
-42
0
2
30
0
19
0
-7
3
0
0
0
-19
0
1
97
0
0
0
8
0
-37
3
-3
48
0
0
71
34
0
3
-97
0
0
-11
-53
-3
1
-7
3
0
44
-42
0
-4
-9
0
-22
-20
-21
0
0
46
49
8
3
26
0
0
14
0
13
48
20
0
60
13
5
-1
0
-29
-1
0
0
0
-1
0
-64
-56
-11
0
0
18
0
-9
-2
0
-3
0
0
-20
-21
0
0
-25
0
0
-19
34
0
0
-23
0
15
-43
18
0
43
29
-8
-5
26
-59
0
4
-38
-1
17
0
-99
0
1
-61
-30
-3
14
25
0
4
-5
0
14
0
-82
0
2
-15
-8
33
0
-16
-5
0
0
0
3
0
18
-8
0
7
0
0
0
72
0
-1
0
0
5
-4
-22
0
0
2
0
-8
-2
-12
0
0
-10
0
15
3
6
0
25
-8
-1
-1
-2
-34
0
76
-7
0
0
1
-87
0
0
9
-19
0
6
-110
0
20
-8
0
11
0
-40
5
12
16
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-67
-10
-25
-12
-13
-22
5
-13
4
-86
20
-47
20
0
0
0
0
0
0
0
-9
13
52
42
-16
18
-22
19
-21
-50
-10
13
4
29
-18
6
-18
-10
19
7
23
-37
-9
32
60
4
37
30
11
-51
-67
-41
8
43
1
7
7
19
-29
-16
8
8
-41
-13
-54
-19
-98
-44
0
0
-11
25
-59
-16
-19
-10
11
-8
-16
-22
-9
63
5
17
-12
-25
10
-2
7
-92
3
-15
1
-69
-7
3
-15
-29
-11
-18
-23
2
-19
5
19
5
-5
-10
9
-31
23
34
14
-16
-37
3
-2
-6
-25
-13
51
16
19
-17
-21
-40
2
-26
-56
-15
1
4
-45
-13
8
18
9
58
-62
-20
-15
-7
-17
-6
-14
5
-6
-31
-4
-10
-10
-12
2
-11
-5
-36
-21
-10
-12
-21
-2
4
-31
-54
5
-54
-10
5
-3
26
-4
-18
2
25
3
4
-44
-3
-12
-62
-13
-51
-16
-22
-15
-30
-22
7
41
10
4
-46
-18
12
-36
-60
-3
-13
-44
-55
51
43
14
-35
-53
-22
19
9
-15
-46
-8
-21
11
18
-33
41
-17
-9
-99
-2
-33
-75
-57
-10
12
-7
-8
-9
-50
-17
-38
7
33
-47
-23
21
-7
-21
-7
-6
-4
-9
-27
-41
17
0
19
-5
11
-36
31
-82
10
-39
-3
-40
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
-14
0
0
5
2
6
0
8
-12
3
-27
-1
0
0
-2
0
-4
5
0
0
0
1
0
-2
-1
-1
0
0
13
0
-17
0
5
0
0
0
0
-38
0
-1
8
0
0
0
0
0
-86
-6
-1
-2
0
0
-1
-46
0
0
-4
0
0
-40
15
0
19
1
-2
0
-29
37
0
0
-13
0
0
-6
-52
0
0
0
7
17
-3
-90
0
0
-1
0
-8
0
18
0
2
-2
4
0
0
8
0
0
0
0
-1
0
56
0
-1
0
-1
1
0
59
0
0
0
0
0
0
43
0
-5
-24
-2
0
-1
-15
0
0
1
0
0
-1
-43
0
3
-4
-20
0
-5
20
0
0
-1
0
-2
-1
-29
0
0
0
5
3
0
-29
0
0
-2
0
-6
0
14
0
0
0
1
-1
0
-144
0
0
0
0
0
0
-8
0
0
0
0
0
0
-30
0
-1
0
0
0
0
-17
0
0
-1
-1
0
1
-14
0
-6
-2
0
0
0
-42
0
0
-3
-3
0
-1
11
0
-3
-1
-1
0
0
-52
0
-2
1
0
0
0
-56
0
-12
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
-12
0
0
39
40
0
0
-15
14
-5
-44
0
0
0
1
0
-6
-8
13
0
0
-25
-1
9
21
0
0
0
-1
5
-1
0
-1
0
0
0
0
-32
0
0
-50
0
0
0
1
0
-2
1
2
-1
0
0
-5
-17
5
0
-26
0
0
-17
-1
0
-4
-77
5
0
-3
5
0
0
-18
-3
0
-19
-55
0
0
13
0
10
-3
-50
0
0
-41
0
0
0
-5
0
50
22
2
0
16
-35
0
0
0
0
7
0
-2
13
-2
0
0
-3
0
-85
2
0
0
0
0
0
95
-2
0
-10
0
0
5
-98
0
0
-54
0
0
-2
82
0
8
-21
-5
3
-3
-6
0
0
38
4
2
-1
-38
0
0
6
-1
0
6
47
0
0
-1
0
-4
0
-45
0
0
-2
0
0
0
-44
0
0
0
0
-1
0
39
-1
0
0
0
0
0
2
0
-2
-6
0
9
0
5
0
-4
-1
0
0
0
13
0
0
2
-1
0
3
44
0
0
-1
0
0
0
-9
0
-44
-1
0
1
0
76
0
0
4
0
0
0
22
0
-15
0
0
0
0
-16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
8
-1
2
10
0
0
-27
21
-1
-55
30
0
0
0
0
0
0
0
0
-25
35
7
-15
-19
5
0
-49
-151
69
-31
-28
-29
-18
-27
-48
1
-31
-16
20
3
31
-52
-30
-10
7
6
-2
-18
-18
-8
-30
2
-34
0
-49
-62
-21
1
49
-7
18
-3
-44
-29
-1
-5
84
0
-3
-2
-59
-10
-69
1
0
48
-2
-24
-96
-28
-24
0
2
73
-22
13
-17
-39
0
11
-2
-24
-3
-28
-30
0
-2
-21
-5
-27
-27
-42
0
39
3
-14
47
17
-38
0
-34
0
33
-8
-72
-12
0
7
-4
8
-53
9
-43
36
0
5
-63
-15
25
15
0
0
9
-88
-8
15
-12
0
13
15
-18
-9
-27
-33
0
-9
47
32
32
2
-47
0
36
29
116
-32
21
-36
19
38
6
-28
58
8
-60
-6
68
8
-40
19
28
-17
0
84
21
27
152
9
-20
0
-64
-27
72
23
-14
-30
0
-3
-9
-57
93
25
13
0
40
-4
50
18
38
23
0
22
4
-19
-40
-59
-9
0
31
20
9
66
-5
-19
0
-11
18
-11
4
27
67
-9
50
3
1
-8
42
24
0
89
17
-42
-3
44
-56
0
37
22
-3
7
39
-4
5
49
6
-13
-47
-7
-66
0
-1
15
-1
46
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-13
0
0
2
0
0
0
-3
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-28
0
0
0
0
0
1
-2
0
0
-1
0
0
1
-26
0
-8
-2
0
0
-25
42
0
0
2
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
5
-1
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-28
0
0
0
0
0
0
-39
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-48
1
0
0
-57
0
0
22
-5
0
0
-13
-76
-1
52
-1
0
0
10
0
-5
1
-7
0
0
-8
-1
-17
-4
-5
0
0
2
0
-3
0
-4
0
0
0
0
0
0
0
9
0
0
0
15
0
52
-10
-1
0
0
0
13
-22
0
0
6
0
0
-27
14
0
-20
-21
0
0
-2
-46
0
0
12
0
0
-18
-104
0
0
-55
16
0
54
42
0
0
49
0
25
0
1
0
24
10
-3
0
0
-15
0
0
0
0
0
0
0
-6
6
0
0
0
0
-8
-4
0
0
0
0
0
-32
-8
4
3
0
0
-1
13
8
0
-17
0
0
-42
63
0
0
41
12
0
-1
38
0
0
52
0
0
-1
54
0
0
-17
6
0
-2
-26
0
2
1
0
-1
0
-62
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
9
0
0
2
-18
1
0
0
0
0
0
-18
0
2
-5
0
0
0
-4
0
15
2
-3
0
0
-41
0
-51
1
0
-8
4
-17
0
0
0
-8
0
0
-86
0
-29
0
0
4
0
0
-43
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
9
3
-3
78
-3
-18
0
0
0
0
0
0
0
4
-27
35
-1
-15
-9
5
10
-5
-11
-12
-5
-24
-33
-9
-25
-62
-4
9
9
-10
17
-28
-1
21
-10
-14
6
-13
-25
-58
25
-13
35
-10
-3
-30
-19
51
-52
-7
6
-8
12
-2
26
-47
25
-9
29
-4
-20
-17
-5
53
57
3
-14
-82
-1
-17
4
-10
7
-2
-47
-1
-2
1
-33
5
-3
-35
5
12
28
-14
26
-6
-8
11
-2
-15
-55
15
-7
13
58
-12
15
-11
22
5
86
16
-15
6
-24
-23
-14
-35
-16
-91
54
-12
-55
-4
-35
2
30
-6
22
78
-2
16
-50
-20
-10
-8
24
-12
-25
4
3
-10
24
4
-4
2
34
0
-29
-4
-13
-6
-40
5
8
-13
-9
2
-11
6
21
0
25
7
-10
-3
-17
-3
-2
-2
-33
-30
-5
-28
2
-11
27
-3
3
-20
17
22
-9
-14
6
-61
-14
-11
43
-43
0
-22
44
4
23
6
23
17
-20
-9
0
-34
1
-15
32
-40
-1
-1
-7
-41
-21
-14
-29
38
-15
46
-17
-8
-28
47
17
-8
-87
-42
7
10
-11
71
3
56
-11
11
-4
-25
-25
0
25
-9
23
-19
-12
21
4
26
-1
60
22
-8
69
13
97
-18
-1
-20
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-32
0
0
-5
0
0
0
-1
-2
-1
-1
0
0
0
3
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-17
0
0
0
-1
0
37
0
0
0
0
0
-5
-34
0
0
9
0
0
-2
-31
0
5
-30
0
0
60
-23
0
0
-2
0
0
0
-25
0
0
0
0
0
0
25
0
0
-1
0
0
0
0
0
-1
0
0
0
0
15
0
0
0
0
0
0
-38
-9
0
0
0
0
0
-54
0
0
0
0
0
0
-16
0
0
0
0
0
0
-42
0
0
-1
0
0
-1
-16
0
0
0
0
0
0
17
0
0
0
0
0
0
-15
0
-1
-6
0
0
0
-9
0
0
0
0
0
0
-32
0
0
0
0
0
0
-30
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
4
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
-58
0
0
-30
0
0
0
-1
0
0
-4
-3
0
0
0
0
-1
1
0
0
0
-1
0
0
3
-12
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
-1
0
3
0
0
0
0
0
0
-17
0
0
-30
0
0
0
-7
0
-32
27
0
0
-23
-47
0
0
-13
0
0
0
-20
0
0
0
0
0
0
18
0
0
-1
0
0
0
0
0
-22
12
-1
0
0
-9
0
0
0
0
0
0
12
7
0
0
0
0
0
-41
0
0
0
0
0
0
-36
0
0
7
0
0
0
15
0
2
6
0
0
-3
-19
0
0
-1
0
0
-1
-40
0
0
-3
-1
1
-4
-13
0
0
0
-1
1
0
7
0
0
0
0
0
0
13
0
3
0
0
0
0
-22
0
0
0
0
-2
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
-7
0
-2
0
0
-23
0
0
0
7
0
0
-17
0
0
0
0
0
0
-18
0
-1
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
0
0
0
0
30
-4
0
0
-21
0
0
-123
-7
0
0
-76
0
-43
-14
-24
0
0
-36
0
-23
-13
-9
0
0
-39
0
77
77
-7
0
0
-21
0
-9
0
0
0
0
0
0
3
0
0
-33
0
0
0
-15
0
43
-26
-3
0
0
0
53
4
13
0
19
0
0
72
19
0
-1
12
0
0
-38
4
0
0
-14
0
2
-96
-23
0
0
34
0
0
-13
-59
0
0
-84
0
9
0
-2
0
-67
-3
0
-3
-4
4
4
0
0
0
7
0
53
24
2
0
0
-1
0
-28
-5
0
-4
0
0
-12
18
-8
0
37
0
-2
-16
7
0
0
-6
0
4
-18
-41
0
0
15
0
3
-37
-44
0
0
-51
0
-13
-6
-114
0
0
-47
0
0
-1
6
0
0
-51
0
3
1
46
0
1
0
0
34
0
63
1
0
0
0
0
0
-35
-5
0
6
0
0
0
59
-8
16
6
0
0
3
-78
0
0
57
0
1
-8
79
0
7
-6
0
0
0
-28
0
15
-47
0
-6
0
-51
0
26
35
0
-3
0
-14
0
6
13
0
-17
0
-47
0
122
0
0
0
0
-12
-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
-61
-25
15
0
0
0
0
0
0
0
0
0
0
-26
-8
22
0
0
0
0
-15
-42
1
0
14
-3
-5
34
-52
0
-4
-35
0
-1
-55
-36
0
0
3
-1
-3
45
-27
-2
0
17
0
0
0
-3
-8
0
8
-9
0
0
-3
-21
0
0
0
-1
0
-7
-81
42
-70
-1
0
50
1
-40
2
-34
0
0
12
40
-25
62
-26
-44
0
-6
-10
3
-1
-7
0
0
-37
-1
-2
73
-49
-2
0
18
-9
6
0
-47
0
0
-8
36
17
-50
-34
11
0
-8
37
0
-15
-5
0
0
0
112
-52
53
2
3
0
0
-3
-23
0
0
0
0
27
48
-11
-8
16
-9
0
10
36
-3
0
-21
2
0
57
-25
3
42
-23
28
0
-66
7
-8
0
-32
0
1
5
-15
3
-19
-43
79
1
37
7
0
6
9
0
0
-4
20
12
-38
-67
72
0
0
34
-74
0
0
0
0
0
-79
-10
-8
-10
0
0
5
-2
20
3
25
0
0
-2
8
4
-6
0
3
0
13
0
-17
-6
56
3
0
25
-24
-6
35
20
-31
0
15
9
9
-122
-54
0
0
8
4
0
13
-7
-5
0
0
29
8
-14
4
0
0
0
-20
-24
90
-3
-7
-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
-97
19
0
0
56
0
-1
-20
1
0
0
23
-5
0
15
-5
0
0
3
0
-1
0
0
0
0
20
0
0
0
-1
0
0
0
0
-1
0
25
0
0
0
0
-6
0
0
-25
0
0
0
0
0
-60
8
32
-2
0
0
5
-10
0
0
-58
0
0
39
-66
0
-80
-68
0
2
-34
14
0
0
-24
0
0
-1
3
0
0
0
-1
0
0
-55
0
0
0
0
0
0
-12
0
-7
-1
-3
0
0
37
0
0
0
0
0
0
-13
5
-1
0
0
0
0
14
-1
0
3
0
0
2
24
0
-1
25
0
0
-1
-42
0
0
8
0
0
-6
38
0
0
12
-1
0
0
19
0
0
-7
0
0
6
-17
0
-2
7
-2
0
0
-108
0
0
7
0
8
0
-50
0
0
-1
0
20
0
-40
0
0
0
0
-1
0
49
0
0
0
0
0
4
-20
0
-5
2
0
0
0
-31
0
6
-5
0
0
0
16
0
-4
2
0
0
0
29
0
0
-3
-1
0
0
-4
0
0
1
0
0
0
40
0
0
0
0
0
0
-20
0
-2
0
0
0
0
38
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-31
-4
8
7
-15
-66
53
9
42
2
40
26
8
59
-3
-25
-7
24
93
-7
14
-30
0
9
-32
-11
-53
21
4
-5
-6
39
31
-43
-18
-19
-4
-1
20
5
-16
-6
18
25
0
-1
21
-12
-1
0
-3
20
14
-8
0
-69
-27
23
-83
-103
-2
-6
7
47
-20
-5
-25
4
117
24
17
25
20
21
-63
-2
21
-47
-36
42
-10
-28
-9
-3
-9
40
-19
2
-17
0
12
1
-5
-37
-14
3
-89
0
-9
8
13
72
-13
-51
-3
31
34
-33
-23
0
8
3
0
-77
0
-138
1
-1
-104
-15
-40
-177
-36
14
18
-29
22
-57
25
-37
-55
68
-4
27
21
32
12
-44
-30
16
-14
35
-18
33
49
-22
25
-33
-19
-58
-9
-20
72
-31
-23
-41
-94
3
-46
23
-13
-26
-41
-11
-3
6
-7
-1
9
5
-23
1
-35
10
-63
0
-79
-49
-77
12
-42
-99
-28
-45
-101
-81
-3
-4
56
35
-33
-19
-39
-75
58
-52
-4
48
34
10
-56
60
2
-10
6
-3
0
-9
14
-84
11
-74
10
-30
-14
25
-15
-38
-4
11
-96
10
11
-2
1
20
18
72
-48
-98
-1
3
23
-21
-46
-124
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
107
-27
18
6
25
-24
61
32
45
-32
20
1
-13
-14
49
-20
9
-31
1
0
-58
-15
77
67
-16
-31
0
-91
-9
-2
4
-19
-9
4
-27
20
-1
29
-59
10
2
-4
3
16
-2
7
54
-11
23
-5
29
83
106
11
0
33
-6
4
40
16
-13
-2
-32
37
0
0
35
16
-13
-21
23
-37
-41
-26
-103
2
-20
21
8
-8
-1
-37
-35
-102
20
0
-20
-49
-50
28
-41
23
-17
-4
-65
0
54
-95
21
-11
-4
-42
-51
-36
-1
14
-30
-31
-2
-40
-8
-8
-42
-24
-72
8
45
-6
-25
14
-52
50
-55
8
96
-43
9
35
39
-31
-32
36
-6
24
-33
27
-3
-2
30
-38
13
-47
-24
-7
53
-3
-77
12
-23
-95
-31
-25
-11
-92
17
1
0
-72
4
-2
-58
12
6
-60
-71
-50
6
-1
16
-18
33
25
-63
32
53
10
-31
-61
43
85
-5
22
26
78
37
64
-31
45
4
-26
-14
62
-16
5
-12
-45
-7
-28
6
-9
-145
-3
0
-21
-11
-25
-65
56
15
23
2
7
21
-11
-15
18
-72
-18
0
-50
-39
-46
-38
-10
21
-41
41
4
-28
2
17
-9
-25
-22
-1
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-5
0
0
-46
0
-3
-6
10
4
8
-3
14
5
38
40
0
0
-30
0
-2
65
-26
0
0
-8
-4
-16
6
25
0
0
-1
0
-40
0
-2
0
0
0
-5
4
0
0
43
0
0
0
-5
0
54
41
29
-2
0
0
-28
-73
15
0
-69
0
0
70
-4
2
-37
32
-23
0
-18
-50
0
0
5
0
0
-3
-81
0
20
-5
-1
0
-4
66
0
0
0
0
-2
-1
-36
0
29
34
35
-1
0
-15
0
0
0
0
-13
0
-36
33
0
0
-6
-1
0
28
2
0
0
0
0
13
11
-1
-1
-44
-2
0
55
-44
0
0
-6
0
0
9
33
0
1
-28
-1
0
-17
79
0
0
-23
0
0
-5
30
2
0
-6
13
-1
-1
-12
0
0
-14
0
29
0
-6
0
0
2
-15
-2
0
-47
0
0
0
0
1
0
-23
-3
0
-1
0
0
0
84
0
0
-2
0
0
-4
-25
0
0
-4
0
0
0
-42
0
-12
16
0
0
0
-65
0
0
-1
-8
0
0
-72
5
-5
46
0
1
0
-19
0
0
-3
-6
1
0
46
0
0
0
0
3
0
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
2
-6
-61
1
2
60
-20
0
-13
-22
-16
17
-11
-24
8
-4
-14
0
-15
37
-25
0
0
-9
9
-46
-40
94
0
0
8
-2
11
0
33
-6
0
0
1
28
0
0
-6
0
-1
0
19
0
-41
54
-2
-5
-23
-2
-14
-113
-5
-5
-136
0
0
-22
19
-1
-57
-49
-74
0
20
71
0
0
55
-1
-15
32
-81
0
-2
-39
69
-4
22
-1
0
0
41
4
10
-1
67
0
14
-8
-12
10
-1
33
-15
2
2
0
-41
0
-23
37
-72
-4
-15
0
0
5
0
0
3
0
0
2
-99
-3
2
-80
-3
7
-15
3
0
-18
26
-2
1
14
-15
1
9
38
-24
10
-69
1
-9
-1
106
15
-33
-33
-1
0
-9
47
38
-10
-5
-24
0
0
-22
0
-96
0
-2
0
0
-3
-10
-47
0
16
0
-9
0
0
-2
0
-20
5
0
-9
-11
0
1
-56
-25
-10
18
0
0
-1
-32
0
5
83
-1
-2
1
-12
0
-99
-88
-9
1
32
42
0
-6
-11
36
-3
-6
-13
0
62
28
0
8
-3
-5
0
7
9
-15
1
0
-45
4
-82
-2
0
3
0
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-8
0
0
-26
0
0
-44
-1
0
16
64
1
0
-38
0
0
0
-13
0
0
5
18
0
0
2
0
-32
-47
0
0
0
-2
0
-8
0
0
0
0
0
0
-82
0
0
9
0
0
0
-1
0
6
1
0
0
0
0
12
-72
0
0
-66
0
0
-5
57
0
6
-20
0
0
-95
-30
0
-2
55
0
0
-29
-13
0
0
29
0
0
-22
-38
0
0
-33
0
0
0
50
0
7
15
-4
0
0
-92
0
0
0
0
0
0
45
-5
0
0
0
0
0
17
-1
0
0
0
0
-2
-8
0
-2
7
-4
0
-2
-60
0
0
-71
0
0
5
-72
0
0
-10
1
0
0
27
0
0
9
0
0
4
-56
0
0
4
0
0
0
-49
0
0
10
0
-1
0
21
0
0
22
0
13
0
-83
0
0
0
0
0
0
26
0
0
0
0
0
0
-12
0
0
-4
0
0
0
14
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-23
0
6
0
0
0
0
-21
0
0
8
0
0
0
-34
0
0
-3
0
0
0
-32
0
-12
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-67
0
0
12
2
0
5
43
-6
-3
-29
-7
0
0
-1
0
0
1
11
0
0
-1
0
0
10
1
0
0
0
0
-4
0
-4
0
0
0
-7
0
0
0
-2
0
0
0
0
0
-56
-3
-1
0
0
0
46
-87
3
0
-5
0
0
-25
20
13
42
-62
-1
0
28
-43
0
0
2
0
0
1
-14
0
0
3
0
0
-2
-49
0
0
-14
0
0
0
22
0
5
0
-4
0
0
1
0
0
0
0
0
0
0
6
1
1
0
0
0
0
40
0
0
0
0
5
61
14
0
-7
2
0
6
-34
0
0
40
0
0
30
-51
0
0
42
0
0
3
74
0
0
-17
2
0
0
6
0
0
-4
0
0
0
20
0
0
-2
0
0
3
-20
0
0
0
0
0
0
58
0
0
0
0
0
0
56
-6
0
0
0
0
0
-22
-9
-7
10
0
0
0
25
0
-2
-2
0
0
0
27
0
-27
0
0
1
-7
-15
0
4
0
0
0
0
-13
0
-5
-16
0
0
0
-31
0
0
0
4
0
0
-18
0
2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
30
3
39
21
-2
8
-42
32
4
-10
-23
7
-6
-8
8
-3
-48
-30
-4
-37
-19
-2
36
-26
15
14
-40
-21
-13
34
-30
-7
-16
-33
10
9
-47
-51
-58
-12
-22
46
12
-58
26
-9
-44
-38
36
73
-9
38
10
67
33
48
24
19
12
4
15
13
15
-3
41
16
-54
38
5
-23
6
-21
-18
5
22
-10
-13
-60
27
-19
-38
12
-6
-5
28
10
-39
-9
7
24
-16
-19
55
-40
-63
-21
77
3
7
-11
18
21
-3
-29
39
2
39
53
-86
-47
-11
5
-11
44
24
23
34
-8
12
-7
-48
69
-52
-63
5
4
28
3
17
20
6
11
-15
6
40
22
-7
45
19
-22
103
-29
-3
0
33
-6
-20
12
2
-6
-11
6
-21
-10
60
5
-29
13
3
-18
9
-6
50
17
14
-21
27
12
-9
1
33
12
-105
-58
2
32
-10
38
-36
8
4
5
-36
-19
8
17
11
-2
2
23
8
34
26
31
28
-24
-1
-30
32
37
39
53
-5
37
48
22
-22
33
-7
4
-6
45
-14
6
38
-23
-1
-20
-7
8
-18
-10
47
-4
38
-14
41
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
23
23
5
-3
64
28
-9
-100
0
40
-6
19
-61
-31
0
10
-8
-1
38
-81
-61
42
0
0
16
0
-68
-3
-6
0
0
-5
-30
5
14
0
-10
0
0
-3
-2
26
24
-4
-41
-51
10
1
11
75
0
24
16
7
0
-149
0
-33
-11
19
35
-5
22
-21
17
-17
-36
-3
17
34
-78
0
1
0
13
-17
40
-15
0
26
-98
41
20
-44
-36
-5
13
-22
-26
48
-4
-12
-5
8
-1
4
-1
0
2
17
-7
0
-16
8
1
57
-25
10
41
-15
1
27
-67
38
40
44
-23
1
-27
0
4
52
-77
-4
-24
40
44
28
7
63
-2
-5
38
-75
-2
53
31
23
24
-5
-13
-3
-8
35
13
-23
-29
-16
-1
-38
67
-30
-60
5
-10
0
41
54
14
-29
3
1
-3
-2
0
6
-7
-1
90
61
9
-8
2
0
19
-48
-6
9
60
-14
0
-59
0
-21
-49
-1
49
0
85
-62
20
-78
13
16
1
-19
-19
-1
-24
31
11
1
27
-12
1
-9
34
0
-1
-10
-1
-3
46
11
-17
4
-3
-7
0
17
-7
-5
25
0
27
10
-60
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
9
0
13
12
-13
8
90
7
0
0
32
0
-6
-5
6
0
-7
-21
-6
3
-22
-3
0
0
-7
0
1
0
4
0
0
-2
2
-20
0
0
8
0
0
0
8
-8
-7
-5
0
-5
0
0
-32
-22
0
2
54
0
0
-15
54
0
-90
-19
-5
0
42
-95
0
8
-21
0
-2
-50
25
0
42
-14
25
2
14
12
0
0
-31
1
0
4
-16
0
-40
-1
18
0
0
-62
0
0
23
0
0
0
0
0
15
0
0
0
-1
-22
57
0
57
0
0
13
-39
-5
2
0
30
0
76
-23
0
13
-34
0
0
9
21
0
12
-5
-5
0
43
86
0
0
-80
0
6
30
39
0
5
-26
-5
0
0
-17
0
0
-4
0
8
21
26
0
0
6
3
8
0
-24
0
0
0
0
0
0
-2
41
-4
5
0
0
2
10
0
-60
4
0
0
-6
-58
0
3
-19
0
0
-3
16
0
-26
-10
0
0
2
39
0
1
-6
11
0
0
-6
0
-1
0
-2
0
0
-18
0
-1
-5
-2
0
0
-63
0
7
-8
0
0
0
33
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
38
0
0
-44
27
42
-82
-18
0
0
33
12
-16
25
-24
0
0
-7
8
67
-65
-23
0
0
15
0
-8
-2
-16
0
0
7
-2
-69
0
0
41
0
0
0
6
-5
-8
-30
2
76
0
0
-98
5
0
-2
17
-10
0
24
-95
-2
-25
-26
84
8
5
-9
1
-8
-13
21
10
-38
-19
0
0
-41
-6
-3
-10
-13
0
0
-43
-8
0
19
-63
0
6
4
-19
47
10
-65
-2
0
0
0
-3
0
35
9
-5
0
12
0
0
20
-6
0
-5
0
0
19
-12
14
0
-27
13
0
-43
28
3
4
73
-2
0
-29
5
7
19
4
15
3
83
-38
-13
9
22
-3
0
19
-54
0
-1
-32
-17
0
-9
23
0
0
11
6
0
4
74
0
25
-1
5
16
0
71
0
0
0
0
0
0
-53
-5
1
0
-7
0
25
5
-1
-21
60
0
0
0
21
-1
-13
21
-3
0
4
-14
0
-43
-8
-12
-1
-3
42
-4
0
2
-41
0
0
-6
-4
28
160
-5
0
4
42
0
0
-8
1
0
0
7
0
-7
8
23
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-35
27
49
52
11
-4
15
-5
-26
-14
-1
21
-5
1
-10
54
-21
-3
-22
-30
-27
-36
17
25
-5
-17
-14
-31
21
-51
-73
-35
-14
-31
10
4
5
-18
14
6
-1
9
45
-13
-56
20
-86
-1
-58
-22
-9
43
-28
-37
26
11
41
-76
5
69
-34
83
29
-7
33
61
41
31
-32
12
-25
-15
-42
6
6
40
-9
-29
-32
-76
-10
-31
28
2
-50
-38
-4
-27
-7
-22
-10
-26
-54
-97
-2
-14
1
-79
-4
36
21
-24
10
5
-33
53
-2
45
-49
-15
-17
6
3
5
28
-38
35
17
-2
9
20
-3
31
31
19
13
2
33
32
33
5
19
13
-32
-2
3
20
-37
-28
8
-23
-37
-4
9
1
9
16
-16
13
-43
5
5
-2
-43
-22
-70
-9
-12
8
-6
-21
-3
-8
-69
-1
30
-48
-8
38
37
35
-41
-24
76
40
16
1
0
22
2
37
-6
21
14
-56
3
-9
-6
-11
-5
-68
-14
34
35
-20
-24
-7
-3
0
18
18
30
5
-16
-75
7
2
-6
1
-108
-11
41
4
-1
9
4
-28
-19
-45
10
13
11
-17
-28
1
-6
-107
-3
35
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
68
-4
-1
2
-8
-13
1
3
4
0
2
1
21
-18
-47
-1
0
13
7
-7
8
-26
0
1
6
0
24
-8
-6
-10
0
-1
13
-44
0
0
-24
0
0
0
12
0
-44
3
-8
3
0
0
-96
70
3
0
-49
0
0
25
-85
8
80
-59
-7
0
-17
42
0
0
-62
0
0
-86
4
0
0
-29
-3
-3
3
-21
0
0
22
0
0
-1
-51
4
134
2
-1
0
0
-26
0
0
-16
0
-3
0
12
5
-30
0
0
0
0
-43
-18
-1
2
0
0
-24
19
7
25
-5
-17
0
27
-29
0
-2
2
-6
4
6
-19
0
-1
33
29
0
27
-70
-1
-8
-48
0
3
11
-2
0
3
-12
14
0
2
-13
0
-2
41
0
13
0
12
0
0
5
5
35
0
-7
0
0
0
0
0
0
12
12
0
4
0
0
-12
67
1
48
6
0
1
-8
-50
-1
0
48
-2
0
-4
11
12
39
35
0
0
4
-67
-6
-6
17
0
0
2
-7
1
0
7
0
0
0
-70
0
0
4
0
2
0
35
0
-42
0
0
4
0
-21
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
0
-1
23
-45
0
-37
53
0
0
-30
0
1
-11
14
0
-1
-38
17
0
-19
-22
17
0
-118
-1
1
33
-20
0
-6
22
-16
-3
0
1
-4
0
0
-6
0
17
14
-54
48
9
3
0
-52
48
0
-4
25
0
0
-24
8
-15
5
-9
-95
0
37
47
9
-10
64
10
1
27
46
0
-4
-18
-21
4
14
11
0
3
-24
-8
0
-54
26
-6
-44
-43
22
0
7
-33
19
-1
5
-1
0
0
-17
-13
9
0
48
0
-3
24
-28
0
37
7
0
-91
-32
29
26
58
-17
-8
23
-14
4
21
-9
5
0
25
-5
1
-28
-22
-28
0
-1
21
-1
5
45
4
0
-10
-16
0
-41
15
25
0
-2
-38
9
12
-71
0
0
0
-45
24
18
-107
79
0
0
-43
-4
0
-1
-1
0
0
-22
-30
2
-5
1
0
1
-39
48
30
22
-5
0
-24
16
3
-46
-48
27
0
40
14
17
83
3
16
0
-7
33
0
42
31
14
0
17
-17
0
-56
-26
18
0
-14
-36
5
-33
-63
-31
0
0
-1
-1
-57
-30
8
0
0
16
53
-9
-58
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
36
44
19
39
8
-48
-24
-76
-33
-39
-48
-65
-34
-31
-41
-39
-15
5
-23
-38
-11
-53
60
-64
-46
-29
10
-25
-20
-16
35
-42
-36
34
11
9
-57
47
0
-41
-40
-1
-14
106
15
-58
-83
-52
-22
20
-17
-12
-39
17
-14
-14
94
37
21
72
-22
5
10
45
0
-7
-30
1
-52
-20
107
7
-22
-26
27
-70
7
-74
14
-11
-33
23
25
-17
-23
70
-105
39
-34
-36
-3
-18
-29
43
-30
-11
-40
14
4
9
11
79
-2
18
23
17
16
37
-39
27
-19
5
-26
-40
39
32
19
-47
-32
2
3
21
-15
-20
-25
4
28
-22
30
59
39
19
-10
2
-20
20
15
30
28
5
30
103
4
-46
-8
45
-13
14
0
-42
0
9
29
7
-18
1
-9
-27
-12
-6
-6
6
20
-6
25
70
44
-7
-19
1
0
-8
108
-38
-5
123
-12
4
23
32
-5
-12
73
32
20
-64
-12
-23
-17
39
5
-11
-10
43
14
-1
-42
-9
1
26
-20
-34
5
-45
4
8
-12
19
-1
3
-2
6
-19
-7
24
-23
4
-34
47
-65
-13
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
29
-20
-15
-26
-29
-59
-88
56
2
3
-52
-11
-40
-87
2
-4
1
-55
40
-53
-50
-12
0
-2
-4
-34
-47
-2
19
-11
-2
-1
38
-57
-37
4
-53
-63
-2
-3
0
22
36
24
-5
-8
-22
18
19
15
-10
-47
9
-100
70
-155
0
-33
11
-142
-13
55
-44
-40
4
-25
-39
-38
-35
-98
12
-34
13
16
51
-27
-56
-5
-4
-39
-20
-71
13
33
-17
-9
-5
7
1
-32
1
21
60
-43
-1
-83
-16
7
32
-38
12
3
-1
0
102
16
61
22
55
9
7
42
16
32
34
69
55
9
-26
0
70
-108
-10
-17
-10
2
-26
-19
23
-24
42
-45
35
13
-5
-10
50
-84
66
59
28
-15
27
11
-18
-5
-4
-33
-12
4
-49
-100
-48
0
8
-90
-5
-13
-1
13
0
-14
31
79
-30
12
-7
29
-5
53
31
49
29
8
-6
-6
-42
11
75
-47
13
-25
0
47
27
-14
-17
-38
-58
0
-1
13
28
-50
10
-46
9
-16
7
-63
-16
22
-69
-8
-3
-11
8
-5
-50
1
16
-4
-27
25
-10
-11
0
18
24
-6
2
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-88
0
-2
32
-1
63
-59
-17
0
-8
12
-29
-1
42
20
5
8
32
0
-13
-3
-20
0
0
24
-9
54
0
-1
27
0
0
-5
-27
0
-19
15
-24
34
0
0
-25
42
16
13
-36
8
0
74
8
4
17
-96
-41
0
-1
-104
-7
0
-46
25
24
17
-46
-1
0
-9
-53
-16
-45
-22
0
4
-6
0
25
-6
-12
0
-18
41
-19
0
-2
2
0
0
0
-1
33
0
-7
-42
-25
0
0
0
0
40
-50
1
18
0
0
-25
2
35
25
4
-3
-13
35
5
0
39
37
5
8
-77
20
-7
74
-16
-3
1
-4
-58
7
-13
18
-10
3
18
20
0
1
-26
30
-3
0
6
-1
2
-26
-1
4
8
37
0
1
-2
-18
55
0
-78
-4
0
0
0
-5
-3
29
-23
-5
4
25
0
36
-1
2
22
-18
0
0
-8
-18
-7
-3
1
5
0
-4
23
0
35
34
1
10
-29
2
0
15
60
-32
-1
-2
-82
-4
-49
21
-1
3
-3
-46
0
7
-25
-14
-4
0
18
0
-22
5
0
-1
0
28
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-3
-7
-2
-9
0
49
-37
11
0
0
34
20
22
-95
41
0
0
-16
2
-5
18
47
0
0
-3
2
-23
0
0
-77
0
0
0
28
0
9
-47
24
15
5
0
-31
42
28
-15
-70
3
4
3
12
-39
-78
74
68
151
-37
80
0
-24
-27
0
22
-22
49
-6
-4
-58
-25
-10
-7
-18
0
0
-51
-8
25
6
-61
0
-23
53
57
28
16
34
0
0
25
0
37
0
10
-13
-15
0
-2
3
0
-28
-72
0
-4
-2
0
-46
49
63
1
33
-15
3
-55
-37
16
-82
16
-19
7
-109
47
-10
13
0
22
6
29
70
13
-6
43
8
5
-37
-33
21
0
1
68
14
-8
48
0
0
23
0
-17
18
-25
4
1
-1
4
-7
0
-1
-10
0
0
-14
7
0
7
-9
0
-1
4
0
22
3
-28
-2
43
0
10
0
-41
-1
-9
123
-10
0
0
15
-1
-36
26
5
0
15
25
-6
-28
-43
0
0
47
-78
2
17
26
0
8
-3
38
0
0
5
66
31
0
-38
0
69
-3
27
-3
0
8
2
-1
-4
-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
-64
-8
-64
26
-32
0
-26
-20
26
95
-36
-31
-2
-3
-8
8
7
12
-35
1
-34
-63
-4
-13
58
20
-12
-28
-48
-17
-36
2
-13
-36
-2
19
6
-23
-49
1
50
43
-5
14
-14
0
31
-36
26
-51
-3
-25
-10
-3
-20
37
-16
-8
-37
49
26
37
36
32
6
7
-8
-24
-25
-6
-6
-25
-3
-99
-11
-46
-49
-13
-1
0
12
-10
-24
-9
-32
-15
-32
39
-41
-67
-33
10
-6
-42
15
42
-7
-15
1
24
-9
-9
42
-74
-45
6
9
35
22
40
0
0
-10
-3
-20
-23
39
-55
85
-12
-3
69
27
-4
-24
4
8
-13
77
1
-12
-30
17
-2
0
107
-31
-12
-45
-3
8
10
-72
-3
13
40
6
-3
-21
-11
-14
-68
-9
-23
19
5
11
-22
68
40
-29
-90
-5
-45
-55
-8
-108
-16
-15
0
-11
-12
17
-73
-25
-73
-19
-5
-17
-39
60
-20
-64
4
-105
-27
13
42
-21
-32
-6
66
-3
-37
-53
74
-21
4
-57
-16
7
-41
-35
36
-5
-86
-46
-25
-10
-39
-88
-1
41
10
-67
-40
-32
0
19
22
-110
-9
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-35
-13
-12
-43
69
-6
-41
-39
9
62
-8
-8
2
-36
-32
16
25
-65
1
19
-21
-36
-76
30
-41
-5
2
1
-38
42
-13
-31
4
-11
12
34
15
-39
-44
-7
0
20
16
12
94
15
-1
5
-26
21
-14
-3
-11
-7
-27
-15
-8
120
-88
-25
25
-56
43
-62
-36
-109
-3
-10
-56
-9
-4
-2
91
28
14
-33
7
-22
75
9
-6
-28
-48
-32
-29
-11
-40
10
-17
6
-21
-30
23
-7
-25
22
-41
28
17
-11
17
62
8
-3
47
10
-39
-57
-3
34
-18
-30
9
-1
-62
3
-21
36
18
-12
44
-43
-14
-16
-29
-7
-5
66
-4
-2
7
-36
60
-40
-76
-10
10
42
-59
37
-5
61
16
25
51
6
54
23
15
-62
56
30
2
3
-15
10
-24
-18
14
-34
15
7
56
8
-11
24
-4
-48
-1
-11
8
33
-29
-42
-15
32
-13
3
25
1
-59
102
-21
44
-22
2
7
-12
54
26
-156
17
-29
71
-50
10
36
-63
-19
-10
12
-121
-2
19
36
-80
23
-15
10
-54
-41
0
17
-7
24
-28
19
4
1
2
33
-25
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
43
35
1
-3
-2
0
-3
-12
3
-5
-46
21
-2
-53
-62
-7
0
-59
8
0
12
-46
12
23
-20
-3
-2
8
94
-39
0
3
-6
0
24
15
-3
-14
16
-4
0
-7
-14
-71
121
2
80
0
45
8
75
47
3
-10
0
-45
-35
-32
-12
-53
-6
0
34
11
52
89
-44
4
20
46
15
-2
-23
12
-3
6
26
-2
37
1
-29
25
0
-43
-36
5
-5
-19
-17
6
0
34
10
-24
46
1
0
-4
8
25
-1
-49
-2
0
-16
13
-38
-36
3
29
0
-15
-16
-75
35
-54
24
41
-3
-21
43
-13
-38
-38
0
5
1
49
-64
22
0
0
46
-9
2
-10
21
-41
0
-9
6
-2
-24
15
52
0
0
-18
12
16
-32
12
0
-2
0
2
21
-41
-25
0
-2
-5
15
10
-52
13
0
43
-9
-23
14
38
-4
0
4
10
-22
-10
-16
-6
0
9
0
-50
-18
-24
21
-3
39
-13
15
54
22
-17
0
38
13
-14
-16
10
39
8
-3
-18
3
-49
-27
15
1
-20
-25
-15
-34
56
-10
0
-1
-16
16
38
59
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
20
69
-3
15
34
-2
-128
24
-41
-43
-8
-1
-11
-63
4
-30
-23
-31
6
0
-15
-61
-24
-2
-23
-49
-43
-1
-9
-34
-29
28
5
25
-8
4
11
0
4
6
7
-33
3
34
9
-1
-12
-19
-171
-17
-72
-55
-7
-22
-28
-27
8
52
17
15
3
30
-57
3
-4
105
-9
29
-25
-25
6
-21
5
2
4
-48
51
-15
-53
4
46
-22
-46
-14
8
-21
-23
6
5
-81
-26
5
11
-1
54
-56
71
22
2
-27
-14
-10
-9
-18
-1
16
-25
-18
13
21
1
-51
25
33
-25
-15
-28
-1
-88
13
17
0
12
12
37
-44
0
12
32
16
29
22
-45
-14
-59
23
9
-34
-1
-46
2
-14
-91
-45
9
-10
-31
1
-16
16
34
-84
-36
-19
-23
13
-47
33
-3
16
-87
-5
-28
-29
11
-9
-13
-33
21
-31
-52
-42
-9
-30
37
19
32
-24
5
-68
-5
-39
-1
-43
-25
12
-2
10
6
2
-30
-25
14
-35
-16
40
-4
8
90
-2
-2
12
22
1
21
-12
-20
-90
1
52
-9
-3
-99
-74
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
-8
32
-10
-19
-46
-29
-30
12
-30
17
33
-55
68
-21
-3
-3
-4
55
-58
-2
0
-27
0
8
-63
-69
21
-10
-5
5
81
19
4
-37
52
-126
-19
-36
2
0
-39
12
14
-10
-5
14
49
-26
0
39
-22
51
27
-9
-62
0
13
-21
24
-17
-105
-60
-33
-6
-47
-27
25
13
-80
-38
15
-45
12
-34
-40
22
-3
-3
24
-52
3
-9
-5
40
0
-48
-4
-44
-25
3
-1
-2
1
-16
-6
-13
38
59
-64
19
7
-23
-91
20
21
-72
66
-8
2
4
-26
-1
39
0
-50
-70
-79
-19
0
9
-97
16
61
24
58
-39
62
44
-10
-36
-10
-56
-30
10
-54
25
-36
-25
-4
-4
-2
-30
47
-63
-61
-5
-6
-3
6
5
-62
-11
14
-3
66
-4
57
23
0
25
67
-91
25
19
-6
0
-53
33
-50
36
-10
18
36
-62
-10
-12
-70
-11
25
-54
-26
0
38
-21
-74
-55
-18
-13
-11
-8
-65
-80
20
-27
-3
2
53
-73
-19
3
59
-4
-17
-4
-2
-49
18
-61
-1
4
-51
-1
-5
36
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
0
0
33
-2
-5
-9
25
0
0
3
3
14
0
-5
0
0
0
0
9
0
0
-9
0
0
5
-2
8
-2
-3
-3
41
0
0
41
-36
-2
-2
-114
1
0
41
-16
0
-2
-22
-39
5
-33
13
-1
0
32
8
3
-37
-51
6
0
-9
-2
1
-38
-41
0
0
22
-4
-3
0
-53
0
-12
0
-30
0
0
-50
0
0
-3
-2
1
0
16
68
-12
0
0
-2
0
-2
-19
1
0
0
0
-19
11
0
-19
6
41
0
42
14
0
0
45
-1
1
1
-7
0
7
-78
17
1
-7
-25
0
0
-43
2
12
-2
-44
0
-2
45
8
2
8
-87
-2
0
-5
0
0
0
-42
0
2
-5
8
-8
0
74
0
0
0
-7
0
0
-93
8
3
0
7
0
-1
56
-3
37
17
0
0
-8
-45
0
-5
-74
-15
0
3
-22
12
1
-34
-6
0
0
-32
-1
-10
-27
29
0
0
33
0
-9
-1
0
0
0
-36
0
0
-7
1
0
0
47
0
72
0
-3
0
0
-33
-5
5
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
57
3
0
-16
1
13
10
62
0
0
-5
0
14
0
0
0
0
6
31
-51
0
0
-27
0
0
0
-16
0
-11
63
6
14
0
0
37
-49
-1
0
-34
0
0
-65
-28
0
4
22
-43
0
-12
-35
0
19
-42
7
2
-32
31
0
-8
18
6
9
21
-34
0
-2
-41
6
8
15
-48
2
7
33
-19
8
0
-7
0
0
0
0
1
0
-29
-8
-8
15
7
29
0
11
-5
0
8
0
0
24
-4
4
0
51
40
22
-4
24
0
-8
5
-2
0
-99
-15
-8
24
-33
39
0
-25
34
0
2
-25
1
-1
6
-36
14
-18
-26
37
-2
6
-33
0
0
-7
0
-32
0
-38
0
0
7
39
-13
0
-3
0
0
0
0
3
0
2
-1
0
2
0
0
-2
-110
10
10
-1
0
0
-12
-35
12
-1
-42
0
0
0
15
25
86
-25
6
10
1
-60
0
30
7
-3
-1
0
-49
0
-52
-5
4
-1
-1
-44
-5
0
23
2
15
0
92
0
85
9
-2
3
0
-34
-1
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-45
-35
26
11
-15
-22
11
-11
43
13
8
-40
-8
25
38
-2
-1
21
-27
-25
13
-39
9
-8
0
11
-63
30
-7
-51
-1
20
67
-1
-12
-7
95
-137
-12
6
6
-31
15
-6
16
-20
-30
-24
-50
4
-3
-34
27
26
-50
17
15
78
-13
3
-32
7
61
-3
8
36
-20
34
26
-35
36
-4
-3
-62
18
-49
-8
16
40
66
54
-41
1
0
-8
-28
38
-1
-21
-49
4
-1
28
13
-60
-1
-41
50
12
2
-32
3
-18
-55
-50
6
75
36
-51
5
-62
-14
13
-30
-13
13
-29
98
19
31
-62
6
-39
-35
41
-1
-23
1
-48
-11
11
-37
48
-11
43
36
-88
-39
-8
-54
8
-7
-49
-31
-25
-25
-1
0
-34
-3
-2
-58
-76
13
-16
37
76
37
16
1
-37
2
-107
13
27
-5
-22
-10
6
-15
92
1
-53
-80
-49
5
16
17
-76
-61
16
-35
7
-46
-59
-71
-17
86
-110
7
32
24
16
34
50
-69
5
17
6
-45
-45
62
8
1
8
3
-10
-42
-40
-1
-12
-6
-57
6
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-10
0
0
54
-1
43
18
55
0
1
-5
0
-47
-6
5
0
0
31
0
-3
0
0
-75
0
0
8
17
7
-19
50
-10
27
0
0
-76
24
4
0
-37
0
0
36
-53
0
40
-28
0
0
-89
-13
0
0
-2
14
0
41
-25
0
-1
1
-12
0
24
-14
0
0
37
0
3
-16
36
0
56
-23
47
3
3
-37
0
0
0
0
-12
0
-21
-3
-8
0
0
0
0
-47
-8
0
0
0
0
-58
21
16
27
8
3
3
-1
-33
6
0
-82
0
2
-27
13
0
0
-38
-3
-4
30
-8
-7
-12
-14
0
3
30
-25
0
-2
20
42
1
37
-1
0
-2
-11
0
-2
20
-32
0
0
0
-8
66
0
-21
0
4
0
0
0
0
-29
-30
-1
0
0
0
0
-56
0
-30
-4
0
0
4
-7
1
0
47
0
0
-4
3
0
3
-24
0
0
-4
-5
0
-7
56
25
0
0
-62
7
12
-5
0
3
0
-9
0
-1
7
21
0
0
-6
0
-30
5
0
4
0
-4
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
42
-1
0
17
-115
-1
-26
21
-2
-8
-9
41
-2
12
6
25
7
-30
16
7
0
-11
-35
0
-1
-36
-1
42
20
-26
53
7
32
0
11
-2
-33
-29
32
-34
0
46
-11
47
32
30
3
0
-53
-6
25
36
-24
-39
0
43
-18
-30
-38
44
-37
0
30
-14
-19
7
22
-15
0
44
-6
0
-7
7
14
0
59
-18
-14
26
-8
60
0
0
11
23
-19
0
-4
0
0
15
8
22
-38
42
0
-72
-7
43
82
1
-4
0
-35
1
82
-17
-4
-43
2
2
4
49
13
-18
-3
0
6
-35
42
-55
-14
-96
0
15
2
15
-12
-10
18
0
66
11
-3
13
20
37
6
157
-31
0
-10
13
40
0
21
-30
48
-3
23
-49
0
-30
-5
21
38
1
-13
0
3
2
-4
-23
-69
-4
1
10
-21
-16
38
-40
80
-14
56
47
-21
-1
9
23
2
46
7
33
21
26
-30
0
-4
10
-1
-24
69
-5
2
53
-16
-1
-15
43
-17
0
-3
-18
1
6
24
-40
-6
0
-16
13
-3
-45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
44
8
40
-27
-30
-3
-3
38
-5
0
-11
-44
-72
0
-29
-6
-1
0
-1
-49
4
-23
-74
49
-19
-4
1
-4
-17
-35
1
-31
-5
8
-9
-1
33
17
-15
-69
-1
-59
1
25
-15
-16
-34
-6
-79
12
-43
-16
43
-41
-84
-60
-2
24
-38
-14
-56
-32
-50
-7
18
-6
-32
-72
-29
-2
-4
-3
24
32
33
-42
24
2
-91
-71
1
-61
-5
9
-6
7
5
25
-6
-13
-21
-18
-24
50
-40
-30
19
-45
5
71
6
3
-7
50
-16
42
-18
-8
-57
-60
-74
14
1
27
-11
-13
-1
5
-18
-1
1
27
-15
-49
14
86
-6
10
-49
67
-27
-37
0
29
1
-77
18
-77
-24
0
-1
-11
-3
-8
9
3
-17
-16
-62
53
66
23
0
-21
-30
-52
60
-5
-20
13
-29
37
4
-137
11
27
46
-25
13
-41
-8
-38
-17
21
1
-1
-40
-83
46
-27
-17
25
16
1
-18
24
16
46
-3
-15
0
-10
-82
-51
-40
0
-8
-2
-12
-8
25
-19
0
-47
-42
-8
14
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
20
-4
-12
-27
1
-20
8
-66
-4
-1
-59
-54
-39
25
18
-32
0
-2
120
-11
-5
5
108
24
-42
31
-7
-80
-8
22
-9
-27
25
-1
-53
-39
-22
-19
0
-49
-8
-32
7
10
-34
-8
-17
-5
-68
-4
6
-10
65
-2
-12
11
0
-15
-10
-14
-51
72
-32
-13
-2
-34
9
-76
-14
21
-20
2
-5
-65
1
-49
1
7
-22
-34
0
-62
1
-2
0
-38
29
9
18
4
11
4
-56
1
13
-51
-8
5
-4
2
13
34
5
41
8
-7
-31
4
-2
-23
69
2
21
-3
32
-45
-47
14
79
0
-13
-14
27
-6
-44
21
32
-2
4
-33
116
-50
26
-27
22
-40
4
-15
33
-2
-5
-13
1
10
-68
11
-1
-17
16
-2
99
-1
2
5
24
13
-88
-37
0
-4
-4
-17
25
-29
47
-29
20
-19
37
-9
1
48
-48
10
-58
-16
-12
-80
40
-19
25
4
0
26
17
82
-45
35
14
3
41
-76
-26
-4
-2
5
-26
0
4
-67
-13
-1
-4
-14
0
0
-5
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
41
0
-3
0
0
-3
-5
-15
0
0
0
0
-43
0
0
-32
0
0
0
-83
0
-45
-25
9
0
0
0
-3
-4
0
-6
-72
0
0
-31
-46
0
20
-28
42
7
-58
-32
0
0
-48
0
3
27
90
0
22
14
59
0
-16
10
0
-7
-19
0
0
0
-83
0
-25
14
24
0
0
-5
0
0
0
0
-25
0
42
29
2
0
0
13
0
-51
83
0
5
0
0
-9
16
-2
-4
-64
-2
0
14
8
0
5
39
0
0
-14
19
0
-7
-20
20
0
58
41
0
0
37
0
0
-1
-45
0
0
-3
-24
8
-3
-39
0
-4
-5
0
-10
0
-31
0
0
-2
25
12
0
-24
0
0
9
-5
-9
0
-38
9
0
24
0
0
0
22
-3
-30
-24
0
0
-3
74
0
0
12
0
0
-1
-25
0
24
-14
0
0
0
-14
0
8
0
0
0
0
-54
0
3
-4
0
14
0
-35
0
4
6
0
0
0
-89
0
4
2
0
10
0
-32
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-16
0
0
-4
0
-21
0
35
0
0
0
-1
-16
0
0
54
0
0
0
-12
0
-3
18
-21
-22
0
0
44
49
0
0
20
0
0
-50
43
0
-47
55
17
0
-14
-47
0
0
-26
4
3
37
-46
0
0
9
34
9
-56
-112
-1
0
-19
-3
10
-12
-4
0
10
6
-64
-1
0
-75
0
-2
29
0
97
0
-39
57
5
0
30
0
0
22
6
0
7
0
0
-24
95
4
46
11
-2
0
47
-14
0
0
-12
0
0
-23
-28
1
0
58
16
-2
69
-65
2
0
-30
0
10
24
-53
-6
0
-66
3
-2
7
-36
2
0
-76
-5
-1
3
17
-3
3
-6
-9
48
0
-30
4
0
-1
-5
0
0
-15
56
0
0
0
0
0
13
0
-7
-18
0
0
-6
-54
0
0
10
3
0
-3
5
0
43
26
0
0
4
-45
0
2
-4
25
0
-2
32
0
-8
-13
-3
0
2
0
0
0
8
-19
1
0
-41
0
98
0
-9
-24
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
9
18
-12
24
10
84
34
13
-30
-1
2
12
0
-10
-47
0
-1
-54
2
-6
5
-40
-3
6
-51
0
-42
6
32
40
17
-1
4
-24
3
23
14
-9
-9
43
-24
2
31
5
-3
22
-9
-60
-4
-69
10
13
-23
-18
-26
-19
18
80
-8
95
-8
-37
19
-4
-6
-107
-9
-79
25
1
-8
0
117
33
-54
0
7
25
-23
0
-58
-9
-48
6
29
2
10
3
-10
-17
-5
-61
8
-28
-43
-72
-10
-7
-45
-56
11
6
-55
-12
-10
-60
29
-16
-18
-5
-59
10
72
-78
2
31
17
-36
25
-11
-39
28
-57
17
-8
-2
9
-6
6
7
10
-20
-7
21
103
-15
-41
-36
0
8
60
8
0
-46
17
8
-11
7
-6
-4
-75
3
-41
-29
-18
8
-56
-42
-38
-73
-9
-7
-138
-66
-9
15
16
4
46
-48
-31
-21
-39
12
-18
33
18
20
-77
-66
4
4
-16
-7
8
-84
77
-21
-19
41
68
-121
-20
-37
29
-10
25
-54
-28
-35
8
18
-1
-52
-5
1
-70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
7
30
-57
3
-14
6
-20
-6
-2
20
-3
-21
-3
-4
13
0
0
6
25
-19
-43
-5
-11
37
2
5
21
2
43
5
-6
0
25
1
-7
25
33
-7
4
-19
-38
7
38
49
11
0
11
45
19
1
-4
-14
-9
22
-5
-60
-1
29
-2
-17
11
11
-32
1
-2
51
-7
-6
-26
9
13
-34
-33
3
58
0
0
-1
14
0
-1
-43
0
-25
-7
15
-20
0
29
3
-4
28
8
-1
-1
-20
-33
2
-7
-69
-21
0
-33
-31
-36
-17
2
-20
25
-47
-49
6
6
7
-26
12
-5
37
3
-3
61
-3
-43
-7
-16
0
1
-5
5
-7
58
31
25
-10
-34
-8
5
3
0
-10
15
-15
13
-4
1
0
-33
18
-26
82
1
4
24
-21
-2
75
-23
0
27
-6
31
-5
45
-25
-3
-58
-116
57
36
4
80
7
-90
99
52
-13
-32
37
29
-48
1
30
-6
58
42
6
38
1
28
3
-19
-3
-3
22
25
-17
0
-2
-43
2
-2
-5
-41
6
-3
7
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-14
2
-2
-3
-40
14
-40
26
-14
48
55
9
0
0
-67
17
6
2
55
0
17
-2
-22
-32
-34
-51
0
5
3
41
14
-1
9
0
14
19
-37
21
26
26
0
12
2
-6
39
-14
-17
16
-28
-6
-5
24
-11
10
0
10
-57
20
25
-7
-4
-2
16
11
10
-28
11
3
0
64
-6
54
-2
0
12
-2
0
13
11
-57
-13
9
0
-3
-10
-37
50
-33
2
0
-47
-4
4
66
13
24
8
2
14
2
-51
-3
-105
0
-42
21
50
-14
-3
20
-2
3
-5
28
39
-7
57
0
60
-10
58
-59
25
1
0
46
5
-21
41
47
2
0
-20
1
-2
0
4
38
-13
5
1
-50
-7
6
1
0
1
-32
-7
44
5
-12
0
-10
-9
10
6
9
-25
0
-11
2
-20
22
-3
8
0
-10
7
24
61
-3
-99
10
83
10
-15
-43
40
-6
0
6
-23
3
-34
18
-17
0
34
5
37
-29
25
-11
16
-15
19
91
6
67
0
-1
-1
25
31
7
-32
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
32
-2
-1
41
-29
9
0
1
-100
0
-1
-24
59
-40
-14
-50
-6
-54
-12
-18
-52
-13
30
-19
-45
20
-29
-102
11
-16
2
-69
-16
44
-58
8
2
-21
1
-22
-75
-22
10
-5
42
-12
-6
-53
34
6
10
36
33
6
-23
9
4
14
7
5
-37
42
0
-22
9
-3
-27
20
-58
8
11
-97
-39
-4
-62
74
7
-8
-48
-1
-5
109
-23
-96
-29
-2
-82
-26
-89
-42
-79
-9
-12
-24
-54
40
-19
-88
28
13
-60
-35
-39
-30
-7
19
-32
-52
17
25
21
-36
-2
-7
0
-37
-43
-13
-17
-2
-4
84
46
-57
-29
-10
-8
-4
-24
-43
21
-56
0
12
-84
-8
1
-55
-28
-1
-15
-48
3
-94
11
-2
5
-21
-40
0
6
2
-13
14
-26
-28
12
8
-85
-8
-121
22
19
-21
-26
-111
-55
-8
6
13
2
36
-61
-20
-20
24
-8
-7
-27
-82
21
24
11
3
-36
5
-72
8
10
-45
0
-12
-75
-78
-66
0
-33
4
5
-3
-86
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-56
29
1
82
-96
14
0
36
-2
0
0
-9
-26
18
26
-41
-13
-82
30
-1
-78
-7
-47
20
26
30
-3
-13
32
-26
-7
-40
-102
6
-2
-22
15
95
12
-32
-30
-11
-15
67
58
-33
-11
30
-16
-33
-7
94
40
-13
-66
69
0
-35
6
-25
-86
29
4
-35
0
43
3
-6
0
-2
-2
-10
-9
-2
-63
-23
4
16
-1
-2
6
0
3
6
1
-11
-74
36
46
-25
-36
9
-37
-45
-29
-87
35
-2
-8
-95
-3
-40
-113
31
-64
2
17
-37
-5
-26
-45
-32
-9
71
-28
-52
-58
22
52
0
13
30
66
13
-25
17
-21
-24
-69
-66
-80
15
-2
-37
21
8
9
-48
-10
-4
7
-9
4
-25
25
-10
-1
-6
63
0
31
0
0
-9
-5
-17
1
12
-18
-8
50
-10
-62
54
45
-12
-29
15
17
-13
-48
-43
-97
45
-50
-20
29
15
-85
4
31
-4
0
-4
-47
-6
-50
17
4
-27
4
-55
6
-1
-40
-1
3
1
-5
-13
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-1
0
0
0
2
0
-49
5
-3
-3
0
0
10
9
3
0
-52
0
0
7
1
0
-3
38
-5
0
-57
-33
0
1
34
0
-5
50
-64
0
-5
-18
9
8
-1
-45
0
1
88
-1
0
0
13
0
-92
0
15
-1
0
69
0
0
1
0
1
0
16
-3
-3
0
0
7
0
11
1
0
0
0
0
-1
-23
0
0
-10
0
0
1
39
0
0
-22
0
20
-12
53
0
0
8
0
0
-2
10
0
0
-6
0
-6
1
-14
0
0
51
-8
2
0
-90
0
0
0
0
0
0
-29
0
0
-2
24
-5
0
-55
0
0
0
0
-2
0
-40
1
0
0
0
0
0
-29
0
-2
0
0
0
0
-32
0
0
0
0
-8
0
-18
0
-8
7
0
0
0
3
0
0
4
0
0
0
10
0
3
2
0
0
0
-13
0
-1
0
0
0
0
-60
0
5
0
0
-4
0
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-4
-1
-57
0
24
-90
0
0
0
23
0
-52
1
-1
-2
0
0
5
18
0
0
-19
0
0
-1
-67
0
-16
40
-1
0
-85
-34
5
0
-44
0
-1
22
-47
0
0
-17
-70
0
-1
-60
0
0
0
0
6
-13
-4
0
53
-22
-4
5
0
-12
1
0
-3
0
-14
0
20
-33
-3
0
-2
2
0
38
-1
0
0
0
0
-1
-14
-2
0
-5
0
0
-20
0
0
0
16
0
4
48
-1
-7
0
4
-20
0
46
16
0
3
37
0
0
-1
1
2
-2
-15
10
-3
0
-31
0
0
-3
0
-2
0
-26
0
13
-43
15
-5
0
-39
7
-8
0
0
0
0
19
-2
0
0
0
0
2
-67
0
-1
-2
0
0
-2
-10
0
0
-3
0
0
-2
49
-8
-3
16
0
0
0
4
0
0
2
-15
0
0
11
0
-9
17
0
0
4
-2
0
0
2
-3
-40
0
-42
0
25
-1
0
8
0
12
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-69
3
0
25
-16
-8
0
69
41
0
0
-6
33
0
-4
-29
-50
7
-2
0
-65
-2
25
47
-24
4
-7
-3
1
2
-8
-60
-18
8
-26
16
12
-13
-70
-21
-48
-24
-11
0
69
35
-22
-17
-81
-23
-22
14
104
76
-42
-8
25
-8
-2
-15
-23
28
45
12
1
-1
-5
81
39
1
2
9
6
0
-12
-45
0
-2
16
25
1
0
-4
-30
-45
-37
-45
-20
-11
-6
-114
9
13
-85
-32
-6
-7
-32
41
23
-59
-103
36
-24
-50
-13
2
19
42
75
-29
44
48
9
9
60
-18
-12
54
-9
6
44
-2
22
-13
3
-2
-6
-11
-18
-16
-6
0
-18
3
0
0
14
-65
-3
-31
26
-13
-8
0
0
-5
-61
22
-18
-108
108
-20
-45
-28
16
53
35
-66
-4
-85
15
-8
-25
7
-8
-15
-2
4
-17
-41
-70
-79
-37
-39
-14
0
-19
36
-1
46
93
-4
0
24
-7
45
-20
-1
-27
-2
-25
-9
-2
-49
0
-38
-97
4
-2
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
28
0
21
0
0
-84
0
0
0
-1
0
-18
0
2
1
0
0
-29
33
0
8
-32
0
0
13
-31
0
29
-75
31
0
-6
-73
0
0
-20
-6
0
-68
9
0
0
100
9
2
-18
3
0
0
25
1
-17
-3
-34
0
43
-15
0
3
0
-10
0
0
3
14
-13
0
10
15
-41
0
0
3
0
3
1
0
-2
0
0
-1
45
-10
-12
-61
0
-1
25
-16
0
0
-2
0
-31
-28
-35
0
14
-45
-4
-5
44
-68
-6
6
-85
3
19
-17
-6
0
0
-12
31
67
11
-27
1
0
-83
25
-10
0
-21
15
0
-9
5
-11
0
-13
-8
0
0
-2
5
0
10
-5
0
0
0
0
0
-23
-1
42
-13
0
13
4
-33
0
8
14
0
0
-3
-69
0
10
42
0
0
11
-29
-12
-18
8
8
0
0
0
0
31
29
0
3
-1
-10
0
0
-43
0
-6
0
-59
1
-40
15
0
12
0
12
-47
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-14
49
-10
7
-6
1
-2
-14
18
13
-12
-2
0
-27
-2
-14
-21
12
-3
0
72
-3
48
3
-17
-2
0
29
16
-68
3
-10
13
0
29
-2
2
-3
-31
39
-2
20
-20
-1
-49
-9
23
0
32
-3
-5
89
9
-3
-8
53
-6
71
-12
50
5
0
40
9
-13
38
24
36
0
0
4
5
14
14
28
0
43
-1
-52
-1
38
1
0
-103
-7
-63
-18
-3
41
0
16
21
-23
-23
-18
-3
0
-1
5
-13
-38
6
11
-1
34
2
-3
-42
28
-71
0
25
28
-10
34
20
21
-10
7
-10
21
-40
33
-38
0
29
11
-7
-24
-21
31
-1
0
6
-32
-20
-14
15
0
-31
-9
-18
1
46
34
0
1
-22
51
-2
53
30
0
-8
11
-6
70
-20
5
0
4
22
10
-61
17
-69
0
-11
21
41
19
20
-1
0
-11
21
-2
-24
37
53
0
8
7
12
50
59
36
0
-8
-9
-28
-34
30
39
0
-2
34
-17
23
34
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-145
0
0
0
20
0
4
13
9
0
0
0
-44
-15
0
0
-80
0
0
79
-8
0
-39
-53
-54
0
31
-17
0
0
-23
0
0
-7
14
9
0
33
-50
4
5
-14
0
0
85
-8
-5
0
24
0
-34
-16
-113
0
-8
-21
0
0
31
0
-3
0
-52
-53
-8
0
-29
0
0
-31
6
0
1
0
0
-1
-36
10
0
-25
-2
8
23
19
32
0
-39
0
-31
36
-26
0
0
-16
2
1
-54
38
0
0
-26
32
-92
-3
-23
-1
-1
-22
23
-42
6
71
0
-4
-47
1
-8
0
-29
0
0
-6
5
-53
0
-59
-2
0
-1
-14
7
0
-38
-20
0
0
-3
0
0
-66
-12
-16
-6
0
0
1
33
0
-6
12
2
0
-1
-45
0
-49
47
6
0
0
10
0
-3
7
16
26
0
-1
0
-101
-13
0
0
0
49
0
0
-2
-5
2
0
9
0
-10
-2
5
0
0
-27
-1
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
0
15
33
-21
4
-7
2
-68
-39
-7
0
25
-20
17
-65
-12
4
-6
-5
-36
4
-16
-23
22
20
19
-38
23
18
-21
-22
77
28
-19
-3
-17
-10
-16
-2
12
2
-4
-7
3
-23
131
38
-14
0
-39
0
11
-26
46
0
47
-7
3
23
-14
-1
16
-19
39
-3
3
-13
-13
-28
-21
14
-12
41
-22
-117
-25
49
-57
-50
-55
-15
36
-22
44
24
-35
-4
-38
-40
-20
-14
-22
-25
-80
56
-6
-7
-11
-17
17
11
-17
67
-33
-10
-22
-12
-14
7
98
4
-8
-4
-19
34
54
-39
0
-2
-5
-17
-15
-20
10
6
36
3
-4
25
16
-3
-40
-31
13
21
-8
5
10
13
-6
-61
-23
-14
-3
-5
10
-14
-3
31
2
8
-8
-35
13
-1
-35
-23
17
-10
-43
-23
11
-28
49
82
-106
10
0
14
-47
-54
73
-19
-30
0
-9
-25
-22
-5
-17
0
-6
78
24
3
-11
0
-43
-66
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-4
0
21
-6
7
5
0
0
96
-10
0
0
-103
0
0
-27
-66
0
-22
-46
-3
0
-38
5
0
0
-29
0
-7
41
-32
0
0
27
-23
0
-4
4
0
0
-9
-4
0
10
-67
0
-80
-1
18
0
0
-60
0
0
0
0
-4
0
-30
-3
0
0
0
0
0
72
0
0
-2
0
0
0
23
0
-5
-62
0
0
22
-92
0
0
80
0
0
-36
18
-7
0
-43
0
-3
5
5
0
0
12
10
13
12
-36
0
7
16
8
-3
0
-7
0
1
0
0
-1
-1
-48
0
1
0
-1
-5
0
2
4
0
0
0
2
0
-80
0
0
1
0
0
0
-3
0
16
0
0
0
0
-89
0
0
19
0
0
0
-25
0
-5
-3
0
0
0
-72
0
0
18
-2
0
0
-19
0
-13
-18
0
0
0
-4
0
0
0
-3
0
0
-25
0
-7
0
0
0
0
-5
-4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-30
0
0
0
-3
0
1
19
-9
-4
0
0
26
-21
0
0
-17
0
0
-13
-15
0
-5
58
2
0
43
-63
0
0
-37
0
0
-21
-98
0
0
-2
-1
0
0
-71
0
0
-8
0
24
0
-36
0
29
4
-1
1
0
-3
0
0
0
0
-1
0
39
-13
-1
0
0
-6
0
-18
0
0
0
0
0
0
7
0
0
-29
0
0
31
25
0
0
-11
0
0
-25
-87
0
0
-19
10
0
7
8
0
0
22
0
0
0
-56
0
0
-12
2
0
0
-93
0
-4
0
0
-1
4
3
0
0
0
0
-1
0
-77
-3
0
0
0
0
0
-30
-1
0
0
0
0
0
-30
0
8
8
0
0
0
-19
0
0
0
0
0
0
-93
2
-1
0
0
0
0
9
0
0
0
0
0
0
-36
0
16
0
0
-2
0
-44
0
0
-1
0
0
0
-42
0
-5
0
0
0
0
-41
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-94
0
0
2
-67
0
0
5
11
0
-1
0
-51
-28
0
3
-12
-3
13
30
-1
-1
32
6
-45
5
-8
26
2
-3
-58
-5
-4
67
-18
30
0
-29
-84
-10
9
1
0
-2
-5
36
-1
1
-68
-1
-91
19
-16
1
-6
0
0
5
22
30
-22
0
63
-170
-43
0
-49
-1
0
-11
-46
0
14
0
-1
21
-20
-8
-6
-38
1
-7
-76
-4
-7
-6
27
1
-9
-42
3
5
-28
-48
-84
7
28
-1
-4
0
11
-80
37
38
-38
-1
-6
-7
8
-35
-33
-36
0
-3
3
-11
-13
0
-15
0
-1
0
-4
-25
0
23
-23
0
0
62
-4
0
-15
-14
0
-3
2
7
40
-1
0
-23
-25
2
0
15
-50
6
-10
-51
17
0
-7
-19
-3
11
10
20
43
2
-33
0
7
58
-8
11
-20
-41
0
-24
-3
-46
1
28
-6
0
-1
3
-32
77
-1
-56
8
-61
8
79
2
0
7
-69
0
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-44
0
-1
29
-2
2
5
-19
-46
-40
0
0
46
-12
-1
0
-30
0
-12
3
-10
49
-6
3
-1
-7
5
-11
-4
4
-19
0
-71
-4
13
7
-4
20
-8
-3
-22
-8
0
2
18
22
1
1
-8
0
-57
24
-9
88
-32
7
1
1
-3
0
28
0
4
-124
12
-3
21
-2
0
-14
-50
0
18
0
7
-80
-4
5
1
12
-2
-3
-24
-6
21
27
-25
0
47
-19
-4
-3
-11
5
-7
-10
-7
2
-4
-64
18
32
15
-5
-42
29
-7
15
43
16
25
-3
0
-16
-19
-5
-4
58
-25
-18
-13
-24
-1
-35
0
38
-34
0
42
0
-40
-1
-21
11
15
10
0
0
-33
-37
0
28
-2
0
-30
50
-14
-2
20
47
0
-38
66
14
-5
30
16
-2
44
22
-30
0
7
31
-22
67
-19
31
2
-62
-60
0
32
-61
17
3
-13
35
20
-66
31
3
0
-2
17
0
-58
0
11
11
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-100
-12
-23
-10
5
-30
3
-39
-3
-36
17
0
3
-2
-60
-42
-21
21
0
10
30
5
19
-1
-14
-2
13
-6
-35
-42
-16
15
-3
30
11
-46
-61
-8
-12
0
64
8
24
41
16
26
-10
21
6
33
-4
9
6
0
-53
0
43
-13
-68
23
-8
-5
1
-58
-22
-71
-11
0
-48
-2
-5
4
15
-11
-3
-10
4
-8
-12
0
0
0
1
15
-115
8
-4
-1
-4
18
12
5
-74
-8
-24
-5
23
9
-47
18
4
28
13
86
13
45
79
57
22
27
42
8
-137
10
28
37
-3
10
-6
45
3
0
-13
-1
15
-9
-21
34
40
22
0
-16
-20
-8
41
38
-41
0
2
-12
-37
-35
-6
33
0
-2
0
-45
-6
21
-7
-3
-10
8
-15
-40
-13
-17
-3
44
11
-172
-6
55
21
-4
83
18
96
4
74
52
1
59
10
4
-51
48
22
5
-37
-3
70
-24
40
-28
-2
30
10
30
-5
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-2
-1
0
0
0
-2
1
0
0
-29
0
0
-4
4
0
-24
-10
-1
0
2
-20
0
0
-37
0
0
0
-6
0
0
8
0
0
0
-14
0
0
-20
0
3
0
-59
0
-43
0
0
-2
0
12
0
0
0
0
0
0
11
0
40
0
-1
-2
0
-108
25
0
0
0
0
0
22
-6
0
-19
-1
0
0
-98
0
0
3
0
0
-1
-20
0
0
70
1
0
0
84
0
0
-7
0
0
0
-29
0
0
0
0
0
0
11
0
0
9
0
-3
0
-40
0
0
0
0
0
0
-26
0
0
0
0
1
0
1
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-5
0
0
-1
5
0
0
-52
17
-5
15
0
0
0
23
0
0
0
8
0
0
5
0
-3
-4
0
0
0
-5
0
0
1
0
0
0
-29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-38
-17
-10
-8
0
22
24
16
-2
-8
0
0
-103
-44
0
2
-42
-26
0
-43
7
0
-5
-56
0
7
-70
19
-1
13
-18
30
20
-5
-54
-24
6
-55
0
41
-26
49
0
-50
-18
13
15
4
-48
0
-1
63
-3
43
0
0
47
-25
0
93
2
0
33
-42
1
-1
0
0
13
-44
-11
25
-89
65
0
13
43
-9
-2
-60
0
0
-8
-13
0
-2
-44
29
-7
0
43
-5
-1
-3
-10
-14
-5
-2
0
-4
-1
-9
-36
103
36
0
0
6
0
-76
-16
-101
1
-6
-29
7
-43
0
0
7
0
0
18
-3
0
-26
-76
-2
0
0
0
0
3
0
-30
17
0
0
-8
-72
0
2
-1
26
0
0
-8
0
18
24
0
0
38
-17
7
7
4
3
-4
0
-14
0
-12
13
4
0
8
37
0
15
-23
24
-2
0
-52
0
-59
0
0
1
0
0
42
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-22
-58
-86
-50
-21
8
-17
8
-19
-25
-21
2
-19
-15
11
9
-1
5
-10
9
-17
-11
-10
-43
4
14
33
-21
-15
35
-23
-57
22
-46
-21
2
108
-25
9
-38
11
-49
-41
30
0
5
7
24
-104
8
9
-3
-26
-56
-10
-4
-5
48
-53
-32
-27
-50
-63
22
-14
5
56
8
-45
-32
-2
-74
1
-36
16
-9
-8
1
88
52
-17
-38
60
-55
-25
63
7
-53
7
-37
-41
6
-4
-6
4
83
-34
-45
5
-25
72
22
-14
-39
-47
1
3
-54
-13
-18
-44
-30
29
12
-43
-59
-2
-30
-8
17
2
-60
31
-93
-64
65
7
-42
-13
8
45
-29
-36
-3
-54
-39
-20
8
-64
-100
-11
-30
-82
-16
-6
14
3
-2
5
-37
-22
-20
-35
-7
-33
90
-32
-29
14
-25
21
-25
24
-40
-30
-18
-64
-21
-12
11
109
-7
-11
8
-37
28
4
41
77
-48
3
-17
-30
2
-62
3
-10
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
-66
0
0
-4
0
0
-25
-50
0
-33
-15
-3
0
-33
-28
0
0
-5
0
0
-1
-24
0
0
8
0
0
0
-12
0
0
-1
0
0
0
-18
0
9
0
0
0
0
-21
0
0
0
0
0
0
-69
-5
0
0
0
0
0
-58
0
0
0
0
0
0
3
0
0
-13
0
0
-5
-57
0
0
-13
0
0
9
-73
0
0
-16
0
0
4
-4
0
0
-13
0
0
2
-5
0
0
-10
0
0
0
-6
0
0
0
0
0
0
-12
0
0
0
3
0
0
-61
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
-27
0
0
0
0
0
0
-23
0
0
0
0
0
0
-25
0
0
0
0
0
0
-9
0
0
2
0
0
0
-8
0
0
0
0
0
0
-42
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
-45
0
0
27
0
0
28
9
0
60
101
0
0
-48
1
0
0
-28
0
0
2
-31
0
0
36
-2
0
-3
-32
0
0
0
0
0
0
-35
0
-43
-1
-14
0
0
11
0
0
0
0
0
0
47
-14
-2
0
-1
0
0
36
-1
0
4
0
0
0
-30
-4
0
-25
0
0
-15
-67
0
0
6
0
0
-17
-45
-3
0
-28
0
0
19
50
0
0
-40
0
-1
0
-30
0
0
-3
55
9
0
-23
0
0
0
0
0
0
-58
0
0
0
0
-1
0
-84
0
-2
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
-26
0
0
0
0
0
-13
76
0
0
0
0
0
-1
-25
-1
0
0
-3
0
1
-48
0
6
0
0
0
0
-11
0
0
0
0
0
0
-74
0
-22
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-79
-17
12
0
0
22
70
0
0
42
0
0
30
-27
0
10
-32
-1
0
7
-60
0
-4
-63
-1
1
-54
-88
0
19
-58
1
-2
-128
-40
0
0
-65
0
29
18
-53
0
21
31
69
41
-1
-113
0
0
3
0
43
0
-7
-5
7
0
0
5
0
-19
8
0
0
0
0
-4
26
-2
10
-16
-1
19
-59
-33
0
0
-44
0
2
-27
-60
-8
1
-5
-1
7
14
-68
0
0
-46
0
21
19
35
0
0
5
-14
4
5
-71
0
0
-42
0
45
0
-14
2
-1
49
-1
-17
0
-15
0
0
0
0
0
0
-22
-66
0
0
0
0
-17
36
0
-4
-1
0
0
39
-10
0
10
-15
10
-6
0
-81
0
-9
-39
0
3
-3
-21
0
-22
-80
4
-24
12
-19
0
2
36
0
0
0
10
0
-5
74
1
5
0
49
0
66
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
24
6
3
-28
-8
0
32
25
-35
41
-4
2
0
30
-7
-16
17
3
10
-1
5
6
2
16
-37
-42
0
-13
-45
-23
54
-1
-7
-2
8
-12
14
-18
-9
63
0
31
-12
13
-15
-13
-14
0
112
-9
-42
4
-2
38
0
0
18
28
-55
-13
2
0
7
-4
-10
14
5
-1
0
65
30
-49
-36
35
38
0
31
1
67
-23
8
-4
0
43
-17
-26
-17
26
26
2
4
-7
103
-147
5
18
0
58
-35
23
-15
-14
40
-7
-15
-16
8
-86
46
-23
-2
-17
-5
15
71
-19
31
-2
1
21
55
-39
-29
19
0
2
-27
-26
30
-63
-5
0
19
-22
2
-7
13
12
5
20
7
-5
-39
0
40
-8
34
-2
-21
-28
14
13
0
6
-13
-64
-22
5
-12
-2
-9
-6
-26
-7
55
-5
0
-33
-26
-19
-32
32
-11
0
52
16
-32
37
106
61
0
-3
-18
86
7
-49
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-112
0
0
-86
0
0
-31
-15
1
-24
-17
10
0
22
-22
0
4
11
0
1
2
-6
0
0
31
-3
-8
-1
5
0
0
-7
0
0
0
-11
0
33
-2
7
1
0
-55
0
0
0
0
10
0
-33
-29
73
0
0
0
0
24
137
0
1
0
0
-1
-24
-1
0
24
-1
0
25
-32
0
0
-21
0
0
-24
-55
1
0
98
-4
4
13
-92
1
0
67
0
10
1
-16
0
0
13
2
1
0
24
0
0
0
0
1
0
18
0
17
-3
8
-5
0
-57
0
0
0
0
0
0
68
-24
0
0
3
0
-1
52
-1
8
-1
0
0
2
-68
0
0
5
0
0
-1
-36
-1
-8
5
0
0
-5
-78
0
0
42
2
0
5
-28
9
-5
-2
0
0
0
-51
0
4
3
23
0
0
36
0
9
0
0
0
0
-39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
26
23
-143
51
-40
-63
14
10
35
1
20
16
16
33
4
-3
-33
44
-35
-4
11
-5
-9
11
17
-15
-7
-16
-7
9
21
-5
35
-7
31
1
9
11
-8
-1
12
-41
-13
-32
-38
-13
-5
4
31
1
-3
29
-94
34
6
37
0
-67
-94
-94
27
-99
-55
-48
1
-97
-39
9
-34
-23
-4
-55
-36
-17
-15
16
-1
2
-30
2
19
2
8
18
-10
-19
3
21
-30
28
8
-12
36
34
11
15
25
8
-15
-5
51
7
63
8
-37
-15
-40
6
-5
39
1
16
-20
-19
24
-32
22
-7
41
0
-4
-67
-78
-34
-125
-84
-50
-4
-114
-28
-10
-44
-71
0
8
-7
-2
7
-26
-24
8
-31
41
33
-24
49
27
2
15
-13
25
-22
4
3
-7
46
8
23
23
-39
3
-2
53
-9
34
30
-5
-17
-8
-10
-1
2
-30
3
-43
-7
-36
7
-12
22
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
20
-10
-8
13
-5
4
-20
30
61
15
7
4
-55
21
-11
-5
7
12
-3
-114
25
5
2
-27
-32
-11
-63
-62
2
-5
11
-26
48
4
-39
-61
19
14
-67
-37
-3
-17
-35
31
5
-25
6
-15
2
15
-71
63
0
-1
-10
59
-81
-140
21
-10
-1
9
-78
51
-40
-8
115
-37
5
37
7
-85
31
6
-8
-50
65
25
-8
15
6
98
-134
-52
-7
11
-22
-45
21
-24
-45
-12
10
6
-34
3
-42
-60
4
17
-23
-22
81
-29
-60
-26
-7
99
-50
-37
-32
0
-29
-54
-30
-12
50
86
8
-7
-71
158
44
14
-2
-108
16
-6
3
31
-12
1
-33
-2
18
38
35
-18
8
-105
3
-35
-27
6
20
-7
-94
-62
7
121
-72
65
-71
14
-25
8
-23
-11
-8
8
-4
-14
5
-22
-62
13
-4
-18
1
3
18
-3
22
-48
-1
-24
-70
26
56
-14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-35
-11
40
-100
4
0
-45
74
4
3
-5
5
87
4
-1
19
16
-22
-59
21
7
-9
30
-13
-62
-29
-16
-85
16
-2
-3
-22
-3
27
-7
-33
-15
-28
0
10
1
-58
-5
-32
-2
-52
-3
10
0
8
18
18
0
-3
-35
17
-63
56
-8
-22
35
41
52
45
-69
-13
-2
-4
11
-1
57
59
11
-2
-41
105
-20
15
29
-76
-2
39
19
-57
11
-29
68
-53
-77
23
-73
-16
38
-27
24
-21
48
-20
15
2
-27
-53
-36
-58
8
-23
0
48
-73
-81
-52
-1
-5
-44
8
0
-27
21
-1
18
4
-46
45
-27
0
18
-24
-80
101
-33
-12
16
-12
44
12
-2
43
-45
82
-1
57
-8
64
1
-1
-30
87
-19
21
38
-41
-61
-32
-75
-14
17
-37
-23
59
-15
-42
-11
-2
-43
-9
-68
64
0
29
-2
-69
-41
-2
-72
0
24
-12
-39
-13
66
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-34
-5
5
-17
0
0
-62
-13
-25
-15
-99
7
-13
35
66
-1
-3
-8
22
-13
85
7
-1
33
11
-63
23
-2
-49
-4
-2
-23
4
18
-8
-6
-1
-28
-57
-26
-19
-1
-43
6
-17
-25
-7
44
0
24
-59
65
0
-4
4
0
-33
148
5
14
0
0
0
-62
-53
-14
-3
-8
0
-42
-16
-4
40
-39
6
19
-22
65
7
-11
22
50
24
-29
25
2
118
22
-9
11
16
-21
-9
-53
-35
-4
32
3
28
-1
110
13
0
-17
7
-34
29
-2
62
21
-41
0
10
26
-8
0
-10
-15
0
36
-58
43
-1
4
0
23
-34
10
-65
-12
0
17
-98
-43
-3
-14
33
0
-3
-26
6
-8
-67
-26
19
0
-2
21
0
47
65
13
0
-37
54
-16
47
72
2
22
-29
49
48
-8
12
-48
10
-1
3
-7
-28
4
0
-25
0
-7
11
-45
-18
54
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-36
0
0
21
0
0
-64
-129
-14
30
-117
-2
1
-18
-61
0
0
17
0
0
-49
-60
0
3
-23
-1
0
-48
-19
0
0
-110
0
12
-1
30
0
-42
-14
-2
0
-2
-19
0
0
12
0
47
0
37
-10
17
0
-1
0
0
-75
-8
0
3
0
0
-16
25
0
0
-6
0
0
26
-31
0
0
-40
0
0
13
-82
0
0
16
-1
-2
-48
-101
-1
0
-2
0
-2
-4
-33
0
0
-11
20
-3
-1
31
0
0
5
0
59
0
-14
0
0
9
0
7
0
17
0
0
0
0
5
0
-83
47
0
0
0
0
0
39
0
-6
-32
0
0
4
-12
0
0
-2
0
0
0
-95
0
-31
-22
1
0
4
15
0
-4
-15
0
0
27
-22
0
-17
14
0
1
0
1
0
0
-16
0
-3
0
3
0
94
5
0
-4
0
52
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-104
0
1
14
0
0
6
2
0
51
-45
0
0
-25
-24
0
0
-41
0
0
2
15
0
0
-22
0
0
-2
-111
0
0
-2
0
0
0
2
0
-7
0
0
0
0
-28
0
0
0
0
0
0
-32
8
24
0
0
0
0
-149
-15
0
-1
0
0
0
85
0
0
5
0
0
-8
-10
0
0
-87
0
0
-23
-97
0
0
-25
0
0
-15
-53
0
0
37
0
0
0
-51
0
0
0
0
0
0
-38
0
0
-2
0
0
0
29
0
0
0
0
0
0
-37
0
0
0
0
0
0
-45
6
0
0
0
0
0
6
0
-25
0
0
0
0
18
0
0
9
0
0
1
43
0
1
8
0
0
0
65
0
-13
0
5
0
1
15
0
2
6
0
0
0
10
0
0
0
0
0
0
-68
0
-2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
-17
42
6
-18
-50
-22
-1
-5
17
-33
-13
64
-3
-7
-16
-43
-58
-40
-98
-15
-7
22
-44
-29
44
24
-53
-3
-46
19
-24
40
-35
-27
-9
128
-38
118
-27
3
0
15
6
43
8
26
23
16
31
56
-29
93
-2
8
-13
22
-32
-72
27
-43
49
28
40
-13
18
-45
38
92
-57
-26
-43
45
5
-32
-64
-58
-30
38
-80
-29
69
-40
33
2
-99
-21
-13
14
18
-15
12
-30
-20
-4
65
-50
45
15
7
-28
59
-31
3
1
3
-84
12
42
0
-46
17
-8
13
-36
42
-11
-1
35
22
-49
-58
-51
22
12
-55
-57
36
1
8
41
39
-11
-18
90
-59
-29
32
10
-59
-27
65
-39
8
-61
35
-25
20
32
38
-71
38
61
-32
-2
-13
36
-10
17
74
17
14
24
-21
-98
-6
-49
-7
3
-5
54
27
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-16
13
13
-8
-2
26
0
30
-25
7
38
2
0
5
90
-31
4
-3
9
5
-7
25
9
11
8
3
-32
-23
36
0
-1
-10
-11
10
-19
17
103
18
0
9
19
-2
5
30
78
-6
47
-45
29
12
-163
-22
-92
-16
-78
0
-2
-52
-2
-6
-10
-69
19
-72
-22
-66
12
15
2
8
-13
-6
10
-25
-6
-4
-3
3
-23
12
-41
28
9
-8
35
7
17
-1
-16
-38
-1
13
32
10
-1
-13
0
-6
84
25
11
37
-1
-28
-18
-26
52
34
30
22
78
-7
24
-31
-15
-23
67
-69
0
64
4
-18
-35
17
-70
-50
-93
-6
-32
6
19
-39
-14
22
-40
-20
26
-41
-1
-21
2
2
7
0
-4
13
1
-5
16
21
-28
-27
6
-11
99
6
26
31
26
-12
-1
-6
29
16
18
1
40
-6
34
-7
-4
22
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
62
11
104
1
-37
-13
47
41
0
16
25
0
10
72
-27
0
-9
-65
14
-4
-55
2
0
-13
-33
0
-4
91
-8
0
5
-25
48
0
-8
-20
0
0
3
-3
-10
0
22
-59
88
0
-6
0
0
37
20
10
-36
0
0
-4
-24
-2
43
-18
6
0
52
44
0
49
-70
-2
0
15
30
-1
-29
60
43
-3
42
-12
0
-1
-57
25
37
-11
-6
5
0
37
-28
3
1
-17
0
12
13
7
9
0
-22
0
0
2
1
-12
0
9
-5
0
0
0
-5
-1
51
-81
8
7
-4
0
18
37
7
-12
19
0
0
46
26
0
-74
-12
4
0
12
-8
0
66
36
0
0
108
-62
0
-48
-16
11
16
-8
14
-6
-15
-4
4
0
0
33
0
0
12
0
-2
0
-20
0
-58
-4
-1
-2
0
-112
38
0
0
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
50
0
35
57
116
4
8
40
-25
4
17
2
10
-105
65
6
0
17
32
-7
61
19
19
0
-134
-1
-19
-9
-33
0
30
-25
-15
-12
0
-20
-1
0
-4
0
-29
0
14
-21
-16
0
-15
25
12
-28
-6
0
-11
4
0
58
37
2
1
42
8
0
-88
-24
-4
9
-13
3
0
24
70
10
-24
-62
-49
0
-33
25
-4
0
-45
6
25
50
-19
0
0
2
-19
16
0
-23
0
0
26
0
0
0
-3
0
0
-6
-42
29
0
30
0
0
0
0
6
0
-40
-40
0
18
0
0
1
112
-10
-31
-25
0
6
-3
18
0
59
31
0
-1
61
47
-1
5
-67
0
-2
-1
-33
0
-24
-9
59
23
56
2
0
43
-21
1
4
0
-23
0
-2
94
-13
0
0
-58
0
-2
-3
0
8
0
-51
13
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
39
14
27
36
-9
38
22
1
26
29
14
31
-54
-1
-12
7
-97
34
-7
-11
-4
-3
24
-27
-5
1
19
-54
-14
-65
2
-15
7
8
-135
1
-36
39
42
78
2
-25
11
-32
20
-41
21
8
8
27
35
14
-54
-30
5
38
17
3
-24
76
27
-16
30
29
51
78
-9
-15
2
-24
6
-49
-1
17
-7
30
14
-5
85
7
26
-10
17
-4
16
-15
-72
34
12
23
-19
9
12
-55
17
45
25
-128
-16
12
-30
-2
8
-4
-33
10
-61
-39
-8
-38
-18
-41
31
-8
59
89
-9
20
63
37
-113
-11
-10
-4
-1
20
25
28
11
25
40
18
-16
17
-38
-31
3
-68
-66
8
-9
85
21
-2
-30
-49
-37
-13
-33
-5
-7
29
18
15
-2
-83
1
-5
-5
-8
-40
-6
-54
17
-28
79
25
-25
-6
-45
-21
-72
24
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
57
-8
-7
-31
3
0
-75
-50
0
0
-32
0
0
-50
-16
0
0
12
0
0
16
-24
0
0
24
0
-1
0
-54
0
-91
-16
-12
0
0
-117
0
0
0
0
-1
0
32
-1
0
0
0
0
0
18
-4
0
-3
0
0
-7
-6
0
0
21
2
0
57
-20
0
0
0
0
0
7
-13
3
0
-5
-1
0
-14
-54
0
0
29
0
3
18
-39
0
0
131
-8
-2
3
-50
0
0
-3
0
1
0
-61
0
0
0
0
-16
0
-17
0
0
0
0
0
0
21
-3
0
-6
0
0
0
53
0
14
0
0
0
1
-19
0
0
76
13
0
-38
1
0
13
-3
0
2
-8
28
0
-7
3
0
0
0
-48
0
-13
5
0
0
0
-17
0
0
13
0
0
0
-40
0
25
0
0
2
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
9
72
61
-4
0
4
-11
0
0
-42
0
0
-17
-36
0
0
31
-3
0
-1
-13
0
0
-1
0
0
0
13
0
-14
0
-14
0
4
-30
0
0
0
0
0
0
84
5
0
0
-20
0
0
-42
4
0
0
0
0
9
98
0
0
-30
2
0
-55
54
0
4
3
0
0
54
-56
0
0
45
55
0
7
57
0
0
17
0
0
0
69
0
0
-21
-2
0
0
-28
0
0
58
0
0
0
42
0
0
0
-1
0
0
-27
0
0
0
0
0
0
31
1
0
0
0
0
0
25
0
-52
6
0
0
2
27
0
-6
14
0
0
20
69
0
21
-5
0
0
0
-129
0
0
4
-4
0
0
1
0
-10
-6
0
0
0
-7
0
0
-13
2
0
0
35
0
-29
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
59
58
1
-37
50
-10
-12
10
-14
-56
-45
44
-20
1
-39
-93
-7
21
-35
-41
3
22
27
-61
-29
-67
-5
-25
29
111
-6
-34
35
-1
5
-52
-2
-48
-9
-14
-60
5
-31
15
-17
-41
-53
60
-19
-85
-10
-59
-57
-76
-36
24
47
2
25
23
40
43
16
-22
-15
5
6
30
-39
-25
-8
7
6
-44
39
-10
-27
-62
52
-24
-13
20
2
-11
13
-34
0
-84
31
-31
-1
30
7
-16
-22
39
-3
10
-93
13
-73
-50
-46
-13
-26
4
31
-41
88
1
5
-28
-43
32
39
61
54
97
3
59
67
-25
-9
4
-61
1
-35
21
37
-67
6
15
-11
-44
24
-16
-31
4
21
-10
18
3
-15
15
54
-13
2
65
-39
14
23
-28
-26
-7
-1
28
34
92
44
36
14
26
-28
-51
49
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-15
-39
-88
-79
-74
3
-14
-21
-11
73
-20
-2
24
17
-7
34
6
26
40
-17
3
-10
-75
-2
30
-14
5
-88
-18
39
11
40
64
10
-40
-18
1
-19
-25
15
-32
123
33
-28
-39
20
-67
-27
-52
-29
-6
-12
-17
-120
-3
-48
0
-24
-54
-40
-14
-22
-44
-34
-15
45
-82
55
23
-24
-27
1
-24
8
6
5
14
-24
18
40
29
-23
10
23
-27
-37
-91
53
-15
12
-78
-16
37
-83
25
50
38
-50
3
3
3
-58
16
39
-13
43
37
-11
31
-238
-44
-115
-68
11
97
26
-24
-47
55
0
-21
-41
-64
1
-1
-72
-59
-30
45
-8
32
41
-9
4
-14
16
-24
-39
-28
-14
-10
-30
40
45
34
24
3
-9
-1
40
28
10
70
35
13
-13
-13
17
30
25
-57
5
-16
-74
-11
52
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
-2
-5
35
0
-20
-15
19
2
48
-8
-46
-4
14
-35
2
0
-55
0
13
-8
-57
0
-13
2
-28
-2
2
67
0
0
4
0
-8
-2
-40
24
6
-6
0
-3
-4
26
-51
29
-1
0
0
20
-4
-1
49
-15
4
0
10
-75
0
8
15
0
0
-52
-85
7
-32
-27
13
15
1
21
-1
7
35
-3
-3
-27
25
0
4
-10
-27
20
14
18
0
0
10
1
29
0
-11
0
0
-25
3
30
0
-17
-1
0
0
0
12
0
55
-29
-5
93
-4
4
4
-5
0
-35
-31
-2
8
31
-16
0
-14
-13
-7
0
8
-41
1
25
-2
-18
-1
-15
3
0
45
-19
-5
-1
1
-10
-6
65
-6
-5
3
0
-62
0
-9
49
1
8
0
30
0
4
-9
-4
-8
0
28
-14
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-42
-11
27
-5
-41
-15
-27
-8
26
-37
-12
24
-16
-4
6
-42
-19
10
65
-25
-15
-16
-24
5
-24
-10
-21
42
7
-32
-1
-14
-2
-54
-13
10
-18
18
-26
-3
-29
-48
8
-14
-15
-3
55
37
5
-18
-57
61
-16
-24
69
-27
25
-86
-25
22
32
-26
-8
-17
-16
-20
-36
-8
20
-35
-15
-40
-47
-14
1
6
-36
-3
-16
-20
19
13
-10
-15
-1
-13
-121
35
20
30
-36
-6
-62
-1
37
16
20
-39
19
11
-20
-22
-35
3
-107
25
73
19
6
-16
-5
-129
7
-22
-85
-19
-27
-48
15
12
-66
9
-5
8
17
-44
-5
47
-19
-4
10
-3
-69
-10
-16
23
-2
-7
49
-31
-8
-47
4
-40
24
51
26
-14
-39
-35
-39
-42
-22
-43
16
-44
2
14
-69
-35
-29
27
-23
-32
-31
7
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-57
3
20
8
-9
-26
-25
5
9
2
-20
32
-11
-6
115
-15
-7
-20
-4
34
-31
-45
-2
2
-14
15
-21
-32
-13
-70
-27
-32
-12
-65
-14
-13
28
-6
13
-19
-18
20
23
-24
45
13
60
-21
-16
-12
-2
16
-93
-15
37
12
22
17
27
35
21
24
10
1
-37
-14
48
34
-6
-17
-59
14
20
18
24
4
-2
-2
12
17
-6
7
30
9
11
35
40
18
32
-61
-6
10
40
13
5
-12
35
5
-27
-18
15
-54
-4
-5
12
21
-45
-96
32
-35
-67
1
-64
12
25
20
11
47
19
9
-1
3
-18
-27
-19
-12
-9
53
-9
-36
-11
-9
2
21
10
1
4
-1
-12
8
98
6
29
39
-1
73
-5
21
-49
-12
1
24
80
-4
5
-18
-9
1
3
102
15
16
48
-33
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
44
-40
-28
-12
54
-65
-9
19
67
-14
-24
-24
3
-17
3
40
2
7
36
-21
-15
-1
15
-38
-5
-84
-5
1
-38
-7
57
-4
-30
-1
-4
-11
-14
-1
-4
-62
-16
4
-22
13
-10
0
-13
1
14
30
-47
-60
24
9
36
6
-18
102
11
-6
27
39
-21
-31
-13
4
2
-47
34
-8
25
31
29
-22
5
25
-22
44
-34
13
-60
-63
51
-27
17
0
1
-5
-7
32
16
-6
6
33
41
-9
-3
23
-4
-12
-36
46
-40
-8
-8
4
-13
-130
0
-1
-67
-8
-8
7
30
-6
49
-6
-26
-50
23
-32
-20
-17
-28
1
-2
-49
41
3
-64
46
-47
5
67
-26
-28
45
-43
15
10
8
14
-3
18
1
7
12
-70
-16
41
-20
-52
-24
-4
6
-45
-1
-14
-3
13
26
-15
-11
19
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-36
0
0
12
7
0
-25
39
0
0
-98
-31
0
35
-61
0
0
-27
0
0
-7
-51
2
-86
-6
2
0
0
-11
0
0
2
0
0
0
20
40
-10
0
-5
0
0
-28
4
0
0
-2
0
-27
25
3
-1
-24
-1
0
-44
5
-1
-5
14
0
0
42
-39
0
-8
-2
47
0
80
-4
0
0
35
-6
0
89
-44
12
3
35
-16
0
0
-15
0
12
1
0
0
0
0
0
0
-1
19
0
0
-10
0
2
0
0
0
0
-10
55
-2
2
0
0
6
-15
-2
15
53
0
0
38
-13
0
-13
-31
7
0
0
-6
-6
20
-59
-12
0
-36
-13
0
-8
-36
-10
0
-4
21
0
-90
7
-1
0
0
-60
0
0
2
-4
0
0
25
0
-13
0
0
0
0
26
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-1
39
58
7
1
7
-72
10
-27
-5
4
-73
-25
-8
3
1
-1
-2
4
13
-3
0
-42
2
-38
19
-25
6
11
-5
-12
-48
37
-46
9
33
-10
-20
69
-20
-7
-21
28
-7
37
37
23
55
-14
6
15
-13
15
-42
31
15
-4
-27
-6
21
11
52
-53
3
36
6
5
26
57
17
9
38
-3
5
12
25
-3
11
-62
2
43
18
19
31
8
48
27
5
14
4
-64
18
-16
57
33
-43
11
38
11
-3
-12
79
54
34
-39
15
-7
20
27
36
19
-49
1
66
-5
7
25
-23
-2
6
-74
14
11
0
-36
-33
1
53
19
1
-1
8
46
9
-23
-16
-3
16
-36
38
17
16
33
26
17
57
-18
4
10
-16
-3
-21
-7
0
21
13
-25
53
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
19
-100
-12
-25
17
10
-6
-5
-53
-38
16
-32
-19
-2
-20
66
11
10
-9
3
-45
-23
-45
-8
-21
4
19
-26
-6
50
-42
-37
5
-40
40
-9
20
-16
26
-30
21
16
26
32
-63
14
-18
21
12
-2
25
13
10
-2
6
12
0
24
13
16
18
42
-45
0
-38
-24
-18
6
11
-2
7
22
-22
-1
-24
-21
22
1
-50
33
28
20
5
-29
3
-23
-80
11
21
15
-14
1
42
-32
-54
17
21
-17
-7
17
21
23
-32
16
-38
10
-91
-13
9
-108
-3
-1
-8
23
18
-5
11
58
36
0
10
-15
2
-8
-57
-53
-1
-15
0
-30
-19
-22
-30
8
26
-37
-15
42
-20
-15
15
-112
-55
2
-6
10
0
8
12
-11
53
38
4
25
20
-2
16
-17
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-3
0
-3
-5
-8
-18
38
0
0
11
0
0
0
27
0
-17
3
7
-6
-5
35
0
0
0
0
-5
0
-41
22
-3
0
0
8
0
40
29
0
2
0
0
0
18
36
78
30
-5
0
22
-52
0
-8
-35
0
0
58
-106
-3
-5
-104
7
20
-41
33
-2
-1
12
-12
0
1
43
0
0
-11
-4
-4
0
59
2
2
-2
0
8
0
-12
0
0
0
5
6
0
-44
0
0
0
0
0
0
-14
-4
2
0
0
0
7
41
-1
-28
34
0
0
-29
-22
0
-38
-8
0
0
-2
-90
0
112
43
-2
-3
-12
10
-1
-10
0
2
0
0
-12
0
-38
2
0
0
0
22
0
6
-20
29
0
0
16
0
47
-1
-7
0
0
-60
-20
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
24
0
0
46
19
2
-81
19
0
10
-68
9
29
-20
32
0
-86
14
60
-5
0
31
0
0
8
0
43
0
-38
53
21
0
2
5
0
41
1
0
-10
12
-1
-17
8
-31
15
-71
8
0
-24
-162
7
-11
30
0
3
74
62
0
48
-237
-14
3
-54
-9
0
-23
-38
-10
-15
-4
-7
15
-1
7
19
-20
2
9
0
-1
7
-3
-17
0
34
0
0
31
3
-1
0
55
2
0
0
-10
18
0
-13
-50
0
10
0
0
15
-107
48
-3
1
0
0
19
13
-1
42
-1
40
24
8
-13
0
-3
0
5
0
-5
25
2
-16
9
-12
4
1
-5
0
-42
-5
13
0
4
48
0
0
-51
-19
4
0
26
0
28
-2
-5
24
-2
-88
-7
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-9
47
-14
17
7
-40
-16
2
-18
-44
-23
-5
59
-3
-35
-11
-5
7
-17
2
-10
-3
83
88
-47
-5
-1
-17
27
-9
-33
8
30
-77
27
52
7
-6
6
-77
41
29
29
41
66
52
-18
-62
29
-12
-142
10
57
-65
5
39
8
-5
-30
26
-1
32
60
2
-2
12
-14
-47
13
-9
14
-21
29
6
-1
-18
26
9
16
-86
-17
9
18
-58
-3
35
43
32
-22
2
14
23
10
-50
62
32
-44
-84
26
23
-25
-35
2
28
28
3
100
27
-22
-3
-12
13
21
-7
-61
27
-18
34
36
25
-80
29
-4
-1
-8
-8
7
-69
17
-1
-6
21
-19
11
-43
14
0
-54
-11
-34
0
21
-33
34
-12
37
34
2
-42
-3
-34
33
17
-44
43
45
99
-68
31
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
4
10
-7
18
8
-8
-36
0
0
-34
0
-3
-36
-52
0
-25
27
68
-2
3
-5
0
-1
-8
0
8
0
-24
28
-45
0
0
0
0
-29
-22
0
-2
0
0
-50
29
-22
10
-25
0
3
-5
14
0
-5
10
0
0
84
-17
0
-1
23
25
-5
59
-38
0
0
-96
0
45
-18
-6
0
42
-58
17
93
12
-58
0
3
-19
0
36
1
25
0
0
-5
-2
79
0
-4
-2
0
0
0
3
0
-36
-51
0
-1
0
0
0
11
-4
53
-33
0
3
-2
-4
0
-4
63
0
0
8
-45
0
21
-9
0
0
8
-21
-1
8
-45
-8
2
41
-56
0
-11
-73
0
-1
18
-5
0
0
22
13
3
0
12
0
48
12
0
-9
0
-5
-7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
27
13
0
46
-65
0
4
-42
0
0
27
0
0
11
30
-3
21
-84
-8
0
-3
-4
-1
0
6
3
0
-9
21
16
43
1
79
0
0
-7
19
0
-1
0
0
-18
2
-3
80
30
-36
3
29
21
0
7
-14
0
0
32
-18
8
44
-56
26
-2
15
75
2
20
19
8
0
19
-46
12
13
41
-72
0
-13
-37
0
23
-26
0
0
-1
27
0
3
1
-54
0
0
4
47
13
0
23
0
0
-34
-15
8
-3
-1
0
-10
14
-17
-6
-27
23
0
15
-7
1
64
14
22
0
26
5
0
14
-10
-12
0
-38
51
-9
-97
-16
-26
0
7
-29
0
-1
70
-3
0
-32
-31
0
-5
-27
-64
0
-4
-15
0
3
-24
0
0
0
-18
1
0
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
82
-29
16
8
2
7
-24
-7
-21
-3
-24
27
13
1
-12
-14
40
-21
-7
-2
22
-16
-28
-10
-27
20
8
-13
-6
12
17
-8
-12
-22
4
25
38
-13
21
-3
-121
5
9
29
1
12
46
-26
-2
-23
12
21
-53
21
-36
-17
52
3
-35
-11
-99
29
11
-56
12
8
19
20
-46
-15
-27
-28
5
8
-35
21
5
30
-5
-20
-54
25
0
16
-70
5
-38
-11
-1
-3
-19
-46
-2
98
-17
8
25
2
55
-30
-38
3
-23
3
34
-6
28
-15
-31
31
29
-6
-30
5
-27
-18
31
-36
6
-11
-81
-13
17
-20
1
-26
24
12
-23
-32
-145
-23
-2
-2
-33
-39
-29
24
4
-25
10
18
15
-20
-57
-13
-16
-22
-23
-61
-48
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
32
-36
8
-30
-35
-7
-4
2
-20
25
-7
-23
18
-22
-25
-16
-33
-2
-10
-75
-4
23
-3
83
-21
-59
-92
-6
17
-67
15
-47
-21
-25
-5
-18
-23
-3
-16
-50
18
-8
-7
10
-5
28
-11
15
-12
26
-12
2
8
-8
8
0
16
18
-11
42
-43
-17
17
-14
-21
-4
20
-5
-17
-14
-56
7
1
-23
-16
26
10
-84
54
17
-19
-14
-32
7
10
16
4
51
18
-26
3
0
-43
24
16
-11
19
-2
-7
-1
20
24
30
0
9
-71
-15
31
-30
10
-3
10
-56
-16
-2
-26
31
-18
0
76
-24
-23
-44
11
15
-13
-24
-40
-22
2
28
-29
15
-6
-14
-11
7
-3
14
0
-80
-24
-25
-78
-8
-33
35
39
8
-11
-18
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-2
0
-15
0
0
0
32
0
45
-5
-2
0
0
13
0
0
3
0
0
0
-30
14
-4
0
0
-4
0
-7
-9
0
0
0
0
-24
6
4
8
37
-8
0
-4
0
0
44
76
7
0
-17
-88
0
-49
-37
6
12
-27
-91
0
-2
45
-3
-2
0
-14
0
-8
-13
-9
0
1
-7
0
0
10
0
0
0
-17
0
0
14
0
27
13
-13
0
0
0
0
25
0
-2
-6
-5
-4
0
0
0
-21
0
-1
8
0
0
5
-40
1
-6
28
8
0
0
-57
4
63
-36
5
0
-3
-105
0
-16
44
0
8
-6
-37
0
50
-20
-1
0
19
-71
0
3
17
0
0
0
4
0
-22
0
-2
0
0
2
50
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
0
-3
-9
0
-10
-21
-54
-6
-41
23
33
18
9
34
-2
0
-7
-6
-2
0
46
6
55
0
-27
0
0
-5
-19
0
-14
0
0
47
-38
-1
-2
-11
-3
3
-65
32
7
78
-22
5
4
-33
-26
-3
-6
-22
10
-2
-17
12
4
0
48
0
2
19
-82
-8
4
-29
15
-17
0
31
0
-3
53
3
24
0
2
0
15
35
-23
62
4
75
-2
0
0
-1
-2
0
-42
-44
0
-2
8
0
1
-54
41
-20
5
0
-3
4
39
-2
0
48
-1
0
-5
-30
-1
-56
-85
0
0
-14
22
-2
0
143
46
1
-17
-3
13
69
-25
-2
0
-13
-31
0
0
-6
58
0
0
40
-5
37
-2
0
-1
0
33
32
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
39
-118
41
-10
7
-25
-17
78
-11
-17
-7
-12
42
8
-78
-30
46
-54
-40
-5
16
-20
-6
-4
-27
24
2
18
10
-33
21
12
41
-16
9
8
-23
0
2
-11
29
-13
52
-30
39
-19
-7
-57
-10
19
19
-4
-5
-1
-25
-16
48
12
-9
25
-37
-21
22
-77
-26
5
-4
-62
19
-1
-92
48
24
-21
12
-17
18
60
-51
68
12
-39
1
12
9
-90
-10
-80
10
-7
6
11
1
53
-19
9
-10
0
14
17
7
-40
-19
-16
6
-26
20
22
46
22
-20
-5
62
29
60
-117
-48
-44
-11
7
21
-91
3
-3
40
10
-85
37
13
-35
-19
-5
1
-41
40
44
-26
-13
-3
6
-3
-6
22
21
-29
-4
-2
-8
-146
-40
32
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
13
-64
30
13
9
41
13
3
25
-23
-158
-47
-37
-14
-10
100
-71
-4
-14
0
-14
-9
-7
-6
0
-3
13
-28
-39
19
13
0
-5
-72
1
-16
8
8
0
-16
22
-19
111
41
-10
0
63
1
-5
56
-7
-4
-3
-25
6
22
7
73
32
50
48
21
-16
29
-44
-1
48
-36
-23
2
-17
100
34
-3
8
28
22
5
-47
15
42
-27
8
-14
-81
16
0
-7
-26
-5
-29
9
24
7
0
-1
-3
-46
53
5
1
0
-12
34
7
1
40
-8
13
45
1
8
57
-15
76
27
-82
-11
16
-2
10
34
22
-37
64
4
-23
-1
11
50
29
-28
18
18
13
42
25
18
-1
-13
63
22
-35
-8
-15
-1
0
0
74
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
2
-2
0
-21
17
0
3
23
-9
0
-16
-30
0
0
-4
-6
0
0
46
51
-55
0
-43
0
0
4
61
0
-4
-2
0
70
26
-60
-29
-47
-45
0
-23
29
-3
58
-47
-1
0
9
-48
8
21
2
-51
0
-20
-52
-15
55
-69
23
0
-106
-16
3
0
-69
5
2
-58
7
0
-17
81
-2
0
2
-1
-1
42
6
-1
0
0
-10
-24
0
-3
20
0
0
-8
-9
-4
2
-24
0
1
9
8
-27
19
0
0
-48
47
7
19
23
57
0
52
0
20
25
-6
-8
0
42
-43
-21
-52
-1
1
0
2
-9
0
-92
-47
3
-13
41
-9
0
-8
-35
47
0
-29
-37
0
13
19
-7
0
0
-37
-76
-8
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
35
-14
12
-16
-13
-20
10
19
9
-25
83
-84
-47
0
6
26
21
1
8
23
32
-6
-41
20
-43
8
-26
15
-14
-20
-18
-34
-15
-40
-124
32
24
-38
-8
-42
1
-133
19
-93
-27
-26
-17
15
-103
-22
-48
-26
-6
-2
-46
85
21
50
-26
-10
-21
-32
28
-10
13
-74
-2
27
-9
15
31
-4
8
-22
-19
17
-1
22
-51
-28
15
-65
-72
-8
-24
-63
62
116
-14
-7
-33
28
-46
-58
-7
-35
-63
80
0
-47
-60
31
11
-6
31
4
9
-23
-14
-24
53
-32
-16
-57
14
-57
4
-23
-9
12
-35
9
-35
-147
-17
-70
-17
22
25
-22
-34
-71
-32
23
-43
-25
-85
-14
-90
5
16
23
6
-50
-15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-61
-6
10
-30
-41
36
-18
56
-33
19
-78
-45
7
-12
-3
-5
-93
-84
-7
-1
-6
-25
46
13
4
-31
4
9
-47
-11
9
-20
-25
14
-4
49
-38
2
29
-43
-1
-3
18
-31
-7
-21
-91
11
3
58
21
11
-22
13
17
0
-23
39
23
6
-2
0
5
82
-9
-15
-31
5
79
24
18
7
21
-54
-14
-32
-15
-31
57
18
-37
-43
-88
17
7
29
21
21
-48
-30
14
47
-26
-5
16
50
-30
4
98
-10
20
-28
-39
3
10
1
-30
-5
-11
-30
-44
-5
-8
3
-29
-26
-43
56
0
24
-7
-33
-25
44
13
14
33
30
-46
-2
11
-37
2
28
1
11
-30
-7
19
-5
8
24
59
-50
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
0
-61
5
25
0
0
13
0
0
5
0
0
0
-92
2
7
0
0
0
0
-68
-2
0
-8
0
0
0
21
-2
7
-3
0
0
-9
42
0
2
2
0
0
27
-11
24
3
-45
-14
0
-7
-4
0
0
15
0
0
0
-36
0
0
4
43
0
0
10
0
0
1
0
0
0
-38
0
-1
-1
53
1
0
-51
0
0
-6
0
-1
0
18
-17
0
0
0
0
0
-49
1
-4
-1
0
0
0
-42
0
-5
17
0
0
0
-19
0
-9
-15
0
0
0
53
0
-8
-3
0
0
0
38
0
8
27
0
0
0
-87
0
-10
0
-5
0
0
-11
0
-23
1
0
0
0
-38
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
7
0
-45
6
5
40
0
16
0
-2
5
0
-11
0
-6
-8
-8
0
-1
-3
0
25
14
0
15
0
0
-13
-13
8
13
65
1
0
22
49
0
0
-9
0
0
-13
-48
1
0
41
15
0
-9
-84
0
1
-41
19
-7
-2
30
-1
0
-42
-89
3
-2
-56
0
8
-6
2
15
0
-24
0
2
-1
-10
159
0
17
0
0
8
0
0
0
16
5
0
0
0
0
-6
15
0
7
16
0
0
-1
-22
0
5
-18
0
0
-8
-71
0
-18
0
0
0
-6
-32
0
-6
18
24
0
5
-24
0
-10
-1
0
0
2
-50
0
0
-46
53
18
0
-30
0
18
-17
-6
3
0
-33
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-26
-32
0
0
-18
37
8
54
81
8
0
12
-4
13
-19
-28
-1
8
32
38
-3
-39
-12
-6
5
10
-4
3
-24
0
6
-40
10
-6
28
27
11
15
0
-4
-2
22
47
46
-13
12
-38
-52
-17
19
-8
-38
13
-16
-21
8
-17
9
2
20
-62
-14
8
-114
-6
-61
36
13
31
13
73
8
-17
-2
-24
-4
30
57
-32
-1
0
-47
49
-12
-23
-13
-61
12
-19
-20
-2
-6
-36
-23
0
-39
7
27
54
17
60
-49
-6
31
11
-60
-45
-17
-43
11
22
16
-57
-54
-7
19
-7
-97
-26
-5
-33
-21
-70
-77
-73
11
25
6
-59
-29
-14
-43
11
-33
-6
69
-75
-44
-4
2
1
13
71
11
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-60
0
11
-47
47
-13
1
-10
0
0
-3
25
16
0
-8
-48
99
0
-6
-16
0
6
27
0
-4
0
0
50
36
65
7
-44
-18
5
-31
24
-2
-2
22
0
6
34
6
0
17
61
-18
8
-6
-20
0
-2
24
0
-8
20
16
-1
10
5
9
7
31
14
0
0
-16
0
1
-3
1
0
-7
10
8
9
0
-28
15
0
0
-3
0
0
-23
-15
0
4
0
0
0
-1
0
6
1
0
1
-7
-4
2
87
-13
-7
0
-8
-56
0
-46
-8
-3
-3
1
-10
0
-2
-6
7
21
-4
-18
-1
58
-25
0
0
0
40
0
0
79
0
-13
-5
11
0
-50
-9
0
3
0
51
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-84
0
1
7
-4
-4
8
-28
8
12
41
-3
17
8
4
25
1
7
76
0
0
20
-67
12
-18
0
0
-40
29
14
44
-14
12
0
10
23
0
-42
46
-3
0
-24
-26
7
88
13
-26
0
1
3
18
43
-16
-13
0
89
-14
-5
16
-12
-13
0
51
-15
0
37
7
10
0
9
-24
2
-1
61
96
0
0
-34
5
29
0
3
0
0
-1
46
-8
13
0
0
20
14
-4
-20
-26
0
0
-10
5
0
9
24
37
0
65
3
2
-30
-46
-9
0
37
-8
7
-14
-103
-4
0
-66
-35
-2
-47
7
-31
0
127
-24
0
15
20
43
0
25
-11
0
43
63
-7
4
0
-86
-3
0
25
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
59
4
-5
-47
0
-13
0
-22
6
-12
0
-38
8
0
17
-22
-1
-4
0
4
12
-28
16
71
-34
6
-46
5
22
-5
22
-63
-10
18
-25
17
-1
36
5
-24
-40
12
17
-5
-30
-17
56
-1
19
21
-3
41
-83
-18
18
-6
-3
-3
17
-50
-3
-22
-1
-4
-10
47
16
-48
45
0
-37
14
-5
-1
42
-17
-1
-18
-50
8
-13
2
0
4
-18
3
-13
-5
-3
25
-22
36
8
-25
-20
18
-29
1
-2
-2
2
-6
-3
-18
8
-44
-10
48
-70
11
21
0
8
0
-43
-30
-44
-18
-3
-14
0
-6
-59
51
-5
0
-36
0
-99
-22
-10
33
0
-41
3
4
0
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-1
-8
-24
63
-27
19
13
-13
-14
9
23
-79
13
-62
-2
-29
32
-27
28
-13
33
-8
0
-41
-25
-9
4
-12
-15
-42
67
-3
-11
9
-27
-15
-10
28
-19
-31
-63
8
-1
35
-26
-22
16
22
40
-20
-64
-22
-11
5
11
8
0
-47
-21
-37
-26
19
16
40
23
-38
23
-73
10
28
-5
20
-16
-46
-19
-33
10
32
46
43
10
-78
18
35
16
-32
7
-26
-22
23
12
14
62
56
-23
6
62
23
6
-20
16
19
-9
-57
57
-9
-2
0
-44
-1
34
-37
10
-53
18
-48
-88
40
21
0
30
-38
43
-1
0
-24
11
4
-11
-33
53
-13
-12
17
-34
-45
34
-122
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
41
0
-73
-4
-9
0
0
0
5
-50
6
0
0
0
0
41
-51
0
0
116
0
0
-1
-34
0
0
53
0
0
-12
-44
0
0
58
-5
0
-3
19
0
0
11
0
0
10
-51
0
8
131
1
0
8
-70
0
0
-2
0
0
0
-32
0
0
12
0
19
0
-63
0
0
0
0
0
0
-27
30
0
7
0
-3
0
0
0
15
5
0
0
0
111
0
0
0
9
0
0
-32
0
-1
1
0
0
0
18
0
13
6
0
0
0
-109
0
0
12
0
0
0
47
0
8
-19
9
0
0
-34
0
-36
-4
0
0
0
75
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
14
14
11
-9
2
-37
-32
-13
4
-42
-58
4
3
30
10
-9
-75
7
-56
18
-22
-3
1
-2
-8
15
11
-9
-5
26
-75
-16
-11
36
-14
4
22
-40
-7
-20
-4
22
-19
23
3
0
-8
-4
16
-4
-8
-69
-9
-5
31
60
1
-12
-31
21
-16
3
41
33
-17
-34
26
19
14
-22
-13
-5
14
-62
-37
-2
-86
9
11
2
-56
88
77
-18
-12
-8
-1
15
-27
66
-58
0
5
12
-6
14
0
-37
-4
-82
-4
-5
-47
14
-11
1
-110
-27
16
-8
35
-33
-14
9
-54
-22
-9
-15
-6
-20
1
-93
1
14
7
6
-4
80
-48
-22
-47
3
0
13
17
71
50
67
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
101
-4
14
54
-96
0
-3
39
30
-3
-20
4
31
-12
-82
-4
58
-30
-18
-14
-21
31
-22
-31
-60
-34
-26
33
13
6
48
-106
8
-28
28
-29
-25
-12
-98
-1
-49
29
-36
-18
4
6
4
-72
-14
-21
1
-21
-39
-69
-58
-1
10
-73
-4
-12
13
-6
-1
-33
-8
-65
-58
-50
-2
2
70
6
0
-17
-72
21
-2
-62
-16
12
-75
0
-65
-7
-7
-22
-38
34
0
41
15
8
-67
-20
12
-23
-23
-3
-65
15
-74
6
47
-45
-11
-5
88
35
-44
30
3
-15
-16
-86
-3
-28
2
-71
-16
7
27
-24
-15
30
12
-14
-1
-13
-1
20
-45
0
-35
3
56
22
-79
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
40
-21
-25
-32
13
25
59
17
-28
12
-2
-10
-9
-7
5
-3
24
-6
-4
14
7
1
66
38
8
35
62
-25
4
74
40
38
-13
-48
-3
4
-91
54
23
-85
27
61
12
-1
-52
18
3
1
68
2
-1
10
25
-9
22
11
-7
0
8
-19
-2
2
-55
-1
-12
25
-40
3
17
-2
5
-17
45
15
-7
-35
6
-21
-5
13
-3
0
-9
-69
-42
14
-9
-38
2
-41
53
6
38
21
75
3
2
-19
36
-3
15
55
58
2
80
-16
-27
10
18
-44
7
144
18
-48
26
-1
16
49
41
7
4
-16
42
-28
71
2
8
10
9
-43
-16
12
2
-23
66
-31
-8
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
5
-4
-44
-10
0
0
29
-10
64
0
3
0
0
31
-87
0
10
-9
0
-27
-17
22
-36
22
-15
0
54
23
-16
4
-11
-1
0
-6
0
-1
-24
-14
-10
0
4
-23
5
37
-2
6
0
-54
-52
-1
-25
-3
18
0
-63
19
0
-13
-11
-3
0
-11
-27
7
-16
54
-45
0
0
40
117
-7
0
11
0
-6
-31
27
0
-32
-12
0
-50
35
-3
20
-75
0
0
-21
16
0
-24
32
-4
0
61
32
0
-54
27
79
19
-107
-14
-5
39
16
27
0
-27
-36
0
-21
2
6
0
29
9
0
12
12
30
0
-10
-12
0
-25
-49
4
0
0
-27
-82
1
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
18
-8
0
12
0
0
-47
-17
0
0
0
0
-1
-23
46
21
1
19
6
-9
-29
0
19
3
-2
68
4
22
0
8
-32
23
2
-9
0
13
67
-51
18
57
0
53
0
5
15
-2
-7
1
-14
0
1
-91
-6
-93
0
44
-7
4
-6
33
-48
0
-54
3
0
3
1
-3
4
-103
15
0
0
0
0
-6
-6
0
62
18
3
-1
0
-20
0
13
3
4
8
-20
34
0
-59
-9
0
-1
0
22
4
-2
-22
-70
-14
5
18
0
-102
-27
-2
2
0
-20
0
-1
-99
-1
3
0
17
0
9
2
1
-2
0
3
-4
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
14
-20
-37
72
36
18
-7
-10
-6
27
30
-2
0
14
10
29
-7
-45
-39
7
10
-77
36
-3
-91
-21
33
-6
55
12
14
-26
-22
17
4
-28
23
7
21
-22
10
1
11
-3
8
-11
6
29
-14
10
-56
-2
24
4
-34
0
-28
-47
-67
23
35
-15
-6
43
-87
61
-33
2
5
25
-35
-5
-24
-23
44
52
16
21
-12
31
13
18
-3
22
5
-19
6
-7
-7
29
7
-23
-15
4
22
-65
-11
-3
-48
-10
-5
12
20
15
-11
28
3
11
-39
31
-6
-11
-41
18
21
-18
-23
-18
0
43
30
-58
-21
26
-35
14
4
-71
-84
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-26
51
0
0
2
-1
54
30
0
-1
0
0
10
-43
0
7
-60
-8
0
1
0
0
-1
67
0
0
14
52
0
-1
-3
-6
0
-16
14
0
2
-95
0
7
17
-82
0
0
23
57
1
8
19
0
4
-13
0
7
8
10
0
0
-7
-30
-1
0
-44
8
-4
0
0
-6
0
31
-8
0
7
0
0
-8
25
0
32
2
0
0
-9
-34
0
0
-15
-8
0
-4
55
0
-12
32
0
0
0
-6
0
0
4
0
6
6
-69
0
-10
4
0
-5
0
-34
0
0
8
-5
0
-3
-77
0
5
1
0
-7
0
4
-14
0
24
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
4
1
3
-1
0
-62
20
0
13
0
0
33
-30
5
0
-78
2
0
-92
42
0
0
-41
0
0
30
27
0
0
-82
-3
0
20
-40
9
0
-62
0
-2
21
-120
0
1
-33
21
2
0
-75
-3
0
-27
0
21
4
-77
0
0
1
0
-9
0
-20
-1
8
-5
0
0
-8
36
8
0
0
-3
0
0
7
-5
1
5
0
0
-2
-48
0
0
23
6
0
71
-50
0
9
-24
0
0
-4
-6
-2
9
-17
-1
0
5
-94
1
-4
-4
-8
4
0
-63
0
-2
-31
-9
9
0
-58
0
8
-3
0
12
1
-52
-5
0
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-97
-48
0
26
-3
0
-22
-36
0
2
0
0
-9
-42
-7
-3
59
-17
-5
35
7
0
19
92
30
-1
85
39
4
11
-41
47
-5
-56
9
-1
8
33
-31
-76
23
30
0
-9
-13
34
13
-6
-15
0
-22
49
21
8
8
7
0
15
-7
3
7
0
15
-12
3
0
-3
0
0
-3
28
1
-5
0
0
0
-52
0
3
-12
0
0
-5
-26
0
6
-44
-2
0
19
10
0
29
-121
37
0
-48
-40
0
-18
9
-78
-10
27
-28
0
-62
5
-3
4
43
-24
0
2
0
-33
6
9
-41
0
-59
2
0
0
0
2
-69
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-60
16
0
0
0
0
-29
1
0
0
0
0
0
-2
-15
1
48
-12
1
-45
-5
0
6
38
0
2
-56
-38
0
9
-65
0
-9
24
12
0
0
-26
5
19
41
-55
0
0
6
15
-4
-3
30
0
0
44
-13
-7
0
-1
0
0
47
6
-48
0
-6
-3
0
0
0
-6
0
-58
1
0
0
0
0
0
14
0
-38
70
0
0
0
7
0
8
-5
0
0
0
-49
0
-19
-38
0
0
0
9
0
0
35
-2
-2
-1
-79
0
52
-11
0
0
0
-27
0
0
-42
78
-1
0
12
0
-15
0
0
0
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
2
31
9
36
0
5
-17
7
41
-87
1
0
-88
14
-21
34
13
80
0
43
19
-1
-47
36
-7
0
13
5
14
-31
-4
-7
0
30
-2
-5
-90
-26
29
0
-14
-16
-13
43
-21
3
0
44
-29
-9
-53
12
-10
0
-54
14
20
-15
44
-44
0
0
3
45
46
32
-8
0
8
-38
40
-2
-18
-2
0
35
37
0
12
-5
2
5
63
-35
-1
119
-16
-6
-2
-109
8
21
-82
21
-23
4
-28
12
-15
-42
72
-43
-7
144
-9
20
45
29
-9
0
54
-28
1
10
14
17
0
51
-5
6
-37
-45
7
17
0
15
51
25
-47
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
-13
0
0
95
0
0
5
-41
0
0
40
2
0
3
0
0
0
-6
4
0
0
4
0
0
-2
0
0
0
-38
0
0
0
0
0
0
5
0
4
0
0
-2
0
-34
0
-2
0
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
0
0
0
35
0
0
0
0
0
0
43
0
-5
-5
-5
0
-1
10
0
0
0
0
0
4
-27
0
4
0
0
4
-2
-29
0
0
5
4
0
0
-38
0
-1
0
0
0
0
-57
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-2
47
13
-37
16
35
57
-2
42
-2
-26
10
-21
13
-15
68
32
5
40
21
23
-8
8
-29
9
6
16
3
-8
-26
-21
12
9
-20
-23
-9
-78
-14
13
-14
1
-32
-5
4
-15
-32
-38
8
-24
-15
-14
-61
8
-22
-7
7
0
-1
-35
28
-9
34
-7
12
12
-57
-6
-19
34
35
11
29
26
17
68
-34
32
0
51
17
11
-31
-8
-3
2
17
6
17
12
3
-28
3
48
13
21
30
22
-63
-6
-24
11
20
24
6
-19
-4
-44
6
-18
-11
4
-32
1
-63
-38
-49
14
29
-77
0
-104
-25
-8
-33
-136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
-15
12
-116
41
-1
-30
-17
-24
-2
-50
-38
73
9
1
3
-62
5
39
-51
-24
-8
-52
20
-30
-28
13
-13
6
-13
-14
0
-127
10
-3
12
13
24
-31
3
-51
4
7
15
-7
20
46
-54
26
0
-27
57
36
-21
-47
6
40
0
7
-44
-14
-33
7
-2
-4
-52
-10
-75
0
-40
9
15
8
-42
34
3
-33
-28
77
27
-19
42
-26
7
-17
-23
-41
-39
4
-31
20
-20
57
-59
27
7
11
-31
-37
-28
-4
-63
-91
-46
37
-41
0
3
-48
-48
-21
-8
5
5
-12
17
18
-42
-2
30
46
12
56
-12
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
6
-3
-75
1
22
-12
-6
19
-36
34
30
-56
-12
-31
-40
-27
-41
-8
12
12
-34
4
64
-5
11
19
-49
-12
20
100
8
-31
24
-33
2
-25
4
15
25
40
42
-23
-1
-44
40
-2
-6
-88
61
12
-19
19
-60
-9
-3
-10
-20
-11
5
0
-29
13
-12
19
48
-26
-29
-15
-35
-34
-53
17
-25
-5
6
-112
7
29
11
23
25
6
-43
-20
-14
5
32
-91
8
-2
-13
22
19
-8
21
-18
43
15
-3
10
0
4
-36
73
-36
6
-57
-11
15
-46
-5
-119
18
-10
16
23
15
0
40
-19
20
4
39
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-1
0
0
0
0
3
-87
-1
0
34
1
0
1
4
0
0
1
0
0
41
22
0
0
14
0
0
-2
43
0
0
-5
0
-1
0
-33
0
0
-1
42
-2
0
-48
0
0
1
0
-4
0
-49
0
-4
0
-1
0
0
-11
-3
0
0
0
6
0
31
1
0
0
0
0
0
-14
0
-1
1
0
0
8
-18
0
0
-2
0
0
-1
-56
0
1
0
0
0
2
18
0
0
-1
5
0
-2
75
0
-2
-1
0
0
0
-38
0
0
0
-4
0
0
-54
0
-6
0
0
0
0
-47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-47
0
-2
0
4
44
-13
-7
27
3
10
-45
-6
4
-1
-64
27
0
19
5
3
-1
28
7
-7
19
23
-12
0
65
-20
3
67
-15
-49
-1
26
43
-11
-17
65
-23
0
22
24
0
13
-8
-33
0
37
40
-12
-5
1
49
38
-2
-2
0
54
0
17
-18
-5
13
0
0
75
-65
8
14
14
0
7
28
45
-3
-17
6
-8
13
-71
13
0
-70
-40
0
31
-51
37
0
-88
31
-5
-50
-30
-22
0
23
-71
-8
-13
-8
-9
-3
-63
78
30
51
5
11
18
-61
-25
0
10
-3
43
76
45
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-86
0
-1
0
0
18
-13
-9
-8
19
-40
0
-70
-28
0
1
-68
-3
0
1
3
-8
-8
-8
-7
0
38
15
0
16
51
48
0
7
-92
-3
0
-27
-25
0
-24
-20
8
15
8
-10
0
0
-8
-4
-30
-48
-33
0
-4
20
14
0
0
0
0
2
23
-14
-1
22
-4
0
56
-42
0
-16
-86
0
0
5
9
0
87
-113
14
0
-2
5
0
-110
-9
25
0
-43
-60
5
61
38
-21
0
-2
-9
6
10
64
0
0
7
-59
-9
-14
-22
-58
0
0
43
4
72
17
6
0
0
-66
113
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-132
0
0
31
-6
0
-13
33
0
0
-58
0
0
30
-39
-6
0
53
-5
3
2
6
-2
0
-52
0
0
-7
18
0
0
-6
-4
0
-1
-20
0
0
0
0
-1
0
2
0
8
-1
-2
5
0
-42
0
0
8
-1
0
0
60
-8
3
0
0
0
0
85
0
33
-2
0
0
0
-77
7
-7
-4
0
1
0
-53
0
-8
4
-1
0
-1
7
1
-12
-1
0
0
0
-29
0
2
23
0
0
0
25
0
0
-1
0
-1
0
-94
0
-30
0
0
-16
0
3
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
1
-16
-15
-6
-33
-21
20
5
10
10
-39
50
27
8
26
22
27
-12
-43
22
2
0
13
23
-21
24
2
-3
-30
15
5
17
22
-12
-11
15
14
-8
40
15
-10
-14
-96
7
-4
5
9
-24
8
-14
30
-85
-45
-12
-68
0
-35
-9
-147
-21
-41
-36
15
53
-82
-19
14
0
-62
20
9
3
27
16
-81
-10
13
24
14
36
-60
37
72
8
24
30
33
5
5
-17
-5
-45
36
5
26
2
13
-7
44
18
39
20
-5
78
-11
-13
-14
-20
-39
34
24
5
17
-36
-21
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
30
0
-107
22
-32
-21
-13
-5
28
16
-66
-13
-8
-22
-4
-13
58
-32
-1
-12
-14
46
64
0
18
-114
11
-27
0
23
36
-56
-53
-171
-45
-32
-2
-10
14
-31
-61
-29
4
-8
4
-32
40
-50
0
26
-27
-71
-1
0
-32
20
69
-72
29
54
26
-9
23
30
50
-50
14
-23
19
-20
27
17
-43
0
37
5
54
10
33
-17
13
39
1
33
2
-4
63
-18
-113
-19
-49
-54
-5
-19
-20
18
50
-7
9
14
-4
24
37
-25
0
0
4
-10
6
-2
-29
0
-5
49
-17
4
-43
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-65
-1
0
-73
-1
0
-2
58
0
0
-56
0
-2
19
-31
0
0
-14
18
5
0
-31
0
0
-16
5
0
0
0
0
0
-1
79
0
-2
50
0
0
-8
0
-4
0
-98
0
0
24
22
2
0
60
0
0
0
0
5
0
68
25
0
0
0
0
0
-21
7
-60
-4
-1
0
-3
-57
-1
0
5
-10
0
1
18
0
-3
-10
0
0
0
-4
-1
-15
20
-6
0
0
-56
0
-2
67
0
0
0
39
0
0
-10
0
12
0
44
0
-13
0
0
0
0
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
17
-2
18
-49
-23
11
7
6
-20
-70
-7
8
-13
23
-5
-7
-68
12
8
-33
-41
-9
17
-19
-49
-60
-8
48
-9
5
-47
-31
-12
-7
12
0
2
58
4
-6
0
-11
-2
9
44
-38
-12
0
-6
-5
0
0
-14
-2
0
14
2
-18
9
0
0
-2
-51
28
-44
-1
0
-1
-19
30
-4
-20
-67
-4
7
95
23
-14
-6
-5
6
12
-18
-60
4
-89
-70
2
34
5
7
-1
-86
26
-2
-38
5
-57
0
-10
-12
36
13
0
22
0
-25
-8
0
-25
0
-14
6
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-71
-8
-1
31
7
0
-28
-18
0
3
7
0
-16
0
-27
0
0
-14
0
0
13
-36
0
-8
-2
0
0
-2
-17
0
0
-10
-8
0
0
-13
0
0
-2
0
-6
0
-91
0
0
8
12
-3
0
-25
0
0
0
0
0
0
-25
0
0
1
0
0
-2
55
0
32
0
0
0
7
-41
0
23
11
0
0
-6
-1
0
16
-1
0
0
0
-21
0
-8
31
0
0
0
10
0
-7
5
0
0
10
20
0
0
-4
0
0
0
-15
0
31
19
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
5
-2
0
-1
-14
0
0
-38
0
0
50
-6
0
0
4
-3
0
2
-50
0
0
22
0
0
0
-28
0
0
14
0
0
14
-88
0
0
15
0
0
0
-18
0
0
24
4
0
0
-5
0
0
0
0
0
0
-36
-12
-2
4
0
0
6
52
0
5
16
0
0
0
-118
0
1
8
22
0
0
-14
0
-1
13
0
0
5
33
0
0
52
8
0
0
16
0
-29
-21
0
0
0
-65
0
0
0
-5
0
0
-22
0
-14
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
37
-2
-23
-7
-40
25
52
-11
5
30
-43
76
-124
-15
-2
-5
14
6
-7
-2
36
-17
-5
-27
-5
-5
-30
-40
-10
5
-69
4
67
-38
3
32
0
21
-30
21
24
0
26
26
13
0
0
-3
0
8
-57
-5
-25
-8
0
6
12
25
75
57
15
1
-42
46
32
32
8
88
2
11
-2
4
43
-95
-32
2
-17
-1
40
-47
62
41
-31
39
-4
23
-91
3
4
6
-1
-2
-1
-38
-18
-29
79
2
26
-3
59
-8
4
88
0
32
28
25
-2
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
32
13
-6
6
18
-74
12
19
-29
44
24
-12
-42
14
-3
37
4
25
-14
-32
-4
-9
-56
-36
4
-4
-53
-57
16
0
38
-15
-8
-38
-25
1
75
42
-59
24
11
-32
1
10
25
-167
41
38
-28
8
-8
35
-49
19
-58
-62
0
20
-19
-19
-96
37
-115
14
24
-34
-31
-15
26
38
1
70
-17
-29
-50
20
10
-7
-10
14
6
-19
45
-6
8
-4
24
38
-17
-5
0
-8
-107
19
15
18
59
-3
15
-57
6
-11
-23
-8
12
11
-7
-9
-46
-34
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
14
72
-70
10
-22
-26
73
-24
-57
2
100
9
-12
32
-12
-57
10
31
-24
6
-12
-5
9
-9
100
7
-91
5
0
-6
-48
34
75
-46
19
-1
0
-13
-47
-14
1
1
8
-1
-1
28
38
-4
41
-22
20
1
-5
10
61
32
21
9
-36
6
5
56
-36
-1
6
-41
5
0
41
22
34
56
72
-10
0
82
14
-5
-68
53
3
-15
-38
1
0
-29
-17
-52
61
50
-2
0
45
34
11
6
-3
-8
0
-31
7
-17
-12
0
55
21
-2
-2
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
29
137
19
31
13
-2
-70
-35
36
-4
89
37
-41
-6
9
5
-21
43
-13
6
-55
-47
7
5
-35
0
-42
-28
-3
0
-15
-113
32
12
-3
-29
0
0
-19
16
-1
0
-24
-5
0
-1
-27
40
8
-41
-73
-10
3
-5
6
-14
53
7
-27
31
2
-13
-7
-25
47
-42
-49
-20
-14
68
-3
-65
22
23
17
62
-24
-13
-24
57
19
8
-14
29
-1
-3
-16
14
1
71
42
-38
0
-8
39
40
-5
0
15
0
-24
-1
12
13
0
-40
3
0
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
77
28
-14
-24
-5
-19
52
-61
-79
-22
-45
-16
-23
41
20
2
56
-14
-62
6
11
14
-48
28
19
-90
-21
17
57
36
21
-2
-7
-19
7
-17
43
-32
0
-2
-1
-5
-5
-25
56
-17
6
30
-30
-74
-41
-36
5
-2
7
56
4
44
32
49
38
-47
-48
-46
1
12
34
-64
-17
-3
30
22
20
-50
8
-2
38
6
-61
-9
-6
-20
-53
1
-24
21
12
12
37
42
0
-15
2
20
8
-32
-26
8
49
14
6
-38
23
-22
-1
5
-22
-4
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-17
17
31
-11
-18
-46
-39
-51
43
-29
-14
-8
-36
1
-33
28
-16
34
70
-7
23
0
15
-29
-6
-8
41
47
-14
-5
-20
19
5
-6
7
-32
-4
69
-22
-3
-1
20
5
19
7
0
20
9
0
17
13
-14
-21
0
-6
15
43
79
-16
3
0
7
-2
-5
13
-6
106
5
44
51
-18
2
55
42
-17
-40
10
1
41
-57
52
132
-20
17
-42
0
-28
-134
14
9
-9
-34
-2
-58
76
41
24
2
-27
-5
43
34
-4
27
-2
-50
-14
-40
-14
15
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
19
3
3
49
0
0
2
-49
0
18
-109
-31
2
-8
-89
-3
19
-63
-5
0
60
-82
0
27
-59
-126
0
3
-73
0
-1
-13
5
-6
0
8
0
1
39
28
0
0
9
2
0
0
-2
1
0
-11
65
9
0
0
0
9
0
-4
-33
108
0
0
41
22
0
-3
42
38
0
37
31
0
78
17
0
0
3
-1
0
10
-27
72
0
-2
-34
0
0
4
-1
0
-1
9
0
0
10
27
0
-8
-12
0
-53
11
0
0
0
24
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-14
59
12
30
-5
-10
-49
16
-38
23
-1
63
-6
-44
6
-9
26
27
-33
88
27
-11
-1
54
-4
84
7
34
31
40
-10
-25
-26
-23
-1
8
-71
-80
5
48
-41
6
-25
-30
22
3
-36
6
11
44
-72
44
-2
-9
-67
-44
54
36
51
25
-8
4
40
9
99
16
4
101
2
-8
18
21
81
-34
54
48
-105
-19
60
41
70
16
44
11
19
-29
75
-17
-26
23
1
-12
-8
14
124
-42
-23
-2
14
21
-8
-9
18
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
37
45
-27
1
-17
30
2
38
14
11
4
-6
9
-6
-13
23
26
-17
8
59
8
44
2
38
-7
14
-20
10
-39
-10
16
10
-6
40
4
-15
36
-42
37
55
-27
36
31
-25
42
-47
-46
26
35
-17
56
33
-130
-35
33
0
-77
-17
-14
-35
-23
-4
-21
0
20
-18
9
16
-25
9
12
18
7
30
2
28
11
-54
24
39
-21
-22
22
1
13
9
40
45
4
-26
4
40
-7
13
18
-35
-10
9
-8
30
-13
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
16
0
-17
-11
2
0
-50
-32
0
32
-41
10
5
-10
46
0
-3
-153
51
7
11
-24
0
0
-34
0
-5
5
31
0
0
-3
-5
46
0
31
7
0
0
0
-2
0
57
-31
8
19
6
-1
28
-44
0
42
-76
0
0
2
79
0
32
-5
8
2
15
-6
0
-21
38
25
0
-14
64
0
-7
15
-1
-20
0
6
0
-14
-31
0
6
0
-14
0
0
-2
-18
22
0
38
0
32
10
0
2
0
-11
-12
-1
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
28
9
22
47
41
48
25
-8
8
30
3
102
30
-51
-49
0
0
-3
37
-4
42
-2
0
-2
16
6
37
-4
49
0
-1
-7
69
-87
0
26
-6
-2
0
0
49
0
-4
50
-10
-4
29
0
-17
-75
5
37
90
0
17
72
21
0
8
-46
20
-8
5
44
0
107
-64
14
9
2
39
-7
-55
22
-19
8
-23
-13
-4
32
64
72
39
32
43
0
-6
20
-68
23
0
34
0
29
68
2
-34
0
-54
2
0
0
30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
3
-56
-10
2
-9
-1
-26
16
49
-17
25
-3
-14
-9
17
51
15
6
21
17
15
4
10
-41
23
57
16
6
11
-73
41
28
55
-6
-9
15
-121
-31
-9
-60
48
0
10
32
-52
-71
-25
1
-13
36
69
12
-67
-2
21
-13
23
87
81
-29
12
-11
-12
-2
-41
-14
11
-4
14
-55
14
24
21
25
4
74
-58
-8
97
28
71
-75
51
-158
-19
-42
16
12
59
-24
-22
7
-71
26
-1
9
49
-6
-17
-20
-55
-2
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
7
0
49
13
-21
-1
15
-80
-10
-41
-110
-6
-4
13
9
-2
25
-33
33
-6
27
-10
0
-5
14
0
-20
0
5
0
27
25
5
-48
0
48
0
0
0
0
0
0
-27
11
0
4
0
0
23
22
0
80
-5
0
-1
-3
-12
0
-2
24
2
0
16
23
0
17
27
0
0
1
-66
0
34
-26
3
0
-7
-1
0
-31
-5
0
0
2
3
0
-5
-4
-5
3
0
30
0
-49
0
0
23
0
55
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-93
0
17
52
-34
0
-16
-21
0
-2
92
-5
0
4
-40
0
8
10
-8
0
-27
-20
0
-7
12
15
0
0
6
0
0
-4
42
0
0
-12
1
0
0
16
0
0
-13
-9
1
0
0
0
-4
-4
0
-8
-67
0
0
-12
24
0
41
-25
-50
0
79
23
0
20
-9
-1
0
58
58
0
0
-83
-66
0
9
-15
0
-75
-26
0
0
0
8
0
0
32
31
0
0
35
0
64
29
0
0
0
16
1
8
12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
-9
36
14
9
47
-21
-8
-28
-52
-27
39
-11
102
-9
-25
-22
-28
70
20
-16
19
-18
-7
-34
14
-44
0
27
14
-113
-88
-62
57
4
4
-56
98
-31
-42
-30
-53
13
-26
85
52
16
64
-76
1
-16
57
40
-48
29
-49
-7
11
-47
-23
30
19
17
-6
-36
9
13
-55
32
-71
5
28
-18
-50
-133
11
3
4
-23
-57
-30
4
-7
-22
32
17
5
-29
21
52
0
3
60
-141
-73
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
-14
4
21
33
36
10
2
34
21
-20
-7
50
24
-28
44
59
-7
15
51
-4
-22
-23
21
43
24
13
10
7
-14
23
1
-12
44
2
33
52
53
-49
-27
-7
17
-18
-40
34
-34
-45
3
30
-55
77
23
-60
-60
-15
0
57
-16
5
29
48
-46
4
-84
-1
-35
18
-21
-23
4
-63
-17
0
-33
40
0
21
12
-27
13
9
-12
40
17
0
-8
8
15
36
-35
25
-18
23
-23
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
26
41
-6
-5
52
11
0
0
-20
49
-19
4
22
0
0
28
0
-1
0
-10
0
-1
113
1
-55
0
-38
17
0
-1
0
-19
0
26
-35
-12
2
0
0
0
45
0
-16
76
0
0
-16
15
0
22
62
0
0
4
6
7
-20
38
0
0
-59
39
0
-22
10
-6
-4
-2
-15
0
-2
5
13
0
-6
-13
0
4
17
-31
0
0
-20
0
41
-8
4
5
0
7
-44
8
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
-6
5
-49
33
-40
23
34
14
15
5
73
91
35
10
-5
0
-3
2
-58
10
-6
0
-17
-14
69
11
1
-32
0
2
0
55
-8
0
-27
-46
-6
-7
-1
1
15
-2
3
7
109
8
-12
-18
19
15
35
-38
-17
2
-88
23
14
-12
24
1
2
40
-29
7
-33
-23
-12
-45
20
-12
-5
-64
-33
-64
10
-64
38
15
-5
-39
-21
25
21
19
0
-23
-4
6
77
0
-98
-26
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-53
-7
4
47
-51
-13
-2
11
-9
-13
14
-7
-2
24
-8
24
-5
95
25
49
16
14
-78
12
33
-17
-43
16
1
-25
45
2
21
30
6
-27
30
20
-12
-21
11
2
49
32
34
18
-39
-23
-5
-36
-4
-61
15
-50
-37
24
74
21
28
-86
66
21
9
5
27
-3
-16
11
-27
-12
93
25
16
-42
49
43
-15
-168
-15
-48
9
-26
-58
9
76
-10
-113
18
14
3
17
21
-28
52
51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-7
-112
-6
-25
36
8
-14
17
76
-4
-54
-41
67
-12
-8
36
17
0
-28
-14
13
1
-41
0
-14
-29
0
17
10
-4
-18
-3
18
-1
8
41
-7
-91
0
23
-16
-1
-74
21
49
1
-2
24
6
25
-4
20
40
66
38
52
19
-7
33
-5
23
114
7
-12
-17
6
29
-79
41
-2
-5
70
70
-14
-53
17
13
-4
-64
24
-43
28
14
-42
-3
-12
5
-1
-16
-2
0
0
34
-1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
11
-10
40
-2
0
8
-34
0
-6
-45
128
12
-2
-33
0
3
-27
8
0
8
-40
0
3
50
59
0
0
-19
2
0
0
-12
0
0
-37
21
0
8
5
0
-23
-44
0
27
14
-4
0
25
-3
0
8
20
21
0
48
53
14
42
130
-3
0
138
31
-5
-81
35
32
0
-14
-23
0
-44
-19
-1
0
-15
-71
0
4
-23
-44
0
4
14
0
-47
13
0
0
0
54
-20
-2
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-16
81
-38
-5
19
12
32
-27
17
-136
-67
11
-5
12
7
-8
-20
-45
-35
3
-3
10
-33
-29
22
-15
-37
19
-21
91
6
68
33
34
-23
16
34
3
-45
8
12
-71
17
-10
26
-91
39
-8
-20
-7
24
-71
20
-43
66
74
22
-48
-37
14
-3
-29
38
-14
6
33
-28
-34
-67
-5
1
-27
102
-53
-4
77
-8
14
-2
3
-55
5
25
0
4
45
-36
-44
-42
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
4
-41
-46
-19
-4
22
9
15
-47
-25
41
-23
-13
27
-8
-29
17
61
-16
-10
18
2
-46
26
4
-2
1
31
5
17
8
-22
31
-64
20
-3
18
-8
22
-27
-66
0
-1
17
-7
20
14
20
12
9
17
-15
1
-140
20
29
0
61
28
43
-16
-22
-69
2
43
-64
-26
9
4
-36
10
-48
-44
0
36
3
18
7
9
9
-8
-10
8
-79
20
-47
67
-16
-6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
26
0
2
-1
31
0
8
-39
0
0
-17
0
1
0
-25
0
0
2
-22
-1
-2
-6
0
0
1
-1
4
0
-74
-40
8
0
-5
0
4
-95
2
6
0
0
-16
-1
-73
0
-21
-13
4
0
-9
-64
0
-77
-21
0
0
4
-27
0
1
54
4
0
0
-76
0
7
9
0
-10
0
9
0
-6
-7
19
15
0
51
0
-39
-5
0
-2
0
6
48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-8
-8
-17
30
-53
22
22
0
0
8
31
92
42
-22
0
8
-3
74
-50
0
29
13
0
0
0
7
0
-16
-1
0
-6
-4
0
-7
-9
-2
45
1
-2
10
-9
22
-29
-2
-94
25
7
16
-11
10
27
28
46
-10
46
-24
-1
7
23
-3
-7
-10
-17
7
41
9
-8
-10
-16
-21
-3
1
-5
-49
23
-13
-6
1
-7
-40
-4
56
0
-15
24
-3
-7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
8
-14
-28
4
16
-13
29
-3
-49
-21
-8
-47
19
-10
-1
-61
-50
26
-49
5
-32
17
-70
-11
4
28
15
-23
-1
23
-80
35
-19
3
-51
-11
-49
15
11
41
6
-45
13
56
9
31
11
37
8
8
-5
4
7
57
11
-9
-2
-18
-21
-35
-8
7
51
-10
-16
-42
-35
50
42
-17
2
5
-18
46
10
15
-51
9
15
4
-44
-37
5
14
22
-25
-87
-25
23
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
14
-8
4
-6
19
-60
3
-7
0
-2
-25
0
-83
8
-13
8
4
-55
-9
5
0
-14
-18
0
0
0
7
0
-21
-15
4
0
0
0
-1
16
47
33
-4
0
-7
6
-11
0
41
17
-8
-6
-17
24
0
41
8
15
0
-49
13
0
-82
27
-9
14
55
28
0
-78
56
0
41
-3
-18
-2
12
53
-5
-4
0
-2
-3
-13
-11
0
86
0
-12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-36
-1
-50
-12
56
0
-54
-38
0
6
-13
-27
1
-15
-45
0
-8
-25
12
0
0
-14
-20
0
2
-33
0
0
10
29
-14
8
33
0
36
45
69
29
8
-6
0
-22
15
0
-3
-34
-66
0
-48
-15
2
-2
41
18
0
90
38
-5
-18
77
4
0
14
-31
8
-22
17
-11
0
44
3
0
-4
50
-16
0
3
1
0
-8
18
-4
0
0
-5
7
-9
9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
59
5
-9
14
19
0
-15
0
105
-13
8
11
0
13
8
-12
-1
-96
14
0
-5
-66
1
-3
0
0
0
-43
13
-73
42
24
2
-21
65
15
-49
-33
63
1
-1
-54
-16
-43
-12
16
6
-13
-11
-6
52
-32
-44
-16
-1
-21
-3
-21
-65
44
3
0
33
-7
49
-59
8
72
3
-12
-2
-25
70
40
-40
2
-29
-19
-13
-9
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-58
23
22
6
12
48
19
-48
1
23
2
-21
27
6
-11
-2
4
-44
-19
-5
7
12
6
9
-30
-45
30
-6
22
-7
-1
-33
21
13
-1
62
25
24
-22
14
3
10
61
-6
-6
8
-87
-29
14
-85
-9
38
9
9
-3
0
-26
-9
-19
11
-79
13
-3
-12
21
-1
-19
-53
-46
11
49
-15
-13
-86
-8
-1
8
-7
-32
-7
-59
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-31
0
0
-9
0
-5
0
9
0
0
4
-9
-3
0
-18
24
0
0
0
-8
0
1
-12
-4
-3
-1
10
0
21
0
-23
-4
-2
0
0
-20
0
0
36
2
0
0
29
0
53
-41
-2
-7
-8
-26
0
18
3
-2
0
4
10
0
48
-2
0
0
0
4
0
5
8
-12
0
0
28
0
-26
-2
-7
17
0
-5
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
-10
-57
0
68
7
-20
5
16
-46
4
-33
0
20
6
0
0
-2
-9
0
-14
51
0
-29
13
10
15
3
-16
-25
-33
0
4
42
53
0
2
12
10
7
-22
-30
0
-60
7
-22
56
-15
-2
-21
-8
-16
10
27
-6
-7
0
22
-40
-5
-3
-43
20
-2
-10
-29
-26
26
0
40
-4
-52
-2
0
-10
0
99
33
0
5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
4
-44
25
55
-3
9
-74
7
8
9
0
-4
70
-1
1
-25
-10
0
-26
47
-71
-12
-58
38
44
10
24
-32
-17
-48
-19
1
-64
71
-2
11
-25
1
8
36
-3
-48
0
3
6
39
22
-35
-25
-12
78
90
-21
-38
20
-50
-12
-76
9
35
-92
-85
9
4
40
-7
-43
-30
35
13
-12
21
-2
10
-27
14
2
-12
-12
41
-18
-35
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
7
-7
-51
12
-17
50
11
3
49
-18
37
-25
4
-1
1
-2
-46
-13
53
21
1
-7
15
18
32
-5
1
-6
-35
-3
-11
60
41
71
-56
21
3
-38
91
15
50
120
-17
29
37
15
5
51
-26
-9
3
-8
37
24
-69
1
11
20
-19
-16
-2
11
-96
-3
13
-11
6
-43
-34
-6
-27
1
1
28
-1
91
-2
-10
-50
-1
9
-1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-37
0
33
-54
-8
0
-3
-40
0
25
122
22
0
0
13
-46
-8
3
22
0
0
3
20
-9
6
3
0
-19
-5
0
-26
-78
-8
0
1
54
0
-37
88
-3
0
45
0
-4
57
-6
4
0
21
-29
-4
-36
-11
-27
10
-23
25
-9
-44
91
-19
31
39
22
0
-27
4
-11
0
83
-14
-3
19
-27
1
0
0
42
-42
0
-4
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
20
-44
-14
67
0
-37
62
1
0
-9
40
0
-43
-95
14
3
-3
0
-4
-70
-1
-11
-93
0
-2
8
79
-12
-1
28
101
0
-42
0
0
-66
27
41
3
0
-37
0
11
-67
-12
25
0
-3
25
10
27
6
5
23
-26
6
-63
-103
23
-4
-1
-32
15
-40
-14
0
-42
0
-68
-78
22
0
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
6
-12
17
18
-13
-105
15
10
23
-82
-27
-16
5
9
8
-15
46
4
-50
40
2
-11
5
20
-6
-29
35
12
28
-53
39
-30
-22
17
14
-10
-12
11
-27
8
-28
-1
-10
-27
-33
-8
-21
-5
-11
-35
-17
-27
-13
9
3
0
-53
-15
56
42
19
13
0
-29
-13
-27
-11
6
-114
24
7
52
-1
-23
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
3
0
0
-28
0
0
0
0
-13
0
68
-17
0
-1
0
0
0
7
0
1
-3
0
0
0
85
0
0
3
0
0
3
3
0
9
43
-3
0
0
50
0
2
2
0
0
-3
-83
0
-30
51
0
0
-2
45
0
14
-7
-1
0
0
-34
0
5
-5
0
0
0
-52
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
0
3
-34
-43
8
0
10
-2
0
0
5
7
0
-108
-14
0
-8
0
0
8
-45
0
31
49
0
0
-15
5
0
0
-20
-2
0
28
42
3
-2
-77
-1
17
-4
16
0
-9
9
-4
0
-6
-74
0
90
32
16
-15
13
-26
0
-5
-42
17
-8
0
-75
0
2
0
2
-45
0
-2
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-8
12
14
-56
12
-29
1
-36
15
25
3
-43
-1
0
-30
-70
53
-37
-14
0
-7
-56
-63
7
54
-7
4
-82
-4
-14
56
-64
-23
-2
37
22
65
10
27
-33
129
93
16
41
97
-82
4
47
-108
-38
4
-23
-29
-4
71
-20
-19
24
86
-47
48
21
-4
0
-25
-61
-37
10
38
0
-42
-61
10
-1
91
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-49
0
46
-55
2
28
0
-47
0
23
0
0
0
0
-23
-9
-1
4
0
0
7
-40
0
40
-1
0
0
-5
-43
20
21
26
1
0
-2
-35
0
136
-58
0
0
34
22
0
44
97
-5
-19
-3
-67
0
70
-34
0
-1
-14
-5
0
-13
-22
-8
-5
15
-40
0
-90
-6
0
8
0
-38
-18
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-42
0
-2
-38
-23
0
0
19
-43
20
4
-2
0
-1
24
-45
-24
94
0
0
-8
-20
-1
-14
10
18
0
104
31
-5
-51
-7
52
0
-28
14
-1
-7
-41
-13
0
-10
10
55
8
-17
-60
0
-72
9
-16
-10
-16
-1
0
31
9
-9
-1
59
3
0
-95
-25
24
5
-11
15
0
0
7
-41
-1
-19
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
46
0
0
0
25
0
28
0
27
0
-2
0
3
10
0
-3
-20
0
0
0
-64
0
-4
112
1
0
0
-17
0
-24
-22
0
0
0
19
0
22
-29
12
-2
0
-18
0
-9
-59
0
0
2
-45
0
0
-4
28
-13
0
-16
0
11
2
-7
0
0
-73
44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-35
-34
-161
-10
15
-51
-3
5
35
-34
-10
-7
-140
37
5
24
9
14
-54
39
1
7
1
36
60
60
0
43
-3
-29
-29
17
-21
7
-30
5
-10
66
-28
-19
2
11
0
38
-36
-32
-62
-7
-65
18
73
-23
-24
-46
-14
-38
0
-39
16
-42
-11
3
-4
-2
-40
-43
-5
-124
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
3
-1
0
0
8
0
40
-36
0
0
0
0
0
-33
0
9
-3
0
0
8
26
0
0
0
0
0
0
-81
0
-5
-1
0
3
5
-97
0
-12
0
12
0
0
61
0
5
-16
0
-5
0
-24
0
0
16
-2
0
-3
-60
0
32
0
0
0
0
-69
-43
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-1
-6
0
0
-3
2
11
1
0
2
-1
0
9
-18
0
-7
-50
0
0
36
10
0
0
-29
-18
0
-31
-12
2
-24
-43
0
4
1
-27
0
17
-62
122
0
16
18
0
60
31
0
1
-4
22
7
-15
-29
-42
25
0
5
0
31
1
-3
-1
0
-85
35
16
0
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
35
-5
-1
23
-36
-8
0
23
6
26
53
0
50
-50
-34
-71
33
25
0
-84
3
0
23
-48
20
0
28
-8
4
-27
-5
-11
42
-107
1
10
-11
102
-46
-15
-16
35
-4
5
-50
7
-61
29
6
43
-108
-9
-115
-35
-6
-62
6
75
-1
1
-4
-3
-69
79
-93
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
20
4
-2
12
0
12
65
-8
-26
0
0
-92
7
-18
-37
-19
3
1
-36
14
-3
68
-37
-1
18
27
-13
-1
-40
-12
7
41
30
-13
13
-36
-8
-1
12
-54
30
24
9
14
0
70
14
32
-5
76
77
13
-17
-10
-33
-8
5
-68
13
-10
0
-26
4
15
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
1
-2
51
0
-8
0
-1
24
69
-70
0
59
40
-38
-1
-2
-7
0
-41
5
1
-15
13
-22
0
-68
-7
-12
-7
-9
89
0
-15
3
0
21
-2
0
0
91
25
2
-8
-3
-27
0
-11
20
-3
97
20
32
0
30
6
41
-30
-4
1
0
-2
7
-20
-32
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
-30
0
0
0
1
0
0
-115
0
-1
-2
0
0
0
-29
0
0
-3
0
0
0
-45
0
50
-3
0
0
0
-42
0
-7
0
6
0
0
-86
0
-4
-1
0
0
0
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
18
-58
3
-60
-4
43
5
14
11
2
22
-52
23
16
-5
47
21
-5
-32
48
10
21
42
5
19
-25
-19
2
52
18
16
9
16
-60
1
0
-19
-2
-11
30
-36
0
21
24
-19
10
-12
-43
6
8
0
-23
-2
-9
-8
0
-112
-72
87
-3
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
24
27
-2
0
0
0
-21
0
44
-15
0
0
1
13
-17
1
-40
-12
0
-28
5
16
-144
-82
0
0
9
-64
1
-12
-91
23
-1
-4
-47
-1
-5
-66
-3
9
29
20
0
19
27
-41
5
-1
-4
-1
-4
6
0
-52
0
-30
-8
1
-13
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
33
0
15
0
0
-27
-68
0
-42
86
0
-1
-17
4
0
-1
-50
-5
0
24
29
0
-9
-19
1
0
7
41
0
-5
7
-5
0
3
19
0
-119
23
0
0
0
-47
0
0
-3
-15
0
0
33
0
-31
29
0
36
0
-41
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
5
17
0
-4
24
0
0
0
-8
0
0
0
0
0
0
-39
0
-1
22
0
0
29
-12
0
8
-4
1
1
0
-11
0
-4
0
0
-8
7
63
0
14
-1
0
0
-3
-39
0
10
-3
0
-8
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-10
0
0
0
0
16
-75
1
5
15
0
-4
0
-63
0
0
27
1
0
-21
-4
-9
21
35
0
-3
30
-14
0
4
-13
-5
31
-10
-47
0
-9
-6
0
18
1
11
0
-4
21
4
-4
1
55
0
43
0
0
11
0
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-18
19
0
9
0
3
28
-7
77
11
0
0
15
35
0
-44
-140
-19
0
18
25
5
-54
6
-25
0
6
8
-7
-9
38
-128
0
-35
2
0
-90
45
-3
0
1
-13
3
21
8
-80
0
5
-46
-4
-17
32
0
0
0
11
-41
25
21
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
12
0
0
0
0
8
0
0
-2
0
0
0
3
0
-4
0
0
0
0
-10
0
-4
8
16
17
0
22
0
5
0
0
0
0
-64
0
0
0
0
0
0
21
0
5
0
0
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-20
-14
5
-100
-101
-6
25
38
36
33
38
-5
56
2
33
28
-14
-42
-50
48
-17
-29
-22
-22
-5
-27
-76
8
-13
27
-45
8
-39
6
-1
-134
-79
11
8
-59
-18
-8
-63
4
-21
39
22
-2
20
18
-27
37
-74
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
15
2
-21
51
7
4
110
14
11
-27
-1
-66
8
21
-5
-16
35
-24
3
23
-21
-24
20
-79
-19
-40
8
50
23
22
34
28
2
3
-24
-22
-1
18
38
27
-13
1
19
-3
44
-12
-1
1
0
19
-54
3
0
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
20
-41
-10
-2
0
0
-96
0
7
6
-6
0
2
13
-1
31
54
-2
0
-23
51
-2
-3
-4
24
0
-1
40
0
-12
-16
60
8
0
-27
0
1
5
-1
5
0
-3
0
42
0
0
-8
0
59
10
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-34
2
27
-2
0
13
8
-10
0
13
-1
-12
-3
-6
47
14
-2
-51
-2
0
-20
-29
0
-24
29
-97
0
2
-8
0
-27
34
3
-2
-8
54
0
-7
6
-42
30
0
-23
0
-71
-10
0
0
0
-49
55
7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-80
-2
14
-29
0
0
19
-20
-1
4
-9
0
0
33
17
0
83
62
0
1
0
58
0
0
43
-19
-5
0
40
0
15
14
0
0
0
4
0
1
-1
0
-2
0
-22
0
6
-1
0
4
0
-33
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
38
6
0
0
0
47
0
0
0
0
0
0
-3
0
-2
8
0
0
0
90
0
0
-1
0
0
0
48
0
-1
0
0
0
0
62
0
0
0
0
0
0
42
0
-8
0
0
0
0
-65
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
36
0
-10
-28
-4
0
-5
-6
0
-28
42
8
0
2
5
0
-12
-28
37
0
12
31
-3
-142
8
4
0
7
26
3
-3
4
22
0
0
37
0
-72
-1
0
-3
0
63
-13
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-8
-61
13
49
75
31
6
7
-2
-14
-58
34
61
6
-43
-59
4
-8
0
12
3
-60
20
25
-23
-32
87
-19
-51
35
18
-40
49
-12
13
-41
-40
-169
-91
-62
-74
8
36
-70
11
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
14
47
13
0
1
27
0
-61
-22
38
0
0
-49
12
0
39
-9
0
0
-36
0
-62
4
-5
-5
0
-88
0
-2
-15
-3
1
0
11
0
74
10
0
3
0
-100
4
2
0
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
32
-30
-24
21
41
21
63
11
47
29
-22
103
-5
-11
-20
-20
-36
14
75
-47
-43
-14
10
4
-40
51
-23
-77
-6
-6
67
-69
-24
-50
-6
-6
-4
25
-41
-19
-40
0
72
-50
0
-5
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
2
-55
-16
-118
72
12
31
24
32
30
29
35
-10
-16
66
-1
-47
-33
-44
44
18
-61
-2
-112
76
-3
-14
-13
0
-1
64
16
-27
-42
24
30
-3
51
-7
6
24
0
-63
2
-50
1
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
0
47
0
4
22
-13
0
-14
-28
0
0
0
-11
0
0
42
2
0
0
-76
0
16
-1
0
0
0
-67
0
0
-9
2
0
0
-12
0
-41
0
0
8
0
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
7
-10
0
0
0
-8
0
13
4
0
0
0
26
0
0
1
-2
0
0
0
0
14
-29
0
0
0
-15
0
0
-7
-3
0
0
-3
0
-27
-7
0
0
0
-44
12
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-23
-18
-53
75
12
-16
-11
-21
0
6
-26
172
-32
1
28
-8
-31
-1
-3
17
5
-2
0
5
-53
-24
12
-1
9
-4
-44
10
6
-78
0
18
3
42
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
61
2
52
8
14
9
6
18
-2
16
-14
-50
-29
-13
6
-39
21
-17
-42
-40
23
41
-43
-24
9
-33
-114
4
-37
-21
-19
-39
-8
12
7
-4
33
-24
-18
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-51
-4
12
-7
-4
0
-13
-53
0
2
-21
2
8
1
-5
0
3
-8
0
0
0
104
0
0
0
-8
0
0
12
0
40
-10
1
0
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
-3
-14
-48
77
-6
-3
8
0
7
-113
-19
5
-77
-34
0
31
35
39
-14
13
-54
1
0
-41
-70
-8
2
-27
2
-26
17
4
33
0
6
-4
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
4
35
-6
-53
26
-200
-24
-65
-1
-77
-28
-10
-11
4
33
-7
54
-45
26
-3
41
2
-1
42
89
59
6
4
-12
17
-20
-5
7
-6
34
29
-6
-13
-88
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-24
0
6
65
0
20
-12
-19
2
-15
-53
6
-7
4
-60
0
-76
-48
-7
-30
4
-17
0
2
-114
0
18
0
-23
0
29
-4
7
64
-2
8
101
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-45
72
0
0
-22
0
0
-7
-61
1
0
-2
11
0
-78
8
0
0
0
-43
0
-2
5
-2
0
0
-21
0
-1
0
0
0
0
97
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
38
-5
-34
-19
-55
23
18
22
-4
-71
-2
0
54
-1
28
5
-29
-95
20
-45
0
-4
-3
-85
38
17
-12
-1
11
-57
2
25
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
-96
-30
6
-6
52
22
33
-92
-17
5
-62
-36
19
3
-10
-12
-7
-6
8
-52
5
-33
7
11
42
-20
-39
15
10
-1
-24
-12
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
36
0
-60
-2
25
0
0
-26
0
-37
-2
-1
-3
0
-94
0
0
27
-7
5
0
0
0
-37
-3
0
0
0
18
27
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
-9
-17
-73
45
65
28
-36
-34
8
96
27
-18
-28
-28
-2
-1
46
5
-46
-13
-2
-23
-25
13
45
4
-41
0
2
-4
19
17
-47
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
52
-14
-73
-21
52
32
8
24
52
-29
-37
17
55
-49
19
5
36
-79
-102
-55
-5
4
-1
-22
-43
-1
-35
-3
13
-100
14
-2
39
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-63
-7
5
57
-23
-6
0
36
6
-37
16
0
14
8
-37
0
-1
2
3
3
0
-12
0
-9
0
0
27
0
20
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-6
2
12
-75
-2
0
25
-42
0
-38
-51
0
0
0
-43
0
1
-50
24
0
0
-59
2
36
0
0
0
0
-52
-3
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-28
3
-29
-46
-8
-56
0
-2
0
-6
-33
-69
48
0
-23
0
41
-72
-9
-18
0
-16
97
0
-1
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-3
-43
-34
17
-42
-21
16
18
14
-38
-28
-8
-11
4
10
-37
-2
-49
7
33
-32
-4
-34
-61
-65
-12
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-39
0
24
2
0
0
-2
42
0
0
-13
-1
-2
0
30
0
42
-6
0
0
0
-24
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-34
-3
17
82
3
29
13
41
20
9
-110
-89
-15
42
20
0
-47
20
1
-25
0
-28
14
-4
15
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-7
-23
36
-31
-33
-89
9
13
84
-68
-12
15
29
-19
-9
11
41
-4
-4
68
15
119
15
-10
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
26
0
-35
25
-9
-8
-19
-39
0
78
48
-6
30
0
-1
1
3
35
0
36
0
2
-19
-7
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
19
0
-10
-29
0
0
0
43
0
-8
30
-9
0
4
2
9
18
-5
-8
0
0
35
19
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
21
8
-88
36
0
0
0
2
3
0
-4
0
-42
-14
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-21
-6
-16
-28
6
65
-50
8
92
5
-28
-21
51
68
0
-25
2
13
-65
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-8
0
-2
0
0
45
0
9
2
0
1
0
31
-5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-20
-7
6
-3
-19
32
-2
-12
-4
43
61
-28
11
-5
-13
-105
-31
-2
28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
12
21
-8
16
4
59
0
-4
-1
6
-3
6
-90
0
-32
-21
-16
-2
-46
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
1
-28
-5
16
0
0
0
40
-1
0
-1
0
-73
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
9
28
0
0
0
-4
-1
-48
-24
-5
0
0
9
60
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
0
-41
-4
-19
17
0
50
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
58
-29
18
16
16
-40
-2
-17
92
-14
-21
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-16
0
0
0
0
108
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
0
19
-25
0
1
-8
-41
-61
-8
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-17
-13
-6
5
-51
-11
32
-18
78
13
-1
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-25
5
19
-8
-2
12
0
11
-12
2
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
6
-6
17
0
0
0
-19
-46
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
11
42
11
-22
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
27
18
2
-182
61
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-27
-14
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-41
9
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
-2
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-32
0
0
-13
0
0
0
0
0
-8
1
0
0
-8
-8
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-9
0
0
-14
0
0
0
0
0
-12
-3
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
2
0
0
0
-2
0
0
-29
0
0
0
0
0
0
-17
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
-5
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
5
6
0
0
-6
13
0
0
-51
0
0
0
0
0
0
9
1
0
0
0
0
4
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
19
0
0
-4
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
24
0
0
0
18
0
0
28
0
0
0
-3
0
0
22
0
0
0
-22
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-78
0
0
-8
0
0
23
21
0
20
33
0
0
-62
11
0
0
-14
0
0
-27
42
0
0
-18
4
0
2
-56
0
0
0
0
0
0
35
0
-2
1
0
0
0
9
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
5
0
0
0
0
0
21
0
14
10
-6
0
-5
-17
0
0
-62
0
0
0
31
0
0
34
0
0
-2
35
0
0
8
0
0
0
-19
0
0
-14
-9
0
0
-55
0
0
-8
0
0
0
-21
0
0
0
-5
13
0
-61
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
-12
-5
0
0
19
-43
0
0
0
-3
0
0
-44
0
-22
-5
0
0
1
-39
0
0
1
0
0
0
1
-1
-8
0
0
0
0
-46
0
0
0
0
0
0
48
0
1
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
10
-28
-54
9
-59
-40
24
-23
4
-17
14
-1
9
56
14
24
89
87
18
-22
-54
7
25
6
53
32
15
-18
4
28
-26
-79
6
46
-32
62
25
-37
-18
-5
17
-35
19
35
5
-3
-11
-14
-12
-29
-39
4
-51
-44
-23
-47
-9
24
24
-34
56
-1
42
-10
45
42
-12
-17
1
21
0
0
0
0
0
0
0
48
15
75
47
51
-22
10
6
16
-12
35
19
20
-21
12
45
-25
-3
-1
-8
1
-19
26
-29
12
-19
13
-22
12
31
64
-73
0
-2
1
-64
-17
-16
-57
-27
-3
14
-24
-1
11
21
9
28
22
11
4
16
49
-8
-8
-15
17
-1
53
14
16
-1
-42
26
18
-36
-36
34
-9
-3
19
2
-84
20
13
-10
-6
-23
4
52
-64
-1
11
5
17
2
28
-3
-9
-1
30
-24
-1
13
-62
-25
22
10
-39
6
6
1
-16
29
-33
-95
-4
19
-26
-53
61
-7
-20
6
46
-33
18
9
6
-18
15
28
18
11
24
-7
-1
5
-44
77
28
12
-11
-12
0
-25
6
17
52
23
-3
-1
44
7
-2
-2
15
17
1
-21
1
-23
31
-5
-33
-7
-64
15
-15
-12
2
-46
3
21
36
-28
-21
-45
-39
4
-5
25
13
-9
-45
41
21
32
26
56
-24
34
-35
-12
-44
22
16
35
-9
34
6
67
10
24
-11
78
21
0
-15
-31
-16
-9
-20
16
-8
-54
-41
32
-5
9
2
10
10
81
-45
-5
-10
-4
-5
-25
-7
3
17
8
14
-17
8
-41
-42
81
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
3
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
2
0
0
0
-8
-24
0
0
-3
0
0
0
-1
0
0
-5
0
0
0
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-1
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
7
0
0
0
1
0
0
-42
0
0
0
5
0
0
43
0
0
4
0
0
4
-9
0
0
0
0
0
0
0
3
0
0
0
0
-10
0
0
0
-5
0
0
-10
0
0
52
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-35
-4
0
0
120
23
0
-58
-4
0
0
-9
0
0
-8
0
0
0
1
0
0
-1
-4
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
46
-16
13
0
0
0
-2
52
0
0
0
0
0
22
15
0
23
-17
0
0
-21
27
0
0
-13
0
0
28
100
0
0
-17
-17
0
14
5
0
0
7
0
0
0
-19
0
-50
0
-6
0
0
-25
0
0
0
0
3
0
36
0
-4
0
4
0
0
23
0
0
0
0
0
19
23
0
0
0
0
0
2
-25
0
0
-19
0
0
0
-46
0
0
23
-7
0
51
-10
0
0
5
0
0
-2
-64
0
0
-2
-8
0
-2
-45
0
0
-5
0
-3
0
22
0
0
0
0
11
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
20
0
-46
0
0
0
0
3
0
0
0
-4
0
0
-16
0
2
0
0
0
0
-3
0
0
0
8
0
0
56
0
4
3
0
0
0
29
0
0
0
-1
0
0
20
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
5
0
0
0
0
0
0
-39
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
-37
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-46
0
0
0
20
0
0
-50
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
5
-6
4
0
0
0
0
-111
0
0
0
0
0
0
0
0
-1
0
0
0
23
14
0
0
-8
0
0
-2
14
0
0
5
0
0
-2
-24
0
0
3
0
0
0
-13
0
-24
0
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
8
-10
0
0
-4
-63
0
0
-2
0
0
1
-29
0
0
-3
0
0
2
-95
0
0
-8
0
0
0
10
0
0
0
0
0
0
11
0
0
-2
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
-9
0
0
0
0
15
0
0
0
0
0
0
8
0
0
1
0
0
0
-16
0
0
1
0
0
0
13
0
1
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
42
0
0
0
0
0
8
35
0
0
0
0
-9
5
0
0
3
-2
0
0
0
0
0
0
0
0
-12
6
0
0
39
-6
0
-33
0
0
-2
-94
0
0
-33
-15
1
0
-44
-25
0
2
-18
0
0
0
0
0
2
0
0
0
0
-7
3
0
0
16
0
0
0
0
0
60
2
27
0
0
0
-14
93
0
0
53
0
0
32
15
0
14
-88
17
0
-4
12
0
-1
-22
-3
0
34
36
0
0
9
61
0
28
-51
0
0
-33
0
0
-9
-1
0
-106
77
-37
0
0
-20
0
0
0
0
0
0
8
-31
12
0
0
0
0
67
11
38
0
0
0
-9
13
0
-4
62
-22
0
40
25
0
0
9
0
0
15
44
0
0
-34
0
0
53
-15
0
0
4
-2
0
-2
19
1
0
-50
-16
0
-1
-9
0
0
7
0
0
0
-12
0
0
-23
23
0
0
8
0
0
0
0
0
0
-58
29
-2
0
3
0
0
16
0
46
6
0
0
2
24
0
-5
22
0
0
-3
-32
0
-68
108
0
0
0
-43
0
-8
12
5
0
0
-32
8
1
19
6
0
0
-13
0
-2
4
0
0
0
23
0
12
0
0
0
0
-63
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
10
5
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
-23
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
17
0
0
31
0
3
41
-18
0
0
-7
0
-1
0
0
0
0
-6
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
22
5
0
0
0
0
0
-22
0
0
0
0
0
-5
-4
0
-38
-4
0
0
-13
-21
0
0
1
0
0
8
-95
0
0
66
0
0
-9
16
0
0
7
0
0
0
2
0
5
2
0
0
0
47
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
4
0
0
0
0
0
54
0
2
-5
16
0
-5
87
0
0
5
0
0
1
-67
0
-3
-5
-8
0
-4
-45
0
0
-9
0
-5
-3
-101
0
0
6
0
0
0
37
0
0
-7
0
0
0
13
0
0
0
-3
-1
0
-50
0
0
0
0
0
0
-32
0
0
0
6
0
0
-41
0
1
0
0
0
0
-26
0
0
0
0
0
0
21
0
7
1
0
0
0
24
0
2
-1
0
0
0
20
0
-2
3
0
0
0
16
0
0
-8
0
0
0
-65
0
-6
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
1
0
0
-11
0
0
0
0
0
-5
-2
0
0
0
0
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
-44
9
0
0
29
-8
-3
59
0
0
0
13
0
0
27
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
0
0
0
0
0
26
0
0
0
0
0
1
0
0
0
30
0
0
0
7
0
-53
-13
0
0
40
19
0
0
-42
0
0
-12
-51
0
0
-4
4
0
-7
20
0
0
-5
0
0
29
-2
0
59
0
-5
0
0
1
0
0
0
0
0
0
36
-1
0
0
0
0
0
77
0
0
0
0
0
1
0
0
0
5
0
0
0
-52
0
0
31
0
0
-29
-23
0
0
-12
0
0
13
31
0
0
-2
0
-13
-7
-14
0
0
-1
0
-2
0
41
0
0
-8
0
2
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
-3
0
0
0
-2
-12
0
0
0
0
0
0
-14
0
-18
0
0
0
0
7
0
-10
-2
7
0
0
28
0
0
0
0
0
0
-8
0
0
0
12
1
0
-17
0
0
0
0
-1
0
48
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
0
0
78
0
0
0
0
0
-3
-15
0
0
0
0
0
8
3
0
0
0
0
0
7
0
-6
0
0
0
0
0
0
0
0
-13
0
0
-1
0
0
-19
0
0
0
0
0
18
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
101
-3
2
-6
0
0
0
12
0
19
0
3
0
0
-33
0
6
-6
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
33
0
9
0
0
0
0
-85
0
0
0
0
0
24
-40
0
13
0
0
0
-25
59
0
-3
41
0
0
28
-66
0
0
-1
34
0
6
13
0
0
-2
0
0
0
-33
0
11
-4
0
0
0
30
0
0
0
0
0
0
-20
-6
0
0
0
0
0
24
1
0
0
0
0
-2
-66
0
0
0
0
0
-8
7
0
0
4
0
0
0
17
0
0
7
-8
0
0
-19
0
0
5
0
0
0
43
0
0
-8
0
0
8
-9
0
0
12
0
0
0
-7
0
0
4
0
8
0
72
0
0
0
0
0
0
-56
-18
0
0
0
0
0
0
0
-5
0
0
0
0
-74
0
0
-8
0
0
0
-88
0
-3
6
3
0
0
-31
0
0
-10
0
0
0
24
0
-5
0
0
0
0
-37
0
0
0
0
0
0
29
0
18
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-46
-36
36
1
9
40
15
35
-1
-37
7
45
-4
25
69
47
-61
-22
26
20
3
-15
39
-19
67
42
15
35
-12
27
-11
-7
37
30
-25
-23
59
-8
-63
-17
6
-3
-21
-3
-22
-51
-62
36
10
5
39
-17
28
-47
-104
-41
-10
18
-44
-35
-3
-42
0
0
0
0
0
0
0
-11
55
42
31
-20
6
-1
18
1
30
11
32
-15
-2
43
11
30
0
2
-5
9
-14
38
16
-13
2
69
3
3
-4
-62
7
-25
-2
5
-29
-91
-3
-5
-9
-1
21
20
4
26
-71
-10
-16
-23
-23
5
51
7
-10
-22
62
-8
-7
-103
-160
-20
15
27
4
4
3
43
-1
2
-21
0
-2
-25
-43
0
-3
66
20
0
8
7
16
39
-21
-1
-2
22
0
0
6
24
-50
-9
2
-17
-69
9
25
-30
3
10
-19
-6
6
38
-30
16
17
-18
49
-37
14
14
-2
-25
5
-17
22
47
-17
-13
-59
-61
6
-26
-32
-33
6
40
0
-2
-8
-19
5
0
-3
-2
-10
-32
-8
-6
2
-61
-55
11
1
50
-16
1
-3
42
-10
26
5
-47
-4
-45
-27
19
4
8
-45
-1
18
-82
44
53
24
-149
19
39
-46
46
-5
-20
18
-29
-11
-90
-36
-34
3
18
-20
16
-32
-25
-30
-17
-23
-17
-43
-23
-14
2
-48
-44
6
30
8
-15
5
30
15
2
-50
-16
-23
46
36
33
-5
-9
2
-6
-2
14
-17
3
16
3
37
-47
-22
-21
-1
46
27
64
6
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
14
0
-85
0
0
0
0
0
0
-3
0
-4
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
16
0
0
0
0
0
-42
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
-1
5
0
0
4
0
0
59
1
0
0
-5
0
0
-1
0
0
0
-3
0
-9
-1
0
0
0
2
0
0
0
0
0
0
2
0
24
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-2
28
0
0
0
0
0
-21
35
0
-16
-3
2
0
7
28
0
0
13
0
0
-1
-12
0
0
-1
-6
0
-6
-34
0
0
-5
0
0
0
25
0
-5
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
1
0
0
0
0
0
17
0
0
0
0
0
-1
-21
0
0
-3
0
0
-2
64
0
0
6
0
0
0
-17
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-83
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
0
0
0
-36
0
0
-2
0
0
0
-9
0
0
0
0
0
0
29
0
-4
0
0
0
0
-9
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
29
85
12
0
28
-25
1
51
15
0
0
-57
-25
21
-4
4
33
0
42
24
0
-3
-6
-6
6
-95
49
-4
-2
29
-22
0
-5
7
0
-2
41
-4
0
0
6
-7
0
0
0
0
0
30
24
0
0
0
0
29
36
-37
-1
-10
18
0
0
0
0
0
0
0
0
6
9
16
0
18
0
0
3
-129
17
6
-66
-30
0
38
-49
0
-10
-29
-52
0
-35
26
-5
5
-39
28
0
-66
19
14
-3
-50
-49
-4
0
15
11
0
3
-2
0
-1
-24
14
91
13
-42
0
46
-73
66
11
-50
13
0
89
52
0
12
79
-7
0
-14
-13
4
-5
1
-18
0
64
13
5
10
-16
-37
0
9
14
-1
0
-35
-67
0
-19
-16
0
19
-15
17
0
-74
-23
5
0
14
-27
0
-2
-20
-32
2
-1
-22
0
8
25
-29
39
-1
9
2
23
-30
3
-53
-40
28
0
-48
22
9
50
52
51
0
28
-4
3
100
76
-22
0
100
11
-7
43
-20
14
-7
12
6
0
-7
12
36
4
-22
-5
0
-5
-3
59
0
-9
-33
-3
22
-1
-52
-3
1
-15
-32
2
0
66
0
0
20
42
4
18
-9
0
6
-18
-8
-26
-42
-8
0
68
26
-7
-16
25
95
0
-8
-19
-3
59
42
-1
0
-44
19
-1
28
45
37
0
-62
-21
0
-25
-50
0
0
-74
-12
0
12
48
-27
0
-22
-17
0
42
-63
-7
0
0
27
11
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
24
-41
28
0
18
21
26
97
-13
20
12
-92
-44
-50
-6
-2
-1
-1
-41
12
14
-3
-1
-7
5
-43
0
47
-5
-11
0
1
-118
7
0
-28
0
0
0
17
-2
62
11
-2
24
-3
3
20
17
-10
20
-19
29
-6
0
0
0
0
0
0
0
-25
42
8
9
64
29
-1
-120
-75
68
-4
-16
-4
-63
-32
-22
0
-4
-25
-16
-88
-48
20
0
2
-84
-2
-61
-8
56
0
0
29
-4
-38
0
-4
-3
0
5
0
-150
0
-18
24
36
31
-52
-1
-33
6
85
0
-23
-3
0
-61
-74
39
32
4
33
0
-10
70
-1
90
5
7
3
-20
0
-5
43
3
46
-41
6
-60
3
-7
-76
-2
-2
-31
19
0
-35
-71
-4
-15
10
31
0
-1
-41
-4
-34
0
-12
53
-78
0
47
17
4
-25
85
-5
5
-8
3
51
-7
7
21
20
-40
-1
-110
10
45
91
6
-2
2
-13
-2
-46
-42
-24
4
-42
13
-22
-43
80
-57
-35
-32
-39
-8
14
-11
-19
-7
63
5
-3
6
0
-16
12
-23
-13
-61
0
-4
-5
-17
15
0
1
0
-3
0
13
42
0
4
-119
16
-4
-2
5
8
-61
4
6
-16
86
5
-67
29
-3
61
-110
61
-8
9
-10
-20
-16
-14
62
5
33
-46
15
25
-56
55
27
8
-1
6
-44
-83
-8
-40
-8
-2
-5
-5
-37
19
19
0
5
-5
-10
-18
-21
-13
0
-48
-17
0
-10
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-1
-16
0
0
5
0
8
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
23
0
0
0
0
0
6
95
0
0
0
0
-10
0
0
0
-31
-8
5
0
0
0
0
0
0
0
34
5
1
-1
-43
3
0
-65
10
0
0
-3
0
0
4
-5
0
0
-8
0
-2
0
4
0
0
-9
0
-3
0
5
0
0
0
0
-106
0
0
12
0
0
0
8
0
20
14
0
0
0
0
0
-2
0
0
5
0
0
-1
0
0
44
-1
-1
0
42
-15
0
-8
-10
0
0
-27
-82
0
0
21
-22
0
-1
-100
0
0
-19
0
0
0
-98
0
-12
13
-4
0
0
43
0
0
0
0
-1
0
25
2
0
0
-10
0
0
10
0
0
0
0
0
0
-53
0
3
59
9
0
-43
0
1
10
-35
0
0
14
39
0
0
-48
-10
2
-12
-43
0
0
-7
0
0
0
-28
0
0
7
30
0
0
0
0
0
5
0
0
0
-15
0
0
5
0
0
0
-25
0
0
0
0
0
0
-64
0
0
0
0
0
0
26
0
1
-9
0
0
0
0
0
2
12
9
0
0
-59
0
-42
-1
0
0
-4
36
0
5
-1
-3
0
-8
-6
0
0
0
-2
0
0
-28
0
0
1
0
0
0
21
0
-5
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-4
0
0
0
0
-5
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-31
0
0
-2
0
0
-76
0
0
0
0
0
7
30
0
0
0
0
0
10
0
0
-22
-12
6
0
0
0
0
0
0
0
-21
17
0
2
-81
1
0
-48
-2
0
0
-2
0
0
-4
-5
0
0
-7
0
0
-9
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-7
16
-1
-5
0
0
0
-58
0
-2
-5
0
0
8
36
0
-32
0
-3
0
13
-63
0
0
-1
0
0
-5
-27
0
3
10
33
0
-9
17
0
0
-3
0
0
0
-4
0
-27
0
-5
0
0
-7
0
0
0
0
0
0
-28
0
7
0
0
0
0
-11
0
-1
0
0
0
0
21
0
0
6
0
0
-23
13
0
0
-8
1
0
-5
-30
0
0
-3
32
0
-5
-6
0
0
-5
0
0
-1
-24
0
3
-13
-1
0
0
5
0
0
-2
0
-1
0
-19
0
0
-1
0
-2
0
9
0
0
0
-1
0
0
25
4
1
0
0
0
0
-2
0
18
1
0
0
0
63
0
0
-5
3
0
0
-30
0
0
-1
0
0
2
15
0
0
5
0
0
0
54
0
-2
4
0
0
0
65
0
0
0
0
0
0
13
0
8
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-8
-1
-10
24
1
-1
-24
71
5
3
101
-31
-14
-10
40
-6
0
0
-4
22
48
28
-6
10
-5
-7
-26
0
-3
0
8
0
0
-34
0
0
-19
0
0
0
-15
5
-41
39
0
0
-5
0
72
46
-2
-4
52
40
48
0
0
0
0
0
0
0
23
55
-5
10
30
16
-29
-59
-8
30
-5
-43
24
96
5
2
0
-2
70
34
14
-23
6
0
0
30
0
36
-4
-7
0
0
-3
13
-19
0
0
-5
0
0
0
17
0
44
-20
83
-6
15
0
14
17
20
-7
1
0
-1
-37
-34
-9
42
-35
22
0
-68
-84
-7
30
-41
-8
-4
-35
39
8
0
33
40
-25
1
9
-2
22
-81
-13
25
-28
7
0
-24
35
28
26
-4
-9
-12
0
-7
0
-41
0
8
68
-4
0
-7
3
3
44
23
2
0
0
5
-37
27
-70
22
-24
-17
2
-60
-52
-16
-1
-26
3
0
-60
-45
8
-13
-68
-11
-7
-114
20
-19
-8
-30
9
12
32
-40
2
13
64
39
-42
-7
14
-1
0
20
27
67
-1
0
-4
0
33
65
-25
0
29
49
12
0
0
-2
0
38
45
0
0
-2
-1
-13
60
8
-38
0
15
0
32
-49
0
-12
5
11
0
-17
-9
14
-4
5
5
4
4
-6
-1
5
34
-48
0
1
1
0
-84
-4
-1
7
20
17
0
0
98
-21
-15
-8
-30
0
84
2
62
27
0
31
3
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-27
-26
-20
-64
29
-33
-38
38
51
75
34
-40
-7
-6
-7
46
28
-21
-52
-12
7
-30
15
-17
-15
-25
-5
43
-24
1
-16
10
6
-44
0
2
-3
-1
0
15
23
-8
-2
63
4
-15
-6
-2
-37
-79
-91
6
-55
-15
-66
0
0
0
0
0
0
0
-13
9
58
-21
-104
25
1
-22
-12
-24
-11
-28
-4
-22
-34
-40
-5
61
6
39
-4
-29
-76
0
-24
-19
-10
5
32
10
-1
-1
8
8
-9
1
17
-25
0
1
-34
26
-3
1
24
-96
1
-27
-1
-4
-2
-5
0
-44
0
-1
-7
3
-7
19
18
3
-13
5
4
-38
-37
-20
-44
13
-11
-8
53
-13
16
34
-35
-21
-11
9
20
7
-43
-66
-45
-19
-50
3
-10
6
-17
-17
-11
-12
-13
9
24
-1
-3
-1
15
0
-7
50
0
-11
-11
-17
-30
3
-5
31
-10
-34
26
-89
0
1
39
-3
-5
-76
74
11
22
6
-7
-16
44
-69
-18
-6
-24
10
-15
18
34
24
2
6
30
-15
23
34
23
3
-3
-21
-17
-16
2
-11
-60
14
-43
3
3
-17
-6
9
17
0
-1
13
-17
-30
39
20
-13
8
-35
38
-25
-51
-34
34
-41
42
-42
21
23
58
9
-39
-17
-34
82
18
13
53
13
9
-18
-32
-3
-92
62
-14
118
2
-20
12
-20
-2
-6
53
33
4
-54
24
27
-20
-4
79
43
-4
-6
-21
4
3
-2
4
-4
-7
-4
0
80
-14
-46
-6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
25
22
-5
-27
0
-21
-73
42
8
-5
-16
2
-47
-46
-42
-2
-1
-1
0
-38
-25
-74
-1
0
-13
0
2
0
-5
0
3
0
0
-68
0
-12
-1
0
8
0
-17
-7
-82
-21
7
0
0
0
47
8
41
-2
55
-1
26
0
0
0
0
0
0
0
-115
28
34
3
-87
0
-44
-34
0
0
-4
-57
0
-15
-47
37
0
-17
-22
0
29
-38
-78
0
0
-45
0
32
-15
-37
0
-1
0
0
26
0
-6
-60
0
-4
2
-13
-2
16
-75
40
-42
0
0
95
15
0
2
-16
0
1
20
-3
1
-17
-1
-1
9
10
13
0
13
-15
0
29
-29
-105
-1
-5
-54
-3
47
60
-19
0
102
15
7
-23
-22
-4
0
-22
13
0
-8
69
-3
0
-5
61
0
4
1
-17
-40
-7
0
0
1
10
-8
-40
1
15
0
2
-32
3
26
-2
-42
0
0
-4
19
-14
-3
9
-5
7
25
5
-9
26
-9
-13
-1
-31
4
8
-70
-31
13
-57
58
-58
0
8
-1
1
3
-21
7
0
-7
23
3
42
60
-7
-4
-6
22
-3
-17
0
-24
0
0
9
0
60
0
-6
8
6
-2
0
0
25
38
4
42
-57
0
3
33
-38
-1
-30
-13
0
-4
61
25
-8
13
32
-7
-8
60
-8
-1
37
-40
5
-51
-48
-2
-2
-55
39
0
1
66
28
14
4
62
4
-38
31
-12
8
-37
26
0
19
2
-5
45
13
-4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
8
-1
0
0
0
0
30
8
-1
0
-5
-1
0
-12
78
2
0
0
0
0
-2
-17
-6
0
-16
9
0
0
13
0
31
1
0
0
0
0
-58
0
0
0
0
0
-3
-9
0
0
0
0
-2
-9
3
0
-71
-47
0
0
0
0
0
0
0
0
15
-32
-3
0
-6
-29
0
-56
-41
8
0
-86
0
0
-61
-12
17
0
27
-4
0
-43
-12
0
0
1
0
0
0
5
0
0
-3
-8
-19
0
0
-10
0
-2
0
-7
0
-5
-13
11
-1
-7
0
34
20
0
0
-42
0
0
15
-88
0
18
-11
-24
0
-118
-35
0
53
-145
8
0
-52
5
0
0
-11
10
0
-43
-65
1
0
-73
-12
0
-25
-25
0
9
-37
-8
0
0
-89
0
0
15
0
0
0
-15
-35
69
9
-1
0
0
7
4
0
0
0
0
15
-51
-32
2
15
14
0
1
46
0
24
-32
0
0
-15
4
13
-1
35
35
0
29
29
6
0
31
0
0
15
-40
8
28
-33
-15
0
-34
-21
0
-3
6
0
0
7
40
0
-19
5
-7
0
0
-38
-5
0
0
0
0
0
-1
-16
0
-1
0
0
0
-55
-7
-36
44
0
0
-5
64
0
10
-37
48
0
18
-10
6
52
61
0
0
-21
35
4
-44
-20
-3
0
-12
18
2
-19
-18
3
0
1
-41
0
0
19
8
0
0
27
0
-75
-1
0
0
0
-61
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-60
-1
-2
-1
-19
19
13
12
-8
-3
6
-50
-5
-16
15
-14
-46
-8
-17
-27
86
-4
-32
-25
-11
75
-21
-7
64
-11
-1
2
-25
-29
-27
6
-56
-30
25
28
-62
-28
-6
95
24
29
27
-104
0
0
0
0
0
0
0
-39
-42
-106
-83
16
-40
107
14
-28
-57
-71
-61
-33
14
-58
-30
36
-32
-17
-17
-11
-5
-8
-6
22
-39
-47
7
-25
-35
51
4
-37
4
-14
-29
-58
-56
-17
-25
-13
9
-15
16
-90
-69
-5
14
4
-43
9
12
23
27
41
-5
-32
14
9
0
20
16
5
-17
8
-12
-41
-15
-19
-39
-8
-13
35
-44
-15
-25
33
-25
-3
44
23
-19
-6
12
4
0
13
-9
-25
5
9
32
-10
-71
-74
-28
-27
-19
-2
11
-13
10
-48
-14
-21
15
9
-7
43
-35
-24
-22
-15
16
-2
15
-37
0
19
27
26
-34
-34
14
77
-9
5
-2
8
0
18
25
48
18
-16
-92
-62
8
56
-34
28
-16
-44
-47
-17
-7
23
2
-9
-44
88
-8
-22
4
-4
-20
-52
-70
-31
8
-7
-27
-36
-10
-25
-66
-3
-1
32
-10
-24
-20
5
-4
27
42
2
-43
-52
-19
-2
43
59
-31
-80
-25
-8
-9
-11
-53
-1
-41
-37
-15
-37
-7
2
-20
-69
25
21
5
-33
-10
-21
-48
5
-12
-19
23
-5
-12
19
38
-11
-12
-10
12
-3
-49
30
-52
-32
-5
-2
-46
-2
81
-1
38
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-28
0
0
-40
0
-5
-41
44
0
0
-10
0
-1
0
-5
0
0
0
-6
0
0
0
0
-40
0
0
7
0
0
-27
0
0
0
0
0
27
-119
0
0
0
7
14
49
12
0
0
-51
0
0
0
0
0
0
0
0
-80
0
-1
-15
-53
-30
-11
-55
-57
6
-8
-97
1
10
-24
16
0
0
40
-7
-9
-24
-33
0
-1
-3
-2
30
-2
-5
0
0
0
1
-84
0
0
2
0
0
-1
13
1
-1
-43
8
0
-24
0
-63
30
-2
0
9
0
0
-46
8
18
95
8
71
0
-46
0
13
-8
77
-6
4
-35
-33
1
0
-42
2
7
-46
-34
-4
0
-11
0
4
-2
10
0
-25
-5
65
0
0
-33
0
0
-2
7
1
0
25
-10
0
0
-4
0
0
26
-4
9
-3
0
0
-14
19
0
-26
-96
18
0
-69
36
-8
-2
18
3
-1
-105
0
0
-5
-6
6
20
-34
-7
-1
-2
-31
13
2
15
-9
0
5
-79
2
0
3
-17
0
5
-36
-3
-23
8
-42
0
-3
-57
13
-14
0
29
0
0
0
12
-2
0
-8
8
1
0
0
0
0
21
0
23
36
-6
2
-8
34
0
-6
75
-8
0
-20
0
1
-85
-67
0
0
-24
29
0
3
-37
-87
0
-5
5
4
-15
11
0
0
-1
-83
0
17
-3
2
0
0
26
0
-20
10
0
2
0
-45
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
42
0
0
-1
-4
0
-14
-1
0
-1
-7
0
-1
0
-2
0
0
-1
0
0
0
0
0
-11
0
0
-4
0
0
-5
0
0
0
0
0
0
26
8
0
0
0
33
8
0
0
36
-6
0
0
0
0
0
0
0
0
-25
-35
-4
0
20
-20
-8
-16
-16
6
2
66
6
-5
27
41
0
0
-20
0
0
0
9
0
0
-3
0
8
0
0
0
0
-2
0
19
0
3
-4
0
0
0
-6
0
-24
0
0
0
0
0
19
-12
0
3
25
0
-2
44
124
-1
56
-3
46
0
-69
-46
-3
0
8
0
0
69
-48
0
-4
-74
13
0
-13
-20
0
1
-4
0
0
-3
-8
0
-80
-22
38
0
1
-33
0
3
10
-7
7
1
24
-3
8
0
4
0
0
-22
-4
0
0
0
0
-5
69
0
-24
29
7
16
1
97
0
0
-53
0
0
-19
-73
0
-1
-18
6
0
-77
-38
0
45
35
10
1
9
-82
0
-6
-20
-1
0
-8
-41
0
17
8
-5
1
0
38
0
-8
-2
1
-2
0
71
0
0
0
-3
0
0
-48
-5
8
6
0
0
0
-30
0
38
0
0
-3
-5
-2
0
0
-7
-2
0
0
66
-6
-53
-14
-2
0
-4
-57
0
0
37
-38
0
0
-24
0
47
7
0
0
0
61
0
-1
0
0
15
0
-85
0
-4
0
-2
9
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
0
0
34
22
10
46
30
0
0
0
0
27
0
22
0
0
0
-2
7
2
0
0
12
0
0
46
0
0
-23
0
0
0
0
0
-12
33
0
0
0
0
13
34
0
-2
48
-58
20
0
0
0
0
0
0
0
-5
17
-6
8
6
-6
1
23
5
0
-6
-22
0
0
-23
63
5
-3
-49
-3
-5
-66
1
0
0
24
0
-8
0
-4
0
0
0
-8
34
0
0
32
0
0
9
12
-5
8
-39
4
0
2
0
-4
-3
0
0
35
1
5
39
23
1
-75
-22
22
0
19
-78
0
0
48
8
0
42
-27
0
0
104
-25
0
-58
53
8
2
5
0
-7
3
-123
0
-6
18
8
-13
0
-39
0
0
-4
0
20
0
-13
43
-9
0
-6
0
0
41
23
6
0
3
0
7
-19
3
-6
71
8
8
-14
-83
0
3
5
0
29
-4
-39
-6
-8
86
20
0
21
-40
5
10
4
8
2
8
-45
0
2
156
-13
4
7
-11
0
3
52
0
18
0
-25
0
0
4
8
46
0
-52
-2
0
0
0
0
0
16
17
0
0
0
0
0
-44
0
-35
-7
0
-1
-8
-19
0
0
-17
5
0
12
-27
0
-10
-3
-1
2
-3
10
0
-10
-9
-19
0
-5
-56
-3
-26
-30
2
0
0
33
0
0
10
25
5
0
-47
0
2
0
0
47
0
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
8
15
-1
0
-22
2
-24
50
5
0
0
0
2
-1
4
-1
0
-2
0
8
0
8
0
-29
0
0
20
0
0
-20
0
0
5
-3
0
8
72
0
0
0
0
-75
7
2
0
40
-82
2
0
0
0
0
0
0
0
-11
-67
25
30
-49
27
3
41
-81
-12
0
35
-3
43
-42
38
0
-1
-48
0
-4
-6
-60
0
0
-2
0
1
0
-12
0
0
4
-8
-107
0
0
26
0
0
0
-7
0
-13
-31
25
-2
-6
0
7
11
0
-5
-13
0
0
-24
9
-1
26
-16
58
0
-56
15
0
29
-18
0
0
63
-28
0
0
1
42
-9
-102
-19
0
1
44
0
0
12
55
0
11
-13
-30
5
33
-89
0
0
0
0
36
2
-30
-21
9
0
9
0
0
64
25
0
0
-2
0
25
18
-8
84
-11
7
0
63
19
0
-5
19
0
2
-8
-3
33
27
14
-10
-12
-88
6
0
-3
35
-33
-3
24
-78
12
0
-21
56
16
-25
-95
0
-22
0
15
22
-1
-91
0
0
0
11
23
0
-4
1
0
0
-4
0
0
-75
-7
3
0
-6
0
5
-26
0
101
-12
0
-1
5
3
0
-32
-13
-8
0
59
48
0
-5
-25
-8
0
-1
-12
-6
0
-17
67
0
0
-53
0
-74
-3
0
8
2
-114
0
12
5
-6
-7
0
-4
0
0
0
0
0
0
-27
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
32
0
0
19
-5
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-4
0
-21
0
0
6
0
0
-54
0
0
0
8
0
5
3
0
0
0
0
-1
-8
0
0
19
-3
0
0
0
0
0
0
0
0
5
0
0
0
12
0
-7
-13
-6
0
0
-21
0
0
1
-1
0
0
0
0
-16
-5
8
0
0
0
0
-1
32
-2
0
0
-4
0
-9
0
0
0
0
0
0
10
0
-4
0
0
0
0
0
0
24
0
0
0
0
0
-9
30
0
12
-35
2
0
-34
19
0
0
20
0
0
7
-64
0
0
41
0
0
9
28
0
0
32
0
0
-19
-42
0
64
41
0
0
0
6
0
0
-3
0
0
0
25
-2
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
-5
0
0
18
-27
0
0
-65
0
0
-1
-45
0
0
-8
0
0
0
28
0
0
-17
0
0
0
-69
0
0
-15
0
0
0
-2
0
0
0
0
-2
0
-62
0
0
0
0
0
0
-49
-1
0
0
0
0
0
1
0
-14
0
0
0
-6
-7
0
0
-7
0
0
0
16
0
0
2
0
0
0
30
0
0
-1
-3
0
0
8
0
13
-13
0
-2
0
-28
0
0
-14
0
0
0
-72
0
-3
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
1
0
3
2
4
0
0
0
16
7
36
0
0
0
-13
0
0
0
0
27
1
0
0
0
0
-50
0
0
0
0
0
-13
67
0
0
0
0
-4
30
0
0
26
-32
0
0
0
0
0
0
0
0
-79
-10
6
0
-72
25
0
37
7
2
-7
-57
0
0
-44
28
0
0
-87
43
0
-43
-24
5
1
-14
-3
0
-2
-25
0
0
0
39
-1
0
0
-21
0
0
-13
0
-3
-42
12
53
8
-3
0
13
31
1
0
51
0
0
124
-5
0
3
55
56
0
-82
-53
0
0
-140
-3
0
31
-7
0
0
-49
41
0
-44
63
0
1
58
0
0
-7
-21
0
-52
-24
-66
0
4
-31
0
0
-8
0
0
0
57
19
25
0
5
0
0
-28
-1
0
-4
0
0
-6
50
0
-7
29
34
0
38
11
0
-2
-7
0
0
-59
-62
17
-3
-55
-18
0
-79
-38
0
1
-5
1
0
-32
-23
0
26
61
-24
0
-31
-47
0
10
48
0
0
3
32
0
-23
25
-53
0
0
6
0
0
0
-1
0
0
71
-27
0
0
0
0
3
64
5
25
41
0
0
63
21
0
16
62
1
0
17
31
1
-49
31
0
0
-25
-44
0
56
-9
-14
0
0
-40
0
16
9
-1
0
-1
-12
0
-2
7
-4
0
0
38
0
-124
0
0
0
0
-30
-1
0
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
11
38
75
82
18
-11
35
43
21
7
-90
-7
-69
3
15
40
-54
-4
5
-58
0
0
-26
0
0
0
-1
12
63
42
-5
3
3
0
27
-23
-3
7
1
-63
-48
0
0
0
0
0
0
0
-90
15
-55
26
-3
-13
-75
-28
-8
36
0
-60
-3
18
8
76
22
7
-25
-35
-34
51
0
-2
-3
-77
-34
-100
41
-1
22
0
-62
-125
-96
16
-10
-4
0
0
64
-49
-1
-12
-76
-67
-12
-52
2
46
19
-7
-1
35
19
-8
-37
-7
-6
24
-26
-66
-14
-15
32
31
45
-21
-32
-16
-12
-11
-45
24
-43
-102
36
-40
-26
24
-29
-84
-17
-18
-2
32
10
-21
-123
-84
-60
-1
-44
-1
-1
-87
52
-40
0
6
-35
22
-1
-37
13
-1
12
-44
-7
-3
52
36
-60
21
-17
9
-5
-29
-63
15
-1
96
14
-14
-51
-12
41
18
19
33
-28
-17
-85
-41
-8
43
-1
-34
25
-42
20
-30
0
8
-45
-38
1
44
21
1
-70
-23
-5
-32
34
-45
9
-5
-31
-60
-51
3
-7
-3
-1
5
7
-43
-2
-12
24
25
14
-17
-1
50
52
-23
52
-7
-3
-23
65
-4
3
-15
-138
55
-40
-40
0
3
-43
-33
-74
63
55
1
33
-67
1
26
-100
17
-6
-36
-2
-47
95
-33
-11
8
17
7
-28
-40
-70
-45
-27
0
13
-21
34
-20
12
-25
-20
-10
0
-27
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-5
-5
0
5
0
-2
24
61
-2
-1
4
-3
0
0
-9
8
-12
0
0
-42
0
0
-3
0
0
0
0
-21
10
30
0
0
0
0
-48
-68
-55
-16
-36
-50
30
0
0
0
0
0
0
0
-17
27
-29
-7
-6
-35
11
-37
0
30
-12
18
0
-61
-13
-2
0
5
-52
30
-50
-111
7
0
22
-5
0
-66
-4
-35
0
0
6
-10
-186
0
0
36
0
0
4
-8
0
10
62
-23
4
-94
0
49
19
-1
-4
-29
0
7
-8
-25
-6
43
18
-2
0
27
-16
8
56
39
0
-5
11
0
83
-12
-14
41
-4
1
6
0
-13
-26
3
-2
66
-49
0
-65
-47
116
-27
2
32
0
-1
24
0
-10
0
-3
16
15
-1
48
7
0
-4
14
-6
1
-2
0
42
-25
-31
-1
2
-34
-33
65
2
0
11
50
61
59
40
-16
8
-58
62
-48
30
44
0
-83
21
-58
-39
15
-71
29
1
27
11
-31
-3
-14
-36
0
-5
-29
8
-114
21
-36
4
-1
8
-56
-53
0
-1
-2
1
0
-5
-92
0
-2
-11
20
9
-2
0
-20
-40
-20
44
15
-3
-15
2
-9
-15
-148
-131
2
0
-12
-40
34
10
9
7
56
-41
0
5
27
111
86
0
-6
17
1
-54
-79
-41
-51
-8
16
0
-9
-62
-21
-14
0
-55
0
-59
14
-4
-15
0
-44
30
5
-2
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
0
0
0
0
0
-6
-1
0
0
0
0
7
0
32
0
32
0
0
-8
0
-13
-17
0
0
0
0
0
7
64
0
0
0
0
26
-5
0
-3
18
-125
1
0
0
0
0
0
0
0
8
-7
0
-8
-8
-4
16
-27
-25
0
0
11
0
-1
-23
-10
-3
0
-56
-5
-2
8
-18
0
0
-17
0
39
0
23
0
0
21
-1
10
0
-1
56
0
0
0
11
0
40
41
2
-6
40
0
-6
17
0
0
25
0
0
41
11
-2
91
32
-19
0
-3
-19
0
3
38
0
0
0
67
0
19
-30
-1
0
56
13
0
0
9
0
0
0
-6
0
-52
31
0
8
0
41
0
0
0
0
-2
1
20
-9
-47
5
0
0
0
-19
-10
-1
0
0
0
0
-25
-1
-18
47
24
0
-11
19
0
25
8
0
0
70
26
0
43
42
93
-4
-2
-11
5
-10
-86
0
8
-22
1
0
4
-17
-58
0
0
33
0
0
-31
-2
0
14
-32
1
0
41
34
19
0
12
0
0
0
0
-6
0
10
-12
-4
0
0
0
0
20
0
-16
13
0
7
-7
-47
0
2
-41
8
-4
16
-47
0
-5
34
0
1
-14
7
0
-14
55
-8
6
-2
-43
0
36
9
2
0
0
-49
0
0
3
0
0
0
-48
0
118
0
0
0
0
3
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-1
-4
-6
0
0
1
0
-2
0
10
0
-2
0
0
-5
0
0
16
0
0
0
0
3
5
8
0
0
13
0
-14
-2
-5
0
-39
-87
-8
0
0
0
0
0
0
0
-48
8
0
-5
32
41
0
-67
142
1
8
-2
3
16
6
7
0
0
2
-1
-1
-59
-11
0
-5
6
-1
49
17
-10
0
0
3
0
-47
0
0
10
0
0
0
-3
24
60
-31
-1
0
-2
0
8
-29
7
0
9
1
0
50
-5
-2
1
7
23
0
-59
-57
-1
0
-83
0
0
-41
-38
0
0
41
1
-5
0
38
0
-1
45
0
-9
3
-63
0
43
5
24
0
0
-3
0
0
0
0
-4
0
-40
5
-2
0
1
0
-2
-21
17
0
0
0
0
30
19
7
-7
1
2
0
-1
15
-5
6
14
0
-3
-27
-29
0
-1
-25
20
-4
45
9
10
0
30
16
0
-5
-11
-1
0
-17
-2
-4
19
-26
-1
0
2
10
1
0
-20
0
1
-2
10
-4
0
-17
8
0
0
8
0
0
-53
-8
0
0
0
0
-3
28
7
22
6
0
0
0
-107
0
-4
-8
0
0
-10
-53
0
-18
16
0
0
-1
-14
-1
10
-29
-5
0
-5
106
0
31
-21
-2
0
0
-38
0
0
-9
-2
0
0
39
0
-10
0
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-40
0
15
0
93
19
29
-39
0
0
-8
-1
-23
0
-30
0
-21
1
0
-36
0
0
-36
0
0
0
0
3
2
-12
-1
1
0
0
14
8
-6
-4
42
-91
52
0
0
0
0
0
0
0
-19
9
34
-4
75
28
52
13
6
19
10
-22
0
-13
-19
-24
10
7
50
-23
-23
-53
-5
0
0
0
-1
-73
0
-37
0
0
-5
38
-88
0
0
-4
0
-3
0
-98
0
-16
-13
1
14
-91
0
-31
13
8
0
-16
0
0
-6
9
36
-18
-22
-23
9
12
-1
8
22
16
4
-8
-1
2
-13
-12
24
0
2
-35
12
-2
13
-31
13
-65
15
-25
0
-32
-47
-15
15
2
-40
0
0
8
-16
-40
0
21
-101
-29
0
-19
-1
0
2
28
-2
1
0
0
23
-32
53
-72
42
-46
-4
-16
13
19
-1
13
-5
9
-19
11
-35
59
-19
-3
-2
53
14
4
19
-19
40
-18
-28
-30
74
-5
-65
-73
-28
-21
-26
0
0
-54
-1
-7
5
-92
0
0
-47
26
-71
0
22
20
0
2
15
-9
0
31
-70
-2
0
22
0
-13
19
-3
-12
8
6
7
-2
2
4
-5
-34
-12
0
24
-25
5
-129
51
-9
29
-34
-6
32
47
5
-54
15
40
-30
0
62
0
32
8
3
10
0
8
17
-2
-49
-1
-58
0
85
-7
-1
10
0
-38
-13
66
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
0
20
18
1
2
0
0
-30
0
5
0
3
0
1
0
0
-5
0
0
4
0
0
0
0
0
4
-51
0
0
0
0
-45
34
-1
0
23
-6
7
0
0
0
0
0
0
0
-107
-38
0
-3
-51
0
-14
-42
90
-8
2
-45
0
-23
-24
1
0
13
-65
0
-63
-55
-24
0
0
-22
0
-59
-7
25
0
0
-6
0
6
0
-1
-6
0
0
0
-13
-1
-3
-29
-23
-3
0
0
38
-5
0
0
-27
0
0
-42
-23
0
15
20
-2
0
-30
-42
0
5
-32
0
-1
-16
15
10
-3
30
0
0
-52
-13
0
0
-34
0
-8
15
-86
0
-52
-25
0
7
-8
19
12
0
8
0
-4
0
16
-15
104
0
0
-1
0
-34
12
2
0
0
0
-53
-4
9
-8
-65
0
0
-12
11
0
0
-60
0
-6
-38
38
0
-9
70
0
0
31
10
0
-36
37
0
2
-20
18
0
8
-20
0
-5
25
44
0
0
13
3
86
-12
8
0
21
4
-2
18
0
-3
0
17
0
4
-12
0
-16
-24
0
0
0
0
0
9
1
67
4
0
-4
29
21
0
0
39
-6
1
9
42
0
-63
1
0
0
-5
7
-3
11
-24
4
0
6
29
0
-62
41
0
41
0
-6
0
-3
-47
0
10
0
-8
-1
-68
-22
0
-31
0
27
4
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-5
-1
4
-1
0
-65
28
0
-1
-17
15
0
0
42
0
28
0
-6
0
0
3
-20
0
0
2
0
-2
-5
34
0
-3
7
0
36
25
-2
18
-64
-2
0
0
0
0
0
0
0
0
-67
4
3
-3
-17
-13
0
-26
-67
2
-4
14
-1
0
4
34
-3
-1
-16
-42
0
41
31
4
0
-94
41
0
-19
24
8
0
-30
-46
7
0
-17
-41
0
0
15
0
0
18
0
-28
-8
23
0
51
14
-7
0
-2
-1
0
25
13
18
64
30
45
0
-20
37
-22
32
33
43
0
-25
-53
0
19
-33
-30
0
-12
-24
0
0
9
51
-1
-68
-24
0
-13
3
-11
0
-64
12
0
-3
3
9
2
0
19
-77
-67
0
19
0
0
-7
-42
-1
-5
0
0
16
31
-62
41
107
32
0
-10
30
-4
-20
23
-4
0
67
44
-13
-42
62
19
3
-29
-1
1
28
-7
-3
0
-33
-35
14
4
-6
24
-5
130
27
0
0
14
16
0
46
17
-2
-13
34
-84
0
0
-6
15
-12
0
37
0
0
8
-50
3
-18
-14
0
1
5
0
10
12
-2
0
-21
28
-2
41
96
-16
0
44
-19
28
58
-10
29
0
4
-26
5
-44
-6
90
0
116
-47
-8
-55
-11
-3
-9
-5
-5
0
-11
-30
15
-4
-2
0
-2
34
2
25
1
0
-30
-6
7
-2
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
4
43
13
-35
-41
-2
39
0
0
62
0
12
0
0
-6
0
3
-8
-3
7
39
-47
-3
19
-51
1
12
-43
-52
24
10
-13
-31
0
0
0
0
0
0
0
5
-82
48
17
-51
-49
-15
-129
-17
-95
-5
-101
-31
-14
-51
13
-7
-5
8
-39
-5
-41
-63
2
-5
9
-21
-33
-1
-2
0
0
21
-5
-6
0
-4
-28
0
-1
-28
-28
-1
-1
-64
-58
-33
2
0
19
2
-6
-2
-16
-5
-4
9
8
9
-15
-10
-28
6
-17
-5
28
-27
9
42
-22
-19
-6
14
7
10
-78
-8
18
7
2
2
2
-47
-26
-39
-3
17
-17
27
-8
-12
-2
-3
-1
-2
33
-78
-21
0
5
-89
-92
0
-2
-14
-1
2
-79
10
5
8
-16
-113
-43
42
-9
-48
-9
78
2
-3
-4
-12
12
4
96
-35
3
43
22
-21
-51
-18
20
2
93
-32
-9
-33
-55
-38
4
43
-35
-2
-25
-30
-5
-11
48
-8
1
-46
-7
-13
-16
-4
37
1
-66
0
0
-41
45
8
-6
-38
8
0
0
39
-27
31
-19
-6
-13
-12
-18
24
-62
-106
-66
-33
-8
-9
-110
19
-29
-39
-39
16
34
-69
26
27
-42
2
-9
38
-51
39
-68
-78
-5
-27
-2
11
-53
-26
17
18
-10
-4
65
51
-44
-9
-3
-8
7
-3
20
18
-20
0
-26
-39
-16
4
-59
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-58
0
0
0
-5
-3
0
7
0
-57
0
0
-53
0
0
-28
0
0
0
0
0
-20
-28
0
1
-2
0
-40
13
40
0
-47
-61
-8
0
0
0
0
0
0
0
-64
90
0
8
-1
-31
24
-30
-157
0
26
27
6
-33
-7
0
75
-41
-73
-5
-23
-21
1
0
0
22
8
-14
-2
-64
0
0
5
2
-67
0
2
-71
0
0
2
5
0
-46
-36
15
8
-8
0
8
18
-6
-4
-18
0
0
30
31
0
-14
-17
-67
2
-7
-9
8
16
-2
8
0
60
24
13
-13
4
14
0
49
0
6
-6
-42
-8
7
24
-31
-1
-102
-49
17
6
-8
-23
0
0
-14
-13
-51
0
-5
-49
-41
0
-6
-1
0
7
-5
0
0
4
0
1
41
-33
56
-20
-16
-9
12
25
-6
5
-83
-3
0
14
4
13
-35
-30
-46
-3
-49
72
-1
3
-17
5
12
-86
0
-9
1
-2
-36
89
-6
-36
0
-4
-38
0
-29
43
34
-1
0
80
-10
-115
0
6
0
0
0
-51
2
5
7
12
9
0
0
4
-5
-15
4
32
25
19
-2
28
29
4
38
-30
-8
0
29
-68
-2
40
56
-4
17
-23
2
-1
-24
-10
5
-13
-5
0
48
-30
-85
-13
-5
6
-13
0
11
-9
5
-2
-9
71
-8
-118
-3
0
-12
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
61
0
0
-5
0
0
-49
0
0
0
0
0
1
7
0
0
0
0
0
1
0
0
-14
23
0
0
0
0
0
0
0
0
-9
0
0
0
6
21
3
34
-28
0
0
86
0
6
64
-2
0
0
20
0
-1
-4
69
0
0
1
0
6
1
0
0
0
-4
-2
46
0
0
-2
0
0
0
10
0
-30
40
-3
-12
0
0
-15
14
0
10
-5
0
0
61
-4
0
101
24
14
0
-70
41
0
2
-11
1
0
-52
-13
0
0
-60
-2
0
-5
-36
0
0
-25
0
0
-4
-10
0
-5
9
0
0
0
23
0
0
0
0
0
0
-5
-8
-3
0
0
0
0
1
23
0
0
0
0
0
41
0
0
-8
0
0
14
-42
0
0
100
0
0
-1
58
0
19
41
0
0
-13
66
-4
13
-48
0
-1
1
-84
0
-6
-40
4
0
0
5
0
0
-7
0
-4
0
-7
0
0
5
0
-18
0
34
0
0
0
1
5
0
19
8
0
-1
0
0
0
-61
0
0
9
0
0
-3
5
0
3
-18
0
0
0
65
0
18
-4
0
0
0
13
0
0
5
-1
0
-2
-84
0
31
0
0
0
2
-66
0
0
12
0
1
0
-39
0
-8
0
4
0
0
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-95
0
0
41
0
0
17
0
0
0
0
0
-3
-12
0
0
0
0
0
7
0
0
15
-3
0
0
0
0
0
0
0
0
29
-3
0
4
-34
-3
-1
-25
-3
0
0
1
0
2
24
0
0
0
49
0
-1
-3
0
0
0
0
0
-3
0
0
0
0
0
0
77
0
0
-1
0
0
0
0
0
-11
0
-1
25
0
0
0
17
0
0
-9
0
0
-4
-84
-1
73
-44
7
0
-3
-6
0
9
-18
0
0
-18
10
0
0
-16
-2
0
23
42
0
9
-17
0
0
1
44
0
-2
1
7
0
0
-39
0
0
0
0
0
0
25
-1
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
-14
0
0
-1
-16
0
0
20
0
0
14
-62
0
0
-8
-3
0
-2
-45
0
0
-31
0
0
-3
-54
0
0
5
-2
0
-8
5
0
0
-4
0
0
0
-5
0
5
1
0
-3
0
-50
0
0
0
-1
0
0
-47
0
0
0
0
0
0
-24
0
-2
-12
0
0
0
18
0
3
30
-1
0
0
-24
0
3
-1
0
0
0
-9
0
0
-2
0
0
0
7
0
-2
-1
0
0
0
44
0
0
-1
5
0
0
-75
0
-4
1
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
2
0
0
0
0
-19
0
0
29
0
0
-25
0
0
0
0
0
4
-2
0
0
0
0
-3
4
0
0
-20
0
0
0
0
0
0
0
0
0
-50
-5
-1
0
22
-1
0
-75
-3
0
0
4
0
-1
-41
25
0
1
58
0
7
-8
30
0
0
22
0
-1
0
1
0
0
0
0
-88
0
0
0
0
0
0
-5
0
-55
-1
0
0
10
0
0
38
0
0
-2
0
0
-12
51
0
-45
-49
-3
0
-61
20
0
0
-51
-1
0
-13
-29
0
0
-29
0
-1
14
-39
0
0
25
0
13
2
48
0
-23
-2
-24
0
0
18
0
0
0
0
-1
0
14
-3
6
0
-3
5
5
-68
0
0
0
0
0
3
-1
-5
-4
0
-3
0
18
-5
0
1
9
0
-1
-4
-81
-3
-2
22
3
0
4
-44
0
0
-15
0
0
0
-32
0
5
-9
2
0
-2
7
0
0
-1
0
-4
-3
-94
0
0
0
-2
-8
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
1
0
0
0
0
40
0
0
-7
0
8
0
-65
0
15
6
0
-2
25
38
0
0
25
17
0
0
-68
0
-8
-1
0
0
0
-5
0
0
0
52
0
0
-46
0
16
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
8
3
0
0
0
0
30
0
0
1
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
-7
9
0
0
-3
-1
0
0
0
0
0
0
0
0
-57
4
0
0
-90
0
0
-67
-1
6
0
-1
0
3
-20
0
0
0
32
0
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
59
0
0
16
0
0
-8
44
0
0
3
0
0
3
-17
0
-57
-28
-3
0
2
-57
0
13
-57
0
0
0
-39
0
0
-42
0
0
13
-27
0
0
-46
0
0
-2
-63
0
-64
7
5
0
0
7
0
0
0
7
-3
0
-28
-1
0
0
0
0
0
-12
0
0
0
0
0
0
-67
0
0
16
0
0
14
-48
0
0
-56
0
0
-24
49
-2
0
-29
0
0
19
12
0
0
-19
0
0
-5
-26
0
0
-17
0
9
0
36
0
0
-2
0
-1
0
-54
0
0
8
1
-1
0
48
0
0
0
-2
0
0
20
0
0
0
0
0
0
-9
0
4
0
0
0
0
5
0
-5
-2
0
0
5
22
0
0
3
3
0
0
30
0
0
8
0
0
0
-64
0
30
-16
0
0
0
58
0
0
3
0
0
0
-48
0
-21
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
31
42
0
10
38
2
0
-26
0
5
0
4
0
0
-5
-8
0
0
0
0
-1
-66
-102
-10
-1
0
0
-74
24
-5
0
-66
-33
0
0
0
0
0
0
0
0
6
41
0
-1
0
10
0
-38
27
8
0
12
0
1
-52
38
7
-2
36
-54
0
50
12
5
1
-39
-11
0
0
38
0
0
6
-12
-4
0
-5
-70
0
0
-4
0
-5
-27
26
17
-3
53
0
6
-15
12
-47
-23
-2
0
-39
16
8
-1
8
12
0
30
59
2
9
31
1
0
-15
-4
0
21
20
19
0
-19
-40
0
14
-38
-9
0
15
-11
0
18
17
-36
0
-43
22
0
0
-37
37
0
0
-12
-60
-53
0
37
0
0
-41
-55
8
0
0
0
58
12
22
0
36
12
-5
11
38
0
0
-2
-5
0
31
39
0
8
55
33
0
3
9
15
43
50
45
0
-60
-6
1
23
30
-29
0
-32
-22
6
8
9
3
-4
52
62
-2
0
-23
39
8
0
28
-2
-4
0
17
0
0
-9
-98
40
14
2
0
18
-5
-7
-30
36
0
0
-21
17
0
-33
-33
-32
0
-91
-11
0
-4
6
8
1
-7
-3
0
10
14
5
0
15
-13
0
29
28
-5
0
50
-2
0
14
81
47
0
13
1
0
23
33
22
0
0
17
6
-20
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
5
-40
0
0
-13
0
0
-83
0
1
0
1
0
-13
37
23
0
0
0
8
-6
4
-1
11
-138
-2
0
0
0
0
0
0
0
39
42
0
6
30
7
23
17
21
-6
-2
-60
-1
-88
87
84
0
-8
-50
30
-67
11
115
0
6
76
-4
-86
0
-41
-1
0
-63
-44
-84
0
0
33
0
6
-1
-3
0
-20
65
8
-5
-2
0
-59
26
0
2
8
6
0
-29
-4
0
6
-17
-31
0
10
-26
-2
21
-17
-4
-9
37
33
0
0
-14
-15
6
2
-15
0
19
-36
8
-20
29
14
-3
-57
-102
-6
1
0
-95
0
0
-13
0
16
0
-12
32
8
-16
-6
0
0
-12
-19
-2
-4
0
0
5
16
1
-14
-9
-14
-6
-40
-14
-2
-5
-40
4
-1
-30
-22
5
12
-17
14
0
-33
-13
-25
32
1
-36
3
3
41
2
-4
5
11
12
2
-13
0
-4
-32
-2
-77
0
-60
0
-7
-13
20
2
0
-41
2
0
0
20
-8
0
-98
-12
-7
0
0
0
-2
6
5
-15
-22
1
1
-13
-25
0
8
2
-10
0
-6
-13
0
51
-28
29
-1
-10
-78
0
-4
6
-31
16
0
6
2
-4
71
21
3
-6
-15
-2
-2
-26
44
-7
0
-60
0
-19
-4
-4
-3
0
-94
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
-128
0
-4
-15
0
0
-13
0
0
2
0
6
16
-46
0
12
0
0
-48
20
19
8
-8
3
-1
0
0
0
0
0
0
0
-17
-22
-24
5
-63
-44
32
9
1
-5
40
12
24
-10
-76
1
0
-1
39
-27
-30
-40
0
6
21
15
3
-29
13
-39
0
-2
-22
33
-79
0
-1
-50
0
0
0
-3
0
18
-55
-53
0
46
0
2
8
7
6
10
0
0
-24
47
-12
-44
-49
-17
0
22
2
8
3
-49
10
0
-70
-19
-7
-1
-49
-23
-8
65
28
5
0
39
-2
-3
38
0
-2
-25
19
17
-4
-2
-69
0
-1
0
-8
-6
0
21
23
33
1
12
0
0
-8
12
22
8
0
0
14
-3
-63
67
-14
-42
9
-25
28
29
21
-48
-1
-8
-61
-64
-48
-95
-36
65
-12
-2
-37
-15
5
26
-3
-13
28
68
-2
-8
9
24
-6
13
0
-5
2
3
52
-10
-19
-52
0
-4
-30
28
-124
0
-27
-1
0
0
52
3
0
3
18
6
12
0
4
24
-68
45
-2
-71
1
0
4
26
2
26
30
-41
0
-3
42
13
36
-69
7
-6
-3
-52
-2
-51
23
-69
2
-48
-25
0
-4
-52
-5
-2
14
0
0
-8
-101
20
-17
0
24
0
7
-23
0
-6
0
4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-23
0
0
-40
0
0
0
0
0
0
-3
0
0
0
0
0
7
0
0
7
-9
0
0
0
0
0
0
0
0
97
-16
0
6
-53
-21
10
-47
1
0
0
-34
0
-1
0
24
0
0
-26
13
34
-2
-14
0
0
9
0
13
0
-2
0
0
0
0
65
0
0
-4
0
0
10
4
0
38
2
-1
-2
0
0
1
-25
0
0
0
0
0
-21
-38
0
70
62
71
0
79
13
0
0
12
0
0
-75
33
0
-10
134
-8
0
19
18
0
0
1
0
0
-1
-37
0
10
-3
0
0
0
-30
0
0
0
0
0
0
-15
7
75
0
-3
0
0
-5
-5
0
0
0
0
-1
6
0
2
7
0
8
-3
-34
0
0
48
0
0
4
-9
0
4
-36
10
0
43
-69
0
0
-35
-5
-4
0
14
0
-4
-9
0
3
-1
-86
0
0
-8
2
6
-3
-22
0
0
-4
-5
5
0
-15
0
0
0
0
0
0
-24
4
1
-3
0
0
0
6
0
-6
0
0
0
0
22
0
0
50
0
0
-41
15
0
13
-10
0
0
4
-47
0
0
8
0
2
-6
31
0
-23
0
-8
-1
0
-29
0
0
0
-8
0
0
-54
0
-5
0
0
4
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-73
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
4
-13
0
0
0
0
0
0
0
0
-23
8
0
0
10
-1
0
24
20
0
0
-1
0
0
-1
40
0
0
24
0
0
-2
38
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
9
0
0
0
10
0
63
1
0
0
0
0
0
18
0
0
-2
0
0
-13
2
0
-68
39
-1
0
-4
-68
2
0
-23
0
0
5
-5
0
-3
13
5
0
-5
3
0
0
4
0
0
0
-41
0
-20
3
-3
0
-1
-8
0
0
0
0
2
0
-10
-4
1
0
0
0
0
-26
0
0
0
0
0
0
-9
-7
0
0
0
0
-4
-25
0
0
4
0
0
12
-27
0
0
15
-4
0
0
-1
0
0
-8
0
0
0
51
0
0
-9
0
-3
0
-43
0
0
-1
0
-2
0
-40
0
0
0
0
-1
0
-85
0
0
0
0
0
0
-22
2
0
0
0
0
0
-24
0
2
0
0
0
0
-29
0
0
0
-3
0
6
-9
0
0
2
0
0
0
-25
0
0
-1
0
0
0
19
0
-1
-1
0
0
0
-5
0
0
0
0
0
0
10
0
-2
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-12
0
12
0
0
-3
0
0
0
0
0
0
-23
0
0
0
0
-11
-14
-3
0
-32
-22
-35
0
0
0
0
0
0
0
-21
-3
-4
-1
-60
-35
-47
-41
-31
0
0
40
4
-16
-20
-3
0
0
-1
34
-10
40
-25
0
0
4
22
8
-18
43
0
0
8
4
12
0
0
-89
0
0
-5
24
0
7
0
-1
-14
-1
0
13
5
0
0
-6
-6
4
-29
13
0
10
-67
-57
0
-21
-12
5
-3
-25
1
0
-64
-16
0
0
-66
21
-18
-42
-21
-4
-13
-40
-7
-17
59
-16
0
-4
44
-34
-10
46
2
0
-1
0
-19
10
0
4
-42
-21
0
-84
0
0
-6
15
0
0
0
-1
9
-19
-12
0
-24
11
-3
11
-4
0
1
-10
-1
37
-23
-22
56
-13
-68
30
-15
-26
-30
-8
-8
-12
-13
29
-3
-19
14
-3
30
-57
-13
6
5
0
14
-4
-10
10
41
-31
0
0
0
-15
0
0
-16
3
0
0
-22
4
0
-36
0
-1
0
-6
14
0
-83
0
-62
9
11
-18
-1
-12
1
-1
50
-23
16
1
-23
0
-25
34
-9
4
7
7
0
-3
-1
-74
-52
-11
-51
-1
-103
33
-12
1
10
16
0
0
-13
-33
-4
0
-4
0
-38
0
15
14
0
-36
-5
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-58
0
0
14
0
0
0
0
0
-59
46
0
15
0
9
32
-42
0
0
43
-2
-27
0
0
0
0
0
0
0
-18
63
0
-29
-8
-4
-4
-37
9
0
0
29
0
-16
-101
-2
0
0
-57
5
-32
-34
-16
0
0
-35
0
16
1
17
0
0
-4
0
24
0
8
-10
0
0
0
30
0
4
22
-5
7
0
0
-10
-20
0
0
-1
0
14
-5
31
0
22
-10
0
0
-93
-78
0
-5
2
0
0
22
-123
0
-8
-28
0
-8
-16
-61
0
0
-52
0
-5
-69
39
0
28
48
1
8
7
-15
0
0
-7
0
-23
0
-34
-24
0
0
0
0
-4
-20
8
-3
-5
0
3
-3
13
0
38
39
0
-9
-77
-16
0
-6
-40
0
3
36
-60
0
0
23
-7
7
-34
30
0
24
-80
0
-19
76
-14
0
1
39
0
-4
55
-33
0
0
-5
0
50
1
1
0
1
38
0
-58
0
21
17
0
0
0
38
0
37
5
0
8
0
0
0
-9
0
84
8
0
0
10
46
0
0
-29
0
16
16
4
0
-72
43
0
1
6
69
0
-2
-15
0
8
14
11
0
22
3
0
7
9
-26
0
0
17
0
2
0
32
0
70
-8
0
5
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-51
0
0
0
0
0
-8
0
0
0
0
3
-33
11
-3
6
0
0
48
-55
-6
-3
-35
1
-1
0
0
0
0
0
0
0
-24
-34
0
1
-68
36
0
9
47
0
-2
-20
0
0
58
10
-8
-2
-3
41
0
-31
-14
8
0
16
-5
0
48
35
0
0
24
26
-2
0
0
26
0
0
0
0
-1
-43
-56
50
11
13
0
5
-3
0
0
17
-3
0
20
-4
0
40
-6
-27
0
-23
44
0
24
-17
3
0
-88
-6
0
8
-30
5
0
4
7
0
6
24
55
0
79
-4
0
-51
-11
3
0
101
-7
9
5
58
23
0
0
40
-73
-28
0
-51
0
0
-32
38
-7
-2
0
0
-61
-10
13
-3
-23
38
4
23
46
0
-14
-21
-6
0
-12
16
7
13
-24
-59
-2
51
27
-13
-8
67
-8
0
-17
-21
-8
-3
54
30
0
9
-19
0
10
-46
3
0
0
-26
-7
25
-41
-5
-3
0
54
5
3
0
1
0
0
24
39
-17
5
9
0
-8
20
-4
21
9
0
10
27
51
0
5
65
12
0
58
49
0
61
71
-8
0
49
-50
0
-41
15
-3
0
-14
14
0
77
20
-2
0
-9
-19
0
-41
-45
-4
0
7
-36
0
46
-50
2
0
0
-8
-31
-47
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
13
1
-3
0
0
0
0
0
0
0
-14
-4
0
0
-34
0
0
82
-12
1
0
-9
0
3
8
-3
0
0
-26
0
1
-1
0
0
0
18
0
0
1
-34
0
0
-1
0
-1
0
0
-8
0
0
0
0
0
-48
0
0
0
0
0
0
-18
0
0
0
0
0
-13
-31
0
28
25
-8
0
-6
30
0
0
29
0
0
-2
27
0
0
-31
0
0
0
-21
0
0
1
0
0
0
-2
0
-16
-1
0
0
0
33
0
0
0
0
2
0
-9
-3
0
0
-3
0
0
53
0
0
0
0
0
0
20
0
0
0
0
4
0
-22
0
0
0
1
42
-1
-7
0
1
0
0
0
0
-112
0
0
-2
0
0
0
-8
0
0
13
0
0
7
47
0
0
0
0
-6
0
44
0
0
8
4
-12
0
-71
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
1
3
0
0
0
-32
0
0
0
0
2
0
-4
0
-2
-1
0
0
0
-71
0
0
-2
-6
0
0
-42
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
41
0
0
12
-5
0
0
0
0
0
10
3
0
6
10
0
0
0
0
0
0
0
0
-30
-5
0
12
8
1
0
-2
-41
0
0
56
-3
11
31
-2
0
-4
58
2
0
19
-49
0
0
10
0
-1
-30
0
-1
-2
3
-2
-6
0
0
-13
0
0
1
0
0
-13
0
-4
4
0
0
52
-10
7
0
0
0
0
41
17
-2
10
34
-32
0
-61
13
-2
5
-4
0
0
11
-8
0
0
-14
-8
0
-65
-24
0
0
-20
25
0
70
-51
0
-36
25
0
0
0
0
5
0
0
0
-2
0
-11
-6
-22
0
0
0
0
-23
0
0
1
0
0
0
-44
44
-5
-8
3
0
50
-18
-4
2
-48
0
0
-43
64
0
-10
50
0
4
18
-16
1
0
-41
6
-1
52
-1
0
-2
4
-1
0
-1
-58
0
0
16
1
-2
0
0
0
0
2
8
10
0
-72
0
-1
0
0
0
0
-75
-6
27
0
-1
0
-5
5
14
-65
12
0
2
17
-88
10
-5
-7
12
0
0
-7
0
-58
-28
1
0
-16
-45
0
-10
23
44
0
0
-30
0
-91
-1
0
0
0
8
0
0
-13
5
0
0
0
0
-39
-2
-2
12
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
77
0
0
0
0
0
0
0
0
0
-59
5
0
0
70
-1
0
-47
-1
0
0
0
0
0
-7
0
0
8
-10
0
5
-5
3
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
5
0
0
0
-5
0
-18
0
0
0
0
0
0
57
0
0
0
0
0
5
68
0
-49
-81
0
0
5
-72
0
0
15
3
0
-14
30
0
0
-4
0
0
-1
-4
0
0
-3
0
0
-1
6
0
-33
4
0
0
0
0
0
0
0
0
0
0
-24
13
0
0
0
0
0
22
-4
0
3
0
0
0
-99
0
0
5
3
0
2
-52
0
0
-9
0
0
2
-28
0
0
5
0
0
1
69
0
-1
-16
0
0
0
3
0
4
2
0
0
-2
46
0
0
5
0
0
0
-6
0
0
0
0
19
0
53
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
44
0
2
0
0
0
0
-16
0
3
0
0
0
0
17
0
-1
0
0
0
0
9
0
0
0
0
0
0
-72
0
-8
0
0
8
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
-8
-55
-81
-20
16
28
-52
17
14
101
6
-55
-49
26
-2
2
15
0
0
0
0
0
0
0
-6
42
12
4
-11
18
-32
-2
5
-38
-22
34
13
17
-40
52
-15
-32
-9
25
35
-17
-64
-53
-31
-8
-31
11
-32
11
-12
54
82
7
9
-48
42
-21
-20
-5
-62
19
40
4
5
12
-53
-18
31
37
-21
-19
-26
-23
-61
-57
-1
-3
-49
4
-23
8
-61
13
-19
-48
-55
-13
0
-39
-5
-2
-36
-83
-3
-27
-1
-16
4
27
-10
3
-31
-45
4
-7
-19
-71
23
-5
13
-22
-11
19
-44
9
30
-15
-40
0
-52
-42
-53
-15
52
-56
0
-16
17
-77
-91
-33
-14
-7
2
-37
-19
-6
-63
10
-24
15
-58
-33
46
24
5
-3
53
-7
-5
-5
6
35
5
-66
-33
4
-67
-21
-5
-6
5
-20
-15
-9
13
-21
-8
-8
50
-4
-24
-4
13
-12
37
-12
-41
-27
13
-5
-6
-14
-38
17
54
14
-21
1
-18
-12
-40
-38
-16
-24
4
-32
-5
-28
-38
-79
-27
-1
-47
-27
-20
-41
32
-16
-23
-22
-19
-19
28
-35
31
4
36
-31
-10
-18
34
-57
9
26
-58
-20
43
-25
14
2
-65
52
-45
-13
-5
70
1
-16
-41
-33
8
8
9
14
-18
47
-15
-33
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-9
0
0
0
0
0
0
0
-74
0
0
0
-39
0
0
-139
0
3
0
-21
0
0
1
0
0
0
-12
-13
0
2
-6
0
0
-2
0
0
0
16
0
0
0
0
-2
0
0
-8
0
0
0
0
0
-28
0
0
0
0
0
0
-23
0
0
0
0
0
-10
-28
0
-8
12
0
0
5
-19
0
0
25
0
0
54
-37
0
0
29
2
0
-5
-17
0
0
-1
0
0
1
1
0
-70
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-65
0
29
-1
4
0
0
-93
0
-1
-3
0
0
-1
-70
0
-3
2
0
0
12
26
0
0
0
0
0
0
16
0
0
8
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
0
-1
0
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
41
0
41
0
0
0
0
-42
0
0
0
0
0
7
45
0
8
0
0
0
0
8
0
0
2
0
0
0
-18
0
31
0
0
0
0
-34
0
0
0
0
0
0
-7
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-23
0
0
0
-82
0
0
35
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-18
0
0
1
0
0
0
0
0
-33
0
0
0
0
0
0
33
0
0
0
0
0
0
10
0
44
-10
0
0
-20
5
0
0
0
0
0
10
-5
0
0
-31
0
0
17
3
0
0
2
0
0
-1
31
0
-35
9
0
0
1
5
0
0
0
0
0
0
13
0
5
0
0
0
0
-25
0
0
0
0
0
-2
-3
0
0
-4
0
0
4
-96
0
0
2
0
0
0
-40
0
0
-8
0
0
-12
-25
0
0
-7
0
0
-6
24
0
0
-8
0
0
-1
1
0
0
0
0
0
0
2
0
0
0
0
-9
0
14
0
0
0
0
0
0
29
0
0
0
0
0
0
34
0
0
0
0
0
0
8
0
0
13
0
0
0
6
0
1
-1
0
0
0
54
0
0
0
0
0
0
-40
0
-3
0
0
0
0
11
0
0
0
0
0
0
5
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
-5
-59
-32
-3
-16
-2
0
-9
-15
3
5
-43
-8
0
0
0
0
0
0
0
0
-25
-59
-8
10
-19
-53
0
0
-10
27
-2
-25
2
0
8
50
0
32
-37
-11
0
27
54
8
-4
-4
-22
0
15
81
-4
10
-2
-15
-1
0
-6
-51
0
-1
74
0
6
-8
-37
-50
-9
17
0
0
14
-5
-45
-2
-4
0
57
9
18
26
16
-48
0
21
14
6
17
-7
-18
0
32
7
-10
-47
-6
36
0
-42
9
-1
-41
1
-36
0
-10
-47
0
-6
25
5
0
9
-5
19
0
-6
2
13
0
1
-159
2
-1
37
0
-22
5
28
13
15
14
0
10
8
-9
-2
43
73
0
30
23
1
29
-6
20
0
55
32
-8
-80
65
21
0
68
40
26
-55
28
16
0
33
-2
2
-82
28
-13
0
105
16
-6
66
-8
-22
0
26
22
44
29
-13
26
0
0
-27
23
-16
-8
6
0
-7
16
4
-24
-10
-30
-1
64
8
41
42
-3
-1
-4
53
28
0
-78
-21
-83
-7
91
-16
6
-16
54
4
0
9
23
14
-32
42
-27
0
99
16
19
28
79
-46
0
-2
4
16
78
17
46
0
28
-13
-3
9
-11
-7
0
0
-8
-50
96
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-5
0
0
1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
8
2
0
0
0
0
0
0
0
0
-5
0
0
0
40
0
0
-6
0
0
0
-2
0
0
2
0
0
0
-7
0
12
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-5
0
3
-1
0
0
3
5
0
0
6
0
0
0
51
0
0
-3
0
0
30
-62
0
0
10
0
0
1
-15
0
-3
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
2
0
0
1
32
0
7
-1
0
0
4
11
0
0
0
0
0
0
-6
0
0
2
23
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
-1
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-40
0
0
0
2
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
9
-8
15
-54
11
8
-84
3
2
2
3
0
0
0
0
0
0
0
-2
9
2
-6
1
3
-26
3
0
-51
0
2
18
-19
-4
-25
-18
6
-8
-6
2
-6
-40
-68
-66
-9
-21
-7
22
1
-126
-75
1
-3
5
17
-9
47
-63
-116
44
3
48
0
-2
3
25
61
-30
32
-11
-18
12
25
8
28
-34
-2
-69
-15
-5
-5
34
1
0
-81
-44
-3
-23
-50
3
-10
-97
40
-8
3
-40
27
-4
-44
108
-4
25
-14
3
2
-41
-1
-22
6
-20
-9
-7
-37
-4
-35
34
-4
31
-3
5
31
17
-20
28
143
-9
7
-43
-45
-21
56
-1
-13
24
38
2
-4
-7
16
-15
-41
53
-11
-19
-18
9
-3
18
30
-4
-23
2
-18
-10
-29
-12
8
-19
7
45
-5
-15
54
4
-5
26
-23
-9
22
27
-3
31
-4
-20
-8
-7
12
-68
4
28
-57
0
-66
30
-46
32
-11
-83
-7
-29
-38
-10
47
61
17
-14
-79
7
-10
-9
0
50
-15
17
9
-14
55
-82
18
-13
-48
-1
5
-6
-36
0
1
11
22
2
-31
-38
-18
-2
-8
0
-26
-66
29
11
-15
-32
39
7
-1
-12
7
0
-98
1
11
-17
-3
5
18
-7
-6
22
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
-1
-1
0
0
-1
-9
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
-1
0
0
-41
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
13
13
0
0
14
-52
0
0
-25
0
0
0
-23
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
5
-5
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
40
0
0
0
0
0
0
-32
0
0
2
0
0
0
46
0
-2
-2
0
0
0
32
0
0
3
-4
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
9
-4
0
0
4
0
0
56
-5
0
0
0
0
0
0
0
0
0
7
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
11
-5
1
0
0
0
0
41
0
0
0
0
0
1
-17
0
4
4
0
0
-2
49
0
0
-5
0
0
6
-10
0
0
-8
0
0
1
-30
0
0
8
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
65
19
0
0
0
0
0
-18
0
0
0
0
0
0
-48
0
0
0
0
0
8
-15
0
0
1
0
0
6
-35
0
0
4
0
0
-8
-54
0
0
-4
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
11
0
0
0
0
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
46
0
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
-1
0
0
-3
65
0
0
0
0
0
0
0
0
-25
0
0
0
-39
-27
0
-41
0
0
0
26
0
0
14
0
0
0
-77
-5
0
41
1
0
0
22
0
0
0
-9
0
4
0
0
0
0
0
46
0
0
0
0
-4
-32
4
16
0
0
0
-8
-75
2
1
8
0
0
-47
-15
0
71
-12
15
0
34
64
0
0
54
-1
0
1
43
0
10
-24
43
0
-37
3
0
0
-23
0
0
0
-25
0
20
22
2
0
0
16
0
0
0
0
0
0
9
-14
4
0
-1
0
0
28
-8
0
0
0
0
18
-31
2
0
18
0
0
-8
17
0
-1
40
0
0
-2
-9
0
-4
12
-8
0
0
3
0
13
4
0
0
0
19
0
0
-44
34
0
13
-17
0
-2
-23
0
0
0
-8
0
3
-22
-17
0
0
6
3
4
0
0
0
0
-12
7
-3
0
0
0
-2
43
0
10
0
0
0
0
119
0
0
-7
1
0
5
84
0
-33
-20
-7
0
0
38
0
0
16
1
0
0
-72
-8
104
10
0
0
0
16
0
8
0
3
0
0
-11
0
31
7
0
0
0
17
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
-6
5
0
0
0
0
0
0
0
0
-58
1
0
8
51
2
-5
-9
-1
0
0
-9
0
0
33
-2
0
0
39
0
8
1
0
0
0
6
0
0
0
-1
0
0
0
0
-38
0
0
-2
0
0
0
4
0
41
13
0
6
0
0
0
-30
0
0
19
0
0
2
-4
0
-19
-32
0
0
19
-28
8
0
20
0
0
-3
83
0
2
-6
8
0
6
129
0
0
41
0
0
0
-25
0
51
-7
4
0
0
13
0
0
0
0
-4
0
-98
4
0
0
0
0
0
-4
0
0
0
0
0
0
-83
0
3
-7
0
0
0
-85
0
0
-11
0
0
-12
59
-5
0
-6
9
0
-5
15
0
0
-9
8
0
0
3
0
0
-4
-3
0
0
39
0
0
0
0
2
0
3
0
0
-1
2
1
0
37
0
0
0
0
1
0
2
0
0
0
0
0
0
13
0
-8
0
0
0
0
-5
0
0
-5
0
0
1
-33
0
-3
-1
0
0
0
8
0
0
-27
6
0
0
-6
0
-40
0
0
0
0
-34
0
0
0
0
0
0
-97
0
-8
0
0
-1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
51
9
-2
16
-54
2
0
0
0
0
0
0
0
-5
-44
3
-37
13
-13
-51
33
-46
-13
-15
59
0
-55
11
-36
-1
-3
-28
-15
3
-2
91
0
-1
-14
29
13
-2
13
0
0
2
-17
13
0
0
100
0
0
0
26
0
0
1
15
0
-4
0
-14
-15
12
1
-42
0
7
-38
-16
-47
-45
11
-55
2
13
40
6
22
79
12
-8
-67
-6
0
-19
10
-58
-13
11
-12
0
1
35
9
46
41
2
0
-43
-36
-48
14
8
23
0
-1
0
-5
-36
0
-15
-13
26
-1
-15
-5
-3
0
5
0
3
0
0
-60
1
-9
-80
-34
1
0
-32
35
15
13
-38
21
7
-15
9
15
-83
12
-46
56
34
19
-6
28
59
31
39
78
-30
-1
24
20
-31
32
53
-29
6
27
-6
3
-25
-30
17
-3
5
40
-23
-42
0
-25
20
0
0
0
-23
5
0
-2
0
48
-3
8
-42
6
-3
-61
-27
8
0
3
-3
-5
-25
-23
1
0
17
-15
-4
9
-41
19
0
70
4
-13
-58
62
16
1
66
2
7
-84
-36
0
-21
5
26
25
8
2
4
12
0
-42
0
-61
22
-1
-59
0
-33
54
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
41
-5
38
-10
-22
6
0
0
0
0
0
0
0
-12
15
-32
-36
-61
-30
-19
-21
21
1
0
-19
7
-78
9
88
-2
-2
-60
-23
-71
-64
25
0
0
-83
1
-46
-13
-57
0
0
10
-83
2
0
6
-15
0
0
23
7
1
-26
2
40
14
-41
1
83
12
13
-3
41
1
18
-19
-65
11
14
-20
-45
0
-4
22
23
10
-53
-8
-41
-25
-11
5
3
31
-17
-46
-97
6
-1
-6
-14
81
20
-121
-23
0
10
-40
-43
-10
-27
1
0
-5
-3
9
7
0
-22
5
-24
-2
-37
12
-17
-89
8
-8
9
-3
-13
26
12
-102
-65
10
-53
-73
-4
43
13
2
-62
2
-7
-4
5
1
-19
-10
-42
-38
-80
31
-9
-9
-8
-47
-57
-72
-18
60
-5
-51
-35
29
-98
33
0
-39
-8
38
-5
-23
13
0
4
48
-63
-51
0
-40
28
-2
0
-12
-12
0
-20
48
3
9
-10
0
-18
26
10
-18
-54
0
-2
16
-22
0
-17
-5
19
0
-22
0
8
38
48
-5
-1
-30
4
4
23
44
10
-6
-4
-20
43
-72
-25
10
24
-20
0
0
-19
-44
-47
-2
-1
37
1
29
-3
-6
14
0
-27
-24
-1
4
-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
5
0
0
0
-8
-24
0
0
0
0
0
0
0
0
0
1
0
0
5
-3
0
-74
0
0
0
-1
0
-1
-14
0
0
0
48
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
45
5
0
0
0
0
14
-30
0
0
0
0
0
-23
-60
0
16
3
-1
0
-27
-6
0
0
-83
0
6
41
-2
0
0
-21
-2
0
-5
-8
0
0
-3
0
0
-1
-16
0
-14
0
5
0
0
-45
0
0
0
0
-2
0
1
0
1
0
-3
0
0
-82
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
0
2
0
0
-3
30
0
3
17
-1
0
-1
11
0
0
21
0
0
-1
-41
3
0
-5
0
0
4
-3
0
0
3
0
-8
0
-30
0
0
0
0
-1
0
-14
0
0
0
0
0
0
25
0
0
0
0
0
5
12
0
0
0
0
0
0
-20
0
0
0
0
0
6
16
0
0
0
0
0
0
-29
0
0
0
0
0
0
-17
0
-1
46
0
0
0
3
0
0
-2
-1
0
0
9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
0
0
75
2
0
0
0
0
0
0
0
0
19
15
9
-8
-22
30
-1
-45
-2
0
0
0
0
8
-13
0
0
0
-28
2
-4
5
0
0
0
0
0
14
0
0
0
0
0
1
-6
0
0
-1
0
0
0
-1
0
37
12
7
0
0
0
0
-41
0
0
-1
0
0
29
14
0
-40
44
0
0
35
-30
0
0
-15
0
0
-10
11
0
0
-20
-1
0
-15
18
0
0
-12
0
0
4
13
0
-9
-1
5
0
0
-9
0
0
2
0
1
0
-21
-15
0
0
-2
0
0
18
6
0
0
0
0
3
-52
0
0
1
-1
0
-10
11
0
0
5
0
4
-26
-11
0
8
-41
-17
0
-22
-92
0
0
-28
0
0
-1
-27
0
0
2
-4
0
0
-35
0
0
9
0
20
0
-32
0
0
0
2
-23
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
41
0
-21
-1
0
0
-1
-10
0
0
8
1
-3
3
31
0
0
-2
-6
0
0
-38
0
6
-1
-2
0
0
-26
0
-20
-2
0
0
0
-67
0
0
0
0
0
0
-12
0
20
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-9
1
0
0
0
0
0
0
0
0
-29
25
0
0
31
0
0
1
0
0
0
3
0
0
-4
8
0
0
-21
0
1
0
-1
0
0
0
0
0
0
0
0
0
-1
0
41
0
0
0
0
0
0
0
0
-9
0
0
0
-3
0
-5
-65
0
0
0
0
0
-6
-97
0
-42
-9
0
0
-5
72
0
-2
-89
0
0
-12
-69
0
0
32
0
0
-2
-26
0
0
-29
0
0
-2
27
0
51
35
0
0
0
63
0
0
0
0
1
0
46
0
0
0
0
0
0
-55
0
0
0
0
0
-8
-12
0
0
-3
8
0
5
-12
0
0
-1
0
0
-1
-80
0
0
-22
0
0
0
3
0
-8
-41
0
0
5
27
0
0
-9
0
0
0
-3
0
0
-1
0
0
0
32
0
0
-1
0
-5
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
4
0
0
0
0
-84
0
0
-1
0
0
0
-23
0
12
0
0
0
0
86
0
0
-7
0
0
0
-27
0
-12
0
0
0
0
-4
0
0
-2
0
0
0
-6
0
-29
0
0
-12
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
-13
12
0
0
-6
0
0
12
2
0
0
-1
0
0
-6
2
0
0
2
-2
0
40
5
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
1
0
0
0
0
0
3
16
0
0
0
0
0
-56
0
-1
0
0
0
-2
-19
0
-82
13
0
0
-38
-71
0
0
19
-2
0
1
-51
0
0
2
3
0
2
-13
0
0
-5
0
0
0
3
0
13
-2
-1
0
0
-13
0
0
0
0
0
0
-84
-3
2
0
0
0
0
-69
17
0
0
0
0
0
31
2
-2
-18
-3
0
2
41
0
0
1
0
0
-3
-97
0
0
-10
0
0
4
-7
0
0
-7
3
0
0
-42
0
0
4
0
0
0
47
0
0
0
0
3
-1
34
0
0
0
0
0
0
35
0
0
0
0
0
0
-35
1
-2
0
0
0
0
-6
0
0
1
0
0
0
28
0
0
0
0
0
0
32
0
-2
-1
0
0
0
33
0
0
0
-6
0
0
17
0
0
-5
0
0
0
-38
0
0
-3
3
0
0
54
0
2
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-87
19
5
-22
-6
4
-18
54
0
6
1
-10
21
-19
-37
0
0
-41
49
-23
-42
-21
0
-4
-18
-5
-56
0
1
0
0
-2
-19
18
0
0
1
0
0
-2
-28
4
2
6
9
-14
3
0
-5
-22
2
-12
0
0
0
25
-4
1
-6
-47
-4
0
0
30
1
3
69
-4
8
-59
-11
0
-17
-7
-15
-42
-49
-16
3
-1
-15
-15
-25
-51
-9
0
-13
15
-47
2
0
11
7
-1
5
0
-29
0
-12
7
44
0
29
-6
0
-22
113
-2
-1
4
0
4
67
28
48
-26
39
-8
-54
-49
0
0
-94
4
34
-27
-2
-23
-16
51
17
-29
52
56
5
25
4
46
49
-28
-39
0
-9
76
-18
64
7
8
0
13
-4
-4
-52
4
17
0
4
15
-18
-33
0
15
-1
4
0
-18
-5
0
13
-28
0
8
2
0
-1
4
2
-17
25
0
0
11
0
0
-21
-43
-33
1
-8
-15
0
1
6
-4
8
-16
-41
-3
20
-32
-5
5
21
-47
-6
-73
-6
-8
1
-10
-7
0
36
42
24
-8
5
22
0
-13
0
10
11
20
22
-32
10
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
51
-4
19
18
-43
-1
-18
29
2
-6
-38
-5
1
77
57
2
1
-58
144
-21
-28
-17
0
0
-47
-2
-56
8
-69
0
0
10
-19
-5
0
-7
-29
0
0
-1
12
12
-27
-65
51
0
-12
0
-88
0
4
20
-52
3
1
-9
-62
0
-29
-10
-92
-2
27
10
0
0
13
-3
2
67
47
0
0
12
-49
0
5
-2
0
3
-1
-29
10
8
12
0
-42
30
-19
15
-7
20
0
-4
2
-2
-25
0
11
-104
44
0
-52
1
0
-34
17
7
0
-1
0
-7
0
0
-2
7
-56
-32
-39
-45
0
-19
14
14
0
-20
-21
-1
19
-44
46
-6
-36
13
-3
29
-18
2
71
-44
-15
1
44
10
-2
-46
12
20
2
-5
-36
1
24
0
-91
10
13
15
-28
-55
0
21
-23
0
-5
0
-108
0
-26
15
0
-17
-9
-2
-3
0
0
34
67
-1
0
37
-26
0
20
-50
59
5
-3
6
0
14
46
-8
2
-56
0
0
38
23
-10
10
-82
-11
0
-20
34
3
5
-24
23
0
34
-1
34
0
0
-3
0
72
2
0
-1
0
-1
9
6
3
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-5
0
4
-15
8
4
17
0
0
-67
0
16
50
-87
0
-7
-3
0
-5
-142
21
0
0
0
0
-2
0
10
0
0
0
6
-54
0
0
-8
0
9
0
-8
0
-15
-30
22
-10
4
0
0
-10
-2
1
-13
0
0
22
12
4
16
-30
26
2
4
23
-1
-4
53
0
0
114
-28
0
0
43
13
0
-29
7
0
2
26
0
0
-1
18
0
-43
20
-6
0
0
-35
0
0
0
0
12
0
0
3
-1
0
0
0
0
-56
30
14
1
0
0
4
59
0
5
33
0
0
2
-42
0
-1
11
0
0
59
-34
9
45
62
17
0
39
24
0
25
23
2
0
18
-8
0
0
12
-13
0
-3
33
0
0
-19
8
8
0
-43
0
0
8
-17
8
0
-4
1
0
0
-2
0
0
-6
15
0
0
8
0
0
-48
0
60
1
0
0
0
-9
0
17
-5
5
0
-1
-27
0
-41
49
-1
0
-3
62
0
-4
-3
0
0
0
-136
0
-41
23
0
0
0
47
0
0
-8
0
0
0
-50
0
-7
0
1
0
0
-67
-1
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
0
0
-74
0
0
-18
-2
0
0
9
0
-1
5
-13
0
0
32
-1
31
7
0
0
0
0
0
-1
0
-1
0
0
0
0
28
0
0
-2
0
0
0
0
0
-20
-17
-9
0
-1
0
0
-56
0
0
-1
0
0
25
47
9
28
-77
22
0
-139
60
8
0
17
0
0
-9
45
0
0
-10
-1
0
9
-17
0
0
4
0
0
-4
26
2
-17
3
45
0
0
-41
0
0
0
0
0
0
-84
3
0
0
0
0
0
-11
-16
0
0
0
0
0
16
0
0
-8
-16
0
-4
42
0
-1
8
0
0
24
-50
0
0
56
-5
0
9
-15
0
0
-42
0
0
-7
-29
0
0
-5
0
0
0
29
0
0
-3
0
3
0
-2
0
0
-2
0
-3
0
-25
0
0
0
0
0
0
5
3
0
0
0
0
0
-41
-2
-16
0
0
5
0
-35
2
0
13
-1
0
0
-72
0
5
-7
0
0
0
4
0
-7
-5
8
0
0
-69
0
-48
3
0
2
0
-45
0
0
2
0
-3
0
11
0
-40
-4
-3
-2
0
-73
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
54
34
-2
46
5
-26
32
28
-1
32
38
5
-45
19
6
-63
10
17
14
-30
-72
-23
9
-4
-39
-60
-2
-110
59
-2
-2
8
14
-28
-2
-32
-32
0
1
-62
-33
25
10
-8
-6
42
-35
3
-33
-37
41
-27
-85
3
8
-25
-8
-137
20
41
52
50
45
68
22
77
72
-36
-4
23
50
-5
42
23
38
26
-19
9
50
66
32
-16
-4
-39
-20
15
35
-10
28
25
-60
-35
-17
5
-27
3
-59
3
-22
-27
-26
20
3
-44
11
-4
-11
38
27
-87
-58
-3
75
-54
28
-18
-1
66
-62
-54
-7
-17
-113
-16
-40
-30
28
12
-41
42
58
-11
25
12
31
3
24
-23
36
12
-4
-8
-8
20
19
-54
-14
0
52
-66
-14
-52
-6
13
-15
2
39
-11
10
-12
6
-29
-42
87
2
-43
-23
13
14
-51
12
2
1
48
26
-22
-23
-86
28
-126
117
-4
-18
-42
15
-13
11
-50
18
8
-20
30
-21
16
36
-32
1
47
3
23
47
-45
39
3
-31
-11
8
9
-22
5
-20
-13
-21
32
-7
-30
-15
3
11
-12
-67
-16
-40
-1
2
8
9
-4
-62
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
7
-82
-8
-2
-42
4
-2
19
-13
2
14
33
-84
-36
-9
3
-4
-2
-29
-61
-39
-10
-13
-77
15
21
-47
-22
3
4
-9
-4
7
-1
-6
-3
24
2
-1
-35
23
16
-15
2
-27
-6
2
54
7
0
6
13
0
1
8
-49
16
-85
-31
8
-4
14
0
-6
-58
-17
24
51
-42
-3
-55
-31
-16
-2
-106
-2
-24
10
-54
-11
1
-39
32
-1
-6
5
40
-29
-71
78
-20
-42
19
28
0
-40
0
3
-35
-23
23
49
9
15
0
25
-4
-72
0
-5
-33
-37
25
-83
-35
-3
51
-16
-16
10
-32
-16
-29
-49
2
-104
-49
28
-38
2
10
8
-22
-25
-22
7
43
54
40
-18
6
30
-2
30
-71
-23
-27
17
-69
28
-2
-6
35
14
22
4
52
30
-35
16
17
14
-13
17
-25
6
-3
2
52
0
42
-3
-41
20
-40
-43
40
85
-4
-52
-13
-4
-29
5
26
8
13
-31
6
-10
9
14
1
-5
-24
-47
-4
77
-14
-15
10
-3
21
8
-12
44
7
20
-34
-4
-5
-26
40
-48
9
46
-21
-4
-66
34
-1
-6
-58
-8
15
93
-11
2
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
-4
-1
21
-3
0
-9
-53
-4
0
-55
0
0
-34
-47
0
0
-26
17
0
-25
40
0
0
-5
0
0
-19
6
0
-6
15
36
-1
0
7
-27
0
-1
0
0
0
21
28
0
0
0
0
6
-23
-3
0
-2
0
0
14
-21
-1
1
48
38
0
-25
7
0
-6
13
5
0
-42
-63
0
-3
-82
-95
0
-9
9
0
0
-42
0
0
-40
-6
0
-28
21
18
0
-54
20
0
0
0
0
0
0
10
-8
12
0
23
0
-1
10
14
0
0
-8
0
23
-25
-5
-10
-36
49
0
9
2
0
6
19
0
0
-89
19
0
16
-38
-3
0
50
-15
4
-8
-41
5
0
-8
-36
6
2
-27
-33
0
-3
-29
0
1
4
2
0
4
-29
0
1
-9
0
0
0
9
0
0
0
0
0
0
53
-16
4
0
5
0
-4
-62
0
-17
65
0
0
-2
4
0
2
76
7
0
13
46
0
-3
-42
1
0
0
6
0
-20
-1
-1
0
-8
-52
-6
-50
18
-2
0
-2
-56
0
0
-42
25
0
0
-17
0
2
-4
-1
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
42
-52
102
60
13
30
-13
9
71
-16
-27
-16
-30
-19
-22
-72
71
-57
-60
11
-44
-22
-53
-55
-40
-18
-27
3
69
-25
24
-32
13
-11
-58
17
-57
-49
41
-34
-1
-22
28
52
39
10
-33
-19
-59
-20
-65
0
-22
-14
38
16
19
-21
44
13
-9
54
51
-4
-48
-1
5
14
38
-2
-19
28
-10
-15
2
-12
3
-35
-106
14
-27
-18
-46
35
-45
-45
-97
-42
-36
-45
-5
11
-18
-14
-75
-7
-2
-50
25
19
13
-32
6
-1
-9
-2
-13
62
9
-3
26
-4
-9
24
11
-2
-30
13
7
-8
-11
40
20
-5
15
9
-9
8
-21
17
81
16
29
-22
-76
14
3
26
4
29
-19
-78
-36
-8
9
16
5
-43
38
-100
2
-16
3
-61
3
-19
27
-48
-9
4
24
29
16
-46
20
-2
35
-23
-24
3
14
9
-94
-32
24
-3
48
-37
5
-8
-19
-22
-6
19
-8
11
-14
98
28
-14
2
-18
25
3
-7
-55
-10
-78
-1
6
61
11
-58
-19
-27
48
-5
-25
5
60
-23
-22
-21
-67
-80
9
-83
4
13
-12
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
43
-2
54
-4
-28
-44
7
-1
13
35
-27
13
0
-40
0
0
25
3
-76
7
16
-12
10
-13
4
3
0
0
23
0
4
5
-7
3
-48
13
16
-24
-9
0
79
22
-2
0
16
3
-2
35
13
-3
-36
33
-60
3
-143
0
-29
15
-82
-5
6
69
-48
-4
-5
-10
-53
4
5
-48
0
-8
-23
6
-14
-45
-25
2
-15
-40
-57
3
-8
6
0
-2
-5
18
3
0
-23
85
22
0
-103
2
-1
-3
27
-9
28
2
0
35
17
25
43
6
23
-6
-18
23
-3
8
12
1
21
32
0
-3
-27
-18
-66
-2
15
-49
-34
69
-25
-3
-5
-80
9
-4
59
39
-72
-3
23
-12
0
9
22
14
-60
-5
11
-2
7
-10
21
74
3
-67
8
23
1
-1
-17
7
29
9
-43
-1
0
-14
2
11
4
30
69
6
15
31
-69
8
-50
-52
-106
-9
-32
0
-15
-43
-4
12
14
-14
-22
13
1
-24
-30
6
-30
-42
-1
10
1
-14
5
5
-17
0
-28
-34
0
-15
-8
-2
0
57
41
3
51
0
-6
-12
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
24
0
0
22
6
-1
28
1
0
5
-15
-3
1
-57
-19
0
0
18
0
0
0
1
0
0
0
-1
29
0
0
5
0
0
0
-10
-4
5
-2
0
-4
0
0
22
-50
0
4
-10
0
0
-15
-13
6
-14
-7
-3
1
53
-16
0
0
-44
-2
0
-11
53
0
0
-71
3
0
73
-38
0
0
-5
0
0
3
-15
0
-20
0
6
0
0
-93
0
0
-1
0
0
0
-49
0
0
0
0
0
-7
72
1
1
8
0
0
11
-8
0
-17
38
-10
0
-60
-39
0
12
-18
-1
0
9
-3
2
-7
-38
5
0
-9
-11
0
13
-8
0
0
-23
-42
0
0
-8
-12
-1
-6
16
0
-4
-1
0
0
0
-70
0
0
-3
-6
-3
0
36
0
7
-3
3
0
0
121
0
1
0
0
0
9
10
0
-20
0
0
0
15
-28
0
1
-23
3
0
-9
-35
4
14
21
0
0
8
72
0
5
5
-24
0
0
57
0
43
5
0
0
0
-26
0
0
13
-2
0
0
59
0
4
0
3
0
0
46
-2
8
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-8
0
0
-72
1
0
-28
19
0
0
-16
31
4
24
-32
0
0
-1
0
5
0
7
0
0
0
0
-76
0
0
78
0
0
0
-1
4
-6
-5
5
1
5
0
56
48
0
9
5
0
0
13
25
23
-43
-61
-22
2
-76
-52
0
10
-18
0
0
119
12
-8
9
-48
11
4
52
-18
0
0
-38
3
0
-4
-93
0
46
-14
-6
0
0
15
0
0
0
0
-5
0
29
43
0
0
0
0
0
-57
-17
0
0
0
0
0
108
13
4
3
9
-7
-27
3
0
5
31
0
0
-23
-32
0
0
54
30
0
-72
-3
-8
-4
50
6
8
22
29
0
0
3
-10
0
-4
-55
2
0
27
0
0
-4
23
0
0
3
0
18
0
-11
0
0
0
3
-1
0
-50
2
6
0
0
0
-2
-40
0
31
-25
0
0
0
31
-4
0
-42
-8
0
6
-31
0
-25
46
0
0
-7
2
0
-5
-42
13
2
3
-79
0
-12
-59
0
0
0
-23
0
0
6
7
0
2
-18
0
36
3
0
1
0
-60
-1
0
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
-50
-3
-7
-36
-6
-43
4
15
1
57
25
-18
24
10
-12
-19
-16
-41
-26
42
-12
-55
-7
7
-7
8
-47
-22
29
-4
2
7
-5
-32
-2
52
29
-18
-11
11
-11
27
31
41
54
-62
29
-2
-20
-16
5
-69
-5
-10
4
-37
-12
-12
72
-36
17
15
23
25
0
-124
9
-13
-17
-53
21
-42
32
46
-15
5
-6
-3
-34
-43
5
-26
-14
-30
23
-37
-11
-66
33
-8
-43
-1
-9
-11
-1
17
-24
26
-49
26
-13
-14
20
-30
-49
-20
-12
-4
17
51
1
51
2
-2
38
0
-6
54
0
-12
-28
31
-3
-34
-20
-42
33
-49
-1
69
-3
-25
0
44
-15
53
-14
15
-41
-20
14
-12
30
-9
-8
-88
19
-22
-34
-39
-68
18
-15
-6
-13
3
29
57
15
12
19
-55
20
8
3
50
-17
-15
-17
18
-77
-6
42
-27
-68
-28
30
19
0
25
-74
-91
-3
20
-99
-82
-34
-74
48
-23
-29
-11
23
-24
24
-8
5
-18
-53
-2
24
58
-40
31
-9
-40
-59
19
-66
31
-46
-24
-18
-27
-43
26
-6
29
22
-23
-87
34
-53
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
3
-2
0
-66
13
27
-68
91
-6
-2
3
1
-12
-62
-106
10
-1
12
0
58
83
-54
0
0
51
0
1
0
1
0
0
0
0
45
18
8
-5
19
-65
13
0
30
-13
0
-28
-44
-3
-2
-24
20
0
-10
3
0
4
-2
2
0
47
-53
13
1
25
-32
0
-3
-4
2
10
32
1
0
-41
9
-4
-8
-1
18
2
27
-23
-4
15
19
-12
5
9
-6
0
-18
0
-28
-48
64
-3
3
-45
-4
-11
-52
-4
48
0
0
-49
0
7
-53
-24
-15
-10
25
12
3
2
-14
13
16
30
12
-34
18
0
-3
-13
16
-20
9
-9
-36
9
67
9
-2
17
3
-6
-12
-27
-7
-27
-2
-5
47
0
6
18
-28
1
24
-24
-24
-18
0
-17
107
1
-3
-1
-62
0
-28
-115
2
-29
0
0
66
20
1
-20
-5
0
8
-54
19
0
-23
19
3
-15
8
-14
27
-22
31
0
-18
-111
-4
-3
11
-27
21
24
21
10
2
-2
17
0
53
50
39
7
67
-37
2
38
41
-33
-9
11
-3
-6
-6
0
-14
-50
13
-30
-2
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
-1
-1
0
0
61
14
0
-101
-6
0
0
-30
-13
0
-30
-46
2
1
-26
-2
0
-6
11
0
0
7
-12
-1
0
0
58
0
0
17
0
3
25
-29
-30
-1
38
0
-27
-21
0
27
-5
0
0
-28
-15
0
-1
-23
-41
0
-2
-40
-4
-2
-6
1
0
1
28
1
3
51
28
0
-56
-1
-2
0
-8
24
0
-26
-15
-2
-45
-26
-41
0
-4
-93
0
0
25
14
0
0
-6
5
17
0
0
0
0
-24
6
0
4
0
0
1
-6
43
4
54
20
-1
21
11
0
4
58
0
8
50
-32
0
56
-15
-79
0
31
-23
2
1
-33
-5
0
-18
22
0
4
-19
31
0
53
-49
0
-2
-64
-5
0
-6
-76
-2
56
-8
5
1
0
-27
2
0
0
-1
2
8
-15
-4
1
3
13
0
10
-5
14
43
-7
1
0
-28
-50
0
-29
-54
2
0
52
0
0
61
2
-3
0
-17
29
6
-14
50
85
0
-51
-19
-3
20
39
0
0
-5
-58
7
-1
-48
-20
0
-25
-36
0
-48
38
0
0
1
-7
4
3
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
54
25
13
25
14
-11
-45
2
-19
-63
-7
15
-32
29
-30
5
-42
-62
9
-7
-56
47
-23
-27
-27
6
-16
37
-4
-30
-47
59
24
-22
22
16
-66
41
-4
22
-67
-34
1
-27
8
-9
-6
13
-70
-4
49
44
-1
75
-39
-56
0
6
-52
13
5
-32
-39
-13
-83
-51
-23
-12
-3
-17
-26
-33
12
0
-3
-19
10
-37
51
21
-8
-40
-20
-29
10
-9
-54
-27
-19
-23
-32
12
18
23
99
-10
-16
9
-22
-12
-3
-9
21
0
34
4
75
-25
4
-27
39
-10
14
55
0
3
9
42
10
3
67
49
-6
-38
-25
-39
-9
18
-24
16
14
14
-36
-8
-39
-35
-1
-68
6
-4
-25
23
44
3
-31
22
-25
2
45
55
-8
-29
21
-102
2
66
-23
-47
-13
53
79
9
12
13
32
46
34
-11
-1
-36
7
-17
-36
46
14
21
-18
1
-25
11
-53
-28
8
-3
-28
-4
-18
12
41
-19
-14
-4
-11
20
-32
-41
-5
-10
-24
13
-6
-7
-30
-12
31
-38
44
-58
29
-47
-15
-3
-3
18
-43
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
35
2
-3
-41
-6
2
-115
-27
0
-1
17
31
11
-20
10
0
0
28
28
-37
0
0
-8
0
3
6
-20
14
17
-31
22
10
-61
2
19
12
20
0
48
0
-4
18
9
35
-20
-15
-24
1
-7
22
-3
11
0
-6
-30
-54
0
33
-6
-33
-10
-21
15
-2
6
36
-17
13
-45
-20
-4
0
-1
25
10
27
-49
9
19
-1
-7
5
-41
0
11
-61
-34
-3
-1
-29
-15
-8
-53
40
7
-4
0
-4
-16
-64
-82
-15
36
-26
17
-3
5
-12
30
5
0
1
28
14
-2
10
36
19
-26
0
-15
-51
-138
19
175
-87
-27
7
-16
-58
38
-15
31
-21
0
-7
-22
-16
-108
-2
-3
0
-21
57
-66
-21
0
6
23
-1
-3
-6
-19
0
-16
-11
108
-1
-29
0
-19
34
43
10
39
2
-3
-57
19
-7
-18
-38
-69
0
54
33
-10
-113
-95
1
16
-78
0
6
33
1
-60
4
3
16
-7
24
-33
42
43
-23
-71
0
-29
-108
4
100
0
-3
0
-20
-35
-8
6
-1
-39
-11
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
18
0
0
52
3
0
0
19
0
8
-1
0
0
0
0
0
-10
0
0
0
0
0
7
0
6
-5
-8
40
0
0
0
0
51
0
0
-2
0
-1
-9
35
0
-6
-6
49
0
-49
47
0
0
91
0
0
68
-7
0
0
5
-25
0
49
53
-1
0
-2
18
0
-3
71
0
13
-1
0
0
0
68
0
0
-1
19
0
0
2
0
-13
8
0
0
0
-19
1
0
0
0
0
0
30
0
-1
2
0
0
-2
-6
0
0
-40
0
0
-7
-6
0
33
-45
-1
0
63
-75
0
-1
1
0
0
-8
-17
0
0
-9
108
0
6
13
0
0
0
0
0
0
-25
0
0
-16
0
9
0
-72
0
0
0
-8
0
0
39
-1
-4
0
0
0
5
52
0
4
0
2
0
-10
-19
0
-4
2
0
2
6
-4
-2
-1
-2
0
0
0
-60
0
0
41
-8
0
0
-41
0
-67
17
-8
0
0
-36
0
18
7
0
0
0
-29
0
-13
0
-1
0
0
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
95
0
3
-17
17
0
0
36
0
9
-1
2
0
0
1
-1
3
0
0
-6
0
0
1
4
-2
-3
1
13
-8
0
0
-8
-34
12
0
44
0
0
40
33
0
13
-62
-3
0
-100
28
-1
0
34
0
0
48
-68
0
0
57
0
0
1
32
0
0
-28
-1
0
-1
45
0
-35
6
-6
-12
0
-19
9
0
8
0
2
0
-48
41
0
0
0
1
0
47
6
0
1
0
0
0
-35
0
-2
-11
-2
0
1
42
1
0
-70
0
0
26
-53
0
5
-28
-5
0
-8
-41
0
0
-8
-1
0
-7
-9
0
0
89
21
0
-2
1
0
-3
-8
0
8
0
-18
1
0
-3
-2
-7
0
-24
0
0
0
0
0
0
-6
0
6
1
0
0
0
-51
0
-27
1
0
0
0
6
0
0
-3
90
0
-1
19
0
3
-3
4
0
1
-47
0
0
1
8
0
0
-10
0
-30
-5
0
0
0
-68
0
-1
1
0
0
0
-37
0
41
0
-1
0
0
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
11
-6
-13
-4
11
-44
-8
64
4
-7
-12
5
-78
122
43
-4
-1
10
-11
-45
0
36
-2
0
-2
14
-73
-8
2
-36
71
13
15
0
-31
2
-2
-4
6
-3
-6
-44
20
59
-38
12
-23
-3
-12
-14
70
65
-9
44
-8
-12
49
-16
55
-1
-2
14
69
26
2
46
-61
-30
-24
-19
-41
0
-18
-12
-27
-2
-1
-5
4
-1
5
-11
-25
0
10
13
-15
0
13
-5
-1
-11
-72
-4
3
-1
-10
19
17
4
22
-7
27
0
57
9
-4
11
4
-37
-9
-18
10
30
-40
50
-81
-26
6
7
53
114
-47
26
-69
-86
-17
32
40
16
-30
-49
-41
-10
-8
4
-41
-30
-25
-51
-5
2
0
-22
-60
-48
7
10
-42
0
-1
0
-10
7
-17
11
-88
-6
-14
0
45
1
8
-11
-20
0
-7
-67
-27
4
-108
-46
-68
-5
-80
12
-9
-71
-28
34
7
-55
18
-31
-92
23
-77
-12
52
41
6
-37
59
-42
-56
6
-34
16
-7
34
-64
-14
-3
35
2
-27
-1
-5
69
0
12
63
-2
0
24
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-47
0
44
-81
-8
0
0
-5
0
17
1
-3
0
0
-5
0
-55
0
0
12
0
0
0
-1
0
4
-7
0
8
22
0
14
-12
0
0
3
0
0
-18
-133
0
19
10
-6
0
1
27
0
-4
-16
0
0
19
-26
0
0
5
0
0
51
-56
0
0
-5
0
0
12
-23
0
36
-12
3
0
-8
-8
0
0
0
0
0
0
42
-5
-5
0
1
0
0
33
0
0
0
0
0
0
11
-1
7
-24
0
0
40
-49
0
0
-41
0
0
-10
-62
0
0
-59
0
0
-58
-30
0
1
42
0
0
88
-32
0
0
-8
0
5
-3
-8
0
3
23
0
-1
-2
-9
0
0
-10
0
-9
0
18
0
0
0
0
0
0
-67
-4
0
0
0
0
0
-64
0
6
1
0
0
0
-22
0
0
4
1
0
-1
-11
0
-20
0
3
0
0
-48
0
-10
4
10
0
0
-33
0
22
-41
0
0
0
-17
0
0
-4
-2
0
0
5
0
5
-2
0
-7
0
-128
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-1
-57
0
-59
-2
0
-1
-124
-31
0
94
31
0
0
-35
19
-2
0
7
-21
0
0
16
0
-4
0
-50
-101
13
30
0
-22
-4
0
-12
8
29
0
28
1
7
-10
-4
-46
0
-14
1
2
-15
18
-7
0
-45
-7
-2
1
-16
-76
0
9
-16
-3
0
-7
-27
0
4
-3
0
-18
18
19
-2
68
-10
-3
0
17
27
0
0
12
-4
-114
0
85
0
4
9
-48
8
6
-3
0
79
-2
-30
47
79
45
0
30
-5
0
4
7
-3
0
-44
-34
44
34
25
-78
0
25
0
-9
6
-20
56
-5
-9
23
-9
8
10
42
0
47
32
25
-2
45
61
0
-26
-15
0
-4
-50
-24
0
0
-27
5
8
0
29
0
0
0
-14
0
9
-15
0
-8
-25
0
-28
-61
20
0
-31
4
0
5
20
72
0
3
12
32
26
-88
-3
0
-27
2
-3
48
-27
35
0
27
39
0
19
-1
1
0
8
-15
17
-19
-8
-93
0
0
5
0
-1
-1
-13
0
0
-34
-43
0
-1
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-137
-11
40
-4
13
-43
-85
14
17
-2
-1
-9
-68
-81
0
39
-29
0
-1
-57
-50
1
-1
-29
-33
-78
-14
0
3
-14
-18
22
-48
30
40
-6
12
53
40
-3
-25
-3
-11
-2
-22
-39
-5
-30
10
-68
-12
3
11
-1
-47
-9
-35
-35
21
48
-52
-25
-27
-93
-24
89
25
27
-17
-10
-9
-28
12
-2
12
11
-2
0
12
-27
-8
-6
-53
-13
-4
-9
-79
40
-16
49
10
-4
-38
38
3
13
-26
-14
27
15
-1
72
-11
11
19
77
40
14
18
-3
8
-25
48
19
10
44
-43
-116
-141
-92
-26
-4
31
-47
-38
-23
-43
-39
0
-50
-33
-6
-60
-8
11
0
14
-19
-2
-13
0
28
-75
-2
8
-13
54
-4
-2
21
5
32
45
-3
15
17
17
14
83
0
-61
-19
-20
-21
45
-29
15
18
-26
34
47
-7
15
-19
-8
32
-2
16
-48
-41
-84
25
7
-19
-1
12
-82
-53
-43
-1
27
1
46
-6
-5
28
4
-22
-5
45
42
30
62
-2
6
-72
-13
16
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-72
-3
-1
9
1
-26
36
44
0
1
-3
-27
-55
0
1
21
0
0
12
-19
-1
-2
-54
-6
-8
7
-4
-21
11
-12
10
-6
0
0
-5
-48
-1
6
-30
-28
2
-23
6
-23
-18
-4
-25
26
-24
-24
-1
-20
13
-78
-13
81
0
-10
-7
-47
19
25
25
-46
0
-13
-49
23
-91
40
-38
0
1
21
19
-49
4
-10
-13
58
0
-62
17
1
27
-48
-7
29
-1
0
7
-29
-16
11
-30
58
-6
-29
-14
31
30
66
5
6
-10
1
-1
-58
-31
14
34
-30
23
64
-47
-27
-7
-44
-15
0
6
17
13
4
36
-22
-1
0
-6
-37
7
-27
27
-10
3
-19
67
84
-20
0
-29
4
-1
0
-29
35
-2
-10
-26
-8
-6
0
2
1
-26
-8
1
-29
0
-3
-10
-23
-10
-52
-57
-12
0
-40
36
40
-27
18
-12
12
58
10
19
-44
-77
-20
-6
67
0
5
55
39
1
3
-65
14
6
-2
-115
-23
-20
8
8
0
21
16
-8
74
22
6
20
34
-12
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
0
0
8
0
0
0
-2
0
0
0
-1
5
0
0
6
0
0
0
0
0
-60
23
2
0
0
0
0
33
0
-1
1
0
0
8
9
0
-49
-38
-7
0
-62
-16
0
0
22
0
0
-120
17
0
0
47
-18
0
20
-84
0
0
-7
-3
0
0
-8
0
-83
0
-2
0
0
6
0
0
0
0
0
0
-9
7
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
-4
0
-1
0
-4
18
0
0
-12
0
0
-9
-74
0
0
41
-4
0
13
-37
0
0
-5
0
0
3
-20
0
0
-5
0
0
-8
46
0
0
5
0
0
0
-27
0
0
0
-2
2
0
22
0
0
0
0
0
0
11
3
2
0
0
0
0
-13
0
0
0
0
0
0
-27
0
0
17
0
0
0
-52
0
0
-4
0
0
0
-43
0
-6
0
18
0
0
-7
0
34
1
0
0
0
25
0
0
-6
0
0
0
-31
0
-13
-25
4
0
0
7
-2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
0
0
-1
0
-1
0
0
0
0
32
0
0
-3
0
0
0
-1
0
-62
-4
0
0
0
0
-2
-60
0
0
23
0
0
-23
32
-17
-50
3
17
0
12
11
0
0
-24
0
9
-36
29
0
0
22
-2
0
-27
-23
-6
0
-11
0
0
-2
-3
0
-62
-2
-3
0
0
36
0
0
4
0
0
0
-48
-2
0
0
1
0
0
-17
0
0
5
0
0
3
-14
0
0
-13
0
0
-21
2
0
0
2
0
0
-2
-38
-2
0
77
1
0
-4
-43
0
0
-53
0
-1
0
-22
29
5
-5
-2
0
12
-117
0
0
5
0
-2
0
29
0
0
-16
0
0
0
-24
0
0
0
0
0
0
6
-7
0
0
0
0
0
12
0
-1
-7
0
1
0
-13
0
0
-3
7
0
0
-54
0
6
8
0
0
0
-70
0
0
-3
0
0
0
-82
0
-1
0
-19
0
0
53
0
0
0
0
0
0
85
0
-7
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-63
8
-5
77
9
5
64
-5
33
3
-13
12
-5
-1
-6
-76
27
19
35
-68
27
5
-57
-135
15
-34
3
-19
-5
0
-41
18
43
-16
-10
26
7
-7
-21
-49
-5
2
5
33
4
-13
8
-5
-45
5
-63
-22
25
-11
-56
-60
-19
61
-87
-42
60
64
27
6
1
27
64
18
-35
94
-7
1
-44
20
-35
-77
0
-3
-24
-6
-5
-40
21
15
8
-55
26
64
-38
21
-47
-24
-35
16
-17
-6
44
31
12
-20
-115
14
44
-11
-71
9
-3
-21
-30
6
-34
-12
-5
11
-3
16
-42
-3
7
-6
-54
52
-11
-27
-42
24
1
23
23
55
-94
-10
34
-12
-38
-30
-31
20
-7
8
-5
-41
48
1
-44
10
-5
-16
-27
-52
52
-99
-30
-8
16
15
-17
-1
47
24
9
-12
-39
-27
-8
-47
-133
-38
17
-70
-67
42
21
-11
-48
-41
-47
-15
31
-29
48
15
4
48
-9
38
-13
-85
17
-10
3
-30
51
-11
18
12
-9
-7
3
-31
18
16
28
-35
-94
39
6
-9
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
24
0
2
3
0
20
39
-30
29
0
18
0
5
0
0
-36
0
0
0
27
5
-11
12
-1
3
-1
12
4
-30
33
-4
23
0
25
16
8
-4
-9
3
7
-2
-5
-51
0
20
-18
0
0
19
-23
0
-7
-49
0
-6
34
-27
-6
25
1
0
0
37
43
0
52
-32
-1
-12
14
14
4
21
-22
0
-35
0
1
16
-9
0
0
-7
0
-32
30
0
-5
0
-10
-42
-11
6
1
60
0
-11
19
13
5
17
-9
0
2
26
-24
6
29
4
-13
6
1
-15
0
0
23
0
19
57
6
10
-4
-19
7
2
78
5
0
0
22
0
43
-10
37
-1
13
105
0
-44
0
-25
-2
0
0
0
28
0
-17
31
0
0
0
0
0
-56
-6
-24
113
0
-49
40
10
0
5
16
0
4
29
12
2
17
25
0
0
2
-4
16
-11
-36
-1
13
-5
3
2
38
-44
0
8
2
21
0
0
-40
0
104
5
-9
-4
91
-7
0
-28
0
-27
71
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-43
0
0
-10
-6
0
-44
18
0
0
35
1
0
0
3
16
0
0
-49
0
-8
0
48
-108
41
-36
0
-14
1
0
41
-15
0
0
-51
3
13
-14
0
-7
0
-21
-4
3
-18
-8
22
0
-43
7
-1
-1
-29
41
0
8
-12
26
-3
-5
-11
0
17
3
0
-27
6
7
8
76
9
0
0
19
-4
0
-8
1
-3
12
16
-50
0
0
9
64
-6
-9
-2
0
-153
-15
-13
18
18
-24
0
-79
25
3
-15
37
-33
0
10
13
-7
-16
24
-39
0
-17
-17
71
12
-15
-8
0
-24
18
9
4
-35
6
0
54
6
0
-4
29
-23
0
13
14
3
38
90
45
4
0
-15
-8
0
-2
-11
0
0
15
-44
0
-21
1
0
46
-30
3
21
-18
-8
0
-116
25
9
-19
-9
-7
0
66
39
-7
-33
66
-22
0
35
-14
19
65
11
18
0
-47
1
0
-1
2
56
0
32
16
7
-2
34
34
0
29
22
0
62
-27
3
0
-6
7
17
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
44
-1
-12
-8
9
0
-20
-24
0
2
-6
28
-1
-13
-47
22
-99
-36
-5
-38
-20
-28
-20
-63
41
-76
16
24
17
12
-55
-47
2
-11
16
-31
-8
15
59
-13
-33
10
-2
8
-21
-20
-10
-6
8
4
42
23
32
43
-120
52
5
-1
9
-30
-42
-9
-4
-29
5
31
17
-49
0
11
-19
-20
18
-80
-38
-5
6
13
2
-6
-5
14
-81
-44
40
-27
-83
-31
14
-46
10
6
-7
-40
-6
61
-70
32
-27
-7
-40
-45
-25
-15
24
-18
67
1
-8
-16
41
17
11
-143
-14
-33
9
65
17
-2
50
16
-16
-28
-1
-37
-1
-6
49
-43
5
0
11
-15
0
3
-54
-69
0
0
35
-2
15
-22
-1
-44
-13
2
-31
8
37
77
79
-13
-4
11
44
36
100
97
3
-2
-55
-25
7
-2
-103
2
-5
-62
15
-49
-2
42
12
-8
5
-22
-53
44
-3
17
1
13
-5
-41
86
0
-16
0
-41
-21
8
-8
0
-13
10
-19
-2
-75
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
23
-48
-12
0
0
-53
0
2
-6
18
-3
-12
-63
-32
-15
-43
1
-86
5
0
-1
-39
1
-3
-41
6
5
-50
-25
-10
0
-13
-10
2
18
22
-23
0
-39
24
0
1
17
-20
29
-41
-13
-17
5
19
0
7
114
0
19
-10
67
-78
5
-9
-33
8
-2
25
3
-16
0
-27
-32
-8
0
43
-13
9
-1
-54
1
-2
-3
1
30
29
8
-151
-20
-48
-19
-15
-26
9
-2
38
-3
-19
-11
-29
10
-37
-50
-59
-31
-80
13
2
16
-5
10
8
-56
-7
1
25
-79
-23
38
157
0
0
6
9
31
-19
7
-55
2
-8
-33
-60
-50
1
-4
-7
0
0
1
42
0
-24
90
-8
0
-1
0
-17
-40
5
-42
28
8
-1
28
-1
0
127
-61
-23
0
-32
8
7
2
-31
46
0
-18
21
94
-2
11
-82
0
-17
26
-12
-4
-69
34
23
13
0
7
38
82
8
0
-6
-41
0
-60
-7
5
11
0
-21
-12
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
38
0
0
0
0
0
0
9
0
0
0
0
12
0
0
0
-38
0
0
0
0
0
-1
-17
0
1
69
8
0
19
-147
0
3
1
0
0
-6
5
0
0
83
0
0
-13
67
0
0
23
-2
0
14
-1
0
5
0
0
0
0
13
0
0
0
0
1
0
-91
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
-24
-7
0
0
0
2
0
0
12
0
0
1
15
0
0
-3
-2
0
-8
-4
0
0
6
0
0
0
13
0
0
4
0
0
0
-5
0
0
14
0
0
0
-5
0
0
0
0
-2
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
57
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
14
-9
-1
0
0
-21
0
0
0
0
0
0
30
0
-3
0
0
0
0
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
-142
0
0
5
0
4
2
25
0
29
7
1
0
-17
54
0
0
19
0
0
-1
-13
0
0
-32
1
0
-4
-32
0
0
-17
0
0
16
5
0
-13
1
0
0
0
-8
0
0
0
0
-2
0
71
0
0
0
-1
0
0
35
0
0
3
0
0
0
-33
0
0
-1
1
0
-1
-19
0
0
-2
0
0
-1
-14
0
0
43
-4
0
-4
-141
0
2
5
0
0
0
-3
0
0
-8
0
0
0
-32
0
0
-1
0
0
0
-3
0
0
1
0
-1
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
-1
0
0
0
0
7
0
0
0
0
0
0
9
0
0
-2
0
0
0
-9
0
0
-1
2
0
0
-63
0
7
-1
0
0
2
-14
0
0
0
0
0
0
-59
0
13
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
42
0
-1
4
-9
8
0
0
-75
0
0
-8
-92
-2
-23
-47
-26
19
29
0
-49
28
0
-12
3
0
2
-21
6
0
-15
-30
-97
0
-15
-5
-1
0
-67
9
2
-35
25
0
-3
-17
31
-2
-12
10
-3
5
-11
32
-79
46
6
19
12
-4
1
-8
14
28
10
0
-6
34
-37
0
11
15
5
0
11
13
0
-16
41
0
1
0
0
23
-6
41
39
-33
-52
33
-18
5
-2
-5
-1
0
-29
-39
25
-20
12
37
-45
-32
-45
-11
40
-4
0
-45
-50
58
-13
4
3
32
-37
30
78
-2
-1
-4
-1
4
-15
-19
-37
0
9
8
32
11
0
-12
1
0
0
10
-2
-5
-51
2
0
0
-2
-2
1
18
22
-67
3
0
-8
-25
-29
1
-14
-27
-18
0
6
36
1
-14
17
41
-1
35
20
6
-32
-61
-19
-3
-12
-23
-1
42
8
0
-2
-8
-22
0
0
23
70
-10
0
14
0
-10
0
8
30
0
-12
27
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
0
0
-32
0
-29
0
0
-3
0
0
0
7
0
16
0
0
0
0
0
0
-23
0
0
-7
0
0
-8
-37
0
84
-64
-19
0
36
-30
0
0
-14
0
0
-30
1
0
0
51
0
0
-11
6
0
0
4
0
0
30
-52
0
-23
-56
3
-5
33
35
0
0
0
0
-4
0
34
16
0
0
0
0
0
-34
0
0
0
0
0
-4
-31
0
-4
7
0
0
-1
30
0
0
64
0
0
30
-31
-5
0
-9
0
-3
-18
-76
0
0
24
0
0
19
2
0
0
22
29
-1
-8
4
0
0
54
0
-6
3
-12
0
0
8
-8
-11
0
-42
0
0
0
0
0
0
-25
-8
0
0
0
0
0
-23
0
1
0
0
0
-9
4
0
0
3
0
0
-6
9
0
-5
12
0
0
0
-17
0
0
2
41
3
17
44
0
-2
12
0
0
0
-60
0
0
-29
3
0
0
8
0
-6
0
0
8
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-92
-5
0
3
7
-1
0
44
-31
0
0
27
0
13
19
35
-56
0
50
0
-87
12
0
0
3
0
0
24
-10
2
-32
-3
43
0
0
-1
1
-5
13
-4
0
18
12
31
-1
11
20
0
-12
-15
-5
-3
6
36
0
-53
-36
13
-85
33
-6
0
79
-14
-13
-2
20
3
0
0
14
12
26
-3
-30
0
-15
19
37
16
5
-1
0
22
2
79
7
9
64
-2
43
31
8
6
16
14
0
-6
-24
5
-58
-2
35
-10
-5
19
-13
75
40
40
0
5
30
-6
-35
20
35
1
46
-7
-20
10
32
22
0
66
-31
0
-38
-26
12
-8
0
7
23
5
-2
62
0
-8
18
7
0
17
4
0
8
-35
-8
-105
-61
-2
1
67
11
38
6
-35
-3
0
30
12
5
18
39
0
2
2
13
3
9
42
39
0
12
7
0
-42
38
32
0
-27
-2
-1
43
14
-11
0
17
4
-2
-6
1
10
0
4
8
35
-15
5
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-64
0
0
0
0
0
-48
-6
0
0
0
0
-3
-8
0
0
6
-3
0
-58
-50
0
30
-85
-1
-2
-25
19
1
0
-11
1
0
-86
-31
0
6
44
0
0
41
-52
0
0
-55
15
0
40
-38
0
-40
-91
-40
1
0
3
0
0
13
19
0
0
2
-5
2
-8
5
0
0
-55
2
0
4
9
0
1
-19
-4
0
-1
90
-6
2
-5
1
0
-54
0
-13
-31
10
0
-31
-50
3
0
13
-1
4
0
-51
-5
1
4
-17
0
-4
-78
42
8
0
-1
0
0
11
-8
-10
0
33
0
-1
-15
-17
-41
0
-58
0
0
5
0
-1
0
-71
0
0
0
8
0
0
-26
0
-5
6
5
-2
41
-26
0
0
21
-12
1
5
24
0
103
96
4
5
-2
-49
0
-1
-2
8
8
0
-22
0
-36
10
-10
8
-1
61
0
13
-7
5
0
0
-10
0
-8
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-93
0
-3
-5
1
-4
-77
-24
38
-4
-15
0
-5
-23
8
-4
-79
0
-3
-5
1
4
-23
-5
-27
0
-41
-13
25
25
-19
0
-2
-4
-9
0
16
-13
-75
-15
32
-10
0
7
-11
-4
28
51
34
0
-15
-9
-33
-1
37
0
5
-3
124
47
-37
0
-16
-37
-5
0
-17
-2
0
-41
41
5
3
-1
10
-58
6
-28
-47
-23
-40
-4
-62
-25
-7
15
-42
-8
-42
-27
-22
-44
-17
-18
5
-2
-44
9
13
0
34
-57
-31
-41
-6
-8
-6
-8
-12
74
5
9
0
0
6
-4
-11
14
0
0
0
30
0
6
0
-33
1
0
0
-1
-4
0
-4
-3
8
-1
-1
0
-10
-49
-2
8
6
1
-8
-4
26
0
20
-84
-7
-4
24
-57
-5
-8
8
-2
8
1
-17
-6
56
46
-90
-63
-91
-59
0
-58
-13
1
45
0
41
-2
-4
-136
-22
-12
-1
0
0
-119
-6
0
-14
-8
8
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154
0
0
0
0
0
0
14
0
0
0
0
0
6
52
0
51
-7
-8
0
-32
7
0
0
101
0
0
-12
5
0
0
19
0
0
0
-18
0
0
-1
0
0
0
-40
0
-3
-3
0
0
-1
-2
0
0
0
0
0
0
-58
0
0
0
0
0
0
-6
0
0
0
0
0
0
49
0
0
-15
0
0
34
-82
0
0
-5
0
0
0
33
0
0
-12
0
0
20
-33
0
0
-13
-3
0
0
27
0
0
19
0
0
0
4
0
0
0
0
25
-1
-24
0
0
0
0
-4
0
-63
0
0
0
0
0
0
-41
0
0
0
0
0
0
8
0
0
2
0
0
0
41
0
0
0
0
0
0
54
0
0
0
0
0
0
-23
0
0
8
0
0
0
-46
0
0
0
0
0
0
33
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
25
0
0
0
0
25
-4
0
0
0
0
0
0
-7
0
-48
1
-1
0
15
-42
0
0
19
0
0
0
-41
0
0
30
-2
0
0
-1
0
0
-1
0
1
0
-6
0
-14
0
0
0
0
-21
0
0
0
0
2
0
-58
0
0
0
0
0
0
98
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-36
0
0
-1
0
0
0
12
0
0
-1
-1
0
-1
39
0
0
-1
0
0
0
-36
0
0
-1
0
0
-8
42
0
0
0
0
0
0
25
0
0
-8
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
15
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
1
-2
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
5
-8
1
0
-4
19
3
0
-2
0
23
-40
-8
0
8
0
-3
21
30
0
-43
-14
-27
0
-51
6
3
0
23
0
0
-99
12
0
0
-26
13
8
12
-16
0
0
-31
18
0
-60
-33
0
22
-2
-128
0
-21
15
0
0
0
1
9
0
8
-16
-13
0
27
0
0
-1
-3
6
2
0
4
47
-65
2
4
9
8
-3
1
-25
0
3
24
-5
9
-39
-7
-5
4
85
-23
-12
10
-18
-5
0
-22
32
-72
46
-15
0
0
-30
-16
-19
89
-2
0
-6
-13
24
52
0
-13
0
2
0
-2
42
0
-21
0
0
0
30
-2
0
-29
4
0
0
-1
-7
-2
-4
0
-68
4
0
-3
-12
-42
0
-1
-4
6
1
-3
-41
0
-25
-22
-2
0
-3
22
0
-34
-12
-2
17
-10
-15
0
-2
54
4
-4
13
0
0
0
-4
-8
21
0
-30
0
-127
0
49
-2
0
-55
2
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
27
0
0
0
8
7
1
-26
43
22
0
0
-41
-11
0
0
-65
0
-24
-3
8
-1
12
16
8
0
4
5
-1
16
23
0
0
-61
2
0
0
36
0
13
3
-12
1
12
0
0
-8
-32
-43
0
-37
22
0
27
9
-2
0
0
66
0
58
0
-1
-71
32
4
0
0
-1
-18
-28
0
0
0
1
-41
0
7
-7
-24
0
19
31
5
-8
3
-4
0
10
67
-1
-1
4
16
3
-26
19
0
-4
-21
-11
0
-9
-19
-32
0
3
-34
-1
-40
-38
4
0
0
-1
0
-7
17
-21
1
0
123
0
-5
0
35
6
0
0
0
-7
0
-8
-4
0
0
0
0
0
-43
4
-29
-10
0
28
-26
-75
12
-10
105
0
-6
-4
49
0
88
22
0
0
37
-12
0
-19
1
-5
23
-6
23
5
-79
61
0
-12
8
20
0
-9
66
0
-8
-8
-28
0
-32
-25
0
-21
0
25
25
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-89
18
-14
-7
0
-31
13
28
-84
55
-26
0
-15
4
-19
21
4
0
0
10
3
-43
-12
0
-11
0
-11
-2
-52
-20
-18
-5
0
-13
-5
59
9
0
-32
-1
63
-1
-31
20
8
4
-1
28
-5
63
7
9
14
0
22
-4
1
-21
-12
-37
-2
2
15
-125
-35
4
-42
0
14
8
4
-78
-43
-88
0
-17
10
-40
26
-2
8
-10
0
6
4
-83
-21
-58
0
18
3
-29
-26
22
-27
0
67
5
-93
48
22
25
41
26
6
-28
11
10
24
0
53
16
-5
-19
45
24
-1
-28
4
47
-21
15
23
-1
25
1
-62
74
46
-16
0
-7
16
17
-34
-31
-85
0
-23
16
16
-13
36
-5
-1
39
3
4
-27
-13
-22
-4
28
-4
8
-51
-32
-47
0
15
9
-39
-133
2
14
0
75
21
8
-51
28
-22
36
62
35
-11
53
36
22
0
-1
4
-3
0
26
-27
0
74
17
16
95
40
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-48
0
0
2
0
0
0
7
0
8
25
0
0
-3
-38
0
0
1
0
0
0
-40
0
0
-1
1
0
0
-48
0
0
0
0
0
0
6
0
16
0
0
0
0
19
0
0
0
0
0
0
61
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
1
0
0
0
0
0
-96
0
0
0
0
0
0
-41
0
0
-1
2
0
0
-19
0
0
-1
0
0
0
23
0
0
-1
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
-48
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
-1
0
0
0
0
1
0
0
0
0
0
0
-49
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-2
0
0
0
0
-5
-40
0
0
-4
0
2
-9
-2
0
-48
20
-46
0
29
32
0
0
49
0
0
-21
-86
-1
0
1
-13
0
21
53
2
0
-9
0
-2
9
-15
0
-48
27
8
0
-1
-58
0
0
0
0
94
0
0
-4
22
0
5
0
0
-20
-1
0
0
0
0
3
-5
-5
4
-7
-2
-15
20
-20
0
0
-71
0
0
11
11
3
13
-61
7
0
-32
0
0
0
15
0
0
0
52
0
0
20
-15
-3
4
18
0
0
-5
0
9
4
-28
0
0
13
2
-5
0
0
0
0
0
0
0
0
14
-10
0
3
0
0
0
-52
0
-5
-8
0
0
0
-15
0
1
0
0
0
-5
-39
0
42
0
0
0
0
23
0
-3
-3
-14
0
0
37
0
-9
-1
0
0
0
-1
0
0
7
-4
0
0
-21
0
-6
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
21
-69
-16
-63
66
0
-19
14
-5
5
16
0
-41
-69
26
2
-36
-33
23
-14
-74
-8
14
29
-56
1
31
-7
0
-2
-11
-33
-14
-32
7
-41
1
-2
-45
-2
9
-89
-15
0
-17
-46
-7
-16
-17
9
0
-1
22
4
-9
0
-16
0
7
0
-36
-8
4
-3
-43
-9
12
-7
0
-54
-9
-54
48
-114
-40
-10
-57
8
8
-42
31
-10
79
-1
1
20
44
-40
3
-11
-68
-4
9
-11
17
-26
-18
-35
-5
-2
20
-39
29
21
-16
-12
1
-18
25
10
-19
-16
27
-6
96
-66
-3
16
0
11
0
0
0
-23
-19
-6
32
55
-30
-43
-3
0
1
-25
-5
35
14
-1
-27
46
-28
-1
-71
-60
46
2
-3
10
1
16
-54
-10
12
24
-25
-12
10
-40
-54
16
-54
-3
6
-1
19
29
18
4
-42
4
30
-36
49
-31
0
36
2
15
0
-4
-50
0
-4
0
13
8
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-53
0
0
0
0
0
0
-7
0
-20
-12
0
0
5
4
0
0
-14
0
0
0
-41
0
0
20
0
0
0
-45
0
0
-4
0
0
0
-5
0
25
0
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
-49
0
0
0
0
0
0
-28
0
0
-1
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-36
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-6
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-3
0
0
22
0
0
0
0
0
0
-34
0
27
-19
0
0
-25
-24
0
0
48
0
0
0
-26
0
0
-7
-6
0
9
-22
0
0
0
0
0
2
-17
0
-25
-5
0
0
0
-8
0
0
1
0
0
0
4
0
0
0
0
0
0
36
0
0
0
0
0
0
16
0
0
0
0
0
0
-34
0
0
-1
0
6
0
5
-1
0
-27
0
0
3
-25
0
14
0
0
0
-1
-19
0
0
0
0
4
0
-4
0
0
0
0
0
0
-31
0
0
0
0
5
0
-74
0
0
0
0
-4
0
-41
0
0
0
0
0
0
15
0
0
0
0
0
0
27
0
0
0
27
0
0
-30
0
-1
0
0
0
0
13
0
0
0
-1
0
0
13
0
0
1
0
0
0
5
0
0
0
3
0
0
-18
0
13
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
17
0
30
-7
0
0
6
0
0
-23
25
0
61
-52
-1
0
33
-42
0
13
-97
0
0
4
-81
0
0
-50
0
0
-10
-33
0
1
-20
0
0
3
-22
0
45
-9
16
0
0
-9
0
0
0
1
-7
0
13
-4
-5
0
0
0
0
20
0
0
5
0
0
0
-33
0
0
7
0
0
6
15
0
22
-53
0
0
-10
-26
0
9
-11
0
0
30
-38
0
-14
-28
0
-4
-4
5
0
0
14
6
3
0
-112
0
-3
9
0
-3
0
-17
0
0
9
0
-24
0
-28
0
0
0
12
0
0
27
6
0
0
0
0
0
10
0
-20
0
0
0
0
-39
0
0
-4
0
0
13
10
0
-2
4
0
-2
87
-78
0
6
25
-3
0
-3
-28
0
20
38
2
2
0
25
0
0
1
0
4
0
44
0
8
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
29
-1
-59
-26
0
-20
21
7
0
24
-3
0
-22
-29
0
19
-5
11
0
15
6
0
7
15
-3
0
-8
-18
0
-1
-16
44
0
17
-3
0
2
-65
5
-7
0
-94
-1
-37
18
-100
3
10
-41
22
10
-37
34
0
2
29
-19
16
0
-29
0
2
-3
-21
0
-4
0
0
-74
55
-42
2
-12
-104
0
42
-11
1
-2
50
-8
0
-7
-21
42
-23
23
-34
0
27
-2
6
-11
-9
20
0
97
-20
10
-12
-26
24
0
-44
1
0
-4
44
48
0
3
-2
1
-13
-55
-84
0
0
3
60
5
1
-5
0
0
18
45
8
0
-48
0
21
4
0
-84
-20
0
0
6
-52
-7
41
-13
-13
0
34
16
-7
53
23
-10
0
-51
-65
17
73
23
9
0
45
-27
2
34
26
-1
0
7
-71
-1
-2
-49
-114
0
0
50
25
22
6
0
0
4
11
67
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
0
0
0
0
0
-2
-31
1
65
24
8
0
59
49
0
10
56
-3
0
4
-9
1
0
-42
19
-3
-13
61
0
0
54
0
-3
12
-1
0
-11
-16
-2
10
0
-7
0
0
-3
0
18
0
-75
3
-5
0
0
-2
0
-8
-5
0
0
0
0
4
-79
0
3
4
0
0
0
58
0
0
-33
0
6
1
27
6
0
0
-3
0
-9
20
0
0
-25
0
3
0
1
0
0
20
-3
-2
-2
-12
0
0
0
0
-8
0
6
0
0
4
0
8
0
25
0
0
0
0
0
0
-120
0
0
0
0
0
0
48
0
4
1
0
0
1
6
0
0
0
0
0
0
7
0
8
-1
0
0
0
-7
0
0
-20
0
0
0
-33
0
36
-1
0
0
0
61
0
-15
2
-2
0
0
-17
0
-9
0
0
0
0
-4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-21
-120
37
-33
-94
-4
0
8
-24
13
-1
39
21
1
53
79
27
5
-9
9
-9
-24
-16
11
-36
42
15
4
-33
-67
3
-36
-47
-25
-10
41
25
-9
4
30
21
-3
22
-14
16
-19
-33
1
-3
14
16
17
41
-80
-11
0
-44
-95
13
17
-5
-10
-3
84
-112
-25
-10
30
-48
-10
-21
-48
-9
-20
-13
25
7
45
-13
8
-25
-4
-33
-9
-42
-67
11
62
10
-7
-14
-18
31
7
17
2
-2
-5
41
-33
5
6
22
39
4
-7
78
9
23
28
18
-27
-12
33
-34
27
-32
5
0
-7
-13
-14
-1
-56
-41
6
24
-80
-29
-11
-59
22
-20
-23
-5
3
-29
74
-17
4
8
53
3
-3
-78
-1
-10
78
13
25
-14
-3
-24
-5
-25
4
12
41
-13
-60
-11
-1
-19
21
33
-18
-35
-5
-19
2
-7
-9
27
-70
-11
-2
45
-3
30
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-53
49
14
11
1
3
-56
-19
10
30
18
-44
-4
-44
6
14
9
9
1
-9
-89
2
23
7
-20
-41
-24
-107
-19
0
-2
-67
20
-28
-43
-70
0
47
35
-77
-5
-25
-9
10
-2
-19
0
65
1
53
36
-7
0
-14
-4
0
2
-8
-1
9
14
0
-4
36
25
-68
127
13
-4
15
58
5
10
41
35
14
58
36
14
-2
18
-38
-30
-16
-11
68
13
-48
16
42
-81
-3
0
-1
11
-32
-59
-60
-52
0
-17
-29
9
23
36
-67
0
-2
-24
-6
43
0
15
25
-1
-1
-2
28
0
18
-1
-3
2
-12
0
-23
-41
0
-16
3
8
10
-14
7
2
-71
-68
-24
0
-39
27
6
7
-44
7
2
-3
-18
-12
-48
42
-18
0
27
-73
-6
-104
3
20
-19
-32
-98
12
-2
-47
-46
-12
-1
-12
-1
-101
8
5
-49
0
30
36
8
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-27
-1
21
27
0
0
21
71
2
-12
-17
114
0
16
-5
-4
-2
-22
0
3
-23
-29
0
0
-85
4
0
-48
11
0
0
-44
20
15
-31
2
-4
-3
-138
-103
-8
-22
-77
1
0
38
1
-13
0
2
-5
9
0
-39
-1
3
-105
53
0
-1
0
0
-18
26
67
63
46
-40
-49
38
-20
5
-5
-88
-2
16
-25
8
10
-3
-60
13
24
14
2
-1
14
-1
10
19
-23
24
3
10
0
7
47
-9
14
0
4
-116
0
37
-3
24
-4
0
0
-40
-106
0
-33
5
18
0
0
7
0
-29
-4
2
3
0
0
-1
-16
2
10
-37
0
0
0
-29
0
-8
55
22
9
-3
-31
0
-5
-21
0
2
-43
28
-1
18
-62
-78
-3
-9
12
0
-20
2
-2
3
1
22
4
-2
-88
-18
0
0
-27
2
72
-6
-4
-38
0
-63
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
-2
-3
3
0
0
-38
29
0
38
31
-54
-1
32
-17
0
5
56
0
0
34
-49
1
-2
-42
-12
0
-25
-48
-2
1
-54
3
-3
-3
-146
8
13
-35
31
-11
0
-43
0
0
0
0
-21
0
-40
-26
-20
0
42
0
0
-29
-2
0
0
0
0
-3
67
0
-8
-1
-1
0
-4
-52
0
-3
-91
-6
6
89
41
0
-1
-42
60
-38
24
15
-3
-1
50
42
17
42
-41
25
0
-2
-34
-27
-3
-1
0
0
-23
-10
-12
0
-15
0
0
-3
-50
76
0
-27
-5
0
0
0
20
0
-34
13
0
0
0
0
0
12
0
1
0
0
1
8
26
0
0
6
-6
1
40
46
0
53
29
0
0
7
-21
0
-10
-45
18
-4
-5
-12
0
-34
-57
-8
0
-1
-16
0
-18
98
1
18
0
-21
0
-109
-9
-2
-6
0
-52
12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
8
0
2
46
0
0
-71
-81
0
26
-30
0
3
22
-95
0
8
-21
0
-6
24
-8
0
-7
-64
25
8
44
-43
0
-2
-24
1
5
11
22
0
40
-60
0
-24
53
26
0
-7
0
0
93
0
-16
-44
-7
0
8
0
0
-62
11
0
-8
0
0
-25
-47
0
45
75
-1
-7
14
-47
0
-8
-34
0
52
-38
-67
23
-27
28
0
8
-3
-77
0
17
30
-14
-19
32
-7
0
-1
15
0
23
62
-27
0
2
3
0
2
56
13
-4
20
37
29
30
0
-31
30
0
-4
0
-8
4
34
33
0
3
0
0
-25
47
0
-20
66
0
-2
-15
-107
0
6
26
0
5
25
-71
0
10
85
-4
0
68
-31
-5
19
23
0
46
-1
0
0
30
53
0
-25
1
14
0
-3
21
-1
-22
-8
-34
0
74
1
0
43
0
-56
-64
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
2
0
0
5
-2
0
-36
-1
0
0
4
-11
0
0
37
0
0
0
-2
0
0
-12
5
0
6
-12
0
0
5
0
0
0
10
0
-3
-1
0
0
0
10
0
0
0
0
0
0
-33
4
0
0
0
0
0
21
0
0
0
0
0
0
67
0
0
-2
0
0
1
-25
0
0
4
0
0
-4
3
0
0
1
0
0
6
-7
0
0
3
0
0
9
-26
0
0
-8
-3
0
0
71
0
0
0
0
0
0
9
0
0
0
0
0
0
54
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
10
0
0
0
0
24
0
0
-3
0
0
0
13
0
0
0
0
0
0
58
0
0
0
0
0
0
30
0
6
0
0
0
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-137
-40
0
-8
-82
-19
5
-6
91
19
2
-10
5
-1
-53
-27
0
18
-10
-63
-15
-6
15
0
-3
-5
7
29
-61
-25
0
21
-11
9
21
-45
-15
8
10
-9
-8
-45
0
4
-44
-11
0
138
13
-1
-8
57
2
10
20
5
-1
26
-2
-23
-65
6
-27
-47
-3
0
9
22
36
-12
12
43
1
25
-41
48
0
-95
-12
0
-9
-15
-5
73
33
-1
3
7
4
18
-1
-24
-15
0
12
-37
-8
12
13
-3
-3
13
-88
50
27
0
38
-31
-5
8
-1
21
0
-64
17
-8
-2
0
0
-8
15
5
38
7
0
0
12
13
-6
2
36
44
5
-7
15
10
11
-37
-3
-5
6
-15
0
-39
-21
-52
5
30
-11
-6
-89
29
4
19
-4
24
0
2
21
-24
30
0
46
0
15
16
8
35
2
-15
-2
-8
4
74
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
11
-16
6
6
-58
35
14
-20
-38
6
-24
4
30
1
13
9
14
-1
-52
-2
-12
-27
42
5
12
57
-33
-6
-58
-5
9
10
-57
-10
-19
-72
-15
15
-17
14
48
-2
34
-5
7
-10
31
-59
3
-21
-147
11
-76
49
-105
0
-22
8
-34
-29
5
-35
3
-38
-50
6
43
31
-17
15
-8
-9
-22
-40
19
-13
-4
63
9
16
6
-11
-14
2
34
16
23
20
-29
-32
-5
-3
42
-22
-5
9
-34
-9
35
59
-12
25
10
-38
-6
19
-68
63
73
16
-62
4
47
-70
-95
0
-50
-52
0
-52
-12
-38
-33
21
-83
-41
-158
-9
-18
-16
40
-66
0
3
-36
-26
17
-33
-16
-17
27
3
4
20
-54
-19
-2
51
21
-2
32
-29
-21
-2
39
-31
-4
21
-10
-31
9
4
24
-32
33
-5
26
10
0
-49
9
-5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-13
0
37
8
-12
0
-82
-1
0
0
74
0
0
37
-19
0
4
69
-7
0
21
-26
0
0
-30
0
0
-24
-54
0
-34
40
0
0
0
-5
0
0
0
0
0
0
2
14
8
0
0
0
1
6
0
8
0
0
0
-12
-27
0
0
23
0
0
24
-20
0
3
18
1
0
121
64
-36
2
16
0
0
30
-96
0
0
34
0
0
8
54
0
0
-18
-3
0
1
-62
0
6
1
0
-1
0
-24
0
0
-9
-74
22
0
-32
0
0
0
0
0
0
18
14
0
-1
0
0
0
115
-3
-43
0
0
0
0
17
0
10
19
0
0
-1
-20
0
-2
-6
0
0
0
80
0
-2
0
0
0
2
50
-1
-14
0
0
0
0
13
0
0
2
-1
0
0
39
0
20
0
7
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
50
0
42
2
13
0
92
-75
0
7
14
0
1
56
25
0
0
-26
-1
0
11
-20
0
0
-18
0
0
-9
19
0
-40
23
2
0
0
-42
0
0
0
0
21
0
7
46
0
0
25
0
0
1
-8
0
7
0
0
74
105
0
0
-5
0
-12
78
-68
0
0
2
0
0
7
-32
0
0
-14
-22
0
-3
34
0
0
-4
5
0
31
-36
7
0
35
2
5
0
-2
0
0
-3
0
0
0
-24
25
0
0
-14
8
0
-1
0
0
0
0
0
0
23
-7
0
0
0
0
1
-25
0
38
0
0
0
-4
5
0
3
-8
0
0
0
-98
0
-24
10
0
0
0
-13
0
0
-30
15
0
0
30
0
43
-3
0
0
0
51
0
5
-54
0
0
0
-17
0
41
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-13
-3
30
-35
13
-4
1
44
-5
22
9
-6
0
-1
27
-3
6
8
10
88
1
52
8
9
6
42
-12
-14
-20
0
19
-4
52
-18
-19
-22
-1
8
-23
-4
-19
0
8
13
-31
0
-22
16
-5
42
-14
1
0
0
6
-44
51
13
44
-39
-36
-31
-86
-17
-9
41
53
9
55
-42
13
4
-3
-22
25
50
-16
6
18
2
10
26
-15
-37
37
0
1
11
25
5
-15
-34
-1
1
-20
15
2
-43
-32
5
-13
48
19
-12
0
-17
-36
0
0
18
11
1
8
-111
4
0
-1
0
0
20
1
19
48
0
-2
-14
4
-1
-30
-87
2
1
62
43
1
40
-52
40
-5
12
44
1
-19
-32
-101
-54
74
35
-1
-56
-50
-5
58
59
-15
0
0
13
22
38
14
-4
1
-38
6
-3
78
0
-55
-81
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-64
-4
0
0
-5
7
0
-8
23
0
0
9
-56
0
0
56
0
0
-2
-14
0
0
0
0
0
0
-52
0
-10
-4
-8
0
0
1
0
0
0
0
-1
0
4
-8
0
0
0
0
0
25
0
0
0
0
0
0
13
0
0
4
3
0
0
1
0
0
-1
0
0
-8
-12
0
0
25
0
0
-4
-43
0
0
-7
0
-12
0
-7
0
0
2
0
0
-1
-18
0
0
0
0
0
0
25
0
0
0
0
1
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
50
0
-3
0
0
0
0
51
0
0
6
0
0
0
3
0
33
0
0
0
0
7
0
0
5
0
0
0
23
0
1
-2
0
0
0
30
0
0
0
0
-1
0
-15
0
5
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
44
22
-1
0
-29
-85
0
0
-69
-5
0
-12
-94
0
-2
-19
-30
0
-53
32
0
0
86
0
0
21
-9
0
-60
-15
0
0
8
-35
0
0
0
0
0
0
35
5
-5
4
0
0
0
55
8
0
0
0
0
0
-24
0
0
16
0
0
25
53
0
0
40
0
0
-32
31
0
0
64
30
0
17
19
0
3
65
4
0
12
-61
0
0
-28
-8
0
-3
-11
0
0
25
0
0
0
47
0
0
0
-1
0
0
-95
0
0
0
0
0
0
49
2
0
0
0
0
0
18
0
-41
-3
0
0
-1
87
0
0
19
0
0
-7
55
0
-30
19
0
0
0
6
0
0
-40
0
0
-2
-77
0
-41
-4
0
0
4
-98
0
-1
0
0
0
0
-35
0
6
0
14
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-15
-65
-57
-18
-33
-11
-29
15
16
-84
-24
-47
-3
-38
3
-10
37
18
-32
19
-13
-8
3
-13
-30
-5
-4
-14
27
-8
16
-4
-30
-51
-2
1
-20
-2
-1
-49
4
-18
-12
-30
-30
-10
9
18
53
-32
-11
59
-20
-24
-69
20
25
30
-48
19
-62
3
-24
23
-7
-52
-3
12
-57
-28
3
7
79
-16
61
43
-79
-27
20
-14
-46
-18
-56
81
24
5
80
-54
1
9
-12
14
-19
-8
-2
-78
-15
0
14
8
-22
-1
-33
8
0
-44
3
-45
10
-9
-2
18
10
-3
23
-4
-31
-10
-10
18
47
92
-81
0
-12
95
2
3
-60
-15
-36
-32
-29
-3
42
22
45
-56
-61
25
-3
12
20
-3
-9
-69
-81
25
32
-93
-13
81
71
-2
33
-8
-17
-76
0
-27
-1
4
22
11
9
9
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
21
14
12
-27
-57
-120
0
-2
40
-8
-1
15
-84
1
-10
65
47
32
-31
-47
-7
-10
1
3
28
-11
-25
-22
-18
-24
-29
7
6
38
4
-3
-8
-47
-44
13
13
-25
8
-115
-83
-18
-62
-35
36
5
28
2
-23
-75
-60
-75
0
9
10
-35
-14
13
-86
-34
78
-31
-72
47
-26
-23
-7
-53
34
-8
-89
2
0
3
19
19
21
-20
-3
25
-1
-4
-42
37
13
22
1
0
37
45
47
22
25
-11
11
9
-1
9
-9
-16
5
-5
-98
65
25
-48
45
-16
-11
-39
-15
-46
-17
-1
-122
0
-61
-46
-5
12
-31
-43
-40
20
82
-22
-45
-20
-60
-12
71
30
-16
-75
0
-88
3
-5
-8
46
77
-29
-99
-5
-54
58
38
48
-7
32
23
-8
16
71
18
25
-9
27
-11
-14
-32
17
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
0
0
-52
0
0
5
-46
0
1
-30
5
0
23
14
0
-2
10
0
-4
0
-21
0
-22
40
1
0
0
-45
0
0
0
0
0
0
60
-1
-3
0
2
7
0
18
0
0
5
0
0
0
-21
0
17
-22
2
0
0
-108
0
0
-3
0
0
-7
-12
6
25
-23
-5
0
-17
24
0
1
-19
0
0
-3
43
-1
-1
3
-4
0
0
26
0
0
4
0
-7
0
6
0
0
-9
0
43
0
18
0
0
0
0
0
0
9
-15
0
-2
1
0
0
-15
0
-12
0
0
0
0
-30
0
0
3
-2
0
1
40
0
30
23
3
0
0
-166
0
-1
2
1
0
0
4
0
-3
0
0
0
0
-25
0
0
0
-2
0
0
63
0
8
0
1
0
0
-39
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
76
-51
5
4
-87
1
-1
-2
-25
-26
23
-2
-6
15
-14
-39
-16
78
29
20
27
5
-2
-20
3
-11
9
4
-5
-19
-39
4
-14
-19
23
-35
-27
-43
-60
11
-23
-11
-43
-33
-1
-71
-31
-21
-16
-51
-23
9
-11
58
68
34
59
3
28
63
71
-7
-14
42
20
-14
51
27
-4
2
11
-53
-19
57
102
-1
18
-44
-85
-16
3
17
-54
32
-34
-38
11
26
8
20
0
-28
-85
28
1
-3
7
12
-37
-73
-8
-20
-69
18
4
14
-46
25
63
-12
-21
-8
-71
-30
4
-5
47
-37
-26
-81
-26
42
27
-8
25
-18
9
-82
-49
7
-11
-5
-4
23
-26
3
57
40
21
6
22
-27
-45
-24
34
-14
-7
-26
1
-44
13
67
-41
22
-3
15
39
33
-3
-14
20
32
54
-52
12
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
74
54
35
78
54
7
-3
95
24
5
-3
6
8
5
-47
28
5
20
-9
-53
5
0
8
-6
9
-2
-26
-5
47
67
5
20
7
10
-4
-38
5
-30
-5
62
-5
9
54
21
-11
-63
35
19
26
-35
19
50
11
53
58
-2
17
-7
12
50
71
-7
-13
-37
7
7
38
-43
-19
-16
-35
-47
12
6
-37
5
4
14
48
14
-10
3
-6
15
52
-37
44
-40
45
-69
9
-34
-7
-1
6
26
-5
5
27
20
0
-30
0
13
7
0
38
-3
-69
-4
-58
36
164
45
-12
-22
27
-36
26
-31
30
17
13
57
33
-36
-42
-1
20
24
-20
-38
-12
-119
54
-3
10
50
-40
16
-75
-16
43
-20
15
29
-1
15
25
25
30
36
45
3
-8
-27
-7
-98
-18
-15
13
14
-67
89
13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
19
30
-5
3
-1
24
-30
8
-7
6
-18
-6
-24
13
-4
-5
54
-16
-13
2
-2
3
5
18
-42
13
-2
47
0
59
-2
-35
0
-7
-1
4
19
-4
-3
59
-8
4
-19
-18
0
-4
0
-6
-35
36
37
4
25
0
-33
91
-20
4
-10
10
-2
9
23
-11
3
-38
-34
0
-9
46
-10
8
-36
4
84
12
-17
-33
-2
-20
-5
-30
-67
-11
-35
-5
80
-2
0
13
45
12
0
-7
-40
-2
1
0
23
67
-6
-2
13
36
0
-42
17
42
-32
-1
-22
26
33
5
8
-10
0
55
20
1
10
31
42
0
1
13
0
0
57
83
-12
8
-21
-45
-24
64
9
-3
-34
48
-5
-30
-41
-15
6
-78
32
19
0
-9
28
-5
-17
41
-19
25
8
21
1
-26
13
-11
-49
-16
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
0
-1
-30
4
0
-2
-67
0
-1
-19
8
0
-6
40
0
2
-6
0
0
-1
71
0
-33
-5
-1
0
0
24
0
0
0
0
0
0
-57
-8
6
0
0
0
0
13
0
-1
0
0
0
2
59
0
0
8
8
0
-8
-45
0
0
117
0
0
3
32
0
0
-13
0
0
-2
4
0
0
14
0
0
-2
63
0
-3
22
0
0
6
-88
0
0
-5
0
0
0
-30
0
0
0
-1
0
0
39
-1
0
0
0
0
0
40
0
0
0
0
0
4
-5
0
22
0
0
0
0
24
0
3
0
0
0
-17
56
0
-25
-3
0
0
4
57
0
0
9
1
0
2
-26
0
6
-14
0
0
-3
-3
0
0
0
0
0
0
41
0
4
8
1
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-145
-15
3
-1
2
-59
-6
-106
57
3
-104
40
-11
-9
3
10
-24
-9
-16
39
-13
58
43
28
15
-28
54
-7
-31
-43
-8
12
-61
7
25
-48
-32
23
4
-60
-73
2
-56
24
11
20
-23
31
-5
-104
75
13
12
150
-23
16
26
-37
20
4
63
15
15
37
-14
1
111
-44
-45
4
8
7
-13
15
-29
32
22
97
23
16
0
-5
42
-15
48
-11
5
9
-30
21
10
-20
8
14
-70
50
-19
-7
22
-77
-71
-28
42
-35
-17
-18
18
21
-80
66
-49
-15
92
13
2
-28
61
-14
-1
-33
-12
26
-22
-13
-38
20
-65
1
7
32
-9
-58
-10
29
23
-15
-17
-38
5
27
90
12
8
19
4
-49
1
-15
-21
37
-30
-8
56
22
-44
46
-8
56
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-13
24
-76
-47
-33
5
-18
-17
6
-10
-14
-35
-16
9
-54
103
-3
24
-6
11
-25
-38
-28
-26
16
56
-18
-32
-1
7
-22
32
9
-44
-30
8
-10
-32
-26
37
-53
29
6
-12
6
25
-59
-1
-23
18
-54
-28
-50
-28
41
-38
0
-45
-66
-19
-37
76
-48
-16
69
-33
-45
0
-14
-51
-10
-2
-36
-9
-12
37
-2
-14
44
1
53
-15
16
5
-16
-73
-52
28
12
16
-25
3
-56
-55
-41
-16
-9
42
21
29
-85
-7
41
-42
-19
-39
8
12
22
-56
-3
38
-3
-13
-7
3
27
25
24
0
-49
-27
-6
4
10
-35
-11
-69
-33
-33
31
29
-2
1
14
5
2
-76
43
17
17
-54
-3
21
0
-1
-68
-13
-67
22
-22
35
27
-56
27
-22
11
6
-9
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-60
0
2
-60
9
0
2
48
0
0
-18
0
0
-4
9
0
51
-5
0
0
0
-33
0
0
0
0
0
0
5
16
0
0
0
-3
0
-65
-3
0
0
0
0
-5
35
-1
-23
14
-1
5
12
-31
0
-2
-13
0
0
34
42
0
2
3
-2
0
-2
-41
0
-3
5
3
-3
0
23
0
0
-3
2
0
0
-3
0
0
12
0
0
0
33
0
-1
0
-2
-4
0
-25
0
0
0
0
0
0
-41
4
0
0
0
0
1
57
2
32
1
0
0
0
-34
0
-9
30
-2
0
-1
-88
0
-22
-18
0
0
0
-69
0
0
0
0
0
0
-75
0
-24
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
24
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-46
-6
0
9
3
0
36
38
2
2
26
0
-1
22
-20
0
23
56
-40
-8
0
66
0
0
0
0
-9
0
-24
-24
-2
0
6
0
0
8
-1
0
0
0
-2
18
16
21
-3
-11
-6
0
31
-38
1
0
13
2
2
39
47
8
-2
-6
7
0
-65
-8
4
0
-46
3
6
-4
-32
-5
0
-142
14
19
0
-1
0
0
-20
-13
30
0
116
0
0
-6
-6
-19
0
31
1
0
0
0
5
0
-38
0
2
0
0
0
-1
-134
0
3
8
0
0
5
22
0
0
17
40
0
23
54
0
-4
40
-3
0
3
13
0
13
17
7
0
6
-11
0
1
8
0
0
8
70
0
-2
44
8
-1
1
61
0
-21
0
0
-12
0
-38
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
38
-62
-5
25
22
31
6
79
25
-1
-35
51
6
-36
10
1
2
9
-41
23
-9
-20
25
4
-43
-31
-20
-5
-83
-35
-19
38
7
23
45
-52
56
-16
4
-62
-41
30
28
0
-17
-15
13
31
-6
64
-9
34
-52
-17
-23
-11
2
-57
28
-39
58
39
-4
-47
4
25
31
-41
-2
7
-65
-10
38
0
18
10
4
13
-48
21
12
42
-57
5
7
-29
-6
14
2
-13
17
-18
-38
34
17
43
8
25
-20
84
29
41
18
1
-17
-119
-25
21
-58
11
68
20
-16
50
33
8
40
52
-6
-41
-9
-32
-54
-61
-42
-16
35
-6
-4
9
9
26
-4
72
15
47
47
102
40
-23
9
7
33
29
40
2
9
9
-32
-13
66
-21
5
20
-4
-4
-24
-91
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-37
0
0
19
-9
0
67
-50
0
0
0
0
0
7
-13
0
-20
-34
-9
0
0
10
0
0
-3
0
-4
0
-31
15
6
0
0
0
0
-25
0
0
3
0
0
-7
27
5
7
-21
5
-1
-28
70
2
0
-10
0
0
-24
14
0
3
39
-2
0
3
-11
0
0
60
0
7
1
-16
2
0
-5
10
-13
0
-13
4
0
18
0
0
1
-49
0
-2
17
0
-45
0
-64
0
0
0
0
0
3
-85
-3
0
0
0
0
0
25
0
18
1
0
0
9
-20
0
0
-18
0
0
48
-17
0
-11
7
0
0
-13
-2
0
0
5
8
-7
0
-5
0
66
-5
0
0
0
83
0
0
1
0
0
0
-42
0
-9
0
0
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-25
0
22
-10
-2
0
36
6
0
0
-31
-1
0
16
-97
0
-62
-1
-6
0
0
32
0
0
0
0
0
0
19
-30
3
0
0
0
0
-25
-8
0
0
0
0
-9
22
0
31
-46
11
0
-7
26
0
0
64
0
0
26
71
0
-3
81
0
0
104
-35
0
0
28
-2
0
25
-36
0
0
8
-9
0
0
-27
0
0
-7
0
0
0
-72
0
0
-2
24
0
1
-29
0
0
0
0
0
0
-4
-2
0
0
0
0
4
17
0
5
33
0
0
-24
-12
0
1
-3
-8
0
3
11
0
7
51
0
0
-3
74
0
1
-13
3
0
73
-79
0
-4
-1
0
0
0
36
0
0
-13
0
0
0
-110
0
21
0
7
0
0
-77
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
51
-30
51
-3
71
5
-8
-16
0
12
3
-56
-54
-21
-6
-1
-12
6
-23
10
0
24
-17
-46
31
-46
3
25
-17
28
-8
53
-2
6
56
-11
69
94
28
-26
39
-27
-20
22
87
-12
-48
-54
56
-8
-38
44
16
0
23
47
-22
-94
-15
-26
46
-18
-26
-10
-18
22
-28
-2
-10
19
17
-2
-1
39
30
1
-37
-26
-49
84
21
-33
-19
8
14
92
44
-13
-73
1
-1
-12
18
-18
-10
29
-7
-9
20
36
-17
22
4
6
-30
3
9
58
53
-73
27
-41
33
40
-15
-3
84
57
-8
-33
-46
3
4
-25
0
-14
-12
-5
20
33
-12
-103
30
-44
1
-62
-41
37
18
-19
12
30
-42
-13
10
18
-3
2
75
34
-5
-44
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-56
-87
16
1
-13
4
-3
-13
-19
0
-25
-10
27
-6
-44
-57
80
-53
-4
10
-20
-22
-14
0
-59
4
-12
-14
-18
-46
28
-12
-16
-6
-12
32
-30
-2
-3
-55
16
-8
-29
-65
43
-43
-108
26
9
-41
-52
21
0
8
-19
0
-1
-17
10
60
-63
5
3
14
-52
33
-17
18
-17
2
7
55
39
-76
-18
42
16
36
96
65
-16
-17
-36
3
-30
-49
73
-16
-54
-112
2
-33
-103
24
-69
67
-72
5
-72
-46
11
-81
-86
-29
-10
-49
46
37
14
-16
-56
-6
-106
-2
-8
-73
40
-9
0
-48
-27
18
8
-16
-38
-16
-12
-18
-12
-32
-27
3
21
-2
12
1
-3
-8
33
5
-6
1
73
136
-34
-36
7
2
-60
-14
15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
-14
0
0
-5
82
0
58
1
0
0
0
-14
0
0
0
0
0
0
107
-17
0
0
-1
0
0
7
0
0
0
0
0
0
-11
0
3
-1
0
0
-5
23
0
0
-13
0
0
1
-35
0
0
56
1
0
0
-65
0
1
-12
0
0
0
-12
0
0
30
0
0
0
-28
0
0
1
0
-2
0
-1
0
0
-1
0
31
0
84
0
0
0
0
0
0
-31
22
0
0
0
0
0
2
0
-7
0
0
0
3
-21
0
-4
0
0
0
0
-27
0
-4
0
0
0
0
5
0
0
-8
0
0
0
-51
0
-5
5
0
0
0
-10
0
1
-8
0
0
0
-1
0
5
0
0
-2
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-69
0
0
13
0
0
-6
94
0
-37
-3
20
0
2
61
0
0
0
5
0
0
-38
25
7
0
5
0
0
30
0
0
0
0
0
21
16
25
-2
4
10
0
47
60
0
-2
29
0
0
-8
-55
2
3
41
138
9
-12
25
0
3
-29
-2
2
-2
4
0
1
-50
-18
1
-3
-27
0
-8
-3
0
-1
5
64
-2
0
33
3
6
-1
-37
4
0
0
0
0
0
-33
5
0
0
1
0
0
48
0
5
0
0
6
8
0
0
-1
-6
-7
0
0
-66
7
23
19
0
-6
12
10
5
0
1
42
0
0
76
0
-83
-9
-1
0
0
-71
0
0
-2
-4
0
0
39
0
-20
0
-1
-4
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
6
-80
58
37
-15
-34
-26
-34
15
44
12
36
50
-5
-20
55
27
-58
-17
3
11
-19
-4
8
-2
-60
-21
19
31
10
-87
44
12
-32
-12
-40
61
41
6
24
-2
-7
71
51
24
23
13
7
-21
-89
23
3
-52
-40
21
-5
-4
13
10
71
-32
56
8
21
-84
22
-17
-14
43
8
31
39
63
-23
20
1
4
-26
-7
19
8
2
-12
14
-7
7
8
55
7
31
7
-73
132
-3
-36
31
-35
19
14
-1
-43
-17
-23
-51
19
-41
-15
61
-98
-29
-10
3
-6
-33
10
37
-93
-43
-14
25
78
7
-10
-70
-28
2
76
5
56
-62
15
9
6
62
49
9
-36
38
-41
11
-6
16
-43
-67
-42
83
6
-31
-53
-36
21
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
6
-2
-12
11
-13
69
45
-11
0
9
21
8
-4
38
-40
0
10
4
0
-26
0
15
-40
29
-8
2
65
-7
-52
10
2
-1
5
-2
-9
28
-15
43
7
-2
-5
30
-16
3
15
45
1
-35
46
6
5
0
21
-8
49
-47
10
25
-9
11
0
25
46
-20
-1
-8
11
1
103
99
-18
0
-2
86
0
57
14
17
2
-17
-6
12
2
0
-16
-35
-18
-2
0
-21
1
-4
-20
3
16
0
0
-41
-18
-1
-6
144
0
1
52
-20
0
48
25
0
0
85
15
0
52
-28
-4
5
-103
40
-2
20
-57
-30
-16
-5
1
1
-43
-11
-2
4
8
20
0
88
17
0
113
8
8
1
9
-46
12
72
0
5
-44
4
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-104
0
0
5
0
0
-13
-38
0
-1
44
-75
0
-4
-9
0
0
0
0
0
0
7
10
-25
0
8
0
0
51
1
0
1
0
0
0
-13
2
-18
-37
7
0
-44
29
-1
0
-36
0
0
64
-20
0
-5
62
-32
0
42
-45
4
0
-5
4
0
-27
-6
0
-8
-4
-25
0
-12
51
0
0
21
0
0
7
23
0
-1
-20
-12
0
0
38
0
0
0
-3
0
0
30
-7
0
0
0
0
0
10
0
12
-7
16
0
-3
38
0
-5
-27
-30
0
-27
-93
0
-49
-80
2
0
42
-35
0
-1
19
-3
0
-2
-65
0
101
19
0
0
3
11
6
16
-3
9
0
0
-22
0
15
-1
0
0
0
-36
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
59
-13
7
13
-2
-21
21
14
16
32
81
-6
-25
0
16
-76
9
13
-3
41
-3
-20
-54
-21
-20
0
-21
33
-20
-10
15
9
-17
-3
-28
-2
-30
2
19
-1
-29
-62
18
-56
80
14
28
27
6
0
14
-24
17
15
-47
28
39
8
32
-5
38
-24
-84
-10
-13
26
-15
-23
6
14
-4
-5
-40
-8
9
50
0
25
52
8
-1
10
-30
2
-9
-6
0
-36
14
0
-58
4
87
28
27
0
60
-90
5
-1
-50
1
-47
-19
-59
1
-12
37
22
-50
-47
32
7
16
16
1
-20
-14
52
11
-52
20
-9
-9
9
-4
-28
-5
23
30
43
-10
0
19
1
-3
24
-21
-34
0
9
-24
-6
-27
-79
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
74
-18
4
-23
9
74
-10
-38
40
-5
1
-22
-41
-9
19
-2
28
-46
-71
-32
10
-16
10
21
-103
21
49
-3
-4
-16
13
-6
-56
-9
-17
-46
1
19
-123
-7
-3
12
7
-45
5
-11
-41
40
2
2
3
18
-7
44
28
0
14
44
22
8
-41
24
-15
-34
16
12
-28
-3
74
20
-24
-84
38
-30
-38
-1
-10
-45
-105
2
-31
-33
-40
23
34
-92
20
-12
-24
15
8
31
28
-27
-52
-96
-96
29
6
20
-23
37
1
-1
14
88
13
-10
-56
-10
1
19
-73
24
-1
-23
19
77
0
32
39
5
-4
41
9
-2
3
11
-12
6
36
-5
-7
-46
-45
11
34
-9
-26
23
-16
26
-54
-60
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
23
1
0
0
0
4
0
0
0
0
0
0
-14
0
1
0
0
0
0
-8
6
0
0
0
0
0
-17
0
-1
7
0
0
3
-28
0
0
-12
0
0
-3
-26
0
0
28
-6
0
-1
28
0
0
-16
0
0
5
-41
0
0
-8
25
0
12
38
0
0
-2
0
0
0
8
0
0
0
25
-6
0
-39
0
0
0
0
0
0
1
7
0
0
0
0
0
-29
0
0
0
0
0
0
3
0
6
-1
5
0
0
-5
0
20
-8
0
0
0
49
0
-4
0
-8
0
0
2
0
1
0
0
0
0
70
0
0
0
0
0
0
-31
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-26
0
-61
5
117
0
0
-28
3
0
10
0
5
0
-46
-2
23
0
0
0
0
21
-1
0
1
0
0
0
38
-10
-8
-2
0
0
0
51
0
-8
34
0
0
-9
-68
0
0
98
-4
0
-19
-2
0
4
-12
0
-4
-1
-3
0
0
8
8
8
0
-5
0
0
2
0
-12
0
-28
0
0
-41
-1
30
0
35
0
0
0
0
0
0
-31
0
0
0
0
0
0
-35
0
0
1
0
0
0
53
0
0
-3
-2
0
-6
54
0
0
-8
0
0
0
4
0
5
2
-2
0
0
-50
0
1
24
0
0
2
55
0
0
39
13
-25
0
40
0
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
22
-10
-13
11
3
-23
49
-1
-41
-2
0
-24
1
-1
11
-14
-15
-2
-4
-1
7
5
-53
-42
33
-2
-2
2
17
-24
22
-24
18
-46
-19
13
-8
-1
-11
58
-12
38
14
-23
13
19
2
-27
25
-13
114
27
-2
13
43
0
18
27
23
47
12
-2
77
11
-6
15
-89
9
11
65
24
-2
-43
-38
-17
-1
-3
14
65
-11
-5
-62
-7
18
-6
-12
-23
48
-67
22
-37
-8
29
-26
-21
-3
17
-9
6
48
76
-7
9
-35
-9
28
-53
-8
17
40
26
18
4
6
-18
-21
-44
40
12
10
-26
-24
60
-3
101
4
16
-10
43
54
-7
-9
0
8
-12
-56
-36
-21
-34
35
-23
-64
-84
12
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
11
0
-43
-13
0
0
14
43
0
0
0
0
-19
0
6
1
1
0
0
0
0
-59
5
0
0
0
0
8
26
-2
-2
-23
0
0
7
-16
0
0
-2
0
0
60
-23
0
8
1
2
0
5
-32
1
0
-78
0
8
-27
-10
-4
0
-60
0
0
49
26
0
6
-40
0
-5
3
-42
0
0
-1
9
50
0
-11
2
0
0
0
0
0
-86
5
0
0
0
0
-7
-56
0
26
3
0
0
2
-52
0
-19
30
0
0
-2
2
0
-13
65
0
0
4
-20
0
0
84
1
0
0
-10
2
-69
13
0
0
0
-51
0
0
45
3
3
0
-17
0
-6
-41
0
-6
0
-118
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
50
0
-20
33
-19
0
5
42
0
0
-1
0
0
0
3
12
8
-2
42
0
-3
-69
-18
0
0
0
0
32
41
0
9
7
32
0
-51
-17
0
0
-48
-7
0
-70
-21
42
-4
140
-44
0
2
-54
8
-23
-18
0
0
-21
22
-8
0
13
19
-8
57
10
0
0
24
0
0
0
-50
0
0
23
23
0
0
7
10
0
0
2
0
0
29
5
0
0
-3
0
-1
-70
0
-29
-19
0
0
10
-33
-1
-1
10
-17
0
-3
42
0
89
82
1
0
-8
-25
0
21
-34
-10
0
9
4
0
-6
20
0
0
-50
-39
0
17
-9
-6
0
0
-17
0
-28
-6
0
0
0
-51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
63
2
2
-39
-9
-24
0
-35
-25
42
0
-87
3
0
-37
-3
5
0
-1
-3
-7
-8
15
-55
-20
-2
54
67
-16
1
-5
-18
-15
-2
61
49
3
-81
9
-2
-33
-3
34
-29
42
20
-2
-25
-6
-19
0
8
-4
-19
-9
0
-6
-6
-2
-9
40
-7
6
-2
0
21
-4
-30
49
0
-9
-13
0
0
4
0
-1
-41
-90
-3
0
12
0
-18
-54
1
-89
-29
0
-54
48
-8
0
-72
31
-39
-3
-65
-3
-8
-61
-1
16
-6
-14
-10
-6
-27
32
-15
15
1
-5
0
-22
-16
-8
0
4
-13
0
-21
58
-38
5
0
-55
0
-3
-7
42
0
0
-63
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
14
52
12
-14
2
0
12
4
-12
30
-4
-76
-29
-25
-5
-20
-43
19
63
-4
-7
11
11
-7
-8
10
-3
18
-9
-53
7
3
-35
-14
4
-6
64
-11
-1
-23
-33
21
-6
-17
17
-3
-16
-27
15
-23
-59
12
-18
-7
-35
88
0
33
-48
14
18
6
144
36
6
-49
46
-72
-8
8
-3
-13
17
40
-99
-41
41
19
12
1
29
11
18
-22
19
56
-27
39
49
-12
-22
16
-39
-37
2
-32
28
-13
7
-93
-19
8
11
-3
13
0
-32
-19
-10
-48
84
-36
-12
-7
4
25
68
6
19
0
-30
-82
46
-28
35
62
27
5
32
-1
-13
-8
190
7
22
1
9
-67
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-100
8
0
0
0
0
0
84
0
0
0
0
0
0
25
0
0
2
0
0
0
77
0
0
19
0
0
0
-22
0
0
24
0
0
4
-15
0
0
9
0
0
0
-62
0
0
1
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
6
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
9
0
0
0
0
-5
0
3
0
0
0
0
-19
0
5
0
0
0
0
40
0
0
-1
-1
0
0
-30
0
0
2
0
0
0
55
0
0
0
0
0
0
82
0
-6
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
20
-14
-1
-7
-64
-43
15
10
-100
-3
63
0
20
101
17
-49
-21
-59
-58
-98
44
1
17
-32
20
7
0
14
-5
-8
-30
-13
25
74
3
-3
-74
13
5
27
27
14
-26
12
-16
14
-45
24
-53
-23
-73
-26
13
-5
15
14
3
-5
53
-3
-4
-28
32
27
35
-83
-43
-29
16
-2
20
-47
-19
-27
12
73
-27
15
46
-24
22
-35
13
-75
-22
-56
66
-25
-68
-28
-3
33
62
-34
0
2
3
-42
-19
43
-22
-27
-23
-28
30
-16
-31
43
18
25
-63
-60
-7
-10
-16
18
-5
-68
65
-15
43
-6
-19
23
17
43
13
21
-74
14
-18
-6
-15
32
10
-50
-14
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
24
0
1
-3
-38
-26
-8
-14
-25
-46
-3
-19
1
7
-17
-62
-13
6
-4
0
47
2
-46
-1
-60
5
-30
-45
21
14
15
-3
18
30
-37
15
12
-28
-21
-14
-19
-35
-10
7
-106
-64
-32
-49
4
-43
7
-89
-16
-3
-62
4
-4
18
46
-28
36
-3
-40
44
-6
9
40
-56
-45
0
-35
-16
8
0
41
4
0
-40
11
4
-5
9
-1
54
-5
-3
-21
-27
-4
-28
11
6
-13
-35
-3
11
8
-36
-5
30
40
-34
20
0
23
-27
-36
-6
17
-75
2
1
-18
0
21
22
-11
85
-2
26
-2
-50
-17
21
-80
-5
25
2
-27
-36
-1
48
0
-46
-13
41
1
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
13
3
-1
-75
0
-38
0
10
-77
51
0
1
0
0
-8
-62
-4
-5
20
1
16
12
-8
-35
52
-7
-37
71
11
-2
10
25
0
44
33
29
1
70
-10
13
-12
83
-15
3
26
24
8
49
4
-4
1
-6
24
-2
51
-22
-4
0
-3
-16
0
17
-4
-11
0
-2
29
0
30
0
18
11
-2
0
-17
-19
0
13
-56
0
-3
0
0
-46
-43
0
7
32
0
-6
5
-8
-1
-6
44
0
6
-31
39
-3
62
50
0
-2
59
-14
0
16
-1
7
-5
40
-6
0
85
18
0
34
-7
1
0
10
-14
0
-2
-10
-11
0
-70
33
0
-20
0
26
-17
17
-5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
2
0
0
0
47
31
66
0
14
0
0
20
5
9
0
0
0
-8
-8
9
6
-49
-52
0
-56
19
0
0
12
0
0
-22
16
0
2
27
-6
0
63
-20
0
-5
43
25
0
-22
-29
2
4
-80
-23
0
33
22
0
0
-32
0
0
-5
-66
0
0
-8
5
0
0
8
1
0
0
-5
0
1
10
25
0
0
0
0
-4
9
0
-3
0
0
0
12
52
0
1
-17
-10
0
-4
-23
0
-4
53
7
0
8
-8
0
15
18
-13
0
-6
-33
5
59
64
0
0
34
-31
4
-15
2
17
0
6
-78
0
82
-4
-5
0
0
-27
10
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-28
49
3
-26
0
0
2
19
0
0
0
0
8
-35
1
-3
10
33
58
-24
2
0
1
9
0
-14
6
16
0
4
18
12
1
22
53
0
6
19
38
29
-1
68
0
0
39
-29
-26
0
12
-4
-2
-42
2
13
0
71
0
0
0
-7
-53
0
-4
25
0
0
6
1
0
9
-1
-6
0
0
0
0
-4
-10
7
-33
0
1
-14
0
0
2
-21
0
2
-7
-23
0
-17
3
0
-10
19
5
0
0
-20
-2
2
-4
8
0
48
19
0
-5
0
-36
0
0
-26
4
1
0
37
0
17
-3
-2
-8
0
-29
28
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
63
-29
13
38
-3
3
-5
19
2
1
-102
-29
32
30
-95
5
2
-22
16
14
-9
47
12
-2
-49
-38
-4
-2
-37
8
9
-12
-85
-1
-1
-7
22
12
-14
-7
-7
-13
20
6
-18
-24
-38
28
5
-1
-39
9
20
-3
24
0
32
-37
-24
5
-1
-1
-5
31
7
-50
-119
-19
-4
-2
17
24
1
29
24
20
0
33
12
47
-30
32
15
28
-41
-26
-15
41
-3
58
24
24
-6
3
17
92
40
-2
63
-8
9
18
0
56
-10
-23
-10
-16
-67
-31
-34
-14
67
-37
29
50
33
-59
0
6
38
-2
47
30
-12
-6
33
-19
-23
-11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-6
0
0
0
0
0
-37
0
0
0
0
0
0
7
0
0
-8
0
0
5
-21
0
0
8
0
0
-5
-45
-1
0
-20
5
0
0
-20
0
0
-1
0
0
0
102
0
0
1
19
0
0
-67
0
0
-8
0
-3
0
2
0
0
0
1
-1
0
-26
0
0
0
0
24
0
65
0
0
0
0
0
0
8
0
-2
0
0
0
0
-27
0
0
0
0
0
0
-57
0
0
0
0
0
0
22
0
2
0
0
0
0
33
0
13
0
0
0
0
28
0
0
-1
-14
0
0
0
0
2
0
0
0
0
-2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
1
0
0
0
0
-33
-7
0
0
0
0
0
5
0
0
-1
-1
0
-8
-12
0
0
-7
0
0
47
78
2
0
-4
-1
0
-20
57
0
0
26
0
20
3
-44
0
0
-3
-1
0
-3
-43
0
0
-3
0
-4
0
-24
0
0
0
0
-2
0
10
0
0
0
0
0
0
-22
0
0
5
0
0
0
3
0
-2
0
0
0
0
41
0
0
-2
0
0
0
75
0
0
-1
0
0
0
15
0
0
-1
-6
1
0
-8
0
1
0
0
12
0
2
0
0
2
0
0
0
-41
0
-2
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
3
0
53
-6
0
-1
4
0
0
0
0
0
61
66
-10
8
30
18
3
-16
0
0
-41
0
5
26
40
2
-2
-4
-28
23
-15
40
-2
0
-18
0
41
2
-10
0
0
19
-14
63
-1
38
0
0
0
0
27
0
31
0
-13
0
-42
22
0
-34
13
0
0
-13
0
0
-87
0
0
0
0
0
0
-37
0
-9
-14
0
0
0
-60
0
7
9
0
0
0
40
0
50
5
0
0
-1
11
0
-1
-2
-28
0
0
-22
0
-44
-1
0
-3
0
12
0
2
0
-1
-10
0
-10
0
13
0
0
-3
0
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
23
-7
0
0
0
0
0
-7
0
0
0
0
0
-78
0
15
2
0
0
12
-5
0
0
28
0
0
40
-27
0
5
-37
-6
0
25
-37
0
0
-16
0
3
20
-12
0
0
1
13
-3
4
-59
0
0
40
0
-6
-8
54
0
0
-17
0
8
0
0
0
0
0
-4
0
0
-35
-7
0
0
0
0
0
67
0
1
0
0
-3
0
-8
0
3
-6
0
0
-5
-92
0
5
5
0
0
0
27
0
17
71
8
38
0
40
0
2
8
0
-3
0
32
0
0
-2
5
0
0
-30
0
0
0
0
2
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-45
-35
-36
0
-94
0
2
-45
-57
9
0
0
0
-53
19
-7
32
52
-20
0
10
26
0
5
12
-6
0
68
9
-2
7
-27
-33
0
23
-13
-10
-20
28
0
0
132
14
0
-7
29
2
0
-22
5
0
-5
-81
-3
0
8
13
51
-5
-33
-88
0
0
-15
62
0
0
4
0
0
-1
45
0
8
-3
0
9
-17
3
40
-26
0
0
23
0
0
48
-6
-2
0
-15
12
-15
-29
-15
-4
0
-24
-10
0
-14
53
-23
0
-51
21
-2
27
19
7
0
2
15
3
44
-32
2
0
38
-26
0
-73
5
12
0
0
-12
-99
7
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-34
0
0
0
0
0
0
-44
0
0
0
0
0
0
31
0
0
-2
0
0
0
12
0
0
2
0
0
0
-40
0
0
6
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
-12
0
-32
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
37
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
1
0
2
0
0
0
0
49
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-10
18
-44
-19
49
-4
41
-16
-42
-26
-21
25
15
10
1
19
39
37
-21
15
8
-8
-80
-13
5
17
-27
9
-1
-29
13
-3
-56
-21
-6
-2
-32
8
18
-27
-19
-33
3
-7
-45
-5
-32
-14
3
-3
-83
17
-7
20
-13
20
0
-38
-36
-52
-31
-31
30
3
-54
40
-40
-16
-17
-4
19
-10
29
2
88
-60
36
3
-5
-8
24
-36
-22
1
13
36
12
28
7
44
17
1
3
-21
-23
19
-16
-6
5
34
-12
-11
-4
25
-32
4
-44
-136
2
-6
-15
-1
3
-44
-32
50
-22
18
-16
0
-38
-35
-61
-28
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
-6
8
7
0
-1
-93
10
5
74
-17
-12
28
76
20
0
-1
-2
-13
7
-17
21
2
-2
-4
-11
47
-45
-1
-50
6
-9
3
32
-19
20
-1
1
-57
-74
-34
54
17
0
-15
28
-4
-1
53
-34
28
-6
11
-47
-28
2
17
0
1
0
0
8
0
1
-2
-1
-2
-8
-14
-7
-25
2
-1
-15
0
28
-10
-18
-8
16
17
-6
0
-19
-14
-8
-88
23
29
-6
33
-71
0
16
53
-60
-24
19
55
-3
-22
-14
9
-22
-17
-15
-12
8
24
14
20
-3
-9
0
-21
-1
0
-7
0
26
0
6
-17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-60
0
1
3
0
-39
3
0
-34
-61
15
88
-42
-21
0
0
2
16
-5
-3
-39
-3
1
13
43
-2
11
12
7
7
-18
61
54
-22
-4
0
1
-23
33
-37
0
-27
-2
-9
57
-2
-54
14
58
0
16
3
-10
10
0
-3
8
-9
9
0
-5
-8
1
-12
0
-2
-5
0
19
46
1
-49
-8
0
-2
43
-8
1
41
29
-7
0
-11
-64
0
26
-7
-3
7
-3
-13
0
8
19
-22
-3
6
-2
0
-5
-65
-10
29
9
-6
0
-16
-39
5
29
-7
-99
0
4
11
-9
41
0
11
51
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-33
0
0
0
0
0
0
-53
0
8
2
0
0
10
-141
0
0
0
0
0
8
-23
0
0
-1
-9
0
0
40
0
0
0
0
-2
0
-1
0
0
0
-3
5
0
36
0
0
0
0
5
0
-6
0
0
0
0
0
0
-10
0
2
3
0
0
0
3
0
0
0
0
0
0
-8
0
0
2
0
0
0
24
0
0
-2
0
0
0
-14
0
-13
0
-6
0
0
-30
0
0
0
-6
0
0
-65
0
-1
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
0
0
0
5
2
5
-16
18
26
3
-29
-27
35
0
0
38
0
-44
22
13
0
1
73
-2
-20
32
-44
-7
1
19
-1
70
56
-58
6
-3
-31
-1
-39
31
-25
0
5
107
0
52
13
-25
0
-13
10
9
1
0
18
-23
0
0
0
60
0
-6
17
0
0
0
0
-4
-47
13
9
-20
0
-5
-9
2
-4
-3
116
0
-12
14
-47
0
40
19
17
-13
8
0
0
-60
3
-5
-18
9
1
0
-62
11
0
54
37
14
0
1
26
0
74
6
-9
0
-48
3
0
11
0
2
9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-13
0
0
0
0
-2
-92
14
0
-82
0
0
4
-31
0
0
-13
0
0
-23
-42
0
0
66
4
0
-5
14
0
0
66
0
0
6
-87
0
0
-22
-14
0
-1
20
0
0
10
0
0
0
93
4
0
2
-1
0
0
-13
-6
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
-13
0
0
0
0
1
0
0
-8
2
0
3
-82
0
24
14
2
0
5
-36
0
-8
40
2
0
3
-21
0
-25
-5
4
0
0
-58
-2
0
-3
0
0
0
22
0
-78
0
0
0
0
38
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
2
4
0
0
-40
0
0
0
-45
0
0
78
1
0
-13
-23
0
0
-16
0
0
3
27
0
0
-1
1
0
1
51
0
0
2
0
0
0
7
0
0
0
13
-4
0
48
0
0
0
0
0
0
-2
8
1
0
0
0
0
-28
0
9
0
0
0
0
37
0
0
0
0
0
0
22
0
0
-10
0
0
0
-4
0
0
0
1
0
14
91
0
3
0
0
0
0
36
0
0
0
0
0
0
-2
3
0
0
0
0
0
28
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-15
-55
-31
5
-6
30
-50
-1
71
4
-9
-37
-2
10
6
6
-1
33
-25
-18
-2
3
26
15
33
47
18
-26
5
-50
35
15
18
23
7
12
11
7
21
28
27
-15
1
67
-11
-18
40
9
-59
7
-30
36
26
10
12
-40
0
-18
-76
-45
-111
-5
-38
18
24
-35
-21
-7
-54
0
5
-81
3
14
-25
11
3
13
41
25
4
-65
-38
18
-20
19
51
8
15
-32
-41
-1
-43
12
-14
72
-19
-33
7
-65
-87
-19
12
-24
-63
-3
91
-23
-43
-30
33
75
15
1
-6
-72
-37
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
8
-75
10
-34
57
13
10
-1
2
47
27
-9
0
-4
-46
4
-16
17
-1
-1
-75
-5
16
7
45
3
-5
-32
-26
-6
0
3
29
1
17
-11
1
-8
-18
1
-25
0
-9
0
5
17
-15
-14
0
-1
-13
-9
0
0
0
-8
-2
5
-8
-8
-5
-1
-4
-15
0
4
59
5
1
1
43
0
-23
8
33
0
2
8
0
-14
19
8
-4
0
-21
2
-46
89
-4
0
8
-31
-9
-35
17
0
-1
0
-8
5
8
-34
47
6
0
8
0
5
-2
-2
-21
0
-14
-2
18
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-9
0
78
-8
1
10
14
0
0
35
0
0
19
10
13
0
39
-2
0
-2
11
0
0
-7
-1
6
0
27
27
0
14
-1
0
0
-42
0
0
-4
0
0
0
-16
0
0
0
-13
-4
0
-52
-1
0
0
0
0
0
82
0
0
13
0
0
0
47
0
13
2
0
0
0
28
0
0
-2
0
0
0
-51
0
19
-3
-5
0
0
-49
0
0
-5
-24
4
0
-73
0
-6
-3
0
0
0
7
0
0
0
0
0
0
27
0
4
0
0
-8
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
0
-1
16
4
0
45
45
1
1
-41
0
0
-39
-37
0
2
46
5
2
40
13
0
7
-42
4
13
-4
14
0
0
13
6
0
0
57
0
0
3
0
-12
0
-39
0
-1
0
0
-16
0
-5
0
0
0
0
0
0
75
-2
0
0
-1
0
0
3
10
-5
4
0
0
2
-83
0
8
-5
-13
0
0
-56
1
0
5
0
0
0
76
2
-22
-5
3
0
0
22
0
-1
8
0
0
0
-20
0
-1
-1
0
32
0
36
0
-5
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
1
0
0
-8
-66
0
0
33
0
-8
0
22
4
0
-8
3
7
-7
20
0
0
4
0
17
0
-62
0
0
-5
0
0
14
-45
0
0
0
0
0
0
-12
0
0
0
1
-4
0
30
0
0
0
0
4
0
-66
0
0
0
0
0
0
7
0
0
0
0
0
0
68
0
0
9
0
0
0
-29
0
14
63
0
0
0
42
0
0
-2
3
0
0
46
0
8
0
0
0
6
-10
0
0
-13
0
4
0
-53
0
-8
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-4
-4
0
0
4
-40
0
0
103
0
0
9
-73
0
0
-1
7
0
75
41
0
0
0
5
0
0
93
0
0
-5
0
0
-3
11
0
0
0
0
0
0
-24
0
0
-3
7
0
0
63
0
0
0
0
0
0
5
2
0
0
0
0
0
131
0
-1
0
0
0
0
3
0
15
23
0
0
0
37
0
-1
-8
0
0
0
68
0
0
1
-7
0
0
74
0
12
4
0
0
0
-1
0
0
5
0
0
0
-10
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-23
-5
-5
3
1
12
43
40
0
6
-38
7
2
-21
18
-8
-43
-12
38
-2
25
-24
0
-20
-29
-12
-9
-13
-20
0
-3
-24
-6
-31
24
-50
-6
14
52
55
63
0
3
-8
0
0
0
41
0
8
10
-2
0
-10
-2
9
18
0
-37
-20
0
0
1
55
4
77
73
-16
0
20
22
7
-27
75
-7
0
-6
-30
-7
-30
-29
-16
0
-13
-34
0
44
-21
0
-4
5
38
-3
-7
-50
1
7
0
18
1
-94
-12
0
-20
0
19
-19
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-69
-52
36
-65
-31
-13
33
-12
-29
5
-49
1
-9
12
29
26
29
15
-5
0
-2
44
16
-6
43
-99
-56
9
12
-104
-32
-38
-20
-111
7
8
52
-15
31
20
30
-7
14
6
-29
-10
2
32
21
56
-26
-5
-3
9
-10
0
7
-32
-55
-14
-13
-42
4
-105
-10
2
-70
-10
-33
2
62
4
3
-72
-12
63
-12
6
-14
16
-13
-8
36
-2
-43
31
-2
-47
31
-74
-15
50
5
11
15
-7
-62
16
35
34
-47
14
-38
-3
3
8
-16
-23
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
5
-2
54
2
-1
-22
-12
10
-39
-116
-67
-2
-87
-48
0
-7
-135
126
12
-9
3
0
65
-3
-2
8
6
0
0
-9
-48
-1
-20
2
-84
0
0
-12
-6
64
0
-29
-3
0
0
-19
40
0
-4
-96
-43
0
-1
0
0
-24
24
-51
4
0
0
-15
-31
1
74
-50
-1
0
4
-31
0
-116
72
36
7
-3
-41
0
-6
16
42
2
-13
16
0
69
15
2
-2
-7
-7
0
0
-10
-13
13
15
-83
0
-43
-1
9
38
0
-5
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
7
-3
67
0
-16
5
13
48
101
69
29
0
-23
-7
-3
2
-24
28
5
-43
12
0
-3
-13
-38
-9
-3
-76
0
1
-105
10
-101
-2
-9
3
0
69
43
-45
0
-17
-5
0
0
-19
-1
0
-30
-115
-6
0
0
-1
5
34
0
75
22
0
7
-16
-11
8
-32
59
115
-5
0
19
38
-12
83
5
-6
31
72
-30
-59
35
52
-8
1
-9
8
6
29
-33
12
-1
-54
0
8
-63
5
3
0
-29
0
-9
1
0
34
0
13
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-51
2
16
15
-5
-22
-9
61
-16
4
15
-32
-36
19
28
16
-2
0
-11
-8
15
11
0
95
14
-10
63
-51
0
-3
-7
-10
101
17
-5
-5
-5
-19
44
44
53
0
-6
11
7
-1
-41
-13
0
-26
-42
9
0
0
-13
-48
21
-5
13
71
47
-2
-19
-1
-6
109
39
10
8
-44
16
-4
-21
-21
57
8
37
5
-5
-73
32
-83
-67
50
29
7
-16
-33
-21
25
58
3
-1
39
-22
27
10
21
9
-1
-12
-57
-6
-91
0
-13
-11
12
-5
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-25
0
3
14
0
4
-11
-77
-3
37
-1
-12
-18
-10
-21
-6
12
3
0
60
26
10
-3
13
38
3
76
111
-18
0
-4
-59
-1
-51
103
-43
0
-2
-55
-2
5
0
10
1
-6
0
0
16
9
-28
-60
-3
-20
0
0
8
-7
-4
-7
-50
0
0
62
-22
0
102
39
6
2
-9
-52
1
68
42
12
6
-53
-15
2
-30
-93
-27
7
-6
-4
0
-38
40
0
-20
11
17
0
40
15
4
55
0
-18
0
68
-5
0
-6
1
-12
-18
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
0
-4
-32
0
0
78
-73
-6
-4
8
0
0
-52
-36
4
5
-88
-7
0
12
-16
0
3
-10
57
0
-6
-51
0
7
-49
0
0
-7
61
0
1
-11
-5
0
0
-25
-12
0
0
-2
0
0
-19
16
-2
0
0
0
0
-2
0
-41
-7
0
0
4
94
0
4
-22
2
0
53
-33
-2
-2
83
10
0
-14
20
0
41
3
-21
0
-4
-5
0
-64
-11
0
0
-1
-27
2
0
23
18
0
0
-14
0
-69
0
-3
0
0
40
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-5
23
-64
37
6
-65
-10
-4
-6
-1
-26
86
-25
-72
19
-1
-9
7
-6
1
-50
39
1
49
-28
-19
-82
-46
-13
-1
8
76
36
13
0
15
-56
3
-1
-3
9
0
-27
-14
-14
8
13
0
-3
-39
5
-13
21
-6
-1
7
31
5
46
93
32
-4
-55
-26
-23
7
-8
-92
2
62
-13
6
-64
-31
-36
1
-10
49
-7
-46
106
-1
21
0
16
-10
-30
-20
-13
33
0
32
-3
-5
-20
15
18
0
-32
21
-19
1
8
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
3
42
-22
-47
1
-40
-4
9
-2
0
-10
-21
-18
27
4
54
-38
29
-5
-18
41
13
-37
-13
16
21
-11
39
-14
-22
70
8
40
3
71
15
-48
-61
-112
32
40
53
20
45
-13
8
-44
-103
-35
20
-42
-2
18
-108
-5
-130
0
-12
-16
-45
-3
-12
-84
9
23
32
-48
31
-5
-16
18
12
-12
-3
-19
15
-52
5
53
17
18
-16
-38
-28
0
16
-42
45
40
-1
27
-15
-109
28
35
-17
-18
29
37
-12
51
35
22
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
3
3
-1
0
0
-2
-6
0
-5
-2
0
0
0
-27
0
2
90
3
0
4
-14
0
0
0
0
-2
0
-42
0
0
0
0
-10
0
-5
0
0
0
0
0
0
21
2
-22
10
0
0
0
80
0
5
2
0
0
0
37
0
13
-3
0
0
0
1
0
-5
20
0
0
0
-70
0
1
-2
0
0
0
-29
0
-2
2
0
0
0
18
0
0
-1
-5
0
0
-41
0
-1
0
0
1
0
-20
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-63
0
-2
-16
1
0
-9
15
-3
0
12
5
0
-5
28
0
0
5
27
0
-2
0
0
-4
-13
0
0
0
42
0
0
0
-9
5
0
-2
0
0
0
0
0
0
24
6
0
0
0
0
0
16
0
59
-4
0
10
1
66
0
0
-31
0
1
0
70
0
43
-49
-4
0
3
25
0
0
9
-14
0
1
-70
-1
11
57
0
0
0
-45
0
0
-9
6
0
3
-38
-6
-28
0
0
3
0
-71
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
28
-37
-50
44
55
10
-22
-8
-2
54
-26
-37
-69
40
29
4
73
16
-30
-8
14
29
0
-18
-13
-97
34
-7
-6
-4
2
-13
25
-5
2
8
-15
-23
12
9
-30
-12
5
57
-43
-12
30
-34
-8
19
49
-25
-108
-6
-75
19
30
29
96
34
39
8
24
18
17
2
-61
-21
52
-28
-3
-30
-5
-31
5
-15
-94
17
3
-11
-1
13
-76
89
46
80
-52
46
-6
38
-48
16
-2
6
4
-17
-12
0
45
41
-56
-8
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
87
-9
0
67
-90
0
5
49
0
-9
-7
25
0
1
53
3
5
0
17
0
-7
-7
0
1
0
-92
0
0
-19
0
63
0
-69
0
0
0
0
0
0
-29
0
0
0
0
0
0
129
0
-3
-4
0
0
-4
31
0
-6
-12
0
0
0
-37
0
-44
5
0
0
0
-52
0
0
13
0
0
0
-70
0
-31
-20
0
0
-2
-105
0
0
0
0
14
0
-45
0
0
0
0
-7
0
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-15
0
14
17
0
0
5
-117
0
0
81
0
0
-20
-31
0
0
-9
38
0
3
-92
0
2
8
0
0
13
-38
0
-3
23
12
0
0
17
2
0
0
0
0
0
-35
1
0
0
0
0
-5
45
0
-23
-7
0
0
-14
12
0
3
91
14
0
1
-17
0
110
-16
0
0
9
-22
0
-3
40
6
0
1
-25
0
48
-23
2
0
-5
44
0
0
22
11
0
0
-36
0
84
0
0
0
0
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
-9
7
74
-52
-32
-33
-19
0
20
22
-5
5
1
-46
27
-4
31
-26
58
9
-17
11
2
23
-18
-43
47
0
37
-49
8
-2
7
49
-6
37
2
8
25
-33
0
7
1
14
-4
17
-1
30
44
-2
24
-14
-5
-25
19
34
1
35
-30
70
59
0
-27
1
9
3
-62
-4
33
-24
11
-5
36
31
67
-18
-43
8
41
-22
-96
-96
-27
0
43
1
-25
-11
4
54
0
40
-47
12
3
46
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
8
50
0
-22
16
-7
8
16
44
27
21
1
-2
2
12
-37
0
50
6
-7
55
-1
-57
-51
45
18
-6
-20
6
-8
11
22
16
-86
-44
16
20
-16
5
16
-52
9
12
32
12
45
53
-31
21
19
-20
6
-27
5
63
-50
0
-45
-43
-22
6
-43
-96
-2
-19
8
-24
9
31
63
21
-40
-12
13
-34
12
11
15
37
53
12
-17
-2
29
6
-27
16
-16
-40
6
7
19
3
-7
38
-50
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
8
3
-7
5
0
13
1
0
0
9
-43
0
-6
-6
0
0
54
-2
-2
-3
-91
0
7
12
-36
-24
0
-12
0
0
0
1
0
0
-91
-5
1
3
0
0
0
39
1
-35
5
0
0
-1
-16
0
11
25
0
0
8
-58
0
-3
46
-8
0
-4
-79
0
-21
33
0
0
-3
-45
0
-24
0
2
-2
-8
-8
0
0
-7
-1
0
0
-21
0
7
0
-5
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-43
-9
-9
16
3
-8
4
-47
0
0
-10
-23
-10
15
31
0
2
0
8
-7
-12
-25
3
0
13
-6
-33
0
-33
0
0
0
2
38
0
-74
-4
2
0
5
0
4
15
6
15
12
0
18
40
18
0
24
21
29
16
9
55
-1
17
16
0
-2
18
-21
-1
5
5
48
4
43
-24
9
-47
-13
-8
13
-9
-29
-4
0
-33
4
23
2
-15
0
69
0
1
-38
0
-98
-16
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-14
9
11
-64
16
23
-24
4
56
35
5
-29
25
21
22
-15
23
-73
27
0
-12
10
-61
-27
-21
-9
0
12
97
6
-53
-81
-38
17
6
34
78
-89
-50
-8
-23
16
-91
62
-9
67
4
-10
-2
-41
23
17
21
-25
-32
2
14
28
20
27
21
6
-20
-93
42
65
-61
-24
44
0
-12
4
33
12
21
-29
-32
39
51
37
-33
50
-36
2
-16
3
-6
28
-25
-2
21
-6
-40
-39
-17
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
10
-6
-45
-33
2
-27
3
-16
24
-33
-12
-43
13
5
-26
0
15
-36
9
-62
19
-8
0
67
-40
-10
-22
0
9
-12
8
0
4
57
0
7
-78
4
-9
0
3
16
-43
-8
110
21
15
-14
-57
15
1
-44
-60
17
-6
-41
28
0
11
-39
14
2
10
13
-3
-19
-50
21
2
-14
-10
0
42
29
-3
-14
-45
-24
0
18
27
38
-31
-13
-43
0
30
-26
0
37
-4
-23
-31
-3
47
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
0
0
-25
1
0
4
-26
0
0
-23
-11
0
-1
-43
0
0
4
0
0
0
-63
0
4
-32
5
0
0
45
0
0
0
0
0
0
-98
13
0
0
1
0
1
-14
0
51
-2
0
0
14
40
0
18
-22
42
0
-19
52
0
21
26
0
0
29
-50
0
0
28
7
0
12
-45
0
-50
-22
0
0
-24
-42
0
0
83
0
0
0
-19
0
44
-2
0
0
0
-10
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
24
0
-28
-15
52
-21
6
13
-22
7
-11
-35
-26
108
20
-2
-11
-29
-2
6
0
27
80
-2
0
-13
-109
1
0
27
-30
-37
-2
2
-4
2
-43
10
-32
-3
-1
-41
28
1
-61
-29
8
-17
19
-6
10
-37
34
-39
31
-3
7
-19
-11
-4
33
-25
6
38
8
-4
-105
-15
122
-63
-16
-3
-46
34
-15
47
-23
-3
3
5
39
3
6
0
-10
-50
5
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-11
-9
-17
-15
7
-2
14
26
-20
15
-18
-20
41
12
-28
21
61
-33
-11
48
21
-27
-39
-57
-9
-1
94
-9
43
-39
26
-31
-89
27
15
42
-10
47
-43
-37
24
35
93
-25
40
19
44
-18
22
-75
24
1
-21
56
43
0
39
39
36
40
44
20
-7
3
-38
-15
-3
-20
-12
19
-29
-6
-3
-5
-6
64
-3
-40
-6
36
9
-22
-17
23
16
-52
47
-33
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
30
5
0
3
61
0
0
3
-5
-1
0
54
0
0
-6
-9
-2
0
-14
0
0
-1
2
0
0
3
-15
4
0
3
0
3
-77
0
99
7
0
0
3
-8
0
-4
14
1
0
2
73
0
-17
-29
0
0
4
-6
0
-17
-1
-20
0
0
-53
0
58
25
0
0
14
-5
0
0
6
8
0
0
-14
0
6
0
0
0
0
-50
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-8
15
-51
-11
-14
-16
-38
0
-1
-64
-5
9
0
15
0
0
-2
3
-8
0
30
0
0
0
1
1
0
29
6
0
0
0
0
20
-3
0
30
-7
0
0
8
-79
0
-1
20
17
-3
-2
5
0
35
-51
-3
0
-4
7
-9
-1
66
42
0
15
-23
-3
-49
94
-15
0
0
-76
0
0
-39
12
5
0
-34
-1
3
12
7
18
0
88
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-48
-92
42
19
-10
-43
6
5
-17
-46
51
40
-34
31
-15
23
-30
-50
12
-1
15
-48
8
0
10
-15
-10
-14
-45
41
28
-55
-44
5
26
3
11
27
1
-56
2
1
-31
-2
34
-11
-5
33
10
22
-5
17
-15
-42
58
-2
25
30
16
-30
-12
43
24
-27
-43
-18
-13
-5
-94
-5
10
10
87
-8
1
21
14
-9
9
-7
-25
-22
8
18
-27
83
5
28
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
10
0
0
24
0
-19
-18
-33
0
0
19
0
-21
2
-53
0
0
25
0
131
0
-59
6
0
0
-3
14
0
5
-2
1
0
0
0
-6
12
0
15
0
0
0
-13
-18
0
50
79
0
0
-6
-80
-12
-10
-10
0
-3
-1
12
0
3
-89
-10
1
1
-90
0
-86
-36
0
-2
0
19
0
-3
-9
0
27
0
-24
-2
-18
-15
0
18
3
-36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
5
0
-1
19
-14
0
36
-42
0
-1
23
0
0
3
1
0
0
-21
50
0
0
-1
-8
0
0
0
0
0
15
-9
0
0
0
0
-19
65
0
-53
-39
4
0
3
-37
0
4
56
89
0
47
-9
-1
-26
-4
0
0
33
18
-1
-25
16
50
0
-17
16
-2
-3
-8
0
0
18
3
0
-5
19
35
0
0
16
0
91
-4
0
0
0
-40
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
30
0
6
-10
36
28
-14
-1
0
-12
-81
-34
-52
2
9
9
0
17
31
-9
0
-19
-21
0
-4
1
0
0
-27
-7
28
31
0
0
0
-72
0
24
-74
41
0
-15
-44
0
-34
-43
-8
0
3
-12
2
42
-29
-9
2
-6
40
-5
47
-58
-10
17
24
1
0
16
-12
21
20
-6
9
0
46
3
-5
3
4
-14
8
12
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-15
-53
32
-27
20
103
12
-64
-7
54
-14
-18
5
11
-16
-45
-3
2
-8
-45
4
23
-20
-31
67
-26
-49
29
-12
-42
22
-22
-40
-1
13
-86
7
13
16
-96
0
19
-61
-58
-2
75
-86
31
15
31
-108
12
63
45
53
0
-41
30
-3
-68
-6
11
-3
25
-13
61
-8
30
48
3
33
-51
-11
-17
10
11
48
10
-49
-38
-27
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-21
0
0
-5
-1
5
0
65
0
0
-2
8
2
0
12
0
0
0
0
0
0
-40
5
0
0
0
5
0
8
0
0
-1
4
0
1
-18
0
16
-6
0
5
-8
-78
0
7
-6
-7
-5
0
84
0
0
13
0
0
0
-19
0
-29
0
0
1
0
-17
0
0
2
0
0
0
47
0
41
1
3
0
0
-22
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
0
38
0
-1
0
27
0
0
8
-3
21
0
16
0
0
0
0
-3
0
-8
-18
0
-2
0
0
0
-8
0
68
-18
0
12
2
-71
0
0
79
30
-1
1
13
0
8
-53
0
0
0
36
0
-4
-49
28
-3
6
-65
0
26
14
0
0
-2
-5
0
0
-33
7
-3
0
-92
0
52
0
0
7
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
6
0
-83
3
57
22
-33
-29
-8
6
33
2
20
0
5
58
-20
8
-64
4
-8
-7
10
22
-43
7
4
-56
23
-9
-22
-3
0
-37
-44
11
-7
-2
50
-73
21
-13
4
21
-25
20
-36
12
-119
7
23
-25
-58
104
42
-107
14
13
11
-12
-10
23
-5
-25
-2
-43
-30
27
-32
18
1
-1
-52
54
10
23
0
-5
-71
28
2
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-17
8
-1
6
0
37
-11
-4
43
1
-34
13
4
0
-39
-92
40
0
0
-2
0
1
75
-1
37
0
0
8
-60
0
-75
-3
0
6
79
-3
17
14
100
68
0
31
16
-3
78
-19
5
16
14
-11
5
-61
-33
-13
-7
-20
15
-6
65
60
3
43
-13
-10
-34
21
0
10
-8
0
-34
-1
16
5
-8
-91
0
-23
-72
-3
4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
-24
0
0
-50
23
0
1
-88
0
-9
-103
-16
0
0
11
0
21
0
0
0
0
24
7
0
0
0
0
-6
39
0
-15
60
0
0
29
10
0
-2
-51
-45
0
0
-55
0
23
57
2
0
-17
10
1
0
18
-29
0
8
-32
0
5
78
-5
0
-15
42
0
0
-37
40
0
0
-29
0
-24
-8
-8
0
0
-19
69
-10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-5
0
-16
26
8
0
-30
24
0
0
-5
0
0
18
-15
-4
9
7
0
1
4
4
-29
0
6
2
-1
-45
0
-30
-29
27
-8
40
41
-8
-19
-20
-4
0
-6
17
-4
-29
11
25
0
3
-28
-4
-26
71
20
3
-8
-6
0
0
46
63
0
0
21
0
-84
-2
-9
-41
0
-39
41
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
42
-31
67
-7
-37
24
3
-67
43
-41
-22
-6
-15
25
-10
-28
-3
-19
-15
81
7
-27
-33
22
-76
0
-9
14
111
-19
39
-37
-55
-18
-1
-41
-5
26
22
31
-12
14
-55
46
14
-57
14
79
-14
15
-12
21
65
-4
21
0
61
-70
71
-54
-10
7
-6
48
-13
-25
60
26
-84
25
-4
27
-32
-61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-1
-8
0
-87
0
0
0
-3
0
0
-20
0
0
0
0
0
0
-30
0
22
0
0
0
0
-24
0
0
0
0
0
0
-54
0
0
0
0
0
2
0
0
0
0
0
0
0
37
0
6
6
0
0
0
-23
0
0
0
0
0
0
35
0
7
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
5
1
-24
0
-46
0
0
0
0
0
0
-40
0
0
1
-5
0
0
62
0
7
0
6
0
0
76
0
0
-29
0
0
0
-22
0
4
3
5
0
2
25
0
0
-4
3
0
0
-2
0
-10
-3
0
0
0
-14
0
-2
-8
-2
0
0
-24
0
18
0
8
40
0
20
-5
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-7
0
-14
27
5
26
0
-10
-36
-1
1
-35
-31
-3
-4
-94
-6
6
12
0
1
-31
-5
-26
38
-8
-4
-70
-25
-12
102
-2
-31
3
-51
26
-9
-66
-76
-32
-7
32
-20
-13
-6
21
-61
18
-88
-17
-6
30
45
22
-1
-24
6
0
-52
20
40
-2
0
-18
-1
-9
-1
-6
-55
0
-1
22
2
-8
18
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
36
0
0
10
0
-42
0
15
0
0
0
0
0
0
4
-5
0
0
0
0
0
-25
0
-1
-1
0
0
4
-40
0
0
8
0
0
14
-2
0
6
-20
0
0
16
-4
0
7
58
2
0
0
-94
0
27
11
0
0
0
30
0
0
33
0
0
0
-32
0
6
-4
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-30
-7
5
-75
66
0
0
4
-43
-1
0
44
0
0
-1
126
-3
22
4
0
0
-8
1
-13
-14
0
3
4
15
0
-22
15
21
0
-23
-28
0
-41
-39
0
0
-41
-14
0
-25
33
13
0
-9
-2
0
-37
18
16
0
31
-19
0
22
47
7
0
-22
-32
-1
2
-28
0
0
0
11
20
0
-17
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
0
0
-5
0
0
-16
3
0
2
0
0
0
-46
0
-19
0
0
0
1
-36
0
-32
-21
-10
0
-5
-3
0
65
30
0
0
-25
58
0
-8
34
-13
0
0
11
0
-29
38
-13
0
0
-23
0
6
-53
-16
0
-1
-80
0
111
0
0
0
0
-35
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-23
-22
-7
-30
22
-13
-27
5
31
28
55
-92
-12
-20
17
4
16
23
63
5
-34
17
4
-6
5
0
22
-12
8
-32
-8
-9
-14
12
20
12
49
32
-4
-11
19
-17
1
-23
-43
-39
-68
24
18
6
24
-46
18
-87
-24
-13
0
11
22
40
-28
-22
-2
0
-106
10
3
-74
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-1
0
1
0
0
0
2
-3
0
27
0
0
0
0
-43
0
0
3
0
0
0
-75
0
-2
0
-3
0
0
-20
0
0
0
-7
0
0
-7
0
0
29
0
0
0
23
0
0
2
10
0
0
-5
0
-1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
-4
0
0
-8
-33
0
0
0
0
0
0
-20
0
10
11
0
0
15
-6
0
0
-24
0
0
-12
29
0
0
-3
0
0
5
-22
0
13
13
9
0
0
-6
0
29
34
0
0
1
-20
0
0
-3
-8
-12
0
-58
0
28
5
0
1
0
-20
5
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
41
0
-30
-5
0
-48
11
57
0
-5
0
-4
-16
-4
-92
20
0
-3
-56
-58
0
-44
-17
-31
0
-3
9
-1
48
-36
-5
0
-29
23
-6
29
-36
-129
0
-3
21
-8
22
-60
2
-28
-8
-73
-5
-5
-22
26
-42
0
-34
-14
-28
0
0
1
0
-50
70
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
0
0
0
6
0
5
17
0
-13
0
0
0
20
-3
-136
-25
0
3
51
38
0
-7
-30
0
0
46
21
-3
97
-46
-3
-2
-28
48
5
32
-48
-14
-4
78
-3
-4
-15
-14
0
-20
-4
12
3
12
83
-3
-28
-1
-37
0
-32
-2
0
3
0
12
-42
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-63
12
1
-31
0
0
32
4
-1
-8
60
0
-43
11
0
38
-61
-3
0
-22
-6
-8
-131
35
-7
0
60
18
-6
-27
35
-11
0
13
36
4
-39
17
20
0
3
17
2
15
-23
-18
0
3
0
-34
9
34
-37
0
-33
-8
16
-34
4
-14
0
0
6
20
14
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
12
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
65
0
1
0
0
0
0
-1
0
0
0
-4
0
0
-29
0
-4
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
19
-27
74
42
-42
-51
-17
19
-33
18
-9
90
-65
41
4
-40
-12
19
-53
-140
13
25
-61
1
31
14
99
53
17
34
-13
-1
-8
24
44
-4
30
-20
-13
-33
10
10
9
14
-60
-6
-63
-38
32
15
-2
-14
38
-11
-30
-7
0
-76
-40
16
-52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
81
0
18
4
0
0
0
14
0
-5
25
0
0
18
-99
-2
8
7
0
0
23
-70
0
0
66
47
0
0
-32
0
85
-5
0
0
2
-31
0
-7
-14
-6
0
0
-39
0
-125
-10
0
-18
0
-4
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
1
0
0
0
0
-12
0
24
-4
0
0
0
48
0
0
-4
0
0
-1
-84
0
-1
16
0
0
0
26
0
0
8
0
0
0
-27
0
-4
1
0
0
0
-29
0
0
0
0
0
0
-5
0
3
0
0
0
0
121
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
-4
0
0
0
3
1
0
0
1
0
0
0
-58
0
0
0
0
0
0
55
0
0
0
0
0
0
14
0
-1
0
0
5
0
-56
0
0
0
-7
-5
0
-74
0
0
0
0
0
0
-28
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
10
0
-39
0
-43
5
0
0
3
-13
0
-5
-13
0
0
0
0
13
-8
33
5
0
1
19
0
5
5
-6
1
0
34
13
24
-5
0
0
0
-53
0
0
5
1
-23
0
-71
0
-13
1
0
12
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
0
0
-1
0
0
-74
0
-18
25
0
0
0
-13
0
18
13
1
0
-3
9
-2
-6
-8
-2
0
9
33
0
-1
10
-9
0
0
1
7
-30
8
0
0
0
0
0
0
-41
2
0
0
-55
0
47
0
0
0
0
61
-13
0
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
-28
0
8
0
0
0
0
-14
0
0
0
0
0
0
-28
0
0
0
0
0
0
-17
0
-1
2
0
0
0
22
0
0
0
0
0
0
-31
0
2
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
35
-15
25
-93
-51
-48
-26
-6
97
12
37
-34
-63
-14
1
-117
14
3
-21
24
15
-21
13
-6
36
-31
-66
-39
-1
17
20
-30
-5
14
16
2
-7
-44
-6
53
-35
-29
-7
-6
3
-20
7
36
-55
20
20
-19
45
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-15
-7
42
-32
0
5
6
2
-14
11
-73
-18
0
-2
31
-6
-14
-26
4
0
-8
-44
3
9
31
-34
0
-29
-44
9
-65
-61
0
-6
3
-15
-4
-2
-22
-29
-8
0
-1
1
2
13
0
-21
0
-27
15
-10
-2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
10
0
0
0
-10
119
-1
36
-5
0
0
3
3
0
18
-1
0
0
18
-103
0
0
18
2
0
0
64
0
17
-4
0
0
0
-24
0
0
-1
0
8
0
39
0
-7
6
-2
0
0
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-15
13
0
0
0
-49
0
19
0
1
0
0
44
0
4
8
0
0
0
68
-1
-3
-2
-1
0
0
28
0
5
0
0
0
0
-33
0
-2
-8
-1
3
0
44
0
-1
0
0
0
0
-9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-3
-2
0
0
0
-62
0
0
13
0
0
-9
113
3
-13
0
0
0
0
22
-3
-8
56
0
0
0
-10
0
48
-16
0
0
0
-41
0
0
-10
0
0
0
-14
0
-1
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
7
0
0
-4
0
-2
6
0
0
0
-2
0
0
-1
0
0
0
-12
0
-2
-1
0
0
0
-5
0
0
8
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
2
-1
-9
0
0
66
5
11
-18
-1
0
-3
-74
-4
0
3
20
0
-4
10
0
4
50
0
0
0
-69
0
4
3
0
-10
0
-29
0
-15
0
0
0
0
-146
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-11
32
-28
-28
12
-5
-64
-3
-13
-28
34
-31
70
-4
-5
5
-24
40
-17
-15
-64
4
-18
-7
-45
-91
8
-71
7
1
-51
-1
-23
3
34
19
-4
-2
1
30
27
-13
3
31
8
5
-9
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
0
2
0
0
0
0
69
0
-17
3
0
0
0
-29
0
0
-14
0
0
-1
-82
0
-15
2
0
0
0
60
0
0
-1
0
0
0
-64
0
-8
0
0
0
0
-56
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-85
14
47
52
-86
-20
-11
11
-7
-28
6
-23
63
-85
-22
-5
-41
-20
142
-19
-7
13
-1
-27
-56
-6
-7
15
35
0
-5
3
7
40
4
0
-1
-14
-22
-5
-20
0
-7
-18
0
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
14
-5
-31
-13
-40
-37
5
69
-26
-12
23
9
-32
1
-13
-46
16
48
-12
7
0
-57
-10
0
6
3
16
0
8
-6
27
5
4
24
0
-110
13
0
-10
0
-31
13
17
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-42
0
0
4
0
0
0
-25
0
3
2
0
0
0
26
0
0
1
0
0
0
-41
0
-4
-12
0
0
0
-50
0
0
-2
0
0
0
-34
0
5
1
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
-3
0
0
5
-78
0
-35
-4
0
0
0
41
0
0
-1
0
0
-3
-53
0
3
-1
0
0
0
-135
0
1
2
-1
0
0
-13
0
12
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
6
-3
-37
1
-2
-1
-39
0
-50
-55
-12
1
6
-26
-6
120
-32
6
0
-3
18
0
-2
-25
-15
1
0
38
0
70
-8
0
-1
0
34
-16
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
18
2
14
9
-40
9
-12
-32
-29
2
-26
-2
-55
21
-63
19
-18
-18
-131
60
-3
-41
20
-13
74
-20
-33
-2
-5
55
-27
-6
70
-4
21
-66
-57
-70
-79
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
-30
12
0
0
0
-18
0
0
0
0
0
0
-16
0
-3
0
0
0
0
-9
0
0
-1
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-25
-5
-40
-26
13
-1
-27
-11
0
0
79
21
18
-10
3
0
-42
-48
7
-6
0
22
0
0
23
-29
-50
0
13
-6
-49
-4
6
-12
0
-63
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
12
8
-114
40
-19
8
-93
-13
0
-7
-59
21
-65
-19
27
-1
2
-31
17
-10
-32
86
0
2
-19
-50
71
0
9
2
-40
17
0
28
0
46
4
-13
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
19
0
-65
36
0
0
-72
10
0
-11
-49
0
7
-9
16
0
-35
-8
-6
-12
-1
-28
0
2
-23
0
-3
1
6
0
-19
0
0
-20
0
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
-5
-8
0
0
-5
-46
0
0
-5
2
0
-3
30
0
-1
-5
0
0
0
6
0
-1
9
0
0
0
31
0
9
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
0
-34
54
-4
3
0
-5
0
107
-43
-9
0
7
4
4
-4
-27
-12
-2
0
41
0
-21
5
-1
-5
0
36
5
2
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
15
-98
19
-35
3
69
21
19
52
-12
45
-28
-37
-91
-11
31
-71
-13
-40
-4
-35
23
49
37
-69
7
33
8
27
5
-53
-3
-63
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
-4
-5
-5
0
0
20
0
-3
-2
0
0
0
12
0
0
5
-3
1
0
64
0
-27
0
0
4
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-8
25
21
-35
-1
-9
-24
-2
124
71
-4
-24
-62
61
7
-6
-7
-35
-47
0
-4
0
-69
-39
-10
-51
0
-36
-54
-3
-1
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
37
9
-97
84
42
72
-16
9
1
42
-74
-27
7
-15
-18
0
-25
-121
-15
-49
10
31
9
49
-32
9
25
0
3
42
-2
-5
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-9
-13
5
0
-1
-17
0
35
49
0
0
0
-79
0
0
-4
0
0
0
-21
0
-11
1
0
13
0
11
-5
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
-3
-2
-1
0
0
2
0
25
0
0
0
0
-46
0
0
5
0
0
0
-82
0
38
0
0
0
0
-39
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
-49
-61
-21
6
-8
-17
0
0
19
-42
-16
0
10
0
-112
5
0
-2
0
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-12
-8
-20
52
-39
69
42
31
15
-30
17
4
57
-62
7
-15
-29
30
17
-41
3
-35
11
-69
-65
-35
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
22
0
0
0
0
-18
0
0
24
1
0
0
-22
0
-7
0
0
0
0
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-14
-6
-62
43
13
0
30
-2
0
4
-64
-28
-16
0
0
0
22
5
0
105
0
-84
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
71
1
2
127
-30
-15
-96
-10
0
2
-145
9
-5
8
26
0
-37
9
0
-48
0
-10
38
3
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-1
-16
19
-13
-34
27
-14
0
-5
93
-4
77
0
8
1
9
3
0
34
0
-27
-24
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
-51
-12
0
0
-1
36
0
0
-17
8
0
0
40
0
-52
0
2
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-8
-81
29
2
0
-64
0
-35
0
0
-30
0
-33
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
4
22
2
-7
7
34
-58
-11
6
-22
10
-20
69
-7
18
6
-27
-47
-60
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
0
0
-1
0
0
0
88
0
5
-2
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-67
-6
16
-10
-10
47
18
-43
4
56
16
-55
-11
20
0
15
-9
-4
55
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
91
27
13
-16
4
-37
0
-19
-8
-1
33
0
-43
-11
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
39
0
0
35
-16
0
0
-52
0
-1
-5
0
-8
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
23
-22
0
0
0
-60
0
59
0
0
0
0
50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
6
9
0
-65
8
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
5
-1
-29
8
-3
-12
-14
-43
61
36
-62
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
-1
0
0
0
0
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
-50
4
20
24
0
41
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-38
-3
-25
141
0
-25
34
-29
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
11
9
0
23
0
-55
12
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
0
37
2
0
0
0
44
8
-27
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
28
-36
-15
-26
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
25
-3
30
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
11
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-27
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
2
0
0
0
2
0
0
0
11
0
0
0
0
0
75
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
-8
-1
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
-79
-2
0
0
0
0
6
5
0
0
0
-1
0
8
11
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
1
0
0
0
-1
0
0
5
-4
0
0
0
-3
-22
0
0
0
0
0
45
-22
0
20
46
-3
0
-70
-70
0
0
50
0
0
8
-48
0
0
17
-2
0
0
8
0
0
4
0
0
5
5
0
-50
-5
0
0
0
34
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-4
0
3
0
0
0
-1
2
0
3
-5
0
0
24
0
0
-13
0
0
0
-7
0
0
30
0
0
-8
31
0
0
-3
0
0
0
36
0
3
-8
-9
0
0
10
0
0
0
0
0
0
30
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
0
0
0
0
3
0
0
0
0
0
0
28
0
-4
0
0
0
2
6
0
0
8
0
0
0
20
0
-5
0
0
0
0
-13
0
0
0
0
0
0
-18
0
1
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
-41
-50
-16
1
20
-112
18
-88
-78
-4
61
0
-4
-9
0
-40
21
15
-2
-7
-58
-18
27
-1
-18
23
17
5
-2
22
51
-73
-9
-17
9
-21
1
5
-30
-7
43
0
10
15
-15
-3
3
-62
25
12
-46
-1
-13
4
-55
1
-26
-5
-24
-29
-24
-24
-43
-5
13
4
-19
0
2
-1
4
-25
-88
28
-3
-28
-15
0
0
0
0
0
0
0
6
15
-15
-1
16
13
0
2
35
27
40
0
-30
0
-1
-28
-87
79
-7
26
-5
24
49
-16
-71
-5
-2
-1
-86
-35
-9
-37
-99
-22
11
-55
1
-7
14
19
43
-57
-22
-1
-25
-23
-14
-18
18
-1
0
-13
0
-2
-3
-46
2
1
-13
-2
6
-18
17
-4
8
-92
2
7
-3
-57
31
-2
8
13
-3
-2
-5
28
1
-22
10
1
-1
12
-5
-1
-31
3
8
22
23
13
1
28
44
2
4
-125
14
-3
-35
-48
-74
-53
15
-39
-6
30
-73
-23
-10
9
-2
3
41
-14
21
12
-7
-15
2
-25
7
15
3
38
-27
-9
-24
31
19
38
-14
21
0
41
-9
9
14
-54
-15
-1
-32
3
2
1
-1
-13
-4
16
-20
-10
9
9
12
-2
15
-28
73
3
-1
-53
23
-28
-16
9
-27
22
26
1
-24
42
39
-20
26
9
14
-32
17
-1
-17
-72
15
-2
-37
-8
1
-16
-25
8
-16
-58
5
5
34
21
-51
-5
-10
-2
-39
44
21
-23
-1
34
-24
-1
-5
10
-78
5
-5
4
-34
28
23
-10
5
-1
22
-45
19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
4
0
0
0
1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-51
0
0
-3
0
0
14
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
-7
0
0
0
-2
0
0
4
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
4
0
0
0
0
-2
52
0
0
0
0
0
13
-20
0
-42
0
0
0
-77
-62
0
0
0
0
0
0
-21
0
0
-3
0
0
-2
-37
0
0
-4
0
0
0
7
0
-8
0
0
0
0
-6
0
0
0
0
0
0
13
-2
23
0
0
0
0
-6
0
0
0
0
0
0
46
0
0
-1
0
0
0
-53
0
0
0
0
0
0
34
0
0
0
0
0
-1
4
0
0
40
0
0
0
10
0
0
0
0
0
0
-7
0
0
1
0
0
0
-5
0
0
0
0
8
0
67
0
0
0
0
0
0
1
0
0
0
0
0
0
-29
0
0
0
0
0
0
20
0
0
-8
0
0
0
2
0
0
-3
0
0
0
0
0
0
8
0
0
0
6
0
2
0
0
0
0
75
0
0
0
0
0
0
-43
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
-3
0
0
0
-1
0
0
-2
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
42
0
0
0
0
0
-38
0
0
0
0
0
0
-47
0
0
0
0
-2
4
0
0
8
0
0
59
3
-2
0
0
0
0
0
0
0
0
0
0
0
-34
-2
0
4
-4
0
0
-10
8
0
0
14
5
0
1
-3
0
0
-7
0
0
0
0
0
0
0
21
0
0
0
12
0
0
0
0
0
34
-14
-3
0
0
0
8
50
3
0
27
0
0
66
-25
-3
-18
7
0
0
-66
53
0
0
29
0
0
-4
24
0
0
23
-8
0
13
-18
0
0
-21
0
0
-1
-21
0
-9
0
-4
0
0
-44
0
0
1
0
0
0
-10
-2
0
0
0
0
0
144
13
0
0
0
0
0
-27
0
0
-7
0
0
10
27
0
0
-12
0
0
-3
-25
0
-8
16
0
0
-2
75
0
0
1
0
0
-1
16
0
0
32
-17
0
0
23
0
0
13
0
0
0
-46
3
10
0
0
0
0
-17
0
0
0
0
0
0
37
-14
0
0
0
0
0
-3
0
2
0
0
0
0
4
0
0
0
-2
0
0
-46
0
-2
0
0
0
0
5
0
0
-8
0
0
0
-39
0
-1
-1
0
0
0
0
0
0
3
0
0
0
19
0
-12
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
21
0
0
0
0
0
0
0
4
0
0
0
0
0
9
0
0
0
0
0
0
-2
10
0
0
-2
0
0
0
0
0
-44
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
-16
0
0
6
0
0
0
38
0
0
0
0
0
0
0
0
0
-57
1
0
1
27
0
-1
-2
2
0
1
1
0
0
55
0
0
0
-5
0
0
0
0
0
0
0
0
-35
0
0
-2
0
0
0
0
0
31
5
0
0
0
0
0
-40
0
0
14
0
0
0
-7
0
59
-24
0
0
-6
78
0
0
-8
0
0
7
-23
0
0
14
0
0
3
-66
0
0
70
0
0
0
-45
0
-42
13
0
0
0
11
0
0
0
0
0
0
-23
0
0
0
0
0
0
-38
0
0
0
0
0
0
-27
0
0
-4
0
0
0
-9
0
0
11
0
0
6
17
7
-3
-16
0
0
-1
64
0
0
-36
0
0
-2
-8
0
0
0
1
0
3
59
0
0
0
0
0
0
-6
0
0
1
3
1
0
-32
0
0
0
2
0
0
-39
0
0
0
0
0
0
9
0
0
0
0
0
0
52
0
0
6
0
0
0
23
0
0
0
0
0
0
-34
0
2
-4
-7
0
0
26
0
29
0
0
0
0
-5
0
0
-2
0
0
0
-48
0
0
0
0
0
0
16
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
0
31
0
0
0
0
0
0
3
2
0
0
0
0
-7
20
0
0
0
-6
0
-3
-1
0
0
0
-1
0
1
0
0
0
-16
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
14
0
0
-27
1
0
0
-24
0
0
0
0
0
0
0
0
0
-41
8
0
-1
-5
0
3
68
0
0
0
-10
-8
8
42
0
0
0
4
0
-1
0
1
0
0
3
0
-17
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
1
0
0
-6
33
0
-75
2
0
0
63
22
0
0
36
0
0
0
-11
0
0
-2
0
0
8
-17
0
0
5
0
0
0
-48
0
27
0
-1
0
0
48
0
0
0
0
0
0
34
0
0
0
0
0
0
-55
0
0
0
0
0
1
0
0
0
0
0
0
0
-75
0
0
0
0
0
12
76
0
0
43
22
0
2
-29
0
0
-14
0
1
0
47
0
0
7
0
4
0
4
0
0
4
0
7
0
5
0
-2
-1
0
-13
0
3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
11
0
0
0
-1
15
0
0
0
0
0
0
-3
0
11
0
0
0
0
31
0
0
0
5
0
0
-19
0
0
0
0
0
0
-8
0
0
2
0
0
0
-1
0
4
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
-10
0
0
5
0
0
73
0
0
0
0
0
19
-2
0
0
0
0
9
0
4
0
0
0
0
7
0
0
0
-26
0
0
0
0
0
0
0
0
0
-16
0
0
0
-5
0
0
5
-1
0
0
-27
0
0
9
-2
0
0
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
-71
0
0
0
0
0
-4
-8
0
4
3
0
0
10
-23
0
-2
68
0
0
4
66
0
0
-21
0
0
2
-47
0
0
-6
0
0
-1
31
0
-21
0
5
0
0
14
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
-1
25
0
0
-1
0
-6
0
21
0
0
2
-3
0
0
53
0
0
-14
0
0
0
-6
0
0
27
-1
0
0
-39
0
0
0
0
-1
0
-1
0
0
0
1
0
0
-69
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
0
6
0
0
0
0
-15
0
0
0
0
0
0
57
0
8
0
0
0
0
49
0
0
0
-3
0
0
16
0
1
0
0
0
0
45
0
0
0
0
0
0
28
0
-7
0
0
0
0
53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-107
-32
104
-2
3
62
4
7
-11
-42
10
65
59
6
18
20
33
38
-17
63
0
-12
-27
-12
-33
-117
4
26
27
-23
11
-6
-13
21
27
-36
8
-3
-11
63
8
-7
3
-2
2
32
-36
1
25
-7
4
-41
7
-8
-23
-12
0
27
-4
-5
1
1
-7
-73
1
-2
2
-31
-28
0
0
0
0
0
0
0
1
17
9
29
2
-64
3
-17
44
-3
-13
-1
-9
4
-3
25
-6
-17
-8
-26
-6
27
24
38
10
-8
-3
3
24
22
-33
-16
21
37
-8
-17
-1
-25
3
-3
-73
-16
-12
-3
33
63
-3
-23
-3
-24
-2
1
29
-5
10
85
-13
3
47
44
-12
41
3
-35
6
48
-39
-2
-43
41
2
-2
7
-7
2
-37
-13
29
-8
-26
3
17
-1
-9
-2
-5
-40
-16
-2
-3
20
-12
-4
-39
49
-49
7
15
12
0
-98
-52
26
-22
-30
-39
-11
22
45
-7
-11
-1
-10
-3
18
-30
-5
-1
-18
10
0
-11
-9
-10
27
-13
1
-11
-2
-1
3
57
0
-12
-4
-16
54
3
0
-4
-39
-7
20
-5
-13
-7
-6
-32
-3
-49
-35
-4
-19
14
-13
-3
-17
-68
11
7
-2
-32
4
88
-102
-35
7
-8
-52
-26
81
33
-90
-12
-30
-48
-10
24
-4
41
-72
-87
-67
10
-30
-13
-44
-59
13
-13
-32
4
-7
-7
16
-70
36
-9
-21
-4
-31
-3
-35
-27
-3
-19
-46
-9
-31
-19
44
0
-52
-2
1
-5
-9
-58
17
-15
46
1
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
82
0
0
0
0
0
0
0
2
1
1
0
0
0
-52
0
0
0
0
0
0
-10
0
0
0
3
1
0
0
0
0
-71
0
0
0
0
0
-60
0
0
0
0
0
1
3
0
0
0
0
0
1
0
0
0
0
0
-11
4
0
0
24
0
0
0
0
0
0
0
0
0
-21
-4
0
0
-24
0
-3
-8
0
0
0
0
0
-4
14
0
0
0
-4
0
0
0
1
0
0
7
1
1
0
0
0
0
0
0
-1
0
-64
0
18
0
0
0
1
44
0
0
0
0
0
-3
-14
0
-2
4
-18
0
30
4
0
0
-19
0
0
5
28
0
0
13
0
0
0
-19
0
0
5
0
0
-1
-30
0
12
4
-2
0
0
52
0
0
0
0
0
0
-18
1
0
0
0
0
0
22
-6
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
4
0
2
1
-38
0
2
-5
8
0
-1
-34
0
10
-7
0
2
3
5
0
0
15
0
0
0
-54
0
0
-1
0
0
0
44
0
0
0
-2
-2
0
-31
0
0
0
4
0
0
-66
0
1
0
0
0
0
2
0
0
0
0
0
0
20
0
0
0
-6
0
0
-31
0
4
-2
0
0
0
29
0
1
2
0
0
0
15
0
3
0
0
0
0
30
0
0
0
0
0
0
-38
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
0
4
0
0
0
-7
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
7
0
0
0
0
-9
0
0
0
0
0
0
-9
0
-10
2
0
0
-2
-27
0
0
0
0
0
0
-26
0
0
1
0
0
-1
5
0
0
-1
0
0
0
5
0
1
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
5
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
22
0
13
0
-55
0
0
31
-1
-14
0
-38
9
-5
-5
3
-31
0
58
-16
-10
-3
0
13
0
-72
-75
29
-3
-30
-37
0
3
7
-2
12
0
0
0
0
-20
4
0
8
-16
0
0
35
-92
0
1
-2
0
-46
4
-4
8
-22
-2
0
-9
-28
0
-25
-27
-41
0
0
0
0
0
0
0
0
-2
8
13
-5
-18
-3
0
-8
-39
0
17
13
4
0
-10
-51
-3
-7
18
27
0
-33
-9
-9
-1
-17
-42
0
-2
48
-5
0
-6
-2
0
-2
21
-11
-27
5
42
0
16
-41
-2
-4
2
3
0
-22
63
14
-2
-86
47
0
60
54
0
25
9
0
0
-8
-10
0
2
36
-31
0
-14
33
-1
34
-3
-2
0
-53
-14
0
-3
-1
-36
0
46
-27
0
-1
-29
24
0
-1
8
-84
-56
-24
-10
0
1
17
-21
72
-14
27
7
-1
9
14
-27
-48
48
0
30
25
-5
81
39
12
0
29
23
19
-10
5
-8
0
-8
18
6
90
59
28
0
17
18
5
7
-9
-3
15
47
1
0
9
0
-4
0
5
-3
-2
-28
26
-11
9
-2
14
-5
-2
0
12
0
0
35
-7
-2
-40
8
0
-6
-9
1
-27
47
-1
0
37
-17
-1
-2
-80
-7
0
1
24
-6
0
55
1
0
-8
-12
0
21
39
6
0
-55
21
0
-13
49
-4
1
-32
-11
0
-13
41
-70
0
-25
42
0
56
3
6
0
8
13
60
5
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
-1
-5
12
0
0
-22
-4
83
9
13
0
-7
-35
-25
-2
0
-1
0
-4
1
2
0
0
31
-3
0
-2
0
5
-33
0
2
-38
0
0
14
0
-1
0
0
0
12
-8
0
0
18
0
-14
-23
3
-2
70
-47
-12
43
46
-2
9
-25
0
0
0
0
0
0
0
0
0
-78
76
42
8
-1
0
-28
-67
32
-2
0
-9
15
-83
50
-13
0
0
-50
13
-23
-12
-19
0
0
11
-123
-93
0
5
-11
0
0
0
5
0
11
27
-5
10
0
0
-1
-40
0
0
-11
8
-1
21
12
3
-41
-2
-9
0
9
55
-1
8
-47
1
0
30
19
6
-6
-43
-6
6
55
-37
0
0
-125
4
0
-1
2
0
7
-17
-42
1
4
-6
0
5
29
2
-11
0
18
23
-6
0
-54
4
0
10
0
0
0
7
0
-3
-16
-2
18
-60
8
-49
4
-6
0
5
33
-12
-6
-75
16
7
-5
-55
-15
-5
33
6
4
-1
9
34
87
8
13
0
0
-30
54
-24
10
24
0
-16
-1
-4
-23
0
-42
0
1
-14
17
-55
0
-20
0
0
0
0
1
0
-42
47
0
0
0
0
0
32
0
-52
9
8
0
8
-12
0
0
1
5
3
-3
-6
1
-14
49
19
0
1
-26
0
-2
-40
47
0
18
-24
2
-66
0
19
-1
-1
1
8
2
3
0
4
1
4
6
12
0
0
12
0
-31
-5
8
0
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
2
0
21
3
0
-1
0
0
0
-2
0
0
0
0
0
0
1
0
0
4
23
-8
0
0
0
0
-26
0
0
1
0
0
49
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
-65
-3
-1
-98
0
0
-3
-4
0
0
0
0
0
0
0
0
0
-37
-17
0
0
50
0
7
-9
13
0
0
15
0
1
48
3
0
0
51
0
0
0
14
0
0
2
0
-71
0
0
0
0
0
0
0
0
-67
-2
0
0
0
0
-2
-117
0
0
-7
0
0
-2
0
0
-26
-14
0
0
-11
42
0
3
32
0
0
4
-94
0
0
7
6
0
20
2
0
0
-10
0
0
0
26
0
109
-4
-5
0
0
81
0
0
4
0
0
0
19
0
0
0
2
0
0
-22
0
-1
0
7
0
4
1
0
0
-12
2
0
16
0
0
6
34
0
7
-10
101
3
12
-19
-5
0
-20
12
1
1
-10
-5
1
0
-79
0
3
19
-1
0
0
-30
0
3
1
0
2
0
-58
0
0
1
0
-10
0
-9
5
0
0
0
0
-1
-48
0
0
0
0
0
2
-45
0
-3
0
0
0
0
0
1
-2
-1
20
4
8
-71
0
0
7
0
0
0
-11
0
0
-7
7
0
-1
-16
0
-4
0
0
0
0
-3
0
0
-8
0
0
0
72
0
-1
0
0
0
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
7
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
29
0
0
0
0
0
11
0
0
0
0
0
-70
0
0
0
0
0
2
0
0
0
0
0
19
0
0
0
-8
0
1
-47
0
0
0
7
0
0
0
0
0
0
0
0
0
33
13
0
-2
-4
0
0
7
0
0
0
-2
0
0
-18
0
0
0
0
0
-1
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
5
15
1
0
0
0
0
27
0
0
0
0
0
-2
-1
0
-36
-21
0
0
28
84
0
0
-3
0
0
-5
-73
0
0
87
17
0
27
-12
0
0
-2
0
0
6
6
0
-6
-3
-1
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
2
0
0
-3
20
0
2
9
0
0
4
-48
0
0
24
0
0
2
22
0
0
4
0
0
0
-15
0
0
1
0
0
0
-8
0
0
-2
0
0
0
-44
0
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
-20
0
0
-1
0
0
0
-20
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-28
0
0
-1
0
0
0
52
0
0
0
6
0
0
-11
0
-3
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
-3
-4
0
0
-3
2
-3
0
0
0
5
2
-1
0
-3
0
1
0
-2
1
2
0
1
0
0
-8
0
0
66
0
0
-1
0
0
-63
0
0
0
0
0
8
25
0
0
0
0
42
-4
0
0
-12
6
50
-65
-5
-2
0
-8
0
3
0
0
0
0
0
0
0
23
-14
-4
0
22
0
0
-13
-2
0
0
14
1
-4
-21
0
3
0
-5
0
5
0
-5
0
0
2
10
14
0
0
-5
0
0
0
0
0
-32
-8
-1
0
-1
0
2
-39
0
0
5
0
0
2
55
0
73
-4
0
0
-27
-39
-5
0
-7
0
0
-41
-85
0
0
34
1
0
3
61
0
0
-26
0
0
4
9
0
-12
0
0
0
0
10
0
0
-8
6
0
0
23
-5
-3
0
0
0
0
-68
0
0
0
0
0
0
47
0
0
25
0
0
8
-65
0
0
-34
0
0
-8
-52
-4
-7
3
-14
0
-2
-35
0
0
9
8
-4
41
-32
0
0
2
16
-1
-2
-13
0
0
-8
0
-1
0
-54
0
-1
1
1
29
0
49
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
-1
0
4
0
0
-42
0
0
0
2
0
0
-86
0
6
0
0
0
-6
-41
0
0
0
0
0
0
20
0
-1
-3
-7
0
0
8
0
0
18
0
-4
0
-17
0
2
0
-6
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
-30
-21
21
-60
-7
45
53
37
5
54
2
29
48
22
46
2
61
-90
-67
55
-2
9
-20
-16
35
21
-5
-6
-68
2
-27
0
0
-4
0
12
-16
12
-1
-27
-48
-1
1
43
-3
-32
35
-3
-3
-67
4
-26
-26
-17
-6
1
-20
-21
28
0
0
0
0
0
0
0
5
63
16
71
-21
13
3
-19
6
-20
25
5
-33
2
-7
-31
-4
19
-3
-26
1
-66
-36
-2
-1
22
-5
0
-2
-4
-26
0
0
14
-78
16
4
-41
16
0
-40
0
78
-2
22
6
-5
14
-16
63
-3
14
-10
-76
-2
-4
-38
3
-8
20
2
12
0
-21
-3
44
-18
4
17
-5
7
0
-22
54
1
65
1
1
-6
10
7
-23
-5
-106
32
-13
0
23
-15
-23
-17
0
-3
-50
-21
4
6
-34
12
-16
-23
-2
-4
11
-6
3
-45
-3
-75
-3
-38
-7
-5
-4
17
-31
30
10
12
38
-30
78
-47
-23
-10
64
-20
-6
10
-56
2
-32
-12
42
-9
12
-66
6
44
8
26
-11
-9
1
19
-87
-12
22
4
-2
-4
-22
-5
17
-2
1
14
-4
-2
-10
16
-2
-13
-46
42
-2
-19
6
-18
-1
21
-1
33
-28
-24
1
-24
-15
-61
-4
87
-16
-8
-28
-9
21
-59
-48
49
21
17
91
-3
14
-36
-2
-79
-33
-4
-13
-38
19
34
-11
0
-2
30
-22
-5
-6
-48
-13
16
-14
48
16
16
0
-3
-53
-1
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-2
0
0
-2
0
0
-29
1
0
0
0
0
0
-18
0
0
0
5
0
-1
0
0
0
4
0
0
-12
0
0
7
0
0
0
0
0
0
3
0
-1
0
4
-3
0
-1
0
-15
0
-8
-88
0
0
0
-83
0
0
0
0
0
0
0
0
0
-23
-9
0
0
47
0
-35
-22
7
0
-2
-2
0
17
-25
0
0
0
-17
0
-10
0
-1
0
0
0
0
-9
0
0
29
0
0
0
16
0
3
14
0
0
0
0
-14
0
0
0
1
0
0
44
-49
0
-22
3
0
0
-13
-59
0
0
-58
0
0
0
-80
0
0
-16
0
0
1
9
0
13
-25
0
0
-1
18
0
-33
-23
0
0
0
15
0
0
4
0
-1
1
10
1
-1
0
0
0
0
-19
0
0
0
0
0
2
-10
-1
0
40
0
0
-7
27
0
0
49
-3
-2
-15
-7
0
0
-10
-3
0
58
9
0
0
4
0
0
0
-60
0
0
18
0
-6
1
-10
0
-2
-5
0
-1
0
41
0
0
3
0
-12
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
38
0
-1
0
0
-9
-1
-15
0
0
0
0
0
0
-63
0
-39
-15
0
0
3
-13
0
1
-13
0
10
0
-47
0
-10
1
0
0
0
40
0
0
1
0
0
0
15
0
-2
0
0
0
0
-128
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
8
0
0
0
9
0
0
-27
-2
0
-1
0
0
0
0
3
0
-4
23
0
0
0
0
0
-45
0
0
0
0
6
-12
0
0
0
0
0
-4
-23
0
0
0
0
60
19
4
0
17
15
0
-64
0
0
0
47
0
0
0
0
0
0
0
0
0
-15
-3
0
3
0
8
0
68
14
0
2
-49
-6
0
14
9
0
0
-7
-4
0
9
24
0
0
1
-28
0
0
0
-14
0
0
0
0
0
52
-4
-5
0
-1
0
-37
18
0
0
18
0
0
-10
72
0
-74
25
13
0
-35
39
0
0
-31
-1
0
28
0
0
6
23
7
0
7
2
0
0
12
1
0
-19
-63
0
-12
-5
39
0
0
-54
0
0
0
0
0
0
-25
10
70
0
8
0
0
46
0
0
0
0
0
0
-52
0
-1
-26
0
0
-23
9
0
10
-35
1
0
-34
18
0
7
55
-7
0
47
-23
-2
-3
-32
7
0
-20
17
0
8
-11
-16
0
6
-73
0
0
-41
0
0
0
-33
0
-5
-16
69
0
0
8
0
0
0
0
0
0
-3
2
4
-7
0
0
0
-38
0
65
6
0
0
-2
-6
0
-8
-63
5
0
0
-26
0
44
-39
0
0
1
-46
0
9
-15
-4
0
0
14
0
-8
41
-1
0
0
-72
0
0
34
0
0
0
-17
0
-57
6
-4
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
-76
-18
-5
53
-46
0
-5
36
30
-60
-42
-81
-13
-7
-31
-11
-8
-55
-16
22
-34
66
-6
-60
33
-45
1
-5
-3
0
5
-6
-3
1
27
-20
-3
-2
-39
-121
-12
-28
-33
14
0
7
-66
-79
-64
-26
-105
12
10
9
0
0
0
0
0
0
0
-5
-62
-46
22
-46
-41
1
-32
-2
74
-41
6
24
8
3
29
-32
-8
-28
-43
11
57
28
-17
0
-2
-2
10
23
-52
0
0
20
10
49
-1
3
-45
-21
-88
-9
-1
-49
-1
-22
20
8
-18
-46
48
16
26
-12
3
-6
-15
4
-1
-17
-16
-1
-2
8
-20
6
28
-57
-2
12
4
-35
2
51
-13
-2
39
-47
5
0
-3
8
1
8
19
-14
-4
-29
2
-42
25
-49
-3
3
-22
-22
4
20
33
8
-22
-2
16
-24
-12
-67
23
-12
-31
-9
-1
18
6
-29
2
-37
-47
-40
-55
29
43
8
-92
-32
-17
-26
10
-17
-10
69
-35
-22
-30
1
-47
-7
7
-17
13
-38
32
-8
-12
-14
-29
1
14
22
-42
0
-28
-7
0
-19
-23
7
-26
45
-4
-15
-29
-5
-2
3
-1
-15
-47
-35
-51
12
-29
59
-85
-21
-39
-45
-8
-3
-19
-65
22
-19
-12
3
-18
-34
3
12
-3
-14
-28
-10
-78
-17
-7
-49
-28
95
-17
-37
12
-46
-32
35
25
4
-35
30
29
16
21
-4
4
25
60
-13
15
-9
0
-42
-16
-41
-51
-48
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
-18
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
4
-1
0
0
6
3
0
49
0
0
4
15
0
0
0
0
0
0
0
0
0
-11
13
0
-5
-76
0
0
-6
2
0
0
-16
0
-3
0
7
0
0
0
0
0
0
-6
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-15
5
-4
0
0
0
4
-13
0
0
-7
0
0
62
-20
0
11
-52
5
0
-8
0
16
0
22
0
0
9
31
0
2
8
-8
0
-8
2
0
5
8
0
-1
-2
30
0
15
-2
0
0
0
30
-3
0
0
0
0
0
-7
1
0
0
2
0
0
-44
0
0
0
0
0
0
14
0
0
8
0
0
0
44
0
0
22
0
0
34
0
0
-1
46
24
0
-9
-4
0
0
-3
0
0
0
42
0
-1
0
-7
0
2
-67
0
0
1
0
0
0
-24
0
0
-1
5
0
0
-32
0
0
0
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
-1
1
-5
0
-19
0
-1
-5
-3
0
0
0
-87
0
0
5
0
0
0
-32
0
0
0
0
0
0
21
0
-3
0
0
0
0
81
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-25
2
0
0
8
0
0
0
0
0
0
0
0
0
-5
-3
0
0
-1
0
0
1
0
0
0
4
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-29
0
-3
0
0
0
0
-41
0
0
0
0
0
6
12
0
-9
5
0
0
-4
-32
0
0
13
0
0
-5
-59
0
0
0
-1
0
0
-22
0
0
-3
0
0
0
-5
0
-10
0
0
0
0
24
0
0
0
0
0
0
-22
0
0
0
-1
0
0
20
0
0
0
0
0
0
12
0
3
0
0
0
0
-23
0
0
-1
0
0
0
-35
0
0
-1
0
0
0
15
0
0
-5
0
0
0
50
0
0
0
0
0
0
82
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
3
0
0
0
-17
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
-1
0
1
0
0
7
0
0
0
0
0
0
-27
0
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-4
0
-1
0
-1
-34
-2
0
0
0
0
-12
0
0
0
0
-13
0
0
0
0
0
51
0
0
6
0
0
-16
0
0
0
0
0
1
-1
0
0
0
0
-8
8
0
0
-26
4
6
4
4
-4
0
-7
3
0
0
0
0
0
0
0
0
0
16
-5
-1
39
0
8
19
8
0
0
-24
-3
0
-30
-8
1
0
6
0
0
0
-2
0
0
3
0
45
0
0
8
0
0
0
4
0
10
1
4
-1
0
0
16
-46
0
0
2
0
0
-31
-29
0
-59
36
14
0
21
-19
0
0
-11
-7
0
16
23
-1
0
-53
0
4
-4
-13
-2
0
13
0
0
-1
-14
0
12
1
0
0
-1
-64
0
0
10
0
1
0
-18
15
4
0
0
0
0
16
3
10
0
0
4
0
-23
-4
0
1
0
16
22
-10
0
-1
9
0
0
-38
6
0
0
22
1
0
6
69
7
0
12
6
-4
-2
-102
0
0
-17
0
4
13
25
0
0
10
0
0
1
73
0
3
4
1
-5
0
-20
0
0
0
0
0
0
25
0
0
0
0
0
0
26
0
-1
14
0
0
0
37
0
-1
6
0
0
-7
-35
0
4
5
1
0
1
102
0
0
-2
7
0
0
-1
0
4
-4
5
0
12
-9
0
0
2
0
0
0
-37
0
-5
0
0
6
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
-5
0
10
0
0
-42
0
-7
-1
9
0
0
-7
-1
0
0
1
0
0
0
0
0
24
0
0
-2
0
0
-16
0
0
0
0
0
-9
10
0
0
0
0
13
1
0
0
-13
-4
-2
-65
-17
0
-4
50
6
0
0
0
0
0
0
0
0
-4
-5
3
-4
-4
0
-2
66
12
0
0
-10
-5
-1
-15
42
0
0
-1
2
0
2
-4
0
0
-2
4
-14
0
-4
24
0
0
0
-1
0
9
0
0
0
0
0
13
33
0
0
9
0
0
46
17
0
-44
-36
0
0
-48
-97
0
0
7
0
0
38
37
0
3
-13
-6
0
-12
25
0
0
7
0
0
14
-28
0
-28
6
7
0
0
-42
0
0
2
-3
0
0
-14
4
3
0
0
0
-2
-39
0
0
8
0
0
-4
0
0
0
0
0
0
-20
17
0
-5
-2
0
0
-8
-20
-8
2
-32
2
6
-6
-21
-5
14
-27
1
0
-7
-21
0
0
-1
-23
-2
0
-9
0
0
6
0
-15
0
7
15
0
-17
-3
18
0
0
-6
0
0
0
0
-3
-31
1
0
0
0
0
0
8
4
-89
0
0
0
0
21
0
-1
-2
-1
0
1
41
-1
41
2
-1
0
3
-20
0
2
-31
5
0
0
-46
0
-18
0
0
0
0
-21
0
0
0
0
0
0
-59
0
11
0
0
0
0
-36
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-9
44
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
22
0
0
14
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
32
23
0
0
66
0
-8
3
31
0
0
-8
0
0
0
0
0
0
0
0
0
78
2
0
0
15
0
8
-13
-3
0
0
-17
0
7
-64
0
0
0
3
0
8
0
0
0
0
-1
0
24
0
0
5
0
0
0
0
0
75
10
0
0
0
0
23
-26
0
0
33
0
0
1
7
0
-23
-79
0
0
-41
-37
0
7
-15
0
0
-45
-42
0
0
2
0
0
-5
-37
0
0
13
0
0
5
17
0
-71
52
1
0
1
-57
0
0
0
0
0
0
-13
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-68
0
0
0
-1
0
-3
-42
0
0
-8
0
0
0
-39
0
0
46
0
0
-3
-22
0
0
-21
17
1
-1
-14
0
0
3
15
0
-3
4
0
0
-14
0
0
0
-72
0
0
3
0
-4
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
0
0
3
-9
0
0
2
0
0
0
-14
0
-1
-25
0
0
0
-26
0
0
1
0
0
0
-16
0
-2
7
0
0
1
-79
0
0
-3
0
0
0
-2
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
39
-5
0
0
0
0
0
0
0
6
3
25
-3
0
0
0
0
59
0
0
0
0
0
-19
0
0
0
0
0
1
-8
0
0
0
0
-13
0
0
0
42
14
0
-20
1
0
-3
-2
0
0
0
0
0
0
0
0
0
29
3
0
5
-17
0
0
-5
13
0
0
33
20
0
-50
10
0
0
-7
0
0
0
-8
0
0
0
-5
0
0
0
4
0
0
10
0
5
-7
-8
1
0
-2
0
-19
-9
0
0
23
2
0
4
-41
0
-31
1
4
0
-20
30
0
0
-4
-2
0
-61
25
2
0
32
5
0
-17
21
0
0
-10
0
0
-5
36
0
-17
13
-2
0
0
-58
0
0
24
0
0
0
-44
1
0
0
0
0
0
-16
6
0
6
0
0
0
35
6
0
17
0
0
15
15
0
-1
56
0
0
-7
-91
0
0
-87
-23
0
-5
-4
0
0
-61
0
0
8
-7
0
20
-50
-5
0
7
-33
0
0
-10
1
0
0
34
0
0
0
0
0
0
-81
0
0
0
0
0
0
-50
4
0
0
0
0
0
-1
0
4
1
0
0
0
-22
0
0
-8
2
0
2
17
0
-17
12
0
0
0
41
0
-6
-9
0
0
0
-46
3
-20
-3
-2
0
0
-11
0
0
-1
0
0
0
9
0
-4
-1
0
0
0
14
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
112
4
5
45
0
7
65
52
40
18
-68
0
-6
1
-4
0
-50
0
0
42
0
0
0
0
0
-1
0
0
1
-57
0
4
0
0
-17
58
0
1
-28
-11
-84
-11
49
-4
0
-21
18
-1
0
0
0
0
0
0
0
-37
-76
-4
4
-53
-7
60
-12
6
28
2
6
64
-12
-67
-10
0
1
49
-40
-90
3
3
0
0
19
-17
-90
-7
-8
36
0
0
0
0
0
17
27
-10
1
5
0
-6
-52
0
-3
-28
-6
0
-64
56
0
20
-48
72
0
13
30
-1
-1
-24
57
-3
41
20
1
11
15
21
-1
-3
-41
2
2
-24
46
0
6
40
-5
-35
-42
-36
3
41
-44
0
42
18
-2
-19
0
-19
-4
-50
0
-61
0
0
-42
19
1
0
10
3
4
-17
26
22
-1
8
-24
25
26
13
7
-16
-1
36
-21
-67
-23
-6
13
-41
-10
9
-54
16
2
3
15
-28
-18
-20
-22
-30
21
61
-3
-3
53
1
-2
-36
0
10
-2
-28
14
-1
-80
0
-7
0
-8
-14
-2
0
-3
0
0
7
-8
-3
0
23
-1
0
-54
3
-3
-19
-1
4
22
-36
-3
-1
26
-11
-45
18
10
-5
-33
3
62
9
8
-46
3
-1
-8
-8
-32
31
-30
6
-156
-21
-10
-5
-2
0
1
22
-35
53
-94
0
-12
1
-58
1
-6
31
0
-45
123
-1
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
19
0
0
-9
0
0
0
0
0
-17
0
0
0
0
0
21
0
0
0
0
0
-2
-8
0
-2
-1
0
-14
-1
0
0
-32
24
9
76
-13
0
0
-82
0
0
0
0
0
0
0
0
0
-87
0
-9
4
22
2
-14
9
-7
0
7
-55
0
1
-18
-26
0
0
-5
0
0
7
8
0
0
-1
18
-45
0
0
8
0
0
0
2
0
17
4
1
0
0
0
5
5
0
0
-7
0
0
41
-43
0
16
12
-13
12
-6
-88
-2
8
-122
0
0
-105
0
-4
18
-71
0
15
-8
-40
-1
-1
58
0
0
-3
61
0
-65
-4
0
0
0
-103
1
0
0
0
0
0
6
-5
-9
0
5
0
0
36
2
0
19
0
0
0
-49
22
-4
8
-4
0
-5
5
0
-2
-32
8
-2
-17
-11
-13
0
-21
60
0
17
0
2
-5
42
-6
8
-12
-47
-2
34
-1
-1
4
-6
-39
0
3
2
0
0
0
-31
0
0
0
-4
5
0
-8
0
1
0
0
0
0
-53
-4
0
7
-1
0
0
-51
-1
9
-5
0
0
-4
51
0
5
2
18
0
9
33
0
-55
4
-4
0
21
0
0
-5
-11
-10
-3
-3
-7
0
-23
25
-2
2
0
-26
0
4
-5
-6
0
0
45
7
-2
-2
0
0
0
-6
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
19
0
0
-5
0
0
95
0
0
0
0
0
-4
16
0
0
0
0
5
6
0
0
48
0
-6
17
0
0
1
26
0
0
0
0
0
0
0
0
0
16
6
0
3
-2
0
0
-12
-4
-1
0
-11
-1
0
6
20
0
0
12
0
0
0
5
0
0
1
0
44
0
5
2
0
0
0
6
8
18
-7
0
0
0
0
-9
-59
0
0
5
0
0
3
-3
0
9
-66
0
0
-19
70
0
0
13
0
0
-8
-35
0
-12
-2
-8
0
-7
-2
0
-2
-36
0
0
-2
0
0
-46
-8
0
0
0
11
0
0
-4
1
-2
3
-42
-1
19
0
0
0
0
19
0
0
0
0
0
0
-62
0
0
-10
0
9
14
-39
0
0
10
0
2
-10
34
0
-1
-15
-3
-1
0
38
0
0
2
-4
0
0
4
0
0
1
7
15
0
-20
0
0
-4
0
3
0
-63
0
0
6
0
-5
0
-40
0
-1
0
0
0
0
-13
-1
0
0
0
0
1
1
0
-2
3
0
-1
0
-26
0
-2
1
0
0
-2
-174
0
-13
8
0
0
0
-15
0
0
-8
29
0
-4
-67
0
59
-3
-1
0
0
-35
0
-1
-1
0
0
0
33
0
-2
8
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
84
-6
0
-1
1
0
-45
0
0
-1
0
0
-33
0
0
0
0
0
-2
-2
0
0
0
0
-5
9
5
0
-15
24
-12
-33
-2
-6
0
20
0
8
0
0
0
0
0
0
0
-38
-49
5
0
0
7
-4
8
56
0
-2
-25
-9
1
-25
-3
0
0
6
0
0
2
36
0
0
0
0
32
0
0
8
0
0
0
8
0
-3
19
0
0
0
0
-9
-11
-5
0
-4
0
0
-6
-12
-3
-44
-20
0
0
-7
-73
0
12
-76
0
0
15
3
7
8
-9
-2
0
45
21
0
0
-1
0
0
-6
-14
0
-33
17
22
0
0
17
0
0
0
0
7
0
8
0
-3
0
0
0
0
8
0
7
0
0
0
0
-4
0
0
17
-13
0
13
-59
0
-2
21
1
0
1
-45
0
0
4
-6
0
-24
39
0
0
21
0
0
-1
52
0
3
-1
16
0
0
17
0
0
0
0
-2
0
-10
0
0
-5
8
-4
0
20
0
0
0
0
0
0
-57
0
0
0
1
0
0
-40
0
-19
1
0
0
2
8
0
-1
-2
9
0
0
11
0
-8
0
0
0
0
1
1
0
23
7
0
-3
-18
0
12
-3
0
0
16
7
0
0
0
-1
2
0
24
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
2
0
2
0
0
0
-10
25
0
0
0
0
0
0
0
0
-45
0
0
-6
0
0
-72
0
0
0
0
0
0
18
0
0
0
0
24
27
0
0
-43
-98
-21
45
3
0
17
-93
0
0
0
0
0
0
0
0
0
-78
-15
0
14
62
-5
21
-37
20
2
1
-19
-9
0
4
-54
0
0
-1
0
-5
-10
9
0
0
0
-13
-21
0
0
-9
0
0
0
0
0
-18
0
8
0
12
0
-6
-23
0
0
32
0
0
-48
45
0
59
-50
-8
0
-52
52
0
0
-24
3
0
34
-8
-6
0
9
-3
0
10
-42
0
0
-24
1
0
-1
-70
0
-86
5
1
0
-1
-12
0
0
1
0
0
-1
46
1
-2
0
-25
0
0
-6
0
0
0
0
0
18
-67
0
0
-38
10
35
10
-11
0
-1
4
0
-3
-26
56
2
0
-43
-19
0
-7
-6
4
6
-13
9
40
30
-27
2
8
4
-18
3
-5
3
0
2
-2
0
-33
6
-1
0
0
0
0
-18
0
-19
0
0
0
0
0
0
-37
0
9
0
0
0
1
2
8
-29
0
0
0
2
12
0
-4
-6
1
0
-1
-18
-1
-55
8
-5
0
0
1
0
-30
-10
-6
-1
0
5
0
18
2
4
0
0
17
0
-3
0
0
0
-5
-17
0
-53
0
0
0
0
6
3
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
1
22
0
8
-2
0
12
0
2
0
0
0
-13
0
0
6
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
-22
0
-3
-49
-1
0
0
13
0
0
0
0
0
0
0
0
0
-82
-1
0
0
-35
0
19
33
0
0
0
15
0
2
16
10
0
0
-17
0
-29
0
-1
0
0
7
0
-4
0
0
4
0
0
0
-13
0
-15
-1
1
-1
0
0
3
-11
0
0
16
0
0
29
-10
0
25
-41
0
0
26
-31
0
1
-14
1
0
9
7
0
0
3
0
0
-42
24
0
0
-25
0
0
-2
-56
0
-33
1
0
0
0
13
0
0
0
0
0
0
29
3
1
0
0
2
0
-9
0
0
0
0
0
0
2
0
0
6
0
0
-3
-41
0
0
-30
-8
0
46
-3
-1
-6
-42
0
0
-10
-1
0
0
-46
0
0
-3
72
0
0
-17
0
0
3
8
0
0
14
0
1
-1
-41
0
0
-2
0
-30
0
29
0
0
0
0
0
0
34
0
0
0
0
0
0
-15
0
13
0
0
0
0
16
0
0
-5
4
0
-4
2
0
-20
4
0
0
0
14
0
0
-2
0
0
0
20
0
10
-1
0
0
0
8
0
0
1
0
0
0
-77
0
-4
0
0
24
0
-29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
5
0
6
0
0
0
25
-4
0
1
-6
60
0
0
-3
1
24
0
0
6
0
4
-23
0
0
0
0
0
3
16
0
0
0
0
-7
30
0
0
-49
-1
0
-34
-5
0
2
13
0
0
0
0
0
0
0
0
0
-39
35
0
-5
-15
0
0
27
94
13
0
25
-23
0
63
45
0
0
65
0
0
85
20
0
0
34
-20
0
0
-14
-29
0
0
0
0
1
-2
-68
-18
2
1
0
-34
-68
-2
0
7
-1
0
4
-33
0
2
27
1
0
10
63
0
5
7
0
0
-43
-126
0
-6
16
-26
0
-55
-62
0
-4
25
0
0
-52
36
0
-21
9
-24
0
31
-38
0
0
-1
0
0
0
-20
-2
30
0
20
0
0
11
-9
0
17
0
0
6
-36
-3
1
-25
-1
0
-4
43
0
1
63
29
0
56
63
3
-4
45
-43
0
-16
4
-2
0
-61
3
0
-34
-39
0
-22
-13
-4
2
29
24
0
-4
2
1
0
0
-8
0
-4
0
-29
0
0
-2
0
0
0
13
0
0
-55
-5
-3
0
0
0
-3
-28
0
58
-4
0
0
0
23
1
-8
-3
-4
0
3
21
0
-17
34
0
0
1
-70
0
31
-48
-8
0
2
-53
0
-29
-13
-6
0
0
-18
0
0
-20
28
0
0
5
0
14
0
5
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-24
14
14
-6
-5
22
0
-41
-14
-6
119
-6
-35
0
-12
-5
0
-20
-1
45
-13
-11
-14
-3
2
-24
-20
14
-11
0
7
9
1
-33
-3
6
9
0
-4
-16
-56
0
0
0
0
0
0
0
-126
-88
-42
-58
-89
-21
10
-11
-48
29
-8
-9
8
6
8
-30
13
31
9
13
6
5
19
13
-1
3
15
-6
-4
16
-11
0
-2
6
10
-18
0
-30
39
-46
-47
-3
23
5
16
0
-20
-53
45
-45
5
32
20
-2
-30
14
-30
0
-5
2
-3
14
-7
32
0
-33
33
-3
-73
-25
-78
-8
30
40
-3
-56
17
-30
-4
21
-14
29
0
2
-3
2
-2
24
-11
-15
1
0
-3
20
-64
2
24
-3
7
-13
4
2
-43
9
4
32
-3
-96
62
-27
47
-25
-51
0
5
38
-22
-38
-57
50
-12
-50
28
21
-37
19
5
-11
-7
-78
-8
31
-31
-39
3
-7
83
36
-15
-21
-12
-8
8
-14
-28
26
-19
3
-2
8
-17
25
72
-7
0
-20
26
-3
-38
43
-13
-7
-8
45
-1
-11
-37
22
43
-22
-3
18
-21
-72
-22
-35
-47
-13
-24
-33
-61
43
-55
4
18
-22
-10
-21
31
27
2
68
79
20
39
-39
-46
-8
13
3
-10
40
20
-2
-30
20
47
-35
64
-2
4
-6
-16
6
-42
-47
2
-2
-33
-74
-5
76
39
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
-1
21
4
0
-2
0
0
-68
0
0
0
0
0
6
14
0
-4
0
0
28
2
-3
0
41
4
-17
4
5
0
8
6
3
0
0
0
0
0
0
0
0
1
-2
3
-12
-49
-1
0
2
0
-8
7
-14
1
-4
19
1
0
0
-3
0
0
2
4
0
0
0
-1
0
0
0
5
0
0
0
0
0
-22
0
8
-1
0
0
-3
5
0
0
21
0
0
-7
2
0
42
-79
1
0
5
31
12
0
-3
0
0
-57
2
0
2
-8
-1
0
65
0
-13
-1
-30
0
0
15
-48
0
-56
-46
-2
5
-1
-36
0
0
8
-2
0
0
-7
-5
5
0
0
0
0
-2
0
0
0
0
0
0
34
13
19
3
0
0
-1
32
-4
0
-17
-1
0
3
-25
6
-4
-13
29
0
-38
58
9
3
11
5
0
6
0
5
6
36
23
0
-1
23
0
-2
27
0
0
0
-28
0
0
0
0
-2
0
-17
0
0
0
-4
0
0
-43
0
0
0
0
0
0
-67
0
-19
8
0
0
0
-68
0
0
-1
6
0
0
-14
0
-53
13
0
0
3
-30
0
0
41
5
0
-1
0
2
-36
-1
5
0
4
108
0
4
-3
-2
0
0
-65
0
-4
1
-1
0
0
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
2
0
-29
0
0
0
0
0
-30
0
0
0
0
0
-3
0
0
0
0
0
7
16
0
0
33
-1
1
-29
0
0
0
-24
2
0
0
0
0
0
0
0
0
28
18
0
1
-9
0
25
-16
4
0
0
3
0
-12
3
2
0
0
-1
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
5
0
21
0
6
0
0
0
0
1
0
0
-8
0
0
20
-47
0
-40
19
0
0
-43
100
0
0
-36
0
0
18
25
0
0
-2
0
0
5
-6
0
-7
-4
0
0
1
-38
0
-16
-5
0
0
0
14
0
0
0
0
0
0
90
17
0
0
-1
0
0
-83
0
0
0
0
0
-5
-51
0
-8
2
0
8
5
-42
0
-1
0
0
0
14
26
0
0
-1
0
0
0
50
0
-4
11
0
0
10
-31
0
0
4
-4
0
0
20
0
0
0
0
0
0
-3
0
1
-5
2
4
0
24
0
0
0
1
0
0
7
0
0
0
0
0
0
19
0
-8
0
0
0
0
-4
0
3
4
0
0
0
-25
0
25
0
-5
0
0
0
0
0
0
0
0
-1
-29
0
-1
0
0
0
0
5
0
-8
3
0
0
0
90
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-47
0
0
20
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
1
-2
0
15
0
0
0
-16
0
0
0
0
0
0
0
0
0
25
3
0
0
14
0
0
11
-18
-2
0
-4
0
19
5
5
0
0
0
0
10
0
2
0
0
0
0
-1
0
0
16
0
0
0
0
0
25
0
0
0
0
0
-2
-8
0
0
-5
0
0
14
-21
0
34
-6
0
0
72
-27
0
0
-19
0
0
-2
34
0
0
-6
0
0
3
8
0
0
-6
0
0
5
-28
0
-2
-1
0
0
0
-22
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
0
0
0
39
0
0
-2
0
0
0
62
0
5
3
0
0
0
53
-3
0
-13
0
0
4
-11
0
0
16
0
0
1
11
0
0
-1
10
0
0
-25
0
0
0
0
0
0
48
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
29
0
0
0
0
0
-46
0
0
1
0
0
0
-26
0
0
0
0
0
-5
-29
0
0
0
0
0
0
26
0
0
0
0
0
1
6
0
0
-6
0
0
0
14
0
0
5
-1
0
0
17
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-90
1
0
31
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-8
14
-5
66
10
-2
0
-5
0
-4
0
0
0
0
0
0
0
-34
-3
0
2
40
0
-2
-63
-1
0
1
-8
3
6
-2
-1
0
0
51
0
0
7
0
0
0
-3
-9
-41
0
0
-4
0
0
8
0
0
3
1
4
0
0
0
0
17
0
0
-16
0
0
29
-36
0
-27
-21
0
0
-47
-19
0
0
-4
0
0
-12
21
-1
0
-6
-1
-3
-1
-48
0
0
13
-3
10
-2
-75
0
-4
-6
7
0
-8
17
0
1
0
0
0
0
-38
20
12
0
0
0
0
-43
-4
0
-2
0
0
0
43
0
1
2
0
0
-1
-58
0
8
24
0
-5
-22
-55
0
2
56
5
6
-1
-5
0
0
14
2
1
8
-102
0
1
-3
4
0
0
13
0
0
5
0
-2
-1
24
0
22
0
0
-32
0
-33
0
0
0
0
0
0
55
1
0
0
0
0
0
30
0
-8
10
0
0
0
-5
0
-3
6
0
12
0
-7
0
-40
17
2
0
1
-24
0
0
-3
-4
0
5
-22
0
-25
41
9
0
0
22
0
0
0
0
0
0
84
0
-2
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-2
0
1
0
0
0
37
0
0
25
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
50
0
-1
-13
0
0
0
-4
0
0
0
0
0
0
0
0
0
-33
2
0
0
7
0
0
-8
9
0
0
13
0
0
-36
0
0
0
-13
0
0
0
-1
0
0
8
0
78
0
0
29
0
0
0
0
0
79
0
-2
0
0
0
0
-4
0
0
-1
0
0
73
13
0
-32
-6
0
0
-7
6
0
3
38
0
0
0
-48
0
0
12
0
0
-7
5
0
0
27
0
0
0
-2
0
53
1
1
0
0
13
0
0
2
0
0
0
-6
-1
6
0
0
0
0
-9
0
0
5
0
0
0
55
0
0
-1
0
0
0
-3
0
0
-13
0
-5
0
-4
0
0
6
0
0
-6
6
0
0
-42
0
-3
0
45
0
0
0
0
-2
0
66
0
0
4
0
2
0
45
0
0
16
0
-36
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
-39
0
1
0
0
0
0
50
0
0
0
0
0
0
-16
0
2
1
0
0
0
2
0
0
0
0
0
0
-48
0
-17
0
0
0
0
-32
0
0
0
0
0
0
-38
0
-16
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
8
-23
0
0
0
0
19
8
0
0
0
0
-3
0
0
0
0
-1
16
30
0
0
-4
0
26
-11
-2
0
-26
27
0
-39
-9
0
-2
-82
0
0
0
0
0
0
0
0
0
9
20
0
-1
-17
9
0
30
0
0
3
4
-10
0
41
-35
0
0
-5
0
0
3
-109
0
0
-18
-2
0
0
31
19
0
0
0
0
0
-17
-20
42
-3
0
0
-49
-33
13
0
-42
0
0
-78
1
2
-16
26
17
0
74
47
1
-6
-7
-8
0
-10
2
0
0
4
-43
0
-80
-4
0
0
6
-8
0
16
-9
0
12
2
9
0
-43
-12
0
0
41
0
0
-6
2
2
-36
0
48
0
0
1
-2
0
2
0
0
-23
-11
0
-3
27
2
0
5
17
0
0
-6
0
0
16
33
-16
1
9
-28
0
-55
16
-6
27
-26
-19
0
61
28
0
3
-23
-5
0
30
2
0
-2
8
-4
0
5
43
1
12
-10
37
0
0
12
18
0
0
0
0
0
16
-29
5
0
-2
0
-7
-27
-1
-19
25
0
0
8
7
0
-2
8
-25
0
-6
-4
-1
-96
-16
0
0
-10
2
0
17
-73
-7
0
29
15
0
26
-47
0
0
-3
35
-8
-3
16
-2
0
8
20
0
-46
2
0
0
0
-14
-21
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
-58
0
0
-5
0
3
-95
0
0
0
-3
0
-1
13
0
0
0
3
62
-19
0
0
-10
-8
-72
24
-2
0
0
14
0
0
0
0
0
0
0
0
0
-7
-9
-13
24
-36
0
-87
-8
-12
-3
-4
-4
3
-122
74
-5
0
-2
82
40
-50
0
5
-2
0
-62
-83
-132
0
9
78
0
-5
0
-1
0
13
13
10
0
0
0
5
-5
0
0
-52
0
12
-68
2
0
34
-48
-13
0
-39
53
0
-8
9
-1
0
39
-1
-1
0
-46
0
-5
12
-6
-2
-2
-31
-4
0
12
21
0
-21
-8
-50
0
0
-77
0
-2
-64
50
15
4
39
-15
42
1
-30
0
0
-21
0
0
34
1
9
-7
41
9
-3
-7
43
-37
7
19
0
0
-6
0
-28
-1
12
-4
-2
14
-3
-20
-12
-41
52
-1
2
11
-2
-13
-49
0
73
-8
-45
-33
5
-32
-3
-19
15
46
-29
6
-22
-1
0
4
18
-131
0
31
0
0
0
-2
7
0
22
3
0
0
0
0
-12
-20
0
1
9
-4
3
1
-43
12
-7
-60
41
-13
-3
3
-2
11
30
87
0
-5
5
0
22
102
31
1
6
-25
-12
19
21
2
0
-1
9
10
-13
-3
0
1
0
-98
-8
-41
0
0
-27
0
-25
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-12
0
4
-6
0
3
-35
0
0
0
-3
0
6
-5
0
0
0
0
43
2
0
0
9
36
-16
49
15
0
4
6
12
0
0
0
0
0
0
0
0
15
-18
7
-2
41
0
0
-8
-17
0
-5
31
39
3
17
0
-10
3
19
0
-13
-8
15
0
0
-29
-14
-59
0
3
5
0
0
0
0
0
-31
4
-3
0
0
0
8
11
-1
-3
-27
0
0
-22
-11
0
-17
-13
0
0
4
5
-1
10
-58
0
0
-25
-37
0
-1
55
-29
14
24
16
0
0
56
-7
0
27
0
7
-6
33
-4
0
-19
-38
0
0
-3
-1
6
-2
-72
18
29
5
-1
0
0
-46
2
0
0
0
0
3
56
22
2
1
-3
-3
-2
9
4
13
-68
4
0
5
-5
32
-10
-109
43
0
7
12
4
3
-57
-8
0
-5
11
-8
-19
-67
4
0
-1
0
0
0
-8
8
15
0
-51
0
0
2
5
-13
0
21
0
4
0
0
-12
0
-14
0
0
0
0
0
6
-10
-5
-30
-7
0
4
7
20
0
-2
5
-5
0
0
-90
3
11
23
0
0
0
-13
0
23
13
-30
0
0
-37
0
-55
-10
0
0
-8
0
0
14
8
-6
0
0
15
0
-15
0
0
0
0
-63
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
-1
0
0
94
0
0
0
0
0
-8
1
0
0
0
0
-9
0
0
0
1
0
0
71
0
0
0
42
0
0
0
0
0
0
0
0
0
75
0
0
0
5
0
-4
-11
2
0
0
78
0
-1
-15
0
0
0
-8
0
0
0
4
0
0
0
0
59
0
0
0
0
0
0
0
0
37
-1
2
0
0
0
9
-51
0
0
-8
0
0
-8
-32
0
42
-44
8
0
-5
-3
0
0
36
0
0
-14
-49
0
0
43
1
0
1
38
0
0
5
0
0
0
12
0
-37
12
0
0
0
-42
0
0
0
0
0
0
29
5
3
0
2
0
0
27
0
0
0
0
0
0
86
0
0
-3
-6
8
0
-40
0
0
-6
0
0
0
-5
0
0
-11
0
0
-3
-30
0
0
-7
0
0
0
21
0
0
-2
-3
-1
0
-31
0
0
0
0
0
0
-10
0
0
1
0
0
0
54
0
0
0
0
0
0
-3
17
0
0
0
0
0
20
0
-3
-5
0
0
0
-39
0
0
0
0
0
0
-8
0
44
4
0
0
0
16
0
0
1
0
0
0
1
0
43
0
0
0
0
11
0
-1
0
6
0
0
-3
0
1
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
29
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
-3
0
1
-26
-1
0
0
24
0
0
0
0
0
0
0
0
0
-59
1
0
0
-4
0
9
3
0
0
0
0
-8
-2
-13
-3
0
0
4
0
1
0
0
0
0
3
0
8
0
5
0
0
0
0
1
0
-33
0
5
0
0
0
0
-13
0
0
0
0
0
2
9
0
17
9
0
0
46
0
0
0
-31
0
0
3
-26
0
0
-4
0
0
0
42
0
0
-5
1
0
6
-23
0
4
-1
0
0
0
20
0
0
3
0
0
0
-35
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
1
0
0
0
-55
0
0
10
0
0
0
-30
0
0
-3
0
0
1
-3
0
4
-4
-1
0
0
80
0
0
0
0
0
4
-25
0
0
0
0
-3
0
11
3
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
10
0
8
-5
0
0
0
0
0
0
9
0
0
-1
0
0
0
31
0
4
4
-3
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-16
0
0
43
0
0
-11
0
0
0
0
0
0
-56
0
0
24
0
-30
-28
0
0
-16
-39
-48
-40
-20
-3
15
4
3
-43
0
0
0
0
0
0
0
-41
-60
0
-5
25
-6
-20
-55
-30
0
-3
-26
0
-4
-1
22
1
0
2
-35
-20
-24
-4
-4
0
-9
14
9
0
15
-26
0
-3
30
-7
0
-8
-22
-103
-2
-24
0
8
10
0
0
-8
1
0
-41
3
0
-21
-48
-23
0
3
-3
0
-3
-41
4
0
13
-13
6
0
5
24
-11
-23
-8
-1
-4
-30
23
0
37
-17
0
-17
1
1
9
-12
-1
-2
0
-1
19
-6
0
-3
5
-1
0
-3
0
0
-2
12
0
-10
-10
41
41
-13
40
13
-11
-20
-9
6
-19
1
-9
-30
32
-2
63
-2
8
26
-41
-41
-5
38
9
13
11
22
15
-57
-12
-14
-14
7
-37
-53
42
38
-2
2
0
-3
-22
11
0
-10
0
0
-2
69
-36
0
-18
-64
0
0
-14
-42
0
-14
-7
-3
0
-8
-11
0
-25
-3
-29
-4
-6
27
0
-33
0
27
32
-4
70
18
24
0
15
-52
39
4
-4
45
-12
13
-33
41
41
-19
8
0
60
9
-1
-3
12
25
1
14
18
4
23
-2
-10
14
-21
1
20
-72
0
-39
-31
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-12
0
0
8
0
0
0
0
0
9
-16
0
3
0
3
-5
102
-3
0
26
0
-10
-14
29
0
-1
-57
0
6
0
0
0
0
0
0
0
-32
16
0
0
-20
0
-5
-45
0
0
0
2
-1
-17
-34
-3
0
0
-62
0
0
-1
-4
0
0
33
0
4
0
-1
-22
0
0
0
0
0
-29
-3
0
4
0
0
-1
14
0
0
2
0
0
-23
-2
0
-11
-1
0
0
-72
-6
0
0
-11
0
0
-30
-86
0
0
-15
0
3
-3
7
0
0
-34
0
-1
81
-5
0
38
-9
0
0
39
-28
0
0
-2
0
-1
0
-20
-1
2
0
0
0
0
-59
0
0
-1
0
0
4
40
0
0
-13
0
-6
59
11
0
7
-1
0
0
69
4
0
0
25
7
18
-5
-20
0
0
-44
0
20
-15
50
0
-8
61
0
59
6
-14
0
0
3
0
22
-2
48
0
1
-8
0
9
0
13
0
0
0
0
-2
0
12
-1
0
0
0
0
-5
21
0
-2
8
0
-3
3
31
0
0
14
3
0
0
-19
0
29
9
0
0
0
17
0
0
-13
0
-1
9
47
0
19
-1
0
0
0
-33
0
-5
-9
0
0
0
-17
0
-34
0
0
-10
0
-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
-21
0
0
0
0
0
6
0
0
0
0
0
31
-36
0
0
0
0
69
8
25
0
19
-20
0
-46
9
0
8
-51
0
0
0
0
0
0
0
0
0
24
-7
0
0
14
-1
0
39
25
0
0
7
38
0
-63
-4
13
0
-3
0
0
60
-31
0
0
6
-48
0
0
5
6
0
0
0
0
0
-16
-19
5
-5
0
0
-7
-31
0
0
-18
0
0
81
16
0
9
-25
-2
0
28
17
0
-6
-48
0
0
-41
25
0
0
64
94
0
30
-53
0
10
9
0
0
25
-46
0
-118
52
-44
0
12
32
0
8
-1
0
0
0
-13
6
38
0
0
0
1
-20
5
0
5
-12
0
7
-5
0
22
71
0
-5
-35
17
2
4
45
0
0
-10
24
0
22
41
37
0
-63
49
0
-1
117
-3
0
-9
-39
0
3
3
26
0
19
-38
4
1
-6
-2
0
6
17
0
24
11
-14
25
0
6
0
0
0
0
0
0
-16
1
0
1
-2
0
4
-2
0
-30
0
0
0
0
-16
0
4
31
5
0
17
26
0
28
-3
0
0
0
-46
0
9
-20
0
0
-8
-37
0
80
21
0
0
0
-71
0
17
-15
-5
0
0
-53
0
17
-6
0
0
0
44
3
6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
4
-20
0
0
0
23
0
0
0
0
0
0
0
0
0
20
-8
1
0
25
0
0
2
0
0
0
22
0
0
-9
0
0
0
-1
0
6
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-11
0
0
-1
0
0
-9
24
0
9
6
0
0
9
39
0
0
1
0
0
-4
-10
0
1
8
0
0
0
-5
0
7
3
0
0
4
17
0
-40
0
10
0
0
3
0
0
0
0
0
0
-48
4
19
0
0
0
0
-63
0
0
0
0
0
0
-4
0
0
0
2
1
0
26
0
0
-1
0
2
0
-47
-1
0
-7
-5
0
0
28
2
0
-4
0
0
0
-15
0
0
-8
-12
0
0
-11
0
0
-3
0
-2
0
-24
0
0
0
0
0
0
-46
0
0
0
0
0
0
13
-1
0
0
0
0
0
46
0
0
0
0
0
0
-12
0
0
0
0
0
0
21
0
-3
0
0
0
0
-1
0
0
0
-1
0
3
9
0
7
0
1
0
0
15
0
0
4
4
0
0
22
0
0
0
0
0
0
-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
-45
0
0
0
0
0
0
0
0
0
0
0
8
-17
0
0
26
-8
0
-16
3
1
0
-45
0
0
0
0
0
0
0
0
0
-40
4
-2
9
-6
0
-1
-17
0
0
-5
3
0
0
-47
-4
0
0
1
0
1
-2
0
0
0
5
-10
2
0
0
14
0
0
0
0
0
53
0
0
0
0
0
4
27
0
0
-1
0
0
-1
38
0
7
-4
-8
0
15
-71
0
0
110
0
0
-5
-24
0
0
-25
0
0
12
-49
0
0
-11
0
0
-7
5
0
45
0
0
0
0
0
0
0
8
0
-4
0
57
0
-1
0
-5
0
0
-11
0
4
-3
0
0
0
-10
2
0
40
3
-3
0
-15
0
6
-6
0
-9
0
37
0
0
-13
-3
0
10
-10
-1
0
-31
0
0
-14
10
0
14
9
4
0
0
-30
0
0
6
10
-2
3
0
0
1
0
0
-41
0
-35
0
0
0
0
0
0
32
2
-1
0
0
0
0
25
0
9
-3
0
0
0
-15
0
-1
-3
0
0
0
9
0
20
-5
-2
0
0
-28
0
1
-5
-9
0
0
-21
0
21
-1
12
0
-1
24
0
0
0
-1
0
0
0
0
-15
0
0
2
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
18
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
2
0
0
-14
0
0
0
-3
0
0
7
0
0
0
20
0
0
0
0
0
0
0
0
-7
0
12
-7
0
0
0
0
0
-3
0
0
0
0
0
0
33
0
0
2
0
0
0
-32
0
38
5
0
0
-34
-47
0
0
12
0
0
7
89
0
0
0
-1
0
2
39
0
0
17
0
0
-2
18
0
44
8
0
0
0
5
0
0
0
0
0
0
-53
0
16
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
-1
24
0
1
0
0
0
0
-7
0
22
0
0
46
-1
0
0
37
0
0
13
0
0
-3
-21
0
8
2
0
0
6
98
0
0
-9
0
0
0
5
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
29
0
0
0
0
0
0
25
0
0
0
0
0
0
72
0
-1
0
0
0
0
-2
0
-6
0
0
0
0
43
0
-4
0
0
0
0
36
0
0
-17
0
0
0
72
0
-10
0
0
0
0
13
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
0
23
-48
10
-75
10
-13
-22
-28
-8
-45
-5
-32
-45
28
8
-2
18
0
43
18
-34
-15
-36
-22
0
0
0
0
0
0
0
-2
-1
55
-14
1
14
5
-47
13
9
-27
-11
20
14
-30
-18
45
-40
-14
22
6
-14
-8
30
-4
1
-2
2
-9
66
-75
-13
53
15
-31
90
-3
7
-75
-25
-15
-24
16
0
106
13
10
4
3
-30
-9
34
3
1
11
-70
6
-5
16
-27
-10
-30
-44
-16
-4
-69
-85
-6
-2
69
-25
-11
13
-9
-2
2
35
54
0
-24
-75
18
1
-26
9
-5
41
-9
-35
43
29
1
-1
-41
-20
-9
2
44
-31
1
-48
36
-17
-26
-10
-37
-2
-57
56
32
15
-20
-55
-5
-38
-24
-12
-28
-17
9
-6
21
-18
-14
-2
-51
-4
-2
49
-1
0
-7
-3
-21
-5
29
0
-18
1
-53
-19
1
-77
39
-9
-70
14
65
4
20
-4
-17
-50
34
8
-10
-63
-18
2
14
-42
9
0
-2
-75
-48
-13
63
-47
-4
-32
-38
-26
62
16
61
10
-30
35
-27
7
-54
-9
6
37
-20
-8
62
-142
23
11
-11
17
9
-37
-29
-21
-3
-60
-12
-17
-26
-10
-4
1
-6
9
-26
8
-51
-42
-1
7
-37
-17
0
-40
-8
19
37
-18
-15
-86
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-3
6
-61
0
0
0
-28
0
-2
0
0
0
0
0
0
0
-53
0
0
0
6
8
0
-5
0
0
0
0
0
-6
6
0
0
0
25
0
0
0
30
0
0
0
-2
2
0
0
-24
0
0
0
0
0
-13
0
3
0
0
0
-8
12
0
0
0
0
0
0
-3
0
9
-21
0
0
17
-35
0
0
13
0
0
15
-12
0
0
-1
0
0
29
-47
0
0
0
7
0
0
-43
0
-27
4
0
0
0
32
0
0
0
-3
0
0
40
-3
4
0
0
0
0
18
0
0
0
0
0
0
-28
0
0
0
0
12
0
0
0
0
1
0
-5
12
9
8
-1
14
0
-2
2
-8
0
-7
12
0
0
0
-9
0
16
0
0
4
0
-84
0
0
0
0
3
0
34
0
0
0
0
-48
0
7
0
0
0
0
-3
0
-6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-42
0
0
0
0
0
0
43
0
17
0
0
0
0
-2
0
0
0
1
0
0
24
0
24
0
0
0
0
-11
0
0
0
0
0
0
-18
0
-42
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-8
0
0
0
-2
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
39
0
0
0
0
0
0
12
0
1
-24
0
0
4
-57
0
0
-7
0
0
0
-42
0
0
3
0
0
0
25
0
0
8
0
0
0
-2
0
-17
0
0
0
0
38
0
0
0
0
0
0
26
0
0
0
0
0
0
-27
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
-23
0
0
52
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
-1
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
-2
53
-22
0
22
-4
0
-19
-39
-4
-3
1
-26
0
-19
-91
3
-2
-14
-2
0
0
0
0
0
0
0
0
-33
-56
-3
-12
-84
-20
0
14
20
-1
1
-51
14
0
-17
-8
0
0
-29
28
0
8
81
0
-1
8
54
0
0
-1
12
0
0
48
0
21
12
28
-1
29
-41
0
50
-6
0
-5
-10
2
0
30
44
-7
-39
-5
-51
0
69
31
0
-4
-6
-6
0
4
-15
0
-11
-14
-37
0
-89
23
5
2
29
16
0
64
23
0
4
-5
29
0
36
0
29
4
-16
-13
0
-15
-5
-19
-32
0
-35
0
0
21
-50
5
-28
0
0
77
1
-8
5
19
-7
-2
-14
9
18
56
-6
-9
0
-1
40
23
-47
64
2
0
-54
38
3
19
30
38
0
14
17
-6
10
56
-2
0
55
5
-13
17
26
-13
6
6
-1
1
10
0
15
0
-2
-34
-15
25
0
-5
0
6
1
20
0
7
15
0
9
60
-1
69
22
0
0
17
2
-4
-47
-30
7
0
-35
20
0
-11
-10
-7
0
44
-14
1
-13
73
-11
0
48
3
41
48
-37
8
0
21
-23
2
49
-21
-66
0
0
-17
-2
13
66
0
0
0
0
-3
-1
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
19
0
0
39
7
0
0
0
8
0
-8
-2
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
-5
0
0
0
0
0
50
-3
0
0
0
0
-3
-1
0
0
0
0
0
8
2
0
2
-4
0
0
-8
24
0
0
4
0
0
-1
-53
0
0
27
-8
0
-7
3
0
0
-22
0
0
-1
33
0
0
-2
7
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
24
10
0
0
-18
-5
0
0
32
0
0
1
0
-1
0
5
0
0
-1
-2
0
18
-3
0
0
-4
0
0
0
-5
0
0
8
0
0
0
0
1
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
13
0
0
0
4
0
-2
2
0
0
0
0
0
2
0
-8
0
0
22
0
5
0
0
0
0
-2
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-3
12
-9
-28
72
19
-36
-14
-42
46
-8
0
-3
-2
-8
32
-17
-2
-100
10
0
0
0
0
0
0
0
-5
-1
3
0
-10
-29
-6
-9
3
-25
1
-4
-30
8
-5
-16
0
-73
-12
56
-4
-18
-73
-66
-61
-14
-1
1
-74
-28
41
-28
-37
7
-48
44
0
44
15
1
62
-123
15
-2
-9
17
-2
-1
-45
16
-3
-29
13
-2
6
-58
1
-4
1
-33
4
62
-27
4
-2
-18
-66
-1
-15
-30
4
-4
-54
74
3
-22
-19
28
1
-41
2
5
2
-20
-13
-7
-36
-120
-13
38
5
-1
-3
-30
30
-84
-12
-81
-3
5
-36
-21
6
-21
-28
18
-3
-8
-57
23
-28
-3
6
1
9
30
11
-72
8
5
5
-7
-50
-14
-10
-3
13
-1
7
-6
5
0
44
1
-1
-113
24
10
19
-24
7
-2
15
-5
-2
-22
-2
-2
-6
15
7
-18
-2
9
-31
-5
-9
-43
-79
10
0
-67
-3
0
-52
19
-24
-20
-34
-11
-32
24
-6
37
27
6
1
-29
-15
5
12
-24
19
11
-102
-32
34
-33
-41
-23
1
-50
-21
16
32
11
36
9
-25
-14
-6
-20
0
21
4
52
-29
-26
-10
10
-44
1
-95
-8
-10
-48
-3
-9
8
34
1
-43
-48
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
32
4
0
6
0
0
0
91
0
0
0
0
0
-2
-57
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
47
0
0
0
0
0
0
-5
0
0
0
0
0
0
65
0
-8
16
0
0
-25
13
0
0
54
0
0
0
37
0
0
0
0
0
2
-21
0
0
-4
0
0
0
0
0
-3
6
0
0
0
47
0
0
0
0
0
0
-17
0
-4
0
0
0
0
-25
0
0
0
0
0
0
-20
0
0
0
0
0
0
-25
0
0
2
0
0
0
-23
0
0
-3
0
0
0
5
0
0
0
0
0
-2
3
0
-3
-3
0
0
0
-9
0
0
1
0
0
0
-38
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
9
0
0
0
0
-4
0
0
10
0
0
0
-40
0
0
0
0
0
0
60
0
0
0
-4
0
0
-19
0
3
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
-13
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-6
0
0
0
0
0
0
30
0
0
0
0
0
0
-21
0
0
-2
0
0
24
-38
0
0
-2
0
0
1
15
0
0
0
0
0
-6
5
0
0
-6
0
0
0
0
0
-5
2
0
0
0
43
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-73
0
0
0
0
0
0
-14
0
0
5
0
0
0
-9
0
0
7
0
0
0
-13
0
0
0
0
0
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-4
0
0
0
0
0
0
11
0
17
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
4
0
1
0
0
0
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-48
0
0
7
0
0
0
-22
0
0
20
0
0
0
13
0
0
1
0
22
0
-7
8
0
0
0
33
0
0
0
0
0
5
0
0
0
0
0
-6
-31
0
0
0
0
0
-17
19
0
-1
-26
-2
0
-30
-85
0
0
-48
0
0
-27
38
0
2
58
0
0
-8
-35
0
0
10
0
0
-2
-13
0
100
0
3
0
2
-32
0
0
0
0
0
0
40
3
0
0
0
0
0
-56
-1
0
0
0
0
0
-16
5
0
0
3
0
0
70
0
0
12
0
0
0
13
0
0
-12
0
0
8
0
0
0
-31
0
0
-6
20
0
5
17
1
0
3
2
0
0
9
0
0
0
21
0
0
-1
5
0
0
106
7
0
0
0
0
0
54
5
0
0
9
0
0
-4
0
6
0
0
0
0
-5
5
0
0
0
0
0
-18
0
2
1
0
0
0
8
0
-17
10
-1
0
0
35
4
40
-10
8
0
0
1
0
0
3
4
0
0
-77
0
3
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
-17
0
7
-40
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-53
0
0
0
0
0
4
-16
0
-13
-2
0
0
19
-5
0
0
8
0
0
-1
-48
0
0
-5
0
0
9
-12
0
0
-7
0
0
0
14
0
2
0
-1
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
0
70
0
0
-1
0
0
4
-18
0
0
6
0
0
0
6
0
0
-1
0
0
0
-8
0
0
0
0
0
0
85
0
0
0
0
0
0
-16
0
0
0
-1
-1
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
6
0
0
0
-26
0
0
0
0
0
0
-5
0
-2
0
0
0
0
16
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-15
0
3
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
12
-22
23
19
0
0
0
21
0
0
0
0
0
0
0
0
0
-61
1
0
0
37
0
-13
44
15
0
0
-1
44
-48
-11
1
0
0
0
0
3
-1
-3
0
0
-6
-10
4
0
0
7
0
0
0
12
0
0
-1
57
0
0
0
-13
31
8
6
-61
0
0
-32
-60
3
-70
-15
-2
0
-33
-20
4
5
31
8
0
-10
7
0
0
-41
5
-4
94
-22
0
5
15
0
0
16
3
-1
49
42
6
0
-7
-30
0
0
0
0
-12
0
33
76
-1
0
4
0
0
0
0
0
0
0
0
2
64
0
-8
-14
-6
0
-32
-14
-3
0
-22
0
0
-13
12
0
-1
-12
-64
0
-16
30
4
1
-49
10
-1
-12
-28
0
6
11
-27
0
1
-14
0
1
-15
-3
39
0
15
0
2
2
0
-4
0
-18
0
0
0
0
0
0
0
-11
0
-1
-1
0
0
-5
0
14
3
0
0
0
-6
0
-4
3
-3
0
0
-1
0
0
59
-5
0
0
10
0
-7
1
-13
0
0
-18
0
-42
-50
0
0
0
-9
7
-1
12
0
0
0
-26
0
9
0
0
2
0
-8
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
-46
1
-24
-41
-32
9
3
-65
-2
-4
0
0
0
0
0
0
0
0
27
-4
-1
-5
0
19
9
-13
0
1
-37
1
-6
-20
4
0
0
-88
23
-45
5
55
0
0
77
-97
-30
0
-3
20
0
0
6
-6
0
-51
0
47
0
2
-1
43
-26
1
8
-37
-4
47
-14
6
0
-12
-41
-19
7
25
-70
0
-2
-22
7
1
-11
-18
1
1
-10
-16
0
-63
4
0
-1
-30
8
10
-49
-29
0
28
-20
28
-2
18
-38
0
-1
-10
-5
1
0
2
32
-13
0
-29
0
-4
-101
0
0
-5
8
-2
22
-1
0
0
20
-56
44
-29
-7
0
-2
20
55
23
-63
-41
2
-25
12
40
0
-25
15
0
-5
-10
-5
-7
-13
44
8
-3
-49
-81
13
1
24
0
0
-12
0
-8
0
-7
0
4
-61
-16
-3
0
66
0
0
0
2
-2
0
22
0
5
0
0
0
0
-24
0
27
-1
0
14
0
-67
0
30
9
-12
1
-6
-67
0
-96
3
5
0
0
13
0
-2
57
19
3
-1
9
1
-15
10
-2
4
0
-6
0
-2
18
13
0
0
18
0
1
-2
0
8
0
48
-1
0
-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
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-1
0
0
0
6
-13
0
0
-1
0
0
8
-40
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
-1
1
0
0
0
-3
0
0
0
0
0
0
-42
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
-29
0
9
-1
0
0
0
-7
0
0
4
0
0
0
-6
0
0
8
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
-12
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-9
0
0
37
0
0
0
2
0
0
0
0
0
0
0
0
0
-37
0
0
0
53
0
0
6
0
0
0
68
0
1
17
0
0
0
-3
0
0
0
0
0
0
0
-6
-27
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
-24
0
0
1
0
0
16
-34
0
-76
-1
0
0
7
-9
0
0
-14
0
0
-5
12
0
0
-30
3
0
-7
-26
0
0
10
0
0
1
-4
0
-82
-7
7
0
0
14
0
0
0
0
0
0
6
0
2
0
8
0
0
-14
-17
0
0
0
0
0
14
0
0
0
0
0
3
25
0
0
0
0
12
0
-46
0
1
5
-4
0
0
-43
0
0
-7
0
0
0
-14
0
0
-2
-7
0
0
-23
0
0
4
0
10
0
18
0
0
0
0
42
0
20
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
-6
0
0
0
0
-29
0
0
2
0
0
0
11
0
7
8
0
0
0
0
0
0
0
0
0
0
69
0
4
1
0
0
0
50
0
0
0
0
0
0
38
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
1
25
-77
0
0
0
40
0
0
0
0
0
0
0
0
0
-73
0
0
-1
-3
0
-2
29
0
0
0
-45
0
10
-70
0
0
0
-9
0
-4
0
13
0
0
36
0
-48
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
-64
0
0
-1
0
0
1
-29
0
13
-63
0
0
-31
35
0
0
-16
0
0
3
-36
0
0
-9
0
0
13
-123
0
0
-49
0
0
-13
31
0
78
7
0
0
0
25
0
0
0
0
0
0
78
-2
0
0
0
0
0
-21
0
0
0
0
0
0
-34
0
0
-6
0
-6
-1
-120
0
0
-1
0
0
0
-11
0
0
4
0
0
24
-72
0
0
-41
-1
-1
2
-93
0
-2
58
0
19
-2
3
0
0
-1
0
8
5
21
0
0
0
1
-13
0
-44
0
0
0
0
0
0
10
0
0
0
0
0
0
65
0
-2
0
0
0
0
-30
0
1
0
0
0
0
17
0
-5
7
0
0
0
16
0
0
46
0
0
0
-17
0
-1
29
0
0
-1
0
0
0
4
0
0
0
-31
0
6
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
15
0
0
0
0
0
0
0
0
0
18
0
0
0
1
0
0
1
0
0
0
3
0
0
-97
0
0
0
-2
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
-46
31
0
0
0
0
0
85
0
0
0
0
0
-6
-11
0
-17
7
0
0
-9
-50
0
0
1
0
0
-3
-12
0
0
8
0
0
18
-48
0
0
9
0
0
0
1
0
19
0
3
0
0
-4
0
0
0
0
0
0
45
0
-2
0
2
0
0
38
0
0
0
0
0
0
39
0
7
0
2
0
-1
3
0
0
21
0
0
0
49
0
-1
-8
-5
0
0
12
0
0
14
0
0
-3
-40
0
0
-12
-4
0
0
35
0
0
0
0
0
0
36
0
0
-1
0
0
0
16
0
0
0
0
0
0
-11
-4
0
0
0
0
0
-14
0
4
0
0
0
0
23
0
0
0
0
0
0
-6
0
13
1
0
0
0
6
0
0
0
1
0
0
62
0
-1
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
0
-70
14
0
0
0
0
0
0
0
0
0
58
17
-10
14
11
15
7
28
0
-2
51
-12
-40
-42
51
4
0
-10
5
-22
2
29
0
0
-2
7
8
0
-17
12
0
0
-1
-30
0
-6
10
-24
-1
16
0
5
-6
-2
2
31
-13
0
43
-47
2
-26
-78
37
-2
-21
19
1
0
43
6
-1
47
1
0
8
-50
0
5
-15
14
0
0
-14
-11
-3
110
-23
0
14
-47
20
11
-32
-19
2
0
20
-17
-93
0
4
-13
8
0
15
0
0
-8
-12
0
-8
-5
0
7
51
0
-4
-18
-18
-2
-61
-8
0
29
55
16
-39
23
16
9
-24
-6
-26
7
-61
-45
1
44
17
-6
8
-21
-4
0
2
9
-67
19
28
-21
-4
0
-38
-3
-19
0
5
0
-2
-79
-34
-83
0
1
-1
43
5
53
-3
0
-9
62
0
-1
-2
0
0
-9
1
54
-30
-3
8
-4
27
3
-5
-23
3
0
7
-28
1
-8
-4
5
0
13
-20
0
-2
68
78
-2
-3
35
14
-38
3
-16
-25
4
-17
0
8
28
27
8
0
-22
0
33
-13
0
37
0
32
14
0
-8
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-9
0
-4
-113
-4
1
0
0
0
0
0
0
0
42
-26
-4
6
63
2
7
-27
7
0
9
3
46
46
-23
-7
0
0
34
3
-5
81
-21
0
0
24
-11
-44
0
6
21
0
0
0
3
0
12
-21
14
-1
8
0
85
0
0
-5
3
15
0
-54
-21
4
-21
16
47
0
62
6
0
-3
20
0
0
10
4
3
-2
-17
-3
-7
0
14
1
1
9
-8
-3
-10
2
0
-42
5
-51
9
-14
18
0
0
43
0
45
0
-21
-9
2
0
-11
-2
0
-39
-7
0
0
-3
-8
13
0
0
0
23
3
10
4
4
0
-2
20
1
-100
65
-12
-1
8
52
6
41
-80
-52
-1
-8
-17
13
-37
15
-13
2
6
-57
-43
80
18
42
0
12
9
-1
33
-42
17
0
-2
25
27
-8
0
-21
-5
0
0
-3
3
0
-129
6
-1
0
-3
0
0
0
1
-7
7
1
1
8
-5
0
-5
-51
-9
0
8
5
0
-36
22
-8
0
-1
-35
0
-5
16
45
-2
-31
22
0
7
-38
3
46
25
-4
2
6
-18
-8
-1
0
-24
0
-83
-2
0
3
0
11
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
8
0
0
0
0
0
0
0
0
0
61
0
0
0
63
0
6
0
0
0
0
35
6
0
48
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
-6
0
0
0
0
-1
-52
0
0
0
0
0
-2
83
0
-2
5
0
0
34
-9
0
0
11
0
0
4
8
0
0
0
13
0
-1
13
0
0
-34
0
0
7
-15
0
-17
3
0
0
0
-30
0
0
0
0
0
0
7
-3
0
0
-2
0
0
-54
0
0
0
0
0
0
-67
0
1
0
0
0
0
21
0
0
0
0
0
7
-47
0
-4
-1
-1
0
0
-53
0
0
86
0
0
0
-17
0
0
0
0
5
0
-112
0
0
0
0
0
0
32
0
0
0
0
-1
0
-57
0
0
0
0
0
0
17
0
0
0
0
0
0
70
0
23
0
0
0
0
-15
0
0
0
0
0
0
3
0
-8
3
0
0
0
48
0
0
12
0
0
0
7
0
1
0
0
0
0
84
0
0
0
0
0
0
78
0
-4
0
0
0
0
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
6
0
0
0
0
0
0
0
0
0
21
3
0
0
1
0
0
5
0
0
0
-1
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
0
0
0
2
0
0
6
-2
7
0
-1
-23
0
0
-13
0
0
1
-54
0
1
0
0
0
16
-18
0
0
0
0
0
0
-2
0
9
0
0
0
0
5
0
0
0
0
0
0
50
1
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
2
7
0
0
0
0
0
1
2
0
0
-2
0
0
0
9
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-28
0
0
0
0
0
0
48
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
-4
0
0
0
22
0
0
0
0
0
0
-12
0
1
3
0
0
0
-5
0
0
0
0
0
0
-5
0
0
1
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-10
0
-2
41
15
8
0
0
0
0
0
0
0
40
10
-60
44
58
16
-24
9
-32
32
48
23
16
15
-47
-54
-3
-8
14
-56
21
30
12
28
-1
69
20
8
-3
-47
-15
0
1
26
-48
-13
15
-59
-59
0
-41
0
-64
8
16
-9
-7
1
0
-144
-8
36
-27
-119
-4
1
8
-9
8
-5
56
52
0
2
11
-8
13
-20
24
3
-20
17
-3
-1
18
75
-10
-43
-10
8
4
-3
-9
-10
-78
-29
-13
22
-95
20
12
0
1
2
-11
2
7
-10
-7
2
-53
5
1
9
18
-46
11
-3
-46
9
-10
-48
-135
-19
4
27
30
-2
-45
-6
29
47
1
-5
20
45
-45
-17
-35
-31
14
-2
-13
-18
15
43
-68
11
-26
7
-9
3
2
-25
8
-16
-56
2
-7
54
-50
-53
-86
5
-1
-3
32
-4
16
56
9
8
-4
-46
-6
-4
-77
43
-25
-13
32
-44
-34
21
-25
-36
-14
-5
10
-54
-61
-16
10
26
10
19
-45
-80
-37
-15
12
-22
3
0
-41
-19
5
-38
-9
-11
-42
-32
-29
-36
1
87
-61
4
-49
-34
-2
11
18
-34
-55
-29
21
-2
-16
-16
-2
20
-42
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-5
0
-28
0
-21
0
0
0
0
0
0
0
13
60
-8
13
-38
0
10
-7
-4
0
0
5
0
65
4
-7
0
0
-13
0
-17
-7
-32
0
0
-29
0
-1
0
0
-82
0
0
0
-87
0
9
-41
34
-3
0
0
-84
1
4
0
23
-3
0
14
11
0
-53
-41
0
0
13
0
-1
0
-4
6
-2
-71
-4
0
0
-19
0
0
-14
-4
0
-1
17
1
57
-29
3
0
-3
-27
-1
-8
84
-25
0
0
6
0
25
10
-3
-64
-62
4
-1
-1
0
-10
-12
0
0
0
0
-24
32
-28
8
-10
1
-18
-27
2
0
2
2
0
7
16
-38
0
-1
4
0
-17
45
-3
-2
-9
36
-14
-13
31
-16
0
21
-14
4
-15
53
-5
0
7
50
0
-10
66
0
0
17
-13
-4
-2
0
-7
14
0
0
0
-31
0
-23
-18
0
-1
15
0
-12
-14
2
18
10
0
-18
31
2
0
-14
-29
0
-8
1
-18
4
32
51
2
18
25
-39
2
-2
-14
-8
27
1
-20
0
15
48
5
34
0
-38
-5
0
40
0
10
0
-29
0
-65
14
0
-22
0
-16
-2
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
0
0
-48
-4
0
0
0
0
0
0
0
0
-12
20
-16
-4
6
5
0
-19
-46
19
0
-49
-137
0
-13
71
0
0
-14
-7
0
-42
27
-2
0
12
41
0
7
73
18
0
37
5
0
0
-17
35
8
0
-1
0
0
-4
-12
-5
2
0
0
-14
-9
0
-4
-15
-2
0
51
-51
-5
0
23
4
-1
23
-6
2
1
13
6
1
14
-3
-15
14
23
-3
0
-33
91
0
-7
-35
11
0
-17
-23
0
0
-49
-1
0
-16
10
10
-43
-1
-21
0
0
3
11
45
-1
3
0
69
-5
-1
-32
-4
-60
0
29
55
-2
-2
37
-4
0
136
22
-4
10
30
-16
0
15
-13
8
9
-40
-8
0
23
-26
-6
-33
-59
20
0
27
22
0
1
2
23
-1
11
-32
1
-9
-30
-42
0
8
6
-7
-1
8
-5
0
0
32
24
24
-2
-1
0
0
34
0
-48
63
1
0
0
10
2
21
38
2
0
13
0
16
-40
-137
28
0
4
-12
6
-36
14
-62
2
3
-34
-16
-17
-53
4
0
-9
9
0
1
82
-60
0
-2
-25
0
7
33
10
0
-4
12
25
0
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-27
-25
-18
1
39
-24
3
18
13
-1
-16
-30
5
0
-6
5
-34
-3
-7
-21
-52
44
25
-33
-21
4
-7
6
-24
-19
-24
-21
-34
19
4
1
-51
27
28
-14
32
43
-1
8
-19
42
-44
-14
9
-48
-18
-4
-4
-20
1
-36
8
-19
26
-23
0
-8
1
15
-28
-47
-20
-2
-22
2
-13
-5
11
-8
22
-11
-9
-8
3
14
-8
-24
-4
-58
-16
1
-15
-49
41
-34
-15
-9
-63
-19
-12
59
19
7
8
-72
-25
18
-51
-84
-48
3
-19
-134
24
0
21
-42
-16
12
-11
15
-4
-1
24
-3
-77
2
0
12
-15
-36
-27
50
-8
8
34
3
5
3
-28
38
3
-1
34
-13
-4
-10
65
5
29
57
-6
-5
7
72
-16
3
12
31
7
-50
-118
-85
-10
1
5
-13
65
-12
-4
47
11
-47
-27
-107
24
19
36
20
27
-14
85
-25
-8
-38
10
-19
-13
-14
-4
19
-18
33
23
-39
41
32
9
12
-13
19
14
-87
-1
-6
-52
50
-19
1
58
36
44
-34
-51
1
-5
21
0
1
55
35
-3
16
16
-22
-37
76
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-3
1
24
0
-6
5
-12
0
0
15
-9
2
-100
-2
0
0
-5
0
-8
0
-19
0
0
31
-6
-25
0
0
0
0
0
0
2
0
-77
17
17
0
-2
0
8
-28
0
0
39
0
0
-111
0
-1
-87
7
-12
0
-35
-1
0
16
-3
0
-1
19
-6
0
8
35
2
6
-25
33
0
4
-19
0
0
22
-51
0
-34
16
-29
0
0
35
0
0
-2
22
30
1
47
-23
-5
0
-1
0
0
-25
14
2
4
0
0
24
13
1
0
37
0
-5
-76
0
0
0
-52
5
-3
19
39
1
2
101
-15
1
22
63
0
-47
-46
-4
2
-17
15
0
45
-51
31
24
-3
-67
0
-9
21
0
12
0
-68
-20
-1
18
7
-3
0
54
0
0
0
0
0
0
8
-7
3
0
0
0
0
-18
0
-5
19
2
0
-1
0
3
47
-10
-6
0
-4
-17
0
-18
-21
-6
0
0
51
0
-48
32
-2
0
1
-8
0
-96
-9
3
0
0
-33
0
-10
7
-1
3
0
-36
1
-14
0
0
4
0
-36
0
-3
0
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-8
0
-1
13
0
0
2
0
0
0
-7
-9
0
-12
13
0
0
1
0
-1
0
-5
0
0
0
0
4
0
0
0
0
0
0
3
0
-20
3
0
0
3
0
0
-45
0
0
-6
0
0
2
35
0
25
9
0
0
36
22
0
0
-29
0
0
-12
-32
0
0
26
4
0
-10
-37
0
0
-13
0
0
3
44
0
17
0
0
0
0
76
0
0
0
0
0
0
-34
2
-1
0
0
0
0
14
0
0
0
0
0
0
35
0
0
0
0
0
0
20
0
0
-6
0
-3
0
29
0
7
-3
23
0
3
5
0
0
59
0
0
0
-1
0
0
2
-5
0
0
-16
0
0
0
0
0
0
24
0
-2
0
0
0
0
-35
0
0
0
0
0
0
65
-5
-1
0
0
0
2
-6
0
3
0
0
0
0
42
0
-1
0
3
0
0
-21
0
18
3
0
0
0
40
0
0
0
0
0
0
-4
0
41
-1
0
0
0
-13
0
0
0
-2
0
0
-58
0
0
0
0
0
0
-17
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
-22
4
0
45
0
0
32
0
0
0
-26
-6
23
-18
0
0
0
0
0
0
0
-2
0
0
8
0
-42
0
0
-5
0
0
0
-2
0
-13
-3
1
6
0
0
0
-40
0
0
-1
0
0
12
32
0
38
-10
0
0
10
79
0
0
10
0
0
-5
2
0
0
-15
-3
2
-23
-6
0
14
4
0
0
3
4
0
-15
47
1
0
0
-40
0
0
0
0
0
0
7
-3
0
0
0
0
0
75
-1
0
0
0
0
0
-80
-6
0
0
4
0
-4
-10
0
0
24
8
0
-5
21
2
0
-72
0
0
0
-48
0
2
-104
-3
0
0
-11
0
0
37
2
-18
0
57
0
0
-3
0
0
0
-6
0
0
0
0
-1
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
-1
-6
0
0
0
0
73
0
0
0
0
0
0
-104
0
-36
-30
0
0
0
-34
0
0
9
0
0
0
78
0
-7
0
0
0
0
-51
0
0
-2
-8
0
0
-55
0
2
2
0
0
0
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
11
15
8
-53
-10
12
3
16
4
18
5
-3
-6
3
-1
3
6
15
-19
-48
45
1
0
-11
0
-21
0
-16
-58
0
-5
-13
-23
-18
-8
-47
-7
22
21
-1
32
-1
28
35
0
9
-21
1
2
29
-13
51
-30
0
-18
-9
0
-28
6
-11
0
20
10
-7
27
29
50
31
5
2
47
23
8
0
-29
12
-10
7
-9
-6
-16
-25
45
1
6
0
22
-19
-64
-12
-9
2
-8
12
20
4
-20
4
-39
9
-13
23
49
-43
-52
-11
-34
35
72
-6
-58
-2
-19
-7
34
12
-7
6
1
-45
25
22
0
52
2
-14
-14
21
25
-2
-17
-6
2
-14
-55
1
22
12
-4
-12
5
-3
11
-37
-18
50
11
68
-2
10
-11
-2
5
-19
-7
-4
18
-9
-25
-28
-17
7
-52
-20
-73
-7
12
-13
76
-16
-45
44
-18
-17
20
-33
-75
65
23
33
-70
3
-11
-31
28
15
-1
-12
7
36
-27
49
6
-7
2
-17
4
46
-20
-2
-28
-10
-8
-3
37
36
3
-22
-4
0
0
-59
-19
42
-5
9
-5
70
-6
-9
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
19
0
10
-4
0
0
-8
-3
-4
0
1
0
0
21
-7
0
0
14
0
0
0
0
0
0
-8
0
-21
0
0
14
0
0
0
0
0
49
0
14
0
0
0
38
13
0
0
-3
0
0
-15
6
0
76
2
0
0
-14
4
0
0
-4
0
0
7
-6
0
0
16
0
0
-5
-6
0
0
-18
0
2
-1
18
0
-19
13
0
0
0
-73
0
0
0
0
0
0
80
-1
10
0
0
0
0
-40
0
0
0
0
0
1
-27
0
0
1
-6
0
-4
2
0
0
-6
0
0
0
14
0
0
-6
0
0
0
-69
0
0
21
0
0
0
-11
0
1
-5
0
7
-2
-60
0
0
1
0
12
0
1
0
0
0
0
-2
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
-50
0
-24
0
0
0
0
-37
0
0
4
0
0
0
-4
0
0
-5
0
0
0
1
0
-1
-5
-9
0
0
-48
0
-5
0
-3
0
0
-27
0
4
-1
0
0
0
-33
0
2
1
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
6
0
5
6
0
0
-9
0
0
0
0
0
0
-50
-10
0
0
7
0
0
0
9
0
0
16
-2
0
0
0
1
0
0
-1
0
0
1
-8
0
0
0
0
2
-31
0
0
8
0
0
3
-1
0
-18
-9
7
0
76
-6
0
0
-34
0
0
-23
-75
0
0
54
9
0
3
-35
0
0
-31
0
0
1
-26
0
-7
-6
-6
0
0
29
0
0
0
0
0
0
-19
8
-1
0
0
0
0
-1
0
0
4
0
0
0
-56
0
0
8
0
0
0
-4
0
2
60
0
0
-5
-67
0
-3
31
9
0
-8
17
0
6
-2
0
0
-3
-42
0
0
11
0
0
0
11
0
0
-2
0
0
0
-48
0
0
0
0
0
0
-5
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
6
0
5
0
0
-30
0
0
1
1
0
0
18
0
25
7
-1
0
0
22
0
0
-7
-2
0
4
-77
0
8
-1
4
0
2
-5
0
0
0
0
0
0
21
0
-2
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
21
21
12
7
37
9
-4
-20
2
75
5
-28
2
59
-70
-4
17
-6
-2
-3
10
-1
-23
-12
-39
-25
-47
98
4
12
-36
-33
-44
-13
10
-1
-42
-6
1
-18
-3
-59
-9
6
33
12
4
12
-44
-9
69
-129
-4
-60
-15
2
2
21
2
-21
40
49
34
0
-48
-25
-12
2
21
24
-17
-5
-3
-7
-5
10
-50
-14
-73
18
-31
-56
-60
14
-2
6
10
-17
-54
-21
43
8
-44
8
9
38
9
-17
5
2
-39
3
38
13
-50
0
28
7
-5
38
-67
-33
-4
-32
14
16
-28
-19
-52
9
-50
60
-13
11
-86
35
-7
34
18
4
50
-2
-38
0
-10
52
-24
-41
-6
14
-8
-84
-16
-18
-8
1
1
-2
-28
14
64
41
30
-6
-11
-28
17
43
-9
83
41
-8
29
-22
31
-47
53
23
-3
-97
-46
40
-27
-8
9
-13
9
-8
39
26
-50
-17
37
-38
-9
19
31
-39
44
-24
-63
12
13
-28
4
60
4
-17
-42
-21
-10
1
-27
-13
20
-8
-12
-35
43
29
-11
-15
-24
-18
81
-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
0
0
0
0
0
9
60
0
0
16
-8
-6
-13
60
0
0
-26
-3
-3
4
-56
0
0
-16
-34
23
0
0
6
0
0
5
44
0
22
3
18
8
4
0
0
-3
0
0
29
4
18
-53
27
0
30
-89
-26
-4
13
15
3
-12
-14
2
4
-3
0
-27
-12
-24
-1
2
106
8
4
-1
9
-9
-9
-29
20
0
6
13
37
18
74
4
0
0
4
0
1
0
-8
-45
-52
0
-2
0
0
2
7
-1
-3
-7
0
14
-38
-2
-1
-29
-7
35
-30
8
-3
3
11
0
3
-46
-2
-12
16
2
-4
-5
-123
0
8
-34
-90
-5
7
25
15
4
13
10
-12
3
3
-38
0
10
-17
12
-93
6
-14
0
41
-29
6
-20
0
-9
4
2
0
-8
1
-2
15
25
3
-8
0
0
0
18
-2
60
-3
8
30
17
-12
0
71
15
-14
0
13
-20
0
22
19
-13
0
30
0
-6
-21
7
9
0
0
22
1
-2
46
-3
3
-3
-9
4
-11
26
18
-3
0
-14
0
-16
9
13
6
0
-16
23
3
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
0
0
-5
0
0
6
17
0
0
-13
0
0
17
0
0
0
0
0
11
0
-4
7
0
0
0
-1
0
-2
0
-6
8
0
0
-1
45
0
0
14
8
0
7
25
0
52
-20
-4
0
26
53
0
0
-12
0
0
-28
82
0
0
1
-2
3
-9
10
0
0
7
-1
0
1
12
0
-23
-3
-5
0
-1
102
0
1
-4
0
0
0
-56
-10
14
0
0
0
0
-38
3
0
0
14
0
-1
13
0
0
-2
3
0
-15
14
0
0
2
0
0
0
59
0
-5
53
8
0
3
-40
0
0
68
0
0
14
10
0
3
5
-2
0
-9
70
0
0
0
0
0
0
17
0
0
0
-1
1
0
-26
0
0
0
0
2
0
33
-5
6
0
2
0
0
-105
0
8
0
0
0
0
9
0
0
-5
-1
0
0
-16
0
9
-23
-3
0
0
-73
0
8
-13
-5
0
0
-31
0
-36
9
-3
0
0
-9
0
7
-2
22
0
0
-24
0
-27
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
1
1
0
-41
0
0
0
3
6
-4
1
1
0
0
5
0
0
0
0
6
0
0
-9
10
-3
92
1
16
0
-4
0
-4
11
0
0
-1
-6
0
4
13
0
34
-7
5
0
44
-56
0
-3
-54
-7
0
-33
24
0
-4
3
0
0
-56
-41
0
1
12
0
0
-3
-23
0
-63
-1
-2
0
0
-88
-3
0
0
0
0
0
5
41
0
0
0
0
0
12
0
0
-3
-3
0
0
-55
0
0
42
-5
-2
-1
-51
0
0
-29
-1
0
0
-2
-7
0
4
4
0
-15
-27
4
0
4
2
0
7
42
0
1
-16
-44
0
0
14
0
10
0
16
-6
8
-46
0
0
8
0
8
0
-27
0
0
0
5
4
0
32
0
16
0
0
0
1
35
0
-6
1
0
0
-4
-60
-4
1
14
1
0
7
30
-1
-17
8
8
0
0
8
0
5
-28
-16
0
0
-56
0
24
15
10
0
0
-15
0
7
13
-4
0
0
-67
0
2
0
-1
0
0
-49
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-28
23
2
-74
-54
42
9
-11
1
-3
35
42
-18
-12
-44
15
0
-3
-58
-22
-3
-1
-29
0
-7
9
-3
-5
-46
-59
-16
-5
-3
0
60
21
-4
1
-5
13
30
-19
44
69
27
25
35
-3
17
3
-48
-13
-8
12
0
53
36
-6
8
54
-31
-13
59
18
-4
33
-8
-33
13
-23
-42
1
27
43
-10
0
-12
-9
0
-1
44
-1
0
-2
16
-25
6
0
-9
4
7
-26
-14
15
23
-3
-5
13
11
-40
-12
27
5
97
24
-11
-3
-45
-1
8
-10
-51
20
7
-2
5
-50
-6
-35
-8
1
-25
58
-27
50
-10
-34
-15
88
30
33
-2
31
-32
-2
4
10
-14
-79
-13
-25
18
19
-53
23
-42
5
-12
-18
10
3
-6
15
-3
-69
41
-13
1
7
0
-5
-9
-2
-53
4
-3
-22
-6
-14
13
-23
-59
92
26
35
1
-17
-56
-40
-29
0
-26
40
-14
-82
-81
-11
-3
-12
-45
3
22
10
-3
0
26
21
12
3
-6
-24
45
-6
29
13
-45
0
-8
14
0
10
30
-9
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
10
0
-8
-16
12
0
0
81
0
0
8
-2
0
0
0
0
-45
0
0
-3
0
0
0
0
0
33
0
0
6
0
0
-6
34
0
0
-5
0
0
-4
30
0
-19
93
0
0
-52
1
0
-1
-38
0
0
8
-12
0
0
25
0
0
34
-25
0
0
-14
0
0
34
-59
0
-2
12
0
0
4
-55
0
0
0
0
0
0
14
-5
0
0
0
0
0
37
0
0
0
0
0
0
-21
0
0
-1
0
2
23
-68
0
0
66
0
0
8
17
0
0
-60
-1
0
2
-6
0
0
-32
0
0
9
-58
0
0
1
21
0
12
-85
0
2
-13
0
0
0
-21
0
0
-8
0
3
0
-30
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
7
0
0
0
3
-12
0
0
13
10
0
0
-24
0
-6
-4
0
0
0
80
0
-1
-1
-3
0
-3
6
-2
-39
1
0
0
0
-61
0
0
-1
0
0
0
-51
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
0
1
19
-15
0
11
-4
0
0
-31
-8
0
23
14
0
0
-31
25
0
0
-19
-13
0
0
0
0
-1
-5
47
-6
0
-5
0
1
-4
-4
0
-61
9
0
-20
0
0
21
-24
-12
0
-57
3
2
1
25
0
0
61
-31
18
3
-43
19
0
26
-6
0
0
-3
6
0
12
54
0
-31
-27
13
0
40
-22
0
0
-12
13
0
0
10
9
-5
0
11
0
0
-31
-4
1
8
-9
0
-8
-7
-17
-1
44
-4
0
-28
-32
1
13
14
0
0
28
-2
-10
7
55
94
0
-23
-7
0
27
-4
-4
0
63
3
-1
-8
-25
31
0
5
9
-3
-2
96
0
0
0
-42
0
-3
-6
62
0
0
-34
-1
0
0
-1
0
-4
-38
-3
0
0
0
0
0
-65
0
-33
1
0
0
-14
-49
0
0
-23
1
0
14
-37
-1
-53
-45
-5
0
-45
-11
4
-10
16
-9
0
4
30
0
20
60
2
0
0
-43
-1
2
-9
31
0
0
9
0
49
2
5
0
0
-30
-10
29
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-127
-31
27
-10
-15
-23
36
-1
-38
72
-1
4
-57
-88
0
17
-60
0
0
91
-71
7
-16
46
-36
2
2
0
46
14
-11
-5
8
10
0
-32
-28
45
-8
-15
7
0
-63
11
38
-61
-8
23
-4
-42
-8
0
-16
-34
7
-24
-26
-10
-35
-18
-18
55
31
15
-24
0
23
-69
-32
26
-7
-1
25
-6
34
12
-24
-5
3
-72
-75
2
-46
5
0
7
-16
27
-15
9
3
-49
-6
82
125
-8
-54
22
-69
11
14
-20
-3
-49
-3
51
30
-28
80
20
-32
38
-7
42
50
8
8
-14
-12
-23
-4
6
-62
-20
-12
65
-11
-34
0
-26
-63
-43
25
9
-25
-8
29
10
-18
12
0
-5
-2
3
1
26
-34
-1
-3
-19
1
-2
1
4
0
35
30
-16
14
-2
118
5
-7
-5
53
-12
-2
21
-46
20
22
-45
14
5
-6
36
-27
-33
49
20
62
15
27
22
15
-19
83
-19
-3
28
22
-20
13
27
-110
-41
0
-13
0
33
31
9
28
7
11
-30
25
-15
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
16
6
0
-26
-1
-6
25
45
0
0
-11
4
-49
0
5
11
0
0
0
6
0
-25
-6
-16
-4
0
0
-24
-36
0
0
18
4
6
56
-14
0
-16
22
5
0
1
-30
-17
-2
-32
0
0
-37
-35
-1
4
58
34
12
-47
0
5
1
-33
13
1
-27
43
6
-48
-23
-7
8
27
-8
0
3
-30
0
-2
0
36
-13
-2
0
1
0
0
-34
5
0
0
0
5
0
-100
-2
5
-20
-2
3
96
10
0
1
12
0
0
46
36
0
5
19
-24
2
-19
5
1
4
-24
16
38
-40
0
1
-6
12
-13
0
-16
-38
-1
-1
-14
0
-15
0
-4
0
0
49
25
-33
0
-16
-22
0
0
3
7
0
43
-7
0
5
0
0
0
2
-1
35
4
0
16
-8
-14
0
-9
-30
26
0
0
-6
0
52
-33
-1
0
43
-37
0
-3
-42
-11
0
-13
0
0
39
-24
0
0
-1
-5
0
9
-10
-4
1
0
48
0
-90
-8
10
0
0
-41
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
-19
0
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
4
-90
0
0
-3
0
5
-9
-41
0
-40
48
0
0
-17
-62
0
0
-8
0
0
17
-27
0
0
9
5
0
-18
-11
0
0
-25
0
0
-8
-15
0
-13
0
12
-1
-3
-41
0
0
0
0
0
0
65
1
29
0
1
0
0
-25
0
1
0
0
0
1
28
0
0
2
0
0
-3
-13
0
0
-2
0
13
9
69
1
0
-8
15
0
1
-30
0
6
-4
0
0
-6
-40
1
16
2
2
0
-4
22
0
-2
5
0
7
0
35
0
0
0
1
-8
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
-2
0
0
0
11
0
0
-8
0
0
0
10
0
-22
0
0
0
-1
16
0
0
-2
0
0
0
4
0
0
0
3
0
0
-18
0
0
1
0
0
0
-10
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-2
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-43
0
4
0
0
0
0
-9
0
0
6
0
0
0
16
0
-5
-8
1
0
-51
40
0
0
26
0
0
17
16
0
0
43
12
0
0
-61
0
0
-2
0
0
-2
30
0
33
0
-4
0
0
-9
0
0
0
0
0
0
-14
-5
0
0
0
0
0
-13
0
0
0
0
0
0
46
0
0
4
0
0
0
51
0
0
2
0
0
0
-19
0
0
60
-8
0
0
-21
0
0
19
0
-4
-7
-30
0
0
55
-2
0
2
-21
0
0
2
0
0
0
-6
0
0
0
-2
0
0
-55
0
0
0
0
0
0
-7
0
0
0
0
0
0
-43
0
2
-1
0
0
0
-43
0
0
-10
0
0
0
15
0
0
0
0
0
0
-8
0
3
0
-3
0
1
28
0
-17
-2
0
0
0
1
0
0
0
0
0
0
36
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-16
0
38
-40
-78
5
25
-29
3
0
-3
10
0
-1
-17
-58
0
2
-11
-86
5
3
0
-51
19
39
0
-26
-6
-8
-1
10
57
-26
-73
13
50
-21
6
-52
-15
-8
-3
5
11
-12
-33
0
-3
-6
46
25
17
-9
-8
-9
-7
7
58
58
-4
6
17
-4
28
5
13
16
-10
-6
-8
7
13
23
-38
-38
-2
-1
-17
56
0
-8
29
-2
1
16
0
-8
29
-31
-19
-8
-39
-65
8
3
-78
50
1
-41
-17
-17
-15
-28
-1
-2
-20
37
-28
-10
-5
51
19
55
37
14
-40
-46
-29
13
9
5
13
-1
30
17
-5
-8
1
3
-35
13
105
0
-13
23
123
12
-10
-1
-18
-31
0
-3
13
14
-3
-9
48
-20
8
39
-6
37
-16
-1
-18
-66
3
-45
-12
8
-1
48
-65
-42
-11
-13
-5
-4
-49
8
34
7
-11
-17
40
-5
-49
-19
11
-52
-10
6
20
-13
30
-20
34
-9
22
-56
-53
0
-17
3
3
16
1
-3
12
8
-7
-7
-22
-5
-2
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
0
0
-33
0
52
-8
6
0
0
27
0
-4
0
0
63
0
0
0
8
0
-35
23
7
0
0
0
0
-16
15
0
-24
0
-3
-5
-14
0
11
69
0
0
13
7
1
0
13
14
0
-32
-43
-1
0
7
0
0
-7
-69
10
0
-15
7
-2
65
-116
4
40
0
2
0
7
8
0
0
7
0
30
0
16
-13
-5
0
0
0
6
0
0
0
0
0
0
3
-1
0
0
21
0
79
-22
31
0
-2
44
0
7
-37
-2
0
-25
31
2
3
-36
-2
-1
-3
11
-3
5
-31
-6
0
0
61
0
-7
30
-49
0
-1
15
0
-21
3
32
0
-1
13
0
-69
0
24
0
0
0
0
0
0
12
0
0
0
0
6
-1
-8
0
33
2
0
1
2
-21
0
2
12
-3
0
1
8
-2
-42
-8
5
0
0
22
4
-8
39
0
-2
0
10
0
-19
3
0
0
1
-14
0
-1
14
0
-23
-9
-13
0
-41
0
0
3
0
-11
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
0
0
16
1
0
17
-28
0
0
22
34
0
0
31
-33
0
0
9
0
-10
-2
-29
-37
0
-7
0
15
3
0
0
-26
15
0
-48
8
-9
3
-5
-12
0
-1
3
0
7
-23
-7
0
-28
8
-1
0
6
5
0
68
-5
1
6
3
28
0
-15
4
0
-35
13
-4
0
10
2
0
0
9
16
0
0
6
25
-49
0
-34
0
0
10
-17
-1
5
-3
0
-5
10
-13
7
29
-11
0
23
16
0
-1
6
-6
0
41
-11
0
24
25
-37
0
8
-33
-25
-2
16
-4
0
-2
-2
19
-31
-33
-20
0
44
14
0
11
58
46
0
1
-14
8
-8
22
46
3
0
-21
-2
0
2
2
0
-2
-1
34
7
1
-3
0
0
-44
-3
13
-23
3
0
7
-20
0
-2
35
-6
0
-8
-10
0
11
-33
4
0
23
-58
-4
-9
2
16
0
-12
-4
2
-73
-34
-9
0
5
-25
0
-11
-46
38
0
0
-15
3
-59
-16
-1
0
0
-12
-6
0
-1
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
9
-1
1
0
-14
0
7
-41
-1
-23
22
21
16
-6
-34
-79
-36
10
5
-47
-33
86
45
-58
-46
2
1
1
-12
22
-17
-47
-3
14
-4
46
-7
-1
-13
0
-42
-15
-3
0
-25
-13
8
25
-9
18
-10
1
-68
30
-66
-19
-30
-5
5
-2
1
-1
-11
-3
-5
29
-44
-107
0
11
-4
-24
-12
-27
-3
-2
-8
-41
-9
-42
-27
0
-10
-35
31
35
-78
-28
9
-30
14
-23
9
3
-32
6
15
-13
57
12
46
-21
-5
12
18
-84
18
19
33
-1
-32
-1
-61
-3
-4
-36
19
2
-10
3
44
5
-25
-14
14
-64
-18
-9
-10
-8
-51
0
2
-37
-68
-15
9
-50
0
4
-12
-8
47
-56
-35
43
-14
-25
-27
-38
25
31
-22
-24
5
-51
-43
-66
-26
12
3
-41
-20
13
-88
-65
32
4
-22
-56
21
-27
3
-13
-14
-23
55
-31
-16
41
-32
0
30
31
7
-49
26
-14
-24
17
30
21
46
-73
0
-34
-69
40
12
3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
0
0
-10
-13
-65
0
-3
-46
0
0
0
8
5
-35
13
-6
0
0
0
-56
-24
-1
0
36
0
0
10
16
8
41
18
4
-3
-13
2
8
-3
-42
-2
0
-108
-18
0
13
2
0
-4
1
27
0
0
74
30
0
-1
0
0
44
-20
-4
10
29
6
2
9
3
0
9
5
6
11
45
0
27
0
3
-22
7
0
0
0
0
1
-95
-22
-2
-73
12
9
5
45
12
32
71
-2
0
-8
-7
-5
12
31
-18
0
-24
-9
1
-6
26
30
-13
27
55
1
-68
-54
27
0
-25
0
8
-3
21
-5
-27
0
7
-4
7
-7
-5
22
0
10
8
0
0
2
0
0
-92
31
-5
0
0
1
5
-9
0
-71
16
0
1
4
25
0
8
-31
-16
5
19
-66
0
47
14
-9
0
3
-8
0
-3
-32
-14
0
8
-1
-2
38
33
2
0
12
0
-8
-5
-53
-25
0
13
-66
2
-36
13
0
-1
0
-35
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
-33
2
0
0
0
0
0
-32
0
0
0
0
0
0
-7
0
13
3
0
0
-16
20
0
0
-13
0
0
0
13
0
0
-16
2
0
0
-44
0
0
1
0
0
0
4
0
-2
0
0
0
0
1
0
0
0
0
8
0
4
0
1
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
-46
0
0
0
0
0
0
-8
0
0
30
0
0
0
-29
0
0
0
0
0
0
-7
0
0
14
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
10
0
14
2
0
0
0
-14
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
-24
0
0
1
0
0
-1
5
0
2
-2
0
0
-3
6
0
0
23
0
0
-1
11
0
0
-5
0
0
-6
-32
0
0
-3
0
0
0
-5
0
-3
-1
0
0
0
-24
0
0
0
0
0
0
-30
0
1
0
0
0
0
-71
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-60
0
0
0
0
0
0
61
0
0
4
0
0
8
-14
0
0
24
0
0
0
5
0
0
6
-4
0
0
-59
0
0
0
0
0
0
4
0
0
0
0
0
0
-47
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-1
4
0
0
0
-16
0
0
0
0
0
0
-4
0
-7
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
60
-11
-26
-5
16
-19
0
1
-89
-18
-2
-3
-46
43
-15
-11
1
-7
2
-8
0
-15
-1
-16
22
-12
0
2
1
-30
2
-72
-5
-1
12
-52
78
-18
-44
2
5
16
38
-27
7
-65
-27
-5
-2
44
31
22
64
-23
-1
-6
17
-8
0
-17
12
-8
13
17
62
-15
-3
-28
48
0
0
-16
0
5
3
19
-3
-2
-41
0
-20
-17
8
-21
-4
-66
-38
53
-10
3
-24
19
-21
-89
-27
17
-11
37
-23
12
-72
-30
-17
-39
-113
45
-65
-21
-36
-5
-12
6
-42
7
87
2
-7
-13
-6
17
14
18
-7
6
-40
-8
-1
-75
-32
0
-32
2
-2
0
-38
9
2
9
-21
-4
0
30
28
0
2
0
-70
-42
-16
-44
2
2
6
-10
-31
71
-73
-19
-29
-8
-3
-51
-63
-25
-100
-17
8
-96
-45
1
-25
8
12
-2
-42
-32
-16
37
-13
23
20
-16
-16
-4
-5
24
13
-19
17
0
-10
13
9
-37
17
-5
3
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
51
0
0
3
-8
-6
0
0
-3
0
0
0
0
0
-23
-1
0
0
0
0
0
0
0
0
2
0
0
-13
-48
0
-30
-60
0
0
-51
35
0
0
-40
0
0
22
6
0
0
12
0
0
-8
0
0
0
-16
0
0
-19
-26
0
28
-50
-4
-10
8
-50
0
0
0
0
30
0
32
0
-4
0
0
0
0
-94
0
0
0
0
0
0
-51
25
-4
1
0
0
0
22
0
1
-11
0
0
32
62
0
0
35
0
0
0
71
-7
0
-9
0
-3
5
-4
0
0
-30
0
0
18
-16
0
0
-2
0
-1
10
1
0
0
-34
1
-51
0
-15
8
0
0
0
-2
0
-48
0
0
0
0
0
0
17
0
2
-8
0
0
0
-12
0
0
-5
0
0
-1
-24
0
10
23
0
0
0
8
0
0
9
12
0
0
-66
0
-14
-8
0
0
2
53
0
0
29
0
0
0
-14
0
8
6
0
-2
0
-17
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
0
0
8
31
0
0
1
-26
0
0
-20
0
0
-5
-24
-4
31
0
0
-89
0
0
0
-13
0
0
45
-7
0
-11
26
15
0
-21
6
0
-1
-42
3
0
29
-13
-1
0
15
-46
0
-38
-7
0
-2
-11
0
0
-12
28
0
-80
25
32
0
14
31
2
0
70
-1
0
0
5
3
5
0
66
0
0
-9
-8
-8
6
-4
0
-3
10
0
-9
-8
1
0
-13
1
0
0
-29
0
0
-90
1
0
5
39
22
0
21
-10
0
-4
18
-43
0
6
10
2
-21
-20
11
0
10
-9
-1
0
13
5
0
0
-32
-2
17
-80
21
0
0
-17
0
0
-1
6
0
0
-7
8
3
0
0
0
1
14
0
-14
7
0
0
29
-47
0
-4
-18
-3
0
37
23
-1
-33
33
5
0
-2
-38
0
1
-26
39
0
16
-40
0
-66
-11
12
0
-4
-13
0
-2
44
22
0
0
26
-2
-94
-4
0
0
0
-50
-41
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
0
0
-6
0
16
-19
-4
0
-2
0
1
9
0
0
-41
0
4
-1
-2
0
9
-59
-1
0
-10
-40
0
-1
-56
0
0
-22
-11
0
-4
9
-10
-2
1
-18
0
1
-27
0
8
3
-67
0
-70
26
-53
0
0
3
1
0
-5
-2
0
0
2
39
24
-1
-57
0
0
14
0
0
0
0
0
2
-46
6
0
5
-5
-24
2
10
0
2
34
0
-19
-14
-14
3
53
22
-7
-2
7
-2
0
-6
-12
0
24
1
-13
0
0
17
45
10
0
-27
0
0
36
0
37
0
-24
0
0
-4
15
15
0
3
0
1
0
0
-5
0
3
-5
0
0
0
0
0
1
-2
-13
-8
0
5
-7
13
0
0
6
-2
8
1
-11
0
44
19
-5
0
0
-34
0
-6
-14
-7
0
0
20
0
-33
18
0
0
0
1
0
-10
23
2
0
0
-8
0
-7
0
0
0
0
-59
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
0
7
-5
0
5
4
27
29
1
-2
0
-18
-55
0
0
-22
3
6
-57
-44
0
-4
-28
-2
0
1
-21
-7
7
-18
-7
-1
-2
8
0
0
-6
-1
0
24
4
0
0
-16
-5
1
-31
-30
0
-53
-20
40
1
49
0
-16
-3
4
-32
-6
0
2
0
-40
0
-18
0
0
-36
-1
1
0
14
-3
-1
4
-42
12
66
-1
52
-30
5
0
-2
-27
-2
-42
-11
2
-18
28
-17
-28
43
91
-3
40
-31
-23
-7
-21
-42
19
0
-30
2
-6
42
20
-12
-1
0
4
24
44
-2
0
0
0
-49
-49
-134
0
-26
-1
0
0
2
0
0
-1
4
-9
0
1
0
0
36
-2
-29
-29
-3
41
2
42
1
-4
17
-2
-5
8
38
0
-22
-70
-2
-12
-4
28
-3
-6
25
0
5
4
-22
0
-34
-72
-7
66
0
5
-9
4
46
1
8
5
0
0
-16
-8
-2
-3
0
-28
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-15
0
0
0
0
0
0
-10
0
0
2
0
0
5
14
0
-27
-18
0
0
-2
-42
0
0
2
0
0
-8
35
0
0
-4
0
0
0
-11
0
0
-2
0
0
0
42
0
14
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
-1
0
54
0
0
0
0
0
0
-36
0
7
19
0
0
0
-8
0
0
-3
0
0
0
8
0
1
0
0
0
0
-32
0
0
0
0
2
0
-1
0
0
0
-4
2
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-63
0
0
0
0
0
0
1
0
1
-1
0
0
-1
-5
0
0
-1
0
0
0
12
0
0
0
-10
0
0
-36
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-33
0
0
0
0
0
-2
0
0
0
-1
0
0
0
7
0
0
0
0
0
-1
-22
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
1
0
0
0
6
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
0
1
-45
-4
0
-6
-5
6
0
1
0
34
-10
6
0
10
4
6
-35
1
0
11
28
53
0
-27
-8
5
-1
-6
-2
0
-50
8
0
0
-9
-4
0
22
-4
0
1
48
4
0
-25
-70
0
-35
4
-109
5
14
14
0
0
0
-3
15
-1
-9
-26
21
0
-32
2
0
-17
-1
0
-3
13
-12
-7
3
3
-1
-2
-11
-21
32
-14
0
15
3
0
-9
1
4
11
-1
4
42
7
-22
22
2
-5
-37
-29
15
62
-24
6
28
-10
-26
-22
-23
-11
0
7
16
26
2
1
-36
0
-2
0
14
-1
0
-60
43
0
0
8
-14
0
15
14
0
3
2
0
0
-44
0
-38
4
4
-37
0
-40
-1
7
48
-5
-11
-6
-27
1
-13
-21
-24
0
8
118
1
-8
-1
-36
-72
-24
-3
0
-25
1
7
-7
0
54
0
24
0
-16
2
0
-49
-5
-26
0
1
11
4
-54
22
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-57
0
0
4
1
0
2
-52
-13
16
0
0
63
9
-2
-3
1
0
-64
-108
0
0
-4
39
0
-1
38
-2
-4
8
5
0
0
4
4
0
0
16
0
-2
-32
1
27
7
7
7
33
-1
59
0
-6
19
0
11
80
1
0
0
7
-1
33
0
1
-45
7
0
0
-8
4
7
-11
-1
-10
0
35
57
9
0
2
73
0
-4
50
19
0
-8
-28
0
9
-47
-9
-17
17
-3
0
-47
-95
-8
0
42
4
25
25
13
-27
-5
-3
-19
0
-10
26
-6
2
0
-19
0
16
-25
-38
0
0
-21
0
10
3
12
66
0
-1
-2
-33
0
0
-14
0
0
0
12
0
3
0
-2
38
0
-17
5
31
20
0
117
0
35
-2
-22
0
51
1
7
-7
6
-11
-4
3
32
0
12
31
4
-1
-67
24
-7
-3
6
16
0
8
15
0
14
7
-5
0
20
1
0
2
0
13
41
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-92
0
-1
-8
0
6
4
-4
-56
25
-3
0
-24
-1
-1
0
4
20
0
-14
26
2
-30
2
-20
0
20
-4
8
-9
-26
-14
0
32
8
5
-20
-15
-24
0
86
3
0
-1
-5
-59
0
20
12
-4
3
11
4
0
7
2
-16
1
-23
-94
0
0
7
-49
-95
-8
-112
0
-15
8
-5
2
-62
-66
0
-23
-7
-6
22
21
20
0
30
-5
-9
-20
-13
8
0
-13
7
-31
45
23
-33
1
-24
3
-47
-21
20
-60
0
30
23
-22
49
21
13
0
14
-4
46
-10
26
33
55
3
-2
40
-34
-15
-29
-1
1
-12
34
-11
-8
23
0
43
10
3
-5
-17
-44
0
-39
-5
9
-47
-8
-28
0
-23
-18
15
16
-13
7
0
21
14
2
-50
1
-31
-1
-61
-25
-22
38
12
-12
0
-12
-26
21
-38
44
-24
0
24
-1
8
71
48
22
-4
10
7
3
-10
7
-16
-7
0
35
8
-54
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
-6
0
0
0
-1
-21
0
0
8
0
0
0
21
0
0
0
0
0
0
-17
0
0
-2
0
0
0
-4
0
-5
0
0
0
0
-19
0
0
-2
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
15
0
0
-1
0
0
0
-38
0
0
-3
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
-2
-32
-3
0
18
0
-7
-25
7
0
29
-35
0
0
-2
40
0
-2
-3
0
0
-19
-2
0
0
-20
-1
0
47
-80
0
0
-40
0
5
-5
9
0
-17
75
6
1
5
9
3
0
0
-1
-5
0
0
1
15
0
5
0
0
-31
0
0
0
-4
0
0
-23
0
0
-3
3
2
0
-21
0
0
-45
0
8
-1
35
-1
19
-22
1
0
-1
-3
1
-16
-6
0
3
14
-65
0
0
-21
7
-1
-8
20
3
0
0
0
-3
0
-53
0
0
4
0
7
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
-6
0
-1
0
0
0
0
-25
-3
0
0
0
5
0
-104
6
-29
-14
-1
0
0
-32
0
-8
8
-5
0
0
-4
0
-18
21
0
-1
0
-32
0
1
0
0
0
0
-2
0
0
0
0
-7
0
0
-36
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-1
14
-2
-3
0
71
34
0
0
-81
13
-4
-53
-4
0
8
35
67
0
18
-3
-3
6
9
-15
2
-58
-9
10
9
5
11
0
-48
21
0
0
-23
-13
8
-54
-39
0
51
4
-26
0
8
21
0
0
40
39
43
0
-30
0
26
1
-26
4
0
-14
-61
-2
0
1
0
-1
-22
22
4
-24
3
-40
-43
-21
-7
25
-104
5
8
-3
-14
12
20
-57
-76
0
19
-23
-5
7
-6
132
25
54
-42
-5
-5
9
13
21
-16
13
0
7
-30
49
68
7
8
0
7
-49
26
-41
0
-82
0
5
0
4
-6
0
1
7
-6
0
0
0
0
-23
-2
-87
-6
-4
-41
0
1
0
13
25
8
-2
-13
21
0
-44
13
15
0
-6
-27
0
17
-53
-23
0
-12
-33
2
-47
28
-75
-21
0
31
0
-2
9
6
-1
0
56
7
-67
-1
-7
-10
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
1
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-66
0
0
0
0
0
2
5
0
-70
-37
0
0
3
-17
0
0
19
0
0
0
-15
0
0
0
0
0
-12
-45
0
0
-1
0
0
-1
5
0
-54
-1
0
0
0
17
0
0
0
0
0
0
70
0
0
0
0
0
0
-24
0
0
0
0
0
0
10
0
0
0
0
0
0
-96
0
0
10
0
0
0
-9
0
0
-11
0
0
0
-53
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
9
0
0
0
0
-3
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-13
0
0
0
0
-81
0
0
-3
0
0
5
-10
0
-39
-58
0
0
-67
-3
0
-3
-32
0
0
24
-49
0
0
8
0
0
3
-19
0
0
-99
0
0
0
-36
0
8
44
0
0
0
-30
0
0
0
0
6
0
-36
7
0
0
0
0
0
-12
0
0
0
0
0
6
0
0
5
3
0
0
29
57
0
4
1
0
0
-7
37
0
0
-22
0
0
-10
1
0
0
-17
0
0
0
-32
0
3
23
0
0
0
-96
0
0
-2
0
0
0
-31
0
8
-5
0
-48
0
-12
0
0
0
0
7
0
-5
0
0
0
0
0
0
9
0
2
0
0
0
0
-46
0
0
-4
0
0
0
-28
0
4
6
0
0
0
16
0
0
3
2
0
0
-25
0
-2
8
0
0
0
-47
0
0
-6
0
0
0
57
0
-27
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
57
-11
-3
0
0
0
-2
74
-1
0
26
0
0
-16
-2
0
-19
-7
37
0
-5
-2
0
0
-25
8
0
9
4
0
10
3
-11
0
-5
-7
20
-2
17
-2
0
0
-28
0
-51
15
-60
0
0
-8
-2
0
1
1
0
0
0
58
38
0
0
0
1
18
21
0
0
0
0
-5
-41
-1
0
-19
-5
0
2
37
-1
0
12
0
0
-50
-27
5
0
42
24
0
-90
-1
0
2
-9
8
0
59
-35
8
29
2
-29
0
0
7
0
0
21
0
0
2
-8
6
14
-29
0
0
0
-3
-6
0
0
7
0
0
51
-5
0
-1
0
0
0
38
0
-1
-2
0
0
6
-6
0
-1
-26
-5
0
3
-19
0
-62
29
5
0
0
67
0
-2
1
-24
0
0
-19
-8
49
-22
-2
0
0
-36
1
0
27
17
0
0
16
0
69
0
-1
0
0
-41
18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-3
0
0
3
-1
0
-1
-1
0
0
4
-73
0
0
-5
0
0
5
12
0
0
24
0
0
2
10
0
0
-4
0
0
-25
43
0
41
7
0
0
0
41
0
0
5
0
0
0
3
0
0
0
0
0
0
-42
5
0
0
0
0
0
-27
0
1
0
0
0
0
-19
0
0
1
0
0
0
43
0
0
1
3
0
0
59
0
0
13
0
0
2
48
0
0
-2
0
0
0
-34
0
0
5
0
0
0
1
0
0
0
0
1
0
-40
0
0
0
0
0
0
-2
0
0
0
0
0
0
42
0
-1
1
0
0
0
-30
0
0
6
0
0
0
8
0
1
-8
0
0
0
-34
0
0
0
0
0
0
-31
0
3
0
0
0
0
4
0
0
0
3
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
-2
4
4
39
-21
-20
1
-53
-9
2
-12
20
22
1
7
-43
8
-29
102
52
4
-7
0
22
24
-19
-5
0
-47
11
-8
15
17
-1
-5
-9
14
-5
2
-5
44
-3
-8
-24
-14
66
28
47
2
6
1
-48
17
-49
45
0
-33
-78
-43
46
-5
24
-1
-19
-19
5
-86
-5
15
4
-35
14
8
8
-8
35
-4
-40
-44
14
-25
-74
10
-3
30
-12
7
-67
14
23
-4
49
-70
-11
-20
28
53
-15
13
8
12
30
34
34
-14
11
-8
35
16
15
-18
-9
7
-41
113
23
-9
-48
0
-19
-21
-74
-81
-115
-2
4
-59
-72
-11
-34
-54
-20
8
-30
-39
-50
10
-19
7
-5
-6
19
-6
-6
57
-28
-2
3
24
-3
-41
-36
-22
7
-5
-10
-4
44
-24
-88
11
-4
-7
-13
-3
-20
4
-3
-20
-6
33
48
-5
-6
4
-40
-5
23
17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-49
0
0
10
-1
0
-43
22
0
-29
0
18
-2
15
14
0
-10
11
-7
0
-133
-55
-5
8
3
-11
-1
24
14
0
9
-59
-1
0
-26
78
0
-14
5
5
0
45
-21
0
0
2
6
22
0
41
14
0
0
-24
2
0
-62
0
0
0
0
0
14
11
5
2
43
55
-99
-30
0
0
19
16
-16
25
-7
-32
0
3
3
9
-1
45
-26
0
4
-22
4
11
22
6
0
34
-76
-18
-5
-3
-16
0
2
36
0
52
0
47
0
0
1
47
13
0
-3
3
-1
0
2
-1
0
4
0
-1
0
0
0
-1
-30
0
21
44
0
-3
5
58
1
-1
-7
42
0
-6
-31
0
-25
-28
-3
0
0
30
0
-10
39
-36
0
1
-25
0
-15
-59
-3
0
-1
6
-5
-4
3
-41
1
5
14
0
-1
0
0
-12
0
0
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-27
1
0
-13
0
0
99
25
0
-21
2
-4
0
17
22
0
-1
-31
7
0
6
-60
-1
2
-56
0
0
-1
8
-1
-5
38
-2
0
-3
29
0
36
-128
39
0
-1
-6
-6
0
15
0
8
0
33
-12
-2
0
-14
0
-1
-58
0
0
-5
4
0
-8
52
5
2
-26
-5
-27
-20
5
0
-6
-8
0
43
-10
50
4
-8
-2
11
11
7
64
13
-10
45
28
17
-2
-69
0
3
-51
2
40
-17
-24
0
-3
9
10
-79
0
-52
0
1
-12
20
-27
0
5
-8
0
0
2
0
0
-36
8
0
0
0
0
4
-8
0
18
19
0
2
3
-67
0
-5
-33
13
1
0
38
0
-27
12
25
0
0
-23
0
-3
44
7
0
0
-12
0
-59
7
-7
-16
0
29
0
-7
7
0
-6
0
-17
0
-14
0
0
3
0
-11
-5
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
-25
23
0
-2
-1
0
0
-11
4
0
0
19
0
0
-6
32
0
0
12
0
0
6
-97
0
0
-37
0
0
-5
-25
0
-33
-10
17
0
0
28
0
0
0
7
-2
0
8
59
0
0
-5
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
2
-15
0
0
0
0
1
0
28
5
0
1
-16
0
18
13
0
1
3
0
-3
0
-41
0
0
11
37
0
0
26
0
0
-2
2
6
0
48
0
0
0
1
-19
0
24
0
0
0
0
0
0
-51
0
0
0
0
0
0
-6
0
-1
0
0
-1
0
-64
0
-2
0
0
0
0
1
0
3
5
0
0
0
13
0
0
2
-7
0
-1
-14
0
32
-8
0
0
0
-65
0
10
0
0
0
0
28
0
0
0
0
-2
0
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
0
0
9
0
0
36
-156
0
-13
-131
0
0
-28
-38
0
-1
-34
0
0
-10
-3
0
0
-20
0
0
-24
-69
0
0
9
0
7
49
-9
0
-47
-4
0
0
0
-31
0
0
0
0
0
0
23
-3
0
0
6
0
0
-61
0
0
0
0
0
4
49
0
0
-4
0
-9
5
-20
0
0
26
0
50
2
-16
0
0
-52
2
4
43
4
0
0
-34
0
-14
-9
-39
0
0
-29
-3
3
0
-15
0
0
9
0
6
0
-24
0
0
2
0
32
0
-8
0
0
0
0
8
0
4
2
0
0
0
0
6
47
0
6
0
0
8
0
19
0
0
42
0
0
0
-31
0
52
13
0
0
0
41
9
0
46
0
1
0
-20
0
65
-5
0
0
0
32
0
1
0
0
0
0
47
0
-14
0
0
-12
0
-52
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-2
-1
0
-10
0
0
0
0
-13
0
0
16
0
0
0
-14
0
0
0
0
0
-4
12
0
0
-1
0
0
0
-4
0
15
0
0
0
0
-6
0
0
0
0
0
0
-55
0
0
0
0
0
0
-68
0
0
0
0
0
0
-1
0
0
0
0
0
3
42
0
0
0
0
0
-7
19
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-40
0
0
0
0
0
0
-38
0
0
0
0
0
0
-18
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
2
3
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-89
0
20
17
-28
2
-57
6
0
0
-2
-38
0
29
-16
-2
0
-32
35
0
-51
-19
-9
3
62
-5
3
-75
37
0
37
24
39
-8
-10
-21
2
0
28
0
20
0
12
-6
-43
0
61
-8
0
40
15
0
10
13
0
0
18
0
2
-23
5
-5
4
-24
1
0
28
-19
-13
-9
12
3
-2
2
-29
-5
2
-3
0
-8
58
-33
-21
-5
-21
1
-12
34
48
-21
-16
1
0
4
-36
-3
43
0
-37
0
-20
-10
-21
-8
0
0
24
0
0
0
-2
0
-61
-47
1
0
0
0
0
4
0
-21
1
0
-7
-5
-17
0
6
61
0
-12
-2
-27
0
101
-20
-4
0
-8
-15
0
-6
-36
-46
18
-5
0
1
7
54
9
6
0
13
1
7
-42
14
22
0
13
0
-30
0
1
57
0
44
3
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-30
-30
-1
-52
21
5
-2
-34
-51
5
11
-41
12
5
-70
34
1
-24
57
25
4
-86
-65
5
19
44
-44
-5
-5
-18
5
16
-35
33
-5
-75
62
-12
-23
-4
8
0
-9
-8
-46
-8
67
6
-3
61
-38
-75
20
-7
-15
0
4
52
14
-25
-20
-23
2
-30
16
-3
-9
28
-12
2
-11
-64
4
-48
24
23
-2
36
-61
4
-4
6
-34
0
-50
12
-2
-3
26
-29
5
47
17
-13
2
8
-23
0
-37
8
12
-9
6
29
-22
-42
-2
55
41
-14
-28
9
53
-84
-30
-126
-67
-5
0
93
41
8
-83
-10
-52
-14
-7
61
-49
-40
-48
38
-5
-23
-25
-52
-26
-14
-26
-1
-43
17
11
32
-46
11
8
108
6
7
-63
2
9
-4
-17
-60
-7
-17
-17
-70
6
55
-5
-10
-11
28
-2
-16
36
-10
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
0
26
-22
0
0
-12
52
0
0
26
0
0
-1
43
0
0
23
2
0
64
-22
0
0
-23
0
0
14
22
0
52
29
-17
0
0
-75
0
0
0
0
0
0
-48
0
0
0
-4
0
0
-17
0
0
0
0
0
0
52
0
0
0
0
0
0
70
0
0
-1
0
0
0
28
0
0
4
0
0
-3
-28
0
0
16
0
0
0
-47
0
0
8
1
0
0
-26
0
0
3
0
0
0
10
0
0
8
0
0
0
31
0
0
0
0
0
0
28
0
0
0
0
0
0
25
0
-43
0
0
0
0
20
0
0
0
0
0
0
30
0
8
-7
0
0
0
-10
0
0
6
0
0
0
8
0
-5
0
0
0
0
-12
0
0
0
0
0
0
-50
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
-45
-12
0
0
7
-14
0
0
7
0
0
-3
2
0
0
0
0
0
5
-27
0
0
9
0
0
-1
-1
0
-19
0
0
0
0
25
0
0
0
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
-1
0
0
0
24
0
0
-17
0
0
-3
19
0
0
-1
6
0
0
50
0
0
0
0
0
0
67
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-9
0
0
-2
1
0
0
9
0
0
0
0
0
0
-18
0
0
-4
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-9
0
-20
-74
-3
0
-49
5
0
-5
81
-2
-2
10
-6
1
-4
-49
-59
-8
10
47
-3
-14
20
13
12
17
-9
0
-6
-7
-5
4
-45
9
0
8
-22
-16
48
-5
33
-23
56
0
16
0
0
-27
73
0
0
-1
-10
-6
2
2
52
39
-23
13
-35
35
3
-27
-7
-7
-82
-69
15
8
47
14
31
-12
46
24
-6
-39
26
38
-47
19
38
1
22
-41
-52
-50
-32
5
-6
3
7
-2
-56
-12
12
8
-2
-24
-7
2
0
56
-4
2
0
12
29
-12
-33
34
0
2
23
0
-3
-42
23
15
27
-1
-10
-3
23
0
-3
-68
4
17
-43
21
-2
6
-27
13
5
15
5
5
-16
-26
-55
-1
-9
26
0
43
11
-6
38
-14
33
4
37
-58
-31
37
0
0
7
-34
-6
0
25
0
13
-82
-21
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
11
0
-7
34
0
0
25
61
0
0
-18
0
0
6
-53
0
0
4
0
0
-3
-24
0
0
4
0
0
0
3
0
17
0
0
0
0
-48
0
0
0
0
-3
0
51
0
0
0
0
0
0
45
1
0
0
0
0
0
18
0
0
-1
2
0
10
9
0
0
0
0
0
14
13
0
0
-6
7
0
8
-5
0
0
3
0
0
2
-27
0
0
10
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
2
-19
0
-28
0
0
0
0
0
0
-16
0
0
0
0
0
0
-79
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
1
0
0
0
-10
0
-1
7
0
0
0
-5
0
0
-7
0
0
0
27
0
0
0
0
0
0
-11
0
-6
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-38
34
0
0
101
-12
0
0
14
0
0
17
-15
0
0
-23
-6
0
-33
-70
0
0
-3
0
0
-9
22
0
-62
6
-27
0
-2
-34
0
0
0
0
0
0
-37
-2
7
0
0
0
0
-77
0
0
0
0
0
0
-95
0
0
0
0
0
-9
-20
0
-3
4
0
0
0
-57
0
0
19
14
0
-13
34
0
6
-19
0
0
-10
-30
0
0
19
-2
0
-10
55
0
0
-38
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
-2
-11
0
-8
-1
0
0
0
-9
0
46
7
0
0
0
-1
0
0
-1
0
0
0
-6
0
-15
1
0
0
0
-7
0
0
-3
-1
0
0
2
0
-3
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-59
42
-25
-35
18
0
4
0
-3
43
-68
6
3
-52
-16
-4
-2
18
6
10
-66
-12
-3
-23
9
29
16
-2
-18
-2
-3
-43
-14
-15
0
18
28
-17
0
-14
0
-2
-8
57
15
30
58
4
5
-28
-21
-47
25
25
-12
-18
24
0
-13
-6
2
-4
16
-23
5
11
-5
-17
5
13
-41
3
81
14
13
-66
53
-18
-1
-22
39
-10
-51
-127
15
-2
-10
4
-4
105
0
-6
1
-33
28
18
-50
0
22
29
-11
9
0
-3
0
9
-60
0
2
-1
8
0
-27
-8
8
18
-6
-2
-4
7
-13
13
0
17
1
13
11
-1
-6
30
14
-1
-11
15
1
17
-25
23
-8
-6
-10
8
-2
-6
0
-6
13
-28
-9
-20
16
-22
-36
0
28
6
31
-2
0
-48
0
-12
6
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
-39
91
12
-18
41
27
6
18
-49
13
-53
-18
16
0
22
-25
13
6
-68
-28
23
0
8
18
1
6
-39
-7
-36
-1
-5
61
42
27
-7
-55
34
35
-11
32
47
0
11
22
-30
-82
-33
21
-19
25
29
3
29
11
-153
0
-16
-18
-41
-4
-4
-27
-35
5
7
-29
83
-20
-8
-5
7
-119
-18
9
-3
34
-1
-9
-62
15
-17
-83
20
0
-36
13
14
-3
17
-31
4
-26
-38
11
-11
7
-6
19
-10
-16
-13
67
6
-3
-17
-8
45
-5
-15
43
35
-12
14
51
-34
-56
-31
-79
0
-32
43
20
-82
92
-56
-6
-84
42
10
40
-35
-26
-37
-108
-8
-34
-27
-40
-42
-16
1
-60
-23
20
10
-76
-2
-13
-113
-26
14
14
8
0
18
-8
-14
12
-4
-1
18
-47
14
-32
51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
53
0
0
-40
0
0
8
-12
0
0
7
0
0
4
-26
0
0
-1
0
0
-2
-20
0
16
0
0
0
0
32
0
0
6
0
0
0
40
1
-1
0
0
0
0
-21
0
0
0
0
0
0
32
0
0
3
0
0
0
-4
0
0
0
0
0
0
-86
0
6
0
0
0
-2
-18
0
-1
26
0
0
0
-34
0
0
12
-1
0
0
7
0
0
0
0
0
0
-29
0
0
0
0
0
0
-49
0
0
0
0
0
0
9
0
18
0
0
0
0
43
0
-1
0
0
0
0
-13
0
0
0
0
0
0
-6
0
-4
-9
0
0
0
10
0
1
0
0
0
0
22
0
3
-1
0
0
0
13
0
0
0
0
0
0
26
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-27
11
-3
24
-42
1
10
2
37
12
-6
-16
-77
36
-5
20
-21
1
3
-25
36
23
-7
15
8
5
5
14
5
-29
-2
-14
-50
32
-7
4
-33
20
4
41
8
-5
-3
24
11
-22
-29
68
28
-19
-43
25
4
34
6
16
11
7
-2
17
-45
42
25
-4
-21
1
10
-19
-17
24
-2
15
19
7
43
66
-60
-2
-15
-29
8
17
-3
7
14
-5
-7
8
-21
29
30
-36
-81
0
-13
-87
33
-32
23
-55
16
-32
-73
2
-1
17
-29
-6
-2
-90
46
21
7
45
-39
-47
-10
-43
-45
-14
-28
-6
59
11
-9
-10
3
-18
-25
7
-70
7
-29
-45
16
-115
-16
13
35
-45
7
31
-3
-37
-20
-15
-38
-17
28
-5
11
6
-50
-53
5
-3
19
21
23
29
2
19
-9
-19
-13
-75
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-57
42
-17
3
-22
0
-26
-25
-25
-13
-6
-15
28
-39
-48
11
-36
-44
-33
10
-40
-5
-11
4
-46
-86
3
22
6
22
13
-47
-3
-7
13
-25
-9
65
57
6
-3
-17
-3
41
68
-7
13
-24
15
13
-13
-81
28
-25
-4
-4
-26
10
-1
24
-37
-10
-43
-61
-4
-45
-58
-38
-24
107
-33
7
34
14
-47
18
54
-34
-13
-39
3
-8
17
-13
-42
4
-19
-26
-13
4
1
-3
8
-32
-2
-1
0
-17
-1
-2
-10
11
-14
-19
30
-32
-16
-53
-10
-7
3
20
81
-5
-29
17
29
20
18
17
7
-77
22
-12
3
-4
29
38
37
-9
-35
1
4
-39
-22
-57
-29
-16
3
8
6
-89
-34
2
41
-3
6
-9
27
35
8
-1
-7
-24
-27
22
-39
2
0
0
-9
0
-43
-51
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
3
16
0
-40
9
0
-63
-21
0
0
-6
0
1
3
-14
0
8
-33
0
0
-25
-19
0
25
-46
0
8
-2
-16
0
0
-18
0
-88
0
13
-1
-14
0
0
0
-1
-10
-2
0
0
0
0
-18
30
0
9
-23
0
-8
-10
-5
0
4
-14
0
17
38
-13
0
5
-55
0
39
-8
-36
0
2
-13
0
17
29
-41
1
-3
7
0
22
59
-23
0
0
-9
0
9
0
-31
0
0
-31
0
3
0
20
0
0
-2
0
-8
0
19
3
0
1
0
0
0
-44
0
-1
-38
0
5
0
-13
0
-1
-49
0
8
-36
3
0
34
6
0
-1
9
-80
0
21
30
0
4
-11
7
0
-29
3
0
-7
0
-1
-1
0
45
0
-14
8
-27
0
20
-7
0
-57
0
6
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-39
0
0
-5
0
0
0
-105
0
12
-2
-1
0
8
31
0
0
-5
0
0
0
-22
0
17
0
0
0
0
21
0
0
0
0
0
0
-30
5
0
0
0
0
0
-26
0
9
8
0
0
0
3
0
-2
0
3
0
-2
29
0
0
0
0
0
-4
-15
0
0
30
0
0
7
-22
0
0
4
0
0
0
74
0
0
27
0
0
0
-82
0
0
0
0
0
0
-27
0
0
0
0
0
0
-50
8
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
-3
0
0
0
0
-4
0
0
6
12
0
0
2
0
0
0
0
0
0
-10
0
0
-1
0
0
0
-9
0
-1
0
0
0
0
20
0
0
0
0
0
0
16
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
-32
-7
2
-4
-2
-18
14
-6
59
-14
35
19
8
20
0
4
3
-31
11
-1
24
-41
-8
14
-45
63
0
13
-148
10
0
13
-60
1
-8
2
-1
-6
-43
-1
-95
14
-76
-26
7
101
4
5
-3
25
22
-7
24
21
-48
6
28
-19
9
51
-4
13
3
1
22
4
-49
2
20
-5
-12
49
-14
43
16
3
36
-1
24
-5
-24
-16
-5
31
55
46
-81
17
22
-2
-2
-65
14
25
-29
-33
-5
-35
5
-5
70
-6
-5
56
33
-17
-12
3
30
61
22
-9
47
77
-36
-25
6
-23
-14
-31
-6
13
-15
-48
-26
36
-25
21
-21
-52
-83
-21
2
7
-49
20
8
-30
-11
1
-15
-63
-41
32
-51
4
17
-4
-2
59
-41
-15
0
2
-82
5
10
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
4
48
73
-12
11
-51
-3
-1
-11
-15
2
-30
83
-33
-10
21
4
-8
-7
7
-7
-25
-49
-6
6
34
-41
-58
-14
0
-53
-51
-4
-9
-41
3
20
-45
64
-21
-43
-28
0
52
-29
9
0
7
31
3
-32
-7
-36
34
13
-117
0
-3
-7
-26
-22
1
-38
-9
-77
-10
-9
-25
12
-3
0
-75
-50
-15
11
-37
-38
-5
-6
-38
-2
-46
-14
-49
2
81
61
14
-23
9
7
18
-78
-22
-30
-31
-20
-70
0
46
25
-15
4
-7
-28
27
-10
-47
-47
-45
6
-52
1
3
33
-17
17
34
-23
0
16
14
-10
40
52
-56
18
-28
-2
-35
4
44
-34
-12
1
-24
35
28
-31
37
-9
26
-61
8
11
-27
33
0
15
-11
15
3
27
7
19
86
-40
-35
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
-25
-76
0
0
73
0
0
-1
12
0
14
7
2
0
0
-1
0
0
0
0
0
0
4
1
0
0
0
0
0
-58
0
0
0
0
0
0
91
0
1
-1
0
0
0
-20
0
0
-7
0
0
0
12
0
0
-4
0
0
0
-65
0
0
20
0
0
0
55
0
0
-29
0
0
0
-15
0
0
2
0
0
0
-18
0
0
0
0
0
0
-22
0
0
-1
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
-4
0
0
0
0
-57
0
-1
0
0
0
0
-23
0
8
0
0
0
0
12
0
0
0
0
0
0
2
0
0
1
1
0
0
123
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
25
0
6
-6
1
0
1
-75
0
0
-2
0
-2
4
21
0
4
16
6
0
0
30
0
0
0
0
0
0
30
22
0
0
0
0
0
-1
0
2
9
0
0
0
7
0
0
-9
7
-1
30
19
0
0
-8
0
3
-2
-76
0
0
0
0
-2
-3
12
6
0
-7
7
0
4
-60
-2
0
58
-4
0
5
48
0
0
0
0
6
0
-63
0
0
0
-1
1
0
-38
8
0
0
0
0
0
36
0
0
0
0
0
0
-4
0
13
0
0
0
0
-38
0
1
0
12
0
4
43
0
5
-17
1
0
0
-64
0
0
8
34
0
-3
22
0
-35
0
0
-3
-4
51
0
0
6
1
0
0
18
-7
8
0
0
1
0
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-23
-41
-14
0
-9
-2
8
17
-6
-5
-66
-43
13
2
4
-2
-10
-26
-20
-12
2
4
5
-20
-10
16
9
-10
-2
6
-54
26
21
8
18
-53
-61
-10
-24
-4
62
27
35
65
-24
0
28
1
29
-15
24
-25
-12
-33
8
-3
-7
1
-28
-10
20
-10
-2
64
-23
-15
-13
-20
13
2
4
-1
23
29
-74
40
-3
27
-18
-36
-9
-47
-12
15
1
-61
-23
21
26
9
-1
-11
-2
2
-14
24
4
7
112
16
32
-25
-3
-38
-15
-32
-18
29
-30
27
64
21
-16
-11
-61
44
12
31
-12
0
4
-30
5
-3
28
39
-21
7
73
-13
60
58
-32
-12
32
-13
-30
28
11
6
-5
-30
11
25
37
-55
0
-20
-34
24
49
22
-7
-18
54
-23
-2
-26
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-51
0
0
14
0
0
0
-8
0
0
-49
0
0
12
-63
0
18
-1
-3
0
0
-64
0
0
-2
0
0
0
14
0
6
0
0
0
0
-24
0
0
0
0
0
0
-46
0
0
-40
0
3
-8
61
0
0
22
0
0
8
-42
0
5
45
0
0
0
22
0
0
33
0
0
0
18
0
0
14
0
0
0
-61
0
0
34
0
0
0
-49
0
0
0
0
48
0
-106
-2
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
5
3
0
0
0
44
0
0
-7
0
0
4
-89
0
0
-13
0
0
0
15
0
0
1
0
0
0
-55
0
-1
-9
0
0
0
-30
0
0
6
0
0
0
-18
0
-5
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-23
0
0
0
0
0
0
-27
0
0
-8
0
0
0
-5
0
-13
0
0
0
0
-40
0
0
0
0
0
0
8
-9
0
0
0
0
0
20
0
0
0
0
0
0
-20
0
0
0
0
0
0
-18
0
0
5
0
0
10
-1
0
0
0
0
0
5
25
0
0
2
0
0
0
-43
0
0
-4
0
0
0
29
0
0
0
0
0
0
14
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-5
1
0
0
0
-1
0
0
0
0
0
-9
43
0
0
1
0
0
0
-6
0
0
-3
-4
0
-5
5
0
24
0
0
0
0
-6
0
0
-3
0
0
0
43
0
-3
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
12
0
12
-7
-6
-42
-30
1
-1
36
-17
-71
-1
24
-13
29
-1
3
-4
-31
-6
-7
31
-40
-3
-18
8
7
15
-22
12
-6
-1
0
-14
24
7
6
29
6
-54
-21
-1
-4
-6
52
0
74
-150
-19
2
-7
-20
-26
38
34
9
-18
-9
22
2
-3
41
33
7
28
-14
119
21
8
21
1
18
66
-36
-78
4
-14
1
8
33
17
20
0
23
17
0
0
-8
-2
0
-8
-32
1
-12
-2
0
-5
1
33
1
-8
25
-43
-4
-48
-2
45
17
6
2
-13
-35
-3
-30
-21
41
8
59
6
3
-56
-22
-40
-3
-3
-41
0
-35
-41
2
39
24
1
-7
19
-4
-37
51
-29
1
7
-129
17
17
67
-1
1
74
0
0
25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-12
17
-61
-4
-22
-61
-40
-11
-48
-5
-14
-7
-77
-11
-17
-29
13
5
-51
-50
-57
-4
10
2
12
-14
33
-5
10
37
-29
28
11
25
-11
-1
-40
15
-32
-38
-4
-7
4
-39
-5
11
-15
-20
-35
2
16
-43
2
9
-2
-51
0
-19
3
-1
32
-15
-38
0
-65
23
-25
27
58
-73
-7
-31
-49
8
-59
-5
1
-9
-9
-63
-13
-1
5
-22
9
14
-24
-83
20
-38
-41
10
-57
70
-5
-59
-13
-8
3
-14
-4
25
-6
-19
-37
17
-5
-30
2
3
59
-59
-23
-115
9
14
59
62
42
0
-1
-82
14
-40
-20
2
4
61
-15
-11
-2
-37
17
0
29
0
-36
-3
44
-6
-2
20
-15
0
-31
1
14
7
25
-74
5
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
9
0
0
0
-39
0
-2
4
0
0
0
-19
0
0
0
0
0
0
-20
0
0
0
0
0
0
20
0
0
0
0
0
0
26
0
0
0
0
0
0
54
0
0
-1
0
0
0
-70
0
3
-6
0
0
-4
-13
0
0
6
0
0
0
23
0
0
2
0
0
0
71
0
0
0
0
0
0
59
0
0
0
0
0
0
-60
0
0
0
0
0
0
-13
0
0
0
0
0
0
-77
0
6
0
0
0
0
-20
0
0
0
0
0
0
5
0
-1
-4
0
0
0
-63
0
0
0
1
0
0
-42
0
32
1
0
0
0
-34
0
0
1
0
0
0
73
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
55
0
-1
-51
0
10
0
-99
0
10
0
1
0
0
22
0
0
-7
0
-9
0
31
-3
-1
0
0
0
0
26
4
0
-1
0
0
0
11
0
0
2
0
0
16
66
0
0
11
0
0
59
16
0
-3
-49
-3
0
0
-31
0
0
31
0
-8
-2
56
0
6
-2
7
0
2
-59
0
-2
0
-4
8
0
-20
0
0
0
-1
0
0
6
6
0
0
0
0
0
-13
0
0
0
0
0
0
-41
0
-9
4
0
0
0
-59
-1
-8
-1
5
0
6
-2
0
11
0
0
0
3
72
0
3
-4
7
0
0
-12
0
15
0
0
-2
0
60
0
0
8
0
1
0
93
0
-21
1
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
-8
25
0
-17
-35
-22
8
12
0
15
-12
2
0
-5
-2
-34
-6
-27
9
5
34
5
0
-6
-7
3
22
15
4
18
9
14
-52
23
-57
-19
23
2
-4
3
-8
-15
-1
-47
20
7
9
1
-5
-53
32
6
-10
2
-3
-10
1
-1
-8
13
1
5
-9
-20
-55
26
81
-20
7
8
-28
42
-4
17
45
6
12
-18
-39
5
33
0
10
-31
-2
-2
-13
8
0
16
16
-49
-3
-27
-1
-41
-6
-8
-27
38
-8
2
72
26
-1
-27
2
-13
-13
-58
-16
-9
-42
-89
-15
0
-7
-14
-4
-21
-105
-88
0
-25
4
0
8
8
42
-13
-23
7
0
23
68
-69
33
0
6
0
-37
15
8
50
0
14
5
17
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-59
3
0
50
0
3
-56
-21
0
15
47
0
3
44
-37
4
0
1
0
46
0
7
17
-1
0
0
0
4
-10
14
-3
0
0
0
-2
7
0
5
52
0
34
22
11
0
18
9
0
-2
17
8
0
6
-36
0
-3
24
19
0
0
19
-2
-3
-51
11
0
14
0
0
-2
37
-69
0
-4
50
0
7
0
-27
-18
93
9
0
-18
0
-13
-2
0
0
0
0
0
30
26
-3
-9
0
0
2
-12
3
-3
9
0
-21
8
62
0
-7
-8
0
-13
38
-56
0
-26
-50
0
0
3
23
0
4
65
0
0
18
-30
4
16
50
12
0
6
-21
0
-13
-1
0
7
0
-5
8
2
0
0
22
0
-31
-4
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-42
0
0
-4
0
0
2
-32
0
52
0
5
0
0
88
0
0
0
0
0
0
51
-15
0
0
0
0
0
-54
0
0
0
0
0
0
29
3
0
0
0
0
-2
-52
0
0
-22
0
0
14
-6
0
0
32
22
0
-4
-119
0
0
-9
0
0
2
27
0
-1
49
14
0
-4
-4
0
0
2
0
0
0
-28
0
0
0
6
0
0
-54
0
0
0
0
0
0
-38
1
0
0
0
0
0
8
0
3
-1
0
0
0
-8
0
-1
-4
-4
0
0
54
0
-6
16
0
0
0
-8
0
0
74
-6
0
-1
53
0
-26
-1
0
0
0
-68
0
0
6
0
0
0
-36
0
6
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-30
0
-14
-19
-28
-70
13
3
-3
22
33
14
-7
4
12
-17
2
1
-38
1
-8
-10
-29
-12
-5
9
-13
-33
15
-33
-95
-5
14
2
-33
-3
6
39
17
7
55
-3
17
70
-23
1
-51
0
-58
2
17
-8
20
-9
83
14
-14
-12
-17
-14
-42
99
49
-8
-2
13
-15
25
16
-19
-12
2
-18
-24
-40
11
0
-8
-17
-2
1
-2
-13
1
49
-7
55
4
-9
0
1
-5
-9
-42
76
-6
-44
-19
-22
13
33
10
-31
8
1
14
3
-23
2
-30
1
13
-30
3
-16
-41
-1
56
8
10
17
21
-10
-13
-1
-12
35
3
36
60
16
43
0
10
2
20
15
4
3
2
-22
-45
-3
-8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
-19
-10
20
-10
-36
-51
-13
2
51
22
-5
-88
-33
-5
1
-13
-103
-36
-16
-40
0
-13
4
-38
15
43
-32
-2
21
33
-20
-11
6
-19
1
-30
-26
12
2
18
35
6
31
20
7
-3
-17
-8
9
-67
-58
21
1
32
2
0
66
-20
3
-20
-96
4
7
5
-25
38
48
-24
-31
8
36
-53
13
-8
-44
4
-4
51
-17
-26
-60
-12
10
28
-7
-11
40
6
-78
11
7
-54
11
50
27
4
11
19
18
-10
49
-39
40
39
5
21
-24
-64
-26
-33
-100
-3
-30
62
-33
-21
-36
17
0
51
-2
-9
-66
4
2
7
-4
64
-13
25
81
16
3
62
-25
-64
-7
11
7
1
-19
-63
35
31
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
25
-7
-5
0
0
-11
0
0
-1
0
0
0
19
0
1
0
-23
0
0
106
5
0
0
0
0
0
10
0
16
-1
0
0
0
51
0
1
2
0
0
-1
-6
0
0
34
8
0
0
22
0
0
-8
0
0
0
7
0
0
-2
-3
0
-2
-69
0
0
0
0
-9
0
7
0
0
0
0
-2
0
10
0
0
0
0
8
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
0
0
0
0
32
0
0
2
0
0
0
-6
0
5
0
-1
0
0
-13
0
4
0
0
0
0
37
0
0
0
0
0
0
-18
0
-4
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
26
0
-18
51
2
0
6
-2
0
0
0
0
0
5
37
0
0
0
0
0
0
57
0
0
10
0
0
0
-22
0
4
-4
16
-4
18
1
0
0
0
0
-2
0
-10
2
0
1
0
0
-3
-120
0
-7
65
0
2
0
-4
0
14
0
0
-4
-4
-30
0
0
-2
0
4
0
13
0
0
4
0
19
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
31
0
-2
-2
0
0
0
59
0
0
0
0
0
-3
45
0
-5
0
0
0
0
16
0
0
3
0
0
0
36
0
-5
-4
0
0
0
44
0
0
6
0
0
0
29
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-10
15
-1
34
-1
-49
-4
4
37
-3
-20
-79
40
-19
1
46
-34
-1
-25
3
-3
11
-6
-7
1
-36
-10
-27
9
76
16
-4
-4
27
44
9
24
-59
-46
-27
6
23
30
17
-22
-16
31
18
-31
-14
37
-3
-19
-67
16
33
6
14
-21
63
16
-14
7
8
0
-29
72
-19
19
5
21
6
-8
5
7
-16
14
12
4
-1
-1
68
40
10
12
30
-1
-18
-15
4
51
-14
-28
-42
4
-10
-8
98
4
13
-15
22
-25
-31
7
14
25
-38
-18
-16
-5
8
27
-56
30
68
-41
-66
31
25
1
16
-49
-20
-32
-13
2
5
-44
-69
41
41
-32
8
-1
-17
-5
-54
58
0
19
-104
-4
-2
-51
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
47
0
10
45
0
0
-8
-13
0
0
10
0
0
0
18
-3
8
0
0
0
0
-40
0
0
0
0
0
-3
5
-5
0
0
0
3
-3
34
0
0
28
0
2
-22
-44
0
0
-53
0
0
-1
-46
0
0
-33
0
0
0
-31
0
0
4
-2
8
7
-8
0
4
-9
0
1
0
-13
0
-3
-4
0
-4
0
1
-3
0
0
0
0
0
7
0
0
0
0
0
0
37
0
-7
0
0
0
-2
-20
0
-13
-10
0
0
0
-65
0
2
-1
0
0
-1
35
0
0
13
6
0
8
-131
0
-10
-6
0
0
0
-31
0
0
19
0
0
0
40
0
3
0
0
9
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
30
0
-62
-6
25
0
-3
-28
0
0
2
0
0
0
5
-3
0
0
-3
0
0
-21
0
0
0
0
0
5
-48
0
-1
33
-7
0
18
-47
0
0
-16
4
0
8
-4
0
0
110
-5
0
-16
10
0
2
31
2
0
-2
67
0
0
-9
6
0
6
-10
0
0
6
0
0
0
-38
0
0
5
7
0
0
10
0
0
0
0
0
0
-24
-6
0
0
0
0
-5
-50
0
-17
0
0
0
1
-57
0
1
12
1
0
1
39
0
22
-6
-2
0
-8
1
0
4
-27
-4
0
-8
1
0
6
10
0
0
-1
4
0
0
0
0
0
0
-70
0
-2
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
0
0
-16
3
8
0
-33
-78
-35
3
23
0
0
-30
6
2
0
0
1
-15
-28
-17
-5
-76
31
-19
-12
-12
4
18
-19
-1
7
-10
17
0
21
-34
-15
-17
-44
-43
-29
13
-34
9
33
16
-17
19
-4
-14
16
-37
23
-40
8
5
3
2
106
-1
29
0
-2
25
5
-13
0
-3
0
0
0
1
4
-1
-2
5
0
5
0
0
17
-21
0
5
-11
1
57
0
-30
-2
17
57
-11
-6
-8
2
0
-52
64
6
5
-8
20
-6
-7
-52
-27
-3
-8
-30
0
13
-54
6
-6
-9
-49
0
4
-87
4
-2
0
8
0
102
-11
-5
43
0
-67
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-5
15
-32
22
6
-8
20
69
-3
-61
3
-6
16
-57
17
-45
-51
-4
50
4
4
-26
-54
4
-26
3
-2
-4
6
2
4
14
-51
4
-55
-37
19
-31
-104
35
6
-1
61
-13
-29
-24
-50
-13
-22
40
-3
-58
-28
66
0
-33
70
-48
22
-36
6
10
69
55
60
-58
-31
-1
-13
-5
-5
-4
-28
-16
18
13
-21
-11
4
-3
-2
-22
3
-73
19
-3
24
-25
18
4
14
47
26
2
40
-25
6
-6
-43
35
-18
8
4
-29
-35
-43
43
-28
66
-6
11
39
33
-16
25
-52
-10
0
12
-7
34
0
-30
4
5
90
31
16
-51
-2
6
-3
27
-33
42
-97
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
4
0
-14
0
0
1
0
0
0
-28
0
0
-1
0
0
0
4
0
0
0
0
0
0
23
0
0
1
-2
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-35
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
7
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
33
11
-21
5
-45
-8
-7
-14
0
-25
-14
5
23
8
-71
12
42
-12
-15
-10
-14
-13
0
-38
-20
21
-53
-1
7
-22
-4
-41
40
15
-3
-37
-18
36
17
-18
45
0
76
-42
14
-8
-3
20
18
-29
-79
17
42
18
-14
-6
0
26
30
61
0
3
33
48
-137
-36
25
4
3
5
-40
-11
-9
30
-39
-12
-19
7
-6
-11
-103
-1
-22
-16
-21
-36
-34
-26
-4
-45
4
-14
-46
24
67
-67
-24
-4
-9
29
-70
-10
-116
-47
15
-27
75
29
-34
6
-11
15
10
47
33
100
-2
10
-20
14
-15
16
62
-14
42
14
-44
3
27
-125
-47
0
0
78
6
-23
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-13
0
0
0
-6
-12
4
6
27
19
0
-63
0
-3
-9
-11
0
10
19
22
-69
-3
-1
41
-16
-4
-18
54
3
1
-1
5
-12
-56
-50
11
16
11
-23
-54
-24
-51
0
-31
-4
-13
-7
-15
4
-28
-2
6
63
21
-67
-31
-29
0
2
-33
16
96
6
-22
1
-8
0
-10
-31
0
-10
-2
-10
0
93
10
0
-6
-98
0
-2
40
-1
-1
-20
2
-28
-3
-1
-13
6
-18
0
-4
-12
-26
24
5
-11
4
-25
-99
32
1
5
-36
-1
-60
-73
-32
42
-6
7
0
-27
66
-19
-10
4
-11
2
46
-6
-57
-7
0
-14
-6
-74
0
24
-8
0
-39
-59
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
2
0
-38
0
31
0
5
-76
6
0
0
1
0
16
-4
0
-8
0
-1
29
13
1
15
-7
-1
65
-76
27
0
-14
38
1
-57
6
1
0
-13
-3
0
43
26
-1
0
-3
-5
17
-80
-18
0
8
-4
-11
0
-21
11
3
0
0
2
0
6
2
20
-5
-2
11
0
-19
0
-29
-15
0
7
0
4
0
7
-39
1
0
0
0
5
-42
-3
27
37
0
24
-15
41
6
6
49
0
-16
15
-5
0
-6
-53
0
1
-2
2
0
24
31
0
-29
1
2
0
-40
21
7
-6
1
7
0
-5
32
0
-11
-2
6
0
16
44
0
23
0
-72
-8
-7
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
15
0
0
0
0
0
0
-71
0
-5
0
4
0
0
54
0
0
2
0
0
0
-20
0
0
5
2
0
0
17
0
1
14
0
0
13
3
0
0
-39
7
0
41
-21
0
1
40
0
0
3
5
0
0
-46
1
0
-10
-72
0
0
-7
0
0
0
-67
0
0
0
0
0
0
22
0
0
0
0
0
0
1
-3
0
0
0
0
0
40
0
-1
0
-1
0
0
57
0
0
-1
0
0
-5
-13
0
-6
-1
1
0
6
49
0
-2
3
-1
0
9
-60
0
-33
33
0
0
0
0
0
0
44
0
0
0
-103
0
-3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
17
-9
0
59
0
0
-27
13
0
0
0
-4
0
-58
-2
0
-7
-5
97
2
-13
0
0
1
0
76
6
24
22
-8
42
-18
10
4
-22
-1
-2
21
4
-8
0
-44
0
2
7
-5
-4
0
0
0
7
18
-3
-87
0
19
0
-2
-22
5
43
0
-2
-4
0
0
8
2
0
-40
-2
0
0
-7
0
0
-7
0
70
1
1
16
-2
11
-1
0
-12
-6
1
0
112
0
-95
6
0
0
0
47
0
0
-2
8
0
0
12
1
-62
55
-1
3
0
33
0
0
12
-28
-9
0
-88
0
50
0
-6
-27
0
-58
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
14
-67
55
37
-9
23
2
-20
64
33
12
4
-53
0
24
-19
-22
-1
15
-16
5
-66
12
-19
4
-17
16
-10
-26
38
4
-10
-22
28
5
0
-23
-2
-61
-35
8
-6
63
51
17
-76
-5
3
-2
-18
12
-3
-43
11
-8
0
-72
4
92
-33
-32
-8
-16
-22
-46
-25
-80
47
4
2
-48
6
-49
-76
24
-16
16
-4
5
76
-54
-85
26
26
10
-26
-11
25
7
9
-1
-10
4
19
-10
-79
-3
-2
17
17
-32
-19
14
10
-9
-64
-26
28
-21
45
-58
-19
-30
83
13
16
-2
-7
0
4
-22
53
-49
63
18
3
-23
-29
-9
-64
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
-20
0
0
0
0
0
0
47
0
0
0
8
0
4
27
0
0
5
0
0
0
2
0
0
0
0
0
-3
6
0
0
32
0
0
0
22
0
-1
-3
-8
0
0
53
0
0
1
0
-4
0
2
0
0
0
0
0
0
88
0
0
0
0
0
0
1
3
0
0
0
0
0
-3
0
0
0
0
0
1
-2
0
0
0
0
0
0
-38
0
0
0
0
0
-6
8
0
0
0
-1
0
0
-4
0
0
0
0
0
0
-12
0
6
0
0
0
0
-5
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
53
0
0
0
0
0
5
-12
0
0
23
-3
0
0
10
0
0
-10
0
0
0
15
0
0
0
0
0
0
19
0
0
0
0
0
0
25
0
0
0
0
-1
0
-71
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
1
0
0
0
-4
0
0
3
0
0
4
24
0
1
0
0
0
0
-1
0
0
0
8
0
0
3
0
0
0
0
0
0
-48
0
0
0
0
0
0
-21
0
19
0
0
0
0
53
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-45
15
0
-12
0
0
-3
-3
0
0
1
3
5
-26
-17
0
7
0
-32
-32
27
-1
-1
-20
19
-26
-41
18
-1
-4
-14
35
-9
31
49
29
0
-29
-6
32
2
33
2
0
-17
36
4
0
-31
0
-4
9
1
2
2
9
0
5
0
-10
2
0
-45
8
0
0
-8
-1
0
9
-13
0
0
0
0
0
-36
0
11
7
0
2
0
-16
0
-1
34
0
0
5
10
0
41
13
2
0
6
76
0
-1
-1
24
0
3
13
3
11
0
0
0
0
72
0
0
-2
0
2
0
6
0
87
0
0
-9
0
-24
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-1
0
0
0
0
16
0
0
0
0
0
0
49
0
13
0
0
0
12
-36
0
0
-11
0
-2
4
2
0
0
-40
0
-6
2
9
0
0
-16
0
42
5
-57
0
0
33
0
4
-3
24
0
0
-1
0
4
0
-76
0
0
79
0
-30
0
16
4
0
0
0
-10
0
-24
0
0
0
0
0
0
-32
0
0
0
0
0
0
22
0
0
0
0
5
0
-3
0
0
-2
0
0
0
53
0
-8
49
0
0
0
43
0
0
-1
0
0
0
-26
0
0
-25
0
-17
0
-47
8
8
0
0
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-15
0
-14
0
0
-28
4
4
0
0
0
5
23
-3
6
-4
-9
0
-37
-46
0
0
-13
0
0
-14
0
8
-4
44
-30
0
27
-27
17
23
-26
-9
0
40
-57
0
8
-8
93
0
-5
20
0
-2
-38
0
0
3
-64
0
0
-73
-50
0
0
-37
-1
0
0
0
0
2
51
5
0
0
0
0
0
2
0
4
0
0
0
-2
-36
0
0
15
22
0
13
12
1
32
52
6
0
-1
8
0
-3
29
-4
0
10
-47
0
2
37
1
0
8
40
0
0
-19
7
0
0
-11
0
-21
17
0
0
0
53
3
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
-2
0
0
0
0
1
0
-78
0
0
7
0
0
-1
40
0
0
13
-2
0
0
47
-3
0
3
0
0
0
3
0
0
1
1
0
0
5
0
0
0
0
0
0
17
0
0
0
0
22
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-17
35
-69
85
-4
56
-10
4
0
24
9
-47
-45
49
-5
28
51
18
29
-8
11
8
-44
-10
1
17
-24
6
0
-25
-28
3
-21
9
-11
-1
11
-42
32
-2
23
41
1
16
-61
-11
-12
-19
2
2
-21
47
24
55
-5
-4
0
12
-36
-6
-54
82
-97
6
-17
-35
-40
55
36
-9
6
-102
14
-39
61
-11
2
-12
34
79
7
-2
29
-18
-12
-62
5
23
33
16
19
14
13
-46
-1
15
25
-24
2
3
-18
-10
-32
20
6
-6
-39
-35
-11
-15
38
-38
12
-9
-23
26
-40
-47
9
0
74
22
57
-101
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
44
0
7
-5
-10
0
-4
-1
1
-51
-1
-15
80
20
0
0
-39
7
20
44
-38
-3
29
-107
-86
-1
5
45
2
-6
55
5
-6
26
-6
0
-16
43
10
-25
-48
2
0
-4
-21
14
16
-6
24
2
8
-64
-21
0
-4
-9
0
0
0
0
0
0
22
-24
0
0
0
-10
-1
-74
0
-33
-47
0
-13
-2
1
0
20
-36
14
-2
2
11
1
68
16
10
-1
18
-50
0
-23
-57
-52
0
-5
1
-9
7
-39
-1
4
-6
19
-4
-2
1
41
9
0
-35
-8
1
-3
-7
31
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-41
3
-7
0
0
0
4
-13
-4
24
6
-21
-54
-23
-12
0
0
8
-3
54
45
16
2
7
19
4
74
17
-5
-2
0
12
34
44
29
11
0
-1
21
7
-13
-10
-48
7
0
2
0
42
2
-17
-2
0
-81
-5
-54
0
-17
0
0
0
3
-13
-4
-5
-1
0
0
0
0
4
-26
7
-10
-8
0
-1
-3
47
0
1
3
-1
7
27
-43
0
56
67
-8
1
-10
-26
0
39
-23
34
5
-22
53
0
-14
14
43
0
0
-16
0
2
9
-17
10
-2
-113
7
32
6
0
-6
0
16
-38
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
0
0
0
0
0
0
-20
0
0
0
0
0
0
-78
0
0
0
0
0
0
60
0
0
1
0
0
0
-20
0
0
8
0
5
-2
15
0
1
0
0
0
0
-16
0
0
0
0
-2
0
-8
0
0
0
0
0
0
-12
3
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
3
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
35
0
0
0
0
0
0
-7
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
-10
0
-19
8
-30
14
-3
48
0
26
31
-37
-2
1
25
0
-11
5
45
4
34
-16
0
-33
-5
-49
0
-17
-7
0
10
-5
-45
7
6
-40
0
-12
10
-19
0
2
13
0
30
1
128
0
0
-1
0
15
0
16
0
0
0
0
-54
0
55
15
0
0
0
0
5
-43
0
-31
0
0
-21
-1
-40
-3
0
0
0
10
0
-4
8
-67
87
0
-2
-2
12
8
0
-2
-4
1
-3
35
0
-2
50
0
5
4
-12
0
0
47
0
-12
6
5
0
-18
1
0
-42
0
-46
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
2
-33
0
0
1
0
0
0
-57
0
0
6
0
0
-6
-17
0
0
-40
1
0
13
-27
0
0
-15
0
0
0
13
0
0
-21
-2
0
0
-60
0
0
0
0
0
0
-26
0
0
0
1
0
0
1
16
0
0
0
0
0
24
-8
0
0
0
0
0
40
0
4
0
0
0
0
-16
0
0
0
0
0
0
-30
0
-3
0
2
0
0
-8
0
5
-1
0
0
0
12
0
-4
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-7
0
0
0
0
0
0
71
0
0
-7
5
0
-7
-78
0
0
10
0
0
0
-3
0
0
0
-1
0
0
13
0
0
1
0
-1
0
14
0
0
0
0
1
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
2
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
10
0
0
0
48
0
3
2
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
16
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
-72
35
13
-61
-5
7
2
24
21
19
-48
-3
30
12
30
-32
31
-31
-11
-24
4
-35
-40
24
-84
-8
17
4
54
-34
-2
-20
16
59
7
-41
26
14
-46
24
24
0
27
-55
-14
-24
14
-12
15
2
22
-21
-9
-54
-6
0
-1
-37
-68
-49
-2
-27
1
8
-41
-40
-7
-18
-20
3
-1
-44
2
-28
-60
-3
3
-23
26
4
-36
6
14
-11
34
41
-5
-21
-30
36
15
-7
22
-3
-32
40
-65
8
-57
-33
-12
-49
-13
-42
3
-68
-7
50
-83
-21
9
24
-42
53
-67
-75
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
14
0
25
13
1
-14
60
0
0
42
0
-5
-12
45
0
-4
20
9
0
7
-15
0
-19
1
0
1
17
-22
0
0
-74
-3
6
-1
-25
0
0
-22
0
1
0
-11
0
0
-1
-1
36
0
44
1
0
0
0
0
0
-16
1
0
0
5
1
0
11
0
40
-10
0
0
1
58
0
0
7
-1
0
-9
46
0
-26
-8
-1
0
3
17
0
13
-5
-14
0
0
-5
2
4
24
0
0
0
-22
0
0
0
6
0
0
-23
0
9
0
0
-9
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
90
0
0
-23
0
4
0
27
0
0
12
0
0
0
83
0
0
13
0
0
1
-12
0
0
8
-7
0
0
-35
0
0
0
0
0
0
-17
0
0
0
0
7
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
-1
0
-52
0
0
0
0
0
0
4
0
-7
0
0
0
0
5
0
0
-2
0
0
0
6
0
0
-5
0
0
0
40
0
0
-1
0
0
1
-2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
6
0
24
0
-12
0
3
0
0
-18
-3
12
6
0
27
0
0
-8
43
0
-2
35
0
3
0
-44
0
5
-7
5
-7
1
-30
0
0
8
0
13
0
29
0
2
0
1
26
0
47
0
0
0
0
0
0
-12
-5
0
0
0
0
0
-49
0
1
0
0
0
0
7
0
-3
-2
9
0
0
50
0
-8
0
0
0
0
10
0
0
2
-1
0
-1
-78
0
-3
13
5
0
0
19
4
0
0
15
0
0
12
0
-4
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
-8
0
25
2
-66
0
0
-12
0
-8
-8
20
0
8
-8
0
0
0
45
0
0
16
-1
5
0
31
0
0
6
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
-12
0
-79
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
-6
3
0
-3
0
-45
0
0
15
0
0
0
3
0
4
0
0
0
0
-22
0
0
-4
0
0
0
-78
0
-24
0
0
0
0
-10
0
0
-2
0
0
0
6
0
13
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
0
2
1
0
0
1
0
0
-1
0
0
0
-16
0
1
0
-3
0
0
-54
0
0
-22
5
0
-1
-78
0
0
0
0
0
0
41
0
3
-3
0
0
0
-24
0
0
-3
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
3
0
0
20
0
-3
0
0
0
0
-60
0
3
6
0
0
0
15
0
-5
1
0
0
0
-5
0
0
3
0
0
0
57
0
2
0
0
0
0
-52
0
0
-5
0
0
0
-35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
1
42
0
8
0
38
-3
0
35
4
0
-3
48
0
9
-9
0
0
3
-2
0
4
-36
20
10
3
9
0
14
-17
0
-13
0
56
0
0
0
23
26
0
32
-8
0
0
0
0
0
56
-18
0
0
0
0
0
-3
0
69
0
0
0
0
-6
0
-4
-75
-7
0
0
5
0
38
6
-16
0
0
-54
0
7
-9
23
0
0
88
0
-29
-3
0
0
0
-26
0
-18
-27
-7
0
0
54
0
-48
0
0
-7
0
-51
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-19
20
-61
-1
59
19
15
9
17
2
15
7
46
15
9
16
32
14
3
6
-18
-4
10
-48
10
20
-62
-34
12
5
-12
-14
-64
13
-5
9
-5
7
-25
14
-1
3
-7
-5
28
-8
24
-12
13
28
5
-10
-18
24
23
-9
0
-6
-17
-33
-3
9
-59
7
-10
-6
20
-38
-37
-69
19
6
-60
-63
43
24
-63
-19
-24
47
0
-3
46
45
1
-8
16
-35
-71
70
46
-22
-8
43
-15
-46
42
11
13
2
-33
52
-9
-43
-1
-11
65
-59
50
44
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-60
0
6
8
-5
0
-3
53
0
2
32
11
-2
-13
104
0
-2
-32
0
-3
12
30
0
3
16
2
1
0
25
0
-3
6
0
-2
0
70
0
0
0
-1
2
0
-33
0
0
0
0
0
0
-68
0
-13
0
0
0
0
5
-4
-71
-1
-3
0
-3
-37
0
8
0
2
0
0
0
0
-7
-8
-5
0
0
17
0
0
-6
0
1
-7
-58
0
12
-1
-3
0
0
0
0
0
-3
-1
0
0
-33
0
9
0
0
-1
0
111
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
1
0
-46
0
1
9
-34
0
0
29
0
0
7
3
7
1
-7
-1
2
1
-7
-2
0
-17
-6
-8
0
-126
0
0
24
0
-8
0
16
0
0
3
0
-29
0
0
0
0
0
8
3
0
-21
-10
0
0
0
0
0
-12
0
-14
0
0
0
8
-1
0
1
-1
-1
0
4
-31
0
-14
-12
0
0
0
-1
0
1
5
25
0
0
-17
0
20
-7
5
23
0
-53
0
1
1
6
-16
0
-12
0
-8
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
1
25
-7
-4
27
34
47
1
54
20
-43
5
-48
-51
-6
-23
-2
-2
17
-16
-3
1
11
-18
-15
-10
65
0
0
4
-43
6
4
3
-14
1
6
-21
48
1
-1
24
-5
0
0
0
7
0
7
-47
0
0
0
0
0
11
0
0
9
12
-2
17
-29
4
2
67
22
0
0
22
-3
-41
53
-10
0
13
-52
0
-9
-60
15
4
-10
10
0
-18
-50
0
2
12
-13
0
-6
2
-7
8
0
-23
-7
40
3
0
50
0
-5
-13
5
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-15
0
0
39
0
7
24
-25
0
2
-45
0
13
22
-63
-3
25
-42
-1
2
-4
20
0
32
-40
13
0
-1
28
0
0
10
0
-34
0
-62
0
-2
-3
0
-10
0
-27
-1
0
0
0
0
0
-17
0
3
2
0
0
5
-2
0
-51
0
0
0
3
-66
-1
3
-5
0
0
-1
-41
0
2
17
0
0
0
40
-3
-16
3
-1
0
0
56
0
11
-61
-1
0
0
42
0
0
-29
-1
1
0
-45
0
0
8
0
-20
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-45
0
6
32
0
0
-29
-52
7
36
-43
1
0
-2
3
6
-5
69
-7
0
-26
-49
0
-7
-50
-61
0
9
-30
0
5
-27
20
0
-10
-29
0
4
2
33
0
0
6
0
0
0
0
0
-1
31
13
3
-4
0
0
12
-5
0
-2
-85
0
0
-13
21
0
-5
31
-2
0
-9
76
0
-57
73
-7
0
8
-32
1
0
8
-61
0
0
-45
0
-29
12
15
0
2
43
0
0
-47
66
0
0
-27
0
-92
-5
5
0
0
45
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
3
-1
24
-109
-10
-2
-74
7
4
4
31
-42
62
14
50
0
10
-12
-44
1
24
9
0
0
113
-2
8
-2
20
-2
0
25
-72
45
0
32
-3
-4
0
-3
8
0
-29
-65
0
-2
0
0
-4
19
0
-54
24
0
-4
-1
10
0
-2
9
-33
-2
-1
9
0
-41
-59
11
0
0
-45
0
-19
-42
4
-1
0
-2
1
59
-11
-1
13
0
-51
0
-1
3
12
0
0
52
4
-6
20
0
7
0
11
-8
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
33
32
13
14
-20
-8
6
24
-6
1
-20
-57
8
1
70
52
10
-12
-78
24
7
20
-6
24
7
-33
7
1
7
-43
8
12
6
-27
8
-54
111
-73
38
-30
3
23
22
105
51
-21
8
54
19
43
5
42
-26
15
-68
0
-8
12
24
38
10
-35
0
-62
28
7
28
34
-5
1
10
-2
-4
5
-7
35
7
16
3
24
34
-17
23
-1
-25
81
21
-15
-48
48
-1
-88
-10
-17
-22
-43
3
30
45
48
59
-68
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
21
0
0
4
-24
0
0
3
0
0
0
43
0
0
-5
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
3
0
0
0
0
0
40
0
-5
0
0
0
0
13
0
0
5
0
0
0
9
0
0
0
0
0
0
50
0
0
2
0
0
0
49
0
6
0
0
0
0
-23
0
0
0
0
0
0
35
0
-3
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-9
2
22
-13
0
0
24
0
0
17
0
8
-2
21
-1
0
18
-2
0
2
-99
0
0
22
0
-2
0
58
0
0
0
-1
5
0
52
0
0
0
0
0
0
44
2
0
0
0
0
0
-18
0
30
0
0
0
0
45
0
0
6
0
0
0
-36
0
50
14
7
0
0
-44
0
0
-4
-1
0
7
-96
1
3
1
0
0
0
34
0
0
0
1
0
0
30
0
-9
0
0
-2
0
-44
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-9
-10
1
57
13
-43
13
-2
85
-1
7
-4
-5
11
18
27
32
32
-74
-22
-7
3
6
-49
14
-51
-7
4
0
-15
24
3
4
16
21
-1
3
-10
-2
-7
7
29
-138
25
17
5
-3
2
11
-19
-35
4
-5
9
8
44
0
46
-6
-36
-3
-24
-19
-1
29
-42
0
5
11
22
1
78
-39
26
-17
-6
6
0
74
-44
-24
-57
-29
21
-1
-10
9
-1
14
6
36
0
-15
-4
2
-3
0
0
48
19
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
53
0
0
-32
0
0
-4
34
0
0
40
0
0
0
-40
0
8
19
0
4
0
0
0
0
-8
0
0
0
37
0
0
13
5
14
0
7
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
-1
4
0
-8
0
2
0
0
17
0
0
0
-24
0
-3
-2
0
0
0
-44
0
-3
14
16
0
0
-101
0
6
-4
0
0
0
28
0
0
-5
0
0
0
-47
0
3
0
0
0
0
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
-2
-12
-6
0
1
-15
-6
-5
39
13
0
0
-83
3
-4
-53
-52
0
1
5
0
0
13
0
0
0
40
0
4
-1
-41
0
0
33
-7
0
0
0
0
0
39
-3
-3
-3
0
0
0
1
0
12
-20
0
0
-2
20
0
0
-39
13
0
2
-24
0
-93
46
0
0
0
-19
-8
4
-10
-5
0
3
30
0
-33
-1
0
0
0
21
0
0
10
-14
0
0
-16
0
10
10
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
47
0
12
13
-6
-1
33
19
12
0
-6
13
-21
8
69
0
8
-4
9
-44
-8
-17
0
0
43
7
86
0
39
20
2
1
0
-2
0
-20
-3
0
0
2
0
8
-51
0
-15
19
24
-2
6
33
0
28
-31
-4
-1
-3
-44
8
44
-29
14
0
0
29
0
73
-67
-2
-3
3
59
0
-25
-40
1
0
2
10
0
18
54
6
7
0
13
-7
64
-5
0
7
0
6
-8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-5
-38
-22
-28
-6
24
6
-19
-24
-5
-24
-98
1
23
-23
-50
40
16
5
13
-12
10
57
-22
6
-6
13
9
-32
-69
112
17
-41
0
14
-5
-36
111
-8
3
12
3
-106
-67
-40
39
-23
54
14
14
28
-3
-76
19
48
0
-39
16
-26
48
33
11
-8
-50
-33
-57
-11
-154
17
17
-15
-14
26
20
-17
-25
5
52
-71
31
-11
-38
-83
-2
-36
-1
-61
18
11
-13
28
17
-24
-56
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
84
0
0
-7
0
0
-3
9
0
15
-1
-1
0
0
-44
0
0
0
0
0
0
-25
0
0
1
2
10
0
30
0
0
0
1
0
0
-14
0
-1
0
0
0
0
39
0
-1
8
0
0
0
23
0
-8
-1
0
8
0
44
0
4
-1
0
0
0
9
0
4
-2
-1
0
0
-55
0
44
10
0
0
0
23
0
0
-7
0
0
0
36
0
1
6
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
52
2
0
25
0
12
-6
-2
1
0
40
95
-2
1
5
0
0
-20
0
8
-7
73
-2
0
8
21
-7
0
-12
-3
0
0
0
-1
-2
37
-8
0
0
0
0
3
-41
0
34
-2
0
-5
2
56
1
2
-10
-4
0
0
-28
0
36
-7
0
0
-1
26
0
-2
13
3
0
-3
12
0
10
21
1
0
-1
33
7
0
22
0
-3
-1
-11
0
40
0
0
-3
0
12
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-16
-51
14
-6
-4
28
-10
-3
-22
-103
-29
4
-29
66
41
3
34
-12
4
-17
42
-42
-17
-21
-5
15
0
0
9
77
-1
5
-42
-34
-1
-12
17
-13
9
6
2
-17
7
-1
-25
-27
-3
23
8
9
20
-26
-72
32
-15
-3
20
28
44
-3
-24
0
26
21
-20
-22
-45
22
50
63
17
8
-2
34
45
5
12
4
5
-47
-21
-57
9
22
3
5
24
-27
-21
-52
0
8
26
-16
50
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-29
-5
-23
-4
-16
-57
50
-6
-4
-9
43
-15
45
-41
-2
0
-5
24
0
3
11
-38
0
-6
-49
-6
-66
0
2
-2
0
0
9
-31
0
-32
-18
0
0
0
0
1
30
0
17
4
0
113
-8
48
0
-5
3
0
-5
-24
-3
-1
-93
11
0
0
4
-35
0
-9
39
21
1
2
17
5
-22
73
0
3
17
-30
3
-12
-63
-8
3
2
-61
0
44
1
0
-42
0
44
50
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
1
0
85
0
0
-1
-22
0
2
49
44
0
0
13
0
6
-1
0
0
0
-6
0
-4
2
-3
0
0
20
0
0
0
0
0
0
0
-1
0
0
0
0
0
-33
0
-4
14
0
0
0
14
0
1
24
-1
0
5
45
0
29
-48
0
0
0
2
0
0
50
-19
0
0
39
0
-33
-8
0
0
5
8
0
0
-4
0
0
0
6
0
-13
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
0
-26
-24
17
3
-2
8
2
-5
-33
7
-20
-3
33
-3
-15
-3
-39
-26
0
13
5
0
0
2
-2
1
-25
68
0
0
0
0
3
75
0
-34
-28
0
9
5
47
0
38
15
3
-2
0
40
2
72
69
0
0
0
26
0
19
66
14
5
-3
19
33
-40
-22
27
0
-3
37
0
1
-20
23
1
0
14
3
-31
25
0
4
0
-7
-41
23
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
-15
2
-14
6
-3
15
22
-11
16
16
0
17
8
15
-25
32
9
-10
-19
10
-7
-92
35
-29
56
-27
8
10
-51
59
79
38
-1
-11
11
-10
-30
-8
12
-4
62
4
-7
8
6
11
-55
-43
19
-22
10
-9
-40
-78
10
0
-19
3
3
17
0
-3
7
-46
-28
24
-30
-86
-3
14
-67
26
-9
-20
47
38
6
-68
-3
12
2
-15
-22
-8
-22
-68
-74
-40
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
5
18
-1
-3
-2
37
0
0
-3
0
0
0
90
0
0
-7
0
-7
8
-66
0
0
0
0
0
3
6
0
-2
0
0
0
0
52
0
-3
5
0
0
0
-27
0
2
-1
0
20
-1
-27
0
-41
-1
0
0
0
1
-14
-5
-1
-5
0
0
-16
0
18
0
0
2
-4
31
0
0
0
0
0
0
-43
0
-34
0
0
0
2
-43
-9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-6
0
-2
-16
-5
-5
-14
-27
0
3
18
0
-9
0
0
0
0
10
8
-12
0
-5
0
0
0
-9
0
0
27
-8
0
0
-3
0
0
-31
0
25
-25
0
-8
0
20
4
0
8
0
-6
0
-7
0
94
4
-1
0
0
-34
0
0
-11
47
0
-4
-19
0
20
-42
0
-1
0
17
0
0
-25
4
0
0
27
0
13
-1
0
-12
0
1
-1
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-11
21
28
45
22
69
88
2
8
44
15
15
6
4
12
41
96
38
36
31
0
28
-5
-6
-1
8
-24
-6
19
22
6
7
-46
1
-15
-1
13
55
-48
31
-60
18
-15
5
-30
22
-4
1
24
-6
-12
-21
-12
6
15
60
6
-12
26
-15
-75
-2
93
6
27
46
-28
-3
24
18
-1
28
39
27
64
57
-6
-33
-14
-18
-10
-101
27
0
0
-13
30
-1
17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
22
0
4
4
-14
-13
-6
-29
0
4
-32
0
-3
0
11
0
0
-29
3
-14
0
-13
0
0
0
0
13
3
-67
0
0
0
0
0
0
-29
0
114
0
0
-13
0
31
0
-8
9
0
-1
0
-15
0
54
50
0
0
0
59
0
0
21
4
0
1
-39
0
39
30
3
-6
-2
-42
0
7
6
1
26
0
23
-2
-70
-36
0
44
0
-25
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
0
23
40
34
0
2
-40
0
-3
-13
0
0
-5
-5
-10
0
1
-14
0
0
-22
29
0
0
0
0
0
33
10
-3
0
0
0
-3
-45
0
4
-6
4
0
0
-41
0
-9
-7
-15
0
-1
-9
-3
37
13
0
0
8
-21
0
-6
-49
9
0
-4
8
0
-12
-1
2
0
0
10
0
0
-48
42
0
-1
-9
0
-45
0
-8
0
0
-2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
2
-13
34
2
-1
0
15
-3
-5
52
-1
-73
0
19
3
0
0
0
0
0
16
-8
-4
0
-2
0
-8
-38
0
19
2
0
-6
0
-30
0
11
-31
-3
-5
0
-33
-5
-31
-72
0
0
0
-42
5
-19
-77
15
0
-5
20
0
-56
-8
-4
0
0
-38
0
-6
-7
33
-1
0
14
0
-65
-5
0
2
2
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
1
12
15
28
13
50
10
28
-3
-5
9
-12
18
5
-15
23
56
-48
36
36
18
-12
106
-13
-53
60
3
7
-51
-23
-7
39
30
-55
-24
-98
-28
22
-10
-37
-75
26
-38
-35
22
-8
-76
-22
29
-45
8
-24
-74
19
-48
0
0
-30
58
-8
-9
-1
9
-24
20
-20
25
24
-19
-3
40
-6
-39
-14
24
8
23
-50
-8
-22
-19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
67
0
0
3
0
0
0
27
0
0
-4
7
0
0
-72
0
0
0
0
0
0
4
0
0
0
0
0
0
41
0
41
0
0
0
3
-1
0
0
2
0
0
0
56
0
-2
0
2
0
0
-28
0
4
0
0
0
0
20
0
68
-3
0
0
0
47
0
-8
-6
0
0
0
-30
0
6
-5
0
-1
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
1
0
0
0
31
0
0
12
1
-63
0
-4
0
0
0
0
15
0
-21
6
3
0
0
0
3
35
0
-10
-12
0
0
-2
-12
0
1
29
12
4
16
25
0
2
-13
0
0
-7
-82
0
7
4
-27
0
2
-88
0
2
13
-1
9
-1
-6
-2
0
0
-9
0
5
50
8
64
0
0
-4
0
62
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
20
3
-15
61
17
-3
-57
11
8
25
5
24
28
2
7
51
-4
2
-68
10
-3
-6
-14
62
5
-6
0
-66
1
-1
1
8
0
11
-1
23
-1
35
-35
2
7
-3
-5
-18
6
35
-23
30
-14
-11
8
-26
39
19
16
8
14
0
-17
-32
61
0
0
32
1
33
-110
40
19
7
29
1
59
0
2
-37
0
-20
-33
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-37
0
6
1
0
6
-19
-32
1
1
-34
-1
-59
0
10
-2
-2
-4
0
0
0
4
-34
0
0
0
0
-8
-50
0
12
-9
0
10
-5
23
-1
20
-68
0
7
-46
-36
-3
74
66
8
0
-15
-7
0
-8
-37
-1
0
-18
27
0
38
19
-1
1
-8
-35
6
-5
32
0
15
-2
13
0
-2
8
0
-34
0
25
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-32
0
-10
-4
0
0
0
22
0
-5
7
-25
0
0
-3
3
0
0
0
0
0
45
0
0
0
0
0
0
44
0
18
-4
0
0
-9
69
0
-8
24
1
0
0
22
1
-25
6
0
0
0
-37
0
-5
48
23
0
-6
10
0
-71
-9
-3
0
3
6
0
0
-1
0
0
0
37
0
-21
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
14
-18
32
65
0
-27
13
0
0
0
0
0
-1
-2
0
0
0
0
0
-4
0
-23
-6
0
12
0
9
0
0
-25
-8
0
2
27
0
16
-56
0
0
0
-11
0
-33
-16
-13
0
0
-4
-1
14
59
3
6
0
4
0
-1
-77
-16
0
0
-11
0
18
18
0
0
0
-56
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-10
102
-31
61
0
19
-8
3
5
64
30
32
14
-11
3
-12
40
5
-2
-7
3
5
-28
-23
-15
0
39
21
1
-12
71
28
-1
6
6
18
-27
20
14
-6
-58
-24
12
-88
16
26
4
30
-9
-5
60
-21
10
-51
-18
-1
0
16
54
67
45
27
-46
-12
-46
28
24
-66
-14
-1
11
32
5
1
69
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
8
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
25
0
0
3
0
0
0
-14
0
1
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
-4
-6
0
-62
2
0
0
0
0
0
-23
0
0
0
4
0
0
26
0
1
2
0
0
1
1
0
0
0
-6
0
0
-51
0
-12
-5
4
0
0
-34
0
5
0
-6
0
0
34
0
8
-6
0
0
0
-87
0
0
-1
0
0
0
-36
-3
-14
0
-4
0
0
39
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-7
-8
1
-6
-40
0
-3
15
0
0
0
-7
0
25
-4
0
0
0
0
1
-11
0
12
24
0
-23
20
-36
2
40
-16
-20
2
18
34
0
-41
-20
21
0
-2
5
1
9
-78
25
5
-16
3
0
69
24
17
0
0
26
-1
24
-5
-38
2
0
-20
0
55
0
-3
1
0
-12
48
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
65
0
18
0
21
0
0
0
0
-2
0
42
0
2
0
0
0
0
86
0
20
4
0
0
0
-49
0
0
5
0
0
1
-31
0
1
0
0
0
0
-28
0
8
-11
0
0
0
-76
0
-3
23
0
0
0
-1
0
0
6
0
0
0
-63
0
4
4
0
-5
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
0
2
40
-10
0
0
6
-13
0
0
3
0
0
18
12
2
2
10
0
4
7
-1
5
12
0
0
2
-33
0
1
-31
11
0
17
-10
0
13
55
15
0
-2
-9
0
5
17
-36
0
-16
-20
0
-48
-14
36
0
14
-4
0
-13
-27
2
0
4
-3
0
-27
8
0
0
0
-17
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
16
0
0
0
0
0
0
3
0
-3
0
0
0
0
13
0
0
7
4
0
0
25
0
-16
6
0
0
2
-8
0
0
-5
1
0
0
0
0
-36
-7
0
0
0
-28
0
0
-4
0
0
0
1
0
-33
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
-54
2
42
-44
19
-3
-3
-32
-88
-9
58
0
1
25
-40
21
-25
-19
-80
-84
-16
10
-2
-63
-97
-6
6
8
-20
-20
32
-33
2
11
8
-16
-30
-32
-32
-26
35
-15
5
-34
44
-97
24
-10
4
-2
42
7
-6
-52
-22
0
68
-8
-114
74
-16
0
63
17
-24
38
20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
2
0
0
2
0
0
0
10
0
-4
0
0
0
0
11
0
0
0
0
0
0
-13
0
5
0
0
0
0
24
0
0
15
0
0
0
-6
0
0
7
0
0
0
4
0
3
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
38
0
0
0
0
0
0
-11
0
-5
8
0
0
-1
-11
0
0
1
0
0
0
-24
0
-5
42
0
0
0
-14
0
-2
0
0
0
0
-20
0
42
-1
0
12
-5
10
0
-1
-7
0
-2
0
-17
0
3
0
0
0
0
-41
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
-4
0
0
-33
0
0
13
4
0
1
-14
0
-41
6
0
7
-3
-3
0
-2
-1
5
0
-10
25
0
-30
-78
-4
0
-1
4
0
36
-27
-6
0
0
-64
0
-52
8
9
-1
0
-34
0
9
0
-7
-1
0
-23
0
-3
0
0
0
0
-27
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
-2
-27
0
0
0
1
0
61
0
62
-1
0
33
-1
-11
0
0
8
0
-2
-5
10
0
-12
-5
0
0
0
18
0
-10
-36
0
0
-1
20
0
31
-1
0
1
0
55
0
-10
44
0
-1
0
-107
0
25
-5
0
-22
0
-20
-22
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
-9
0
0
0
-13
0
-13
-20
0
2
20
0
-17
-5
-7
0
-15
-7
-3
-32
1
-92
0
-9
27
0
16
39
-20
0
12
13
8
68
17
-14
0
75
4
0
2
51
-19
0
-8
36
35
-7
-17
2
0
3
-30
0
-70
13
12
0
0
18
-46
0
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
-4
2
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
17
-8
-95
-5
1
17
4
-12
16
-9
-23
-76
8
12
5
13
1
11
-13
13
7
8
-108
7
21
-81
-25
16
13
-83
-4
12
57
21
-39
11
-19
-16
-8
-15
3
-28
-5
-6
15
12
-48
-14
37
-12
-10
-36
5
4
-52
-3
0
19
-30
-31
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
0
2
0
0
0
0
45
0
29
0
0
-4
0
22
0
0
0
0
1
4
63
0
28
4
1
0
-5
61
0
-1
8
-3
0
0
37
-1
24
-5
2
0
1
-34
0
0
9
0
0
0
-8
0
-6
3
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
1
0
0
0
1
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
18
0
4
0
0
0
0
7
0
-1
0
0
0
0
-7
0
2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
-18
0
0
0
0
0
0
5
0
1
0
1
0
7
20
0
0
0
-1
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
51
0
13
0
0
0
0
-3
0
0
-3
0
0
0
22
0
-10
2
0
0
0
-3
0
0
3
0
3
0
-55
0
14
5
0
0
0
4
0
0
5
0
0
0
-48
0
-4
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
-43
0
9
-15
0
0
0
-10
0
-4
4
-1
0
0
-32
0
0
-8
16
0
0
12
0
13
2
8
0
0
-13
0
0
-2
5
0
0
-5
0
-51
3
0
0
0
-23
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
9
0
0
0
0
0
0
3
0
-2
0
0
0
0
-5
0
0
0
-3
0
0
-8
0
7
0
0
0
0
-8
0
1
-2
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
6
-10
27
5
-4
62
48
-19
0
-39
30
-52
-1
57
-20
-2
31
-71
-31
7
-47
-25
0
-32
-39
10
24
-35
6
5
11
24
-20
79
13
5
36
-45
-13
12
19
-7
-1
29
-1
-45
4
-34
0
15
50
-41
1
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
48
7
0
-1
8
-19
0
0
36
0
0
0
12
0
-61
-45
0
0
0
2
0
0
-61
-1
0
0
-1
1
11
-27
0
-8
0
-30
0
0
0
0
-1
0
16
0
-53
0
0
12
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
0
15
-2
0
0
0
-8
0
6
0
0
0
0
68
0
-1
-1
16
0
0
21
0
4
0
0
0
0
10
0
-4
0
-3
0
0
27
0
0
2
3
-1
0
-26
0
16
0
0
0
0
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
4
-4
0
1
0
-35
0
0
0
-3
0
0
8
0
4
0
0
0
0
24
0
0
-1
0
0
0
26
0
0
0
0
0
0
72
0
2
0
-4
0
0
69
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
5
0
0
0
0
-57
0
0
5
0
0
0
-4
0
5
0
0
0
0
-1
0
0
-4
2
0
0
-32
0
-1
2
0
0
0
-55
0
0
0
0
0
0
3
0
10
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
-4
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
8
-2
0
0
43
0
-34
42
0
0
0
17
0
0
1
0
0
0
13
0
-12
0
0
0
0
-13
0
0
0
0
0
0
43
0
-5
0
0
0
0
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
18
32
5
-19
-2
-39
5
23
-15
23
-32
34
1
-4
7
25
-26
18
-78
57
-26
0
6
11
33
-59
18
50
-12
2
5
-34
35
-44
64
2
2
-89
9
-27
44
9
8
18
-24
23
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-43
0
10
0
0
0
0
18
0
-1
0
0
0
0
-1
0
0
-1
0
0
0
18
0
1
0
0
0
0
-30
0
0
0
0
0
0
-5
0
6
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-13
16
45
68
-17
-12
12
5
-12
-2
5
5
51
-52
0
-1
-54
7
1
-5
-1
4
-23
80
-29
15
-2
-18
-3
16
30
41
16
-3
26
0
76
-29
0
28
0
16
-35
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
85
0
0
44
0
0
7
0
0
-93
14
0
0
-2
-8
4
7
12
-1
19
0
9
0
-15
9
4
0
-2
43
0
0
4
-9
0
-1
15
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
6
0
0
0
24
0
1
0
0
0
0
-13
0
0
1
0
0
0
-59
0
3
-6
0
0
0
39
0
0
3
0
0
0
-28
0
-4
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
-5
0
76
10
0
0
0
-32
0
0
-13
4
0
0
-2
0
33
-13
0
0
0
20
0
0
-4
10
0
0
-19
0
-1
-2
0
0
0
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
-12
-1
0
0
0
-31
0
-7
9
-6
0
0
36
0
-8
-1
0
0
0
-56
0
0
10
-13
-7
0
-26
0
-9
0
0
3
0
51
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
11
-16
35
17
-43
11
-20
-31
3
76
-29
55
35
-19
-22
-14
11
-1
-47
34
-22
-26
13
-19
49
-33
-50
-6
-29
3
23
-30
8
-48
0
-2
-35
-93
-36
16
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
-10
2
0
0
-32
0
0
0
-8
0
0
24
0
-1
0
0
0
0
14
0
0
0
0
0
0
19
0
8
0
0
0
0
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
58
0
36
14
-3
0
0
-7
3
4
9
5
0
-3
-36
1
-13
8
2
0
-1
-78
-2
0
-3
0
4
0
8
0
-34
0
-5
8
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
2
15
21
-3
7
13
3
-45
25
-49
-3
0
22
0
-2
-14
0
12
-9
-53
0
0
-34
0
6
-8
20
0
-51
6
0
25
3
-7
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
76
-47
0
0
-14
-20
0
0
82
5
0
0
-65
0
-12
44
0
1
9
36
0
-2
1
0
0
0
29
0
-1
0
0
-4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
6
0
0
0
0
1
0
10
-2
10
0
0
-3
0
28
0
0
0
0
5
0
0
0
0
0
0
31
0
42
0
0
0
0
-22
1
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-33
-5
25
0
3
-71
-2
-14
-2
0
0
0
56
0
0
-4
-2
0
0
42
0
38
-1
0
-2
0
-91
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
27
6
-31
-69
-40
10
-29
19
14
-15
4
-74
-85
-54
-15
1
31
52
-40
-26
-58
17
-10
-9
16
17
-6
1
-20
12
-20
-9
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
1
0
1
0
0
-40
0
2
-1
0
0
0
0
0
0
1
0
0
0
-18
0
-5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-41
6
-41
2
-126
39
-14
-7
0
139
65
1
22
15
15
0
16
-35
-29
-4
0
28
0
-54
22
2
73
0
9
-5
0
18
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
24
-110
65
2
-6
-31
2
2
-12
9
1
0
-23
0
-23
5
-45
3
0
17
0
38
-1
0
5
0
9
27
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
-1
38
-3
0
6
-24
0
1
0
0
0
0
-20
0
-12
-4
0
0
0
-46
0
3
0
0
0
0
-55
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
33
0
0
0
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
55
-1
4
0
0
3
0
0
1
0
-1
0
42
0
24
5
0
0
0
-15
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
11
-6
-7
35
96
41
-21
3
-3
-22
39
-46
-29
-13
15
3
-34
57
-6
-19
0
51
-33
56
-10
44
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
5
0
0
0
0
7
0
0
7
-10
0
0
9
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-48
1
-64
22
0
-2
23
20
1
23
-25
2
-2
0
-91
0
11
2
0
0
0
6
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-5
-9
3
22
-42
-16
-17
-5
-38
-22
8
-32
0
-19
0
3
7
3
19
0
-47
-14
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
29
0
9
-12
0
13
8
-36
0
-2
25
0
7
-1
-36
0
-63
0
2
23
0
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
23
1
0
0
0
-26
0
0
0
-1
0
0
59
0
-3
3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-4
9
-8
8
0
5
0
11
0
0
2
0
-62
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-30
5
10
-23
145
-14
10
-42
14
-9
-11
11
-7
5
-48
-37
-4
-95
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
1
0
0
32
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-4
-1
3
-10
44
-49
-8
43
0
42
-15
-3
-20
4
16
73
0
-3
32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-22
-4
-14
-5
0
13
0
-28
0
-1
4
0
-43
-4
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-13
0
0
0
-53
7
-29
3
0
-2
0
41
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
-14
0
-27
0
0
0
0
14
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-27
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-30
56
63
103
-10
-1
10
-45
-25
-22
52
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
2
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
3
0
0
0
0
127
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
3
-2
0
-87
0
89
-2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
31
7
0
-9
-7
-57
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-9
17
-1
0
0
-17
9
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
32
71
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-42
0
1
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-1
1
0
4
0
0
0
5
-21
0
0
-2
0
0
0
1
0
0
1
2
0
0
-4
0
0
-3
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-53
43
7
-29
3
-24
-75
-102
-21
-28
-7
20
-3
-44
-49
35
-8
-79
-20
-24
-22
16
-49
-40
-25
-17
7
-8
-42
13
4
-48
-25
-22
37
17
52
-14
10
-7
28
-24
42
11
-14
-60
-4
-6
1
-25
-7
-2
14
19
8
-8
-12
-8
13
-28
-21
-57
1
-1
-50
-37
-19
1
23
-5
-72
-60
8
-17
-39
40
-14
7
-32
4
-26
-59
-11
0
0
0
0
0
0
0
11
-29
-35
41
2
-10
-76
0
-15
-31
-30
-6
21
-77
-30
4
-9
-46
-44
49
0
-10
-33
6
-22
32
12
38
-11
2
0
-46
-18
-9
-63
4
-18
10
-55
-47
-56
-45
-29
-8
-37
14
-4
1
-1
-4
0
75
-36
-4
-35
-33
38
-7
-30
-98
-7
-10
-39
26
12
-21
26
6
16
1
18
2
-9
-2
15
35
-35
11
-22
-30
21
-38
46
-17
-4
10
-1
-36
-20
-71
-39
-13
6
24
-93
-41
25
-70
78
-5
-55
-7
-6
-23
-19
44
7
-110
-23
-3
-40
-20
48
4
-16
48
12
-6
-32
-1
-9
-8
98
-12
18
-13
31
3
33
-52
11
49
-30
-10
14
-31
31
14
-11
-59
16
23
-25
24
-25
-30
0
-112
-7
2
17
27
6
-42
-14
25
33
-102
-60
-17
-77
9
31
-17
1
25
-6
-4
21
3
50
22
35
-2
-43
8
-3
-37
-11
13
23
9
-56
21
-30
-1
46
-37
-58
-26
6
-19
-52
-21
70
-24
-52
-10
-40
5
-9
10
8
-35
6
-122
17
39
22
-42
14
8
-6
1
24
-37
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-32
0
0
0
0
0
0
3
0
0
0
0
0
6
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
-37
0
0
0
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
7
0
0
0
0
13
0
0
0
0
0
0
3
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
19
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
21
0
0
0
0
0
0
-30
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
27
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
33
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
-10
0
0
0
37
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
0
0
3
0
0
-11
-6
-4
0
-16
-10
0
0
9
0
0
-1
-48
0
0
6
0
0
0
6
0
0
-68
0
0
-1
-3
0
36
0
0
0
0
-8
-2
0
23
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
-29
0
0
0
0
0
0
75
0
0
-17
0
0
2
19
0
0
8
-4
0
0
2
0
0
15
0
0
0
9
0
0
-7
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
-18
0
0
0
0
0
0
7
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
17
0
0
0
42
0
-2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
8
0
0
-1
0
0
0
-10
0
0
3
0
0
0
2
0
0
0
48
0
0
0
0
0
14
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
49
0
0
-42
0
0
0
2
0
0
0
7
0
0
-75
0
0
0
0
0
0
0
0
0
15
0
0
3
-53
2
1
-4
0
0
0
-5
0
0
0
6
0
0
5
0
16
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
-27
18
0
0
1
67
0
0
-3
0
0
0
-2
0
0
-2
-1
0
-7
-9
0
0
-5
0
0
8
19
0
-40
-14
0
0
0
-18
0
0
0
0
0
0
-103
0
0
0
0
0
0
-2
15
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
-40
0
0
4
-5
0
0
57
0
0
0
0
7
0
-16
0
0
-6
0
0
8
-14
0
3
-1
0
8
0
9
0
0
0
-1
-7
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
-2
0
0
0
0
9
0
0
0
0
0
0
-7
0
-10
0
0
0
0
-5
0
0
0
0
0
0
2
0
-16
0
0
0
0
-13
0
0
-3
0
0
0
-33
0
2
0
0
0
0
7
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
38
0
0
-7
0
0
0
1
0
0
27
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
21
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-15
-4
0
-75
0
0
0
9
0
0
30
-1
0
0
59
1
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
-92
0
0
0
-8
0
0
0
-7
0
0
-1
0
2
0
0
0
0
0
0
0
0
-2
2
0
0
-1
0
1
0
0
0
-1
0
0
-7
0
0
6
-5
0
0
-36
51
0
0
-1
0
0
0
63
0
0
0
-1
0
-1
22
0
0
-11
0
0
0
-56
0
-44
33
0
0
0
-50
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
0
-48
0
0
0
0
-1
-5
18
0
0
-7
0
10
0
-20
0
0
33
0
0
0
51
0
0
15
0
-5
0
19
0
0
2
0
-9
0
6
0
0
0
0
13
0
-81
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-4
0
0
0
0
10
0
0
0
0
0
0
-52
0
21
0
0
0
3
2
0
0
4
0
0
0
-11
0
0
0
0
2
0
-24
0
0
-1
0
0
0
-21
0
1
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
8
0
0
0
7
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
27
0
0
0
0
0
1
4
0
0
0
0
0
0
-15
0
0
-2
0
0
0
13
0
7
0
0
0
0
14
0
0
0
0
0
0
25
0
9
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
-9
0
-5
0
0
0
0
23
0
3
0
0
10
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
2
0
4
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-38
-5
-69
-13
10
-16
-40
-11
-32
-50
-18
44
89
-2
1
53
-23
-26
-17
-37
-23
-9
-8
-79
75
-40
58
-47
-7
17
-13
10
-62
3
11
29
5
8
-88
-13
-33
4
3
5
0
-3
4
-3
-38
38
-6
-5
-35
-52
-44
-54
49
-8
-1
-1
12
27
-15
-107
6
23
-49
-30
-34
-50
7
-5
30
0
-9
23
0
0
0
0
0
0
0
-32
16
-12
33
-1
-42
-74
5
-6
17
63
1
6
7
-35
23
35
8
34
-10
-23
-13
42
-9
5
-2
16
-46
-13
24
-62
-1
-68
60
0
-61
-14
-1
-1
-8
5
27
-3
3
-5
-93
9
16
4
-46
-15
-29
-108
-15
10
-10
-50
8
27
-32
11
-36
-39
-9
-24
-23
97
-16
-15
42
-23
2
7
18
-29
-5
39
-12
9
-32
33
-8
-64
-19
0
-1
-29
-66
-15
-47
21
0
13
-92
-13
-55
-76
-35
-25
-34
-42
-65
20
-28
4
-29
-9
24
-57
-6
-47
-67
15
-2
-14
41
-20
39
-20
14
-25
-64
-31
17
-10
-27
4
3
0
-38
8
-66
-36
3
-11
-34
2
-8
-43
6
37
-16
-14
20
9
3
8
-5
-1
-46
-26
91
-72
14
-5
11
-63
-14
4
-40
24
73
-48
29
36
-27
93
-32
3
-6
1
-39
-55
0
1
-31
6
-24
-10
24
-14
-44
57
-25
-21
6
26
6
-62
5
1
3
-40
0
52
-20
2
11
0
-56
-11
53
2
37
-15
-40
-23
3
-44
-27
5
9
-19
34
-43
50
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
13
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
26
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-30
0
0
0
6
-14
0
0
0
0
0
-1
-47
0
0
0
0
0
0
-50
0
0
1
0
0
0
-3
0
3
0
0
0
0
-4
0
0
0
0
0
0
32
0
-1
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
-1
0
-48
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-5
0
0
-1
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-16
0
0
0
0
-23
0
0
0
0
0
6
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
1
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
-5
0
0
0
0
-1
0
0
0
4
0
0
0
-7
0
0
-46
0
0
-3
0
0
0
-25
-4
0
0
-59
4
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
0
22
-2
0
0
-8
0
0
-37
14
0
0
-3
0
0
46
0
6
0
-44
-22
0
0
0
0
0
0
0
0
-12
0
0
0
-13
1
0
21
-2
0
0
-23
2
0
-14
-59
-1
0
-93
-4
0
0
0
-3
0
0
1
0
0
26
5
6
0
-9
0
26
37
0
0
26
0
0
0
-11
0
32
13
-1
0
-13
13
0
0
-61
0
0
37
31
0
-1
-15
7
0
-26
28
0
-2
21
0
0
46
53
0
-19
27
1
0
12
-4
0
2
-27
5
0
0
-31
-4
13
0
0
0
0
4
5
0
0
0
0
9
28
0
0
-4
15
0
52
57
0
0
-42
0
0
-34
55
0
7
16
6
0
-7
-2
-5
4
74
-22
0
17
53
-3
-15
-31
-20
0
-1
51
0
-3
23
-5
0
-7
-52
0
-1
7
7
0
0
-6
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-34
0
-99
5
0
0
0
50
0
0
10
-40
0
-2
-17
0
65
-5
7
0
-1
-48
0
7
13
-54
0
0
-36
0
-10
-26
8
0
0
-64
0
-2
29
-6
0
0
-14
0
-90
0
0
0
0
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
19
0
0
-8
41
0
0
-44
0
0
-3
-2
0
0
71
1
3
0
-11
0
0
0
3
0
-2
2
1
-72
0
0
20
0
0
0
0
0
0
26
0
5
-4
0
-1
21
0
0
-70
-34
-4
-29
22
-3
-4
5
0
0
-44
-1
0
-4
38
-2
0
0
0
0
0
0
0
0
-46
12
-5
33
-13
20
-1
-10
-16
2
0
45
0
0
7
33
0
0
18
7
-117
0
0
-4
0
0
14
7
0
35
-1
0
8
-11
0
0
-8
0
0
10
22
0
25
-8
0
-68
1
-54
0
-42
36
0
8
32
0
0
-41
-16
-2
0
-49
-29
0
37
9
2
-1
23
8
-3
-25
5
1
-61
-68
-1
0
27
15
1
-4
65
43
3
0
-35
-15
-24
0
1
0
0
32
0
0
2
4
-5
0
-64
-1
2
13
-9
-64
-7
34
0
-3
-47
8
-127
23
-62
13
-4
56
-19
-43
9
23
10
-1
-37
14
-39
-12
-45
-3
-23
-41
-29
26
-18
-42
15
19
4
0
-93
-12
8
-4
6
-29
-1
-86
0
-22
0
0
0
-12
-5
0
-24
2
1
0
0
0
0
-38
0
-20
7
0
-12
0
16
0
-8
-28
-42
-8
-9
-9
0
39
-1
-5
6
8
-74
-6
0
-28
-18
15
-2
43
5
26
5
1
-9
-2
-2
1
1
39
16
-18
10
-27
0
-89
2
0
-24
0
-45
3
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
3
0
-3
5
24
0
0
6
9
-1
0
-9
0
0
-2
5
0
0
89
0
0
-1
-8
0
0
0
-1
0
-4
0
0
38
0
0
34
0
0
0
0
0
0
21
0
0
0
0
-4
15
0
0
-91
19
0
-2
0
0
0
6
0
0
6
0
0
0
-8
17
0
0
0
0
0
0
0
0
-106
10
0
0
14
3
0
36
0
0
0
52
0
0
-4
-24
0
0
-50
-1
-44
0
0
-3
0
0
0
5
0
-21
14
-2
0
-3
0
0
15
0
0
43
0
-1
98
0
0
-37
-30
57
0
-33
21
0
0
28
0
1
-15
-6
0
5
11
-6
0
46
-27
0
0
-5
8
0
6
-53
0
-71
32
12
0
2
-69
-1
0
-4
17
3
0
31
1
0
0
0
0
0
27
0
0
8
0
-6
0
31
2
-1
-19
9
-63
19
0
0
-2
-17
0
8
-14
58
4
-7
-88
39
29
7
-55
-12
-2
-17
20
0
0
-21
1
2
-10
3
0
-5
-21
0
5
-3
-1
0
0
-32
0
9
4
-2
-25
0
-17
0
2
0
0
0
0
-36
0
0
0
4
0
1
-46
0
11
-6
0
-9
0
0
0
1
-9
4
0
1
67
0
53
-24
-3
0
0
-49
0
-5
37
20
0
0
-16
1
16
-15
0
0
0
34
0
-6
-6
8
6
0
26
0
6
2
0
1
0
-36
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
-1
0
0
0
0
0
0
3
0
0
0
70
4
0
0
0
0
0
0
0
0
-8
0
0
0
65
0
0
74
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
-1
0
0
-10
0
0
1
0
0
0
0
0
-24
2
-2
0
5
57
0
0
0
0
0
0
-63
0
0
5
19
0
0
19
0
0
0
0
0
-3
-6
0
-9
-9
0
0
6
1
0
0
0
0
0
0
-51
0
0
0
0
0
0
23
0
0
0
0
0
-1
-18
0
0
0
0
0
0
-16
0
0
0
0
2
0
-1
0
0
0
8
0
0
-28
0
0
-8
0
0
0
11
0
2
-1
0
0
0
0
0
0
0
0
5
0
25
0
0
0
0
0
0
-9
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
16
0
0
0
0
0
0
0
8
0
0
0
3
0
8
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
10
0
8
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-6
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
3
-8
0
-46
6
0
0
-1
0
0
6
0
0
0
49
-1
0
0
0
0
0
0
0
0
25
0
0
0
-11
8
0
-24
0
0
0
-2
0
0
0
-2
0
0
0
0
45
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
1
34
0
0
4
0
0
21
-3
0
-8
1
0
0
-1
-32
0
0
-3
0
0
0
15
0
-5
12
0
0
-8
-20
0
0
4
0
0
0
9
0
8
33
0
0
0
0
0
0
0
0
0
0
43
1
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
1
0
0
0
-27
0
0
-4
0
0
-3
40
0
0
0
-10
0
-3
25
0
6
0
0
0
0
28
-1
0
-8
-8
0
0
-12
0
0
4
0
0
0
8
0
0
0
0
-2
0
-52
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
-3
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
-7
9
0
-2
0
0
0
0
0
0
-4
0
0
0
6
0
0
19
0
0
0
5
0
0
-24
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
-1
-20
0
-3
12
12
-5
-2
18
-143
-39
36
13
8
-5
4
-16
2
6
-17
101
18
0
37
-5
21
9
-12
5
9
-4
10
18
0
0
-10
0
0
0
-8
-1
0
-3
0
0
-3
0
-59
42
0
0
-26
28
19
-13
19
12
0
89
-9
-20
-158
-11
-1
-9
-10
-88
-39
0
0
0
0
0
0
0
-58
-4
-26
-10
-11
-11
-18
22
7
-1
-9
-1
10
-15
21
1
-15
-2
-17
-16
-68
0
-1
16
0
-5
17
14
-3
9
49
3
0
14
0
-6
3
0
0
-4
33
-25
-44
-57
-3
-18
1
-42
1
-25
7
0
-20
-23
0
0
-7
5
2
1
31
39
0
4
6
0
-2
31
-13
-8
-23
1
0
-26
-3
-96
-4
-10
-17
-4
-1
-29
-32
-48
0
5
-46
-62
0
12
0
0
-18
62
0
0
-22
11
-26
34
62
1
7
-25
-48
-44
-37
5
46
-31
-8
-23
-43
-51
16
-39
7
-9
-9
-45
-40
-64
66
15
14
33
-49
4
-20
22
-13
-42
-31
3
-18
4
-14
-35
2
-31
-62
-20
0
-14
28
-17
-23
0
-6
16
12
16
-7
32
0
-32
96
-4
-1
-13
1
-8
12
-14
4
0
62
-22
-20
-13
-4
-8
8
-35
-10
65
-33
6
-21
-29
-10
78
18
-38
-7
41
-24
-54
-72
-4
-50
2
-54
24
-25
40
-1
-5
1
-35
13
-17
-5
-5
-5
0
-55
-13
48
-9
0
-21
-12
0
29
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
8
11
0
0
0
-42
0
0
0
0
0
27
-4
0
-62
0
0
19
0
0
0
0
0
8
0
0
0
0
0
-5
-5
0
0
1
0
1
-21
-3
0
0
-3
0
-10
3
0
0
0
-106
0
-2
0
0
0
0
0
0
0
-120
9
-5
0
-41
2
1
-14
0
0
0
-11
0
0
0
36
0
0
3
0
-22
0
0
-2
0
5
0
19
0
-3
10
-5
0
0
0
25
6
0
0
8
0
0
-61
-4
0
-16
-21
0
0
16
-38
0
0
7
0
0
4
-65
0
0
-39
0
-7
23
-39
0
0
7
0
0
8
-51
0
-7
-28
0
0
0
-14
0
0
9
0
1
0
6
-2
0
0
0
0
0
-7
-4
0
0
0
0
0
-30
0
0
-1
0
-7
-42
-19
0
0
53
0
43
-13
11
0
-3
-82
0
-6
15
35
0
0
22
0
8
22
-11
0
-2
-15
0
0
-6
12
0
0
12
0
42
0
-27
0
0
32
0
-53
0
20
0
0
0
0
-1
0
27
0
0
0
0
0
0
-70
0
-8
-1
0
-1
0
-2
0
0
-6
0
5
4
23
0
4
-6
0
6
6
19
0
0
-31
0
-4
4
-44
0
-34
-8
0
0
0
-45
3
0
21
0
0
0
-23
0
-16
7
0
-13
0
52
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
31
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
-16
0
0
0
34
10
0
-5
0
0
0
0
0
0
-26
0
0
0
0
38
0
0
0
0
0
0
0
0
63
-1
0
0
15
0
0
-23
8
0
0
16
1
0
1
0
0
0
16
0
0
0
0
1
0
0
0
0
0
4
4
0
0
-4
0
2
33
0
0
0
0
0
49
15
0
-73
13
1
0
28
21
0
0
-8
0
0
-10
-26
0
0
52
11
0
-51
-33
0
5
-31
0
0
-43
15
0
23
-37
0
0
0
-2
0
0
0
0
0
0
-11
-5
17
0
0
0
0
4
17
0
0
0
0
0
16
0
0
13
12
0
-30
6
0
6
-13
0
0
15
49
0
0
-38
8
0
0
-7
0
0
63
13
0
-9
40
0
0
168
-13
0
-4
-38
0
22
5
1
0
0
40
0
0
-2
0
0
0
-7
0
0
0
0
0
0
-57
0
0
0
0
0
0
-17
0
9
0
0
0
0
21
0
0
-15
0
0
1
-3
0
51
2
0
0
0
-67
0
0
11
0
0
0
-51
0
-62
-6
-2
0
0
-42
0
3
1
0
0
0
31
0
22
0
0
0
0
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
4
-4
-4
0
49
3
-1
3
-16
0
0
11
0
0
0
-37
-2
0
2
0
2
3
0
0
21
0
0
12
0
0
0
0
0
0
1
0
0
0
0
-3
21
-1
0
-39
-5
-8
-86
-14
0
17
-35
0
54
-16
-46
6
3
-21
-2
-33
0
0
0
0
0
0
0
10
-41
1
7
-19
13
3
14
2
0
0
26
-5
-3
15
-5
0
0
18
0
-55
0
0
-7
0
0
0
-13
0
0
7
10
0
9
0
-4
-4
0
0
-34
0
0
23
-14
3
-116
8
12
0
8
36
0
6
-26
0
-2
19
-27
0
9
23
-17
2
34
2
0
0
-49
5
-2
-20
-2
-1
30
-27
6
0
8
-103
0
0
23
0
8
0
-3
5
3
0
0
0
0
-11
0
0
0
0
0
-4
-4
0
-7
-5
16
-10
10
58
0
2
6
0
-5
-13
-29
3
-6
-107
19
-8
-4
-2
-4
-1
81
2
31
-34
10
0
-12
15
23
17
0
-37
0
0
-12
0
8
0
-57
1
0
6
6
10
0
-3
0
-1
0
2
0
0
-67
1
0
0
0
0
0
-33
0
37
15
-2
2
0
27
0
-9
-3
33
0
0
58
-3
14
-7
0
-8
-1
-3
0
0
44
-33
0
0
-95
0
-23
-14
0
1
-1
-35
7
-9
-45
-4
-1
0
-9
0
9
0
2
-36
0
-43
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
-56
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
2
0
-7
3
0
0
0
0
0
0
0
0
16
0
0
0
-12
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-19
-2
0
0
0
0
0
28
0
0
0
0
0
-5
0
0
-2
0
12
0
17
0
0
0
-8
0
0
-8
-27
0
0
12
0
0
-1
-39
0
-1
3
0
0
0
52
0
-55
0
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
23
1
0
0
20
0
0
0
0
0
0
33
0
0
0
3
0
0
8
0
0
0
0
3
0
5
0
0
1
0
0
0
-41
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
1
0
0
0
0
20
0
0
-10
1
0
0
4
0
12
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
0
0
-8
0
-5
0
0
0
41
0
0
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
0
-78
6
0
0
0
0
0
7
-2
0
0
2
0
0
0
0
0
0
0
0
0
40
0
0
0
-6
0
0
-74
0
0
0
20
0
5
-1
-1
0
0
-5
0
-2
0
0
0
0
0
0
6
0
-49
3
0
0
0
0
0
-36
0
0
0
0
0
42
0
0
6
-3
0
0
-7
15
0
0
0
0
0
8
-6
0
0
20
0
0
-1
33
0
0
-2
0
0
0
21
0
25
-7
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
0
0
0
0
0
0
28
0
-2
0
0
9
0
-1
0
0
-4
0
0
-8
-6
0
0
1
1
0
0
15
0
0
-4
0
12
0
-8
0
0
-3
8
0
0
-18
0
0
0
0
6
0
-13
0
0
2
9
4
0
-36
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
5
0
0
-5
0
0
0
9
0
0
1
0
0
0
6
0
0
1
0
0
0
3
0
-1
0
0
0
0
-5
0
1
0
0
0
0
53
0
-3
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
5
8
0
3
0
0
0
0
0
0
0
13
0
0
22
0
0
0
0
0
54
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
14
0
0
1
-1
0
0
-8
0
0
-10
0
0
0
0
0
0
3
0
0
0
-11
0
0
0
0
0
0
0
0
0
39
0
-1
0
-20
-1
0
68
0
0
0
-3
0
0
0
1
0
0
-3
0
-9
0
0
0
0
0
0
0
0
-22
0
1
0
0
0
0
0
0
0
11
0
0
-20
0
0
-37
4
0
0
-1
30
0
0
0
0
0
-2
-63
0
0
1
0
0
0
18
0
0
-3
0
0
-2
34
0
16
-18
0
0
-16
-21
4
0
-1
0
0
0
-30
0
0
0
0
0
0
-19
0
0
0
0
0
0
-16
0
0
-3
8
13
0
46
0
0
0
0
-5
8
-73
0
22
3
0
1
-1
-72
12
0
-2
0
6
0
12
-3
0
-1
0
0
-3
58
0
0
8
0
9
7
-27
0
0
4
0
-3
0
-56
0
0
0
0
0
0
-11
0
0
0
3
0
0
28
0
0
19
0
0
0
-11
0
8
-2
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
8
0
0
0
0
-59
0
3
8
0
0
0
23
0
0
0
0
-4
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
-63
0
0
0
0
0
0
9
0
0
0
0
5
5
0
0
-2
-6
0
-15
-1
0
0
0
0
0
7
-8
1
0
-2
0
0
0
0
0
0
0
0
0
74
-5
0
0
-38
0
0
-28
0
0
0
0
0
2
-15
5
0
0
0
0
13
0
0
0
0
0
0
5
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
-3
-2
0
48
-2
0
0
2
90
0
1
0
0
0
6
-12
0
0
7
5
0
-5
-27
0
0
17
0
0
1
31
0
-33
0
0
0
0
48
0
0
1
0
0
0
-5
0
0
0
0
0
0
-89
10
0
0
0
0
2
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-27
0
0
8
-16
0
0
-35
0
1
2
0
8
0
-14
0
0
39
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-107
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
2
0
0
0
0
15
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
-1
0
0
0
7
0
0
0
0
0
0
6
0
0
-13
0
0
0
5
0
4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
43
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
-7
0
0
-70
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
-20
0
0
-8
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
10
0
0
0
-12
0
0
6
0
0
0
1
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
50
2
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-12
33
0
0
1
25
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
5
0
0
0
7
0
-2
13
0
0
0
2
0
0
0
0
0
0
-51
0
0
0
0
0
0
-43
0
0
0
0
0
0
-9
0
0
0
0
-4
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
-3
0
0
0
-21
0
0
0
0
0
3
5
0
0
0
0
-2
0
-2
0
0
0
0
42
0
40
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
-1
0
0
-5
0
0
0
0
2
0
-2
-4
0
0
0
1
0
92
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
-1
-6
0
0
-22
38
0
13
0
0
0
4
0
0
7
1
0
0
-22
2
0
0
0
0
0
0
0
0
-18
-9
0
0
-70
0
0
-12
-2
0
0
37
0
0
2
-1
0
0
0
-2
0
0
0
15
0
0
1
0
0
11
13
0
0
0
0
3
-13
0
0
5
0
0
-91
-2
0
23
-21
-6
0
-66
-53
0
0
-41
0
0
44
-30
0
0
-24
-15
0
57
-43
0
0
-89
1
0
8
-88
0
-17
44
0
0
0
-31
0
0
-3
0
0
0
-47
-2
0
0
0
0
0
1
0
0
0
0
0
7
-3
0
0
6
4
0
40
-20
0
0
45
0
0
35
8
0
-2
65
34
0
43
28
0
-2
-48
0
0
-7
-36
0
12
24
22
0
6
-40
0
8
49
-1
0
0
-41
0
0
17
0
0
0
-6
-1
0
0
0
1
0
12
0
0
0
0
0
-3
-61
0
7
-6
0
0
0
62
0
3
-12
-3
0
-9
75
0
-2
-15
0
0
0
-46
0
-1
2
0
0
-1
-70
0
-32
3
-1
0
6
-15
0
2
1
0
0
0
-8
0
-5
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
2
8
4
-2
4
-1
-23
5
-2
3
-3
5
0
5
-7
0
-4
0
0
33
0
0
-23
0
0
0
0
0
4
47
2
2
10
0
-19
13
0
0
7
-90
-1
-23
40
-2
-1
18
8
2
84
48
24
52
24
-22
8
0
0
0
0
0
0
0
52
59
1
12
10
-10
0
72
20
-4
-2
-52
0
-8
0
6
0
0
-9
4
-37
0
-1
-15
0
3
0
-3
-1
-39
-22
-5
1
-2
0
-9
-48
-3
0
20
3
1
-22
-57
2
9
-62
50
5
-21
32
8
21
30
9
0
76
-14
-2
-3
-16
-5
-4
-11
1
0
-4
28
3
0
6
32
-3
2
39
-12
-1
0
-39
1
0
-1
13
-36
0
-7
16
8
0
-7
0
0
-81
-8
0
13
4
1
18
-39
-15
7
47
-36
-19
-48
-30
2
-4
-84
1
-79
-5
-51
28
15
-63
4
-37
38
-9
9
-16
28
25
1
-6
-43
-5
-29
-30
8
-20
2
-7
-3
-6
-35
6
-63
0
-65
3
-45
0
-1
36
0
-14
8
-5
0
-33
25
0
-18
20
4
-1
-1
5
1
-60
8
-53
-19
32
7
-71
-67
0
14
26
22
-68
-1
-34
-7
-25
-8
-6
3
16
3
15
48
60
3
-18
0
10
3
-13
34
-16
-16
0
37
-2
-1
-56
6
-20
0
-50
0
-5
25
1
95
0
26
25
11
9
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-18
-16
0
50
-1
0
0
0
0
0
-5
0
0
0
56
0
0
0
0
0
0
0
0
0
2
5
0
0
-28
0
0
-3
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
-1
65
0
0
0
0
0
3
0
0
9
8
3
0
0
-36
0
0
5
0
0
8
0
0
0
-35
-1
0
4
-20
0
0
-3
0
0
0
-40
0
-31
0
2
0
0
-28
0
0
0
0
0
0
87
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
1
-8
0
0
5
0
0
0
33
0
0
0
-54
0
0
6
13
0
0
54
0
0
0
0
0
0
22
0
0
0
0
0
0
-36
0
0
0
0
0
0
-5
0
0
0
1
0
0
-9
0
0
0
0
0
0
1
0
-5
0
0
0
0
27
0
-2
0
0
0
0
0
0
0
-5
4
0
0
6
0
-15
0
0
0
0
-2
0
-4
4
-3
0
0
-40
0
6
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
41
0
1
0
0
0
0
0
0
0
-3
0
0
0
10
0
0
27
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
-2
5
0
0
-27
-7
0
0
0
0
0
5
-38
0
0
1
0
0
1
-20
0
0
-3
0
0
3
10
0
6
9
0
0
0
7
0
0
-1
0
0
0
-45
0
0
0
0
0
0
-51
0
0
0
0
0
0
-7
0
0
3
0
0
0
62
0
0
0
0
0
0
-6
0
0
1
0
0
0
-5
0
0
0
0
0
0
-6
0
0
-8
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
2
0
0
0
0
13
0
0
0
0
0
0
2
0
3
0
0
0
0
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
1
0
0
0
0
0
0
12
6
0
0
4
0
0
0
0
0
42
0
0
3
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
71
-3
0
-55
4
0
0
0
0
0
19
-4
0
0
-1
-2
0
0
0
0
0
0
0
0
-13
5
0
0
-16
0
0
-26
4
0
0
-7
0
0
0
5
0
0
0
0
2
0
0
0
0
0
4
0
0
-10
-1
0
0
1
0
-1
-4
0
0
-4
0
0
5
-3
0
-72
73
0
0
-22
1
0
0
34
0
0
3
14
0
0
-12
19
0
40
-11
0
0
-40
0
0
33
34
0
27
10
0
0
0
-28
1
0
1
0
0
0
-47
0
0
0
0
0
0
-14
6
0
0
0
0
1
50
0
0
0
0
0
10
83
0
0
-30
0
0
-3
-61
0
0
62
-8
0
-3
35
0
0
-6
0
10
-2
-61
0
-3
-12
2
0
0
54
0
0
-2
0
-1
6
-11
0
0
0
-1
2
0
-20
0
0
0
-1
0
0
52
0
0
0
-1
0
0
6
0
-3
0
0
0
0
23
0
4
0
0
2
0
-44
0
-1
5
0
0
0
-51
0
0
2
0
0
0
27
0
-5
2
0
0
-4
-3
0
0
0
-1
0
0
-4
-1
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
7
4
0
0
9
0
0
0
0
0
23
0
0
2
0
0
-65
0
0
0
0
0
0
3
0
0
0
0
-30
35
0
0
-31
-54
0
-61
-3
0
0
18
0
0
43
6
0
0
24
9
0
0
0
0
0
0
0
0
7
8
0
-9
2
0
0
-93
59
0
0
-4
0
8
11
-16
0
0
-7
0
-15
0
-3
43
0
0
0
0
0
32
-8
6
0
-11
0
-4
15
0
0
28
0
0
32
-13
0
10
-34
-39
0
6
-9
0
8
42
0
0
-14
6
0
10
25
-1
0
-11
16
0
3
19
1
5
8
-35
0
-29
14
-4
-13
-3
-47
0
0
17
0
0
0
4
-5
0
0
0
0
13
11
0
0
0
0
1
-4
4
0
3
-18
0
-42
-12
-14
0
-1
25
0
-3
18
-40
0
4
70
1
-32
-5
-5
-6
10
42
21
-11
-20
30
0
4
-9
-8
-16
-5
-13
0
-8
8
0
-24
6
-31
0
0
6
0
-16
0
-42
0
0
0
0
4
0
-46
0
0
0
-2
7
0
62
0
30
0
0
-3
-7
31
0
-2
6
-9
-2
1
-20
-3
-10
-19
9
0
2
-67
0
39
-5
-1
-24
2
-17
-4
-35
-6
0
-1
-2
53
0
9
2
0
2
0
62
0
17
2
0
24
0
-57
3
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-2
8
4
0
0
0
10
-2
0
-38
0
0
0
0
0
-57
0
0
64
0
0
9
0
0
0
0
0
-3
-8
0
0
0
0
5
13
0
0
-30
0
0
-9
8
0
0
-2
0
0
3
2
1
0
4
0
0
0
0
0
0
0
0
0
-27
0
-5
0
-94
0
3
-30
0
0
0
-10
0
-2
2
8
0
0
-8
0
2
0
0
-2
0
0
0
-21
0
16
1
0
0
0
0
13
-51
0
0
-2
0
0
-30
-1
0
31
-16
0
0
80
-44
0
-4
-23
0
0
12
16
0
0
13
0
0
4
-28
0
0
-76
0
0
25
-51
0
24
35
0
0
5
30
0
0
-5
0
-2
0
-41
-9
-5
13
0
0
0
15
3
0
0
0
0
0
-10
0
0
25
0
59
-6
5
0
0
5
0
-6
-50
-30
0
14
-10
0
-3
-41
5
3
2
15
0
0
2
-22
0
0
-56
0
13
-5
-20
0
0
33
0
-24
1
0
7
0
13
0
-2
0
-13
0
6
0
0
8
0
-89
-6
0
0
0
0
0
-43
0
8
0
0
-3
0
-35
0
0
-3
0
0
-6
-38
0
9
0
0
-6
0
8
0
0
9
1
-1
0
28
0
-29
-1
0
0
0
50
0
0
36
0
0
0
61
0
-9
0
0
-5
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
-10
0
0
0
0
29
-4
0
0
-1
-10
0
-42
-2
0
0
0
0
0
-20
0
0
0
15
40
0
0
0
0
0
0
0
0
7
0
0
0
-44
-8
0
-56
0
0
0
-10
0
0
0
0
0
0
4
6
0
0
0
2
0
0
0
0
0
-6
2
3
0
0
0
-5
14
0
0
13
0
0
-7
0
0
-7
-5
9
0
48
10
0
0
51
0
0
-2
-24
0
-1
-35
5
0
43
-24
0
0
1
0
0
7
-9
0
10
-13
3
0
0
-64
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
0
0
-1
-56
0
0
-5
0
0
0
35
0
0
1
-4
0
10
-12
0
0
0
7
0
3
-134
0
0
-16
0
0
0
11
0
0
-26
-4
0
-2
3
0
3
5
0
0
0
9
0
0
5
0
0
0
-35
0
0
0
0
0
0
19
-2
0
0
10
0
0
-37
0
-1
0
0
0
0
14
0
0
5
0
0
0
-41
0
20
-6
0
0
0
26
0
0
-2
-1
0
0
-29
0
23
5
0
0
0
48
0
3
0
0
0
0
42
0
-6
0
0
0
0
17
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-13
87
29
5
27
19
0
-24
28
-11
23
23
-42
0
0
-11
0
0
0
-1
1
-7
-35
0
21
8
-7
-24
-32
0
-1
-3
3
32
-16
-62
6
5
-23
0
-59
2
31
15
-7
13
-50
-28
0
0
0
0
0
0
0
-87
-23
20
29
-31
-44
-14
48
12
13
68
22
39
-41
0
11
-6
0
-59
2
-36
4
-49
-30
0
0
20
-36
-2
-10
25
2
-58
55
0
17
-8
0
0
-20
-13
14
-50
-45
10
25
16
10
1
-89
18
-7
6
0
-10
-6
-48
12
0
17
-13
13
-4
-14
-1
-8
-8
-83
8
-2
0
-10
29
-23
36
3
-4
-8
-24
10
-8
-2
-25
-49
0
-6
0
6
5
38
1
-1
-39
3
16
20
29
-7
7
2
13
8
-67
19
33
-57
-18
10
-9
26
37
21
-63
-5
-71
15
-48
17
18
-19
-36
-45
-31
-79
2
13
32
-18
-8
-7
11
-34
-14
13
-23
-31
-35
20
-1
24
3
-19
33
-1
17
12
-9
0
-20
-49
-3
5
-22
-37
0
7
1
-1
0
-22
2
8
-8
-14
47
-19
-12
-19
-13
-47
2
-33
12
5
-41
23
-9
-1
17
-63
-58
41
70
28
-10
20
37
61
-3
1
34
-3
23
-31
7
8
14
-26
11
13
-39
8
80
1
-31
40
-12
-16
-19
36
4
-18
44
-3
-15
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-26
0
0
1
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-22
0
0
-43
0
0
0
0
0
0
9
0
0
0
-25
7
0
0
0
0
0
0
0
0
-39
0
0
0
13
0
0
-2
2
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
14
0
0
0
0
0
-4
0
0
-30
16
0
0
-5
32
0
0
1
0
0
8
-10
0
0
-2
0
0
-9
0
0
0
-22
0
0
0
-2
0
-40
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-50
0
0
0
0
0
0
-24
0
-2
0
0
0
-8
6
0
0
0
0
0
0
3
0
0
-1
0
0
0
-17
0
0
8
0
0
-1
0
0
0
3
0
0
0
-14
0
0
2
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-19
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
8
0
0
0
-1
0
0
24
-4
0
0
13
0
0
0
0
0
0
0
0
0
45
0
0
2
4
0
0
29
-1
0
0
4
0
0
0
-2
0
0
0
0
-2
0
0
-3
0
0
0
0
0
22
0
0
0
0
0
0
-20
0
0
-2
0
0
-10
-3
0
-9
19
1
0
-32
2
0
0
0
0
0
12
60
0
0
-2
0
0
0
-15
0
0
7
7
0
-16
3
0
41
0
0
0
0
-4
0
0
2
0
0
0
8
9
8
0
0
0
0
-14
0
0
0
0
0
0
-5
0
10
0
0
-1
-2
-46
0
0
3
0
0
8
40
0
-4
-1
-3
-3
0
-41
6
0
28
0
0
0
-53
0
0
0
0
0
0
43
0
2
6
0
0
0
27
0
0
0
1
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
1
0
0
0
0
-19
0
0
0
0
0
0
-20
0
7
0
0
0
0
-6
0
5
0
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-33
0
-2
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
44
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
29
-3
0
60
0
0
0
-4
0
0
6
-2
0
0
23
0
0
0
0
0
0
0
0
0
-7
1
0
-5
-2
0
0
-85
0
0
0
3
0
-5
0
1
0
0
0
0
6
0
0
-2
0
0
0
0
0
38
0
0
0
0
0
0
93
0
0
-4
0
0
19
-2
0
-22
-1
-4
0
17
27
0
0
-4
0
0
-5
-58
0
0
-7
0
0
0
16
0
0
-28
0
0
5
14
0
18
12
0
0
0
-18
0
0
0
0
0
0
1
-3
0
0
0
0
0
-28
0
0
0
0
0
0
40
0
0
-5
0
-2
0
-46
0
0
0
0
0
0
-4
0
0
-3
0
4
-2
-29
0
0
46
0
0
0
-68
0
1
34
14
0
0
35
0
0
24
0
1
0
-7
0
0
0
0
6
0
19
0
0
0
0
0
0
0
-2
0
0
-2
0
0
-13
0
0
1
0
0
0
27
0
0
0
0
0
0
-8
0
-1
0
0
0
0
12
0
0
0
-6
0
0
-31
0
0
-1
0
0
0
45
0
1
-3
-1
0
0
23
0
-2
0
0
5
0
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
0
0
0
-60
0
0
0
0
0
-112
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-14
0
0
24
0
0
0
-5
0
0
-28
0
3
0
-13
-1
0
0
0
0
0
0
0
0
19
2
0
-3
7
0
0
-7
2
0
0
-2
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
2
0
0
0
0
0
4
0
0
4
0
0
-18
-2
0
-18
6
-1
0
26
39
0
0
1
0
0
0
1
0
0
-8
0
0
5
-3
0
0
-10
0
0
0
-3
0
-38
0
0
0
0
-47
0
0
0
0
0
0
-42
7
5
0
0
0
0
-19
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
-3
0
0
0
-29
0
0
2
20
0
0
-47
0
0
3
-3
0
0
-15
0
-1
-1
5
0
0
8
0
2
0
0
-4
0
45
0
0
0
0
-10
0
-39
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
-7
0
0
0
0
-55
0
0
0
6
0
0
-17
0
4
0
-1
0
-3
0
0
0
0
2
0
0
-20
0
7
0
-1
0
0
-13
0
1
-4
0
16
0
12
0
12
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
-30
0
0
0
0
0
0
-3
3
0
0
9
0
0
0
0
0
0
0
0
0
-4
0
0
0
-15
0
0
-45
0
0
0
-3
0
0
0
-1
0
0
3
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
11
2
0
0
0
-39
0
0
0
0
0
0
-10
0
0
6
0
0
0
19
0
0
0
0
0
0
-13
0
-21
0
0
0
0
1
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
-1
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
-1
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-20
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
12
0
0
0
0
0
0
0
6
0
0
0
35
-1
0
0
90
-19
0
-6
-2
0
0
2
0
0
23
0
0
0
-16
-14
0
0
0
0
0
0
0
0
-19
0
0
0
-12
0
0
11
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
-45
0
-1
0
9
0
0
-47
0
0
6
0
0
37
32
0
-3
-42
-4
0
-42
20
0
0
31
0
0
0
29
0
0
3
28
0
-7
-64
0
0
-2
0
0
-2
-38
0
-77
-1
0
0
0
57
0
0
3
0
0
0
-4
17
-5
0
0
0
0
-30
0
0
0
0
0
6
-45
0
0
-9
1
0
32
-19
0
0
30
-6
0
-5
35
0
0
-76
-3
0
5
-10
0
0
-37
0
0
12
-5
0
0
-114
-4
0
-2
-9
0
0
4
0
0
0
50
0
0
0
-2
0
0
-22
0
0
0
0
0
0
12
0
0
0
0
0
0
-34
0
0
0
0
0
0
-70
0
0
-4
0
0
7
-10
0
-5
0
0
0
0
-70
0
-16
0
0
0
-8
72
0
3
5
0
0
-6
-39
0
5
0
5
0
0
-20
0
-6
1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
-79
0
0
-4
0
0
-47
0
0
0
0
0
-1
-25
0
0
0
0
-1
3
0
0
0
-65
-8
-7
-14
0
0
-19
0
-3
12
9
0
-1
6
-13
1
0
0
0
0
0
0
0
-4
-1
0
0
-71
24
0
-8
-15
0
-7
-8
0
0
0
31
0
0
20
9
-80
0
-1
44
0
0
14
2
0
30
3
-1
15
-54
0
37
-1
0
0
39
0
0
-53
27
-4
-4
31
-24
0
-5
40
0
-1
-10
0
0
-30
-27
0
-4
-7
35
-3
15
3
0
12
-43
0
0
-7
23
0
-47
70
-13
0
0
-15
0
0
76
42
-1
0
28
20
18
0
0
0
0
30
-9
0
0
-4
-2
0
-23
0
0
15
-27
2
15
-1
0
14
-30
21
-31
14
-7
-1
-1
-74
-44
-24
24
-41
1
30
-36
4
-42
1
-21
11
-15
-16
-20
-18
0
15
0
8
-46
-9
-47
0
-17
-1
1
-60
5
-86
0
-40
21
0
3
6
-19
0
64
-8
0
0
17
0
0
-60
0
29
4
1
6
0
2
0
7
-15
24
1
-3
7
1
-39
-1
9
-8
4
53
0
-35
25
-80
-6
1
17
0
-28
-7
20
-4
0
42
0
-2
-40
1
-3
0
-26
0
-5
3
1
-53
0
-58
5
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
1
0
0
-42
0
0
0
0
0
0
3
0
0
0
0
4
7
0
0
-70
2
0
-22
0
0
0
1
0
0
12
0
0
0
23
-3
0
0
0
0
0
0
0
0
-21
-1
7
0
-58
0
0
-58
0
0
0
-5
0
0
13
14
0
0
9
8
-1
0
0
-3
0
0
0
0
0
17
0
0
0
0
0
1
-46
0
0
-8
0
0
19
5
0
5
-8
0
0
-31
20
0
0
2
0
0
2
-15
0
0
21
0
0
-8
75
0
-8
0
0
0
-6
0
0
17
-69
1
0
-3
-31
0
0
5
0
0
0
-38
0
0
0
0
0
0
-17
3
0
0
0
0
0
-41
0
0
0
0
13
0
-23
0
0
-8
0
0
5
-19
0
24
-62
11
0
13
5
14
2
1
0
-5
0
-50
0
-7
33
25
0
1
0
0
8
-1
0
-3
9
-18
0
0
0
0
-23
0
20
0
0
0
6
0
0
-14
0
0
0
0
0
0
23
0
0
0
0
-10
1
-16
0
0
0
0
0
12
-12
0
11
0
1
0
0
-27
0
-1
56
-12
1
0
3
0
32
-5
0
0
0
0
0
0
-5
0
0
0
-77
0
-7
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
-3
0
0
-31
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
-2
2
0
70
0
0
0
6
0
0
43
0
0
0
48
0
0
0
0
0
0
0
0
0
-5
0
0
0
19
0
0
-36
0
0
0
-1
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-29
0
0
0
8
0
0
53
0
0
0
0
0
1
-1
0
32
5
0
0
7
-25
0
0
0
0
0
2
-14
0
0
4
0
0
2
29
0
0
0
0
0
-3
7
0
-2
50
0
0
-15
-3
0
0
1
0
0
0
-4
0
-7
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
-3
0
34
0
0
-2
0
0
0
-24
0
0
-14
0
0
0
-105
0
0
-3
0
12
0
-48
0
0
-58
0
0
0
-49
0
0
0
0
3
0
-10
0
0
-1
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
-4
0
0
0
0
-5
0
0
0
0
0
0
34
0
6
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-69
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
-18
0
0
0
0
0
0
5
-1
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
-17
0
0
-12
-2
0
0
-1
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
-1
-24
0
0
1
0
0
-7
0
0
-23
28
0
0
0
6
0
0
-3
0
0
0
35
0
0
13
0
0
-2
44
0
0
-2
5
0
25
20
0
-5
4
0
0
0
-2
0
0
-1
9
0
0
-68
0
0
0
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
-1
0
0
5
0
0
0
0
0
2
-13
0
0
5
0
0
0
-47
0
0
0
0
0
-7
-36
0
1
-5
3
0
4
-41
0
0
0
0
0
0
10
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
9
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
0
3
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
-2
-24
0
0
-4
0
0
0
0
29
0
-11
0
18
3
0
-27
27
0
0
23
21
24
-11
-18
8
0
-9
-1
-31
-64
8
33
0
-1
-4
-46
0
0
0
0
0
0
0
-75
6
0
0
-37
57
1
-60
-17
0
6
3
-10
-5
-8
-19
0
0
-9
-17
28
0
8
-42
0
0
-21
-4
0
-25
16
-44
0
-8
0
-28
3
0
0
8
5
4
31
-12
0
22
-26
2
-9
-68
-8
-1
0
-20
9
0
41
1
0
0
-42
-13
3
-13
-14
0
2
0
6
0
-23
-9
0
-26
7
16
0
-12
-23
0
-8
0
-9
-31
0
22
5
-67
0
-15
0
0
-24
6
0
-10
20
-10
3
-24
-2
0
0
15
-18
-5
-29
0
-5
0
9
16
-8
-29
5
5
-11
27
1
4
-22
-16
-23
-15
-14
-3
-13
-50
3
2
-28
35
0
46
44
2
-5
0
19
-2
0
6
1
-10
0
9
-18
0
-9
0
0
0
-7
-110
0
-24
1
0
0
-35
0
-2
-7
0
-47
-20
8
-9
-3
-18
0
-8
1
9
-19
3
13
0
-47
-35
17
-41
-3
-13
-8
-39
-5
-36
44
2
4
0
78
3
-4
4
3
20
0
5
-1
-24
1
0
-46
0
41
0
0
-52
0
0
-23
2
0
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
12
0
0
0
2
0
0
-9
0
6
0
-19
0
0
0
0
0
0
0
0
0
6
0
0
0
-21
0
0
11
0
0
0
-2
0
0
0
-3
0
0
-2
0
16
0
0
0
0
0
0
13
0
-72
0
6
0
0
0
0
-67
0
0
-1
0
0
-29
1
0
-5
8
0
0
-1
-26
0
0
0
0
0
-5
-31
0
0
13
0
0
-1
24
0
0
54
0
0
0
41
0
22
1
0
0
0
13
0
0
-3
0
0
0
46
-8
0
0
0
0
0
-54
0
0
0
0
0
6
8
0
0
-1
0
5
8
5
0
0
14
0
0
2
-29
0
0
4
0
0
1
18
0
0
-8
0
0
9
60
0
0
-40
0
0
-2
-36
0
0
0
0
-4
0
-22
0
0
-5
0
-49
0
-10
0
0
0
0
3
0
21
-8
0
0
0
0
0
32
0
1
0
0
0
1
-73
0
0
8
0
0
0
-10
0
-8
3
0
0
0
-14
0
0
2
0
0
0
-1
0
-14
-7
0
0
0
-3
0
1
-1
0
0
0
53
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-22
0
0
0
0
0
0
-4
-7
0
0
0
18
0
0
0
6
-16
0
12
0
0
0
-9
0
0
-2
0
0
0
-12
-6
0
0
0
0
0
0
0
0
-14
0
0
0
-92
0
0
-29
0
0
0
0
0
0
5
7
-8
0
0
-1
0
0
0
-7
0
0
0
0
0
8
0
1
0
-1
0
-2
-92
0
0
22
0
0
5
19
0
-14
-23
17
0
20
0
0
0
59
0
0
6
17
0
0
39
28
0
-13
14
0
0
-2
1
0
-2
-28
0
-55
14
0
0
0
46
-2
0
0
0
0
0
-21
-1
34
0
0
0
0
-4
0
0
0
0
0
5
3
0
0
-1
-2
0
-10
11
0
-2
2
0
0
13
-17
0
1
-20
25
0
-5
29
0
0
17
5
0
1
7
0
10
-1
-6
0
0
6
0
0
8
1
0
14
13
7
4
0
-1
0
0
-24
-5
0
0
0
0
0
-39
2
0
0
0
0
0
-2
0
-4
0
-1
0
0
43
0
-3
5
0
0
0
-28
0
45
3
2
0
0
-69
0
0
6
8
0
0
-22
0
-15
8
0
0
0
59
0
-6
6
-1
0
0
-20
0
-14
3
0
0
0
3
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-54
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
-4
0
0
0
83
0
0
-16
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
-5
1
2
0
0
-8
0
0
-1
0
0
0
8
0
0
0
0
0
0
46
0
0
-1
0
0
0
5
0
12
-14
0
0
0
-33
0
0
-12
0
0
0
19
-4
-1
0
0
0
0
65
0
0
0
0
0
0
11
0
0
0
0
-15
0
57
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
-3
0
0
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
-66
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-124
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-30
-4
0
-30
0
0
0
-1
0
0
16
0
0
0
28
0
0
0
0
0
0
0
0
0
-9
0
0
0
-23
0
0
90
0
0
0
-11
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
34
0
0
0
-5
0
-8
-12
0
0
34
0
0
-3
16
0
43
14
-4
0
-3
-17
0
0
1
0
0
0
-24
0
0
3
0
0
-6
-16
0
0
-24
0
0
-1
21
0
33
-3
0
0
0
0
0
0
7
0
0
0
-23
0
0
0
0
0
0
36
0
0
0
0
0
0
4
0
0
-3
0
0
0
2
0
0
0
0
0
0
-40
0
0
-4
-3
0
0
10
0
0
-3
0
-5
3
-19
0
0
40
0
0
0
-1
0
0
5
0
-4
0
0
0
0
0
1
-5
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
-1
0
0
0
0
12
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
3
0
0
0
0
3
0
-27
7
0
0
0
23
0
0
42
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
-10
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
19
-5
0
0
12
33
0
0
5
0
0
0
-27
0
0
0
0
0
0
6
0
0
3
0
0
0
7
0
13
0
0
0
0
-2
0
0
0
0
0
0
23
0
1
0
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
1
0
0
23
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
36
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
8
0
-24
-4
-11
2
13
-46
16
35
35
13
10
10
-25
17
-4
23
7
-14
-10
-34
17
-4
-48
23
48
-22
54
-89
0
0
0
0
0
0
0
-50
-21
-85
-7
-26
42
35
18
-15
0
-40
-7
9
0
8
44
-26
-2
7
12
29
0
-25
-74
2
-2
-102
2
-58
-1
-18
-16
-60
-28
-25
-29
12
31
-4
-4
-44
-6
-62
-14
-48
21
0
-15
4
-17
-16
83
-63
-9
89
60
-28
6
-47
-16
-26
-88
-13
-60
8
14
-61
16
-48
2
-26
-4
32
-44
35
26
-17
-30
5
57
5
14
5
-49
5
13
-48
0
44
-29
-3
42
-14
-13
16
-57
-58
25
-61
15
-51
4
27
-11
24
-40
-3
8
45
28
-99
-4
-10
-22
-25
-31
-6
-12
6
14
-10
-37
-49
-37
-11
5
-42
16
19
22
-13
-2
-30
-15
7
-21
-15
-56
-39
-5
-51
-15
24
-34
-51
35
-23
-8
2
-28
-20
-8
17
34
-7
-16
15
-9
-7
16
-36
-5
1
39
9
-20
-74
-46
-28
-12
-1
-54
2
-43
-10
-39
-17
-34
-63
43
-79
19
-31
2
-54
-84
-78
-85
-1
-26
21
16
36
-5
-78
-76
24
-28
-37
26
27
-68
28
-68
-26
41
4
-54
22
-19
6
28
-71
28
-30
-45
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
41
0
0
0
0
0
0
-3
-4
0
0
-5
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
1
-13
0
0
-2
0
0
2
0
0
-21
16
-25
0
-15
81
0
0
3
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
73
0
-109
0
0
0
-5
5
0
0
0
0
0
0
-28
3
4
0
0
0
0
-18
0
0
0
0
0
0
-31
0
0
0
0
0
0
-16
0
0
0
0
0
0
-24
0
0
-13
0
0
-7
22
0
0
0
-5
0
0
13
0
19
-1
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
-2
0
-34
0
0
0
0
-13
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
2
0
0
0
0
-25
0
8
0
0
0
0
-3
0
0
-1
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-31
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
13
0
0
0
0
0
0
0
0
-16
-2
0
0
0
-44
0
0
0
0
0
0
-51
0
0
3
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
11
-56
-6
0
6
0
11
8
-3
-1
-11
-3
0
4
5
-1
0
65
5
0
-37
-4
-7
-4
-8
15
0
0
0
0
0
0
0
0
19
-13
0
0
-66
-29
0
-15
53
0
9
-29
-1
0
-5
24
52
-1
0
-2
0
0
20
-16
0
0
-26
0
2
-7
14
-75
41
-21
0
72
-10
0
0
62
-4
0
7
20
12
-8
5
-53
0
67
-19
0
26
17
0
0
37
12
0
8
-34
-24
0
-7
-4
0
62
5
-3
0
77
-23
0
19
71
-16
0
12
-64
-15
-2
-15
9
0
0
-4
-45
42
0
-26
0
0
-14
-34
0
0
0
0
59
-12
0
49
5
49
0
55
18
0
-37
47
24
0
58
19
-8
-36
-13
-15
0
-40
39
9
-21
54
2
0
107
5
-4
-31
30
-36
0
44
24
0
12
30
-8
0
-32
-22
12
-37
-89
-61
0
0
-14
-24
91
-14
-2
-14
0
39
15
0
-1
12
0
-9
29
-1
-14
-3
14
0
52
-14
0
44
-14
-34
0
-11
18
0
-80
-99
5
0
32
-24
-5
90
-39
110
0
8
5
1
4
33
32
0
16
23
4
40
98
22
0
5
-2
0
25
-10
0
0
0
-9
73
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
16
0
0
0
21
0
0
-1
0
0
0
5
0
0
0
0
0
0
18
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
-5
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-7
-23
47
-4
-7
-25
3
29
-53
-43
2
4
-67
0
-55
4
-42
22
-1
-6
26
18
29
21
4
5
-31
0
0
0
0
0
0
0
21
-22
-20
-28
3
4
7
14
-45
26
9
-20
-71
19
-53
26
97
-60
-36
24
11
-17
36
48
-23
-59
-7
-7
-14
1
20
-23
4
25
-76
7
5
1
-102
-2
-8
-50
4
0
-27
15
-19
-9
-17
-12
3
-14
-16
6
-58
-7
28
-1
-58
-26
11
-5
-78
4
-6
-90
-7
6
-52
-38
4
14
-45
-4
-31
46
-42
-38
2
52
6
-19
-45
20
-34
-2
-1
-38
-9
60
35
94
6
-55
-66
28
6
33
-26
5
-10
-6
-13
50
-46
57
-8
22
-18
-3
48
-24
-16
-6
-45
15
15
39
34
13
0
40
-2
9
31
-7
-70
1
-13
-14
35
-30
31
62
0
-125
0
12
-26
17
0
21
-7
-26
16
34
-1
-53
7
-2
0
-38
24
-25
16
-8
-4
-79
-2
45
5
1
-12
33
-38
-13
21
-35
2
4
-12
-17
21
58
-8
-54
7
-161
17
-22
-19
38
-21
-1
-47
-21
13
29
-19
18
-9
-53
-12
-4
23
-24
0
26
-32
-6
13
8
-46
-61
21
-8
7
81
-60
48
22
11
-13
-60
56
-62
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
0
0
0
1
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
14
0
0
0
12
0
0
-27
0
0
0
-12
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-86
0
0
0
0
0
-1
-19
0
0
0
0
0
-7
0
0
23
-11
0
0
8
39
0
0
-16
0
0
1
-31
0
0
-10
3
0
0
-38
0
0
37
0
0
5
-2
0
15
0
0
0
0
8
0
0
0
0
0
0
19
77
0
0
0
0
0
-24
0
0
0
0
0
0
45
0
0
0
0
0
0
-20
0
0
5
0
0
-1
18
0
0
-6
-2
0
1
-29
0
0
3
0
0
0
13
0
0
0
0
0
0
-58
0
0
0
0
0
0
-39
0
0
0
0
0
0
3
1
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-4
0
0
0
0
-16
0
0
0
0
0
0
30
0
-13
0
0
0
0
-6
0
0
0
3
0
0
-7
0
-5
0
0
0
0
0
0
0
0
0
0
0
-6
0
24
0
0
0
0
4
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
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
3
0
0
0
-43
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
35
-1
0
0
-3
21
0
0
0
0
0
0
76
0
0
0
0
0
0
8
0
0
-3
0
0
0
4
0
12
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
-53
0
0
0
0
0
0
5
0
0
0
0
0
0
76
0
0
0
0
0
0
-7
0
0
-1
-4
0
0
-24
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
5
0
-1
0
0
0
0
1
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-3
-19
0
2
0
0
0
0
0
0
-14
-8
-1
0
-7
-8
0
0
0
0
0
0
0
0
10
0
0
0
9
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
-38
0
0
1
0
0
27
-3
0
65
-21
7
0
35
-12
0
0
-32
0
0
5
8
0
0
57
-7
0
30
-62
0
0
20
0
0
-2
-66
0
-33
-1
0
0
0
31
0
0
0
0
-3
0
-10
-2
1
0
0
0
0
0
0
0
0
0
0
0
28
0
1
21
11
0
1
-22
0
0
16
0
0
-16
4
0
0
-61
-8
0
0
24
0
0
-31
0
3
-1
-43
0
0
31
0
0
0
51
0
0
9
0
-3
0
-13
0
0
0
0
-75
0
18
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
0
0
0
0
36
0
-9
3
0
0
0
71
0
0
-1
1
0
0
-34
0
8
-8
0
0
0
-1
0
-1
0
0
0
0
23
0
-4
0
0
6
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-45
0
0
-92
4
4
9
13
0
0
10
2
0
29
-18
4
0
-54
-18
-1
0
0
0
0
0
0
0
-27
-8
0
0
-28
-3
2
-24
1
-2
0
0
0
4
-3
16
0
0
-53
0
-3
0
-7
-6
0
0
12
17
0
-64
0
5
0
-40
0
-7
18
0
0
5
33
0
25
-2
0
-8
-83
0
0
19
-44
0
0
-11
0
0
-42
-71
0
0
43
-2
3
47
12
0
0
26
0
-3
-14
23
0
16
-50
0
0
9
-3
0
0
-20
-14
38
0
-17
-5
4
0
14
0
0
-58
0
0
0
0
-3
-1
16
0
0
-1
31
-46
-27
23
0
5
-35
-12
14
-52
34
0
-3
33
22
-1
12
-56
0
-7
-33
-21
-95
8
-19
6
-4
-54
23
22
-8
13
0
0
1
5
-73
0
27
0
-12
-4
20
-23
0
-74
0
0
0
-1
-2
0
31
0
0
0
4
0
-2
20
-1
-55
1
0
2
0
54
0
0
-6
1
-8
-3
-63
0
-37
-20
5
-1
1
13
0
3
17
-6
0
0
-6
0
-19
14
16
-1
0
-33
0
-8
2
-1
4
0
-1
0
-19
0
0
-4
0
-39
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
12
0
0
0
0
0
0
10
0
0
0
5
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
0
0
22
0
0
0
-1
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-30
0
0
0
0
0
-1
0
0
6
-1
0
0
4
-8
0
0
-1
0
0
0
8
0
0
-1
0
0
-2
-9
0
0
-2
0
0
0
5
0
-2
41
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
-1
0
0
0
32
0
0
0
0
0
0
0
0
0
16
0
0
0
2
0
0
0
0
0
0
-2
0
0
-1
0
5
0
8
0
0
0
0
4
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
2
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
0
0
29
0
0
0
-1
0
0
0
0
0
0
4
0
6
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-23
0
0
0
-7
17
0
0
0
0
0
0
-64
0
0
0
0
0
0
42
0
0
0
0
0
1
14
0
-4
-5
0
0
0
5
0
0
0
0
-3
0
8
-2
0
0
0
0
0
-19
0
0
0
0
6
0
-4
0
0
0
0
-5
0
-30
0
0
0
0
0
-4
2
0
0
0
0
0
25
31
0
0
0
3
0
0
5
-1
0
0
0
0
0
-8
0
0
0
0
0
0
-5
5
0
0
0
5
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
2
0
0
0
0
-1
0
0
0
0
0
-4
-12
0
2
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
21
0
0
-64
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
46
0
0
0
-4
0
0
0
-3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-47
-4
0
0
-1
45
0
0
0
0
0
0
-31
0
0
0
0
0
0
-44
0
0
-2
0
0
3
-28
0
6
-3
0
0
0
-9
0
0
0
0
0
0
-35
3
0
0
0
0
0
-90
0
0
0
0
0
0
5
0
0
-2
0
-2
-5
-48
0
0
3
0
0
-1
-16
0
0
7
0
0
0
-9
0
0
0
0
0
0
0
0
0
-1
0
16
0
10
0
3
5
0
-1
0
-2
0
0
0
0
31
0
-24
0
0
0
0
0
0
43
0
0
0
0
0
0
22
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
-2
0
0
0
0
3
0
0
-6
0
0
0
-6
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-7
0
4
0
0
0
0
-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
-15
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-9
0
0
0
-6
6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
12
3
0
-7
5
0
0
-20
5
0
0
-8
0
0
0
10
0
0
1
0
0
2
-77
0
0
-3
0
0
0
-8
0
-32
0
0
0
0
11
0
0
0
0
0
0
-4
-2
0
0
0
0
0
5
0
0
0
0
0
0
36
0
0
0
0
0
-4
26
0
0
-2
0
0
0
-40
0
0
-1
0
0
-1
-33
0
0
7
-6
0
1
13
0
0
-7
0
0
0
12
0
0
-6
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
-12
0
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
16
0
0
0
8
0
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
11
0
0
18
-14
4
3
31
1
1
0
0
0
0
0
0
0
-53
36
6
-1
24
71
-15
-13
8
0
-3
48
-4
-41
-4
-21
0
0
18
0
-34
0
10
-2
0
0
-7
3
0
16
-18
-18
2
-26
0
0
-24
0
0
-95
-4
0
0
-25
0
-28
-66
26
0
27
-24
0
0
-36
0
5
-20
-16
0
0
-28
-58
0
-2
50
3
29
31
0
0
-106
1
0
-5
-89
27
0
19
-13
3
-1
-10
-7
27
0
-26
3
49
0
0
0
0
-1
5
13
0
-20
8
0
56
8
0
72
-82
-59
-27
-19
0
-8
-30
-2
-31
-13
-10
2
38
50
69
51
51
-3
-8
-19
1
98
-14
-5
-10
2
24
-45
-16
-55
30
18
0
-14
-25
-1
-28
-1
-36
0
0
-48
-2
9
0
-32
-12
0
0
-4
-24
0
-18
9
0
0
-7
0
0
-109
0
-27
-1
0
1
0
-40
2
-22
-22
22
6
0
16
0
-100
-14
-9
22
-5
-21
4
39
3
-3
-46
-7
-27
0
-4
-43
0
-6
7
8
0
-5
-27
25
66
0
-5
0
-73
-2
0
-52
0
5
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
0
64
0
0
-43
0
0
0
9
12
-2
0
0
0
0
0
0
0
-43
1
0
0
-30
5
0
-6
1
0
-2
41
0
-1
-6
-8
0
0
-1
4
-10
0
0
-13
0
0
0
4
0
34
-9
-21
0
-4
0
39
0
0
0
-33
2
0
-38
-15
0
-4
4
-39
0
-17
-8
0
-2
-40
0
0
-19
-34
0
0
55
-23
-1
37
-4
0
0
-22
-2
0
-21
-56
0
4
2
-2
-2
0
-41
0
0
-6
2
4
0
-32
-3
1
0
0
0
0
-15
1
0
0
-1
2
-9
0
0
0
10
0
-16
-13
-67
0
0
31
2
-18
51
-23
0
0
25
8
7
-5
-22
0
-21
2
-9
22
23
11
0
2
-18
-21
-1
-2
0
0
-10
-85
0
-56
0
-70
0
-1
-2
-5
70
0
-11
0
0
0
1
-1
0
-16
0
0
0
0
0
0
0
0
-61
0
9
0
0
-49
0
0
34
10
0
1
-25
0
-24
0
3
0
0
-45
0
-6
-18
-20
8
0
-36
0
20
84
-1
0
0
-41
0
5
3
-1
8
0
-68
0
-14
-1
0
31
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
2
1
0
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
0
0
0
-5
-1
0
0
8
0
0
0
-28
0
0
8
0
0
5
-8
0
0
1
0
0
0
17
0
12
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-34
0
0
0
0
0
0
30
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-2
4
0
0
0
-20
0
0
0
0
0
0
-30
0
0
0
1
0
0
10
0
0
-1
0
0
0
-2
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
2
0
0
3
-1
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
34
0
0
0
40
13
10
-16
-2
17
41
-8
58
0
0
0
0
0
0
0
-19
-72
32
-11
13
21
33
11
-48
0
10
8
-43
6
29
-13
20
-2
1
-1
-17
0
32
-61
0
-1
-59
2
-7
-9
-107
-87
0
-43
0
-46
17
-6
-1
6
12
42
-57
-48
5
-27
-21
-15
7
-34
-19
-6
49
-32
11
-3
-17
11
1
8
-66
-47
-7
9
13
-5
6
5
19
-8
-68
-20
-3
-11
-4
59
-35
-81
-10
7
-12
-42
8
8
-3
7
1
-18
-1
-2
0
0
-41
-17
4
0
-89
39
-28
-34
-2
-2
-5
52
-36
-87
-30
0
-69
-15
-4
-35
70
18
49
-43
-58
16
-25
-27
-5
-51
-67
6
8
31
-19
-18
78
15
27
-13
-30
33
6
-8
-18
36
-63
20
25
-14
-6
38
13
-13
12
-1
9
56
-8
2
45
-32
-4
-26
19
1
13
9
-3
-15
4
9
-23
-3
-14
-47
-34
-15
8
3
-42
-13
20
-11
39
-8
-55
-29
47
-5
-9
2
48
-16
-30
20
36
-39
-71
4
36
38
-95
-5
18
-23
-1
-42
10
-104
23
14
-32
-20
-7
-28
-21
11
0
-3
-57
-6
5
20
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-10
0
0
57
0
30
2
-14
0
13
-31
8
-10
0
0
0
0
0
0
0
-10
-1
-1
-3
4
0
8
-5
2
0
0
-20
0
-34
-58
-25
0
0
-20
0
14
0
-25
-48
0
0
0
-8
0
7
-27
59
0
0
9
57
-4
0
0
74
0
5
-16
-37
0
-20
21
0
3
-37
-21
0
6
-36
0
-4
-51
7
0
0
12
0
0
-18
-5
8
2
-22
0
6
38
-31
0
9
12
22
-1
4
1
0
0
-13
0
-95
4
-5
-42
5
0
0
2
0
39
-7
0
0
0
-30
-16
-49
0
-2
5
-8
-57
47
13
0
-2
16
0
9
72
-49
0
-10
-5
0
-66
-60
-19
0
45
15
24
24
12
-31
0
-32
5
-24
-15
14
12
0
0
0
0
33
-24
-23
0
-1
34
1
2
0
-2
-34
0
-9
1
-9
0
-5
27
0
0
6
0
12
-53
0
-26
3
8
-108
-9
-1
0
29
-64
0
3
-13
-3
0
-60
13
0
21
25
-34
5
0
-57
21
12
43
-14
1
96
2
0
3
-26
-26
-6
-39
-18
0
29
-3
-36
0
24
2
0
31
0
-15
-42
0
6
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-8
0
0
0
-20
-43
0
0
0
0
0
0
0
0
9
0
0
0
-114
0
0
-8
-2
0
0
-19
12
0
0
-59
0
0
27
8
15
0
0
19
0
0
0
0
0
-8
0
0
0
4
0
-1
16
0
0
0
0
0
-29
9
0
23
3
41
0
52
10
0
0
56
0
0
-21
-25
0
0
-46
14
0
9
52
0
0
-119
0
0
-34
21
0
-5
13
-5
0
-17
25
0
0
49
0
0
0
-32
1
0
0
0
0
0
-47
0
0
0
0
0
0
6
0
0
-3
1
0
10
5
0
0
-49
0
0
-27
54
0
0
19
16
0
9
36
0
0
-79
-16
0
7
-24
0
0
47
5
0
-4
-11
0
0
41
0
0
-1
-55
0
0
1
0
0
0
-20
-4
0
0
0
0
0
42
-7
0
0
-8
0
0
4
0
41
0
0
0
0
10
0
0
1
0
0
0
28
0
9
24
-12
0
0
-43
0
1
-1
6
0
0
23
0
-15
8
8
0
0
25
0
-8
-8
-1
0
0
60
0
5
0
0
0
0
-40
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
-48
-68
-34
-47
-5
-26
57
0
0
0
0
0
0
0
-48
10
16
-8
12
-110
-38
11
14
-29
-47
17
-24
-13
-51
0
-116
-10
-6
20
-45
5
7
-14
-9
-13
-26
-58
0
-6
-7
-30
8
-7
31
-5
10
-56
-22
25
-36
24
29
-29
27
-21
1
-12
-8
-37
1
20
34
7
55
-44
-2
1
-1
83
-2
1
-26
-34
3
-9
-9
-16
-53
13
-33
-9
5
16
-9
2
-33
-6
-27
2
-20
-26
-32
-68
-12
-21
24
5
-82
-23
27
5
-6
-15
-52
-39
-28
4
33
2
-10
-27
-23
26
10
-10
-8
0
-1
4
-39
-6
-67
23
-52
8
5
8
19
4
-27
-40
17
24
-20
6
-13
-18
-47
28
-20
39
33
-60
-16
-39
42
44
14
-1
-86
13
40
20
-4
15
4
16
0
-26
4
25
-7
30
-2
11
12
29
23
-39
-7
-27
-12
27
-34
-7
34
40
-55
-12
-26
9
-18
-48
75
-53
15
-30
6
-9
-27
27
2
-17
9
-27
8
43
11
29
14
-80
8
-57
16
-6
41
-26
-56
52
0
-10
8
35
14
-69
-17
-34
-8
23
17
25
17
-32
-29
-10
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-2
0
0
0
-3
0
0
0
0
0
0
0
0
40
0
0
0
-18
0
0
20
0
0
0
-11
0
1
-1
-8
-2
0
1
0
10
0
-2
-1
0
0
0
-3
0
40
0
4
0
0
0
0
-43
0
0
-1
0
0
1
0
0
-45
-3
-4
0
-27
9
0
-1
16
0
0
-8
40
0
0
51
4
4
-37
-14
0
0
-4
0
0
14
40
0
-35
69
3
0
0
-121
0
0
15
0
0
0
-4
-2
0
0
-2
0
0
54
2
0
-8
8
0
8
-44
0
0
-3
-5
1
-34
0
0
-9
25
0
1
-1
-50
-4
23
-4
10
1
6
4
0
4
25
-7
2
-2
7
-1
1
11
5
0
-14
50
0
-3
2
0
0
0
-32
0
0
0
0
37
0
-73
0
0
0
0
0
0
-53
-2
0
0
4
0
5
-39
0
12
0
0
0
5
0
0
0
0
13
0
0
-88
1
9
0
-1
0
0
-15
2
-3
-3
-6
0
0
14
0
-16
16
-12
0
0
-67
0
-1
-4
0
0
0
19
0
-13
0
0
-21
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
42
0
0
16
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
10
0
0
-8
0
0
0
0
20
0
0
0
0
0
0
60
0
0
0
0
0
0
8
0
0
0
0
0
0
23
0
-8
0
0
0
-3
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-2
0
0
0
-24
0
0
0
0
1
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-4
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
-4
-4
0
0
-3
-15
0
0
0
0
0
-1
15
0
0
0
0
0
0
19
0
0
5
0
0
0
3
0
8
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
66
0
0
-2
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
6
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
5
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-5
0
0
-19
26
-27
0
0
0
0
0
0
0
-73
7
0
7
-7
0
9
-11
13
-2
0
16
0
0
16
0
8
0
12
0
12
0
0
-1
0
0
2
0
0
-53
24
8
0
-34
0
53
-70
0
0
0
0
0
-32
-23
0
-18
17
60
0
-28
-56
1
8
-18
0
0
-3
8
0
0
75
8
0
24
-13
0
0
-32
2
0
10
35
0
-52
11
0
0
0
13
0
0
-14
-1
5
0
-38
-18
11
1
17
0
0
-2
-5
0
0
0
-1
-2
22
0
0
0
-9
-36
4
-17
0
2
0
-1
34
-6
84
4
-4
39
15
13
-9
-7
-4
-5
46
14
1
1
-15
0
11
-42
-3
-2
-13
42
0
-10
12
-7
3
0
-17
0
1
14
-1
-9
0
16
0
0
0
-2
4
7
2
2
0
0
0
6
0
17
0
48
0
2
0
-2
-7
17
7
0
3
0
-6
-14
-1
-65
4
0
-4
1
3
-1
6
-14
-1
7
-7
10
1
18
-6
0
5
-6
-21
-4
7
24
0
-3
0
10
1
68
5
2
-23
0
-61
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
0
0
0
0
0
0
0
0
0
13
0
0
0
30
0
0
25
0
0
0
1
0
0
-12
0
0
0
0
0
2
0
0
9
0
0
0
0
0
33
0
0
0
0
0
15
-18
0
0
-8
0
0
-7
-6
0
20
65
0
0
-3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
2
0
0
0
14
0
75
7
0
0
0
-9
0
0
-2
0
0
0
-18
0
0
0
0
0
0
-16
0
0
0
0
0
0
60
0
0
0
0
0
-5
32
0
0
-8
0
0
0
43
0
0
-19
0
0
0
-14
0
0
-3
0
0
0
28
0
0
-1
0
0
0
-46
0
0
1
0
0
0
14
0
0
0
0
12
0
-35
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
-1
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
-9
0
0
0
-4
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
64
0
0
0
0
0
-8
0
0
-10
6
-27
0
-5
-31
0
0
-16
0
0
3
-132
0
0
11
0
0
2
54
0
0
22
0
0
0
73
0
10
1
0
0
0
-52
0
0
0
0
0
0
-32
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
-5
-1
0
0
36
0
0
3
0
0
-4
43
0
0
16
-2
0
0
-16
0
0
8
0
0
4
-65
0
0
86
0
0
0
-53
0
0
0
0
0
0
7
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
-5
0
0
0
0
-48
0
0
1
0
0
0
-5
0
1
0
0
0
0
-16
0
0
0
0
0
0
-4
0
8
0
0
0
0
-17
0
0
1
0
0
0
-26
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
37
1
17
-8
-7
-66
-32
-27
0
8
20
20
-39
-4
-4
-3
0
19
8
-40
0
18
-53
0
4
-3
22
1
29
47
-2
3
13
0
-2
-25
10
0
-60
-22
4
-25
2
-1
-70
-75
-15
0
6
-64
-8
2
-32
0
13
-73
-49
0
-42
2
-89
14
-27
-2
1
32
-10
6
-4
37
21
0
33
-16
-18
-33
-7
-6
55
8
58
34
36
0
-17
-28
90
0
1
6
-1
13
-22
1
-9
5
-33
18
-24
-23
0
-24
-16
-34
30
1
0
-12
-9
-4
83
-29
-22
-31
-4
-32
55
-31
75
12
-6
32
28
-54
-54
97
17
37
-98
-35
25
-2
-11
17
2
2
2
-41
22
21
25
-12
5
39
68
-66
0
17
-19
30
0
55
-8
7
30
14
0
1
10
0
3
-22
2
-52
43
0
30
1
-50
1
1
-17
17
3
11
40
6
-44
-43
21
8
16
-30
13
-48
5
57
-5
-4
7
-4
73
-53
-1
5
0
-13
3
39
-3
-40
-17
0
41
6
4
7
-2
-10
0
-15
-25
4
1
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
4
-24
0
-5
-33
-1
0
-1
32
0
0
12
5
0
0
0
0
39
0
0
-5
0
0
0
-12
0
-45
4
0
0
-3
0
-21
30
0
0
0
0
0
-21
-13
2
-17
-39
0
0
-49
0
3
-2
-5
0
0
73
-13
0
0
37
6
3
-28
43
0
-1
36
0
2
0
44
1
-37
-31
-3
5
-6
-22
0
0
-2
4
-13
0
-23
2
0
0
0
0
0
-27
0
0
0
-1
0
-6
24
0
0
-4
0
0
15
8
-1
0
8
-2
-3
-18
0
0
3
-29
9
0
6
-9
7
-7
-103
-19
0
-9
2
0
-5
-44
29
1
-5
-21
0
-2
28
0
-2
-2
-58
0
7
-2
0
22
0
-3
0
-2
0
0
-7
0
-90
8
0
0
0
0
0
30
0
-11
0
5
0
-2
-66
0
8
1
0
-6
6
0
0
-3
42
0
0
5
-50
0
-2
-15
9
0
0
-33
5
20
6
0
3
0
-65
0
0
13
-4
0
0
0
-1
9
0
0
3
0
-39
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-26
0
0
-49
0
0
0
35
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
-29
1
0
0
0
0
0
8
0
0
4
0
0
2
-16
0
-53
-4
0
0
-8
4
0
-8
0
0
0
-5
39
0
0
-7
7
0
2
-58
0
0
48
0
0
0
51
0
14
-16
0
0
0
-6
0
0
0
0
-2
0
12
1
-3
0
0
0
0
-4
0
0
0
0
0
0
3
0
-4
0
-1
0
0
-39
0
0
0
0
-1
-1
30
0
0
2
-3
1
2
23
0
0
-8
0
0
0
31
0
-1
5
-5
0
-3
-35
0
0
0
0
1
0
-22
0
0
4
0
0
0
12
0
0
0
0
-5
0
-38
0
0
0
0
0
0
-5
0
-1
-2
0
0
0
-8
0
1
3
0
0
0
-21
0
30
1
0
0
0
8
0
-2
-4
0
0
0
-1
0
10
0
0
0
0
11
0
4
1
0
0
0
48
0
8
0
0
-1
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-22
0
0
0
0
0
0
60
0
0
0
2
0
0
0
0
-3
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
3
-27
0
0
-1
0
0
27
0
0
-20
-4
-5
0
-32
4
0
0
-3
0
0
-25
9
0
0
24
-3
0
2
-28
0
0
10
0
0
-16
-47
0
52
62
0
0
7
18
0
0
-2
0
0
0
14
5
0
0
0
0
0
-78
0
0
0
-7
0
1
-64
0
0
-20
0
0
2
-58
0
0
15
0
0
1
29
0
0
-18
16
0
0
-32
0
0
2
7
0
0
-54
0
1
-6
1
0
-1
-3
0
0
-8
0
0
0
-7
0
0
0
0
-4
0
-34
0
0
0
0
0
0
-17
0
0
0
-1
0
0
40
0
4
0
3
0
0
-21
0
6
-2
4
0
0
13
0
1
-6
0
0
2
-21
0
0
22
-5
0
0
-7
0
27
-1
0
0
0
-13
0
13
1
0
0
0
41
0
0
0
0
1
0
-16
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
36
11
-31
21
0
-12
23
-107
8
-1
-13
19
-9
53
-6
13
0
-9
34
-27
3
-27
-105
0
13
24
-65
9
21
-77
-48
0
-28
-1
86
-19
-1
-4
-5
-23
-46
1
9
9
-11
33
16
0
31
1
2
-22
-55
13
0
-7
-39
-1
-16
-5
19
-15
-27
11
-5
-30
25
-13
62
26
23
25
6
78
31
45
2
-9
-24
-4
-8
-14
11
-1
5
-18
-91
4
-25
5
-17
13
68
13
0
31
23
4
3
-4
0
-27
-20
-40
37
4
2
-7
26
21
12
-52
1
53
8
-65
-36
9
63
-38
-38
4
-15
4
12
12
-36
73
39
21
-44
-14
-4
8
-5
-38
-10
-52
-28
-38
13
-8
-18
69
-10
-29
10
10
67
34
2
6
4
-1
12
-58
-4
-1
63
28
21
-3
15
43
-5
-11
15
-7
14
0
-36
-67
-51
16
-1
-7
24
7
-17
-88
14
43
-35
-27
-28
-7
19
37
38
-12
23
-10
-39
25
-53
-43
5
-25
-2
60
19
74
32
-16
-2
-23
-43
4
11
4
12
-8
-9
3
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
5
3
5
14
0
6
-68
-4
0
0
36
1
14
6
-8
0
0
-1
0
-7
0
-7
-16
0
0
0
15
0
0
42
-3
0
0
0
-8
-10
0
0
-23
0
0
3
0
3
-29
-20
0
0
14
9
0
0
-31
0
-1
3
-34
-1
10
37
0
0
-9
-56
0
0
3
4
0
18
22
0
17
-2
0
14
-3
-53
-6
0
5
0
25
0
-17
63
49
0
0
0
0
-33
4
0
0
0
-2
11
-14
0
22
9
0
14
39
-5
0
0
-32
3
-36
-7
-1
3
-5
20
0
0
-76
4
0
-5
-52
-8
-13
-4
-43
-1
0
10
0
-2
-7
-15
0
13
-20
0
-24
1
38
-2
16
-2
0
-19
0
6
0
0
0
0
-2
0
17
0
6
0
0
7
-3
26
14
5
13
0
0
-8
-1
-3
0
-32
0
4
2
-19
0
0
-17
1
0
0
-26
0
-24
-34
0
-1
0
-27
0
31
-31
0
0
-4
-38
-2
-6
9
0
-3
0
18
5
-28
-1
0
-10
0
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
21
0
0
-16
0
0
0
-36
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
8
1
0
0
-1
0
3
19
0
0
0
0
0
-17
0
0
-28
-31
20
0
-67
-10
0
-3
-3
0
0
-3
-40
0
0
-35
-4
0
100
38
0
0
-19
0
0
0
1
0
-21
-8
1
0
0
0
0
0
0
0
0
0
-12
0
-2
0
0
0
0
-39
-4
0
0
0
0
0
-75
0
0
8
4
0
-7
-57
0
0
-3
0
0
-18
13
0
0
66
-2
0
15
-29
0
1
-52
0
0
-2
4
0
0
13
0
0
-5
-91
0
0
-18
0
0
0
27
0
-3
0
0
0
0
-6
0
0
0
0
0
0
-42
0
0
0
0
0
0
10
0
2
0
0
0
6
-52
0
0
3
0
0
0
0
0
25
8
0
0
0
-56
0
0
15
5
0
0
-99
0
4
2
0
0
-3
8
0
0
0
0
0
0
-8
0
15
0
0
0
0
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
8
-1
94
18
-22
0
-24
24
-2
51
13
-86
0
8
-1
0
-2
23
-9
0
8
-31
7
24
14
0
-23
-22
10
0
-24
2
-5
-26
-28
7
-12
-8
8
0
-72
0
-5
28
-18
-6
3
-6
-24
0
5
7
-3
0
60
-108
-5
13
-4
-7
3
-9
19
-4
11
5
-4
-28
0
2
11
-24
4
4
-60
0
2
-91
-37
-2
39
5
1
-19
57
7
0
12
41
-19
-32
5
71
-51
-38
8
-79
29
4
-50
48
-7
0
-12
0
32
-34
4
34
53
-20
17
30
41
-23
30
-14
3
-14
38
70
-41
1
-26
-1
8
-4
42
22
-21
12
-2
-55
35
-46
23
0
-2
0
6
24
13
0
7
-2
-2
19
-6
-8
-5
-22
-5
10
-20
-7
18
12
-10
72
75
-18
0
-59
1
61
30
-2
-19
-2
15
-77
22
-14
14
24
2
-60
4
16
-19
12
7
2
26
1
32
15
-1
39
18
7
-42
15
13
8
-20
-25
-47
18
-1
54
0
2
4
-9
-10
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
0
-1
12
0
0
-2
1
0
0
0
0
34
0
0
1
0
0
0
20
2
35
6
2
0
-1
0
-4
-11
0
0
-4
0
0
98
-6
0
-6
45
5
0
-17
39
0
1
23
0
0
-2
-35
0
0
-37
20
0
-85
0
0
10
-78
-5
0
-18
66
0
-17
48
5
0
0
-11
0
0
8
1
0
0
-65
23
13
0
0
0
0
-17
0
0
0
0
0
0
81
0
-3
0
-2
0
-10
-40
0
4
-3
0
0
1
25
0
-7
-6
30
0
-52
23
0
3
40
-8
0
37
0
2
3
32
-10
-2
2
-22
0
0
-23
0
8
0
-7
0
0
0
3
-3
0
-38
0
0
0
6
0
0
-24
6
0
0
0
0
0
1
0
-18
0
0
0
0
21
0
0
-3
1
0
0
24
0
-4
12
-2
0
5
-77
0
-12
-6
-1
0
0
0
0
-4
7
0
0
0
16
0
-1
-2
0
0
0
-11
0
-5
-1
-6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-65
0
0
1
0
0
0
0
0
-17
-6
-1
0
4
10
0
0
0
0
0
-5
36
0
0
-6
0
0
-16
-5
0
0
5
0
0
0
9
0
43
0
0
0
0
-22
0
0
0
0
0
0
-28
0
-4
0
0
0
0
-31
0
0
0
0
0
0
18
0
0
-3
0
0
0
-84
0
-1
0
0
0
2
24
0
8
0
4
0
0
-4
0
0
22
0
0
0
6
0
0
-5
0
0
0
8
0
-7
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
2
0
0
0
0
37
0
0
5
0
0
1
-12
0
6
3
0
0
0
-5
0
0
0
0
0
0
-12
0
6
0
0
0
0
-1
0
0
-2
0
0
0
11
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
15
0
0
4
0
0
0
6
0
0
0
0
12
0
0
1
0
0
0
0
0
-19
0
0
0
0
0
6
-20
0
0
0
0
0
26
60
0
2
-11
-2
0
-31
-7
0
0
17
0
0
-1
-51
0
0
1
0
0
2
-29
0
0
22
0
0
0
16
0
4
3
4
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
-49
0
-1
3
0
0
0
49
0
0
5
0
0
0
-14
0
0
-2
17
0
0
-82
0
15
32
2
0
0
-62
0
0
-28
0
0
3
-46
0
0
-16
0
0
0
-15
0
18
7
0
0
0
-18
0
0
0
0
0
0
32
-4
0
0
0
0
0
-2
0
3
0
0
0
-1
-30
0
0
3
0
0
0
-23
0
-2
0
-1
0
2
68
0
0
-1
1
0
0
18
0
-8
1
0
0
0
-72
0
-4
-2
0
0
0
-57
0
-14
2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
26
4
-3
-82
-13
-35
14
1
-3
20
126
11
-27
12
16
-33
0
3
59
-45
-12
-18
-3
-31
-31
-12
18
-11
10
-2
2
-23
4
-23
57
52
-9
4
14
9
46
-23
8
1
-63
-29
6
-4
-38
-15
3
-35
-20
2
7
25
-2
5
5
-36
38
-1
-10
41
-14
-4
-15
-48
23
21
-28
1
-10
66
-8
-7
16
-26
-36
44
-2
-46
-11
-11
-25
3
-27
-89
5
7
25
16
13
-50
-42
20
-4
28
-4
14
-84
30
51
16
15
4
11
-63
45
-15
24
12
-35
-5
-79
-39
39
-41
-2
0
-45
54
-40
8
76
21
5
18
94
58
65
4
-38
-43
20
3
4
-40
-41
-13
-28
-47
-39
-2
26
5
6
-21
-15
6
-47
-4
-45
29
17
33
8
17
-16
0
-15
-30
-16
-42
-42
116
26
21
10
27
-28
23
27
1
-61
-66
7
-44
-33
28
40
70
-39
-2
23
33
2
28
49
-40
-86
-44
62
27
61
3
-13
24
30
29
-22
-47
9
-34
-22
-7
40
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
-19
0
0
9
24
0
0
18
0
-9
0
0
-1
0
5
0
0
0
-47
2
0
0
0
0
8
16
0
0
6
0
0
-9
1
0
-62
-23
-2
0
63
24
0
0
27
0
0
3
55
0
1
-53
0
0
21
-21
0
0
-59
0
0
-8
-50
0
-26
32
0
0
-3
-32
0
-1
8
0
-2
0
-47
0
0
0
0
0
0
-50
-5
0
0
0
0
0
-7
0
6
-18
0
7
-6
18
0
2
-15
0
-3
4
-25
0
8
59
4
0
11
21
-3
0
16
0
18
-2
-43
-4
6
-9
0
0
-1
22
0
0
-18
0
-1
-1
32
0
0
-6
0
23
0
-36
-6
4
0
0
0
0
-36
-7
0
0
0
0
0
-53
0
-7
0
0
0
0
-10
0
0
-2
0
0
1
-6
0
6
29
-1
0
-6
2
0
-2
7
0
0
2
43
0
45
0
0
0
0
61
0
0
-2
0
0
0
-28
0
60
-2
0
0
0
21
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-1
0
0
72
0
0
0
-2
0
0
-1
2
0
0
0
-8
0
0
16
0
0
-10
0
-8
0
5
0
3
-13
0
0
5
0
0
-11
1
0
-29
-3
-24
0
-36
38
0
-2
1
0
0
-11
-28
0
0
-41
1
0
-27
-25
0
0
11
0
0
30
-7
0
-23
-2
17
0
0
-13
0
0
0
0
0
0
-32
48
0
0
0
0
0
4
0
0
0
-2
0
0
-36
0
5
25
0
0
5
-26
0
0
14
0
0
-1
-35
0
0
22
14
0
14
-6
0
-3
-40
0
0
-2
60
0
-5
6
-5
0
15
-45
0
0
-3
0
0
0
12
0
22
-1
7
0
0
-38
0
0
0
0
0
0
4
0
0
0
0
0
0
55
0
1
0
0
0
0
-24
0
5
0
0
0
-7
-63
0
37
10
0
0
0
6
0
1
36
0
0
0
10
0
9
-12
0
0
0
-36
0
-1
0
0
0
0
8
0
9
0
0
0
0
87
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
53
2
10
-6
-37
0
20
-24
0
1
-60
-26
0
-2
-26
-8
-73
49
0
-4
-11
8
-3
-13
50
-64
-40
-20
-1
18
-18
-1
8
4
26
-18
44
24
45
-6
-28
8
39
-6
-9
-28
29
-72
-19
2
-52
-3
46
2
-3
-6
-5
19
14
-89
-10
-6
-19
0
61
-23
-56
-21
0
8
-100
-20
-23
-35
-5
-3
-21
59
-15
-45
-37
40
-76
-11
-2
-14
-21
-39
15
-85
-20
0
10
36
19
-4
27
-19
47
-47
-7
0
9
-19
5
-50
-2
11
-4
1
22
2
-31
46
25
-36
2
-9
-21
-1
-1
27
-55
-6
6
-1
8
-61
-4
-56
-45
0
-7
-41
15
-7
-121
-13
0
3
-14
-4
5
11
-67
-54
-24
30
5
-17
22
24
6
-22
-1
6
7
-1
27
20
-35
10
12
-29
82
17
-14
17
-5
-50
48
72
48
-37
-40
-40
40
43
14
-6
-60
0
-9
37
-12
-87
32
0
-28
-31
-25
35
63
-60
-3
-21
-6
-10
-41
-14
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
12
0
2
-6
0
0
38
4
0
0
0
0
-8
13
0
0
-7
0
0
43
-23
0
53
19
-4
0
26
-8
0
0
21
0
0
59
63
0
8
8
-3
0
7
-74
0
0
50
0
0
-33
0
0
-82
-34
2
0
0
-20
0
2
-1
0
1
0
-4
0
7
0
0
0
0
-8
0
0
0
0
0
0
-18
0
3
-21
-2
30
5
-18
0
0
1
0
-3
1
15
0
0
-48
-2
-2
-3
72
5
0
-17
0
-14
15
-63
0
-6
-5
1
8
-5
0
2
5
-22
0
0
7
90
0
4
0
1
1
0
-58
-8
0
0
-1
8
0
38
0
0
0
0
0
0
28
0
4
2
0
4
0
6
0
0
0
0
0
-3
52
1
73
0
0
0
0
-40
0
-2
11
4
-2
0
-40
0
40
-20
0
0
0
0
3
-5
-15
0
0
0
9
0
0
-1
0
-1
0
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-1
0
6
17
0
0
0
0
0
6
0
0
14
-1
0
0
-2
32
0
0
0
0
0
6
29
0
0
0
0
0
1
20
0
0
-4
0
0
-4
2
0
4
0
0
0
0
16
0
0
0
0
0
0
-28
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
9
0
0
53
0
0
0
0
0
0
3
0
0
1
0
0
0
5
0
0
2
0
0
0
-19
0
0
2
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
-6
0
0
0
0
5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-40
0
0
0
0
0
-1
0
0
-7
0
0
0
41
-41
0
0
1
0
0
-1
-31
0
0
-4
3
0
-4
-20
0
0
-8
0
0
1
-23
0
-10
2
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
-2
0
0
-12
0
0
6
0
0
0
5
0
0
0
0
0
0
-5
0
6
1
0
0
0
6
0
0
-1
0
0
-3
-49
0
0
0
0
0
6
-22
0
0
0
0
0
0
0
-1
0
0
0
-2
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
10
0
0
0
4
0
0
-2
7
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
-5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-37
16
0
0
62
-38
3
-13
-45
0
0
-8
2
-2
4
-2
-39
-3
-47
-4
-24
-10
0
0
1
-1
5
28
8
0
-9
-21
-8
0
-42
8
1
-3
-72
-6
7
35
3
0
4
-87
51
0
-70
-26
1
5
3
7
0
13
-14
-2
9
0
-17
4
11
31
-1
-3
10
51
-57
0
-8
30
-61
0
3
0
0
-8
-5
0
-1
24
-1
-39
-38
4
27
4
7
-10
-22
-13
0
19
33
-10
-22
-48
-14
-38
-48
19
-14
8
-23
-18
-53
-7
44
47
-59
-12
-13
43
-23
-45
-16
41
21
-47
-6
-16
6
-17
-32
-2
-22
-3
73
8
20
-23
0
-3
-15
-2
0
60
90
0
-22
-26
0
0
0
-2
0
-48
-2
41
-2
-18
0
-19
-4
0
-4
-53
62
-6
4
10
0
9
12
29
59
15
21
-3
12
33
-3
9
9
11
0
34
-20
14
-57
15
-18
15
-54
-60
-49
37
0
-15
6
7
1
-3
9
0
-6
12
0
-7
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
117
0
0
0
0
0
0
0
0
0
-13
0
0
-7
0
0
6
46
0
0
-6
-19
0
0
8
0
0
0
16
0
0
-2
0
0
-3
46
0
0
-3
0
0
0
-73
0
-84
58
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
-46
0
0
0
0
0
0
10
0
0
10
0
2
0
-25
0
0
11
0
0
0
70
0
0
-9
0
0
0
-16
0
0
-16
0
-1
1
-59
0
0
0
0
0
0
-15
0
0
5
0
2
0
34
0
0
-3
0
-15
0
18
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
-8
-4
0
0
0
38
0
-2
0
0
-1
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
-4
4
0
0
0
-4
0
0
0
0
0
0
69
0
5
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
12
-2
3
0
0
0
44
-8
0
0
7
0
0
51
-19
0
-47
-62
-33
0
-74
-1
-1
3
-43
0
0
35
-8
0
0
-15
-8
0
16
-61
0
0
5
0
0
51
108
0
-2
-25
-5
0
1
-6
0
1
0
0
0
0
9
-3
-3
0
0
0
-2
-23
0
0
0
-1
0
0
-49
0
-5
-1
0
0
9
52
0
9
-34
0
0
-19
34
0
0
68
-7
0
2
-3
0
0
-19
9
0
-27
20
0
-5
16
15
0
3
25
0
0
-12
0
0
-3
24
2
7
6
-4
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-3
0
0
0
8
-21
0
0
17
0
0
0
43
0
-2
-8
-8
0
-2
-9
0
0
-53
0
0
0
17
0
-6
4
0
0
0
-7
0
4
38
0
0
-3
-21
0
-4
0
0
0
0
-65
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
0
3
0
0
10
-3
-6
0
7
0
-14
-73
0
0
-21
-1
0
17
-69
0
38
25
8
0
-60
17
0
3
44
0
0
-5
25
0
0
-1
5
0
0
-11
0
0
-10
0
0
0
-28
0
-77
-39
-4
0
0
40
0
0
26
0
0
0
23
15
1
0
0
0
0
-17
0
0
0
-5
7
0
-85
0
0
0
5
3
0
17
0
0
15
0
4
22
-10
0
-2
33
96
-9
-3
-14
2
-5
-52
-20
18
3
6
-13
24
-26
9
14
7
15
5
-14
1
-1
70
0
0
0
-4
51
8
-54
0
-21
-7
0
0
6
4
0
-56
2
0
0
-1
0
0
-29
0
16
0
0
9
0
23
0
0
5
-19
2
0
-48
0
5
24
0
0
-6
-10
0
-22
-11
-13
4
0
-45
0
23
18
3
6
-1
-3
0
-16
8
3
1
0
11
0
21
2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-38
0
0
48
22
0
-27
-8
-4
-2
-77
0
-18
-45
0
0
23
5
6
16
32
0
29
-30
-34
0
41
-27
0
2
25
0
-1
7
16
0
-1
3
0
0
-55
-18
0
3
-22
3
0
34
16
0
33
38
25
9
-21
0
20
19
26
17
25
0
5
-8
-7
0
22
0
2
-21
14
0
0
17
39
11
-28
0
0
23
-19
1
-29
-40
3
-2
24
-6
-39
60
-54
-2
2
-21
-64
-2
-5
30
-39
-35
-80
-28
-49
-54
65
-5
-61
36
-21
-63
3
33
8
-10
70
25
-35
-2
0
0
29
-14
10
10
0
-62
-11
0
0
14
-1
0
-12
-2
0
0
0
4
0
-14
0
-121
17
-10
15
24
-23
0
-10
-25
-1
34
-3
-37
0
28
-16
7
8
3
23
-1
-17
50
37
15
-1
-31
2
45
15
19
10
-2
26
-15
-6
40
12
-71
0
0
0
-69
9
-1
64
4
-90
-32
0
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-15
0
0
0
1
0
0
-25
0
0
0
0
0
-6
0
0
12
34
0
0
1
-11
0
0
-9
0
0
0
-58
0
0
2
2
0
5
-39
0
0
0
0
0
1
22
0
13
24
0
0
0
8
0
0
-5
0
0
0
9
-5
0
0
0
0
0
-47
0
0
0
0
0
0
25
0
0
0
0
0
0
45
0
0
8
0
0
0
-10
0
0
3
0
0
-1
-4
0
0
10
2
0
0
12
0
-4
3
-1
0
0
87
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
69
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
-1
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
-2
0
0
-12
-72
0
-9
-56
0
-36
-8
0
0
-69
4
-8
19
3
0
35
-56
-43
1
6
-24
0
-3
-74
0
0
-46
17
0
0
-46
10
0
-31
17
0
5
19
0
0
7
-16
0
-41
2
5
0
4
16
0
0
0
10
7
0
28
-53
24
0
0
0
0
-5
48
0
0
-2
-27
-11
-11
0
0
-25
70
-21
-3
-18
0
0
-75
-4
-42
-14
-27
2
9
-11
-44
-8
14
-2
6
25
-2
25
-20
13
-2
-7
-3
2
42
-33
0
0
0
0
0
7
-67
0
25
7
1
0
-16
-89
0
-11
-19
0
0
7
3
0
-14
0
0
0
-3
0
0
35
0
-16
20
0
-18
-4
-23
0
-9
-7
4
44
-14
-20
0
-22
30
0
32
-2
-29
0
-4
-16
3
25
0
-41
0
25
0
30
-29
0
19
0
0
0
28
32
0
-23
0
-53
0
2
-26
0
24
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-1
-72
0
0
30
0
0
-4
1
0
16
-12
0
0
0
-40
0
0
-40
0
0
1
-18
0
0
29
0
0
3
2
0
0
6
0
0
0
-1
0
-39
-4
0
0
0
23
0
0
-1
0
0
0
8
8
0
0
0
0
0
-35
0
0
0
0
0
0
26
0
0
10
0
-2
0
-35
0
0
-3
0
-7
0
-79
0
0
-2
0
25
-2
-81
0
0
48
0
-3
0
-50
0
0
10
0
0
0
8
0
0
1
0
18
0
-31
0
0
0
0
5
0
-16
0
0
0
0
0
0
59
0
0
0
0
0
0
2
0
0
0
0
0
0
-65
0
0
3
0
0
0
-23
0
8
-2
0
0
0
-3
0
0
-3
0
0
0
-4
0
-1
-1
0
0
0
-56
0
0
-5
0
5
0
3
0
-5
0
0
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-23
0
0
2
0
-5
27
-17
29
-2
7
0
-2
3
0
5
-17
-2
0
-28
14
0
-24
-63
-28
0
-48
-19
9
-6
-13
25
0
-10
5
0
-19
26
43
0
45
-24
0
-3
3
-12
0
24
-11
0
0
-19
-1
0
15
-32
55
2
-52
-3
0
0
-9
-114
5
3
13
0
0
-22
-69
6
26
31
0
23
12
0
8
61
16
2
8
20
0
24
6
-16
0
-6
-6
30
24
-40
-38
-9
10
12
25
52
2
38
0
16
28
7
52
9
49
0
39
15
0
7
-31
7
0
85
-55
14
26
-22
61
0
0
-12
-23
-1
12
4
0
0
-27
-64
0
2
-9
0
-33
-30
2
-39
-33
13
0
-64
-16
24
-10
-2
-110
0
13
20
-10
-54
-2
-7
0
-11
17
-5
-12
30
0
0
29
-6
0
43
-57
3
0
-30
90
3
-9
-50
13
0
-22
-30
-1
-68
21
3
0
0
9
27
155
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
2
0
0
-43
0
0
0
0
0
0
0
0
4
3
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
1
0
-3
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-2
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
4
0
0
8
0
0
-49
0
0
-1
0
0
-17
-18
0
-23
-54
-4
0
-25
28
0
0
27
0
0
2
-51
0
0
14
7
0
52
-17
0
0
-27
0
0
1
-29
0
-40
-5
0
0
0
-5
0
0
-5
0
3
0
0
0
2
0
0
0
0
-24
0
0
0
0
0
0
-32
0
0
1
-8
41
-2
20
0
0
7
0
3
0
-11
0
0
53
1
14
3
-36
0
0
25
1
-1
0
12
0
0
17
0
3
-1
9
0
0
0
0
-20
0
-43
0
0
-1
0
-17
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-27
0
0
0
0
0
0
31
0
0
-6
0
0
0
-3
0
17
6
0
0
0
-12
0
2
0
0
0
0
-21
0
23
-10
0
0
0
-3
0
0
0
0
0
0
-82
0
-7
0
0
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
-4
0
-1
0
-14
10
0
0
2
0
0
-1
-19
0
-3
-9
-44
0
13
6
0
-1
0
0
9
-62
-9
0
0
-1
-2
0
-55
-19
0
3
-12
0
0
50
-67
0
-66
-22
12
8
14
48
0
0
-10
-5
6
0
-80
0
40
-1
0
0
0
6
-4
0
0
-10
-3
0
-18
0
0
-20
13
-61
3
7
0
0
-9
0
36
48
-22
0
-1
-51
56
-25
3
13
0
-2
-33
25
34
1
-28
2
2
-3
49
-15
-1
28
0
-8
-4
0
-37
0
20
0
-4
5
-5
-8
0
-43
0
0
0
0
-43
0
-3
-1
0
0
0
0
0
-28
0
5
0
0
7
0
-10
0
0
25
-8
6
4
12
0
26
5
-9
0
0
3
0
1
-15
8
0
0
-17
0
0
3
5
0
0
-33
0
-13
-1
5
0
0
41
7
52
-9
0
6
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
5
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
7
4
0
0
6
-14
0
0
3
0
0
0
-46
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
8
0
0
0
0
-1
0
0
0
0
0
0
-35
0
0
0
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
-3
0
-3
0
0
0
0
1
0
2
0
0
0
-5
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
2
0
0
0
-4
0
0
2
4
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
7
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
1
0
0
21
0
0
-1
0
0
17
-26
0
0
-2
-59
0
0
-7
0
0
-5
53
0
0
-6
-3
0
0
-45
0
0
-8
0
0
-3
42
0
9
-5
0
0
0
0
0
0
0
0
0
0
-12
6
24
0
0
0
0
82
0
0
0
0
0
0
-9
0
-4
0
0
42
0
-23
0
0
4
0
8
0
-23
0
0
4
0
0
0
-18
0
0
-3
0
1
0
-14
0
0
44
0
0
0
-94
0
0
19
0
25
0
-7
0
0
0
0
-128
0
41
0
0
0
0
0
0
-25
0
0
0
0
0
0
48
0
1
0
0
0
0
-24
0
19
0
0
0
0
55
0
-8
0
0
13
0
-9
0
0
0
0
2
13
-7
0
-8
0
0
0
0
4
0
0
1
0
6
0
-37
0
-4
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-24
12
0
0
0
12
-7
0
0
4
0
0
8
29
0
64
6
-25
0
-24
1
2
0
-32
0
0
6
-30
0
0
45
12
0
20
-27
0
0
-2
0
0
-1
-38
0
-7
-47
0
0
4
-76
-2
0
4
0
0
0
-12
9
3
0
0
0
0
-2
0
0
0
0
0
6
10
0
0
0
1
0
4
26
0
0
20
0
0
57
51
0
1
-78
55
0
-52
12
0
0
45
0
0
-9
-24
2
-9
19
6
0
6
23
0
0
55
0
2
0
-10
0
8
-6
48
4
0
-25
0
0
0
0
0
0
2
0
1
0
6
0
1
10
0
-1
-1
0
0
2
28
0
0
5
0
0
0
-19
0
-7
-6
5
0
0
-27
0
-2
6
-1
0
0
-3
-2
3
0
0
0
15
-47
0
-2
0
-22
0
0
81
-3
-19
0
0
0
0
24
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
26
0
0
0
0
5
0
0
0
0
0
0
-29
0
0
-6
0
0
0
-77
0
0
0
0
0
0
0
0
27
0
0
0
0
-4
0
0
0
0
0
0
-24
3
0
0
0
0
0
-44
0
0
0
0
0
0
-8
0
0
0
0
0
0
-26
0
0
6
0
0
0
-25
0
0
0
4
0
0
32
0
0
-2
0
0
0
34
0
0
-3
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
-15
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-7
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
17
-26
7
27
21
4
29
-4
2
-3
-9
9
13
-4
1
-27
9
-26
-75
41
1
-31
-49
28
-30
-81
-2
-8
-22
6
-4
8
-43
59
-35
44
-6
6
10
-1
2
-3
-32
24
1
8
30
8
-5
30
41
2
11
-9
-19
0
56
-42
15
10
-49
-36
6
-65
-7
-36
-41
-10
4
14
16
-54
-23
-7
10
-28
12
11
-13
41
-20
-2
18
7
-49
-50
2
-16
10
20
8
76
-6
-11
-19
29
-32
-1
-2
31
17
23
6
17
4
-3
5
-2
-18
20
-72
-31
40
-32
-12
-15
8
-3
0
-1
-23
-2
-84
-86
7
9
6
15
34
-62
73
2
8
40
-44
16
-1
-5
44
-1
-48
24
-49
-23
-4
39
44
-92
62
-27
-39
22
-107
15
-10
-46
35
-9
-76
81
0
13
-5
-13
-51
-64
-16
-3
-1
5
-22
8
17
10
-5
-44
25
9
19
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
-27
0
0
-7
-1
0
44
-8
0
28
-82
-10
0
-16
6
0
0
40
0
0
33
15
0
0
22
-7
0
-15
-45
0
-1
-62
0
0
9
-41
0
53
-40
-1
0
-37
-68
0
0
23
3
6
0
22
0
-2
0
0
0
0
16
0
0
0
2
3
1
-27
0
0
-23
1
29
6
-9
0
0
94
-10
-7
1
-19
0
0
-33
67
54
3
-11
-2
14
-7
-4
-2
0
27
0
18
-48
-9
-3
-2
-85
0
-4
26
1
27
0
-55
0
0
1
-8
-56
0
-34
0
0
0
-1
7
0
-2
0
0
0
0
0
0
13
0
12
-1
1
-4
0
-46
0
0
28
-10
9
-2
41
0
5
11
2
-7
0
-97
0
1
16
3
0
-1
-11
0
-58
5
0
2
0
55
0
-8
-4
0
0
0
60
0
-32
0
0
10
0
-11
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
-7
0
0
15
12
0
0
-8
-23
0
14
20
0
0
-8
-8
0
10
9
0
0
5
7
0
20
-48
0
0
12
-14
0
0
-28
0
22
7
-4
0
-7
-53
0
0
-30
0
3
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
8
41
0
0
-4
2
-19
4
13
0
0
-6
0
32
0
-35
0
-8
-5
-3
19
0
22
0
0
-11
-7
-28
0
1
0
0
-27
56
4
0
-26
0
4
7
0
0
0
-8
0
0
0
0
-57
0
15
0
0
0
0
0
0
-3
0
0
0
14
0
0
11
0
0
0
4
0
0
-83
0
-1
-1
0
0
0
-53
0
0
-4
-2
0
0
7
0
0
-27
-1
0
0
-12
0
1
2
0
6
0
-44
0
1
-1
0
7
0
-144
0
-1
0
0
-4
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
0
0
-67
0
0
0
-6
-36
0
0
2
0
0
-3
-10
0
0
5
0
0
24
-32
0
0
38
0
0
0
-57
0
31
0
0
0
0
-16
0
0
0
0
0
0
-17
0
9
0
0
0
0
-53
0
0
0
0
0
0
1
0
0
0
0
-6
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
25
-16
-4
0
8
0
0
-5
0
5
0
34
0
0
0
0
-3
0
7
0
0
0
0
-30
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
13
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
-46
0
0
1
0
0
0
5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-31
0
0
64
0
-3
-29
-138
0
-44
-5
0
0
5
-64
0
0
-69
0
1
22
-13
0
0
-16
0
0
-48
53
0
0
2
0
0
-3
-19
0
14
-62
0
0
21
-25
0
0
14
0
-1
0
-20
-12
25
0
0
0
0
45
0
0
0
0
-34
-5
-4
0
0
13
0
25
24
-66
0
7
-23
0
33
-29
-31
0
12
3
0
6
16
-37
0
-1
-24
0
1
4
25
9
6
4
0
8
-4
-28
0
0
79
0
16
10
-49
0
0
55
0
34
0
-12
-8
0
0
0
2
0
-25
0
0
0
0
0
-5
2
0
-1
-5
0
1
5
-49
0
-1
-20
0
5
0
19
0
13
49
0
15
0
18
0
0
88
0
-1
0
1
0
-25
80
0
0
0
5
0
1
53
0
-5
0
16
-1
60
76
0
-45
0
-41
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
-1
0
0
-2
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
-36
0
0
4
0
0
0
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
8
0
0
0
1
0
0
0
0
0
0
7
0
0
-9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
41
0
-26
-32
-23
-3
26
-17
0
0
-19
0
0
-19
-8
0
3
17
-10
0
-29
-43
0
0
-6
0
4
-54
-25
0
-1
-76
5
24
13
-70
3
0
1
0
8
0
35
-32
-31
0
0
0
0
10
2
0
0
0
20
0
40
0
0
-47
16
-8
0
14
0
8
-62
0
-43
-3
8
1
7
21
-49
-3
2
-20
0
-1
12
19
-63
1
-15
7
-29
-32
3
5
-16
1
0
-3
-39
-1
3
0
-38
3
0
9
-5
39
0
19
5
0
0
0
51
0
-15
2
0
0
8
0
0
27
1
-47
0
0
0
0
8
0
0
-74
25
5
0
-37
0
0
-55
1
3
0
40
0
12
-11
-32
-4
-1
24
0
-53
63
1
4
10
-13
-1
5
1
-4
-20
0
1
0
-9
0
0
52
0
-43
16
1
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
15
-13
-16
-23
2
4
-6
-61
-46
-25
-63
-83
20
2
-41
-4
-10
16
0
8
-11
-74
35
-26
-58
-120
-1
-23
-49
-19
21
-4
-13
-25
-9
-12
-13
-30
-30
-5
2
-17
0
-14
-31
71
-29
-14
-29
-67
-27
12
-25
-38
-15
0
-7
-46
11
-50
-8
-33
-2
-30
12
31
43
30
-3
2
-17
6
-29
-71
1
-13
1
-38
-25
-18
-23
-30
-19
-10
-2
38
9
2
-5
-48
9
-104
1
11
-43
-22
12
1
46
-102
-21
-31
25
-2
21
-6
21
-42
30
-28
6
-21
40
1
-43
-43
-5
-42
0
-44
46
-39
6
69
-54
-14
-10
27
-8
-1
-29
-13
-32
-89
-11
15
-30
15
-13
-21
-68
10
29
-13
-60
-5
12
18
-21
15
-7
46
12
16
-19
31
-33
-5
-75
-50
23
-25
-7
-46
-96
17
5
-3
43
41
-61
-48
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
14
-49
0
0
1
0
0
0
40
0
0
8
0
0
0
-19
0
0
0
0
0
0
-3
0
-1
6
0
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
-44
0
0
0
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
16
0
0
0
17
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
-17
0
0
1
0
0
0
-35
0
0
0
0
0
0
-55
0
0
0
0
0
0
5
0
-3
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
18
1
-24
-3
-32
0
-10
-15
0
9
0
-3
0
-39
21
0
1
-38
-40
0
24
15
0
-5
-63
13
0
-65
-6
0
3
-25
-14
3
32
7
0
2
-24
2
-30
0
12
-22
38
0
0
1
0
-40
-1
0
0
-2
91
-7
42
0
2
0
4
36
-4
27
0
-1
2
7
-29
3
0
3
-56
-34
-47
29
2
-17
3
8
-2
-25
104
-13
-21
3
-1
59
-32
-20
24
8
5
-2
-38
28
-4
0
-16
0
18
15
5
47
0
15
1
0
0
10
-29
0
-26
-31
0
0
-9
0
0
14
0
42
0
-3
7
1
-23
16
0
0
3
9
-1
9
0
-21
-12
2
-2
0
-101
0
10
74
21
-8
6
-15
-8
16
18
2
-3
0
2
-5
6
-18
-2
-9
0
-8
0
-18
1
-5
36
0
-12
-17
2
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
-84
0
0
0
-1
-9
0
0
1
0
0
0
22
0
0
-1
0
0
7
53
0
0
-7
0
0
0
3
0
50
-7
0
0
0
40
0
0
-6
0
2
0
64
-1
2
0
0
0
0
-47
2
0
0
0
0
0
40
0
0
-5
0
-17
8
14
0
0
-7
0
5
0
0
0
0
-3
1
-3
4
-19
0
0
-2
0
1
0
-7
0
0
9
0
20
0
-7
0
0
-9
0
1
0
16
0
0
0
0
-52
0
-36
0
0
0
0
0
0
50
0
0
0
0
0
0
-44
0
-2
0
0
0
0
-30
0
0
0
0
-3
0
-1
0
-20
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
23
0
0
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-68
8
0
0
1
-16
0
0
-5
0
0
6
-33
0
0
8
0
0
0
9
0
0
4
0
0
0
-58
0
-46
-7
0
0
12
-12
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-87
0
0
0
0
0
0
23
0
0
0
0
0
0
133
0
0
-2
0
0
0
5
0
0
1
30
0
0
-12
0
0
-2
0
0
0
-5
0
0
-1
0
0
0
-9
0
0
6
0
0
0
-2
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
51
0
7
0
0
0
0
-36
0
0
-3
-10
0
0
3
0
0
3
0
0
0
-7
0
0
8
0
0
0
0
0
-6
-2
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-28
0
-4
-64
-5
1
60
-15
0
3
4
-131
-14
-40
17
0
-1
-17
3
0
3
-1
0
12
9
-44
-1
-62
53
43
6
-48
14
98
0
-9
13
22
0
-3
4
0
-19
-6
0
-3
-3
22
0
-10
-1
36
-17
64
35
-10
-3
0
-2
-35
44
36
5
25
-9
-21
-18
72
-20
-73
6
30
53
50
68
13
-3
34
-3
-40
15
52
-19
22
-22
-3
46
41
1
31
0
-17
2
6
-39
-41
13
1
42
5
5
0
12
2
0
10
-23
5
0
4
0
-4
15
3
-19
48
-2
23
13
-29
-8
18
-42
-5
-30
12
-47
1
-31
-16
7
1
8
-36
8
49
62
-41
-19
1
-10
3
-26
-61
42
-12
0
-14
3
16
15
-17
56
-3
-18
4
-16
12
-8
-72
0
-40
-8
-9
4
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
0
-2
56
-7
0
20
-29
0
1
-25
23
0
-12
8
0
0
-11
0
8
51
2
2
-33
-53
-8
0
63
-16
0
0
-6
-1
-17
0
12
35
-24
0
0
0
0
-2
3
0
1
0
-8
39
32
0
0
-4
-41
-36
-7
0
1
45
1
1
-26
8
7
0
39
17
-22
17
45
7
5
-17
-46
-25
-9
6
-3
-1
-5
28
-52
4
-12
-8
-4
-7
83
-4
-24
5
-20
1
4
-30
-29
-9
0
22
-3
0
0
0
4
0
-86
4
0
0
0
0
1
-59
0
53
0
-6
-2
1
0
0
-2
-13
2
-1
-7
-17
0
-55
25
6
5
4
-9
0
7
-34
2
0
-33
-45
0
-8
21
-8
2
0
10
2
-5
8
42
30
1
48
0
9
3
0
-48
0
18
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-61
0
0
-4
-1
0
0
-61
0
0
0
0
0
0
-57
0
-19
7
0
0
0
3
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
7
0
-5
0
0
0
-2
0
0
1
0
0
-1
0
0
0
5
0
12
-2
0
0
0
8
0
0
0
0
-13
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
1
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-19
-48
10
-28
-17
-1
-19
1
-6
11
6
7
17
-11
-3
-38
6
19
85
-26
-10
31
28
16
-45
20
61
7
-3
9
-48
23
4
2
-3
12
-53
-101
8
45
6
-2
8
-15
-4
4
-80
-61
-18
-9
28
-8
10
-48
19
-15
-65
0
14
21
-97
-4
40
7
-2
-2
-1
-41
25
0
18
99
-62
6
1
21
43
12
-40
5
28
2
-19
22
7
18
69
-42
-67
19
25
12
53
8
5
38
12
34
14
-70
-6
-20
-22
49
-1
-12
35
2
9
-69
-21
-39
-19
-50
4
-59
-60
-29
-25
21
27
10
32
31
25
75
-30
-5
-3
19
-40
-4
-53
-7
57
-4
95
6
91
-61
-59
-42
11
46
-51
37
-7
10
40
54
30
-31
26
-1
-16
8
-41
-53
4
16
3
-1
-58
-6
-4
9
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-27
13
22
-4
-14
1
-62
8
0
20
-59
-15
8
10
25
0
5
-26
-56
-2
-66
3
1
-20
-43
-39
-7
18
13
9
4
-50
-35
-20
5
1
-12
-90
2
-36
-2
0
22
5
-5
2
-28
21
51
-37
-4
-11
0
16
-20
-1
3
0
-31
8
25
44
-24
1
-29
-30
-73
-18
7
-26
0
16
-19
-16
4
50
-68
5
4
-3
-22
-42
64
-60
5
3
18
-70
-3
-29
6
-49
7
14
35
17
39
-3
-1
-11
1
-1
3
7
0
-2
-29
0
0
-5
14
0
-10
-12
-20
1
4
58
-3
38
-1
-10
-6
-76
52
11
-23
5
-61
-2
-23
2
-9
11
-1
-12
-15
25
10
33
-25
0
-30
17
-3
-13
58
-22
22
58
-19
12
-54
0
-16
0
-22
22
6
14
0
9
-52
5
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
6
0
0
-51
0
0
-53
-28
0
5
-22
0
0
-17
-5
0
0
-22
0
0
-28
-44
0
17
33
0
-1
12
-85
0
-1
-31
0
-20
0
10
19
-69
0
0
0
0
11
-1
0
0
0
-12
16
-38
0
-1
32
0
11
38
-21
0
1
-6
0
-52
-49
6
0
-10
-50
-1
22
20
-32
0
2
54
-18
-29
-43
-49
0
2
3
-2
-6
50
-12
0
19
-1
-1
-4
-13
-50
20
-5
15
0
8
0
27
0
4
0
-4
-30
0
-4
-38
0
0
0
7
0
-49
0
23
-13
0
79
9
36
0
6
-15
0
5
3
-16
0
-30
51
0
-8
0
21
-1
9
-18
0
17
0
-60
0
52
10
7
1
0
-46
0
1
58
0
41
9
-51
0
90
-6
0
19
0
-7
23
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
-86
0
0
-2
0
0
-1
-19
0
0
0
0
0
0
4
0
1
4
0
0
0
-29
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
2
0
0
25
0
0
4
0
0
0
-5
0
0
1
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-44
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
0
-10
19
5
9
-112
30
1
5
20
-3
-41
-53
24
0
-21
33
-20
9
34
-48
10
-2
48
8
42
0
3
7
-6
2
-20
-7
1
-26
5
-4
0
-26
7
9
-18
-24
-22
-19
0
46
47
24
0
29
-24
5
23
24
22
-1
96
-25
-27
1
-4
-46
-18
-8
-33
-19
39
-47
-41
3
-51
-22
-50
-12
-10
13
-10
-8
-31
0
63
70
38
21
-22
17
3
16
0
17
-8
5
-1
1
-15
0
9
-98
-1
6
24
13
-14
-6
4
15
-34
1
-14
18
-15
0
5
-17
11
5
20
26
-1
1
-5
8
-9
0
-5
12
31
-37
-11
5
18
14
0
7
-33
-1
-8
-28
31
-8
8
1
-102
3
5
43
-15
-43
52
0
18
0
7
10
-12
9
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
16
25
3
-8
24
-41
-15
34
12
-68
42
17
31
-30
-9
26
6
12
-16
-50
39
-29
21
-26
17
24
4
3
-7
-3
-26
-37
75
-56
-33
-6
25
-1
67
-44
32
-57
-17
37
54
27
-30
-15
8
-17
-20
40
-43
-25
-18
-83
0
32
-79
5
-22
-44
-56
12
3
5
-8
48
34
-26
0
-95
-72
-7
-5
51
1
4
121
-5
-22
-28
-14
25
-32
56
18
20
2
16
25
15
-7
-49
-32
62
36
-38
12
6
-39
-27
48
-8
-25
-30
-61
-17
-26
15
-1
-31
-2
-18
-89
-33
-27
-10
-25
0
-5
29
2
14
2
-1
-49
-51
-13
-6
48
-38
-9
6
-76
38
1
-11
-5
-19
-8
4
-53
-6
-20
-15
57
-23
-40
6
19
32
-9
14
-10
-7
-10
16
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-57
0
0
54
0
0
-2
-77
0
0
0
0
0
0
-7
0
10
0
0
0
0
11
0
0
0
0
0
0
-80
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
-1
0
0
0
27
0
-3
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
24
0
0
25
3
0
0
28
0
0
3
0
1
0
-14
0
23
10
0
0
-1
87
0
0
0
0
0
0
68
4
0
0
0
0
0
18
0
0
0
0
0
0
26
0
0
0
1
0
-1
-16
0
0
0
0
-5
0
-26
0
0
0
1
0
-2
-16
0
-3
-9
0
-7
10
9
0
0
-12
0
0
-1
6
0
-1
-6
0
-8
-7
11
0
-4
0
0
25
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-58
0
0
8
10
0
0
29
0
-3
0
0
0
0
5
0
0
8
-1
0
0
-12
0
0
16
0
0
-4
29
0
2
0
0
0
0
-12
0
-2
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-41
-4
31
-11
-8
-6
-23
22
0
16
-2
-1
0
-4
22
0
19
-29
15
0
10
-24
2
-7
10
-1
-66
0
18
-12
-63
0
7
0
0
38
-31
3
0
0
-1
-65
-18
0
-5
31
-51
3
21
4
4
-13
-16
-2
29
-49
-33
0
19
-38
-37
34
-7
-11
-8
-18
-61
0
41
-95
13
-4
-16
28
-98
-7
-23
18
0
2
-117
-2
44
50
-23
-6
20
10
25
5
0
42
-23
0
0
6
7
0
29
0
6
0
25
0
-19
-20
0
-3
21
-1
21
30
4
0
14
5
69
-71
0
21
0
41
37
-2
2
-36
-16
3
25
16
10
-2
-59
18
-7
-14
46
-5
0
-1
10
0
47
-73
20
-9
10
4
3
24
24
0
18
0
37
-13
8
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-66
0
0
41
0
0
0
-38
0
44
0
0
0
0
44
0
0
10
0
5
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
-43
0
0
0
0
6
16
40
0
0
-1
0
0
0
44
0
0
2
0
0
0
9
0
0
-2
0
0
0
-3
0
0
5
0
0
0
-3
0
0
0
0
-8
0
8
0
0
0
0
6
0
-119
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
4
0
0
0
0
-47
0
0
-3
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
19
0
8
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
0
3
0
0
0
-5
-4
0
0
-3
0
0
0
16
0
-56
2
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
38
0
0
0
0
0
0
-50
0
0
0
0
0
-3
-2
0
0
3
0
0
-5
34
0
0
6
0
0
0
11
0
0
5
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
2
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
4
0
0
1
0
0
0
-3
0
-3
-4
0
0
0
-14
0
0
0
0
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-22
0
4
-11
3
0
6
-17
0
-14
-9
-3
-3
5
-33
-1
3
-8
0
64
0
-37
-7
54
0
0
3
0
-30
-30
0
1
-5
3
38
23
0
-23
-54
29
-26
16
46
0
2
51
1
18
-4
-27
-2
-5
-64
-44
-3
14
4
0
29
39
0
-1
14
-19
0
5
18
-28
23
-9
25
0
-12
86
1
-20
-3
-22
-1
-2
3
4
26
0
-15
0
25
0
3
0
8
-41
4
0
0
8
0
6
10
0
2
0
0
-8
0
-14
0
17
33
-2
-4
24
46
0
-41
-21
0
-9
0
11
-1
2
-57
13
0
0
22
0
44
-98
0
0
-3
-98
0
17
-55
-12
0
0
-22
0
-30
6
0
-6
0
-52
-14
2
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
11
-6
-23
-11
-19
34
14
19
-12
-1
14
-53
-61
2
31
-47
-14
-2
-40
1
-2
10
-26
41
14
-26
-29
83
-3
27
-37
-3
85
-30
-23
-15
48
-4
23
4
-1
-20
-5
-36
12
5
-15
18
-37
5
-12
2
-10
-2
4
-39
0
30
-4
20
44
3
-58
1
-15
-2
-33
28
-24
-50
-12
-10
-8
-43
19
9
-16
-18
34
-49
23
-20
1
-21
-19
-91
-21
-26
-45
-8
-31
-17
-2
-4
-53
-61
-15
-51
-7
-17
29
10
-56
-24
67
-7
59
33
-14
-84
-24
-11
-4
-77
4
-18
21
-61
44
0
20
23
71
-8
68
27
-18
-24
2
24
-64
61
-52
-6
63
-47
-6
-14
12
-101
18
-25
-57
59
5
-11
13
6
-60
-13
54
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
-42
0
1
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
-1
0
0
-1
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
7
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-17
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
0
-4
0
0
0
-17
0
-2
-5
0
0
0
54
0
0
0
0
0
0
27
0
0
0
0
0
0
-54
1
0
0
0
0
0
43
0
0
0
0
8
1
49
0
0
1
0
0
-3
0
0
0
0
7
-1
0
14
0
0
-1
0
0
0
-2
0
5
36
-1
0
0
-147
0
0
0
0
0
0
6
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
0
2
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
-1
0
0
0
0
-32
0
-1
9
0
0
0
-14
0
5
1
0
0
0
4
0
0
-5
0
0
0
18
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-47
-1
43
-25
-13
-1
48
-2
0
-3
79
-133
4
-25
-30
10
21
2
40
39
0
6
-80
5
0
46
4
0
13
-27
0
0
22
-3
-31
9
6
-34
20
3
25
13
-43
5
1
35
-1
20
80
0
-6
7
-16
-34
-36
25
21
5
-1
-30
8
2
40
5
42
54
-36
46
-39
17
-13
0
-32
-17
-2
1
20
-51
8
-29
-5
32
1
0
19
7
-10
0
7
19
0
-11
64
0
12
40
0
-10
38
8
66
25
8
65
-18
-42
0
17
63
-7
-5
26
-15
21
61
-34
43
8
56
-19
56
-6
18
-19
0
54
-38
17
-23
-34
-4
-39
-6
8
3
-32
38
-13
-23
14
-6
2
-16
-21
13
-13
0
-2
30
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
11
0
1
8
0
4
-7
-10
0
41
-46
0
-7
-5
-40
2
0
-1
0
-19
0
-18
-70
-4
0
0
0
0
14
13
0
0
0
0
0
-60
0
1
16
0
48
-39
49
0
-3
-33
0
9
-63
20
0
-2
36
0
-16
29
-3
0
-7
43
0
0
8
41
0
-6
30
0
-6
-2
-37
-3
-6
17
0
-11
0
-9
0
16
-6
0
-19
0
5
0
-8
0
0
-1
0
-57
6
0
0
0
0
0
-31
0
-51
1
0
0
5
40
0
-1
17
0
0
-1
-46
-2
-15
-16
1
0
2
5
0
-8
-78
8
0
-2
4
-2
-14
14
0
0
0
-44
5
-1
17
0
5
0
24
0
-34
3
0
11
0
-13
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
57
0
0
-2
0
0
-3
12
0
12
0
0
0
0
2
0
0
-1
0
0
0
42
1
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-115
0
0
0
0
0
3
-33
0
0
-3
0
0
0
-38
0
0
2
0
0
0
-23
0
0
-6
-1
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
0
0
1
0
0
0
-25
0
0
3
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
-13
34
20
7
-4
-73
0
3
-23
0
-13
0
12
21
-35
0
-13
0
0
7
-30
0
0
5
-1
23
54
0
33
-21
-71
-22
44
40
0
1
-60
-14
28
-72
-8
0
-13
-24
12
-12
-12
10
0
-53
-2
-1
-1
4
-8
0
44
-20
24
-3
4
-7
-1
58
-2
0
-22
-4
9
32
2
-9
2
31
0
19
4
-6
0
0
-17
0
33
-26
0
4
8
0
-1
83
-1
7
0
-5
4
15
-5
0
9
90
29
0
-10
-58
10
-3
31
15
1
-4
53
-1
54
43
-42
0
0
-21
-2
-22
-10
5
1
4
-11
14
-11
7
-6
2
2
4
0
-55
8
0
34
0
1
-5
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-36
13
-12
-26
-27
-27
-32
17
-38
-1
8
39
-95
6
-6
24
-4
-15
-51
36
-51
15
15
-44
-10
28
-14
63
14
-5
-44
15
17
25
-1
3
24
0
29
30
1
1
2
-26
-2
-8
-14
10
-13
-18
-8
-21
0
-28
10
5
0
29
-3
4
-5
-2
-11
-30
2
-57
2
0
-3
82
-8
-96
-53
28
-27
-11
0
-11
19
-62
16
-8
-41
-10
46
43
-76
-93
22
-38
-30
-2
25
-29
18
20
17
-55
22
-93
7
15
-17
12
-11
3
22
4
-19
5
-18
7
23
0
47
-26
-4
-16
-13
0
-92
3
-44
-2
2
40
-27
16
24
-11
21
19
42
-6
-88
11
5
-45
5
-4
1
64
-8
-39
18
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
30
0
-5
4
0
0
0
4
0
0
0
0
0
0
-52
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
1
0
0
0
0
-49
0
0
-1
0
0
0
5
0
0
0
0
0
0
-20
0
0
1
0
0
0
47
0
0
0
0
0
0
-58
0
0
0
0
0
0
16
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-72
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
0
-19
-2
0
0
0
-17
0
0
0
0
0
0
49
0
0
0
0
0
0
-16
1
0
0
0
0
0
-22
0
0
5
0
0
0
63
0
0
0
0
-10
0
37
0
-1
2
5
14
-13
-74
0
0
-21
1
1
1
-27
0
0
-19
0
24
0
80
0
0
0
0
0
0
-4
0
3
1
0
30
0
-19
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
3
0
0
0
-46
0
0
0
0
0
0
-32
0
-7
0
2
0
3
0
0
0
4
-1
0
0
-15
0
5
-2
0
0
0
-43
0
0
0
0
0
0
-5
0
5
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-38
0
29
-5
-32
-16
8
-10
61
-6
-4
-2
7
0
3
27
-16
0
-31
1
1
-6
19
-2
0
12
12
-61
-6
-18
26
52
43
64
90
6
0
-36
-11
-2
43
74
14
-25
6
-33
-9
-20
-27
0
16
29
-54
-22
-18
-14
-13
-2
-26
44
-35
1
43
3
-3
-6
6
2
121
-2
5
-9
-7
9
13
59
0
-17
-16
19
0
2
7
0
-27
-42
0
3
-7
-5
-6
0
-7
-68
-18
10
-13
-35
-17
8
61
32
-29
-18
18
-22
3
6
-29
-28
-54
-23
3
38
-40
43
-41
-5
17
-19
-5
-7
26
-12
18
15
-11
31
65
-63
-8
75
0
-28
7
0
-6
1
69
0
32
14
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
0
-22
-1
0
0
0
19
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
0
0
0
0
0
-1
-32
0
0
0
0
1
1
-43
0
0
-2
0
0
0
-39
0
0
20
0
0
8
-14
0
0
7
0
0
0
-30
0
0
-5
0
0
0
56
0
0
2
0
0
0
13
0
0
-1
0
-6
0
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
6
-6
0
0
0
9
0
0
17
0
0
0
-30
0
-5
0
0
0
0
34
0
0
-2
0
0
0
5
0
-3
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
21
0
0
0
0
6
0
0
0
0
0
0
21
0
0
0
0
0
0
26
0
0
0
0
0
0
32
0
0
0
0
0
0
-25
0
0
7
0
0
-2
-120
0
0
-12
0
0
1
-102
0
0
-13
0
0
0
-3
0
0
3
0
0
0
15
0
0
0
0
0
0
26
0
0
0
0
0
0
-90
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
5
0
0
0
-8
0
0
0
-3
0
0
-14
0
0
-1
0
0
0
-22
0
0
0
0
0
0
24
0
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
-6
42
42
13
0
-35
20
-16
4
-4
0
0
-14
-8
0
0
4
33
-5
13
0
3
84
42
-75
34
-28
0
-42
-11
0
-82
50
-31
8
-4
-39
31
11
-1
26
-6
-8
-25
-12
-34
12
19
13
18
-12
14
-71
0
-16
1
33
119
0
-52
0
-4
0
19
1
0
-4
0
-27
0
-1
0
-29
2
0
-11
0
0
0
4
0
0
-41
0
-57
0
5
6
1
-74
0
-26
-94
-70
-4
-6
0
0
19
48
-6
12
-8
31
4
16
-76
-12
-19
-13
59
0
17
41
-4
13
0
4
-3
10
14
-4
-9
0
47
0
-18
0
0
23
0
-53
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-20
-8
-19
-49
-59
5
-28
-77
82
131
-44
6
-6
-11
-109
6
15
11
-32
17
-17
-12
45
7
-6
23
-15
-9
5
-15
-23
10
18
-39
6
21
22
5
-26
-50
41
-1
15
-28
-18
-32
-43
30
13
-57
29
-12
-30
-31
27
0
-55
-54
27
23
12
45
-13
6
-20
-25
-26
-2
-3
-7
7
-9
0
-58
-35
-7
10
-2
-15
24
21
-6
58
-8
-1
2
-37
-58
9
-26
-11
-1
-31
-25
16
8
39
-41
-7
-15
-29
-1
-92
31
-11
-36
1
-11
6
-56
-20
-3
19
17
25
-27
-83
-51
0
-44
-21
38
-51
-39
-7
33
-6
26
3
0
14
7
9
34
9
-33
-15
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
-7
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
7
52
2
-11
-61
-1
26
-41
-2
-3
-22
-4
10
11
-18
-2
-19
-14
-26
121
-24
9
24
19
10
17
1
5
-1
-2
-32
-42
21
-63
-19
-18
-86
19
35
-32
-42
-3
69
-34
13
46
11
42
5
23
-24
-28
-8
-28
-88
11
5
-27
9
8
41
51
3
-3
1
-11
5
-9
-2
12
35
-5
-7
20
41
0
7
0
-1
42
20
27
-14
-7
-32
34
-36
22
12
6
-36
17
30
22
-10
53
-72
-40
6
-28
-13
-111
8
-45
54
3
-11
14
-41
20
23
26
2
44
69
-37
-15
-9
-30
16
3
-19
21
9
16
30
-17
-91
-81
-37
8
0
30
-13
-17
0
-8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-11
0
13
0
32
25
0
46
2
82
0
12
0
0
8
-33
29
-1
-23
95
11
19
-5
17
-18
-78
-10
-88
-26
-3
-6
38
4
34
-9
5
-7
4
58
9
-5
-54
3
1
-39
59
-13
-60
41
-70
7
-20
-116
-34
-2
0
-31
7
52
-13
3
-29
-15
-69
1
-14
0
23
7
0
40
-3
-2
0
-51
22
0
-26
8
0
-1
-12
5
1
-8
-5
-29
45
5
4
6
-29
0
0
11
-29
-13
13
-19
0
-15
13
30
-24
47
-42
5
45
53
-86
-45
-2
-23
5
56
17
29
10
-1
-40
21
56
0
-4
8
-7
4
-8
53
0
-12
30
0
3
17
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-56
2
4
2
0
1
0
-7
0
-2
0
0
0
0
18
0
0
9
0
0
-1
22
0
0
10
0
-57
1
-41
0
0
5
0
-12
28
-23
0
1
-41
0
44
-8
-38
0
7
-41
0
3
0
-18
0
0
48
0
24
8
14
0
-1
-10
0
-7
0
-22
0
10
18
0
-7
0
29
4
-1
7
0
-9
0
0
-1
0
0
0
0
0
12
0
-2
2
0
0
0
-89
0
0
0
0
0
0
-5
0
-16
-4
0
27
0
-27
0
4
15
0
0
0
74
0
-17
7
0
1
0
48
0
0
41
0
0
0
27
1
-18
0
0
0
0
-18
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
43
0
0
0
0
0
0
-55
1
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
-7
0
0
-9
33
0
0
-3
11
0
0
-35
0
0
18
0
0
0
-20
0
0
1
0
0
3
-21
0
0
-4
0
0
0
12
0
0
-7
1
0
0
-43
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
6
0
0
0
0
9
0
0
-5
0
0
5
-7
0
-4
-7
-8
0
0
2
0
0
2
0
0
0
-9
0
-6
3
0
0
0
-36
0
1
7
0
0
0
-48
0
14
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-4
0
9
0
0
8
0
0
0
0
0
-1
-19
8
0
-9
19
11
-24
19
0
0
-7
-1
27
-27
-22
0
1
9
28
9
-8
-13
-1
-3
-57
19
-51
0
-16
3
3
-54
-17
74
0
26
0
-7
18
23
-100
0
37
0
12
-25
-3
-146
0
-65
-1
0
0
0
-1
0
12
0
0
0
-14
2
0
-68
0
24
0
0
-4
0
-5
0
0
4
-1
-12
0
-12
0
15
25
-5
-2
1
-45
0
1
8
-23
6
0
19
0
3
9
0
-2
0
4
0
4
32
-2
-1
0
65
0
-5
0
0
-2
0
-77
0
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
37
24
63
1
0
0
2
-6
0
2
52
-29
32
-2
-5
5
-45
-17
28
-51
-34
0
-4
-60
-4
-19
16
-28
2
-68
-26
-45
-6
-49
11
3
-54
-29
-1
27
-16
3
0
-46
-18
-26
-18
11
21
-41
-47
62
-63
-26
72
0
-42
22
-28
-20
-10
0
15
-60
-5
-2
-39
22
-1
-17
-54
5
10
0
39
-22
-11
-5
-41
-98
-10
29
-24
-20
12
-25
35
-18
1
-31
8
0
2
-51
44
48
0
18
-16
-51
-51
-34
0
-6
-11
0
24
-37
17
23
6
22
65
-26
-43
-6
-78
30
0
6
9
-56
-4
-1
0
-2
-34
17
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
6
0
0
0
0
-52
0
0
0
0
0
0
34
0
0
0
-4
0
0
-20
0
0
1
0
0
2
-42
0
0
32
0
0
0
-18
0
0
56
0
0
0
-2
0
-1
5
0
0
0
116
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
9
0
-3
3
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
1
-2
0
0
0
21
0
5
0
0
0
0
-5
0
13
-6
0
0
0
33
0
0
0
0
0
0
11
0
-2
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
9
0
0
0
0
0
0
67
0
0
0
0
9
0
-18
0
0
0
0
0
0
-4
0
0
7
1
0
-1
14
0
0
5
1
0
13
-1
0
0
9
0
0
0
-40
0
0
42
0
-21
0
3
0
0
0
3
3
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
4
0
0
0
2
0
-5
0
0
0
0
-40
0
0
-13
-4
0
0
0
0
0
0
7
0
0
-16
0
0
-29
0
0
0
-8
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
74
54
0
1
0
0
0
-2
0
0
0
2
-8
-83
0
0
2
-37
45
-1
-17
0
0
43
-5
5
16
-34
0
-40
28
-12
-13
0
0
0
-1
12
38
-25
-2
-33
-4
-11
2
9
29
-3
-55
0
0
-3
0
43
0
28
0
4
0
2
21
0
65
12
0
0
0
-9
0
-21
0
0
0
10
0
2
-34
0
-29
-2
0
-1
1
-40
0
-1
-3
-11
-59
0
-26
0
-9
17
0
-1
-1
40
0
8
6
1
-7
0
-91
0
-54
1
23
2
0
44
0
7
29
6
-4
0
0
0
3
0
0
19
0
14
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
6
6
0
0
0
0
45
0
0
0
0
0
0
-4
0
0
-4
0
-20
0
-48
0
0
17
0
8
-4
-6
0
0
6
0
-17
0
-66
0
0
-1
0
-15
0
16
0
0
37
-3
5
0
55
0
5
4
0
-24
0
12
0
0
-22
0
-2
0
-36
-1
0
0
0
0
0
44
0
0
0
0
0
0
13
0
6
0
0
10
0
34
0
0
0
0
0
0
-8
0
26
0
0
0
0
22
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-58
0
0
-30
0
-13
0
41
0
-8
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
6
0
0
0
0
10
8
0
0
0
0
-3
16
0
-4
6
-2
0
-16
-29
0
0
-13
6
0
4
20
0
8
32
-42
0
7
-26
0
-3
-4
4
0
3
-1
0
-7
4
-4
0
10
-4
0
0
2
0
0
0
-13
-1
0
8
1
0
0
-19
0
0
0
0
0
0
41
-14
0
0
5
0
0
33
0
2
0
0
0
0
-31
0
0
2
0
0
-2
61
0
-11
10
-8
0
0
11
0
-1
17
1
0
0
0
0
19
-8
5
0
0
-92
0
0
-29
0
0
0
-24
0
-22
0
0
0
0
13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
20
-9
-7
-5
36
17
-10
28
3
-12
-1
47
9
-11
17
17
-30
18
47
-21
25
-67
-26
8
-2
-5
8
24
-55
-14
1
-114
30
41
-1
-31
-22
35
13
14
18
20
-93
-29
-10
-31
-14
-56
-5
-76
-23
-25
-69
3
-69
0
12
-14
-76
26
-53
-1
5
-90
-7
-29
6
10
-17
16
10
-26
8
-19
17
15
4
11
-29
42
41
-13
-26
4
58
20
-5
-1
-28
-21
-13
-70
35
-46
-16
-21
-30
23
-12
-20
-30
-98
-70
-91
17
-13
-10
7
-37
-59
30
10
-12
-18
6
-26
-10
-10
0
6
-89
14
-29
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
14
-5
3
-8
0
0
36
19
58
-36
-34
0
0
27
4
-32
24
-40
1
-6
-91
67
15
-7
11
0
-3
-9
-8
-75
2
-2
10
-16
23
-35
-14
0
37
6
3
-21
3
50
-4
34
-1
9
-8
13
-28
0
12
0
0
0
0
-1
0
-54
-8
6
0
5
0
0
-15
0
7
0
0
0
0
-44
0
0
16
-1
0
-6
21
0
-37
3
-7
0
1
8
-4
-4
-26
15
-2
4
16
0
45
4
0
0
0
-34
0
-1
15
6
0
1
-46
0
5
-5
0
-2
0
23
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
-1
0
-28
-3
0
0
21
-39
-2
-13
0
0
7
2
6
-4
-6
0
-5
10
55
-8
-2
8
-13
0
22
24
-52
0
-1
9
-2
-17
-18
3
-1
17
0
-4
45
-14
45
-7
35
0
0
-12
-2
-54
0
-28
-5
0
25
0
9
1
-47
0
0
0
0
0
2
-14
10
-22
-2
0
1
13
-28
0
-1
-1
5
-7
-1
67
0
6
-9
-8
0
0
-38
2
0
14
14
-1
0
-33
0
6
0
0
0
-3
-22
-4
7
18
-5
0
0
8
0
4
0
0
-7
0
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
12
0
18
0
0
8
0
0
0
14
0
0
0
0
0
0
4
0
0
-2
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
-2
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-41
0
0
12
0
5
0
-47
0
0
-2
0
4
8
-41
0
0
18
0
0
0
-28
0
0
5
0
-20
0
-11
0
0
-30
3
0
0
27
0
0
14
0
-8
0
-1
0
0
0
0
5
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
3
0
0
0
0
37
0
0
0
0
0
0
-3
0
8
0
0
0
0
11
0
0
0
0
0
0
-29
0
17
0
0
0
0
-28
0
0
40
0
-2
0
39
0
1
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
19
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
2
0
0
0
39
0
0
-4
0
0
0
13
0
0
-1
-1
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
-4
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-50
0
0
0
0
0
3
49
0
0
-1
0
0
0
-12
0
0
0
0
0
0
53
0
0
1
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
1
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-18
5
70
15
-47
-57
12
14
-7
-97
1
-2
5
-3
11
-88
-33
30
-44
-51
60
29
-15
8
46
-40
-32
27
-6
30
43
-11
3
7
5
13
16
18
19
0
-5
24
12
-38
-1
-7
-46
-15
-1
17
67
-21
28
-63
-25
-1
0
-13
4
0
46
0
17
-17
-43
7
24
17
48
-20
14
4
60
-11
-124
27
-14
27
-1
-6
21
-1
-42
-12
0
52
-34
-42
-122
-59
60
40
1
-4
80
101
-104
42
13
-4
-41
-38
-9
-50
4
2
-60
7
22
-22
-25
2
27
19
-17
33
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-39
0
0
-5
2
5
0
-8
0
0
5
0
5
6
-88
0
3
30
-3
2
4
15
0
0
-54
-1
22
0
7
0
7
-29
0
-3
0
11
0
3
1
0
16
0
-42
0
0
0
0
4
0
-111
0
1
0
2
-6
0
-23
0
0
0
0
0
0
18
0
-8
0
0
0
0
40
0
0
0
0
0
0
-26
0
28
5
0
8
0
-2
0
0
-9
-1
-3
0
-111
0
1
-1
0
-1
0
-12
0
0
-1
0
0
5
8
0
-22
0
6
4
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
-6
0
0
0
78
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
-4
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
-55
0
0
0
0
0
0
-2
0
0
0
-1
0
0
9
0
0
0
0
0
0
32
0
0
-1
3
0
0
6
0
0
0
0
-11
0
-3
0
0
0
0
14
0
35
0
0
0
0
0
0
21
0
0
0
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
-1
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
9
0
0
0
-77
0
0
0
0
-5
-1
1
0
0
-9
-3
0
0
-59
0
-4
13
0
59
0
-3
0
0
15
0
0
0
56
0
0
0
0
11
0
27
0
0
0
0
-31
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
-41
0
1
3
0
0
0
-21
0
0
0
0
5
0
12
0
-1
-4
0
0
0
-46
0
-1
8
0
0
0
-24
0
5
-2
0
0
0
-57
0
0
-2
0
0
0
-20
0
8
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
7
0
8
-3
0
0
0
-50
0
0
-19
0
0
-5
6
0
1
2
24
0
12
34
0
1
29
26
0
0
23
0
0
21
14
0
0
-11
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-18
7
0
0
0
0
0
7
0
16
0
0
0
0
29
0
-4
20
12
0
0
-41
0
0
2
0
0
0
12
0
-1
28
-4
0
0
7
0
-2
0
0
0
0
-17
0
4
-4
0
0
0
-63
0
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
0
45
0
-4
-21
-11
0
-5
-47
0
0
28
0
-8
-1
77
0
1
86
-1
5
0
-6
0
-2
-5
0
48
0
-69
1
0
4
0
18
0
30
0
0
0
0
0
0
-4
-8
0
0
4
0
0
27
0
39
0
0
0
0
-68
0
0
14
0
0
0
0
0
20
3
4
0
2
23
0
0
12
-8
0
0
53
0
3
-25
0
0
0
-116
0
0
0
0
-8
0
-13
0
5
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
-6
7
75
33
22
-118
36
10
-34
-25
-30
-16
51
50
-45
-36
20
13
-50
-7
-11
-26
-42
-9
-47
-17
-51
3
15
-2
0
-31
-29
37
33
20
10
-42
-18
-15
0
14
-27
-9
2
9
-13
-2
0
-62
5
7
21
-3
47
0
34
-1
-34
35
-1
-43
19
-1
99
-3
12
-21
-74
-6
6
8
5
-33
-47
-54
47
-5
-15
-54
-5
-57
17
-4
-5
-34
-36
-29
1
-5
22
-67
60
33
5
-61
8
-1
27
20
13
-12
41
1
54
-20
18
23
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-39
0
0
0
0
0
0
-15
0
0
0
0
0
0
-15
0
0
3
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
-8
0
1
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
-4
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-61
0
0
2
0
0
-1
-14
0
0
-1
1
-1
0
42
-1
0
13
0
3
6
-7
0
0
-1
0
0
0
13
0
0
2
0
7
0
2
0
0
0
0
29
0
12
0
0
0
0
-2
2
-2
0
0
0
0
0
0
2
0
0
-2
0
0
3
9
0
0
3
0
-12
0
6
0
5
0
0
0
0
-19
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-6
0
-3
0
0
0
0
-12
0
5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-33
0
-4
-5
0
15
8
37
0
5
-6
56
28
-15
80
0
43
-23
-29
64
2
41
-6
4
16
-35
-15
7
-53
2
-3
-31
0
15
-1
-19
-5
0
-1
-40
40
0
-6
-1
0
0
6
14
0
-19
-2
0
0
-5
0
0
-12
10
64
0
-3
5
0
47
0
2
0
0
-3
4
27
0
18
-19
1
-3
0
-29
0
5
15
10
22
0
-49
-2
-70
63
-5
0
9
25
2
2
0
0
-3
-1
2
0
45
9
-1
29
0
-54
-6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-37
0
0
77
0
8
89
58
0
-14
90
0
-8
35
-48
0
1
-34
13
-65
-3
29
0
22
32
0
5
9
-21
-8
0
15
1
52
0
-17
-7
4
34
0
-4
0
24
0
-8
0
0
6
0
-28
-2
0
0
0
-2
-5
-35
0
-26
2
0
-2
0
26
0
3
24
0
0
0
-42
0
1
-19
0
0
-2
72
0
-4
-18
4
2
0
-55
0
-55
6
0
-1
0
80
2
8
-38
0
-1
0
7
0
-27
-1
0
-8
0
-41
9
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
31
0
0
32
-5
0
48
-82
-5
30
-29
-1
0
28
-36
7
47
8
-42
0
33
0
3
-12
54
-6
0
-38
30
5
18
9
24
0
51
-6
-3
7
27
-11
0
0
8
1
0
-3
5
0
0
-25
-19
0
0
1
0
0
-26
0
34
-29
0
0
-3
20
0
0
62
-9
0
4
25
0
-58
-5
-22
0
4
11
13
-1
33
-4
0
5
127
0
-52
51
-41
0
0
53
0
-1
75
31
0
0
-41
0
32
-76
0
0
0
55
-3
0
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-22
3
4
9
28
5
75
-18
-2
4
-20
10
-3
40
18
0
9
-77
-38
7
0
33
0
1
1
0
-35
0
-58
0
0
29
-27
-17
0
-51
0
0
0
2
6
0
24
25
0
-1
2
0
0
37
0
-24
0
0
-1
0
-20
4
-2
42
1
5
0
-32
0
-24
75
0
0
0
-2
0
-1
-84
12
0
0
-23
0
70
15
0
0
0
-29
2
1
6
12
0
0
-2
0
20
0
0
-7
0
-16
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-8
-25
16
0
-10
37
6
11
33
-2
-2
0
25
36
-61
-24
26
23
-1
-17
11
-37
-2
11
-21
-3
13
-3
75
-20
32
14
-8
-5
2
11
-20
58
7
-14
13
15
-36
-13
16
-47
-61
-14
25
-62
1
-18
3
31
-9
0
-20
49
-54
71
24
-101
39
12
9
53
-5
41
59
25
-75
5
-23
39
43
-3
0
-5
16
0
-72
1
-49
31
-8
-37
38
11
41
13
-1
93
-6
0
-48
-18
-12
20
-4
-32
-15
63
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-12
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
63
0
0
-5
25
0
0
-21
0
0
31
7
9
0
42
0
2
5
1
-1
2
25
0
0
31
0
2
1
1
0
0
0
0
1
0
-56
0
0
0
0
0
0
-24
0
0
0
2
0
0
-4
0
1
0
0
0
0
-18
0
0
0
0
0
0
-24
0
19
6
1
0
0
-3
0
0
5
23
0
0
-65
0
18
-17
3
0
0
-21
0
0
0
0
0
0
-33
0
-7
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
29
-1
11
-11
19
10
-24
23
-1
-65
-49
-20
60
6
39
6
-42
-61
-22
-33
59
33
0
4
20
1
38
-5
-59
0
3
-15
18
59
0
4
-1
0
0
7
-5
0
59
32
8
0
-10
0
0
79
1
-9
0
0
13
0
0
0
0
-22
25
2
-1
-13
0
-49
-40
8
0
0
27
0
-19
-50
-5
0
-33
42
-7
50
9
8
0
1
21
0
0
9
0
-13
0
-54
0
-39
0
1
-13
0
-48
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
53
0
19
-34
0
0
0
-59
0
-5
-5
0
-1
0
-51
0
3
13
0
-12
0
-73
0
0
24
0
-5
0
-3
0
0
0
0
40
0
20
0
0
0
0
18
0
-12
0
0
0
0
0
0
5
0
-1
0
0
-6
0
-6
0
0
9
0
0
0
-1
0
-6
0
0
0
0
28
0
0
3
0
0
0
27
0
-4
10
0
0
0
-37
0
0
-1
0
0
0
-2
0
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-35
2
-27
-9
18
0
-7
-29
0
6
26
-76
0
-8
-11
0
41
-3
22
0
25
11
6
1
19
2
0
1
-7
0
0
-1
0
0
0
-12
-1
2
-2
5
0
0
-9
20
0
0
-7
0
-3
16
0
-7
5
13
0
-1
-11
0
0
-56
20
0
8
-45
0
-50
95
-38
0
2
-24
0
-4
29
-35
0
-4
-24
0
-22
80
-22
0
0
31
-14
7
92
0
0
0
-73
0
-12
16
0
0
0
45
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-70
0
-2
-41
-22
7
5
-36
3
54
-44
-50
22
-3
-19
4
0
-9
-4
-33
0
28
0
21
47
18
-47
0
6
-2
0
0
0
0
0
-28
-9
0
0
-7
0
0
40
0
-44
10
0
10
-6
-42
0
10
-1
-1
4
0
32
0
-24
7
6
0
0
32
0
1
41
-15
0
0
-9
0
13
19
5
0
0
6
0
-15
29
-13
0
0
41
7
-76
8
0
-5
0
47
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-36
-63
-12
14
-29
-59
5
26
-27
3
-1
-56
35
0
-4
58
9
10
-41
12
-35
-15
-72
-15
-2
-6
-7
13
-44
-48
5
-87
-7
13
36
-18
15
52
-56
6
-31
-3
-8
-46
-43
10
-75
76
28
-1
-37
-12
-52
-13
23
0
-7
14
11
61
2
-8
-19
12
-18
26
-4
30
30
-23
4
27
36
36
-38
-4
10
-31
-93
-14
-55
-57
7
-25
1
-17
-3
-2
-55
6
24
68
21
29
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
-4
-1
13
0
2
4
0
0
0
-1
0
-6
0
0
0
0
18
0
0
0
0
-3
0
-53
0
0
0
0
0
0
46
2
0
0
0
0
0
-42
0
1
0
0
0
0
-6
0
-2
0
0
0
0
1
0
-2
0
0
0
0
-3
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
0
0
0
0
-26
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
33
0
68
-28
14
6
-12
0
-13
19
8
5
-1
-116
0
7
-14
0
-15
13
-42
0
0
6
0
3
0
34
0
0
0
0
2
0
40
0
0
0
5
0
0
52
4
-4
0
1
0
0
-81
0
-2
6
0
3
6
-18
0
46
0
0
0
-2
-4
-3
-1
-1
-4
1
0
-27
0
34
19
0
0
0
-51
0
0
-13
0
7
0
24
0
53
0
0
-1
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
-23
-62
-3
-71
20
6
1
-1
67
-13
12
28
-18
-17
-7
40
-22
10
-15
4
-32
39
4
-109
31
53
0
-7
-26
2
0
-5
-7
0
32
38
0
0
55
0
2
17
8
-16
0
-6
16
-5
-3
0
50
-14
20
9
-34
54
-9
-18
100
-1
-1
-24
-22
-14
-31
-73
-41
2
0
-27
-1
-37
-115
4
0
28
-42
30
36
55
-46
26
3
-44
13
32
12
-23
-50
0
-46
-85
9
2
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
4
0
0
-30
40
28
-52
33
0
45
42
16
44
-13
-29
0
8
-25
0
-33
-3
23
-2
0
-4
0
-30
0
-22
3
0
0
-5
21
0
-71
16
0
0
0
0
-2
43
0
-43
7
0
63
-5
-8
8
-30
2
0
23
42
-6
0
-41
-90
-9
4
0
-34
0
12
70
0
27
-9
-4
5
10
5
0
-8
0
-19
-3
-16
23
0
38
-4
-33
0
52
8
0
67
0
-72
-35
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
42
0
-5
1
51
0
0
24
0
5
-14
65
0
0
-42
0
-3
0
-10
0
5
6
0
0
-56
-5
0
0
-10
0
0
0
-1
0
0
-30
0
0
0
9
0
13
34
0
-8
1
-1
0
0
14
0
0
10
-3
0
-14
-79
0
-55
-17
1
0
4
-15
0
-2
43
27
0
0
25
0
-23
1
0
0
-2
11
4
5
-28
5
0
0
-46
0
97
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
1
-24
-11
12
-3
1
7
0
29
-14
0
-6
0
-87
8
0
-6
5
14
0
-38
0
0
0
0
-1
0
-56
-4
2
0
-7
0
0
-6
0
-30
7
0
0
-18
33
0
-6
-13
8
0
-8
40
0
0
38
0
0
0
-57
0
28
-28
5
0
0
69
1
33
17
0
0
0
-54
1
24
-2
-6
0
0
9
0
-41
-5
0
-6
0
16
-12
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
17
19
20
-13
-35
-2
22
27
-76
86
-13
-51
-62
-36
15
-68
46
-3
36
-23
-1
2
-46
47
2
21
-17
21
-8
-36
4
14
-47
9
82
-3
-6
-49
27
1
-3
91
-5
-3
29
-51
28
-23
-59
5
21
-31
-5
-36
-43
-11
0
-24
-54
40
-32
-9
60
-8
11
-29
-27
-3
-53
26
40
-39
41
38
65
-70
39
-26
-6
0
-3
7
11
-2
5
56
26
-38
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
-2
1
1
0
-12
-23
0
0
3
0
-1
0
-43
0
-2
5
0
0
0
-42
12
0
0
0
0
0
-3
0
0
0
2
0
0
-13
0
-3
0
0
0
0
-48
0
0
-2
0
0
-4
7
0
7
0
0
0
0
0
0
0
-1
0
0
0
-25
0
14
0
0
0
0
-59
0
0
-3
0
0
0
29
0
-8
0
0
2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-47
0
20
-42
-9
-5
-2
-38
1
0
-16
0
-14
4
16
-1
2
-2
-1
-4
0
-40
5
0
0
3
-4
0
42
0
0
0
-8
0
0
-28
0
28
4
0
0
0
39
0
12
-10
-2
13
1
-4
1
34
0
3
0
6
-19
0
0
7
5
-2
-2
41
0
-60
10
0
0
3
-42
-10
0
0
2
0
0
-3
0
-3
-1
0
15
0
-70
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
26
1
7
12
-37
50
-31
-6
-7
14
16
-2
-2
9
-2
33
-24
45
-31
33
0
12
-2
-4
1
-3
-6
0
33
-14
0
7
-10
0
0
32
-4
4
7
-5
7
-2
-18
1
-17
87
-5
41
-1
17
0
-29
52
-7
27
4
-17
-2
0
37
34
-3
7
2
1
-44
12
-13
-2
-5
-50
-7
1
-32
55
25
0
-36
0
57
-27
0
34
0
20
19
16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-34
7
11
-7
7
52
6
-60
0
2
-22
0
63
-1
-13
4
0
55
0
-22
0
-103
1
0
0
0
47
0
-14
17
0
0
0
-9
0
36
0
-13
-16
0
-34
0
-18
0
4
66
-1
5
0
-12
0
2
23
0
-2
0
-3
0
0
-74
1
3
0
-43
0
-33
2
0
-2
0
-19
0
-3
-37
0
1
0
-52
0
124
0
0
4
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-57
-6
-13
51
29
0
0
-14
0
-19
-66
-7
0
0
-17
0
0
30
13
0
1
-14
17
0
0
-10
0
0
-34
1
0
0
5
0
0
22
0
-37
-3
0
0
5
-28
0
0
79
98
0
3
9
15
-52
-2
6
0
-1
59
-2
14
6
-59
1
0
-61
0
17
-7
-22
0
0
24
0
-3
46
-5
0
0
21
0
-94
8
0
0
0
58
11
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
3
16
-1
24
0
-25
-25
2
2
0
57
0
49
0
0
0
0
0
0
-94
-1
0
0
0
0
0
35
0
-46
-3
0
0
1
-3
-2
-8
66
25
0
-4
35
0
13
27
3
0
0
-27
0
1
-97
-15
0
0
-25
0
-49
-1
0
0
0
-1
-13
0
6
0
8
0
16
0
20
1
-8
6
0
-34
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
28
-63
-2
42
-1
-69
-16
16
46
10
-25
48
-41
-3
10
-17
-18
9
-24
-46
-4
39
-37
20
2
-29
44
-36
-24
-24
14
9
25
18
16
20
26
-32
-63
-30
8
40
15
-52
10
-18
-6
-91
5
22
-19
1
-27
-51
-20
-92
0
-2
14
8
49
46
-6
25
-1
13
21
-71
-85
6
32
13
-52
-53
12
-30
-8
10
-22
-50
18
-32
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
12
0
-4
0
6
0
0
0
0
-5
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-23
0
-1
0
0
0
0
-52
0
0
0
0
0
0
7
0
-1
0
-4
0
0
0
0
0
-4
0
0
0
0
0
51
0
0
0
0
-54
0
1
0
0
0
0
-32
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
78
6
23
-14
-2
14
-3
10
0
0
0
22
28
0
-64
0
0
0
0
7
0
27
-21
0
0
0
0
0
61
-3
-5
-4
0
3
5
-58
0
0
13
6
1
0
-83
0
87
-29
0
0
-4
-41
0
0
-15
-2
0
0
0
0
-22
-5
0
0
7
4
-9
-1
0
8
5
8
48
5
22
-7
0
-47
0
-39
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-7
20
50
-27
35
44
-39
-9
16
3
-135
14
0
4
3
-6
0
-17
-24
0
-14
-40
0
0
14
14
81
5
6
14
-20
-11
42
-13
-9
0
-13
-67
-42
-11
39
-16
-7
12
109
-9
-2
-5
41
-6
-71
77
35
-17
0
27
8
54
-112
-42
1
-1
18
-8
20
-17
12
-26
-8
-20
25
22
2
-4
22
0
-58
-53
7
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-67
0
-2
40
0
-64
0
-16
0
2
-9
0
-32
0
25
0
0
0
0
32
0
43
-3
0
0
0
0
0
9
-1
27
0
0
-24
0
-42
0
-3
-27
0
5
5
-10
0
-140
75
0
0
-5
-11
0
-2
-59
0
-5
10
48
-1
-22
77
0
0
-4
1
-5
8
-20
0
14
2
32
0
-22
-2
0
-27
0
36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
3
5
0
0
-8
0
0
29
34
0
0
-78
-12
0
0
33
0
0
12
0
0
0
3
0
0
-69
0
-31
-1
0
0
2
-44
0
5
-2
52
0
0
-54
0
-14
11
10
0
1
44
0
29
13
44
0
5
-122
0
-102
-1
5
0
0
14
0
0
-11
-3
0
0
10
0
63
0
0
0
0
-90
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
5
-1
6
0
-10
-10
0
0
0
0
0
55
2
0
0
5
0
0
15
0
-19
3
-1
0
0
37
0
2
10
0
0
-3
-27
0
59
17
0
-2
0
-26
0
-2
32
-18
0
0
-26
0
7
-3
0
0
0
-25
0
-12
-9
0
0
0
6
0
-3
0
0
5
0
13
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-21
1
-51
27
-77
8
25
8
-41
-29
-7
-99
-68
24
12
-26
14
-20
44
12
41
13
-51
-27
-45
24
-17
34
-35
-16
-16
12
-39
-58
81
18
-58
15
11
-38
-36
-4
3
16
-45
-34
11
-54
58
38
-10
5
-51
2
33
39
0
-24
66
65
37
99
36
-13
23
-12
-91
-22
-4
0
16
1
-22
-10
-8
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-2
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
2
0
0
0
0
0
0
-24
0
7
0
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
-6
0
-3
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
-2
77
0
0
0
0
0
5
0
0
44
0
0
0
0
0
0
-16
0
-31
0
0
-4
0
17
0
0
0
-2
0
0
70
0
-8
2
0
0
0
-6
0
1
0
0
0
0
20
0
-30
-5
-4
0
0
10
0
5
-4
-5
0
0
-34
0
26
0
0
4
0
65
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
4
0
-9
16
0
-6
-10
0
0
-3
-1
0
61
0
0
0
-9
0
0
-43
0
-2
-15
0
1
1
-26
0
-5
20
-41
-12
1
-47
0
-4
61
19
0
-1
-34
0
-21
-4
24
-31
0
46
0
-25
1
0
0
0
41
-12
-1
-5
-1
0
0
-13
0
-36
-4
0
42
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
1
0
-7
0
-30
0
0
0
0
-9
0
-42
0
0
0
0
0
0
4
0
-4
0
0
0
0
-1
0
0
2
0
0
0
4
0
1
9
0
0
0
-14
0
-2
0
0
4
0
0
0
-8
3
0
0
0
-20
0
0
-3
0
0
0
19
0
5
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
0
0
-15
-19
0
0
-38
3
0
5
3
0
0
-8
0
0
0
-15
0
0
43
0
-21
-10
1
0
-1
19
0
1
25
-88
0
-7
59
0
-1
84
-5
0
5
49
0
-7
66
-34
0
-4
35
0
0
-41
-1
0
-1
66
0
-11
14
13
0
0
-59
19
-17
18
0
0
0
46
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-6
0
0
-3
0
0
37
0
0
0
0
0
0
7
0
0
0
0
0
0
57
0
0
10
0
0
0
15
0
-1
0
0
0
0
6
0
0
8
1
0
0
6
0
0
0
0
0
0
12
0
0
-8
0
0
0
-20
0
-2
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-14
-89
6
3
-6
16
0
-4
-15
6
-7
-42
-3
60
4
-3
0
13
4
-66
67
-16
-8
49
71
-24
-63
29
-15
-6
6
52
41
28
-5
17
-6
-115
-89
-26
-31
-1
-44
4
-94
17
-43
-47
-3
29
0
18
-31
-63
-62
-12
0
41
13
1
3
-3
-2
-8
10
-5
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
44
4
0
0
0
0
0
12
0
3
0
0
0
0
-7
0
0
14
0
0
0
14
0
2
0
0
0
0
-3
0
0
5
0
0
0
-6
0
0
3
0
0
0
2
0
0
-2
0
0
0
2
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
50
5
0
0
3
0
0
16
0
6
0
0
1
0
42
0
0
0
0
6
2
-16
0
7
0
0
0
0
4
0
0
0
8
0
0
-16
0
-4
14
0
0
0
18
0
8
0
0
0
0
12
0
15
0
0
-10
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
17
0
0
0
-2
0
0
23
0
7
0
0
6
-5
-86
1
0
-4
-5
-6
5
7
0
28
1
-15
0
0
-81
0
10
-8
-29
19
0
47
0
-44
1
10
0
0
-31
-1
-9
0
0
0
0
40
-8
27
0
2
-10
0
-36
4
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
1
0
0
1
0
0
0
-27
0
1
0
0
0
1
-22
0
0
-1
0
0
0
-35
0
18
4
3
0
8
29
0
-4
25
0
0
0
-7
0
63
-6
0
0
0
-44
0
0
-5
0
9
0
13
0
7
4
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
-1
21
-2
0
0
1
1
0
18
-39
0
13
31
0
75
46
-19
0
5
-16
-6
-20
-26
29
0
6
5
0
32
34
50
0
-14
-16
0
-36
21
-69
0
58
44
0
55
26
-69
0
18
12
-3
-20
-63
-104
0
0
-33
-8
-137
-19
-5
0
0
9
-78
-3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-24
-13
17
56
23
-82
15
2
-39
-27
-69
14
6
11
-13
-81
6
-1
-38
24
23
-18
-21
50
36
21
-47
-25
33
62
-14
-4
-57
-12
21
15
2
-11
27
60
-13
0
48
-42
-8
38
-98
-69
11
-9
-13
-2
-23
-12
3
0
0
-1
-1
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
-1
0
0
8
0
-36
0
0
0
0
0
0
-63
0
-6
0
4
0
0
41
0
0
0
4
0
0
33
0
15
0
-5
0
0
11
0
-6
0
0
0
0
6
0
-1
0
0
16
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
23
0
0
0
0
1
0
0
-2
0
0
0
0
0
12
0
0
0
0
-7
0
0
22
0
0
0
-4
0
0
2
0
0
0
-2
0
0
0
0
0
0
1
0
1
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
1
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-29
0
71
0
0
0
0
12
0
1
0
0
4
0
-13
0
-5
0
0
0
0
0
0
0
-4
0
0
0
24
0
-16
4
0
0
0
-35
0
1
15
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
10
0
2
0
8
0
0
-43
0
0
4
-14
0
0
-9
0
16
9
12
0
0
29
5
0
0
-37
0
0
25
0
45
-1
5
0
0
62
0
-3
9
3
0
0
44
0
68
0
0
0
0
17
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
4
36
-5
-5
-10
30
-15
8
20
11
-37
-65
77
-1
1
10
-56
19
32
20
-11
-2
-54
-15
-53
47
18
49
-3
-52
-38
-6
14
-23
16
2
42
-28
42
-23
0
19
8
-15
53
6
-22
0
23
9
-5
19
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
31
-6
0
0
-3
43
0
1
10
-9
0
0
-78
0
-41
-6
0
0
0
-22
0
0
3
1
0
0
21
0
-2
2
0
-5
0
-119
0
0
-7
0
-5
0
21
0
45
0
0
-6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
1
6
0
0
0
7
0
0
-3
8
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
50
0
0
0
0
19
0
-8
-6
0
-5
-2
4
0
30
-3
0
-10
0
-14
0
0
9
0
0
0
-22
0
-48
-1
0
0
0
-28
0
1
0
0
0
0
57
0
1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-16
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
1
0
0
0
-2
0
0
0
0
0
0
-25
0
1
-8
0
0
0
18
0
3
-1
0
0
0
1
0
0
0
0
0
0
69
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
51
7
-28
-66
-45
80
6
32
20
26
65
-63
-44
-28
24
-6
23
-25
1
38
57
18
-4
4
1
3
1
54
-5
-20
-65
88
15
-68
9
-15
2
-23
33
18
21
0
27
14
17
5
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-9
4
-26
-32
3
25
-3
0
2
16
-3
-3
2
-61
1
5
7
11
8
4
-9
0
-60
-10
-2
-5
0
-126
0
-1
80
-4
-44
0
6
5
20
-23
-2
91
0
-12
33
-1
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-1
0
-20
0
-11
0
-2
0
0
-41
0
0
3
0
0
0
10
0
55
0
0
0
0
-98
0
0
0
0
0
0
-11
0
4
0
0
5
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
3
0
0
0
0
0
1
0
0
0
0
14
0
0
-20
0
0
0
7
0
6
0
0
0
0
-18
0
0
1
0
0
0
31
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
-8
0
0
0
5
0
27
-3
-6
0
0
-1
0
0
-8
0
0
0
-6
0
23
0
0
0
0
-56
0
0
0
0
0
0
52
0
-8
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
9
2
0
0
0
-2
0
2
2
-1
0
0
-30
0
15
1
0
0
0
74
0
0
0
0
0
0
18
0
2
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
39
-4
11
-31
12
1
88
32
28
36
-10
3
-30
65
14
-18
18
-43
-19
58
-1
0
-9
-35
-4
-39
-16
-9
21
-7
14
18
31
-65
0
1
-21
0
45
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
-6
0
0
0
58
0
0
6
0
0
-1
40
0
6
-4
0
0
0
-47
0
0
-3
0
0
0
-6
0
18
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-47
0
71
-5
-15
-6
0
-34
0
0
0
5
0
-25
-23
0
-97
19
6
0
0
-68
-1
-18
3
-1
0
1
92
0
22
-4
0
18
0
-74
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
-12
-72
10
0
0
-112
0
0
4
0
8
0
14
0
52
16
0
0
0
-55
0
-3
-9
0
-2
0
-10
0
-40
0
0
1
0
-51
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
21
1
0
0
0
-1
0
8
-3
0
0
0
-7
0
2
24
0
0
0
-29
0
-5
23
0
0
0
9
0
-5
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-9
0
0
0
-75
0
40
0
0
0
0
-11
0
0
-3
0
0
0
-8
0
22
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
18
50
10
-55
0
34
-15
8
5
1
13
-25
40
42
23
42
-18
29
20
4
0
2
-124
13
-4
-32
0
-1
-10
-17
-3
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
9
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
22
36
-9
-10
64
-43
-1
179
-7
-2
0
-1
-61
0
-3
3
-55
-26
0
36
0
-28
48
0
-61
0
25
29
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
-11
-7
27
7
0
-60
0
-73
-9
-1
2
0
-44
0
0
-1
12
-3
0
34
0
39
0
0
1
0
-110
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
0
0
0
-29
0
7
22
0
0
0
25
0
0
2
0
8
0
-17
0
20
0
0
-1
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
0
0
5
0
-8
-2
0
0
0
41
0
0
1
8
0
0
-14
0
13
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
4
-13
0
0
0
-30
0
4
0
0
0
0
10
0
-5
0
0
0
0
-56
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
2
23
-12
50
1
-22
45
3
-24
-54
-16
-47
0
23
2
2
-11
0
20
0
8
-45
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
71
-13
-6
7
0
6
-1
7
-5
0
-1
0
9
0
25
0
0
-13
0
-15
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
-1
18
6
0
-2
1
30
0
9
-9
-3
7
0
-12
0
28
0
-1
-22
0
-58
46
4
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-17
0
0
-2
37
0
3
-33
-1
-3
0
3
0
3
0
0
-74
0
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-24
-8
-3
0
0
7
0
0
8
0
0
0
43
0
5
0
0
0
0
48
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
10
-81
5
59
18
16
-20
0
-79
32
16
-24
0
-13
67
19
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
1
-13
69
-23
-66
0
-48
0
77
19
0
-29
0
13
37
0
-6
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
-5
-8
-6
0
-1
47
0
-12
0
0
-10
0
37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-9
25
0
0
0
42
0
0
0
0
19
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-29
0
1
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
15
13
4
-17
-7
18
-2
3
-37
-14
-3
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
31
5
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
0
-29
0
-9
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
1
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-22
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-57
14
20
-37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
24
0
0
-14
0
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
-53
7
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
17
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
-3
0
4
0
0
0
50
0
0
2
0
0
0
-21
0
0
0
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
-9
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
15
0
0
8
0
0
0
16
0
0
1
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
1
0
0
0
0
0
0
-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
-3
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-10
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
25
0
0
-32
0
0
0
0
0
0
0
-8
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
17
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-34
9
63
8
-17
-13
-18
24
-8
31
90
11
45
7
10
28
19
-17
-49
7
37
-23
-8
-1
54
-56
85
11
-40
-33
-22
-26
-51
37
-56
-57
-38
-41
-40
-15
-35
-9
-21
-14
-33
-2
-9
-21
-28
-4
-1
-17
1
-4
-25
46
41
28
-52
-74
-75
6
-12
25
41
114
122
18
-10
-49
28
-14
123
33
32
54
-52
39
-22
-37
48
47
-11
7
13
9
-15
21
11
-45
2
-31
-46
97
12
-37
-48
13
-64
98
28
-15
-32
-24
-5
-13
-39
-27
6
44
-31
-17
-5
-33
12
-13
-26
-8
3
0
0
0
0
0
0
0
-8
21
21
2
4
-31
62
-2
13
26
36
19
-2
59
51
-7
87
33
-18
-33
-20
-35
-11
45
-20
23
-9
56
-9
22
-24
6
-7
-27
38
-18
-5
4
22
-10
-26
-5
36
-8
-25
35
-56
18
-10
-2
4
6
-9
-5
-6
-10
-33
-36
-10
-82
1
-20
-5
-27
-24
-70
4
-5
-40
13
80
33
40
39
40
21
-27
0
-1
-17
10
32
-25
64
-4
3
11
-5
19
61
81
-17
-1
-32
34
81
-6
43
-7
39
52
-3
20
58
5
-14
-3
17
-2
-35
-33
0
2
-13
15
28
-14
-26
-39
14
-2
-83
-75
-60
34
-5
0
-43
25
-19
-5
94
31
16
-10
19
-18
-14
6
-14
-38
21
44
-9
49
71
83
49
-12
-26
14
-18
30
54
23
9
-29
-11
-63
12
114
-44
2
7
33
65
-6
-55
65
-21
35
24
12
33
36
-27
13
26
7
-9
27
-18
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
-3
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
45
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
32
2
0
0
0
0
0
14
9
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
3
8
0
1
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
70
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
47
0
0
0
0
0
0
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
-4
0
0
14
0
0
0
0
0
45
3
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-6
0
-1
0
0
25
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
1
0
-5
0
0
0
19
0
0
4
0
0
0
69
0
0
0
0
0
0
38
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
2
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
2
2
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
21
0
0
0
0
-3
0
2
-3
0
0
0
0
0
0
1
4
0
0
21
-2
-5
0
117
0
0
10
-2
0
0
-1
0
0
-2
0
0
0
0
0
0
0
3
0
0
5
0
0
16
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
-44
0
0
-16
40
0
62
-12
0
0
-10
-32
0
0
1
0
0
1
48
0
0
0
3
0
0
-49
0
0
-5
0
0
0
-7
0
14
0
0
0
0
-8
0
0
1
0
0
0
25
3
0
0
0
0
0
83
-1
0
0
0
0
-2
15
0
0
-7
0
0
0
-74
0
0
-8
0
0
6
-5
0
0
4
0
0
0
-48
0
0
7
0
0
-1
9
0
0
0
7
0
0
-136
0
0
0
0
0
0
55
0
0
0
0
0
0
-13
0
0
0
0
0
0
-62
0
0
0
0
0
0
-52
0
5
-8
0
0
0
49
0
-1
0
0
0
0
-44
0
-9
12
0
0
0
18
0
0
0
0
0
0
6
0
-6
0
0
0
0
15
0
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-1
0
6
0
0
0
8
-1
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
6
0
8
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
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
2
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
29
0
0
-4
0
0
5
-1
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
14
0
0
-4
-1
0
30
-3
0
0
-1
-9
0
0
0
0
0
0
22
0
0
-1
0
0
0
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
38
0
0
0
0
0
0
29
1
0
0
0
0
1
61
1
0
0
0
0
0
-7
0
0
3
0
0
0
-16
0
0
0
0
0
-6
9
0
0
0
0
0
0
16
0
0
2
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
0
0
0
-59
0
0
0
0
0
0
46
0
0
0
0
0
0
5
0
-5
0
0
0
0
10
0
0
0
0
0
0
4
0
-5
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
26
4
77
65
49
20
2
79
26
9
65
5
10
-24
-20
12
10
44
2
-33
-46
-39
-7
-7
68
1
32
-27
13
-46
17
24
55
47
-9
6
-12
9
-8
0
26
0
-2
2
2
-3
-14
-35
3
49
-32
-67
2
-15
-9
59
-68
45
11
35
-37
-8
9
52
31
44
28
35
-18
-6
-59
70
-11
60
9
-35
42
-17
31
16
30
-16
-49
45
-18
10
6
-4
29
17
23
-31
8
10
20
3
-6
38
-34
-3
-4
13
6
5
0
25
29
0
0
51
7
0
0
0
0
0
0
0
-3
31
59
30
8
21
131
37
11
34
48
27
-14
59
52
29
98
-42
-9
2
-16
5
1
-32
-28
34
-44
0
-26
21
-30
35
10
44
33
-66
32
-41
4
-18
-22
8
7
15
39
-10
-2
23
8
-3
-1
9
-9
1
11
70
44
-25
-72
-43
-74
-5
23
19
-2
1
0
16
22
-50
-5
22
37
-15
-12
88
-20
-47
15
59
26
-66
30
-5
0
-23
80
-42
23
-22
8
22
10
14
17
-31
42
50
13
21
-41
41
-20
25
53
-19
-8
-15
3
28
23
-2
0
-2
-35
2
-6
47
-37
-55
-14
-36
2
-19
-88
-1
-33
-5
-23
11
-36
45
7
-60
12
-6
46
9
50
-32
65
-15
1
11
-25
79
5
50
-18
-27
-38
82
3
-31
-45
8
-7
-10
13
39
59
1
-27
22
6
-79
49
-35
46
12
-3
12
5
18
25
0
13
24
37
1
91
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
43
14
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
-9
0
0
4
-3
0
0
5
0
0
0
12
0
0
2
0
0
0
1
0
0
-16
3
0
0
0
0
0
0
-4
0
0
-7
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
0
-8
-32
0
-3
-4
0
0
5
29
0
-26
-2
0
0
8
11
0
0
1
0
0
-1
-9
0
0
0
0
0
0
13
0
0
-1
0
0
0
-17
0
-6
-4
1
0
0
42
0
0
0
0
0
0
-32
0
0
0
0
0
0
91
-2
0
0
0
0
0
70
0
0
0
2
0
6
5
0
0
0
0
0
0
-64
0
-1
0
0
0
0
-37
0
0
-7
0
0
0
22
0
0
-1
0
0
0
65
0
0
0
0
0
0
-22
0
0
0
0
-2
0
12
0
0
0
0
0
0
-22
-2
-4
0
0
0
0
7
0
-4
0
0
0
-1
24
0
0
0
0
0
-1
-4
0
12
0
0
0
0
5
0
0
-1
1
0
0
2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
0
8
0
0
0
-2
0
0
-4
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-24
0
0
0
0
0
0
-6
0
0
0
0
-8
0
0
0
5
0
0
-29
0
0
0
14
0
0
-19
-6
0
0
20
-2
0
-7
6
0
1
2
0
0
-2
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
20
-7
0
3
-54
0
0
20
-3
0
72
5
1
0
0
-7
0
0
50
0
0
-2
-3
0
0
4
0
0
-4
-25
0
0
15
0
0
0
7
0
0
0
0
0
0
-73
0
0
0
0
0
0
-3
4
0
0
0
0
1
-43
2
0
6
0
0
8
23
1
0
25
-2
0
21
42
0
0
-15
0
0
-17
27
0
-3
6
0
0
0
34
0
0
9
0
0
-10
16
0
0
0
2
0
0
18
0
0
-1
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
18
2
0
-5
0
0
0
7
0
77
-2
0
0
3
15
0
0
-2
0
0
0
-14
0
1
0
0
0
0
-57
0
3
-1
-2
0
0
28
0
0
-5
0
0
0
1
0
-1
0
0
0
0
44
0
3
0
0
0
0
-13
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
146
0
-1
5
0
0
3
9
1
-4
1
1
-5
0
6
0
0
0
0
0
0
9
0
0
0
-2
-2
0
0
1
36
0
0
2
0
0
-15
0
0
0
0
8
-31
42
24
20
0
1
-8
-2
13
-15
-16
-4
-4
7
6
0
2
28
3
-4
-55
8
2
15
-23
49
-3
-67
17
0
0
-12
0
-10
4
-22
0
0
-5
8
30
0
-41
0
1
-2
0
-5
2
8
0
0
0
-2
100
0
0
28
0
0
-1
-1
0
0
0
0
0
0
0
-30
41
3
-16
-28
0
4
139
-171
-1
119
70
-2
0
-29
42
5
0
32
-5
1
-7
31
-1
-1
-6
-12
-1
9
43
1
8
-2
0
1
0
-29
0
38
-8
-10
0
1
0
0
0
0
0
-5
0
58
7
-6
0
0
0
-5
4
129
0
27
0
0
24
82
6
-21
-38
5
7
46
47
10
2
-41
0
-2
-3
9
-2
-6
28
44
-3
-28
9
-6
0
-10
0
0
-8
-40
-4
0
41
-3
0
-4
-37
8
2
0
1
25
1
-28
0
2
-1
8
-3
0
-17
0
-1
0
0
0
8
44
23
25
-20
0
0
6
8
8
-3
91
0
0
0
47
-3
-5
-43
0
0
24
-22
-1
-8
-53
5
0
3
22
3
-8
2
12
0
27
14
-8
61
-41
0
0
-7
0
0
-1
2
21
-4
0
-17
0
21
3
0
3
0
20
9
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
-3
-1
0
0
0
0
0
-4
0
0
0
0
-28
0
0
0
0
0
-20
0
0
0
0
-3
-1
3
0
0
0
0
8
0
0
0
2
1
0
0
0
4
0
-5
0
0
-48
-2
0
0
-1
0
0
1
-2
0
-1
0
0
0
-1
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
7
49
0
-3
-31
0
0
-6
0
0
13
2
4
0
-12
-32
-7
-8
-6
0
0
-1
-25
0
2
1
-1
0
-1
3
0
1
3
0
0
4
10
0
48
0
2
0
0
18
0
0
2
2
-3
0
-16
-3
8
0
-1
0
0
72
8
5
13
0
0
-4
-90
5
-4
-6
0
0
12
0
0
5
54
0
0
0
-22
0
0
-6
0
0
-4
-19
0
0
-4
0
0
0
108
0
0
5
3
0
0
-35
0
0
9
0
2
0
49
0
0
0
0
0
0
-40
0
0
0
0
0
0
16
4
-4
1
0
0
0
5
0
14
-6
0
0
-2
0
0
-1
-16
0
0
0
9
0
13
-4
0
0
1
-9
0
-1
1
0
0
-2
-12
0
-4
-4
0
0
0
20
0
-1
0
0
0
0
-13
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
28
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
1
-1
0
0
-33
0
0
0
34
0
-4
9
-3
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
70
0
0
33
0
0
5
-1
0
-62
-40
-1
0
18
12
0
0
-8
0
0
-3
47
0
0
1
0
0
-2
48
0
0
0
0
0
0
13
0
0
0
-1
0
0
5
0
0
0
0
0
0
122
-1
1
0
0
0
0
-101
0
0
5
0
0
0
74
0
0
-4
0
0
0
116
0
2
-4
0
0
-2
-5
0
0
0
0
0
0
34
0
0
0
0
0
1
53
0
0
-5
-4
0
0
9
0
0
0
0
0
0
12
0
0
1
0
0
0
-13
0
0
0
0
0
0
31
0
0
0
0
0
0
21
0
0
0
0
0
0
-23
0
0
3
0
0
0
48
0
1
0
0
0
0
-5
0
0
0
2
0
0
-4
0
1
0
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
0
41
0
0
0
0
0
0
18
0
0
0
0
-1
1
0
0
-8
0
0
26
0
0
0
-63
0
0
-15
-15
0
0
-13
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
6
-16
0
0
-8
0
0
0
13
0
0
0
0
0
0
0
-4
9
0
0
4
0
0
1
-58
0
14
18
0
0
-29
19
0
0
-23
0
0
-2
27
0
0
1
0
0
0
62
0
0
0
0
0
-1
-2
0
-14
0
-1
0
0
-7
0
0
4
0
0
0
-42
2
5
0
0
0
0
-63
-4
0
0
0
0
2
-12
0
0
4
0
0
-2
-78
0
0
0
0
0
-1
-2
0
0
1
0
0
0
-15
0
0
0
0
0
0
-90
0
0
1
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
102
1
0
0
0
0
0
7
0
-8
8
0
0
0
16
0
4
0
0
0
0
27
0
1
0
0
0
0
-10
0
0
0
0
0
0
-37
0
5
0
0
0
0
-10
0
2
0
0
0
0
67
0
-2
2
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
0
0
1
0
0
0
6
0
-6
4
-6
0
-28
0
0
0
0
0
0
-3
-2
0
0
0
-3
0
0
0
0
-5
0
0
-8
0
0
-21
0
0
0
-1
-2
0
66
12
-4
-2
3
-3
-5
1
-1
-37
-9
0
-8
5
0
0
7
-12
-2
15
30
3
5
10
-8
11
12
-8
0
0
2
0
-8
-4
22
0
0
26
0
-17
31
0
0
0
-1
0
-2
0
-10
0
0
1
-3
-1
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
-19
43
-1
4
-15
0
0
27
11
4
-54
-13
5
0
60
0
0
4
-9
2
0
-7
-60
-1
0
32
-6
0
13
-6
0
0
28
0
0
5
41
0
47
0
-19
0
-1
-27
0
0
0
0
3
0
28
-3
9
0
0
0
1
87
13
10
17
0
0
6
65
13
-8
33
-3
0
58
-44
-1
1
10
8
-5
-13
76
0
0
19
0
-2
9
-53
0
-4
-28
3
0
1
51
10
0
-12
16
0
0
59
0
-2
0
-3
-3
0
90
0
0
-3
5
0
0
-3
-1
0
0
0
0
-1
12
8
2
-7
0
0
-2
-58
-1
15
-1
0
0
3
33
-5
-1
0
-5
0
1
-35
1
-3
0
0
0
3
15
0
-2
-5
0
0
0
41
2
26
0
0
0
0
32
0
0
0
-4
0
0
74
0
4
0
0
3
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
10
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
-9
0
0
0
-54
0
0
52
0
0
0
1
0
1
54
-3
0
0
0
0
-3
1
3
0
0
0
0
0
-1
0
0
0
1
0
-22
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
13
35
0
0
53
0
0
-48
-44
0
35
-47
0
0
7
18
0
0
-9
0
0
-8
3
0
0
0
0
0
0
-24
0
0
8
0
0
0
9
0
-58
0
0
1
0
6
0
0
0
0
0
0
48
0
6
0
0
0
0
20
-5
0
0
0
0
-3
-21
2
0
29
0
0
16
-16
0
0
8
0
0
-1
5
0
0
5
-2
0
25
-7
0
0
0
0
0
0
20
0
0
3
0
0
-2
-27
0
0
0
0
0
0
11
0
0
2
0
-2
0
7
0
0
0
0
0
0
-74
3
0
0
0
0
-4
-31
0
-4
-3
0
0
0
20
0
0
-2
0
0
0
44
0
1
0
0
0
0
-11
0
-1
0
0
0
0
54
0
3
-1
0
0
0
34
0
0
1
0
0
0
10
0
8
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
28
0
0
0
0
0
1
-6
0
0
0
0
-3
0
0
0
1
0
0
63
2
0
0
-9
0
0
15
0
0
0
7
-4
0
-1
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
21
0
0
0
0
0
0
0
0
0
0
0
-20
53
0
0
5
0
0
25
-1
0
-44
9
-1
0
-22
65
0
0
50
0
0
0
-25
0
0
-1
0
0
0
18
0
0
1
0
0
0
11
0
-15
0
8
0
0
8
0
0
0
0
0
0
22
-3
0
0
0
0
0
3
0
0
12
0
0
-1
136
-2
0
5
0
0
5
52
0
0
-1
0
0
4
-10
0
-9
18
0
0
0
27
0
0
5
0
0
0
47
0
2
4
0
0
-2
40
0
0
2
0
0
0
-24
0
0
0
0
0
0
-58
0
0
0
0
0
0
12
0
0
0
0
0
0
-42
0
15
0
0
0
1
-1
0
0
-2
0
0
0
-24
0
0
0
0
0
0
-33
0
0
3
0
0
0
-1
0
3
0
0
0
0
14
0
0
0
0
0
0
73
0
2
0
0
0
0
69
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
60
28
4
54
3
9
-6
21
-5
4
-2
0
-53
-20
-20
-2
0
-12
30
-12
0
1
0
-35
-3
0
-21
0
0
-7
0
0
-1
5
19
-16
20
-13
0
-1
-5
-13
7
12
2
-8
37
24
-60
8
-3
-1
23
-3
-1
27
-6
-2
-3
-51
-9
63
18
30
13
18
94
2
17
0
18
13
3
11
-4
-1
14
42
-1
-1
-3
0
-59
2
-9
0
0
-10
20
-43
0
0
-10
0
-1
-5
-12
0
0
0
0
0
0
0
-8
-25
74
29
2
0
-1
79
10
65
53
62
-58
-7
39
27
3
-8
-15
-1
-4
-19
-22
-3
-4
-56
82
13
41
17
-5
-2
45
1
-24
-29
-24
0
56
4
12
-36
5
19
0
0
0
-2
0
0
13
-32
66
0
-5
1
5
-4
17
6
187
1
2
17
25
18
9
25
-29
6
44
28
-15
-17
42
0
52
61
20
-14
21
78
65
6
61
-14
19
-23
-32
23
18
10
35
-9
-2
-91
25
-23
51
4
0
0
41
0
51
-3
23
0
0
-3
78
-27
0
-24
-7
0
0
0
-1
-3
17
-21
41
-29
0
-1
48
-34
24
26
43
-2
-3
71
-32
58
-55
5
21
2
17
16
4
-99
-15
25
-15
-5
-24
-1
67
76
5
-41
-36
35
-2
-9
36
21
2
-2
31
-4
0
42
42
10
-3
37
0
-85
0
1
-13
0
-50
-5
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
1
0
0
-32
0
0
0
0
0
0
-9
0
-3
0
0
-7
0
0
-1
18
0
0
19
0
0
0
-20
0
0
28
0
0
0
8
0
5
9
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
-1
0
0
0
0
-4
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
-4
24
-3
0
26
0
0
3
-30
0
-25
49
2
0
9
0
0
0
4
0
0
-4
-55
0
0
-1
0
0
0
46
0
0
-2
0
0
0
2
0
5
-9
0
0
0
-12
0
0
0
0
0
0
3
8
-2
0
0
0
-1
0
0
0
-6
0
0
24
44
0
-7
43
0
0
4
36
0
0
8
0
0
8
0
0
0
-13
-7
0
0
50
0
0
0
-1
0
0
-30
0
0
0
0
0
0
34
0
1
0
0
2
0
-86
0
0
0
0
0
0
-32
0
3
0
0
0
0
25
2
0
-1
0
0
-2
30
0
31
-5
0
0
0
35
0
1
-5
0
0
0
0
0
16
4
2
0
0
13
0
0
3
0
0
-1
-61
0
0
0
0
0
0
-5
0
0
0
0
0
0
48
0
-5
0
0
0
0
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
69
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
-15
0
0
7
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
8
-5
0
-4
-8
0
0
-9
-29
0
0
5
0
0
6
-15
0
0
0
0
0
10
3
0
0
0
0
0
0
0
0
17
0
-2
0
0
19
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
-4
31
0
6
3
0
0
-5
8
0
0
-1
0
0
0
-21
0
0
-6
0
0
0
20
0
0
-1
0
0
0
41
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
4
4
0
-5
0
0
0
-4
0
0
-5
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
5
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
-8
0
0
0
0
0
8
7
-1
0
-8
10
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
-6
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
-1
0
0
0
0
8
72
0
0
0
0
0
-3
24
0
0
0
0
0
0
-15
0
0
0
0
0
-2
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
1
0
54
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
9
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
-16
0
0
0
0
-1
0
1
1
0
0
0
-23
0
2
0
-4
0
0
-21
0
0
0
23
0
0
53
0
5
0
-2
-1
0
10
22
0
0
0
0
0
-1
-9
0
0
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
10
0
0
0
-1
0
0
0
0
0
0
0
-9
-14
0
0
-6
0
0
17
22
0
-91
-5
0
0
34
-40
0
0
-13
1
0
8
13
0
0
0
0
0
0
1
0
0
-2
0
-7
0
5
0
-13
-5
4
0
1
30
0
0
0
0
0
0
-35
-8
4
0
0
0
0
-10
-7
-1
0
0
0
1
43
-19
1
-2
0
0
-24
13
0
0
-2
0
0
-8
-20
0
0
16
-2
0
-5
22
0
0
6
-3
0
0
6
0
0
0
0
0
0
80
0
0
0
0
0
0
1
0
0
0
-2
0
0
10
0
0
0
0
0
0
-29
13
0
0
0
0
0
-2
0
22
0
0
0
0
21
-2
0
0
1
0
0
-30
0
8
0
0
0
0
22
0
0
0
-7
10
1
17
0
3
0
0
0
0
-18
0
-3
0
0
0
0
69
0
3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
-3
0
0
-4
0
0
0
-3
0
0
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
-3
-3
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
-23
0
0
-1
0
0
0
4
0
0
39
0
0
0
-3
0
0
7
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
18
60
0
0
21
0
0
20
21
0
-24
72
0
0
-4
10
0
0
-10
0
0
9
-18
0
0
4
0
0
3
-7
0
0
12
0
0
0
2
0
1
0
1
0
0
22
0
0
0
0
0
0
-31
0
0
0
0
0
0
114
0
0
-1
0
0
5
7
0
0
-28
0
0
-4
-9
0
0
-5
0
0
30
-48
0
0
3
0
0
0
-25
0
0
-4
0
0
0
2
0
0
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
-40
-4
0
0
0
0
0
5
0
5
0
0
0
-2
-28
0
0
-5
0
0
1
31
0
0
0
0
0
0
-20
0
0
0
0
0
0
69
0
-8
0
0
0
0
-8
0
0
0
0
0
0
5
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
6
0
0
64
0
0
0
37
0
0
-3
-5
0
0
82
25
0
8
1
0
0
2
0
4
-2
7
0
0
-12
0
0
-6
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
-28
0
0
0
-79
0
133
9
1
0
12
-47
0
0
58
0
0
1
-53
0
0
-1
-1
0
-2
33
0
0
18
0
0
0
6
0
-35
0
0
0
0
11
0
0
0
0
0
0
9
-2
0
0
0
0
0
-4
-8
0
0
0
0
0
-6
6
4
-16
-3
-2
4
14
0
3
-5
0
0
0
7
0
-1
-3
-1
2
-4
-33
0
0
-1
0
0
-2
-5
0
0
1
0
0
0
-44
0
0
2
0
-5
0
1
0
0
0
0
-2
0
20
0
0
0
0
-1
0
22
-12
-2
0
0
0
0
-17
1
40
-24
0
0
0
-19
0
3
0
3
0
0
4
1
-2
6
0
0
0
37
0
0
0
0
0
0
-66
0
0
1
0
0
0
13
0
0
0
-1
1
0
27
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
41
0
0
0
0
0
14
0
0
0
-1
7
0
-16
4
0
0
1
-29
0
0
4
31
0
0
-17
2
0
0
-44
2
0
95
10
0
0
-27
-29
2
13
0
0
0
-1
-4
-7
7
18
0
0
-3
1
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
-5
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
6
1
0
0
112
0
0
51
-17
4
-27
-21
1
0
38
5
0
0
3
2
0
-20
0
0
0
-12
-2
0
0
84
-1
0
16
-1
0
0
1
0
-103
3
4
0
0
55
0
0
0
0
0
0
8
-6
9
0
0
0
2
5
59
0
-8
0
0
-4
32
6
3
-12
1
0
-2
24
-2
0
73
0
0
-6
-20
0
-8
5
-4
0
-5
0
0
-5
-2
-8
0
0
11
0
0
-1
2
0
0
-9
0
0
-1
0
0
0
3
0
0
0
8
-2
0
-38
0
0
0
0
0
2
5
-19
0
7
0
0
3
-27
0
30
23
0
0
-1
-13
-4
-2
-2
0
0
14
29
1
-5
9
0
0
-2
0
0
-4
6
-7
0
-1
-19
0
4
0
0
0
0
-3
0
5
0
0
0
0
-16
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
0
0
0
0
0
1
2
0
0
0
0
4
0
0
3
16
0
0
-4
0
0
0
22
0
0
2
0
0
0
5
0
0
68
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
12
-40
0
2
-21
0
0
-10
47
0
8
-12
-2
0
12
-9
0
0
-10
0
0
-7
9
0
0
3
0
0
0
53
0
0
0
0
0
0
40
0
14
0
0
0
0
18
0
0
0
0
0
0
89
0
0
0
0
0
0
-26
0
0
0
0
0
0
35
0
-4
3
0
0
0
32
0
0
0
0
0
0
19
0
0
13
0
0
0
-22
0
0
-3
0
0
0
42
0
0
0
0
0
0
-2
0
0
-3
0
0
0
13
0
0
0
1
0
0
-41
0
0
0
0
0
0
26
3
1
0
0
0
0
2
0
5
0
0
0
0
-11
0
0
3
0
0
0
34
0
0
0
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
4
0
0
0
31
0
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
-48
0
0
0
0
0
0
7
0
0
0
0
-1
0
0
0
0
0
0
6
-1
0
0
6
0
0
1
0
0
0
15
-5
0
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
-1
-86
0
0
12
0
0
0
6
0
8
-3
0
0
6
36
0
0
-9
0
0
0
8
0
0
0
-4
0
0
5
0
0
1
0
0
0
9
0
1
0
0
0
0
-9
0
0
0
0
0
0
-74
-1
0
0
0
0
0
20
-6
0
-1
0
0
-1
56
-2
0
0
0
0
0
42
0
0
1
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
38
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-2
0
-1
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
62
0
0
0
-5
0
0
0
0
0
0
0
4
0
-4
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
-2
7
0
9
-6
0
0
1
-7
0
0
0
0
0
-1
-3
0
0
0
0
0
0
24
0
0
1
0
0
0
8
0
7
0
0
0
0
-6
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-6
2
0
0
0
0
0
16
0
0
-1
0
0
0
-15
0
0
1
0
0
0
13
0
0
1
0
0
0
18
0
0
-1
1
0
0
-16
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
-37
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
-8
0
0
0
5
0
0
2
-2
0
0
25
0
1
-3
0
0
0
-2
0
-2
0
0
0
0
-1
0
-3
-2
0
0
0
7
0
0
0
-1
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
61
0
0
10
0
0
-10
0
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
5
0
0
1
0
0
0
1
0
1
-1
0
0
0
-1
0
-1
55
4
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
0
0
0
22
0
0
0
0
0
0
5
0
0
5
0
0
0
1
0
0
0
0
0
0
0
-1
30
0
0
6
0
0
0
7
0
-50
-29
0
0
5
-16
0
0
-25
0
0
-7
26
0
0
32
0
0
-1
21
0
0
61
0
0
-2
5
0
13
0
0
0
0
18
0
0
0
0
5
0
-3
1
0
0
0
0
0
7
4
0
0
0
0
-6
1
0
0
5
0
0
0
-3
0
0
-1
0
0
7
-28
0
0
-12
0
0
-1
-50
0
8
-3
0
0
0
6
0
0
7
0
0
0
-42
0
0
17
0
8
0
25
0
0
-2
0
0
0
21
0
0
0
0
-1
0
28
-1
0
0
0
0
0
-4
0
4
0
0
0
0
11
2
0
0
0
0
0
-31
0
-3
3
0
0
1
1
0
0
0
0
1
0
26
0
0
0
0
-1
0
30
0
0
0
0
0
0
-12
0
-1
0
0
0
0
2
-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
-1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
45
0
0
0
0
0
0
2
0
0
0
-12
17
0
16
0
0
0
4
0
0
35
-1
0
0
-5
-4
0
45
2
0
0
0
0
0
0
1
0
0
0
15
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
5
-66
0
0
-70
0
0
-19
33
0
28
48
-1
0
56
13
0
0
-82
0
0
0
2
0
0
-16
-1
0
10
43
0
0
-6
0
0
5
8
0
9
-2
-37
0
0
10
0
0
0
0
0
0
49
-1
-1
0
2
0
0
45
-36
0
1
0
0
0
16
3
-8
22
2
0
13
-35
0
5
28
0
0
-11
77
0
5
42
0
0
6
-14
-2
0
11
14
0
0
7
0
0
26
-10
0
0
23
0
0
-4
0
0
0
45
0
0
1
2
0
0
27
0
0
0
0
0
0
12
12
0
3
0
0
0
49
0
15
8
0
0
0
73
0
0
3
0
0
0
52
0
-2
1
0
0
0
22
0
-1
0
6
0
0
8
0
5
6
0
0
0
-20
0
0
-1
0
0
0
6
0
19
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
1
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
6
0
0
-31
0
0
0
-38
0
0
4
0
0
0
-9
0
0
0
0
0
0
-1
0
-29
-2
-3
0
0
-3
0
1
0
0
0
0
-35
0
24
0
4
0
0
0
-3
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
0
7
-15
0
0
0
-36
0
-24
-3
-2
0
0
39
0
0
-5
0
0
0
95
0
0
-8
0
0
0
-2
0
0
-34
0
0
0
15
0
-23
1
24
0
0
-26
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
2
0
0
0
0
0
-22
1
0
7
0
0
0
6
0
0
-3
0
0
0
-7
0
0
-4
0
0
3
46
0
0
24
0
0
0
24
0
0
-2
0
0
0
-74
0
0
-2
0
-1
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
72
0
0
0
0
0
0
50
0
-15
0
0
0
0
-11
0
0
0
0
0
0
-8
0
-5
2
1
0
0
-23
0
1
0
-8
0
0
8
0
0
8
0
0
0
45
0
0
0
0
8
0
-10
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-2
0
0
0
0
-67
0
0
0
0
0
-38
0
0
0
0
-1
-2
-1
0
0
0
0
8
0
0
0
0
6
0
45
-4
0
0
-14
0
0
-7
-5
0
-3
30
8
0
-6
3
0
0
-1
0
0
24
0
0
0
1
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
0
-3
-1
0
0
-8
0
0
6
37
-3
53
38
-1
0
17
33
-3
0
54
1
0
6
-56
0
0
1
0
0
3
0
0
0
0
0
0
0
-17
0
3
0
0
0
0
6
0
0
0
0
0
0
30
3
-6
0
0
0
1
-14
18
0
-17
0
0
-3
87
13
-1
-5
-8
-1
-1
20
0
0
21
0
0
0
9
0
0
-2
0
0
-7
-27
5
0
0
0
0
4
0
-1
0
3
2
0
0
-12
0
0
0
0
0
0
3
0
0
-1
0
0
0
4
1
0
0
0
0
-5
61
4
-1
0
0
0
0
2
3
42
6
0
-1
0
-33
-2
0
5
0
0
-2
74
0
-8
-1
0
0
0
30
0
-1
9
-5
0
0
0
-2
0
0
0
0
0
-30
0
-3
0
-8
0
0
-54
0
0
3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-73
0
0
-2
0
0
0
-5
0
-7
6
0
0
5
9
0
0
4
0
0
0
-7
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
-3
0
0
0
-42
0
0
-5
0
0
0
-41
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
0
-1
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
8
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
25
30
3
0
0
-2
0
0
0
0
0
0
-7
0
0
2
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-4
0
0
-2
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
8
0
-16
-1
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-29
0
0
0
0
0
0
-39
0
0
0
0
0
0
-17
0
0
1
0
0
0
-11
0
0
-7
0
0
0
-30
0
0
0
0
0
0
-24
0
0
0
-2
0
0
2
0
0
-3
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
-1
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-3
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
-1
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
-13
0
0
0
0
0
0
-6
3
0
0
0
-5
0
0
0
2
0
0
40
0
0
0
-45
0
9
-10
-8
0
0
13
8
0
-40
5
0
0
13
0
0
-2
4
0
0
0
-1
0
0
-5
0
0
-3
0
0
0
0
0
0
0
6
0
0
0
29
0
0
-5
0
0
0
0
0
0
0
0
-6
6
0
0
-20
0
0
-20
20
0
-23
10
0
0
17
-77
0
0
63
0
0
-4
26
0
0
10
-1
0
0
-9
0
0
21
0
0
-3
23
0
-16
0
-28
0
0
33
0
0
0
0
0
0
11
-14
0
0
0
0
0
2
8
0
-2
0
0
-8
64
0
4
-3
-1
0
-48
10
0
0
-8
0
0
-5
14
0
0
-3
7
0
1
-9
0
1
-14
0
0
-8
3
0
0
5
2
0
-1
-33
0
0
-2
0
0
0
-19
0
0
4
17
0
0
1
3
0
0
0
0
0
-29
14
0
0
0
0
-10
-28
0
0
-4
0
0
-2
-28
0
0
56
0
0
4
91
0
1
17
0
0
1
-24
0
3
-6
0
0
0
-30
0
-13
0
0
0
0
-7
0
-6
0
0
0
0
26
0
13
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
9
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-25
38
0
0
1
0
0
10
-11
0
-6
0
0
0
-5
-29
0
0
2
0
0
-1
-9
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
2
0
0
0
0
15
0
0
0
0
0
0
-36
0
0
0
0
0
0
-23
0
0
0
0
0
8
-44
0
0
0
2
0
4
-49
0
0
5
0
0
0
6
0
-2
0
0
0
-5
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
-3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-2
0
0
0
15
0
0
0
3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-3
0
0
-21
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-9
-2
0
-21
0
0
0
6
0
0
4
-1
1
0
-7
0
0
-9
-1
0
0
1
0
0
0
-4
0
0
0
2
0
-2
0
0
0
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-68
0
0
-17
0
0
6
-7
0
-19
-21
0
0
-40
-21
0
0
-3
0
0
1
-6
0
0
1
0
0
-1
-7
0
0
-3
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
-31
1
0
0
0
0
0
-22
2
0
-2
0
0
0
90
1
-4
4
3
0
0
41
0
0
-15
0
0
0
-26
0
0
-21
0
0
-4
-18
0
-2
-2
0
0
0
35
0
0
-4
17
0
0
0
0
0
-1
0
0
0
6
0
0
3
0
18
0
-28
0
0
0
0
0
0
42
0
0
-2
0
0
0
-13
0
2
2
0
0
0
-44
-4
0
0
0
0
0
-20
0
1
-2
0
0
0
1
0
0
3
0
0
0
-45
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
2
0
0
-1
0
0
1
-8
0
0
14
0
0
0
0
0
0
0
8
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
-1
7
0
0
0
-1
0
0
0
0
0
0
9
-3
0
0
0
0
0
26
0
0
0
0
0
10
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
63
0
0
1
0
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
-3
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
-2
0
0
0
4
0
-7
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-38
0
0
-3
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
-26
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
12
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
3
0
0
-5
48
0
3
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
43
0
0
0
0
0
0
-30
0
0
0
0
0
0
-4
0
2
0
2
0
0
17
0
0
0
0
-2
0
-1
0
0
0
2
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
2
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
2
0
0
0
0
-1
0
0
1
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-33
0
0
0
0
-2
0
15
0
0
0
1
0
0
0
0
1
0
0
29
0
0
0
21
0
0
-5
0
0
4
-7
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
27
0
0
5
0
0
0
28
0
-15
-8
0
0
8
-31
0
0
1
0
0
0
2
0
0
7
0
0
-2
12
0
0
20
0
0
0
2
0
28
0
0
0
0
-34
0
0
0
0
0
0
3
-1
0
0
0
0
0
-30
-10
0
0
0
0
0
-7
0
-2
0
0
0
0
-42
0
0
1
0
0
-3
-45
0
0
0
0
0
6
10
0
0
-1
0
3
3
-2
0
0
7
0
0
0
-32
0
0
-6
0
1
0
-8
0
0
1
0
0
0
35
0
0
0
0
0
0
0
0
0
-6
0
0
0
3
0
-7
-1
0
0
3
5
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
-4
0
0
0
9
0
0
0
0
0
0
83
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-69
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
-2
0
0
-3
0
0
0
-24
0
0
5
1
0
-2
0
-7
0
-7
0
0
0
0
0
0
-4
-5
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
51
12
0
0
79
0
0
-18
1
0
-7
35
-2
0
97
-21
0
0
0
0
0
0
11
0
0
5
0
0
0
-61
0
0
-2
0
0
0
3
0
7
-9
0
0
0
10
0
0
0
0
0
0
9
-1
0
0
0
0
0
-27
0
0
9
0
0
3
-30
0
0
29
0
0
34
93
0
0
-1
0
0
0
57
0
1
-4
0
0
8
-29
0
0
-14
-7
0
0
54
0
0
2
0
0
-1
44
0
0
0
0
0
0
27
0
0
0
0
0
0
35
0
0
0
0
0
0
-25
-1
0
0
0
0
0
-16
0
4
-7
0
0
0
-9
0
0
0
0
0
-2
-12
0
2
0
0
0
0
31
0
0
0
-3
0
0
-22
0
-5
0
0
0
0
5
0
0
0
0
0
0
-17
0
-3
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-9
0
0
1
0
0
0
1
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
-4
0
0
0
-9
0
0
0
-1
0
0
-5
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
6
0
0
0
6
0
8
-9
0
0
-1
-17
0
0
0
0
0
0
-18
0
0
4
0
0
-1
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
-1
0
0
0
0
-2
-21
0
0
0
0
0
0
20
0
4
0
0
0
0
44
0
0
-2
0
0
0
13
0
0
-2
0
0
-2
13
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
-2
0
0
-2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
6
0
2
0
0
0
0
-9
0
0
-1
0
0
6
7
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-111
0
0
0
0
0
0
-38
0
0
8
0
0
0
-16
0
0
0
0
0
-2
-1
0
0
3
0
0
0
-13
0
0
0
0
0
0
-52
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
-2
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-2
0
15
-28
-16
4
-61
-8
-34
-44
-6
-27
-50
-12
12
35
-21
17
16
-25
-21
16
18
8
-62
-4
-2
-41
21
-70
-28
-41
-3
-4
-23
7
-6
-10
48
-3
10
-38
-20
-45
-27
-40
-3
2
30
4
-15
-5
-8
3
-1
-23
14
8
0
3
-49
0
0
-35
27
0
0
0
0
0
0
0
8
-13
15
-17
3
-22
-48
-18
-3
-5
-1
-15
-23
0
14
17
-25
-8
-2
22
-14
-75
26
-29
9
19
20
14
-43
19
-2
-10
50
5
-26
53
-23
-3
-7
0
-47
48
-10
-34
36
2
-1
-8
-62
0
-12
-27
0
-1
-28
2
-41
-6
36
-5
-9
8
1
90
12
24
-50
7
-13
2
-16
-14
-26
0
22
66
11
-27
-24
-11
11
15
-93
78
10
-10
-4
-55
7
41
9
58
-16
27
48
7
-28
-1
47
-2
-3
-5
-17
5
35
8
0
-2
-3
4
39
10
-1
-16
22
-5
0
14
26
-73
-8
-49
-115
75
-37
0
72
-5
-18
18
98
-27
23
12
-46
-12
-6
0
-60
4
-23
-2
22
12
15
33
-16
-29
-4
20
16
-43
52
-43
-46
-32
6
10
-42
70
16
-9
-48
-5
22
72
28
46
2
-18
3
-31
-7
1
-43
1
17
1
-36
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
-1
1
22
-3
0
0
0
7
0
0
-7
13
0
0
-41
0
0
0
85
0
0
84
6
0
0
-26
48
0
28
0
1
0
-3
0
0
-17
-6
0
0
-2
-7
0
-13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
0
0
0
0
0
0
6
31
6
0
-27
0
0
62
20
-5
64
51
-9
0
45
27
0
0
44
0
0
9
-45
0
0
29
11
0
34
79
0
0
34
0
0
-2
8
0
-32
-5
7
0
0
-23
0
0
0
0
0
0
26
23
1
0
10
0
0
24
-23
-2
-9
0
0
-12
-12
11
-4
-46
-3
0
45
-14
0
4
28
0
0
23
45
0
15
33
7
0
-32
-12
-4
-1
0
0
0
-4
-32
0
0
31
0
0
-5
48
0
0
4
0
0
0
-39
0
1
-8
-13
0
0
17
-4
0
0
0
0
0
-49
6
0
0
0
0
-5
22
0
-44
-36
0
0
16
71
0
0
-10
0
0
0
-3
0
0
0
2
0
0
-5
0
0
10
-7
0
0
31
0
64
-8
0
0
5
-72
0
-5
0
-1
0
0
0
0
63
3
0
0
0
22
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-36
37
-2
-1
-12
-13
21
35
-65
21
16
41
55
-14
41
69
7
-2
-10
-17
15
-11
59
-22
19
-18
37
22
-77
-1
8
28
-89
1
16
-32
3
20
32
21
22
55
-27
-12
-6
7
41
-7
-20
5
-1
-17
-41
-15
4
-5
7
-1
-24
-29
36
-13
0
0
0
0
0
0
0
11
-10
33
-19
15
14
15
-1
-12
-27
44
-2
-20
7
9
12
-9
59
11
-12
-13
-8
-39
-48
52
23
60
-9
-22
0
-7
-37
19
3
35
17
-10
-39
7
13
29
71
36
11
27
-14
52
21
-35
1
-19
25
-41
-7
19
9
1
7
-53
-38
-17
-25
-9
-59
-2
4
30
-19
-11
-26
-20
-14
-91
-37
13
14
17
4
-14
14
-8
10
-4
-41
46
4
72
13
9
76
-22
17
5
28
31
9
1
-17
7
-2
55
-5
-12
7
-11
-11
-43
-39
-33
-48
-32
-32
0
1
-1
-35
-15
6
50
68
-2
34
-5
57
-68
-18
49
3
-3
-21
-19
21
48
-5
24
-7
-70
-9
-36
-26
-57
-11
-10
-49
13
11
8
11
-12
5
12
9
13
16
-1
2
20
-4
-13
43
-5
-95
-8
19
-14
4
-10
27
32
15
16
-2
-18
13
-49
-6
1
-2
4
1
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
1
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
5
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
-15
27
0
57
-4
0
0
29
47
0
0
0
0
0
0
10
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
-5
0
0
0
0
-13
0
0
0
0
0
0
-6
-13
0
0
0
0
0
45
4
0
0
0
0
-4
8
0
0
2
0
0
0
114
0
0
0
0
0
0
82
0
0
0
0
0
0
77
0
0
0
0
0
0
27
0
0
-1
5
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
0
0
0
-31
3
0
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
0
10
30
0
8
23
3
-5
0
-6
0
0
-43
5
0
1
-1
-7
0
-18
8
0
0
-24
0
0
1
-5
0
0
7
-10
0
2
1
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
58
17
0
1
57
0
0
21
15
-8
-44
37
-3
0
-23
-28
-1
0
-48
0
0
0
3
0
0
3
3
0
-8
41
0
0
-9
0
0
0
46
0
-1
-5
0
0
0
62
0
0
4
0
0
0
63
9
0
0
-2
0
0
69
3
1
-2
0
0
45
35
19
-1
13
0
0
-18
-44
2
0
-24
0
0
-12
-74
0
1
-12
8
0
3
6
0
3
-12
0
0
0
-22
0
0
10
29
0
2
-38
0
0
0
0
0
0
5
0
0
3
0
0
0
-20
1
0
0
0
0
0
64
-12
0
-3
0
0
0
22
-5
64
8
-2
0
9
-19
4
-6
3
0
0
2
13
0
-31
0
0
0
0
-7
0
0
1
-25
0
0
25
0
1
0
0
0
0
-11
0
2
0
0
0
0
-7
0
-4
0
0
0
0
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
4
0
0
0
12
0
0
0
-13
0
0
-1
5
0
-1
32
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-18
0
0
6
47
0
-78
0
3
0
63
3
0
0
-1
0
0
18
-22
0
0
6
-1
0
3
26
0
0
3
0
0
0
3
0
24
0
0
0
0
6
0
0
0
0
0
0
-30
-7
0
0
0
0
0
0
11
0
-26
0
0
0
-18
5
-8
15
5
0
-1
-47
0
0
5
0
0
0
-2
0
0
-7
0
0
7
-21
0
1
-10
0
0
-3
5
0
0
12
-2
0
0
86
0
0
2
0
0
0
-57
0
0
0
2
-5
0
-16
0
0
0
0
0
0
0
38
6
-6
4
0
0
0
0
-10
-2
0
0
0
33
0
14
0
0
0
0
-25
0
1
6
0
0
1
22
0
-1
1
-1
0
0
-25
0
0
0
0
0
0
1
0
0
0
-1
0
0
6
0
0
0
0
0
0
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
44
-3
1
-29
9
8
5
-13
20
-6
0
1
0
18
-38
63
0
0
1
8
-7
-28
-26
0
6
-4
0
13
1
-23
0
-2
16
1
3
-3
-2
0
0
0
0
0
0
13
16
0
0
0
18
0
0
-26
0
0
0
-16
0
0
0
0
0
0
0
12
21
-4
-7
31
0
-2
5
23
-5
-51
47
5
-3
59
53
0
-6
-60
0
1
-17
-4
0
0
-31
1
0
-4
-5
0
13
18
0
0
-3
38
0
40
-9
27
-1
0
-20
0
0
0
0
-1
0
-21
7
14
0
0
0
5
-8
-1
3
-45
-7
0
21
-64
11
5
28
2
1
-64
59
0
0
-15
2
-1
4
12
0
-28
-15
30
1
42
-1
0
-3
25
4
0
-7
13
0
-1
26
21
0
-1
-29
0
0
0
1
32
0
27
0
0
5
-1
5
0
38
-2
0
0
0
-1
-6
-9
0
-24
39
-5
0
22
-50
0
-2
4
0
0
-8
27
-1
3
51
-8
0
5
-25
2
31
-7
-3
9
2
63
0
2
5
-17
0
-8
58
0
-13
-2
8
0
0
1
0
-8
-1
33
7
8
-5
0
-12
-1
0
0
0
18
4
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-8
-1
0
86
0
-3
0
27
0
0
7
25
1
0
-2
0
6
-2
0
0
0
0
0
0
3
2
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
8
0
0
0
0
0
0
0
16
102
0
4
28
0
0
6
3
0
45
57
0
0
-37
-58
9
0
105
0
0
0
60
0
0
-3
0
0
0
-19
0
0
8
0
0
0
13
0
-14
0
2
0
0
-7
0
0
0
-1
1
0
-18
0
0
0
0
0
0
54
2
0
-2
0
0
0
37
5
0
40
0
0
9
39
0
0
-5
0
0
12
-19
-1
0
-19
0
0
0
54
0
0
-1
0
0
0
-19
0
0
-5
7
0
0
41
0
0
0
0
0
0
22
0
0
-1
0
0
0
-26
0
0
0
0
0
0
53
-2
0
0
0
0
0
27
0
0
25
0
0
0
36
0
0
0
0
0
0
23
0
0
7
0
0
0
-7
0
0
0
-1
0
0
57
0
0
0
0
0
-1
8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
3
0
0
81
0
0
0
18
0
3
49
7
0
0
0
-3
0
6
0
0
0
0
0
0
0
8
0
0
0
0
1
-2
-7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
13
15
0
0
76
0
0
40
31
0
75
-22
-4
0
13
12
0
0
8
0
0
0
-7
0
0
-2
0
0
-1
-51
0
0
-1
0
0
0
-1
0
-4
0
0
-1
0
-9
0
0
0
0
0
0
6
0
13
0
0
0
0
19
-13
0
-10
0
0
7
11
0
-4
-5
0
0
13
22
0
-1
-5
0
0
1
4
0
7
14
6
0
0
94
0
0
0
0
0
0
73
0
0
-2
21
0
0
54
0
0
0
0
0
0
34
0
0
0
0
0
0
-23
0
5
0
0
0
0
3
13
0
-4
0
0
-2
26
0
-14
17
0
1
0
5
0
0
0
2
0
0
20
0
5
-4
0
0
0
1
0
0
-6
3
0
0
24
0
-1
0
0
0
0
28
0
0
-2
0
0
0
48
0
38
0
0
0
0
102
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
0
0
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
8
0
0
-1
-1
0
10
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
2
-6
-1
0
-1
0
0
-1
31
0
0
8
0
0
0
6
0
0
0
0
0
0
-20
0
0
0
0
0
0
34
0
0
0
0
0
-1
20
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
57
0
0
0
0
0
0
-16
0
0
-2
0
0
0
5
0
-3
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
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
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
8
0
0
0
12
0
0
0
-4
0
0
3
0
0
3
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
12
0
-1
49
0
0
18
-9
0
-2
13
0
0
3
17
0
0
0
0
0
0
24
0
0
0
0
0
0
49
0
0
2
0
0
0
5
0
-10
0
-9
0
0
23
0
0
0
0
0
0
34
0
0
0
0
0
0
35
2
0
6
0
0
0
52
-3
0
0
0
0
-7
0
0
0
-4
0
0
5
-26
0
0
1
0
0
0
-42
0
0
0
-5
0
2
9
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
18
1
0
0
0
0
0
75
0
5
13
0
0
2
46
0
0
-2
0
0
-2
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
-1
0
0
0
8
0
0
-5
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
-3
4
30
-6
0
50
8
0
7
-47
-8
0
-3
22
0
0
-4
-4
-2
0
14
0
0
-6
0
0
1
-5
0
0
4
0
7
0
8
22
0
0
0
-54
0
0
-17
0
0
0
60
0
0
0
0
0
0
0
68
6
6
-6
65
-1
0
-34
12
0
-5
49
16
1
-72
-5
-1
0
13
-4
1
40
-6
6
0
-20
5
0
6
41
0
-2
-6
1
5
-1
-52
8
-37
0
-12
0
8
17
0
0
-4
6
-2
0
5
-14
1
0
0
0
3
48
-34
2
-19
5
0
58
75
-20
8
-22
-13
0
-20
-23
-2
-3
112
1
0
-28
14
-2
-2
37
8
0
3
-3
-3
2
-6
5
0
-6
-4
0
-4
33
6
0
2
-18
0
0
-50
0
-5
0
60
0
0
-1
3
4
0
-37
8
0
0
0
0
0
53
1
1
-1
-2
0
1
66
-6
29
66
-1
0
-22
-3
-2
-3
30
0
0
5
-1
-1
60
-28
0
0
0
55
0
1
29
29
0
-3
-54
-1
8
12
0
0
0
-13
0
-8
1
-15
0
0
-2
0
9
0
1
0
0
-12
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
0
0
-4
0
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
16
0
0
-6
0
0
33
2
5
0
41
58
0
0
-3
0
0
0
-2
0
0
1
0
0
0
51
0
0
0
0
0
0
18
0
18
0
-1
0
0
10
0
0
0
0
0
0
5
1
0
0
0
0
0
-30
0
0
-2
0
0
-2
0
0
0
-24
0
0
-1
-10
0
0
2
0
0
2
-7
0
0
0
0
0
7
25
0
0
0
0
0
0
44
0
0
-1
2
0
0
36
0
0
-1
0
3
0
-2
0
0
0
0
1
0
48
-1
0
0
0
0
0
11
5
0
0
0
0
0
0
0
0
0
0
0
-5
-34
0
0
2
0
0
0
-8
0
4
0
0
0
0
24
0
0
0
0
0
0
36
0
1
-1
0
0
0
5
0
0
0
0
0
0
26
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
-1
0
0
-43
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-8
22
0
0
5
0
0
-3
-30
0
-35
6
0
0
29
-3
0
0
-2
0
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
-13
-2
0
0
0
-31
0
0
0
0
0
0
65
0
0
0
0
0
3
-13
0
0
-2
0
0
0
13
0
0
0
0
0
0
64
0
0
-7
0
0
0
94
0
0
1
0
0
0
28
0
0
1
0
0
0
-22
0
0
1
0
0
0
75
0
0
0
0
0
0
41
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
1
0
-7
0
0
0
18
0
-4
0
0
0
0
32
0
-1
0
0
0
0
-29
0
2
1
0
0
0
4
0
0
0
0
0
0
-32
0
7
-1
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
8
0
0
56
0
4
-18
0
0
0
-8
-1
0
2
22
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
5
0
0
0
-15
0
0
0
0
0
0
0
46
45
-2
0
103
0
0
28
-18
4
58
28
0
0
18
-41
0
0
-3
0
0
0
-6
0
0
1
0
0
0
24
0
0
-4
0
0
0
25
0
15
0
0
0
0
30
0
0
0
0
0
0
36
-4
0
0
-3
0
-5
29
7
0
2
0
0
7
8
8
0
33
0
0
24
55
3
0
-18
0
0
-8
17
0
-1
-5
0
0
-2
72
0
0
1
0
0
0
-21
0
0
4
7
0
0
49
0
0
0
0
0
0
56
0
0
2
0
0
0
30
0
0
0
0
0
4
68
0
0
-1
0
0
1
11
0
-20
-2
0
0
-4
-21
-1
-1
0
2
0
2
17
0
7
1
0
0
0
44
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
-4
0
0
34
0
5
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
-4
-10
-2
1
-4
24
0
3
25
-1
25
-7
29
0
0
5
0
4
-1
20
0
0
15
0
0
4
0
0
0
7
0
8
0
46
0
0
0
-4
73
0
0
21
0
0
0
-15
0
0
0
0
0
0
0
-2
77
1
42
-10
0
5
78
-13
-3
-22
53
-30
-2
-33
0
19
-8
-44
0
0
-21
-90
0
-1
-8
6
-3
-29
24
3
0
5
0
0
1
28
-5
20
-9
2
-2
0
-56
0
0
0
-1
-8
0
40
-14
3
0
0
0
14
81
52
1
65
0
0
10
48
15
10
-43
0
0
31
-22
0
5
6
0
-1
5
53
-1
48
11
-24
-1
14
-41
0
-2
-29
0
0
10
-16
0
-4
-3
0
8
5
1
0
6
2
0
7
3
14
0
-3
0
0
0
0
40
2
0
0
0
0
-4
-10
-3
13
5
0
0
-12
-10
0
-35
7
0
0
5
67
-2
2
13
0
-1
14
21
0
-13
18
1
-1
-3
-12
0
-11
21
23
0
22
-14
0
46
0
0
0
2
24
5
-9
5
0
0
0
26
0
6
-5
0
0
0
51
-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
-21
1
0
0
22
0
-6
-5
4
0
0
7
0
0
19
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-47
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
50
0
0
5
-2
0
38
-21
0
0
-15
16
0
0
2
0
0
0
-29
0
0
-47
0
0
0
-70
0
0
0
0
0
0
4
0
28
0
0
0
0
5
0
0
0
0
0
0
-8
0
-9
0
0
0
0
20
0
0
0
0
0
0
50
0
0
25
0
0
0
-22
0
0
56
0
0
2
6
0
0
-1
0
0
0
-26
0
0
28
0
0
5
-16
0
0
5
0
0
0
17
0
0
0
0
0
0
-51
0
0
0
0
-2
0
85
0
0
0
0
0
0
33
2
0
0
0
0
0
7
0
20
4
0
0
0
-1
0
-3
-9
0
0
2
41
0
0
0
0
0
0
-16
0
0
-6
0
0
0
13
0
42
0
0
0
0
-3
0
0
0
0
0
0
59
0
4
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-5
17
0
0
0
-14
0
30
-6
0
0
25
7
0
0
0
0
0
2
12
0
0
-1
2
0
-1
47
0
0
-5
0
0
0
-2
0
11
0
0
0
0
9
0
0
0
0
0
0
28
0
0
0
0
0
0
78
2
0
-5
0
0
0
40
5
0
9
0
0
-4
26
0
0
6
0
0
3
58
0
0
2
0
0
-3
-36
0
0
-2
0
0
0
25
0
0
3
0
0
-4
116
0
0
0
0
0
0
4
0
0
0
0
0
0
37
0
0
0
0
0
0
32
3
0
0
0
0
0
-35
0
-5
-6
0
0
0
9
0
0
4
0
0
2
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
7
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
65
-13
-14
35
21
-10
29
-24
-7
-30
33
4
-26
-18
14
1
-3
-13
1
-36
-27
-10
-3
-2
3
1
49
-3
-30
-23
2
6
-29
42
0
9
2
0
4
8
-53
0
0
0
0
0
0
0
-18
-18
1
6
6
9
1
18
7
4
16
6
12
15
23
-35
42
-26
24
-12
47
19
-16
-7
3
-56
12
6
9
21
30
9
7
-28
65
39
28
-9
22
-40
11
27
5
26
66
-4
37
45
-1
-1
-12
-68
9
-1
14
-8
5
12
31
112
92
-8
5
-54
36
82
-12
62
-21
43
31
24
1
-5
39
-11
4
-2
15
27
34
11
50
4
67
15
-4
27
-22
-12
33
20
4
-8
31
15
18
52
2
16
-8
8
-20
-8
-14
-13
4
0
8
54
38
18
0
3
-20
39
-7
0
30
0
-19
-34
-10
-34
-16
3
-1
-2
-29
79
-31
-25
10
49
-15
4
71
16
-33
1
3
29
-1
58
47
24
7
71
-14
0
17
7
-18
28
38
-6
21
53
76
-5
37
8
-25
42
26
0
12
7
29
14
-16
43
-8
-5
-9
0
26
-27
-12
-5
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
-1
0
0
-2
0
0
-1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
12
20
0
0
-5
0
0
12
0
-1
-1
1
0
0
-7
2
0
0
-8
0
0
3
10
0
0
0
0
0
4
28
0
0
0
0
0
0
-38
0
-5
0
-2
0
0
2
0
0
0
0
0
0
-19
-6
0
0
0
0
0
60
0
0
0
0
0
0
26
5
2
3
0
0
-5
0
0
0
-12
0
0
9
-30
0
0
2
0
0
0
-10
0
0
-6
0
0
0
32
0
0
1
0
0
0
48
0
0
12
0
0
0
9
0
0
1
0
-6
0
-5
0
0
0
0
0
0
11
-2
-1
0
0
0
-6
13
0
3
4
0
0
3
0
0
1
-9
-7
0
-3
10
0
6
-6
0
0
1
3
0
0
0
0
0
0
43
0
-1
1
0
0
0
39
0
1
1
0
0
0
56
0
0
2
0
0
0
25
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-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
73
0
0
-10
0
0
1
4
0
28
-6
0
0
1
5
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
10
0
0
2
0
0
0
41
0
7
0
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
107
0
0
0
0
0
0
30
0
0
0
0
0
0
37
0
0
0
0
0
-8
17
0
0
-5
0
0
0
-18
0
0
0
0
0
-3
45
0
0
0
0
0
0
72
0
0
0
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-14
0
0
-7
0
0
0
23
0
-4
0
0
0
0
17
0
2
0
0
0
0
14
0
0
0
0
0
0
3
0
-2
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
0
0
-2
0
0
0
-30
0
1
8
0
0
-16
0
0
0
0
0
0
0
7
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
46
0
0
0
0
0
0
-60
0
0
0
0
0
0
48
0
0
-3
0
0
0
8
0
0
1
0
0
0
-1
0
0
2
0
0
0
-1
0
0
0
0
0
0
-17
0
0
4
0
0
0
16
0
0
0
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
59
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-46
28
-12
-53
20
20
5
34
21
-5
58
-1
28
-17
-16
5
4
19
-34
-7
-8
21
-5
0
-48
1
22
6
25
0
0
5
-28
16
0
-8
22
0
-1
-3
-68
0
0
0
0
0
0
0
-3
-32
29
42
-103
18
1
-43
0
32
-25
-17
-31
-3
12
-12
-9
1
-6
-19
4
5
3
14
-2
-21
-27
21
3
-33
4
0
78
13
13
19
45
-3
-6
13
61
4
13
18
0
0
3
1
-22
0
28
3
17
0
57
3
-1
15
62
-40
27
6
1
61
27
-14
-59
93
63
18
-9
-12
-8
-10
18
-1
38
56
-6
-3
21
-60
59
21
-41
-6
8
-43
23
1
12
54
-13
-13
-6
-61
10
18
43
-13
0
0
44
4
30
10
11
3
-9
-2
30
101
0
10
20
0
0
4
-6
42
-33
57
71
44
0
-1
56
10
26
48
-34
-5
5
25
36
24
22
32
19
5
17
-18
10
53
-58
40
48
48
44
29
16
3
37
-48
-45
26
-8
-20
46
-5
-10
0
3
2
5
1
-18
3
0
6
0
63
-2
1
-1
0
-21
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-1
0
0
8
49
0
57
20
0
0
25
7
0
0
0
0
0
0
55
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
3
1
0
0
0
-4
0
0
0
0
0
0
-5
0
1
0
0
0
0
-1
0
0
0
0
0
0
42
0
0
0
0
0
1
16
0
0
-2
0
0
0
-29
0
0
0
0
0
0
16
0
0
0
0
0
0
-29
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
56
0
0
0
0
0
0
55
0
0
0
0
0
0
57
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
5
0
0
-7
-2
0
7
0
0
0
0
0
0
0
7
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
1
6
0
0
20
-6
0
60
3
-2
0
12
-9
0
0
-10
0
0
-8
-4
0
0
5
0
0
-4
-30
0
0
4
0
0
1
1
0
-2
-6
10
0
-3
17
0
0
0
0
0
0
-56
-3
0
0
0
0
0
56
-7
0
5
0
0
6
27
0
0
17
0
0
7
32
0
0
8
0
0
0
58
0
-1
5
0
0
-3
-57
0
0
-29
0
0
-2
-79
0
-1
11
0
0
0
-45
0
0
0
0
0
0
-8
0
0
2
5
0
0
6
0
0
0
0
0
0
-26
-1
0
-1
0
0
0
-25
0
-54
-3
0
0
-1
5
0
0
-4
0
0
0
31
0
-2
0
0
0
0
-11
0
0
0
0
0
0
50
0
-1
-6
0
0
0
-26
0
0
0
0
0
0
-12
0
8
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
26
2
-1
-58
0
22
54
17
0
0
10
17
5
68
41
-6
0
-24
0
39
-5
27
0
0
0
41
-42
0
-13
-71
0
0
5
-23
0
0
0
0
0
0
0
28
16
-7
5
-5
-14
4
35
-61
-13
-13
23
60
4
29
42
26
13
-37
2
4
61
-29
5
-5
-7
-22
6
15
11
-6
0
48
8
0
-4
71
-4
-24
1
47
-1
8
-29
1
7
0
0
-5
0
-28
2
-7
0
-5
0
1
17
-21
10
21
-4
0
61
30
26
30
27
-25
-12
1
-1
0
4
-4
0
0
28
28
0
60
37
-46
-2
40
18
-4
46
-29
0
14
-1
-44
32
1
-24
-59
-8
0
1
0
-5
40
7
4
2
19
-6
1
-14
38
-58
0
45
10
-6
0
0
3
1
10
13
13
55
0
0
-4
40
-1
-35
11
-4
6
-3
-35
-12
116
-21
3
0
5
46
-1
-48
95
4
-25
4
-17
0
-42
40
-2
0
0
-27
23
-18
-16
5
0
0
51
-6
2
10
2
-1
0
-52
-1
19
-3
0
2
0
-4
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
-10
0
0
0
-3
0
0
1
0
0
-42
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
53
28
0
4
8
0
0
-63
68
8
-5
46
-8
0
37
0
4
0
16
0
0
-6
3
0
0
-2
0
0
2
-7
0
0
-16
0
0
0
14
0
-60
-6
-3
0
0
72
0
0
0
0
-10
0
49
24
-1
0
0
0
-7
23
111
-1
-6
0
0
-10
58
13
12
30
-4
0
-7
33
0
0
37
0
0
27
0
0
0
23
4
0
4
-14
0
0
12
0
0
7
93
0
0
4
2
-1
0
-46
0
1
2
-3
-3
0
6
0
-6
7
6
0
0
-15
0
7
0
0
0
3
28
12
-4
0
0
0
-1
18
0
45
1
-4
0
7
46
1
-2
25
0
0
-1
0
0
8
-3
0
0
-4
-40
0
1
-2
5
0
2
-22
0
-33
-1
0
0
0
-41
0
0
0
2
6
0
14
0
58
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
12
0
0
0
32
0
4
-13
4
0
48
5
0
0
1
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
23
0
17
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
-51
0
0
0
0
0
0
-15
0
0
-16
0
0
0
-12
0
0
7
0
0
0
42
0
0
4
0
0
3
-9
0
0
1
0
0
0
8
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
42
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
3
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
0
0
0
0
0
53
3
0
6
25
0
0
-8
-16
0
0
0
0
0
2
-5
0
0
0
-4
0
0
13
0
0
0
0
0
0
-6
0
0
-2
0
0
0
8
0
0
0
0
0
0
47
-4
0
0
0
0
0
116
2
0
0
0
0
0
-48
-7
0
5
2
0
0
27
0
0
0
0
0
0
-17
0
0
0
0
0
5
18
0
0
-6
0
0
0
-32
-2
0
10
0
0
0
8
0
0
0
0
0
0
2
0
0
1
0
0
0
46
0
0
0
0
0
0
-17
-2
0
-2
0
0
0
27
0
4
-2
0
0
0
-4
0
0
0
0
0
7
10
0
0
0
0
0
0
29
0
0
0
0
0
9
-3
0
0
-1
0
0
0
-17
0
0
-8
1
0
0
7
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
85
0
-4
20
0
4
-59
-8
2
0
-3
-7
5
5
-15
0
1
19
0
0
0
12
10
0
0
-8
-14
0
-2
-20
0
0
0
52
0
0
0
0
0
0
0
-7
0
-1
-1
8
9
0
35
104
-4
-44
32
-3
-3
-23
26
1
-7
-41
-1
2
39
-41
0
0
24
32
5
19
-20
3
15
20
0
0
3
-45
0
0
6
-16
-5
0
3
0
0
2
0
-3
0
35
-6
7
0
-5
0
0
34
-53
0
33
0
0
7
-33
24
8
-36
-4
1
68
33
-2
-4
24
-1
-3
36
2
0
-10
53
58
-1
22
7
5
-2
-3
16
-1
2
-19
-2
0
119
43
0
7
-65
0
0
-14
0
-2
4
49
-1
0
0
-9
45
0
-15
0
0
0
0
-5
6
-3
40
0
16
0
0
6
65
0
43
57
0
0
-15
-21
2
39
-14
0
-8
-4
-2
1
1
-6
0
9
0
72
-5
-6
-12
-6
-3
0
0
-1
4
0
0
0
-1
51
5
-23
8
0
-3
0
62
-2
7
0
0
-13
0
-59
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-5
0
4
2
1
0
0
-7
0
8
0
0
-3
-2
0
0
25
0
2
0
0
0
0
-22
0
0
40
0
0
0
54
0
0
0
0
0
0
0
-35
-5
0
0
28
0
0
42
-16
-2
34
13
0
0
37
61
0
0
18
0
0
-12
10
0
0
0
0
-4
-3
-25
0
0
49
0
0
5
39
0
57
-3
0
0
0
6
0
0
0
0
2
0
58
-32
11
0
0
0
0
11
5
0
-5
0
0
1
35
-3
0
-49
0
0
-55
-24
0
2
38
0
0
-104
10
0
0
30
0
0
49
9
0
-4
-17
0
0
4
-23
0
0
6
0
0
0
-27
0
0
4
0
6
0
-47
0
0
16
0
16
0
-39
0
0
0
0
0
0
-54
-16
3
0
0
0
-1
-40
0
35
-18
0
-1
14
61
0
-4
-39
0
0
4
-25
0
-9
-4
-5
-1
9
35
0
-1
0
0
0
0
79
0
-10
32
0
0
2
-57
0
-2
-3
0
0
0
-49
0
51
2
0
3
0
14
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-21
0
0
-1
0
0
0
0
0
0
0
0
18
-17
0
0
53
0
0
-18
66
0
-51
31
0
0
-46
88
0
0
-3
0
0
11
-47
0
0
-4
0
0
9
-9
0
0
-8
0
0
1
43
0
-31
0
28
0
0
-8
0
0
0
0
0
0
63
-8
-5
0
0
0
0
88
-25
0
15
0
0
-4
49
5
-7
-3
2
0
19
-25
0
1
12
0
0
16
12
0
0
64
-2
0
16
10
0
0
-5
0
0
0
65
0
0
-15
0
0
-5
-20
0
0
-1
0
0
0
-25
0
3
0
0
0
0
-76
0
0
0
0
0
0
11
-3
0
7
0
0
0
-6
0
51
7
0
0
0
-16
0
0
16
0
0
4
6
0
1
-4
0
0
4
16
0
0
0
-2
0
-3
16
0
1
0
0
0
0
-6
0
0
0
0
0
0
44
0
-7
0
0
0
0
95
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-9
0
0
89
44
20
2
-19
-1
0
-26
0
-28
-6
-8
-1
0
1
-47
37
0
-1
27
0
0
0
0
0
0
0
0
0
0
0
-78
-22
5
8
-30
-3
0
11
-17
6
6
-6
-12
-3
-7
-17
-13
-2
-16
12
-4
-7
12
0
3
-15
50
0
7
-23
5
0
51
-1
-14
4
-20
0
-17
35
-61
-5
-8
-4
0
0
0
0
6
0
-10
-28
15
0
17
0
0
-19
1
1
2
0
0
-20
-17
-5
11
-49
-2
22
-8
-15
4
-12
21
3
0
5
-34
8
-3
-5
28
1
-4
17
6
-24
-53
-2
-3
7
-5
-6
1
-53
26
2
0
5
0
0
-15
0
-16
0
57
5
-3
0
-3
-49
0
14
-2
0
0
-1
0
0
-19
-9
-8
-21
0
0
0
-45
-13
45
-13
0
0
25
32
1
-4
14
24
0
0
-5
-3
45
-28
-2
0
-2
44
4
-1
16
30
0
0
-1
0
58
22
2
0
0
46
0
6
-33
-1
-1
0
13
-3
2
0
0
-5
0
38
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
2
0
2
0
0
-1
13
0
0
0
0
0
0
-1
0
0
0
-3
-15
0
0
-22
0
0
0
5
0
0
0
0
0
0
0
-23
42
-3
0
19
0
0
74
26
0
-28
-35
7
0
-28
6
8
1
-21
0
0
7
0
3
0
-14
-20
0
7
-70
0
0
2
0
-1
1
22
0
22
28
1
1
-4
45
0
0
0
0
-7
0
29
21
2
0
1
0
0
17
6
0
-17
0
0
-25
77
6
-4
-15
1
0
-26
62
0
2
3
0
0
-3
2
0
1
25
-10
0
-3
0
0
-4
-6
-1
5
10
-29
-1
0
-8
-1
0
0
0
0
0
5
0
7
0
-49
0
0
0
2
-23
0
27
0
0
0
0
0
0
-26
15
2
1
0
0
0
36
5
43
59
0
0
-3
-8
0
0
5
-2
0
0
59
0
6
-7
0
0
0
0
0
2
-1
5
0
0
26
0
-3
-1
0
0
0
20
0
0
-1
2
0
0
0
0
5
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
20
0
1
-1
1
0
-2
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
-9
0
-2
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
0
0
0
-53
0
0
-3
0
0
0
-24
0
0
5
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-6
0
0
2
-1
0
-3
-1
8
0
9
0
0
0
-4
0
0
0
1
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
6
0
0
0
0
0
0
-28
7
0
0
0
0
0
-19
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-16
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-2
0
0
-5
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
0
0
0
2
-11
3
0
0
-2
0
6
0
-1
0
0
0
-8
-15
0
0
-50
0
0
0
1
0
0
0
0
0
0
0
15
6
0
0
-8
0
0
-31
-16
0
3
-2
29
0
-24
-83
0
0
-1
3
0
77
76
0
0
8
-8
5
34
-30
0
0
-3
0
1
3
24
0
-8
0
0
0
0
-28
0
0
0
0
0
0
4
-3
0
0
0
0
0
4
31
0
-7
0
0
2
-9
-19
15
-2
0
0
-22
1
0
-14
12
6
0
-7
-91
0
0
8
7
-7
18
1
-3
2
2
0
7
0
51
0
0
0
-7
0
0
43
0
-8
-3
0
-11
0
-31
0
0
3
1
-1
0
-2
0
0
0
0
0
0
-87
-19
9
-8
0
0
0
-40
0
-30
2
0
0
-4
-22
0
-6
-6
0
1
2
-41
0
14
0
0
0
-1
-40
0
14
0
-6
0
0
-69
0
-9
0
0
-1
0
-8
5
0
0
-6
0
0
-18
0
11
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
-17
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
0
8
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
-8
0
0
0
-14
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-4
0
2
0
0
0
-2
0
0
0
7
0
0
0
23
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-42
0
0
45
0
0
5
-4
0
-6
2
1
0
-15
-20
0
0
13
0
0
-6
-13
0
0
26
9
0
3
-3
0
0
-32
0
0
-1
3
0
-18
0
43
0
0
-25
0
0
0
0
0
0
6
-3
2
0
0
0
0
-51
1
0
0
0
0
-2
-13
3
-1
-2
0
0
-1
11
0
-2
-7
0
0
25
-29
0
1
5
-4
0
-5
-31
0
0
51
1
0
0
0
0
0
-1
0
0
0
38
0
0
-3
0
0
0
61
0
-4
0
1
0
0
12
0
0
0
0
0
0
31
7
0
1
0
0
0
-14
0
-10
20
0
0
0
14
0
0
-7
0
0
0
78
0
-3
2
0
0
-2
86
0
1
9
-5
0
0
-28
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
6
0
0
0
0
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
9
0
0
0
5
-13
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
-10
-23
-2
0
3
0
0
1
-43
0
3
34
6
0
-31
9
0
0
120
0
0
0
-35
0
0
40
21
0
0
40
0
0
15
-1
0
0
-29
0
-6
-1
19
0
0
-52
0
0
0
0
0
0
-79
0
-3
0
1
0
0
-14
27
0
-15
0
0
-1
11
1
0
19
-3
0
0
-78
0
2
34
0
0
-8
-38
0
-1
-9
-2
0
0
70
-8
0
-45
-1
0
0
-21
1
0
-24
0
0
0
38
0
0
-2
0
2
0
-40
0
0
1
3
-19
0
10
0
-2
0
0
0
0
25
4
0
-6
0
0
3
8
0
-19
6
0
0
-8
-52
0
0
-5
-3
0
0
-75
0
-7
0
0
0
0
-33
0
0
4
0
0
0
60
-2
25
8
0
0
0
92
0
-1
0
1
0
0
18
0
-6
0
0
0
0
24
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-8
0
1
-5
0
0
0
0
0
-4
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
-13
-19
-1
0
-10
-1
0
-54
56
-2
-24
56
0
0
-35
45
0
6
13
0
0
3
-45
0
0
38
29
0
2
0
-1
13
-4
0
3
0
-2
0
18
0
0
-4
0
-53
0
0
-1
0
-8
0
27
-6
0
0
0
0
-1
-27
42
0
-22
0
0
-5
-11
2
0
34
0
0
56
25
0
0
44
1
0
-13
43
-3
1
4
23
3
0
-25
0
-1
-3
0
0
0
0
0
0
0
14
4
0
27
0
0
0
0
-7
0
29
0
0
0
13
0
0
-8
0
0
0
0
0
-2
56
15
-2
-1
1
0
0
-90
0
57
-2
0
0
8
36
0
7
-30
0
0
4
-75
0
1
9
0
2
-1
-59
0
0
-3
1
0
0
0
5
-8
16
0
-4
0
-39
0
-5
0
-2
0
6
14
0
1
0
0
3
0
-19
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
1
7
0
3
1
0
0
0
2
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-2
0
0
0
0
0
0
50
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
1
0
0
0
4
0
0
-2
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
1
-72
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-8
13
0
-1
-15
0
-4
1
-10
0
11
-12
0
0
-23
7
0
0
48
0
0
0
3
0
0
-1
0
0
8
-59
0
0
2
-3
0
0
10
0
-8
0
89
0
0
-22
0
0
0
0
0
0
0
-3
0
0
0
0
8
12
-4
0
-10
0
0
3
-67
6
-5
0
3
-3
-4
7
0
0
-5
0
0
0
6
0
0
3
3
-14
-5
19
6
-2
3
0
0
0
-21
2
0
0
-8
0
4
10
0
0
0
0
1
0
-7
0
0
0
-2
7
0
5
0
0
0
0
2
0
-16
-1
0
0
0
0
8
16
0
32
-13
0
0
1
37
1
3
0
0
0
0
-22
0
0
-3
0
8
0
-46
0
0
0
12
0
0
-35
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
-2
0
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
0
0
0
0
0
0
63
0
0
-18
0
0
0
2
0
0
0
0
0
0
0
8
45
0
7
-13
0
0
-1
7
0
11
1
0
0
26
-26
0
0
2
0
0
-1
1
0
0
-1
0
0
15
43
0
0
18
0
-2
0
10
0
69
0
0
0
0
20
0
0
0
0
0
0
-28
1
0
0
0
0
0
-48
-3
0
-1
0
0
-1
42
2
0
-1
0
0
0
25
0
0
13
0
0
-10
41
0
0
21
2
0
0
15
0
0
2
0
0
0
-22
0
0
4
0
0
0
23
0
0
2
0
0
0
37
0
0
0
0
2
0
12
0
0
0
0
0
0
-28
-2
0
0
0
0
-4
-42
0
20
0
0
0
0
-7
0
0
-2
0
0
3
44
0
4
5
0
0
0
12
0
0
0
0
0
0
13
0
1
0
0
0
0
-10
0
0
0
0
0
0
31
0
-1
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
-2
0
-5
-2
-21
0
0
0
37
0
0
-1
0
0
0
0
0
0
0
0
-2
19
0
3
-71
0
0
14
-49
0
9
64
5
0
89
-26
0
0
-7
0
0
11
-16
0
0
3
0
0
-2
9
0
0
6
0
0
1
-26
0
-19
22
35
0
0
-27
2
0
0
0
0
0
53
0
-7
0
4
0
0
-20
-23
1
31
0
0
5
13
0
9
2
0
0
-2
19
0
0
-2
0
0
-3
39
-5
1
-14
-4
0
0
27
0
0
-4
0
0
0
-10
0
0
22
-1
0
0
-16
0
0
0
0
0
0
0
0
0
14
20
0
0
40
-2
0
0
0
0
0
-36
12
-2
0
0
0
0
-41
0
10
-7
0
0
-8
-24
1
0
9
0
0
-5
-15
0
-8
5
0
0
0
-53
0
0
4
-1
0
0
-11
0
7
-2
0
0
0
26
0
0
8
-2
0
0
-31
0
-8
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
15
5
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
0
-12
0
0
-3
-78
0
8
24
0
0
-8
34
0
0
-17
0
0
0
10
0
0
14
2
0
0
-26
0
0
29
0
0
0
14
0
15
0
-10
0
0
-35
0
0
7
0
0
0
-3
-1
-4
0
0
0
0
-15
20
0
-6
0
1
1
-16
0
0
-14
5
0
0
-58
3
8
3
6
-4
0
-7
0
0
-7
0
0
1
-17
0
0
14
0
0
-5
-11
0
0
19
-1
0
0
-63
0
0
0
0
-7
0
11
0
0
0
1
22
0
10
0
0
0
0
-3
0
-5
0
0
3
0
0
0
6
0
23
-4
0
0
0
-26
1
0
-7
0
0
0
2
0
-8
-8
0
0
0
-6
0
0
-3
0
1
2
14
0
2
0
0
0
0
-6
0
0
1
0
0
0
48
0
3
2
0
0
0
31
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
52
-3
0
1
-2
0
0
-4
-3
-2
70
-58
8
0
-9
26
0
0
-1
5
0
-1
42
0
0
-12
3
-6
2
-23
0
0
-22
0
0
4
0
0
-19
0
2
-8
0
30
0
0
0
0
0
0
-70
2
-1
0
0
0
-1
54
-8
0
-5
0
0
13
-37
13
5
0
0
0
5
-30
0
-2
-3
0
0
26
25
0
-8
33
-7
0
0
-31
0
0
19
-2
0
-2
87
1
0
-1
0
0
0
0
0
0
0
-3
-3
0
-1
0
0
0
0
0
0
-2
3
0
0
0
0
0
35
6
0
0
0
0
0
18
-1
14
-1
0
0
0
-23
-2
3
17
-5
0
0
13
0
-6
5
0
0
0
62
0
-2
-5
0
0
0
-55
0
3
-2
0
0
0
0
0
0
0
0
0
0
12
0
-1
0
0
0
0
-17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
-1
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
-2
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
4
42
0
2
-14
0
0
0
32
0
-4
-2
0
0
-20
-81
0
0
0
0
0
8
35
0
0
4
-3
0
0
-1
0
0
0
0
0
0
20
0
-7
0
-3
0
0
-11
0
0
-1
0
0
0
-20
-1
0
0
0
0
0
12
-5
0
0
0
0
0
-4
0
0
4
0
0
6
-75
0
0
0
0
0
-1
-22
0
0
8
0
0
0
-3
0
0
0
0
0
0
-73
0
0
0
-2
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
0
1
-4
0
-2
0
0
0
0
0
0
3
0
0
0
0
-10
0
5
0
0
0
0
41
0
8
0
0
0
0
-4
0
0
0
-7
0
0
-31
0
7
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
3
-3
0
0
0
1
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
-3
0
0
4
0
0
0
0
0
0
0
0
-2
13
0
0
-46
0
0
-36
-42
6
31
-16
4
0
-48
9
0
0
35
0
0
6
-53
0
0
-74
-23
0
2
-42
0
0
15
0
0
-2
-5
0
2
11
4
0
0
-3
6
0
1
0
0
0
7
24
33
0
0
0
-6
-7
-41
0
21
0
0
74
32
0
0
-12
-1
0
-21
17
0
0
-4
0
0
5
40
0
0
1
14
0
18
15
0
3
-8
0
0
0
12
0
0
2
50
0
1
-35
0
0
-21
0
0
0
-8
0
0
8
0
0
0
-4
0
0
0
0
0
0
-25
-5
-1
20
0
0
4
-108
0
-35
30
0
0
-5
-31
0
0
25
0
0
3
-51
0
6
0
0
0
8
24
0
-1
8
5
0
0
4
0
1
5
0
0
0
44
0
0
0
13
0
0
17
0
60
1
0
0
0
-57
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
0
0
2
0
0
0
-15
0
-3
-1
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
10
0
0
0
0
-21
0
0
0
0
0
0
57
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
-6
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
-25
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-44
-8
0
0
27
0
0
-49
41
0
-6
47
0
0
-46
78
0
0
2
0
0
-5
69
0
0
0
0
0
1
35
0
0
4
0
0
0
41
0
24
-5
0
0
13
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
-3
-1
-4
0
0
12
22
-3
-4
-23
0
0
0
22
0
0
29
0
0
-3
-24
0
0
-4
2
0
1
31
0
0
3
0
0
0
-43
0
0
2
0
0
10
39
0
0
0
0
0
0
0
0
0
0
-5
0
0
19
0
0
0
0
0
0
-11
0
0
0
0
0
0
52
0
51
-13
0
0
0
-5
0
-1
3
0
0
-2
8
0
-1
-5
0
0
0
-6
0
2
3
-7
0
0
-6
0
-5
0
0
0
0
-6
0
0
0
0
-2
0
0
0
-4
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-8
0
0
7
0
0
1
-1
0
0
3
0
0
0
0
0
0
0
-1
0
0
17
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
67
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
-1
0
0
0
0
0
1
-1
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
15
0
0
0
-6
0
8
1
0
0
4
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
-4
0
0
0
0
15
0
0
0
0
0
0
77
-1
0
0
0
0
0
-77
0
0
0
0
0
0
26
0
0
-1
0
0
0
-12
0
0
0
0
0
0
14
0
0
-4
0
0
0
5
0
0
0
0
0
-2
1
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
74
0
0
0
0
0
0
-1
0
-3
0
0
0
0
-2
0
0
0
0
0
0
3
0
-1
0
0
0
-1
-1
0
0
-3
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
5
66
0
0
-18
0
0
19
17
0
-54
48
0
0
-13
81
0
0
-2
0
0
-1
-38
0
0
-26
0
0
-6
48
0
0
-3
0
2
0
-1
0
1
0
0
-2
0
39
0
0
0
0
0
0
-51
-1
1
0
0
0
0
-4
0
0
2
0
0
0
15
0
0
-5
0
0
1
-62
0
0
5
0
0
-23
-4
0
0
2
0
0
0
-61
0
0
30
0
0
0
-12
0
0
3
0
0
2
29
0
0
0
0
19
0
28
0
0
7
0
4
0
-20
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-17
0
33
1
0
0
0
20
1
0
0
0
0
0
6
0
0
0
0
0
0
53
0
0
4
0
0
0
46
0
-1
0
0
0
0
26
0
0
3
0
-6
0
16
0
-1
0
0
0
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
0
0
-10
0
0
0
0
0
0
0
0
90
13
-3
3
37
0
0
20
-12
0
7
-45
15
0
13
39
2
3
14
1
0
-31
51
0
2
69
26
0
10
-2
0
7
-10
-1
0
31
-51
0
21
33
-12
0
-2
2
-5
0
0
0
8
0
18
-5
-45
0
0
0
-13
-7
-76
0
14
-3
0
4
-10
53
-1
14
4
0
-5
11
-4
5
31
2
0
29
38
5
0
-52
54
0
67
-7
0
-5
-12
-1
0
21
-6
7
-4
-24
32
0
16
-11
-1
-8
3
0
0
0
-54
-6
-21
9
-20
0
0
0
0
5
0
-3
0
-1
10
16
-47
35
6
0
-51
-28
6
61
13
-2
0
76
-9
-10
0
-92
-2
0
-38
-18
0
-26
-15
4
0
17
9
0
45
-21
54
0
-6
-27
16
-45
25
-4
0
0
28
-5
-15
12
-7
0
0
-9
0
11
-3
0
0
0
-19
-13
15
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
0
5
0
0
-2
2
0
-39
1
0
0
9
2
0
0
7
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
6
29
0
0
-6
0
0
0
5
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-77
-7
7
-21
-1
0
-61
-49
-1
48
39
-15
0
24
16
0
-1
-17
0
1
-77
52
0
5
-51
-9
-12
5
27
0
0
-20
2
26
25
47
0
-38
-85
-21
0
2
48
-1
0
0
0
-2
0
-49
0
50
0
-7
0
0
-29
19
6
-2
4
0
49
-37
42
13
33
0
1
6
-10
-6
7
42
0
-8
48
4
6
18
66
0
0
-1
18
0
4
-47
0
0
31
-16
-12
0
-15
-59
-4
13
-40
0
-2
16
4
23
0
4
0
7
-1
53
-22
0
7
0
0
0
-2
0
-6
1
44
-6
3
-8
0
-5
-63
-9
-33
91
0
2
1
-16
3
14
10
0
0
0
-30
3
8
-51
3
0
7
-4
-5
-1
-4
43
1
1
-23
0
47
13
7
1
-1
-6
0
0
14
5
0
0
46
0
33
0
0
7
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
-1
0
0
2
-3
0
48
-3
0
0
4
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
-2
0
0
0
-10
0
0
0
5
0
0
1
0
0
0
0
0
0
-5
0
-1
0
0
0
0
-31
0
0
0
0
0
0
17
0
0
2
0
0
9
5
0
0
-6
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
30
0
0
0
0
0
0
13
6
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
25
0
0
0
-5
0
0
-4
0
8
0
0
0
0
9
0
0
0
0
0
0
5
0
10
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
29
-4
0
-64
0
0
30
-48
0
-34
-21
-8
0
-8
-19
0
1
-32
4
0
0
-95
1
0
-6
-20
0
0
82
0
0
-10
0
0
-1
15
0
14
-8
4
0
0
28
8
0
0
4
0
0
12
-33
0
0
0
0
-2
2
10
0
-30
0
0
29
-2
-2
-2
-4
0
0
51
-17
6
0
9
0
0
15
61
-1
0
-15
-9
0
19
27
0
0
45
0
0
3
-36
-3
2
-37
8
0
0
-18
0
0
1
0
0
0
-59
0
7
-5
33
0
0
64
-1
0
0
0
0
-2
-6
1
0
5
0
0
6
12
0
64
-6
0
0
2
69
-3
1
27
0
0
5
48
1
-8
-1
0
0
5
-7
0
0
20
0
0
0
98
-4
-12
-5
4
0
0
4
0
4
-1
0
0
0
22
0
18
0
0
0
0
48
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
23
-10
5
67
0
-2
13
23
0
4
8
-2
0
7
-52
-1
0
26
-8
-2
-4
27
0
-2
-30
2
6
2
15
0
28
3
13
-2
0
39
0
0
-1
7
-1
0
54
37
30
-5
-2
0
-1
49
15
-4
-30
0
0
51
24
-8
1
-47
3
-2
15
-16
15
8
-12
2
-2
-69
2
0
16
37
38
-4
-28
-1
0
-34
-3
8
7
1
-52
0
0
-30
58
-6
-3
46
8
-3
65
0
-6
0
35
0
4
-3
30
7
0
26
-10
0
0
5
0
1
20
-18
0
15
-3
0
21
-18
0
-27
95
-1
8
-24
36
0
10
80
22
4
-3
21
-2
16
65
7
4
-5
27
0
-8
-5
-15
3
-2
14
-2
-45
-14
7
0
0
3
0
-4
-8
2
0
-5
2
0
49
0
0
-5
0
40
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-20
-18
7
-5
-53
-2
14
-21
3
-40
-53
32
-8
9
-85
1
-18
3
-3
-105
-4
-19
66
-25
4
29
-34
9
-15
10
-30
-9
-13
-4
7
14
-2
90
-2
12
1
-23
-34
-32
-1
-33
12
48
-2
15
-53
47
-6
-8
-33
0
5
-35
4
-74
65
-27
4
52
-31
-18
-26
58
1
1
32
20
15
-20
14
-8
-16
20
1
-12
-21
65
10
-16
36
-10
2
11
17
-23
10
94
-5
-14
21
34
1
-1
-28
11
7
-17
-6
-1
-16
-66
-6
-25
86
-15
-33
23
20
-32
14
-9
-13
-47
0
32
37
47
102
31
26
-25
-30
38
-81
-61
0
-25
7
-7
47
-30
-19
4
96
19
25
49
7
-12
7
15
3
66
-56
24
80
10
-41
-19
43
-31
49
-10
52
-7
-16
-3
-3
74
43
-19
1
2
13
-27
-19
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
30
39
0
0
5
13
0
0
20
0
0
0
49
0
0
2
3
0
0
-18
0
0
0
0
0
0
-1
0
12
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
-19
0
0
8
0
0
0
-64
0
-1
1
0
0
0
11
0
0
6
0
0
-14
19
0
0
3
0
0
0
-31
0
0
1
0
0
0
-48
0
0
-3
0
0
0
-65
0
0
0
0
0
0
-25
0
0
0
0
0
0
23
0
0
0
0
0
0
19
3
0
1
0
0
0
32
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
-4
0
0
0
2
0
3
0
0
0
0
40
0
3
0
0
0
0
20
0
-1
0
-2
0
0
53
0
0
0
0
0
0
13
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
111
59
1
0
-43
-12
0
0
0
0
0
12
14
0
0
-5
0
0
-2
-40
0
0
4
0
0
0
-25
0
6
0
-1
0
0
-2
0
0
0
0
0
0
43
0
0
0
0
0
0
57
-1
0
15
0
0
0
43
0
0
1
0
0
-2
2
0
0
-7
0
0
-1
-15
-6
0
-8
0
-2
0
40
0
0
-1
0
0
0
19
0
0
0
-4
0
0
-9
0
0
0
0
0
0
8
0
0
0
3
0
0
-43
0
0
0
0
0
0
-7
-1
0
0
0
0
0
6
0
14
0
0
0
0
43
0
0
1
0
0
0
20
0
3
1
-1
0
0
-34
0
0
0
8
0
0
-27
0
-2
0
0
0
0
3
0
0
2
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
23
42
-60
45
10
1
25
-7
-2
13
49
0
-6
-10
-9
0
-1
53
46
-2
-24
-14
-2
-1
-9
7
-15
-6
-14
0
0
-5
-20
-3
0
49
-3
0
8
5
-31
0
49
-17
3
0
-42
2
7
33
39
-34
2
2
0
49
23
4
0
-13
-25
8
7
24
-3
-18
-45
-1
1
23
20
-1
5
44
-36
23
60
-3
-3
26
17
21
2
11
8
0
-6
-58
33
4
9
-13
0
-8
-18
2
49
0
22
-2
-4
-6
-93
-4
0
8
-7
0
0
0
14
43
27
-16
-3
-19
-1
0
24
15
-25
-12
30
4
-1
21
6
6
9
76
6
1
22
-12
4
105
31
-7
7
-11
-63
-11
66
-5
44
-1
18
27
0
-11
32
-5
20
2
-8
0
-47
-34
81
0
16
-59
-4
-31
0
1
8
0
-60
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
47
4
0
0
1
34
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
41
0
0
0
0
15
0
0
0
0
0
0
16
0
1
0
0
0
0
80
0
0
0
0
0
0
-67
0
0
1
0
0
0
46
0
0
1
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
2
0
0
0
71
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
1
0
0
0
0
-1
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
-1
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
0
0
-9
-4
0
0
0
0
0
-7
2
0
0
0
0
5
-25
0
0
1
0
0
0
5
0
0
0
0
0
-6
38
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
-6
0
0
0
-1
0
0
0
0
0
0
-13
0
5
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
9
0
4
39
-8
0
-17
3
0
5
-23
-5
0
-21
0
5
-8
28
0
0
0
-24
-2
-7
16
-6
1
-3
39
-5
0
0
-8
-30
-1
-25
29
15
0
-4
0
-8
-1
4
10
71
4
0
5
-24
-5
13
-21
7
0
-4
30
1
0
42
0
-2
76
37
0
-3
11
21
0
52
-8
0
-2
-29
-2
0
0
-61
-3
5
72
-16
-7
3
53
0
8
-26
0
0
0
8
0
25
24
-23
-35
0
9
0
8
0
0
0
0
38
74
-17
58
5
0
-1
-4
1
-52
77
0
-2
-12
3
-3
22
2
-5
0
23
31
-4
-4
-41
4
0
-1
26
-3
4
7
-17
6
22
-8
4
-44
39
-1
-8
5
23
-3
13
5
6
0
0
-19
0
86
1
0
2
0
37
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
20
-3
20
-6
-7
27
-26
1
5
16
4
3
12
-72
0
0
-11
6
40
43
-9
0
-20
-47
49
-5
12
-46
0
0
7
-8
8
0
-2
32
-79
0
-6
0
6
-1
-10
3
-34
-3
0
104
36
-13
-2
48
3
-56
51
0
11
16
-60
-1
9
22
1
-19
43
93
8
-20
81
-20
47
-26
-34
-3
69
-22
18
-5
4
-21
-55
68
0
-3
0
-2
1
-5
-12
-9
-29
-2
5
1
-23
23
0
8
-16
0
0
16
2
39
-15
44
8
-44
0
1
42
2
45
-5
56
3
9
0
0
7
118
20
-14
1
40
15
7
-5
9
-28
8
-2
-16
-4
-16
14
-5
-2
-84
11
0
23
-18
45
7
-7
12
0
-25
-3
-48
6
0
17
0
-31
-8
2
0
0
-48
-5
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
-7
0
0
-4
-15
0
0
-3
0
0
0
35
0
0
0
0
0
3
-13
0
-19
0
0
0
0
10
0
0
0
0
0
0
-64
-2
1
0
0
0
0
-72
8
0
13
0
0
0
32
0
2
-2
0
0
4
-40
0
0
2
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
-1
-9
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
0
-2
3
-8
0
72
0
0
0
0
0
0
70
1
0
7
0
0
0
32
0
0
-4
0
0
0
-4
0
0
0
0
0
3
1
0
0
0
0
0
0
5
0
0
-2
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
41
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
-3
-36
17
31
25
19
7
-8
-19
-64
5
-12
-8
0
-5
9
-2
62
14
-35
1
16
-13
-26
18
-13
-25
2
-1
3
0
-50
4
42
-52
57
0
53
-4
42
43
-2
2
82
-4
3
79
-89
52
47
38
-16
26
19
5
-3
-32
-41
14
3
41
26
18
52
20
43
19
85
-51
0
9
-26
-20
-35
57
-37
23
41
-3
61
-34
29
22
0
15
-3
19
-28
-8
39
-1
2
-15
9
-32
0
0
1
0
0
0
-5
9
8
-2
21
1
-1
0
9
14
17
-17
32
13
2
19
-12
8
57
5
-18
1
-39
3
15
-10
19
-13
40
25
-5
0
-26
-33
57
4
13
-32
4
8
15
-30
15
0
41
-3
0
-13
15
-1
1
4
0
-6
6
-4
4
0
14
19
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
41
4
-20
5
-1
11
3
7
0
3
16
2
-36
1
0
-7
-46
1
52
49
-43
6
-24
-18
40
0
2
32
8
33
-3
0
60
0
-28
64
-43
0
23
9
9
33
77
0
111
-1
3
5
-2
-67
7
37
-6
-1
40
33
4
2
22
-5
0
33
18
5
12
13
2
-2
-43
36
1
9
-36
-6
3
-19
-15
17
-16
-53
41
-5
9
19
-3
1
49
0
12
2
19
10
-19
-22
43
-4
0
-32
-2
-7
0
0
5
-21
-17
-11
7
-17
5
1
46
1
-9
36
1
1
1
36
6
2
37
-28
-9
17
-18
-59
2
10
43
-7
-23
-12
-22
6
-11
-47
-29
1
43
23
-14
8
18
-5
4
3
27
5
8
50
40
-3
0
33
-8
4
32
0
-22
0
17
-2
22
-5
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-25
0
0
-28
0
0
-16
24
0
0
-28
0
0
-6
28
0
0
-9
0
0
0
46
0
-7
4
0
-2
0
-23
0
0
0
0
1
0
18
-13
8
0
0
0
0
3
8
-6
-5
0
0
1
70
-4
0
48
0
0
-25
-13
0
0
7
0
0
16
-66
-2
0
19
0
1
6
-26
0
0
20
0
0
-2
-58
0
0
31
1
0
-1
6
0
0
0
0
-4
0
33
0
0
-1
0
23
0
-2
0
0
0
0
0
0
-34
6
0
0
0
0
-3
-53
0
26
-5
0
0
40
0
3
-1
-7
0
0
-2
-19
0
-12
0
0
13
1
-7
3
-3
18
0
0
0
35
0
1
4
0
-1
0
49
0
0
0
0
0
0
-34
0
-6
0
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-4
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
-4
0
0
0
0
0
52
0
0
0
0
0
0
25
0
0
3
0
0
1
-10
0
0
1
0
0
0
14
0
0
0
0
0
0
-40
0
0
1
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
-2
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
40
0
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
2
-13
19
35
-5
-2
27
-2
0
77
-1
8
0
-31
2
18
-9
-51
32
0
7
9
0
2
1
-7
0
-3
25
37
0
36
5
1
-17
24
-2
-21
0
0
-17
-16
24
36
33
39
7
-19
-2
-14
-4
2
-6
1
-60
-14
-3
-25
20
28
0
18
25
-6
55
31
-24
8
3
33
1
23
63
-6
45
0
-28
6
-2
34
2
5
6
-27
0
-40
15
31
51
0
15
45
0
0
0
10
-5
8
-14
34
7
-58
9
0
22
-24
39
-48
-3
0
20
14
6
69
-53
-2
13
3
-13
4
49
-11
-13
2
-4
0
6
-26
-51
-56
-54
-1
4
-24
57
-38
-8
6
-1
22
2
8
29
99
4
0
25
0
27
24
0
1
0
2
-26
2
5
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
11
-29
2
-31
25
14
5
-17
1
-3
-23
-2
-1
-14
-68
1
2
30
-38
-8
24
4
-2
-1
14
-1
-91
0
-15
-54
55
0
-38
0
16
2
28
12
-76
4
0
16
1
1
29
-54
-16
-4
58
-9
-5
43
10
12
-7
-60
0
-22
42
-11
52
0
23
-16
6
-32
48
-5
-6
37
-38
-5
-29
-16
-59
-8
-16
3
0
7
48
0
62
-22
-2
6
3
5
-19
7
0
-15
0
0
0
18
-2
-42
2
-22
11
111
-27
-1
-59
41
30
32
-38
5
6
58
-25
26
53
45
-10
25
55
0
23
-53
46
50
-12
6
-66
-15
18
-64
-12
-6
-20
3
-8
27
-16
-2
-3
4
48
-1
18
32
-40
2
0
-74
0
-32
-6
6
-14
0
-11
7
2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
-7
0
0
0
0
25
0
0
0
0
0
0
42
1
0
0
0
0
0
9
0
0
20
0
0
0
90
0
1
0
0
0
0
24
0
0
0
0
0
0
-25
0
0
0
0
0
0
26
0
0
1
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
30
0
0
-5
0
0
0
21
0
0
0
0
0
0
-1
0
1
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
117
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-6
0
0
0
0
0
0
-7
0
0
-5
3
0
0
47
0
0
0
0
0
0
14
-1
0
0
0
0
0
11
0
0
-5
0
0
6
0
0
0
-2
0
0
-4
33
0
0
-1
0
0
2
-7
0
0
6
0
0
0
28
0
0
-3
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
-1
8
0
0
0
-20
0
-2
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
0
-1
-35
-34
-4
38
31
4
-1
-41
0
-2
-24
8
0
-2
-32
52
41
-2
41
0
-1
0
0
25
0
8
19
-39
0
9
1
1
20
-8
2
15
0
6
-25
55
3
-56
13
33
-3
-70
-1
0
2
66
5
0
-5
11
0
4
2
-57
5
29
-24
-2
8
-49
12
0
9
63
0
0
43
31
-1
-25
23
0
0
-8
0
1
0
-5
0
-7
1
6
2
0
17
0
0
0
-5
0
-7
48
59
6
-4
1
0
-48
-13
36
-11
-12
0
0
13
31
0
14
-5
1
0
45
-27
0
29
-14
1
-1
5
-68
2
-29
-13
-11
2
-4
7
2
24
0
0
2
-4
-51
-6
0
5
13
0
0
31
0
-34
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
6
0
0
3
0
0
0
0
0
0
-74
0
0
0
0
0
0
19
0
0
2
0
0
-3
-12
0
0
-1
0
0
4
-16
0
0
1
0
0
-3
-10
0
0
5
0
0
0
-47
0
0
0
0
0
0
51
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-53
0
0
0
0
0
0
-1
0
0
5
0
0
0
-8
0
0
-6
0
0
0
-10
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-12
0
1
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
4
72
0
0
0
0
0
0
13
0
0
2
0
0
0
-40
0
0
6
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
1
-2
0
0
0
2
0
0
-5
0
4
-6
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-66
0
-1
0
-16
2
57
-3
-1
0
0
-27
0
0
0
0
0
0
-7
-23
-7
0
0
0
0
-24
6
0
13
0
0
0
-54
-16
-24
59
0
17
4
77
-1
0
51
0
0
5
-59
-5
-5
-37
40
0
0
-49
0
7
-65
0
3
0
-67
2
0
76
1
5
0
29
0
0
0
0
-6
0
-70
0
7
-6
-5
0
0
-14
0
0
0
0
0
0
36
0
2
1
0
0
0
-48
0
-9
-8
5
0
0
1
0
-10
30
0
0
0
101
0
10
-8
0
0
0
37
0
2
-12
-12
0
0
21
-4
38
-8
0
0
0
-27
-1
4
-4
-5
8
0
16
0
29
0
0
0
0
-6
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-4
-1
-45
36
7
39
-14
3
-10
19
-10
2
4
-13
3
-1
11
-5
19
0
5
7
6
0
4
0
7
5
-36
2
30
-6
-4
-49
1
-46
74
-25
-19
-6
9
-4
-5
-6
62
4
0
97
-12
9
-6
37
25
5
-12
0
42
-36
32
9
-14
-28
31
20
3
-71
-31
5
30
-4
-9
5
-4
-8
34
8
-17
8
49
-38
-6
6
0
-4
7
-6
0
6
-14
-32
-20
8
-9
-2
-9
0
52
11
-34
29
32
7
5
83
14
-12
58
8
4
0
11
26
13
6
-33
75
0
-5
0
-8
14
70
29
0
37
40
1
17
16
-1
-9
-14
-18
0
22
44
33
0
2
-1
-12
-27
-1
2
-7
0
60
-47
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
34
0
0
0
0
0
10
21
0
0
4
0
0
0
-11
0
0
-1
0
0
-3
-3
0
0
-1
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
12
0
0
0
0
0
0
23
0
0
0
0
0
0
-31
-1
0
0
0
0
0
-73
0
0
-1
0
0
-2
-43
0
1
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
2
0
0
-22
0
0
0
0
0
0
23
0
0
0
-1
0
0
11
0
0
1
0
0
0
8
0
0
0
0
0
0
56
0
0
0
0
0
0
23
0
0
0
0
0
0
16
0
-1
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
0
0
-4
2
0
4
27
0
-43
0
-57
-10
-2
-36
10
0
0
0
-4
0
-26
1
1
0
0
0
-1
11
60
3
0
0
0
12
-31
13
29
-17
-4
0
-1
5
2
4
4
0
0
-2
-4
0
0
1
40
0
1
-23
1
-5
-4
3
0
2
-16
0
0
2
-24
-8
5
25
0
0
-36
0
7
0
-10
0
-1
0
-5
29
0
9
3
0
0
0
0
0
7
-14
1
9
-8
0
-2
17
5
22
1
0
1
29
19
3
-5
22
2
-4
0
-53
0
-39
-1
0
-1
3
-27
0
-5
2
-42
0
-1
-5
0
18
7
0
1
0
9
-2
-5
-2
-5
0
4
1
0
-22
0
3
-6
0
14
-4
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-6
0
3
9
20
0
73
1
0
0
0
30
0
0
0
0
3
0
25
3
10
0
0
0
0
21
14
0
-12
0
0
18
-46
0
-1
-50
0
0
5
-37
0
1
-5
0
0
0
18
0
0
3
0
0
1
-45
0
0
-22
0
4
-1
6
0
0
-45
0
6
0
-14
0
0
8
0
-10
0
-16
0
0
8
0
13
0
-52
2
-3
0
0
0
0
-41
10
0
0
0
0
2
5
0
3
2
0
0
0
-40
0
0
-6
0
0
0
7
0
0
12
0
-12
-5
1
0
0
9
0
0
0
40
0
-32
0
0
0
0
-51
0
0
-2
0
0
0
22
0
0
0
0
0
0
-40
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
-7
0
0
-13
0
0
0
0
0
0
41
3
0
0
-2
0
0
-53
0
0
0
0
0
0
2
0
0
-2
1
0
0
-19
0
0
0
0
0
0
-51
0
0
8
0
0
0
7
0
0
-2
0
0
-3
3
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-8
0
0
0
0
0
0
77
0
0
0
0
0
0
7
0
0
1
0
0
0
20
0
-6
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
-64
0
58
0
0
-38
0
0
0
0
-2
0
15
-1
0
0
0
0
0
-4
-17
0
0
0
0
-8
-3
-12
16
27
0
0
-5
16
0
0
31
0
0
13
-21
-5
5
-21
-5
0
0
-72
0
-2
27
1
0
0
12
0
-4
6
1
0
1
36
0
6
21
0
-18
0
5
0
0
0
-2
-4
0
-2
0
0
0
0
0
0
-37
-5
0
0
0
0
-13
27
0
33
11
0
0
0
-46
0
3
7
0
0
0
58
0
-3
-2
-1
0
0
126
0
0
-7
4
0
0
53
0
-5
5
0
0
0
30
0
-1
0
-3
0
0
-13
0
-19
0
0
3
0
27
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-61
0
-1
-4
-4
7
0
-9
9
3
56
0
-16
0
-6
-10
4
0
17
1
-30
-9
-136
-5
11
-6
-1
-21
14
-29
6
-46
-15
3
14
-14
20
-2
-57
6
-4
-1
17
4
-10
-2
28
-8
60
-15
5
17
44
37
23
38
0
6
0
10
-32
-1
-2
-20
41
3
-31
0
-39
-2
-1
1
-26
25
15
17
0
17
29
-2
0
1
3
-14
9
-57
2
-27
8
1
-12
14
-37
44
-87
12
-21
-37
-28
-11
-40
20
35
0
-27
13
1
-20
23
36
6
-25
-38
42
82
-39
26
-28
37
0
-24
-12
8
-25
-1
3
-19
-3
46
-42
-11
3
2
-27
-4
-10
-12
0
-36
-1
-5
25
-10
4
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
-1
0
0
0
0
5
0
0
-6
0
0
0
-2
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-6
0
0
0
0
3
0
0
0
0
0
0
-45
0
0
0
0
0
0
-14
0
0
9
0
0
0
-19
0
0
0
0
0
-2
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
-4
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
0
-14
0
8
0
0
-48
-2
0
0
0
-1
0
21
31
-6
0
2
0
0
44
-26
0
-27
0
0
-3
-60
2
-2
78
8
-5
-7
-9
0
4
65
0
0
7
2
-1
-14
-25
6
5
-9
-22
1
3
6
1
-4
1
22
-6
0
-2
42
7
0
-50
0
0
0
0
-8
0
-17
0
-1
0
6
19
0
-8
0
0
0
0
0
0
92
2
5
6
0
0
0
28
0
-40
27
0
0
-2
31
0
-7
0
3
0
3
-84
0
3
-1
0
0
6
23
0
-3
0
20
0
-2
2
0
-34
0
0
1
0
-44
-6
0
0
-8
4
0
-75
0
66
3
0
-1
0
-51
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-10
0
-3
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
31
0
0
-6
0
0
0
-15
0
0
1
0
0
0
47
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
5
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
0
0
0
0
33
0
0
0
0
0
0
40
-1
1
0
1
0
0
49
-4
0
0
0
0
-1
49
-3
0
0
0
0
-1
39
0
0
0
0
0
0
55
0
0
10
0
0
0
6
0
0
5
0
0
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
43
0
0
0
0
0
0
37
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-4
0
0
0
20
0
0
0
0
0
0
-8
0
17
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-7
0
0
0
9
0
0
0
0
0
0
-53
4
0
-5
0
0
5
62
0
-4
-6
9
0
2
-49
-3
1
-9
0
0
0
-43
0
0
-5
-1
0
0
-33
-4
3
-9
0
0
0
-17
0
0
1
0
0
0
0
0
1
-1
0
0
0
36
0
0
0
0
0
0
-20
0
0
0
0
0
0
47
6
0
0
0
0
0
-6
0
10
0
0
0
0
22
3
0
1
0
0
0
11
0
-13
0
0
0
0
2
0
2
0
-6
8
0
-41
0
0
1
0
0
0
35
0
0
-1
1
0
0
-32
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
1
30
20
0
-10
-25
69
0
-3
0
2
8
101
-20
21
-8
-1
-45
-10
-19
-8
19
-12
0
23
-11
5
4
40
-1
-5
-11
-17
0
-8
3
-41
-21
54
-42
-5
-39
-40
39
-8
21
56
-5
-3
82
80
19
-7
0
12
2
3
-1
12
0
8
0
0
-2
8
-19
0
48
3
0
0
0
-6
0
23
-14
-1
18
-11
0
58
45
33
50
21
-3
0
51
10
27
-7
50
5
0
-1
19
1
-30
12
24
-3
-12
-11
20
-14
-29
61
3
2
-9
6
58
30
9
0
0
0
-6
0
32
-6
1
0
-12
0
3
-2
0
1
0
18
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
-3
0
0
0
9
0
0
0
2
0
0
-2
0
0
0
46
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-29
1
0
5
15
-21
0
57
-80
0
0
52
0
48
2
40
9
-51
0
1
10
-5
43
-4
-21
33
1
-20
-11
-5
-1
2
-3
-4
-8
-33
13
-8
-3
20
-3
42
-4
0
11
21
12
10
-29
11
3
72
-47
8
33
2
-14
0
0
-20
31
-30
0
-7
6
7
8
4
-58
0
3
4
5
0
0
-4
9
-25
-12
29
-11
10
0
-50
-68
-6
-40
14
-7
-1
31
-66
-9
-2
-21
5
0
-76
7
-12
-14
59
-5
-14
27
-60
0
-2
10
27
-8
4
-5
0
-6
-20
-4
0
5
5
0
7
-8
2
-2
0
-29
0
8
-2
0
5
0
-4
4
-22
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
10
92
-7
0
0
0
-8
-6
0
0
1
0
0
10
-23
0
0
-3
0
0
22
13
0
0
4
0
0
-7
-13
0
0
25
-10
-1
-2
-42
0
0
0
0
0
0
-15
0
0
-1
-22
0
0
-27
0
-1
0
0
0
0
-75
0
-1
0
0
45
0
13
0
-3
0
0
0
0
-26
-10
0
-3
0
0
1
50
0
37
9
0
0
4
-3
-5
0
6
-2
0
-1
-62
0
-16
8
0
0
0
19
0
0
0
1
0
0
62
-2
1
4
0
0
0
-88
0
0
-1
-5
0
0
31
0
18
0
0
0
0
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-2
0
24
-20
-1
0
0
0
0
68
16
0
80
0
0
71
37
0
0
-15
0
0
-62
9
1
1
74
0
0
69
50
0
0
10
0
0
9
41
0
-2
-43
0
-4
0
15
0
0
-1
-8
0
0
-20
0
0
7
0
-2
0
7
0
0
5
0
2
0
3
0
0
0
0
0
5
54
-6
0
-8
0
0
-20
21
0
44
10
0
0
-20
6
2
5
-9
0
0
0
30
0
31
2
0
0
-1
18
0
0
6
0
9
-8
77
0
-2
19
0
0
0
11
0
0
1
0
0
0
47
0
-7
0
0
-1
0
9
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
5
0
0
0
0
0
6
0
0
0
0
0
3
77
0
-2
-2
0
0
-1
-7
0
0
4
0
0
0
55
0
0
0
0
0
-1
-22
0
0
0
0
0
0
11
0
0
1
0
0
0
-17
0
0
6
0
0
0
48
0
0
0
0
0
0
-4
-2
0
0
0
0
0
44
0
-1
1
0
0
0
-1
0
0
0
0
0
0
2
0
-8
0
0
0
0
2
0
-6
0
0
0
0
26
0
0
-1
0
0
0
31
0
0
0
0
0
0
51
0
3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
42
0
0
0
0
0
0
5
0
0
-5
0
0
0
22
0
0
6
0
0
0
-24
0
0
3
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
2
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
8
0
0
0
0
-5
0
0
0
0
0
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
1
0
0
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
33
3
0
-36
0
1
7
59
-19
58
18
-1
22
-13
-6
13
3
9
-47
-7
-29
7
32
49
0
5
-12
-18
-14
-34
13
54
-5
6
22
-1
-16
-60
13
16
-32
6
-7
-2
-26
-55
19
-6
-25
0
-6
-25
29
59
1
0
-3
3
39
-14
2
0
-5
13
0
0
2
0
0
-45
2
-2
72
-8
0
100
-3
1
-6
45
5
33
-45
-31
-5
-79
7
-1
0
27
19
20
11
25
16
-2
26
10
0
-60
-35
-17
8
34
19
1
11
-28
18
-37
-4
-24
-9
-23
0
31
3
0
0
0
7
-4
1
1
0
5
-1
-1
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
2
0
0
0
0
0
17
14
0
0
0
0
0
-1
-29
0
0
5
0
0
0
73
0
0
2
0
0
0
51
0
0
0
0
0
0
1
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
2
0
0
30
0
0
0
0
0
0
-3
0
0
3
0
0
0
-9
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-34
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
2
0
0
0
3
0
0
1
0
0
0
24
0
0
-1
0
0
0
-56
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
32
0
0
0
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
24
0
0
-6
0
0
0
23
0
0
0
0
0
4
-8
0
0
0
0
0
0
40
0
0
-4
0
0
0
-19
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-2
0
0
0
0
4
0
0
-2
0
0
0
-7
0
2
0
0
0
0
-6
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-19
1
0
0
0
5
-69
4
0
4
0
0
0
-14
0
0
-16
0
0
-12
-79
0
0
-2
0
0
0
-40
0
0
17
-2
0
-1
-38
0
0
13
0
0
-1
-3
0
0
-17
0
0
1
-53
0
0
2
0
0
0
1
-2
5
-10
-8
0
0
77
0
0
0
0
0
0
-17
4
0
0
-4
0
0
-19
0
5
12
1
0
-4
0
0
1
-2
0
0
0
5
0
-3
2
0
0
-3
83
0
0
0
0
0
-1
-37
0
-10
6
0
0
0
-24
0
2
0
0
0
0
69
0
-14
0
0
0
0
-40
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
-54
31
24
14
4
-32
8
-36
-51
2
101
21
28
-39
-9
-19
-49
-4
-16
-18
-5
-82
51
10
40
16
24
-5
12
-12
-3
27
6
61
-21
-32
1
16
-4
-36
15
-4
14
-17
38
-21
-25
-1
20
5
10
26
54
-18
0
0
0
-15
-18
15
55
-8
11
22
-34
46
-54
-17
-72
46
-7
4
127
28
5
13
-6
77
44
44
37
6
66
-35
97
74
22
-27
-30
3
-37
87
8
-36
1
-21
-20
-44
-7
12
19
10
-43
-45
29
-12
-2
-25
6
13
-1
-3
-4
44
-45
-2
23
1
0
-1
34
3
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
8
0
0
48
-52
-8
-2
-56
3
-3
21
-29
0
0
45
0
0
7
21
0
1
-62
2
0
3
37
0
0
5
0
3
-6
-36
0
-1
-51
41
8
0
7
0
-2
1
0
3
0
27
0
0
0
-1
3
0
74
0
0
0
0
0
0
-28
-4
3
0
0
0
-33
6
0
5
34
-2
0
0
-67
-2
-3
-9
0
0
1
14
0
2
8
0
0
-4
-29
0
-18
-5
-3
0
-17
-31
0
-8
-3
1
0
0
27
0
-3
0
5
0
0
-1
0
-16
0
0
0
0
-26
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-5
0
-6
0
0
-3
25
0
0
31
0
0
72
8
0
0
-1
0
3
2
2
0
0
5
-2
0
-1
-15
0
0
33
0
0
0
56
0
0
4
4
0
0
-22
0
0
2
0
2
0
31
0
0
2
5
-1
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
81
0
-11
3
0
1
0
-15
0
-1
13
-2
0
14
-42
0
0
-6
0
0
0
27
0
-1
5
3
-6
0
-21
0
8
0
0
0
0
19
0
0
0
0
0
0
-31
0
2
2
0
0
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
44
-1
0
1
0
0
0
-15
0
0
3
0
0
1
30
0
0
-1
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
-8
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
26
0
-4
0
0
0
0
-18
0
1
1
0
0
0
25
0
0
0
0
0
1
43
0
-2
-1
0
0
0
-13
0
0
0
0
0
0
14
0
1
1
0
0
0
6
0
0
0
0
0
0
75
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
6
0
0
-1
0
0
4
48
0
0
0
0
0
0
17
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
-3
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
0
0
0
0
0
1
-67
0
0
-7
0
0
0
1
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
3
0
-1
0
0
0
-18
0
2
0
0
0
0
17
0
5
-8
0
0
0
-3
0
1
0
0
0
0
-19
0
0
0
-7
0
0
37
0
5
-2
0
0
0
-2
0
0
0
0
0
0
58
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-21
56
90
57
-22
-50
3
11
35
17
74
-51
39
31
-22
32
52
31
-4
-120
-2
10
47
-39
3
-33
2
-46
-18
19
37
17
32
31
21
2
61
-19
-14
6
25
6
-2
66
60
-46
-92
-21
1
33
-4
42
-14
-15
-52
-13
0
25
-38
4
54
0
-106
-24
9
46
22
85
38
-94
12
5
-11
-25
-24
-5
-35
0
-3
-15
-4
48
62
38
-6
42
-21
-30
21
8
52
-43
29
-7
3
18
-7
23
15
94
23
15
35
70
12
-28
35
48
13
66
6
-9
-8
-49
19
-27
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
1
-22
37
3
0
33
39
0
-1
11
0
0
19
-13
0
-1
-22
6
0
-10
10
0
-2
-12
-2
0
9
15
0
1
-18
31
0
-3
-38
0
0
-5
0
0
0
1
0
0
3
8
23
0
35
-2
0
0
0
0
3
41
17
-2
0
0
0
-4
18
0
-1
-39
0
0
4
-20
0
0
48
0
0
-5
-20
0
19
-7
0
0
0
-54
0
-4
13
-4
0
0
-9
0
0
2
0
0
3
-27
0
0
-1
5
1
0
20
0
-19
0
0
-4
0
45
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
0
-1
1
0
-8
60
0
0
-1
0
0
8
-40
0
0
8
0
0
0
-10
0
0
-1
0
0
0
23
0
0
-10
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
-39
0
0
0
0
0
0
-46
7
0
0
0
0
-1
3
0
0
6
0
0
0
1
0
0
-1
0
0
0
41
0
0
0
0
0
0
9
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-31
13
9
-13
-2
0
72
33
5
-7
-25
0
-5
65
35
-4
-3
45
-6
-1
-6
4
-9
0
-2
-9
0
0
-24
-7
-2
-4
-14
0
0
-17
0
0
5
-2
1
2
53
0
0
1
0
-4
0
-16
0
-5
0
0
0
0
-46
5
-5
0
0
0
-1
35
5
-2
0
-1
0
0
79
0
-30
-7
0
0
4
-42
-5
-19
4
3
0
0
-33
0
5
-33
-18
0
1
-125
13
38
-3
1
0
0
-76
0
0
0
-4
0
0
80
0
9
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
-5
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
3
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
0
0
-9
0
0
-2
34
0
5
-18
-8
0
2
54
0
-5
-40
-1
0
-3
23
0
0
-35
29
0
6
41
0
0
23
-2
3
0
-20
2
-1
4
2
-17
0
56
0
-4
0
0
-3
0
34
-19
0
5
0
0
0
10
0
-48
-5
-2
0
0
-19
0
-8
10
-1
0
-1
-39
0
31
-6
0
0
-3
58
0
2
-5
30
0
0
-41
13
-29
-1
0
0
0
-66
-1
-3
-10
-2
0
0
-12
0
53
0
0
0
0
-5
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-8
13
31
-53
-35
18
-45
-6
8
-40
-3
-42
-67
-14
17
-8
53
33
36
37
-1
11
7
19
-15
5
109
31
-10
-2
42
12
-14
-55
23
11
19
-30
28
59
48
0
-32
1
-1
-8
-12
30
60
39
64
-1
-27
-41
0
-72
0
-57
-22
-45
-10
-3
-46
-28
54
-25
-70
-73
4
3
-7
31
-36
-4
73
-34
15
-28
67
-6
75
35
14
-13
-5
-36
-19
-34
-18
43
7
-13
-6
-3
-23
-41
15
-1
10
-8
-16
-33
1
-58
0
11
-32
-11
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-60
0
0
5
0
0
-5
-43
0
-4
16
4
0
0
31
0
0
-1
0
0
7
21
0
0
10
-1
0
0
61
0
0
-2
0
0
0
27
0
0
8
0
-1
0
-24
0
0
0
-1
0
0
42
5
-7
-27
0
0
0
29
0
-10
4
0
0
0
-13
0
6
12
0
0
0
39
0
7
-5
0
0
0
8
0
0
0
0
0
1
3
0
7
-7
0
0
0
-25
0
0
0
0
0
0
-27
0
-13
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
0
0
43
0
0
0
9
0
0
13
0
0
0
-3
0
0
2
0
0
0
-113
0
0
-2
0
0
0
-112
0
0
-5
0
0
0
24
0
0
0
7
0
0
-22
0
0
0
0
0
0
27
-2
0
2
0
0
-1
-13
0
18
0
0
0
0
-27
0
-2
0
0
0
0
-10
1
2
-13
0
0
-2
18
0
0
-2
0
0
0
-73
0
0
-3
0
0
0
-3
0
0
7
0
0
0
52
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
-13
59
-4
3
-16
-10
-4
0
-8
44
10
-5
-30
0
0
-95
0
-5
10
27
0
17
-27
48
0
1
32
1
0
-15
0
3
1
43
0
2
-2
15
-9
0
24
-4
0
0
0
0
0
16
1
24
5
0
-5
3
-62
0
-26
1
-7
0
5
12
0
1
-2
0
0
37
13
-5
37
42
1
5
33
-12
-4
0
22
72
0
-23
-6
2
57
1
0
-1
-4
32
0
3
-10
-11
-7
-1
13
0
34
0
0
14
0
71
72
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
0
0
16
0
0
-21
12
0
0
-5
0
0
-9
-42
-3
-2
8
0
0
0
22
0
0
1
0
0
3
-29
0
0
2
0
2
0
3
0
0
-2
0
8
0
-21
0
0
0
0
0
0
-52
2
0
-1
0
0
0
-55
0
-2
-14
0
0
0
11
0
5
0
0
0
0
-44
0
17
0
0
0
0
-19
0
0
0
0
0
0
-4
0
-15
2
0
0
0
22
0
0
0
0
0
0
5
0
-4
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
1
0
0
-2
-9
0
0
0
0
0
4
16
0
0
0
0
0
0
5
0
0
5
-2
0
0
-59
0
0
0
0
0
0
-10
0
0
0
0
0
0
-33
0
0
0
0
0
0
14
-2
0
0
0
0
0
-49
0
-6
0
0
0
0
1
0
0
0
0
0
0
12
0
-1
0
0
0
0
-16
0
0
0
0
0
0
48
0
0
0
0
0
0
-8
0
0
0
-2
0
0
24
0
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
1
-2
-28
22
1
-13
-12
0
5
50
5
1
0
0
12
0
-67
19
0
-2
69
0
-1
10
0
0
0
71
0
-4
-5
-3
31
0
74
2
0
0
0
0
0
76
9
0
23
0
0
-2
19
0
-55
28
0
3
-1
-5
0
-4
-14
0
3
0
-22
0
-21
35
-5
0
0
8
0
-9
47
22
0
-6
19
1
10
-2
0
10
1
-25
-3
-1
7
-3
-2
0
25
0
-8
0
0
7
0
75
3
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
20
-37
-44
-20
-15
-28
-11
-16
-9
76
40
-98
-51
-21
-57
9
-30
39
17
36
8
6
-9
-22
7
8
-12
5
-8
34
49
-34
3
0
-9
14
-5
25
44
-45
58
3
-5
88
95
-46
0
-41
3
-54
-10
25
13
10
-41
0
46
-24
-12
-34
-6
30
1
6
26
-28
100
-57
1
-35
57
3
23
7
30
-29
-5
4
43
103
7
45
-2
41
28
9
-4
16
0
-12
4
-42
-22
-24
37
-55
0
-28
-2
-4
2
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
0
-1
0
0
0
0
9
0
0
0
0
0
0
1
0
0
2
-3
0
0
-70
0
0
0
0
0
0
14
0
0
0
0
0
0
-50
0
0
0
0
0
0
-13
0
0
4
0
0
0
-1
0
0
0
0
0
0
-5
0
6
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
1
2
0
0
1
0
4
0
0
0
0
10
0
0
0
0
0
0
-65
0
2
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
0
0
-4
0
0
0
-29
-1
0
1
0
0
-1
56
0
0
8
0
0
0
8
0
0
0
0
1
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
-4
0
0
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
-2
0
0
0
-17
0
0
0
0
0
0
70
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
43
0
8
-104
22
-2
14
11
0
-4
17
9
-7
30
51
0
-3
63
11
2
-4
-32
0
6
0
0
25
0
32
0
4
7
-2
-31
0
10
14
0
0
-19
-2
-7
-4
20
2
0
-4
0
-23
170
3
16
13
0
-4
-3
-11
1
21
61
-8
0
-26
-8
-2
4
67
-4
8
-2
-37
7
7
9
-43
5
0
-34
0
-14
-28
1
0
0
29
0
1
0
10
0
3
-1
0
87
-1
0
0
0
5
2
15
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
30
0
0
1
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
-1
0
0
4
-1
0
0
0
0
0
0
34
0
0
0
0
0
0
51
0
-2
0
0
0
0
18
0
0
0
0
0
0
13
0
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-23
0
0
3
0
0
0
0
0
0
2
-1
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
49
0
0
0
0
0
0
7
0
0
0
0
0
0
-31
0
3
-6
0
0
0
4
0
0
0
0
0
0
24
0
0
-2
0
0
0
7
0
0
0
0
0
0
8
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
58
7
-1
0
-21
0
-9
-58
30
0
0
58
0
-8
0
0
14
0
-31
0
-14
0
1
-12
0
23
-12
0
0
0
-1
0
15
-14
0
-7
0
0
0
-30
0
-48
-7
0
2
7
-17
0
-5
47
0
0
0
-30
-3
27
37
1
0
0
-42
-2
0
9
-10
0
0
26
0
-15
7
5
1
-6
0
0
4
1
2
0
0
23
-1
14
1
0
0
0
88
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
13
8
-33
-21
-6
10
19
1
22
44
-76
3
19
-4
-7
11
75
-4
13
-11
73
-9
19
-24
40
23
0
11
10
6
-1
-3
-37
38
-10
-38
-9
31
11
2
9
30
1
57
-47
-6
27
30
46
-22
24
-37
-22
-5
34
0
14
-71
-92
-43
-8
-2
-7
-28
-10
9
58
39
51
-11
21
34
-1
30
-9
-19
28
49
-16
14
-16
36
-6
36
-1
-25
29
10
4
-1
35
-40
23
10
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
2
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
40
2
0
0
0
0
0
-1
0
-7
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
9
0
0
-1
-44
0
0
-4
0
0
0
17
0
0
0
0
0
0
48
0
1
-5
4
0
0
41
0
0
0
0
0
0
-12
6
0
0
0
0
0
33
0
30
-5
0
0
0
-17
-1
0
-6
0
0
2
-19
0
0
0
0
0
3
5
0
0
-1
0
0
0
-29
0
0
0
0
0
0
24
0
0
0
2
0
0
12
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
5
-67
5
0
4
-6
3
13
-33
39
1
-5
34
0
-1
13
0
-15
0
-13
0
5
5
17
-7
0
34
2
9
0
0
0
0
1
2
8
8
0
0
22
24
-4
9
15
0
0
0
-29
0
0
34
-2
0
0
32
-4
68
8
10
0
18
2
0
2
21
-8
-3
-1
-24
0
-43
-8
2
1
0
-8
-3
6
-2
20
0
-2
-1
0
-13
3
0
6
0
-7
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
34
0
0
15
0
0
0
33
0
0
41
0
0
-7
9
0
0
10
0
0
0
26
0
0
2
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
-15
31
0
72
9
0
0
0
-68
0
2
84
0
0
3
53
0
-5
33
0
4
-1
-18
0
1
6
0
4
6
28
0
3
2
0
0
0
21
0
-4
-1
0
0
0
86
0
46
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
2
0
0
-6
0
0
0
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
35
0
0
-5
0
0
2
18
0
-3
0
0
0
0
17
0
0
0
0
0
3
-21
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
43
6
0
0
10
0
0
0
0
0
0
-62
0
0
-1
-7
4
0
0
0
-2
0
0
0
-6
-31
1
0
8
0
0
0
125
0
71
0
0
0
0
2
2
0
0
-2
0
-2
-51
0
7
5
0
0
0
-12
0
13
16
-18
0
8
-34
1
-28
-3
0
0
0
-15
0
-1
0
5
-4
0
14
0
-36
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
27
-10
18
-18
-57
-9
-20
7
8
33
27
6
-106
9
-16
-6
-5
41
-17
18
0
-11
80
-33
0
6
27
31
8
-13
31
15
-47
-2
9
-25
5
4
-3
7
12
-47
22
-11
16
-3
58
-3
-13
21
78
-24
14
2
64
13
0
32
1
81
28
7
34
32
-26
1
18
-6
20
15
-11
47
62
75
-73
60
-2
10
-1
-5
4
-2
60
0
-9
-51
8
1
60
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-8
0
0
0
0
8
0
0
0
0
0
0
-2
0
2
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
-30
-14
0
0
0
0
0
-8
0
-16
12
0
0
-2
-3
5
0
-1
0
0
-2
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
29
0
-2
0
0
0
0
32
0
0
0
0
0
0
13
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
55
0
0
6
48
0
0
-38
0
-2
-2
0
20
5
-10
4
3
0
29
-13
0
27
0
0
0
0
0
0
28
-16
-7
-7
0
0
1
18
0
38
-2
5
0
-1
-83
-1
8
84
0
0
0
15
0
-20
7
0
0
15
16
-3
-12
0
-50
0
3
29
0
21
0
0
0
1
13
0
5
-1
6
0
-1
7
0
-33
0
0
0
0
-23
-1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
0
0
0
-32
0
0
0
0
0
0
9
0
0
3
0
1
0
4
0
0
0
0
0
0
21
0
0
0
0
0
-1
-4
0
2
0
0
0
2
7
0
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
-3
-8
0
0
13
0
0
-4
0
0
0
19
0
0
0
0
0
0
28
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
3
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
18
0
0
0
0
0
0
78
-3
0
0
0
0
0
0
0
0
4
0
0
0
42
0
0
-1
0
0
0
-20
0
2
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
4
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
1
2
0
0
7
0
0
0
-3
0
0
8
0
0
0
-1
0
0
3
-3
0
3
0
0
0
15
0
-30
0
0
0
-4
-13
0
0
1
0
0
0
-23
0
-4
0
-3
0
0
5
0
0
-4
-3
-2
4
77
0
12
8
0
0
0
-6
0
0
0
0
0
0
1
0
-3
0
0
-2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
21
-2
-5
29
-3
-19
-2
-18
8
46
29
-21
-56
0
6
-7
0
0
3
-3
-10
-22
-26
-6
19
-5
0
16
25
-12
-28
-22
20
16
20
-6
27
12
92
50
1
12
-7
5
48
-29
43
-13
26
0
0
11
-1
72
-5
-29
0
-7
40
26
-3
-3
4
65
-8
-24
106
-5
23
1
-7
-5
-29
1
0
-1
0
-29
5
8
1
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-12
0
0
0
0
8
0
0
0
0
0
0
7
0
2
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
37
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
0
0
1
-2
0
0
0
21
0
0
0
0
0
0
8
0
0
0
-1
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
-7
0
11
0
0
0
0
-13
0
31
-8
0
0
0
0
2
19
-1
0
0
-6
0
-1
37
2
-54
8
0
0
-1
-33
1
15
9
-2
1
-3
65
0
-11
-8
2
1
0
10
3
0
0
6
5
-8
26
0
-3
0
0
0
0
0
0
-2
0
0
0
0
26
0
34
0
-2
0
0
-78
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
16
0
6
-1
-29
0
-4
28
0
-1
0
-10
0
5
0
0
0
-5
-13
0
0
0
0
0
0
51
0
-26
-15
0
0
5
28
0
6
0
0
0
1
-32
0
23
16
0
0
1
86
0
0
-29
0
0
6
52
0
12
5
0
0
0
10
0
2
-1
0
0
0
90
0
39
-2
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
34
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
6
0
0
0
0
18
0
0
0
0
0
-4
0
0
-4
-8
0
0
0
60
0
0
1
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-20
0
0
0
0
0
0
-39
3
0
0
0
0
-1
-32
0
12
2
0
0
0
3
0
-1
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
-12
0
0
-40
0
0
0
0
0
0
-49
0
2
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
-26
-38
-11
53
14
0
18
2
27
0
2
-2
84
27
45
60
-9
21
1
30
-22
-56
21
38
1
3
-29
-17
26
9
38
56
1
-11
29
31
122
79
-50
115
48
-16
-12
-46
55
-11
21
-21
-55
0
6
45
31
53
13
0
1
35
54
50
-1
10
-12
-5
31
24
0
82
0
31
-52
-8
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
-2
0
-9
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
-10
0
0
0
0
4
0
0
12
0
0
0
13
0
0
3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
-3
15
0
0
-10
0
0
0
0
0
0
10
-8
0
0
-7
0
0
37
0
11
2
0
0
0
11
0
0
-2
2
0
0
-19
0
-1
0
0
0
0
23
0
0
0
15
0
2
-49
0
-2
0
0
0
0
38
0
4
0
0
0
0
-40
0
22
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
8
0
0
0
0
-4
0
0
0
0
0
0
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
-1
0
0
-44
0
0
0
0
0
0
82
2
0
3
0
0
-2
39
0
9
-2
0
0
0
77
0
0
0
0
0
0
15
0
-8
5
0
0
1
16
0
0
-5
-5
0
0
19
0
-14
0
0
0
0
108
0
0
-2
-1
0
0
24
0
-5
0
0
0
0
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
3
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-1
0
13
0
59
-16
6
-14
17
-2
0
-8
-22
43
-29
12
-2
8
46
-30
1
27
-18
10
1
14
38
3
-47
65
10
40
-35
-16
-2
-48
2
30
-2
-40
39
0
-19
-39
12
2
0
-12
6
-6
50
33
-6
1
0
2
72
5
4
-8
0
-39
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
2
0
0
2
-52
0
0
1
0
0
0
25
0
0
3
0
0
4
1
0
0
0
0
0
0
19
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
-1
-87
-1
0
0
0
0
0
19
0
-1
-1
2
0
0
-18
4
0
-4
1
0
0
27
0
-1
0
4
0
0
24
0
0
0
-4
0
0
-26
2
7
0
0
0
0
-37
0
0
1
-1
0
0
-27
0
7
0
0
0
0
-35
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
19
0
0
0
0
1
52
0
0
2
0
0
0
30
0
-3
1
0
0
-1
22
0
0
0
0
0
8
11
0
0
0
0
0
0
-26
0
5
-3
0
0
0
16
0
0
0
0
0
0
-23
0
0
0
0
3
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-20
-8
0
0
0
0
-4
12
0
-1
-1
0
0
-1
36
3
4
5
0
0
0
97
0
0
-2
0
0
0
18
0
0
0
24
0
0
-3
0
19
-5
0
0
0
-73
0
-1
5
0
0
0
11
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
20
29
21
28
-57
0
-89
15
-6
-27
12
2
29
-37
12
15
-19
61
29
17
-33
12
23
-8
-49
21
60
-12
-10
-2
-64
56
-44
45
8
-8
44
32
42
-32
26
15
-33
-9
-16
79
15
9
45
1
0
-23
29
7
8
0
0
-1
-4
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
8
-5
0
-5
0
0
0
0
-38
0
0
8
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
-5
0
0
0
0
6
0
0
2
0
0
0
5
0
0
3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
-1
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
3
0
0
-9
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-5
0
0
0
0
-8
0
0
3
0
0
0
-1
0
-1
-3
0
0
0
-5
0
0
0
-2
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
-39
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-7
-16
-10
61
63
30
105
9
33
-50
114
-28
5
44
15
1
26
63
49
3
-76
45
-3
-42
36
-5
-36
-38
15
8
89
23
-15
34
-12
-33
-2
10
-1
56
3
40
-7
-4
-77
7
0
8
1
48
37
-3
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
101
0
-27
10
0
-6
-1
0
0
0
-8
0
3
8
-43
0
3
19
1
0
-5
82
0
1
7
2
-6
2
4
-1
13
2
0
0
0
6
0
-2
4
-7
-3
0
-10
0
-33
-2
0
0
0
-37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
57
0
0
0
0
0
0
-6
0
0
0
1
0
0
16
0
-1
0
0
0
0
-1
0
0
0
-4
0
0
23
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
5
3
0
0
4
20
0
0
0
0
0
1
35
0
0
0
0
0
0
6
0
0
0
0
0
4
12
0
-29
7
0
0
0
31
0
-1
0
0
0
0
-35
0
5
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
0
0
0
6
0
4
0
0
0
0
-2
0
1
0
0
0
0
-16
0
0
-3
0
0
0
-3
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
0
0
0
0
0
-17
0
1
-1
-2
0
0
3
0
-5
2
-3
0
0
-90
0
9
0
0
0
0
22
0
0
0
0
0
0
2
0
-5
0
0
0
0
92
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-29
41
-24
15
1
0
-23
62
9
11
59
9
40
-5
-3
-5
8
27
-25
-8
12
-13
-3
-37
33
18
0
-1
-7
0
-6
-33
74
0
14
26
0
-76
-1
0
8
0
-25
31
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-21
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
12
1
-19
-8
0
-25
29
1
1
70
-5
0
3
-44
1
0
-16
31
0
-12
64
-6
12
-6
5
0
1
35
0
6
-1
8
0
0
11
0
36
-2
0
0
0
9
-2
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-1
35
-10
0
0
0
19
0
-19
-1
0
-1
-8
-2
-2
1
-2
17
0
0
-5
0
72
8
0
0
0
2
0
3
0
5
0
0
49
0
-14
0
0
-3
0
-18
-19
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-1
5
-1
1
0
0
26
0
-1
0
3
0
0
37
0
-3
0
0
0
0
2
0
0
0
0
0
0
64
0
0
0
0
-1
0
70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
56
-5
-14
-33
19
0
18
8
-8
-32
30
37
-8
49
18
-1
11
14
7
-1
13
-28
-2
27
9
37
-5
1
16
0
12
17
0
27
0
40
44
-25
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
14
0
0
-1
0
0
0
6
0
5
0
0
0
0
1
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
14
0
0
0
1
0
1
10
0
5
0
0
0
0
-14
0
0
-4
0
0
4
-2
0
-5
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
-1
-9
33
0
0
0
9
0
0
-5
-17
2
0
51
0
23
1
0
0
0
12
-2
0
8
0
0
0
56
0
-4
0
0
0
0
13
-7
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
4
0
0
0
-5
0
0
3
0
0
0
-6
0
-2
3
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
2
3
0
0
-6
0
10
-1
0
0
0
-2
0
0
-7
-6
0
0
4
0
7
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
44
-5
-36
27
-4
9
17
-4
-5
20
-22
-36
27
-15
-4
4
10
17
85
-8
0
22
0
80
-24
0
18
0
24
-2
24
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
21
3
0
1
-23
0
-1
-1
0
0
0
-18
0
0
5
-1
0
0
-16
0
-8
1
1
-4
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
-9
0
0
-37
0
-18
0
0
0
0
108
-1
7
3
0
0
0
15
0
-7
0
0
-1
0
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-2
0
0
0
-41
0
0
0
0
0
0
12
0
0
0
0
0
0
46
0
12
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
27
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
-1
0
0
0
31
0
0
0
2
0
0
140
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-11
3
26
25
0
31
-5
61
0
3
4
18
-1
0
38
0
-70
-1
0
0
0
47
46
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
36
0
1
-2
0
0
0
-8
0
-13
0
0
0
0
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
40
0
0
0
0
-9
0
-1
0
0
0
0
136
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-45
0
-1
2
0
0
0
59
0
4
0
0
0
0
-16
0
-8
2
0
0
0
16
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
0
0
0
30
0
0
0
0
0
0
7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
3
0
0
0
0
-31
0
-3
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
0
8
41
67
3
8
-9
3
63
-8
0
-2
0
48
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-46
0
-1
-9
1
0
0
106
0
1
3
0
1
0
-50
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-9
0
0
-97
0
14
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
12
0
0
-5
0
-5
-19
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
1
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-76
2
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
5
0
0
0
0
0
0
8
0
0
-10
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
-18
-8
0
0
0
0
0
0
-4
0
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-85
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
-5
0
0
0
5
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
0
7
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
-31
21
53
10
-53
-9
-17
-14
22
56
2
10
-7
42
29
28
42
9
8
-88
28
32
27
29
-79
-10
-28
32
-28
-32
-35
-14
11
-2
-14
-54
22
0
15
42
-66
-32
-114
36
35
-2
-12
-23
-9
10
5
4
-5
-21
59
-45
21
76
-35
23
-38
-39
-7
10
-25
-21
11
13
-2
-44
31
14
98
1
32
17
55
32
21
67
28
3
9
-1
-4
1
-37
21
-5
1
21
-50
4
-9
20
-4
19
6
12
54
-98
39
-29
73
10
-12
13
21
-61
24
-30
21
-32
27
-8
-25
-31
4
3
-7
-17
45
-55
-11
-23
43
0
0
0
0
0
0
0
44
35
71
36
31
15
77
35
-3
23
15
38
-3
28
-1
-7
-26
28
8
7
-44
-16
0
-12
-5
-6
18
40
18
2
41
11
-2
12
-76
9
-5
-27
-30
-16
-5
-50
-24
10
7
12
-8
58
-1
17
0
-40
11
-66
-16
47
-37
16
10
21
18
-7
-47
-15
25
-38
36
8
15
19
-10
7
47
-25
22
5
-40
11
4
47
21
7
-65
14
42
-5
-102
-4
6
-16
-10
-5
1
13
-7
-24
65
-4
62
7
81
67
10
-15
4
144
7
-38
-73
-72
-26
-15
-60
19
35
-76
9
43
-10
4
-1
-66
17
-26
15
14
64
-2
14
-32
-33
-7
35
-59
2
-29
1
-22
14
75
19
-3
-8
35
25
-7
100
-20
22
16
-12
-18
-22
25
25
-31
21
-8
45
19
-44
39
-15
30
-6
12
2
-33
5
2
-39
-41
-32
-8
93
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
-123
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
9
0
0
2
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-14
0
0
-24
-1
0
0
5
0
0
0
22
0
0
0
0
0
0
-60
0
0
0
0
0
0
6
0
1
0
0
0
0
3
0
0
0
0
0
0
-54
0
0
0
0
0
0
-19
7
0
0
0
0
0
-40
0
0
0
0
0
0
40
0
0
0
0
0
0
19
0
0
2
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
29
0
0
0
0
0
0
1
8
0
0
0
0
0
3
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
2
0
0
74
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-15
0
0
-1
0
0
0
22
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
1
0
0
9
-23
0
0
0
0
0
0
-2
0
0
-2
0
0
0
5
0
0
0
0
0
0
17
0
22
0
0
0
0
2
0
0
0
0
0
0
5
0
1
0
0
0
0
-5
0
0
0
0
0
0
76
0
0
1
0
0
0
64
0
0
0
0
0
0
-2
0
0
2
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
-1
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
46
0
0
0
0
0
5
-22
0
0
0
0
6
0
0
0
-2
0
0
12
0
0
0
-5
0
0
10
0
0
0
0
0
0
-18
0
0
0
1
0
0
4
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-45
1
4
0
72
-30
0
0
10
0
0
0
-14
0
0
45
0
0
0
1
0
0
-21
0
0
0
-2
0
-28
1
0
0
0
36
0
0
0
0
0
0
24
0
0
0
0
0
0
2
15
0
0
0
0
-7
-3
0
0
3
0
0
0
74
0
0
-4
0
0
2
12
0
0
4
0
0
0
-14
0
0
29
0
0
0
-34
0
0
2
0
0
0
-18
0
0
0
0
0
0
53
0
0
0
0
0
0
-9
0
0
0
0
0
0
-44
-23
0
0
0
0
0
30
0
13
-2
0
0
0
-22
0
0
0
0
0
0
-11
0
-1
-10
0
0
0
6
0
0
-5
0
0
0
63
0
0
0
0
0
0
27
0
0
0
0
0
0
67
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
1
-1
0
0
0
0
0
6
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-20
0
0
3
0
0
-45
0
0
0
0
0
-4
16
0
0
0
0
-31
0
0
0
20
0
0
-54
0
0
0
31
0
0
40
6
0
0
-6
-2
0
-6
2
0
0
1
0
5
0
-1
0
0
0
0
0
-2
3
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
20
0
0
0
-1
0
67
9
0
4
0
0
0
0
0
0
0
0
0
-3
5
7
116
-10
2
0
4
54
0
0
-15
0
0
3
35
0
1
0
0
0
4
39
0
0
0
0
0
0
34
0
-27
0
4
0
0
-49
0
0
-1
0
0
0
76
0
-1
0
0
0
0
42
-3
0
0
0
0
0
-36
0
0
30
-1
0
-3
8
0
0
-2
0
0
12
-44
0
0
-2
1
0
0
23
0
0
25
-2
1
2
-2
0
0
-2
10
0
0
9
0
0
-3
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
0
12
0
0
-8
0
0
0
73
0
30
0
0
0
0
-15
0
-1
0
1
0
0
49
0
36
2
0
0
0
-8
0
0
7
-5
0
0
-50
0
0
0
0
0
1
25
0
0
0
0
0
0
90
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-7
0
0
0
0
0
0
0
34
0
0
-8
0
0
0
7
0
0
-1
0
0
0
-4
0
-8
0
-1
0
0
17
0
0
0
0
0
0
-11
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-6
0
-13
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
9
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-1
0
0
0
8
0
2
3
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
25
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
0
0
-6
14
0
0
0
0
0
7
10
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
5
0
7
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
13
0
0
0
43
0
0
0
0
0
0
100
0
0
1
0
0
0
-13
0
0
8
0
0
0
13
0
0
8
2
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
10
-34
92
30
9
-4
27
70
86
2
73
11
25
40
23
7
-13
-46
-3
-22
11
85
9
-12
18
43
44
-14
45
4
75
-26
3
19
-68
-11
-24
7
-8
6
13
7
-46
13
-2
7
91
-9
-19
52
-23
-81
7
-33
-19
2
27
21
46
13
1
10
2
2
102
26
11
-20
4
10
-35
7
-12
0
-15
19
-2
-13
39
-19
80
-20
-8
-10
35
-95
-60
14
-6
27
3
-5
-48
32
-3
5
0
-40
-29
18
-31
-15
-10
1
-12
-69
17
-43
-14
52
11
54
-8
-31
91
-28
5
16
0
0
0
0
0
0
0
-4
-14
-67
-80
23
25
65
-1
25
-11
-22
-18
39
-7
8
8
40
6
5
-27
-1
-21
7
28
48
13
-57
18
8
6
74
19
-25
35
-8
-31
-17
-17
-78
-40
62
26
-9
17
7
-4
42
47
12
-56
9
-7
6
22
47
4
25
10
-55
-31
-28
-38
-33
37
18
-50
5
5
-7
27
-54
-1
-26
9
-6
10
-13
35
6
-42
47
-21
21
-13
14
8
4
51
-16
-4
22
15
15
21
35
-8
-18
14
-2
10
19
-19
-49
-3
25
37
5
-8
-9
3
-55
29
-110
-4
62
-29
22
30
12
53
9
28
23
-3
20
-6
-17
-13
34
-16
23
2
11
20
-39
39
28
-54
37
51
16
-13
-42
-26
-37
17
-8
-4
9
19
31
-5
10
-65
-19
19
18
-13
-38
13
-16
-17
-14
27
23
-38
-50
-17
-1
-1
-5
-2
13
-52
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-6
0
-30
0
17
0
1
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
4
0
-1
0
0
2
0
0
0
0
0
-53
0
0
0
0
0
10
0
0
0
0
0
-5
1
0
0
0
0
50
0
0
0
-3
-2
0
9
1
0
0
-29
0
0
13
-1
0
0
3
2
0
-8
0
0
0
-5
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
57
0
0
3
-8
0
47
-2
-3
0
1
0
0
0
0
0
0
0
0
16
-21
0
11
64
0
0
69
-35
0
0
-2
0
0
7
-75
0
0
-5
-1
0
-2
-58
0
0
8
0
0
0
-28
0
-30
0
2
0
0
-23
0
0
0
0
0
0
-26
-4
0
0
0
0
0
112
0
0
0
0
0
-7
91
0
-6
16
0
0
13
66
0
0
0
0
0
-34
9
0
0
5
0
0
-1
20
0
0
6
0
0
2
-24
0
-5
0
0
0
0
-45
0
0
0
0
0
0
56
0
0
0
0
0
0
-13
0
0
0
0
0
0
-75
-8
0
0
0
0
0
52
6
40
1
0
0
0
9
0
0
0
0
0
0
-20
0
-4
4
0
0
0
-3
0
0
1
16
0
0
37
0
7
0
-10
0
0
-14
0
-2
0
-3
-2
0
-49
0
1
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
-2
-40
0
0
-1
0
0
0
32
0
0
-1
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-13
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
9
0
-8
2
0
4
4
0
0
0
0
6
0
1
0
0
-13
8
0
0
-4
0
0
-1
8
0
-4
3
0
0
0
0
0
-54
4
0
0
0
0
-35
0
0
0
0
-1
3
4
0
-1
0
0
4
0
0
3
-5
0
0
9
-8
0
-2
-9
0
0
-20
33
0
0
-16
-2
0
73
-4
0
2
32
0
0
-2
15
0
4
-5
-6
0
10
-2
0
0
-1
0
0
4
-4
0
1
15
38
0
0
0
0
0
0
0
0
3
5
0
5
1
-3
0
0
0
0
0
0
0
0
45
4
0
53
71
2
0
73
-48
0
0
30
4
0
98
9
0
0
18
8
0
8
29
0
0
28
0
0
24
16
0
-14
-30
-6
0
0
31
0
-1
0
0
0
0
4
19
24
0
0
0
0
17
13
1
0
0
0
9
-4
0
-9
34
-53
0
-13
-15
0
-5
12
0
0
85
-46
0
1
43
-13
0
-9
-16
0
0
-16
0
0
-6
54
0
-5
-9
7
0
-5
32
0
0
4
0
0
-2
-14
0
0
-1
-1
0
0
9
0
0
0
0
0
0
63
1
0
-14
-2
0
0
34
1
24
46
0
0
-19
2
0
-4
15
-2
0
-3
36
0
-88
7
0
0
0
-37
0
5
23
-13
0
0
36
0
60
-21
-2
0
0
-22
0
3
12
6
0
0
3
0
5
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
128
-5
-21
9
0
-7
-4
72
5
-3
12
8
23
16
-39
0
5
1
0
3
-19
4
0
0
-1
-9
0
0
1
0
32
0
0
-27
0
0
-17
0
0
0
13
0
10
30
14
0
0
0
2
34
16
13
31
52
28
3
-5
12
-10
26
0
29
83
25
-1
9
13
101
-7
-50
-31
-10
-3
5
0
1
54
-5
0
1
75
6
-20
0
26
0
-5
0
0
-51
0
26
0
0
-1
-4
-13
0
-2
50
0
0
0
4
0
15
-41
24
17
-8
0
0
0
0
0
0
0
0
2
25
-32
72
51
-45
3
24
1
-14
31
17
-12
1
-1
34
1
52
-61
54
0
-21
15
-12
5
2
0
1
-17
53
0
-11
-6
-62
2
0
-31
0
0
2
0
9
0
-14
18
-18
0
0
-3
0
62
14
1
-6
0
0
41
49
-6
-43
-15
1
0
119
17
1
63
8
2
19
10
-64
21
5
19
53
6
6
-37
-2
16
46
0
-18
-30
-22
-4
-10
6
31
-9
47
-5
0
2
-7
0
2
8
-27
-2
13
32
1
-22
0
-21
14
0
0
-2
0
0
-8
103
34
5
0
0
66
46
6
-62
14
0
0
32
-47
-8
58
39
11
5
-21
12
2
-33
-7
8
0
30
-1
0
4
12
84
41
4
-10
-3
-18
9
22
0
8
-43
0
-6
-31
-1
-12
0
-24
0
-29
0
-3
-1
0
-6
-32
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
-1
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
-2
2
0
40
0
0
0
0
0
0
-29
-5
0
0
-24
-1
1
-1
0
0
0
6
0
0
0
-4
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-7
0
0
0
-2
0
17
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
-2
39
12
0
85
-50
0
0
-31
0
0
-4
-65
0
3
-4
0
0
17
-18
0
0
0
0
0
-1
-24
0
-22
0
2
0
0
7
0
0
1
0
0
0
15
7
-5
0
0
0
0
-30
0
0
0
0
0
0
27
0
0
-2
-1
-6
13
0
0
-1
-27
0
3
41
-13
0
0
-8
12
2
-4
-62
0
0
2
0
5
-4
-4
0
2
0
-3
2
0
18
0
0
-1
4
0
0
-46
0
0
0
0
0
0
49
0
0
0
0
-1
0
25
0
0
0
0
0
0
31
0
3
26
0
0
13
0
5
-5
-1
0
0
0
-103
0
40
1
0
0
0
-10
0
0
3
0
0
6
12
0
6
3
0
0
0
27
0
-4
1
8
0
0
-8
0
48
13
0
0
0
27
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
0
0
0
0
0
0
2
0
0
-1
0
0
8
-2
0
1
0
0
3
-1
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
5
0
0
6
29
0
-8
56
1
0
-1
-32
0
4
-38
0
0
-2
5
-8
0
1
16
0
0
8
0
-3
-5
9
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
1
0
0
24
0
0
0
4
0
-7
3
8
0
0
0
0
0
0
0
0
0
0
13
73
0
-19
9
-1
0
-8
16
0
0
-4
0
0
-6
-2
0
0
0
4
0
6
80
0
0
9
0
0
0
-15
0
13
0
0
0
0
14
0
0
0
0
0
0
14
0
-3
0
0
0
0
10
3
-6
3
0
0
7
40
0
-17
8
0
0
27
20
0
1
6
0
0
32
-26
0
1
-8
0
0
0
14
0
0
-22
0
0
0
-32
0
0
0
2
0
0
-28
0
0
0
0
0
0
-7
0
8
2
0
0
0
17
0
0
0
0
0
0
85
8
0
8
0
0
0
49
0
22
-5
0
0
0
27
0
-1
8
9
0
-3
-32
0
0
0
0
0
4
10
0
0
0
0
0
0
74
0
0
5
0
0
0
20
0
-1
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
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
0
0
0
1
0
0
-2
1
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-80
0
0
14
0
0
-14
0
0
0
0
0
1
45
0
0
0
0
-27
0
0
0
0
0
0
16
0
0
-3
-76
0
17
22
5
0
8
2
3
1
12
5
0
0
30
0
1
0
0
0
0
-12
0
0
-1
5
0
0
0
0
1
0
2
0
0
0
0
8
0
0
2
0
0
0
-16
0
57
-1
0
0
0
0
0
0
0
0
0
0
0
59
85
0
-31
26
2
0
-51
-15
0
0
39
0
0
-3
29
0
0
-3
0
2
5
79
0
0
15
0
0
0
6
0
-16
1
-4
1
0
-43
0
0
0
0
-3
0
-49
-6
0
0
8
6
0
25
0
0
0
0
0
-3
-24
0
0
23
5
0
5
-3
0
0
-7
0
0
7
19
0
0
25
-1
0
4
34
0
0
0
0
0
2
-25
0
1
1
2
0
0
108
0
0
-2
-1
0
0
-43
0
0
4
0
5
0
34
-8
0
0
0
0
0
41
0
0
-1
0
0
-1
-60
-8
-6
13
0
0
17
-25
0
-1
0
0
0
-3
37
0
-1
-3
0
0
-4
35
0
0
6
0
0
0
15
0
-3
-6
0
0
0
1
0
0
0
0
0
0
36
0
0
1
0
0
0
16
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
-8
9
-7
0
0
67
27
-3
-6
16
6
-24
-32
106
-3
0
0
0
6
-5
-37
0
0
-23
-1
2
0
15
-1
3
0
0
1
0
0
22
0
0
0
2
0
22
55
0
0
0
-5
2
46
5
1
10
-20
1
65
4
8
19
13
-3
31
3
-58
2
23
59
5
-44
3
-16
0
0
4
3
-14
-67
-8
0
0
5
-1
3
34
33
0
0
-10
0
-17
-1
17
-1
0
-7
15
-11
0
1
-71
0
0
0
7
1
2
-60
-35
13
77
0
0
0
0
0
0
0
0
-9
43
10
-47
61
-12
0
59
26
0
33
44
-7
0
8
21
0
5
9
-21
5
-12
0
0
0
1
0
0
-22
2
0
15
25
3
0
-1
-39
0
0
0
0
27
0
0
33
17
0
-9
0
1
0
-20
0
17
0
0
37
11
13
15
32
62
-2
20
20
-3
21
-28
2
5
55
1
6
22
0
11
2
3
2
4
49
36
8
24
21
13
0
-4
17
41
-1
15
11
0
4
-2
-7
-54
-3
-28
0
0
4
-11
-8
0
6
-5
0
0
0
0
2
-36
-5
0
0
-5
0
-1
-20
-11
-3
23
-8
0
5
53
0
-10
-9
-14
0
-45
15
0
-58
33
-9
4
47
-45
-13
48
-22
27
18
-5
-43
4
-30
-19
8
-3
-2
19
0
-2
-8
-5
0
0
0
0
25
0
3
-3
0
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
30
0
-8
-17
-11
-3
1
-13
0
38
4
-14
0
0
0
0
49
0
2
5
0
1
0
22
0
3
0
31
0
0
11
0
0
-15
0
0
0
4
0
25
24
0
0
0
-4
18
0
0
0
18
0
-5
26
-2
0
1
3
0
2
-30
5
1
-4
-6
0
-1
12
40
0
0
46
0
-1
-39
-18
0
6
-13
0
-10
16
73
0
0
0
0
14
1
36
0
0
-3
0
32
0
0
-16
41
0
0
32
0
27
-40
-40
14
0
0
0
0
0
0
0
0
0
-17
54
-1
0
16
0
0
-4
32
-1
-8
10
-10
5
16
-12
-2
-6
-34
0
-8
6
-12
0
5
21
0
3
-3
3
0
-13
10
0
55
-4
-74
0
0
0
0
46
0
6
-19
0
0
0
8
-2
-9
-7
0
0
0
0
-19
30
0
5
51
0
0
48
-3
0
-7
33
0
-1
95
30
0
-2
45
0
0
50
1
7
-4
-40
8
-8
53
-4
0
0
3
0
-7
-9
5
0
-5
20
0
44
0
-10
0
-3
11
0
7
0
0
41
-4
3
0
-10
0
-9
76
-2
0
0
0
-7
28
0
52
28
0
0
-28
12
0
-7
2
0
2
-124
19
0
-3
-44
0
6
-67
-13
0
33
6
0
0
1
57
3
-21
-18
0
-4
0
1
0
-17
3
0
40
2
-28
2
-1
0
0
-50
0
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
18
0
0
-4
4
2
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-24
0
0
0
0
0
4
6
0
0
0
0
-10
1
0
0
9
-3
0
0
0
0
4
40
0
0
68
9
0
-1
-2
-9
0
0
23
0
2
-1
0
0
-2
5
0
0
3
0
0
-13
3
0
0
0
0
0
0
-14
0
0
0
-13
0
0
1
14
0
0
0
0
0
26
-5
11
0
0
0
0
0
0
0
0
0
0
72
47
0
-59
4
2
0
31
51
0
-3
-36
-2
0
32
19
0
-8
7
18
0
-5
5
0
12
5
13
0
0
84
0
29
2
-4
0
0
-13
0
0
-9
0
0
0
57
-18
2
-5
0
0
0
49
10
0
0
0
0
4
42
0
16
138
0
0
90
-28
0
3
15
0
0
18
18
0
10
74
-8
0
-3
-32
0
0
43
0
0
-3
39
0
1
8
23
0
12
-12
0
0
-8
0
0
0
-11
0
-2
-4
0
0
0
-4
0
0
0
8
0
0
49
-2
0
0
0
0
-1
29
0
49
1
-4
0
3
-47
0
8
-14
4
0
0
6
0
-5
13
-1
0
0
41
0
1
62
-6
0
3
-50
0
22
-1
0
0
0
86
0
0
0
-12
0
0
37
0
8
1
0
0
0
35
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-13
35
30
-49
-16
50
45
-6
5
13
-1
14
13
-49
2
3
-20
-29
-18
15
-30
0
-3
-1
2
28
0
-3
7
-1
0
-8
-15
-3
-10
-13
13
1
0
-55
-4
94
6
-57
19
21
9
-66
51
18
31
18
2
-67
8
-54
-51
110
-1
1
23
26
-28
23
-43
-30
0
43
-25
-4
-10
-32
-23
28
4
-11
3
0
23
86
5
-17
-12
-3
8
-3
-1
25
-3
0
43
58
0
3
40
-12
-3
-32
-30
-120
27
24
4
0
0
0
0
0
0
0
26
10
-4
9
15
21
22
7
6
-4
-8
14
-17
-16
-7
-4
-4
21
-9
-17
-38
12
-9
-12
-30
-30
-19
9
-32
4
0
-3
37
9
34
-19
-4
-1
8
-8
19
12
0
14
27
-48
-4
-74
-28
-6
28
-43
-28
14
-1
-1
-58
52
-24
89
-18
16
6
36
48
-51
-90
13
-9
111
42
21
30
22
48
-32
-19
99
-4
-26
-49
-2
-21
-41
7
-2
-14
-2
-20
-17
-25
63
2
4
8
20
4
8
7
-18
-7
14
-39
3
40
-1
9
11
-12
0
-13
-6
-8
25
-40
-45
-44
6
-5
6
-1
-69
-58
-40
-3
-2
-67
17
-67
53
-12
-10
-20
9
14
-25
6
11
1
40
-46
11
2
-59
49
54
-6
10
-15
0
-22
-13
30
-10
71
13
3
-25
22
-40
39
3
7
9
-20
18
-12
16
0
6
13
-9
-8
31
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-7
0
0
-40
0
0
0
0
0
1
-24
0
0
0
0
-1
3
0
4
-2
47
0
-71
1
0
0
-20
-4
0
-3
0
0
-1
60
4
5
16
8
4
-2
-6
-8
2
-5
16
0
0
0
0
0
0
13
0
0
4
0
-6
0
0
0
0
0
0
28
0
0
27
0
0
0
3
7
13
4
-7
0
0
0
0
0
0
0
0
0
0
3
-11
-1
95
0
2
0
-46
0
0
8
-2
-1
-1
-16
-2
0
1
3
-7
0
-2
-69
0
0
-17
0
0
1
4
0
-58
4
0
0
0
-10
0
0
0
0
8
0
40
14
0
0
0
0
0
-12
-4
0
0
0
0
49
1
-8
-5
-20
0
0
39
17
0
0
34
-1
0
71
0
0
0
48
-9
0
-18
69
-3
-5
14
0
0
1
57
0
0
86
0
0
0
-1
0
0
0
0
-9
0
-96
0
4
0
0
0
0
-9
0
0
0
0
0
0
22
19
1
0
0
0
-3
81
0
-7
-2
0
0
2
78
0
13
49
1
0
8
0
0
26
88
0
0
-5
-41
2
1
-48
0
0
-2
16
0
-1
3
0
0
1
-44
0
3
4
-1
0
0
-17
0
-9
0
0
0
0
-44
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
-56
0
0
0
0
0
-1
2
-4
0
0
0
8
0
0
0
-16
1
0
-33
0
0
0
-37
0
0
67
-1
0
0
8
0
0
1
1
0
0
-13
0
0
0
2
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
69
10
0
0
23
70
0
3
-30
0
0
13
16
0
-3
1
1
0
0
49
0
0
0
0
0
0
1
0
7
0
0
0
0
56
0
0
0
0
0
0
2
0
0
0
0
0
0
-32
2
0
0
0
0
-1
65
0
-8
17
0
0
-8
13
0
0
22
0
0
1
8
0
0
13
0
0
-8
-11
0
0
-6
0
0
0
15
0
10
10
0
0
0
-18
0
0
2
0
0
0
-12
0
2
0
0
0
0
20
0
0
0
0
0
0
42
0
0
3
0
0
0
6
0
0
0
0
0
0
-6
0
0
9
0
0
0
67
0
1
1
0
0
0
-3
0
15
0
0
0
0
7
0
0
0
6
0
0
11
0
-4
0
0
0
0
-33
0
0
0
0
0
0
-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
1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
6
0
0
52
0
0
0
0
0
6
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
24
0
0
50
-2
0
0
-1
0
0
3
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-28
-18
0
0
4
17
0
0
8
0
0
-1
-7
0
0
0
-8
0
-5
26
0
0
0
2
0
3
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-70
0
0
0
0
0
0
-77
0
0
0
0
0
0
9
1
0
29
0
0
4
46
0
0
1
0
0
-1
-1
0
0
-1
0
0
-2
6
0
0
-3
5
0
0
3
0
0
0
0
0
0
-17
0
5
7
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
6
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
2
0
1
9
0
0
0
0
0
0
-3
0
0
0
1
0
0
7
0
0
0
0
0
0
49
0
0
0
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-3
0
-1
10
0
-30
25
0
1
0
0
6
0
8
0
0
0
0
0
0
-1
0
62
0
0
2
0
0
-6
0
0
0
0
0
-6
-12
0
0
0
-2
16
0
1
0
66
-4
6
-40
0
0
3
89
0
0
35
-20
-1
0
-43
4
-8
15
45
0
0
-10
-2
0
-4
-2
0
10
-7
21
3
-5
-21
0
0
-7
0
-2
0
-16
0
0
0
0
20
0
0
24
0
0
-2
13
0
31
-1
-5
0
0
0
0
0
0
0
0
0
0
-51
2
1
55
97
7
0
29
1
1
0
4
0
0
28
86
6
0
-48
-4
0
-21
22
0
0
-7
0
0
0
-81
0
8
16
25
6
0
8
0
0
1
0
-3
0
33
-24
-2
0
-8
-2
0
44
-1
0
0
0
0
29
-19
-3
8
5
0
0
9
20
-1
-8
-4
0
0
65
-10
0
-29
56
1
-1
41
-81
0
-8
-9
0
0
2
13
0
0
8
-22
3
-1
-35
0
0
5
6
-15
0
47
0
0
0
6
8
0
-26
-5
0
0
0
0
1
-17
0
0
0
0
0
-5
74
2
-42
1
0
1
5
-18
0
6
4
-1
-1
-6
-66
-1
20
12
0
-3
1
-40
0
-32
5
-12
-1
2
14
0
8
29
6
0
-29
-19
0
0
-1
8
1
0
-13
0
28
4
0
1
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
-68
0
0
0
0
0
2
0
0
0
0
0
-3
14
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
19
0
0
-8
-7
0
0
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
-18
0
0
0
0
-40
0
0
0
0
0
0
-25
0
0
0
0
0
0
-111
0
0
0
0
0
0
40
0
0
-2
0
0
-2
-48
0
0
2
0
0
0
23
0
0
1
0
0
-5
23
0
0
0
0
0
0
-19
0
0
7
0
0
-1
-17
0
0
0
0
0
0
-3
0
0
0
0
-1
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
2
4
0
0
-7
-4
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
34
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
30
1
0
0
3
-8
0
24
0
0
5
18
-2
0
-9
0
0
0
-8
0
0
91
0
0
2
14
0
0
83
-12
0
0
0
1
0
12
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
-47
4
-12
1
-1
0
0
0
0
0
0
0
0
40
42
0
0
-3
-12
0
-37
-1
0
8
11
0
0
27
72
0
0
84
0
0
-13
12
0
0
1
0
0
-6
-41
0
-44
2
0
0
0
-23
0
0
4
0
0
0
28
24
2
0
0
0
0
-19
-1
0
0
0
0
3
-40
0
-5
115
0
0
15
11
0
0
12
0
0
-2
-67
0
0
-16
1
0
-7
83
0
0
38
0
0
0
-4
0
0
-29
-2
0
9
41
0
0
2
0
0
0
-48
0
0
0
8
0
0
-48
0
0
0
0
0
0
-26
6
0
0
0
0
7
10
0
18
-22
0
0
5
-8
0
0
55
0
0
21
-61
0
-5
-8
0
0
-3
-11
0
-20
2
13
0
1
-9
0
-40
29
0
0
0
71
0
0
0
1
0
0
24
0
-3
0
0
0
0
16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
55
0
2
0
0
1
-1
18
0
0
0
0
-4
0
-2
0
-85
0
0
2
0
0
-8
0
0
0
0
0
-8
-21
0
0
0
0
0
-1
0
3
-16
-68
0
29
0
0
0
-18
0
0
-73
40
-2
0
50
60
8
-75
36
0
17
-2
0
11
17
9
0
2
8
-6
-5
8
46
0
-4
0
0
-5
0
39
0
0
0
0
-63
0
0
-47
0
0
0
-24
0
-25
6
4
2
0
0
0
0
0
0
0
0
0
28
32
2
-48
-58
12
0
-43
30
0
1
-17
0
0
1
15
0
-5
-50
-6
0
14
0
0
4
69
0
0
1
10
0
-39
19
-13
1
-1
-117
0
0
-2
0
-7
0
10
13
-4
0
0
0
0
-3
-8
0
0
0
0
1
13
0
0
37
0
0
30
9
1
14
10
1
0
16
0
6
18
9
2
0
8
-24
0
7
13
0
-1
-6
-61
0
33
-39
26
1
0
41
0
0
17
0
-48
0
-38
0
0
-3
0
43
0
16
0
0
0
0
-2
0
-5
7
0
0
0
0
-2
17
0
37
75
0
0
0
-30
7
23
44
1
0
-11
41
8
88
2
-2
1
5
3
1
0
13
9
0
0
-34
0
-13
-4
3
0
0
13
0
-1
8
1
-2
0
-49
0
59
0
0
5
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
4
2
0
0
3
0
-2
0
0
0
0
-58
0
0
0
0
0
10
0
0
0
2
0
5
-64
0
0
0
0
24
-3
0
9
9
22
0
8
-2
2
-1
-11
0
1
43
-4
0
0
20
34
9
-11
0
0
5
42
0
-14
38
25
0
0
5
-4
-1
4
51
0
0
0
0
0
0
17
0
0
0
19
-25
0
0
7
0
0
0
-5
0
17
6
33
0
0
0
0
0
0
0
0
0
0
-31
-15
-5
21
-50
27
0
-11
27
-4
6
-10
0
7
69
0
1
0
24
-2
0
-5
-35
0
-10
33
0
1
-6
-55
0
-61
-2
-2
0
0
-80
0
0
0
0
2
0
-59
9
4
3
2
0
0
-8
2
3
-1
0
0
-6
40
2
2
75
-18
0
64
-6
-3
-1
80
0
0
-7
-11
0
-19
61
-10
-3
16
0
0
0
-8
-1
1
2
38
0
0
-8
-12
0
5
49
0
0
13
0
3
0
-27
0
0
-6
-13
-9
0
-37
1
0
0
0
0
1
5
10
1
8
0
0
0
45
1
0
-6
0
0
9
-35
-7
13
66
0
0
1
-17
1
-9
55
0
3
13
0
-1
3
-4
8
-6
0
-37
0
-6
9
1
0
-4
-37
0
0
0
-1
0
0
21
0
-59
0
0
0
0
44
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
78
0
0
0
0
0
-10
23
0
0
0
0
-3
0
0
4
16
0
0
-18
0
0
0
22
0
0
38
0
0
-3
49
2
0
39
0
0
0
-4
0
3
-4
24
0
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
0
1
0
-7
-2
8
0
0
0
0
0
0
0
0
0
0
-16
-4
0
88
39
13
0
-46
45
0
0
-5
0
0
-29
23
0
0
12
-2
0
7
-28
0
0
14
0
0
0
25
0
8
8
0
0
0
47
0
0
0
0
2
0
39
0
0
0
0
0
0
-24
1
0
14
0
0
0
33
0
0
10
9
0
30
7
0
4
-17
0
0
8
57
0
-3
-43
-4
0
1
-29
0
0
1
0
-7
6
-37
0
0
-2
0
0
0
-33
0
0
9
0
0
0
-31
0
0
0
0
0
0
3
0
2
0
0
0
0
2
2
0
0
0
0
0
5
0
-3
-14
0
0
0
37
0
-1
-8
0
0
5
19
-1
0
-13
0
0
4
52
0
0
0
0
0
0
-15
0
-2
-2
0
0
0
9
0
1
-3
0
0
0
-27
0
0
-7
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
7
0
0
0
0
3
0
-28
3
4
0
7
0
0
29
2
0
0
9
-9
0
-43
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-32
0
0
0
-2
0
0
0
0
0
0
0
0
5
-58
0
50
42
1
0
-52
62
0
0
-11
0
0
0
-51
0
0
18
1
0
-1
-42
0
0
-1
0
0
0
-4
0
-3
0
0
0
0
-22
0
0
0
0
0
0
49
-2
0
0
0
0
0
76
0
0
0
0
0
-3
6
0
0
0
0
0
0
-54
0
0
0
0
0
16
-24
0
1
-8
-2
0
-4
9
0
0
-43
0
0
0
-21
0
0
-12
-5
0
0
60
0
0
0
0
0
0
-22
0
0
0
-1
0
0
27
0
0
0
0
0
0
-7
-6
0
0
0
0
0
-24
0
12
0
0
0
0
99
2
0
2
0
0
0
-8
0
2
0
0
0
0
-15
0
-8
0
5
0
0
-4
0
-3
-6
0
0
0
-21
0
0
0
6
0
0
24
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
-1
-1
0
0
0
2
0
0
2
0
-39
0
0
0
0
0
-17
0
0
0
0
0
5
17
0
0
0
0
-3
-3
0
0
5
-65
0
15
-1
0
0
53
0
0
96
1
0
0
39
14
0
-67
8
0
0
-1
4
-9
-13
24
0
0
8
4
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
39
0
0
12
0
0
0
0
0
-46
1
8
0
0
0
0
0
0
0
0
0
0
-3
95
-2
14
-16
0
0
41
58
1
7
-15
0
0
3
13
0
0
-4
17
0
30
17
0
0
-5
8
0
-1
-44
0
13
-2
-5
0
8
19
0
0
0
0
1
0
2
1
2
0
0
0
1
10
0
0
0
0
0
0
-41
1
-2
16
-5
0
14
-11
0
-9
9
0
0
-9
0
0
2
6
36
0
3
-9
0
0
16
-4
16
0
49
0
0
0
16
0
0
-75
0
-2
0
0
0
0
-57
0
0
2
0
-4
0
37
0
0
0
0
0
0
38
0
0
0
0
0
0
12
0
-2
-5
0
0
0
-26
0
-1
-4
-2
0
-1
-10
0
0
0
0
0
-1
48
0
0
0
-6
0
0
11
0
4
-4
0
0
0
80
0
0
0
2
0
0
-41
0
-30
0
0
-2
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-16
0
-2
0
0
0
0
1
0
0
0
32
0
0
48
0
0
0
0
0
0
0
0
57
9
0
0
0
0
16
0
0
0
93
0
2
-5
0
3
8
-9
0
0
-52
3
0
-8
50
0
5
5
0
0
0
20
0
22
1
0
0
0
-1
0
-21
-3
0
0
0
0
0
3
0
0
0
0
0
0
38
0
0
4
0
0
0
29
0
25
4
-2
0
0
0
0
0
0
0
0
0
0
-4
-69
0
-46
-25
0
0
39
26
0
0
-32
0
0
-48
50
0
0
24
0
0
-2
-28
0
0
-5
0
8
1
-20
0
8
-2
0
0
0
-23
0
0
0
0
-18
0
14
68
46
0
0
0
0
-29
8
0
0
0
0
30
-31
0
-12
-42
0
0
9
38
0
0
18
0
0
13
2
0
0
27
0
0
28
-21
0
0
18
0
-5
25
46
0
0
26
0
0
3
4
0
0
7
0
-27
0
-5
0
0
0
0
56
0
17
0
0
0
0
0
0
-31
-1
0
0
0
0
3
-1
0
-13
68
0
0
6
-25
0
0
-5
0
0
-7
-11
0
23
0
0
0
8
-15
0
0
13
0
0
0
20
0
10
0
0
0
0
-28
0
0
0
0
0
0
-10
0
-17
0
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
-3
-8
0
0
0
-2
0
0
0
0
38
0
0
0
0
0
-17
0
0
0
0
0
24
4
0
0
0
0
-17
4
0
0
7
-2
0
24
0
0
0
10
0
0
-56
-2
0
0
-14
36
0
-33
1
0
-3
0
0
0
55
-4
0
-1
12
42
0
19
6
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
34
0
0
0
0
0
16
-8
-3
2
0
0
0
0
0
0
0
0
0
-18
26
-1
-11
46
14
0
44
82
0
0
38
0
0
27
23
0
0
99
5
0
29
-26
0
0
-67
14
0
4
-5
0
-4
6
-7
0
-7
23
0
0
0
0
0
0
39
58
29
0
9
0
0
18
-8
0
8
0
0
-4
-1
0
0
86
30
0
25
5
0
7
-34
0
0
80
31
0
4
-29
49
0
78
-39
0
0
29
0
0
8
-19
0
12
-14
-16
0
17
64
0
0
-6
0
0
0
13
0
0
18
14
0
0
-48
0
0
0
-1
0
0
-41
16
0
0
0
0
13
22
0
-3
16
0
0
8
42
0
8
-51
-3
0
-8
-21
0
30
81
0
0
-12
20
0
1
72
-2
0
0
0
0
3
-12
0
0
0
-9
0
0
8
-5
0
0
91
0
-12
0
0
0
0
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
5
0
0
0
0
0
-9
1
0
27
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
9
-13
0
-2
17
3
0
-7
1
0
1
-32
0
-3
18
0
0
0
15
5
-15
28
5
0
0
-36
-3
25
0
0
0
0
38
2
11
0
-8
0
0
5
1
20
0
22
0
0
0
-5
-27
0
0
23
0
0
0
1
0
3
-33
-3
0
0
0
0
0
0
0
0
0
0
-5
-18
0
-3
-14
-7
0
12
11
0
0
-8
1
0
0
45
0
2
-4
0
0
0
11
0
-1
74
0
0
0
-11
0
-15
9
7
0
0
-20
0
0
-10
0
-3
0
18
0
3
0
-3
0
0
8
-3
0
0
0
3
1
-30
2
0
-5
3
0
18
-23
1
-1
-6
0
0
0
-23
2
9
-17
-10
0
0
23
0
0
10
4
1
1
-14
1
0
16
-2
0
0
-12
0
0
3
0
13
0
8
0
3
0
0
14
0
-38
-7
0
0
-1
0
0
22
-5
0
0
0
0
0
-37
0
11
22
3
0
0
-2
0
8
-15
-1
0
0
32
0
31
18
-1
0
0
-2
0
0
4
38
0
0
6
0
-11
-18
0
0
0
35
0
-3
0
1
2
0
13
0
17
0
0
4
0
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
3
0
0
0
-31
0
0
-7
0
0
-26
0
0
0
0
0
-16
-21
0
0
0
0
11
0
1
0
9
-2
0
43
0
0
0
29
0
0
77
-9
0
2
-66
23
0
19
5
0
-1
63
4
0
42
0
5
0
1
-6
7
-4
8
0
0
0
0
-5
0
-1
0
0
0
0
-6
0
0
-8
0
0
0
7
0
14
7
7
-5
-1
0
0
0
0
0
0
0
0
-4
24
0
-1
21
2
0
36
-80
-2
2
59
0
0
10
-13
3
0
-38
13
0
6
0
-2
0
8
0
4
14
37
0
35
0
0
0
0
-27
0
0
0
0
0
0
-3
14
0
0
0
0
0
8
-14
2
0
0
0
4
26
-4
-3
68
3
0
0
6
1
0
-4
2
0
-9
-38
10
-6
-15
0
0
-24
48
2
0
19
0
5
12
0
-2
0
40
13
9
0
-51
0
0
3
29
0
0
23
1
0
1
0
8
0
-19
0
0
0
0
0
0
20
10
-1
3
0
0
0
-23
0
14
-1
0
0
0
41
0
-10
-2
1
0
-2
31
8
-9
18
-2
0
-8
-8
3
0
-17
4
0
0
0
0
3
8
0
0
0
42
0
0
-1
-14
0
0
44
0
6
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-1
0
1
-9
0
0
0
-15
0
-4
-14
0
0
0
8
0
10
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
14
5
0
5
-41
0
0
-20
31
0
0
-2
0
0
1
3
0
0
-8
0
0
0
-8
0
0
0
0
0
0
-18
0
27
7
0
0
0
-5
0
0
0
0
23
0
-53
2
0
0
2
0
0
45
0
0
0
0
0
6
-31
0
6
-2
0
0
-1
-62
0
0
9
0
0
-5
-18
0
6
49
0
0
0
-30
0
0
0
0
0
0
-1
0
-1
8
-2
0
0
99
0
0
0
0
0
0
5
0
0
0
-2
0
0
19
0
0
0
0
0
0
-12
0
0
0
0
0
0
54
0
0
-1
0
0
1
9
0
8
-2
0
0
0
37
0
0
0
0
0
0
3
0
0
2
0
0
0
65
0
1
0
0
0
0
-3
0
0
0
0
0
0
31
0
4
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
7
0
0
-2
0
0
0
3
0
0
-13
5
0
0
0
0
0
-1
0
0
0
3
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-9
-5
-7
0
17
-26
0
0
0
0
0
1
-7
0
0
2
0
0
0
-7
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-53
0
0
0
0
0
0
3
0
0
-1
0
0
0
55
0
0
-20
0
0
5
5
0
-2
0
1
0
0
-26
0
0
-1
0
0
0
10
0
3
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
12
0
4
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
4
-1
0
0
2
0
0
1
5
0
0
0
0
0
-2
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
-1
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
15
2
0
0
-8
-7
0
0
-6
0
0
3
-8
0
0
-3
0
0
4
-24
0
0
-4
0
0
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
-14
-1
0
0
0
0
0
25
-2
0
0
0
0
0
13
0
0
-4
0
0
0
-47
0
0
1
0
0
0
16
0
0
0
1
0
-4
42
0
0
1
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
5
0
-6
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
-5
0
0
0
0
-9
0
0
0
0
0
0
-25
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
-3
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
32
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
4
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
31
0
0
0
0
0
-36
0
0
0
0
0
28
40
0
0
0
0
-20
0
0
0
41
28
0
23
2
0
-1
69
0
0
77
4
0
0
-10
-24
0
-22
0
0
9
24
0
0
-7
-2
0
0
0
0
0
34
-31
0
24
3
0
0
1
-25
0
0
0
13
0
0
0
18
0
0
0
0
0
-59
37
7
1
0
0
0
0
0
0
0
0
0
70
7
0
40
55
-19
0
5
54
0
-4
1
0
0
-23
-47
0
12
8
-13
0
-28
-55
0
0
112
0
0
23
-49
0
12
-11
8
0
0
-22
0
0
0
0
0
0
11
13
-19
0
-5
0
0
9
12
0
0
0
0
33
-46
0
5
-20
7
0
50
32
0
0
77
0
0
115
55
0
0
-11
-6
0
-39
-18
0
0
7
0
0
3
41
0
1
39
15
0
23
21
0
0
63
0
0
0
-16
0
0
6
-3
0
0
28
12
-4
0
0
0
0
-5
5
0
4
0
0
9
27
0
-3
23
0
0
9
13
0
1
-41
0
0
-3
-1
0
31
-16
0
0
-8
-11
0
6
-24
-7
0
13
40
0
29
4
0
0
0
6
0
4
-2
-12
0
0
8
0
-19
0
0
0
0
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-66
0
0
0
0
0
-7
2
0
0
0
0
1
0
0
0
49
0
0
-57
-7
0
0
111
0
0
14
0
0
0
-21
3
0
16
0
0
0
0
0
0
-14
1
0
0
24
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
-5
-2
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-60
0
28
48
-1
0
-12
-62
0
0
16
0
0
0
-60
0
0
-1
0
0
0
-48
0
0
5
0
0
0
-19
0
11
0
-1
0
0
-24
0
0
0
0
0
0
-83
-2
0
0
0
0
0
29
0
0
0
0
0
0
-74
0
-2
4
4
0
1
29
1
0
-9
0
0
0
89
0
-19
3
0
0
0
21
0
0
1
-3
0
0
29
0
0
7
7
0
0
-13
0
0
0
0
0
0
-54
1
0
0
0
0
0
30
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-5
2
0
0
0
0
-12
0
0
0
-2
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-24
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-35
0
0
2
0
0
-89
0
0
0
0
0
6
0
3
0
0
0
5
1
0
0
1
17
1
76
0
0
1
6
0
-5
35
19
4
0
-14
2
0
34
49
0
6
17
2
-5
16
13
0
3
45
8
0
-2
0
3
-5
2
0
-1
0
-2
0
0
0
0
-1
0
0
5
0
0
0
0
0
-3
-6
9
0
-3
0
0
0
0
0
0
0
0
-17
10
2
-38
13
1
0
-13
45
-3
0
-29
-2
0
-5
63
4
-2
88
11
0
18
-36
0
2
29
0
0
0
0
0
3
0
0
0
0
-49
0
0
0
0
0
0
-19
15
0
0
0
0
0
10
-4
-1
0
0
0
4
0
4
-2
92
-8
0
1
4
3
0
-52
0
9
2
-34
0
-7
36
18
0
1
-1
0
1
-30
0
-8
2
23
1
4
-5
-8
0
0
0
0
0
-9
0
0
0
-13
0
0
0
1
14
0
57
0
0
0
0
0
0
67
-3
0
-19
0
0
0
0
1
47
-12
0
0
1
-34
1
-8
0
5
1
-5
22
0
-6
40
0
0
0
-3
5
-2
-17
-8
0
0
5
-5
-8
0
3
0
0
0
0
-3
-1
0
-5
0
-50
0
48
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
1
0
0
10
0
0
0
0
0
2
0
0
0
0
0
-1
5
0
0
-2
0
0
32
-1
0
0
10
0
0
0
0
0
0
-7
-1
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
5
41
0
0
-63
50
0
0
-15
0
0
-1
25
0
0
1
0
0
0
5
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
8
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
-13
0
0
2
24
0
0
0
0
0
3
-27
0
0
15
0
0
0
6
0
0
8
0
0
0
-38
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
-4
4
0
0
30
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-15
0
0
0
0
0
0
-1
0
1
6
0
0
0
2
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
3
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
24
-31
0
0
-10
9
0
0
0
0
0
0
1
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
-30
0
0
0
0
0
0
-38
0
0
0
0
0
0
-43
0
0
-1
0
0
0
-2
-3
0
23
0
0
0
-7
0
0
3
0
0
0
-22
0
0
1
0
0
0
-7
0
0
0
0
0
0
56
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
-1
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
18
24
1
0
0
14
13
0
-20
0
0
0
-31
1
0
23
0
0
0
0
0
0
46
0
0
0
0
-4
-2
0
1
0
0
0
-6
-3
0
0
0
0
2
0
3
-4
0
0
0
-1
-6
-1
0
0
0
0
0
0
0
0
-4
8
0
3
0
0
0
0
0
0
0
0
0
71
8
0
16
3
0
-5
-8
44
0
0
-5
0
0
-7
4
0
0
0
0
0
10
-45
0
0
0
0
0
-3
0
0
-7
0
2
0
0
27
0
0
0
0
0
0
-8
0
-2
0
-1
0
0
67
1
0
0
0
0
4
-22
1
0
0
0
0
0
-24
0
1
6
0
7
-4
-34
0
0
1
0
0
0
-13
0
0
0
0
0
0
-17
0
-2
0
0
0
5
0
0
0
0
0
-6
0
-30
0
0
0
0
0
0
-27
0
0
0
0
1
0
-13
0
0
0
0
0
0
-33
0
0
0
0
0
0
44
0
0
0
-1
0
0
24
0
2
0
0
0
0
-1
0
0
0
0
-1
-1
8
0
-19
0
0
0
0
9
0
0
0
0
0
0
80
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
15
0
0
-23
0
0
0
0
0
5
12
0
4
0
0
-9
1
0
0
3
0
0
-2
2
2
0
-57
0
8
60
-5
0
0
30
0
46
-84
-3
0
0
14
0
-4
0
6
0
0
0
-1
4
25
-4
0
0
0
0
14
0
0
0
0
0
0
-57
0
0
0
0
0
0
14
0
-18
-5
8
0
0
0
0
0
0
0
0
0
0
-9
-59
0
-3
1
0
0
-26
-31
0
4
4
0
0
-1
-8
0
0
36
20
0
32
55
0
0
-3
0
0
6
28
0
82
7
0
0
0
11
0
0
0
0
2
0
42
1
0
0
0
0
0
-26
4
0
1
0
0
1
5
0
10
6
0
9
1
-8
0
0
43
0
3
1
-4
0
9
6
0
1
13
-45
0
0
47
0
-1
0
60
0
0
28
0
-6
-7
31
0
0
0
0
59
1
-17
0
0
29
0
-27
0
52
0
0
0
0
0
0
32
0
0
0
0
0
2
32
0
2
7
0
0
0
-39
0
3
-25
-2
0
-4
-35
0
-5
3
0
0
0
59
0
0
7
3
0
0
110
0
-8
-1
0
0
0
28
0
1
0
0
0
0
11
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
26
0
0
0
0
0
9
-12
0
0
0
0
-6
0
0
0
-2
-11
0
-19
0
0
0
-63
0
0
-19
2
0
0
33
39
0
11
-18
0
0
-25
0
0
24
-2
0
0
-1
1
0
1
0
0
0
0
0
0
4
-4
0
0
0
4
0
0
0
40
0
0
0
0
0
-13
10
4
8
0
0
0
0
0
0
0
0
0
-128
50
0
17
34
14
0
64
44
0
-3
17
0
0
-7
21
0
0
16
-27
0
45
-10
0
0
-10
0
0
0
12
0
-13
1
10
0
0
9
0
0
-1
0
0
0
-2
-32
-8
0
-1
0
-3
36
8
0
2
0
0
52
-42
0
5
46
3
0
59
-20
0
-8
56
0
0
-11
8
0
4
33
2
0
-19
71
0
0
7
-3
0
-8
-14
0
5
27
36
0
-14
-26
0
0
19
0
0
0
52
0
0
4
-2
0
0
64
0
0
0
0
0
0
29
2
0
0
0
0
12
-10
0
-5
6
0
0
-4
13
0
0
2
0
0
0
3
0
7
48
0
0
13
-14
0
2
12
3
0
0
-1
0
99
-2
-1
0
0
49
0
-2
0
-12
0
0
48
0
70
-1
0
0
0
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-5
0
0
-12
-4
0
0
2
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-48
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-2
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
-1
0
0
73
0
1
0
-5
0
0
-26
0
0
0
5
-4
0
-1
-3
0
0
1
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
57
8
0
0
0
0
0
0
0
0
0
0
0
1
10
0
56
-43
1
0
1
27
0
0
0
0
0
-6
23
0
0
3
0
1
1
-48
0
0
4
-3
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-99
16
0
0
0
0
0
-56
3
0
-10
-1
0
5
22
0
8
4
0
0
30
-35
0
0
15
0
0
2
-7
0
0
8
1
0
0
19
0
1
-6
0
0
2
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
24
3
0
0
0
0
0
-12
-7
0
0
0
0
0
37
0
0
-1
0
0
0
-11
0
0
0
0
0
0
23
0
8
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
3
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
29
-27
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
45
0
0
0
0
0
-1
-21
0
0
12
0
0
0
-41
0
0
0
0
0
0
-4
0
0
1
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
4
-1
-27
0
45
-43
5
-14
-52
-51
-54
17
22
10
20
-1
11
39
39
-9
33
-24
12
1
56
-23
-31
17
33
-11
30
23
-41
43
-3
43
36
10
0
8
6
-25
14
-6
-16
-4
7
-38
42
53
19
-61
0
0
16
46
-3
0
12
-10
0
0
-27
-12
-47
5
-5
-3
34
24
-3
0
0
0
0
0
0
0
-11
2
62
-7
-3
-19
-8
12
-14
-20
62
-2
-4
-6
-18
-30
19
-49
8
26
-18
39
10
-12
32
19
14
6
-19
4
-14
4
36
7
8
-29
0
31
-3
5
-4
-39
2
4
-26
0
0
-35
-19
13
-9
-22
4
-35
4
-19
23
-2
30
66
-16
-8
-46
25
-16
-5
35
11
-36
-58
-21
0
29
10
37
-14
17
-9
7
41
-3
19
-30
37
106
-8
5
-27
-1
15
-18
-21
4
-19
-2
43
-24
22
75
13
45
-47
-3
6
5
-2
-15
-34
-32
-5
-16
17
-9
24
79
-33
-1
-47
37
-46
6
15
-3
-32
22
-40
29
-21
27
13
30
22
-22
29
0
42
11
-17
-19
96
10
-14
-19
45
-48
-24
10
13
-11
4
45
-18
-5
6
-1
-27
-44
54
-16
48
18
39
10
14
60
-14
-5
67
20
-3
-47
-16
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
3
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
-3
2
0
0
8
0
0
7
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
1
-1
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
5
0
0
0
-29
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-41
14
0
0
0
0
-24
3
3
0
75
-6
0
11
0
0
5
-6
0
0
-4
-5
0
0
9
-7
0
54
-45
0
0
-80
1
0
55
-1
0
-1
22
11
0
83
-24
0
0
43
0
0
0
5
0
0
0
0
0
0
-1
55
0
0
-1
0
0
-1
-11
-13
-1
0
0
0
0
0
0
0
0
0
3
67
3
-9
40
-34
0
10
12
0
0
50
5
0
-28
45
0
-1
26
18
0
-26
-3
0
-13
65
-2
0
82
-46
7
41
-18
-2
0
1
0
0
0
1
0
0
0
-6
44
-18
8
54
0
8
-39
61
-1
-4
-1
0
42
-51
0
23
49
-38
0
-26
64
0
16
55
0
0
66
53
0
-9
59
32
0
138
-24
0
-4
51
1
0
47
-22
0
54
-28
-31
0
42
-11
0
0
78
0
0
-10
15
3
-6
5
-35
0
0
-15
3
0
0
0
0
0
-19
-12
0
3
0
0
21
-7
0
22
16
0
0
30
-42
2
-17
-10
-6
0
0
49
-7
82
47
1
0
24
-10
0
10
54
23
0
41
14
0
-39
76
0
0
0
89
0
10
-9
-41
0
-4
28
0
-30
4
0
0
0
52
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
14
0
0
0
-2
0
0
-8
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-1
0
0
9
5
0
0
-29
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
19
0
0
0
0
0
0
-28
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-4
0
0
1
0
0
0
1
0
0
-1
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
16
5
10
-40
52
-1
18
51
-24
-43
-25
-6
10
-1
-10
5
-4
0
3
52
6
8
42
-10
-18
14
-10
-10
31
6
27
-39
-23
-17
-4
17
10
-4
6
4
6
3
-33
-7
-42
-5
31
1
-35
11
-27
-19
-7
-13
11
-29
-44
20
-12
-8
-15
11
44
-12
24
-45
24
-8
-22
0
0
0
0
0
0
0
-10
16
30
-13
-26
-23
-42
10
-3
44
-41
-1
5
-30
10
-28
-63
-8
3
-32
-31
3
-7
18
69
-5
-22
-24
-9
-21
-28
24
-33
3
-19
12
-8
11
30
-10
-14
16
3
-1
0
22
30
-10
2
20
3
-51
3
20
9
-44
-3
-28
-13
25
5
-7
5
-2
4
33
80
21
39
11
19
-5
-34
-13
-28
8
-76
-4
-13
53
-43
10
-32
-42
35
-6
6
-10
4
-16
26
-17
-3
31
-43
-23
-69
-6
0
-6
78
99
-53
41
18
4
-6
-6
73
4
-42
-30
-23
-17
-32
3
-106
-31
114
-22
-2
-58
-13
37
-60
43
-25
-24
-5
-15
-47
-45
-27
-82
-6
5
-27
4
-47
23
33
17
-29
55
14
17
21
4
-9
34
6
24
4
-5
9
0
44
35
-19
-15
13
12
-7
7
-2
19
-4
25
18
-2
-1
-10
19
-57
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
48
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
23
0
0
45
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
19
0
0
0
0
0
52
0
0
0
0
0
0
52
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
-22
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
6
0
0
3
0
0
0
0
-19
0
-5
1
0
0
3
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
4
29
0
62
2
-3
0
89
-42
0
0
4
0
0
4
-32
0
3
0
8
0
-5
94
0
0
-1
0
0
0
13
0
-40
6
-1
0
0
4
0
0
0
0
0
0
-22
50
0
0
0
0
0
57
2
0
0
0
0
4
53
0
0
-13
0
0
0
-40
0
0
-4
0
0
-9
-11
0
0
25
0
0
1
-31
0
0
4
0
0
0
3
0
-9
21
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
23
2
0
0
0
0
0
-22
1
0
1
0
0
0
-8
6
0
-1
0
0
-1
-16
0
0
0
0
0
0
30
0
-1
-2
0
0
1
-6
0
0
3
0
0
0
84
0
0
0
0
0
0
19
0
0
0
-1
0
0
-4
0
-7
0
0
0
0
60
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-2
0
0
-2
1
0
-29
2
0
0
-41
0
0
10
0
0
0
0
-3
0
0
0
0
0
5
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
59
-2
0
0
-4
3
0
0
23
0
0
0
-12
0
0
0
-3
0
0
-17
0
0
0
0
0
0
0
0
-6
0
-1
0
0
-2
0
0
0
0
0
0
-50
0
0
0
0
0
0
47
0
0
-1
0
0
0
115
0
0
-4
0
0
-6
-64
0
0
8
0
0
4
-31
0
0
2
0
0
0
36
0
0
-2
-2
0
0
29
0
0
-2
0
0
0
5
0
0
0
0
0
0
82
0
0
0
0
-2
0
48
0
0
0
0
0
0
34
0
0
0
0
0
0
-42
0
-2
0
0
0
0
29
0
0
-5
0
0
0
-37
0
4
0
0
0
0
0
0
0
0
5
0
0
3
0
-9
0
0
0
0
-7
0
0
0
0
0
0
22
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
1
3
3
0
27
-3
87
0
9
13
61
0
0
37
7
1
6
79
0
-7
137
26
0
-5
17
0
16
-15
17
4
0
9
-3
-28
58
11
0
0
-1
0
-29
0
0
0
0
0
42
-34
0
0
52
0
0
-9
6
0
0
19
10
0
0
0
0
0
0
0
0
0
0
38
38
4
20
30
2
0
-19
33
3
0
81
0
8
-14
-14
0
-5
42
17
1
12
28
0
10
-9
0
7
10
82
0
0
23
3
0
0
-10
0
0
0
0
-18
0
30
-8
0
0
1
1
0
0
5
0
0
0
0
-14
-26
0
-9
-41
1
0
-31
-20
0
0
16
0
0
16
22
-17
14
34
-15
0
5
-35
-4
3
28
3
0
15
87
0
-3
2
-6
-1
1
3
0
-5
10
0
22
0
26
0
1
9
-3
-21
0
-1
0
0
0
0
0
2
0
-1
0
2
-1
0
6
-65
-6
-9
6
-3
0
13
-30
-3
5
-7
0
0
-4
-4
5
-43
65
1
0
4
-18
-2
29
10
-5
1
0
-37
-1
-45
-5
0
0
-13
-30
0
2
-5
0
0
0
-4
0
8
2
-1
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-67
-1
-53
-40
-52
15
55
52
2
-22
14
-1
-6
-5
4
0
6
17
69
29
-47
71
0
1
10
-1
-16
-22
10
0
1
-5
39
-19
0
-28
0
0
31
0
-54
1
30
0
0
0
-6
-38
0
-1
-89
0
0
0
-68
0
-49
1
60
25
2
0
0
0
0
0
0
0
0
3
133
1
15
-20
24
8
35
1
0
17
1
0
-22
-34
31
4
6
4
20
7
16
-32
0
0
-15
0
-1
-4
0
0
18
39
14
1
0
44
0
-1
0
0
49
0
-15
-7
17
0
-24
0
30
-21
0
-10
-1
6
0
-22
35
-27
-29
37
16
0
-36
14
3
6
47
-4
-1
-10
26
1
17
3
-2
47
14
15
-2
-7
-38
20
-9
-31
-42
-2
-3
0
-22
29
9
53
0
11
-40
12
27
0
-61
5
0
0
22
44
0
5
34
0
0
2
0
1
-36
9
-9
8
0
0
-7
33
7
-46
-54
-1
0
30
8
-1
23
-32
5
3
19
4
-6
-30
-52
0
13
-5
-22
1
4
-10
-48
-1
0
0
1
82
15
8
2
0
-51
-2
0
-5
34
0
2
5
0
-30
0
0
0
0
-10
17
5
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
4
0
28
3
0
0
-58
0
-1
-7
0
4
0
1
0
3
-1
0
0
0
8
0
0
-1
0
0
0
2
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
-46
9
1
0
0
0
0
0
0
0
0
0
0
1
13
0
50
-16
0
0
7
18
0
0
58
0
0
3
32
0
0
0
0
0
5
2
0
0
0
0
0
0
-3
0
14
0
-1
0
0
-5
0
0
0
0
0
0
-27
-1
0
0
0
0
0
-12
2
0
0
0
0
2
-17
0
0
33
0
0
0
25
0
0
-5
0
0
5
25
0
0
-1
0
0
0
117
0
0
12
5
0
3
-20
0
12
0
-1
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-73
0
0
0
0
0
0
43
0
0
13
0
0
0
-19
0
-4
0
0
0
0
-10
0
0
-1
0
0
-2
4
0
0
-3
0
0
0
9
0
-1
0
0
0
0
13
0
0
-2
7
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
16
0
0
-74
0
0
0
5
0
0
-8
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
0
0
0
30
0
9
0
0
0
0
0
0
0
0
0
0
3
-3
3
5
14
0
0
0
8
0
3
-13
0
0
0
-32
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
-13
0
0
0
0
-2
0
0
0
0
0
0
-70
-1
0
0
2
0
0
-46
0
0
2
0
0
0
35
0
0
4
0
0
-1
1
0
0
-1
0
0
0
8
0
0
-4
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
6
0
-34
0
0
0
0
0
0
2
0
0
0
0
-4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
-5
0
0
0
0
-14
0
0
0
0
0
0
-1
0
4
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
-1
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-61
0
0
0
0
0
0
41
0
0
0
0
0
0
-63
0
0
-5
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
5
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
31
0
0
0
0
0
0
13
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
-6
-16
0
0
4
-1
0
0
1
-1
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
7
0
0
0
2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
-11
-45
-1
0
21
48
0
0
-7
0
0
-5
23
0
0
-8
6
0
-4
47
0
0
0
0
0
0
-7
0
-15
3
1
0
-3
2
0
0
0
0
0
0
-29
2
0
0
0
0
0
-15
0
0
0
0
0
1
-55
2
0
-4
0
0
17
23
0
0
40
0
0
9
-3
0
0
-2
-3
0
1
-13
0
0
-10
0
0
7
27
0
0
-2
0
0
-2
15
0
0
0
0
0
0
-18
0
0
0
0
0
0
-42
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
-4
0
0
0
31
0
0
43
5
0
0
20
0
23
-1
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
2
0
0
-28
0
4
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
16
39
29
-3
8
16
1
-36
5
25
30
-54
-4
-6
-14
1
0
3
-3
-31
-40
84
0
0
46
-5
-13
-6
-24
0
0
21
0
1
-10
4
3
0
-6
6
31
0
1
82
0
0
0
62
0
40
47
-45
66
16
0
0
0
0
0
0
0
0
35
124
-4
21
38
72
-13
-2
42
24
-2
44
-4
-8
-43
-3
0
22
-16
-45
0
-45
-28
0
-4
-68
-1
1
0
28
0
-11
16
8
8
6
5
-3
0
-1
0
6
0
-8
31
36
-4
-1
-3
0
42
99
0
4
0
-7
42
3
4
90
-1
-37
1
-17
27
-5
-3
-11
6
0
-29
-6
-4
94
31
63
-1
-62
7
0
16
-126
34
0
-1
40
6
-8
25
11
1
3
15
0
-2
-4
17
-7
0
35
5
6
-7
-1
-30
0
-21
-8
0
-1
2
0
0
68
2
-10
-16
0
3
62
-10
17
44
12
-1
4
-17
65
-14
44
37
-7
-5
6
-47
13
18
25
8
-2
3
44
0
-22
-51
-33
0
-1
55
-2
-17
-5
5
-1
0
53
-4
-13
3
-2
-8
1
19
-4
-9
4
10
-2
0
-5
2
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-6
0
4
-8
0
0
32
14
0
5
20
1
-5
-11
-16
-2
0
2
1
0
-6
27
0
0
3
-1
10
17
-2
0
0
-2
0
2
1
0
0
0
2
0
-67
0
0
7
0
0
0
-2
0
41
-6
-1
-1
-3
0
0
0
0
0
0
0
0
-1
-2
0
32
-28
-3
0
71
-21
0
0
171
0
0
0
-6
0
-2
-51
-3
0
-8
-33
0
0
-50
0
0
0
-24
0
1
-4
0
0
0
7
0
0
0
0
0
0
16
-25
0
0
-12
0
0
-44
21
0
-1
3
0
-5
0
-5
4
16
10
0
-16
16
0
2
-25
0
0
7
29
0
-4
-60
-7
16
-17
18
0
0
-65
2
0
26
-6
0
-5
10
18
-5
0
42
-1
-4
14
0
0
0
39
0
0
-1
2
0
0
-14
-1
0
0
-1
0
0
4
1
0
0
-2
0
12
0
2
1
-13
1
0
13
3
0
20
-46
0
0
6
45
0
-43
57
0
-1
2
20
0
5
-7
5
0
1
37
0
47
7
0
0
3
37
0
0
9
-5
0
0
59
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
-22
0
0
40
0
0
0
15
0
0
-12
1
0
0
4
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
113
1
0
1
0
0
0
0
0
0
0
0
0
2
32
0
-30
51
-12
0
-5
50
0
0
49
0
0
-13
2
0
0
4
-3
0
0
6
0
0
-2
0
0
0
45
0
-32
0
0
0
0
-6
0
0
0
0
0
0
-93
-2
0
0
0
0
0
63
0
0
0
0
0
0
-37
0
1
72
-2
0
0
65
0
0
-12
0
0
0
5
0
0
12
4
0
0
4
0
0
-30
0
0
0
61
0
0
0
0
0
0
-51
0
0
0
-1
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
-33
0
1
-2
0
0
0
17
0
0
2
0
0
0
-43
0
0
8
0
0
0
-53
0
-7
6
0
0
-2
-13
0
2
-16
-1
0
0
-8
0
0
0
-2
0
0
0
0
0
5
0
0
0
41
0
-1
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-8
2
0
18
0
0
71
20
0
0
137
-10
6
-29
13
0
0
0
0
-8
0
-1
0
0
14
0
-1
4
13
0
0
0
0
6
0
0
0
0
0
0
0
0
0
13
0
0
-1
-3
0
5
3
7
-1
8
0
0
0
0
0
0
0
0
-28
28
0
64
-44
7
7
-10
-30
0
0
6
0
-2
6
12
0
0
40
-5
0
-2
28
0
0
5
0
0
0
57
0
-5
13
1
0
0
25
0
0
4
0
0
0
-5
-3
0
0
0
0
0
23
3
0
0
0
7
0
-2
0
0
-4
6
0
6
-9
0
0
-33
0
1
-3
59
0
0
71
0
-3
5
38
0
0
-29
0
0
-4
50
0
0
-13
-9
0
0
29
0
0
-1
-2
0
0
7
0
0
0
0
0
0
0
-3
0
0
0
0
0
31
-11
0
0
0
0
0
28
-1
-32
1
0
0
0
-43
-2
-1
1
-6
0
-5
-1
0
8
-1
-1
0
0
-5
0
-6
-3
0
0
0
21
0
-4
8
0
0
0
28
0
0
2
0
0
0
42
0
25
0
0
0
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
24
-3
11
-29
3
47
55
128
0
20
-28
32
-46
20
38
0
9
0
0
14
-66
21
0
0
41
-14
-7
-25
46
0
-6
5
-7
-17
1
7
5
1
0
-40
16
0
0
41
0
0
-1
-9
0
23
6
-18
7
2
0
0
0
0
0
0
0
0
64
51
68
2
-17
27
16
12
-3
-1
4
63
23
-2
-20
10
3
-5
-14
59
-5
-86
-16
-2
3
4
-3
0
-8
-23
0
4
19
37
0
0
-37
-8
0
0
0
-25
0
-26
-2
-10
1
39
6
16
44
-39
0
-1
0
2
29
5
9
43
32
-34
-3
122
-1
0
24
-19
0
-8
4
19
9
-11
-10
10
-3
12
14
13
7
65
11
-2
23
0
29
11
11
-17
-7
0
-42
0
2
3
1
63
0
-33
0
-2
-2
38
-2
0
-29
3
2
0
4
3
-3
14
-45
-2
44
5
-7
-79
-4
-10
-8
-7
-9
2
-5
-13
-8
24
3
19
0
-21
-19
5
-14
87
6
-2
36
2
7
-12
64
-11
-3
24
-8
-10
63
49
28
0
1
46
8
5
-30
4
2
0
19
0
61
4
0
-10
0
-56
-2
-8
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
8
-18
0
13
-37
-10
6
-3
67
2
18
-4
42
0
3
45
0
40
-53
9
0
0
9
0
-26
-29
-16
0
-1
-5
10
54
0
-7
0
0
0
0
5
0
0
11
-4
0
0
-37
0
-30
-91
48
20
0
-4
0
0
0
0
0
0
0
-19
43
0
2
3
8
10
21
2
0
8
28
2
-14
-26
1
0
-2
-23
9
2
-63
-6
0
0
38
0
-4
7
-9
0
-5
-13
0
-23
1
-18
0
0
0
0
-8
0
-1
0
-22
0
-1
0
0
22
-43
0
0
0
-1
3
-3
-3
-9
49
0
-6
22
-5
0
2
80
0
1
9
-41
0
1
-34
-2
8
16
-20
0
0
-9
4
18
3
-12
-2
-8
9
6
83
68
-14
0
0
-11
0
-14
4
17
-8
-3
-2
0
-20
0
2
-3
0
0
0
23
0
33
63
-1
7
0
0
2
39
-3
88
-22
0
0
7
3
0
-4
70
0
0
10
6
0
-65
-8
0
0
7
-18
0
31
-67
-1
0
6
-17
-1
1
102
0
8
9
18
0
4
127
0
7
-1
-6
0
27
-4
0
-25
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
2
0
5
0
0
-13
21
0
0
81
0
0
-34
-7
0
-2
0
0
0
-1
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
4
0
0
-5
-2
0
0
0
-4
0
0
0
0
0
4
-2
0
-8
0
0
0
0
0
0
0
0
0
80
-14
0
-22
-50
0
0
19
48
0
0
23
0
0
-7
78
0
0
15
4
0
29
-62
0
0
2
0
0
0
-26
0
27
3
0
0
0
-29
0
0
-1
0
0
0
5
-24
0
0
-3
0
0
66
21
0
0
0
0
16
32
0
-3
-57
4
0
-41
17
0
0
-54
0
0
-8
1
0
5
27
0
0
-1
-8
0
-4
-13
0
0
16
84
0
0
-2
1
0
0
-27
0
0
0
0
0
-2
13
0
0
0
0
0
0
36
0
0
0
0
0
0
15
4
0
0
0
0
-6
-19
0
25
24
0
0
-13
75
0
0
13
-3
0
1
40
0
5
9
0
0
0
-36
0
-3
0
0
0
0
-21
0
21
-1
0
0
0
25
0
-5
8
3
0
0
-53
0
-35
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-73
6
62
18
34
-8
-6
-34
-8
26
25
3
16
-10
-14
7
-18
-39
13
39
-13
-56
-1
-5
-28
-14
-4
-16
-37
22
-9
-49
-2
22
-2
-46
-50
-1
0
3
-27
9
38
-5
-21
63
9
-2
0
0
0
0
0
0
0
10
10
-28
-23
42
62
4
20
-12
-28
80
15
-37
40
-1
-1
69
-37
-13
-7
-4
-39
-15
68
50
-2
45
39
-30
-26
-10
1
16
-30
12
-75
-1
43
2
36
-1
28
-1
28
12
10
0
-9
117
5
27
-15
9
59
-12
-1
-5
41
75
31
44
-10
-13
22
49
69
-36
43
53
2
-13
18
-6
40
9
-11
-22
27
-6
-7
25
22
48
2
-17
-21
21
-31
0
10
58
-25
-10
-5
-5
-39
32
17
34
12
57
5
-45
-11
-5
-6
26
-39
52
9
-5
-2
6
17
-37
-6
35
21
-1
-12
17
53
36
43
1
4
-84
28
-67
-75
-6
-38
-18
18
-5
-10
8
-13
49
-51
6
2
10
9
31
22
24
37
-7
-4
30
51
17
42
-36
-16
-23
45
6
-21
75
50
6
-5
26
19
-1
60
12
1
24
-13
20
27
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
0
0
23
7
0
-28
0
0
0
-4
0
0
7
17
0
0
27
0
6
7
-8
0
0
0
0
0
0
7
0
0
-6
0
-31
0
0
-3
0
0
0
1
-2
62
-2
-13
-3
14
0
0
0
0
0
0
0
0
-60
0
1
35
-20
0
0
-40
0
0
0
-61
0
0
72
12
0
0
22
-2
0
-8
-59
0
0
-5
0
0
0
-35
0
71
-1
0
0
0
13
0
0
0
0
-3
0
67
-5
2
3
7
0
1
55
-8
0
-1
0
0
7
31
0
0
42
2
0
76
0
2
-3
62
0
0
-31
62
0
0
-23
0
0
-11
-38
0
0
-49
0
0
0
-86
0
7
-2
-8
0
0
81
0
1
1
0
15
0
11
1
-4
-7
0
0
0
13
0
0
0
0
0
0
86
-4
0
2
0
0
-4
-16
0
-15
25
0
0
12
0
-6
-4
29
2
0
19
23
0
8
3
0
0
0
8
0
3
4
0
0
0
62
0
-1
-10
0
0
-3
-18
0
0
3
0
0
0
36
0
-14
0
0
0
0
30
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
6
0
0
-7
0
-7
-6
2
0
0
-1
0
0
0
-2
0
0
-2
1
0
-3
0
0
0
0
0
-19
0
0
0
0
1
0
6
0
0
-2
0
0
0
5
0
11
0
-6
-4
6
0
0
0
0
0
0
0
0
-8
37
0
-17
-49
-1
0
0
-55
0
0
-10
0
0
6
-27
0
0
1
0
0
-4
-30
0
0
2
0
0
0
43
0
52
0
0
0
0
-41
0
0
-1
0
0
0
-30
2
-3
0
0
0
0
3
-5
0
-4
0
0
0
-10
0
0
5
0
0
-8
19
0
-1
13
0
0
-8
4
0
1
46
-2
0
0
-35
0
0
-30
0
0
-2
-3
0
0
-4
0
0
0
-10
0
-2
0
0
3
0
52
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
2
0
-5
0
0
6
21
0
-13
9
0
0
0
-10
13
-4
27
0
0
0
37
0
-4
0
0
0
0
-41
0
-16
0
3
0
0
-6
0
-6
0
0
0
0
48
0
0
0
0
0
0
11
0
-3
0
0
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
1
0
0
-16
-3
0
0
0
0
0
5
0
-4
9
4
0
0
-2
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
-32
0
0
18
0
0
0
-5
0
-57
6
0
-1
1
0
0
0
0
0
0
0
0
54
-18
0
79
117
0
5
-36
5
0
0
-9
0
0
-29
104
0
0
33
2
0
7
-24
0
0
18
0
0
15
62
0
-125
4
0
0
0
-54
0
0
0
0
-5
0
-22
40
4
0
0
1
0
-20
-3
0
0
0
0
-5
52
0
5
31
0
0
-3
4
0
6
20
0
0
42
32
1
0
-8
-6
0
-3
-47
0
4
8
7
0
-8
17
0
0
34
16
0
3
4
0
7
-3
0
7
0
7
0
0
0
0
-2
0
-19
0
0
0
0
0
0
34
1
0
-2
0
0
0
22
0
14
-1
0
0
3
-34
0
2
1
-6
0
12
71
0
7
-9
0
0
0
8
0
0
0
-1
0
3
9
0
0
-1
0
0
0
26
0
0
5
2
0
-1
120
0
8
0
0
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
21
27
76
10
-18
5
24
61
-40
-7
-1
-54
-35
46
-15
-16
-35
-34
-16
-44
-48
-1
13
-15
9
-21
-14
-10
-24
-3
-1
-41
-34
0
12
-8
-3
3
6
34
-8
-16
-69
-5
-39
-15
0
0
0
0
0
0
0
0
-8
-9
-112
27
37
18
-10
14
-13
42
8
26
7
4
-3
-23
6
39
-11
-50
101
-9
5
-8
-9
-7
-25
-7
9
-30
5
9
7
-15
-26
22
-39
1
-1
-22
0
29
0
4
-11
-2
-2
-61
-31
43
9
-34
30
-21
0
-1
36
53
24
94
15
-8
-1
14
60
79
-8
-14
-4
-5
21
17
85
65
-10
-10
-11
12
-40
10
70
10
-16
43
-43
-26
5
34
17
26
33
-16
-6
-1
-8
28
50
9
-20
-39
-2
-7
1
-12
-12
-1
7
-17
14
0
41
4
-3
-19
21
17
43
-7
-4
22
10
-6
32
56
-6
14
-7
30
-53
37
13
-6
-46
-10
3
-43
59
43
21
56
74
-42
5
-54
1
-59
-7
-7
-15
-15
29
-32
55
-77
0
-18
2
11
-38
54
29
16
-16
8
-35
-4
4
-81
0
-2
-1
-6
33
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
17
-1
0
-5
-2
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
0
0
2
0
2
0
0
0
0
0
0
-8
0
0
-3
0
0
0
0
0
32
-4
0
0
0
0
0
0
0
0
0
0
0
-6
16
0
1
43
0
0
-33
12
0
0
4
0
0
-3
-24
0
0
3
3
0
-2
42
0
0
0
0
0
0
-5
0
-41
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
63
-2
0
0
0
0
0
17
0
0
4
0
0
0
-21
0
0
-8
0
0
-15
-89
0
1
-6
0
0
0
45
0
0
1
0
0
0
-19
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-2
0
0
0
0
0
0
50
0
0
0
0
0
0
-17
0
0
0
0
0
0
-19
0
0
0
0
0
0
-26
0
0
0
0
0
0
36
0
0
0
0
0
2
2
0
0
0
0
0
0
6
0
9
-4
0
0
0
6
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
-5
-7
0
-2
7
0
0
1
1
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
-1
0
0
0
-8
0
0
3
0
0
37
2
-2
0
0
0
0
0
0
0
0
0
0
61
23
0
34
11
-16
0
32
59
0
-18
-16
0
0
43
-36
1
0
-17
0
0
4
-20
0
0
5
0
0
1
-2
0
15
16
12
0
0
7
0
0
0
0
0
0
-16
-9
-5
0
0
0
1
2
2
0
0
0
0
67
-52
0
0
-21
8
0
42
46
0
1
-1
0
0
74
-26
0
-1
5
2
0
42
28
0
0
38
0
0
-1
-48
0
0
57
1
0
-3
33
0
0
0
5
0
0
27
0
-2
15
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
-9
41
0
5
10
0
0
-5
-14
0
-2
67
-1
0
1
-19
0
-5
25
-1
0
-4
-31
0
1
-3
-5
0
0
34
0
55
-9
0
0
0
54
0
-2
0
0
0
0
-8
0
15
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
45
57
-40
-4
5
-10
34
5
3
-23
87
-1
24
-37
-1
2
-4
1
-1
-2
21
8
0
-10
48
-27
0
-13
-37
0
1
-8
-72
2
15
38
8
62
2
-5
0
0
0
0
0
0
0
-51
-23
31
-16
-51
-14
16
-3
6
48
36
-26
36
27
31
29
-16
27
44
-55
-45
-10
-9
-6
-24
52
-6
-2
-33
-17
4
21
13
-10
-8
-1
0
2
-1
-35
-3
30
0
-1
18
34
3
2
-9
14
24
-36
48
17
3
9
-112
-15
21
-37
-2
13
-24
-19
17
27
67
6
8
42
31
-7
-5
30
11
-39
4
56
-5
-25
67
27
43
26
40
-3
15
21
38
-6
96
39
-8
1
41
-6
42
7
-21
24
-14
84
-24
-21
33
33
47
27
2
1
14
15
0
30
41
80
-9
-1
-6
0
33
-5
5
21
-3
13
16
7
-26
33
34
21
-14
26
8
-30
81
119
8
-1
-2
12
8
8
-38
-41
50
68
-5
-22
-36
-67
-18
-13
30
-23
0
-5
-41
-54
19
5
5
-2
22
-15
13
38
0
5
-11
5
-2
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-24
10
1
-14
0
8
-27
57
0
0
-6
2
-6
-8
10
0
-5
12
0
1
0
-4
0
0
0
10
-33
0
0
-32
0
0
8
-1
-2
-6
120
1
0
1
0
0
0
0
0
0
0
0
25
27
5
-49
-24
-8
0
-33
0
7
-3
-51
-12
0
-5
14
3
5
79
14
0
-19
26
0
1
-18
0
0
-5
37
0
7
46
69
0
0
-43
0
0
0
7
-13
0
11
-34
8
0
8
0
0
27
-2
1
1
0
0
48
25
0
6
124
-2
0
24
49
0
3
-24
1
0
-45
0
1
3
-38
-1
0
10
-21
-1
0
-48
-1
6
2
-44
0
1
7
0
8
0
15
0
0
-9
0
6
0
64
0
0
8
30
12
0
-8
-4
-3
0
0
0
0
1
10
2
0
0
0
-5
-1
0
-44
-4
0
0
5
15
-2
0
-14
40
5
25
0
0
3
19
2
0
-7
15
0
-15
15
-1
0
0
-30
0
-21
2
3
0
-2
10
0
0
-2
0
8
0
-3
0
70
0
0
-1
0
46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
1
0
0
-3
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
0
0
0
-35
3
0
0
0
0
0
0
0
0
0
0
0
0
45
0
51
-7
0
0
-74
8
0
0
24
0
0
4
38
0
0
23
0
0
0
-31
0
0
0
0
0
1
-13
0
-28
0
0
0
0
26
0
0
0
0
0
0
-15
-6
2
0
0
0
0
67
0
0
0
0
0
0
-16
0
-3
42
-3
0
4
-25
0
-1
3
0
0
-12
10
0
0
-1
0
0
0
20
0
0
-4
0
0
0
12
0
0
1
-8
0
6
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
28
0
0
0
0
0
0
26
0
0
7
0
0
0
-85
0
-6
0
0
0
0
26
0
0
3
0
0
0
-28
0
0
0
0
0
8
29
0
1
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-5
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
1
0
0
0
0
0
53
3
-1
0
0
0
0
0
0
0
0
0
0
7
6
2
-3
5
9
0
-24
21
0
-13
1
0
0
9
32
0
0
1
0
0
0
15
0
0
2
0
0
0
21
0
32
0
0
0
0
87
0
0
0
0
0
0
11
-2
-5
0
0
0
0
-12
25
0
3
0
0
0
80
0
0
26
2
0
-2
-85
0
8
39
0
0
0
34
0
0
-5
0
0
7
4
0
0
2
3
0
1
26
0
0
4
0
0
0
54
0
0
0
0
5
0
52
0
0
0
0
0
0
42
0
0
0
0
0
0
-39
-6
0
0
0
0
0
-27
0
0
2
0
0
0
20
0
0
1
0
0
0
-3
0
1
0
0
0
1
31
0
0
0
0
0
2
-1
0
0
-1
0
0
0
8
0
1
1
0
0
0
-19
0
14
0
0
0
0
-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
0
0
0
-64
90
1
0
19
6
9
-61
23
0
-1
-15
-17
-39
33
-11
0
0
-20
0
-2
0
22
0
0
1
77
0
0
0
-11
0
0
1
2
1
13
24
16
20
-3
0
0
0
0
0
0
0
0
33
50
-1
-48
18
-13
-3
-5
-44
21
-34
3
-9
-3
-17
21
9
-8
19
5
-2
14
-25
16
-1
-13
-5
52
-15
20
-9
33
36
-9
-8
-2
34
3
0
4
0
16
1
-8
31
-19
0
-25
1
17
18
65
0
2
0
0
-13
1
41
-77
87
-6
-10
-3
-18
2
17
-15
-2
2
12
24
18
-22
-29
54
41
-21
7
8
-19
-36
-7
10
-35
12
0
-24
8
1
26
56
7
0
14
31
-8
-35
0
17
1
15
31
46
-5
0
-8
-9
8
-3
0
-10
0
-53
-11
-3
7
-1
0
-36
-20
-14
18
21
4
9
7
16
6
-19
55
3
0
-11
-2
-1
28
24
5
7
35
34
-8
-5
64
-6
-19
-58
1
1
33
57
-4
4
62
21
1
38
6
54
-13
0
-9
-2
-65
34
3
-13
0
25
12
-21
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
0
0
-24
0
32
-19
-13
0
0
13
0
56
-4
23
1
0
3
1
11
-17
31
1
0
6
0
7
0
0
75
0
0
0
4
5
13
6
-33
10
0
0
0
0
0
0
0
0
0
-71
-23
-1
-28
-11
0
-2
-19
-11
0
0
-26
0
-1
-28
-67
0
0
2
0
2
35
3
0
3
25
0
64
19
-14
0
5
1
0
15
0
26
0
-1
-7
0
28
0
-37
-15
-4
-2
0
16
0
2
18
1
5
0
0
2
2
0
-7
27
0
14
31
26
0
6
-26
-3
0
25
-30
-7
29
38
-3
-2
17
-18
-4
0
27
1
43
25
-17
-2
25
33
14
-5
5
-27
0
2
95
0
20
0
36
0
13
-13
0
9
0
-6
-18
-1
-4
0
-8
0
5
-13
0
3
0
0
-2
22
18
21
95
-8
-1
-3
24
0
-4
44
0
4
-17
-7
0
52
-9
7
0
-30
-30
0
-13
61
3
33
5
28
0
27
-30
0
0
-6
-16
0
4
-21
0
-5
0
-34
0
67
3
0
0
0
0
43
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
4
-5
0
0
-6
27
0
0
-5
18
0
5
-1
0
0
0
0
0
0
23
0
0
6
23
0
0
0
-5
0
0
0
0
0
-27
22
4
1
4
0
0
0
0
0
0
0
0
33
13
0
35
5
62
0
-54
-15
-4
-2
34
0
0
64
60
0
0
15
127
0
6
26
0
0
-3
0
0
-3
-14
2
-18
65
46
0
0
-7
0
0
0
0
0
0
79
54
5
0
-2
0
0
19
8
0
-1
0
0
35
10
-1
42
-3
-2
0
-42
18
0
0
10
0
0
-19
-16
0
-4
-4
-18
0
38
20
0
2
51
3
0
-5
23
0
-4
12
23
0
-2
3
0
0
44
0
0
0
-41
3
0
1
-14
0
0
58
-3
5
0
-2
0
0
23
29
0
5
9
0
5
4
0
-7
41
0
0
47
28
5
-5
-36
16
0
42
-10
0
-2
9
0
0
5
20
0
-17
54
1
0
0
37
0
-23
31
-2
0
-3
69
0
0
6
9
0
-10
-3
0
5
0
0
0
0
40
0
-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
0
0
0
0
0
0
0
0
-23
-20
40
63
18
13
32
9
9
2
-1
-20
6
44
-2
-59
0
0
1
-9
11
0
9
-47
0
0
-19
29
6
-2
-69
-25
-4
-46
0
0
0
0
0
0
0
0
-32
0
45
-25
-43
-17
0
-70
-2
-16
-15
-4
-5
-2
19
25
-3
-30
23
22
30
-48
1
-5
33
18
-18
12
8
8
2
28
43
30
40
-12
-27
3
-1
34
-1
1
0
6
-56
56
1
-16
5
8
9
55
3
-14
0
0
-34
6
-13
42
-12
82
-8
8
4
-30
20
31
-1
18
41
12
27
-15
-15
7
-36
43
16
-4
5
13
7
34
-24
13
-19
91
38
-18
77
16
-9
-21
43
39
-5
-18
0
3
-6
-24
-4
-23
-7
-2
-10
-28
-1
1
2
73
-8
8
55
-3
17
-2
-1
61
-20
33
-42
36
-21
3
-2
-25
65
10
-54
-40
-20
-6
1
-36
16
-32
-23
5
6
-2
7
-58
32
-13
22
-22
-15
5
-14
25
-1
48
-3
36
5
75
-11
-32
26
1
10
0
89
-9
1
48
0
-13
67
0
0
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
6
-32
60
107
0
0
0
4
38
-3
-3
0
0
1
3
-13
0
0
-21
0
0
0
-9
0
-32
6
24
-4
0
0
0
0
0
0
0
0
0
67
61
0
63
5
15
0
-41
31
1
34
62
1
0
19
0
3
-4
-50
15
1
36
-44
0
0
-3
0
-3
1
-13
0
-26
33
6
0
0
21
0
0
3
0
1
0
18
6
-11
0
-16
-1
17
-30
-25
-2
0
0
0
35
-27
4
50
46
7
3
19
1
5
-13
3
-5
-3
-13
56
0
16
39
9
0
-28
0
0
-1
-99
-5
0
18
-31
0
1
7
-17
-7
-7
-7
0
0
32
0
-3
0
23
0
2
-14
1
-16
0
-40
8
0
0
0
0
0
47
-47
0
14
2
2
34
13
-1
-44
-9
2
0
-15
-20
0
-13
78
-4
-1
-15
54
0
11
19
0
8
8
0
0
-8
18
29
4
0
-35
0
-25
-21
-4
-6
0
36
-3
1
18
-12
2
0
-20
0
30
0
2
2
0
-59
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
41
3
-5
0
0
0
0
0
0
0
0
0
0
4
-41
0
0
-11
0
0
5
-59
0
0
25
0
0
6
-16
0
0
0
0
0
-12
11
0
0
7
0
0
0
0
0
-3
0
0
0
0
16
0
0
0
0
0
0
-29
0
0
0
0
0
0
-45
0
0
0
0
0
0
51
0
0
-9
0
0
-12
23
0
0
0
0
0
0
-6
0
0
3
0
0
0
47
0
0
-7
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
-42
0
0
0
0
0
0
41
-8
0
0
0
0
0
8
0
1
0
0
0
1
-12
0
0
0
0
0
0
-13
0
-2
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
22
0
-1
3
0
0
0
0
0
0
0
0
0
-2
-7
0
21
10
-2
0
-12
23
0
0
18
0
-2
0
-13
0
0
-1
0
0
2
-24
0
0
6
0
0
0
0
0
23
0
0
0
0
-34
0
0
0
0
-5
0
24
14
0
0
0
0
0
-25
-5
0
0
0
0
0
21
0
0
0
0
0
0
19
-1
0
0
0
0
-5
4
0
-8
-3
0
0
-3
13
0
0
17
0
0
0
29
-1
0
3
5
0
0
-17
0
0
0
0
0
0
13
6
0
0
0
0
0
113
0
0
0
0
0
0
11
-4
0
0
0
0
0
-5
-7
-10
-2
0
0
0
25
0
0
1
0
0
0
-28
0
0
-8
0
0
0
0
0
-8
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
0
0
6
-5
-43
70
28
0
0
6
0
19
2
-13
0
0
0
47
5
0
0
-22
0
0
0
68
0
35
-8
-38
0
9
0
0
0
0
0
0
0
0
36
-25
16
42
22
50
0
35
11
0
1
0
-3
0
-51
49
2
-1
33
-53
1
8
-16
-2
0
65
-1
6
26
29
0
34
0
-48
0
8
1
0
0
0
0
8
0
3
54
35
0
-23
0
2
-7
24
0
0
0
0
-12
27
-19
-5
-74
-29
6
20
36
-3
1
23
0
4
-9
30
-3
8
2
8
6
-2
30
0
-3
26
5
0
-6
-21
-8
-1
53
-20
19
0
-44
0
1
3
12
-18
0
21
0
1
-5
34
6
0
-1
9
0
-10
0
0
0
-17
66
0
-1
1
0
-4
-48
1
-23
13
0
0
3
-6
13
2
8
-10
0
-2
17
0
52
25
0
3
-24
13
-20
-2
-1
8
0
5
-35
0
-38
-8
-8
0
0
5
0
1
0
-74
0
0
32
0
25
8
0
-6
0
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-2
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
22
0
0
4
27
0
0
-3
0
0
0
1
0
0
4
0
0
0
-13
0
0
0
0
0
0
-20
0
34
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
0
4
-3
0
0
-5
-5
0
0
-8
0
0
-1
-22
0
0
-5
0
0
-3
-24
0
0
-6
0
0
-5
19
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
-1
0
-7
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
-63
0
0
0
0
0
0
7
0
0
0
0
0
1
4
0
0
0
0
0
0
-19
0
0
0
0
0
-8
-4
0
-5
0
0
0
0
-6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
-12
-16
0
38
5
0
0
0
0
0
0
13
0
0
0
26
0
0
0
73
0
0
0
0
0
-37
-15
5
0
5
0
0
0
0
0
0
0
0
1
-39
0
-14
42
37
0
-39
-16
0
0
-64
0
0
67
-49
0
0
22
-5
0
-2
23
0
0
-18
-3
0
3
-72
0
8
15
7
0
0
31
0
0
0
0
0
0
1
49
12
0
0
0
0
6
6
0
0
0
0
-40
23
0
6
13
18
0
47
16
0
3
50
0
0
5
-46
0
-3
-2
-23
0
46
-54
0
0
43
0
0
27
-9
0
2
-26
23
0
0
-6
0
0
38
0
0
-3
51
0
0
0
20
0
0
-3
0
1
0
0
0
0
-43
-13
0
5
0
0
5
16
0
12
8
0
0
5
18
0
-16
-18
6
0
25
-12
0
79
25
0
0
-84
10
0
-2
5
69
0
-6
-8
0
-65
29
0
0
0
2
0
0
-3
1
0
0
18
0
4
4
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
0
0
9
0
25
1
7
0
0
4
-10
-5
0
0
2
0
0
-1
23
0
-12
-16
8
-5
-2
0
0
0
0
0
0
0
0
41
5
0
25
-2
0
0
-25
23
0
13
23
0
0
0
-19
0
2
1
-29
0
6
-67
0
0
-33
1
-5
0
-4
0
42
94
-3
6
0
13
0
0
0
0
0
0
25
0
-4
1
3
-3
0
9
13
0
-1
-1
0
1
-4
-8
-6
1
5
-3
5
-60
0
-30
-15
-3
0
-11
9
3
14
19
10
0
5
-29
9
0
23
0
2
0
0
0
-5
81
101
0
0
2
0
0
-2
0
-6
0
19
-3
0
-16
19
5
0
-60
0
0
0
0
0
0
33
-4
0
0
0
0
9
-57
0
28
-1
0
-2
0
7
0
-1
-19
-5
0
0
17
0
23
14
4
6
0
5
3
-2
-60
-3
1
0
20
-5
57
9
0
0
0
-18
0
4
-1
13
4
0
-11
0
66
-4
0
2
0
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-5
2
0
1
0
-9
0
0
-1
0
-14
0
0
-21
0
0
0
-5
-2
17
-9
43
-2
-1
0
0
0
0
0
0
0
0
56
-5
6
-37
-23
32
0
-52
9
0
8
20
0
0
56
72
0
-14
59
12
3
80
0
3
3
-17
8
-3
6
-15
0
-38
-16
-5
-4
2
-22
0
0
0
0
-7
0
10
82
4
0
0
0
6
-67
9
0
-1
0
0
-4
57
6
-7
36
4
0
25
-6
0
2
12
0
1
64
-22
0
-24
45
15
6
-12
-30
0
-5
-11
-7
4
8
0
0
-3
-6
23
1
5
-53
0
0
2
0
3
-2
68
0
0
0
40
-13
0
-21
3
0
0
0
0
0
95
4
4
3
0
0
4
-15
-4
-4
-25
0
0
-8
-9
0
-24
-2
-17
2
2
-69
0
50
-12
1
0
-4
5
-3
0
-12
8
-3
-13
0
1
12
0
4
0
0
2
0
-6
0
5
0
0
-36
0
76
3
0
-4
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
20
0
0
-4
-30
0
0
0
0
0
0
5
0
0
-7
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
13
0
0
0
0
0
0
56
0
0
0
0
0
0
2
0
0
0
0
0
0
-94
0
0
0
0
0
-1
-13
0
0
7
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-7
0
0
0
0
-1
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
30
0
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
-1
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
45
-13
0
0
-24
25
0
0
-3
0
0
3
-4
0
0
7
1
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
44
0
0
0
0
0
0
-40
0
0
7
0
0
1
30
0
0
0
0
0
0
-17
0
0
1
2
0
0
-16
0
0
0
0
0
0
25
0
0
7
0
0
0
-24
0
0
1
0
0
0
0
0
0
0
1
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
20
0
0
0
-14
0
0
8
0
-8
0
0
0
0
33
0
0
0
0
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
0
0
0
-9
6
-9
0
0
0
2
7
0
0
-30
0
0
0
-10
0
-41
39
0
20
-7
0
0
0
0
0
0
0
0
-97
44
1
-6
-51
11
0
23
-29
0
-4
9
0
0
-12
8
-3
0
38
-8
0
-29
-37
0
0
-5
41
1
-4
13
0
13
-1
-5
0
4
-46
0
0
0
0
-33
0
-9
33
27
0
-6
0
0
9
-44
0
5
0
1
3
-38
0
19
-11
-29
-8
-23
-6
0
0
35
0
-12
32
-23
8
0
25
-45
-2
32
29
0
-1
-1
0
27
-13
15
-3
-5
0
-34
-13
24
-17
0
0
0
-3
6
22
6
0
0
0
-13
7
0
11
-3
0
0
0
-2
0
-25
-5
0
0
-3
0
8
-49
-7
-1
-16
1
0
22
5
0
-1
-14
3
10
6
1
0
-9
-21
2
0
-10
25
0
6
-9
-31
3
-2
12
0
43
6
0
0
0
36
0
-2
0
-5
-5
0
0
-1
52
-1
3
4
0
41
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-2
-2
-5
0
0
0
0
-10
0
0
-13
0
0
0
5
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-1
-6
-16
0
0
22
-7
0
0
-31
0
-5
-11
4
0
2
-15
0
0
1
-30
0
0
-10
0
0
-6
-21
0
-11
2
0
0
0
23
0
0
0
0
10
0
48
9
0
0
0
0
0
-37
0
0
0
0
0
0
-8
1
-7
22
0
0
-7
-45
0
0
28
0
0
11
-32
0
0
25
0
0
35
21
0
0
-24
0
0
21
2
0
0
50
0
0
0
-3
0
0
0
0
6
0
81
0
0
1
0
3
0
32
-5
0
0
0
0
0
-78
10
0
0
0
0
0
84
0
6
-6
0
0
-1
-30
0
0
-2
0
0
-10
4
0
30
7
0
0
0
33
0
7
0
0
0
0
-29
0
50
0
0
0
0
-21
0
-3
3
0
0
0
11
0
8
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
38
0
0
-4
-2
0
0
47
0
0
7
17
0
0
0
-13
0
0
0
0
0
-13
10
8
33
2
0
0
0
0
0
0
0
0
46
-52
2
-7
5
-39
0
32
12
0
0
-62
0
0
-57
43
0
10
14
-5
0
-9
-56
-3
0
-87
0
0
33
-23
0
-9
-48
18
0
16
43
0
0
0
0
0
0
-20
104
-17
0
-1
0
0
18
21
0
-4
0
0
2
11
0
-2
-16
68
0
-13
12
0
0
63
0
0
10
29
0
-1
-27
-27
0
16
-13
0
-2
-22
0
0
-5
3
0
0
56
1
0
-4
-18
0
0
58
0
0
0
13
0
0
-5
42
0
0
3
1
0
0
0
0
2
-34
-1
-1
0
0
0
0
32
0
90
15
0
0
-13
3
0
0
65
0
0
-26
38
0
-54
104
2
0
3
9
0
-1
-8
8
0
-14
-4
0
33
-17
0
0
0
-2
0
3
5
-5
0
-1
32
0
-8
1
0
0
0
11
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
0
17
48
-17
0
4
28
0
1
0
0
0
12
23
0
1
1
0
0
0
0
0
0
0
0
45
-11
-4
-4
-56
-44
0
68
-35
0
0
42
1
0
-5
-35
0
-3
-30
-12
0
-2
-36
0
1
-16
23
-3
0
-22
0
38
60
-51
0
0
-62
0
0
-5
1
8
0
-11
1
-8
0
0
0
0
5
-38
0
0
0
0
-4
-27
-1
8
-6
-16
-3
-43
8
1
-1
50
0
-2
17
-39
0
13
10
47
-1
27
-11
0
0
-25
6
-24
8
43
0
13
42
23
-54
0
6
0
9
10
0
14
0
4
0
0
11
14
37
0
31
-1
0
0
0
-2
0
7
-9
0
2
0
-1
2
-2
7
-42
42
0
0
-4
-35
0
3
-13
0
1
-2
-1
-1
9
-40
1
0
0
7
0
2
13
5
-13
0
14
0
-20
-14
8
6
0
-39
-2
0
4
-10
0
0
-16
0
57
4
0
-3
0
-62
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
2
3
0
26
0
0
8
0
0
0
0
0
-9
15
-1
4
0
0
0
0
0
0
0
0
0
2
-56
2
-73
-45
60
1
-13
-14
0
0
-49
3
2
82
-16
0
0
23
-32
-1
-4
-23
0
-13
29
-2
-1
22
0
0
-18
30
-9
2
0
15
0
0
13
0
-6
0
-28
-1
26
0
-5
0
0
59
-45
0
0
0
0
2
-5
7
3
1
0
0
-24
-16
0
2
-21
0
1
5
10
0
16
-32
-2
-2
-6
6
0
0
59
1
-1
-8
38
0
0
34
-7
14
0
0
0
-3
5
3
0
0
64
0
1
-4
-4
-9
0
20
0
0
0
0
0
0
13
-9
0
-1
0
0
1
25
-6
106
5
0
0
33
-20
-5
-4
48
-4
0
2
0
0
5
-4
5
0
-5
-8
0
33
-1
3
0
0
48
0
42
4
0
5
1
0
0
0
0
-5
0
0
-29
0
4
-1
0
0
0
-40
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
3
-5
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
-2
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
20
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
1
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
24
0
0
0
0
0
-3
0
0
0
6
0
0
0
-21
0
0
0
0
0
-2
-24
0
0
-4
0
0
0
18
0
0
3
0
0
0
0
0
0
0
0
-3
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
52
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
-1
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
0
-12
0
0
0
7
0
-34
0
4
0
0
0
0
0
0
0
0
0
0
25
-3
0
-33
3
-2
0
-22
-14
0
0
13
0
0
0
10
0
0
-1
-7
0
0
-13
0
0
7
0
0
0
34
0
1
0
0
0
0
45
0
0
0
0
0
0
-20
1
0
0
-6
0
0
-59
0
0
0
0
0
0
-72
0
0
62
0
0
28
-51
0
0
-8
0
-2
-7
-1
0
5
7
0
1
-8
-14
0
0
-5
5
0
0
99
0
0
-12
-2
6
0
-24
0
3
0
0
0
0
-1
0
0
0
5
1
0
-13
0
0
0
0
0
0
28
5
0
0
0
0
0
14
0
-25
18
0
0
0
20
0
-3
4
0
0
0
-16
0
-9
0
0
0
0
-18
0
0
0
-4
0
0
55
0
3
0
2
0
0
95
0
0
0
0
0
0
26
0
-2
0
0
2
0
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
65
5
0
0
-6
2
0
0
-3
0
0
0
13
0
0
0
0
0
-2
9
0
0
0
0
0
0
-4
0
4
0
0
0
0
3
0
0
0
0
0
0
44
0
0
0
0
0
0
31
0
0
0
0
0
0
-35
0
0
-3
0
0
0
-13
0
0
-2
0
0
0
-48
0
0
6
0
0
0
15
0
0
0
0
0
0
2
0
0
-2
0
0
0
-12
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
51
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-47
0
0
1
9
0
0
0
-25
0
0
5
0
0
-40
-111
-31
-1
0
0
0
0
0
0
0
0
0
7
-14
0
38
35
-9
0
25
-2
0
5
-6
0
0
29
-15
0
0
12
56
0
-2
1
0
0
41
0
0
4
-22
-2
20
26
11
0
0
58
0
-1
-4
0
0
0
10
8
5
0
2
0
-4
16
-7
0
-3
0
0
-40
13
1
0
12
31
0
82
8
1
-8
68
0
0
12
22
0
29
-14
35
0
-12
27
0
2
-14
-4
0
8
30
0
-31
42
-30
0
1
25
0
-4
-31
6
0
-6
-1
0
7
18
-20
0
0
20
4
0
0
0
0
-4
8
12
0
0
0
0
-5
-6
0
-80
-14
0
0
-37
-30
0
-4
71
-24
0
-2
-12
-1
-10
33
0
0
-3
20
0
-5
42
63
0
3
30
0
25
-21
0
0
0
-21
13
-2
-21
72
0
0
31
0
24
-4
0
0
0
8
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
45
-13
0
0
-2
52
0
0
-5
0
0
-2
-21
0
0
1
0
0
0
-49
0
0
-6
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
90
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
-13
0
0
-5
42
0
0
0
0
0
0
-30
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-83
0
0
0
0
0
0
6
0
0
0
0
-3
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
2
0
0
0
0
1
0
0
2
-1
0
0
5
0
-4
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
-5
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-1
0
8
-4
8
0
0
0
0
0
0
0
0
0
0
45
-26
1
56
69
-14
0
-38
23
0
2
-43
0
0
19
51
0
0
36
-8
0
-8
50
0
0
-10
0
2
-3
38
0
-9
4
3
0
0
0
0
0
0
0
23
0
-43
5
-14
0
0
0
0
-5
-30
0
0
0
0
5
-10
0
0
9
0
0
-6
-12
0
0
-55
0
0
11
12
-2
2
-52
5
0
16
-20
0
0
60
0
0
-10
-53
0
-5
22
-7
1
0
37
0
0
10
0
0
0
0
1
0
5
0
-2
0
-55
-9
0
0
0
0
0
-21
0
0
0
-1
0
0
-20
3
7
29
0
0
-1
20
0
0
28
0
-1
4
0
0
11
23
0
1
-7
28
0
-7
1
6
0
0
-17
0
13
6
0
-1
0
-38
0
0
0
0
0
0
0
0
5
0
0
5
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
0
0
0
-7
14
0
0
-5
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-15
0
0
0
0
0
0
24
0
0
3
0
0
0
-33
0
0
0
0
0
0
-5
0
0
32
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
1
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
-43
0
0
0
0
0
0
-15
0
0
0
0
0
-3
-9
0
0
1
0
0
-4
10
0
0
3
0
0
0
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-33
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-21
-8
2
3
-3
0
0
0
0
0
0
0
0
-10
-3
0
61
1
0
0
21
2
0
0
-13
0
0
-7
-13
0
4
0
7
0
1
-84
0
0
0
0
0
0
-3
0
8
0
-2
0
-5
60
0
0
0
0
1
0
79
-5
0
0
0
0
0
5
0
0
0
0
0
0
-39
0
0
0
0
0
-5
28
0
0
10
0
0
2
-100
0
0
4
2
3
6
-33
0
0
-1
0
0
-1
48
0
-2
0
2
-5
2
-17
0
0
0
0
-2
0
23
0
0
0
14
0
0
23
0
0
0
0
0
0
7
-3
0
0
0
0
0
29
0
0
0
0
0
0
60
0
0
0
3
0
4
39
0
0
0
0
0
0
40
0
0
-2
0
0
0
71
0
3
0
4
0
0
6
0
0
0
0
0
0
-39
0
-3
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
4
11
0
-1
0
0
0
0
0
0
0
0
0
24
-9
0
33
-48
0
0
-18
-32
0
0
-14
0
1
8
27
0
0
13
0
0
2
46
0
0
12
0
-2
5
-3
0
-43
16
-10
0
4
40
0
0
-1
0
13
0
4
29
-6
0
0
0
0
-8
0
0
0
0
0
2
-45
0
0
47
0
-2
24
13
0
0
21
0
7
14
1
0
0
-47
0
-1
25
13
0
0
50
0
-1
0
-31
0
0
-21
-2
5
-1
35
0
0
-5
0
-39
0
51
0
0
14
0
-4
0
0
0
0
0
0
0
0
-31
-5
0
3
0
0
1
22
0
-16
-1
0
0
-1
-40
6
0
30
0
0
-7
6
0
16
-5
0
3
0
-44
0
-1
3
-2
0
0
-35
0
-27
1
0
3
0
26
0
0
-3
4
-3
0
-14
0
40
0
0
0
0
67
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
0
0
17
0
2
1
-25
26
45
45
0
0
0
0
0
0
0
0
21
-44
0
26
16
4
0
13
-5
0
-11
-9
1
0
68
5
2
3
3
-11
0
123
-4
1
10
8
-12
0
-13
-11
-14
2
-18
0
0
54
22
-5
0
6
-2
0
1
10
-77
-40
0
1
0
1
7
51
0
18
1
0
52
3
18
-49
-10
-62
0
37
13
-8
-25
37
-5
-3
1
24
8
-34
-6
2
0
69
16
9
33
35
3
0
-32
-10
19
-71
21
59
0
24
24
0
-48
1
-7
0
52
15
-8
78
18
-6
0
0
-5
48
0
0
-1
0
0
17
-86
74
-20
-10
0
2
10
1
-35
-22
0
0
-58
-1
-7
-79
-7
14
0
65
2
7
-25
15
4
0
39
15
-7
-31
-11
-49
-1
33
11
-6
-35
21
-4
0
6
30
0
12
31
43
0
3
-1
-1
4
-56
1
0
4
42
-41
4
19
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
6
7
0
0
-49
-18
0
0
-5
0
0
0
-23
0
0
0
0
0
0
4
0
0
6
0
0
0
-1
0
-16
-5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
1
43
0
0
4
0
0
1
19
0
0
1
0
0
7
-84
0
0
0
0
0
0
-57
0
0
-5
0
0
0
28
0
0
18
-3
0
0
6
0
0
0
0
0
0
18
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
30
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
0
0
0
0
0
25
0
0
-1
0
0
0
-19
0
0
0
0
0
0
31
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-57
20
15
-2
0
0
0
0
0
0
0
0
-35
-16
0
-22
12
-112
-8
6
41
0
7
-11
0
22
-51
9
5
-3
18
8
-2
-16
-10
0
9
-52
4
36
14
-55
0
-14
15
-20
2
0
32
-5
0
6
0
-6
0
-41
0
3
-1
9
0
0
-39
-32
0
-5
-1
0
7
-41
-1
-13
-10
-12
24
-32
-16
-5
-13
67
-1
12
-16
-51
-5
-16
-43
-2
27
69
31
0
-1
38
-2
-17
2
-40
0
9
-14
35
-30
-2
31
0
8
-26
1
-5
0
-23
6
-15
24
20
19
0
6
0
-3
-4
0
0
7
-62
-15
0
49
2
2
-32
-12
0
0
27
2
2
-44
-80
1
28
-76
-6
2
-2
-11
0
-31
65
-3
-2
-8
-33
0
-30
37
-17
9
-1
49
0
7
-68
0
8
0
-4
0
0
-20
12
-3
0
8
-1
-87
-9
1
-23
0
7
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
3
-25
0
0
-4
7
0
1
5
0
0
0
-13
0
0
0
0
0
0
-32
0
0
-4
0
0
0
34
0
-4
0
-2
0
0
2
0
0
0
0
7
0
1
0
0
0
0
0
0
-18
-1
0
0
0
0
0
23
0
0
-48
0
0
1
-2
0
0
22
0
0
0
-6
0
0
27
0
0
0
3
0
0
0
0
0
0
31
0
0
-1
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-32
0
0
0
0
0
0
-5
4
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
48
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
25
1
0
0
0
0
0
0
0
0
0
0
34
-68
0
59
22
-11
0
-14
-59
-2
0
21
0
0
52
-21
-2
-4
5
-5
0
-2
18
0
0
1
0
0
-3
-17
0
-34
5
39
0
0
-7
0
0
0
0
0
0
0
-60
-16
0
4
0
0
14
-45
0
0
0
0
36
36
0
0
14
-17
0
18
40
0
5
63
-5
0
93
3
0
0
41
60
0
53
-54
1
2
-38
0
0
9
-18
-2
-21
52
-33
0
-1
13
0
0
10
-2
0
0
-2
0
-6
-1
60
0
0
-20
-7
0
0
0
0
-9
72
3
0
-21
1
0
57
49
-6
3
-25
0
0
28
62
-4
6
44
1
0
159
-42
4
-6
22
0
0
17
-42
0
3
28
-5
0
-7
25
0
13
13
0
0
0
16
0
7
5
34
0
0
47
0
82
4
0
0
0
34
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-1
-4
5
-2
0
4
19
0
0
8
0
0
0
-5
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
-8
3
0
0
0
0
0
52
0
0
-7
0
0
0
53
0
0
-3
0
0
-7
40
0
0
0
-1
0
-2
18
0
0
-1
0
0
0
-10
0
0
0
12
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
36
0
-1
0
0
0
0
-7
0
0
2
0
0
0
-5
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-12
20
-11
-31
2
-7
3
-43
-47
-6
56
18
-7
-8
87
34
15
15
49
5
-20
20
-26
10
-25
-5
98
-29
64
20
-27
11
17
0
-16
-17
-7
61
-5
-4
0
3
-14
8
-24
11
-35
42
0
-31
-17
0
7
2
-16
9
-29
38
9
-32
-16
0
-16
29
59
4
23
-1
14
-7
12
27
-3
3
52
36
2
27
105
20
15
-8
28
-19
-63
38
-34
21
18
96
0
7
-20
12
-3
-47
10
-9
58
-52
18
11
55
39
-12
-41
40
-8
63
-2
41
0
1
10
-7
42
-1
-26
-27
9
16
83
-21
99
31
3
9
-13
-32
-35
41
-53
1
-75
-47
10
29
56
80
-37
2
37
10
-26
0
-50
-43
24
-1
56
98
94
-2
-2
41
6
11
-9
40
33
2
16
-24
62
12
5
25
5
27
-13
-22
-79
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-39
0
-5
-29
4
-1
14
3
0
10
10
3
0
-68
-2
1
-3
54
42
2
41
13
0
6
-65
0
5
2
9
0
-65
-34
30
0
-5
-38
0
0
-5
0
13
0
-16
-34
-4
3
3
0
0
-37
0
0
0
0
0
24
-33
-1
1
98
-8
0
77
24
0
-3
9
0
0
-39
-21
-4
-19
0
30
1
9
-37
0
0
-6
-10
-7
-1
31
-2
8
45
-47
-23
-2
12
0
0
2
0
-17
0
69
0
-2
-13
-8
-39
0
25
3
0
0
0
0
0
55
2
-2
8
0
0
16
65
0
-21
21
0
0
15
-36
0
34
33
39
0
-24
-20
0
41
38
5
-8
-2
-28
6
-19
-4
-6
0
4
-21
0
17
0
5
0
-2
-8
0
2
-1
3
3
3
33
0
-4
4
9
0
0
57
7
0
6
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-13
9
-20
61
62
-1
-36
-85
3
0
80
0
0
-73
29
6
0
-91
5
-3
-2
-31
0
0
40
0
0
-8
-69
0
-57
1
8
0
3
42
0
0
0
0
3
0
1
-14
2
13
-1
0
0
-103
-7
-13
0
0
0
-53
-67
2
3
52
43
0
54
71
-9
-3
-43
-7
6
60
15
-3
3
-11
16
0
-39
5
0
0
16
0
-4
-2
-59
0
0
81
6
-5
2
55
0
-1
5
0
2
0
-22
0
-2
32
2
19
0
67
2
0
0
0
0
0
34
75
2
5
0
0
-4
20
0
-4
13
0
0
8
-7
0
0
-14
-2
4
2
-7
0
-5
20
-3
3
0
60
0
-3
33
-4
-4
1
-59
0
-2
2
0
0
0
7
0
0
-1
1
7
0
-57
0
-27
0
0
-4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
14
2
-20
-8
6
-2
-41
-38
0
0
-52
0
0
24
73
0
0
-35
-5
0
13
34
0
0
3
0
-1
0
69
0
-32
0
8
-2
0
46
0
0
0
0
15
0
36
-38
0
0
6
0
0
-5
-4
-4
-1
0
0
0
-13
1
-3
-1
2
-3
-3
56
-1
-9
1
0
-8
4
19
0
-8
29
0
2
7
-46
0
0
31
0
0
0
2
0
0
33
2
6
0
48
0
0
-13
0
6
0
17
1
0
0
0
1
0
-9
0
0
0
0
0
0
60
-1
0
0
0
0
0
-63
0
23
0
0
0
0
37
0
0
1
0
0
0
26
0
-8
-6
0
0
0
49
0
0
-2
0
0
0
68
0
-1
0
0
0
-3
-42
0
0
-5
-8
0
0
-32
0
9
0
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
0
-13
-36
0
0
3
38
0
7
-43
0
0
13
85
0
0
31
0
0
-1
-74
0
0
-4
0
0
0
78
0
4
1
0
0
0
5
0
0
-1
0
-7
0
-12
1
-3
0
0
0
0
-55
0
0
0
0
0
0
-58
0
-4
8
0
0
-22
-21
0
-2
40
0
0
12
4
0
0
-56
0
0
9
-66
0
-3
6
0
-3
12
-12
0
0
-1
0
-8
0
-65
0
0
0
0
20
0
-12
0
0
0
0
66
0
-6
0
0
0
0
0
0
29
16
0
0
0
0
0
66
0
-1
0
0
0
5
-59
0
0
-16
0
0
17
-89
0
-8
0
0
0
0
-50
0
0
4
-3
0
0
13
0
-4
0
0
0
0
-17
0
0
0
0
0
0
39
0
0
0
0
-2
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-88
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-20
-9
-40
62
-6
14
-34
39
0
23
-50
-13
23
84
1
0
-3
-14
1
-23
26
-34
0
50
70
32
12
5
23
6
1
3
0
10
0
7
-21
-72
-5
53
24
-1
9
-20
5
-10
1
0
62
-7
-5
96
-64
-12
18
-4
-23
-4
55
-27
1
4
41
0
-14
23
-3
18
-14
-5
-36
8
-3
-20
51
-8
5
54
-1
96
24
-27
18
26
-8
0
-5
11
-4
-13
-2
43
-8
65
32
7
64
1
-40
76
-3
0
8
-8
-8
4
26
6
65
0
-5
-1
-2
-7
-32
23
8
1
77
-4
7
22
45
55
0
14
-4
32
-31
25
-11
32
3
34
24
-9
-4
84
-23
20
12
-1
-50
61
-8
13
31
82
7
-8
-7
-4
25
7
14
4
25
9
-13
28
3
62
-2
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-46
14
27
52
-8
-9
16
-12
4
-30
31
-12
-15
33
35
3
-8
34
2
55
109
-13
13
-3
23
93
39
2
18
-7
-1
-5
-6
-3
0
-25
1
-42
-2
-38
2
30
23
54
1
4
0
0
24
32
13
-18
13
30
-1
-11
0
-44
41
-14
-33
-1
-4
-17
59
-17
23
25
43
47
19
-11
49
33
-7
-11
67
-49
-27
84
30
-16
-23
-46
19
1
-13
-22
8
3
13
39
-1
8
11
11
8
-1
-3
0
-1
0
-25
5
-12
-8
-12
-33
54
-13
-2
15
4
20
43
43
-25
8
-51
0
1
76
-34
-7
-1
-13
-15
-5
-2
52
40
-2
-2
38
-1
83
-21
-26
-41
-4
-9
3
3
25
9
-27
16
-10
-4
13
-13
75
36
-1
19
0
28
42
5
-5
0
20
14
3
-8
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
0
0
24
0
0
2
50
0
0
6
-4
0
-1
14
0
1
-4
0
0
0
6
0
-12
0
0
0
0
-4
0
0
0
0
0
0
47
7
-5
0
0
0
5
-19
6
0
0
0
0
0
13
0
0
-5
0
0
-2
-1
0
0
14
0
0
2
-13
0
5
10
2
0
0
-20
0
1
-3
0
-1
0
0
0
2
9
1
0
0
-49
0
0
0
0
0
0
-4
0
0
0
0
-1
0
-23
0
0
0
0
0
0
30
5
-2
0
0
0
0
16
0
-2
0
0
0
0
46
0
0
-5
-2
0
-3
-62
0
6
0
0
0
0
12
0
3
0
0
0
0
-22
0
3
1
7
0
0
-2
0
-1
0
0
0
0
-24
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-26
42
2
13
68
-22
1
-40
-23
-8
-1
16
-37
14
-17
-3
-3
-8
41
-34
11
-12
0
-3
21
1
-5
-3
13
0
2
12
-3
81
-1
-1
-78
-10
-6
10
-16
10
31
58
22
37
0
15
21
-10
84
-12
26
-13
7
16
9
-3
17
-7
35
32
-42
-33
8
-51
-9
21
25
13
-14
71
6
-13
5
-16
-20
-16
-5
7
21
4
-58
86
19
0
28
19
-17
37
31
1
13
23
34
-9
16
-1
27
-53
0
1
0
0
9
15
69
43
99
-4
-1
50
5
16
31
-25
8
-4
-4
24
-6
94
59
43
-8
54
-19
18
76
-41
-36
59
-6
8
-1
-17
-32
-24
14
-58
-20
2
25
6
19
-9
36
3
0
7
12
36
16
13
23
0
50
43
20
-35
3
13
-47
12
0
48
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-51
74
13
-38
61
5
-18
8
19
-13
3
25
-37
-8
1
34
-7
-4
-50
-78
-41
2
25
-9
-15
18
-12
-15
-31
-9
-16
13
13
0
-8
32
-1
0
19
35
-20
33
48
-1
6
-10
4
-10
-1
74
-59
-13
-22
15
55
-3
35
-53
-62
36
16
27
22
-16
11
20
48
-29
22
11
4
33
9
53
10
20
15
45
-21
24
33
12
59
-7
-3
33
16
69
58
21
-13
24
14
-38
-27
26
-4
-19
-22
0
5
-27
78
-13
24
50
34
-12
7
2
40
4
-16
-9
-7
51
15
25
0
-70
-6
68
29
-12
44
-15
86
44
-5
54
13
69
46
17
-38
59
43
3
-6
-21
0
-16
16
-1
48
-1
-45
2
-43
58
32
43
-5
1
32
41
-53
-5
31
0
8
46
49
-16
46
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
4
0
-3
38
-1
8
-22
-2
0
1
-26
0
4
10
4
0
0
68
0
15
-3
-23
0
12
-6
0
14
5
35
0
0
0
0
-52
0
-12
-59
-13
0
0
0
0
25
81
0
0
0
0
-31
-7
0
-5
57
0
0
72
18
-1
10
44
0
0
36
-23
3
-5
4
-5
4
-57
-32
0
0
-26
0
10
-4
0
0
0
-15
-2
7
-5
-50
0
0
15
0
10
0
-16
0
3
4
0
13
0
1
-8
0
0
7
3
3
63
-46
-7
0
0
0
8
-8
7
13
-17
0
0
-25
12
0
-3
23
0
0
-21
21
0
-22
36
0
5
-3
-35
0
9
-48
8
8
0
3
0
-32
-8
0
-1
0
9
0
0
31
0
-17
0
-50
0
35
-6
0
-1
0
15
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
6
0
0
0
2
0
0
0
0
0
7
-38
0
0
0
0
0
0
9
0
-8
0
0
0
0
-55
0
0
0
0
0
0
29
0
0
0
0
0
0
-19
0
0
0
0
0
-4
-24
0
0
0
0
0
-16
-2
0
0
3
0
0
0
-43
0
4
0
0
0
0
2
0
0
0
0
0
-3
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
4
15
3
0
0
0
0
-21
0
0
0
0
0
8
25
0
0
0
0
0
10
-4
0
-1
6
0
0
0
9
0
0
0
0
0
0
-6
0
0
-5
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
4
-65
45
0
20
20
31
2
2
29
17
-7
-38
38
6
25
16
15
-37
5
13
-2
3
10
-25
-1
-21
2
-13
-11
47
0
2
-21
-2
17
7
17
32
2
5
33
32
40
-38
23
58
7
15
-13
18
36
-42
-18
48
-9
-7
105
-8
5
77
54
-25
12
-10
39
5
23
33
-11
21
33
-44
30
13
16
24
14
-5
12
72
-42
20
-1
-10
3
0
56
20
-5
-4
0
29
-3
-6
10
53
3
1
-14
-13
41
-39
-10
80
33
-17
38
-4
1
-42
67
18
40
13
-5
94
22
-85
7
-42
-5
-20
5
-41
-25
2
-4
53
10
43
-2
-43
14
31
64
-52
-22
4
47
14
50
-3
76
18
62
-5
0
1
21
11
1
33
-8
13
27
19
-43
-33
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
1
7
-6
50
37
4
-18
30
13
-2
-12
41
-27
-15
7
15
39
-17
22
-9
-38
56
-5
64
-18
-19
0
-13
-13
-70
2
-30
-6
74
12
44
22
-17
-1
27
-28
17
8
-72
67
-32
-91
-64
8
65
-4
-1
-34
10
13
0
-37
21
59
-15
6
-59
-7
-13
1
9
-19
1
44
-10
36
-29
4
-8
-55
64
-27
-34
48
61
17
39
32
-12
-6
6
23
64
-6
4
-11
57
-15
-2
-12
36
0
-4
107
-46
69
16
0
-36
1
4
-11
-14
-20
65
20
26
-3
-45
75
21
-16
12
0
7
-34
-11
-12
8
-1
2
66
6
26
-6
-12
-15
-11
-18
47
34
-9
36
-33
25
-2
25
21
10
-5
1
-14
2
-60
56
30
-10
5
13
-3
5
-7
-38
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-28
0
0
3
-2
0
-2
-42
0
0
0
0
0
0
48
0
0
0
0
0
0
37
0
0
0
0
0
0
8
-3
0
0
0
0
0
27
0
0
0
0
0
0
57
0
0
3
0
0
8
7
0
0
1
0
0
0
17
0
0
3
-1
0
6
91
0
0
-17
0
0
0
27
0
0
1
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
84
0
0
4
0
0
0
74
0
1
-7
0
0
0
16
0
0
0
0
0
0
8
0
0
-1
0
0
0
18
0
0
0
0
0
0
-3
0
-10
0
0
0
0
-38
0
0
0
0
0
0
33
0
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
0
0
13
-6
0
18
26
0
0
-4
0
0
2
0
0
-19
0
4
0
0
-13
0
0
0
0
0
0
69
1
0
0
0
0
0
10
0
0
0
0
0
-2
73
2
0
-5
0
0
43
-78
0
0
23
0
0
5
69
0
0
-21
0
0
-1
-103
0
0
44
0
0
0
70
0
-3
-8
0
16
0
1
0
0
0
0
0
0
-3
0
0
4
5
0
0
-19
0
0
0
0
0
0
27
1
0
0
0
0
3
88
0
40
8
0
0
0
48
0
0
12
0
0
4
20
0
-1
0
0
0
-1
-36
0
0
-3
-3
0
0
-30
0
0
0
9
0
0
-30
0
0
1
-3
0
0
-32
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
17
-1
-49
18
7
-42
0
-17
-2
2
-14
6
-35
-45
-30
0
-10
22
4
20
-14
-6
2
-1
46
-2
-6
0
5
-37
9
-2
23
16
-19
55
-16
75
7
0
1
57
57
3
-22
33
55
25
-43
-7
18
36
51
-3
5
86
2
-7
-6
38
81
9
24
22
11
-12
45
19
2
28
18
2
75
90
59
16
-20
8
-3
7
52
-18
14
17
-21
0
27
36
110
12
23
6
-22
3
1
-5
-8
13
35
-12
5
-14
-1
-12
38
7
-4
6
3
0
4
-28
9
-55
54
59
1
1
-60
11
0
2
-44
-5
0
-33
-29
-1
89
52
16
22
50
19
6
17
34
5
25
-4
2
1
60
-6
51
23
2
-38
0
8
-16
15
61
0
-4
-21
8
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
13
11
0
0
-1
0
0
-4
2
0
-5
0
0
0
0
35
0
0
0
0
0
0
4
-8
0
0
0
0
0
23
1
0
0
0
0
4
-44
0
0
8
0
0
-3
58
0
0
-10
0
0
4
19
0
0
-3
-6
0
0
11
0
0
8
0
0
1
-30
0
-1
0
1
0
0
-55
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
-1
-4
0
0
-2
0
0
0
18
0
4
-1
0
0
0
7
0
1
0
0
0
0
-17
0
0
0
0
0
0
-1
0
6
-2
0
0
0
1
0
0
0
0
0
0
-48
0
1
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
0
1
0
0
0
33
0
0
-8
0
0
-6
13
0
84
0
0
0
0
-12
0
0
0
0
0
0
-3
10
0
0
-1
0
0
-10
2
0
0
0
0
0
-19
0
22
12
0
0
-10
28
0
-1
3
0
0
89
16
0
0
11
8
0
7
6
0
0
15
0
0
8
-26
0
4
6
-12
0
1
50
0
0
0
0
0
0
68
0
0
0
0
0
0
119
0
0
0
0
0
0
43
2
-1
0
0
0
0
20
-1
24
15
0
0
3
19
0
0
14
1
0
8
43
0
5
-4
0
0
10
26
0
4
0
-1
0
0
28
0
-22
5
0
0
0
5
0
0
0
12
0
0
111
0
22
0
0
0
0
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
19
0
-7
56
0
-4
0
7
0
78
26
-9
2
0
-31
0
0
0
-3
56
0
27
-43
-69
0
-13
-4
0
-47
-5
5
31
7
0
-6
-18
13
87
21
-18
3
-15
-56
-1
-5
16
0
0
1
-5
20
40
-17
1
-4
-5
-32
0
-27
-15
-15
-10
3
14
-5
-30
58
39
4
1
-18
0
2
-20
0
37
0
50
0
1
-9
44
-33
-1
-37
-23
0
0
0
41
0
-25
15
3
-43
1
0
9
30
-7
31
67
0
0
-5
-14
-13
67
58
-4
2
-27
31
0
-51
29
2
0
-9
-61
-9
-5
-7
47
1
0
16
0
22
1
2
-4
0
1
0
-5
-38
5
2
-2
-15
0
-3
1
7
-1
0
10
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
9
12
-29
8
-47
-2
-5
-1
-39
46
6
-17
28
-19
1
-1
-9
-1
0
0
6
9
-69
2
97
-20
39
-45
-26
30
6
-3
17
44
1
0
-50
-17
37
-41
-5
-40
9
7
5
11
-35
-20
21
53
-40
-11
48
36
4
0
-74
-2
-14
50
85
-57
11
-6
-10
-21
-17
4
31
19
7
17
24
-6
-3
7
-36
14
41
-31
79
-14
3
1
24
-10
0
17
9
-27
-23
1
-11
-8
-1
5
3
11
34
-16
-44
-21
10
-6
2
106
20
0
-56
2
10
31
-11
58
37
-27
-43
16
0
55
-60
-34
-8
13
-34
-4
-4
-16
72
63
-39
18
-37
-2
2
-51
-83
-14
13
6
15
13
59
1
0
0
19
45
-1
-9
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-2
0
0
0
50
0
-3
0
0
0
0
65
0
0
0
0
0
0
31
0
0
0
0
0
0
-15
0
0
0
0
0
-1
76
0
0
-4
0
0
29
-55
0
0
0
0
0
0
-19
0
0
5
0
0
4
16
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-30
0
0
0
0
0
0
-36
0
0
0
0
0
0
11
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-8
0
0
0
0
3
0
0
1
0
0
0
3
0
2
1
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
2
0
0
0
-5
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
49
0
0
0
25
0
0
-3
0
0
0
0
-1
0
-42
25
0
0
0
0
0
33
-3
0
0
0
0
-7
40
0
0
6
0
0
-9
46
0
0
0
0
0
90
-13
0
3
-10
5
0
0
-35
0
0
-4
0
0
-3
30
0
0
0
0
0
-3
61
0
0
0
0
0
0
33
0
6
5
0
0
0
6
0
0
0
0
0
0
-10
0
1
0
0
0
0
-39
0
0
0
0
0
-2
-4
0
0
-1
0
0
3
-8
0
4
0
0
0
0
40
0
0
-2
0
0
2
9
0
22
0
0
0
0
-25
0
0
2
0
0
0
26
0
-4
10
0
0
0
90
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-2
8
-21
1
-11
1
-21
0
-14
46
-19
-59
-3
-14
0
0
0
0
-55
0
1
-12
16
0
38
4
6
24
-16
0
0
0
0
32
-7
70
66
-56
1
3
-56
-7
7
30
51
2
7
110
-16
8
-2
-64
-15
5
-13
4
1
58
22
3
1
20
10
-5
1
-30
57
9
89
-7
2
1
16
1
55
-9
5
0
0
1
-48
45
0
14
4
7
0
0
4
0
0
-18
25
14
-2
0
9
5
-3
-12
56
0
0
-13
-11
5
9
60
32
0
-34
-7
-7
-8
81
2
17
14
27
2
79
-3
12
0
-2
7
-9
-30
-3
-3
18
8
-37
0
-3
9
11
45
0
4
0
9
0
8
8
0
7
-33
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
0
5
50
-2
-4
-9
-21
0
37
16
0
-5
-2
-19
0
0
5
0
35
0
24
16
5
0
0
-3
0
-16
10
0
0
0
0
44
-38
1
36
-8
0
0
1
-25
3
0
23
0
0
-15
-21
0
0
-8
0
0
30
22
0
4
-13
-7
0
91
-43
0
0
0
0
-4
10
-15
0
0
56
0
8
4
6
0
0
-8
0
85
-1
30
-5
1
0
0
8
0
-35
16
0
-8
0
0
-8
-16
1
65
9
0
0
-3
51
0
-9
25
0
-5
-19
4
0
124
-53
0
5
5
73
0
19
32
0
0
-5
81
0
14
72
-5
-1
2
23
0
-3
64
0
25
0
-7
13
8
0
0
-17
0
29
-3
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
1
0
0
0
-31
0
35
12
0
0
0
0
0
0
0
0
0
0
-53
-3
0
0
3
0
0
55
0
0
0
0
0
0
9
0
0
4
0
0
-5
-11
0
0
12
0
0
3
-5
0
0
-21
-1
0
0
37
0
0
0
0
0
0
3
0
0
-17
-1
0
0
84
0
0
1
0
0
0
34
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
8
0
0
0
0
0
43
0
13
0
0
0
0
77
0
7
-3
0
0
-1
-38
0
0
2
0
0
1
0
0
0
8
0
0
0
29
0
3
2
0
0
0
18
0
0
0
0
0
0
35
0
6
0
0
0
0
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
43
-7
2
0
0
32
0
0
-2
0
5
0
-3
63
12
0
4
0
0
-47
6
0
-2
0
-6
6
-44
-2
-2
76
-3
0
33
13
0
-16
66
0
0
-14
0
0
8
-39
-6
0
-3
-45
0
6
74
-4
1
0
59
0
-6
-53
-8
12
0
-10
0
0
35
0
-3
0
47
6
0
-4
20
99
0
39
-5
0
0
0
-1
0
-7
-60
0
0
0
0
0
-43
0
8
-107
0
-1
0
10
0
0
49
1
0
0
2
0
6
-44
0
0
0
-47
-8
2
-13
5
0
0
-56
0
-25
-14
2
0
1
23
0
3
-1
5
0
0
46
0
-55
-2
0
-6
0
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
12
-3
-11
-1
20
0
62
-36
16
42
-40
-13
-26
0
12
20
-27
-8
-53
15
34
4
-24
-8
14
0
-1
17
1
-42
-20
39
-3
34
20
-3
-43
-13
23
0
4
28
-3
20
125
12
-38
-58
45
-8
36
7
-18
-94
46
-1
0
-19
-24
-2
7
-4
64
4
7
30
30
25
-4
-23
-13
1
-3
42
-71
-48
-5
-12
-24
-3
6
12
29
-14
-20
80
-11
44
-10
1
-5
10
-55
50
6
-6
-15
-142
14
132
19
41
36
25
65
8
57
11
62
26
-25
-72
-18
-33
-21
-40
26
-22
32
0
-29
-13
-38
-27
19
-50
-18
-8
-24
55
33
37
22
-4
9
42
51
-2
15
12
-1
-26
34
-13
-54
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-44
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
-6
0
0
0
-24
0
0
-9
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
8
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
22
0
0
0
0
0
0
-36
0
0
0
8
0
0
-10
0
0
0
0
0
0
-3
0
0
22
0
0
3
-47
0
0
0
0
0
0
60
0
1
4
0
0
0
-1
0
0
3
0
0
0
2
0
0
1
-8
0
0
-54
0
0
0
0
0
0
1
0
0
0
0
0
0
59
0
0
0
0
0
0
1
0
0
0
0
0
0
44
0
0
-1
0
0
0
43
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
16
0
0
0
-74
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
31
0
-36
5
41
-1
16
4
0
-3
0
0
33
0
-2
37
-5
0
-33
0
0
7
0
0
2
0
0
-39
16
-4
10
28
65
-1
-6
-8
4
-7
78
0
0
39
9
1
-22
10
31
-14
36
-35
0
4
-29
-6
-13
50
19
-4
9
-9
-56
1
-41
22
0
12
3
0
18
-4
15
0
-3
0
-1
23
0
35
-21
0
0
0
-2
0
-33
-47
-2
-5
0
0
15
-77
2
29
-4
0
-1
-18
-14
0
34
-5
-12
0
-37
39
0
37
-19
-2
-1
7
7
10
32
-12
41
-4
-2
-43
0
0
-14
-1
-4
20
43
0
-2
4
51
-5
0
17
8
-69
-6
0
-6
0
21
20
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
5
0
0
0
0
-3
0
0
0
0
0
0
72
0
4
0
0
0
0
23
-12
0
0
0
0
-1
-49
0
0
14
1
0
-5
-21
0
0
-21
0
0
1
57
0
0
-8
0
0
-7
17
0
0
1
0
12
1
-62
0
0
1
0
0
6
2
0
0
0
0
0
0
-9
0
0
0
0
-1
0
7
0
0
0
0
0
0
2
0
0
1
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
-1
1
0
0
5
-29
0
0
0
0
0
0
-10
0
2
3
0
0
0
14
0
0
1
0
0
0
-11
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
1
0
-8
0
0
-26
0
0
0
0
0
0
-38
13
29
0
3
0
0
18
0
0
0
0
0
4
58
0
0
-18
0
0
31
-22
0
0
-7
0
0
14
25
0
0
-31
0
0
-4
10
0
0
-64
0
0
1
69
0
0
12
5
0
0
19
0
0
-1
0
0
0
49
0
0
0
-1
0
0
-40
0
0
0
0
0
0
28
0
0
0
0
0
0
11
0
16
0
0
0
0
16
0
0
0
0
0
1
-13
0
-2
5
0
0
0
51
0
0
5
0
0
0
-20
0
0
-5
0
0
0
79
0
5
1
-14
0
0
57
0
-17
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
-6
0
-13
3
0
0
2
0
0
15
8
0
0
0
0
-9
-16
0
5
-2
-3
-1
-6
-30
0
0
-1
0
0
0
15
0
1
-8
1
0
0
-12
0
0
40
0
0
0
26
0
0
14
5
4
0
34
0
-4
18
0
0
0
62
0
0
-4
0
21
0
9
8
0
0
0
0
0
16
5
-1
0
0
0
0
-36
0
-3
3
0
0
0
48
0
0
-5
0
0
0
-11
0
31
0
0
0
0
-11
0
1
20
3
0
0
-5
0
9
6
0
-3
0
53
0
-3
-5
4
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-2
-1
9
-2
0
1
-4
0
-61
2
-1
19
0
-8
-33
-12
41
1
5
-21
-11
17
-10
13
17
-46
18
-12
96
21
22
-10
-13
3
2
10
-69
-30
-6
-39
-25
-12
39
8
-17
-8
10
59
-9
-6
12
40
1
-98
0
0
12
10
10
-3
22
14
15
10
23
22
4
5
-1
5
24
-5
-3
0
-16
-4
-27
97
6
-10
-6
0
17
-10
15
22
-17
29
-2
-9
-2
-15
42
-49
49
14
-39
16
15
-26
11
-12
41
-41
-19
-12
-105
-7
-54
4
80
47
6
20
-1
-17
13
-6
0
0
0
52
18
13
0
15
-3
90
-18
0
-35
0
22
-12
10
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
17
-3
0
0
0
0
-8
-36
0
0
15
0
0
10
-25
0
0
0
0
0
0
8
0
0
4
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
21
0
0
-1
7
3
0
0
-2
0
-5
-11
55
-23
7
17
-3
-29
0
-3
103
23
21
-36
-37
-43
2
-2
-33
-3
-67
-31
6
46
-34
1
21
-16
11
-25
-63
-45
-23
0
5
9
-51
-11
-25
10
-3
8
-21
-13
-57
11
-5
0
0
24
-20
15
13
10
-1
1
18
15
27
0
22
-36
-5
0
-1
-22
6
-9
-26
51
23
57
10
18
7
8
1
-28
-2
1
-56
-14
-8
-2
18
-52
24
-19
24
1
0
-8
-18
1
-17
-12
-7
37
-20
-8
-19
8
-2
3
2
-32
8
76
10
-20
0
-6
-1
-77
-18
-3
7
4
14
6
0
44
4
20
2
-11
3
-34
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
-3
0
-20
-4
-13
0
0
0
0
-40
-25
0
0
0
0
-4
-18
-1
0
4
-5
0
-15
-38
0
-16
-45
-7
-1
23
20
0
18
63
18
0
-23
47
0
2
-10
6
0
0
42
0
0
-2
2
0
12
-14
0
-1
0
0
0
0
-10
0
-6
-5
-2
15
0
-30
6
0
0
-14
0
0
-76
60
0
0
4
0
4
-71
0
18
1
-1
0
6
66
0
0
57
-5
0
20
35
7
20
-10
-1
0
3
85
0
0
0
-4
0
0
23
0
5
0
0
4
0
58
0
-4
0
23
0
-8
-5
0
-19
0
0
1
0
13
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
0
0
0
0
-22
0
7
24
3
0
0
0
0
-29
-7
0
2
0
0
50
-26
2
2
68
0
7
-31
10
0
-3
-39
1
3
78
-5
0
1
-17
0
-6
-6
6
0
1
66
0
18
15
55
0
0
38
0
26
0
-1
0
0
20
0
39
0
38
0
10
-58
0
44
0
24
7
0
0
0
1
0
-3
1
0
6
0
0
-3
9
0
47
-3
0
0
-32
54
0
-17
-36
0
0
36
24
8
58
-34
0
0
4
80
0
-9
-6
0
-5
9
58
0
1
-28
0
-5
0
-44
0
0
13
0
0
0
3
0
-32
0
0
-8
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
54
-21
-3
0
0
0
0
23
0
0
-1
0
0
8
30
0
0
44
0
0
4
56
0
0
-15
0
0
0
12
0
0
38
0
0
-34
47
0
0
6
0
0
2
-38
0
0
10
6
0
0
-13
0
0
0
0
0
0
-21
0
0
0
-6
0
0
47
0
0
0
0
0
0
-1
-1
0
0
0
0
-1
36
0
-6
-2
0
0
8
43
0
0
0
0
0
-1
27
0
2
4
0
0
0
152
0
0
0
2
0
0
37
0
-2
-5
0
0
0
116
0
0
19
-6
0
0
-50
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
51
0
0
0
0
0
0
-13
0
0
-1
-3
0
0
-1
0
0
6
0
0
13
-2
0
3
-19
8
0
-6
44
0
1
19
0
8
0
6
0
0
0
0
2
0
0
0
0
-9
0
0
0
53
0
0
0
2
-2
0
-77
0
0
0
0
0
0
-5
0
0
0
0
0
0
81
0
-2
0
0
0
0
4
0
0
0
0
0
-1
-7
0
13
0
0
0
0
3
0
0
0
0
0
0
80
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
28
-37
1
8
3
-4
-7
-15
32
2
5
13
30
-12
22
51
-10
36
4
-11
8
25
51
0
31
15
50
11
36
45
16
-52
47
2
-14
0
-1
-19
-70
-22
7
-18
2
91
-20
4
-24
51
-3
1
-47
-67
-42
23
21
0
3
14
103
-14
59
-1
21
1
16
0
0
-27
-1
-10
50
93
-24
-2
21
78
13
-3
17
-11
-14
11
67
15
-16
72
10
-25
30
40
35
-42
-13
-25
71
15
6
-21
9
33
-8
-4
28
52
-10
-10
-12
20
42
20
48
-28
4
44
34
49
26
-29
0
0
-18
-15
26
1
0
39
20
-1
-1
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
0
0
-47
0
0
0
0
0
1
43
0
0
0
0
0
2
-45
0
0
3
0
0
0
-11
0
0
5
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
1
0
0
-1
31
0
0
0
0
0
-5
12
0
0
-1
0
0
0
-19
0
0
-2
0
0
0
-7
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
-7
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-2
0
4
0
0
-4
0
0
0
0
0
0
-57
0
0
3
0
0
-3
42
0
0
0
0
-2
-3
28
0
0
0
0
0
0
37
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-100
0
0
0
0
0
0
3
0
-2
0
0
0
-1
-33
0
1
-12
0
0
-7
-28
0
9
0
-3
0
-1
9
0
0
0
0
0
0
-10
0
-2
0
0
0
0
-8
0
0
0
0
0
0
-45
0
1
0
0
0
0
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
-1
0
0
0
24
0
0
9
0
0
0
19
0
0
-1
-2
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
3
0
19
0
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
1
5
0
0
-6
0
0
0
-1
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
25
0
0
17
0
0
24
-7
0
0
0
0
-19
-40
0
0
-20
-28
0
-138
-42
2
5
8
0
0
76
21
0
0
-15
16
0
47
-23
0
5
40
0
0
-1
5
0
0
-32
-35
0
9
-13
0
0
-29
0
0
-2
40
2
0
-35
19
0
0
25
-1
-1
0
2
0
0
9
7
0
0
0
0
0
-11
0
-23
-2
0
0
31
26
0
2
29
0
0
-18
30
0
25
-13
0
0
-14
-48
1
9
1
-2
0
6
47
0
-57
42
0
0
0
36
0
0
8
2
0
0
11
0
42
3
0
0
0
-57
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
2
10
5
-2
44
-2
-13
21
32
46
59
-45
15
10
-24
-7
23
0
-3
28
-12
23
-34
38
59
21
-33
-9
32
60
6
10
43
-12
-3
-23
-30
4
12
93
-18
-12
-22
-41
-62
20
-34
-20
-5
-29
-12
39
-22
-30
-24
0
2
-52
27
32
-7
-17
17
-6
25
68
-100
15
17
-33
-29
-8
54
18
2
-5
6
-110
21
-24
-13
18
63
12
59
-25
59
-14
26
7
1
18
-30
30
0
108
29
-2
-38
19
-2
33
41
24
25
-12
21
-24
-26
5
7
-13
-13
52
13
74
-1
-5
0
-1
17
16
-45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-5
0
0
5
0
21
-3
0
13
2
20
4
-80
15
0
0
9
-2
0
-3
8
0
9
5
-51
-7
-52
11
-1
0
-12
0
-9
-24
40
-1
-5
12
-9
4
24
8
0
24
-18
0
4
1
27
0
-6
9
-9
-4
0
-12
0
0
0
0
4
-8
58
13
0
-3
-4
0
4
35
0
-29
-32
2
0
6
-30
0
-1
-12
30
0
48
-19
0
84
-4
0
0
5
-33
0
4
8
-4
0
1
5
-2
106
-9
-2
5
0
-25
0
1
40
-18
5
0
7
0
-9
2
0
-5
0
-50
0
12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-7
0
0
0
0
-17
-62
4
0
-16
14
-2
-26
-47
0
0
40
0
4
67
-40
0
0
-29
43
-2
5
2
-2
0
62
0
4
-3
43
0
0
25
-23
2
6
15
0
0
-1
0
2
0
-44
0
4
4
-7
19
0
-16
-2
0
0
0
0
1
-22
-5
-8
1
0
0
2
-71
-7
2
-1
0
0
-6
-3
0
-8
-2
0
0
10
-75
-4
7
13
0
3
-20
-68
0
-8
17
-4
0
0
-8
0
5
-2
-1
0
1
48
0
0
-4
-4
2
0
-50
0
-6
-1
0
-18
0
-32
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-19
0
0
0
0
0
0
-21
0
0
10
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
-5
-3
0
0
0
0
0
0
0
0
0
0
-3
0
8
-2
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
7
-20
0
0
35
0
2
-3
15
0
2
-1
0
-1
33
-8
0
-5
41
0
0
3
5
0
0
-18
0
-4
-3
-9
0
0
-1
1
-1
0
-21
0
0
4
0
-58
0
8
0
2
0
0
3
0
-20
1
0
0
0
0
0
74
7
0
0
0
0
0
69
0
1
12
0
0
4
9
0
0
8
0
0
-2
-20
0
5
1
0
0
0
49
0
-2
-1
0
0
0
96
0
31
5
0
0
0
67
0
0
-5
0
0
0
-22
0
-2
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
20
0
0
-2
0
0
-7
-10
0
0
2
0
0
24
-24
0
-1
22
0
0
0
-47
0
0
-4
0
0
0
2
0
0
0
0
0
0
74
0
0
0
0
0
0
15
0
0
0
3
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-1
0
0
0
-6
0
0
0
0
0
0
10
0
-2
-1
0
0
0
5
0
0
-1
0
0
0
-10
0
0
1
0
0
0
24
0
0
0
0
0
0
25
0
-3
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
-8
0
0
0
4
86
0
0
-2
0
0
0
-16
0
0
19
0
0
0
53
0
0
3
0
0
0
23
0
0
-2
0
0
0
22
0
0
4
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-56
0
-3
8
0
0
0
-18
0
-2
0
0
0
0
-19
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
39
-6
-43
19
73
1
35
19
13
-19
12
68
41
6
9
5
83
5
-49
14
-4
0
36
57
31
32
43
-48
10
-54
32
-7
15
26
-20
1
16
69
-30
59
18
-26
-12
-36
27
-11
21
3
3
-2
20
15
-39
-47
-8
-4
0
22
-4
-28
-19
0
13
-14
-2
0
2
48
-13
-2
23
79
43
-8
-2
43
75
11
11
10
39
-9
-51
-1
-30
-2
31
-10
36
-21
41
-23
0
-4
34
-31
-2
6
-2
5
21
4
86
3
41
7
41
6
-19
20
20
2
3
-11
-4
-16
92
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-47
3
12
21
2
0
64
34
0
13
16
3
0
58
-39
8
-6
3
12
0
-33
-13
0
0
25
0
6
-6
22
4
8
55
53
0
-1
42
0
0
0
0
74
0
28
0
3
-1
-1
8
0
-45
0
0
0
0
1
0
7
-4
14
9
0
0
16
35
1
-18
15
0
0
10
63
0
-1
11
-6
0
-1
20
1
43
-20
-6
5
8
26
-4
-6
-8
13
0
-3
50
0
1
18
-1
-3
-1
49
0
-3
1
15
-6
0
-3
0
23
0
0
0
0
19
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
39
0
0
0
84
0
0
1
0
0
0
53
0
-3
2
0
0
0
-32
0
0
23
0
0
0
-28
0
0
0
0
0
0
-60
0
0
0
0
4
0
17
0
0
0
0
-14
0
-37
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
4
0
0
0
0
-15
0
0
0
0
0
0
26
0
1
1
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-7
1
0
-2
39
0
3
2
0
0
13
85
0
0
12
-1
0
0
-4
0
0
5
0
0
0
65
0
0
-3
0
0
0
-53
0
0
0
0
-9
0
3
1
0
3
0
0
0
55
0
0
0
0
0
0
-70
14
0
0
0
0
0
-3
0
3
0
0
0
0
3
0
0
0
-3
0
0
23
0
1
0
0
0
0
17
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
-4
0
0
0
0
-7
0
-1
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
47
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
4
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
4
0
0
0
19
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-11
0
3
-38
-6
12
56
68
0
0
24
-16
0
-45
15
3
3
-12
5
-5
1
-21
0
11
82
19
7
1
9
0
0
33
0
1
0
46
3
0
-3
53
-19
0
-12
10
-1
0
0
2
0
-28
7
3
-2
0
0
0
12
0
-49
65
-1
0
5
20
0
-11
62
0
4
7
-51
-1
20
118
-1
0
-4
13
0
-5
94
-13
0
-5
9
0
43
11
2
4
-5
-22
0
0
2
13
0
0
6
0
23
0
0
2
0
17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
44
6
-7
2
-15
118
26
6
-5
-26
29
16
18
20
13
50
-81
11
55
-12
-15
-10
98
18
-19
27
15
-19
-1
8
89
24
15
21
7
2
12
-1
-11
-2
1
-5
11
16
-33
44
-10
33
-31
41
12
-55
-48
-25
31
-78
0
-62
-75
13
-10
50
31
-10
-71
-3
-10
-67
8
14
8
-30
23
9
11
-3
57
-16
-14
-7
28
-28
-19
37
-17
-31
-13
19
-4
1
-31
-22
12
37
16
24
-9
35
5
-3
-46
23
-41
-9
-41
21
-11
-27
-58
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
69
0
0
-14
0
0
5
-25
0
1
5
10
0
0
-54
0
-4
29
1
0
0
-64
0
0
0
0
0
0
132
0
0
0
0
0
0
59
0
0
0
0
0
0
13
0
-1
0
0
0
0
-79
5
-4
0
0
0
-1
-44
0
17
0
0
0
0
73
0
0
9
0
0
0
85
0
-9
5
0
0
0
8
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
-3
0
0
-1
0
5
0
0
0
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
54
0
3
19
67
0
0
47
-4
16
-12
41
0
8
22
0
7
-8
-25
0
0
4
23
-8
1
63
0
0
0
0
-8
0
77
2
0
0
-10
-4
0
-25
0
0
0
0
0
0
8
5
0
-8
0
0
4
51
0
18
2
0
0
1
-19
0
0
13
-4
0
16
34
-1
2
-1
0
-1
-6
23
0
0
0
-1
0
0
-7
8
0
-7
0
0
0
59
0
1
0
-1
0
0
45
0
2
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
25
-72
-14
6
6
-37
32
14
-10
-62
9
-3
15
12
-20
-6
4
20
-47
-12
31
53
30
31
34
-10
98
-1
0
-3
92
-5
38
6
3
0
8
-18
-11
10
43
13
-46
2
0
2
5
-1
-12
23
-2
-8
0
0
11
22
27
16
131
0
2
48
-76
2
16
69
0
9
47
-41
8
-61
70
13
-24
24
-53
8
-9
28
42
75
4
25
0
-39
59
26
10
20
-33
0
-18
-57
10
25
-2
23
-6
-12
8
0
66
6
20
30
-2
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
19
2
0
7
0
0
98
-51
0
0
-35
-1
0
-52
36
0
3
-27
0
-1
-4
-1
0
0
28
0
0
-7
21
0
0
-13
0
0
0
46
0
0
0
-4
17
0
48
0
0
0
0
0
0
-8
8
1
0
0
0
10
9
0
78
-23
0
0
18
21
0
0
1
0
0
8
-9
0
-1
15
0
0
3
18
0
4
-48
1
0
0
-5
0
66
0
0
0
0
-28
0
0
0
0
0
0
13
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
52
0
0
2
0
0
0
33
0
2
0
-1
0
0
32
0
0
0
0
0
0
-30
0
0
0
0
0
0
-47
0
0
0
0
0
0
18
0
0
0
0
0
0
50
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
8
0
0
0
0
47
0
0
1
0
0
0
37
0
0
0
0
0
-2
10
0
0
0
0
0
0
7
0
0
0
0
0
0
54
0
0
0
0
0
0
-9
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
25
-12
-34
36
98
5
-50
-21
-1
-5
-10
8
-6
0
-18
-4
-14
89
-1
36
-13
44
0
-2
-61
0
25
0
9
0
-3
-26
9
-30
0
6
14
-6
0
0
-3
-1
14
-61
-1
-24
6
0
-3
-7
6
-6
9
-1
0
4
-20
0
87
14
-8
0
-1
3
24
41
-27
9
-1
-3
18
-1
20
-31
26
3
0
-42
0
10
-9
0
0
0
21
-3
-8
22
15
0
0
48
3
51
-10
0
-9
0
21
37
-4
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-11
-67
-29
-46
53
11
-2
-18
66
-12
4
-22
-35
-12
0
28
-33
24
2
-80
11
-7
-40
4
-34
5
3
93
-8
35
31
12
11
30
-13
9
22
-15
54
15
-46
15
30
-47
99
34
-52
-12
29
26
-9
12
-8
-42
14
-7
0
9
-63
-57
21
-24
-63
-34
19
11
-58
-3
-12
-61
-4
96
39
-25
-25
-3
-41
14
-71
9
35
90
151
-5
22
33
-26
-19
5
15
45
-2
7
-8
-66
81
-9
-13
-3
-17
79
-22
-72
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-3
68
-2
0
1
120
0
0
-5
0
0
0
68
0
-2
0
0
0
0
16
0
0
0
0
0
0
-13
0
0
-3
0
0
0
-49
0
0
0
0
0
0
34
-1
0
0
0
0
0
91
0
0
-6
0
0
0
-40
0
0
-2
-1
0
0
13
0
-4
0
0
0
0
-50
0
1
-1
0
0
0
-47
0
-3
0
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
-6
-16
0
0
24
-45
0
-5
28
0
0
0
-22
0
0
3
-2
0
0
-36
0
4
-1
0
0
0
17
-1
0
0
0
2
0
8
0
0
0
0
0
0
-14
10
0
0
0
0
-2
38
0
-2
-2
0
0
0
2
-1
1
15
-1
0
0
53
0
0
22
1
0
-5
55
0
-1
0
0
0
0
-46
0
3
20
0
0
0
124
0
0
1
0
0
0
57
0
-8
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-7
-15
-26
-19
-3
4
8
5
-31
16
-1
34
41
9
1
-8
-1
-14
15
-68
8
0
3
39
6
12
-5
-20
5
-8
11
43
28
-1
3
-10
8
0
5
-5
-1
8
99
2
-2
5
0
-9
-18
15
-51
56
0
-15
23
-27
-15
33
38
-4
-1
-18
18
5
34
53
0
9
58
4
0
-8
36
27
9
35
44
1
49
0
17
2
-19
23
8
-22
0
73
-9
0
15
0
-6
19
0
-33
0
45
-11
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-4
0
-5
5
0
0
0
24
0
0
0
0
0
0
-20
0
-5
0
0
0
0
-4
0
0
3
0
4
0
71
0
0
0
0
0
0
-2
-3
0
0
0
0
0
16
0
0
3
0
0
0
46
0
0
-14
0
0
1
-42
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
8
0
0
0
0
-5
0
0
0
0
0
0
47
0
-5
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
29
3
0
0
42
0
0
9
0
0
3
-8
0
0
8
0
0
2
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
47
0
0
0
0
0
0
28
0
0
0
0
0
0
40
0
0
0
0
0
8
-21
0
0
0
0
0
0
38
0
3
0
0
0
1
62
0
0
1
-3
0
0
9
0
1
5
0
0
-3
-4
0
0
0
0
0
0
9
0
-5
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
4
-3
-71
-20
-4
-30
-6
0
14
66
117
-5
3
7
0
-2
37
6
-41
0
-24
0
25
-23
-61
32
0
-13
23
14
-2
0
-16
0
28
45
0
43
-1
3
-5
3
24
44
28
0
0
2
47
13
18
20
14
-10
8
11
0
40
-39
5
0
0
52
10
5
71
-18
0
0
41
-2
89
11
21
0
-1
6
1
6
-42
82
-2
0
63
0
-18
-30
0
52
6
78
-1
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-11
-11
-6
-38
41
38
13
-1
86
-12
-40
3
102
5
16
-8
51
2
51
-4
6
-48
-47
0
40
5
0
2
-6
-38
-8
1
-27
-6
17
4
132
29
-20
-4
69
11
-3
-17
-8
-6
-4
19
44
12
21
67
-87
63
-50
0
-43
-37
-41
75
-30
-25
-4
7
13
21
24
-38
-40
8
-17
43
-6
53
-54
103
-6
-19
-4
37
-28
0
29
17
-33
-8
6
36
-51
2
9
-28
-3
9
-95
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
0
0
0
0
0
-1
78
0
0
-2
0
0
0
-21
0
0
0
0
0
0
-21
0
0
0
0
0
0
73
0
0
0
0
0
0
35
-1
0
1
0
0
0
-7
0
-1
-5
0
0
0
43
0
0
1
0
0
0
28
0
1
-1
0
0
0
30
0
0
0
0
0
0
-2
0
-1
0
0
0
0
126
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-30
0
-1
0
0
0
8
-30
0
0
41
2
-3
0
-36
0
1
-8
0
-1
0
11
0
-2
-1
-1
-4
0
35
0
0
0
0
1
0
12
-3
0
0
0
0
0
6
4
20
3
0
-1
3
17
-3
0
10
5
-2
-4
17
-1
5
4
2
10
0
-49
7
-4
6
-4
-4
-1
71
0
8
38
2
0
0
-21
0
-1
-1
0
0
0
65
0
-5
0
3
0
0
17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
3
0
-34
-20
54
-28
45
-10
-8
-23
60
23
67
28
17
1
0
35
-1
13
72
15
8
48
41
0
-3
0
22
49
-1
-5
0
29
1
-22
-52
0
6
6
3
68
83
9
31
8
1
-2
28
7
-15
6
97
73
-7
45
11
8
29
-18
-6
1
2
15
8
10
-48
34
6
13
41
8
54
-23
0
-6
-1
21
-7
30
13
-32
20
17
10
0
-25
-4
-4
19
0
76
24
-2
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
-5
-17
-12
20
1
-24
0
1
5
12
6
9
-15
0
0
19
0
-42
0
-13
0
-12
-3
0
-36
0
32
-2
0
0
0
0
0
-20
22
0
-4
0
0
-9
-71
0
140
23
0
0
3
-53
0
3
-48
5
0
14
34
0
5
-61
0
0
29
16
0
-4
90
0
0
0
11
0
38
52
0
0
0
30
0
5
8
0
0
0
28
0
58
0
0
6
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
-2
0
0
-3
24
0
0
-2
-2
0
6
3
0
10
0
0
0
0
52
0
0
0
0
0
0
49
0
0
0
0
0
0
-40
0
0
0
0
0
0
-13
0
16
-12
0
0
0
41
0
0
2
-1
0
-9
71
0
-17
5
0
0
0
-45
0
0
1
9
0
0
-10
0
0
-8
0
0
0
11
0
0
0
14
0
0
-27
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
11
11
-1
-1
-39
0
0
71
0
31
0
76
0
-5
4
7
-12
0
14
1
0
0
0
-13
0
-22
1
-3
-1
0
0
13
7
0
-24
52
0
0
2
-7
0
-3
-15
5
0
16
-43
0
0
24
0
0
0
20
0
-18
-17
-22
13
0
-46
0
0
-2
0
0
0
-20
0
0
25
21
0
0
-12
0
-13
-1
3
2
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-20
16
-19
-7
-57
-28
-5
14
-38
-24
-31
-2
-10
9
3
16
-20
34
-20
-36
-7
12
28
2
12
20
-6
13
-10
58
22
18
-32
-40
-14
8
-54
27
22
-48
87
-60
5
-64
25
-51
17
5
76
-2
-65
0
49
21
88
-59
0
30
39
74
37
-10
52
11
28
-18
-51
-41
-30
14
0
-25
-45
10
-6
-7
55
-2
-5
25
42
1
68
8
40
9
87
19
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
7
0
0
0
46
0
0
0
0
0
0
19
0
0
0
0
0
0
47
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
-3
-3
0
0
0
50
0
0
-5
0
0
0
25
0
-1
10
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
12
3
0
0
-13
0
0
0
0
-16
0
10
0
0
1
0
-3
0
77
0
0
0
0
0
0
-14
-4
0
0
0
0
4
-67
0
9
2
0
0
-1
-52
0
0
0
-1
0
5
37
0
-6
4
0
0
-6
-18
0
0
0
0
0
0
-3
0
6
1
-5
0
0
49
0
1
-5
0
1
0
64
0
-16
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
1
-9
43
38
-6
-17
-7
1
0
2
-7
-4
-2
-4
2
9
-6
7
72
3
7
-38
0
0
5
6
-17
-18
-12
-2
39
-1
0
91
-20
17
-50
-20
0
-2
-19
-24
25
-24
66
44
0
45
-1
0
36
16
6
0
-18
27
1
57
-14
30
0
2
27
-3
14
-16
0
-8
-25
-14
-1
-30
-2
-5
9
1
16
0
-34
0
1
9
0
-21
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-4
-24
8
0
0
23
0
0
1
0
0
0
3
0
2
-2
0
-7
0
37
0
0
0
0
0
0
33
0
0
-2
0
0
0
20
2
8
1
0
0
0
102
0
0
0
0
0
-1
22
-3
-1
-2
0
0
-4
75
0
0
0
5
0
0
12
0
-15
-1
0
0
0
7
0
-7
0
0
0
0
-29
0
-4
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
0
0
1
2
0
-5
-11
0
0
0
0
0
0
-46
0
0
0
-4
0
0
46
0
0
0
0
0
0
33
0
0
0
0
0
0
25
0
1
-5
0
0
-6
-9
0
-8
-1
4
0
0
-64
0
1
-14
0
0
0
34
0
-1
48
0
0
0
-10
0
-28
-1
0
0
0
-19
0
0
0
5
0
0
4
0
0
3
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-4
5
0
0
-9
0
0
-1
-3
62
0
4
-7
0
0
0
0
0
-1
1
0
0
0
0
0
-6
0
-7
-10
3
0
0
13
0
0
4
0
0
0
-7
0
12
4
0
0
5
-5
0
-6
-14
-6
0
0
21
0
-7
16
0
0
0
-1
0
0
0
-2
0
0
80
0
11
-5
3
-7
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
10
0
8
12
-6
46
-23
4
43
13
17
37
-37
5
-5
-19
6
-4
-7
-67
-23
20
36
-31
-6
17
-1
50
-27
-19
-40
24
-5
19
43
15
11
-34
-20
7
-8
72
10
19
13
82
-3
30
-4
-33
29
42
34
-17
41
38
0
19
-18
40
98
0
-24
-2
-6
54
-29
34
47
-19
3
-4
-47
57
9
-51
-2
56
-52
42
27
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-29
0
0
0
0
-4
0
13
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
-4
0
0
0
0
14
0
0
0
0
0
0
17
0
0
-3
0
0
0
10
0
-1
0
0
0
0
-2
0
0
0
0
0
0
40
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
-1
0
0
0
10
0
0
4
0
4
0
63
2
0
0
0
0
0
25
0
0
1
0
0
0
-61
0
-8
-1
4
0
-1
45
0
0
-3
-4
0
3
-40
0
2
6
0
0
0
-6
0
0
4
-6
3
0
27
0
-1
-2
7
0
1
16
0
0
3
0
0
0
44
0
17
0
0
0
0
28
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
2
1
21
-19
2
-38
0
-3
0
-20
39
0
35
-16
0
0
1
2
0
-15
54
-3
3
-1
0
-9
-85
-1
54
23
0
0
-29
58
0
22
-1
-22
0
24
-44
-3
-21
53
0
1
-17
25
6
29
-13
5
0
-4
-29
-3
-11
18
-2
0
1
108
0
-8
57
4
-4
0
30
0
-54
1
1
9
0
13
21
-17
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
-16
0
23
-5
41
2
-4
24
0
47
0
14
3
4
0
0
-2
0
87
6
0
-2
0
0
5
11
-1
2
19
0
0
-7
57
0
3
-14
0
-1
50
-50
0
54
26
0
0
29
19
0
1
8
1
0
14
35
0
115
87
0
0
2
63
0
0
38
0
-3
0
-22
0
-6
4
0
75
0
-35
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
-8
0
0
0
-2
0
0
-4
7
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
72
0
-5
2
0
0
-1
95
0
0
-10
0
0
12
5
0
-19
6
0
0
6
-19
0
1
-9
0
0
4
99
0
14
6
0
0
0
-29
0
2
0
0
0
0
19
0
-14
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
1
-20
0
20
6
0
0
0
0
0
8
0
0
0
0
0
1
52
0
14
-4
0
0
2
15
0
0
-4
-7
0
0
33
0
0
-12
0
0
0
-9
0
0
-10
5
0
0
-87
0
106
0
0
0
0
44
0
-7
-3
6
0
0
-46
0
-31
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-24
-22
-60
-65
-2
-8
-1
9
27
6
1
-7
0
-30
21
-49
-66
-57
-37
40
-7
-22
-88
-63
47
-45
-8
-5
4
49
-15
-7
-6
-4
11
17
76
2
-11
91
2
11
-30
25
20
-39
-11
-71
41
-4
-37
16
36
25
-19
23
0
-8
14
115
-21
3
2
-5
22
6
42
0
71
0
-3
7
-46
22
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
16
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
4
0
0
0
0
0
0
8
0
0
1
0
0
0
-61
0
0
12
-1
0
0
30
0
0
-4
-1
0
0
-53
0
-3
0
0
0
0
9
0
-3
0
0
0
0
8
0
-8
25
0
0
0
-81
0
0
0
0
2
0
13
0
2
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
-12
20
0
-40
15
-1
0
4
0
0
-75
10
0
8
1
0
-5
20
0
21
-5
0
0
-1
16
0
5
2
10
0
10
15
0
-18
0
0
0
13
56
-1
6
-16
2
0
5
39
0
63
5
0
0
0
9
0
1
0
-7
0
0
10
-1
-2
0
0
-3
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
40
-1
0
0
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
1
0
0
0
-8
2
0
0
4
0
0
0
-7
0
0
0
0
0
3
104
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
15
30
0
0
-47
0
0
0
0
0
0
33
0
0
2
0
0
-4
20
0
2
6
0
0
-5
12
0
0
28
0
0
0
23
0
29
-22
0
0
0
36
0
0
14
0
0
9
-13
0
12
38
0
0
0
-19
0
0
88
6
0
0
2
0
-17
0
0
0
0
-47
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-28
0
0
0
0
0
0
-47
0
0
0
0
0
0
-21
0
0
-1
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
-26
0
0
0
0
0
0
6
0
-8
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-47
18
-23
-4
-5
1
14
11
-8
15
-2
8
32
-16
-26
33
-9
1
-8
49
1
31
-39
49
96
21
41
22
13
10
-42
-40
-25
-8
7
-5
-91
19
13
7
-23
-9
-21
21
18
-35
68
-15
-8
12
66
-29
56
-2
19
0
5
-24
25
1
-2
0
7
-19
12
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
2
0
0
0
0
0
-2
0
0
-1
0
0
0
14
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
1
35
-9
0
0
0
0
0
2
0
8
13
0
0
3
33
0
0
0
0
0
0
-20
0
9
0
0
0
0
59
0
0
5
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
32
0
-4
-2
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
6
0
0
-4
0
0
-45
0
0
0
0
0
0
-7
2
0
-6
0
0
42
28
0
1
-5
0
0
-1
28
0
1
8
-2
0
0
-8
0
0
0
-5
0
0
1
-1
14
0
0
0
-5
77
0
1
0
0
0
0
-40
0
7
0
0
0
0
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
121
2
0
0
0
0
-5
-32
0
-1
46
0
0
3
-14
0
0
-5
0
0
-10
15
0
1
0
0
0
-7
1
-4
2
1
0
0
2
-28
2
53
5
0
-8
0
89
0
2
-1
-1
0
0
20
0
17
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
30
0
0
-5
0
0
49
30
0
4
0
0
13
18
0
-10
-9
-3
0
-15
42
0
-2
39
15
0
-45
-4
0
-4
-1
0
0
55
-62
0
-3
6
59
0
1
23
0
-23
-43
0
0
3
-39
0
0
-37
-7
0
0
-6
0
-3
41
0
0
0
16
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-12
-27
65
-29
-19
7
-31
-10
134
37
34
-73
10
52
7
-24
56
-38
19
-28
50
23
-70
15
-8
-10
45
0
26
2
-25
-24
-20
36
-4
-25
-5
28
-41
-91
-5
20
-10
-4
81
-28
-6
-22
12
7
5
23
-7
13
44
4
0
-5
-45
-12
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
33
0
-10
2
0
0
-1
21
0
0
-8
0
0
0
24
0
3
5
0
0
1
-71
0
0
0
0
0
0
-9
0
4
0
0
0
2
-56
0
0
5
0
0
0
22
0
-7
-1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
4
0
0
0
28
0
0
0
0
0
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
36
0
0
7
0
0
0
-13
0
0
8
0
0
0
-3
0
0
8
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
-66
0
-10
0
0
0
0
79
0
0
-7
0
0
0
-39
0
12
0
0
0
0
-17
0
0
2
0
0
0
-43
0
19
0
0
0
0
-25
0
0
3
-1
0
0
16
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-3
0
0
0
0
-21
0
0
0
0
0
0
5
0
0
7
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
57
28
-26
0
-4
-20
33
35
77
74
27
8
54
-1
0
33
8
46
42
43
-40
0
-18
1
37
-27
-11
-7
-22
6
1
-10
5
20
13
0
14
47
75
-10
-14
4
0
51
10
-1
42
0
5
20
5
4
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
3
6
44
0
0
-8
-47
-9
20
-6
0
0
29
7
6
-55
-26
0
-1
0
-25
4
0
-9
3
0
4
-27
0
-9
0
0
0
0
24
0
0
5
7
-6
0
20
0
17
0
0
0
0
82
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
-5
0
0
0
8
20
0
0
-9
0
0
0
-31
0
12
1
0
0
0
-3
0
0
0
0
0
0
4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
9
0
0
0
3
-36
0
-6
0
-1
0
0
-7
0
0
-4
0
0
0
-20
0
3
-12
0
0
0
2
-1
0
0
-1
0
0
30
0
-1
0
0
0
0
-58
0
32
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
4
0
0
0
-21
0
0
0
0
0
0
29
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
0
1
-30
7
0
-2
23
0
-41
8
0
0
-1
-56
0
0
-29
0
3
4
8
0
30
-4
0
0
0
3
0
2
0
2
0
0
81
0
9
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
11
10
58
-10
33
-32
54
-15
26
35
116
-12
13
-85
6
9
-42
-6
-19
55
47
-9
2
-30
7
23
44
-1
-36
0
-25
-74
30
-14
-2
18
1
1
-50
0
3
25
-10
37
-17
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
3
-4
0
0
0
16
0
-2
4
0
0
0
-7
0
0
1
0
0
0
15
0
1
0
0
0
0
75
0
0
0
0
0
0
2
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-3
-14
-31
19
0
53
-39
1
6
50
-3
0
12
19
4
0
-13
-7
2
32
8
0
34
31
-4
0
-2
-28
0
1
38
-40
3
0
-13
0
45
-5
3
-7
0
-40
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
32
-2
-5
-20
-2
-14
-12
22
0
-19
1
0
2
-3
-105
1
-9
12
33
-10
6
-48
0
9
40
2
-1
3
-41
0
1
8
1
3
0
7
0
35
1
0
-3
0
26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
1
0
0
0
9
0
0
-3
0
0
0
23
0
0
3
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-28
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
57
0
16
25
0
0
0
-34
0
-4
-58
-1
0
0
-107
0
12
1
0
0
0
-21
0
0
-4
-3
0
0
-15
0
-8
0
0
7
0
-48
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
11
32
-22
-18
34
58
54
31
11
-30
46
11
60
147
-35
-1
-5
35
19
-38
-21
24
3
-42
42
27
-81
-1
8
0
61
-5
-4
54
21
-2
33
12
10
48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
-5
0
0
0
18
0
-7
-7
0
0
0
4
0
2
0
0
0
0
-5
0
0
0
0
0
0
94
0
0
0
0
0
0
45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
20
-5
0
0
0
-9
0
0
73
-15
0
0
30
0
4
0
0
0
0
-52
0
0
4
1
0
0
-59
0
3
0
0
-6
0
51
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
16
0
3
-71
-3
6
1
28
0
8
48
-9
-6
23
70
0
1
29
0
0
-5
-18
0
2
12
-1
-8
0
78
0
-21
10
0
0
0
2
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
0
5
14
0
0
1
59
0
0
-2
0
0
0
59
0
17
-5
0
0
-3
30
0
-1
0
0
0
0
-41
0
-3
0
0
0
0
142
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
46
0
-1
13
5
-2
0
-69
0
30
-7
0
0
0
-28
0
0
-1
8
0
0
25
0
21
0
0
1
0
-16
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
-42
17
49
-49
30
-92
3
-3
5
24
-6
38
-8
-13
-7
21
50
17
53
15
-2
27
40
-31
-13
59
-1
-1
0
14
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
83
0
-2
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
-3
9
-3
0
-13
10
0
51
22
-3
0
0
-9
0
0
30
20
0
0
11
0
7
0
12
15
5
44
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-3
-33
0
0
-35
0
-45
-6
2
0
2
-20
0
6
-1
3
0
6
27
0
28
0
0
7
0
27
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
3
0
0
0
-19
0
5
0
0
0
0
27
0
0
0
0
0
0
-8
0
-5
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
-25
0
-9
0
0
0
0
9
0
-1
0
0
0
0
-49
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
-40
13
0
1
0
34
0
0
0
5
0
0
72
0
-13
0
0
-1
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
-15
-2
-15
78
11
-2
-13
15
24
21
-8
7
25
-6
17
-1
-16
-13
0
18
6
7
-14
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
9
0
3
0
0
0
0
24
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
72
0
17
12
0
0
-3
-55
0
0
1
0
0
0
-11
0
-6
0
0
0
0
-17
-12
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
71
1
-12
0
-4
-1
-2
5
0
0
0
-17
0
0
56
0
-4
8
0
29
0
67
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-19
-17
0
0
0
8
0
3
-8
0
0
0
-17
0
-3
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-3
7
0
0
0
25
0
0
0
0
0
0
-32
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-1
0
0
-91
0
17
1
0
-1
0
-39
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
34
-14
83
-16
9
-17
-14
-10
-6
-3
22
1
14
-1
-25
31
-21
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-78
8
2
65
-5
13
0
-44
8
24
0
0
7
-1
74
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
6
41
-2
0
-20
0
24
0
0
-2
0
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
22
0
12
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
-4
5
-2
-46
5
54
42
4
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
1
0
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-4
0
0
-2
0
27
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
25
0
0
0
0
-48
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
20
-2
-5
-35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
1
0
0
0
0
1
0
15
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
29
29
0
0
-9
0
0
0
57
0
0
-9
0
0
-3
-69
0
0
0
0
0
0
-1
0
-39
0
0
0
0
-10
0
0
0
0
-3
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
10
0
0
0
-2
0
0
11
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
-35
0
0
0
0
0
0
33
0
0
0
-2
0
0
-116
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
0
4
-8
0
0
0
30
0
0
3
0
0
0
11
0
0
0
0
0
0
11
0
0
1
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-34
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
-16
-12
-41
3
-18
-13
-5
-26
-38
79
17
20
-18
14
4
-9
30
44
11
31
12
2
12
-46
48
-50
-20
8
-6
-14
21
-35
19
-26
29
12
4
-51
-66
-14
10
-28
38
-29
11
-12
28
5
17
0
118
-13
-25
21
47
81
11
-14
42
53
62
-39
-3
14
-11
28
54
-20
2
19
8
-12
19
19
28
-21
-38
9
51
-4
-9
12
26
-12
1
7
59
24
10
22
8
-7
-1
91
61
7
22
10
-25
14
27
8
21
-12
20
6
2
27
-27
8
13
9
-18
30
-15
-25
-20
58
-24
-16
-12
8
-16
28
-13
5
5
-9
-37
8
33
9
-49
0
0
0
0
0
0
0
20
4
21
-17
52
34
-25
4
-12
-23
-3
17
19
0
-15
3
11
-6
1
16
79
-24
-13
23
6
-14
17
-13
37
-13
25
-37
34
-35
-35
-5
6
-8
6
-18
-14
43
-2
7
-13
11
-12
40
61
29
7
10
61
-38
-23
18
-10
-2
27
14
6
40
-29
27
17
8
12
4
-4
10
8
4
-32
4
32
-59
15
37
-7
-23
33
2
15
21
-42
-2
-19
71
16
42
42
45
-6
53
87
-14
-16
-6
52
0
-66
-13
38
-38
-25
-48
16
-25
17
-1
-16
-17
-25
15
44
23
-38
-2
27
1
-8
-14
-17
58
14
50
-13
3
-20
13
-19
55
3
36
-4
-60
-4
-5
-40
18
-26
1
15
12
0
-15
55
31
-12
59
55
34
30
-3
11
7
13
-2
-21
1
-33
-22
-18
-67
-2
25
-15
-80
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
5
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
3
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
24
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
2
0
0
0
10
0
0
0
0
0
0
22
0
0
-6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
1
0
0
0
41
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
0
0
-25
0
0
0
-6
0
0
-4
0
0
0
-3
0
0
91
0
0
0
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
3
-10
0
0
0
0
0
-23
0
0
8
0
0
0
0
0
0
0
0
0
64
-2
0
0
-8
0
0
-4
-4
0
0
0
0
0
-13
-8
0
0
18
0
0
0
5
0
-27
0
0
0
0
-10
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
58
0
0
-6
0
0
8
67
0
0
-5
0
0
-2
-20
0
0
5
0
0
0
12
0
0
-8
0
0
0
15
0
0
-7
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
20
0
0
0
0
0
-22
0
16
0
0
0
0
-30
0
0
3
0
0
0
53
0
-2
0
0
0
0
74
0
1
0
0
0
0
21
0
0
0
0
0
0
34
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
34
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
4
0
0
7
0
0
0
35
0
0
3
1
0
0
20
-1
0
-40
2
0
0
1
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
10
0
0
0
-3
0
7
1
0
0
0
0
0
43
0
0
-6
0
0
0
0
0
0
0
0
0
-14
36
0
0
5
0
0
0
-4
0
0
1
0
0
0
17
0
0
-2
0
0
0
52
0
0
-8
0
0
0
20
0
0
0
0
0
0
53
0
0
0
0
0
0
19
0
0
2
0
0
0
22
0
0
-14
0
0
0
20
0
3
42
0
0
22
-22
0
0
5
0
0
0
42
0
0
-8
0
0
1
22
0
0
10
0
0
0
13
0
0
0
0
0
0
-41
0
0
-4
0
0
0
20
0
0
0
0
0
0
-2
2
0
0
0
0
0
-4
0
19
0
0
0
0
37
0
0
0
0
0
0
49
0
-1
-8
0
0
0
-3
0
-1
4
-7
0
0
-14
0
1
2
1
0
0
15
0
0
0
0
0
0
30
0
-10
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-10
0
0
4
0
0
2
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-17
0
0
2
0
0
0
-4
0
0
1
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
20
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
-1
0
0
4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
57
0
0
2
0
0
0
6
0
0
52
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-13
0
0
92
0
0
0
2
0
0
7
0
0
7
-1
0
0
0
0
0
0
8
0
32
0
0
0
0
-11
0
0
0
0
-4
0
83
0
0
0
0
0
0
43
7
0
0
0
0
-16
27
0
16
0
0
0
0
41
0
0
0
0
0
0
82
0
0
-6
0
0
0
21
0
0
-14
0
0
0
49
0
0
-4
0
0
0
-32
0
0
-4
0
0
0
-5
0
0
0
0
1
0
26
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
8
0
0
0
0
41
0
0
0
1
0
0
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
-15
0
12
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
27
12
-12
30
-13
15
41
109
41
-19
87
-10
52
-15
41
50
7
28
-19
49
-2
73
20
-33
-34
23
26
-71
57
-22
-2
-74
-31
32
-8
-28
54
-10
13
6
57
0
39
3
1
2
20
-64
19
-18
-3
25
68
37
-58
-3
36
26
-13
-33
-48
28
-11
-7
4
-53
-4
-8
-3
-11
42
1
68
-3
16
31
9
15
75
-30
46
20
-15
15
-2
53
25
-23
-53
8
-27
-1
28
6
-30
1
42
-50
-15
24
-5
-3
13
2
-10
14
-25
-5
-27
-61
-9
-4
2
60
18
-72
-54
-2
46
38
42
-39
39
23
-28
0
0
0
0
0
0
0
-17
30
11
67
-37
48
-3
-4
7
14
11
15
8
-31
13
1
27
-7
-16
13
51
27
-7
51
10
-30
23
-15
42
13
48
18
-16
-1
-42
10
25
8
-1
-8
54
7
-18
-12
-14
19
45
-6
-3
5
1
-28
-1
-6
-7
-31
-14
4
-4
-111
-21
-22
-1
8
-13
-41
14
8
3
-15
5
0
4
18
-13
-43
18
19
-13
-27
32
-47
-9
-9
13
2
-6
40
0
57
-47
44
13
54
-7
12
40
21
-9
3
-43
52
-2
-1
-5
-13
5
48
30
2
-29
-7
-54
-14
26
13
-17
3
1
-45
-8
35
43
61
-23
39
10
-33
-29
-43
-3
0
-9
28
6
13
-8
-25
-41
57
50
29
-38
42
4
-33
-5
-25
-10
54
18
-19
61
12
-43
-16
64
40
11
-34
53
-1
-5
29
-40
82
66
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
-37
0
0
0
0
0
-8
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
-2
0
0
6
1
0
0
3
-2
0
3
0
0
0
3
0
0
0
1
0
0
0
-5
0
-7
0
0
0
-2
0
0
0
0
0
0
-1
0
14
0
0
-1
0
0
0
0
0
-18
0
0
0
0
0
2
-19
0
0
-1
0
0
0
0
0
0
0
0
0
-4
49
0
0
3
0
0
0
30
0
0
2
0
0
0
-19
0
0
0
0
0
0
8
0
1
0
1
0
0
-47
0
0
0
0
0
0
70
0
0
0
0
0
0
51
2
0
0
0
0
3
31
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-31
0
-5
5
0
0
1
4
0
0
-8
0
0
0
-19
0
-3
0
8
0
-2
0
0
0
6
0
0
0
5
0
0
6
0
7
0
25
0
0
0
0
0
0
9
0
0
0
0
0
2
-18
0
-1
0
0
0
0
-8
0
3
0
0
0
0
10
0
-4
7
0
0
0
-2
0
-8
4
0
0
0
-7
0
1
0
0
0
0
-10
0
0
0
0
0
0
-19
0
-2
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
4
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
-5
0
0
0
1
-1
0
0
0
0
1
-5
0
0
8
-3
0
0
4
0
-16
5
0
0
0
0
9
0
0
0
0
-2
0
23
0
-2
0
0
0
-2
0
0
0
0
0
-28
0
0
-1
-36
-3
0
37
0
0
0
-15
-6
0
15
-7
0
-3
22
0
0
-38
-10
0
10
13
-4
0
-46
-8
0
0
9
0
0
-18
12
0
0
1
41
-1
0
0
-18
0
0
0
0
0
-32
15
9
6
0
0
6
13
4
2
33
-3
0
0
0
0
0
0
0
0
0
-51
0
31
10
-5
0
-9
-19
0
-1
7
19
0
47
24
2
0
28
0
0
31
-7
0
-19
-8
34
0
0
-23
0
-3
6
4
0
0
26
55
-18
0
3
0
0
34
22
5
0
9
0
8
59
4
-13
-16
-5
0
12
-19
0
15
32
0
0
92
33
0
-7
96
-2
0
26
57
0
-13
98
0
0
-23
43
0
-3
57
1
0
18
5
0
0
-5
0
0
8
-44
0
-7
0
9
0
0
40
0
0
0
0
0
0
-52
28
0
0
0
0
-4
10
3
-55
-6
0
0
-41
25
0
16
85
0
0
5
-45
0
68
17
0
0
4
-35
0
52
8
7
0
-1
-15
-8
-6
-12
0
0
2
-1
0
2
-14
0
0
0
18
0
-19
0
0
0
0
70
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
7
15
-16
0
-1
-2
41
24
5
-5
-5
5
25
-4
-2
1
0
0
-4
-5
18
-2
0
0
4
-4
0
-7
0
-2
-5
0
-5
0
0
-18
0
-5
0
4
-1
-1
105
-3
1
0
0
3
-23
8
0
65
34
-4
48
2
-6
0
28
7
-8
-48
57
21
56
78
20
35
42
9
-13
0
33
0
-10
-36
34
0
3
-17
3
15
-66
-5
0
0
19
-9
0
0
-13
0
0
-1
-22
-34
0
0
42
0
0
0
51
0
26
9
26
0
-1
0
12
30
0
0
12
8
0
0
0
0
0
0
0
0
-20
-10
-3
5
69
4
2
86
13
8
-4
43
5
-2
-47
-18
0
8
10
0
-5
0
-16
0
-22
-3
19
0
6
-15
0
-1
1
0
12
0
4
62
24
0
0
0
0
-22
-4
0
-9
0
0
-3
-25
-6
-8
-39
2
0
-46
1
0
7
-1
-1
0
72
-16
0
-10
-12
10
0
56
7
-6
0
89
-5
4
1
-9
-14
2
3
-18
-3
2
-9
-10
29
13
0
4
9
-18
0
0
16
17
-11
0
-26
0
1
0
4
4
0
11
-24
-4
9
0
0
13
104
13
73
-21
5
0
-6
115
0
-3
147
5
0
12
-42
3
15
44
18
-7
-4
14
-2
-8
21
72
9
0
46
1
-79
-12
0
1
0
-43
7
-3
5
-9
-1
0
15
0
-10
-1
1
1
0
50
15
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
5
0
10
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-36
0
0
-2
0
0
22
0
0
0
0
0
7
22
0
0
0
0
0
0
0
0
0
8
1
28
0
0
8
-1
0
0
0
0
10
0
4
0
0
-3
4
0
0
-8
0
0
5
8
0
0
2
2
2
5
1
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-8
0
0
0
-8
0
7
0
5
0
0
0
0
-16
0
0
2
0
0
0
0
0
0
0
0
0
34
88
0
-9
23
2
0
-2
4
0
2
-4
0
0
2
10
0
0
6
0
0
0
27
0
55
0
-1
0
0
36
6
0
0
0
0
0
46
3
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
0
13
-4
0
4
0
0
0
-61
0
0
13
-49
-1
0
-6
0
0
2
21
0
0
-1
0
1
0
-31
0
0
-2
0
2
-5
61
0
0
-2
2
-4
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
64
0
0
0
0
0
0
2
0
3
-1
0
0
1
0
0
0
11
0
0
0
67
0
3
-2
0
0
3
5
0
0
9
4
0
0
-17
0
-1
0
0
0
0
12
0
5
-1
1
0
0
-6
0
23
0
0
2
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
10
0
0
7
0
0
0
2
2
0
9
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
66
0
0
-1
0
0
12
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
10
0
0
8
-1
0
0
36
0
0
2
1
0
0
0
0
0
6
0
0
0
-1
0
12
0
1
0
0
12
0
0
0
-3
0
0
0
4
-7
0
0
0
0
0
0
0
0
41
1
3
0
0
0
2
40
0
0
-1
0
0
0
0
0
0
0
0
0
1
49
0
0
1
0
0
1
-32
0
0
3
0
0
-5
25
0
0
0
0
0
0
4
0
9
0
-6
0
-1
41
0
0
0
0
0
0
47
0
-3
0
0
0
0
53
0
0
0
0
0
0
16
0
0
4
0
0
0
-17
0
0
-6
0
0
0
-17
0
3
4
0
0
-1
4
0
0
-4
0
0
0
-1
0
5
-5
-8
0
0
60
0
0
0
0
0
0
-7
0
0
2
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
2
0
0
0
0
10
0
0
-2
0
0
0
25
0
-3
0
0
0
0
-30
0
0
0
0
0
0
-6
0
3
-1
0
0
0
-2
0
8
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
1
0
5
-23
0
2
2
2
0
1
0
0
0
13
0
1
0
-1
0
0
2
0
0
0
-8
0
-1
0
0
0
-10
1
0
2
0
0
-25
0
0
0
0
2
-4
2
0
0
0
2
1
-3
0
-1
2
4
-2
52
-1
0
0
53
0
0
-11
9
0
-1
16
-6
-4
44
-1
-2
0
-1
0
-1
2
-6
0
-2
29
-3
6
-1
0
5
0
1
0
13
0
31
0
0
0
0
50
0
0
-5
0
0
-1
-2
4
-36
3
-2
-1
0
0
-2
-66
0
0
22
0
0
0
0
0
0
0
0
0
-43
-67
2
0
-3
0
0
12
50
0
0
4
0
0
6
8
0
0
36
-1
0
0
-29
0
46
8
-5
0
0
14
0
0
1
0
0
0
-29
-7
8
0
0
0
0
3
0
0
0
0
0
0
-15
3
0
0
7
0
5
47
0
0
10
0
0
26
14
17
1
-2
-4
0
5
9
0
0
-3
0
0
-3
51
0
0
-29
3
-3
2
-78
0
0
-2
5
1
0
-25
0
0
3
15
0
0
39
0
0
0
0
0
-3
21
1
0
0
0
0
0
68
5
21
17
0
0
-1
20
0
-2
8
2
0
2
5
-1
10
22
0
0
0
11
0
0
0
1
7
0
8
0
20
5
0
0
0
58
0
0
-7
3
0
0
44
0
-3
-4
0
0
0
-25
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
-5
0
2
-3
4
1
2
-2
-10
2
0
27
39
0
0
0
-1
-4
7
4
0
0
24
0
-1
0
-2
0
-8
0
0
5
0
0
3
1
0
0
0
0
2
-37
0
0
0
0
10
5
0
-2
-33
-14
0
31
-4
0
5
19
1
12
-21
34
15
-18
32
44
21
-58
45
0
0
49
4
-10
-32
4
-1
0
-20
2
41
-2
33
0
0
-37
0
-4
-3
5
0
0
0
45
-7
0
1
-22
0
0
0
-4
0
33
-1
57
-3
-18
0
34
20
0
0
-30
0
0
0
0
0
0
0
0
0
-21
5
0
46
33
-8
-1
28
-30
-1
6
73
4
0
-21
-33
0
0
11
0
0
53
-3
0
14
1
18
0
6
-17
-2
-3
1
-7
29
0
26
16
-35
0
29
0
0
23
-9
0
0
25
0
31
-10
26
-9
12
-6
-13
-6
7
-10
8
13
-3
-5
80
36
4
-24
66
-7
0
64
-12
-22
9
-18
0
-10
-6
17
-5
-10
-22
-14
-16
10
-26
0
3
-1
2
-8
5
-28
0
-8
-2
-42
14
0
31
8
0
0
-13
0
0
-51
-7
1
0
-1
0
2
45
24
-39
-9
2
0
38
13
-4
15
32
31
-13
6
-17
0
19
60
-5
0
58
-15
-7
-8
-16
65
-15
32
-4
0
-29
26
5
0
14
-7
-2
-1
21
28
-1
0
6
0
-90
-8
-4
-17
0
62
0
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
-8
0
0
0
0
1
17
2
0
1
17
17
0
0
0
0
12
0
0
0
0
1
0
-3
0
0
0
50
0
0
-3
0
0
-26
0
0
0
-3
0
-17
0
0
0
0
0
13
-1
6
0
-6
0
0
16
0
0
0
-2
0
0
24
-5
0
-1
-25
0
0
-15
-5
0
0
-44
0
24
-8
-2
0
17
20
0
0
-1
0
0
0
0
0
-6
-2
5
0
0
0
0
-31
0
14
3
0
0
2
-14
0
18
-14
-3
0
0
0
0
-54
0
0
24
0
0
0
0
0
0
0
0
0
65
36
0
0
18
0
2
14
19
0
0
28
0
-8
-2
34
0
0
12
0
0
1
31
0
23
12
0
0
0
-47
0
0
0
0
-2
0
-16
-13
8
0
0
0
1
-17
-2
0
0
0
0
0
9
5
-5
8
0
2
-29
-16
0
-3
-18
0
0
-16
-3
0
0
65
0
0
7
30
6
0
67
0
-3
2
-57
0
25
-26
0
0
32
17
0
-4
0
0
4
-2
11
0
0
-9
0
23
0
-16
-6
0
0
0
0
0
-21
5
0
0
0
0
2
91
0
-13
1
0
-2
2
-61
0
0
34
0
0
2
-63
0
25
2
3
0
5
38
-5
21
-16
0
-3
0
24
0
8
4
0
0
0
-11
0
3
0
0
0
0
37
0
25
-1
0
3
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
-43
0
0
0
0
0
0
2
0
0
0
0
6
-3
0
0
-7
1
0
68
0
0
0
16
0
0
84
0
0
0
-9
-3
0
-17
0
0
-6
-2
0
0
-2
50
0
4
1
0
0
-6
0
0
0
4
0
0
0
-2
0
0
0
0
-5
0
0
-1
0
0
0
0
0
9
0
1
0
0
0
6
-5
-2
0
-5
0
0
0
0
0
0
0
0
0
28
-22
0
2
65
0
0
43
-32
0
0
-9
-1
0
2
69
0
3
-13
0
0
29
30
0
-46
0
0
0
0
27
0
0
1
0
0
0
-22
-10
19
0
0
0
0
-10
0
0
0
0
0
-3
34
-1
2
-2
0
0
66
22
0
0
-82
0
0
1
38
0
-3
72
0
0
0
28
0
0
9
9
0
-16
-25
0
13
-5
0
0
-10
20
0
0
0
0
0
0
-25
0
0
0
0
0
0
-63
0
0
0
0
0
0
44
0
0
0
0
0
0
13
0
7
5
0
0
-10
-68
0
-7
-4
-4
0
-4
55
0
-10
20
8
0
-5
22
0
4
13
0
0
1
-23
0
0
0
0
0
9
-25
0
0
0
0
0
0
81
0
5
-2
0
-1
0
21
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
51
40
33
-29
20
0
29
-18
-36
0
9
-3
-23
-21
-20
3
-8
21
54
-10
-7
-4
-5
9
3
0
96
0
4
-9
0
12
5
0
0
30
-27
0
9
-4
-15
-3
34
44
-22
-5
-36
58
-45
15
0
-24
-7
3
-1
13
-25
-28
18
37
-38
-14
2
-23
60
-8
-2
-25
6
12
-39
-2
40
12
54
7
12
-104
0
-1
-53
-7
27
20
17
0
0
49
-22
23
0
-2
-31
0
4
26
2
0
51
-48
-10
24
0
0
33
4
7
-4
2
7
2
0
0
0
0
0
0
0
14
17
-27
34
30
2
-42
41
33
18
-32
26
-24
4
33
5
-7
-24
25
-23
-38
-27
-3
0
9
-37
-4
-9
4
0
-1
1
-6
37
-38
0
11
-29
41
0
-7
0
0
0
-8
1
5
4
0
92
10
12
57
13
-6
46
-24
46
23
17
19
11
-7
31
41
5
-42
19
77
38
50
-16
17
38
20
17
-1
11
0
4
-34
39
-2
-52
61
-9
6
-1
9
15
29
23
-47
-5
-5
-11
13
28
0
-1
-17
-1
3
54
36
7
-12
9
19
-5
12
-1
7
-9
-8
-46
-9
5
-24
-6
-51
28
15
-28
36
-4
-53
-10
-33
20
31
6
6
-13
-34
9
15
40
0
-50
67
15
0
44
47
1
20
-26
-10
5
-1
-31
-10
-43
-2
-56
4
-4
-15
21
42
0
-67
2
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
6
0
0
0
0
0
-65
0
0
0
0
0
-2
19
0
0
0
0
6
-1
0
0
5
-9
0
-39
-1
0
0
40
2
0
70
0
0
0
17
0
-4
-34
3
0
0
-2
0
0
0
14
0
0
0
0
0
-1
13
0
0
0
0
6
1
1
0
0
0
0
-2
0
0
2
0
0
0
0
0
-12
-13
8
0
0
0
0
21
0
0
24
0
0
0
0
0
0
0
0
0
57
0
0
4
-12
0
-1
0
63
0
0
-15
0
0
5
-16
0
0
-4
0
0
0
8
0
19
5
1
0
0
-33
0
0
0
0
1
0
84
-3
0
0
1
0
0
9
0
0
0
0
0
0
16
-1
4
0
0
0
17
15
0
0
-43
0
0
24
0
1
0
131
0
0
4
12
0
0
47
1
0
0
24
0
0
0
0
0
1
-18
0
-2
0
0
0
-2
40
0
0
1
4
0
0
36
1
0
0
0
0
0
-29
-5
0
0
0
0
0
-3
0
2
0
0
0
0
34
0
0
-5
4
0
29
0
0
69
31
0
0
0
13
0
0
-3
0
0
1
15
0
-10
7
0
0
0
35
0
1
-2
5
0
0
-9
0
-1
0
0
0
0
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
72
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-12
0
3
30
0
0
0
-1
0
0
2
-10
0
0
0
0
0
-6
0
0
0
1
0
0
-2
-6
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
20
0
0
0
0
0
0
49
0
0
-2
0
0
0
0
0
0
0
0
0
-24
-51
0
0
23
0
0
2
16
0
0
0
0
0
-5
1
0
0
4
0
0
0
22
0
3
0
0
0
0
-21
0
0
0
0
1
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
28
0
-4
3
0
0
0
57
0
0
8
0
0
-2
26
0
-1
7
0
0
2
85
0
0
6
0
0
0
10
0
0
-1
0
0
0
-1
0
0
0
0
0
0
56
0
0
0
0
0
0
61
0
0
0
0
0
0
40
3
0
0
0
0
0
1
0
-3
0
0
0
0
-17
0
0
3
0
0
0
40
0
0
0
0
0
0
-25
0
8
-1
0
0
0
-2
0
-8
0
0
0
0
13
0
0
0
0
0
0
14
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
14
0
0
24
0
0
-44
0
0
0
0
0
0
-3
0
0
0
0
4
-3
0
0
0
8
0
-34
0
0
0
0
0
0
-33
6
0
0
0
0
0
23
-5
0
0
-1
0
0
4
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
-56
0
-4
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
4
32
0
0
-3
0
0
8
28
0
4
-24
0
0
2
-30
0
0
-1
0
0
0
4
0
-4
0
0
0
0
54
0
0
0
0
0
0
-11
0
0
0
0
0
0
47
0
0
0
0
0
0
-34
0
0
1
0
0
-3
8
0
0
-1
0
0
0
-33
0
0
17
0
0
-6
20
0
0
6
0
0
0
2
0
4
0
0
0
0
-14
0
0
-5
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
0
0
0
21
0
-1
0
0
0
0
1
0
0
-2
0
0
0
-2
0
0
-7
0
0
0
3
0
0
0
0
0
0
23
0
8
0
0
0
0
10
0
0
0
0
0
0
59
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
9
-6
0
14
-5
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-26
0
0
-16
0
0
-36
0
0
0
0
0
0
31
0
0
0
0
0
-1
0
2
17
-4
-1
-7
0
0
6
69
6
0
129
8
0
-8
7
-3
-7
57
17
1
0
22
0
-1
9
-5
0
1
0
0
0
3
1
0
0
3
0
-1
0
4
0
0
0
-2
-19
0
0
-31
0
0
0
-1
0
18
8
-5
0
0
0
0
-11
0
0
24
0
0
0
0
0
0
0
0
0
-36
52
-1
0
0
0
7
40
35
-2
0
-65
50
0
-1
1
0
0
5
0
0
5
-12
0
-46
0
-2
0
19
10
0
0
-2
0
0
0
83
1
0
0
1
0
0
-35
1
0
0
0
0
-1
-21
12
1
0
0
0
-2
-22
0
2
9
0
0
-31
9
0
0
37
0
3
2
15
0
0
-19
-4
0
-2
-13
8
0
9
-2
0
1
-83
0
0
-1
0
5
0
-41
0
0
0
-13
0
0
-50
0
0
0
-6
0
0
46
0
3
0
0
0
0
21
1
18
0
0
0
0
-16
8
-20
0
0
0
-3
-41
-3
8
5
-3
0
1
-4
0
-3
0
0
0
-3
-38
0
24
0
0
-3
-3
35
0
0
-1
6
0
0
-24
0
9
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-8
0
0
65
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
25
0
0
-2
-8
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
34
0
0
0
0
0
0
0
0
29
-1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
27
0
6
1
0
0
-1
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
14
0
0
0
0
8
0
0
0
0
-4
0
32
0
0
0
0
0
0
-22
0
0
0
0
0
0
25
0
-6
0
2
0
0
-9
0
0
-1
0
0
0
-22
0
0
8
0
0
1
2
0
0
1
0
0
0
63
0
0
0
0
8
5
-17
0
0
0
0
0
0
-5
0
0
0
0
-1
0
13
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
2
0
0
0
6
41
0
0
0
0
0
0
7
0
0
0
0
0
2
1
0
0
-1
0
0
0
8
0
-3
0
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
0
0
0
0
-10
0
0
0
0
0
-1
-4
0
0
0
0
-8
0
0
0
1
6
0
-28
1
0
0
48
0
0
-16
0
-1
0
-1
0
0
-78
0
0
1
-2
0
0
12
-3
0
-1
0
-1
0
-2
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
15
0
0
0
0
0
-40
3
3
0
0
0
0
20
0
0
-23
0
0
0
0
0
0
0
0
0
9
-20
0
0
21
0
0
5
24
0
0
26
-5
0
1
-5
0
4
18
0
0
0
-2
0
9
5
0
0
0
31
0
0
2
0
0
0
-24
5
0
0
0
0
0
-7
0
0
0
0
0
4
38
0
0
-6
-1
0
5
59
0
0
92
0
0
27
36
0
3
-77
0
0
-15
69
0
0
2
-1
0
0
73
0
-5
-4
0
0
4
-7
0
0
2
0
0
0
9
0
5
0
13
0
0
8
0
0
0
0
0
0
65
-4
0
0
0
0
0
-40
0
41
-8
0
0
-12
-41
0
3
21
0
0
2
-55
0
-5
15
0
0
1
-32
0
1
-4
3
0
-4
7
0
8
-1
0
0
0
0
0
0
1
0
0
0
59
0
28
0
0
0
0
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
12
0
0
0
3
7
-13
0
0
0
2
0
0
0
-26
0
0
-1
0
0
26
0
0
0
0
0
32
4
0
-8
0
0
12
4
0
0
62
5
0
10
4
0
-5
40
0
0
-21
-3
0
0
2
8
-2
-59
70
-1
0
24
0
2
9
10
0
-2
9
18
-2
2
35
-14
0
-5
0
-5
0
-3
0
0
0
-3
-65
0
-3
10
0
0
0
3
0
31
-1
-6
3
-1
0
-5
18
-5
3
-47
0
0
0
0
0
0
0
0
0
70
-42
0
-4
-38
1
0
45
-16
-1
0
40
4
-1
64
-31
0
0
1
2
0
2
-29
0
20
1
-5
0
0
-88
0
0
3
0
2
0
-1
0
3
0
0
0
0
5
5
0
0
0
0
-3
-5
17
-2
-2
1
8
6
16
-3
-1
7
0
-1
41
-20
0
37
17
-3
0
42
-31
0
-4
16
5
0
5
-16
0
-4
6
-6
-4
0
-8
0
0
-1
0
2
0
-9
2
0
1
0
19
0
14
1
-1
-1
0
0
0
-45
0
0
-4
0
0
0
-17
8
3
4
0
-4
0
-49
0
-20
9
6
-5
-1
102
0
6
8
-1
0
-12
111
0
13
25
6
0
-4
38
0
2
4
0
0
1
-2
0
1
-3
-9
-1
0
-72
0
1
0
0
14
0
48
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
0
0
-1
0
0
-1
-3
0
0
0
0
0
0
0
-56
0
0
0
0
0
-33
0
0
0
0
0
0
-16
0
0
0
0
-6
1
0
-3
24
0
0
-9
-2
0
-2
-37
0
0
17
9
0
15
23
-14
5
-6
0
1
-3
45
5
-4
-14
13
0
-1
38
17
1
3
22
5
0
-1
0
0
-1
12
0
0
0
0
-6
0
0
-4
0
0
0
1
0
48
8
2
0
0
0
9
28
0
0
30
0
0
0
0
0
0
0
0
0
38
24
0
3
-11
0
0
-6
0
-1
-6
-4
-10
0
6
-7
0
-2
-14
0
2
3
10
-2
59
1
-2
0
0
5
0
0
0
0
0
0
1
0
7
0
0
0
0
-20
5
0
0
0
0
4
-22
5
0
0
-1
0
-5
-21
0
0
-13
0
0
8
82
0
14
6
-1
0
7
0
0
0
-53
-3
0
4
36
0
6
2
-5
0
0
-6
0
0
-1
0
0
0
1
0
0
0
3
1
0
-10
0
0
0
0
0
0
3
-4
0
4
-3
0
0
4
0
6
-3
0
-1
-2
52
0
-5
38
0
0
0
21
0
-8
-8
0
0
0
0
0
22
16
-10
0
0
38
0
0
-4
0
0
0
-43
0
2
-1
-4
0
0
22
0
12
1
0
0
0
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
-12
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
0
1
0
0
-18
0
0
0
56
0
0
-1
2
0
0
27
-23
0
-26
-1
0
3
1
0
-5
0
-2
0
0
0
8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
8
0
0
0
-19
0
47
4
2
-1
0
0
8
-9
0
-4
13
0
0
0
0
0
0
0
0
0
49
-33
0
0
-5
0
0
25
7
0
-3
0
-6
0
-18
47
0
0
-8
0
0
0
-10
0
-13
0
0
0
0
-21
0
0
0
0
-6
0
-6
-1
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
8
0
0
-6
44
0
0
-9
0
0
2
2
0
0
-3
0
0
0
7
0
0
45
0
0
0
-44
0
0
7
10
0
0
60
0
0
0
0
0
0
4
0
0
-7
-3
0
0
50
0
5
0
0
0
0
-18
-6
-6
0
0
0
2
4
0
6
0
0
0
0
-37
0
-3
13
0
0
-1
23
0
1
0
0
0
0
-62
0
0
0
0
0
0
-2
0
6
-8
0
0
0
-1
0
10
-5
0
0
0
-20
0
-1
0
0
2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
1
0
3
0
36
0
0
-3
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
6
1
0
0
0
0
0
-31
1
0
0
-25
0
0
-4
0
0
0
18
0
0
0
2
0
0
-3
0
0
0
1
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
0
0
0
0
9
0
0
-1
0
0
0
0
0
19
-2
-5
0
0
0
25
-41
0
0
-1
0
0
0
0
0
0
0
0
0
-42
-30
0
0
-19
0
0
0
-6
0
0
7
5
0
-1
10
0
0
-2
0
0
0
-20
0
-15
0
0
0
0
-29
0
0
0
0
7
0
-15
0
0
0
0
0
0
-43
0
0
0
0
0
1
42
1
-2
1
0
0
0
-44
0
0
0
0
0
0
-14
0
0
-3
0
0
0
-3
0
0
0
0
0
0
9
0
0
-3
-5
0
0
40
0
0
-2
0
0
0
45
0
0
0
2
0
0
-8
1
0
0
0
0
0
25
0
0
0
1
0
0
-13
0
2
0
0
0
0
8
2
8
0
-1
0
0
4
0
0
0
0
0
0
-12
0
0
0
-1
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
0
0
1
0
0
18
0
0
0
0
0
10
2
5
0
0
0
-2
4
0
5
-9
-1
0
-21
1
0
0
73
0
0
4
0
0
0
-16
46
0
12
1
0
-6
14
0
3
0
-25
0
0
-14
0
0
3
4
0
0
0
0
-1
0
-6
0
0
0
2
-2
0
0
0
0
0
0
-2
0
12
22
5
0
1
0
9
103
0
0
1
0
0
0
0
0
0
0
0
0
-21
-1
-4
1
8
-1
0
4
70
0
0
8
0
0
3
-5
0
0
0
0
0
0
-1
0
-1
2
0
0
0
2
0
0
0
0
0
0
27
1
0
0
0
0
0
-30
0
0
0
0
0
1
38
0
3
0
0
-10
-3
-61
0
0
2
0
0
30
22
0
2
60
20
0
60
-47
0
-1
-6
0
0
0
-16
-8
0
0
-2
0
-1
3
0
4
3
0
0
0
42
0
5
0
0
-1
0
56
0
0
0
0
0
0
-48
0
-6
0
0
0
5
-27
0
-2
3
0
0
0
39
0
0
1
-1
0
4
7
0
-1
-5
0
0
0
3
0
0
0
0
0
3
-52
0
48
13
1
0
0
40
0
0
0
-3
0
0
-48
0
-7
0
0
0
0
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
0
0
9
0
0
4
0
0
-33
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
3
0
6
-97
0
0
0
-25
0
0
41
3
0
0
6
0
0
7
0
0
0
2
0
3
7
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
8
0
0
0
-1
0
17
0
0
0
0
0
2
-76
0
0
-19
0
0
0
0
0
0
0
0
0
22
-40
0
0
20
0
0
86
7
0
0
-17
0
0
-8
76
0
0
21
0
0
-1
11
0
-3
0
0
0
0
-11
0
0
0
0
8
0
54
-9
7
0
0
0
0
16
0
0
0
0
0
0
-64
0
0
-3
0
0
4
-54
0
0
-19
0
0
19
69
0
0
-9
0
0
8
15
0
0
4
0
0
29
-25
0
0
30
0
0
0
40
0
0
17
0
0
0
-27
0
0
0
0
-2
0
-39
0
-1
0
0
0
0
14
0
0
0
0
0
-7
20
0
-16
0
0
0
0
46
0
0
5
0
0
0
5
0
1
2
0
0
0
58
0
0
-3
0
0
0
52
0
-5
2
0
0
0
0
0
0
0
0
0
0
22
0
-2
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
-16
0
0
1
0
0
-19
0
0
0
0
0
-9
-7
0
0
0
0
-8
3
0
0
4
-1
0
-36
0
0
1
8
0
0
43
22
0
12
-32
-7
0
-39
4
0
0
-9
0
0
-40
47
0
0
-7
8
0
50
0
0
0
4
0
0
9
0
0
0
0
23
3
0
0
-5
0
0
0
0
0
-17
-2
8
-1
0
0
0
-24
0
0
-43
0
0
0
0
0
0
0
0
0
47
61
0
4
30
0
0
8
11
0
-3
-38
6
0
-16
78
0
0
72
0
0
0
16
0
39
-50
47
0
3
-26
0
0
0
0
0
0
-12
21
1
0
-8
0
0
18
-5
0
0
0
0
14
65
0
17
-42
0
0
7
-30
0
1
-2
0
0
12
57
0
-17
62
3
0
67
-25
0
0
-60
0
0
9
-16
0
0
42
25
0
-2
13
0
0
6
0
0
0
10
0
-2
1
-13
0
0
-3
0
0
0
-1
0
0
-31
27
0
0
0
0
1
52
0
-9
-10
-5
0
1
21
6
-38
-44
-2
0
10
21
0
-15
90
0
0
-1
12
0
0
-5
-8
0
0
-7
0
-6
14
0
0
-6
65
0
0
8
8
0
0
55
0
24
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
-1
0
9
8
0
0
-1
0
-20
-7
0
0
0
0
-1
0
0
0
0
0
-3
3
9
0
0
0
50
-16
1
1
21
-56
42
1
4
8
0
-24
1
-1
38
1
0
0
48
6
19
-65
35
0
5
47
-5
44
15
33
-1
0
37
1
-5
0
7
9
0
-16
4
10
0
17
0
0
0
5
35
0
3
-14
0
0
0
9
3
-20
-9
-12
0
6
0
-16
10
0
1
62
0
0
0
0
0
0
0
0
0
1
-21
3
-2
65
5
0
3
-2
0
16
10
-8
2
2
-51
0
-1
3
-3
0
0
-19
-8
-46
-19
-51
-6
0
25
0
-2
-2
0
19
0
-9
-6
0
0
0
0
0
-43
2
0
-2
2
0
4
12
27
-4
98
-4
0
14
-21
-2
0
42
0
-8
-8
8
-4
-36
26
-4
1
-5
-24
7
-3
-13
5
-3
2
-5
-4
-9
9
27
0
-1
3
4
0
-8
0
13
0
-48
2
-8
-3
2
-20
0
15
-2
0
0
-3
0
0
-59
12
1
0
14
0
0
-52
-8
-67
-6
3
-4
-8
-19
4
32
4
0
0
32
9
-4
-86
-12
-32
0
1
39
0
-2
59
48
-2
0
-31
0
-15
-5
0
-2
0
-63
0
3
3
2
0
0
-24
0
59
-5
-6
2
0
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-49
-2
0
0
0
0
16
0
0
0
0
0
1
14
0
0
0
0
0
0
-1
0
19
0
4
7
-3
0
0
-15
2
0
-42
0
0
0
51
7
0
-14
-8
-1
0
28
0
0
4
0
0
0
14
0
5
8
0
0
0
-4
3
0
0
-13
0
0
0
2
-3
0
0
-2
0
0
0
0
0
-4
-2
-6
0
0
0
-7
1
-4
0
14
0
0
0
0
0
0
0
0
0
15
2
0
3
-27
0
0
5
-81
0
-1
-4
12
0
9
0
0
0
50
0
0
0
0
0
7
3
1
0
0
12
0
0
0
1
3
0
40
5
0
0
-1
0
0
-14
0
0
0
0
0
0
-108
0
-3
-5
0
0
0
51
0
0
7
0
0
8
-31
0
0
-7
0
0
4
-16
4
0
-27
-4
0
2
0
0
0
17
13
0
0
-9
0
0
1
0
0
0
-2
0
0
2
0
0
0
36
0
0
0
4
0
0
-1
5
5
0
0
0
-5
-18
0
-10
0
0
0
0
78
0
3
-9
1
0
-1
41
0
14
5
0
0
-2
4
-9
-9
4
-8
0
0
0
0
-13
9
-3
0
0
62
0
0
13
0
0
0
-19
0
4
0
0
0
0
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
10
0
0
0
0
0
27
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
0
26
0
0
0
15
0
0
-1
0
0
0
-4
0
0
7
-2
0
0
-5
0
0
7
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
50
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
29
0
0
-1
0
0
0
0
0
0
0
0
0
26
-48
0
0
11
0
0
-8
-1
0
0
0
0
0
-1
-5
0
0
0
0
0
0
5
0
13
0
0
0
0
-48
0
0
0
0
0
0
-63
0
0
0
0
0
0
9
0
0
0
0
0
-1
-10
0
0
0
0
0
0
64
0
0
4
0
0
0
-50
0
0
-4
0
0
0
-67
0
0
0
0
0
0
-3
0
0
-1
5
0
0
-50
0
0
0
0
0
0
-4
0
0
0
7
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
6
0
0
0
-13
0
2
2
0
0
0
-26
0
18
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
54
0
1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
-1
0
0
0
0
0
0
27
0
-1
0
3
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
18
0
0
6
0
0
0
1
0
36
1
0
0
0
0
0
-21
0
0
1
0
0
0
0
0
0
0
0
0
-14
48
0
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
-2
0
0
0
-7
-1
0
-3
0
0
0
66
0
1
0
0
0
0
25
0
0
0
0
0
-3
38
0
0
-2
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
61
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
2
0
0
0
0
-8
0
0
12
0
0
-1
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-100
0
0
0
0
0
-8
1
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
1
0
0
-7
0
0
0
8
0
0
3
0
0
0
-2
0
0
0
-3
0
0
4
-3
2
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
1
0
0
0
0
0
47
0
0
0
0
0
0
-15
0
0
-1
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
9
0
0
2
0
0
8
68
0
0
0
0
0
0
1
0
1
0
0
0
0
-29
0
0
0
0
0
0
8
-1
1
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
1
0
0
-1
-31
0
-1
-6
0
0
0
-1
0
0
-13
7
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
2
0
0
0
8
0
0
0
0
0
0
63
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-1
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
5
0
0
-1
0
0
2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
0
0
0
18
0
0
-8
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-8
0
-6
0
0
0
0
0
0
5
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-3
0
0
0
0
26
0
0
0
0
0
-59
0
0
0
0
0
-5
0
8
0
0
0
22
14
0
-6
-13
0
0
-32
0
0
0
-23
0
0
-34
-18
6
-1
2
-7
0
-14
-3
0
14
34
0
0
-2
3
0
0
0
-1
0
54
-10
1
-2
6
0
0
0
6
0
0
2
-1
0
0
0
1
0
7
0
0
0
36
-15
13
1
0
0
-1
44
0
0
44
0
0
0
0
0
0
0
0
0
48
9
-1
0
31
0
0
8
26
0
0
-1
1
0
13
-21
0
0
13
-4
0
-11
-5
0
1
-3
-8
0
-3
32
0
0
0
0
0
0
-8
36
-1
0
5
0
0
10
-5
0
0
0
0
-9
38
0
0
11
0
0
21
-3
0
0
64
0
0
24
6
16
1
37
4
0
20
22
0
-1
30
0
0
12
-8
0
-3
-33
-4
0
7
-94
0
0
16
0
0
0
8
0
0
-1
25
0
0
2
1
0
0
0
0
0
-22
6
0
0
0
0
1
-47
2
21
-30
0
0
4
31
0
1
-59
0
0
6
56
0
47
38
6
0
1
70
0
8
1
-4
0
2
-49
0
-2
1
0
0
8
-36
0
7
0
0
0
0
43
0
1
-2
0
0
0
6
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-53
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
14
0
5
-29
4
0
0
-5
0
0
27
-6
0
-1
-17
4
1
-3
6
0
0
1
0
-1
-10
0
0
0
-5
-1
0
0
1
0
0
5
0
2
0
38
0
0
-2
0
12
0
0
1
0
0
0
0
0
-12
0
-3
0
0
0
-1
-31
-3
0
16
0
0
0
0
0
0
0
0
0
6
-12
2
0
14
7
0
0
28
0
0
3
2
0
-1
8
0
0
-3
0
0
0
40
0
-4
-8
-7
0
0
-55
0
0
0
0
0
0
20
-2
0
0
0
0
0
64
0
0
0
0
0
0
2
0
0
13
0
0
-2
46
0
0
-9
0
0
0
-24
0
-1
1
0
-1
1
15
0
0
-7
10
0
-1
45
0
0
-2
0
0
0
16
0
0
0
0
8
0
15
0
0
0
3
0
0
-36
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
0
-7
0
0
0
0
-22
0
0
9
-4
0
0
15
0
-10
0
0
0
0
-10
0
3
0
-2
0
0
7
0
1
2
0
0
0
14
0
-4
0
0
0
0
2
0
19
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
71
0
0
0
0
0
-92
0
0
0
0
0
3
18
-3
0
0
0
1
6
0
0
9
-2
0
-57
0
0
0
36
0
0
61
-15
-1
0
20
7
0
84
10
0
1
-5
0
0
20
-5
0
0
-2
9
8
24
0
3
0
19
0
2
0
0
0
0
-2
1
0
0
0
-5
0
0
0
0
0
63
0
-1
0
0
0
-9
6
-4
0
1
0
0
0
0
0
0
0
0
0
-20
57
5
2
-59
1
0
16
24
-3
1
-13
-8
0
-27
35
0
0
57
0
0
20
0
0
1
3
-4
0
-14
-85
0
0
0
0
0
0
25
23
-10
0
0
0
0
24
0
0
0
0
0
-1
46
-3
3
6
1
0
-4
-35
0
0
10
0
0
-10
16
0
-1
-11
-32
0
-2
-3
-1
0
-33
0
0
0
12
0
2
7
0
0
-17
0
0
1
-5
0
0
0
-46
0
0
0
3
-1
0
-15
0
0
0
0
0
0
-29
0
0
-6
0
0
-13
-37
0
-1
-6
0
0
-4
-59
0
0
1
-4
0
0
11
0
-3
-19
0
0
0
-31
0
-1
0
-1
0
0
25
0
3
0
0
0
0
0
0
0
-7
1
0
0
-32
0
-16
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
1
-8
0
0
0
0
0
8
0
0
0
5
0
0
10
0
0
-8
2
-5
0
6
0
0
0
-1
0
0
2
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-60
2
2
0
0
0
4
71
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
10
0
0
2
-15
0
0
24
0
0
0
5
0
0
-2
0
0
0
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
0
-54
0
-6
0
0
0
2
-30
0
0
-18
0
0
0
-28
0
0
-2
0
0
-1
8
0
0
30
0
0
0
-45
0
-1
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
9
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
-2
0
0
0
6
0
0
2
-1
0
0
6
0
10
0
0
0
0
1
0
-1
0
0
0
0
12
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
-2
0
0
0
9
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
0
0
0
0
-40
0
0
0
0
0
9
-73
0
0
2
0
0
0
0
0
0
0
0
0
13
1
0
0
4
0
0
0
4
0
0
0
0
0
0
3
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-73
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
6
0
0
-1
-31
0
0
5
0
0
-1
56
0
0
0
0
0
0
-49
0
0
0
0
0
0
10
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
-41
1
0
-1
37
0
0
5
1
0
0
-8
-1
0
1
0
0
0
38
0
-3
-2
0
0
0
1
0
0
-13
0
0
0
0
-1
-3
0
-4
0
0
-1
-6
-9
0
0
0
0
0
0
0
0
-6
0
-4
0
0
0
-1
-13
0
0
2
0
0
0
0
0
0
0
0
0
-10
7
2
1
15
0
0
13
34
0
0
0
0
0
5
-45
0
0
0
0
0
0
6
0
47
-1
0
0
0
-8
0
-2
0
0
0
0
-36
0
-1
0
0
0
0
8
0
0
0
0
0
2
-21
0
0
3
0
-5
36
-6
0
0
5
0
0
15
12
0
0
-16
-2
0
0
-37
0
0
-1
0
0
-3
45
4
0
-3
8
0
-3
-51
0
0
0
0
-1
0
-46
0
0
0
1
-3
0
40
0
0
0
8
0
0
7
-8
0
0
7
0
-1
5
0
-1
2
0
0
-4
-6
0
0
2
0
0
6
5
0
15
0
0
0
4
12
0
0
0
0
0
0
50
0
-2
-5
0
0
0
8
0
0
1
0
0
0
-4
0
2
-2
-7
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
2
0
1
2
10
0
0
-2
0
0
-3
0
0
0
31
0
0
-5
12
0
0
0
0
0
5
-2
0
0
-1
0
16
0
0
0
0
0
0
-1
28
0
0
0
3
0
3
0
0
0
0
-1
0
5
0
0
9
0
0
0
0
0
23
0
0
0
0
0
-1
-4
0
0
-4
0
0
0
0
0
0
0
0
0
26
-59
0
0
30
0
0
0
6
0
0
0
0
0
-2
-32
0
0
14
0
0
-3
-13
0
-10
5
0
0
-1
23
0
0
1
0
0
0
-21
0
0
0
0
0
0
-8
0
0
1
0
0
0
21
0
0
-5
0
-1
-9
-57
0
0
16
0
-3
7
2
0
0
-32
0
-2
-1
21
0
0
4
0
-14
4
23
0
1
-48
0
0
0
8
0
0
5
0
8
0
62
0
0
2
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
2
-4
0
0
-1
-14
0
-9
5
2
0
0
54
0
1
2
0
0
0
30
0
0
10
0
0
0
12
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
-6
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-10
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
5
-1
0
16
3
0
0
-25
0
0
-9
-4
0
-1
1
-7
0
43
0
0
-1
-2
0
0
15
-10
0
-1
-25
0
0
-2
0
0
0
0
0
0
0
10
0
0
0
-1
0
0
0
13
0
0
0
0
0
1
-10
-5
-5
0
0
0
-37
0
0
19
0
0
0
0
0
0
0
0
0
69
-16
0
-13
-52
0
0
1
-56
0
0
-14
6
0
-19
1
0
0
8
0
0
3
2
0
-60
5
0
0
0
-2
2
0
0
0
0
0
-36
1
0
0
4
0
3
21
0
0
3
0
0
-6
2
0
0
3
7
0
-7
2
0
0
-14
0
0
14
-7
-3
9
97
-10
0
3
62
0
0
-19
0
0
0
-42
0
0
56
-13
0
0
-32
0
-1
4
0
0
0
49
0
0
0
9
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-50
0
-10
10
0
0
0
27
0
-1
-6
0
0
-10
-23
0
-10
-1
0
0
0
11
0
5
-12
5
0
0
-8
0
-1
3
0
0
0
35
0
0
2
-3
0
0
71
0
43
-8
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
-1
0
0
2
0
0
15
-1
0
0
0
0
0
1
-2
0
-1
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
46
0
0
-6
0
0
-1
13
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
3
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
-1
0
0
0
0
3
0
0
0
7
0
0
-22
0
0
0
-19
0
0
7
0
0
0
-6
0
0
18
5
0
0
0
0
0
-1
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
10
0
3
0
0
0
0
80
0
0
8
0
0
0
0
0
0
0
0
0
-19
65
0
0
37
0
0
0
-27
0
0
0
0
0
3
-5
0
0
-2
0
0
0
12
0
33
0
0
0
0
0
0
0
0
0
0
0
16
0
2
0
0
0
0
-19
0
0
0
0
0
0
-50
10
0
-1
0
0
0
7
0
0
1
0
0
-1
-13
0
0
-25
0
0
0
-18
0
0
25
0
0
-1
20
0
-1
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
-2
0
0
0
0
-1
0
1
0
0
0
0
-12
0
2
-5
0
0
0
-24
0
0
0
0
0
-2
2
0
0
0
7
0
0
1
0
-1
0
0
0
0
29
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
4
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
22
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
-3
12
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
6
0
0
0
0
-1
0
0
0
0
0
0
-42
0
0
0
0
0
0
12
0
0
0
0
0
4
16
0
0
2
0
0
0
74
0
0
0
0
0
-7
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
6
0
0
20
-1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-1
-31
-49
-27
30
-29
7
-8
-19
5
14
-129
12
40
-8
-15
7
29
53
-16
27
-29
3
7
5
23
-33
-12
-8
-9
12
26
56
3
20
9
-3
-33
-29
-27
-18
-5
24
1
-66
-1
9
-23
63
5
38
-43
41
0
15
35
0
0
-30
-3
-1
10
-34
-37
57
-10
7
-19
7
12
-3
19
-9
31
56
-36
50
58
0
0
0
0
0
0
0
-9
6
-8
80
8
43
1
-2
-16
13
30
0
-49
31
-8
-21
-2
-18
28
-25
39
-5
0
-11
-9
-9
29
-73
37
-7
-16
-6
-22
7
41
0
9
6
-1
2
9
4
30
15
7
18
-8
-29
-5
22
-17
47
-7
-7
12
-9
-13
6
-26
-2
-16
-12
23
37
-9
-33
43
-8
-27
-17
36
7
0
34
-3
18
34
-49
-19
3
-32
-28
11
-9
28
-22
2
11
22
1
-10
3
21
-29
-37
-95
-11
41
-5
-18
-19
-38
8
-11
-57
16
-6
38
-11
10
-13
2
-14
-29
-25
-29
28
18
-42
-34
3
17
-7
-56
-7
5
4
4
3
-15
-60
-72
25
-79
8
-13
-66
4
-43
-16
74
35
3
34
8
-28
23
6
29
-33
8
-20
4
12
-8
-3
19
-17
-31
18
3
-1
21
5
-31
27
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
5
0
0
-5
4
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
12
5
0
0
0
0
0
5
1
0
0
0
0
0
-3
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
-4
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
1
-16
2
0
0
0
0
4
-4
0
7
-32
-6
0
-14
0
0
17
29
3
0
51
57
0
-6
-5
9
1
37
-5
2
0
3
0
0
42
21
0
-3
-15
0
0
-43
-31
0
0
13
0
0
-3
-8
0
0
0
-8
0
0
0
18
0
0
0
0
0
32
3
17
-27
-2
0
53
-12
0
0
29
0
0
0
0
0
0
0
0
0
2
-21
0
13
37
-1
0
-12
7
0
2
8
42
0
-11
-23
0
0
3
2
0
-3
-62
0
-28
13
-5
0
4
-18
6
0
0
5
0
1
4
-23
45
-1
-3
0
0
3
1
5
0
0
0
-5
-54
0
22
-46
6
0
3
25
0
2
48
0
0
61
67
-6
0
56
13
0
-76
-12
0
-16
88
5
0
35
1
0
13
38
-24
0
9
35
0
-9
-4
0
0
0
44
-1
-6
36
-11
0
0
9
2
0
0
0
0
2
16
0
0
0
2
0
-7
15
-3
-22
27
0
0
-31
29
0
8
78
4
0
49
8
-3
-35
-32
0
0
-29
40
0
-49
-27
13
0
5
3
0
-42
-28
-4
0
0
36
-6
-19
5
1
0
0
3
1
-45
0
0
0
0
-32
-7
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
3
0
0
0
5
0
0
1
0
0
5
2
0
0
0
0
0
0
1
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
-1
0
0
0
24
0
0
1
0
0
0
10
0
0
0
0
0
0
17
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-2
20
-30
61
-22
45
-5
-42
-90
28
3
-12
-10
-7
23
1
-1
-23
34
8
-10
5
-43
-7
-24
-4
-10
2
2
13
-25
4
3
18
3
46
-30
20
1
-7
21
-5
-67
-4
-8
-24
28
12
11
-40
-7
-25
-23
5
11
-22
-14
-5
-15
-20
32
19
62
-11
-18
28
14
-12
-4
-20
-21
-6
26
-30
7
18
0
0
0
0
0
0
0
2
-6
-13
45
-2
-30
61
38
6
-33
-15
13
23
-26
-14
-8
33
57
-8
-3
-5
-18
4
-2
18
-5
-4
-47
-30
-12
-3
-22
-28
-31
1
12
-3
6
-1
-46
-17
-24
-58
-2
25
-25
-50
-48
22
-16
-14
-108
-5
-10
-17
-8
2
-14
0
-62
6
39
-26
2
2
9
-22
-3
-10
-66
-30
-11
-18
-4
-12
-48
24
-17
-12
40
-21
15
-10
-6
3
-16
-27
29
-27
-63
39
-42
-19
33
31
3
7
9
-3
-10
-5
20
67
18
-12
27
9
-38
-42
-13
32
62
29
-5
60
-11
-63
-45
-8
43
18
-32
-38
-4
85
23
-12
-26
-5
-43
1
52
-18
-28
2
-67
44
-16
19
19
50
-11
15
-33
14
-59
-33
22
3
-45
-14
-36
-36
-58
30
-8
51
-2
6
-82
15
0
-8
2
-30
30
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
2
0
0
-4
1
0
0
0
3
0
30
0
0
0
2
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
1
0
0
0
0
0
0
0
0
0
-27
-2
0
0
33
0
0
-1
62
0
0
0
0
0
0
38
0
0
0
0
0
0
5
0
27
0
0
0
0
4
0
0
0
0
0
0
10
-15
0
0
0
0
0
1
0
0
0
0
0
0
37
0
0
1
0
0
1
-27
0
0
0
0
0
-2
13
0
0
-12
0
0
0
-2
0
0
4
0
0
1
-18
0
0
5
0
0
0
25
0
0
1
0
0
0
-37
0
0
0
0
0
0
4
2
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
67
0
0
0
0
0
0
3
0
0
0
0
0
4
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
60
0
1
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
-1
-4
0
0
0
-1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
1
0
0
0
0
-12
0
0
0
0
0
0
4
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
0
0
-1
0
0
6
5
0
0
-5
0
0
-4
-7
0
0
5
0
0
0
-5
0
3
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
-13
0
0
0
0
0
0
52
0
0
0
0
0
0
-16
0
0
1
8
0
0
1
0
0
1
0
0
0
13
0
0
0
0
0
0
-43
0
0
0
0
0
0
29
0
0
0
0
0
0
40
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
-2
0
0
0
0
8
0
-6
0
0
0
0
-1
0
-1
6
0
0
0
-2
0
0
0
-1
0
0
3
0
12
0
0
0
0
1
0
0
0
0
0
0
1
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
2
-1
-6
0
0
0
19
0
1
58
1
7
-1
60
-12
-12
11
18
0
0
40
0
7
10
-5
0
4
2
7
-3
15
-2
0
0
-5
0
-12
1
-8
0
0
0
8
4
0
0
-23
0
0
0
-21
0
0
6
77
0
0
0
-22
43
6
-1
-61
0
0
0
0
0
0
0
0
0
28
75
-7
-3
-8
5
-7
42
-9
0
-2
-1
-14
0
9
-44
0
0
5
0
0
0
-15
0
-51
-35
-24
-1
0
38
0
0
0
-1
4
0
-15
-7
-4
0
1
0
0
0
0
0
0
0
0
6
-72
3
8
19
-2
0
43
30
0
-3
43
0
0
4
26
-1
23
-2
0
0
34
-15
0
-3
30
-10
-5
0
-17
0
0
79
21
-5
0
6
0
3
-2
0
0
1
-29
0
0
8
1
13
0
-21
0
0
0
0
0
0
0
13
0
-7
0
0
-6
-12
1
25
4
0
-1
-6
-25
-2
5
46
0
0
5
8
0
8
-8
0
0
13
-46
-2
5
-12
0
3
8
-21
0
27
-9
0
0
0
-1
5
0
-8
0
0
0
-6
0
69
0
0
0
0
48
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
-1
25
54
-7
-7
-29
6
-3
-2
-41
29
2
61
43
-1
5
44
-5
18
-63
-18
0
6
3
0
-14
15
45
0
-1
-17
2
5
-12
-2
0
0
-4
0
2
0
9
0
0
-1
1
14
0
0
-8
0
0
0
-1
-5
38
0
10
6
0
0
47
-60
1
0
82
-1
0
0
0
0
0
0
0
0
-65
-20
-3
24
2
0
5
8
45
0
-1
-44
4
1
-65
-32
0
0
-10
-4
0
-2
-8
0
32
-14
33
0
0
39
0
0
0
0
-3
0
45
-53
-15
0
7
0
0
-27
0
0
5
1
0
13
9
17
8
41
4
-2
-82
31
0
-4
-46
5
0
25
39
3
5
-9
-42
-2
40
9
1
1
-76
-8
5
7
12
-4
0
-54
-3
8
2
15
0
0
2
-3
8
0
-48
-2
1
-8
18
58
0
6
2
3
0
-7
0
0
-49
-4
8
0
0
0
3
26
0
-13
1
0
-3
17
0
0
36
-32
22
-4
20
-56
0
-12
29
-9
3
0
-4
3
13
28
19
-3
-10
-6
0
53
3
0
0
0
30
2
-3
2
8
0
-3
10
0
38
0
0
-7
0
-12
-1
4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-2
0
0
-10
0
-3
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
-3
0
23
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-5
0
0
-12
13
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
0
0
13
0
0
0
0
-1
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
20
0
0
-2
0
0
0
43
0
0
-2
0
0
-2
-8
0
-10
17
0
0
0
-14
0
0
-8
0
0
0
-29
0
0
-12
-2
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
8
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
-22
-5
0
3
-8
0
0
8
0
0
0
0
1
0
21
0
1
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
0
0
-1
0
0
0
2
0
20
0
1
0
0
0
0
-45
3
0
-5
0
0
0
0
0
0
0
0
0
12
82
5
0
0
0
0
0
32
0
0
38
10
0
2
26
0
0
-1
0
1
0
-8
0
55
0
0
0
0
2
0
0
0
0
0
0
26
-1
-1
0
0
0
0
22
0
0
0
0
0
0
17
0
0
0
0
0
-1
41
0
0
-1
0
0
-3
2
1
0
3
0
0
2
1
0
0
5
0
0
0
-17
0
0
9
-2
0
0
79
0
0
0
0
2
0
-1
0
0
0
0
2
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
-1
-15
0
1
-1
0
0
0
9
0
0
0
0
0
0
29
0
0
0
0
0
0
7
0
0
5
0
0
0
27
0
-1
0
0
0
0
19
0
2
0
10
0
0
10
0
0
0
0
0
0
-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
-3
0
0
8
0
0
0
-3
0
0
1
0
0
0
2
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
0
-1
7
0
0
0
-5
0
0
3
0
0
0
14
0
0
0
0
0
8
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
24
0
4
2
0
0
0
-6
0
1
0
0
0
0
8
0
0
0
0
2
0
2
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
2
0
0
0
0
1
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
1
-62
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
0
0
-2
0
0
0
11
0
0
7
-1
0
-5
-9
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-35
0
0
0
0
0
0
35
0
0
0
0
0
0
-15
3
0
0
0
0
0
51
0
0
0
0
0
3
-47
0
0
0
0
0
2
23
0
0
-17
0
0
-5
17
0
0
5
0
0
0
34
0
0
4
0
0
0
51
0
0
0
0
0
0
7
0
-2
0
0
0
0
2
0
0
0
0
0
0
-7
1
0
0
0
0
0
13
0
0
0
0
0
0
26
0
0
2
2
0
0
35
0
-4
0
0
0
0
13
0
0
2
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
30
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-2
1
-5
8
0
-7
-17
22
3
-6
-35
2
4
68
16
0
0
-14
0
2
6
21
-6
0
35
0
-13
-4
3
0
0
-3
0
5
0
6
0
0
6
-14
14
0
0
10
0
0
0
33
0
71
19
24
0
0
0
5
19
-2
0
-40
-2
0
0
0
0
0
0
0
0
36
-32
1
38
-3
1
0
-27
-1
0
7
-26
-23
0
-8
-45
0
0
-1
2
0
2
-4
0
-11
-28
4
0
-1
6
1
0
0
0
0
0
-25
8
-10
0
0
0
0
62
0
0
0
-1
0
8
52
1
7
-11
-1
0
-24
9
0
0
38
-3
0
-2
-16
0
8
-62
19
0
55
101
0
-1
-34
9
9
-1
9
0
2
-6
-20
8
-13
-2
0
-1
1
0
0
0
-6
0
0
1
-3
13
0
-6
0
2
-1
0
0
0
115
0
0
5
0
0
0
-15
-2
-40
-27
0
0
9
-42
0
6
-18
-5
0
-11
35
0
20
89
2
0
14
-38
0
9
-11
8
-2
0
-54
-2
38
-25
0
0
0
-45
0
-1
0
8
1
0
7
0
41
0
0
-5
0
43
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-6
7
3
0
34
0
0
3
-12
14
0
38
1
0
9
-4
-2
8
28
5
0
1
5
-3
-6
-6
8
0
0
0
0
-6
2
-12
0
0
1
-1
136
0
0
-6
0
0
0
-23
1
-3
-1
2
-1
0
0
-8
0
-3
0
27
0
0
0
0
0
0
0
0
0
-42
38
0
0
37
3
0
30
19
0
6
0
15
0
7
-22
0
0
-28
8
0
9
40
0
-47
-14
0
0
0
-23
0
0
0
0
8
0
-4
0
-1
2
2
0
0
-33
0
0
0
0
0
14
0
8
0
-2
0
0
20
12
0
9
-54
-1
0
-3
52
-5
8
-9
-6
0
50
94
1
0
17
-3
0
21
0
0
-2
-17
-10
0
-14
47
2
-1
24
0
25
0
-24
1
0
0
4
-5
0
9
0
0
0
-1
0
0
16
1
0
0
0
0
-4
0
0
38
-13
0
0
4
-55
0
0
70
0
0
-2
68
0
-27
31
-6
0
2
-11
0
2
33
5
0
2
-32
0
-21
-2
0
0
-4
-35
0
1
6
0
0
0
28
0
-13
-2
0
-1
0
-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
47
0
0
0
-2
0
0
-7
0
0
0
60
0
6
86
-2
0
0
1
0
0
-3
2
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-13
0
0
0
0
0
0
9
0
12
0
0
0
0
0
0
70
0
-1
8
0
0
0
0
0
0
0
0
0
60
25
0
0
0
0
0
-2
56
0
0
25
3
0
1
-19
0
0
0
0
0
0
34
0
15
1
0
0
0
-12
0
0
0
0
0
0
21
0
0
0
0
0
0
87
-2
0
0
0
0
0
36
0
0
0
0
0
-2
63
0
0
0
0
0
-3
54
0
0
-4
0
0
0
-3
0
0
5
0
0
0
27
0
0
-1
0
0
0
-49
0
0
0
0
0
0
44
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
6
1
0
0
0
13
0
0
-1
-3
0
2
40
0
5
-3
0
0
0
-6
0
0
0
0
0
0
-13
0
3
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
1
0
0
17
0
0
0
-8
0
0
-7
0
0
19
0
0
0
-4
0
0
0
2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-6
0
0
0
0
0
29
-1
0
0
0
0
0
49
0
0
3
0
0
0
0
0
0
0
0
0
-68
35
9
0
25
0
0
-5
4
0
0
2
0
0
-1
-44
0
0
-6
0
0
0
-5
0
5
0
-6
0
0
-45
0
0
0
0
0
0
60
-5
0
0
0
0
0
46
0
0
0
0
0
0
-28
-1
0
-3
0
0
-1
50
0
-1
0
0
0
42
49
0
0
13
0
0
0
0
0
0
-2
0
0
0
43
0
0
0
-1
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
-3
0
-65
0
0
0
0
0
0
28
-1
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
-5
0
0
0
65
0
-3
-2
0
0
0
-3
0
0
9
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
-1
0
0
36
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
39
-3
-7
74
11
-5
17
26
-16
12
61
62
0
13
11
0
-1
12
-3
7
4
107
0
-7
53
-12
0
0
48
0
-20
2
-39
3
0
5
4
-44
0
0
-31
0
0
0
-4
0
-4
27
-5
0
2
0
19
-76
-3
-3
-14
8
0
0
0
0
0
0
0
0
22
14
3
31
114
6
2
111
-4
4
2
-37
4
0
15
-9
0
2
-39
-1
0
19
10
-2
-27
3
2
-3
-1
-68
0
0
-2
0
-6
0
24
59
-50
0
0
0
0
19
0
-3
0
-2
-3
-3
62
-28
-2
7
14
1
58
24
0
-11
-64
2
0
1
-3
-5
3
2
70
3
0
-22
15
-70
9
19
-12
-13
-26
1
-10
23
0
2
2
-6
0
2
30
0
-8
0
19
-1
0
-3
-6
-3
7
2
-1
0
1
4
-10
0
-5
21
0
0
8
0
5
-43
-10
38
20
0
0
-2
30
0
-25
-51
38
8
53
38
0
31
-28
7
0
-36
-14
1
-39
42
16
-3
0
-22
0
-69
-4
-8
-2
0
78
0
4
1
-4
5
0
-2
1
26
2
0
45
0
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
0
-1
-25
0
0
-55
0
10
0
33
-3
0
2
1
0
0
-7
0
8
-7
-3
0
0
-93
0
32
-4
10
0
0
-4
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
-38
0
24
1
0
0
15
-24
0
0
-6
0
0
0
0
0
0
0
0
0
-17
19
0
-4
1
0
0
-53
43
0
0
14
0
6
34
-18
0
2
57
0
0
0
42
0
52
9
0
0
9
0
0
0
2
0
30
0
-2
0
-7
0
0
-7
0
19
0
0
0
0
0
-6
-20
0
3
-1
0
1
26
-6
0
0
8
0
0
13
-7
0
-1
-9
0
0
17
55
-4
0
97
2
-13
24
-41
0
-12
63
4
0
24
-60
0
0
-6
2
-22
7
-23
0
1
14
2
-32
0
14
0
0
0
0
0
0
23
0
0
-1
0
0
0
63
9
13
5
0
3
-7
-68
0
-4
3
0
5
-13
-25
0
-11
-6
0
0
3
-54
0
2
2
4
0
0
22
0
-30
-7
-2
-2
0
45
0
-1
-18
3
-1
-1
-19
0
-8
3
0
-8
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-3
0
4
0
0
-36
-1
0
-6
-13
5
0
-28
1
0
0
-10
7
0
4
-8
0
0
1
0
0
-6
3
0
0
0
0
0
-4
-6
0
0
5
3
0
0
0
-1
0
0
0
0
0
-11
-3
-1
0
0
0
0
53
0
3
3
0
0
0
0
0
0
0
0
0
31
-29
0
-1
-11
0
0
-2
-32
0
1
-62
-4
0
38
-5
0
0
41
0
0
-14
-4
0
-24
10
-7
0
13
-39
0
0
0
0
0
0
32
-8
0
0
0
0
0
-21
1
2
-1
-3
0
0
32
-2
1
12
1
0
41
10
0
0
4
0
0
18
-6
0
0
-37
-2
0
7
28
0
0
61
0
0
-4
45
0
0
18
6
0
-20
-42
0
0
-10
-1
0
-3
59
0
6
0
1
0
0
-17
0
0
0
0
0
0
87
1
0
0
0
0
0
6
0
12
-6
0
0
5
3
3
2
-11
4
0
-9
61
0
-17
25
0
0
0
28
0
4
-10
3
0
0
49
0
15
4
0
0
0
26
0
0
4
-1
0
0
-15
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
87
-60
4
33
8
22
11
-44
66
-37
53
-38
11
-37
123
-34
-6
-5
19
13
11
16
22
19
29
-18
-15
-12
31
1
5
-20
-22
-3
-12
7
0
-2
-18
22
0
14
26
-1
-6
6
0
-6
25
-3
-57
40
1
-7
0
0
0
0
0
0
0
7
24
11
64
3
-4
17
35
35
32
104
-28
33
2
43
-17
16
9
-36
-43
42
6
12
33
-7
-6
36
8
-30
24
-9
12
-26
-17
-44
0
24
27
20
13
4
-18
-1
2
26
-6
-32
-18
27
48
26
-40
-72
20
73
-71
20
2
32
-48
-12
18
-19
42
29
11
7
30
-12
97
83
-14
79
17
4
11
7
27
-15
20
56
17
10
8
-8
7
-15
41
24
4
-38
21
1
21
57
0
-4
6
8
-8
20
15
48
25
-32
0
5
-12
22
8
78
20
-40
-9
-23
8
20
-48
10
25
9
-4
-15
36
-44
-1
-15
-13
40
-10
-17
14
42
31
-16
4
70
10
17
93
38
-27
1
-1
16
61
5
57
2
-2
21
68
0
58
50
-4
-32
3
17
-10
-42
0
-27
48
3
38
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
0
0
29
0
0
-11
-13
0
0
0
0
-2
3
-1
0
-2
20
0
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
3
-3
2
-7
0
0
25
-11
0
0
-1
0
0
0
0
0
0
0
0
0
75
14
0
-4
-61
0
1
-38
30
0
0
40
0
0
-1
12
0
0
0
0
0
-2
31
0
28
-2
-2
0
0
-27
0
0
0
0
0
0
43
-15
0
0
0
0
0
-63
0
0
-2
-1
0
2
-3
-2
6
0
0
0
38
0
-3
-1
45
2
0
-30
-12
3
13
18
0
1
17
60
0
1
50
1
0
0
27
0
-1
5
-2
0
0
9
0
0
-2
-4
0
2
-10
0
6
5
0
0
0
52
0
0
0
-8
0
0
87
1
1
-1
0
0
-2
47
0
17
7
0
0
-6
0
0
3
11
6
0
-14
18
0
1
-8
4
0
0
-31
0
1
-8
0
0
0
-26
0
-1
2
0
0
0
15
0
0
-1
0
0
0
-12
0
-8
0
0
0
0
-72
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
0
0
-1
0
0
0
1
0
0
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
36
0
0
0
0
0
0
-29
0
0
-2
0
0
0
0
0
0
0
0
0
32
15
0
0
0
0
0
0
42
0
0
0
0
0
0
47
0
0
0
0
0
0
-2
0
-10
0
0
0
0
1
0
0
0
0
0
0
26
0
-1
0
0
0
0
39
0
0
0
0
0
0
17
0
0
-6
0
0
-1
39
0
0
5
0
0
-5
18
0
-3
-1
-1
0
0
71
0
0
1
0
0
0
58
0
0
0
0
0
0
53
0
0
0
0
-4
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
-5
51
0
1
0
0
0
0
27
0
1
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-1
6
0
31
0
0
0
7
0
0
-2
2
0
0
0
-1
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
67
0
0
-6
0
0
0
4
0
-41
0
0
0
0
0
25
11
4
0
-10
0
0
0
0
0
0
0
0
0
36
23
0
-1
75
2
0
8
26
0
0
-20
-5
0
12
-52
0
0
-3
0
0
0
27
0
-11
-5
0
0
0
53
0
0
0
0
0
0
38
2
0
0
0
0
0
2
0
0
0
0
0
5
46
-8
-3
7
0
0
4
-41
0
0
31
0
0
2
20
0
8
-5
0
1
-2
29
0
0
39
0
0
7
-20
0
0
8
0
0
1
47
0
1
5
0
-3
0
-6
0
0
0
0
0
0
-66
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-5
0
-2
0
2
40
0
0
5
1
0
0
6
0
25
15
0
0
-2
-20
0
0
-2
1
0
0
21
0
-6
0
0
0
0
-10
0
0
0
0
0
0
7
0
2
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-43
-19
2
-47
-49
45
-3
-72
8
-4
24
-4
4
-31
35
-3
17
-13
61
28
-7
-3
0
0
6
24
-10
26
-1
0
0
-3
-41
-65
1
-5
-40
0
-2
25
26
2
9
-29
8
33
10
0
-53
6
21
0
72
4
1
0
0
0
0
0
0
0
6
-11
-27
50
39
-10
30
57
-4
45
-41
-11
-15
15
31
-24
0
-10
-38
-17
8
-67
-7
-6
-11
44
-13
54
-9
-32
0
0
-25
1
10
0
14
-12
45
0
27
-1
0
42
37
0
18
-3
0
-19
52
78
-15
-95
-1
4
-24
2
1
0
-45
25
15
30
49
30
75
17
-9
31
-62
27
17
63
1
37
-4
84
12
-9
-21
-16
47
93
19
-15
6
5
-1
-1
-10
0
-2
-14
-11
52
-1
-38
0
-14
-2
18
0
1
0
-2
6
-25
8
13
-3
-2
19
19
50
38
10
29
-25
13
5
14
-2
19
30
-1
27
-53
5
74
30
-43
-3
-23
-7
-2
0
-50
42
-44
84
1
-3
-22
-30
-14
-4
-25
42
2
-9
-27
-44
-15
-4
-24
-1
1
13
13
19
0
46
-27
-8
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
4
0
-3
13
3
0
0
2
0
0
0
2
0
0
1
0
0
6
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
1
0
0
0
-4
0
-36
2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
-18
-2
0
0
17
0
0
0
-6
0
0
1
0
0
0
60
0
0
0
0
0
0
0
0
2
-5
0
0
0
16
0
-3
0
0
0
0
-63
2
0
0
0
0
0
-55
0
0
0
0
0
0
5
0
0
0
0
0
-6
-25
0
0
-2
0
0
13
-10
0
0
-7
0
0
0
-44
0
0
0
0
0
0
-29
0
0
8
0
0
6
10
0
0
0
0
0
0
-9
0
0
0
0
4
0
12
0
0
0
0
0
0
32
-2
7
0
0
0
0
9
0
-1
0
0
0
0
3
0
0
-7
0
0
0
75
0
2
0
0
0
0
5
0
0
0
0
0
0
-6
0
3
0
0
0
0
4
0
0
0
0
0
0
-5
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
-19
0
3
0
0
0
0
49
0
0
-41
0
0
0
0
0
0
0
0
0
39
-42
0
0
-25
0
0
-15
13
0
0
33
0
0
5
30
0
0
7
0
0
0
49
0
15
0
-5
0
0
-14
0
0
0
0
0
0
11
0
2
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
3
0
0
-1
-3
0
0
65
0
0
0
-9
0
0
-26
0
0
25
63
0
0
-1
1
0
-4
78
0
0
7
-1
0
0
25
0
0
1
0
0
0
59
0
0
-4
-1
0
0
-26
0
0
0
0
0
0
9
0
0
0
0
0
0
14
0
-1
2
0
0
0
13
0
-2
31
0
0
-1
48
0
0
-20
8
0
1
0
0
0
2
1
0
0
26
0
-3
3
0
0
0
-3
0
0
-8
0
0
0
97
0
13
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-24
-4
34
62
22
9
17
-62
-7
-3
16
45
-25
-2
20
0
0
-4
-2
-7
0
-33
0
0
-2
-23
13
0
-2
43
0
0
-8
-9
1
18
88
6
4
32
0
91
15
-6
-7
48
1
0
0
0
0
0
0
0
0
12
13
-16
33
-12
5
0
39
-3
-7
11
14
-10
12
-1
31
1
-29
-6
0
5
-46
-82
2
51
21
17
-22
-9
2
-3
5
21
0
-38
0
35
30
14
0
6
-8
2
40
-43
-1
47
10
5
49
-26
83
14
-20
-53
14
18
10
-7
63
30
-8
6
42
39
-4
0
-12
-9
1
57
23
7
25
-11
36
-28
19
25
0
34
17
26
31
65
-25
-2
10
83
-1
-30
-7
-17
10
-24
120
5
28
0
16
-8
-12
2
20
30
0
43
28
-5
-1
0
0
-10
-54
-6
39
33
0
5
-20
-2
-2
-11
12
-12
0
25
39
-5
1
10
23
1
-5
-34
-10
-35
-8
43
-2
-30
-12
-1
53
47
2
-1
-2
-6
8
10
41
62
5
0
-35
0
0
-16
-12
40
0
-27
4
5
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
0
0
61
0
2
6
1
0
0
-31
0
6
-1
-9
0
0
-12
1
35
0
-5
0
0
-7
-1
34
0
0
-3
0
-3
0
12
0
83
-27
25
1
0
0
47
-8
0
0
52
0
0
0
0
0
0
0
0
0
-7
0
5
1
-46
1
0
25
75
0
-8
-39
2
0
69
24
0
0
8
-4
0
-1
45
0
-10
18
-8
0
0
39
0
0
0
6
-7
0
34
24
17
0
-2
16
1
18
-1
0
0
-8
0
16
-26
0
-8
24
1
0
-25
49
0
-1
18
13
0
15
0
0
10
-25
-2
-7
57
9
0
0
-10
-3
0
-3
-32
0
2
47
21
-2
5
38
0
0
-6
0
-5
-3
-23
-6
-1
-7
-10
4
0
-16
-3
1
0
0
0
0
8
9
1
0
0
0
7
-36
0
-27
-18
-1
0
1
36
0
1
71
8
0
-32
0
1
21
-13
-1
0
40
-110
0
0
-10
1
-8
-4
39
0
-2
-10
0
0
-1
7
0
-1
8
0
0
0
-54
0
-7
0
0
0
0
-43
3
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
1
0
0
0
2
0
-18
0
0
3
0
0
2
38
0
0
1
0
0
0
0
0
0
0
0
0
-12
-29
0
-2
-4
0
0
-6
-40
0
0
6
0
0
-1
5
0
1
2
0
0
0
-36
0
9
2
0
0
0
-3
0
0
0
0
7
0
-32
-1
0
0
0
0
1
-30
0
0
0
0
0
-7
-1
0
3
-9
0
0
0
-61
0
0
24
0
0
5
52
0
0
6
2
0
0
44
0
0
-1
0
0
0
-73
0
0
1
0
0
0
116
0
0
0
0
0
3
11
0
0
0
0
-2
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-1
1
0
0
0
0
3
0
0
8
0
0
0
3
0
0
2
0
0
0
-9
0
6
0
0
0
0
5
0
-2
2
0
0
0
18
0
0
0
0
0
0
76
0
18
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
0
0
7
0
0
2
-1
0
0
0
0
3
8
2
0
0
0
0
-10
0
8
0
0
0
0
40
0
0
5
0
0
0
10
0
-36
-16
0
2
0
0
-2
71
0
0
1
0
0
0
0
0
0
0
0
0
30
-8
0
2
20
1
0
-46
-10
0
0
-29
0
0
10
-10
0
2
24
0
0
1
8
0
-15
-2
-14
0
0
49
0
0
0
0
1
0
-12
-4
0
0
0
0
0
36
-2
0
0
0
0
0
-26
0
3
-4
4
0
5
-28
0
0
-9
0
0
-3
70
0
1
-14
0
0
-7
-31
-1
-5
-2
-2
0
0
-28
0
0
15
8
0
0
-3
0
0
6
0
0
0
103
0
0
0
1
5
0
-21
0
0
-4
0
0
0
85
-7
0
8
0
0
-2
39
0
-4
0
0
0
0
49
1
0
-1
0
0
6
-2
0
-5
5
0
0
8
37
-5
0
-16
0
0
0
-26
0
-8
34
0
0
0
-50
0
0
5
0
0
0
-7
0
-9
0
0
0
0
20
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
29
-1
21
10
0
20
25
12
8
0
2
45
-58
-3
28
0
0
3
1
-26
-4
32
0
2
-10
3
3
0
-1
10
0
0
7
-35
6
-15
-43
-37
-2
-16
0
20
24
6
9
70
0
3
0
0
0
0
0
0
0
-82
1
-4
16
23
4
0
14
-2
-1
16
1
40
-1
34
29
1
32
-43
-1
10
19
-36
0
-45
17
-41
7
-4
-20
2
1
2
0
2
0
-36
15
44
0
0
5
-5
36
8
1
4
6
0
-23
-13
9
-30
64
-9
24
78
10
1
8
68
-2
8
6
17
-13
-22
-5
-59
1
7
14
-5
-4
40
9
7
19
12
-3
7
-32
0
-7
4
8
0
5
13
5
-5
13
73
2
9
-3
-4
-7
0
-23
15
-7
0
6
1
1
5
65
-10
0
-2
-1
-11
-10
13
60
3
0
0
59
37
7
-52
25
12
-4
23
52
0
80
-29
16
-3
96
-18
13
50
34
49
60
-46
12
2
-30
-7
-12
-5
-9
39
1
12
39
40
1
0
-21
-3
-61
0
0
39
0
-1
44
-1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
-4
0
-5
0
-19
11
30
0
0
-9
0
14
-5
-27
-2
0
6
0
3
2
1
0
0
-6
0
0
0
0
24
0
0
0
-31
1
10
13
-3
1
0
0
-20
0
1
0
108
0
0
0
0
0
0
0
0
0
7
6
0
8
-43
0
0
43
-71
0
-3
30
0
0
-2
-59
0
-4
-21
2
3
1
-33
0
-15
56
0
5
2
-24
0
0
0
0
54
0
-51
20
-41
0
0
1
0
-36
-6
0
-2
0
0
10
14
-8
-3
6
1
0
12
33
0
4
45
0
0
75
-24
0
0
43
-6
0
1
27
0
6
10
0
13
29
-39
1
0
-8
0
0
-6
-8
0
13
-13
0
1
6
-23
5
14
8
0
24
0
21
-3
0
0
0
-2
0
11
-20
0
0
0
0
5
-14
1
32
-32
0
9
2
29
-3
-2
58
0
0
-13
-11
3
-15
33
-1
0
18
65
0
-4
31
-7
5
-1
20
0
24
-7
0
0
2
39
0
12
-9
0
5
0
-36
0
-13
6
0
1
0
-7
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
14
2
0
-8
0
0
1
-8
-4
0
-1
0
0
0
6
0
0
0
-3
0
0
-8
1
0
0
0
-68
0
-1
0
0
0
40
9
9
-12
0
0
-3
-6
0
0
29
0
0
0
0
0
0
0
0
0
22
2
0
0
16
0
0
17
23
0
0
-1
1
0
21
-55
0
0
-9
0
0
0
90
0
-3
-8
12
0
0
12
0
-2
0
0
0
0
22
18
0
1
1
0
0
23
-2
0
-2
0
0
6
4
0
0
39
0
0
-39
2
0
3
76
0
0
49
-52
0
0
1
20
0
-3
57
0
-5
-2
1
0
-3
8
0
0
-63
-5
0
-1
19
0
2
2
0
0
0
-58
0
1
0
-8
0
0
-19
0
-3
0
0
0
0
-28
0
0
0
0
0
5
-11
9
22
-19
0
0
8
17
0
13
101
1
0
9
2
0
-9
19
-3
0
-7
73
0
0
21
-15
0
-2
-1
0
22
0
0
0
0
33
0
-2
0
0
0
0
-40
0
-30
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
32
-3
18
14
13
27
-10
8
-1
-41
0
-28
-5
41
2
0
20
-8
-1
0
-1
42
0
0
22
-6
1
2
-36
-4
31
-38
1
-29
12
80
4
-8
-2
1
0
0
0
0
0
0
0
-36
-39
10
-1
18
3
-8
75
-3
-22
10
-23
10
-1
53
7
-20
13
-15
4
-44
2
-1
1
76
-41
99
10
30
-15
18
0
-24
12
-21
13
15
39
8
-2
37
0
-1
-4
-22
-5
4
25
0
21
22
79
-15
-62
-18
34
51
18
-26
64
-30
14
-5
-2
34
-45
56
-24
-26
19
58
24
-3
62
4
14
32
-27
28
5
35
40
2
-55
6
1
1
10
42
-5
-12
13
12
0
2
-2
5
-24
0
-20
-21
1
1
22
-47
2
-12
-9
-9
3
-4
0
-28
13
49
49
-17
20
39
23
-18
49
-69
22
53
7
66
29
-7
4
26
-7
-18
-68
9
-11
-7
47
-43
-8
-25
-26
0
11
11
29
16
16
0
12
-14
17
56
-9
-5
-22
1
-1
8
8
24
0
36
-18
27
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
-1
-1
0
-2
52
56
0
0
4
1
0
0
42
0
0
5
-1
20
0
0
-1
0
0
0
2
0
-14
7
1
-7
0
0
-4
9
0
0
15
0
0
0
0
0
0
0
0
0
14
-9
1
-1
-49
7
0
-53
0
5
4
26
0
0
23
18
0
2
12
0
0
16
40
-4
-47
6
12
0
-2
65
0
0
0
1
-1
0
1
-3
-8
0
-3
0
0
-8
-12
0
0
-4
0
0
-108
5
7
41
0
0
-20
85
0
1
-11
0
1
-5
24
-1
0
11
-8
0
94
0
0
2
-42
9
-7
-7
38
4
24
4
0
0
1
3
0
0
-22
0
5
0
119
0
0
-1
2
-13
0
-31
0
-2
0
0
0
0
35
7
0
0
1
0
-1
6
0
-29
6
0
4
-9
5
0
-23
61
4
0
1
-22
0
0
18
1
0
-25
0
0
0
-3
3
-5
3
-1
0
28
2
0
0
0
17
2
-1
6
0
0
-2
13
0
2
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-12
0
0
-1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
72
0
0
4
0
0
5
12
0
0
0
0
0
1
15
0
0
0
0
0
0
-10
0
-2
2
0
0
0
10
0
0
0
0
0
0
50
1
0
0
0
0
0
-42
0
0
0
0
0
0
55
0
0
0
0
0
3
-10
0
0
3
0
0
0
-14
0
0
4
0
0
7
52
0
0
0
0
0
0
-5
0
0
0
1
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
36
0
0
0
0
0
0
19
0
0
0
0
0
3
7
0
-4
0
0
0
0
3
0
0
-3
0
0
0
12
0
12
0
0
0
0
43
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-19
7
3
0
0
2
0
0
2
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
-14
0
0
0
0
0
1
8
0
0
7
0
0
0
0
0
0
0
0
0
-7
52
0
0
25
1
0
-8
-39
0
0
3
0
0
-7
41
0
0
1
0
0
12
-1
0
-27
0
0
0
0
-9
0
0
0
0
0
0
40
0
0
0
4
0
0
-3
0
0
0
0
0
0
38
7
0
6
0
0
5
-81
0
0
5
0
0
5
67
0
0
-14
8
0
0
29
0
0
-13
6
-1
0
-46
-5
0
0
0
0
-18
-8
0
0
0
0
0
0
7
-2
0
-1
-7
0
0
48
0
0
0
0
0
0
-4
0
-3
0
0
0
3
-8
0
-2
0
0
0
2
-48
0
0
4
0
0
0
-83
0
0
-40
0
0
0
1
0
-5
3
0
0
0
-4
0
1
0
0
0
0
6
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
6
4
1
-38
17
-4
7
-29
0
0
-2
0
-28
0
-14
0
0
0
-19
43
0
0
24
0
0
-8
-15
0
21
56
5
2
-4
0
7
-32
-1
-2
53
7
0
0
0
0
0
0
0
0
-11
-59
0
2
68
0
0
8
25
2
-20
-20
-26
-4
24
47
1
7
5
-3
2
-3
-11
-1
18
5
16
0
-8
-19
0
0
0
-2
0
0
57
47
-29
0
0
0
0
-35
42
0
0
1
0
46
-6
-69
-32
5
1
-1
34
9
-6
3
-116
-5
8
60
40
0
0
-22
-7
0
-36
-39
0
0
-9
12
-1
50
-8
4
5
63
-83
9
-18
-9
0
-1
-4
-4
6
5
15
2
-2
3
10
-4
7
31
4
0
0
-5
2
0
-13
38
0
0
7
0
-5
-22
0
72
-6
2
0
-5
22
0
56
-25
-7
-1
35
-34
-2
85
44
-5
5
25
67
0
1
55
2
0
1
-3
0
-3
13
0
-1
-2
-4
0
0
41
8
0
0
-5
0
37
0
8
-10
0
-7
-2
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-3
0
0
0
0
-8
0
0
-9
0
0
0
0
0
67
0
0
0
0
0
0
24
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
-20
0
0
-25
0
0
-8
6
0
0
0
0
0
0
-5
0
-31
0
0
0
0
-1
0
0
0
0
0
0
-49
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
-14
-6
0
0
0
5
0
0
0
0
0
-1
-4
0
0
5
0
0
-3
44
0
0
2
0
0
0
-7
0
0
5
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
-5
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-13
0
-1
0
0
0
0
-4
0
0
-1
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
12
0
61
0
0
0
2
0
0
0
1
0
0
0
7
0
0
0
15
0
0
0
0
0
3
-41
0
0
0
0
17
1
0
0
-21
0
0
0
0
0
0
0
0
0
24
-4
0
0
38
0
0
26
-19
0
3
5
0
0
5
-5
0
0
42
-2
0
8
-14
0
27
49
-47
0
0
17
0
0
0
0
0
0
16
-24
5
0
0
0
0
48
-1
0
-1
0
0
7
11
0
0
27
0
0
13
-28
0
0
-24
0
0
37
33
0
1
-32
41
0
-29
10
0
2
9
0
0
48
49
0
-19
-10
-22
0
-4
24
0
0
8
0
0
0
18
0
1
0
8
0
0
-1
0
-7
0
0
0
0
-32
-1
0
0
-3
0
-2
10
0
-16
0
0
0
-3
18
0
4
15
0
0
5
44
0
-34
24
0
0
0
13
0
9
28
-1
0
-6
48
0
0
-6
0
0
-2
75
-1
-6
-6
-1
0
0
53
0
24
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
-1
0
-35
4
17
0
-20
0
0
12
3
-99
0
0
-56
0
0
0
0
0
-19
28
1
0
-2
0
16
7
1
-2
-4
0
-8
0
0
0
0
0
0
0
-3
-17
0
1
-39
-1
0
24
-27
-4
-6
-16
5
0
13
-2
2
1
43
2
0
0
37
0
55
-16
5
-5
0
-12
0
0
-2
-1
29
0
-59
18
-8
0
-4
0
-4
-54
0
0
2
0
0
0
30
3
19
3
12
10
4
-2
0
-10
-23
0
0
19
31
0
22
31
20
-5
-5
17
6
6
-17
-20
0
25
0
-4
-23
-8
9
3
0
33
0
-2
62
0
33
0
76
-8
2
3
14
-25
0
9
4
0
0
-4
0
0
-17
6
3
0
0
0
1
14
1
7
-8
0
3
0
-43
0
-33
39
6
0
0
3
0
13
10
0
0
0
48
0
16
59
29
-2
-2
39
0
86
-14
-6
0
0
22
0
-9
0
-7
1
0
35
0
66
0
0
-10
0
52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
3
1
0
0
1
0
-24
0
-2
-30
0
0
8
0
0
39
-4
24
-14
0
0
-7
10
3
-6
18
0
0
0
0
0
0
0
0
0
-4
-10
-8
0
19
0
0
70
-11
0
0
19
5
-1
52
0
0
1
-24
-4
0
0
56
0
55
-22
0
0
-3
-68
0
0
2
0
3
0
-1
12
3
0
0
0
0
-16
-3
0
0
-2
0
3
-5
-9
8
4
8
-12
32
14
0
1
50
0
0
-40
-7
0
-8
5
8
0
13
-10
0
1
7
0
5
10
0
1
0
2
5
-7
-1
-26
0
0
0
-3
-2
0
-27
0
0
0
7
-2
0
16
0
3
0
-2
0
0
56
3
4
3
0
0
17
-8
-4
-34
-8
0
-4
0
-20
0
13
35
-1
0
2
61
-2
-24
-13
0
0
16
2
3
22
13
-10
-2
-2
0
0
-10
-6
0
0
0
88
0
5
-1
3
0
0
12
0
-12
0
0
1
0
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
8
0
0
4
0
0
0
0
0
43
0
0
0
0
0
0
33
0
0
4
0
0
0
0
0
0
0
0
0
9
55
0
1
2
0
0
0
10
0
0
2
0
0
3
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
42
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
-6
0
-1
33
0
0
-5
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
3
0
0
0
0
13
0
0
0
0
0
0
14
0
0
-4
0
0
0
-2
0
-1
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
16
0
0
0
-5
-6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
12
2
0
10
11
0
0
-1
2
0
0
-14
0
0
-3
0
0
8
-1
0
-3
-9
0
0
0
48
0
0
0
0
0
0
35
0
0
0
-1
0
0
23
0
0
0
0
0
0
-3
0
0
1
0
0
0
32
0
7
0
0
0
19
-20
0
0
-3
1
0
17
26
0
0
30
0
0
-2
19
0
0
8
0
0
-1
50
0
0
2
0
0
0
-13
0
0
0
0
0
0
95
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
-15
29
0
0
-1
0
0
0
28
0
0
0
0
0
0
2
0
2
-1
0
0
0
2
0
0
0
0
0
0
-10
0
0
5
0
14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
7
0
22
7
-25
1
0
0
6
-10
0
0
-15
0
0
0
119
0
-8
-39
-10
-2
5
0
-50
2
-2
0
-57
0
0
0
0
0
0
0
0
0
30
18
-2
-5
36
3
0
-18
11
-2
-2
20
26
-2
-31
25
0
1
20
0
-3
-4
37
0
17
1
14
8
4
-12
0
0
0
0
0
0
-7
17
-7
0
15
0
0
-37
28
0
0
-2
0
-8
-17
2
-4
-6
-3
-2
-15
55
0
-2
14
-3
4
-27
24
0
-12
19
-15
-1
32
-51
8
-7
123
-4
1
-1
-33
-9
-8
28
7
-5
0
-4
0
-2
-1
0
85
0
32
2
-6
0
7
-23
0
5
27
0
0
10
-2
0
36
6
0
5
0
0
1
-24
0
20
54
1
-8
-22
-9
0
0
17
-15
-6
40
13
-1
-49
-40
0
3
12
-35
2
7
2
28
-7
-3
3
0
4
12
0
4
0
-16
0
-5
-1
5
-1
0
53
1
26
0
0
5
0
59
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
-3
-3
9
0
0
0
0
-32
0
0
-9
0
0
0
1
0
-22
0
7
2
0
0
6
-32
0
2
29
0
0
0
0
0
0
0
0
0
-4
28
0
0
-63
0
0
28
-45
0
0
25
0
0
-3
9
0
0
19
0
0
0
27
0
-16
-2
0
0
-2
87
0
0
0
0
0
0
52
-2
0
0
0
0
0
13
0
0
0
0
0
1
8
1
-2
50
0
0
-1
-18
0
0
28
0
0
1
-27
0
0
-25
0
0
-16
-7
-1
0
1
0
0
13
29
1
0
-1
0
0
0
20
0
0
3
0
45
0
11
-3
0
0
0
8
0
38
0
0
0
0
0
0
20
0
0
0
0
0
0
39
0
23
3
0
0
-3
32
0
0
-20
0
0
2
-43
0
0
1
0
0
0
26
0
-2
-7
0
0
0
27
1
17
-6
0
0
0
-30
2
-2
0
0
0
0
-35
0
8
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
0
0
0
0
0
0
20
0
2
-6
15
0
0
0
38
0
0
-3
0
8
8
33
2
16
0
0
43
2
0
2
-37
0
0
0
0
0
0
0
0
0
-17
24
0
-4
-2
0
0
52
32
0
0
46
-33
0
51
-29
7
0
-4
0
0
11
-29
0
18
4
41
0
0
55
0
0
0
-1
0
0
-23
-26
2
0
9
0
0
10
-10
0
-2
0
0
-6
-1
0
-4
-13
-10
0
43
13
0
0
-9
0
0
13
11
0
-4
-69
6
0
-14
-27
0
35
-4
0
0
-4
-37
1
0
8
59
0
7
-14
0
-1
-13
0
0
0
16
0
2
-26
6
0
0
44
0
0
6
0
0
0
33
5
-2
0
0
0
16
89
0
-41
-8
0
0
9
19
0
-3
30
0
0
-1
28
0
24
46
0
0
8
43
-1
0
-4
18
0
9
28
0
-13
11
0
0
-7
-22
0
5
18
-1
0
7
6
0
5
-2
3
0
0
69
0
-13
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-23
60
-70
0
-1
4
0
0
-1
6
1
-19
-14
-18
0
3
0
7
-34
4
2
-64
4
2
0
0
0
0
0
0
0
-3
-34
-4
0
-3
0
-5
-2
-3
0
0
47
-10
0
15
-32
0
-8
27
2
0
-1
-39
0
35
-31
-24
0
-1
2
0
0
7
0
0
0
-1
27
-11
0
14
0
0
-15
1
-1
0
-1
0
8
-13
0
-2
24
-4
-6
-42
-20
0
12
-18
14
-1
50
12
-6
-15
-48
25
0
93
29
0
-9
5
-30
21
23
14
1
1
75
11
-4
-3
55
0
-4
-3
8
-3
0
-16
-2
1
-7
5
-5
0
5
0
0
0
-1
0
0
-27
30
8
-7
0
0
4
40
0
23
-20
-1
-6
-14
0
6
29
21
-17
0
-13
-29
0
1
-12
-1
0
0
29
0
0
-2
-8
0
-1
47
0
-23
26
5
2
0
12
0
-6
-7
-38
-5
0
12
0
54
-3
0
2
0
90
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
19
0
-4
-4
0
0
0
-3
0
26
6
-4
0
0
0
30
-10
0
0
-9
0
0
0
0
0
0
0
0
0
-59
-5
4
1
80
4
1
25
-6
0
7
15
1
0
-4
42
0
0
-9
0
3
7
0
2
12
4
4
0
0
26
0
0
0
0
-4
0
47
1
-8
0
0
0
0
27
0
0
0
0
0
1
86
5
5
61
1
-3
48
-7
-4
0
-3
0
0
-6
51
-2
43
-16
9
0
49
-34
0
0
8
-2
0
0
15
0
0
-5
3
0
0
0
5
0
-7
4
0
0
37
0
3
0
-3
15
0
49
1
5
0
0
0
0
37
-1
0
0
1
0
-4
15
0
8
-18
4
0
4
-13
0
-5
49
0
0
-2
22
0
22
-15
1
0
4
-43
0
7
-29
-5
0
6
-39
0
54
8
0
0
-4
0
0
0
1
6
0
0
57
0
17
6
0
0
0
-5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
17
0
0
2
0
0
0
0
0
0
0
0
0
-5
29
0
0
0
0
0
25
18
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-8
0
0
7
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
14
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
1
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
-1
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
-29
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-15
0
0
-5
0
0
0
-1
0
0
0
2
0
0
-41
0
0
0
0
0
0
-7
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
-3
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
0
0
6
-3
0
0
-6
0
0
0
-2
0
3
-2
-1
4
0
0
-5
-24
0
0
47
0
0
0
0
0
0
0
0
0
21
11
3
5
-27
0
0
-8
15
0
2
-4
0
0
-1
4
0
0
8
-2
0
8
1
0
27
4
23
-2
0
39
0
0
0
1
0
0
-16
7
-5
0
0
0
0
31
0
0
0
3
0
0
44
1
0
0
0
0
-8
0
0
0
-2
0
0
-1
-29
-6
1
78
6
-1
3
33
2
4
-1
-3
-1
8
25
0
8
0
-6
-1
0
-24
1
-1
1
0
8
0
-51
0
-6
0
0
29
0
-32
0
0
0
-2
0
0
-7
0
0
0
0
0
2
-54
-9
-19
0
-1
0
1
-20
2
-2
3
-2
0
0
-20
0
17
-3
1
0
0
26
-3
0
0
-5
0
8
2
0
-19
-5
-5
-3
0
-47
0
0
0
4
0
0
31
0
4
0
0
-2
0
81
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
23
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
0
0
-5
0
0
0
11
0
0
0
0
0
5
-2
0
0
0
0
0
1
-1
0
3
0
0
-1
0
-12
0
0
0
0
0
0
23
0
0
0
0
0
0
-36
0
0
0
0
0
0
-7
0
-3
0
0
0
0
-3
0
0
12
0
0
0
20
0
5
-5
0
0
0
-6
0
0
0
0
0
-7
5
0
0
1
0
0
-1
0
0
0
0
0
0
0
-5
0
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
2
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
-1
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
5
-7
0
0
0
51
0
0
0
0
0
41
-2
1
-2
0
0
2
-11
0
0
-4
0
0
0
0
0
0
0
0
0
-13
-15
0
-5
44
1
0
36
11
0
1
0
-59
0
4
27
0
-7
37
0
0
4
36
-2
12
-33
9
0
0
-17
-8
0
8
0
0
0
-1
-19
-6
0
-6
0
0
11
1
0
-5
0
0
14
18
0
0
-22
-5
0
46
38
-1
0
6
-3
0
56
-32
0
-22
-2
4
0
-49
12
0
0
66
0
0
8
-47
-4
-1
5
-52
0
15
41
0
-5
-66
0
0
-1
-11
0
0
3
8
0
0
-8
0
0
0
2
0
1
53
-6
0
0
0
0
5
3
0
32
-31
0
0
-9
49
0
1
51
16
0
4
-24
4
49
-42
0
0
-2
4
0
24
0
0
0
0
5
0
-18
-3
0
0
2
14
0
-8
28
8
0
0
-23
0
98
-1
0
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-46
0
-4
0
0
0
0
-19
0
0
1
0
0
0
0
0
0
0
0
0
0
35
0
0
21
0
0
0
27
0
0
0
0
0
1
-10
0
0
-6
0
0
0
34
0
-7
-1
3
0
0
42
0
0
0
0
0
0
65
7
0
0
0
0
0
10
0
0
0
0
0
0
15
0
0
-4
0
0
-3
-34
0
0
7
0
0
-2
55
0
0
-1
8
0
0
-49
0
0
-2
0
0
0
-8
0
0
-3
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
2
-2
0
0
-4
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
2
0
0
0
5
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-13
0
-21
-4
3
0
0
0
5
-10
-2
0
7
0
-2
0
0
0
0
0
0
0
-52
2
16
16
4
0
0
-43
40
0
0
10
1
0
7
-42
0
-2
75
0
0
-1
-5
0
-45
1
-12
0
-1
0
-3
-1
-4
4
-5
0
38
-8
-18
0
0
0
0
34
-15
0
0
0
0
1
-48
8
9
41
0
12
-5
-7
0
-1
-13
0
1
2
20
4
0
4
-5
0
-33
19
0
-15
12
4
0
14
13
0
1
-27
-1
3
1
10
0
0
-1
0
-8
0
0
0
0
0
-4
0
0
-2
1
0
0
-2
0
0
51
10
0
0
-1
0
-2
-31
0
-9
6
0
-8
0
-11
0
-8
24
-3
0
-20
-36
0
-1
17
0
2
1
49
1
-3
12
-3
-1
0
21
0
-12
-9
0
-2
0
6
0
0
-1
0
0
0
0
0
2
-6
-2
6
0
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
1
0
0
0
6
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
17
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-42
-38
0
0
27
-1
0
-5
-4
0
0
0
-8
0
2
17
0
0
-1
0
0
0
20
0
29
0
-5
0
0
40
0
0
0
0
-7
0
-16
0
0
0
0
0
0
-29
0
-2
0
1
0
0
-16
0
0
0
0
0
0
-44
0
0
42
0
0
2
45
0
0
0
1
0
13
9
0
0
2
0
0
0
-10
0
0
0
10
-9
0
-63
0
0
2
0
-5
0
-10
0
0
0
-3
0
0
0
0
0
0
8
0
0
-16
2
0
0
0
0
0
69
0
-6
0
0
0
0
-11
0
0
0
2
0
0
-20
0
0
0
0
0
-1
-14
0
0
0
4
0
0
29
0
2
0
0
0
0
1
0
0
0
0
0
0
24
0
-1
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
7
0
-8
-8
4
0
0
0
3
-35
0
0
0
0
-3
0
0
0
0
0
0
0
35
19
0
4
-9
0
0
50
7
0
0
24
0
-1
9
12
0
0
16
0
0
-5
-2
0
8
-3
0
-1
6
2
0
0
-1
0
5
0
2
-2
0
0
0
0
0
27
0
0
0
0
0
-1
2
0
0
9
0
-3
0
-37
0
0
-9
0
0
-33
-10
0
-8
62
0
0
-3
-3
0
-8
-4
-6
0
8
6
-3
4
2
0
0
0
41
0
0
2
0
22
7
-25
0
0
-6
0
37
0
-11
0
0
4
0
0
0
41
0
0
0
0
0
0
59
0
-31
2
0
-1
-3
20
1
1
-1
0
0
-3
32
0
13
-2
0
0
4
0
0
-5
6
0
0
-2
-27
0
27
0
0
0
0
13
0
0
3
0
0
0
-33
0
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-9
0
7
16
10
-49
38
5
0
-22
-6
14
-11
-5
0
0
0
0
0
0
0
0
0
-10
16
5
-10
-29
1
0
59
-28
0
-10
1
50
0
64
30
0
25
12
0
0
8
22
8
20
12
-25
0
8
-8
-30
-5
-4
0
0
0
52
42
3
1
-25
0
1
-4
17
1
-2
-10
0
-19
21
-2
12
70
37
0
5
13
22
-22
24
6
0
28
21
20
12
-18
24
0
23
19
7
70
12
26
0
20
19
40
37
3
108
0
-9
24
0
-9
-48
0
0
-1
2
32
-54
-38
10
0
0
25
-3
69
-3
-3
0
2
-35
-16
4
-20
-17
0
-2
-6
-13
13
-20
-9
0
-2
12
8
-2
33
-50
0
88
29
-1
-24
14
10
3
-88
5
6
35
1
49
0
5
19
-1
-47
67
1
0
8
31
0
-7
61
-9
0
0
0
-13
-48
20
-4
0
0
-17
9
21
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
-7
30
0
1
-9
0
0
0
24
0
0
0
0
0
-7
9
0
0
0
0
0
0
-51
0
22
0
0
0
0
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
-42
0
0
0
0
0
0
12
0
0
0
0
0
-2
14
0
0
14
0
0
-3
-2
0
0
-2
0
0
0
59
0
0
12
0
0
6
0
0
0
2
1
0
18
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
-21
0
0
-12
0
0
0
21
0
0
0
0
0
0
-4
0
0
13
0
0
0
0
0
0
1
0
0
0
14
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
38
-1
-4
-1
0
22
-30
1
-4
-19
0
0
0
0
0
0
0
0
0
-45
-6
-2
-9
-8
0
-2
-43
-18
0
0
31
-42
0
58
-52
0
-8
40
0
5
-13
-5
0
-28
11
29
4
0
54
1
0
6
0
14
0
-29
0
23
0
-4
0
0
2
10
0
1
-7
0
20
-7
9
2
-14
-10
0
-10
5
0
-2
29
0
0
40
-45
0
30
-84
31
0
15
-27
4
-7
14
3
13
-1
-8
-3
50
-2
-17
-2
8
12
0
-6
-11
2
24
0
0
0
-1
2
3
8
0
3
0
-1
0
14
0
0
-1
-5
0
8
0
0
0
-3
4
77
37
0
17
-25
-85
0
-1
44
2
0
-18
15
0
-47
20
-1
0
13
-5
0
-24
16
-7
0
1
6
0
-37
40
-6
1
-4
68
0
-4
0
16
-1
0
14
0
10
-1
0
-5
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-10
1
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
15
25
0
-2
7
0
0
0
3
0
0
-3
0
0
7
25
0
0
-1
0
0
0
-8
0
27
-7
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
-2
0
0
0
-2
3
0
0
2
0
0
0
-24
0
0
1
0
0
-7
28
0
0
7
0
0
0
-12
0
0
0
-19
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
37
0
0
0
0
0
0
32
0
0
0
0
0
0
13
0
-2
0
0
0
0
1
0
0
-10
0
0
0
21
0
1
0
0
0
0
16
0
0
-8
0
0
0
2
0
0
3
0
0
0
25
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
40
1
31
0
0
14
15
6
0
-6
0
0
0
0
0
0
0
0
0
-4
10
0
2
-54
0
0
99
1
0
-4
-8
68
0
39
2
0
0
-5
-3
0
0
0
0
-13
-15
27
0
0
46
8
2
0
2
0
0
41
-46
21
0
1
0
0
36
41
0
8
3
0
22
-25
-4
0
-42
-1
0
-63
-15
-3
0
-43
0
0
25
-12
0
0
62
0
0
121
4
-3
0
-70
0
0
-1
40
5
0
76
32
0
0
6
0
0
19
0
0
-4
-3
0
20
6
13
0
0
-6
-5
1
0
0
0
0
44
1
0
3
0
0
-5
21
-3
33
48
0
0
5
26
0
-12
52
5
0
-21
7
0
-33
-49
5
0
-1
-21
2
-16
-1
-5
0
10
13
-6
-41
4
0
0
0
-17
0
5
-19
10
0
0
-11
0
3
3
0
0
0
-6
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
0
0
0
0
0
0
0
0
-7
9
0
0
20
0
0
0
26
0
0
2
0
0
0
25
0
0
0
0
0
0
3
0
7
0
0
0
0
-5
0
0
0
0
1
0
-5
0
0
0
0
0
0
58
-5
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
-2
0
0
6
-13
0
0
0
0
0
0
-27
0
0
-1
0
0
0
13
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-6
0
0
3
39
0
0
-1
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
7
0
0
6
0
0
4
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
6
4
10
-17
11
-16
0
0
0
0
0
0
0
40
-1
11
-11
22
77
3
32
5
-28
-2
-17
-63
-29
14
-21
-7
-5
-3
-45
19
12
-15
11
15
30
-5
3
24
-6
-1
-17
10
-17
25
-6
-2
19
19
16
9
25
14
0
12
32
-29
82
46
-13
17
45
91
-11
-24
12
-5
-7
-14
1
-12
20
3
39
5
-99
-19
38
28
-2
6
-6
54
-33
60
6
-53
14
-6
0
-30
-60
-55
56
-38
-12
11
66
20
-5
48
23
-12
-22
49
15
44
15
48
-9
14
-23
17
24
-21
-40
0
-31
17
-2
11
-3
-32
-4
-14
-13
4
-15
-15
23
-20
-47
18
28
5
32
-54
-10
-12
14
-2
-2
12
37
8
10
-40
27
77
43
-53
8
-42
-1
37
-35
0
21
7
-43
49
15
36
53
-5
-11
14
-10
-6
-11
-47
-5
23
-76
52
1
4
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
4
0
1
-7
0
0
0
0
0
0
0
0
0
50
-23
1
1
-40
0
0
-48
-44
0
-1
6
-8
-3
-48
-20
0
5
5
-4
2
4
24
0
14
1
-18
0
0
-85
0
0
-2
-5
7
-1
16
25
-2
0
0
0
0
-1
0
0
0
-1
0
-6
29
-8
-1
-2
17
1
100
-20
2
1
-18
0
0
52
-21
0
-1
35
9
0
-26
-12
0
0
18
-12
0
20
-31
0
5
16
25
-5
5
38
0
0
0
5
-2
-4
49
0
2
-1
0
32
0
9
0
2
0
0
0
0
-78
0
0
-1
0
0
13
50
-1
-28
51
0
2
0
-27
0
-6
-20
2
0
-2
68
-3
4
-5
-3
3
0
-6
0
17
-12
-2
0
0
-49
0
-21
1
0
0
0
-51
0
0
0
0
0
0
-1
0
23
0
0
0
0
69
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
27
-3
0
76
0
0
0
0
0
0
0
0
0
-17
32
0
0
69
0
0
7
-53
0
0
40
-1
0
2
-15
0
0
26
1
0
0
-32
0
-11
18
-19
0
0
8
0
0
0
0
13
0
51
24
0
0
-2
-8
3
-10
-5
0
-5
0
0
2
9
-5
8
40
1
4
-1
-33
0
0
-35
0
-1
16
1
8
2
-19
4
0
16
50
1
0
-9
0
0
19
-62
-3
0
-16
23
5
8
-21
0
0
4
0
-1
0
5
0
0
22
-12
-10
0
15
-1
5
0
0
-13
0
45
1
0
9
0
0
0
11
3
-21
15
0
0
2
-90
0
-4
-10
-2
0
9
11
0
-5
-9
0
0
-1
67
0
-5
6
40
0
0
21
0
-12
-2
0
0
1
15
0
-3
-1
-6
0
0
-17
0
-13
-2
6
0
0
-7
-12
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
15
-24
0
-2
6
0
0
-3
24
0
0
-31
0
0
-2
-6
0
0
4
0
0
0
70
0
33
3
-9
-2
0
0
0
1
0
0
-9
0
-23
27
0
0
0
0
0
39
0
0
0
0
0
5
25
0
0
0
0
0
0
55
0
0
2
0
0
-6
62
0
0
-2
1
0
0
-6
0
0
23
0
0
0
-6
0
0
-2
2
0
0
-40
0
0
-2
0
-2
0
-1
0
0
0
-4
7
0
-21
0
0
0
0
0
0
-42
0
0
0
0
0
0
6
0
-3
0
0
0
0
60
0
-1
-1
0
0
8
-36
0
0
19
0
0
0
32
0
4
0
0
0
0
27
0
-4
0
0
0
0
-2
0
0
0
0
0
0
25
0
8
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
7
0
0
0
0
0
0
0
0
0
33
-47
0
-2
34
0
0
0
22
0
0
-17
0
0
0
-1
0
0
-3
0
0
1
-17
0
-4
2
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
-3
-21
0
0
-25
0
0
7
-51
0
0
-19
0
0
0
28
0
0
0
0
0
0
75
0
0
-5
0
0
0
-27
0
0
0
0
0
0
55
0
0
0
0
-3
0
31
0
0
0
0
0
0
25
4
0
0
0
0
0
-7
0
16
-2
0
0
0
-17
0
0
0
0
0
0
58
0
-3
-2
0
0
0
17
0
-1
0
0
0
0
6
0
3
0
0
0
0
-5
0
0
0
0
0
0
22
0
2
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
75
0
-8
28
5
-1
-111
-46
2
0
35
-72
-6
-3
-39
7
-3
21
-1
6
0
37
-1
-5
8
22
-9
4
19
3
0
5
0
2
0
-9
-13
2
0
7
6
0
5
33
0
0
0
0
0
19
0
0
42
0
0
129
-64
0
2
11
-1
0
47
7
0
0
56
-38
-3
-5
36
0
13
-19
-25
-3
-6
-21
4
-2
18
14
0
15
61
0
7
-6
0
-3
0
-4
0
0
5
-14
-14
0
6
2
-1
0
0
0
0
1
-4
0
0
-1
0
0
44
0
24
15
0
0
1
89
0
12
16
7
0
-2
-49
0
45
47
-3
0
-5
-51
0
17
-2
-2
2
-4
-51
0
-2
49
0
0
-4
18
5
2
36
-8
0
0
-5
0
-31
0
0
-3
0
4
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-32
26
-2
-32
-78
-29
16
12
35
1
-5
44
-13
-16
75
-5
-8
-58
2
37
-26
100
-4
-20
2
25
-38
-11
17
-22
24
40
-10
-2
-8
-21
7
15
21
74
18
6
-48
-57
46
-32
0
-10
0
17
11
-9
-54
-12
-15
-6
-17
-31
27
28
45
-9
-1
66
-25
42
17
42
29
5
-28
62
27
-22
42
-9
16
12
18
40
-14
100
-11
4
-50
-59
15
18
8
-6
-33
123
55
3
-6
9
-3
-1
5
-52
-18
-27
62
11
-24
-7
35
-59
56
8
91
0
40
42
44
-1
20
-37
1
27
17
-23
51
8
12
-3
29
1
0
-23
25
7
-22
-21
15
3
4
85
3
-7
7
-1
-33
46
-1
55
-47
-7
17
-28
-24
-7
5
15
-5
28
-10
-14
39
2
22
-6
-37
-7
21
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-61
0
0
-4
12
0
0
13
0
0
2
22
0
0
3
0
0
0
-12
0
38
-12
0
0
0
-18
0
0
0
0
0
0
34
2
0
0
0
0
0
-16
2
0
0
0
0
0
92
0
-6
1
0
0
1
25
0
0
24
0
0
1
53
0
0
19
0
0
2
16
0
0
-13
0
0
3
27
0
0
0
-5
0
0
23
0
0
6
0
0
0
59
0
0
4
0
0
0
-46
0
0
0
0
0
0
12
-14
5
-1
0
0
0
26
0
3
0
0
0
0
11
0
0
-16
0
0
1
-64
0
-2
0
0
0
0
21
0
-2
2
0
0
0
-1
0
-3
0
0
0
0
5
0
0
0
1
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-15
-4
0
14
0
0
-2
-11
0
0
-4
7
0
3
-78
0
0
0
0
0
0
-1
0
17
0
-1
0
0
20
0
0
0
0
0
0
-60
0
0
0
1
0
0
73
0
0
0
0
0
-3
52
0
0
0
0
0
1
92
0
0
5
0
0
2
-22
0
0
-2
0
0
0
30
0
0
-5
0
0
0
18
0
0
-1
0
0
0
-55
0
0
0
0
0
0
-11
0
0
0
0
0
0
-37
0
0
0
0
0
0
-20
0
0
0
0
0
0
-65
0
26
0
0
0
0
16
0
0
0
0
0
0
-22
0
-2
0
0
0
0
5
0
0
-8
4
0
0
64
0
-1
0
0
0
0
1
0
0
-1
-1
0
0
-1
0
-1
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
24
14
12
0
35
63
6
-16
26
57
-1
-3
-72
24
4
-12
-16
25
17
-8
45
0
-36
21
31
8
2
17
-13
-2
0
2
8
0
7
40
22
0
26
-5
-2
2
-36
0
-5
0
0
-9
-26
-14
25
-30
-2
15
2
-28
0
7
46
0
0
76
49
24
-11
-24
-58
30
25
23
4
-1
18
2
7
38
8
5
-3
79
-1
9
0
12
3
0
-20
1
36
0
20
6
3
-5
-12
6
0
-12
-6
3
0
4
5
0
38
-12
5
-1
-2
0
5
68
2
20
55
0
1
27
-7
1
57
56
-16
-2
67
-38
-4
68
12
-8
0
1
-44
3
36
57
-36
3
-29
13
9
-21
58
22
-1
13
33
-2
-10
68
43
-6
0
-67
0
-73
1
0
5
0
-32
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
1
0
0
0
1
0
-2
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
-29
0
0
2
0
0
0
25
0
0
-3
0
0
1
72
0
0
0
0
0
0
23
0
0
3
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
65
0
-1
0
0
0
0
15
0
0
-9
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
2
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
64
0
0
0
0
0
0
51
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-11
0
0
-5
0
0
0
-29
0
0
0
0
0
0
-57
0
0
-2
0
0
0
-2
0
0
0
-2
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
2
0
0
0
0
-25
0
0
0
0
0
0
1
0
-3
0
0
0
0
3
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
8
25
-10
30
2
-18
11
2
-15
33
15
6
13
-4
1
-5
14
21
-38
25
6
39
1
-21
27
-6
1
0
-12
27
3
5
21
-9
23
51
25
43
-8
0
-26
10
-24
6
17
-3
30
42
-12
16
-78
48
6
24
-5
-37
0
-47
-11
52
-8
2
1
-30
-10
20
6
13
40
20
18
15
41
0
44
40
9
-6
91
-21
9
2
10
5
86
-16
31
-43
39
0
12
-5
47
7
-15
2
-2
54
8
-17
-9
-39
3
36
-6
-8
-28
17
5
43
17
27
-65
-13
81
34
-5
-7
-6
49
1
38
-27
-17
83
25
7
74
30
-72
-41
24
12
-40
23
28
61
-18
24
-11
-4
45
19
27
-8
0
-3
-13
24
17
-3
-7
0
28
17
-6
25
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
3
-50
33
2
26
16
-17
-33
-8
49
19
8
-15
21
-40
1
20
-29
-27
-40
8
-20
-9
2
-1
-1
18
0
-5
-17
-85
-1
37
-3
29
25
1
-5
-86
45
13
28
9
45
-4
14
29
9
-4
-1
51
64
12
-51
-11
-6
0
12
4
-3
35
-4
20
-38
-32
6
-44
27
39
11
-42
-22
-23
6
-12
24
34
-20
-5
-12
-3
-23
-5
-78
-8
7
24
-20
-6
14
-2
-5
-45
-24
7
12
50
3
-19
36
7
2
-2
-4
-28
22
13
18
12
15
9
10
27
-58
53
65
-29
28
8
0
-6
29
33
-9
16
17
-26
67
6
-41
16
18
-80
-6
4
37
-37
-27
10
-21
13
6
13
-4
-8
49
27
-6
12
-38
-16
-12
58
-3
23
52
50
-17
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
5
0
0
-1
-26
0
0
0
0
0
0
2
0
-5
0
0
0
0
-6
0
0
0
0
0
0
16
1
0
0
0
0
0
-9
0
0
0
0
0
4
37
1
0
3
0
0
0
10
0
2
2
0
0
1
52
0
-3
0
1
0
0
23
0
0
0
0
0
0
36
0
0
0
0
0
0
-32
0
0
2
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
1
5
0
0
0
8
0
0
-1
0
0
0
33
0
5
0
0
0
2
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-7
0
-15
-6
0
0
-7
0
-3
0
39
0
53
3
1
0
0
-21
0
-6
0
0
0
0
-32
5
0
0
0
0
0
32
0
0
1
0
0
-2
5
-2
0
5
-6
0
-32
-10
0
10
7
0
0
-19
-3
-3
5
4
0
0
2
53
1
0
48
0
0
0
4
0
0
1
0
0
0
-3
0
0
-1
0
0
-4
7
0
0
0
1
15
0
11
0
0
0
0
0
0
-28
0
0
0
0
0
0
3
0
8
29
0
0
0
-71
0
0
48
-4
0
5
97
0
-4
25
0
0
-4
4
0
8
-7
0
0
0
33
0
0
6
0
0
0
-2
0
0
15
0
0
0
64
0
-2
0
0
0
0
-8
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
2
32
-6
9
-16
6
17
3
-4
36
4
8
28
14
5
17
63
59
-8
13
-26
-1
-2
56
-5
86
0
-19
-18
-16
-3
-4
-10
1
6
1
-9
10
0
-1
31
52
8
100
52
-31
65
25
-45
15
11
32
-4
8
13
22
-2
-13
-14
68
-2
68
0
2
-32
-15
24
-6
-91
24
-14
43
-10
-29
17
43
23
0
15
41
16
-6
-4
10
-3
35
-51
62
-94
0
4
-13
-1
0
-9
-2
7
31
-58
5
51
19
0
-5
-7
-4
-18
6
2
-9
72
-5
58
-37
-32
26
-5
3
20
0
15
41
-16
-2
77
23
5
23
0
23
28
116
38
0
38
-48
-18
24
5
-44
5
5
51
-33
-13
2
22
9
-2
-13
-9
-7
0
-41
27
5
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-31
0
5
6
0
0
-8
-12
0
0
-1
0
0
0
8
0
8
0
0
0
0
8
0
0
1
0
0
0
-50
-2
0
0
0
0
0
27
0
0
0
0
0
0
83
7
0
4
0
0
0
-5
0
1
3
0
0
0
26
0
0
-8
0
0
-2
52
0
0
0
0
0
0
28
0
1
0
0
0
0
50
0
0
0
0
0
0
13
0
0
0
0
-5
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
23
0
0
-7
0
0
0
14
0
-2
18
0
0
0
-41
0
1
0
0
0
0
-9
0
-3
0
0
0
0
11
0
3
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
12
0
0
0
-27
0
0
-1
0
0
0
4
0
-3
1
-2
0
0
48
0
0
0
0
0
0
-9
-4
0
0
0
0
0
-2
0
0
0
0
0
0
61
0
0
-4
-3
0
-1
51
0
0
5
0
0
68
-9
0
0
-2
0
0
-1
65
0
0
18
0
0
-1
5
0
0
-5
0
0
0
46
0
0
0
0
0
0
-6
0
0
0
-1
0
0
123
0
0
0
0
0
0
-5
1
0
0
0
0
0
9
0
5
-9
0
0
0
1
0
0
1
0
0
0
-6
0
-1
-2
0
0
0
5
0
0
-4
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
17
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
2
59
0
4
9
-23
0
18
-38
-54
2
-8
42
-2
0
13
-4
8
0
25
32
-4
0
-33
1
0
-7
23
-23
0
-1
0
-5
-40
20
-66
-47
23
-1
4
-17
0
-10
8
0
8
10
21
-3
-13
-68
7
1
0
-57
1
27
24
-1
-3
-19
17
-2
-4
19
4
2
1
-37
0
25
-41
1
12
-5
4
-2
-3
4
28
14
7
27
0
-4
0
-1
0
0
61
-15
24
0
6
0
-1
47
-2
5
38
-1
-5
31
49
0
30
-15
1
0
-5
-18
-1
-21
-34
20
1
15
-12
-9
65
-20
-16
3
0
6
0
-13
15
-5
0
0
-7
12
1
-6
0
-2
0
17
2
-2
-4
0
1
0
84
-1
5
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
2
17
19
29
-12
-10
-14
34
-4
0
-30
24
-13
-41
-18
-7
-10
-8
7
10
-15
30
-10
-2
-17
-1
-23
-23
-18
-8
-31
32
15
56
-18
20
29
31
-58
7
11
-4
10
111
-6
10
-45
23
-9
-55
42
18
37
22
-4
0
-1
-1
24
-4
0
48
-2
-17
-61
35
-16
42
2
-4
6
-39
55
-46
4
59
-3
-11
28
-17
-29
20
-3
5
-11
5
8
71
10
9
-23
54
2
50
20
-1
-29
3
-56
32
0
7
-54
9
-15
-40
19
-8
-93
-11
102
10
4
49
80
-75
7
66
0
-17
-28
41
6
7
3
-4
-3
-17
65
-14
-29
15
1
24
-42
28
-19
51
8
-14
17
-11
5
22
54
2
15
-11
-15
4
34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
0
0
2
0
0
0
66
0
-1
0
0
0
0
13
0
0
0
0
0
0
17
0
0
0
0
0
0
43
0
0
0
0
0
0
-29
0
0
0
0
0
-3
13
0
0
-4
0
0
0
8
0
0
-6
0
0
0
-40
0
0
1
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
7
0
0
0
0
-40
0
0
-1
0
0
1
7
0
0
4
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
64
0
0
-4
0
0
0
15
0
-10
-13
3
0
0
-47
0
0
0
0
-1
0
-45
17
0
0
0
0
0
0
0
0
2
0
0
0
2
0
1
2
0
0
6
-10
0
0
-13
-1
0
-22
-8
0
0
17
6
0
0
-13
0
0
3
0
0
0
-41
0
0
-6
0
0
0
69
0
0
-3
0
0
0
-6
0
0
0
2
0
0
28
0
0
0
0
0
0
43
0
0
0
0
0
0
-50
0
10
13
0
0
0
1
0
0
5
-2
0
3
18
0
8
6
0
0
0
-17
-2
-3
0
0
0
5
56
0
-3
3
0
0
0
9
0
0
0
-1
0
0
20
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-25
0
0
12
16
4
8
28
-3
28
-20
0
-1
5
-3
1
1
0
7
25
4
-24
4
86
0
23
-23
18
17
58
5
0
0
0
-11
11
-40
20
17
31
8
-9
32
-6
53
20
0
1
32
10
0
-27
-38
15
6
-23
8
7
-5
-14
7
-4
58
34
0
40
-8
104
1
47
26
0
27
48
-3
37
0
12
0
-1
-4
-35
47
0
43
1
1
0
2
-1
0
21
-52
5
-14
0
0
15
-9
-10
36
38
0
0
-49
52
4
12
18
-11
6
31
-6
0
14
86
4
-7
5
-11
2
-44
31
-62
0
6
38
3
58
-1
-2
19
8
11
1
-3
-3
3
-10
2
18
7
-10
-5
0
34
0
9
13
3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-6
0
4
21
0
0
-1
-3
0
26
24
0
-7
1
33
0
0
0
0
-7
0
-3
17
-7
0
0
0
-10
43
0
0
1
0
0
1
17
0
0
-6
0
4
18
36
0
-1
78
0
-9
27
27
0
-1
-5
0
4
-73
-31
0
0
37
0
-5
-8
-47
0
0
-64
0
0
-4
-32
0
2
-46
0
41
0
62
0
12
16
0
-26
0
-16
0
-29
0
0
8
0
-25
44
0
0
0
0
9
10
0
3
51
0
0
-5
-5
0
0
-8
-4
0
10
0
0
20
32
0
3
13
25
0
0
37
0
0
0
-55
0
65
-9
0
0
0
62
0
-5
30
0
-4
0
-11
0
27
-1
0
-2
0
-13
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
-7
0
5
0
0
0
0
-22
0
0
0
0
0
0
-55
-3
7
0
-2
0
0
28
0
0
0
0
0
0
-35
0
-3
0
8
0
9
112
0
0
-4
0
0
1
67
0
0
8
0
0
16
-62
0
0
2
0
0
0
7
0
0
2
0
0
-1
22
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-64
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-45
0
-5
-7
0
0
-5
-29
0
-7
0
0
0
0
-2
0
0
-7
0
0
0
-17
0
8
0
0
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-2
-5
14
15
0
0
-5
0
0
-7
0
-38
0
-13
-44
-2
0
12
0
0
-28
32
0
-7
-1
0
5
-1
-13
14
-36
19
-4
-13
23
0
-12
65
2
0
5
33
4
-32
-6
8
0
2
33
-4
4
19
-9
0
10
-16
0
5
-43
54
16
-4
17
0
-7
-15
-22
51
0
-32
-2
14
0
-29
25
0
-8
0
6
0
-5
0
7
83
26
-10
0
2
0
-10
50
7
71
-5
0
14
0
-51
5
16
-30
-22
0
2
12
2
33
40
-1
-9
8
0
6
-7
13
28
17
0
-71
0
11
-34
0
1
0
-17
-16
4
-6
-2
0
0
-88
0
38
0
0
-22
0
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
42
31
11
-9
-6
-24
13
0
-6
9
37
-28
1
6
16
13
6
33
20
6
-5
-27
-6
61
12
-2
44
-12
-19
-3
71
-51
48
-4
-8
78
88
12
-7
-12
-28
-8
-7
-32
44
13
16
26
0
48
-52
75
-12
-29
-9
0
30
-31
-16
-26
22
-20
10
13
77
-15
6
-5
-3
14
-20
33
18
-16
-44
8
13
-74
18
-3
-15
-5
5
11
-81
20
-24
-12
4
-67
-25
-14
-12
11
-12
45
-25
-8
55
-7
-35
28
-20
66
-27
-20
-15
-28
-28
4
37
-55
37
-17
-17
-5
-18
-16
0
-3
13
-5
24
9
37
-10
19
84
36
-18
19
13
-5
-8
-29
51
3
-25
-1
13
44
13
6
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
0
0
-8
0
0
0
41
0
0
0
0
0
0
-35
0
0
-1
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
8
0
0
0
5
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
31
6
0
0
0
0
0
-33
4
0
0
0
0
1
-34
0
0
-27
0
0
0
20
0
0
4
0
0
2
-16
0
1
8
0
0
0
5
0
0
0
0
0
1
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
13
2
0
0
0
0
0
19
0
-4
1
0
0
1
33
0
0
0
0
0
0
-22
0
0
0
0
0
3
51
0
1
-12
0
0
0
-49
0
0
0
0
0
0
18
0
0
-3
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
1
20
-1
-22
7
19
-22
3
0
0
0
-28
0
-27
-45
65
0
-28
0
1
-34
-5
0
1
-4
0
-21
-18
33
-5
27
7
-29
77
40
1
8
-10
12
0
-77
19
3
66
23
18
3
-26
-46
0
13
-23
28
-7
-18
27
0
6
2
22
-6
-13
10
0
40
-12
0
12
-10
7
0
-15
0
-97
9
0
6
6
-2
0
0
3
0
59
54
-3
-1
0
0
-6
-12
0
-18
-3
-3
-3
-27
-10
0
-56
-47
-17
0
-15
55
-4
-7
1
2
-4
-13
33
-7
14
-54
-16
8
-10
27
0
-2
-8
0
0
15
2
3
-14
0
4
29
0
-38
0
-11
0
5
5
0
3
16
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
-7
0
0
0
0
0
0
-50
0
3
0
0
0
0
57
0
0
0
0
0
0
80
5
0
0
0
0
0
7
0
0
25
0
0
-2
-63
0
0
33
0
0
0
30
0
0
2
0
0
-1
73
0
0
0
1
0
0
51
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
-2
0
0
0
15
0
-4
2
0
0
2
-1
0
0
0
-4
0
0
-42
0
4
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
5
0
0
-12
0
0
-1
0
0
0
16
-2
0
0
0
0
0
2
0
0
0
0
0
0
-26
0
0
-1
-2
0
-5
25
0
0
1
0
0
-4
22
0
4
7
2
0
13
-11
0
0
-16
0
0
0
45
0
0
-1
0
0
0
-23
0
0
0
0
0
0
-3
0
0
-1
3
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
12
0
-5
0
0
0
0
41
0
0
4
0
0
0
31
0
4
6
0
0
0
15
0
0
-3
5
0
1
24
0
0
-1
0
0
0
-5
0
0
0
0
0
0
52
0
8
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-2
0
-7
0
-26
1
0
0
0
0
0
53
-1
0
0
0
0
-2
35
0
-4
0
0
8
29
18
0
0
10
0
0
-5
21
0
-6
30
0
0
1
-24
0
3
14
0
-5
0
25
0
17
-18
5
0
1
27
0
-4
-25
0
4
0
28
0
0
0
1
-8
0
-22
0
0
0
2
0
0
-2
0
0
0
0
0
0
5
0
-6
5
0
0
-2
-13
0
0
-45
0
-1
0
2
0
-4
0
0
0
1
41
0
-1
5
-20
-6
-1
-1
0
0
6
6
0
0
-49
0
0
-5
0
0
0
56
0
-5
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-14
0
-4
9
-2
28
3
19
69
19
0
8
-1
-2
-12
8
2
53
4
6
-15
20
26
-27
-39
15
18
15
-37
-18
42
-1
7
4
21
7
44
20
-57
45
-7
-12
1
-27
-51
26
-55
21
31
6
50
26
-74
23
3
-36
0
0
-22
-20
-26
-5
-4
15
27
33
19
-8
-44
-1
-17
-53
0
3
-9
-2
-2
28
94
3
15
-33
0
-11
-65
33
68
51
-2
-13
-11
19
2
-28
49
-23
0
-25
5
-2
-40
12
-42
3
-10
20
5
-14
21
16
17
-15
22
0
46
-44
34
29
23
0
0
-8
-11
7
0
-5
8
1
39
13
-1
29
0
-6
67
3
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
-2
0
0
0
94
0
0
-1
0
0
-2
7
0
0
-5
2
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-2
0
0
0
5
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
93
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
33
-8
-2
45
-4
-41
0
30
6
0
-3
4
-17
-3
12
-11
-7
55
-2
0
95
-2
-32
99
34
-21
3
51
1
22
64
56
14
10
49
-6
-5
-37
19
5
17
34
-20
1
42
-12
-49
11
0
-54
1
39
17
54
10
-2
-25
0
40
1
26
-13
22
2
23
10
51
-24
21
0
2
-3
-8
0
13
12
-7
-20
-45
-16
-14
17
5
-46
-23
40
40
57
-8
-7
-31
24
8
-39
-20
-64
-8
14
12
0
-18
65
-2
0
53
-69
-5
9
-36
15
-1
-1
13
0
-7
37
36
5
20
-38
-17
9
85
46
10
2
15
9
43
1
1
-51
1
-6
-14
-5
23
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
7
0
0
0
5
0
63
-44
8
0
8
0
8
-20
0
0
0
3
0
11
-16
0
6
4
2
8
-27
42
-4
2
-62
2
-1
-45
19
0
2
10
13
1
33
-2
3
-2
-22
0
0
0
5
6
0
0
-4
0
0
6
0
0
1
1
-2
0
24
0
0
0
0
1
0
-1
1
3
0
0
0
0
6
-25
0
0
0
0
0
-4
0
70
10
-3
3
12
-18
0
0
24
3
0
16
-39
0
-63
-32
0
-1
-3
-11
0
-3
5
0
-5
0
72
0
14
0
0
3
0
31
3
4
0
0
0
0
-20
-3
11
0
0
0
0
16
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-1
0
0
0
1
0
35
-7
0
0
0
0
0
8
1
0
1
0
0
-4
-27
0
0
7
0
0
41
-5
0
0
3
0
-9
35
10
0
-5
12
0
2
50
28
0
-1
45
0
12
12
-22
0
0
27
-3
-1
0
24
0
-5
75
0
1
0
42
0
1
0
0
7
0
-12
0
0
0
7
0
0
25
5
0
0
0
0
-26
25
0
50
57
0
0
-8
45
3
41
-23
0
0
-2
54
0
-53
-50
0
-1
0
-9
0
20
107
0
-2
5
-23
0
8
23
0
0
0
38
0
0
5
0
0
0
-22
0
-51
0
0
12
0
-64
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
32
0
0
0
0
0
0
-32
0
0
0
0
0
0
12
0
0
0
0
0
0
20
0
0
2
0
0
13
53
0
0
-13
0
0
1
-13
0
0
-4
0
0
0
30
0
0
14
0
0
1
37
0
0
-4
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
3
0
0
0
-5
0
0
0
0
0
-1
27
0
-5
0
0
0
0
-56
0
0
0
0
0
0
13
0
-2
0
0
0
0
20
0
0
5
0
0
0
-6
0
4
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-7
0
0
0
0
0
2
0
0
0
0
0
0
-37
0
0
-1
0
0
7
12
0
0
0
0
0
6
0
0
0
31
-1
0
-17
-3
0
-5
22
0
0
0
1
0
0
-12
4
0
0
-27
0
0
-2
0
0
0
49
0
0
0
-2
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
-6
0
0
0
0
-68
0
0
0
0
0
0
8
0
0
12
0
0
0
37
0
0
0
0
0
0
-35
0
-13
0
0
0
0
0
0
0
0
0
0
0
-26
0
-6
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
15
-15
19
0
1
-15
54
-21
2
28
8
54
1
46
68
-60
62
6
-19
-10
8
5
6
2
-2
12
23
44
19
27
28
4
-20
-4
31
-40
4
-48
24
4
-3
9
-36
-8
7
-5
0
-2
-3
66
-37
42
35
19
0
-7
26
-28
-2
-25
0
-2
-10
-13
0
7
11
-3
-31
26
-11
25
19
2
-18
-51
69
29
11
1
-13
14
-2
0
6
-70
38
-4
17
-1
27
-32
-4
-5
8
-38
25
-14
-9
25
19
0
105
2
5
-31
20
-13
-1
8
15
-3
37
39
-14
-8
-5
0
-2
0
-9
5
5
-1
-9
-15
11
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
2
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
-5
0
0
-1
-4
0
0
-1
0
0
1
37
0
0
2
0
0
0
26
0
0
12
0
0
0
2
0
0
1
0
0
0
48
0
0
0
0
0
0
-2
0
0
0
2
0
0
-39
0
1
0
0
0
0
6
0
0
0
0
0
0
1
0
5
-5
0
0
0
-14
0
0
0
0
0
0
2
0
-12
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
-3
-20
0
0
-2
0
0
-4
-8
0
0
0
0
0
0
-48
0
0
3
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
3
25
0
-2
0
0
0
0
1
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
12
0
0
0
0
0
0
-20
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
92
4
0
0
0
0
0
-14
0
-8
0
0
0
6
-12
0
0
3
0
0
1
-25
0
3
-5
0
0
-3
-11
0
0
0
0
-2
-1
58
0
0
0
1
0
0
4
0
0
0
0
0
0
3
0
0
0
0
3
0
-15
-2
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
-6
0
0
0
-7
0
0
1
0
0
-2
66
0
0
0
0
0
-6
22
0
0
3
0
0
0
-7
0
0
0
0
0
0
91
0
0
0
0
0
0
115
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
51
0
0
0
0
0
0
9
1
0
0
0
0
0
60
0
0
0
0
0
0
10
0
0
0
0
0
5
-29
0
0
-6
0
0
0
-6
0
0
-7
7
0
0
3
0
0
0
0
0
0
-4
0
0
1
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
2
0
0
0
1
0
3
0
0
0
0
1
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-12
-4
0
-1
0
0
-71
-1
0
0
0
0
2
31
0
0
19
0
0
20
25
0
0
-7
0
0
-22
38
3
-1
29
2
0
-1
23
0
7
8
0
0
1
-30
0
0
-3
33
0
0
-12
0
-17
22
0
0
-6
-16
0
0
3
-1
0
0
-14
0
-2
0
0
0
0
41
-3
0
0
0
0
0
40
0
7
-2
0
0
0
8
-1
9
34
4
0
0
2
0
-19
29
0
0
2
1
0
0
-3
0
0
0
40
0
3
2
-1
0
0
95
0
0
-6
5
0
0
5
0
-27
5
0
0
0
49
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
11
21
17
-1
73
7
-2
-2
-17
-33
-37
23
12
22
0
36
19
7
-63
-15
-23
-8
7
7
-8
58
-7
-4
-59
3
-20
50
5
1
-9
97
-19
-1
31
-51
44
-21
-1
-40
-6
8
-25
-35
25
-26
-24
16
-83
-15
59
0
-5
41
-2
-4
18
-46
17
23
-1
69
-35
-13
1
11
96
-10
44
-55
-14
42
5
48
-22
14
-29
3
7
10
-60
15
-1
26
-32
-5
-3
-77
-54
34
57
-19
46
-6
-5
-14
14
20
-31
-2
-19
-41
-25
50
-22
-18
49
9
-4
-52
-13
-7
56
6
0
0
-28
-2
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-17
0
0
1
0
0
-18
-5
-6
40
-8
2
40
-4
-3
5
-26
0
4
-58
-17
8
-8
-1
-8
-1
-28
0
0
3
-32
0
-5
-9
-62
3
5
-12
1
0
-5
-16
0
8
21
0
3
-2
-16
13
0
-23
2
18
0
-5
0
-3
0
0
-3
0
-57
14
0
0
0
0
-6
0
0
43
24
0
0
-2
-19
0
0
37
4
-3
5
8
-1
37
8
0
0
-6
37
0
-32
9
8
0
-3
-53
-5
21
0
0
-3
-3
-26
0
8
-10
0
0
0
-45
0
-42
1
0
-14
0
11
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-1
0
0
0
0
1
-16
0
0
-3
-8
0
55
-2
0
0
5
0
0
0
-39
0
1
-11
42
1
-9
-2
-2
0
13
1
0
16
12
0
0
22
-8
0
9
23
0
0
-18
0
-2
0
64
0
-3
7
33
-7
0
-26
-1
-1
0
0
0
-1
37
-1
0
0
0
0
0
-90
3
36
2
4
0
0
3
0
-3
23
-19
0
3
-10
0
-31
33
0
0
5
-8
0
18
3
-6
3
1
31
0
-2
0
1
0
0
-51
0
0
0
0
0
0
-82
0
1
-3
0
8
0
37
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
1
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-2
0
0
0
0
0
-4
0
0
17
0
0
1
12
0
0
-8
0
0
14
-2
0
0
18
0
0
10
-45
0
0
3
0
6
0
-53
0
0
0
0
0
0
-11
0
0
8
0
5
0
-4
0
0
0
0
1
0
-32
0
0
0
0
0
0
8
-1
0
0
0
0
0
-1
0
25
2
0
0
1
5
0
0
1
0
0
0
-70
0
16
0
0
0
0
11
0
0
-3
0
0
0
2
0
18
-5
0
0
0
46
0
-2
0
0
0
0
8
0
-8
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-33
0
0
8
0
0
12
-59
0
0
30
0
0
7
74
0
0
8
0
0
-5
-2
0
0
0
0
0
0
-19
0
0
-9
0
0
0
7
0
0
0
0
0
0
33
0
0
-1
-5
0
0
-66
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
-6
0
0
8
24
0
-1
6
0
0
0
17
0
0
4
0
0
0
-19
0
0
0
0
0
0
5
0
0
6
0
0
0
45
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
0
-31
0
0
-5
0
0
-6
-35
0
0
3
0
0
0
-18
0
0
1
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
-6
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-31
79
25
-14
3
-35
3
10
17
60
18
-6
4
23
24
30
25
22
-18
82
-26
16
-23
54
25
32
36
11
15
-61
0
-1
1
5
-41
-9
-6
34
-12
-58
22
99
8
19
-38
27
-11
35
-2
22
-54
26
43
-16
39
-4
0
-5
24
51
0
0
-16
6
30
-23
-12
45
51
-44
-14
53
-4
5
-18
8
8
-4
15
-12
-32
26
-16
29
2
21
27
15
5
-27
18
-18
25
-34
26
-54
70
22
-13
80
61
21
28
-62
-39
8
-22
3
20
58
40
1
8
41
36
24
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-69
-10
-8
12
0
0
-24
-45
0
0
73
0
0
9
43
0
9
-17
1
0
-3
-46
0
-5
-74
0
0
2
11
0
2
26
-20
0
1
-4
0
0
5
0
1
0
34
0
3
-2
32
-5
0
5
0
0
0
0
0
0
11
-1
0
0
0
0
0
13
0
-23
12
2
0
0
9
0
-2
-5
0
0
-2
6
0
1
21
-1
0
0
84
0
1
-3
-1
0
0
71
0
13
0
0
0
0
-49
0
0
0
0
0
0
-9
-1
19
0
0
-1
0
-38
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-16
0
0
-2
0
0
8
43
0
0
3
0
0
0
9
0
0
1
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
58
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-27
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-4
-20
0
0
0
0
0
1
53
0
0
-2
0
0
0
13
0
1
12
0
0
-3
17
0
-2
24
0
0
-1
6
0
0
2
0
0
0
-4
0
0
0
7
0
0
58
0
2
0
0
0
0
28
5
0
0
0
0
0
-29
0
-1
0
0
0
0
21
0
0
0
0
0
0
-10
0
-5
0
0
0
0
-22
0
0
-7
0
0
0
18
0
0
-3
0
0
0
-10
0
0
-1
-7
0
0
45
0
0
5
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
10
-5
0
-2
64
0
0
6
0
0
0
51
0
0
0
0
0
2
32
0
0
-5
0
0
0
-15
0
0
0
0
0
-1
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
-5
0
0
0
0
4
0
0
-2
1
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
-3
17
0
0
0
41
0
0
0
0
0
0
16
0
3
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
1
-9
0
0
0
0
0
1
-5
0
0
0
0
0
0
-1
0
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
0
1
0
0
0
-66
0
0
0
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
4
0
-54
0
0
-10
-8
0
2
35
16
0
5
-38
0
-2
-10
0
0
-3
44
-5
-2
4
20
0
0
6
0
1
1
0
0
0
-14
-5
2
-8
-3
-4
0
-33
0
0
0
7
0
0
-5
-2
0
0
0
0
0
28
0
-8
0
0
0
0
21
0
3
-2
0
0
-2
-18
0
-1
22
0
0
2
13
4
0
-11
6
0
2
-27
0
-41
4
0
-4
0
3
0
0
-3
5
0
2
12
0
11
0
-1
0
0
69
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
46
6
6
-44
-5
1
6
17
61
-24
4
22
-45
7
24
83
-3
-74
-31
-20
0
3
0
26
48
27
102
3
1
40
31
-34
-17
0
-10
5
65
-10
-65
-50
0
-1
-11
25
-5
57
-6
5
19
-26
-19
-40
-3
1
5
0
-32
-2
-10
-22
-2
-79
-18
-58
91
-92
-20
29
30
-11
-47
-17
6
69
6
-46
18
36
-67
14
5
-58
-8
-30
4
58
44
-51
20
-17
-18
24
-37
13
-3
-20
12
5
-9
23
-19
-4
-38
0
16
12
41
22
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
-1
7
0
0
1
-37
0
0
28
3
0
0
-16
0
0
-10
0
0
-5
-77
0
7
-7
-3
0
6
-48
0
0
3
-6
0
0
11
0
0
0
-1
-6
0
-47
0
0
0
0
0
0
8
-3
12
0
0
0
1
5
6
18
0
0
0
1
-22
0
-12
7
0
0
-7
38
0
13
13
-9
0
0
-46
0
0
12
0
0
0
5
0
-19
0
0
0
0
-13
0
-2
0
5
0
0
-7
0
6
0
2
0
0
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
18
3
0
-2
0
0
-4
-52
1
6
43
0
-3
83
8
3
0
33
1
0
5
25
0
-1
1
18
0
0
-6
0
0
1
0
0
0
1
0
0
-1
0
-13
0
1
0
0
0
9
0
0
-3
0
0
0
3
0
0
33
0
4
6
0
0
-16
47
0
0
-5
2
0
0
50
0
5
5
0
0
0
35
0
-3
4
9
0
0
88
0
4
-2
1
0
0
-46
0
8
0
0
0
-1
14
0
-1
0
0
3
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-12
0
-3
33
-2
0
-32
13
7
-46
103
20
0
-25
61
-4
0
-58
-2
-2
1
-6
0
13
-12
-86
40
5
8
-2
-13
-3
-1
1
0
77
-9
8
58
0
5
0
59
-15
5
3
-1
0
0
-34
17
0
-5
0
0
0
44
-8
-5
17
-8
-3
-14
-19
1
1
1
5
0
23
-26
-1
72
83
3
0
14
-30
0
10
23
0
4
2
17
0
-22
-13
0
0
0
-3
0
5
32
19
0
0
-31
0
70
-2
0
18
0
64
-31
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-19
0
2
50
0
0
-20
46
0
0
13
0
0
-8
-22
-2
0
-75
0
0
2
68
0
0
17
0
0
0
-12
0
0
0
0
0
0
24
0
0
0
0
-22
0
26
0
2
0
0
0
0
5
-2
0
0
0
0
0
45
0
2
0
0
0
25
-4
0
0
2
0
0
15
42
0
-6
8
0
0
0
-28
0
3
-13
0
0
1
-5
0
-1
0
0
0
-8
31
0
0
5
0
0
0
9
0
-2
4
0
0
0
27
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-9
0
0
16
-54
0
1
7
0
0
-1
-12
0
0
5
0
0
0
30
0
0
0
-1
0
0
-38
0
0
0
0
0
0
82
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
20
0
59
-1
0
0
0
97
0
0
7
0
0
0
-11
0
1
2
0
0
0
-28
0
0
0
-2
0
0
-2
0
-3
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
1
32
-55
50
0
-10
14
3
20
-5
-2
-5
-2
4
0
-1
-4
27
13
18
14
0
0
1
0
8
0
-10
0
9
57
36
-24
0
32
-1
0
0
3
0
0
18
-14
0
0
-13
0
-3
29
8
-41
21
0
-4
2
27
2
28
68
2
1
12
-49
-1
-12
33
9
0
-18
60
2
-20
37
14
3
0
13
0
66
-40
-5
-2
1
-26
4
-10
-14
-3
-1
0
28
0
-54
2
0
30
0
40
-19
-3
-4
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
21
7
-33
-36
0
35
27
-7
-20
-19
5
54
-2
-12
6
15
-54
25
20
81
26
1
-41
16
19
45
-2
-24
-1
9
19
-11
-37
5
-2
8
-44
-25
4
29
-4
-50
25
40
-36
-3
-34
8
48
38
27
22
-19
9
59
-41
0
-7
-19
-31
-28
-31
-26
5
51
11
-45
0
-34
58
14
-28
-38
69
-23
42
4
14
-52
-19
2
18
-28
-50
20
78
0
18
33
60
77
0
1
77
-2
7
47
1
25
22
-40
-12
61
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-22
0
0
1
0
0
0
2
0
0
-1
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
-6
0
0
0
8
0
0
-1
0
0
0
-22
0
0
-1
0
0
0
-21
0
0
3
0
0
0
-3
0
0
0
0
0
0
6
0
20
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
29
0
-8
-31
0
0
-5
32
0
0
63
-5
0
3
-5
0
0
67
0
0
0
-7
0
0
2
0
0
0
29
0
0
0
0
-1
0
-45
0
0
0
0
0
0
46
0
0
0
0
0
0
-8
0
2
6
0
0
0
-4
0
0
0
0
0
-4
75
0
1
12
0
0
-1
42
0
0
-5
0
0
0
11
0
3
0
0
0
0
-31
0
0
0
0
0
0
67
0
10
0
0
-1
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
40
23
-9
-6
22
4
-78
-13
-7
40
-40
-9
23
-27
49
5
20
19
-60
7
-3
14
0
44
74
3
-20
22
-1
1
-17
47
-51
-31
1
4
-1
-9
18
-14
12
0
33
28
-25
-5
-1
3
13
23
0
25
0
0
-6
29
24
4
63
36
-36
10
49
-1
-4
-47
114
11
0
52
-4
4
-45
-26
30
0
-7
13
-2
19
67
7
-1
-15
10
-9
70
10
47
-5
-8
-36
0
58
16
0
2
0
5
-6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
39
0
0
0
0
0
0
7
0
0
-2
0
0
0
16
0
0
-20
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
2
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
62
0
0
-3
0
0
1
-4
0
4
0
0
0
0
0
0
4
-5
0
0
0
-47
0
-3
0
0
0
0
-14
0
0
0
0
0
0
-33
0
7
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
52
0
-1
-3
0
0
0
-50
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
-1
-1
0
0
0
7
0
0
0
1
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
-3
31
0
0
-3
0
0
0
-49
0
0
-1
0
0
0
34
0
0
-3
-2
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
15
4
-8
-49
0
24
-5
-5
-2
7
-19
-11
-11
-7
5
0
8
18
0
-9
-8
29
0
-16
14
-7
36
0
5
-6
5
0
8
2
0
-18
-11
2
13
4
0
5
31
7
88
-46
-2
-3
0
9
0
32
27
33
-1
7
-2
2
31
-17
5
0
-1
-9
0
2
-13
42
-1
0
-6
6
-2
42
0
-5
4
-21
0
-2
32
3
0
0
27
0
43
-4
0
21
0
-33
91
5
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-29
65
41
-27
23
-6
43
-21
-2
-37
-19
0
-3
98
-6
-6
32
-20
-22
-43
61
-13
26
52
-3
7
60
10
9
64
36
27
-39
27
33
2
16
-28
-1
-9
0
14
-17
36
30
2
-14
-26
1
19
-29
21
48
33
8
-39
0
-66
-12
29
-41
-9
-3
-39
-9
85
-45
34
18
-38
-39
-26
-10
4
7
-85
-61
-36
3
76
46
10
88
-40
9
0
-29
-22
14
-46
2
30
11
60
51
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
-3
0
0
16
-27
0
0
-6
0
0
0
-19
0
0
0
0
0
0
0
0
0
2
-3
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
7
4
0
0
0
-31
0
14
-2
0
0
0
4
0
3
15
0
0
2
6
0
-2
0
6
0
0
-20
0
-5
0
0
0
0
17
0
0
-2
0
0
0
44
0
10
0
0
0
0
31
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-48
0
1
12
-6
-1
-9
55
0
-7
-9
-15
1
1
59
0
0
-5
0
12
0
43
0
2
3
0
1
0
-16
0
0
0
0
0
0
40
0
5
0
0
0
-8
66
-13
2
40
-2
4
-3
-43
1
-7
-1
0
-1
0
70
0
2
-54
0
0
0
-39
0
8
-13
12
0
-3
-11
0
-5
0
0
0
0
61
0
0
-1
1
0
0
25
0
-4
0
1
-1
0
3
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-41
-1
-20
-38
-12
18
-43
-22
-4
51
1
11
18
65
11
0
27
20
-7
17
1
42
17
30
-13
51
-44
0
23
8
-1
0
-12
-5
-1
16
61
-9
13
0
4
50
28
27
-23
36
3
7
46
1
1
32
-10
23
0
-65
2
2
-24
-4
70
0
51
-1
2
-4
27
70
2
-4
31
0
93
4
16
-1
-1
-19
0
19
-47
-11
-8
-5
30
0
7
7
0
46
0
8
-19
-5
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-23
0
-5
-13
0
0
0
-22
0
0
9
0
0
-3
-36
0
0
-6
0
-9
0
-8
0
0
3
0
-5
0
21
0
0
0
0
0
0
43
1
0
0
0
0
-15
-31
0
38
6
0
0
0
-27
0
2
-41
0
0
-3
-14
0
10
-65
0
0
4
69
0
7
-40
0
0
0
6
0
-1
-3
0
0
0
-42
0
0
-2
0
0
5
35
0
-45
0
0
5
0
53
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
88
0
0
23
0
0
-2
1
0
0
0
-2
0
0
47
0
0
-2
0
0
0
-4
0
0
0
-1
0
0
-6
0
0
0
0
0
0
-26
0
0
0
0
0
0
14
0
3
0
0
0
1
-39
0
0
-3
0
0
1
73
0
2
-9
0
0
0
31
0
0
-4
2
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
-1
12
-1
-16
-2
0
14
2
0
-44
0
-1
-1
20
0
7
-11
-31
24
0
-22
2
-3
8
-1
-3
0
26
-57
0
4
0
0
-5
2
0
-21
-42
2
-5
-3
-9
0
30
51
-4
0
4
27
0
40
103
-24
0
-1
21
0
6
-17
-18
0
0
15
0
3
25
2
0
4
-42
0
-2
49
-16
1
0
13
0
-72
7
0
0
0
-19
-4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
21
25
12
-22
26
-19
11
9
-20
30
45
1
-67
31
-16
79
-21
18
34
7
-5
18
1
-47
4
43
-28
31
17
-28
1
26
29
-4
-50
-8
18
5
0
-6
-3
-55
0
78
62
2
-49
-8
24
27
25
-17
-22
19
14
-17
0
-96
34
-40
-23
-7
-43
-7
-20
29
-10
3
-33
61
-30
13
-17
-22
-5
-41
7
26
37
-17
16
-7
-21
-2
-4
66
5
42
58
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
60
0
0
0
0
0
0
-5
0
0
0
0
0
0
-46
0
0
0
0
0
0
-5
-6
0
0
0
0
0
-5
0
3
0
0
0
1
47
0
0
0
0
0
6
-5
0
7
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-8
-14
0
3
-28
0
0
0
0
2
0
-23
0
0
0
0
-2
0
-64
0
0
0
0
0
0
2
0
0
0
0
0
4
-86
0
5
22
0
0
0
2
0
0
8
0
0
-10
0
0
30
9
-1
0
0
11
0
0
0
-2
0
-8
-18
0
-12
6
0
0
0
-3
0
0
1
0
0
0
-17
0
7
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
32
-9
34
23
-11
1
-10
-5
0
7
32
-1
36
-22
34
3
11
-3
0
24
0
14
-31
0
0
0
-6
2
-9
-59
-8
2
3
0
6
-5
1
41
1
0
5
41
3
-2
-14
28
8
0
11
6
-8
-45
-20
27
0
65
53
-3
21
15
32
2
-40
8
-3
-59
-20
0
6
0
-6
4
-2
16
-5
-22
30
-56
0
79
-14
-4
-12
0
36
18
-7
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
44
0
0
57
0
0
0
-9
0
0
3
0
0
0
26
0
1
0
0
1
0
10
0
0
0
0
0
0
-54
0
0
0
0
0
0
74
0
-5
0
0
0
0
3
0
0
0
0
0
3
-11
0
0
0
0
0
0
84
0
0
-5
0
0
0
-22
0
9
3
0
0
0
35
0
0
2
0
0
0
66
0
-8
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
1
-1
0
1
69
0
0
0
0
0
0
-25
0
0
2
-2
0
0
-36
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-10
0
6
4
0
0
1
-53
0
-1
-8
0
0
7
-24
0
2
-12
0
0
2
3
0
-3
28
0
0
0
19
0
0
0
0
0
0
-33
0
1
0
3
0
0
93
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
0
16
0
-7
0
18
0
0
0
-3
33
0
6
0
0
0
0
0
0
-79
8
0
0
0
0
0
22
-7
9
-13
0
0
-3
58
0
4
47
0
0
0
46
0
9
6
0
0
0
-32
0
9
2
-8
0
0
13
0
41
6
-2
0
2
75
0
-3
-3
-2
0
0
-50
0
-2
-2
0
3
0
-36
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
6
5
43
70
2
53
-49
9
56
62
-49
-26
-2
15
40
13
5
-7
-15
4
-3
86
29
57
17
-1
53
-42
67
-50
14
21
60
57
-18
2
-44
40
83
-15
10
-23
51
11
2
-24
42
62
5
10
-20
86
-60
17
-18
0
17
-23
13
23
2
5
-4
13
-47
-12
75
1
13
33
-19
18
12
-14
-5
0
46
-8
19
7
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
64
0
0
0
0
0
0
14
0
0
2
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
13
0
0
0
0
-13
0
0
4
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
5
0
0
0
0
-4
0
-7
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
52
0
0
0
0
-1
0
28
0
0
0
3
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
-4
0
-4
0
0
0
11
0
0
-10
1
0
-10
-26
0
-2
1
0
0
-3
-25
0
-2
-12
5
0
0
35
0
2
19
0
0
0
20
0
0
0
0
-3
0
-30
0
22
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
6
1
0
-38
0
-8
-5
8
0
76
86
0
-12
-14
0
0
1
0
-1
21
40
3
0
0
0
8
36
5
31
30
0
6
52
17
0
-6
51
25
-2
16
18
2
15
-3
-2
3
-3
2
1
114
-15
9
-4
0
29
-5
34
-9
4
0
0
-5
0
30
8
14
-20
18
-28
0
59
0
0
-4
0
50
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
0
3
22
0
1
0
12
1
2
5
0
5
0
5
4
-2
0
7
0
0
50
-3
-1
3
0
0
-2
-14
0
98
11
0
-2
-13
30
3
3
-18
1
-3
14
-17
-10
-6
89
0
0
-6
-23
0
1
55
4
-3
0
-13
0
-24
7
0
0
7
-71
2
23
-32
0
0
0
29
0
25
0
4
4
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
7
0
0
0
40
0
-3
-4
6
0
0
-13
0
1
0
0
0
0
-7
-3
0
0
0
0
0
5
0
7
2
0
0
0
10
0
0
1
0
0
2
-10
0
-4
0
0
0
0
59
0
1
0
0
0
0
-3
0
-9
8
0
0
0
1
0
0
0
-1
0
0
21
0
8
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
9
0
-6
-8
0
0
0
0
0
-39
5
0
0
0
0
2
-16
0
25
-4
0
0
0
11
0
0
10
0
0
3
-32
0
-1
17
0
0
0
-2
0
0
-15
2
0
0
1
0
-8
-16
0
0
3
60
0
-3
3
0
0
0
13
0
7
0
0
-7
0
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-13
86
33
39
0
0
-1
8
21
-14
-3
-23
39
53
33
-28
57
-32
75
21
30
-7
-2
5
10
7
68
-27
-2
25
-30
2
-42
22
29
32
-42
21
4
-60
43
-34
10
58
21
39
25
16
66
-12
13
20
18
1
36
34
0
-23
23
7
-25
-2
52
4
-34
29
-9
-5
4
0
17
-47
63
17
-10
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
2
0
0
0
5
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
1
0
0
0
7
1
0
0
0
0
0
44
0
0
0
0
0
0
44
0
-1
-10
0
0
0
77
0
0
23
-1
0
0
17
0
-9
0
0
0
0
17
0
0
0
0
0
0
22
0
0
1
0
0
0
25
0
0
0
1
0
0
61
0
-1
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
-12
3
0
-19
-4
0
0
-3
0
0
-10
0
0
-2
0
0
-5
50
0
-56
-30
0
0
-8
4
0
3
24
-10
0
-1
-5
0
-3
-5
0
0
-1
-19
0
3
3
4
0
-6
6
0
-17
-5
0
0
0
16
1
17
0
21
0
0
-15
0
29
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-49
0
2
0
0
0
0
12
-1
0
0
0
0
0
-12
0
0
5
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
24
0
-1
0
0
0
0
14
0
0
0
0
0
0
-30
0
0
2
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-7
0
0
60
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
2
1
0
0
-3
0
0
4
-5
-16
0
0
66
0
8
1
0
0
0
-23
0
0
-3
0
0
0
39
0
42
7
0
0
-1
57
0
0
-13
0
0
0
19
0
-8
0
0
0
0
28
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
-2
0
0
0
0
2
0
0
-10
0
0
0
13
0
0
-3
0
0
5
29
0
0
0
0
0
0
-8
0
-3
0
0
0
0
-2
0
0
3
0
0
0
49
0
-7
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
18
0
8
0
1
1
0
14
-1
11
14
0
48
18
63
36
41
-2
0
-11
13
-1
25
-5
-16
-9
-31
11
65
21
46
32
5
68
-14
6
71
-50
44
13
93
-56
0
-73
29
-4
19
-53
-37
2
57
-49
-8
24
5
0
8
0
-1
-5
-8
0
36
15
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
58
0
0
0
0
0
0
32
0
-4
1
0
0
0
52
0
0
3
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
42
-4
0
0
0
0
1
-4
0
8
3
0
0
0
-22
0
0
24
0
0
4
40
0
0
0
0
0
0
-41
0
0
4
0
0
0
32
0
13
10
0
0
-3
13
0
0
3
-1
0
0
52
0
-1
0
0
0
0
52
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
46
1
0
0
0
0
0
37
0
-25
12
0
2
7
-10
0
2
-8
-3
0
-21
21
1
27
9
0
0
5
-48
0
0
0
0
0
0
-30
0
53
3
0
0
0
-7
0
8
0
0
0
0
-30
0
0
0
3
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-18
6
0
0
0
0
1
78
0
-46
-8
0
0
5
-13
0
5
15
0
0
8
31
0
12
26
0
0
-2
15
-7
17
14
0
0
0
-7
0
-25
15
0
0
0
56
0
0
0
-4
5
0
-25
0
-1
0
0
0
0
43
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-18
-1
0
0
6
0
9
-46
0
58
-8
0
0
-4
-20
0
-3
-4
33
0
-12
95
0
-23
73
0
0
6
44
0
-3
14
36
0
0
-41
0
-8
-20
0
0
-2
72
0
-7
-9
2
0
-1
-25
0
15
-8
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
20
-22
112
3
37
23
23
3
57
-9
11
26
-47
43
-3
-10
76
38
100
45
-19
29
-22
56
8
-40
20
50
-11
-45
-15
-25
44
-47
-6
-12
30
-19
17
-24
9
53
-14
8
16
-27
26
-25
16
-26
-18
-32
-21
-5
86
0
0
-1
-3
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-33
0
2
0
0
0
0
-15
0
0
-9
0
0
0
1
0
0
-3
0
0
3
5
0
1
-8
0
0
0
-20
0
-2
0
0
0
0
-19
0
8
0
0
0
0
45
0
14
4
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
0
-1
0
-1
4
0
0
0
99
0
0
-2
-2
0
-3
54
0
0
1
0
0
5
17
0
1
-8
0
0
0
-21
0
-3
0
0
0
0
3
0
-3
6
0
0
0
9
0
5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
0
0
5
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
0
2
7
0
0
0
-7
0
18
0
0
0
0
-7
0
0
0
0
0
0
-22
0
4
-1
0
0
0
14
0
-1
1
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
6
0
0
-13
0
0
0
63
0
0
0
0
0
0
-13
0
-6
7
0
0
0
62
0
0
0
0
0
0
37
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
8
50
46
0
-7
-31
19
-13
24
24
6
5
-28
-18
-9
10
-26
6
-9
-10
-23
12
26
-8
90
-5
29
-18
5
58
29
6
-5
4
-9
-1
-9
39
-41
-2
3
-20
3
-11
-2
2
-14
0
31
10
-13
1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-4
-78
-4
0
0
-14
-57
0
36
-5
5
0
22
36
0
-16
24
0
4
0
11
0
-1
-12
0
0
0
1
0
8
2
0
0
0
-1
0
0
-2
0
0
0
-27
0
-4
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
43
0
0
-4
0
0
0
16
0
0
0
0
0
0
8
0
1
9
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
-4
0
0
-3
0
0
0
62
0
4
0
0
0
0
21
0
0
0
0
0
0
12
0
-4
-1
0
0
0
-2
0
0
0
0
0
0
47
0
4
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
31
0
0
0
0
0
4
9
0
-2
0
0
0
0
4
0
-1
0
3
0
0
43
0
0
0
0
0
0
32
0
0
0
0
0
0
26
0
1
0
0
0
0
49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
5
15
5
0
-4
82
0
42
-10
1
0
0
-21
0
0
-4
1
0
0
-9
0
-2
0
0
0
0
25
0
1
0
0
0
0
56
0
-1
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
17
29
90
-71
85
-16
85
-43
-8
-48
-25
40
-3
89
36
9
88
11
76
5
22
-4
-4
-31
-53
14
18
-1
-13
0
50
20
44
-1
-16
25
41
26
-27
0
9
3
47
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
3
-3
0
0
-1
15
0
-5
1
0
0
0
-5
0
0
0
0
0
0
28
0
-6
0
0
0
0
8
0
0
0
0
0
0
-47
0
0
4
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
17
-3
89
101
50
-3
51
-5
0
29
-3
-6
1
17
-21
4
-1
-34
-6
-3
1
29
0
-32
-15
2
0
3
-8
-1
14
8
29
1
0
-17
0
97
0
-6
3
0
-10
13
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
-2
5
2
0
10
75
-3
79
16
0
0
-3
56
-3
16
-15
-4
6
0
-14
0
43
-12
0
0
7
85
0
0
-4
1
0
0
30
0
-31
0
0
2
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
9
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-40
0
-3
0
0
0
0
5
0
0
0
-2
0
0
-8
0
-7
1
0
0
0
-3
0
0
0
0
0
0
-1
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
35
12
0
0
0
14
0
9
-8
5
0
0
18
0
-53
4
4
0
0
33
0
0
1
0
0
0
17
0
0
0
0
-2
0
50
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
13
-1
-30
-9
3
27
74
18
48
11
21
-26
9
-15
-21
31
-26
-10
15
8
55
4
-6
52
10
3
-4
-8
-11
-4
78
-6
4
-31
0
49
-44
35
21
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
1
0
0
0
-5
0
0
-2
0
0
0
-4
0
0
6
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
4
-8
4
-1
0
0
-16
0
0
-13
0
0
0
18
0
1
5
0
0
0
-43
0
0
-3
0
0
0
22
0
10
0
0
0
0
-34
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
-1
46
-6
-13
0
8
37
1
-4
14
-7
-7
2
-7
3
81
15
1
0
7
-8
-4
6
-5
1
0
0
-2
-2
0
0
0
-1
-1
31
-13
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
2
-30
0
0
0
-47
0
4
54
0
0
0
-2
0
0
2
0
0
0
32
0
2
0
0
0
0
-55
0
30
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
-6
0
0
3
0
0
0
-5
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
0
-3
16
9
0
0
-59
0
-74
0
-1
0
0
55
-2
5
0
-5
0
0
18
0
11
-8
0
0
0
38
-1
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
20
-24
-30
-8
-3
3
74
-9
31
-16
-42
10
31
84
-31
4
19
-11
36
-25
30
-7
13
-6
-32
-7
-42
3
-5
-51
-20
6
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
-4
1
0
0
0
-7
0
0
0
0
0
0
4
0
-8
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
61
-3
0
2
25
0
-2
-24
-2
82
-9
1
0
0
-19
0
3
-20
1
0
0
35
0
-15
0
0
8
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
1
22
38
64
-2
-1
23
0
57
-3
-1
0
-1
-32
0
7
-2
-18
0
0
7
0
-51
0
0
-3
0
47
-6
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-22
0
0
0
33
0
8
0
0
0
0
28
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
49
2
0
0
0
94
0
0
-2
-4
0
0
-4
0
5
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
6
-5
12
7
11
29
0
55
-3
32
37
24
-4
20
39
1
11
-1
-2
-44
0
6
-54
1
31
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
45
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-16
10
0
0
-1
62
0
-8
-7
0
0
0
17
0
34
0
0
0
0
87
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-67
0
12
-36
1
0
0
-4
0
2
5
-7
3
-2
5
0
3
0
0
1
0
37
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
0
33
86
1
0
0
14
0
0
0
-3
0
0
33
0
-4
1
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
4
0
0
0
0
-19
0
0
-6
0
0
0
-31
0
15
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
1
-3
0
0
0
-33
0
15
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-3
6
33
53
-29
7
17
18
10
45
-6
5
-18
0
-3
-25
7
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
7
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-3
-31
-16
6
0
-46
0
-1
-9
-23
-17
0
35
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
-8
0
0
-45
0
12
0
0
0
0
17
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
-10
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
13
57
2
3
3
0
24
23
33
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
68
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
-27
0
4
14
0
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
1
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-9
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
36
17
15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
-2
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
1
0
0
0
-21
0
0
-4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
42
0
0
-2
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
27
-10
-5
6
9
1
-5
-66
-28
26
-14
-3
-5
63
14
2
12
-22
-25
68
-4
10
0
6
9
28
10
-6
-17
20
21
-41
4
40
24
32
-8
57
-47
-16
20
-3
-7
-41
41
-6
8
-23
22
0
-35
-8
-3
-1
-25
56
-6
27
54
-22
-12
7
3
-9
7
-3
8
-28
21
22
15
-14
-42
18
-15
-18
1
-8
-21
-30
-9
-2
35
14
1
-31
-12
53
10
2
-2
25
-12
41
-11
19
-35
11
-28
39
14
1
-18
-32
4
-19
-25
14
-7
27
17
19
-5
-34
-69
0
-84
37
-3
-10
-4
0
-41
-2
29
40
39
-12
7
71
51
35
-44
-42
-11
18
3
-5
-48
-12
0
0
0
0
0
0
0
9
1
4
-7
23
16
27
-17
2
55
-21
-10
-20
49
-54
4
-12
-8
16
-14
0
-38
-5
9
-22
6
92
-41
12
3
0
-35
73
-13
52
-22
-6
6
-8
-28
53
-44
35
3
23
3
-2
-10
14
-19
15
-20
-33
2
43
26
11
5
-43
-9
-3
45
56
-30
-7
24
-10
46
-17
-59
-1
22
23
16
38
27
54
-33
-1
-1
59
-34
-20
32
38
-17
-12
8
-19
-59
2
-21
1
-7
43
6
-8
2
13
2
-12
74
23
-57
-4
-16
-6
103
-9
63
19
-48
10
-14
24
-5
-39
-55
-58
-7
8
8
29
14
22
-11
2
4
20
18
8
25
48
23
6
118
-5
-61
21
16
-54
4
-37
-22
47
-33
23
50
19
-14
-14
0
3
-28
1
14
-63
-43
83
20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-10
-1
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
2
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
2
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
2
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
20
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
1
0
0
-5
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
0
29
1
0
0
0
0
0
29
0
0
0
0
0
-7
20
0
0
0
0
0
-3
24
0
0
6
0
0
0
6
0
0
1
0
0
0
-1
0
0
4
0
0
0
85
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
-6
0
0
0
0
0
5
0
-3
0
0
0
0
-22
0
0
0
0
0
0
-24
0
2
0
0
0
0
20
0
0
-3
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-5
0
0
0
0
0
-39
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
2
-6
0
0
0
-38
0
0
1
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
15
0
0
0
0
0
0
-31
0
0
0
0
0
0
-38
0
0
2
0
0
-7
54
0
0
0
0
0
0
-11
0
0
0
0
0
0
10
0
0
-1
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
-8
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-7
0
0
-2
0
0
0
0
0
0
-2
2
0
0
-1
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
14
0
0
0
0
0
0
0
0
0
0
-1
43
0
0
5
0
0
0
48
0
0
-3
0
0
0
5
0
-2
-6
0
0
0
8
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
1
0
0
-5
-45
0
0
0
-1
0
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
36
0
0
0
0
0
0
8
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
-1
0
0
0
0
-3
0
0
0
0
0
0
-5
0
-1
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
27
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
5
0
0
0
0
0
8
-3
0
-4
4
0
0
0
0
0
0
0
0
0
-7
21
0
0
2
7
0
-2
3
0
0
9
0
0
-2
5
0
14
13
0
0
0
-3
0
0
0
0
0
0
81
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
-5
0
0
0
0
57
0
0
0
0
0
-3
-29
0
0
23
0
0
8
-30
0
0
3
0
0
0
80
0
0
-5
0
0
0
36
0
0
-3
0
0
0
14
0
0
0
0
-5
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
-13
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
1
-10
25
-15
-3
17
38
13
-23
27
3
56
-33
69
50
-9
70
14
27
-11
-1
29
-74
-30
1
23
-29
35
3
61
-46
-42
35
-5
36
52
27
12
0
13
0
-10
-8
0
-2
-5
40
1
0
-36
-5
7
9
-7
20
5
-32
1
-29
14
-8
7
-33
-2
19
22
-22
36
-5
87
1
21
-13
36
2
4
72
-16
-1
12
28
-4
-4
-12
0
17
-20
16
-32
-45
-67
0
8
-42
14
-60
18
0
10
0
-14
-5
13
1
6
-2
0
-29
-25
33
0
-16
-27
0
0
-4
22
6
-2
17
-40
15
-4
37
45
-12
28
7
8
-2
-1
0
0
0
0
0
0
0
-52
-14
19
-2
32
-19
52
-2
-15
27
-14
39
-18
48
-47
31
8
9
0
-1
-46
49
21
10
3
-28
53
-2
-1
-14
11
20
14
-5
17
6
-24
8
-5
6
-16
-6
3
-9
59
111
19
28
51
20
7
-13
-35
-19
7
33
38
14
44
17
-36
-5
29
23
23
86
-6
3
-61
-24
31
-23
22
16
13
17
-45
25
9
0
8
35
-19
39
0
-33
-9
-39
7
23
-6
-2
4
21
3
11
40
-18
12
32
40
20
-28
2
0
9
13
61
-37
-8
18
15
12
-3
-1
77
87
3
4
25
28
-26
3
-15
-11
34
55
5
-25
7
-46
54
-20
-70
1
16
-53
38
5
46
-9
19
-2
13
46
57
-4
-41
7
0
-14
46
-34
-24
-12
19
40
-13
36
78
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
-2
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
-12
0
0
0
0
0
-1
-4
0
0
-3
0
0
0
0
0
0
0
0
0
2
-6
0
-1
1
0
0
5
21
0
0
0
0
0
0
-12
0
-4
-14
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
25
-1
0
0
0
0
0
4
0
0
0
0
0
0
48
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
2
0
0
0
-2
0
0
-1
0
0
0
5
0
-3
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
-3
-2
0
0
12
0
-2
0
2
-5
0
-4
1
0
0
0
0
0
0
-23
0
-1
43
-5
0
0
-2
2
4
0
0
0
0
0
35
0
0
0
0
0
7
24
0
0
0
0
12
0
0
0
0
2
0
11
5
0
24
13
0
0
-13
-1
0
0
86
1
0
31
-7
0
7
-5
0
0
37
-5
0
-9
-33
12
0
27
5
1
0
27
0
0
8
3
3
0
0
17
0
0
-1
-88
0
0
0
0
-7
16
5
-13
0
-8
0
11
-21
-5
0
0
0
0
29
70
0
28
86
-2
0
0
0
0
0
0
0
0
-7
-9
0
-4
-1
22
0
41
-1
0
1
1
0
0
61
50
0
-28
-24
41
0
-17
20
-2
0
26
0
0
0
-23
-19
-5
0
3
0
0
-7
0
0
0
0
0
6
13
-1
0
11
33
0
37
28
2
5
-29
0
0
18
88
0
-2
15
7
0
39
65
0
45
5
-8
0
-1
3
0
-5
16
26
0
-16
40
0
8
-29
0
0
17
-43
1
-5
-14
-14
0
0
19
0
0
0
0
0
0
11
49
0
-2
0
0
1
-28
0
-13
-3
-1
0
5
-18
1
-4
5
-6
0
-2
47
8
13
24
-3
0
-13
67
0
-16
10
9
0
5
3
0
-30
2
7
0
-4
-12
0
1
-8
2
0
0
12
0
38
0
0
-1
0
-55
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
16
0
0
0
7
-4
0
0
5
3
-8
-27
2
0
0
0
0
0
0
-5
0
5
5
0
0
0
3
0
-44
0
0
-1
0
0
25
0
0
0
0
1
0
29
0
-2
0
0
0
-3
1
4
65
-7
0
81
2
0
-2
8
0
8
-43
1
0
8
0
4
3
35
16
0
0
-6
0
-1
7
-9
0
0
31
0
0
30
9
0
0
-8
0
-3
0
-8
0
-2
3
2
17
0
0
-15
0
0
0
19
0
0
6
0
-6
-10
0
0
45
0
0
-9
-1
-1
-7
24
0
-5
-25
-5
0
0
0
0
0
0
0
0
46
56
0
0
28
12
0
-19
15
0
0
-29
0
0
0
1
0
-10
12
0
0
0
9
-8
0
0
0
0
0
9
-1
-1
0
0
0
0
9
0
0
0
0
0
0
20
-5
6
10
-1
0
0
44
0
1
4
9
0
49
20
0
0
-19
-13
0
0
16
3
1
56
1
0
1
19
4
1
-8
-18
-7
0
-26
0
0
-7
0
0
0
44
0
0
2
4
5
0
39
0
0
0
5
0
0
7
5
0
1
0
0
0
-30
0
7
25
0
-4
0
89
0
1
4
0
0
-2
-36
0
-8
-5
-3
0
-5
31
-3
6
30
0
0
8
47
0
22
14
0
4
0
-7
0
0
8
1
0
0
37
1
-9
3
0
0
0
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
48
0
0
-1
0
0
-56
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
78
0
0
0
2
0
0
4
-3
0
0
-3
-16
2
-18
6
0
0
0
0
0
0
0
0
0
7
-4
0
21
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
0
8
0
0
0
0
23
0
0
8
0
0
34
0
0
-3
2
-1
0
0
0
0
0
0
0
0
1
64
0
0
13
2
0
-7
36
0
0
15
0
0
0
11
0
-9
0
0
0
0
4
0
0
0
0
0
0
-37
0
0
0
0
0
0
17
0
0
0
0
0
4
9
0
0
-2
4
0
0
0
0
-1
3
0
0
0
39
0
0
1
0
0
4
52
0
-3
3
0
0
-6
-30
0
0
27
3
0
0
-11
0
0
0
0
0
0
60
0
0
0
5
0
0
-11
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
2
0
0
0
-1
0
0
1
3
0
0
0
-17
0
0
7
0
0
0
-8
0
-1
8
-5
0
0
30
0
8
3
0
0
0
-10
0
0
0
2
0
0
-50
0
-2
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
47
0
0
1
0
0
47
0
0
0
0
0
0
2
0
0
0
0
-5
1
0
0
2
0
1
31
0
0
0
0
0
0
-5
0
0
0
64
0
0
-2
0
0
0
0
0
0
-3
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
1
0
0
0
0
3
3
0
0
-4
0
0
2
3
0
-13
7
0
0
0
0
0
0
0
0
0
0
11
0
0
-4
1
0
0
30
0
0
0
0
0
0
3
0
7
-1
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
1
-16
0
0
2
0
0
0
30
0
0
0
1
0
0
44
0
0
9
0
0
0
23
0
0
5
0
0
0
5
0
0
0
0
0
0
-6
0
0
-4
0
0
0
44
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
5
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
3
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-4
0
-4
0
0
0
0
0
0
23
-1
0
1
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
46
0
0
0
0
0
0
-5
0
14
-2
0
0
0
0
0
0
0
0
0
2
-4
0
0
38
0
0
4
-20
0
0
-4
0
0
0
5
0
36
-3
0
0
0
-5
0
0
0
0
0
0
-15
2
-2
0
0
0
0
37
0
0
0
0
0
0
-23
0
0
3
0
0
3
19
0
0
-1
0
0
-1
-18
0
0
3
1
0
-6
30
0
0
2
0
0
0
-21
0
0
1
-2
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
2
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
-5
0
0
0
0
32
0
0
0
0
0
7
24
0
-1
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
1
0
0
0
7
0
0
0
0
0
0
2
-1
0
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
0
0
0
0
-3
0
28
1
3
0
-3
0
45
-20
5
0
0
0
0
5
2
4
0
0
-2
1
0
0
0
0
22
0
0
-11
0
0
-36
0
0
0
0
0
-7
-24
0
0
0
0
-5
-4
0
0
2
-42
41
-41
1
0
-3
14
0
0
79
-5
1
0
45
9
2
-20
9
5
-1
8
-1
20
11
-18
0
0
88
0
7
70
6
0
0
1
0
3
0
21
0
0
7
5
-59
-2
2
1
0
0
0
-6
0
31
4
-1
0
-7
0
-3
15
0
0
0
0
0
103
52
0
-12
-8
8
0
0
0
0
0
0
0
0
-15
34
2
2
-15
-27
0
-2
22
0
0
-10
-1
0
-6
69
0
-29
3
15
0
-1
-4
0
0
-1
0
14
0
31
3
-1
0
1
0
1
-56
0
0
0
0
1
4
47
5
-3
4
12
-2
3
-36
0
0
-1
-1
0
-15
-9
0
-2
-25
-3
19
14
33
-5
0
6
5
-2
11
35
-5
1
-44
6
5
-2
2
0
1
6
0
-4
0
-44
0
0
4
10
-33
0
18
-1
0
1
0
2
0
-5
0
3
0
-7
0
0
77
-5
15
0
0
0
0
-43
0
0
-8
0
0
-2
-28
1
46
-3
6
0
-15
-70
2
-1
-13
3
1
0
41
0
33
23
1
-1
-1
-24
0
1
5
-1
2
0
68
0
29
4
0
-5
0
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-1
0
-4
1
0
2
-3
1
0
9
-3
1
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
10
-1
0
-20
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
4
0
0
1
16
0
-1
15
0
0
0
-10
0
0
16
0
0
0
-23
0
-5
-19
3
0
2
12
0
0
2
0
0
1
-7
0
0
-3
-1
0
0
-3
0
-1
10
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
15
1
1
0
0
0
16
18
0
0
2
0
0
-33
-13
0
36
-20
0
0
0
0
0
0
0
0
0
-13
-51
-2
1
9
0
0
2
-68
0
0
-33
0
0
0
-9
0
43
-14
0
0
-1
-82
0
0
0
0
5
0
23
-8
0
0
0
0
0
38
0
0
0
0
0
8
27
0
5
8
0
0
1
26
0
-3
12
0
0
54
-3
0
0
55
0
0
9
-11
3
0
12
0
0
-7
8
0
-2
12
0
0
0
-35
0
0
5
0
0
-5
-6
0
0
0
0
14
0
29
0
0
0
0
0
0
40
0
0
0
0
0
0
-39
0
5
0
0
0
-13
27
0
-3
1
0
0
5
26
0
-10
6
0
0
5
34
0
5
-18
0
0
0
86
0
7
3
0
0
0
66
0
0
-2
0
0
0
-45
0
-6
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
20
0
0
0
0
0
39
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
95
1
0
25
0
0
0
-4
0
0
-20
0
0
0
21
0
0
3
0
0
-1
13
0
0
-2
0
0
0
5
0
0
-50
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
14
0
0
0
-4
9
0
0
0
0
0
2
14
0
-48
-13
0
0
0
0
0
0
0
0
0
-3
142
0
0
3
1
0
41
-44
0
0
-16
0
0
0
-24
0
57
0
0
0
0
-22
0
0
2
0
0
0
-26
1
6
0
0
0
0
36
0
0
0
0
0
-3
-10
0
0
3
0
0
21
49
0
-6
3
0
0
23
50
0
0
-22
0
0
25
6
0
0
13
0
0
6
22
1
8
15
0
0
1
1
0
0
1
0
0
0
5
0
1
-1
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
23
0
-1
3
0
0
0
9
6
0
2
-4
0
0
28
0
-1
-1
0
0
-5
9
0
0
3
0
0
0
62
0
-5
0
0
0
0
-34
0
0
1
0
0
0
48
0
5
1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-43
73
-20
16
-38
27
36
0
6
8
3
24
0
-1
11
8
-10
17
-23
0
-7
7
-20
0
0
57
0
0
1
0
0
0
1
0
-15
-44
0
-3
0
29
-5
-13
7
5
-30
16
23
-5
0
13
26
-12
-7
-10
12
-1
43
-19
17
-4
-8
-70
30
79
148
53
1
47
21
-15
9
8
63
2
15
-18
-15
0
0
-52
-14
-20
23
49
0
0
36
31
32
-1
1
-67
1
0
-8
33
0
25
-50
80
-1
0
0
8
1
-21
8
66
0
21
26
-14
-8
24
26
-2
0
0
0
0
0
0
0
0
-25
7
-7
53
-12
-41
0
49
-16
-1
0
10
6
-1
22
38
2
8
-16
4
5
22
-5
-2
0
-5
-7
-18
0
-13
45
-20
13
16
1
0
1
-5
-3
15
-1
0
0
-13
45
-41
6
42
10
14
13
40
-21
4
-1
-2
65
40
10
-1
-51
-5
6
72
0
-46
-40
42
-6
-10
-23
-11
-7
18
22
46
20
25
-40
-1
-8
5
0
-17
-14
-32
4
0
22
-27
61
0
-41
17
-1
21
13
5
-7
39
-1
-5
22
-12
4
6
51
41
-16
-8
5
15
-23
-28
-21
80
-62
10
5
-41
8
-7
78
-68
0
-1
-35
-28
7
64
-43
-66
-7
-18
-79
-2
15
16
1
7
0
4
7
-7
-45
11
8
0
-17
1
33
6
5
-5
0
6
1
6
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
2
0
0
0
2
0
0
13
0
0
0
10
0
0
0
-9
0
2
-3
0
0
24
-2
0
0
-1
1
0
14
3
0
0
0
0
0
0
8
0
0
0
0
-2
0
-1
-2
0
0
0
0
0
34
0
2
0
0
0
0
32
0
0
1
0
0
-6
20
0
15
40
0
0
0
0
0
0
0
0
0
33
-62
0
2
25
0
0
2
-37
0
0
2
0
0
-2
-14
0
0
0
3
0
0
-24
1
0
0
0
0
0
48
-1
0
0
0
0
0
-11
0
0
0
0
0
0
-10
-1
1
0
0
0
4
30
0
0
-9
0
0
-3
0
0
-1
50
5
0
-3
17
0
0
-8
0
0
-1
15
0
-3
0
0
0
0
-34
0
0
1
0
-2
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-3
-4
4
0
0
0
0
-6
0
0
0
0
0
0
-17
0
0
-4
0
0
0
0
3
-6
12
0
0
4
0
0
0
2
1
0
0
-2
0
-2
0
0
0
0
-15
0
0
0
0
0
0
59
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
26
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
27
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
-24
-1
4
0
0
0
0
36
0
0
0
0
0
0
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
-2
0
0
0
0
0
0
4
0
-6
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
-61
0
0
-10
0
0
0
20
0
0
5
0
0
2
14
0
0
-5
0
0
0
5
0
0
0
0
0
0
-15
0
0
-1
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
5
0
-1
-6
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-20
0
0
-1
0
0
-92
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-1
8
-25
2
0
0
-1
0
0
56
0
0
0
0
0
0
35
0
0
0
-7
0
1
1
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
23
0
-3
0
0
0
0
24
0
0
0
0
0
0
-13
0
-2
3
0
0
0
0
0
0
0
0
0
0
62
0
3
0
0
0
0
-6
0
0
-9
0
0
0
1
0
4
0
0
0
0
55
0
0
0
0
0
0
-46
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
-2
0
0
0
37
0
0
2
0
0
-4
55
0
0
-14
1
0
3
13
0
6
18
0
0
0
16
0
0
-2
0
0
1
0
0
0
0
0
0
0
-4
0
-2
0
0
2
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
2
0
0
0
0
-17
0
0
17
0
0
-3
51
0
6
-6
0
0
0
2
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
0
1
-7
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-46
0
0
0
0
0
2
-3
0
0
0
1
0
0
0
-1
-1
0
5
0
0
-13
0
4
0
0
99
0
0
-3
-1
1
-5
47
-20
0
0
-29
0
0
7
0
4
0
2
1
0
-8
3
0
0
6
0
0
0
-8
0
0
1
0
18
0
0
-7
0
0
0
-1
0
-12
0
0
0
0
0
2
19
0
0
0
0
0
-5
42
4
-16
-7
5
0
0
0
0
0
0
0
0
111
-18
0
-2
9
0
0
20
27
0
0
-2
0
0
0
-16
0
16
1
0
0
0
34
0
0
0
0
0
0
-18
0
5
0
0
0
0
20
0
0
0
0
0
0
73
2
0
-5
6
0
0
-19
0
0
-1
0
0
-3
46
0
1
22
0
0
19
109
1
0
0
-1
0
0
9
0
0
19
4
0
-5
63
0
0
-1
0
-1
0
46
0
0
0
-1
-4
0
-13
0
0
0
0
0
0
-20
-3
0
0
0
0
-1
5
0
1
0
0
0
0
20
0
3
0
-1
0
0
-44
0
1
2
3
0
-8
3
0
0
-2
-6
0
0
-22
0
3
0
0
0
0
-54
0
0
0
0
0
0
-10
0
-10
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-10
0
0
0
0
0
47
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
2
-1
0
0
0
5
0
0
0
0
0
0
1
0
1
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
16
2
0
0
0
0
0
13
0
0
0
0
0
3
-6
0
12
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
1
-2
0
0
1
0
0
0
0
0
28
0
0
0
0
-2
0
0
0
0
0
0
16
0
7
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
6
21
0
0
0
0
0
0
14
0
0
1
0
0
0
47
0
0
0
0
0
0
-6
0
0
9
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
41
0
0
0
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
0
0
0
0
0
22
0
3
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-56
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-10
0
14
-12
0
0
-4
0
0
-13
0
0
0
0
-1
0
-59
0
0
0
5
0
0
1
0
0
0
24
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
8
0
0
0
1
0
0
24
0
0
0
0
0
-2
36
0
-32
9
-1
0
0
0
0
0
0
0
0
-1
22
0
0
5
4
0
7
28
0
0
-59
0
0
0
-6
0
14
0
-1
0
0
32
0
0
0
0
0
0
47
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
-5
15
0
0
5
0
0
-7
-13
0
0
-27
10
0
-12
-10
0
0
4
0
0
-2
-73
0
0
3
0
0
0
15
0
0
6
0
0
0
41
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
-2
0
0
0
3
-13
0
-3
-4
0
0
0
-21
0
24
0
0
0
0
-31
0
3
19
0
0
0
21
0
4
3
0
0
0
10
0
0
1
0
0
0
-19
0
-1
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-1
-1
0
0
0
2
0
-4
12
0
0
0
1
1
2
0
1
-3
0
0
10
0
0
0
0
-5
3
0
0
9
0
0
6
42
0
0
13
-27
-10
10
0
1
4
-2
0
-8
19
-7
6
-3
1
17
-1
10
8
0
0
24
-2
9
-13
17
0
0
-6
0
0
63
-8
0
0
8
0
0
0
-41
0
0
-3
-5
-27
0
0
-1
0
0
0
1
0
3
-2
3
0
-1
0
3
8
0
0
10
0
0
7
38
-4
5
-22
-5
0
0
0
0
0
0
0
0
-9
-21
0
-5
-43
12
0
-8
57
1
-4
-20
0
0
1
-11
0
16
25
0
-7
0
10
0
0
-2
0
-7
0
4
0
0
0
-2
0
0
37
-1
0
-1
0
0
-1
-27
0
1
5
4
3
4
17
1
6
13
4
-5
49
22
-1
9
62
-8
2
5
1
0
32
-1
-2
-1
-2
2
-1
-1
14
4
-10
-1
-14
0
-1
-7
0
10
0
23
-2
0
7
2
-2
0
-38
3
-2
0
1
0
0
64
0
0
0
0
2
0
-73
-3
36
0
0
-6
0
-72
-2
1
-6
-2
-4
-2
14
4
-12
-4
4
4
-4
-9
0
1
-22
-3
12
9
-10
0
45
-11
-1
5
0
32
0
5
5
0
0
0
44
0
-18
0
0
10
0
53
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
-30
0
0
0
0
0
-4
1
0
0
0
0
-3
0
0
0
17
-3
0
-8
0
0
0
-6
0
0
-29
6
0
0
50
-37
0
-13
0
0
0
-5
0
0
-1
0
0
0
29
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
-1
-2
0
-19
4
0
0
0
0
0
-25
0
0
0
0
0
5
23
0
-1
-10
5
0
0
0
0
0
0
0
0
2
0
6
0
-38
3
0
-5
54
0
-1
3
0
0
2
35
0
-22
2
0
0
0
40
0
0
0
0
0
0
-22
0
-1
0
0
0
0
-25
-1
0
0
0
0
0
46
0
0
3
6
0
-2
-35
0
0
0
0
0
0
-17
0
4
-79
5
0
-5
0
0
0
15
0
0
-4
53
0
0
-8
4
0
-1
-29
0
0
0
0
0
0
-17
0
0
0
-9
0
0
-28
0
0
0
0
0
0
14
0
1
0
0
0
0
13
0
0
2
0
0
-1
52
0
-3
-5
0
0
0
-22
0
16
7
0
0
0
0
0
-1
4
0
0
-2
0
0
2
1
0
0
0
7
0
0
0
0
0
0
-48
0
0
0
0
0
0
9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
-1
-2
0
0
0
0
0
-13
0
0
0
-4
0
0
10
0
0
0
56
13
-8
-26
-4
0
0
-6
0
0
-6
0
0
0
14
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
-1
0
0
0
2
0
-21
1
0
0
0
0
0
-40
0
0
0
0
0
0
39
0
-19
-16
1
0
0
0
0
0
0
0
0
-1
-27
0
-3
-2
0
0
5
55
0
0
-4
0
0
0
10
0
40
0
6
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
-29
0
0
3
2
0
4
-24
0
0
3
0
0
0
54
0
0
-51
0
0
0
10
0
0
3
0
0
0
17
0
0
1
4
0
1
69
0
0
0
0
0
0
-17
0
0
-5
-1
0
0
-28
1
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
8
0
0
0
0
-7
0
1
0
0
0
0
17
0
0
4
0
0
0
23
0
0
0
0
0
7
16
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
8
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
3
2
0
0
0
0
0
0
-10
0
0
0
-9
-2
0
-5
0
0
0
5
0
0
10
0
0
0
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
0
0
0
0
0
40
0
0
2
0
0
1
2
0
8
-2
0
0
0
0
0
0
0
0
0
1
6
0
0
5
0
0
1
46
0
0
-8
0
0
0
2
0
-21
0
0
0
0
22
0
0
0
0
0
0
37
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
2
0
0
0
-7
0
0
4
0
0
0
-5
0
0
0
0
0
0
45
0
0
0
1
0
0
14
0
0
0
0
0
0
60
0
0
0
0
0
0
33
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
-4
0
0
0
-4
0
-1
-1
0
0
0
-8
0
0
0
0
0
0
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
1
6
4
2
63
4
0
1
25
0
0
13
-1
0
0
-10
13
0
67
0
0
0
14
0
0
4
2
0
0
-49
0
0
-16
7
0
0
0
0
6
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
-10
-2
-1
0
2
0
2
-71
0
0
1
0
0
-12
-14
0
75
10
0
0
0
0
0
0
0
0
0
-12
41
0
0
-16
-1
0
-5
11
0
0
6
0
0
4
-4
0
19
0
4
0
0
-52
0
0
0
0
0
0
5
25
0
0
0
0
0
2
0
0
0
0
0
2
67
0
0
0
1
0
6
77
0
-2
8
0
0
-7
-88
0
0
27
-2
0
1
-38
0
0
1
0
0
-1
32
0
0
1
0
0
0
13
0
-7
2
0
-8
0
-37
0
0
0
0
3
-8
54
0
0
0
0
0
0
23
0
0
0
0
0
4
6
0
-8
0
0
0
0
24
0
-4
2
0
0
0
24
0
19
2
0
0
0
65
0
0
1
1
0
0
8
0
-9
-13
0
0
0
3
0
0
0
0
0
0
14
0
1
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
-1
0
0
0
0
0
34
0
0
4
0
0
-1
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-5
0
39
-8
0
0
0
0
0
0
-18
0
0
0
-1
0
0
13
0
0
0
-5
0
0
10
0
0
0
9
0
0
13
-2
0
0
0
0
1
0
2
0
0
0
0
1
0
0
3
0
0
0
-4
0
4
2
1
0
0
0
-2
20
0
0
0
0
0
-4
-46
0
-16
20
0
0
0
0
0
0
0
0
0
4
6
0
0
61
0
0
19
-3
0
0
-4
0
0
5
32
0
-8
8
0
0
0
-11
0
0
0
0
6
0
-82
1
-2
0
0
0
0
16
2
0
1
0
0
-2
-52
4
0
-6
0
0
51
4
0
0
17
0
-3
75
63
0
2
23
0
0
-14
31
-1
0
65
0
0
-2
11
0
-1
39
0
0
0
6
0
0
3
0
2
0
29
0
0
0
0
-3
0
29
0
0
0
0
6
0
-4
-5
0
0
0
0
0
54
0
1
-1
0
0
0
10
0
0
-7
0
0
-2
97
0
22
10
0
0
-4
5
0
0
-1
0
0
-3
-2
0
19
0
0
0
0
68
0
1
1
0
0
0
89
0
0
0
0
0
0
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-16
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
-5
0
0
-7
2
0
92
6
0
14
1
0
0
24
2
0
1
-19
17
0
-7
0
0
0
0
0
0
-15
0
0
0
8
-1
0
62
0
0
0
0
3
0
0
8
0
0
4
8
8
0
0
23
0
0
0
0
0
15
-3
-1
0
0
0
0
36
0
0
0
0
0
68
36
0
-45
53
0
0
0
0
0
0
0
0
0
20
58
0
-2
-74
-3
0
19
-17
0
0
-19
0
0
1
30
0
75
24
-3
0
-2
12
-1
0
0
0
0
0
41
-2
-2
0
0
0
0
100
-1
0
-1
0
0
-5
31
0
0
8
-5
0
24
-54
0
-1
13
0
0
-40
18
0
1
-9
-6
0
15
-9
0
0
8
0
0
-8
64
0
-1
-4
0
0
14
19
0
-6
8
0
0
0
10
0
0
0
0
0
0
36
0
0
0
0
0
0
-12
-6
0
0
0
0
-4
-10
0
-2
4
0
0
0
4
6
-1
9
0
0
-5
-16
0
40
33
0
0
-4
60
0
0
-25
0
0
0
36
0
-13
-10
0
0
1
15
0
-3
2
1
0
0
25
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
12
7
3
2
0
1
0
1
0
0
11
0
0
-16
0
0
0
1
0
2
-2
1
0
0
0
12
1
0
0
45
15
17
21
45
1
-7
-8
0
29
103
-20
-2
1
67
16
-10
-65
-44
0
-1
39
0
-20
-4
7
0
0
25
2
18
0
22
0
0
0
0
-2
0
24
0
0
-2
3
-76
0
0
25
0
0
0
-9
0
26
1
-2
8
-3
0
-3
-62
0
0
-2
0
0
19
18
-1
-32
50
-14
0
0
0
0
0
0
0
0
-1
-20
0
-3
30
-9
1
1
91
0
0
-15
-13
-3
0
-19
0
-19
37
49
4
0
-21
0
0
1
0
5
0
-3
22
-5
0
0
0
0
7
0
0
2
0
0
2
21
3
7
-20
3
12
20
5
-2
-1
-7
-1
-1
2
6
0
3
-57
-7
0
-1
50
-7
-17
25
2
27
0
19
-8
-16
4
4
0
4
-3
0
2
-2
0
0
0
-26
-1
2
-8
2
44
0
-2
-4
0
0
-4
-1
0
-2
0
0
0
1
0
0
-27
-1
-6
24
4
0
-7
12
16
-7
18
-3
0
1
-88
0
16
9
3
0
8
49
-1
29
-8
21
5
0
59
0
35
-3
0
0
-8
-22
0
8
8
0
0
0
-6
0
25
0
0
8
0
76
-14
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-23
0
0
0
0
0
-65
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
-4
0
0
25
0
0
0
-22
0
0
-6
-1
0
0
5
2
0
21
0
0
0
71
0
0
74
0
0
0
12
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
5
-4
0
0
0
0
45
0
0
0
0
0
0
6
0
9
25
0
0
0
0
0
0
0
0
0
14
9
0
0
5
0
0
48
0
0
0
7
3
0
0
4
0
17
0
0
0
0
-46
0
0
0
0
0
0
-7
-3
0
0
0
0
0
28
0
0
0
0
0
0
-34
0
0
0
0
0
0
-8
0
0
3
0
0
1
-1
0
0
-16
0
0
-5
7
0
0
6
0
0
0
0
0
0
0
2
0
0
26
0
7
0
0
0
0
-1
0
0
0
0
0
0
-42
0
0
0
0
0
0
-6
0
0
0
0
0
-1
5
0
-1
0
0
0
0
16
0
0
-3
0
0
0
34
0
1
0
0
0
0
34
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
15
0
5
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
1
0
0
1
0
0
0
16
0
0
1
-1
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
1
-28
0
0
0
0
0
0
-2
0
-14
4
0
0
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
-18
0
0
-8
0
0
2
10
0
6
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
56
0
0
0
0
0
0
-18
0
0
0
0
0
1
-20
0
0
7
0
0
1
-30
0
0
-2
0
0
6
16
0
0
-8
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
3
0
0
0
78
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
6
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
0
4
0
0
0
0
-2
0
0
0
0
0
0
3
0
42
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-25
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
0
0
30
0
0
0
0
0
1
-40
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-44
0
0
-2
0
0
0
-17
0
0
-6
0
0
0
-14
0
2
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
-3
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
-2
0
0
1
0
0
0
19
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
1
0
0
5
0
0
10
-1
0
0
6
0
0
8
-3
0
0
1
0
0
-3
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
1
52
0
0
0
0
0
8
30
0
-3
0
0
0
0
0
0
0
0
0
0
0
19
0
0
9
0
0
-3
-22
0
0
0
0
0
3
-17
0
7
0
0
0
0
28
0
0
0
0
0
0
68
-2
0
0
0
0
0
-76
0
0
0
0
0
0
-10
0
0
0
0
0
1
-19
0
1
0
0
0
0
-37
0
0
-2
0
0
0
-25
0
-6
0
0
0
0
-8
0
0
0
0
0
0
37
0
0
0
0
0
0
-7
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
1
0
0
0
16
0
0
2
0
0
-3
-6
0
-1
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
14
0
0
-2
0
0
2
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
3
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
-4
8
0
1
1
-1
0
14
0
0
25
0
0
0
-40
-1
0
43
-2
0
0
16
0
0
2
0
0
0
5
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
-2
19
0
0
0
0
0
12
36
0
20
45
0
0
0
0
0
0
0
0
0
-19
66
0
0
46
4
0
-13
43
0
0
10
0
0
26
0
0
84
3
3
0
0
55
0
0
4
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
5
15
0
0
19
3
0
-40
40
0
0
8
0
0
20
32
0
0
46
0
0
68
-26
0
0
-8
-2
0
4
-17
0
0
5
-4
0
2
-1
0
3
-3
0
0
0
-22
0
0
-4
13
0
0
8
-1
0
0
0
0
0
2
-4
0
0
0
0
5
80
0
-14
-4
0
0
0
-2
3
0
9
0
0
0
22
0
-8
2
0
0
4
9
0
-1
-9
2
0
-3
-34
0
-14
9
0
0
10
34
0
2
0
0
0
0
-17
0
-7
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-76
0
0
0
0
0
-64
0
0
0
0
0
-1
0
0
0
0
1
-3
0
0
0
4
0
0
21
7
0
0
-3
0
0
57
1
0
0
14
-1
-2
0
-1
0
0
-2
0
0
3
3
0
0
27
-1
0
0
5
0
0
1
0
-5
0
6
0
0
6
0
8
0
0
0
0
0
-3
-1
0
16
0
0
0
0
0
-1
47
0
0
0
-1
0
8
51
0
31
2
-1
0
0
0
0
0
0
0
0
0
-21
0
0
-13
-1
0
5
28
0
-4
8
0
0
0
-13
0
6
-6
0
0
0
53
0
0
0
0
0
0
7
8
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
3
7
0
1
29
0
7
29
0
0
7
15
0
0
-1
-1
0
-2
-2
0
-2
48
3
2
0
72
0
0
-19
4
0
0
-22
0
0
0
0
2
0
-9
0
0
1
0
1
0
-12
0
0
0
0
0
0
41
-1
0
0
0
0
0
23
0
-4
0
0
0
-3
-12
0
0
0
4
0
0
13
0
-19
-1
0
0
0
-7
0
1
1
-1
0
0
-34
0
0
12
-8
0
0
-6
0
0
-3
3
0
0
-23
0
-1
0
0
-1
0
-35
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
-2
-3
0
0
0
0
0
4
0
0
-1
0
-4
-5
0
0
0
4
0
0
-14
0
0
0
7
0
0
28
0
1
0
4
0
0
-2
0
0
-3
-6
-9
0
28
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
3
0
0
0
0
4
0
0
-4
0
0
16
-18
0
28
-1
0
0
0
0
0
0
0
0
0
13
18
1
-2
-19
0
0
-24
20
0
0
-10
0
0
-3
0
0
13
2
0
0
-1
43
0
0
0
0
0
0
19
0
4
0
0
0
0
-38
0
0
0
0
0
0
41
-1
0
0
0
2
10
-41
0
0
0
0
-4
0
5
0
2
-16
-1
0
9
-44
0
0
-9
0
0
0
-39
0
12
-4
0
0
-3
0
0
8
-14
0
0
0
-32
0
0
0
3
0
0
-12
0
0
0
0
0
0
7
0
0
0
0
0
0
-44
0
5
-1
0
0
0
31
3
0
-2
0
0
2
72
0
2
-25
0
0
0
0
-2
5
0
14
0
0
4
0
0
-1
0
0
-1
0
0
0
0
-4
0
0
17
0
2
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
-12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
36
0
0
12
0
0
0
59
0
0
0
0
0
0
1
0
-21
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
27
0
0
0
0
0
0
46
0
0
0
0
0
0
56
0
0
0
0
0
0
38
0
0
-1
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
-3
5
0
2
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
-40
0
0
5
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-2
-29
32
2
0
0
33
0
0
-26
6
0
0
-6
-2
0
13
7
0
0
0
0
1
5
-2
0
0
-1
0
0
-24
4
0
0
0
-6
0
-1
31
0
0
0
-9
5
0
0
3
0
0
0
0
0
36
2
0
0
0
0
-1
-52
5
0
1
0
-5
0
8
0
17
-11
1
0
0
0
0
0
0
0
0
-10
46
0
0
10
0
0
2
27
0
0
5
0
0
-1
-18
-4
-34
0
0
0
0
-107
0
0
0
0
0
0
14
4
0
0
8
0
0
55
0
0
0
0
0
0
23
0
-6
0
0
4
-1
-28
0
0
0
0
0
0
-8
0
0
-9
-5
-1
0
15
0
1
-1
0
0
0
-16
0
0
0
0
0
-2
22
0
0
2
0
-2
0
30
0
0
0
1
-2
0
51
-1
0
0
0
0
0
11
5
0
0
0
0
0
6
0
43
0
3
0
0
-7
0
2
14
0
0
0
-14
0
-31
0
3
0
0
17
0
-3
8
-4
0
0
30
0
-4
0
0
0
-1
57
0
0
0
0
0
0
-24
1
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
1
0
4
-2
-2
0
0
7
0
2
0
1
0
-1
29
0
1
-16
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-48
0
0
0
13
0
8
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
26
3
0
0
0
0
0
-65
0
0
1
0
0
-2
-3
0
-2
21
0
0
0
0
0
0
0
0
0
4
-27
0
0
-27
0
0
71
-63
0
0
-13
0
0
0
13
0
5
-2
0
0
0
47
0
0
0
0
0
0
55
-2
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
-3
0
0
-1
37
0
0
2
0
0
-2
-14
0
0
30
0
0
0
-36
0
0
94
0
-2
3
30
0
0
-21
0
0
-1
-14
0
0
8
0
1
0
67
0
-3
4
0
-2
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
6
0
2
2
0
0
0
17
0
0
6
0
0
0
-22
0
-8
-4
0
0
0
31
0
0
-5
-1
0
0
65
0
-1
-8
0
0
0
12
0
0
0
0
0
0
-4
0
-2
0
0
0
0
-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
2
0
0
0
0
0
13
0
0
0
0
0
1
-3
0
0
0
0
-5
0
0
0
-2
2
0
-16
0
0
0
0
0
0
41
2
0
0
66
-6
0
9
0
0
0
0
0
0
12
0
0
0
-3
0
0
5
-7
0
0
0
0
0
6
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
16
2
0
0
-1
0
2
-11
0
0
3
0
0
-7
13
0
26
-32
0
0
0
0
0
0
0
0
0
-24
92
0
0
26
-4
0
-29
68
0
0
5
0
0
-6
12
0
3
0
0
0
0
17
0
0
0
0
0
0
-28
4
3
0
0
0
0
-14
0
0
0
0
0
0
-35
0
0
-10
0
0
-3
-62
0
0
14
0
0
25
0
0
-2
-11
0
0
-31
33
0
0
-30
0
0
-2
31
-1
-2
19
1
0
12
46
0
1
0
0
0
0
25
0
7
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
-5
0
0
0
0
4
0
3
-9
0
0
-1
56
0
-1
-8
0
0
0
24
0
0
2
0
0
0
130
0
-13
0
0
0
0
-7
0
0
0
0
0
0
9
0
5
4
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
-7
1
0
0
0
0
0
0
0
0
0
2
-10
0
0
1
0
0
5
10
0
0
0
0
0
0
-7
0
1
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
-8
5
0
0
0
0
0
3
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
5
0
0
-3
0
0
-2
2
0
0
6
0
0
0
-5
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-2
-75
0
0
-1
0
0
8
22
0
10
1
0
0
0
0
0
0
0
0
0
0
7
0
0
-5
0
0
-2
32
0
0
0
0
0
1
-7
0
1
0
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
-38
0
0
0
0
0
0
-8
0
0
0
1
0
0
10
0
0
3
0
0
0
23
0
0
0
0
0
0
11
0
0
0
0
0
0
-34
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
-2
2
0
0
0
-8
0
-8
-8
-5
0
0
-9
0
0
0
0
0
1
-12
0
0
0
-1
0
0
4
0
6
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
8
3
0
2
7
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-8
0
0
0
0
0
-2
0
0
8
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
3
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
0
0
2
10
0
0
0
0
0
16
-18
0
0
2
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
30
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
3
1
-21
22
42
3
27
-1
-2
-23
-28
3
-2
-36
59
46
-19
16
16
11
-37
14
31
-18
-36
33
-9
10
32
-2
-49
29
30
25
-37
0
-10
0
-34
4
14
-58
13
21
-18
5
5
-2
-34
12
54
-14
44
-5
0
-13
12
14
0
58
-48
-1
-2
2
6
-2
15
27
-37
45
-5
14
-34
-13
17
4
-10
-3
4
-22
32
8
18
26
-2
-3
0
0
0
0
0
0
0
-6
9
-24
1
2
-49
-18
-18
-26
7
-8
0
-119
37
39
-13
4
-23
-16
-12
-2
-2
16
-6
5
-10
-14
-58
0
8
-31
0
-7
-14
9
-5
2
-33
-2
4
-33
-13
23
-25
30
14
45
-29
30
-5
-18
-6
-24
-5
0
42
-40
14
66
-37
3
-19
0
20
2
10
14
22
20
27
8
19
-3
-40
5
0
-13
-11
8
-20
-6
7
3
-27
2
-9
-5
-44
46
4
13
0
0
5
-7
5
5
-40
-9
1
-75
0
-14
-70
2
63
-40
15
-19
69
23
-11
-7
-23
2
-47
76
-48
-9
-25
1
-10
-55
18
-55
-14
8
-6
-14
-50
-27
-7
52
35
6
-2
30
-42
-13
0
-9
0
-7
81
-4
28
16
0
-20
14
-10
30
17
32
0
13
-8
43
4
37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
-8
0
0
3
-2
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
-48
0
0
0
0
0
-2
-13
0
0
0
0
0
-2
9
0
0
0
0
0
5
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
1
-7
-9
0
0
0
0
-24
-8
0
0
17
-40
0
52
-7
0
0
-21
0
0
-13
-7
0
-1
49
-31
0
-36
13
0
-3
-49
0
0
35
4
0
0
-31
-1
0
56
-10
0
0
24
-3
0
-5
-6
0
0
0
0
0
0
0
10
0
0
1
0
0
3
26
4
0
9
0
16
-25
0
0
18
0
0
-3
55
-1
0
-48
4
0
0
0
0
0
0
0
0
95
-13
-1
0
60
23
0
-11
-6
0
0
43
2
0
1
-5
0
47
-14
0
0
8
91
6
1
4
-3
0
0
1
-13
-4
1
-2
0
1
26
1
0
2
0
0
34
10
0
1
3
8
-2
-22
19
0
-2
17
0
0
-11
-1
0
3
38
34
0
-21
72
0
10
48
0
0
-4
44
-1
13
46
-17
0
-5
-9
0
5
61
0
0
0
41
0
-14
-13
2
0
0
-23
0
2
0
0
0
0
-35
4
0
0
2
0
0
11
0
-3
2
0
0
-27
4
0
-5
21
-3
0
5
34
0
25
5
0
0
-8
-19
0
58
-2
5
0
0
-17
0
31
8
0
0
-1
5
0
-9
4
9
0
0
6
0
73
0
0
0
0
34
11
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
1
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
-1
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
3
12
-14
-4
-25
-7
-5
7
35
63
4
-10
-14
-30
-6
48
5
18
17
-22
10
-20
-44
9
-26
23
-34
-2
-11
77
-23
-1
43
-55
-46
52
42
20
-25
-14
-1
-25
-29
-7
24
-4
53
1
-12
-86
-15
-4
18
11
11
-21
-24
0
7
-52
9
5
22
-4
-29
16
-6
3
-8
-12
3
-52
-18
-33
8
-81
24
-9
-19
-7
-14
11
4
0
0
0
0
0
0
0
13
-17
-22
-3
-23
9
50
-13
-11
22
47
44
15
106
14
4
-8
4
10
-17
-4
23
10
-16
-11
-47
-7
-22
-5
4
1
-8
48
-31
36
0
-1
-14
60
36
-86
-55
-6
2
17
-13
22
9
15
-26
-24
-25
58
17
7
-7
-36
-23
73
-6
7
-21
-47
0
-5
47
-25
-1
14
55
-29
4
-26
11
3
-33
32
0
14
-9
43
10
20
2
6
-10
-6
22
17
16
17
-24
-5
0
-7
-6
-20
38
-1
31
-13
38
32
23
-26
-3
-20
-51
-5
-20
22
15
-56
-11
-2
-4
-14
10
-56
-21
-20
16
-27
29
-9
1
44
-4
3
-1
9
-3
29
-9
-1
7
-5
53
-6
-15
48
-8
-10
-8
-27
33
62
8
1
47
3
-33
119
42
-2
0
-8
52
51
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
3
-16
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
29
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
4
4
0
0
0
0
0
0
0
0
0
0
18
0
0
-5
-1
0
-13
26
0
0
9
0
0
0
0
0
6
0
0
0
0
5
0
0
0
0
0
0
2
1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
29
0
0
18
0
0
0
4
0
0
0
0
0
0
40
0
0
0
0
0
0
-34
0
0
0
0
0
0
-9
0
0
0
0
0
0
66
0
0
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
-24
0
0
0
0
0
0
33
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
73
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
11
0
0
0
0
0
-1
-4
0
0
-2
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
2
0
0
0
-2
0
1
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
-2
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
15
5
0
-32
0
0
0
7
0
0
-3
8
0
-1
18
1
0
55
0
0
-4
-5
0
0
9
-2
0
0
5
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
36
0
0
-8
0
0
0
5
0
0
3
3
0
0
0
-2
-1
0
0
-5
0
0
-19
17
0
18
-35
1
0
0
0
0
0
0
0
0
-15
-27
0
0
-7
-2
0
21
-51
0
0
1
0
0
7
-72
0
28
15
-3
0
0
-8
0
-1
0
0
3
0
48
-10
-2
0
0
0
0
0
0
0
0
0
0
3
-46
0
-7
0
0
0
28
34
0
0
-42
0
0
-14
-18
0
0
18
-3
0
13
-43
0
0
15
0
0
1
22
0
0
-33
37
0
-3
46
0
0
-5
0
-2
0
-14
0
0
0
0
19
0
-43
0
0
0
0
0
0
0
0
0
1
0
0
0
42
0
16
0
0
0
0
28
0
7
0
0
0
0
-21
0
3
-7
6
0
0
23
0
0
-6
-2
0
0
-23
0
-3
2
0
0
0
34
0
0
0
0
0
0
22
0
27
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
34
0
1
-15
-1
0
10
-70
6
1
4
54
0
0
16
-8
-3
6
41
0
0
47
0
-1
16
1
0
1
-26
1
29
3
17
0
0
-1
0
-3
0
-7
0
0
0
-5
-66
0
1
8
0
0
-2
-1
0
-39
-1
8
1
-1
0
0
23
0
1
-32
0
1
-4
16
0
2
-22
-2
0
0
0
0
0
0
0
0
5
14
-3
1
-64
27
0
0
1
0
0
-11
0
0
21
-71
0
-40
30
8
0
0
-64
0
1
-5
0
0
0
-41
2
3
0
0
0
0
-40
-2
0
2
2
0
2
66
-4
-6
43
-2
1
-23
34
-1
0
6
0
1
27
-10
0
-4
-38
2
0
-29
-63
0
0
6
1
0
40
-24
0
0
25
3
0
1
-27
0
0
-5
-1
2
0
-47
0
0
24
0
13
0
16
1
0
0
0
0
0
35
2
6
0
0
0
0
54
0
49
1
0
0
-3
-15
0
-3
32
0
0
27
68
0
10
13
6
1
0
20
1
-2
-34
0
4
-1
23
0
11
-1
-4
0
1
-5
0
3
3
0
0
0
130
0
8
0
0
0
0
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
2
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
0
-3
0
0
0
0
0
0
-1
0
0
0
6
0
0
-4
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-6
0
0
3
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
-4
12
0
1
5
0
0
-2
20
0
0
0
0
0
0
-1
0
-9
0
0
0
0
-1
0
0
0
0
0
0
30
-2
0
0
0
0
0
-29
0
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-26
0
7
0
1
0
0
-24
0
0
0
0
0
0
-3
0
0
-13
0
0
0
5
0
0
-4
0
2
0
0
0
0
6
0
-2
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
3
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
-2
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
-1
0
0
0
0
0
55
0
0
0
0
0
-3
5
0
-7
-4
0
0
0
0
0
0
0
0
0
0
12
0
0
-16
0
0
19
-28
0
0
5
0
0
0
-3
0
9
0
0
0
0
28
0
0
0
0
0
0
-56
1
0
0
0
0
0
-49
0
0
0
0
0
0
-19
0
0
0
0
0
7
-14
0
0
0
0
0
-2
19
0
0
-3
0
0
0
-10
0
0
24
0
0
0
21
0
0
0
3
0
0
14
0
0
0
0
0
0
-7
0
0
1
0
0
0
-6
0
0
0
0
0
0
-12
1
0
0
0
0
0
-13
0
-3
0
0
0
0
-3
0
0
-3
0
0
-1
-43
0
0
-2
0
0
0
-7
0
0
1
-8
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
-4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
-2
0
2
51
-8
0
1
22
8
0
46
-15
0
0
30
0
0
-2
3
2
0
73
-1
-7
-40
1
0
0
-1
0
0
1
2
0
0
3
-6
-39
0
0
24
0
0
0
7
0
21
16
5
0
0
0
0
25
1
0
-5
0
0
3
10
0
-20
0
9
0
0
0
0
0
0
0
0
33
34
0
0
56
19
0
-21
2
0
0
-19
0
0
0
-15
0
-5
-8
2
0
0
-34
4
0
0
0
-4
0
16
-3
2
0
0
0
0
-55
0
0
0
-1
0
0
-2
0
0
-1
0
0
-1
-23
0
0
-5
0
0
2
38
0
0
10
28
0
2
-24
0
0
32
2
4
23
-49
0
8
10
-3
0
2
6
0
0
0
0
0
0
73
0
0
2
0
52
0
37
-1
1
0
0
0
0
-38
4
0
0
0
0
0
16
0
2
0
0
0
0
-4
0
-5
-18
4
0
-3
27
0
47
24
0
0
0
32
0
-16
-2
12
0
-5
-12
0
34
0
0
0
-2
38
0
0
0
4
0
0
6
0
36
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-2
8
0
0
-42
0
0
0
4
-8
0
10
6
0
-2
31
0
0
2
-1
0
-1
65
2
-1
47
0
0
0
4
3
0
0
0
0
0
2
0
59
0
0
-3
0
0
0
-1
0
16
4
-3
4
2
0
-4
0
3
0
-3
0
0
-4
0
0
13
54
4
0
0
0
0
0
0
0
0
4
-49
0
0
-43
8
0
34
20
0
0
23
0
0
6
-21
0
24
-27
-8
0
0
-22
0
0
-1
0
0
0
31
0
0
0
-2
0
0
-37
0
0
-1
0
0
0
0
0
0
-8
-2
0
0
-1
0
0
22
0
0
5
-45
0
8
-7
0
0
22
53
0
0
10
0
5
-3
-26
0
9
3
-6
2
-4
-81
0
0
1
0
0
0
-22
0
0
6
4
20
0
1
0
0
0
0
-1
0
-6
0
0
0
12
0
0
0
5
32
0
1
0
-5
-4
1
-4
-10
-10
0
-5
27
0
10
2
0
0
-2
27
0
3
-8
3
0
3
3
0
3
0
0
0
0
-21
0
2
-2
0
0
0
-23
0
8
4
0
-7
0
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
-1
4
0
-5
-14
0
0
0
0
0
0
0
0
0
0
-8
0
0
-14
2
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
-53
0
0
0
0
0
0
7
0
0
0
0
0
2
16
0
0
0
0
0
2
-37
0
0
17
0
0
0
57
0
0
8
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
2
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
2
0
0
-2
-1
0
0
3
0
0
0
0
0
0
1
0
0
0
-13
0
1
-3
0
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
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
-5
0
0
0
3
0
0
7
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
-1
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
-1
27
0
0
0
0
0
0
2
0
0
2
0
0
0
40
0
0
-5
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
-1
0
0
0
4
0
0
0
0
0
0
-1
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
3
0
0
-4
0
-7
7
20
0
-1
-1
12
34
10
-12
0
-2
64
0
-6
15
5
0
-7
14
9
23
-14
-3
4
0
-28
0
-12
6
-5
0
0
18
-14
2
0
0
11
0
0
0
0
0
1
6
0
0
9
0
5
-32
7
5
3
0
0
9
12
0
42
-1
0
0
0
0
0
0
0
0
0
18
2
0
-4
63
5
0
-15
2
0
0
4
-6
0
19
16
0
7
22
6
0
0
8
3
0
-1
0
0
0
25
17
-2
0
-3
0
0
22
0
-1
0
0
0
-1
30
-4
2
1
-3
0
93
37
0
0
-10
0
-1
15
33
0
3
45
6
0
24
-32
-4
0
81
-1
-1
6
-19
5
0
-15
19
0
3
-9
0
-2
6
0
5
0
-30
0
-7
2
-3
11
0
11
1
0
-3
-2
-7
0
26
-6
1
0
0
0
1
46
0
-22
0
0
0
2
18
0
16
-13
0
-1
-10
42
0
-28
24
-6
0
-7
27
0
-8
44
7
0
-1
-5
0
93
0
-10
0
-1
-12
0
-6
2
-1
0
0
3
3
-55
0
0
2
0
-1
-10
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-7
-23
0
-2
-9
12
-1
0
-35
0
42
36
-8
0
-5
0
0
3
12
4
0
0
12
0
1
46
-9
0
0
-3
0
28
4
-1
0
0
0
0
-19
0
0
0
0
0
0
-19
0
-17
1
1
0
0
0
-43
7
0
0
2
0
0
-43
-41
0
-54
-40
0
0
0
0
0
0
0
0
0
-25
-32
0
2
-5
0
-5
44
2
0
0
-16
0
1
15
-68
0
16
-6
0
0
2
-24
0
0
0
0
13
0
-31
0
-5
0
0
0
0
12
0
0
0
0
0
-1
-28
0
5
0
0
-1
21
-1
0
0
36
0
0
-29
-20
0
0
26
0
-2
78
-36
0
0
6
0
0
44
-29
0
4
33
1
0
12
-21
0
1
10
0
3
3
17
0
-1
0
0
-16
0
51
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
-5
4
0
2
4
62
0
0
36
0
0
-1
79
2
15
-19
8
0
7
-14
0
-2
-23
0
0
20
-1
0
-60
63
0
0
-2
45
0
-1
-1
2
0
0
6
0
2
0
0
-6
0
-33
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
6
0
0
49
8
0
0
-59
25
0
5
5
0
7
-4
-2
0
3
-2
0
0
-7
7
0
-25
-4
0
0
23
0
0
-2
2
0
0
28
-24
0
0
0
5
0
0
0
0
0
33
-4
0
0
0
0
35
-8
2
-2
0
1
0
23
-12
0
12
-21
5
0
0
0
0
0
0
0
0
88
0
0
-3
-50
-6
0
-64
17
0
0
12
0
0
-13
52
0
62
-4
-12
0
89
-36
0
0
-1
0
0
0
-21
0
6
5
7
0
0
-9
0
1
-2
0
0
-7
100
5
0
-20
16
5
30
47
0
-1
34
0
0
2
-17
0
0
2
-36
0
-3
1
-1
-1
-1
0
0
23
-11
-2
-4
19
-1
0
-2
-8
0
0
-49
0
0
-2
1
0
4
29
24
0
0
-16
0
0
0
0
0
0
30
-1
0
0
0
0
0
2
0
43
-4
0
0
4
44
0
0
33
1
0
10
24
0
-5
19
1
0
-8
-14
0
-2
0
18
0
6
67
0
-10
34
-1
0
1
-12
7
0
0
-2
0
0
13
0
-32
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
-3
59
13
-35
-1
67
-45
-3
1
-49
8
9
26
37
-1
1
-12
59
68
28
39
1
0
18
3
-68
-18
40
0
0
43
37
19
0
5
-9
0
0
0
21
0
-14
41
-25
-1
31
-1
0
-7
-5
6
-34
1
-2
-20
-29
-1
-45
-30
6
0
0
0
0
0
0
0
0
-34
30
23
15
-22
-24
15
19
36
0
47
35
-2
1
56
2
0
-13
-47
26
-8
-16
-6
-1
0
-3
8
4
0
-29
0
16
-3
10
-7
0
-31
-14
1
18
2
-2
4
-7
-20
-17
-7
9
-8
17
-11
4
28
-17
0
45
102
18
1
23
7
39
6
45
-14
11
26
0
19
-18
3
-24
3
34
37
25
40
-56
-17
0
-16
-6
-7
61
-3
30
-1
57
-20
2
-4
2
17
-4
-1
-4
-3
-5
0
-38
29
3
4
27
0
-2
-30
-4
31
-25
19
0
108
-46
-8
-31
19
15
0
-57
16
-4
14
-68
13
5
9
31
-2
14
-37
-25
1
13
-6
1
21
60
-13
1
-18
-3
2
23
6
-10
-1
0
13
-6
26
21
0
3
0
46
25
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
-13
0
2
73
0
0
0
7
0
-1
-5
-1
0
0
4
0
2
-17
5
0
0
-1
0
0
0
-3
0
0
2
0
6
0
0
5
4
0
0
0
0
23
0
1
0
0
0
-2
43
0
0
0
0
0
-2
0
0
-37
17
0
0
0
0
0
0
0
0
0
36
31
0
0
-88
-2
-4
-17
-72
0
0
-8
0
0
0
4
0
9
8
10
0
0
-8
0
0
0
0
0
0
29
1
0
0
0
0
0
54
0
2
0
0
0
-2
-52
0
0
6
0
0
8
0
0
0
-28
0
0
1
50
0
-1
-44
0
0
9
16
0
-4
-6
0
0
0
11
0
-1
25
8
0
0
70
0
0
-2
0
0
0
50
0
0
1
-4
-6
0
-21
0
0
0
0
0
0
-46
12
0
0
0
0
0
36
0
11
-3
0
0
-4
0
0
0
31
0
0
-5
-37
0
8
3
0
0
-3
47
0
3
-17
8
0
9
51
0
-10
-3
0
0
0
-4
0
0
1
0
0
0
0
0
6
0
0
0
0
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
1
0
0
2
0
0
1
2
0
0
17
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
-28
0
0
0
0
0
0
-52
0
0
-1
0
0
0
1
0
22
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
12
0
0
2
35
0
0
0
0
0
2
-7
0
21
0
0
0
0
13
0
0
0
0
0
0
55
1
-5
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
4
0
0
0
-37
0
0
8
0
0
0
-20
0
0
3
0
0
1
-44
0
0
3
0
0
0
10
0
0
0
0
0
-6
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
-7
0
0
0
-24
0
-1
-2
0
0
0
23
0
0
-1
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
30
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
25
0
0
45
0
0
0
-3
0
0
-3
0
0
0
2
0
0
16
0
0
0
0
0
0
0
-4
0
0
0
0
-19
0
0
0
0
0
0
-2
0
68
0
-1
0
0
0
0
-12
0
0
8
0
0
4
8
2
29
-30
0
0
0
0
0
0
0
0
0
3
29
0
-3
-17
0
0
79
40
0
0
0
0
0
0
-5
0
-2
0
0
0
0
54
0
0
0
0
0
0
-25
-3
0
0
0
0
0
13
0
0
0
0
0
-5
0
0
0
-5
0
0
0
-54
0
0
5
0
0
-3
-22
1
0
31
0
0
0
-40
0
0
33
0
0
-1
51
0
0
0
0
0
0
34
0
0
-1
0
-1
0
7
0
0
1
0
2
0
47
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
-1
0
0
0
0
-21
0
0
4
0
0
0
65
0
-4
10
0
0
0
-11
0
0
0
0
0
0
4
0
-10
2
0
0
-4
6
0
0
-1
0
0
0
-75
0
13
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
16
0
5
0
66
15
21
95
-7
5
19
0
0
52
10
-2
0
-29
8
-25
-21
-15
0
0
7
2
-2
0
31
0
0
-28
-6
-73
-1
-1
-29
0
0
0
19
0
-16
7
38
0
8
0
7
-8
-15
1
63
0
0
11
-82
3
3
3
14
0
0
0
0
0
0
0
0
109
19
-1
55
1
16
2
5
-7
3
-15
20
2
-2
11
-25
0
21
26
-29
-1
-19
-43
0
-1
1
0
1
0
40
-2
4
0
-9
0
3
-8
10
0
0
1
0
9
-59
-38
-1
-15
4
-2
10
27
-1
5
19
-5
0
-11
45
0
-10
12
37
-1
52
42
-3
-12
6
-3
25
-34
5
-1
24
-5
-9
-6
8
-30
0
0
20
1
-4
0
-13
0
0
-2
-8
-1
0
47
8
0
-3
12
0
3
22
-4
3
4
4
0
0
-46
2
8
-1
3
0
10
40
-4
2
31
8
0
-6
-2
0
22
78
-1
0
-33
-23
-1
65
12
5
-8
-18
-18
0
28
18
2
1
-2
32
-3
1
-4
30
-1
0
-30
0
34
-1
-4
-3
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
7
0
0
0
0
0
-4
-3
0
-13
-6
0
0
0
0
0
0
0
0
0
0
-47
0
0
-5
0
0
1
21
0
0
0
0
0
0
2
0
0
0
0
0
0
62
0
0
0
0
0
0
21
-1
-1
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
-2
0
0
0
10
0
0
0
0
0
0
9
0
0
-7
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
-3
0
0
-3
-1
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
2
0
0
0
2
0
0
5
0
0
0
-6
0
0
-8
8
0
0
-3
0
0
0
-2
0
0
-4
-2
0
0
0
-1
0
0
0
0
0
32
0
-5
0
0
0
3
-25
0
0
-1
0
0
-20
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-60
0
-1
79
0
0
-7
-67
0
0
1
0
0
0
-5
0
-27
0
8
0
0
22
0
0
0
0
0
0
42
0
0
0
0
0
0
-20
0
0
3
0
0
0
27
0
0
4
0
0
7
-9
0
0
-12
0
0
3
59
0
0
44
0
0
8
11
0
0
-13
-5
0
0
-15
0
0
-13
0
0
0
-7
0
0
0
0
0
0
1
0
-5
0
0
0
0
-1
9
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
6
2
0
0
1
-57
0
1
7
0
0
0
49
0
-8
0
0
0
0
4
0
0
-1
-6
0
-4
67
0
-2
3
0
0
0
-14
0
0
2
0
0
0
35
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-23
-26
22
-8
-3
19
-7
1
-8
35
42
22
38
-6
5
-1
0
1
23
30
70
0
0
-17
50
5
0
3
-8
0
-1
3
-18
7
-6
45
-3
4
1
0
-54
0
16
-8
94
1
-4
3
12
62
4
13
-9
9
0
0
0
0
0
0
0
11
24
39
-2
28
8
-10
-18
0
0
64
2
-10
-7
21
-27
-1
-40
56
-18
6
-18
-30
-22
0
-21
7
-17
0
10
9
-14
-2
29
-4
0
24
-52
4
-5
-2
7
-70
-37
68
-16
-11
-27
30
-29
38
29
28
39
0
-4
1
12
2
17
32
23
4
62
10
74
43
35
40
-21
24
-11
4
25
44
2
21
-60
-37
0
18
-7
-3
19
0
50
1
25
-37
-12
12
0
7
23
0
-16
-6
-7
0
-18
40
0
0
-8
0
10
-18
19
40
-8
0
4
-11
-51
-2
30
-32
-35
0
-96
13
-15
-52
-24
8
3
-12
-21
0
11
24
15
0
7
-14
5
-13
32
41
-4
-4
-11
0
-55
-45
-52
-5
0
16
3
4
-42
-6
7
0
19
16
14
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
33
-1
0
12
0
-7
-31
1
0
2
53
-6
-3
5
14
0
0
7
0
0
1
5
0
0
0
-6
38
0
0
13
0
0
0
3
0
16
-5
-1
0
0
0
-46
27
0
0
-2
0
0
35
9
0
-15
-47
2
0
0
0
0
0
0
0
0
-2
-36
-6
6
5
-9
0
32
29
0
0
-23
0
0
1
35
0
-92
-3
8
0
0
4
-1
0
0
-5
5
0
29
9
-8
0
-1
0
0
36
0
0
0
0
0
1
-14
-1
0
4
0
0
1
51
8
-1
2
0
0
-67
0
1
-15
6
5
0
43
38
0
0
19
4
0
0
-16
-1
0
24
3
0
8
26
0
0
-10
-4
-1
3
10
0
0
1
-5
-8
0
-2
0
0
0
-1
0
0
-37
0
-4
0
0
0
0
77
0
7
0
5
0
0
71
0
1
6
0
0
19
0
0
46
-44
-7
0
33
19
0
5
-5
-8
0
0
22
-5
-35
22
-2
-2
0
60
0
-2
-6
-1
0
0
-38
0
-5
-2
0
0
0
-23
1
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-1
4
0
0
0
0
0
0
-5
0
45
4
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
2
0
0
27
0
0
-8
0
0
0
3
0
10
0
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
1
0
0
1
42
0
0
3
0
0
0
-9
0
0
0
1
0
0
-48
0
0
0
0
0
0
2
0
0
0
0
0
0
74
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
5
0
0
0
0
61
0
0
0
0
0
-1
-8
0
0
0
0
0
-3
2
0
0
-4
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-1
0
-4
0
-8
0
0
-11
-4
1
16
1
0
0
1
0
0
0
0
0
0
5
0
-1
0
0
8
0
0
0
0
0
-8
0
1
0
0
0
5
48
0
0
1
0
0
16
-40
0
-21
16
-1
0
0
0
0
0
0
0
0
37
-24
0
0
27
-2
0
0
42
0
0
-2
0
0
1
-7
0
-14
1
0
0
0
10
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
124
0
2
1
6
0
-3
-21
0
-2
36
0
0
-8
24
0
2
30
0
0
6
-62
0
1
10
0
0
1
-13
0
0
7
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
27
0
0
0
0
0
0
45
-4
0
0
0
0
0
-18
0
0
0
0
0
0
49
0
0
-1
0
0
0
-6
0
22
-6
0
0
1
15
0
-7
9
0
2
0
28
0
0
1
0
0
0
-3
0
0
-1
0
0
0
-20
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-5
3
-1
-93
0
-7
94
26
-13
0
5
-10
-6
-29
-50
0
5
-32
0
-25
12
-17
0
-2
-20
23
-23
2
0
37
0
0
-4
-20
0
27
27
8
0
65
0
-28
-42
-1
8
21
-5
1
-25
32
6
-13
-38
-28
-1
0
0
0
0
0
0
0
53
22
0
22
69
10
4
-25
41
3
13
20
1
-5
63
34
0
-63
-16
28
0
-21
-6
0
0
3
-6
-13
0
-3
-47
72
0
-9
0
-2
42
-31
-1
2
-10
2
-12
-10
17
7
-29
-4
-15
88
10
-2
0
5
2
-1
-26
34
5
1
30
12
-4
-10
9
-2
-1
-38
-12
85
86
-9
-21
5
8
14
3
3
15
6
6
55
-4
25
15
-12
0
-5
-5
-11
5
0
23
-8
3
0
-2
10
0
-9
-3
-2
0
0
0
13
-15
15
35
5
36
-40
-43
-50
-1
62
32
-6
-6
50
38
-22
-7
67
0
-2
6
-17
-16
-21
33
125
-5
37
-31
-1
10
-45
7
0
4
16
-8
-8
1
30
4
-3
-2
0
24
6
5
-16
0
-36
7
-2
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
3
0
0
34
0
4
11
7
2
0
10
-4
-2
11
-3
0
0
0
0
-3
-2
42
0
0
6
0
-21
0
0
-23
0
0
0
-17
0
6
7
-2
1
0
0
-1
-11
0
0
-24
0
0
-58
39
0
81
56
0
0
0
0
0
0
0
0
0
-59
8
0
-1
-38
0
0
40
-43
0
1
14
0
0
-12
20
0
76
-48
0
-8
-2
8
0
0
0
0
23
0
-2
-2
14
1
0
6
0
-4
-5
0
-3
0
0
-5
-65
3
0
6
0
0
52
2
0
0
55
0
12
4
-56
0
2
37
5
-5
13
67
13
0
-12
-1
5
-17
13
4
0
22
0
3
0
-38
0
0
14
0
14
0
19
0
3
4
0
7
-2
54
1
0
0
0
0
0
14
25
0
0
0
0
-3
-34
0
-17
1
0
0
-12
56
-1
-2
73
0
0
0
0
0
9
-5
0
0
15
37
0
1
9
0
0
10
67
0
72
19
0
0
0
43
-3
-1
13
0
0
0
11
0
20
0
0
0
0
-29
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
7
-8
0
0
-5
0
0
0
14
0
0
-5
0
0
0
2
0
0
-1
3
0
0
0
-1
0
0
0
0
0
0
1
0
0
6
-3
0
0
0
0
0
16
0
0
0
0
0
-18
2
0
42
0
-3
0
0
0
0
0
0
0
0
14
23
-1
0
76
1
0
61
30
0
0
15
0
0
42
47
0
18
-23
-5
0
0
-40
0
0
0
0
0
0
79
1
0
0
0
0
0
38
0
0
0
0
0
0
8
2
0
1
0
0
7
-19
0
0
42
0
0
35
13
0
0
-48
2
0
-4
-51
0
0
106
0
0
15
-2
0
-1
19
1
0
-3
-26
0
0
0
0
0
0
-7
0
3
4
0
0
0
-37
-6
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
-5
0
0
0
2
48
0
0
-5
8
0
1
10
0
5
14
0
0
7
-3
0
0
13
2
0
0
4
0
6
0
0
0
0
51
0
0
0
0
0
0
0
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
1
-6
-9
-6
3
1
42
-1
1
-1
3
29
-2
46
-1
0
0
14
-36
0
9
-51
0
0
0
38
7
23
-14
41
1
19
0
42
19
0
7
15
0
-3
63
34
10
19
-14
-11
-9
0
0
0
0
0
0
0
10
-33
0
-4
11
55
-12
-70
-51
3
33
6
-3
19
9
20
0
8
34
-45
2
-5
-19
5
0
-3
18
9
0
-3
8
80
-1
-3
0
0
11
0
20
1
-3
2
-2
-14
-33
3
-6
7
8
-5
-3
-17
5
20
0
13
35
15
-5
-35
-22
-27
9
22
11
-22
103
-13
16
-8
2
13
-1
30
-44
5
-7
41
-8
-2
7
34
-4
57
2
-9
1
0
-4
21
3
0
11
-14
0
0
-5
-4
0
-11
32
-2
1
5
0
-6
-33
34
-59
26
4
2
60
-25
5
7
-38
-9
0
10
39
-1
-12
-1
-4
-1
11
33
34
25
6
-10
0
12
25
0
46
102
-2
-2
-35
9
-2
2
10
29
-4
-1
-18
0
47
-7
0
-13
0
24
-18
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
4
1
1
-2
0
0
-8
0
-5
2
-8
0
0
4
-1
2
0
0
-10
0
0
8
13
0
4
-6
6
1
-2
0
0
7
0
0
0
0
-2
-8
34
0
51
65
0
0
0
0
0
0
0
0
0
-13
0
-19
-20
-4
-8
0
19
-63
0
-3
9
1
-3
1
-43
0
-41
-4
-6
-6
2
45
0
0
0
0
0
0
4
2
-3
0
0
0
0
-54
3
0
0
0
0
5
56
-1
-5
-9
6
7
-14
-7
0
2
1
0
0
68
4
2
-7
17
-1
0
30
0
0
0
-21
0
4
9
58
0
-6
-13
0
0
0
47
0
0
19
0
2
0
33
0
-1
-2
2
6
0
20
0
-3
0
-3
0
0
-1
0
0
0
-1
0
0
65
0
36
0
-7
-1
-1
3
0
2
23
7
1
-1
46
0
20
28
4
0
1
0
2
1
46
-15
0
5
45
0
-17
4
0
0
-1
-57
0
-8
1
4
0
0
-36
0
36
-2
0
0
0
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
-1
0
0
-1
1
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
12
0
13
0
0
-1
0
0
0
7
0
0
1
0
0
6
8
0
-23
-20
0
0
0
0
0
0
0
0
0
-1
-11
0
0
15
0
0
4
23
0
0
-5
0
0
0
0
0
-29
0
0
0
0
-44
0
0
0
0
0
0
15
0
0
0
0
0
0
-67
0
0
0
0
0
0
15
0
0
-1
0
0
2
25
0
0
0
0
0
-3
-67
0
0
18
0
0
0
13
0
0
-3
0
0
0
4
0
0
5
-1
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
66
0
0
0
0
0
0
10
-2
0
0
0
0
0
13
0
-6
0
0
0
0
24
0
0
0
0
0
-3
-15
0
1
0
0
0
0
66
0
0
-1
0
0
0
67
0
-1
0
0
0
0
-29
0
0
0
0
0
0
48
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
-1
-9
0
0
0
4
0
0
0
0
0
0
-4
0
1
0
0
2
0
0
0
8
0
-29
5
3
0
0
0
0
48
0
0
-1
0
0
-8
14
0
17
52
0
0
0
0
0
0
0
0
0
-2
48
0
0
-9
0
0
97
-49
0
0
-8
0
0
-2
-3
0
-22
1
0
-3
0
64
0
0
0
0
0
0
3
13
0
0
-1
0
0
27
0
0
-1
0
0
0
86
0
0
0
0
-4
4
-6
0
0
5
0
0
6
-13
0
-2
-4
1
0
-1
65
0
8
15
0
0
-4
9
0
0
15
1
0
0
16
0
-3
7
0
0
6
27
0
0
-2
0
0
0
33
0
0
-5
0
0
0
15
0
0
0
0
0
0
-35
0
3
0
0
0
0
48
0
0
8
0
0
0
3
0
-7
-4
0
0
2
13
0
0
-5
0
0
0
53
0
-3
-7
0
0
0
-6
0
0
0
0
0
0
-46
0
0
0
0
0
0
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
5
3
3
-4
-3
0
33
-29
0
0
3
0
12
-1
28
0
0
-1
22
-90
0
0
-24
0
0
-1
-6
0
4
-2
1
0
1
0
7
41
-3
0
-17
2
0
70
83
3
43
62
1
6
0
0
0
0
0
0
0
-10
-16
0
-2
-18
-1
0
9
67
0
0
-9
7
0
-23
8
3
40
9
-7
0
-8
25
0
0
-1
0
10
0
22
26
5
0
0
0
0
-7
2
0
0
0
0
21
-18
14
7
38
-4
-5
23
60
0
15
30
0
4
3
16
0
3
-3
7
0
96
7
0
-2
39
1
-2
-14
-7
1
0
-30
83
0
2
-34
0
24
-2
0
22
4
30
0
14
8
-3
4
0
17
13
0
0
-2
0
0
67
5
0
0
2
0
-5
11
0
-29
0
0
0
-9
-12
0
-14
-24
-2
0
5
-40
0
13
-54
0
0
15
14
0
5
-12
12
0
3
2
0
5
26
0
0
7
-11
0
-14
-3
-4
0
0
-69
-3
-17
0
0
3
0
-1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
82
0
0
0
0
0
9
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
-1
3
0
0
0
0
0
0
-12
0
-3
0
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
3
0
0
0
73
0
0
-12
0
0
0
1
0
0
0
0
0
0
-8
0
3
0
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-1
0
0
0
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
-3
0
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-4
8
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
21
24
0
0
0
0
-5
2
0
0
0
0
0
15
9
0
76
48
21
0
0
0
0
0
0
0
0
67
37
0
0
77
0
0
47
-8
0
0
41
0
0
0
-3
0
-6
8
3
0
0
-26
0
0
0
0
0
0
43
8
0
0
0
0
0
-14
2
0
8
0
0
-6
23
0
1
7
0
0
0
-8
0
6
-25
0
0
9
-10
0
0
-44
-5
0
35
0
0
0
3
0
0
5
35
0
0
-1
-3
0
0
16
0
0
0
0
0
0
47
0
0
0
1
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
3
-87
0
-13
0
0
0
1
14
0
-3
5
-6
0
-2
-19
0
-6
44
0
0
2
-36
0
0
8
-13
0
-4
17
0
9
-10
0
0
-6
-6
0
6
-2
0
0
0
45
0
4
0
0
0
0
60
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
88
0
-5
0
30
0
0
74
-4
-29
0
1
11
0
0
14
0
0
8
-26
16
0
1
0
-17
-26
8
0
21
0
-1
5
13
0
6
2
2
2
0
0
0
0
0
0
0
-1
-22
0
15
33
-9
3
22
-23
1
0
31
8
0
40
-8
0
19
26
-20
0
0
-22
0
3
-4
0
4
0
-20
21
1
-3
-2
0
6
3
2
0
2
-2
0
-16
-75
-1
7
-2
-21
-7
25
-24
0
-7
-7
2
-5
-18
12
1
-1
18
52
23
-31
23
6
-12
-21
-6
23
1
2
0
18
-21
44
0
0
11
0
0
38
-2
-21
-8
27
0
-6
0
-3
52
0
9
-1
0
0
0
-1
0
8
8
-5
0
-5
0
-4
-29
-7
3
-1
13
-2
2
30
-19
-6
37
0
-2
2
12
-5
104
31
0
0
11
-11
2
19
5
-46
0
-7
94
-3
-3
24
-2
-2
3
-3
0
0
0
4
-3
0
-18
0
-13
2
7
5
0
-35
-5
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
1
0
0
0
2
0
0
2
-6
1
0
0
0
0
0
0
3
0
-9
0
1
0
0
0
-3
10
0
1
-1
0
0
-8
-1
0
58
-28
0
0
0
0
0
0
0
0
0
-2
34
3
0
-60
-7
0
24
0
0
-2
15
0
0
6
43
0
55
4
0
0
0
15
0
0
0
0
0
0
-27
13
0
0
0
0
0
43
0
0
0
0
0
0
-13
-3
0
2
0
0
-5
-9
0
0
23
0
0
-2
39
0
0
-57
0
0
-19
15
0
-3
17
0
0
1
0
0
0
21
8
1
3
52
0
0
2
0
-1
0
3
0
0
4
0
0
0
9
0
0
-1
0
0
0
36
4
0
0
0
0
0
-7
-2
-5
-2
0
0
0
-2
0
0
6
2
0
0
10
0
0
5
0
0
0
98
0
0
1
-3
0
1
0
0
-11
0
0
0
0
-6
0
0
0
-1
0
0
-20
0
7
0
0
0
0
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
86
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
2
0
0
1
0
0
0
-9
0
2
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
-12
0
0
0
-36
0
0
-4
0
0
0
23
0
0
0
0
0
0
8
0
0
17
0
0
0
-17
0
0
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
29
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
1
6
0
0
0
-1
0
0
0
0
0
0
-1
0
0
4
0
0
0
33
0
0
0
0
0
0
21
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
5
-1
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
-1
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
2
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-15
-1
0
12
-3
-4
-1
29
-2
0
0
-3
18
0
0
-3
0
0
0
2
0
-13
-2
0
-1
9
0
-7
-24
0
0
-19
0
0
3
42
-1
83
71
-19
0
0
0
0
0
0
0
0
41
-36
-2
-1
-8
21
0
92
-16
3
-3
-8
-1
0
-4
26
0
16
-4
10
1
-1
73
0
-1
-3
3
5
0
-2
-24
-5
0
7
2
0
12
15
0
-1
1
0
-13
-28
-4
-2
-2
-1
36
53
-39
0
40
8
8
-1
46
33
-4
41
41
5
7
-5
31
-6
13
93
7
-2
-28
-45
23
-14
-21
10
-10
0
-7
0
5
3
0
67
-4
32
1
0
2
-8
14
-6
14
-2
-1
0
-25
-4
2
6
-1
0
0
-1
0
-1
-3
-8
42
14
0
0
-1
-39
0
-5
16
-2
-4
12
30
5
78
24
8
0
18
-10
14
74
41
-7
0
1
-1
7
67
6
-13
2
0
-12
0
-22
1
9
2
0
-19
0
-68
0
0
-10
0
50
-24
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
12
0
0
7
0
2
0
1
0
0
0
0
49
0
0
4
0
0
0
4
0
43
-5
-1
0
0
0
-3
-18
0
0
-4
0
0
8
72
0
13
-36
0
0
0
0
0
0
0
0
0
28
-6
0
-1
53
0
0
-2
-32
0
-3
36
0
0
-2
7
0
58
10
0
0
0
-14
0
0
0
0
0
0
71
-1
2
0
0
0
0
-14
-2
0
-2
0
0
0
24
-1
-1
0
0
5
15
-9
0
0
17
0
-5
-5
25
0
0
-6
0
0
0
-16
0
0
40
0
0
0
40
0
0
7
0
-3
-6
-28
0
3
1
0
4
0
-21
0
0
0
0
1
0
-26
0
0
0
0
0
0
19
0
0
1
0
0
0
40
0
2
1
0
0
0
8
0
-1
1
0
0
0
-30
0
30
43
0
0
0
28
0
8
7
0
0
0
-20
0
5
-1
0
0
0
-12
0
0
-1
0
0
0
28
0
-4
0
0
0
0
15
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
1
0
0
0
-8
0
0
-1
61
0
0
0
-3
0
0
0
0
0
-25
0
0
0
0
0
-13
-20
0
0
5
0
0
-33
-6
3
48
64
-3
0
0
0
0
0
0
0
0
-3
52
0
0
-48
4
0
14
26
0
0
-46
0
0
30
-49
0
9
52
27
0
7
-5
0
0
-4
0
0
0
-10
5
0
0
3
0
0
4
4
0
0
0
0
-6
11
5
1
25
0
0
4
23
0
0
12
0
0
13
86
0
0
28
-4
0
29
14
-2
-3
-64
0
0
44
-83
0
-1
28
10
0
-2
-16
0
0
3
0
0
0
56
0
10
-1
2
0
0
2
1
0
0
0
0
0
37
0
0
0
0
0
0
-37
0
-12
2
0
0
-6
24
0
5
-3
0
0
9
96
0
2
-13
0
0
-2
31
0
0
-5
20
0
0
-16
0
-28
42
0
0
0
22
0
0
-3
0
0
0
-28
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-4
12
1
0
-18
5
0
0
-2
0
0
-4
34
-34
1
-8
0
-54
-41
8
1
15
0
-36
60
-16
3
2
1
2
0
0
0
0
0
0
0
0
33
7
0
-2
-11
57
0
17
-6
0
0
65
2
0
-1
-6
-3
33
4
-8
0
0
5
0
0
-20
-5
2
0
-9
-18
-7
6
7
0
0
4
-18
4
0
-9
-2
24
13
2
7
23
-53
18
40
0
3
-25
23
0
-14
56
-3
1
6
17
-62
-8
-23
-21
-25
26
0
-14
-43
24
4
8
51
-8
-26
6
2
10
-1
9
-12
12
51
0
36
1
-1
-42
-1
31
0
10
6
0
0
-7
33
0
-57
-27
-4
0
0
0
0
-41
0
-18
-35
2
-16
-8
-1
2
21
-34
-8
0
-28
26
0
3
-3
15
0
22
20
3
-50
-56
-5
3
-3
1
0
-20
31
7
0
4
-22
4
13
-47
7
2
0
15
3
51
-8
0
2
0
22
10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
0
18
0
0
0
-2
0
41
0
-6
0
0
0
-3
-59
0
0
8
0
0
2
38
0
37
1
0
0
0
0
0
0
0
0
0
-16
-1
0
-2
53
0
-1
-7
30
0
0
8
0
0
9
0
-7
40
0
0
0
0
-31
0
0
0
0
0
0
30
-5
5
0
0
0
0
34
0
0
0
0
0
0
10
0
5
2
-2
2
-29
-4
1
0
30
0
8
18
70
0
0
-30
8
0
-8
26
0
0
13
-1
0
27
95
4
0
6
0
0
0
0
0
0
8
0
-1
0
0
0
2
-2
-2
8
0
-20
0
0
0
0
0
0
47
0
0
0
0
0
0
11
0
6
2
0
0
3
5
0
17
34
-2
0
5
-17
-1
22
-8
3
0
-3
-45
0
8
24
2
0
0
-39
0
39
20
0
0
0
0
0
0
0
-2
0
0
10
0
-12
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
4
0
0
0
5
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-2
0
-1
5
29
0
0
4
0
0
0
0
0
38
0
-3
4
0
0
2
21
0
4
0
0
0
-1
-13
0
28
41
1
1
0
0
0
0
0
0
0
-12
-23
0
0
5
-8
0
0
13
0
0
-3
-2
0
14
-12
0
57
-1
-2
0
0
-11
-1
0
0
0
-2
0
46
30
0
0
0
0
0
-4
1
0
-1
-1
0
0
-39
0
-5
1
0
-9
2
17
0
0
25
0
-1
-1
-6
0
-8
-8
-2
0
10
27
0
0
-13
-6
-1
6
7
0
2
1
5
0
0
-32
0
0
3
0
0
2
52
0
-6
0
0
3
0
12
0
0
0
0
0
0
-20
0
0
0
0
0
0
-43
-2
21
0
2
0
0
-13
0
0
0
3
0
-1
-44
0
0
-1
-8
0
5
61
0
5
-2
2
-1
-4
-39
0
33
3
0
5
-2
-6
0
3
0
2
0
0
38
1
16
0
0
2
0
9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
-3
6
0
-4
0
0
0
0
6
0
0
0
0
3
0
-17
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
6
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-11
0
0
4
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
-40
0
0
0
0
0
-19
0
4
0
1
0
-10
26
0
0
1
0
0
14
-1
0
-31
131
-15
0
0
0
0
0
0
0
0
-23
-7
0
0
-12
2
0
40
-24
0
0
17
0
0
0
39
0
-54
-2
-3
0
0
81
0
0
2
0
0
0
24
4
0
0
-2
0
0
-41
-3
0
0
0
0
0
-46
0
0
0
0
0
-12
12
0
0
51
0
0
-5
5
0
0
-59
4
0
6
27
0
-2
-28
-2
0
-15
20
0
0
63
4
0
3
4
0
0
23
0
0
0
-7
0
4
2
4
0
0
6
0
0
0
-2
0
0
49
2
0
0
0
0
-5
-3
0
6
-5
0
0
-1
-126
0
-2
9
-1
0
0
-69
0
-1
21
0
0
-1
34
0
0
16
-2
0
0
25
0
-5
-4
0
0
10
-9
0
0
-4
-5
0
0
1
0
2
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-20
0
0
0
0
0
0
-53
0
0
2
0
0
8
56
0
-64
-3
0
0
0
0
0
0
0
0
0
0
88
0
0
-13
2
0
0
16
0
0
7
0
0
0
-26
0
-7
0
0
0
0
25
0
0
0
0
0
0
-5
0
-3
0
0
0
0
-3
0
0
0
-1
0
0
-28
0
0
1
-5
0
-1
-67
0
0
13
0
0
8
5
0
0
10
0
0
1
4
0
0
4
0
0
0
5
0
0
0
0
0
0
-4
0
0
13
0
0
0
19
0
0
0
0
0
0
70
0
0
0
0
4
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
-2
43
0
-2
8
0
0
0
17
0
1
-5
0
0
0
14
0
13
3
0
0
0
25
0
-1
0
0
0
0
2
0
7
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
9
0
0
19
0
-1
0
0
0
6
-6
0
0
2
0
-6
-4
3
0
48
-64
0
6
0
0
0
0
0
0
0
-8
34
0
4
-14
38
0
-13
26
0
0
0
0
0
-9
-2
0
22
-7
-7
0
-5
0
0
0
0
-1
0
0
1
16
0
3
0
0
0
32
-4
0
0
0
0
-6
-13
0
0
8
0
0
-1
16
0
1
8
0
0
-29
4
0
-1
75
-1
0
-9
39
0
0
22
0
0
15
54
0
-1
17
-8
0
-6
-20
0
0
-1
0
0
0
0
0
0
-1
-2
2
0
-29
0
0
0
0
0
0
37
5
5
0
0
0
0
-32
0
24
-1
0
0
0
-52
0
-1
4
0
0
-2
-10
0
14
8
0
0
-5
25
0
-3
-19
17
0
-1
17
0
-19
22
0
0
0
40
2
0
0
0
0
0
0
0
8
0
0
0
0
58
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
0
34
0
0
-2
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
28
0
0
-2
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-4
0
0
41
4
3
0
0
0
1
74
0
0
-1
-3
0
-5
-33
0
52
-15
-2
0
0
0
0
0
0
0
0
-7
21
0
0
8
0
0
-43
39
0
0
-1
0
0
0
-12
0
-26
2
-1
0
0
-12
0
0
0
0
0
0
-31
-5
-2
0
0
0
0
63
0
0
-1
0
0
0
1
0
0
3
6
-5
4
-49
0
0
11
0
8
-4
-43
0
0
8
1
-9
2
37
0
-3
5
0
-5
-3
30
0
0
0
0
3
0
-26
0
0
0
0
0
0
11
0
0
0
0
-1
0
30
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
-38
0
0
0
0
-33
0
0
3
0
0
0
23
0
-5
1
0
6
-5
32
0
-6
2
-2
0
0
-15
0
16
0
1
0
1
17
0
0
0
0
0
0
-10
0
1
0
7
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-18
-1
1
0
0
0
5
-2
0
0
-10
0
0
-4
-22
0
-41
-47
0
0
0
0
0
0
0
0
0
10
-51
0
2
44
0
0
41
29
0
0
-15
0
0
39
-10
0
32
-4
0
0
5
-5
0
0
0
0
0
0
74
0
0
0
0
0
0
3
0
0
0
0
0
1
-6
0
0
10
0
0
-6
44
0
0
29
0
0
58
1
0
0
-21
0
0
8
2
0
1
17
0
-2
0
16
0
-1
68
0
-4
5
-37
0
0
-5
0
23
0
-11
0
0
0
0
4
0
-14
0
0
0
0
1
0
50
0
0
0
0
0
0
33
0
59
-3
0
1
-1
55
0
14
0
0
0
1
-28
0
19
-3
0
0
1
-30
0
0
24
0
0
0
41
0
6
-12
0
-4
0
40
0
0
0
0
0
0
-23
0
3
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
7
0
0
-13
21
3
6
35
0
49
6
6
12
44
0
0
68
-24
0
31
-12
62
0
0
0
0
0
0
0
0
54
-25
-3
-1
-14
56
0
16
32
0
0
49
-3
0
12
-18
0
13
-10
17
0
15
-26
52
0
0
0
0
0
21
11
2
-2
23
0
0
-8
1
0
-8
0
0
-23
8
-17
-3
-34
-1
0
-5
-10
0
-7
-34
-2
0
-36
27
1
1
-12
47
0
27
8
7
-6
2
25
0
-15
7
0
-17
28
-26
0
-31
4
0
12
53
-21
0
4
47
1
25
-13
91
0
-8
0
7
2
0
-3
0
0
38
13
0
-1
7
0
-5
4
-9
71
-1
0
0
-31
-10
-12
27
20
42
0
-19
19
1
-45
20
-25
0
-14
19
0
36
-13
23
0
63
29
2
25
99
0
0
-17
-12
0
32
19
20
0
0
-19
1
2
6
-1
0
0
38
1
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
32
0
0
0
0
0
-7
1
0
0
3
0
0
0
0
0
0
0
0
0
0
97
0
0
-8
0
0
-2
5
0
0
-1
0
0
3
-12
0
-3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
16
0
0
-1
0
0
2
-2
0
0
-20
0
0
0
-8
0
0
7
0
0
0
-19
0
0
-3
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
-7
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-46
13
-1
0
0
0
10
-46
0
0
32
0
0
-23
23
0
-43
-52
0
0
0
0
0
0
0
0
0
43
9
-4
0
27
-19
0
-39
11
0
0
1
5
-3
8
-25
0
14
1
16
-6
0
-14
0
0
0
0
19
0
-79
0
-8
0
1
2
0
42
4
0
0
0
0
-19
2
1
1
-7
0
0
-19
-49
0
-1
-35
0
0
15
-18
0
2
17
-3
0
40
-36
0
0
26
0
0
-13
1
0
0
-36
2
1
13
11
0
0
17
0
3
0
-6
0
-6
9
-6
4
0
63
0
0
0
0
5
0
65
0
0
0
0
0
0
-1
0
3
5
3
0
-6
-5
0
2
31
0
0
3
-21
0
29
-18
4
1
0
-34
0
13
-10
1
1
-8
16
4
-1
2
0
0
0
16
0
0
-1
0
-3
3
-39
0
84
6
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-3
0
0
0
0
0
-14
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
-4
-25
0
0
8
6
0
0
4
0
0
-1
0
0
0
50
0
-8
-1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
2
0
0
0
-5
21
0
0
0
0
0
0
2
0
0
-1
0
0
0
12
0
0
5
0
0
0
31
0
0
25
0
0
-1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
-7
0
0
0
0
8
0
0
0
0
0
0
16
0
0
5
0
0
0
2
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
91
-2
3
1
0
0
25
1
0
0
1
0
0
15
64
0
34
-43
0
0
0
0
0
0
0
0
0
4
12
-1
-1
-6
4
0
37
53
0
0
-17
0
0
0
-18
0
-3
10
2
0
0
0
-4
0
0
0
0
0
18
-82
1
0
0
0
0
11
0
0
0
0
0
2
-33
0
-8
-5
0
0
1
-8
0
0
-43
0
0
-5
-42
2
0
-23
7
0
28
18
1
0
54
0
0
-4
-41
1
0
17
-3
0
0
0
0
0
19
0
0
-2
1
0
0
3
0
0
0
15
0
0
0
0
0
0
-12
-1
0
0
0
0
0
-3
-4
5
2
0
0
0
-39
0
-4
20
0
0
25
-25
0
5
-2
-2
0
4
-37
-1
-8
-7
-2
0
0
104
0
8
-12
0
0
0
21
0
0
6
0
0
0
-61
0
14
0
0
0
0
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
0
0
-3
0
0
-1
-14
0
0
2
0
0
0
4
0
3
1
0
0
0
2
0
0
0
0
0
0
-7
3
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
-1
0
0
0
18
0
0
-1
0
0
0
-1
0
0
4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-2
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
2
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-8
15
4
-15
9
-11
40
-24
0
5
0
-19
0
0
0
0
0
0
0
0
-19
12
-15
7
35
-24
-55
12
-13
-11
26
40
10
36
-15
-16
-13
20
-21
-9
-7
-10
-16
-9
-8
-3
16
6
0
16
-10
20
13
2
5
-25
0
-8
39
19
-23
27
14
-8
1
-4
-60
-80
42
19
-11
22
73
-7
-4
-17
40
-13
-16
11
-1
44
5
-17
7
51
59
43
-19
11
-10
23
-9
39
24
-39
-59
-56
-12
-8
-27
-31
22
11
-39
-27
12
23
0
-19
34
13
-1
32
-21
-6
34
6
19
0
-17
-3
-1
-48
3
55
-37
-17
32
7
79
-35
12
2
16
1
8
-56
-22
63
3
-3
-1
-16
-1
-21
31
-46
-9
-23
-15
16
-23
-17
-24
32
-6
-7
46
70
-31
-23
1
43
-9
-15
-12
13
-16
25
-11
24
-21
2
3
-18
62
83
20
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
101
0
0
-8
-4
0
18
-2
0
-30
11
-2
0
0
0
0
0
0
0
0
-8
-20
0
0
-18
5
0
-24
57
0
-4
48
3
0
34
26
0
13
2
0
0
0
-45
0
0
-3
3
-2
0
-4
0
19
0
0
0
0
4
0
0
-2
0
0
0
-1
6
0
0
-5
4
2
31
4
1
0
0
0
48
-13
0
-2
14
-1
0
15
-9
1
0
5
0
0
-3
31
0
-1
-27
5
0
-1
-25
0
0
8
0
-4
0
17
0
0
-3
0
1
0
-30
4
1
0
0
0
0
-33
0
0
0
0
0
0
41
0
2
0
0
1
0
41
6
0
7
0
0
5
1
0
-5
-2
0
-2
0
83
1
-1
-4
-3
0
-8
47
0
15
2
-6
0
0
33
0
0
0
2
-2
0
4
0
29
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
32
0
0
0
0
0
-25
-21
0
0
3
4
0
0
0
0
0
0
0
0
10
-13
0
0
-22
-5
0
-19
-51
0
0
14
12
0
0
-31
0
-21
-10
0
0
0
-9
1
0
0
0
0
0
100
5
0
0
0
0
0
-22
-4
0
0
0
0
0
29
0
0
15
4
0
-6
-44
0
0
-9
0
0
-10
29
0
0
-29
3
0
-3
-51
0
0
29
0
0
0
-21
3
-1
33
-6
0
0
40
0
0
1
0
-1
0
11
0
-4
0
0
-1
0
-48
0
0
0
0
0
0
48
-2
0
0
0
0
-2
-5
0
0
4
0
0
-1
2
0
0
-5
0
0
-2
78
0
0
-15
0
0
0
25
0
0
1
-9
0
0
14
0
3
7
0
0
0
47
0
-1
0
3
0
0
-13
1
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-2
43
0
0
-5
0
0
0
-30
0
0
0
0
0
0
-13
0
4
0
0
0
0
1
0
0
0
0
0
0
-44
-1
-8
0
0
0
0
-24
0
0
0
0
0
0
4
0
2
0
0
0
-8
-31
0
0
0
0
0
1
-12
0
0
1
0
0
-2
-32
0
0
-8
0
0
3
-9
0
0
0
0
0
0
-3
0
0
0
0
3
0
-12
0
0
0
3
0
0
42
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
16
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
74
0
0
0
0
0
-9
0
0
-12
69
0
0
0
0
0
0
0
0
0
20
26
0
0
-4
0
0
9
42
0
0
-2
0
0
2
3
0
-23
29
0
0
0
-55
0
0
0
0
1
0
23
1
0
0
0
0
0
47
0
0
0
0
0
0
-38
0
0
0
0
0
0
-13
0
0
28
0
0
-2
-7
0
0
6
0
0
5
-37
0
0
-10
0
0
-12
-22
0
0
49
0
0
0
8
0
0
0
0
2
0
3
0
0
0
0
-5
0
21
3
0
0
0
0
0
-29
-7
0
0
0
0
0
4
0
24
0
0
0
-5
-77
0
7
9
0
0
17
32
0
3
-9
0
0
-5
8
0
0
-6
0
0
-2
10
0
33
2
0
0
0
30
0
0
1
0
0
0
31
0
5
0
0
6
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
0
16
6
0
0
0
0
0
0
0
0
0
7
19
0
0
80
3
0
-1
-15
0
1
40
-7
0
0
-99
0
-21
0
40
5
-1
-6
0
0
-1
0
2
0
-46
-5
17
0
1
5
0
37
2
0
0
0
0
0
-46
0
-1
-1
-2
0
0
-42
0
0
-9
0
0
29
42
0
3
64
0
0
-1
-34
0
0
-26
0
-2
-16
-6
-3
2
83
-8
0
-1
-19
0
0
-29
0
0
0
-3
0
-3
0
0
1
0
1
0
0
0
0
0
0
-61
-2
0
0
0
0
0
29
-3
13
8
0
0
1
-12
0
0
5
2
0
3
66
0
-8
-15
0
0
0
3
0
22
26
1
0
0
21
0
-1
-3
0
0
0
-16
0
1
-1
1
0
0
46
0
-41
0
0
0
0
63
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
8
9
56
-85
3
0
0
0
0
0
0
0
30
18
62
-24
17
-34
110
25
-25
51
32
-44
17
-40
9
-18
8
-19
33
35
-8
-68
-49
2
-5
-9
73
-61
-9
7
-11
11
-16
14
16
-1
-6
-28
8
5
-21
-12
6
0
43
37
33
-53
10
2
-11
51
10
18
12
32
-27
10
8
6
2
14
59
-5
-6
-37
0
-26
46
-60
-21
19
-15
-7
-28
51
8
-1
17
0
-22
-23
-2
-29
-71
-4
20
50
50
31
-2
25
-20
49
-19
0
30
37
1
-7
31
-18
17
16
0
-22
0
-5
-17
15
63
9
-15
-6
-68
-29
36
-41
-14
7
17
14
-9
65
-69
44
-59
-34
44
27
32
-10
-4
-2
12
58
12
86
-19
45
-47
25
-4
-25
-5
-31
30
0
-28
26
18
-35
12
1
1
64
-28
37
40
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
20
7
0
0
0
0
0
0
0
0
9
-7
0
0
9
0
0
5
-1
0
0
7
0
0
0
-6
0
4
3
0
0
0
13
0
0
0
0
0
0
53
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
38
0
0
-3
0
0
0
26
0
0
0
0
0
-1
103
0
0
-8
0
0
-2
15
0
0
0
0
0
0
60
0
0
0
0
0
0
6
0
0
0
0
0
0
-62
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
1
0
0
0
0
37
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-7
0
0
-3
0
0
9
9
0
4
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
27
0
0
19
0
0
0
-8
0
0
1
0
0
0
-4
0
5
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
37
0
0
0
0
0
0
28
0
0
-5
0
0
0
-25
0
0
1
0
0
0
51
0
0
-9
0
0
1
-1
0
0
4
0
0
0
42
0
0
-4
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
2
0
0
0
0
5
0
-1
0
0
0
0
3
0
5
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-65
0
-8
8
65
0
0
0
0
0
0
0
0
76
-46
1
-1
-14
-5
0
-15
11
0
0
11
0
0
-10
-1
0
78
-15
-2
0
1
-26
0
0
2
0
1
0
3
-24
0
0
5
0
0
95
14
0
0
0
0
0
34
1
0
-5
1
-2
5
34
0
0
30
0
0
-26
33
-1
-3
53
-4
0
21
2
2
0
59
3
0
-13
8
0
-2
41
-2
0
4
-3
0
0
9
0
3
0
69
0
0
-7
0
43
0
-38
0
0
0
0
0
0
32
-1
0
0
0
0
0
-27
0
-7
1
0
0
6
76
0
4
-1
0
0
10
77
0
-7
-5
4
0
-2
-11
-1
0
0
5
0
0
2
0
-11
-1
0
0
0
18
0
0
0
0
0
0
-26
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-23
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
6
0
0
-9
-1
0
0
0
0
0
-2
-4
0
-4
0
0
0
0
-57
0
0
0
0
0
0
-22
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
-10
2
0
0
0
0
0
0
-40
0
0
6
-3
0
0
2
0
0
2
0
0
1
-29
0
0
0
-4
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
-5
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-9
-3
1
-23
-20
0
5
-39
0
-1
27
0
0
1
3
1
35
-19
48
0
0
-5
2
-3
3
0
-1
0
0
52
-21
0
0
0
0
29
-5
0
0
14
0
1
-84
0
-7
-24
4
0
-11
-14
3
39
-12
0
0
37
-55
4
-10
54
-23
6
31
11
-5
-2
-42
-6
-1
-38
-61
2
16
-15
11
0
-3
-17
0
15
5
0
0
0
28
0
-8
-33
27
-22
0
5
12
0
1
4
5
0
-3
10
-3
0
0
0
0
22
0
0
12
-13
0
29
41
12
2
-12
41
0
3
25
-1
-54
26
1
-1
23
-9
0
-26
-29
-62
-1
-8
-14
-5
-59
-45
3
0
0
55
5
-1
-6
-2
0
0
5
0
36
0
0
0
0
50
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-33
-8
7
56
-34
2
40
0
5
8
13
3
-2
4
-11
2
41
-2
-2
-2
12
-19
7
0
13
0
3
0
-16
-68
8
10
23
0
0
-25
-41
0
1
12
1
17
32
47
-30
-39
-2
12
-90
0
21
14
-33
0
-9
-21
-3
0
28
0
3
4
95
-40
2
8
16
23
-28
-77
-36
4
14
-1
-76
-9
27
-5
0
29
41
-1
-12
-5
9
0
21
11
-11
101
-4
-12
17
0
1
7
34
0
31
3
0
0
-8
2
6
87
1
78
-5
-1
2
38
0
-2
34
-5
10
7
7
4
-6
40
-24
-7
0
4
9
-13
102
-18
60
-10
-47
47
3
32
30
4
1
-6
42
9
-7
-25
3
-3
0
15
-4
20
9
8
-3
0
31
68
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
60
0
0
-2
0
0
0
-67
0
0
1
0
0
-1
25
0
5
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-28
0
0
0
0
0
0
44
0
0
0
0
0
0
84
0
0
0
0
0
1
-1
0
0
-1
0
0
0
10
0
0
1
0
0
0
4
0
0
6
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
-1
0
0
0
0
-9
0
1
0
0
0
0
31
0
0
3
0
0
0
5
0
0
6
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
47
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
6
8
48
-16
-3
-3
-11
1
1
-16
22
28
13
61
3
0
21
82
51
-3
3
-6
-1
1
23
-25
-18
0
10
47
-11
-8
8
0
0
32
0
-2
-8
-9
5
23
25
12
26
-16
-19
18
6
-31
13
9
-9
-30
-1
34
-2
-3
2
39
-3
-2
-13
40
21
21
7
53
58
78
38
5
18
15
-11
69
68
25
2
21
-10
-13
-24
52
-39
-18
10
16
14
26
-7
-17
-11
0
1
1
-5
-2
38
1
-2
3
-23
0
-4
21
-6
-6
-9
1
-15
72
39
13
37
29
20
-1
-9
-26
-1
38
61
-6
0
35
-44
21
35
44
65
-1
47
4
4
9
13
4
-13
7
-6
0
17
2
-41
-3
18
-12
-4
63
-8
8
-2
0
-5
4
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
27
-8
8
-13
91
0
41
32
0
-5
42
-4
33
77
26
3
15
-29
25
-5
9
17
24
0
-4
0
-5
-1
-16
-1
31
0
18
1
-4
1
6
0
-4
-1
-1
-3
23
102
31
2
5
-3
-5
26
0
8
53
-1
0
-4
-51
10
34
44
27
0
36
24
13
28
-22
2
-7
76
-38
12
-15
-5
-32
1
-23
-20
0
-5
-39
-6
-11
6
11
3
0
26
4
3
1
6
0
4
0
15
2
0
13
-12
-1
0
0
0
-1
9
-10
34
4
1
2
-24
47
-13
-45
-27
-9
0
-89
-85
1
10
-21
20
5
39
-33
5
15
113
-78
0
28
16
3
-16
66
0
0
43
35
0
24
40
2
2
0
-11
2
-24
0
2
28
0
43
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
51
0
0
-44
-71
0
0
1
0
0
2
26
0
-36
18
0
0
-5
-23
0
0
-1
0
-7
0
-45
14
19
0
0
0
0
-3
0
0
0
0
0
0
36
0
0
0
12
0
-12
4
0
0
14
0
0
4
13
0
0
15
0
0
24
20
0
0
1
0
0
17
40
0
-1
-9
0
0
-1
-18
0
0
16
0
-1
0
50
0
0
0
0
-2
0
94
0
0
0
0
-5
0
-43
17
0
0
0
0
13
-34
0
-10
-4
0
0
12
26
0
3
-13
0
0
-3
25
0
2
-28
0
0
-2
-3
0
5
8
0
0
0
-13
0
8
-5
0
0
0
-53
0
0
0
0
0
0
11
0
30
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
9
0
0
0
0
-8
0
0
0
0
0
0
3
7
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
13
-7
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
7
0
0
-8
0
0
0
24
0
0
4
0
0
0
38
0
0
-8
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
37
0
-4
43
5
-6
-22
-74
0
-9
-18
4
-1
17
-12
-4
0
30
-12
5
0
22
2
-40
-1
-5
0
0
9
8
0
0
3
0
0
-28
0
14
28
-1
19
16
17
0
-6
-12
0
-2
-5
-24
0
9
28
-15
0
13
-20
0
5
8
-3
12
20
-23
0
-5
47
5
-2
2
-34
0
3
-15
1
-30
0
37
0
0
26
-37
-7
0
33
-3
0
0
2
-12
0
22
5
0
0
-1
0
0
7
-5
-25
9
0
2
3
0
-2
40
38
19
0
-9
-40
2
5
24
1
0
2
57
0
41
10
38
0
30
-9
0
23
56
-4
0
0
28
-2
1
-11
3
0
0
-18
0
24
7
0
7
0
55
-5
4
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-40
7
11
-42
100
21
8
-45
12
-44
-73
-12
4
-72
-4
7
2
-6
44
-4
2
-20
21
-8
0
-26
-3
0
30
-3
5
19
-31
-27
33
0
-38
6
-9
-14
3
-35
23
39
13
82
36
-3
1
16
-12
3
40
-18
-11
-11
0
-55
9
-13
41
3
-50
18
-1
-10
-24
38
37
-5
-4
-14
47
-10
-45
-13
49
-12
-18
35
-22
34
52
-4
-8
-20
0
4
-49
40
4
-4
-42
-21
6
71
0
-11
4
28
-51
-8
34
-73
14
-1
7
32
-11
26
-5
13
-16
15
-1
-5
8
6
-50
0
-8
73
-13
25
-5
21
-27
22
13
8
-18
23
-54
1
-5
53
-28
-51
37
0
21
-1
-50
71
49
47
-1
2
34
0
-12
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-4
0
0
0
-9
0
-3
0
0
0
0
-11
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
-1
0
0
0
1
88
0
0
-1
0
0
0
-22
0
0
0
0
0
-1
34
0
0
0
0
0
0
11
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-64
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
-5
0
0
0
34
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
-1
0
-23
0
0
0
0
-45
0
0
-4
0
0
0
-23
18
0
0
0
0
0
-60
-1
0
0
0
0
0
-28
1
2
-2
0
0
4
59
0
0
5
0
0
-5
-6
0
0
32
-7
0
3
65
0
0
0
0
0
2
-3
0
0
8
-3
0
0
-16
0
0
8
0
0
0
-3
0
0
-2
-4
0
0
-11
0
0
0
2
0
0
0
0
0
-2
0
0
0
25
0
0
-3
0
0
2
-2
0
5
-6
8
0
0
-64
0
10
5
0
0
1
47
7
8
-8
0
0
0
49
0
-8
0
0
0
0
34
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
21
0
0
12
14
0
71
-15
-8
57
62
57
4
79
-13
-4
1
1
5
27
0
-11
-40
9
0
5
0
-2
41
5
2
-3
0
0
52
-29
31
1
90
54
-13
76
10
16
-14
12
0
18
16
11
3
7
63
45
-4
-12
27
-8
-19
-33
-8
0
24
-15
0
-42
63
-46
-16
43
-7
0
15
38
0
-9
-18
13
5
1
1
55
3
-8
20
0
1
0
0
-20
3
24
24
6
0
-10
0
-8
-2
0
-7
-19
0
3
1
0
0
-4
-23
-6
0
-2
2
-8
-19
8
8
0
36
-6
27
-92
69
68
0
-17
-18
-1
44
-6
0
5
12
24
0
5
-14
-6
0
0
-30
1
-26
6
0
4
0
-9
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-1
0
0
102
0
6
26
1
0
31
24
1
-2
0
18
0
0
0
0
19
0
41
-15
-5
0
0
0
1
5
0
0
0
0
0
0
30
0
-6
0
0
0
-1
12
0
-2
-19
0
4
-13
-9
0
4
58
0
0
41
8
0
0
17
0
0
9
55
0
0
-2
0
-7
9
18
0
0
-3
0
-2
0
87
0
2
-1
0
-13
0
-38
0
4
0
0
0
0
8
-15
0
0
0
0
0
78
4
22
-5
0
0
1
-79
0
0
41
0
0
-14
18
0
26
80
0
0
-2
11
0
-3
-38
-1
0
0
11
0
41
3
0
2
-3
-24
0
4
22
0
2
0
42
0
68
1
0
1
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
25
0
0
0
0
1
0
0
0
0
0
0
-13
1
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
1
0
-3
-2
0
0
8
0
0
-4
10
0
0
20
0
0
-3
16
0
0
0
0
0
0
32
0
0
-3
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
67
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
-1
0
0
0
0
33
0
0
-1
1
0
0
57
0
8
1
0
0
0
-40
0
0
6
2
0
0
-23
0
0
-8
0
0
0
0
0
0
0
0
0
0
25
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
3
-9
-18
2
0
-4
32
0
-1
-4
-1
-1
0
31
2
24
-3
-24
0
0
8
1
0
0
0
0
-10
48
9
8
0
44
21
-21
-52
0
6
-16
2
-4
81
-4
3
26
-41
68
-2
-26
26
0
16
46
0
0
0
-47
-1
3
75
-33
-6
-4
28
0
1
-43
15
-2
0
-19
0
2
1
32
1
0
26
2
0
0
0
0
0
77
6
4
0
0
0
1
44
-8
51
17
0
-3
0
-30
1
23
33
1
0
-1
54
0
-2
-29
0
0
0
43
2
44
37
7
0
18
-78
0
38
32
4
3
-4
7
-3
0
35
-27
0
0
65
-3
-36
0
0
5
0
20
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
22
-5
-8
19
-1
-14
-29
-14
-19
-2
-67
20
7
-3
33
25
8
1
-13
17
8
-30
-42
0
1
-26
-2
18
7
62
-29
-23
-65
43
-17
-1
47
-4
40
10
-48
48
24
9
-28
12
-55
-22
49
-8
52
-8
57
-2
-15
-22
0
-25
-76
-3
36
0
-7
16
-6
-45
12
3
-20
19
-24
-29
-49
-3
5
41
-19
26
-20
-1
5
30
54
-13
32
39
73
40
61
2
-19
24
-8
3
15
13
-37
-1
19
-31
-65
-23
37
-22
-7
10
-42
14
-6
50
2
39
-17
37
-19
-1
-30
-21
0
0
12
-23
-32
-13
14
37
0
6
-64
7
37
10
8
11
-3
2
-8
-7
-8
0
-15
21
60
33
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-2
0
0
0
55
0
0
1
0
0
0
2
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
9
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
-2
0
0
4
-14
0
0
19
0
0
0
24
0
0
-2
-4
-2
1
12
0
0
-3
0
0
0
-4
0
0
0
0
7
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
-2
-11
0
0
0
0
0
0
6
0
0
4
0
0
0
29
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-24
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
43
-8
6
0
19
-7
8
20
9
-6
0
0
-25
0
-31
48
-3
9
-2
-1
-4
25
5
0
-2
0
0
-11
-7
0
13
32
38
9
38
18
-3
-5
55
-2
1
3
35
-3
29
7
3
-2
11
4
0
12
3
0
2
-6
-30
-2
26
51
48
0
10
5
0
18
3
-2
-4
7
53
0
-20
0
39
5
-5
2
-8
13
0
0
0
-1
-30
12
0
-2
0
0
6
1
-8
37
-17
0
0
53
-9
-15
2
31
-2
0
45
4
0
70
19
0
-3
26
1
0
-73
-62
72
0
25
-78
0
33
9
-1
0
4
68
-8
6
-20
-18
2
0
34
4
-18
0
0
13
0
-8
5
5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
-3
0
0
0
-2
0
0
0
0
0
0
-27
0
-4
0
0
0
0
6
0
0
0
0
0
0
-24
0
0
0
0
0
-3
-61
0
0
-2
0
0
0
25
0
0
-8
0
0
0
25
0
0
12
0
0
5
-15
0
0
0
0
0
0
20
0
0
12
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
-1
-4
0
0
-1
-8
0
0
-1
0
0
-7
0
0
0
15
0
0
0
0
0
0
45
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
2
0
0
11
0
0
0
0
0
0
22
1
0
0
0
0
0
30
0
0
0
0
0
0
7
0
0
0
-1
0
0
62
0
0
1
0
0
0
-18
0
0
19
6
0
6
16
0
0
4
0
0
-8
-1
0
0
0
0
0
1
12
0
0
6
0
0
0
10
0
0
0
-3
0
0
72
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
14
0
0
0
0
-10
0
0
-3
0
0
0
73
0
0
0
0
0
0
3
0
0
12
-1
0
0
13
0
0
-13
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
5
0
0
-2
0
0
-10
0
0
0
0
8
5
58
1
0
2
0
-8
-5
-11
-1
-8
45
0
0
2
0
0
-3
85
8
0
-9
-9
0
-1
-1
0
1
-2
39
-2
2
20
-1
1
1
-43
0
2
0
0
0
0
-11
0
-1
-1
2
-5
0
-16
0
0
0
-1
0
0
35
0
0
0
0
0
0
28
0
5
1
0
0
0
-8
0
0
5
0
0
0
-16
1
-39
7
-8
0
0
23
0
-3
-7
0
0
2
-20
0
5
0
0
0
0
-20
0
0
1
0
0
0
-13
0
-3
0
0
0
0
21
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-8
5
0
1
12
7
0
4
-18
-50
-3
3
0
-2
19
-12
0
3
-25
0
-55
-6
-41
7
-8
3
3
-23
-19
-1
47
20
5
-10
44
25
1
2
-4
20
-3
45
-38
61
-9
-10
-2
11
5
20
1
29
5
29
5
15
0
3
-8
-6
0
-6
-7
9
-2
-7
20
0
-31
-6
-39
-7
0
0
0
-6
-3
34
7
2
6
-17
0
13
9
-32
1
16
-2
-17
2
-68
-12
-36
-47
12
0
-24
-8
-5
41
-26
6
-1
30
-9
-8
-16
1
-4
-1
-84
11
-3
-26
15
1
7
-9
0
0
-2
-20
8
3
0
-54
16
38
5
7
6
0
-9
-19
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-18
-12
-8
28
15
14
0
41
-21
0
-6
-29
5
5
-48
16
8
14
-5
0
-34
12
27
16
-18
-13
-3
54
55
-2
46
-6
3
-42
-6
9
5
28
-13
-50
-4
-31
10
-8
-14
39
13
-10
46
-13
-2
-13
33
-35
17
3
-20
1
2
53
-14
-32
-3
40
-2
48
35
-43
47
0
12
8
8
0
-1
-9
4
12
42
1
5
41
0
27
-24
7
-22
-81
1
0
48
-3
6
-20
-49
-12
3
-51
6
6
-11
45
-20
8
36
-21
2
23
51
-20
-3
72
11
-5
15
-17
25
0
53
-47
-1
-26
53
22
-1
6
-7
-5
4
27
-3
5
0
1
-80
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-58
0
0
0
0
-2
0
19
-4
-4
0
-3
0
0
2
-10
0
0
0
0
0
-23
0
0
7
-7
-2
-51
23
-4
0
31
0
-3
17
-7
0
-2
1
0
0
-46
-13
0
-8
37
-12
-3
-6
-44
0
4
31
-5
0
7
12
0
-1
13
2
0
0
-8
2
0
0
0
-3
0
7
0
0
0
0
8
0
-1
12
0
0
-2
0
0
9
0
62
-6
0
0
8
15
0
0
-2
5
0
41
54
0
16
-20
0
0
4
25
2
-26
1
-2
0
0
-92
0
-8
0
0
0
2
-30
0
0
7
0
0
0
-18
0
-15
0
3
0
0
37
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
11
3
2
0
0
0
0
55
0
0
0
0
0
-5
105
0
0
25
0
0
6
-7
0
0
-13
0
0
-31
-23
0
0
-23
0
-1
-17
26
0
-1
79
0
0
-3
-12
0
0
-2
0
0
0
-11
0
0
-10
0
-3
0
19
0
0
-3
0
-2
0
16
2
0
0
0
0
0
-17
-1
0
0
0
0
0
-14
0
48
-1
0
0
0
12
0
0
13
0
0
-2
68
0
18
72
0
0
0
35
0
-8
3
0
0
0
-20
0
0
-3
0
0
1
14
0
0
1
0
1
0
38
0
-4
0
0
0
0
-92
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
1
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-21
0
0
-1
0
0
0
-16
0
0
-5
-2
0
0
10
0
0
1
0
0
0
-8
0
0
0
0
0
0
-30
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
3
-25
0
0
0
0
0
-1
-8
0
-5
3
0
0
0
-8
0
0
2
0
0
0
7
0
4
-1
0
0
0
5
0
0
0
0
0
0
2
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
0
0
0
0
-43
0
0
0
0
0
0
8
3
0
7
0
0
14
5
0
0
-2
0
0
-1
57
0
0
-41
-3
0
2
-2
0
0
11
0
2
0
35
0
0
6
0
0
0
2
0
0
-10
0
0
0
12
0
0
0
0
-3
0
31
0
0
0
0
0
0
22
0
0
0
0
0
0
30
0
7
0
0
0
0
82
0
0
4
0
0
0
30
0
0
1
0
0
0
-8
0
0
0
1
0
0
15
0
7
1
0
0
0
29
0
0
0
0
0
0
-34
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-38
41
83
1
0
-17
50
15
-5
4
-7
73
-29
2
-23
10
76
-27
-3
-20
-22
-14
-33
2
-19
27
-6
17
-27
-15
-56
-6
-16
13
3
44
-17
14
-7
23
-27
8
27
-15
6
9
-8
7
3
31
61
42
42
-13
0
49
74
-7
9
7
0
-1
47
-3
0
1
26
0
8
19
7
19
15
0
0
14
-19
29
6
5
51
50
-13
26
10
51
-83
-1
-60
11
43
-20
-16
-17
7
26
8
40
152
-50
-21
-4
-3
-48
0
-29
-2
-4
10
-38
17
20
-44
-87
-54
-7
-1
0
-45
4
20
10
-5
-5
39
-45
-5
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
-1
0
0
2
64
0
0
1
0
0
0
25
0
0
0
0
0
0
42
0
0
-8
0
0
0
-1
0
0
2
0
0
0
-84
0
0
0
0
0
0
4
0
0
0
0
0
0
67
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-30
0
0
1
0
0
0
-4
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
2
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
-1
0
0
0
48
0
0
11
-3
0
0
48
0
0
3
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
49
0
-1
0
0
6
0
9
-7
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
4
0
0
0
0
17
0
0
0
0
0
0
-53
0
0
0
0
0
0
-15
0
0
-3
0
0
0
3
0
8
0
-1
0
0
-1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
0
0
0
0
0
-43
0
0
0
0
0
0
35
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-38
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
13
1
0
0
0
0
0
-18
0
6
0
-8
0
-5
9
0
0
-4
0
0
-8
7
0
0
-55
9
0
3
10
0
0
75
0
0
0
34
0
0
14
4
0
-3
13
0
-2
2
0
0
-2
-22
0
0
0
2
0
0
-15
0
0
0
0
0
0
-6
-1
0
0
0
0
0
-36
0
-5
1
0
0
3
-64
0
0
14
1
0
-1
-11
0
0
-13
0
0
0
22
0
0
9
0
0
1
-12
0
38
2
0
0
0
-26
0
0
-3
6
0
0
-16
0
-1
0
0
0
0
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
34
30
5
9
6
-15
3
-1
-19
-11
39
-7
-4
-9
18
15
-8
18
-39
10
2
7
18
0
-28
19
2
-2
-32
-22
16
71
-6
15
2
-11
64
-18
26
25
-63
19
0
-19
-23
-9
27
-10
-10
10
4
32
12
34
4
0
-1
-12
4
5
-49
18
-43
23
-8
4
-34
-11
81
43
14
-22
34
-53
-26
11
-6
20
25
-11
22
-11
6
-7
18
41
49
-46
28
-23
1
-2
16
-12
-25
-27
22
-5
-31
69
41
-55
30
72
7
0
81
-51
-50
57
25
9
43
10
68
19
47
0
0
-1
36
5
-56
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
0
0
1
0
4
34
0
0
15
-4
1
40
-39
0
0
-32
0
-8
18
-49
-3
-3
6
-10
0
-1
19
2
-4
-45
0
0
-41
-12
1
2
-15
-23
0
0
41
0
2
2
0
0
4
65
0
4
21
0
-14
0
-37
0
0
0
0
3
0
11
-4
0
0
0
0
-1
21
-4
3
6
0
-2
24
13
0
0
1
2
-4
-2
-33
0
13
-10
0
0
-1
-41
0
-3
4
4
0
-10
-62
0
-2
5
0
0
0
21
0
0
34
0
0
0
-19
0
8
0
2
1
0
25
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
0
0
0
0
3
60
0
3
-3
0
6
-5
-26
0
0
5
0
0
-22
20
0
-9
57
1
-2
-14
6
0
0
46
-9
0
-6
50
0
0
30
8
0
0
-48
0
0
1
0
-3
0
103
0
0
7
0
-1
0
3
0
0
0
0
0
0
38
0
0
0
0
0
0
25
0
-13
1
0
0
5
-46
0
0
-4
0
0
1
-13
0
-20
14
0
0
0
2
0
18
-7
0
0
5
-28
0
4
2
0
0
0
41
0
0
0
2
0
0
-22
0
0
-2
0
1
0
22
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
8
0
0
7
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
6
0
0
1
0
0
-8
40
0
0
0
0
0
-4
17
0
0
10
0
0
6
-12
0
0
-14
0
0
2
-58
0
0
-4
1
0
0
-3
0
0
-4
0
-30
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
-18
0
0
0
0
0
0
41
0
7
-4
0
0
0
-2
0
0
-1
0
0
0
-24
0
7
2
0
0
0
49
0
0
0
0
0
0
-29
0
10
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
1
0
0
-1
33
0
0
0
0
0
-1
-42
0
0
16
0
0
2
29
0
0
0
0
0
0
-2
0
0
1
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
2
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
2
0
0
3
8
0
0
0
0
0
0
-2
0
0
0
-1
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-26
39
52
-12
14
-32
-23
6
-39
35
-14
40
-71
36
3
56
0
22
17
-7
-7
2
21
-34
1
10
-56
48
-5
-42
39
18
26
-2
-37
18
-3
33
75
-4
24
28
-21
17
-39
25
-24
15
-13
24
-21
35
26
-4
-26
-3
0
21
-16
-2
30
0
-30
15
-53
-18
12
-8
14
-62
7
-63
38
59
-66
13
-23
5
22
23
9
43
12
4
29
19
13
23
24
1
7
-8
9
-2
-51
-35
-11
-60
-14
-5
-23
-56
-44
26
-40
-18
-41
43
-26
40
13
1
-12
18
-32
23
10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-3
0
4
-1
0
-2
13
0
0
-2
0
0
6
-13
0
0
47
0
0
13
10
0
0
-2
0
0
0
67
0
0
7
4
0
0
-21
0
0
3
0
-3
0
-24
0
-1
9
0
-2
0
15
0
0
0
0
0
0
-50
0
-1
0
0
0
-5
38
0
9
0
0
0
3
-39
0
0
-2
-2
0
-1
-29
0
-2
6
0
0
0
-65
0
0
3
-2
0
0
35
0
-9
0
0
0
3
-1
0
0
0
0
0
0
60
0
-3
0
0
3
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-15
0
0
0
0
0
-2
15
0
0
0
0
0
0
-42
0
0
1
0
0
0
12
0
0
16
0
0
0
-32
0
0
0
0
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
-1
0
0
0
14
0
0
-8
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
-14
0
0
0
0
0
6
24
0
-1
0
0
0
-1
-5
0
0
-4
0
0
0
20
0
0
0
0
0
0
2
0
0
2
0
0
0
1
0
0
0
0
-6
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
2
0
0
0
0
0
0
0
-8
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-30
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-45
0
0
0
0
0
-4
60
0
0
0
0
0
0
24
0
0
-1
0
0
0
-11
0
0
0
0
0
0
-40
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
-3
0
0
0
0
12
0
0
0
0
0
0
1
0
0
18
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
1
0
0
-7
32
0
0
16
3
0
16
73
-1
0
21
0
0
0
-16
0
1
54
-1
0
-1
30
0
7
6
0
2
0
69
0
0
0
4
0
0
-47
0
0
0
0
0
0
65
0
0
0
0
0
0
21
0
7
0
0
0
0
25
0
0
-6
0
0
-2
-52
0
3
1
0
0
0
22
0
0
-29
0
0
-2
38
0
1
8
0
0
0
12
0
0
0
0
0
0
34
0
-2
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-37
-6
6
-24
0
10
5
2
-4
20
23
-21
-2
47
-1
-19
-11
26
-10
5
47
7
-1
70
48
36
-12
50
13
0
30
58
29
39
-18
-29
1
66
8
4
28
-10
-14
-4
0
0
1
-5
2
-1
36
-2
-8
0
0
-5
0
-6
-23
45
-3
0
11
-20
41
2
19
120
1
-15
10
-8
-53
92
22
0
50
-65
37
44
57
64
-13
15
21
6
37
10
-2
6
-18
48
-4
49
50
-35
10
0
-28
0
-22
27
1
-3
0
-11
-1
2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
1
-17
0
0
5
1
0
-2
-6
0
0
-4
0
0
5
29
0
0
-16
1
0
-2
-43
0
0
0
0
0
0
55
0
0
2
0
0
0
-5
0
0
0
0
0
0
15
-6
8
0
0
0
0
2
2
0
0
0
0
3
2
0
1
-2
0
0
0
72
0
18
0
0
0
0
-6
0
0
0
0
0
0
38
0
5
0
0
0
0
84
0
0
2
0
0
0
49
0
0
0
0
0
0
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-2
3
0
0
5
82
0
0
-6
9
0
5
68
0
0
-9
0
0
1
29
0
0
-5
0
0
10
84
0
0
-6
0
0
0
-10
0
0
0
0
2
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
3
0
0
0
-2
10
0
0
7
-1
0
1
3
0
-8
4
0
0
14
-3
0
0
0
-1
0
0
42
0
0
-8
0
0
0
-17
0
0
12
0
0
0
68
0
0
0
0
3
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-12
0
1
0
-2
0
-27
3
0
-8
0
-1
1
54
10
-1
0
-24
-3
1
-1
-16
0
4
-24
-3
-8
-1
-2
6
0
-1
0
3
0
-2
0
-1
0
5
25
0
35
0
0
0
0
0
0
-46
6
0
0
0
0
0
-13
7
-27
-1
0
0
0
89
-2
-5
0
0
0
-2
51
0
-2
1
1
-1
0
24
0
3
21
3
0
0
56
-3
3
-1
0
-7
0
12
-6
2
0
-4
3
0
73
0
4
2
0
0
0
66
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
0
0
-36
0
0
-23
-28
0
0
63
0
0
18
50
0
0
-13
0
0
3
122
0
2
3
0
0
1
-18
0
0
-8
0
3
0
25
0
0
0
0
12
0
93
0
0
0
0
0
0
-36
1
0
0
0
0
16
23
0
-8
0
0
0
8
-60
0
0
3
0
0
-3
24
0
29
25
0
0
0
24
0
2
16
0
0
0
32
0
3
1
0
0
0
45
0
0
0
0
0
0
-30
0
1
0
0
3
0
-29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
0
4
30
0
0
33
5
0
-4
-6
-5
0
19
22
0
0
57
0
0
-5
25
0
0
28
1
0
0
21
0
0
5
0
0
0
79
0
0
-1
0
0
0
25
-4
0
0
0
0
0
82
0
0
0
0
0
0
16
0
41
0
0
0
0
26
0
0
-5
0
0
-4
7
0
-1
5
0
0
-8
-7
0
22
-2
0
0
0
16
0
-1
1
0
0
1
71
0
0
3
0
0
0
-27
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
-2
0
-35
51
0
1
-21
-8
-2
56
0
0
18
81
0
-1
-43
-13
0
-1
-30
0
6
-12
0
0
0
23
1
0
1
6
-4
-7
32
1
0
0
0
4
0
48
-3
2
0
-5
0
0
45
-4
34
5
0
-1
1
-16
0
-1
-66
-1
0
4
-14
6
16
-77
0
0
9
44
0
1
25
2
0
0
0
0
51
4
0
-1
0
-65
0
-10
7
0
0
0
-5
0
0
0
0
5
0
9
19
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
36
9
15
60
20
5
-1
-76
43
-8
35
47
8
29
33
26
40
89
34
-24
10
70
29
47
-11
-20
-44
-57
24
-5
-41
-11
-4
6
6
15
3
42
-27
-13
14
20
27
43
-3
-6
-10
18
50
63
-49
0
41
-54
0
1
-10
-36
-62
0
52
8
5
6
8
-8
-21
67
25
123
77
-12
-39
14
-24
19
22
12
52
-60
15
52
-25
0
-15
-20
-46
37
8
-1
-27
-2
85
1
46
-8
-7
-27
-46
10
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
68
0
0
-4
0
0
0
52
0
0
-1
0
0
0
56
0
0
0
0
0
0
10
0
0
0
1
0
0
-6
0
0
0
0
0
0
4
2
0
0
0
0
0
1
0
-10
0
0
0
0
2
0
0
1
0
0
0
10
0
3
4
0
0
0
-3
0
0
5
0
0
0
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
2
2
0
0
-68
0
0
36
0
0
0
23
0
0
5
0
0
0
37
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
1
0
0
0
0
23
0
0
-2
0
0
0
8
0
0
8
0
0
0
49
0
0
0
0
0
-2
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
33
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
81
33
0
27
85
2
8
-25
1
0
42
26
5
-6
7
22
5
3
35
0
0
12
0
2
5
-96
0
8
8
17
-5
0
10
-3
0
0
0
-10
0
88
14
0
0
0
0
-1
68
1
14
4
0
0
-12
-28
0
76
-33
5
0
8
45
0
-12
32
-5
0
-5
4
0
-2
7
-9
0
0
-25
-2
-24
-2
-4
0
-13
-8
1
-1
10
-2
2
0
-16
0
-2
-1
0
3
0
15
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-3
0
0
0
2
-3
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-51
0
0
1
0
0
-6
-3
0
0
-6
0
0
5
18
0
0
5
-1
0
0
-34
0
0
-1
0
0
0
-6
0
0
8
0
0
0
22
0
0
0
0
0
0
34
0
0
0
0
0
0
-38
0
3
0
0
0
0
10
0
0
0
0
0
0
-31
0
-9
0
0
0
0
14
0
-6
8
0
0
8
34
0
4
-4
0
0
0
-2
0
0
7
0
0
0
-17
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
2
-9
-16
-5
1
-13
-14
-1
-1
-45
61
10
-9
-4
0
-3
27
0
-5
-2
20
0
5
48
-18
46
0
47
-8
0
0
-2
0
0
56
21
0
-6
0
0
0
48
0
-2
-1
0
0
-1
-7
-2
39
-63
5
3
1
14
0
70
7
1
7
-1
58
-1
-45
105
9
0
-2
-32
1
-16
-32
1
0
-4
-31
0
-8
-13
5
0
0
-24
0
30
2
0
4
0
64
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
17
-56
15
-20
75
51
-7
1
-54
77
29
-54
-18
9
15
5
43
32
43
-10
-29
1
-66
62
-58
26
2
-7
-4
-74
-11
-12
36
21
16
34
35
107
-15
48
0
-17
-5
-9
-6
12
-50
19
51
2
33
-33
-25
28
9
-53
0
45
-56
-31
7
-17
-11
-14
-61
24
-29
-63
49
-21
-13
40
23
-24
5
36
7
2
-8
57
35
-3
51
-1
-10
18
5
64
16
0
0
14
-1
60
37
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-1
0
0
0
53
0
0
0
0
0
0
-3
0
0
1
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
40
0
0
0
0
0
0
21
0
0
0
0
0
0
14
0
-2
0
0
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
63
0
1
15
0
0
0
5
0
0
-1
0
0
0
42
0
0
-3
0
0
0
-33
0
0
3
0
3
0
-54
-1
0
0
0
0
0
-11
0
0
0
0
0
0
-43
0
0
0
0
0
1
-3
0
0
0
0
0
-1
30
0
-6
2
0
0
-2
-25
0
0
4
0
0
-1
23
0
8
0
0
0
0
14
0
0
0
0
0
0
24
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-5
7
49
-18
-13
21
-4
-5
-9
-13
-92
-8
76
20
3
-8
28
-4
21
-48
8
0
25
11
96
-37
0
11
1
0
0
0
0
3
34
-2
2
0
0
0
-29
57
-2
19
10
16
-1
10
25
0
83
42
13
0
-7
-11
-8
35
-23
-11
0
57
-4
2
22
54
2
3
13
-41
2
2
39
6
0
-17
-32
-2
12
23
-5
-4
0
23
-1
-56
0
-4
16
0
4
-5
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-52
5
0
1
0
2
-14
-2
0
0
70
-1
2
4
20
0
0
3
0
-3
1
-33
0
0
7
0
17
0
-10
-6
0
0
0
0
0
4
-3
0
0
0
0
0
-17
0
-2
3
0
0
-4
26
0
0
-31
0
0
0
-11
0
0
33
0
0
5
-39
0
-5
15
6
0
0
60
0
0
-4
0
0
6
-5
0
0
-8
0
0
8
48
0
-25
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
6
0
0
3
-6
0
0
0
3
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
30
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
-2
0
0
0
0
21
0
0
1
0
0
-1
38
0
8
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-28
0
22
-2
45
-2
0
-9
0
8
1
0
3
0
75
0
-5
-4
-6
-14
0
4
3
0
0
0
0
0
24
-7
2
2
0
0
0
23
0
92
-6
0
0
2
26
5
0
15
6
0
7
-10
0
-10
19
3
1
1
-41
0
11
-54
13
0
-2
35
0
60
-13
0
0
0
35
0
-13
0
-6
3
0
23
0
53
-4
0
-3
0
9
-7
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-28
40
18
-38
-59
48
14
-17
24
49
18
28
0
-16
-5
41
-54
-30
74
-48
0
-3
-7
21
-34
30
-13
13
-44
34
0
15
20
1
29
14
62
-41
-65
6
-27
83
3
-1
-12
57
-27
10
-4
3
24
8
-34
-46
-11
-15
0
-8
-32
-47
-29
-2
-13
-10
-4
-17
2
-29
-26
42
-55
-14
11
66
51
-16
38
13
66
-18
15
-2
-29
1
-3
18
38
41
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-3
6
0
0
-1
-22
0
0
0
0
0
0
12
0
0
0
0
0
0
20
5
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
1
0
0
0
0
18
0
-3
0
0
0
6
-6
0
6
0
0
0
0
8
0
0
-8
0
0
-2
-8
0
3
0
0
0
0
27
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-50
3
0
29
-8
0
1
-20
0
0
-8
0
0
-4
3
0
0
1
0
0
0
23
0
0
0
0
0
0
-31
0
0
0
0
0
0
-38
0
-5
-6
0
0
0
-22
0
0
3
0
0
14
5
0
-1
-5
0
0
-4
73
0
0
3
0
0
0
-5
0
3
0
0
0
0
-12
0
0
0
0
0
0
-52
0
1
4
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
-3
-9
20
-35
1
80
42
0
5
16
0
-6
-1
2
0
-4
-10
56
-20
0
16
0
27
0
0
0
0
-6
-10
0
0
-3
0
-3
32
0
-20
36
-2
3
-16
53
13
95
-39
59
-1
48
7
-1
24
11
8
0
13
-70
8
2
9
39
0
0
18
0
48
57
0
0
-12
-37
4
0
5
-2
-1
0
34
0
6
2
0
17
0
47
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
13
0
0
0
-24
0
0
0
0
0
0
24
0
0
-4
0
-3
0
-26
0
0
0
0
0
0
9
0
0
0
0
0
0
22
0
-2
0
0
0
-1
-15
0
-2
0
0
0
0
-34
0
0
0
0
0
0
56
0
0
3
0
0
0
-1
0
1
0
0
0
0
-6
0
0
0
0
0
0
-12
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
0
0
13
1
0
0
12
0
-1
0
0
0
0
-12
0
0
0
0
0
0
36
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
50
0
0
0
0
0
0
22
0
8
1
0
0
0
25
0
0
2
0
0
0
-10
0
8
0
0
0
0
29
0
0
-2
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-33
0
2
0
7
-1
0
2
6
5
0
40
3
0
0
0
0
0
58
0
0
0
-1
0
0
62
0
-9
-5
0
0
-6
-6
0
0
4
-1
0
-2
41
2
-24
29
0
0
0
78
0
-1
3
17
0
8
28
0
-55
-2
0
0
0
-61
-1
0
25
2
0
0
-49
0
-29
4
0
-1
0
-34
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-20
0
12
71
0
-14
4
-24
5
-32
64
24
-88
0
8
-17
37
-5
-7
-23
1
4
20
18
-3
-27
0
9
-28
26
-31
-44
2
29
-20
-6
-5
27
-12
-6
-2
91
-2
2
5
37
-6
0
-5
38
14
26
86
48
18
7
0
17
5
-9
7
-2
-6
9
-7
41
43
-7
47
2
-5
1
-30
5
-5
-1
0
11
-38
5
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
1
0
0
0
3
0
0
4
0
0
0
1
0
4
0
0
0
0
-3
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
6
0
0
0
0
48
0
0
0
0
0
0
23
0
0
0
0
0
0
42
0
1
-2
0
0
0
34
0
0
12
0
0
0
-16
0
0
5
-5
0
0
55
0
0
7
0
0
-3
31
0
5
0
0
0
4
12
0
0
0
0
0
0
-17
0
-2
0
0
1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
-7
30
-8
11
-1
47
0
5
0
-14
62
0
14
6
0
0
0
-1
0
51
12
-1
0
0
0
2
12
-1
8
5
0
0
34
-34
0
5
-18
-19
4
79
-36
0
25
41
9
-8
51
-6
3
17
-16
3
0
3
-43
0
-7
38
-1
0
-3
-7
0
-3
-4
-4
0
0
2
-3
26
0
0
-1
0
49
40
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
-1
-16
0
-1
0
-12
0
0
-2
0
-3
0
11
0
0
0
0
0
1
8
0
0
0
0
0
0
20
-2
45
-6
0
0
-5
64
5
2
0
0
0
5
66
0
27
52
0
0
0
46
0
0
2
0
0
-4
87
0
51
3
0
0
-8
-15
2
0
3
0
1
0
-16
0
25
0
0
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-5
0
0
0
7
0
0
8
0
0
0
68
0
0
0
0
0
0
12
0
0
0
0
0
0
58
0
0
0
0
0
1
6
0
0
0
0
0
0
41
0
0
0
0
0
-7
-38
0
0
-7
2
0
0
-3
0
-3
-6
0
0
0
6
0
0
0
0
0
0
16
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-1
0
-5
3
0
-35
-4
0
0
0
0
0
86
-1
0
0
0
0
0
19
0
-4
-6
0
0
0
-26
0
0
-2
0
0
-2
7
0
7
15
0
0
0
80
0
0
-4
0
0
0
-7
0
2
-7
13
0
0
73
0
-8
0
-4
0
0
57
0
-1
0
0
0
0
94
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-11
-25
-56
35
-27
4
-6
7
-48
22
25
-18
-49
40
-21
-19
27
23
31
1
31
-36
-16
36
-43
-13
55
-31
13
-9
-2
6
-31
1
49
-1
-53
42
9
8
5
-34
38
37
-3
5
24
31
145
25
-9
21
-4
-17
-16
40
0
-5
-65
23
-43
-1
-1
-32
-19
-26
-21
1
31
0
-44
-25
-23
28
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
5
0
0
0
0
-5
0
0
0
0
0
0
35
0
2
0
0
0
0
50
0
0
0
1
0
0
1
0
0
-2
0
0
0
5
0
0
0
0
0
0
-20
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
-2
0
1
-3
0
17
0
0
0
0
3
0
-17
0
0
-3
-7
0
3
-120
0
15
-5
0
0
-2
33
0
-3
-1
7
0
-1
25
0
-35
-8
0
0
16
35
0
31
-4
21
0
-3
-50
0
12
-3
-3
0
0
0
0
0
0
-3
0
0
-16
0
-2
0
0
0
0
49
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
23
0
8
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
17
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
5
0
3
0
0
17
0
0
0
0
0
0
-28
0
0
0
0
0
0
31
0
-1
-1
0
0
-1
72
0
1
0
-2
0
0
7
0
5
6
-3
0
0
-57
0
0
-6
0
0
0
-20
0
14
-6
0
0
2
-8
0
0
2
2
0
0
-59
0
8
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
40
0
0
0
0
0
0
66
0
0
0
0
0
0
-14
0
0
-1
0
0
0
51
0
0
-1
0
0
-4
30
0
0
-4
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
82
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
0
0
-25
-8
0
-35
12
13
-2
-9
0
-16
-33
31
14
47
5
-1
33
34
5
-35
15
51
-3
-7
21
13
12
9
23
0
11
-66
5
39
-16
-70
14
51
29
1
-28
-3
-8
-8
48
40
-1
-5
-16
-42
0
8
0
22
-1
-6
-2
0
0
23
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
71
0
2
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
-6
1
0
0
2
6
0
0
0
0
0
-1
5
0
0
5
0
0
0
76
0
0
0
4
0
0
-11
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-20
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
-20
0
0
0
0
0
0
53
0
2
0
0
-2
0
70
0
0
-4
-3
0
0
-38
0
9
15
0
0
-2
71
0
-2
4
2
0
0
-48
0
-5
1
0
0
-5
-7
0
2
0
0
0
0
26
1
-13
0
0
0
0
-16
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
7
1
0
0
0
0
0
40
0
-8
-4
0
0
0
-12
0
0
0
0
0
0
57
0
41
-1
0
0
0
61
0
0
0
0
0
0
39
0
47
-16
0
0
0
4
0
0
0
0
0
0
11
0
3
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
1
-2
0
0
34
0
2
2
0
0
5
10
0
0
-4
0
0
0
8
0
-25
-3
0
0
20
47
0
-6
-2
0
0
0
0
0
-17
57
0
0
2
17
0
0
3
0
0
0
8
0
7
0
0
0
0
-14
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
32
-38
34
-9
-19
0
-28
6
37
-10
-36
57
56
5
21
34
94
42
0
-15
-83
-21
-5
51
1
-1
-19
8
4
6
44
32
109
30
-56
-5
2
-14
-29
76
-45
26
6
30
-17
37
37
34
-8
-3
-19
6
12
4
-65
0
0
3
47
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
2
-2
0
0
0
-6
0
0
-12
0
0
8
9
0
0
0
0
0
-1
16
0
0
-8
0
0
10
7
0
-12
0
0
0
0
-21
0
0
0
0
0
0
-24
0
-2
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
4
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
-1
-12
0
0
0
-4
0
3
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
1
0
0
0
2
0
0
-5
0
0
0
13
0
-9
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
32
33
-3
-1
-19
31
-13
7
13
-16
6
3
-37
21
-3
-44
-16
-1
0
97
22
7
3
11
62
2
-44
-17
0
-32
11
-10
0
3
-10
0
2
23
22
6
-1
32
4
4
2
2
9
0
-9
-9
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-6
-1
0
0
0
13
0
0
-3
0
0
0
10
0
16
1
0
0
0
17
0
8
0
-1
0
0
28
0
0
0
0
0
0
-38
0
0
0
0
0
0
-43
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
-6
0
-1
0
0
0
-2
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
2
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
10
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
29
0
0
9
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
3
-7
0
-1
-28
0
-12
-1
0
0
0
6
0
0
-5
0
0
0
30
0
0
6
0
0
0
-12
0
0
2
0
0
0
-69
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-31
0
-18
-9
22
0
17
-3
4
-41
57
17
0
94
36
-1
36
41
17
-2
11
-4
-3
-10
1
-3
5
43
36
0
-22
12
-7
0
0
-12
1
51
-16
2
-8
-1
-5
-45
-1
2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
0
0
-4
0
0
0
-8
0
0
0
0
0
0
-23
0
0
-1
0
0
0
8
0
-14
0
0
0
0
10
0
0
-1
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-46
6
6
7
2
0
0
-16
4
38
-19
2
0
-17
-52
0
5
111
-17
0
-1
-16
0
61
9
8
0
-8
69
0
-5
7
0
-3
0
12
0
32
0
0
-5
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
0
0
-5
1
0
0
-20
0
14
-8
0
0
0
36
0
-7
9
4
0
0
28
0
7
1
0
0
0
29
0
0
0
0
0
0
80
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
-13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
7
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
54
0
-7
3
0
0
0
2
0
0
-1
0
0
0
15
0
2
-5
0
0
0
8
0
0
0
0
0
0
-12
0
4
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-31
-13
42
12
29
1
21
0
-4
42
50
-20
5
-49
41
-5
-118
-14
13
5
1
9
0
-38
68
37
8
7
44
-41
34
-2
1
-64
0
36
-44
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
6
-2
0
0
0
-1
0
0
6
0
0
0
41
0
0
3
0
0
0
15
0
0
0
0
0
0
-17
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
36
0
5
0
7
0
0
-12
0
0
-1
7
0
0
59
0
3
0
1
0
0
6
0
0
-7
0
0
0
27
0
1
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-47
1
1
5
-3
0
2
72
1
4
1
1
0
0
49
0
38
-9
-1
-3
0
41
2
0
-1
0
0
0
56
0
23
1
0
0
0
44
8
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
-4
7
0
0
-2
70
0
0
7
0
0
0
4
0
-2
-2
0
0
0
-56
0
0
-2
0
0
0
32
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
-5
0
0
-1
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
4
8
-1
0
-10
95
0
2
-1
0
0
0
85
0
-2
1
-4
0
0
16
0
7
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
-15
6
-50
-42
45
-5
-16
-23
25
13
49
16
7
17
-5
1
20
-21
52
-13
13
-5
-29
-27
-9
-4
-10
-2
33
-73
-24
-12
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
9
0
0
3
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
3
5
62
-15
0
0
56
0
8
-7
4
0
0
-39
0
0
-7
1
0
0
1
0
-18
-7
0
1
0
74
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
25
26
4
0
48
-2
21
0
0
0
5
49
0
-13
-3
0
0
0
35
0
26
0
0
8
0
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
8
0
0
0
-2
0
-1
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
1
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
-14
0
0
0
0
0
0
67
0
-29
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
40
-12
-46
60
0
0
-42
7
-5
-59
47
-19
29
0
9
0
22
-8
-12
-23
-3
-51
27
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
39
0
0
0
0
0
0
9
0
3
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
14
1
1
0
0
78
0
0
3
0
0
0
15
0
4
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
0
-9
0
9
0
-1
-18
0
-1
7
0
3
7
68
0
27
2
0
0
0
19
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
58
0
-8
-10
0
2
0
-34
0
3
-1
0
0
0
6
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
-4
0
0
0
-22
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-27
-1
-17
28
32
3
6
10
1
14
6
0
29
0
-19
-25
17
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
73
0
-1
-5
3
5
0
43
0
0
-1
0
6
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
68
0
5
0
2
0
0
-7
0
2
0
0
-4
0
-87
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
0
27
21
49
1
0
19
22
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
3
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
5
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
1
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
-3
2
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
16
2
0
-6
-134
-17
7
-2
-15
6
5
27
79
-29
9
1
-31
8
-36
-11
12
103
4
-76
7
6
95
81
-41
40
47
57
-6
20
3
2
38
12
2
7
-23
40
3
2
0
14
0
6
-23
0
0
0
36
0
4
0
-3
11
2
31
25
8
0
1
-1
4
17
-18
-37
-2
24
27
20
77
-87
-48
20
-3
-7
15
7
11
40
19
11
34
3
-17
30
45
22
-28
6
-10
-18
-26
14
20
-15
0
20
25
-4
-16
-10
-1
12
-49
2
0
-39
4
0
-13
-3
-65
-1
12
0
-47
4
1
-6
-42
-7
4
-4
-2
-3
25
2
-14
0
-18
19
13
-5
-35
1
-25
26
-7
-4
16
0
0
0
0
0
0
0
-46
-15
-7
3
-13
12
-5
31
30
-2
-1
-13
-4
19
-94
-36
6
21
83
-3
14
0
-11
2
-32
-1
70
-18
-3
-8
0
-7
-6
-12
23
14
12
-11
88
51
42
7
10
-5
-9
39
-8
-15
29
19
2
-35
20
22
-9
-21
40
-14
33
-43
1
42
66
-47
9
28
-4
3
90
61
30
-18
30
70
-36
-51
-35
35
-7
-25
22
3
-55
-33
5
-24
4
-7
4
-12
50
1
42
0
-5
15
-13
-2
-31
-19
42
-27
33
1
52
9
11
2
9
1
0
-3
31
-23
50
-50
-45
60
11
18
-12
-15
32
-29
-6
48
23
23
5
-25
-39
21
-16
50
-4
9
39
-12
80
22
-8
26
-5
-11
-22
60
6
0
-14
43
9
15
43
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
5
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-3
-8
0
0
0
0
0
0
3
0
0
-6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-6
0
5
-64
43
67
5
0
3
-2
2
-7
36
15
12
-1
58
11
13
3
-6
61
0
9
6
8
43
2
10
-3
13
-37
-8
14
-5
2
4
22
1
0
-21
0
5
-9
0
0
0
-5
0
65
43
-3
3
0
3
-34
-14
0
-1
-24
-21
45
-18
0
0
17
24
0
27
-15
48
3
10
29
42
27
25
-43
-4
12
-13
-9
22
-25
66
-17
-70
50
-5
-11
10
28
1
0
-32
13
77
-15
16
0
0
-42
-3
-25
0
-7
10
0
0
0
-6
0
9
12
0
8
1
0
-62
14
0
-1
-12
0
0
2
-37
1
0
-2
50
0
52
-21
-5
-14
22
6
1
0
0
0
0
0
0
0
37
18
5
33
19
9
-5
-40
-30
-2
20
-19
-19
2
-10
22
13
0
58
0
35
0
-27
31
-5
1
6
-8
0
-14
19
-4
4
5
-4
10
-29
0
-8
-6
15
-23
29
-16
-3
7
13
-2
26
21
-12
1
13
-55
111
-7
39
12
-6
-23
35
-4
-3
-48
-12
-16
-64
35
1
34
42
-8
21
60
49
-3
-11
8
28
-10
5
-43
-9
29
2
-31
4
-6
0
0
35
0
29
-3
-1
1
5
-1
2
31
-2
-14
1
1
-5
-35
-11
-4
19
10
67
-2
18
30
8
-33
82
2
4
48
7
4
34
-7
-52
8
-21
-8
0
17
-17
7
1
34
-3
15
71
-12
-19
10
-3
29
2
11
18
23
-27
0
2
-21
2
5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
82
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
1
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
19
0
3
0
0
0
0
6
0
0
-8
0
0
1
0
0
23
-2
0
0
8
1
0
0
12
0
0
0
0
0
0
0
0
0
-12
20
0
0
18
0
0
0
28
0
-25
0
0
0
0
-40
0
0
0
0
0
0
61
0
0
0
0
0
0
15
0
0
0
0
0
0
44
0
0
1
0
0
0
-12
0
0
7
0
0
0
17
0
0
12
0
0
0
24
0
0
-7
0
0
1
-50
0
0
2
0
0
0
-8
0
0
-2
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
1
0
0
0
0
-6
0
0
0
0
0
0
2
0
-1
0
0
0
0
50
0
-1
0
0
0
0
22
0
6
-3
0
0
0
21
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-41
0
0
-4
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
4
-1
0
0
-2
0
0
3
0
0
0
9
0
1
0
0
0
0
-8
0
0
-2
0
0
0
7
0
0
4
1
0
0
6
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
5
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
-25
-6
0
0
-3
19
0
0
2
0
0
0
0
0
0
0
0
0
-6
27
0
-1
11
0
0
0
-20
0
8
-3
0
0
3
-7
0
0
0
0
0
0
-12
1
2
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
-1
2
0
0
0
-8
0
2
-3
0
0
0
-14
0
0
-8
0
0
1
17
0
0
-1
2
0
0
0
0
0
0
0
0
0
22
0
0
0
-2
-4
0
-26
0
0
0
0
0
0
6
-1
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
4
0
0
0
23
-1
8
5
-1
0
0
-2
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-28
0
-3
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-23
0
0
0
0
0
5
0
0
3
0
0
0
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
-6
0
0
3
12
0
-16
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
-2
0
0
50
0
0
-16
0
0
0
21
0
1
3
0
0
0
-19
0
0
0
0
0
0
-13
0
0
0
0
0
0
47
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
-3
1
0
0
0
10
0
0
6
6
0
0
-9
0
4
0
0
0
0
0
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-15
-8
8
1
0
0
-1
0
0
-11
0
0
-6
0
0
0
10
0
0
0
1
0
-1
0
0
0
-8
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
9
0
14
1
0
0
0
0
0
-1
1
0
0
6
-1
0
28
3
-1
-2
-6
0
1
3
-8
0
0
24
0
0
-10
1
0
0
-10
0
0
0
14
0
0
1
0
33
0
0
0
0
0
0
0
0
34
0
0
0
-2
0
3
-2
0
0
0
0
0
1
-5
-3
31
0
2
0
-6
-24
0
3
6
0
0
0
0
0
0
0
0
0
-6
27
0
0
-13
0
0
-1
-53
0
31
1
3
0
0
41
0
0
0
0
2
0
-27
0
1
0
0
0
0
-53
0
0
0
0
0
-1
-2
0
0
-1
-1
-3
2
6
0
0
0
0
4
-13
16
0
-5
0
-10
7
-1
-16
4
0
0
-9
0
24
-1
0
0
7
3
-3
-1
112
0
0
-3
0
2
0
-8
-1
0
0
-1
-16
0
34
0
0
0
0
0
0
-15
0
0
0
0
0
0
-40
2
9
1
0
0
0
-9
0
0
3
0
0
0
6
0
43
4
0
0
0
14
-1
-16
8
0
0
3
-3
0
-50
1
0
0
1
-25
0
-5
4
0
0
0
-60
0
-11
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
42
0
0
0
1
0
0
3
0
0
0
-1
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
5
0
0
0
0
0
5
0
0
0
0
0
0
-67
0
0
3
0
0
0
0
0
-8
5
0
0
-3
42
0
0
-1
0
0
0
0
0
0
0
0
0
-2
8
0
0
8
0
0
0
15
0
-18
0
0
0
0
2
0
0
0
0
3
0
-44
0
0
0
0
0
0
67
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
-3
0
-3
0
44
0
0
1
0
0
-1
-26
0
0
-3
0
0
0
-17
0
0
0
0
0
0
-29
0
0
3
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
-3
0
0
0
34
0
0
-2
0
0
0
12
0
1
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
26
0
0
0
0
0
-1
0
0
-7
0
0
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-4
0
0
-3
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
-8
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
38
0
0
-5
0
0
0
-25
0
0
5
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
-4
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
0
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
28
0
0
-2
0
0
0
5
1
0
0
12
0
0
1
0
0
53
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
10
0
0
-3
10
-2
-5
-2
0
0
-46
1
-8
3
4
0
0
-27
0
33
6
-13
0
0
-24
-1
19
29
0
0
0
42
0
2
23
2
0
0
17
3
-2
0
1
0
0
1
2
-32
0
0
0
0
0
0
4
0
8
0
0
0
2
0
0
-6
0
0
3
0
0
6
23
-10
-21
-34
2
0
7
-55
0
-1
21
2
0
0
0
0
0
0
0
0
-9
73
0
0
-20
0
0
1
6
0
50
25
0
0
0
44
0
0
2
0
0
0
-4
4
0
0
0
0
0
2
2
0
0
0
0
3
-15
0
-2
-4
-2
0
0
61
0
0
-13
0
-6
-3
-23
-1
-6
41
13
1
12
-32
0
0
-11
-2
0
-5
-41
0
2
13
-6
-2
6
70
0
-1
0
0
0
0
22
0
0
0
1
6
0
70
0
0
0
0
0
0
18
0
1
0
-2
0
0
-1
0
7
1
0
0
3
16
0
5
8
-10
0
-2
20
0
-17
15
0
0
0
-22
0
0
0
-5
0
0
-22
0
-2
-5
-1
0
0
15
0
0
8
0
0
0
-30
0
-9
1
0
-9
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
-8
0
2
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
3
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
-1
1
0
0
0
0
0
-1
5
0
0
0
0
0
6
49
0
0
-3
0
0
0
12
0
0
0
0
0
0
40
0
0
1
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
1
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
3
-12
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
38
0
0
0
0
0
0
33
0
0
0
0
0
0
-39
0
0
1
0
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
-1
0
-8
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
-1
0
10
0
0
0
1
0
0
2
0
0
0
0
0
0
33
0
0
0
-13
0
0
-1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-27
0
0
0
0
0
-4
0
0
6
6
0
0
-3
23
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-7
0
3
18
0
0
0
24
0
1
-1
0
0
0
7
0
0
0
0
0
0
40
0
0
0
0
0
0
-9
0
0
0
0
0
0
29
0
0
-1
0
0
-1
3
0
0
0
0
0
4
-20
0
0
-2
0
0
-7
-2
0
0
5
0
0
0
-17
0
0
-3
0
0
0
25
0
1
0
0
0
0
65
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
2
0
0
0
0
-11
0
0
0
0
0
0
6
0
-8
0
0
0
0
-22
0
-5
-1
0
0
0
34
0
-2
0
0
0
0
3
0
0
0
0
0
0
-38
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
6
0
0
0
0
0
39
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
3
0
45
-2
0
0
6
0
0
1
1
0
0
59
3
0
-9
-7
0
0
4
-8
-5
4
0
8
0
0
0
0
9
0
0
2
8
0
0
0
1
0
0
0
0
-5
0
-1
-2
0
0
0
1
0
-19
-1
0
0
0
0
0
18
0
0
1
0
0
1
-29
-1
19
-17
-6
0
1
14
-2
3
38
-4
0
0
0
0
0
0
0
0
-7
16
0
2
-7
0
0
0
6
-1
-13
-13
0
0
0
66
2
0
0
0
-7
0
-10
0
1
0
0
0
0
64
-2
0
0
0
0
0
-75
-5
0
-4
0
0
-8
-11
0
-2
6
0
0
-2
-86
1
0
-8
0
0
0
-34
-1
0
-11
0
0
0
16
0
0
17
0
0
0
12
0
2
8
0
0
0
-25
-2
3
0
0
-2
0
-29
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-1
0
-11
0
0
0
0
-7
0
-2
-1
0
0
0
6
-1
-10
-4
0
0
-4
-51
3
0
-8
-9
0
6
-2
-2
5
-6
0
0
0
-39
0
-3
0
0
0
0
-35
0
-1
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
1
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-7
40
0
0
0
0
0
2
2
0
6
-8
0
0
4
-29
0
0
-2
0
0
0
0
0
0
0
0
0
-5
-32
0
0
0
0
0
3
-14
0
24
1
0
0
0
-20
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
1
0
-1
38
0
0
0
0
0
1
-4
0
1
-3
0
0
4
0
1
0
13
1
0
1
-5
0
0
-4
-5
0
0
-52
0
0
-1
0
0
0
-3
0
0
0
4
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
-1
0
0
0
0
2
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
-2
0
1
0
4
13
0
0
-10
0
0
0
-4
0
0
1
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
-6
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
3
0
0
0
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
1
0
0
0
7
0
0
0
0
0
0
4
0
0
4
0
0
0
-29
0
0
0
0
0
0
4
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-3
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
5
0
0
65
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
10
0
0
0
0
0
0
2
0
0
0
0
2
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
5
0
0
0
-1
18
0
0
8
0
0
0
0
0
0
0
0
0
-1
45
0
0
7
0
0
0
-15
0
-7
0
0
0
0
6
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
1
0
0
1
-6
0
0
-2
0
0
0
26
0
0
0
0
0
0
2
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
72
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
-5
0
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
45
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-6
8
0
0
0
0
-3
-9
0
0
0
0
0
0
-3
0
2
8
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
2
0
7
0
-1
0
-2
2
0
0
0
0
0
0
18
-2
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
-1
0
0
0
27
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
-1
0
0
0
12
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
-2
0
0
0
0
7
0
0
0
0
0
0
-20
0
1
-3
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
6
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
5
0
0
0
0
0
-3
0
0
0
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
7
0
0
0
16
0
5
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
0
0
3
-25
0
0
0
0
0
-5
-3
0
0
0
0
0
0
22
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
-16
0
0
8
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
54
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
0
-3
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
2
0
0
0
0
0
-2
0
0
0
0
0
5
0
0
-4
3
0
0
-9
27
0
0
9
0
0
0
0
0
0
0
0
0
14
-43
0
0
25
0
0
0
4
0
85
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
2
-12
0
0
0
0
0
0
48
0
0
-5
0
0
0
17
0
0
-5
0
0
0
49
0
-7
12
0
0
0
57
0
-1
0
0
0
0
-17
0
0
0
0
0
0
-39
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
39
0
0
0
0
0
0
58
0
0
-1
0
0
0
-20
0
0
4
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
58
2
-1
0
0
1
23
0
0
-6
0
0
-7
0
0
0
0
0
-5
-20
0
0
0
1
4
28
-2
0
28
35
-6
37
-9
0
0
41
0
1
-1
14
0
-9
-43
0
-26
22
-30
-4
6
34
-2
30
0
8
-5
-2
-20
0
16
0
-2
2
3
-19
-1
1
0
6
-1
0
-10
0
-5
0
-6
47
0
0
0
-3
0
7
-3
8
4
-1
0
-14
31
0
0
10
0
0
-14
38
8
-4
15
-15
0
-12
13
0
3
-9
0
1
0
0
0
0
0
0
0
-7
9
0
-5
53
0
0
0
17
0
-18
28
5
0
2
-33
0
0
10
-1
-7
0
17
-3
-19
0
0
0
0
-25
0
0
1
-4
2
0
-16
0
1
3
3
-5
2
12
-3
-5
6
0
14
-35
-16
0
4
4
71
1
22
0
-1
1
-13
1
-4
40
-20
-5
29
57
4
-12
-1
-23
-1
-1
14
0
-7
0
4
-12
3
6
-2
-17
0
18
12
4
0
4
3
0
-14
0
0
0
0
0
0
-20
0
55
-6
0
0
2
-41
5
0
-7
44
2
-2
7
1
-20
31
0
1
-21
28
-2
3
12
3
3
-5
-29
-2
-31
5
0
0
3
-48
4
-7
3
-1
0
0
-12
3
18
-1
0
-17
0
22
1
-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
-2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
2
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
6
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
-1
0
0
0
0
0
-17
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-36
0
0
0
0
0
0
25
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
0
0
0
0
0
0
40
0
0
-1
0
0
0
29
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
1
0
0
0
-2
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
55
0
-8
0
0
0
0
-14
0
0
0
0
0
0
-15
1
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
-3
0
0
-1
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
-1
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
22
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
3
0
0
-1
0
0
-8
-2
0
0
-4
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
27
0
0
0
0
0
0
18
0
0
0
0
0
0
-25
0
0
0
0
0
3
37
0
0
0
0
0
0
43
0
0
10
0
0
0
-44
0
0
-15
0
0
-3
11
0
0
-2
4
0
0
-38
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
3
0
0
0
0
21
0
0
0
0
0
0
9
0
5
0
0
0
0
18
0
3
-3
0
0
0
-14
0
1
0
0
0
0
-11
0
0
0
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
0
25
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
34
0
0
-1
0
0
0
0
0
6
8
0
0
-16
27
0
0
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
6
4
0
0
0
4
0
0
1
0
0
0
7
-1
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
-1
6
0
1
-44
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
6
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
75
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
10
2
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
-19
-2
0
0
-4
0
0
-4
0
0
12
5
0
0
-4
0
0
2
-1
0
0
-8
0
-4
5
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
33
0
0
0
0
8
0
0
0
0
0
0
0
0
-25
0
0
0
-2
0
3
-50
0
0
0
0
0
-8
0
0
-22
2
-1
0
5
-21
0
0
27
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
3
4
0
28
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-26
0
0
0
0
1
-4
96
-1
0
9
0
0
0
26
0
0
0
-6
0
-1
26
0
0
0
0
0
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
19
0
0
3
0
0
0
-17
0
-8
0
0
0
0
-13
0
-1
-2
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
12
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-2
0
0
0
0
0
0
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
8
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
0
-21
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
3
0
0
17
9
0
0
4
11
0
0
-10
0
0
0
0
0
0
0
0
0
0
10
0
0
-29
0
0
-5
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
-3
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
-1
0
0
10
-8
0
0
0
0
0
0
10
0
0
3
0
0
-1
-61
0
0
40
0
0
0
-7
0
1
-3
0
0
0
-16
0
4
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
-26
0
-3
-6
0
0
0
48
0
0
-5
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
1
0
0
0
8
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
4
0
0
0
0
0
3
-16
0
1
0
9
-64
-10
-1
0
-19
32
11
-14
31
0
4
-8
4
5
34
1
12
8
11
-24
47
-24
-30
-2
2
-47
-18
14
-47
50
18
22
-33
1
-8
33
-16
0
0
2
-7
41
19
23
0
0
5
24
50
-8
19
-2
0
-2
1
-6
0
-8
-9
7
21
-2
0
58
-9
0
0
-1
2
0
-32
35
0
48
-6
-5
-6
-17
-10
-29
0
-20
8
5
0
0
0
0
0
0
0
-46
-14
7
18
8
15
0
2
-15
-2
-10
12
55
1
-17
13
0
-1
-52
-2
-52
2
-10
7
-3
0
-10
-2
0
14
52
0
0
15
13
-1
-12
13
15
-4
14
4
-52
19
0
-13
0
3
19
-28
7
38
3
25
21
4
17
-25
55
-51
-13
22
-37
3
-10
-13
31
65
-19
24
37
26
5
37
-24
-7
33
-3
-47
28
-21
-26
3
-65
0
19
2
-21
-1
3
26
0
5
-17
-2
8
1
-2
3
0
5
-31
44
-1
14
47
8
1
-9
-12
23
0
5
-4
-19
24
-6
22
7
-44
-45
-4
23
20
54
0
6
0
-2
-27
10
-1
-14
-3
65
1
-26
95
-8
-9
-4
-14
6
-8
-25
4
-16
0
31
-14
-5
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
-3
-3
-4
0
0
0
0
0
2
0
0
-8
-1
0
-2
0
0
0
-8
0
0
-15
0
0
-4
-2
0
0
55
0
0
0
0
0
0
7
0
0
-3
14
0
0
-6
0
0
-8
31
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-8
-2
-4
0
4
0
0
-38
0
0
4
0
0
-3
-4
0
-40
25
5
0
-38
53
0
0
64
0
0
0
0
0
0
0
0
0
4
38
0
-5
1
0
0
18
-12
0
-38
-6
0
0
0
0
3
0
-1
0
0
0
22
0
-9
0
1
0
0
-18
0
0
0
0
0
-10
55
0
0
-7
-3
0
35
-31
0
0
-7
0
0
7
14
0
-5
25
0
0
-1
50
0
0
24
0
0
1
17
0
7
-4
10
0
2
10
0
0
16
0
0
-6
-6
3
2
0
0
0
0
28
0
1
0
0
0
0
-31
0
0
0
0
0
0
23
0
0
0
0
0
-6
51
0
6
-7
0
0
-3
-12
0
27
-3
0
0
0
-10
0
25
-26
3
0
0
9
0
31
1
0
0
0
-32
0
-2
-3
0
0
0
14
0
47
0
0
0
0
-65
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
15
-2
8
6
86
-37
-70
0
1
17
-20
8
4
26
0
31
-29
-2
-4
8
-14
29
-62
-7
8
71
6
5
28
-17
1
-18
10
10
-2
99
-27
-42
-40
2
11
-96
-5
-5
-33
-17
25
-26
-22
-4
-1
-17
3
6
-6
-44
1
0
-7
20
-4
0
-6
0
-5
59
-3
1
-39
-11
4
-5
50
1
-9
-43
-1
-5
-3
-9
1
22
-5
17
-20
-3
24
-52
-1
0
0
0
0
0
0
0
38
-2
8
46
-2
-35
0
59
-11
-7
-25
-4
-5
47
-26
-12
28
3
-12
12
-70
0
5
-2
-25
1
1
0
-4
12
54
0
16
33
16
18
-10
40
143
-36
-1
24
-10
-4
-23
-30
26
3
-5
-18
-16
30
46
-30
1
-24
-11
-17
29
30
-2
14
-22
36
-11
-7
21
-13
5
57
34
21
24
81
-17
-23
11
-17
-17
97
32
22
-55
49
2
-16
0
-31
0
-52
26
0
28
-30
8
24
-52
-2
60
-1
75
-24
69
21
76
-64
1
0
2
17
-7
4
-29
-16
-25
-40
5
55
26
40
-26
40
56
-3
39
46
-13
8
23
65
-56
-5
-54
-61
-6
-32
-72
-20
133
-10
-2
-23
25
-24
-17
49
-10
-1
19
0
74
-8
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
25
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
-15
0
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
0
29
-4
0
0
0
0
0
0
0
0
0
0
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-60
0
0
1
0
0
0
-64
0
0
2
0
0
0
36
0
0
0
0
0
0
14
0
0
-4
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
6
0
0
0
0
26
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
-6
1
0
0
2
0
0
-1
2
0
2
0
-1
0
23
0
0
0
21
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
1
-3
0
2
0
0
0
0
0
0
2
10
0
0
2
0
0
-16
0
2
0
0
0
0
16
0
0
-3
0
0
1
0
0
-6
0
0
0
9
40
0
0
-8
0
0
0
0
0
0
0
0
0
1
1
0
3
-3
3
0
0
-9
0
-11
5
0
0
3
6
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
1
0
0
0
0
0
0
-18
0
1
-2
-1
0
-12
-5
0
0
-1
0
0
-5
27
0
2
-1
12
0
15
6
0
0
0
0
0
0
-56
0
0
7
0
0
0
-38
0
0
-1
0
0
0
18
0
0
0
0
0
0
17
-1
0
0
0
0
0
32
0
0
0
0
0
0
2
0
2
0
0
0
0
50
0
0
0
0
0
-1
-13
0
12
-3
0
0
-1
0
0
4
5
-3
0
0
30
0
2
2
5
0
0
-8
0
0
0
0
0
0
-35
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
4
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
-1
0
0
1
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
8
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
-1
0
0
-6
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-6
0
0
-4
0
0
5
5
0
0
-6
0
0
-8
2
0
0
-9
0
0
42
0
0
0
0
0
0
-5
0
0
0
-4
0
-7
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
9
0
0
2
0
0
0
0
0
56
3
0
0
-2
-31
0
0
14
0
0
0
0
0
0
0
0
0
-5
-21
0
0
12
0
0
0
16
0
31
-5
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
36
2
0
0
0
0
0
29
0
0
1
0
0
0
-47
0
0
9
0
0
0
-9
0
-1
-7
0
0
0
-4
0
0
13
0
0
0
-6
0
0
-6
0
0
0
-21
0
0
1
0
1
0
-8
0
0
0
0
1
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
-7
0
0
0
-44
0
-1
0
0
0
0
-10
0
0
-1
0
0
0
19
0
1
3
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
-2
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
2
0
0
-6
0
0
0
6
0
-6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
-22
-6
0
0
-17
35
0
0
1
0
0
0
0
0
0
0
0
0
-4
55
0
0
-12
0
0
0
-5
0
122
0
0
0
0
14
0
0
0
0
1
0
13
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
2
-58
0
0
2
0
0
-2
-29
0
0
2
0
0
8
-43
0
0
-6
0
0
0
39
0
0
2
0
0
0
-21
0
0
0
0
0
0
-30
5
0
0
0
1
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
2
1
0
0
0
-11
0
3
-2
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
-2
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
50
-1
0
0
0
0
0
-29
-19
0
5
13
0
0
-27
0
-6
0
53
0
2
27
-4
0
0
4
-2
0
0
-5
0
0
2
-5
26
0
0
11
0
0
-1
3
0
15
-3
0
0
0
0
-1
-4
0
0
0
0
0
-17
2
0
31
-1
3
0
52
13
0
1
-6
1
0
0
0
0
0
0
0
0
-4
-18
0
0
-30
-2
0
-4
-2
0
-21
-4
-1
0
-4
-70
0
1
7
-3
3
0
24
-9
-2
0
0
0
0
-32
0
0
0
1
0
0
-25
-1
0
-2
0
0
-1
26
0
-1
0
0
-1
1
28
0
-5
0
-3
0
-1
33
1
-5
2
9
4
16
-29
0
4
13
0
3
0
-26
2
-1
17
0
-2
0
-7
0
1
-1
0
-58
0
-3
0
0
0
1
1
0
42
0
0
0
0
0
0
23
0
1
0
0
0
0
15
0
1
1
0
0
-2
20
0
19
1
-2
0
-3
-84
-1
6
1
-3
0
0
-10
0
14
-5
0
0
0
18
0
-4
-8
1
2
0
-28
0
5
-6
0
1
0
-78
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
2
0
0
-4
0
0
0
-24
0
-9
14
2
0
0
1
0
2
-2
3
0
1
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
25
0
0
0
0
0
0
0
0
7
0
-2
0
0
0
1
-51
0
0
0
0
0
4
-10
0
66
-7
0
0
-12
-10
0
0
57
0
0
0
0
0
0
0
0
0
0
-3
0
2
-10
0
0
0
-3
0
-9
4
0
0
0
39
0
0
-1
0
-1
0
42
-1
-2
0
0
0
0
46
-6
0
0
0
0
0
65
0
0
0
0
0
-3
-39
0
0
-2
0
0
3
19
0
0
-4
0
0
0
18
0
-2
7
0
0
5
6
0
0
-8
0
-2
0
-7
0
0
1
0
-18
0
38
0
0
-1
0
4
0
-46
0
0
0
0
0
0
-50
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
5
0
0
0
-19
0
-6
0
0
0
0
-9
0
0
-3
0
0
3
34
0
-1
1
0
0
0
37
0
0
2
0
0
0
8
0
-3
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
15
0
0
0
0
0
-4
0
0
4
0
-40
0
-3
-32
0
0
14
0
0
0
0
0
0
0
0
0
0
-9
0
0
-6
0
0
0
26
0
9
-1
0
0
0
-67
0
0
0
0
0
0
-35
1
0
0
0
0
0
21
0
0
0
0
0
0
11
0
0
0
0
0
-1
4
0
0
0
0
0
0
38
0
0
-31
0
0
0
18
0
0
-1
0
0
1
14
0
0
-2
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
0
-4
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-16
0
-23
-108
12
43
-11
8
5
-10
-50
-1
-22
-2
30
-19
5
26
-8
11
-10
7
0
0
-15
0
-4
8
15
6
0
6
-12
13
-7
5
24
0
0
-6
25
0
6
18
-15
0
-4
0
0
19
0
-5
21
-5
1
-1
-34
2
-9
-1
40
0
-4
-24
-1
-12
11
7
0
0
0
0
0
0
0
0
-9
7
-2
0
38
24
-1
-54
-3
-2
-35
-18
25
-2
-39
-37
-2
1
7
-4
10
0
-13
16
-26
1
-2
-7
0
0
18
0
5
1
-1
0
119
-5
-1
-23
-5
7
26
-13
-3
3
1
0
-4
1
7
-7
-4
32
-4
-2
-46
-12
11
23
-36
-31
30
72
-3
7
-13
6
15
17
-3
-20
25
-10
4
-3
-70
2
-19
-5
-25
104
-27
-48
0
6
-3
-3
1
13
13
0
4
3
0
0
-1
0
0
-4
2
-45
-22
0
3
3
-43
-3
8
22
50
-3
18
15
0
-10
54
4
0
43
-46
-5
-34
62
-37
19
-25
-42
-2
-18
55
6
-5
-25
16
-2
-24
-71
23
-1
0
44
0
-104
-13
-3
-42
0
77
-12
-5
5
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
25
1
0
0
2
0
-2
-4
0
0
0
-3
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
21
0
0
0
0
0
-3
0
0
-33
0
-2
0
-6
-48
0
0
9
0
0
0
0
0
0
0
0
0
0
-13
0
0
24
0
0
0
25
0
5
1
0
0
0
9
0
0
4
0
0
0
28
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
4
0
0
9
0
0
0
-3
0
0
0
2
0
0
-1
12
0
0
-22
0
-2
-6
0
0
0
-3
0
0
-8
1
0
0
4
0
0
0
0
0
0
7
-1
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
-4
0
0
0
16
0
0
-1
1
0
0
-27
0
0
-1
0
0
0
2
0
0
-6
0
0
0
21
0
2
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
5
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
23
1
0
0
-1
0
0
2
7
0
0
8
0
0
-9
3
0
0
5
-3
0
0
0
0
0
0
0
-17
0
0
4
0
0
0
-2
0
13
-5
0
0
0
0
0
-50
0
0
0
0
0
-1
0
0
17
2
5
0
-1
-40
0
0
14
0
0
0
0
0
0
0
0
0
7
-5
0
0
12
0
0
5
-43
0
-4
-2
-2
0
0
-40
0
0
0
0
0
0
-30
-2
0
0
0
0
0
37
0
0
0
0
0
2
12
0
0
0
0
1
0
-1
0
0
0
0
0
-3
59
0
0
-3
1
0
-1
-40
0
0
-4
0
0
0
-12
0
3
0
0
0
0
50
0
0
-1
-1
0
0
-16
0
-1
6
0
-1
0
24
0
0
0
0
0
0
10
1
0
0
0
0
0
14
0
-2
0
0
0
0
-67
0
0
0
0
0
2
1
0
0
-8
0
0
0
-29
0
0
-1
4
0
0
-11
0
5
0
0
0
0
18
0
3
0
-2
0
0
-24
0
-1
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
50
0
0
0
0
0
-1
-1
0
-5
0
0
0
15
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
14
0
2
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
27
0
0
0
0
0
0
49
0
0
0
0
0
-5
23
0
0
-1
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
5
-11
0
13
12
4
-2
-2
-6
4
-5
25
0
0
0
-16
0
8
0
1
0
0
0
0
-9
0
0
0
0
0
0
5
0
25
0
-8
0
1
0
0
14
0
0
0
0
0
5
-26
0
-45
27
6
0
26
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
38
37
0
14
39
0
0
3
-1
0
-87
-1
0
0
0
-49
2
0
3
0
-3
0
-13
-25
0
0
0
0
0
-53
6
0
0
0
0
1
25
0
-1
6
0
2
0
-22
0
0
9
0
0
12
30
1
0
17
-1
0
-13
18
0
3
30
0
0
6
46
-2
0
9
0
0
0
108
0
0
10
-3
0
0
4
0
-1
-1
0
-6
0
30
0
0
0
0
0
0
-24
0
0
0
0
0
0
-23
-2
-7
3
0
0
0
21
0
0
2
0
0
0
17
0
44
-6
0
0
-2
-55
7
1
25
6
0
0
41
0
-2
-5
-5
0
0
39
0
2
-1
3
0
0
12
2
34
3
0
4
0
-49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
2
-1
0
-1
2
0
0
1
0
0
0
-14
0
0
-3
2
0
0
0
0
3
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-9
0
0
0
0
0
2
3
0
-7
0
0
0
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
32
0
0
5
-5
0
5
-6
0
0
0
-30
0
0
0
0
0
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
1
0
0
0
6
0
0
2
0
0
-3
0
0
0
0
-8
0
1
-32
0
0
16
0
0
0
46
0
0
-1
0
0
0
25
0
0
-1
0
0
0
6
8
0
0
0
0
0
6
0
0
0
0
0
0
0
7
0
0
0
0
0
-20
0
1
0
0
0
0
-5
0
0
0
0
0
2
0
0
-4
0
0
0
0
20
0
0
0
1
0
0
-23
0
0
0
0
0
0
9
0
0
1
0
0
0
-1
0
-2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
-5
0
-5
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
107
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-4
-1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
8
0
0
0
-10
0
8
1
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
4
0
0
0
-23
0
0
0
0
0
-2
40
0
0
-1
0
0
0
34
0
0
0
0
0
0
-25
0
0
-4
0
0
0
12
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-9
2
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-2
0
-6
0
0
64
-3
0
16
6
8
0
32
0
0
0
19
0
0
0
-5
0
0
-5
-1
1
0
0
-3
0
0
0
0
0
37
7
-1
0
0
0
0
-16
0
0
0
0
0
3
72
0
28
0
1
0
-21
-39
0
0
-23
0
0
0
0
0
0
0
0
0
47
61
0
-2
3
0
0
3
37
0
8
1
0
0
0
36
0
0
-1
0
0
0
-6
6
2
0
0
0
0
35
3
-3
0
0
0
-3
58
-1
-3
4
-5
-2
-32
-1
0
-1
8
0
0
-2
-38
-5
1
-7
-5
0
-15
-16
-2
0
34
0
0
-9
35
0
-1
-13
2
-1
-2
18
0
1
15
0
0
0
31
1
0
0
0
-3
0
19
0
0
0
0
0
0
-34
-5
0
0
3
0
0
-34
0
-9
0
0
0
0
-42
0
0
-5
0
0
0
-11
0
5
-4
1
0
-1
27
8
0
-2
-1
0
1
6
0
30
4
-2
0
3
86
2
0
-5
0
-2
0
-61
0
25
0
0
2
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-1
0
0
3
-1
0
0
8
0
0
3
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
1
0
0
0
-5
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
8
0
0
-8
-5
0
0
-1
17
0
0
13
0
0
0
0
0
0
0
0
0
2
25
0
0
21
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
36
1
0
0
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
0
0
0
50
0
0
1
0
1
1
-58
0
0
2
0
0
0
34
0
0
4
0
0
-4
-55
0
0
0
0
0
0
53
0
0
1
0
0
0
49
0
0
0
0
0
0
-55
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
65
0
2
-1
0
0
0
87
0
0
5
0
0
0
70
0
4
-1
0
0
0
-1
0
0
2
0
0
0
-4
0
6
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
8
0
0
0
0
0
54
0
0
0
0
0
0
1
0
23
0
5
0
1
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
14
0
0
-6
-4
0
-2
-2
0
0
0
32
0
0
0
0
0
0
25
7
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
-2
12
0
0
0
0
0
3
14
0
0
-5
0
0
6
59
0
0
11
0
0
-1
-55
0
1
0
0
0
0
11
0
0
4
0
0
0
17
0
0
2
0
0
0
-35
6
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
1
0
0
0
0
-1
0
0
0
0
0
0
-17
0
-1
0
0
0
1
-30
0
0
-7
0
0
3
24
0
0
1
0
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-25
3
2
-49
0
7
56
-29
-3
1
-2
4
2
0
-13
0
0
-3
-1
11
0
3
42
0
0
-2
4
0
22
-22
43
18
-1
0
4
-4
0
0
-3
0
0
15
10
-1
4
-31
-6
2
38
2
1
4
40
0
-1
0
0
0
0
0
0
0
44
-35
-2
-16
7
3
0
-7
-1
0
-43
12
10
4
0
-4
8
0
-5
3
9
0
7
-41
-6
0
-12
0
0
30
-8
0
0
0
1
-17
22
0
-5
-20
-5
-3
29
7
0
0
-18
0
12
4
0
27
23
29
-35
1
-18
-7
5
8
77
-5
-3
-10
2
-3
-11
49
-34
17
1
27
0
-11
49
4
1
0
24
-4
1
28
1
22
0
-1
-2
-2
0
0
-2
0
-68
-17
0
0
0
0
0
-22
3
23
-1
0
0
-13
-29
1
-14
0
3
0
-2
-14
10
41
5
-4
0
-1
-45
-1
6
17
8
0
5
11
-1
-15
-66
3
-3
1
-13
0
-2
-1
-6
0
-5
-75
-7
75
-2
0
-26
0
25
12
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
1
5
0
0
0
-4
0
1
0
-1
0
0
4
0
3
0
0
3
0
0
0
-2
0
-2
0
0
0
-2
0
0
75
0
0
-1
0
0
8
-3
0
-66
-5
-3
0
26
-19
0
0
49
0
0
0
0
0
0
0
0
0
1
0
0
2
-28
-3
0
2
17
0
-5
-23
0
0
0
48
0
0
0
0
0
0
-13
0
0
0
0
0
0
36
0
0
0
0
0
0
26
0
0
0
0
0
5
43
0
0
3
0
-4
2
-9
0
0
6
3
0
-8
0
-1
0
-8
-1
0
1
1
0
3
-1
3
0
2
-1
0
-1
4
0
0
0
-60
0
0
0
0
-1
0
14
0
3
0
0
0
0
22
0
0
0
0
0
0
-1
0
8
0
0
0
0
-59
0
0
-3
0
0
1
-13
0
22
3
0
0
4
0
0
0
2
8
0
-4
-2
3
-9
5
0
0
-3
-5
0
-2
0
7
0
0
35
0
-4
0
1
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
3
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
49
0
0
3
0
0
0
-5
0
7
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
2
7
0
0
0
0
0
1
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
19
0
0
0
0
0
0
23
0
0
0
0
0
5
0
0
1
1
0
0
0
-4
0
0
2
0
0
0
0
0
0
0
0
0
2
16
0
0
-3
0
0
-6
-4
0
13
3
0
0
0
-1
0
0
0
0
0
0
26
-2
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
7
0
0
0
11
0
0
0
0
0
0
40
0
0
0
0
0
2
32
0
0
-4
0
0
0
-7
0
0
-1
1
0
-2
10
0
0
3
0
0
0
43
0
0
0
0
0
0
59
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
-1
-13
0
7
72
2
0
0
-5
0
-3
0
2
0
0
0
7
-7
0
0
2
0
0
-8
1
0
-7
9
1
0
0
0
3
22
0
0
-1
0
0
42
41
0
7
7
-1
0
-6
22
0
-1
-12
0
0
0
0
0
0
0
0
0
27
-40
-3
0
57
1
0
4
-16
0
24
5
0
0
5
25
4
0
0
0
-4
0
-3
-1
2
0
0
0
0
-21
-5
0
2
0
0
0
-50
0
0
1
0
0
-7
33
0
-5
-1
0
-4
0
81
-1
-4
-26
2
3
19
-19
0
0
3
1
0
-13
29
0
-1
8
-2
0
-1
-22
0
6
-2
0
0
0
-40
0
-1
0
1
2
0
34
-1
0
0
0
0
0
75
0
0
0
0
0
0
-22
0
12
0
0
0
0
-43
0
-3
0
-6
0
-6
-40
0
-43
-3
0
0
2
37
0
0
41
0
0
0
-19
0
43
-2
-5
0
2
11
0
0
6
4
0
-1
10
-2
1
0
9
0
0
8
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
4
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
-26
11
0
0
8
0
0
0
0
0
0
0
0
0
-2
-51
0
0
19
0
0
0
-5
0
2
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-13
0
0
0
0
0
-9
0
0
0
0
0
0
7
-7
0
0
8
-1
0
0
21
0
0
38
0
0
0
24
0
0
4
-2
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
43
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
17
0
0
0
0
0
1
27
0
0
0
0
0
0
-19
0
0
1
0
0
0
59
0
13
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
-45
-1
0
0
0
0
0
-6
0
0
-5
0
0
-16
24
0
-9
22
0
0
56
-20
0
1
-14
0
0
0
0
0
0
0
0
0
-5
12
0
-3
-43
0
0
-2
14
0
3
51
-4
0
0
10
0
0
0
0
0
0
72
-1
0
0
0
0
0
19
0
-1
0
0
0
0
28
0
1
1
-5
3
1
-4
0
0
17
0
3
0
48
3
0
24
15
-8
5
47
1
0
55
0
-1
0
39
0
0
59
10
0
0
-40
0
-1
35
2
0
0
27
-2
0
-5
6
10
0
38
0
0
0
0
0
0
-46
-5
0
0
0
0
0
38
0
13
2
0
-2
0
-7
0
0
1
0
-1
0
-42
0
30
-20
0
0
1
-35
0
0
3
8
0
9
-18
0
31
50
0
0
-1
52
0
1
-1
0
0
0
-18
2
-9
0
0
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
44
1
0
0
4
18
0
0
7
0
0
0
0
0
0
0
0
0
-7
0
0
0
-8
0
0
0
-30
0
-7
0
0
0
0
7
0
0
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
2
0
0
1
-20
0
0
-8
0
0
0
-19
0
0
5
-6
0
0
45
0
0
4
0
0
0
0
0
0
3
0
0
0
-29
0
0
0
0
0
0
-5
0
0
3
0
0
0
9
0
0
0
0
0
0
20
3
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
0
0
0
45
0
0
-2
0
0
0
16
0
0
0
0
0
0
0
0
-1
4
0
0
0
-16
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
-1
0
1
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
1
0
0
0
6
0
0
0
1
0
0
-19
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
22
0
0
0
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
0
0
4
0
0
-1
-24
0
1
4
0
0
1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-65
0
0
0
0
0
0
-4
0
0
0
0
0
0
46
0
0
5
0
0
4
2
0
0
0
3
0
0
5
0
0
-3
0
0
1
37
0
0
1
0
0
0
15
0
0
-1
0
0
0
-2
0
0
0
0
1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
2
0
0
0
-2
0
0
0
0
0
-30
0
-2
3
0
0
0
-7
0
-18
5
0
0
-3
0
6
11
0
0
0
0
0
-6
2
-1
49
-32
-1
0
-50
74
-2
1
24
0
0
0
0
0
0
0
0
0
66
-31
0
0
-1
0
0
0
118
0
8
0
1
0
1
-4
0
0
0
0
0
0
21
-1
2
0
5
0
0
12
-1
0
0
0
0
0
-72
0
0
-1
0
0
10
9
0
0
-2
0
9
38
-49
1
0
-3
4
0
27
34
0
0
-12
0
0
17
102
0
-1
2
0
0
0
1
0
2
-5
0
-3
0
-26
0
0
0
0
-9
0
-7
0
0
0
0
1
0
37
0
0
0
0
0
2
40
0
-4
0
0
0
0
39
0
0
-2
0
0
0
30
0
13
2
0
0
-7
-42
-3
-5
-10
-5
0
-1
-45
0
42
-10
0
-3
0
-92
0
-5
0
5
0
0
2
0
-5
0
0
-9
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
0
3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
-1
0
0
1
-5
0
21
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
-1
0
0
0
-8
0
0
0
0
0
-3
2
0
0
0
0
0
1
7
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-32
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-22
0
6
0
0
0
0
-8
0
0
-2
0
0
0
-5
0
-1
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
1
0
0
37
-2
0
0
33
19
0
1
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
-2
0
0
0
17
0
-8
-1
0
0
0
7
0
0
0
0
0
0
-56
-1
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
-6
0
0
4
3
0
0
6
0
0
0
46
0
0
-4
5
0
-19
58
0
0
4
0
0
0
-20
0
0
19
0
0
0
25
0
0
0
0
0
0
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
-7
1
0
0
0
-33
0
0
0
1
0
0
52
0
0
0
0
0
0
-9
0
0
0
0
0
0
46
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
37
-3
-13
0
0
-7
0
0
0
0
0
-2
3
0
0
-4
0
-3
3
0
0
17
0
0
72
-22
0
18
6
31
0
-15
-4
0
1
1
3
0
0
0
0
0
0
0
0
-2
12
0
-1
44
-9
0
0
-27
0
13
19
0
0
0
21
0
0
16
1
-2
0
29
3
-5
0
0
0
0
1
0
0
0
0
0
0
-30
0
1
4
-5
-17
3
5
0
1
-53
0
-23
0
-36
0
-3
43
-8
-1
5
31
0
-4
-34
-9
-1
0
33
0
-23
-10
0
2
-8
-20
0
14
-5
0
6
0
-35
0
0
-12
1
23
0
-13
1
0
0
0
9
0
27
0
0
0
0
0
0
20
0
-31
1
0
-2
1
-43
0
0
7
0
0
-4
56
0
-11
3
4
-1
0
-42
4
4
15
3
-1
0
26
0
49
0
0
0
0
5
3
-9
-40
1
0
0
-61
0
-20
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
13
0
0
0
6
0
2
8
0
0
0
0
0
0
0
0
0
0
49
0
0
-7
0
0
1
0
0
8
0
0
0
0
3
0
0
0
0
0
0
-19
2
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
4
-36
0
0
0
0
0
1
-13
0
0
0
-5
0
0
30
0
0
5
0
0
0
53
0
1
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
-10
0
0
0
-4
0
-4
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
2
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-22
-1
0
1
1
-8
-3
-1
2
0
0
0
0
0
8
0
2
0
-6
0
-13
-53
0
0
-5
0
0
7
-11
0
54
24
1
0
-48
56
-3
0
-6
0
0
0
0
0
0
0
0
0
16
-65
0
0
-16
0
0
-6
-30
0
17
3
4
0
1
-36
0
0
0
-5
1
0
15
-7
0
0
0
0
0
8
0
0
1
0
0
0
40
0
1
0
0
0
6
32
0
-5
1
0
-2
-42
37
0
3
-20
14
0
6
-67
8
-1
-39
0
-4
25
18
-5
2
1
5
0
0
-43
-1
2
2
0
0
-1
-17
3
-5
-1
0
-3
0
-17
3
0
0
0
0
0
-58
0
0
0
0
0
0
9
0
18
0
0
1
0
33
0
0
0
0
0
-4
-43
0
-2
3
0
2
1
-54
0
1
5
9
0
0
50
0
-3
2
0
-6
0
58
0
0
0
1
0
0
66
0
18
8
0
0
0
50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
1
0
7
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-37
0
0
0
0
0
-5
0
0
5
4
0
0
-2
-5
0
0
13
0
0
0
0
0
0
0
0
0
-4
78
0
0
-5
0
0
9
-6
0
-30
0
0
0
0
-9
0
0
0
0
0
0
-10
1
0
0
0
0
0
-19
0
0
0
0
0
0
25
0
0
0
0
0
0
-15
0
0
0
0
0
0
15
0
0
4
0
0
0
-5
0
0
-5
0
0
0
81
0
0
-14
0
0
2
13
0
0
3
0
0
0
19
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
-3
0
0
0
0
28
0
0
1
0
0
0
-10
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
1
0
0
-3
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-21
5
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
45
0
0
-5
0
0
0
-21
0
0
2
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
1
12
0
0
0
0
0
-13
6
0
-23
-2
0
0
-1
32
0
0
8
0
0
0
0
0
0
0
0
0
0
-59
0
0
27
0
0
6
-34
0
-5
4
0
0
-1
0
0
0
1
-2
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
37
0
0
0
0
3
0
-23
0
0
2
0
0
-1
-21
0
0
3
2
1
5
-24
2
0
-2
5
0
-9
75
0
-1
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
10
0
0
0
0
-34
0
0
0
0
0
0
-7
0
0
0
0
0
-4
-2
0
0
0
0
0
2
-8
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-41
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-18
0
-1
0
0
0
0
6
0
0
0
0
0
0
47
0
0
0
0
0
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
4
-2
-2
0
0
2
-4
0
1
9
0
0
0
0
0
0
-24
0
3
-2
0
0
0
-50
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
8
0
0
0
-5
-3
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
7
0
0
0
0
0
1
0
0
2
2
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
-2
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
2
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
19
-6
-6
-3
-7
0
25
14
0
-2
14
1
0
-41
-5
0
-35
29
-9
0
54
-10
0
-8
-51
0
0
0
0
0
0
0
0
0
27
-37
0
0
4
0
0
-14
-1
0
12
33
28
0
-2
9
0
0
0
-3
0
0
34
0
-4
0
0
0
0
6
0
0
0
-1
0
8
-2
0
8
27
11
0
-13
2
0
0
37
-2
0
39
35
0
-3
-1
46
0
80
-13
-3
1
-33
1
0
2
5
0
13
42
21
0
-18
24
-2
3
8
0
0
0
-7
-4
-2
-26
-6
0
0
5
0
0
0
-3
0
0
-36
2
0
0
0
0
0
-36
-1
15
7
-5
0
1
18
0
2
31
-2
0
7
35
0
27
16
0
0
-3
8
-6
-3
-50
9
0
0
-70
0
68
28
0
0
6
-20
3
0
-8
7
0
0
10
0
18
1
1
0
0
55
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
-1
0
0
0
-1
0
0
0
-9
0
0
3
0
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
-5
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
0
0
0
0
0
-22
0
0
0
0
0
14
2
0
-4
6
-1
0
-29
2
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
1
0
0
28
0
0
0
2
0
-10
0
0
0
0
14
0
0
-1
0
1
0
-15
0
-6
0
0
0
0
2
0
0
0
1
0
0
10
0
0
-2
1
0
0
8
0
0
4
0
0
0
1
0
0
-1
1
0
0
-12
2
0
-6
0
0
1
-18
0
0
2
0
0
0
16
0
0
0
0
0
0
-24
0
0
-4
0
0
0
-68
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
1
0
0
0
18
0
0
-1
0
0
0
9
0
1
-5
0
0
0
-42
0
0
-4
0
0
0
-5
0
-2
-2
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
0
0
0
0
0
0
5
0
3
4
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
0
0
0
0
0
-14
0
0
0
0
0
-2
0
0
-7
-7
1
0
3
20
0
0
1
0
0
0
0
0
0
0
0
0
2
58
0
0
1
0
0
0
-15
0
-28
-3
0
0
0
16
0
0
0
0
0
0
-18
3
0
0
0
0
0
-54
0
0
0
0
0
0
-22
0
0
6
0
0
0
-11
0
0
1
0
0
0
-18
0
0
8
-3
0
-7
94
0
0
13
0
0
0
-23
0
0
8
-2
0
0
51
0
0
1
0
0
0
0
0
-1
0
1
0
0
39
0
0
0
0
0
0
6
0
0
0
0
0
0
-19
0
-4
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
-4
-32
0
-1
4
0
0
0
-4
0
0
-7
0
0
0
-9
0
0
0
-2
0
0
17
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
4
-4
39
-6
5
1
11
0
-17
-14
26
0
-2
-4
-5
53
5
-15
1
0
0
0
0
0
0
0
42
-16
11
-18
21
16
7
26
-4
0
13
46
16
0
5
12
0
-2
3
-4
-10
0
-9
-21
-19
-1
45
-4
-2
0
1
0
0
5
-1
72
35
-11
25
37
11
1
-12
21
-3
1
-20
-8
27
-51
19
-37
-42
21
29
7
62
-4
3
-17
60
-50
36
18
13
47
4
22
48
60
-5
-29
-8
25
27
-15
8
71
35
-41
32
13
-38
-39
2
4
5
-4
0
13
-4
0
0
0
-4
9
1
0
-2
-3
-2
-51
-47
79
31
11
26
-2
-18
26
-16
4
13
8
10
-2
0
-4
22
5
7
-13
-16
15
7
5
63
13
4
12
44
-10
-2
12
34
2
57
-34
1
-2
-6
-18
-10
58
9
-3
-51
0
39
-9
-26
-7
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
2
0
7
-4
1
0
10
4
0
0
22
0
0
0
0
0
0
0
0
0
0
-1
0
0
-48
0
0
0
30
0
26
0
0
0
-1
-8
0
0
0
0
0
0
24
2
0
0
0
0
0
-50
0
0
0
0
0
0
5
0
0
0
-2
0
3
-11
0
0
3
0
0
5
-15
0
0
-1
-6
0
-3
0
0
0
-7
0
0
0
11
0
1
-1
0
0
0
-71
0
0
2
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
1
0
0
0
0
-20
0
0
-1
0
0
-1
49
0
-1
0
0
0
1
9
0
0
0
0
0
0
-17
0
-5
0
0
0
0
-24
0
0
0
0
0
0
-33
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
1
0
0
0
2
0
0
-5
11
0
0
25
0
0
0
0
0
0
0
0
0
-4
7
0
0
-18
0
0
0
2
0
2
0
0
0
0
5
0
0
0
0
0
0
44
3
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
24
0
0
-2
0
0
-3
34
0
0
0
0
0
0
-32
0
0
5
0
0
0
-29
0
-1
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
1
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
-3
0
0
0
0
-2
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
-3
0
0
0
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-27
-1
0
0
5
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
18
0
15
-9
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
8
-3
5
0
0
0
0
0
0
28
0
0
-5
0
0
0
8
0
0
3
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
-4
0
0
0
0
45
0
0
0
0
0
0
-7
0
0
0
0
0
0
38
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
12
2
0
0
8
28
0
0
-10
0
0
0
0
0
0
0
0
0
-3
-65
0
0
-7
0
0
0
22
0
-53
2
0
0
1
8
0
0
0
0
0
0
44
0
0
0
0
0
0
-55
-16
0
0
0
0
0
22
0
0
0
0
0
0
-55
0
-5
-3
0
0
0
-12
0
0
4
6
0
-5
-34
0
0
21
0
0
0
50
0
0
1
0
1
-2
-17
0
0
-3
0
-4
0
8
0
-2
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
-51
0
-16
0
0
0
0
-15
0
0
-4
0
0
0
41
0
9
3
0
0
0
30
0
0
0
0
0
0
-8
0
1
0
0
0
0
-25
0
0
0
0
0
0
-47
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
2
31
12
62
1
-21
-22
4
24
5
-13
2
0
0
0
0
0
0
0
15
20
13
-24
-13
-2
16
-16
9
-4
24
-20
52
-10
-7
4
13
24
55
12
-31
2
-22
-12
5
-1
13
-8
0
-13
32
2
-2
0
2
3
0
-3
128
-41
22
-7
1
16
-21
-3
11
-2
-7
13
24
-5
53
28
25
35
11
0
47
-8
7
5
14
32
-21
2
-10
13
-21
-14
-8
18
41
17
9
-22
21
8
4
-19
13
-39
40
-21
0
1
-5
-1
-14
4
19
0
-55
-1
20
0
8
0
3
0
-7
-89
64
19
4
8
-29
-1
48
-10
28
-6
-8
17
7
-46
-2
-15
5
-2
14
-33
-58
4
51
10
17
5
2
-10
1
33
-20
19
-10
15
21
-40
-2
14
-2
9
8
-9
16
0
52
0
-29
54
15
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-3
0
0
0
26
-2
0
0
8
0
0
0
0
0
0
0
0
0
2
89
0
0
36
0
0
-1
-13
0
4
0
-1
0
0
2
0
0
0
0
3
0
-27
0
0
0
0
0
0
25
7
0
0
0
0
0
14
0
0
0
0
3
0
60
0
0
0
0
-1
-2
-43
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-51
0
1
-10
-2
0
0
18
0
0
-1
0
0
0
2
0
0
0
0
1
0
-13
0
0
0
0
0
0
-8
4
0
0
0
0
0
72
0
0
0
0
0
0
-26
0
0
-3
0
0
0
-35
0
-5
0
0
0
0
45
0
0
0
1
0
0
1
0
12
0
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-1
0
-25
0
0
0
0
0
0
0
0
0
13
15
0
0
41
1
0
0
44
0
86
2
0
0
0
12
6
0
0
0
2
0
-78
-3
-1
0
0
0
0
49
-3
0
6
0
0
0
-1
0
0
-5
0
0
1
36
0
-4
-20
0
0
3
19
7
-2
-48
18
1
0
9
0
0
16
0
0
-8
-17
-4
-3
61
-1
0
0
-18
0
3
2
0
0
0
-10
-3
5
-1
0
7
0
28
0
0
0
0
1
0
30
0
0
0
0
0
0
30
0
-13
0
0
0
0
-50
0
-4
18
0
0
-2
-20
0
6
-13
0
0
6
39
0
-5
-4
3
0
0
45
0
30
-18
0
0
0
-1
0
0
0
0
0
0
-54
0
6
0
0
2
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-52
0
0
4
0
0
0
0
0
0
0
0
0
26
21
0
1
-27
0
0
2
25
0
78
0
0
0
-1
2
0
0
-2
0
0
0
-7
2
0
0
0
0
0
3
0
0
0
0
0
0
77
0
0
-2
0
0
7
0
0
0
15
0
2
1
28
0
0
-13
3
0
8
4
0
5
2
0
0
0
19
0
0
19
0
7
0
0
0
2
1
0
-5
0
-39
0
0
-5
0
0
0
-43
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
-6
0
0
0
-2
0
0
0
8
0
0
2
9
0
5
2
0
0
0
3
-1
-3
-4
-1
0
0
20
0
-27
0
0
0
0
29
0
1
-4
0
0
0
88
0
8
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
16
-1
0
35
-5
0
0
0
0
0
0
0
0
-26
17
-1
-8
46
13
1
47
25
0
65
47
-4
-10
3
35
0
0
-2
-3
0
0
11
15
18
0
1
0
0
57
3
0
0
0
0
0
-20
0
-2
-24
6
29
-62
-30
0
0
5
0
-69
-44
-36
2
-1
10
-46
6
57
-24
5
48
36
-21
17
17
9
6
43
-47
15
-21
37
15
-1
-2
-13
-2
-8
3
50
-2
-24
-4
0
0
0
-4
0
0
0
-1
4
0
31
2
0
0
5
0
0
1
6
1
7
0
1
0
-25
0
0
-2
10
0
0
4
1
0
1
13
0
-12
-37
-8
23
13
34
0
-1
33
0
26
-98
0
0
5
26
0
-12
14
15
-1
-2
4
-1
3
-4
0
-4
0
-10
10
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-23
0
0
18
1
0
0
0
0
0
0
0
0
7
-13
0
0
-9
0
0
-3
-13
0
56
-2
0
0
-2
-36
0
0
2
0
2
0
-5
2
0
0
0
0
0
38
0
0
0
0
0
-3
19
0
-3
0
0
0
10
-20
0
-1
8
1
0
10
12
0
0
0
-4
0
0
-15
-7
3
9
5
0
4
18
0
3
-24
41
0
0
24
0
0
-1
0
-10
0
25
-1
0
-1
0
30
0
-30
0
0
0
1
0
0
-5
-1
0
0
0
0
0
1
0
-13
0
0
0
-1
-5
0
5
0
3
0
0
28
0
-4
-14
0
0
0
19
0
-7
0
0
0
0
-6
0
-44
-10
0
0
-7
38
0
0
-5
0
0
0
34
1
-1
0
0
1
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
0
0
28
0
0
0
0
0
0
0
0
0
-6
-23
0
0
-18
0
0
0
-10
0
8
0
0
0
0
-53
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-25
0
0
1
0
0
0
-7
0
0
6
0
0
5
-49
0
0
3
0
0
0
7
0
0
-3
0
0
1
-13
0
0
6
0
0
2
11
0
0
-1
0
0
0
-5
0
0
-3
0
5
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-37
0
0
-6
0
0
0
20
0
0
0
0
0
0
-21
0
0
3
0
0
0
-19
0
-2
0
0
0
0
16
0
0
0
0
0
0
27
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
0
0
-35
2
2
-2
-12
0
84
-18
-1
0
-6
-1
0
0
-12
0
-2
0
19
22
-1
0
0
0
0
30
8
0
0
6
0
0
-19
0
2
0
5
0
-1
91
0
4
10
1
0
5
-48
0
0
-26
1
0
3
-6
-6
3
50
1
0
-17
-1
0
6
12
7
1
1
-20
0
-3
5
0
-1
0
39
-5
-29
28
-8
-2
0
-11
-1
0
0
0
0
0
-7
-9
0
0
0
0
0
-1
1
-7
5
0
0
6
66
0
0
20
0
0
-6
29
1
36
58
0
0
-1
26
0
-3
74
0
0
1
-7
0
39
43
4
0
0
-6
0
5
6
0
0
0
-45
1
13
-2
0
-2
0
30
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
6
-3
32
2
2
-3
-13
-10
-1
29
-13
7
1
-32
31
1
-1
34
-6
-24
0
-5
12
-19
2
3
-6
0
35
6
0
2
-6
-7
-8
-32
5
21
-50
-4
-6
-12
10
-16
-8
-1
8
-20
-17
0
90
-21
-60
-25
6
34
20
-19
44
5
-2
-34
-3
-43
-3
-10
52
-15
61
-56
-9
25
41
41
-5
44
3
-1
0
32
60
-4
12
0
-17
1
0
3
-5
34
0
-12
-49
-4
1
-7
0
-5
36
-5
-49
7
0
11
37
8
2
-23
-3
40
7
9
0
12
20
-14
48
-4
-10
-12
27
60
35
-24
11
3
-25
9
8
25
-10
-1
-8
70
2
-15
0
9
0
-4
-33
0
19
-8
-4
-26
0
-28
44
-9
3
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-25
0
-2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
21
0
0
0
0
0
0
52
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
-1
0
0
0
13
0
-2
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
1
-4
0
0
0
0
0
0
58
0
0
3
0
0
0
41
0
0
-1
0
0
0
52
0
0
-1
0
0
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
3
0
0
0
-4
0
0
0
0
0
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
31
0
7
-29
0
1
18
68
0
-3
29
-1
0
0
-35
0
0
12
0
-5
0
-80
5
17
0
-1
-1
0
23
8
0
0
0
0
0
-15
0
0
-2
1
0
6
-4
0
0
-4
0
0
-7
27
0
1
92
26
1
10
-28
-4
0
29
0
0
8
11
-8
29
0
15
0
14
-26
2
-17
-7
0
-2
1
62
-8
4
5
-1
14
0
39
0
0
0
0
0
0
42
0
0
1
0
0
0
3
2
8
0
0
-1
2
37
0
0
0
2
0
4
-33
0
22
16
0
0
18
49
0
-21
0
-1
0
1
11
0
-17
-8
-3
-1
0
4
0
-5
4
8
0
-3
41
-2
-40
-1
2
1
0
-1
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
60
0
-42
18
0
5
0
28
0
0
0
0
0
0
-14
-5
0
0
0
0
0
-21
2
0
5
-3
0
0
18
0
-4
3
1
-1
-1
-56
0
0
8
0
0
2
0
0
-1
-16
5
1
0
-19
1
0
17
0
-1
0
-8
0
-1
-45
0
1
0
39
0
0
0
0
0
0
42
6
0
-1
-1
4
0
22
0
0
0
-3
0
1
17
0
0
0
0
0
0
-8
0
7
0
0
0
0
22
0
1
-3
-10
0
0
25
0
19
-22
1
0
-1
56
-3
-7
19
0
0
-1
19
0
89
-1
0
0
3
43
-4
0
-6
5
0
0
36
0
-17
2
0
0
0
107
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
-1
-29
7
0
6
-4
5
0
-15
-3
-6
0
-2
-55
-36
3
-5
-8
0
4
-22
-3
-1
7
11
-10
5
1
27
37
46
44
-4
-6
-7
-10
-1
6
-51
2
2
14
-11
-2
62
-11
-12
-18
34
22
79
11
34
42
0
27
27
-15
-5
47
13
24
26
17
-7
1
48
0
-15
46
-40
51
-57
-37
0
-25
-8
1
0
1
-2
0
57
28
-2
0
-14
1
5
61
2
16
48
6
-10
9
58
0
9
-29
34
7
53
-43
-19
41
63
12
2
25
-39
14
-18
45
5
4
43
0
-4
26
-5
11
-8
2
-71
-19
-18
-34
10
-4
-1
-6
-1
28
10
0
-19
0
1
30
-2
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
4
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-25
0
0
-1
0
0
0
9
0
0
7
0
0
0
-1
0
0
1
0
0
0
49
0
0
0
0
0
0
-10
0
0
0
0
1
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
-5
0
0
0
2
0
0
-3
0
0
0
-14
0
0
1
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
65
-2
23
10
1
-1
-3
18
6
0
0
0
8
0
14
23
0
0
-1
0
0
-9
5
0
0
0
0
-2
0
-5
-5
6
5
5
33
35
0
0
6
2
2
16
-25
-1
-4
38
-5
0
22
-12
1
1
-25
-1
0
-1
-29
0
-8
-2
24
0
-4
21
0
13
2
-7
1
-1
-6
6
4
0
51
-19
0
12
0
-5
0
3
0
0
39
-3
0
0
0
0
1
-12
0
11
-1
0
0
-5
35
0
0
37
3
0
-16
33
3
91
-3
-1
0
2
27
-1
81
51
23
0
2
-47
0
-7
-3
-1
0
0
-17
0
-7
13
1
0
0
15
0
6
0
3
13
0
78
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
-1
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
-2
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
1
0
0
0
0
0
-26
0
0
0
0
0
0
34
0
-12
0
0
0
0
-51
0
-2
0
0
0
1
-16
0
2
-3
0
0
3
-34
0
0
-10
-3
2
0
-5
0
4
0
0
0
0
-35
0
0
0
0
0
0
30
0
0
-3
0
0
0
-6
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-13
0
0
0
0
0
0
62
0
0
-1
0
0
0
-8
0
2
-1
0
0
0
45
0
0
-14
0
0
0
39
0
1
0
0
0
0
-11
0
0
0
0
0
0
22
0
2
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
37
0
0
-12
-2
-5
0
2
14
8
2
0
0
0
26
33
-1
0
3
1
-1
10
-4
1
30
20
3
24
-9
0
-4
-15
6
-4
-32
-16
-12
-2
-30
104
24
17
5
49
-30
21
11
-16
17
-16
0
5
-4
13
49
12
0
-2
-9
-7
-10
-9
1
2
16
7
31
0
4
2
-25
-2
0
0
4
-9
0
64
5
-4
-1
0
0
0
101
0
2
29
0
-2
18
-59
0
1
-6
-2
2
31
-25
0
49
10
4
0
-41
15
46
11
63
11
0
-1
24
-1
19
102
4
-6
8
0
1
1
6
-2
-2
0
2
-6
5
-3
0
15
0
60
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
21
5
0
22
1
-24
0
-19
1
0
0
13
0
0
-6
-6
0
0
-3
0
13
-6
1
41
-14
-5
-7
76
-6
0
0
-21
0
-6
-22
44
3
0
33
12
-1
74
38
4
8
17
3
-1
-11
7
3
1
-13
15
6
59
-8
0
2
-43
-10
10
0
65
0
-10
-4
-1
36
0
21
0
0
0
0
19
0
-28
0
0
0
-2
0
8
-22
-9
3
0
0
0
-24
-29
0
2
-25
-9
0
4
-29
0
-44
22
0
0
7
69
2
52
34
15
3
-1
9
4
-13
-31
-1
-4
4
-14
1
-31
-10
16
0
0
-9
1
-1
-10
0
-1
0
-54
2
25
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
0
0
0
0
0
0
-3
-8
0
0
0
0
0
19
-6
0
0
0
0
0
8
0
-1
2
0
1
-7
-42
0
-1
0
0
0
7
-6
0
0
-3
0
1
3
75
0
-7
8
0
0
0
15
0
4
0
0
0
2
-74
-3
0
-1
0
0
0
-20
-3
0
0
1
1
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
32
0
0
-2
0
0
-3
20
1
8
4
0
1
1
-8
0
0
8
4
0
0
29
0
3
-2
0
0
0
22
0
0
0
0
0
0
-16
-2
-10
0
0
7
0
-72
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-42
4
4
0
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
-3
-2
0
0
2
0
0
-4
57
0
0
0
0
0
0
-43
0
0
1
0
0
0
7
0
0
-1
0
0
0
3
0
0
0
0
0
0
-1
0
0
-1
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
18
0
0
0
0
0
0
-7
0
0
1
0
0
0
21
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
-77
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
12
0
0
-1
-1
0
0
1
4
0
-2
20
0
-1
-3
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
-2
0
0
0
6
0
0
2
-3
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
11
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
-5
-5
0
0
0
20
0
0
0
0
2
0
53
0
0
-3
27
13
7
4
0
0
-30
0
-8
-22
2
-2
1
56
53
2
-15
-55
5
-15
18
-2
0
-3
10
-10
-13
4
0
7
-2
-9
-1
10
2
0
0
-1
0
-6
34
69
-8
0
0
23
0
0
0
0
0
0
10
1
-1
0
2
0
0
-19
0
35
0
0
5
5
-2
0
-6
5
5
0
10
43
12
18
19
2
0
24
-10
0
1
-5
-31
0
1
26
4
63
29
-3
-6
10
57
-2
1
5
13
0
0
0
-3
-34
-7
2
0
0
43
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
45
0
0
0
0
0
0
-4
0
0
2
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
4
-16
0
0
0
6
0
1
40
0
0
-1
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
3
0
0
0
0
0
0
-2
0
0
1
0
0
0
16
0
2
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
68
0
0
0
0
0
0
13
0
0
-2
0
0
0
77
0
0
1
0
0
0
-23
0
2
-4
-1
0
0
1
0
0
-3
0
0
0
-7
0
0
3
1
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
-3
0
0
0
0
3
0
0
2
0
0
0
-20
0
0
-4
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
54
-1
1
1
-1
51
-29
7
36
10
-27
39
14
21
-10
-14
-26
-8
21
-31
-6
12
-73
43
41
2
-7
-4
21
-59
18
-12
-41
-12
6
46
56
3
-26
-18
-53
22
8
72
51
-8
35
4
6
-3
3
20
-42
5
0
0
-3
-29
2
-16
-7
0
31
7
-6
2
-2
0
2
-31
-1
-6
46
31
8
-38
16
3
11
58
44
7
54
-43
0
49
-52
1
1
9
-21
53
-6
74
-11
5
25
9
-2
21
50
-7
-4
5
-40
28
-69
-42
9
-10
0
22
30
-6
-34
8
36
-1
0
0
51
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
-12
0
0
0
0
0
-1
30
0
0
1
0
0
2
-54
0
0
-3
0
-3
0
-80
0
0
7
0
0
0
-2
0
-12
5
0
0
0
34
0
6
-1
0
0
2
28
-1
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
-1
1
0
0
0
-29
0
0
0
0
0
0
17
0
8
1
0
0
0
14
0
0
-3
0
0
0
-6
0
-3
0
-1
0
0
13
0
0
0
2
0
0
-18
0
-2
0
0
0
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
-7
0
0
8
-21
0
0
-1
0
0
0
22
0
0
0
0
0
0
87
0
0
0
0
0
0
11
0
0
2
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
-45
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-28
0
0
0
0
0
0
-7
0
-4
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
0
0
1
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
5
0
0
0
0
2
0
0
0
0
0
0
16
0
2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-45
2
-14
17
-16
1
26
-21
0
9
18
2
34
-1
9
-16
99
-19
49
12
19
-1
-2
30
15
44
-2
-19
-14
-1
-10
17
-1
-9
23
-3
13
40
11
1
-22
-16
0
10
-47
-28
13
-44
2
14
14
0
2
-17
3
0
0
-4
-2
0
-10
0
0
-14
7
4
46
-7
2
-2
12
1
16
-23
9
-7
51
14
-4
23
8
11
-3
7
-21
-3
64
-3
-23
0
-18
-18
-1
-12
-53
4
-1
-8
43
-5
-10
36
8
12
1
42
2
6
-28
22
76
0
67
24
8
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
1
-25
0
0
0
3
0
3
15
0
0
0
0
0
0
50
0
0
0
0
0
0
-3
0
0
-1
0
0
0
21
0
0
0
0
0
0
-29
0
0
0
0
0
0
27
0
0
0
0
0
0
10
0
0
0
0
0
0
17
0
0
0
0
0
0
-42
0
1
1
0
0
-3
9
0
0
-4
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
17
0
0
0
0
0
0
23
0
0
-4
0
0
0
-13
0
0
1
0
0
0
5
0
0
-3
0
0
0
-29
0
0
0
0
0
0
-30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-6
0
0
1
0
0
0
-7
0
0
0
0
0
0
-36
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-42
0
3
37
-2
6
-13
27
0
0
82
57
3
22
-16
0
10
4
-29
0
-7
-45
0
23
-22
-2
4
6
-25
13
-2
6
1
-3
0
-29
-3
-1
37
9
-22
0
8
0
5
0
0
2
0
21
3
0
5
3
0
0
0
0
6
0
9
0
22
37
4
2
25
-8
3
15
70
0
-16
-65
19
0
21
13
-4
-14
25
1
0
-7
9
0
57
-62
-2
3
0
4
0
-7
1
1
-3
0
15
-2
-31
0
0
-9
0
15
-2
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-2
0
0
0
1
0
0
29
0
0
-8
0
0
0
40
0
0
0
0
0
0
-14
0
0
1
0
0
0
0
0
0
0
0
-2
0
62
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
15
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
-3
0
2
0
3
-4
1
0
3
0
0
3
43
0
0
0
0
0
0
3
0
0
-3
0
0
0
1
0
0
0
0
8
0
-13
0
0
0
0
0
0
-8
-9
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
-3
0
0
0
-20
0
0
1
0
0
0
-22
0
1
0
0
0
0
-12
0
0
0
-8
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
1
0
0
0
44
0
0
-5
0
0
0
20
0
0
-14
0
0
0
26
0
0
-2
0
0
0
-38
0
0
0
0
0
0
10
0
0
0
0
-2
0
29
0
0
0
0
0
0
29
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
5
-1
0
0
0
-2
0
0
0
0
0
0
-5
0
5
1
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
7
0
0
6
0
0
0
-44
0
0
-1
0
0
0
-11
0
0
1
0
0
0
20
0
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-20
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
4
0
0
0
-3
0
5
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-8
0
1
0
22
0
-1
37
0
0
-1
-35
0
-1
14
0
0
0
-15
0
0
1
0
-2
0
1
1
0
0
0
-12
0
27
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
-5
0
0
0
0
21
0
0
-1
0
0
0
31
0
11
0
0
0
0
54
0
-1
7
0
0
0
-17
0
15
1
0
0
0
31
0
0
0
0
0
0
-19
0
8
0
0
8
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
-1
2
6
13
44
-5
35
-29
-4
46
39
69
9
-45
-24
-39
35
-11
36
11
-19
17
69
13
-6
-8
-2
-14
27
-2
24
25
16
0
1
-5
-15
-4
12
9
0
-3
-22
5
1
4
-1
0
24
23
-20
24
0
24
18
0
-3
23
-20
44
0
-10
-5
32
-10
-31
15
3
-11
37
-29
-37
4
-6
9
15
3
-3
25
-13
13
-5
5
-46
-13
-10
-13
-5
1
0
-16
0
-73
6
21
-36
0
19
4
-8
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
-8
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
0
0
3
18
0
-3
18
0
4
-5
0
0
-1
50
2
0
12
-6
0
0
86
0
0
-3
0
0
0
1
0
0
0
0
2
0
65
0
0
0
0
2
0
31
-2
0
0
0
0
0
82
0
0
0
0
0
-2
54
0
0
0
0
0
2
26
0
0
3
0
0
-2
-39
0
0
-3
0
0
0
-6
-3
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
13
0
0
-5
0
-33
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-4
0
0
4
0
0
0
29
0
0
1
0
0
0
-8
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-29
0
0
0
0
0
0
16
0
-4
0
0
0
0
-8
0
0
2
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
0
-1
23
0
0
7
41
0
-3
3
2
0
0
17
0
0
-3
0
0
0
41
0
-1
0
-7
-2
0
39
3
0
0
0
0
0
8
-1
0
0
0
0
0
1
0
-9
1
0
0
0
59
0
-1
2
0
0
0
26
0
6
0
0
0
0
16
0
-2
5
-3
0
0
38
0
-1
4
0
0
0
-38
0
0
2
3
0
0
-32
0
-15
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
3
44
-37
33
15
36
-24
-2
-4
-7
20
22
-12
25
-5
-16
-30
-1
24
0
-7
0
9
15
43
-12
5
-9
0
2
-8
6
-5
0
-4
-8
21
-1
5
0
-2
16
0
13
-4
-7
-6
57
-62
0
-1
-83
3
0
-44
0
6
-31
-55
-15
0
18
-37
10
-44
-11
-6
0
103
18
0
-14
13
29
-5
7
7
5
17
6
15
6
0
4
8
5
9
40
15
0
45
-13
26
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
0
0
6
0
0
0
-33
0
0
2
0
0
0
-50
0
0
0
0
0
0
5
0
0
0
0
4
0
111
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-2
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
4
0
63
0
0
-2
-23
0
3
13
6
0
0
16
0
1
-3
0
0
0
-22
1
0
-3
0
4
0
-11
0
0
0
0
0
0
55
-2
0
0
0
0
0
-51
0
8
0
0
0
0
2
0
0
5
-3
0
-3
-38
0
59
0
0
0
0
60
0
13
1
13
0
-3
-26
0
29
-10
0
0
0
27
-1
0
0
6
0
0
15
0
24
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
3
-17
0
0
0
-25
0
0
39
0
0
2
-39
0
0
0
0
0
0
-27
0
0
0
0
3
0
22
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-5
0
5
0
0
0
-1
12
0
0
-15
0
0
0
-54
0
0
8
0
0
0
-28
0
0
-2
0
0
0
-25
0
0
0
0
0
0
67
1
0
0
0
0
0
53
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
-1
0
0
0
-6
0
0
-2
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
1
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
54
0
0
0
10
0
0
0
0
0
0
-11
0
0
0
0
0
0
24
3
0
0
0
0
0
-8
0
0
0
0
0
0
45
0
0
-1
0
0
0
12
0
0
1
0
0
0
0
0
-8
-2
0
0
0
4
0
-2
-22
-4
0
0
21
0
30
0
0
0
0
86
0
6
-3
-1
0
0
28
0
8
1
0
0
0
68
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
18
-38
5
-103
-12
42
-27
9
7
34
8
-2
-28
-1
-18
-5
-8
12
47
-52
4
13
-18
-3
4
-11
8
0
-30
37
3
0
8
0
4
-16
-4
67
31
-8
-22
15
-21
-3
27
41
-33
0
14
8
19
21
13
41
5
-16
0
14
-1
-5
-36
5
-4
33
-9
-1
-28
23
-10
-13
-33
15
65
7
9
3
-5
27
24
-30
0
15
0
0
-39
5
18
5
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-2
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-6
1
0
0
0
23
0
0
3
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
22
0
-45
9
-39
2
18
51
0
0
2
3
-1
0
-9
6
3
-3
0
49
0
5
0
0
0
0
0
0
34
7
-4
0
3
0
0
29
0
-12
4
0
-1
0
8
0
-3
-1
2
0
-2
-11
0
8
-4
0
0
-4
37
4
-6
43
-5
0
8
-116
0
-37
3
7
0
9
21
0
0
-2
0
-4
0
-26
1
63
4
-1
-2
0
2
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
0
0
-2
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
1
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
-8
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
2
0
1
-2
0
0
0
45
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
1
2
0
0
-22
0
5
3
0
0
0
21
0
2
4
0
0
0
10
0
-19
0
0
0
0
13
0
0
0
1
0
0
1
0
-8
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-54
10
18
45
-3
3
-3
11
-5
12
68
18
32
-4
-4
5
-23
3
-8
-1
0
-34
-1
-3
-3
2
0
3
44
19
41
12
23
9
16
-5
0
13
83
44
3
4
-30
-10
64
-8
0
14
-58
41
2
-68
12
-17
7
-22
0
0
-51
-28
5
0
-7
2
3
28
-30
-5
6
-5
16
13
8
-5
8
-38
0
11
-21
5
4
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-3
1
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
1
0
0
0
0
3
0
0
-2
0
0
1
20
0
-8
-1
0
0
1
-14
0
2
3
4
0
0
-38
0
4
2
0
0
0
-19
0
0
0
0
0
0
2
0
2
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
4
0
0
3
0
35
2
0
0
-4
5
0
11
-2
0
0
0
0
0
-18
2
0
0
0
0
3
-14
0
-2
0
0
0
2
-24
0
0
-2
0
0
9
30
-2
-14
-6
-4
0
2
-47
0
3
1
0
0
0
17
0
0
-3
0
0
0
14
1
1
0
0
0
-1
42
1
-17
0
0
1
0
52
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
65
0
0
-1
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
2
0
0
0
-1
-35
0
0
0
0
0
0
-13
0
-2
3
0
0
0
-7
0
0
17
0
0
0
8
0
3
-3
0
0
0
10
0
0
0
0
0
0
-11
0
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
1
-3
0
0
0
-4
0
0
5
0
0
0
20
0
0
2
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
1
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
1
4
0
0
0
32
0
0
1
0
0
0
8
0
0
-4
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
5
3
-42
59
28
-2
0
-1
1
-3
-5
13
-8
-1
-12
-2
0
1
0
3
-1
17
-8
35
-2
0
-13
2
4
16
-42
-47
0
9
-5
-30
0
15
5
2
-25
-9
8
74
4
-23
9
12
26
3
75
-41
1
-3
-10
0
0
-4
-27
30
0
-4
-9
2
52
24
0
9
0
14
11
39
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-4
0
0
0
0
0
-19
0
0
0
0
0
0
-27
0
0
0
-2
0
0
24
0
3
0
0
0
0
24
0
0
6
-1
0
0
-7
0
-1
6
0
0
0
47
0
0
0
0
0
0
15
0
10
0
0
0
0
0
0
-6
0
0
0
0
23
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-47
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
5
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
0
63
7
0
0
0
-2
0
14
0
5
2
0
-4
8
-44
0
0
7
-10
0
-41
27
-6
-55
22
1
0
-29
-7
5
9
44
25
0
4
-29
0
-47
10
5
0
0
35
0
-10
15
0
0
1
0
1
62
0
0
0
0
28
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
3
0
0
0
0
41
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
-1
0
0
5
0
2
2
0
0
0
6
0
0
0
0
0
0
2
0
0
2
0
0
0
10
0
0
0
0
0
0
-92
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
5
0
0
0
0
30
0
0
-7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
5
0
0
0
-1
36
0
0
-3
0
0
0
36
0
-2
-8
0
0
0
0
0
-2
49
2
0
0
10
0
12
-1
0
0
0
6
0
3
-1
0
0
0
57
0
-5
0
0
0
0
46
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
13
20
0
0
-1
19
-8
23
-26
17
0
6
39
-5
-8
37
-18
-1
0
-32
26
-34
12
-98
10
-1
-10
19
-17
7
3
59
0
28
28
0
-8
-33
5
-1
-28
11
-17
29
47
16
-3
-1
-53
5
23
-25
4
21
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
3
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
32
19
0
-3
0
-46
0
0
2
-4
0
0
-4
0
47
-4
0
0
8
31
-2
2
-58
0
4
-6
-43
-1
88
28
8
0
-2
-39
0
-2
-1
8
0
1
-20
0
-8
0
0
5
0
41
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
34
0
0
-7
0
0
0
-1
0
0
-3
0
0
0
-18
0
1
0
1
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-38
0
-2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
3
3
0
5
-32
0
-13
-7
0
0
5
-12
2
5
-27
5
0
0
-10
3
-6
-5
0
0
0
5
0
8
-1
-2
0
0
27
0
47
5
12
5
0
50
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
-1
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-2
0
0
0
0
-22
0
0
-6
0
0
15
23
0
1
0
-3
0
0
65
0
1
0
0
0
0
55
0
0
2
-4
0
0
26
0
13
-1
0
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
3
0
0
0
6
0
0
0
0
0
0
-1
0
1
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-3
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
-5
0
0
0
-7
0
0
0
0
0
0
19
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-111
0
-7
-18
-4
-1
101
16
13
-10
-7
8
0
-6
55
0
1
28
1
-1
0
10
13
-1
-17
-1
0
0
18
0
59
0
10
-15
0
-71
-3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
-2
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
5
0
0
0
0
33
0
0
4
1
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
54
0
-8
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
-1
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
2
0
0
0
-34
0
-1
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
19
4
-27
-4
6
0
13
25
2
66
38
-1
0
3
17
0
-13
6
8
-1
-5
-17
0
-55
-7
0
4
0
-76
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
4
0
1
-22
0
48
12
0
0
0
-11
1
3
1
-4
0
0
-5
0
5
0
0
3
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-124
0
3
-2
-1
0
0
6
-3
13
1
0
0
0
-8
0
0
-1
0
0
0
30
0
-5
0
0
-3
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
59
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
0
16
32
-14
0
12
32
2
19
-17
-1
-1
1
33
0
-12
1
0
-4
0
-17
36
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
74
0
-1
-4
0
0
0
-4
0
0
0
0
0
0
-86
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
36
-9
-1
0
0
-15
0
0
1
-3
0
0
1
0
2
0
0
2
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-6
4
0
0
0
7
0
4
0
0
0
0
50
0
5
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
1
-10
38
8
-3
-1
11
1
11
-2
0
8
0
-28
20
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
22
0
0
-3
0
0
0
11
0
0
6
12
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-34
0
5
0
0
0
0
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
-3
10
21
0
12
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-56
1
0
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
7
0
0
0
0
0
65
-3
-21
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
17
6
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
0
39
17
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
44
0
0
35
0
0
8
0
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
4
0
0
0
0
0
-41
3
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
-7
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
-1
-1
6
18
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
12
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-3
0
0
8
0
0
3
0
22
40
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
-1
0
19
42
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
0
0
0
0
-5
0
-51
-9
-33
0
-9
0
0
-12
0
-24
-8
108
52
40
-12
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-47
-42
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
38
0
0
1
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
38
92
-26
108
6
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
97
0
-15
0
0
0
0
-25
13
-46
-65
9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
24
0
0
0
0
0
0
26
13
-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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
13
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
48
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
3
0
-4
57
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
21
-9
2
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-52
-30
-59
8
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-94
-11
-49
1
-59
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
2
-4
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-12
0
-1
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-36
1
-17
0
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
-49
0
0
0
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-12
0
-7
-13
-27
-15
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
7
0
3
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
-3
0
-1
-2
46
-2
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
27
0
3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
155
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
63
1
-55
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
-17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
45
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
29
0
0
0
0
0
20
5
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
186
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
80
0
0
40
0
0
-21
0
-4
-31
0
0
-6
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
21
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-37
-14
0
0
0
0
4
-9
26
6
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
-2
-5
-23
-34
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-4
-18
0
0
0
0
0
-15
14
56
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-17
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
17
0
0
-1
0
0
0
-24
57
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-13
0
48
-1
58
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-16
15
2
0
-30
0
0
-27
18
18
30
41
11
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-1
0
17
0
0
0
0
-8
-5
-21
21
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
16
-6
-71
0
-60
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-18
-7
60
-60
54
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-11
0
0
0
0
0
-42
0
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
33
-78
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
14
-58
0
3
0
0
0
0
-41
100
-17
139
-15
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
95
0
22
0
0
0
0
67
18
5
-22
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
14
56
-71
11
-21
16
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
24
12
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
-13
0
0
0
0
0
16
0
0
-2
0
10
0
-32
-24
-25
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
103
-32
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-4
-14
0
0
0
0
0
1
53
-21
20
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
39
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
9
0
0
0
0
0
-29
0
44
12
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-12
-45
-3
0
0
0
0
-6
-16
60
21
11
4
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
17
0
0
0
0
0
-28
-37
-30
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
9
4
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-7
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-34
-16
0
0
19
-2
0
-45
0
7
-8
0
-3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
50
0
0
0
0
0
-19
-19
45
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-4
0
0
0
0
0
-28
0
-27
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
-15
1
-6
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
12
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
2
0
-1
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-30
7
0
5
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-2
18
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-22
-1
7
17
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-49
0
-53
-9
6
9
11
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-64
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
7
4
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-20
-25
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
0
-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
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
12
2
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
26
-17
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
35
-24
-10
-14
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
7
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-20
0
0
4
-6
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-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
0
0
0
0
1
0
0
0
0
0
-36
0
0
22
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-29
0
0
2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
19
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
-3
0
-6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-5
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-13
0
0
0
0
0
30
-17
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
-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
19
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-57
1
0
0
-100
0
0
3
-30
-37
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
2
-55
0
0
4
0
0
-15
-6
-2
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-44
-3
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
1
24
0
0
40
0
0
-70
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
31
0
0
-13
0
0
-27
1
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-125
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
7
-34
0
0
0
0
-1
29
-107
-40
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-10
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
38
-2
22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
-28
0
0
0
0
0
22
0
14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
1
1
-33
5
-10
-4
0
0
0
0
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
0
-114
-21
0
0
0
0
0
39
-84
-39
28
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-50
0
0
0
0
-2
3
-12
-21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
1
-70
0
0
0
0
-2
42
-40
12
-54
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-7
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
15
0
0
0
0
0
36
-68
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
41
0
0
0
0
0
32
0
-46
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
26
9
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
6
79
0
0
0
0
0
6
-28
9
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
14
-15
-39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
8
12
0
0
0
0
0
-37
-63
-24
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
9
-12
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
-44
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
54
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
13
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-27
-5
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
-21
61
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
20
-30
-12
10
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
33
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
58
-11
28
0
0
0
0
10
-11
-18
15
38
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
33
-6
0
0
0
60
-23
-26
17
-20
1
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
0
0
0
2
-7
-27
42
-53
0
0
0
6
16
-52
2
3
-24
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
0
49
0
0
0
15
-7
-22
-24
-13
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
46
25
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
0
0
0
8
2
-20
22
4
0
8
0
0
36
59
22
13
-23
-37
31
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
69
0
0
0
75
9
12
15
44
30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
31
35
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-48
29
0
0
0
-2
-1
-21
-15
-25
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
20
70
-14
-8
2
0
0
-30
52
-16
-1
1
-26
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-9
0
0
0
0
14
0
7
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
2
5
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
-1
0
-43
4
-22
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-49
0
0
0
-1
0
0
-43
0
-57
0
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
4
-3
14
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
-34
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
34
12
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
-7
0
0
71
0
0
-6
0
1
-1
0
-63
7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
0
0
0
0
0
11
6
53
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
48
4
0
0
0
0
0
-24
-29
-50
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
8
0
0
0
0
0
0
-6
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
6
0
0
0
0
0
13
-16
-7
-11
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-19
-25
0
3
0
0
-11
0
19
20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-10
0
0
0
0
0
46
1
34
1
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-12
19
0
0
0
0
0
-2
25
10
-7
-34
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
55
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
4
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
0
-24
0
0
0
0
0
-32
-9
1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-49
0
0
0
0
0
19
-11
5
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
25
0
0
-1
2
20
17
-28
-8
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
25
-33
0
0
0
0
-3
-27
11
9
-3
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
22
-42
21
27
0
0
-17
14
-1
-26
20
-12
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
67
0
-36
0
0
0
0
48
-13
-8
9
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-39
26
18
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
18
10
26
-4
-3
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
3
-20
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-43
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
24
3
-56
-32
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
-12
-2
8
0
0
0
0
-19
-30
-23
-7
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
42
-1
20
0
0
0
0
18
4
-11
-40
-18
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
58
-21
61
0
0
0
-6
-55
-38
23
-26
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-22
14
3
0
0
0
0
-7
-14
23
-18
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-3
13
0
0
0
0
16
-9
1
27
-3
5
0
0
0
0
0
0
0
0
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
0
22
0
0
0
0
0
49
5
-30
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-40
-38
76
-19
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
12
0
0
0
0
0
15
17
-1
-30
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
76
20
-11
7
-12
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
42
22
-31
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
33
6
43
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
8
-23
59
5
5
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
91
46
-18
38
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-38
-16
-39
-18
16
13
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
1
0
0
0
0
-13
0
-11
4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
43
9
23
0
0
0
0
14
-26
14
22
-4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-6
-51
-48
7
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-51
-47
7
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
-19
-40
32
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
56
0
0
5
0
2
26
23
-15
0
-11
0
0
0
0
0
0
0
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
6
-18
42
0
0
0
0
0
-51
18
32
11
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
-1
-4
9
-22
61
41
0
0
-39
-74
-54
5
15
-18
19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
46
-8
-23
0
0
0
0
-60
-54
-24
48
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
36
-28
26
8
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
72
0
0
0
0
2
-44
15
-7
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
-10
28
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
9
0
0
0
0
0
-23
3
-37
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-1
-1
16
0
0
0
0
0
-12
-21
5
-21
-21
0
0
0
0
0
0
0
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
-28
2
-14
0
0
0
0
0
-26
-32
32
-23
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
0
22
0
0
0
0
-57
-11
34
-23
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-19
19
-30
0
0
0
0
-29
-14
2
-12
17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
46
9
3
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
13
-12
-1
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
-8
0
0
0
0
0
-11
42
27
-12
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
-1
17
-49
-36
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-34
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
25
4
-40
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-34
-72
84
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
23
6
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
50
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-15
11
-22
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-27
15
17
-4
87
-23
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
26
-41
-37
-16
-69
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
6
-1
22
0
22
-5
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
16
-14
-37
-20
5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-19
12
9
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
-4
-16
0
-2
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
-34
-21
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-13
3
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
29
-43
87
-1
-12
19
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
-27
17
-8
-16
-30
20
29
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-50
-29
6
-5
-8
-23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
23
0
65
-23
-35
-4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-28
5
0
-9
-3
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-57
-40
15
-15
0
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
78
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-43
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-43
-4
43
11
-74
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
39
-18
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
4
105
8
19
-16
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
41
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-21
2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
15
4
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-12
0
0
56
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-2
3
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
30
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-13
0
-25
27
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
29
-5
11
12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
37
-36
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-10
-4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
-63
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
75
-11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-71
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
-1
-6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
-19
-2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
48
1
30
-58
-7
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-22
9
7
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
74
9
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
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
2
0
0
0
0
0
0
51
0
29
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-32
0
0
0
0
-8
23
-50
-3
15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
47
-9
14
0
0
0
-9
19
14
5
-14
-20
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
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
1
0
0
-3
0
0
0
0
0
63
39
7
27
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-4
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
11
0
0
0
0
-6
26
7
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-47
30
-3
0
0
0
1
1
17
-12
32
55
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
-1
-57
-76
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
66
-19
0
0
0
0
-20
-11
25
-27
22
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
1
-3
-4
-62
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
24
4
9
0
0
0
0
-31
26
42
-16
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
34
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
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
21
0
4
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-7
20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-53
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
-33
2
6
-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
-16
0
0
0
0
0
27
-17
30
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
2
0
0
0
0
-34
-50
-10
16
-11
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
0
0
0
0
0
19
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
0
0
0
0
0
-13
-13
-23
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
25
0
0
0
0
0
-6
-69
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
0
0
0
0
-2
9
-4
-5
4
48
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
12
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
32
0
0
0
0
0
-2
-104
-22
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
-42
12
0
0
0
0
10
-79
-36
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-22
0
0
0
0
0
0
-6
2
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-30
0
0
0
0
0
0
0
-39
36
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
-64
0
-18
-15
13
0
-56
-1
12
-30
0
-11
38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
-25
0
0
0
0
0
-43
-4
37
6
6
0
0
0
0
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
-25
-4
22
-10
0
-2
0
-6
-5
-20
-6
16
31
0
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
43
-42
35
-34
0
0
0
0
13
2
-10
26
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
30
-20
63
6
0
0
0
26
-2
-24
2
5
48
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
1
4
0
0
0
0
5
16
43
26
15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
0
20
11
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-3
40
-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
0
0
0
0
0
-13
40
19
-2
8
0
0
0
0
0
1
-19
9
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
35
0
-16
0
0
0
0
36
-43
-63
-36
-11
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
3
-45
31
45
-9
0
0
-16
-13
-2
-55
-57
-21
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
9
-30
-52
0
0
0
0
1
-38
-1
55
-22
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
12
-27
-22
-10
86
0
-13
-6
-6
8
37
-50
17
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-37
62
5
-10
2
0
0
0
3
-18
12
-5
-7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-29
52
-18
0
0
0
0
33
-16
-9
-28
-8
17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
4
0
5
0
0
0
0
31
34
32
5
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-7
-31
3
-2
0
0
0
1
-32
-31
-36
-5
31
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
1
-33
-30
0
0
0
0
0
24
7
32
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
70
57
34
0
0
0
8
7
-70
19
-39
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-18
19
0
0
0
0
0
-2
-4
54
-43
-40
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-14
-29
-2
-5
1
0
-6
0
14
5
-28
-33
-13
-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
-48
28
51
-33
-10
16
0
0
0
-13
-16
-6
-7
-28
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-36
-26
-3
73
-15
0
-73
2
-23
14
47
-41
23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-25
38
-31
4
0
0
8
-43
-6
-29
-4
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
27
16
0
-30
0
0
22
39
-36
8
27
-26
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
0
39
0
0
0
0
-15
34
42
-13
31
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
18
0
59
0
0
13
0
14
4
-78
31
1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
10
-1
43
0
0
0
0
-50
-63
33
-10
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-40
-11
57
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-81
-61
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
4
0
0
0
0
-6
-21
-9
8
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-32
0
-29
0
0
0
0
0
73
14
-79
-17
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-12
122
-3
26
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
0
0
0
0
0
0
1
-13
0
-8
0
0
0
0
0
-21
-3
-40
57
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-6
69
66
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
0
0
0
0
0
54
21
57
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
5
5
-2
0
0
0
0
15
26
-22
-3
-15
8
-70
13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
1
49
15
-9
-15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
-9
0
0
-10
20
2
-21
0
19
2
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
46
0
0
0
0
0
-56
63
-3
-12
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
15
-21
-1
0
0
0
0
-56
3
-20
-7
-8
8
0
27
0
0
0
0
0
0
0
0
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
-32
36
13
0
0
0
0
18
11
-3
4
-11
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
15
0
0
0
0
0
14
-9
28
7
-24
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
23
-15
0
0
0
0
0
42
23
15
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-49
0
47
0
0
-15
-32
20
-21
-16
10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-49
0
0
0
0
0
10
-5
-16
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
1
4
24
3
16
0
0
-16
6
-4
-5
-1
-27
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
1
-17
7
0
0
0
0
0
-44
36
0
5
-36
0
0
0
0
0
0
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
-16
0
0
0
0
0
22
67
87
49
-47
59
-6
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
5
15
34
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-19
-8
28
-12
0
0
0
0
-17
-17
3
7
1
33
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
24
48
0
0
0
0
0
-22
3
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
5
32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
-3
-6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-9
-1
3
0
0
-29
-4
4
-39
-23
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
39
-39
-37
-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
-22
13
0
-44
0
0
-31
0
9
-68
8
-47
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
8
9
-33
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-14
1
0
0
1
2
-33
10
-1
26
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-25
14
-57
2
-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
-67
0
12
10
0
-53
19
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
1
-7
20
-1
3
-10
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
27
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
-31
-13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-19
1
13
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-5
1
0
-10
34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-5
-6
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-30
9
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-1
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
3
5
-14
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-5
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-42
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-26
8
-17
1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
20
6
-27
-38
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
25
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
36
0
-1
4
0
-12
4
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-35
-2
0
0
-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
-32
0
0
31
29
-19
7
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
23
22
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
11
23
-1
-7
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-4
0
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
0
0
0
-27
0
0
16
-5
19
12
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-26
-17
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
14
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-12
-68
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
49
0
0
0
-17
0
0
8
-10
29
-32
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-100
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
20
0
0
-6
4
-97
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
3
-11
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-13
-8
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-33
0
0
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
0
-4
-49
0
12
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
3
0
0
0
0
-7
-7
5
-4
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
16
16
6
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
61
-16
22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-9
0
-1
-25
-2
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-11
-6
0
0
22
0
0
9
36
-21
-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
-7
-6
4
5
0
0
0
0
0
-75
57
-49
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
14
-3
0
0
5
0
0
15
-9
54
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
-55
1
0
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-1
0
0
46
0
0
-12
-11
38
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
14
-13
-14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
29
0
0
0
0
0
-34
-30
-3
-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
-14
0
6
40
0
0
-25
0
0
-20
-1
10
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
17
0
0
-16
-49
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
15
-9
33
0
0
-7
0
0
38
67
40
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-17
41
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-9
0
0
15
0
0
-56
14
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
22
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
20
52
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
26
-2
-44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
42
-2
0
0
0
0
0
0
20
-46
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
40
-65
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
2
-11
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-25
0
0
0
0
0
22
-16
0
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-31
27
-1
0
0
0
0
-8
15
15
-34
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-41
36
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
-3
0
-1
-6
0
84
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-14
-9
-57
0
0
0
0
-29
13
-22
10
-11
-86
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
2
12
-34
-20
-42
-3
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
40
-28
42
34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
-20
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-3
-83
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
0
-41
0
0
0
-1
1
-49
-11
37
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-15
3
0
0
0
0
0
29
-11
3
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-18
-52
0
0
0
0
-1
38
2
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-23
-53
0
0
0
0
0
-6
2
-26
-8
9
0
0
0
0
0
0
0
0
0
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
0
-8
66
10
0
0
2
-16
40
1
-39
-8
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
70
4
-29
53
0
0
0
9
15
15
-8
-28
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
19
-31
16
0
0
8
-6
-39
-9
68
3
-3
30
0
0
0
0
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
40
31
7
-9
3
0
0
-28
42
-1
37
13
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-30
1
-18
40
29
26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-11
8
0
0
0
0
-35
-25
-6
15
6
-3
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-8
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-55
0
0
0
13
49
-14
-45
-21
-37
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
4
-49
-8
0
0
0
2
4
26
16
3
-86
-48
0
0
0
0
0
0
0
0
0
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
3
20
-12
0
0
0
0
-30
-62
-42
58
14
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
29
26
9
0
0
0
-21
-10
-11
12
33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
28
25
32
0
0
20
-5
63
-11
-2
-48
-3
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
-4
40
-1
27
-7
0
0
0
38
2
68
39
-22
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
10
0
0
6
-4
7
-34
12
-29
-22
1
0
0
0
0
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
-10
-20
-8
0
0
0
0
44
-55
-14
-7
-10
1
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-7
-11
0
0
18
-35
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
30
-69
19
0
0
0
0
0
-58
78
-83
-51
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
-28
-26
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
47
19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
26
2
0
0
0
0
0
-77
49
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-71
-32
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
-13
-15
28
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
-4
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
-8
-10
0
0
0
0
0
-85
18
-58
20
10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-3
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
-7
0
-6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
22
2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
27
-22
-50
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
13
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
30
2
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
8
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
8
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-13
0
-2
0
0
-3
0
-13
-6
1
6
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
-2
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
1
23
15
-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
18
0
0
0
0
0
0
2
0
-3
1
-29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
20
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
29
8
6
9
-19
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-38
-36
-14
13
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
14
-50
-25
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-21
0
-9
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
5
0
1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
1
-2
1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
6
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
41
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
52
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
-32
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
-3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
4
0
0
5
0
0
-5
0
0
-13
0
0
45
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
9
1
0
0
0
0
0
-32
14
-38
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
8
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
4
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
-6
0
0
0
0
-3
0
-3
-1
-31
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-1
0
-5
0
0
4
0
6
-1
-5
-4
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
-8
3
-97
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-28
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
12
-19
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
-2
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-12
0
0
0
0
-5
10
0
13
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
0
3
0
0
0
0
12
2
1
-8
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
2
2
-10
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
115
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
22
19
-29
-7
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
0
0
0
0
0
-3
0
15
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
0
0
0
0
0
0
66
32
-89
13
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
15
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
-5
0
0
7
0
0
-12
0
-8
-14
0
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
10
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
16
25
-11
-16
1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-7
-2
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-5
-2
0
-4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
11
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
22
-8
27
4
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
7
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-5
0
0
0
0
0
-31
26
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-7
-4
0
0
-8
0
0
-6
-2
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
-3
0
0
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-13
0
0
0
0
0
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
0
0
2
0
0
0
0
0
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
-6
0
0
0
0
0
-38
23
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-29
-21
0
0
0
0
0
9
32
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-4
-34
0
0
0
0
0
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
0
-5
-8
0
0
0
0
0
-1
1
5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
6
0
0
0
0
0
-3
51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
-3
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
18
0
0
0
0
0
-11
-5
5
-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
-4
0
0
0
0
0
0
0
-10
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
15
0
0
0
0
0
-14
2
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
51
10
-18
-32
-18
-25
12
-28
5
-21
-4
9
0
34
0
-7
-9
6
40
2
-9
-4
0
-8
3
10
0
0
0
0
0
-24
0
-10
0
26
0
55
0
67
0
24
0
0
0
0
0
-1
0
22
0
73
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
22
6
-4
-20
15
43
111
76
98
93
0
0
0
0
0
0
0
15
52
3
71
10
-2
6
9
14
-2
1
3
0
0
41
69
35
4
5
-5
-5
57
-19
0
0
0
8
-33
0
0
0
-6
-6
-14
-1
0
5
-3
-14
0
0
2
-2
-8
-4
-4
4
-2
0
1
1
6
0
-4
0
0
2
3
-3
-1
0
5
0
-2
-1
-3
-10
-44
-1
0
-1
10
-36
-16
0
-24
20
-17
-99
-56
-23
112
-32
-34
0
-17
0
-24
-147
-125
-15
-9
-8
-37
-10
-9
31
0
-20
0
53
-7
-2
-18
2
12
30
0
-23
26
34
7
0
5
0
50
112
-1
-1
25
37
54
5
6
29
24
-22
8
23
0
66
32
14
2
36
25
44
5
13
28
26
37
1
0
1
0
-4
-4
0
0
0
1
0
0
-1
0
2
2
2
-1
0
5
1
0
0
0
-3
1
-1
-3
1
8
1
4
0
6
0
4
-1
4
-1
10
1
2
2
0
-15
-246
-1
0
0
-48
-132
-57
-2
0
-62
-98
-177
-90
-63
-17
-66
-40
0
-54
2
-91
-221
-85
-172
-29
-80
-49
-39
-42
-21
-2
19
0
-1
30
-5
1
16
3
-11
1
0
-5
7
-11
2
14
0
-8
35
17
10
5
18
-23
7
6
6
63
62
11
3
0
38
-10
22
13
24
80
56
6
18
45
42
86
-17
0
0
0
-50
12
0
0
0
2
7
-40
-47
12
-11
-17
24
0
23
71
19
22
29
25
14
17
12
11
43
61
92
190
0
82
-33
71
84
100
88
-10
21
131
168
171
13
-87
0
0
0
-2
18
-1
0
0
75
-29
-26
-22
-25
30
-44
-31
0
0
32
17
-2
-6
6
-8
-25
-55
-61
-72
-31
2
54
0
-72
6
16
18
-4
-77
80
-11
-28
-65
1
38
-50
-36
0
10
-5
25
-10
22
-103
-15
-44
-1
-4
23
-32
18
49
0
19
0
37
7
7
36
1
43
39
60
-21
-2
-16
-2
-4
1
1
1
5
18
23
3
9
6
0
1
-8
-8
-3
-12
-34
19
-1
-21
58
-60
-39
-11
-4
0
-134
15
-41
-59
-101
-37
0
13
0
0
0
-7
17
54
-36
12
3
-5
-63
9
7
2
-7
0
0
15
-1
-3
-44
14
-12
-48
-12
4
-11
17
-4
8
13
-2
0
-8
18
-31
10
1
-4
0
0
3
22
-20
24
16
9
-8
-1
0
2
9
20
0
-1
7
0
0
0
0
0
-14
-9
-2
-19
1
37
6
6
1
-15
-4
-2
3
2
-17
1
3
-12
25
-18
22
9
-40
0
-3
-14
-29
-24
-37
-8
3
-4
0
0
0
-3
-14
67
15
6
0
0
0
0
0
-17
63
7
40
1
-59
0
0
0
0
0
0
0
0
0
0
-126
-38
13
152
265
-51
11
-22
136
191
-46
11
46
92
169
-135
-30
61
94
140
-65
-28
12
44
29
-62
-19
-6
-10
-14
0
0
0
0
0
-186
-95
-1
3
5
-4
-11
-13
3
6
-66
-19
17
44
60
-91
-8
10
14
51
-105
-32
-7
9
27
8
-22
-10
-2
-7
-25
-7
-24
-14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-10
32
91
101
85
13
0
0
-147
9
14
74
78
14
0
0
0
-104
-34
19
72
103
22
0
0
0
-104
-24
0
65
38
76
0
0
0
-28
-15
-27
-12
10
12
-19
-30
-61
-18
-18
-11
-16
-27
-23
-28
-41
-60
49
35
22
5
3
7
-1
0
0
-91
-40
22
29
69
21
0
0
-37
0
33
26
24
7
-2
-11
-20
-78
0
-78
-69
32
-14
-7
-30
-22
2
0
0
-95
-23
-5
19
-4
-32
-13
-37
-14
20
22
26
15
5
-7
-64
-11
48
70
-13
-6
-3
-7
-14
-29
45
-5
-2
-6
-10
-5
-3
-26
-19
0
-28
-70
-6
-38
-3
10
11
-16
-40
-46
-43
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-24
5
-14
-31
-2
-18
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
49
-4
2
-33
-25
-20
4
-94
33
-42
-76
-48
0
-20
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-22
53
44
4
18
-31
-12
15
-46
-76
-1
-9
-10
8
16
49
-56
-46
-74
-28
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
4
21
-8
-4
-10
-18
-12
6
-23
-14
-1
-15
18
-5
20
-35
-1
-25
9
-30
-25
21
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-36
-2
-7
-13
-7
-4
-22
-18
-11
-22
0
-10
-4
-2
-2
1
3
18
6
16
5
42
-8
32
9
-12
-5
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-22
-21
-13
-13
-21
-8
-11
-9
-12
-12
-2
-5
2
5
1
11
4
2
4
2
-11
-9
19
39
3
44
39
20
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-30
-26
-7
-2
-3
-1
-6
1
3
1
-5
-2
-2
3
3
5
12
21
18
20
37
23
40
12
7
39
71
0
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-41
-4
-27
-6
-21
11
13
1
3
-3
3
1
7
8
9
17
22
18
11
24
31
42
24
46
80
47
110
-19
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-48
-9
-43
11
-18
-1
0
0
4
0
-1
0
7
4
10
13
18
15
24
7
11
10
6
13
44
25
16
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
14
-41
-36
4
-5
-4
9
0
5
5
4
-1
12
0
2
8
6
14
-9
-27
-7
49
62
-13
24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
18
-24
-23
-31
10
1
8
7
9
-8
-6
-13
5
-9
-3
-33
-61
0
-33
-46
-8
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-29
22
15
9
12
9
-15
-7
-4
-18
-4
-10
-36
-41
-26
-4
61
32
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-29
1
-36
-5
-7
-87
-45
-39
-63
-44
-19
-48
-5
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-1
-5
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
4
3
-1
-1
0
-2
3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-5
-3
-5
18
-19
-5
69
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
17
12
-19
-8
-8
1
13
-3
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
4
0
0
3
2
4
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
-1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
3
2
1
8
25
1
4
2
6
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-8
19
6
-13
-23
-15
-14
87
-24
0
6
3
-5
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
8
0
-7
-30
7
9
-5
0
-40
3
-2
-2
18
-3
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
7
2
-2
0
-5
-7
-3
13
-16
5
-1
7
-10
5
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
1
5
-6
-3
3
-1
-9
-8
3
13
-15
-1
-2
-8
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
-7
-12
7
-1
-8
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
2
16
-8
20
5
0
-8
-6
8
-8
15
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-6
8
-25
15
17
29
14
-24
3
-14
-10
-3
-1
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
5
-5
-5
13
5
-15
7
6
-10
-1
-10
-13
30
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
2
-3
3
-7
-25
6
-9
3
19
13
-2
4
7
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
1
8
-6
0
1
-2
-2
2
-1
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-3
9
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
1
0
0
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
0
-7
2
0
6
7
5
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-1
12
-14
0
5
4
-10
-2
-8
15
25
-1
8
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-10
19
-3
-13
12
-20
-19
-1
-7
-25
-21
-17
22
-8
-9
3
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-15
40
42
-27
-3
-19
2
40
-12
44
14
9
31
-8
3
-3
5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-5
7
-13
-8
6
-25
-8
-3
25
-2
3
-2
5
-9
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
-2
6
0
-2
-1
-13
-2
-13
5
8
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
4
-2
0
0
0
-4
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-1
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-3
3
6
-1
-9
0
3
4
-12
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-7
-3
19
5
-7
8
-4
-19
8
8
6
7
-4
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
30
5
-30
-10
10
0
19
17
-25
3
17
-19
-3
12
-12
-19
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
4
12
-5
18
23
13
-25
2
30
-2
16
23
16
14
7
2
-14
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
9
6
8
-19
-8
7
-5
37
-3
-14
-14
-12
-24
8
30
-1
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
9
-14
5
3
0
31
2
50
-20
33
-8
-5
-19
-8
-5
2
-5
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
-3
-24
5
13
-1
7
-2
17
13
-9
-1
14
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
1
1
8
-2
-2
-1
1
1
12
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
-1
1
1
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
10
-10
6
-8
4
8
6
-14
-4
2
0
4
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-3
-6
27
20
-23
-18
8
-13
-12
-8
-27
-8
16
22
6
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-3
7
-35
-27
-39
-28
-24
-9
44
7
-8
10
-36
12
31
-49
10
5
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
14
11
-107
-30
52
-22
-2
12
-43
-42
-74
18
-30
10
32
33
21
-25
-1
-25
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-23
0
2
3
64
-26
-30
-43
33
-8
-9
27
-10
-22
3
-54
9
-35
-12
-13
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
7
-41
52
-40
-31
-10
-44
29
20
-80
-43
-21
7
48
-8
7
36
22
29
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
-5
38
10
-41
-20
-29
-29
-44
-74
15
44
-15
-26
1
19
78
-7
-6
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
15
-24
-40
9
16
80
-19
6
11
-66
-5
-10
-7
-9
16
-34
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
2
-13
3
-5
21
-2
26
-18
-8
-8
-22
-8
-15
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
1
2
0
-2
-1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-4
1
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-4
7
-7
2
8
9
22
19
-21
-12
9
-2
-14
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
49
-33
28
24
-31
12
0
8
-28
42
22
-9
28
20
-10
21
-13
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
9
40
9
-27
0
43
-30
-6
-32
-9
-29
26
21
-5
-9
13
8
4
43
17
14
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
41
15
-41
-36
36
56
-12
-26
-24
18
-59
36
4
-33
-17
4
-5
16
-16
18
21
54
5
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-20
5
29
16
23
18
-9
59
-43
-42
65
9
5
34
31
47
32
50
62
-12
37
53
55
-2
55
40
13
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
28
32
22
-6
66
28
47
15
31
92
51
18
16
29
11
16
5
11
35
14
9
49
8
80
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
40
-40
-25
-26
-24
-57
51
-28
27
9
3
56
30
7
29
-2
-1
25
13
-29
48
15
9
14
-2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
20
-13
-8
-11
2
-34
-11
11
16
21
7
22
15
46
19
26
5
47
9
-27
7
45
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-8
-22
-45
-50
28
-50
23
-2
8
2
-7
11
1
-16
-49
25
5
-63
14
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
36
5
-44
10
-63
-11
-9
1
-29
49
-54
-19
1
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
3
-9
5
14
-7
7
-21
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-22
30
-40
-10
-8
-51
-24
-13
-97
-42
2
-20
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-12
-31
7
-47
-44
-56
-81
-22
-78
-20
-17
18
-41
-44
-39
-67
-20
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-4
5
-48
-42
-53
-38
-21
-112
-64
-73
-43
-9
-43
26
21
-18
-4
29
-22
-25
16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
4
-30
-16
-87
-50
-105
-49
-18
-63
-37
-12
-33
-4
0
17
2
13
-18
-2
13
-27
10
-16
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-53
13
15
-45
-31
-45
-33
2
-35
-29
-12
-7
1
3
7
12
11
6
10
16
36
-2
5
13
28
22
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-60
-21
-39
-38
-19
-30
-21
11
-39
15
1
-6
8
21
21
10
15
14
3
19
12
-5
24
50
31
3
-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
0
0
0
0
0
0
0
0
-1
-42
-53
-19
6
-32
-11
-12
-3
2
-1
4
-1
1
9
9
14
9
20
24
30
23
31
-5
-16
29
3
4
-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
0
0
0
0
0
0
0
0
4
5
-33
35
-75
20
-8
10
4
3
10
5
-1
6
6
9
9
9
17
23
12
6
0
15
28
29
19
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-3
-92
23
11
5
10
-2
4
-1
-5
-3
5
-2
14
13
-9
0
-16
-22
14
25
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
60
-8
36
44
16
12
15
-2
0
-12
-2
-13
6
-12
-8
-4
-48
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
2
-6
9
11
-4
-18
-3
-9
-4
-27
-15
-32
28
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-14
-29
-25
-22
3
5
-24
-25
-3
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-5
-24
5
-10
-20
-5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
50
6
-7
-51
6
26
21
-42
65
-21
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
51
62
47
-18
-35
2
37
-45
-31
-13
94
29
23
3
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
10
-21
-27
-9
7
20
-4
-17
-17
6
11
7
30
21
40
-28
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-27
-52
-16
-13
-13
-11
-2
-3
-20
-25
4
7
-1
10
7
-12
-30
58
9
69
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-32
4
-22
-27
-10
-9
-9
-9
-9
-2
2
12
11
3
14
-9
-36
-8
82
-4
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-11
2
-34
-3
-3
-1
5
-1
-1
8
-7
-1
11
6
8
0
6
-24
1
1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
28
5
-5
-28
11
14
5
-2
-8
7
7
9
2
6
11
12
-17
-58
-15
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
57
11
-18
39
-55
13
-63
-62
-56
17
-40
19
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-15
-12
-7
0
-9
1
-16
-38
-22
-13
-6
-1
1
1
15
14
39
1
-43
-18
-8
-23
0
16
-9
-15
-44
-15
-2
-13
-2
16
-11
-29
-84
-42
-37
-28
-16
-10
3
14
24
33
43
59
76
111
-1
-6
0
0
29
-32
-15
-4
9
16
13
2
9
11
10
-3
2
-62
-6
0
0
0
-21
-11
10
26
-9
-26
-48
4
14
0
3
8
0
-9
5
0
0
0
0
-29
0
0
1
0
-5
-11
5
8
-48
-52
-30
18
-10
-13
-15
-12
0
-20
-11
1
3
4
-3
0
-10
13
18
27
44
85
-5
35
-14
-4
-4
-3
4
0
-6
-7
0
0
-4
-16
13
-3
-12
-20
61
8
17
-2
7
-2
1
-3
-2
8
-2
18
18
-17
-29
75
-5
24
25
-4
1
11
7
0
-19
3
0
2
-5
-3
-82
-11
52
37
50
31
2
4
13
2
0
-6
-8
0
0
3
-12
-6
-29
12
71
34
60
21
21
5
8
-14
5
5
0
0
0
8
8
17
-29
42
79
33
39
56
48
-1
-10
-11
-3
0
0
0
-2
-1
-1
4
-1
10
75
68
2
49
-29
-19
-36
63
-3
-20
5
-7
20
34
26
-4
0
-144
-17
-16
-9
-10
7
5
12
-17
-1
13
-29
49
14
21
18
0
-59
-30
-9
-3
2
3
9
-4
-5
6
19
-4
-12
-4
43
0
-14
-67
-21
-4
-1
-7
1
-1
0
-3
32
3
-14
-21
-55
35
-18
-10
104
-11
-4
6
8
6
1
8
-6
-13
30
-3
-2
39
29
2
13
20
-10
12
5
11
-1
0
7
-13
-13
15
-13
-14
-6
35
24
39
2
24
21
18
19
-5
4
-15
-7
-33
2
-26
-3
-9
3
28
41
61
-13
11
-2
14
-13
-9
7
0
-23
-2
20
-13
8
-11
14
36
15
-20
-9
12
-3
-1
-12
10
0
2
0
-4
4
9
20
-15
65
39
-28
40
9
37
-5
-7
14
33
3
13
-23
-10
-29
0
0
0
0
-53
28
45
-14
72
7
-63
27
-51
-64
-60
2
-48
61
6
-14
6
12
-18
-34
-22
-24
3
1
4
24
-42
-4
-106
-67
43
-23
-29
-12
-18
-3
65
40
-31
31
-47
55
34
25
44
-35
-53
79
-37
10
50
16
14
21
29
-11
-16
32
-19
61
81
60
94
50
-4
15
31
45
27
-31
-1
14
39
57
-1
-5
11
-20
46
-29
-25
15
15
5
37
23
19
-6
-33
57
-24
-15
5
84
3
13
-57
31
28
78
10
-1
-1
12
6
2
-18
21
4
4
27
69
21
60
61
43
49
21
2
16
32
0
-7
9
12
41
0
3
17
-8
8
5
-44
-58
-22
-6
36
-36
18
77
-47
65
88
57
-8
46
-81
-47
-6
-5
18
0
-23
29
11
-20
18
-9
-41
-28
23
-18
11
-36
-21
-3
-9
39
0
16
-15
-22
-4
-30
-1
30
51
29
17
-39
33
-103
51
-22
30
6
55
13
-32
3
9
53
-21
-11
38
8
-35
-23
12
-27
6
19
10
21
-4
-12
2
35
-12
19
-9
8
-43
12
-44
-2
-31
-22
25
21
12
-3
34
67
37
-4
35
-6
-1
19
23
22
31
-1
45
42
31
-8
10
-10
-2
7
31
-11
56
-28
-23
-12
66
48
-18
4
34
52
15
63
29
-2
-23
-18
-10
-22
12
-8
-58
-38
0
4
22
35
36
39
24
29
-37
7
43
27
7
10
-7
7
-6
33
9
-18
-7
64
-8
59
36
47
32
12
-34
8
-10
29
17
5
15
12
-1
-22
0
13
-22
-31
-33
-1
-30
-1
0
44
46
-10
7
18
-5
11
21
15
-6
9
38
44
-28
-8
1
0
41
23
27
8
8
-6
-4
11
10
18
1
-64
39
10
5
-5
3
37
31
0
1
-1
-1
1
-5
-3
-1
-34
16
52
-17
-23
1
0
-1
64
37
13
7
3
0
-5
-6
-8
22
-17
-11
-15
3
0
0
8
54
16
22
21
5
4
1
-6
-24
-21
-16
-17
46
1
0
0
54
76
30
19
23
3
2
-4
-1
-11
-3
19
-13
-28
9
1
0
99
-17
11
11
49
17
-2
2
-19
42
-41
4
3
-3
-9
0
0
30
140
-2
72
-78
11
3
9
23
-42
50
-6
-12
0
1
0
0
41
-9
30
-4
7
-14
-12
2
0
15
9
98
-5
5
49
-14
0
18
18
56
-4
-4
-4
-14
1
0
4
13
53
-22
19
70
-7
-1
68
14
0
14
4
2
-9
1
1
17
9
38
18
-34
45
-1
0
45
-8
13
-30
-15
-1
2
-2
-1
10
2
-8
0
33
17
-8
-1
33
-13
41
-7
9
2
12
1
-4
4
3
18
-12
26
14
-41
0
43
39
32
17
-21
5
17
4
2
10
4
21
28
29
-42
-30
0
50
-1
5
-19
2
5
7
1
3
-14
-9
32
8
-15
-18
-19
0
10
-11
-40
62
11
31
5
1
-2
-35
8
-25
33
1
-16
-2
0
67
6
-8
59
-9
8
-11
-6
-17
23
3
17
1
0
0
0
0
45
63
-26
17
-4
21
40
-5
0
48
34
27
10
38
27
16
0
104
18
16
-60
-3
-17
19
17
13
-5
-21
-46
-19
50
-7
-3
-5
-34
53
42
13
-2
4
-62
23
27
33
26
12
5
19
0
-16
1
71
43
-7
14
16
-19
22
-1
2
-32
4
1
-22
-4
12
5
-1
-18
-1
48
38
-24
-8
-11
6
14
33
26
-16
-6
-8
2
4
3
32
27
23
30
34
6
-6
-7
5
26
88
26
13
24
0
0
0
62
59
41
23
20
20
-10
-35
-9
-4
-32
-25
11
8
0
0
0
47
22
29
23
1
-7
-21
-10
28
-32
2
-8
-11
-1
0
-1
0
-4
61
-18
22
17
38
-59
-94
-25
31
26
25
-3
-3
2
0
0
65
63
57
30
35
23
0
-62
0
1
72
-29
28
-5
0
2
0
56
7
23
60
6
-16
27
47
8
1
68
0
62
30
-4
3
0
27
-5
-17
-12
23
32
-21
17
61
1
44
31
73
3
-2
3
0
-14
-17
23
-4
39
-5
-24
-13
29
14
-4
-4
5
-4
-1
4
0
-13
-13
-6
36
-6
47
32
-9
3
5
27
27
1
6
-4
4
0
28
29
8
34
26
-25
1
33
7
51
5
19
-5
9
0
2
0
28
78
-1
-22
10
-9
-42
-33
65
-12
-12
6
5
5
0
2
0
-4
20
55
9
37
-13
-28
43
-29
-51
38
17
2
4
-2
0
0
-21
24
66
5
-77
10
2
-28
18
-60
5
1
0
1
5
0
0
0
0
5
13
24
8
76
-29
0
74
35
19
6
11
3
-3
7
-3
-1
5
17
2
-69
-80
0
-11
8
9
2
-1
3
10
-9
9
0
-2
9
47
-68
0
-54
35
54
19
1
2
6
9
15
-5
-1
0
5
13
-20
36
-30
-37
-27
40
34
2
5
17
16
12
7
6
0
5
-6
-11
-16
19
-19
7
-24
-7
19
-5
6
12
10
8
4
0
-5
10
-26
47
-5
-24
7
32
-20
13
13
-12
9
4
-2
16
1
19
-5
18
-5
39
34
23
16
3
12
8
-2
-2
12
-16
5
1
1
23
-9
-17
15
-22
34
-7
25
-9
8
-2
-15
42
-21
76
0
-1
0
-2
-3
-32
23
41
-82
11
-12
-14
-10
-22
38
29
0
0
-17
-14
31
-13
4
-103
-18
0
-9
-6
0
0
-12
-9
0
11
1
6
-28
16
11
17
29
0
77
0
18
-9
-4
-2
-3
-2
27
3
-18
-2
-10
-40
55
-14
33
51
4
-12
-9
1
15
7
-2
-8
5
-5
-5
-6
-4
40
-10
41
-11
-37
23
9
-6
5
7
-2
-19
0
18
17
-20
-16
2
-16
9
-16
15
4
-2
11
-1
7
-7
6
1
-1
16
3
-18
22
65
24
-26
-23
-8
8
16
9
4
1
5
0
0
-2
-29
48
4
-8
9
-27
2
10
23
-10
5
-4
30
-5
0
0
0
-3
0
16
29
8
-79
14
72
29
-17
-5
-25
7
-70
0
0
0
0
1
1
36
-7
12
12
-33
34
-26
-20
-4
-25
-24
-1
-5
31
-57
15
-25
27
11
0
11
11
1
30
16
22
-20
38
-4
26
-34
-56
-30
-99
68
0
41
0
-2
-8
17
18
23
-18
58
8
-45
-15
-8
-38
2
-16
32
54
2
6
8
18
30
10
2
0
8
23
2
-75
27
72
-31
53
7
27
16
20
22
37
11
-3
33
-2
-6
-2
-7
23
-96
-59
16
34
22
21
-10
10
10
63
71
-14
19
-19
-9
-82
-28
52
-1
-2
10
37
14
48
46
22
13
-25
28
-56
-15
-20
30
-47
-105
-26
60
11
37
46
-3
-5
24
43
-28
-63
-14
-6
0
-19
30
-25
41
24
6
11
32
53
-42
60
-57
14
68
-1
-24
-28
-48
5
20
6
-45
12
74
46
-30
-58
80
1
5
0
8
36
-28
-22
6
52
-21
10
0
10
44
-11
2
12
49
24
15
1
-14
-9
-35
-24
-111
-13
32
58
0
34
-28
17
9
36
22
42
-12
6
29
-16
-43
-1
15
-22
31
35
9
-23
9
9
25
-7
17
-17
4
41
30
50
34
-29
67
90
56
39
-3
-31
39
12
-5
30
-8
-102
42
-8
-92
-1
4
45
10
28
21
23
20
-2
17
46
-60
0
6
-38
-17
40
51
-1
22
24
42
3
37
30
19
31
8
-33
-1
1
0
-23
49
44
16
-6
17
50
59
2
5
2
-13
-20
17
0
-4
33
13
34
49
46
25
-7
54
-3
-3
-3
17
18
-20
-39
0
0
-7
8
-40
-17
26
-35
45
-1
27
-21
-69
-6
12
-101
-27
-29
13
-27
-20
4
6
-5
15
0
3
12
-26
-26
1
-2
-2
0
8
25
-30
-14
-3
0
2
-3
6
-5
14
10
11
2
0
-16
0
-19
-17
11
11
2
1
-1
19
3
-2
2
-7
-34
13
-15
-3
0
19
0
21
14
0
5
16
15
-2
-3
-2
-26
-6
-10
10
0
0
12
19
29
10
-2
22
4
14
-4
4
-22
-32
-23
1
0
-1
0
20
52
43
5
17
4
14
5
9
-8
1
6
-21
-1
-4
0
0
-10
1
32
28
9
5
10
22
0
-25
23
-61
-8
-4
-1
1
0
2
-56
-15
30
-10
0
-2
14
31
-21
-100
-8
-8
-2
1
0
0
-30
-68
-21
-5
8
3
20
10
13
-28
-1
0
0
0
0
0
0
-4
27
-21
-14
3
3
17
12
0
2
2
20
11
-48
20
-1
0
-13
17
-41
-11
-1
3
2
2
6
-29
-9
-59
22
-5
1
0
1
39
16
-29
-23
-9
13
6
5
4
4
-12
57
-51
-26
1
1
0
9
1
1
-10
-11
-5
15
9
12
3
-2
-59
15
-16
-22
-2
0
-19
-12
-5
-21
-2
31
19
14
0
17
-16
-2
-20
-4
-30
8
0
-33
11
0
40
35
7
48
25
2
2
1
18
53
-5
-17
-9
0
-20
-41
-30
-34
-11
19
18
8
1
-8
2
-23
-3
-8
-2
-2
0
-4
-17
-59
4
-23
24
42
3
32
-4
53
13
-5
-8
2
0
-2
0
-53
3
151
13
21
36
25
-1
4
59
-5
0
0
0
0
0
-62
38
23
47
-8
13
13
46
0
-43
28
8
-8
1
0
0
0
19
5
8
10
-1
5
18
-12
-8
22
-4
25
-31
-38
1
-3
1
11
6
-10
58
9
-3
-16
27
-27
-14
17
-28
-7
-12
1
3
0
-23
26
19
15
3
-15
43
44
19
10
-27
-48
46
0
-2
1
0
10
11
7
13
9
50
6
53
4
17
7
-13
-32
-3
1
0
0
-11
23
7
19
20
19
35
30
3
-16
-43
-10
4
4
0
0
0
14
-21
-21
6
43
-21
26
47
45
-42
-51
13
5
0
0
0
0
57
-49
-4
32
-13
16
46
28
19
-6
-8
0
0
0
0
0
0
36
-8
13
-11
9
5
-69
-2
-5
9
2
0
0
0
0
0
0
32
39
26
-1
4
2
38
15
0
-3
17
-6
1
-32
-14
0
0
104
15
60
37
0
-7
-14
14
4
-43
-46
74
50
60
-14
0
0
16
-36
47
36
22
28
6
-6
35
-17
19
-49
41
-3
29
0
0
18
23
16
35
-7
9
30
53
32
21
-33
-2
-7
6
6
0
0
62
-3
23
48
40
32
27
9
44
-3
-8
-93
22
8
-7
7
0
-6
40
19
22
29
67
36
25
7
-13
41
-26
-24
56
14
22
0
-24
57
36
48
38
38
34
37
5
-5
-61
66
-18
-68
58
15
-1
4
38
-3
86
40
-4
-12
-17
32
21
30
26
-19
-17
-30
11
0
0
14
81
6
-25
27
55
-32
-19
78
65
-7
1
2
-5
-1
0
0
-77
101
134
28
-13
-8
-23
-20
-31
-33
-18
-22
-23
4
-14
6
-4
-15
-57
-8
-4
16
0
0
7
3
-42
-33
-8
7
-19
-3
11
4
7
-41
-32
-12
1
26
-35
20
-3
6
-59
-12
-14
27
-12
18
-6
-3
4
-32
0
-34
-49
22
-1
0
-6
20
-52
-36
-23
-10
-31
-38
-4
-5
41
-15
17
-6
-12
-20
16
-35
5
39
-22
11
-13
5
-8
-16
-6
26
33
41
0
12
43
18
27
2
-19
-9
38
51
-13
1
11
-22
-20
-11
-1
-16
31
27
38
-2
-10
-17
1
-4
35
22
35
-14
22
11
-12
2
2
1
28
13
-3
2
5
3
2
12
71
-10
10
24
-17
-8
3
5
1
41
23
13
-13
-17
-30
13
2
18
-8
-2
4
1
-23
4
-22
14
27
20
-13
32
-9
3
-7
-7
-31
40
-26
1
-10
-12
-2
-2
5
35
49
106
86
17
13
0
0
0
0
0
0
9
38
24
21
6
-3
-9
-23
9
-2
-26
-47
0
0
18
36
29
-21
11
-21
-5
31
-36
0
0
0
-7
-18
0
0
0
-2
-3
-7
-4
0
5
0
-11
0
0
-5
2
-9
-3
-1
2
1
3
-1
-1
-1
1
0
0
3
11
6
3
0
3
13
2
4
4
3
-3
-81
-140
0
-21
-29
-76
-191
-90
-120
-1
-7
-29
-8
3
18
-44
-194
0
-97
6
-28
-207
-138
-102
9
-12
-18
-16
3
7
-2
-116
0
-17
56
-7
-65
-11
-15
24
0
-3
-6
9
20
7
-46
0
6
63
0
-15
1
11
30
4
12
26
15
19
24
27
0
36
-50
10
11
40
24
97
11
22
41
8
91
4
0
-1
0
5
-5
0
0
0
1
-1
-8
1
0
5
12
3
1
1
17
4
7
6
3
16
6
4
1
5
9
8
3
0
15
37
7
5
8
10
41
4
5
7
3
2
-238
-122
0
-63
-102
-193
-437
-166
-50
21
-52
-30
-124
-42
25
-84
-257
0
-246
-18
-77
-301
-302
-323
-27
-36
-59
-75
-48
-29
10
-29
0
-36
13
3
-63
-40
-64
21
13
3
1
18
8
74
47
0
69
103
50
16
26
80
85
22
49
82
91
44
79
114
0
146
-10
86
44
78
130
76
42
71
53
93
184
-62
0
0
0
-40
-15
0
0
0
-21
-19
-51
-37
-38
-34
-37
-12
0
21
16
-3
-7
-19
-23
-41
-22
-28
-1
-15
-35
76
106
0
-36
-14
7
-6
53
14
-19
-1
-14
29
22
3
-80
-70
0
5
-77
-8
-22
29
-10
-31
-2
-59
-48
-53
-6
-91
-52
0
-39
-62
-34
-8
-117
-35
-32
-18
-58
-51
-52
-28
-113
14
0
-11
-56
-60
-18
-20
-79
-21
-43
-58
-47
-40
-16
-79
-21
0
25
-76
-69
-63
-19
-24
-51
-61
-38
-34
0
18
-70
-124
0
41
0
0
-33
12
18
-1
-12
-10
44
-37
-5
-9
-3
-5
-2
0
0
2
5
22
-5
-5
0
-1
-4
0
4
2
18
-26
10
14
2
-17
-30
-2
1
-7
0
-33
21
-9
-21
-2
6
14
10
0
0
0
-48
34
-36
-11
-15
23
2
-76
0
3
-11
-7
-14
0
33
-7
-8
-15
31
33
18
-15
-28
13
-33
-7
12
-7
-17
11
11
47
5
-11
1
-29
74
15
-31
-55
-31
12
7
-7
-13
45
-21
-10
12
17
-14
-11
21
-12
-2
-18
13
-20
-17
4
-14
-6
6
17
9
-6
3
-15
0
-3
2
-2
-68
-31
14
-20
8
-11
-1
42
8
-21
-36
-50
-16
-39
-40
-10
0
-10
-10
-25
-40
-58
-83
25
-30
1
-2
-5
47
-14
-19
-84
-26
-4
12
-16
-25
0
0
0
0
0
0
0
0
0
0
-81
-105
-47
63
166
-103
-41
-47
94
121
-104
-56
-25
39
96
-120
-56
-51
29
119
-51
-43
-15
-1
15
-9
-19
-26
-18
-43
0
0
0
0
0
-89
-45
-6
9
17
-5
-2
0
3
9
-54
-11
-18
9
37
-53
-11
-11
6
22
-40
-29
-10
5
12
-19
-33
-10
-4
-23
-9
-5
-26
-20
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-45
17
71
86
105
52
0
0
-105
-50
25
35
92
9
0
0
0
-109
-42
12
51
40
17
0
0
0
-103
-57
-7
34
31
35
0
0
0
-23
-27
-20
-23
-24
-27
-84
-51
-88
-11
-6
-15
-43
-56
-53
-57
-75
-90
27
16
20
9
6
7
-2
0
0
-126
-102
-31
-27
0
-4
2
-4
-3
0
12
17
16
-5
-6
14
3
-16
0
-122
-60
-1
7
-3
-21
-35
-11
0
0
-108
-10
9
4
-8
-26
-17
-79
-39
-21
-2
1
-4
-3
2
-35
-20
-1
11
-20
-16
-15
-24
-37
-42
34
-4
6
-43
-28
-23
-32
-21
-28
0
-25
-37
-26
-23
-4
6
16
16
-9
35
-17
-51
-150
-35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-95
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-11
-15
15
-71
-41
15
-46
-65
-38
-96
16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-60
-17
-26
-82
-36
-71
-79
-37
-50
-63
-5
-70
-24
-84
-59
-70
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
53
4
-40
-3
-20
-24
-33
-38
-27
-11
-29
-33
-66
-18
-22
-34
2
-15
-38
38
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
19
-10
-2
-5
-6
3
-37
-23
-7
-4
-1
-8
16
-2
-7
-48
-35
-22
-53
-40
27
-42
124
42
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
10
38
28
-1
7
5
25
0
-1
-15
-19
-17
-19
-7
-2
5
-16
-6
5
2
12
-17
29
-8
84
31
44
48
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
9
34
7
66
16
34
8
2
7
-2
-14
16
1
9
1
2
10
7
-4
34
28
3
-36
27
-7
89
-44
-12
95
69
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
52
56
31
-2
16
25
26
2
22
10
21
18
25
24
1
12
21
32
50
57
32
42
2
25
-26
10
16
-8
-41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
-39
56
65
21
7
13
-8
3
3
18
7
31
23
28
39
20
34
41
26
66
25
-8
75
99
76
-3
75
49
36
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
147
-3
-4
40
17
33
25
7
10
19
42
44
53
22
42
29
24
5
25
44
74
-17
64
27
-35
62
-12
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
9
38
30
30
-28
27
45
12
34
42
66
54
25
23
42
55
27
-11
40
54
107
49
34
38
64
10
44
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
61
-52
2
57
26
2
47
45
18
35
49
49
56
1
85
63
82
64
91
15
-60
-37
-20
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
12
17
87
-27
1
35
106
50
27
15
37
66
68
138
50
33
-26
36
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
9
21
2
-37
-24
38
68
44
20
25
-23
14
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
-26
-24
14
-33
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-21
-7
-54
-98
-67
22
-62
17
31
28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
53
-58
16
36
82
-90
-75
71
40
16
10
70
9
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-63
161
63
93
23
9
51
13
-83
129
179
13
1
20
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-43
145
30
4
21
-6
-31
-45
-10
39
52
70
-45
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
38
-38
-18
-22
-26
-53
46
-4
14
19
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-22
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-9
5
5
2
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-8
-49
-143
-5
2
4
-85
-34
-36
5
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
87
18
2
-74
6
59
50
46
49
-37
23
61
63
27
-5
31
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
65
7
49
50
39
42
60
67
25
74
76
103
-106
69
29
48
-11
44
-24
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
12
-9
-5
46
-6
-104
-62
-5
91
-27
-86
-7
6
45
-73
82
-65
-31
-20
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
28
-47
-55
60
36
-45
5
11
7
86
51
-23
101
52
-24
-77
-58
-84
0
62
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
5
-9
3
-2
-13
99
48
-51
-50
-40
-73
43
57
-12
-7
-22
-9
-32
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
21
0
-5
-16
33
10
21
-34
-32
-2
30
30
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-4
0
-2
-8
-19
4
1
28
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
24
18
42
-10
46
-57
62
-12
-39
-66
30
-32
-18
-5
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-36
-41
-25
-30
110
29
-16
8
23
-44
3
-68
-41
-80
-69
-50
-2
8
9
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-27
-77
-19
24
-16
-69
118
-98
56
-17
78
59
-16
65
46
-1
-17
28
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
67
0
103
16
47
-4
-47
37
17
29
-9
-13
27
76
-48
84
-12
17
21
-9
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
71
86
-50
19
10
-38
53
-41
-35
-12
44
71
49
84
-13
-7
7
-16
5
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
1
46
-41
47
-11
-32
67
-54
-66
7
-57
104
28
3
-19
1
0
-13
35
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
5
43
-9
-5
53
38
-47
-57
18
33
-13
-29
3
-5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
8
1
-7
29
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
-1
-1
-16
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
3
6
-19
69
10
-31
45
-15
-5
25
-13
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
2
-22
-11
19
-38
-71
15
-41
-77
-31
-36
-42
5
24
13
4
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-4
15
-54
57
-120
-23
11
3
-1
24
-58
5
53
-20
-3
-22
-8
48
1
-8
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-20
-1
-36
-35
67
-18
-39
-22
-5
-50
25
-109
-34
101
75
-68
6
9
-47
-35
-25
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
-30
-15
-2
-39
-23
-34
74
67
44
-4
-11
15
7
11
40
6
46
-42
-40
-24
2
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
-48
69
0
21
56
34
-132
74
79
101
4
-24
-9
-7
49
24
16
-24
17
-3
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-3
12
14
-13
-23
-13
-20
42
54
-1
27
-60
4
-15
-50
-6
-22
-24
63
83
-25
-18
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
19
-2
-19
41
-5
76
11
132
-4
12
-118
-5
56
-58
9
-2
-18
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
4
-4
5
-6
-4
10
-2
13
-3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
12
-7
1
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-15
-41
30
-10
3
-4
17
-10
-10
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
69
-11
-35
-34
-11
-45
4
-44
-17
23
-47
-4
10
15
10
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
28
-70
-80
-26
35
80
-5
39
-49
13
-50
-11
-17
39
19
14
7
-13
-16
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
12
31
-70
23
-28
-14
16
0
-86
27
-41
11
-64
-39
-63
-14
12
-35
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
31
48
-29
60
75
-7
48
89
98
75
52
21
4
-62
88
-49
22
-34
-26
78
105
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-9
84
-31
-26
64
14
104
57
-26
-3
20
34
39
72
83
21
32
61
-74
-51
-74
-30
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
33
8
52
73
-1
24
-14
-61
57
-5
-13
-12
23
-54
-42
-58
90
128
21
-24
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-51
58
5
15
27
-13
105
-10
89
50
-85
-10
-17
76
42
6
48
-47
33
49
-5
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-5
9
-27
20
-10
-86
2
-40
-18
29
2
15
55
-24
34
26
23
-2
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
1
0
0
2
4
66
-26
36
35
26
-2
69
-6
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-32
-25
9
21
1
8
0
5
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-60
-14
-4
-84
-54
-81
-133
32
2
-62
1
17
-2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-85
-64
-16
-35
50
-120
-84
15
30
53
-49
36
21
-8
-19
2
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-88
2
-22
-67
-34
-54
-21
65
-17
-5
-29
-70
-36
-39
16
26
-39
-58
3
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-41
38
7
2
-38
-83
-48
-70
-51
-25
1
-16
4
-94
-66
60
-40
1
-22
-104
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-40
34
10
-1
-75
3
38
-65
-24
16
13
-51
-25
43
-15
6
-34
29
89
-126
-71
-82
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
-23
-43
25
-65
-17
10
32
-14
-28
-32
18
-69
-30
60
-61
-53
-33
-37
2
36
-84
65
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
-46
10
-28
-31
55
63
-30
-8
2
0
-23
21
-53
-36
-21
22
16
-18
-12
107
87
-41
-29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-6
2
-16
-47
-12
-49
-84
27
-16
38
9
12
0
-19
-82
13
18
14
57
-91
4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-32
10
72
18
24
18
24
-8
-3
9
31
60
-71
65
-11
-36
-42
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
9
-25
-19
-25
6
43
-28
-66
-65
-60
-16
-11
4
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
4
4
-5
-5
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
8
-13
10
18
10
58
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
23
46
-2
-13
26
-10
51
40
14
-12
15
-9
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
43
22
10
-63
-12
15
10
49
-20
-39
-14
36
-16
28
62
22
2
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-51
43
6
16
24
-3
37
-31
-26
-16
-30
38
-5
97
43
72
58
-35
-29
-31
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-41
-14
59
59
7
-47
-15
-11
17
-33
-5
-26
12
11
-15
-30
-4
7
2
-37
19
69
35
75
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-11
103
7
75
-5
23
29
-17
10
15
52
-7
24
-10
14
29
-4
-43
21
41
25
92
96
51
-16
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
-17
-47
-6
65
32
3
11
13
13
27
27
22
11
2
22
9
-24
33
10
-28
28
-13
43
-36
8
71
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
29
2
7
15
-10
-4
22
-12
88
30
-28
5
21
13
10
15
18
27
41
38
29
20
-23
-18
54
99
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
90
-29
-5
49
-77
39
19
-2
42
17
28
12
20
16
4
26
53
10
-39
-39
-16
21
54
-8
9
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
67
-19
47
59
2
27
-5
37
9
26
16
41
-30
25
22
14
42
-20
103
131
-10
-12
34
2
-10
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
0
0
0
0
0
0
0
0
0
4
0
1
32
-7
44
43
-12
39
26
-9
8
18
39
-7
16
40
29
43
51
44
0
12
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
4
22
-85
0
49
21
31
34
44
7
91
34
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
7
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
6
8
-18
20
15
18
-53
13
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-44
46
-22
47
-39
17
-85
-80
-16
-9
-31
-63
-27
-46
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-3
-53
-61
-33
-55
-15
11
-61
-39
-10
-13
-45
-44
-39
20
-96
-134
-147
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-32
-23
-106
-47
-50
19
-15
-7
-7
-18
-36
-30
-22
-45
-2
-18
-3
-32
11
-2
-16
35
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
56
12
-22
-25
-44
5
-18
-14
-3
-11
-4
4
4
-21
-1
-6
-14
32
-1
40
-20
-30
-5
5
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
0
0
0
0
0
0
0
0
0
1
23
25
-49
-19
-26
-33
-11
0
1
-9
-21
7
-2
8
20
6
16
32
1
14
69
50
13
47
-10
1
-23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
21
-28
-29
6
0
-55
11
-2
0
9
11
18
9
2
24
23
24
8
27
21
2
25
48
-23
42
42
-43
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
14
-31
22
44
-3
20
-8
32
10
45
12
20
22
10
37
6
11
37
-35
13
8
7
83
36
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-64
-23
-11
-52
-19
-18
0
35
17
11
20
6
50
21
29
37
49
5
61
87
13
-29
64
33
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
23
-2
-35
-9
22
49
42
29
10
-3
45
32
0
18
64
64
-4
47
40
12
58
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-3
-26
-16
19
71
31
39
28
56
30
15
68
-47
-28
60
2
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
18
22
-13
38
152
1
69
17
-31
7
11
30
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
-3
29
-1
15
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
17
-22
5
24
69
-20
-32
-6
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
19
92
-24
-22
-6
8
45
-37
28
24
12
22
20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-5
-7
4
-26
-27
-6
1
7
-28
-27
0
-9
13
30
48
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
-5
14
7
-20
0
-19
-15
-6
-22
7
4
5
-7
23
6
92
10
-21
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
95
41
32
6
16
18
-1
20
13
16
11
37
19
22
11
38
33
14
72
21
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
7
56
25
-16
28
-5
41
26
24
18
27
26
2
-5
25
-4
39
33
56
41
-11
-9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-28
26
38
35
55
47
37
24
41
6
0
10
19
-7
29
11
46
30
-4
5
62
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
19
26
45
93
54
-32
18
32
96
13
33
-18
21
11
-7
35
90
65
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
38
-13
47
-4
52
32
112
50
23
44
25
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
-32
-19
-13
-9
0
10
23
-40
-60
-51
-33
-17
-4
4
8
15
-65
-24
-35
-27
-24
-10
2
0
10
-10
-53
-28
-28
-8
-3
-11
-11
9
-122
-113
-95
-72
-56
-35
-23
-10
7
4
28
22
51
75
57
71
-4
0
-134
-89
-65
-45
-27
-20
-3
-6
1
-5
6
18
-16
12
-14
10
1
0
-7
-1
-5
-3
4
-28
-10
-11
3
-1
-46
10
22
64
59
48
0
0
0
12
-19
-2
9
4
-21
-10
72
-27
-45
-16
26
52
20
-12
-3
-36
-27
-24
0
-10
-2
-22
-2
-61
-13
10
-61
3
24
10
-22
8
24
2
-12
0
-6
-8
-10
-20
32
27
-5
-73
14
-5
-13
36
61
3
19
19
4
-1
-20
0
-17
-3
-23
54
36
-102
35
-37
65
46
21
23
25
7
-3
-6
-22
16
8
27
-9
-62
-73
-19
-47
34
27
20
28
26
8
-2
-9
-22
-11
0
0
43
-35
-65
116
-47
36
27
14
11
31
13
-17
-16
-16
-28
-1
1
-13
35
18
-1
-59
44
-30
13
-17
-27
9
13
-4
-65
6
0
0
-1
20
10
-25
-18
-36
10
-11
20
-25
-19
-34
-14
-38
-48
-28
-2
-48
-17
13
-8
2
17
0
-17
-14
10
-7
7
2
5
-8
57
-110
30
-6
-25
11
-29
9
0
-5
-52
-10
16
-5
1
-11
-16
-51
38
-37
-74
-37
15
-6
17
24
-35
1
18
3
-5
-8
-12
0
26
58
-28
11
28
-6
38
-12
13
7
-11
-2
-10
10
-12
-9
-32
-2
3
2
-15
-4
-7
-3
11
58
-12
-21
-8
4
5
-7
-11
1
-2
33
-24
7
32
-34
-13
7
7
-20
-18
-25
-15
-10
-14
-26
1
-68
-74
-48
13
-59
-41
-3
-31
-22
-12
17
-10
-16
-21
-16
-8
-37
-67
-22
20
39
-50
17
-3
6
-23
-21
-28
-20
5
-6
-6
-21
-25
0
-13
-25
-66
67
14
-11
-60
-28
-16
-104
-32
-15
-19
-8
4
-11
46
-38
-2
9
7
40
10
0
0
0
-58
-60
-35
68
-16
-105
-41
-32
-65
-30
93
12
28
-4
6
-35
-56
-67
-25
3
20
-5
-64
-64
-32
-67
100
34
-24
-17
14
8
-34
5
20
-17
5
3
-24
-17
-1
-14
74
22
-1
-37
-2
13
8
46
39
-12
4
5
-2
-25
36
-21
-4
4
47
-15
-30
10
-32
18
45
22
-6
6
12
-15
-4
-14
29
-3
47
-76
62
54
-18
-33
20
0
22
36
-7
-3
-31
-10
-6
19
6
14
-4
71
-5
55
5
38
-3
12
1
1
15
3
-10
-21
36
-10
26
42
-2
17
-35
-32
17
1
18
19
2
-16
-18
-12
-22
42
-3
-32
-18
-25
-13
-14
-23
-7
-5
17
26
43
-35
-17
-50
20
-59
45
0
-3
5
5
-26
4
4
0
-35
-65
54
-5
37
17
75
-9
16
-21
-25
25
-7
-5
1
32
0
8
-24
-25
-15
-23
-14
-53
14
-11
6
-2
39
-3
23
-5
24
46
-37
-24
5
40
-53
-1
-6
18
12
32
25
22
1
-4
29
3
27
2
-22
-1
-19
16
-19
-46
-20
7
-4
2
0
-1
4
15
13
38
16
40
21
-22
41
0
-13
-72
-3
23
19
-3
-37
17
0
5
7
-8
-24
27
0
-11
-5
19
12
-5
-48
23
-11
-16
6
-16
5
-3
2
14
56
33
-24
29
7
7
-31
-14
-14
26
11
-34
23
0
-7
-9
14
-15
-1
29
-2
-12
97
37
-43
-11
-83
-4
2
-19
-1
-26
-49
-29
-8
10
30
-1
1
0
20
47
2
-15
20
-29
-37
-16
0
21
16
7
0
-6
-77
-40
-1
20
18
4
19
14
-12
-44
-28
-19
17
-1
5
-17
-102
-67
40
3
11
2
20
19
-8
-8
4
-24
-22
-19
-7
19
-29
1
-2
-53
-52
13
46
9
-3
6
5
-5
2
-6
-7
-22
-15
115
55
-35
-44
-6
13
44
15
10
10
-6
-13
1
-2
1
-7
-57
12
-56
1
33
-5
-10
22
3
16
12
-5
-12
-5
-11
-5
-7
2
-70
-39
-56
10
10
0
4
39
13
-3
11
1
-9
-21
-12
-3
6
-96
-36
-67
7
-8
-10
50
2
-2
18
-7
-7
-8
-6
-25
-4
11
-62
-8
2
-4
-21
82
58
-57
-16
25
16
30
-5
-13
-39
-49
9
-81
-43
-86
10
0
9
-2
-15
32
27
49
-12
-8
0
-17
-7
15
44
78
10
-16
3
17
10
-14
25
17
11
2
-12
1
-6
2
32
-8
-13
17
-19
-87
-14
18
24
30
6
16
2
-8
3
-11
-5
-8
-8
-38
-1
-1
-29
-14
-11
23
31
-2
3
5
2
-4
-19
-15
-30
37
4
-13
-22
-37
7
-9
4
5
15
9
0
-3
-3
-12
-11
-25
-4
-43
-29
-56
-27
11
-3
-13
-11
16
-4
-28
-9
-13
-8
-30
-18
32
19
-83
-21
7
4
1
1
26
-3
-10
-35
-15
-10
-13
-30
75
-50
-46
21
-40
27
24
1
39
-6
9
-1
-2
-18
-15
-19
14
18
56
-14
-22
-113
0
-13
-31
22
-2
37
-19
21
22
21
6
-12
-71
0
-56
-16
-12
0
17
-15
68
-1
26
-17
-28
-21
0
59
16
-26
25
61
35
-29
-13
32
2
38
7
12
28
-9
-8
-25
-1
11
-5
-29
7
-6
-26
9
25
30
20
28
3
-7
-6
-15
-3
-19
57
-31
-2
-36
18
-42
26
-23
4
14
17
5
7
20
32
10
32
16
10
-101
62
-40
34
54
26
14
18
16
2
17
7
-18
23
-11
-40
48
-16
1
-83
42
76
35
8
9
0
23
19
-7
-12
-24
11
-40
18
-8
-29
19
44
-13
-4
-10
12
13
12
8
32
-12
-2
-16
31
-12
-50
-27
29
28
0
11
-31
24
20
9
-25
-23
-20
5
7
23
10
-22
1
6
-6
-3
52
17
3
-22
-10
4
18
-28
4
20
66
59
-9
16
15
9
0
20
6
9
32
55
28
-18
6
0
8
25
69
4
-30
76
-54
36
10
-6
16
18
4
14
3
43
43
3
-50
29
69
14
-5
-42
15
-12
5
12
4
39
38
34
15
-19
-37
-8
13
-22
-4
-33
-36
47
8
5
2
-1
12
27
6
4
-26
-37
-38
-15
-8
33
-37
-39
-60
1
3
22
5
-9
8
8
-22
50
36
-35
36
-47
21
-34
6
40
23
8
-5
11
10
-25
32
11
-5
9
-6
-73
-3
89
31
-20
-18
24
-9
24
41
17
4
-11
7
-40
-68
-19
-23
-89
-9
-32
-2
8
-21
-30
-3
-9
-9
19
1
-25
-44
5
12
-24
59
16
-81
1
-2
-7
-6
-31
-2
7
-16
-61
-22
49
22
47
-30
20
3
-8
0
0
0
40
-21
53
37
60
7
94
0
-35
-3
-39
8
-6
-12
5
-14
-3
29
-38
6
-61
-35
-19
0
42
-1
-39
-9
1
-9
-16
-1
-28
1
-68
-14
27
-12
-14
26
43
28
10
-14
10
-4
-5
-6
-4
-24
-23
-64
-1
23
9
25
-30
13
-5
8
0
22
9
3
23
2
-20
-29
38
9
-55
1
-73
44
-24
2
6
8
10
23
16
-21
8
11
-12
35
2
-67
-32
27
-57
-20
6
5
7
-1
17
9
-21
-5
-51
26
92
-118
-6
39
-36
-45
-38
-10
11
9
-17
0
24
39
6
-40
-91
-91
24
-15
-100
-6
-11
43
-8
-6
-3
3
-22
-8
7
35
-72
0
36
12
54
14
-85
28
-1
2
10
-10
-2
-12
53
4
43
0
-4
-36
-43
-2
51
-66
25
93
0
11
-4
-43
11
-7
-15
4
-20
37
6
-39
93
65
1
-16
62
28
0
9
-35
-1
-10
0
-8
-14
43
-30
-46
36
9
60
-5
-33
-1
-3
24
3
13
20
0
-14
13
-20
10
0
46
81
24
21
45
-6
-20
19
10
9
-4
-12
-17
-3
-61
1
7
-58
-96
-64
-5
-8
8
26
34
12
4
-36
-5
-10
-16
0
-23
24
6
-62
-74
6
-8
20
43
12
-7
2
-11
-7
-19
-3
0
-2
42
90
47
26
9
-49
58
-1
-28
-7
-15
-23
-16
4
12
0
0
-4
-23
15
7
-68
-12
-15
-20
9
-26
14
11
12
-22
32
0
0
0
0
-6
0
8
-49
57
-19
-22
-25
-16
-11
-6
21
5
28
-12
99
25
110
-18
38
46
0
13
69
-12
-7
3
-8
61
-60
-47
63
-11
-28
-66
-65
43
0
21
-19
-27
-6
18
10
5
11
8
-32
-81
-74
-14
-14
-26
51
76
21
-11
8
-36
-2
-15
18
-26
56
36
17
7
-65
14
41
-19
18
6
18
51
12
13
16
9
-13
-13
19
-27
-8
-15
-17
-40
-12
-2
-12
45
33
2
49
3
34
0
-111
29
-5
-5
-34
54
25
-10
19
7
33
49
25
39
53
-34
39
27
-33
76
-1
33
35
4
17
-10
-6
3
14
24
9
20
-17
26
-14
-53
46
-11
15
11
-12
43
0
2
-40
-8
22
67
31
13
87
47
-7
-58
50
-55
-20
-61
32
-15
-7
-24
11
31
53
-22
27
-12
0
91
61
-37
-28
-30
-6
18
-27
0
-31
-19
-13
14
-24
-14
-15
-24
35
79
15
19
-56
39
-15
15
45
0
-25
-35
14
-1
15
-21
-3
-37
-26
-16
13
-48
38
3
-20
2
10
-15
-18
-6
11
7
-19
55
-95
18
-97
40
34
-3
5
34
14
23
15
12
13
-1
-22
-1
22
-58
-27
35
-26
-15
52
-44
-8
16
29
1
28
12
12
21
28
12
21
-59
-64
-10
35
27
14
26
21
14
39
-4
0
-13
-8
3
-10
0
-55
42
57
43
67
-33
7
-2
21
7
-17
5
-7
-12
-33
6
0
-1
34
25
33
22
30
4
19
-28
-37
-13
-3
12
-7
11
46
0
2
-73
14
-33
-49
-79
-37
-2
-5
-27
-24
-1
-2
-1
16
6
28
11
-4
11
3
-11
-4
-7
0
23
-3
20
-41
-42
-84
-19
0
-25
-10
-18
-23
26
14
-3
11
6
-8
11
-37
-15
26
-70
-71
-2
37
13
5
10
18
4
-7
-11
-16
-25
0
-15
5
-19
-52
39
-7
5
23
-9
7
28
9
-15
3
-10
0
9
8
-61
-34
-13
-17
-10
-12
-4
-23
-3
-1
1
15
13
6
-8
3
24
20
1
-69
23
-1
-5
23
-14
-2
-4
-13
-23
17
-1
1
34
-9
10
-84
-85
-25
0
0
-26
-4
-4
-13
-4
-21
-6
-27
40
85
-16
-122
9
-32
6
0
-8
-4
-26
8
-12
-3
21
21
-3
-37
-37
-84
-45
-46
19
-1
0
11
21
-10
-17
-22
14
17
-43
-10
-44
-11
23
-1
0
0
0
0
-44
8
-11
-3
13
14
10
3
0
18
-28
-9
-48
-64
5
-8
-20
12
0
3
3
16
25
16
-14
3
21
-8
-19
0
-25
28
-18
2
40
-48
5
12
21
40
19
-23
-9
-3
27
-22
-17
-5
-2
34
4
27
-21
-3
44
34
25
24
6
-13
-3
-6
-62
96
52
54
62
-2
17
-13
33
55
28
27
20
8
-11
-2
3
-83
-66
-18
-78
53
-1
57
12
-8
10
40
13
1
-6
-13
-7
4
-72
104
-90
-120
-18
44
22
-3
33
15
6
-20
-10
-14
-30
-9
-36
6
12
69
-61
-26
2
40
-47
-59
-21
3
-26
-9
-31
-35
-1
-1
-48
-29
66
78
-20
-9
0
-50
46
-21
8
31
46
18
36
82
-53
-89
33
-5
10
1
0
4
1
-9
2
15
-13
-4
45
0
-15
11
56
1
-6
-3
19
0
14
-9
12
26
-12
1
-29
38
35
-15
24
18
71
-23
85
-13
17
16
-13
-10
18
-1
-7
11
-14
17
-31
-20
-77
12
42
-36
-10
25
5
17
-9
9
33
2
-10
0
-22
18
3
-4
21
-24
-81
-3
2
-5
-4
7
28
28
22
38
31
-18
-53
73
52
-22
32
-160
-26
0
-36
5
7
15
18
-2
-11
53
25
18
9
45
88
-3
-25
-1
0
-5
-30
-6
-2
-43
0
-3
-46
70
-5
15
25
94
-8
-12
-8
0
-11
-22
-22
23
17
17
-27
-42
-6
-40
-8
6
-7
8
0
0
0
31
5
-24
-70
16
49
-94
54
48
-88
-9
3
7
0
0
0
0
-4
38
28
18
23
-8
-15
39
0
10
1
9
2
30
-7
-54
-40
3
6
3
10
36
13
18
10
24
-33
9
26
-12
-5
50
9
0
-6
-7
24
37
19
31
-23
6
-10
14
19
-125
-20
-32
-7
-9
0
-20
11
33
2
20
21
34
4
10
37
-13
21
-4
-12
29
-28
-8
-1
-11
26
9
15
14
-10
-15
26
27
-37
-13
-9
-9
-71
7
-10
1
-26
29
18
44
-14
-4
13
-3
-7
-11
-4
-17
-28
-56
38
-19
-22
25
7
27
10
-8
-4
-13
-14
16
-48
1
58
-23
-2
26
27
82
29
18
18
-28
-2
31
4
23
18
20
95
-21
-48
-56
36
-10
0
17
16
33
37
22
-34
13
-15
43
-94
113
3
-16
-78
12
0
0
-105
1
51
7
-3
-4
5
4
-21
9
-20
-31
-9
-3
7
3
-8
-27
15
-1
12
24
5
5
-4
0
-4
13
-5
3
3
-14
9
0
6
-22
-55
1
2
35
-2
13
-2
1
-73
-79
-23
-18
-31
-6
7
-1
7
-31
-29
-29
8
-21
3
8
1
20
-30
-41
-56
-15
2
-9
17
2
16
-34
6
-26
-40
16
3
13
3
33
-18
-14
-37
2
20
24
0
-2
92
33
-8
11
-1
-8
0
-9
-7
-25
26
8
-15
16
4
-4
-15
-4
-11
20
15
40
21
9
14
-6
-5
-6
40
39
5
3
-1
18
-2
-2
0
35
29
7
26
13
11
-3
0
-1
-5
-24
44
33
1
14
8
0
10
15
24
11
33
13
-4
-2
1
5
11
12
-3
-14
-11
-6
8
11
14
4
18
-12
-15
-40
-11
4
25
3
-34
0
-36
-31
-27
-22
-25
-5
-25
54
69
-85
-4
0
0
0
0
0
0
3
-6
2
-69
-2
-12
-15
-53
11
-8
-36
-56
0
0
7
-17
-43
-39
-6
-56
-16
-17
-38
0
0
0
-6
-5
0
0
0
1
-7
-1
-3
6
4
9
-12
0
3
-1
6
-5
-1
2
-2
13
5
1
10
0
20
17
0
6
-4
13
10
6
10
11
12
13
13
10
-13
-112
-230
0
-75
-6
-89
-145
-126
-152
-13
-16
-27
-45
-15
-14
-63
-172
0
-130
15
-31
-169
-116
-131
-1
-3
-18
-21
-2
5
3
-115
0
-22
23
-3
-88
-44
-25
20
1
-2
-2
-2
-13
3
-36
0
14
26
1
-19
-4
-2
29
-4
12
10
2
-19
-1
36
0
26
21
34
14
34
21
-15
23
31
11
36
45
8
0
-5
0
6
2
0
0
0
6
3
1
3
-1
2
14
7
-1
6
6
6
0
5
6
10
-1
2
6
15
2
7
11
6
17
27
-1
8
14
18
16
3
1
0
-7
-15
-90
-98
0
-90
-9
-88
-448
-130
-146
14
10
21
6
-44
2
-15
-198
0
-179
-2
-7
-181
-228
-119
14
-1
11
-8
26
10
36
-27
0
-51
47
21
-38
-55
-37
22
6
19
12
20
38
82
93
0
66
59
48
34
27
70
24
22
28
46
3
2
-3
121
0
125
-33
66
55
65
72
43
23
30
26
44
59
-49
0
0
0
-29
-12
0
0
0
-11
-20
-23
-20
-11
-11
-29
12
0
-12
-30
-2
17
-7
-25
-29
-2
2
20
5
-14
40
47
0
28
34
27
-7
82
39
19
22
-2
54
-18
-5
-139
-98
0
5
-43
-47
29
13
-15
-28
-17
-40
-59
-49
-11
-114
-19
0
-69
-36
-40
-50
5
9
-40
-24
-47
-50
-43
-23
-123
10
0
19
-100
-61
-32
-25
6
-30
-33
-51
-48
-49
0
-138
-61
0
13
-35
-74
-70
-31
-30
3
-62
-62
-62
-9
1
37
-25
0
47
0
-48
-92
4
-13
-3
-9
-9
32
14
-6
-8
-10
-1
-2
5
6
3
9
13
-2
-4
-1
5
3
5
5
7
13
-16
28
38
43
-4
-6
10
10
-20
0
1
-3
-16
-14
5
16
24
17
0
0
0
-110
-14
-21
-21
-2
16
25
-93
-4
-7
-20
-21
-9
-1
3
-29
-11
-22
-10
9
-9
-17
-9
-10
-30
-7
17
40
60
-40
11
38
1
-11
-4
5
106
36
16
-27
-8
-9
-8
-3
-17
46
-7
5
-33
1
0
-20
9
-3
-32
-7
13
-27
-55
22
5
17
0
7
10
-3
0
-8
-5
-5
0
1
2
-14
-8
-2
11
-35
8
27
-7
-48
-55
-32
30
-36
-1
-15
-2
-18
-41
-22
-26
-48
-49
34
-29
-26
4
-19
17
-45
30
-41
-19
14
-16
10
-61
0
0
0
0
0
0
0
0
0
0
-92
-72
-51
-12
0
-35
-27
-32
10
15
-52
-50
-16
0
-15
-84
-76
-47
-12
3
-59
-76
-48
-1
7
-31
-21
-46
-27
-15
-1
0
-1
0
1
-59
-41
-20
-14
-23
0
-3
-3
4
-1
-45
-51
-54
-37
-69
-76
-15
-5
-36
-31
-39
-28
0
-10
-20
-21
-31
-32
-1
-3
-10
-15
-31
-34
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
-49
-10
-4
28
153
34
0
0
-101
-52
12
-4
58
8
0
0
0
-119
-53
-3
-2
63
24
0
0
0
-152
-90
-12
12
48
-44
0
0
0
-31
-46
-27
-18
-6
-15
-66
-70
-78
-9
-31
-18
-35
-13
-31
-67
-82
-73
18
9
12
7
1
6
-5
-1
-2
-142
-131
-100
-62
-30
-22
-15
-5
-21
0
-15
12
6
-7
-6
19
-7
-12
0
-141
-79
-3
8
-13
-22
-34
-14
0
0
-100
-5
-3
-18
-16
-39
-13
-61
-53
-21
-17
-13
-13
-16
-17
-32
-16
-15
18
-12
-20
-14
-10
-45
-41
11
-10
10
-31
-41
-29
-33
-12
-35
0
-33
-17
-5
-57
6
16
12
9
7
-1
-44
6
-41
-51
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-124
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
86
-31
4
-70
-12
-51
-72
-37
-98
-136
13
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
37
20
40
-13
-47
-44
-63
-13
-15
-46
-60
28
-32
54
-117
-59
-61
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
81
31
43
0
5
-26
-26
-34
-38
-58
-57
-41
-39
-43
-26
-46
-31
51
52
42
42
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-14
58
-22
38
-12
-9
1
-25
-16
-42
-18
-27
-13
1
4
-12
-15
-8
19
-32
-85
-67
79
-16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
40
-2
-21
-18
15
13
-45
-16
-22
26
-18
-13
-27
-13
-33
29
-38
77
4
64
63
49
9
71
-24
57
13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-9
9
-43
0
22
-13
-11
11
-26
-16
-11
0
-2
10
8
32
32
56
50
80
40
10
21
89
61
93
-24
7
80
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
68
-35
33
15
-33
-21
5
-11
8
13
-15
24
-2
43
17
36
25
25
22
81
-2
35
29
44
19
-49
18
-54
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
103
38
27
54
1
35
17
-6
26
21
31
42
62
49
76
53
-6
40
20
47
79
-42
-40
70
48
31
33
-2
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
115
28
82
59
63
12
-12
30
27
45
82
68
37
18
71
41
48
54
49
54
90
91
1
55
-13
19
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
-48
-11
74
34
34
-13
12
66
70
81
53
46
73
169
70
89
44
56
61
1
36
1
-3
23
22
-13
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
11
-55
42
69
87
49
-21
33
137
50
15
69
22
37
64
53
90
93
-26
17
-8
-10
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
3
-21
-24
3
97
36
30
54
32
26
72
100
68
83
12
22
-38
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
19
29
-5
-48
-18
-5
24
16
0
-15
0
17
-1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-7
4
-41
46
-10
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-28
21
-90
-57
-61
-5
-8
56
39
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
24
-40
-50
-12
82
-83
-135
2
-69
80
-29
22
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
73
12
33
35
39
-22
-1
-23
88
52
33
-17
13
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-34
29
17
24
11
69
49
-49
-22
-12
-22
1
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-36
-1
-8
0
-6
-5
41
17
10
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-17
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
9
26
30
-13
-7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-23
-28
-132
-6
6
28
-33
-71
-44
7
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
76
-11
13
-2
-23
-29
-29
29
-11
9
47
27
9
-1
-7
-5
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
69
10
67
-35
-1
-8
107
37
103
15
57
94
-33
-19
63
-13
-20
-9
-14
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
7
10
-44
10
-10
-63
29
2
15
44
35
5
-18
49
11
20
-4
-43
-10
4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-53
-58
-19
16
-27
-29
3
104
-16
38
10
75
54
15
-47
-31
8
2
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
4
-19
18
12
35
13
-2
0
-1
-15
-16
10
3
19
-9
-4
-4
-6
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
0
6
5
-1
-5
4
1
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-16
-46
8
-6
-31
19
8
9
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-44
23
69
-6
57
-4
13
-3
-2
-72
-13
-95
-24
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-42
-40
-24
-48
79
25
-47
22
-17
-39
2
-70
-21
-63
-48
18
-6
8
9
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-7
-92
-27
-29
38
-29
67
-118
102
58
-11
59
-34
101
-6
8
-11
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
48
34
45
29
9
59
-5
-15
14
1
-19
-27
22
55
-5
62
-29
42
20
-1
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
33
52
-41
11
14
-11
-31
-16
-45
-22
38
73
13
38
23
-13
12
-13
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
14
-25
21
-12
-47
52
-38
-51
-51
-12
61
-5
10
-42
20
-1
0
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
18
0
-2
8
3
-4
-17
-6
-2
-2
-2
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
1
1
-7
8
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
0
-5
-5
-36
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
50
-18
14
12
50
-17
-34
8
-24
-89
30
-41
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-23
-35
-42
-8
22
-73
40
-27
-12
-79
-105
-15
-74
16
52
30
5
-7
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
15
7
8
-32
42
-56
-34
-75
-8
-53
-41
-52
24
46
-14
-65
-3
11
19
1
-7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-17
-38
-5
-100
62
17
-14
-29
20
-59
51
-44
-3
-18
121
-51
12
54
-51
-70
13
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-27
-6
-18
-34
-33
13
-27
58
15
26
-17
-11
-38
30
15
51
23
16
-26
-37
-14
-19
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
14
-33
-32
-18
-23
18
-11
-64
20
-15
69
29
51
-26
30
26
-16
-35
-52
14
14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-4
4
-19
20
-14
48
-37
66
10
40
23
7
33
23
-1
8
14
-22
57
-31
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
20
-12
-8
31
-25
63
-29
120
9
-1
-63
-8
-4
-7
9
-2
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
3
-3
4
-5
-4
0
0
-1
-3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
-5
3
-1
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
-18
-96
29
-22
20
-13
18
-8
-29
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
38
-22
-37
-1
-9
-38
-117
-23
8
49
-22
53
-19
33
13
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
35
-110
-2
-37
-29
45
3
25
11
-1
-102
-53
-25
18
-11
39
-11
4
-17
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-5
-5
35
-24
14
75
1
3
22
-9
9
-78
60
-24
18
-39
5
29
-29
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
29
4
16
-48
45
29
23
-78
-7
11
32
-16
25
-80
18
51
54
-2
-44
-66
55
56
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-25
-15
34
25
78
59
11
20
-8
39
54
37
-20
25
50
-14
-13
54
-26
-42
-41
-13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
18
33
20
51
21
-50
16
-39
29
50
-88
-48
30
11
39
-33
40
21
1
6
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-25
56
23
23
48
-32
8
41
26
11
-22
51
18
9
46
16
46
-18
1
-2
-5
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
18
3
5
-4
-39
-11
28
1
14
49
-1
62
28
5
-1
17
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
1
1
8
7
-15
24
-5
2
4
4
1
4
-6
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-27
-86
8
23
7
5
1
5
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
-28
2
-28
-96
-51
-20
-22
1
-87
-9
22
-1
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
-71
-68
-22
-52
-26
-57
-76
-51
48
1
-68
-30
27
-32
9
-18
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
70
-54
-80
9
-37
-39
-6
-23
-5
-13
-53
28
41
-55
-82
24
45
-49
-51
2
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-24
-29
-27
-45
14
-31
-33
15
-58
-24
-94
-9
-11
-37
16
7
-23
-37
-56
-91
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
-18
-55
-52
-9
-88
-6
-29
-3
-4
-11
-11
-38
-37
-59
-53
-46
-77
57
-64
-52
-58
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
-1
-54
-14
-32
8
-104
-60
-9
-42
-9
-13
-24
-6
-23
-49
21
22
-70
39
46
29
31
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
6
42
2
-33
21
23
24
-2
9
9
-12
59
0
3
-16
-69
-12
-31
-6
53
69
-55
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-18
13
32
-40
-28
-65
32
58
19
56
11
-23
50
-8
34
-58
-43
13
12
-47
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
43
17
49
35
-40
-39
35
16
-83
44
70
-68
7
7
-1
-29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
-3
-30
22
29
14
3
-7
-18
-10
12
-14
5
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
2
4
-2
-6
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
5
-19
10
21
13
66
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
83
13
-6
31
11
3
29
-4
11
35
-13
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
37
65
32
-14
33
10
8
14
7
20
19
36
14
57
72
29
5
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
63
-5
18
-21
-5
23
-10
-29
-29
2
11
-15
7
31
41
57
-25
-13
-8
-24
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-11
50
-14
48
5
-32
-37
33
3
21
4
19
15
13
-29
9
-42
9
1
-7
18
96
13
49
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
7
49
9
47
13
-24
9
-15
32
8
11
7
-3
-12
-5
-22
54
-12
25
58
44
110
60
34
6
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
-11
5
-6
18
30
33
46
39
18
-17
-21
19
16
75
15
-19
24
-19
8
-1
6
55
77
3
-2
-12
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
30
-1
84
-7
54
64
31
52
-14
7
17
-14
14
-9
33
45
-16
-11
36
-14
45
-1
-30
2
7
26
58
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
107
-7
35
69
-18
-2
-35
9
26
16
3
-32
12
-18
9
67
87
55
45
-2
25
53
56
29
-7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
18
-22
31
-10
19
53
-46
-15
34
-29
19
32
24
28
-12
46
37
38
25
95
15
-57
19
4
-10
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
0
0
0
0
0
0
0
0
0
4
0
1
29
-4
2
59
9
46
6
6
-21
6
14
-39
6
20
24
21
57
4
18
14
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
12
-15
23
-28
10
45
8
16
41
24
6
82
23
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
3
-4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-18
-24
3
28
-56
9
-10
-34
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-9
-14
10
-4
-49
6
-27
-20
0
-6
35
-6
-60
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
45
10
-3
-35
10
-28
-15
-10
3
-15
-5
-13
-19
-53
-21
-60
-60
-82
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-48
-57
-2
-65
-31
1
-40
-36
-23
-24
18
-19
-10
-44
28
14
-10
-7
-56
-28
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-95
-16
-34
-59
0
-46
32
-12
-26
-24
12
3
-18
-21
21
-12
28
-33
5
9
42
-44
-5
-34
-13
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
0
0
0
0
0
0
0
0
0
1
16
-6
-39
-12
-5
-46
-23
9
-23
-18
4
15
2
8
-6
50
-11
28
-32
-15
22
51
-6
36
-1
29
-38
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
0
0
0
0
0
0
0
0
51
-10
-1
-59
24
-30
45
-28
10
2
36
21
-1
21
39
47
29
56
-12
41
3
1
16
12
-28
2
16
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
49
26
-53
18
-59
-34
-8
-16
10
36
49
35
39
28
42
50
7
23
21
-25
66
-33
14
4
29
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
-54
-3
-33
8
-14
22
63
-9
16
-1
20
15
29
-11
10
73
49
27
9
32
-5
25
59
-7
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
0
0
0
0
0
0
0
0
0
0
0
7
0
-9
20
-14
49
-23
80
62
11
2
17
-38
64
-26
66
16
51
-25
32
-42
16
53
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-49
20
15
14
33
46
58
16
58
-8
30
74
-3
-14
58
1
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-30
14
31
12
88
-4
21
19
-4
-8
1
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
8
35
44
17
30
-14
-32
-6
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
50
49
-27
19
0
3
-7
-20
36
-53
-70
98
24
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
2
-27
6
3
7
-31
-7
5
-13
27
57
-7
3
36
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
29
2
27
43
-15
3
14
22
-11
24
-9
-11
8
-2
29
-38
104
22
-16
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
24
-1
11
25
38
64
17
40
3
8
15
38
4
31
93
-44
90
76
131
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
10
23
9
36
58
45
11
31
60
8
3
-17
65
22
17
60
20
100
12
5
19
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
1
24
34
-14
-14
24
7
5
1
63
62
15
26
23
-55
27
33
-5
47
48
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
14
14
26
6
-5
80
23
67
58
32
-7
50
17
-24
-65
22
48
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
23
0
31
8
10
12
72
41
-20
18
24
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-40
-27
-25
-12
4
-3
-15
8
-26
-52
-38
-23
-23
-8
-6
15
2
-19
-41
-42
-40
-20
-17
-13
-4
5
-37
-56
-52
-28
-11
-7
-9
-8
-2
-17
-55
-54
-52
-41
-23
-30
-10
5
2
18
14
54
108
92
62
-4
0
-25
-39
-42
-47
-32
-27
-10
-12
9
-8
1
-18
17
-17
48
5
1
0
-8
-8
-2
5
12
-19
19
-45
6
-13
3
35
-17
77
99
39
0
0
0
-4
4
11
-2
12
-19
-24
-73
-6
40
-112
1
13
49
-3
37
-42
-32
-21
8
19
1
-3
-5
-25
-25
19
-65
-42
-12
-15
56
24
38
-24
-26
3
-7
2
-24
-5
27
-2
-3
-51
-39
16
-14
35
37
43
12
23
-17
-6
-43
4
38
21
17
-37
50
-70
20
-42
1
-29
24
7
14
7
-18
-12
9
5
6
20
5
-12
-15
-14
-34
15
6
-6
8
4
-8
2
-27
-21
13
0
-29
22
-29
-80
36
-110
43
-14
-7
15
0
-2
-18
-21
-7
35
-1
-1
-25
54
18
-66
-121
-16
-52
14
-38
-35
-17
-17
53
-24
-7
0
0
-1
0
-2
-12
-5
-10
-134
-31
-2
36
-15
62
-8
-44
10
-7
-7
-30
20
27
-51
-18
3
0
-51
-2
47
29
-26
-3
3
-17
-53
-76
-51
-3
-72
44
-30
2
0
-5
-22
38
15
10
-9
-27
-10
-40
-30
-30
-29
-53
-8
30
30
18
-16
-1
1
23
-6
-14
-20
-33
7
-19
-40
0
-16
-43
-4
16
50
21
28
14
-15
-5
-5
-10
-10
-7
57
-8
-64
28
-14
-15
-8
51
-38
-9
0
-19
-14
-4
-3
-4
-9
52
26
-13
13
-41
-20
-13
-20
0
-9
5
-16
-4
-16
-7
-29
1
-42
41
1
3
7
-22
-30
-7
5
5
-9
-20
-28
-31
-4
12
-7
15
11
-9
23
16
-13
-22
-9
-110
-91
-61
0
-8
-4
-28
15
0
-4
56
-47
27
20
-34
-37
-69
-61
2
-30
10
-19
-23
-61
11
-58
-2
66
-16
-8
89
11
0
0
0
-65
24
80
-24
-15
-21
-24
7
-17
-63
14
16
7
7
-14
-1
-70
-80
-26
-1
13
-33
-50
-27
-16
-16
16
-52
-26
-12
53
30
10
9
2
-34
-4
-12
5
14
-20
18
-7
22
0
-55
16
-13
34
32
16
-2
2
-10
-3
-4
-20
23
46
58
17
-34
-56
19
-45
13
17
25
2
25
16
-16
-47
-24
-11
16
-8
-60
-38
-37
-11
2
-1
2
7
4
4
-9
-2
-23
0
-49
1
-17
-20
28
-26
-89
-31
8
1
24
-5
-21
-35
4
-18
36
7
-49
-68
4
44
-34
32
-108
-56
27
-7
-29
37
-17
-17
35
-40
4
0
-31
-33
11
-6
-108
-51
-28
-18
38
35
43
9
-17
46
22
-45
-16
16
-16
-2
23
38
11
2
0
-23
-49
61
74
-51
-27
30
-68
-92
-60
-10
-20
3
8
29
7
0
-38
34
2
14
42
-19
-20
-21
-55
-11
-8
1
0
20
4
39
50
-26
9
22
-31
4
11
-12
-28
12
13
8
-19
-5
-21
-2
37
26
55
-12
4
13
-36
19
-16
-30
32
25
-32
-22
-15
-10
-5
13
46
26
-5
-28
-23
-27
10
-53
-49
-17
24
-5
-4
-2
-5
-16
-24
-18
-18
-42
-19
26
0
58
-18
12
46
-38
4
-89
35
15
-29
-35
1
-16
19
-59
21
-16
-51
-7
-17
24
-15
-59
-19
24
2
20
-52
-34
-11
-28
2
19
-15
-41
-6
40
15
28
-30
-94
34
-1
-67
-7
-32
-30
-23
-38
-17
-26
12
37
-18
34
-2
-26
-11
34
8
-11
49
0
29
-15
-1
-65
-56
-2
-6
0
-13
-2
12
3
-8
-19
5
7
-25
-24
22
-27
70
-63
-67
-46
-19
-3
21
-14
-11
53
-29
-3
-8
-2
-13
21
-28
-15
-14
-33
20
30
83
26
-1
6
40
-6
-3
21
-13
16
-19
10
-13
-29
-15
4
3
-2
3
-30
-2
4
9
-6
5
-14
-10
-10
-8
35
-45
-16
67
-8
-6
-7
-13
14
-9
-9
1
-12
-23
-19
8
47
-54
-60
34
71
30
4
-1
63
-29
-37
14
6
16
-4
-13
-44
-6
-31
-12
-41
-7
19
-66
30
-18
-4
34
-25
-25
14
11
6
-48
-23
-20
28
49
-27
-7
78
11
-33
34
-37
-13
16
-25
-41
5
-78
-3
-48
-39
-36
-11
0
11
-31
16
-11
-8
43
-25
-12
0
-26
-1
8
18
41
8
31
7
6
-13
22
-7
-9
11
3
-12
17
5
9
-3
4
9
-8
-31
-6
-3
4
17
-13
-3
2
-20
-6
-9
-29
-6
-21
-17
-20
-32
64
11
-20
12
-13
-6
27
-11
18
-9
2
-1
-1
-25
4
-25
-67
25
-39
14
-14
-2
-10
-2
-6
-12
7
-7
2
-24
0
-29
-33
-7
-1
-24
-4
5
-27
22
16
-21
34
-6
-8
3
-14
0
15
19
-20
1
22
-14
-13
15
-6
-11
30
-25
-21
-14
-20
-27
-14
-29
-61
-7
-45
46
-24
23
3
-5
-109
-31
-42
-22
-21
-4
3
-58
11
-10
-1
-41
0
-37
-17
-19
-13
13
-5
38
-27
6
30
20
-20
47
-79
7
3
0
2
-10
43
42
5
-41
-26
20
0
47
-37
-89
1
77
-24
-20
26
54
-20
-9
8
16
14
-25
-32
-26
-12
25
-91
48
-6
55
19
1
34
4
-16
-8
-7
-9
33
-24
29
-18
61
-99
51
-40
-52
-1
7
18
22
-4
12
12
13
6
-28
1
24
-27
33
-58
2
-14
1
-8
-26
29
17
-14
-44
46
-2
28
26
4
-20
-26
-72
-13
-58
6
22
-13
-7
11
21
34
0
5
3
-24
46
-16
-46
-40
-45
17
63
3
33
0
14
53
-10
-11
-14
4
4
5
54
-39
-72
-14
5
51
0
50
-11
-11
27
12
-29
-11
-5
-3
-2
-53
10
-51
-15
10
-6
-3
99
-26
-11
-1
31
3
18
-71
-19
-38
13
-9
8
-5
-17
9
0
31
0
-1
-4
5
45
-42
-23
0
60
43
65
22
40
20
-19
-1
-6
-12
15
-16
-11
21
13
-20
80
-35
41
-17
25
-13
74
-55
12
-28
4
-14
-7
16
13
-26
-29
17
-71
12
-37
2
55
76
-22
8
-3
10
-4
2
-10
11
-19
27
55
-36
-25
32
48
58
68
-26
-9
-10
-16
-8
-7
-39
-3
3
7
-79
100
-49
-11
-68
3
10
-3
-2
-1
-10
-5
-8
-4
12
-5
10
14
18
33
51
28
23
77
8
-17
-18
-9
3
-3
9
6
-29
-46
-21
-18
-34
15
-142
83
29
-1
-5
-19
-6
-6
-20
-13
-19
-23
16
50
-33
35
15
98
44
-15
-11
-2
-17
10
21
12
-72
11
-63
16
-41
68
-2
28
9
13
8
0
0
0
20
5
27
16
66
24
56
0
52
13
7
-58
-6
-25
0
-16
-20
7
-66
24
-43
-42
-39
0
12
-6
-40
21
-7
-31
-26
-14
31
2
-100
-39
-67
10
-14
45
-21
3
-10
-26
10
11
18
16
-16
-8
-3
-33
24
-15
19
55
-55
-1
-34
0
-3
39
-9
-14
-11
1
-24
-6
50
-12
-17
53
5
2
26
-3
26
20
-22
19
-10
-15
1
-1
14
15
23
-43
-52
-24
21
16
-26
9
-12
-41
-50
11
-38
-15
6
19
24
-51
-8
-110
-82
14
-34
-40
-8
10
24
-12
-25
-6
20
-62
-40
7
44
5
-56
-54
-31
-10
-29
25
-25
-2
36
-6
11
4
-50
0
-6
22
9
27
-14
40
41
-26
-10
21
-4
-70
-32
-22
-6
0
-18
9
-57
-53
5
44
9
52
0
28
27
2
3
28
-10
15
-15
21
56
-32
94
8
-28
5
67
27
0
-19
-15
-10
3
5
33
0
33
41
28
29
5
47
0
-8
26
33
30
-5
-1
17
-22
-9
-13
6
17
52
116
5
-19
35
28
1
-28
-9
39
6
-14
0
-13
15
-1
-7
-26
-25
-33
-34
-15
-14
-30
19
57
-34
-26
-17
-40
-45
32
0
36
7
-64
-63
-89
59
1
3
-18
4
-13
-17
-18
0
-29
-39
0
-3
22
-9
-36
-49
13
-126
38
-29
-13
-37
-29
-25
-25
13
-17
0
1
7
46
38
-22
-92
-77
-16
-27
-22
13
-34
-39
22
56
-72
0
0
0
0
-5
40
36
-75
-8
39
1
-65
66
-23
-38
-39
6
-16
-19
79
-10
36
18
11
10
0
11
-3
20
-12
-22
-67
-49
-11
-36
26
4
-14
-37
-9
26
0
45
-14
-19
30
48
22
-16
-13
-20
-6
-102
47
-2
20
22
25
16
66
24
29
13
-15
18
-22
-7
75
62
3
8
-7
-34
36
-18
31
-28
-13
31
38
11
-6
0
-21
-140
41
-15
-37
-78
-50
-39
-28
3
-23
20
-35
-8
37
-22
-40
-42
-55
-16
5
-27
7
45
-18
-6
4
-48
2
28
6
31
-23
-7
10
-62
98
36
68
-75
23
-12
-1
-35
-2
-25
-7
-40
15
31
-49
-26
12
-27
90
-56
16
-3
18
-11
1
10
14
89
47
-129
-60
-12
81
27
9
1
21
-16
13
-56
-36
33
14
-115
-20
88
48
-70
-95
-8
0
43
65
35
33
-45
13
-2
43
0
7
-7
-14
47
36
0
73
-24
-44
9
10
-65
23
7
10
34
84
0
-14
-12
25
-9
-2
23
-90
37
57
0
44
-7
28
79
-2
5
-10
85
40
22
17
-13
22
-64
-50
-23
-19
-35
-36
23
-35
-38
6
18
-11
5
3
-18
4
-31
22
-13
79
50
-57
7
4
-4
-11
24
-10
8
14
-44
-19
0
-35
-36
57
-44
-18
-25
-54
13
-7
-16
13
7
10
26
25
5
-8
24
50
-2
-21
18
-77
-5
-29
-18
-7
27
29
-1
-4
-7
-54
-22
-50
-1
0
-6
-5
-26
-27
-23
-3
4
27
27
-11
-16
-21
6
-3
-6
-27
0
2
-32
12
10
-69
9
-38
-35
-43
-23
43
36
-24
-26
-11
2
16
-24
40
19
9
7
5
19
0
11
9
-3
31
-34
-54
-21
0
36
-35
-2
-1
22
-4
12
55
33
4
41
-17
-44
-75
-80
-72
-5
-40
-19
33
18
-21
13
-4
-17
-32
-73
4
21
2
25
-81
45
-10
3
-7
-9
13
-26
4
-2
-29
-48
-33
-9
10
-74
-73
12
13
0
42
42
-9
-22
-12
5
-13
1
10
13
45
-52
78
26
-9
48
-4
23
33
12
-43
4
-31
14
12
12
-19
10
47
-46
-63
-91
17
0
47
11
45
12
27
-20
-6
-27
-32
10
-77
-39
-109
6
-24
5
0
-19
22
-7
14
-10
-7
-68
-42
8
-13
-10
-50
-38
-32
9
-1
0
9
58
14
30
-46
-42
17
-62
-38
-16
1
11
-1
0
0
0
0
61
-12
35
20
-2
-24
5
1
0
50
15
54
2
-70
-93
-12
-10
16
-27
-10
33
37
45
-4
20
3
43
-7
-14
-10
-35
-52
-8
2
-15
19
23
15
12
34
10
-1
13
-31
-3
-39
29
5
-68
-16
-4
-43
17
-7
31
21
53
-12
-6
9
-10
8
-19
70
24
31
-24
-2
-35
-3
33
-8
-4
-13
-1
-22
-17
-24
-49
-59
-81
-27
-40
73
-16
18
72
-39
2
47
5
31
-10
3
-15
-11
0
14
-49
-108
-50
8
-4
-3
-27
3
-16
-13
-2
27
-26
-4
20
52
-4
8
3
-77
5
-1
-72
-36
-74
27
-19
5
-3
3
1
-56
-18
-51
110
37
1
-30
0
-25
-19
4
-39
-16
-11
-7
56
-54
-55
-28
-27
-7
35
-5
0
-15
22
22
-12
-35
38
-8
48
0
38
51
6
-68
-20
8
7
0
-10
-24
19
21
23
12
-18
29
19
-2
19
-8
63
-20
41
2
8
39
-7
-19
-21
-9
6
19
-20
-25
-9
74
-31
63
27
3
7
-9
46
6
3
-12
0
15
5
14
-17
-23
103
-3
-8
-13
-37
-16
2
-13
-11
-5
-11
-25
-28
-12
-18
-91
-40
68
39
7
53
-61
13
0
26
14
-34
-8
12
-31
-6
22
-32
-86
8
-13
79
2
4
15
0
2
-10
14
27
-4
23
41
-87
-34
85
26
-43
45
29
-1
1
0
-13
-45
-3
-33
-41
-50
-32
34
-73
0
1
23
1
13
0
0
0
25
-53
50
-5
39
6
-92
-57
1
-110
2
3
12
0
0
0
0
1
-10
3
-31
-21
-14
23
28
0
6
9
31
-99
-46
38
20
5
31
14
-1
-22
16
7
-5
-17
-9
-10
45
-14
-1
-67
21
3
0
-16
15
28
6
22
57
26
-5
-25
-4
-61
-35
45
-64
-27
-1
0
54
6
-13
5
-15
24
-3
-34
4
45
30
22
89
-25
-12
-35
8
-26
-61
14
-14
41
11
10
-2
25
21
-23
-34
-30
4
10
-9
-2
2
6
1
-17
-10
-33
13
-17
-24
17
12
26
-13
-78
-88
49
-2
51
-4
-10
-10
-35
-8
-6
-24
21
2
-17
-32
-37
23
-83
-18
-16
-52
-64
30
22
-16
8
9
-3
-9
67
39
27
8
-83
62
-25
-6
0
-29
108
-38
-14
18
19
16
-61
-9
41
56
30
-4
-48
5
0
0
-45
6
8
-13
-5
0
30
4
-44
27
-21
-14
-5
-1
1
6
-6
-31
9
7
5
24
4
5
-7
3
-7
-14
3
-13
8
-5
7
0
7
-22
-50
-2
-16
4
14
18
1
5
-43
-30
-41
-21
-4
-16
10
3
10
-65
-29
4
0
-25
-1
18
5
-2
-26
8
-25
-17
13
-15
9
-1
12
24
-9
5
-16
-25
-11
4
1
30
-17
-18
-15
-12
-22
22
9
15
47
34
-13
-5
3
-11
-1
-15
-2
-18
20
-31
9
-8
3
4
-9
0
-7
63
2
31
-1
15
7
-6
-3
-7
54
31
14
18
-9
3
4
-1
-7
-5
17
-8
15
12
11
-4
4
-7
-94
43
25
11
19
24
-3
4
-2
16
22
15
17
6
10
6
-2
10
-14
-11
7
1
-17
7
5
5
9
-29
-19
-26
-11
62
-50
15
15
10
-35
-2
-43
-5
-19
-49
-50
-21
-13
-54
-56
-69
-1
0
0
0
0
0
0
-13
-50
-30
-28
-2
-30
-42
-111
68
7
-23
-4
0
0
-19
-9
-49
0
-30
-98
-72
-39
55
0
0
0
8
79
0
0
0
-4
44
10
42
-9
17
23
29
0
4
3
43
50
4
2
30
38
8
12
42
10
17
46
0
-5
26
84
58
-10
18
37
29
15
42
30
38
-54
-88
0
1
-23
-64
-14
-36
-56
17
-45
23
20
-44
34
-24
-24
0
-98
-14
-32
-66
-30
-23
-9
-11
-16
2
-3
5
3
-9
0
16
28
12
-45
3
-29
8
11
41
3
8
-23
49
23
0
-2
-20
-23
-25
-2
12
46
42
40
-28
30
-6
12
17
0
27
-14
-8
-36
35
-16
-19
-12
-1
27
17
-9
19
0
-18
0
0
10
0
0
0
-2
5
-38
17
-31
-3
14
8
2
14
32
10
-40
-7
3
30
22
0
3
27
18
-19
33
16
26
25
10
-19
15
42
-11
-16
-2
-17
-41
-59
-22
-8
0
-19
57
-3
-30
-6
-38
15
42
18
-34
53
50
3
-22
0
-29
0
-10
9
-36
10
33
6
6
-11
-16
11
43
-26
0
-8
-15
23
12
1
-20
-23
20
21
11
28
24
5
-6
0
19
3
12
27
66
-1
-39
31
-28
6
40
-45
0
47
0
-50
-1
-5
19
61
38
-7
-29
4
35
23
-4
26
0
0
0
-63
42
0
0
0
-9
19
37
34
18
-13
20
16
0
-21
32
40
56
-22
46
38
-59
36
16
9
-31
11
66
0
61
-28
-6
85
82
14
33
10
104
44
-19
29
-129
-26
0
3
-13
-96
-34
0
-7
11
-23
-42
-119
-6
-40
-50
46
0
8
37
-36
-56
19
22
-18
-20
-4
-46
-17
19
-53
-41
0
-51
-8
2
10
-11
-12
-70
-31
-2
-51
-21
14
38
-50
0
74
2
41
34
-8
10
-5
-6
-8
60
-36
-4
4
11
0
-5
0
0
-94
36
-22
-2
-9
27
7
4
-1
2
20
-1
-18
10
-2
14
-10
4
-15
11
15
4
0
3
-2
4
19
5
13
-49
-3
38
0
-17
40
-52
0
-13
30
67
13
-9
54
19
99
0
0
0
-27
-5
27
40
31
61
-3
42
7
-7
-8
-8
-10
4
31
-4
-10
3
2
-13
-23
29
-41
3
15
-5
10
6
8
-34
-4
1
-3
-7
-11
8
30
17
-17
-16
-2
21
-3
-32
3
-19
13
2
0
20
12
-7
0
-20
-13
-5
-26
-4
-23
21
-13
29
11
7
-15
6
-4
-8
2
-4
3
7
11
0
9
10
-8
-2
-14
8
-13
-9
-14
-3
-12
8
0
14
-12
-19
10
-15
-14
-20
-13
-12
-6
37
18
-10
-7
-22
-17
5
6
22
7
1
-67
0
0
0
0
0
0
0
0
0
0
-27
-79
-14
-44
-6
-46
29
-25
6
-17
5
-34
-12
-27
-42
47
-11
-18
-6
-48
-42
-14
-27
29
-13
-32
-50
-38
38
-19
4
2
-7
4
-1
-129
-88
-32
-41
-68
-11
-1
3
6
11
-33
-86
-115
-57
-67
-141
-41
16
-52
-65
-64
-106
-2
-59
-66
-12
-23
-35
21
11
-54
-23
-68
-12
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-148
-62
-6
-1
23
14
0
0
0
-87
-25
14
-3
1
0
0
0
0
28
-40
23
-70
-35
0
0
0
0
1
-3
-33
-7
24
-1
0
0
0
-19
-11
-40
-6
80
27
65
11
3
-26
-31
2
-6
25
-23
20
7
-29
19
6
4
1
-1
5
-5
2
-4
-130
-38
-9
-21
-33
7
-56
-38
-84
0
-87
-31
17
26
31
21
-59
-91
0
-111
-25
-8
-23
53
-69
-57
-30
0
0
-88
11
1
-39
-70
-57
-8
-69
-23
-40
-29
23
-53
-33
-53
-59
21
-12
66
-32
-10
-21
-1
-34
23
8
19
15
-46
-25
-3
-45
-36
-2
0
-7
-19
12
3
28
73
38
-23
-29
-44
43
7
37
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-47
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
11
27
-28
-96
1
10
-64
-9
34
-33
-17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
50
65
45
3
-5
-52
-14
24
-71
-13
-20
29
-7
-21
-18
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
45
-8
16
-81
-10
-30
9
-8
-14
-40
9
-9
-55
40
-40
28
-63
19
18
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
36
-20
-9
-27
20
-86
15
-85
-73
-20
6
-13
-54
0
39
68
25
50
5
-15
-20
-21
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-19
-26
4
-32
-50
-46
16
-44
8
8
53
57
19
90
-47
44
13
77
55
-11
26
23
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
1
27
-14
16
12
45
55
1
-4
17
-2
31
17
28
90
-6
-42
13
-27
4
32
13
14
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
-2
4
-19
-23
-3
-19
1
-25
36
45
6
7
37
83
4
23
72
16
50
12
0
17
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-23
-2
-7
-4
1
16
44
66
26
58
41
41
54
6
33
76
-9
-25
-12
-26
28
-7
-1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-25
8
55
-6
93
-38
-25
-22
-14
-41
70
44
19
52
-8
32
29
-2
26
12
-8
16
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
31
17
-41
36
17
30
-12
29
-1
-2
28
30
18
0
0
3
-1
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
12
1
0
30
12
0
26
3
0
10
-14
8
8
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
1
0
0
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-18
-23
0
5
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-8
-10
-15
8
-3
-9
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
3
6
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
4
1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
5
-13
-9
-9
16
-8
8
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-10
9
3
-11
2
-22
8
5
14
-6
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
-6
15
12
-1
-5
2
-7
0
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-2
0
0
-19
-12
-14
1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
1
3
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-4
-22
5
-4
-6
-2
-3
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-11
-8
25
-18
18
-7
-15
-10
-1
-2
1
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
12
16
-16
-15
19
-4
3
-11
-3
0
-13
-8
-3
-2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
-5
8
-5
2
-1
-14
11
13
7
19
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-2
21
-6
7
-23
-12
-2
8
-8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
5
0
0
-3
0
-8
1
12
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
-5
0
-10
0
1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-21
-14
0
-8
3
1
-4
-12
3
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
-4
-6
-3
-7
10
-21
8
18
-2
0
3
-4
12
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-2
20
-24
-5
-52
9
15
8
5
-19
-6
-25
6
-3
-3
5
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
0
-30
9
-12
-9
-19
5
-5
27
9
-47
2
11
-15
-16
6
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
3
-3
4
18
9
3
2
-49
-20
-14
-51
17
10
22
6
-8
5
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
-9
0
-7
0
15
-13
-1
25
-29
-9
5
-7
-3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-16
23
-5
7
2
2
1
10
6
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-4
-5
1
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-17
-16
4
19
-8
-2
1
-3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
-5
-52
19
1
0
-50
-14
-31
-21
-22
5
12
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-8
15
-29
-31
7
-9
-5
17
7
-17
-11
31
9
-9
5
-1
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-17
-17
-8
10
28
14
-8
6
8
-34
18
-38
10
-33
13
-4
1
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
10
-21
18
-21
-27
-89
-45
15
6
-6
28
7
-15
15
0
-2
-5
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-5
18
-21
50
-47
77
2
60
14
-19
27
33
-2
-10
-16
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
-1
35
-17
1
29
-2
-31
49
20
-17
27
-1
14
6
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
1
-9
39
36
19
-23
-3
-16
2
3
9
-6
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
1
2
3
-5
22
2
-4
5
-4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
-21
3
14
-4
6
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-21
-20
9
-10
-16
9
-21
3
-41
10
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
16
10
8
-37
-23
-1
-22
-13
-22
-9
-10
30
5
-17
8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-45
19
6
-32
33
-34
-55
-28
-14
-3
-9
33
6
-21
-5
8
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-15
-23
30
-17
-36
47
44
16
-13
15
-29
-12
-29
-28
24
-9
7
-14
-6
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-32
-26
-40
-1
-29
-69
-39
2
14
-10
11
-45
7
-35
-36
-30
-7
-4
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
11
-18
-7
-85
23
-24
6
-81
45
16
26
-25
7
-4
-7
-5
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-6
-5
10
-16
-2
-19
-9
15
-31
-14
37
7
-18
21
3
-1
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
8
-16
-1
-4
25
14
15
14
-7
18
0
-3
7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
-7
10
-4
7
6
4
-6
0
-4
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
12
11
4
-5
6
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
46
34
-41
7
26
-23
26
5
-3
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
9
1
-6
12
12
66
-43
-45
-48
37
50
15
6
2
12
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-21
44
5
-5
-14
24
-24
21
58
-12
-17
-40
55
-16
-2
9
7
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-32
41
-31
20
-2
-21
16
-8
-1
13
3
67
-29
33
44
18
5
14
20
-4
9
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
38
63
-39
22
35
-28
-2
-71
18
5
11
47
12
28
18
-52
-1
15
9
5
15
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
10
18
3
23
16
29
41
29
34
29
-39
9
-44
32
8
-6
38
10
19
7
2
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-4
-13
84
12
44
-48
8
17
21
19
-6
-8
4
0
18
11
2
-5
-3
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
17
10
6
-26
1
15
-14
-31
22
-21
-36
-12
-17
22
4
-2
7
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-23
-19
13
12
-10
5
7
9
23
4
8
2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
4
0
-2
0
8
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
20
-5
32
28
-18
3
22
-15
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-31
-5
-57
17
-9
-24
-30
-2
1
-24
-13
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
-56
9
-9
26
-14
5
-9
56
0
-73
18
-34
16
-52
9
10
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-6
14
13
-50
-35
-18
-60
20
-12
-60
3
14
-18
-15
16
24
13
-10
-19
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-46
-54
-1
-15
-63
-62
-4
-44
-42
-23
81
-18
-5
-21
-1
-41
24
16
31
-5
15
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
13
40
-67
51
-24
-1
21
18
12
-8
13
6
65
48
37
-21
43
-38
-3
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
13
-14
3
-50
28
53
93
15
-44
3
41
16
113
83
20
-14
5
6
31
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
-12
44
12
-56
51
76
49
20
85
-43
10
-27
22
37
25
5
-13
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
24
-7
-2
-22
-41
6
66
20
3
44
2
7
-8
1
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-12
-10
13
5
-5
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
19
6
-53
-47
-11
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
53
12
45
38
1
51
-13
38
-18
-16
-7
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
15
-37
40
40
13
-37
-9
15
18
52
-14
-36
-5
13
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
35
-21
-20
-80
-42
3
33
-46
31
-9
33
35
-4
-20
68
33
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
68
27
23
-42
53
46
30
25
41
-17
-13
27
17
55
-29
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
13
-7
-10
49
-25
61
4
27
-13
10
-1
8
25
22
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
7
-7
-4
-12
3
-29
13
5
14
6
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
6
-7
3
9
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
-5
-38
24
24
57
12
-71
-70
-64
30
-35
-10
27
19
-16
18
-19
-50
-2
17
-2
50
-20
-10
21
-28
-40
22
36
-10
30
-34
-20
2
-43
153
5
-31
-1
-59
-8
-25
23
-38
6
100
47
-6
30
-7
-3
0
-46
-28
45
-1
88
-8
33
23
-8
6
50
54
-6
27
30
2
0
0
-9
-15
2
-2
4
-2
-23
17
20
0
3
23
26
-26
21
11
0
0
0
-13
-41
16
-51
11
-28
38
-2
0
-22
-64
-44
-32
0
9
-32
-9
-24
5
30
13
-17
0
47
0
-40
-45
-56
-55
2
-73
-19
102
9
-1
40
-13
-15
-21
-11
-9
1
2
3
-28
-39
-5
-54
7
55
29
60
-34
-20
-5
-2
31
3
0
-1
-17
-34
-12
20
2
48
-17
37
39
-34
-50
-38
32
24
7
0
0
-8
-13
-13
-2
-32
-68
28
-27
26
-39
-21
21
46
69
-33
0
0
-3
-29
-28
-18
1
-32
-56
6
3
69
-5
-66
-59
86
18
0
0
0
-5
-1
-42
-12
18
4
53
12
60
102
48
26
89
47
0
0
0
0
0
0
13
40
13
5
12
31
16
57
-8
-10
-14
1
-19
-2
0
-16
30
-76
19
0
42
-5
55
-57
-45
-4
-44
-25
2
-5
-26
-64
-27
19
-34
-67
0
21
-9
47
51
41
3
-53
-7
1
-13
-17
-16
-11
-25
14
-42
3
19
-33
19
24
-37
43
18
-65
-1
-27
-55
5
24
6
39
34
34
50
-25
-57
21
-54
-3
44
-16
0
-7
-24
3
26
-9
13
-10
72
18
33
5
6
-17
-4
20
-2
2
-3
-29
19
24
0
-17
0
5
19
43
11
-60
18
-5
-11
-61
0
1
3
8
47
28
-73
-2
26
27
-46
19
16
27
39
-10
1
0
0
-4
-3
15
12
-28
66
30
-39
5
-34
16
27
14
58
54
0
0
0
0
3
47
-40
-25
-43
-78
6
-18
-1
-14
25
-43
21
2
21
39
28
14
43
28
0
0
0
19
51
42
12
-35
-12
-1
-22
-12
-6
-19
60
68
72
4
23
-10
-11
31
20
17
-61
13
-2
9
31
-8
2
14
-65
-9
-33
10
73
1
40
-15
1
1
33
-62
-6
-58
-9
3
31
-39
20
21
20
24
42
-14
2
22
-17
-57
12
5
8
0
9
43
-3
-37
-12
-39
-28
4
24
-40
1
-24
-4
-22
0
-23
-17
-27
-59
38
8
12
22
-41
-13
29
-5
21
35
6
-30
-1
12
17
30
-44
-39
-50
-69
-21
5
-11
2
-11
13
-7
36
-64
0
-1
-34
-1
-14
-3
-47
-63
66
-11
-36
-19
14
-55
8
-17
-33
0
0
0
2
-10
-3
-11
-28
-46
-44
64
24
-21
-9
-9
11
-1
-18
-42
-53
-25
-24
22
29
-12
0
96
56
32
-9
-5
-2
-31
5
-27
-54
-88
-20
-19
24
46
21
0
12
26
-6
-34
-17
4
-50
-18
-5
-52
-49
5
-17
11
4
42
47
88
59
-3
-27
-28
-1
-33
0
-12
-48
-49
-25
-9
21
6
38
92
67
-12
12
-21
-11
-19
-39
-16
-5
-14
5
-54
7
-24
11
-42
69
66
-34
-15
39
-10
-25
-31
-37
-14
10
48
-18
-14
-2
36
-5
37
31
-25
-53
11
25
1
-33
-20
-6
-20
24
-40
22
-4
-33
15
15
15
46
22
-40
-20
3
-40
4
2
-15
-3
0
44
2
-10
25
-43
9
34
-62
-8
38
15
-41
5
0
2
-8
-4
57
-14
-56
-15
41
2
-6
-6
-20
17
-3
-24
-7
-23
-2
-7
37
44
12
59
2
0
-1
12
-29
3
0
15
0
0
-15
-10
21
36
10
65
54
-2
45
37
62
-13
-47
-2
-7
-7
0
-37
-14
-31
48
51
34
-46
8
11
28
-64
-16
25
19
2
-8
0
34
-33
35
139
-32
-37
-5
59
-31
37
-2
-28
-22
-7
7
1
0
29
63
-48
42
28
33
44
27
32
1
-35
-16
-2
-28
-4
3
-1
-53
7
36
23
7
-9
-58
15
-9
6
-24
-11
31
-2
11
1
0
17
-33
5
-28
-46
51
-22
-23
-6
-23
33
0
-7
18
-8
1
0
-20
-129
-73
-77
29
-4
14
15
-31
61
-29
9
42
33
6
0
0
-3
11
31
-16
-7
-96
16
-26
37
35
18
-2
2
-3
0
-2
0
12
-54
4
-91
-61
15
60
-18
0
-30
21
6
-16
-20
-21
31
0
15
-50
-17
4
30
-11
38
-38
46
14
-65
-37
-13
-6
1
36
-1
37
-3
-27
-16
9
50
-8
-20
-35
24
-2
4
-10
-37
-29
47
0
-41
34
-4
-56
37
22
6
-10
-41
24
-12
-33
12
-10
-16
41
0
8
46
2
-4
47
-21
35
33
39
-43
-20
-10
-1
0
4
17
1
-33
-10
-10
5
12
1
70
25
-10
-18
2
-2
25
-23
2
3
2
-12
-10
-4
41
24
68
-97
30
-36
-48
-49
65
25
44
-11
-1
2
-29
-69
-28
4
-18
-39
-5
-48
-65
-16
-35
18
43
7
-1
-2
0
-24
-53
13
-24
-3
-13
-23
-72
47
10
37
3
18
13
-2
0
0
39
-35
21
-27
-1
8
5
19
0
2
-45
-4
-20
5
1
0
0
-31
33
20
77
-9
-6
30
47
6
49
22
-64
-43
3
-4
2
0
-5
-15
12
26
-5
-33
5
46
29
19
-36
2
-29
-17
-3
-2
1
19
71
40
30
80
26
-16
19
-27
-54
-43
-61
0
-12
-2
-1
0
-21
47
10
62
-5
37
-2
53
-18
2
-10
-28
-26
-28
0
-1
0
65
51
20
9
65
49
-49
33
52
56
-3
-1
42
-20
-1
-1
0
40
44
36
-43
-17
8
-3
22
-27
-27
-2
-33
-27
1
5
0
0
19
26
5
13
59
67
-25
-21
-15
-23
24
-1
-5
-3
-1
-1
0
-12
-51
21
-3
-4
-1
-10
-43
-12
-28
6
-4
1
-1
-1
0
0
-9
31
-2
48
17
-37
-59
39
0
52
40
-15
0
-10
1
0
0
-16
-5
25
45
3
47
34
-2
19
5
39
-25
3
-9
0
1
0
-14
-7
0
-17
81
-4
-9
-8
62
-6
11
-21
-20
-7
2
1
0
18
-22
25
23
-38
23
-5
13
88
-31
-13
16
9
1
3
1
0
26
-34
40
-39
45
-12
5
30
-5
-33
7
-7
-7
-7
0
1
0
-4
-11
-39
-15
-38
-27
97
-54
32
-24
17
16
-6
-5
0
0
0
-21
-8
-45
-19
-5
-3
9
14
60
-10
-2
-22
-6
4
0
0
0
-81
-79
28
19
7
-4
28
24
23
23
-2
3
-1
2
0
0
0
26
-18
-54
-33
50
-66
-6
-38
-23
-1
-1
-15
0
0
0
0
0
0
-4
12
18
-36
14
47
56
0
139
71
52
28
64
-26
4
-17
0
-5
-20
-24
39
35
-37
0
48
35
-18
69
83
13
-17
95
0
-4
-8
5
13
10
37
2
-25
10
-21
63
-13
-29
124
4
57
58
-2
-25
21
-28
46
-3
-98
69
-3
14
-15
-6
-14
-42
-5
83
4
1
-7
-24
-5
-31
-36
19
-32
-21
4
-35
15
-41
-86
-80
28
23
0
-3
-45
-4
-27
6
8
9
25
27
-26
-15
-89
51
85
32
-28
0
8
-8
-22
-6
-5
-27
31
13
80
-120
-20
-21
39
-3
-30
-24
0
0
-1
4
-22
17
-29
-51
19
-17
-4
22
-12
-110
-8
-8
1
0
0
0
3
0
0
-40
-10
-24
7
-11
30
-58
-33
-4
7
0
0
13
-9
-31
-9
83
29
-5
0
74
7
24
73
-50
50
29
25
-1
-23
5
9
3
-14
31
-3
-3
0
31
35
-22
7
-17
-4
69
0
-6
22
-7
16
16
12
13
6
-34
-12
42
-10
-77
0
26
-36
0
-5
-14
11
29
-2
7
-9
-24
-7
-30
-5
-28
-11
-15
39
11
0
0
-3
1
26
68
-44
-15
86
22
19
-9
-22
-9
-51
-16
-33
0
0
2
-20
-42
-19
7
-8
59
16
-17
-1
13
-70
24
-22
19
0
0
1
1
-8
-17
-22
-20
-30
-40
3
-20
89
4
-18
31
-70
0
0
0
0
4
-8
4
-18
-62
-28
55
-18
24
-30
81
70
-42
0
0
0
0
0
0
-8
-8
-7
-13
25
-8
43
7
-5
-41
29
-1
-5
15
28
-32
24
-23
2
0
-4
-3
3
59
20
-88
-1
-7
0
-3
-19
42
40
-28
21
0
84
14
59
82
-1
53
8
13
28
0
-46
29
11
1
28
43
-3
57
-4
63
22
53
-18
-93
-23
21
-5
45
23
53
23
-6
16
19
75
-44
-9
-54
-2
-16
16
72
-23
8
5
12
83
38
0
-39
7
52
43
-74
14
46
-57
-5
-14
-2
0
10
-19
8
-1
56
-45
-24
-23
22
47
-9
-36
4
-25
-8
-3
0
-13
-7
-42
37
25
-41
-70
28
30
10
-29
-65
4
-28
-8
-4
-1
-2
-3
5
-9
30
31
-10
32
-17
34
15
-13
8
8
-2
-1
0
-2
-2
-11
-30
-6
47
-87
-38
-4
0
27
-13
-10
0
0
0
0
-16
5
-36
34
-33
37
69
0
49
53
57
-38
-23
41
-20
-11
-28
-12
27
-19
23
-51
9
26
84
0
21
18
43
87
31
20
-29
3
-23
-9
33
-10
14
27
38
57
43
61
79
28
8
-8
55
20
1
22
-51
-39
22
-20
-17
9
26
-8
7
38
21
42
1
-36
50
0
2
23
-34
-10
71
48
-27
16
-44
-31
29
19
-26
7
31
-20
0
9
-9
12
-13
22
15
13
-22
39
-2
14
31
-1
6
-18
-10
0
-1
3
-9
-32
1
49
-95
-23
-43
18
20
-5
31
15
22
-5
0
0
-1
4
0
-10
-4
28
-27
-48
-43
29
28
-31
9
-49
2
0
0
0
-1
3
-8
-11
35
-47
7
-51
-13
21
31
-93
31
21
-33
63
82
23
-40
27
17
58
0
-74
78
-24
-9
-2
0
0
0
38
25
-13
35
-19
-80
-58
-7
92
24
60
-42
-26
-14
-22
7
0
40
-22
-15
85
9
17
13
58
62
54
27
-12
11
-15
11
1
0
9
11
63
21
31
59
33
112
-16
69
-41
4
-40
-9
-2
4
0
-12
22
42
-6
-7
67
27
8
-2
33
19
-6
27
-5
-2
-3
0
-45
24
72
-61
0
-25
-7
29
9
1
-21
-50
-23
-15
-7
0
0
-1
-34
74
-37
-12
19
-27
-58
-15
-21
-87
-5
-18
2
4
0
0
28
-12
-23
61
-11
47
-31
-28
-57
-74
43
-21
10
0
0
0
0
-31
-40
-12
-38
106
-52
-12
5
18
-18
1
0
0
0
0
0
0
12
-68
-66
12
13
12
-29
25
0
65
31
-10
28
-13
-5
-1
0
19
-18
-12
8
30
40
-9
-21
25
-14
9
-57
4
-4
-1
3
0
70
3
38
-10
58
35
27
18
-5
54
-2
-60
0
-1
-2
-1
0
-62
51
-11
62
3
34
-23
13
54
-58
-17
-28
-56
-17
-1
3
0
1
-24
-54
21
55
-30
6
14
20
-52
62
-29
3
-20
13
1
0
-32
60
-8
-55
25
4
36
10
26
-2
7
-31
16
-7
-8
6
0
-2
-22
3
-36
-34
20
0
-20
7
-28
28
-55
-22
4
-13
-4
0
1
-28
10
-10
0
-34
13
-16
-74
-13
-41
7
-22
13
0
-1
0
0
4
-32
17
-5
11
-17
24
-14
30
-55
-8
7
1
2
0
0
59
35
70
12
69
-11
56
-90
0
5
24
-32
-15
-9
-1
0
0
-1
25
-73
-3
36
-18
50
3
-18
-5
4
-12
9
-7
42
0
-1
40
30
-2
33
16
53
-24
33
28
-17
27
7
-8
57
1
0
0
79
-21
-20
1
-1
50
40
39
6
18
-28
24
37
8
-1
0
0
40
50
34
18
4
24
62
11
-13
36
9
25
9
0
0
-1
0
86
-50
41
-34
20
67
-96
-29
20
-4
-26
2
8
2
2
0
0
-38
20
39
29
-50
-22
53
-9
28
21
26
5
1
0
0
0
0
27
4
-12
-24
-12
5
-1
19
26
19
-3
-7
0
0
0
0
0
-28
45
-13
6
45
-17
-15
29
3
-9
0
0
0
0
0
0
0
27
53
17
42
-47
19
-19
4
0
40
0
-11
-4
22
0
-1
0
-45
-24
32
-7
65
5
-28
46
3
13
83
-14
-4
-12
17
0
0
45
7
31
-9
40
54
86
6
-31
-64
-9
-29
-33
3
-3
3
0
53
-26
-6
44
-10
73
-29
38
-14
24
-64
-37
1
2
-5
0
0
-4
-31
37
32
18
-3
19
-10
10
-4
24
-59
-26
4
6
0
0
-59
54
93
-29
20
53
18
-1
-54
-42
-84
-22
-2
-18
8
2
0
33
45
55
79
-52
-29
20
14
-12
6
8
5
7
-23
-19
0
0
-17
20
-4
20
-34
38
-36
-6
11
-45
5
-7
18
20
6
0
0
0
4
16
-40
-11
-24
39
-6
6
7
38
-12
-14
9
2
0
0
0
10
31
34
25
12
-8
-5
16
-28
11
-1
3
-3
-1
-2
17
-20
13
-51
-3
8
-8
9
8
-5
14
-30
-16
-5
5
2
9
5
-1
10
-16
-24
-9
-8
18
3
20
-18
13
2
-4
-22
3
-19
12
26
0
10
-17
10
5
16
9
22
-4
-8
19
-10
7
-17
32
5
-16
18
1
-24
43
-6
7
35
1
24
-26
19
17
-8
-8
-14
16
25
12
26
23
-14
22
-16
-8
-10
7
-4
-9
2
1
57
7
5
11
-18
3
-13
1
-4
7
-11
13
-10
-3
5
7
10
-20
-3
12
23
-5
1
16
-15
-5
-15
20
15
0
7
1
-2
-4
5
-7
23
-6
-32
2
10
-1
-6
-8
23
27
18
-32
11
-9
10
-16
5
23
-6
-7
44
-32
15
4
9
-19
-43
-2
17
10
3
35
-36
16
-57
50
-32
0
0
0
0
0
22
9
0
0
0
21
48
-14
-45
-7
30
1
0
0
0
0
0
40
83
0
0
-14
-13
54
131
-71
-1
-15
-3
0
0
0
0
-6
153
142
186
138
161
20
-79
24
-49
-54
22
-1
0
0
0
0
3
78
218
171
160
118
56
-86
13
10
36
24
0
0
0
0
4
82
129
159
181
134
64
22
-27
-10
2
25
-18
0
0
0
0
0
-4
45
86
58
30
-10
17
56
12
-16
-12
-13
0
0
0
0
0
3
-74
-32
-33
-72
-79
-60
-85
8
-48
-54
5
0
0
0
0
0
0
-37
-77
-118
-106
-101
-79
39
20
37
-1
3
0
0
0
0
0
0
-57
-151
-151
-119
-112
-43
41
-8
13
3
0
0
0
0
0
0
0
1
-10
0
0
0
33
6
44
-10
8
0
0
0
0
0
0
0
18
-66
0
0
-23
43
43
-12
-6
-2
40
0
0
0
0
0
-1
63
-37
112
115
119
-5
-15
3
18
-25
-10
0
0
0
0
0
8
48
3
81
70
60
17
-100
-13
-14
-8
-3
0
0
0
0
0
3
22
96
83
70
15
-29
9
-2
-6
6
3
0
0
0
0
0
0
-40
4
26
32
-58
-89
4
-2
8
22
2
0
0
0
0
0
0
-75
46
23
9
-17
-57
-11
9
-8
9
-1
0
0
0
0
0
0
-7
4
40
-62
-74
-71
-23
9
-22
3
-3
0
0
0
0
0
0
0
6
-61
65
42
-13
-15
0
0
0
1
0
0
0
0
0
0
-59
7
0
0
0
40
30
45
-11
19
2
0
0
0
0
0
-1
57
-55
0
0
-18
26
3
-18
-41
-8
8
0
0
0
0
0
-3
54
1
54
71
71
-14
58
-41
-67
15
1
0
0
0
0
0
3
6
195
163
127
63
14
37
-12
24
-17
30
0
0
0
0
0
-4
100
125
111
57
-22
2
-26
-78
-65
9
0
0
0
0
0
0
0
32
90
38
46
-14
-42
27
25
59
-12
0
0
0
0
0
0
0
-56
-38
-15
-84
-56
3
3
-44
4
9
13
0
0
0
0
0
0
-1
-26
-141
-93
-120
-35
-8
8
1
1
0
7
0
0
0
0
0
7
-68
-34
-43
-39
-5
1
-2
1
-1
9
0
0
0
0
0
3
31
13
0
0
0
46
19
-9
-18
-6
0
0
0
0
0
0
-32
75
-36
0
0
42
-22
-33
17
6
0
-1
0
0
0
0
0
80
-5
23
45
112
89
-27
54
62
-2
8
-1
0
0
0
0
0
57
151
56
70
83
70
-14
-1
-54
-45
4
0
0
0
0
0
0
45
65
111
113
141
136
-65
-12
-33
-14
-14
0
0
0
0
0
0
-53
2
98
11
40
-76
-106
6
-8
29
15
0
0
0
0
0
0
-30
-93
71
-31
-42
-30
18
-15
4
1
1
0
0
0
0
0
0
1
-9
-58
-73
-18
-24
-7
22
-6
-15
0
-1
0
0
0
0
0
0
3
-10
-12
-130
-24
4
30
0
0
0
0
0
36
-42
-8
45
25
16
-45
0
0
0
-60
36
-9
35
9
-6
0
3
-58
-31
-26
11
-41
-36
0
0
0
-72
69
11
17
8
5
-1
-21
-55
78
23
27
-42
-11
-18
24
3
-15
32
-10
13
4
1
2
33
75
-12
14
55
58
33
45
33
36
35
19
54
-16
-30
-7
-4
-42
43
53
92
83
3
52
9
38
99
-29
9
45
-1
-38
10
0
-30
36
39
94
65
65
52
17
-14
15
52
2
1
8
-14
-19
0
42
13
124
-4
52
57
20
16
-13
-13
49
-8
11
-30
-21
13
-6
6
27
42
58
72
-4
125
-54
5
-13
-86
-21
-48
-29
9
3
5
0
80
7
-20
31
-6
-54
-67
3
-64
-39
0
40
8
5
0
0
-9
27
34
-33
59
-15
13
0
0
0
11
14
54
67
17
-3
-12
39
29
33
9
53
11
-1
0
0
0
43
18
19
22
-7
-12
-15
24
5
-19
18
107
34
-3
-31
7
-47
24
22
-26
-48
20
-29
6
-20
17
-50
-21
12
27
32
30
-34
-10
-21
56
-36
-44
25
26
13
-5
27
-4
21
42
49
45
66
34
36
40
28
-8
-16
-25
32
0
-25
-15
70
33
38
-47
14
92
67
27
-64
-21
-27
-32
-4
-10
-2
25
30
-10
43
29
96
23
44
61
-10
-5
22
38
-20
4
6
7
-24
15
-13
91
47
-74
-19
5
-2
-1
17
-33
31
34
7
-20
-4
15
29
40
-47
-5
35
-53
-7
-35
2
-24
13
-11
52
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
-1
56
-3
51
0
0
0
-17
38
13
18
16
0
0
-4
-6
-9
6
47
38
-110
0
0
16
-1
2
48
-17
-5
10
0
-5
-3
3
15
42
40
49
90
43
-58
19
14
-23
5
1
-1
0
5
1
9
13
24
16
102
141
84
33
-54
-34
7
-30
-8
-13
0
-19
3
10
3
4
4
28
46
-8
-24
-43
25
-9
20
-16
-12
0
-6
-7
7
8
-22
-28
-18
-73
-100
-89
-75
-36
-7
-12
3
-13
0
-53
31
-14
-4
-28
-19
-8
-68
-96
-119
-78
-7
-18
-29
-40
-1
0
-8
47
-5
27
-71
-60
-134
-148
-52
-18
-6
37
3
-18
20
6
0
-5
46
6
10
-114
-26
-15
-25
-34
-46
-14
1
0
-1
0
-1
1
-91
-66
-21
-4
16
28
87
0
0
-13
16
27
-3
-30
-9
0
0
-101
-98
-15
0
10
22
32
-20
-2
-5
-5
37
-30
-9
-10
8
0
-82
-67
-11
0
9
12
23
28
-38
-52
-34
63
0
-65
0
-2
0
-61
-16
5
0
-1
-4
82
66
34
84
-73
2
-8
-11
13
-5
0
-62
-6
11
-4
-8
-17
20
41
4
-58
4
-18
-23
27
-7
0
0
18
29
29
3
-14
-29
-13
8
-27
-126
20
-28
73
-29
-14
0
0
32
41
18
1
-23
-42
-42
-49
-88
2
-69
18
-50
25
5
0
0
81
77
11
2
-15
-66
-65
-67
-122
-73
-20
-5
25
-5
0
0
0
7
8
30
-5
-55
-65
-60
-61
-37
-104
7
-29
8
3
0
0
0
21
27
3
31
-2
11
52
0
0
-8
1
8
-4
1
0
0
0
-22
4
32
66
65
40
50
-36
-55
0
0
-17
-10
-2
0
0
0
-3
2
22
-17
-18
13
-52
0
25
-29
1
-16
-5
4
0
0
0
-1
-1
19
-16
14
13
4
21
71
12
5
-14
-14
-3
0
0
0
3
1
-20
-33
5
27
-1
-44
-157
-35
-12
2
-15
-4
-3
0
0
3
0
-8
-50
-24
11
-86
-49
-66
-17
-45
11
-20
-2
-1
0
0
0
-7
-18
25
-33
-35
-61
-88
-48
-54
-38
2
18
-2
1
0
0
35
-1
-41
-29
-6
-25
-49
-45
-102
-66
-16
-13
-2
9
0
0
0
-12
-31
-60
-29
-39
-24
-8
-63
-96
22
43
-18
-15
-2
0
0
0
45
-2
15
25
97
79
17
-80
0
-18
-26
-12
2
1
0
0
0
-7
3
33
45
40
-5
0
-24
-11
-1
2
10
-18
1
0
0
0
0
2
20
27
6
14
16
-79
77
-54
3
-44
6
6
0
0
0
7
5
8
1
14
-53
10
-25
-51
-20
-6
-28
-40
-1
0
0
0
4
-1
-3
-27
-57
-36
-71
19
-58
-31
-6
27
-40
-4
0
0
0
-3
-8
-35
-25
-53
-69
-32
-75
-104
-5
12
-9
-3
-33
0
0
0
-9
-4
-54
-69
-149
-89
-111
-53
-103
-53
-51
-104
-15
-5
0
0
0
-27
-36
-36
-82
-98
-92
-80
-90
-77
1
-13
29
6
15
0
0
0
-21
-23
-60
-69
-97
-41
-29
-24
-6
-25
31
0
2
0
0
0
0
4
-4
-6
12
31
0
-13
0
0
-23
42
30
-3
-1
-7
-6
0
-15
-9
-6
13
30
0
-32
0
-46
0
20
26
20
-17
-5
14
0
-7
-10
-4
11
21
31
-6
80
36
-13
35
-19
-22
-25
5
-4
0
-17
-11
-1
6
16
12
26
18
94
9
1
-11
-9
17
-1
-7
0
-8
-5
-4
-4
3
29
35
56
46
40
44
12
-30
-23
-8
5
0
-31
-17
-19
-18
-27
23
22
-2
-5
-118
-90
-29
87
-9
2
1
0
-50
0
-10
-28
1
-21
-14
-101
-132
-129
-109
-45
5
-22
1
-7
0
-18
8
-55
-93
-36
-40
-42
-84
-202
-89
-84
-6
-22
-31
-7
-1
0
-5
-47
-75
21
-29
22
-25
-43
-25
-41
6
-7
-4
-6
0
0
0
-7
-39
-8
2
-15
-15
-19
12
0
2
-53
3
0
0
3
-1
0
6
-16
-1
-2
4
-15
-6
0
-70
0
-71
31
24
-6
0
2
0
-7
-3
-4
-14
3
-9
6
19
-94
-13
-6
6
3
0
13
4
0
-8
-3
-2
-2
-12
-18
-17
24
28
-6
32
-13
-7
3
-2
2
0
-10
-6
0
-2
10
-37
-12
66
42
45
32
-30
-30
0
-2
0
0
-16
-2
13
5
-10
6
36
40
-9
76
98
-20
6
24
8
-2
0
-73
-14
5
-14
-14
-11
2
-44
-27
-33
-48
7
-5
7
-2
0
0
-32
-16
0
-28
32
76
-28
-51
-46
14
-31
18
0
6
0
0
0
-64
-80
-2
-39
27
22
-14
4
70
5
-3
2
0
0
0
0
0
-17
3
2
1
-12
-36
81
0
0
0
-17
4
24
-7
-1
0
0
-8
-2
-3
0
-14
-1
-29
-50
0
74
0
12
5
4
25
-23
-2
14
1
-2
5
-9
15
4
-22
10
-9
-6
10
1
1
8
0
0
34
-3
0
15
-29
8
-30
-20
70
5
13
45
14
8
-4
-4
0
17
-1
0
-4
-3
-20
11
-14
97
47
18
-52
-2
3
-3
7
0
5
-1
-3
15
9
20
24
20
1
37
50
-11
-1
-5
0
0
3
8
-19
-4
1
-11
13
23
35
0
9
-2
6
-2
0
0
4
0
-1
-10
-20
-50
10
1
-170
-6
-9
-60
25
-22
1
-2
0
0
0
8
-6
-40
-9
-18
-16
-41
41
-18
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
0
-5
57
113
159
128
23
-51
24
0
0
0
0
0
2
41
-9
61
57
15
187
187
86
22
71
13
0
0
0
0
0
0
20
54
-21
32
-30
26
105
77
34
70
-9
0
0
0
0
0
0
3
-46
11
-10
14
-3
152
32
117
96
67
0
0
0
0
0
0
9
-40
-11
-11
-6
1
75
72
99
89
44
0
0
0
0
0
0
-1
5
25
31
92
4
-10
11
79
41
62
0
0
0
0
0
0
0
0
8
22
15
-81
19
-15
-23
11
27
0
0
0
0
0
0
0
1
-2
-16
41
-67
-119
-72
-82
-58
-23
0
0
0
0
0
0
0
0
0
0
3
-4
13
-131
-99
-123
-40
0
0
0
0
0
0
3
24
0
7
-4
141
63
118
-6
60
51
0
0
0
0
0
0
4
-24
-19
-11
-6
79
112
91
29
28
47
0
0
0
0
0
0
-2
18
20
-5
99
-2
105
28
44
88
-48
0
0
0
0
0
0
0
-7
-6
-25
-4
101
-12
-61
44
32
22
0
0
0
0
0
0
0
0
-5
-1
-13
65
78
7
46
-32
72
0
0
0
0
0
0
0
0
0
1
7
22
22
1
41
65
25
0
0
0
0
0
0
0
0
1
0
-2
-46
-92
-61
12
12
32
0
0
0
0
0
0
0
0
0
1
0
-6
-30
-65
-61
-23
-53
0
0
0
0
0
0
0
0
0
4
0
0
-8
-43
-23
-27
-17
0
0
0
0
0
0
6
27
0
13
97
110
94
82
159
-7
-53
0
0
0
0
0
0
11
32
-50
-37
48
103
25
27
67
47
-3
0
0
0
0
0
0
-13
-22
88
25
-53
100
60
22
-50
-47
43
0
0
0
0
0
0
1
18
-26
4
105
74
3
26
101
50
30
0
0
0
0
0
0
0
16
4
24
-26
34
46
20
100
35
59
0
0
0
0
0
0
0
-1
0
1
-20
30
-24
44
-45
-27
-24
0
0
0
0
0
0
0
5
-4
0
7
3
-13
19
-11
21
-8
0
0
0
0
0
0
0
0
0
0
0
1
14
-48
-33
7
-32
0
0
0
0
0
0
0
0
0
0
0
2
-1
-107
-97
-36
-90
0
0
0
0
0
0
-9
-6
0
-19
107
13
67
86
38
-34
-61
0
0
0
0
0
0
0
-20
26
-16
82
93
71
84
21
36
60
0
0
0
0
0
0
18
-20
-4
-16
-16
115
106
57
-13
-15
9
0
0
0
0
0
0
-2
-40
-19
32
-39
29
119
62
114
37
21
0
0
0
0
0
0
6
9
0
6
51
10
63
88
104
58
0
0
0
0
0
0
0
1
0
0
0
-12
-36
58
-58
23
119
45
0
0
0
0
0
0
0
-1
0
0
-3
-4
-21
-20
5
-83
61
0
0
0
0
0
0
0
0
2
0
0
-16
-44
-39
53
-5
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
-24
-18
0
0
0
0
1
-31
10
-8
0
20
15
55
57
0
23
0
-28
0
0
0
1
7
2
19
-4
-37
10
-15
13
68
12
2
17
39
0
0
0
1
-3
10
47
28
-28
-47
22
22
84
15
53
9
22
0
0
0
0
0
-12
-13
76
44
36
30
7
-54
-18
33
22
19
0
0
0
0
0
2
20
-9
-4
57
86
-4
34
18
10
-24
8
0
0
0
0
0
-18
5
-13
40
40
47
35
3
27
-9
10
4
0
0
0
0
0
3
2
13
81
34
33
64
37
28
-25
11
27
0
0
0
0
0
2
2
-18
-43
-63
119
-2
49
23
12
3
0
0
0
0
0
0
0
-1
5
26
-26
87
15
-52
-25
-5
7
32
0
0
0
0
1
-11
30
3
0
-25
42
-16
-8
-19
29
-23
-24
0
2
0
4
9
-40
51
-40
32
-30
-35
76
-24
3
40
36
36
0
0
0
0
-3
6
-9
83
11
-26
36
7
15
35
90
-1
-58
0
0
3
0
2
5
-35
3
0
11
28
-13
45
7
-21
60
-24
0
0
0
0
0
-2
-45
70
-3
23
39
74
76
-7
19
21
73
0
0
0
0
0
16
-7
4
14
50
27
99
-33
-18
45
17
10
0
0
0
0
0
4
24
28
-2
43
51
54
83
8
10
20
-1
0
0
0
0
0
-1
4
-36
27
-17
-4
83
96
67
6
-31
37
0
0
0
0
0
0
0
-5
39
14
20
-17
-49
-20
20
34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-13
-28
-34
84
-15
-1
0
1
7
31
46
-74
-83
-113
-6
0
41
-29
50
45
29
-5
-5
1
0
4
56
13
-39
-20
-31
-63
0
-7
21
28
48
-18
-2
0
-1
3
0
24
42
-14
9
-68
35
1
-2
-24
27
-7
-19
-14
-11
0
-19
3
44
10
38
76
-24
28
0
-5
-8
-30
8
-99
-49
-14
-27
-26
-16
-9
39
12
92
-48
-22
4
-13
3
-30
-5
38
-22
-58
-27
-103
-50
-40
-37
-47
16
-10
-50
0
-1
-4
-3
-3
4
-75
-66
-59
-108
-74
-64
-79
7
9
-84
-65
0
0
-1
0
8
-3
-13
-21
-118
-139
-91
-56
-43
14
-63
4
-32
0
0
0
0
0
-1
2
0
-20
-38
-13
-41
-6
-6
-29
-46
-6
0
7
-54
2
-22
-7
22
-20
0
0
0
1
4
-12
-85
-48
0
0
12
-40
-41
51
38
-31
-97
-24
0
-1
1
15
10
-12
-49
0
1
-33
-34
38
17
124
-1
-69
-11
0
1
0
9
-9
-43
-48
0
0
23
-14
-17
-11
-37
13
12
-3
-1
0
-1
11
46
-25
23
0
0
6
51
-21
17
24
39
54
30
-1
-2
-2
17
67
22
116
0
0
-4
-38
-1
16
58
23
98
24
-2
-1
-7
3
66
37
-11
0
0
-14
-14
-9
76
4
18
15
16
0
-2
-3
4
40
73
6
0
0
0
22
24
7
18
35
24
-11
1
-2
-6
-16
70
22
-14
0
0
0
8
50
-62
24
-43
4
-12
10
2
-9
-60
-3
2
-17
0
-20
-16
87
-26
-40
48
-2
0
0
6
12
33
34
-24
-45
-19
0
-5
-10
-15
-31
57
12
1
0
4
6
-24
21
11
-47
-32
-58
0
-5
1
8
19
22
9
7
2
1
46
25
-25
11
72
-3
-49
0
1
-3
-22
11
2
-24
6
0
0
-32
1
-26
17
-53
138
49
0
3
0
12
18
14
-30
4
15
-1
-8
-33
4
9
12
-21
34
0
-1
13
7
-19
-10
-8
3
0
1
-22
-15
-23
-30
72
-102
-14
0
-5
-8
6
28
-31
-17
-9
1
-1
-35
4
-22
-41
1
-26
-43
0
-12
4
-18
-3
23
-21
0
-1
-11
-29
-2
-17
8
-12
-46
0
0
0
40
-6
-43
1
-14
-2
-4
-6
16
-55
-13
2
-132
-31
-23
0
-2
-12
-12
-57
30
-23
-1
0
0
11
2
20
-13
-64
-3
0
0
-5
-33
-5
-21
-29
11
-4
1
2
2
14
32
-25
-78
44
0
0
-3
-4
-26
23
-15
-27
-2
0
0
27
0
31
-33
-78
-58
0
0
0
-8
-13
-21
-25
18
-14
-4
-2
11
0
24
-22
24
-50
0
0
0
8
5
-23
13
-18
-26
-1
-3
6
3
1
4
4
-56
0
0
-2
7
3
-27
-11
-22
-3
0
-3
-2
25
-2
-4
23
27
0
0
-6
20
-1
14
-12
-23
3
-1
-11
2
2
17
-4
-59
-51
0
0
-13
-13
-8
-16
-17
-20
-8
3
-3
5
-95
-3
34
-60
-64
0
0
0
0
-2
-1
19
-4
-3
2
-25
-86
-14
-29
-43
-50
-99
0
0
0
2
-13
-8
0
-72
-21
-2
0
2
6
29
24
-8
-18
-46
4
0
0
-8
5
-21
-9
6
-1
0
1
13
35
46
55
24
-25
-36
0
2
-47
39
-32
-25
28
-18
-1
-1
2
18
-4
66
0
17
-65
0
0
-15
5
37
-44
-32
-17
-10
-15
12
6
39
-4
65
16
-8
0
-2
6
-5
-22
-22
-89
-22
-41
-36
-29
-11
-5
10
49
-88
30
0
0
5
13
-2
-36
-167
-37
-58
-45
-49
-45
-19
-8
-17
10
-2
0
0
17
4
0
-21
-68
-130
-87
-13
-60
-110
-48
-5
-34
-101
-29
0
0
3
-12
0
9
-23
-79
-175
-136
-94
-37
-82
-29
10
-78
-17
0
1
0
1
3
0
-1
-17
-40
-64
-57
-103
-11
-59
-73
-28
-25
0
1
0
0
6
44
73
-5
0
-4
-15
-9
11
34
12
-15
5
0
0
-2
-4
-62
-23
7
5
-2
-5
-4
3
1
-16
-14
43
47
0
0
-2
-10
-17
-56
24
-16
-2
1
0
-6
-31
-14
-2
38
-67
-1
0
-5
-9
6
-17
-28
-10
3
0
3
1
-11
19
23
-7
24
0
0
1
-5
-19
-7
-39
-30
-7
-15
-3
24
16
20
34
25
-5
1
0
-2
-5
-8
-13
-21
-4
2
1
-4
-3
-7
31
46
42
64
0
0
0
2
0
-23
8
-30
0
33
-22
24
10
-17
31
28
6
0
0
0
-1
0
-5
-41
-12
47
-17
41
-4
4
20
-7
10
18
0
0
0
0
0
8
14
-42
-1
3
-3
-6
12
4
58
-75
-30
0
0
1
1
2
-31
2
6
0
0
-18
19
1
21
-23
69
-36
0
-2
0
-8
-37
25
-2
22
-1
0
-6
3
37
3
53
-10
-32
0
0
-5
20
-26
-71
-34
3
-7
-2
8
5
-2
-2
1
17
-12
0
-1
0
-13
-17
-29
10
-5
-5
0
-6
0
-2
10
-4
16
108
0
3
0
1
-20
-14
-12
8
-4
-4
-7
2
-17
-16
17
71
64
0
0
3
-10
8
-26
-22
-3
-3
-2
-3
3
0
-8
20
41
55
0
-2
-2
23
-17
15
36
-2
-2
-9
3
-37
-15
-74
23
17
-13
0
0
-3
-6
13
20
4
-8
-3
-5
21
5
-3
-2
54
47
0
0
0
0
2
7
7
-37
-16
-3
32
5
66
23
-33
-49
-42
46
0
0
0
0
0
174
193
0
0
0
117
67
4
-18
-6
-25
29
0
0
0
0
1
184
120
0
0
76
57
97
-38
-14
-62
47
-66
0
0
0
0
79
88
142
221
230
137
45
-8
-60
-130
-120
6
-41
0
0
0
0
-46
8
103
155
139
32
33
-67
-50
-92
-23
-19
22
0
0
0
6
9
17
68
130
64
4
-70
-35
-96
-65
-90
-82
23
0
0
0
0
-33
-85
-98
-68
-113
-120
-65
17
-46
-132
-123
-130
-25
0
0
0
0
-77
-118
-195
-142
-133
-93
-95
-44
-38
-64
-45
-34
-15
0
0
0
0
-15
-97
-267
-223
-188
-100
-95
-57
-35
93
93
8
9
0
0
0
0
0
-64
-219
-199
-133
-137
-62
-32
-19
62
24
46
0
0
0
0
0
0
18
44
0
0
0
10
19
60
-50
-18
1
0
0
0
0
0
8
80
10
0
0
34
10
81
-20
-62
13
35
-4
0
0
0
0
1
68
83
104
88
76
-39
12
-29
-25
-78
-12
5
0
0
0
0
7
42
78
47
73
3
-82
-42
-68
-92
-58
-21
0
0
0
0
0
4
0
144
93
-5
-20
39
-15
-63
10
28
-7
0
0
0
0
0
-4
-178
-4
-4
-83
-24
-51
-47
-5
51
60
35
-1
0
0
0
0
0
23
-92
-33
-87
-45
-53
63
50
23
1
0
0
0
0
0
0
0
-5
-58
-61
-111
-47
-89
-47
-3
63
-14
-10
-5
0
0
0
0
0
0
-43
37
-14
7
-5
-93
-29
-8
61
45
0
0
0
0
0
0
-35
87
0
0
0
93
47
13
97
24
-31
-5
0
0
0
0
1
128
32
0
0
30
-21
7
22
-79
-33
0
-2
0
0
0
0
-3
121
102
78
120
81
9
-41
-101
-90
5
-16
-13
0
0
0
0
38
77
116
76
107
25
-28
41
0
-71
-112
0
-1
0
0
0
0
1
-42
122
127
75
-2
-66
9
-50
-124
72
-22
2
0
0
0
0
2
-75
-110
-19
-84
-56
46
14
-91
-14
-28
-6
0
0
0
0
0
1
-131
-113
-122
-92
-59
-98
25
29
-77
90
82
-1
0
0
0
0
0
-8
-135
-108
-65
-75
25
-36
-82
-26
-13
-7
13
0
0
0
0
0
3
-163
-86
-103
-60
-36
-8
-30
43
-24
3
0
0
0
0
0
16
23
44
0
0
0
133
21
42
-31
30
-31
0
0
0
0
0
80
72
35
0
0
32
2
28
8
-82
-7
-29
0
0
0
0
0
11
15
88
121
73
64
-37
62
-53
8
-26
40
0
0
0
0
0
33
65
91
105
70
52
-49
-27
-44
-52
53
-33
0
0
0
0
0
-85
47
29
72
35
42
-49
-47
26
16
-5
-3
0
0
0
0
0
9
-33
-6
-24
-55
-93
-46
-172
-55
118
-29
5
0
0
0
0
0
-31
-40
-74
-53
-148
-46
-71
-21
63
109
-74
-15
0
0
0
0
0
-1
-88
-60
-127
-121
-22
-1
29
-4
-30
-4
6
0
0
0
0
0
0
-18
-83
-8
-95
-19
1
-64
-5
8
1
0
0
-81
0
-42
27
70
10
-111
0
0
0
49
48
-85
-53
51
39
-5
8
8
21
8
46
42
-45
0
0
0
11
34
-4
25
-3
10
6
15
-70
7
27
8
26
-58
11
40
26
-8
106
-78
-23
-1
-72
8
-41
-24
26
-18
24
43
66
67
59
64
102
47
8
-53
-150
-54
-10
29
-26
56
10
48
52
43
38
5
52
27
26
-10
-10
-64
35
27
-47
43
38
2
-13
10
20
-36
-46
-35
-26
54
26
-62
-3
-43
-23
75
59
57
23
-16
20
-53
-41
-48
-80
-86
-52
-46
-18
-93
-3
-51
-3
38
31
10
-50
-71
-68
-118
-106
-39
-58
25
19
36
57
-18
34
56
115
-57
-4
-108
-19
-66
-78
-48
-105
-110
-32
-2
10
64
-3
-3
-26
15
103
-26
62
65
83
0
0
0
25
61
115
76
-14
-7
26
49
63
20
39
49
-12
-56
0
0
0
8
37
24
18
-30
14
-12
-11
70
16
-15
28
-37
6
-35
-21
-46
55
40
-10
-50
16
-1
-14
22
-22
20
-55
30
-56
-5
40
54
15
-11
-20
-93
-19
-31
-86
-2
-55
22
-5
-6
18
34
33
41
77
40
-14
-23
-53
-51
-56
21
-11
-21
9
-20
21
12
35
-14
17
51
7
-30
-27
-32
-21
-67
-3
-76
-28
36
-21
-4
19
10
-8
6
13
6
-27
-7
-2
-24
-5
57
2
9
1
-5
6
45
-10
-85
-14
6
-3
-38
-38
0
16
-48
-38
40
-5
14
42
-67
-46
-3
-22
1
-8
-23
-33
9
-75
37
39
34
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
12
7
24
104
73
55
0
0
0
1
113
-23
-72
92
-25
0
3
4
-4
20
74
58
64
0
0
13
54
-23
-10
-100
-7
24
-5
0
9
-3
-8
29
1
69
84
60
25
-11
-57
19
-42
-41
-54
-25
-5
-8
-4
-15
-10
-70
14
34
41
-7
-92
-8
-78
-19
-155
-63
-13
30
-11
-18
-26
-23
-9
-4
-21
-52
-76
-16
-61
39
85
-32
-20
-3
6
-7
-28
-25
-68
-56
-59
-67
-64
-73
-127
-56
-79
12
11
-10
-2
-56
-18
-50
-59
-61
-44
-105
-141
-103
-30
-88
-81
-15
-96
-57
-43
13
20
-71
-50
-73
-111
-115
-81
-99
-66
-131
-71
-35
4
-53
4
-14
-25
-40
-86
11
-20
-90
-100
-165
-123
-83
-87
-111
29
-20
-24
10
-3
0
-30
-15
-24
-11
8
34
137
0
0
3
-102
1
-115
-132
-86
-4
0
-3
-33
-16
-11
7
14
29
52
18
-18
-95
33
-39
-29
-116
65
0
-7
4
7
-1
7
-3
3
19
-37
-57
-19
-52
-34
-178
-33
2
0
12
7
7
-3
-2
4
65
49
-15
-18
3
-48
-60
-17
-51
-22
0
19
25
20
15
-5
-12
-11
-64
-57
-74
-50
-45
-33
-19
19
-22
0
9
-8
24
5
-5
-29
-65
-76
-52
-15
-24
-61
22
-149
-52
-13
0
33
0
14
5
-11
-31
-71
-81
-61
-84
-67
-55
-30
86
38
0
0
-86
-14
28
11
-9
-51
-69
-70
-35
-27
-69
19
22
-12
-31
0
0
-9
3
67
11
-8
-21
-56
-52
-19
-38
-17
-12
44
6
0
0
0
56
76
76
141
122
195
134
0
0
-53
24
-22
-46
-6
0
0
0
23
7
26
58
99
79
40
37
15
-59
-39
-176
-25
31
-4
0
0
1
2
20
5
51
30
3
-32
-105
-52
-44
-28
-91
5
-2
0
0
-10
-7
-9
-4
9
-27
-41
-6
-87
-6
-2
-16
-59
-25
0
0
0
-4
-11
-17
-24
-77
-56
-60
-80
-18
-137
-142
-2
-10
-31
13
0
0
-7
-8
-6
-20
-59
-77
-79
-150
-67
-130
-52
-111
-150
50
-7
0
0
-3
-2
-7
-25
-27
-85
-80
-69
-103
-57
-41
-89
106
-2
7
0
0
5
-10
-14
-24
-18
-41
-8
-76
-112
-102
-19
53
19
76
-2
0
0
-20
-37
-24
-39
-56
-38
-40
-56
-46
15
20
24
10
-75
0
0
0
-21
-3
19
79
179
175
94
18
0
-58
-133
-138
-23
-6
2
0
0
-13
1
38
56
53
154
0
5
-38
-49
-119
-82
-92
-19
0
0
0
-10
-8
5
19
55
97
91
-33
-82
-80
-41
-71
-42
20
-2
0
0
-9
-10
-12
-7
-70
-35
-19
-38
-124
-124
-91
-35
-127
-8
-1
0
0
9
0
-26
-71
-48
-27
-44
-68
-31
-115
-30
-23
-43
-25
-2
0
0
5
-16
-44
-82
-79
-115
-156
-124
-59
3
52
-4
22
-60
0
0
0
3
-18
-44
-68
-89
-123
-154
-108
-109
-59
-59
-73
3
-29
0
0
0
-6
-17
-31
-59
-93
-123
-92
-63
-37
-74
-84
-44
55
22
0
0
0
-48
-27
7
-130
-95
-105
-53
-184
-30
28
11
0
5
0
-1
0
0
-14
-3
-14
15
65
17
114
0
0
71
132
42
37
53
-5
16
2
-4
-3
-10
13
67
32
64
0
48
0
75
-66
-51
-1
-24
39
-55
-7
0
-3
-5
28
-12
77
60
73
96
29
19
-45
-170
-2
-40
-2
-14
-3
-10
-20
-12
-64
-48
-38
-35
-54
-128
-114
-73
-71
-82
-58
0
-21
-21
-30
-32
-51
-17
-52
-6
-92
-67
-140
-54
-106
-26
-42
28
-1
-21
-35
-40
-36
-51
-65
-86
-87
-131
-105
-163
-34
-45
-182
-40
23
5
1
-41
-52
-71
-102
-105
-85
-118
-166
-112
-153
-109
14
17
-74
19
0
-23
-75
-72
-70
-96
-106
-114
-128
-133
-114
-122
31
-41
-29
-12
13
0
-4
-171
-58
-149
-69
-118
-146
-180
-26
-149
-21
-120
-16
19
-5
-1
0
-13
-15
3
-14
-11
-36
-42
20
0
29
15
-21
-70
5
49
0
0
-83
-18
-22
-30
-27
-12
4
0
10
0
44
8
-58
-53
53
-26
0
27
-34
-26
3
5
9
21
15
-29
31
71
52
-31
-89
43
43
0
-35
-11
-28
-4
9
33
-16
38
-6
10
59
160
21
-44
-40
2
0
10
-17
-8
-10
29
2
24
33
-44
3
-16
60
38
20
-38
4
-2
36
-36
-37
42
-24
-15
-19
-51
-51
-45
3
68
-10
39
52
17
0
-47
28
34
-35
-19
-46
-43
-87
-70
-26
-70
-29
7
-22
-80
-1
0
49
81
6
-15
-48
-48
-89
-71
-56
-120
-146
19
24
44
-8
0
0
6
46
10
-38
-107
-62
-15
-31
-96
-67
-58
45
-9
-2
-2
-1
0
13
11
-3
26
-9
-10
76
0
0
0
-17
102
55
-44
12
32
33
25
-3
-9
9
-7
-25
-11
33
0
39
23
90
110
-21
109
38
-51
21
-8
-16
-5
-25
6
-5
-12
-30
-30
47
-14
44
-21
-14
-20
17
-25
-6
-33
1
-4
22
-15
14
77
-2
-32
-28
-112
-5
-53
-11
-3
-46
-53
-36
-23
2
62
1
-16
105
24
-63
-16
-29
32
-46
28
0
-46
-62
-51
-8
2
14
-6
-11
40
-6
-74
-43
-125
14
-3
-13
7
-85
-29
-42
-39
-37
16
4
1
-16
-14
-75
-31
32
-18
-3
15
1
-74
-81
-27
-21
-60
-55
5
-8
-15
-20
-68
-57
21
1
-3
4
0
8
1
20
-1
-7
-49
-47
5
-3
4
-11
-2
-2
0
0
0
0
0
0
0
0
0
18
84
26
0
44
152
171
147
72
2
-14
4
0
0
0
0
0
25
-18
40
35
21
49
167
136
30
16
11
25
0
0
0
0
0
13
73
94
62
101
54
12
77
8
45
52
-2
0
0
0
0
0
-37
56
54
-13
79
-17
-11
21
2
55
19
100
0
0
0
0
0
0
32
-101
2
66
5
-62
-22
-8
7
9
27
0
0
0
0
0
0
29
70
113
-29
-11
-139
-87
-74
-38
-25
2
0
0
0
0
0
0
-28
82
14
39
-58
-95
-118
-77
-82
-88
-75
0
0
0
0
0
0
-25
36
101
-58
-43
-117
-132
-133
-163
-134
-78
0
0
0
0
0
0
0
47
9
-18
-10
-70
-43
-159
-193
-91
-100
0
0
0
0
0
0
-3
31
0
-25
27
109
75
28
39
-5
5
0
0
0
0
0
0
10
8
-16
2
11
126
122
26
46
5
32
0
0
0
0
0
0
16
-11
9
49
43
132
12
42
7
92
54
0
0
0
0
0
0
36
-11
15
9
22
26
13
-4
71
21
32
0
0
0
0
0
0
-1
-11
10
61
-73
6
54
-24
-39
-16
66
0
0
0
0
0
0
0
-8
17
62
12
-61
-58
-93
-11
-71
11
0
0
0
0
0
0
0
3
5
36
29
-22
-49
-42
-55
-69
-11
0
0
0
0
0
0
0
0
-2
54
4
-68
-48
-68
-107
-61
-47
0
0
0
0
0
0
0
0
-3
0
0
-38
20
-78
-47
-101
-9
0
0
0
0
0
0
60
2
0
8
149
105
61
42
20
9
14
0
0
0
0
0
0
-22
12
9
26
46
133
67
36
41
22
-16
0
0
0
0
0
0
-6
54
-34
86
40
64
46
16
-6
24
-2
0
0
0
0
0
0
8
11
34
-38
25
52
55
36
19
57
132
0
0
0
0
0
0
-30
47
13
21
-67
12
-25
3
21
40
111
0
0
0
0
0
0
13
-33
72
-23
-74
-139
-69
-23
-74
-79
-42
0
0
0
0
0
0
-1
6
17
31
0
-33
-95
-107
-72
-63
-64
0
0
0
0
0
0
0
0
-8
15
93
0
-94
-78
-106
-161
0
0
0
0
0
0
0
0
0
0
0
7
-27
7
-107
-42
19
-24
0
0
0
0
0
-7
-47
77
0
-6
96
115
82
46
23
4
47
0
0
0
0
0
-5
20
35
54
-22
12
149
71
50
-1
4
25
0
0
0
0
0
-9
57
22
10
4
31
80
24
49
74
15
28
0
0
0
0
0
9
2
-1
1
31
4
7
-10
57
51
23
5
0
0
0
0
0
-7
64
-35
105
-55
-29
34
19
-23
86
48
4
0
0
0
0
0
0
48
-82
34
-24
-22
-28
-24
-50
36
-17
2
0
0
0
0
0
0
1
-11
-17
-49
-32
-18
-110
-61
-65
-53
28
0
0
0
0
0
0
0
1
29
14
56
-76
-4
-21
-94
-44
-17
0
0
0
0
0
0
0
0
0
0
0
0
-15
-25
-75
-4
57
0
0
1
11
-12
-85
-29
-1
0
-5
40
86
53
45
-11
-20
-6
0
0
0
2
1
-1
-8
-2
47
-15
15
95
59
28
-20
-20
32
0
0
0
-6
-8
11
53
7
-26
57
-1
38
94
25
22
-2
-11
0
0
-1
-25
-49
-18
96
59
-14
32
47
38
8
8
-20
7
23
0
0
56
53
39
-7
7
63
-29
98
40
35
4
-1
29
18
13
0
0
0
-1
31
-1
20
-28
12
59
-25
-6
3
-25
7
2
17
0
0
7
-16
-67
11
16
-10
4
34
-32
-48
-30
-8
-34
-46
-26
0
0
-2
15
2
1
0
-27
-32
-9
28
-17
44
15
-99
-14
-7
0
0
0
0
0
-22
5
40
-15
21
4
-119
-139
-72
-18
-5
-55
0
3
11
25
18
-86
-13
-16
0
31
-3
32
32
89
-18
-3
32
0
6
-21
18
-9
-32
53
-29
-5
-34
-49
45
28
11
3
0
34
0
-3
45
-7
21
-2
41
-46
-78
-14
-5
25
47
12
-30
-4
-9
0
1
21
8
4
19
17
-44
-46
30
81
2
18
23
-16
26
2
0
0
29
-10
-10
-16
-28
0
37
48
-43
41
-19
0
4
20
27
0
0
0
-15
29
-22
14
3
27
16
35
39
15
-18
11
20
26
0
0
0
20
12
-1
14
40
52
-18
-8
33
-27
-25
-17
19
-2
0
0
0
-5
-4
-2
71
6
76
64
-13
24
4
19
6
7
18
0
0
0
0
8
3
82
63
46
28
60
-51
-75
-20
-47
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-51
-11
-27
27
36
4
16
0
6
18
63
14
21
-54
-12
-46
-15
63
15
26
49
5
-4
11
3
3
11
43
49
-20
-70
-37
19
-9
-103
49
-32
46
-31
-25
0
4
0
-4
-6
-11
-53
16
-6
-99
-36
-25
67
-7
-18
-55
-16
9
-26
-55
-61
-7
28
-5
-4
-68
53
-50
-74
-49
-13
-35
-93
-47
8
-18
-56
-82
-64
-85
-60
-65
-36
-45
115
-27
-8
-79
-12
-59
-105
-104
-105
-207
-173
-147
-48
-124
-103
-113
-20
-29
-19
6
-32
-57
-59
-158
-139
-148
-132
-125
-138
-126
-120
-95
-177
-37
0
0
-6
-13
26
-30
-64
-148
-132
-60
-10
-120
-95
-150
-99
-120
-42
0
0
0
-3
-4
11
11
-81
-176
-207
-54
-164
-141
-16
-138
-47
-72
5
7
-37
2
-17
47
-10
-15
0
0
2
3
-16
-25
-37
-46
0
-30
-8
-109
-2
10
36
5
-1
4
1
1
5
-8
-4
-31
-30
0
-25
-89
-55
-71
-22
12
16
-1
14
-2
-4
2
7
14
22
-29
0
0
-67
-16
-46
2
1
35
37
10
5
1
-11
3
16
26
4
0
-10
-38
-48
-39
-14
15
-19
-11
5
1
-9
-7
2
15
34
27
0
3
-47
-27
38
-28
21
19
26
-5
-4
-6
-15
-23
-3
-19
47
0
-3
-10
50
8
-15
-22
-16
-2
-19
-4
1
-6
-9
-19
-50
-49
0
0
18
14
-3
-5
-4
-31
-3
-4
0
2
-17
-25
-43
-20
-19
0
0
0
67
-12
4
15
3
-11
-12
-7
14
-55
-10
-79
-5
-32
0
14
-5
-15
11
19
58
-3
3
0
4
30
71
9
3
-33
10
0
-53
9
-6
9
1
36
7
-1
1
24
10
17
13
-22
-75
-96
0
-43
-35
26
25
12
16
3
2
4
15
32
-42
2
21
-53
-64
0
8
-4
-22
-4
-5
1
4
0
-3
-1
36
6
8
-37
-14
58
0
88
-73
32
13
-8
1
2
-14
-8
-18
24
7
-67
-16
-49
-1
0
54
15
-15
-42
-38
-35
-10
-10
-4
21
-16
-44
-52
-28
-139
-35
0
-13
-62
5
2
-15
-10
-6
-6
-6
-30
-10
-68
-52
-72
-93
-59
0
-10
2
8
-29
-36
-23
-18
0
-42
-52
4
-36
-65
-102
-25
-26
0
-85
-15
-9
-21
-10
-27
-20
-8
-10
-72
-19
-52
-49
-38
-30
-33
0
43
-29
7
-17
16
43
16
4
0
4
1
44
-24
-60
-16
0
0
5
70
29
60
20
35
9
0
0
1
8
31
26
-17
-5
0
0
-42
-134
-71
39
-50
-7
1
3
1
14
36
35
-13
11
-16
0
0
-52
-28
11
-25
-9
-27
-10
-30
-20
-14
0
48
-2
-20
12
0
0
14
27
-17
-119
6
-53
-17
-17
-9
-47
-14
3
-12
42
-48
0
0
-17
-26
42
-47
-59
-43
-12
-30
-35
-40
-14
-23
-8
1
32
0
0
-3
-81
-42
-50
-12
-50
-40
-26
-43
-9
-41
-13
-50
-63
-19
0
0
-69
9
-85
-21
-40
-74
-34
-56
-40
-11
-26
-43
-85
-137
-87
0
0
0
0
-70
14
-26
-107
-28
-127
-78
-67
-71
-169
-82
1
-6
0
0
-1
-2
-47
26
-35
-21
27
6
0
11
30
29
-2
-73
-47
-50
-3
0
-57
55
-62
37
-30
22
3
6
0
8
27
27
1
-12
-27
-19
-9
102
-35
-41
-8
-25
-36
-1
-1
-2
11
-6
7
-18
-1
-17
11
0
-27
-1
8
-49
-56
-33
-17
-31
-38
-74
-53
7
12
7
-20
-5
0
-32
-66
-40
-84
-120
-63
-40
-23
-47
-85
-77
-31
-44
-67
0
56
0
-58
-34
-53
-48
-49
-142
-53
-104
-78
-128
-157
-88
-52
-63
-57
15
1
-39
-17
14
-20
-51
-117
-119
-126
-104
-147
-101
-71
-82
-151
-87
-13
0
-20
57
-24
53
-98
-92
-121
-29
-94
-53
-130
-58
-80
-49
-181
-4
0
1
14
40
9
-7
-48
-124
-142
-189
-140
-152
-69
-169
-100
-87
-50
0
2
3
9
14
14
-7
4
0
-21
9
7
-5
-50
3
-25
10
-1
-6
-10
-60
-102
14
-34
-46
-3
10
7
12
10
9
9
-18
62
1
-1
-6
-59
-38
6
-22
-17
-36
-10
12
1
-10
-16
-14
24
-9
0
-1
21
3
90
-35
27
-27
12
-20
11
14
33
17
16
-13
66
-1
-4
-17
41
-47
-54
1
48
-13
1
12
2
14
31
2
6
-3
6
-3
14
-63
82
-53
-31
28
37
-3
-17
-43
12
45
-2
15
24
-1
-1
-7
-25
-12
-31
43
25
-32
-21
-38
-2
-40
-13
-10
51
-33
0
0
2
-20
-19
-64
61
-32
-13
-8
-68
-16
-19
37
53
-112
-32
0
0
0
0
-2
41
-15
-15
-27
-10
-65
-93
-27
-13
46
-27
-133
-3
-14
12
22
-46
-6
8
-25
0
-3
-53
-23
-5
36
23
41
26
-1
-3
10
-10
-8
-22
-9
-5
9
-16
11
-19
26
28
56
16
7
-9
81
-34
60
7
-26
-19
-24
-26
-4
-15
-6
2
5
-5
5
1
-10
8
-9
-25
59
-67
-8
-2
-20
-6
11
11
-12
27
-17
37
-23
0
-11
4
35
-93
-1
-29
-5
-4
0
-4
5
-11
18
-2
31
6
0
-35
42
-37
-63
26
5
-13
-15
-6
-1
-1
11
-26
1
4
15
0
-42
-60
-89
-24
-36
-17
0
-10
13
5
0
-6
-29
-11
-3
-4
0
-18
-9
-67
50
-2
19
7
-8
-13
15
-1
-78
-34
-44
17
52
0
0
46
-16
-1
-25
-33
-3
2
-3
11
-55
1
-1
-33
-81
70
0
0
0
0
0
97
115
0
0
0
42
-10
25
5
2
-6
30
0
0
0
0
1
170
58
0
0
81
-36
45
-38
-37
-39
7
-16
0
0
0
0
41
0
107
142
136
22
10
-98
-28
27
-24
-23
-12
0
0
0
0
-10
-38
32
62
2
-49
-30
1
13
-85
-100
-20
0
0
0
0
6
-30
-54
-62
-16
-50
4
20
-31
-51
1
-47
-17
9
0
0
0
0
-51
4
-132
-87
-68
-36
-48
-8
-73
-92
1
-34
-32
0
0
0
0
-51
-151
-111
-95
-64
-72
-66
-38
-49
16
-1
-26
-5
0
0
0
0
-1
-47
-125
-118
-69
-70
-41
-34
-57
5
32
2
1
0
0
0
0
0
-42
-105
-70
-114
-42
-52
56
-3
-20
-6
51
0
0
0
0
0
0
2
54
0
0
0
54
27
51
-37
31
7
0
0
0
0
0
8
29
66
0
0
63
-35
29
-33
-39
11
1
0
0
0
0
0
1
33
148
154
99
14
-64
33
-48
35
-46
-23
0
0
0
0
0
7
51
-50
5
11
-10
-39
58
-33
-8
-36
-20
0
0
0
0
0
4
-50
-19
41
-53
12
-39
9
-18
33
21
-43
0
0
0
0
0
-4
-74
-70
-69
-31
-72
-91
-12
-43
61
1
-15
-1
0
0
0
0
0
20
-13
-90
-30
-24
-57
-40
25
-21
-50
-5
0
0
0
0
0
0
-6
-70
33
-22
-31
36
67
-16
38
-3
-2
-5
0
0
0
0
0
0
-70
37
-11
-28
-28
-49
-22
-45
-14
12
0
0
0
0
0
0
-6
113
0
0
0
114
86
15
-12
16
-27
-3
0
0
0
0
1
11
95
0
0
46
16
-29
-56
-2
-33
10
-5
0
0
0
0
-1
129
65
112
102
41
-8
-51
7
17
50
2
-9
0
0
0
0
18
-45
-3
38
29
-42
-30
-28
25
-13
-33
-12
-1
0
0
0
0
-32
17
-25
-5
18
-42
-91
63
-21
-21
-3
-11
2
0
0
0
0
0
-73
-49
-51
-32
33
-27
29
-73
19
-7
-16
0
0
0
0
0
1
-62
-100
-65
-113
-115
-111
6
-44
-75
-4
35
-1
0
0
0
0
0
-3
-61
-43
-96
-39
-8
24
-57
32
44
-2
13
0
0
0
0
0
3
-100
-45
-58
44
-12
-3
17
7
-6
3
0
0
0
0
0
7
53
86
0
0
0
69
56
-13
-39
17
-14
0
0
0
0
0
67
27
66
0
0
55
33
34
10
-62
-6
-7
0
0
0
0
0
29
38
133
166
129
10
-32
-9
2
14
-9
-13
0
0
0
0
0
-49
-96
31
65
16
4
-18
-26
27
-27
-32
-8
0
0
0
0
0
-75
-36
-18
-42
-31
8
-49
13
44
33
19
1
0
0
0
0
0
-47
14
-131
-6
-3
-66
15
-68
-14
32
-44
-2
0
0
0
0
0
0
10
9
-36
-66
-61
-87
5
32
4
-19
-11
0
0
0
0
0
-1
-56
-83
-119
-43
-71
-38
-24
-27
35
-14
-1
0
0
0
0
0
0
-8
-34
2
-52
-32
-3
-31
-57
-1
1
0
0
-22
27
8
9
38
50
-44
0
0
0
110
40
-1
10
22
35
-9
-51
-41
-26
-29
101
38
12
0
0
0
51
43
-29
-48
18
-15
1
135
-65
1
-44
1
63
6
31
42
88
35
160
-21
-12
-16
16
17
-43
0
-27
-26
36
26
67
67
23
62
96
71
-8
-5
-82
1
-8
25
-6
-7
43
-7
27
-26
-10
-13
-8
-13
-24
-16
62
-47
21
-21
1
43
20
-31
-5
-18
25
-26
-63
-88
-70
10
33
-28
-16
-55
-5
58
11
30
36
-49
-36
-35
-105
-47
-62
-117
2
-22
22
-61
-36
-22
3
-9
46
-25
-74
11
-89
-93
-76
-66
-126
-13
8
28
35
-14
21
5
38
-27
48
-78
-166
-83
27
-14
-63
-107
-43
-46
-10
46
-4
3
50
18
25
117
77
46
109
0
0
0
22
90
48
92
33
-59
18
36
-6
62
3
74
27
6
0
0
0
31
44
32
8
-2
12
-5
-42
7
2
29
82
33
-1
-61
-10
-8
32
-25
-22
-34
1
-24
-4
-45
12
11
-31
-19
-74
-44
60
99
54
-11
-83
0
14
-62
-94
-44
-87
47
3
8
-54
-15
-21
-1
63
34
-24
-27
-39
-45
-39
-7
-43
7
7
44
-27
70
-14
-75
8
22
-8
-55
-26
-52
-8
-114
16
-24
12
-40
-75
-54
-5
27
-9
-20
15
-7
-29
-36
-19
-4
6
16
15
40
-48
-37
0
16
-98
-29
-33
42
-10
-91
-40
21
-98
-27
49
17
-4
-1
13
6
-66
-31
-17
50
-3
-17
-65
-4
-89
26
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-16
-14
6
87
0
52
0
0
0
-37
7
2
-27
25
-32
0
-28
-16
19
10
69
27
48
0
0
27
-26
-22
-23
-7
-58
-10
3
27
2
-10
-7
31
-30
58
102
79
-33
-75
-33
50
-55
-31
-4
15
7
-5
-24
-17
-52
-99
-61
-37
-59
-76
-54
7
46
-37
-50
21
5
2
-45
-22
-25
-44
-43
-39
-85
-41
-19
-41
-79
30
-30
-62
18
-3
-15
0
-31
-48
-40
-28
-97
-111
-88
-13
-64
-46
-80
-40
15
0
-3
-33
-24
-26
-17
-47
-74
-78
-84
-34
-99
-98
-50
-27
33
-55
-27
-3
-1
-66
-23
16
26
2
13
-45
-12
-66
-79
-88
-6
-53
14
-49
-2
-40
-101
-53
-48
14
-19
-166
-144
-32
-42
-146
12
-42
-22
8
-3
0
-35
-45
-3
-5
22
2
132
0
0
-46
-101
-12
-39
-125
-104
-4
0
-57
-37
-13
-6
8
3
9
38
2
-68
-49
-44
-23
-39
-49
-22
0
-1
16
1
4
7
3
-13
-28
-68
-66
-39
18
-120
-70
-7
36
0
39
-22
14
2
-8
5
11
-7
-28
2
-3
-79
-58
-31
7
-21
0
62
16
2
3
-7
-14
-13
-22
-6
29
-20
-36
-69
25
-21
10
0
-28
-21
16
-2
-9
-14
-28
-29
-1
-18
-14
64
-38
-54
-35
-20
0
53
13
4
3
-9
-22
-14
-4
8
26
-42
-7
-19
-33
5
0
0
-39
2
35
7
-17
-15
-10
-32
-37
-59
-45
-49
-17
-32
43
0
0
-66
2
38
10
-6
-13
-13
-18
-31
-26
-47
-2
52
16
0
0
0
51
27
51
79
165
207
147
0
0
3
-90
-38
-31
-28
0
0
0
-1
12
22
41
65
109
58
41
5
-46
-39
-28
4
10
-4
0
0
-4
1
5
18
39
44
-50
-82
-77
-20
-47
8
-46
6
0
0
0
7
-17
-1
1
28
1
-18
10
28
-70
-11
23
-43
-3
1
0
0
-8
-6
-18
-45
-45
-41
-95
-80
-7
-34
-136
-52
67
-21
16
0
0
-16
-15
-14
-16
-34
-42
-57
-144
-3
-56
8
-60
-89
53
-7
0
0
0
-3
-1
-30
-35
-34
-11
-62
-98
-101
14
-54
-36
-25
7
0
0
37
-4
-12
-27
-30
-77
-60
-52
-64
-31
51
27
25
2
-2
0
0
-4
-2
-33
-10
-28
-57
-39
-33
-19
33
-43
-30
37
-48
0
0
0
-2
0
19
58
99
201
81
17
0
-17
-128
-115
-43
-32
2
0
0
3
-4
18
46
12
157
0
9
-43
-68
14
-53
-50
-38
0
0
0
-4
-2
-11
16
52
98
119
-12
-85
-68
-44
-41
-65
-11
-2
0
0
6
-9
-26
-7
-60
-66
-36
-21
-46
-32
-39
-3
-31
-7
-1
0
0
1
-8
-28
-54
-45
-90
-98
-87
-80
-15
15
-52
29
16
-2
0
0
11
-20
-25
-66
-87
-99
-113
-88
-59
-105
25
-24
-40
-44
0
0
0
-20
-17
-39
-37
-55
-85
-106
-84
-22
-38
-50
43
20
-38
0
0
0
-1
0
-20
-53
-64
-122
-118
-74
-42
-84
13
-69
54
15
0
0
0
-48
-17
-47
-62
-42
-140
-54
-92
12
23
-34
0
-1
-1
-1
0
0
6
-23
-15
17
58
-12
118
0
0
28
71
89
-17
36
-50
10
14
-48
-2
-22
8
46
-7
90
0
36
0
9
-19
-17
-46
-6
49
8
-14
-16
-16
12
18
-23
72
51
114
52
-2
-22
-9
-6
9
-64
-45
27
-20
-34
-24
-40
-55
-55
-49
-78
-94
-87
-87
-89
-47
-59
-35
0
36
-58
-24
-38
-49
-81
-41
-65
-63
-89
-136
-26
-126
-48
-8
30
0
25
-53
-55
-43
-75
-19
-96
-75
-73
-74
-67
-47
-34
-113
-44
11
5
-79
1
-73
-19
-31
-49
-102
-97
-72
-52
-69
-7
39
-3
-58
17
0
-46
-74
-61
-51
-95
-69
-64
-20
-140
-48
-66
-38
-79
-29
-43
11
0
-13
-53
-18
-41
-60
-141
-78
-145
-53
-85
-57
-83
-67
3
-3
-1
0
-48
-8
-41
14
-3
-33
-54
-4
0
49
4
-110
3
23
65
-1
0
28
-20
-12
-24
-57
9
40
0
46
0
19
-9
-16
-55
80
-43
0
-8
-54
-6
19
10
39
46
81
8
92
71
87
-25
-43
38
40
0
-51
6
11
-14
22
70
44
20
-41
-8
100
102
-14
-16
-24
-10
0
-14
-48
-24
-7
5
14
3
-14
-35
-77
-50
25
45
-47
-73
-22
-2
-35
-13
7
17
-18
-30
-63
-149
-106
-82
-73
-11
-68
22
23
38
0
8
51
-14
-27
-25
-37
-143
-65
-75
-123
-66
-40
29
44
-3
17
0
44
79
-28
12
10
-41
-66
-82
-85
-121
-166
-2
15
-1
-10
0
0
34
-45
1
-71
-67
-104
-25
0
-53
-65
-43
19
-9
-2
-1
-1
0
-3
11
3
63
30
80
54
0
0
0
36
139
69
-27
44
25
0
-13
-1
-12
19
6
5
28
22
0
-13
67
90
30
25
63
18
21
38
-35
-16
6
-23
-6
43
1
-9
21
-34
13
4
-50
3
-11
21
-8
-41
-67
-6
-32
7
-13
-10
103
6
-48
-64
-39
-32
-35
5
-8
-54
-50
-63
-62
-8
63
-23
-9
78
3
-79
1
-18
32
-23
-20
0
-35
-82
-42
-63
-62
10
9
34
73
-12
-185
-73
-41
10
-2
-15
7
-49
-21
-55
-49
-23
-49
-21
-15
-13
-54
-183
-58
3
-7
-3
37
1
-109
-49
39
13
-20
-48
57
-21
3
-71
-135
-76
-13
-1
-3
4
0
-10
8
26
-34
20
-31
-17
-40
-12
-12
-38
-2
-2
0
0
0
0
0
0
0
0
0
1
100
21
0
94
174
153
94
5
5
34
-17
0
0
0
0
0
-3
52
20
74
29
47
95
38
-9
-5
50
29
0
0
0
0
0
23
-1
105
67
103
64
26
24
21
23
30
48
0
0
0
0
0
-1
70
95
34
30
-11
3
-10
-38
-24
-21
79
0
0
0
0
0
0
52
21
69
29
-49
-57
-71
-89
-15
-36
5
0
0
0
0
0
1
-8
79
51
-63
-57
-90
-29
-76
-79
-71
-53
0
0
0
0
0
0
10
-4
24
-22
3
-69
-29
-90
-104
-63
-68
0
0
0
0
0
0
-13
18
-17
90
-220
-111
-127
-55
-118
-119
-52
0
0
0
0
0
0
0
-4
32
-5
-18
-51
-65
-117
-74
-62
-76
0
0
0
0
0
0
19
35
0
-55
87
169
97
55
-37
56
-48
0
0
0
0
0
0
9
62
97
14
29
-4
62
51
43
32
93
0
0
0
0
0
0
72
-8
11
44
30
43
86
-28
2
-34
79
0
0
0
0
0
0
13
-22
-36
35
11
9
14
-28
-25
-46
59
0
0
0
0
0
0
8
13
27
81
-84
59
-54
-56
73
62
11
0
0
0
0
0
0
0
-18
-13
47
41
-76
-89
-30
-71
-57
-44
0
0
0
0
0
0
0
1
0
37
5
23
-43
-42
-72
-87
20
0
0
0
0
0
0
0
0
-17
29
7
-82
-38
-68
-78
-39
-3
0
0
0
0
0
0
0
0
-3
2
0
-38
-14
-35
-53
-46
-40
0
0
0
0
0
0
6
12
0
-21
206
122
54
43
28
-19
71
0
0
0
0
0
0
42
-16
27
-21
59
73
21
13
31
28
20
0
0
0
0
0
0
11
73
17
57
-34
14
44
-5
24
33
100
0
0
0
0
0
0
-15
46
45
-79
4
63
36
44
18
36
41
0
0
0
0
0
0
-20
61
16
-17
-15
-57
-47
-28
17
44
41
0
0
0
0
0
0
24
-42
14
48
-81
-10
-103
-33
-42
-5
-100
0
0
0
0
0
0
-5
-32
-7
73
-7
-90
-46
-24
-34
-55
-20
0
0
0
0
0
0
0
0
16
29
33
-25
-123
-114
-26
-11
-39
0
0
0
0
0
0
0
0
0
0
7
-58
12
-57
-24
3
-20
0
0
0
0
0
4
-5
55
0
3
60
145
14
2
37
5
13
0
0
0
0
0
-1
-22
-1
-31
53
17
145
75
41
-2
17
11
0
0
0
0
0
5
51
24
4
37
94
70
22
11
34
38
46
0
0
0
0
0
3
-17
21
41
31
7
-23
53
-12
41
26
64
0
0
0
0
0
-7
49
-36
60
-53
-68
-72
36
-40
-45
-23
4
0
0
0
0
0
0
-6
-15
5
-17
-65
-41
27
-13
-36
-40
11
0
0
0
0
0
0
-6
-7
-19
-52
-102
-9
-76
-59
-12
-23
-11
0
0
0
0
0
0
0
1
15
-8
6
-24
-74
-33
2
36
-20
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-19
7
-48
41
0
0
1
-2
-26
-4
0
12
0
11
83
84
65
9
-6
-6
37
0
0
1
4
0
35
12
4
4
17
50
122
55
-11
-18
-36
-20
0
0
0
-10
-2
-34
62
13
15
50
44
121
16
-13
-8
-16
35
0
0
-1
0
-53
-56
-15
16
18
90
19
31
7
-16
-12
20
33
0
0
-1
11
-33
-28
-82
39
10
38
9
59
-26
19
10
-10
24
0
0
0
4
26
0
77
-18
70
-20
19
-58
-52
-55
-5
-46
55
0
0
9
3
0
-10
-20
-6
17
18
-62
-20
9
-40
-11
-53
-56
0
0
0
12
5
13
-52
-6
10
-7
-46
-59
25
-19
-21
-12
-15
0
0
0
0
0
-22
-9
45
-1
-13
4
-82
-60
-76
-54
1
-74
0
3
9
-5
5
-94
-33
-42
0
30
7
41
71
34
0
-27
58
0
29
7
38
50
8
-42
-6
-73
38
74
53
38
30
-4
-23
36
0
-3
16
-34
1
9
25
-21
-68
9
15
51
61
-5
-10
23
-11
0
-2
-10
14
-12
29
79
-3
-19
7
26
-11
28
32
-29
14
-6
0
0
5
14
7
0
32
42
37
-41
-11
-35
-13
-1
10
24
9
0
0
0
11
-2
-13
-67
7
40
51
-44
-28
24
-8
-9
-3
-3
0
0
0
0
27
30
-16
43
47
-8
-8
31
20
-8
-22
-1
23
0
0
0
-5
-5
4
26
-18
8
62
27
25
-36
-31
0
3
-28
0
0
0
0
8
12
49
76
-8
27
53
-30
-4
-52
-32
-63
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
-6
-44
63
43
-26
13
0
16
21
28
-13
-29
-27
-82
41
36
10
-36
-40
-3
-18
-2
15
0
12
20
14
-47
-18
-69
-29
-39
-22
-70
48
9
-42
-65
-17
16
5
1
-41
-33
-31
-16
13
-38
-13
-14
-20
25
-53
-40
-31
-22
3
-71
-65
-70
-38
-41
-6
-40
2
11
-25
-45
-31
61
1
-9
6
-52
-69
-102
-84
-75
-29
-73
-64
12
-85
50
-12
-92
-85
-47
-78
-52
-102
-147
-153
-39
-97
-83
-26
-56
-62
-30
-5
-24
-1
-99
-22
0
-118
-56
-116
-95
-43
-50
-42
-85
-57
-45
1
0
0
0
-18
24
-82
-49
-99
-131
-13
17
-105
-17
-82
-22
-11
-22
0
0
0
-3
-4
3
3
-94
-170
-138
-44
-88
-75
-10
-105
-45
-67
10
-31
-36
-1
-3
18
6
27
0
2
4
-1
-11
-28
-31
-23
0
-13
-47
-67
13
7
20
14
19
9
-4
3
-2
-34
-9
-68
-32
0
-13
-67
-10
-54
5
8
-3
1
7
2
5
-2
2
7
-51
18
0
2
-65
14
-51
13
-7
-19
-3
0
7
6
-4
-25
-12
-8
-16
0
-15
-34
0
21
-3
-13
4
-31
-19
1
2
-2
-18
-23
-4
-15
0
3
35
13
-38
8
4
-9
9
-10
0
-1
-8
0
-4
-53
-45
0
-3
-19
48
4
-50
7
-5
-17
-22
-4
-1
-5
-1
-32
2
-41
0
0
15
-26
20
19
-4
18
-10
-13
3
-1
-36
-20
-68
-15
14
0
0
0
23
13
8
-40
11
28
12
-15
1
-39
-30
-17
-41
-8
0
3
12
22
-13
61
54
-6
8
0
14
25
23
-5
-65
18
19
0
-5
-8
-10
15
19
40
2
-1
-1
8
21
36
52
-3
-71
-36
0
-67
-20
-5
24
8
-8
-2
2
-1
-31
8
-39
-29
19
-108
17
0
-5
12
-31
-18
7
7
-3
-5
-8
-16
-8
-4
-24
-55
-56
-4
0
18
0
-12
-19
-14
-13
-5
-11
-6
23
0
-12
-17
-14
-67
-11
0
2
29
-15
-28
-11
-23
-15
5
-11
-36
-53
-11
-56
-118
-48
-49
0
16
-21
-7
-11
-4
-5
-6
-2
-5
-28
23
-53
-13
-93
-97
-54
0
-28
-24
-6
-9
-49
-7
-13
1
-17
-34
20
14
-48
-53
-55
-6
0
-57
11
-24
-34
-4
-32
-8
-4
-12
-24
-38
-96
-52
-79
-9
-32
0
22
-61
32
18
-10
49
11
5
0
6
6
38
16
25
-90
0
0
-46
24
-71
20
32
39
11
7
4
5
-10
60
6
-64
14
0
0
-18
-80
-42
-1
-27
30
6
10
-2
-1
1
-13
-23
-15
-27
0
0
-49
-9
9
-37
-34
-29
-28
4
4
11
-7
16
-5
-13
54
0
0
23
6
-66
-68
16
-24
-21
2
-26
-8
-37
-11
-22
47
-28
0
0
-11
-58
39
-66
-46
-43
-24
-16
-41
-39
-58
-36
-54
-20
0
0
0
42
-41
-17
-13
-17
-51
-36
-17
-15
-26
-27
-30
-60
-84
-56
0
0
-58
30
-35
-49
-60
-60
-44
-18
-24
-80
-40
-42
-79
-33
-33
0
0
0
0
-18
2
-49
-30
16
-75
-55
27
-67
-51
-53
20
2
0
0
-2
-12
-81
19
-32
0
46
46
0
17
40
-10
-46
6
-24
-8
60
0
-21
7
-48
46
19
-11
9
3
-11
12
8
-9
-16
4
-6
-7
-7
30
-21
4
6
2
-37
-10
-1
6
-12
-38
-17
-12
11
-19
6
0
28
-60
-20
-22
-72
-65
-31
-45
-26
-121
-78
-28
-60
-11
-29
32
0
-18
-11
-25
-31
-47
-53
-70
-46
-65
-72
-64
-27
-15
-46
-27
-3
0
-60
-65
-45
-74
-51
-140
-19
-100
-117
-82
-82
-16
-85
-23
-54
-23
0
-56
-70
-43
-29
-22
-129
-88
-8
-107
-81
-56
-5
-93
-26
-97
-10
0
-12
66
25
47
-40
-100
-54
11
-75
-68
-50
16
-75
-68
-117
-21
0
1
13
14
-12
-6
-52
-119
-78
-225
-156
-88
-95
-95
-61
-144
-42
0
2
8
-16
-46
31
-9
-54
0
20
30
42
24
47
-18
9
-18
-1
-5
-31
-14
-47
-54
9
-91
-19
19
35
39
-2
2
18
-24
-41
1
-1
19
-48
-14
21
-42
9
-3
-26
7
32
-13
34
-34
-16
-11
0
-1
-12
6
94
-33
29
14
21
35
-12
38
45
35
-29
-42
55
0
-4
-24
44
-42
0
24
-22
16
6
-15
1
-12
29
11
23
47
6
-3
29
-32
35
-44
-58
38
33
-38
-39
-65
-14
-7
20
-21
29
-1
-1
-6
-1
51
-22
-30
8
-34
-17
-86
-19
-1
-95
41
2
-38
0
0
2
-12
-13
-88
-40
-71
-41
-64
-37
-88
-19
44
36
-46
-24
0
0
0
0
1
11
-25
-79
4
16
-8
-62
-35
-7
-8
12
-72
-3
-23
-13
13
-29
-24
24
-9
0
-29
-9
29
12
103
25
-1
-3
8
22
-22
-36
13
10
-13
-83
-50
-40
51
55
2
42
19
21
23
-4
28
-64
-20
28
9
-17
-39
-16
15
19
11
36
8
-40
-4
-11
7
0
-24
-21
34
21
8
-12
3
0
59
-7
8
13
-19
-15
6
30
-1
-20
9
-12
-1
-14
-19
-3
16
3
11
-36
23
-16
49
-16
0
-37
45
5
-57
-25
4
-10
14
13
-9
-52
51
1
12
-32
53
0
9
-17
-35
-67
62
-85
-6
-9
-6
-12
38
-36
24
-48
-19
48
0
3
14
-26
32
-9
-37
11
-27
-4
-36
-69
-120
-46
-55
-22
16
0
0
16
13
-28
-40
-34
3
2
12
-77
-4
-7
-22
-41
11
33
0
0
0
0
0
-8
-25
0
0
0
58
-10
12
12
6
1
0
0
0
0
0
0
21
-9
0
0
1
-38
5
60
-11
7
11
0
0
0
0
0
3
-1
75
44
49
-69
43
14
-20
33
2
12
-1
0
0
0
0
0
5
-33
-58
-44
40
-51
18
65
5
-22
3
0
0
0
0
0
1
9
-10
26
-22
13
14
-47
-32
-19
23
2
0
0
0
0
0
-1
-9
-16
-12
-8
3
-4
-9
11
-10
4
0
0
0
0
0
0
-2
-14
-36
52
28
-19
-62
-3
-31
-16
0
-2
0
0
0
0
0
0
1
-13
-28
50
-28
-1
2
-17
0
8
1
0
0
0
0
0
0
0
7
-32
-24
-6
-8
6
1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-9
-11
13
1
1
-2
0
0
0
0
0
0
-5
9
0
0
16
6
6
-24
10
-3
0
0
0
0
0
0
0
8
49
42
53
-83
-10
29
31
-2
1
0
0
0
0
0
0
0
8
-52
2
18
-8
-4
30
11
-1
0
-2
1
0
0
0
0
0
-1
15
-17
-30
24
-49
31
7
5
-2
1
0
0
0
0
0
0
-3
3
-11
-37
-1
-20
17
-13
0
-5
-1
0
0
0
0
0
0
2
-19
-6
5
-12
-11
-23
-4
-6
-1
0
0
0
0
0
0
0
0
16
-33
-22
-38
23
-6
-8
0
5
3
0
0
0
0
0
0
0
-1
5
-32
-4
7
2
0
-1
0
0
0
0
0
0
0
0
3
106
0
0
0
13
23
38
-29
6
0
0
0
0
0
0
0
8
67
0
0
2
9
15
11
43
16
-4
0
0
0
0
0
0
-22
16
-42
76
-14
30
21
14
11
5
2
0
0
0
0
0
0
-4
-18
-2
-3
37
-26
43
-6
-25
4
-1
0
0
0
0
0
0
2
-88
-18
-54
-20
2
1
18
9
4
1
0
0
0
0
0
0
5
-63
44
32
-10
-32
-3
-3
-4
0
0
0
0
0
0
0
0
-3
-36
-31
-46
40
-19
11
-2
-7
0
0
0
0
0
0
0
0
0
-6
8
-48
-36
-5
22
4
2
-4
0
0
0
0
0
0
0
0
1
13
-58
0
-5
-1
-1
0
0
0
0
0
0
0
0
0
-16
33
0
0
0
75
32
-8
-4
5
0
0
0
0
0
0
0
39
17
0
0
2
-10
-44
-43
11
-13
0
0
0
0
0
0
7
-7
98
32
98
10
-2
-22
12
-6
0
0
0
0
0
0
0
-1
-23
8
25
-84
-23
33
0
23
9
-2
0
0
0
0
0
0
0
-30
-25
-57
-32
-11
-19
29
8
-7
2
0
0
0
0
0
0
0
11
-37
28
-17
21
-8
-4
13
2
0
0
0
0
0
0
0
0
2
-51
20
-20
-21
6
0
2
7
1
0
0
0
0
0
0
0
3
-8
-12
12
-32
-6
-2
2
1
0
0
0
0
0
0
0
0
0
0
8
6
-8
-5
0
-2
0
0
0
0
9
40
33
3
-15
0
36
0
0
0
39
2
23
-9
-6
0
-1
-1
-18
-19
-28
43
-38
16
0
0
0
44
15
-41
-7
-25
2
0
-6
26
-7
14
1
-9
-18
47
47
160
6
48
20
1
6
-2
-1
-1
-20
-6
3
-25
77
19
61
-19
16
26
58
37
8
-2
-5
0
-3
-9
3
-8
-22
29
36
-30
-30
-20
41
-56
10
12
6
-2
0
6
-7
-21
-23
-5
-6
-59
-51
-28
-4
-60
9
-2
-13
-5
3
0
-5
7
40
-10
5
-25
-47
-66
-6
-8
-69
-25
16
-3
2
-5
-1
0
0
-30
-28
-3
-8
-49
7
-20
-45
28
8
-11
2
-7
1
-1
2
4
-25
34
-3
-23
-8
8
33
0
-21
26
7
1
0
0
0
-16
-4
17
-1
5
30
50
0
0
0
5
51
-16
25
18
0
0
12
-8
37
4
10
12
96
0
0
0
42
55
0
-1
-30
-17
5
-18
-16
-29
24
4
20
37
-36
15
0
3
9
45
-12
-23
-8
-1
-13
7
-7
13
7
10
-30
91
124
-3
-48
-20
-60
-24
9
1
0
-2
-12
27
17
-24
-36
-73
3
70
-9
-24
-5
27
-9
-6
-8
-1
-3
-4
-15
-56
-13
5
2
18
-44
-14
-19
-25
18
-7
-6
-3
0
-8
-10
-25
5
5
-45
-57
14
34
-8
-66
-6
-18
-5
5
0
1
4
8
-24
-13
-2
14
-6
-3
13
-7
-61
-25
6
-1
3
0
0
0
-3
0
2
7
0
-23
-7
0
9
-16
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-14
-72
-77
40
18
84
0
0
0
-22
21
12
-5
-5
-19
0
-16
85
-33
42
110
54
135
0
0
12
-28
-6
18
11
7
13
0
-5
-72
-18
-31
22
57
103
55
-15
-41
24
-8
15
-21
2
0
0
-10
-12
-20
-26
102
49
1
50
-10
-4
-56
-34
38
2
17
-5
0
-45
-21
26
-14
-45
-25
-69
34
29
-22
-65
-22
-13
-13
16
7
0
15
-20
-11
38
-4
14
-43
-31
-94
-9
-27
32
-5
-12
3
3
0
-8
43
15
16
14
-26
3
-42
-32
-25
-5
-27
-16
0
3
0
0
-22
13
-36
17
18
24
-17
2
-41
7
-2
3
3
5
-1
0
0
0
1
2
-30
1
-5
-36
5
-3
3
-3
-8
-7
-3
0
0
0
21
-10
-37
11
77
-4
42
0
0
-58
-40
-7
-15
33
-4
0
0
-53
-47
-25
-26
67
-1
-6
29
-39
-4
48
23
-91
-7
-1
0
0
0
36
-25
37
11
4
34
-17
-63
-26
-16
4
9
1
-4
1
0
-22
10
12
-31
-5
-18
27
28
8
-17
53
38
31
-26
-14
0
0
-1
78
-18
13
-43
-2
3
8
40
28
14
57
-23
-7
-2
0
0
70
-60
-17
-2
17
51
-13
-32
19
7
-13
1
24
18
-2
0
0
-32
-26
79
-16
-1
-13
12
-10
39
-9
0
-4
-32
0
2
0
0
6
38
18
35
-23
-19
24
4
69
-1
-9
-18
-19
-1
0
0
0
-13
-7
33
2
39
-13
-92
-16
-20
-13
27
7
1
0
0
0
0
-53
5
33
13
67
137
17
0
0
-5
-31
-8
-8
1
0
0
0
12
-4
15
-3
28
36
-11
-54
-7
11
1
11
-2
-4
0
0
0
-22
51
-22
3
42
-9
-4
-34
-12
5
-10
-18
-3
0
0
0
0
13
23
-39
-2
37
-3
3
-24
69
11
-9
-1
-5
1
0
0
0
10
-6
1
-24
37
0
-51
13
2
-20
23
8
0
0
0
0
0
-4
-9
2
17
-37
-22
64
26
23
1
20
-2
0
1
0
0
0
5
-1
-8
-14
-9
-13
-7
-5
-6
-31
-16
7
-1
3
0
0
0
-32
-3
6
-18
-37
-4
12
10
7
21
1
0
0
-1
0
0
0
-52
4
-17
-30
-14
-8
-26
31
-26
10
-4
-7
6
0
0
0
0
-34
-3
31
-7
17
111
-6
-33
0
42
-27
-22
13
-3
0
0
0
-10
-10
4
9
27
73
0
28
13
38
-4
-4
13
-7
0
0
0
13
-10
-7
7
32
14
13
-57
-25
-40
-8
42
-30
-1
0
0
0
12
-2
-42
41
-48
-7
-68
18
28
-21
11
15
10
-1
0
0
0
-22
19
-27
22
-9
15
-10
-40
-7
3
6
-12
-21
4
0
0
0
-13
-2
-2
14
-57
46
-24
-7
-11
4
4
-13
-13
-6
0
0
0
1
-15
2
-38
-97
26
-13
2
11
-14
-6
1
2
0
0
0
0
-22
32
-23
-9
-24
7
-39
-30
-41
-7
6
1
-2
0
0
0
0
0
-1
-17
25
-43
-14
-25
-7
8
1
-3
1
0
0
0
0
0
-8
-10
-46
-1
36
13
113
0
0
-28
-11
50
21
-27
14
4
0
-15
-43
52
-7
46
-7
66
0
14
0
-38
-30
16
11
6
2
3
-41
-9
-17
-3
-44
3
18
50
95
15
24
44
-10
51
-42
-42
-1
0
-32
14
-30
-20
26
77
-8
-6
-29
-52
-7
-23
10
-66
4
0
20
-11
-45
-56
-9
-30
-26
-15
-7
1
-34
22
4
0
-5
0
0
-17
29
-63
-52
-19
57
-2
-55
-43
-70
0
-43
9
-16
-5
2
0
-1
-43
-55
-7
30
-101
20
-9
-41
10
-11
30
-21
19
0
0
0
2
-27
82
24
-23
3
14
-59
17
-14
-22
-1
-12
8
-1
0
0
2
-16
16
-26
-27
-14
14
-15
5
3
2
-4
0
0
0
0
0
29
-18
2
-9
40
-5
-2
6
0
1
13
25
43
7
2
0
0
4
-51
-4
-2
-16
97
3
0
19
0
38
28
-21
-20
5
0
0
-2
-39
-56
-2
2
65
15
130
17
94
44
75
-34
22
-8
0
0
-54
33
5
-33
38
-26
-5
44
20
62
38
-2
-12
7
-1
0
0
-4
32
32
-7
-53
10
17
-45
-60
-48
49
-2
-7
-21
-9
0
0
-5
-2
7
-47
-4
-8
3
-51
-43
-80
-44
-13
-2
-3
0
1
0
1
-2
-64
41
-57
-17
6
-20
-39
-31
-7
-4
1
1
0
0
0
7
10
-28
22
-28
35
-46
-14
-19
-27
-13
-3
0
0
0
0
0
10
-4
-4
-14
-44
-3
2
-14
-12
-8
8
1
-1
0
0
0
0
-19
14
-9
64
31
27
-15
0
0
0
24
45
9
-24
1
0
0
-67
15
12
-13
4
-6
20
0
0
27
6
48
7
26
4
-7
1
59
-81
23
17
51
-30
-11
58
-2
66
53
-31
-15
-16
2
0
0
-63
25
9
-25
18
44
34
28
62
27
-21
-33
-6
-12
-1
0
0
-16
4
18
-44
15
-22
-7
36
9
8
-25
18
-6
1
-1
0
0
52
-15
-33
2
20
28
-37
18
-28
-68
-73
-23
13
-2
0
-2
0
12
-1
-44
-40
11
19
22
34
-39
-57
-16
-16
2
5
-5
0
0
-22
14
18
3
-22
25
44
-29
-11
-28
-31
8
-7
0
0
0
0
-1
-40
-18
-19
8
9
-6
-19
-34
5
6
0
0
0
0
0
0
0
0
0
0
0
0
4
20
0
14
87
4
47
28
20
-23
30
0
0
0
0
0
0
21
36
74
33
22
32
60
95
-10
-72
41
0
0
0
0
0
0
24
4
-7
51
82
-12
-1
-58
31
86
-26
0
0
0
0
0
0
-1
-10
6
9
-40
-4
35
-21
31
-11
12
0
0
0
0
0
0
0
3
13
20
-7
-29
-31
-107
-40
-1
54
0
0
0
0
0
0
0
9
-23
-35
-32
-1
-11
-30
18
-111
-39
0
0
0
0
0
0
0
1
8
-11
-7
-52
-28
-40
-25
-29
6
0
0
0
0
0
0
0
0
0
8
-51
-3
-35
14
-17
6
-89
0
0
0
0
0
0
0
0
0
-1
-1
-21
-5
-11
13
18
-47
0
0
0
0
0
0
0
7
0
14
10
55
13
-39
-4
-17
-49
0
0
0
0
0
0
0
2
35
-38
4
-38
20
46
-7
59
40
0
0
0
0
0
0
0
0
8
-1
20
-2
-3
-31
-50
5
6
0
0
0
0
0
0
0
0
2
-2
-4
1
-20
13
-50
0
16
0
0
0
0
0
0
0
0
1
9
1
-19
-27
1
-25
18
16
0
0
0
0
0
0
0
-1
0
-1
19
24
19
48
33
-32
-42
0
0
0
0
0
0
0
0
0
-1
-8
0
10
-63
-48
9
27
0
0
0
0
0
0
0
0
0
0
1
-17
-10
59
-65
-22
-18
0
0
0
0
0
0
0
0
0
0
0
-6
8
7
23
-29
-21
0
0
0
0
0
0
1
-1
0
-2
-3
-5
-5
63
30
2
5
0
0
0
0
0
0
0
-14
4
-9
-15
-24
-32
38
-46
-31
28
0
0
0
0
0
0
0
9
5
31
4
28
24
65
7
-17
45
0
0
0
0
0
0
-1
4
0
4
-16
13
-2
-50
-15
49
-23
0
0
0
0
0
0
-1
0
6
15
-5
-43
-3
-54
9
-40
42
0
0
0
0
0
0
0
-1
-2
13
40
7
-55
50
51
4
-25
0
0
0
0
0
0
0
0
1
14
-13
3
-14
-44
21
-12
-13
0
0
0
0
0
0
0
0
-2
1
0
-5
-16
-17
1
12
-2
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-4
-19
-8
2
0
0
0
0
0
0
0
4
0
-6
62
38
1
20
-7
5
0
0
0
0
0
0
0
2
2
-3
40
16
80
32
-16
-87
37
-9
0
0
0
0
0
0
-1
38
-5
0
17
34
-60
37
56
87
41
0
0
0
0
0
0
0
6
13
6
-34
-6
48
-53
31
-83
-30
0
0
0
0
0
0
0
-2
1
-7
-32
-45
-23
66
2
-49
7
0
0
0
0
0
0
0
0
1
-1
0
-13
7
26
35
-15
10
0
0
0
0
0
0
0
-1
0
0
-25
22
0
39
-26
29
-19
0
0
0
0
0
0
0
0
0
0
4
-14
-28
-57
5
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
-1
0
0
0
0
-2
5
-8
-19
0
48
-4
38
77
7
13
23
-30
0
0
0
-1
-13
5
7
0
-76
-29
25
70
3
24
-27
-52
-40
0
0
0
0
3
-19
15
25
-9
-15
52
16
-13
-44
9
10
-49
0
0
0
0
0
-1
12
-13
-7
20
51
15
28
-8
30
-15
12
0
0
1
0
0
0
20
-31
2
3
44
77
-6
14
-10
58
49
0
0
-1
0
6
16
43
22
36
41
104
-14
-21
27
-46
-10
29
0
0
0
2
0
0
12
-30
-25
18
50
-60
60
-12
0
-7
8
0
0
0
0
0
-3
0
18
-33
-12
-28
18
-16
-44
64
-50
31
0
0
0
0
0
0
-5
-1
3
-2
1
-6
3
5
-9
4
-49
0
0
0
0
0
-6
7
-26
0
-11
27
27
40
1
15
-51
11
0
0
0
-7
-3
3
-7
17
8
32
52
32
-1
9
39
-8
2
0
0
0
0
12
1
-2
36
-21
8
19
-3
52
-33
-2
36
1
0
0
0
0
-6
-4
14
-14
43
-7
-11
18
-38
-8
18
44
1
0
0
0
0
-1
1
-24
-35
15
-48
71
-2
64
43
26
20
13
0
0
0
2
-7
-18
-30
-8
12
33
48
-33
5
-15
-39
20
1
0
0
0
0
0
6
-4
21
-28
-20
39
18
32
11
-31
-14
11
0
0
0
0
-2
0
10
-6
8
-15
-1
-59
-40
-20
-29
-3
16
0
0
0
0
2
-2
2
1
-6
20
-18
6
19
3
-44
-48
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
25
-30
51
-40
39
0
87
-18
19
45
7
-21
-34
-52
0
-20
-10
-22
-14
-56
-15
17
10
-10
-26
64
-6
-34
-32
-47
3
-1
-6
-40
-24
-14
54
-14
29
-11
35
9
28
9
-8
-84
13
34
0
-20
23
57
11
52
-45
-15
-57
-28
-13
12
19
-55
-28
28
-34
-1
2
-1
33
22
-33
63
-28
28
9
-4
-9
-67
21
-40
-67
-51
1
0
-18
-18
-42
-16
-18
36
-2
19
-56
-44
-67
22
81
-7
4
0
0
7
-2
-16
-37
-37
4
-24
-19
4
-16
-12
19
-29
-29
-13
0
0
0
-1
0
-3
2
-13
-44
28
-27
17
31
6
-26
2
-17
0
0
0
0
0
0
2
2
-15
-12
-8
-30
-12
-19
-14
-5
2
0
-14
4
-11
27
-31
27
31
0
-35
18
22
89
-12
-41
-24
0
2
-8
-94
-29
-4
43
-16
42
5
-17
-5
1
-12
-11
-2
32
0
1
-5
40
21
49
3
28
5
-35
-11
-33
9
19
-54
-10
3
0
0
-5
18
-7
-16
-53
12
31
29
28
38
3
20
-17
-46
-69
0
-1
1
-10
8
38
-29
-24
24
-7
8
18
8
34
-94
-15
-1
0
0
10
-7
17
-18
8
15
-5
33
-7
-2
-6
-81
-20
-7
13
0
0
1
4
-35
5
-22
-36
6
22
-17
16
62
-63
41
-3
-29
0
0
5
-2
-29
15
24
-21
18
26
-19
-25
16
-32
37
-2
28
0
0
0
2
-12
-44
10
-11
-11
-25
16
36
4
-13
-17
1
0
0
1
-38
17
-26
5
25
0
-10
0
8
1
13
7
-7
-3
3
0
0
7
24
-10
9
17
-7
2
0
-17
35
46
-23
9
-47
17
0
5
-1
-25
4
-6
-7
11
-3
-23
-72
-11
-28
47
23
-54
5
0
7
37
-14
6
-4
-8
-10
-3
41
78
-12
-30
44
-59
-16
-8
0
-10
-1
6
2
16
-1
15
-18
1
-30
28
-16
14
-8
-27
-9
0
11
7
-10
11
10
12
-5
-8
17
15
-32
37
-75
-2
-25
-5
0
17
41
-12
-35
10
16
-7
-3
-17
-26
-38
22
-74
20
-14
-1
0
-5
-20
-14
4
2
-1
-26
20
-23
-76
15
18
-45
-9
-7
3
0
1
-17
-18
-31
14
-17
-12
-20
6
9
-24
-55
3
-5
8
0
0
-1
7
18
11
58
11
17
0
0
19
-26
17
-11
32
-44
0
0
-11
-33
-33
-36
-21
46
-1
2
-2
15
22
43
68
14
9
0
0
13
9
10
-24
-24
-14
1
-9
-6
-35
54
31
12
-32
10
0
0
-7
3
-43
9
7
34
-1
-26
-46
-32
26
-39
45
-32
-17
0
0
-7
4
-8
44
22
14
14
-38
-34
-49
24
-7
-61
-44
-12
0
0
11
9
25
-51
-20
-35
18
-58
9
-18
-71
17
-52
-17
10
0
0
5
2
-14
11
-31
14
21
-9
38
-13
-20
-90
-36
-10
-4
0
0
1
5
48
-57
-34
-1
-34
-41
35
37
-49
-98
1
17
6
0
0
0
0
0
1
3
-5
-3
-7
29
-20
-17
38
29
8
-3
0
0
0
-2
-16
-23
-2
-7
-12
72
0
-50
70
-18
27
-11
-13
27
-16
0
5
-17
-28
-22
-27
-6
13
-4
13
48
-1
49
55
-6
-32
69
0
3
0
-49
28
-27
-41
13
67
-47
10
84
-21
-25
-4
17
-38
0
4
-28
-3
3
-4
44
-37
-48
24
-31
2
-8
-43
27
33
34
0
-1
10
7
-17
43
29
-69
0
-38
81
-20
5
3
4
-58
-99
0
0
-8
-9
-22
-14
-13
6
-43
15
-59
59
-4
43
10
-54
54
1
0
-1
-27
-7
-8
-51
-3
-9
-15
-7
-27
-67
-12
-58
-10
-23
0
0
6
12
-6
0
-25
-8
-29
-35
-40
-40
22
-57
-31
44
13
0
0
1
0
-2
-1
-6
-9
-17
-12
-64
-15
-26
-3
0
-28
2
0
0
-1
-7
-40
-1
15
-5
0
10
-28
50
109
29
20
-37
-6
0
0
0
6
-2
32
35
56
18
31
31
29
65
4
52
-1
-24
1
0
-1
1
14
-8
-55
-39
8
25
-17
44
45
41
-34
17
61
0
0
0
10
15
42
-21
12
-5
-11
27
-25
16
14
-7
-55
-8
0
0
0
1
-8
-9
-67
-1
-4
-10
-18
-36
-12
41
-46
-12
20
0
0
-1
0
-17
-8
-54
-28
3
-61
17
27
-2
-24
-21
-76
14
0
0
0
-12
-3
-14
-41
-4
5
-27
13
-4
33
-14
70
15
-10
0
0
0
-1
-8
-1
-36
9
-31
8
19
22
-23
-50
-51
15
1
0
0
0
0
0
13
-20
-15
-55
7
-24
-17
-14
4
-4
1
0
0
0
3
15
-11
23
-50
74
0
-22
-40
35
37
38
-18
-24
19
0
2
-24
-10
20
12
21
17
-77
2
21
48
12
-25
3
2
39
0
0
1
5
-23
-59
-28
-13
-14
18
53
-12
51
49
33
25
-20
0
-1
0
-22
-6
-15
38
28
71
31
21
-48
58
-19
106
22
52
0
3
-4
-24
14
-4
7
40
-49
37
25
25
2
-3
13
-69
-30
0
0
0
22
-27
12
6
-18
27
-5
18
-45
-39
-18
-22
23
23
0
0
8
-24
-23
-3
-53
13
20
115
26
-46
-16
-35
-16
-89
-44
0
0
-1
-1
24
-25
-12
-53
-4
-4
-48
23
-33
9
-37
30
-42
0
0
-1
0
-17
39
21
15
-83
-9
-59
59
-8
-8
-5
8
-1
-13
26
34
9
-7
0
54
-23
-35
15
-12
-6
0
0
16
60
23
2
-50
50
-13
29
52
66
17
66
34
41
-9
39
29
1
28
8
0
0
72
22
12
1
-1
25
7
69
-21
-1
12
22
-46
-51
-30
-40
-35
-25
46
1
0
0
-11
-15
43
-25
-58
-67
-57
6
42
58
13
-33
54
69
21
-17
43
34
-14
-56
0
0
68
68
-15
12
47
85
58
128
-26
-25
-13
-113
-55
-64
-52
-93
-63
-79
-89
-73
0
0
-20
-19
-78
-34
-79
-96
-73
-40
36
19
59
35
70
81
29
38
96
104
129
-22
0
0
52
62
17
-5
82
25
85
108
-37
-9
-3
-34
-108
1
-25
-46
-140
-28
-16
19
0
0
-30
26
-17
0
-190
-119
-150
-40
40
-43
14
15
161
-10
21
-58
253
60
29
-31
0
0
22
-15
-33
2
224
43
127
12
-97
-17
-26
3
7
-38
-45
3
6
-41
-30
9
3
2
-5
-37
2
2
4
23
3
6
0
7
52
-26
-11
-11
-22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-12
20
-8
-6
-9
13
-27
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
12
-14
0
19
16
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
26
21
-11
0
0
-5
4
-36
0
0
-46
-8
3
0
0
-29
0
2
0
0
-42
-2
-3
0
0
25
-19
-23
4
-4
-11
1
-19
-8
-3
-3
2
-1
-29
-3
0
-4
-2
1
-3
1
-4
-2
4
-23
23
27
38
8
0
-4
0
-9
-7
-10
0
3
-35
4
-32
0
-4
0
-4
-20
-13
1
23
-33
-3
-1
13
14
14
2
1
-7
-4
-13
-40
-43
-37
6
0
0
0
0
0
-10
-1
-2
1
2
-1
-3
-1
0
34
0
4
2
1
1
0
-43
0
-33
-49
0
-10
-5
-12
3
0
-11
-4
-10
-5
0
5
13
10
-6
0
0
4
-2
-17
0
0
2
-5
-6
0
0
1
-3
1
0
0
2
-4
10
0
0
-8
-21
10
8
7
7
0
-5
4
2
5
1
3
-13
1
1
2
1
4
-10
0
-7
9
25
-17
-2
-30
1
5
13
1
1
-2
-2
-1
0
-2
-1
-5
-3
-1
1
16
-9
-1
1
0
11
-46
4
-34
12
-21
2
-6
-1
1
1
-6
2
-4
-1
0
0
0
0
0
0
3
4
-1
-11
2
27
-27
2
-21
13
0
-5
-3
-1
8
0
1
1
-8
1
0
0
-1
0
1
0
2
0
1
0
0
29
86
-11
-10
0
0
-2
1
-5
0
0
-2
-5
1
0
0
-3
2
-5
0
0
1
2
2
0
0
4
46
-20
14
1
-10
4
21
15
-11
-51
0
-12
-74
-91
-19
81
44
-5
-39
-4
-30
67
80
81
13
15
-2
9
8
-17
-17
22
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-44
-28
27
40
-2
19
-20
-27
-35
-9
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
0
24
37
0
-38
-17
0
3
46
-26
-124
0
0
0
0
0
0
0
1
3
0
0
0
0
-4
0
0
-30
-4
65
16
0
0
-63
-22
-20
0
0
-12
-61
-16
0
0
25
-66
15
0
0
-12
-19
-12
0
0
-37
28
1
-21
-3
-15
-6
-2
-53
-68
-21
-38
-14
-61
-22
-16
22
43
-40
-16
10
-3
-40
-26
46
15
30
-47
-14
-34
3
-28
18
-25
-19
-22
-31
-36
-2
-44
-31
-4
-9
-20
-10
-84
-12
-27
-62
17
11
-10
3
-12
1
-8
-44
-22
-10
95
-83
-6
-24
0
0
0
0
0
29
-22
-8
-2
-12
-49
-21
29
47
28
0
0
-5
-19
33
0
-66
-39
-18
30
0
-73
54
-23
-19
0
40
8
41
8
0
0
40
-36
-1
0
0
-23
-5
24
0
0
-20
4
-44
0
0
-53
9
-92
0
0
5
58
1
0
0
58
-21
6
-8
-8
-6
7
-4
36
-25
0
-4
-34
9
17
11
31
-10
68
14
41
15
-15
80
-1
-32
-59
10
-21
-5
-12
-15
-1
-48
-36
-42
-34
-49
-25
-15
7
15
-30
63
-38
-30
20
10
-10
7
55
26
-7
-36
2
-9
-6
-9
40
-56
-45
-49
45
0
0
0
0
0
87
25
3
5
23
15
49
0
8
14
0
-5
-12
-1
-6
0
-29
-1
-34
-43
0
-50
3
-6
-7
0
-62
23
-3
5
0
-8
2
69
-10
0
0
11
-8
23
0
0
-12
-17
-24
0
0
2
27
7
0
0
20
-3
21
0
0
21
28
51
-17
9
1
10
9
-10
17
-5
6
-6
84
27
13
2
-33
42
60
11
59
5
-40
75
-1
-19
-13
5
9
2
4
18
13
-8
39
-5
23
74
37
39
16
11
-12
16
9
19
32
23
3
24
19
30
-22
-2
-8
8
7
-74
-27
-5
19
-28
0
0
0
0
0
-13
80
12
70
-28
-7
61
0
46
49
0
-12
-5
1
9
0
3
-31
-12
21
0
-20
20
6
14
0
24
45
18
78
0
-9
-1
-16
6
0
0
-11
7
-2
0
0
-7
-11
14
0
0
40
-1
0
0
0
-69
34
73
0
0
1
17
11
-3
29
11
25
-7
-13
4
5
46
0
-3
22
47
37
84
19
17
-22
36
-49
-8
2
15
4
0
26
18
14
23
-4
1
-12
-24
-1
12
2
0
13
3
-25
17
23
15
0
-11
45
0
-16
-10
-8
-2
-2
5
-14
29
-73
0
9
24
0
0
0
0
0
0
-1
-12
25
60
37
0
48
-14
-18
1
0
22
-17
8
25
0
-10
-14
19
13
0
51
43
36
-3
0
8
-25
33
20
0
0
0
40
0
0
0
13
5
20
0
0
-4
-24
25
0
0
-17
16
-29
0
0
16
-3
61
0
0
0
0
0
-27
-8
-2
3
-6
-1
9
-13
-2
-1
-51
-8
-15
0
10
-1
-9
-9
-4
24
57
-2
43
21
-18
-6
-10
1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
4
14
-31
-36
10
1
-2
-1
0
0
0
0
0
8
-2
-36
-1
-12
0
0
0
0
0
-5
-1
24
13
-33
0
7
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-19
3
0
0
20
-2
-10
0
0
-42
1
-17
0
0
0
3
0
0
0
5
4
-24
0
0
5
14
43
5
9
6
-3
-3
8
2
2
0
3
9
-8
5
-5
2
3
7
-10
-2
-8
22
9
-5
16
6
10
6
0
2
5
-9
-2
3
0
0
-3
3
-19
-33
-1
-5
-49
7
-40
-13
5
-13
7
9
-2
6
20
9
5
-2
3
-4
1
1
-11
-1
0
0
0
3
7
0
-1
-1
13
16
0
43
-48
-7
0
3
2
2
-5
0
-28
0
1
-5
0
-2
2
-3
0
0
0
3
-23
10
0
3
11
-38
27
0
0
2
-4
-1
0
0
-1
-3
-12
0
0
-2
-7
-4
0
0
-4
-8
-18
0
0
-5
26
6
1
6
1
0
7
3
0
1
-2
6
11
-3
1
1
-5
40
3
-29
-29
-13
-29
-4
13
-47
40
14
5
5
5
3
5
1
0
1
0
15
2
4
0
-4
18
1
-11
11
20
38
-11
-41
-12
24
12
0
3
2
14
4
-1
2
-5
3
14
0
2
0
-3
-2
0
0
2
-1
13
-30
21
54
-28
0
4
-2
-1
-2
0
-2
-2
0
-12
0
10
-1
-4
-1
0
-20
-19
-1
0
0
16
-12
1
56
0
0
1
4
-4
0
0
2
2
-7
0
0
0
-14
-45
0
0
38
-24
3
0
0
28
-17
-18
-37
-24
-63
-32
-1
-8
-44
-10
-15
-27
-10
-32
-49
-14
24
-13
-15
41
-24
-16
8
-24
-27
2
0
-65
-43
-68
-65
18
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
-1
-15
0
-68
-94
-33
-21
-104
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
0
-4
0
0
-95
0
25
31
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
30
-131
40
0
0
-57
-47
33
0
0
1
-47
6
0
0
-17
-35
2
0
0
1
3
0
-42
-38
15
-17
-45
27
-8
-59
-47
14
10
-25
-29
-22
-41
12
-93
-5
-33
-2
-33
-38
-33
-15
1
-58
-47
-8
-30
-40
-30
-44
-26
-58
-40
-6
42
-8
-63
-40
-27
15
-22
-22
-4
20
-24
-56
1
8
-81
-28
-23
-12
-10
19
-69
2
-71
30
0
0
0
0
0
8
-4
-29
-6
-5
30
-30
9
25
-17
0
-26
-82
-16
-23
0
-50
-111
-17
-32
0
1
-13
-56
-25
0
-42
-41
-29
-25
0
-10
-13
-24
13
0
0
3
-18
-26
0
0
-35
-26
-112
0
0
15
-7
-90
0
0
18
-15
-68
0
0
35
-3
-13
8
-4
14
6
-17
35
6
34
13
-4
5
1
21
-46
-11
-16
19
-22
72
-24
13
-28
13
8
21
3
-3
-8
-2
1
16
-6
8
2
-21
-8
-3
-29
-40
-37
-12
-20
6
22
-31
70
-4
-18
-2
-4
-45
9
-1
-13
13
76
24
24
-17
-48
0
0
0
0
0
5
2
10
-39
-28
60
5
10
-25
-23
0
6
7
-14
25
0
-28
10
-24
-10
0
-28
14
-37
4
0
9
-13
-39
-56
0
7
-53
13
25
0
0
-19
0
16
0
0
11
6
-19
0
0
-1
5
-21
0
0
9
-14
-68
0
0
33
-24
1
25
10
19
-4
2
-13
24
13
29
5
1
11
5
18
24
-24
2
-18
28
-10
11
10
61
-8
-5
23
20
-2
7
-28
40
6
40
1
27
-31
8
5
-21
-32
41
-44
17
14
-9
-6
4
20
-23
0
41
-4
10
4
-17
-25
2
5
9
11
0
0
0
0
0
-46
9
-9
21
8
14
25
-12
0
-20
0
13
13
14
14
0
-14
17
-21
6
0
118
-20
6
-43
0
32
-20
16
-14
0
-13
-8
23
19
0
0
6
-8
-11
0
0
9
4
1
0
0
30
4
-15
0
0
18
110
28
0
0
6
4
-1
4
14
2
-2
13
33
26
30
18
5
-93
-17
43
15
39
-6
102
1
-1
-15
21
12
-4
0
0
58
51
15
12
8
-9
15
16
18
-20
-5
-19
25
23
52
91
-19
93
-24
22
1
13
8
-5
0
33
16
-5
-7
27
5
-6
2
-20
21
0
0
0
0
0
10
-12
-62
21
61
0
3
-3
4
0
0
52
20
-2
-45
0
3
26
3
3
0
39
53
-3
-1
0
-7
30
-25
7
0
0
0
0
0
0
0
7
-73
63
0
0
10
-26
49
0
0
13
17
24
0
0
4
0
2
0
0
0
0
0
10
-3
19
12
-16
22
11
32
-4
-13
-25
-28
14
33
1
-51
3
21
9
-81
-15
12
46
-23
7
15
-31
-27
63
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
41
9
32
-25
-65
-37
-19
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-16
7
-11
0
42
2
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
25
-48
-18
0
0
-65
26
-30
0
0
-58
-31
-11
0
0
-100
-30
-12
0
0
-6
-26
-50
0
0
-6
-15
1
-24
12
6
30
22
35
18
17
44
-48
-69
18
-6
57
-31
-29
128
84
43
-71
-69
16
54
25
3
-21
-26
-5
-16
38
39
0
-5
52
31
25
36
9
6
27
53
31
9
3
-12
68
-27
47
-3
8
-33
-1
28
-30
17
-10
7
-18
38
6
0
0
0
0
0
-12
33
13
5
-4
10
36
17
-18
22
0
84
15
23
-19
0
6
15
29
20
0
-43
27
3
47
0
-129
32
-28
42
0
15
-73
15
-16
0
0
16
25
48
0
0
19
37
48
0
0
42
67
61
0
0
-45
31
10
0
0
22
16
-2
17
27
56
59
147
146
84
125
126
-20
8
121
8
58
-5
49
72
4
5
0
4
-4
0
1
0
54
11
40
63
-2
13
40
117
31
14
24
0
77
68
-66
28
20
53
-27
24
-2
-3
-9
0
0
-19
41
79
29
43
69
30
24
1
45
0
0
0
0
0
-6
91
-24
46
-2
-17
12
-2
1
0
0
112
7
106
11
0
20
33
151
21
0
1
17
90
58
0
-32
12
19
-1
0
-8
4
-1
0
0
0
-3
96
41
0
0
-19
33
-24
0
0
27
64
53
0
0
-24
-10
3
0
0
-3
-1
0
57
-29
34
-63
13
-3
-36
13
49
16
-9
-12
-8
-8
25
-10
-1
-30
8
-23
-19
52
13
-7
-1
-51
-26
-26
46
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
15
0
0
18
-79
-16
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
2
0
0
4
8
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-3
-1
0
0
12
3
-67
0
0
-8
-30
-8
0
0
-46
2
-6
0
0
22
5
8
0
0
-22
0
-4
5
-24
8
-36
30
-17
18
13
7
-18
-5
13
-8
-56
29
-73
-12
-11
24
10
-58
-37
35
10
3
-27
-20
0
-37
20
-8
-24
-20
5
0
-1
-2
-8
1
0
-1
2
-8
1
0
32
-126
7
-17
10
51
-47
-22
-46
-14
-1
6
-12
-3
1
0
0
0
0
0
0
0
0
0
0
-56
2
3
48
10
0
-10
-11
5
23
0
-23
26
9
16
0
6
-3
0
0
0
-1
8
1
0
0
-39
48
53
12
0
0
-26
23
30
0
0
-57
4
-9
0
0
-56
-8
4
0
0
-66
14
30
0
0
-45
11
30
-26
-13
27
-6
-31
29
-6
47
-56
-54
-18
-29
13
-2
-3
-55
47
-2
8
-20
-26
13
13
21
1
-147
-48
-22
35
12
-31
30
70
10
43
15
17
-5
13
-40
-33
8
31
8
-29
24
-37
6
24
12
20
-48
-12
9
11
28
32
-8
25
-5
0
0
0
0
0
-13
-89
-13
17
12
22
-45
20
8
16
0
32
-23
8
-41
0
-32
-70
14
13
0
-17
-38
-8
40
0
-17
-9
-40
-12
0
1
34
-5
6
0
0
-25
5
-2
0
0
-95
16
-35
0
0
-86
-65
42
0
0
-32
40
-13
0
0
25
-10
4
42
-29
-11
-47
71
-11
-7
51
106
-28
-28
-108
25
-14
-8
-10
99
-39
32
-38
-2
18
0
-2
0
-17
-22
-64
57
-2
-9
14
111
59
-22
-5
-77
11
12
-14
20
-68
38
3
6
-4
24
8
0
0
-68
-4
7
12
20
18
-102
-8
42
25
0
0
0
0
0
-9
-25
8
7
14
0
0
2
-3
0
0
113
-7
72
6
0
-40
-6
-11
47
0
-26
62
63
-8
0
-4
-60
-20
6
0
-1
-7
-1
0
0
0
28
8
33
0
0
-31
25
38
0
0
6
72
29
0
0
-2
5
-24
0
0
0
0
0
65
49
126
-92
19
-59
-4
59
3
31
6
69
-1
-2
0
2
-8
1
-1
0
-3
0
0
0
0
13
87
26
-46
-16
-39
-11
101
-34
46
15
-8
32
13
15
7
12
16
-4
-2
0
0
0
0
0
-18
-48
47
112
-12
-1
-31
50
33
14
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
7
-29
14
0
0
-45
11
69
58
0
-46
-24
19
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
5
0
0
78
15
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-2
-9
-16
-62
-15
-2
-8
-16
-48
-32
-5
-10
8
-32
1
-8
3
15
-17
-5
4
0
21
-60
-47
-4
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
2
-12
-7
-60
-8
-24
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
0
-3
22
0
-1
0
-20
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-4
0
0
7
-7
-20
0
0
4
-21
7
0
0
3
-6
-8
0
0
-15
-14
10
0
0
6
-1
13
-21
7
1
0
1
-21
2
3
-4
15
4
-15
5
8
3
4
14
0
14
3
17
4
-2
-34
21
13
8
9
4
-8
-7
-16
-20
-9
-4
-4
-28
-6
-3
-3
-20
-4
-9
-2
-6
14
10
-13
-1
-7
19
4
-3
-7
4
2
-28
-11
-32
-20
0
0
0
0
0
-18
-1
-4
-1
5
4
-16
12
-11
3
0
0
8
5
1
0
-5
15
11
-19
0
-9
-4
-11
1
0
-6
2
-7
-2
0
2
-5
7
-7
0
0
0
7
9
0
0
3
3
8
0
0
4
11
-1
0
0
7
9
12
0
0
5
29
-27
16
23
1
3
7
15
15
6
1
10
0
4
6
6
9
14
8
9
19
-6
34
22
-34
-67
41
68
16
11
6
6
5
1
5
8
6
-11
0
-4
1
4
3
0
12
9
27
6
-11
-9
-22
37
11
8
3
7
6
11
12
2
5
8
0
0
0
0
0
21
0
2
-3
6
-28
-4
13
-2
-7
0
11
-1
3
29
0
0
10
8
-2
0
0
10
3
1
0
-1
9
1
17
0
54
21
1
5
0
0
3
10
-4
0
0
8
4
22
0
0
3
-3
18
0
0
-1
4
13
0
0
-8
24
48
-75
-5
10
-24
-5
-95
-38
28
-12
-26
-180
-21
-16
33
-9
-65
28
6
40
-8
25
75
61
43
-13
-111
-64
-18
-11
10
-12
-56
-48
-49
16
-19
-23
-33
2
-8
-50
-39
28
-25
-44
-58
-35
40
-31
-18
0
-19
-12
-11
0
-5
-58
-21
-12
-7
0
0
0
0
0
0
4
-12
1
-1
24
2
-27
-53
25
0
-61
15
14
-13
0
-19
-6
8
-18
0
2
-36
33
13
0
-6
31
24
-13
0
-13
13
10
83
0
0
-19
-16
4
0
0
-56
-37
-12
0
0
4
-1
-33
0
0
-24
-23
-28
0
0
-81
-32
54
-54
-3
13
-3
-14
-74
-52
-9
0
3
-95
-26
-17
15
3
-49
-3
12
18
-10
26
16
-5
49
-5
-82
-34
-41
2
0
-205
-155
-37
-46
1
-180
-51
-87
-80
-63
-93
-69
-59
-29
-55
18
21
-4
-12
59
-26
-17
-14
6
5
25
-100
-45
-113
-51
0
0
0
0
0
3
-21
-60
-78
-21
10
4
29
24
45
0
-26
-19
-24
-14
0
-109
-100
10
-80
0
-8
18
-14
-46
0
-21
13
10
-29
0
14
28
14
20
0
0
-8
-19
-5
0
0
-18
-31
-2
0
0
-15
-16
11
0
0
-31
-5
-12
0
0
-1
-8
14
-24
0
-1
5
-8
-50
-18
-5
-1
-23
-8
-1
3
-16
-15
-8
-5
11
13
20
33
29
-19
21
-9
-14
-28
-15
0
-17
-67
-103
-59
-14
-29
-103
-60
-24
-3
-5
-23
-25
-25
-6
8
14
-28
19
14
39
-6
-3
-17
-7
14
-58
-106
-58
-53
-28
0
0
0
0
0
-13
-3
-9
6
-3
-1
19
14
11
32
0
-7
-25
-15
0
0
-55
-41
-25
-20
0
-19
2
-4
-6
0
5
9
-3
11
0
1
-18
28
-2
0
0
7
-5
12
0
0
-2
-15
9
0
0
-2
-7
13
0
0
44
-3
-14
0
0
52
25
13
21
8
9
-3
3
23
20
3
8
7
58
12
5
-19
17
0
14
30
26
33
19
39
35
-12
-90
31
5
5
6
4
-57
-39
-15
-11
-33
1
-13
3
15
12
38
6
5
11
-23
8
36
-17
-19
47
55
3
-13
8
0
-50
-59
-23
-14
4
0
0
0
0
0
-15
-12
7
48
-15
-27
5
11
30
48
0
0
12
3
5
0
4
-20
-23
-10
0
0
-3
15
-9
0
-7
17
-21
-26
0
-37
-16
40
-25
0
0
29
-6
0
0
0
8
6
-9
0
0
5
25
74
0
0
-1
12
-4
0
0
-12
26
-31
59
2
-3
-4
6
26
39
-5
-13
2
25
30
8
-53
-38
-25
8
-3
-30
-26
48
-65
-4
52
-28
36
32
31
9
21
74
10
2
3
-23
41
11
20
11
13
55
15
39
-16
-9
103
21
21
82
-13
41
8
14
25
-2
-29
-21
26
16
16
0
0
0
0
0
-12
6
55
44
17
22
-48
-18
7
-15
0
-12
0
19
-15
0
25
8
-2
26
0
2
54
11
34
0
32
10
-31
13
0
-35
-7
-13
-4
0
0
3
-26
4
0
0
-6
28
-24
0
0
5
16
46
0
0
74
85
48
0
0
1
3
0
-44
-20
0
3
-2
10
-29
9
0
-9
-2
-42
-24
-2
2
1
15
-6
14
19
12
3
-3
-5
-29
3
-12
4
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
22
-17
-4
1
4
-2
-7
7
0
0
0
0
0
-2
-3
-4
-2
-4
0
0
0
0
0
-10
10
19
20
-19
0
31
7
-13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-7
21
0
0
43
-1
-6
0
0
0
-1
9
0
0
-1
0
-1
0
0
3
-2
-26
0
0
1
1
57
26
6
9
2
2
27
2
6
4
-2
32
15
2
11
-6
54
15
15
16
10
25
13
14
38
45
46
18
15
13
14
-2
-12
-2
9
2
8
-1
5
6
6
4
8
1
16
-1
9
23
25
7
13
23
24
14
9
17
4
-8
3
6
16
-1
2
1
5
-6
3
2
6
5
21
49
16
26
-27
6
0
5
14
15
11
0
-12
1
2
8
0
7
0
-6
9
0
2
4
19
9
0
6
20
-1
12
0
0
4
13
0
0
0
6
-12
16
0
0
-5
-27
-9
0
0
1
-19
-7
0
0
10
6
-25
21
0
9
6
-5
44
11
-9
-18
13
32
12
7
12
-20
11
24
6
8
-53
101
-36
35
-8
-12
38
11
22
8
18
13
10
13
7
12
13
5
11
9
30
3
16
19
18
51
21
33
9
24
23
25
20
7
10
-4
2
1
6
6
7
5
6
1
4
4
15
8
26
-3
-1
56
38
51
9
-86
0
2
7
3
7
0
0
-2
-1
13
0
20
14
-4
14
0
-4
7
-2
0
0
88
-24
3
22
0
0
7
-1
-6
0
0
7
-9
6
0
0
12
1
-5
0
0
11
0
-7
0
0
30
-29
-29
-35
-33
-38
-8
14
-136
-77
2
-40
-24
-174
-255
2
1
10
-28
-82
24
-22
-73
10
-59
-74
24
13
-128
-78
-23
-41
-4
-10
-41
-74
-40
-4
-8
-21
-20
-4
0
1
-16
-7
-1
0
12
36
-50
-45
-30
-138
-112
-13
-49
-18
0
-13
-2
-1
1
0
0
0
0
0
0
0
1
0
0
-2
-90
-51
1
23
0
-146
-89
19
45
0
-1
-8
6
-1
0
0
0
-2
0
0
0
1
0
0
0
23
-2
8
12
0
0
-49
-44
-7
0
0
25
-10
61
0
0
23
19
24
0
0
-21
28
22
0
0
27
4
34
-15
-26
-9
-21
-2
-92
-53
-12
2
-21
-116
-89
-30
-27
13
-23
-56
-18
-39
-7
-95
-79
-28
-28
-52
-9
-37
-46
-6
-34
-88
-138
-89
-56
-116
-18
-11
-143
-151
-145
-183
-151
4
-26
-73
3
-61
-29
-36
33
-46
-22
-8
-50
-14
26
-104
-99
-153
-77
0
0
0
0
0
-17
-31
-95
-102
-99
55
-49
-23
-11
25
0
-11
-25
-13
-38
0
-67
-58
-139
-112
0
-97
-17
-174
-55
0
-50
-34
-81
-42
0
-26
18
-27
32
0
0
6
-8
-24
0
0
11
-21
12
0
0
8
22
3
0
0
4
17
14
0
0
22
-9
-32
19
5
11
8
28
55
-23
-3
17
8
-2
7
31
-6
-16
39
1
7
23
11
17
-34
59
-2
68
53
28
1
-5
3
30
-57
-32
-40
-51
22
-17
-47
-41
-65
25
-19
-41
-39
-68
13
22
0
71
-14
19
7
7
-4
0
11
-18
-2
-13
-45
0
0
0
0
0
-16
12
-31
-53
-55
39
58
17
23
1
0
-6
6
8
-12
0
-17
-14
-16
-26
0
-32
-23
-45
-30
0
37
-33
-33
-64
0
37
9
-4
48
0
0
3
8
0
0
0
23
0
-2
0
0
6
10
43
0
0
12
29
-26
0
0
-29
38
69
24
35
17
-40
42
51
24
22
46
27
35
17
52
-5
-4
71
32
16
-1
6
0
3
51
30
14
67
35
22
34
37
34
-16
19
36
10
54
11
24
22
24
16
40
11
25
6
27
4
12
34
42
62
39
-4
44
12
30
31
28
32
41
0
0
0
0
0
51
2
26
-5
19
-74
92
37
57
45
0
-2
23
24
-16
0
-2
28
20
17
0
47
12
13
48
0
-2
17
3
43
0
-88
57
38
47
0
0
10
55
-31
0
0
-3
19
27
0
0
8
54
16
0
0
24
-53
18
0
0
1
-8
-20
73
-15
-31
5
79
58
32
35
43
3
74
30
-1
-24
44
56
115
-15
25
2
109
5
1
0
0
92
39
17
10
19
59
36
75
45
27
30
16
48
19
72
86
32
60
17
27
-58
108
52
-69
8
67
42
34
15
64
16
69
35
54
10
0
0
0
0
0
28
57
5
25
8
0
18
-62
32
0
0
14
17
20
50
0
22
48
65
93
0
6
27
89
29
0
-34
25
9
-20
0
-8
-1
0
0
0
0
-1
28
131
0
0
9
-41
17
0
0
18
-54
5
0
0
-59
1
5
0
0
3
0
0
-2
-25
12
-19
5
-41
-69
-17
-8
22
-121
-43
-9
2
-9
-11
-47
-27
7
24
-65
-20
5
-2
11
-74
-28
-30
-25
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
-56
6
-8
-87
-55
-40
-4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
3
10
-17
33
0
-25
11
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
9
-41
0
0
-19
-6
-6
0
0
-30
24
-17
0
0
-34
-19
0
0
0
-7
-12
48
0
0
-1
-3
18
-4
10
-6
-37
55
-12
-22
-12
13
42
-25
-20
-15
46
52
-64
-15
91
-10
-94
29
11
30
-55
35
-37
-2
-20
-4
-16
14
-24
-28
-14
18
6
-34
44
17
-23
31
-53
-7
-1
-28
13
27
-13
-5
61
-35
-34
32
10
-19
-37
-38
8
37
57
0
0
0
0
0
-41
63
27
-23
36
-12
-31
40
21
26
0
22
4
53
13
0
-57
34
10
13
0
4
-21
35
10
0
-23
-25
-11
50
0
15
-70
51
22
0
0
32
23
19
0
0
12
31
-16
0
0
-26
26
28
0
0
-7
-14
-70
0
0
31
-4
5
38
44
58
-12
56
147
28
-13
55
2
-12
29
-41
123
-9
176
-25
-3
-24
-11
14
48
-16
-7
1
37
3
70
6
82
-21
-16
21
31
72
83
29
-5
19
3
38
-22
46
24
18
12
-27
-30
28
9
43
29
87
-6
66
39
-3
34
-19
105
0
0
0
0
0
-96
49
-22
71
-4
-37
31
-12
2
-1
0
102
61
24
16
0
0
44
6
35
0
22
37
116
76
0
-26
-2
2
61
0
-26
33
-42
3
0
0
2
81
0
0
0
26
27
4
0
0
86
38
90
0
0
-98
25
88
0
0
-4
13
-1
-56
-14
-24
50
39
-156
-34
56
42
-36
-62
-83
46
-24
25
-43
-19
-8
-87
-63
-136
-1
-11
75
62
-110
-27
16
-1
48
-4
19
8
1
-5
0
1
1
0
0
3
0
2
0
0
-16
-91
-52
51
29
-6
-29
-73
46
-10
0
-2
0
-4
0
0
0
0
0
0
0
0
0
3
0
-71
-27
-16
41
-1
0
22
33
27
-13
0
-34
0
12
1
0
1
0
0
0
0
2
0
-7
-1
0
0
7
11
-21
0
0
-44
30
17
0
0
-52
-71
20
0
0
-88
50
27
0
0
-23
107
23
0
0
-25
-8
25
-64
-22
17
-2
21
-86
-39
-2
-3
7
-83
-26
10
-15
16
-31
-61
-1
29
-14
-109
17
21
6
-9
-87
-37
-40
-10
-11
-143
-131
3
-15
38
-84
-49
-40
20
2
-54
-24
11
-10
15
-49
-34
-23
14
-24
-79
-48
-9
-34
-15
-35
23
-7
21
-42
0
0
0
0
0
-3
15
-74
8
1
-39
-41
-41
-13
45
0
-10
-24
-10
-12
0
66
-53
96
46
0
79
14
-61
8
0
-27
39
7
-4
0
-19
-43
57
16
0
0
-20
-16
23
0
0
-37
1
12
0
0
-38
-13
-14
0
0
-81
-15
44
0
0
-33
5
44
-35
-20
-12
24
19
-43
-37
-4
18
10
-28
-64
-4
31
19
-99
-20
36
-34
45
-22
-39
29
63
40
-97
-33
-51
-1
-14
-141
-36
0
3
32
-44
22
-27
3
-79
-41
-30
-41
4
-75
-29
-36
-32
59
-39
-27
-79
-54
-28
-10
45
6
-24
-28
-80
0
0
0
0
0
-20
-61
33
49
-63
-82
-59
-29
18
31
0
-15
-33
23
13
0
3
-28
30
27
0
-14
-4
-29
-13
0
-50
-44
-15
-19
0
34
45
2
95
0
0
-3
-16
-21
0
0
9
-33
-10
0
0
-16
-18
5
0
0
-34
-19
66
0
0
27
-78
21
32
14
-1
87
4
-22
4
-21
12
33
-56
-7
48
18
-86
-86
41
-38
60
4
-9
15
-12
-41
1
-31
-27
1
-16
28
-21
-25
-25
57
-15
72
-36
-9
-30
17
15
-87
-3
19
33
-77
5
51
25
-1
-61
-40
29
-51
6
77
-111
-48
91
74
0
0
0
0
0
24
-104
82
5
5
-13
-9
32
-24
-1
0
23
3
13
-1
0
-34
-31
-14
29
0
-43
12
-17
-48
0
-4
-39
26
-1
0
-14
12
-2
1
0
0
-1
-39
29
0
0
-26
18
12
0
0
73
21
-41
0
0
64
7
-19
0
0
4
2
2
-24
22
-16
-112
63
-70
-21
-9
45
21
19
-54
76
-3
0
5
10
8
-1
0
-8
1
0
0
0
21
66
-36
-55
-50
69
-73
68
-18
54
46
-8
-7
6
42
73
24
60
-89
-4
0
0
1
0
0
-132
48
26
9
59
-22
-64
1
-27
-1
0
0
0
0
0
4
-35
-25
40
12
0
0
0
0
0
0
105
38
0
28
0
-55
47
-7
44
0
-49
-24
102
-23
0
0
16
-6
0
0
0
0
0
0
0
0
-29
100
56
0
0
52
36
11
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-36
14
-27
-3
15
-72
16
-8
-8
2
-38
-26
-8
-6
-22
3
2
15
7
0
13
-4
-1
2
45
-40
-17
8
-15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
-4
6
18
-64
-23
8
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-12
-7
15
6
0
-10
-16
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-3
23
0
0
22
8
-5
0
0
1
6
5
0
0
25
0
-10
0
0
-10
8
12
0
0
-7
-7
8
12
8
13
21
-6
25
13
5
2
17
19
14
18
8
34
2
21
30
15
9
21
-7
-5
19
21
13
14
11
17
22
-54
-41
-9
-40
13
-30
-37
-23
-6
4
-11
-11
6
11
-2
2
-1
12
-40
24
18
9
15
19
26
-21
-22
-8
-22
31
0
0
0
0
0
-26
-11
7
6
21
-9
-16
11
-27
19
0
0
8
14
28
0
-24
3
20
21
0
5
-9
-13
9
0
17
-2
2
4
0
16
-16
-9
6
0
0
-1
7
19
0
0
-7
23
-18
0
0
-10
36
28
0
0
6
14
34
0
0
-4
19
-12
15
26
29
3
28
2
8
11
14
51
19
19
3
-7
26
10
21
1
37
35
-8
-10
-4
-31
40
37
17
9
15
21
35
7
13
22
33
4
9
15
22
15
18
9
14
27
20
6
39
-46
-30
-3
36
16
15
18
18
37
18
11
20
11
0
0
0
0
0
4
11
-2
16
14
-26
-32
5
-4
0
0
-10
34
2
23
0
7
17
33
15
0
0
16
3
17
0
11
-8
11
34
0
-15
13
-13
57
0
0
13
-15
-16
0
0
6
50
31
0
0
7
24
57
0
0
27
33
27
0
0
-24
38
61
-95
-7
-19
-5
-7
-110
-5
-26
-4
1
-166
-5
0
23
-27
-42
-30
13
39
-1
-16
5
-12
11
-1
-156
-48
-27
2
-60
-25
-99
-37
-36
45
-87
-67
-28
22
-3
-41
-57
28
-64
-56
-23
-31
3
-29
9
-81
-31
-18
-23
2
-5
-96
-76
-3
7
0
0
0
0
0
0
3
-31
1
0
-31
-91
14
-10
15
0
-16
10
-12
15
0
-22
-21
36
11
0
2
-29
22
16
0
-15
57
83
-30
0
-14
-10
33
0
0
0
-33
8
-6
0
0
-31
-49
23
0
0
-62
-43
35
0
0
-52
-6
5
0
0
13
8
13
-25
11
-1
-16
-9
-38
-16
-6
9
-28
-28
-31
7
-18
-8
-36
2
-12
3
10
-7
0
19
26
-17
-61
-40
-35
-9
-27
-103
-128
-86
-40
-57
-168
-57
-82
-18
-41
-64
-84
-11
-12
11
-23
0
0
-4
11
-11
-35
-21
7
-20
-130
-111
-63
-74
19
0
0
0
0
0
-115
17
-52
-76
-44
5
-9
8
15
-4
0
-7
1
-13
-17
0
-3
-41
-24
-60
0
2
-59
-40
-51
0
3
-19
-110
-31
0
-7
19
21
-16
0
0
-22
-14
-3
0
0
20
-26
-25
0
0
-20
-13
-17
0
0
16
-11
-20
0
0
-7
-8
11
-14
12
-10
8
-7
5
0
-8
-2
-20
27
3
-8
-8
30
25
-9
-7
-9
5
13
15
22
-7
-41
0
-21
-5
-3
-4
-71
-120
-48
-8
-26
-76
-22
-13
-38
-25
-28
-24
-28
-5
-44
33
-9
-1
-1
52
5
12
-22
14
0
-73
-109
-62
-38
-54
0
0
0
0
0
-8
-13
-5
-1
-31
-29
1
14
-10
39
0
-3
-16
-34
-28
0
-43
-38
-30
-46
0
-30
-23
-29
-24
0
19
22
21
-18
0
7
-11
16
12
0
0
-3
-16
-5
0
0
-10
-1
-1
0
0
-8
-11
14
0
0
37
-17
-1
0
0
23
22
0
9
4
11
-4
25
34
25
-19
16
7
38
13
12
-9
-4
37
-4
36
1
-25
23
51
18
-70
-70
25
22
8
-16
1
-48
-23
-23
-9
-39
-26
8
11
-25
-33
27
8
-9
4
-22
-2
11
18
-25
31
48
-14
11
-17
11
-37
-52
-10
5
-3
0
0
0
0
0
12
-4
14
13
-22
0
-3
18
-16
34
0
-1
18
19
-14
0
-6
-16
-19
-11
0
8
5
-1
-26
0
10
-15
-8
-14
0
-3
-27
30
-62
0
0
2
-47
-4
0
0
-4
-26
15
0
0
-2
16
4
0
0
17
38
-18
0
0
25
46
-33
78
-25
-71
35
-30
70
2
23
-42
9
52
30
-48
-39
-11
60
59
-41
-34
-23
53
-77
8
28
-13
113
15
6
21
62
45
35
2
1
-38
82
5
3
20
-6
38
19
0
-11
-6
43
2
-23
76
-47
57
18
6
-10
66
-13
26
10
-3
3
0
0
0
0
0
50
94
-9
31
-18
24
-38
-16
57
-21
0
50
-21
5
19
0
43
-17
3
-56
0
-4
-10
-15
28
0
23
10
-16
-50
0
-41
3
37
-19
0
0
13
44
24
0
0
-18
65
-43
0
0
-25
49
4
0
0
-20
1
38
0
0
13
2
0
7
5
16
0
8
-11
-18
9
20
-3
-5
16
6
5
4
7
26
-5
6
24
33
17
-8
-6
-8
-8
-7
15
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
57
41
26
-56
28
-6
4
8
1
0
0
0
0
0
-14
-5
-17
-10
0
0
0
0
0
0
6
-7
15
16
11
0
21
17
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-11
-5
0
0
0
-6
-8
0
0
5
9
-15
0
0
0
15
5
0
0
0
3
-3
0
0
3
-2
51
42
-1
24
6
-15
30
5
27
23
11
27
22
-9
-16
-10
16
27
30
-3
13
26
25
26
-2
10
40
12
3
23
21
17
-15
-7
16
7
36
4
17
32
-9
19
40
30
15
-11
57
46
29
-19
18
37
26
2
2
33
12
-11
3
-15
-23
1
3
5
10
-5
-20
7
25
12
9
-16
47
-7
-37
1
0
5
5
2
34
0
3
12
-1
4
0
-15
-2
-4
17
0
-1
0
7
-1
0
17
7
-2
24
0
0
14
6
-23
0
0
5
-10
-16
0
0
-2
-7
15
0
0
-6
37
-45
0
0
-17
13
37
54
6
-19
0
-4
29
5
13
-7
2
26
-4
-14
20
-33
38
-19
-3
33
-14
102
-6
-47
-2
-28
29
9
29
-3
20
39
7
11
7
4
43
9
22
19
30
26
50
4
-7
76
17
-8
19
-9
-7
28
37
4
-10
11
3
8
15
1
16
-13
-1
8
13
3
16
19
25
0
6
51
30
36
-29
-31
0
11
4
-9
-21
0
-7
14
-23
-13
0
15
23
-14
-17
0
-9
13
-36
25
0
-9
15
39
42
0
0
28
-17
32
0
0
-4
-26
-12
0
0
17
-84
-34
0
0
4
-9
-37
0
0
-36
-15
-7
-48
15
50
-34
12
-133
-32
26
-36
44
-110
-88
20
-61
19
-81
-61
2
-6
26
-99
28
-50
38
10
-110
6
-11
-73
-17
-13
-54
-87
-29
-3
-13
-8
-20
-3
0
-1
-47
-15
-2
0
-41
-21
37
38
-27
-138
-75
-51
-15
45
0
-13
-2
-1
1
0
0
0
0
0
0
0
2
0
0
52
-54
-40
-39
-1
0
-20
36
-24
-62
0
-1
-8
4
-1
0
0
0
-2
0
0
0
1
0
0
0
-12
-16
23
52
0
0
-51
33
-86
0
0
-23
-9
49
0
0
18
15
13
0
0
-10
6
-25
0
0
20
-14
58
-5
-16
20
1
42
-5
-7
-3
40
-29
-40
-7
12
4
4
-57
-28
13
33
24
30
-10
-5
-16
-33
21
-33
13
30
34
-163
-187
-51
-25
-46
-89
-82
-71
-44
-124
-109
-94
-64
-6
-16
-7
-34
41
-2
22
-32
-16
-14
11
21
-70
-99
-84
-98
-24
0
0
0
0
0
-97
-78
4
-79
-88
0
18
-34
73
5
0
-56
-24
-13
34
0
-11
-60
-79
40
0
-122
-24
-104
-32
0
-54
-63
-4
-31
0
20
11
20
-7
0
0
-10
3
-11
0
0
36
-2
27
0
0
12
8
-36
0
0
46
1
-7
0
0
10
19
-49
21
18
23
-9
2
35
1
20
33
38
29
14
40
26
-3
-14
31
39
27
1
35
19
-1
6
-3
21
31
15
26
27
-30
-85
-27
5
27
-26
-59
-55
-54
-14
-26
-27
-40
-16
0
-4
40
5
74
-7
55
-3
19
16
-17
19
-10
-29
-15
-36
0
0
0
0
0
11
-4
-83
-11
3
49
40
-8
0
36
0
6
21
18
-2
0
-1
5
-7
2
0
53
-27
-17
-3
0
10
-5
-19
1
0
-4
36
10
34
0
0
-14
3
19
0
0
-8
-23
25
0
0
14
-9
-51
0
0
-24
-11
16
0
0
0
39
109
45
-29
35
40
52
35
-7
23
11
-55
45
15
2
54
29
73
42
6
-8
-56
-45
75
34
-1
2
37
2
56
0
13
61
9
22
41
12
30
14
6
53
33
30
66
52
27
-32
-5
31
-12
88
-46
41
74
18
-1
45
63
52
39
16
34
0
0
0
0
0
8
6
18
10
48
-46
67
45
-38
34
0
35
27
18
-44
0
14
25
33
-10
0
-44
10
44
21
0
-1
-23
-5
-11
0
-89
68
59
23
0
0
15
14
12
0
0
49
-9
-8
0
0
-16
12
-2
0
0
-16
-33
-3
0
0
-10
-19
2
91
25
-76
19
45
3
8
10
85
-62
108
-17
-24
-15
-6
55
7
21
25
2
37
27
-6
0
0
91
16
23
4
-19
160
51
28
16
-18
73
19
65
45
38
47
30
55
48
34
8
31
16
-29
8
56
13
-11
-20
-39
76
53
23
31
108
0
0
0
0
0
-46
34
101
19
-64
0
-3
-41
14
0
0
59
7
-40
4
0
3
-31
21
71
0
46
12
-9
39
0
12
-1
-58
35
0
-25
-1
0
0
0
0
-26
-5
53
0
0
27
39
-33
0
0
29
-32
34
0
0
-46
1
6
0
0
3
0
0
-51
-14
11
14
10
-59
-55
7
7
29
-105
-56
3
12
4
-32
-22
-24
27
5
-38
4
16
39
-9
-30
-40
25
-35
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-43
-16
14
36
-88
-55
-11
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-5
-8
12
0
-13
-20
15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
-27
5
0
0
1
-10
31
0
0
30
-22
2
0
0
-29
-4
-5
0
0
27
4
49
0
0
-12
-16
10
-45
-2
-19
42
-2
24
-28
7
16
30
-25
21
49
-7
-25
-2
-28
3
39
-110
-22
-5
22
25
2
-36
31
-15
2
-2
-25
18
12
4
22
52
20
5
-47
-97
-64
-57
50
-33
15
-56
21
11
-49
3
-33
-26
10
10
26
8
21
32
-43
26
0
0
0
0
0
-3
-10
-50
5
33
-18
-59
37
27
-20
0
13
14
37
21
0
-13
7
29
-34
0
24
-29
19
-5
0
-27
-20
-10
10
0
-9
-2
41
10
0
0
59
43
46
0
0
24
14
41
0
0
54
-32
17
0
0
9
59
-17
0
0
-17
-14
11
38
-11
59
53
16
69
26
51
8
-15
105
-13
-33
64
10
108
3
-18
-3
-17
53
11
-38
-8
1
80
26
18
50
7
39
-1
-23
3
4
63
18
-5
16
70
19
65
25
49
-18
-13
-2
1
48
14
-6
5
54
64
33
-10
-17
52
15
49
0
0
0
0
0
-35
33
107
-60
-19
-12
17
56
-25
-1
0
45
27
120
6
0
26
52
65
22
0
19
12
45
100
0
9
68
-21
6
0
14
1
-41
3
0
0
15
50
39
0
0
132
-64
10
0
0
17
0
65
0
0
-52
-33
89
0
0
-4
10
-1
-111
-30
16
-6
57
-171
-48
-6
21
31
-141
-62
-17
40
11
-94
-10
4
-53
31
-17
-68
-22
-8
112
-102
-62
-66
-28
78
-3
59
40
1
-5
0
1
1
0
0
3
0
2
0
0
7
-84
-72
38
34
-78
-76
-37
11
-47
0
-2
-7
-5
0
0
0
0
0
0
0
0
0
3
0
-25
-6
-47
11
-4
0
6
51
-15
17
0
-48
0
11
-1
0
1
0
0
0
0
2
0
-7
-1
0
-12
32
-32
-6
0
0
9
-11
36
0
0
-45
-61
4
0
0
-66
-39
81
0
0
-84
34
26
0
0
-37
29
18
-64
-38
-15
-24
22
-112
-43
-9
22
8
-95
-24
-14
7
27
-77
-32
-5
-11
6
-62
-32
13
-14
38
-83
-52
-21
-21
28
-176
-78
5
-19
47
-37
-82
-16
17
8
-28
-92
17
66
29
-41
-29
15
-4
11
-138
-59
-30
-26
-23
28
29
-51
24
-77
0
0
0
0
0
-6
18
-135
22
-1
-48
-16
-14
1
9
0
-37
0
7
-27
0
-17
-49
54
18
0
57
11
-34
17
0
-30
42
7
-3
0
-67
-30
-23
-6
0
0
-9
1
-9
0
0
-30
-38
0
0
0
-36
-44
7
0
0
-22
-5
-31
0
0
41
-17
-52
-49
-11
10
-5
24
-22
-32
-11
-43
-18
-47
-16
-37
26
-25
-11
28
8
21
0
66
-14
-57
-71
64
-14
-11
-35
-21
-13
-61
-44
28
41
-28
-9
-3
-20
32
-18
20
-55
-5
26
-35
-41
-101
1
51
-66
-96
-43
3
-2
22
41
-25
-5
2
-75
0
0
0
0
0
3
16
3
1
-9
-56
22
-55
5
-44
0
-61
-26
-15
32
0
-8
-44
-23
18
0
-31
-20
-22
-47
0
-40
-33
24
-31
0
29
35
29
36
0
0
48
11
-12
0
0
-21
14
51
0
0
-2
18
-13
0
0
-39
-63
-15
0
0
64
-59
-17
7
52
43
8
-77
-26
11
-34
-11
1
64
2
-21
-12
-28
-65
14
2
54
-42
5
34
-24
-29
1
-114
-4
36
-4
-67
-43
6
-30
6
5
0
-5
-16
-21
22
-21
-2
-20
-17
48
-64
12
53
16
-1
-77
-33
-47
-44
48
11
-62
-8
-5
18
0
0
0
0
0
44
56
-23
-76
-37
-8
5
19
-28
-1
0
-85
24
96
34
0
-34
-21
-37
62
0
-7
-6
2
-16
0
16
-31
40
6
0
20
13
-5
1
0
0
-14
5
4
0
0
12
-26
34
0
0
21
-21
-51
0
0
40
11
-22
0
0
3
2
2
36
-31
-10
-57
27
30
-43
-12
17
-30
15
-13
66
-2
0
5
-13
9
-1
0
-8
1
0
0
0
64
14
-7
-26
-37
-2
-42
15
-37
-29
46
-30
-42
21
6
8
35
-11
-54
0
0
0
1
0
0
-49
88
51
-37
21
-22
-26
19
44
16
0
0
0
0
0
4
-45
11
22
12
0
0
0
0
0
0
42
19
-45
3
0
95
-24
-7
-3
0
-2
-11
132
-7
0
1
7
-15
0
0
0
0
0
0
0
0
-28
46
32
0
0
6
31
44
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-36
31
40
24
-1
-41
-95
8
-6
24
-38
31
-5
-35
37
-47
-9
38
-40
-40
16
28
-4
-11
0
33
49
60
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-48
31
12
18
-4
3
97
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-22
34
-1
-9
0
-6
10
23
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
60
-13
8
0
0
-2
17
-18
0
0
78
-11
29
0
0
2
43
60
0
0
31
11
36
0
0
44
3
-23
24
41
41
5
-19
-36
11
26
47
12
-32
16
60
-29
20
63
4
1
-14
-7
11
-2
34
-69
22
7
32
22
27
-46
-63
11
7
32
3
-27
-4
-7
-12
-2
30
-25
-20
-16
-37
2
63
-4
-18
7
16
0
9
11
66
0
11
6
-6
21
0
0
0
0
0
-15
-22
22
20
-22
3
-2
22
-17
18
0
2
38
-1
66
0
10
-8
43
51
0
-7
-22
14
29
0
9
37
24
12
0
-6
-7
20
0
0
0
17
-11
12
0
0
14
23
-1
0
0
24
44
14
0
0
-12
6
49
0
0
32
7
15
119
5
25
42
14
3
-14
95
30
23
25
21
32
50
-15
-29
3
24
40
33
-1
-12
-13
16
-27
19
38
15
26
15
35
4
44
-13
32
74
-4
15
8
60
-1
15
10
7
28
-31
59
-11
-40
-25
22
41
-4
-15
8
11
16
1
43
38
0
0
0
0
0
2
-15
8
-5
25
14
26
-11
-14
14
0
1
60
40
-20
0
5
74
8
36
0
-5
14
4
25
0
-2
28
23
-9
0
71
-3
15
27
0
0
16
-69
-32
0
0
-61
-19
84
0
0
19
24
-30
0
0
-14
27
-6
0
0
43
12
26
-51
15
19
-30
-45
-38
3
7
-28
61
13
-50
-24
56
-15
-55
-28
23
52
-30
-20
-8
28
54
10
-80
29
-42
-5
-18
-1
12
-24
-16
1
-18
-3
-13
-13
-1
-4
-49
1
-15
-5
29
-15
-30
8
13
-53
-4
-10
-21
18
-3
-35
-27
-3
2
0
0
0
0
0
0
1
2
-1
0
-54
-37
-37
13
38
0
4
-46
-47
34
0
-3
-3
12
-12
0
0
-3
-3
8
0
-2
24
12
1
0
0
-1
12
-14
0
0
10
-83
19
0
0
-14
-30
-2
0
0
-7
-30
19
0
0
-104
14
0
0
0
-21
33
-25
-33
-5
-40
12
23
-50
35
-10
-11
-40
-26
-1
-39
-9
-17
0
29
-15
-17
27
12
20
36
-32
-37
17
-30
-21
-4
-23
-30
-63
-65
-24
-41
-45
23
-63
36
-21
-56
-16
-3
6
34
-26
10
-1
28
-1
0
-26
0
29
-66
-134
-28
24
4
3
0
0
0
0
0
-83
-21
33
-37
-25
1
-49
4
5
-14
0
-34
9
-13
-14
0
-22
1
22
-33
0
3
1
16
-62
0
-49
34
-31
-48
0
-26
-20
24
13
0
0
-27
27
24
0
0
43
6
4
0
0
-20
56
13
0
0
-32
28
-12
0
0
32
14
-8
75
3
-15
-65
16
36
17
-23
-8
-41
83
48
9
-9
-25
87
21
-15
-5
-6
-31
-52
29
35
51
-53
-1
36
-23
30
-56
-36
47
-32
-12
35
-10
-30
-28
-27
-24
-7
34
5
31
-9
-37
-19
3
-5
17
-2
22
-59
0
14
-63
24
-25
-35
0
0
0
0
0
20
13
-61
-11
22
-7
41
-15
-10
13
0
19
10
26
-14
0
-19
-36
-16
-11
0
31
-1
-1
-25
0
-18
-48
-7
-1
0
8
-17
2
-12
0
0
30
2
6
0
0
40
14
9
0
0
-16
-46
-33
0
0
-29
-13
-39
0
0
-34
3
-12
28
-30
-5
-6
6
49
91
-15
-55
32
71
-72
-4
26
7
65
-50
-15
-12
-7
24
42
-33
50
4
27
-22
-46
23
18
16
27
20
-44
13
-12
11
-8
-48
-5
16
-20
30
11
-48
-19
16
41
35
-2
24
21
10
-34
0
-16
23
46
-22
-46
0
0
0
0
0
-7
-4
0
-3
-9
16
-13
-35
26
-23
0
26
44
21
-108
0
-2
-36
16
11
0
41
43
-30
25
0
-25
38
-12
14
0
15
-28
6
-38
0
0
23
71
3
0
0
15
11
-44
0
0
42
-56
-39
0
0
-8
38
18
0
0
-45
-6
-20
5
36
8
-6
10
88
6
-38
1
-16
-7
30
-1
17
10
49
-9
-11
23
-17
-8
8
0
0
1
17
26
-7
-38
-3
48
65
-18
-15
-20
-41
89
19
52
-20
26
8
33
-6
-12
1
-5
-9
12
-2
3
0
21
0
15
24
72
3
-8
-51
0
0
0
0
0
50
10
-13
16
-16
0
-2
-1
-6
-1
0
25
16
-51
25
0
12
6
-32
-79
0
-35
-44
-27
59
0
-31
28
-27
-23
0
-3
0
-2
3
0
0
-21
-17
-5
0
0
-2
-25
-21
0
0
-7
0
-6
0
0
2
-10
-1
0
0
1
0
0
-2
17
-24
9
-37
22
-66
-13
17
-1
-44
6
-2
25
19
-21
-28
20
3
29
-20
20
-44
9
25
-9
14
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
8
-15
8
51
-1
10
57
-22
4
0
0
0
0
0
-14
10
-55
-8
13
0
0
0
0
0
6
5
13
-10
-39
0
-30
18
-55
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
43
-6
-61
0
0
32
-31
66
0
0
110
-33
-19
0
0
17
17
-26
0
0
-14
-9
-29
0
0
-2
-13
56
18
-40
2
-73
17
8
-9
-19
2
17
5
133
-23
-25
31
62
12
-46
-77
14
26
-9
1
-5
-12
23
-28
10
12
-12
34
2
-27
-6
-69
44
25
32
-29
-4
48
8
55
-11
-1
50
-39
28
13
-23
4
14
-4
1
25
31
-1
-38
-12
-9
23
-5
19
-7
2
-10
5
11
10
76
-25
57
39
11
-30
0
9
-19
33
23
0
23
9
22
-1
0
-19
-16
2
-28
0
-2
-37
19
25
0
-25
-1
75
18
0
0
27
40
3
0
0
20
64
-87
0
0
-10
-26
38
0
0
37
53
-46
0
0
-11
34
4
27
-17
-59
59
55
-6
56
33
49
8
0
-66
73
-2
7
90
28
-32
-44
-28
5
-30
-15
19
-6
15
47
29
43
16
36
-28
0
40
32
98
28
-34
61
18
57
33
-38
-20
19
8
30
-3
-31
3
45
-52
-18
3
15
23
33
5
53
-23
-20
20
18
33
2
-30
40
59
1
-23
22
-5
-10
-12
31
0
-9
-23
-31
2
0
-32
-11
-29
24
0
-9
-6
-17
-45
0
-38
20
-16
-9
0
-34
-13
6
11
0
0
-19
3
9
0
0
-37
-13
-19
0
0
21
-44
3
0
0
-28
-13
9
0
0
-13
-2
-4
23
-26
45
9
-14
-74
27
82
-59
-1
-96
-34
-7
58
-13
-11
-16
9
22
40
15
7
-20
40
-17
7
-38
44
0
-3
-2
-16
5
0
-2
-6
3
0
1
0
1
-8
0
-1
0
39
-2
2
8
-7
17
10
-22
-25
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
30
4
1
7
0
27
-55
-19
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
10
-13
0
0
5
-7
3
0
0
-15
48
-6
0
0
12
4
-27
0
0
12
-22
-6
0
0
7
-6
10
9
0
-27
47
-20
-25
-18
31
4
-16
-13
49
53
40
-17
-9
39
-24
-36
-16
60
-3
2
6
2
19
-27
-37
-56
26
-123
-103
-10
60
27
-161
-64
41
51
13
-44
4
8
-28
16
6
33
5
-35
13
-9
-16
1
6
-5
-49
-100
22
24
41
0
0
0
0
0
5
-76
25
16
-19
-19
6
2
-6
9
0
-42
23
24
38
0
-2
14
26
49
0
-28
34
4
5
0
-4
-4
18
13
0
19
-44
15
12
0
0
8
18
-5
0
0
14
-22
10
0
0
-13
-93
-66
0
0
39
-8
-32
0
0
-35
-14
-24
34
1
68
-29
-5
86
20
78
-84
-4
39
10
4
18
3
18
43
41
14
-17
-10
47
27
24
-29
6
-16
5
12
61
-65
-47
27
24
-16
-50
-52
59
10
38
-2
-42
-6
21
-27
55
-32
41
-10
-40
36
-23
-4
11
-8
-57
16
-11
7
44
0
0
0
0
0
-14
-19
-19
11
-34
-21
-41
44
-37
52
0
-23
36
8
-11
0
-39
110
30
-11
0
48
-32
-20
26
0
12
23
-36
29
0
-25
18
-22
18
0
0
-5
3
-33
0
0
-39
-44
10
0
0
-25
-25
-12
0
0
-13
-31
-1
0
0
1
-48
3
29
74
12
0
10
49
8
-25
-12
-11
-20
29
9
-23
10
-39
-10
35
23
-2
-3
-26
10
3
3
32
49
-8
33
-51
46
-15
13
62
-22
79
29
-1
-22
-17
16
26
6
31
-17
-18
-11
10
12
-7
40
54
-64
4
-5
45
20
-15
-16
-19
0
0
0
0
0
2
-12
46
9
-26
0
1
8
-1
-3
0
-3
-18
37
-11
0
7
-13
26
-42
0
11
-3
56
-6
0
-31
-41
-39
-2
0
-7
-20
11
-4
0
0
-15
-16
-16
0
0
-28
-3
-5
0
0
20
22
-40
0
0
12
2
5
0
0
-16
3
-8
2
-56
-1
-1
3
-33
-17
31
8
-1
41
1
-2
0
0
4
5
0
0
0
0
0
0
0
0
14
6
-1
-3
6
113
24
32
6
-6
93
25
12
26
15
-8
49
25
11
-8
0
0
0
2
0
-23
17
-5
11
8
31
45
28
-16
-4
0
0
0
0
0
-33
29
-51
5
-7
1
0
0
2
0
0
-9
-13
4
2
0
12
15
-72
-44
0
30
-24
-17
-16
0
-3
-8
-20
-4
0
0
0
0
0
0
0
13
0
1
0
0
5
0
7
0
0
-3
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
-26
-39
17
-52
0
-7
10
9
9
-15
6
-5
-19
-77
14
15
-20
-13
-23
-17
38
-43
19
15
-7
48
-26
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-9
26
35
1
-72
30
-23
-16
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-14
-18
7
-9
0
5
-46
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
-45
-9
0
0
-5
49
35
0
0
-41
45
16
0
0
12
-7
43
0
0
48
46
2
0
0
-30
2
15
-34
-28
-1
56
-14
18
78
-16
13
-9
41
-20
13
-7
-45
25
16
-46
37
-18
-3
1
-15
21
-1
-8
13
-17
43
-29
-4
20
45
6
22
-31
-40
44
-17
13
-14
-18
-4
-12
48
-4
7
-35
13
-7
-8
2
12
2
-14
-11
-19
21
-2
41
0
0
0
0
0
-3
39
10
-31
-24
26
-7
-5
32
-13
0
-17
22
9
25
0
72
-43
25
-7
0
-29
8
-8
-9
0
18
-31
58
28
0
-3
38
14
26
0
0
-12
1
-36
0
0
12
-28
28
0
0
31
15
23
0
0
-15
14
5
0
0
-15
-13
-2
-29
26
50
-21
19
68
5
21
22
-21
35
6
8
-10
4
-16
7
-8
4
3
7
12
0
0
0
-44
27
16
11
-26
-44
76
10
44
-15
7
16
50
23
6
-24
37
-2
14
-15
1
-2
-8
1
3
28
-33
-7
13
15
19
-6
70
-1
2
0
0
0
0
0
12
17
40
13
-2
-2
0
1
-23
0
0
-11
-23
23
21
0
21
-23
-9
36
0
-12
32
15
-10
0
24
-8
-1
-11
0
7
1
-3
6
0
0
-11
-9
-13
0
0
39
-4
15
0
0
5
-4
4
0
0
-1
-12
-1
0
0
0
0
0
-44
-42
5
-3
51
-20
-13
-79
49
10
-75
-23
-25
11
-30
-38
-50
51
7
43
38
-47
-8
-11
-9
-40
-30
-14
20
-2
0
13
5
0
-2
1
2
0
0
0
0
0
0
0
0
-3
11
9
3
-5
10
-90
-14
-45
-14
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
3
-13
13
-12
0
-44
-26
-50
-45
0
-8
1
-7
0
0
0
0
0
0
0
0
0
-4
0
0
-20
17
-23
5
0
0
-37
-21
44
0
0
-36
-63
-19
0
0
-17
-32
61
0
0
-12
-9
0
0
0
8
-10
-4
21
-22
-7
13
-27
-82
-37
-31
37
34
-83
6
44
-27
46
-62
12
25
-6
-3
-50
18
21
-15
9
-8
-27
2
21
-14
-24
-42
-36
-23
28
-17
18
2
-6
0
-27
-42
10
12
9
19
-23
-33
-10
-11
-57
0
-61
18
-23
10
-15
4
52
-4
0
0
0
0
0
0
10
-23
13
0
-48
12
21
48
-19
0
-23
29
-51
-21
0
1
-35
12
49
0
19
15
-16
6
0
-9
10
34
6
0
-36
20
-22
0
0
0
-65
-28
2
0
0
4
18
7
0
0
-82
21
-22
0
0
48
-54
-27
0
0
41
8
-12
-64
10
-14
20
7
11
-38
35
40
-27
40
-11
-12
24
10
-81
48
-22
59
8
4
-40
9
-13
16
20
12
-73
-43
52
3
54
-1
-5
7
-39
61
-49
-9
11
-41
5
-15
-3
-51
-57
18
-14
-21
-8
-100
-49
50
88
-40
18
-28
-34
-20
13
0
0
0
0
0
7
26
-29
-34
-21
-3
-32
16
11
-4
0
8
-24
17
-6
0
-63
-15
-17
-32
0
-59
-65
46
-22
0
15
-32
14
-10
0
24
-35
-7
20
0
0
33
-17
-21
0
0
-40
16
-2
0
0
-45
-53
-16
0
0
-9
-68
-1
0
0
22
1
6
-56
76
25
-42
-7
-30
7
9
-4
26
35
-17
39
-1
-5
1
-11
23
-10
-10
8
3
0
-5
0
-70
1
26
1
-14
39
19
-37
-33
27
26
-42
-18
20
-5
26
50
-55
-19
-33
0
0
-5
-14
0
54
15
-15
16
-18
-51
-8
10
10
-9
0
0
0
0
0
11
52
-10
13
-6
0
0
0
0
0
0
63
31
-8
7
0
-2
18
-33
-12
0
9
16
-32
-3
0
35
18
-18
-14
0
0
3
-2
0
0
0
4
14
-29
0
0
-15
19
3
0
0
13
4
-1
0
0
3
-4
0
0
0
0
0
0
-20
-2
1
0
0
-6
10
12
-2
0
2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
19
-7
-9
13
-3
-30
-27
29
-8
9
24
36
7
-1
-23
-7
7
-15
-3
1
0
0
0
0
0
-7
2
0
-2
5
0
-4
-2
0
3
0
0
0
0
0
1
-3
-1
0
-1
0
0
0
0
0
0
-5
2
0
1
0
-27
-21
-23
3
0
-21
-7
41
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
65
-31
-23
56
-13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-3
-17
-18
56
3
9
0
0
0
0
17
-5
42
-36
-7
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
12
0
35
11
-42
-3
0
0
0
0
22
-31
-19
8
-5
4
-35
0
16
-27
-13
-8
14
12
-11
0
-11
8
31
-8
19
-1
-33
0
-2
-5
-21
7
29
-17
9
-23
0
0
-49
10
65
15
40
1
0
0
0
0
0
29
-60
48
-8
-4
1
-25
0
19
-6
-6
-17
1
-12
-12
-7
0
0
0
0
0
0
0
0
0
-22
24
-23
-60
-18
14
-5
0
0
25
-13
-49
-3
13
39
-9
0
0
0
0
7
23
30
13
-3
-2
-8
0
34
13
21
-31
11
-9
-21
-4
30
6
-34
6
-18
-37
-26
-7
-1
-30
5
22
8
42
12
-25
2
0
38
27
24
-37
77
15
-3
0
0
0
0
31
32
-63
29
-9
-3
-8
0
77
7
53
-33
-14
-1
-1
1
47
24
-48
-58
62
11
0
-1
-1
21
-24
-32
5
45
13
-5
0
0
13
-15
-38
8
39
5
10
0
0
0
0
-21
12
19
32
2
3
-1
0
57
32
31
4
-5
-4
-2
-3
0
0
0
0
0
0
0
0
0
27
0
24
27
16
0
-6
-1
0
-29
51
-4
17
5
23
-4
0
0
0
0
-8
-6
1
-26
-14
1
4
0
19
19
-11
9
16
-7
-1
-1
18
20
14
19
-19
6
-4
-1
-4
55
-6
3
23
-5
-8
-5
1
0
0
-65
64
14
-49
-10
-7
0
0
0
0
-24
7
76
-23
-6
2
-1
0
-23
22
-46
26
-2
9
0
-2
-44
-24
21
-1
23
-45
-2
-1
-1
47
-18
-7
25
33
-15
7
-2
0
26
-4
-33
2
-38
3
-1
0
0
0
0
0
1
-3
-26
-3
-44
-44
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
6
-6
-25
-2
5
0
0
0
0
0
-4
-47
-20
5
2
-128
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-2
-8
0
0
-3
13
-13
2
-21
-22
45
0
0
0
0
-1
-4
47
34
10
-16
-95
0
0
6
8
29
22
4
-168
-34
0
1
-8
-4
4
61
22
-78
-40
2
8
10
6
0
-13
-45
1
0
-28
46
32
67
12
1
-26
0
0
0
0
5
-10
-10
13
-6
-13
-75
0
0
0
0
-10
8
81
-96
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-14
0
-17
-6
8
-15
19
21
-2
0
0
0
0
-15
-31
13
1
-2
-26
-109
0
0
0
-1
-17
23
23
-160
-21
0
0
-1
5
5
-40
-35
-48
5
0
4
1
3
-22
24
-21
5
0
28
62
-10
33
3
-18
-52
0
0
0
0
-27
-18
4
-10
5
-19
-54
0
41
19
-7
-12
18
11
-56
-10
6
1
34
28
40
36
-27
-24
-6
-24
42
20
22
44
2
-8
-24
0
-21
-24
14
49
38
10
12
0
0
0
0
-18
-16
-49
21
2
-1
-38
0
0
-8
8
-2
-28
14
-45
-44
0
0
0
0
0
0
0
0
0
0
-4
3
9
14
-10
50
11
0
-4
-13
3
22
36
-5
-6
0
0
0
0
-18
-3
-36
9
9
-2
-70
0
0
4
-3
-13
57
4
-40
-12
4
4
4
8
12
-17
31
-12
19
-6
-14
-8
31
-49
-21
35
-15
0
-30
-28
-5
37
-18
24
15
0
0
0
0
33
49
23
-5
4
-8
-37
0
-39
8
13
19
-32
-3
-21
-1
-5
5
-1
-24
45
-15
0
28
27
-14
0
2
-3
-14
-9
41
14
0
19
39
37
10
37
-21
-28
0
0
0
0
-4
6
36
-12
12
-1
-7
0
9
4
-7
6
-86
-8
0
58
0
0
0
0
0
0
0
0
0
6
25
-12
0
41
-14
9
21
0
16
10
22
-5
6
0
74
0
0
0
0
27
14
32
16
-4
-1
-5
0
5
18
-6
22
-15
7
-30
1
-6
40
2
1
7
5
47
36
18
14
12
6
-40
-37
10
66
10
0
21
-30
-46
15
82
56
28
0
0
0
0
-4
-22
29
7
6
1
-3
0
39
14
-15
-50
-3
-9
-5
26
-22
20
8
-6
11
4
8
27
2
-25
-8
3
10
-4
-3
-2
32
0
3
7
-8
-13
13
-7
1
0
0
0
0
0
-8
20
-4
41
-6
15
0
0
1
30
41
6
20
4
22
0
0
0
0
0
0
0
0
0
8
3
-13
-49
13
16
46
-25
0
0
-1
0
0
1
0
25
0
0
0
0
0
3
-13
-38
12
6
16
0
27
22
2
2
-19
-17
-7
28
-3
-8
20
-8
10
24
-1
54
-3
25
38
-25
6
39
33
16
11
0
-7
15
-15
0
-25
-32
63
0
0
0
0
0
29
21
22
-2
8
4
0
-1
14
4
24
-41
12
14
29
1
-10
-8
-4
7
23
19
32
-2
-7
23
30
-47
-24
-49
-11
72
0
-4
4
-2
0
-19
16
52
0
0
0
0
32
12
6
12
-26
7
0
0
0
0
0
0
0
0
0
0
-18
8
0
-34
26
6
-2
-1
-1
0
0
0
0
0
0
0
0
0
-45
-41
26
59
-21
-5
-5
0
0
0
0
43
-23
9
44
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
-32
49
-2
-2
1
0
0
0
0
9
5
22
43
1
-1
-3
0
24
-4
-6
43
5
-34
-1
-1
7
-4
11
-2
-26
28
1
-9
0
-24
5
57
54
-24
-19
-15
0
0
12
41
-29
-3
15
11
-4
0
0
0
0
25
-49
-7
3
24
11
9
0
-19
8
-20
52
4
-6
0
1
43
34
26
34
-23
13
2
0
0
31
25
-12
-4
-10
-31
-6
0
0
20
-13
90
19
7
-1
2
0
0
0
0
-13
29
3
5
3
4
-1
0
42
-31
48
-35
-39
13
1
-1
7
-5
-8
-12
34
0
-3
0
0
3
-26
-29
3
27
10
17
0
0
17
8
-38
-73
62
36
-7
0
0
0
0
-6
-11
33
-73
-20
2
0
0
-51
-6
26
-9
-15
-11
1
1
9
38
-7
10
-32
44
7
-2
-8
-18
94
-42
-50
-13
3
-4
0
0
-31
-4
-16
11
18
31
0
0
0
0
0
-12
60
4
64
23
4
2
0
-22
24
-17
18
15
4
-2
1
7
21
33
2
9
-15
-9
-1
0
-25
12
-6
54
25
16
4
5
0
0
1
-19
-28
23
57
2
0
0
0
0
-23
-14
43
48
16
6
-1
0
-78
-11
16
31
-4
2
-2
-1
-2
6
29
8
40
11
-10
-1
1
-46
-30
21
-3
30
0
1
-3
0
-55
-11
17
-8
43
15
9
0
0
0
0
-8
6
-52
-79
-25
8
-2
0
42
5
3
-18
-22
12
-2
5
0
24
-21
10
-46
-14
-9
2
-2
14
-11
-50
-40
24
61
9
-5
0
-14
9
3
-29
-13
-1
-9
0
0
0
0
0
0
0
-30
-73
30
-149
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-16
0
0
0
0
0
0
0
4
-70
-43
-79
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
6
8
-45
0
0
0
0
0
0
-1
3
28
-4
-155
0
0
0
0
0
-13
22
-79
-105
0
0
0
0
7
3
47
-116
-55
0
0
0
-3
7
-8
-9
-27
0
0
1
1
0
-1
-23
-5
0
0
0
0
0
0
-4
-46
-31
-22
-68
0
0
0
0
-1
-30
-32
60
-21
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-32
-19
12
0
1
8
-4
3
-5
-9
-3
0
0
0
0
1
1
14
-61
-50
-26
-98
0
0
0
0
0
-10
-132
-55
-71
0
0
0
0
-9
-22
-14
-17
-60
0
0
0
4
-15
-20
-75
-36
0
-1
21
-8
46
8
-32
-34
0
0
0
0
0
-2
-19
-34
-14
-11
-83
0
0
0
4
25
-4
4
-68
-51
1
-3
-4
8
27
-32
-27
-79
24
1
1
-10
33
16
8
-66
-24
0
0
-12
-13
-22
4
11
-25
0
0
0
0
-2
8
-7
21
25
-4
2
0
-3
0
5
-22
-23
17
-4
-20
0
0
0
0
0
0
0
0
0
-12
24
23
12
-10
-43
-26
4
0
20
7
47
-6
-16
-71
40
0
0
0
0
12
-1
21
21
-12
-4
-5
0
4
-3
-7
18
-65
-32
17
6
-12
14
4
-58
-15
-28
-50
-5
10
5
19
15
-2
-35
-25
14
6
0
4
-23
41
51
-53
-34
-7
0
0
0
0
-1
2
-33
-4
3
-1
-4
0
5
0
-9
36
3
-23
0
15
0
0
-8
38
26
78
-34
-4
-5
4
9
20
8
36
-54
25
-5
0
5
25
21
-46
-52
6
-1
0
0
0
0
0
2
18
38
-12
6
3
0
4
-15
-7
-18
92
12
2
9
0
0
0
0
0
0
0
0
0
-4
0
-17
-9
-23
7
41
-7
0
-26
21
0
-8
-13
-15
36
0
0
0
0
0
13
21
4
28
3
22
0
12
-9
9
5
8
-6
3
25
-13
-21
14
71
13
11
1
-4
10
17
14
-8
-5
27
46
15
-9
0
-7
30
2
-2
-16
8
7
0
0
0
0
0
0
5
2
11
8
9
0
0
2
1
18
56
6
7
-12
0
3
36
29
18
47
3
6
3
-10
-22
6
-13
18
-4
55
53
0
8
-5
-12
28
42
10
51
0
0
0
0
0
0
-2
0
47
44
4
0
0
0
2
-22
22
33
6
4
0
0
0
0
0
0
0
0
0
3
7
0
2
2
11
6
-45
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
4
45
9
3
0
-1
2
-5
-1
35
-38
7
15
0
-26
31
-1
18
5
9
14
-18
-8
58
23
9
48
7
-10
-27
0
-2
0
0
0
5
1
0
0
0
0
0
0
0
0
2
-5
22
5
0
0
-1
0
0
8
37
22
14
0
3
-3
0
0
-51
48
19
67
0
2
0
2
1
-50
19
16
0
0
0
4
0
0
-2
-9
0
0
0
0
-4
-2
-2
35
-34
-13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
49
-3
-16
4
-55
-35
0
0
0
0
-8
4
13
37
48
-7
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
31
-18
40
-11
8
0
0
0
0
30
12
46
27
-2
4
-112
0
12
7
-20
-5
23
-19
0
-36
-25
-6
29
0
-56
7
-25
30
-21
-2
-5
-13
3
22
26
-33
10
0
6
11
1
44
34
-7
-58
0
0
0
0
6
2
19
-52
33
-20
-99
0
0
0
0
13
-35
8
29
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
-1
-47
59
0
3
-8
-5
16
18
14
1
0
0
0
0
16
8
67
66
40
-7
7
0
12
10
-3
18
4
8
-37
95
1
-2
6
-22
-1
-25
-12
-3
65
0
-3
-6
-13
6
32
-9
26
0
8
7
41
-25
-34
-69
66
0
0
0
0
3
18
-22
37
-15
16
-23
0
3
-12
-2
20
-3
-21
-15
64
-2
3
8
70
-9
-112
3
113
-23
0
-3
3
-41
5
-69
-31
108
0
0
26
2
-9
-7
-21
73
0
0
0
0
0
0
10
18
34
-8
81
0
0
0
0
2
-30
10
208
0
0
0
0
0
0
0
0
0
0
1
-6
10
13
16
-9
110
-25
0
-2
0
1
0
-1
9
-10
0
0
0
0
1
0
-2
-54
60
44
66
0
41
15
11
26
20
-14
11
153
16
30
-8
3
-15
-40
11
83
13
-1
2
-19
6
1
6
86
-18
0
0
0
1
12
-5
-24
-24
0
0
0
0
1
0
-1
25
65
-6
28
0
5
3
14
-12
-51
58
48
196
1
1
14
-5
18
-1
-51
215
21
0
6
4
24
-5
16
76
-47
0
0
0
-1
0
-2
-2
1
0
0
0
0
0
0
0
-1
-44
-8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-4
2
0
0
0
0
0
0
-9
8
16
5
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-8
44
2
0
0
0
0
0
4
-24
19
-37
-1
-23
0
0
2
23
-3
59
-28
-49
11
0
0
3
8
1
-1
-42
-8
9
0
-4
3
8
-1
10
-8
-58
0
1
8
-6
0
5
31
-41
0
0
0
0
0
-3
-13
2
-19
-8
56
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-5
23
-42
6
43
0
0
0
0
0
-7
-8
-7
-4
-3
0
0
0
0
0
-10
-3
42
-15
0
0
0
0
0
0
-4
1
-19
-8
0
0
0
0
0
-1
8
-3
0
14
-28
20
-30
-8
15
-22
0
0
0
0
14
-10
-3
-12
-13
-18
48
0
0
-2
2
3
38
-27
15
-33
2
8
-5
-21
-5
47
-19
-17
-4
2
13
19
-3
-38
-23
38
-23
0
-29
-8
7
-5
-1
-45
-32
0
0
0
0
-5
-16
-8
-37
8
-45
91
0
0
0
0
-4
0
2
11
10
0
0
0
0
0
0
0
0
0
0
3
5
3
-1
8
-39
-50
0
5
-5
9
-8
5
15
-26
0
0
0
0
-1
-8
1
-12
-42
22
45
0
1
0
-1
15
27
18
-63
-71
1
0
3
2
22
12
27
-124
67
-1
-4
7
4
6
-15
6
-45
0
4
20
-3
-1
-1
11
39
0
0
0
0
13
-19
43
55
-11
13
-61
0
3
-7
-7
45
-18
-86
23
20
0
-12
3
-25
2
-89
37
5
-69
0
9
13
20
5
9
-28
-31
0
48
-4
8
-9
-8
-48
26
0
0
0
0
0
0
-4
-53
27
13
-56
0
0
0
0
-2
-4
-21
-1
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
-9
-14
28
24
0
0
-1
0
0
0
-3
1
0
0
0
0
0
0
-22
4
16
20
50
0
0
0
15
41
-19
-45
6
-6
0
0
0
0
25
-15
35
-65
0
0
10
4
0
0
-29
-27
-24
0
0
-2
0
2
3
-4
-8
0
0
0
0
0
4
19
-7
9
-18
-16
0
0
-1
8
25
11
-33
-16
38
0
2
0
8
23
-13
-9
32
-65
-4
-2
0
-6
3
20
-8
-23
0
0
-2
-3
0
0
8
8
0
0
0
0
0
0
0
-1
31
-7
19
0
0
0
0
0
1
48
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
21
14
0
0
0
0
5
-1
57
-12
46
0
0
0
-2
-14
-19
11
14
0
0
1
-1
0
-5
-3
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-15
28
0
0
0
0
0
-8
47
31
-14
0
0
0
0
0
0
-21
73
0
0
1
0
0
0
-2
-12
0
0
0
0
0
0
1
-3
0
0
0
0
0
-8
43
-14
-30
-20
-1
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
5
22
-38
-10
-4
0
0
0
0
-6
11
25
-13
-19
-6
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
6
-6
2
-6
0
-10
0
0
0
0
23
5
-1
-15
-1
-4
-44
0
-1
-19
-16
7
-9
16
-13
-22
28
-14
-7
-3
5
9
3
-23
-7
-71
30
-35
14
16
-4
-15
-1
0
-35
-11
24
16
0
-2
-7
0
0
0
0
42
1
40
-2
4
2
-24
0
79
5
-25
14
6
-16
-11
-33
0
0
0
0
0
0
0
0
0
-73
-6
18
-11
39
-27
-9
-1
0
-3
8
5
11
-10
2
-6
0
0
0
0
3
7
5
10
-6
0
2
0
35
35
20
15
21
4
-8
-30
-4
7
-41
-12
-3
8
-8
-8
-2
-90
35
4
11
12
-13
-18
0
0
-17
-6
-17
5
25
4
-9
0
0
0
0
-17
34
34
-5
-4
0
-4
0
19
37
33
-13
1
-5
4
0
33
30
-28
-22
-5
5
1
2
0
37
28
14
14
-11
2
-4
3
0
16
-12
24
7
-21
-8
2
0
0
0
0
-4
29
54
28
8
-2
7
0
4
-7
35
21
26
12
5
-4
0
0
0
0
0
0
0
0
0
57
41
-4
4
-3
5
-10
2
0
-2
-10
43
22
47
11
-20
0
0
0
0
19
43
79
21
3
1
8
0
25
35
25
14
22
1
1
-1
51
32
39
-1
-8
27
0
1
-4
10
49
44
10
41
20
-2
0
0
67
6
48
-20
19
-11
-5
0
0
0
0
1
-8
39
31
0
2
1
0
30
11
-6
-26
11
1
2
4
-42
-22
24
31
-20
-21
6
3
3
27
-9
15
3
-20
3
-8
5
0
3
43
7
-40
19
9
-1
0
0
0
0
-4
-64
-26
-6
12
15
-89
0
0
0
-47
-30
-74
17
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
6
0
0
-16
29
-27
-16
12
-8
-12
0
0
0
0
-18
-91
-44
-15
12
6
-106
0
0
-6
-74
-30
-2
3
-65
-4
0
0
-5
-20
-8
-22
-65
76
1
-6
-1
22
7
-41
-61
1
-7
0
-140
71
7
-21
-17
15
9
0
0
0
0
-85
-49
-10
-20
-23
27
13
0
-52
-84
-36
8
-52
-23
-23
23
-72
-35
11
42
123
27
2
-25
-7
-18
33
-26
58
2
0
-9
-5
0
-64
48
-31
7
15
-2
2
0
0
0
0
-6
-136
-96
-12
-1
6
-112
0
0
8
-78
-68
-22
45
-134
-68
0
0
0
0
0
0
0
0
0
-1
-38
11
1
-16
46
-46
-45
0
40
25
29
-6
32
-14
-15
0
0
0
0
-60
-46
-89
-33
-3
-7
-91
0
-10
-17
-100
10
-5
-46
-132
-2
-44
-23
16
-34
32
-14
-59
-16
-6
-50
-16
4
25
-12
-50
-47
-61
0
-30
90
-4
11
31
-12
-4
0
0
0
0
51
-23
3
-16
-8
-3
-40
0
-38
27
9
-6
2
-1
-31
-34
17
30
-9
-3
6
18
-9
-29
-6
-55
48
14
-20
33
22
10
-6
0
-46
21
23
43
23
-18
4
0
0
0
0
-36
-16
-73
-19
5
1
-93
0
7
-36
-96
-44
-42
-7
-90
-42
0
0
0
0
0
0
0
0
0
-53
15
10
52
19
-37
1
-22
0
24
64
-17
9
47
26
-1
0
0
0
0
-27
-53
-34
-27
-19
2
-48
0
-19
-53
-23
-40
-6
-33
-78
-35
-97
36
-20
-22
-20
-30
-20
-36
13
-57
-49
-13
38
-14
-4
-24
-25
0
74
26
-21
10
25
-7
-2
0
0
0
0
64
25
-38
-25
1
4
-28
0
29
15
-9
13
-6
1
-12
-8
30
-2
22
-8
-7
18
-15
-3
12
4
70
-4
-41
11
1
-6
8
0
28
38
28
16
2
4
4
0
0
0
0
2
-20
-1
24
-6
10
1
0
41
8
-18
-6
-42
-22
-29
-15
0
0
0
0
0
0
0
0
0
25
60
3
-58
-23
-10
17
-4
0
-8
17
-9
-63
46
20
46
0
0
0
0
30
33
2
-28
-6
8
9
0
-43
6
-11
-27
-11
-9
-42
-22
17
-25
27
5
19
-19
-9
2
-19
84
12
-9
-15
-27
4
12
-5
0
-4
27
-50
-20
-3
8
24
0
0
0
0
24
-9
-23
-8
-2
6
5
0
129
50
27
-52
-19
-10
14
11
-26
59
-3
23
33
-3
27
28
-6
-22
-63
24
-31
-4
-2
13
28
0
86
42
0
42
-11
18
-12
0
0
0
0
13
-51
103
13
6
4
28
0
9
15
105
7
-23
-25
17
-11
0
0
0
0
0
0
0
0
0
31
13
-22
21
-53
16
30
5
0
-37
5
-35
-9
-5
47
41
0
0
0
0
37
-14
-5
-111
-8
17
13
0
-19
-19
-31
-27
-24
-15
12
2
-97
117
52
-6
26
-1
6
33
9
87
-47
-61
-30
-50
4
15
24
0
12
80
66
-15
-36
43
-41
0
0
0
0
-19
57
42
-15
-10
7
6
0
-16
-33
-5
-29
-42
-7
21
36
21
35
37
-108
19
-68
9
41
47
77
41
17
-65
-26
-29
-3
66
0
36
-15
-68
-44
-21
112
47
0
0
0
0
41
28
2
38
-7
4
-18
0
0
0
0
0
0
0
0
0
67
43
-18
4
12
11
-21
-1
-9
0
0
0
0
0
0
0
0
0
16
-46
45
46
-14
25
1
0
0
0
0
54
41
45
26
3
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-39
-23
-22
-4
-24
1
0
0
0
0
50
57
-5
-31
-19
-1
-4
0
18
9
35
108
-9
-13
-15
-10
-5
88
20
1
-15
-15
-7
-4
0
5
-30
10
-4
10
-17
-4
-1
0
13
49
10
-11
23
11
2
0
0
0
0
-22
56
64
1
17
5
16
0
37
48
3
30
17
0
-5
4
-18
16
25
2
3
-4
-6
1
2
118
43
3
28
16
8
-5
1
0
33
-6
-19
22
46
15
1
0
0
0
0
-19
65
64
31
20
5
5
0
6
38
38
-25
14
4
2
0
59
33
17
9
24
24
-10
3
2
76
72
28
7
-13
-3
-8
0
0
16
-16
-2
-10
-12
-3
6
0
0
0
0
29
11
25
-8
5
0
11
0
6
17
-6
33
3
1
1
9
-28
59
43
-19
-37
10
0
13
2
31
5
50
-15
-5
-24
16
0
0
-21
-1
33
-13
31
-2
-4
0
0
0
0
-34
38
44
53
12
7
14
0
10
-4
37
-10
14
1
2
10
30
37
16
13
-2
15
6
0
-2
26
1
56
8
-2
21
19
2
0
39
20
-1
9
-25
20
-37
0
0
0
0
-53
39
48
15
5
2
14
0
-83
-6
-2
-2
-4
-1
1
14
3
9
5
8
-9
8
1
10
5
9
30
-8
37
22
26
-4
5
0
-3
19
57
14
0
16
18
0
0
0
0
3
7
43
-95
-16
0
0
0
33
11
1
7
16
-12
4
8
6
-36
30
-43
-9
16
5
14
10
87
67
-21
-115
4
-6
6
20
0
7
-19
-22
-14
13
35
-38
0
0
0
0
0
0
-15
-77
-29
34
-238
0
0
0
0
0
-6
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
3
24
-29
-51
20
-88
0
0
0
0
0
-2
-25
-50
-37
5
-115
0
0
0
2
1
-48
-40
-151
-41
0
0
0
0
1
-2
-40
-38
-1
0
0
1
-1
2
-1
-7
2
0
0
-59
5
-2
27
10
-17
0
0
0
0
0
13
-63
12
-25
1
-40
0
0
1
-2
-15
55
-24
-6
-123
0
-1
1
-6
-6
-6
33
-128
-115
0
-1
-30
-37
62
9
32
-13
0
-1
-28
19
-10
-40
13
13
0
0
0
0
20
-14
-98
-52
-36
-1
-71
0
0
3
29
-66
-55
-46
-68
-100
0
0
0
0
0
0
0
0
0
0
0
17
-15
6
-71
-130
-125
0
-54
-21
-45
10
-5
-48
-4
0
0
0
0
-47
-31
43
3
-51
-12
-83
0
0
0
-42
-29
-93
-49
-148
-106
0
-7
-1
0
68
-20
-39
-224
-164
1
-7
-34
36
71
-72
-159
-120
0
-20
-40
-36
-18
34
-15
-36
0
0
0
0
-38
-44
-46
-40
-2
-3
-39
0
5
-6
-94
35
-20
-7
-39
-44
-58
-53
19
18
58
26
-7
-65
-49
-71
-18
-20
91
50
-5
-5
-54
0
-72
-40
28
16
-43
-31
-33
0
0
0
0
60
37
17
-2
10
11
-12
0
31
-43
-132
-41
-10
-10
-47
19
0
0
0
0
0
0
0
0
0
-172
-8
14
69
-33
-55
-34
6
0
55
14
49
0
-4
18
-5
0
0
0
0
51
30
-86
-2
-28
4
0
0
76
-8
19
79
-10
-15
-82
-20
-24
20
-4
2
-26
-6
-54
-51
-24
-88
13
45
-74
-28
-25
-49
-26
0
113
52
-15
34
-56
24
-8
0
0
0
0
24
-40
-49
61
-4
12
0
0
-75
-3
31
46
61
24
-6
-1
-26
-39
24
35
40
-8
-24
5
1
82
78
49
19
12
-10
3
-13
0
93
37
-34
6
7
2
-10
0
0
0
0
0
69
22
2
17
3
31
0
32
101
-29
57
0
31
25
41
0
0
0
0
0
0
0
0
0
62
81
-67
-31
25
11
62
-4
0
-13
-17
1
26
-5
66
29
0
0
0
0
2
80
64
11
-28
21
45
0
34
-51
41
-8
13
1
7
36
101
32
-14
21
14
5
-9
23
10
96
20
12
-16
15
26
18
20
0
-35
-12
22
42
-3
49
22
0
0
0
0
0
-7
33
11
-14
32
29
0
16
33
18
8
18
17
22
59
35
70
-34
-25
39
-16
-2
64
42
50
40
37
-67
14
-37
26
52
0
25
-19
-4
-28
75
4
45
0
0
0
0
0
1
-2
-14
45
32
84
0
0
36
35
16
54
51
64
46
0
0
0
0
0
0
0
0
0
106
-74
57
-79
68
9
31
4
0
0
0
0
0
-30
-1
8
0
0
0
0
0
1
-17
28
-72
46
73
0
13
22
45
52
14
19
19
55
42
-68
63
-29
-12
12
2
59
44
47
13
-17
-54
7
-5
56
60
0
-67
3
0
0
30
-8
34
0
0
0
0
0
-1
13
-4
11
39
28
0
0
-7
-39
-3
44
16
54
80
0
52
-33
0
-8
-64
-49
102
66
41
-6
-7
2
-18
-24
18
37
0
0
0
3
0
-5
5
-13
0
0
0
0
-51
-48
-40
-18
3
-14
-123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
39
-26
-11
8
-47
-24
0
0
0
0
-76
-10
48
31
31
-35
-134
0
0
0
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
-3
-4
15
35
-27
-39
0
0
0
0
40
-12
-33
20
4
-21
-42
0
-10
19
-26
0
33
-23
-33
-63
-25
-38
51
2
9
6
-10
-25
-52
26
33
-17
20
63
13
-21
-37
0
-25
-8
-46
32
24
0
-40
0
0
0
0
8
-49
57
72
-19
-15
-106
0
-48
0
-41
21
9
-15
51
-1
0
0
0
0
0
0
0
0
0
9
-10
0
24
26
-64
21
6
0
-10
45
-14
53
10
-22
-29
0
0
0
0
147
32
51
9
43
-33
-124
0
-1
1
-1
8
10
-17
-72
-1
-19
-60
35
36
50
-12
8
-40
-66
-4
19
1
19
26
32
26
-24
0
12
53
31
-45
-98
-49
-25
0
0
0
0
23
28
41
14
0
-21
-10
0
42
-23
-9
-7
29
-25
-45
6
-22
38
28
41
54
-6
-12
-10
-35
55
31
0
55
-17
-11
-12
2
0
90
92
-38
21
-123
-15
-19
0
0
0
0
58
64
91
-19
26
29
-46
0
27
2
-29
45
-75
2
138
0
0
0
0
0
0
0
0
0
0
45
47
-32
-8
-3
-35
92
-155
0
-8
-13
-4
2
-8
15
-30
0
0
0
0
131
67
-6
64
14
-23
-102
0
117
76
88
6
3
2
-45
35
68
176
20
5
-10
-75
4
3
47
1
17
-16
27
-39
-28
95
-86
0
21
-4
39
69
-12
-57
-75
0
0
0
0
90
27
-25
120
-38
-21
-56
0
41
50
-4
-10
-20
27
-16
-1
-3
50
-30
-18
20
-46
27
87
73
28
6
-7
16
-17
12
57
-35
0
-1
-49
8
25
68
-53
-1
0
0
0
0
0
-12
9
28
31
-54
-140
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
19
-58
-40
43
20
-10
0
0
0
0
-3
-9
19
17
31
-151
-120
0
0
0
-41
43
19
0
-8
0
0
0
2
0
3
1
0
1
0
0
-8
0
0
0
0
3
0
0
-80
-34
59
10
-5
27
-10
0
0
0
0
-26
-45
-8
6
-1
-1
-39
0
-25
51
-7
13
-21
-7
-35
-6
0
-47
-6
-21
69
4
10
-17
-29
-6
-8
32
27
80
-43
-35
-71
0
-33
-70
14
30
76
-2
-3
0
0
0
0
-14
-97
-64
14
0
-55
-81
0
0
0
-16
16
-6
39
-27
6
0
0
0
0
0
0
0
0
0
0
3
-3
13
-45
10
21
-24
0
-41
18
41
-29
-76
-31
-26
0
0
0
0
1
-109
1
11
21
-62
-90
0
0
-7
-7
37
18
-20
-35
-48
0
2
-22
78
-22
-28
13
-34
-12
-1
8
25
-17
47
29
-22
-124
0
32
4
12
-6
-73
-3
-15
0
0
0
0
26
-30
6
3
-13
-24
-29
0
-70
-28
-49
24
22
-6
-17
-33
46
59
-42
15
-25
5
-33
-8
-26
-66
6
48
-2
-58
29
-27
-4
0
45
24
-37
-6
53
-29
-47
0
0
0
0
-10
-87
10
-33
-35
-16
-106
0
0
0
57
-15
21
-13
7
-61
0
0
0
0
0
0
0
0
0
-12
11
28
76
20
-9
-51
-93
0
38
-14
-4
-88
58
-46
-40
0
0
0
0
46
-25
-6
5
6
-63
-64
0
-15
-12
4
11
65
-61
-73
-47
37
-39
-10
28
41
-24
-11
-14
-27
-14
43
42
-100
36
-29
-50
-16
0
44
-32
79
16
0
-45
-60
0
0
0
0
-89
-56
86
-6
-6
-37
-39
0
-3
56
-19
15
9
-55
-33
-20
36
58
-20
-17
6
-69
-57
-4
20
-133
4
14
56
-16
36
-21
-52
0
54
44
-26
-74
-48
17
-27
0
0
0
0
1
-17
0
-6
-1
-52
-38
0
0
0
-1
18
42
-40
9
-8
0
0
0
0
0
0
0
0
0
-8
-17
-13
16
-7
19
21
21
0
-2
3
0
1
0
-53
2
0
0
0
0
-3
-38
-7
-16
22
-73
-23
0
19
83
31
-19
6
-41
-49
-74
0
2
35
-6
76
8
-29
-58
42
-1
15
38
-5
-72
-54
14
-4
0
-36
4
-19
-44
60
-21
43
0
0
0
0
-29
30
91
35
8
-36
-56
0
53
-50
100
-86
-5
-66
-26
87
0
-64
-1
11
79
-129
-27
6
8
27
-9
18
-90
21
-10
-36
90
0
-4
-6
-2
13
-41
-16
11
0
0
0
0
0
-2
-5
-12
67
-88
-34
0
0
0
-1
4
-34
-10
-90
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
-29
34
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-40
17
26
7
0
0
0
-18
21
-35
-53
-26
48
-4
-3
-7
-1
21
-14
9
25
2
0
16
37
2
-42
-1
89
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
63
-8
1
0
0
0
3
-3
-54
-53
-37
112
0
-6
0
0
7
-1
16
74
-1
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-27
-20
-10
-7
-13
13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-13
-1
35
-7
-6
0
0
0
0
0
-20
-15
15
-6
-21
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
5
29
7
2
-12
-4
0
0
0
0
-40
-21
4
-5
-2
-1
-31
0
-15
-10
2
-26
2
2
-3
-16
-63
-3
-15
2
21
19
-1
-16
-3
-76
45
18
30
17
0
8
4
0
-18
35
39
8
2
-17
-3
0
0
0
0
25
12
12
29
14
9
5
0
4
-7
-16
16
-18
0
-8
-32
0
0
0
0
0
0
0
0
0
-74
29
16
2
20
-20
-16
3
0
17
42
8
5
-9
-7
-2
0
0
0
0
-4
26
31
27
5
-1
-6
0
22
10
-2
7
19
22
-6
-46
-40
-33
-6
-7
6
21
6
-2
-17
-95
9
19
22
34
-12
-8
-2
0
54
-34
-31
2
10
-3
-5
0
0
0
0
11
37
30
12
-1
6
-9
0
20
-14
15
4
-17
-1
8
2
-15
-2
1
-5
1
-4
15
3
2
17
49
40
-28
7
1
-4
8
0
-40
-31
34
-13
-2
3
-5
0
0
0
0
15
54
46
25
13
3
14
0
14
20
44
26
43
28
9
-5
0
0
0
0
0
0
0
0
0
39
2
6
5
1
8
-9
5
0
-22
14
-37
-6
13
13
0
0
0
0
0
62
41
20
12
-6
1
24
0
3
66
20
17
33
15
14
8
59
41
-22
-16
-5
22
6
0
1
13
66
6
16
30
29
2
7
0
-2
95
-5
7
23
-6
-17
0
0
0
0
10
34
39
12
15
2
5
0
71
20
23
-25
10
8
8
14
-32
38
17
20
-18
20
18
5
-11
38
43
39
-25
-38
-10
17
4
0
-6
30
15
-20
-15
1
-17
0
0
0
0
-8
-90
-45
-5
-7
46
-61
0
0
0
-111
-32
-59
30
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
2
4
0
0
-37
39
-21
-60
-18
-8
-25
0
0
0
0
-85
-35
-46
-32
-18
7
-21
0
0
-15
-118
-3
-35
31
7
-2
0
0
-5
-11
-15
-22
-82
43
3
-6
-2
43
22
-54
-31
-28
-39
0
-160
3
-2
28
14
-8
-8
0
0
0
0
-89
-66
-39
-20
-3
21
11
0
-116
-77
-12
26
-27
13
-13
0
-88
-44
-13
31
17
-3
-29
-20
5
-138
-38
1
-19
19
35
-28
11
0
-30
15
-13
32
-6
-19
-6
0
0
0
0
-43
-41
-48
-19
-15
-13
-63
0
0
4
-76
-45
-55
26
-139
-43
0
0
0
0
0
0
0
0
0
9
-27
-8
-62
-55
-11
-12
-22
0
-84
42
10
-20
21
-23
-6
0
0
0
0
-71
-11
-43
-33
-10
4
-43
0
-55
-28
-50
-47
-23
-18
-36
-30
-105
-44
10
-42
3
-3
-58
6
21
-59
-75
-34
21
-50
-50
-34
-3
0
-34
14
18
7
-19
-11
0
0
0
0
0
69
-33
-13
-16
-7
8
-15
0
-61
5
-3
14
11
-13
-5
-15
-47
34
-23
14
10
-12
-19
-22
-9
-22
37
19
9
-7
-9
-3
-5
0
-24
59
17
10
14
-1
-2
0
0
0
0
10
-28
-22
3
-1
5
-26
0
-169
-75
-55
-20
-19
-32
-96
-30
0
0
0
0
0
0
0
0
0
-80
-34
-29
-12
9
-16
2
-12
0
-2
-14
-5
-4
-3
14
0
0
0
0
0
-15
-45
-23
-28
-7
8
-36
0
-63
-49
-4
-35
-49
-46
-67
-39
-150
-26
-41
-22
14
-53
-39
-34
7
-84
-71
8
-12
-24
-21
-17
-14
0
75
-15
-24
31
-9
-6
6
0
0
0
0
20
-27
-24
7
2
7
3
0
97
-14
-25
-3
-2
-5
2
-6
83
-6
10
25
-17
-17
-23
5
-9
109
10
-2
-17
-15
8
-2
-3
0
69
55
17
-12
-23
3
-4
0
0
0
0
-12
13
18
-23
-1
14
19
0
10
5
-17
-36
-45
-28
-16
-19
0
0
0
0
0
0
0
0
0
6
28
-2
-50
-24
-5
17
-9
0
72
38
33
-58
-9
-7
24
0
0
0
0
5
1
-11
-8
-18
14
10
0
-24
-17
-28
-33
-11
-4
-33
-18
-75
35
-1
-6
-6
-9
-12
-7
-28
60
26
-31
-6
5
7
1
-6
0
51
25
30
-44
2
-34
0
0
0
0
0
-26
20
-49
13
-14
2
12
0
45
10
-26
-21
-25
-20
12
12
3
-33
62
-48
-24
-29
10
4
42
-8
-3
-22
-48
-17
38
-4
18
0
103
39
-62
24
2
-10
-16
0
0
0
0
-7
-18
65
-24
-18
-22
48
0
5
-45
36
-12
5
-28
17
11
0
0
0
0
0
0
0
0
0
51
0
-54
8
-5
-5
23
27
0
-22
1
4
15
-4
28
28
0
0
0
0
4
-5
61
-42
-41
-8
19
0
-20
-48
-20
-42
2
-20
11
29
45
38
53
-2
-20
-9
13
33
13
125
-12
14
-73
-47
43
0
32
0
11
58
48
-9
2
-16
-58
0
0
0
0
1
26
43
-14
2
-59
31
0
-4
-41
60
-8
-25
1
10
8
-22
21
15
-36
-3
-54
-25
43
11
26
31
64
0
62
-73
15
3
0
36
-14
-20
-52
-1
63
10
0
0
0
0
33
44
16
-13
-4
-1
12
0
0
0
0
0
0
0
0
0
-7
-2
-23
-1
-1
-12
-28
-8
2
0
0
0
0
0
0
0
0
0
95
7
23
41
-18
-13
-3
0
0
0
0
28
17
18
-2
6
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
43
-33
2
10
-6
0
0
0
0
30
80
29
3
6
7
-5
0
67
33
32
-13
-6
-3
-3
1
6
101
1
12
-11
11
-5
-10
1
-22
-1
-21
-13
27
2
-12
1
0
-71
1
-17
4
9
0
-1
0
0
0
0
9
30
102
23
0
1
12
0
72
17
-11
-16
25
3
-9
1
24
-18
23
3
-1
14
-2
4
-2
123
-17
36
26
13
4
-1
5
0
68
-44
27
10
13
12
-12
0
0
0
0
2
87
6
-4
23
3
13
0
1
49
6
-4
-8
3
4
4
-8
52
11
32
-10
-5
-11
12
7
40
136
17
0
-22
-26
7
4
0
46
-8
-58
-23
-26
8
4
0
0
0
0
32
64
45
10
6
-6
6
0
104
30
10
6
1
-4
-2
-1
62
13
63
73
14
12
-3
2
5
21
23
77
27
-22
-5
-4
10
0
4
11
27
0
-13
12
-7
0
0
0
0
18
24
43
5
13
4
1
0
31
26
17
42
22
-1
3
23
25
62
19
22
5
10
-1
3
-24
28
83
5
9
4
14
14
12
0
115
-11
20
-13
-7
-40
-55
0
0
0
0
6
86
63
-4
-9
-8
17
0
-5
16
-6
-21
-3
-14
2
25
79
13
59
24
-12
5
2
6
15
110
67
59
-20
12
-11
0
11
0
80
64
-23
45
-17
-17
-2
0
0
0
0
21
0
45
25
-6
-30
0
0
-59
32
-40
62
25
12
-2
-23
66
-7
98
-47
-6
-37
-10
23
-13
147
47
-36
-21
9
-13
-2
3
0
14
78
-20
-97
8
2
-23
0
0
0
0
0
0
-19
-74
-12
17
-122
0
0
0
0
0
-5
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
3
17
-62
-19
31
-3
0
0
0
0
0
-14
-40
-87
-3
71
-57
0
0
0
2
1
-56
-27
-110
-50
0
0
0
0
1
6
-30
-44
-1
0
0
1
-1
-17
-12
-13
2
0
0
-8
-31
-19
3
23
8
0
0
0
0
0
41
-103
-38
-39
44
62
0
0
1
1
21
-4
-10
18
-29
0
-1
3
-23
8
48
9
-54
-29
0
-1
-23
-35
46
38
-38
14
0
-6
-11
-27
28
17
77
-55
0
0
0
0
5
-74
-139
23
4
20
-18
0
0
3
87
-108
-92
38
-92
-73
0
0
0
0
0
0
0
0
0
0
0
5
-6
-59
-22
-159
-74
0
-70
-18
-14
10
-11
29
-16
0
0
0
0
-12
-64
-31
30
-5
21
-18
0
0
0
-30
-49
39
-4
-147
-61
0
-5
-5
18
98
-59
-63
-151
-123
-1
-32
-23
30
84
-25
-120
-72
0
-64
-76
-52
3
53
-21
3
0
0
0
0
-39
-79
-19
35
8
11
0
0
-16
-4
-15
47
51
1
21
-46
-22
-85
0
13
-16
2
-3
-23
1
-106
32
-9
29
7
19
37
-5
0
-98
-28
9
-16
-8
52
-12
0
0
0
0
-12
44
57
15
11
17
-8
0
7
1
-26
-21
-2
12
-38
-26
0
0
0
0
0
0
0
0
0
-197
-38
6
3
13
-29
-29
-7
0
87
5
22
-9
11
16
1
0
0
0
0
84
7
-37
-23
-4
26
9
0
38
-32
49
37
19
15
-86
-57
60
-29
-54
-18
9
24
-42
-75
-32
-4
-25
-15
-42
15
22
-31
-28
0
37
34
-46
-40
37
15
8
0
0
0
0
-9
-26
-21
26
18
5
6
0
-45
-18
89
47
0
-6
-1
26
18
36
-32
-34
31
24
-16
25
6
26
15
38
28
-27
-6
-7
21
0
23
45
1
-3
16
8
-16
0
0
0
0
0
82
28
-22
-24
25
20
0
29
13
38
71
34
20
47
42
0
0
0
0
0
0
0
0
0
109
18
16
-21
28
15
9
-9
0
21
28
16
-12
-27
28
2
0
0
0
0
-5
96
8
-70
3
15
36
0
16
19
48
31
31
16
2
30
64
177
7
-9
28
17
-2
25
11
39
11
-18
5
-12
23
4
14
0
31
18
-17
-5
11
26
-4
0
0
0
0
0
29
1
-42
-14
35
8
0
9
13
28
-78
-40
31
36
26
4
17
-14
15
-37
-11
18
12
58
3
26
-52
8
-47
-15
32
7
0
3
-50
19
-13
-32
29
73
0
0
0
0
0
1
-23
-14
-17
46
31
0
0
75
70
30
8
43
53
55
0
0
0
0
0
0
0
0
0
100
22
25
-42
25
22
-4
-30
0
0
0
0
0
-35
21
6
0
0
0
0
0
0
-42
-2
-21
15
78
0
0
0
9
106
-31
-64
47
81
-33
-15
130
-35
37
-14
0
77
17
37
4
-37
54
11
-7
24
21
0
15
1
0
0
-53
-12
28
0
0
0
0
0
-1
12
-2
71
-31
39
0
0
3
-27
-1
-5
7
40
20
0
13
7
0
-6
-40
-26
31
38
22
4
0
1
-11
26
-20
-14
0
0
0
3
0
-2
5
6
0
0
0
0
-114
-88
-19
19
0
-12
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
31
54
22
-29
-3
-49
0
0
0
0
-39
-52
3
6
31
-15
-119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
5
46
-11
-21
6
-40
0
0
0
0
-7
-61
16
30
3
-14
-11
0
-5
-18
21
-17
22
7
-15
-47
-15
-12
-12
-13
28
31
-24
-17
-27
1
3
11
40
16
14
-11
-19
0
5
-34
7
37
-4
-4
-19
0
0
0
0
60
19
38
-7
-10
-18
2
0
-4
-8
10
-19
40
-2
-20
-1
0
0
0
0
0
0
0
0
0
0
41
-35
12
23
-21
16
-14
0
-70
-18
-8
37
-19
-42
23
0
0
0
0
46
49
40
36
52
-37
-80
0
18
16
52
-7
9
0
-43
-35
-15
-47
43
41
4
14
-3
28
-106
-20
-50
27
29
-15
26
77
-38
0
-46
23
-35
25
-26
-37
-22
0
0
0
0
-14
-18
31
29
14
8
-46
0
45
10
9
13
-6
3
-47
-44
42
30
19
-22
22
2
-21
10
1
18
42
-37
41
-4
-30
32
-8
0
62
-13
-38
54
-23
-82
25
0
0
0
0
21
61
30
13
49
-19
-54
0
24
2
-55
10
-37
4
106
0
0
0
0
0
0
0
0
0
0
27
31
-8
28
-54
-33
91
-77
0
5
23
-6
2
-13
10
-31
0
0
0
0
34
30
-34
78
30
-6
-19
0
69
11
7
-7
14
10
-48
-24
58
160
-5
14
-31
19
17
-6
-23
-17
9
-19
10
-6
23
32
23
0
33
29
37
17
-39
-17
-26
0
0
0
0
84
37
52
22
-28
-15
-10
0
16
-7
-35
51
-13
9
11
26
8
-3
-13
5
-35
-32
42
24
68
17
-5
-22
20
-34
25
0
40
0
-1
-4
6
33
32
-58
22
0
0
0
0
0
-15
15
-10
39
-102
-196
0
0
0
-7
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
40
-76
2
61
41
-30
0
0
0
0
-13
-48
11
-11
7
-85
-97
0
0
0
-79
78
47
0
-12
0
0
0
3
0
3
2
0
1
0
0
-8
0
0
0
0
3
0
0
-95
-13
9
-15
-30
54
-6
0
0
0
0
-41
25
-20
-36
-33
9
2
0
-59
35
-20
40
20
30
-7
-61
9
-47
5
-49
19
47
-51
13
-48
-36
-29
32
42
45
-63
19
-118
0
-13
-8
-64
9
25
-4
49
0
0
0
0
-19
-89
-15
-1
2
-45
-117
0
0
0
-2
53
-42
-49
23
13
0
0
0
0
0
0
0
0
0
0
3
-13
36
-47
3
20
-47
0
-48
-2
19
-24
-19
-18
-8
0
0
0
0
16
-64
19
9
27
-75
-125
0
0
-24
-51
59
-22
-29
-92
4
0
-5
6
12
3
-3
23
-34
47
-21
38
35
-2
50
-10
-30
-73
0
-28
-7
-20
-13
-43
5
-11
0
0
0
0
-7
-35
0
-3
-4
-1
-12
0
-40
28
-16
-2
25
-20
-24
-16
0
32
-24
-20
52
-10
-15
-13
-24
5
-64
-18
-8
37
-3
-9
-24
0
15
10
14
-34
35
-6
-19
0
0
0
0
-8
-67
-9
2
-45
-30
-60
0
-6
3
75
49
-7
-28
-56
-73
0
0
0
0
0
0
0
0
0
8
-15
94
-21
11
9
-6
-45
0
-23
-18
20
-95
36
14
-53
0
0
0
0
53
-47
21
26
38
-108
-82
0
-19
0
30
-5
30
-40
-97
-39
16
-69
-58
34
52
-16
-39
9
-58
-2
16
-9
-20
30
-36
-19
-1
0
-54
-105
39
-45
62
14
-29
0
0
0
0
10
-58
-13
0
-9
-7
-10
0
-11
82
12
-32
-39
0
-29
-5
-9
107
-51
-43
48
-23
-6
-19
61
-16
4
-26
-18
9
36
-18
-36
0
108
-2
16
-43
-14
-35
-26
0
0
0
0
1
14
-15
-50
-47
-26
-49
0
0
6
-35
-25
-16
10
-108
-4
0
0
0
0
0
0
0
0
0
-42
-19
-30
80
-2
18
12
-45
0
-2
3
0
1
0
-47
0
0
0
0
0
-11
-104
36
60
30
-92
-57
0
18
59
68
-3
17
-37
-50
-39
46
-61
18
-35
5
8
-18
-6
61
2
3
3
-73
-36
-11
15
15
0
-1
17
-25
-28
56
-29
66
0
0
0
0
-10
23
44
-1
-5
-67
-19
0
-3
-23
6
2
-21
-70
-18
89
1
-92
-5
27
39
-151
12
-30
11
-10
-33
18
-7
-12
-48
66
65
0
-11
-4
0
10
-12
-7
41
0
0
0
0
0
-2
-5
-8
74
8
-29
0
0
0
0
4
3
-27
-23
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
-31
32
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-46
-22
-32
57
0
0
0
2
-64
56
-61
-12
21
-4
-3
14
-15
9
-35
29
-20
2
0
31
1
-1
-32
-26
51
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
66
-26
-13
0
0
0
3
23
-41
-30
-72
80
0
-6
0
0
7
-1
13
46
-1
0
1
0
0
0
-2
-18
0
0
0
0
0
0
0
-8
0
0
0
0
0
12
-12
-1
26
53
-21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
11
-3
-2
11
3
0
0
0
0
16
17
45
59
10
-50
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
38
-5
-41
-12
22
-10
0
0
0
0
-11
-7
13
18
29
5
-46
0
7
3
22
9
-24
-6
-15
-7
-39
64
-26
-36
57
29
-20
-23
26
-7
34
-26
-2
-11
1
9
7
0
-9
50
-4
-22
31
16
2
0
0
0
0
9
25
34
-2
-29
22
1
0
-20
2
8
26
-20
8
-5
-11
0
0
0
0
0
0
0
0
0
-5
6
-18
-52
-3
-8
-19
5
0
-13
36
-8
-55
1
-2
13
0
0
0
0
3
40
15
4
2
9
32
0
13
22
16
4
-3
68
-28
-56
-41
6
16
25
8
29
1
0
-14
-10
6
23
-1
-4
3
-8
-8
0
27
-23
-26
-30
39
-10
34
0
0
0
0
32
75
16
16
-8
2
-29
0
-15
11
-63
-35
28
-9
61
-46
30
27
-19
13
-12
6
22
-17
27
21
-5
15
-32
12
20
-5
6
0
-46
-4
8
39
-32
-9
4
0
0
0
0
6
48
56
-9
-26
0
14
0
55
28
23
20
39
8
24
-29
0
0
0
0
0
0
0
0
0
-1
6
16
9
-19
4
-8
-5
0
1
14
-16
30
-24
-10
60
0
0
0
0
56
17
24
8
3
19
24
0
59
47
12
31
14
23
7
2
43
24
-16
-13
18
-72
3
17
-26
89
37
18
20
-53
17
26
-26
0
5
26
15
-15
19
-5
25
0
0
0
0
12
25
-8
-46
-2
-28
90
0
21
16
33
5
-35
-17
9
34
8
31
-5
9
-3
-15
9
25
15
10
-3
12
-24
19
-12
0
-5
0
26
5
-17
42
-29
19
-1
0
0
0
0
1
-48
-98
9
89
-1
1
0
0
0
-42
-13
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-10
3
-13
12
-37
11
7
0
0
0
0
-53
-50
-46
-9
4
29
42
0
0
-5
-16
-3
-2
-10
2
15
0
0
0
-8
1
-4
-28
-2
0
-1
1
9
6
-40
6
-15
-5
0
12
-23
-5
28
14
9
13
0
0
0
0
-23
-33
-34
29
5
-41
35
0
-37
-25
-19
35
41
0
-1
-53
-27
-13
-25
-7
-43
10
39
-1
36
-88
-21
14
-30
-13
5
-13
31
0
35
-13
19
-1
15
13
15
0
0
0
0
-34
-29
35
-22
-21
19
-20
0
0
2
-53
-26
-1
0
-24
24
0
0
0
0
0
0
0
0
0
3
-5
4
-30
-25
-35
-6
-24
0
-38
-23
-40
-9
-26
-22
64
0
0
0
0
-42
-3
-5
-18
-23
30
24
0
4
-66
-88
-28
-17
-45
79
-69
-19
-13
-57
-4
68
10
-21
-8
-43
-15
-46
-49
-19
-26
10
37
-1
0
-30
23
24
-6
-30
-11
16
0
0
0
0
-32
-27
15
-16
-26
26
3
0
-50
1
-9
-16
-30
54
-21
44
-33
-26
9
8
-22
29
-14
13
22
39
-48
3
47
-43
3
17
-22
0
3
-7
5
-22
-14
-5
16
0
0
0
0
17
30
10
46
-4
-42
70
0
-58
-73
50
-32
-9
13
-5
-17
0
0
0
0
0
0
0
0
0
-14
-25
5
-4
-5
-2
11
31
0
-21
-27
-14
7
-16
-21
49
0
0
0
0
-20
-17
-60
-24
5
23
15
0
-36
-36
-27
-13
-46
-11
-9
3
-40
-29
-23
22
-19
-28
4
-7
14
-50
3
48
8
5
-11
-16
-8
0
14
-32
51
-42
-46
38
-16
0
0
0
0
14
-70
10
-33
-10
21
39
0
-2
-7
-8
26
22
-4
11
-5
41
8
-37
-4
-3
-29
25
12
-40
31
7
-52
-30
-6
-17
9
39
0
3
36
-6
-15
-3
-4
-19
0
0
0
0
16
-18
2
-84
25
18
21
0
-19
12
8
-14
-31
-11
52
52
0
0
0
0
0
0
0
0
0
-18
-11
-5
-9
14
5
-8
5
0
15
3
6
-28
-17
2
-12
0
0
0
0
45
15
37
21
-19
-68
-17
0
-7
-17
-8
-11
16
-30
4
32
-7
31
10
-48
-13
-16
4
33
1
-54
-15
-41
-30
16
22
-8
38
0
25
-1
-5
34
-1
-12
18
0
0
0
0
1
-41
-8
36
11
-37
27
0
-5
9
-22
8
-4
-29
32
11
-2
-40
16
-24
-25
-46
18
7
6
3
8
-7
-33
4
-2
8
28
0
10
-1
0
-23
3
-6
28
0
0
0
0
0
-4
-15
10
21
38
-1
0
-1
-7
-9
12
-50
-39
36
17
0
0
0
0
0
0
0
0
0
31
0
-6
-32
27
35
-14
16
0
0
0
0
0
-5
-8
-3
0
0
0
0
0
-9
-8
-34
22
5
-4
0
-6
10
-5
49
-3
-56
2
-8
15
21
11
-26
-11
-1
20
-54
51
28
-13
-5
3
-1
-25
5
13
0
-2
0
1
-4
20
-9
4
0
0
0
0
0
-9
12
-12
-2
-37
24
0
0
4
29
-17
7
-32
-5
27
0
1
1
3
6
-23
19
-16
-8
0
0
0
5
2
9
16
-24
0
0
0
0
-4
-1
-1
2
0
0
0
0
40
20
29
-41
19
-15
8
0
0
0
0
0
0
0
0
0
-56
-47
-34
-19
7
-3
-20
-12
27
0
0
0
0
0
0
0
0
0
40
2
9
-49
0
31
-3
0
0
0
0
33
-18
-49
-7
45
-37
19
0
0
0
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
8
25
22
17
3
-35
0
0
0
0
1
49
1
-2
12
-21
-43
0
40
-4
4
-41
4
-10
-18
22
43
-13
-5
3
16
-35
4
21
-15
3
-11
5
-6
5
-27
8
-22
0
12
-2
-36
1
12
22
-2
0
0
0
0
-24
24
44
8
-3
-15
-19
0
-6
-3
-8
69
15
-13
-31
16
18
40
30
19
-9
13
-4
11
-36
47
52
22
31
-5
-12
21
7
0
24
2
-17
-2
-3
14
-3
0
0
0
0
15
38
-8
-48
7
12
-34
0
-24
12
-50
38
-6
-15
0
26
6
34
-26
-30
-3
17
-12
-27
-9
23
28
-14
-2
65
-36
38
2
0
31
47
-42
-32
-6
16
-24
0
0
0
0
34
-26
47
-12
-26
-10
40
0
23
41
-13
36
-26
-1
-22
2
27
3
43
61
0
10
1
23
-56
5
-13
5
8
-4
-15
-16
48
0
6
3
-11
-17
-10
0
22
0
0
0
0
1
-20
14
-15
28
-14
5
0
37
30
-24
45
-11
31
6
3
42
36
25
37
6
8
11
27
-42
-30
42
-12
2
-15
24
46
1
0
0
0
0
-10
5
-18
18
0
0
0
0
0
10
73
-20
-30
18
22
0
24
12
67
-12
-61
-30
5
55
13
20
50
-11
-5
8
-7
-9
43
45
49
-8
20
-3
-26
-16
9
0
0
2
-13
42
0
-10
-36
0
0
0
0
1
2
-20
-9
25
11
-35
0
-1
0
-7
16
7
19
-26
-16
0
0
13
-10
-9
-25
0
18
-28
0
5
-1
-2
-26
11
-37
15
0
-1
0
-5
7
-2
-15
-42
0
0
0
0
0
0
6
1
-20
12
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
2
41
18
6
0
0
0
0
1
-1
-15
-4
-43
15
50
0
0
0
0
0
-13
3
8
-13
0
0
0
0
0
5
-10
-12
0
0
0
0
-1
2
2
-6
0
0
0
1
-6
-6
26
-8
28
0
0
0
0
0
7
-7
-18
-4
63
-9
0
0
0
1
9
-34
-8
34
38
0
0
0
-32
-12
7
-12
29
-7
0
1
-4
-21
-16
53
58
-11
0
0
-2
-5
-16
47
29
-9
0
0
0
0
0
-4
-37
-65
23
2
37
0
0
1
41
0
-13
-10
-11
-76
0
0
0
0
0
0
0
0
0
0
0
1
-5
8
-11
-6
-6
0
1
-6
4
6
-3
-21
10
0
0
0
0
0
6
-11
-8
35
15
-3
0
0
0
-9
-32
39
12
20
-38
0
-4
3
-2
14
17
7
-122
-8
0
-7
8
-1
-8
-8
12
15
0
-16
-25
8
0
-32
56
35
0
0
0
0
-8
-13
19
18
-1
0
39
0
6
2
-11
13
-7
14
-39
39
-1
-1
-3
-19
-9
5
-19
1
10
0
5
-32
3
-4
9
25
-24
0
-7
-7
-17
3
-9
13
5
0
0
0
0
-1
-6
55
25
26
-9
-6
0
4
-22
-55
-38
-3
-11
-4
45
0
0
0
0
0
0
0
0
0
-15
-56
28
-27
17
-18
-4
-6
0
13
7
8
36
12
-21
-77
0
0
0
0
-9
-20
35
-40
53
16
2
0
-3
5
21
-45
9
74
1
-41
1
-5
-26
2
-13
1
5
-10
-22
-10
4
17
18
22
-12
-38
-16
0
4
8
-42
18
72
-93
-8
0
0
0
0
-5
8
28
-34
-17
-3
43
0
-4
-7
62
3
-12
-12
7
25
1
0
5
-42
37
9
-6
15
5
6
12
-6
-3
8
-6
-7
20
0
-1
-30
27
-16
55
18
-9
0
0
0
0
0
2
-16
-3
-24
-6
26
0
0
27
-10
-84
-9
40
25
-39
0
0
0
0
0
0
0
0
0
8
-1
-9
36
2
25
-27
-11
0
0
0
0
7
-8
4
-5
0
0
0
0
0
-29
12
3
23
-1
-6
0
-5
7
-24
-49
8
-3
6
40
12
26
31
7
-42
-8
-13
22
25
17
6
24
-11
-52
-11
-8
4
0
0
0
1
-24
-20
-21
7
0
0
0
0
0
2
-15
8
36
23
-15
0
0
1
5
-6
-31
18
2
-39
0
0
-4
1
8
6
-21
-35
44
0
0
0
18
26
-25
-14
43
0
0
0
0
-43
-6
1
-8
0
0
0
0
0
0
1
-2
8
32
-24
0
0
0
20
24
-13
-14
-7
52
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
-83
6
14
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-1
0
18
-20
-8
0
0
10
-13
7
6
-10
-8
36
0
8
10
12
38
20
8
-65
-14
0
24
4
-33
-10
38
21
-14
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
-14
-20
0
0
0
0
0
-8
7
23
-13
0
0
0
0
0
-1
28
7
6
0
0
0
0
-1
21
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-47
-10
-62
43
-5
-13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
29
21
1
11
-68
0
0
0
0
48
-27
-17
-24
3
-18
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-34
-9
-22
-5
5
21
0
0
0
0
3
-11
6
8
3
-11
39
0
-2
-69
52
8
-7
43
4
-5
-19
-16
41
41
11
-29
-2
48
10
-14
6
24
-24
23
-12
40
-2
0
-46
-9
27
-9
-49
-20
33
0
0
0
0
16
-6
14
-25
-24
20
-4
0
8
-1
-8
-14
1
58
-21
0
0
0
0
0
0
0
0
0
0
-5
9
-21
-21
10
-10
12
2
0
-14
-6
22
-22
-6
5
40
0
0
0
0
-33
17
41
39
40
27
-69
0
-3
19
7
13
-13
24
3
-22
25
-6
-16
-14
-11
-22
17
21
-18
2
-30
-2
4
6
39
16
11
0
-4
-9
7
0
15
34
-13
0
0
0
0
-20
-9
5
-41
-19
49
-39
0
2
28
29
-1
18
-82
-11
45
-1
8
-6
-7
-9
16
8
16
-23
13
15
-13
-18
-20
-27
26
48
0
8
-4
-20
5
1
-43
10
0
0
0
0
0
10
-4
-19
-13
14
6
0
5
-3
-17
-2
13
24
33
0
0
0
0
0
0
0
0
0
0
2
-5
9
36
-30
16
33
-3
0
0
0
-2
0
-5
0
-3
0
0
0
0
8
-14
-2
-33
-10
-10
59
0
7
8
-51
57
38
-40
32
27
6
3
1
21
-36
-1
43
98
-27
-1
-3
-20
-6
21
-16
-5
14
0
0
-1
-1
6
0
4
6
0
0
0
0
4
20
26
-21
-8
30
-49
0
2
0
-33
-7
-30
29
74
95
1
0
5
8
4
-10
-25
35
19
1
0
1
-16
-15
17
19
-29
0
0
-1
0
2
5
7
2
0
0
0
0
0
7
-10
-4
-44
-70
-30
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-9
6
-3
2
0
0
0
0
-4
-7
-18
-32
-1
-16
7
0
0
0
-13
-2
8
0
-3
0
0
0
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-11
-12
-7
9
15
-9
27
0
0
0
0
-19
-8
-36
26
23
7
-13
0
-24
-45
-30
-24
8
43
-13
-51
0
-9
3
-15
-2
18
-22
8
-111
-7
-32
-20
8
34
2
24
-8
0
-8
-16
-41
3
-9
-3
39
0
0
0
0
-12
-99
3
10
-40
-2
-11
0
0
0
-16
28
-19
19
12
5
0
0
0
0
0
0
0
0
0
0
-1
-4
4
8
4
-1
-1
0
11
19
0
2
20
17
-59
0
0
0
0
-60
-37
-22
45
-1
8
-40
0
0
-2
-36
-32
24
2
4
-2
0
2
15
-26
44
-16
15
2
9
0
30
-5
-38
-18
22
5
5
0
4
15
4
-36
6
-30
9
0
0
0
0
-13
25
13
-10
-15
-54
-16
0
-1
-14
-25
-13
12
-24
-3
9
-19
-76
-23
13
-32
-29
16
-20
8
-33
21
-3
15
46
-29
-5
-37
0
1
2
18
-5
6
5
-28
0
0
0
0
-13
14
13
-27
41
-72
-42
0
0
-8
23
-5
-1
-6
-30
-17
0
0
0
0
0
0
0
0
0
-10
-17
14
-6
-13
5
23
-31
0
-4
-7
5
-13
-10
11
-2
0
0
0
0
-6
21
56
-5
-1
-48
-25
0
-44
4
54
-26
-27
23
-23
-32
-9
-28
10
9
-44
18
-25
-12
16
-24
-14
-23
4
17
-18
24
-26
0
-13
-12
9
8
-16
-12
-26
0
0
0
0
-9
-21
-7
0
31
-20
-13
0
11
26
39
-58
0
29
8
-60
9
50
-32
-21
9
-10
-27
-5
35
-7
7
18
9
33
-35
-53
17
0
-6
6
-8
17
30
-25
9
0
0
0
0
0
-1
-9
1
23
-1
4
0
0
0
1
16
-6
-14
-76
1
0
0
0
0
0
0
0
0
0
-2
-5
-13
47
11
23
4
14
0
0
1
0
0
2
-3
0
0
0
0
0
0
-20
-2
42
62
-31
-27
0
3
12
-2
39
10
0
-39
1
2
-5
-30
-2
42
-5
38
-53
-7
1
-4
-16
-9
14
9
1
-5
0
0
0
-1
-1
7
-6
6
0
0
0
0
1
-11
15
-41
15
19
-33
0
0
12
-17
-29
-8
56
-12
4
0
0
0
-14
-8
20
13
18
24
0
-4
3
-1
-5
-17
9
-7
0
0
0
0
1
-4
9
-8
0
0
0
0
0
-1
-1
0
-1
9
5
0
0
0
1
2
-3
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
-13
33
0
0
-1
-8
-43
3
-35
-3
13
0
0
0
-20
15
5
33
1
0
-1
1
0
1
-1
-19
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
0
-51
0
0
0
0
0
-4
0
-1
8
0
0
0
0
2
-1
20
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
27
0
-41
71
59
18
21
25
51
102
17
0
0
-11
20
-22
-16
17
17
48
88
0
4
0
-33
-22
-59
40
-28
-25
11
0
25
12
0
-59
-39
-46
-35
-26
-6
0
22
27
9
0
-32
-20
-19
-36
-8
0
4
24
-8
20
0
-6
-22
-58
-10
0
18
28
1
-2
-5
0
1
-67
-3
0
26
-4
-21
-11
-44
-41
0
7
0
0
23
14
5
-20
-43
-42
12
0
4
0
-7
23
6
1
-21
-14
33
32
-7
0
0
-5
16
-12
-8
3
34
-18
-6
0
-2
0
-34
6
-21
3
15
4
-7
0
51
46
0
1
-28
-15
-38
56
-17
0
26
46
23
0
12
-25
25
-18
-46
0
37
17
22
20
0
-5
-61
-14
-42
0
-31
-37
17
12
26
0
-9
50
-53
0
56
10
40
7
-31
-50
0
-35
-24
0
-11
-40
10
5
-39
-21
-7
0
41
0
-4
-2
-12
-8
3
17
30
65
10
0
0
-4
-5
-16
-4
1
20
16
19
0
80
0
-29
-42
-55
-33
-13
-28
-23
0
-20
50
0
-12
-21
-23
-43
-3
-26
0
-18
-22
23
0
12
-18
-52
-9
-31
0
-40
0
-23
-20
0
8
-22
4
-30
0
-43
-6
8
-11
-15
0
-14
-22
-20
0
-8
-14
-11
-35
-57
-26
0
4
-19
0
-3
-7
-8
-25
-56
-54
-56
0
1
0
-26
16
28
7
-5
6
8
34
-1
0
0
-64
0
4
-12
-13
13
-14
-2
0
9
0
-4
-6
-20
-16
2
26
-27
0
-54
19
0
-28
15
-1
1
12
-21
0
-29
23
22
0
-14
-23
-8
16
-39
0
38
47
36
5
0
-18
3
-13
-21
0
-5
33
10
12
-2
0
-12
-21
-41
0
-44
-15
4
52
5
-26
0
10
-23
0
24
9
18
-9
-22
-22
-47
0
25
0
4
-45
-17
-11
1
-8
53
72
13
0
0
-5
36
12
-13
-14
12
27
-6
0
34
0
17
-21
-26
7
45
54
-7
0
-10
-18
0
27
9
-26
-56
-19
-11
0
-69
21
-22
0
14
-24
-46
-8
-19
0
-24
-18
-44
-46
0
0
28
4
-26
0
37
-52
-23
-32
5
0
-13
-24
-12
0
-12
-16
-2
-33
-57
-6
0
-10
-14
0
-17
-5
-9
-16
-57
-37
-14
0
-4
0
-2
-31
-5
-2
-4
-9
-9
-1
2
0
0
-10
-30
-3
-21
-11
31
-14
0
0
-23
0
18
-24
-11
-5
1
-1
-2
0
-29
41
0
3
-20
1
11
-12
-12
0
6
0
-20
0
29
7
65
-15
-16
0
-17
59
3
3
0
-7
9
-21
-16
0
35
11
24
-75
-11
0
-29
34
-13
0
-31
-4
9
-18
1
0
0
-10
-7
0
-9
11
10
55
-28
-35
-45
0
-22
0
16
-19
-4
-23
0
3
36
-6
13
0
0
-27
36
-3
11
7
-57
21
5
0
-4
0
3
-27
-12
29
24
21
58
0
-4
5
0
-14
-10
-46
-30
-4
7
0
-2
-42
24
0
-7
1
-1
-8
16
0
-18
-30
-13
-20
0
26
10
0
-42
0
6
-19
-4
-26
23
0
38
-13
-33
0
39
-13
-21
31
21
5
0
11
1
0
-26
-8
22
32
18
-34
-12
0
-12
0
10
14
-68
2
16
-19
61
-22
-16
0
0
31
29
-28
-4
-11
46
-13
-20
0
15
0
50
-13
-22
-7
25
-2
-20
0
5
0
0
31
7
-23
18
-11
41
0
10
-8
49
0
-17
-32
-9
6
46
0
-1
-6
-21
9
0
-25
-30
16
15
0
4
2
2
9
-9
0
5
-5
-23
0
-6
4
-4
21
-9
15
0
2
-6
0
-6
0
-1
-9
30
-15
-5
0
0
0
53
79
53
24
15
-85
0
-16
-6
50
2
-13
-5
92
0
0
67
133
97
157
39
59
0
-5
-1
15
2
5
6
-7
0
5
30
61
79
87
40
-14
0
5
-15
6
11
2
49
23
0
0
42
32
33
62
35
45
-2
-2
1
-9
-9
-16
15
41
0
-1
1
77
23
49
127
-24
0
53
-41
-3
-11
41
114
31
0
0
-43
-2
3
35
46
-36
7
-15
-20
-14
-28
-41
25
87
0
-52
18
-33
39
46
56
-62
0
20
-130
9
-5
69
9
72
0
0
-26
-34
-108
-65
51
-79
-19
-34
-117
-102
-100
-74
-34
-15
0
4
36
13
54
-8
-5
116
0
31
-9
42
7
14
9
75
0
0
29
66
86
123
30
31
-1
5
8
-9
14
-5
22
9
0
-6
71
53
84
91
-37
174
0
64
-16
12
1
12
48
162
0
0
18
44
51
42
37
14
-11
4
0
-6
-5
-12
37
5
0
-6
18
40
62
57
-5
83
0
62
-36
-13
-23
36
22
120
0
0
-25
4
14
8
61
46
7
-20
-22
-17
-42
-27
17
-5
0
-48
-57
12
19
69
15
53
0
41
-48
2
32
55
-10
2
0
0
-47
-97
10
19
-14
-87
-6
-37
-85
-92
-54
-11
41
-5
4
17
4
-20
-18
-40
-65
-18
-97
-5
0
0
0
0
0
0
0
0
31
36
-14
13
34
32
11
24
47
32
-11
-4
0
0
45
43
21
-1
3
-5
19
33
-1
9
-3
-17
-27
-21
-67
-129
-49
53
2
0
0
0
0
0
0
0
20
69
51
41
15
-20
67
-3
45
12
22
0
0
0
47
42
-52
0
7
15
8
61
11
16
12
9
-19
5
8
45
-3
4
0
0
0
0
0
0
0
0
32
34
-6
-4
19
20
-46
-17
27
41
-2
0
0
0
46
-18
10
0
14
7
36
61
0
27
-16
65
18
11
50
49
41
-5
0
0
0
0
0
0
0
0
-17
25
-17
0
41
13
31
0
-19
41
16
0
0
0
-2
73
16
0
60
17
88
2
-9
24
44
73
21
13
54
22
0
0
0
0
0
0
0
0
0
0
-53
41
29
0
12
22
12
0
-3
31
1
0
0
0
16
32
2
0
47
23
25
-4
-2
28
1
56
74
65
83
4
1
0
0
0
0
0
0
0
0
0
7
-57
-1
0
-60
-21
4
0
-61
2
1
0
0
0
3
5
2
0
-12
4
42
0
-16
15
15
33
69
37
35
22
5
0
0
0
0
0
0
0
0
0
9
9
3
0
24
19
7
0
-38
-29
0
0
0
0
-31
58
5
0
23
-2
35
0
-14
69
121
42
27
51
13
-17
-3
0
0
0
0
0
0
0
0
0
-13
36
-44
0
-24
32
-5
0
-17
-54
2
0
0
0
-40
32
-19
0
43
0
14
0
-27
4
0
39
29
25
-24
-23
0
0
0
0
0
0
0
0
0
0
-68
-26
7
0
-53
48
0
0
-58
20
0
0
0
0
14
35
0
0
0
0
28
0
45
76
70
120
78
88
16
-1
2
0
0
0
0
0
0
0
0
0
26
35
3
0
41
-22
0
0
-54
-4
3
0
0
0
58
23
-4
0
-26
5
60
-2
56
63
57
89
100
129
83
25
38
0
0
0
0
0
0
0
0
0
9
-14
-12
0
18
35
4
0
-10
8
0
0
0
0
60
59
0
0
55
-5
16
0
28
78
78
59
77
39
43
77
-15
2
0
0
0
0
0
0
0
0
13
6
-8
0
4
32
4
0
21
20
2
0
0
0
18
35
2
0
48
15
-14
-1
14
39
74
45
26
80
78
20
13
0
0
0
0
0
0
0
0
0
-17
-7
-4
0
33
1
13
0
38
15
-1
0
0
0
55
29
0
0
29
31
23
9
26
30
18
22
29
22
26
42
21
3
0
0
0
0
0
0
0
0
-8
37
4
0
-11
0
7
0
17
19
-2
0
0
0
36
43
6
0
59
6
-23
-2
14
14
-2
0
-62
-40
14
-29
-14
1
0
0
0
0
0
0
0
0
-35
-35
5
-4
38
-20
14
0
13
-19
-22
0
0
0
4
54
43
0
17
8
-22
23
5
22
8
6
-6
-17
-61
-16
25
-32
-4
0
0
0
0
0
0
0
45
25
21
0
28
24
76
9
15
75
-7
0
0
0
44
-32
13
0
54
106
31
33
3
6
-3
-8
-23
-7
-30
-17
-27
-69
2
0
0
0
0
0
0
0
19
46
-16
-1
17
-4
-53
-16
20
15
55
-2
0
0
31
30
100
0
9
2
21
67
0
11
6
-12
-14
-4
-48
-89
-109
93
-1
0
0
0
0
0
0
0
36
15
4
52
21
3
-22
7
13
22
-33
0
0
0
28
12
-59
0
6
23
49
36
0
3
-6
-8
-18
-7
-60
-37
-101
-62
-32
0
0
0
0
0
0
0
14
-9
-19
37
12
15
-1
45
32
38
74
-48
0
0
22
-30
-82
-1
-2
-31
26
-40
1
0
-11
-12
-17
-22
-24
-20
-32
-75
-2
0
0
0
0
0
0
0
4
1
-23
-39
6
7
-18
-5
3
-14
-24
-37
0
0
20
-10
-70
-14
0
-6
10
9
3
12
-6
-12
-2
-3
28
-13
-81
-55
-7
0
0
0
0
0
0
0
16
-5
14
1
10
24
-73
-85
18
-10
26
-13
0
0
39
13
-49
1
35
-13
33
-7
-3
9
-12
-25
-13
2
-2
-30
-76
5
8
0
0
0
0
0
0
0
-3
0
21
6
33
-14
64
-5
27
17
11
-7
0
0
38
1
23
0
37
60
-18
32
-2
32
58
25
49
84
91
10
-4
13
0
0
0
0
0
0
0
0
-14
61
-33
-4
0
4
22
-3
11
-55
-62
16
0
0
42
63
43
0
37
127
15
64
-11
19
34
75
72
70
95
-29
-6
15
0
0
0
0
0
0
0
0
28
54
4
0
28
-14
58
-3
15
28
-23
-2
0
0
20
38
96
0
-20
86
3
48
-13
59
62
58
82
44
68
59
91
2
0
0
0
0
0
0
0
0
17
5
-5
0
5
-31
68
0
-5
6
-34
0
0
0
11
29
4
0
23
13
-23
49
-8
39
88
60
64
69
64
80
80
15
0
0
0
0
0
0
0
0
-20
76
29
0
7
34
-6
0
-21
-45
-34
0
0
0
-13
18
14
0
32
44
-9
45
-13
20
-19
9
49
99
55
21
3
0
0
0
0
0
0
0
0
0
-4
-14
31
0
-42
-32
7
0
-40
-2
-15
0
0
0
7
45
-35
0
16
0
-53
8
32
44
84
81
79
49
96
161
52
0
0
0
0
0
0
0
0
0
-36
75
0
0
-17
30
-1
0
19
26
43
0
0
0
72
59
-28
0
18
87
31
-60
42
64
65
60
107
40
23
48
85
45
0
0
0
0
0
0
0
0
72
27
55
0
8
69
31
0
22
26
160
6
0
0
94
66
16
0
149
-58
39
72
13
50
69
58
100
36
32
90
88
3
0
0
0
0
0
0
0
0
46
29
-2
0
25
48
-12
-4
19
44
33
0
0
0
50
101
-25
0
77
52
63
62
7
28
31
39
16
82
71
-15
75
31
0
0
0
0
0
0
0
0
4
7
-79
-1
7
30
94
-3
43
35
-9
-1
0
0
44
63
-11
0
51
64
37
88
11
11
9
13
4
0
9
60
-61
15
-2
0
0
0
0
0
0
0
6
5
64
-42
9
8
1
-9
1
7
-36
-21
0
0
35
50
115
0
49
61
56
36
5
10
-4
-5
-13
-7
14
-18
-15
3
-1
0
0
0
0
0
0
0
19
2
19
-29
11
-2
-9
-35
19
28
-58
28
0
0
17
-12
59
2
0
-21
-3
66
-1
-1
-6
-25
-20
-13
-24
-42
-11
-58
-35
0
0
0
0
0
0
0
16
-6
-26
-40
16
-25
15
-38
7
-6
-24
3
0
0
7
-28
-28
-22
7
29
2
-26
1
1
-8
-14
-14
-17
-16
-19
-66
-36
-21
0
0
0
0
0
0
0
4
1
-13
9
1
11
-2
1
4
-3
1
-54
0
0
10
-4
22
4
-2
-23
10
21
-2
1
-20
-23
-25
-23
-24
-23
-91
-21
-9
0
0
0
0
0
0
0
7
4
44
58
3
0
4
-2
5
-13
33
-11
0
0
10
21
-16
0
6
-31
43
51
-2
-3
-13
-17
-17
8
-32
-71
-35
-24
-46
0
0
0
0
0
0
0
6
-38
-74
41
-8
-4
27
65
20
3
12
-61
0
0
-11
-14
-16
-1
-13
-19
-4
-88
1
-5
-9
-15
-14
-28
-21
-26
-40
-75
-79
0
0
0
0
0
0
0
-2
-18
-43
-66
2
-5
-23
100
9
-3
-19
-17
0
0
-10
-55
-68
-3
-11
-44
-4
-18
3
6
-16
-9
-4
-3
59
-20
-102
-54
-7
0
0
0
0
0
0
0
5
6
-15
-6
18
3
4
-63
17
5
11
-31
0
0
36
-10
-84
1
3
-18
2
12
-7
-8
0
-21
7
-37
-47
-24
-66
17
8
0
0
0
0
0
0
0
-22
-23
17
-8
28
-10
39
-30
8
19
37
7
0
0
46
33
-30
0
-26
-18
-26
-26
-1
13
4
1
18
22
58
9
-56
-19
0
0
0
0
0
0
0
0
11
-4
18
-4
28
-14
-75
-3
30
-25
-36
14
0
0
62
32
22
0
-13
37
-34
78
-5
1
16
33
-47
27
30
-3
25
6
0
0
0
0
0
0
0
0
31
52
2
0
26
-8
62
-3
39
-16
10
5
0
0
18
35
9
0
-28
80
-11
59
-17
9
-1
41
63
56
52
33
29
-1
0
0
0
0
0
0
0
0
19
62
71
0
14
25
6
0
58
-61
-24
0
0
0
-3
8
21
0
48
21
-11
90
-9
34
45
26
52
48
50
94
95
40
0
0
0
0
0
0
0
0
-2
23
71
0
63
-28
2
0
29
-12
-23
0
0
0
-9
51
49
0
1
94
6
10
-1
-23
14
2
87
18
72
-10
47
-1
0
0
0
0
0
0
0
0
26
7
-12
0
41
-8
11
0
22
-20
-11
0
0
0
-12
53
-35
0
-72
1
-21
7
36
30
60
26
69
32
-36
28
-22
0
0
0
0
0
0
0
0
0
-17
21
7
0
-40
26
10
0
-15
48
84
0
0
0
41
49
-15
0
29
99
62
-65
5
33
12
6
71
32
26
80
61
27
0
0
0
0
0
0
0
0
64
55
66
0
39
-6
22
9
35
17
45
13
0
0
36
38
-5
0
66
8
60
22
2
31
40
30
66
-26
8
-11
48
-2
0
0
0
0
0
0
0
0
40
51
34
0
3
46
-19
-4
29
23
11
-7
0
0
59
97
-23
0
33
5
63
22
6
23
-2
-6
-3
8
27
88
10
33
0
0
0
0
0
0
0
0
23
39
-38
5
4
33
42
5
29
-8
8
-8
0
0
31
72
49
0
-4
-21
15
72
-2
2
11
-3
-18
1
38
-16
-31
4
-36
0
0
0
0
0
0
0
18
8
39
-26
27
-18
-19
-9
12
13
6
8
0
0
10
31
104
0
-4
8
19
-17
4
4
3
-6
-1
-9
7
-49
24
10
-17
0
0
0
0
0
0
0
5
-1
-32
3
10
-17
-9
-24
17
8
-26
33
0
0
18
-4
-1
2
-20
-59
-22
-41
-3
-5
-7
-12
-30
-11
-11
12
-28
-19
-41
0
0
0
0
0
0
0
-4
-23
-14
9
7
-18
29
-78
16
-7
-3
14
0
0
-8
-16
-16
-24
-1
-11
-10
27
-1
-4
-7
-17
-8
-19
-13
-11
-32
-33
-46
0
0
0
0
0
0
0
1
-24
-37
-84
3
-5
10
-31
6
1
15
-35
0
0
5
-9
-11
7
-10
5
-21
62
1
-7
-17
-29
-13
3
-31
-10
-60
-33
-8
0
0
0
0
0
0
0
-4
8
-65
-23
0
3
-35
35
15
-13
-9
-31
0
0
-4
-22
-60
-1
-14
-23
12
31
6
-8
16
-19
18
55
61
11
3
-8
0
0
0
0
0
0
0
0
6
-29
26
0
-37
18
3
-27
1
54
-48
22
0
0
-9
26
-7
0
-15
-51
-28
-9
-4
-5
4
-7
-5
7
-45
34
-13
7
1
0
0
0
0
0
0
0
10
-29
-107
2
-2
12
15
-19
15
-33
-39
-16
0
0
7
3
-67
1
-24
-13
-36
-83
1
8
-3
7
-4
-14
-8
-45
-13
-20
-1
0
0
0
0
0
0
0
-11
-30
28
-7
14
2
2
-28
7
25
0
-12
0
0
15
20
-7
0
26
7
2
-8
0
6
10
14
6
-8
-2
-6
10
-1
1
0
0
0
0
0
0
0
-9
-2
-30
1
-31
-38
11
0
-1
41
0
2
0
0
18
-13
15
0
-20
-17
-13
-25
6
-1
-17
14
3
-3
-24
-39
-45
-1
0
0
0
0
0
0
0
0
5
-7
-3
0
18
-9
-26
-1
1
-6
33
7
0
0
28
-32
7
0
-49
-4
-3
26
4
2
10
35
-35
18
36
11
5
-1
0
0
0
0
0
0
0
0
21
107
34
0
-4
-52
-17
-1
20
-38
7
0
0
0
-6
-2
-2
0
-25
-17
-52
31
-7
-5
-7
-3
-8
13
12
27
2
0
0
0
0
0
0
0
0
0
-27
-10
21
0
27
18
-23
0
-7
-35
30
0
0
0
-70
-9
0
0
-17
0
27
32
1
-7
-5
-2
-5
-61
-9
-9
1
0
0
0
0
0
0
0
0
0
-38
1
6
0
0
48
-1
0
4
2
-1
0
0
0
-39
12
2
0
22
6
31
0
-22
-19
-17
22
6
-9
5
-6
0
0
0
0
0
0
0
0
0
0
32
4
-4
0
34
41
0
0
-18
19
3
0
0
0
-83
5
0
0
2
0
35
0
19
24
-4
-4
-2
-25
-27
3
0
0
0
0
0
0
0
0
0
0
-60
-64
-3
0
4
-24
1
0
20
-18
-7
0
0
0
-19
-3
0
0
-12
-4
1
2
-2
-3
-29
-3
1
-38
-9
-1
0
0
0
0
0
0
0
0
0
0
-4
25
-1
0
16
-26
-7
0
8
36
-1
0
0
0
13
-19
0
0
18
-19
6
3
5
9
9
2
21
12
4
-21
6
0
0
0
0
0
0
0
0
0
32
31
40
0
2
-3
-22
-2
22
-8
-17
3
0
0
-36
-5
-3
0
21
-1
54
18
1
2
-11
-7
25
8
14
-49
-10
3
0
0
0
0
0
0
0
0
5
-1
-9
0
-8
-24
-30
-3
-7
-59
15
-1
0
0
-36
-44
-3
0
-58
-28
-15
25
-2
-4
-14
-2
-20
-29
-5
-9
-2
1
-1
0
0
0
0
0
0
0
-28
-30
-16
-3
9
-25
12
-19
3
17
16
-16
0
0
-29
22
12
0
-22
-45
7
-9
5
-4
6
4
-34
-5
-4
18
-16
-10
0
0
0
0
0
0
0
0
-28
-19
10
0
-5
-5
-31
-19
16
-32
2
-12
0
0
6
13
-48
0
15
-38
-26
-41
-4
-12
-6
-11
-13
-2
10
21
-13
-20
-4
0
0
0
0
0
0
0
-5
-5
-11
-6
8
14
29
-18
29
6
-53
7
0
0
31
-4
23
-1
11
10
-51
-4
2
7
13
1
18
18
-12
-4
-9
13
0
0
0
0
0
0
0
0
8
9
19
2
12
23
16
-36
-8
9
21
49
0
0
11
57
-4
3
-35
-23
-40
-26
-5
2
17
34
-4
-1
3
22
-10
4
0
0
0
0
0
0
0
0
6
-24
4
5
-32
-4
2
-6
8
20
-12
-2
0
0
18
-43
10
0
-1
2
26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
61
13
-39
14
-4
0
0
0
0
0
0
0
0
0
0
-8
-80
-14
-55
18
32
-8
0
0
2
0
0
0
0
0
0
0
-47
-68
-130
64
-54
-12
-2
0
1
0
0
0
0
0
0
0
0
26
3
-98
44
-54
4
2
0
0
0
0
0
0
0
0
0
0
13
21
-19
-2
45
-16
0
0
0
0
0
0
0
0
0
0
0
14
69
-14
-35
35
20
-1
0
0
0
0
0
0
0
0
0
0
20
-41
-30
-38
23
0
0
0
0
0
0
0
0
0
0
0
0
12
32
-40
-52
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-33
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-41
-46
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
41
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
-24
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
69
-122
-20
-9
-1
-1
4
0
0
0
0
0
0
0
0
0
-15
1
-54
4
13
4
0
0
0
0
0
0
0
0
0
0
0
0
8
40
-46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
10
3
5
0
0
0
0
0
0
0
0
0
0
0
5
3
11
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
6
-19
-40
-2
0
0
0
0
0
0
0
0
0
0
5
5
-17
19
-9
-25
-3
-2
0
0
0
0
0
0
0
0
0
-12
-4
6
41
4
3
0
0
0
0
0
0
0
0
0
0
0
1
-4
37
-51
-46
-1
0
0
0
0
0
0
0
0
0
0
0
5
7
22
-108
-53
3
0
0
0
0
0
0
0
0
0
0
0
0
6
13
3
81
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
25
1
43
-56
-19
-4
0
0
0
0
0
0
0
0
0
-8
-51
60
41
-39
12
24
-10
-9
0
0
0
0
0
0
0
0
3
-84
-39
-6
2
-38
52
61
-32
0
0
0
0
0
0
0
0
4
-38
26
73
41
-7
-41
-44
5
0
0
0
0
0
0
0
0
0
30
-18
-19
23
-8
0
24
2
0
0
0
0
0
0
0
0
-1
5
-16
155
90
41
-35
14
6
0
0
0
0
0
0
0
0
7
-14
52
7
4
-49
39
16
0
0
0
0
0
0
0
0
0
-1
22
-8
-22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
-4
4
1
-3
2
4
0
0
0
0
0
0
0
0
0
0
-8
0
-14
9
0
0
0
-2
-3
-7
0
0
0
0
0
0
0
0
-30
9
-18
20
-2
-1
-3
-3
0
0
0
0
0
0
0
0
-9
11
22
4
1
1
-5
-3
-3
-7
0
0
0
0
0
0
0
0
-29
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
85
-13
-39
-57
-13
0
-13
0
0
0
0
0
0
0
0
13
-3
-117
-57
-15
-49
-1
-12
-20
-13
0
0
0
0
0
0
-1
-19
-14
-58
42
29
-43
23
-32
-40
-57
0
0
0
0
0
0
0
23
-20
-27
-73
59
52
46
33
24
-41
1
0
0
0
0
0
0
12
3
-20
47
57
65
37
60
19
3
0
0
0
0
0
0
0
8
-42
-56
44
9
48
55
30
97
0
0
0
0
0
0
0
0
-7
-17
-23
37
60
13
11
29
31
0
0
0
0
0
0
0
0
0
0
1
-16
0
-7
25
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
81
13
-2
-1
-52
0
0
-30
-18
0
0
0
0
0
0
0
113
44
42
-25
-31
-13
22
60
47
-20
-4
0
1
0
0
0
0
220
41
21
-6
-38
-24
-2
16
38
5
-1
0
0
0
0
0
0
171
189
38
-7
-48
-16
-32
-41
8
-14
-8
0
0
0
0
0
0
64
116
84
-15
-59
-31
-17
-30
40
-33
-1
0
0
0
0
0
0
43
115
88
-23
-12
-22
-27
-13
87
-19
0
0
0
0
0
0
0
117
41
69
18
-46
-9
5
-60
47
8
0
0
0
0
0
0
0
37
52
9
-61
7
-33
-32
-35
-73
-8
0
0
0
0
0
0
0
0
10
-20
-130
-78
29
-22
7
0
0
0
0
0
0
0
0
0
0
2
13
9
14
-60
-72
0
-8
0
0
0
0
0
0
0
0
1
-30
-40
-52
-131
-37
122
51
-4
1
0
0
0
0
0
0
0
0
6
-60
-76
22
-28
34
-85
27
-1
1
0
0
0
0
0
0
0
-29
-39
57
-10
63
2
23
-5
1
0
0
0
0
0
0
0
1
8
-30
46
-55
21
67
57
48
5
0
0
0
0
0
0
0
0
-4
12
-6
7
-16
44
25
-21
0
0
0
0
0
0
0
0
0
0
43
-4
-2
-28
121
22
0
0
0
0
0
0
0
0
0
23
2
-3
21
17
41
44
141
22
0
0
0
0
0
0
0
0
0
0
0
18
-4
-42
26
6
0
0
0
0
0
0
0
0
0
0
-25
-95
22
-39
-26
60
0
-15
-1
-3
0
1
0
0
0
0
0
32
-36
-65
-34
37
34
19
1
-47
-20
6
0
0
0
0
0
0
29
-107
-3
-9
-18
30
-132
-81
-32
-1
0
0
0
0
0
0
0
-45
-68
78
-10
77
88
-53
-130
29
3
-2
0
0
0
0
0
0
-25
43
39
37
34
15
15
-67
-9
0
0
0
0
0
0
0
0
0
12
-9
51
67
57
75
27
-50
12
0
0
0
0
0
0
0
2
42
3
4
-18
111
159
70
45
29
0
0
0
0
0
0
0
3
48
41
45
7
35
124
65
-10
2
0
0
0
0
0
0
0
0
0
0
0
24
-4
0
0
0
0
0
0
0
0
0
-46
69
43
-221
-48
-3
1
14
0
3
10
0
0
0
0
0
0
90
176
17
-86
-51
-8
12
65
43
31
7
0
0
0
0
0
0
55
32
-75
33
0
-34
21
37
45
-14
25
0
0
0
0
0
0
-5
-30
-173
-18
-39
-10
-9
66
21
48
0
9
0
0
0
0
0
7
-13
-15
-14
71
23
32
8
11
54
-1
-1
0
0
0
0
0
1
-112
-4
38
65
45
40
48
60
-95
1
0
0
0
0
0
0
17
13
-40
-97
69
100
36
15
39
5
-2
0
0
0
0
0
0
-8
3
-1
-17
17
61
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
-76
82
-7
-95
31
-30
-25
0
19
0
0
0
0
0
0
0
139
90
-1
-61
27
-38
-14
13
41
-12
0
0
0
0
0
0
0
66
34
-22
5
9
-34
30
-8
33
-7
0
0
0
0
0
0
0
8
-52
29
89
-40
-51
-3
31
75
-7
0
0
0
0
0
0
0
18
3
4
-7
-9
-8
53
59
16
-29
-1
0
0
0
0
0
0
2
-29
-81
3
18
6
-34
86
20
23
-29
0
0
0
0
0
0
7
-47
50
-72
21
-24
36
67
-21
33
0
0
0
0
0
0
0
0
2
4
-66
10
123
103
14
-56
1
0
0
0
0
0
0
0
0
0
0
0
32
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
13
55
40
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
63
9
-3
1
0
0
0
0
0
0
0
0
0
-2
-40
45
93
31
-25
-23
0
0
0
0
0
0
0
0
-4
0
0
6
-35
6
128
18
-27
0
0
0
0
0
0
0
0
9
1
7
27
27
16
104
-118
-170
0
0
0
0
0
0
0
0
3
-3
0
81
13
26
91
3
-55
-4
0
0
0
0
0
0
0
14
-5
-1
-49
30
-4
81
24
-113
0
0
0
0
0
0
0
0
0
0
-21
-10
38
-1
-102
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
-54
0
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
-10
51
60
3
30
6
0
0
0
0
0
0
0
0
0
0
27
198
58
84
119
-32
2
0
0
0
0
0
0
0
0
0
5
90
-17
35
5
58
5
-6
0
0
0
0
0
0
0
0
0
0
-10
53
77
34
1
-3
1
0
0
0
0
0
0
0
0
0
0
55
32
26
43
79
-29
0
0
0
0
0
0
0
0
0
0
0
4
-14
49
15
49
13
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
28
2
0
0
0
0
0
0
0
0
0
0
0
1
11
-32
28
-65
13
0
0
0
0
0
0
0
0
0
0
0
-4
18
119
57
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
4
68
10
-54
-4
0
0
0
0
0
0
0
0
0
0
0
0
34
26
33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-23
99
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
13
41
-19
-5
-9
2
0
0
0
0
0
0
0
0
0
0
0
1
73
-3
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-3
112
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
35
-42
4
0
0
0
0
0
0
0
0
0
0
0
0
7
22
-53
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
19
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
86
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
84
-41
106
49
-4
1
0
0
0
0
0
0
0
0
0
0
0
74
19
87
9
28
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
19
14
6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-15
98
53
24
0
0
0
0
0
0
0
0
0
0
0
0
16
40
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
37
17
82
36
0
0
0
0
0
0
0
0
0
0
0
8
-25
-49
17
50
40
0
0
0
0
1
0
0
0
0
0
0
-5
-3
17
30
9
145
-56
36
5
0
1
0
0
0
0
0
0
-7
-54
9
24
141
158
72
60
18
7
-1
0
0
0
0
0
0
-10
-47
-16
-130
44
80
167
-39
83
6
0
0
0
0
0
0
0
1
28
42
65
70
6
62
62
44
-9
5
0
0
0
0
0
0
-1
6
-28
80
47
70
6
-11
-71
6
0
0
0
0
0
0
0
0
15
-22
13
68
35
54
-15
-50
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-10
-8
8
0
2
-3
0
0
0
0
0
0
0
0
3
-4
50
-9
36
5
33
7
2
1
0
0
0
0
0
0
0
1
-32
-30
12
-16
0
27
6
14
0
0
0
0
0
0
0
-2
7
-7
-1
-3
-19
-23
58
-65
-1
0
0
0
0
0
0
0
0
13
-33
-12
25
43
26
-4
-22
0
0
0
0
0
0
0
0
0
-1
0
-5
7
0
12
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
39
-58
-43
13
0
0
0
0
0
0
0
0
0
0
0
0
23
5
10
15
19
0
0
0
0
0
0
0
0
0
0
0
0
13
21
-45
-97
48
1
0
0
0
0
0
0
0
0
0
0
0
6
29
-6
-25
-19
-4
0
0
0
0
0
0
0
0
0
0
0
-46
9
-10
48
-23
24
-2
0
0
0
0
0
0
0
0
0
0
21
-23
-7
39
-12
8
-22
0
0
-1
0
0
0
0
0
0
0
-2
-14
-24
62
61
32
0
5
0
0
0
0
0
0
0
0
0
0
-14
-17
68
3
-3
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-16
6
42
64
127
-12
0
0
0
0
0
0
0
0
0
0
-13
-9
3
44
34
-9
54
0
0
0
5
-2
0
0
0
0
0
2
-16
-55
-8
37
78
29
96
6
4
1
0
0
0
0
0
0
-3
-8
-56
18
53
95
39
-20
-15
8
4
0
0
0
0
0
0
11
-32
-29
-37
35
59
10
22
47
10
-6
0
0
0
0
0
0
5
-45
-37
-46
22
-21
128
7
33
5
-8
0
0
0
0
0
0
-6
-58
-86
-37
2
7
-21
107
-18
8
0
0
0
0
0
0
0
0
-71
-23
27
13
-5
-5
2
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-86
-3
17
15
3
63
0
0
0
0
0
0
0
0
0
0
-103
-67
-9
-11
-8
14
8
12
-40
-7
-5
0
0
0
0
0
0
-71
-126
-27
-11
4
9
31
28
-23
-29
3
1
0
0
0
0
0
-58
-79
-23
5
-2
25
34
58
-16
-5
0
-5
0
0
0
0
0
40
-71
-19
2
11
17
52
46
-34
-22
0
0
0
0
0
0
0
-41
-20
13
10
1
25
51
41
120
34
-3
0
1
0
0
0
0
-49
9
-45
-5
31
15
46
96
18
8
-3
-2
0
0
0
0
0
29
-138
-19
-11
-9
20
74
-53
13
-2
0
0
0
0
0
0
0
0
0
-53
-54
19
-1
-18
0
0
0
0
0
0
0
0
0
0
-45
135
189
159
165
-25
-27
0
0
0
0
0
0
0
0
0
0
-9
43
93
55
22
51
4
-115
-3
0
0
0
0
0
0
0
0
-10
34
130
31
-12
33
-27
-24
-1
0
0
0
0
0
0
0
0
-20
22
89
62
7
24
48
-17
-5
0
0
0
0
0
0
0
0
18
-19
30
79
58
-69
-30
67
-7
0
0
0
0
0
0
0
0
-36
11
-32
-71
-9
95
47
-5
-1
0
0
0
0
0
0
0
0
44
-94
-15
-72
-34
15
84
-2
13
-5
0
0
0
0
0
0
0
-76
-29
-12
6
86
25
49
-4
0
0
0
0
0
0
0
0
0
-77
-42
-32
17
-32
37
-2
0
0
0
0
0
0
0
0
0
0
-48
15
52
27
121
10
-116
0
0
0
0
0
0
0
0
0
0
-13
4
-8
10
-1
-22
0
25
4
0
0
0
0
0
0
0
0
-7
3
18
44
6
-42
58
-21
-4
0
0
0
0
0
0
0
0
1
-13
29
30
50
29
76
87
8
0
0
0
0
0
0
0
0
3
4
18
2
-6
31
91
48
2
0
0
0
0
0
0
0
0
7
-5
33
-8
36
62
48
27
5
0
0
0
0
0
0
0
0
1
-10
-9
-11
16
38
-14
-34
-7
0
0
0
0
0
0
0
0
-7
-38
-55
-92
-4
2
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-45
-2
5
61
46
-9
0
0
3
2
0
0
0
0
0
0
-33
-27
-10
17
41
39
-82
0
65
0
1
0
0
0
0
0
0
-20
-58
0
16
35
19
63
150
75
-8
6
0
0
0
0
0
0
-2
-30
-19
8
40
67
109
-18
4
-9
0
-3
0
0
0
0
0
-33
-36
-40
-1
39
96
114
27
106
71
-9
0
0
0
0
0
0
3
-34
-37
8
-3
73
83
179
-5
-40
3
0
0
0
0
0
0
-79
-56
-14
-26
-39
81
61
126
19
-2
0
0
0
0
0
0
0
0
-23
-47
-14
68
98
2
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-30
-2
58
2
-45
12
70
0
0
0
0
0
0
0
0
0
-19
-7
40
-14
-30
-63
47
0
14
0
1
0
0
0
0
0
0
-27
16
21
50
43
57
-8
29
91
22
1
0
0
0
0
0
0
79
-2
28
8
39
18
155
-42
73
29
0
0
0
0
0
0
0
31
-52
21
23
37
73
116
75
41
87
0
0
0
0
0
0
0
47
-22
-7
1
32
75
7
58
54
19
0
0
0
0
0
0
0
-34
-106
-4
-13
-15
2
13
-23
188
31
0
0
0
0
0
0
0
27
-4
-14
24
11
-38
3
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-5
74
111
31
0
0
0
0
0
0
0
0
0
0
0
16
17
-50
65
15
29
0
0
0
1
0
0
0
0
0
0
0
-16
37
25
8
-45
-14
-1
-1
-1
2
0
0
0
0
0
0
0
-3
19
-15
-16
-56
-15
8
0
-24
-7
0
0
0
0
0
0
0
-1
58
49
-21
51
-24
36
-3
-7
9
-1
0
0
0
0
0
0
-3
-22
-11
-5
-27
-2
-7
0
-15
-30
0
0
0
0
0
0
0
-1
-8
-70
-48
-35
-25
-14
-1
-9
-8
3
0
0
0
0
0
0
1
7
-1
3
0
-4
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
70
-11
-90
-35
-2
-1
0
0
0
0
0
0
0
0
0
0
-26
-66
-4
-1
18
-56
0
0
0
0
0
0
0
0
0
0
0
-32
-6
4
27
8
20
2
0
0
0
0
0
0
0
0
0
0
57
52
-29
39
7
4
0
0
0
0
0
0
0
0
0
0
0
45
-13
-24
35
-48
0
0
0
0
0
0
0
0
0
0
0
0
31
-21
-13
-41
-59
7
0
0
0
0
0
0
0
0
0
0
0
-31
-15
74
-119
-64
0
0
0
0
0
0
0
0
0
0
0
0
-58
-40
21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-22
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
2
4
0
0
0
0
0
0
0
0
0
0
0
0
1
56
28
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
14
46
26
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-32
44
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
79
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
52
27
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
25
56
-24
0
-1
-1
0
0
0
0
0
0
0
0
0
-6
53
-8
37
9
1
0
0
0
0
0
0
0
0
0
0
0
-23
39
88
27
-1
-5
0
0
0
0
0
0
0
0
0
0
0
4
49
25
113
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-72
-78
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
13
36
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
51
-52
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
96
-2
14
-24
7
8
0
0
0
0
0
0
0
0
0
0
-4
-10
32
41
-25
-4
0
0
0
0
0
0
0
0
0
0
0
-2
25
34
52
23
-8
0
0
0
0
0
0
0
0
0
0
0
1
48
58
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-154
57
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
27
16
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-45
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
-33
52
54
-34
23
0
0
0
0
0
0
0
0
0
0
-21
-119
-110
-3
-35
-47
-75
-42
-5
0
0
0
0
0
0
0
0
6
55
-62
7
-10
7
-21
12
88
1
0
0
0
0
0
0
0
-11
-26
-52
77
3
43
-40
-8
4
4
0
0
0
0
0
0
0
23
66
27
-1
3
-18
-18
0
-1
0
0
0
0
0
0
0
0
-12
27
18
31
-30
-16
1
0
1
0
0
0
0
0
0
0
0
-31
6
-48
16
-8
-1
-7
0
2
1
0
0
0
0
0
0
0
-37
151
-20
12
-4
0
0
0
-6
0
0
0
0
0
0
0
0
-39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
29
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
43
-10
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
-39
3
-8
-19
0
-2
0
5
0
0
0
0
0
0
0
0
1
1
-13
-13
1
-4
4
0
0
0
0
0
0
0
0
0
0
-23
2
-8
23
4
-8
0
0
0
0
0
0
0
0
0
0
0
-13
-40
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-66
0
76
106
-14
-20
0
-46
36
8
1
0
0
0
0
18
73
34
23
22
12
69
-9
42
61
11
7
0
0
0
0
0
8
20
29
88
66
43
10
17
-2
-13
-9
-32
-1
0
0
0
0
1
32
50
67
4
101
21
8
26
39
51
27
0
0
0
0
0
1
58
77
2
114
54
170
75
67
21
12
0
0
0
0
0
0
3
-8
44
36
78
-46
59
1
139
-43
0
0
0
0
0
0
0
7
-24
-8
30
27
2
2
0
20
8
-5
0
0
0
0
0
0
0
-8
1
-12
0
-4
-1
0
-4
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
42
126
25
13
-5
-55
10
0
-41
-2
2
0
0
0
0
0
0
128
-3
58
56
8
-30
-35
-26
-90
-12
-7
0
0
0
0
0
0
57
30
68
20
24
23
90
-168
-43
-50
8
0
0
0
0
0
0
15
100
90
50
8
4
24
-23
-85
-95
9
-1
0
0
0
0
0
96
116
91
27
11
43
73
-76
-74
4
0
0
1
0
0
0
0
114
21
69
41
12
35
20
-14
-220
-25
5
0
0
0
0
0
0
-105
7
51
-4
19
-11
-29
28
-20
0
0
0
0
0
0
0
0
76
8
32
61
-3
-8
-71
-7
8
1
0
-1
0
0
0
0
0
-9
2
26
16
30
-30
-4
-9
5
2
0
0
0
0
0
0
0
-13
-36
29
36
2
-56
29
0
29
-17
2
0
0
0
0
0
0
24
24
24
-25
1
-5
-6
-14
-42
24
32
-2
0
0
0
0
0
10
-5
27
-51
116
-20
24
-31
16
-26
9
1
3
0
0
0
0
1
33
-4
139
34
23
-6
28
49
-18
-9
0
0
0
0
0
0
0
4
-13
96
90
72
8
13
27
-32
4
0
0
0
0
0
0
0
0
-42
60
24
-24
-19
-35
81
5
16
0
0
0
0
0
0
0
15
-59
70
8
-8
-23
-29
24
41
-3
2
-1
0
0
0
0
0
0
1
-16
54
-53
-9
-4
-9
-29
16
3
-1
0
0
0
0
0
0
8
-3
24
-4
33
-40
19
-11
-8
0
0
0
0
0
0
0
1
25
44
28
18
-3
0
39
-8
2
0
1
0
0
0
0
0
4
7
-14
22
8
-10
37
11
15
24
4
-1
2
0
0
0
0
6
71
65
-58
-17
-25
-39
-32
-18
-7
1
0
0
0
0
0
0
-1
-31
-54
41
67
-9
47
72
-2
12
0
0
0
0
0
0
0
6
54
72
37
11
-36
170
66
-5
-1
1
0
0
0
0
0
0
3
92
13
33
71
-17
29
83
-4
16
0
0
0
0
0
0
0
0
-32
114
75
81
3
68
55
1
8
0
0
0
0
0
0
0
0
2
33
46
9
-5
61
43
25
1
0
0
0
0
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
0
0
4
-50
-44
30
-150
-1
23
26
0
87
8
0
0
0
0
0
0
40
4
51
6
-11
23
34
45
40
-95
15
24
0
0
0
0
0
46
-48
129
25
36
-51
3
-60
41
106
17
-2
1
0
0
0
0
74
-29
35
81
-7
1
20
-40
-46
-74
-33
-1
0
0
0
0
0
25
-27
-92
24
51
72
71
100
-62
34
8
0
0
0
0
0
0
-25
44
21
19
131
28
36
9
-32
45
25
0
0
0
0
0
0
-1
-54
-81
129
58
45
41
-12
9
-23
0
0
0
0
0
0
0
0
30
-20
-83
19
-40
1
-3
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
92
-50
0
39
-18
-42
4
0
-30
-9
0
0
0
0
0
0
26
20
109
45
83
-11
89
-90
65
-7
15
5
0
0
0
0
0
13
-30
23
27
38
-28
39
-14
24
69
4
-1
0
0
0
0
0
8
-80
71
82
120
-2
-30
-27
56
-18
20
0
0
0
0
0
0
-15
-69
52
31
54
9
11
49
76
93
3
0
0
0
0
0
0
-37
89
-54
63
32
75
97
-10
-19
78
1
-1
0
0
0
0
0
-7
35
29
11
108
58
55
-18
-5
-1
0
0
0
0
0
0
0
0
9
8
-48
0
-37
-21
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
5
0
0
-2
-4
0
6
1
0
2
0
0
0
0
0
0
0
3
4
6
0
17
1
24
-1
-62
-9
0
0
0
0
0
0
0
0
1
3
13
27
-25
-36
1
-12
-5
-1
0
0
0
0
0
0
2
24
0
10
18
54
-70
0
0
0
0
0
0
0
0
0
0
1
14
0
19
-41
-17
12
0
-3
0
0
0
0
0
0
0
0
0
4
3
4
71
-8
-15
0
-5
0
0
0
0
0
0
0
0
0
1
-3
0
-6
8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
24
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
36
66
34
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
46
56
127
35
2
1
0
0
0
0
0
0
0
0
0
-1
8
137
180
88
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-27
34
64
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
-16
-54
50
-108
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
19
47
20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-48
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
38
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
108
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
54
24
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-55
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
20
56
75
-22
0
0
0
0
0
0
0
0
0
0
0
0
6
5
99
77
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
76
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
22
36
22
-1
0
0
0
0
0
0
0
0
0
0
0
-3
4
34
18
-7
5
-1
0
0
0
0
0
0
0
0
0
-2
8
7
0
59
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-1
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
11
-33
101
22
-14
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-1
-28
19
10
7
0
0
0
3
0
0
0
0
0
0
5
-50
-10
-31
22
41
23
1
25
15
-9
0
0
0
0
0
0
0
43
-4
-37
-63
-23
-56
19
27
39
-14
0
0
0
0
0
0
1
28
1
-49
-59
-81
53
8
33
-22
17
2
0
0
0
0
0
0
54
-7
42
92
-25
34
25
25
17
-12
0
0
0
0
0
0
0
14
-23
-22
-8
8
2
0
-10
-10
3
0
0
0
0
0
0
0
0
46
-2
14
-3
0
8
3
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-4
0
0
-1
-6
7
-4
2
0
0
0
0
0
0
-3
-13
-18
16
17
0
0
19
32
0
0
0
0
0
0
0
0
-2
13
0
-6
-4
0
5
-9
30
-4
0
0
0
0
0
0
0
-1
8
-1
-10
12
-8
1
-52
-38
8
0
0
0
0
0
0
0
7
13
7
-4
1
-1
31
31
6
53
1
0
0
0
0
0
0
-1
0
0
0
0
0
-7
26
8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-5
0
0
0
0
0
0
0
-12
4
-9
5
8
0
0
0
0
0
0
0
0
0
0
0
0
23
3
-8
17
29
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
-17
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
-12
15
5
2
0
0
0
0
0
0
0
0
0
0
0
-7
28
-10
-37
29
-4
-1
0
0
0
0
0
0
0
0
0
0
-21
2
-11
-7
6
27
-1
0
0
0
0
0
0
0
0
0
0
43
0
12
-55
3
2
7
0
0
0
0
0
0
0
0
0
0
50
-4
-31
-5
-45
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-6
10
6
-57
1
0
0
0
1
1
0
0
0
0
0
8
-2
-15
5
66
-41
-1
0
0
68
3
0
0
0
0
0
0
-36
-3
-14
-2
-8
-12
40
-5
79
14
17
1
0
0
0
0
0
-2
2
-2
-3
-13
-38
2
-14
43
52
0
-2
0
0
0
0
0
-26
4
3
27
-21
-6
41
-13
27
47
0
0
0
0
0
0
0
34
-6
4
-12
-78
-79
72
-2
-19
-3
0
0
0
0
0
0
0
-103
-1
3
2
-34
4
17
-2
-6
-40
-2
0
0
0
0
0
0
-5
22
-15
-49
-8
0
0
0
-1
41
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-27
13
4
7
-19
-77
0
0
0
-1
0
0
0
0
0
0
13
28
-24
15
-4
-31
73
-9
2
0
-1
0
0
0
0
0
0
-91
-13
-11
7
8
9
-28
15
47
8
-4
0
0
0
0
0
0
17
-27
5
10
14
-23
55
13
66
1
0
0
0
0
0
0
0
-35
15
-20
29
6
-4
12
-39
-9
9
2
0
0
0
0
0
0
70
-32
-25
6
8
-20
49
-60
-22
-5
-1
0
0
0
0
0
0
20
1
-9
6
11
11
115
-19
-54
-6
0
0
0
0
0
0
0
22
-24
10
1
22
24
-12
25
6
-1
0
0
0
0
0
0
0
0
73
-2
34
28
9
1
3
0
0
0
0
0
0
0
0
0
-11
0
-10
-16
-103
-22
-12
0
0
0
0
0
0
0
0
0
0
42
-4
18
22
-45
59
-8
0
0
0
0
0
0
0
0
0
0
-10
-9
-15
78
-23
69
-16
-3
5
0
0
0
0
0
0
0
0
-6
9
-27
-43
-6
27
22
0
0
0
0
0
0
0
0
0
0
10
-19
-50
9
-58
26
-6
0
0
0
0
0
0
0
0
0
0
-1
-5
-28
41
37
51
22
0
0
0
0
0
0
0
0
0
0
22
18
44
-27
-19
-43
-2
0
0
0
0
0
0
0
0
0
0
-5
7
-6
3
-43
-11
16
-2
0
0
0
0
0
0
0
0
0
10
0
12
18
34
-10
0
-1
0
0
0
0
0
0
0
0
0
31
-9
30
40
69
-4
8
3
0
0
0
0
0
0
0
0
0
-20
-18
27
50
15
79
0
-2
2
0
0
0
0
0
0
0
0
-6
-4
7
15
79
-10
-52
-6
0
0
0
0
0
0
0
0
0
-14
2
30
39
50
36
50
2
-2
0
0
0
0
0
0
0
0
53
-25
40
-13
-57
49
-13
0
0
0
0
0
0
0
0
0
0
-5
8
5
-4
-17
66
14
-8
0
0
0
0
0
0
0
0
0
-31
5
-47
-27
-36
58
-2
-10
-2
0
0
0
0
0
0
0
0
-1
31
-13
-9
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-6
-10
2
34
47
-88
0
0
79
1
-1
0
0
0
0
0
-46
7
-6
10
10
-27
46
0
-1
0
25
2
0
0
0
0
0
-54
1
-6
6
-3
35
75
38
50
30
29
-1
0
0
0
0
0
-19
-4
7
21
9
25
-9
-30
52
-62
8
-1
0
0
0
0
0
-37
4
10
3
4
-49
51
-10
99
-13
0
0
0
0
0
0
0
-29
-1
-7
3
-10
-56
58
13
30
-2
7
0
0
0
0
0
0
-108
-17
-52
7
-44
-7
9
-8
-14
-5
0
0
0
0
0
0
0
-2
-41
-49
72
-43
-12
-2
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
2
25
-15
-21
-30
-75
0
0
18
1
0
0
0
0
0
0
-53
26
3
-7
3
6
-8
0
0
0
-5
0
0
0
0
0
0
20
28
15
26
14
21
8
8
-8
31
-9
2
0
0
0
0
0
28
9
12
45
21
-1
2
0
42
33
0
0
0
0
0
0
0
1
20
-6
19
-31
-23
77
0
31
86
0
0
0
0
0
0
0
1
35
-1
-18
-8
-1
-39
0
16
-22
0
0
0
0
0
0
0
-9
-40
18
50
11
-21
12
-8
-4
-5
0
0
0
0
0
0
0
2
33
56
4
31
47
3
-2
-8
-4
0
0
0
0
0
0
0
0
10
3
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
-10
15
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-36
-42
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-67
-103
3
-11
-2
0
0
0
2
0
0
0
0
0
0
0
0
18
-28
19
73
-3
0
0
2
-5
0
0
0
0
0
0
0
-1
21
51
8
7
1
0
-1
4
2
0
0
0
0
0
0
0
-14
21
-7
-1
-30
1
-1
0
40
9
0
0
0
0
0
0
0
-1
-26
-46
0
-17
-2
0
-2
7
6
1
0
0
0
0
0
0
0
-4
-29
0
-3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
-2
0
1
-2
2
21
25
1
0
0
0
0
0
0
-5
15
8
-8
6
2
0
2
-1
5
0
0
0
0
0
0
0
-8
-2
-24
26
3
0
2
-1
0
0
0
0
0
0
0
0
0
23
21
-23
28
-17
2
0
0
0
0
0
0
0
0
0
0
0
9
37
1
35
-18
1
0
0
0
0
0
0
0
0
0
0
0
-13
-48
53
78
39
-2
0
0
0
0
0
0
0
0
0
0
0
-49
-16
45
4
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-58
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-17
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-49
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
3
7
38
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
-2
-2
-8
2
-1
3
-4
8
-3
0
0
0
0
0
0
0
0
1
1
-1
19
9
-50
-7
-24
-7
0
0
0
0
0
0
0
-3
25
17
-29
0
30
-77
-5
-8
1
0
0
0
0
0
0
0
10
14
-17
-22
-33
-24
9
7
6
1
0
0
0
0
0
0
0
18
24
-70
-57
-31
42
30
3
-4
-1
0
0
0
0
0
0
0
-7
-11
46
66
28
26
-22
-3
5
-1
0
0
0
0
0
0
0
0
7
-8
-9
-7
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
-3
4
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
-22
-5
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
24
2
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-52
0
87
-18
1
-1
2
0
0
0
0
0
0
0
4
7
-10
-52
23
31
0
8
0
1
-1
0
0
0
0
2
0
21
8
6
-50
-22
-53
0
14
0
-6
0
0
0
0
5
1
-17
9
13
40
-17
-62
-95
-8
8
0
0
0
0
0
0
-1
-31
6
-38
43
-25
35
22
-146
8
0
0
0
0
0
0
0
-1
3
3
25
66
4
73
77
106
6
0
0
0
0
0
0
0
0
5
0
29
-45
-29
67
10
-40
0
0
0
0
0
0
0
0
0
0
2
10
-7
-8
13
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-55
20
-66
47
0
9
-5
-14
-12
5
0
0
0
0
0
38
19
-62
-37
-20
-50
105
-45
-39
37
0
3
1
0
0
0
12
134
34
-9
11
-46
-61
23
-49
-5
-13
-8
-2
0
0
0
0
30
110
-70
-35
-14
-13
-41
-28
77
16
-9
-46
5
0
0
0
0
5
35
10
69
-28
10
22
-77
32
27
25
0
0
0
0
0
0
65
44
143
-20
-47
-49
13
-60
19
-7
-2
1
13
0
0
0
0
7
26
50
101
39
30
50
10
-58
-43
16
9
-1
0
0
0
0
-9
72
-25
76
40
27
49
11
39
-8
-21
2
0
0
0
0
0
0
-2
-10
43
27
53
43
6
35
-2
-5
0
-2
0
0
0
0
0
0
0
1
0
13
-1
0
13
-2
0
0
0
0
0
0
0
0
0
3
-6
20
0
20
24
-22
14
0
1
0
0
0
0
0
0
0
-3
0
-33
56
38
53
-17
-3
-1
0
0
0
0
0
0
0
-1
-8
2
-39
-12
-20
-24
5
4
-1
0
0
0
0
0
0
0
0
24
32
41
19
79
39
19
1
-4
0
0
0
0
0
0
0
0
-2
38
10
46
2
-10
29
0
0
0
0
0
0
0
0
0
0
0
55
3
47
5
115
-7
0
0
0
0
0
0
0
0
0
1
0
-13
-20
-8
35
-60
-2
0
0
0
0
0
0
0
0
1
0
0
12
5
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
-34
-43
0
-32
17
14
2
0
0
0
0
0
0
-3
0
46
-7
23
-34
-30
-74
-24
19
8
-7
4
0
0
0
0
0
-7
51
6
25
7
46
11
-12
0
0
0
0
0
0
0
0
0
9
-39
-25
64
30
64
83
14
5
0
0
0
0
0
0
0
-2
20
-151
74
157
48
61
17
-33
15
0
0
0
0
0
0
0
-1
-13
10
14
82
-34
-5
24
-10
-8
0
0
0
0
0
0
0
0
1
-24
98
29
87
40
71
-2
-2
0
0
0
0
0
0
0
0
0
-47
15
36
-9
5
16
9
-3
0
0
0
0
0
0
0
0
0
0
0
6
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-40
30
0
0
-29
19
-6
0
0
0
0
0
0
0
0
0
0
-14
70
36
-37
41
-37
2
-1
0
4
0
0
-2
-3
4
31
38
24
23
-9
19
21
49
4
-3
0
0
0
0
3
-2
10
20
-33
-12
17
19
22
-18
-15
2
4
0
0
0
0
-1
22
-25
21
-5
7
0
7
92
3
-1
0
0
0
0
0
0
0
-5
27
68
43
32
12
56
-60
54
0
-1
0
0
0
0
0
0
0
-8
27
-1
9
15
-39
17
-4
-3
0
0
0
0
0
0
0
1
8
3
44
13
90
5
45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-5
-13
5
0
19
-3
0
0
0
0
0
0
0
0
0
-1
19
-14
-5
49
0
-10
-9
0
0
0
2
0
0
-1
1
0
-4
23
4
-72
-67
-106
5
-3
0
0
0
0
0
0
0
-2
-13
-3
-47
59
36
94
143
3
-8
0
0
0
0
0
0
0
2
23
32
29
109
44
-12
-1
75
-1
0
0
0
0
0
0
0
-35
15
80
-14
173
-52
59
44
19
0
0
0
0
0
0
0
3
-2
-7
2
49
10
31
-34
-16
-21
0
0
0
0
0
0
0
0
-2
4
60
10
24
-23
133
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
33
-4
0
0
0
0
0
0
0
0
0
8
0
2
1
-5
5
-7
-42
0
0
0
0
0
0
0
0
-3
-9
-4
0
-4
-4
1
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
7
9
-32
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-5
4
-4
0
0
0
0
0
0
0
0
1
68
42
22
1
31
-10
24
-1
0
0
0
0
0
0
0
0
0
-5
73
22
69
-2
-9
0
-11
1
0
0
0
0
0
0
0
5
7
117
63
-83
-30
-6
-3
0
-1
0
0
0
0
0
0
0
-7
61
50
81
-7
-109
3
0
0
0
0
0
0
0
0
0
0
-3
-93
54
-56
66
-86
-4
-2
0
0
0
0
0
0
0
0
0
0
27
-114
-7
48
-41
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
26
5
16
-9
-3
0
0
0
0
0
0
0
0
0
0
0
13
27
-4
13
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
47
24
6
9
0
0
0
0
0
0
0
0
0
0
0
0
8
45
25
-37
-23
0
0
0
0
0
0
0
0
0
0
0
0
-4
48
-2
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
65
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
1
-2
-1
-4
0
0
0
0
0
0
0
0
8
-6
8
-7
3
0
0
-1
0
0
0
0
0
0
0
0
0
-12
31
122
-8
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-18
-7
47
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
50
121
-32
0
0
-1
0
0
0
0
0
0
0
0
0
0
49
-51
-42
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
-29
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
-24
-7
4
-1
0
0
0
0
0
0
0
0
0
0
1
-6
-52
-23
-31
22
0
2
-1
0
0
0
0
0
0
0
0
0
-11
124
105
17
-1
0
0
0
0
0
0
0
0
0
0
0
-23
62
57
-13
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-37
-31
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
3
0
0
0
0
0
0
0
-1
-8
-4
18
17
2
16
0
1
0
0
0
0
0
0
0
0
-12
-42
11
18
40
70
-5
1
-4
3
-2
1
0
0
0
0
-8
20
18
12
-5
-38
46
6
-4
-1
0
-2
2
0
0
0
0
-8
-8
64
-68
48
-8
51
0
-15
-2
0
1
0
0
0
0
0
6
0
-25
-12
45
77
26
33
5
0
3
2
0
0
0
0
0
0
1
3
14
67
-10
-47
-12
-3
1
-1
0
0
0
0
0
0
0
0
0
2
30
-23
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
24
0
0
0
0
0
0
0
0
0
-1
5
-2
-6
-7
-3
-20
-41
4
-12
0
0
0
0
0
0
0
0
1
2
16
22
43
-12
24
15
-5
0
0
0
0
0
0
0
0
-3
-4
-4
-3
-7
-8
77
44
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-3
17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
117
-42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-13
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
35
-2
-30
7
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-116
-6
28
14
10
-1
0
0
0
0
0
0
0
0
0
0
0
23
-44
9
-8
-17
12
2
0
0
0
0
0
0
0
0
0
0
-13
13
-20
-7
-1
3
-2
2
-6
-5
1
-1
0
0
0
0
0
-1
3
14
21
6
27
12
-1
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
-10
65
-20
6
-4
4
0
0
0
0
-1
-2
-1
0
0
0
0
27
-16
25
-50
8
17
0
0
0
22
18
9
4
1
0
0
0
-26
-36
64
39
-50
41
16
-8
-8
-6
-25
12
0
0
0
0
0
0
-24
-42
54
68
-51
30
3
-13
-6
5
1
0
0
0
0
0
-38
33
79
-107
15
87
47
57
23
2
0
0
0
0
0
0
0
-28
97
93
-26
-39
-23
-25
-41
2
25
-5
27
0
0
0
0
0
3
-1
18
-57
-34
-45
-53
-46
-6
-17
-5
-1
0
0
0
0
0
0
19
5
-12
-10
-3
-13
9
9
-6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
-10
-46
-107
80
93
0
0
-12
-2
0
0
0
0
0
0
-5
-8
-69
0
54
52
34
91
-7
-6
2
4
-2
0
0
0
0
-3
-3
-55
-75
-58
29
82
47
-21
19
5
16
0
0
0
0
0
9
1
-52
-28
45
42
33
72
-5
58
-30
-2
-1
0
-1
0
0
-13
49
57
-19
50
-45
53
-1
63
-54
36
0
0
0
-1
0
0
-56
63
1
4
-20
-89
69
-84
13
31
13
-4
3
0
0
0
0
89
15
13
26
6
5
-32
-55
-24
-17
-18
-1
-1
0
0
0
0
-54
12
21
-6
28
61
-45
-12
-9
31
-13
1
0
0
0
0
0
0
0
27
27
-34
-79
-32
4
-1
0
-1
2
0
0
0
0
0
-4
0
0
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
60
45
-13
93
55
2
4
0
0
0
0
0
0
0
0
0
0
15
8
-59
-32
-2
-8
31
-6
-9
0
0
0
0
0
0
0
0
-8
-6
-8
5
30
-8
9
10
1
0
0
0
0
0
0
0
0
-4
32
-10
19
-67
1
1
-2
0
0
0
0
0
0
0
0
0
22
-36
-32
9
6
0
-32
-15
0
0
0
0
0
0
0
0
0
24
-6
-44
-48
-15
-52
-5
-7
-25
0
0
0
0
-1
0
0
0
0
9
-18
-23
-12
-30
-1
2
-21
-1
0
0
0
0
0
0
0
15
-7
0
2
-1
14
0
3
0
0
0
0
0
0
0
0
0
13
3
23
8
2
-7
13
-1
0
0
0
0
0
0
0
0
0
10
-6
150
74
40
41
0
-29
0
0
1
0
0
0
0
0
0
34
-1
-21
80
54
73
54
8
17
0
0
0
0
0
0
0
0
46
-7
-45
0
-22
1
30
12
-1
0
0
0
0
0
0
0
0
8
-9
-6
66
73
7
17
58
3
0
0
0
0
0
0
0
0
5
58
-34
-15
-3
54
161
-43
-1
0
0
0
0
0
0
0
0
5
7
11
55
-56
67
30
-41
0
0
0
0
0
0
0
0
0
-23
46
-46
-31
-10
-40
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-39
65
71
7
0
0
0
-1
-2
-3
1
1
0
0
0
-1
-38
-13
-2
-45
9
3
0
-4
0
0
13
-1
0
0
0
0
33
22
2
-21
59
-86
48
17
29
-17
12
2
0
0
0
0
0
12
-37
10
24
39
0
83
-71
-17
45
8
3
0
0
0
0
0
13
-42
-17
57
65
-7
-58
41
10
6
-3
-1
0
0
0
0
0
0
91
12
24
-4
-63
-8
4
6
-16
18
-1
0
0
0
0
0
0
-34
-30
-18
-19
-9
67
4
29
-16
-2
0
2
0
0
0
0
0
3
-3
-8
21
14
14
-14
-6
-8
7
2
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
-14
16
17
2
0
-2
0
0
0
1
0
0
0
0
0
33
26
-4
39
12
7
33
33
-12
16
0
0
0
0
0
0
10
-1
22
20
3
-47
80
19
41
-23
0
0
0
0
0
0
0
38
83
45
-15
51
58
8
8
37
66
5
0
0
0
0
0
0
1
-5
40
21
-15
-88
9
11
21
45
2
0
0
0
0
0
0
0
-5
6
95
114
91
55
-41
0
-91
0
0
0
0
0
0
0
0
-18
-5
-14
-54
28
-26
-7
-2
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
-3
-1
1
-4
0
0
2
0
0
0
0
0
0
0
0
0
6
75
7
16
-2
2
0
24
19
4
0
0
0
0
0
0
0
-3
30
-20
34
-22
13
-6
0
49
-2
-1
0
0
0
0
0
0
56
-75
-9
29
8
-21
0
-49
-5
4
0
0
0
0
0
0
0
0
-45
0
7
16
2
-10
4
29
0
0
0
0
0
0
0
-1
3
-2
2
0
-1
17
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
-4
-7
1
0
0
0
0
0
0
0
0
0
0
0
5
-7
1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
38
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
48
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-57
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
8
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
-1
1
-7
6
17
-8
2
0
23
1
-1
0
0
0
0
0
0
10
-2
-5
40
-13
17
19
4
-18
4
-3
0
0
0
0
0
0
1
1
16
-8
-11
-12
-29
49
13
0
-1
0
0
0
0
0
0
25
0
22
19
38
58
-29
-10
1
0
0
0
0
0
0
0
3
0
14
13
41
13
-8
20
7
-8
0
0
0
0
0
0
0
0
13
-30
-8
-14
-13
-16
3
2
0
0
0
0
0
0
0
0
0
13
-10
-6
7
-7
-2
-29
-5
0
0
0
0
0
0
0
0
5
22
8
-4
0
0
6
-3
-6
0
0
0
0
0
0
0
0
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-12
21
-48
0
124
-24
7
-4
1
0
0
0
0
0
3
0
15
28
64
9
-1
48
-7
-25
-8
-1
6
0
0
0
2
16
10
21
5
61
34
0
52
8
-10
-1
5
3
0
0
3
0
12
-5
-33
-23
104
11
-16
22
19
27
8
0
2
0
0
0
-15
19
-1
20
5
29
70
118
61
20
-3
3
2
0
0
0
0
0
2
16
0
9
32
100
130
-48
2
0
0
4
0
0
0
0
0
-1
0
8
1
0
-42
-52
-2
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
69
88
21
124
0
-19
-29
16
-29
-9
0
0
0
0
0
-6
7
28
-34
15
22
-7
-93
-33
8
29
-4
8
0
0
0
1
-6
-1
3
28
19
14
-3
-32
-31
31
-1
8
1
1
0
0
0
-31
-23
39
28
-18
27
-144
-59
-149
-24
-15
-13
1
0
0
0
20
-26
31
170
-14
-22
-32
-89
-80
-51
-3
-5
36
-2
-1
0
0
8
15
20
-32
19
-79
19
-170
-83
-24
16
18
-2
-3
0
0
0
-10
5
97
-3
77
67
70
-93
-56
20
22
13
-1
1
0
0
0
1
-2
2
77
-63
0
-23
-11
-22
-9
-19
23
-1
0
0
0
0
0
0
0
-21
20
9
20
53
-7
7
-1
-2
1
0
0
0
0
0
0
0
-1
15
-91
25
0
39
-15
1
0
8
-7
-6
0
0
0
-3
-3
16
15
-46
24
-6
-52
11
22
-22
4
12
0
2
0
0
0
2
-9
15
42
-112
-47
-19
-50
-6
6
-15
2
0
0
0
0
4
-7
27
44
11
104
55
-38
26
3
1
4
0
0
0
0
0
0
0
-10
-8
-43
27
1
18
56
9
-1
2
1
-3
0
0
0
0
0
24
1
30
-6
48
55
7
-3
4
0
0
0
0
0
0
0
0
-8
8
48
-32
0
43
-24
36
6
1
1
1
0
0
0
0
0
-13
7
18
-1
-4
-13
-5
-15
-4
-1
-4
-1
5
0
0
0
0
0
0
-59
-83
-7
74
22
-13
2
-2
0
1
0
0
0
0
-4
20
-16
25
6
0
-48
21
7
-13
-7
0
1
0
0
0
-1
-14
-16
119
16
43
-18
16
5
33
12
9
-4
-1
0
0
0
0
27
-34
3
30
19
-62
39
-54
-2
4
1
1
0
0
0
0
0
13
40
29
38
59
25
41
-8
5
1
0
0
0
0
0
0
6
1
-62
10
-2
68
-24
73
-31
-10
1
-1
0
0
0
0
0
0
-5
14
32
42
83
109
73
-11
24
-7
0
-1
0
0
0
0
0
0
-1
36
69
-6
-25
56
108
47
7
-2
4
0
0
0
0
0
0
36
7
2
92
99
86
45
4
1
-2
0
2
0
0
0
0
0
0
1
49
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
19
-25
79
26
0
29
-32
-2
0
0
0
0
0
4
6
3
1
-10
57
73
-24
34
37
2
-8
9
-1
0
0
0
0
14
1
24
27
-2
-2
-4
53
23
4
38
16
0
0
0
0
0
17
-3
25
81
-4
-3
65
40
-22
-55
20
-1
0
2
0
0
0
8
-1
31
18
19
1
41
-42
-32
0
-1
-4
0
0
0
0
0
2
0
5
-16
44
-1
11
-24
76
9
0
0
0
0
0
0
0
0
4
-12
41
33
11
114
-28
-42
3
0
0
0
0
0
0
0
1
-5
0
-5
-1
4
-43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
32
-66
-24
0
76
21
-7
0
0
0
0
0
0
-2
0
6
-24
44
9
44
-38
-13
-10
18
-5
0
0
0
0
0
6
-3
2
-24
42
45
-55
35
16
30
6
0
1
0
0
0
3
-3
5
10
-20
101
5
-12
-6
17
71
1
0
0
0
0
0
0
0
-3
0
40
20
17
2
51
28
43
3
0
0
0
0
0
0
0
-2
0
-7
156
-12
49
36
-22
-1
2
0
0
0
0
0
0
22
5
0
67
-19
-38
81
109
31
0
0
0
0
0
0
0
0
-1
0
13
3
18
14
-74
46
6
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
101
47
1
0
0
0
0
0
0
0
0
0
0
0
9
-7
25
-5
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-6
47
0
0
0
0
0
0
0
0
0
0
0
0
0
10
33
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
7
1
-1
0
0
0
0
0
0
0
0
7
0
0
36
5
-13
5
-10
-1
0
0
0
0
0
0
0
0
8
-20
78
-19
52
-5
15
-1
-5
0
0
0
0
0
0
0
1
5
53
98
213
51
1
-7
24
5
0
0
0
0
0
0
0
0
24
62
98
155
-42
-7
4
17
-4
0
0
0
0
0
0
0
0
53
101
144
107
-26
-7
0
3
0
-2
0
0
0
0
0
0
0
81
-48
30
-55
32
-18
-2
3
0
0
0
0
0
0
0
0
0
-8
-58
12
-13
-27
0
0
-1
1
0
0
0
0
0
0
0
0
6
-1
-1
-40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
9
-8
7
0
-2
0
0
0
0
0
0
0
0
0
4
16
44
97
-20
-7
0
0
-6
0
0
0
0
0
0
0
0
9
3
101
78
50
2
0
-1
0
0
0
0
0
0
0
0
0
14
48
93
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
2
34
-38
-17
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-53
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
47
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
0
1
0
0
0
0
0
0
0
0
0
0
4
-5
-5
31
8
8
0
1
0
0
0
0
0
0
0
0
0
-14
47
54
58
0
27
1
-1
0
0
0
0
0
0
0
0
0
-1
0
86
95
17
2
-1
-4
-1
0
0
0
0
0
0
0
0
-7
-29
-26
-3
-8
-3
0
0
1
0
0
0
0
0
0
0
0
-2
14
8
-43
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
40
-32
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
31
-10
4
4
0
0
0
0
0
0
0
0
0
0
4
13
97
48
29
-6
1
0
0
0
0
0
0
0
0
0
1
5
-98
107
40
-1
3
-1
0
-1
0
0
0
0
0
0
0
0
-15
-2
37
18
-8
-7
0
0
-1
0
0
0
0
0
0
0
0
0
-10
-22
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
-14
-25
-40
-7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
4
19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
1
0
3
-1
25
0
0
0
0
2
12
2
0
0
0
0
0
0
-5
14
0
-12
-22
3
48
41
-8
6
0
0
-3
0
0
0
0
-3
-6
9
-22
-25
35
108
33
24
-9
3
-1
0
0
0
0
3
3
2
10
-8
47
28
87
9
4
12
-4
0
0
0
0
0
0
0
-2
0
7
-43
71
135
8
-9
0
3
0
0
-1
0
0
0
0
0
6
12
-4
16
-2
78
2
-2
-1
0
0
-2
0
0
0
0
0
0
15
-8
-20
14
67
8
-22
-3
0
2
0
0
0
0
0
0
0
0
-8
-42
44
-42
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
7
41
85
-8
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
-6
-35
25
8
0
0
0
0
0
0
0
0
0
0
0
-13
-29
-17
148
-5
5
0
0
0
0
0
0
0
0
0
0
0
-1
8
-26
19
-8
0
0
-1
0
0
0
0
0
0
0
0
0
1
10
79
121
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
4
10
0
0
0
0
0
0
-2
-50
61
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
5
29
-44
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-23
-17
-54
2
22
0
0
0
0
0
0
0
0
0
0
0
0
36
-3
-7
2
14
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-8
29
3
2
0
0
0
0
0
0
0
0
0
0
0
1
89
-31
16
-1
-8
0
0
0
1
-1
0
2
0
0
0
0
0
5
12
5
-4
6
0
1
2
2
0
-2
0
-1
0
0
0
0
0
7
1
-1
-2
-1
0
0
3
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-17
-5
37
-20
9
0
0
0
-8
13
-2
6
-1
0
0
-43
1
9
-23
-20
-27
6
0
0
88
10
7
3
5
2
0
0
33
32
-9
0
116
12
24
40
22
-18
-18
-7
6
0
1
0
0
-20
-17
-4
38
31
41
-55
116
80
83
-41
4
-2
0
0
0
0
20
55
-38
22
-57
5
14
4
65
-18
8
0
7
3
0
0
0
5
-11
17
89
43
-22
-38
24
74
-9
12
-2
-2
3
0
1
0
0
13
14
68
15
2
48
5
-27
7
-1
-3
0
0
0
0
0
0
0
0
-2
-2
0
3
1
28
16
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
96
4
4
-9
0
0
0
2
-3
0
0
0
0
0
0
-24
-50
23
14
-30
58
-8
8
3
-2
41
0
0
0
0
0
0
33
-10
-41
-10
40
30
10
50
2
3
-4
0
0
0
0
0
-3
-8
-93
-48
-21
62
62
22
-18
29
0
0
1
0
0
0
0
9
39
122
-47
-2
-45
42
109
151
-5
-17
-7
0
0
0
0
0
-8
55
34
-12
10
-55
-3
-14
-27
-25
2
5
0
0
0
0
0
-1
7
-44
-19
-21
5
-126
-35
-8
20
1
8
-1
0
0
0
0
0
0
10
-7
32
-45
4
-43
-13
-2
0
0
0
0
0
0
0
0
0
76
29
33
7
16
0
-2
0
0
0
0
0
0
0
0
59
59
-5
21
-7
23
-17
0
0
0
0
0
0
0
0
0
0
-34
22
16
1
2
-21
-6
3
0
0
0
0
0
0
0
0
0
49
88
-84
-35
-5
-1
40
-20
-48
0
0
0
0
0
0
0
0
43
48
3
12
-3
7
-41
8
0
0
0
0
0
0
0
0
0
-47
-30
-77
21
50
8
8
-1
0
0
0
0
0
0
0
0
0
10
37
39
5
0
-4
-20
0
5
0
0
0
0
0
0
0
0
68
-3
17
8
-46
-9
-14
0
5
0
0
0
0
0
0
0
0
-8
30
117
2
-12
-1
-13
0
0
0
0
0
0
0
0
0
0
-28
-28
19
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
14
15
-17
3
-51
-2
2
0
0
-1
0
0
0
0
0
0
22
-51
0
45
-10
45
0
-9
0
0
0
-2
0
0
0
0
0
-10
9
-5
-86
0
36
-19
-22
19
0
0
0
0
0
0
0
0
-7
-4
117
-4
36
-17
-34
-53
8
0
2
0
0
0
0
0
0
-3
90
-45
74
-38
-72
10
32
0
0
0
0
0
0
0
0
0
-18
-12
48
-47
26
-17
-8
-13
0
0
0
0
0
0
0
0
0
-11
-33
77
-21
1
-26
19
-14
-14
0
0
0
0
0
0
0
0
59
20
8
4
-13
-1
-1
4
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
4
6
29
0
0
4
1
7
0
0
0
0
0
15
-47
-44
5
13
-63
25
0
10
0
-26
15
1
-6
1
3
0
14
-43
-51
-46
44
-11
34
-5
2
151
2
40
22
-3
0
0
0
-1
-85
72
69
-9
13
0
74
-3
79
-5
-2
0
1
0
0
0
1
-11
31
-46
21
12
55
-33
-6
2
46
-7
10
1
0
0
0
0
-12
-8
-12
43
-45
-17
-5
35
1
-29
4
14
-2
0
0
0
6
-8
-3
-54
-10
-48
14
3
6
-40
0
7
4
0
0
0
0
0
0
6
0
-2
-1
3
-1
-6
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
34
-9
-58
-13
0
0
0
16
5
0
0
0
0
0
0
0
40
-12
-35
10
-2
0
0
1
0
-7
-14
0
0
0
0
0
-2
0
-34
9
-40
37
-7
7
1
147
5
-16
1
0
0
0
0
0
60
0
18
6
-104
8
6
50
53
38
-3
0
1
0
1
0
0
-1
21
-16
-110
-56
56
35
72
-30
-7
0
0
0
0
0
0
-2
27
-3
54
-25
23
44
-13
35
47
0
0
-1
1
-1
0
0
-1
0
54
-42
-16
-1
-68
-6
-48
22
-1
1
0
-1
0
0
0
0
1
0
-23
3
39
25
-9
-21
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-13
4
-6
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-2
8
-5
-5
-12
0
0
0
-1
8
1
0
0
0
0
0
0
-1
14
-1
8
10
0
0
3
24
6
0
0
0
0
0
0
0
7
1
7
-6
3
-6
0
29
3
1
0
-1
0
0
0
0
0
0
3
0
-9
3
-1
8
13
30
34
-1
0
0
0
0
0
0
0
-1
3
-1
38
0
2
30
11
60
1
0
0
0
0
0
0
0
0
0
0
-6
-8
-13
-6
-17
7
0
0
0
0
0
0
0
0
12
1
0
0
0
8
22
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
33
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-16
-5
-27
20
0
0
0
0
0
0
0
0
0
0
0
0
-3
63
53
35
-93
0
0
0
0
0
0
0
0
0
0
0
-1
-8
18
7
37
-24
30
0
0
0
0
0
0
0
0
0
0
0
-8
45
-27
0
-39
23
0
0
0
0
0
0
0
0
0
0
0
-27
-53
-167
55
19
12
0
0
0
0
0
0
0
0
0
0
0
1
-61
-133
-3
52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
-6
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
41
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
40
3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
29
59
7
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-99
4
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
31
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
-38
13
14
-82
6
0
0
0
0
0
0
0
0
0
0
0
1
-29
-32
-57
-19
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
1
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
1
24
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-18
-100
-66
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
16
-10
-28
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
31
-25
-9
-32
0
0
0
0
0
0
0
0
0
0
0
-1
17
-25
-12
71
-14
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
41
-8
-14
65
24
-6
0
0
0
0
0
0
0
2
-4
-23
44
-35
-4
9
-7
-50
0
0
0
0
0
0
0
0
-1
19
50
-15
4
-11
79
-119
21
-8
0
0
0
0
0
0
0
0
-78
61
-64
17
-143
63
69
0
0
0
0
0
0
0
0
0
2
-15
-35
32
50
108
-96
30
-10
0
0
0
0
0
0
0
0
0
-7
51
28
45
-81
38
-23
1
0
0
0
0
0
0
0
0
5
38
3
49
25
-25
-4
19
9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-10
-1
-1
4
0
3
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
-24
-13
3
-3
-1
1
0
0
-3
0
0
0
0
0
0
0
-2
45
5
-4
12
0
-7
-3
0
4
0
0
0
0
0
0
0
0
6
-23
6
4
13
-3
-2
-3
0
0
0
0
0
0
0
0
0
-42
-10
48
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-45
14
41
3
30
0
0
0
0
0
0
0
-1
0
0
38
-66
-7
58
39
32
14
0
0
0
0
0
0
1
32
-7
-38
48
-82
-81
23
17
28
-32
0
0
0
0
0
0
1
-20
-11
48
-66
-11
26
45
4
20
26
0
0
0
0
0
0
0
0
-42
-69
-90
-39
-25
-13
50
50
25
0
0
0
0
0
0
0
1
-3
-115
-118
-67
-42
-31
43
-59
-2
0
0
0
0
0
1
0
-8
-5
-7
23
0
-54
-89
-66
-38
3
0
0
0
0
0
0
0
0
-4
1
3
21
-48
-44
65
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
13
-12
-32
-23
-28
1
0
0
0
0
0
0
-6
0
173
45
57
-2
-37
-47
-37
-11
6
0
0
0
0
0
1
2
59
72
65
-4
-17
-36
-23
-74
-92
5
0
0
0
0
0
0
-10
40
125
162
16
-20
-52
-52
-17
-50
18
0
0
0
0
0
0
1
9
109
1
12
-55
-35
-10
-2
17
66
0
0
0
0
0
0
5
45
100
19
-21
-14
-8
-12
22
38
28
0
0
0
0
0
2
-4
44
62
-7
6
-21
-29
-3
-3
28
2
0
0
0
0
0
0
0
0
19
103
-93
-47
-38
-57
-97
-10
7
0
0
0
0
0
0
0
0
1
-4
27
8
-121
-4
-85
-18
0
0
0
0
0
0
0
0
0
0
0
-22
-52
5
-8
24
-8
0
0
0
0
0
0
0
0
0
0
-49
7
25
1
15
-18
-47
-6
0
0
0
0
0
0
0
0
0
6
69
-23
-5
-9
-8
129
-2
0
0
0
0
0
0
0
0
9
5
-66
-66
-77
27
52
18
-1
0
0
0
0
0
0
0
-7
-5
-10
-57
-49
-66
18
18
-25
-5
0
0
0
0
0
0
0
0
17
29
1
19
37
-11
91
5
19
0
0
0
0
0
0
0
-1
33
-24
40
24
-79
72
97
8
40
0
0
0
0
0
0
0
0
6
24
15
99
63
144
-53
-33
0
0
0
0
0
0
0
0
0
0
0
5
-17
-4
19
67
34
0
0
0
0
0
0
0
0
0
0
3
10
-50
109
10
17
-43
4
0
0
0
0
0
0
0
0
-5
48
0
-21
-5
22
15
9
9
0
0
0
0
0
0
0
0
-19
30
-37
39
-133
43
3
50
10
0
0
0
0
0
0
0
0
29
-127
-64
6
-5
64
8
16
-3
0
0
0
0
0
0
0
0
7
-14
-79
23
14
26
93
-57
-4
0
0
0
0
0
0
0
0
23
7
107
24
37
62
111
-47
-42
0
0
0
0
0
0
0
5
6
-95
0
30
-3
11
62
8
-26
0
0
0
0
0
0
0
0
0
36
-86
-108
2
205
57
-17
32
0
0
0
0
0
0
0
0
0
2
0
-2
-3
4
109
0
0
0
0
0
0
0
0
3
0
0
0
8
3
-48
-24
13
38
-12
0
0
0
0
0
0
-16
0
48
0
7
-74
-20
2
56
34
-19
0
0
0
0
0
0
17
-96
9
-15
-59
-23
-25
40
63
6
25
0
0
0
0
0
0
5
2
67
-86
-82
11
-13
20
47
75
-6
0
0
0
0
0
0
2
17
-57
-22
-8
14
21
19
48
39
11
0
0
0
0
0
0
2
97
82
-71
-143
-25
-75
38
-8
10
-41
0
0
0
0
0
0
-2
4
1
-168
-10
-68
21
-41
45
26
13
0
0
0
0
0
0
0
8
3
-4
-48
-18
2
-40
-46
-10
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
-2
-8
0
0
0
0
0
0
0
0
-1
0
0
0
14
-4
15
32
39
-8
-1
0
0
0
0
0
-1
0
0
8
0
34
-117
-14
32
39
12
1
0
0
0
0
0
-1
5
42
2
81
-19
-14
-15
30
7
53
13
0
0
0
0
0
0
9
71
58
19
51
-23
-67
3
77
10
13
0
0
0
0
0
0
8
-65
63
-96
-20
-9
-45
53
37
44
-20
0
0
0
0
0
1
6
29
5
54
56
-72
-35
-9
37
49
1
0
0
0
0
0
0
0
7
18
68
35
-6
38
41
61
98
-4
0
0
0
0
0
0
0
4
-2
4
-23
72
66
69
40
31
0
0
0
0
0
0
0
0
0
0
0
0
-24
64
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-26
-7
-7
58
0
0
0
0
0
0
0
0
0
0
0
2
1
-20
31
24
-48
-2
0
0
0
0
0
0
0
0
0
-1
9
-3
12
88
-13
-3
0
0
0
0
0
0
0
0
0
0
0
-1
48
140
-32
23
-108
-1
0
0
0
0
0
0
0
16
-5
0
37
-29
-18
13
59
-60
-1
0
0
0
0
0
0
0
0
4
-1
24
-71
22
51
-75
-37
-12
0
0
0
0
0
0
0
16
-8
1
6
129
151
-61
-35
-131
-1
0
0
0
0
0
0
0
0
0
-1
0
5
37
38
0
51
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
3
-75
74
19
-6
0
0
0
0
0
0
0
4
1
-1
19
15
43
13
-57
-5
5
0
0
0
0
0
0
0
-6
1
0
3
-22
82
17
99
-33
40
0
0
0
0
0
0
0
0
0
0
-1
-1
71
18
84
-50
-40
0
0
0
0
0
0
0
0
0
0
0
3
87
-20
-27
54
33
0
0
0
0
0
0
0
0
0
0
1
57
167
82
17
-28
60
0
0
0
0
0
0
0
0
0
0
0
0
121
89
106
24
64
0
0
0
0
0
0
0
0
0
0
0
1
24
54
77
55
128
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-20
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-38
-11
-75
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-93
-10
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
6
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
42
-63
62
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
67
39
127
65
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
66
40
11
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-45
74
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
23
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-15
16
-62
0
-15
-8
0
0
0
0
0
0
0
0
0
0
0
8
16
50
18
5
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-37
-17
34
4
0
0
0
0
0
0
0
0
0
0
0
3
31
-19
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
68
-29
-37
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
88
-23
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-10
31
-25
0
0
0
0
0
0
0
0
0
0
0
-2
8
-34
50
125
29
0
0
0
0
0
0
0
0
0
0
0
0
32
54
64
21
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
-23
49
12
25
0
0
0
0
0
0
0
0
0
0
0
0
1
-79
23
-71
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
77
75
88
62
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
76
72
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
69
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
42
57
56
74
24
9
-1
0
0
0
0
0
0
0
-2
-27
5
66
-49
9
127
16
-26
1
0
0
0
0
0
0
0
-7
0
52
-12
-6
17
169
17
5
8
0
0
0
0
0
0
0
0
-19
-22
-34
-8
104
8
29
47
24
0
0
0
0
0
0
0
-8
-43
-55
-26
-22
71
33
75
48
-4
0
0
0
0
0
0
0
-3
14
-15
7
39
72
56
25
-26
5
0
0
0
0
0
0
0
-9
-2
6
-44
51
64
148
13
16
-1
0
0
0
0
0
0
0
0
-1
0
-26
37
34
73
30
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
3
-2
0
0
0
0
0
0
0
0
0
0
3
-7
7
-2
-9
25
2
0
0
0
0
0
0
0
0
-2
-2
-7
0
0
-3
4
-3
0
-3
0
0
0
0
0
0
0
0
-4
1
31
13
27
-24
13
-10
1
0
0
0
0
0
0
0
3
1
-15
45
0
51
-7
50
-5
0
0
0
0
0
0
0
0
0
5
6
25
-30
25
11
43
-28
-25
0
0
0
0
0
0
0
0
-1
-4
-8
10
18
5
-19
65
-13
0
0
0
0
0
0
0
0
2
0
0
0
1
13
1
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-16
50
0
32
-62
22
36
17
5
5
0
0
0
0
0
3
-46
19
0
-13
-2
5
94
28
113
71
-16
0
0
0
0
0
6
3
-34
8
-1
-11
30
52
15
-70
-23
-6
2
0
0
0
0
0
21
6
-15
-8
-6
-29
23
67
-21
21
-14
3
0
0
0
0
0
22
-16
-14
-15
13
14
19
27
10
25
-1
-2
0
0
0
0
0
-1
-5
-32
-16
-17
45
38
102
28
12
-13
0
0
0
0
0
0
0
-1
-23
-48
4
13
-32
142
-24
-1
-12
0
0
0
0
0
0
0
0
-20
22
-24
-4
14
-2
40
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-5
0
22
9
12
5
-14
-67
-1
0
0
0
0
0
1
-6
-32
-44
-12
4
13
-8
13
6
7
-24
0
0
0
0
0
0
-4
4
-53
2
28
-7
17
26
3
70
-32
0
0
0
0
0
0
2
20
-57
-38
-16
0
1
10
9
-21
136
0
0
0
0
0
-4
22
5
-33
-24
-13
-4
-3
17
42
11
-22
0
0
0
0
0
0
1
-13
-86
-5
-9
1
3
10
96
31
95
0
0
0
0
0
0
-18
19
1
-4
-11
-12
1
26
31
10
48
0
0
0
0
0
0
13
-7
-38
-57
-35
-35
-8
7
22
16
-36
0
0
0
0
0
0
0
2
10
29
11
-34
-43
-31
-41
-3
4
0
0
0
0
0
0
-12
4
0
0
-57
46
-33
11
30
0
0
0
0
0
0
0
3
12
26
16
-24
62
10
-56
-24
-25
0
0
0
0
0
0
0
0
16
-34
7
13
33
151
18
-3
16
0
0
0
0
0
0
0
0
-18
-29
6
-54
66
29
74
-46
-14
-5
0
0
0
0
0
0
0
6
18
-19
28
16
42
-52
91
-36
10
0
0
0
0
0
0
0
-5
3
3
-44
95
87
100
53
-95
-1
0
0
0
0
0
-1
6
-72
-9
-21
-14
11
68
90
24
14
0
0
0
0
0
0
3
18
-6
-8
24
17
32
49
-1
-38
-50
0
0
0
0
0
0
0
10
-31
12
-12
32
-25
6
35
29
-19
2
0
0
0
0
0
0
-4
3
-30
-19
0
-7
-21
49
-50
5
2
0
0
0
0
0
0
-3
57
39
-27
-23
1
-6
10
54
89
15
0
0
0
0
0
0
-1
-58
9
-34
3
-5
28
34
-26
5
-2
0
0
0
0
0
0
-5
0
-28
-12
0
-5
-19
7
4
119
-10
0
0
0
0
0
0
5
-1
2
2
-1
21
2
17
62
-51
-2
0
0
0
0
0
-1
12
21
5
5
0
0
-35
66
14
-25
2
0
0
0
0
0
-4
4
-26
13
6
14
-19
-5
40
-24
21
0
0
0
0
0
0
0
-2
28
-6
13
10
-77
-53
54
45
-10
0
0
0
0
0
0
0
0
0
0
0
2
-15
1
0
0
0
0
0
0
0
0
0
0
0
-1
42
29
0
46
-24
29
-12
61
-51
-1
-16
0
0
0
0
0
-8
-4
-60
-30
3
15
41
48
65
-25
58
-8
0
0
0
0
0
-1
5
-44
-40
-9
34
33
27
-127
59
5
-3
0
0
0
0
0
-3
25
17
-40
-41
17
24
41
33
-32
-12
5
0
0
0
0
0
2
8
-9
-5
-12
5
45
-21
98
81
-6
-4
0
0
0
0
0
-1
6
-3
-81
-7
11
59
88
47
128
79
0
0
0
0
0
0
0
-8
17
-2
-75
5
24
97
52
57
14
3
0
0
0
0
0
0
-1
-7
24
2
-9
10
48
113
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
9
-46
0
9
-21
44
21
-20
-4
4
-2
0
0
0
0
0
0
-8
21
-62
23
-9
-33
8
78
67
7
6
0
0
0
0
0
1
-12
-14
-67
-43
-10
-3
-2
-3
13
41
18
0
0
0
0
0
0
-19
20
-42
-34
-50
13
-92
79
6
-19
0
0
0
0
0
0
0
11
-29
-4
10
13
18
6
49
59
23
4
0
0
0
0
0
3
56
-30
5
12
-11
16
20
82
84
99
9
0
0
0
0
0
-3
-10
-27
-9
-57
40
26
37
82
148
9
4
0
0
0
0
0
0
0
4
-30
-61
-53
23
-18
78
13
24
0
0
0
0
0
0
0
0
0
8
0
-28
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
24
0
-1
-1
-2
0
0
0
0
0
0
0
4
-6
6
5
3
71
1
0
1
-48
0
0
0
0
0
0
1
0
-2
-24
-40
-2
25
23
2
4
-3
-4
0
0
0
0
0
0
-8
10
51
-8
-31
9
18
7
8
-20
-2
0
0
0
0
0
0
2
63
-56
-16
-15
-8
-20
-5
-6
16
-2
0
0
0
0
0
0
0
-15
-43
-13
-55
-40
-23
9
-14
6
-17
0
0
0
0
0
0
-1
45
-8
38
7
-1
-15
1
-6
1
5
0
0
0
0
0
0
0
8
1
3
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
17
28
0
0
7
0
0
0
0
0
0
0
0
0
0
4
-14
-38
-46
-8
65
30
0
0
0
0
0
0
0
0
0
0
0
15
-30
74
-20
29
-12
3
0
0
0
0
0
0
0
0
0
-1
23
22
46
26
74
6
17
0
0
0
0
0
0
0
0
0
0
8
-27
-10
-70
-6
29
-12
0
0
0
0
0
0
0
0
0
0
0
-28
-98
-21
-48
-6
-8
0
0
0
0
0
0
0
0
0
0
0
30
-57
-18
-20
-42
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-78
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
2
90
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
14
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
31
75
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-49
-57
5
0
0
0
0
0
0
0
0
0
0
0
0
9
68
-48
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
3
28
43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
-17
-43
31
33
-2
0
0
0
0
0
0
0
0
0
0
0
-16
7
139
-21
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-55
-82
-49
-5
0
0
0
0
0
0
0
0
0
0
2
3
-22
37
137
-31
-6
0
0
0
0
0
0
0
0
0
0
1
19
94
37
-61
17
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
-16
3
0
0
0
0
0
0
0
0
0
0
0
-5
-1
31
-6
-6
5
0
0
0
0
0
0
0
0
0
0
0
2
25
8
51
4
40
0
0
0
0
0
0
0
0
0
0
0
4
-29
-46
118
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-4
10
8
-15
46
3
0
0
0
0
0
0
0
0
0
0
0
1
24
14
54
14
6
0
0
0
0
0
0
0
0
0
0
0
-2
12
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
3
-16
6
5
3
4
0
0
0
0
0
0
3
23
0
0
0
-8
-17
-51
-41
5
8
0
0
0
0
0
0
0
19
26
40
17
-17
46
15
-10
-13
29
-1
0
0
0
0
0
-1
7
55
33
-60
66
47
36
-4
-8
8
0
0
0
0
0
0
-7
-5
34
-96
-7
18
71
-5
0
20
0
0
0
0
0
0
0
0
-29
41
-90
-11
65
-49
-5
-4
-8
0
0
0
0
0
0
0
-1
-4
57
54
-82
101
-26
-25
0
0
-2
0
0
0
0
0
0
-1
-13
-13
-109
-45
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
-17
0
-7
-15
0
0
0
0
0
0
0
0
0
0
-2
6
9
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
43
20
-18
8
0
0
0
0
0
0
0
0
0
0
0
-2
-47
-9
-9
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-40
-59
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
1
70
18
102
40
55
58
0
0
0
0
-1
4
24
59
0
0
49
-1
45
70
-11
-13
72
0
0
0
0
0
0
3
108
-6
-19
16
76
82
90
74
64
34
0
0
0
0
0
0
3
42
99
42
37
86
44
77
76
3
-18
0
0
0
0
0
0
6
21
-26
-26
73
118
66
-36
-8
6
-19
0
0
0
0
0
-2
2
23
-7
34
8
78
116
16
6
37
-49
0
0
0
0
0
0
0
8
-53
0
-9
12
-11
45
52
15
-8
0
0
0
0
0
0
0
-8
0
0
0
0
1
2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
0
0
30
33
-5
13
-8
-46
-30
0
0
0
0
0
-2
1
5
86
73
-62
-6
10
6
-40
-116
0
0
0
0
0
0
-1
5
47
-38
-11
-25
19
14
31
-5
-39
-17
0
0
0
0
0
4
-12
44
-10
28
1
25
-7
26
74
-106
-79
0
0
0
0
0
2
2
-8
-23
13
28
16
0
-14
18
-76
-47
0
0
0
0
0
0
-18
-51
-56
79
73
21
23
-21
-30
-18
-34
0
0
0
0
0
0
0
17
88
-4
29
36
42
3
-17
12
7
0
0
0
0
0
0
1
-7
47
14
24
3
37
122
68
7
12
0
0
0
0
0
0
0
0
0
-4
-2
19
92
65
45
0
0
0
0
0
0
0
0
0
0
0
0
2
-42
23
-5
-1
-47
56
0
0
0
0
0
0
0
0
-3
31
22
21
-31
-62
34
-38
26
0
0
0
0
0
0
0
0
25
-68
-88
44
79
-1
4
42
-30
0
0
0
0
0
0
0
-4
56
9
50
-2
44
12
0
39
2
0
0
0
0
0
0
0
0
0
-17
6
13
-11
40
2
81
-59
0
0
0
0
0
0
0
0
17
-53
-8
85
4
81
67
-20
-16
0
0
0
0
0
0
0
0
16
0
95
74
11
13
-28
32
18
0
0
0
0
0
0
0
0
14
3
66
33
102
-21
84
-4
44
0
0
0
0
0
0
0
0
-6
0
-1
0
20
-22
18
12
-74
0
0
0
0
0
0
0
0
0
-10
22
80
-68
-12
-50
40
53
0
0
0
0
0
0
0
0
3
7
0
83
83
-58
-8
91
51
0
0
0
0
0
0
0
0
0
23
84
56
61
22
-12
-3
38
0
0
0
0
0
0
0
0
-2
86
129
20
18
21
-30
68
-57
0
0
0
0
0
0
0
0
-7
11
6
99
64
-51
47
32
55
0
0
0
0
0
0
0
0
1
56
38
21
-55
-4
43
16
44
0
0
0
0
0
0
0
0
-8
18
-26
136
53
-2
32
94
-63
0
0
0
0
0
0
0
0
8
7
31
2
57
41
0
42
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
32
0
0
26
133
8
40
71
30
55
0
0
0
0
-3
-2
3
0
6
0
-41
163
8
-21
-14
46
-9
0
0
0
0
0
-2
75
-126
14
-47
14
84
55
57
15
33
-37
0
0
0
0
0
0
29
-6
-47
76
-25
139
26
48
15
97
50
0
0
0
0
0
0
-20
51
19
-21
24
45
29
-70
18
0
-84
0
0
0
0
0
0
0
-21
-64
8
58
27
-18
62
-25
-11
23
0
0
0
0
0
0
8
-23
-10
58
-121
68
33
13
-55
-26
-5
0
0
0
0
0
0
0
40
8
-41
-6
-16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
10
107
-67
74
50
2
8
0
0
0
0
0
0
23
0
-2
0
47
75
-8
28
12
-45
-23
0
0
0
0
0
0
8
-73
-14
-64
13
36
-120
-59
-13
-34
72
0
0
0
0
0
0
7
49
17
-19
-11
101
-110
25
-20
26
2
0
0
0
0
0
0
-9
22
84
130
92
33
-41
15
0
94
66
0
0
0
0
0
0
10
56
52
91
113
3
35
0
101
33
-5
0
0
0
0
0
0
0
91
43
-11
61
-18
73
-10
-34
-28
8
0
0
0
0
0
0
0
3
4
2
-7
-10
-30
26
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-4
2
0
-3
0
0
0
0
0
0
1
0
0
0
-6
7
-3
-1
-6
-13
-5
0
0
0
0
0
0
-1
14
24
0
10
79
22
-2
-1
-33
2
0
0
0
0
0
0
0
20
31
0
0
-46
-12
-8
-1
-7
-7
0
0
0
0
0
0
0
5
49
0
29
-5
-15
1
-1
-4
6
0
0
0
0
0
0
0
2
22
0
0
36
18
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
0
-30
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
2
7
-10
-5
2
0
0
0
0
0
0
0
1
0
0
3
0
0
-6
-22
49
-8
0
0
0
0
0
0
0
0
0
0
-2
0
-5
14
51
80
8
0
0
0
0
0
0
0
0
0
1
0
5
0
51
74
58
-52
0
0
0
0
0
0
0
0
0
0
4
0
-25
15
138
6
24
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-24
101
78
15
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
47
-50
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-44
24
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-17
7
-31
0
0
0
0
0
0
0
0
0
0
0
0
6
5
47
57
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-31
76
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
1
0
-5
10
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-3
29
-7
7
53
16
0
0
0
0
0
0
0
0
0
0
-2
4
-5
12
-21
64
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-19
4
15
-2
0
0
0
0
0
0
0
0
0
0
0
1
-15
3
71
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-4
0
72
21
107
-17
25
14
20
-31
0
0
0
0
0
0
4
-1
-25
-9
-1
48
-6
-7
-13
-23
-5
0
0
0
0
0
0
0
-94
-104
-18
33
-29
-49
-55
-13
50
1
0
0
0
0
0
0
-1
108
-94
3
52
-36
-11
12
3
61
53
0
0
0
0
0
0
0
-22
62
28
24
-28
-30
-13
49
1
13
0
0
0
0
0
0
0
8
12
-3
-58
-95
-19
18
-43
35
-15
0
0
0
0
0
0
0
-17
10
8
26
58
-8
36
52
15
-5
0
0
0
0
0
0
0
0
-3
0
2
-9
6
-14
-13
34
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
22
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-1
-16
0
0
0
0
0
0
0
0
-1
-1
-9
0
13
0
-3
2
68
9
0
0
0
0
0
0
0
16
0
-16
-3
-2
2
0
7
44
-18
0
0
0
0
0
0
0
-6
3
0
36
2
0
1
6
13
4
0
0
0
0
0
0
0
-2
0
15
13
0
-9
-4
6
-47
-6
0
0
0
0
0
0
0
0
1
0
-21
4
7
-2
-7
87
5
0
0
0
0
0
0
0
0
0
0
-4
1
8
0
15
48
-50
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-8
-52
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-36
-35
0
3
-6
23
-16
0
-5
7
7
0
0
0
0
5
-21
-12
29
2
2
26
99
70
0
-34
24
0
0
0
0
-1
-25
5
-50
5
-5
-6
62
10
36
1
36
90
16
0
0
0
0
0
27
23
15
-4
3
6
37
-3
-13
30
-4
41
0
0
0
0
0
-13
19
6
-22
14
72
41
17
-19
15
32
27
0
0
0
0
0
3
-35
-19
-15
-25
21
22
48
-8
15
10
0
0
0
0
0
0
0
0
-21
-8
-58
-11
23
13
0
8
5
2
0
0
0
0
0
0
0
0
-22
35
-10
-48
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-43
-17
0
-36
-34
10
69
17
-24
0
0
0
0
0
0
1
16
-33
-36
-1
-17
-20
27
18
25
-10
25
0
0
0
0
0
0
-16
-27
-19
-38
-44
0
15
-1
6
-7
4
0
0
0
0
0
-2
21
-83
-7
-6
-24
18
3
-32
-90
94
8
0
0
0
0
1
0
12
53
-40
24
-22
18
3
-16
-12
0
0
0
0
0
0
0
0
-8
42
-32
14
-17
8
-2
5
120
-50
1
0
0
0
0
0
0
0
-44
53
-40
5
13
16
36
61
-13
-4
0
0
0
0
0
0
1
3
38
3
1
13
19
34
42
-12
8
0
0
0
0
0
0
0
1
-7
7
-12
-1
-6
-5
18
0
0
0
0
0
0
1
-8
2
-17
87
0
-2
-65
43
13
0
-1
0
0
0
0
0
-3
6
14
15
-13
21
-37
11
82
-14
-9
2
0
0
0
0
0
0
-6
35
-7
-14
-19
-59
-31
10
26
-9
-2
0
0
0
0
0
1
-8
21
33
9
-44
-23
-39
59
75
-1
0
0
0
0
0
0
0
-2
-3
22
12
18
-16
-84
17
-19
2
0
0
0
0
0
0
0
8
11
20
-1
-10
-12
47
-55
-46
-7
0
0
0
0
0
1
3
-4
-1
3
3
0
33
-23
-84
-99
3
0
0
0
0
0
0
0
5
-5
4
15
-19
-33
-18
13
-4
0
0
0
0
0
0
-3
3
6
-35
-1
-6
-21
-15
45
-31
-1
0
0
0
0
0
0
0
0
-9
-25
22
-10
0
-79
27
-9
-2
0
0
0
0
0
0
0
-20
2
-51
-16
12
-24
-10
-10
33
12
42
0
0
0
0
0
0
0
0
5
40
30
-16
-6
24
-19
4
7
0
0
0
0
0
0
0
0
15
-1
14
-29
37
-4
-15
25
-23
0
0
0
0
0
0
0
7
-26
-13
10
-2
36
43
-5
8
2
0
0
0
0
0
0
0
4
-22
30
-12
-1
35
128
60
-15
0
0
0
0
0
0
0
0
-5
-29
-2
-6
-28
94
52
105
-43
1
0
0
0
0
0
0
0
-1
-4
-28
-36
-36
-9
-75
70
-48
-1
0
0
0
0
0
0
0
0
0
0
0
3
-48
-24
-1
0
0
0
0
0
0
0
0
0
0
-13
-37
-6
0
5
43
43
51
-69
8
3
17
0
0
0
0
-1
-27
71
24
-6
-9
19
41
-20
19
54
106
19
0
0
0
0
0
8
9
-9
-5
9
29
11
35
14
4
49
-12
0
0
0
0
-1
-2
15
22
13
3
26
22
56
76
-3
-50
16
0
0
0
0
0
6
42
13
23
-2
24
17
-44
-32
48
62
-1
0
0
0
0
0
17
-45
-34
-7
-8
29
-12
117
55
3
-23
7
0
0
0
0
0
0
-9
-60
-5
-59
-49
12
26
-14
10
13
-1
0
0
0
0
0
0
0
4
-30
-16
3
31
0
-5
-1
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-4
0
0
0
0
0
0
-4
-20
22
0
-2
57
22
5
16
4
8
5
0
0
0
0
0
7
3
-57
12
-5
-4
82
-25
-40
3
-1
17
0
0
0
0
-2
23
-42
14
9
-34
34
-27
-28
7
-4
23
51
0
0
0
0
0
-13
1
10
-9
0
1
30
-29
0
-6
20
-19
0
0
0
0
0
0
-39
-10
-15
14
2
-22
45
15
-5
3
-2
0
0
0
0
0
5
-57
16
-33
3
-16
-2
1
-3
-2
-48
4
0
0
0
0
0
1
-4
-22
-10
24
-27
-1
-43
0
0
-8
-1
0
0
0
0
0
0
18
5
27
-7
-10
17
0
31
0
-2
0
0
0
0
0
0
0
0
-13
50
3
43
0
9
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
-6
-3
0
0
0
-2
0
0
0
0
0
0
0
-13
-32
-29
-32
-44
-3
0
0
0
2
0
0
0
0
0
0
0
0
-24
-56
76
5
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-2
-47
4
25
-3
0
0
-1
5
0
0
0
0
0
0
0
0
15
11
-34
10
15
-3
0
-3
-36
0
0
0
0
0
0
0
4
-10
-2
-41
15
15
-2
0
-9
0
2
0
0
0
0
0
0
0
-5
-5
-14
-2
-2
0
0
-4
30
0
0
0
0
0
0
0
0
1
-12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
4
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
5
24
31
14
16
0
0
0
0
0
0
0
0
0
0
1
1
1
17
34
-23
-13
0
0
0
0
0
0
0
0
0
0
1
-1
12
-40
56
47
48
5
0
0
0
0
0
0
0
0
0
0
0
-3
51
-5
47
-5
-4
0
0
0
0
0
0
0
0
0
0
0
-23
-9
11
83
6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-132
-44
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-33
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
22
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
-14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
30
1
-3
0
0
0
0
-1
0
2
0
0
0
0
-9
-10
-7
22
-8
0
0
0
0
0
0
0
0
0
-14
4
2
-9
-5
-65
-20
18
0
0
0
0
0
0
0
0
0
41
18
-23
42
21
-38
-34
1
5
0
0
0
0
0
0
1
0
67
-44
-8
0
8
41
-7
-13
-2
0
0
0
0
0
0
0
1
-53
-7
-12
-88
41
21
-5
12
0
0
0
0
0
0
0
0
3
27
-17
-13
-6
68
13
2
5
0
0
0
0
0
0
0
0
0
-2
-32
-13
1
0
-21
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
16
8
6
8
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
3
-8
-2
-98
-39
0
0
0
0
0
-1
-3
0
0
0
-6
-10
-22
73
34
-54
66
0
0
0
0
0
0
0
1
-29
8
3
-10
74
-1
65
31
7
0
0
0
0
0
-1
1
46
-2
-8
30
51
58
41
25
-41
6
0
0
0
0
0
0
2
-1
-13
5
-70
6
39
-12
10
-66
6
0
0
0
0
0
0
-3
-1
25
-5
13
-9
-7
30
-15
24
7
0
0
0
0
0
0
-3
3
7
10
7
40
-29
18
29
-27
-5
0
0
0
0
0
0
-3
5
0
1
0
0
-1
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-79
46
19
-50
48
1
0
0
0
0
0
17
-4
-3
23
-50
-50
-25
-7
16
-53
-43
16
0
0
0
0
0
14
-12
6
72
104
69
-27
24
8
0
9
10
0
0
0
1
0
0
-8
47
13
52
26
-2
-90
0
-33
-39
-12
0
0
0
0
0
-1
2
16
29
54
-29
25
19
-7
-22
-49
17
0
0
0
0
0
-1
-2
-19
52
20
75
20
23
18
-4
26
-2
0
0
0
0
-1
5
5
42
-42
61
77
-14
-20
-23
-21
20
-16
0
0
0
0
0
0
28
10
-38
79
98
17
36
11
64
27
2
0
0
0
0
0
3
2
1
0
5
-25
5
40
-10
61
3
0
0
0
0
0
0
0
0
0
0
0
22
-38
-20
-19
33
-48
-1
0
0
0
0
0
0
0
0
1
0
38
0
42
-43
-7
40
3
0
0
0
0
0
0
0
0
0
-7
10
16
0
44
79
0
-2
0
0
0
0
0
0
0
0
0
-5
4
-4
-4
41
20
-14
0
0
0
0
0
0
0
0
0
0
5
24
13
11
63
30
-11
9
0
0
0
0
0
0
-1
0
2
4
-13
40
7
46
50
29
4
0
0
0
0
0
0
0
0
0
0
22
6
1
76
-22
-1
2
0
0
0
0
0
0
0
0
1
0
-34
14
24
-13
-22
7
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-1
6
2
0
0
0
0
0
0
0
0
0
0
5
27
-30
-25
11
-110
-105
-1
0
0
0
0
0
0
0
0
0
4
0
5
11
-12
-19
9
7
0
0
0
0
0
0
0
0
-3
-9
-75
-37
-32
10
-6
75
-21
0
0
0
0
0
0
0
0
3
1
-13
53
103
-6
30
-10
8
0
0
0
0
0
0
0
0
0
-24
-62
39
59
173
10
25
7
0
0
0
0
0
0
0
0
3
22
-44
69
56
-9
65
90
-28
0
0
0
0
0
0
0
0
-6
22
22
58
0
-39
100
84
51
0
0
0
0
0
0
0
0
0
0
0
10
-9
-39
22
30
81
0
0
0
0
0
0
0
0
0
0
0
8
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-24
22
-16
35
-6
0
0
0
0
-1
2
0
0
1
0
-8
37
73
-13
38
-44
8
0
0
0
0
0
0
0
-13
-17
0
-15
-33
-38
64
105
-38
-33
0
0
0
0
0
1
2
-24
0
8
40
19
-156
56
68
13
-12
0
0
0
0
0
0
0
38
17
31
103
135
9
19
40
-6
-6
0
0
0
0
0
1
0
3
8
20
40
86
21
43
-55
-67
-1
0
0
0
0
0
0
-1
1
13
18
15
42
47
60
0
50
41
0
0
0
0
0
0
-1
-2
-1
-3
32
-29
4
9
6
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
-12
-6
36
-1
0
0
0
0
0
0
0
0
-1
0
2
11
-21
16
-16
58
3
0
0
0
0
0
0
0
-1
1
0
9
78
-45
19
3
44
-31
0
0
0
0
0
0
1
5
0
-13
-20
31
-17
-33
-44
34
-2
0
0
0
0
0
0
-1
-1
1
5
7
66
-11
23
51
15
-7
0
0
0
0
0
0
0
1
13
19
48
46
8
50
58
24
0
0
0
0
0
0
0
0
-12
30
14
7
32
-2
-21
52
16
0
0
0
0
0
0
0
0
0
1
0
-1
84
25
126
-16
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
3
18
-35
43
0
0
0
0
0
0
0
0
-8
1
-2
0
4
18
-18
12
3
0
0
0
0
0
0
0
0
4
5
0
5
5
-14
-24
33
36
0
0
0
0
0
0
0
0
-4
1
-2
0
-6
12
3
-16
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-5
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-3
-1
-5
47
10
0
0
0
0
0
0
0
0
5
18
-13
-20
-5
15
-44
5
54
-5
0
0
0
0
0
0
0
-7
-9
-2
4
8
-12
4
43
21
-12
0
0
0
0
0
0
0
-3
0
-1
0
-5
-16
11
-44
4
-79
0
0
0
0
0
0
0
-2
0
0
2
3
25
27
82
-27
-26
0
0
0
0
0
0
0
0
0
0
1
-4
25
-25
40
-5
-94
0
0
0
0
0
0
0
0
0
0
0
10
12
-57
31
137
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-130
76
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-30
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
73
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
-49
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
38
-23
37
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
-83
107
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
63
40
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
0
0
0
0
0
0
0
0
0
-2
0
3
-1
14
-8
1
0
0
0
0
0
0
0
0
1
1
1
0
1
7
-20
-1
-36
-7
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
-42
-9
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-47
93
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
28
41
-21
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
67
0
51
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
52
-17
-4
0
0
0
0
0
0
0
-2
0
1
0
-1
2
4
54
48
13
0
0
0
0
0
0
0
0
4
0
-1
0
0
16
44
-4
0
3
0
0
0
0
0
0
0
0
0
0
-2
-6
-30
-7
-55
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
45
66
51
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
4
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
-34
6
4
50
8
0
0
0
0
0
0
-1
0
1
-6
12
-26
2
-8
5
13
-1
0
0
0
0
0
0
0
2
17
17
-22
3
-24
13
-42
52
14
0
0
0
0
0
0
0
1
-2
-28
8
-9
-5
52
104
-30
22
0
0
0
0
0
0
0
0
-4
-10
5
-2
-45
-28
17
-53
7
0
0
0
0
0
0
0
0
0
0
-2
4
57
57
-60
6
-8
0
0
0
0
0
0
0
0
-2
6
-21
-46
-4
-7
-25
-1
-13
0
0
0
0
0
0
0
0
0
0
2
40
-42
-73
-6
-23
30
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
40
-2
-1
0
0
0
0
0
0
0
0
0
0
1
2
3
2
1
4
0
0
0
0
0
0
0
0
0
0
0
1
1
8
-3
-14
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
25
-24
24
-1
0
0
0
0
0
0
0
5
1
0
7
2
0
23
-2
-3
25
0
0
0
0
0
0
0
0
-1
-1
-5
-5
0
-14
-70
-10
2
0
0
0
0
0
0
0
-3
0
0
-2
0
1
0
-19
-2
2
0
0
0
0
0
0
0
0
4
4
0
-1
-2
-5
1
81
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
25
-101
-41
-4
4
-7
2
0
0
0
0
0
0
7
-13
-7
-29
-4
-76
81
0
1
51
7
-2
0
0
0
0
1
1
-31
-5
-45
-25
-40
110
-15
32
-12
-32
0
0
0
0
0
0
1
85
4
-49
58
2
95
-28
-13
47
20
0
0
0
0
0
0
0
8
-51
-82
9
73
-50
0
63
-50
-33
-4
0
0
0
0
0
0
-1
-34
111
68
30
-55
16
-24
22
16
15
0
0
0
0
0
-1
0
22
47
-73
6
-46
-10
-13
6
-9
0
0
0
0
0
0
0
2
52
0
-1
6
0
-12
-3
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
0
0
71
-11
-1
51
9
1
0
0
0
0
0
-12
3
-8
55
37
-71
8
-23
-45
-28
-22
28
-8
0
0
0
0
-1
-1
-15
-7
-7
-36
9
24
-73
62
-46
-2
-2
0
0
0
0
0
-1
2
-22
-82
-94
-6
-19
43
13
67
6
18
0
0
0
0
0
0
-1
29
31
28
-51
38
-1
-2
86
44
-13
0
0
0
0
0
0
0
39
-57
28
41
28
23
79
92
38
18
0
0
0
0
0
0
0
-1
-26
-74
-24
-21
-30
27
39
71
-19
0
0
0
0
0
0
0
-5
-19
78
36
23
-4
-26
-10
-60
127
0
0
0
0
0
0
0
0
0
-9
-7
-3
-38
-5
-29
0
0
0
0
0
0
0
0
0
0
0
0
-29
-18
-4
10
-4
0
0
0
0
0
0
0
0
-1
18
-32
-39
19
20
-16
44
-3
3
0
0
0
0
0
0
0
0
2
11
-5
-8
-2
-41
-5
16
0
0
0
0
0
0
0
0
0
0
-6
3
13
-8
2
8
10
0
0
0
0
0
0
0
0
0
2
4
49
-18
28
-24
6
-1
0
0
0
0
0
0
0
0
0
-3
13
67
-22
-23
-29
-4
-5
0
0
0
0
0
0
0
0
0
2
-44
25
34
-37
-17
-8
-2
0
0
0
0
0
0
0
0
0
25
-29
34
-14
-34
0
58
-10
-6
0
0
0
0
0
0
0
0
-1
-21
-35
4
-7
0
0
3
0
0
0
0
0
0
0
0
2
1
0
0
6
-39
-39
28
2
-1
0
0
0
0
0
0
-5
8
10
-42
45
27
33
-31
40
21
0
0
0
0
0
0
0
0
-3
3
-4
19
4
56
-5
-28
14
4
0
0
0
0
0
0
0
0
8
-26
19
-57
78
50
15
46
3
0
0
0
0
0
0
0
-4
-8
-3
-7
79
47
113
-19
8
34
0
0
0
0
0
0
0
0
42
83
1
33
16
60
7
35
7
0
0
0
0
0
0
0
16
72
-8
-12
-22
66
99
-65
61
0
0
0
0
0
0
0
0
0
-25
-20
23
-4
-8
-24
-18
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
73
88
-20
53
-14
38
-3
-7
0
0
0
0
0
8
1
0
24
53
-38
162
-48
57
-23
5
-8
0
0
0
7
-2
0
-3
-48
-27
-11
80
8
-82
-8
48
-3
-10
0
0
0
0
0
-3
4
33
-68
-44
30
34
45
-24
65
5
-47
0
0
0
0
0
0
-1
31
-34
43
24
-25
-21
22
72
-9
8
0
0
0
0
0
0
2
4
-10
-79
42
1
-30
44
-42
-15
1
0
0
0
0
0
0
0
29
3
10
-7
-15
-51
49
-23
14
-7
0
0
0
0
0
0
-1
0
-3
0
2
2
-1
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
46
-27
-42
13
5
3
-6
0
0
0
0
0
0
-1
23
11
-19
49
-31
18
38
16
-2
4
0
0
0
0
0
0
0
-20
60
66
97
-21
41
66
-24
-8
0
0
0
0
0
0
0
0
24
-23
64
-27
40
6
45
31
-10
2
0
0
0
0
0
-1
0
10
50
16
35
43
86
13
42
19
-4
0
0
0
0
0
0
0
-53
-51
44
66
-27
-32
129
10
-32
1
0
0
0
0
0
0
0
-24
-6
1
-42
-27
37
-30
-17
21
0
0
0
0
0
0
0
0
8
-21
2
-52
68
35
86
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-4
0
0
0
0
0
0
-1
0
5
3
0
-2
-1
-2
3
12
6
-1
0
0
0
0
0
0
-3
-10
8
-6
8
-1
-2
2
-3
9
0
0
0
0
0
0
0
0
-21
45
10
31
8
-9
0
-1
-16
2
0
0
0
0
0
0
0
5
12
5
44
-24
5
-1
-30
80
1
0
0
0
0
0
0
0
13
3
1
-7
-1
1
-6
-36
38
1
0
0
0
0
0
0
0
-5
-29
-4
0
16
-5
12
11
-7
2
0
0
0
0
0
0
0
-4
-1
-18
0
-1
-2
-8
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
0
38
17
58
41
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-40
16
46
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
20
-30
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-46
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
33
30
-24
1
0
0
0
0
0
0
0
0
0
0
4
-17
-51
-106
32
43
-4
0
0
0
0
0
0
0
8
3
9
-1
-45
-43
42
2
8
3
0
0
0
0
0
0
4
27
-7
3
1
22
44
-13
-37
6
-7
0
0
0
0
0
0
0
4
19
-18
44
18
-12
-27
7
2
0
0
0
0
0
0
0
0
-12
-2
61
-5
5
20
21
14
32
-1
0
0
0
0
0
0
0
1
-24
-18
-16
0
5
-2
2
-12
0
0
0
0
0
0
0
0
39
-7
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
1
-38
86
76
0
0
0
0
0
0
0
0
0
0
31
30
22
46
65
1
35
0
0
0
0
0
-1
2
8
41
-2
-6
8
-2
-13
44
38
47
0
0
0
0
0
0
1
13
3
18
-2
46
56
-37
37
14
62
0
0
0
0
0
-1
-4
0
34
95
75
13
97
-105
87
39
54
0
0
0
0
0
0
0
8
-5
14
22
29
38
31
3
-25
30
0
0
0
0
0
0
0
-13
8
-10
1
-15
-2
5
25
-6
19
0
0
0
0
0
0
0
0
0
1
0
-4
0
-1
15
-21
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
9
-25
-5
-18
73
-44
-6
0
0
0
0
0
0
3
3
-2
17
-29
-24
-7
37
-58
-153
-168
0
0
0
0
0
0
8
-8
33
-39
43
29
24
35
30
-50
-108
0
0
0
0
0
0
8
4
49
10
71
129
52
1
58
-108
-35
0
0
0
0
0
0
-2
4
-4
54
-45
-32
72
28
5
-35
-98
0
0
0
0
0
0
-6
12
34
-4
57
-69
-29
34
-59
-103
-41
0
0
0
0
0
-1
-1
0
9
41
81
33
1
32
19
-30
-49
0
0
0
0
0
-1
1
0
1
-41
55
35
65
-10
51
-7
-63
0
0
0
0
0
0
0
0
0
0
-16
48
-2
38
42
8
0
0
0
0
0
0
0
0
0
0
0
-5
49
-8
-47
-91
-47
78
0
0
0
0
0
0
0
0
-3
-2
1
-15
-89
-72
12
-40
21
0
0
0
0
0
0
0
0
0
-12
63
-10
36
-12
-44
12
-30
0
0
0
0
0
0
0
0
0
6
27
25
-9
-22
64
5
103
0
0
0
0
0
0
0
0
-1
4
-8
14
-25
-61
57
54
-26
0
0
0
0
0
0
0
0
2
2
-2
-4
-5
-45
0
15
-10
0
0
0
0
0
0
0
0
-5
8
-6
15
36
33
1
24
4
0
0
0
0
0
0
0
0
5
18
1
8
-29
108
49
61
21
0
0
0
0
0
0
0
0
-2
6
8
-8
10
-20
2
-103
11
0
0
0
0
0
0
0
0
0
3
-30
47
35
15
46
4
-2
0
0
0
0
0
0
0
0
0
-24
0
36
87
8
0
14
57
0
0
0
0
0
0
0
0
0
21
56
0
65
32
28
6
-68
0
0
0
0
0
0
0
0
1
9
-23
-3
39
97
67
14
-47
0
0
0
0
0
0
0
0
-3
7
152
116
48
-3
15
68
32
0
0
0
0
0
0
-3
-1
0
-17
-2
35
-91
127
80
81
50
0
0
0
0
0
0
0
1
5
-18
25
-20
-3
23
157
85
-4
0
0
0
0
0
0
0
0
2
-7
-3
8
7
13
39
25
-21
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
29
-3
19
18
80
-37
27
0
0
0
0
0
0
1
0
1
0
24
94
-46
71
67
55
23
0
0
0
0
0
1
2
9
-6
19
-43
46
-103
114
77
-16
19
0
0
0
0
0
0
-3
3
33
29
141
127
54
-1
46
-36
-7
0
0
0
0
0
0
0
3
-1
27
11
-4
-27
72
2
36
11
0
0
0
0
0
0
1
8
13
16
-8
93
74
-10
-41
92
-47
0
0
0
0
0
0
0
13
-65
-6
-1
-10
69
22
23
23
-22
0
0
0
0
0
0
0
0
0
0
-2
0
5
4
14
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
-43
22
95
8
0
0
0
0
0
0
1
0
0
0
0
69
1
48
63
-11
49
0
0
0
0
0
0
0
4
0
1
-29
41
26
40
45
68
11
0
0
0
0
0
0
2
-5
0
-4
24
69
92
-38
54
-21
131
0
0
0
0
0
0
0
-8
-3
-13
32
18
48
62
98
52
86
0
0
0
0
0
0
0
-1
25
0
54
144
-78
-18
43
64
5
0
0
0
0
0
0
0
0
5
5
-20
25
-46
40
44
-50
31
0
0
0
0
0
0
0
0
0
-2
1
7
4
-45
-41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-8
-25
32
0
0
0
0
0
0
0
0
0
0
2
4
-8
48
0
16
-16
0
0
0
0
0
0
0
0
0
0
0
0
12
13
18
71
12
0
0
0
0
0
0
0
0
1
0
0
12
1
0
9
55
29
0
0
0
0
0
0
0
0
0
0
-1
3
0
13
19
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-32
3
6
15
1
71
0
0
0
0
0
0
2
29
8
-10
0
5
3
-37
31
45
5
0
0
0
0
0
0
0
4
-6
-10
21
-33
-8
-6
145
102
8
0
0
0
0
0
0
0
-1
5
5
2
-6
-42
39
-6
137
87
0
0
0
0
0
0
0
0
-1
1
0
-25
8
87
118
112
132
0
0
0
0
0
0
0
0
0
0
1
8
12
12
86
104
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-114
46
34
101
0
0
0
0
0
0
0
0
0
0
0
0
-7
26
-30
30
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-36
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
5
20
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-17
33
30
29
0
0
0
0
0
0
0
0
0
0
9
0
8
16
16
67
5
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-15
31
177
43
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-14
4
28
39
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-20
30
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-18
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
-38
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
4
0
0
-6
-14
-31
-22
-8
0
0
0
0
0
0
0
0
0
0
1
2
12
-19
-1
50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
69
11
48
0
0
0
0
0
0
0
0
0
0
1
0
-22
-7
31
-35
54
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
21
74
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
-38
-8
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
17
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-12
17
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
32
58
16
0
0
0
0
0
0
0
0
0
0
-2
-5
31
-25
31
27
22
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
-47
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-9
-23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-23
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
-6
19
1
9
21
8
0
0
0
0
0
0
0
0
0
6
47
1
14
5
-40
25
24
0
0
0
0
0
0
0
-1
0
46
-20
67
57
-42
48
17
8
0
0
0
0
0
0
0
0
-10
-45
-17
8
-26
6
43
42
43
0
0
0
0
0
0
0
0
1
-1
19
7
5
99
43
15
3
0
0
0
0
0
0
0
0
1
0
-4
-6
41
-2
29
70
32
0
0
0
0
0
0
0
0
-2
0
0
2
-5
3
-16
80
31
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
-6
-9
-56
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-7
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
1
23
-8
24
0
0
0
0
0
0
0
0
0
0
1
4
0
3
15
71
42
0
0
0
0
0
0
0
0
0
0
0
7
4
-8
17
7
-40
0
0
0
0
0
0
0
0
0
0
-1
0
8
-4
54
-19
3
0
0
0
0
0
0
0
0
1
0
0
0
-8
-9
-38
54
0
0
0
0
0
0
0
0
0
2
-1
0
1
-8
10
44
58
-33
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
7
-5
46
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
64
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
49
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
0
96
18
-8
-3
25
-13
21
40
0
0
0
0
0
-3
-24
17
57
107
31
45
21
-21
-15
43
4
0
0
0
0
0
3
23
-27
-28
-28
11
-18
39
7
37
-22
30
0
0
0
0
0
0
-13
70
2
9
79
-12
-41
-25
36
32
-33
0
0
0
0
0
0
-4
-20
84
25
48
-25
1
13
40
48
8
0
0
0
0
0
0
-1
-5
-37
15
-54
-3
1
0
15
25
-10
0
0
0
0
0
0
-1
0
18
-14
-32
-1
36
5
84
-9
4
0
0
0
0
0
0
0
3
0
4
0
0
5
12
-15
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-24
0
42
-30
9
-62
-40
-41
6
0
0
0
0
1
0
0
9
-31
106
8
-26
59
-25
-17
-19
41
0
0
0
0
0
0
2
-40
-58
-29
42
-47
38
6
-50
17
44
0
0
0
0
0
0
2
-10
22
48
-41
24
-24
71
66
-24
-9
0
0
0
0
0
0
0
-9
-3
121
1
-20
-70
59
62
148
41
0
0
0
0
0
0
0
-5
49
-58
18
23
-38
26
31
41
-22
0
0
0
0
0
0
0
2
-47
-1
76
-49
-61
121
-28
-56
-10
0
0
0
0
0
0
-1
0
3
-27
2
35
-66
13
-31
-10
-4
0
0
0
0
0
0
0
0
0
-8
-3
86
-67
9
1
0
0
0
0
0
0
0
0
0
7
-11
0
-52
53
2
7
-3
6
0
0
0
0
0
0
0
0
-2
16
-1
92
-2
-45
-25
-8
-40
0
0
0
0
0
0
0
0
40
13
3
-8
-7
10
27
-7
-8
0
0
0
0
0
0
0
1
0
12
7
32
41
57
56
-8
-3
0
0
0
0
0
0
0
0
0
-30
-1
24
-8
-13
14
3
-1
1
0
0
0
0
0
0
1
17
46
11
-2
10
19
8
-2
0
0
0
0
0
0
0
0
0
-17
12
121
-17
-29
-4
-65
-2
-3
0
0
0
0
0
0
0
0
-8
-26
-6
-13
-5
-25
-1
0
0
0
0
0
0
0
0
0
0
-25
-6
-5
39
0
-4
3
0
0
0
0
0
0
0
0
0
-1
-14
62
0
71
-26
-3
-11
24
0
0
0
0
0
0
0
0
-2
-19
-12
-39
-14
-69
-80
0
36
-5
0
0
0
0
0
0
0
1
-4
13
49
48
56
54
-12
-35
-3
0
0
0
0
0
0
0
-3
6
-23
25
-35
24
-53
-46
31
-2
0
0
0
0
0
0
0
1
1
27
43
-34
-46
-30
-11
27
-14
0
0
0
0
0
0
0
-3
13
34
33
-31
-31
-6
-21
-16
-1
0
0
0
0
0
0
0
0
-22
26
-4
7
13
-65
0
14
0
0
0
0
0
0
0
0
0
2
-8
21
20
3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
88
0
-22
-27
-38
1
10
48
47
-27
0
0
0
0
0
1
12
-1
-33
-13
-34
-44
-23
5
131
32
-18
0
0
0
0
0
0
-10
-12
-38
71
-3
51
70
27
12
28
-20
0
0
0
0
0
0
12
-64
8
-40
42
-41
25
19
2
114
20
0
0
0
0
0
0
0
22
-15
-75
3
13
-50
28
25
9
-17
0
0
0
0
0
0
0
-4
18
-60
19
-28
23
9
48
-27
16
0
0
0
0
0
0
0
8
0
-2
13
4
-19
-9
-9
-40
-7
0
0
0
0
0
0
0
0
-1
-2
2
16
0
5
1
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-5
15
4
-1
8
-6
-23
3
0
0
0
0
0
0
1
2
15
14
-22
-40
-25
76
20
46
31
0
0
0
0
0
0
0
9
16
-7
-17
-32
5
-4
32
86
-15
0
0
0
0
0
0
0
4
-48
24
-40
-10
-40
1
-12
43
-8
0
0
0
0
0
0
0
30
1
-41
12
-71
-42
32
-1
12
-21
0
0
0
0
0
0
0
-1
-3
30
-56
-2
13
-3
151
-25
116
0
0
0
0
0
0
0
0
28
-2
22
-13
31
23
-55
-20
-23
0
0
0
0
0
0
0
0
19
22
0
15
-1
-14
-7
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
-4
-3
-1
0
0
0
0
0
0
1
5
2
-5
8
-6
1
-5
-2
40
8
0
0
0
0
0
0
0
-1
-3
-1
1
1
-6
0
-9
34
15
0
0
0
0
0
0
0
0
1
-1
-12
2
5
1
18
31
33
0
0
0
0
0
0
0
-4
0
-4
-4
23
6
4
18
42
-1
0
0
0
0
0
0
0
0
0
2
2
-3
-6
0
-14
4
-21
0
0
0
0
0
0
0
0
1
0
-8
10
0
-5
7
-2
1
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
0
-5
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-13
-102
33
-33
38
-37
6
0
4
0
0
0
0
0
0
0
-26
-72
-25
-28
-33
57
-11
16
62
-37
0
0
0
0
0
0
0
52
-60
-5
46
5
29
-13
2
7
1
0
0
0
0
0
0
0
18
59
-10
23
21
15
-1
-1
0
0
0
0
0
0
0
0
0
30
-18
-39
-6
12
-20
3
0
0
0
0
0
0
0
0
0
0
-48
94
20
-24
-11
84
-4
0
0
0
0
0
0
0
0
0
0
-1
-58
-80
7
-36
-19
0
0
0
0
0
0
0
0
0
0
0
30
39
-68
89
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
7
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
12
-65
12
-15
-12
1
0
0
0
0
0
0
0
0
0
0
7
-26
-35
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-41
61
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-22
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
26
24
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
23
57
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
-19
24
-21
4
0
0
0
0
0
0
0
0
0
0
0
-2
59
-61
13
-110
-12
-1
5
2
0
0
0
0
0
0
0
0
-16
44
-120
19
26
49
4
-3
2
1
0
0
0
0
0
0
0
1
37
110
-97
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
7
70
-39
0
-1
0
0
0
0
0
0
0
0
0
0
-19
-40
88
-47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
79
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
-72
-70
-22
2
-6
0
0
0
0
0
0
0
0
0
29
23
0
5
2
-18
7
14
0
0
0
0
0
0
0
0
0
8
-11
-11
63
3
6
3
-3
0
0
0
0
0
0
0
0
0
-1
0
-62
-123
-46
-17
0
0
0
0
0
0
0
0
0
0
0
4
-35
16
151
-58
-3
0
0
0
0
0
0
0
0
0
0
0
1
2
-41
-48
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
20
99
92
-28
-154
-35
0
-1
0
0
0
0
0
0
0
-24
-100
43
7
23
-101
-19
23
-81
0
0
0
0
0
0
0
0
-1
22
-77
37
-26
-158
-51
75
-16
-6
0
0
0
0
0
0
0
30
-15
6
95
89
68
-100
-15
46
0
0
0
0
0
0
0
0
-4
7
-10
37
47
57
-10
-118
1
-8
0
0
0
0
0
0
0
12
-57
-56
48
33
29
30
44
0
0
0
0
0
0
0
0
0
22
23
64
-45
52
-2
111
-13
2
0
0
0
0
0
0
0
0
-22
11
-5
-51
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-8
-12
-6
0
-2
0
-2
0
0
0
0
0
0
0
0
-8
55
15
21
-2
3
0
-6
-3
0
0
0
0
0
0
0
0
-6
-5
-12
23
5
-1
3
1
0
-7
0
0
0
0
0
0
0
0
-36
29
10
7
-5
1
9
1
-1
0
0
0
0
0
0
0
-1
7
50
43
-1
-4
2
-1
0
-13
0
0
0
0
0
0
0
0
-60
-12
2
-4
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-41
-87
-38
0
-141
-37
0
107
13
0
0
0
0
0
0
4
155
123
52
100
72
-84
58
46
41
-174
43
3
0
0
0
0
-2
-27
30
-97
78
119
-1
-3
-66
-69
16
32
0
-1
0
0
0
2
61
-61
32
30
40
57
72
57
42
-26
12
4
-1
0
0
0
-41
41
-66
23
6
74
106
135
34
89
-43
10
0
0
0
0
0
0
69
-14
-65
10
131
-40
25
47
52
4
0
0
0
0
0
0
0
1
-76
28
42
69
44
87
28
20
0
0
0
0
0
0
0
0
0
-3
6
3
9
-50
27
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-8
27
-6
-9
-154
0
0
-157
-174
4
-8
7
0
0
0
0
143
45
-16
-21
-14
-121
-40
28
-6
-7
58
13
66
-2
0
0
0
59
56
42
19
-8
-52
-35
23
-4
-46
-87
-8
56
-1
0
0
0
25
77
47
-6
-3
2
24
46
-47
32
-58
25
7
2
0
0
0
-32
78
8
20
-28
-16
-2
7
70
-5
-5
-7
-4
6
0
0
0
44
43
-47
30
-18
3
-8
-9
-48
-116
43
-8
1
0
0
0
0
-2
21
-31
12
1
-15
-9
-49
-35
1
3
36
3
0
0
0
0
-20
135
-31
59
24
28
-6
-15
63
-43
0
0
0
0
0
0
0
0
1
27
-60
29
-25
-99
16
7
-1
0
0
-3
0
0
0
0
0
22
12
-15
-10
61
53
0
-132
3
-1
0
0
0
0
0
0
0
-37
-34
-102
64
-38
124
66
-15
1
-16
0
0
0
0
0
0
0
-5
-60
-6
-23
-67
1
-15
-33
-30
2
0
0
0
0
0
0
0
8
-159
-62
22
64
31
88
-6
-7
-3
1
0
0
0
0
0
3
0
-40
45
88
67
31
21
-2
8
0
0
0
0
0
0
0
0
4
23
37
184
73
-12
4
-18
-3
1
0
0
0
0
0
0
0
1
107
65
-16
88
144
-64
-6
-1
0
0
0
0
0
0
0
29
0
-14
82
75
28
21
5
-8
0
0
0
0
0
0
0
0
0
0
3
6
26
-76
121
4
4
0
0
0
0
0
0
0
0
0
-94
-127
-30
-68
-18
90
0
31
-21
-13
4
3
0
0
0
0
0
40
22
-26
42
-1
45
13
-61
-94
0
-9
-8
0
0
0
0
0
31
0
68
42
-4
50
-81
-36
2
41
34
1
0
0
0
0
0
-2
-10
-6
25
9
56
76
74
21
-8
-26
-3
0
0
0
0
0
-19
15
38
5
-8
15
109
43
-30
-42
6
0
3
0
0
0
0
-21
-74
40
55
90
55
143
139
24
57
-14
-1
0
0
0
0
0
-1
23
51
9
96
90
165
123
32
57
14
-1
0
0
0
0
0
1
-9
28
14
-37
90
104
65
39
1
-3
0
0
0
0
0
0
0
0
0
-3
22
-3
0
0
0
0
0
0
0
0
0
69
49
14
-25
17
-16
-59
-17
0
32
99
8
0
0
0
0
0
106
14
-7
19
-44
59
-14
30
25
37
16
17
1
1
0
0
0
9
92
-38
-58
-16
13
-5
-34
-52
-104
73
-4
0
0
0
0
0
91
34
-73
64
46
40
54
32
-1
37
60
31
0
0
0
0
0
-21
29
56
22
44
79
60
52
22
-9
39
-10
0
0
0
0
0
1
-28
42
13
74
33
56
54
65
10
10
-1
0
0
0
0
0
12
16
-16
-45
11
51
64
41
-49
-17
3
-4
0
0
0
0
0
-4
1
-10
-113
31
-8
97
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
58
20
-15
27
82
51
70
0
8
9
0
0
0
0
0
0
55
13
44
117
-24
33
79
38
38
-16
15
4
0
0
0
0
0
23
4
57
14
-25
-1
18
33
-28
7
5
7
0
0
0
0
0
-29
17
-38
64
18
40
-34
21
63
96
-3
-1
0
0
0
0
0
3
-90
181
35
-24
-50
-16
63
50
8
-24
0
0
0
0
0
0
20
102
46
52
38
64
20
50
42
39
-16
0
0
0
0
0
0
-20
-11
23
22
114
48
68
-1
19
59
0
0
0
0
0
0
0
0
-1
2
12
25
-27
1
8
23
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
4
16
18
44
0
0
0
0
0
0
0
0
0
5
0
1
-1
-6
-35
-20
182
28
-31
2
0
0
0
0
0
0
0
4
0
-8
29
-80
81
11
-22
-19
0
0
0
0
0
0
0
0
0
-1
8
-8
1
10
4
68
-23
-3
0
0
0
0
0
0
0
10
-10
13
65
77
-56
-53
-79
-37
0
0
0
0
0
0
0
0
6
-9
-13
10
9
18
-18
-109
-22
-6
0
0
0
0
0
0
0
6
-1
-1
-1
-4
-43
-3
48
-18
-1
0
0
0
0
0
0
0
5
0
-1
-1
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
47
68
0
0
103
2
15
-15
0
6
0
0
0
0
0
0
0
-1
78
64
113
40
49
34
3
-4
0
0
0
0
0
0
0
0
5
50
28
52
-1
-94
69
0
0
0
0
0
0
0
0
0
0
121
57
-59
17
18
-23
-6
-16
0
0
0
0
0
0
0
0
0
-22
4
20
-20
53
57
54
-3
4
0
0
0
0
0
0
0
0
-38
-14
-33
-78
46
-44
1
-1
0
0
0
0
0
0
0
0
0
35
-13
-60
-50
51
38
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-6
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-122
0
0
0
-4
-5
7
0
0
0
0
0
0
0
0
0
2
95
7
105
21
-59
-1
0
0
0
0
0
0
0
0
0
0
0
12
108
56
51
-56
-2
0
0
0
0
0
0
0
0
0
0
0
-57
74
29
39
15
0
0
0
0
0
0
0
0
0
0
0
0
21
74
-50
74
0
-6
0
0
0
0
0
0
0
0
0
0
0
3
-20
-45
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-56
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
47
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
68
82
20
0
0
0
0
0
0
0
0
0
0
18
38
80
53
-40
-7
8
2
0
0
0
0
0
0
0
0
0
-3
57
131
-13
-13
-41
-1
-1
0
0
0
0
0
0
0
0
0
-1
-3
16
24
66
9
0
0
0
0
0
0
0
0
0
0
0
1
-14
-2
-22
87
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
50
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
30
58
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
28
75
109
76
52
21
0
1
0
0
0
0
0
0
0
0
-1
39
125
3
10
41
-8
4
2
0
0
0
0
0
0
0
0
0
85
0
134
46
19
8
0
0
0
0
0
0
0
0
0
0
0
24
-106
9
-37
-39
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-7
-75
111
-2
0
0
0
0
0
0
0
0
0
0
0
0
23
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-86
30
82
94
125
0
0
0
58
-2
0
0
0
0
0
0
18
-22
3
-67
174
169
0
0
0
-17
18
-1
0
0
0
0
0
-16
-25
6
-1
136
58
204
59
-1
1
1
-1
0
0
0
0
0
1
16
10
81
9
96
119
92
62
-40
0
0
0
0
0
0
0
0
11
76
38
48
-6
18
61
90
35
0
0
0
0
0
0
0
-2
29
31
77
12
45
5
91
21
-67
7
0
0
0
0
0
0
0
9
58
-17
-30
21
-34
60
44
-17
-2
-2
0
0
0
0
0
0
0
-30
-23
40
-25
-13
-1
20
-5
5
0
0
0
0
0
0
0
0
0
-3
-2
-4
5
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-2
22
0
0
0
18
19
8
-2
0
0
0
0
0
0
0
-3
3
33
49
33
40
-12
0
-3
-2
-2
0
0
0
-1
2
14
-2
-55
91
34
25
-10
2
-4
-1
0
0
0
0
0
1
-4
12
-104
39
-2
-13
37
42
-35
-5
0
0
0
0
0
0
-3
8
-26
-4
-8
-92
-66
-9
-99
-7
0
0
0
0
0
0
0
0
24
3
-12
40
-58
25
27
-23
15
0
0
0
0
0
0
0
0
-3
-2
-3
3
-16
24
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
41
35
2
-31
63
0
0
0
0
0
0
0
0
0
0
0
6
2
29
2
60
19
12
0
0
0
0
0
0
0
0
0
0
-2
-15
-53
-39
0
34
-8
-1
0
0
0
0
0
0
0
0
0
5
2
31
2
-104
-25
-50
0
1
0
0
0
0
0
0
0
0
17
41
0
8
-54
-3
41
-29
-16
-5
0
0
0
0
0
0
0
25
18
57
67
47
50
-85
-53
-5
21
-5
0
0
0
0
0
0
33
22
-6
1
5
134
-40
100
18
-2
-5
10
0
0
0
0
0
1
-58
-9
52
-71
-17
68
19
-2
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-16
-44
-47
8
99
107
240
0
0
0
0
1
0
0
0
0
0
-14
-43
-31
-6
40
200
201
0
0
33
44
-30
3
0
0
0
0
-26
-15
-18
21
53
55
110
83
201
13
-10
32
0
2
0
0
0
-2
-13
-32
-38
-4
72
130
-19
167
-91
-71
5
0
0
0
0
0
-88
26
19
-4
-21
9
27
46
130
19
31
-4
20
-1
0
0
0
25
-48
-9
-47
-34
-46
55
46
-29
-99
97
-9
0
0
0
0
0
14
9
2
-7
-7
-60
8
40
-29
25
-3
4
0
0
0
0
0
0
2
-19
49
-39
-46
-29
1
0
-2
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-60
-2
-32
43
114
209
0
0
5
0
0
-14
0
0
0
0
-107
-24
-15
-11
26
97
93
69
9
-45
-83
-15
25
0
0
0
0
-27
5
-33
-17
20
58
65
39
-51
-27
2
-31
-5
0
0
0
0
45
-16
-10
-25
-11
23
57
43
21
-36
-31
-61
2
0
0
0
0
-52
-13
-34
-8
-32
-1
30
3
35
-2
-113
-34
2
0
0
0
0
16
-24
-47
-36
-19
-35
-16
-3
82
54
-62
-58
1
0
0
0
0
-48
6
5
-8
-41
-32
-34
-39
-76
35
62
-43
0
0
0
0
0
-35
-15
-37
-20
17
-44
-83
-14
-72
-43
-27
9
0
0
0
0
0
0
0
76
17
12
-70
-11
-1
-4
0
1
0
0
0
0
0
0
29
123
193
230
310
292
77
0
0
0
0
0
0
0
0
0
0
117
74
54
92
153
133
95
45
-6
0
0
0
0
0
0
0
0
25
-13
-8
-7
34
101
5
-70
9
0
0
0
0
0
0
0
0
-2
-83
-63
-28
73
34
49
-102
-35
0
1
0
0
0
0
0
0
15
-81
-70
-64
56
-37
20
31
-8
-13
0
2
0
0
0
0
0
-76
-41
-105
-26
-21
-12
-34
-8
-1
0
0
0
0
0
0
0
0
-4
-10
-26
-108
-179
-13
-67
-19
24
-12
0
0
0
0
0
0
0
-27
-37
-2
31
-1
-110
-34
0
-33
0
0
0
0
0
0
0
0
-21
-75
-14
8
-63
-2
0
17
0
0
0
0
0
0
0
0
0
-27
-13
-1
20
91
132
35
102
0
-1
0
0
0
0
0
0
0
3
-17
48
44
47
189
0
101
31
7
0
-4
0
0
0
0
0
0
8
0
28
95
79
49
30
-65
57
0
0
0
0
0
0
0
12
-5
-10
19
44
31
48
16
5
9
-5
0
0
0
0
0
0
12
-15
9
-26
-18
10
27
24
64
1
-3
0
0
0
0
0
0
-3
5
-79
23
-66
-47
-7
11
11
-1
0
0
0
0
0
0
0
-52
-10
-53
8
-63
1
38
-132
-22
0
0
0
0
0
0
0
0
-4
-37
-5
82
-37
66
-89
-7
1
0
0
0
0
0
0
0
0
0
0
-22
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-49
7
-49
27
85
269
118
0
0
43
5
0
0
0
0
0
0
10
-24
21
-7
43
162
234
0
213
0
78
-29
3
-6
0
0
0
-68
-11
-40
-17
62
123
92
135
93
63
121
-8
0
0
0
0
0
65
4
-16
-18
31
48
6
60
78
48
16
-29
-1
0
0
0
0
-6
45
13
-26
5
-14
72
-18
-1
5
18
0
0
0
0
0
0
-41
8
2
-20
-30
-7
7
33
-130
62
7
1
0
0
0
0
0
-1
-40
-48
-30
21
-34
-5
-54
-65
-17
1
1
0
0
0
0
0
-1
14
-16
0
26
-41
3
-7
-2
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
-39
1
106
155
145
255
0
0
0
0
0
0
0
0
0
19
32
-139
-27
19
142
77
0
73
0
28
-2
0
0
0
0
0
22
16
9
-10
9
121
5
31
174
86
32
0
0
0
0
0
0
-10
37
-5
-53
-12
46
92
20
164
64
-14
5
9
0
0
0
0
-42
-4
0
-55
-3
39
69
-4
40
78
23
0
0
0
0
0
0
13
-17
25
-14
-47
22
54
-39
46
-1
0
0
0
0
0
0
0
-1
-7
-62
-8
-13
-2
-79
-19
8
13
1
0
0
0
0
0
0
31
-14
22
56
-66
43
-11
-10
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
114
5
78
126
33
0
0
0
0
0
0
0
0
0
0
0
7
29
79
54
47
83
41
7
0
44
9
0
0
0
0
0
0
-1
60
2
49
2
-15
9
34
42
-21
0
0
0
0
0
0
0
7
-40
-33
5
-10
-39
19
17
4
-91
-9
0
0
0
0
0
0
-3
-13
-19
-45
25
-56
15
0
-29
-16
2
0
0
0
0
0
0
-47
-57
-11
20
-57
9
-6
-9
74
-27
3
0
0
0
0
0
0
-4
-112
-57
-69
-35
-59
-39
12
-25
-14
2
0
0
0
0
0
0
0
17
10
-24
-1
-10
3
-4
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
75
9
-16
-70
-52
-51
-4
0
0
0
0
0
0
0
0
0
9
19
35
-9
78
21
23
80
-36
1
0
0
0
0
0
0
0
-11
92
58
-40
-62
54
14
-29
-41
0
0
0
0
0
0
0
0
65
-9
55
40
-1
10
3
0
1
0
0
0
0
0
0
0
0
56
3
48
-12
-2
-26
0
0
0
0
0
0
0
0
0
0
0
60
24
33
1
-58
-20
0
0
0
0
0
0
0
0
0
0
0
33
-3
15
9
6
13
0
0
0
0
0
0
0
0
0
0
0
29
-22
8
104
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
46
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
-24
23
-22
0
0
0
0
0
0
0
0
0
0
0
0
11
110
-12
37
-26
-15
0
0
0
0
0
0
0
0
0
0
0
6
39
-28
19
-6
1
-1
0
0
0
0
0
0
0
0
0
0
-29
139
109
-42
-13
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
-37
28
-4
4
0
0
0
0
0
0
0
0
0
0
0
22
69
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
-30
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
33
-45
-6
-43
-8
1
0
0
0
0
0
0
0
0
0
-44
14
80
8
35
-30
-25
-14
12
0
0
0
0
0
0
0
0
36
-7
-6
24
40
-30
-2
0
0
0
0
0
0
0
0
0
0
-40
75
79
128
20
1
0
0
0
0
0
0
0
0
0
0
0
-24
122
49
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-10
70
-17
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-75
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-15
13
62
-6
-21
18
0
0
0
0
0
0
0
0
0
-8
105
-2
21
24
27
11
7
4
0
0
0
0
0
0
0
0
-7
27
95
-36
38
-24
0
-2
0
0
0
0
0
0
0
0
0
-3
10
95
65
46
-10
0
0
0
0
0
0
0
0
0
0
0
-2
91
119
46
13
13
2
0
0
0
0
0
0
0
0
0
0
-4
-17
-4
17
-25
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
24
-5
-7
-4
0
0
0
0
0
0
0
0
0
0
0
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
38
92
21
-15
31
-27
0
6
1
0
0
0
0
0
0
-76
21
7
-23
38
-6
-17
-117
5
-6
0
0
0
0
0
0
0
-18
108
42
11
-8
78
-41
117
88
-5
0
0
0
0
0
0
0
2
77
33
104
-42
17
-36
-9
-15
9
-1
0
0
0
0
0
0
27
72
6
-13
-12
-8
-49
0
-4
2
0
0
0
0
0
0
0
3
83
-32
71
-3
-11
4
-4
1
-3
0
0
0
0
0
0
0
-8
70
-94
6
6
1
3
0
-3
5
0
0
0
0
0
0
0
-7
43
-10
21
-2
-1
0
0
-27
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-21
5
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-26
5
-9
-1
0
-1
6
0
0
0
0
0
0
0
0
1
87
41
20
-1
0
0
0
1
0
0
0
0
0
0
0
0
40
82
-37
43
0
1
-14
0
0
0
0
0
0
0
0
0
0
-22
-33
4
47
-23
-1
0
0
3
-3
0
0
0
0
0
0
0
-4
21
20
5
-3
0
2
0
0
0
0
0
0
0
0
0
0
16
-18
59
-7
4
-4
0
0
0
0
0
0
0
0
0
0
0
-34
-48
28
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
182
5
35
50
40
-4
-7
0
-2
21
56
5
0
0
0
0
59
188
81
61
113
88
-83
-3
32
55
41
13
16
0
0
0
0
45
115
100
30
36
108
-99
-52
-52
22
77
-12
32
17
0
0
0
-11
76
86
29
68
13
73
76
47
93
9
64
-16
2
0
0
0
1
133
107
7
43
81
60
-36
-11
-52
3
9
-3
0
0
0
0
3
-23
145
47
82
-6
79
-8
10
5
-22
0
0
0
0
0
0
13
-9
5
29
-21
-24
7
21
11
-22
-7
0
0
0
0
0
0
18
5
-23
-1
1
-2
0
5
-24
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
33
23
3
2
48
15
17
0
-101
-49
79
-9
0
0
0
0
0
-59
10
-3
-3
10
-56
-57
-57
-63
13
-4
-14
-27
48
0
0
0
-86
76
47
31
29
-5
-81
-141
-196
-51
29
-8
3
0
0
0
0
29
-20
6
5
19
51
0
-151
-82
-128
44
-45
-3
0
0
0
0
-29
6
2
23
20
21
-7
-95
-63
59
12
-24
17
0
0
0
0
-20
-85
35
8
8
38
-38
-4
46
-67
86
-1
0
5
0
0
0
-46
33
26
10
14
10
39
0
97
9
12
-2
0
0
0
0
0
-46
46
133
17
-50
16
-5
-5
22
-72
4
-2
0
0
0
0
0
0
1
3
-13
4
-18
16
-54
94
8
0
0
0
0
0
0
0
-9
-42
25
109
14
-18
28
0
62
72
14
5
2
16
24
0
0
27
60
49
38
39
-60
-2
-31
9
-21
41
4
32
3
3
3
0
31
-48
146
60
44
89
-31
-34
8
-55
-40
-75
12
4
-3
0
0
8
56
30
2
53
-30
5
34
31
-14
-20
-1
-7
0
0
0
0
-3
15
16
36
-2
90
53
82
45
-41
-25
5
0
-2
0
0
0
-2
-25
24
37
45
-35
26
-45
19
-47
1
-39
-7
0
0
0
0
0
-22
22
42
18
-5
43
-71
-18
22
40
-42
5
-4
-4
0
0
0
0
0
13
4
-28
18
-22
6
0
43
31
15
-3
-2
3
0
0
0
6
47
10
19
7
22
1
-12
-61
-26
30
-4
2
0
0
0
25
53
59
55
-2
6
0
50
39
-3
43
0
0
0
0
0
0
6
114
55
0
28
-36
-2
38
13
9
11
-3
2
0
0
0
0
-22
53
65
-13
-34
-68
-85
23
-3
-42
-3
0
0
0
0
0
0
0
-32
84
54
-17
-56
11
29
-5
29
-30
0
1
0
0
0
0
3
45
12
12
-34
-13
8
39
-95
25
16
1
0
0
0
0
0
1
60
89
2
-29
68
-6
22
7
9
15
3
-2
0
0
0
0
0
9
65
-12
23
-22
-52
9
-17
-23
-41
3
-1
0
0
0
0
-1
0
52
2
27
-26
-60
0
-91
0
-4
2
0
0
0
0
0
0
0
0
0
26
1
0
0
0
0
0
0
0
0
0
18
49
64
40
38
-10
0
61
0
66
-4
38
0
0
0
0
0
-20
65
96
27
10
-11
-45
-21
5
-5
30
23
22
2
0
0
0
92
39
20
120
-22
43
51
-99
-5
104
-12
70
5
-2
2
0
0
115
30
73
80
95
56
-15
59
61
-27
-2
-24
3
0
0
0
0
46
-19
22
13
75
89
59
46
33
125
-3
13
-1
0
0
0
0
25
-13
97
8
16
21
39
61
41
74
12
-3
0
0
0
0
0
-4
-109
65
63
105
-25
18
-54
-19
6
-1
0
0
0
0
0
0
0
42
-66
-30
-3
-46
-2
-16
41
13
2
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
88
-6
55
61
29
124
26
26
0
-92
10
1
0
0
0
0
0
35
46
50
45
7
59
88
-110
47
-23
77
1
1
0
0
0
0
-31
57
94
69
36
-36
67
-93
-45
51
11
-2
0
0
0
0
0
49
70
103
44
-56
75
3
58
40
30
-21
-4
0
0
0
0
0
-9
49
39
-14
-53
-24
16
-20
0
108
19
0
1
0
0
0
0
-90
-14
125
55
83
-1
31
71
-29
-20
-3
-4
0
0
0
0
0
9
10
44
-44
3
7
28
-65
-109
-29
0
3
0
0
0
0
0
0
6
2
9
2
-49
10
18
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
5
0
7
-2
-8
0
9
4
0
10
0
0
0
0
0
0
0
10
-7
25
0
10
-3
11
-1
-90
-56
8
0
0
0
0
0
0
-1
9
8
-33
28
-65
20
3
-36
-16
-8
0
0
0
0
0
0
6
18
-12
13
49
-3
-29
0
-2
0
0
0
0
0
0
0
0
-1
12
12
24
-6
-28
7
2
-17
0
0
0
0
0
0
0
0
0
3
4
-1
20
-11
-5
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
5
7
-8
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
30
0
0
0
0
0
0
0
0
0
0
0
6
0
0
139
20
40
30
-1
2
0
0
0
0
0
0
0
1
18
200
274
100
65
-109
1
2
-1
0
0
0
0
0
0
0
0
-22
129
296
158
-24
67
7
0
0
0
0
0
0
0
0
0
-1
-4
142
104
39
-30
-36
-2
-1
0
0
0
0
0
0
0
0
-8
-31
-46
-100
45
-2
-12
3
0
0
0
0
0
0
0
0
0
2
-16
-22
-9
-22
-67
41
0
0
0
0
0
0
0
0
0
0
0
0
-18
21
-23
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
51
-9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-71
-6
-1
0
0
0
0
0
0
0
0
0
0
0
104
197
103
1
8
0
0
0
0
0
0
0
0
0
0
0
0
28
165
-108
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
55
6
-10
1
0
0
0
0
0
0
0
0
0
0
0
4
5
-23
41
3
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
-91
-51
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
30
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
38
35
-2
0
0
0
0
0
0
0
0
0
0
0
12
144
197
136
-20
43
0
2
0
0
0
0
0
0
0
0
0
5
27
228
40
-41
4
7
0
0
0
0
0
0
0
0
0
0
2
-17
56
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
71
56
6
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-11
-55
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
15
-2
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
60
48
0
4
0
0
0
0
0
0
0
0
0
-2
76
132
158
94
-33
1
1
0
0
0
0
0
0
0
0
0
3
-1
72
153
50
-8
5
0
0
0
0
0
0
0
0
0
0
8
-21
-48
62
-33
33
-2
0
0
0
0
0
0
0
0
0
0
0
43
-21
-38
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-61
-107
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
15
11
-7
-33
-17
25
0
0
0
2
-8
0
0
0
0
0
-4
-1
39
-3
-81
46
-40
0
0
0
10
-10
-4
-6
0
0
0
2
-16
95
33
87
28
40
100
197
40
-93
8
-5
0
0
0
0
0
25
15
-32
14
104
-88
131
169
108
-86
22
0
0
0
0
0
0
-49
67
45
-32
-114
-58
5
154
2
51
10
0
2
0
0
0
0
-41
29
36
8
23
38
-31
54
-37
42
-16
0
0
0
0
0
0
24
-17
1
-34
-4
-5
-15
-39
-61
-112
-12
-1
0
0
0
0
0
0
40
-5
-6
49
0
-27
-39
3
-52
0
3
0
0
0
0
0
0
0
0
0
0
6
2
-29
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
-1
0
0
0
0
0
2
0
0
3
12
2
0
0
0
-35
-14
-1
7
0
0
0
0
4
0
3
-7
-4
0
-13
2
27
-16
17
-1
0
0
0
0
0
-3
-7
18
3
10
8
31
107
145
-58
-1
-3
0
0
0
0
0
-2
100
-15
17
-24
7
87
-53
120
-57
-5
-1
0
0
0
0
0
0
-10
2
-9
-8
14
50
26
135
-39
3
0
0
0
0
0
0
0
14
2
3
9
-8
130
32
98
-16
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
-4
75
93
39
2
0
0
0
0
0
0
0
0
0
0
0
0
2
102
13
-1
0
0
0
0
0
0
-48
5
2
-51
-9
-50
-2
0
0
0
0
0
0
0
0
0
0
14
-18
-5
-13
80
25
8
0
0
0
0
0
0
0
0
0
0
27
-4
12
-20
-68
-4
-10
3
0
1
0
0
0
0
0
0
0
60
-13
-18
-26
41
34
32
8
0
0
0
0
0
0
0
0
0
44
4
12
6
24
18
0
48
-12
2
0
0
0
0
0
0
0
41
29
-22
26
51
117
-10
6
47
13
0
0
0
0
0
0
0
-71
1
3
9
-21
82
55
-10
-6
52
-4
0
0
0
0
0
0
-23
-39
-33
18
-24
37
48
-8
30
35
7
0
0
0
0
0
0
0
12
-3
12
-23
4
4
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
20
-3
35
0
0
0
42
5
-2
0
0
0
0
-23
-5
20
31
6
116
126
0
0
128
-33
-9
0
0
-2
0
0
-49
2
1
-9
40
-17
99
46
156
19
-5
55
0
0
-8
0
0
0
22
8
22
0
-40
94
8
191
98
21
-4
0
0
0
0
0
-36
21
-13
-15
-28
-27
57
-100
83
-16
-27
-14
-2
0
0
0
0
-38
-2
-24
-20
33
2
25
67
-75
-7
0
0
0
0
0
0
0
-29
-4
-1
-30
-2
95
-23
-7
-111
-40
-33
1
0
0
0
0
0
-4
-30
-3
10
-13
-15
0
6
-52
-29
-14
0
0
0
0
0
0
0
13
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
27
23
18
17
52
88
0
0
53
-23
-22
0
0
0
0
0
-6
-73
-10
-10
27
25
30
54
19
-13
30
33
0
0
0
0
0
-81
-3
22
-5
3
8
-33
-23
4
78
42
8
0
0
0
0
0
-3
9
-10
16
-7
-31
-54
5
70
55
-2
-9
0
0
0
0
0
44
-25
1
-10
-6
-20
16
-77
0
-28
-2
-6
-1
0
0
0
0
-41
6
12
8
-1
-7
-12
19
-25
-47
20
3
0
0
0
0
0
-38
-8
10
-7
9
-23
-27
-26
-49
-4
12
0
0
0
0
0
0
-27
-8
9
15
19
-26
12
-64
-112
-75
0
0
0
0
0
0
0
-3
-16
72
30
13
-39
36
25
15
5
6
0
0
0
0
0
0
14
66
103
93
94
119
-46
0
0
0
0
0
0
0
0
0
0
-13
10
43
31
65
-15
-41
-6
0
0
0
0
0
0
0
0
0
-5
-13
6
7
10
19
2
-11
43
0
0
0
0
0
0
0
0
-24
-20
-16
8
51
43
23
-25
1
0
1
0
0
0
0
0
0
-16
-29
21
15
3
21
22
-24
-2
0
0
0
0
0
0
0
0
-13
-7
-12
-63
-32
58
63
-22
-16
-3
-1
0
0
0
0
0
0
0
-12
-8
-16
-13
91
-27
25
-8
10
0
0
0
0
0
0
0
9
8
4
-8
39
-71
91
2
-10
0
0
0
0
0
0
0
0
5
22
-20
21
20
30
-15
39
5
0
0
0
0
0
0
0
0
-47
11
47
30
62
102
117
1
0
0
0
0
0
0
0
0
0
4
21
-46
16
74
78
0
-44
61
-7
-1
0
0
0
0
0
0
-31
1
-13
14
9
50
39
-78
0
0
0
0
0
0
0
0
0
7
49
-17
-15
2
-19
-20
21
-21
-5
-2
0
0
0
0
0
0
7
33
-6
-11
3
-36
25
-21
65
0
0
0
0
0
0
0
0
10
15
17
-28
-8
10
-46
-47
-56
2
0
0
0
0
0
0
0
-9
-14
-4
-25
55
11
-141
-58
-74
0
0
0
0
0
0
0
0
12
67
1
65
-12
-7
-27
-5
0
0
0
0
0
0
0
0
0
0
2
-32
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-28
22
8
19
57
65
0
0
116
17
44
2
0
0
0
0
-62
2
6
17
58
45
195
0
136
0
50
100
3
0
0
0
0
29
-4
-23
27
52
-52
4
68
158
19
-19
4
1
0
0
0
0
64
12
-24
-11
32
-9
132
-54
183
-69
-98
36
2
0
0
0
0
45
16
9
-23
46
-25
-64
22
48
30
-46
0
0
1
0
0
0
-80
-12
22
-14
19
-29
3
-49
-63
-119
-8
-20
0
0
0
0
0
7
7
-7
53
75
-25
-37
38
-73
-96
-3
0
0
0
0
0
0
-4
-4
-96
-54
6
-16
-27
0
12
-18
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
8
0
0
0
0
0
0
0
6
0
12
-1
67
-38
-88
-2
0
79
9
1
-7
0
0
0
0
-31
-5
29
-16
15
62
53
0
71
0
6
5
0
0
0
0
0
-20
-4
10
0
-8
-14
88
57
136
44
16
19
-2
0
0
0
0
30
4
-34
-41
19
-35
88
37
66
158
26
4
-3
0
0
0
0
-88
4
20
10
11
10
14
-41
92
187
0
-1
1
0
0
0
0
26
-79
-2
-53
35
-36
17
-1
-3
-109
-10
0
0
0
0
0
0
58
-7
-44
-43
-21
44
9
-9
-27
-28
-2
0
0
0
0
0
0
0
-42
19
-38
-28
-2
9
-9
-2
-12
0
0
0
0
0
0
0
0
10
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-81
8
-18
6
0
0
0
0
0
0
0
0
0
0
0
-6
8
-32
-11
-4
0
1
0
0
0
-5
0
0
0
0
0
0
1
32
0
3
-25
-1
-4
0
-1
30
-2
0
0
0
0
0
0
0
-2
-12
20
19
-3
-1
0
20
50
1
0
0
0
0
0
0
-1
37
-65
4
4
-2
0
-23
53
56
0
0
0
0
0
0
0
-8
-52
-25
10
-16
0
-1
-3
49
69
2
0
0
0
0
0
0
-1
-20
-1
-1
7
-1
0
-6
-30
90
1
0
0
0
0
0
0
-1
-12
-25
0
-2
0
0
-2
59
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-5
2
0
0
0
0
0
41
7
0
0
0
0
0
0
0
-27
22
-28
17
-8
5
90
113
7
14
0
0
0
0
0
0
-9
19
-45
-40
76
26
-6
11
23
-49
-13
0
0
0
0
0
0
28
17
52
54
1
-30
20
-4
1
18
1
0
0
0
0
0
0
-78
-21
-40
31
-45
1
0
-3
0
0
0
0
0
0
0
0
0
-27
90
18
40
41
-64
0
6
0
0
0
0
0
0
0
0
0
-45
9
64
42
60
-4
2
0
0
0
0
0
0
0
0
0
0
-9
55
32
-75
-19
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-2
0
-1
0
0
1
-4
-17
21
1
0
0
0
0
0
0
0
0
-1
-52
-41
3
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
-2
-23
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
22
-38
-21
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
46
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
10
28
55
2
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-71
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
2
-3
0
9
1
-2
-24
-8
4
0
0
0
0
0
0
8
-22
13
14
-4
-2
1
-9
16
-19
0
0
0
0
0
0
0
-3
12
-73
-1
-19
4
-6
0
3
0
0
0
0
0
0
0
0
0
13
-14
-25
-42
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
58
68
0
1
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-23
-5
27
0
0
0
0
0
0
0
0
-4
70
-9
19
-8
-2
-1
3
24
0
0
0
0
0
0
0
0
6
6
36
-20
-19
0
0
0
0
0
0
0
0
0
0
0
0
-54
34
2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-24
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
0
61
-2
0
0
0
0
0
0
0
-7
-14
0
-33
-44
-4
6
-57
144
46
0
0
0
0
0
0
-1
-4
-10
-15
57
48
-129
-89
-51
-48
1
-1
0
0
0
0
0
-56
19
5
28
33
94
-48
57
39
-29
0
0
0
0
0
0
0
16
37
40
-2
20
50
9
-51
52
6
0
0
0
0
0
0
0
7
-11
51
-42
-37
-6
41
3
0
-1
0
0
0
0
0
0
0
-6
24
-14
84
29
-6
-36
8
-9
-8
0
0
0
0
0
0
0
0
-12
-9
49
-5
8
0
5
0
-3
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
-7
-1
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
13
7
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
44
-50
27
-3
2
-4
0
0
0
0
0
0
0
0
0
0
-2
26
-1
23
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
33
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
-38
-44
0
83
-12
22
-6
8
0
0
0
0
0
7
-8
25
26
-77
-56
-78
45
-17
39
-25
20
-4
0
0
2
3
-46
-3
59
51
59
-61
-82
-52
-98
63
-8
-7
9
0
0
-2
0
31
-85
-44
56
83
-36
70
61
-35
-14
3
0
0
0
0
-8
20
-71
-3
1
62
82
41
11
46
17
-48
0
0
-3
0
0
-17
8
20
75
33
62
24
59
-30
-22
18
0
0
0
0
0
0
0
-13
1
-47
92
20
-54
53
1
39
0
0
0
0
0
0
0
0
0
2
-2
-27
-48
-13
45
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-27
-23
-34
-56
43
0
-75
-142
-85
-55
-21
27
0
0
0
1
65
76
10
29
-96
-83
-25
-71
-169
-20
-23
67
-47
5
0
0
108
136
68
71
-10
-62
30
3
-43
-54
-69
-27
-40
7
1
0
0
11
145
53
61
-19
-30
1
10
13
3
-126
-95
-48
9
0
0
0
46
52
22
47
-18
-20
-1
27
-65
28
-3
-18
-62
0
0
0
0
42
28
60
10
9
-11
4
-10
11
9
-8
-14
58
-5
0
0
0
22
36
38
22
11
6
10
-16
8
-4
52
81
-15
0
0
0
0
60
28
0
-46
-26
7
21
17
34
24
25
-46
1
-1
0
0
0
0
-6
-46
46
41
58
20
-13
53
-36
-50
-50
12
0
0
0
0
0
0
0
-1
2
9
105
0
-47
-53
19
4
0
0
0
0
0
0
0
9
-7
25
25
6
1
-41
38
26
8
-7
0
0
0
0
0
0
-13
10
72
76
14
101
31
-17
-9
0
-3
-2
0
0
0
0
7
7
42
-44
-17
-17
-26
11
-18
5
3
0
0
0
0
0
0
1
42
55
-33
115
-17
32
4
3
-8
0
-1
0
0
0
0
0
0
-13
-2
-47
99
-59
-36
49
0
0
0
0
0
0
0
0
0
0
15
-9
24
-33
-28
24
-2
-3
0
0
0
0
0
0
0
0
-15
0
-27
-51
-25
-19
-26
9
-9
0
0
0
0
0
0
0
1
0
0
2
-24
-4
-66
2
0
-2
0
0
0
0
0
0
0
0
0
-2
44
-6
-64
-66
0
-50
53
18
41
-1
0
1
0
0
0
-5
18
121
7
22
-9
-40
51
-12
111
75
-57
6
9
0
0
0
-5
84
-77
76
-18
46
-9
-26
-24
52
64
23
6
1
0
0
0
1
23
56
-30
22
55
42
43
25
31
-1
-11
-1
4
0
0
0
-8
90
35
-25
116
-19
88
25
20
21
-4
0
0
0
0
0
0
0
14
80
60
53
39
72
79
-47
7
51
0
0
0
0
0
0
0
5
48
-1
1
87
-2
64
-22
-80
-29
-1
0
0
0
0
0
0
-2
-11
-24
96
37
59
11
-87
16
0
0
0
0
0
0
0
0
-5
0
-1
26
-22
24
-1
0
0
0
0
0
0
0
-4
0
0
0
1
-4
-39
105
0
-36
11
-28
28
18
0
0
0
8
-1
25
-3
46
7
-176
49
28
-48
48
36
-16
-11
8
0
0
-2
27
40
-75
-3
45
-52
-54
-58
-29
-1
53
36
3
0
0
0
0
72
76
68
39
-82
27
62
-5
32
-18
33
8
0
0
0
0
-13
-5
-59
-30
-25
48
77
98
25
27
-35
2
0
-5
0
0
0
0
4
14
28
81
38
111
87
12
8
0
0
-2
0
-2
0
0
0
-1
12
7
50
76
24
5
4
0
5
0
3
0
0
0
0
0
4
-5
-7
125
-9
42
57
47
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-12
-11
-14
0
39
-79
-3
0
5
-1
0
0
4
2
0
-63
44
-39
-52
-33
-19
17
-34
48
5
-1
2
0
0
-3
-1
-10
-37
69
55
-55
-45
-52
-5
55
-13
-5
0
0
0
0
0
-56
-20
37
58
15
-62
56
97
96
-7
-8
0
0
0
0
0
2
29
107
-94
9
-9
-20
81
92
81
8
0
0
0
0
0
0
0
6
31
86
104
-40
10
83
13
87
14
0
0
0
0
0
0
0
0
-6
16
-4
73
-36
-74
6
-37
1
0
0
0
0
0
0
0
-7
2
5
31
57
-50
4
-71
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
65
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
73
4
48
-1
0
0
0
0
0
0
0
0
2
0
0
-3
-6
9
-82
4
-5
0
0
0
0
0
0
0
0
0
2
2
3
21
132
-40
-2
3
0
0
0
0
0
0
0
41
-2
0
-8
12
-3
-6
-69
0
0
0
0
0
0
0
0
-4
-4
8
-3
-2
4
-1
-19
-1
-3
0
0
0
0
0
0
0
1
5
9
-1
-1
0
-2
1
-77
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
10
-22
5
2
0
0
0
0
0
0
0
0
42
0
0
120
109
23
-44
12
-25
5
0
0
0
0
0
0
8
124
77
70
20
-27
46
99
5
-62
0
0
0
0
0
0
0
-10
-72
40
59
-15
31
-19
59
-72
-19
-1
0
0
0
0
0
0
24
75
61
50
43
-44
-20
-46
5
-5
0
0
0
0
0
0
0
-31
74
-18
-27
38
-68
-9
-6
-54
0
0
0
0
0
0
0
0
13
-59
28
-70
56
-28
12
6
8
0
0
0
0
0
0
0
0
4
-63
-27
-25
26
-82
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
2
0
0
0
0
0
0
0
0
0
0
28
81
59
5
-10
-13
-1
-2
-1
0
0
0
0
0
0
0
0
-11
20
27
14
16
-5
0
0
0
0
0
0
0
0
0
0
0
28
85
-44
47
-4
4
0
0
0
0
0
0
0
0
0
0
0
-19
-51
-36
-33
-73
2
0
0
0
0
0
0
0
0
0
0
0
-22
13
11
53
-70
-1
0
0
0
0
0
0
0
0
0
0
0
10
-108
-6
34
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
24
121
17
6
0
0
0
0
0
0
0
0
0
-25
0
0
12
-11
-38
8
-6
-6
0
0
0
0
0
0
0
0
9
-49
37
52
58
12
-2
-46
2
0
0
0
0
0
0
0
9
48
14
107
13
-6
-5
13
0
0
0
0
0
0
0
0
0
-9
13
-31
10
2
-57
5
-1
0
0
0
0
0
0
0
0
0
0
-95
79
-3
-54
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-80
-31
-15
0
-3
-1
0
0
0
0
0
0
0
0
0
0
4
-24
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
9
-6
-24
-1
0
0
0
0
0
0
0
0
3
149
58
34
68
33
1
-2
0
0
0
0
0
0
0
0
0
1
-48
-46
-73
-76
42
-7
-19
-1
5
0
0
0
0
0
0
0
0
-11
97
72
43
7
2
0
0
0
0
0
0
0
0
0
0
-3
-20
-14
-68
-37
5
0
0
0
0
0
0
0
0
0
0
0
-4
5
6
-21
30
-9
1
-1
0
0
0
0
0
0
0
0
0
0
-20
48
-6
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
47
5
0
2
0
0
0
0
0
0
-2
-7
-4
5
0
0
0
86
-11
-15
-4
0
0
0
0
0
1
-7
82
13
63
170
62
147
-15
-18
3
17
0
0
0
0
0
4
-32
-93
36
54
45
60
31
63
-12
40
-6
0
0
0
0
0
-21
31
49
24
25
-3
38
-12
37
-65
-4
-19
5
0
0
0
17
-42
-19
126
37
3
84
-55
37
27
15
1
-1
0
0
0
0
0
2
25
-86
53
-25
-14
-14
-88
-87
0
-1
4
0
0
0
0
0
0
12
13
14
23
56
42
100
-38
3
-2
0
0
0
0
0
0
0
0
0
10
34
19
-75
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
6
-1
5
0
0
0
0
0
0
0
1
-4
51
74
5
15
2
0
-1
0
0
0
0
1
0
0
0
-3
7
43
58
54
-9
-8
0
2
0
0
0
0
2
27
47
-4
2
-18
-8
-72
-17
-14
0
-5
0
0
0
0
0
0
9
11
-84
9
23
-43
36
77
-44
0
0
0
0
0
0
0
0
-17
-4
0
-3
-16
-78
-5
-82
-2
0
0
0
0
0
0
0
4
0
0
-2
0
7
-76
29
11
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
37
38
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
17
-13
67
29
8
19
0
0
0
0
0
0
0
0
0
0
0
-33
-37
-38
45
-27
-30
14
0
0
0
0
0
0
0
0
0
0
-40
22
53
-130
-29
18
-6
5
-6
-1
1
0
0
0
0
0
0
5
-29
31
29
-24
-55
14
1
25
-1
0
0
-5
0
0
0
0
5
43
13
87
-17
12
35
42
2
48
-2
-3
9
-5
0
0
0
-2
-49
56
23
11
4
21
-27
-49
12
-62
76
36
8
1
0
0
0
24
19
102
41
-5
13
58
-26
-62
29
-10
-63
-7
-1
0
0
0
0
0
0
9
0
67
-44
11
27
-12
0
0
0
0
0
0
4
10
-70
0
-15
14
1
0
0
0
132
-10
-13
4
0
0
0
-99
-116
-72
-51
-25
38
16
0
0
207
155
-88
100
-25
-2
1
0
-18
-11
-65
3
25
-13
109
152
30
150
32
38
8
-1
-28
0
0
-56
0
-35
-15
-26
26
23
-2
55
67
52
-13
11
-1
3
0
0
-61
-25
-25
-5
26
-22
104
40
13
-49
-46
5
19
0
0
0
0
-34
62
-8
5
46
82
0
-99
27
-8
-87
79
-1
0
0
0
0
9
1
114
-27
-17
-80
-15
-12
-94
-9
-59
-8
0
0
0
0
0
0
-38
26
50
-10
19
-53
14
-1
-19
0
-5
0
0
0
0
0
0
0
0
0
0
2
-1
0
-5
8
0
7
0
0
0
0
0
0
-12
71
-118
7
147
192
0
0
-38
-26
17
0
-5
0
0
0
-31
-1
-97
-33
-41
8
198
80
-10
-145
19
-9
-42
0
0
0
0
26
2
5
-11
-67
30
19
67
-6
97
-32
-88
70
-1
0
0
0
62
-46
19
43
18
-17
39
19
45
15
-101
-21
12
5
6
0
0
20
58
-36
4
12
-50
-2
72
-30
82
-33
34
5
-1
0
0
0
51
24
30
11
-12
-31
-28
-35
-76
27
53
-26
51
0
0
0
0
-5
126
19
24
19
-80
-18
-25
16
-17
-38
-90
-48
5
0
0
0
-8
57
-14
-16
-55
-13
-54
3
-46
-12
17
0
-2
0
0
0
0
0
8
-11
54
-32
-57
-132
-57
-56
-32
23
2
0
0
0
0
0
-58
74
24
31
32
0
-5
0
0
-1
2
0
0
0
0
0
0
149
98
8
215
105
109
12
14
-21
2
1
0
0
0
0
0
0
-16
32
-72
44
-45
-6
-54
-39
-3
-2
0
-1
0
0
0
0
0
73
-90
-26
-40
-3
-35
68
58
3
-9
0
-2
0
0
0
0
0
-40
-44
-70
-23
21
75
-36
-29
-9
2
0
0
0
0
0
0
0
-36
-32
-75
-15
28
-39
-44
-52
-4
0
0
0
0
0
-1
0
0
34
-32
-80
-93
4
-90
-11
-71
-23
0
0
0
0
-4
0
0
0
1
26
-32
51
-61
23
-42
-44
-41
-1
9
0
0
0
0
0
0
-16
-24
-5
1
2
8
-10
32
-1
0
-1
0
0
0
0
0
0
-36
31
-11
1
-38
22
93
6
0
1
-2
2
0
0
0
0
0
22
12
64
-16
8
240
0
-41
6
-25
4
-13
-15
0
0
0
0
-45
-96
39
35
-47
-4
169
12
42
-36
-2
0
0
0
0
0
0
22
-42
51
57
-7
100
67
73
-19
-4
0
0
0
0
0
0
0
-37
-21
1
12
-56
9
-52
80
90
-3
5
0
0
0
0
0
0
-91
-23
-27
29
-5
77
-10
-65
-3
-1
31
0
0
0
0
0
0
-55
-2
16
51
29
10
-61
-8
10
9
4
0
0
0
0
0
0
0
38
20
83
-7
-10
-57
-40
0
0
0
0
-4
0
0
0
0
0
0
-3
-5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-18
35
112
35
0
0
0
156
-24
-13
13
30
0
0
0
-4
-12
33
-38
-33
-31
46
0
39
0
-6
75
-47
-4
4
0
0
-38
-47
-9
-43
-43
-82
94
44
99
-12
48
-6
48
1
0
0
0
-26
4
43
52
-41
-11
-7
-4
44
66
1
-2
-8
2
0
0
0
-8
67
-43
-2
7
-10
-7
64
113
73
-20
-27
14
0
0
0
0
-29
-125
45
-26
12
-35
-37
-71
28
-26
8
38
-8
-1
0
0
0
4
-24
2
39
15
22
-63
-15
-10
-110
26
19
58
0
0
0
0
0
-8
-5
-10
-26
-32
-20
-104
2
-9
-31
10
7
0
0
0
0
0
0
0
0
-1
0
-1
-1
16
0
0
0
0
0
0
0
0
0
-6
-3
18
-8
0
5
0
0
2
24
2
0
0
0
0
0
0
7
-22
-16
92
31
32
0
-6
0
30
14
5
0
0
0
0
-3
54
-8
18
91
54
86
62
62
3
79
78
2
1
-3
0
0
25
-17
-41
47
5
46
100
43
71
40
19
91
25
-1
0
0
0
74
22
43
38
79
24
60
-8
66
-59
11
30
8
3
0
0
0
6
-37
36
-6
26
-27
19
-10
-64
-2
26
0
1
0
0
0
0
-2
19
52
49
-53
-16
3
-68
-16
-53
-3
-1
0
-2
0
0
0
0
-128
14
-88
-68
36
-55
47
-50
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
7
5
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
6
-1
9
0
0
0
0
16
13
25
0
0
0
0
0
0
29
11
18
-2
-21
-14
3
133
-19
-6
1
0
0
0
0
0
0
61
68
-11
-13
-51
5
-29
19
-49
30
-2
0
0
0
0
0
0
-78
-14
-20
99
51
-40
-16
2
32
1
-1
-2
0
0
0
0
3
70
-80
-14
-110
-45
-3
-74
-82
21
9
0
0
0
0
0
0
7
44
-97
0
-40
38
26
-9
49
3
-1
0
0
0
0
0
0
-3
28
42
5
-26
-10
126
-14
-41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-27
-23
-17
-7
5
0
17
0
0
0
0
0
0
0
0
66
-7
33
18
3
2
0
21
28
0
0
0
0
0
0
0
0
-28
-54
3
-33
-8
5
0
0
0
0
0
0
0
0
0
0
-1
8
2
29
-5
-7
0
0
0
0
0
0
0
0
0
0
0
1
1
46
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
-6
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
10
40
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-15
-5
0
-4
1
-6
-7
0
0
0
0
0
0
0
-1
1
0
40
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
6
-57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
-1
0
9
0
0
0
0
0
0
0
0
0
8
6
32
7
14
-1
0
0
2
0
0
0
0
0
0
0
0
0
-5
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
6
20
41
-19
-102
0
-8
-19
7
0
0
0
0
0
0
33
14
61
25
-42
-101
-19
-1
-32
1
-5
4
0
0
0
0
-1
29
-3
56
38
34
-56
-29
31
-92
-5
10
0
0
0
0
0
0
52
-1
6
26
15
91
11
-6
50
13
0
0
0
0
0
0
8
5
10
3
7
-42
-107
-2
50
14
5
7
0
0
0
0
0
0
-6
7
14
-12
-27
-70
-40
0
2
0
0
0
0
0
0
0
-1
-2
-2
-15
24
-12
-7
-46
-14
5
0
0
0
0
0
0
0
7
9
5
-7
0
0
3
-14
-57
3
0
0
0
0
0
0
0
3
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-3
3
0
10
8
0
0
0
0
0
0
0
0
0
-2
-2
0
6
0
0
-3
5
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-17
40
2
0
36
-12
67
-28
-1
-2
0
0
0
31
66
24
46
57
14
-5
8
82
11
-37
-33
7
84
0
0
-4
17
-34
89
59
115
-71
-36
-33
34
21
-6
-6
-19
57
0
0
32
120
91
41
-44
0
91
90
54
81
64
-40
67
48
-8
0
0
0
-8
30
-31
14
-26
-42
95
90
60
-64
21
41
2
-2
0
0
0
0
-40
23
10
-19
101
21
-30
-77
-96
4
-2
16
1
1
0
0
0
-8
0
13
5
8
-124
-65
-48
25
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-15
-27
8
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
40
13
40
-7
64
0
-35
67
79
-32
-35
50
0
0
0
-3
13
-16
35
35
-41
-14
38
-16
-33
-56
21
9
123
16
0
0
-59
-32
23
28
-25
-44
-35
-63
-58
-68
83
-34
17
-33
41
0
0
1
-64
-8
-6
-14
47
48
-71
-48
-68
-32
-23
-105
9
-21
0
0
-46
-130
-45
-70
46
68
-28
-103
-102
-50
11
8
-3
-11
1
0
0
-4
-85
-107
64
35
0
-20
-86
-40
32
21
-23
11
12
13
0
0
-3
1
-12
31
20
3
-3
-30
-55
33
80
24
-8
-3
0
0
0
3
0
29
39
-25
11
2
-71
14
21
-131
61
-16
73
0
0
0
0
1
0
39
-45
-38
-1
47
-42
-31
45
-24
84
1
0
0
0
0
0
-5
1
49
-167
35
0
86
-15
5
99
-30
-4
-40
4
0
0
-10
-17
24
107
8
86
-11
-15
23
20
52
53
27
-34
3
0
0
0
1
-36
176
19
-25
-68
8
-52
69
-29
-11
37
-1
-1
0
0
7
-4
55
47
79
-10
23
45
13
-22
53
27
-17
22
-1
0
0
0
0
30
-29
-71
28
3
-10
68
38
-5
6
20
0
-1
0
0
0
0
0
-12
24
-87
8
-35
50
13
-22
-51
-12
59
0
0
0
0
0
0
28
131
-14
-21
-10
-14
34
-6
24
4
86
-14
0
0
0
0
-2
51
-51
33
36
14
13
16
-58
22
7
49
4
0
0
0
0
8
-13
-27
-3
-17
47
2
-2
-55
46
-26
1
-62
0
0
0
-8
44
31
8
137
0
24
-20
60
32
50
20
43
-1
0
0
-1
-26
38
107
20
-35
9
30
35
94
22
1
13
27
1
0
0
0
64
23
-44
-21
-17
-56
-17
80
98
37
-14
18
1
0
0
0
0
7
34
-9
-13
26
34
44
23
20
22
15
-4
-4
0
0
0
-2
1
-50
-97
-1
-30
22
53
11
-21
-10
12
27
-2
0
0
0
0
-4
-36
103
99
5
-11
-44
11
75
-53
-65
-23
-12
0
0
0
0
7
-15
65
4
16
-63
38
38
3
115
17
56
3
-1
0
0
0
0
26
-14
45
-9
-31
4
106
131
0
-62
13
40
0
0
0
0
0
0
6
-14
42
1
-4
0
0
0
0
0
0
0
0
1
7
-1
71
-15
-107
105
0
54
4
-21
1
-11
0
0
0
-2
97
41
29
95
15
-59
-23
32
42
-72
-35
47
-29
-32
0
0
19
54
45
18
67
9
25
-32
6
33
45
14
-31
-3
14
0
0
14
41
88
57
28
-7
62
26
49
40
-20
43
-55
25
8
2
0
0
21
5
12
61
14
23
32
10
-92
7
-1
11
-3
2
0
0
0
6
-3
35
31
110
-68
12
-12
-30
47
-3
0
0
0
0
0
0
0
5
-15
-5
2
50
100
-21
14
68
-5
-5
0
0
-1
0
0
0
12
0
-50
1
48
-63
-4
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
9
45
-7
-80
-39
0
1
14
-6
0
2
0
0
0
3
-4
8
42
25
-7
-29
-104
-12
-49
-8
-18
-28
0
0
0
0
0
20
-6
41
35
11
-20
-92
54
6
26
59
5
3
0
0
0
8
-23
31
-2
-46
40
-5
65
-7
66
130
75
0
0
0
0
0
0
4
-6
7
-24
54
49
-38
57
30
151
10
0
0
0
0
0
0
0
-17
45
-54
24
-6
-54
5
74
67
2
3
0
0
0
0
0
4
4
4
85
-34
-51
44
-31
-34
-7
0
0
0
0
0
0
0
0
0
8
4
7
6
19
-31
-39
-8
0
0
0
0
0
0
0
0
0
0
0
0
-17
-35
-2
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
23
0
24
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
114
116
-29
0
0
0
0
0
0
0
0
0
9
0
2
-5
57
-24
-44
0
0
0
0
0
0
0
0
1
3
0
0
1
6
-38
104
-21
0
0
0
0
0
0
0
0
0
5
0
0
0
1
39
-46
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-13
9
2
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-42
104
16
74
-9
1
0
0
0
0
0
0
0
52
0
0
99
-23
18
-3
-79
-40
-9
0
0
0
0
0
0
0
-3
201
225
162
34
-22
-101
49
-21
25
0
0
0
0
0
0
8
39
61
275
242
16
-22
44
21
-12
-8
0
0
0
0
0
0
2
30
55
178
82
-32
-73
0
35
34
0
0
0
0
0
0
0
0
48
-4
-14
-48
-29
29
31
22
-27
-3
0
0
0
0
0
0
0
-67
-77
-25
-27
-17
-34
-90
-5
-22
5
0
0
0
0
0
0
0
-23
-98
-31
-12
-7
-8
30
-3
4
0
0
0
0
0
0
0
0
4
-23
40
-50
-7
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
28
22
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
105
-1
13
3
48
3
0
0
0
0
0
0
0
0
3
178
173
149
-25
-58
-28
-3
-8
0
0
0
0
0
0
0
0
-30
96
183
20
122
-27
-5
-5
0
0
0
0
0
0
0
0
0
96
-49
90
39
-89
-1
0
0
-2
0
0
0
0
0
0
0
0
6
90
-34
-4
-24
-7
5
0
0
0
0
0
0
0
0
0
0
-4
-34
-28
-17
3
29
-1
0
0
0
0
0
0
0
0
0
0
0
30
67
-84
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
99
-41
0
0
1
0
0
0
0
0
0
0
0
14
0
0
27
-27
35
40
10
-1
-2
0
0
0
0
0
0
0
8
51
145
90
-42
-37
-5
-22
-1
2
0
0
0
0
0
0
0
-33
84
181
130
-17
74
18
-18
0
-1
0
0
0
0
0
0
0
69
2
63
105
9
15
-8
4
-1
-1
0
0
0
0
0
0
0
36
-108
-65
26
-29
12
10
0
2
0
0
0
0
0
0
0
0
-36
-16
35
3
36
8
-2
0
0
0
0
0
0
0
0
0
0
5
-7
29
-26
-14
4
2
0
3
0
0
0
0
0
0
0
0
3
-5
53
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
80
-25
46
2
0
0
0
0
0
0
0
0
-4
25
0
0
86
42
5
13
-3
0
0
0
0
0
0
0
0
0
21
92
115
48
2
-22
-2
0
-3
0
0
0
0
0
0
0
2
-75
-27
177
49
-17
0
3
0
-8
0
0
0
0
0
0
0
0
15
-18
-2
50
-20
-43
4
16
-2
0
0
0
0
0
0
0
0
1
-70
-8
3
9
-7
1
0
0
0
0
0
0
0
0
0
0
-2
-73
-133
108
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-61
-56
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
3
5
2
0
-4
0
0
0
12
11
10
0
0
-2
0
0
4
0
-28
-4
-15
19
0
0
0
69
-57
-25
-41
0
1
0
0
0
-3
25
27
-27
-108
149
136
48
-53
14
-55
5
-40
0
0
0
4
-6
-43
69
-43
90
115
216
151
55
17
4
-41
-5
0
0
0
8
7
2
3
-49
19
-59
127
64
-10
-12
-18
2
4
-2
0
0
0
0
-2
7
51
-55
-8
6
30
-55
-45
7
-29
-4
-4
0
0
0
0
0
20
9
-66
-3
-8
-58
21
63
-63
-34
-38
-7
0
0
0
0
0
0
66
-38
-66
-21
-34
55
-48
-60
9
0
0
0
0
0
0
0
0
0
-39
0
-3
27
-47
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
4
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-70
-2
-1
-4
0
-9
0
0
0
0
0
0
0
2
21
-23
4
-32
33
-2
-2
-2
0
0
0
0
0
0
0
0
0
18
78
132
40
-40
-7
-1
-4
0
0
0
0
0
0
0
0
29
125
66
106
1
-8
-2
1
0
0
0
0
0
0
0
0
12
-50
51
-11
131
-83
30
0
-6
0
0
0
0
0
0
0
0
8
-21
10
121
69
10
42
-8
-2
0
0
0
0
0
0
0
0
0
1
78
68
148
-92
5
0
0
0
0
0
0
0
0
0
0
0
0
17
41
-13
-84
-1
0
0
0
0
0
-23
2
-40
-22
45
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-47
4
17
33
1
1
0
0
0
0
0
0
0
0
0
0
-4
-36
-8
1
9
2
-2
0
0
0
0
0
0
0
0
0
0
-3
59
-24
72
60
-4
0
0
0
0
0
0
0
0
0
0
0
56
-23
0
36
76
-46
-16
-27
3
3
0
10
-40
0
0
0
0
2
105
50
-3
-14
-19
-9
-16
-13
-9
-10
27
9
1
5
0
0
0
10
-97
-49
7
39
14
5
56
-63
18
8
20
-16
-14
0
0
0
0
36
21
-16
-8
-15
-16
-11
-30
-6
52
61
-4
0
0
0
0
0
0
2
0
0
0
6
8
-2
0
0
0
-3
0
0
0
-51
-35
-80
-24
-59
-2
3
0
0
0
27
39
-29
-4
-29
0
0
-77
-95
-59
-50
-56
-40
-43
0
0
263
71
89
26
14
8
-13
0
-23
-61
-42
-66
59
56
98
130
231
174
4
-44
36
29
7
0
0
-66
-54
-2
9
-33
6
-60
136
279
104
-71
26
22
3
-1
0
0
23
34
-39
53
26
75
2
-112
127
-75
26
-37
48
-29
0
0
0
1
82
15
106
38
19
49
-79
-75
-37
13
78
34
4
0
-1
0
0
-29
5
25
93
29
-18
-47
-56
-61
-59
13
-5
12
-2
0
0
0
0
-2
-13
-7
-2
10
-12
15
-58
-1
-6
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
3
-52
12
-2
104
61
0
0
64
-32
9
-13
-7
0
0
0
-1
49
78
-52
-28
31
62
60
64
-9
-13
62
13
25
0
0
0
-1
-39
-42
22
22
9
-33
77
79
-24
55
121
37
-4
1
0
0
-2
-66
-47
-13
-7
4
30
30
110
58
-41
67
-49
0
-2
0
0
62
-55
-40
43
21
69
-43
-104
-70
-43
77
-53
48
3
0
0
0
-7
-9
-14
-51
-6
-23
44
-5
-29
-6
-47
72
-6
0
0
0
0
-1
-33
41
23
-5
28
-16
-57
-11
-50
47
14
-22
0
0
0
0
0
5
-23
73
21
-41
-11
1
-27
24
3
8
0
0
0
0
0
0
0
1
20
40
-45
59
-40
-14
-17
1
0
0
0
0
0
0
91
29
5
18
-2
42
-118
0
0
0
0
0
0
0
0
0
0
7
21
63
-3
-1
35
66
32
22
-1
0
0
3
0
0
0
0
44
42
-125
-19
11
12
-61
-2
8
0
-8
3
0
0
0
0
0
-13
-5
-51
13
85
-27
-21
25
-3
1
0
0
0
0
0
0
0
-11
27
1
2
-57
-25
3
39
-8
-4
0
0
0
0
1
0
0
-26
-33
-31
17
15
41
9
17
19
-1
-2
0
-2
6
0
0
0
18
111
-17
-21
-5
-65
-24
-3
17
-3
-1
0
0
2
0
0
0
-39
-67
7
2
-45
-23
-13
-2
0
0
0
0
0
0
0
0
0
4
-118
31
-22
43
1
4
-8
0
0
0
0
0
0
0
0
0
0
-33
-2
60
2
110
17
25
0
0
15
4
0
0
0
0
0
46
-77
94
-18
38
-25
0
46
-5
-6
-4
-5
0
0
0
0
0
-45
-42
25
-99
-27
49
-20
-67
23
0
0
-2
-2
0
0
0
0
5
-38
7
47
10
37
60
29
21
0
5
-3
0
0
0
0
0
22
79
-42
77
-42
-10
-27
56
-27
-5
0
-10
0
0
0
0
0
40
36
57
22
25
17
-34
-40
-18
-1
-3
-1
0
0
0
0
0
6
26
91
25
46
66
19
-14
-121
5
-7
0
0
0
0
0
0
52
-48
-28
45
-18
79
12
-41
-12
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-36
-24
-26
20
60
182
0
0
16
65
43
3
16
-2
0
0
33
-57
-76
11
31
-59
18
0
159
0
67
77
-10
-49
-6
5
0
25
-7
18
62
-12
2
85
45
150
149
-82
31
42
-14
9
-1
0
17
5
11
27
-31
-4
70
20
228
51
-82
45
21
10
0
0
0
2
-17
54
2
19
110
-2
31
54
-31
-25
-29
55
43
-4
0
0
0
-73
84
17
65
-28
11
9
-11
32
-44
86
79
-13
0
0
0
3
-7
36
71
34
-81
6
37
-53
-102
34
-54
11
3
0
0
0
0
0
32
-5
-15
-20
-30
-15
-21
6
-24
-2
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-20
0
0
0
0
0
0
0
0
-3
23
8
-27
-7
25
3
0
82
-80
-10
-3
-1
3
0
0
0
13
-5
-93
-146
-8
67
0
59
0
-8
-33
1
-1
0
1
0
1
9
52
2
28
30
6
124
127
138
-54
-40
-28
0
4
0
0
0
31
21
-25
64
51
-6
76
105
115
-7
-47
-14
2
0
3
0
0
-2
-1
-43
-68
-86
136
-48
44
-20
-16
3
52
5
-2
0
0
-3
38
11
-38
60
-56
-38
-6
3
59
-75
-2
2
7
-2
0
0
-3
0
-52
-31
-34
10
-104
-52
62
10
8
2
0
-2
0
0
0
0
3
0
-19
14
15
-14
-24
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-12
0
0
0
0
0
0
0
0
0
1
-15
10
-5
7
0
0
0
0
5
5
-2
0
0
0
0
0
-2
18
-10
17
-10
13
7
0
26
-35
-1
1
0
0
0
0
0
0
17
-8
7
-5
8
0
12
84
-7
-1
-2
0
0
0
0
0
-3
2
-10
-13
4
5
-6
137
178
-97
0
-1
0
0
0
0
0
0
6
-2
-10
-1
-2
4
68
121
1
-12
0
4
0
0
0
0
0
-1
2
-1
14
-4
58
98
132
-26
6
-1
-2
0
0
0
0
0
0
0
5
-14
-5
60
-21
9
-3
1
-5
0
0
0
0
0
0
2
4
5
0
0
66
29
4
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-47
0
0
0
0
0
0
0
0
2
0
-1
6
13
-39
0
0
104
0
0
0
0
0
0
0
0
0
0
0
0
16
-78
-3
70
92
-1
0
0
0
0
0
0
0
0
-1
-1
5
-42
13
11
97
74
6
0
0
0
0
0
0
0
0
0
4
3
32
-44
104
24
45
-27
0
0
0
0
0
0
0
0
0
5
-4
-7
-124
11
68
-65
68
0
0
0
0
0
0
0
0
0
0
5
-20
-57
-13
-32
-44
-30
0
0
0
0
0
0
0
0
0
0
-3
7
71
27
32
33
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
2
-13
-16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
6
-9
-36
0
10
0
0
0
0
0
0
0
0
0
0
0
0
8
22
145
-14
39
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
25
-27
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
-2
64
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-127
-25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-10
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
-6
-57
-6
95
92
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
11
-37
-46
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-26
44
56
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-17
-40
52
173
3
0
0
0
0
0
0
0
0
0
0
-1
1
-71
-28
-105
-84
0
0
0
0
0
0
0
0
0
0
0
0
6
35
8
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
-23
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
21
58
0
0
0
0
0
0
0
0
0
0
0
-1
4
27
12
40
-9
0
0
0
0
0
0
0
0
0
0
0
6
-4
-40
-45
31
-47
0
0
0
0
0
0
0
0
0
0
0
0
-24
-42
-120
-73
2
0
0
0
0
0
0
0
0
0
0
0
0
2
12
25
13
1
0
0
0
0
0
0
0
0
0
0
0
-4
20
-14
56
-10
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-40
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
77
-8
36
-12
-9
0
0
0
0
0
0
-2
-1
25
0
0
0
108
-21
-31
23
14
-10
0
0
0
0
0
-2
-6
-2
3
-60
0
-39
-14
-8
-41
-75
0
0
0
0
0
0
0
10
12
19
8
-30
94
-112
8
-110
115
1
0
0
0
0
0
0
3
3
30
-22
77
38
-17
13
-25
5
-1
0
0
0
0
0
0
0
7
-77
-48
125
-112
45
78
-38
-16
0
0
0
0
0
0
0
0
0
-2
7
35
24
-16
45
-36
8
0
0
0
0
0
0
0
0
2
18
16
4
-9
-37
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
0
0
0
25
-1
2
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
-61
-7
-8
3
0
2
0
0
0
0
0
0
8
0
67
44
0
-39
0
0
0
0
0
0
0
0
0
0
0
-2
0
-32
19
6
-23
1
-5
0
-4
0
0
0
0
0
0
0
0
0
-19
11
67
30
0
-5
-8
-9
2
0
0
0
0
0
0
0
0
15
48
27
4
12
0
-8
-1
0
0
0
0
0
0
0
0
0
-51
-14
32
0
-3
0
1
3
0
0
0
0
0
0
0
0
0
2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
26
-46
-94
-66
0
49
0
0
0
0
0
15
-40
-41
0
0
8
-3
1
13
10
-35
30
0
0
0
0
-1
0
-5
-7
67
18
58
110
17
31
24
-61
-78
0
0
0
0
0
0
24
21
-35
4
67
79
63
-2
42
48
-13
0
0
0
-1
0
0
-5
28
41
-30
105
33
95
21
18
30
39
0
0
0
0
0
-5
0
14
58
48
-22
25
14
66
22
-48
59
0
0
0
0
0
1
0
-5
12
14
5
15
-25
-14
22
-12
13
0
0
0
0
0
0
22
-1
-47
-15
26
69
-12
48
103
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-8
-1
0
0
45
13
-30
-3
-21
-29
4
0
0
0
1
-1
-16
-77
-4
94
-31
-8
-36
-22
-6
-16
47
10
0
0
0
0
4
-29
-24
27
53
29
-27
-10
-68
-24
-6
11
30
0
0
0
0
1
-15
-12
47
-22
-55
-6
-27
-50
-38
-8
28
110
0
0
0
0
-9
-2
39
-50
-10
-56
-39
-9
-30
-12
-2
11
57
0
0
0
0
0
2
-36
64
-30
-27
-23
-32
-27
-13
1
16
125
0
0
0
0
0
13
52
16
-44
65
-47
-28
-44
-4
-19
-5
-11
0
0
0
0
0
18
-2
30
11
-2
19
-57
-39
-28
-4
-2
17
0
0
0
0
0
0
0
7
5
29
-51
3
-49
-68
-62
-4
0
0
0
0
0
0
0
0
0
0
0
-60
-80
-52
22
0
-31
0
0
0
0
0
0
0
0
1
54
-18
63
56
55
17
96
-35
-5
0
0
0
0
0
0
3
0
17
75
-92
69
76
-10
-21
-3
0
0
0
0
0
0
0
-2
-3
9
26
-11
-1
-61
-14
56
43
1
0
0
0
0
0
0
0
-7
-15
-22
68
-20
3
-41
-52
-13
-3
0
0
0
0
0
0
0
0
0
49
-42
-37
-30
15
86
87
-31
0
0
0
0
0
0
0
-1
33
11
-15
-106
8
7
124
9
2
0
0
0
0
0
0
0
1
-1
64
41
-1
26
95
73
-23
0
0
0
0
0
0
0
0
0
2
0
16
22
12
14
71
110
0
0
0
0
0
0
0
0
0
0
21
-15
53
15
21
9
30
119
0
0
0
0
0
0
0
-2
12
19
0
-20
38
-29
31
-21
58
0
0
0
0
-4
0
-4
7
52
22
11
-21
-14
-11
49
45
40
0
0
0
0
0
-1
0
1
36
-33
-13
1
-14
28
35
28
-31
0
0
0
0
0
0
2
5
-1
-28
79
16
35
45
-3
48
31
0
0
0
0
0
0
12
9
42
-15
-37
-13
65
47
4
52
72
0
0
0
0
-1
0
-2
6
71
-67
-4
-38
23
-9
83
28
0
0
0
0
0
0
0
0
0
-41
98
-13
-21
37
28
40
97
62
0
0
0
0
0
0
0
0
-8
15
-1
-6
15
-1
23
0
0
0
0
0
0
0
0
12
3
0
0
44
77
68
-55
-64
-13
-25
0
0
0
0
-1
-14
10
0
68
0
36
28
28
-39
-24
-48
-26
0
0
0
0
-4
-7
60
-39
5
-93
53
58
33
14
-5
-33
-18
0
0
0
0
0
-2
21
97
119
-76
-6
41
26
58
11
25
26
0
0
0
0
2
-2
58
13
34
69
-58
63
30
33
40
49
52
0
0
0
0
0
1
17
55
74
5
-11
16
7
59
31
61
-39
0
0
0
0
0
0
12
112
-40
-37
15
-17
66
0
-14
53
-8
0
0
0
0
0
-8
0
40
37
-56
-13
55
55
-6
-4
-92
0
0
0
0
0
0
0
0
0
0
1
-1
1
-19
-10
-5
0
0
0
0
0
0
0
0
-1
0
0
15
50
47
85
-6
-10
8
-29
0
0
0
0
0
0
15
0
22
0
79
0
23
22
-2
-9
-2
0
0
0
0
0
-5
54
-7
-4
26
6
29
28
-7
43
14
5
0
0
0
0
4
-5
65
90
-18
5
62
91
22
-8
-23
23
1
0
0
0
0
0
-2
45
96
21
32
24
7
-24
-38
65
6
-35
0
0
0
0
0
1
-3
22
75
49
-31
25
-4
-26
-30
-25
-5
0
0
0
0
0
0
-2
13
48
111
43
22
30
18
0
40
8
0
0
0
0
0
0
0
0
2
6
-45
40
-77
83
3
108
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
6
-20
-29
25
0
0
0
0
0
0
10
-6
0
0
0
40
-64
-41
-49
-109
-15
-5
0
0
0
0
0
0
0
8
0
1
15
-60
35
20
-52
-27
0
0
0
0
0
0
0
-5
-4
7
0
-17
2
16
9
-13
-55
2
0
0
0
0
0
0
0
31
-6
-2
-8
42
-60
26
-36
24
3
0
0
0
0
0
0
0
-2
15
-1
4
33
18
-62
88
25
-1
0
0
0
0
0
0
0
2
-2
0
18
9
44
36
-17
-25
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
7
1
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
82
62
170
-47
-7
8
24
0
0
0
0
0
0
0
63
-16
33
81
15
19
19
53
-3
43
0
0
0
0
0
0
1
-2
-11
42
-8
30
25
-9
4
-87
-10
0
0
0
0
0
0
0
0
3
0
-29
-35
40
45
1
-6
-21
0
0
0
0
0
0
0
0
0
0
0
-23
87
95
14
54
46
0
0
0
0
0
0
0
0
0
0
5
-14
5
31
26
-18
24
0
0
0
0
0
0
0
0
0
-3
-7
1
-32
-10
77
9
36
0
0
0
0
0
0
0
0
0
0
0
7
1
-31
26
-4
9
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
-88
-49
46
0
0
0
0
0
0
0
0
0
0
-1
-10
16
-46
-51
-24
-2
0
0
0
0
0
0
0
0
1
0
2
18
-67
-73
32
-33
-4
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-25
32
-53
4
0
0
0
0
0
0
0
0
0
0
0
0
12
25
22
-77
2
0
0
0
0
0
0
0
0
0
0
0
3
41
-15
-38
64
4
0
0
0
0
0
0
0
0
0
0
0
0
-31
70
-88
34
76
0
0
0
0
0
0
0
0
0
0
0
-9
32
85
69
4
31
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
13
-22
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-15
2
0
0
0
0
0
0
0
0
0
0
0
3
28
48
0
37
0
0
0
0
0
0
0
0
0
-18
3
16
24
14
-15
-15
35
-8
0
0
0
0
0
0
0
-3
-3
2
-1
-40
37
131
52
-45
-3
0
0
0
0
0
0
0
0
0
0
-6
-4
71
-2
-6
9
7
0
0
0
0
0
0
0
0
0
0
-16
6
47
-5
27
76
8
0
0
0
0
0
0
0
0
0
0
0
-2
-13
65
47
3
-7
0
0
0
0
0
0
0
0
0
0
0
-1
64
50
-44
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
57
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
20
32
-18
69
-20
0
0
0
0
0
0
0
0
0
-28
8
31
78
66
-23
50
66
-8
0
0
0
0
0
0
0
0
-1
-1
-5
110
5
32
28
60
0
0
0
0
0
0
0
0
0
0
0
-1
24
6
69
39
66
-1
0
0
0
0
0
0
0
0
0
0
-2
-20
-89
63
138
80
2
0
0
0
0
0
0
0
0
0
0
0
-23
58
49
47
-17
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
11
50
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-34
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
72
-50
31
17
55
-7
19
0
0
0
0
0
0
0
6
4
10
-47
-62
35
11
15
-20
32
0
0
0
0
0
0
0
-13
-44
35
46
80
82
142
137
-37
29
0
0
0
0
0
0
0
2
21
-19
20
-45
119
65
45
-15
52
0
0
0
0
0
0
-2
-7
85
18
-4
66
-33
19
14
67
10
0
0
0
0
0
0
0
6
52
-22
51
-9
64
129
56
95
17
0
0
0
0
0
0
0
46
2
2
-49
115
100
120
-12
57
16
0
0
0
0
0
0
0
0
0
-40
24
-10
79
66
23
61
68
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-1
23
17
3
0
0
0
0
0
0
0
0
0
-1
-4
5
-7
-18
74
11
-1
0
0
0
0
0
0
0
0
-3
2
28
-23
-8
-27
171
20
60
0
0
0
0
0
0
0
-3
-5
-3
0
22
-44
-20
-36
3
-8
0
0
0
0
0
0
0
6
-10
15
3
59
21
-28
56
6
20
0
0
0
0
0
0
0
0
1
-18
14
-51
42
22
-6
26
-25
0
0
0
0
0
0
0
0
0
5
-23
-21
64
-34
-64
2
-39
0
0
0
0
0
0
0
0
-3
-26
6
-6
50
-80
-24
-14
-15
0
0
0
0
0
0
0
0
8
0
1
0
44
-38
3
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-23
-65
-17
0
30
95
67
102
1
31
13
-4
0
0
0
11
63
15
-16
33
20
41
20
75
102
44
57
3
9
0
0
-1
3
72
-3
-64
-38
16
15
49
52
159
145
34
-52
6
0
0
0
-6
7
45
11
1
-24
11
24
-7
21
18
69
-27
22
0
0
0
0
-1
56
-49
-31
30
1
18
-46
9
-5
95
-43
1
0
0
0
0
0
6
-9
-27
33
-20
-45
-29
107
59
58
-3
0
0
0
0
0
0
0
-16
-89
-22
-43
-94
69
85
21
62
-25
0
0
0
0
0
0
0
0
-41
0
15
-93
20
1
66
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-44
-27
-33
0
-30
-68
-7
18
51
50
-5
0
0
0
0
-6
-13
-133
21
-58
-23
9
-12
12
-19
-6
9
14
0
0
0
0
0
9
37
11
-29
-14
-21
-24
19
87
97
-12
-40
0
0
0
-1
2
-15
7
-23
-10
52
-4
-15
29
76
76
45
98
0
0
0
0
-1
8
-29
-62
39
41
-1
-6
7
40
63
64
78
0
0
0
0
-40
2
-25
74
-66
0
-32
7
7
9
95
28
50
0
0
0
0
0
-15
-61
-38
0
16
-13
-2
6
38
49
6
-44
0
0
0
0
-6
13
42
-56
18
-15
-16
9
-1
32
90
49
-56
0
0
0
0
1
-16
-25
60
35
-26
21
83
6
-74
1
-8
2
0
0
0
0
7
56
-14
0
-7
0
15
-10
26
-28
90
0
0
0
0
0
0
0
36
-67
37
-6
-15
8
64
-10
24
41
0
0
0
0
0
0
0
-8
37
14
-15
5
14
55
-4
31
-53
0
0
0
0
0
0
0
5
-68
41
-17
72
70
96
-4
-27
-81
-3
0
0
0
0
0
2
-2
21
33
-36
-7
40
63
82
72
-3
0
0
0
0
0
4
2
-31
-15
42
4
47
-14
24
40
-22
31
-2
0
0
0
-1
3
8
5
-1
-2
8
1
-25
9
85
79
110
-1
0
0
0
1
8
52
-4
-8
-4
21
-38
-82
-7
-20
88
32
0
0
0
0
1
-2
2
73
-55
-30
-48
-40
-35
0
24
-97
-26
5
0
0
0
0
0
2
67
69
33
-41
0
-5
53
-10
14
30
15
0
0
0
0
0
31
63
-88
8
84
-7
15
26
-1
4
35
54
0
0
0
0
0
25
3
-18
-4
34
26
-25
9
14
57
85
-42
0
0
0
0
0
-22
-2
-11
-18
1
1
68
40
59
59
44
-14
0
0
0
0
-3
8
-9
-29
-9
4
1
26
-4
57
49
77
-2
0
0
0
17
7
-67
24
18
2
6
-21
-10
-5
26
45
41
-3
0
0
0
-5
2
-36
17
-59
-5
-14
6
-13
-17
44
30
14
8
0
0
0
0
-39
7
-34
-62
9
-7
-19
111
-11
15
89
44
0
0
0
0
0
0
0
0
0
0
-14
12
6
51
1
0
0
0
0
0
0
0
0
0
0
-15
-21
-30
0
32
69
-7
51
57
55
39
-10
0
0
0
0
-6
-23
-44
-28
78
66
35
28
126
61
39
-2
-32
0
0
0
-1
13
-53
-9
-32
3
28
60
130
128
36
88
29
11
0
0
0
0
-4
5
-3
-71
16
27
35
33
80
-3
22
42
-3
0
0
0
2
0
11
-9
55
-25
20
40
14
89
125
11
7
20
0
0
0
0
0
2
12
-36
-22
-40
29
35
68
-7
109
49
7
0
0
0
0
0
0
-11
-88
-5
-24
-4
69
41
13
130
79
5
0
0
0
0
0
0
-9
17
23
-46
-12
5
136
-69
33
-3
0
0
0
0
0
1
0
0
-2
0
-27
-1
0
0
0
15
-3
0
0
0
0
0
0
-1
42
29
0
41
-37
-49
62
-73
-44
20
-3
0
0
0
0
0
-2
49
-62
20
-4
-103
41
56
17
82
9
-5
0
0
0
0
1
-1
6
-19
-27
47
81
26
93
23
84
5
15
0
0
0
0
0
0
55
-82
127
85
63
22
-1
121
164
64
-10
0
0
0
0
0
-21
-56
-135
-28
-26
17
47
92
105
53
80
49
0
0
0
0
1
1
31
8
11
-12
14
70
97
-8
52
38
31
0
0
0
0
0
-42
-14
31
-45
-19
53
55
106
88
19
75
1
0
0
0
0
0
0
0
-45
-13
-2
-60
8
60
17
40
1
0
0
0
0
0
0
0
0
0
6
0
-15
0
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
20
7
-37
0
-3
1
0
-1
0
0
0
0
0
0
-1
35
49
22
53
149
32
14
39
22
-19
0
0
0
0
0
3
0
29
6
-4
81
6
4
30
39
31
6
0
0
0
0
0
0
-8
-20
34
-27
-14
40
43
1
65
27
13
0
0
0
0
0
0
5
41
-46
-71
17
-3
-28
-3
-3
57
-14
0
0
0
0
0
0
2
-39
-31
-50
-18
-70
-4
2
-3
-87
-54
0
0
0
0
0
0
3
19
2
23
-8
40
28
-7
-4
43
0
0
0
0
0
0
0
31
-30
-55
47
34
-24
-3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
7
41
100
0
0
0
16
0
0
0
0
0
0
0
0
0
14
63
-28
14
-26
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
-35
-43
-55
-12
34
98
-5
0
0
0
0
0
0
0
0
2
-19
1
-77
0
73
108
15
4
0
0
0
0
0
0
0
0
-1
-3
56
27
19
19
72
67
9
0
0
0
0
0
0
0
0
0
-22
27
-50
56
-13
-12
-30
-4
0
0
0
0
0
0
0
0
0
1
10
-83
9
-24
48
-53
3
0
0
0
0
0
0
0
0
0
0
53
-64
15
1
-14
34
0
0
0
0
0
0
0
0
0
0
0
-5
36
30
-15
50
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
32
0
0
4
0
0
0
0
0
0
0
0
0
0
0
9
-27
33
17
56
1
0
0
0
0
0
0
0
0
0
0
1
-24
-3
95
-121
3
25
0
0
0
0
0
0
0
0
0
0
-1
0
-7
20
84
70
25
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-45
-31
-69
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-42
13
-60
1
0
0
0
0
0
0
0
0
0
0
0
3
3
8
31
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-37
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
13
9
77
0
0
48
0
0
0
0
0
0
0
0
0
-1
2
12
-96
30
-123
22
52
-15
0
0
0
0
0
0
0
0
0
-1
0
28
8
111
-7
-6
4
0
0
0
0
0
0
0
0
0
0
0
52
-16
74
64
-9
-3
0
0
0
0
0
0
0
0
0
0
22
-1
-49
15
27
-12
-1
0
0
0
0
0
0
0
0
0
0
-2
32
52
-5
-51
11
-7
0
0
0
0
0
0
0
0
0
0
0
-10
-7
-9
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-6
4
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
16
-7
-49
0
0
30
32
0
0
0
0
0
0
0
0
0
0
-1
9
46
68
43
-9
3
0
0
0
0
0
0
0
0
0
0
1
23
57
59
103
-32
14
0
0
0
0
0
0
0
0
0
0
0
7
10
-10
51
-4
-13
0
0
0
0
0
0
0
0
0
0
1
-15
84
57
-37
3
-3
0
0
0
0
0
0
0
0
0
0
-9
-24
-3
22
-5
-22
10
0
0
0
0
0
0
0
0
0
0
0
1
-28
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
41
2
-18
3
8
-14
0
0
0
0
0
0
-23
36
0
0
0
1
-60
-72
-23
105
43
0
0
0
0
0
0
5
38
18
53
34
12
83
-54
-72
9
100
-1
0
0
0
0
-1
-1
46
48
39
24
57
-45
33
23
-7
12
0
0
0
0
0
0
-8
19
69
-33
57
24
88
-27
-4
39
6
0
0
0
0
0
0
0
-28
20
16
15
3
-78
30
6
0
-5
0
0
0
0
0
0
-16
25
4
64
43
37
-2
-42
0
0
1
0
0
0
0
0
0
-2
-29
-16
-28
-74
-13
-1
5
0
-15
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
28
-23
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
93
8
11
0
0
-3
-9
-4
-9
0
0
0
0
0
0
0
-1
13
64
-50
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
-71
119
-1
9
1
0
0
0
0
0
0
0
0
0
0
-4
-101
-5
7
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-9
-78
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
38
0
0
0
48
124
-67
86
-3
-9
38
0
0
0
0
-12
-2
21
150
0
0
146
75
24
37
17
27
34
0
0
0
-2
-4
-33
-2
69
64
59
139
59
60
39
82
37
-11
0
0
0
0
0
5
-98
24
81
108
43
5
28
91
24
53
87
0
0
0
-4
2
3
-25
86
66
-14
148
62
31
20
88
17
-6
0
0
0
0
-1
-5
18
28
-15
40
7
111
-11
8
7
25
-23
0
0
0
0
0
0
-4
32
-32
59
-54
26
-3
-20
13
31
-1
0
0
0
0
0
0
0
-17
23
14
7
-1
1
-7
14
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
14
13
2
80
0
0
-14
29
40
39
-2
-95
-74
0
0
0
1
-13
10
-70
32
-8
7
-22
25
14
42
-37
-66
3
0
0
0
0
-6
52
37
75
14
-30
26
13
2
-35
8
-43
-14
0
0
0
0
-3
-9
-69
-59
12
30
19
13
-12
-20
-15
-54
-56
0
0
0
0
0
-20
88
-23
-24
-48
-8
-3
23
23
-57
-92
-107
0
0
0
0
4
5
1
-81
-74
-58
-46
0
-14
2
-47
-26
-82
0
0
0
0
5
0
-41
56
20
-41
33
37
-23
18
9
-14
7
0
0
0
0
0
0
73
40
18
-15
53
8
-10
54
101
-11
44
0
0
0
0
0
0
-1
0
2
9
-15
5
49
18
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
24
4
6
-6
-49
0
0
0
0
0
0
0
-1
10
8
98
107
30
-88
-5
28
50
0
0
0
0
0
0
0
-7
19
43
102
22
32
-12
39
29
31
0
0
0
0
0
0
1
54
52
-40
34
-3
66
-38
6
-27
18
0
0
0
0
0
0
1
0
9
-30
31
-25
79
70
-28
2
-11
0
0
0
0
0
0
0
4
46
19
-20
45
58
1
-5
-32
-1
0
0
0
0
0
0
0
1
6
-8
8
24
-50
30
-11
13
54
0
0
0
0
0
0
0
1
10
54
34
-3
-10
17
46
17
17
0
0
0
0
0
0
0
1
-58
8
3
25
9
48
46
26
-28
0
0
0
0
0
0
0
0
0
-28
9
26
29
-22
-8
-24
98
0
0
0
0
0
-2
0
3
5
71
0
22
18
-7
-65
-11
-17
0
0
0
0
0
0
0
1
2
164
-33
55
0
43
5
-44
11
0
0
0
0
0
0
0
-5
15
64
57
-18
64
-1
59
-36
16
0
0
0
0
0
0
0
0
43
-33
83
-39
112
-11
7
-49
48
0
0
0
0
0
0
6
3
-1
20
-17
86
-95
15
36
-24
-7
0
0
0
0
0
0
0
0
5
23
98
110
-21
-61
35
-3
24
0
0
0
0
0
0
0
0
56
22
61
66
10
103
-47
-13
46
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
-39
60
48
0
0
18
89
46
-6
17
6
31
0
0
0
0
-16
-20
-9
0
35
0
134
67
75
33
-28
23
-22
0
0
1
-1
-1
-23
105
-16
-1
69
102
62
59
18
51
46
-54
0
0
0
-1
-3
-53
-10
39
12
92
120
30
-5
42
41
0
-11
0
0
0
0
0
-14
-21
90
-6
99
-25
12
19
86
7
18
27
0
0
0
0
-15
-3
-37
156
82
67
18
10
-50
58
82
38
23
0
0
0
0
0
0
14
27
126
123
45
42
-14
18
-90
58
51
0
0
0
0
0
0
0
65
52
43
-34
2
6
-11
33
8
8
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
-2
2
1
-24
0
-1
-50
112
-75
-40
39
-69
10
0
0
0
0
-1
8
13
0
2
0
-29
-90
21
-15
-64
-19
-24
0
0
0
0
0
16
97
-24
82
-13
39
29
68
-32
32
27
35
0
0
0
0
-1
2
26
96
4
12
33
64
-1
29
66
21
-12
0
0
0
0
0
0
-3
131
117
112
114
-19
-7
-42
71
-64
60
0
0
0
0
0
1
8
105
72
82
101
7
-42
-60
29
-42
-1
0
0
0
-1
0
0
1
67
74
36
31
18
-25
-79
-13
-100
17
0
0
0
0
0
0
0
1
3
6
-10
12
42
46
-38
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
2
2
0
-8
-7
-2
-10
0
0
0
0
0
0
0
0
0
-1
2
49
23
40
-6
-24
-5
0
0
0
0
0
0
-3
8
23
3
-46
61
14
12
8
-13
1
0
0
0
0
0
0
-7
69
4
-3
-26
-30
-80
-4
-15
45
-10
0
0
0
0
0
0
9
14
13
-8
11
2
-4
0
-2
-2
8
0
0
0
0
0
0
0
-1
34
0
-3
17
1
0
-8
-5
0
0
0
0
0
0
0
0
0
1
-2
3
1
-16
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
22
-55
-22
4
24
47
55
0
0
0
0
0
0
0
2
27
57
-39
-34
20
-17
58
48
32
0
0
0
0
0
0
0
0
2
2
-2
-63
23
28
-45
88
-60
0
0
0
0
0
0
0
0
0
47
-2
-2
50
27
59
76
43
0
0
0
0
0
0
0
0
0
-3
4
62
14
12
93
32
80
0
0
0
0
0
0
0
0
0
-1
5
-16
12
-30
1
-42
-21
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-14
26
10
114
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
67
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
-98
-21
0
0
0
0
0
0
0
0
0
0
7
-2
-18
-3
44
-92
-6
0
0
0
0
0
0
0
0
0
0
-5
0
6
-3
98
-7
-17
0
0
0
0
0
0
0
0
0
0
0
-1
3
73
19
155
10
0
0
0
0
0
0
0
0
0
0
0
8
6
-17
79
27
13
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-31
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
25
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
9
0
0
0
0
0
0
0
0
0
0
1
0
-8
90
-31
-9
62
0
0
0
0
0
0
0
0
0
-1
-3
0
-14
40
119
-127
59
0
0
0
0
0
0
0
0
0
0
0
0
-13
138
-11
64
49
0
0
0
0
0
0
0
0
0
0
-2
0
0
31
-24
75
83
0
0
0
0
0
0
0
0
0
0
-2
0
6
16
-60
23
47
0
0
0
0
0
0
0
0
0
0
0
0
0
10
62
40
41
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-95
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
9
-2
-21
100
-41
4
0
0
0
0
0
0
0
0
0
2
-1
12
36
23
47
15
42
0
0
0
0
0
0
0
0
0
1
0
22
-22
17
62
45
-30
0
0
0
0
0
0
0
0
0
0
8
-4
11
26
57
71
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
65
8
81
22
0
0
0
0
0
0
0
0
0
0
0
4
-1
-40
-43
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
36
-15
36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-6
0
33
10
6
-13
25
44
-38
58
0
0
0
0
0
0
-1
30
-45
44
29
33
-25
0
64
-117
10
0
0
0
0
0
0
1
-10
-5
55
-80
25
-12
-8
46
91
10
0
0
0
0
0
0
-5
108
30
56
37
-34
-11
52
-20
18
-12
0
0
0
0
0
0
-2
-21
10
-7
2
131
-47
-53
95
17
-35
0
0
0
0
0
0
2
-11
-45
-17
-86
-33
6
19
107
37
-9
0
0
0
0
0
0
0
35
-21
-14
-52
-26
69
50
15
72
10
0
0
0
0
0
0
0
0
77
-5
7
-13
-2
-34
-21
-23
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-37
4
0
0
0
0
0
0
0
0
0
-21
-7
-3
1
60
-24
-91
1
0
0
0
0
0
0
0
-3
0
-29
1
-10
-3
4
104
39
-6
0
0
0
0
0
0
0
1
-11
-5
17
-9
9
-24
92
41
-35
0
0
0
0
0
0
0
-2
3
29
64
-3
-16
41
37
23
69
0
0
0
0
0
0
0
-1
1
1
8
0
-17
-42
51
-20
-50
0
0
0
0
0
0
0
1
5
0
-16
-4
30
40
-60
50
54
0
0
0
0
0
0
0
0
0
6
-6
-7
6
1
41
111
32
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
121
57
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-52
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-34
-21
-8
0
41
69
39
-6
73
49
28
21
0
0
17
60
-18
-28
-37
-18
-7
18
57
50
19
46
-24
-55
91
0
0
-2
-4
50
33
-25
-17
1
3
4
58
-34
-37
-6
125
-71
0
0
-1
-22
-21
35
9
-24
27
-3
46
64
64
-19
158
28
43
0
0
0
1
-1
-75
-26
-14
25
-24
3
32
68
-3
63
62
58
0
0
0
0
-1
-3
-17
-54
-44
14
-28
60
90
4
-47
-14
-42
0
0
0
0
0
3
-24
-115
-84
5
-38
-74
7
-1
44
48
2
0
0
0
0
0
0
-1
-19
-64
-4
5
22
-6
0
0
-48
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
-4
-42
-79
-48
-12
0
0
9
43
-22
13
-31
7
0
0
0
-1
18
-18
61
29
-14
11
-14
4
12
70
-18
39
4
0
0
0
0
-24
-13
-52
22
7
-2
-17
8
12
14
17
-78
28
0
0
0
0
-13
-6
-7
-49
-39
18
4
12
-13
3
6
-16
63
0
0
0
-1
3
-25
2
-7
-38
3
-15
20
19
23
31
-52
0
0
0
0
3
-8
-28
-48
-25
-8
-15
-17
-13
-14
-10
78
17
13
0
0
0
0
0
5
-13
-19
-59
41
-18
-42
-17
6
-30
-51
9
0
0
0
0
0
-8
34
-60
65
-19
6
-1
37
-58
-1
-3
7
0
0
0
0
0
0
9
41
18
24
23
41
-32
-20
-4
0
0
0
0
0
20
25
13
12
-56
21
0
35
67
-90
43
-15
1
0
0
0
5
-13
2
12
7
-18
24
76
1
6
49
44
-15
0
0
0
0
0
-2
15
11
-33
-2
32
41
-6
30
-2
-34
25
-2
0
0
0
0
-5
16
57
25
-8
4
-52
28
-6
47
-50
0
0
0
0
0
0
1
-7
-10
-44
-15
-8
-25
20
35
2
6
13
0
0
0
0
1
-5
-8
9
-13
-20
23
-15
-65
-18
-65
-38
14
0
0
0
0
0
1
68
-32
-8
10
-10
-17
-48
13
48
4
-4
0
0
0
0
15
-10
-11
37
64
12
-11
-28
-57
-1
-18
-35
-14
0
0
0
0
-3
8
-3
34
-10
16
12
2
-28
-17
21
8
0
0
0
0
0
0
4
-5
-61
85
52
14
0
18
41
46
58
-11
0
0
0
0
1
7
-50
16
55
-3
41
-7
8
-28
57
73
-43
0
0
0
0
0
1
-24
11
-75
29
-3
63
-49
15
59
-3
22
0
0
0
0
0
1
0
-1
8
-5
10
64
26
-3
-22
12
9
0
0
0
0
0
-1
24
117
-20
-41
5
-36
29
59
63
22
-21
0
0
0
0
0
0
-18
8
-29
3
-41
13
8
-21
-21
43
1
0
0
0
0
0
-1
5
9
-10
-67
-22
-14
-36
-7
-55
-11
8
0
0
0
0
0
0
4
-48
-38
-4
-40
-26
-45
16
-50
-13
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
75
-7
0
0
0
0
0
0
0
0
0
9
-25
45
6
0
-1
18
31
93
-121
42
-46
25
0
0
0
-8
-10
-15
-21
28
5
28
-5
56
21
82
-36
105
-39
0
0
-1
0
-2
-41
-24
20
-10
-1
55
74
43
28
39
-18
-39
0
0
-1
-5
-33
-53
8
-27
43
-31
10
18
102
82
26
63
-5
0
0
0
0
4
40
18
-42
-20
12
14
-11
44
65
95
114
0
0
0
0
0
0
-35
-58
18
6
-33
-9
9
30
27
1
-39
78
0
0
0
0
0
0
-14
-8
-35
15
50
89
-33
-11
5
2
-50
0
0
0
0
0
0
7
-17
-39
-35
-14
-11
-11
-9
2
4
5
0
0
0
0
0
0
0
0
0
-4
0
0
-2
3
-3
-1
1
0
0
0
0
-1
23
-23
70
0
-42
22
1
-26
-16
50
0
44
0
0
0
0
24
-42
4
4
-11
24
9
53
-44
-71
40
53
19
0
0
0
0
16
-9
-18
-7
1
4
-10
-24
55
-26
-27
-38
107
0
0
0
0
22
-20
46
14
18
64
72
11
-133
-11
58
40
76
0
0
0
0
2
-36
95
-20
49
1
-43
-85
51
11
56
8
-14
0
0
0
0
-6
-5
-91
-24
2
-25
-16
-59
39
-32
-45
-38
71
0
0
0
0
1
14
18
-34
23
22
-7
-31
-91
10
-3
-34
0
0
0
0
0
0
0
55
22
-47
99
35
12
0
127
0
-17
0
0
0
0
0
0
0
0
30
44
2
0
-3
6
0
0
0
0
0
0
0
0
0
0
2
-12
0
6
-5
-4
0
0
0
41
0
0
0
0
0
0
0
-30
-4
-5
-26
-77
-24
2
17
-8
68
0
0
0
0
0
0
0
-3
28
2
-15
1
9
-2
14
-3
-7
0
0
0
0
0
0
0
0
-9
10
22
16
11
0
2
18
6
-6
0
0
0
0
0
0
0
34
-47
-35
-31
-39
-3
0
42
101
15
0
0
0
0
0
0
-4
-81
64
-43
20
-45
-3
0
-6
-10
-6
0
0
0
0
0
0
-1
-19
6
-14
1
-1
-2
-2
-2
90
-1
0
0
0
0
0
0
0
-15
-24
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
-8
-6
5
107
35
0
0
55
0
0
0
0
0
0
0
0
1
-6
-1
43
39
27
15
52
-33
0
0
0
0
0
0
0
0
2
-41
8
15
5
-34
-32
-20
53
-2
0
0
0
0
0
0
0
0
1
-1
-2
88
-12
12
-12
-12
-2
0
0
0
0
0
0
0
0
0
-4
14
34
-27
-1
-26
-74
0
0
0
0
0
0
0
0
0
-2
7
58
11
-4
-86
-64
33
7
0
0
0
0
0
0
0
0
8
-8
1
-39
36
15
-89
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
-35
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
60
-39
11
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-60
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-24
69
30
0
0
0
0
0
0
0
0
0
0
0
0
1
110
20
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-25
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
-40
-31
-60
58
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-21
25
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-100
7
6
-1
0
0
0
0
0
0
0
0
0
3
0
1
-34
9
38
75
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
24
88
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-3
-9
5
0
0
27
0
0
0
0
0
0
0
0
0
0
0
2
0
24
-6
2
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-34
-11
-24
67
-2
0
0
0
0
0
0
0
0
0
0
0
3
-3
24
39
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-36
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
-15
2
-21
-24
0
0
0
0
-8
-1
0
-5
0
0
0
18
40
-65
-60
-65
5
-1
0
0
0
-1
3
0
12
-55
36
32
16
-11
-61
2
100
7
0
0
0
0
0
0
0
22
21
51
-152
3
7
-54
-19
-26
2
0
0
0
1
0
0
13
-11
86
-23
64
52
-18
15
56
86
-5
0
0
0
0
0
-1
0
6
-54
-10
-124
-12
35
54
-1
0
0
0
0
0
0
0
0
-4
-1
31
-96
59
66
-37
51
-3
5
0
0
0
0
0
0
0
0
4
-2
-37
36
9
12
15
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
-5
-6
0
-7
-4
1
0
0
0
0
0
0
0
0
0
0
15
-24
-3
4
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
32
5
7
10
3
-1
0
0
0
0
0
0
0
0
0
0
0
13
-5
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-67
25
-22
19
-55
-33
-58
0
0
0
0
0
-7
-76
-2
0
0
-53
1
-92
35
-54
-30
-136
0
0
0
0
0
0
-3
33
-64
-15
28
-45
0
20
49
-31
-33
0
0
5
0
0
0
6
55
5
92
85
88
132
46
45
113
51
0
0
0
0
-5
-1
6
15
11
17
41
42
50
6
51
10
-43
0
0
0
0
0
1
1
-2
6
52
72
6
94
89
-53
22
-1
0
0
0
1
1
0
-77
-13
4
14
16
-2
-74
-162
-54
-55
18
0
0
0
0
-1
-2
-1
39
-22
6
7
-6
6
7
48
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-15
2
-1
0
0
-16
-40
-31
-35
-6
64
34
0
0
3
0
-15
55
19
-38
47
-26
-2
-24
-21
-19
30
-39
31
0
0
0
2
-7
2
-1
-9
-9
54
-57
30
9
3
28
101
63
0
0
0
18
-4
32
-32
35
-1
-42
-62
1
2
20
-4
30
-58
0
0
0
5
1
-28
29
21
38
29
-16
1
-18
37
57
106
65
0
0
0
0
24
-108
-10
-14
88
22
-48
-8
19
18
54
-67
-4
0
0
0
-3
-11
-28
23
141
63
-19
29
1
-24
15
38
10
116
0
0
0
-2
2
-15
74
-25
-62
-7
4
-34
-21
27
10
-11
2
0
0
0
0
0
23
-59
16
-11
-9
41
-19
22
4
-10
8
-1
0
0
0
0
0
0
0
0
0
0
8
14
-133
-4
14
-90
-3
0
0
0
0
0
0
0
12
0
-3
17
100
9
-23
-59
-89
8
0
0
0
0
-2
0
0
1
1
-10
-15
84
-28
-24
19
15
7
0
0
0
0
-1
2
0
0
-18
29
-40
-21
44
-22
10
-9
3
0
0
0
0
0
0
0
-2
3
-12
38
37
-26
24
54
47
12
0
0
0
0
0
0
-3
3
-1
27
97
24
23
-9
57
54
3
0
0
0
0
0
0
0
2
2
5
-47
-49
23
23
29
-27
6
0
0
0
0
0
0
2
-2
16
9
-78
-51
46
-61
-54
9
0
0
0
0
0
0
0
0
-6
0
5
3
3
-4
-8
1
3
2
0
0
0
0
0
0
0
0
0
5
-17
-29
-67
-129
42
-58
-16
0
0
0
0
2
1
0
1
-45
6
0
1
88
-48
22
-1
81
0
0
0
0
0
1
0
17
51
-44
-11
20
-39
68
-33
5
36
0
0
0
0
2
0
-1
41
50
-10
14
8
103
57
43
14
14
0
0
0
0
0
0
1
-5
3
-11
26
79
39
34
89
66
-34
0
0
0
0
0
1
0
4
-18
94
6
85
23
9
-43
71
1
0
0
0
0
0
0
0
-5
-20
105
14
15
66
-48
-6
71
-29
0
0
0
0
0
0
7
0
-2
10
4
65
40
3
64
-3
65
0
0
0
0
0
0
0
0
0
0
0
-1
2
19
36
0
0
0
0
0
0
0
0
0
0
0
0
-10
53
99
23
48
61
-9
0
0
0
0
-7
8
-2
0
11
0
-60
42
108
36
-7
48
27
0
0
0
7
3
-6
23
24
-1
19
82
14
-33
-10
-10
30
-49
0
0
0
0
0
4
45
-39
1
27
3
19
18
7
14
-16
-6
0
0
0
0
-1
0
2
98
114
-34
138
80
88
-4
24
9
-12
0
0
0
0
1
8
2
17
-33
-10
99
7
5
84
-23
103
0
0
0
0
0
1
1
18
21
-6
63
-35
-35
36
-37
-18
85
3
0
0
0
0
0
0
-1
-31
8
-1
63
68
-4
6
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-20
0
0
0
0
0
0
0
0
0
0
0
-12
-20
-22
22
147
-46
44
-4
0
0
0
0
0
1
2
0
-2
0
9
-16
-25
-8
0
23
8
0
0
0
0
0
0
0
-4
20
31
105
79
-14
102
50
-7
-7
0
0
0
0
0
0
-4
-9
25
9
0
31
12
1
-43
-18
29
0
0
0
0
0
0
-6
11
56
-18
83
-48
-47
-67
-34
-14
-2
0
0
0
0
0
-1
5
-6
19
48
-73
29
87
-13
8
-4
-1
0
0
0
0
0
0
0
-8
35
70
5
9
48
43
18
54
1
0
0
0
0
0
0
0
0
6
0
-1
68
-17
-69
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-16
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-9
0
0
0
0
0
0
0
1
3
0
0
3
4
7
20
14
4
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-16
-54
3
0
0
0
0
0
0
0
0
29
-1
-1
0
-3
8
-3
-3
-18
0
0
0
0
0
0
0
0
5
-41
0
1
3
9
-15
-24
3
0
0
0
0
0
0
0
0
8
23
-5
4
0
-13
-24
-51
14
0
0
0
0
0
0
0
0
2
29
0
3
-4
-3
-1
2
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
-7
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-35
1
-3
65
117
-39
-19
0
0
0
0
0
0
1
1
61
-72
-63
3
37
9
34
84
-8
0
0
0
0
0
0
-3
18
-22
-27
0
3
-35
51
-17
82
-15
0
0
0
0
0
0
0
-7
29
-29
53
-22
43
-53
-20
7
-93
0
0
0
0
0
0
0
0
-1
-2
8
61
12
9
22
-9
-50
0
0
0
0
0
0
0
0
-1
1
-3
-9
53
5
38
68
5
0
0
0
0
0
0
0
0
0
3
-27
83
8
-61
83
-79
-55
0
0
0
0
0
0
0
0
0
0
0
15
-15
-45
-40
-47
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-36
-84
38
0
0
0
0
0
0
0
0
0
0
4
2
-10
-97
-13
33
0
0
0
0
0
0
0
0
-2
12
4
-18
-35
82
-9
7
-70
0
0
0
0
0
0
0
0
0
-1
0
0
13
18
17
53
14
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-30
-20
-2
0
0
0
0
0
0
0
0
0
0
0
-1
66
62
-27
-82
-24
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-59
-64
-36
37
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-63
141
50
0
0
0
0
0
0
0
0
0
0
0
0
1
8
21
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-19
1
0
0
0
0
0
0
0
0
0
7
18
21
42
16
-11
48
-2
0
0
0
0
0
0
0
-5
-22
-3
-12
-95
104
-78
7
-47
0
0
0
0
0
0
0
0
-2
3
-40
0
-27
18
-93
-8
9
-7
0
0
0
0
0
0
0
0
-1
0
0
6
-51
46
34
55
2
0
0
0
0
0
0
0
0
0
0
0
10
58
-107
64
28
35
0
0
0
0
0
0
0
0
0
0
-3
0
-83
37
-37
113
0
0
0
0
0
0
0
0
0
0
0
0
0
14
86
48
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-51
-9
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
0
0
0
0
5
25
41
31
19
-49
-3
-1
0
0
0
0
0
0
-4
11
22
-3
-40
-8
45
50
13
-98
-4
0
0
0
0
0
0
0
-22
-1
-3
-25
-16
115
37
97
46
2
0
0
0
0
0
0
0
9
-1
0
-7
-7
-98
99
25
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-8
37
95
54
24
19
0
0
0
0
0
0
0
0
0
0
0
48
-1
-20
-22
41
0
0
0
0
0
0
0
0
0
0
0
0
1
-72
49
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
34
61
-55
118
31
112
8
0
0
0
0
0
0
-5
1
-25
-15
77
32
25
-5
109
9
52
0
0
0
0
0
0
0
9
-1
68
8
16
7
-29
-51
186
75
0
0
0
0
0
0
0
2
23
126
-55
33
-28
45
-16
-31
28
0
0
0
0
0
0
-2
14
-28
-60
35
-15
-42
-3
35
35
-4
0
0
0
0
0
0
-3
1
1
-11
30
26
45
1
5
16
-9
0
0
0
0
0
0
0
0
-14
9
-22
-26
-55
22
6
-49
-70
0
0
0
0
0
0
0
0
0
0
-5
-17
-5
-17
-65
-95
23
0
0
0
0
0
0
0
0
0
0
6
-2
5
6
-13
-3
-1
0
0
0
0
0
0
0
0
0
-3
-13
8
-13
22
26
-9
0
0
0
0
0
0
0
0
0
0
-1
42
22
63
42
24
33
-43
0
0
0
0
0
0
0
0
-1
-2
0
-6
17
1
2
-36
24
0
0
0
0
0
0
0
-5
1
28
25
4
-1
-17
-33
25
-4
0
0
0
0
0
0
0
8
10
10
5
-2
-8
3
44
40
112
0
0
0
0
0
0
0
-1
13
0
-4
16
-2
-83
-73
58
-1
0
0
0
0
0
0
0
-7
-4
-4
8
6
24
-80
-12
-55
0
0
0
0
0
0
0
0
0
8
13
0
1
38
12
105
-19
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-30
0
12
81
110
-37
-56
-1
-13
-23
0
0
0
-8
35
73
-72
-21
35
50
-49
-12
24
-13
168
-20
11
0
0
0
14
2
15
-65
21
-55
-21
26
48
57
-16
-49
-47
-19
0
0
0
0
-1
-58
-62
-54
-35
26
-36
-22
-31
-37
81
50
7
0
0
0
0
0
-13
20
-36
-2
81
-81
-28
-13
46
51
-48
9
0
0
0
0
0
3
-7
72
-12
-4
9
-45
72
-38
-30
5
33
0
0
0
0
5
-6
-7
-1
-33
7
53
14
-19
-63
8
31
-1
0
0
0
0
0
0
5
89
0
10
56
-6
-13
7
-47
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-15
42
22
-13
0
0
-20
-16
-17
-51
-42
44
0
0
0
-7
45
-31
-6
-57
-44
33
-57
-90
19
24
-5
85
65
0
0
-3
0
-15
23
-92
25
12
57
8
-17
12
48
-10
128
-50
0
0
0
0
-18
-54
5
30
-35
-21
-27
2
-5
12
62
39
34
0
0
0
0
38
-53
-73
33
5
23
3
-4
37
-10
31
-35
-14
0
0
0
0
-3
-3
-63
19
-15
27
13
15
24
1
18
-45
81
0
0
0
0
2
2
8
54
-70
28
-39
-21
-39
-12
24
-30
41
0
0
0
0
0
0
-12
-42
-49
25
59
-27
6
-40
-51
24
-3
0
0
0
0
0
0
-9
9
25
26
60
-65
-10
17
70
0
0
0
0
0
0
0
0
0
0
0
0
-50
16
-41
48
-6
15
0
0
0
0
-2
0
5
-4
2
-84
-32
54
46
-8
45
30
32
0
0
0
0
0
-2
0
-5
57
77
-25
-26
26
-45
-24
55
-23
0
0
0
0
0
0
0
-5
10
-85
25
58
11
-6
-16
21
1
0
0
0
0
0
0
-2
-6
8
4
-50
-44
35
-73
93
4
-2
0
0
0
0
0
0
0
0
-40
-24
43
-39
23
-38
-15
-42
0
0
0
0
0
0
0
0
-1
45
-1
43
-44
-74
-24
55
-38
-6
0
0
0
0
0
0
0
-2
10
-22
44
-13
42
-57
-29
-20
-7
0
0
0
0
0
0
0
0
64
-38
41
2
-3
-1
-3
8
0
0
0
0
0
0
0
0
-4
8
0
0
45
-72
-38
-21
-101
-14
0
0
0
-1
6
-15
52
28
89
-28
-61
-50
-41
18
84
143
14
0
0
0
0
0
-1
-12
-102
34
-21
92
-8
-12
61
52
103
17
0
0
0
0
0
-1
4
-36
32
9
68
29
37
-6
70
77
66
0
0
0
0
0
-2
2
22
9
44
-26
-23
-18
36
40
9
32
0
0
0
0
0
-1
-5
-43
58
12
-91
18
24
-65
38
-20
-19
0
0
0
0
0
-4
24
-30
-22
-23
-21
-47
76
-51
27
46
1
0
0
0
0
0
0
1
-27
3
-90
5
-21
-39
-31
-24
-60
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
1
0
0
0
0
0
0
0
0
-8
-5
0
15
-29
96
43
28
33
43
0
0
0
-1
0
0
78
27
71
1
12
29
41
16
26
23
2
23
0
0
0
17
9
-15
165
17
-77
52
39
9
15
-25
43
40
-34
0
0
0
0
-1
-36
10
52
10
24
41
59
28
4
76
7
-73
0
0
0
0
18
-6
-17
-166
-28
19
13
37
-29
-42
107
-28
30
0
0
0
0
1
0
-30
-10
-75
-26
-17
10
-42
6
29
52
-2
0
0
0
0
0
0
-4
86
-84
-133
-10
10
-92
-55
-17
-16
25
0
0
0
0
0
0
-5
-5
-8
19
-7
8
0
57
-10
-44
-1
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
-3
7
0
0
0
0
0
0
0
0
0
0
41
-7
-27
-74
-12
83
16
-6
0
0
0
0
0
-6
-26
9
77
34
-76
92
64
30
100
88
-19
0
0
0
0
0
3
7
-16
86
-50
116
-24
28
5
-41
-12
8
0
0
0
0
0
0
4
47
34
47
23
68
33
33
107
-104
-15
0
0
0
0
0
-5
-19
-2
58
56
32
120
58
37
46
51
-10
0
0
0
0
0
0
-4
22
-19
33
46
36
48
10
58
67
-41
0
0
0
0
0
0
6
-40
40
-4
12
36
78
17
91
47
25
0
0
0
0
0
0
0
11
-45
-25
-44
-57
17
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
5
5
-1
-1
0
0
0
0
0
0
0
0
0
15
-2
5
-2
-5
-15
1
0
0
0
0
0
0
-4
-1
-32
-7
59
14
20
-28
28
46
74
1
0
0
0
0
0
0
-4
-8
-3
-10
79
-77
-25
-22
11
-7
23
0
0
0
0
0
0
0
15
67
28
72
12
63
-8
4
2
-9
0
0
0
0
0
0
0
-5
8
-4
59
-44
-2
-35
-30
25
8
0
0
0
0
0
0
-1
93
-9
5
-58
-9
52
-39
-41
4
-14
0
0
0
0
0
0
4
-32
23
20
-20
-30
13
32
-40
-75
11
0
0
0
0
0
0
7
3
7
-5
-4
0
11
-22
-5
41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-3
22
9
0
0
0
0
0
0
0
0
0
0
0
3
-4
55
-22
130
40
0
0
0
0
0
0
0
0
0
0
0
-3
-8
42
-20
-49
34
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-42
25
-36
0
0
0
0
0
0
0
0
0
0
0
0
1
-93
-25
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
5
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
-53
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
8
8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
24
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
65
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
8
-2
-22
44
53
7
0
0
0
0
-1
-3
-17
0
0
0
3
81
-56
-83
-58
24
-33
0
0
0
0
0
-2
5
4
18
9
116
-83
-73
52
51
-104
30
0
0
0
0
9
0
13
104
-55
28
48
-96
27
31
14
-15
0
0
0
0
0
0
0
1
-30
31
33
71
-3
35
26
-31
-43
-5
0
0
0
0
0
0
0
-3
-23
36
-12
-47
-42
-1
55
-1
0
0
0
0
0
0
0
0
9
5
9
-26
-58
-16
-1
-31
5
4
0
0
0
0
0
0
1
119
7
-13
0
1
1
2
22
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
-5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
-6
1
3
-4
-7
0
1
0
-5
0
0
0
0
0
0
0
0
0
-3
0
3
2
-1
0
-3
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-77
107
-47
28
13
19
101
0
0
0
0
0
-1
8
-14
0
0
114
114
69
32
22
15
18
0
0
0
0
0
-2
-1
113
248
25
-5
156
89
8
32
45
-26
0
0
0
4
0
-5
45
56
157
62
74
45
-3
86
40
21
41
0
0
0
0
0
-2
-2
-28
26
71
107
55
67
-34
22
39
32
0
0
0
0
1
0
-19
-40
18
-80
41
-10
22
66
0
-11
0
0
0
0
0
0
1
0
29
55
-32
-1
-76
-76
36
-51
-1
21
0
0
0
0
0
0
0
-12
-37
-7
-12
-66
30
43
-28
-52
-4
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-8
1
0
0
0
0
0
-1
4
69
0
0
38
51
52
-62
39
-97
-14
0
0
0
0
0
0
48
-56
11
110
37
18
62
24
-10
-76
-35
0
0
0
0
0
-13
-20
81
31
-54
21
-13
30
-5
-2
-54
-64
0
0
0
0
18
-16
58
-64
29
101
13
-4
34
14
11
-72
-30
0
0
0
0
0
-27
-4
-3
-56
-9
-30
-11
-38
11
-22
-61
-90
0
0
0
0
6
-1
-4
25
-34
-33
-67
-26
71
23
-2
-120
4
0
0
0
0
3
-41
-17
50
-34
-25
-14
26
39
-4
-23
-11
-32
0
0
0
0
0
-7
35
-47
10
-67
-62
14
18
6
21
13
-147
0
0
0
0
0
0
0
0
0
5
-48
42
-19
-14
-4
30
0
0
0
0
0
0
0
0
0
0
0
72
78
32
-11
-39
15
-24
0
0
0
0
0
0
0
0
-19
55
-32
14
-8
-68
-5
33
11
0
0
0
0
0
0
0
0
-6
-20
53
-32
19
-25
-28
2
-9
0
0
0
0
0
0
0
0
3
13
-2
23
17
5
51
-6
42
0
0
0
0
0
0
0
3
-14
19
16
-11
-16
-53
63
34
34
0
0
0
0
0
0
0
0
28
-32
-43
33
34
44
13
49
53
0
0
0
0
0
0
0
0
9
16
7
-22
45
73
-27
7
60
0
0
0
0
0
0
0
5
-56
-46
45
-20
35
54
-33
-8
49
0
0
0
0
0
0
0
0
-33
49
-26
22
105
7
-61
14
27
0
0
0
0
0
0
0
0
0
20
10
65
7
37
43
46
-15
0
0
0
0
0
0
0
1
0
29
0
7
83
9
55
18
-18
0
0
0
0
0
0
0
0
-9
57
44
54
13
-19
50
-16
62
0
0
0
0
0
0
0
1
1
-29
30
88
95
55
34
13
10
0
0
0
0
0
0
-6
-5
9
77
27
-49
135
26
76
22
90
0
0
0
0
0
0
-4
1
2
-36
34
73
35
67
-4
-21
52
0
0
0
0
0
0
0
2
29
-47
90
44
21
-52
73
18
70
0
0
0
0
0
0
0
0
32
-60
-16
64
31
-4
-8
-101
18
0
0
0
0
0
0
0
0
0
0
0
0
-7
-34
-25
-2
0
0
0
0
0
4
1
0
-2
0
0
25
66
-48
9
-2
24
19
0
0
0
0
0
0
8
0
107
0
46
30
60
88
29
-29
59
0
0
0
0
0
3
20
171
18
149
-94
104
32
-12
81
15
-2
0
0
0
0
0
0
28
-5
158
29
100
9
72
27
30
42
-27
0
0
0
0
0
-1
1
-32
9
60
-38
40
-8
79
30
6
16
0
0
0
0
0
0
2
104
37
74
28
44
4
-10
68
33
31
0
0
0
0
0
0
-3
49
-121
12
23
-13
168
-45
40
-40
-8
0
0
0
0
0
0
0
-3
0
-1
23
-16
20
-3
-79
-8
-13
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
12
0
0
0
0
0
0
0
0
-1
0
0
61
77
-18
39
-18
32
14
0
0
0
0
0
2
0
0
0
0
30
25
57
-31
14
65
4
0
0
0
0
0
0
4
36
-13
59
48
13
80
-1
39
76
17
0
0
0
0
0
0
7
-1
19
-33
117
-17
-45
5
3
54
9
0
0
0
0
0
0
0
-66
5
-8
-3
-24
-14
32
44
90
53
0
0
0
0
0
0
0
-5
12
-6
125
16
-59
1
-17
-3
17
0
0
0
0
0
0
0
0
4
2
-6
7
-67
-53
-7
-68
9
0
0
0
0
0
0
0
0
0
0
8
23
-4
-50
-19
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-11
-29
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-70
-7
-8
0
0
0
0
0
0
0
0
0
1
0
2
18
-70
1
4
66
0
0
0
0
0
0
0
0
0
0
12
7
4
51
-51
79
-13
0
0
0
0
0
0
0
3
0
-5
2
0
12
49
6
76
3
0
0
0
0
0
0
0
0
4
6
0
0
4
-18
47
56
30
0
0
0
0
0
0
0
0
0
1
0
0
2
-22
17
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-24
-66
-21
0
73
-53
-59
43
0
0
0
0
0
0
3
15
59
55
1
-4
73
10
45
59
-75
0
0
0
0
0
0
-1
-24
-57
46
100
31
-18
45
-11
79
58
0
0
0
0
0
0
0
-4
6
-1
-1
58
36
41
7
90
86
0
0
0
0
0
0
0
1
-29
54
19
-62
58
30
9
87
151
0
0
0
0
0
0
0
0
72
13
-43
5
23
34
-22
56
-1
0
0
0
0
0
0
0
0
0
0
-16
-28
32
-25
2
33
40
0
0
0
0
0
0
0
0
0
0
-5
-1
-24
1
81
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
8
-63
6
0
0
0
0
0
0
0
0
0
1
20
-16
-9
-96
-25
34
17
0
0
0
0
0
0
0
0
-2
-3
20
92
-29
55
-8
-9
61
0
0
0
0
0
0
0
0
0
60
29
-1
44
64
44
102
72
0
0
0
0
0
0
0
0
0
0
-8
-18
-5
16
56
166
119
0
0
0
0
0
0
0
0
0
0
0
-12
19
-21
43
-1
167
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-63
-20
-4
-22
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-15
2
37
47
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
-69
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
29
13
0
0
0
0
0
0
0
-1
0
31
-19
-37
6
-88
-11
39
18
0
0
0
0
0
0
0
0
-12
-25
-7
46
85
-59
56
14
-9
0
0
0
0
0
0
0
-1
-3
2
4
14
9
-77
-4
51
151
0
0
0
0
0
0
0
0
-1
0
0
6
-34
-11
-1
-4
134
0
0
0
0
0
0
0
0
0
-4
0
1
-7
-58
34
87
56
0
0
0
0
0
0
0
0
0
0
-1
0
49
45
-20
45
-40
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
11
3
-46
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
35
26
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-5
0
0
0
0
0
0
0
0
0
17
2
-3
5
44
-116
-37
9
0
0
0
0
0
0
0
-1
1
-5
28
23
34
-6
64
-22
7
0
0
0
0
0
0
0
0
-1
-45
-1
8
25
-54
66
99
60
0
0
0
0
0
0
0
0
0
-1
-6
-22
13
-29
40
46
-47
0
0
0
0
0
0
0
0
0
0
0
8
44
-52
4
85
-46
0
0
0
0
0
0
0
0
0
0
0
-1
-24
2
-35
-37
-2
0
0
0
0
0
0
0
0
0
0
0
-6
4
-72
-50
-47
28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
5
0
0
0
0
0
0
0
7
0
27
-19
-9
60
39
60
30
33
0
0
0
0
0
0
0
0
8
58
15
9
-53
-48
-32
6
60
0
0
0
0
0
0
0
5
-3
41
-50
-73
83
-27
34
48
-9
0
0
0
0
0
0
0
1
-23
-76
-73
23
44
-28
18
71
51
0
0
0
0
0
0
0
13
8
25
-16
94
17
-1
9
-49
74
0
0
0
0
0
0
0
1
9
2
17
-43
16
50
27
24
43
0
0
0
0
0
0
0
0
-2
1
-9
-50
-24
-35
6
11
53
0
0
0
0
0
0
0
0
-2
0
0
23
-36
-86
-1
-40
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-69
0
0
0
0
0
0
0
0
0
5
24
1
-11
46
51
-75
34
0
0
0
0
0
0
0
0
0
6
-15
7
-13
42
-52
39
59
0
0
0
0
0
0
0
0
0
-10
4
-6
51
44
-57
-3
14
0
0
0
0
0
0
0
0
0
-2
4
3
12
-22
66
-11
61
0
0
0
0
0
0
0
0
0
0
7
-4
-5
-26
-61
56
71
0
0
0
0
0
0
0
3
0
5
2
8
-5
28
51
37
-14
0
0
0
0
0
0
0
0
0
0
0
-3
5
-42
8
20
59
0
0
0
0
0
0
0
0
0
0
-1
0
5
16
-33
78
93
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
2
-18
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-33
-42
0
34
72
20
-52
-8
58
113
20
0
0
0
-5
-2
-27
-14
-65
-33
97
73
25
48
34
38
-11
35
0
0
0
0
2
10
11
-27
19
-5
70
54
72
24
152
13
-53
0
0
0
1
3
31
-52
-92
-41
-18
47
-25
-62
-18
65
-8
54
0
0
0
0
0
3
-14
51
-56
4
56
-11
56
7
68
-12
50
0
0
0
0
0
0
2
8
41
-33
51
47
-53
6
-56
-101
-23
0
0
0
0
0
2
1
0
30
-14
-11
-40
-32
20
-27
-41
-9
0
0
0
0
0
0
0
7
-2
-11
-7
-8
-20
40
23
-10
42
0
0
0
0
0
0
0
0
4
3
0
0
0
0
4
-1
-1
0
0
0
-1
7
-99
-149
-73
0
75
-18
58
21
51
-30
75
0
0
0
0
-30
-19
9
65
-71
-58
-20
-26
43
92
92
12
95
0
0
0
0
4
-1
33
-46
-75
-48
3
-1
23
38
67
6
165
0
0
0
0
0
0
-35
13
-35
9
21
13
38
11
33
57
45
0
0
0
0
0
2
-12
53
20
31
-36
-54
-12
-20
19
69
72
0
0
0
0
0
0
0
-54
49
-4
1
-10
-81
29
-9
40
-57
0
0
0
0
0
0
-1
47
3
-26
-52
-13
-5
73
-4
30
-15
0
0
0
0
0
-2
-1
23
-21
11
-12
-47
-28
-43
59
-38
-46
0
0
0
0
0
0
0
4
21
-42
31
-61
-23
7
1
5
0
0
0
0
0
-1
0
-5
4
-76
0
27
-90
101
-16
-9
34
-3
0
0
0
0
0
5
-33
41
-38
-10
128
-30
56
-87
-3
7
0
0
0
0
0
-1
0
22
42
-65
30
60
-25
15
11
-16
-42
5
0
0
0
0
0
0
6
35
38
-35
63
-12
-8
74
-5
5
0
0
0
0
0
0
0
-3
46
-91
-1
16
-25
-33
37
-1
-12
1
0
0
0
0
-2
0
36
81
44
71
-16
7
10
7
-1
2
0
0
0
0
0
0
2
-12
16
-43
-66
10
-31
44
-30
-2
-12
1
0
0
0
0
0
1
4
-41
-44
-100
-70
2
-5
-4
0
0
0
0
0
0
0
0
0
8
-57
-53
33
69
-2
-2
14
0
0
0
0
0
0
0
0
0
17
-52
9
0
28
-29
97
29
27
-2
0
0
0
0
0
0
0
-41
-11
8
64
63
9
-98
-10
38
-5
0
0
0
0
0
0
0
22
47
-13
46
-78
87
-25
32
67
13
0
0
0
0
0
0
0
2
-6
27
81
3
-23
28
-87
45
1
0
0
0
0
0
0
2
-8
-10
-42
-86
108
-38
-91
40
-27
-28
0
0
0
0
0
0
1
-15
2
11
33
-27
-46
-37
-2
-32
-10
0
0
0
0
0
0
0
-1
10
-57
-5
80
-14
-71
-7
19
0
0
0
0
0
0
0
0
0
2
-14
75
17
-12
-25
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-14
78
0
20
55
54
32
-29
29
53
1
0
0
0
0
0
17
51
86
2
-16
41
-44
-6
47
49
29
71
0
0
0
7
8
10
-43
59
-36
17
37
-55
22
17
18
13
-14
0
0
0
0
0
0
32
32
9
49
35
63
37
-4
110
-33
94
0
0
0
0
0
-3
4
43
-6
-38
122
-53
-39
-9
30
-20
-17
0
0
0
0
0
-3
4
19
6
15
32
-5
14
5
27
112
40
0
0
0
0
0
0
1
7
5
19
-21
-43
27
6
-17
74
-44
0
0
0
0
0
0
0
-6
-1
40
-1
-27
-19
10
-1
-9
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
2
0
-36
10
4
9
-84
-24
10
54
0
0
0
0
0
0
16
12
-68
21
-65
-37
19
88
57
67
111
0
0
0
0
0
0
12
-24
59
-4
-4
-10
96
8
47
62
25
0
0
0
0
0
0
0
1
-53
-18
-61
-10
-72
-9
25
51
9
0
0
0
0
0
0
4
51
-11
-27
62
25
-43
-23
-60
4
39
0
0
0
0
0
0
1
-1
5
-80
-99
-25
0
31
0
-64
63
0
0
0
0
0
0
0
0
-19
9
5
-31
-55
96
-55
-107
-62
0
0
0
0
0
0
0
0
95
-3
-8
-27
-10
-13
-41
-47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-7
0
0
0
0
0
0
0
0
0
9
6
0
-7
-3
56
-57
9
0
0
0
0
0
0
1
0
2
19
7
-40
17
-9
26
38
69
0
0
0
0
0
0
0
-8
-3
-5
-25
0
5
48
45
87
4
0
0
0
0
0
0
0
1
1
-14
-9
-7
-5
54
84
92
130
0
0
0
0
0
0
0
-1
6
-10
41
40
-1
7
16
-73
-48
0
0
0
0
0
0
0
-1
0
-13
1
-15
4
1
30
35
98
0
0
0
0
0
0
0
-1
3
6
-3
8
-8
-8
5
-34
-52
0
0
0
0
0
0
0
0
-1
0
0
6
-2
9
0
89
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
11
-50
-25
9
7
-11
6
0
-1
0
0
0
0
0
0
0
34
-21
9
-77
-54
37
-2
7
52
9
0
0
0
0
0
0
0
58
0
107
21
23
22
0
3
7
1
0
0
0
0
0
0
0
-12
56
-12
-57
47
40
-1
-1
0
0
0
0
0
0
0
0
0
-39
48
-68
-19
1
27
3
0
0
0
0
0
0
0
0
0
0
-17
-15
-16
-37
-23
1
-4
0
0
0
0
0
0
0
0
0
0
-24
57
-13
-40
-42
-14
0
0
0
0
0
0
0
0
0
0
0
6
76
15
68
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
5
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-30
-3
-8
-7
1
0
0
0
0
0
0
0
0
0
0
6
-33
-7
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
42
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
17
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
39
45
49
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-57
23
-15
4
0
0
0
0
0
0
0
0
0
0
0
-5
22
-6
4
-39
0
-1
5
2
0
0
0
0
0
0
0
0
-14
14
-170
38
56
9
4
-3
2
1
0
0
0
0
0
0
0
1
13
112
-2
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
2
-21
-57
0
-1
0
0
0
0
0
0
0
0
0
0
-9
-40
58
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
80
16
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-57
-32
-2
2
-6
0
0
0
0
0
0
0
0
0
19
37
2
14
-9
-43
20
-10
-16
0
0
0
0
0
0
0
0
5
12
-28
72
-5
5
3
-3
0
0
0
0
0
0
0
0
0
-1
-2
-81
-75
-2
-12
0
0
0
0
0
0
0
0
0
0
0
4
-6
74
93
-41
-7
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-20
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-47
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
-5
61
53
13
-106
-58
0
-1
0
0
0
0
0
0
0
-25
-47
24
69
61
32
-43
13
-52
0
0
0
0
0
0
0
0
-1
-6
-15
14
-26
-73
-50
-1
-5
-5
0
0
0
0
0
0
0
24
12
-25
16
95
57
22
17
40
0
0
0
0
0
0
0
0
-7
-10
-31
18
-19
58
31
2
1
-8
0
0
0
0
0
0
0
6
-51
-16
54
26
-28
18
30
1
0
0
0
0
0
0
0
0
19
7
40
-16
32
-29
72
-15
2
0
0
0
0
0
0
0
0
-16
5
-4
-31
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
-9
-5
-6
0
-2
0
-2
0
0
0
0
0
0
0
0
-14
48
14
18
-2
3
0
-6
-3
0
0
0
0
0
0
0
0
-2
-21
-8
6
5
-1
3
1
0
-7
0
0
0
0
0
0
0
0
5
30
1
6
-5
1
8
1
-1
0
0
0
0
0
0
0
-1
23
-1
23
-1
-4
2
-1
0
-13
0
0
0
0
0
0
0
0
-48
-9
0
-4
-2
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-17
-35
-29
61
-14
13
0
45
-7
0
0
0
0
0
0
6
48
99
46
35
40
-22
52
-41
18
-106
-12
42
0
0
0
0
-4
22
72
-10
93
-15
-77
-30
30
-73
12
16
0
-1
0
0
0
3
48
19
18
-1
14
106
40
59
5
-30
-28
4
-1
0
0
0
-40
32
6
-2
-7
78
112
35
-27
28
-45
10
0
0
0
0
0
0
42
2
-71
-22
42
89
10
103
26
4
0
0
0
0
0
0
0
21
-71
5
50
45
14
38
13
8
0
0
0
0
0
0
0
0
0
-3
6
2
4
-8
21
7
3
0
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
13
28
-9
11
-108
-12
0
-85
-85
-1
22
4
0
0
0
0
24
48
-62
-30
20
-52
-8
34
63
-46
23
-22
72
-7
0
0
0
45
-27
-63
-7
26
-68
29
32
15
17
-48
-11
44
-1
0
0
0
18
33
25
46
-6
5
34
29
-50
82
-16
12
5
2
0
0
0
-16
-11
84
21
0
13
-32
-18
-4
-7
31
-16
-4
6
0
0
0
98
4
71
-25
26
-20
-36
-70
-52
-28
46
-14
1
0
0
0
0
-6
-1
59
-21
-25
-27
21
-77
-79
-20
-18
17
3
0
0
0
0
6
49
11
45
-3
29
-54
-50
34
21
0
0
0
0
0
0
0
0
1
7
-14
-8
-44
-58
27
7
-1
0
0
-3
0
0
0
0
0
17
16
21
-4
12
25
0
-58
5
-1
0
0
0
0
0
0
0
-21
-39
-71
73
-76
72
91
42
3
-16
0
0
0
0
0
0
0
0
-78
61
-49
-24
4
-20
-27
-43
2
0
0
0
0
0
0
0
13
-105
-8
48
80
3
19
22
-7
-3
1
0
0
0
0
0
3
0
-14
40
101
98
59
-27
14
8
0
0
0
0
0
0
0
0
3
15
-4
125
51
-17
-1
-7
-3
1
0
0
0
0
0
0
0
1
67
51
27
49
35
-40
-2
-1
0
0
0
0
0
0
0
23
0
-8
44
12
1
63
-33
-22
0
0
0
0
0
0
0
0
0
0
3
-8
41
-46
143
-8
1
0
0
0
0
0
0
0
0
0
-71
-13
-3
-9
-61
8
0
20
-32
-6
25
4
0
0
0
0
0
23
-55
-18
77
-54
57
-43
12
-25
-29
-22
1
0
0
0
0
0
36
-3
26
37
-58
41
25
-13
8
29
26
1
0
0
0
0
0
-2
38
26
55
24
12
69
24
-8
7
-23
-5
0
0
0
0
0
-18
28
82
24
32
78
104
33
-44
42
8
0
3
0
0
0
0
-16
-50
-52
-65
24
50
15
64
-47
36
-25
-1
0
0
0
0
0
-4
-6
26
46
-5
-27
69
94
-34
50
50
-1
0
0
0
0
0
1
-5
113
4
-72
94
30
110
-43
0
-3
0
0
0
0
0
0
0
0
0
-3
15
-3
0
0
0
0
0
0
0
0
0
10
25
17
68
54
42
-164
12
0
35
115
8
0
0
0
0
0
49
-38
-40
31
-90
-22
-45
-43
4
99
-12
0
28
1
0
0
0
-54
47
73
15
-3
19
-41
48
-18
14
82
5
0
0
0
0
0
23
22
15
19
34
62
62
27
15
87
71
30
0
0
0
0
0
-20
9
32
-22
0
-34
109
28
49
14
24
-12
0
0
0
0
0
1
12
86
89
-4
80
66
-6
-44
4
8
-1
0
0
0
0
0
10
9
4
-32
1
59
64
73
-80
-5
3
-4
0
0
0
0
0
-4
1
-7
-71
4
14
31
-27
-3
0
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
41
12
-21
42
92
-30
-18
0
39
10
0
0
0
0
0
0
25
47
85
26
-17
-13
19
12
0
59
0
8
0
0
0
0
0
-27
45
20
101
10
-89
-61
30
-24
-40
26
7
0
0
0
0
0
18
2
-21
31
109
18
-44
103
39
68
-19
-1
0
0
0
0
0
0
-43
49
45
5
-72
0
52
-8
-14
-24
0
0
0
0
0
0
17
0
43
20
-4
-17
-7
113
69
-1
-9
0
0
0
0
0
0
-8
-8
27
7
16
51
59
-8
-4
36
0
0
0
0
0
0
0
0
-1
3
50
3
-38
-1
-16
-6
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
24
29
29
0
0
0
0
0
0
0
0
0
5
0
1
-1
-3
13
-44
142
6
-25
2
0
0
0
0
0
0
0
3
0
-8
19
-29
22
17
12
10
0
0
0
0
0
0
0
0
1
-1
8
-8
-32
24
-40
29
-13
-3
0
0
0
0
0
0
0
10
-10
16
48
27
-56
-24
-59
-13
0
0
0
0
0
0
0
0
6
-9
-12
-6
41
-41
6
-17
3
-6
0
0
0
0
0
0
0
6
-1
-1
8
-27
-27
-29
10
0
-1
0
0
0
0
0
0
0
5
0
3
1
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
36
84
0
0
117
52
19
-7
-1
-5
0
0
0
0
0
0
0
0
40
125
101
-24
52
-25
-2
-4
0
0
0
0
0
0
0
0
13
-28
75
68
-1
-29
58
-1
0
0
0
0
0
0
0
0
0
-3
-45
-4
30
53
17
22
-3
0
0
0
0
0
0
0
0
0
-35
18
-97
-106
72
-16
44
-3
4
0
0
0
0
0
0
0
0
-24
24
15
-63
22
-7
2
-1
0
0
0
0
0
0
0
0
0
-6
-71
-68
-44
21
6
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-4
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
0
0
2
-6
48
7
0
0
0
0
0
0
0
0
0
2
118
32
45
41
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-17
63
-3
30
-62
-2
0
0
0
0
0
0
0
0
0
0
0
-51
-40
14
67
0
0
0
0
0
0
0
0
0
0
0
0
0
14
39
-27
25
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-58
-65
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
109
101
3
0
0
0
0
0
0
0
0
0
0
17
15
104
93
42
39
10
5
0
0
0
0
0
0
0
0
0
0
16
46
70
-32
-13
-1
-1
0
0
0
0
0
0
0
0
0
-1
51
7
-11
18
8
0
0
0
0
0
0
0
0
0
0
0
1
-32
-61
79
22
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
20
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-56
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
30
28
0
0
9
-5
-9
0
0
0
0
0
0
0
0
0
0
4
132
91
48
11
23
0
1
0
0
0
0
0
0
0
0
-1
4
35
40
61
-10
-16
4
2
0
0
0
0
0
0
0
0
0
41
-58
-20
-29
54
5
0
0
0
0
0
0
0
0
0
0
0
11
-60
-11
9
-52
0
0
0
0
0
0
0
0
0
0
0
0
6
0
11
-13
90
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-11
29
126
116
0
0
0
88
-2
0
0
0
0
0
0
8
-19
-10
-15
191
47
0
0
0
92
59
-3
0
0
0
0
0
-3
-32
-43
48
139
146
145
109
-9
33
0
-1
0
0
0
0
0
1
-4
-44
26
3
-8
48
-26
72
-38
-1
-1
0
0
0
0
0
0
2
31
60
-14
-70
-13
20
-25
7
0
0
0
0
0
0
0
-7
-19
-29
-9
-6
-37
-55
-2
17
-36
7
0
0
0
0
0
0
-1
17
25
-8
-5
-26
4
3
-26
-1
-2
-2
0
0
0
0
0
0
0
-24
7
50
-17
-21
8
-47
-2
5
0
0
0
0
0
0
0
0
0
-3
-2
-5
5
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
25
0
0
0
29
20
10
-2
0
0
0
0
0
0
-2
-3
3
43
5
52
52
-20
0
-3
-2
-2
0
0
0
-2
1
-9
-3
-8
37
14
-47
-94
-32
-5
-1
0
0
0
0
0
0
-3
-21
-48
29
-6
0
-43
20
-25
-5
0
0
0
0
0
0
-4
7
-8
-4
2
-82
-38
1
15
-4
0
0
0
0
0
0
0
0
23
-31
-12
21
-29
-36
57
-77
15
0
0
0
0
0
0
0
0
-3
-2
-4
1
-9
-12
-47
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
29
-3
-1
-10
60
0
0
0
0
0
0
0
0
0
0
0
-42
-31
35
11
-73
7
22
0
0
0
0
0
0
0
0
0
0
12
21
61
4
31
61
-3
-1
0
0
0
0
0
0
0
0
0
-62
88
1
51
-13
13
-46
12
-5
0
0
0
0
0
0
0
0
59
-20
21
77
-34
-3
15
-18
-20
-5
0
0
0
0
0
0
0
6
13
-7
-40
9
42
-51
-27
30
-13
-5
0
0
0
0
0
0
41
-26
12
-14
-49
11
-13
17
-13
1
-5
10
0
0
0
0
0
1
-5
-28
10
-28
11
43
42
-16
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-42
-21
-22
-32
38
155
180
0
0
0
0
1
0
0
0
0
0
9
40
47
-14
50
15
126
0
0
50
14
-19
12
0
0
0
0
-2
-28
-33
63
16
-40
57
150
74
-27
-22
25
0
2
0
0
0
-60
-107
-33
7
62
100
100
22
38
-100
-25
6
0
0
0
0
0
-47
27
10
9
34
53
57
29
-9
74
8
-5
20
-1
0
0
0
85
13
-20
14
55
-27
-7
38
-56
-37
40
-29
0
0
0
0
0
20
26
46
-11
25
-43
55
-47
-34
91
-7
4
0
0
0
0
0
0
10
5
2
1
-21
-27
1
0
-3
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-81
24
-32
1
6
194
0
0
5
0
0
5
0
0
0
0
-10
-67
-28
-7
-19
80
96
124
33
105
-68
46
0
0
0
0
0
-40
70
-17
16
-1
41
10
5
22
5
29
-62
-4
0
0
0
0
5
-28
-10
7
14
-15
-11
19
60
22
15
-24
2
0
0
0
0
7
-104
39
8
38
-29
3
-38
-14
7
-87
-11
2
0
0
0
0
-86
-32
-76
-19
-28
10
0
20
4
-20
1
66
1
0
0
0
0
23
-26
-80
-35
23
20
-57
-131
-61
41
52
-35
0
0
0
0
0
-3
-2
8
-5
-14
-20
-12
-68
-69
-21
9
12
0
0
0
0
0
0
0
-93
36
18
-54
21
7
-4
0
1
0
0
0
0
0
0
5
138
108
152
174
197
125
0
0
0
0
0
0
0
0
0
0
169
20
43
94
117
105
-26
5
-35
0
0
0
0
0
0
0
0
22
-10
-8
27
-24
-22
-25
-32
22
-2
0
0
0
0
0
0
0
24
-71
-25
-8
36
66
25
-69
-22
0
2
0
0
0
0
0
0
-25
-12
-11
-91
33
8
34
34
-8
2
0
2
0
0
0
0
0
-30
-2
-63
1
-50
-14
-35
-7
-2
0
0
0
0
0
0
0
0
-93
3
-37
-19
-66
-46
-7
-20
19
-12
0
0
0
0
0
0
0
-20
9
-42
56
45
-9
-29
3
-34
0
0
0
0
0
0
0
0
18
-31
21
2
-19
-30
-3
14
0
0
0
0
0
0
0
0
0
-75
-11
-14
10
22
77
158
97
0
-1
0
0
0
0
0
0
0
-32
-55
23
29
77
198
0
41
41
5
0
-4
0
0
0
0
0
26
-14
-6
58
38
118
29
59
-46
-5
0
0
0
0
0
0
0
-44
-44
-25
-8
-63
14
20
10
-14
10
-5
0
0
0
0
0
0
-11
-13
-65
39
3
60
-10
-22
49
1
-4
0
0
0
0
0
0
-18
29
-22
-40
-2
6
-22
-20
48
-1
0
0
0
0
0
0
0
-64
-16
-4
54
22
-55
-53
-65
-24
0
0
0
0
0
0
0
0
31
-19
-8
79
-36
0
-44
-8
0
0
0
0
0
0
0
0
0
0
0
-12
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-40
-28
6
-16
-12
11
176
0
0
50
1
0
0
0
0
0
0
-21
-50
42
-64
-11
105
115
0
232
0
51
-29
5
-6
0
0
0
-1
-12
-52
-33
2
12
177
99
112
70
140
-34
0
0
0
0
0
45
-28
-70
-40
17
61
30
9
25
-46
6
-32
-1
0
0
0
0
-2
102
-53
64
23
19
-50
15
9
-8
-16
0
0
0
0
0
0
-19
-16
-1
103
56
-7
-32
-99
-60
65
9
1
0
0
0
0
0
3
-17
-45
-45
-3
41
3
26
-75
-37
1
1
0
0
0
0
0
-1
6
26
-18
-14
-87
22
-13
-2
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-8
-76
54
69
117
240
194
0
0
0
0
0
0
0
0
0
9
-26
-15
-28
-20
7
133
0
10
0
12
-2
0
0
0
0
0
42
13
15
-40
-61
46
11
-33
125
36
34
0
0
0
0
0
0
62
-4
-40
-46
-5
50
42
24
22
33
-12
7
9
0
0
0
0
-34
-1
32
-8
74
60
-4
-90
3
32
25
0
0
0
0
0
0
11
24
-1
-32
15
12
-27
-77
-53
-25
0
0
0
0
0
0
0
2
-7
37
-86
-43
-55
40
-25
1
4
1
0
0
0
0
0
0
29
16
8
85
-41
26
-4
-17
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
51
5
58
83
31
0
0
0
0
0
0
0
0
0
0
0
4
31
67
66
48
69
48
8
0
41
9
0
0
0
0
0
0
-1
24
-7
32
13
-3
3
61
81
-25
0
0
0
0
0
0
0
8
-8
-25
54
-20
-5
19
30
41
-24
-8
0
0
0
0
0
0
-3
-4
-22
-69
2
-32
5
-1
-42
-22
2
0
0
0
0
0
0
-49
-73
-42
-8
-43
-32
-12
-27
5
6
3
0
0
0
0
0
0
-4
-53
-18
-39
-48
-36
-34
22
12
-12
2
0
0
0
0
0
0
0
22
15
-21
-1
-8
3
-4
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-69
33
-24
-3
-50
18
0
0
0
0
0
0
0
0
0
-6
2
-16
-2
-26
17
-26
64
15
3
0
0
0
0
0
0
0
-24
15
60
-46
25
8
25
-6
-20
0
0
0
0
0
0
0
0
96
7
4
51
4
-5
3
0
1
0
0
0
0
0
0
0
0
30
17
31
-111
72
-9
0
0
0
0
0
0
0
0
0
0
0
5
61
28
22
-19
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-103
16
-2
-5
15
0
0
0
0
0
0
0
0
0
0
0
-9
20
-2
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
57
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-16
21
-29
1
0
0
0
0
0
0
0
0
0
0
0
5
126
-21
17
-21
4
0
0
0
0
0
0
0
0
0
0
0
6
32
-19
6
9
1
-1
0
0
0
0
0
0
0
0
0
0
-25
78
89
-27
-15
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-28
14
-4
4
0
0
0
0
0
0
0
0
0
0
0
14
-3
21
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-39
-38
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-32
-12
-3
-39
-4
1
0
0
0
0
0
0
0
0
0
-23
57
14
11
-12
-6
-15
5
3
0
0
0
0
0
0
0
0
32
-40
-14
40
-9
-25
-2
0
0
0
0
0
0
0
0
0
0
-25
-35
5
125
8
-1
0
0
0
0
0
0
0
0
0
0
0
-41
63
23
72
17
0
0
0
0
0
0
0
0
0
0
0
0
-6
40
41
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-65
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-3
13
8
-4
-16
1
0
0
0
0
0
0
0
0
0
-8
31
61
7
-1
-9
-1
23
8
0
0
0
0
0
0
0
0
26
43
30
-52
63
-20
0
-2
0
0
0
0
0
0
0
0
0
-3
6
63
55
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
42
-3
3
9
13
2
0
0
0
0
0
0
0
0
0
0
-1
12
3
-30
-25
1
0
0
0
0
0
0
0
0
0
0
0
-2
8
14
-1
-7
-4
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-62
42
35
54
23
-5
-50
0
5
1
0
0
0
0
0
0
-48
21
19
2
31
-7
56
-65
50
-4
0
0
0
0
0
0
0
-3
116
-30
38
11
74
0
42
-4
3
0
0
0
0
0
0
0
-8
33
86
56
-76
-10
25
-9
5
7
-1
0
0
0
0
0
0
23
12
52
80
-2
-19
-2
0
-1
2
0
0
0
0
0
0
0
-1
50
2
29
18
-4
4
-2
1
-3
0
0
0
0
0
0
0
-2
28
-26
3
6
2
-1
0
-3
5
0
0
0
0
0
0
0
-4
-6
2
20
-2
0
0
0
-27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
5
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-42
-14
1
-13
-1
0
-1
5
0
0
0
0
0
0
0
0
1
77
25
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
42
48
-55
50
0
1
-14
0
0
0
0
0
0
0
0
0
0
-29
-22
46
32
-23
-1
0
0
3
-3
0
0
0
0
0
0
0
0
56
-21
-13
-3
1
2
0
0
0
0
0
0
0
0
0
0
16
-59
76
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
-29
-21
8
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
137
29
49
-2
41
13
-8
0
33
45
94
8
0
0
0
0
66
23
11
76
50
-17
-25
33
-42
154
32
67
-6
0
0
0
0
30
28
34
124
46
103
-8
-7
-34
101
-37
-27
6
-5
0
0
0
-30
6
-10
67
46
-31
58
55
124
33
-5
50
-9
-17
0
0
0
15
9
-28
-10
84
29
44
-77
80
12
-20
22
-3
0
0
0
0
3
-38
33
88
20
-4
37
-11
-70
-8
-2
0
0
0
0
0
0
9
42
-39
26
-15
-24
6
24
77
-43
-7
0
0
0
0
0
0
22
-4
-23
0
1
-2
0
5
-24
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-40
7
-20
74
-11
27
-21
0
-69
-67
31
-24
0
0
0
0
0
-49
-63
-34
61
27
-10
-10
-12
-45
42
0
16
2
32
0
0
0
-87
-61
-29
52
31
-9
-32
-170
-75
-56
118
26
0
0
0
0
0
-122
-52
-6
-2
-27
46
-34
-63
-42
35
50
-2
12
0
0
0
0
-43
10
-116
-51
-20
38
-89
-30
-85
-18
33
-21
20
0
0
0
0
-4
-13
-1
89
-7
44
26
18
13
-13
98
-20
0
5
0
0
0
-35
20
-23
-22
52
5
11
-45
30
10
-36
-4
0
0
0
0
0
-31
-43
24
2
-82
-59
-40
1
27
-45
5
-2
0
0
0
0
0
0
1
-15
15
-6
-60
17
34
68
-21
0
0
0
0
0
0
0
-12
-40
-13
80
12
-56
69
0
2
80
42
15
-13
32
14
0
0
21
30
-27
121
26
19
9
-36
37
16
54
14
-2
-1
3
3
0
30
-41
85
73
-24
23
-83
-89
-14
-60
19
-63
39
8
-3
0
0
5
45
48
-92
-17
-25
-34
-56
76
-18
6
-20
20
0
0
0
0
-3
16
19
18
-12
30
37
-6
-26
4
-52
-8
-2
-2
0
0
0
-2
-30
20
30
15
-19
33
26
2
39
52
-45
4
0
0
0
0
0
-24
23
32
3
3
20
-18
-43
-21
-12
-49
17
-4
-4
0
0
0
0
0
18
-19
-14
-3
42
6
-32
37
27
-4
-8
-2
3
0
0
0
3
41
8
22
27
-35
-9
6
-2
-4
12
-6
2
0
0
0
22
52
43
36
14
86
0
4
-8
38
15
0
0
0
0
0
0
3
50
157
40
11
70
-23
78
-13
73
17
0
2
0
0
0
0
-25
72
40
61
0
-78
-35
23
24
-32
-16
0
0
0
0
0
0
0
16
30
6
0
-53
-8
25
-9
36
-25
0
1
0
0
0
0
3
4
40
12
43
6
44
10
-77
-45
-3
1
0
0
0
0
0
1
9
65
-54
14
-7
-49
44
-29
-6
-18
1
-2
0
0
0
0
0
15
17
-8
14
-6
-62
-17
-66
-23
-20
3
-1
0
0
0
0
-1
0
28
-18
25
-17
-107
-72
-41
19
-5
2
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
0
0
27
25
50
83
81
6
121
47
0
16
55
45
-14
0
0
0
0
-4
17
92
10
13
62
-26
-95
-7
119
27
-18
2
2
0
0
0
6
51
111
64
21
17
-17
-22
-4
-37
-38
-7
31
1
2
0
0
105
85
14
14
121
-1
68
93
115
11
-10
-63
5
-1
0
0
0
28
33
86
76
-14
25
-21
45
104
61
-45
3
-1
0
0
0
0
25
-6
36
44
23
-19
-83
6
76
57
-13
-3
0
0
0
0
0
1
-44
81
50
69
15
-24
-27
-37
26
-1
1
0
0
0
0
0
0
38
-40
13
1
-31
-3
-13
15
13
2
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
56
-61
9
54
-7
30
6
99
0
-70
32
1
0
0
0
0
0
43
49
111
88
70
39
41
-89
-56
-13
-1
1
1
0
0
0
0
19
135
123
56
-53
55
-2
-53
-74
88
5
-2
0
0
0
0
0
4
13
77
18
-23
75
41
93
-14
-7
-4
-4
0
0
0
0
0
4
29
97
21
-25
-31
40
-13
13
7
27
0
1
0
0
0
0
-30
-1
63
-5
50
-5
46
-9
22
-1
-1
-4
0
0
0
0
0
4
2
19
-25
7
9
51
-25
-52
0
0
3
0
0
0
0
0
0
5
2
2
2
-20
8
-14
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
5
0
7
-2
-8
0
9
4
0
10
0
0
0
0
0
0
0
10
-7
25
0
17
0
7
0
-50
-48
8
0
0
0
0
0
0
-1
10
7
-32
30
-31
-5
3
-8
-17
-8
0
0
0
0
0
0
6
17
-13
10
32
-6
-25
0
-1
0
0
0
0
0
0
0
0
-2
12
12
17
8
-7
6
2
-17
0
0
0
0
0
0
0
0
0
3
4
-1
4
-6
9
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
8
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
57
0
0
0
0
0
0
0
0
0
0
0
3
0
0
35
-50
16
27
-4
-3
0
0
0
0
0
0
0
1
16
158
263
10
32
-65
-1
2
1
0
0
0
0
0
0
0
0
-48
21
213
96
11
23
7
0
0
0
0
0
0
0
0
0
-4
-12
-8
59
98
-22
-41
-3
-1
0
0
0
0
0
0
0
0
-4
-31
71
28
-75
20
6
3
0
0
0
0
0
0
0
0
0
2
-13
54
-28
13
-47
29
0
0
0
0
0
0
0
0
0
0
0
0
-31
-56
4
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
9
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-6
-1
0
0
0
0
0
0
0
0
0
0
0
135
149
12
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
14
97
-117
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
22
21
-10
1
0
0
0
0
0
0
0
0
0
0
0
4
2
-8
39
-3
1
0
0
0
0
0
0
0
0
0
0
0
4
0
-39
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
33
-6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
20
62
-19
0
0
0
0
0
0
0
0
0
0
0
13
132
96
81
-45
57
0
2
0
0
0
0
0
0
0
0
0
4
-9
71
53
-24
5
7
0
0
0
0
0
0
0
0
0
0
3
-10
73
-67
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
42
72
6
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
18
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
0
11
16
0
4
0
0
0
0
0
0
0
0
0
0
58
123
133
-36
-26
2
1
0
0
0
0
0
0
0
0
0
3
-1
30
161
-52
-10
5
0
0
0
0
0
0
0
0
0
0
6
-23
-48
-2
-20
23
-2
0
0
0
0
0
0
0
0
0
0
0
25
-19
-93
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-8
-68
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
25
-14
-5
6
-23
40
0
0
0
6
-7
0
0
0
0
0
-4
-41
-13
10
-42
37
-11
0
0
0
41
-38
-6
-6
0
0
0
4
-41
70
55
-21
41
24
107
107
117
-27
14
-5
0
0
0
0
0
43
14
19
-8
5
-20
74
201
162
-44
54
0
0
0
0
0
0
-41
46
23
-11
-50
-24
19
156
19
18
16
0
2
0
0
0
0
-10
52
4
15
5
18
-22
-1
-16
32
-16
0
0
0
0
0
0
29
10
-8
-7
-25
0
-32
-65
-71
-78
-15
0
0
0
0
0
0
0
21
-2
-7
47
0
-7
-59
-34
-50
0
3
0
0
0
0
0
0
0
0
0
0
6
-1
-8
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-1
-1
0
0
0
0
0
2
0
0
3
13
2
0
0
0
-18
-5
-1
7
0
0
0
0
4
0
3
-7
-3
0
-12
42
-10
-20
13
-1
0
0
0
0
0
-2
-8
20
5
-15
8
29
-8
140
-68
-1
-3
0
0
0
0
0
-2
38
-1
10
-16
7
110
83
117
-25
-5
-1
0
0
0
0
0
0
-9
1
-8
-10
10
32
42
140
-64
4
0
0
0
0
0
0
0
14
2
3
7
-8
124
37
21
-47
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
32
95
87
14
2
0
0
0
0
0
0
0
0
0
0
0
0
2
87
-5
-5
0
0
0
0
0
0
61
40
24
-85
-21
-58
-4
0
0
0
0
0
0
0
0
0
0
-148
-18
26
20
34
47
4
0
0
0
0
0
0
0
0
0
0
-33
-28
54
-12
76
-32
29
17
0
1
0
0
0
0
0
0
0
-74
29
-40
-38
52
55
0
-1
0
5
0
0
0
0
0
0
0
44
6
4
-11
-18
-9
-1
17
-1
-23
0
0
0
0
0
0
0
27
-109
-28
19
-33
42
-27
43
6
-2
0
0
0
0
0
0
0
-50
-107
-8
-7
73
108
82
-47
12
-8
-4
0
0
0
0
0
0
-10
-32
61
33
15
24
-3
-5
8
9
7
0
0
0
0
0
0
0
31
-2
-20
-23
4
4
0
0
0
0
0
0
0
0
0
0
-68
25
15
26
107
27
61
0
0
0
39
39
-1
0
0
0
0
-28
-16
-18
16
8
76
94
0
0
169
-33
-9
1
0
-2
0
0
5
-7
27
-1
-36
36
1
91
253
-34
-6
72
0
0
-8
0
0
-31
-34
55
-70
-2
69
35
27
128
66
34
8
0
0
0
0
0
-24
48
59
10
29
-68
-47
-95
-3
-24
-22
-21
-2
0
0
0
0
-22
41
-21
-39
2
24
6
17
-42
12
0
0
0
0
0
0
0
-11
-56
22
-48
78
44
-71
5
-12
-11
-22
1
0
0
0
0
0
0
18
42
36
-29
-15
0
3
-44
-4
-12
0
0
0
0
0
0
0
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
35
20
0
41
39
57
0
0
67
-59
-27
0
0
0
0
0
16
15
-4
2
22
-23
24
78
68
8
43
27
0
0
0
0
0
-35
18
-2
29
4
3
6
1
-17
127
43
28
0
0
0
0
0
-12
-5
-2
-2
10
-13
-7
42
27
54
13
-14
0
0
0
0
0
0
-56
6
29
-57
-71
15
-74
60
-53
0
-14
-1
0
0
0
0
-6
-37
-95
-23
-43
70
15
4
82
-53
-8
0
0
0
0
0
0
-10
31
7
-49
-91
-30
-6
19
-74
3
16
0
0
0
0
0
0
-16
84
-4
7
18
39
-30
-47
-43
-80
0
0
0
0
0
0
0
-3
-13
20
-25
70
37
11
-19
4
-28
6
0
0
0
0
0
0
44
32
-27
65
60
86
17
0
0
0
0
0
0
0
0
0
0
0
13
-48
45
54
73
4
0
0
0
0
0
0
0
0
0
0
-6
-13
-20
28
-17
47
64
-20
-14
0
0
0
0
0
0
0
0
-23
-20
6
27
5
27
20
-27
0
0
1
0
0
0
0
0
0
9
7
-65
-1
0
-10
3
-32
-2
0
0
0
0
0
0
0
0
0
10
6
-58
21
6
67
-21
-14
-3
-1
0
0
0
0
0
0
-67
1
25
-30
32
115
49
30
-8
10
0
0
0
0
0
0
0
46
-17
14
64
12
-66
68
24
-18
0
0
0
0
0
0
0
0
39
-30
11
-29
-10
-27
-20
46
17
0
0
0
0
0
0
0
0
34
2
42
6
-16
57
92
36
0
0
0
0
0
0
0
0
0
-29
-29
35
44
91
83
0
-46
49
-6
-1
0
0
0
0
0
0
-40
43
-71
20
102
-14
83
-46
0
0
0
0
0
0
0
0
0
-22
-4
33
-20
28
50
4
-14
-30
-2
-2
0
0
0
0
0
0
-5
-6
45
-67
-23
-27
0
10
75
0
0
0
0
0
0
0
0
-20
-10
21
-13
29
-13
-3
-56
-16
2
0
0
0
0
0
0
0
-23
39
4
-14
70
94
-80
-33
-60
0
0
0
0
0
0
0
0
-51
8
54
-43
-64
-18
-20
32
-3
0
0
0
0
0
0
0
0
0
3
-54
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-61
-6
37
45
117
124
0
0
4
41
28
2
0
0
0
0
-12
6
16
47
40
-5
89
0
163
0
17
75
2
0
0
0
0
31
10
-14
16
71
22
37
24
170
27
-43
0
1
0
0
0
0
44
3
-19
49
-2
-70
44
-43
146
10
-99
40
2
0
0
0
0
58
-10
-20
40
-17
-16
27
40
-22
8
-48
0
0
1
0
0
0
-46
62
23
-49
-5
30
-10
-47
30
-74
1
-23
0
0
0
0
0
11
14
-25
-118
43
-46
-23
21
-55
-52
-2
0
0
0
0
0
0
-4
2
-110
-44
28
-12
-24
1
-20
-5
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
8
0
0
0
0
0
0
0
-7
-88
0
38
-11
-65
-50
7
0
70
25
1
-7
0
0
0
0
15
40
0
34
6
-8
67
0
94
0
21
7
0
0
0
0
0
-18
-35
16
-50
50
65
-6
51
190
78
56
-14
-2
0
0
0
0
-64
-73
-31
20
63
4
105
107
109
89
22
6
-3
0
0
0
0
-54
-4
11
-59
-8
-9
-10
-32
137
22
-1
-1
1
0
0
0
0
9
-3
16
8
-46
-51
-8
2
25
-28
-13
0
0
0
0
0
0
17
25
-52
-26
5
46
-6
-10
-16
-25
-2
0
0
0
0
0
0
0
-33
-28
0
-43
3
8
-9
2
-14
0
0
0
0
0
0
0
0
-9
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-43
8
-18
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
-38
2
1
-3
0
0
0
-25
0
0
0
0
0
0
0
25
7
3
-29
0
-4
0
-4
30
-2
0
0
0
0
0
0
0
-14
7
9
2
-3
-1
0
22
56
1
0
0
0
0
0
0
-1
41
-56
7
20
-2
0
-18
25
22
0
0
0
0
0
0
0
-6
0
-29
10
-7
0
-1
-3
18
91
1
0
0
0
0
0
0
-1
0
-2
-1
8
-2
0
-6
-26
90
1
0
0
0
0
0
0
-1
-8
-20
0
-3
0
0
-2
41
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-8
2
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
-15
20
-66
29
17
-56
-38
25
3
22
0
0
0
0
0
0
-16
13
-44
-21
89
-5
-13
25
24
15
-14
0
0
0
0
0
0
10
-24
87
39
86
-37
29
1
1
3
1
0
0
0
0
0
0
-27
-11
-6
-61
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
-20
7
49
22
34
-25
0
6
0
0
0
0
0
0
0
0
0
-44
-7
42
29
39
-7
2
0
0
0
0
0
0
0
0
0
0
50
69
15
-90
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
1
-5
-1
10
18
0
0
0
0
0
0
0
0
-2
-9
-39
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
-8
-14
-22
-7
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-3
25
7
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
44
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
27
19
14
2
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-48
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
7
-3
0
9
1
43
36
-9
4
0
0
0
0
0
0
4
-17
24
23
-5
-4
1
-17
1
-12
0
0
0
0
0
0
0
-3
6
-27
-37
-49
3
-6
0
3
0
0
0
0
0
0
0
0
0
9
-52
86
-8
-6
0
0
0
0
0
0
0
0
0
0
0
1
-8
23
24
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-31
-17
-29
-3
0
0
0
0
0
0
0
-4
70
-4
-1
-9
-2
-1
2
0
0
0
0
0
0
0
0
0
8
-14
-15
-20
-19
0
0
0
0
0
0
0
0
0
0
0
0
-40
43
33
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-14
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
87
-5
0
0
0
0
0
0
0
-6
-23
-23
-26
-35
-56
31
-53
138
7
0
0
0
0
0
0
-1
-5
-3
-10
-41
4
-95
-45
-23
-68
1
-1
0
0
0
0
0
-56
-28
32
45
26
-11
30
73
46
-25
0
0
0
0
0
0
0
13
45
50
-45
89
40
32
-26
41
6
0
0
0
0
0
0
0
15
24
26
38
-46
-3
40
-12
4
-1
0
0
0
0
0
0
0
-6
-7
-2
-7
8
-33
13
0
-9
-1
0
0
0
0
0
0
0
0
-17
-6
8
4
8
0
4
0
-3
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
-1
-2
0
0
0
0
0
0
0
0
-6
-1
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
13
7
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
23
-41
22
-3
1
-4
0
0
0
0
0
0
0
0
0
0
-3
5
-2
14
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
25
0
16
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-10
40
0
-12
-14
51
-2
8
0
0
0
0
0
5
-5
17
42
-8
12
-68
172
45
36
-11
38
-4
0
0
2
2
-74
31
57
11
-69
1
-117
-41
-6
34
9
-7
4
0
0
-2
1
18
-56
-45
-7
-53
118
77
28
-55
-42
10
0
0
0
0
-8
20
-87
3
50
59
55
47
13
79
-29
-67
0
0
-3
0
0
-27
-4
15
94
-27
36
18
39
-136
7
15
0
0
0
0
0
0
0
-18
-2
-45
39
75
2
30
5
26
0
0
0
0
0
0
0
0
0
2
-2
-44
-44
-7
27
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-23
5
28
-24
-29
0
-64
-95
-81
-99
9
-17
0
0
0
1
52
-13
5
11
22
-25
-19
33
-57
-44
23
32
-41
5
0
0
78
32
15
33
-26
-17
51
7
34
-17
-8
-34
-43
6
1
0
0
8
105
4
28
13
16
-15
-12
-5
-7
-35
-2
-29
9
0
0
0
32
-41
27
0
34
-21
-30
5
-61
-12
15
12
-45
-1
0
0
0
51
20
-2
51
-42
33
43
-28
15
-44
-1
-49
57
-8
0
0
0
15
72
-47
68
19
-56
-26
-18
-42
42
60
59
-17
0
0
0
0
48
57
-31
1
-53
12
-7
35
-16
-46
9
23
-1
-12
0
0
0
0
-7
12
-2
-1
38
42
-21
-28
2
-22
-16
-5
0
0
0
0
0
0
0
-1
2
6
55
0
-55
22
16
6
0
0
0
0
0
0
0
9
-7
4
47
71
-31
9
-18
20
18
5
0
0
0
0
0
0
-12
7
59
33
77
54
13
25
-20
0
-3
-2
0
0
0
0
7
4
60
52
13
35
-36
36
-36
21
3
0
0
0
0
0
0
1
30
75
5
69
-70
12
-12
-14
-8
0
-1
0
0
0
0
0
0
-15
-9
52
-12
-10
-3
44
2
0
0
0
0
0
0
0
0
0
-2
-46
24
-71
-19
18
-19
-4
0
0
0
0
0
0
0
0
-16
0
-19
-41
-13
-26
2
8
-9
0
0
0
0
0
0
0
1
0
0
-4
-22
5
-39
1
0
-2
0
0
0
0
0
0
0
0
0
-2
27
5
-24
-11
0
25
26
-16
-7
-5
0
1
0
0
0
-5
39
137
34
-36
80
-54
40
4
123
57
13
17
0
0
0
0
-6
112
66
23
3
97
65
25
1
46
108
28
-6
1
0
0
0
1
-8
78
67
3
-9
93
82
-66
5
8
6
-1
4
0
0
0
-10
46
148
-35
-43
-2
3
69
65
-24
-15
1
0
0
0
0
0
0
47
-25
18
7
39
25
-58
-67
80
52
0
0
0
0
0
0
0
0
14
0
-94
-15
-6
20
5
-45
-25
-1
0
0
0
0
0
0
-2
-19
12
9
77
74
-36
-75
19
0
0
0
0
0
0
0
0
-1
0
-1
63
-61
23
-1
0
0
0
0
0
0
0
-4
0
0
0
-6
-19
-22
53
0
-58
2
-62
17
30
0
0
0
13
-1
14
-3
4
-13
-119
-5
19
50
44
97
-42
-3
10
0
0
-2
33
44
-85
2
-65
-47
-10
28
7
-31
46
22
3
0
0
0
-6
53
12
19
0
32
75
42
1
-34
53
27
-14
0
0
0
0
-5
20
18
5
13
-27
34
52
98
65
-9
3
-2
-3
0
0
0
0
14
8
-11
57
11
163
114
92
18
0
0
-2
0
-2
0
0
0
0
20
-31
37
64
-6
-2
92
2
5
0
3
0
0
0
0
0
4
-3
4
106
-3
36
45
30
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-17
23
-17
0
5
-21
0
0
5
-1
0
0
4
2
0
-30
6
-26
37
-83
67
-19
-16
79
5
-1
2
0
0
-3
-1
-18
-13
-23
32
-10
-30
30
22
29
-60
-5
0
0
0
0
0
-65
-14
28
132
24
-21
1
109
14
1
-11
0
0
0
0
0
4
28
92
-69
51
-49
-10
125
-14
78
8
0
0
0
0
0
0
0
24
16
31
93
-54
14
15
-5
47
7
0
0
0
0
0
0
0
0
-6
0
-11
34
-50
12
37
12
1
0
0
0
0
0
0
0
-7
2
22
34
13
-46
-16
-67
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
20
0
0
0
0
0
0
0
0
0
0
-1
0
16
-1
40
4
48
-1
0
0
0
0
0
0
0
0
2
0
0
-5
-1
-13
-68
5
-5
0
0
0
0
0
0
0
1
0
2
2
2
22
67
-25
-1
3
0
0
0
0
0
0
0
41
-2
0
-8
8
1
-6
-7
0
0
0
0
0
0
0
0
-4
-4
8
-3
-2
3
-1
-23
-3
-3
0
0
0
0
0
0
0
1
5
8
-1
-1
-1
-3
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
18
-52
18
4
2
0
0
0
0
0
0
0
0
46
0
0
131
54
74
-35
10
17
5
0
0
0
0
0
0
8
34
-9
28
98
-18
76
28
-15
-19
0
0
0
0
0
0
0
-5
64
14
24
-21
118
9
20
3
1
-1
0
0
0
0
0
0
19
-16
-54
-95
64
-55
-6
-17
-3
-4
0
0
0
0
0
0
0
-24
18
-11
-54
47
8
-4
14
0
0
0
0
0
0
0
0
0
16
17
7
-4
39
-13
9
1
0
0
0
0
0
0
0
0
0
4
-44
-22
-21
28
-29
6
0
0
0
0
0
0
0
0
0
0
0
-6
3
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
0
0
0
0
0
0
0
0
0
0
26
156
30
20
-11
-15
-1
-2
-1
0
0
0
0
0
0
0
0
-19
44
80
51
79
-5
0
0
0
0
0
0
0
0
0
0
0
40
-9
-101
-58
-27
1
0
0
0
0
0
0
0
0
0
0
0
-22
-65
-23
4
-61
1
0
0
0
0
0
0
0
0
0
0
0
-13
4
-4
69
-42
-1
0
0
0
0
0
0
0
0
0
0
0
5
-45
7
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
45
57
3
6
0
0
0
0
0
0
0
0
0
-25
0
0
-7
77
-13
22
-8
-6
0
0
0
0
0
0
0
0
-5
28
126
136
58
15
-29
-32
2
0
0
0
0
0
0
0
9
34
11
-64
0
-56
5
-9
0
0
0
0
0
0
0
0
0
-13
-37
8
-6
-34
-41
6
0
0
0
0
0
0
0
0
0
0
0
-27
24
-8
-15
-12
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
-18
47
-11
0
-3
-1
0
0
0
0
0
0
0
0
0
0
7
-7
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
8
8
5
-1
0
0
0
0
0
0
0
0
3
66
-26
102
50
30
8
-2
0
0
0
0
0
0
0
0
0
1
23
10
38
42
30
-5
2
-1
5
0
0
0
0
0
0
0
-4
-53
25
79
25
9
2
0
0
0
0
0
0
0
0
0
0
-8
-54
-19
12
-26
6
0
0
0
0
0
0
0
0
0
0
0
-4
8
32
-29
23
-9
1
-1
0
0
0
0
0
0
0
0
0
0
-32
40
-4
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
57
-22
0
2
0
0
0
0
0
0
0
-7
-4
6
0
0
0
103
7
0
-5
0
0
0
0
0
1
-7
37
14
24
128
113
173
11
14
3
4
0
0
0
0
0
13
-40
-71
13
4
-23
99
62
35
-2
24
-6
0
0
0
0
0
-6
3
10
-28
4
-53
10
6
62
-24
0
-3
5
0
0
0
8
-22
5
-24
3
5
143
-22
-24
3
22
1
-1
0
0
0
0
0
1
29
-26
65
-11
-31
-25
8
-22
0
8
4
0
0
0
0
0
0
14
-1
12
46
32
56
104
-28
1
-2
0
0
0
0
0
0
0
0
0
6
7
24
-38
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
6
-1
5
0
0
0
0
0
0
0
1
0
47
111
33
35
0
0
-1
0
0
0
0
1
0
0
0
-5
14
9
39
19
-21
-8
0
2
0
0
0
0
2
20
45
-4
1
-22
-16
-40
-10
-9
4
-5
0
0
0
0
0
0
10
1
-34
29
18
-26
-34
72
-28
0
0
0
0
0
0
0
0
-9
-2
1
0
-9
-57
16
-31
-3
0
0
0
0
0
0
0
4
0
0
-2
0
0
-50
15
14
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
5
-7
49
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
47
-27
81
-32
32
41
0
0
0
0
0
0
0
0
0
0
0
-42
-86
0
-8
-23
-113
71
-5
0
0
0
0
0
0
0
0
0
42
38
28
-48
41
50
-64
23
8
-1
1
0
0
0
0
0
0
0
43
35
-28
-50
-49
2
17
75
-20
1
0
0
0
0
0
0
2
117
69
-54
81
-46
18
-7
6
6
-25
7
0
-3
0
0
0
-2
-12
109
89
-27
22
51
21
-82
51
-18
35
-4
0
1
0
0
0
20
17
118
-43
-29
-21
85
-66
-7
55
-31
-25
3
-1
0
0
0
0
0
0
8
-5
24
-14
-2
-2
0
0
0
0
0
0
0
5
-36
-49
5
-10
9
1
0
0
0
133
-3
-1
4
0
0
0
-77
-30
-89
-15
79
25
39
0
0
215
26
0
66
-33
-2
1
0
72
-19
4
-19
8
-36
124
181
-4
50
143
36
5
-1
-29
0
0
-35
-85
11
-62
-25
57
-61
24
69
46
-24
5
1
-1
3
0
0
-22
18
-63
-22
40
24
78
29
48
-17
1
12
16
0
0
0
0
27
20
-44
69
60
-1
16
-48
36
-84
-29
40
-1
0
0
0
0
9
4
72
47
-1
-21
31
-40
-67
-11
-27
-7
0
0
0
0
0
0
-10
20
17
-5
19
-36
-7
18
-18
0
-3
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
8
0
7
0
0
0
0
0
0
-8
-19
14
-9
89
97
0
0
-30
-15
16
0
-5
0
0
0
-25
19
-49
121
23
27
87
39
64
-75
0
-60
-14
-2
0
0
0
-74
5
-21
72
25
-5
34
24
28
13
-53
-71
45
-1
0
0
0
-4
1
-44
12
54
86
-27
30
2
24
-93
12
-9
4
6
0
0
-50
-35
49
39
-42
27
-1
20
54
84
-55
2
-31
-1
0
0
0
-5
-18
1
-5
-6
-25
25
10
-8
-58
54
23
14
0
0
0
0
-49
-19
-10
-4
-7
-73
-133
28
-6
-6
31
-77
-32
5
0
0
0
24
54
138
2
-63
-14
13
17
-14
-110
-44
-5
-2
0
0
0
0
0
8
-22
-47
54
10
-103
-67
-41
-2
-36
2
0
0
0
0
0
-38
68
21
22
36
0
-5
0
0
-1
2
0
0
0
0
0
0
68
36
19
157
92
97
23
21
-50
5
1
0
0
0
0
0
0
-7
13
-14
38
14
8
-63
-43
-42
-5
0
-1
0
0
0
0
0
25
1
-60
-27
5
3
11
32
-19
-7
0
-2
0
0
0
0
0
-34
-66
-92
-76
57
50
-44
-1
-21
2
0
0
0
0
0
0
0
-23
-40
-4
-35
48
-76
-6
-56
-4
0
0
0
0
0
-1
0
0
13
13
-68
-49
-11
-40
-12
-56
-18
0
0
0
0
-4
0
0
0
0
40
-38
-5
-48
-15
-33
1
-25
-1
8
0
0
0
0
0
0
-12
-18
-5
3
0
7
-8
4
-1
0
-1
0
0
0
0
0
0
-4
6
-30
21
-23
72
47
6
0
1
-2
0
0
0
0
0
0
-4
-9
-12
2
-70
86
0
21
-39
-61
-1
-17
29
0
0
0
0
-53
11
59
27
5
26
67
21
-49
-51
-2
0
0
0
0
0
0
6
0
2
86
16
-6
-31
79
-36
-9
0
0
0
0
0
0
0
2
-53
-28
45
-28
2
-29
-5
78
-8
4
0
0
0
0
0
0
11
13
-28
27
48
-116
-31
-66
-3
-1
24
0
0
0
0
0
0
-58
-7
-12
5
31
31
17
-31
13
4
12
0
0
0
0
0
0
-3
-54
-49
26
101
16
-44
-40
-1
0
0
0
-4
0
0
0
0
0
0
-1
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
40
41
29
0
0
0
201
39
-15
4
28
0
0
0
-4
-35
-13
-43
5
17
45
0
40
0
13
57
-57
-15
5
0
0
-93
-45
0
6
54
-21
151
13
69
-27
40
-12
31
2
0
0
0
-22
46
42
36
27
-34
84
59
96
-11
-51
1
-10
2
0
0
0
-4
-30
22
-17
70
-38
74
43
33
51
-69
-7
12
0
0
0
0
-20
-37
-28
70
4
-111
18
-43
-55
-8
-44
7
-10
-1
0
0
0
-1
-39
-10
67
-27
-41
82
-100
-55
-72
-7
20
5
0
0
0
0
0
1
-7
-17
-45
-70
-14
-47
-8
-13
7
4
7
0
0
0
0
0
0
0
0
-1
0
-1
-1
13
0
0
0
0
0
0
0
0
0
-6
-3
5
0
0
5
0
0
2
48
3
0
0
0
0
0
0
6
-20
-32
44
14
32
0
40
0
8
9
20
0
0
0
0
-3
19
-31
22
12
19
15
62
105
5
38
72
16
1
-3
0
0
5
-4
12
52
4
73
17
-6
38
-46
-1
57
46
-1
0
0
0
32
28
44
-35
30
18
83
-20
-15
-26
-20
29
10
3
0
0
0
2
30
28
-30
-5
-32
46
23
2
-30
10
0
1
0
0
0
0
0
-5
6
13
-9
-55
-33
-93
-23
-29
-3
-1
0
-2
0
0
0
0
-37
-4
-22
-52
35
-59
39
-45
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
5
2
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
6
-1
9
0
0
-1
0
18
12
29
0
0
0
0
0
0
32
16
18
-8
-16
-7
4
49
-10
-7
1
0
0
0
0
0
0
32
5
-16
-21
-49
-32
-41
-9
-44
17
-2
0
0
0
0
0
0
-64
-1
-23
68
19
-44
-3
60
-89
3
-1
-2
0
0
0
0
3
2
-36
-12
-66
-16
-40
-52
-42
-25
10
0
0
0
0
0
0
7
8
-43
-1
-25
5
-5
1
-94
32
-1
0
0
0
0
0
0
-6
32
33
8
-16
-6
53
-9
-47
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-21
-25
-13
-6
17
0
7
0
0
0
0
0
0
0
0
40
1
29
17
6
4
-10
27
14
0
0
0
0
0
0
0
0
-30
-61
7
-7
-8
5
0
0
0
0
0
0
0
0
0
0
0
27
-18
36
-5
-7
0
0
0
0
0
0
0
0
0
0
0
1
1
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-35
-6
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
24
20
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-15
-4
0
-4
1
27
-7
0
0
0
0
0
0
0
-1
1
0
29
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
1
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
1
9
1
-2
-1
0
9
0
0
0
0
0
0
0
0
0
8
8
34
7
13
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
7
24
25
-21
-37
0
3
-22
7
0
0
0
0
0
0
16
16
58
66
11
-81
11
-33
40
-3
-5
4
0
0
0
0
-1
22
-5
25
-1
28
-44
-77
53
-49
-5
10
0
0
0
0
0
0
36
10
5
20
8
-12
18
1
8
23
0
0
0
0
0
0
9
3
16
8
-13
-44
-42
3
28
6
5
7
0
0
0
0
0
0
-5
15
9
8
-22
-52
-29
29
2
0
0
0
0
0
0
0
-1
-5
-9
-8
16
-8
-2
-42
-8
5
0
0
0
0
0
0
0
7
8
5
-5
0
0
5
-14
-68
3
0
0
0
0
0
0
0
3
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-3
3
0
10
10
0
0
0
0
0
0
0
0
0
-2
-2
0
6
0
0
-3
5
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
-2
-54
-12
81
0
23
-28
-19
6
5
-2
0
0
0
40
49
18
18
16
-118
8
13
121
-23
1
-24
50
33
0
0
-4
38
-51
75
32
25
-24
-45
7
101
-4
-24
32
70
13
0
0
17
117
71
17
-15
26
-1
95
195
61
2
-31
14
14
17
0
0
0
-13
23
-39
3
-14
-39
-47
71
-25
19
39
36
4
-2
0
0
0
0
-38
24
10
-18
26
-103
-31
13
-42
-5
-3
23
1
1
0
0
0
-7
0
3
5
20
-51
-55
-84
51
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-13
-23
9
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-26
12
-20
44
0
-8
32
67
26
16
39
0
0
0
-2
-12
49
16
92
-11
19
31
44
48
62
-69
-10
60
-48
0
0
-48
-25
-51
47
42
-47
-107
-73
-45
-36
5
-34
35
-13
8
0
0
4
-55
-53
-14
-139
62
6
31
-44
-27
53
54
-54
5
1
0
0
-43
-147
-29
52
13
-54
36
-11
-86
10
42
20
-97
-21
2
0
0
-10
-65
-3
43
7
-37
32
-18
-50
-63
-59
3
51
-7
10
0
0
-3
-14
56
160
-96
-12
-22
-14
-43
-12
27
22
3
20
0
0
0
3
1
40
33
-37
9
-3
-49
-23
19
-39
71
4
5
0
0
0
0
1
0
71
-9
-5
-4
1
21
15
61
5
-10
1
0
0
0
0
0
-5
0
10
-23
29
0
11
-1
12
93
-24
-18
14
-6
0
0
-10
-24
-1
63
46
15
21
83
-24
61
42
22
30
2
-8
0
0
0
-1
-67
144
17
23
-10
38
24
25
38
-46
28
-10
-8
0
0
7
-4
44
52
83
-70
53
-7
-5
-2
-35
-27
27
27
-1
0
0
0
0
33
-32
-18
-49
9
9
9
54
6
-30
33
0
-1
0
0
0
0
-6
-21
58
3
19
-8
-14
-25
-17
-96
9
29
0
0
0
0
0
6
31
77
71
-56
-15
2
27
17
47
5
71
-16
0
0
0
0
-16
40
-47
-59
22
8
12
-4
-51
11
37
13
53
0
0
0
0
3
-13
-98
-12
-40
32
58
48
-9
73
2
0
-8
0
0
0
-9
37
121
19
73
0
18
60
65
51
18
-17
14
-1
0
0
-1
-58
57
39
35
-6
-49
61
28
32
43
70
29
44
1
0
0
0
38
-32
-112
-23
-30
-5
6
1
21
3
-9
14
1
0
0
0
0
8
-13
-50
-33
82
-45
36
60
-33
22
-7
-2
-4
0
0
0
-2
16
21
26
60
-31
17
18
28
-20
-45
45
8
-2
0
0
0
0
-4
-69
-6
58
-112
-67
59
-5
34
24
6
-40
-29
0
0
0
0
8
-10
5
-3
-26
16
-32
-50
-6
5
30
28
-12
5
0
0
0
0
41
-4
-44
-37
-67
22
-5
71
36
14
-12
5
0
0
0
0
0
0
6
3
46
-13
-5
0
0
0
0
0
0
0
0
1
5
-1
27
60
-92
-4
0
8
-39
36
63
-30
0
0
0
-2
37
38
27
48
32
-61
-48
20
60
-33
-34
36
6
-15
0
0
18
49
54
-3
58
42
-35
-59
63
62
-36
3
-49
-29
20
0
0
13
31
53
77
-19
-6
2
94
84
-51
8
51
-16
27
8
2
0
0
22
0
35
23
40
-21
68
-8
29
12
21
-6
-3
2
0
0
0
6
-3
31
-5
62
-3
-29
-40
85
-54
-19
1
0
0
0
0
0
0
5
4
-9
7
-14
-51
-5
-4
48
-7
-4
0
0
-1
0
0
0
8
0
-55
1
41
-25
-30
-58
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
9
17
7
-22
52
0
-49
3
-17
0
2
0
0
0
3
-6
8
23
44
50
-74
-64
68
44
36
16
-15
0
0
0
0
0
29
-5
27
-27
-30
-55
-14
8
56
29
55
5
3
0
0
0
8
-24
25
12
-16
-21
27
125
13
62
52
75
0
0
0
0
0
0
4
-6
9
-22
94
45
85
52
62
84
15
0
0
0
0
0
0
0
-5
33
-29
-31
-9
-3
-6
63
86
2
2
0
0
0
0
0
4
4
4
35
2
-48
-4
-72
-39
-6
0
0
0
0
0
0
0
0
0
8
4
8
2
-12
14
-48
-9
0
0
0
0
0
0
0
0
0
0
0
0
-17
-34
-10
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
30
0
46
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
42
115
-30
0
0
0
0
0
0
0
0
0
9
0
2
-4
41
-38
-20
-5
0
0
0
0
0
0
0
1
3
0
0
1
6
-34
34
-6
0
0
0
0
0
0
0
0
0
5
0
0
0
1
13
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-17
9
1
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-48
85
-17
49
23
0
0
0
0
0
0
0
0
47
0
0
54
-70
3
-20
-14
-27
15
0
0
0
0
0
0
0
30
233
163
53
-31
-104
-35
33
-37
0
0
0
0
0
0
0
8
-2
129
218
34
-98
-28
11
1
23
0
0
0
0
0
0
0
2
58
132
-46
-12
-1
-20
-10
56
-12
0
0
0
0
0
0
0
0
11
-36
-17
10
-14
39
8
-11
-4
-4
0
0
0
0
0
0
0
-37
-42
-65
-4
-22
-65
-54
3
-14
5
0
0
0
0
0
0
0
-14
-6
-3
32
9
-15
6
-3
4
0
0
0
0
0
0
0
0
4
-26
-49
-8
5
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
55
34
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
67
31
9
-3
-9
3
0
0
0
0
0
0
0
0
27
141
200
97
-19
-41
-3
-3
-8
0
0
0
0
0
0
0
0
13
32
57
-46
18
-13
-2
-5
0
0
0
0
0
0
0
0
0
66
-30
-33
47
-47
5
0
0
-2
0
0
0
0
0
0
0
0
17
45
1
-6
-38
-9
2
0
0
0
0
0
0
0
0
0
0
-3
-6
-21
40
-4
16
-1
0
0
0
0
0
0
0
0
0
0
0
29
-39
71
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
83
-46
-4
0
1
0
0
0
0
0
0
0
0
16
0
0
62
43
37
8
-6
11
-2
0
0
0
0
0
0
0
1
84
101
72
-34
-63
19
-4
-1
2
0
0
0
0
0
0
0
-72
7
131
-9
-18
46
25
-3
0
0
0
0
0
0
0
0
0
31
-85
-55
20
-20
18
-8
-20
-2
-1
0
0
0
0
0
0
0
53
-86
-5
24
-17
6
2
0
2
0
0
0
0
0
0
0
0
-34
-40
-60
-34
14
15
-2
0
0
0
0
0
0
0
0
0
0
4
-8
-5
18
-8
5
2
0
3
0
0
0
0
0
0
0
0
2
-5
12
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
67
-29
48
2
0
0
0
0
0
0
0
0
-4
44
0
0
76
16
34
9
-3
0
0
0
0
0
0
0
0
0
44
41
84
46
-38
-34
-2
0
-3
0
0
0
0
0
0
0
2
-55
53
126
46
4
1
7
0
-8
0
0
0
0
0
0
0
0
13
-27
-8
-33
-27
-43
4
5
-2
0
0
0
0
0
0
0
0
-2
28
-42
18
60
-9
1
0
0
0
0
0
0
0
0
0
0
-10
-50
-38
91
-14
12
0
0
0
0
0
0
0
0
0
0
0
0
5
-64
-25
-26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
3
6
-1
0
-3
0
0
0
-23
3
8
0
0
-2
0
0
4
0
-10
-15
-29
6
0
0
0
47
6
-23
-27
0
1
0
0
0
-3
8
19
1
-84
225
145
78
-11
75
-8
33
-6
0
0
0
4
-1
-20
12
-22
62
90
274
74
21
-36
-39
-6
-6
0
0
0
8
7
-2
3
13
4
-62
90
31
20
-41
12
16
5
-2
0
0
0
0
-1
5
-3
-17
-61
-36
17
-44
-18
-11
-43
-4
-4
0
0
0
0
0
15
-13
-20
-38
16
-45
-11
53
-16
-12
-29
-7
0
0
0
0
0
0
30
-6
-77
-66
-74
-5
-30
-10
-1
-3
0
0
0
0
0
0
0
0
-25
20
-63
34
-43
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-58
-21
-13
-4
0
-9
0
0
0
0
0
0
0
5
16
-62
11
-12
32
-11
-1
-2
0
0
0
0
0
0
0
0
0
5
92
50
85
-56
-7
5
-4
0
0
0
0
0
0
0
0
25
88
193
81
-27
13
-2
1
0
0
0
0
0
0
0
0
8
-8
30
149
107
-129
47
0
-6
0
0
0
0
0
0
0
0
8
3
-29
42
133
-50
53
-7
-2
0
0
0
0
0
0
0
0
0
0
53
46
74
-114
6
0
0
0
0
0
0
0
0
0
0
0
0
4
55
-9
-45
-1
0
0
0
0
0
-52
56
37
31
64
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-62
-1
19
54
0
1
0
0
0
0
0
0
0
0
0
0
45
-33
43
2
-55
-15
-2
0
0
0
0
0
0
0
0
0
0
-27
-4
14
84
46
-12
25
0
0
0
0
0
0
0
0
0
0
29
13
10
0
23
-33
-3
-31
7
-13
0
3
1
0
0
0
0
0
51
63
-10
10
-59
-21
-5
36
2
-5
3
4
7
0
0
0
0
-6
-31
-39
-21
38
7
-30
36
-61
3
-1
4
-7
-9
0
0
0
0
24
15
-18
-8
-2
12
-33
3
-11
12
23
4
0
0
0
0
0
0
2
0
0
0
6
4
-5
0
0
0
-3
0
0
0
-1
20
-17
-5
-36
-10
-12
0
0
0
3
-34
-3
-29
-9
0
0
-48
-71
-14
-73
20
-61
-59
0
0
155
23
3
-47
3
-7
-5
0
-16
-59
-31
22
-108
-9
45
252
279
126
-24
-34
47
33
17
0
0
-47
20
26
59
25
-13
52
99
236
-27
42
44
47
3
-1
0
0
22
8
41
-21
68
-19
-27
-67
72
-82
27
-36
30
-3
0
0
0
1
22
-33
9
22
5
35
-29
-81
-10
18
30
11
10
-4
-1
0
0
-4
-2
12
72
36
-34
-45
-46
-59
-52
-17
-11
24
-3
0
0
0
0
-2
-8
-4
-2
10
-13
-8
-71
-2
-6
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
-31
-14
48
61
16
0
0
28
-60
-41
-16
-12
0
0
0
-1
53
-89
-49
-44
78
37
151
114
-49
92
27
42
16
0
0
0
-1
-24
3
-38
98
60
-53
-32
26
-7
42
48
-23
-2
1
0
0
-13
25
-45
3
-55
24
81
4
41
57
-17
10
11
0
-2
0
0
17
-4
-50
-6
-73
-73
5
-14
-54
-45
100
-9
39
3
0
0
0
-7
13
-96
73
6
34
-30
37
42
34
49
34
-42
0
0
0
0
-1
-28
45
29
-19
5
18
-28
-8
17
-22
44
1
0
0
0
0
0
5
60
-4
-6
57
-43
23
-22
9
8
-14
0
0
0
0
0
0
0
-45
-73
47
-70
55
-23
-16
-26
1
0
0
0
0
0
0
98
39
-43
20
54
65
-94
0
0
0
0
0
0
0
0
0
0
-5
-71
5
-7
4
42
75
25
25
-1
0
0
3
0
0
0
0
-3
-35
34
1
-15
25
-46
73
17
0
-7
3
0
0
0
0
0
-32
25
-28
-17
21
-9
-8
4
-5
1
0
0
1
0
0
0
0
22
-7
2
-10
-7
4
4
41
-8
-4
0
0
0
0
1
0
0
-27
-39
-25
7
-8
44
31
16
20
-1
-2
0
-2
6
0
0
0
12
47
19
-10
3
-43
-15
-6
13
-3
-1
0
0
2
0
0
0
-27
85
-46
-44
41
-3
-44
-2
-2
0
0
0
0
0
0
0
0
24
8
-2
-28
13
4
3
-7
0
0
0
0
0
0
0
0
0
4
65
54
-38
18
79
-41
62
0
1
-10
4
0
0
0
0
0
-71
18
4
27
-47
58
0
54
24
5
-18
-17
0
0
0
0
0
-15
-16
-50
-74
127
26
24
-38
7
0
-1
-2
-2
0
0
0
0
-7
-95
-27
21
27
75
29
60
0
-1
25
-3
0
0
0
0
0
29
79
14
8
-7
90
3
74
-23
-5
0
25
0
0
0
0
0
-31
77
20
-15
45
-9
-7
-24
-28
-1
-2
-1
0
0
0
0
0
-5
-21
74
17
10
55
-43
-28
-42
3
-8
0
0
0
0
0
0
20
-42
-52
-5
14
76
-3
9
-9
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-77
38
-1
1
24
147
0
0
13
-8
36
-33
23
-2
0
0
7
-6
-8
55
21
43
105
0
194
0
47
-24
-28
-34
-12
5
0
-30
33
-8
65
48
15
132
97
236
175
-19
41
10
-13
16
-1
0
23
13
13
-32
21
-45
91
1
153
45
-25
-53
-25
-13
0
0
0
2
-30
27
31
-36
-28
-6
-31
0
-82
8
38
-5
-5
-4
0
0
0
-67
55
17
-32
-78
6
2
-20
-32
9
20
23
-7
0
0
0
3
-7
43
54
30
-49
-7
11
-122
-77
-28
1
-15
-6
0
0
0
0
0
27
-5
-12
-21
-18
-17
-16
27
-18
-1
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
0
0
0
0
0
0
0
0
-3
12
-1
-16
1
27
5
0
10
-72
-22
-3
-1
3
0
0
0
12
8
-43
-134
-49
77
0
76
0
19
15
-1
-1
0
1
0
1
23
66
-49
6
46
-32
160
271
141
-43
-28
-37
0
4
0
0
0
-5
-4
-41
55
116
36
41
59
26
21
54
2
2
0
3
0
0
-2
-17
-15
48
7
17
-50
-62
-7
-72
-5
47
-5
-2
0
0
-3
17
9
-55
102
-54
-26
44
-5
-18
-74
-2
2
7
-2
0
0
-3
0
-30
-32
-71
-25
-50
-62
7
16
10
2
2
-2
0
0
0
0
-2
0
-5
19
8
-14
-19
-12
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-12
0
0
0
0
0
0
0
0
0
1
-12
8
-4
7
0
0
0
0
-5
17
-2
0
0
0
0
0
0
24
-8
14
-6
13
8
0
-3
-42
-38
1
0
0
0
0
0
0
15
-14
7
-6
8
-1
27
110
-10
-1
-2
0
0
0
0
0
5
0
4
-12
1
8
-6
158
140
-71
0
-1
0
0
0
0
0
0
6
-2
-10
-4
-2
17
67
88
-42
-9
0
4
0
0
0
0
0
-1
2
-1
9
-4
48
68
87
-50
4
-1
-2
0
0
0
0
0
0
0
5
-14
-5
52
13
79
-26
1
-5
0
0
0
0
0
0
2
4
5
0
0
59
78
6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
4
0
0
0
0
0
0
0
0
2
0
-1
0
40
4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
3
2
70
-28
33
109
0
0
0
0
0
0
0
0
0
-1
-1
5
-23
-34
85
50
50
8
0
0
0
0
0
0
0
0
0
4
-1
13
44
-46
-38
45
12
0
0
0
0
0
0
0
0
0
5
-5
-12
20
16
70
-56
40
0
0
0
0
0
0
0
0
0
0
2
-6
-19
5
39
-50
0
0
0
0
0
0
0
0
0
0
0
-3
6
40
39
5
32
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
-13
-17
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
8
24
-20
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
8
30
123
4
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
24
-17
-16
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-20
51
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-52
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-22
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-7
42
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
-9
-21
-47
137
103
0
0
0
0
0
0
0
0
0
0
0
-1
0
-48
-30
46
-39
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-30
-27
37
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-40
69
88
3
0
0
0
0
0
0
0
0
0
0
-1
1
-61
-17
-43
-25
0
0
0
0
0
0
0
0
0
0
0
0
6
3
7
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
-24
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
49
0
0
0
0
0
0
0
0
0
0
0
-1
-19
16
-5
47
-2
0
0
0
0
0
0
0
0
0
0
0
6
-13
-26
53
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
-27
7
-65
4
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
-4
27
-22
-14
-12
-2
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
99
17
9
-10
-6
0
0
0
0
0
0
-2
-2
24
0
0
0
-7
67
-72
45
2
-10
0
0
0
0
0
-2
-7
-2
24
-1
38
-16
21
26
-12
-52
0
0
0
0
0
0
0
10
15
-12
11
67
37
-52
-21
-10
56
1
0
0
0
0
0
0
3
-2
6
-37
37
42
27
47
26
-2
-1
0
0
0
0
0
0
0
8
-49
-50
29
-88
-71
9
-18
-12
0
0
0
0
0
0
0
0
0
10
-2
24
30
15
35
-33
6
0
0
0
0
0
0
0
0
2
13
12
-29
3
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
25
-1
2
0
0
0
0
0
0
0
0
0
-8
-41
0
0
0
-58
-7
-8
3
0
2
0
0
0
0
0
0
8
0
89
33
0
-31
0
0
0
0
0
0
0
0
0
0
0
-2
0
-63
7
27
-23
1
-5
0
-4
0
0
0
0
0
0
0
0
0
-18
-7
4
29
0
-5
-8
-9
2
0
0
0
0
0
0
0
0
25
50
16
2
12
0
-8
-1
0
0
0
0
0
0
0
0
0
8
-14
-6
0
-3
0
1
3
0
0
0
0
0
0
0
0
0
2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
-34
25
-32
-7
-42
-9
0
0
0
0
0
18
1
19
0
0
31
6
0
-9
-35
-71
-41
0
0
0
0
-1
0
-10
-44
20
45
7
59
47
5
-1
36
-26
0
0
0
0
0
0
25
41
30
51
99
70
35
-58
-26
62
19
0
0
0
-1
0
0
-8
-14
41
11
40
9
51
69
29
54
17
0
0
0
0
0
-5
0
6
-13
-67
-65
38
58
60
-13
12
29
0
0
0
0
0
1
0
4
25
4
9
-3
34
119
43
-12
12
0
0
0
0
0
0
22
-1
-45
-13
25
22
-9
27
29
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-8
-1
0
0
35
17
0
-75
-31
-12
4
0
0
0
2
-1
-24
-42
-82
11
70
-7
63
28
-42
-7
-16
29
0
0
0
0
4
0
-16
14
29
-17
-19
-12
40
-46
-84
16
34
0
0
0
0
1
-12
22
92
-44
16
-14
-60
0
7
-53
38
83
0
0
0
0
-9
-4
75
-70
-24
-17
-32
-30
2
-23
23
-60
-4
0
0
0
0
-1
7
24
62
45
-65
-64
-34
-5
-12
41
2
78
0
0
0
0
0
19
64
-21
-16
-70
-14
-63
-14
-13
7
34
-17
0
0
0
0
0
3
43
-27
105
-95
-25
-9
7
12
75
-57
7
0
0
0
0
0
0
0
7
9
-4
-60
-39
8
-116
-87
-4
0
0
0
0
0
0
0
0
0
0
0
-31
-37
-6
38
-36
-50
0
0
0
0
0
0
0
0
1
23
20
55
-59
-55
13
47
-44
-5
0
0
0
0
0
0
3
0
41
61
-30
3
-44
23
19
-28
-1
0
0
0
0
0
0
-1
-3
9
-9
-6
-4
-55
-27
75
45
1
0
0
0
0
0
0
0
-7
-14
5
53
62
65
-54
-49
1
-4
0
0
0
0
0
0
0
0
-1
43
8
34
-7
-16
55
58
-27
0
0
0
0
0
0
0
-1
30
77
32
-78
-1
4
40
26
2
0
0
0
0
0
0
0
1
0
22
-1
2
-51
108
44
-8
0
0
0
0
0
0
0
0
0
3
0
19
-6
25
10
77
108
0
0
0
0
0
0
0
0
0
0
14
-23
34
63
24
29
-48
51
0
0
0
0
0
0
0
-17
49
60
0
19
104
4
14
-49
70
0
0
0
0
-4
0
-4
6
64
41
-15
-14
39
-21
34
-29
74
0
0
0
0
0
-1
0
4
78
-5
-39
-31
-1
-15
87
-32
60
0
0
0
0
0
0
2
8
16
34
75
31
25
20
43
-9
38
0
0
0
0
0
0
16
-4
50
27
58
25
24
26
38
12
39
0
0
0
0
-1
0
-2
9
28
-71
-14
62
-17
-126
59
46
-68
0
0
0
0
0
0
0
0
-3
52
-25
16
1
-90
24
31
133
0
0
0
0
0
0
0
0
-8
16
-2
-5
-6
-11
-9
0
0
0
0
0
0
0
0
12
3
0
0
16
39
66
-74
-6
24
-22
0
0
0
0
-1
-29
22
0
2
0
1
54
42
71
17
3
-4
0
0
0
0
-4
-11
6
-27
6
-11
34
56
-8
124
26
-46
-38
0
0
0
0
0
-2
-1
65
93
31
26
81
8
91
40
36
35
0
0
0
0
2
-2
17
3
50
43
-25
-73
-24
4
4
-7
64
0
0
0
0
0
1
14
39
31
-1
-29
20
7
45
55
28
-40
0
0
0
0
0
0
19
33
-98
-37
74
-23
-25
15
-52
57
-8
0
0
0
0
0
-8
0
48
5
-54
18
75
-46
18
13
-34
0
0
0
0
0
0
0
0
0
0
1
3
1
-17
-10
-3
0
0
0
0
0
0
0
0
-1
0
0
18
58
-4
27
-40
-4
16
-29
0
0
0
0
0
2
15
0
42
0
43
-26
-2
-44
-31
-18
-4
0
0
0
0
0
-5
23
-12
26
-60
-51
38
17
10
1
20
-3
0
0
0
0
4
-5
50
-11
-28
15
73
1
-7
-5
31
47
-1
0
0
0
0
0
-2
39
64
18
13
16
-29
-15
-68
19
23
-11
0
0
0
0
0
1
-1
8
46
-22
50
0
33
86
14
20
-5
0
0
0
0
0
0
-2
5
5
29
-18
21
47
-21
27
28
8
0
0
0
0
0
0
0
0
2
6
-27
13
-53
32
9
58
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-3
-19
-29
27
0
0
0
0
0
0
10
-6
0
0
0
40
-41
-29
-88
-90
29
-2
0
0
0
0
0
0
0
8
0
1
9
-50
8
24
-18
-8
0
0
0
0
0
0
0
-5
-5
8
0
-12
10
15
-5
13
-18
2
0
0
0
0
0
0
0
31
-4
-2
0
34
-43
-5
16
13
3
0
0
0
0
0
0
0
-2
14
-1
-1
14
-14
-41
45
24
-1
0
0
0
0
0
0
0
2
-2
0
22
-1
25
18
9
0
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
0
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
38
49
79
-42
6
36
30
0
0
0
0
0
0
0
23
-1
45
6
32
6
47
17
16
51
0
0
0
0
0
0
1
-8
6
31
-64
20
-43
-23
46
-5
-22
0
0
0
0
0
0
0
0
3
23
-23
-52
74
5
66
-50
30
0
0
0
0
0
0
0
0
0
0
3
-20
27
88
-11
3
29
0
0
0
0
0
0
0
0
0
0
7
-72
-10
-10
-44
-31
65
0
0
0
0
0
0
0
0
0
-3
-5
35
56
51
35
25
-30
0
0
0
0
0
0
0
0
0
0
-1
2
19
-19
-47
-72
-47
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-15
30
14
0
0
0
0
0
0
0
0
0
0
-1
-7
7
-47
-39
-33
-2
0
0
0
0
0
0
0
0
1
0
-4
0
-17
-62
150
-16
9
0
0
0
0
0
0
0
0
0
0
0
2
-25
49
28
-102
12
0
0
0
0
0
0
0
0
0
0
0
0
8
-53
-33
-25
-5
0
0
0
0
0
0
0
0
0
0
0
3
32
35
18
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-46
22
-40
47
18
0
0
0
0
0
0
0
0
0
0
0
-9
33
21
79
-26
31
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
59
-25
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-8
-4
0
0
0
0
0
0
0
0
0
0
0
3
22
62
12
33
0
0
0
0
0
0
0
0
0
5
3
16
32
29
73
35
1
-8
0
0
0
0
0
0
0
-3
-3
2
-1
-33
-15
98
114
30
-3
0
0
0
0
0
0
0
0
0
0
-6
-15
45
62
60
-53
5
0
0
0
0
0
0
0
0
0
0
-16
5
15
-37
34
59
6
0
0
0
0
0
0
0
0
0
0
0
-2
-29
85
1
-3
-7
0
0
0
0
0
0
0
0
0
0
0
-1
34
36
-12
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-38
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
6
-5
11
-12
0
0
0
0
0
0
0
0
0
-19
7
0
47
90
-18
21
83
-8
0
0
0
0
0
0
0
0
-1
-1
-6
48
65
-15
41
-5
0
0
0
0
0
0
0
0
0
0
0
-1
6
-17
-7
-53
72
-1
0
0
0
0
0
0
0
0
0
0
-2
-16
-49
67
-1
52
3
0
0
0
0
0
0
0
0
0
0
0
-24
14
-5
-24
-16
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
8
56
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
-91
54
-15
72
-6
27
0
0
0
0
0
0
0
4
75
-1
-73
-37
71
0
8
23
15
0
0
0
0
0
0
0
-21
-55
-8
0
-15
68
39
50
-35
31
0
0
0
0
0
0
0
1
27
-39
45
-80
89
-28
78
-54
-48
0
0
0
0
0
0
-2
-4
35
48
66
58
54
53
75
-27
13
0
0
0
0
0
0
0
-1
56
11
-22
-62
49
53
1
74
18
0
0
0
0
0
0
0
47
-13
-38
-68
-5
40
58
13
-40
1
0
0
0
0
0
0
0
0
0
-39
40
-9
33
-33
30
37
31
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-1
31
13
0
0
0
0
0
0
0
0
0
0
-1
-5
5
-13
-14
71
11
-1
0
0
0
0
0
0
0
0
-3
-7
4
15
6
-13
29
-24
48
0
0
0
0
0
0
0
-3
-6
0
-6
4
-28
-7
7
2
-8
0
0
0
0
0
0
0
0
-7
8
-14
39
-15
9
62
21
22
0
0
0
0
0
0
0
0
2
-17
1
-29
64
-60
-57
23
-24
0
0
0
0
0
0
0
0
4
5
-9
-1
39
8
-108
3
-24
0
0
0
0
0
0
0
0
-2
-19
5
-19
53
-63
-14
-71
-18
0
0
0
0
0
0
0
0
8
0
0
0
32
-20
-6
53
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
-52
19
0
15
-3
-9
67
26
21
3
-4
0
0
0
7
1
19
20
21
61
10
36
79
-23
48
32
8
10
0
0
-1
-2
-41
17
47
-4
-32
18
68
12
83
147
47
-98
5
0
0
0
-6
11
35
-2
27
17
3
80
29
63
119
-33
10
26
0
0
0
0
0
0
-67
-9
36
-10
32
-20
45
-65
93
-55
1
0
0
0
0
0
0
-5
-31
-56
40
75
-10
76
12
24
-3
0
0
0
0
0
0
0
-9
-85
-19
-13
-5
0
71
8
14
-24
0
0
0
0
0
0
0
0
-34
-28
6
-26
0
-42
38
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-5
-76
-53
0
29
-58
-27
30
26
-21
-2
0
0
0
0
-8
-72
-145
-6
20
60
-23
-14
21
26
22
-68
18
0
0
0
0
-1
-25
20
31
27
15
-19
-26
35
72
81
-31
17
0
0
0
-1
17
8
9
35
31
-66
-13
-18
-1
-10
39
-45
18
0
0
0
0
-3
19
-20
-41
-43
13
6
-12
11
6
49
69
73
0
0
0
0
-20
15
-37
111
-11
-92
-7
12
-14
38
145
47
49
0
0
0
0
0
-9
-45
7
8
-17
-15
-17
-34
-18
73
-20
1
0
0
0
0
-3
20
-11
-50
-4
-17
-33
-33
-3
9
77
70
-25
0
0
0
0
0
-8
-14
17
-2
-12
19
22
-3
-12
-18
0
2
0
0
0
0
7
41
-30
-39
-92
0
13
-23
68
-6
55
0
0
0
0
0
0
0
-13
-59
7
42
27
82
32
22
-4
44
0
0
0
0
0
0
0
8
61
-19
77
48
-5
45
-57
14
9
0
0
0
0
0
0
0
4
-57
14
9
96
65
59
-58
95
-48
-3
0
0
0
0
0
5
-11
19
62
-64
80
26
28
45
10
34
0
0
0
0
0
5
23
-8
-15
12
27
22
-59
108
-18
48
18
-1
0
0
0
0
-2
0
34
17
-28
-36
1
-81
20
38
23
55
-1
0
0
0
6
-19
35
1
-30
-40
3
-63
-29
15
-6
15
1
0
0
0
0
3
0
-18
0
-59
13
-84
-52
33
35
-39
-49
-36
5
0
0
0
0
0
0
3
86
28
-6
0
-38
72
7
97
-3
10
0
0
0
0
-3
38
45
-28
16
-24
-19
-47
-7
39
1
29
41
0
0
0
0
0
43
33
-11
36
6
-13
-17
44
28
103
74
-33
0
0
0
0
0
-37
8
-64
-26
7
27
-6
1
8
65
10
-17
0
0
0
0
9
17
-36
-86
18
20
-17
7
79
44
42
45
1
0
0
0
-7
-8
-28
32
-76
12
-20
46
44
39
-14
-5
50
-2
0
0
0
-5
13
-38
11
-22
16
2
-38
-29
-77
26
-10
-38
7
0
0
0
1
-16
-24
-30
-83
10
29
-28
-75
40
-51
27
8
0
0
0
0
0
0
0
0
0
0
-14
10
12
48
1
0
0
0
0
0
0
0
0
0
0
5
-3
-67
0
32
-12
64
29
0
65
39
-7
0
0
0
0
4
-49
-95
59
49
88
89
6
32
64
7
57
-15
0
0
0
-1
10
-34
-22
-6
74
30
47
54
-12
-10
84
-24
9
0
0
0
0
-4
14
-6
-20
-64
10
-17
12
50
3
-62
28
27
0
0
0
2
0
13
11
-14
-3
26
-17
23
43
91
-14
-12
-1
0
0
0
0
0
3
-11
-44
68
46
-3
110
-143
17
86
9
7
0
0
0
0
0
-1
3
-45
-30
13
28
8
-22
12
86
47
5
0
0
0
0
0
0
-8
-4
-5
5
-62
2
33
-73
41
2
0
0
0
0
0
1
0
0
-2
0
-27
-1
0
0
0
15
-3
0
0
0
0
0
0
-1
9
18
0
72
77
47
-1
-46
-45
14
-3
0
0
0
0
0
1
31
-65
30
29
-24
7
83
19
50
-41
-23
0
0
0
0
1
-3
-16
-10
0
67
177
43
12
114
16
-6
4
0
0
0
0
0
0
80
-21
28
68
39
25
39
67
51
42
-10
0
0
0
0
0
-20
-48
-52
-65
-23
-52
-9
8
67
33
7
38
0
0
0
0
1
2
-5
54
-40
-39
-40
41
-12
30
34
6
25
0
0
0
0
0
-26
-1
90
-20
21
13
43
27
45
-7
19
1
0
0
0
0
0
0
-2
-38
-39
-96
-82
49
90
35
21
3
0
0
0
0
0
0
0
0
0
8
0
-23
0
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
17
10
-24
0
-3
1
2
-1
0
0
0
0
0
0
-3
3
47
26
25
89
27
19
29
63
-19
0
0
0
0
0
3
-1
8
21
0
23
2
5
40
27
10
6
0
0
0
0
0
0
-12
-24
43
-29
-2
19
44
4
61
56
11
0
0
0
0
0
0
5
8
-49
-50
2
5
-15
0
27
69
-14
0
0
0
0
0
0
1
-2
1
-44
-12
-53
0
-1
-13
-40
-50
0
0
0
0
0
0
3
-14
-8
-27
-3
25
46
-5
-10
18
0
0
0
0
0
0
0
32
-13
-22
43
41
-23
-3
0
1
0
-1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-41
-9
60
0
0
0
27
0
0
0
0
0
0
0
0
0
-4
38
-4
38
39
0
0
7
0
0
0
0
0
0
0
0
0
0
-26
20
17
58
50
-28
79
-1
0
0
0
0
0
0
0
0
2
-21
19
-77
77
-8
33
5
13
0
0
0
0
0
0
0
0
-1
-12
-5
-4
-80
-82
20
8
25
0
0
0
0
0
0
0
0
0
-24
57
-43
-34
-68
34
-12
1
0
0
0
0
0
0
0
0
0
-1
24
-66
44
76
-12
11
0
0
0
0
0
0
0
0
0
0
0
54
-97
31
29
-34
23
0
0
0
0
0
0
0
0
0
0
0
-5
34
26
1
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
43
0
0
3
0
0
0
0
0
0
0
0
0
0
0
7
-41
52
-30
-21
2
0
0
0
0
0
0
0
0
0
0
1
-29
-12
35
-90
25
29
0
0
0
0
0
0
0
0
0
0
-1
2
-5
16
51
6
25
0
0
0
0
0
0
0
0
0
0
0
-6
1
-23
37
-35
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
-45
12
-33
2
0
0
0
0
0
0
0
0
0
0
0
3
4
-22
8
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
23
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-15
-32
42
0
0
40
0
0
0
0
0
0
0
0
0
-1
1
14
-95
-13
9
0
14
-14
0
0
0
0
0
0
0
0
0
-1
1
-29
16
77
-8
-2
4
0
0
0
0
0
0
0
0
0
0
0
45
21
53
45
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
-16
27
-21
-6
-1
0
0
0
0
0
0
0
0
0
0
-2
37
50
9
-15
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-16
15
22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-6
2
-6
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
13
-13
-28
0
0
68
43
0
0
0
0
0
0
0
0
0
0
-1
-20
62
31
-2
-8
1
0
0
0
0
0
0
0
0
0
0
1
25
-28
46
31
9
8
0
0
0
0
0
0
0
0
0
0
0
7
39
44
-44
-2
-18
0
0
0
0
0
0
0
0
0
0
1
-3
41
24
11
21
-3
0
0
0
0
0
0
0
0
0
0
-9
-19
-19
-4
-7
-20
10
0
0
0
0
0
0
0
0
0
0
0
1
-22
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
0
41
-6
11
-1
2
-15
0
0
0
0
0
0
-23
40
0
0
0
3
-3
0
12
40
18
0
0
0
0
0
0
4
22
66
16
34
-17
30
1
-69
41
83
-1
0
0
0
0
-1
-1
56
-4
89
-20
39
28
40
13
-6
-6
0
0
0
0
0
0
-8
21
31
-45
12
-43
39
14
-12
31
4
0
0
0
0
0
0
0
-22
24
26
49
-20
-56
14
7
0
-2
0
0
0
0
0
0
-16
22
10
56
21
22
-8
-32
0
0
1
0
0
0
0
0
0
-2
-27
-7
-8
-41
-12
-1
0
0
-15
0
0
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-37
71
-29
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
47
15
12
-1
0
-3
-9
-4
-9
0
0
0
0
0
0
0
-2
24
16
-51
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-49
-77
84
-2
8
1
0
0
0
0
0
0
0
0
0
0
-4
-63
-6
41
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-10
-27
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
41
0
0
0
21
100
66
74
99
32
47
0
0
0
0
-28
-15
-14
-2
0
0
80
107
99
69
60
-7
75
0
0
0
-2
-3
-49
17
4
48
68
94
41
86
37
39
64
68
0
0
0
0
0
2
-83
-7
-13
154
46
53
-2
22
24
34
87
0
0
0
-4
2
14
-34
33
69
-46
-11
16
-4
35
-66
68
29
0
0
0
0
-1
4
13
-14
15
8
50
7
-31
-67
41
128
-10
0
0
0
0
0
0
-1
56
-42
37
-55
-5
5
5
-8
67
-27
0
0
0
0
0
0
-2
-17
24
10
2
-2
1
-16
-8
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
13
14
26
0
0
-37
65
33
10
20
-69
-108
0
0
0
1
0
39
4
1
-74
28
52
51
16
-61
-28
-71
31
0
0
0
0
2
38
58
66
-50
-4
-33
9
7
69
-49
-52
-55
0
0
0
0
-4
-38
-10
-24
-114
-77
-14
-4
38
46
-10
-138
-21
0
0
0
0
0
16
18
-12
-77
-32
21
48
19
46
-11
-58
-30
0
0
0
0
6
8
-17
-37
-117
14
-50
-36
98
94
16
-68
-20
0
0
0
0
5
0
-44
48
-69
-102
-43
36
26
4
-48
-52
-13
0
0
0
0
0
0
46
-9
-16
-33
47
32
3
-23
2
-15
38
0
0
0
0
0
0
-1
0
2
-11
-23
45
-14
44
49
0
0
0
0
0
0
0
0
0
0
0
0
-36
82
92
12
73
22
25
0
0
0
0
0
0
0
-1
7
4
8
25
48
17
-44
-6
-12
0
0
0
0
0
0
0
-8
13
60
30
51
47
36
-115
-58
-1
0
0
0
0
0
0
1
18
40
14
-55
-63
14
-49
68
11
-55
0
0
0
0
0
0
1
0
8
-48
28
1
12
-21
-23
16
72
0
0
0
0
0
0
0
3
18
33
-29
28
-12
-18
-12
-5
13
0
0
0
0
0
0
0
1
5
24
0
65
-67
-61
-28
-24
36
0
0
0
0
0
0
0
1
9
42
13
-30
-18
-22
14
51
51
0
0
0
0
0
0
0
1
-24
23
28
29
61
10
-1
21
51
0
0
0
0
0
0
0
0
0
-62
35
23
-60
25
31
-79
43
0
0
0
0
0
-2
0
5
5
111
0
98
50
18
-18
-24
31
0
0
0
0
0
0
0
1
-7
179
81
55
-12
59
32
-54
-1
0
0
0
0
0
0
0
-5
15
47
28
0
13
-47
22
7
-50
0
0
0
0
0
0
0
-1
48
-4
20
-18
20
-11
-30
13
-27
0
0
0
0
0
0
6
3
-15
36
-22
141
-37
30
5
2
-17
0
0
0
0
0
0
0
0
-15
0
91
-17
-78
59
-40
-17
-42
0
0
0
0
0
0
0
0
31
3
45
29
-25
-11
21
-93
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-14
5
39
0
0
0
84
-30
28
-52
19
-4
0
0
0
0
-6
-6
91
0
12
0
46
30
-11
-44
47
5
23
0
0
1
-1
-20
-31
75
105
57
69
173
37
-21
99
82
25
-30
0
0
0
-1
-3
-41
6
14
73
60
68
64
23
6
56
33
11
0
0
0
0
0
-15
-50
15
26
112
142
23
-16
78
8
5
-1
0
0
0
0
-10
-5
-8
5
-2
83
36
1
-24
19
30
-62
19
0
0
0
0
0
0
3
59
60
52
-36
45
-24
-21
141
63
48
0
0
0
0
0
0
0
30
43
40
-24
22
-4
-10
17
9
7
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
0
0
0
0
0
0
-2
2
7
-24
0
11
-15
62
-28
-37
-34
-58
-11
0
0
0
0
-1
10
2
0
3
0
-38
-4
-12
-6
-63
-15
49
0
0
0
0
0
13
110
92
125
91
8
58
24
32
-30
54
-4
0
0
0
0
-1
2
33
12
38
44
-25
63
97
26
17
-32
-2
0
0
0
0
0
0
1
113
91
7
42
66
-24
7
89
1
62
0
0
0
0
0
0
8
80
26
61
-10
5
-1
-133
34
-26
-25
0
0
0
-1
0
0
1
57
51
36
17
24
12
-72
-4
-45
12
0
0
0
0
0
0
0
1
1
6
-10
-3
18
25
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
2
4
1
-8
-6
-2
-10
0
0
0
0
0
0
0
0
0
-1
1
48
-18
32
-5
-24
-5
0
0
0
0
0
0
-3
7
18
4
-27
15
9
25
8
-12
1
0
0
0
0
0
0
-7
65
-7
-3
-1
-14
-32
-4
-13
48
-10
0
0
0
0
0
0
9
14
-2
-8
-4
1
-2
0
-2
-2
8
0
0
0
0
0
0
0
-1
32
0
0
7
-2
0
-8
-5
0
0
0
0
0
0
0
0
0
1
-2
1
1
-7
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
38
-19
-33
-6
22
84
42
0
0
0
0
0
0
0
2
0
22
-24
2
-21
24
-1
-7
-15
0
0
0
0
0
0
0
0
2
-5
-2
-98
47
-39
-106
-26
-12
0
0
0
0
0
0
0
0
0
5
-2
-8
43
-1
-60
-13
93
0
0
0
0
0
0
0
0
0
-3
4
41
43
35
66
71
5
0
0
0
0
0
0
0
0
0
-1
5
2
36
-25
2
3
9
0
0
0
0
0
0
0
0
0
0
0
-2
25
-14
6
-55
136
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
46
6
41
0
0
0
0
0
0
0
0
0
0
0
0
0
2
56
-136
-41
0
0
0
0
0
0
0
0
0
0
7
-2
-10
1
39
-70
-4
0
0
0
0
0
0
0
0
0
0
-5
0
5
5
21
-17
-19
0
0
0
0
0
0
0
0
0
0
0
-1
3
96
14
3
16
0
0
0
0
0
0
0
0
0
0
0
8
6
-16
55
22
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
3
43
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
23
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-11
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
9
0
0
0
0
0
0
0
0
0
0
1
0
-6
84
-54
-9
52
0
0
0
0
0
0
0
0
0
-1
-3
0
-13
29
-4
-59
67
0
0
0
0
0
0
0
0
0
0
0
0
-32
57
-12
102
53
0
0
0
0
0
0
0
0
0
0
-2
0
0
51
-22
17
16
0
0
0
0
0
0
0
0
0
0
-2
0
6
30
-18
-53
38
0
0
0
0
0
0
0
0
0
0
0
0
1
0
40
5
33
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
9
-2
-20
3
-67
4
0
0
0
0
0
0
0
0
0
22
-1
16
12
28
-35
-71
20
0
0
0
0
0
0
0
0
0
1
1
22
-24
-18
54
90
-51
0
0
0
0
0
0
0
0
0
0
8
-1
-10
-31
29
51
10
0
0
0
0
0
0
0
0
0
0
0
0
-18
40
23
43
12
0
0
0
0
0
0
0
0
0
0
0
4
6
-36
-14
21
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-25
36
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
2
0
-52
-29
33
-17
-2
-49
13
13
0
0
0
0
0
0
-15
14
-57
12
56
-18
-32
82
59
-17
-6
0
0
0
0
0
0
1
38
-26
33
-19
19
-71
65
9
91
93
0
0
0
0
0
0
-3
6
52
82
64
-113
17
39
32
2
1
0
0
0
0
0
0
-2
-6
60
11
10
131
-52
-34
1
46
-36
0
0
0
0
0
0
1
-17
20
-5
-2
-5
-43
43
31
5
-3
0
0
0
0
0
0
0
40
-11
-10
-24
-16
35
67
-19
19
24
0
0
0
0
0
0
0
0
33
-2
0
-16
0
-6
28
29
25
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-33
14
0
0
0
0
0
0
0
0
0
-14
12
-3
1
30
-39
-114
-5
0
0
0
0
0
0
0
-3
0
-16
-1
-4
-19
22
87
-20
28
0
0
0
0
0
0
0
-2
0
-21
29
-14
6
-42
97
-12
-11
0
0
0
0
0
0
0
-2
3
22
41
6
-19
54
-20
-33
55
0
0
0
0
0
0
0
-1
1
1
8
0
-16
-38
46
113
-55
0
0
0
0
0
0
0
1
3
0
-17
-5
15
57
-13
42
64
0
0
0
0
0
0
0
0
0
6
-5
-12
5
-4
50
46
62
0
0
0
0
0
0
0
0
0
0
0
2
0
4
73
101
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
85
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-14
-13
-42
-32
0
89
82
-74
-12
119
87
-60
4
0
0
-6
44
-41
-44
-57
-38
2
91
43
43
19
36
8
16
8
0
0
-2
7
-22
-57
-39
-27
61
39
39
55
-12
-49
55
15
-55
0
0
-1
-25
8
20
-58
-85
39
17
18
0
-14
37
28
48
61
0
0
0
1
2
-64
19
47
33
35
9
-41
29
-17
21
5
28
0
0
0
0
-1
-7
-61
39
-83
49
13
33
53
51
-78
9
-32
0
0
0
0
0
3
-17
-68
-60
-86
-22
-25
2
10
65
35
1
0
0
0
0
0
0
-1
-16
-48
-15
7
33
-5
0
-1
-34
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
4
-32
-70
-41
-46
0
11
9
1
45
8
-30
8
0
0
0
-1
25
-28
-5
-49
-52
30
-12
42
80
75
68
60
4
0
0
0
0
-19
7
10
-94
-10
-25
-19
-5
29
69
6
-13
65
0
0
0
0
-13
-28
-32
-44
-98
-115
20
0
37
8
114
-57
44
0
0
0
0
13
-22
40
-50
-30
-17
-52
4
31
-12
18
-52
1
0
0
0
3
-3
31
-89
-17
-56
2
-58
7
-12
-44
48
54
10
0
0
0
0
0
5
-20
31
-47
-33
-8
-15
9
35
-4
17
-2
0
0
0
0
0
-7
54
-31
-7
-6
-47
15
6
-32
-19
12
-7
0
0
0
0
0
0
21
-18
-59
122
65
-64
-28
17
14
0
0
0
0
0
-10
34
23
8
-25
35
0
67
13
-28
32
-15
1
0
0
0
5
0
-16
32
41
59
-19
-13
-35
-62
-32
-7
-14
0
0
0
0
0
-21
-26
27
-30
-17
-3
-55
-76
34
30
-53
13
-2
0
0
0
0
-8
-3
59
-27
-15
-34
-36
-7
59
-12
-92
-2
0
0
0
0
0
-18
-18
18
30
11
-73
-17
-4
54
9
21
10
0
0
0
0
1
-6
-10
18
11
-27
-39
17
-30
-8
-4
-27
13
0
0
0
0
0
4
28
-12
-20
4
-54
-15
40
16
2
37
-6
0
0
0
0
13
6
-25
45
64
9
16
-22
-104
-43
36
-39
-9
0
0
0
0
-3
7
5
49
24
41
48
13
9
-15
10
7
0
0
0
0
0
0
17
-28
-12
1
42
-2
0
33
45
61
86
-21
0
0
0
0
1
-4
-15
26
41
34
27
-24
30
65
35
14
-21
0
0
0
0
0
1
-22
14
-50
25
41
24
47
10
1
134
10
0
0
0
0
0
5
-9
14
-6
-61
6
-35
46
16
-9
29
60
0
0
0
0
0
-2
-3
-4
-44
-83
-17
5
-25
-32
10
35
-8
0
0
0
0
0
0
-31
8
13
-27
19
-40
0
-58
-5
34
3
0
0
0
0
0
-1
25
2
38
-29
-33
18
-32
-17
-47
53
8
0
0
0
0
0
0
11
-25
-33
-14
13
-3
-74
-9
-2
44
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
19
-7
0
0
0
0
0
0
0
0
0
10
42
-27
39
0
46
75
75
19
-20
0
73
12
0
0
0
-7
-2
90
-88
-24
-45
83
23
92
40
57
-31
40
2
0
0
-1
0
-4
-48
-35
36
44
39
60
47
-45
39
96
-122
-33
0
0
-1
0
-30
-25
-50
-44
-12
-64
-45
76
1
-9
75
122
7
0
0
0
0
-16
36
-18
-53
6
52
-80
-78
19
34
68
57
23
0
0
0
0
0
-40
-6
-53
-56
47
1
41
-17
53
-7
8
67
0
0
0
0
0
0
-17
-46
-101
13
9
-5
-54
-32
13
0
-32
0
0
0
0
0
0
6
-10
-17
-21
-2
-28
-9
-9
2
43
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-3
1
1
0
0
0
0
0
12
-47
-21
0
58
-4
41
-12
-28
44
73
58
0
0
0
0
37
21
28
-97
-32
87
31
0
-57
-46
64
45
-22
0
0
0
0
17
2
3
10
-55
80
-35
-31
41
16
-53
-49
71
0
0
0
0
10
28
-57
65
59
-4
43
9
-28
23
51
-57
105
0
0
0
0
2
-43
13
22
98
57
-13
-66
3
-4
115
16
-46
0
0
0
0
4
-2
-59
49
-5
-87
-30
-110
-5
-27
-47
91
50
0
0
0
0
1
20
0
-6
34
-55
-48
-36
1
4
-1
-30
-2
0
0
0
0
0
0
17
-4
-22
-18
-42
52
0
41
0
-15
0
0
0
0
0
0
0
-1
27
5
-9
8
-3
6
0
0
0
0
0
0
0
0
0
0
1
-13
0
5
-5
-4
0
0
0
32
0
0
0
0
0
0
0
-25
10
28
-42
-57
-24
0
18
-7
39
0
0
0
0
0
0
0
-1
41
17
-28
13
2
-2
14
-3
-11
1
0
0
0
0
0
0
0
-12
25
16
16
6
0
2
33
-15
-6
0
0
0
0
0
0
0
15
-27
-17
-23
-30
-3
0
40
93
13
0
0
0
0
0
0
-8
-76
54
-30
19
-41
-3
0
4
4
-4
0
0
0
0
0
0
-1
-7
11
-12
1
-1
-2
-2
12
54
-1
0
0
0
0
0
0
0
-14
-29
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
2
-7
-6
4
71
11
0
0
40
0
0
0
0
0
0
0
0
1
-6
-4
29
46
-1
-34
46
-19
0
0
0
0
0
0
0
0
2
-2
0
6
15
-4
-14
-69
83
-2
0
0
0
0
0
0
0
0
0
1
0
57
-43
-23
-26
-1
-2
0
0
0
0
0
0
0
0
0
2
9
68
4
-15
-59
25
0
0
0
0
0
0
0
0
0
-6
8
47
40
-56
-45
-12
7
0
0
0
0
0
0
0
0
0
8
-8
1
-16
-16
-9
-32
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
5
31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
40
-28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
12
13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
34
29
0
0
0
0
0
0
0
0
0
0
0
0
0
37
2
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
8
-50
-54
-103
92
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-44
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
39
21
-1
0
0
0
0
0
0
0
0
0
3
0
2
-33
-21
9
44
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
0
51
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-3
-9
5
0
0
27
0
0
0
0
0
0
0
0
0
0
0
2
0
14
-6
24
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-29
4
-17
34
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
21
21
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-61
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
1
-1
-17
-24
0
0
0
0
-8
-1
3
2
0
0
0
13
15
-23
-65
-29
6
-1
0
0
0
-1
3
0
8
-90
25
7
2
-39
-7
9
66
7
0
0
0
0
0
0
0
20
-25
-6
-51
47
26
-1
-4
-32
-1
0
0
0
1
0
0
5
-14
36
60
1
-19
-35
-11
42
83
-5
0
0
0
0
0
-1
0
30
-62
-1
-4
-63
17
39
21
0
0
0
0
0
0
0
0
-4
-1
33
-71
-23
8
-45
58
-5
5
0
0
0
0
0
0
0
0
4
1
-37
5
7
9
16
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
-6
-6
0
-7
-4
1
0
0
0
0
0
0
0
0
0
0
21
-23
-3
4
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
25
22
3
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
8
-4
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-71
17
-28
101
-38
-16
-76
0
0
0
0
0
-5
-78
-33
0
0
-36
20
-113
39
15
61
-103
0
0
0
0
0
-3
-47
10
-14
11
14
77
69
23
27
40
9
0
0
5
0
0
8
6
21
8
51
27
-18
12
-65
97
-56
46
0
0
0
0
-5
-1
10
-7
61
34
60
28
0
-1
43
60
-37
0
0
0
0
0
1
0
-15
47
99
80
25
47
35
-3
-51
-24
0
0
0
1
1
0
-16
-26
23
14
42
35
-11
11
-119
-24
16
0
0
0
0
-1
-2
-4
34
-22
-3
7
-8
-3
-33
17
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-5
2
-1
0
0
2
8
3
-42
72
69
40
0
0
3
0
-9
101
-6
4
-12
38
-69
-33
-4
2
90
8
33
0
0
0
2
-11
38
-42
87
-6
-39
-2
-55
-34
41
14
7
85
0
0
0
0
13
27
29
76
-6
36
-4
31
-10
43
-6
74
-82
0
0
0
2
22
-14
6
-55
-42
27
18
41
-6
-53
73
-39
70
0
0
0
0
1
-31
14
-27
24
-1
26
60
-24
24
-31
0
-3
0
0
0
-3
-57
-39
-9
58
135
-10
-7
-27
5
-23
-16
-23
87
0
0
0
-2
2
-17
64
-65
-13
-36
76
-22
-17
-8
-10
-43
4
0
0
0
0
0
3
-2
-30
-1
37
-9
-6
-36
-9
24
-5
0
0
0
0
0
0
0
0
0
0
0
20
39
-78
72
-13
-56
-4
0
0
0
0
0
0
0
-13
1
-23
-9
2
-84
-23
33
-42
8
0
0
0
0
-2
0
0
1
3
7
9
0
40
-62
8
56
7
0
0
0
0
-1
2
0
0
-10
34
-37
-16
56
6
29
25
1
0
0
0
0
0
0
0
-2
1
-8
36
1
2
61
-31
45
12
0
0
0
0
0
0
-3
3
-8
31
46
-13
13
8
-40
32
3
0
0
0
0
0
0
0
2
2
5
34
4
24
-15
-1
32
7
0
0
0
0
0
0
2
-2
15
7
-27
-31
-3
-48
-48
2
0
0
0
0
0
0
0
0
-6
0
5
4
0
3
-8
10
10
2
0
0
0
0
0
0
0
0
0
-24
47
71
-54
6
64
26
-19
0
0
0
0
2
1
0
2
-63
45
0
32
25
15
33
124
78
0
0
0
0
0
1
0
3
3
1
35
122
0
38
37
-82
51
0
0
0
0
2
0
-1
-25
9
66
25
28
94
28
-3
-7
23
0
0
0
0
0
0
1
-4
3
-74
35
54
67
104
32
56
0
0
0
0
0
0
1
0
4
-11
78
-2
8
-83
-22
-21
19
41
0
0
0
0
0
0
0
1
5
22
5
1
21
-66
42
49
-14
0
0
0
0
0
0
7
0
-2
7
10
16
60
-35
-6
-83
7
0
0
0
0
0
0
0
0
0
0
0
-4
-3
54
9
-1
0
0
0
0
0
0
0
0
0
0
0
-42
-17
22
-10
17
-19
-19
0
0
0
0
-8
7
-11
0
-11
0
-93
-3
56
78
2
54
-29
0
0
0
7
3
6
19
45
-17
84
-47
57
50
22
76
31
-44
0
0
0
0
0
4
27
-21
4
46
52
70
58
66
-27
31
-34
0
0
0
0
-1
0
8
24
58
28
-23
54
31
10
4
40
16
0
0
0
0
1
13
3
31
7
-44
86
33
13
-47
47
99
0
0
0
0
0
1
1
40
21
-11
9
-30
-9
103
-78
40
36
7
0
0
0
0
0
0
0
-30
2
0
36
74
-9
-13
35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-16
0
0
0
0
0
0
0
0
0
0
0
-10
-30
15
-4
96
50
75
-5
0
0
0
0
0
1
4
0
-1
0
-1
-33
41
-25
-14
-10
5
0
0
0
0
0
0
0
-3
20
16
44
41
13
72
58
-2
-12
0
0
0
0
0
0
-4
-12
14
60
26
-76
-19
34
37
-54
45
0
0
0
0
0
0
-6
7
47
-45
76
60
-61
-57
-78
3
-9
0
0
0
0
0
-1
5
-7
3
52
34
85
38
-87
-46
15
0
0
0
0
0
0
0
0
0
19
47
-1
-23
51
9
75
34
1
0
0
0
0
0
0
0
0
6
0
-1
28
44
-63
-43
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-7
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-9
0
0
0
0
0
0
0
1
3
0
0
4
5
7
23
2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-17
-22
12
0
0
0
0
0
0
0
0
31
-1
-1
0
-3
3
2
-15
-19
0
0
0
0
0
0
0
0
5
-38
0
1
0
8
-19
-11
3
0
0
0
0
0
0
0
0
8
24
-5
6
0
-12
15
-1
8
0
0
0
0
0
0
0
0
0
25
0
3
-4
-3
-1
-1
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
-7
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-26
6
-36
39
88
-55
-39
0
0
0
0
0
0
1
-9
-14
40
-73
-42
-29
72
16
13
26
0
0
0
0
0
0
-3
-21
-38
34
10
31
-65
14
7
53
-10
0
0
0
0
0
0
0
-9
9
8
36
-31
40
-10
29
-17
-12
0
0
0
0
0
0
0
0
-1
-2
6
30
1
-6
-24
66
37
0
0
0
0
0
0
0
0
-1
1
12
-2
76
-60
67
-46
70
0
0
0
0
0
0
0
0
0
3
9
63
16
-21
43
-24
-18
0
0
0
0
0
0
0
0
0
0
0
18
-29
30
-94
-52
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-27
67
0
0
0
0
0
0
0
0
0
0
-2
11
-5
-58
-52
48
0
0
0
0
0
0
0
0
0
8
-1
-25
-54
0
96
23
-81
-7
0
0
0
0
0
0
0
0
-1
0
0
4
26
-27
21
17
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
-21
-44
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
46
53
-58
-24
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-13
-56
-67
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
-9
89
39
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-21
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-2
0
0
0
0
0
0
0
0
0
9
12
17
7
11
-20
26
-1
0
0
0
0
0
0
0
48
-7
0
-10
-27
75
51
14
9
1
0
0
0
0
0
0
0
2
-7
-6
-1
4
2
-21
31
60
-7
0
0
0
0
0
0
0
0
-1
0
0
-2
-32
28
15
44
3
0
0
0
0
0
0
0
0
0
0
0
-21
67
-56
24
89
33
0
0
0
0
0
0
0
0
0
0
-3
0
-23
-114
10
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
50
48
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
21
-16
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
5
-3
46
7
-13
-5
4
-1
0
0
0
0
0
0
-4
4
14
32
39
30
1
45
99
-47
-1
0
0
0
0
0
0
0
3
-1
-3
9
-14
85
7
-3
24
9
0
0
0
0
0
0
0
9
-1
0
-7
-17
-20
66
59
104
-6
0
0
0
0
0
0
0
0
0
0
0
-8
56
70
-12
-8
16
0
0
0
0
0
0
0
0
0
0
0
62
-21
47
-34
43
0
0
0
0
0
0
0
0
0
0
0
0
1
-69
24
25
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-51
-5
-43
4
-53
71
19
0
0
0
0
0
0
-1
-11
20
2
116
140
9
-32
61
-2
63
0
0
0
0
0
0
0
8
-6
45
-7
64
80
-67
-57
119
39
0
0
0
0
0
0
0
2
9
64
-15
1
-30
5
23
-43
24
0
0
0
0
0
0
-2
5
-34
-65
46
31
40
15
-6
131
23
0
0
0
0
0
0
-3
1
12
-41
54
-15
-36
20
89
24
-8
0
0
0
0
0
0
0
0
-7
8
32
60
-5
12
-10
-22
-75
0
0
0
0
0
0
0
0
0
0
-3
30
-12
-6
-5
-42
21
0
0
0
0
0
0
0
0
0
0
6
-2
5
12
-3
-5
-4
0
0
0
0
0
0
0
0
0
-3
-14
7
-12
16
29
-10
0
0
0
0
0
0
0
0
0
0
-1
31
27
44
65
-29
15
-31
0
0
0
0
0
0
0
0
-1
-3
0
-6
17
52
40
-10
18
0
0
0
0
0
0
0
-5
1
23
19
1
6
-14
5
30
-1
0
0
0
0
0
0
0
8
3
7
7
-3
-10
-17
-7
-4
33
0
0
0
0
0
0
0
-1
3
0
-4
8
-2
-40
1
0
1
0
0
0
0
0
0
0
-7
-1
-4
5
30
46
-32
-28
-56
7
0
0
0
0
0
0
0
0
8
13
0
2
38
11
50
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
7
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-17
0
30
125
81
18
-18
-31
8
-23
0
0
0
-5
-7
-15
-20
-7
84
122
27
-37
-39
35
-10
-6
11
0
0
0
12
-4
15
11
109
28
55
-2
23
43
-3
-6
-20
-7
0
0
0
0
-1
-18
-94
48
81
-12
-34
-10
15
19
79
56
22
0
0
0
0
0
-15
18
-2
10
26
-7
-28
61
18
86
-25
13
0
0
0
0
0
2
-8
82
2
14
3
-3
30
-19
-27
-3
30
0
0
0
0
5
-6
-7
78
-121
19
-1
33
-27
-66
14
49
-1
0
0
0
0
0
0
4
63
2
8
22
-5
-1
21
-30
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-51
40
16
-6
0
-69
-43
-4
-36
-123
9
53
0
0
0
-6
8
41
-6
11
27
3
-44
-52
-4
-9
-50
84
26
0
0
-3
0
5
-26
-46
31
-40
36
-10
38
-35
40
78
49
-23
0
0
0
0
-1
-19
-56
-1
10
78
-20
-25
-18
-29
-88
2
63
0
0
0
0
5
-31
-18
-8
50
66
-67
-50
37
-10
-61
-20
79
0
0
0
0
-3
-7
-40
42
-37
-72
-69
-19
13
-26
-3
20
43
0
0
0
0
2
-7
6
40
-80
43
-1
-53
69
-17
66
83
26
0
0
0
0
0
0
-16
46
-83
1
-14
-41
-26
-115
-37
18
-17
0
0
0
0
0
0
-9
9
17
31
36
-65
-34
52
57
0
0
0
0
0
0
0
0
0
0
0
0
-2
89
-22
20
-1
16
0
0
0
0
-2
0
1
14
-27
6
55
-65
-11
6
49
8
24
0
0
0
0
0
-2
0
-5
52
-12
32
-31
-28
96
-34
30
-29
0
0
0
0
0
0
0
-4
4
-111
-29
38
25
20
-22
4
1
0
0
0
0
0
0
-2
-6
7
8
-6
27
-18
-35
11
-6
-2
0
0
0
0
0
0
0
0
-39
-37
1
-42
12
-19
1
-41
0
0
0
0
0
0
0
0
-1
18
52
2
-2
10
-46
39
-30
-6
0
0
0
0
0
0
0
-3
-32
-12
18
8
27
-33
-81
-19
-7
0
0
0
0
0
0
0
0
34
-115
30
2
-3
-1
-3
8
0
0
0
0
0
0
0
0
1
8
0
0
50
-10
-27
48
-56
-18
0
0
0
-1
3
-3
23
1
3
-38
79
16
8
-2
92
-6
10
0
0
0
0
0
-1
-8
-57
6
15
103
94
41
33
60
-33
26
0
0
0
0
0
-1
-12
-19
3
56
25
11
-14
17
11
36
48
0
0
0
0
0
-2
1
-20
28
-109
-28
22
-68
-93
-28
-22
13
0
0
0
0
0
-1
2
-22
20
-20
-7
3
53
-31
54
-12
-8
0
0
0
0
0
-4
69
-55
-19
-19
-23
-59
-38
-18
-7
-2
1
0
0
0
0
0
0
28
8
-30
-39
-3
-6
-25
-36
-10
-35
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
1
0
0
0
0
0
0
0
0
-8
3
0
-68
-60
40
40
-28
32
20
11
0
0
-1
0
0
43
33
-36
55
36
-11
50
37
-66
104
-1
29
0
0
0
17
-3
-2
112
34
33
107
-1
43
-41
-44
-5
65
-4
0
0
0
0
-1
-30
-8
-14
-40
-33
45
-6
18
-28
20
-19
-26
0
0
0
0
18
-8
-34
-106
31
42
67
108
110
63
12
-15
-33
0
0
0
0
1
0
-28
5
-38
-9
-53
50
87
-36
60
-48
5
0
0
0
0
0
0
-5
41
-15
-33
36
-38
-73
-67
-24
-10
27
0
0
0
0
0
0
-5
-5
-3
8
1
27
18
38
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
-3
7
0
0
0
0
0
0
0
0
0
0
10
21
16
-13
-6
77
30
-6
0
0
0
0
0
-5
-24
6
10
55
-86
109
59
-59
52
53
-18
0
0
0
0
0
3
9
-12
17
29
8
-40
-6
8
-66
-70
19
0
0
0
0
0
0
6
20
-33
14
107
-7
-1
-72
150
-93
-37
0
0
0
0
0
-6
-21
-7
21
78
8
-15
41
71
68
81
18
0
0
0
0
0
0
-4
40
-53
0
-4
-34
48
32
19
27
-30
0
0
0
0
0
0
6
-9
-3
-4
18
-46
-2
-4
58
5
9
0
0
0
0
0
0
0
-2
-16
-42
-16
-57
-9
68
8
16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
5
2
-1
-1
0
0
0
0
0
0
0
0
0
14
-2
0
-1
-5
-9
2
3
0
0
0
0
0
-4
-1
-31
-5
34
55
17
-21
-17
70
7
1
0
0
0
0
0
0
-4
-6
-15
-12
44
-73
-16
-21
26
-1
31
0
0
0
0
0
0
-3
-1
1
-3
41
22
41
-9
43
9
6
0
0
0
0
0
0
0
-8
-8
-10
41
-34
-5
-36
32
-34
-31
0
0
0
0
0
0
-3
-2
19
-13
-12
-3
56
-40
13
-13
-23
0
0
0
0
0
0
3
-42
3
24
-16
-30
-24
24
-63
-69
2
0
0
0
0
0
0
7
1
3
-7
-4
-1
14
-13
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-13
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-55
5
28
8
0
0
0
0
0
0
0
0
0
0
0
3
-2
25
-105
104
27
0
0
0
0
0
0
0
0
0
0
0
-3
-8
30
-48
-48
26
0
0
0
0
0
0
0
0
0
0
0
0
2
3
8
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-14
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
8
13
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
-8
-3
2
39
49
4
0
0
0
0
-1
-3
-16
0
0
0
-11
60
-30
-41
10
20
-29
0
0
0
0
0
-2
5
-8
15
18
67
-16
37
-23
-63
-102
29
0
0
0
0
9
0
13
76
-6
-17
14
-71
-25
6
23
6
0
0
0
0
0
0
0
1
-1
15
10
29
-11
24
38
9
-30
-5
0
0
0
0
0
0
0
4
-16
-3
1
-44
-13
-14
73
-38
0
0
0
0
0
0
0
0
17
4
27
-29
18
-11
0
-24
4
4
0
0
0
0
0
0
1
49
6
-13
0
1
2
2
3
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
-5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
-6
1
3
-4
-7
0
1
0
-5
0
0
0
0
0
0
0
0
0
-3
0
3
2
-1
0
-3
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-68
62
26
3
42
26
47
0
0
0
0
0
-1
6
-22
0
0
87
76
-8
80
69
11
54
0
0
0
0
0
-1
-4
79
184
41
64
23
46
50
47
64
64
0
0
0
4
0
-5
-28
34
77
61
46
-9
3
86
25
71
130
0
0
0
0
0
-2
0
-60
-19
-30
42
-78
-57
104
57
18
17
0
0
0
0
1
0
-10
-7
2
-85
-75
-34
5
30
1
50
-6
0
0
0
0
0
1
0
2
31
-60
-17
-1
-4
51
-2
-8
-6
0
0
0
0
0
0
0
-7
-20
-5
-12
-38
48
43
-37
-43
-4
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-8
1
0
0
0
0
0
-2
9
37
0
0
80
7
27
-24
-6
-50
55
0
0
0
0
0
0
5
-73
-5
33
-6
18
58
13
-4
-22
-11
0
0
0
0
0
8
-20
-20
1
-49
22
11
15
-25
12
42
-6
0
0
0
0
9
-44
20
1
-62
-26
18
38
3
12
40
-49
-20
0
0
0
0
0
16
42
-16
-15
-57
-4
24
25
-18
-19
-29
-51
0
0
0
0
2
1
-9
33
-49
-103
41
43
52
-31
-12
-18
-93
0
0
0
0
3
3
-1
13
-42
-105
-37
20
90
31
47
-76
3
0
0
0
0
0
-7
14
5
-7
-40
-57
-24
-12
-43
-15
-54
-140
0
0
0
0
0
0
0
0
6
80
-8
50
-51
46
61
20
0
0
0
0
0
0
0
0
0
0
0
58
45
53
10
55
-18
88
0
0
0
0
0
0
0
0
-19
4
-50
59
49
-1
-34
-8
-12
0
0
0
0
0
0
0
0
-7
-65
11
-21
50
44
46
50
3
0
0
0
0
0
0
0
0
3
54
-34
-19
56
3
8
87
27
0
0
0
0
0
0
0
0
-20
9
38
20
12
4
-32
34
38
0
0
0
0
0
0
0
0
48
-10
-48
-62
-3
55
44
-1
49
0
0
0
0
0
0
0
0
27
9
-14
-5
-27
-6
15
-14
35
0
0
0
0
0
0
0
5
-74
-49
34
-41
21
8
46
-8
26
0
0
0
0
0
0
0
0
5
44
-26
17
23
-66
-11
24
18
0
0
0
0
0
0
0
0
0
35
78
53
-4
20
60
23
25
0
0
0
0
0
0
0
1
0
73
0
33
7
-40
16
-28
-2
0
0
0
0
0
0
0
0
-5
50
123
-48
17
43
12
-35
48
0
0
0
0
0
0
0
1
5
55
35
85
112
12
46
-20
27
0
0
0
0
0
0
-6
-5
42
59
-99
-33
65
-46
30
-15
61
0
0
0
0
0
0
-4
1
-2
-31
54
-43
3
29
15
22
48
0
0
0
0
0
0
0
2
13
9
21
-1
24
9
-26
3
36
0
0
0
0
0
0
0
0
57
34
3
-25
-14
17
-37
38
-54
0
0
0
0
0
0
0
0
0
0
0
0
-8
-30
8
-2
0
0
0
0
0
4
1
-1
-2
0
0
-10
26
19
-22
32
3
-7
0
0
0
0
0
0
6
0
88
0
26
0
49
7
35
23
46
0
0
0
0
0
3
19
152
77
28
-31
81
69
12
49
-16
2
0
0
0
0
0
0
7
-11
19
-60
25
-43
48
61
34
0
-22
0
0
0
0
0
-1
-1
-39
24
62
26
9
34
29
26
-5
36
0
0
0
0
0
0
4
7
39
42
5
113
67
-55
-16
-6
8
0
0
0
0
0
0
1
24
-93
25
24
16
108
28
-11
30
32
0
0
0
0
0
0
0
-3
0
0
2
-26
-28
28
-52
22
-3
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
13
0
0
0
0
0
0
0
0
-1
0
0
65
65
30
47
-4
2
-20
0
0
0
0
0
2
0
0
0
0
69
8
114
49
5
48
46
0
0
0
0
0
0
4
41
-13
45
22
-30
32
-60
-41
112
22
0
0
0
0
0
0
7
5
19
-26
99
-6
-15
26
82
19
-27
0
0
0
0
0
0
0
-45
-2
20
-71
8
-25
52
75
0
36
0
0
0
0
0
0
0
-5
12
-12
75
27
11
44
79
15
24
0
0
0
0
0
0
0
0
4
2
-7
22
-52
-42
-33
-35
13
0
0
0
0
0
0
0
0
0
0
8
17
-19
23
-13
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
2
-29
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-53
-14
-8
0
0
0
0
0
0
0
0
0
1
0
2
18
-40
-21
2
21
0
0
0
0
0
0
0
0
0
0
12
7
5
34
-49
-5
-14
0
0
0
0
0
0
0
3
0
-5
2
0
13
48
26
88
8
0
0
0
0
0
0
0
0
4
6
0
0
4
-13
14
68
30
0
0
0
0
0
0
0
0
0
1
0
0
2
-32
16
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
11
3
-64
27
-23
-16
-42
0
0
0
0
0
0
0
4
34
59
4
11
32
42
41
0
-93
7
0
0
0
0
0
0
0
-48
-10
22
72
50
-17
7
-2
-71
-44
0
0
0
0
0
0
0
-2
-16
-41
4
78
73
-25
126
36
65
0
0
0
0
0
0
0
0
-31
13
13
-89
75
4
64
-11
69
0
0
0
0
0
0
0
0
3
5
-3
-24
19
96
30
-113
-96
0
0
0
0
0
0
0
0
0
0
21
-29
-5
38
-1
-10
16
0
0
0
0
0
0
0
0
0
0
-5
-1
12
34
48
31
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-36
47
3
0
0
0
0
0
0
0
0
0
1
-10
-5
3
-93
-5
108
-2
0
0
0
0
0
0
0
0
-2
5
8
15
-29
4
59
-40
-30
0
0
0
0
0
0
0
0
0
2
10
-1
47
16
111
105
78
0
0
0
0
0
0
0
0
0
0
-8
-18
-7
-3
-24
-74
32
0
0
0
0
0
0
0
0
0
0
0
-13
8
-4
56
24
103
0
0
0
0
0
0
0
0
0
0
0
-1
-8
13
-33
121
-14
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-18
-6
41
49
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-37
-46
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
29
1
0
0
0
0
0
0
0
0
0
22
-4
-5
-20
-33
-22
5
10
0
0
0
0
0
0
0
2
2
-18
30
14
13
-59
26
-17
20
0
0
0
0
0
0
0
0
0
14
8
20
23
-16
54
-9
193
0
0
0
0
0
0
0
0
-1
-1
-3
33
0
11
32
47
13
0
0
0
0
0
0
0
0
0
0
0
-7
19
-115
12
49
16
0
0
0
0
0
0
0
0
0
0
-1
0
14
32
-72
-51
-50
0
0
0
0
0
0
0
0
0
0
0
0
-13
54
-22
-37
-43
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-7
39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
3
2
-2
29
62
-54
-31
9
0
0
0
0
0
0
0
1
1
29
-6
15
51
-34
63
20
19
0
0
0
0
0
0
0
0
-1
-1
1
30
-9
56
72
-4
-52
0
0
0
0
0
0
0
0
0
-1
-6
-22
1
-111
92
11
-8
0
0
0
0
0
0
0
0
0
0
0
8
73
-11
-65
-7
-12
0
0
0
0
0
0
0
0
0
0
0
5
-19
26
-75
30
4
0
0
0
0
0
0
0
0
0
0
0
-6
6
-87
-11
24
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
0
0
0
0
0
0
0
7
0
49
66
-25
61
-26
-19
25
-1
0
0
0
0
0
0
0
0
1
31
47
34
-71
93
155
-131
38
0
0
0
0
0
0
0
1
2
52
-49
-87
77
59
30
40
9
0
0
0
0
0
0
0
1
-2
-20
-77
54
31
5
-37
27
-76
0
0
0
0
0
0
0
13
8
6
6
80
-17
4
-42
7
42
0
0
0
0
0
0
0
1
2
2
7
-55
-22
39
43
9
52
0
0
0
0
0
0
0
0
-2
1
-9
-48
-16
50
27
19
0
0
0
0
0
0
0
0
0
-2
0
0
25
-38
-63
2
-61
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-39
1
-52
0
0
0
0
0
0
0
0
0
5
-11
9
0
25
57
-67
20
0
0
0
0
0
0
0
0
0
2
-8
-5
5
64
-8
45
48
0
0
0
0
0
0
0
0
0
1
5
-10
46
-7
-22
45
-25
0
0
0
0
0
0
0
0
0
-1
1
16
27
39
35
44
57
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-16
6
-24
24
0
0
0
0
0
0
0
3
0
5
2
7
-16
52
25
9
31
0
0
0
0
0
0
0
0
0
0
0
-3
5
-49
5
26
38
0
0
0
0
0
0
0
0
0
0
-1
0
4
-5
-12
-15
63
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-29
7
2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-43
5
0
89
85
21
-53
38
22
-38
24
0
0
0
-5
-2
-15
-87
-35
-41
141
-31
-87
42
-12
33
40
49
0
0
0
0
2
14
-8
-21
-9
47
66
68
42
5
112
-8
-27
0
0
0
1
3
31
-23
-92
-3
-47
-101
-4
-79
-3
81
59
76
0
0
0
0
0
3
-10
73
-39
-43
38
20
90
-9
62
57
-1
0
0
0
0
0
0
23
6
58
-21
58
32
-49
23
-62
-51
-47
0
0
0
0
0
2
1
0
36
16
-3
-52
-48
-13
-91
-18
-9
0
0
0
0
0
0
0
7
-2
-8
-10
-3
-22
36
-16
-1
-1
0
0
0
0
0
0
0
0
4
3
0
0
0
0
5
0
-1
0
0
0
-1
5
-21
-90
-45
0
31
-2
125
122
41
-4
15
0
0
0
0
-18
10
29
83
-18
-44
70
14
22
-4
46
58
97
0
0
0
0
4
0
-5
-13
-94
37
-104
-104
28
-50
5
67
73
0
0
0
0
0
0
-35
-45
-60
-46
72
41
-20
26
7
-11
-25
0
0
0
0
0
2
-15
18
5
65
-69
27
-59
-2
-70
52
23
0
0
0
0
0
0
0
-16
81
-62
4
-54
-19
-37
16
41
-99
0
0
0
0
0
0
-19
49
23
-63
24
4
3
-6
62
64
12
0
0
0
0
0
-2
-7
17
10
-52
15
62
-56
16
113
-55
-13
0
0
0
0
0
0
0
4
9
-38
-93
-40
3
7
-1
6
0
0
0
0
0
-1
0
-36
-1
-124
0
17
-42
39
-11
-7
34
-3
0
0
0
0
0
5
-32
-9
34
-14
-36
-17
76
-79
8
24
0
0
0
0
0
-1
0
48
33
13
83
89
-42
16
20
-6
-42
5
0
0
0
0
0
0
4
7
82
-30
43
0
-43
-13
1
-3
0
0
0
0
0
0
0
-5
6
-2
34
4
0
-7
29
3
-3
1
0
0
0
0
-2
0
30
19
-32
14
19
8
7
24
-2
2
0
0
0
0
0
0
2
-12
31
-4
-145
11
-30
47
-27
1
-8
1
0
0
0
0
0
1
-6
-21
71
-63
-13
2
-18
-6
0
0
0
0
0
0
0
0
0
7
-19
-74
23
28
-1
-2
12
0
0
0
0
0
0
0
0
0
15
-36
-45
0
-32
123
45
-12
25
-2
0
0
0
0
0
0
0
-9
49
-1
35
-8
75
-67
90
73
5
0
0
0
0
0
0
0
14
10
-14
-50
-40
41
43
-13
108
13
0
0
0
0
0
0
0
3
-13
53
74
8
-2
-3
-65
52
9
0
0
0
0
0
0
2
-8
-8
3
-109
58
-6
-10
31
-16
-23
0
0
0
0
0
0
1
-17
34
16
-66
-18
2
1
25
-29
-4
0
0
0
0
0
0
0
-2
25
-74
3
67
-42
-4
-5
19
0
0
0
0
0
0
0
0
0
-2
-27
48
2
-30
-30
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
-14
11
0
43
-27
106
47
-1
11
-62
-34
0
0
0
0
0
15
20
-34
-35
69
62
56
46
-72
-73
78
15
0
0
0
7
8
8
-90
2
27
-18
47
8
-20
75
-37
23
-3
0
0
0
0
0
0
34
32
34
1
103
22
-87
23
49
28
-44
0
0
0
0
0
-3
5
22
29
-77
64
-37
29
15
70
-38
-15
0
0
0
0
0
-3
4
33
22
15
52
-5
56
11
-2
35
9
0
0
0
0
0
0
1
9
0
25
11
-41
45
2
75
-46
-40
0
0
0
0
0
0
0
-5
-1
28
3
-27
-17
6
-8
-33
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
-5
0
0
0
0
0
0
0
0
9
0
-11
14
-13
-5
-28
-44
-19
97
0
0
0
0
0
0
10
22
-16
10
6
51
-3
69
5
50
128
0
0
0
0
0
0
2
-4
-1
30
15
-63
56
29
-23
99
7
0
0
0
0
0
0
0
-7
-36
18
-18
10
-20
48
-13
-40
39
0
0
0
0
0
0
0
22
19
-26
42
69
14
-31
-5
112
74
0
0
0
0
0
0
1
-1
5
-45
-92
1
-19
-27
-42
-133
115
0
0
0
0
0
0
0
0
-29
13
14
-22
-40
69
-7
-78
-45
0
0
0
0
0
0
0
0
93
-18
-7
-17
-10
-20
-40
-38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-7
0
0
0
0
0
0
0
0
0
13
13
0
-8
3
72
-53
17
0
0
0
0
0
0
1
0
3
5
8
-41
3
-36
40
-9
5
0
0
0
0
0
0
0
-5
-3
-3
-24
0
-1
82
7
3
22
0
0
0
0
0
0
0
1
1
-17
12
-1
-5
53
71
2
96
0
0
0
0
0
0
0
0
3
0
42
24
0
-28
-24
54
-18
0
0
0
0
0
0
0
-1
0
-5
1
-7
2
3
21
46
58
0
0
0
0
0
0
0
-1
3
-8
-3
6
-8
-8
-18
70
-6
0
0
0
0
0
0
0
0
-1
0
0
6
-4
10
-10
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
8
6
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-9
-34
6
1
10
5
2
0
0
0
0
0
0
0
0
0
-2
-15
-2
-7
4
-4
0
1
0
0
0
0
0
0
0
0
-3
7
11
-52
-6
19
0
0
0
0
0
0
0
0
0
0
0
-1
13
-17
-9
-10
1
0
0
0
0
0
0
0
0
0
0
0
2
13
5
5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
4
14
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
22
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
4
-9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
8
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
5
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-7
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-5
-3
7
7
0
0
0
0
0
0
0
0
0
0
2
2
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-23
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
-6
-12
0
0
0
0
0
0
0
0
0
0
0
7
5
-8
3
-8
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
1
-22
-7
3
0
11
0
0
0
0
0
0
0
0
-2
8
23
-21
-45
20
9
-22
10
-1
-4
-3
0
0
0
0
-1
1
-13
-17
15
-10
-17
-65
68
19
2
-15
0
0
0
0
0
0
-2
25
8
-14
-25
20
29
5
-16
-7
-1
3
0
0
0
0
-8
0
15
1
-5
12
11
-13
-7
-4
1
-1
0
0
0
0
0
0
0
6
-8
-2
-27
24
-6
-6
-1
1
0
0
0
0
0
0
0
1
2
2
3
2
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-70
31
-5
-32
0
-25
-2
-1
0
1
0
0
0
0
-3
20
-5
-29
48
32
60
102
-21
-7
5
6
-1
0
0
0
0
2
9
31
28
21
19
38
1
41
4
2
-5
0
0
0
0
0
2
3
57
15
14
22
-18
10
-7
5
-7
4
3
0
0
0
0
-1
-6
12
37
-29
-12
-24
26
-10
-12
12
-1
0
0
0
0
0
7
12
-41
27
19
-17
-24
-49
14
12
1
-1
0
0
0
0
0
0
16
17
-109
-52
16
-47
-36
-14
-2
9
-1
0
0
0
0
0
0
2
-6
13
-56
10
26
9
4
-17
0
0
0
0
0
0
0
0
0
0
-3
-27
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
7
-12
8
0
5
1
-1
0
0
0
0
0
0
0
0
-6
6
14
20
-10
-6
6
-4
-3
0
0
0
0
0
0
0
0
1
8
-8
19
1
-25
5
-6
0
0
0
0
0
0
0
0
0
0
3
-8
-8
19
-8
-1
-1
0
1
0
0
0
0
0
0
0
0
1
18
8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-18
13
0
3
1
4
-2
0
0
0
0
0
0
0
0
0
0
7
7
2
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
8
8
4
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
17
0
-27
0
29
-1
9
0
0
0
0
0
0
0
0
-17
-5
32
-15
-2
17
-16
31
-5
7
1
0
0
0
0
0
3
6
-4
-25
-20
14
-1
28
2
6
6
0
0
0
0
0
0
3
10
-15
22
21
-5
-33
-2
-12
-16
3
0
0
0
0
0
0
0
0
5
-13
15
16
7
-7
-7
-4
1
0
0
0
0
0
0
0
0
-6
21
-5
-38
-6
-5
-5
0
0
0
0
0
0
0
0
0
-3
-5
31
-4
21
24
-7
12
12
0
0
0
0
0
0
0
0
1
17
2
-5
23
-3
-49
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-5
4
19
-77
-11
0
5
1
2
0
0
0
0
0
-1
9
10
-12
-13
24
-21
22
33
6
-3
10
-1
0
0
0
0
-1
0
9
4
24
-17
-27
-36
-3
34
5
0
0
0
0
0
0
0
-27
-16
-17
3
-41
23
41
16
4
12
2
0
0
0
0
0
0
0
13
-8
24
-9
31
24
-12
-16
1
-1
0
0
0
0
0
0
-1
-4
9
-8
-1
-24
14
-6
0
3
0
0
0
0
0
0
0
0
4
0
9
10
-7
-13
-1
-1
0
0
0
0
0
0
0
0
0
0
8
0
-1
-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
1
8
8
42
11
0
-5
0
0
0
0
0
0
0
1
2
7
-13
-30
-14
-6
6
13
3
-2
0
0
0
0
0
0
-1
2
-5
3
1
-14
8
33
5
-9
2
1
0
0
0
0
0
0
0
-2
-8
8
-40
7
-14
-7
-7
-1
0
0
0
0
0
0
0
0
-2
-5
-1
-5
7
-4
-2
-1
-3
0
0
0
0
0
0
0
0
-1
-6
-3
-5
-1
10
-2
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
16
9
-8
0
0
0
0
0
0
0
0
0
0
0
8
43
4
-9
29
-4
0
-1
0
0
0
0
0
0
0
0
-2
-41
43
-18
69
26
-5
0
0
0
0
0
0
0
0
0
0
0
4
-49
23
8
15
7
0
0
0
0
0
0
0
0
0
0
0
25
-13
-13
6
8
0
0
0
0
0
0
0
0
0
0
0
0
23
-23
17
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
22
22
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-5
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-7
20
1
0
0
0
0
0
0
0
0
0
0
0
1
15
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
21
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-12
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-19
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
13
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-3
15
22
0
0
0
17
1
0
0
0
0
0
0
0
0
3
4
5
-2
26
17
4
0
0
0
0
0
0
0
0
0
0
0
4
6
-4
-5
-7
7
-7
2
0
0
0
0
0
0
0
0
0
-4
47
29
23
2
7
-6
0
0
0
0
0
0
0
0
0
0
0
12
-3
16
-1
-20
6
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-12
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
2
3
-34
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
-24
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
12
4
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
6
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
-15
17
22
21
0
0
0
0
0
0
0
0
0
0
0
25
-69
7
-17
-35
5
6
0
0
0
0
0
0
0
0
0
0
17
-12
16
10
18
8
8
-1
0
0
0
0
0
0
0
0
0
3
13
-3
-2
25
-5
5
-5
0
0
0
0
0
0
0
0
0
1
-22
16
24
-8
1
-30
-12
5
-1
0
0
0
0
0
0
0
6
-5
9
-23
-4
1
-10
3
1
0
0
0
0
0
0
0
0
2
-42
2
-13
25
-23
6
-2
0
0
0
0
0
0
0
0
0
0
7
-3
8
4
25
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
28
17
-9
38
1
0
0
0
0
0
0
0
0
0
0
13
41
-36
-20
-6
-66
-6
0
0
14
-6
-10
3
0
0
0
0
-11
39
-40
22
25
-26
2
-11
28
17
-2
-2
0
0
0
0
0
19
-27
-6
31
-9
78
-28
9
-9
-15
2
1
0
0
0
0
0
1
2
11
-29
-36
62
9
-25
-6
1
5
0
0
0
0
0
0
2
-6
-11
-13
38
30
8
-5
-2
1
0
0
0
0
0
0
0
-2
1
21
-4
-15
-13
29
-1
-8
0
0
0
0
0
0
0
0
0
0
2
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
5
0
-59
-23
-8
0
0
0
0
0
0
0
0
0
0
1
-8
-21
3
34
42
10
31
21
42
3
1
-2
0
0
0
0
-1
31
-7
-29
20
50
6
-33
6
5
4
-1
0
0
0
0
0
-7
30
-52
89
72
-30
19
33
-32
26
7
1
0
0
0
0
0
0
-20
-23
49
51
38
-81
1
39
9
-19
3
0
0
0
0
0
-1
13
-41
29
39
-49
2
13
-20
10
5
0
0
0
0
0
0
0
-65
-24
28
-23
-9
-10
9
-23
6
-3
0
0
0
0
0
0
0
7
8
20
-56
-6
-37
9
-11
-5
0
0
0
0
0
0
0
0
0
-46
-42
12
-4
16
-1
-3
0
0
0
0
0
0
0
0
-43
-19
-8
34
17
2
31
0
0
0
0
0
0
0
0
0
0
19
43
44
40
28
-8
-9
10
-7
0
0
0
0
0
0
0
0
-12
17
-3
8
-2
18
-9
12
-1
0
0
0
0
0
0
0
0
-36
8
28
34
-6
-14
-3
-6
3
0
0
0
0
0
0
0
0
5
21
-20
0
-5
3
-7
1
1
2
0
0
0
0
0
0
0
0
-2
-18
-8
-7
-26
-1
0
0
2
0
0
0
0
0
0
0
-16
-26
0
26
8
0
0
0
0
0
0
0
0
0
0
0
0
-28
-23
-2
-6
3
0
1
0
0
0
0
0
0
0
0
0
0
-53
-5
-7
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-4
30
-50
-17
-6
32
2
29
0
-1
0
0
0
0
0
0
0
-38
29
-20
-3
-32
-2
0
-9
12
1
0
-1
0
0
0
0
0
-18
52
-14
20
-32
-6
59
-21
-24
1
0
0
0
0
0
0
0
-49
11
4
4
5
51
0
-14
15
2
0
0
0
0
0
0
0
41
23
2
31
26
-17
2
0
0
0
-1
0
0
0
0
0
0
10
-3
0
9
-32
71
-16
-14
6
1
0
0
0
0
0
0
0
27
19
20
-31
1
5
5
4
0
0
0
0
0
0
0
0
0
16
-25
19
-14
-7
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-8
14
-30
-45
53
0
0
-1
0
-1
0
0
0
0
0
-2
-3
4
3
-7
-28
34
0
11
0
-14
-8
0
0
0
0
0
0
15
-19
-23
-13
-6
66
3
9
-9
36
-4
0
0
0
0
0
2
1
-24
0
54
39
7
-26
8
-8
-2
-1
-1
0
0
0
0
0
6
-8
-3
39
39
10
-11
-8
4
-2
0
0
0
0
0
0
0
0
-9
9
-14
-3
-15
-13
14
6
-1
0
0
0
0
0
0
0
-5
25
-34
-6
-13
-4
8
-5
1
0
0
0
0
0
0
0
0
1
0
7
2
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-7
1
-3
-6
50
7
0
0
1
0
0
0
0
0
0
-4
-7
5
6
-23
-1
-15
0
-16
0
7
-1
0
0
0
0
0
0
8
0
2
-24
-5
-6
-2
-3
-1
-3
-1
0
0
0
0
0
-1
-19
1
-3
8
-11
17
3
0
0
-4
0
6
0
0
0
0
-1
1
3
-8
-19
26
11
0
4
2
1
0
0
0
0
0
0
0
-4
-2
14
23
-2
-22
8
-5
0
0
0
0
0
0
0
0
0
-2
-7
-8
2
-10
17
-2
0
0
0
0
0
0
0
0
0
0
8
0
16
3
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
-1
2
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
-1
2
-7
-1
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
2
4
0
0
0
0
0
0
0
-1
2
0
0
-3
-3
0
0
-3
-1
0
0
0
0
0
0
0
0
6
3
10
0
6
0
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
18
2
0
-2
0
0
0
0
0
0
0
0
0
0
1
48
-2
-1
-27
2
4
1
-2
0
0
0
0
0
0
0
0
4
-2
-29
-28
-1
2
-1
0
0
0
0
0
0
0
0
0
0
2
13
-25
-20
13
0
0
0
0
0
0
0
0
0
0
0
0
6
-38
-4
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-24
-22
-18
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-30
48
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
2
1
0
1
0
0
0
0
0
0
0
0
0
0
-15
4
-15
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
8
-5
-6
0
1
0
1
0
0
0
0
0
0
0
0
2
7
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
-1
0
4
0
0
0
0
0
0
0
0
0
-3
4
24
-4
-19
5
3
6
-4
1
0
0
0
0
0
0
0
-1
0
-9
4
-6
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
-5
6
10
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
2
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
17
-7
-2
2
16
0
12
28
10
0
0
0
0
0
0
13
3
-13
-6
-1
-4
-14
5
107
13
-22
8
0
0
0
0
0
12
5
13
-2
-9
-5
36
46
72
-29
-8
-15
0
0
0
0
1
8
20
8
8
0
-9
1
29
2
6
0
1
1
0
0
0
0
-9
-28
-6
0
-4
-1
-16
3
-8
-25
0
0
0
0
0
0
0
0
-4
16
-2
0
-3
-3
8
2
5
0
0
0
0
0
0
0
1
16
6
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-30
-2
56
-61
96
-11
0
18
-1
0
-3
0
0
0
0
0
5
-27
-18
16
-28
-31
-40
-63
0
11
10
12
2
0
0
0
0
-30
-56
-37
20
17
53
0
-99
62
36
44
33
0
0
0
0
0
-30
-7
7
47
9
19
-19
-10
-4
37
0
3
0
0
0
0
0
-9
20
14
17
30
0
-5
20
7
13
8
0
0
0
0
0
0
-38
5
-41
28
54
-18
-8
-9
14
25
7
-1
0
0
0
0
0
10
13
-5
-1
-19
-24
-3
5
2
-9
0
1
0
0
0
0
0
0
-5
7
27
20
-38
22
-16
-16
-2
0
0
0
0
0
0
0
0
0
0
-2
-56
-12
-12
20
5
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-2
16
0
-1
29
13
0
-1
0
0
0
0
1
-8
2
-1
-4
-5
12
12
9
3
6
-2
-2
3
0
0
0
0
0
3
0
2
1
-17
-34
57
10
26
-5
2
0
-1
0
0
0
0
8
-9
-5
7
-3
-12
41
-14
32
-9
-3
1
0
0
0
0
0
0
1
-1
0
0
-2
-5
-3
3
7
2
-2
0
0
0
0
-1
0
0
-2
0
7
2
-18
-29
5
-13
-1
1
0
0
0
0
0
0
1
0
0
-2
12
-27
-24
9
3
2
0
0
0
0
0
0
0
-3
3
1
4
14
-20
-27
9
0
5
0
0
0
0
0
0
-1
0
0
0
51
17
-47
7
1
-1
0
0
0
0
0
0
0
1
-4
-2
17
0
0
-46
32
-25
0
0
0
0
0
0
0
0
18
8
-11
-31
28
-11
-20
-25
46
17
1
0
0
0
0
0
0
22
13
-6
9
-14
73
47
-33
-19
-1
2
0
0
0
0
0
0
-13
-8
7
-8
6
22
-21
-22
-4
-7
0
0
0
0
0
0
0
1
3
-5
-4
8
-8
8
-1
6
-3
0
0
0
0
0
0
0
0
2
-8
3
4
-29
-18
25
-5
2
1
0
0
0
0
0
0
0
1
10
1
0
-13
21
-7
6
-4
0
0
0
0
0
0
0
0
-2
0
5
23
69
44
-24
-6
-1
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
8
9
10
22
2
2
27
0
16
26
-17
0
0
0
0
0
1
-29
20
-1
-1
13
-53
15
15
64
-3
3
0
2
0
0
0
5
-31
42
-6
-5
4
7
55
45
-65
-11
8
-6
0
0
0
0
6
5
-18
-7
9
-30
4
-5
20
-7
-10
3
0
0
0
0
0
-1
14
6
13
8
-10
-9
-21
16
13
-3
0
0
0
0
0
0
1
-6
-23
-3
-22
0
-29
-8
4
3
-6
0
0
0
0
0
0
0
1
3
0
0
2
8
-1
-8
6
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
1
-9
0
-1
4
0
0
0
0
0
0
1
9
7
5
8
-16
10
13
-29
25
-3
1
0
0
0
0
0
1
6
4
0
-5
0
-2
13
20
20
2
-1
0
0
0
0
0
2
-2
6
-1
-24
7
18
-17
8
4
3
1
0
0
0
0
0
-5
3
2
5
1
1
19
-2
-5
-6
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
6
6
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-37
3
-23
8
-10
0
0
0
0
0
0
0
0
0
0
0
4
7
-7
-25
-4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-14
15
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
51
-27
18
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
33
31
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
46
-27
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
24
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
4
1
0
-2
0
0
0
-2
0
0
0
0
0
0
0
1
-4
-4
-1
-3
-2
0
0
0
9
7
0
-1
0
0
0
0
0
-1
0
-2
0
1
13
-53
58
-8
0
0
0
0
0
0
0
-2
0
0
1
7
7
9
6
10
4
2
0
0
0
0
0
0
0
0
-2
1
4
3
-17
5
10
-5
-1
0
0
0
0
0
0
0
-1
0
0
0
8
-2
-22
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-5
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-25
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
20
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
20
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
-6
22
30
-60
8
-24
1
0
0
0
0
0
0
0
0
0
0
20
-59
38
-1
19
3
5
0
0
0
0
0
0
0
0
0
0
-10
-24
-17
8
17
-14
-7
6
0
1
0
0
0
0
0
0
0
-10
-13
76
-6
2
-24
14
2
0
0
0
0
0
0
0
0
0
-9
6
-18
1
3
2
12
-5
-1
0
0
0
0
0
0
0
0
-13
29
54
-27
10
7
7
4
0
-2
0
0
0
0
0
0
0
-9
11
-31
-22
7
2
5
-1
0
0
0
0
0
0
0
0
0
1
-7
-2
-5
7
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
-9
1
2
0
0
0
0
0
0
0
0
0
0
0
1
62
1
34
23
23
7
0
0
0
1
-3
4
0
0
0
0
15
-2
-50
28
1
-12
-15
0
0
-29
1
-16
0
0
0
0
0
-8
-45
-16
19
-8
-8
-5
45
25
-2
13
8
0
0
0
0
0
-13
-27
52
3
-8
22
-4
3
17
16
-4
-2
0
0
0
0
0
-4
-14
32
-1
16
5
24
-1
-5
-21
-5
0
0
0
0
0
0
0
-14
-16
-18
0
19
-16
13
1
-5
0
0
0
0
0
0
0
0
-7
17
-11
22
-7
-1
1
-1
-2
0
0
0
0
0
0
0
0
0
9
-15
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-22
-17
-12
-16
0
0
-13
-4
0
0
0
0
0
0
-6
4
-34
-28
12
2
-17
63
14
-4
13
8
0
0
0
0
0
-12
37
-25
-36
26
31
-10
-27
-20
35
7
2
0
0
0
0
0
-10
-16
-17
40
10
-7
11
15
-13
-11
-10
1
0
0
0
0
0
-8
-9
14
-8
2
-1
-4
43
23
-26
0
1
0
0
0
0
0
5
0
-46
-33
28
-5
29
-3
-26
-14
0
0
0
0
0
0
0
-2
25
16
86
-43
-11
32
14
12
0
2
0
0
0
0
0
0
0
7
-48
-3
-14
-23
-45
5
1
-8
-1
0
0
0
0
0
0
0
0
31
9
42
7
8
7
0
-3
0
0
0
0
0
0
0
17
-16
-11
34
-8
12
12
0
0
0
0
0
0
0
0
0
0
-59
-13
-8
7
-21
11
-12
2
0
0
0
0
0
0
0
0
0
-21
-10
-43
48
6
18
-8
1
0
0
0
0
0
0
0
0
0
3
16
-24
-29
18
17
-5
0
0
0
2
0
0
0
0
0
0
14
0
-20
15
-1
8
6
3
5
0
0
0
0
0
0
0
0
-7
28
18
-31
10
-11
1
0
-2
-1
0
0
0
0
0
0
0
-41
-52
-39
22
-1
-11
-5
2
0
1
0
0
0
0
0
0
0
-2
-67
10
53
0
-9
6
1
-1
0
0
0
0
0
0
0
0
34
5
3
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-44
35
11
15
14
15
-8
0
0
1
0
0
0
0
0
0
48
31
16
-10
-65
-42
0
27
16
0
-1
0
0
0
0
0
0
25
51
-27
36
-13
1
11
-21
0
0
0
0
0
0
0
0
0
25
-11
40
2
49
12
27
-5
0
0
0
0
0
0
0
0
0
-1
-31
4
-10
10
22
-8
8
4
0
0
0
0
0
0
0
0
-5
-7
31
0
-9
11
3
1
0
0
0
0
0
0
0
0
0
-29
18
7
-39
-4
8
-7
6
0
0
0
0
0
0
0
0
0
-44
2
-11
-1
-5
7
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
8
-6
13
16
15
0
0
-3
-3
2
0
0
0
0
0
-3
21
44
30
57
5
17
0
23
0
-17
2
0
0
0
0
0
-4
-21
15
46
-29
-10
-3
6
48
53
-21
5
-1
0
0
0
0
-6
-19
0
33
-24
-5
15
24
-31
-20
-13
4
-1
0
-1
0
0
1
-8
6
-1
-23
24
-8
24
-10
20
-1
0
0
0
0
0
0
1
-4
24
-10
-29
-19
-4
0
6
-7
3
0
0
0
0
0
0
0
-7
8
-33
5
6
4
-13
-4
-7
0
0
0
0
0
0
0
0
2
-8
0
-5
1
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
5
-7
-10
0
0
-1
0
6
0
0
0
0
0
0
0
-1
-21
22
3
-3
-9
-4
0
4
0
9
0
0
0
0
0
0
0
-28
-16
-4
38
27
8
-1
7
27
-8
0
0
0
0
0
0
-10
-13
-5
22
47
-13
10
10
10
-8
-6
-1
0
0
0
0
0
-20
13
-13
-5
13
3
-3
-1
0
25
-1
0
0
0
0
0
0
0
-8
-4
13
8
5
-2
-1
12
-5
-3
0
0
0
0
0
0
0
-1
-14
13
-6
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-1
-8
0
-7
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-8
-5
0
22
12
0
0
0
0
0
0
0
0
0
-10
-31
-8
9
-22
-4
2
0
0
0
0
0
0
0
0
0
0
24
40
-3
7
-3
0
0
0
0
0
0
0
0
0
0
0
9
-19
19
-10
29
-1
0
0
0
0
0
0
0
0
0
0
0
-1
15
5
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
30
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
8
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
-2
6
-1
-7
-9
17
27
2
0
0
0
0
0
0
0
0
-1
-4
-13
-19
6
1
-1
6
-2
0
0
0
0
0
0
0
-2
-25
-24
-5
7
1
6
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
15
31
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-3
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
43
0
-48
5
2
0
0
0
0
0
0
0
1
0
0
0
10
41
36
38
10
0
2
0
0
0
0
0
0
-3
9
-2
-10
-18
8
-65
-61
-8
-10
-4
0
0
0
0
0
-5
-3
-21
-21
-13
-39
15
4
2
1
0
2
0
0
0
0
0
-1
-8
41
1
-8
-2
0
0
-1
-13
-2
0
0
0
0
0
0
0
0
7
-8
5
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
9
7
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
30
6
25
0
71
-26
-10
-11
3
0
0
0
0
0
0
0
-3
14
-6
32
-13
20
-35
-12
13
7
0
0
0
0
2
-5
-3
-5
-9
-18
118
-23
7
-25
17
-45
-3
0
0
0
0
-2
5
-17
-41
0
54
-35
-33
5
3
-11
-4
-2
0
0
0
0
2
-5
15
-1
-29
17
61
7
-16
-20
-5
5
3
0
0
0
0
1
4
-1
-34
-10
-28
79
4
-9
2
0
2
0
0
0
0
0
0
0
-16
19
-50
69
28
-18
-35
12
-9
2
-1
0
0
0
0
0
-1
22
8
19
55
41
-13
-2
20
0
1
0
0
0
0
0
0
0
0
3
27
-29
20
-6
-12
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-19
6
-1
1
0
0
0
0
0
0
0
0
0
-5
-7
27
5
22
4
-2
0
0
0
0
0
0
0
0
0
9
2
-13
60
10
-7
0
0
0
0
0
0
0
0
0
3
0
8
48
-24
0
-3
7
-8
14
1
0
0
0
0
0
0
0
1
6
6
5
2
-8
5
4
0
0
0
0
0
0
0
0
0
2
-1
-3
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
2
0
-15
7
4
4
2
0
0
0
0
0
0
15
18
2
-31
26
-44
97
2
3
-8
18
-3
0
0
0
0
0
27
-14
8
47
26
20
27
8
27
11
4
0
0
0
0
0
0
16
1
-20
60
13
5
7
-21
-13
-3
1
-1
0
0
0
0
0
0
25
-20
-4
19
30
5
-1
0
-1
0
0
0
0
0
0
0
-4
8
-13
32
6
9
-54
4
0
17
0
0
0
0
0
0
0
0
-1
10
-17
-8
5
16
7
-3
0
1
0
0
0
0
0
0
0
1
-1
6
4
-47
-2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
5
0
5
18
5
0
0
0
0
0
-1
0
0
1
6
2
17
-9
-47
29
-36
3
-1
1
0
0
0
0
-2
6
3
21
-49
-20
-11
89
23
17
7
0
1
0
0
0
-1
-3
-20
5
-14
51
-40
50
47
-42
-2
1
0
0
0
0
0
1
-1
4
-17
5
-64
1
0
9
3
6
0
0
0
0
0
0
0
2
-13
-6
-7
-20
-6
24
3
5
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-2
9
0
0
0
0
0
0
0
0
0
0
1
1
2
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
-8
2
1
0
0
0
0
0
0
0
0
-1
-3
-1
5
-5
8
22
3
0
0
0
0
0
0
0
0
0
4
6
-4
3
-41
36
31
8
1
0
0
0
0
0
0
-1
0
4
7
-6
16
-2
14
-22
-4
-3
0
0
0
0
0
0
0
0
1
21
-5
-9
5
-2
2
1
0
0
0
0
0
0
0
0
0
1
-1
-18
-14
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
2
-2
6
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
3
0
0
2
-1
10
4
0
-1
0
0
0
0
0
0
0
1
1
23
20
7
-24
-5
-1
0
0
0
0
0
0
0
0
0
0
17
21
17
23
5
-4
1
0
0
0
0
0
0
0
0
0
-1
23
-53
-50
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
8
9
-9
9
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
6
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
51
14
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
8
1
-1
0
0
0
0
0
0
0
0
0
-3
-5
33
18
-7
0
0
1
0
0
0
0
0
0
0
0
0
-3
-2
-30
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
8
16
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
8
29
80
23
3
0
0
0
0
0
0
0
0
0
0
0
0
9
19
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-14
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
39
23
-3
0
0
0
0
0
0
0
0
-1
-2
-7
7
46
30
-3
0
0
0
0
0
0
0
0
0
1
4
-9
-22
11
-3
20
5
-2
2
0
0
0
0
0
0
0
0
-3
-29
-10
-25
-13
-3
3
1
0
0
0
0
0
0
0
0
0
1
-13
-20
18
-13
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
24
-10
-6
6
0
0
0
0
0
0
0
0
0
0
0
3
30
20
-38
-29
-15
16
-1
2
0
0
0
0
0
0
0
0
8
0
6
0
6
2
-13
0
7
0
0
0
0
0
0
0
0
-2
-1
15
2
5
-34
-2
11
5
0
0
0
0
0
0
0
0
0
-2
-7
14
-5
-16
-12
1
2
0
0
0
0
0
0
0
0
2
8
-10
12
17
-3
8
10
-1
0
1
0
0
0
0
0
0
0
3
-3
-19
-1
-16
-4
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-2
-1
1
0
0
0
0
6
12
12
13
-9
-13
0
0
29
-16
9
-3
-6
0
0
0
-1
-25
34
-51
35
10
20
39
-24
-6
20
15
0
0
0
0
0
-1
3
-15
-4
30
-4
43
56
-15
-8
-6
-15
0
0
1
0
0
0
-5
-18
-26
16
-30
20
-27
-14
-6
-3
1
0
0
0
0
0
0
5
12
8
24
-4
3
-6
0
-7
1
0
0
0
0
0
0
0
2
9
-5
-20
3
-8
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
6
-9
0
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
27
-8
-3
0
0
-14
-2
1
1
0
0
0
0
-1
-4
18
4
21
14
61
-14
54
-15
0
-1
5
0
0
0
0
2
-19
41
-1
-30
-37
52
59
-30
21
2
2
-3
0
0
0
0
-16
-19
55
1
-4
71
82
9
-10
16
-2
2
1
0
0
0
0
9
-7
-26
-60
-97
85
1
55
42
1
0
0
-1
0
0
0
0
3
-29
-23
-14
-55
4
-27
-17
10
-10
-4
-3
0
0
0
0
0
-15
-4
-12
-24
-14
-18
-47
28
-14
4
9
-1
0
0
0
0
0
0
8
7
69
-75
21
-11
-11
-9
0
0
0
0
0
0
0
0
0
0
2
-13
42
1
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
2
6
-2
1
6
6
-4
0
0
0
0
0
0
0
2
-12
11
13
16
10
1
-13
-1
0
0
0
0
0
0
0
0
4
-7
-6
-2
-2
10
-5
5
-6
-6
0
0
0
0
0
0
0
3
6
-5
10
24
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-1
-5
1
-1
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-7
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-5
0
0
1
0
0
0
2
0
0
0
0
0
0
0
-25
0
-8
7
-17
30
0
-2
-4
-7
-1
0
0
0
0
0
0
38
13
33
6
25
8
-70
-30
-11
-8
-1
0
0
0
0
0
0
8
12
-31
18
2
8
-53
18
-22
-2
-1
0
0
0
0
0
0
6
-2
-5
-1
-32
28
3
-7
-5
0
0
0
0
0
0
0
0
5
25
-58
-20
14
-19
-13
-8
-1
0
0
0
0
0
0
0
0
7
-32
-7
-23
2
7
-7
0
0
0
0
0
0
0
0
0
0
16
-4
-7
14
-3
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
32
7
4
0
0
0
0
0
0
8
7
-12
6
11
6
0
14
0
6
3
0
3
0
0
0
-7
0
15
-12
40
15
-6
6
45
28
41
3
3
2
0
0
0
1
19
-4
7
-1
-57
5
-13
-31
7
-25
25
-6
0
0
0
0
-2
-13
2
-30
25
-33
-4
-6
-21
0
-8
0
0
0
0
0
0
0
-2
-6
8
2
-9
-7
20
-16
9
4
-1
0
0
0
0
0
0
1
12
-6
-19
-25
1
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
-15
-4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-6
-6
3
0
12
0
0
6
2
0
0
0
0
0
-4
0
-1
-15
16
11
-30
-2
16
-9
8
0
0
0
0
0
0
6
20
0
29
54
12
36
8
-8
-2
8
0
0
0
0
0
4
0
12
-8
-16
-14
9
-39
-3
-19
-2
5
0
0
0
0
0
0
13
-7
6
-10
-2
8
-3
4
-3
1
0
0
0
0
0
0
0
0
5
-2
-16
-10
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-8
-1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
1
-3
-6
6
-1
-12
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
7
-4
-1
0
0
0
0
0
0
0
-1
0
0
1
-2
5
-2
-8
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-5
19
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
18
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
4
-1
0
0
0
0
0
0
0
0
1
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
0
-6
0
1
0
0
0
0
0
0
-4
0
2
0
4
12
23
17
22
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
8
8
1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-5
2
0
-2
10
17
0
-1
0
0
0
0
0
-3
-1
1
0
-45
45
6
81
-52
8
-2
13
0
0
0
0
4
1
0
0
1
3
-1
31
44
-43
22
0
-1
0
0
0
0
1
-1
0
2
1
0
13
50
-5
-7
10
10
-5
0
0
0
0
-1
0
-4
-3
2
8
-41
26
-12
-13
-7
-1
0
0
0
0
0
0
0
0
0
-1
-1
-15
-15
-8
-16
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
14
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-46
-36
21
0
44
-21
20
14
-13
-1
0
0
0
0
0
-8
7
38
36
7
62
24
45
12
25
12
4
0
0
0
-2
-3
-13
3
57
-5
-42
95
-18
30
54
-15
-8
-3
0
0
0
0
-3
-8
-6
-13
-4
15
17
87
-18
38
60
4
1
0
0
0
1
-5
-6
29
10
-32
26
-76
20
49
-13
-10
-12
0
0
0
0
0
0
-2
9
6
-9
-21
-51
-32
-10
2
-5
1
0
0
0
0
0
0
-7
8
-67
33
-28
51
10
-2
-15
-7
0
-1
0
0
0
0
0
0
13
-13
55
17
3
35
-8
5
0
0
2
0
0
0
0
0
0
1
32
2
66
-38
-42
-2
2
0
0
0
0
0
0
0
0
0
0
0
-2
-23
0
4
10
28
20
-3
-1
0
0
0
0
0
0
0
8
21
-23
1
-3
-14
40
-21
-16
-3
0
1
0
0
0
0
-14
-6
-4
43
-6
-37
-1
20
12
-31
1
1
0
0
0
0
0
0
0
40
-14
35
54
12
-21
-7
-11
1
3
0
0
0
0
0
0
1
-7
16
27
-73
-16
3
-28
14
-1
1
0
0
0
0
0
1
0
1
3
-28
-4
-11
-30
-24
-41
1
0
0
0
0
0
0
0
3
0
-5
-50
-30
59
-3
4
-13
-2
1
0
0
0
0
0
0
2
-4
15
-54
45
-9
-3
-17
-16
-5
0
0
0
0
0
0
0
-2
-3
-16
4
42
31
-5
23
1
3
0
0
0
0
0
-1
3
29
-27
-37
0
3
9
-5
-5
1
0
0
0
0
0
0
0
0
22
15
30
24
90
-54
46
27
7
0
0
0
0
0
0
1
-6
-6
42
-10
-21
28
2
-3
-27
-16
0
0
0
0
0
0
0
0
-14
-14
-30
5
48
-4
10
3
3
-1
0
0
0
0
0
0
0
6
21
-1
13
5
-30
12
-29
-5
0
0
0
0
0
0
0
-4
-2
-13
-21
7
11
-11
14
20
8
0
0
0
0
0
0
0
0
22
-1
4
-30
-26
5
13
-11
2
1
0
0
0
0
0
0
1
0
-12
-10
-19
-16
-9
5
9
0
0
0
0
0
0
0
0
0
0
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
95
-54
0
-56
40
8
2
-2
0
0
0
-1
-2
0
0
1
1
-43
12
19
62
15
5
3
2
-2
0
0
0
3
3
4
4
8
-18
28
61
43
-8
-7
-14
0
-1
0
0
0
-3
2
1
-5
10
35
17
-8
-40
10
-3
-4
-1
0
0
0
0
1
-1
0
-1
1
-5
49
-11
17
-12
-14
-2
-3
0
0
0
0
0
0
1
1
1
29
19
13
18
-37
6
0
0
0
0
0
0
0
0
0
0
1
1
-24
8
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
0
5
15
4
0
0
0
0
0
0
0
0
0
0
6
-24
41
-13
16
-8
-4
-8
0
0
0
0
0
0
0
1
-1
-1
-24
-5
-5
-3
-13
-3
0
0
0
0
0
0
-2
0
0
0
-3
-7
14
-10
0
1
0
0
0
0
0
0
0
0
0
0
-3
2
-17
3
25
4
0
-2
0
0
0
0
0
0
0
0
0
0
4
6
-1
-1
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-14
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
6
-7
1
0
0
0
0
0
0
0
0
0
13
0
0
-11
-11
-8
-6
3
-2
0
0
0
0
0
0
0
0
-6
-16
49
-140
8
-12
-15
-1
0
0
0
0
0
0
0
0
0
10
4
35
-33
-31
-4
9
1
0
0
0
0
0
0
0
0
0
-4
-3
45
-15
22
4
7
0
0
0
0
0
0
0
0
0
0
2
-22
20
7
9
13
0
0
0
0
0
0
0
0
0
0
0
-7
-1
25
16
-9
-5
0
0
1
0
0
0
0
0
0
0
0
-3
28
5
-28
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
5
30
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-4
2
0
0
0
0
0
0
0
0
0
0
0
4
-9
25
-3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
-21
-12
-12
1
0
0
0
0
0
0
0
0
0
0
0
-25
-4
24
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
7
20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
11
19
10
-1
0
0
0
0
0
0
0
0
0
0
3
6
11
2
23
-18
0
0
0
0
0
0
0
0
0
0
0
-5
6
-27
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
-14
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
25
0
0
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-10
31
-15
-12
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
-14
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
1
18
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
14
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
3
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
10
7
0
0
0
0
0
0
0
0
0
0
-1
-3
12
-23
50
19
9
0
-1
0
0
0
0
0
0
0
0
0
-5
24
25
12
-3
-33
6
0
0
0
0
0
0
0
0
0
1
-5
5
-17
16
-2
0
0
2
0
0
0
0
0
0
0
0
2
-3
-4
30
16
-24
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
10
5
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
8
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-21
1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-18
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
24
25
10
-16
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
17
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
27
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
1
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
1
1
-2
6
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
1
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
1
-4
-2
-5
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
5
44
0
0
0
48
-6
7
-2
0
0
0
2
0
14
-9
2
-14
-5
0
0
19
-8
-28
-3
0
1
0
0
0
-8
12
10
0
-4
8
87
62
-50
-8
-18
1
-1
4
0
0
0
12
38
-2
12
-3
16
26
-31
-50
25
-7
1
3
0
0
0
0
0
-1
0
5
-1
-1
3
8
12
-3
-3
3
6
0
0
0
0
0
-3
-3
-1
-3
0
1
-10
9
-21
-1
-3
0
0
0
0
0
2
-1
1
0
6
1
4
0
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
48
-27
-23
-19
0
0
10
-6
-1
0
0
0
0
0
0
-4
-8
11
-47
-8
-24
-7
37
-46
-5
-21
0
0
0
0
0
0
8
29
1
40
1
11
-37
-22
-13
22
-1
0
0
0
0
0
-1
3
-16
-15
13
-15
38
-10
6
3
11
4
0
1
0
0
0
0
0
-3
-13
-15
-17
54
1
-9
-4
4
2
2
2
0
0
0
0
0
-2
36
-13
33
-10
-18
29
6
9
7
-2
0
0
0
0
0
0
-1
9
23
9
-28
42
29
1
4
0
0
0
0
0
0
0
0
19
-13
5
5
-7
-26
15
-6
2
0
0
0
0
0
0
0
0
-12
1
8
0
6
-5
3
-2
0
0
0
0
0
0
0
2
7
5
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
2
-5
5
2
0
1
0
0
0
0
0
0
0
-8
6
0
1
1
0
-43
0
0
0
0
0
0
0
0
0
0
4
-8
-6
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
1
3
1
0
0
0
0
0
0
0
0
-1
-4
-1
-1
1
0
0
-1
0
0
-1
0
0
0
0
0
0
0
3
7
1
0
-2
4
-3
1
-1
0
0
0
0
0
0
0
-1
16
-8
-3
0
1
-8
0
0
0
0
0
0
0
0
0
0
2
5
-12
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
1
12
0
-6
-1
-24
-19
43
0
6
3
5
0
0
0
0
0
3
16
-22
1
-2
23
0
-8
-3
-2
1
-14
0
0
0
0
0
0
0
-41
-2
21
21
-9
-9
0
1
0
0
0
0
0
0
0
0
-2
0
-1
-13
40
-5
0
1
-1
0
0
0
0
0
0
0
1
-5
-1
-3
0
20
9
6
-4
0
0
0
0
0
0
0
0
0
1
-1
-17
0
-4
-10
-1
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
-8
-2
-3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
3
-3
2
-7
0
0
37
-6
13
2
0
0
0
0
0
-2
6
6
-19
22
41
0
42
0
-26
-8
7
-5
0
0
0
0
0
2
14
8
0
-14
46
60
27
14
-21
6
-1
0
0
0
1
-3
-5
2
22
-5
-13
-14
-47
-14
-34
-4
-1
2
0
0
0
0
0
1
-17
-30
0
8
2
-31
-8
-9
2
-2
1
0
0
0
0
0
3
8
-17
-1
-7
10
3
-4
-1
0
-1
0
0
0
0
0
0
0
3
6
3
0
0
3
-15
1
1
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
2
0
0
-27
24
5
0
0
0
0
0
0
0
0
0
-16
0
6
0
1
0
-5
24
-1
0
0
0
0
0
0
2
0
1
3
5
21
12
40
52
12
-2
0
0
0
0
0
0
0
0
1
-4
12
-3
12
-6
-1
20
-1
0
0
0
0
0
0
0
0
2
4
-14
16
-5
-6
8
6
0
0
0
0
0
0
0
0
0
1
-4
-8
4
2
-1
2
1
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
-1
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
32
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
3
-34
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-15
-30
36
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-14
6
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
20
23
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-10
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-5
16
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-20
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-9
6
-3
0
0
0
0
0
0
0
0
0
-3
0
-14
0
-20
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
8
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
15
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-8
17
-2
-22
-1
0
0
0
0
0
0
12
-3
0
0
-6
-26
-45
-12
19
-4
2
0
0
0
0
0
0
-1
-13
-20
-3
-5
-5
-20
-24
6
-13
8
0
0
0
0
0
0
1
-16
14
-12
20
13
6
-4
11
21
-3
0
0
0
0
0
0
0
-15
15
-19
-8
-9
-7
23
24
12
0
0
0
0
0
0
0
0
0
-7
-4
-4
0
9
7
4
-1
0
0
0
0
0
0
1
0
0
3
-3
-22
-16
14
17
22
1
0
0
0
0
0
0
0
0
0
2
0
3
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
-36
7
-99
5
-5
0
0
0
0
0
0
0
24
-29
31
41
14
-22
33
-49
-17
-23
2
0
0
0
0
0
1
-9
-3
47
0
49
27
-16
-10
12
3
0
0
0
0
0
0
-1
-1
36
41
6
-15
26
-33
33
-18
5
-1
0
0
0
0
0
0
10
-11
10
48
33
94
49
-4
-5
-31
0
0
0
0
0
0
0
1
-14
0
9
27
-43
55
16
-23
-12
1
0
0
0
0
0
0
8
7
-19
-37
23
-26
58
-59
11
22
0
0
0
0
0
0
0
4
0
2
-11
-44
-22
-12
67
23
1
0
0
0
0
0
0
0
-1
2
1
-13
-3
0
-16
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
25
13
7
-9
8
-5
0
0
0
0
0
0
0
0
1
-1
8
2
4
30
-2
-41
-20
0
0
0
0
0
0
0
1
0
-1
0
15
23
-7
-8
4
-4
0
0
0
0
0
0
0
-1
0
0
3
8
0
-7
-1
4
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
17
-12
-6
0
0
0
0
0
0
0
0
0
1
-2
0
0
8
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
5
2
8
0
0
0
0
0
0
0
0
0
0
-1
0
-18
8
0
-13
-3
4
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
-7
2
0
0
0
0
0
0
0
0
0
0
-3
-9
12
4
9
10
14
-14
0
0
0
0
0
0
0
0
-8
1
0
40
54
-16
5
1
-33
0
0
0
0
0
0
0
2
5
22
-5
1
-13
-37
-30
0
-3
0
0
0
0
0
-1
0
4
-2
7
-32
-56
19
-15
11
4
29
0
0
0
0
0
0
0
3
0
-7
7
25
6
-5
-16
-31
18
0
0
0
0
0
0
0
-2
6
-21
-6
-7
1
34
10
7
47
0
0
0
0
0
0
0
0
-3
-24
10
65
-14
-47
-3
16
-5
0
0
0
0
0
0
0
0
1
-8
9
-17
-17
-8
16
6
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-8
-18
14
-13
0
0
0
0
0
0
5
-7
0
-10
0
34
-10
30
-19
8
-8
1
0
0
0
0
0
0
-10
-18
-2
-23
32
23
-24
86
27
-6
2
0
0
0
0
0
0
1
13
10
9
57
44
-10
44
3
-4
0
0
0
0
0
0
0
-1
6
6
0
-2
-22
-8
-47
6
-22
0
0
0
0
0
0
0
0
0
8
13
-31
2
-7
-13
5
-5
0
0
0
0
0
0
0
0
0
-2
-8
31
-5
-14
-55
-9
1
0
0
0
0
0
0
-1
0
2
-2
7
-8
-17
9
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
4
8
0
3
0
0
0
0
0
0
1
0
-1
0
27
-2
15
6
25
-4
0
0
0
0
0
0
0
-1
-16
0
-10
-12
-31
3
-7
-24
-1
0
0
0
0
0
0
0
4
-6
-3
1
-15
22
0
-19
5
10
0
0
0
0
0
0
0
1
2
15
-2
3
-5
-13
-30
0
2
0
0
0
0
0
0
0
0
1
1
-9
-16
-5
-24
33
4
0
-1
0
0
0
0
0
0
1
0
0
-2
-1
4
-14
19
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-23
13
18
0
1
0
0
0
0
0
0
0
0
1
5
-4
-3
-10
2
7
12
3
0
0
0
0
0
0
0
0
0
0
-1
1
3
15
13
33
3
0
0
0
0
0
0
0
0
0
0
2
-8
14
-34
38
5
7
0
0
0
0
0
0
0
0
0
0
0
-10
19
-31
-7
26
-7
0
0
0
0
0
0
0
0
0
0
1
-8
23
2
-6
25
1
0
0
0
0
0
0
0
0
0
0
-2
-8
18
8
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-12
21
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
16
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
38
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
27
23
-6
-4
6
0
0
0
0
0
0
0
0
8
-8
-5
-1
20
0
-8
22
-2
0
0
0
0
0
0
0
0
-2
-1
2
-9
-3
12
47
-14
2
0
0
0
0
0
0
0
0
2
5
16
-4
21
35
8
-14
-1
0
0
0
0
0
0
0
0
0
-3
3
-6
15
9
22
-1
1
0
0
0
0
0
0
0
0
0
1
16
6
-6
24
-3
-5
0
0
0
0
0
0
0
0
0
3
0
-2
-16
6
4
-5
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
12
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
5
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
4
-19
-9
10
-2
5
5
0
0
0
0
0
4
5
-14
-11
123
57
-9
15
-15
29
-5
-19
0
0
0
0
0
-8
-7
11
33
-16
-17
34
3
-5
7
-12
7
1
0
0
0
0
0
-4
-8
-10
23
-9
16
-7
9
29
-6
0
0
0
0
0
0
0
0
-7
-3
25
-22
-17
6
-5
-5
0
1
2
0
0
0
0
0
0
17
-13
-23
3
-3
-8
-5
-3
0
1
0
0
0
0
0
0
0
-2
8
8
-5
-4
7
-6
-16
-1
0
0
0
0
0
0
0
0
0
0
-2
4
1
-1
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
20
-20
-15
-5
-7
0
0
0
0
0
0
-1
2
-32
21
0
-11
34
-20
-3
-1
7
-1
0
0
0
0
0
-3
-3
-18
-38
2
35
93
-30
-28
-4
-15
1
0
0
0
0
0
0
-9
1
-20
12
-6
-26
41
59
34
4
0
0
0
0
0
0
1
8
-11
-23
6
3
3
17
50
5
15
-3
0
0
0
0
0
1
6
48
-6
4
-51
38
-90
4
47
9
0
0
0
0
0
0
-1
-25
-6
5
-42
-30
73
-21
-5
54
-22
0
0
0
0
0
0
0
9
4
-3
19
-50
24
24
-49
24
-5
0
0
0
0
0
0
-1
1
-13
23
-17
-6
-7
0
-5
-1
0
0
0
0
0
0
0
0
1
-2
-4
0
6
-12
43
1
5
0
0
0
0
0
0
0
-6
-30
-18
6
26
56
-25
-9
-25
0
0
0
0
0
0
0
0
2
5
7
-5
6
23
8
7
-6
-1
0
0
0
0
0
0
0
3
-2
-3
4
51
20
-18
-2
2
0
0
0
0
0
0
0
2
0
25
-18
-22
39
4
-1
-3
-14
3
0
0
0
0
0
0
0
-1
4
15
-37
38
-6
3
-2
20
-1
0
0
0
0
0
0
-6
3
-12
10
21
15
5
6
-10
-15
0
0
0
0
0
0
0
2
5
-14
-17
-74
16
8
2
19
7
1
0
0
0
0
0
0
0
10
-12
46
-55
-1
-9
-6
-2
1
0
0
0
0
0
0
0
-1
1
-10
30
-4
0
-5
-16
-3
-5
3
1
0
0
0
0
0
0
16
13
-19
-21
-36
-48
-18
14
0
53
1
0
0
0
0
0
3
-8
10
33
8
-8
-30
7
34
8
8
0
0
0
0
0
-1
7
-4
-11
-32
-19
29
-1
52
19
0
5
3
0
0
0
0
0
19
17
-12
18
13
-25
8
-2
16
10
-12
0
0
0
0
0
0
2
-2
-22
34
45
-48
37
40
-55
40
0
0
0
0
0
0
0
-8
12
-7
-15
16
-5
26
24
-2
-8
-1
-1
0
0
0
0
-2
0
-9
9
6
-61
-13
-14
-6
-29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
0
4
4
-5
-29
-5
5
-1
0
0
0
0
0
0
0
-28
42
78
27
-24
-1
-6
5
-7
-14
-3
0
0
0
0
-1
1
19
-21
9
-15
36
10
-23
0
-8
-8
4
0
0
0
0
0
0
2
13
-9
16
-8
-21
-16
8
9
-6
1
0
0
0
0
0
0
12
1
-30
-3
-10
32
31
-3
1
-2
-1
0
0
0
0
0
0
-3
-17
14
-5
-12
35
-53
8
-2
-5
4
0
0
0
0
0
0
0
1
3
-17
-2
9
4
10
0
0
0
0
0
0
0
0
0
0
0
-5
0
-22
3
2
3
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
-2
-1
0
3
0
0
0
0
0
0
0
-1
1
-3
6
8
-6
8
6
13
-5
0
0
0
0
0
0
0
-4
-4
7
19
0
38
25
19
3
-3
-1
0
0
0
0
0
0
5
5
-5
13
-20
3
22
-2
-4
0
-1
0
0
0
0
0
-3
-3
-10
-12
-41
19
-39
-23
-6
-8
1
5
0
0
0
0
0
0
8
0
-9
-5
-4
-7
-2
6
2
0
0
0
0
0
0
0
0
2
-13
4
8
-1
6
6
1
0
0
0
0
0
0
0
0
0
0
0
9
-14
-3
1
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
7
-2
-2
4
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
4
0
0
1
0
0
0
0
0
0
0
0
1
8
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
1
-8
6
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-10
-9
3
-22
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-17
-14
-50
35
13
0
0
0
0
0
0
0
0
0
-1
0
-1
8
12
22
-24
-7
0
0
0
0
0
0
0
0
0
0
0
-3
9
2
-10
-8
-1
0
0
0
0
0
0
0
0
0
0
0
4
6
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
-8
-4
-40
-2
0
0
0
0
0
0
0
0
0
0
3
0
-3
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
15
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
12
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
-4
0
5
2
0
0
0
0
0
0
0
1
1
8
5
-16
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
7
8
-1
1
1
0
-1
0
0
0
0
0
0
0
0
1
1
4
-7
0
-1
1
-2
-1
1
0
0
0
0
0
0
0
0
5
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
6
-12
46
36
-8
16
-5
0
0
0
0
2
3
5
-4
0
0
-40
-2
-6
51
-23
33
55
0
0
0
0
0
-4
8
14
31
65
15
-21
21
-38
13
43
16
0
0
0
0
0
1
-14
-6
-7
19
3
8
6
15
-8
12
-7
0
0
0
0
0
1
0
12
-8
-25
-12
-4
-4
15
26
36
23
0
0
0
0
0
0
0
0
3
12
-5
8
-32
-20
-17
51
5
0
0
0
0
0
0
0
1
-1
0
-1
-15
1
31
-44
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
21
18
0
0
-34
-12
14
-24
-4
19
-8
0
0
0
0
0
6
5
1
-90
19
62
-11
-8
43
10
-2
-7
0
0
0
0
-1
4
8
15
-26
-30
-50
-48
-10
-39
17
-21
-43
0
0
0
0
0
-23
7
4
-12
-19
-8
-10
53
67
-10
-65
5
0
0
0
0
0
7
3
-7
-21
16
52
71
37
15
10
65
1
0
0
0
0
0
2
-5
-14
-81
30
-47
-14
78
51
2
-27
-4
0
0
0
0
0
0
0
29
7
-28
24
25
35
-46
10
0
8
0
0
0
0
0
0
0
2
-7
6
7
19
-30
10
-20
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-13
18
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
23
13
27
-39
36
0
0
0
0
0
0
0
0
0
6
-1
8
-20
-23
-53
34
25
0
0
0
0
0
0
0
0
0
5
11
-9
3
23
10
-26
-31
0
0
0
0
0
0
0
0
0
10
-7
-10
14
-9
32
-8
21
0
0
0
0
0
0
0
0
0
-3
-4
-9
10
-16
-15
-31
-67
0
0
0
0
0
0
0
-2
0
0
1
5
6
-17
10
-8
7
0
0
0
0
0
0
0
0
0
1
1
-16
-4
-20
24
30
5
0
0
0
0
0
0
0
0
0
1
-2
2
13
-50
-33
49
10
0
0
0
0
0
0
0
0
0
0
0
-1
2
40
8
4
11
0
0
0
0
0
0
0
0
0
-13
6
-5
2
1
3
14
-32
0
0
0
0
0
0
-2
0
5
7
0
-51
13
24
80
-23
40
0
0
0
0
0
0
0
-1
-1
21
31
22
-9
-48
25
13
59
0
0
0
0
0
0
0
0
1
13
22
-20
-4
9
-16
28
-66
0
0
0
0
0
0
0
0
6
5
-6
6
8
-20
-4
-27
24
0
0
0
0
0
0
0
0
1
6
0
2
30
37
41
-74
-39
0
0
0
0
0
0
0
0
0
0
-2
5
-72
-2
-24
-21
10
0
0
0
0
0
0
0
0
0
2
1
23
1
-1
0
-36
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-6
0
0
-5
-20
40
-7
-9
30
9
0
0
0
0
0
22
23
0
-16
0
-14
9
-20
-11
-11
33
-1
0
0
0
-2
16
7
6
37
-12
-7
24
1
12
17
47
-40
-7
0
0
0
0
0
-4
-7
22
30
42
-2
9
-24
15
5
-14
-3
0
0
0
0
0
-1
-8
-8
-19
-7
25
-4
-22
-4
7
45
6
0
0
0
0
0
-1
-3
0
-17
-4
8
-5
-21
7
4
-41
-5
0
0
0
0
0
0
0
4
-1
0
-6
-12
0
-10
16
16
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
7
-12
10
8
9
-2
0
0
0
0
0
2
0
0
2
0
10
-8
13
1
31
2
0
0
0
0
0
0
3
3
9
5
4
13
1
18
31
-13
0
0
0
0
0
0
-1
0
0
3
7
9
-17
24
25
-12
15
-7
4
0
0
0
0
0
0
1
1
-3
-1
-7
4
7
4
14
2
5
0
0
0
0
0
0
-1
0
0
0
1
-13
0
-1
14
0
-3
0
0
0
0
0
0
-1
0
0
0
-2
0
2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-4
4
-10
-2
8
0
0
0
0
0
0
0
0
0
-1
0
5
-8
-24
-33
33
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-59
-9
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
6
6
4
0
0
0
0
0
0
0
0
0
0
0
-4
2
-5
29
-14
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
-14
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
5
12
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
38
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
9
6
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
9
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
3
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
2
-13
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-10
8
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
20
25
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
8
2
-2
-5
-4
7
0
0
0
0
0
0
-1
0
0
4
3
5
-1
5
-12
-3
2
0
0
0
0
0
0
0
2
3
0
-3
6
0
6
42
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-4
-5
4
-31
-11
-12
0
0
0
0
0
0
0
0
-1
0
1
4
-10
-4
-23
8
2
0
0
0
0
0
0
0
0
4
0
0
-2
7
16
-7
0
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
-5
-2
15
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
-7
5
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-42
19
0
55
-8
-2
5
8
-1
-25
-2
0
0
0
0
-8
-33
-37
19
44
14
12
2
-19
5
69
-21
-4
0
0
0
0
-12
-7
-41
8
125
58
-6
-24
8
-17
-1
37
-3
0
0
0
-1
7
2
-24
1
-11
-4
8
0
8
-4
-3
-5
12
0
0
0
0
0
3
-10
9
5
0
1
-9
4
-15
2
-23
0
0
0
0
0
0
0
-5
12
-9
8
-8
-2
-3
-14
-12
-7
1
0
0
0
0
0
0
2
2
-17
-8
-3
1
-1
-1
23
1
1
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-23
-14
0
58
-24
-33
44
-5
0
0
0
0
0
0
-2
-2
-5
-10
10
4
23
49
-27
48
-9
7
0
0
0
0
0
0
-6
8
-38
3
33
-23
19
29
-49
-15
-2
-5
0
0
0
0
0
-15
-9
14
-70
-8
33
72
17
3
-3
-6
2
0
0
0
0
0
-1
14
-15
51
-76
24
-9
38
11
8
9
1
0
0
0
0
0
-5
-14
23
-15
-20
-85
6
2
-5
-19
17
0
0
0
0
0
0
0
-6
-1
13
-24
9
-1
45
-29
-4
4
0
0
0
0
0
0
0
3
-6
33
9
109
-73
6
14
5
0
2
0
0
0
0
0
0
0
4
-33
-9
-48
-53
9
-2
0
0
0
0
0
0
0
1
-4
14
35
31
0
-23
10
-3
4
1
0
0
0
0
0
0
-4
-10
31
57
-32
-5
-18
-10
4
0
-1
0
0
0
0
0
0
-2
-6
-30
-8
-18
-15
6
1
-3
0
0
0
0
0
0
0
-1
-11
-6
16
14
-46
-19
-20
8
0
-4
0
0
0
0
0
0
1
5
8
-25
29
1
26
-3
12
0
0
0
0
0
0
0
0
-1
-2
20
-1
-10
-12
-6
-19
5
0
1
0
0
0
0
0
0
1
-4
-19
-35
28
3
-29
-3
-1
0
0
1
0
0
0
0
0
0
-9
0
15
-40
11
-45
35
-5
-2
0
0
0
0
0
0
0
0
0
26
11
0
37
-41
27
0
0
0
0
0
0
0
0
0
2
-2
8
-2
11
29
0
-9
18
31
23
-1
0
0
0
0
0
-1
11
0
-29
22
29
21
53
7
-9
-21
0
0
0
0
0
0
1
-4
3
10
13
48
-3
5
-10
3
39
-6
0
0
0
0
0
0
1
-15
3
-41
16
-18
-5
5
-12
-10
3
0
0
0
0
0
-1
-1
-8
-22
-7
-5
15
3
-4
-6
4
0
0
0
0
0
0
0
-3
-5
2
-15
5
-30
25
-10
2
0
0
0
0
0
0
0
0
0
8
-10
2
-1
1
-3
-1
12
8
3
0
0
0
0
0
0
2
-7
-2
4
24
15
-9
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
4
24
2
0
106
52
7
2
0
-13
5
0
0
0
0
0
2
6
-6
-18
-45
65
-66
32
-5
-2
-37
-21
-8
0
0
0
0
-2
8
20
31
-27
26
24
16
-6
6
6
-23
3
0
0
0
0
0
4
-14
-13
-20
-32
-21
2
-9
8
18
14
4
0
0
0
0
0
-1
-14
-22
-6
-6
34
-13
-12
29
5
-9
9
0
0
0
0
0
-1
1
6
-6
-18
5
53
-21
-2
12
0
1
0
0
0
0
0
0
2
2
-13
-2
29
0
-2
8
0
-4
-3
0
0
0
0
0
0
0
3
-2
0
0
0
0
-6
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
2
0
1
-2
1
0
-2
-3
0
0
0
0
0
0
0
-1
-19
-9
-1
33
9
-8
13
-5
-1
26
-2
0
0
0
0
0
-7
-6
-5
-7
4
-3
-29
12
8
7
-8
-8
0
0
0
0
0
3
-25
6
9
-21
19
41
4
2
3
-13
16
0
0
0
0
0
0
-2
2
1
-5
-16
5
-2
1
5
5
-8
0
0
0
0
0
1
5
-9
-2
-2
-6
-2
1
-1
-3
8
0
0
0
0
0
0
0
0
19
9
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
1
-2
1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
18
52
-21
0
0
0
0
0
0
0
0
0
0
1
-2
10
6
20
2
-3
0
0
0
0
0
0
0
0
0
0
0
1
9
1
17
0
18
0
0
0
0
0
0
0
0
0
0
0
-1
20
-4
-5
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
3
-9
-2
-12
-1
0
0
0
0
0
0
0
0
0
-4
24
-1
0
-5
24
0
1
0
0
0
0
0
0
0
0
0
-13
-5
19
-7
0
1
1
-1
0
0
0
0
0
0
0
0
0
-6
14
-12
16
-8
-7
0
1
0
0
0
0
0
0
0
0
2
-13
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-5
13
-22
-17
1
0
0
0
0
0
0
-1
-7
0
0
-7
-48
8
-46
2
-1
7
0
0
0
0
0
0
-4
-8
12
2
-18
47
-41
-9
-9
-11
8
0
0
0
0
0
0
0
-2
-6
23
15
13
-42
-34
43
-15
14
0
0
0
0
-1
0
0
-1
2
-7
7
-1
45
45
13
-3
-4
0
0
0
0
0
0
0
0
-5
25
32
-20
-40
6
27
-13
0
0
0
0
0
0
0
0
0
3
0
5
3
19
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-10
57
79
8
-23
1
0
0
0
0
0
-2
19
4
40
-35
-40
5
90
75
52
-9
4
0
0
0
0
0
4
6
23
-13
-47
-29
-10
49
-13
21
-3
13
0
0
0
0
0
-3
-6
11
0
-117
-19
32
-18
-25
8
4
-16
0
0
0
0
0
0
8
-10
-49
-8
23
21
29
13
-5
-30
10
0
0
0
0
0
-1
1
-8
4
14
17
-11
26
20
-16
19
3
0
0
0
0
0
0
-4
-5
3
10
-59
-23
-75
40
-13
1
-1
0
0
0
0
0
0
1
10
-13
-27
61
48
-4
4
74
1
0
0
0
0
0
0
0
0
-1
2
-17
-4
38
7
-12
-38
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-5
22
0
6
0
0
0
0
0
0
0
0
0
-2
-6
-14
-1
-24
-11
24
5
0
0
0
0
0
0
0
0
0
0
8
-8
34
-10
-19
-13
7
1
0
0
0
0
0
0
0
0
0
2
3
8
22
-14
18
7
0
0
0
0
0
0
0
0
-1
0
0
5
7
4
-3
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
-6
3
0
0
0
0
0
0
0
0
0
-1
0
1
-2
20
-1
4
6
1
0
0
0
0
0
0
0
0
0
5
9
-5
-3
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
9
-26
-14
38
26
3
0
0
0
0
0
0
0
0
-29
0
0
6
2
44
52
-24
-14
0
0
0
0
0
0
0
1
-4
12
73
13
73
9
3
22
10
0
0
0
0
0
0
0
0
-5
8
-6
18
24
-11
25
34
46
0
0
0
0
0
0
0
0
-1
-9
2
-38
13
14
-12
18
11
0
0
0
0
0
0
0
0
1
-3
8
-1
-5
1
-5
-40
31
0
0
0
0
0
0
0
0
1
0
3
-3
-20
-1
-4
-5
-8
0
0
0
0
0
0
0
0
-1
0
0
3
4
-7
-7
-18
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
-4
6
-13
6
0
0
0
0
0
1
-1
-1
0
-9
0
8
38
49
-6
4
-2
1
0
0
0
0
1
0
5
1
-25
17
-2
7
23
42
27
28
-7
0
0
0
0
0
0
-2
5
21
1
-16
-32
-15
-14
-37
62
1
0
0
0
0
0
0
3
-5
13
11
-20
6
4
9
18
10
0
0
0
0
0
0
0
0
0
-12
2
18
11
3
-49
-23
-16
0
0
0
0
0
0
0
0
1
-4
-1
4
10
2
-7
25
-2
0
0
0
0
0
0
0
0
0
0
-1
4
-4
3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
13
-4
14
0
0
0
0
0
0
0
0
0
-1
0
-16
-25
24
6
18
1
-1
0
0
0
0
0
0
-1
0
-3
-16
20
4
-1
-38
8
17
6
0
0
0
0
0
0
0
0
0
1
-2
11
-6
48
17
-12
0
0
0
0
0
0
0
0
-3
-2
7
-13
65
19
9
-9
7
0
0
0
0
0
0
0
0
0
1
0
0
-6
41
-40
16
-25
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
2
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
-14
-2
2
-7
-4
0
0
0
0
0
0
0
0
0
13
5
-3
39
37
25
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
-59
4
3
-21
-16
0
0
0
0
0
0
0
0
0
0
0
2
24
25
36
-29
12
0
0
0
0
0
0
0
0
0
0
2
5
-8
-1
26
-23
5
0
0
0
0
0
0
0
0
0
0
0
13
-20
-10
-5
-3
4
0
0
0
0
0
0
0
0
0
0
-1
5
1
-23
21
7
2
0
0
0
0
0
0
0
0
0
0
0
1
4
-27
-18
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
50
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-10
-8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-9
-14
0
0
0
0
0
0
0
0
0
-1
0
0
1
10
44
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-13
36
10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
14
27
-39
-13
1
0
0
0
0
0
0
0
0
0
0
0
-2
8
-10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
2
4
-12
25
-2
43
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
5
7
0
0
0
0
0
0
0
0
0
0
0
-1
-1
9
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-2
-2
-3
-31
2
-1
0
0
0
0
0
0
0
0
0
-1
12
18
-9
-23
-2
0
2
0
0
0
0
0
0
0
0
0
-3
5
-1
9
-43
-6
25
1
0
0
0
0
0
0
0
0
0
0
6
18
-9
2
-15
4
-1
0
0
0
0
0
0
0
0
0
0
-5
-2
9
11
-30
16
2
0
0
0
0
0
0
0
0
1
0
3
8
-18
-12
-4
-16
0
0
0
0
0
0
0
0
0
0
0
31
0
4
9
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
28
10
14
-15
10
-3
-6
0
0
0
0
0
8
-4
-8
84
36
-40
-21
14
16
-33
6
4
0
0
0
0
0
1
5
-13
41
2
-29
-13
-24
9
-20
-18
2
0
0
0
0
0
-1
-12
12
1
8
26
-34
5
19
14
21
0
0
0
0
0
0
-2
-2
14
-13
-28
38
4
-1
7
11
-15
-4
0
0
0
0
0
0
0
20
-30
2
9
6
8
19
22
-13
0
0
0
0
0
0
0
0
-1
-1
0
-8
-1
0
-16
-8
3
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
40
10
22
19
3
-5
3
0
0
0
0
-1
-5
11
-6
16
-30
6
-15
-7
13
-12
-5
0
0
0
0
0
0
3
3
31
14
55
19
-43
-2
-21
69
-16
2
0
0
0
0
0
1
-21
-7
17
12
50
25
51
-4
-11
5
8
0
0
0
0
0
-1
1
-36
17
19
-4
-42
-46
51
17
-17
15
0
0
0
0
-1
0
2
-12
2
-15
-14
24
17
-44
15
23
1
0
0
0
0
0
0
0
-12
-11
55
-25
10
24
9
23
6
5
0
0
0
0
0
0
0
-13
-27
6
23
-26
10
-27
-6
7
-1
0
0
0
0
0
0
0
-2
1
16
14
3
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
4
1
1
3
0
0
0
0
0
0
0
3
1
6
13
0
14
-8
5
-14
-1
0
0
0
0
0
0
0
0
9
-2
8
10
-10
11
-17
-1
-6
0
0
0
0
0
0
0
1
2
-10
9
-7
-2
8
-9
0
0
0
0
0
0
0
0
0
0
1
-30
10
6
-4
3
0
1
0
0
0
0
0
0
0
0
0
1
1
8
0
3
-1
-6
0
0
0
0
0
0
0
0
0
0
5
-12
10
1
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
4
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
-7
-8
-2
-1
0
0
0
0
0
0
-1
0
-23
4
33
48
18
15
-3
-10
-1
0
0
0
0
0
0
-2
-16
10
9
11
-7
3
14
-53
-2
-2
0
0
0
0
0
0
0
5
1
12
-29
0
4
-39
-6
-6
1
0
0
0
0
0
0
1
0
-9
0
-7
31
1
4
-38
-7
-6
0
0
0
0
0
1
-2
2
6
-22
77
-71
-13
-5
-8
-2
0
0
0
0
0
0
0
2
-15
-2
-5
44
-19
-5
-21
14
-1
0
0
0
0
0
0
0
0
10
-21
12
-42
6
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-25
-28
21
0
-16
-2
13
0
0
0
0
0
0
0
-18
10
7
1
-1
-21
-30
11
18
-10
0
0
0
0
0
1
0
6
35
-41
-2
35
-28
-9
36
9
-3
0
0
0
0
0
0
1
-2
-23
-25
13
-23
27
-2
-5
12
31
0
0
0
0
4
1
4
-1
17
34
21
9
42
-25
-16
3
13
0
0
0
0
0
0
2
0
8
-9
-13
27
6
0
27
-17
2
0
0
0
0
0
0
0
0
6
7
-5
-3
5
-2
-8
-8
0
0
0
0
0
0
0
0
-1
-1
0
3
-1
1
-12
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
5
-8
-3
-7
5
0
0
0
0
0
0
2
-1
0
7
13
20
6
3
-2
5
36
0
0
0
0
0
0
0
1
-1
5
-13
12
-3
43
-7
-6
-29
-12
0
0
0
0
0
0
0
-5
0
15
38
-42
-8
-6
27
-14
6
0
0
0
0
0
0
-2
20
16
10
-22
14
5
-5
-8
8
1
0
0
0
0
0
0
1
0
3
-1
-17
-26
31
-7
-2
-8
0
0
0
0
0
0
0
0
1
-3
5
-25
3
1
-1
0
4
4
0
0
0
0
0
0
0
-1
2
-2
0
-8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
2
4
1
-3
-2
0
0
-5
0
0
0
0
0
0
0
0
-1
3
3
0
0
-1
-2
-1
6
0
0
0
0
0
0
0
0
0
-4
0
0
5
-6
8
27
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-3
5
-12
-2
0
0
0
0
0
0
0
0
0
-4
0
0
6
-1
8
0
0
0
0
0
0
0
0
2
1
-3
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
7
1
0
0
0
0
0
0
0
-1
0
0
0
-1
6
0
9
10
2
-1
0
0
0
0
0
0
0
-2
-1
1
-1
1
8
-3
6
-12
0
0
0
0
0
0
0
0
1
0
-7
0
-1
4
0
0
5
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-4
25
-1
56
38
-11
-31
0
0
0
0
0
0
1
3
0
0
-18
-34
32
6
53
38
14
0
0
0
0
0
0
0
3
1
-23
8
-13
-51
67
2
-22
61
0
0
0
0
0
-1
-1
0
0
-6
8
-8
3
-6
26
31
35
0
0
0
0
0
0
2
0
-2
-5
-8
-17
3
-11
0
27
-10
0
0
0
0
0
0
0
-2
1
-3
0
2
4
-11
26
6
-2
0
0
0
0
0
0
0
0
2
-3
-2
-20
47
-78
-14
25
6
0
0
0
0
0
0
0
0
0
0
-1
-2
8
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
30
74
82
-13
37
1
-6
0
0
0
0
0
0
0
-3
-13
-11
24
-6
7
-2
25
-12
23
0
0
0
0
0
0
0
-2
12
-5
23
39
3
22
38
22
24
0
0
0
0
0
-1
0
2
-34
-22
-8
27
38
-2
25
-78
-24
0
0
0
0
0
0
2
4
-8
2
14
-54
29
24
-96
-67
51
0
0
0
0
0
0
0
-1
-5
-47
-15
5
42
21
3
21
-33
0
0
0
0
0
0
0
0
-10
-7
-15
35
25
55
39
30
13
0
0
0
0
0
0
0
0
5
5
-5
14
27
3
12
8
-2
0
0
0
0
0
0
0
0
1
8
10
-22
-1
50
18
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
60
1
38
58
0
0
0
0
0
0
0
0
0
10
11
-1
11
5
-14
-68
1
0
0
0
0
0
0
0
0
0
-5
-7
-3
-14
15
7
5
25
0
0
0
0
0
0
0
0
0
-8
-4
9
-11
-32
26
-25
31
0
0
0
0
0
0
0
0
0
7
4
17
-22
10
4
-12
-35
0
0
0
0
0
0
0
0
0
3
4
-7
2
-35
66
-48
47
0
0
0
0
0
0
0
0
0
-4
0
-21
-33
2
-19
-4
25
0
0
0
0
0
0
0
0
0
-5
-2
-6
-4
-1
32
45
-16
0
0
0
0
0
0
0
0
3
4
-2
-55
3
-45
36
3
-14
0
0
0
0
0
0
0
0
0
1
8
23
-77
11
10
0
3
0
0
0
0
0
0
0
0
0
9
0
-8
-13
-33
59
-9
2
0
0
0
0
0
0
0
-1
2
19
29
3
-7
68
36
3
-32
0
0
0
0
0
0
0
0
0
6
45
-45
54
-35
47
9
2
0
0
0
0
0
0
0
-1
3
10
-69
40
23
-47
-35
-40
33
0
0
0
0
0
0
0
0
1
7
16
-4
5
-9
15
-19
-46
0
0
0
0
0
0
0
0
1
-4
42
15
-5
-6
-48
-50
-21
0
0
0
0
0
0
0
0
0
-5
16
13
-38
37
-44
13
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-38
-5
56
-24
-40
0
0
0
0
0
0
1
0
5
0
14
83
-13
-1
56
9
29
0
0
0
0
0
0
0
-3
18
-52
5
-18
-14
11
101
3
-13
0
0
0
0
0
0
0
1
2
-2
20
29
8
8
-57
-32
-8
0
0
0
0
0
0
0
0
4
1
9
18
0
19
-11
25
-21
0
0
0
0
0
0
0
-2
1
-9
-4
-11
25
-23
-7
67
0
0
0
0
0
0
0
0
0
-1
7
18
5
33
3
-17
16
2
0
0
0
0
0
0
0
1
0
0
8
2
4
2
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-3
-25
-7
3
2
0
0
0
0
0
0
0
0
0
0
10
-8
4
-12
-11
-20
-8
0
0
0
0
0
0
0
0
0
1
6
3
3
6
-5
22
-9
0
0
0
0
0
0
0
0
0
-1
16
32
10
-18
25
5
13
0
0
0
0
0
0
0
0
0
-2
0
-8
-23
0
18
-23
0
0
0
0
0
0
0
0
0
0
0
4
6
-8
3
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
3
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
7
-45
-29
2
6
0
0
0
0
0
0
0
0
0
-8
-13
-3
3
-4
-6
-73
13
0
0
0
0
0
0
0
0
1
0
9
12
-8
-36
26
-15
3
0
0
0
0
0
0
0
0
0
0
-5
-5
52
-48
-31
10
-40
0
0
0
0
0
0
0
0
0
0
8
-29
-19
39
58
1
-4
0
0
0
0
0
0
0
0
0
0
0
12
-3
23
3
7
-30
0
0
0
0
0
0
0
0
0
0
0
-3
-9
19
6
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
7
25
19
13
18
0
0
0
0
0
0
0
0
0
0
0
0
3
3
13
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-5
9
6
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-12
-22
30
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
20
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
30
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
25
-3
7
-3
0
0
0
0
0
0
0
0
0
-1
0
-7
-27
-49
-8
-18
20
0
0
0
0
0
0
0
0
0
0
0
16
-3
0
42
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
-12
-12
-10
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-15
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
9
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
29
8
3
1
0
0
0
0
0
0
0
0
0
1
3
0
8
2
-20
2
-5
0
0
0
0
0
0
0
0
0
0
-2
8
6
19
-4
-40
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-25
3
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
6
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
3
-2
2
33
-15
0
0
0
0
0
0
0
0
0
0
8
8
19
15
36
-42
-10
0
0
0
0
0
0
0
0
0
0
0
-18
-6
71
-6
-4
-5
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
-9
-4
15
19
0
0
0
0
0
0
0
0
0
0
2
8
-13
-19
5
5
24
0
0
0
0
0
0
0
0
0
-1
2
-1
-5
17
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
10
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-19
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
-8
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
27
-3
-12
0
0
0
0
0
0
0
0
0
0
0
-1
-1
14
-15
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
6
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
2
-29
32
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-16
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
38
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
10
-9
5
2
-10
7
-10
-5
0
0
0
0
-1
2
0
36
28
8
-7
-3
30
7
-21
66
-6
0
0
0
0
0
-1
-3
4
0
19
24
2
-9
4
11
-47
18
0
0
0
0
0
0
0
10
2
9
8
3
16
-11
-27
32
-15
0
0
0
0
0
0
0
3
0
4
-2
52
18
10
13
0
-15
0
0
0
0
0
0
1
0
-1
1
1
-3
8
-8
-35
12
0
0
0
0
0
0
0
0
-3
7
1
0
-1
-4
5
2
13
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
-6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
0
-42
16
-37
50
-8
32
-4
0
0
0
0
0
3
0
1
-8
32
55
-50
23
-21
34
53
16
0
0
0
0
0
0
0
-14
4
13
-11
-1
53
6
-15
11
8
0
0
0
0
0
0
0
2
1
-46
29
47
38
-29
-32
-5
-8
0
0
0
0
0
0
0
0
-8
-12
6
27
-13
-18
-23
20
5
0
0
0
0
0
0
0
-4
19
-13
0
-6
-1
22
-18
-25
-6
0
0
0
0
0
0
1
1
-1
3
27
4
-36
-53
-19
-7
4
0
0
0
0
0
0
0
0
-5
-8
16
12
-50
23
4
8
3
0
0
0
0
0
0
0
0
-1
17
-21
-21
9
-3
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-24
1
-3
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-1
8
14
2
1
-1
0
0
0
0
0
0
0
0
-7
0
-7
-2
-16
0
-9
6
0
0
0
0
0
0
0
0
1
-1
9
0
2
4
0
-5
-2
0
0
0
0
0
0
0
0
0
0
1
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
1
4
17
-3
0
0
0
0
0
0
0
0
0
0
1
2
4
-20
-9
-30
21
22
-1
0
0
0
0
0
0
0
0
3
-1
-6
4
1
-8
0
13
0
0
0
0
0
0
0
0
0
-1
3
0
-12
19
0
-21
-13
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-1
7
-8
-3
0
0
0
0
0
0
0
0
0
-1
3
-7
4
-5
5
16
-2
0
0
0
0
0
0
0
0
0
-2
-3
-7
0
-7
2
1
0
0
0
0
0
0
0
0
0
0
-4
-8
-4
-2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
-6
3
-3
9
22
-16
11
0
0
0
0
0
0
-1
-8
-6
-1
-7
13
-29
-31
-1
70
-8
0
0
0
0
0
0
-1
-6
-5
33
12
-5
-3
-2
-1
1
19
0
0
0
0
0
0
0
0
5
29
29
5
31
-6
-72
3
-33
0
0
0
0
0
-1
0
0
7
-4
-12
-8
-13
20
-3
-20
15
0
0
0
0
0
0
0
0
0
-1
-23
-24
2
22
-16
-7
31
0
0
0
0
0
0
0
0
-1
-3
2
1
3
-7
3
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
4
0
1
0
-7
-3
4
18
0
0
0
0
0
0
0
0
0
-3
8
-2
24
6
-8
-8
-10
0
0
0
0
0
0
0
0
0
1
-4
-8
-25
-17
14
17
7
0
0
0
0
0
0
0
0
0
0
-2
8
14
-1
17
8
-6
0
0
0
0
0
0
0
0
0
-3
-2
5
20
5
0
11
16
0
0
0
0
0
0
0
0
0
0
2
-1
5
10
-8
-13
19
0
0
0
0
0
0
0
0
0
0
1
-4
7
0
1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-12
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
-5
10
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-10
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
19
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
31
-58
-13
-16
-8
0
0
0
0
0
0
0
0
0
0
0
-19
-24
43
-27
-8
8
0
1
1
0
0
0
0
0
0
0
0
-2
-83
1
-26
-7
1
0
0
0
0
0
0
0
0
0
0
0
24
38
-84
-14
-1
-5
0
0
0
0
0
0
0
0
0
0
0
51
-7
6
138
40
-1
0
0
0
0
0
0
0
0
0
0
0
-91
-9
-40
-11
-19
4
0
0
0
0
0
0
0
0
0
0
0
27
57
47
-30
-24
-3
0
0
0
0
0
0
0
0
0
0
0
-81
-117
-19
-44
-12
0
0
0
0
0
0
0
0
0
0
0
0
23
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-80
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-12
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
-3
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-44
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
12
42
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-41
64
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
30
-122
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
0
-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
41
10
4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
23
-46
-31
18
12
-1
0
0
0
0
0
0
0
0
0
0
-1
5
0
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
-33
4
37
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-49
-5
43
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-14
-10
2
14
-4
0
0
0
0
0
0
0
0
0
0
0
-50
41
-25
45
6
-15
-2
0
0
0
0
0
0
0
0
0
-5
-23
-2
43
-22
5
46
4
9
0
0
0
0
0
0
0
0
-12
-35
16
-13
12
14
0
-18
0
0
0
0
0
0
0
0
0
8
-26
-22
-7
-12
0
-6
0
0
0
0
0
0
0
0
0
0
-9
-44
6
15
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
23
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-14
2
0
1
3
-2
0
0
0
0
0
0
0
0
0
-7
-4
29
-1
0
25
5
7
0
0
0
0
0
0
0
0
0
-1
-5
41
-9
0
-4
14
-2
-15
0
0
0
0
0
0
0
0
18
10
-6
70
0
3
0
2
-14
5
0
0
0
0
0
0
0
-23
50
6
-58
-1
0
-22
22
-3
0
0
0
0
0
0
0
0
9
-22
50
-91
-14
3
14
5
0
0
0
0
0
0
0
0
0
-5
14
-7
41
-43
-6
1
5
0
0
0
0
0
0
0
0
0
-8
21
-5
17
0
1
0
0
0
0
0
0
0
0
0
0
0
-17
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
29
5
37
75
-38
0
-12
-14
0
0
0
0
0
0
0
-19
-8
-14
-30
77
-28
-4
2
28
19
0
0
0
0
0
0
-7
10
-14
-1
49
86
86
58
38
21
-26
25
0
0
0
0
0
-14
-17
-33
15
13
35
55
125
-35
63
8
-2
0
0
0
0
0
2
12
7
-13
89
104
154
104
103
43
0
1
0
0
0
0
0
-9
-6
-20
16
-10
-4
89
118
29
-4
1
0
0
0
0
0
0
1
3
13
0
45
52
-16
41
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
-13
40
-12
-18
0
-32
-1
0
0
0
0
0
0
0
44
-92
-18
-55
-3
-11
-28
21
24
28
0
-3
0
0
0
0
0
39
18
-7
-28
-24
-5
7
38
138
20
0
-2
1
0
0
0
0
28
-70
-28
11
-22
-42
-4
0
21
-2
3
0
1
0
0
0
0
99
-2
-74
-26
-13
-12
-16
62
80
40
7
2
0
0
0
0
0
-4
-20
62
-47
-8
19
-11
59
57
8
0
0
1
0
0
0
0
-2
32
-79
-36
12
7
-17
-20
-29
1
1
-1
0
0
0
0
0
47
15
34
8
20
24
51
-33
-8
-1
1
-1
0
0
0
0
0
0
13
-9
-5
-58
85
7
25
0
0
0
0
0
0
0
0
0
0
9
-3
-31
-6
21
21
0
0
-5
1
0
0
0
0
0
0
3
15
-23
6
7
-6
-51
40
-13
5
0
0
0
0
0
0
0
0
-21
15
40
52
11
5
-14
29
1
2
0
0
0
0
0
0
4
0
10
-21
70
-13
55
-27
42
0
0
0
0
0
0
0
0
0
8
48
15
43
10
8
108
-6
0
0
0
0
0
0
0
0
0
-1
72
25
23
97
-104
18
8
0
0
0
0
0
0
0
0
0
-3
-50
32
14
105
-23
19
0
0
0
0
0
0
0
0
0
0
0
-4
-4
43
69
86
54
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-9
45
0
8
0
0
0
0
0
0
0
0
0
7
39
-46
88
35
27
0
43
1
-2
0
0
0
0
0
0
0
35
-11
-58
41
-45
10
25
73
4
-5
0
0
0
0
0
0
0
-79
-8
76
41
-19
15
-42
66
22
1
0
0
0
0
0
0
0
16
119
144
27
-3
102
24
101
31
0
0
0
0
0
0
0
0
19
64
-45
-32
13
21
64
17
0
0
0
0
0
0
0
0
0
-3
12
42
-29
39
12
69
33
0
0
0
0
0
0
0
0
0
5
-30
-10
34
39
180
7
-58
0
0
0
0
0
0
0
0
0
0
5
33
-12
-6
97
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
30
-42
-9
75
33
62
-12
24
0
53
2
0
0
0
0
0
0
-13
-2
-38
-115
-49
54
-12
17
-31
138
82
0
0
0
0
0
0
-1
27
-28
64
48
-16
21
-20
36
20
-25
-1
0
0
0
0
0
-29
21
-17
62
-31
-3
-22
2
82
44
15
0
0
0
0
0
0
1
7
-52
-21
46
0
36
8
137
15
0
0
0
0
0
0
0
0
-22
29
94
7
-35
25
35
-33
0
0
0
0
0
0
0
0
0
-30
-30
65
18
-61
-36
50
0
0
0
0
0
0
0
0
0
0
-16
1
-8
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-6
13
-42
6
130
0
3
0
0
0
0
0
0
0
0
25
26
27
59
39
53
-8
-86
55
-13
0
0
0
0
0
0
0
-5
33
25
37
70
16
16
-41
-3
0
0
0
0
0
0
0
0
1
8
39
5
14
8
-57
30
-12
0
0
0
0
0
0
0
0
3
4
-1
-31
-63
-24
37
-43
0
0
0
0
0
0
0
0
0
3
20
-63
-4
-20
24
70
1
0
0
0
0
0
0
0
0
0
-2
21
5
-9
0
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
7
-2
20
71
0
13
2
0
0
0
0
0
0
1
4
3
8
52
33
71
5
-16
78
-4
0
0
0
0
0
0
1
0
3
55
97
22
77
21
14
26
-41
1
0
0
0
0
0
-3
4
3
153
81
24
114
34
36
-17
1
0
0
0
0
0
0
1
-14
-3
74
39
109
32
83
-32
-119
-30
0
0
0
0
0
0
0
-13
22
51
44
21
50
71
-71
-16
5
0
0
0
0
0
0
0
3
16
0
93
66
-58
43
61
-39
8
0
0
0
0
0
0
0
-15
0
15
-34
-26
-2
29
33
-3
0
0
0
0
0
0
0
0
0
0
0
0
-22
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
40
21
-29
16
0
0
0
0
0
0
0
0
0
0
0
58
52
34
103
51
-5
0
0
0
0
0
0
0
0
0
0
0
7
101
56
39
-5
-8
0
0
0
0
0
0
0
0
0
0
0
10
91
42
-31
31
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
20
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
42
42
-19
-2
0
0
0
0
0
0
0
0
0
0
0
1
25
-41
49
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
56
25
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
19
101
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
13
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
10
16
40
22
-5
0
0
0
0
0
0
0
0
0
0
0
3
51
60
88
-35
32
0
0
0
0
0
0
0
0
0
0
0
1
-1
35
62
-42
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
26
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
30
18
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-36
3
7
29
0
0
0
-2
0
0
0
0
0
0
0
0
5
51
11
87
-32
20
-7
-41
0
0
0
0
0
0
0
0
-2
6
19
-33
58
19
45
41
8
0
0
0
0
0
0
0
0
0
-5
9
45
26
114
-8
-13
-1
0
0
0
0
0
0
0
0
0
0
-13
-31
47
1
-7
-5
-13
0
0
0
0
0
0
0
0
0
0
0
-25
1
-5
-16
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
3
2
-1
0
0
0
0
2
-2
0
0
0
0
0
0
0
-32
-6
-13
24
38
-2
-14
4
0
-1
0
0
0
0
0
0
44
1
-2
13
42
10
40
-6
-42
-9
0
0
0
0
0
0
0
0
5
-31
45
-12
39
-15
-12
30
0
0
0
0
0
0
0
0
50
-17
61
-18
27
8
-38
-46
1
0
0
0
0
0
0
0
1
6
64
0
-9
-44
48
-2
-16
1
0
0
0
0
0
0
0
0
5
1
1
5
-6
3
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-3
-24
13
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
36
16
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
14
6
22
52
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-1
13
-6
22
-15
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
29
-69
19
-2
0
0
0
0
0
0
0
0
0
0
0
-29
-12
-13
-3
-61
-6
0
0
0
0
0
0
0
0
0
0
0
44
12
25
28
9
17
7
0
0
0
0
0
0
0
0
0
0
0
1
-82
-91
-30
2
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-15
-40
-52
5
58
42
0
0
0
2
0
0
0
0
0
0
-24
-50
-57
-24
-16
68
83
0
0
-20
-1
0
0
0
0
0
0
-10
-36
-15
-25
28
-38
-32
34
-5
-24
-2
0
0
0
0
0
0
-22
1
-30
-64
-15
177
29
36
51
-20
-4
0
0
0
0
0
0
46
-21
-14
-48
-6
22
109
28
22
5
0
0
0
0
0
0
0
-50
-77
-61
-35
-8
-22
-3
-22
41
0
0
0
0
0
0
0
0
-112
-17
39
-73
-30
-2
-25
-16
2
1
0
0
0
0
0
0
0
0
-39
-23
-6
-15
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
32
-22
1
18
31
-3
0
0
-1
0
0
0
0
0
0
0
-71
-71
-11
1
5
33
26
-97
-20
-4
-1
0
0
0
0
0
0
-16
-30
-1
0
-8
27
43
-7
-38
2
-1
0
0
0
0
0
0
-18
-71
-6
-15
8
55
-30
50
-44
-9
5
1
0
0
0
0
0
42
-54
-2
-42
-11
-4
25
-9
-71
7
2
0
0
0
0
0
0
-41
-24
-44
-21
-12
-13
38
8
190
9
0
0
0
0
0
0
0
-43
16
-30
-28
-25
-11
22
43
-13
-5
0
0
1
0
0
0
0
-2
-5
-4
-8
10
7
8
-29
-8
-2
0
-3
0
0
0
0
0
0
0
-3
-78
35
-38
4
29
0
0
0
0
0
0
0
0
0
27
80
-79
26
-162
0
-58
0
0
0
0
0
0
0
0
0
0
52
13
1
-62
2
25
-21
1
0
0
0
0
0
0
0
0
0
19
4
-32
-54
10
26
53
-1
0
0
0
0
0
0
0
0
0
43
-2
10
-21
2
-12
-13
-7
0
0
0
0
0
0
0
0
0
1
22
65
58
21
-15
33
1
0
0
0
0
0
0
0
0
0
-6
3
-5
-15
-49
-40
14
-2
0
0
0
0
0
0
0
0
0
-6
-22
-19
-62
50
-24
3
-6
0
0
0
0
0
0
0
0
0
-63
-7
-7
-57
8
55
-14
0
0
0
0
0
0
0
0
0
0
-17
-49
79
-28
34
19
1
1
0
0
0
0
0
0
0
0
0
43
13
13
18
1
-2
-40
2
0
0
0
0
0
0
0
0
0
23
-64
13
-4
10
57
0
-24
1
0
0
0
0
0
0
0
0
-25
-21
22
0
35
44
-90
-19
0
0
0
0
0
0
0
0
0
19
-17
-22
-6
-40
-21
62
-52
13
0
0
0
0
0
0
0
0
53
3
-12
4
5
19
134
29
-1
0
0
0
0
0
0
0
0
-2
31
-63
16
-11
-24
77
58
0
0
0
0
0
0
0
0
0
-39
19
-27
-76
55
5
9
-6
0
0
0
0
0
0
0
0
0
-7
72
21
43
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
88
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
6
-6
-1
23
24
0
0
6
-2
0
0
0
0
0
0
49
5
-7
0
17
-32
44
0
-25
0
-5
0
0
0
0
0
0
-2
12
10
10
18
21
48
32
-33
8
-4
-3
0
0
0
0
0
16
15
6
-10
17
57
93
79
-8
-15
1
0
0
0
0
0
0
19
-12
8
15
22
-3
72
47
-6
4
0
0
0
0
0
0
0
-15
-4
6
2
8
-36
100
-58
6
8
-2
0
0
0
0
0
0
-86
-27
-21
-11
-59
-5
9
22
-13
0
0
0
0
0
0
0
0
0
-17
-5
20
25
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-45
-14
42
-6
-32
0
0
0
0
0
0
0
0
0
0
17
-27
-41
-26
24
18
-19
0
-6
0
-3
0
0
0
0
0
0
0
-43
-84
32
40
33
44
40
-16
51
0
0
0
0
0
0
0
3
16
-27
-11
11
27
41
-11
30
5
4
0
0
0
0
0
0
-12
66
-38
53
-24
92
64
4
36
-3
0
0
0
0
0
0
0
0
56
-13
-6
23
86
20
15
-1
-3
0
0
0
0
0
0
0
5
71
-4
42
74
67
8
0
-3
0
0
0
0
0
0
0
0
0
51
92
15
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-14
-15
39
2
-3
0
0
0
0
0
0
0
0
0
0
12
12
4
-6
-57
-12
-91
-1
0
-1
1
0
0
0
0
0
0
13
25
28
-36
-35
16
65
2
0
-25
0
0
0
0
0
0
0
50
38
42
10
27
-25
-52
1
19
3
0
0
0
0
0
0
0
25
26
16
-2
2
8
88
0
6
27
0
0
0
0
0
0
0
7
25
5
-10
-44
11
83
19
-22
-23
0
0
0
0
0
0
0
36
15
3
-29
-8
25
2
-3
-13
0
0
0
0
0
0
0
0
-11
-6
-4
14
-53
31
0
0
-1
0
0
0
0
0
0
0
0
27
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
65
-44
4
-1
0
0
0
0
0
0
0
0
0
0
0
-43
-70
28
-30
-9
1
-1
0
-1
-1
0
0
0
0
0
0
0
33
9
-45
-57
-4
1
0
0
0
3
0
0
0
0
0
0
0
6
39
48
64
55
0
-2
0
0
0
0
0
0
0
0
0
0
2
30
42
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-48
-97
-58
-74
-6
7
0
0
0
0
0
0
0
0
0
0
0
2
16
-54
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
120
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-48
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
-72
43
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
67
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
33
-48
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
39
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-11
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-13
80
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-68
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-7
12
10
0
0
0
0
0
0
0
0
0
-16
5
10
31
-2
48
65
2
-2
0
0
0
0
0
0
0
0
6
0
-1
27
24
-5
-8
5
0
0
0
0
0
0
0
0
0
0
2
-13
-6
24
47
22
9
0
0
0
0
0
0
0
0
0
0
2
-13
25
-13
-8
14
2
0
0
0
0
0
0
0
0
0
0
7
0
-6
-29
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-5
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-7
-23
-8
-2
-8
1
0
0
0
0
0
0
0
0
0
-6
-27
2
5
5
-25
-20
-1
2
0
0
0
0
0
0
0
0
14
-2
0
-6
12
-19
-16
1
3
0
0
0
0
0
0
0
0
-12
24
17
-5
14
-13
7
-6
5
0
0
0
0
0
0
0
0
40
-19
-13
2
2
1
-14
-9
0
0
0
0
0
0
0
0
0
1
-6
-15
27
5
2
-21
-91
-19
5
0
0
0
0
0
0
0
0
-1
-1
7
5
-6
5
0
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
36
28
-34
-39
0
19
9
-1
0
0
0
0
0
12
13
0
39
59
60
-23
-33
-87
-46
-4
-1
0
0
0
0
0
0
25
49
51
27
33
36
68
-91
66
1
0
0
0
0
0
0
0
15
-7
50
28
-2
74
30
0
-64
22
0
0
0
0
0
0
0
-8
8
46
-132
77
37
60
83
125
0
0
0
0
0
0
0
0
1
4
14
-3
12
-22
112
82
-7
7
0
0
0
0
0
0
0
0
3
0
-89
-1
23
94
45
-8
0
0
0
0
0
0
0
0
0
0
0
0
12
1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-29
-27
-16
-19
-23
-5
0
12
-1
0
0
0
0
0
0
0
-73
80
48
-25
9
-12
-1
19
-60
3
0
0
0
0
0
0
0
74
39
-36
-2
2
3
-2
-48
102
-3
7
0
0
0
0
0
0
-41
63
44
61
-5
-6
-20
-108
-31
-17
1
1
0
0
0
0
0
12
23
-43
18
-27
10
-23
11
-18
-7
22
-1
-1
0
0
0
0
-46
85
-71
-52
-8
-27
-26
24
118
0
-2
0
0
0
0
0
0
1
-50
14
-43
-38
-1
-20
25
43
0
1
0
0
0
0
0
0
7
-10
-108
-63
-36
-21
-12
-20
87
8
0
0
0
0
0
0
0
0
0
2
-62
-61
-25
-17
-27
45
0
0
0
0
0
0
0
0
0
9
-4
33
-34
3
48
0
25
-1
0
0
1
0
0
0
0
0
3
54
22
-40
-5
-6
-67
-10
-26
1
-2
0
0
0
0
0
0
-10
-1
6
18
-3
64
-32
35
5
27
1
0
0
0
0
0
0
-29
69
34
44
88
92
146
60
-5
3
0
0
0
0
0
0
0
25
6
99
50
9
47
-23
53
-5
1
0
0
0
0
0
0
0
0
44
77
24
31
82
14
-1
35
-8
0
0
0
0
0
0
0
1
1
-18
-33
5
1
-22
-5
20
-5
0
0
0
0
0
0
0
0
-9
-14
75
-83
39
27
25
23
7
0
0
0
0
0
0
0
0
0
-77
50
41
28
-61
27
23
-5
-1
0
0
0
0
0
0
3
12
102
-8
-33
-15
0
34
-22
5
0
0
0
0
0
0
0
8
7
-83
40
9
-24
-50
-33
-27
1
-1
0
0
0
0
0
0
13
-10
-44
-21
10
-5
15
-24
3
-4
0
0
0
0
0
0
0
14
-33
-43
7
-11
12
24
0
8
0
0
0
0
0
0
0
0
22
72
6
29
-5
22
-11
-57
-8
0
0
0
0
0
0
0
0
7
25
-77
125
27
10
26
51
22
-1
0
0
0
0
0
0
0
0
1
48
41
-12
25
70
2
-55
1
0
0
0
0
0
0
0
0
7
16
53
-2
117
74
-31
1
-1
0
0
0
0
0
0
0
0
0
2
0
66
-13
5
0
0
0
0
0
0
0
0
0
-19
-9
-57
-97
-1
-60
-46
0
-42
16
0
0
0
0
0
0
-5
-24
-56
-37
21
-21
-36
28
-26
50
-31
-2
0
0
0
0
0
-8
40
-15
-24
-38
-18
0
-24
32
15
0
-2
0
0
0
0
0
2
15
-6
-47
90
54
28
-7
3
-1
-2
0
0
0
0
0
0
-2
-7
-2
-45
93
30
46
66
-73
2
0
0
0
0
0
0
0
0
-4
-2
11
45
16
14
25
46
40
2
0
0
0
0
0
0
0
0
0
-29
-39
39
-14
48
44
-3
0
0
0
0
0
0
0
0
0
0
-69
-1
40
5
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
18
120
-18
18
70
0
-39
0
0
0
0
0
0
0
5
2
-4
4
8
22
-65
-22
54
8
0
0
0
0
0
0
0
0
0
2
6
104
38
-17
24
0
1
0
0
0
0
0
0
0
0
0
-6
-12
-12
-18
-6
16
45
0
0
0
0
0
0
0
0
0
-3
0
-52
-17
-94
40
-45
-11
2
0
0
0
0
0
0
0
0
-10
0
55
-31
-8
6
-41
-42
-17
0
0
0
0
0
0
0
0
0
0
-9
-34
-66
55
-6
-109
-1
0
0
0
0
0
0
0
0
0
0
-1
-81
-148
15
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
17
46
54
18
0
-24
-4
0
0
0
0
0
0
-6
-1
-5
0
74
21
114
35
75
15
2
0
0
0
0
0
0
0
-1
3
24
156
70
47
99
-42
-19
1
0
0
0
0
0
0
0
41
2
78
111
12
161
-56
94
-40
-7
0
0
0
0
0
0
-2
-14
8
70
2
61
56
-67
55
-4
1
0
0
0
0
0
0
0
0
-1
-8
41
25
6
26
-51
16
9
0
0
0
0
0
0
3
-3
0
0
49
-1
-22
97
-29
23
-12
3
0
0
0
0
0
0
0
0
-22
8
-72
-100
-22
-80
68
5
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
-17
56
-32
6
0
1
0
0
0
0
0
0
0
0
0
0
9
66
5
157
-13
-4
0
0
0
0
0
0
0
0
0
0
0
1
52
16
82
22
0
-1
0
0
0
0
0
0
0
0
0
0
6
39
60
9
17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
9
-11
181
-35
9
2
0
0
0
0
0
0
0
0
0
0
-1
-22
-10
-40
3
41
0
0
0
0
0
0
0
0
0
0
0
0
-39
-9
-45
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
11
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
6
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
10
-19
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
8
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
26
-43
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
72
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
57
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
30
37
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
-8
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
9
-5
50
0
0
0
0
0
0
0
0
0
0
0
0
0
13
13
9
59
-2
0
0
0
0
0
0
0
0
0
0
0
0
21
32
47
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-59
-49
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-32
14
36
2
1
0
0
0
0
0
0
0
0
0
0
0
-6
18
-58
-23
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
-16
16
-11
17
-16
25
6
3
0
0
0
0
0
0
0
0
0
-10
-21
-56
-36
-7
-2
19
-17
0
0
0
0
0
0
0
0
0
17
-1
-32
-6
-67
-9
75
-4
-1
1
0
0
0
0
0
0
-1
0
4
-6
-7
-17
11
24
-4
2
0
0
0
0
0
0
0
0
0
-4
-19
15
-37
-25
-47
-42
-3
0
0
0
0
0
0
0
0
0
0
0
47
-5
-42
13
-23
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-16
-4
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-4
0
0
0
0
-1
0
0
0
0
0
0
5
12
-1
19
-7
27
0
0
0
0
0
0
0
0
0
0
0
-25
23
-1
1
-30
7
15
0
0
0
0
0
0
0
0
0
0
36
8
-46
63
-1
9
12
22
-1
1
0
0
0
0
0
0
0
-6
-7
-30
-70
-9
1
96
-3
37
0
0
0
0
0
0
0
0
32
6
-4
67
3
33
-21
83
92
-8
0
0
0
0
0
0
0
0
24
0
-12
14
-1
-59
-46
-48
8
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-31
-32
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
17
-1
0
0
0
0
0
0
9
3
17
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
23
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
20
-13
20
-2
0
0
0
0
0
0
0
0
0
0
0
-5
23
-24
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
28
-7
56
-45
-12
-1
0
0
0
0
0
0
0
0
0
0
0
23
12
13
29
-42
6
0
0
0
0
0
0
0
0
0
0
0
40
-47
-11
-44
-28
3
-1
0
0
0
0
0
0
0
0
0
0
0
-31
-6
-54
10
-15
-2
-1
0
0
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
-44
-11
-34
17
51
98
0
0
0
-1
0
0
0
0
0
0
-57
-17
-21
-23
30
66
-89
0
0
3
2
1
0
0
0
0
0
1
-27
-15
6
11
51
38
75
3
-2
0
0
0
0
0
0
0
-43
-39
1
2
25
59
82
88
-21
1
8
0
0
0
0
0
0
30
-23
-55
18
22
-6
89
44
9
1
-1
0
0
0
0
0
0
-44
-60
-44
0
13
38
10
-14
-2
13
0
0
0
0
0
0
0
6
22
20
20
42
-32
54
-8
-5
-1
0
0
0
0
0
0
0
0
4
0
-3
19
-50
-25
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
16
21
-13
-16
-5
-19
1
0
0
0
1
0
0
0
0
0
0
-49
12
6
-1
12
19
2
127
8
1
3
0
0
0
0
0
0
-35
-44
-1
18
1
13
-14
56
48
-1
0
0
0
0
0
0
0
-52
-34
-18
5
10
17
32
40
-72
2
-2
0
0
0
0
0
0
-88
-51
3
28
14
-17
53
-24
-35
-10
0
0
0
0
0
0
0
24
-8
-2
-1
-41
10
8
-44
45
-17
0
0
-3
0
0
0
0
26
62
-2
-2
-4
-12
55
62
47
-21
0
1
0
0
0
0
0
0
25
-16
-23
-15
61
45
3
14
-4
0
0
0
0
0
0
0
0
0
-7
-46
35
68
2
7
0
0
0
0
0
0
0
0
0
-7
84
-39
-31
-21
122
85
0
0
0
0
0
0
0
0
0
0
16
38
-7
-2
-27
-28
-61
1
8
0
0
0
0
0
0
0
0
25
-30
-54
45
47
-17
83
24
8
0
0
0
0
0
0
0
0
-3
58
-99
4
47
49
66
-6
-2
0
0
0
0
0
0
0
0
23
26
-11
6
-11
-4
-42
0
0
0
0
0
0
0
0
0
0
0
-18
2
12
-104
21
-31
24
1
0
0
0
0
0
0
0
0
0
-1
-22
-101
-10
-3
1
-1
-7
0
0
0
0
0
0
0
0
0
0
19
-49
33
-56
25
-17
1
0
0
0
0
0
0
0
0
0
8
-48
2
-44
8
1
0
0
0
0
0
0
0
0
0
0
16
-4
-3
-24
53
91
36
-46
0
-2
0
0
0
0
0
0
0
-48
-29
15
-13
40
80
0
24
-5
0
0
0
0
0
0
0
0
-41
-106
8
-9
22
36
56
-10
1
0
0
0
0
0
0
0
0
-70
-63
10
7
3
76
35
-6
-5
0
0
0
0
0
0
0
0
-16
-10
-20
-2
-18
33
-21
21
0
0
0
0
0
0
0
0
0
-12
34
-57
-4
-8
27
-88
-87
-1
0
0
0
0
0
0
0
0
23
-33
-13
-37
-46
39
-6
-13
0
-5
0
0
0
0
0
0
0
-65
5
27
-99
26
53
-13
14
0
0
0
0
0
0
0
0
0
0
0
-99
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
4
6
10
-42
20
94
0
0
-7
1
0
0
0
0
0
0
21
6
39
9
16
45
35
0
-8
0
9
0
0
0
0
0
0
-7
-31
26
57
3
31
18
72
-2
-4
0
0
0
0
0
0
0
-5
-8
22
29
21
41
56
107
28
0
0
0
0
0
0
0
0
-22
11
-1
20
23
-19
141
47
7
24
0
0
0
0
0
0
0
4
-14
-23
3
12
30
-13
20
-72
5
0
0
0
0
0
0
0
-2
-38
12
76
-2
-13
56
56
-40
10
1
0
0
0
0
0
0
0
-4
-3
33
23
42
-8
-35
0
-3
0
0
0
0
0
0
0
0
0
0
0
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
12
5
12
27
3
-31
-1
0
-5
0
0
0
0
0
0
0
29
-4
-54
-6
-8
-53
-20
0
1
0
0
0
0
0
0
0
0
7
-23
-41
42
-49
-28
-40
2
-8
0
0
0
0
0
0
0
0
-4
-33
-40
-26
-10
-63
9
41
3
0
0
0
0
0
0
0
0
-10
-12
-8
17
0
-94
-4
-10
-8
22
0
0
0
0
0
0
0
0
-41
72
-48
-72
-50
-5
0
-4
15
2
0
0
0
0
0
0
0
0
-27
58
11
-39
-41
0
-8
-27
0
0
0
0
0
0
0
0
0
0
-4
-15
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
52
37
-70
-19
30
-121
0
0
0
0
0
0
0
0
0
0
-8
-1
4
17
-4
6
43
5
0
0
0
0
0
0
0
0
0
10
6
-4
70
18
-32
51
6
1
-4
0
0
0
0
0
0
0
-8
39
17
9
24
66
-66
0
40
0
3
0
0
0
0
0
0
17
-11
7
14
27
4
-8
-22
-14
-10
1
0
0
0
0
0
0
53
-36
2
-1
-16
111
33
-33
22
8
0
0
0
0
0
0
0
4
7
-5
-34
16
-73
35
-14
117
46
0
0
0
0
0
0
0
0
-37
18
-73
-88
45
16
21
17
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-52
-12
6
-1
-2
-1
0
-2
0
0
0
0
0
0
0
1
32
25
11
17
-2
0
0
1
-1
0
0
0
0
0
0
0
5
3
17
-47
19
1
0
0
0
0
0
0
0
0
0
0
0
1
-10
22
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-13
-25
-66
69
13
0
0
0
0
0
0
0
0
0
0
0
0
8
48
0
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
-58
-19
-70
-24
0
0
0
0
0
0
0
0
0
0
0
0
8
65
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-21
17
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-54
15
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-34
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
73
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-14
2
4
0
0
0
-3
0
0
0
0
0
0
0
-2
-4
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
4
3
-7
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
-1
7
2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
3
2
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-10
0
0
2
1
0
0
0
0
0
0
0
0
0
-9
-29
17
4
1
-4
5
0
-17
0
0
0
0
0
0
0
0
0
14
12
-3
0
0
5
3
-7
-7
0
0
0
0
0
0
0
4
-31
17
0
0
-3
-6
1
-16
-3
0
0
0
0
0
0
0
-29
9
44
8
-3
1
0
5
-25
0
0
0
0
0
0
0
0
18
4
6
65
0
0
4
0
0
0
0
0
0
0
0
0
0
-40
-14
-7
-9
-7
-24
3
-2
0
0
0
0
0
0
0
0
0
1
58
-3
-41
14
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
20
25
-59
-73
12
0
11
9
2
0
1
0
0
0
4
-7
17
0
22
8
46
78
-25
40
48
-3
1
0
0
0
0
0
7
-38
17
-4
-15
-31
4
-1
8
58
-3
4
1
0
0
0
0
-3
19
16
-15
67
117
-66
-57
-14
41
10
3
-3
0
0
0
0
0
17
-16
-8
78
47
-2
62
106
-3
-1
0
0
0
0
0
0
12
-1
-9
72
110
90
80
21
5
1
0
0
0
0
0
0
0
-16
8
4
16
43
14
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
23
58
-15
29
12
0
24
-41
13
0
1
0
0
0
0
32
27
1
-32
-55
36
-4
41
20
6
-4
-17
-4
0
0
0
0
-18
-69
113
-50
44
30
30
-35
-39
-53
1
6
0
0
0
0
0
0
63
-49
-67
39
60
-49
12
60
-53
-1
45
1
0
0
0
0
-40
20
-39
-22
1
6
-17
28
50
-1
25
14
0
0
0
0
0
-5
-105
71
17
-2
31
16
-1
-13
8
-12
0
2
1
0
0
0
13
-28
-30
127
-13
25
19
-4
-14
-16
-4
12
0
0
0
0
0
9
-79
-6
-34
41
12
24
59
15
-1
-6
-4
0
0
0
0
0
0
-5
-7
-39
28
16
-11
32
15
0
0
2
0
0
0
0
0
0
0
0
-5
-17
-94
-52
0
-17
-8
0
0
0
0
0
0
0
0
0
7
-46
-21
-56
20
5
-43
7
1
0
2
0
0
0
0
0
-2
9
27
17
72
-64
-46
-7
8
0
0
0
0
0
0
0
0
-1
36
74
-13
-3
-34
68
58
-10
0
0
0
0
0
0
0
0
1
-1
23
-103
-20
39
-10
14
17
0
0
0
0
0
0
0
0
0
0
8
13
13
-34
163
-19
0
0
0
0
0
0
0
0
0
0
3
-18
19
29
-36
-5
-2
0
0
0
0
0
0
0
0
0
0
0
50
54
51
58
-6
9
0
0
0
0
0
0
0
0
0
0
0
-1
32
71
-5
-33
-1
0
0
0
0
0
0
0
0
0
0
-4
28
-10
-76
75
0
-20
8
0
0
0
0
0
0
0
0
0
-5
13
29
4
31
-110
-12
40
0
8
0
0
0
0
0
0
-2
13
25
-45
64
46
11
29
16
-1
0
0
-1
0
0
0
0
0
14
-48
98
-14
38
-35
117
9
-1
0
-1
0
0
0
0
0
2
5
63
113
-24
37
110
22
-1
3
0
-1
0
0
0
0
0
0
2
-7
-80
15
39
-65
-17
4
0
0
0
0
0
0
0
0
3
-3
5
11
96
-23
11
126
-33
0
1
0
0
0
0
0
0
0
0
111
-65
25
-2
52
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
73
0
-2
0
0
0
0
0
0
0
0
0
0
22
22
-1
43
127
120
0
-35
-6
0
0
0
0
0
0
0
1
52
20
-38
-24
10
0
24
-9
24
5
0
0
0
0
0
-1
-20
18
0
-82
-19
64
20
26
2
-15
0
0
2
0
0
0
0
8
0
21
98
-26
53
-28
79
137
-5
-2
2
0
0
0
0
0
4
5
22
8
67
45
-18
-91
-24
0
1
0
0
0
0
0
0
-1
0
41
-81
-25
-6
83
33
0
0
0
0
0
0
0
0
-2
-1
-6
-20
101
54
98
16
0
2
0
0
0
0
0
0
0
0
0
0
2
5
15
4
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
16
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
12
-48
-16
-10
-15
0
0
0
0
0
0
0
0
0
0
0
-2
3
8
6
16
12
-4
0
0
0
0
0
0
0
0
0
-3
0
0
27
-13
66
4
-13
0
0
0
0
0
0
0
0
0
0
9
9
-3
60
13
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-29
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-15
5
0
-7
-1
0
0
0
0
0
0
0
0
0
1
9
40
74
-20
-27
79
-7
0
0
0
0
0
0
0
-1
0
13
4
45
73
-53
48
12
-7
-2
0
0
0
0
0
0
0
0
-5
54
113
13
38
70
1
19
1
0
0
0
0
0
0
-12
-2
7
67
18
22
59
-29
-30
-6
0
0
0
0
0
0
0
1
0
13
7
27
50
45
25
17
21
0
0
0
0
0
0
0
4
-29
-25
76
-16
-9
50
76
-43
2
1
0
0
0
0
0
0
0
0
2
-56
-22
17
61
7
15
-2
0
0
0
0
0
0
0
0
0
0
-3
-12
1
-16
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
19
-4
5
-1
-1
0
0
0
0
0
0
0
0
0
5
48
-28
53
23
-17
0
-3
-3
0
0
0
0
0
0
0
0
0
28
59
60
-12
-5
-16
-8
0
0
0
0
0
0
0
0
0
128
50
30
-21
-4
-2
-2
-8
0
0
0
0
0
0
0
0
4
66
68
60
20
9
2
-1
-3
0
0
0
0
0
0
0
0
-1
54
25
22
45
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-36
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
32
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-13
-8
3
1
0
-6
0
0
0
0
0
0
0
0
0
13
105
-7
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
8
84
21
22
2
-4
-2
0
2
0
0
0
0
0
0
0
0
-6
39
9
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
56
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
3
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
-41
20
0
0
0
0
0
0
0
0
0
0
0
0
6
9
62
-10
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
42
-58
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
-1
-8
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
-13
-1
0
1
2
-12
0
0
0
0
0
0
0
0
0
5
-8
0
4
8
8
-19
4
0
0
0
0
0
0
0
0
0
-13
0
0
12
13
22
-10
14
0
-5
0
0
0
0
0
0
0
6
1
0
-1
34
10
14
2
0
0
0
1
0
0
0
0
0
0
0
4
3
-8
12
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-1
0
4
0
0
6
4
10
5
2
0
0
-2
0
0
0
0
0
2
-1
3
24
10
3
15
-14
2
0
0
0
1
0
0
-5
0
-16
-12
-2
48
-8
47
-17
-3
-1
0
0
0
0
0
0
0
-10
-6
-22
-16
1
7
51
76
15
0
0
0
0
0
0
0
-3
10
-1
-9
45
43
-11
7
-37
0
0
0
0
0
0
0
0
5
0
0
-3
-1
-42
30
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
22
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
37
10
-34
-29
0
0
0
0
0
0
0
0
0
0
0
0
24
-57
62
-11
9
0
0
0
0
0
0
0
0
0
0
0
0
134
-3
20
54
-7
0
0
0
0
0
0
0
0
0
0
0
0
-47
3
38
33
-16
-1
0
0
0
0
0
0
0
0
0
0
0
16
64
-5
-25
-45
-7
17
2
0
0
0
-1
-1
0
0
0
0
1
-52
36
22
-37
26
21
9
1
4
-2
0
-1
0
0
0
0
0
7
-12
47
-15
8
-2
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
28
13
100
48
-27
-29
-14
0
0
0
-9
1
0
0
0
0
0
-26
32
-27
-6
34
49
32
0
0
15
-18
9
-1
0
0
0
0
53
16
20
-73
-4
104
117
16
31
41
12
3
0
0
0
0
0
-5
-3
67
10
66
92
42
40
-65
-1
-3
4
-1
0
0
0
0
21
38
20
-48
53
48
43
104
23
14
-6
-9
-1
-2
0
0
0
-10
21
-35
-21
40
-19
20
-19
20
30
-3
3
-4
2
0
0
0
0
26
-17
10
-26
-42
16
7
8
-4
-6
-2
0
0
0
0
0
0
-3
-1
15
9
24
17
1
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-34
35
35
-10
23
57
0
0
4
1
0
0
0
0
0
0
-20
48
-6
14
47
35
72
-41
33
-13
-2
4
2
0
0
0
0
-10
68
8
40
-25
139
-23
29
7
5
-7
-3
-1
0
0
0
0
16
-65
32
25
-8
9
-33
80
25
-43
5
-25
-2
1
-1
0
0
70
-60
30
-16
5
-21
29
190
89
21
21
-10
2
0
0
0
0
8
19
-19
-37
-32
27
55
-12
-55
-23
43
6
4
0
0
0
0
30
45
-20
-21
-26
-65
16
42
-35
-19
-12
6
-3
0
0
0
0
0
-8
-47
-5
-43
-13
9
-32
-43
-9
4
0
0
0
0
0
0
0
0
-16
-16
-6
-83
2
-10
-8
4
-1
-2
0
0
0
0
0
-50
-18
-175
17
14
5
-5
0
0
0
0
0
0
0
0
0
0
1
-44
41
-105
98
-5
27
0
-3
0
0
0
0
0
0
0
0
39
-34
-34
63
80
9
9
14
1
0
0
0
0
0
0
0
0
-24
-65
-13
-76
-14
8
8
24
-1
0
0
0
0
0
0
0
0
-31
58
-46
61
4
48
44
-1
3
2
0
0
0
0
0
0
0
-62
18
-4
-30
-56
-14
7
-20
-10
0
-1
0
0
0
0
0
0
-9
7
-14
-10
-14
46
-29
-2
-6
0
0
0
0
0
0
0
0
9
45
16
-49
40
30
-17
-5
-1
0
1
1
0
0
0
0
0
-37
16
53
53
-13
4
-2
0
0
0
0
0
0
0
0
0
0
-43
-8
62
40
2
35
-48
33
0
0
0
0
0
0
0
0
0
-26
17
118
11
-49
116
0
5
2
0
0
0
0
0
0
0
0
52
43
-54
-21
59
-39
56
-42
0
0
0
0
0
0
0
0
0
-77
9
-75
29
-90
-87
107
16
-3
0
0
0
0
0
0
0
0
-18
27
50
-104
-9
1
-54
1
0
0
-1
-1
0
0
0
0
0
-23
73
-12
4
4
12
18
79
3
0
0
0
0
0
0
0
0
-47
-46
-8
-32
-11
59
52
-29
-4
0
-1
0
0
0
0
0
0
-20
-5
-9
-72
-19
-25
-1
-7
17
3
0
0
0
0
0
0
0
0
0
87
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-31
54
48
-14
-21
-12
0
0
7
-13
0
0
0
0
0
0
6
-30
43
17
38
23
-29
0
15
0
4
1
0
0
0
0
0
-53
11
52
36
94
53
-17
53
-6
-115
-8
-2
0
0
0
0
0
1
-17
37
30
13
71
58
-8
60
-32
5
-1
0
0
0
0
0
8
11
36
-47
46
45
-41
75
-38
-40
1
0
-1
1
0
0
0
-1
-9
32
-28
-51
-1
-7
-36
18
-10
-23
-2
0
0
0
0
0
0
17
-2
-100
-31
88
-32
63
3
-10
-3
0
0
0
0
0
0
0
0
2
40
7
14
31
-2
1
0
-3
0
0
0
0
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
30
-18
3
1
0
0
0
0
0
0
0
0
0
0
1
-14
-20
45
19
-12
0
0
-2
0
14
0
0
0
0
0
0
7
1
64
23
33
10
2
0
-25
-27
-2
0
0
0
0
0
0
0
-19
48
2
4
-35
14
9
-29
7
0
0
0
0
0
0
0
0
46
-12
78
18
16
-20
9
16
-10
0
0
0
0
0
0
0
0
15
31
26
111
58
-5
-4
-7
-4
0
0
0
0
0
0
0
0
4
7
-51
77
-18
1
-7
-19
0
0
0
0
0
0
0
0
0
0
6
58
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-60
15
31
-69
3
3
0
0
0
0
0
0
0
0
0
0
-4
-19
-33
-55
24
20
0
0
0
-13
-15
0
0
0
0
0
0
19
20
46
21
58
-18
1
0
0
-9
0
0
0
0
0
0
0
43
-15
-62
46
-82
15
3
-5
-25
-14
8
0
0
0
0
0
0
11
-52
58
-23
19
17
-8
-7
-52
-22
0
0
0
0
0
0
0
33
9
-22
20
-32
4
-11
48
55
19
0
0
0
0
0
0
0
7
2
4
62
-2
40
-18
-13
29
17
0
0
0
0
0
0
0
-4
11
-30
-5
21
11
4
0
4
0
0
0
0
0
0
0
0
4
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-86
39
30
-12
-27
0
0
-8
0
0
0
0
0
0
0
0
-4
-54
-44
10
8
1
0
-2
-2
0
0
0
0
0
0
0
0
6
29
80
5
-7
0
0
-4
1
0
0
0
0
0
0
0
0
3
-10
41
48
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
-47
8
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
19
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
30
4
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-18
8
0
4
1
2
-2
1
0
0
0
0
0
0
0
0
2
-34
18
3
-1
-2
-2
4
0
0
0
0
0
0
0
0
2
2
23
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
3
-3
2
-8
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-12
25
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
2
3
-4
-7
12
-3
0
-2
0
0
0
0
0
0
0
0
0
-5
0
-4
0
12
-3
-14
0
6
0
0
0
0
0
0
0
0
0
5
0
3
1
-15
-8
-5
0
0
0
0
0
0
0
0
0
-7
-4
2
4
26
6
-6
-1
0
0
0
0
0
0
0
0
-2
0
1
-1
-10
6
-5
1
6
-16
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-7
-3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
-6
-8
20
-4
0
4
20
0
0
0
0
0
0
0
8
7
-13
117
77
5
-60
-10
46
16
-17
0
0
0
0
0
0
8
-8
14
-6
81
39
-42
-17
-35
-3
19
3
-1
0
0
0
0
-3
12
20
72
175
83
69
-8
0
-8
0
0
0
0
0
0
0
0
23
-16
71
100
52
-49
-15
-12
-6
0
0
0
0
0
0
0
0
0
-8
5
12
-47
47
72
0
1
-3
0
0
0
0
0
0
0
0
0
0
14
50
19
38
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
18
50
8
8
19
0
-48
10
1
1
0
0
0
0
0
12
-11
51
45
8
-6
-20
-39
-10
14
-1
-1
3
1
0
0
0
0
141
10
-56
-7
14
14
-9
4
61
8
-7
0
0
0
0
0
-5
18
-64
-38
18
-2
16
19
-56
12
14
4
6
1
0
0
0
0
-19
-17
45
11
50
32
-32
70
54
-3
2
-1
0
0
0
0
0
9
42
29
88
44
-7
-15
-23
7
9
2
-2
-4
0
0
0
-6
-4
50
11
57
50
64
21
-39
-14
-2
0
1
0
0
0
0
0
0
9
33
33
22
-39
59
12
-2
0
2
0
0
0
0
0
0
0
0
-45
36
33
-4
1
8
0
0
0
0
0
0
0
0
0
0
0
4
21
-64
-24
0
-43
-9
-5
1
0
-1
-1
0
0
0
6
20
-3
-2
65
39
-26
-17
29
15
-1
-3
0
-1
-1
0
0
2
-24
-30
-7
7
21
96
40
8
-14
4
0
0
0
0
0
0
1
30
44
26
20
83
20
-39
29
-4
0
0
0
0
0
0
0
0
9
-2
21
44
9
71
107
17
3
0
0
0
1
0
0
0
0
1
1
31
108
143
33
-27
45
-10
0
0
0
0
0
0
0
0
0
-3
-4
41
-7
-49
-50
-31
-37
1
-2
-1
-1
0
0
0
0
0
-1
22
4
71
-46
-57
-10
31
-9
0
0
-1
0
0
0
0
0
0
-2
8
91
-42
-60
41
-33
-8
0
8
0
0
0
0
0
19
56
61
-49
-3
0
82
-1
7
-2
0
0
0
0
0
0
-1
-29
-30
-46
-49
-20
-21
-26
20
-5
3
0
0
0
0
0
0
-5
-9
20
-16
-40
-20
24
21
12
1
0
1
0
0
0
0
0
-3
12
54
-76
7
-15
84
12
12
1
0
0
0
0
0
0
0
-6
1
34
7
82
59
-18
-50
30
8
1
0
0
0
0
0
0
0
3
-4
84
62
21
-23
-20
-26
-22
1
2
0
0
0
0
0
0
0
13
222
49
43
-12
21
59
22
0
-1
0
0
0
0
0
0
0
-4
8
2
-13
-47
-30
13
-4
2
2
-2
-1
0
0
0
0
0
0
0
65
-8
1
0
0
0
0
0
0
0
0
0
0
-2
-1
67
14
109
56
0
29
-8
-2
0
0
0
0
0
0
15
1
49
20
76
74
52
-21
-10
4
0
0
0
0
0
0
0
-25
4
-5
52
-8
32
112
36
6
5
1
3
0
0
0
0
0
0
-4
26
111
-22
-8
63
156
-3
-2
0
0
0
0
0
0
0
-1
7
0
105
52
28
104
51
8
0
-1
0
0
0
0
0
0
0
0
-1
58
63
-10
70
20
-27
-2
0
0
0
0
0
0
0
0
0
0
1
-65
-116
-42
-43
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
29
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
22
3
-24
41
-13
0
0
0
0
0
0
0
0
0
2
-9
39
29
16
2
17
-2
0
0
0
0
0
0
0
0
0
0
-7
13
20
31
82
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
15
13
-24
0
0
0
0
0
0
0
0
0
0
0
14
-1
38
13
-76
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
24
-6
24
0
-22
-7
0
0
0
0
0
0
0
0
-4
1
31
-10
6
111
35
3
0
0
1
0
0
0
0
0
-1
-3
-1
-4
69
99
56
63
24
1
4
0
0
0
0
0
0
0
0
9
40
158
59
-85
58
-45
-3
-2
0
0
0
0
0
0
1
0
6
115
27
114
140
-87
-26
-22
0
0
0
0
0
0
0
0
0
8
22
51
89
-27
31
57
0
-1
-1
0
0
0
0
0
0
0
0
-2
59
94
-61
-35
2
6
0
0
0
0
0
0
0
0
0
0
1
-14
-30
58
-80
23
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-63
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
21
31
22
23
-4
0
0
-1
0
0
0
0
0
0
0
0
0
58
-7
-16
25
-2
2
0
0
-3
0
0
0
0
0
0
0
4
2
121
-18
23
0
9
-4
8
-3
0
0
0
0
0
0
0
-3
70
73
-49
-3
-7
-6
-2
-1
0
0
0
0
0
0
0
0
-5
14
-10
-36
-32
39
0
3
3
-1
0
0
0
0
0
0
0
0
-4
46
-54
73
-13
0
0
-1
0
0
0
0
0
0
0
0
0
-7
2
-33
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-17
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-70
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
9
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-57
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
59
7
6
-1
0
0
2
0
0
0
0
0
0
0
0
2
-21
-4
5
13
8
0
-4
0
0
0
0
0
0
0
0
0
8
2
48
1
-19
-2
0
-1
0
0
0
0
0
0
0
0
0
0
17
-23
36
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
47
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
16
68
-25
1
0
0
-3
0
0
0
0
0
0
0
0
0
-2
2
20
30
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
-57
15
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
38
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
7
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
14
30
-43
4
40
0
4
0
0
0
0
0
0
0
0
0
0
0
29
1
-6
20
7
3
-1
3
0
0
0
0
0
0
0
0
0
7
-5
-5
-57
23
-15
7
0
4
0
8
0
0
0
0
0
0
0
2
-28
-33
-30
-33
-17
-1
3
2
0
0
0
0
0
0
0
0
0
1
-12
-8
-2
-58
2
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
51
0
9
1
2
0
0
9
6
0
0
0
0
0
0
-1
9
-19
0
-1
-3
8
-7
0
0
0
0
0
0
0
0
0
0
-7
-45
12
55
38
24
-4
0
0
0
-1
0
0
0
0
0
0
0
47
-5
-65
-76
-60
-15
-8
0
0
-1
4
0
0
0
0
0
0
6
46
-45
-42
22
-46
6
-1
-1
0
-2
0
0
0
0
0
0
0
-1
-12
35
-15
33
19
1
0
0
0
0
0
0
0
0
0
0
0
0
40
-36
13
-3
1
0
0
0
0
0
61
30
9
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
4
26
-19
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
72
37
16
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
45
-32
9
17
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
45
-5
16
1
0
0
0
0
0
0
0
0
0
0
0
0
42
15
9
-7
-3
4
0
1
0
0
0
-1
0
0
0
0
0
3
16
3
0
4
0
0
2
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
49
31
-75
46
36
1
0
0
0
0
0
0
0
0
0
0
-25
-27
28
-6
-69
-4
-18
0
0
1
1
4
1
0
0
0
0
12
-50
-18
-22
51
14
17
48
38
14
-1
0
0
0
0
0
0
59
-43
-15
50
-40
-51
-29
29
-5
0
1
1
0
0
0
0
0
41
-22
62
-25
1
-21
2
15
-38
-12
3
-4
-2
0
0
0
0
0
-5
10
65
33
-41
-33
-20
13
1
0
-4
-1
0
0
0
0
0
0
-3
-70
73
1
-6
-30
-22
-19
0
-1
0
0
-1
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
15
3
10
4
0
0
7
-2
0
0
0
0
0
0
-10
41
33
15
30
5
-28
32
-12
2
-3
0
0
0
0
0
0
-34
47
27
37
-6
0
14
-43
32
-8
0
-2
-4
0
0
0
0
-5
35
35
-17
16
43
129
14
115
-5
-49
15
0
0
0
0
0
4
-70
67
-16
6
40
52
38
44
-25
-8
-16
0
0
0
0
0
0
6
33
-55
-25
29
60
-20
60
3
17
-3
-1
0
0
0
0
0
-1
35
12
28
-71
34
-135
64
-16
-8
0
0
0
0
0
0
0
0
99
41
-48
15
-18
-18
-45
0
0
0
0
0
0
0
0
0
0
18
76
26
-21
0
0
0
0
0
0
0
0
0
0
0
-7
113
42
-6
61
50
-29
0
0
0
0
0
0
0
0
0
0
1
19
19
53
68
-76
52
41
5
0
0
0
0
0
0
0
0
1
1
58
40
7
-38
65
18
2
0
0
0
0
0
0
0
0
6
-25
13
-3
42
17
23
13
42
1
0
0
0
0
0
0
0
0
-2
16
-4
-61
78
-1
3
-16
0
0
0
0
0
0
0
0
0
4
-1
25
-2
44
41
-41
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
19
8
21
4
0
0
1
0
0
0
0
0
0
0
7
0
-20
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
15
80
79
-64
-27
-4
0
0
0
0
0
0
0
0
0
-13
94
76
49
22
0
0
20
0
0
0
0
0
0
0
0
0
43
-19
-1
7
-23
76
30
16
-2
0
0
0
0
0
0
0
0
41
-60
-39
19
-5
29
-10
19
-2
0
-6
0
0
0
0
0
0
0
1
13
89
-78
81
-25
-42
10
0
0
0
-1
0
0
0
0
4
-1
5
51
-6
-15
15
91
0
0
0
0
0
0
0
0
0
0
67
24
-1
-10
-9
-27
-4
0
0
0
0
0
1
0
0
0
-3
0
0
6
-12
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
12
28
-84
70
82
0
0
-9
1
-1
0
0
0
0
0
8
-23
2
-26
37
92
47
0
28
0
0
-3
0
0
0
0
0
0
25
13
46
-21
28
-38
-48
16
-3
7
1
0
0
0
0
0
85
19
60
26
-42
50
32
31
-1
20
0
-4
0
0
0
0
0
0
-16
58
10
44
-19
13
9
-26
-25
15
1
-1
0
0
0
0
0
18
21
-47
23
-28
64
100
-48
12
0
-1
0
0
0
0
0
0
0
-4
33
-32
67
57
-68
-53
-29
-3
0
-1
0
0
0
0
0
0
0
0
-9
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-15
14
0
1
0
0
0
0
0
0
0
0
0
0
0
-25
-40
-56
-44
23
-24
0
0
0
0
0
0
0
0
0
0
-4
8
-6
18
-77
9
-33
-1
4
0
0
0
0
0
0
0
0
0
-10
-8
-49
3
-85
5
34
20
-2
0
0
0
0
0
0
0
0
0
15
-14
-48
-52
-26
30
24
15
0
0
0
0
0
0
0
0
0
-2
18
2
-31
-4
-33
-13
12
0
0
0
0
0
0
0
0
0
0
0
25
-4
-10
33
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
49
-9
26
-1
0
0
0
0
0
0
0
0
0
0
0
1
88
110
-41
-32
54
1
0
0
0
0
0
0
0
0
0
0
-13
-36
52
-84
46
84
-4
4
3
0
0
0
0
0
0
0
0
-8
89
82
68
51
21
-7
-2
31
-1
0
0
0
0
0
0
0
2
16
3
69
4
6
41
9
-3
29
0
1
0
0
0
0
0
0
-21
79
-12
-33
6
0
-51
13
72
6
0
0
0
0
0
0
0
0
8
25
67
48
0
-29
-5
34
4
0
0
0
0
0
0
0
-2
-4
2
-6
-29
-2
-42
47
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
4
0
-56
-24
57
-27
0
0
0
0
0
0
0
0
0
0
0
0
-36
7
33
27
-36
13
0
0
0
0
0
0
0
0
0
0
0
-41
-14
10
-62
23
6
0
0
0
0
0
0
0
0
0
0
0
-34
-6
-28
-24
15
-2
0
0
0
0
0
0
0
0
0
0
0
21
40
61
14
-140
0
0
0
0
0
0
0
0
0
0
0
0
29
-57
-61
-94
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-137
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-53
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
46
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-12
18
0
0
0
0
0
0
0
0
0
0
0
0
3
5
50
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-17
-44
8
2
0
0
0
0
0
0
0
0
0
0
0
-1
-36
4
-8
-8
0
0
0
0
0
0
0
0
0
0
0
7
-4
13
-75
-48
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-31
27
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
30
8
16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-13
59
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
81
65
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
14
-6
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-17
13
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-16
-16
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
8
78
-4
0
0
0
0
0
0
0
0
22
-24
-43
0
3
0
21
7
8
0
0
0
0
0
0
0
0
3
-68
-6
22
23
6
-7
-2
0
0
0
0
0
0
0
0
-3
0
-25
7
18
7
-8
7
3
0
0
0
0
0
0
0
0
0
7
-22
-29
-11
14
-5
0
0
0
0
0
0
0
0
0
0
0
1
-63
-26
-9
-17
0
-5
0
0
0
0
0
0
0
0
0
0
-10
-92
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
5
-24
6
-2
1
0
0
0
0
0
0
-1
0
-4
34
41
-1
20
-9
2
-19
1
0
0
0
0
0
0
-3
8
-23
8
29
-48
7
4
8
0
0
0
0
0
0
0
0
0
-7
-90
52
30
1
-16
6
-1
4
0
0
0
0
0
0
0
0
-10
-42
-62
-36
-17
-16
17
7
0
0
0
0
0
0
0
0
0
-6
39
59
-8
-38
1
2
7
1
0
0
0
0
0
0
0
0
0
-20
2
5
-4
0
-5
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-26
72
10
-48
58
9
0
0
0
0
0
0
2
0
0
0
24
109
-7
-5
-12
37
57
0
0
0
0
0
0
-4
16
-20
13
66
115
17
70
48
-9
-23
0
0
0
0
0
0
0
-17
4
53
31
23
34
13
-35
37
14
0
0
0
0
0
0
-3
-4
2
59
85
2
60
42
49
35
29
0
0
0
0
0
0
1
-18
10
-41
27
10
15
49
-48
18
4
0
0
0
0
0
0
0
-13
13
-4
-2
29
9
19
47
85
0
0
0
0
0
0
0
-2
-6
0
0
-2
25
-5
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
0
0
2
-7
-24
-38
-51
31
7
0
0
0
0
0
0
0
2
-54
18
-46
-29
-12
-2
-8
26
6
0
0
0
0
0
0
0
23
-98
-59
-23
-12
-3
-4
-5
-14
7
0
0
0
0
0
0
1
20
-15
65
54
-11
-29
-3
-8
86
5
0
0
0
0
0
-1
29
-41
31
-29
24
-61
-10
-31
-14
14
44
0
0
0
0
0
-2
-8
6
18
-82
-58
-46
-34
-13
18
-17
12
0
0
0
0
0
0
0
-4
-80
-67
-44
-57
-99
-3
-75
48
0
0
0
0
0
0
0
0
1
6
20
14
17
-12
-19
-4
13
0
0
0
0
0
0
0
0
0
0
0
41
-13
29
116
-66
0
0
0
0
0
0
0
0
0
0
0
0
-6
64
-124
-67
33
92
-43
0
0
0
0
0
0
0
0
48
-25
-28
49
61
8
31
8
-3
0
0
0
0
0
0
0
0
-24
-21
-14
97
2
-10
-44
76
8
0
0
0
0
0
0
0
0
-8
12
20
83
48
11
6
62
8
0
0
0
0
0
0
0
0
0
-4
67
41
45
-33
18
30
-8
0
0
0
0
0
0
0
0
0
-3
-27
-9
3
39
-8
-29
0
0
0
0
0
0
0
0
0
-3
0
-17
-21
-19
-36
14
29
0
0
0
0
0
0
0
0
0
0
-3
-2
7
-8
-77
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
42
0
0
0
0
0
0
0
0
1
0
76
14
-36
71
29
-3
27
-18
0
0
0
0
0
0
0
0
13
126
0
-33
26
-13
-18
-40
63
0
0
0
0
0
0
0
0
3
7
36
-36
-45
-15
8
-82
12
0
0
0
0
0
0
0
0
3
-26
34
-9
-70
30
-18
42
68
0
0
0
0
0
0
0
0
8
-5
-8
48
-138
1
-11
48
115
0
0
0
0
0
0
0
0
0
-51
-61
-76
67
22
35
62
-30
0
0
0
0
0
0
0
0
0
-43
-5
19
26
53
36
9
0
0
0
0
0
0
0
0
0
0
0
8
-4
10
35
-2
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
6
0
0
-45
17
-28
-17
-20
-82
-8
0
0
0
0
-2
-5
-6
0
-55
0
73
0
-7
-5
-45
-24
3
0
0
0
0
0
0
-1
-11
58
76
-34
12
-2
-26
-25
-23
-24
0
0
0
0
0
0
0
12
-12
-28
8
31
-43
-20
22
48
-34
0
0
0
0
0
0
-5
-50
10
18
56
42
7
0
21
-11
-3
0
0
0
0
0
0
-1
14
33
-106
37
81
-28
103
-36
99
0
0
0
0
0
0
0
0
1
-19
1
52
-29
106
19
-7
0
0
0
0
0
0
0
0
0
-14
1
-4
1
-9
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-45
-100
38
-68
2
6
0
0
0
0
0
0
0
0
-2
0
-6
-29
30
-6
-1
0
4
0
0
0
0
0
0
-4
2
28
15
5
39
6
10
-29
5
-2
0
0
0
0
0
0
0
2
4
143
95
48
43
-16
-40
-14
-3
0
0
0
0
0
0
0
-9
0
-9
-17
-32
-13
102
50
8
-62
0
0
0
0
0
0
0
2
-3
-48
2
-80
50
15
37
25
0
0
0
0
0
0
0
0
0
-10
5
2
-10
59
8
67
0
0
0
0
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-24
125
-12
26
15
0
0
0
0
0
0
0
0
0
0
27
62
143
122
81
65
19
0
0
0
0
0
0
0
2
-2
-1
104
179
117
125
18
-88
9
0
0
0
0
0
0
-1
27
1
0
111
115
-13
38
-47
51
57
0
0
0
0
0
0
0
0
-9
4
39
-63
-1
23
63
30
-5
0
0
0
0
0
0
0
22
-8
-1
3
27
131
88
19
-23
21
0
0
0
0
0
0
0
3
48
-1
16
91
53
135
23
-65
0
0
0
0
0
0
0
0
0
5
1
0
28
-48
-98
79
-12
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
20
44
73
54
-28
1
0
0
0
0
0
0
0
-1
-1
-5
6
48
41
17
91
153
4
0
0
0
0
0
0
0
0
0
0
3
-2
45
36
-84
103
0
0
0
0
0
0
0
0
0
0
0
0
0
23
2
86
57
-1
0
0
0
0
0
0
0
0
0
0
0
1
57
-11
81
-33
9
0
0
0
0
0
0
0
0
0
0
0
-1
15
2
-8
123
3
0
0
0
0
0
0
0
0
0
0
0
0
28
29
27
40
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
0
-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
1
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
3
-14
90
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
5
2
17
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
36
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-84
128
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
65
4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-64
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
55
-75
-16
1
-2
0
0
0
0
0
0
0
0
0
0
0
-4
53
149
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
35
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
84
99
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
69
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
26
9
30
-25
25
-9
0
0
0
0
0
0
0
0
0
31
-33
34
55
-16
-38
5
-24
1
0
0
0
0
0
0
0
0
-6
42
7
56
13
17
2
-2
0
0
0
0
0
0
0
0
0
-2
-1
-46
-20
36
-8
-8
6
0
0
0
0
0
0
0
0
0
23
-3
-42
12
4
14
4
-8
0
0
0
0
0
0
0
0
0
5
20
0
-30
1
45
28
6
-2
0
0
0
0
0
0
0
0
7
2
3
-1
4
24
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
22
-1
-3
25
24
0
0
0
0
0
0
0
0
0
0
39
-27
0
-4
0
-10
2
1
0
0
0
0
0
0
0
0
-24
7
-6
5
-10
43
0
18
0
0
0
0
0
0
0
-2
-7
-12
-26
-5
-9
-8
2
-30
-25
0
0
0
0
0
0
0
0
75
88
12
-35
-52
57
-12
14
-17
6
0
0
0
0
0
0
0
-18
46
-51
12
31
33
62
5
18
8
0
0
0
0
0
0
0
1
-6
8
-23
-17
8
25
53
-13
-1
0
0
0
0
0
0
0
-2
0
4
0
0
27
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
16
0
-21
-5
28
10
-16
-14
7
0
0
0
0
0
0
-7
-66
22
-20
-46
-18
-28
69
46
4
5
0
0
0
0
0
0
-55
-50
-32
-18
-42
11
-3
11
73
65
-6
0
0
0
0
0
0
-3
-1
-3
11
-41
25
-19
-6
28
-36
6
3
0
0
0
0
0
-2
-69
-19
33
11
2
-46
11
1
50
-3
0
0
0
0
0
0
0
8
-17
-38
-22
60
7
-40
45
-2
0
0
0
0
0
0
0
0
-1
2
-19
-32
21
13
7
2
1
0
0
0
0
0
0
0
0
0
-1
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-14
0
-23
-35
-10
-8
-43
70
13
0
0
0
0
0
-3
-1
-66
-8
-59
-8
4
-8
-16
-8
90
-23
0
0
0
0
0
0
8
-1
50
-6
-2
-7
15
13
-46
-88
9
0
0
0
0
0
0
6
28
-51
-8
-29
-10
3
18
3
61
29
0
0
0
0
0
0
8
64
-26
-37
4
8
12
60
87
45
-6
0
0
0
0
0
3
1
-1
-37
4
-27
19
-2
20
39
27
7
0
0
0
0
0
0
-1
-7
101
1
-52
0
-23
41
92
38
2
0
0
0
0
0
0
0
0
-36
-15
-10
14
-51
31
-34
-20
0
0
0
0
0
0
0
0
0
-5
-21
-32
1
-50
21
0
0
0
0
0
0
0
0
0
0
0
-14
0
-47
-13
43
5
6
0
0
0
0
0
0
0
19
-27
5
0
-11
17
18
84
-29
8
12
0
0
0
0
0
1
-37
-46
36
4
-4
-27
-81
-46
45
-20
2
0
0
0
0
0
0
-3
24
23
-4
2
4
-23
-59
42
-22
-4
0
0
0
0
0
0
3
18
-10
16
2
38
-66
-6
-7
1
0
0
0
0
0
0
0
7
30
-26
0
7
-28
-43
-41
30
25
0
0
0
0
0
0
-6
7
-18
-13
9
3
-75
-77
-14
-96
0
0
0
0
0
0
-2
-1
3
28
10
-3
-33
-35
-38
3
36
0
0
0
0
0
0
0
-1
-2
25
1
41
0
9
-68
-3
4
0
0
0
0
0
0
0
0
0
-25
-19
-30
0
6
-14
65
-1
59
0
0
0
0
0
0
0
0
-3
-16
24
19
-18
-25
25
-1
-79
23
0
0
0
0
0
0
0
-3
-5
26
-23
-45
0
-86
-60
-41
3
0
0
0
0
0
0
2
5
-18
15
-13
-13
13
-19
-11
16
6
0
0
0
0
0
0
0
-12
28
39
-12
-17
8
123
76
15
10
0
0
0
0
0
0
0
-8
-4
23
-8
36
-2
71
-79
0
22
0
0
0
0
0
0
0
-8
-64
23
-19
44
-17
21
4
6
0
0
0
0
0
0
0
0
-1
-38
2
-4
-44
5
-5
-43
-1
0
0
0
0
0
0
0
0
0
0
0
2
-8
-22
0
0
0
0
0
0
0
0
0
0
0
-36
-16
-21
0
-2
8
42
50
102
-4
-17
0
0
0
0
0
0
-14
-7
-6
5
-2
-6
-4
76
102
-22
-98
8
0
0
0
1
0
-13
0
-38
-7
-8
-1
10
20
75
63
27
23
0
0
0
0
0
-1
-4
-44
-20
-7
39
25
21
28
77
-17
-5
0
0
0
0
0
0
1
-101
-52
-15
10
-29
57
5
93
1
-3
0
0
0
0
0
-2
3
-91
-108
-32
-10
18
3
-38
3
0
0
0
0
0
0
0
-1
2
-14
-112
-74
-84
-45
131
51
-19
-4
0
0
0
0
0
0
0
0
-8
2
-32
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-21
0
4
-51
6
-40
-4
-4
1
3
0
0
0
0
0
0
-13
0
-66
-30
42
14
-1
13
9
-23
1
0
0
0
0
0
0
0
1
-78
58
-135
66
30
8
-3
6
-2
0
0
0
0
0
0
0
-64
77
21
11
-74
48
40
0
-2
0
0
0
0
0
0
0
0
-48
6
22
-16
69
25
-24
0
0
0
0
0
0
0
0
0
23
27
15
-3
64
106
-2
-20
2
0
0
0
0
0
0
0
0
0
13
42
64
11
33
-12
2
0
0
0
0
0
0
0
0
0
0
1
1
22
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
-19
0
-15
-43
-28
-8
3
-13
-14
0
0
0
0
0
0
-5
-17
0
-35
-26
0
-35
34
-44
0
-8
-1
0
0
0
0
0
-5
-20
-2
-30
-21
-31
16
-36
13
3
25
0
0
0
0
0
0
-1
-22
-55
-56
6
22
9
-56
11
8
7
0
0
0
0
0
0
1
34
1
-10
4
8
11
81
5
16
7
5
0
0
0
0
0
-5
-44
38
0
18
-4
-6
14
46
-15
-4
0
0
0
0
0
0
5
6
37
4
-3
-59
47
1
7
5
-1
0
0
0
0
0
0
0
0
-4
22
7
12
69
2
4
0
0
0
0
0
0
0
0
0
1
0
-7
-2
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
2
-14
0
0
33
0
0
0
0
0
0
0
0
0
0
0
-1
-4
30
14
-10
-23
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-58
86
6
-3
0
0
0
0
0
0
0
0
0
0
0
-4
46
-26
48
40
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-89
10
-43
47
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-67
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-83
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-3
32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-30
7
81
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
34
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
-23
3
-19
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
20
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-102
-8
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-3
1
0
0
0
0
0
0
0
0
0
-5
3
25
2
14
11
-16
0
0
0
0
0
0
0
0
0
0
5
4
12
-16
-42
-65
8
-1
0
0
0
0
0
0
0
0
0
3
22
12
-44
21
25
0
-1
0
0
0
0
0
0
0
0
0
3
0
-70
3
-39
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-7
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
-5
0
0
0
0
0
0
0
0
0
3
17
48
5
17
-30
-19
3
-12
0
0
0
0
0
0
0
0
1
15
15
2
13
17
66
-31
5
1
0
0
0
0
0
0
0
0
5
33
-16
24
-8
13
-10
6
1
0
0
0
0
0
0
0
0
-6
-32
36
3
-15
-16
-27
-25
-2
0
0
0
0
0
0
0
0
1
3
-24
4
-1
-20
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
48
52
0
-12
16
90
0
0
0
0
0
0
40
10
0
0
33
126
91
29
21
20
37
0
0
0
0
0
0
0
6
88
-54
16
120
98
49
20
70
56
0
0
0
0
0
0
0
-22
30
-21
6
28
62
43
-30
-49
14
0
0
0
0
0
0
0
1
-30
-13
68
52
58
63
74
119
16
0
0
0
0
0
0
0
-4
1
16
24
26
68
79
100
-55
4
0
0
0
0
0
0
0
0
3
3
9
24
-86
-9
61
-94
1
0
0
0
0
0
0
0
0
0
0
4
-17
-47
45
-6
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-32
-52
-3
-30
-13
27
-1
0
0
0
0
0
0
0
-30
-52
66
-50
0
-4
-11
-9
-57
42
0
0
0
0
0
0
-1
14
43
-39
-42
-8
3
4
22
-66
-27
0
0
0
0
0
0
10
0
-85
25
50
-44
16
10
-15
-25
23
0
0
0
0
0
1
0
-15
-27
-44
-64
-20
4
46
-17
117
12
0
0
0
0
0
0
-1
-2
20
74
-31
-12
23
7
1
9
8
0
0
0
0
0
0
0
-57
-61
28
-58
-8
-2
-7
0
-7
-7
0
0
0
0
0
0
0
0
7
68
13
-78
-1
3
-11
11
0
0
0
0
0
0
0
0
0
0
-25
51
31
-58
2
-10
0
0
0
0
0
0
0
0
0
1
0
0
18
45
22
61
55
43
55
0
0
0
0
0
0
0
0
1
8
-1
-81
31
-39
63
13
27
0
0
0
0
0
0
0
0
13
-18
61
-5
92
84
25
-56
-19
0
0
0
0
0
0
0
0
0
38
71
89
31
27
117
26
29
0
0
0
0
0
0
0
-2
-2
0
66
32
22
138
102
40
-30
0
0
0
0
0
0
0
0
-1
-5
8
24
59
85
62
9
34
0
0
0
0
0
0
0
0
0
0
71
-2
31
81
-52
4
27
0
0
0
0
0
0
0
0
0
0
5
70
126
52
82
-24
-12
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-11
22
-29
33
0
0
0
0
0
0
0
0
0
17
29
49
45
-5
-3
-5
1
0
0
0
0
0
0
0
0
-5
47
0
44
35
-2
-3
52
-73
0
0
0
0
0
0
0
0
24
21
-8
-32
-46
50
-2
77
53
0
0
0
0
0
0
0
1
-21
-20
-16
71
138
55
8
-10
74
0
0
0
0
0
0
0
-1
-5
-1
-107
-37
49
93
19
-58
-13
0
0
0
0
0
0
0
0
0
62
-31
-27
9
26
45
-11
-25
0
0
0
0
0
0
0
0
1
6
60
-6
-21
68
42
-3
-43
0
0
0
0
0
0
0
0
0
1
0
84
137
-26
13
3
54
0
0
0
0
0
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
0
0
-2
0
1
0
0
62
58
-20
-10
10
18
46
0
0
0
0
0
0
8
0
16
0
76
4
41
8
31
-22
-26
0
0
0
0
0
0
-6
9
-29
27
-98
38
47
51
20
21
15
0
0
0
0
0
0
0
13
19
-35
11
7
22
41
34
3
-6
0
0
0
0
0
0
0
-10
-12
-8
-23
26
26
-45
40
-5
72
0
0
0
0
0
0
0
0
-4
64
-120
12
35
22
13
19
0
0
0
0
0
0
0
0
0
-3
-3
86
-48
2
-8
-40
-9
10
0
0
0
0
0
0
0
0
0
0
4
41
-62
14
-53
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
23
6
-5
0
0
0
0
0
0
0
0
0
0
-1
-19
42
95
-19
12
-22
0
0
0
0
0
0
0
0
0
2
0
-111
78
-98
-28
-24
33
0
0
0
0
0
0
0
0
0
-2
-10
-22
24
-19
-28
-38
-73
-1
0
0
0
0
0
0
0
0
-3
7
53
-29
13
-15
21
-48
-7
0
0
0
0
0
0
0
0
0
-5
-18
36
-16
-43
9
-20
-3
0
0
0
0
0
0
0
0
0
-2
-11
22
-8
34
-86
-17
0
0
0
0
0
0
0
0
0
0
-7
-35
10
140
22
24
8
0
0
0
0
0
0
0
0
0
0
0
0
14
1
69
29
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
172
104
102
-35
-9
30
0
0
0
0
0
0
0
0
0
0
29
86
105
-92
-64
-33
29
0
0
0
0
0
0
0
4
0
-1
1
77
75
-12
52
-156
-7
0
0
0
0
0
0
0
25
-4
3
60
69
118
65
56
-48
-17
0
0
0
0
0
0
0
-6
59
2
13
41
-14
-7
-4
174
41
0
0
0
0
0
0
0
8
-4
-2
23
87
47
76
64
49
-8
0
0
0
0
0
0
0
0
3
0
-50
-26
23
30
60
32
7
0
0
0
0
0
0
0
0
0
0
0
16
48
-129
11
129
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
6
-42
95
-29
0
0
0
0
0
0
0
0
-1
1
0
-3
-30
-81
114
72
-1
6
0
0
0
0
0
0
0
0
0
0
0
-13
32
19
68
66
-17
0
0
0
0
0
0
0
0
-1
0
-2
10
16
87
-46
-99
-1
0
0
0
0
0
0
0
0
0
0
0
-3
54
17
8
-4
-12
0
0
0
0
0
0
0
0
0
0
0
24
-7
50
16
45
-22
0
0
0
0
0
0
0
0
0
0
0
1
28
108
-40
-50
50
0
0
0
0
0
0
0
0
0
0
0
0
-3
133
-66
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-53
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
51
58
-1
-4
0
0
0
0
0
0
0
0
0
0
0
6
3
-11
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
70
67
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
38
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-74
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-19
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
2
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
-18
7
5
0
0
0
0
0
0
0
0
0
0
0
2
14
31
66
23
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
40
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-12
-54
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-126
28
-27
0
0
0
0
0
0
0
0
0
0
0
14
3
-24
19
48
-28
2
0
0
0
0
0
0
0
0
0
0
0
1
28
-65
-30
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
-13
-12
93
148
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-68
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
12
57
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-4
30
23
2
-9
0
0
0
0
0
0
0
0
0
0
-8
7
-115
20
-31
5
-41
-16
0
0
0
0
0
0
0
0
0
-73
-12
0
6
66
40
2
9
-22
0
0
0
0
0
0
0
0
-28
-46
42
1
11
-4
-47
-13
-3
0
0
0
0
0
0
0
0
4
-9
-77
-4
-41
-23
5
-48
-1
0
0
0
0
0
0
0
0
-3
18
-3
48
21
-56
22
-10
23
0
0
0
0
0
0
0
0
0
20
15
-5
12
-9
98
-23
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-8
-40
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
1
5
0
0
0
0
0
0
0
0
0
-8
8
7
20
13
-8
0
-6
0
0
0
0
0
0
1
-1
4
0
-1
-17
-2
82
4
27
3
0
0
0
0
0
0
0
-9
37
40
27
-3
57
-25
16
-22
-8
0
0
0
0
0
0
0
-29
5
-32
-44
2
44
-33
5
8
-2
0
0
0
0
0
0
0
0
56
32
-31
-39
-34
-18
30
38
64
0
0
0
0
0
0
0
-2
0
-18
31
-16
-44
-6
-23
44
-13
0
0
0
0
0
0
0
0
4
-1
40
-16
11
36
11
42
22
0
0
0
0
0
0
0
0
0
0
0
-10
3
-62
-30
-10
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-21
8
0
-18
-77
-36
-29
-46
17
2
0
0
0
0
0
0
15
-75
-46
-6
-3
-30
-11
58
38
-11
8
0
0
0
0
0
1
-8
-17
-10
-24
-25
-36
59
41
-32
27
-13
0
0
0
0
0
0
-2
0
-25
2
-52
3
23
54
57
22
-14
-4
0
0
0
0
0
-3
-1
-80
-2
-24
-17
-18
18
44
61
-4
0
0
0
0
0
0
0
-1
-40
-8
-39
-36
-9
-69
55
41
32
0
0
0
0
0
0
0
0
62
-144
-9
-85
-43
-13
5
3
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-27
0
-28
-1
2
2
-76
11
59
0
0
0
0
0
1
7
35
-28
-14
-10
-15
-4
38
-3
154
-6
0
0
0
0
0
0
6
-21
-25
6
5
-6
24
25
49
-51
5
0
0
0
0
0
0
2
-39
-132
-35
-1
14
3
20
-11
16
-7
0
0
0
0
0
0
0
-2
-50
-25
2
15
19
27
10
47
16
0
0
0
0
0
0
-1
-1
-63
-2
2
10
31
23
48
23
-84
0
0
0
0
0
0
0
1
-53
51
-13
13
-21
8
63
32
-14
0
0
0
0
0
1
0
12
-31
-16
-5
-36
-13
4
5
65
-75
0
0
0
0
0
0
0
0
3
-36
-27
-27
-33
-7
20
91
0
0
0
0
0
0
5
19
10
-5
0
-37
-33
40
-16
1
-2
0
0
0
0
0
0
0
0
10
-83
4
14
-60
-59
55
11
-2
0
0
0
0
0
0
0
0
8
28
26
-9
-42
77
-19
26
8
0
0
0
0
0
0
0
0
-9
39
46
-3
36
67
30
6
6
0
0
0
0
0
0
0
0
0
-50
22
-18
-18
3
8
-13
-1
0
0
0
0
0
0
0
0
0
-18
30
-90
62
-24
-97
-27
0
0
0
0
0
0
0
0
0
0
0
-30
-58
-43
-43
38
-2
14
0
0
0
0
0
0
0
0
0
1
10
-6
35
-4
-44
-22
0
0
0
0
0
0
0
0
0
0
0
5
-2
-105
14
-19
-1
0
0
0
0
0
0
0
0
-22
-4
1
0
-30
-43
25
82
44
-1
0
0
0
0
0
0
-3
5
9
-51
-50
10
-22
72
-115
-18
-3
0
0
0
0
0
0
0
1
9
-25
-11
-13
38
-10
-17
30
-3
0
0
0
0
0
0
0
0
2
-80
7
13
29
-16
-39
38
22
0
0
0
0
0
0
0
0
-12
-9
-67
-2
1
37
42
2
41
0
0
0
0
0
0
0
0
-11
33
-24
-10
30
-24
22
-123
-4
0
0
0
0
0
0
0
-2
-12
-16
-44
24
16
21
9
-22
-1
0
0
0
0
0
0
0
0
-2
15
-93
-57
-45
-32
-19
97
0
0
0
0
0
0
0
0
0
0
0
1
-1
-64
0
-1
0
-1
0
0
0
0
0
0
0
-1
-38
18
0
-15
-22
-4
3
-14
43
3
0
0
0
0
0
0
12
-69
5
-3
-21
25
-16
42
-9
13
45
0
0
0
0
0
0
13
43
0
2
-3
17
59
42
11
17
-38
2
0
0
0
0
0
0
7
5
20
-10
32
34
22
-61
33
71
9
0
0
0
0
0
0
0
-12
-8
20
17
28
10
-11
43
17
9
0
0
0
0
0
1
2
1
-42
-33
-3
13
19
-8
-18
-38
-2
0
0
0
0
0
-2
0
-15
-20
10
-30
2
20
75
8
-1
0
0
0
0
0
0
0
0
0
0
33
29
-24
-9
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-1
0
0
0
0
0
0
0
0
13
0
0
-53
38
40
0
30
-1
0
0
0
0
0
0
0
0
-38
-42
-31
47
8
110
-14
2
-2
-1
0
0
0
0
0
0
1
43
-72
-83
63
5
55
-8
23
-2
-1
0
0
0
0
0
0
8
-54
-27
5
-53
10
8
-17
9
-6
0
0
0
0
0
0
0
0
-4
15
-65
65
-44
35
-31
-2
13
0
0
0
0
0
0
0
0
-15
41
-61
-13
-28
-34
-4
-1
-6
0
0
0
0
0
0
0
0
0
19
21
-29
-8
-23
-2
1
0
8
0
0
0
0
0
0
0
0
0
1
-5
-26
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-9
-43
0
-58
59
69
-45
14
10
3
0
0
0
0
0
0
-8
-43
7
-16
-23
-62
30
-27
45
4
0
-4
0
0
0
0
0
8
47
-9
-9
32
-26
71
15
25
19
36
-3
0
0
0
0
0
2
39
-6
-27
5
-7
34
-8
0
25
-19
0
0
0
0
0
0
6
-12
-10
-7
9
15
3
-11
-12
-5
63
-1
0
0
0
0
0
-4
26
-17
-18
6
-7
-33
3
-22
-8
35
0
0
0
0
0
0
0
-5
0
-22
-16
-18
4
22
16
31
-30
-4
0
0
0
0
0
0
-3
-7
29
57
-39
-3
47
56
3
32
4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-41
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
55
-23
-27
0
0
0
0
0
0
0
0
0
-1
0
-1
-15
69
-47
56
-46
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
-23
-2
-57
0
0
0
0
0
0
0
0
0
-5
0
0
5
8
41
12
14
0
0
0
0
0
0
0
0
0
0
0
0
7
-35
60
9
-49
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
27
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
12
17
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
53
70
-27
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
22
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-10
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
14
71
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
-4
10
25
3
38
1
0
0
0
0
0
0
0
0
0
-2
-2
0
-5
-60
2
7
-1
0
0
0
0
0
0
0
0
0
1
0
1
6
-41
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
7
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
6
4
0
0
0
0
0
0
0
0
0
-1
-9
-6
4
5
0
1
2
0
0
0
0
0
0
0
0
0
-4
22
-12
12
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
3
1
-5
5
0
0
2
0
0
0
0
0
0
0
0
4
3
-8
16
-2
8
6
4
-12
1
0
0
0
0
0
0
0
1
-33
-57
-22
-16
-25
-7
-2
-2
0
0
0
0
0
0
0
0
-8
1
114
-22
31
1
-5
0
3
0
0
0
0
0
0
0
0
0
40
-8
-11
-2
-8
13
-2
0
0
0
0
0
0
0
0
0
3
-26
-27
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
6
-99
-46
5
-42
66
0
0
0
0
0
1
-1
0
0
0
-17
-9
46
17
68
-55
22
0
0
0
0
0
1
-1
3
38
-16
58
69
-5
96
10
117
-16
0
0
0
0
-1
-1
5
-6
8
-5
4
-46
34
50
15
65
89
0
0
0
0
1
-22
9
-4
24
-12
73
28
61
55
4
69
30
0
0
0
0
6
-14
-5
12
27
29
16
144
-2
41
54
7
0
0
0
0
-2
0
-5
-4
30
0
3
2
34
29
-28
7
5
0
0
0
0
0
0
0
0
0
0
1
-8
16
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
6
0
0
25
-48
73
-10
-51
34
4
0
0
0
0
0
-1
6
0
24
-34
-61
4
-28
47
-34
25
0
0
0
0
0
1
0
0
-52
46
81
43
1
14
68
28
-40
-3
0
0
0
0
1
5
18
48
141
-33
44
-68
-29
29
30
-79
-10
0
0
0
0
-1
1
-30
-18
50
-46
-48
-22
37
28
85
-7
65
0
0
0
0
-2
2
-1
20
-56
59
20
25
38
76
26
-26
2
0
0
0
0
2
3
-4
29
80
49
81
34
55
34
44
-36
-33
0
0
0
0
0
0
0
4
-30
-9
-6
26
-2
14
41
-7
0
0
0
0
0
0
0
0
0
0
0
-2
44
-17
101
-12
0
0
0
0
0
0
0
0
0
0
0
0
20
-39
12
-77
1
7
-28
0
0
0
0
0
0
0
0
1
4
-6
63
-10
-61
-67
7
16
0
0
0
0
0
0
0
0
8
-9
59
44
-68
-4
-56
49
-1
0
0
0
0
0
0
0
0
0
4
-48
3
-7
35
168
-20
8
0
0
0
0
0
0
0
6
6
30
-6
63
103
25
-33
-68
3
0
0
0
0
0
1
0
0
0
8
10
5
22
21
-23
32
0
0
0
0
0
0
0
0
0
0
-1
2
46
8
30
14
27
0
0
0
0
0
0
0
0
0
0
0
5
15
57
-41
57
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
-23
14
0
0
0
0
0
0
0
0
0
0
-7
65
64
67
-40
-11
16
29
0
0
0
0
0
0
0
0
-10
-15
0
11
7
8
20
-13
-24
0
0
0
0
0
0
0
-2
-6
41
-12
-14
77
41
50
-100
-10
0
0
0
0
0
0
-1
0
-16
-50
118
36
-5
-31
46
-30
-54
0
0
0
0
0
1
-1
-4
1
8
-71
10
18
42
26
6
57
0
0
0
0
0
0
0
1
0
38
0
-73
91
19
59
39
18
0
0
0
0
0
0
0
-1
0
0
25
46
2
149
17
39
0
0
0
0
0
0
0
0
0
0
5
0
41
90
46
25
36
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
5
26
117
31
25
9
-1
0
0
0
0
0
-3
1
0
10
0
-12
6
110
65
1
12
-7
0
0
0
0
0
-1
0
38
2
5
-67
67
0
152
17
26
-29
0
0
0
0
0
0
0
7
31
100
18
91
53
27
-6
39
-39
0
0
0
0
0
-4
17
46
24
-4
-12
-51
56
6
13
-37
1
0
0
0
0
0
-5
-12
5
-20
-8
53
-25
22
4
38
-3
0
0
0
0
0
0
0
0
6
15
9
12
48
-74
-31
16
0
0
0
0
0
0
0
0
0
-2
5
-2
-1
-1
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
29
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-125
-52
52
9
0
0
0
0
0
0
0
0
0
0
-3
-1
32
21
-6
45
36
0
0
0
0
0
0
0
0
1
5
-6
2
18
-16
47
-1
-10
-1
0
0
0
0
0
0
0
0
-2
-1
5
5
70
40
1
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
2
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
20
4
32
-6
88
32
0
0
0
0
0
0
0
0
0
0
48
5
-51
32
28
24
32
0
0
0
0
0
0
0
1
0
2
-47
11
80
138
78
90
56
0
0
0
0
0
0
0
-2
7
-5
22
85
70
144
21
46
70
0
0
0
0
0
0
0
-14
3
-3
-1
-14
-44
86
98
23
33
0
0
0
0
0
0
-3
16
-6
2
-20
49
52
4
48
29
-20
0
0
0
0
0
0
0
0
1
3
-30
-17
38
55
-23
20
5
0
0
0
0
0
0
0
0
0
0
1
-8
-17
-53
30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
41
4
-32
-20
74
13
3
0
0
0
0
0
0
2
3
34
6
-8
65
-47
54
50
-21
0
0
0
0
0
0
0
0
6
-3
2
-5
-6
-22
22
34
26
0
0
0
0
0
0
0
1
-1
-1
1
1
0
34
32
89
25
51
0
0
0
0
0
0
0
0
-1
-2
2
-2
10
120
-14
52
21
0
0
0
0
0
0
0
0
0
0
0
0
-25
116
-31
28
1
0
0
0
0
0
0
0
0
0
0
0
-1
30
-22
96
49
16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-38
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
21
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-21
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
43
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-10
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
19
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
20
14
-16
-5
0
0
0
0
0
0
0
0
0
-3
-2
8
5
-1
12
-5
-7
0
0
0
0
0
0
0
0
0
1
0
1
0
-5
45
83
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
40
110
5
22
5
0
0
0
0
0
0
0
0
0
0
0
0
8
20
65
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
111
-10
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
21
-23
-8
3
0
0
0
0
0
0
0
0
-1
0
-1
0
33
-64
-5
32
0
0
0
0
0
0
0
0
-1
0
2
1
1
5
-5
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
29
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
8
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
17
-7
8
0
0
0
0
0
0
0
0
0
-5
33
12
-1
1
5
-7
0
0
0
0
0
0
0
0
0
0
0
-12
-24
-10
-9
-6
-1
17
0
0
0
0
0
0
0
0
-1
0
-19
-10
2
8
12
-1
-1
0
0
0
0
0
0
0
0
0
-3
25
-3
1
-4
-1
25
4
0
0
0
0
0
0
0
0
0
8
0
-2
-7
16
-1
1
2
0
0
0
0
0
0
0
0
0
0
-1
0
-3
6
-1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
6
-5
-17
22
-4
0
0
0
0
0
0
0
0
0
0
9
-1
8
24
7
-1
-1
0
0
0
0
0
0
0
0
0
-6
3
-8
43
-3
8
13
-2
5
0
0
0
0
0
0
0
3
28
-29
3
-1
-5
33
0
-9
0
0
0
0
0
0
0
0
-5
5
8
-8
-12
-18
9
23
62
-5
0
0
0
0
0
0
0
0
5
-3
4
6
-4
-14
139
-14
5
0
0
0
0
0
0
0
0
13
-4
0
27
25
5
72
30
32
0
0
0
0
0
0
0
0
0
0
-3
-2
-27
45
-8
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
45
0
78
-3
28
-25
5
-2
6
-1
0
0
0
0
2
1
7
0
-2
-70
-16
77
6
13
20
-24
0
0
0
0
0
0
-7
0
-96
-51
-6
-20
29
-31
-4
24
14
-8
0
0
0
0
-1
4
10
49
31
54
19
-36
21
19
7
-38
32
0
0
0
0
0
-5
-1
-15
-34
-20
43
-32
61
32
-8
-6
0
0
0
0
0
2
-3
2
-49
29
-101
-31
24
-5
5
12
-1
0
0
0
0
0
0
0
-3
-1
-23
32
-7
5
7
-3
3
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
57
21
14
-11
-7
-9
18
0
0
0
0
0
-5
-30
-47
0
-65
8
-24
33
39
78
43
-3
0
0
0
0
-1
1
5
8
17
18
8
-25
11
57
131
-40
23
0
0
0
0
-1
0
-2
11
5
51
-10
17
-8
24
54
97
-37
0
0
0
0
0
0
41
-52
7
34
-22
8
-29
42
21
27
100
0
0
0
0
2
-17
20
-25
-7
-8
0
54
117
85
-23
95
-2
0
0
0
0
0
0
-2
-1
-1
73
12
35
-18
46
4
9
-59
0
0
0
0
0
0
-3
14
-26
59
8
25
-59
30
-70
-50
-2
0
0
0
0
0
0
0
0
0
5
-53
72
64
-30
-1
0
0
0
0
0
0
0
0
0
-29
25
0
53
105
70
12
58
0
0
0
0
0
0
0
1
-5
-12
0
-15
108
-28
52
96
-15
8
-2
0
0
0
0
0
0
14
0
-1
-30
-2
6
31
51
-24
-3
0
0
0
0
0
0
-1
0
32
7
-65
-56
-52
-56
14
-3
0
1
0
0
0
0
0
0
-13
29
-17
0
1
-5
51
-8
-3
14
0
0
0
0
0
0
-5
-51
12
22
-11
3
2
-27
-1
-19
0
0
0
0
0
0
-1
-10
10
-18
-44
20
-29
-48
-42
-14
0
0
0
0
0
0
0
3
-4
-7
-22
-14
39
72
-54
0
19
0
0
-4
0
0
0
-1
0
5
-3
34
-75
-118
-87
50
7
-5
0
0
0
0
0
0
0
0
0
3
10
22
0
-3
-8
-65
90
50
0
0
0
0
0
0
0
1
-8
13
0
12
-36
-1
-60
-15
75
0
0
0
0
0
0
0
0
5
0
-20
39
52
28
1
-58
48
0
0
0
0
0
0
0
0
2
-29
-13
-56
-19
56
15
47
30
-1
0
0
0
0
0
0
0
6
-5
-26
7
-28
18
-58
54
-31
-3
0
0
0
0
0
0
-2
2
55
-16
46
-20
42
97
-44
0
-2
0
0
0
0
0
9
3
4
32
15
-11
-14
-16
-3
33
1
-2
0
0
0
0
0
0
0
0
-4
-9
-13
1
5
-27
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
22
-54
0
44
-12
43
0
-49
1
6
-4
0
0
0
0
0
-5
9
0
-11
-8
20
-9
5
62
-1
7
0
0
0
0
0
0
0
5
-40
-32
-62
86
17
113
61
18
37
0
0
0
0
0
0
1
-21
7
30
55
58
72
6
12
50
-9
-19
0
0
0
0
0
4
14
-10
25
-26
-17
125
-36
-10
-2
33
-8
0
0
0
0
3
-1
-1
56
11
-19
-55
10
-12
22
-1
14
0
0
0
0
0
-1
-1
12
-2
23
-43
21
-19
-13
8
24
0
0
0
0
0
0
0
0
0
0
-7
-6
-3
8
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
27
2
10
-1
2
-8
2
0
0
0
0
0
0
2
0
-75
43
5
89
-3
12
-4
-32
0
0
0
0
0
0
0
0
1
-42
112
15
-32
18
41
8
2
1
0
0
0
0
0
0
-1
-25
3
-31
-44
19
40
-25
-3
9
6
0
0
0
0
0
0
0
17
67
44
19
-34
-25
-1
10
0
2
0
0
0
0
0
0
0
16
1
24
-25
-29
19
12
-7
-1
0
0
0
0
0
0
0
0
-13
-45
0
56
16
23
1
0
-6
0
0
0
0
0
0
0
0
0
-1
-7
0
5
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
7
23
39
41
6
-57
9
0
0
0
0
0
0
0
56
0
-20
43
-6
55
-9
5
22
33
-8
0
0
0
0
0
0
0
-54
51
85
15
62
4
45
-24
24
-4
0
0
0
0
0
0
1
34
8
-11
48
77
-23
4
-3
31
-1
0
0
0
0
0
0
-25
29
46
-32
-11
4
36
3
40
-87
41
0
0
0
0
0
0
43
35
-52
14
26
45
75
-1
27
34
-3
0
0
0
0
0
0
-37
7
27
29
-63
-32
-41
1
26
3
-4
0
0
0
0
0
0
-26
-84
21
-72
-34
-15
-9
5
7
3
0
0
0
0
0
0
0
0
-1
-5
10
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-38
-23
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
88
19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
48
-36
46
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
65
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
25
10
-31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
42
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
5
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-1
2
-7
0
0
0
0
0
0
0
0
0
6
-6
0
6
3
9
-3
9
0
0
0
0
0
0
0
0
0
-2
1
13
9
-12
-8
-21
-5
0
0
0
0
0
0
0
0
0
0
-4
-3
2
-13
25
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-12
-4
-6
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
14
103
-44
-48
0
22
0
0
0
0
0
0
-1
2
0
0
36
43
60
42
-8
-62
-61
0
0
0
0
0
0
0
9
23
40
30
130
2
65
113
-27
-38
0
0
0
0
0
0
0
1
8
34
48
140
45
94
30
18
24
0
0
0
0
0
0
0
-1
3
-8
25
75
30
-15
-27
51
3
0
0
0
0
0
0
0
0
0
-34
33
-8
87
-8
112
-4
-5
0
0
0
0
0
0
0
0
0
-3
-5
5
5
51
50
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
36
-77
10
7
35
50
2
0
0
0
0
0
0
3
-14
14
-9
-32
4
55
26
-15
0
15
0
0
0
0
0
0
0
-15
-50
43
82
9
19
50
6
20
-13
0
0
0
0
1
-4
3
-9
29
59
63
35
-9
10
-22
18
6
0
0
0
0
0
3
0
6
52
-88
-23
57
28
31
21
59
-19
0
0
0
0
0
1
0
0
5
-30
57
-14
41
31
38
144
41
0
0
0
0
0
0
0
1
-10
-4
-35
18
64
-13
-33
-68
9
0
0
0
0
0
0
0
0
-1
4
12
-15
61
-11
24
-73
18
0
0
0
0
0
0
0
0
0
0
2
15
-10
83
19
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-48
-19
52
-60
-6
-5
0
0
0
0
0
0
0
0
2
-2
7
29
-62
-25
66
-1
-51
0
0
0
0
0
0
-1
0
0
-8
16
14
93
37
34
31
18
0
0
0
0
0
0
0
0
2
2
-24
86
68
-53
-2
-4
66
0
0
0
0
0
0
0
0
0
0
-1
22
104
-6
-32
-37
5
0
0
0
0
0
0
0
0
0
0
6
-13
29
50
39
13
64
0
0
0
0
0
0
0
0
0
0
-7
8
51
60
8
31
78
0
0
0
0
0
0
0
0
0
0
0
8
17
13
31
-37
-9
0
0
0
0
0
0
0
0
0
0
0
-2
-8
68
-18
-10
59
0
0
0
0
0
0
0
0
0
-31
-78
-101
18
-69
-47
111
6
0
0
0
0
0
0
0
0
0
40
0
-10
8
10
-24
8
7
0
0
0
0
0
0
0
0
1
3
64
-22
-33
74
60
32
-24
0
0
0
0
0
0
0
0
-7
-1
26
20
21
89
-36
17
67
0
0
0
0
0
0
0
0
2
-6
-37
32
34
30
-23
6
-15
0
0
0
0
0
0
0
0
-4
-7
41
17
4
70
31
28
4
0
0
0
0
0
0
0
0
-1
0
-5
109
24
-63
-31
44
28
0
0
0
0
0
0
0
0
0
0
3
-2
-1
38
17
-6
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
1
1
0
0
2
75
84
-5
-7
18
5
0
0
0
0
0
0
1
0
2
0
-6
98
43
96
81
-23
86
0
0
0
0
0
0
-5
-1
17
13
22
113
75
54
21
53
30
0
0
0
0
0
0
-1
4
8
50
-165
88
82
1
41
78
-7
0
0
0
0
0
0
0
0
-2
23
166
83
65
74
28
111
10
0
0
0
0
0
0
0
1
0
0
17
-6
72
43
-26
-3
0
0
0
0
0
0
0
0
0
1
1
-24
-42
0
35
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-47
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
10
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
-153
-38
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-26
-48
43
6
-1
0
0
0
0
0
0
0
0
0
6
1
51
35
53
-54
-19
0
0
0
0
0
0
0
0
0
0
-1
-14
8
-54
-3
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
-14
38
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
38
24
14
15
-23
0
0
0
0
0
0
0
0
0
0
38
-79
-22
40
2
-8
63
0
0
0
0
0
0
0
-2
0
0
-20
89
83
90
39
-53
64
0
0
0
0
0
0
0
0
0
3
49
7
41
-32
23
-61
-12
0
0
0
0
0
0
0
-1
2
-3
29
22
66
68
-17
-13
14
0
0
0
0
0
0
0
0
1
0
21
74
70
69
-66
81
21
0
0
0
0
0
0
0
0
0
0
-5
16
13
102
-14
69
-7
0
0
0
0
0
0
0
0
0
0
8
-3
-13
-25
-26
32
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
4
-1
19
95
-22
-42
-2
0
0
0
0
0
0
0
7
-14
0
21
35
-7
90
19
49
-13
0
0
0
0
0
0
0
-3
1
-1
1
20
27
123
-85
13
-8
0
0
0
0
0
0
0
-1
-7
-2
-2
10
13
36
79
-14
-18
0
0
0
0
0
0
0
0
-3
-1
-1
-4
122
-15
31
-27
9
0
0
0
0
0
0
0
0
0
-1
0
-3
-34
28
17
42
-6
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
5
-17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-20
14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-38
24
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
37
38
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-48
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
-48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
12
1
0
0
0
0
0
0
0
0
-3
-2
0
4
-4
44
36
24
-34
1
0
0
0
0
0
0
0
0
-1
5
-1
0
3
10
-30
10
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
22
40
12
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-7
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-26
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
44
-19
49
-19
0
0
0
0
0
0
0
0
0
1
0
4
1
-1
11
45
26
14
0
0
0
0
0
0
0
0
-1
0
0
0
-8
-83
5
12
7
0
0
0
0
0
0
0
0
0
0
0
8
30
11
-19
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
-39
15
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-16
-1
-5
-6
0
0
0
0
0
0
0
0
0
6
17
-9
5
20
24
13
8
6
0
0
0
0
0
0
0
0
0
-8
32
-28
8
3
13
14
2
1
0
0
0
0
0
0
0
0
10
27
20
4
-16
6
7
4
-1
0
0
0
0
0
0
0
0
0
5
2
18
8
27
-1
-16
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-6
-65
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
55
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
1
0
14
0
3
-15
3
-1
0
0
0
0
0
0
0
0
-10
0
-25
3
-8
-18
-44
-22
17
0
0
0
0
0
0
0
-1
16
30
-20
9
2
17
13
22
-13
0
0
0
0
0
0
0
0
4
-8
-2
47
7
-5
41
46
-7
0
0
0
0
0
0
0
0
1
-8
-8
-3
49
-44
-21
-25
-41
0
0
0
0
0
0
0
0
0
0
-30
1
-73
34
-27
12
10
0
0
0
0
0
0
0
0
0
0
0
-6
4
-4
-18
32
17
0
0
0
0
0
0
0
0
0
0
0
3
-5
-72
80
-39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
69
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-2
0
-19
-39
32
37
25
17
-6
0
0
0
0
0
0
-3
-26
118
-13
2
-16
-17
109
19
58
-18
0
0
0
0
0
4
-2
-20
23
16
13
51
20
-7
30
17
9
0
0
0
0
0
0
2
22
63
26
11
72
60
3
41
-22
-23
-3
0
0
0
0
0
0
5
-19
-19
-18
-13
-7
7
25
-13
-1
2
0
0
0
0
0
0
0
1
-22
49
60
20
5
-2
-8
-25
5
0
0
0
0
0
0
0
0
0
0
18
-12
-3
-8
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
59
-8
0
33
24
9
137
91
33
61
0
0
0
0
0
0
-1
0
21
3
-6
-11
-7
40
60
-25
-71
0
0
0
0
0
0
-2
-9
-21
-28
-10
-37
-3
23
30
-1
5
0
0
0
0
0
0
0
6
-93
-47
-42
16
-48
60
40
81
1
0
0
0
0
0
0
0
-6
-77
34
70
-14
58
11
105
38
8
0
0
0
0
0
0
0
3
21
-76
-3
7
-1
28
-23
56
-9
0
0
0
0
0
0
0
0
-1
-12
105
51
14
42
29
14
-22
0
0
0
0
0
0
0
0
-4
12
27
-58
27
-27
133
-81
-39
0
0
0
0
0
0
0
0
0
0
0
-66
-74
24
5
0
0
0
0
0
0
1
1
-1
-2
-33
0
54
-1
9
3
9
15
0
0
0
0
0
0
0
0
-42
43
-48
60
45
2
151
59
22
0
0
0
0
0
0
0
0
8
41
15
-20
75
-27
49
-23
10
-1
0
0
0
0
0
0
0
0
55
-22
83
-51
45
71
31
21
0
0
0
0
0
0
0
0
0
30
10
17
-20
-23
-27
-19
-1
0
0
0
0
0
0
0
0
0
4
0
4
-6
49
13
-47
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
12
54
1
-10
0
0
0
0
0
0
0
0
0
0
-3
12
-9
7
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
35
-37
0
62
70
-39
-1
48
13
0
0
0
0
0
0
0
7
-15
-41
39
35
-69
-95
-20
19
-10
0
0
0
0
0
0
0
0
-2
65
10
-10
34
60
-97
89
-7
0
0
0
0
0
0
0
0
-1
-23
-24
-21
23
2
-29
0
10
0
0
0
0
0
0
0
0
0
-4
33
35
84
-15
-37
-20
0
0
0
0
0
0
0
0
0
0
47
-31
39
38
-86
-53
1
-4
0
0
0
0
0
0
0
0
0
-1
-3
2
-17
1
5
-3
2
0
0
0
0
0
0
0
0
0
13
0
-17
-2
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-23
21
0
29
-8
33
48
65
-8
-44
7
0
0
0
0
-4
5
7
-39
-9
12
39
14
122
-12
-47
-34
13
0
0
0
0
0
0
8
22
-8
11
43
73
17
-18
-37
-24
-8
0
0
0
0
0
0
4
24
-43
46
44
32
131
117
0
-22
-19
0
0
0
0
0
0
0
-1
12
-7
-36
107
-16
-23
-24
-104
-1
0
0
0
0
0
0
0
0
33
-11
8
2
-14
12
-32
-18
1
0
0
0
0
0
0
0
0
5
-4
-18
28
15
-30
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-62
20
-5
27
-2
-1
-3
0
0
0
0
0
0
0
-4
-42
-30
24
55
13
-3
-25
1
-25
0
0
0
0
0
0
0
0
6
-3
4
12
41
46
-8
-5
-19
0
0
0
0
0
0
0
0
13
-16
-69
15
3
0
7
-10
14
-1
0
0
0
0
0
0
0
1
10
-15
-17
6
-54
8
-5
-6
2
0
0
0
0
0
0
0
0
8
-6
-5
-29
-9
-19
8
14
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-45
19
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
57
16
5
-1
-3
8
-1
3
0
0
0
0
0
0
16
-9
31
-2
-39
-8
-21
13
8
49
-5
0
0
0
0
0
0
7
-32
-26
9
-49
60
-23
-8
41
-5
8
0
0
0
0
0
0
0
40
54
49
47
-30
1
3
-22
-14
31
0
0
0
0
0
0
1
66
10
112
20
13
-40
29
18
6
19
0
0
0
0
0
0
0
5
38
35
-2
-6
33
14
28
-5
51
0
0
0
0
0
0
0
4
38
34
-38
34
11
-4
-42
-24
42
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
-38
-2
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
16
-59
103
-43
-21
5
25
0
-16
0
0
0
0
0
0
0
-30
76
73
-30
7
32
13
21
-3
0
0
0
0
0
0
0
0
-77
-45
-11
-66
-27
41
5
-1
0
1
0
0
0
0
0
0
0
24
25
21
1
-40
-25
0
0
-1
0
0
0
0
0
0
0
0
33
-53
-74
-48
99
9
-1
0
0
0
0
0
0
0
0
0
0
46
28
-55
-11
42
-12
2
0
0
0
0
0
0
0
0
0
0
-12
-35
36
41
38
7
0
0
0
0
0
0
0
0
0
0
0
7
-21
-4
-28
-25
-5
0
0
0
0
0
0
0
0
0
0
0
-13
-16
34
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
56
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
-73
75
-45
35
-2
2
0
0
0
0
0
0
0
0
0
0
-8
-8
0
65
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-41
-16
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-28
8
9
0
0
0
0
0
0
0
0
0
0
0
0
4
13
3
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-71
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-55
-23
-24
5
0
-1
0
0
0
0
0
0
0
0
0
1
16
-92
58
-5
-4
0
0
0
2
0
0
0
0
0
0
0
-3
47
15
72
-11
-2
0
0
0
0
0
0
0
0
0
0
0
3
39
-101
48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-24
80
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
-96
90
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
19
-75
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-17
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-58
-21
27
0
-1
-5
0
0
0
0
0
0
0
0
0
-32
-15
-19
-72
27
18
0
-3
-1
0
0
0
0
0
0
0
0
6
18
25
52
-3
-3
0
0
0
0
0
0
0
0
0
0
0
2
-72
31
25
58
-5
0
0
0
0
0
0
0
0
0
0
0
1
-3
-147
20
37
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-42
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
21
2
2
5
2
-2
0
0
0
0
0
0
0
0
0
3
-8
61
-49
38
54
73
13
2
0
0
0
0
0
0
0
0
-5
-9
-75
10
-25
0
150
-7
4
0
0
0
0
0
0
0
0
-10
-10
-19
19
14
51
14
14
0
0
0
0
0
0
0
0
0
-13
-14
-70
-115
24
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-67
17
-43
19
3
0
1
0
0
0
0
0
0
0
0
0
-11
-13
-74
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-72
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-33
8
19
1
-30
-12
0
0
0
0
0
0
0
0
0
-24
-39
-20
-39
20
30
19
-15
-8
3
0
0
0
0
0
0
0
-4
33
49
-47
-32
31
90
31
-20
-3
0
0
0
0
0
0
0
24
-21
20
151
-22
32
-23
-5
8
3
0
0
0
0
0
0
0
-53
98
11
-43
19
-12
-50
-10
1
0
0
0
0
0
0
0
0
-23
-38
-32
-134
-6
41
6
3
-8
0
0
0
0
0
0
0
0
-15
-75
-46
24
-30
-27
1
5
0
0
0
0
0
0
0
0
0
-13
-83
44
64
-2
0
-2
0
1
0
0
0
0
0
0
0
0
-64
-48
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
-67
57
17
40
27
15
0
-32
-31
-25
0
0
0
0
0
-3
-93
-32
36
18
73
-28
33
21
56
51
-57
-5
0
-1
0
0
-22
-65
-46
6
64
60
58
50
44
26
4
18
21
0
0
0
0
12
-135
39
-10
16
25
106
76
109
50
26
-1
0
7
0
0
0
-1
-3
-59
22
19
145
86
131
112
27
22
9
3
0
0
0
0
2
-7
39
-17
21
-70
85
17
19
-31
10
0
0
0
0
0
0
-1
2
3
26
45
-19
-30
66
0
-1
0
0
0
0
0
0
0
-2
34
0
-24
3
4
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-65
-86
-48
-12
-71
-41
0
-131
-12
-3
-5
-4
0
0
0
0
-57
11
-52
-64
4
-114
20
-41
48
-7
-25
48
7
0
0
0
0
-20
-72
-2
0
-33
-55
-72
-78
23
-45
48
-12
-35
0
0
0
0
-80
-73
-97
-59
9
-3
11
13
57
27
7
20
-22
0
0
0
0
6
-100
-27
5
-61
-59
28
58
53
-22
-14
33
2
0
0
0
0
-7
-28
-58
-7
-23
14
26
26
51
1
22
17
7
0
0
0
0
-3
-49
-39
-49
35
9
4
39
-60
15
-38
30
2
0
0
0
0
21
46
69
51
-18
-19
-28
-28
-16
-30
-8
15
0
0
0
0
0
0
7
18
-15
23
61
65
-39
1
28
32
5
0
0
0
0
0
0
10
25
-59
-73
-19
27
0
13
-20
5
0
0
0
0
0
0
3
13
-22
4
94
-108
-17
10
135
28
-3
1
0
0
0
0
0
1
-88
23
-11
-40
15
-51
19
65
15
5
0
0
0
0
0
0
3
-1
0
63
98
24
-8
102
107
0
0
1
0
0
0
0
0
0
-9
-17
80
93
-7
86
113
61
16
5
0
0
0
0
0
0
0
-10
46
47
31
96
19
-4
18
0
0
0
0
0
0
0
0
0
-2
-84
-33
9
-13
34
8
8
0
0
0
0
0
0
0
0
0
0
-7
-21
22
13
92
-46
8
1
3
0
0
0
0
0
0
0
0
0
1
-3
12
-9
0
10
0
0
0
0
0
0
0
0
0
1
56
1
-68
-49
15
0
12
-14
-15
-1
0
0
0
0
0
0
-118
-10
77
27
-86
-2
5
175
-23
-37
21
0
-1
0
0
0
0
-12
110
7
3
46
-82
43
26
89
8
0
0
0
0
0
0
0
66
58
9
90
86
42
103
-20
53
-2
1
0
0
0
0
0
0
4
18
65
23
20
46
66
22
3
0
0
0
0
0
0
0
0
-3
-30
-23
-65
-14
87
-18
67
0
2
0
0
0
0
0
0
0
-9
-33
-68
44
100
4
-39
81
-1
0
0
0
0
0
0
0
0
0
0
4
12
-7
86
-5
0
0
0
0
0
0
0
0
0
0
-12
0
2
0
-7
0
0
0
0
0
0
0
0
0
0
45
-97
11
21
-22
4
-48
12
0
-97
46
8
1
0
0
0
0
-1
36
11
14
-31
54
36
-5
35
89
-15
38
1
0
1
0
0
84
72
26
24
-10
97
42
21
82
40
-24
1
0
2
0
0
0
-55
3
-118
-7
-19
168
63
53
92
28
-30
0
0
0
0
0
0
36
-7
-117
-3
-29
73
72
107
2
-108
0
-1
0
0
0
0
0
-3
-111
-17
73
20
57
-2
114
-48
-8
2
0
0
0
0
0
0
2
-55
-23
-59
28
-30
43
56
2
0
-4
0
0
0
0
0
0
0
-14
4
-38
-29
24
-1
13
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-3
-4
0
-19
-14
58
0
14
-1
0
0
0
0
0
0
0
13
17
-3
43
121
16
26
41
49
0
0
0
0
0
0
0
0
-5
19
4
66
70
-15
-4
-13
36
0
0
0
0
0
0
0
0
-6
24
10
108
58
59
40
-34
23
0
0
0
0
0
0
0
1
3
-9
-45
126
34
-15
21
-18
0
0
0
0
0
0
0
0
0
2
9
-105
5
-7
3
14
0
0
0
0
0
0
0
0
0
0
-6
1
4
-19
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
16
42
4
34
0
13
-65
2
0
0
0
0
0
4
40
7
18
-4
-42
39
35
20
124
54
22
5
0
0
0
0
6
27
-5
-15
5
126
55
15
13
-14
48
4
-7
0
0
0
0
-1
15
-7
9
123
124
47
34
-20
78
-30
0
0
0
0
0
0
0
-1
3
-6
109
124
11
-27
-16
44
-41
5
0
0
0
0
0
0
-4
20
43
-9
71
-38
13
51
-25
48
-1
0
0
0
0
0
0
10
42
-4
-24
-27
-10
40
16
32
15
0
0
0
0
0
0
4
14
-6
-31
-22
-23
16
14
-40
4
-4
0
0
0
0
0
0
0
0
0
0
0
5
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
1
196
0
0
62
-63
9
3
0
0
0
0
0
0
0
0
0
0
75
126
33
16
12
0
4
-2
0
0
0
0
0
0
0
0
60
168
149
22
-33
-22
-3
0
0
0
0
0
0
0
0
0
0
8
127
8
-31
-122
-10
-1
-2
0
0
0
0
0
0
0
0
0
22
-79
-71
-45
85
2
0
0
1
0
0
0
0
0
0
0
0
1
-60
32
-38
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
119
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
4
-18
-3
-4
0
0
0
0
0
0
0
0
0
0
40
-43
26
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
-75
98
41
-59
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
5
161
0
0
44
-7
5
0
0
0
0
0
0
0
0
0
0
0
78
137
157
-23
23
-1
0
0
0
0
0
0
0
0
0
0
2
5
84
116
40
-7
-1
0
0
0
0
0
0
0
0
0
0
-5
29
135
14
-47
0
-3
0
0
0
0
0
0
0
0
0
0
0
13
41
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
60
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
58
167
0
0
-38
-4
0
0
0
0
0
0
0
0
0
0
0
25
164
96
138
-12
12
0
0
0
0
0
0
0
0
0
0
2
135
24
22
0
136
-3
0
0
0
0
0
0
0
0
0
0
0
58
38
-4
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
112
-20
-27
-55
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-81
-31
6
0
0
0
5
2
0
0
0
0
0
0
0
8
-81
-13
-2
68
0
0
0
11
-3
0
0
0
0
0
0
0
27
-50
243
127
56
96
-71
-159
-6
1
0
0
0
0
0
0
-15
6
21
67
189
159
86
-2
-4
-6
0
0
0
0
0
0
0
-2
-2
38
148
21
123
114
-15
-6
0
0
0
0
0
0
0
0
0
2
-21
0
175
-63
-51
-75
-17
0
0
0
0
0
0
0
0
0
0
0
0
25
-36
-41
-14
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
2
0
0
0
0
13
-2
0
0
0
0
0
0
8
25
-4
1
-14
34
0
0
0
-26
19
-16
0
0
0
0
0
-18
-12
-28
-8
107
156
-26
66
-64
-42
10
-1
0
0
0
0
0
-83
-8
24
114
75
21
138
-2
-37
17
5
0
0
0
0
0
0
4
-6
-48
167
87
72
-22
-51
68
17
-7
1
0
0
0
0
0
17
-8
119
-51
174
67
2
-55
-65
0
0
0
0
0
0
0
-2
-8
64
-8
4
9
71
68
-16
15
0
0
0
0
0
0
0
0
25
-6
-1
1
8
-3
-9
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
54
-2
16
-36
-70
-48
0
0
0
0
0
0
0
0
0
0
0
-7
5
7
0
23
23
8
0
0
0
0
0
0
0
0
0
0
-50
-23
20
-36
25
-23
0
3
0
0
0
0
0
0
0
0
0
-2
-58
-14
38
-60
35
6
13
-1
-1
0
0
0
0
0
0
0
-6
-41
-14
-19
-46
47
11
-17
-7
1
0
0
0
0
0
0
0
65
-15
-51
42
-19
-14
12
-25
47
0
0
0
0
0
0
0
0
31
-26
-37
-7
-21
28
64
69
0
0
0
0
0
0
0
0
0
0
19
43
-5
85
48
30
0
6
0
0
0
0
0
0
0
0
8
1
-13
-34
1
-3
-3
0
0
0
0
0
0
0
0
0
0
-14
21
-30
-4
29
16
23
0
0
0
-29
-7
0
0
0
0
0
-38
-4
38
-8
29
144
199
0
0
17
65
12
1
0
0
0
0
24
5
-5
-20
63
116
172
115
51
74
-44
-1
0
0
0
0
0
-15
29
-2
-32
47
166
85
134
110
-58
-42
0
0
0
0
0
0
-33
2
-16
17
10
-41
72
18
63
8
3
0
-1
0
0
0
0
-23
-23
-20
5
13
46
7
-141
26
7
-8
0
0
-1
0
0
0
8
8
19
-2
-20
-59
-68
-107
21
17
0
0
0
0
0
0
0
0
61
-22
23
7
5
8
-2
2
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-11
-8
16
-10
11
16
59
0
0
-77
-9
17
0
0
0
0
0
28
-37
-19
-24
-2
38
75
-1
59
-39
-55
0
5
0
0
0
0
25
46
-15
1
-1
18
102
40
89
-71
-15
25
1
0
0
0
0
-30
17
-50
-26
-26
40
100
141
8
-3
35
25
0
0
0
0
0
-4
9
-2
-20
-29
2
9
-34
-2
6
132
29
-1
0
0
0
0
-17
3
-23
-39
-52
-43
-59
3
8
-29
3
-45
0
0
0
0
0
24
-16
13
-22
12
-26
-36
-16
22
38
-60
-30
-5
0
0
0
0
3
-31
-37
29
-14
-25
31
-28
-72
4
-3
-5
0
0
0
0
0
0
0
11
19
34
-11
1
28
-18
-1
0
0
0
0
0
0
0
-20
-28
25
-23
20
-5
-63
0
0
1
0
0
0
0
0
0
0
-64
0
11
40
-2
32
63
21
-10
0
3
0
0
0
0
0
0
-14
-13
-2
-4
24
-64
101
55
-25
0
0
0
0
0
0
0
0
-8
-6
23
-30
21
97
17
-18
7
0
-1
0
0
0
0
0
0
35
-18
39
-44
32
-51
16
1
-19
1
0
0
0
0
0
0
0
-4
-7
7
-24
-78
-31
69
-24
5
0
0
0
0
0
0
0
0
19
-3
-24
49
-21
9
-45
10
5
-1
0
0
0
0
0
0
0
-7
23
-19
19
20
69
7
0
55
0
-2
0
0
0
0
0
0
20
20
-2
6
-4
19
7
2
0
0
0
0
0
0
0
0
0
33
-34
5
4
50
-5
32
13
0
-3
0
0
0
0
0
0
0
-14
34
-42
-2
59
83
0
-39
-54
5
0
0
0
0
0
0
0
71
-15
-32
0
14
94
-35
3
-11
17
1
0
0
0
0
0
0
-18
-22
18
-25
-42
70
59
121
62
1
0
0
0
0
0
0
0
-6
-23
2
-14
-42
116
91
64
-24
-2
0
0
0
0
0
0
0
-16
2
-84
-49
11
-35
-61
-27
12
-2
0
0
0
0
0
0
0
32
-29
-21
-51
42
0
-43
23
2
-3
0
0
0
0
0
0
0
-22
-4
70
-77
-64
22
27
3
1
0
0
0
0
0
0
0
0
0
0
-90
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
51
14
13
23
63
34
53
0
0
51
-15
6
0
0
0
0
0
-48
19
-2
31
44
158
126
0
70
0
-34
-14
-1
1
0
0
0
-40
2
32
36
64
157
187
96
139
36
-56
82
-7
0
0
0
0
83
12
-32
54
24
157
156
66
82
70
-31
-4
-1
0
0
0
0
14
52
11
-13
68
-35
19
-11
-1
-22
0
0
-4
0
0
0
0
25
-13
-12
-8
-2
23
-28
-37
-47
19
1
0
0
0
0
0
0
-43
-15
20
-29
-63
-44
-74
37
-28
-5
1
0
0
0
0
0
0
0
-13
82
20
84
-33
-24
5
0
-6
0
0
0
0
0
0
0
0
2
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-65
-26
-23
8
-19
6
0
-5
-1
0
0
0
0
0
0
27
-43
-31
-19
-7
-32
-47
0
74
0
7
6
0
0
0
0
0
2
1
-110
-18
68
53
143
64
-77
73
-9
7
0
0
0
0
0
14
2
81
84
199
130
149
25
-23
-12
7
0
0
0
0
0
0
-21
23
19
106
82
110
112
1
14
-5
0
-3
0
0
0
0
0
-6
206
89
156
119
101
-63
8
-3
-8
-3
0
0
0
0
0
0
32
9
117
81
117
-30
-4
0
-10
0
0
0
0
0
0
0
0
0
114
259
89
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
21
2
-66
40
-5
-26
0
0
0
-1
0
0
0
0
0
0
47
-9
6
24
2
90
24
129
0
-17
-24
-7
0
0
0
0
0
-25
18
-38
-3
64
136
144
37
60
-91
1
0
0
0
0
0
0
78
-21
-18
11
6
128
51
91
-4
46
0
0
0
0
0
0
0
17
-41
-5
20
61
50
86
-5
-17
89
-1
0
0
0
0
0
0
2
-23
-23
-10
21
78
49
168
45
5
0
0
0
0
0
0
0
-78
10
-18
27
-4
-20
-10
8
-51
-1
0
0
0
0
0
0
0
51
3
-14
9
-37
-32
0
0
10
0
0
0
0
0
0
0
0
6
32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
-81
-9
19
-21
0
-5
0
0
0
0
0
0
0
0
0
-105
-35
-50
-15
52
8
46
19
-36
1
0
0
0
0
0
0
0
-44
-12
20
-5
-75
-1
2
0
3
4
0
0
0
0
0
0
0
20
28
58
-10
101
-10
-1
0
0
0
0
0
0
0
0
0
0
63
-8
17
-7
98
-6
0
1
0
0
0
0
0
0
0
0
0
-6
113
-14
4
26
38
2
0
0
0
0
0
0
0
0
0
0
0
-7
6
-86
20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-46
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
6
-43
-15
41
-3
-6
0
0
0
0
0
0
0
0
0
0
5
14
17
-22
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
26
56
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-29
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-41
63
-9
3
0
0
0
0
0
0
0
0
0
0
0
-7
-13
132
-43
47
-4
0
0
-1
-7
0
0
0
0
0
0
0
-10
56
26
-1
33
16
1
0
0
0
0
0
0
0
0
0
0
-3
-21
37
-17
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
79
42
30
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
50
67
-47
-5
8
0
0
0
0
0
0
0
0
0
0
-4
14
17
-16
40
-6
-23
4
3
1
0
0
0
0
0
0
0
2
-2
20
-23
-26
22
-2
0
0
0
0
0
0
0
0
0
0
-5
45
126
65
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-47
36
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
32
-2
16
-3
0
0
0
0
0
0
0
0
0
0
-7
-21
29
4
-19
36
42
0
-1
0
0
0
0
0
0
0
0
4
4
-41
62
1
31
68
-5
0
0
0
0
0
0
0
0
0
-2
-15
-58
-7
-16
74
-6
0
0
0
0
0
0
0
0
0
0
-1
10
-36
8
32
47
48
8
-1
0
0
0
0
0
0
0
0
0
7
-2
-40
-2
40
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-8
-14
5
-12
-7
0
0
0
0
0
0
0
0
0
-13
-67
97
45
-10
-40
-34
-12
7
0
0
0
0
0
0
0
0
30
74
-2
2
50
32
28
15
15
-1
0
0
0
0
0
0
0
-25
85
24
16
-7
-39
-22
-14
-9
0
0
0
0
0
0
0
0
79
25
49
46
13
-12
13
-34
3
0
0
0
0
0
0
0
0
-10
29
23
-36
-19
-25
-6
-34
-16
6
0
0
0
0
0
0
0
1
0
-14
4
-2
-2
-13
1
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-52
16
164
50
-25
64
0
100
42
4
4
0
0
0
0
29
26
126
-1
80
87
26
-35
-91
40
6
36
-25
0
0
0
0
-3
35
52
55
82
82
17
72
47
85
28
33
-8
-2
0
0
0
-4
50
57
-22
-43
122
58
104
40
-8
33
-7
-5
0
0
0
0
0
-37
97
94
-6
131
42
68
54
-25
0
1
0
0
0
0
0
0
18
17
19
-1
-39
52
-47
37
-3
-1
0
0
0
0
0
0
0
0
1
20
-100
26
-20
-11
11
-48
-3
2
0
0
0
0
0
0
0
0
0
-4
33
2
-46
13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
30
-102
5
6
5
-66
-11
0
-72
-106
9
18
-13
0
0
0
0
-42
-44
-60
-48
-5
-73
2
-49
-70
-54
13
-16
-3
13
0
0
0
77
-32
19
-17
10
-37
-26
-3
-74
-47
-13
-10
5
0
0
0
0
70
71
-36
52
41
6
-2
-39
-2
-97
54
53
-25
-3
0
0
0
29
21
8
45
-4
3
15
32
-31
-85
57
92
15
1
0
0
0
-35
-114
30
-2
59
36
24
11
16
-18
-17
-8
40
20
0
0
0
1
14
-46
12
12
20
2
39
-6
-15
-36
2
-9
0
0
0
0
3
1
39
35
29
24
16
-6
1
-18
-18
1
3
2
0
0
0
0
0
2
75
1
13
11
-12
62
-39
0
0
-1
0
0
0
0
0
9
1
62
66
-129
-23
0
52
-91
34
8
13
-8
-3
0
0
0
6
1
88
4
-108
32
-36
-34
-26
-2
-18
1
3
0
0
0
-7
14
5
-2
38
9
-20
-19
40
27
1
20
-12
0
3
0
0
0
-14
69
17
8
63
15
71
92
29
-35
5
-7
0
0
0
0
0
31
19
27
38
11
-12
-6
17
-50
9
16
-2
0
0
0
0
0
1
64
9
75
55
35
-11
-19
-8
23
-31
-2
7
-3
0
0
0
1
-2
-22
-42
6
67
-21
4
19
-12
49
-25
4
0
0
0
0
0
-6
13
10
1
1
22
34
-2
33
6
-9
-8
2
6
0
0
0
0
28
-9
9
-48
-5
-5
-34
-19
12
-14
3
-18
0
0
0
15
31
64
91
-78
46
0
67
-63
38
7
3
0
0
0
0
0
58
66
-27
-6
-30
29
-30
-15
-49
3
-22
-1
0
0
0
0
0
9
-91
3
58
28
50
-5
25
74
42
1
-4
0
0
0
0
0
33
-13
34
80
68
108
-25
42
24
38
0
0
0
0
0
0
0
32
92
24
97
62
15
-2
14
21
-14
0
-4
0
0
0
0
0
6
16
32
15
77
49
-1
-38
37
-34
-2
0
-7
0
0
0
0
3
-10
17
73
36
22
107
-40
-72
33
-30
-22
0
0
0
0
0
0
4
54
62
70
2
1
-34
-23
-6
0
8
0
0
0
0
0
0
0
1
-3
52
-25
-9
0
0
0
0
0
0
0
0
-2
48
-81
-10
44
20
-3
30
0
17
-94
-14
-1
0
0
0
0
-5
27
-36
-9
-5
43
-9
-10
-53
107
-26
39
-1
3
0
0
0
56
19
83
24
37
88
55
39
38
11
51
5
0
1
0
0
0
0
60
32
-17
6
20
9
58
53
11
-72
0
1
0
0
0
0
5
-69
-19
23
-4
81
74
21
69
-18
-4
4
0
0
0
0
0
-1
-1
-23
90
23
139
1
42
55
84
-1
0
0
0
0
0
0
0
2
8
18
-91
1
19
-63
48
-19
4
0
-1
0
0
0
0
0
0
0
-1
8
42
-41
6
-48
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
0
0
0
0
2
-8
16
-11
-87
-40
-80
0
-11
0
0
0
0
0
0
0
3
6
-4
24
-8
84
104
-53
-28
1
1
0
0
0
0
0
0
0
-8
14
54
-2
32
-54
2
86
29
0
0
0
0
0
0
0
0
8
-10
-44
62
76
47
11
-23
0
-1
0
0
0
0
0
0
0
0
5
-10
4
94
30
-3
53
4
0
0
0
0
0
0
0
0
-4
0
-43
24
-156
-64
-41
-17
-68
0
0
0
0
0
0
0
0
0
0
-3
-51
21
-63
-50
-23
-2
0
0
0
0
0
0
0
0
0
0
13
-5
-57
20
-40
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
1
-2
7
3
42
7
95
0
11
-8
0
0
0
0
0
0
-1
3
-8
73
67
-18
48
-1
-2
55
6
8
0
0
0
0
0
-2
20
-9
-6
71
44
45
120
-12
-72
-15
1
-2
0
0
0
0
-1
44
8
-31
58
31
-17
3
8
-41
-7
0
-1
0
0
0
0
-3
-40
8
17
41
-38
-22
65
-76
34
-48
0
3
0
0
0
0
-1
-7
-1
1
48
-5
15
-11
14
-86
-76
4
2
0
0
0
0
1
-5
0
0
-1
5
32
-25
-7
25
-12
3
0
0
0
0
0
0
0
0
-5
2
-68
-36
-56
-70
-10
-19
1
0
0
0
0
0
0
0
0
0
0
0
-14
-100
21
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-9
-2
0
1
0
0
0
0
0
0
0
0
2
106
0
0
20
-41
-22
1
0
0
0
0
0
0
0
0
0
-42
-25
82
31
10
5
6
5
2
0
0
0
0
0
0
0
0
12
-19
-10
57
-20
50
0
0
8
0
0
0
0
0
0
0
0
-1
4
27
9
-64
6
-4
1
0
0
0
0
0
0
0
0
0
-20
-21
-20
106
62
-9
0
0
0
0
0
0
0
0
0
0
0
5
-101
-97
-42
60
57
0
-1
0
0
0
0
0
0
0
0
0
4
-30
35
-7
-58
48
1
0
0
0
0
0
0
0
0
0
0
0
-22
-5
7
-83
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
9
-53
20
31
9
1
-6
0
0
0
0
0
0
0
0
0
0
0
10
48
7
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
68
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
59
6
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
103
-14
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
1
101
0
0
6
-20
-2
0
-1
0
0
0
0
0
0
0
0
3
-9
96
14
70
-20
-1
0
0
0
0
0
0
0
0
0
0
5
-61
-24
19
21
-19
0
-3
0
0
0
0
0
0
0
0
0
-3
-63
-36
-8
-90
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
19
-127
17
0
0
-2
0
0
0
0
0
0
0
0
0
0
39
-56
-62
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
-6
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-34
51
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
-49
0
0
-24
6
6
0
0
0
0
0
0
0
0
0
2
-9
29
64
70
-44
8
0
0
0
0
0
0
0
0
0
0
0
-50
-17
140
54
1
-8
0
0
0
0
0
0
0
0
0
0
0
-31
-34
0
67
-7
5
0
0
0
0
0
0
0
0
0
0
0
-48
-25
-94
-55
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
-56
-16
-46
-46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
65
-14
50
-19
0
0
0
1
0
0
0
0
0
0
0
-7
64
-107
-45
-133
-83
0
0
0
13
1
0
0
0
0
0
0
-1
78
49
-49
-63
-60
-66
5
84
-9
5
-3
0
0
0
0
0
-4
-17
-59
-13
-35
-5
52
-11
49
-14
2
0
0
0
0
0
0
0
33
21
-35
-59
-142
-144
-10
5
0
3
0
7
0
0
0
0
0
-2
15
-1
0
32
12
-47
6
-7
0
0
0
0
0
0
0
0
0
-5
-42
-25
5
6
-67
-72
-6
-3
0
0
0
0
0
0
0
0
0
0
22
-1
-47
-29
-53
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-73
-27
-1
0
0
0
0
0
0
0
0
7
14
-3
1
-6
0
0
0
0
-33
-1
6
0
0
0
0
14
15
1
-3
4
27
0
0
0
63
42
4
3
0
0
0
0
-28
55
-4
-62
-49
2
29
50
86
36
-21
18
0
0
0
0
0
17
13
51
73
67
42
-114
57
-18
-42
-7
0
0
0
0
0
0
4
35
-15
-58
-4
-91
-28
-60
-88
-30
-7
0
0
0
0
0
0
62
1
-26
-74
-57
0
12
65
102
-5
0
0
0
0
0
0
0
0
-3
-3
20
-29
41
-55
-109
-12
-54
2
-1
0
0
0
0
0
0
0
-1
0
11
0
-37
0
14
-39
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-65
-4
-8
-1
0
0
0
0
0
9
-48
21
40
14
-32
1
0
0
0
0
0
0
0
0
0
0
-7
-3
1
18
80
30
0
0
0
0
0
0
0
0
0
0
0
94
35
38
57
55
-56
-22
-3
0
0
0
0
0
0
0
0
0
23
24
9
-10
38
-8
7
5
-1
1
0
0
0
0
0
0
0
38
37
-32
55
-74
8
-20
30
2
1
0
0
0
0
0
0
0
-18
26
49
25
5
-1
119
17
15
42
1
0
0
0
0
0
0
51
-16
47
28
-11
-45
-60
21
-9
2
4
0
0
0
0
0
0
0
-9
-33
25
-46
-55
-25
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
-1
1
3
1
0
0
0
0
0
0
0
0
0
0
16
-9
-26
74
125
26
100
0
0
0
44
-30
0
0
0
0
0
18
-24
-15
29
-49
82
-9
0
0
67
-31
14
-2
5
0
0
0
-46
3
21
45
16
38
30
-30
131
-23
-22
-2
4
0
0
0
0
65
31
44
16
-12
42
16
108
-31
21
-2
2
0
0
0
0
0
88
20
18
-24
-29
-3
-64
-7
-18
-30
6
8
-3
0
0
0
0
28
3
51
31
-20
-142
4
-31
-21
-2
1
8
0
0
0
0
0
10
2
73
3
-56
-98
15
-53
-110
-17
-1
-1
0
0
0
0
0
0
2
6
-28
-3
-116
-45
-31
-4
-12
0
0
0
0
0
0
0
0
0
-3
0
0
-18
0
1
0
0
0
0
0
0
0
0
0
0
-33
-16
-12
17
50
-14
0
0
-22
-13
-7
0
0
0
0
0
3
-27
-20
-14
-16
45
-12
15
6
30
0
-7
0
0
0
0
0
-15
60
32
-2
-23
-25
-5
39
71
-37
-13
24
-2
0
0
0
0
60
-2
41
-13
-17
19
-17
-55
11
31
-57
12
0
0
0
0
0
37
32
-40
-36
-14
-48
-36
9
-47
-37
-63
3
1
0
0
0
0
8
4
-29
3
-35
-47
-21
-84
26
-36
97
-36
-4
0
0
0
0
-27
25
-24
24
-7
-21
-30
-89
-85
25
90
44
0
0
0
0
0
0
15
-9
4
-25
-25
51
-59
-5
14
0
0
0
0
0
0
0
0
0
29
32
-35
62
32
4
-1
0
6
0
0
0
0
0
0
41
-3
-28
91
-69
93
159
0
0
-2
0
0
0
0
0
0
0
17
24
21
4
-19
-19
4
17
58
-2
0
1
0
0
0
0
0
-38
81
-6
19
93
29
14
90
8
0
0
0
0
0
0
0
0
107
103
54
1
7
38
83
-32
4
8
-1
0
0
0
0
0
0
83
39
-35
26
-74
4
-26
30
-6
-5
0
0
0
0
0
0
0
0
-42
-37
-14
-8
-60
-74
-19
-4
0
0
0
0
0
0
0
0
0
-1
-41
119
21
35
-25
3
0
0
0
0
0
0
0
0
0
0
0
13
86
-27
-45
25
-12
4
0
0
0
0
0
0
0
0
0
4
-9
-19
-1
3
6
4
-3
0
0
0
0
0
0
0
0
0
40
18
-11
68
89
17
-26
0
3
0
0
0
0
0
0
0
9
-8
18
17
-4
29
0
9
-63
2
-2
0
0
0
0
0
0
-14
-2
11
47
17
45
-25
22
0
-12
0
4
0
0
0
0
0
-30
-40
-12
-15
6
-31
35
-2
-18
0
0
0
0
0
0
0
0
-31
25
-44
26
-7
-24
71
-3
31
10
3
9
0
0
0
0
0
-42
-29
20
8
2
-15
8
-41
-5
0
0
0
0
0
0
0
0
51
31
-5
-40
29
-13
-12
17
2
-5
0
0
0
0
0
0
0
31
34
-3
-31
31
25
36
13
0
0
0
0
0
0
0
0
0
0
0
79
6
5
8
-2
0
0
0
0
0
0
0
0
0
0
-60
-14
18
9
120
97
75
0
0
-1
-2
9
2
0
0
0
0
-10
-2
20
26
18
102
-14
0
86
0
72
-21
-4
0
0
0
0
22
15
12
21
13
16
-15
99
63
162
42
-1
0
0
0
0
0
25
33
23
25
-19
75
30
19
71
-40
47
-2
-7
0
0
0
0
47
20
20
-11
7
15
-18
-38
-50
73
4
0
0
0
0
0
0
10
9
35
-17
-6
23
-104
-46
-89
20
-5
0
0
0
0
0
0
-3
20
27
10
36
-44
7
-42
-25
-25
59
0
0
0
0
0
0
0
-1
0
-19
19
-12
-5
-64
-4
-36
0
0
0
0
0
0
0
0
0
19
2
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
-41
-32
-94
-22
-47
-10
18
0
-71
0
-1
0
0
0
0
0
34
58
-11
-67
-53
-61
-53
0
8
0
-10
0
0
0
0
0
0
28
-47
-75
17
0
-9
-111
26
31
-5
0
-3
0
0
0
0
0
-10
78
12
34
-78
-8
-90
16
41
5
-3
0
0
0
0
0
0
31
-42
20
-86
-54
-53
-20
-73
-16
12
0
0
0
0
0
0
0
0
-90
-27
-49
-69
-108
-10
-46
-9
11
4
0
0
0
0
0
0
0
0
3
57
-3
-21
-62
9
-7
-6
0
0
0
0
0
0
0
0
0
0
2
-11
-22
0
21
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-49
5
7
25
11
-83
0
0
0
-1
0
0
0
0
0
0
-14
34
-9
-57
-52
112
12
4
0
0
44
5
0
0
0
0
0
-5
6
4
76
-19
40
71
42
56
-7
0
-1
0
0
0
0
0
26
-67
64
52
20
109
61
-15
71
-49
14
0
0
0
0
0
0
-20
-36
-35
8
-23
-68
1
-123
-87
20
2
3
0
0
0
0
0
-32
14
3
-16
-71
6
47
66
13
21
1
0
0
0
0
0
0
19
-23
35
-10
-18
-61
8
-58
72
35
0
0
0
0
0
0
0
-6
-54
10
78
-15
0
-17
-41
28
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-139
27
49
132
-29
64
0
116
8
0
0
0
0
0
0
16
27
19
89
10
-6
79
0
-7
36
-33
0
0
0
0
0
0
-9
-21
-5
24
33
4
0
1
0
-30
0
0
0
0
0
0
0
0
44
1
32
-33
0
-1
0
0
-47
0
0
0
0
0
0
0
-17
38
64
34
23
34
1
-1
0
0
0
0
0
0
0
0
0
-13
-66
-78
-35
-28
18
1
0
0
0
0
0
0
0
0
0
0
17
73
6
-46
-104
9
0
0
0
0
0
0
0
0
0
0
0
-38
20
-21
14
-25
-1
0
0
0
0
0
0
0
0
0
0
0
-70
-6
-71
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
2
0
5
6
0
-6
0
-1
0
0
0
0
0
0
0
2
39
-52
57
8
2
0
0
0
0
0
0
0
0
0
0
0
-6
14
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-2
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
17
-51
8
-2
2
21
0
-19
0
0
0
0
0
0
0
0
-76
-33
24
8
0
1
0
1
7
0
0
0
0
0
0
0
1
-31
51
-29
-6
0
0
0
0
3
0
0
0
0
0
0
0
12
-23
-1
-51
-44
0
1
0
0
0
0
0
0
0
0
0
0
-6
8
5
31
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
27
-53
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
-4
-45
21
0
3
-14
0
-13
0
0
0
0
0
0
0
-2
-31
-60
42
-29
14
-6
0
6
0
0
0
0
0
0
0
0
5
-9
-75
19
-10
-4
0
-2
0
-5
0
0
0
0
0
0
0
0
-20
-59
41
20
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-11
43
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-22
38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
8
2
4
4
0
0
0
0
0
0
0
0
0
0
-27
-8
-8
1
9
-2
4
1
0
0
0
0
0
0
0
0
0
-8
8
5
-2
-6
5
7
0
2
0
0
0
0
0
0
0
0
13
1
-6
1
-7
0
-2
-5
-1
0
0
0
0
0
0
0
0
-4
4
-5
-6
-2
-9
2
0
0
0
0
0
0
0
0
0
0
-6
2
-7
-18
5
4
0
0
0
0
0
0
0
0
0
0
0
-5
7
-4
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
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
45
19
-1
6
-91
-57
0
0
0
0
0
0
0
0
0
-7
-31
78
-6
11
-36
-18
11
-63
22
0
0
0
0
0
0
0
-45
4
45
-25
6
1
1
4
-41
-22
0
0
0
0
0
0
0
12
-9
83
5
6
-20
4
1
-36
-5
0
0
0
0
0
0
0
-81
49
-19
-24
7
2
15
9
-13
-5
0
0
0
0
0
0
0
3
4
14
44
-20
-42
14
0
0
1
0
0
0
0
0
0
0
-5
-43
23
-8
-42
-26
2
-3
0
0
0
0
0
0
0
0
0
-12
44
24
-59
33
-1
0
-2
0
0
0
0
0
0
0
0
0
-44
20
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
30
89
106
12
-18
-19
0
51
-24
-16
-37
-3
0
0
0
0
51
22
-46
114
55
-18
-16
-12
-6
-14
-35
34
1
0
0
0
-1
7
63
54
6
56
-4
15
-15
-79
-37
14
-15
-13
0
0
0
0
66
87
43
-41
35
53
71
74
94
48
48
-34
-21
0
0
0
0
25
2
23
-10
12
54
57
42
40
-30
41
-3
-1
0
0
0
-8
0
-16
-27
124
27
47
-30
100
43
20
0
0
-8
0
0
0
0
-7
13
-22
9
55
4
-11
47
0
1
2
0
0
0
0
0
0
0
1
1
-1
-79
3
8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
57
16
-39
-55
13
0
-89
-89
121
44
20
0
0
0
0
0
27
-1
35
-26
-65
35
34
26
15
-15
-6
-26
17
3
0
0
-77
3
49
40
14
-43
-60
-44
26
-26
-15
30
37
6
0
0
0
-11
23
-16
2
-9
26
72
25
92
8
41
88
35
27
0
0
0
-31
-38
55
56
-18
17
48
42
24
-17
-28
66
-15
0
0
0
0
-64
-39
69
34
33
34
51
-64
32
4
-22
69
25
1
0
0
0
-6
-58
-16
-23
19
27
-5
43
11
31
-79
-12
5
-2
0
0
0
8
-37
-54
11
-5
-13
2
19
39
61
-37
-13
10
4
0
0
0
0
-8
-5
27
-27
-13
-25
5
31
16
67
5
-2
0
0
0
0
0
4
10
-46
25
-83
-12
0
28
46
7
-8
0
0
0
0
0
0
-1
62
33
-6
-2
-47
-5
60
-59
-13
-1
2
0
0
0
0
0
1
23
84
20
21
16
-48
10
25
18
4
0
0
0
0
0
0
-19
40
114
58
7
4
123
139
67
8
0
0
1
0
0
0
0
0
13
74
-25
-25
98
43
211
56
5
0
0
-2
0
0
0
0
0
0
50
79
43
-7
78
66
-8
-5
15
0
0
0
0
0
0
0
34
73
91
-117
4
-38
-36
-8
-1
0
0
0
0
0
0
0
0
0
123
7
52
-7
67
-50
4
0
-1
0
0
0
0
0
0
0
0
44
-7
76
60
-43
10
-4
0
0
0
0
0
0
0
0
1
116
148
55
-118
153
0
19
-16
-27
3
-1
0
0
0
0
0
3
136
23
-22
-51
-97
19
30
33
-13
14
-10
0
1
0
0
0
25
9
-50
58
-44
-100
45
107
33
-17
2
2
0
0
0
0
0
3
21
40
47
55
117
97
86
71
-15
-22
4
0
0
0
0
0
-91
-30
53
82
19
-16
70
75
13
1
3
-1
0
0
0
0
0
1
24
55
-82
-16
100
-28
21
25
-1
-5
0
0
0
0
0
0
2
-26
106
-57
-5
14
80
35
-21
1
4
0
0
0
0
0
0
0
8
142
12
-110
-62
64
56
-28
-1
0
0
0
0
0
0
0
0
0
0
0
7
1
-2
0
0
0
0
0
0
0
0
-4
32
61
9
53
88
-25
-76
0
-15
-38
8
-1
0
0
0
0
-3
39
65
-6
42
68
-45
2
40
62
40
58
-18
0
0
0
0
-2
-33
30
23
-53
61
-10
-25
34
-26
35
-40
2
-3
0
0
0
0
33
-27
55
119
122
42
51
127
94
-28
-6
0
0
-1
0
0
0
44
6
31
13
21
14
22
-26
28
7
-3
0
0
0
0
0
4
13
-8
41
-32
-43
2
102
-4
6
0
0
0
0
0
0
0
8
-6
-4
-45
90
74
-37
3
0
17
-6
1
5
0
0
0
0
0
0
-8
24
-50
8
-25
30
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
41
-29
-45
0
6
0
0
0
0
0
0
0
0
0
3
0
25
-23
19
-104
-7
-19
4
0
0
0
0
0
0
0
0
1
-2
-13
-3
-5
25
75
-3
1
0
0
0
0
0
0
0
0
-17
-4
-1
37
-25
47
-1
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
3
2
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-85
-14
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
40
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
5
-11
-10
49
0
-57
2
6
0
0
0
0
0
0
2
17
10
60
20
-59
41
-100
82
-23
0
0
5
0
0
0
0
1
5
40
24
28
4
11
11
-85
-50
-1
0
-5
0
0
0
0
23
-20
1
103
49
15
55
60
61
21
-5
0
0
0
0
0
0
-22
-25
9
4
36
-14
-29
-13
11
31
15
-5
0
0
0
0
0
-6
1
24
-58
-29
12
31
79
-46
27
0
-1
0
0
0
0
0
7
-39
12
-9
-62
29
-58
103
-23
-1
3
0
0
0
0
0
0
1
0
4
-111
17
-33
9
17
22
0
5
0
0
0
0
0
0
0
0
0
-4
9
3
-4
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
29
-16
0
8
0
0
0
0
0
0
0
0
0
98
0
0
183
46
19
-33
-25
3
0
0
0
0
0
0
0
3
50
157
114
87
47
-43
7
-1
3
0
0
0
0
0
0
0
0
-55
62
88
71
-40
40
-45
-26
-25
0
0
0
0
0
0
0
-3
108
65
59
4
-70
2
4
-6
0
0
0
0
0
0
0
0
-6
24
66
21
-54
55
53
-29
-48
0
0
0
0
0
0
0
0
2
-10
-42
41
34
7
25
6
1
0
0
0
0
0
0
0
0
1
5
-72
-43
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-18
93
-1
3
0
0
0
0
0
0
0
0
0
0
0
24
-55
15
14
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-121
27
20
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
30
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
66
0
0
57
-12
19
1
-3
0
0
0
0
0
0
0
0
0
102
2
-44
14
62
1
0
-6
0
0
0
0
0
0
0
0
0
66
12
-75
103
-18
-5
0
10
0
-2
0
0
0
0
0
0
9
-1
40
-56
-34
-24
7
-19
1
1
0
0
0
0
0
0
0
1
9
-5
33
31
-8
3
0
-2
0
0
0
0
0
0
0
0
0
9
12
-10
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
38
0
0
84
29
-6
0
0
0
0
0
0
0
0
0
0
0
7
10
82
-75
-45
6
0
0
0
0
0
0
0
0
0
0
-5
43
36
38
-28
-2
0
0
0
0
0
0
0
0
0
0
0
40
74
-20
-134
60
0
0
0
0
0
0
0
0
0
0
0
0
-3
-58
99
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
67
-75
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
12
-2
-17
0
0
0
-1
5
0
0
0
0
0
0
0
-10
2
-20
0
14
0
0
0
-12
0
0
0
0
0
0
0
0
-2
2
29
2
-15
30
-1
-85
0
-5
0
0
0
0
0
0
0
0
32
-5
17
119
55
17
45
4
0
0
0
0
0
0
0
3
-6
-1
0
79
52
32
-11
86
5
-7
0
-2
2
0
0
0
0
0
5
19
-25
-17
10
37
63
3
0
0
6
0
0
0
0
0
0
4
7
26
-73
24
46
-11
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
2
2
0
1
0
0
0
0
-1
12
2
0
-3
2
0
0
0
-54
-30
83
-3
-14
0
0
0
0
11
-4
6
-33
16
57
5
64
65
74
12
3
-6
0
0
0
1
-4
4
0
-7
119
132
-46
17
-53
8
-1
0
0
0
0
0
-1
2
-16
6
-44
28
101
-3
5
-57
-4
8
0
0
-1
0
0
3
25
-28
-9
-129
43
-18
-10
-24
8
2
0
0
0
0
0
0
-5
5
40
-7
111
48
12
-25
59
0
0
0
0
0
0
0
0
-2
0
0
-6
0
-34
-6
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
-4
68
31
48
-57
3
-1
0
0
0
0
0
0
0
0
0
0
-24
8
66
-33
-19
20
-3
0
0
0
0
0
0
0
0
0
0
-19
110
63
28
-13
31
0
0
0
1
0
0
0
0
0
0
0
10
-1
20
64
-5
-22
17
-4
10
-1
-1
0
0
0
0
0
0
6
45
109
-98
-16
87
-8
-30
14
-4
2
-1
1
0
0
0
0
-7
-25
-58
-65
-44
-26
20
35
-18
-18
-13
4
-3
0
0
0
0
30
-60
109
74
-134
85
33
71
16
74
-19
-28
-1
-1
0
0
0
0
41
0
-83
-95
46
-51
81
-74
73
4
-1
-5
0
0
0
0
0
0
6
-20
9
0
-6
0
2
-1
0
0
0
0
0
0
0
-75
-6
34
-52
44
7
-23
0
0
0
-45
7
0
0
0
0
0
-22
54
60
-5
113
39
192
0
0
30
55
-28
-27
1
1
0
0
2
-12
6
31
-36
121
182
130
25
12
-12
-25
0
0
0
0
0
20
-3
-46
-54
19
147
125
30
-42
38
-14
78
-8
0
0
0
0
52
-56
-18
-3
-26
22
15
85
-11
113
49
-45
10
-4
0
0
0
-3
14
-36
-52
-8
32
61
-45
-15
47
97
-2
-7
8
0
0
0
-1
-34
-43
27
61
-110
79
-24
-82
-88
21
29
-1
2
0
0
0
0
-12
-45
16
-15
30
47
-5
18
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-65
-43
-5
9
63
109
0
0
-18
47
-43
-1
1
0
0
0
-25
-61
-40
-44
-2
13
77
-17
93
22
-15
38
-40
-1
0
0
0
-52
70
12
10
-19
13
27
18
56
-59
-5
-11
0
0
0
0
0
49
2
-19
3
-1
38
13
16
66
-3
8
-11
-24
3
-1
0
0
-14
46
-8
1
23
-27
30
40
26
72
74
-37
-4
-1
0
0
0
-33
-10
37
-26
-30
-38
-17
34
-7
-37
50
103
-23
2
0
0
0
49
22
-29
-25
20
-35
15
-61
-60
56
-105
-20
-22
0
0
0
0
12
-35
5
8
-22
-27
14
-26
65
8
-47
27
-1
0
0
0
0
0
-6
-23
-26
-20
61
25
-21
-18
-30
-43
40
0
0
0
0
0
-43
-30
-95
11
44
42
-10
0
0
0
0
0
0
0
0
0
0
-13
24
52
78
122
14
57
42
-3
0
0
0
0
0
0
0
0
-7
-7
4
79
13
3
-16
-29
96
0
0
0
0
0
0
0
0
2
-34
-109
18
-91
21
4
-3
-51
0
0
0
0
0
0
0
0
-24
44
-44
33
-39
21
86
-38
-10
-4
0
0
0
0
0
0
0
-43
-79
-34
-61
-31
-32
-22
-48
-20
3
-5
0
0
0
0
0
0
-24
-49
46
60
99
33
-14
-55
-24
-20
0
0
0
0
0
0
0
26
25
12
-15
81
15
11
-62
-28
-28
1
2
0
0
0
0
0
18
-16
-57
43
21
11
-29
-11
50
0
3
0
0
0
0
0
0
-2
9
12
32
48
135
-19
65
0
6
0
0
0
0
0
0
0
-69
76
-54
4
83
52
0
82
8
23
0
0
0
0
0
0
0
40
-74
13
86
45
31
119
-19
4
9
-2
-1
0
0
0
0
0
-62
64
42
-2
36
-53
60
34
28
3
-1
0
0
0
0
0
0
32
-21
5
2
57
56
-46
-44
-8
-9
3
0
1
0
0
0
0
-61
-24
-11
-35
-30
37
105
-9
3
-4
-25
0
0
0
0
0
0
-87
-30
18
-136
-63
-6
47
-7
-40
-9
-1
0
0
0
0
0
0
97
24
-68
-101
-23
-97
-50
-3
91
5
0
0
0
0
0
0
0
0
0
-18
-23
-12
0
0
0
0
0
0
0
0
0
0
0
0
-33
25
15
52
53
32
92
0
0
140
24
-6
-19
0
0
0
0
-39
21
20
51
75
-15
79
0
155
0
27
-44
13
0
0
0
0
-18
-41
-16
5
15
144
154
128
64
10
2
0
2
0
0
0
0
-93
22
22
8
-42
18
8
-62
-74
-99
67
-21
0
0
0
0
0
-30
-48
37
6
-8
79
20
3
-73
-45
-10
-7
-2
2
0
0
0
1
-96
-35
-56
-45
-28
-23
71
87
-83
-100
26
0
0
0
0
0
-1
-35
24
-46
-56
51
-17
39
-54
-56
-77
-13
-2
0
0
0
0
0
4
8
48
85
102
54
36
14
2
10
0
0
0
0
0
0
0
0
-12
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
12
0
8
-101
-3
-12
8
0
23
-12
3
0
0
0
0
0
17
-29
14
-112
-57
10
5
0
-19
0
23
0
3
0
0
0
0
7
16
19
-69
11
27
8
18
-25
-40
-2
8
0
0
0
0
0
1
-45
14
12
59
99
103
96
-15
-56
-13
-8
0
0
0
0
0
-1
-32
96
48
89
187
4
-13
-47
-30
0
0
0
0
0
0
0
0
56
194
102
142
16
34
-24
-7
-13
-3
0
0
0
0
0
0
0
12
123
55
114
-28
38
-28
-20
5
0
0
0
0
0
0
0
0
0
6
142
-24
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-47
85
4
40
9
47
32
0
0
0
1
1
2
0
0
0
0
-51
72
3
29
-14
79
90
1
0
28
38
0
-1
0
0
0
0
24
-46
33
0
43
-50
6
15
3
-21
-15
-1
0
3
0
0
0
11
39
51
63
-38
47
19
9
7
-62
32
0
0
1
0
0
0
-2
-72
13
2
50
16
-34
-38
44
-29
-1
0
0
0
0
0
0
21
-77
54
-6
-27
-89
-128
2
-6
106
-1
0
0
0
0
0
0
20
-50
29
-40
11
52
-19
-51
48
-52
-2
0
0
0
0
0
0
-10
97
-13
54
43
41
14
10
44
0
0
0
0
0
0
0
0
0
20
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
53
0
-10
12
3
1
0
-9
0
0
0
0
0
0
0
0
60
-125
151
17
-49
47
-44
24
28
-4
0
0
0
0
0
0
-7
-8
-59
34
2
101
-45
-30
10
-40
64
0
0
0
0
0
0
-2
16
-81
48
-131
-3
0
0
-4
4
0
0
0
0
0
0
0
0
15
60
52
17
-1
7
0
0
0
0
0
0
0
0
0
0
0
13
-33
-13
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
29
-15
-12
7
2
18
18
0
0
0
0
0
0
0
0
0
31
18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-61
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
5
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
111
-71
18
48
-18
13
-9
22
0
0
0
0
0
0
0
0
47
24
-46
0
-15
-1
-2
2
55
0
0
0
0
0
0
0
0
-15
58
76
12
23
0
0
2
0
0
0
0
0
0
0
0
0
0
43
86
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-7
19
7
25
-22
8
-17
-60
-47
3
0
0
0
0
0
0
0
0
-4
-29
74
7
1
-1
-3
6
0
0
0
0
0
0
0
0
21
-15
25
111
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-1
4
-1
0
0
0
0
0
0
0
0
0
0
2
8
28
-19
-15
-72
-46
10
4
0
0
0
0
0
0
0
0
0
0
-9
-38
77
-16
-6
0
0
1
0
0
0
0
0
0
0
0
0
1
-7
54
33
-5
0
0
0
0
0
0
0
0
0
0
-4
6
6
-5
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
42
9
-17
0
0
1
0
0
0
0
0
0
4
22
33
7
14
73
-5
-17
10
0
0
0
0
0
0
0
0
3
-36
-1
36
2
26
-59
-62
-14
5
0
0
0
0
0
0
0
0
17
53
-20
44
-5
-3
-21
-5
0
0
0
0
0
0
0
0
0
-1
8
-14
11
36
-9
-13
-3
1
0
0
0
0
0
0
0
0
2
-1
-5
-22
5
6
-5
4
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
25
9
-5
-18
-21
0
-19
12
56
2
0
0
0
0
-4
34
43
-78
74
57
35
-69
-30
60
74
57
35
6
0
0
0
0
84
26
22
10
28
42
66
-15
3
31
5
-19
-6
0
0
0
0
-18
39
127
91
58
128
160
69
68
-48
-4
-31
4
-1
0
0
2
0
-15
-49
-1
151
108
104
105
-159
-9
-1
4
0
0
0
0
0
0
-8
12
-14
-59
-8
11
-48
-11
19
6
0
0
0
0
0
0
0
-1
-6
0
5
18
28
45
-13
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
5
60
-18
-33
25
0
39
34
11
-15
-4
0
0
0
0
0
9
78
10
15
-82
31
-31
36
-69
10
-3
49
-40
0
0
0
0
48
62
31
52
21
-14
-36
11
-102
-23
-54
-51
-1
0
0
0
-2
-3
10
7
53
39
-27
-26
6
-14
43
-8
59
6
0
0
0
-6
40
-14
62
13
12
26
4
-66
4
-59
-3
135
-29
0
0
0
0
40
-64
30
4
21
-41
-56
97
-22
17
44
84
-61
0
0
0
-8
-23
-52
-64
-15
6
4
-75
-24
-54
-44
-15
-16
-5
0
0
0
0
0
13
-5
63
20
-8
-45
-81
-46
-19
-6
-1
0
0
0
0
0
0
0
3
140
-27
-83
46
-60
-32
59
8
0
0
0
0
0
0
0
14
66
1
-67
14
0
-100
-99
-29
-65
110
-18
-64
0
0
0
3
-43
-99
-6
82
89
27
-13
-16
115
-5
4
-14
0
-12
0
0
3
48
44
85
-34
31
-4
19
6
30
22
22
19
11
0
0
0
10
32
66
176
114
55
8
2
83
-17
-42
17
-4
0
0
0
0
0
-9
-54
26
42
-54
39
-35
4
1
-30
-8
0
5
0
0
0
0
2
8
11
30
-22
25
-8
-58
90
12
-30
-6
0
0
0
0
0
0
-9
-8
-98
-19
-8
-9
42
-39
15
-87
-2
-28
3
0
0
0
0
-5
29
-21
71
-66
-25
-23
38
29
16
54
32
-71
0
0
0
0
0
-6
16
-55
-17
-11
-17
-53
24
15
153
45
23
0
0
0
30
-36
85
-6
35
0
-8
-31
2
0
47
-2
0
0
0
0
7
-17
55
78
-59
-17
6
-32
23
72
41
-24
5
-1
0
0
0
3
43
51
11
15
-27
5
73
-25
-39
22
28
-1
0
0
0
0
10
50
93
45
45
73
85
59
57
55
17
8
0
0
0
0
0
-1
8
-13
-1
18
27
39
-20
101
-14
17
-1
-2
0
0
0
0
0
11
64
88
16
54
19
-8
23
-53
49
12
-18
25
0
0
0
0
0
9
41
-36
27
-55
11
-62
-28
8
73
-1
0
0
0
0
0
0
51
21
39
46
15
-54
-8
-19
-23
12
-70
-12
0
0
0
0
0
0
0
33
-34
8
0
0
0
0
0
0
0
0
0
-19
-68
38
-14
-10
-19
-8
0
-21
0
-23
0
1
0
0
0
-3
43
60
78
22
-24
-62
-48
-74
-4
-61
-45
-6
0
0
0
0
-6
45
77
112
0
-17
47
-2
83
52
-5
14
29
-3
0
0
0
0
-4
8
86
33
109
26
106
17
43
72
-15
1
-16
6
0
0
0
2
21
26
147
6
14
66
64
-15
11
-12
0
0
0
0
0
0
0
9
21
10
37
106
101
37
-18
-88
-2
0
0
4
0
0
0
0
0
0
0
-64
-60
-20
-54
19
-1
0
0
0
0
0
0
0
0
0
5
0
3
2
-31
5
8
0
4
1
0
-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
27
-2
-54
0
-2
0
0
0
0
0
0
0
0
0
-1
-5
-11
-7
17
107
23
-2
0
0
0
0
0
0
0
0
0
4
-13
99
42
18
-5
-25
-4
-2
0
0
0
0
0
0
0
0
-5
3
40
44
81
109
1
0
0
0
0
0
0
0
0
0
0
0
7
67
21
25
4
-7
3
0
1
0
0
0
0
0
0
0
0
15
2
63
8
72
12
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
60
53
-55
0
-27
-52
1
0
0
0
0
0
-2
0
-9
55
12
164
-18
-41
14
-59
-41
5
19
1
0
0
0
0
-6
-9
14
42
97
-29
17
5
-28
18
9
1
0
0
0
0
0
0
0
15
58
117
102
128
82
-69
23
-3
-6
0
0
0
0
0
0
0
13
122
14
27
-2
-73
-86
50
0
0
0
0
0
0
0
0
0
3
-28
-65
-53
65
-43
89
7
-6
-1
0
0
0
0
0
0
0
0
-13
44
41
-28
-88
-23
78
-8
0
3
0
0
0
0
0
0
0
0
-21
-80
6
-57
-60
23
-5
1
0
0
0
0
0
0
0
0
0
-3
-3
-14
-165
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
-8
3
-19
-53
0
0
0
0
0
0
0
0
0
-8
0
0
-2
80
63
50
12
-5
0
0
0
0
0
0
0
-5
34
66
26
17
52
100
58
-60
60
0
0
0
0
0
0
0
9
61
70
29
-10
-3
-18
-56
-48
9
0
0
0
0
0
0
0
1
10
2
42
2
-47
15
-12
-10
-73
0
0
0
0
0
0
0
-7
102
34
5
39
56
-16
14
9
-28
0
0
0
0
0
0
0
-4
-54
75
-53
-11
23
-80
-9
-28
10
1
0
0
0
0
0
0
0
-45
-33
-32
41
-29
-55
18
-2
1
0
0
0
0
0
0
0
0
-9
10
70
-20
-60
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
4
-1
0
1
0
0
0
0
0
0
0
0
0
-12
22
-25
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
-16
31
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-38
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
20
-32
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
-102
-15
-5
-2
-5
1
-2
0
0
0
0
0
0
0
0
0
0
115
25
13
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
88
0
0
-18
5
-1
0
0
0
0
0
0
0
0
0
0
0
63
6
49
47
1
-7
4
0
0
0
0
0
0
0
0
0
0
89
160
91
11
0
-2
0
8
-1
0
0
0
0
0
0
0
3
-20
-91
-1
50
42
-6
-4
-3
-1
0
0
0
0
0
0
0
3
-31
82
32
-72
-27
2
-22
2
1
0
0
0
0
0
0
0
0
0
-36
10
109
-50
2
2
-1
4
0
0
0
0
0
0
0
0
0
10
35
51
1
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
17
4
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-2
-15
0
0
4
-3
-4
-2
0
0
0
0
0
0
0
0
0
4
-60
92
107
7
1
0
1
0
0
0
0
0
0
0
0
0
-18
-41
42
-135
73
16
0
7
0
0
0
0
0
0
0
0
0
-2
17
114
-33
49
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-84
-23
25
4
6
0
6
-3
0
0
0
0
0
0
0
0
0
47
-80
92
-21
8
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-2
-48
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-7
51
12
-5
0
0
0
-12
1
0
0
0
0
0
0
-6
22
60
16
5
-28
0
0
0
0
2
0
0
0
0
0
0
-5
-10
18
11
-4
61
-66
80
6
1
0
3
0
0
0
0
0
0
-4
40
-11
-40
47
-11
-14
73
57
-5
-6
1
0
0
0
0
0
0
12
-6
-29
-78
31
-26
52
-2
51
-3
9
0
0
0
0
0
0
0
2
-24
-57
21
-57
62
21
3
2
6
2
0
0
0
0
0
0
-1
8
26
-32
-37
-22
-13
16
0
0
0
0
0
0
0
0
0
0
0
7
42
-33
-70
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
26
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
4
51
3
0
2
0
0
0
0
0
5
6
3
38
0
0
0
44
68
33
9
0
0
0
0
-1
5
8
107
19
22
-5
52
39
1
15
4
-1
0
-1
0
0
0
0
32
-8
29
86
87
86
-23
-4
6
-8
-4
0
0
0
0
0
0
6
-26
26
2
-52
23
-26
-20
17
-1
0
0
0
0
0
0
0
0
-33
-15
-84
-146
-16
47
-59
6
-1
-5
-6
0
0
0
0
0
0
12
54
101
44
-30
9
-16
-13
-30
1
-8
-6
0
0
0
0
0
0
3
-5
-90
33
-50
17
5
0
-1
0
0
0
0
0
0
0
0
0
-5
66
19
-17
59
8
-4
0
0
0
0
59
-93
64
14
-78
-4
1
0
0
0
0
0
0
0
0
0
0
26
34
65
47
24
16
2
0
0
0
0
0
0
0
0
0
0
53
55
42
74
39
47
-6
-1
0
0
0
0
0
0
0
0
0
15
-45
-1
10
67
-9
-5
-2
2
0
0
-1
0
0
0
0
0
-47
1
32
-16
69
56
21
-5
-8
0
0
0
11
-3
0
0
0
0
9
10
30
-10
27
72
51
16
-22
17
-9
-2
-8
0
0
0
0
-7
86
-33
-8
-32
56
-4
15
0
-22
-3
-1
8
0
0
0
0
1
3
-8
0
0
2
41
-4
4
-9
31
97
-17
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
40
-16
-78
-60
79
3
101
0
0
0
20
-17
-9
18
0
0
0
25
-14
-11
9
27
-54
-20
0
0
29
88
-41
30
5
0
0
0
33
35
63
34
11
56
-26
0
81
223
104
57
10
-5
-2
0
0
-106
63
11
-13
45
-8
78
57
45
31
-28
5
-2
-1
-6
1
0
4
-56
18
9
48
-41
34
131
-24
-99
6
-18
5
0
0
-1
0
0
14
-33
46
29
-7
4
-62
-47
-20
0
10
-3
1
-2
0
0
0
0
-13
-34
43
-15
6
-66
-70
8
-27
-6
-2
0
-2
0
0
0
0
0
-5
2
0
-1
9
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
29
-23
30
8
80
0
0
61
1
-25
9
0
0
0
0
7
-19
-7
42
11
-24
3
72
85
-51
-88
35
-2
0
0
0
0
31
25
-44
22
16
57
18
-22
21
-81
-73
-9
-16
1
0
0
0
5
40
-48
-3
12
26
26
64
-53
-84
-80
-26
22
-2
0
0
0
37
-6
15
3
-15
-16
-11
31
-102
-20
25
7
-17
2
0
0
0
-1
15
-23
52
8
-2
34
-20
-61
-11
-6
19
-1
0
0
0
0
0
0
-30
94
-4
-7
-60
18
14
-10
-58
-42
-49
0
0
0
0
0
0
46
75
27
-7
-26
8
-62
-13
13
0
0
0
0
0
0
0
0
16
22
41
-28
0
-12
0
0
0
0
0
0
0
0
0
13
10
68
-24
-68
-15
-31
0
0
4
0
0
0
0
0
0
0
-4
22
90
18
-56
111
92
102
11
0
0
0
0
0
0
0
0
-12
-42
-27
-36
52
42
-27
-34
-10
0
0
0
0
0
0
0
0
2
27
24
82
-41
-7
100
-4
25
0
0
-3
0
0
0
0
0
0
22
31
56
-52
13
-42
-56
-22
-5
0
2
0
0
0
0
0
0
2
-1
-9
-6
50
-6
-40
-48
1
0
7
0
0
0
0
0
0
0
1
0
-9
-13
-15
-33
-3
1
0
0
1
1
0
0
0
0
0
0
5
0
-16
-42
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
33
-3
11
37
-15
76
27
15
0
0
0
0
0
0
0
0
0
-31
35
19
7
36
39
0
-45
-14
1
0
0
0
1
0
0
0
76
-43
24
24
17
9
9
62
-27
-7
0
-1
0
0
0
0
0
32
-31
39
-24
28
90
5
-133
-18
-9
-8
-1
-2
0
0
0
0
6
13
-18
-29
-19
-4
-37
-21
15
-5
0
6
0
0
0
0
0
-10
-13
6
23
41
46
-53
-77
0
4
-2
0
0
0
0
0
0
0
-11
39
-23
-8
-38
-50
-20
5
-13
0
0
0
0
0
0
0
14
0
1
-5
-16
0
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
67
52
-10
-65
38
95
0
0
29
-47
0
-8
-2
0
0
0
-10
8
48
35
13
0
131
0
156
0
-4
-5
-5
0
0
0
0
66
48
17
86
19
-19
-14
24
159
104
20
-6
-8
0
0
0
0
68
76
10
38
42
-3
34
89
42
42
40
-12
2
2
0
0
0
-1
20
-41
-28
23
44
51
-76
-64
-15
48
20
1
0
-1
0
0
0
-10
15
48
60
104
29
-93
-47
77
-8
-8
1
0
0
0
0
0
0
-5
-1
-24
107
25
-77
-98
-54
-1
0
0
-1
0
0
0
0
0
0
0
-20
-1
24
-10
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
1
-48
-45
7
5
0
-5
-2
3
-1
0
0
0
0
0
-2
54
-88
-129
-40
-46
0
-18
0
0
1
1
0
0
0
0
-1
-3
-1
-17
-107
43
-30
-15
10
-1
0
0
0
0
0
0
0
0
-23
15
-13
6
-21
-64
0
-4
-30
10
-6
4
0
0
0
0
0
1
26
-17
-17
-28
-83
-13
50
55
43
1
0
0
0
0
0
0
0
-3
-6
-51
2
-92
-74
-32
45
-1
0
3
0
0
0
0
0
0
0
0
25
18
-7
58
-12
18
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
0
-12
24
-28
0
0
0
0
-3
-13
-7
0
0
0
0
11
40
-2
80
12
69
117
-1
0
-3
5
5
0
0
0
0
0
-42
15
-2
17
-46
10
48
8
27
22
0
0
0
0
0
0
0
-3
-101
54
58
48
151
-87
-51
73
18
-8
10
0
0
0
0
0
2
16
38
127
127
22
75
-5
-29
9
5
5
0
0
0
0
0
2
2
72
8
-23
66
-8
-23
-53
-4
30
1
0
0
0
0
0
0
5
1
12
-18
8
-8
-54
-25
42
4
0
0
0
0
0
0
0
0
-1
2
-2
-24
-1
-18
7
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
3
36
-3
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
-55
-8
-111
8
56
-25
0
0
0
0
0
0
0
0
0
0
0
1
-19
-36
-12
12
10
34
0
0
0
0
0
0
0
0
0
0
-13
-40
12
1
57
57
0
0
0
0
0
0
0
0
0
0
2
6
108
6
-4
-37
7
-1
0
0
0
0
0
0
0
0
0
0
-1
71
-3
-99
-8
26
0
0
0
0
0
0
0
0
0
0
0
-13
12
-33
8
-13
-6
5
0
0
0
0
0
0
0
0
0
0
0
30
-23
-48
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-6
25
8
-85
-29
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-77
39
42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
11
48
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
17
-114
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
6
101
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
-80
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
71
0
0
0
0
0
0
0
0
0
0
-6
0
24
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
7
0
75
32
-101
-58
2
0
0
0
0
0
0
0
0
0
-1
0
2
12
-67
-45
26
0
0
0
0
0
0
0
0
0
0
0
8
-31
23
-72
52
38
0
0
0
0
0
0
0
0
0
0
0
0
4
90
-48
10
-19
0
0
0
0
0
0
0
0
0
0
0
-1
0
33
-54
-15
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-41
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
57
2
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-46
40
-39
-17
0
0
0
0
0
0
0
0
0
0
0
5
46
21
67
93
4
0
0
0
0
0
0
0
0
0
0
0
19
-50
-52
-51
-3
27
0
0
0
0
0
0
0
0
0
0
0
3
15
-9
5
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-64
46
-25
27
1
0
0
0
0
0
0
0
0
0
0
0
0
-89
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-4
-3
-13
0
0
0
0
0
0
0
0
-2
-1
0
0
0
27
11
15
-1
-7
0
0
0
0
0
0
0
-5
25
13
-53
-32
2
28
105
6
0
0
0
0
0
0
0
0
-9
36
-76
-76
62
-6
-2
-1
8
1
0
0
0
0
0
0
0
-5
0
-53
-97
13
29
5
3
13
0
0
0
0
0
0
0
-1
7
7
-51
-19
-91
22
-3
0
1
0
0
0
0
0
0
0
0
0
0
-82
-95
-50
-98
0
-10
0
0
0
0
0
0
0
0
0
0
-12
-131
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
20
-76
0
0
0
41
-6
-30
22
-2
0
0
0
0
0
-3
1
-9
-18
-25
36
106
79
27
-22
16
-34
-3
0
0
0
0
0
0
-3
-22
-39
-14
30
-94
5
22
-13
-30
-1
-4
0
0
0
0
0
-2
-29
-14
3
64
13
-78
24
14
-25
0
6
0
0
0
0
0
-8
-21
-38
13
-84
-38
-54
69
18
-1
0
0
0
0
0
0
2
2
-45
26
56
-35
-15
-5
4
3
1
0
0
0
0
0
0
0
-1
-21
-18
99
83
-1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-4
26
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
54
63
47
74
91
39
51
0
0
0
0
6
-19
86
2
0
0
137
56
86
83
45
2
-34
0
0
0
0
-2
-2
-36
-69
-28
4
160
157
50
47
17
34
50
0
0
0
3
2
1
-20
30
53
48
82
29
53
67
54
57
126
0
0
0
0
0
5
-48
36
-51
120
-1
-5
11
16
91
42
136
0
0
0
0
0
-7
9
-8
-37
3
-33
4
-3
11
51
102
3
0
0
0
0
0
0
4
-49
1
-32
-13
79
-31
47
30
-15
0
0
0
0
0
0
-2
-2
-5
-43
-5
34
36
-30
-52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-42
0
0
-70
3
0
0
-15
-21
66
0
0
0
0
0
-15
-36
-58
8
-33
-53
-8
-13
-20
-19
50
38
0
0
0
0
1
3
-2
-4
-20
4
-25
22
-20
-30
6
40
89
0
0
0
0
-38
7
-69
14
32
-5
49
-29
-14
8
-15
-8
-12
0
0
0
1
0
11
39
-33
-51
-26
-4
-17
-20
-15
23
32
25
0
0
0
0
-1
9
-61
49
-34
-5
-29
-107
-9
-33
22
34
12
0
0
0
0
0
-2
-2
7
37
60
-87
4
-5
-20
-3
22
0
0
0
0
0
0
1
0
28
-53
43
-14
-48
7
-22
2
3
0
0
0
0
0
0
0
0
0
0
15
-6
4
-73
-24
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
142
46
8
-9
-98
-6
0
0
0
0
0
0
0
0
30
48
43
12
16
11
-46
49
41
0
0
0
0
0
0
0
-2
-42
75
147
15
12
-70
-43
101
65
0
0
0
0
0
0
1
8
-78
-24
68
-10
19
-45
-43
28
13
0
0
0
0
0
0
0
8
5
3
3
100
-75
40
2
43
-10
0
0
0
0
0
0
0
0
1
-39
-99
33
-11
-28
-57
-43
0
0
0
0
0
0
0
0
0
-7
15
-107
4
-3
3
45
32
0
0
0
0
0
0
0
0
0
-1
23
6
-60
-30
-69
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
2
12
1
0
0
0
0
0
0
0
0
13
0
68
53
22
89
-45
34
18
-67
0
0
0
0
0
0
6
7
38
30
0
9
16
33
51
-44
66
0
0
0
0
0
0
0
6
59
53
21
103
53
42
13
-4
4
0
0
0
0
0
0
-1
-1
-20
55
-15
31
-55
4
25
-17
-13
0
0
0
0
0
0
-3
8
55
-26
84
50
40
26
11
60
76
0
0
0
0
0
0
0
0
25
3
-79
52
19
-21
2
102
-5
0
0
0
0
0
0
0
-42
0
-104
-66
20
79
-44
86
-8
0
0
0
0
0
0
0
0
0
2
-25
49
45
77
-4
2
5
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
60
81
0
0
68
47
65
67
-14
65
0
0
0
0
0
0
-44
25
0
-144
0
86
88
63
19
25
38
-4
0
0
-4
0
1
-15
-16
58
42
56
11
89
31
99
51
57
-65
0
0
0
0
-2
3
-2
-12
54
-60
6
67
68
75
-145
0
199
0
0
0
-6
0
13
-6
-35
19
77
-22
-2
35
84
-15
-14
-3
0
0
0
0
1
3
-8
-72
44
17
-73
6
19
-22
56
107
0
0
0
0
0
0
-5
-13
-1
-34
-15
61
-21
-63
9
-64
0
0
0
0
0
0
0
0
3
-40
-1
4
-17
-4
-12
55
-3
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
36
-21
-45
-50
70
9
3
0
0
0
0
0
0
4
0
-32
0
-54
-27
-49
-8
-41
40
5
0
0
0
0
0
0
21
36
-32
-18
56
95
12
77
36
74
-1
0
0
0
0
0
1
2
8
64
26
99
-54
6
-22
-14
-4
0
0
0
0
0
-2
0
4
-3
10
-1
23
-41
92
7
48
1
0
0
0
0
0
0
0
0
4
-8
-49
-25
34
-20
37
5
3
0
0
0
0
0
0
0
0
0
-1
8
0
-18
14
-4
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
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
71
-56
13
-140
4
11
0
0
0
0
0
2
3
0
0
2
-143
53
43
-9
-24
-30
-11
0
0
0
0
0
0
0
-48
5
23
95
61
6
52
2
86
14
0
0
0
0
0
0
0
8
-31
-15
26
103
0
117
23
-9
-14
0
0
0
0
0
-5
-3
-24
33
13
45
19
-41
32
66
3
3
0
0
0
0
0
0
0
23
19
-6
22
40
10
11
94
-15
-3
0
0
0
0
0
0
0
23
94
1
-48
23
-13
-30
2
-22
-2
0
0
0
0
0
0
0
1
38
0
2
-29
0
-60
39
76
6
0
0
0
0
0
0
0
0
0
0
1
-2
-4
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
46
39
-10
-4
74
-20
-4
0
0
0
0
0
0
-1
2
-44
16
72
-26
25
47
7
63
2
0
0
0
0
0
0
0
1
0
-2
5
-71
0
91
20
13
4
0
0
0
0
0
0
0
0
0
0
23
40
122
69
13
37
-13
0
0
0
0
0
0
0
0
0
0
0
1
60
-2
86
48
88
0
0
0
0
0
0
0
0
0
0
-1
-22
56
-21
10
24
-6
0
0
0
0
0
0
0
0
0
0
5
-22
11
-93
14
77
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
23
82
3
-13
-1
0
0
0
0
0
0
0
0
0
0
0
1
31
19
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
8
47
-18
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
111
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-25
42
-70
-6
-6
6
0
0
0
0
0
0
0
0
3
0
0
-9
-4
5
7
68
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
42
-35
22
43
-12
0
0
0
0
0
0
0
0
0
0
-2
13
76
204
52
86
5
0
0
0
0
0
0
0
0
0
0
2
3
-40
42
36
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
68
-33
99
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-28
13
24
50
5
0
0
0
0
0
0
0
0
0
-1
2
7
-72
56
112
48
-30
0
0
0
0
0
0
0
0
0
8
0
0
18
68
7
65
72
-9
0
0
0
0
0
0
0
0
0
0
3
-13
-1
129
132
-24
0
0
0
0
0
0
0
0
0
0
0
0
20
34
27
12
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
73
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
130
63
-117
13
-22
-41
0
0
0
0
0
0
0
1
0
24
30
15
-51
-62
-77
9
-71
4
0
0
0
0
0
0
0
0
-13
4
39
-10
17
23
66
-1
-4
0
0
0
0
0
0
0
-1
-5
36
-33
40
44
-17
-4
-7
2
0
0
0
0
0
0
0
1
26
-4
-17
22
50
26
-18
-38
0
0
0
0
0
0
0
0
8
-12
10
1
-6
-24
53
-16
16
-2
0
0
0
0
0
0
0
0
8
1
5
-3
-4
14
-23
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
-3
0
0
0
0
0
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
84
31
-28
45
-17
47
-2
0
0
0
0
0
0
-6
0
-9
109
-40
-12
-36
69
-37
34
6
0
0
0
0
0
0
0
-1
-23
-32
-23
-44
-21
44
-46
4
10
0
0
0
0
0
0
-1
0
-8
40
73
4
53
133
11
-33
-1
0
0
0
0
0
0
-5
3
-1
-17
1
17
57
40
59
-74
12
0
0
0
0
0
0
0
-8
8
47
-1
62
-70
-3
49
-93
3
0
0
0
0
0
0
0
13
-67
15
-14
50
7
26
-2
17
13
0
0
0
0
0
0
2
1
4
-1
0
1
13
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
96
-9
0
23
-16
24
56
-22
-38
21
-2
0
0
-8
3
53
-33
20
-17
19
5
-65
42
52
136
76
-34
-8
0
0
0
0
0
-69
42
-3
-38
21
1
52
116
120
31
-17
-43
0
0
0
0
3
-9
-70
19
-7
-21
-65
102
69
62
105
43
-4
0
0
0
1
-3
-17
-45
94
-10
40
-13
92
53
-23
89
87
0
0
0
0
0
0
0
30
1
-2
-48
-64
-20
-9
-55
-66
0
0
0
0
0
0
0
0
-9
-1
16
-15
100
-62
-42
-5
-16
0
0
0
0
0
0
0
3
0
-8
-1
34
-2
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-51
-23
-39
0
-21
-37
-3
14
88
-105
-15
0
0
0
0
-5
54
-15
-36
-7
29
-24
-1
-11
31
33
39
41
0
0
0
0
-7
-23
58
-11
-24
-21
-1
-6
9
31
42
-11
72
0
0
0
0
-1
31
11
-2
9
16
8
-11
18
56
89
-62
51
0
0
0
0
-23
-9
-59
-6
-7
11
-60
-29
-21
34
-26
8
-46
0
0
0
-1
-5
-48
1
17
40
30
-25
8
-21
31
83
54
-3
0
0
0
0
-1
15
-9
-7
34
-16
-19
12
-21
29
61
-60
7
0
0
0
0
0
0
47
-38
47
50
0
-29
-57
-1
66
-30
-3
0
0
0
0
0
0
0
-3
-5
44
-47
26
19
-47
3
0
0
0
0
0
0
0
-5
-46
-12
2
0
75
45
19
-68
-9
-2
0
0
0
0
3
8
0
47
6
-2
14
62
7
86
119
-32
-1
0
0
0
0
0
23
1
-6
-38
-2
51
60
11
-45
-19
131
0
0
0
0
0
-1
33
3
30
12
7
-14
19
-24
41
43
31
-6
0
0
0
0
0
8
65
-19
-24
8
1
47
-38
63
16
-6
0
0
0
0
-1
3
-13
47
14
-4
-34
-48
-49
-43
-6
-16
-19
0
0
0
0
-1
0
17
23
-12
-28
0
-30
-42
15
1
-122
0
0
0
0
0
1
13
-13
-13
67
1
15
-3
-5
-33
-33
100
1
0
0
0
0
0
-1
35
24
-20
-16
6
6
-9
17
-2
6
0
0
0
0
0
0
0
0
4
-19
1
7
0
-20
-12
35
-36
104
1
0
0
0
0
0
0
0
17
3
44
-16
-25
-20
-6
37
13
5
0
0
0
0
0
0
-8
2
5
41
35
0
25
23
39
29
0
0
0
0
0
0
-1
-4
-14
-27
46
16
-50
29
71
7
79
8
0
0
0
0
0
1
-5
-62
16
21
-18
7
1
-61
33
83
8
0
0
0
0
0
0
-24
18
-38
4
-11
4
-38
-43
-25
21
24
0
0
0
0
0
0
-19
28
-8
2
13
-62
11
35
-88
-21
0
0
0
0
0
0
0
-3
-34
45
-36
78
-6
15
-19
-98
-6
0
0
0
0
0
0
0
0
0
0
0
12
9
-32
0
-3
0
0
0
0
0
0
0
0
3
-44
1
60
0
31
48
55
24
112
-85
27
0
0
0
0
0
47
-29
33
-37
25
-26
20
7
72
27
6
52
10
0
0
0
3
-5
51
20
17
-3
23
3
56
99
74
87
45
104
0
0
0
0
1
-21
-38
-41
36
6
-42
36
43
143
128
23
33
0
0
0
2
-2
19
102
46
69
-42
-30
47
157
97
45
-40
17
0
0
0
0
-7
16
-22
-31
-40
-39
-51
-33
27
-43
-31
-5
0
0
0
0
0
0
-5
16
7
-21
-48
-94
-50
-19
79
-30
1
0
0
0
0
0
0
0
-3
-8
0
-57
-15
-28
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-34
0
-55
-25
1
-44
-16
-8
47
28
0
0
0
0
0
0
-1
-5
-6
-126
-52
111
58
19
18
-77
-30
0
0
0
0
0
3
-5
-25
-81
-26
1
57
-99
-5
80
77
-40
0
0
0
0
0
0
-7
10
28
-15
48
56
117
13
110
8
0
0
0
0
0
0
0
-6
-29
-4
122
9
-24
115
37
4
3
0
0
0
0
0
0
0
21
-26
74
-37
44
47
18
20
21
0
0
0
0
0
0
0
0
-2
64
55
-1
13
27
-49
9
0
0
0
0
0
0
0
0
0
1
-2
78
149
22
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-31
-22
82
0
-30
-23
61
30
100
-33
-53
3
0
0
0
0
-7
-31
24
-13
-44
36
14
112
25
82
42
54
-1
0
0
0
0
-2
-13
5
33
-19
-31
11
41
29
35
-5
56
1
0
0
0
0
-5
1
-42
-39
21
39
12
51
48
8
32
87
10
0
0
0
0
0
31
12
-1
-45
-22
56
30
27
128
41
-10
29
0
0
0
0
0
22
-21
-36
-25
-29
70
-7
1
49
-41
53
3
0
0
0
0
-3
81
77
0
-43
62
-24
-12
25
82
-20
-1
0
0
0
0
0
-2
10
16
21
-14
13
43
21
0
2
0
0
0
0
0
0
0
0
3
3
13
2
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-2
8
20
-69
0
0
65
0
0
0
0
0
0
0
0
0
0
0
-13
-16
-14
35
64
157
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-25
-9
97
60
13
0
0
0
0
0
0
0
0
0
0
-1
6
7
-22
56
73
2
0
0
0
0
0
0
0
0
0
0
0
0
8
-81
25
2
40
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-3
-91
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-37
21
0
0
0
0
0
0
0
0
0
0
0
-3
1
2
21
57
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
16
18
3
-93
35
0
0
0
0
0
0
0
0
0
0
0
-1
8
31
21
-19
110
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
2
30
72
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
44
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
-1
1
31
0
0
-38
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-14
45
155
83
33
0
0
0
0
0
0
0
0
0
0
0
-3
-53
16
76
55
-55
3
0
0
0
0
0
0
0
0
0
0
0
16
1
-7
-76
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-33
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
6
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
51
25
-11
-7
0
0
0
0
0
0
0
0
0
0
5
16
61
37
59
38
4
0
0
0
0
0
0
0
0
0
-1
-3
-15
45
19
74
12
-16
-3
3
0
0
0
0
0
0
0
0
8
-4
58
-41
14
25
-1
4
0
0
0
0
0
0
0
0
0
7
0
-48
2
50
-1
-10
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-42
-2
0
0
0
31
12
5
-1
1
0
0
0
0
0
0
0
-1
23
53
86
79
84
-73
-61
0
-5
0
0
0
0
0
0
0
-2
-15
28
64
68
61
-6
57
-53
24
2
0
0
0
0
0
0
0
0
89
67
-8
-30
-15
-27
30
-4
1
0
0
0
0
0
0
0
0
-8
24
7
31
-5
-41
-9
-29
4
0
0
0
0
0
0
0
0
2
7
-23
5
-8
0
-25
9
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-5
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
27
0
0
0
15
80
47
34
31
51
77
0
0
0
0
3
-2
35
-14
0
0
-28
32
34
32
47
38
82
0
0
0
0
0
0
-3
102
90
34
149
92
29
57
60
30
73
0
0
0
0
0
1
4
-84
86
46
157
89
77
23
66
87
38
0
0
0
0
3
0
7
32
-25
-59
-42
14
-12
-14
6
-25
-15
0
0
0
0
0
0
1
-33
-16
32
40
35
29
-3
16
117
9
0
0
0
0
0
0
0
0
-4
19
143
53
-55
-10
-9
7
0
0
0
0
0
0
0
0
0
-1
9
1
5
-50
47
15
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
-3
0
0
62
27
-23
-16
12
-40
15
0
0
0
0
4
15
-15
-66
-14
-21
-5
18
0
-8
8
20
122
0
0
0
0
0
-39
49
-115
-30
-49
-29
-6
-13
13
6
26
28
0
0
0
0
0
-2
-63
-5
10
-83
-66
-13
-4
3
4
-42
99
0
0
0
0
0
14
45
-46
-82
-62
-17
9
-2
-24
-8
46
88
0
0
0
0
0
3
-10
14
33
38
-50
-22
-20
-17
-6
12
13
0
0
0
0
0
3
4
-51
29
13
14
26
18
-1
-4
30
-5
0
0
0
0
0
0
-7
-2
18
76
-65
26
8
2
-27
13
0
0
0
0
0
0
0
0
2
-5
-49
44
13
17
-26
-13
0
0
0
0
0
0
0
0
0
-6
0
0
74
-28
4
65
103
-4
97
0
0
0
0
0
0
0
3
-21
60
82
17
44
28
23
-9
-42
0
0
0
0
0
0
-3
-5
-17
-18
-6
-20
-19
7
6
54
-23
0
0
0
0
0
0
0
0
10
76
-41
18
-24
47
7
-29
-11
0
0
0
0
0
0
0
-18
4
2
18
59
57
31
-25
16
8
0
0
0
0
0
0
0
0
-24
37
-21
91
-2
-3
-36
48
-33
0
0
0
0
0
0
0
0
0
3
-4
39
40
-11
77
2
4
0
0
0
0
0
0
0
0
0
0
66
-19
86
34
3
24
96
0
0
0
0
0
0
0
0
-1
-3
9
8
73
-15
16
78
55
0
0
0
0
0
-1
0
2
0
81
-7
36
89
7
70
69
-14
0
0
0
0
0
0
-3
16
-19
-2
0
72
54
20
54
-32
22
0
0
0
0
0
0
6
-10
40
63
16
-9
-2
-7
28
-57
59
0
0
0
0
0
0
-2
-5
-91
37
41
15
34
-7
19
-1
34
0
0
0
0
0
0
0
1
-83
10
-116
7
54
-35
25
61
-1
0
0
0
0
0
0
-2
0
-6
-54
-35
-35
-18
39
23
120
60
0
0
0
0
0
0
0
0
5
18
2
42
11
18
46
14
-72
0
0
0
0
0
0
0
-1
8
0
5
6
59
27
10
37
5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-17
0
0
0
0
0
0
0
1
3
2
0
0
136
85
108
57
14
89
-27
0
0
0
3
-2
-5
66
0
47
0
110
67
84
33
-10
26
16
0
0
0
-1
-4
-3
8
11
22
76
15
85
77
-4
22
23
-13
0
0
0
0
0
0
-5
-18
108
102
1
-17
35
11
37
55
-58
0
0
0
0
0
-1
1
-28
-7
5
20
9
49
4
11
43
82
0
0
0
0
0
0
0
-13
-23
19
10
20
-77
-5
24
40
2
0
0
0
0
-1
0
-5
0
2
-54
31
-53
-12
45
12
-33
75
0
0
0
0
0
0
0
0
-2
-2
6
82
-77
37
-17
21
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
54
18
-3
0
0
0
0
0
0
0
-1
-1
0
-6
45
39
-16
75
36
-1
6
0
0
0
0
0
0
-3
0
-3
0
-28
-13
27
-78
-2
-15
0
0
0
0
0
0
0
0
0
-4
-13
23
-88
24
90
69
20
0
0
0
0
0
0
0
0
-1
-7
17
-3
90
33
31
-29
44
-4
0
0
0
0
0
0
0
0
4
-11
33
-24
-29
-93
-33
-75
-3
0
0
0
0
0
0
0
0
0
-1
67
25
4
-122
-12
-53
0
0
0
0
0
0
0
0
0
0
-2
-25
-8
-39
-74
69
18
0
0
0
0
0
0
0
0
0
0
0
0
-33
-3
37
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-5
0
0
0
-1
212
25
64
28
50
-4
0
0
0
0
0
-6
4
10
0
-1
41
86
-18
40
60
35
0
0
0
0
0
0
0
0
-13
3
-5
115
35
-59
46
-5
64
3
0
0
0
0
0
-1
0
40
18
-41
-43
-21
-55
78
-36
5
-13
0
0
0
0
0
0
0
27
75
25
18
2
-27
52
-35
25
31
0
0
0
0
0
0
0
40
-1
7
69
-49
-58
-47
-44
-25
42
0
0
0
0
0
0
-1
0
0
2
42
51
-35
-39
-41
48
45
0
0
0
0
0
0
0
0
0
0
0
-9
89
17
-83
-22
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-74
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
63
41
30
74
-31
4
-4
0
0
0
0
0
0
0
0
13
33
1
1
-55
43
25
8
-63
-4
0
0
0
0
0
0
0
0
-2
-9
1
-4
-22
-6
28
74
-24
0
0
0
0
0
0
0
0
-3
0
-8
-39
47
31
42
50
-22
0
0
0
0
0
0
0
0
0
8
-3
0
-12
-65
-17
-23
-39
0
0
0
0
0
0
0
0
0
-1
-6
57
-18
13
34
24
7
0
0
0
0
0
0
0
0
0
0
0
-1
53
6
-21
-41
45
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-23
5
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
77
-10
33
0
0
0
0
0
0
0
0
0
3
0
1
-6
22
14
13
0
0
0
0
0
0
0
0
0
0
0
29
-8
46
48
25
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
57
65
-11
19
0
0
0
0
0
0
0
0
0
0
0
0
17
33
-89
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
6
14
-67
36
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-72
-73
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-66
-57
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-13
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
18
11
-26
79
-19
0
0
0
0
0
0
0
0
0
-5
0
-7
-2
56
15
8
-68
0
0
0
0
0
0
0
0
0
2
-1
12
25
42
12
113
13
-23
0
0
0
0
0
0
0
0
0
0
-6
10
26
49
90
-6
-3
0
0
0
0
0
0
0
0
0
1
-10
-2
6
70
109
-23
-8
0
0
0
0
0
0
0
0
0
0
0
-2
22
-2
-30
-39
3
0
0
0
0
0
0
0
0
0
0
0
0
23
-61
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
23
-45
-29
-1
-6
40
0
0
0
0
0
0
0
0
0
-1
1
44
-9
21
13
3
82
4
0
0
0
0
0
0
0
0
-1
22
4
-3
66
48
-12
-51
2
0
0
0
0
0
0
0
0
0
0
3
1
-6
55
-20
-6
1
0
0
0
0
0
0
0
0
0
0
0
-5
38
90
38
-16
0
0
0
0
0
0
0
0
0
0
0
0
5
-83
-10
34
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-114
-11
-29
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
-1
0
60
-18
-12
78
-46
-20
-10
1
0
0
0
0
0
0
0
3
-17
19
-89
-22
2
20
-6
-142
-2
0
0
0
0
0
0
0
0
-78
-22
46
29
38
3
49
-16
-69
0
0
0
0
0
0
0
0
-32
-16
113
-19
91
-37
-31
-61
-16
0
0
0
0
0
0
0
0
-9
-7
31
69
-70
-76
-55
-86
11
0
0
0
0
0
0
0
0
-5
-6
5
97
2
-17
-17
-51
41
0
0
0
0
0
0
0
0
0
29
-31
13
2
-47
65
-26
14
0
0
0
0
0
0
0
0
0
0
-1
-3
1
-37
-12
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
20
0
-28
0
0
0
0
0
0
0
1
0
6
5
56
128
74
-92
-8
-8
0
0
0
0
0
0
5
0
2
-42
-23
-19
1
15
-25
71
51
0
0
0
0
0
0
0
-6
40
7
97
46
112
-21
-25
-10
-30
0
0
0
0
0
0
6
-22
3
-21
64
103
-17
-135
-61
54
-58
0
0
0
0
0
0
0
-17
65
19
-29
-52
-63
-30
-33
-6
102
0
0
0
0
0
0
0
1
-2
2
43
26
15
-18
-80
8
32
0
0
0
0
0
0
0
1
5
-3
-70
81
-77
46
75
-85
14
0
0
0
0
0
0
0
0
4
0
0
0
-72
-80
-44
-50
-44
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
87
-39
26
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-60
-39
34
0
1
1
72
32
44
-62
1
-9
0
0
1
5
91
19
1
6
22
12
17
10
59
117
4
-49
-7
0
0
0
-1
48
24
-15
-45
-2
-4
15
49
69
-28
-19
37
-6
0
0
0
-1
2
-48
-18
45
3
63
70
36
6
83
81
-98
4
0
0
0
0
-8
-10
38
33
1
-24
19
77
49
-9
87
23
0
0
0
0
0
0
0
-23
-15
-47
41
10
59
6
-17
-8
109
3
0
0
0
0
0
0
0
-22
-5
12
-88
11
-4
-41
4
21
-4
0
0
0
0
0
0
0
-2
-1
0
5
-19
42
-6
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-8
-25
-32
0
-3
-4
31
5
25
121
78
0
0
0
-1
0
3
54
-13
-92
-9
-23
-11
-4
28
11
23
-35
0
0
0
0
0
13
-85
5
-68
-12
-32
-27
-12
34
73
31
28
0
0
0
-1
-1
14
44
-22
-12
-48
22
-6
11
35
47
-3
-31
0
0
0
-1
-2
15
-2
-13
-21
47
23
-19
-12
47
-2
-34
38
0
0
0
0
1
-8
-54
24
83
-52
40
-30
-18
-53
60
1
10
0
0
0
0
-1
-3
18
-15
-53
-70
16
1
5
-16
35
19
65
0
0
0
0
0
0
-5
-16
-55
75
44
-10
11
-25
36
126
27
0
0
0
0
0
-1
0
-32
-58
-28
-7
-74
24
-43
24
-21
0
0
0
-1
0
0
-12
-48
27
-28
0
50
25
-14
56
-33
-3
0
0
0
0
0
0
0
4
-11
-48
49
-21
51
38
5
165
7
0
0
0
0
0
0
0
1
61
-30
-41
43
-42
50
23
74
28
4
0
0
0
0
0
0
0
30
-23
1
-28
-18
135
-18
22
15
0
0
0
0
0
0
0
0
4
-35
-110
-38
-10
34
53
-31
-3
0
0
0
0
0
0
0
0
1
-71
3
29
-94
49
66
38
1
0
0
0
0
0
0
0
0
-3
-2
-20
-53
31
1
-20
2
13
0
0
0
0
0
0
-1
0
0
1
21
-23
12
44
39
12
0
0
0
0
0
0
0
0
0
0
0
-2
40
9
54
-10
-1
0
0
0
0
0
0
0
0
19
-25
-28
0
-5
19
18
-67
-33
6
0
0
0
0
0
0
0
75
25
21
31
0
23
19
12
-101
-17
0
0
0
0
0
0
0
20
-14
27
19
-3
-24
53
77
86
-3
0
0
0
0
0
0
0
-22
87
51
62
12
2
85
5
12
45
0
0
0
0
0
0
0
4
79
-18
38
-5
31
-15
31
13
48
0
0
0
0
0
0
5
7
-8
54
24
13
21
35
-87
56
1
0
0
0
0
0
0
0
-53
-72
-52
40
24
-17
51
10
1
-2
0
0
0
0
0
0
0
2
-3
-35
47
69
-46
-43
-13
71
2
0
0
0
0
0
0
0
0
0
4
0
-5
29
1
-9
0
-1
0
0
0
0
0
0
0
-54
31
-16
0
52
13
37
17
10
42
-16
1
0
0
0
1
-8
-80
-33
5
45
4
34
24
85
6
109
-11
-15
0
0
0
-1
-42
-7
54
31
19
5
-6
19
70
103
61
6
0
0
0
0
3
-1
-5
27
-4
-14
75
18
10
73
65
41
74
83
0
0
0
0
4
-2
4
15
34
31
40
15
63
16
39
-3
48
0
0
0
0
0
1
-43
-18
-4
-33
-4
3
-17
96
6
-92
24
0
0
0
0
0
3
4
24
13
-17
25
-51
13
55
-1
4
-1
0
0
0
0
0
0
0
0
1
2
39
23
-47
-54
-24
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
46
0
-23
32
65
83
-16
36
-36
-2
0
0
0
0
0
0
15
40
41
77
23
67
7
-39
19
50
-9
0
0
0
0
0
0
4
41
-63
53
30
-66
51
28
5
-15
4
0
0
0
0
0
0
13
14
-13
22
-92
-105
-108
-24
63
5
4
0
0
0
0
0
0
0
-15
-74
8
-35
0
-29
-40
-29
7
2
0
0
0
0
0
0
0
-23
-21
-87
-46
-9
38
-98
17
-94
0
0
0
0
0
0
0
0
0
-4
-10
29
-41
-20
15
6
0
2
0
0
0
0
0
0
0
0
0
-14
-3
2
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
19
22
-66
0
-29
84
26
-63
2
-86
4
-3
0
0
0
0
0
-8
44
-74
40
74
-11
16
28
86
19
-43
-31
0
0
0
0
0
11
33
13
-35
-36
63
38
-40
-27
31
60
6
0
0
0
0
0
9
16
-21
-24
6
-30
31
53
77
-10
73
2
0
0
0
2
-3
13
16
3
-52
43
31
5
-13
-23
-15
25
24
0
0
0
0
-3
16
-32
34
-9
-6
-39
2
12
17
-20
111
5
0
0
0
0
0
5
-29
25
24
39
34
-8
18
-45
-26
-79
30
0
0
0
0
0
3
5
10
-44
-99
-39
32
-4
33
3
1
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
-8
18
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-40
2
0
-129
-45
-19
0
0
0
0
0
0
0
0
0
0
-5
-12
-29
-16
-30
45
34
-1
0
0
0
0
0
0
0
0
-1
3
-1
-28
85
94
55
84
-3
0
0
0
0
0
0
0
7
-2
27
35
78
-43
-88
-16
9
-2
0
0
0
0
0
0
0
-1
-12
54
36
-2
-8
29
-75
17
-3
0
0
0
0
0
0
0
2
6
7
-32
104
-32
19
12
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-44
25
-32
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
85
-85
-49
0
0
0
0
0
0
0
0
0
0
0
0
5
31
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
110
40
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
76
1
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
18
-55
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
41
85
-4
-29
-6
0
0
0
0
0
0
0
0
0
0
-4
-9
-2
4
3
10
0
0
0
0
0
0
0
0
0
0
8
1
-14
-33
19
-86
-19
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
50
-76
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
23
8
0
0
0
0
0
0
0
0
0
-2
-3
0
6
-51
-28
-23
14
0
0
0
0
0
0
0
0
0
2
0
0
-40
41
6
-13
1
0
0
0
0
0
0
0
0
0
0
-4
-36
2
-29
-70
106
11
0
0
0
0
0
0
0
0
0
0
0
2
-44
7
-20
78
-2
0
0
0
0
0
0
0
0
0
1
-1
10
27
-70
-95
20
0
0
0
0
0
0
0
0
0
0
0
1
0
29
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-5
-1
2
0
0
0
0
0
0
0
0
-3
-3
-41
-8
65
4
2
3
0
1
0
0
0
0
0
0
0
0
-4
24
14
9
2
0
34
7
0
0
0
0
0
0
0
0
0
-2
-7
5
-49
16
9
-1
0
0
0
0
0
0
0
0
1
0
-5
15
32
-57
33
-12
-4
0
6
0
0
0
0
0
0
3
0
0
-6
3
-27
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-3
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
-1
-1
0
1
0
0
0
0
0
-2
-4
0
-9
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
1
-7
-56
64
100
52
-9
-3
2
29
0
0
0
0
0
-2
0
-1
5
-62
-64
3
-64
41
0
10
-13
-1
0
0
0
0
0
0
6
-15
-39
-3
-89
-22
-41
-45
-2
-7
-1
0
0
0
0
0
0
0
34
18
106
-10
6
-39
-36
1
7
1
0
0
0
0
2
0
0
0
-7
89
6
-21
18
46
-1
0
0
0
0
0
0
-1
0
-3
18
-102
48
-36
1
2
0
0
0
0
0
0
0
0
0
0
-9
-8
0
-19
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
38
51
20
31
-8
-18
22
0
0
0
0
0
6
4
0
0
0
80
33
52
83
29
-1
4
0
0
0
0
0
7
-10
54
137
36
12
-3
59
62
70
29
13
0
0
0
0
-16
-2
-16
109
-80
73
90
-35
-24
-18
64
60
62
0
0
0
1
-4
-119
21
-42
48
45
-29
69
102
-7
44
11
46
0
0
0
0
30
-118
-50
48
96
-19
-8
7
60
3
23
30
7
0
0
0
-4
2
-22
-28
-22
-22
37
-30
67
1
-31
-5
191
-1
0
0
0
0
-6
-13
-1
11
3
4
-40
-7
5
-17
9
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
5
6
43
0
0
78
-18
24
-13
-35
88
24
0
0
0
0
0
-4
27
0
108
38
46
32
54
9
-10
41
43
0
0
0
0
4
-69
11
-5
-23
-28
26
33
-3
48
10
13
6
0
0
0
0
5
-55
-12
11
-28
40
-29
15
43
43
27
30
97
0
0
0
0
-4
4
-79
33
87
16
45
-23
4
2
-25
7
38
0
0
0
-1
-16
-29
54
29
21
-42
-68
-53
-57
-61
3
77
22
0
0
0
1
30
5
4
86
22
-52
27
-37
36
5
14
33
-49
0
0
0
0
0
16
-6
29
40
27
-31
4
-27
26
-19
3
0
0
0
0
0
0
0
1
-1
-2
13
99
24
-8
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
76
7
18
87
-13
13
47
0
0
0
0
0
0
0
0
-5
24
3
69
75
21
-43
56
69
0
0
0
0
0
0
0
10
100
36
81
-61
82
33
53
40
-53
0
0
0
0
0
2
-12
8
15
117
-3
49
52
-22
25
14
26
0
0
0
0
0
-7
0
29
-5
58
23
15
-16
77
-60
-95
-2
0
0
0
0
0
1
-20
0
31
-4
12
22
66
-71
6
84
0
0
0
0
0
0
4
0
-1
-5
-44
52
9
-91
19
-11
-62
0
0
0
0
0
0
0
0
0
3
-14
43
50
117
-9
94
-2
0
0
0
0
0
0
0
0
0
0
0
8
-23
-30
58
29
-13
0
0
0
0
0
0
0
0
-2
0
44
40
77
-16
-25
56
-9
48
0
0
0
0
0
0
1
0
5
21
0
43
-12
62
45
-11
27
0
0
0
0
0
0
-1
39
-6
31
41
89
-19
76
116
31
60
0
0
0
0
-1
0
11
-36
2
50
-33
-23
26
47
48
47
72
0
0
0
0
0
29
2
-30
5
-68
-90
65
42
97
75
5
74
0
0
0
0
0
0
8
7
-7
53
13
-24
-67
68
140
58
-65
0
0
0
0
0
2
0
-9
0
5
8
-5
124
81
-12
15
2
0
0
0
0
0
0
-2
0
0
66
-16
6
0
39
17
15
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
4
12
8
0
0
60
65
-32
22
-6
33
3
0
0
0
0
4
2
-18
0
2
0
48
29
-31
18
58
50
44
0
0
0
0
5
19
4
72
126
52
65
106
35
74
77
92
50
0
0
0
0
10
0
52
-16
-55
83
-72
60
-7
69
39
65
18
0
0
0
0
0
-6
-86
16
-84
-26
14
75
39
36
54
91
5
0
0
0
1
46
-17
-109
41
7
-9
91
85
56
35
117
24
0
0
0
0
0
0
-5
-27
-10
47
54
-72
85
-41
-36
94
9
0
0
0
0
0
1
0
-2
-19
-2
34
-10
-30
41
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-1
-28
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
28
-126
-59
66
16
-1
0
0
0
0
0
0
0
5
3
-3
6
19
-39
18
63
15
-2
0
0
0
0
0
0
-1
4
4
-5
-40
63
-67
66
-14
5
-5
0
0
0
0
0
0
0
0
0
-2
35
6
27
15
43
8
0
0
0
0
0
0
0
0
0
-2
-3
2
-47
0
18
-3
0
0
0
0
0
0
0
0
0
0
1
-24
0
1
12
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-27
39
-84
-9
42
0
0
0
0
0
0
0
0
0
-13
-91
10
36
-30
61
106
14
0
0
0
0
0
0
0
7
17
52
32
19
78
6
14
-3
-3
0
0
0
0
0
0
-3
15
-32
-51
22
44
-41
39
-11
33
121
0
0
0
0
0
0
0
-49
26
14
-9
43
-74
90
-18
23
110
0
0
0
0
0
0
-7
-17
37
33
-77
11
50
-34
47
61
10
0
0
0
0
0
0
0
6
-11
40
-77
-39
-20
-31
-33
51
0
0
0
0
0
0
0
0
0
4
-1
2
-46
-58
55
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
43
137
16
48
55
132
-45
-13
0
0
0
0
0
0
39
20
14
128
-48
18
-16
41
38
9
0
0
0
0
0
0
0
0
-10
-56
30
-71
117
9
65
121
-39
-6
0
0
0
0
0
0
8
-8
-22
18
19
6
-33
22
14
-43
-22
0
0
0
0
0
0
0
6
-1
-4
8
-28
148
27
-8
42
-4
0
0
0
0
0
0
0
0
-2
-2
3
6
-16
70
-48
-1
8
0
0
0
0
0
0
0
0
0
0
0
-5
72
-46
-148
44
8
0
0
0
0
0
0
0
0
0
0
0
2
-17
-29
-21
50
0
0
0
0
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
-10
-23
47
-36
19
0
0
0
0
0
0
0
0
0
-18
36
0
-6
-14
25
112
38
0
0
0
0
0
0
0
0
0
1
0
-1
1
18
35
-67
90
-8
0
0
0
0
0
0
0
0
0
0
0
-1
7
100
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
49
45
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
1
8
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
3
17
6
68
2
56
0
0
0
0
0
0
0
0
0
-30
58
-3
0
-24
-8
-56
-117
4
0
0
0
0
0
0
0
28
-8
-24
0
5
-44
35
126
-122
3
0
0
0
0
0
0
0
0
-3
-1
6
0
5
26
53
68
13
0
0
0
0
0
0
0
0
0
0
0
7
42
47
30
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
24
52
-6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-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
-2
0
-14
-7
111
24
0
1
0
0
0
0
0
0
-2
0
-17
19
-18
52
-81
-41
-34
68
-3
0
0
0
0
0
0
0
0
8
0
2
8
-16
29
49
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
86
44
48
16
2
0
0
0
0
0
0
0
0
0
0
0
1
30
60
-10
-54
1
0
0
0
0
0
0
0
0
0
0
0
-6
-9
21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-15
-53
-11
72
-57
11
1
0
0
0
0
0
0
0
0
70
11
86
12
35
77
74
10
4
0
0
0
0
0
0
0
6
-4
-62
111
-19
1
-56
49
-14
-1
0
0
0
0
0
0
0
8
-1
-20
81
47
55
-6
8
11
0
0
0
0
0
0
0
0
0
-13
58
3
5
-43
38
159
51
0
0
0
0
0
0
0
0
0
-2
5
0
-41
41
87
58
-21
0
0
0
0
0
0
0
0
-1
0
0
-2
-16
73
-6
-3
0
1
0
0
0
0
0
0
0
0
-6
-2
2
2
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-24
48
95
-60
91
3
-3
0
0
0
0
0
0
0
0
-71
22
11
146
110
83
-41
-6
-15
0
0
0
0
0
0
0
0
29
55
-44
67
-82
30
36
78
16
0
0
0
0
0
0
0
14
1
-6
115
-5
-12
81
53
-27
-43
0
0
0
0
0
0
0
-6
18
28
-66
-14
15
19
25
42
33
0
0
0
0
0
0
0
0
36
9
-68
118
-22
-64
21
-38
-19
0
0
0
0
0
0
1
4
14
-9
4
26
32
-15
-4
10
31
0
0
0
0
0
0
0
0
0
0
-2
-5
3
38
23
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
49
0
59
19
24
71
-21
-11
-21
-4
0
0
0
0
-24
-52
-10
-15
-33
24
60
-8
-12
11
30
2
20
0
0
0
0
21
5
-8
12
-22
21
13
93
101
90
63
48
-22
0
0
0
0
-2
10
-61
-35
-56
73
-75
-74
36
3
21
3
76
0
0
0
0
7
-2
5
-25
69
27
36
49
0
10
54
-56
-7
0
0
0
0
0
-8
69
-32
-29
-20
-55
26
-32
51
-17
-4
0
0
0
0
0
0
0
-12
-5
-67
60
103
-38
-13
5
-3
0
0
0
0
0
0
0
-1
0
6
24
4
-6
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
5
0
0
0
0
0
0
0
0
0
0
-10
-37
17
11
0
-26
-33
54
19
-74
44
-104
0
0
0
0
-8
52
-78
-4
43
2
-16
29
11
25
40
-4
71
0
0
0
0
10
30
30
43
108
-3
-28
11
12
31
48
32
108
0
0
0
0
8
28
29
-15
16
-26
45
15
25
62
102
-5
-7
0
0
0
-13
-16
19
74
48
1
-2
-28
8
28
30
-12
-42
-8
0
0
0
25
43
33
-4
15
27
-11
18
1
0
38
23
24
-12
0
0
0
0
38
32
70
-32
-1
-5
24
32
-40
33
-16
-54
1
0
0
0
0
-2
-16
-13
17
19
68
38
29
29
-47
-4
-32
0
0
0
0
0
0
-1
16
8
-59
54
29
-4
74
83
-25
0
0
0
0
0
0
0
0
-13
44
45
0
-13
7
2
-44
-61
24
0
0
0
0
3
-8
-16
-18
20
0
15
48
74
-9
88
-64
24
-1
0
0
0
0
19
-9
-37
1
3
61
3
117
19
29
-1
-2
3
0
0
0
0
2
-29
5
19
-28
17
31
36
58
-1
-6
2
1
0
0
0
0
-3
0
-20
-24
-2
48
-57
-25
61
4
-4
16
0
0
0
1
0
0
-22
-82
-53
-53
-17
-44
82
-119
-16
34
0
0
0
0
-4
0
-24
-37
-10
-22
-42
-4
-41
6
6
-19
10
-18
0
0
0
0
-16
-21
-45
20
-67
-22
51
-42
-10
29
9
0
0
1
0
0
-4
39
-20
-1
-20
-17
40
-30
-96
49
-10
-9
0
0
0
0
0
0
0
0
2
1
115
12
0
75
71
69
-30
-30
1
0
0
0
0
0
0
-30
-90
11
0
16
10
78
-8
66
-24
-44
0
0
0
0
0
2
0
39
13
-5
58
-17
42
26
0
-9
-8
0
0
0
0
0
2
5
1
-68
-45
15
6
38
-67
-74
80
-4
0
0
0
0
0
-2
0
-29
-48
-34
23
-31
11
-52
119
-39
-2
0
0
0
0
0
0
-20
-23
-33
18
-6
15
66
-34
24
25
-1
0
0
0
0
0
0
-6
6
-28
-19
-11
-98
43
21
5
1
-3
0
0
0
0
-1
0
-1
-54
-11
-22
-59
64
-50
-11
-50
2
0
0
0
0
0
0
0
0
0
0
0
-23
-3
-16
2
0
0
0
0
0
0
0
0
0
0
1
24
47
0
62
7
45
97
31
-21
35
-32
0
0
0
0
-7
-19
42
6
43
7
88
63
41
-45
-52
-44
-30
0
0
0
0
-2
43
51
19
7
35
16
12
70
66
6
119
-2
0
0
0
0
7
-3
31
70
-50
-14
-26
151
10
-18
48
54
4
0
0
0
-2
0
0
-12
29
-18
-2
37
-70
-45
35
-105
39
25
0
0
0
0
2
10
-25
-2
76
-15
65
11
8
7
-10
-4
0
0
0
0
-3
-6
-3
48
-30
-8
-80
-55
-31
-23
-32
67
-4
0
0
0
0
0
0
0
0
-6
16
-13
-14
9
-25
-17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
-11
-45
33
-13
-24
-33
5
0
0
0
0
0
0
-3
0
-56
27
-34
79
-9
-51
-6
49
4
0
0
0
0
0
0
0
-58
-27
31
-7
4
21
5
42
-35
24
0
0
0
0
0
0
0
-40
35
-21
0
-8
-29
51
-59
-21
-26
0
0
0
0
0
0
-1
58
147
74
50
67
-51
27
-2
3
0
0
0
0
0
0
-2
1
-10
-4
6
42
39
29
35
-12
-5
0
0
0
0
0
0
0
0
2
14
30
36
81
-10
0
-2
-5
0
0
0
0
0
0
0
0
0
-5
52
5
0
-32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
23
42
0
59
-25
117
53
10
20
21
35
0
0
0
0
0
-2
40
0
32
73
-19
66
9
27
-4
86
65
0
0
0
0
0
0
0
-66
27
15
63
12
12
9
-63
20
98
0
0
0
0
0
0
3
-71
-11
66
29
56
-49
7
5
16
-55
0
0
0
0
0
-15
-65
8
106
-4
-117
105
-29
31
-49
-76
46
0
0
0
0
0
24
69
-52
-2
-38
15
63
137
-6
103
79
-13
0
0
0
0
-2
-44
37
8
39
2
18
-1
49
3
4
-7
0
0
0
0
0
1
1
-21
7
2
45
-45
19
-10
-45
1
1
0
0
0
0
0
0
0
0
1
4
31
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
2
-1
-31
0
0
29
0
0
0
0
0
0
0
0
0
-3
0
1
14
-43
-20
43
18
1
0
0
0
0
0
0
0
0
0
3
0
-2
85
217
7
71
0
0
0
0
0
0
0
0
0
0
-1
0
8
9
34
-38
0
7
0
0
0
0
0
0
0
0
0
0
0
-2
23
-30
-4
34
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
76
-29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
5
-41
19
215
51
0
0
0
0
0
0
0
0
0
0
0
0
0
29
65
17
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
75
40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
26
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-8
97
29
16
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
119
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-39
-50
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
8
0
-34
3
0
0
0
0
0
0
0
0
0
1
1
-6
2
37
-49
0
-6
0
0
0
0
0
0
0
0
0
0
0
13
32
23
-2
-4
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-4
8
-13
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
24
2
-8
1
1
0
0
0
0
0
0
-3
12
-23
-2
17
-2
4
-19
13
-13
1
3
0
0
0
0
0
0
-1
-3
27
-1
75
-26
10
-13
-6
3
0
0
0
0
0
0
0
0
2
1
19
4
-66
-7
-15
-8
-7
0
0
0
0
0
0
0
0
1
6
-5
2
-48
5
6
12
12
0
0
0
0
0
0
0
0
0
0
3
5
-5
-23
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
-8
101
20
42
-5
41
-5
0
0
0
-1
0
0
24
53
0
0
39
66
92
52
41
-37
26
0
0
0
0
0
0
-30
15
115
85
248
82
21
53
48
85
32
0
0
0
0
0
-1
0
-2
-41
120
137
122
6
57
26
67
161
0
0
0
0
0
0
-1
2
-98
27
120
-24
74
-13
10
1
-32
0
0
0
0
0
0
0
-5
32
-98
-9
124
6
14
-15
21
-1
0
0
0
0
0
0
0
-2
-7
-10
-25
50
17
19
40
38
-4
0
0
0
0
0
0
0
0
0
0
0
-4
1
30
-7
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-7
-20
0
0
-16
15
16
-16
52
57
-10
0
0
0
1
3
0
-32
-27
6
52
82
27
-2
17
-21
59
86
0
0
0
0
-1
3
18
7
-83
49
45
-9
11
16
-18
-75
57
0
0
0
0
2
23
-11
-25
-29
35
-4
3
17
8
10
72
42
0
0
0
0
0
30
19
121
-15
-26
5
23
-25
-5
-26
34
31
0
0
0
0
0
3
-10
47
24
69
-14
-17
-19
-64
-76
-10
8
0
0
0
0
0
2
-5
0
-82
-15
63
-57
-31
-29
-43
-88
71
0
0
0
0
0
0
7
-1
-1
42
-17
-25
12
55
-62
-25
24
0
0
0
0
0
0
1
0
-4
0
3
39
40
-31
55
-2
0
0
0
0
0
0
-1
0
0
0
0
111
18
-49
0
94
42
-40
0
0
0
0
0
0
0
0
24
-3
46
106
44
-30
-22
29
74
0
0
0
0
0
0
-1
-1
3
-15
6
102
43
-27
-3
-35
23
0
0
0
0
0
0
0
0
2
35
-71
29
43
-46
23
-71
23
0
0
0
0
0
0
1
0
-37
-10
50
-114
76
87
16
1
-54
0
0
0
0
0
0
0
0
4
6
-27
44
81
29
60
-2
113
0
0
0
0
0
0
0
-1
0
5
-25
-18
37
-22
3
-75
5
0
0
0
0
0
0
0
0
0
3
0
102
35
-68
3
-11
67
0
0
0
0
0
0
0
0
0
-1
-2
-8
-41
28
-89
24
79
0
0
0
0
0
0
0
3
0
60
13
61
-35
52
39
-41
52
0
0
0
0
0
0
0
-4
43
97
0
44
35
54
-67
23
-24
0
0
0
0
0
0
0
0
19
41
6
-15
33
54
44
-4
2
0
0
0
0
0
0
-8
0
-18
-55
11
3
57
-71
32
-6
32
0
0
0
0
0
0
0
0
30
-13
75
35
44
-22
-4
-1
-8
0
0
0
0
0
0
0
0
-4
-3
67
13
9
-45
45
-27
-33
0
0
0
0
0
0
0
0
-3
4
-29
48
27
-32
-24
-27
-87
0
0
0
0
0
0
0
0
0
0
10
-9
74
-67
-2
88
13
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
65
0
0
0
0
0
0
0
7
26
-8
0
0
45
38
12
58
18
4
17
0
0
0
3
-2
-8
-13
0
62
0
29
115
37
27
45
26
40
0
0
0
0
-2
4
-54
-10
41
-25
122
46
36
51
16
-36
-96
0
0
0
0
0
1
-3
15
76
150
-85
90
60
60
-59
27
-4
0
0
0
0
0
0
-2
-4
-1
-3
71
-14
48
21
-19
-44
-48
0
0
0
0
0
0
1
6
-53
62
47
11
22
-23
52
41
-1
0
0
0
0
0
0
1
-2
-7
-2
-98
-61
16
-4
15
22
-11
0
0
0
0
0
0
0
0
0
0
0
-3
12
-11
38
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-3
2
16
-4
0
0
0
0
0
0
0
0
0
0
0
-8
46
-34
65
5
-21
0
0
0
0
0
0
0
0
0
-3
0
3
-59
33
25
-21
8
-1
0
0
0
0
0
0
0
0
0
8
-40
88
42
75
-40
5
0
0
0
0
0
0
0
0
0
0
-3
6
51
37
63
-5
13
-2
0
0
0
0
0
0
0
0
0
2
-1
8
-30
20
-21
1
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-2
14
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
109
5
111
-48
-8
51
0
0
0
0
0
0
-1
2
0
3
90
-67
131
-7
-5
9
-35
0
0
0
0
0
0
0
-2
0
8
44
25
16
35
-30
-22
89
0
0
0
0
0
0
4
-2
-7
-13
124
107
-26
-36
22
-1
-12
0
0
0
0
0
0
0
2
23
-9
100
27
1
-18
-13
-63
89
0
0
0
0
0
0
0
-1
1
0
82
8
70
119
-27
-43
84
0
0
0
0
0
0
0
0
0
12
15
-65
39
93
-6
-64
-26
0
0
0
0
0
0
0
0
0
4
-2
-2
-5
-15
-14
-42
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
0
62
-41
37
55
-5
4
8
32
0
0
0
0
0
0
-17
4
-79
0
-1
74
-47
84
41
51
12
0
0
0
0
0
0
0
7
-7
108
54
56
70
82
-24
16
-59
0
0
0
0
0
0
0
-12
-78
45
-90
-50
20
34
-123
89
12
0
0
0
0
0
0
0
22
40
2
-1
-42
58
53
-7
3
96
0
0
0
0
0
0
0
0
1
0
-1
15
-39
35
-112
18
-19
0
0
0
0
0
0
0
0
0
-2
0
-1
-56
3
39
10
24
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-4
-18
-16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
19
-11
0
0
0
0
0
0
0
0
0
0
-1
30
19
56
-95
-5
0
0
0
0
0
0
0
0
2
7
0
-39
33
58
-46
-36
-46
4
0
0
0
0
0
0
0
0
0
22
0
3
1
31
53
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
18
-22
-56
2
0
0
0
0
0
0
0
0
0
0
0
-2
34
-38
5
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-9
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
85
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
34
-61
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
4
20
15
-28
19
-17
3
0
0
0
0
0
0
0
0
-6
2
0
15
-3
77
90
-8
28
3
0
0
0
0
0
0
0
1
-67
19
-5
-21
-32
-21
-63
104
2
0
0
0
0
0
0
0
0
-4
0
-6
6
53
88
64
2
4
0
0
0
0
0
0
0
0
0
0
0
5
56
41
53
78
3
0
0
0
0
0
0
0
0
0
0
0
-1
16
37
-11
5
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
-73
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
12
71
46
54
-21
0
0
0
0
0
0
0
0
0
9
0
80
-51
27
34
53
-83
49
0
0
0
0
0
0
0
0
0
0
0
5
-16
-26
-86
33
12
0
0
0
0
0
0
0
0
0
0
2
4
84
-82
9
-46
9
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
33
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
14
-50
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
-12
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
0
20
39
-80
29
-17
-5
24
0
0
0
0
0
0
0
-3
29
82
-45
-3
45
48
4
44
30
-7
0
0
0
0
0
0
0
-59
70
-2
1
69
-17
-10
41
12
0
0
0
0
0
0
0
0
-2
-13
79
27
-33
10
28
-84
-37
2
0
0
0
0
0
0
0
0
-2
-5
-3
112
54
37
21
-15
19
0
0
0
0
0
0
0
0
0
-1
-6
-12
72
82
-49
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
-15
-33
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
57
-47
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-14
0
0
0
0
0
0
0
1
0
14
8
-49
15
14
-32
-10
30
0
0
0
0
0
0
0
0
42
12
-29
104
-42
-39
16
44
33
0
0
0
0
0
0
0
-4
13
112
5
91
193
9
14
12
-64
0
0
0
0
0
0
0
0
1
-43
5
123
8
26
8
16
3
0
0
0
0
0
0
0
0
4
6
-60
-10
68
21
-94
1
9
0
0
0
0
0
0
0
0
0
0
11
3
-154
30
-23
-97
158
0
0
0
0
0
0
0
0
0
0
0
-5
-19
-59
-34
-25
-12
0
0
0
0
0
0
0
0
0
0
0
8
-5
-65
-57
-3
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
-17
64
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-98
-1
46
0
16
40
104
39
-22
-32
-83
44
0
0
0
2
1
0
-42
0
40
54
73
110
27
-42
21
18
-12
0
0
0
0
7
-10
-1
9
-2
-4
34
34
129
23
38
-72
-1
0
0
0
0
0
3
10
11
-9
21
-28
107
82
17
-5
-15
-5
0
0
0
0
0
6
0
-2
-70
-6
54
94
-24
71
-68
-21
4
0
0
0
0
0
0
0
-3
29
-15
11
15
-57
-71
-20
-22
8
0
0
0
0
0
0
0
-2
0
31
10
7
-28
28
-75
52
-5
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
11
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
-46
40
20
-40
0
-52
-12
65
5
79
-34
-45
0
0
0
0
-9
-47
-14
-50
-46
30
-25
-28
-10
33
44
38
39
0
0
0
0
0
14
-29
-53
-41
-63
-26
-43
-33
47
110
-13
-34
0
0
0
0
0
14
-40
74
-82
56
12
-32
6
45
38
59
3
0
0
0
0
0
4
4
54
46
73
-80
10
-70
4
-2
10
-78
0
0
0
0
0
-1
0
22
-5
-65
-34
-101
-20
-20
57
-42
-23
0
0
0
0
0
0
6
-2
-63
-58
-73
-1
-13
-24
38
29
-60
0
0
0
0
0
1
0
7
-22
9
-25
31
-39
22
-78
-41
-102
0
0
0
0
0
0
0
0
0
12
14
-64
-38
2
1
0
0
0
0
0
-1
8
17
94
-37
33
0
155
-29
30
106
-28
30
0
0
0
0
0
0
0
11
-21
2
24
14
70
90
79
154
10
3
0
0
0
0
0
0
0
17
80
-25
-70
124
47
81
8
-30
-2
0
0
0
0
0
0
-4
0
-17
9
16
-64
7
34
74
-42
0
0
0
0
0
0
0
0
-1
-5
-5
27
-47
-5
-70
-42
19
1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
8
-42
-1
0
0
0
0
0
0
0
0
0
0
0
12
0
3
19
-1
-57
0
0
0
0
0
0
0
0
0
0
18
6
6
-13
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-14
-32
39
23
0
26
72
-29
65
22
46
0
0
0
0
0
0
1
42
-30
13
108
50
12
61
21
-7
-42
0
0
0
0
0
0
2
-4
8
37
-16
-13
-28
20
95
0
-33
0
0
0
0
0
0
0
0
-2
-19
9
-44
1
56
48
56
41
0
0
0
0
0
0
0
0
-5
-5
18
69
9
-2
7
26
9
0
0
0
0
0
0
0
0
0
2
-70
-68
9
-52
-48
9
-7
0
0
0
0
0
0
0
0
0
-47
0
-12
21
-78
-60
-2
1
0
0
0
0
0
0
0
0
0
1
-2
-24
0
-37
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
49
-2
-31
0
47
27
82
104
82
-29
-59
26
0
0
0
0
1
102
-3
8
24
55
59
12
-13
25
-58
-13
72
0
0
0
0
0
21
-76
-19
39
40
24
-13
35
54
62
-38
-47
0
0
0
0
0
1
-2
14
-7
50
60
-28
29
-26
55
-44
-68
0
0
0
0
0
0
0
-57
87
18
-21
-35
17
33
-36
-57
42
0
0
0
0
0
0
0
-3
13
42
1
10
10
-55
-47
80
-3
0
0
0
0
0
0
0
0
5
-5
-1
9
-48
-63
-39
-49
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
14
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
-2
-37
0
4
-42
-31
57
-25
-19
-19
0
0
0
0
0
0
0
17
-16
-25
-11
65
-12
21
-40
-20
15
2
0
0
0
0
0
0
0
0
12
27
78
-22
100
-19
2
-38
-17
0
0
0
0
0
0
4
-13
-48
111
17
-20
-22
4
-2
-38
11
0
0
0
0
0
0
0
4
0
1
-35
-5
-8
5
-34
70
6
0
0
0
0
0
0
0
0
2
-27
7
-26
22
-75
4
41
1
0
0
0
0
0
0
0
0
0
-1
-6
19
-26
2
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
14
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
-4
-3
0
64
10
-31
45
-41
-18
-9
54
0
0
0
0
0
0
48
-13
134
138
35
56
115
-33
116
41
22
0
0
0
0
0
0
24
-32
30
1
75
106
-53
22
-50
32
2
0
0
0
0
0
0
1
-15
-59
29
93
141
7
19
-45
55
4
0
0
0
0
0
0
-1
88
44
89
33
-45
48
21
-12
-7
-51
0
0
0
0
0
0
0
-15
110
27
2
30
-36
-43
7
45
100
0
0
0
0
0
0
0
5
-7
60
-95
31
34
-26
-16
-69
60
0
0
0
0
0
0
0
0
-4
8
-1
-2
-4
-35
12
-64
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
37
57
-19
3
10
23
0
-15
0
0
0
0
0
0
0
-13
20
-79
-14
8
2
10
25
-16
0
0
0
0
0
0
0
0
-27
46
-63
-16
-11
28
3
-1
0
1
0
0
0
0
0
0
0
-31
-113
21
46
-51
-22
1
0
-1
0
0
0
0
0
0
0
0
9
-76
-117
3
74
1
-1
0
0
0
0
0
0
0
0
0
0
5
26
21
120
24
-12
2
0
0
0
0
0
0
0
0
0
0
-8
-16
-8
-2
13
6
0
0
0
0
0
0
0
0
0
0
0
-4
-21
-3
-31
0
-5
0
0
0
0
0
0
0
0
0
0
0
-36
1
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-33
52
3
0
0
-1
0
0
0
0
0
0
0
0
0
3
-80
35
-4
27
-2
2
0
0
0
0
0
0
0
0
0
0
-13
0
7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-17
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
12
9
0
0
0
0
0
0
0
0
0
0
0
0
4
12
5
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-20
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-44
-57
-24
8
0
-7
0
0
0
0
0
0
0
0
0
1
58
-81
-29
-8
-6
0
0
0
2
0
0
0
0
0
0
0
-3
42
33
12
-20
-2
0
0
0
0
0
0
0
0
0
0
0
4
5
-98
-8
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
10
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-43
42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
23
-55
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-41
-30
13
0
-1
39
0
0
0
0
0
0
0
0
0
-36
8
-18
-42
36
15
0
-3
-1
0
0
0
0
0
0
0
0
2
-1
10
54
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-66
20
-39
45
-1
0
0
0
0
0
0
0
0
0
0
0
1
8
-60
7
-14
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
2
-4
4
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-13
42
-23
29
40
42
10
2
0
0
0
0
0
0
0
0
-1
-1
-75
-15
-24
-2
57
-3
4
0
0
0
0
0
0
0
0
-10
22
-14
20
9
31
14
15
0
0
0
0
0
0
0
0
0
-10
-5
-19
-102
20
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-41
29
-48
19
3
0
1
0
0
0
0
0
0
0
0
0
-14
-41
-75
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-57
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-32
19
19
1
-40
13
0
0
0
0
0
0
0
0
0
-29
-52
-28
-41
31
25
48
-16
6
3
0
0
0
0
0
0
0
-2
39
-18
-44
-31
18
75
45
-9
-3
0
0
0
0
0
0
0
19
-23
32
116
-20
25
-23
-7
7
3
0
0
0
0
0
0
0
-36
7
-44
24
10
-12
-44
-8
1
0
0
0
0
0
0
0
0
-34
-32
-7
-39
6
29
8
3
-8
0
0
0
0
0
0
0
0
-24
5
-3
8
-23
-25
1
5
0
0
0
0
0
0
0
0
0
-10
-160
24
42
3
0
-1
0
1
0
0
0
0
0
0
0
0
-13
-51
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-46
77
-63
32
26
21
0
56
6
-49
0
0
0
0
0
-1
-27
-5
-11
14
34
-25
4
70
167
42
-39
5
0
-1
0
0
-8
-22
-4
-5
-10
31
52
-72
-58
-31
28
6
-4
0
0
0
0
4
-71
35
-29
2
33
83
72
28
47
1
0
2
7
0
0
0
-1
8
61
-7
-83
-1
-9
60
58
61
12
9
-2
0
0
0
0
3
22
27
-37
35
-90
21
19
-12
-23
10
0
0
0
0
0
0
-1
1
12
14
36
-88
-71
12
0
-1
0
0
0
0
0
0
0
-2
24
-1
-22
3
4
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-21
4
17
87
-55
27
0
-48
11
-24
-21
-4
0
0
0
0
-108
-9
53
-17
37
-70
8
64
104
83
62
48
4
12
0
0
0
-53
-60
82
-20
-56
-114
-52
-29
-69
-20
12
-17
6
0
0
0
0
-52
-27
12
91
-55
-29
-31
88
41
33
25
35
-19
0
0
0
0
-8
41
-137
25
-35
42
-9
82
-8
-20
-24
33
18
0
0
0
0
19
34
-74
6
33
50
11
-4
-30
-16
15
34
10
0
0
0
0
-8
9
58
55
6
-13
19
-7
0
21
-27
14
7
0
0
0
0
44
8
59
89
25
-43
-73
-101
24
-3
13
24
0
0
0
0
0
0
6
2
-13
48
-23
33
-40
1
24
1
-4
0
0
0
0
0
0
5
13
-47
23
-136
-57
0
-1
-47
46
0
0
0
0
0
0
3
5
-25
60
-49
60
32
40
156
-22
-3
1
0
0
0
0
0
1
-57
67
-61
1
-53
-78
-2
39
23
5
0
0
0
0
0
0
3
-6
-55
65
78
-28
-32
90
29
0
0
1
0
0
0
0
0
0
-9
-2
26
56
-38
136
64
58
18
5
0
0
0
0
0
0
0
-8
62
52
66
49
-10
0
16
0
0
0
0
0
0
0
0
0
-2
-70
17
-1
-28
-2
4
23
0
0
0
0
0
0
0
0
0
0
-7
13
-9
14
42
-11
8
1
3
0
0
0
0
0
0
0
0
0
0
-1
8
-6
0
10
0
0
0
0
0
0
0
0
0
10
-6
13
-94
-93
61
0
46
-6
-17
-1
0
0
0
0
0
0
-67
63
39
79
-49
-11
-3
83
-4
24
31
0
-1
0
0
0
0
17
38
4
22
-20
32
33
9
47
15
0
0
0
0
0
0
0
43
18
26
61
7
84
27
-55
42
-2
1
0
0
0
0
0
0
1
-11
0
-7
-70
18
37
69
-13
0
0
0
0
0
0
0
0
-6
42
-85
-86
-17
7
-38
45
1
2
0
0
0
0
0
0
0
-6
-22
19
-22
-23
9
-39
12
-1
0
0
0
0
0
0
0
0
0
-8
9
79
9
49
-7
0
0
0
0
0
0
0
0
0
0
-9
0
2
-1
-9
0
0
0
0
0
0
0
0
0
0
14
-60
-24
10
-96
-19
-18
29
0
42
51
8
1
0
0
0
0
8
29
33
-3
-14
-11
29
-1
15
132
-7
38
1
0
1
0
0
85
13
76
1
59
49
98
49
-36
21
42
2
0
2
0
0
0
-19
-13
-15
-21
-51
31
87
7
104
-42
-27
-4
0
0
0
0
0
48
39
-76
33
36
80
87
92
51
-49
0
-1
0
0
0
0
0
-3
-68
21
35
56
11
29
26
2
-7
2
0
0
0
0
0
0
4
-29
-6
-55
51
-35
56
23
-1
0
-4
0
0
0
0
0
0
0
-30
4
12
-32
-2
-1
12
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-4
-24
-17
13
45
0
18
-1
0
0
0
0
0
0
0
12
8
-7
-18
3
11
-21
39
32
0
0
0
0
0
0
0
0
-8
20
-2
33
63
-12
29
28
34
0
0
0
0
0
0
0
0
-7
20
-20
81
6
23
41
-36
4
0
0
0
0
0
0
0
1
3
-8
-45
96
32
-1
25
1
0
0
0
0
0
0
0
0
0
2
8
-44
2
-4
1
41
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-18
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
3
12
2
-33
-41
0
25
-56
5
0
0
0
0
0
4
38
7
7
3
-51
53
121
64
97
27
24
5
0
0
0
0
6
33
-5
-5
8
50
185
4
18
-57
52
4
-7
0
0
0
0
-1
7
-8
2
68
118
5
52
-56
28
-5
0
0
0
0
0
0
0
-20
-1
23
98
1
-11
-32
20
80
-22
5
0
0
0
0
0
0
19
8
42
7
46
-94
-15
79
-23
36
-1
0
0
0
0
0
0
10
17
-3
-34
17
30
6
16
2
18
0
0
0
0
0
0
4
13
-6
-32
-17
5
-34
21
-15
5
-4
0
0
0
0
0
0
0
0
0
0
0
5
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
168
0
0
64
-72
-7
4
0
0
0
0
0
0
0
0
0
0
108
197
165
-68
36
-5
4
-2
0
0
0
0
0
0
0
0
41
86
113
49
-17
-3
-3
0
0
0
0
0
0
0
0
0
0
-1
-39
39
-80
-58
6
0
-2
0
0
0
0
0
0
0
0
0
3
-83
40
13
-14
1
0
0
1
0
0
0
0
0
0
0
0
1
-42
53
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
64
2
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-18
-3
-4
0
0
0
0
0
0
0
0
0
0
36
-14
-17
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
-21
120
51
-53
-1
1
0
0
0
0
0
0
0
0
0
0
0
-13
14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
5
143
0
0
0
-48
-4
0
0
0
0
0
0
0
0
0
0
0
88
163
-6
-27
39
-1
0
0
0
0
0
0
0
0
0
0
2
-50
99
63
0
-15
-1
0
0
0
0
0
0
0
0
0
0
-5
-19
-19
-60
-46
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
96
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
41
132
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
13
39
129
32
-24
8
0
0
0
0
0
0
0
0
0
0
2
97
22
6
-77
67
-3
0
0
0
0
0
0
0
0
0
0
0
37
17
45
-73
1
0
0
0
0
0
0
0
0
0
0
0
0
48
-30
-23
-34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-55
-17
8
0
0
0
8
2
0
0
0
0
0
0
0
8
-32
-19
-30
83
0
0
0
8
-3
0
0
0
0
0
0
0
23
-36
109
49
76
115
20
-21
-6
1
0
0
0
0
0
0
0
4
20
47
99
33
36
49
-47
-5
0
0
0
0
0
0
0
-1
-10
17
100
51
87
101
-68
-4
0
0
0
0
0
0
0
0
0
0
-10
3
75
-32
-8
-54
-12
0
0
0
0
0
0
0
0
0
0
0
20
-11
-45
-29
-16
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
17
-9
0
0
0
0
0
0
12
16
-2
-1
-15
55
0
0
0
17
53
-27
0
0
0
0
0
-17
-5
-13
-14
55
114
16
52
-11
-68
21
-1
0
0
0
0
0
-49
-7
4
45
165
19
59
-41
-7
13
5
0
0
0
0
0
0
5
-30
-13
90
89
44
70
0
23
4
-7
1
0
0
0
0
0
14
4
42
-28
84
-29
8
27
-52
0
0
0
0
0
0
0
-2
-5
18
-8
-22
-39
46
31
18
8
0
0
0
0
0
0
0
0
14
-5
-2
1
6
-2
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
16
1
10
-27
-7
1
0
0
0
0
0
0
0
0
0
0
0
97
-14
-3
-5
51
43
43
0
0
0
0
0
0
0
0
0
0
-63
-25
-84
-12
38
2
-15
9
0
0
0
0
0
0
0
0
0
-14
101
-64
-16
-56
38
26
20
5
0
0
0
0
0
0
0
0
24
-35
33
0
39
136
-5
-2
14
18
0
0
0
0
0
0
0
39
0
1
-42
7
-19
-13
-41
21
0
0
0
0
0
0
0
0
1
4
-67
66
13
0
34
21
0
0
0
0
0
0
0
0
0
0
64
-8
18
11
4
28
2
6
0
0
0
0
0
0
0
0
2
3
-24
-25
1
-3
-3
0
0
0
0
0
0
0
0
0
0
54
92
19
58
30
27
63
0
0
0
-18
-12
0
0
0
0
0
13
59
-35
10
-32
1
126
0
0
84
11
14
1
0
0
0
0
-49
64
27
25
-62
12
187
81
-28
2
-35
1
0
0
0
0
0
2
41
-2
7
74
60
57
137
33
-22
-41
0
0
0
0
0
0
81
-24
-10
46
3
-19
30
5
4
-12
20
0
-1
0
0
0
0
-24
32
131
-76
21
-29
11
-89
6
10
-8
0
0
-1
0
0
0
1
-16
-60
43
0
-54
-52
-42
4
36
0
0
0
0
0
0
0
0
7
-13
27
-4
-3
8
-2
2
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-43
-54
-14
-16
6
84
0
0
-91
-4
25
0
0
0
0
0
-39
44
-62
-46
61
-40
55
52
77
14
-20
5
5
0
0
0
0
-31
8
-70
-22
12
1
-24
3
123
-22
14
19
1
0
0
0
0
-18
0
13
-31
-31
24
30
36
-30
-9
36
2
0
0
0
0
0
-14
-54
-49
-8
-38
27
-50
33
-47
19
11
-14
-1
0
0
0
0
69
33
1
-12
22
0
40
73
10
50
-20
9
0
0
0
0
0
3
-20
-30
-20
-33
-24
-13
32
49
5
-64
-30
-5
0
0
0
0
0
-86
32
30
75
2
-43
13
-53
4
-3
-5
0
0
0
0
0
0
0
-43
-4
10
-10
-14
11
-27
-1
0
0
0
0
0
0
0
-49
35
-36
-37
8
-2
-29
0
0
1
0
0
0
0
0
0
0
-44
4
-25
-15
-70
0
-14
33
34
0
3
0
0
0
0
0
0
-23
28
13
-3
-22
-111
53
34
-29
0
0
0
0
0
0
0
0
43
-8
-48
69
-32
-2
1
-62
4
-1
-1
0
0
0
0
0
0
-75
6
72
10
1
-100
-36
42
-40
1
0
0
0
0
0
0
0
-25
15
-30
10
-20
-16
53
-27
-4
0
0
0
0
0
0
0
0
27
-23
-25
23
-68
66
-37
1
0
-1
0
0
0
0
0
0
0
47
1
84
43
-6
39
24
0
0
0
-2
0
0
0
0
0
0
50
44
29
21
-4
4
7
2
0
0
0
0
0
0
0
0
0
13
150
-75
-79
49
55
72
-41
0
-3
0
0
0
0
0
0
0
-32
-21
-45
-21
19
112
0
-14
-11
5
0
0
0
0
0
0
0
53
-4
-71
-23
-16
99
28
3
-8
21
5
0
0
0
0
0
0
17
46
-33
10
33
154
-23
33
36
3
0
0
0
0
0
0
0
-48
-28
29
61
-33
29
37
-4
-7
-2
0
0
0
0
0
0
0
-99
45
-57
3
-65
-71
50
13
13
-2
0
0
0
0
0
0
0
78
29
84
-20
-22
-20
-17
7
3
2
0
0
0
0
0
0
0
-112
-9
40
-64
-51
11
5
3
1
0
0
0
0
0
0
0
0
0
0
-51
23
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-5
17
13
-47
41
102
0
0
-14
-34
-5
0
0
0
0
0
16
65
35
42
74
-59
116
0
178
0
17
-7
-1
1
0
0
0
-57
17
47
27
25
147
290
138
79
73
-60
127
-7
0
0
0
0
-13
-13
18
31
58
-48
-2
122
50
58
-38
-4
-1
0
0
0
0
3
-40
42
27
-12
66
-44
-48
37
-66
5
0
-4
0
0
0
0
13
29
39
-23
37
19
-47
59
-26
60
3
0
0
0
0
0
0
-21
19
-27
18
-3
-31
-52
-48
8
0
-2
0
0
0
0
0
0
0
-37
32
34
11
1
-8
6
0
-6
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-47
-15
-37
-5
-23
-4
0
-4
-3
0
0
0
0
0
0
4
-9
-38
-41
13
35
10
0
64
0
19
9
0
0
0
0
0
0
-22
-59
8
49
86
87
106
-51
28
-20
6
0
0
0
0
0
8
7
101
36
120
91
180
116
-23
-18
7
0
0
0
0
0
0
-14
31
43
107
96
-4
38
-11
-8
-4
0
-3
0
0
0
0
0
-6
71
77
79
55
-3
-13
1
-4
-8
-3
0
0
0
0
0
0
25
44
104
116
52
-31
6
0
-9
0
0
0
0
0
0
0
0
0
56
131
69
-43
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
29
-7
28
47
2
-8
0
0
0
-1
0
0
0
0
0
0
6
-9
5
-13
2
41
-17
109
0
-42
-13
-7
0
0
0
0
0
29
9
53
-1
4
57
112
68
89
-95
1
0
0
0
0
0
0
32
-91
20
65
-26
48
32
123
-22
8
0
0
0
0
0
0
0
-83
-43
-9
-14
17
54
44
-42
-104
9
-1
0
0
0
0
0
0
56
87
-60
-25
-47
97
27
49
8
8
0
0
0
0
0
0
0
-23
-54
-28
65
26
-49
-9
17
5
0
0
0
0
0
0
0
0
42
2
-19
54
-21
-10
0
0
8
0
0
0
0
0
0
0
0
5
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
45
-16
-8
-22
1
1
0
0
0
0
0
0
0
0
0
-31
-33
-24
95
22
-22
88
35
-33
-14
0
0
0
0
0
0
0
-21
-61
-4
-47
-20
-15
-5
-3
3
4
0
0
0
0
0
0
0
0
-48
77
30
30
-18
-1
0
0
0
0
0
0
0
0
0
0
12
-33
-57
39
39
-6
0
1
0
0
0
0
0
0
0
0
0
-5
82
-23
31
18
14
2
0
0
0
0
0
0
0
0
0
0
0
-10
-14
-44
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
-4
40
-3
-6
0
0
0
0
0
0
0
0
0
0
5
25
24
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
24
32
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-32
11
-8
3
-2
0
0
0
0
0
0
0
0
0
0
-12
-53
93
35
71
-5
-19
0
0
-4
0
0
0
0
0
0
0
-8
39
62
56
55
16
1
0
0
0
0
0
0
0
0
0
0
-2
5
60
-57
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-29
49
118
17
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
42
17
-19
0
2
0
0
0
0
0
0
0
0
0
0
-4
30
-29
-116
20
-32
-21
5
3
1
0
0
0
0
0
0
0
1
-5
-6
71
-45
13
-2
0
0
0
0
0
0
0
0
0
0
-5
47
52
39
-20
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
1
16
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
32
-2
0
-1
1
0
0
0
0
0
0
0
0
0
-7
-24
24
13
15
7
21
0
-1
0
0
0
0
0
0
0
0
4
5
-34
33
-8
23
41
-9
0
0
0
0
0
0
0
0
0
-2
-15
-38
-20
-4
45
-13
0
0
0
0
0
0
0
0
0
0
-1
9
-27
8
22
47
25
8
-1
0
0
0
0
0
0
0
0
0
7
-2
-29
-2
48
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
-6
-14
7
-22
-15
0
0
0
0
0
0
0
0
0
-14
-52
61
45
-14
-28
-28
-7
7
0
0
0
0
0
0
0
0
24
49
21
22
38
15
24
9
15
-1
0
0
0
0
0
0
0
-27
57
22
-2
-8
-7
-16
-4
-9
0
0
0
0
0
0
0
0
70
16
1
-19
7
-16
18
-29
2
0
0
0
0
0
0
0
0
-10
6
27
-29
-16
-20
7
-12
-15
6
0
0
0
0
0
0
0
1
-1
-13
6
-2
-2
-7
1
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-57
37
96
56
-16
155
0
34
12
57
6
0
0
0
0
36
21
5
16
60
26
-51
52
-25
73
-18
42
-9
1
0
0
0
14
-10
-26
40
43
5
94
35
-24
-5
68
-4
-33
-3
0
0
0
-3
40
38
72
55
82
57
-38
-8
8
-2
-7
-5
0
0
0
0
0
-41
95
72
28
106
10
93
29
-39
-6
0
0
0
0
0
0
0
17
18
-20
14
-15
29
-9
-20
-95
-1
0
0
0
0
0
0
0
0
1
16
-27
38
-47
-6
-114
-28
-3
2
0
0
0
0
0
0
0
0
0
-4
36
4
-31
12
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-21
-22
69
12
-40
-22
-13
0
-61
-107
11
7
13
0
0
0
0
-29
4
-7
29
37
-65
-49
-44
-44
-98
-38
76
46
31
0
0
0
11
31
17
27
18
-3
2
-79
-71
-78
-23
11
15
-2
0
0
0
38
6
-52
-84
4
11
13
-23
-15
-66
55
40
24
-3
0
0
0
6
-31
20
16
-56
34
46
5
33
-23
37
115
-6
-1
0
0
0
43
-98
-43
6
-13
15
34
-31
43
-42
-25
12
16
-5
0
0
0
1
-64
-47
14
59
63
-5
-17
6
-17
-27
8
-14
0
0
0
0
3
1
25
27
-17
36
4
-62
97
-35
-13
1
2
2
0
0
0
0
0
2
9
-44
3
20
-7
38
-59
-1
0
-1
0
0
0
0
0
3
-6
28
12
0
-10
0
8
-41
27
8
20
-8
-3
0
0
0
1
16
-14
-5
9
-22
-47
-3
8
9
71
21
30
0
0
0
-8
4
55
29
13
-50
48
-6
-82
-20
-24
-30
-29
0
3
0
0
0
-20
44
28
27
47
38
37
3
5
30
37
-23
0
0
0
0
0
20
3
64
-23
-15
-13
50
36
-17
14
4
-5
0
8
0
0
0
1
56
23
11
14
-39
78
-11
-46
-3
-62
-7
5
3
0
0
0
1
-2
-42
-33
-50
35
-20
-45
76
-16
48
-12
4
0
0
0
0
0
-6
19
-28
38
30
-60
6
1
-26
37
-12
2
13
-6
0
0
0
0
24
-6
-21
-34
-28
-8
-43
-25
5
31
3
9
0
0
0
14
64
13
112
-12
65
0
33
-60
56
5
3
0
0
0
0
0
46
-1
57
84
-67
47
-11
-34
23
4
-26
-1
0
0
0
0
0
53
-17
60
-28
43
24
-32
55
75
55
-5
-3
0
0
0
0
0
41
124
44
-6
-1
-35
-6
94
-33
35
14
0
0
0
0
0
0
11
32
27
131
-43
49
-5
-17
-5
-29
0
-4
0
0
0
0
0
3
-18
128
-43
1
107
36
-31
-59
-44
-15
65
-22
0
0
0
0
3
-13
-44
18
-37
2
-8
-35
-12
57
-40
-12
0
0
0
0
0
0
4
4
29
48
-78
25
-3
-20
6
1
8
0
0
0
0
0
0
0
1
-5
-50
1
3
0
0
0
0
0
0
0
0
-2
41
-57
5
23
-94
-67
80
0
7
8
-8
-1
0
0
0
0
-2
66
-24
84
25
50
-7
-10
26
24
-22
26
-1
3
0
0
0
48
56
13
-52
24
48
99
-16
-49
64
31
19
0
1
0
0
0
-3
4
1
11
0
136
-41
5
-80
18
-62
0
1
0
0
0
0
1
-65
-26
16
-13
35
9
-26
-4
10
-5
0
0
0
0
0
0
-1
3
-22
71
-37
60
-29
93
10
93
-12
0
0
0
0
0
0
0
2
8
31
18
2
-72
-26
88
18
5
0
-1
0
0
0
0
0
0
0
-3
8
-12
-21
7
-8
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-7
16
7
-34
-24
-96
0
13
0
0
0
0
0
0
0
3
3
-6
8
51
51
64
-16
-11
44
1
0
0
0
0
0
0
0
-8
14
43
-7
21
-61
34
75
21
0
0
0
0
0
0
0
0
7
-10
-49
43
44
41
13
-4
0
-1
0
0
0
0
0
0
0
0
5
29
-7
79
-58
32
18
7
0
0
0
0
0
0
0
0
-4
0
-32
6
-105
-47
-69
27
-48
0
0
0
0
0
0
0
0
0
0
1
-6
25
-89
-29
29
-2
0
0
0
0
0
0
0
0
0
0
-29
-4
-17
17
5
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
1
-2
7
5
13
5
43
0
1
5
0
0
0
0
0
0
-1
5
-13
48
75
35
-32
37
47
14
-1
13
0
0
0
0
0
-3
41
-8
7
-5
9
-1
19
3
-42
14
2
-2
0
0
0
0
-1
53
3
-13
26
-18
-5
-17
-39
5
-19
0
-1
0
0
0
0
-3
-41
9
9
48
-26
34
-57
-9
-16
-39
0
3
0
0
0
0
-1
-3
-1
23
29
-11
-93
28
-106
3
-84
4
2
0
0
0
0
1
-5
0
0
25
-23
38
-56
-54
-40
-20
1
0
0
0
0
0
0
0
0
-5
2
-24
-30
-67
-73
-79
-30
1
0
0
0
0
0
0
0
0
0
0
0
-14
-71
9
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-32
-2
0
1
0
0
0
0
0
0
0
0
2
-24
0
0
-8
-27
-16
3
0
0
0
0
0
0
0
0
0
-43
-27
47
108
39
1
0
5
2
0
0
0
0
0
0
0
0
8
-23
16
20
-41
3
-18
0
2
0
0
0
0
0
0
0
0
8
8
-8
-82
-64
12
-6
1
0
0
0
0
0
0
0
0
0
1
-53
-15
-21
-64
-4
0
0
0
0
0
0
0
0
0
0
0
5
-40
9
-126
2
48
13
-1
0
0
0
0
0
0
0
0
0
4
-2
12
-20
-14
10
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-4
-47
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
9
0
-27
-24
5
1
-6
0
0
0
0
0
0
0
0
0
0
0
-28
37
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-42
-29
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
19
12
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
98
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
1
78
0
0
14
-18
-2
0
-1
0
0
0
0
0
0
0
0
3
-42
64
13
98
-20
-1
0
0
0
0
0
0
0
0
0
0
4
10
24
-57
3
-18
0
-3
0
0
0
0
0
0
0
0
0
-3
-3
-11
-1
-43
1
-2
0
0
0
0
0
0
0
0
0
0
0
-11
-95
-48
30
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
-27
-20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-36
35
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
16
80
0
0
-25
5
6
0
0
0
0
0
0
0
0
0
2
-8
3
49
64
1
8
0
0
0
0
0
0
0
0
0
0
0
-19
-39
26
103
5
-8
0
0
0
0
0
0
0
0
0
0
0
-25
-39
-46
40
2
6
0
0
0
0
0
0
0
0
0
0
0
-30
-4
-32
-37
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
14
-24
-48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-20
0
0
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
72
7
9
-39
0
0
0
1
0
0
0
0
0
0
0
-6
47
-47
-47
-81
-61
0
0
0
16
2
0
0
0
0
0
0
-1
54
5
-28
-25
-13
-39
51
40
-9
5
-3
0
0
0
0
0
1
-20
-55
4
-14
4
-47
-39
73
-15
2
0
0
0
0
0
0
0
14
18
-10
-65
-52
-118
-34
-17
0
3
0
7
0
0
0
0
0
0
41
0
-71
33
51
2
-28
-6
0
0
0
0
0
0
0
0
0
-5
-15
-21
23
29
-73
-39
-6
-3
0
0
0
0
0
0
0
0
0
0
6
-1
-9
-32
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-45
-14
-1
0
0
0
0
0
0
0
0
7
0
-3
1
-6
0
0
0
-4
-44
-1
6
0
0
0
0
10
12
-8
-8
5
27
0
0
0
93
45
-1
3
0
0
0
0
-17
29
-5
-36
-47
20
105
79
58
44
-17
20
0
0
0
0
0
16
8
20
-22
-11
7
-6
71
41
-41
-7
0
0
0
0
0
0
2
12
-1
-20
28
23
-3
-24
-81
-23
-7
0
0
0
0
0
0
25
-1
9
-40
-21
-58
-14
12
-16
10
0
0
0
0
0
0
0
0
0
-3
29
-13
-21
-77
38
11
-32
2
-1
0
0
0
0
0
0
0
-1
0
11
12
-24
-13
-36
-57
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-23
6
-3
-1
0
0
0
0
0
-4
-16
35
-42
59
-51
1
0
0
0
0
0
0
0
0
0
0
15
-32
77
-31
106
34
-15
0
0
0
0
0
0
0
0
0
0
-43
-33
21
14
-32
-46
-69
-2
0
0
0
0
0
0
0
0
0
28
63
18
-21
8
-17
17
14
0
1
0
0
0
0
0
0
0
56
21
20
54
-45
-32
-10
38
7
1
0
0
0
0
0
0
0
11
-95
-26
53
32
23
121
20
6
16
1
0
0
0
0
0
0
38
-28
34
42
1
-25
-53
12
4
2
4
0
0
0
0
0
0
0
-8
-17
37
-46
-34
-25
7
-2
-1
0
0
0
0
0
0
0
0
0
-2
-1
2
3
1
0
0
0
0
0
0
0
0
0
0
62
-35
77
58
80
97
124
0
0
0
2
-41
0
0
0
0
0
14
-75
5
35
-23
32
51
0
0
102
-35
58
-2
5
0
0
0
59
0
14
52
-47
34
26
-5
76
-4
-6
-2
4
0
0
0
0
-36
-4
-9
-7
-5
-25
-13
58
-31
33
0
2
0
0
0
0
0
51
51
52
1
-51
26
0
-92
7
-9
5
12
-3
0
0
0
0
14
-44
-2
-10
32
-22
-7
-61
-13
57
1
8
0
0
0
0
0
5
-1
-26
49
-45
-106
-40
-46
-42
-25
-1
0
0
0
0
0
0
0
-2
6
-21
4
-91
-40
-25
-4
4
0
0
0
0
0
0
0
0
0
-3
0
0
-15
0
1
0
0
0
0
0
0
0
0
0
-2
-38
-71
-49
18
-18
90
0
0
7
14
-6
0
0
0
0
0
-44
53
-54
-19
6
10
-23
72
84
29
16
-2
3
0
0
0
0
-46
1
-76
-19
-18
1
-57
-56
43
12
-62
34
-2
0
0
0
0
7
-52
-10
1
-43
-81
37
28
53
27
-25
15
0
0
0
0
0
37
33
-62
51
17
-32
-27
-22
22
-61
2
-47
1
0
0
0
0
-9
-65
-79
-77
-1
55
-8
-35
-44
-32
78
-16
-1
0
0
0
0
-25
-19
6
43
-27
-1
-52
-33
-76
32
38
36
0
0
0
0
0
0
9
-12
8
67
111
35
-3
-21
29
-4
0
0
0
0
0
0
0
0
49
3
2
27
45
3
-1
0
6
0
0
0
0
0
0
-38
94
11
91
-9
11
60
0
0
-2
0
0
0
0
0
0
0
9
97
19
-53
-20
61
-14
8
49
-2
0
1
0
0
0
0
0
81
53
-13
-26
-75
-89
-8
78
7
0
0
0
0
0
0
0
0
29
51
-4
30
77
13
64
-38
5
6
-1
0
0
0
0
0
0
30
46
44
32
-48
-43
-21
27
-6
-5
0
0
0
0
0
0
0
0
-24
23
-15
-4
-48
-38
-2
6
0
0
0
0
0
0
0
0
0
-1
1
-4
29
26
1
0
-1
0
0
0
0
0
0
0
0
0
0
15
100
16
-38
7
-13
4
0
0
0
0
0
0
0
0
0
10
-7
-16
0
1
-7
7
-3
0
0
0
0
0
0
0
0
27
-68
-6
-57
35
30
-49
99
0
18
0
0
0
0
0
0
0
15
-42
-52
-17
-46
92
0
31
-51
4
-3
0
0
0
0
0
0
-6
30
-33
-8
42
52
-110
2
39
-14
0
4
0
0
0
0
0
-34
-26
-67
-31
-22
74
-96
-18
-53
0
1
0
0
0
0
0
0
-28
38
-2
61
4
-67
39
-27
38
10
3
9
0
0
0
0
0
-30
-9
-46
54
48
68
33
28
-5
0
0
0
0
0
0
0
0
42
-6
49
15
51
-31
-51
13
2
-4
0
0
0
0
0
0
0
18
40
7
5
44
-6
28
13
0
0
0
0
0
0
0
0
0
0
0
48
6
1
8
-2
0
0
0
0
0
0
0
0
0
0
-40
29
29
25
127
13
18
0
0
18
0
-1
5
0
0
0
0
4
51
33
-22
-3
-19
-28
0
110
0
122
24
-5
0
0
0
0
36
2
19
31
58
-30
33
-32
47
65
44
2
0
0
0
0
0
-52
38
2
57
6
-18
65
-36
11
-77
31
-2
-8
0
0
0
0
-44
-47
-35
5
31
-36
-46
1
-58
48
10
1
0
0
0
0
0
-1
42
82
-1
-13
-50
-28
-39
-30
-7
-5
0
0
0
0
0
0
-3
-2
-5
30
13
-44
23
6
-42
-37
100
0
0
0
0
0
0
0
-1
17
-10
33
-5
-6
-39
-3
-30
0
0
0
0
0
0
0
0
0
19
2
-13
0
8
0
0
0
0
0
0
0
0
0
0
0
-36
1
-48
-7
-46
22
-9
0
-59
0
-1
0
0
0
0
0
30
-26
-22
-155
-49
-43
6
0
21
0
-10
0
0
0
0
0
0
19
-50
-99
-4
29
-40
-68
-17
40
18
0
-3
0
0
0
0
0
-9
15
13
20
2
-32
-24
17
10
9
-3
0
0
0
0
0
0
24
-5
-22
-77
-17
-33
-80
-21
-8
9
0
0
0
0
0
0
0
0
-55
-15
14
-79
-2
-14
-96
-8
-23
4
0
0
0
0
0
0
0
0
2
21
30
-1
12
17
-7
-4
0
0
0
0
0
0
0
0
0
0
-2
7
-27
0
13
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-36
132
-29
28
-9
-39
0
0
0
-1
0
0
0
0
0
0
-8
-14
17
7
0
96
66
94
0
14
45
5
0
0
0
0
0
0
90
41
-75
51
44
35
21
75
13
0
-1
0
0
0
0
0
20
3
47
19
59
43
-27
-23
120
-65
14
0
0
0
0
0
0
6
-49
28
-16
19
-33
11
-73
-41
-37
2
3
0
0
0
0
0
-24
12
40
0
-55
-20
73
-5
-2
13
1
0
0
0
0
0
0
25
-32
14
-14
11
-34
-30
-13
-22
-63
0
0
0
0
0
0
0
-6
-5
5
19
1
15
-14
-48
-29
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-26
34
52
125
-33
92
0
76
-3
0
0
0
0
0
0
16
22
-18
40
39
4
54
0
8
25
-4
0
0
0
0
0
0
-7
42
-26
53
47
4
0
1
0
-6
0
0
0
0
0
0
0
-4
-24
30
24
-55
0
-1
0
0
-1
0
0
0
0
0
0
0
41
54
41
-17
18
34
1
-1
0
0
0
0
0
0
0
0
0
-38
-42
-16
-16
-8
7
1
0
0
0
0
0
0
0
0
0
0
-45
32
-21
-25
-19
10
0
0
0
0
0
0
0
0
0
0
0
-48
12
-3
-17
-21
0
0
0
0
0
0
0
0
0
0
0
0
-46
-13
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-22
2
0
6
0
2
0
-5
0
0
0
0
0
0
0
2
9
-61
41
13
2
0
0
0
0
0
0
0
0
0
0
0
-6
12
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-38
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
10
29
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
42
-30
7
-2
2
8
0
6
0
0
0
0
0
0
0
0
-44
10
-14
8
0
1
0
1
7
0
0
0
0
0
0
0
1
-8
23
-1
-13
0
0
0
0
3
0
0
0
0
0
0
0
6
-14
-22
-28
-42
0
1
0
0
0
0
0
0
0
0
0
0
-6
6
-5
21
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
23
14
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-40
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
1
-9
20
-10
-4
-31
0
-24
0
0
0
0
0
0
0
-2
-24
-3
11
-34
13
-6
0
5
0
0
0
0
0
0
0
0
6
-4
-73
22
-16
-4
0
-2
0
-3
0
0
0
0
0
0
0
0
-20
-41
20
19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
41
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-30
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
8
2
4
2
0
0
0
0
0
0
0
0
0
0
-23
-6
-7
1
6
-2
9
1
0
0
0
0
0
0
0
0
0
-8
5
4
-2
-6
5
7
0
2
0
0
0
0
0
0
0
0
13
1
-5
1
-7
0
-2
-5
-1
0
0
0
0
0
0
0
0
-4
5
-3
-6
-2
-9
2
0
0
0
0
0
0
0
0
0
0
-6
2
-7
-16
5
4
0
0
0
0
0
0
0
0
0
0
0
-5
7
-4
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
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
24
23
1
9
-51
-80
0
0
0
0
0
0
0
0
0
-8
2
60
-5
-11
-9
-18
5
-35
24
0
0
0
0
0
0
0
-48
0
12
-27
8
1
2
0
-38
-19
0
0
0
0
0
0
0
10
-22
94
-14
7
-20
3
1
-10
-3
0
0
0
0
0
0
0
-45
37
-32
-9
7
2
20
9
-12
-4
0
0
0
0
0
0
0
9
-38
-7
53
-7
-44
10
0
0
1
0
0
0
0
0
0
0
13
16
51
-42
-25
-19
1
-3
0
0
0
0
0
0
0
0
0
15
41
0
-5
29
-1
0
-2
0
0
0
0
0
0
0
0
0
-33
29
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
51
76
66
-2
-51
15
0
20
-64
1
-30
-3
0
0
0
0
14
19
-6
76
-44
0
14
8
119
-1
-50
57
1
0
0
0
-1
25
-20
-6
-20
31
78
-56
-6
13
2
65
1
-9
0
0
0
-1
29
91
27
9
-5
74
52
2
92
-9
5
13
5
0
0
0
0
5
21
49
-11
-77
51
73
115
18
-41
7
-3
-1
0
0
0
-8
-8
-7
-24
47
-112
71
39
84
48
20
0
0
-8
0
0
0
0
-1
6
-7
-4
12
-49
7
10
0
-5
2
0
0
0
0
0
0
0
1
1
-1
-75
6
11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
24
56
41
-25
78
0
-22
-41
72
65
14
0
0
0
0
1
47
21
39
117
-77
44
82
58
-15
-2
-6
-35
15
3
0
0
-33
50
6
7
39
-99
-99
-15
-7
16
30
0
-15
-10
0
0
0
-4
-17
26
94
-14
37
34
56
9
47
80
33
36
8
0
0
0
-40
-35
-15
-87
78
25
33
57
23
-33
18
18
36
0
0
0
0
-25
58
-11
26
18
32
-26
56
1
20
-21
75
33
1
0
0
0
18
-28
10
-20
-20
-15
-3
29
47
-47
-34
-15
-23
-2
0
0
0
8
2
29
-34
-21
-10
32
-31
36
79
16
-4
-2
4
0
0
0
0
-8
2
143
78
17
-60
-65
27
38
58
-4
0
0
0
0
0
0
4
8
-17
35
-9
52
0
108
-2
-43
-9
0
0
0
0
0
0
1
70
44
8
-24
-39
72
84
-94
-2
-1
2
0
0
0
0
0
1
34
31
-13
2
-110
22
8
41
4
5
1
0
0
0
0
0
-18
12
45
33
-27
18
51
136
26
10
0
0
1
0
0
0
0
0
10
12
28
-57
41
54
92
33
7
0
0
-2
0
0
0
0
0
0
8
24
86
50
41
33
-8
-3
15
0
0
0
0
0
0
0
30
35
61
-6
59
-82
-60
-4
-1
0
0
0
0
0
0
0
0
0
107
2
-19
-40
23
-55
6
0
-1
0
0
0
0
0
0
0
0
-3
-1
50
-73
5
22
-4
0
0
0
0
0
0
0
0
1
78
-22
16
-11
163
0
34
-55
-26
43
-1
0
0
0
0
0
2
39
11
106
-111
3
19
1
7
-28
-40
5
0
1
0
0
0
18
-38
-19
47
-89
-50
-91
31
-46
-17
2
2
0
0
0
0
0
4
-18
88
93
85
24
45
88
25
-29
-8
0
0
0
0
0
0
-92
21
-7
75
18
7
-13
58
13
-3
3
-1
0
0
0
0
0
1
20
-137
0
9
57
-5
29
17
-1
-5
0
0
0
0
0
0
2
-17
71
31
-52
50
27
-10
-20
1
4
0
0
0
0
0
0
0
8
53
34
-63
26
56
34
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
7
1
-2
0
0
0
0
0
0
0
0
-4
27
21
29
29
3
-58
-7
0
15
-28
3
-1
0
0
0
0
-3
29
73
-33
18
21
-28
-7
23
65
63
7
-17
0
0
0
0
-2
-33
3
47
27
-39
5
5
-14
35
46
-4
2
-3
0
0
0
0
43
-3
6
90
13
-5
173
147
14
-25
-5
0
0
-1
0
0
0
38
-16
11
-22
3
48
-40
-7
3
8
-3
0
0
0
0
0
4
8
-8
42
-8
-9
50
34
39
5
0
0
0
0
0
0
0
1
-7
-14
-15
33
-5
-1
2
0
17
-6
1
5
0
0
0
0
0
0
-7
30
38
25
-41
25
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
35
9
-46
0
8
0
0
0
0
0
0
0
0
0
3
-1
24
-13
10
-35
-3
-18
4
0
0
0
0
0
0
0
0
0
-2
-7
0
13
25
25
2
1
0
0
0
0
0
0
0
0
-17
-4
0
36
-20
24
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
-9
4
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-67
-19
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
32
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
12
-19
16
100
0
-45
8
3
0
0
0
0
0
0
2
15
4
41
-18
-43
-15
30
131
-48
-1
0
5
0
0
0
0
3
5
12
10
52
-25
31
-1
37
-26
3
0
-5
0
0
0
0
24
-18
-6
26
36
-34
59
-10
-11
-34
-4
0
0
0
0
0
0
-22
-23
8
5
128
-27
9
-52
15
13
20
-5
0
0
0
0
0
-12
2
18
-51
-29
0
8
104
-57
-20
0
-1
0
0
0
0
0
4
-36
5
-33
9
58
-73
-5
2
-1
3
0
0
0
0
0
0
1
0
3
-15
17
-5
47
-60
42
0
5
0
0
0
0
0
0
0
0
0
-3
4
8
7
10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
25
-16
0
8
0
0
0
0
0
0
0
0
0
58
0
0
168
79
-3
1
0
3
0
0
0
0
0
0
0
3
45
134
96
72
41
-77
-5
-3
10
0
0
0
0
0
0
0
0
56
39
79
4
18
45
-20
19
14
0
0
0
0
0
0
0
-2
0
99
-27
15
-11
-13
-5
-8
0
0
0
0
0
0
0
0
-4
20
-8
-66
-1
-25
-19
20
-9
0
0
0
0
0
0
0
0
2
-32
54
60
-27
48
0
6
0
0
0
0
0
0
0
0
0
1
-6
-25
-40
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
47
29
-2
3
0
0
0
0
0
0
0
0
0
0
0
23
-19
104
-15
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-56
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
90
0
0
77
-31
19
-6
-3
0
0
0
0
0
0
0
0
0
54
6
32
89
85
2
0
-6
0
0
0
0
0
0
0
0
0
77
-7
-19
85
-7
-2
0
6
0
-2
0
0
0
0
0
0
9
10
42
-38
-47
-8
2
-6
0
1
0
0
0
0
0
0
0
1
-6
0
57
64
-3
3
0
-2
0
0
0
0
0
0
0
0
0
-8
12
-29
6
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
10
0
0
97
56
-6
0
0
0
0
0
0
0
0
0
0
0
12
34
133
11
-23
10
0
0
0
0
0
0
0
0
0
0
-5
22
55
104
-40
-3
0
0
0
0
0
0
0
0
0
0
0
16
24
-20
-64
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
33
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
20
-3
-25
0
0
0
0
2
0
0
0
0
0
0
0
-8
10
-16
13
15
0
0
0
-22
0
0
0
0
0
0
0
0
2
1
22
5
-13
21
-18
-32
2
-6
0
0
0
0
0
0
0
1
41
-5
14
66
71
68
-2
-9
0
0
0
0
0
0
0
3
-3
0
-2
38
132
-35
-33
49
3
-7
0
-2
2
0
0
0
0
0
5
5
6
12
-28
8
3
3
0
0
6
0
0
0
0
0
0
4
0
-18
-11
37
18
-8
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
4
5
0
1
0
0
0
0
-1
12
1
0
-3
2
0
0
0
4
-66
91
12
-10
-1
0
0
0
4
-2
7
-31
14
34
-14
49
69
99
-7
3
-6
0
0
0
0
-8
4
0
-5
56
6
2
80
-30
8
0
0
0
0
0
0
-1
-2
-10
12
-56
-20
113
-42
58
-37
-1
-2
0
0
-1
0
0
3
12
-10
6
-72
15
-85
-128
-68
12
1
0
0
0
0
0
0
-5
6
25
-8
49
10
27
15
51
0
0
0
0
0
0
0
0
-2
0
0
3
0
-18
22
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
-9
20
5
33
-60
32
-1
0
0
0
0
0
0
0
0
0
0
19
27
38
104
4
57
-2
0
0
0
0
0
0
0
0
0
0
2
3
-27
49
-31
68
0
0
0
1
0
0
0
0
0
0
0
30
-56
-15
45
29
-38
14
-11
42
-1
-1
0
0
0
0
0
0
4
54
34
-102
7
13
-38
-12
3
2
2
-1
1
0
0
0
0
-10
-58
33
27
-30
-9
-35
-13
-18
-5
-43
-4
-3
0
0
0
0
30
-8
-43
-3
-16
34
18
39
47
20
3
3
-1
-1
0
0
0
0
31
29
-91
1
27
-62
25
-34
14
-2
-3
-5
0
0
0
0
0
0
4
-12
5
0
-6
0
2
-1
0
0
0
0
0
0
0
-42
-54
-44
4
19
82
30
0
0
0
-39
1
0
0
0
0
0
32
56
-81
-29
37
-2
176
0
0
10
107
-12
-6
0
1
0
0
-16
-53
-3
96
36
133
107
172
17
-38
9
-36
0
0
0
0
0
-15
23
12
100
-112
29
83
10
10
43
-60
32
-2
0
0
0
0
-1
81
81
-32
-38
-9
36
68
-5
45
17
-14
27
-4
0
0
0
-17
-68
10
-40
13
14
42
44
18
43
62
-22
-16
8
0
0
0
0
-46
-3
-58
14
42
57
-26
-57
-40
9
53
-1
2
0
0
0
0
-10
-47
9
-63
8
58
-8
56
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-33
-41
-43
-31
-27
6
0
0
7
29
-50
-1
1
0
0
0
20
8
-43
-23
20
42
63
1
4
84
-14
-4
0
-1
0
0
0
29
-50
6
-14
56
4
-7
-60
15
-28
-28
-6
0
0
0
0
0
69
57
-52
24
21
12
44
-5
7
-25
-52
4
0
3
-1
0
0
-8
48
-15
-16
1
63
-18
43
-13
10
37
50
3
-1
0
0
0
-14
-36
-44
22
28
22
28
5
38
-55
4
80
-1
0
0
0
0
-2
-47
71
-37
-2
-14
15
-15
-48
24
-81
19
2
0
0
0
0
10
-31
-78
39
0
40
-1
-9
96
30
-62
30
-1
0
0
0
0
0
-6
33
-11
-50
36
-24
-41
13
-6
-33
3
0
0
0
0
0
35
23
-6
23
15
85
39
0
0
0
0
0
0
0
0
0
0
44
2
-12
47
76
-25
62
40
8
0
0
0
0
0
0
0
0
6
-24
-14
73
-18
36
4
-8
94
0
0
0
0
0
0
0
0
-25
11
-38
77
13
12
20
29
-51
0
0
0
0
0
0
0
0
-36
-19
-6
44
-46
69
23
-52
-14
-1
0
0
0
0
0
0
0
-8
-29
15
-27
-10
-1
-53
-81
-16
3
-5
0
0
0
0
0
0
51
30
18
30
53
53
-17
-50
-13
-19
0
0
0
0
0
0
0
2
28
19
39
-62
96
-20
5
-35
13
1
2
0
0
0
0
0
-57
42
-132
31
-30
13
0
-45
8
0
3
0
0
0
0
0
0
48
-18
8
23
44
38
5
140
0
-4
0
0
0
0
0
0
0
-28
-4
-84
-6
-13
84
0
66
22
-17
-2
0
0
0
0
0
0
-30
-21
-10
47
49
56
23
-49
31
-19
-1
-1
0
0
0
0
0
2
21
-11
-9
-26
-71
19
95
8
6
-5
0
0
0
0
0
0
48
-70
-28
12
2
10
-34
-5
-50
-8
3
0
1
0
0
0
0
-57
-48
-105
4
-14
13
60
8
15
-1
-25
0
0
0
0
0
0
-38
-69
77
13
-40
-27
8
-10
-39
-22
-1
0
0
0
0
0
0
34
-64
-75
26
-34
-83
-56
-3
57
4
0
0
0
0
0
0
0
0
0
-61
29
-23
0
0
0
0
0
0
0
0
0
0
0
0
-36
-36
57
0
61
32
59
0
0
95
120
-25
-14
0
0
0
0
-3
0
33
57
74
-2
141
0
3
0
19
-43
14
0
0
0
0
-8
-40
-5
101
-20
65
111
43
7
110
4
-14
2
0
0
0
0
-39
64
36
-32
80
66
17
-73
-69
-47
30
-18
-1
0
0
0
0
-8
-2
25
17
44
77
-46
24
-19
-7
7
40
-3
2
0
0
0
1
-18
-61
-100
8
79
77
61
19
-124
-56
-4
0
0
0
0
0
-1
-21
64
73
76
-103
-11
18
-5
9
-65
4
-2
0
0
0
0
0
3
-69
-77
20
17
7
35
14
2
14
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-22
-5
-44
-50
-10
8
0
25
-13
3
0
0
0
0
0
12
14
3
-55
48
19
8
0
-26
0
-10
0
3
0
0
0
0
6
6
43
-70
-9
-1
8
21
-40
-49
-73
5
0
0
0
0
0
0
-37
51
7
47
51
90
106
9
-13
-18
-8
0
0
0
0
0
-1
-59
5
23
112
190
68
-14
-45
-24
0
0
0
0
0
0
0
0
18
116
93
70
68
30
-24
-6
-10
-3
0
0
0
0
0
0
0
10
45
4
88
67
-3
-18
-14
5
0
0
0
0
0
0
0
0
0
5
102
3
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-67
83
-64
-25
17
30
41
0
0
0
1
1
2
0
0
0
0
5
-3
42
10
-17
78
100
1
0
33
15
0
-1
0
0
0
0
12
-23
-1
-67
-40
26
4
17
-7
-73
-15
-1
0
3
0
0
0
9
34
91
37
-40
14
15
-4
36
-47
34
0
0
1
0
0
0
5
-76
-67
-18
35
48
39
-39
81
-16
1
0
0
0
0
0
0
10
-32
9
-4
18
-121
-88
46
10
70
-1
0
0
0
0
0
0
13
-58
42
26
-29
21
60
-7
-4
-44
-2
0
0
0
0
0
0
-5
55
9
20
-30
51
13
5
41
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
29
-31
8
-20
3
0
-8
0
0
0
0
0
0
0
0
34
-90
147
-28
-16
0
13
50
39
11
0
0
0
0
0
0
-7
-66
-45
4
-30
34
-44
-22
-11
0
37
0
0
0
0
0
0
0
43
-46
54
-67
-8
0
0
-4
-2
0
0
0
0
0
0
0
0
14
-22
43
-17
-1
7
0
0
0
0
0
0
0
0
0
0
0
17
-62
-9
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
24
-9
-8
-10
2
7
9
0
0
0
0
0
0
0
0
0
18
18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-63
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-7
6
6
0
0
0
0
0
0
0
0
0
0
0
0
19
61
-50
6
26
-28
14
20
5
0
0
0
0
0
0
0
0
75
26
-34
-21
-17
-1
-2
3
-6
0
0
0
0
0
0
0
0
-4
5
-57
13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
42
38
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-7
29
53
-22
-35
40
-29
-32
8
3
0
0
0
0
0
0
0
0
19
-9
27
41
-3
-6
-3
5
0
0
0
0
0
0
0
0
22
-4
20
164
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-1
3
-1
0
0
0
0
0
0
0
0
0
0
2
8
7
-7
-12
-48
-46
12
4
0
0
0
0
0
0
0
0
0
0
-15
4
17
-18
-6
0
0
1
0
0
0
0
0
0
0
0
0
-1
-6
58
29
-5
0
0
0
0
0
0
0
0
0
0
-4
6
6
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
44
10
-12
0
0
1
0
0
0
0
0
0
4
17
20
-7
3
53
-30
30
6
0
0
0
0
0
0
0
0
3
-34
-1
65
-4
-16
-53
-34
-10
5
0
0
0
0
0
0
0
0
14
58
-13
20
-22
0
-22
-5
0
0
0
0
0
0
0
0
0
-1
12
-19
7
32
-6
-13
0
1
0
0
0
0
0
0
0
0
2
-1
-5
-22
4
4
-3
8
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-6
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
38
30
60
-55
19
0
23
-69
58
0
0
0
0
0
-7
16
62
-22
0
23
-1
50
26
29
-10
34
19
3
0
0
0
0
71
32
53
40
44
60
93
-9
9
22
33
14
-6
0
0
0
0
8
38
111
-56
-7
108
84
49
-21
5
-42
-14
5
-1
0
0
2
0
-14
-36
-40
99
8
169
1
-63
-26
-13
4
0
0
0
0
0
0
-8
20
-7
-26
-18
28
-13
-8
17
7
0
0
0
0
0
0
0
-1
-6
0
5
12
17
19
-5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-19
-30
11
-54
21
0
23
61
-62
-102
-2
0
0
0
0
0
4
-30
-29
-14
21
51
-16
6
-92
-15
74
63
12
0
0
0
0
-4
-30
63
13
22
60
-39
-39
-77
29
2
-29
-1
0
0
0
-2
6
-69
-111
19
30
16
26
16
12
-54
44
11
6
0
0
0
-6
76
-24
-47
-1
-46
-37
-75
-45
-75
-17
85
83
23
0
0
0
0
-1
10
-4
-12
12
-48
7
5
-17
-38
83
39
3
0
0
0
-8
-20
-8
44
97
-34
15
-52
48
26
27
-22
-6
3
0
0
0
0
0
14
7
-37
69
-76
49
-30
-63
-36
2
0
0
0
0
0
0
0
0
-4
30
-12
-29
-6
-29
-43
42
-7
0
0
0
0
0
0
0
13
31
49
-38
-54
0
8
-118
5
-121
86
-12
-16
0
0
0
2
-79
-108
18
-88
-11
146
-30
-70
51
-29
50
-19
0
-8
0
0
2
4
79
30
-6
13
-7
5
45
-31
20
68
15
20
0
0
0
9
69
1
171
61
28
4
28
62
11
-43
23
-7
0
0
0
0
0
-5
-57
7
53
34
-24
-36
27
-16
-13
-3
-5
15
0
0
0
0
2
8
-19
73
-70
46
-3
-50
70
4
-49
-8
0
0
0
0
0
0
-6
-8
-18
-46
0
-34
-31
46
4
-18
20
6
3
0
0
0
0
-2
25
-5
3
1
13
0
28
8
66
8
8
-13
0
0
0
0
0
-6
21
35
-19
22
-7
44
15
0
125
-3
17
0
0
0
80
-26
13
88
71
0
-41
-28
34
46
72
-2
0
0
0
0
7
45
-8
78
-6
14
6
44
-8
71
47
-44
5
-1
0
0
0
6
82
84
21
-49
56
83
43
-6
-64
60
56
0
0
0
0
0
5
84
45
90
83
24
72
-53
11
-11
12
20
0
0
0
0
0
-1
29
55
-5
-8
-17
-52
37
79
40
-32
-4
1
0
0
0
0
0
1
34
7
69
-24
-7
62
29
-61
18
-5
-18
1
0
0
0
0
0
-13
-23
-22
-13
25
-40
5
-48
-33
120
-23
0
0
0
0
0
0
13
14
30
-64
-36
17
-6
24
4
13
-20
-12
0
0
0
0
0
0
0
33
-41
6
0
0
0
0
0
0
0
0
0
-19
-60
22
-26
-35
-34
24
0
-49
4
-43
0
1
0
0
0
-3
9
-9
45
45
38
-60
-12
-5
30
-26
-15
-5
0
0
0
0
-5
44
22
35
87
-9
63
71
28
32
13
17
25
-3
0
0
0
0
-14
-1
76
-9
102
127
57
54
38
40
-12
1
-16
6
0
0
0
2
10
-1
78
48
-9
5
21
5
-7
-5
0
0
0
0
0
0
0
9
8
15
-46
45
-43
66
-38
-51
-2
0
0
4
0
0
0
0
0
0
3
-48
-29
-26
-9
22
-1
0
0
0
0
0
0
0
0
0
5
0
3
2
-19
8
13
0
4
1
0
-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
12
-14
-34
0
-2
0
0
0
0
0
0
0
0
0
-1
-5
-3
18
12
59
35
-3
0
0
0
0
0
0
0
0
0
4
-6
57
27
18
-2
-29
-4
-2
0
0
0
0
0
0
0
0
-5
3
41
33
51
58
-1
0
0
0
0
0
0
0
0
0
0
0
7
68
25
29
-9
-9
3
0
1
0
0
0
0
0
0
0
0
15
2
34
8
70
12
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
44
43
-2
0
-59
-37
-2
0
0
0
0
0
-2
0
-9
48
48
72
-48
-48
51
-52
-28
0
17
1
0
0
0
0
-6
-9
10
17
140
39
-84
-40
-34
3
9
-8
0
0
0
0
0
0
1
9
7
-2
0
146
13
-47
44
-3
-6
0
0
0
0
0
0
0
8
68
-6
-10
2
-55
9
11
0
0
0
0
0
0
0
0
0
3
16
-7
-56
-124
-59
-103
-10
-24
5
0
0
0
0
0
0
0
0
13
10
68
35
57
-20
61
-29
0
3
0
0
0
0
0
0
0
0
-13
-39
12
8
-4
-15
-4
1
0
0
0
0
0
0
0
0
0
-3
-5
1
-50
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
4
-7
7
-34
0
0
0
0
0
0
0
0
0
27
0
0
4
64
-11
28
-4
-5
0
0
0
0
0
0
0
-5
-32
-69
85
18
43
81
20
-5
5
0
0
0
0
0
0
0
9
42
47
57
22
-21
-9
-14
-2
-5
0
0
0
0
0
0
0
0
71
-23
62
45
-2
28
-10
-16
-34
0
0
0
0
0
0
0
-6
-61
-25
-55
16
61
-14
23
47
-25
0
0
0
0
0
0
0
-4
-37
-7
-95
24
72
-42
4
-6
-2
1
0
0
0
0
0
0
0
-11
-35
-29
48
-7
-4
16
-2
1
0
0
0
0
0
0
0
0
-9
-3
38
-6
-29
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
4
-6
0
1
0
0
0
0
0
0
0
0
0
-32
40
36
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-3
18
-1
-1
0
0
0
0
0
0
0
0
0
0
0
10
-18
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-19
56
-4
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
-37
-45
1
-2
-5
1
-2
0
0
0
0
0
0
0
0
0
0
30
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
81
0
0
-14
6
-7
0
0
0
0
0
0
0
0
0
0
0
93
84
4
32
1
5
4
0
0
0
0
0
0
0
0
0
0
37
18
-58
-10
27
-2
0
8
-1
0
0
0
0
0
0
0
3
-21
-60
62
20
20
-1
-4
-3
-1
0
0
0
0
0
0
0
3
-14
-35
15
-35
-20
0
-4
2
1
0
0
0
0
0
0
0
0
-4
17
12
89
-45
1
2
-1
4
0
0
0
0
0
0
0
0
0
8
-5
57
-2
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
4
30
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-62
0
0
5
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-19
56
90
8
1
0
1
0
0
0
0
0
0
0
0
0
-9
-50
-4
-81
11
15
0
7
0
0
0
0
0
0
0
0
0
-2
-33
102
-62
36
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-34
3
17
5
7
0
6
-3
0
0
0
0
0
0
0
0
0
32
-51
37
-5
9
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-37
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-8
14
10
-5
0
0
0
-12
1
0
0
0
0
0
0
-6
1
49
-7
-20
-49
0
0
0
0
2
0
0
0
0
0
0
-5
4
23
11
-20
27
-13
29
10
1
0
3
0
0
0
0
0
0
-4
-2
-5
-14
4
-31
12
66
30
-5
-6
1
0
0
0
0
0
0
8
-5
-26
-58
-14
13
84
-8
20
0
9
0
0
0
0
0
0
0
-1
-20
-3
38
-10
49
5
3
2
6
2
0
0
0
0
0
0
-1
-5
19
-15
-7
51
-8
16
0
0
0
0
0
0
0
0
0
0
0
7
-5
-11
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
15
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
36
7
0
2
0
0
0
0
0
2
3
3
40
0
0
0
45
44
9
1
0
0
0
0
-1
0
7
58
18
44
12
60
44
1
6
2
-1
0
-1
0
0
0
0
6
27
25
10
127
96
-84
7
4
-8
-4
0
0
0
0
0
0
-6
-13
11
33
-81
121
-45
-16
23
-1
0
0
0
0
0
0
0
0
-34
3
-52
-63
55
53
-39
30
-1
-5
-1
0
0
0
0
0
0
12
41
80
1
4
-28
-49
4
-6
1
-8
0
0
0
0
0
0
0
3
1
22
-23
-83
-42
-18
0
-2
0
0
0
0
0
0
0
0
0
-3
57
27
15
28
7
-4
0
0
0
0
40
48
-17
-18
-68
-5
1
0
0
0
0
0
0
0
0
0
0
-5
18
-9
77
52
40
18
0
0
0
0
0
0
0
0
0
0
50
36
123
-17
32
50
9
-2
0
0
0
0
0
0
0
0
0
-10
-108
107
-24
49
22
9
-5
2
0
0
-1
0
0
0
0
0
-24
-5
7
17
59
12
64
7
-17
-30
0
0
0
-3
0
0
0
0
-8
27
2
-1
43
62
74
-18
29
29
-2
-3
1
0
0
0
0
-5
57
-36
-2
1
68
-38
-2
9
4
61
-22
0
0
0
0
0
1
3
-8
0
0
1
30
-14
-14
11
0
22
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
24
33
41
12
-24
160
0
0
0
19
-2
-8
13
0
0
0
-32
48
-32
-29
68
-54
16
0
0
63
95
32
26
6
0
0
0
23
-46
-41
50
48
-14
-36
63
37
199
74
55
9
-4
-2
0
0
-34
-51
44
-53
82
-47
-17
-51
14
-7
-10
5
-2
-1
-6
1
0
1
16
90
67
32
-24
51
75
74
-88
5
-10
6
0
0
-1
0
0
-4
-73
48
-97
-121
36
-49
-52
-10
-3
-13
-4
1
-2
0
0
0
0
-7
-9
-26
-16
-1
-53
-37
-39
-3
-12
-2
0
-2
0
0
0
0
0
-5
2
0
-1
8
-3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
24
-24
-17
93
60
0
0
49
11
-6
23
0
0
0
0
8
64
-39
46
30
-15
4
-8
50
-42
-64
9
3
0
0
0
0
20
37
28
-64
-18
-83
-23
-60
-13
-58
-52
-41
-7
1
0
0
0
-3
15
6
14
-73
19
15
-90
4
-25
0
-20
1
-2
0
0
0
24
-25
-44
-37
14
11
35
-36
-37
-37
-3
8
-20
2
0
0
0
0
34
0
9
2
-36
-45
-46
-118
-26
72
-22
-38
0
0
0
0
0
0
-25
-5
15
-13
30
-47
5
48
-43
-27
6
0
0
0
0
0
0
6
103
-14
83
0
-25
-52
-2
10
0
0
0
0
0
0
0
0
69
17
11
-20
-1
-9
0
0
0
0
0
0
0
0
0
-33
-37
59
40
-21
6
11
0
0
4
0
0
0
0
0
0
0
-4
-56
44
-28
118
61
8
39
14
0
0
0
0
0
0
0
0
-7
-14
-21
-15
21
30
-26
-38
-14
0
0
0
0
0
0
0
0
4
12
-13
70
-22
-15
29
3
22
0
0
-3
0
0
0
0
0
0
14
-8
8
-17
12
-54
-47
-16
-5
0
2
0
0
0
0
0
0
2
-1
8
-4
-26
11
-35
-46
1
0
7
0
0
0
0
0
0
0
1
0
-7
-11
-4
-24
5
1
0
0
1
1
0
0
0
0
0
0
3
0
-2
-27
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
60
-33
71
105
0
73
22
0
0
0
0
0
0
0
0
0
42
-64
8
-17
35
31
0
-41
-34
1
0
-6
0
1
0
0
0
51
-28
-10
95
-2
116
22
5
-26
-15
0
-1
0
0
0
0
0
46
-44
18
63
-9
-7
-58
-64
5
-7
15
-1
-2
0
0
0
0
5
9
9
-12
-30
25
-78
-13
7
-5
0
-5
0
0
0
0
0
-3
-12
4
-46
58
77
-28
-72
0
4
-2
0
0
0
0
0
0
0
16
29
-19
12
10
-33
-24
5
-10
0
0
0
0
0
0
0
3
0
1
-4
-17
0
-3
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
38
1
-136
78
-24
70
0
0
67
-48
12
-12
-2
0
0
0
-13
6
60
3
22
44
32
0
194
0
29
-14
-12
0
0
0
0
29
33
-20
-22
23
23
51
-50
239
138
-36
-2
-5
0
0
0
0
59
13
-48
-52
97
-86
38
-2
39
54
39
-2
2
2
0
0
0
-1
20
-19
109
-44
-78
-32
-50
5
-42
29
10
1
0
-1
0
0
0
-9
34
34
-50
92
-41
-77
-18
26
-12
-13
0
0
0
0
0
0
0
-5
-2
11
39
-52
-31
-39
25
3
0
0
-1
0
0
0
0
0
0
0
-27
-1
19
-6
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
5
-68
-28
7
5
0
-5
-1
3
-1
0
0
0
0
0
-17
35
0
-84
-63
-45
0
-6
0
0
1
1
0
0
0
0
0
-13
-27
-34
-41
-46
-45
-64
19
-2
0
0
0
0
0
0
0
0
-8
15
1
-6
-5
-20
1
2
-30
9
-6
4
0
0
0
0
0
0
8
-13
-3
-2
-57
-16
40
-14
54
1
0
0
0
0
0
0
0
-3
-14
-24
-11
-53
-42
-24
16
-1
0
3
0
0
0
0
0
0
0
0
22
16
-2
50
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-4
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
-50
-16
1
0
0
0
0
0
-11
-7
0
0
0
0
7
30
3
22
64
-1
70
12
0
-3
29
5
0
0
0
0
0
-29
54
-60
39
-17
56
26
4
60
25
0
0
0
0
0
0
0
-1
-73
27
26
37
117
-76
-46
30
-4
-4
10
0
0
0
0
0
0
-1
28
69
51
52
12
-6
-106
-33
5
5
0
0
0
0
0
0
-2
34
1
-10
45
-5
-26
-66
-96
25
1
0
0
0
0
0
0
5
3
2
2
0
-30
-18
-30
-40
0
0
0
0
0
0
0
0
0
-1
-1
-2
-10
-1
4
-99
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
3
5
-7
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
-81
-6
-51
32
54
19
0
0
0
0
0
0
0
0
0
0
0
1
18
-18
59
-3
32
33
0
0
0
0
0
0
0
0
0
0
-22
-44
20
20
42
88
0
0
0
0
0
0
0
0
0
0
2
1
62
12
-23
11
-51
-1
0
0
0
0
0
0
0
0
0
0
-1
20
-35
-29
68
91
0
0
0
0
0
0
0
0
0
0
0
-15
12
-10
-22
-37
-7
5
0
0
0
0
0
0
0
0
0
0
0
-10
-32
-45
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-7
27
26
-79
5
-26
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
40
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
12
33
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
13
-65
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
7
48
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-79
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-5
0
16
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
7
0
63
78
4
-13
2
0
0
0
0
0
0
0
0
0
-1
0
-23
-33
17
-15
-10
0
0
0
0
0
0
0
0
0
0
0
8
-41
3
33
-7
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
2
-13
-29
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-40
-52
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
74
1
0
0
0
0
0
0
0
0
0
0
0
-2
-9
24
20
-14
-9
0
0
0
0
0
0
0
0
0
0
0
5
8
-3
13
38
6
0
0
0
0
0
0
0
0
0
0
0
13
-45
-13
-27
-1
15
0
0
0
0
0
0
0
0
0
0
0
3
21
-28
-16
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
-44
25
-19
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-68
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-4
-3
-12
0
0
0
0
0
0
0
0
-2
-1
0
0
0
34
5
5
23
-7
0
0
0
0
0
0
0
-5
27
23
-29
-31
3
29
42
3
0
0
0
0
0
0
0
0
-9
25
0
-11
6
17
0
-1
8
1
0
0
0
0
0
0
0
-5
0
-68
-56
22
21
-3
3
13
0
0
0
0
0
0
0
-1
7
7
-29
-19
-32
9
-5
0
1
0
0
0
0
0
0
0
0
0
0
-74
-73
-51
-92
0
-10
0
0
0
0
0
0
0
0
0
0
-12
-93
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
18
-89
0
0
0
40
-7
-29
22
-2
0
0
0
0
0
-3
1
-9
-18
-57
41
46
66
19
-24
14
-34
-2
0
0
0
0
0
0
-3
-14
-26
-32
3
-66
5
31
-12
-31
-1
-4
0
0
0
0
0
-2
-30
-37
-21
56
20
-91
19
10
-27
0
6
0
0
0
0
0
-8
-19
18
43
-22
-51
-48
74
14
-1
0
0
0
0
0
0
2
2
-45
-66
-73
-19
-59
-7
4
0
1
0
0
0
0
0
0
0
-1
-25
20
110
49
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-4
69
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
82
69
74
-19
5
-32
13
0
0
0
0
16
-13
128
3
0
0
47
133
67
33
-22
12
12
0
0
0
0
-2
17
-38
2
64
25
84
61
-31
37
74
7
-3
0
0
0
3
4
1
-21
69
-13
80
32
5
76
0
60
125
127
0
0
0
0
0
7
-44
10
-44
-32
-55
11
7
46
28
79
48
0
0
0
0
0
-7
9
24
15
11
-19
-31
-120
-25
15
47
-1
0
0
0
0
0
0
2
-35
-8
10
-27
106
-35
-23
62
-44
0
0
0
0
0
0
-2
-1
-5
-38
-6
40
36
-29
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-14
0
0
75
37
0
10
42
-32
71
0
0
0
0
0
-14
-6
-81
52
-18
31
54
12
23
34
54
36
0
0
0
0
1
-42
-8
-12
-52
-21
-15
-20
9
56
-17
-43
84
0
0
0
0
-8
8
-47
-59
11
-56
-1
21
-64
17
-65
24
-13
0
0
0
1
0
-7
26
-23
10
13
11
23
-32
-16
-66
28
46
0
0
0
0
-1
-20
-11
-7
-77
-7
34
-55
-12
-64
5
14
9
0
0
0
0
0
-2
4
32
6
48
11
-59
20
-30
-109
9
0
0
0
0
0
0
1
1
22
-30
36
-11
19
-8
-21
-20
4
0
0
0
0
0
0
0
0
0
0
6
-62
28
-59
-35
43
0
0
0
0
0
0
0
0
0
0
0
0
-30
170
84
60
-58
-46
-13
0
0
0
0
0
0
0
0
8
5
16
87
29
36
7
73
38
0
0
0
0
0
0
0
-2
-7
38
-8
2
64
-112
-17
32
33
0
0
0
0
0
0
1
8
-54
-48
30
13
9
-96
-11
-56
5
0
0
0
0
0
0
0
8
4
17
58
39
-25
15
-37
5
-10
0
0
0
0
0
0
0
0
1
-50
23
31
13
-17
-44
-19
0
0
0
0
0
0
0
0
0
-7
13
-56
9
-3
0
76
32
0
0
0
0
0
0
0
0
0
-1
22
8
16
-42
23
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
2
14
0
0
0
0
0
0
0
0
0
5
0
135
90
4
18
-37
0
-26
-66
0
0
0
0
0
0
7
7
-31
11
0
7
30
25
-97
-2
27
0
0
0
0
0
0
0
7
27
32
1
14
13
2
-49
25
-4
0
0
0
0
0
0
1
-4
27
15
46
6
68
8
-49
-17
-24
0
0
0
0
0
0
-3
8
8
-61
7
46
27
-32
10
67
23
0
0
0
0
0
0
0
0
8
25
-37
-50
38
17
-11
58
-22
0
0
0
0
0
0
0
-42
0
-66
3
-45
-9
-76
12
2
0
0
0
0
0
0
0
0
0
2
-24
49
3
51
-12
2
5
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
37
66
0
0
131
83
29
80
-87
22
-2
0
0
0
0
1
-28
31
0
-93
0
43
105
-18
63
84
-7
-2
0
0
-4
0
1
-2
-17
7
9
78
109
58
96
22
59
-24
-11
0
0
0
0
-2
2
14
26
40
49
22
31
38
80
70
-12
158
0
0
0
-6
0
12
-14
-11
-12
-42
31
21
54
52
3
-11
-4
0
0
0
0
1
1
-22
0
47
-47
-105
-84
-19
5
9
26
0
0
0
0
0
0
-6
-9
27
-1
-25
54
-99
26
10
-6
0
0
0
0
0
0
0
0
3
-37
-1
7
-18
-40
3
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
3
-25
-44
33
13
3
0
0
0
0
0
0
4
0
-31
0
-13
1
-47
-22
-16
41
5
0
0
0
0
0
0
-14
24
-25
-13
42
36
21
32
126
43
-1
0
0
0
0
0
1
2
8
31
6
68
-26
6
-27
-20
4
0
0
0
0
0
-2
0
4
-3
12
2
11
-17
80
-4
21
2
2
0
0
0
0
0
0
0
4
-8
-3
-20
-30
-7
20
2
2
0
0
0
0
0
0
0
0
0
0
8
0
-15
6
-3
29
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
26
-51
-43
-55
-64
-16
0
0
0
0
0
2
4
0
0
2
-125
4
10
-72
48
42
-17
0
0
0
0
0
0
0
-55
5
26
26
46
-18
38
48
53
-30
0
0
0
0
0
0
-1
-5
-32
-15
6
77
1
83
10
-57
-19
0
0
0
0
0
-5
-3
24
40
9
47
47
-42
-40
-13
52
-19
0
0
0
0
0
0
0
32
17
-5
18
-25
-6
-2
23
83
-6
0
0
0
0
0
0
0
14
51
1
-6
29
-14
-13
6
12
-2
0
0
0
0
0
0
0
1
40
0
2
-5
8
-50
27
34
6
0
0
0
0
0
0
0
0
0
0
1
-2
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
15
22
13
-44
-41
49
36
-4
0
0
0
0
0
0
-1
2
16
-7
31
-13
43
-27
76
-94
2
0
0
0
0
0
0
0
0
0
-2
18
-45
-10
1
66
-38
2
0
0
0
0
0
0
0
0
0
0
22
62
91
123
-16
58
5
0
0
0
0
0
0
0
0
0
0
-2
-12
-31
-19
12
-14
68
0
0
0
0
0
0
0
0
0
0
-1
-18
-2
-58
44
23
-3
0
0
0
0
0
0
0
0
0
0
5
-22
28
-102
71
49
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
69
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
1
31
-10
24
15
0
0
0
0
0
0
0
0
0
0
0
0
1
7
2
-3
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
66
20
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-20
1
-53
11
-7
6
0
0
0
0
0
0
0
0
3
0
0
-3
-19
21
-12
29
0
0
0
0
0
0
0
0
-1
0
0
-2
-6
81
-29
-39
49
-13
0
0
0
0
0
0
0
0
0
0
-2
14
13
143
-44
46
7
0
0
0
0
0
0
0
0
0
0
2
3
-38
107
-54
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
7
95
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
38
48
35
-15
0
0
0
0
0
0
0
0
0
-1
1
5
-44
96
-1
19
-32
0
0
0
0
0
0
0
0
0
8
0
-2
23
92
54
27
48
-9
0
0
0
0
0
0
0
0
0
0
3
8
-37
100
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
22
49
42
36
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
24
72
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
35
33
-58
20
-31
-8
0
0
0
0
0
0
0
1
0
40
30
-8
-19
-22
15
-30
-41
3
0
0
0
0
0
0
0
0
-12
-8
78
-3
-27
5
4
-8
-4
0
0
0
0
0
0
0
-1
-2
7
12
43
-17
62
-18
-9
2
0
0
0
0
0
0
0
1
13
-8
-6
17
74
-36
16
-29
0
0
0
0
0
0
0
0
8
-7
6
0
21
-33
32
-4
20
-2
0
0
0
0
0
0
0
0
5
3
3
7
-5
6
-24
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
48
18
-16
1
-15
10
-2
0
0
0
0
0
0
-6
0
-19
53
-56
32
-34
114
19
20
10
0
0
0
0
0
0
0
-2
-24
-18
-5
-4
-1
45
-60
-8
17
0
0
0
0
0
0
-1
-2
-2
15
27
5
61
187
67
-44
-3
0
0
0
0
0
0
-5
-2
-2
-32
0
-53
27
14
101
-56
9
0
0
0
0
0
0
0
5
-8
35
0
24
-44
60
17
-70
-1
0
0
0
0
0
0
0
8
-23
13
-5
36
-12
12
-33
28
4
0
0
0
0
0
0
2
1
3
-2
0
0
7
13
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-30
23
-8
0
-22
21
-8
85
81
-5
-6
-2
0
0
-8
3
64
-30
-48
21
27
55
52
-1
102
18
5
53
-8
0
0
0
0
-2
-35
52
-17
1
54
43
-6
106
125
6
-30
-61
0
0
0
0
4
-4
-24
24
-68
-76
23
56
83
111
127
48
-17
0
0
0
1
-3
-8
1
31
34
-30
-23
82
29
24
12
62
0
0
0
0
0
0
0
35
-102
41
-85
-62
-72
87
-62
-78
2
0
0
0
0
0
0
0
-9
6
0
-41
37
-105
-23
14
-21
0
0
0
0
0
0
0
3
0
-8
-9
31
-2
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-47
118
5
0
43
-37
6
-53
45
-8
-9
0
0
0
0
-5
46
28
-31
22
5
-17
17
-56
33
26
-39
59
0
0
0
0
-7
-41
10
15
7
18
32
-1
-32
-70
88
77
63
0
0
0
0
0
37
74
8
-1
41
-85
-89
21
19
69
-68
43
0
0
0
0
-18
-18
4
-11
-100
-45
45
4
-31
-3
-11
8
-44
0
0
0
-1
-12
-60
5
69
-19
24
-4
-32
49
60
-20
10
3
0
0
0
0
-1
7
-23
9
-45
25
23
33
-34
8
57
-48
-1
0
0
0
0
0
0
9
57
33
21
-1
-24
-13
-107
30
-41
0
0
0
0
0
0
0
0
-6
0
13
41
-2
21
13
0
0
0
0
0
0
0
0
-5
-51
-38
80
0
100
-74
45
-33
33
-3
0
0
0
0
-9
15
-3
-20
-71
-2
62
41
15
51
104
-39
-4
0
0
0
0
0
3
30
-22
-58
-50
78
65
-17
-10
-84
36
0
0
0
0
0
-1
14
28
-8
-10
-16
25
79
-54
46
38
20
-4
0
0
0
0
-4
7
126
21
-3
-2
-5
-60
-45
47
-21
9
0
0
0
0
1
-9
-23
45
-6
33
-48
-34
19
-82
9
-51
-26
0
0
0
0
-1
0
41
80
0
-15
34
-40
-75
12
5
-95
0
0
0
0
0
1
-8
-10
-72
8
18
-24
-34
-18
-16
-5
70
1
0
0
0
0
0
-1
44
69
-23
-6
-46
-28
7
-62
-1
5
0
0
0
0
0
0
0
0
4
-7
18
-22
0
15
48
54
25
74
1
0
0
0
0
0
0
-9
0
-8
4
-49
53
72
2
-52
-11
-8
0
0
0
0
0
-17
-12
7
45
26
-1
-3
-65
-15
31
77
3
0
0
0
0
0
-1
-5
-30
-6
-3
-60
-14
-54
20
4
89
2
0
0
0
0
0
1
-4
-36
-37
-67
-7
38
25
-30
-48
66
10
0
0
0
0
0
0
-7
-39
-7
-5
-61
-84
-25
-29
-65
-39
20
0
0
0
0
0
0
-2
31
-33
-12
-25
-61
-30
-41
-47
-16
0
0
0
0
0
0
0
-4
-29
50
-26
7
1
-11
-10
-46
-3
0
0
0
0
0
0
0
0
0
0
0
12
-6
-8
0
-3
0
0
0
0
0
0
0
0
3
3
6
-35
0
87
73
-8
23
4
-102
86
0
0
0
0
0
47
-56
-65
-47
41
-15
16
27
86
21
-26
67
33
0
0
0
3
-5
70
20
-57
-6
49
31
101
24
151
-12
89
58
0
0
0
0
-2
-21
-7
-70
7
59
10
54
-18
77
18
7
50
0
0
0
2
-2
25
103
-78
-45
34
30
-6
84
112
-22
-19
24
0
0
0
0
-7
12
5
-21
-3
-84
3
39
-68
4
-4
-3
0
0
0
0
0
0
-5
9
25
0
-20
-25
-42
-25
23
-16
1
0
0
0
0
0
0
0
-3
-7
-2
-63
-15
-23
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-26
0
-41
17
34
-26
-22
-8
47
29
0
0
0
0
0
0
-1
-5
31
-71
44
-8
-23
16
49
-54
-38
0
0
0
0
0
4
-5
-33
3
-39
28
27
51
41
15
59
-26
0
0
0
0
0
0
-8
48
-38
-129
-43
83
145
-97
83
8
0
0
0
0
0
0
0
-6
-13
13
48
124
51
-4
56
2
3
0
0
0
0
0
0
0
12
-43
42
65
37
-6
32
-20
19
0
0
0
0
0
0
0
0
-2
48
41
-4
44
11
-54
8
0
0
0
0
0
0
0
0
0
1
-8
22
119
8
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
1
0
0
0
0
0
0
0
0
0
0
0
-31
-25
25
0
45
31
12
5
72
-21
-32
3
0
0
0
0
-7
-17
90
-14
-41
66
17
120
29
38
19
17
-1
0
0
0
0
-2
-12
-29
112
74
-41
47
28
64
53
3
-25
1
0
0
0
0
-5
6
-49
19
29
3
72
-56
47
-45
20
70
12
0
0
0
0
0
48
1
-35
-15
-46
29
-16
-9
67
52
28
-20
0
0
0
0
0
-2
-12
-11
-59
-132
61
20
16
27
-50
40
3
0
0
0
0
-4
5
28
-32
-20
-9
-18
17
-11
66
1
-1
0
0
0
0
0
-2
3
7
12
-69
-52
17
13
0
0
0
0
0
0
0
0
0
0
3
3
8
7
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
0
0
52
0
0
0
0
0
0
0
0
0
0
-2
4
16
-11
0
0
54
0
0
0
0
0
0
0
0
0
0
0
-13
-25
-59
-37
-18
120
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-42
49
109
50
8
0
0
0
0
0
0
0
0
0
0
-1
1
-36
-33
0
43
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
37
15
-27
0
0
0
0
0
0
0
0
0
0
0
-1
-17
7
3
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
22
50
-73
37
0
0
0
0
0
0
0
0
0
0
0
-3
1
11
1
55
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
9
-26
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
23
78
13
-92
12
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
74
-6
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
5
58
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
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
-2
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
-1
1
33
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-20
37
115
74
25
0
0
0
0
0
0
0
0
0
0
0
-3
-44
1
-59
36
-17
3
0
0
0
0
0
0
0
0
0
0
0
13
1
-9
-39
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
8
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
72
16
24
-7
0
0
0
0
0
0
0
0
0
0
7
25
20
15
23
3
5
0
0
0
0
0
0
0
0
0
-1
-2
-21
34
16
49
-8
-15
-3
3
0
0
0
0
0
0
0
0
8
-3
38
13
20
-28
-1
4
0
0
0
0
0
0
0
0
0
7
0
-12
0
65
-1
-8
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-43
-4
0
0
0
29
12
3
0
0
0
0
0
0
0
0
0
-1
27
-7
63
84
81
-73
-48
0
-5
0
0
0
0
0
0
0
-2
-10
13
36
89
18
-9
25
-23
25
2
0
0
0
0
0
0
0
0
39
36
-29
-25
-17
24
31
-7
1
0
0
0
0
0
0
0
0
-1
20
-31
24
-8
-32
-13
-24
4
0
0
0
0
0
0
0
0
2
6
-16
4
-6
6
-25
13
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-5
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
22
0
0
0
26
22
49
36
-16
-15
18
0
0
0
0
3
-1
32
14
0
0
122
10
-4
-15
-19
28
56
0
0
0
0
0
0
1
57
-49
-4
159
112
-94
-21
-4
55
39
0
0
0
0
0
0
-19
-93
46
26
40
20
-23
-26
45
51
-5
0
0
0
0
3
0
7
41
11
-33
27
82
50
8
5
32
64
0
0
0
0
0
0
1
-31
10
0
-16
-61
22
7
14
34
21
0
0
0
0
0
0
0
0
0
16
90
42
0
24
24
-24
-1
0
0
0
0
0
0
0
0
-1
8
1
13
-25
41
24
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-54
0
0
16
-10
17
19
76
-43
32
0
0
0
0
5
-26
-40
-65
6
-77
0
14
31
-3
-75
35
78
0
0
0
0
0
-16
51
-8
-41
-21
8
-39
38
11
-9
4
91
0
0
0
0
0
-3
-9
16
56
-25
-3
11
21
-44
-22
-33
68
0
0
0
0
0
18
24
-48
-109
-65
-23
-8
-24
17
-2
129
52
0
0
0
0
0
7
-6
17
6
-81
15
4
2
-7
-19
-36
-4
0
0
0
0
0
3
5
-23
-43
-3
-32
-15
-19
-15
48
13
1
0
0
0
0
0
0
-7
-2
23
68
14
-58
31
-20
-130
24
0
0
0
0
0
0
0
0
2
-10
28
53
67
33
-71
22
0
0
0
0
0
0
0
0
0
-6
0
0
52
-6
23
-84
71
1
11
0
0
0
0
0
0
0
4
-28
46
35
-49
8
-68
13
17
75
0
0
0
0
0
0
-3
-5
13
-60
-19
-1
63
-36
1
-83
-18
0
0
0
0
0
0
0
0
34
3
-1
-12
-50
9
-22
-49
50
0
0
0
0
0
0
0
-8
7
13
26
22
67
-22
-44
9
-17
0
0
0
0
0
0
0
0
-21
30
2
37
-59
-52
-62
-39
-33
0
0
0
0
0
0
0
0
0
6
-36
8
12
5
61
47
14
0
0
0
0
0
0
0
0
0
0
33
25
44
12
3
20
69
0
0
0
0
0
0
0
0
-1
-3
15
3
129
39
22
-69
35
0
0
0
0
0
-1
0
2
0
77
45
-9
22
31
55
-27
-9
0
0
0
0
0
0
-3
18
5
-85
0
-22
51
-29
85
19
34
0
0
0
0
0
0
6
-25
-1
42
65
-19
92
16
70
-36
30
0
0
0
0
0
0
-1
-5
-53
97
-34
66
37
-2
23
17
-52
0
0
0
0
0
0
0
-5
-92
48
-38
17
69
-59
35
27
20
0
0
0
0
0
0
-2
0
-5
-47
28
-19
2
84
17
-4
74
0
0
0
0
0
0
0
0
6
3
28
24
-4
43
183
-14
37
0
0
0
0
0
0
0
-1
8
0
1
0
53
37
39
-15
72
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-40
0
0
0
0
0
0
0
1
2
-28
0
0
94
85
10
-10
24
61
-122
0
0
0
3
-2
-2
46
0
16
0
81
92
75
-34
65
81
-3
0
0
0
-1
-4
-3
44
12
44
109
123
45
58
15
-2
-20
-35
0
0
0
0
0
0
12
-42
90
-9
-22
64
-62
107
9
-16
8
0
0
0
0
0
-1
1
-40
-21
-29
18
32
-38
-24
94
-12
-4
0
0
0
0
0
0
0
-9
-22
-22
20
-81
-59
58
-63
34
2
0
0
0
0
-1
0
3
0
1
-51
-27
36
-82
42
-8
-7
65
0
0
0
0
0
0
0
0
-2
-2
0
42
43
96
24
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
10
24
-3
0
0
0
0
0
0
0
-1
-1
0
-6
43
33
-43
24
86
-1
7
0
0
0
0
0
0
-3
0
-3
0
19
2
34
2
-13
7
0
0
0
0
0
0
0
0
0
-1
-25
12
-70
24
32
58
-8
0
0
0
0
0
0
0
0
-1
-7
20
-48
77
28
29
-27
49
0
0
0
0
0
0
0
0
0
4
2
29
-13
-30
-72
25
-24
-3
0
0
0
0
0
0
0
0
0
-1
42
-15
-40
-103
10
-14
0
0
0
0
0
0
0
0
0
0
-2
-40
-13
-53
-52
95
18
0
0
0
0
0
0
0
0
0
0
0
0
-31
-2
17
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-5
0
0
0
-1
69
23
52
-9
-19
-4
0
0
0
0
0
-6
4
10
0
-1
41
53
27
-24
26
-54
-48
0
0
0
0
0
0
0
-7
4
-13
83
-8
11
-15
-33
-8
-26
0
0
0
0
0
-1
0
43
25
-40
-51
-46
-22
-11
-3
-49
-17
0
0
0
0
0
0
0
29
73
24
-10
52
6
53
-29
-23
-7
0
0
0
0
0
0
0
29
3
8
48
-11
12
-83
13
69
21
0
0
0
0
0
0
-1
0
6
2
27
19
-16
-73
-126
12
32
0
0
0
0
0
0
0
0
0
0
0
-16
68
39
-20
-35
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-57
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
38
31
7
52
41
-60
-13
0
0
0
0
0
0
0
0
4
2
1
-69
-33
-47
86
36
-34
-4
0
0
0
0
0
0
0
0
-2
-12
1
-17
-2
59
55
-11
-27
0
0
0
0
0
0
0
0
-3
0
-9
-71
6
-22
1
27
1
0
0
0
0
0
0
0
0
0
8
-4
16
-107
13
6
48
-32
0
0
0
0
0
0
0
0
0
-1
-6
83
-18
-22
-25
-3
6
0
0
0
0
0
0
0
0
0
0
0
9
42
-41
-22
45
-3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-58
20
-18
-67
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
35
0
70
0
0
0
0
0
0
0
0
0
3
0
2
0
53
14
16
0
0
0
0
0
0
0
0
0
0
0
-41
1
33
-7
17
-16
0
0
0
0
0
0
0
0
0
0
0
1
-2
49
50
60
16
0
0
0
0
0
0
0
0
0
0
0
0
17
33
-41
-28
-18
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-106
44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-45
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-52
-58
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
15
5
-3
47
-22
0
0
0
0
0
0
0
0
0
-5
0
5
-29
-3
15
-16
-22
0
0
0
0
0
0
0
0
0
2
-1
-3
6
-6
121
-19
1
-17
0
0
0
0
0
0
0
0
0
0
-5
-24
-5
46
16
-4
-4
0
0
0
0
0
0
0
0
0
1
-10
0
17
7
40
-9
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
7
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
-49
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
-8
-18
-15
-48
-3
0
0
0
0
0
0
0
0
0
-1
1
40
49
19
0
34
25
-1
0
0
0
0
0
0
0
0
-1
5
5
6
5
-20
34
-48
10
0
0
0
0
0
0
0
0
0
0
3
0
29
-53
7
-4
1
0
0
0
0
0
0
0
0
0
0
0
-12
13
20
55
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-26
3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-41
-15
-25
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
17
-48
2
34
65
12
-10
0
0
0
0
0
0
0
0
3
9
25
-48
-7
20
43
-38
-105
-3
0
0
0
0
0
0
0
-2
21
-19
-33
26
54
17
61
-20
-63
0
0
0
0
0
0
0
0
-2
-11
4
-25
85
70
-57
8
-8
0
0
0
0
0
0
0
0
-16
-27
143
29
-45
-16
-108
-65
23
0
0
0
0
0
0
0
0
-6
-10
-8
42
-11
41
-53
0
8
0
0
0
0
0
0
0
0
0
25
-25
6
-5
-58
18
-32
12
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-13
-7
43
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
21
1
-5
0
0
0
0
0
0
0
1
0
63
34
48
73
61
-68
-24
-8
0
0
0
0
0
0
5
1
-23
-20
-78
-38
-36
43
11
58
34
0
0
0
0
0
0
0
-5
27
4
90
74
35
52
21
46
-25
0
0
0
0
0
0
6
-3
0
-41
50
72
-3
-181
-4
-12
-14
0
0
0
0
0
0
0
-13
47
-9
-4
7
-62
-79
5
18
7
0
0
0
0
0
0
0
0
-2
23
7
6
-11
34
15
-57
35
0
0
0
0
0
0
0
1
5
-3
-50
102
-33
86
-72
-63
37
0
0
0
0
0
0
0
0
4
0
-2
1
-73
-15
9
14
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
47
11
-31
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-39
84
88
0
7
20
70
22
64
-71
-35
-9
0
0
1
5
13
-30
16
13
-17
-19
61
41
65
49
44
-3
-7
0
0
0
-1
33
14
35
46
-10
59
4
-85
20
15
40
34
-6
0
0
0
-1
2
-13
-48
-41
-56
-31
40
46
46
50
96
-49
-6
0
0
0
0
-3
-20
54
43
-67
-24
-7
80
7
-24
44
20
-1
0
0
0
0
0
0
-16
6
17
9
9
-4
-7
19
1
85
3
0
0
0
0
0
0
0
-23
-7
-4
-30
43
-26
-44
-22
94
-4
0
0
0
0
0
0
0
-2
-1
2
12
-17
13
-32
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-96
-56
10
0
-25
-12
-46
6
21
49
24
0
0
0
-1
0
20
13
-20
-55
20
57
-37
-14
61
56
9
-32
0
0
0
0
0
19
-57
26
-20
-7
-37
-49
-34
-14
-4
-23
4
0
0
0
-1
-1
15
48
67
-74
36
21
-16
35
36
34
-47
-26
0
0
0
-1
-2
42
-8
4
-98
-4
12
11
-70
-29
-52
-26
7
0
0
0
0
0
-27
-68
-23
-67
56
-33
-29
47
4
75
4
25
0
0
0
0
-1
-3
-13
-26
-32
-44
-58
-46
1
-3
35
21
13
0
0
0
0
0
-1
-5
-10
-47
42
37
-45
-1
-4
31
72
47
0
0
0
0
0
-1
0
-43
-42
-8
-34
-71
-34
3
14
-34
0
0
0
-1
0
0
0
-8
-49
50
0
50
-43
-21
68
-30
-4
0
0
0
0
0
0
0
3
58
95
-13
1
-20
-13
24
-1
23
0
0
0
0
0
0
0
0
66
-1
50
9
27
9
69
16
21
4
0
0
0
0
0
0
0
27
-19
-41
8
-13
78
86
17
14
0
0
0
0
0
0
0
0
0
-12
-75
-17
10
-41
20
-10
-3
0
0
0
0
0
0
0
0
1
-58
-5
16
-116
36
-32
41
1
0
0
0
0
0
0
0
0
-3
-2
-34
-6
3
53
27
1
13
0
0
0
0
0
0
-1
0
0
1
5
-40
15
16
30
5
0
0
0
0
0
0
0
0
0
0
0
-2
19
-5
25
-15
-1
0
0
0
0
0
0
0
1
11
-31
56
0
158
41
80
-17
103
-2
0
0
0
0
0
0
20
12
59
59
106
55
-48
-10
76
-21
-20
0
0
0
0
0
0
0
63
-6
-16
67
6
-20
53
49
22
-13
0
0
0
0
0
0
0
-22
54
107
61
51
49
-8
-22
-38
44
0
0
0
0
0
0
0
5
12
0
34
-27
28
-24
109
-83
25
0
0
0
0
0
0
5
-1
28
53
-51
-19
7
46
-41
28
1
0
0
0
0
0
0
0
-29
-73
-21
50
-48
14
56
23
8
-2
0
0
0
0
0
0
0
2
-10
-15
61
69
-29
-19
14
48
2
0
0
0
0
0
0
0
0
0
4
0
-5
30
1
-9
0
-1
0
0
0
0
0
0
0
-68
-30
15
0
16
63
32
-7
76
-13
-21
-8
0
0
0
1
-1
-64
-56
23
-1
30
58
-3
55
44
14
-85
-20
0
0
0
-1
3
-86
45
-18
17
57
114
57
39
138
42
99
7
0
0
0
3
-1
30
65
30
-44
-22
79
-8
102
98
-51
102
109
0
0
0
0
4
2
-32
-44
114
-60
-30
17
48
-2
-12
-36
10
0
0
0
0
0
1
-29
-7
-57
10
79
13
-72
2
6
-55
22
0
0
0
0
0
3
2
21
-24
24
-57
23
-19
-40
-10
16
-1
0
0
0
0
0
0
0
0
0
5
32
56
0
-50
-16
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-48
24
33
37
-10
34
-18
-2
0
0
0
0
0
0
7
-46
-14
42
-9
47
29
-43
4
48
-10
0
0
0
0
0
0
0
-8
22
56
11
-60
110
3
-15
-15
3
0
0
0
0
0
0
12
51
-38
42
-57
-8
-32
27
68
4
4
0
0
0
0
0
0
0
-13
-19
29
-116
-26
30
-8
-21
-13
0
0
0
0
0
0
0
0
-15
-9
-65
-2
26
45
-90
18
-72
0
0
0
0
0
0
0
0
0
-40
-18
17
-50
33
14
5
0
2
0
0
0
0
0
0
0
0
0
-41
-3
-4
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
17
28
12
0
-1
40
54
-10
1
-38
-39
-4
0
0
0
0
0
-31
88
36
-3
-37
26
53
18
53
38
16
-31
0
0
0
0
0
3
16
7
27
13
49
59
-3
-17
20
-2
5
0
0
0
0
0
0
93
15
-55
4
-29
52
-10
50
-38
19
4
0
0
0
2
-3
20
21
58
27
-4
29
53
49
28
-53
12
25
0
0
0
0
-3
26
5
31
13
-26
-48
15
-34
-7
-2
17
5
0
0
0
0
0
5
-28
1
-32
30
-4
7
-53
-30
-7
-86
10
0
0
0
0
0
3
6
8
-47
17
-27
2
-5
-12
4
-10
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
-8
1
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
-8
2
-33
20
-28
-90
0
0
0
0
0
0
0
0
0
0
2
0
-86
30
8
31
62
-5
0
0
0
0
0
0
0
0
-1
0
-57
-46
21
92
7
41
0
0
0
0
0
0
0
0
3
-2
-7
19
51
0
7
-13
41
-4
0
0
0
0
0
0
0
-1
-6
23
10
-61
40
13
25
67
-1
0
0
0
0
0
0
0
2
3
-1
-45
32
6
23
66
13
-2
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-28
-14
-48
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
53
-51
-6
0
0
0
0
0
0
0
0
0
0
0
0
4
28
-6
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-10
-21
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
69
24
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-21
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
45
-74
-29
0
0
0
0
0
0
0
0
0
0
0
0
25
17
47
102
22
-6
0
0
0
0
0
0
0
0
0
0
-4
-8
-28
1
34
24
0
0
0
0
0
0
0
0
0
0
1
1
-3
6
-36
-93
-9
0
0
0
0
0
0
0
0
0
0
1
0
-3
-6
-28
-11
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
29
8
0
0
0
0
0
0
0
0
0
-2
-3
0
19
-48
5
-5
13
0
0
0
0
0
0
0
0
0
2
0
0
-44
10
58
14
13
0
0
0
0
0
0
0
0
0
0
1
-32
6
-42
-12
75
9
0
0
0
0
0
0
0
0
0
0
0
16
-45
38
14
71
-3
0
0
0
0
0
0
0
0
0
1
-1
8
-19
-11
0
9
0
0
0
0
0
0
0
0
0
0
0
1
0
25
-51
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-5
-1
0
0
0
0
0
0
0
0
0
-3
-3
-41
-5
71
4
2
2
0
1
0
0
0
0
0
0
0
0
-2
25
7
2
-2
0
32
7
0
0
0
0
0
0
0
0
0
-2
-7
16
-2
6
8
-1
0
0
0
0
0
0
0
0
1
0
-5
12
-4
-44
40
-12
-4
0
6
0
0
0
0
0
0
3
0
0
-7
4
-25
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-3
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
-1
-1
0
1
0
0
0
0
0
-2
-4
0
4
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
0
-7
-7
10
88
56
-13
1
1
25
0
0
0
0
0
-2
0
-1
2
-56
-46
4
-30
41
0
6
-8
0
0
0
0
0
0
0
6
-25
-13
-5
-1
-9
-46
-46
-1
-6
3
0
0
0
0
0
0
1
34
-18
63
-5
1
-42
-25
1
7
1
0
0
0
0
2
0
0
-5
60
103
-3
-13
22
47
-1
0
0
0
0
0
0
-1
0
-3
14
-67
23
-5
3
1
0
0
0
0
0
0
0
0
0
0
-9
-8
0
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
73
56
6
59
-68
8
87
0
0
0
0
0
8
-36
0
0
0
137
21
20
40
57
-13
58
0
0
0
0
0
6
-10
130
188
24
13
15
-17
14
1
-19
20
0
0
0
0
-2
-4
-21
22
-66
57
1
-23
56
84
120
117
16
0
0
0
1
-2
-83
-13
-6
89
-20
41
-4
7
17
49
58
50
0
0
0
0
17
-64
6
46
43
-22
-8
24
52
-35
60
73
8
0
0
0
0
5
-19
-71
-68
30
-16
-76
66
-18
47
3
136
-1
0
0
0
0
-6
-13
-1
10
-2
5
-28
-9
12
-2
16
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
54
0
0
36
39
65
44
23
2
13
0
0
0
0
0
-9
7
0
105
74
36
-1
0
23
-24
-55
48
0
0
0
0
6
-45
24
43
-4
81
54
-2
20
0
-41
-45
-3
0
0
0
0
0
-15
7
111
-80
-11
-1
-23
-45
-43
13
50
145
0
0
0
0
-4
-14
-1
67
2
-104
23
20
-12
56
19
-22
14
0
0
0
-1
-5
-4
0
-76
91
50
0
-20
19
28
55
89
25
0
0
0
1
2
86
34
45
-10
98
-75
25
-38
-19
-28
32
-20
0
0
0
0
0
9
-5
45
48
23
101
99
12
-56
-45
-14
0
0
0
0
0
0
0
1
-1
-1
19
50
-15
25
89
16
0
0
0
0
0
0
0
0
0
0
0
0
29
35
-8
44
16
52
3
0
0
0
0
0
0
0
0
13
2
27
58
60
-4
29
-13
91
0
0
0
0
0
0
0
19
55
13
7
38
-59
3
-4
18
4
0
0
0
0
0
2
-11
-2
11
111
-48
64
111
43
-40
7
24
0
0
0
0
0
-5
0
13
-5
45
77
3
-45
2
28
-41
-9
0
0
0
0
0
1
-20
0
-50
-22
16
8
-37
-5
9
23
0
0
0
0
0
0
4
0
3
-7
-48
53
-30
-22
17
-11
-41
0
0
0
0
0
0
0
0
0
3
-24
3
2
76
47
8
-1
0
0
0
0
0
0
0
0
0
0
0
10
-27
-32
55
-10
-20
0
0
0
0
0
0
0
0
-6
0
-39
30
51
47
20
18
37
23
0
0
0
0
0
0
1
0
-6
39
0
101
15
-66
46
-50
-15
0
0
0
0
0
0
-1
70
-32
-34
-14
-17
-11
16
44
-9
24
0
0
0
0
-1
0
9
-44
-31
24
40
7
15
41
10
4
57
0
0
0
0
0
-5
-8
-11
46
-50
-36
-41
63
45
96
17
51
0
0
0
0
0
0
-4
6
-8
6
-57
141
-7
-82
38
27
-24
0
0
0
0
0
2
0
-8
0
27
-73
-47
110
47
-5
50
0
0
0
0
0
0
0
-2
0
0
41
-19
-27
14
-50
19
8
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
4
10
14
0
0
63
34
-54
32
-9
-7
5
0
0
0
0
4
2
-39
0
-49
0
88
-18
-7
10
57
33
28
0
0
0
0
5
8
4
3
74
68
28
121
78
32
12
40
33
0
0
0
0
10
0
41
-16
-27
-35
16
98
-3
6
58
5
-4
0
0
0
0
0
30
-11
22
-47
-37
-2
29
-63
-16
46
49
5
0
0
0
1
16
3
-48
-12
1
38
-22
7
-45
19
57
32
0
0
0
0
0
-1
-13
-27
4
27
86
8
6
20
29
27
6
0
0
0
0
0
1
0
-2
0
4
21
-22
-19
32
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
0
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
-25
-12
47
18
-1
0
0
0
0
0
0
0
5
3
3
6
9
-31
-4
7
9
-2
0
0
0
0
0
0
-1
4
4
0
-3
62
-24
67
-9
-1
-5
0
0
0
0
0
0
0
0
0
-3
30
7
19
5
42
8
0
0
0
0
0
0
0
0
0
-2
-3
2
-40
0
23
-3
0
0
0
0
0
0
0
0
0
0
1
-24
0
1
12
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-58
-31
-78
13
42
0
0
0
0
0
0
0
0
0
-10
-39
81
10
-2
-63
8
-28
0
0
0
0
0
0
0
5
18
57
25
56
36
23
-11
53
-25
0
0
0
0
0
0
-3
2
-5
-56
-9
-11
-66
63
-4
22
63
0
0
0
0
0
0
0
-40
42
33
-5
-50
-19
69
6
45
55
0
0
0
0
0
0
-7
-14
-2
-5
-112
-13
-40
-36
-5
-48
3
0
0
0
0
0
0
0
6
30
40
-13
-52
-44
-47
45
33
3
0
0
0
0
0
0
0
0
4
-1
2
-17
-48
91
-44
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-7
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
53
91
61
177
-14
15
-22
1
0
0
0
0
0
0
6
1
-7
51
3
23
71
92
-9
60
1
0
0
0
0
0
0
0
14
-23
43
48
135
87
25
-50
-11
1
0
0
0
0
0
0
8
1
-1
40
20
22
-67
59
10
-26
-29
0
0
0
0
0
0
0
6
-1
-4
8
-23
39
-25
-69
-70
-34
0
0
0
0
0
0
0
0
-2
-2
3
3
-14
-29
22
16
7
0
0
0
0
0
0
0
0
0
0
0
-5
-12
34
-96
10
8
0
0
0
0
0
0
0
0
0
0
0
2
-10
-17
27
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-9
-19
91
-7
24
0
0
0
0
0
0
0
0
0
-7
-2
0
-1
8
47
1
24
0
0
0
0
0
0
0
0
0
1
0
-1
1
16
7
-50
42
-8
0
0
0
0
0
0
0
0
0
0
0
-1
8
47
7
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-30
27
37
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
10
-45
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
9
55
0
21
-2
40
0
0
0
0
0
0
0
0
0
-22
41
-5
22
-18
33
-6
-40
4
0
0
0
0
0
0
0
35
-26
16
15
-2
-23
28
11
-53
3
0
0
0
0
0
0
0
0
-3
-1
1
2
-11
15
48
23
13
0
0
0
0
0
0
0
0
0
0
0
7
21
90
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
29
71
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-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
-3
4
-12
-3
69
57
-7
1
0
0
0
0
0
0
-2
0
-40
23
-20
71
-77
30
-17
80
-3
0
0
0
0
0
0
0
0
3
0
1
-10
25
30
-51
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
64
25
16
19
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
26
22
-52
1
0
0
0
0
0
0
0
0
0
0
0
-6
-13
17
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-22
-1
51
-34
-2
1
0
0
0
0
0
0
0
0
35
41
24
-27
-1
16
100
15
4
0
0
0
0
0
0
0
1
15
-16
38
30
-21
-49
33
10
-1
0
0
0
0
0
0
0
3
-1
17
5
-9
11
23
31
0
0
0
0
0
0
0
0
0
0
-3
20
15
-5
30
53
73
8
0
0
0
0
0
0
0
0
0
-5
0
-2
-6
46
-3
1
-14
0
0
0
0
0
0
0
0
-1
0
0
0
-20
85
-1
13
0
1
0
0
0
0
0
0
0
0
-6
-2
2
2
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-11
105
-29
3
-51
-4
0
0
0
0
0
0
0
0
-33
66
16
97
87
15
-31
22
-36
0
0
0
0
0
0
0
-1
13
15
-10
88
-44
29
46
57
3
0
0
0
0
0
0
0
2
1
10
49
-24
-35
73
16
-49
-32
0
0
0
0
0
0
0
-6
18
23
-36
-21
-23
10
-33
-2
-11
0
0
0
0
0
0
0
0
14
23
-68
61
-32
-12
-25
-7
-64
0
0
0
0
0
0
1
4
17
-8
9
40
16
-10
63
17
21
0
0
0
0
0
0
0
0
0
0
-2
-2
1
41
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
75
31
0
18
15
-67
95
19
12
-41
10
0
0
0
0
6
-52
-54
-5
154
91
44
61
63
32
15
38
29
0
0
0
0
-5
-14
-3
-35
82
7
92
-11
65
64
-8
82
-24
0
0
0
0
-2
10
-33
-36
56
96
51
-30
1
-27
-4
69
22
0
0
0
0
7
-1
-44
22
-1
-34
-20
26
52
8
11
-32
-7
0
0
0
0
0
-9
43
-28
10
2
-27
73
1
-15
3
-5
0
0
0
0
0
0
0
-9
-2
-41
29
52
42
-19
9
-1
0
0
0
0
0
0
0
-1
0
1
18
6
-5
-12
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
5
0
0
0
0
0
0
0
0
0
0
-2
21
1
62
0
51
-17
54
-8
-16
97
-53
0
0
0
0
2
28
-50
10
28
68
-44
8
58
-14
33
19
26
0
0
0
0
-2
43
-52
45
-30
-14
-19
-3
60
4
-18
11
61
0
0
0
0
8
-10
-11
-56
7
18
-2
-65
5
-21
-57
81
-32
0
0
0
-13
-2
-23
28
70
-56
-12
-27
13
8
-11
-37
15
21
0
0
0
14
7
13
-84
79
-13
38
-27
31
-31
-2
-49
23
-8
0
0
0
0
-43
4
38
60
53
4
-15
6
-69
-29
-14
7
3
0
0
0
0
-2
0
-16
-61
56
1
0
0
28
18
-12
-40
-6
0
0
0
0
0
-12
6
17
-76
105
77
77
33
58
-9
0
0
0
0
0
0
0
0
-10
32
64
0
27
6
18
49
-41
30
0
0
0
0
3
-27
5
-22
34
0
-63
-91
131
-22
-49
-27
13
-1
0
0
0
0
15
-21
-79
1
9
73
48
37
120
-12
-32
-6
3
0
0
0
0
-32
-42
-2
-87
48
51
41
59
29
34
-21
2
1
0
0
0
0
-2
0
-7
9
-9
-33
-27
-22
-7
21
-2
8
0
0
0
1
14
0
27
-43
-18
-51
-63
-51
91
-94
-55
34
0
0
0
0
-4
0
-56
-72
-16
28
-36
0
-2
3
21
-26
10
-19
0
0
0
0
-8
-12
-57
7
15
57
20
5
115
-72
5
0
0
1
0
0
19
10
26
-23
0
-36
44
29
18
16
3
-6
0
0
0
0
0
0
0
0
2
13
96
-66
0
64
104
-15
7
-12
1
0
0
0
0
0
0
-16
-20
28
0
-23
54
55
74
80
-83
-40
0
0
0
0
0
2
0
5
9
-7
-28
-81
103
-27
64
8
-2
0
0
0
0
0
2
1
1
1
-7
40
28
9
74
0
0
-4
0
0
0
0
0
-2
0
-17
-30
-49
8
28
-66
-7
-27
-9
-3
0
0
0
0
0
0
34
-25
-27
33
-15
-6
-11
-98
41
-4
-1
0
0
0
0
0
9
-8
-41
-10
-12
15
3
63
-15
15
-2
-3
0
0
0
0
-1
0
-6
-34
-25
-56
27
105
-40
3
-5
3
0
0
0
0
0
0
0
0
0
0
0
-30
-1
-36
2
0
0
0
0
0
0
0
0
0
0
0
53
24
0
-42
34
-49
99
-9
-7
-1
-26
0
0
0
0
-6
28
88
0
92
174
44
109
-89
57
64
-51
-27
0
0
0
0
-2
12
22
8
54
11
-17
48
77
85
46
52
-20
0
0
0
0
0
2
77
93
-51
3
-5
-49
-2
39
61
17
24
0
0
0
-2
0
-24
-23
42
-66
-21
25
-57
-25
105
-47
4
1
0
0
0
0
2
9
-12
26
80
-50
-62
35
55
16
6
10
0
0
0
0
-3
-6
-3
21
-38
-55
-54
-30
-16
44
-27
36
-4
0
0
0
0
0
0
0
0
-5
4
-18
-12
10
-22
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
28
-34
50
-7
-22
-17
5
0
0
0
0
0
0
-3
0
-31
-54
-14
89
9
-4
-1
41
1
0
0
0
0
0
0
0
-6
-12
-9
55
41
-77
-10
34
-68
25
0
0
0
0
0
0
0
-29
25
17
113
-53
-13
46
-53
-23
-29
0
0
0
0
0
0
-1
4
38
64
4
62
-83
38
6
8
0
0
0
0
0
0
-2
1
-23
-2
-2
42
126
51
45
-8
-5
0
0
0
0
0
0
0
0
-13
56
1
7
36
-30
2
-2
-5
0
0
0
0
0
0
0
0
0
-4
38
6
-3
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
15
28
0
56
7
88
4
-21
9
16
33
0
0
0
0
0
-2
4
0
48
102
-72
0
9
12
-49
20
32
0
0
0
0
0
0
0
-91
52
-8
47
-25
23
46
-31
19
63
0
0
0
0
0
0
5
-75
37
33
22
50
-62
44
-3
8
-41
0
0
0
0
0
-16
-45
-21
-7
-58
-58
10
-3
44
-88
74
10
0
0
0
0
0
25
30
-72
55
29
44
4
76
-3
97
45
-10
0
0
0
0
-1
-18
23
9
-27
-34
49
-46
74
-5
7
-16
-1
0
0
0
0
1
1
-60
40
115
18
-47
24
-4
-8
2
1
0
0
0
0
0
0
0
0
-3
-5
9
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
3
2
-32
0
0
30
0
0
0
0
0
0
0
0
0
-3
0
1
12
-46
1
60
49
1
0
0
0
0
0
0
0
0
0
3
0
1
47
67
-58
116
0
0
0
0
0
0
0
0
0
0
-1
0
8
29
10
-13
-9
8
0
0
0
0
0
0
0
0
0
0
0
-2
23
-15
-14
27
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
80
-22
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
5
-28
-19
183
31
0
0
0
0
0
0
0
0
0
0
0
0
0
16
35
128
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
47
26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
18
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-8
68
24
10
9
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
28
28
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-36
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
7
0
-30
3
0
0
0
0
0
0
0
0
0
1
1
-6
0
31
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
14
31
24
-3
-3
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-5
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-5
31
1
-8
1
1
0
0
0
0
0
0
-3
12
-32
5
29
-3
0
-22
13
-18
1
3
0
0
0
0
0
0
-1
5
10
-5
62
-27
22
-14
-8
3
0
0
0
0
0
0
0
0
5
1
24
1
-27
-1
4
-5
-3
0
0
0
0
0
0
0
0
1
6
-5
3
-45
3
4
12
10
0
0
0
0
0
0
0
0
0
0
3
5
-5
-19
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
3
55
-52
-1
42
54
31
0
0
0
-1
0
0
11
38
0
0
53
-18
31
26
46
-88
74
0
0
0
0
0
-3
-13
-39
1
57
190
94
-45
43
14
40
12
0
0
0
0
0
-1
0
46
74
73
167
89
-33
-19
-2
28
64
0
0
0
0
0
0
-1
1
-72
-35
47
-22
-14
71
-26
-18
-4
0
0
0
0
0
0
0
-5
-3
-32
2
63
-26
17
-47
47
-5
0
0
0
0
0
0
0
-2
-6
-1
52
30
-136
-15
15
63
-5
0
0
0
0
0
0
0
0
0
0
0
-4
1
28
-8
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
10
-33
0
0
-41
-15
-69
8
87
17
-13
0
0
0
1
3
-1
-43
-32
9
37
-15
25
0
-4
52
53
68
0
0
0
0
-1
4
24
28
-4
10
-29
8
-1
10
-16
79
55
0
0
0
0
2
-10
27
-23
-111
-58
-4
-38
42
-20
10
10
76
0
0
0
0
0
-5
19
72
-59
-19
19
-62
-21
-29
-40
-30
42
0
0
0
0
0
3
-35
10
-38
60
4
-104
29
-24
17
-3
-2
0
0
0
0
0
-8
8
-15
-15
39
-15
50
-2
27
49
-34
46
0
0
0
0
0
0
7
-3
-1
20
7
-34
19
-11
-116
-10
24
0
0
0
0
0
0
1
0
-4
0
2
14
8
21
40
5
0
0
0
0
0
0
-1
0
0
0
0
108
27
-28
-31
31
53
-12
0
0
0
0
0
0
0
0
22
-23
41
-56
64
-33
38
-5
24
0
0
0
0
0
0
-1
-1
4
-34
-6
-34
128
-57
57
-11
103
0
0
0
0
0
0
0
0
1
35
50
19
-23
20
98
-1
34
0
0
0
0
0
0
1
0
-26
-9
39
-86
-21
27
-6
-73
-9
0
0
0
0
0
0
0
0
2
4
-24
44
58
-6
58
12
54
0
0
0
0
0
0
0
-1
0
5
-23
-11
47
25
9
-51
-28
0
0
0
0
0
0
0
0
0
4
0
39
79
58
9
48
43
0
0
0
0
0
0
0
0
0
5
15
48
-47
-27
-48
23
31
0
0
0
0
0
0
0
3
0
96
115
81
37
67
50
3
19
0
0
0
0
0
0
0
5
23
136
0
48
3
17
-20
37
-19
0
0
0
0
0
0
0
-2
61
68
2
-6
-19
23
-7
47
44
0
0
0
0
0
0
-10
0
55
-9
28
99
47
26
4
9
12
0
0
0
0
0
0
0
0
29
9
16
-3
84
-23
-63
10
-37
0
0
0
0
0
0
0
0
-7
-16
3
-7
-4
-65
-6
41
36
0
0
0
0
0
0
0
0
-3
4
-8
-37
68
66
-41
-18
-18
0
0
0
0
0
0
0
0
0
0
8
18
22
-35
69
1
55
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
37
0
0
0
0
0
0
0
5
33
-8
0
0
-3
68
-14
41
-47
-37
-8
0
0
0
3
-2
-7
-11
0
83
0
9
7
52
27
50
97
39
0
0
0
0
-2
4
-67
-52
66
-69
11
83
53
73
-41
-11
-8
0
0
0
0
0
1
0
2
56
77
16
85
48
69
37
-11
-17
0
0
0
0
0
0
-2
-4
15
7
47
-53
5
86
-33
-76
-5
0
0
0
0
0
0
1
7
-57
44
13
57
16
163
53
19
-6
0
0
0
0
0
0
1
1
-7
-2
-50
-11
-7
-51
-21
-6
-13
0
0
0
0
0
0
0
0
0
0
0
-3
-7
3
32
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-9
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
-10
29
5
42
2
-20
0
0
0
0
0
0
0
0
0
-3
0
4
21
-2
21
-13
8
-1
0
0
0
0
0
0
0
0
0
8
-33
74
16
15
-10
5
0
0
0
0
0
0
0
0
0
0
-3
5
42
37
29
1
8
-2
0
0
0
0
0
0
0
0
0
2
-1
5
-30
43
-14
1
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-2
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
56
44
5
7
76
35
0
0
0
0
0
0
-1
2
0
3
18
9
79
-32
-30
-4
23
0
0
0
0
0
0
0
-2
0
9
33
-1
-25
24
-23
-77
48
0
0
0
0
0
0
4
-2
-7
-20
95
44
-41
-21
10
46
11
0
0
0
0
0
0
0
5
24
-9
84
-13
45
-25
-64
85
44
0
0
0
0
0
0
0
-1
0
0
40
4
39
5
-51
-86
29
0
0
0
0
0
0
0
0
0
12
8
-29
28
99
-22
-76
-24
0
0
0
0
0
0
0
0
0
4
-2
-2
-5
-19
13
-33
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
33
-8
11
54
-85
41
47
19
0
0
0
0
0
0
-4
18
-10
2
-33
52
-10
-99
126
-29
5
0
0
0
0
0
0
0
10
0
52
36
26
67
43
-7
38
-57
0
0
0
0
0
0
0
-3
1
57
-36
-18
46
-31
-79
-23
84
0
0
0
0
0
0
0
0
6
1
2
-50
30
79
5
12
68
0
0
0
0
0
0
0
0
1
0
-1
5
-30
-21
-43
44
-25
0
0
0
0
0
0
0
0
0
-2
0
-4
-12
-50
-77
-14
33
0
0
0
0
0
0
0
0
0
0
0
-5
-8
3
16
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
29
14
0
0
0
0
0
0
0
0
0
0
0
15
-2
62
-69
-4
0
0
0
0
0
0
0
0
-2
-6
0
-28
12
43
10
-18
-14
4
0
0
0
0
0
0
0
0
0
0
0
2
16
46
45
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
46
-35
0
0
0
0
0
0
0
0
0
0
0
0
-2
52
-8
14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
46
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-9
42
31
31
-7
-23
3
0
0
0
0
0
0
0
0
-4
10
0
32
10
32
31
-70
-37
3
0
0
0
0
0
0
0
1
-2
8
-1
-23
-15
-38
0
65
2
0
0
0
0
0
0
0
0
-4
0
-6
0
82
20
19
-25
4
0
0
0
0
0
0
0
0
0
0
0
6
69
47
71
41
3
0
0
0
0
0
0
0
0
0
0
0
-1
11
-39
-21
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-25
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
60
10
49
-15
0
0
0
0
0
0
0
0
0
0
0
45
-38
-29
41
51
-56
41
0
0
0
0
0
0
0
1
0
0
0
18
-7
-37
-36
33
9
0
0
0
0
0
0
0
0
0
0
2
4
58
-65
9
-53
21
0
0
0
0
0
0
0
0
0
0
0
0
-13
49
96
121
8
0
0
0
0
0
0
0
0
0
0
0
0
7
-56
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
-13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
0
62
39
-45
25
-12
-3
25
0
0
0
0
0
0
0
-3
29
60
2
-24
39
45
-6
41
46
-7
0
0
0
0
0
0
0
-1
24
-21
-40
8
-37
25
1
-3
3
0
0
0
0
0
0
0
-2
2
72
29
14
8
25
-66
-26
2
0
0
0
0
0
0
0
0
-2
-2
-3
92
50
32
51
13
20
0
0
0
0
0
0
0
0
0
-1
-6
-13
48
44
-35
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
48
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
13
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
0
0
0
0
0
0
0
1
0
5
-5
-16
29
12
-48
-4
29
0
0
0
0
0
0
0
0
46
8
5
85
66
-26
-34
-50
37
0
0
0
0
0
0
0
-4
6
22
73
58
60
-1
-46
-48
-53
0
0
0
0
0
0
0
0
2
-18
24
46
-7
-37
36
29
29
0
0
0
0
0
0
0
0
4
-12
-38
-7
36
23
-45
85
69
0
0
0
0
0
0
0
0
0
0
-1
8
-22
29
10
87
63
0
0
0
0
0
0
0
0
0
0
0
-4
-19
7
39
-15
-38
0
0
0
0
0
0
0
0
0
0
0
8
-2
35
-29
-41
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
4
41
-55
28
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-62
-74
1
0
43
59
73
25
-29
52
-80
48
0
0
0
2
2
-18
-55
-35
36
95
72
128
-41
-59
18
22
-13
0
0
0
0
7
2
-47
-49
109
29
-8
91
115
-29
-8
-109
1
0
0
0
0
0
3
-39
-38
-5
15
4
-14
-28
-27
53
-74
2
0
0
0
0
0
6
-3
7
-2
27
-31
24
30
80
4
56
7
0
0
0
0
0
0
0
16
12
-48
-30
-44
-27
-23
10
-22
5
0
0
0
0
0
0
0
-2
0
12
7
2
-32
22
-80
11
-6
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
-20
-34
-125
-9
0
34
31
36
-15
-35
-48
-17
0
0
0
0
-5
5
9
-18
-46
-49
-37
-8
34
35
4
-30
22
0
0
0
0
0
2
-47
9
-3
-36
-74
-43
-28
-91
44
-6
-69
0
0
0
0
0
22
-52
51
29
-96
-82
-2
40
-26
23
16
47
0
0
0
0
0
5
9
32
38
83
-70
19
-7
-8
-92
61
-87
0
0
0
0
0
-1
0
17
-18
-39
55
-53
-46
-29
54
-36
-20
0
0
0
0
0
0
15
-2
-33
-51
-82
-69
-22
-28
6
4
4
0
0
0
0
0
1
0
0
-36
17
-77
20
-9
6
-20
-34
-75
0
0
0
0
0
0
0
0
0
41
20
-19
-20
-32
0
0
0
0
0
0
-1
32
30
42
54
49
0
32
42
6
80
-25
29
0
0
0
0
0
0
0
5
27
-89
57
5
-39
40
-22
113
-4
3
0
0
0
0
0
0
0
22
14
37
9
12
-21
17
-17
-40
-2
0
0
0
0
0
0
-4
0
73
72
0
-28
64
56
-14
-23
0
0
0
0
0
0
0
0
-1
-8
-6
7
-20
-27
-91
-35
23
1
0
0
0
0
0
0
0
0
0
0
1
-12
11
-16
-33
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
-5
-1
-53
0
0
0
0
0
0
0
0
0
0
10
0
6
22
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-6
21
-48
0
-25
-13
71
-6
1
30
0
0
0
0
0
0
1
25
-7
-23
33
19
18
30
59
31
-41
0
0
0
0
0
0
2
-4
50
83
10
-24
-12
34
-17
64
-18
0
0
0
0
0
0
0
0
-5
-20
60
7
-44
21
28
57
42
0
0
0
0
0
0
0
0
-5
9
-8
-18
-58
-6
33
-4
8
0
0
0
0
0
0
0
0
1
-5
-11
-60
-29
-29
-82
-48
-7
0
0
0
0
0
0
0
0
0
-30
-21
-20
-3
27
-18
-3
1
0
0
0
0
0
0
0
0
0
3
-2
-8
0
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
10
-19
-52
0
64
27
28
-25
-14
-50
-91
38
0
0
0
0
0
102
16
70
126
39
52
94
-12
26
36
42
44
0
0
0
0
0
9
-5
-61
-3
88
73
60
-46
-25
-43
33
-49
0
0
0
0
0
0
-6
36
-27
-1
-83
29
-23
-88
15
-72
-47
0
0
0
0
0
0
0
-43
63
20
30
-53
0
47
-41
-46
66
0
0
0
0
0
0
0
-1
-24
45
-2
-68
6
-76
-13
68
-3
0
0
0
0
0
0
0
0
3
-5
5
-18
-11
-41
-20
-23
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
13
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
-2
-29
0
7
-23
-28
19
-25
-25
-19
0
0
0
0
0
0
0
0
2
-37
-25
-9
17
38
7
-16
39
4
0
0
0
0
0
0
-5
6
62
12
43
6
123
-16
27
-45
-23
0
0
0
0
0
0
4
-11
-40
113
30
-46
16
-2
5
-32
12
0
0
0
0
0
0
0
4
0
-7
15
-46
13
3
-8
29
-5
0
0
0
0
0
0
0
0
2
-20
7
6
19
-49
38
-9
0
0
0
0
0
0
0
0
0
0
-1
-5
12
-6
-3
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
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
-4
22
0
17
-30
-43
19
-20
-41
31
51
0
0
0
0
0
0
41
5
30
41
6
88
50
5
76
-12
15
0
0
0
0
0
0
25
-3
29
20
84
119
-48
13
-76
-5
7
0
0
0
0
0
0
-1
-29
-32
100
56
118
-16
52
14
19
-26
0
0
0
0
0
0
-1
19
-6
41
54
-23
16
-25
-15
-3
-12
0
0
0
0
0
0
0
-12
53
19
44
18
-57
-5
19
-55
72
0
0
0
0
0
0
0
2
12
30
10
-1
29
-23
-76
-2
31
0
0
0
0
0
0
0
0
-4
0
0
-2
-5
12
-24
-48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
9
2
7
2
-1
0
0
0
0
0
0
0
0
0
0
8
8
-18
-6
-4
0
0
2
0
0
0
0
0
0
0
0
1
23
-46
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
19
3
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
-22
-48
36
3
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
2
5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-34
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
1
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
4
0
-2
8
0
0
0
0
0
0
0
0
0
-1
-3
-7
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
5
-6
0
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
14
-9
-25
-26
60
0
9
6
-2
0
0
0
0
0
0
-3
-33
-26
-19
-24
5
56
100
130
17
0
0
0
1
0
0
0
3
-1
-24
0
-50
10
-37
-114
18
11
6
0
0
0
0
0
0
20
-2
10
9
-2
28
-7
-21
-17
3
1
0
0
0
0
0
-1
2
0
-16
-7
-7
13
-3
-5
9
0
0
0
0
0
0
0
0
2
-19
-29
-2
-17
23
10
-2
1
0
0
0
0
0
0
0
0
-1
1
2
-7
-25
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
7
37
-9
-10
0
25
-4
2
0
0
0
0
0
0
-2
-25
22
0
-66
64
-101
48
-50
40
56
18
2
0
0
0
0
-6
-7
-26
-40
-76
-56
-3
85
50
22
15
-3
-1
0
0
0
0
-13
1
53
93
-26
40
4
21
-28
24
5
2
0
0
0
0
0
2
-6
-3
-72
-5
60
23
13
-2
13
-14
-1
0
0
0
0
0
0
16
-12
126
64
40
10
-42
-3
8
16
0
0
0
0
0
0
0
12
25
-76
15
-86
-4
13
16
13
-2
0
0
0
0
0
0
0
-3
5
91
32
-29
-39
-6
4
-3
0
0
0
0
0
0
0
0
0
-1
-1
-9
9
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-7
-19
0
-1
-24
-5
0
0
0
0
0
0
0
-1
0
10
-24
8
-24
-11
10
0
-3
0
0
0
0
0
0
0
0
7
-9
12
-24
4
16
5
0
-1
1
0
0
0
0
0
0
1
0
3
5
4
-4
-1
-17
0
0
0
0
0
0
0
0
0
0
-1
1
0
-8
6
8
0
0
2
0
0
0
0
0
0
0
0
2
1
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
-13
-11
-27
0
45
12
16
-1
0
0
0
0
0
0
-1
4
-29
4
-25
33
68
50
-41
8
-2
0
0
0
0
0
0
1
7
43
-9
-21
-38
3
-12
0
1
0
0
0
0
0
0
0
4
-7
-2
22
-51
-10
-13
2
2
0
0
0
0
0
0
0
0
-7
1
-40
9
9
13
5
3
0
0
0
0
0
0
0
0
0
0
-1
25
-31
-19
-2
3
7
0
1
0
0
0
0
0
0
0
0
0
12
0
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
41
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-19
-20
-2
-9
47
0
44
-2
0
0
0
0
0
0
0
6
1
17
1
-2
-44
-10
47
71
-5
0
0
0
0
0
0
8
2
16
-10
13
5
19
28
-3
-40
38
1
0
0
0
0
0
-5
-8
23
-7
-24
-9
-17
1
-29
-1
-2
0
0
0
0
0
0
0
3
-4
8
40
8
8
-6
7
3
0
0
0
0
0
0
0
0
0
7
-3
-7
5
7
24
0
4
1
0
0
0
0
0
0
3
-1
3
1
-14
10
-2
12
0
1
-1
0
0
0
0
0
0
0
0
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
-1
-1
3
-1
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
2
0
0
0
0
0
0
0
0
0
0
1
2
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
-1
-2
-1
0
0
0
0
0
0
-1
0
0
-1
9
0
11
-3
20
-13
3
0
0
0
0
0
0
1
0
-1
-1
-3
2
4
1
1
0
-1
0
0
0
0
0
0
0
0
-5
-1
-4
14
-22
25
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-4
-1
7
18
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-10
-9
1
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
10
37
-15
24
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-43
21
13
7
0
0
0
0
0
0
0
0
0
0
0
0
2
28
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
9
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
17
-20
-3
2
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
5
-8
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
5
-4
-11
8
-25
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
-25
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
3
39
-6
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
32
1
5
-4
-1
0
0
0
0
0
0
0
0
0
0
4
7
41
27
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-22
1
0
0
0
0
0
0
0
1
1
0
0
8
16
4
-44
2
4
0
0
0
0
0
0
0
0
0
0
0
8
21
10
-23
0
0
0
0
0
0
0
0
0
0
0
-1
4
-9
20
-8
13
0
0
0
0
0
0
0
0
0
0
0
-2
23
-3
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
14
20
3
-12
0
0
0
0
0
0
0
0
0
0
0
-5
-3
23
-21
32
35
17
0
0
0
0
0
0
0
0
0
0
-17
-22
20
-1
-29
-13
-2
6
0
0
0
0
0
0
0
0
0
25
9
-19
17
8
-1
-31
23
1
0
0
0
0
0
0
0
0
41
-16
-21
11
13
-15
2
14
1
-1
0
0
0
0
0
0
0
22
-12
17
4
-15
-9
12
2
2
0
0
0
0
0
0
0
0
7
0
35
8
0
15
-3
2
0
0
0
0
0
0
0
0
0
-1
7
-32
8
0
6
-1
0
2
0
0
0
0
0
0
0
0
0
0
-1
8
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
18
12
30
-16
0
40
0
0
0
-4
2
0
0
0
0
0
-4
1
-49
98
35
-4
-8
0
0
69
11
3
0
0
0
0
0
14
37
17
26
-12
21
11
22
20
8
-9
-1
0
0
0
0
0
-7
-31
-41
-7
-7
8
-1
-21
70
0
8
0
0
0
0
0
0
3
-34
-6
-4
19
1
-2
1
-12
-7
0
0
0
0
0
0
0
1
14
-5
-35
-7
25
-4
8
7
-2
0
0
0
0
0
0
0
0
9
-8
8
43
22
0
-3
-5
0
0
0
0
0
0
0
0
0
0
-2
1
-2
1
0
0
1
0
0
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
30
-67
30
35
3
0
0
-29
-5
2
0
0
0
0
0
-2
-2
-44
-66
-5
12
49
-13
28
21
21
-1
0
0
0
0
0
7
-13
-47
-6
46
1
-50
-49
-26
16
8
-1
0
0
0
0
0
-5
-13
14
0
26
-15
-23
4
-16
41
20
0
0
0
0
0
0
-4
-14
63
-72
-10
91
2
-1
7
3
4
0
0
0
0
0
0
4
8
2
-55
-14
4
32
14
-1
5
1
0
0
0
0
0
0
8
-15
-46
-10
20
56
-37
18
-38
8
0
0
0
0
0
0
0
0
-22
35
11
-23
25
45
14
4
1
0
0
0
0
0
0
0
0
0
-65
-39
16
14
-3
-3
1
0
0
0
0
0
0
0
0
16
4
4
-25
8
-7
-5
0
0
-1
0
0
0
0
0
0
0
5
22
-18
-19
-28
8
22
8
-1
0
0
0
0
0
0
0
0
-2
2
-13
-19
19
9
-4
-5
0
0
0
0
0
0
0
0
0
27
25
-34
15
6
5
-14
-10
7
0
0
0
0
0
0
0
0
19
8
1
4
13
-20
-12
4
-7
-1
0
0
0
0
0
0
0
-42
28
-33
8
-10
-6
1
-3
5
0
0
0
0
0
0
0
0
-13
15
-5
-12
-39
26
0
1
0
0
0
0
0
0
0
0
0
29
-30
16
40
-22
19
-1
0
0
0
0
0
0
0
0
0
0
-23
39
16
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
-33
34
26
-3
39
-71
0
0
0
0
0
0
0
0
0
-7
2
-43
-4
55
-12
0
18
-2
5
0
0
0
0
0
0
0
7
-7
-13
-13
-19
13
54
11
-12
1
0
0
0
0
0
0
0
0
7
13
-3
-10
42
22
-23
-8
0
0
0
0
0
0
0
0
-16
-9
5
40
-2
-8
19
-8
0
0
0
0
0
0
0
0
0
-5
-12
-41
17
0
0
8
0
-1
0
0
0
0
0
0
0
0
29
5
49
-2
-12
-5
12
2
-1
0
0
0
0
0
0
0
0
37
-12
5
1
14
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-11
5
-10
-6
8
0
0
-3
-7
1
0
0
0
0
0
8
25
-10
-18
-18
-48
18
0
14
0
10
3
0
0
0
0
0
-4
-27
5
52
-37
-7
19
27
40
-28
-12
22
-1
0
0
0
0
-10
-41
-5
-23
-9
-50
-24
29
25
-12
24
0
0
0
0
0
0
-3
-19
-11
2
-6
-7
-9
16
29
-3
6
0
0
0
0
0
0
3
8
29
20
50
1
1
1
0
0
0
1
0
0
0
0
0
0
-4
-16
0
-8
2
12
0
4
0
0
0
0
0
0
0
0
0
-6
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
-2
-10
5
8
0
-23
0
1
2
0
0
0
0
0
0
0
-1
-1
2
-3
-1
5
8
-31
-2
0
0
0
0
0
0
0
0
0
1
14
-10
67
17
-2
4
0
0
0
0
0
0
0
-1
-1
2
-1
-8
1
-1
6
0
0
0
0
0
0
0
0
0
0
-1
5
0
14
10
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-84
13
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
35
-1
5
10
10
6
0
33
3
0
0
0
0
0
0
0
-4
-16
6
-13
0
-2
10
0
-8
-1
0
0
0
0
0
0
0
3
1
20
17
0
1
4
1
19
0
0
0
0
0
0
0
0
-23
2
8
15
3
-1
-13
-31
-3
0
0
0
0
0
0
0
0
8
-13
-2
-7
-1
5
-8
14
0
0
0
0
0
0
0
0
0
-24
-20
18
3
-9
5
0
14
-1
0
0
0
0
0
0
0
0
5
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-5
-8
1
0
-1
0
0
0
0
0
0
0
0
0
1
-9
9
9
4
7
9
0
-1
0
0
0
0
0
0
0
0
-1
-13
10
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-34
6
9
-5
1
0
0
0
0
0
0
0
0
0
0
0
-5
43
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
0
8
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
30
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-8
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-6
-8
1
-3
4
-4
1
2
0
0
0
0
0
0
0
0
0
4
14
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
16
24
4
-22
101
0
-26
-22
8
0
0
0
0
0
-1
-23
-5
-36
23
5
32
56
12
18
-26
1
-8
0
0
0
0
-1
0
5
-7
5
13
58
-8
-33
-48
40
2
3
-2
0
0
0
3
3
-6
10
14
25
-4
-14
-2
-17
-12
-1
-1
0
0
0
0
0
0
1
-3
-10
1
-8
-13
5
-24
-1
0
0
0
0
0
0
0
0
0
-14
-2
0
2
-15
0
-12
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
-19
5
-2
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-29
-17
90
66
0
-15
-33
-7
0
0
0
0
0
0
0
-25
75
-18
-16
21
-18
75
-19
-18
-52
14
-1
0
0
0
0
-1
5
-40
-40
31
58
-20
21
-40
-7
2
4
-3
0
0
0
0
16
-22
-58
1
-77
9
-44
22
10
16
17
2
-6
0
0
0
0
0
-4
12
-21
18
-51
-1
40
10
4
-16
5
4
0
0
0
0
0
0
-21
-7
16
-14
-6
-23
21
5
10
2
-2
0
0
0
0
0
7
-8
13
-40
17
-37
8
-23
12
1
-1
2
0
0
0
0
0
0
0
30
-21
27
-20
10
40
-4
7
0
0
0
0
0
0
0
0
0
8
-25
12
-3
54
-5
-4
0
0
0
0
0
0
0
0
-1
0
-3
6
19
-26
0
29
-26
11
0
0
0
0
0
0
0
0
3
14
-7
12
-40
41
9
16
-5
0
0
0
0
0
0
0
0
2
2
13
-12
-22
22
2
-4
-30
6
-3
0
0
0
0
0
0
4
0
10
0
-8
-19
20
-7
3
-11
-3
0
0
0
0
0
0
0
-2
2
-5
2
-15
28
-9
7
2
-1
0
-1
0
0
0
0
0
0
-1
4
-4
44
-16
14
-25
-17
0
0
0
0
0
0
0
0
-2
-2
1
5
-4
25
2
-28
13
-5
1
0
0
0
0
0
0
0
-22
-1
-10
38
40
-2
9
8
0
-1
0
0
0
0
0
0
0
0
2
-8
-31
-5
-4
8
-2
0
0
0
0
0
0
1
-2
-2
13
-7
-18
0
-8
5
-4
0
0
0
0
0
0
0
2
8
8
-8
-15
-5
-34
6
76
-3
6
0
0
0
0
0
0
0
-2
19
-1
-13
-10
-36
14
-4
20
1
0
0
0
0
0
0
-1
5
28
5
-13
-7
5
20
-6
6
3
0
1
0
0
0
0
0
0
25
6
-6
-29
26
34
8
0
0
0
0
0
0
0
0
0
5
13
-25
-21
23
-2
-12
-10
-3
0
0
0
0
0
0
0
0
3
-3
-8
10
-1
1
-25
7
5
-1
0
0
0
0
0
0
0
0
2
0
2
-12
5
4
-6
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
0
0
0
0
0
0
-4
1
14
-2
7
-27
-30
0
-15
-9
-1
0
0
0
0
0
-3
34
16
24
8
-2
-81
21
36
15
-10
23
0
0
0
0
0
7
7
-7
-32
0
33
4
-48
-8
-20
3
4
1
-1
0
0
0
0
0
1
1
0
25
-13
-13
-25
6
-13
0
2
0
0
0
0
0
-1
-3
-6
-2
-14
-31
-2
18
-5
7
-1
0
-2
0
0
0
0
-1
3
2
0
-4
-16
31
-10
0
-8
0
0
0
0
0
0
0
0
0
-1
0
-6
-12
-7
24
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-13
8
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
-2
-4
2
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
16
0
3
8
5
0
0
0
0
0
0
2
0
3
-3
1
8
5
5
-12
0
1
0
0
0
0
0
0
1
0
0
1
2
6
-2
19
-10
0
0
0
0
0
0
0
0
0
-2
0
0
-4
6
-23
-7
-12
4
0
0
0
0
0
0
0
0
-1
0
0
-6
2
-16
2
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-18
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
8
-16
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
18
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
-13
10
0
-1
0
0
0
0
0
0
0
0
0
0
-13
3
29
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-5
45
-12
3
0
0
0
0
0
0
0
0
0
0
0
1
-4
-13
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-20
-36
-17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
7
9
1
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
19
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-32
-33
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
22
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
-8
-21
29
-2
0
1
0
0
0
0
0
0
0
0
0
4
-2
-1
-7
-18
14
-2
0
0
0
0
0
0
0
0
0
1
0
-1
1
-4
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
5
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
1
7
0
0
0
1
8
0
-1
0
0
0
0
0
0
0
0
-1
7
15
7
4
0
5
1
-1
0
0
0
0
0
0
0
-1
0
-12
7
-15
-12
-4
0
0
0
0
0
0
0
0
0
0
1
0
-7
-4
28
-39
-3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-8
5
-3
7
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
31
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
1
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
-6
-9
-47
19
-10
-13
1
0
0
0
0
0
0
0
0
0
0
-7
-54
5
12
9
-31
14
0
0
0
0
0
0
0
0
0
0
-6
14
1
2
-11
-7
-8
-3
0
0
0
0
0
0
0
0
0
18
-8
-10
-19
30
-2
19
1
0
1
0
0
0
0
0
0
0
8
13
3
9
9
-8
6
7
0
1
0
0
0
0
0
0
0
1
-22
12
-13
2
0
17
-2
0
0
0
0
0
0
0
0
0
0
-16
-4
24
-8
3
-4
-1
1
0
0
0
0
0
0
0
0
0
2
-4
8
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
10
-9
-47
-7
5
12
0
0
0
-9
2
0
0
0
0
0
-1
1
-12
-31
7
16
-5
0
0
33
8
5
-1
1
0
0
0
-5
-9
15
5
-29
-42
17
22
26
30
0
0
2
0
0
0
0
9
-49
-44
-3
-29
-9
-5
41
-8
6
8
0
0
0
0
0
0
-3
-36
-4
-5
-23
6
-1
2
-24
5
-1
0
0
0
0
0
0
0
-12
-8
8
22
-8
0
-3
-4
1
4
3
0
0
0
0
0
0
5
1
5
1
8
8
-12
-8
0
0
0
0
0
0
0
0
0
0
0
24
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-63
12
-18
-31
56
0
0
-21
1
0
0
0
0
0
0
-20
5
17
74
-42
20
23
48
-9
0
9
2
0
0
0
0
0
2
-10
-43
-7
-33
83
103
44
11
15
-5
3
-1
0
0
0
0
-6
-49
8
-19
-50
-20
-56
2
1
29
18
0
0
0
0
0
0
-1
-3
36
11
-27
-6
47
9
45
-30
0
3
0
0
0
0
0
0
-8
3
-28
-15
-22
41
-45
7
-10
5
1
-1
0
0
0
0
0
0
-14
-42
-77
11
21
-6
3
20
9
0
0
0
0
0
0
0
0
-10
27
9
-21
-5
13
2
7
0
0
0
0
0
0
0
0
0
-9
15
-5
-44
1
1
1
0
0
0
0
0
0
0
0
-30
21
16
-4
14
-1
14
0
0
0
0
0
0
0
0
0
0
-1
-17
28
14
-25
24
25
-5
3
-1
0
0
0
0
0
0
0
16
1
-2
-5
24
-41
4
4
-1
0
0
0
0
0
0
0
0
0
-17
-4
8
10
4
-5
-2
1
0
0
0
0
0
0
0
0
0
0
13
2
-6
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
5
-3
-8
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
35
11
-3
5
-37
14
27
0
2
0
0
0
0
0
0
0
41
-51
-46
-20
-44
16
0
14
4
0
-2
0
0
0
0
0
0
14
0
26
-27
11
31
33
10
9
4
0
0
0
0
0
0
0
6
-22
-29
-8
10
16
-17
13
0
1
1
0
0
0
0
0
0
-19
-8
-8
0
-22
4
4
-18
-1
1
0
0
0
0
0
0
0
0
-4
-21
26
-3
5
-9
8
0
0
0
0
0
0
0
0
0
-1
-14
-7
4
13
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
6
26
-31
-23
47
0
0
1
1
9
0
0
0
0
0
9
-27
40
-30
15
-30
44
0
36
0
-2
8
-1
0
0
0
0
18
-41
-54
-10
-3
68
-7
20
-4
-25
1
0
0
0
0
0
0
-10
-45
19
7
16
-39
31
-30
25
-31
-14
0
-2
0
0
0
0
3
-23
36
12
-48
-1
4
-48
4
8
3
2
0
0
0
0
0
0
-5
-7
-20
4
-51
5
-4
-8
-7
-1
0
0
0
0
0
0
0
0
25
5
18
-4
20
8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-5
6
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
-16
-10
9
-6
0
2
0
-6
0
0
0
0
0
0
0
-2
0
-8
9
1
-16
-4
8
-5
0
-4
0
0
0
0
0
0
-2
-2
4
-7
-22
2
5
3
-1
0
0
0
0
0
0
0
0
0
2
-2
22
-9
-32
2
1
-1
0
0
0
0
0
0
0
0
0
2
4
-2
19
0
-7
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
2
8
2
0
0
0
0
0
0
0
0
0
0
0
14
-6
2
10
6
7
45
0
0
6
0
0
0
0
0
0
0
-8
8
-3
-10
-5
3
10
9
11
0
0
0
0
0
0
0
0
9
-4
-6
13
-6
-8
0
9
-3
-1
0
0
0
0
0
0
1
-5
22
0
1
2
1
1
8
9
-1
1
0
0
0
0
0
0
-6
1
-6
-3
7
0
-17
-16
4
0
0
0
0
0
0
0
0
0
1
-4
-5
-2
-3
0
-32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
6
2
-8
-2
-1
0
-1
0
0
0
0
0
0
0
0
8
7
5
0
9
0
0
0
1
0
0
0
0
0
0
0
0
7
1
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
44
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
-24
-25
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
12
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-4
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-23
27
-19
-43
0
10
-13
3
0
0
0
0
0
0
7
9
5
4
27
17
12
11
50
7
8
0
0
0
0
0
0
15
6
-2
9
-5
25
-51
9
-10
25
-3
0
0
0
0
0
0
3
-4
2
9
10
2
-20
-41
-21
-21
-5
1
0
0
0
0
0
0
-2
8
-2
-5
25
35
19
-13
-5
0
0
0
0
0
0
0
0
0
-2
5
1
-5
32
8
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-4
0
0
0
0
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
-19
33
-57
73
0
36
10
19
9
1
0
0
0
0
0
2
8
-24
83
-39
22
11
25
-3
19
-6
0
0
0
0
0
0
-3
-16
13
-41
51
-32
-3
-62
-15
4
3
-4
0
0
0
0
0
5
34
12
-22
76
64
1
28
41
44
-2
-1
0
0
0
0
0
-9
-40
2
-48
26
-39
-24
20
-20
4
3
0
0
0
0
0
0
0
-33
-51
-50
38
19
13
18
-6
1
-1
-1
0
0
0
0
0
0
40
-19
-10
7
21
45
8
1
-5
0
0
0
0
0
0
0
9
9
-43
6
22
101
-21
-4
9
0
1
0
0
0
0
0
0
0
0
3
45
30
4
-30
13
-1
0
0
0
0
0
0
0
0
0
-2
-2
8
-15
-1
0
48
-18
-27
0
0
0
0
0
0
0
0
-2
29
-7
-7
-48
10
44
2
0
0
0
0
0
0
0
0
0
3
-13
-12
6
-25
-20
-5
3
-1
0
0
0
0
0
0
0
-6
0
27
8
0
-5
-11
25
-3
0
0
0
0
0
0
0
0
0
1
0
4
0
4
-5
0
-2
1
0
0
0
0
0
0
0
0
0
17
5
-8
-3
15
4
0
0
1
0
0
0
0
0
0
0
0
8
7
8
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
-25
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
1
13
20
39
0
0
23
-33
50
5
0
0
0
0
0
0
0
14
-19
-2
-33
-20
31
-26
8
-13
-4
1
0
0
0
0
0
0
-41
10
8
-28
6
-9
-5
-8
1
0
0
0
0
0
0
0
0
2
11
0
29
40
-2
-3
0
1
0
0
0
0
0
0
0
-4
7
8
-4
-4
33
-20
-9
0
0
0
0
0
0
0
0
0
0
1
-4
35
12
-34
-19
-2
0
0
0
0
0
0
0
0
0
0
2
14
19
5
-8
8
-2
0
0
0
0
0
0
0
0
0
0
-2
5
10
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-4
3
-52
-8
27
0
-17
15
-3
0
0
0
0
0
-4
0
-14
8
-8
7
21
16
91
47
-6
-5
-1
0
0
0
0
0
-2
-6
-6
19
8
19
32
45
-21
1
0
-1
0
0
0
0
0
0
21
-7
1
-13
16
-27
7
10
0
0
0
0
0
0
0
0
0
-4
3
-13
8
-2
17
-2
0
0
-1
0
0
0
0
0
0
7
0
1
32
9
-4
8
6
0
0
0
0
0
0
0
0
0
0
0
8
0
-25
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
12
1
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
0
7
-5
-1
0
0
0
0
0
0
0
0
-1
0
-24
-1
-5
18
68
-8
0
0
0
0
0
0
0
1
0
0
2
1
0
5
27
17
8
0
0
0
0
0
0
0
0
0
0
-3
0
-13
13
9
-2
-9
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-1
-14
-23
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-5
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
13
0
-1
0
0
0
0
0
0
0
0
0
0
17
40
6
10
-8
7
0
0
0
0
0
0
0
0
0
0
0
-3
44
16
-13
5
-1
0
0
0
0
0
0
0
0
0
0
0
-4
32
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-10
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
19
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
38
1
6
0
0
0
0
0
0
0
0
0
0
0
-7
30
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-1
-2
1
-7
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
-8
0
1
0
0
0
0
0
0
0
0
0
-3
15
5
8
-18
-2
0
0
0
0
0
0
0
0
0
4
1
0
0
16
27
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-1
-36
-12
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-4
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
35
9
-28
-5
-1
0
0
0
0
0
0
0
0
0
0
-12
7
-36
21
2
15
-4
0
0
0
0
0
0
0
0
0
0
-2
-5
-21
56
-1
7
0
0
0
0
0
0
0
0
0
0
0
4
2
-7
13
-7
-1
9
0
10
-1
0
0
0
0
0
0
0
0
40
-4
-16
-1
-24
12
-9
2
0
0
0
0
0
0
0
0
-1
-23
-9
-4
18
17
-27
-8
0
0
-1
0
0
0
0
0
0
0
22
-6
-17
6
-8
6
-3
1
1
0
0
0
0
0
0
0
0
0
5
19
-8
2
4
-4
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
3
-24
-6
8
12
0
0
0
7
-2
0
0
0
0
0
1
-8
-19
8
25
-4
16
0
0
41
25
3
-2
0
0
0
0
2
31
-2
24
27
17
30
6
-13
-24
-4
-7
0
0
0
0
0
2
-12
5
-2
21
8
-5
-40
11
-3
3
0
0
0
0
0
0
0
13
34
-7
10
-13
-21
-23
-27
12
1
1
0
0
0
0
0
0
-25
0
21
6
-15
27
2
-8
8
-12
0
0
0
0
0
0
0
3
1
19
-20
24
-25
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-47
21
9
-16
6
0
0
25
7
1
0
0
0
0
0
0
4
-4
-20
0
3
9
9
-18
17
6
2
0
0
0
0
0
0
-15
-13
6
48
-27
-27
16
-45
8
-2
0
0
0
0
0
0
0
0
-36
33
2
-14
-41
-25
53
-30
-5
0
0
0
0
0
0
0
-8
13
27
-27
-55
-7
50
39
0
4
1
0
0
0
0
0
-1
-5
-12
5
121
-100
-49
39
20
5
-6
0
0
0
0
0
0
0
-16
-16
-13
33
-56
15
6
-15
1
-8
-2
0
0
0
0
0
0
0
-5
69
43
-4
-18
-23
-3
-4
0
0
0
0
0
0
0
0
0
51
8
-51
3
21
-29
4
0
0
0
0
0
0
0
0
-15
-11
-3
-30
17
26
25
0
0
0
0
0
0
0
0
0
0
-27
-60
-4
19
15
25
0
0
4
0
0
0
0
0
0
0
0
26
-13
28
27
-29
21
0
0
9
0
0
0
0
0
0
0
0
2
-13
-15
10
15
2
25
2
-3
0
0
0
0
0
0
0
0
-7
-23
-9
-13
0
5
-7
-1
-6
0
0
0
0
0
0
0
0
4
25
19
0
-1
-18
-6
1
0
0
0
0
0
0
0
0
0
9
-29
-9
2
-1
24
-1
0
0
0
0
0
0
0
0
0
0
19
22
52
7
-60
13
1
7
0
4
0
0
0
0
0
0
0
-1
-11
-21
-30
-11
12
1
0
0
0
0
0
0
0
0
0
0
4
11
23
-2
42
-15
-6
3
0
-1
0
0
0
0
0
0
0
-15
-6
4
-11
21
-7
0
5
5
6
-1
0
0
0
0
0
0
2
12
-1
-6
-3
-30
-9
-3
1
1
0
0
0
0
0
0
0
5
-12
-33
0
22
-1
-3
5
-13
-2
0
0
0
0
0
0
0
-1
-13
24
-4
6
29
-7
24
1
0
0
0
0
0
0
0
0
-8
-22
-2
40
-6
-16
3
-6
-1
0
0
0
0
0
0
0
0
2
3
33
56
-13
8
-4
-7
-1
0
0
0
0
0
0
0
0
24
0
-13
-3
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
13
-29
1
-4
3
0
0
6
14
-7
0
0
0
0
0
-1
10
-8
0
50
7
43
0
25
0
40
-5
0
0
0
0
0
1
-2
-7
66
-4
-30
-8
15
5
7
-22
4
0
0
0
0
0
-1
-3
20
2
-5
-16
5
-1
-7
13
-19
0
0
0
0
0
0
0
-6
3
8
16
8
3
-8
-30
0
0
4
0
0
0
0
0
0
8
-8
-8
20
69
17
-11
-1
-1
0
0
0
0
0
0
0
0
-3
5
28
42
-9
23
-3
0
1
0
0
0
0
0
0
0
0
0
0
-8
24
-3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
1
8
1
0
0
0
-3
-2
0
0
0
0
0
0
-1
2
-14
1
-1
0
5
-3
17
-4
-1
0
0
0
0
0
0
0
2
-1
-14
7
10
7
3
-16
-1
0
0
0
0
0
0
0
-3
0
3
19
50
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
5
4
18
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-1
14
-6
1
-5
1
0
0
0
1
1
0
0
0
0
0
0
-5
14
-7
-8
2
0
0
0
-6
-12
1
-1
0
0
0
0
0
-13
8
8
5
-3
0
1
-3
-19
-1
0
0
0
0
0
0
0
-1
5
2
-2
0
0
-4
17
-5
-1
0
0
0
0
0
0
0
-5
-6
9
0
0
3
17
3
3
0
0
0
0
0
0
0
0
4
3
0
14
-14
5
19
-18
-12
0
0
0
0
0
0
0
0
2
3
-2
-4
0
8
-2
16
2
0
0
0
0
0
0
0
0
0
-2
16
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
-3
-12
25
-12
-4
19
4
0
1
0
0
0
0
0
0
0
-2
-3
-8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
3
5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-1
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
7
1
65
0
29
-24
20
0
0
0
0
0
-2
1
-7
5
-8
9
-7
83
14
8
-1
4
-3
0
0
0
0
0
8
-3
18
-2
-5
30
15
-41
-17
17
7
4
0
0
0
0
0
-3
9
0
-16
-13
4
-42
-18
-17
5
0
-1
0
0
0
0
0
0
0
8
-1
13
3
-8
-16
4
-1
3
0
0
0
0
0
0
0
0
4
0
0
2
-12
-7
14
-1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-25
58
58
-63
0
8
3
9
-8
-1
0
0
0
0
0
2
17
-4
-69
-5
62
-10
50
-9
34
39
4
-2
0
0
0
0
3
0
-30
32
104
112
47
1
-24
5
-4
7
0
0
0
0
0
-1
-24
-46
-11
2
19
-7
44
-23
-11
-14
4
0
0
0
0
0
-8
-9
-51
24
-30
-1
-19
47
24
5
1
7
2
0
0
0
0
0
0
-19
-34
-15
12
-12
12
-28
-25
-4
-1
0
0
0
0
0
0
-2
12
-6
-3
-29
5
9
6
13
-1
-1
0
0
0
0
0
0
0
-5
-17
9
-8
28
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
-8
26
46
2
-9
0
0
0
0
0
0
0
0
0
0
2
1
3
0
8
0
-4
31
17
-22
0
-1
0
0
0
0
-2
0
5
-5
7
-20
-19
-11
18
25
4
1
0
0
0
0
0
0
-6
-9
-3
-24
2
33
-3
0
9
-1
8
0
0
0
0
0
1
-2
-5
-1
15
-23
3
47
-16
0
-3
-27
0
0
0
0
0
0
-2
3
2
1
-2
-21
-20
25
-2
-7
-8
0
0
0
0
0
0
0
0
1
-2
-3
22
-43
31
-23
5
1
13
0
0
0
0
0
0
0
0
0
-5
-13
14
-26
7
-9
14
0
-1
0
0
0
0
0
0
0
1
2
15
19
7
-8
16
7
0
0
-1
0
0
0
0
0
0
1
23
-7
26
-14
15
2
0
1
-1
0
0
0
0
5
-2
-24
18
47
0
15
-14
26
8
3
0
0
0
0
0
0
-12
5
-42
59
-13
71
4
14
10
-8
-6
1
0
0
0
0
0
24
-4
40
-20
-24
22
3
-3
-32
13
7
0
0
0
0
0
0
10
-1
30
6
-22
-30
-49
-16
0
2
1
0
0
0
0
0
0
1
12
-8
-5
-18
-54
20
-5
6
0
0
1
0
0
0
0
0
4
-1
-1
-1
-12
-1
14
25
8
18
0
0
0
0
0
0
0
0
0
-4
48
0
-24
-10
-21
-24
-2
6
0
0
0
0
0
0
0
0
0
0
-4
-8
11
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
2
-4
-7
-30
-11
0
13
4
-3
0
0
0
0
0
0
-8
2
-9
-10
31
49
-38
2
22
-3
0
-8
0
0
0
0
0
7
-1
2
-5
-17
13
67
-45
3
-6
1
-1
-1
0
0
0
0
0
-24
0
14
32
5
-16
6
-8
1
0
0
0
0
0
0
0
0
-2
4
-8
-3
1
6
2
-1
5
0
0
0
0
0
0
0
0
1
0
0
4
-3
-6
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
-17
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
-21
0
-13
1
-3
0
0
0
0
0
0
0
0
0
0
-2
-10
18
30
10
9
-1
-2
0
0
0
0
0
0
0
0
0
-3
-8
6
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-17
5
-4
0
1
0
0
0
0
0
0
0
0
1
-1
5
-10
-16
18
3
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-23
-12
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
10
4
0
0
0
0
0
0
0
0
0
0
0
0
2
19
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
13
-11
33
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
12
6
-33
25
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-11
-14
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
6
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-41
13
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
25
14
-6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
-25
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-15
10
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
-1
1
7
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
13
0
1
0
0
0
0
0
0
0
0
0
0
0
4
24
13
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-12
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-10
2
-5
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
25
6
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-6
1
0
0
0
0
0
0
-20
71
14
31
30
-3
1
0
0
0
0
0
0
0
0
0
0
1
-6
46
-15
-2
2
3
0
0
0
0
0
0
0
0
0
0
-1
-7
-9
-14
4
3
-7
-2
0
0
0
0
0
0
0
0
0
0
-4
0
5
-1
6
-6
-3
3
0
0
0
0
0
0
0
0
0
-1
-2
-8
1
-6
-5
-1
4
1
0
0
0
0
0
0
0
0
0
0
-6
-3
-1
2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-13
22
0
1
13
0
0
0
-1
-2
1
0
0
0
0
-4
-18
6
-4
23
5
73
0
0
4
-3
7
-1
0
0
0
0
-1
-2
-7
-22
4
-26
15
-66
-10
0
5
-4
-1
0
0
0
0
2
-5
-8
-23
25
-31
11
-11
7
-8
-8
1
0
0
0
0
0
0
1
-1
5
-22
2
-7
5
4
-7
4
0
1
0
0
0
0
0
0
-4
1
-10
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
33
9
35
17
0
0
3
-2
-1
0
0
0
0
0
0
-3
-76
24
12
-15
62
68
-4
-3
-3
1
0
0
0
0
0
0
-10
39
2
-63
-22
-36
-83
-2
-6
2
0
-1
0
0
0
0
0
3
-13
-43
44
-29
11
-56
-10
-8
3
1
-1
0
0
0
0
0
2
-15
31
43
-22
41
20
5
-3
16
-3
0
0
0
0
0
0
0
-1
-30
-21
32
-13
10
1
-8
6
-1
0
0
0
0
0
0
0
-8
-21
73
15
29
-8
-3
12
-1
0
0
0
0
0
0
0
0
-3
40
0
2
-5
-5
0
2
3
0
0
0
0
0
0
0
0
0
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
19
-2
-5
-6
12
3
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
20
7
-34
-24
-19
0
0
0
0
0
0
0
0
0
6
-2
4
1
9
5
-19
2
0
0
0
0
0
0
0
0
0
0
-1
1
9
-2
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
5
6
-14
7
12
0
0
0
0
0
0
0
0
0
20
-41
-23
-49
-45
52
0
29
3
2
0
0
0
0
0
0
0
0
0
10
-21
-10
-34
23
-20
-5
1
0
0
0
0
0
0
0
0
0
0
3
-19
44
3
-7
1
-3
0
0
0
0
0
0
0
0
0
5
2
-19
-22
19
1
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-24
25
4
-17
0
0
10
-13
3
-4
0
0
0
0
0
22
12
2
-13
46
-47
0
15
0
-1
15
-6
0
0
0
0
0
-9
34
18
47
27
8
-10
33
19
16
-4
0
0
0
0
0
0
1
17
13
23
-31
-6
-16
19
22
8
0
0
0
0
0
0
0
0
-13
5
-8
-25
-24
1
-13
-6
-4
-2
2
0
0
0
0
0
0
1
-18
1
-8
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-1
0
2
-1
0
0
0
0
0
0
0
-1
-3
2
-6
-8
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-16
-8
9
0
0
0
0
0
0
0
0
0
0
1
4
1
5
7
3
6
0
0
0
1
0
0
0
0
0
0
0
0
7
-10
-6
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
10
-1
6
-4
-16
1
0
0
0
0
0
0
0
0
0
0
-1
4
0
2
1
1
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
4
1
-3
-13
2
2
-1
0
0
0
0
0
0
0
0
-1
0
2
0
3
-1
4
-1
0
0
0
0
0
0
0
0
1
1
0
0
2
2
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-36
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
17
-21
23
7
0
0
0
0
0
0
0
0
0
0
0
0
5
9
41
-32
38
0
0
0
0
0
0
0
0
0
0
0
-2
3
-9
40
-16
8
0
0
0
0
0
0
0
0
0
0
0
3
3
14
-23
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
7
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
7
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
1
3
0
0
0
0
0
0
0
0
0
-3
4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-38
-8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-24
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
5
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
11
-13
-6
-12
-17
-5
2
0
0
0
0
0
-2
16
1
0
0
-9
-12
-2
-44
-8
46
19
0
0
0
0
0
0
0
-16
-6
-19
-46
10
-1
-1
46
-4
-63
0
0
0
0
0
0
-3
17
-26
41
-22
-12
-43
31
-50
-40
6
0
0
0
0
0
-2
0
0
1
-8
1
13
19
13
-34
10
0
0
0
0
0
0
0
0
5
-10
6
12
-12
-20
-11
-38
10
0
0
0
0
0
0
0
0
0
1
-3
-6
8
11
27
-7
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
63
7
-80
-80
-31
-5
3
0
0
0
0
0
0
-4
-10
10
-30
-56
20
25
36
20
2
2
0
0
0
0
0
-1
-1
-9
-23
-52
64
13
18
5
-24
22
2
0
0
0
0
0
0
9
-40
-25
-42
-18
114
10
-27
24
-7
1
0
0
0
0
0
5
-4
-12
-14
73
14
68
27
36
19
-24
0
0
0
0
0
0
0
3
-1
-12
9
-6
27
125
-6
8
2
0
0
0
0
0
0
0
-3
3
-24
35
5
-31
-8
-6
-5
0
0
0
0
0
0
0
0
0
5
8
-2
-17
19
-50
44
-22
0
0
0
0
0
0
0
0
0
0
0
-4
-18
7
8
-25
27
0
0
0
0
0
0
0
0
0
0
0
0
3
24
3
29
17
-23
5
0
0
0
0
0
0
0
0
8
8
19
-4
-18
22
14
8
1
0
0
0
0
0
0
0
0
5
2
-32
-32
6
-36
-14
-6
0
0
0
0
0
0
0
-1
0
-8
2
-3
41
5
-27
-2
-13
-3
0
0
0
0
0
0
0
0
2
4
29
-1
5
-9
7
-4
0
0
0
0
0
0
0
0
0
1
-1
13
-4
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-17
29
9
66
-30
12
-1
0
0
0
0
0
0
2
1
-7
5
0
40
42
-9
-25
9
-22
0
0
0
0
0
0
0
6
8
-8
50
2
8
12
33
8
0
0
0
0
0
0
0
0
0
1
-6
29
-9
0
-25
-2
-4
1
0
0
0
0
0
0
0
0
-2
2
-7
26
-5
-23
-15
-1
0
0
0
0
0
0
0
0
0
0
1
2
-10
15
1
-6
5
0
0
0
0
0
0
0
0
-1
0
1
-7
-23
-27
-32
-10
0
0
0
0
0
0
0
0
0
0
2
-2
3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-10
-1
5
-16
14
29
0
0
0
0
0
-1
2
14
0
13
0
26
-32
-11
3
43
-19
-1
0
0
0
0
0
4
4
-7
36
30
43
-7
2
7
-44
-25
0
0
0
0
0
-1
1
-2
-25
0
8
14
47
-23
-29
59
-13
0
0
0
0
0
0
1
-1
3
2
-14
-21
-4
2
-48
-36
1
0
0
0
0
0
0
1
-3
0
5
-1
-33
1
-3
2
-13
1
0
0
0
0
0
0
0
-2
-2
10
1
-7
-2
33
-18
3
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
1
0
5
1
1
0
1
0
0
0
0
0
0
-9
-5
-1
0
5
0
0
0
3
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-10
8
1
0
0
0
0
0
0
0
0
0
0
-1
-7
-9
-12
9
1
0
0
0
0
0
0
0
0
0
0
0
-3
-23
32
18
-15
8
0
0
0
0
0
0
0
0
-1
-3
-3
-2
-4
9
36
-2
0
0
0
0
0
0
0
0
-1
0
0
1
0
-9
-7
3
0
14
0
0
0
0
0
0
0
0
1
1
-2
0
0
1
12
5
0
0
0
0
0
0
0
0
0
0
-6
0
-1
1
-7
-2
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-4
7
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
4
4
2
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-26
33
0
-1
0
0
0
0
0
0
0
0
0
0
0
13
-3
-7
-17
23
2
0
0
0
0
0
0
0
0
0
0
0
-5
18
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
8
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
7
6
41
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
2
-13
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-5
15
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-6
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-10
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
4
2
-12
-10
-8
-30
-4
0
0
0
0
0
0
0
0
0
0
0
2
8
-6
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
31
7
3
0
0
0
0
0
0
0
0
0
0
0
0
10
38
16
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
3
-4
-1
0
0
0
0
0
0
0
0
-1
-2
-5
0
4
-12
-19
-4
-8
0
0
0
0
0
0
0
0
0
1
1
4
-17
4
-25
-8
-2
0
0
0
0
0
0
0
0
0
2
0
-2
6
14
-19
-4
1
0
0
0
0
0
0
0
0
0
-6
0
3
6
6
32
3
0
0
0
0
0
0
0
0
0
-1
0
3
9
0
8
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
6
0
-37
3
13
14
17
-14
0
-3
0
0
0
2
-5
7
-11
14
-14
51
32
-7
8
17
14
-2
2
0
0
0
0
1
0
16
10
14
17
0
17
-20
14
23
19
-8
0
0
0
0
0
0
6
-25
2
-41
7
7
20
13
99
17
-1
0
0
0
0
0
2
-13
7
6
-21
-23
15
39
-4
16
7
0
0
0
0
0
0
0
-2
4
8
-24
8
-5
4
-31
-13
0
0
0
0
0
0
0
0
0
0
-5
2
-19
-13
1
4
-1
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
59
0
-31
8
57
-9
29
3
0
0
0
0
0
-2
-4
2
24
-8
87
12
11
30
-11
26
7
4
0
0
0
0
-1
-2
-9
6
1
43
-16
4
8
-39
15
5
1
0
0
0
0
-1
-1
6
-4
-28
-23
-20
-6
19
23
-21
-2
4
0
0
0
0
0
0
9
-20
-50
-90
22
49
-65
42
-1
2
0
0
0
0
0
0
-7
-3
-32
-13
15
-11
-90
2
-14
-9
-2
0
0
0
0
0
0
0
-2
29
14
8
-1
2
32
-17
-17
-4
0
0
0
0
0
0
0
0
13
7
19
35
-49
42
-5
6
0
0
0
0
0
0
0
0
0
-8
8
-51
31
24
-2
-9
0
0
0
0
0
0
0
0
-1
-3
0
-12
0
-12
-25
-1
14
7
-1
0
0
0
0
0
1
-3
-18
-6
0
56
-13
0
-10
8
0
0
0
0
0
0
0
0
9
-1
38
-4
47
15
-8
4
-8
0
0
0
0
0
0
0
14
20
-9
11
-7
-8
5
-7
2
4
6
-2
0
0
0
0
0
-9
11
2
23
-13
-17
-2
-6
1
4
0
0
0
0
0
0
1
-1
3
-16
-3
25
31
1
-12
0
-1
0
0
0
0
0
0
0
31
14
-5
10
-1
30
-17
-5
0
0
0
0
0
0
0
0
0
-8
-21
2
-7
-24
15
-17
0
2
0
0
0
0
0
0
0
0
0
-3
21
17
18
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
16
1
-34
0
10
-8
20
30
0
0
0
0
0
0
0
0
-2
-2
16
-19
-26
28
-18
55
10
-24
0
0
0
0
0
0
0
0
-12
2
-51
-49
-17
-44
16
1
24
0
0
0
0
0
0
-1
-1
-2
1
2
-4
28
-42
-24
10
8
0
0
0
0
0
0
0
0
8
-2
-1
26
-1
-32
-16
29
22
-2
0
0
0
0
0
0
-1
-2
-9
-5
-24
5
-12
8
-20
2
0
0
0
0
0
0
0
-1
24
2
20
2
-29
-20
8
-1
0
0
0
0
0
0
0
0
0
-2
20
-3
16
-14
-8
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-3
3
0
19
2
13
30
3
19
12
0
0
0
0
0
0
-13
-48
-2
-34
-33
20
28
52
8
-36
25
5
0
0
0
0
0
1
-1
-43
-3
32
39
-17
-38
-7
-41
3
0
0
0
0
0
-2
0
15
-46
13
1
16
-32
5
39
39
-16
1
0
0
0
0
-1
-2
-6
-25
6
-13
-4
6
-30
4
12
-5
0
0
0
0
0
-1
1
0
0
19
23
-3
25
-11
1
12
0
0
0
0
0
0
0
0
0
-7
-8
2
5
-2
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
0
0
1
0
-1
0
0
0
0
0
0
1
0
-3
1
6
-5
-22
3
0
6
0
0
0
0
0
0
0
0
1
1
-4
9
-6
3
1
-10
3
0
0
0
0
0
0
0
0
2
2
-4
0
13
14
-13
2
1
0
0
0
0
0
0
0
0
0
7
2
7
8
10
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
12
-14
4
0
0
0
0
0
0
0
0
0
0
3
7
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
4
0
2
7
3
0
0
2
-2
0
0
0
0
0
-4
0
-6
-2
-6
-4
-3
8
0
6
-17
-2
0
0
0
0
0
0
2
0
-17
-15
-25
-6
12
-8
4
13
2
0
0
0
0
0
0
1
2
8
6
-6
25
9
-4
-2
3
-3
1
0
0
0
0
0
-1
-8
25
-8
5
0
14
1
0
17
7
0
0
0
0
0
0
5
1
-33
2
0
10
5
0
-2
6
0
0
0
0
0
0
1
0
9
-21
-62
-4
-14
5
0
0
0
0
0
0
0
0
0
0
0
4
-7
-36
17
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
2
-58
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
15
23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-4
48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
12
5
19
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
6
0
4
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-3
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
19
16
4
16
-12
-13
3
0
0
0
0
2
-2
4
-29
0
0
35
45
28
73
2
22
2
0
0
0
0
0
0
0
-24
-69
31
4
37
-10
-20
8
-22
8
0
0
0
0
0
0
0
-7
42
-46
-28
5
-40
-42
7
-3
-2
0
0
0
0
0
0
0
-1
6
-12
8
5
5
3
-37
34
2
0
0
0
0
0
0
0
-1
0
-3
-1
4
18
21
60
5
1
0
0
0
0
0
0
0
0
0
2
0
-1
-9
26
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
1
-27
-22
5
60
-4
1
0
0
0
0
0
0
-5
34
45
14
21
-19
6
-68
4
5
0
0
0
0
0
0
0
8
5
25
-48
-5
-54
83
-35
4
-4
13
0
0
0
0
0
1
0
-38
17
-48
16
3
-28
34
8
8
3
0
0
0
0
0
3
1
-2
27
-6
-47
2
45
-25
-8
42
1
0
0
0
0
0
0
0
2
-5
-29
-17
52
1
-6
-9
-24
0
0
0
0
0
0
0
0
-1
-2
12
-8
-4
17
43
-7
-5
0
0
0
0
0
0
0
0
0
-2
-5
-6
-11
58
-2
-18
-1
0
0
0
0
0
0
0
0
0
0
1
-13
11
-9
-10
-23
0
0
0
0
0
0
0
0
0
0
0
0
10
-10
31
-33
-15
10
-1
0
0
0
0
0
0
0
0
-4
8
3
-6
16
-15
-33
36
-23
0
0
0
0
0
0
0
0
-5
-41
5
-4
-12
-42
2
14
-7
0
0
0
0
0
0
0
0
0
2
-16
-6
5
-3
-7
-29
15
0
0
0
0
0
0
0
0
-3
1
13
2
-5
-8
0
-22
16
0
0
0
0
0
0
0
0
-3
5
-7
10
6
-15
17
26
-29
0
0
0
0
0
0
0
0
0
0
-3
13
17
-6
10
17
8
0
0
0
0
0
0
0
0
0
3
-2
-24
-22
-9
52
54
16
0
0
0
0
0
0
0
0
0
0
1
1
10
-1
30
-41
40
0
0
0
0
0
0
0
-1
0
-3
12
2
-35
-47
4
16
2
0
0
0
0
0
0
-2
5
14
-9
0
-2
-34
-16
20
-20
48
0
0
0
0
0
0
5
-7
0
25
-4
5
-8
41
-22
6
0
0
0
0
0
0
0
2
1
3
-3
-14
17
29
-6
3
-18
2
0
0
0
0
0
0
0
0
2
3
-16
19
7
43
2
14
-16
0
0
0
0
0
0
0
0
0
3
13
-2
-3
19
-19
-1
27
0
0
0
0
0
0
0
0
0
-1
-3
5
-8
1
-35
10
17
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
34
-16
27
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
2
9
-7
0
0
17
-3
-32
24
-26
-4
-8
0
0
0
0
0
0
0
0
-17
0
26
10
19
11
18
52
-8
0
0
0
-1
0
0
14
1
28
35
58
-32
2
-20
48
-47
-1
0
0
0
0
0
0
4
2
-4
1
-5
0
-15
27
14
-2
0
0
0
0
0
0
0
0
0
-7
-17
-19
-24
-9
14
21
-4
0
0
0
0
0
0
0
0
0
-1
7
1
-3
12
22
24
-16
0
0
0
0
0
0
0
0
0
0
0
-6
1
-25
16
-21
-4
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-8
-6
8
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
24
-1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-29
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
19
6
0
0
0
0
0
0
0
0
0
3
0
0
7
-5
16
4
4
-36
6
0
0
0
0
0
0
0
0
0
2
5
-19
-6
-14
-22
-19
-2
0
0
0
0
0
0
0
0
2
0
-3
-7
0
-6
19
7
2
0
0
0
0
0
0
0
1
0
0
-1
2
-7
5
-13
4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
12
-5
-1
0
0
0
0
0
0
0
0
0
0
2
-1
0
-8
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-13
7
5
3
0
0
0
0
0
0
0
0
0
0
0
1
-13
-14
4
-14
-6
0
0
0
0
0
0
0
0
0
-1
0
1
-8
-16
11
31
1
-7
0
0
0
0
0
0
0
0
0
0
-1
-2
21
-30
10
33
1
0
0
0
0
0
0
0
0
0
0
0
7
-1
9
3
6
0
0
0
0
0
0
0
0
0
0
0
-3
2
-7
-4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
6
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-12
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
4
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-23
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
19
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-13
3
0
0
0
0
0
0
0
0
0
4
1
2
2
1
32
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
3
12
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
18
-1
-3
2
0
0
0
0
0
0
0
0
0
0
2
9
7
-1
15
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-8
2
0
5
0
0
0
0
0
0
0
0
0
0
0
6
-7
-14
-12
-13
9
4
0
0
0
0
0
0
0
0
0
0
-1
12
-5
-9
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
8
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-4
4
-8
-2
-6
-8
2
0
0
0
0
0
0
0
0
-1
1
0
-18
-2
23
23
22
1
0
0
0
0
0
0
0
0
0
-1
3
5
-14
2
-9
5
1
0
0
0
0
0
0
0
0
0
1
0
0
-22
-29
6
-20
2
0
0
0
0
0
0
0
0
0
0
0
5
3
17
-10
14
-9
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
28
26
0
-48
27
3
17
6
-5
-6
-1
0
0
0
1
7
-34
-5
8
1
45
20
13
1
28
14
-10
2
0
0
0
-1
1
-1
-8
36
-33
-16
17
20
-10
-4
10
5
0
0
0
0
0
1
0
2
-6
8
-16
-13
-44
44
-3
11
-1
-1
0
0
0
0
-2
-1
3
-7
-13
-3
-18
4
-17
-9
1
2
0
0
0
0
0
0
0
-1
12
-4
-13
8
5
41
-13
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
2
10
0
0
0
0
0
0
0
0
1
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-25
-12
0
35
38
-1
46
5
0
-1
0
0
0
0
0
2
6
12
-5
1
-23
92
-26
17
14
3
-5
0
0
0
0
0
0
-5
-6
-14
31
-13
-13
-11
30
3
4
-3
0
0
0
-1
0
0
-3
44
-25
-20
13
-21
-27
5
-60
-8
0
0
0
0
0
0
-3
8
35
-73
-10
73
41
-65
-14
0
1
7
0
0
0
0
1
1
-10
-13
-6
5
19
-12
-17
22
-23
5
-6
0
0
0
0
0
0
0
10
-15
-7
13
6
-24
5
23
8
1
0
0
0
0
0
0
0
-4
-6
-7
38
-10
5
12
6
1
0
0
0
0
0
0
0
0
0
4
1
-48
26
-23
5
0
0
0
0
0
0
0
0
5
-11
-22
-20
0
-7
-20
4
1
2
0
0
0
0
0
0
0
0
0
6
-6
29
4
-8
-1
5
-3
1
0
0
0
0
0
0
0
0
-1
-12
2
7
-13
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
5
-10
1
8
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
1
13
-24
73
0
68
7
33
8
7
1
0
0
0
0
0
0
-2
-14
-12
22
23
30
14
24
44
9
2
0
0
0
0
0
0
-1
5
-1
15
17
-30
3
26
24
-30
0
0
0
0
0
0
0
0
-6
-7
-19
-9
11
21
-4
9
-10
0
0
0
0
0
0
0
0
0
-1
-6
6
-6
5
-19
-2
5
0
0
0
0
0
0
0
0
0
16
19
-12
-14
-18
13
-3
0
0
0
0
0
0
0
0
0
0
1
-20
-11
34
19
-4
5
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-6
-2
15
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
2
-7
8
0
-20
-3
-1
-24
46
-30
10
2
0
0
0
-2
-2
2
-11
47
-29
4
17
-10
-48
-3
-31
-31
7
0
0
0
0
2
0
3
14
-6
78
36
-6
-9
-28
13
40
2
0
0
0
0
0
3
-6
-5
-12
-63
24
-26
2
-6
7
33
8
0
0
0
0
0
0
-6
3
5
-6
33
19
25
9
-23
-10
-2
0
0
0
0
0
0
0
-2
-16
-1
-9
-37
-18
3
29
-4
0
0
0
0
0
0
0
1
0
1
-9
-4
14
-6
-10
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
2
0
-8
3
-1
2
0
0
0
-1
0
0
0
0
0
0
1
-3
8
-2
-3
-10
13
-4
-1
2
-1
0
0
0
0
0
0
0
-10
0
17
-14
-1
20
10
0
0
1
0
0
0
0
0
0
0
0
4
-23
2
0
-5
5
0
1
0
0
0
0
0
0
0
0
0
0
2
2
5
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-4
1
1
0
0
0
-4
0
0
0
0
0
0
1
7
5
4
-10
-7
-2
12
0
-12
0
0
0
0
0
0
0
0
1
6
-24
10
5
-10
-5
0
8
-4
0
0
0
0
0
0
-2
8
1
2
7
16
20
1
19
-7
-1
1
0
0
0
0
0
0
4
-3
-19
-27
-7
12
-2
8
-1
8
0
0
0
0
0
0
1
0
0
12
4
4
-3
0
1
-3
0
0
0
0
0
0
0
0
0
-4
-6
8
2
0
0
-5
6
-4
1
0
0
0
0
0
-1
0
1
-5
1
0
-4
-2
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-5
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
38
27
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
16
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-4
1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-13
10
14
0
0
0
0
0
0
0
0
0
0
0
-1
-1
36
-4
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-8
8
7
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
5
-1
3
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
6
4
-2
0
3
1
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-16
-15
-22
-14
12
0
0
0
0
0
1
-8
0
0
0
52
34
5
-21
-26
-1
8
0
0
0
0
0
0
0
8
22
22
26
-1
-43
-34
1
-21
-22
0
0
0
0
0
0
0
-8
-2
12
-23
14
50
20
-17
8
8
0
0
0
0
0
-1
0
0
14
-5
36
-21
0
-3
-57
0
1
0
0
0
0
0
0
1
4
5
-1
-40
-9
-32
4
8
8
0
0
0
0
0
0
0
0
0
-4
19
6
-8
25
-6
29
5
0
0
0
0
0
0
0
0
0
-1
0
0
-4
2
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
61
46
87
-14
7
0
0
0
0
0
0
0
2
-1
19
-19
-30
46
74
-48
-10
-3
1
0
0
0
0
0
2
0
12
16
63
16
90
5
13
-34
0
-1
0
0
0
0
0
0
22
9
-16
-35
55
5
-15
-19
-3
14
5
0
0
0
0
0
0
-14
-14
23
33
-26
31
9
21
55
5
0
0
0
0
0
0
0
-7
-8
13
21
-27
65
-17
41
-56
-1
2
0
0
0
0
0
0
1
-6
11
42
-17
22
-36
1
-11
3
0
0
0
0
0
0
0
0
-4
2
-18
9
35
9
64
-26
0
0
0
0
0
0
0
0
0
0
0
-7
2
46
32
26
2
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
1
-42
0
-6
-6
0
0
0
0
0
0
0
0
-5
4
21
1
39
-6
-29
-5
9
0
0
0
0
0
0
0
-1
-3
2
6
28
-7
-17
-38
-8
0
0
0
0
0
0
0
0
0
-1
9
5
3
17
-6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
29
-3
-25
29
13
4
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
0
8
1
0
0
0
0
0
0
0
0
0
0
7
0
13
-10
-2
-7
-15
0
0
0
0
0
0
0
0
0
0
0
-2
0
-35
10
8
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
7
0
-1
0
0
0
0
0
0
0
0
-1
0
-15
-12
23
6
-31
1
-33
7
0
0
0
0
0
0
0
0
-5
-7
0
-1
49
27
-1
41
-2
0
0
0
0
0
0
0
-8
-12
-11
-26
-5
68
48
-23
-6
5
0
0
0
0
0
0
0
0
-16
16
1
-19
2
13
-9
0
-6
0
0
0
0
0
0
0
-1
17
-7
-11
-18
24
-1
30
-5
0
0
0
0
0
0
0
0
0
0
1
-1
8
17
-1
8
3
0
0
0
0
0
0
0
0
0
0
12
5
6
9
29
-6
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-15
8
-13
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
5
-13
7
47
-4
7
0
0
0
0
0
1
0
-1
0
9
0
32
18
-37
-10
-14
32
8
0
0
0
0
1
0
0
-56
33
7
-3
2
-20
14
24
24
3
0
0
0
0
0
0
1
-8
28
-18
16
-11
32
-18
15
-9
0
0
0
0
0
0
-1
2
8
-9
-11
-1
-43
6
24
8
17
0
0
0
0
0
0
0
4
0
-3
7
-4
-5
5
-36
-7
1
0
0
0
0
0
0
0
-2
0
1
5
5
13
10
27
0
-1
0
0
0
0
0
0
0
0
0
4
1
2
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
-1
-10
8
0
0
0
0
0
0
0
0
0
0
-2
4
6
-9
13
13
-2
0
0
0
0
0
0
0
0
1
0
9
1
-39
-1
14
18
0
0
0
0
0
0
0
0
1
-4
-3
1
2
-25
-13
1
5
0
0
0
0
0
0
0
0
0
1
0
1
0
8
2
-4
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-8
-2
-2
0
0
0
0
0
0
0
0
0
1
0
2
1
-3
-16
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
8
16
0
-25
0
0
0
0
0
0
0
0
0
0
1
5
2
5
-5
16
22
-24
-1
0
0
0
0
0
0
0
0
0
-2
2
3
10
19
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
16
-34
6
1
0
0
0
0
0
0
0
0
0
0
1
4
-15
10
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
24
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
8
-8
4
0
0
0
0
0
0
0
0
0
3
1
1
8
-3
19
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-36
17
-5
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
7
-24
9
0
0
0
0
0
0
0
0
0
0
0
1
4
-8
-26
1
13
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
-27
7
0
0
0
0
0
0
0
0
0
0
3
1
-1
19
6
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
1
-8
0
0
0
0
0
0
0
0
0
0
0
3
-8
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
5
-29
1
2
-3
-8
-5
1
0
0
0
0
0
-6
1
0
18
13
-5
-5
31
-9
16
9
2
0
0
0
0
0
0
0
14
27
12
12
-8
15
7
-30
37
-1
0
0
0
0
0
0
-9
-1
-15
3
29
12
5
-42
-5
17
-2
0
0
0
0
0
0
0
19
-14
-18
-23
-6
-8
-3
-16
-8
0
0
0
0
0
0
0
0
0
5
18
-5
-18
0
-5
-1
0
0
0
0
0
0
0
0
0
0
-8
3
13
-12
1
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
38
0
54
-22
-1
-5
-6
19
-1
0
0
0
0
0
3
-8
-12
0
20
-72
-45
9
-33
-17
-9
-6
0
0
0
0
0
-1
9
0
15
24
-49
83
59
29
-23
14
17
0
0
0
0
0
2
0
-43
-13
8
-16
60
-44
-27
-24
9
-1
0
0
0
0
0
1
-14
-3
11
-43
32
62
82
-38
-40
7
0
0
0
0
0
0
-5
13
-11
-31
25
36
-14
-23
30
34
4
0
0
0
0
0
0
-2
9
12
53
-69
24
11
22
-27
17
2
0
0
0
0
0
0
0
2
-6
30
17
79
-9
-71
22
2
0
0
0
0
0
0
0
0
2
-1
-22
-14
1
-70
-11
0
1
0
0
0
0
0
0
0
0
-1
3
-46
0
-10
-10
23
8
0
0
0
0
0
0
0
1
-17
-4
-51
0
-13
-17
0
12
-6
-3
0
0
0
0
0
0
0
-1
9
0
1
-26
-3
-7
25
5
13
-1
0
0
0
0
0
0
-5
0
-2
75
28
3
-5
-16
9
-6
0
0
0
0
0
0
-1
0
1
-10
22
4
13
0
-13
-1
0
0
0
0
0
0
0
0
0
22
-13
-9
4
-8
6
3
1
4
0
0
0
0
0
0
2
-23
-13
11
-47
20
-8
2
4
0
0
0
0
0
0
0
0
-3
-4
15
8
5
-25
-8
6
-1
0
0
0
0
0
0
0
0
0
1
-3
14
22
13
22
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-32
0
1
1
-40
-13
1
0
0
0
0
0
0
0
0
-17
5
0
18
1
63
49
-33
-7
0
0
0
0
0
0
0
0
7
0
18
-25
-24
52
3
1
13
0
0
0
0
0
0
0
0
0
8
-8
17
30
-39
-8
0
-13
0
0
0
0
0
0
0
0
4
-6
16
5
-23
-5
16
-11
10
0
0
0
0
0
0
0
0
1
-17
5
18
-11
42
-18
-17
0
0
0
0
0
0
0
0
-1
-22
-23
25
31
5
-12
-1
-4
0
0
0
0
0
0
0
0
1
0
-8
-6
24
29
-15
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
-4
69
-13
-7
-4
-10
-3
-1
0
0
0
0
0
1
-1
-2
38
39
-3
-7
-23
48
40
-20
-1
0
0
0
0
0
0
0
0
52
13
-45
9
7
-11
-1
5
18
0
0
0
0
0
0
2
5
6
9
-30
20
-21
-3
20
4
0
0
0
0
0
0
0
-1
-5
14
-2
12
-23
7
31
-17
-9
0
0
0
0
0
0
1
1
-3
9
-13
18
-2
23
-8
4
4
0
0
0
0
0
0
0
1
2
8
-6
4
0
41
1
0
0
0
0
0
0
0
0
0
1
-2
5
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
1
0
0
2
0
0
0
0
0
0
0
0
0
-4
-1
2
14
6
-6
6
-1
-2
0
0
0
0
0
0
0
-2
-10
5
-6
17
-4
-3
9
-17
8
0
0
0
0
0
0
0
0
1
2
6
-5
0
-2
4
0
-1
0
0
0
0
0
0
0
-4
1
2
2
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
48
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-8
0
-1
0
0
0
0
0
0
0
0
6
8
0
4
-7
-16
-5
-19
-2
0
0
0
0
0
0
0
-8
6
0
23
17
9
24
0
-11
4
0
0
0
0
0
0
0
-2
-6
0
-6
5
-4
-3
27
-2
4
0
0
0
0
0
-1
4
-2
-2
-4
-19
6
-4
12
-1
0
0
0
0
0
0
0
0
9
2
-14
7
8
-4
-4
4
3
0
0
0
0
0
0
0
0
4
-1
14
-7
-8
-1
0
1
0
0
0
0
0
0
0
0
0
-1
30
29
18
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-30
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
23
1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
1
-1
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
7
-5
65
34
-8
0
0
0
0
0
-1
-5
-4
0
0
22
10
-22
36
28
-28
-5
0
0
0
0
0
0
2
-17
-11
-26
28
3
29
34
24
48
-4
0
0
0
0
0
0
-1
13
24
40
6
-22
52
44
-55
1
-8
0
0
0
0
0
0
0
4
0
-5
41
4
-20
4
39
8
3
0
0
0
0
0
0
0
-2
-1
-8
-9
-1
19
3
11
-14
5
0
0
0
0
0
0
0
0
0
0
5
5
-17
-17
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
24
0
0
-41
-44
-28
-93
-12
8
-2
0
0
0
0
0
0
-5
3
45
-17
13
6
-2
66
42
24
3
0
0
0
0
0
1
2
4
-55
-1
-89
-22
-38
27
49
-2
8
0
0
0
0
0
0
1
-20
4
24
-34
-4
85
-31
15
7
-13
0
0
0
0
0
0
0
0
8
-1
-48
-29
56
43
-26
0
22
0
0
0
0
0
0
0
-1
-13
7
-5
-40
45
4
-14
-4
6
0
0
0
0
0
0
0
0
5
22
-18
44
6
64
5
30
-1
0
0
0
0
0
0
0
0
0
9
-7
4
-19
10
13
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
26
-18
0
0
0
0
0
0
0
0
0
0
0
0
12
9
11
4
37
14
-6
0
0
0
0
0
0
0
0
2
0
-29
37
42
13
-20
-13
-47
0
0
0
0
0
0
0
0
0
-1
-29
-20
28
-24
4
-45
91
0
0
0
0
0
0
0
0
0
0
1
12
-12
16
-8
60
17
0
0
0
0
0
0
0
0
0
0
0
-23
9
-10
-42
22
9
0
0
0
0
0
0
0
0
0
0
-3
12
3
23
15
10
5
0
0
0
0
0
0
0
0
0
1
0
-5
2
6
10
-5
-28
0
0
0
0
0
0
0
0
0
0
-1
6
-17
-29
-56
15
-43
0
0
0
0
0
0
0
0
0
0
-2
-2
-25
-4
47
17
17
0
0
0
0
0
0
0
2
0
9
-14
20
45
-15
10
-9
9
0
0
0
0
0
0
0
0
2
41
0
-55
1
18
38
10
-6
0
0
0
0
0
0
0
0
6
11
8
-41
-17
-13
-30
25
6
0
0
0
0
0
0
-2
0
16
-25
14
15
10
36
20
-12
-17
0
0
0
0
0
0
0
0
0
5
-5
2
14
-5
-12
-51
1
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
-17
12
34
-4
0
0
0
0
0
0
0
0
0
0
0
6
10
8
23
24
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
4
16
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
25
21
-30
-34
-42
-4
7
0
0
0
0
0
0
0
0
6
0
-10
-14
4
-2
-22
-3
5
0
0
0
0
0
1
1
8
3
-22
11
61
5
22
8
8
2
0
0
0
0
0
0
0
-2
0
-1
7
10
15
38
6
17
-3
0
0
0
0
0
0
0
0
0
-1
-25
10
-22
0
-13
-17
0
0
0
0
0
0
0
0
0
-2
16
-2
7
20
-17
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-24
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-27
-16
1
22
0
0
0
0
0
0
0
0
0
0
0
-20
16
0
33
-27
0
8
0
0
0
0
0
0
0
0
0
3
1
5
-18
8
9
-17
-6
0
0
0
0
0
0
0
0
0
0
7
-1
-4
-6
13
7
-5
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
13
4
3
0
0
0
0
0
0
0
0
0
3
0
2
0
5
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
14
-22
8
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-17
-7
5
-23
-4
-6
0
0
0
0
0
0
0
0
0
3
2
10
8
-37
19
32
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
7
14
0
33
0
0
0
0
0
0
0
0
0
0
0
12
12
8
-7
-19
5
0
0
0
0
0
0
0
0
0
0
0
5
-9
-22
-23
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
12
1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-5
4
6
14
1
0
0
0
0
0
0
0
0
0
0
-1
0
3
3
5
12
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-5
6
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
4
1
0
0
0
0
0
0
0
0
2
0
0
8
5
24
-8
-3
2
-2
0
0
0
0
0
0
0
0
0
0
-8
4
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-4
2
6
0
0
0
0
0
0
0
0
0
-1
0
8
8
27
2
-4
14
0
0
0
0
0
0
0
0
0
0
0
12
3
22
-17
3
-30
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
-8
1
0
0
0
0
0
0
0
0
0
0
1
3
-1
23
17
2
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
12
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
8
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
23
-6
-24
3
-14
2
-5
-2
0
0
0
0
0
12
-23
21
-1
105
7
74
-8
-10
9
8
0
0
0
0
0
0
0
-7
-1
-10
-18
-1
-5
-5
5
50
-34
-1
0
0
0
0
0
-1
-16
0
-32
-8
3
0
-23
6
0
-16
1
0
0
0
0
0
0
0
0
0
0
-12
-7
-15
-34
12
-4
-1
0
0
0
0
0
0
0
0
0
-2
-4
-1
3
-15
43
-9
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-3
0
40
59
33
-13
8
-5
0
0
0
0
0
0
-3
1
16
-52
7
17
-16
21
-4
5
-18
5
0
0
0
0
0
0
0
-3
20
11
24
-77
-39
46
-3
0
-13
0
0
0
0
0
-1
6
-7
1
-16
-13
34
10
-19
-46
8
3
0
0
0
0
0
-1
1
3
-3
-7
-6
-41
7
-14
-13
13
2
0
0
0
0
0
0
0
0
13
9
26
9
-7
-5
-5
-24
0
0
0
0
0
0
0
0
0
-1
-4
17
-13
9
5
19
-14
0
0
0
0
0
0
0
0
0
1
-22
-8
23
25
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
0
0
0
0
0
0
0
-1
0
40
51
0
18
-4
-4
-6
-2
0
0
0
0
0
0
0
0
-1
1
-23
-13
8
14
2
-8
-6
-4
0
0
0
0
0
0
0
0
0
13
22
-2
0
-2
-7
3
0
0
0
0
0
0
0
0
0
0
2
8
1
1
3
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-27
0
6
-2
3
-7
6
-3
0
0
0
0
0
0
0
0
-1
18
-34
-47
4
-7
49
30
0
0
0
0
0
0
0
0
-1
8
-7
42
-7
13
-9
-11
3
3
0
0
0
0
0
0
0
0
0
0
-3
10
1
-27
-16
4
0
0
0
0
0
0
0
0
0
0
0
4
2
-14
2
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
21
31
4
-38
1
-3
-8
0
0
0
0
0
0
0
6
0
70
47
44
-5
-2
24
33
8
1
0
0
0
0
0
3
4
-10
99
3
107
56
5
-14
3
9
-29
0
0
0
0
0
0
0
-12
6
-24
-4
-6
-29
-51
-23
14
6
0
0
0
0
0
0
0
-1
0
-5
25
7
-9
7
-24
-41
-3
0
0
0
0
0
0
0
0
0
-5
0
-12
7
-13
14
5
-2
0
0
0
0
0
0
0
0
0
0
-3
-3
7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
-6
-17
-3
-5
1
5
-1
1
0
0
0
0
0
0
0
0
0
3
2
-17
1
12
-1
8
-2
1
0
0
0
0
0
0
0
0
-3
5
0
-25
-8
-4
14
-1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
17
-2
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
-17
0
4
-1
0
0
0
0
0
0
0
4
2
-2
6
-1
-4
-3
-19
-2
4
0
0
0
0
0
0
0
0
1
3
0
0
-3
0
-12
-14
3
0
0
0
0
0
0
0
0
0
-1
-1
23
8
7
23
4
-1
0
0
0
0
0
0
0
0
0
0
0
7
-7
-8
-5
-5
-5
0
0
0
0
0
0
0
0
2
0
0
-1
0
-7
-8
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
4
-3
29
1
0
12
0
0
0
0
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
29
0
0
-13
0
-75
-132
-53
-24
-6
22
0
0
3
15
0
-189
-28
44
-19
-8
0
7
39
2
4
0
-93
-114
-22
35
0
0
-8
44
0
-51
0
-64
-12
29
0
19
-19
15
19
-5
-28
0
-114
39
0
-12
40
120
18
3
-57
-16
0
-8
0
8
-2
9
7
15
63
-3
-14
-8
0
0
-1
0
1
14
-18
-2
1
48
0
0
0
29
0
-2
-24
0
0
-13
0
11
168
0
-39
-112
-39
-44
-24
-29
0
111
121
-4
0
-112
-47
-69
-12
-19
0
-84
70
19
-34
0
-57
-42
-33
-30
0
-56
1
-2
-56
-98
0
24
-45
2
0
-77
2
25
4
6
-17
0
-75
5
0
35
16
33
8
-16
-60
-45
0
4
0
16
14
22
-17
17
18
-16
-19
-4
0
0
22
47
-34
10
10
-10
-20
79
0
0
0
0
-1
42
-4
6
0
-18
0
-19
8
0
-73
-21
-22
-30
-2
-2
0
-8
-15
37
0
-11
-23
-15
-11
5
0
-30
-58
40
-12
0
-15
-42
-117
-38
0
14
-6
-8
-23
-51
0
-74
-16
-2
0
32
7
42
-1
-3
-4
0
-19
1
0
-78
-16
13
10
-9
-19
-33
0
42
0
-36
40
76
48
67
-1
33
-1
-6
0
0
19
19
2
14
-22
-8
-25
32
0
0
0
-1
10
34
11
6
8
9
0
-85
12
0
-22
-53
71
52
-22
12
0
-74
26
59
0
-45
-29
-106
-6
5
0
68
-40
48
19
0
35
11
-21
-9
0
-61
-72
76
-54
-36
0
-41
43
0
0
-32
-108
47
-12
-19
-7
0
-28
-1
0
-42
-85
-17
-31
-42
-83
-50
0
68
0
-24
51
55
26
94
65
18
37
-5
0
0
-19
64
-101
-16
22
70
40
13
0
4
0
-2
7
-37
104
8
15
54
0
37
88
0
-7
45
-11
64
3
14
0
45
0
44
0
-8
-37
16
-10
29
0
50
-3
44
8
0
21
-28
-42
14
0
-5
-55
-23
-59
-69
0
-17
-40
13
0
-76
-34
29
1
-18
-5
0
-16
7
0
-11
-38
33
-21
-55
-57
-125
0
54
0
-3
18
-15
1
4
-42
51
89
88
0
0
-7
-20
40
-22
95
-54
27
27
0
0
0
3
4
-10
-2
-7
0
46
0
100
55
0
-7
37
-15
-3
69
20
0
67
-18
-31
0
-28
18
-39
44
9
0
-6
-20
65
5
0
49
-41
-9
4
0
16
30
-2
-42
-45
0
72
-35
22
0
-57
29
43
-1
-35
-17
0
-44
33
0
-100
53
3
6
-50
-15
-58
0
33
0
65
-33
-46
13
-13
29
-2
-45
62
0
0
-17
-29
40
30
-18
31
13
14
0
10
0
-3
-1
-30
22
-6
-1
51
0
43
-82
0
37
81
-7
1
-11
10
0
-98
-101
-33
0
-14
7
56
-40
-12
0
-66
-13
11
3
0
40
-66
-70
-7
0
-14
42
-40
-74
-89
0
72
-10
-10
0
-48
3
11
6
-58
-19
0
1
26
0
32
-75
-35
-16
-14
0
55
0
21
0
0
-1
-14
16
37
121
-5
32
-36
0
0
10
-38
29
14
43
5
-3
-3
0
0
0
0
5
1
-20
-7
0
52
0
-41
-91
0
-6
9
-24
-7
0
-30
0
-25
0
-28
0
23
-56
-5
0
-20
0
-10
-49
-10
1
0
64
-9
10
62
0
9
7
-5
-12
14
0
-5
0
-38
0
14
44
17
5
-15
-14
0
-6
-12
0
-25
-5
-54
-11
20
5
8
0
24
0
0
0
0
-9
-1
10
0
0
9
0
0
0
0
-1
15
49
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-19
6
-2
0
-37
0
0
0
5
0
5
-43
4
0
-32
0
5
0
-17
37
0
-12
0
0
-15
0
0
0
-5
40
-50
0
0
0
-2
0
0
0
24
-15
-4
-15
0
0
26
0
0
0
-2
-26
55
-30
0
0
37
0
0
0
0
33
23
9
14
2
13
0
0
0
0
0
9
1
0
0
29
0
0
0
0
0
-16
32
2
0
-47
0
0
0
0
-3
-14
23
0
0
67
0
0
0
7
0
-72
-10
-1
0
48
0
0
0
-5
-27
0
55
0
0
-74
0
0
0
-2
5
-60
0
0
0
-24
0
0
0
6
47
32
-10
0
0
68
0
0
0
3
8
2
19
0
0
12
0
0
-3
27
41
-31
6
6
1
-38
0
0
0
9
4
5
3
0
0
-20
0
6
0
-14
-12
-28
-12
5
0
56
0
0
17
0
-14
-40
47
4
-23
27
0
3
4
-18
0
19
16
3
-6
114
0
-5
8
-58
41
0
-17
3
2
108
0
0
-3
38
26
45
0
4
0
17
0
2
-8
30
28
-46
41
0
0
35
0
0
3
59
4
-10
-70
-6
0
-3
0
-9
18
60
-8
-60
28
40
4
-15
0
0
2
20
41
-8
20
-7
10
92
0
-23
0
18
-72
-9
-46
29
3
16
0
-7
41
0
-60
37
-63
13
-20
-47
0
-1
13
34
0
-13
40
25
-6
3
0
4
17
-2
29
0
19
-4
-15
78
0
0
-13
15
-38
14
0
-13
-4
16
0
5
-11
34
65
90
-36
0
-7
25
0
-1
6
-20
41
-22
8
-17
0
-25
0
-23
90
69
-28
-77
-43
-29
-23
38
0
0
0
115
50
35
-11
-5
24
49
0
-9
0
5
24
75
23
-36
33
35
0
12
0
0
-12
-48
-18
-24
69
28
0
24
-33
-56
0
71
-7
4
38
26
0
8
-14
56
-28
0
-63
15
83
-12
0
0
-40
-16
14
-38
0
0
4
3
0
-23
18
1
-5
-13
-32
0
21
1
0
-7
-2
-28
55
34
3
-2
0
49
0
20
99
1
67
-31
37
-26
-7
49
0
0
-5
34
52
26
15
73
70
23
0
-83
0
-7
-3
42
68
-8
15
86
0
13
-7
0
32
8
38
30
19
-3
0
-5
16
-63
0
65
31
5
142
45
0
45
-15
-24
59
0
29
37
5
-20
0
17
85
-8
-33
-39
0
-29
9
-9
0
13
-8
-19
-69
-33
-8
0
-23
51
0
3
-3
-1
-24
-23
-10
10
0
53
0
62
-63
-97
19
22
67
33
61
47
0
0
2
-72
-38
-2
49
59
-59
38
0
-1
0
-32
-13
101
69
70
9
68
0
20
-31
0
11
-17
-40
-3
-45
75
0
10
33
6
0
20
-28
6
-28
30
0
14
14
2
-34
0
36
20
-25
30
0
1
5
-25
-50
3
0
-25
-51
-11
0
-3
34
16
-46
21
21
0
9
13
0
5
14
23
-59
-73
18
-1
0
26
0
-22
-94
-37
-97
67
43
-18
24
-15
0
0
15
-3
-42
63
48
-50
-41
29
0
-22
0
27
71
-63
-54
-33
-22
39
0
13
24
0
-52
-105
47
-17
49
81
0
-1
-8
56
0
-80
-39
18
-15
25
0
-5
5
68
7
0
49
-32
-12
23
0
-45
-23
1
9
92
0
16
105
65
0
28
-12
-3
-30
-4
35
0
-1
-8
0
0
0
-5
20
74
6
0
0
17
0
-12
-58
-74
-15
55
33
9
3
43
0
0
20
-63
-14
34
38
-46
-7
9
0
75
0
6
-7
14
10
8
-20
-27
0
0
0
0
65
55
40
-7
-1
-6
0
0
0
-2
0
49
75
-18
0
29
0
0
-5
1
36
0
4
-47
0
8
0
3
0
1
20
15
0
7
2
31
0
0
0
0
8
27
-40
0
0
17
0
0
1
0
1
16
49
0
0
37
0
0
0
-3
22
-3
-40
3
0
39
0
0
0
-3
18
3
55
0
0
-79
0
0
0
0
-12
-22
-23
0
0
2
0
0
0
0
2
34
-5
0
0
-1
0
0
0
0
0
-4
-27
0
0
23
0
0
0
0
0
0
-7
0
0
17
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
-2
10
0
0
7
0
0
0
0
0
0
3
0
0
60
0
-1
0
-3
-15
36
-23
-29
-3
25
0
0
0
7
-28
21
33
-2
0
3
0
0
0
0
2
-29
6
0
0
24
0
-3
13
0
45
-17
13
-22
0
-2
0
7
-5
51
0
16
38
-6
0
-12
0
6
52
101
21
0
-5
17
0
-29
0
19
14
-65
-78
-78
0
1
0
37
0
22
73
-6
-3
13
-68
0
0
-22
0
63
18
56
-53
-32
-17
0
0
-10
0
-3
40
27
40
95
52
-58
60
90
0
0
10
-19
-9
-33
12
13
-21
-20
0
0
0
1
5
-5
-5
-4
7
-5
0
-24
-153
0
4
-48
9
-13
-3
-15
0
-12
46
1
0
-42
26
4
-41
9
0
1
64
92
33
0
-1
-101
-41
4
0
51
65
14
-38
-60
0
-22
20
36
0
35
-17
49
3
-11
-27
0
-16
7
0
18
0
-1
4
-30
-41
15
0
137
0
20
22
-22
-10
30
7
-2
-57
19
0
0
-9
31
8
10
-11
-30
4
34
0
0
0
12
14
12
2
-1
-18
14
0
-51
21
0
-28
13
-17
-12
4
-20
0
43
39
-54
0
-58
-28
-40
-10
8
0
26
11
36
10
0
-6
-48
-23
-20
0
19
17
-47
9
-52
0
-136
-34
28
0
-32
-12
24
-12
-34
-40
0
-102
24
0
-19
-41
1
-26
-53
-38
-63
0
60
0
3
10
-10
66
25
17
-44
23
-17
0
0
-8
63
29
28
4
14
25
59
0
4
0
-1
-3
16
45
10
8
34
0
12
-11
0
-82
-47
-70
0
-47
17
0
-12
-20
7
0
-18
-14
29
34
8
0
-70
-79
31
-5
0
-39
-39
-27
-6
0
-82
-21
-5
-1
-82
0
-100
-55
21
0
-27
9
-7
7
-12
-21
0
-57
23
0
-61
-14
18
15
4
-59
5
0
59
0
-18
106
74
-7
13
-11
6
37
3
0
0
25
4
-58
47
-6
-34
16
-29
0
0
0
2
25
7
-18
8
14
4
0
-26
-32
0
-68
11
-76
31
-7
-4
0
-51
-37
-20
0
-4
-73
-98
-26
7
0
-64
-35
19
14
0
-63
-73
-94
-10
0
-80
-104
21
4
-19
0
-3
7
-5
0
-130
-36
13
0
-5
-15
0
-56
-7
0
-151
-53
14
-20
-8
-49
-15
0
-14
0
53
5
29
67
29
24
90
4
105
0
0
-24
37
-8
-32
145
-24
10
81
0
2
0
-2
3
4
-49
6
-6
0
0
87
0
0
-34
-19
-70
21
-17
-5
0
-20
-94
29
0
-111
-91
23
-37
-11
0
17
36
-11
0
0
-30
30
2
-21
0
43
-47
5
-34
-50
0
-48
-40
-9
0
-34
4
-9
3
-4
10
0
-11
-18
0
-20
4
-9
-5
-22
-18
-59
0
15
0
2
-6
3
8
-31
93
92
28
-46
0
0
29
3
44
5
53
46
-3
34
0
0
0
-2
-8
-27
65
-6
0
-16
0
28
84
0
-52
-80
25
8
27
-34
0
1
-8
14
0
-96
-77
-1
36
15
0
-28
-22
13
16
0
-25
-51
-13
-39
0
56
-98
29
-14
-18
0
64
-10
-5
0
-26
-6
46
-5
-5
15
0
-54
10
0
-75
-22
-10
-8
-6
-17
9
0
-14
0
0
-9
5
-57
-11
-7
10
-2
76
0
0
-2
-54
-16
12
69
20
-2
43
0
0
0
0
10
18
21
0
0
2
0
-10
159
0
-7
-67
-23
-40
1
3
0
28
100
34
0
-45
-59
4
0
42
0
32
-50
-22
6
0
-13
1
-10
-8
0
-43
65
10
-36
-37
0
121
3
1
0
35
15
26
-9
21
27
0
22
-12
0
-76
-19
-22
19
7
-5
-29
0
84
0
0
0
0
-4
-34
16
0
0
25
0
0
0
0
0
29
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
1
2
0
0
60
0
0
5
3
0
-4
-12
0
0
46
0
3
8
1
7
0
36
0
0
110
0
0
-1
-24
-66
1
0
0
0
36
0
0
-44
13
-4
30
35
0
0
-32
0
4
-4
-3
-37
-5
17
0
0
52
0
0
-8
18
50
-2
-15
30
0
-28
0
0
0
31
-65
67
39
10
-7
99
0
-2
0
5
84
115
-10
0
1
-39
0
0
0
0
-20
-75
-44
-2
0
-101
0
-1
1
44
0
-54
-23
12
0
38
0
-1
2
17
11
0
4
5
0
-85
0
0
0
-9
-24
49
0
0
1
-44
0
0
0
0
10
41
-4
0
0
-20
0
0
0
2
8
6
-1
0
0
83
0
15
56
3
36
37
6
-13
50
34
0
0
0
16
-8
14
60
9
-5
40
0
-2
0
19
0
69
25
18
-5
43
0
5
24
0
-14
39
-8
3
7
65
0
-3
-33
15
0
-34
0
-23
-56
44
0
-3
-47
-85
102
0
59
-18
-17
-9
0
-3
-4
16
-72
44
0
7
-24
-87
0
1
-4
53
4
-48
7
0
6
40
0
0
13
42
-51
-8
-9
0
0
10
0
1
-5
-30
-18
-2
51
7
38
60
0
0
7
-7
-21
62
26
13
-27
8
0
-18
0
4
106
72
10
43
40
-7
0
13
-5
0
5
-148
24
5
-5
65
0
4
-21
-12
0
6
-3
-1
-9
9
0
9
5
3
-51
0
12
-47
23
68
0
4
-7
-14
23
-29
0
-17
25
90
0
-3
7
25
-66
62
49
0
-14
-22
0
-1
8
3
16
29
43
-19
0
-13
0
-10
51
-90
7
12
5
38
13
92
0
0
15
14
46
11
53
17
-1
-37
0
-40
0
9
19
-29
-27
-2
-3
58
0
16
-30
0
-73
-43
-10
-13
-57
70
0
-2
-41
-13
0
45
25
78
13
37
0
-6
41
9
5
0
36
0
49
96
0
-8
7
59
-18
-11
0
5
-74
-22
0
-8
59
28
48
-79
-71
0
15
42
0
14
-2
-21
63
-23
-12
5
0
31
0
-4
22
55
-4
22
97
8
2
41
0
0
-13
-56
-16
26
99
12
53
47
0
-24
0
-39
15
58
-1
-8
24
22
0
-5
40
0
14
-14
67
34
46
49
0
6
9
-17
0
-1
-19
25
-2
-20
0
-4
-5
-1
11
0
20
18
84
52
0
-4
25
-53
66
-54
0
-24
2
60
0
3
8
1
59
-24
46
0
-27
27
0
6
5
16
11
-3
-31
7
0
36
0
-25
-130
54
33
7
19
-16
-18
-48
0
0
22
-1
-8
-2
-60
20
48
52
0
-20
0
20
-46
-97
68
5
1
82
0
24
21
0
66
13
-6
0
1
36
0
15
42
-42
0
33
-38
-41
67
98
0
25
19
19
32
0
-11
14
-111
3
0
16
-2
44
72
5
0
9
56
34
0
75
11
-44
14
40
-10
0
-3
10
0
16
-25
-35
-35
23
-3
7
0
60
0
32
58
-81
-72
44
33
65
-30
11
0
0
16
-32
152
-53
-20
14
-29
7
0
108
0
-18
-68
3
68
-3
-12
-5
0
-4
-20
0
24
-10
15
0
34
50
0
6
4
42
0
39
45
8
-5
36
0
8
-1
-3
-13
0
37
-13
31
29
0
-40
0
-1
-18
26
0
-4
47
121
0
3
-5
-23
-28
50
-35
0
1
42
0
-4
5
-9
8
-1
13
0
0
67
0
-23
-52
50
-20
-13
14
-57
31
126
0
0
-2
29
-48
13
88
-51
-25
66
0
39
0
-4
-99
-4
-19
-3
-5
58
0
8
-2
0
-5
24
76
-6
7
-13
0
0
-2
13
0
-4
-22
-9
0
56
0
0
0
12
-12
0
36
-3
0
8
0
0
0
0
-1
21
0
0
0
21
0
8
-1
-2
-22
-38
14
0
0
41
0
0
0
0
-1
-3
27
0
0
-3
0
0
0
-25
-37
51
57
0
0
116
0
0
0
-5
13
26
-28
0
0
-14
0
0
0
0
-16
-33
37
0
0
76
0
0
0
0
0
53
-30
0
0
18
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-8
0
0
6
0
0
0
0
0
-1
0
0
0
49
0
0
0
0
0
0
-8
0
0
18
0
0
0
0
0
-3
0
0
0
114
0
0
0
0
-7
19
57
-23
2
-5
0
0
5
0
0
-2
6
-3
0
9
0
0
0
-2
2
6
-5
0
0
-77
0
0
65
0
-66
-69
68
1
-9
-30
0
0
42
98
0
-45
-14
-11
-6
9
0
5
99
117
-32
0
0
12
-10
40
0
1
8
97
58
-26
0
-15
-11
11
0
18
18
79
-1
-31
1
0
-40
3
0
-4
-40
52
9
-19
-85
67
0
20
0
38
88
59
151
44
89
63
33
39
0
0
3
28
67
53
-88
16
30
66
0
-1
0
59
5
16
27
0
-17
-52
0
-46
200
0
-102
-34
-25
-87
22
-21
0
51
42
90
0
-70
-12
23
33
11
0
46
-24
139
6
0
-32
-55
15
25
0
-52
47
51
-12
-51
0
-55
-105
-1
0
-8
94
74
14
-41
-47
0
-57
-10
0
-28
51
62
4
-29
-37
-80
0
59
0
-30
38
25
-119
37
60
-7
-27
10
0
0
13
73
-24
-38
36
13
-23
170
0
0
0
40
4
86
55
28
9
13
0
-41
-10
0
-97
-36
-56
88
-31
12
0
-27
5
24
0
-109
43
-49
65
-6
0
35
37
36
-28
0
1
-22
-37
19
0
17
2
62
-48
-15
0
-51
4
-3
0
92
16
-7
-14
-18
-7
0
-23
-19
0
-16
13
8
-21
-17
-41
-26
0
44
0
29
44
70
35
-11
75
49
-12
29
0
0
73
-28
-14
3
69
-58
-59
58
0
1
0
0
7
100
38
63
8
55
0
24
-3
0
81
77
4
-28
8
11
0
-24
-9
3
0
2
6
53
-59
-6
0
41
-34
14
-24
0
21
50
37
6
0
9
68
-67
-16
-13
0
-39
48
-8
0
-33
-14
23
-41
-37
-33
0
-8
-7
0
-19
12
-21
-44
-14
2
-48
0
52
0
-48
33
99
67
56
50
80
23
20
0
0
-34
5
-86
-36
14
73
5
-60
0
20
0
-16
15
-55
69
-48
19
38
0
14
-26
0
56
73
72
104
-29
-14
0
42
-51
-9
0
-28
-10
-59
-43
-16
0
-125
-55
-26
-16
0
56
38
-21
-10
0
35
-7
-45
-37
-19
0
36
-33
4
0
-43
-74
-28
-34
-1
18
0
50
13
0
7
-25
-63
-26
29
36
43
0
16
0
35
-70
-32
17
0
24
-15
14
58
0
0
-93
-40
-1
27
15
2
17
-82
0
0
0
16
-3
-114
-93
-45
-6
64
0
26
-42
0
12
-34
0
-62
43
-12
0
-22
-99
1
0
46
-91
29
-30
20
0
-67
30
-35
40
0
53
-83
14
9
0
-7
-10
-82
-4
43
0
-82
64
-23
0
-78
-57
-77
-27
41
16
0
3
8
0
-30
-74
-84
-43
36
38
-61
0
-17
0
11
-52
-130
21
4
-10
15
5
5
0
0
10
-58
-35
62
27
38
17
-85
0
5
0
-2
-7
-44
-59
10
6
28
0
-14
-51
0
-10
-28
0
-27
14
38
0
-78
25
-62
0
-14
31
-56
47
51
0
-51
-97
-57
15
0
8
-46
-35
6
0
-8
-127
-35
-7
67
0
98
40
-5
0
-106
-129
-96
-23
18
-7
0
-20
-26
0
-33
34
-35
-10
24
-7
-14
0
-32
0
-1
-4
-46
-87
-2
-129
23
86
41
0
0
57
-15
-3
1
23
36
9
-49
0
0
0
0
-2
-74
-56
-5
0
43
0
-27
-48
0
15
-27
-27
1
0
67
0
-5
-9
-23
0
13
7
-8
0
30
0
-23
-15
-66
63
0
69
37
7
-98
0
-42
-26
-70
-37
41
0
24
0
-46
0
-51
-86
-96
-16
38
31
0
-23
2
0
22
-17
-18
17
29
4
-98
0
-44
0
0
0
0
-7
-3
-20
0
0
5
0
0
0
0
16
15
26
-2
0
-4
0
0
0
0
0
-2
0
0
0
9
0
0
0
0
0
-27
-3
-6
0
-50
0
0
0
-10
0
4
-13
5
0
11
0
2
0
-21
84
0
-39
0
0
-33
0
0
0
-5
80
12
0
0
0
-34
0
0
0
-46
-21
35
6
0
0
111
0
0
0
-1
13
-26
-26
0
0
12
0
2
13
1
69
23
32
57
9
64
0
0
6
-6
3
68
28
83
0
-48
0
0
0
-7
-3
23
-2
0
-6
-56
0
0
0
0
-5
58
-54
42
-4
182
0
1
0
56
0
52
41
-4
0
152
0
0
0
53
-19
0
21
0
-5
-2
0
0
0
-49
-38
41
0
3
0
75
0
0
0
30
1
-42
-4
0
0
67
0
0
0
16
-1
-35
4
0
0
6
0
-8
-10
85
8
-31
79
4
107
49
0
0
0
26
50
105
29
-12
-13
-20
0
-5
0
41
-63
-71
-111
-51
-25
51
0
-1
48
0
-29
-38
65
4
-8
50
0
-2
41
54
0
-78
17
39
-6
50
0
-2
43
90
19
0
7
19
-24
73
0
0
2
34
49
-45
0
14
17
4
0
0
41
23
32
18
-25
0
-2
1
0
-1
7
20
-39
44
44
-13
0
6
0
-35
-32
13
-52
-2
-41
30
-36
58
0
0
23
28
-3
-16
38
-36
-25
38
0
51
0
63
-69
14
-4
-20
-47
56
0
-29
15
0
-46
-1
17
-45
-24
67
0
3
39
-45
0
63
-11
59
10
60
0
21
-10
87
-19
0
27
74
-10
-47
0
9
23
52
50
67
0
6
8
39
0
9
-3
-28
-54
7
2
0
69
85
0
41
1
2
3
34
-103
11
0
17
0
-57
95
-13
8
-2
21
36
-17
34
0
0
-39
98
-3
-45
-5
81
-56
33
0
-7
0
-34
-27
46
75
20
109
62
0
8
17
0
-22
-51
0
72
57
72
0
38
-107
24
0
23
19
29
79
25
0
64
7
-20
49
0
54
3
80
32
0
6
14
-19
36
-34
0
-62
18
84
0
-17
5
37
-61
10
32
0
-8
98
0
-19
-12
31
-61
-121
-47
-22
0
52
0
-19
-30
47
7
39
21
40
-23
27
0
0
-35
-12
71
48
35
-23
30
35
0
-28
0
-47
31
35
9
11
50
97
0
60
5
0
42
-3
23
-38
14
38
0
-67
39
59
0
-13
31
-11
20
17
0
8
2
-22
21
0
-26
10
121
31
0
-29
47
-55
1
19
0
79
16
16
0
12
-34
-24
-57
-52
23
0
-57
41
0
67
3
-52
-28
-27
-8
-12
0
34
0
28
19
-2
-27
27
3
-51
42
12
0
0
-56
47
48
48
-8
-44
65
28
0
2
0
-69
-6
39
-22
20
68
56
0
-82
-22
0
-74
29
23
-40
-67
22
0
15
17
-24
0
67
63
-30
-46
17
0
-5
6
-59
-50
0
20
-4
-21
-30
0
7
1
31
-88
6
0
-82
-95
43
0
-2
2
35
136
56
-42
0
39
36
0
-13
13
8
11
36
55
-1
0
5
0
49
-93
-16
60
-12
31
-72
-109
5
0
0
-14
-62
7
-5
66
-55
14
-20
0
-36
0
-18
-14
-9
-34
25
-8
19
0
-15
54
0
-38
-36
24
-56
-5
-11
0
-14
-17
-3
0
-74
42
22
36
1
0
0
1
-40
82
0
-4
12
-18
-25
0
-34
-5
6
-35
34
0
8
-19
33
0
-10
-2
-31
56
35
46
0
3
72
0
-2
8
-27
77
42
5
0
0
-22
0
-10
-149
7
3
33
14
-65
-28
1
0
0
23
-135
-33
58
10
-39
45
7
0
7
0
-6
-56
30
-4
4
-21
-41
0
0
-1
0
95
25
22
27
2
-38
0
0
1
-53
0
-69
-72
-27
-8
14
0
0
-3
0
29
0
-5
-57
-3
49
0
3
0
-1
24
-15
0
4
9
32
0
0
0
-1
-39
89
-35
0
0
-55
0
0
-2
-2
-2
-13
31
0
0
4
0
0
0
-101
41
24
10
15
0
-79
0
0
0
-15
-29
8
36
1
0
-92
0
0
0
0
8
-76
-4
0
0
-47
0
0
0
0
21
17
-3
3
0
-41
0
0
0
0
0
-14
-107
-1
0
21
0
0
0
0
-1
0
-8
0
0
62
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
-3
16
0
0
-32
0
0
0
0
0
3
-5
0
0
89
0
-5
-48
-121
13
65
44
18
7
44
0
0
13
38
92
82
26
-10
-7
-43
0
0
0
-1
94
-18
6
-12
0
9
0
-1
71
0
-46
113
-5
-6
4
46
0
-1
-53
3
0
8
19
-20
-2
-36
0
82
8
1
41
0
-4
19
0
-100
0
51
9
-95
-28
-55
0
1
0
-5
0
56
21
-11
33
3
21
0
0
-27
0
29
-22
39
2
10
-45
1
0
111
0
0
-23
33
10
32
67
44
57
40
0
0
43
21
-69
71
36
77
-38
-58
0
1
0
27
85
-28
10
-39
-3
-14
0
7
22
0
-22
-61
-7
11
-4
57
0
-8
13
115
0
-20
47
-27
-50
49
0
-27
86
17
74
0
-29
-22
-65
-55
0
28
39
-5
-69
-59
0
-66
71
-4
0
-67
33
-12
7
-17
-1
0
-42
-5
0
10
-53
5
-20
-25
-40
72
0
28
0
-56
54
59
-22
90
55
22
30
60
0
0
28
-21
-36
10
-3
-58
0
-34
0
0
0
55
-1
-44
-45
-70
-23
5
0
99
-29
0
50
-78
3
-41
62
-40
0
84
34
-24
0
-68
-19
0
-53
47
0
22
71
48
29
0
57
-38
32
-29
0
-89
-96
41
-28
-4
0
-64
-39
11
0
-86
-52
1
-32
-3
-7
0
-45
-9
0
-7
-11
-6
9
-7
-28
-49
0
-2
0
30
121
-9
41
-16
46
35
54
62
0
0
-55
50
61
-1
-35
89
1
30
0
17
0
-57
-14
-19
40
39
41
-16
0
-2
46
0
-66
11
-9
8
-51
-2
0
-68
30
-15
0
16
9
79
2
23
0
7
-129
-33
30
0
62
28
-6
35
0
-38
9
53
38
60
0
0
-89
-22
0
-39
-1
1
-47
-36
7
0
6
5
0
-30
12
-17
-1
2
14
-28
0
26
0
72
94
37
-15
3
-18
-16
111
-21
0
0
-70
10
-75
-46
63
-72
53
25
0
12
0
55
8
5
-29
46
30
21
0
73
9
0
23
-54
105
16
-58
4
0
5
-33
-4
0
-56
-26
22
18
-3
0
-63
12
-2
20
0
4
56
26
28
0
-77
-11
36
28
1
0
-87
30
-7
0
-48
14
-28
-14
-21
6
0
14
2
0
-54
-30
26
14
-6
-62
-9
0
11
0
25
-56
15
121
-22
18
59
-49
40
0
0
-33
23
25
2
16
-47
92
34
0
-5
0
4
-57
-77
-28
19
-2
27
0
-56
-17
0
-8
-23
81
-6
21
2
0
17
-60
-5
0
-20
-20
-53
18
-1
0
-72
35
35
15
0
-19
-26
0
26
0
30
-17
37
51
32
0
39
-31
-12
0
-49
-8
32
2
-19
-10
0
40
1
0
-38
-27
46
8
2
37
-72
0
44
0
0
-19
51
84
14
-16
14
20
25
0
0
69
-58
-47
-18
35
20
0
28
0
-3
0
-8
-25
-37
60
8
1
-2
0
-92
-20
0
16
5
2
-54
3
1
0
-59
-47
37
0
-19
-84
-41
15
6
0
-91
-31
22
-18
0
-7
-6
30
29
0
-31
-10
19
-43
-12
0
53
63
0
0
-31
5
45
-17
-12
-8
0
-39
0
0
-74
14
39
-24
41
7
-68
0
18
0
0
-7
-19
-18
-13
-9
-23
13
22
0
0
8
-33
-67
55
-1
99
-3
14
0
0
0
0
29
93
-44
8
0
18
0
-59
65
0
-23
-5
-72
3
0
-8
0
41
54
-36
0
-83
-24
-9
0
-5
0
-32
-27
15
10
0
12
-40
-24
-3
0
1
5
-53
-46
-32
0
60
9
6
0
103
-47
9
-29
-39
44
0
-34
13
0
-9
-28
-29
4
6
35
-21
0
-8
0
0
0
0
-6
14
10
1
0
-48
0
0
-1
0
42
-70
59
0
0
52
0
0
0
0
0
0
-6
0
0
7
0
-1
-3
0
0
8
10
0
0
-21
0
0
0
-8
0
8
-21
0
0
22
0
2
0
-48
-58
0
23
0
0
-14
0
0
0
-32
-12
35
0
0
0
53
0
0
-63
84
-35
-15
38
0
0
41
0
6
2
6
11
-49
48
0
0
62
0
4
-43
81
23
1
24
32
-12
1
0
0
-22
32
18
73
76
71
-75
12
0
-5
0
-12
48
45
10
-1
5
36
0
0
-8
0
49
15
28
58
8
38
0
-28
35
61
0
45
6
110
-3
-37
0
-1
-7
0
77
0
-1
31
5
-82
0
2
-1
-7
-70
6
0
13
5
-38
0
0
0
21
34
-21
-14
0
0
24
0
0
2
5
1
-14
-3
0
0
30
0
4
18
6
47
11
5
-45
49
15
0
0
11
-32
32
58
74
-58
-6
40
0
12
0
-15
56
15
79
-48
5
28
0
59
55
0
20
21
-10
14
15
80
0
18
-48
33
0
11
41
-7
69
25
0
5
-10
9
64
0
44
-14
35
36
0
-32
7
-34
-49
39
0
-109
-30
-14
0
-2
8
17
70
36
16
0
-5
49
0
-1
-2
54
6
59
-4
36
0
35
0
5
-74
53
-4
41
2
24
23
22
0
0
46
18
41
63
22
2
-5
55
0
-72
0
23
-25
27
8
124
23
22
0
-24
86
0
-82
-12
37
47
-22
83
0
-14
-53
92
0
-3
-14
-44
-7
99
0
7
-46
46
-13
0
70
-58
14
44
0
25
3
5
26
-61
0
-19
-4
45
0
12
-24
35
24
39
93
0
-3
28
0
18
6
8
-67
-53
-28
-10
0
10
0
-52
-10
-1
41
36
43
64
-8
56
0
0
-39
-38
52
25
73
48
39
21
0
24
0
-16
-91
61
20
-36
10
-22
0
13
40
0
-18
-31
18
48
-49
73
0
25
-73
31
0
7
45
79
-83
33
0
14
8
93
49
0
104
-27
72
34
0
-7
-6
15
96
2
0
40
-78
15
0
0
7
-56
-14
-9
-7
0
22
25
0
46
25
-57
80
57
-56
-10
0
46
0
-66
14
19
24
19
16
-7
-16
42
0
0
-76
58
-1
21
3
13
13
46
0
-58
0
-47
-1
-2
-7
-32
35
36
0
-15
-32
0
-8
-6
-50
-73
8
53
0
-4
47
-6
0
-27
41
-69
13
99
0
-23
17
-27
28
0
66
148
55
44
0
-1
59
99
64
-21
0
4
10
16
0
-3
14
-58
-20
-5
19
0
16
-9
0
48
-4
-34
32
-10
15
-30
0
7
0
-5
-36
-57
-9
-12
9
58
-25
28
0
0
10
-17
33
-3
10
-36
3
7
0
63
0
-53
-13
-6
-7
52
65
45
0
-29
-41
0
19
-33
-26
-12
31
27
0
-27
46
-52
0
-12
-73
-33
-43
0
0
15
68
21
30
0
-69
-3
-56
60
0
7
5
-6
-14
15
0
-9
94
108
0
25
5
41
66
-12
-67
0
32
23
0
-1
7
-75
13
24
43
30
0
13
0
66
-2
-89
8
35
4
19
-46
54
0
0
29
-85
18
62
43
76
69
18
0
-5
0
29
-48
33
-11
30
-13
-5
0
-10
-26
0
-12
-53
-37
-16
11
66
0
21
11
-16
0
-38
-59
-64
128
57
0
0
-3
-8
-50
0
-4
-46
-29
59
0
-13
0
-22
-75
39
0
26
-18
46
0
-4
18
1
0
-63
-6
0
3
23
0
-11
-13
65
-30
-11
2
-1
0
-8
0
-51
38
-20
26
9
-6
-31
83
22
0
0
-2
11
17
-19
-18
-5
-24
38
0
11
0
11
1
2
9
-30
2
63
0
-8
-1
0
-13
43
35
8
-16
40
0
0
-7
-48
0
-2
-64
-5
-3
-38
0
0
0
-8
-22
0
-47
-6
0
7
0
0
0
-2
6
18
0
-8
0
80
0
-1
-3
-31
-32
17
8
0
-8
78
0
0
0
-3
-1
-4
20
0
0
35
0
0
0
10
-10
8
27
-3
0
21
0
0
0
-23
50
1
-30
0
0
13
0
0
0
0
-44
19
-54
0
0
71
0
0
0
0
-2
-2
11
0
0
-53
0
0
0
0
0
3
-11
0
0
3
0
0
0
0
0
0
-28
0
0
77
0
0
0
0
0
-10
0
0
0
2
0
0
0
0
0
2
16
0
0
10
0
0
0
0
0
-7
15
0
0
40
0
0
0
0
6
24
52
7
-8
-1
0
0
5
0
0
-2
71
-3
0
100
0
0
0
-2
2
5
-6
0
0
36
0
0
31
0
-76
72
-82
0
-9
15
0
0
15
53
0
-21
37
-4
-3
75
0
2
22
22
-51
0
33
-4
-8
66
0
1
21
26
-26
-40
0
31
1
11
0
23
-30
107
-24
-40
17
0
-31
43
0
-5
3
130
-44
-34
8
-30
0
48
0
39
92
48
59
30
46
42
71
32
0
0
-24
16
129
44
-62
0
36
4
0
-1
0
16
6
67
48
-1
-13
7
0
-43
68
0
29
-106
61
-24
19
24
0
8
75
10
0
0
7
27
-16
29
0
51
62
84
-73
0
1
13
-35
23
0
-33
49
58
-72
-35
0
-37
-78
5
0
-24
19
123
-73
52
57
0
38
12
0
-26
39
77
-47
48
-52
-10
0
36
0
-35
77
34
25
113
14
22
-38
16
0
0
26
124
-31
57
-46
-8
-40
-12
0
0
0
127
51
109
83
12
27
20
0
-18
-22
0
-24
89
23
74
-1
29
0
-8
-72
-24
0
5
-18
-15
14
42
0
13
-43
55
13
0
51
-58
56
42
0
-1
-28
-73
-13
40
0
-22
-36
-13
0
-13
23
34
8
27
49
0
20
26
0
-49
10
-41
-10
-12
-10
23
0
69
0
1
-19
7
65
15
62
37
45
31
0
0
69
-39
18
-24
-2
-45
36
-47
0
1
0
-13
16
30
25
81
3
52
0
34
-28
0
120
-35
87
-69
-11
-21
0
-24
-63
5
0
6
-13
68
-20
38
0
24
-54
-105
-34
0
56
37
0
31
0
20
2
-53
-19
-90
0
-6
3
-11
0
12
14
-1
34
38
26
0
17
-25
0
56
-5
-28
-1
27
35
3
0
40
0
15
-11
69
0
33
9
28
-3
29
0
0
-45
7
-68
-26
26
18
50
-24
0
19
0
-12
6
-34
-27
-42
-6
-33
0
27
-35
0
-13
-62
64
45
-26
-51
0
-8
15
-74
0
-19
20
-97
-6
-40
0
-53
-23
-24
87
0
-73
-1
-47
5
0
46
31
-24
-34
-44
0
-32
67
23
0
2
2
-56
33
50
-22
0
-51
-37
0
-8
-43
-77
61
9
21
-12
0
-30
0
11
-95
-59
-15
-45
34
27
-24
40
0
0
-70
-81
-88
-27
3
71
34
-49
0
0
0
13
-3
-115
-22
-36
-5
-37
0
32
-38
0
-20
38
-53
-61
26
17
0
-28
-28
39
0
-37
-74
27
-24
17
0
-24
40
5
66
0
6
11
2
-40
0
10
-29
15
10
60
0
-78
-14
-9
0
-50
-22
-75
-16
34
7
0
-7
-10
0
-49
-20
-68
26
12
91
-6
0
-60
0
-6
-65
-100
-21
-8
-17
-32
24
5
0
0
17
-45
-29
32
46
-41
-71
32
0
3
0
-2
-19
-37
-81
5
6
1
0
-40
-18
0
-14
-22
-28
-1
-15
-22
0
-14
35
-44
0
-23
32
-30
43
-36
0
-40
-43
-71
-100
0
-55
-14
-29
-38
0
-8
-40
19
60
95
0
35
42
-77
0
38
-13
-95
-43
28
20
0
7
-18
0
25
15
-77
14
-27
-18
-8
0
-47
0
-1
-4
-30
-55
-71
-134
-4
39
26
0
0
10
15
17
-45
8
78
-6
9
0
0
0
0
-2
-48
-37
-7
0
7
0
-20
-19
0
12
23
-94
-1
0
17
0
-5
-4
19
0
1
27
-8
0
-29
0
-25
-17
-61
61
0
72
-10
7
-53
0
-7
-44
-37
29
48
0
20
0
-7
0
-36
-65
-111
12
45
-15
0
-1
-38
0
8
-22
-37
-25
96
4
-44
0
-61
0
0
0
0
-7
10
-56
0
0
37
0
0
0
0
20
-6
-16
-2
0
-4
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
-19
20
-6
0
-41
0
0
0
-5
0
2
-22
5
0
-11
0
2
0
2
10
0
-34
0
0
-20
0
0
0
-5
53
36
0
0
0
10
0
0
0
-17
2
-21
25
0
0
90
0
0
0
-1
36
-20
-72
0
0
36
0
-4
16
-18
61
-55
7
31
38
106
0
0
5
-7
3
34
30
51
6
59
0
0
0
-6
22
25
-28
-2
-20
19
0
0
0
0
8
-51
-50
28
-7
70
0
1
0
29
0
139
33
-6
0
150
0
0
0
32
-22
0
74
0
-5
71
0
0
0
-42
-11
10
0
3
0
77
0
0
0
4
9
-43
-17
0
0
70
0
0
0
9
13
4
-7
0
0
17
0
-10
21
-16
8
88
70
-31
20
16
0
0
0
8
90
17
11
0
-22
21
0
-21
0
69
-5
-20
45
-8
-38
47
0
0
31
0
-5
110
136
-1
-23
84
0
-2
32
35
0
-3
10
9
47
94
0
-1
52
56
56
0
28
10
-22
57
0
0
-6
50
-29
-83
0
22
21
52
0
-1
42
46
-19
2
-30
0
-4
-17
0
-1
12
31
-7
-24
39
-2
0
29
0
-11
-20
6
5
-45
14
-18
-72
27
0
0
63
-34
45
8
102
5
-66
43
0
48
0
73
80
81
-12
-41
7
22
0
-13
13
0
-49
29
53
31
42
108
0
2
9
-50
0
25
105
28
-35
-27
0
-5
-37
64
6
0
9
102
-8
31
0
8
-1
53
43
42
0
0
12
-38
0
-1
9
-19
-66
142
-8
0
20
35
0
24
1
-4
-15
53
-104
-25
0
29
0
-18
0
-13
23
18
50
-46
48
7
0
0
-1
43
-17
37
55
42
32
12
0
26
0
-11
102
25
61
94
37
110
0
4
-7
0
-48
20
-77
-43
27
-15
0
29
-68
57
0
10
-14
-5
34
83
0
80
28
-22
4
0
-34
30
33
-13
0
5
2
-29
30
53
0
-53
48
43
0
-10
-19
33
-38
8
84
0
-11
-32
0
-1
-7
-6
-20
-43
21
-16
0
21
0
14
-113
50
63
-1
2
2
-11
33
0
0
-30
76
-4
-2
32
-38
61
39
0
4
0
-62
-75
32
15
17
2
62
0
20
10
0
24
-25
13
-50
29
-12
0
-45
5
-7
0
-51
-23
89
17
35
0
-22
3
-44
-11
0
20
-6
52
25
0
-29
31
-7
-67
79
0
43
9
87
0
13
-21
-45
12
-27
4
0
15
-34
0
-2
-9
-9
6
-36
-15
-1
0
-40
0
-8
19
-28
39
-11
30
-3
54
-39
0
0
-60
47
-11
-19
1
-59
-1
-37
0
49
0
-74
-55
-14
-1
1
-10
31
0
-58
-7
0
-5
-12
-3
-2
-33
35
0
16
10
-37
0
-3
26
9
-53
42
0
-5
-12
0
-55
0
4
-11
-22
62
0
8
7
20
-32
22
0
-53
-22
71
0
-2
2
15
15
18
-43
0
32
57
0
-8
1
9
46
9
-12
-1
0
34
0
36
-39
5
29
62
17
29
-44
-23
0
0
-57
-71
-111
75
-100
-43
-10
17
0
-84
0
-28
-109
-8
-67
-36
74
47
0
38
2
0
46
-50
4
29
-55
29
0
20
6
-26
0
20
32
13
12
-48
0
0
1
-80
73
0
-16
-37
17
-79
0
-13
1
-4
-20
-40
0
-1
-18
-3
0
9
-2
-5
55
-30
40
0
0
104
0
-2
8
-25
14
29
15
0
0
-25
0
-2
-63
141
-10
-8
-9
9
-47
1
0
0
25
-78
123
-54
9
42
47
-68
0
-42
0
45
-49
18
-15
5
-10
-72
0
0
-1
0
30
-33
53
-27
2
-79
0
0
0
-42
0
-59
-20
-30
-2
-34
0
0
-3
0
-4
0
-35
-24
-3
-31
0
3
0
0
16
-2
0
-2
9
-38
0
0
0
0
-29
50
3
0
0
8
0
0
-2
-2
5
15
13
0
0
18
0
0
0
-97
-37
31
-24
21
0
-30
0
0
0
-14
-41
-27
-27
3
0
-43
0
0
0
0
65
-65
-25
0
0
-13
0
0
0
0
14
-69
-5
3
0
-46
0
0
0
0
0
-7
-76
-1
0
22
0
0
0
0
-1
0
10
0
0
38
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
-12
20
0
0
-5
0
0
0
0
0
2
-3
0
0
56
0
-3
-45
-19
47
53
34
-2
-49
59
0
0
-4
2
25
-30
36
21
-19
33
0
0
0
-4
129
-20
13
-12
0
36
0
-1
20
0
-24
9
59
0
4
-10
0
0
-54
77
0
-29
17
-11
-2
118
0
54
-21
26
-6
0
62
-11
0
11
0
40
-29
-29
6
-44
0
1
0
46
0
7
-7
-3
-8
-7
-18
0
2
-3
0
-9
49
-71
-1
-50
-41
0
0
44
0
0
9
5
-39
28
38
48
51
74
0
0
-15
75
-32
17
-4
22
84
66
0
1
0
36
52
9
75
-29
8
-24
0
-31
1
0
-30
-33
-41
5
8
-7
0
6
50
99
0
-60
-23
-149
-21
63
0
-37
48
68
10
0
-43
43
13
-6
0
-53
-24
-48
-22
12
0
-6
94
11
0
-54
34
42
-85
9
52
0
38
14
0
92
-49
22
14
-25
13
-44
0
30
0
-39
26
6
-14
-3
35
60
53
3
0
0
62
-33
57
67
-15
-16
16
-23
0
0
0
8
-19
-22
-57
-51
-23
-34
0
133
-25
0
-26
96
23
-14
18
29
0
29
-4
35
0
46
11
50
-30
52
0
-19
-4
24
5
0
8
-13
2
14
0
4
-63
5
86
-30
0
-27
-17
-35
0
-33
25
-7
-36
5
23
0
-7
14
0
-24
-102
-3
1
41
100
-6
0
49
0
-6
3
72
47
15
-26
-12
-1
31
0
0
17
38
-20
3
-5
-10
-64
10
0
16
0
-12
2
-39
-28
50
38
31
0
-23
11
0
-22
-44
51
14
-53
38
0
-94
-17
-75
0
-46
38
67
-7
-49
0
-7
71
-30
60
0
29
-6
-5
-5
0
3
5
13
-18
114
0
-21
-36
7
0
65
-16
40
39
49
48
0
21
-43
0
-4
-48
29
-1
13
41
36
0
7
0
51
31
-26
44
64
-4
-15
23
-3
0
0
-87
-7
2
12
-42
-100
34
12
0
9
0
41
-24
27
-49
8
29
23
0
43
-15
0
46
-23
29
-48
10
-32
0
-22
16
-15
0
-24
-3
-3
-17
-14
0
54
-44
-51
-20
0
67
5
44
28
0
-13
-52
13
28
16
0
-55
-60
-2
0
51
-40
-6
41
-4
-19
0
-40
32
0
-20
-14
3
-34
-16
-62
29
0
26
0
39
-32
-44
-9
-23
60
-51
-24
-22
0
0
-51
30
-29
-10
33
10
50
-21
0
0
0
5
-58
-71
67
18
1
24
0
-46
28
0
-19
67
62
-33
3
25
0
13
12
-9
0
9
-22
-15
47
17
0
-42
-18
9
32
0
51
-28
-26
49
0
49
11
77
-67
24
0
59
-16
-1
0
-61
-8
-4
-20
-18
41
0
2
8
0
23
10
-49
5
23
19
6
0
29
0
1
-23
12
-4
6
-3
44
23
46
0
0
49
-30
-22
42
1
50
-40
62
0
-2
0
-8
-25
4
72
8
1
14
0
-53
0
0
108
-35
-76
-36
-35
33
0
-31
-12
-182
0
52
26
-25
6
-44
0
-71
-37
-49
-66
0
-95
39
-7
-7
0
-54
54
51
-47
-27
0
59
52
-10
0
17
50
3
-28
-20
38
0
22
7
0
-85
65
-47
-18
32
-18
-47
0
15
0
0
-8
-33
-34
-29
-37
-23
22
6
0
0
2
-25
-88
-28
6
58
-3
-21
0
0
0
0
27
46
-41
8
0
3
0
-27
-4
0
-19
-15
-62
2
0
-11
0
41
1
79
0
-44
-46
4
0
50
0
-27
-16
-28
28
0
-40
-14
-19
-61
0
24
32
-132
-7
-8
0
-20
5
-32
0
-47
-47
-2
-12
-24
64
0
-69
10
0
-16
0
29
43
-32
6
-20
0
-73
0
0
0
0
-6
43
-4
1
0
-23
0
0
-1
0
42
-43
45
0
0
13
0
0
0
0
0
0
-4
0
0
23
0
-1
0
0
0
14
4
0
0
-66
0
0
0
-4
0
-5
-18
0
0
-5
0
2
0
-89
-19
0
28
0
0
-1
0
0
-1
-14
-41
-22
0
0
0
44
0
0
-52
14
-6
11
-12
0
0
23
0
6
0
9
-10
14
-56
0
0
27
0
3
-61
-41
61
6
26
-23
-31
62
0
0
-21
23
98
44
71
70
-72
-40
0
-13
0
1
9
-2
-24
34
1
21
0
0
-12
0
98
-42
-32
123
9
88
0
21
42
25
0
33
19
76
-3
38
0
-4
6
36
18
0
12
49
12
-23
0
2
-1
5
-17
-49
0
10
5
-18
0
0
0
4
11
-32
-6
0
0
29
0
0
2
5
25
-19
1
0
0
45
0
-17
-67
26
27
22
-10
-22
13
55
0
0
-16
50
40
35
6
-28
14
34
0
-7
0
-77
-42
69
17
-14
-23
56
0
49
89
0
-58
-30
53
-23
-57
63
0
3
-51
20
0
41
89
41
102
158
0
13
13
58
1
0
9
-18
6
56
0
-16
17
-18
-38
-2
0
-45
14
-5
0
-6
10
39
48
11
7
0
-8
62
0
0
2
18
57
-38
0
22
0
29
0
16
37
-10
26
54
56
80
-34
40
0
0
97
-18
19
78
25
-15
-8
44
0
-94
0
3
56
-25
56
107
-15
50
0
-19
56
0
26
42
56
-49
13
70
0
-5
-28
-6
0
-27
-66
-19
0
97
0
0
-21
-6
9
0
59
-8
37
67
0
17
-2
-44
37
26
0
-1
6
59
0
14
-5
5
32
29
-53
0
19
-37
0
15
6
48
2
-1
-33
-18
0
74
0
-71
-41
0
28
45
40
-53
48
30
0
0
1
29
13
32
-26
-100
43
67
0
82
0
-21
-57
8
13
-6
17
65
0
-5
-14
0
-26
54
64
26
-16
21
0
10
-42
10
0
-62
22
114
4
57
0
-3
-4
23
31
0
132
-33
-66
27
0
-8
-13
-1
94
28
0
29
5
120
0
0
0
-82
-5
45
9
0
11
67
0
27
3
-31
10
4
-58
6
0
-2
0
-5
-3
-33
4
105
3
-22
47
33
0
0
-5
-1
-23
71
30
40
51
33
0
-1
0
19
-59
67
58
-6
80
37
0
-1
-39
0
53
-56
-46
-51
87
50
0
2
24
-2
0
12
4
-109
-67
11
0
-8
17
-19
-56
0
10
63
8
161
0
0
29
76
-45
-9
0
-50
-18
39
0
-2
-13
5
-30
37
14
0
33
3
0
34
3
-26
52
40
-8
-25
0
0
0
45
35
-33
-18
-72
29
-14
-42
11
0
0
-21
-44
-9
27
0
71
86
26
0
0
0
-28
-29
93
-4
-5
19
-4
0
-25
-20
0
4
19
1
13
-2
52
0
-15
36
-47
0
4
26
-42
-63
-29
0
7
21
-6
20
0
-48
-23
12
85
0
5
8
-9
-38
19
0
9
23
-25
0
-3
5
-2
24
-9
-29
0
-11
38
0
-5
-8
-16
0
33
5
25
0
-6
0
47
-27
40
25
27
-13
67
-32
12
0
0
-8
-41
39
30
-6
41
-47
15
0
-10
0
86
67
48
63
11
-7
72
0
4
-17
0
-3
-59
-58
-8
-4
-16
0
19
9
25
0
-45
-97
-41
70
64
0
0
-4
-37
-6
0
-40
33
-18
-69
0
-8
0
3
-47
9
0
-2
-11
-6
0
-5
5
36
8
-56
39
0
3
-44
0
-8
-2
19
-16
-8
8
0
0
-1
0
-65
19
52
-32
-49
-32
41
63
17
0
0
-2
-32
-14
-18
45
4
-27
22
0
-13
0
12
107
-40
14
-23
-2
69
0
5
-7
0
-7
-97
27
9
-18
19
0
0
-7
-31
0
40
15
-2
0
0
0
0
0
-4
-23
0
2
-6
0
-46
0
0
0
-1
6
29
0
-8
0
27
0
2
-3
-7
-21
6
-8
0
-8
75
0
0
0
-3
-1
1
-6
0
0
18
0
0
0
27
27
31
-7
-3
0
17
0
0
0
-25
13
-18
31
0
0
-26
0
0
0
0
-25
33
-48
0
0
57
0
0
0
0
-2
85
19
0
0
-49
0
0
0
0
0
4
-12
0
0
-51
0
0
0
0
0
0
-25
0
0
31
0
0
0
0
0
-8
0
0
0
43
0
0
0
0
0
0
20
0
0
19
0
0
0
0
0
-7
8
0
0
15
0
0
0
0
0
12
4
2
-2
-2
0
0
0
0
0
0
-5
0
0
2
0
0
0
0
0
1
-1
0
0
6
0
0
-1
0
0
3
-13
1
0
12
0
0
0
-20
0
-2
31
5
0
14
0
0
-1
-17
46
0
9
0
0
26
0
1
0
-23
38
13
0
23
-5
5
0
-2
3
-13
-25
-17
-35
0
-22
66
0
0
3
48
-21
11
1
-16
0
-64
0
1
1
4
27
50
12
-18
32
-14
0
0
5
-1
9
-14
-28
1
-1
-5
0
0
0
-5
0
9
21
4
-1
85
0
-1
8
0
-6
-4
-3
5
-5
2
0
2
7
-20
0
1
5
-8
8
14
0
-10
1
56
-46
0
-42
16
-6
-12
0
0
-12
-3
7
33
0
-2
-5
43
0
10
-42
19
-46
-39
50
0
2
-19
0
-38
-3
0
15
0
0
5
0
-7
0
0
8
7
5
13
-22
-13
4
55
0
0
-5
47
19
51
37
2
-8
-17
0
0
0
25
9
13
3
-5
2
-15
0
3
-7
0
-12
6
0
-8
4
39
0
3
-5
4
0
-7
-32
-6
-1
26
0
-4
-10
-11
3
0
15
19
7
-9
0
3
-4
-5
-44
-13
0
-3
-8
-11
0
21
46
-55
37
54
32
0
25
23
0
4
-1
-19
-27
35
5
22
0
17
0
1
-2
-6
38
-14
21
-3
9
-26
0
0
-17
-1
55
37
29
4
15
-13
0
0
0
0
-5
-50
13
2
-1
-33
0
0
14
0
12
-20
14
-22
-3
18
0
-1
0
25
0
13
8
8
-6
13
0
0
-8
-40
-11
0
62
-19
-2
-11
0
-1
-1
-9
1
21
0
2
4
42
0
-3
-19
53
45
13
-27
0
9
40
0
1
6
7
15
-3
-27
-22
0
1
0
16
-8
-1
-42
56
8
1
-14
37
0
0
8
-1
-19
15
38
-32
17
50
0
1
0
0
4
-1
-33
9
-4
19
0
0
-1
0
-2
-16
-23
2
1
-18
0
0
-2
-4
0
-25
-13
-8
0
16
0
0
-4
-1
42
0
-20
0
0
10
0
2
-1
8
-11
9
0
-6
-3
-30
0
0
1
6
45
19
3
0
-22
6
0
-14
1
5
47
-36
-56
3
0
18
0
-1
-1
-8
-32
-100
17
39
-17
-17
0
0
0
4
-48
-30
-30
-7
16
4
0
0
0
0
-1
12
0
-4
0
6
0
-5
1
0
-4
17
0
0
-2
3
0
0
-3
15
0
5
-17
0
-4
-22
0
0
-2
9
46
0
2
-5
-1
-75
0
0
1
24
-21
-6
0
4
1
40
0
4
2
6
21
-68
-6
0
7
16
0
3
1
-3
-3
9
-11
-1
0
14
0
-1
0
3
-3
-14
-48
5
-25
-15
0
0
0
-5
0
-29
-63
2
-24
31
0
0
0
-1
0
0
22
-1
0
-15
0
-3
-8
0
0
1
0
8
1
-40
0
1
0
3
0
5
3
4
0
27
0
0
0
-15
-82
0
27
0
0
0
0
0
-3
16
-17
-40
0
0
0
15
0
0
25
-21
31
75
48
0
0
-21
0
0
-16
-1
-19
29
26
0
0
-5
0
0
0
0
9
-5
-4
1
4
23
0
0
-1
0
-9
-13
9
4
0
-29
0
0
0
0
0
0
6
0
0
-10
0
2
0
0
2
3
-7
0
0
28
0
0
-1
1
0
0
10
0
0
-1
0
0
3
-2
-7
0
-8
0
0
49
0
0
0
0
1
-7
0
0
0
31
0
2
-2
1
-56
-9
6
0
0
-56
0
1
0
2
43
-15
7
1
0
-2
0
0
0
0
0
-12
-3
0
0
2
0
0
0
0
1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
3
0
-19
0
0
1
0
0
0
0
7
-12
0
0
0
-7
0
0
0
0
0
-15
-53
0
0
-1
0
0
0
0
0
-6
0
0
0
43
0
0
3
2
-7
13
18
0
-9
16
0
0
0
-1
0
-1
-16
5
-2
29
0
0
0
2
-5
12
67
-1
-3
24
0
0
0
0
3
3
18
0
-1
-16
0
0
0
0
0
20
-22
0
0
36
0
0
0
0
-8
0
8
0
0
8
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
11
0
0
9
-21
21
37
-23
18
-2
84
0
0
2
-10
-3
-7
13
-8
2
42
0
0
0
6
-2
8
57
-8
-8
37
0
0
-7
0
24
8
-6
-14
-5
51
0
-2
0
3
0
20
-5
7
1
57
0
0
0
-4
12
0
-5
-2
-1
24
0
0
1
3
-1
1
0
0
0
-40
0
0
0
0
7
1
0
0
0
33
0
0
0
2
1
1
2
0
0
11
0
2
28
25
-100
26
39
-29
3
-10
0
0
-4
-29
54
-28
51
-5
29
47
0
10
0
18
14
-16
-17
5
5
25
0
-1
-8
0
-21
8
43
18
17
42
0
0
0
-1
0
-40
11
2
-7
15
0
0
-2
13
17
0
23
6
8
10
0
0
2
-1
-4
-6
0
3
-2
-4
0
-1
0
-1
3
16
0
0
0
-15
0
-1
0
-1
-1
3
-3
0
0
0
0
2
-14
-22
-77
5
20
15
-9
41
0
0
19
18
-49
28
66
38
-17
4
0
19
0
5
12
-74
-29
14
12
-50
0
-1
10
0
-6
53
39
19
2
3
0
0
0
15
0
24
-30
-4
1
27
0
-1
0
-3
8
0
-28
15
1
5
0
0
0
0
7
0
0
-1
0
-23
0
0
0
0
0
3
6
0
-2
10
0
0
0
0
-1
6
-2
0
0
0
0
7
-8
8
92
21
-69
30
43
-68
0
0
1
48
-27
-40
12
21
-27
-12
0
4
0
-7
26
38
-92
-6
-12
23
0
0
0
0
24
-7
-54
-12
-9
13
0
0
0
3
0
-20
6
-8
0
7
0
0
0
1
3
0
5
-22
0
5
0
0
0
0
-5
14
0
-6
1
45
0
0
0
0
-1
1
0
0
0
-40
0
0
0
0
-1
-1
-1
0
0
-33
0
4
-32
-22
66
-12
-55
6
-4
-26
0
0
0
34
-8
7
-33
-15
-10
-8
0
-4
0
12
-16
62
1
-18
-3
6
0
0
0
0
8
-20
-6
0
-2
-6
0
0
0
7
0
7
-26
5
-4
-25
0
0
0
-6
-1
0
-5
-6
3
3
0
0
0
0
-1
-6
0
0
-2
2
0
0
0
0
0
6
-6
0
0
-11
0
0
0
0
-1
1
2
0
0
9
0
7
14
-40
56
-38
26
-3
-7
-2
0
0
0
-13
-33
40
-25
0
13
-21
0
-20
0
-2
-40
41
23
6
0
9
0
0
0
0
-12
-21
-35
-1
-1
6
0
0
0
0
0
-19
0
0
1
-26
0
0
0
0
-5
0
-3
-2
-2
-28
0
1
-1
0
0
-5
0
2
0
16
0
0
0
0
0
-12
4
0
0
-9
0
0
0
0
0
0
0
0
0
-55
0
0
1
8
14
27
9
21
-22
-9
0
0
0
-1
55
-6
-43
7
13
-41
0
1
0
0
-9
-41
47
4
0
-15
0
0
0
0
2
-8
5
0
0
2
0
0
0
0
0
0
27
0
0
-8
0
0
0
0
0
0
-8
0
0
5
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
-1
-1
0
0
24
0
0
0
0
0
0
1
0
0
3
0
0
0
-2
2
-19
-2
-2
0
-23
0
0
0
0
0
41
1
0
0
19
0
0
0
0
0
-29
-51
0
0
0
0
0
0
0
0
-8
2
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
-2
-3
30
24
51
3
0
-45
0
0
-6
13
-27
25
53
16
-2
8
0
0
0
9
5
-4
27
-3
0
-8
0
0
-4
0
5
-33
4
0
1
16
0
0
0
-5
0
15
-2
0
0
48
0
0
-1
-1
10
0
5
-1
0
-29
0
1
0
6
-1
-2
0
0
0
-30
0
0
8
-30
-46
35
-14
0
0
76
0
0
2
-1
27
4
-2
0
0
5
0
3
-5
29
-30
12
15
19
-18
-7
0
0
-8
20
5
-32
7
-35
17
26
0
0
0
-8
5
-4
15
3
0
34
0
0
-5
0
-6
39
3
-5
-4
23
0
2
-2
3
0
1
-34
-14
0
-3
0
3
9
3
-12
0
7
0
30
-8
0
-7
2
9
4
-10
0
13
8
-9
0
-10
-27
-13
45
4
-40
0
15
-47
0
4
8
-23
8
33
66
1
0
102
0
0
2
-28
-26
21
-9
16
9
30
0
0
1
15
48
15
-32
-2
-7
-7
0
0
0
-4
2
1
-21
10
3
36
0
0
2
0
0
-22
-4
9
-1
46
0
0
-1
-25
0
-4
6
4
4
4
0
-1
-5
6
-14
0
83
0
-9
56
0
2
1
9
-9
12
0
4
-22
-35
0
5
0
-13
21
-24
9
0
12
1
0
-22
-8
19
-53
29
-17
-25
0
78
0
-2
2
29
38
-30
-6
0
24
29
0
0
16
-1
-15
-26
-20
-10
-2
18
0
0
0
-2
9
4
-29
6
-2
-2
0
2
13
0
3
-13
-3
-3
7
48
0
0
-7
-3
0
-14
5
2
-6
7
0
-6
22
-5
8
0
-20
16
-5
-1
0
-1
-9
-5
30
33
0
5
0
85
0
9
30
8
50
2
23
0
-4
-15
0
-6
-4
11
27
39
-39
18
0
-30
0
-7
-1
-8
-50
2
-46
-32
2
55
0
0
-7
3
28
49
-21
-12
8
32
0
1
0
4
-13
-5
22
-6
0
57
0
0
5
0
2
-13
-23
-8
0
-64
0
0
5
33
0
-15
27
5
-5
-22
0
4
-17
9
34
0
13
-3
0
0
0
-1
-12
-11
-34
44
0
0
-1
17
0
6
28
43
14
49
-37
0
-5
-12
0
-5
24
-3
9
-50
-17
-3
0
-21
0
20
-1
-8
18
12
48
-6
-13
-21
0
0
2
10
1
-15
-54
5
1
5
0
0
0
1
-7
-8
28
0
1
8
0
0
-4
0
-8
12
7
0
0
-35
0
0
5
1
0
1
2
-5
0
22
0
-9
-3
24
-43
0
2
2
-1
44
0
8
1
22
-62
-10
0
7
0
28
0
-13
20
-32
-23
-41
53
0
1
8
0
16
-2
-3
9
-24
-8
-4
0
-101
0
0
0
-1
13
-46
-25
20
-12
18
0
0
-3
-20
-15
1
-4
7
0
-10
0
0
0
-2
0
2
1
0
0
-22
0
0
1
0
10
-8
-8
6
0
-8
0
0
4
-8
0
24
-5
2
0
26
0
-2
-2
-21
-4
0
-9
2
0
8
0
0
-5
-1
14
13
0
2
0
10
0
31
14
12
33
29
-16
0
-6
48
0
-3
-31
-3
-3
-11
-19
-1
0
-10
0
0
0
0
-1
-8
-41
0
1
-23
0
0
0
2
-8
-4
19
0
-1
-30
0
0
0
0
0
2
0
0
0
6
0
1
0
0
0
1
0
0
0
41
0
0
-1
14
0
3
-1
3
0
6
0
0
-8
-25
37
0
-31
0
0
-82
0
0
4
-30
18
-15
0
0
0
23
0
1
-45
14
-63
-43
92
0
-2
-8
0
0
1
16
3
22
-18
1
0
-9
0
0
0
0
0
2
2
0
0
-8
0
0
0
0
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
16
0
0
0
13
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
-4
0
-9
0
0
-8
0
0
0
0
2
-39
0
0
0
21
0
0
0
-2
8
14
-39
0
0
-9
0
0
0
0
8
-15
2
0
0
46
0
-4
4
-12
28
11
28
-22
-2
1
0
0
-2
3
19
5
18
13
1
44
0
0
0
0
44
7
-23
-7
-4
-22
0
0
0
0
12
-50
-7
12
0
52
0
1
0
5
0
44
-48
0
-1
5
0
0
0
0
0
0
3
2
0
-52
0
0
0
1
0
-6
0
0
0
21
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
27
0
6
-40
-15
-9
91
-74
23
0
118
0
0
1
4
67
-19
24
-8
28
3
0
-2
0
-16
-18
-57
2
14
-8
56
0
0
3
0
-2
29
26
-9
-23
30
0
0
0
4
0
9
-22
-8
7
20
0
1
0
2
-2
0
2
-10
-6
26
0
0
1
-2
-1
-5
0
12
-3
-13
0
0
0
-1
0
-2
4
0
1
28
0
0
0
0
-2
1
-6
0
0
20
0
5
8
18
-82
-22
-34
6
-12
37
0
0
27
-43
-6
79
51
25
-11
-7
0
-16
0
0
-8
21
17
10
-3
27
0
0
-1
0
24
1
40
14
12
12
0
0
0
13
0
15
-19
9
-2
16
0
-2
0
0
-1
0
-12
-7
1
-8
0
0
0
1
-1
0
0
-2
-3
-32
0
0
0
0
7
13
-5
0
0
21
0
0
0
1
0
16
2
0
0
-16
0
-2
3
-20
25
-51
37
9
25
49
0
0
6
58
-33
32
-50
-19
22
22
0
8
0
-3
27
15
18
-11
0
-58
0
-5
4
0
-8
34
-11
17
12
67
0
0
0
-7
0
-50
19
1
2
11
0
0
0
-13
10
0
5
-2
-1
51
0
0
0
0
0
1
0
1
0
16
0
0
0
-3
1
1
1
0
0
1
0
0
0
1
1
4
0
0
0
1
0
-5
22
14
83
8
-12
55
2
-19
0
0
13
-2
14
22
-7
24
-22
58
0
6
0
0
-29
-14
37
-9
8
19
0
-1
-3
0
-5
-28
2
-31
-7
47
0
-1
0
17
0
7
-8
-6
-5
19
0
0
-1
3
-3
0
-2
-2
0
24
0
0
-1
0
0
-3
0
-6
0
39
0
0
0
0
0
0
0
0
0
-20
0
0
0
-2
1
2
-1
0
0
4
0
17
-28
4
32
7
63
-45
-4
-41
0
0
-3
-14
-64
-20
-53
16
12
12
0
-3
0
41
8
99
-16
-4
-8
22
0
-1
4
0
-31
8
-29
16
-3
-39
0
0
0
-7
0
-16
2
-6
0
3
0
0
0
1
6
0
2
-1
2
25
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
4
0
0
0
-30
0
0
0
0
-3
-2
0
0
0
-24
0
8
18
-3
39
-48
-15
14
-9
22
0
0
-4
13
-1
-40
9
7
-23
35
0
-5
0
20
-5
5
-10
3
1
70
0
1
1
0
19
-2
4
-6
0
-1
0
0
0
0
0
-12
24
1
0
-8
0
0
0
-2
0
0
-8
0
0
-48
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
-1
0
0
0
-45
0
-3
3
-41
-12
22
24
21
0
-13
0
0
0
1
17
-12
36
-3
0
-9
0
8
0
-1
-27
-41
7
0
0
-34
0
0
0
0
0
26
-40
0
0
-40
0
0
0
0
0
0
9
0
0
5
0
0
0
0
0
0
2
0
0
29
0
0
0
0
0
0
0
1
0
-25
0
0
0
0
3
1
0
0
0
18
0
0
0
0
0
0
-1
0
0
-36
0
0
0
-6
-24
54
-1
0
0
-12
0
0
0
2
-9
-17
10
0
0
-24
0
0
0
0
-2
-8
-12
0
0
-3
0
0
0
0
0
-4
1
0
0
3
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
4
-1
2
41
1
1
4
19
0
23
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
51
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
103
0
-9
0
3
1
93
0
0
0
0
0
0
0
0
0
0
0
22
-3
0
0
0
3
1
0
0
0
0
0
14
-50
-11
9
-5
77
-2
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
-54
-1
0
8
0
-4
0
-1
-5
16
3
-51
-1
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
23
8
-30
132
101
22
55
86
103
135
-39
0
0
0
0
0
0
0
0
0
0
3
4
9
0
0
0
139
-4
-13
-3
-6
38
39
107
14
0
0
42
62
132
31
-26
0
-75
10
-11
29
21
-51
0
77
0
-71
-4
-19
-19
76
0
10
0
0
0
0
15
0
33
206
89
-22
-8
157
118
12
-11
0
0
0
3
0
16
-2
3
-3
0
-19
-37
-39
-19
25
0
102
0
0
0
0
127
24
146
166
49
179
140
216
161
92
64
0
-10
0
0
-31
17
20
0
-33
0
-16
18
61
-41
8
0
64
0
0
0
0
22
3
41
-14
11
54
-17
114
201
1
48
0
0
0
7
3
30
53
0
12
0
4
87
-7
175
41
0
0
0
0
0
0
0
1
-48
-5
24
61
62
22
22
-10
76
0
0
0
0
0
1
17
0
0
0
0
24
42
-2
-3
0
46
0
0
0
0
0
0
-48
37
90
46
-8
128
92
-7
-87
0
0
0
0
0
0
0
0
0
0
2
2
8
-8
0
0
-45
-16
-30
-81
12
8
140
12
15
0
121
14
16
57
26
-14
0
-51
7
2
-42
-22
3
-12
-28
0
-182
-29
-44
-18
-70
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
4
-33
35
-2
13
0
-9
-43
0
-3
0
0
-3
60
25
-4
10
0
0
0
3
8
-4
0
-28
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
53
2
1
0
-4
2
1
-4
0
-19
0
0
-1
18
0
0
-2
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
38
-97
0
53
-8
2
0
15
0
40
0
17
2
-12
2
1
0
0
0
1
-1
-3
0
0
30
0
0
0
0
-2
-29
0
-61
19
49
0
-95
69
17
11
0
63
0
-22
43
-29
-19
9
-24
0
-26
20
23
2
7
0
-7
0
0
0
0
-1
0
0
24
-10
3
-77
95
23
15
-51
0
-2
0
-1
0
0
0
0
3
0
84
3
-5
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
-41
0
2
0
-52
0
11
0
-2
-4
35
6
0
-20
0
37
-45
-52
-16
23
0
-20
-26
-8
-18
14
60
20
0
159
-80
117
-22
101
113
72
-27
0
5
0
0
-75
1
3
7
-10
0
19
-70
-15
-50
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
9
0
129
-67
92
26
222
146
150
-28
0
1
0
-1
1
-111
-29
-20
-55
0
24
30
-32
25
-60
0
0
2
6
0
56
54
110
-21
0
-41
144
-33
72
-27
-27
-13
0
22
0
-1
45
-58
-9
-22
-40
0
-87
-11
4
-102
-76
0
-34
-6
13
1
0
-1
1
0
175
-6
300
-3
-51
134
173
3
0
69
-1
90
-22
1
40
-2
-26
0
21
-26
12
-14
-26
0
34
-3
0
0
3
2
79
70
-64
-17
77
1
-132
10
50
2
0
43
-4
-16
45
-13
-8
-5
-26
0
-29
-102
-13
21
-19
0
-41
-15
0
0
0
-38
1
0
-76
-79
80
-1
-141
7
1
-40
0
73
0
0
-5
-29
0
0
43
0
47
-50
54
31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
0
-121
-42
58
29
31
3
1
67
-17
-2
18
0
0
0
0
0
0
0
0
1
0
-1
-34
5
-1
0
0
0
0
0
0
0
-2
1
0
0
1
0
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
4
22
0
-7
1
9
0
26
0
0
0
0
0
0
0
0
1
0
3
12
-7
0
0
0
0
-1
0
0
0
-4
0
4
0
53
0
-52
0
2
4
54
0
0
0
0
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
-1
0
0
0
115
107
81
2
54
65
-15
7
-16
0
0
0
0
0
0
0
0
0
0
-4
-26
66
5
0
0
-40
-5
0
6
1
2
0
71
6
52
1
-45
47
-13
0
67
0
0
0
0
0
0
0
0
0
0
0
2
-47
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
0
12
117
27
105
130
52
58
115
89
70
172
-38
0
3
-8
0
0
-2
0
0
6
0
6
-40
11
-5
0
0
50
0
3
-8
9
20
131
127
65
0
62
20
48
67
14
-24
0
-2
-1
-31
154
19
43
-21
-44
0
14
-23
-12
-6
-2
0
-11
0
0
5
0
63
-3
46
169
17
-1
26
124
90
71
20
0
6
0
3
2
79
-13
-7
-26
0
-29
-62
-66
-50
-47
0
36
0
0
0
0
134
48
140
172
-9
170
3
173
125
116
-30
0
3
0
-3
-75
-68
-59
1
37
0
-30
-30
-82
-27
-40
0
22
0
0
1
0
150
-8
152
150
15
12
23
163
175
16
21
0
-19
0
7
-5
-40
24
0
-75
0
-27
94
18
-47
-26
0
51
-2
0
0
0
1
5
171
36
84
63
31
60
30
41
-3
0
-1
0
0
-2
3
1
0
0
0
-1
84
-55
-1
-7
0
19
0
0
0
0
9
-1
79
98
54
110
72
93
44
-4
17
0
0
0
-2
0
0
0
0
0
0
1
4
47
-25
0
0
-62
-13
-94
-56
-49
58
84
20
1
0
46
-16
5
16
26
-11
0
-23
-4
27
-17
-7
10
-4
-32
0
-76
-4
3
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
-23
-26
169
-40
-13
0
-5
-51
0
-12
0
-4
-2
21
-18
-42
42
0
0
0
2
30
38
0
-23
0
0
0
0
0
0
0
0
-1
7
7
10
0
0
-39
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
19
-21
-1
0
-9
0
0
-42
0
-15
0
0
7
56
-22
-12
-3
0
0
7
1
0
-4
0
32
0
0
0
0
0
0
0
-8
-50
0
47
21
8
-2
16
0
45
0
-10
1
-11
-1
46
-12
0
0
-2
-16
-7
0
0
-15
0
0
0
0
-7
-36
0
-62
-69
154
29
37
-81
16
-6
0
-10
-17
63
51
73
5
97
52
0
-9
-35
-44
-15
10
0
-26
0
0
0
0
-9
0
0
60
-49
97
-27
-5
-41
-29
10
0
-4
1
13
0
-6
0
-3
-72
0
53
72
58
-97
4
0
7
0
0
0
0
0
0
0
0
0
0
-22
0
-6
0
-11
0
-14
-2
-33
-5
27
2
0
-19
0
-7
1
20
-9
43
0
-27
27
-1
-26
-36
96
20
0
77
-29
324
-25
150
-82
-55
-17
0
37
10
1
-65
-54
22
70
-29
0
-10
7
4
5
-112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
8
4
-7
28
51
0
68
-8
154
1
134
20
88
-10
0
-30
0
-1
2
-159
17
-19
0
0
77
-78
-59
36
15
0
0
-7
-4
4
24
14
74
-101
31
20
202
0
42
-32
67
-1
0
27
62
-16
-11
-39
41
-47
-83
0
-23
-7
-44
1
-95
0
-14
22
-14
5
-2
36
89
0
64
5
208
-7
88
13
81
1
0
-37
27
-24
28
-60
-13
-19
-10
0
26
22
-19
-9
10
0
-5
-15
0
20
3
141
110
0
45
-53
341
8
25
48
90
14
0
19
-23
-14
-51
40
16
-7
-71
0
-2
-14
-46
27
-24
0
-4
-42
0
-4
0
-48
4
0
-53
-35
146
-30
-33
-25
9
4
0
67
1
-5
-2
-85
-2
-7
20
0
-2
-36
0
66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
1
0
-145
-28
29
24
42
3
0
66
-20
7
41
0
0
0
0
0
0
0
0
1
0
-1
-42
-8
-1
0
0
0
0
0
0
0
-2
1
0
0
-7
0
-1
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
4
1
0
-7
0
9
1
-82
0
0
0
0
0
0
0
0
1
0
3
17
-5
0
0
0
0
-1
0
0
0
-8
0
4
0
-19
0
-62
0
2
4
18
0
0
0
0
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
-1
0
0
0
151
95
-11
4
-5
-17
-12
14
-59
0
0
0
0
0
0
0
0
0
0
-4
-19
61
5
0
0
19
-5
0
6
1
2
0
86
18
-31
1
14
54
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
2
-41
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-2
3
0
12
41
22
148
64
-13
32
-23
-60
-43
62
-77
0
3
-8
0
0
-2
0
0
6
0
6
-55
24
-5
0
0
27
-2
3
-8
10
3
77
15
-40
0
-6
3
-15
-16
58
18
0
30
22
44
108
47
18
-34
18
0
69
13
23
6
48
0
-29
0
0
5
0
47
-2
93
4
-3
-28
11
-38
32
24
7
0
6
0
3
2
-1
1
-8
9
0
-29
-58
14
-42
-47
0
-74
0
0
0
0
59
32
75
-76
-49
14
-28
-34
3
-15
-68
0
9
0
-3
-48
32
-48
0
84
0
-25
-32
-64
-40
-22
0
-50
0
0
1
0
80
-6
282
32
-29
16
-3
75
1
41
-86
0
-20
0
6
-9
-106
41
-1
-67
0
-28
-20
-130
-94
-10
0
-64
-2
0
0
0
1
5
127
52
-70
51
17
57
29
-9
-54
0
-1
0
0
-2
3
-3
0
0
0
-1
-13
-59
-1
-7
0
28
0
0
0
0
9
-1
162
67
16
111
46
2
-4
-4
8
0
0
0
-2
0
0
0
0
0
0
1
0
4
-16
0
0
-20
-52
-74
-93
10
53
39
24
1
0
16
-1
18
1
-4
1
0
-13
-25
23
18
14
-16
-22
-8
0
-18
14
19
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
6
-37
73
-31
14
0
-5
-9
0
-2
0
-22
-2
9
4
-8
8
0
0
0
21
31
-5
0
-13
0
0
0
0
0
0
0
0
7
7
7
10
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
-57
1
1
0
-4
0
0
-43
0
12
0
0
5
42
-22
5
-3
0
0
7
0
-1
-2
0
-3
0
0
0
0
0
0
0
-9
23
0
-5
28
8
-2
10
0
27
0
-18
1
-6
-2
8
4
0
0
-2
-18
-6
0
0
-33
0
0
0
0
-7
-32
0
-96
20
53
8
68
-6
2
22
0
-62
12
-21
16
44
32
29
-10
0
-14
18
34
-9
21
0
-2
0
0
0
0
-9
0
0
67
36
96
-39
18
-3
-14
-11
0
-4
1
9
0
2
0
-3
-69
0
25
114
25
-92
4
0
10
0
0
0
0
0
0
0
0
0
0
1
0
51
0
-9
0
31
-16
10
68
12
-12
0
-5
0
37
-8
41
37
35
0
7
-8
35
-17
-64
74
-15
0
-13
31
163
-45
89
-168
24
-12
0
-11
13
-22
-26
-57
-15
59
21
0
-98
-15
-21
11
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
6
1
-5
19
43
0
66
11
55
-22
-4
50
-77
-26
0
-25
0
0
6
8
4
58
24
0
38
-11
-73
-1
2
0
0
-19
-5
9
-31
-58
-46
-218
26
59
105
-84
2
14
8
0
0
-82
38
-55
-23
-7
26
80
-43
0
-11
-60
-22
43
-1
0
-6
45
-13
7
-1
76
116
0
-14
45
21
6
-65
-57
95
-8
0
-95
-20
-80
-2
-5
38
37
-69
0
21
-7
16
16
69
0
-24
-14
0
19
2
34
42
-52
-56
97
157
-3
-70
22
71
17
0
-14
-23
46
-72
-28
4
17
-19
0
-23
12
23
27
-29
0
4
-14
0
-4
0
-27
4
0
4
0
59
-7
56
-100
0
37
0
74
1
3
-5
-67
-1
-10
-82
0
-22
81
-80
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
10
0
0
0
5
0
-21
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
1
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-41
0
3
-1
0
-1
-49
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-3
0
1
7
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-1
0
0
0
0
0
-11
-7
-33
7
-27
18
15
-7
-71
0
0
-3
0
0
0
0
0
0
0
0
3
6
0
0
0
7
0
0
0
0
18
2
-3
-45
0
-43
1
-62
-66
4
47
0
-2
0
30
7
37
36
-14
26
0
-22
47
-21
-9
17
0
-33
0
0
0
0
0
0
-4
41
9
-2
-4
-8
3
2
5
0
-1
0
-1
0
-4
10
-1
5
0
0
-7
0
-10
-1
0
-76
0
0
0
0
4
0
51
-122
16
4
-28
-11
-10
-36
-8
0
-1
0
0
5
8
-2
0
33
0
8
4
-25
1
1
0
-13
2
0
0
0
0
-1
12
-52
26
-5
-45
-20
-30
0
-31
0
0
0
0
0
1
-1
1
-24
0
8
-9
-31
-20
-7
0
-22
0
0
0
0
0
0
7
3
-45
2
8
-3
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
0
-36
0
0
0
0
0
0
8
-8
-4
0
8
4
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-34
55
4
-16
24
-11
6
47
0
-16
1
51
145
18
14
0
-38
40
13
-38
7
2
19
-18
0
-33
11
32
-10
-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
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
6
-10
-3
0
0
0
0
18
0
1
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
-40
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
0
-13
5
5
0
-26
0
-8
1
4
0
8
7
2
-5
0
-2
-5
0
2
-1
0
10
0
0
0
0
0
0
0
1
4
0
-5
6
-1
0
3
0
0
0
0
0
2
0
0
-2
0
-2
17
0
7
4
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
25
0
22
0
17
0
10
6
-18
-9
0
32
0
12
-13
-45
10
7
0
-12
-33
16
0
2
-5
1
0
-36
37
17
-54
0
-28
8
22
0
5
0
7
-9
-1
-6
23
-39
0
8
26
13
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
-5
-20
-38
-31
-3
-18
64
0
-1
0
0
0
12
-14
26
13
0
12
32
8
-6
5
0
0
1
0
0
-5
64
-20
-9
-25
-12
5
-60
-19
9
7
31
0
-17
2
-10
9
-7
-7
39
5
0
4
-31
-25
56
27
0
-8
2
-2
0
0
-3
1
0
-38
-14
21
73
-62
13
-2
35
0
-1
4
-13
0
-17
25
-30
3
0
-40
-35
10
-41
-6
0
-9
0
0
0
0
-10
-9
-17
49
45
9
-19
16
10
22
-3
0
1
-4
1
8
-6
-19
-4
6
0
-17
-23
12
-24
-8
0
16
1
0
0
0
0
0
0
1
4
0
-6
10
-4
0
9
0
7
0
-2
-1
-3
0
0
-14
0
1
15
10
3
0
-17
-45
12
-36
22
5
-51
-8
14
-94
-84
-84
-26
-30
-57
-15
-21
37
-64
-43
-69
-67
-32
-4
14
-27
-42
12
32
48
19
57
-34
-16
-11
-11
0
0
0
0
0
2
26
0
0
0
23
33
-26
-28
5
18
1
0
0
0
0
0
2
65
0
0
-37
-31
43
94
8
10
4
-2
0
0
0
0
5
85
36
68
-10
53
37
-14
38
-13
-3
-2
0
0
0
0
0
33
-25
44
22
-17
-61
-37
-11
-5
-13
50
22
0
0
0
0
0
-27
4
12
-20
29
-11
-46
9
-9
8
-18
6
0
0
0
0
0
-8
-18
-8
-3
-53
28
30
29
14
16
-20
2
0
0
0
0
0
8
-98
-46
-37
31
23
28
-44
13
3
5
0
0
0
0
0
0
0
-80
-96
21
14
-13
3
56
-3
0
-2
0
0
0
0
0
0
0
-5
-9
-11
47
-16
-3
14
-2
3
0
0
0
0
0
0
0
0
2
15
0
0
0
69
12
52
5
3
0
0
0
0
0
0
0
5
-57
0
0
27
97
16
0
23
0
2
0
0
0
0
0
-1
17
-38
61
56
67
-55
19
6
14
-1
0
0
0
0
0
0
0
16
17
65
56
-17
-61
-57
-6
-6
0
0
0
0
0
0
0
0
15
66
15
-27
-12
-62
2
2
1
-1
0
0
0
0
0
0
0
-27
-80
9
-40
-11
-15
-1
1
-6
0
1
0
0
0
0
0
0
-8
-9
-16
-48
-12
-12
31
3
1
-1
0
0
0
0
0
0
0
-5
-47
-22
14
57
-12
-10
0
-5
0
1
0
0
0
0
0
0
0
34
-3
47
24
-1
-4
0
0
0
0
0
0
0
0
0
0
-48
-86
0
0
0
4
0
19
-13
2
2
0
0
0
0
0
1
14
68
0
0
9
63
-6
8
-15
5
6
0
0
0
0
0
-5
-32
-22
53
12
47
1
12
1
-27
29
0
0
0
0
0
0
1
-17
-72
68
50
7
25
15
-12
-2
0
7
0
0
0
0
0
-3
48
2
97
64
-24
25
13
-3
5
-1
0
0
0
0
0
0
0
-32
58
44
-21
-7
-43
20
18
-3
0
0
0
0
0
0
0
0
1
-99
16
-90
5
10
17
8
0
-1
13
0
0
0
0
0
0
0
-33
62
4
52
-19
3
0
1
0
0
0
0
0
0
0
0
8
-55
-18
-46
-17
8
9
-3
1
0
6
0
0
0
0
0
0
63
18
0
0
0
25
3
4
0
-2
0
0
0
0
0
0
7
-15
-42
0
0
-10
37
-26
25
24
0
0
0
0
0
0
0
38
110
-4
22
57
72
-31
41
19
3
-2
0
0
0
0
0
0
32
-81
-74
34
18
24
-34
13
2
-1
2
0
0
0
0
0
0
-46
-25
16
11
-69
-9
-20
-5
-3
-3
8
0
0
0
0
0
0
22
79
-36
-30
-10
-20
-16
14
6
1
0
0
0
0
0
0
0
0
6
-9
1
-51
-30
5
-33
-2
2
0
0
0
0
0
0
0
0
34
47
-33
-62
-57
-9
13
8
-2
0
0
0
0
0
0
0
0
-2
-1
8
-39
44
-33
8
-2
0
0
0
0
6
-2
20
103
49
7
65
0
0
0
-25
24
13
41
14
-1
0
5
-43
41
11
49
-17
6
0
0
0
-67
46
-23
18
14
-6
-1
-52
48
89
-20
40
8
11
5
-14
-8
-28
50
15
-24
26
-1
1
15
-28
-20
19
-19
-30
-9
-17
54
-34
26
87
33
13
-21
4
-1
-22
-4
43
31
13
-13
-32
-46
-35
33
-10
55
-7
-12
17
8
0
-16
-91
16
22
13
-15
23
-20
-3
-20
-5
-31
-20
31
13
0
-1
34
-6
6
36
6
-54
-7
52
6
19
25
53
-10
-5
-1
0
0
7
47
7
27
-60
92
-45
53
-47
-15
42
7
-8
-12
14
5
3
-3
70
-27
-22
13
-18
29
29
3
28
1
-16
4
8
0
-1
0
-9
65
24
-25
5
20
26
0
0
0
-7
5
-22
-14
4
1
-10
13
67
24
44
27
-43
-28
0
0
0
26
-16
-7
12
10
-15
-8
17
-9
40
52
9
1
8
-40
85
-4
57
12
-41
-34
36
25
0
-47
32
21
15
1
-25
12
28
34
-9
-25
4
-26
-35
58
27
6
-57
8
83
52
-20
41
-68
-70
18
-33
10
22
-5
-5
-4
24
0
-3
-7
123
21
19
69
-43
26
15
-5
14
7
3
-2
41
1
3
-50
-20
8
16
-19
25
87
-35
-9
30
-38
14
-12
-5
-6
1
-1
6
18
6
-55
47
13
91
-25
19
0
20
-27
49
23
15
-25
1
14
10
25
-7
29
20
-16
7
78
19
-44
16
9
30
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-17
9
21
-5
-11
-103
0
0
0
10
-23
17
13
13
-4
0
-12
-13
-13
15
35
-62
-20
0
0
-32
-24
6
5
-15
1
-2
0
-7
-3
2
13
24
-8
10
1
-13
-54
-16
8
-31
0
8
0
0
-8
2
0
2
-10
6
27
9
-10
96
3
-6
-2
-10
0
-1
0
-26
10
-9
3
12
-16
-60
3
33
-28
-18
-10
-1
18
4
0
0
7
11
-4
-29
-6
4
86
-11
14
33
16
34
-13
-2
5
-2
0
26
-7
20
-66
9
-24
-34
-1
-71
-4
-22
-1
-3
1
-3
0
0
-23
13
-43
-5
14
-30
-25
-95
-59
12
27
33
-6
10
29
1
0
0
-6
-14
9
-23
-23
-4
-9
-15
-41
2
-2
0
0
0
0
1
-67
14
-7
-5
4
12
81
0
0
-71
-11
-53
-7
-13
-2
0
0
-20
-28
-8
-9
6
9
31
29
-18
-19
42
-19
-58
-22
5
-1
0
-1
-6
-8
0
-3
-2
56
48
66
12
-72
38
13
6
-4
0
0
-65
-32
-3
-8
-4
-6
-26
-85
-112
-60
-49
44
-5
-8
0
0
0
48
-22
-5
0
-14
-29
1
-51
-74
-115
27
-4
35
29
-1
0
0
-44
35
11
4
-9
-13
-3
-58
-55
-88
60
-4
6
-7
0
0
0
-27
30
6
1
-15
-36
-13
-10
-30
-65
1
-6
40
0
0
0
0
33
-10
23
-9
-28
-87
-72
-101
-107
-16
79
-41
7
-1
0
0
0
28
-97
47
8
-67
-90
-65
-28
9
-36
11
7
2
0
0
0
0
-6
-14
59
-65
20
-148
-29
0
0
-3
9
10
0
1
0
0
0
-3
1
-9
19
-67
-65
-67
-114
-76
-2
5
-1
-2
0
0
0
0
-10
2
-8
32
10
-9
-93
27
-58
-20
6
-3
-3
0
0
0
0
-2
-4
12
29
-35
21
32
-89
-47
31
0
2
6
0
0
0
0
4
24
-2
-31
0
-33
-16
-65
-60
-16
0
-1
1
0
0
0
0
5
1
-13
7
46
-13
-35
-71
-24
-2
9
-4
0
3
0
0
0
3
-2
16
-54
11
38
29
12
-81
-14
-8
1
14
0
0
0
0
14
0
-5
-20
-3
13
19
69
48
-4
8
-1
0
6
0
0
0
0
4
-10
4
-9
68
-5
18
74
2
0
-2
8
0
0
0
0
16
-16
-15
-19
-10
11
-58
-40
0
-7
0
0
0
0
0
0
0
-27
-12
10
-13
3
-17
0
-84
10
-2
-4
-10
-8
10
0
0
0
-1
-12
22
6
16
-41
4
-11
80
-17
-7
-17
0
0
0
0
0
0
-10
-54
6
33
23
43
-46
-22
-16
0
0
-3
0
0
0
0
0
-2
7
-20
42
1
-17
-67
-27
-7
-17
0
6
0
0
0
0
-5
-4
3
-21
-32
29
-28
-90
-35
2
-1
-6
0
0
0
0
0
-32
-16
-23
-24
15
-5
-47
-72
-12
-5
-2
4
0
0
0
0
0
-19
-16
-12
17
-35
-54
-58
-32
-64
-10
4
10
5
0
0
0
0
-12
-7
27
-33
-42
-27
8
-2
12
3
-2
0
0
0
0
0
0
-1
6
-13
-9
16
22
-32
0
0
-52
22
8
-8
2
-3
-1
0
-17
-3
-15
1
28
-19
-41
0
34
0
3
16
7
5
-1
23
0
-21
-8
-11
-4
3
-24
7
20
80
89
25
24
-25
-1
12
-1
0
-57
0
-10
-16
0
33
61
106
-20
-16
-58
14
-15
1
0
0
0
-27
-29
-4
-10
-23
1
-5
62
-10
-51
3
-29
5
-17
0
0
0
-30
-13
-11
-16
-8
-1
9
4
-7
16
-35
-4
-29
10
0
0
1
-10
-14
5
-71
-44
-30
38
72
-56
-27
-21
0
0
-9
0
0
0
-2
-67
-10
10
-36
24
-9
-22
-83
-35
25
-29
-13
-7
0
0
0
0
-2
-31
63
-22
-7
-13
-30
1
-5
1
0
-4
-2
0
0
0
40
-1
7
-68
17
-39
3
-57
0
30
-57
-24
0
0
0
0
0
-10
-16
-18
24
4
-6
31
0
-111
0
-64
38
1
-1
0
1
0
4
-21
-5
-5
12
4
29
-48
-19
-29
-43
1
-6
8
0
2
0
17
-15
4
-21
2
-14
51
-34
7
-9
19
-20
-1
1
0
0
0
-4
-14
9
30
-28
-28
45
52
-32
-86
15
-10
-16
1
0
0
0
-59
-12
-1
-9
-42
-24
-60
42
55
-34
41
8
-5
-3
0
0
0
27
-11
-1
9
-8
33
11
49
-13
36
-40
12
2
-1
0
0
0
-72
2
-10
-7
-25
-18
0
35
76
52
-12
4
0
1
0
0
0
-12
-70
-44
-7
7
-139
-13
62
111
-1
0
0
0
0
0
0
0
-1
-1
0
-13
7
48
80
0
0
0
-4
-10
8
-2
1
0
0
-5
-7
-8
-10
17
22
20
-72
0
17
10
9
27
1
25
-1
0
-29
-4
-4
5
17
18
21
-55
-7
-10
46
-3
0
4
0
2
0
9
1
8
0
17
-1
2
-63
-42
7
47
17
14
0
-1
0
0
33
-1
-2
12
1
5
-5
18
67
-2
-30
-13
0
0
-2
0
0
-13
-1
1
9
19
-1
-17
25
-5
23
-5
-1
0
1
0
0
0
0
20
0
21
14
29
8
79
20
43
49
12
1
0
0
4
0
-3
13
15
-2
81
76
-7
15
14
53
-17
-8
2
-1
0
0
0
-57
-1
93
-11
11
50
-28
29
-66
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-4
86
-2
-3
12
113
-32
0
0
0
0
0
0
-2
0
0
0
-48
-47
0
15
76
-99
-53
0
0
0
0
0
0
-2
32
-28
13
-13
97
50
-23
65
-77
-13
0
0
0
0
0
0
0
-22
-13
31
45
-32
48
63
10
-19
-48
0
0
0
0
0
0
0
-3
10
-8
-4
71
34
45
24
-69
3
0
0
0
0
0
0
0
21
17
16
46
-5
45
-12
11
68
-41
0
0
0
0
0
0
0
-1
-8
5
17
-93
-44
32
22
13
44
0
0
0
0
0
0
0
0
1
3
6
-10
-15
40
36
15
0
0
0
0
0
0
0
0
0
0
-2
2
-1
24
-21
89
-32
10
0
0
0
0
0
0
0
0
0
0
-4
36
30
-35
-108
-66
65
0
0
0
0
0
0
1
0
0
0
-28
-24
89
72
-41
100
5
0
0
0
0
0
0
0
3
-2
-16
-7
35
6
29
-11
-98
-34
0
0
0
0
0
0
0
0
0
3
0
45
-38
1
6
27
-35
0
0
0
0
0
0
0
1
0
1
0
41
29
56
94
100
53
0
0
0
0
0
0
0
0
0
1
1
29
63
28
-28
-38
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-6
56
35
2
61
0
0
0
0
0
0
0
0
1
2
0
-3
-42
45
33
55
42
0
0
0
0
0
0
0
0
0
3
0
0
-3
-14
21
43
13
0
0
0
0
0
0
1
0
0
0
35
73
3
57
0
41
-55
0
0
0
0
0
0
0
0
0
0
18
69
-21
-42
20
-34
32
0
0
0
0
0
0
-2
15
6
9
-29
44
32
-15
6
-18
-25
0
0
0
0
0
0
1
8
5
-5
24
0
-22
23
-6
-9
-72
0
0
0
0
0
0
0
0
-1
-1
-5
30
47
80
7
9
-75
0
0
0
0
0
0
0
0
0
0
-2
15
-28
10
22
33
3
0
0
0
0
0
0
0
0
-2
2
7
0
61
40
33
-3
25
0
0
0
0
0
0
0
0
0
0
0
-1
79
24
45
35
-32
0
0
0
0
0
0
0
0
0
0
0
1
-1
-50
-86
-7
-4
0
0
0
0
0
0
0
0
0
0
18
70
37
54
21
16
-21
0
0
0
0
0
0
-1
0
0
0
7
103
57
-33
8
-2
62
0
0
0
0
0
0
-2
1
-3
-24
1
36
-8
9
45
-46
-28
0
0
0
0
0
0
0
-1
2
0
-8
50
51
1
30
58
13
0
0
0
0
0
0
-3
5
0
0
46
34
-12
-9
-62
-2
10
0
0
0
0
0
0
0
0
2
0
-1
50
15
22
-45
39
66
0
0
0
0
0
0
0
0
2
0
-1
-24
7
13
32
37
38
0
0
0
0
0
0
0
0
0
0
0
0
30
-38
-3
-62
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-43
-58
0
0
0
0
0
10
8
0
0
0
-12
-21
-20
42
5
-33
48
0
0
0
2
3
-29
28
0
0
0
-58
42
8
2
27
-19
81
0
0
0
0
-1
28
-49
-17
62
11
64
51
14
-41
-16
39
31
0
0
0
0
0
-3
50
13
32
0
21
27
29
16
-44
-6
-24
0
0
0
0
0
13
6
29
7
-20
-4
-18
-16
-10
-3
13
11
0
0
0
0
0
-16
-22
-19
-17
38
38
-21
30
4
21
-42
41
0
0
0
0
1
-1
18
97
80
23
7
-28
125
10
36
-17
-33
0
0
0
0
0
1
20
-17
-36
8
8
-37
5
-8
19
3
23
0
0
0
0
0
0
0
7
15
1
10
12
-37
34
31
65
1
0
0
0
0
1
5
24
0
0
0
129
-3
52
5
5
52
-16
0
2
0
3
0
-19
20
0
0
0
-21
55
13
-7
23
17
42
0
0
0
1
1
12
-7
12
5
113
11
30
-95
-4
108
-17
9
0
0
3
0
1
2
-9
51
24
20
11
-5
16
65
-6
1
6
0
0
0
0
0
5
4
-36
16
-3
48
74
-45
11
26
-53
-56
0
0
0
0
0
17
5
60
-12
3
-33
-53
2
-31
-16
-5
-7
0
0
0
0
0
-1
23
-18
-32
16
43
38
64
49
15
-15
-7
0
0
0
0
0
-1
0
-14
-27
-11
97
74
39
36
52
41
-32
0
0
0
0
0
0
0
-9
34
70
-4
19
-44
25
-4
46
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-15
-57
32
-23
0
0
0
27
-19
-42
21
18
-53
-17
0
10
13
-11
-26
-31
9
0
0
0
3
-24
10
-24
-64
-18
-76
0
2
46
-11
-10
15
8
-6
-1
3
10
-18
-8
-41
-60
2
64
1
-1
-22
33
-14
28
7
-4
-14
4
1
16
-8
-13
-68
0
23
0
-12
-3
-9
-4
-42
-16
-10
8
4
19
9
27
8
-46
-10
-50
4
-7
0
0
0
16
-36
-1
-2
-21
6
-24
43
-18
50
-42
2
0
0
0
-1
0
9
-5
-105
-51
-2
-68
-82
-71
23
-97
-44
-36
0
0
0
0
0
-4
-8
-50
-55
79
-90
63
31
-66
-1
27
2
0
0
0
0
0
0
7
-1
-5
-3
0
-10
-12
3
-8
-34
6
0
-3
-34
27
12
0
-13
0
0
0
0
-4
-14
-38
-8
-98
0
-3
-2
-43
-27
52
-8
22
0
0
0
-6
-14
-22
-61
-80
-56
0
1
-24
-58
7
-18
92
7
-45
-25
-3
1
-7
-5
-32
-42
-77
0
0
30
-20
-52
-3
-99
16
-51
-24
5
-1
-12
5
-74
-33
-76
0
0
-1
11
-56
-41
-105
-66
-41
-6
0
1
9
8
-11
-51
-50
0
1
-30
-23
-28
38
-9
14
-104
-1
3
8
15
-2
-23
33
-20
0
0
-8
16
-16
45
34
7
-88
-7
10
1
8
9
-9
-91
7
0
0
0
48
35
43
17
-27
-26
50
39
-6
17
3
-1
33
-29
0
0
0
2
10
-40
13
-4
-30
2
41
42
65
33
17
-175
-38
0
-8
-21
85
-25
-13
77
-2
0
0
0
7
11
97
-58
17
-32
0
1
0
-25
3
36
16
5
0
0
0
6
19
-65
2
-98
-48
0
-4
-7
9
-11
23
-3
6
4
0
-69
-42
-29
62
16
-75
-58
0
0
-5
-14
-1
19
-2
6
0
-3
-58
-131
-49
-65
-20
-17
6
0
3
6
-7
6
6
-70
5
-3
-2
-35
-40
14
4
2
-10
13
0
-3
9
3
-8
-13
-28
12
0
-1
-16
1
-63
-5
20
-49
-17
0
-7
2
-4
33
-21
0
-5
-1
-2
41
-55
-57
15
-16
-67
-30
0
8
7
8
-17
-9
-26
2
-2
-9
-37
-19
12
-8
-24
-51
-5
0
8
33
-10
-12
-10
6
-1
1
-13
-25
-58
-24
-8
-66
-24
-2
0
0
-9
-23
-22
49
-106
0
0
0
0
-20
3
-29
-18
-89
0
0
-3
-17
30
-20
-5
-11
-6
0
0
0
-20
-23
6
-83
-56
0
0
0
-3
-13
38
-23
-34
6
2
4
10
5
-31
-2
-19
-111
0
0
0
-4
-3
1
-13
-49
2
-4
-11
-16
-28
3
-13
41
-89
0
0
0
6
8
-7
-25
-12
-5
-22
-20
-9
-6
-8
1
-108
-92
0
0
-2
9
9
-5
-6
-4
1
-12
-9
-28
-2
8
-5
-100
-11
0
0
-32
13
-10
10
22
-10
-6
-12
-14
31
-13
-13
-34
-83
-90
0
0
6
-21
7
-1
-9
-28
28
-11
-6
-15
67
71
14
-59
-55
0
0
0
0
0
0
-1
-1
-1
-2
-16
-13
-8
-48
-45
-81
-67
0
0
0
1
0
-24
3
-37
-58
0
0
0
-5
-5
5
21
-9
-131
-76
0
0
-25
-8
-18
3
-12
0
0
0
11
-14
-29
-27
-3
-102
-109
0
8
-13
-15
-4
-68
-15
-18
-10
-9
14
34
13
-7
-71
-13
-64
0
0
-8
0
-45
-12
89
-16
6
-4
-9
10
-9
-14
-40
-38
30
0
0
7
-13
14
5
-43
-46
-12
0
-24
-4
11
72
8
68
-6
0
0
2
-4
-16
-13
-24
-82
-23
3
-14
-7
-16
-33
35
-11
-95
0
0
6
0
16
-8
-32
-98
-19
-22
-13
1
25
-46
12
-52
-22
0
0
-1
-13
7
0
13
-24
-106
-60
51
-62
-69
-126
-94
62
21
0
0
0
0
0
0
0
-2
-15
-4
-15
7
-48
-64
-41
-1
-3
0
1
0
0
0
70
-7
0
0
0
10
-19
9
4
16
5
-37
0
0
0
0
-14
-83
33
0
0
0
7
-17
38
42
0
-33
-12
0
0
0
0
0
0
72
-38
-8
-10
12
50
34
4
-17
-25
-50
0
0
-5
0
6
-14
28
15
-5
-9
-15
5
-3
38
-8
4
-1
0
0
3
-22
-16
-7
-34
13
-7
-28
-17
-7
12
0
9
-28
16
1
0
0
0
2
-5
7
3
-12
-11
35
7
11
29
-14
-41
-106
0
0
0
0
0
-40
37
-25
-19
-50
-1
25
23
54
13
-15
-40
0
0
0
0
0
-1
-10
43
-23
-19
-61
32
2
67
28
33
53
0
0
0
0
0
0
8
-14
-60
-2
19
12
-40
15
32
-14
4
0
0
-1
-6
-15
-49
11
0
0
0
1
-32
-29
9
55
3
-24
0
-1
0
-5
-4
31
-12
0
0
0
5
-31
-40
-37
14
46
65
0
0
-7
4
-34
-36
29
5
2
2
-15
20
0
-15
-42
-12
15
0
-1
0
-5
-14
-40
59
0
-6
-3
-1
-6
-25
6
61
16
40
0
0
0
4
-3
-69
1
7
-9
-1
8
14
20
-45
9
14
114
0
0
2
-8
-5
18
1
-1
-4
1
4
14
-11
25
-3
23
-47
0
-2
0
29
11
14
31
-2
5
12
16
4
5
19
48
40
9
0
0
-3
17
-2
-16
-8
16
4
0
27
-6
-36
-10
-75
-10
-9
0
0
0
0
0
-7
-17
-23
-30
63
48
20
-96
-8
12
-30
-26
0
0
0
0
0
64
151
0
0
0
36
-15
5
4
-39
25
8
0
0
0
0
0
-26
73
0
0
26
1
28
22
83
77
46
76
0
0
0
0
56
49
62
81
28
80
34
1
-20
31
-82
-46
-7
0
0
0
0
37
3
61
42
0
19
-33
-26
-122
20
81
84
8
0
0
0
0
-53
-33
5
12
-24
-34
5
4
5
117
-93
2
-2
0
0
0
0
-45
-62
-58
-19
-11
20
-53
-28
49
-52
-53
-21
1
0
0
0
0
15
-50
-62
-66
-63
-3
15
11
-31
47
-44
-72
-1
0
0
0
0
-2
-91
-22
-39
-7
27
36
-3
39
-55
29
16
0
0
0
0
0
0
-20
-54
-86
-85
62
5
-40
1
40
14
0
0
0
0
0
0
0
14
36
0
0
0
11
-53
0
-16
-15
-3
0
0
0
0
0
5
32
41
0
0
18
41
70
30
27
-5
95
0
0
0
0
0
3
30
48
76
23
22
1
29
30
3
33
8
0
0
0
0
0
0
12
33
75
-14
-20
-24
42
-9
-49
-13
-27
0
0
0
0
0
0
-46
-1
-27
39
17
-26
-25
1
-46
-22
35
0
0
0
0
0
0
-56
-20
-33
-5
-73
-98
-66
27
-16
-4
3
0
0
0
0
0
0
31
-13
-67
-31
-26
46
61
55
4
7
-41
0
0
0
0
0
0
-6
20
-3
-12
22
4
-8
-55
61
-8
29
0
0
0
0
0
0
0
9
-21
25
24
-2
-19
8
-25
27
2
0
0
0
0
0
0
-4
-15
0
0
0
16
36
-16
23
-135
28
0
0
0
0
0
2
26
41
0
0
-23
36
69
62
-90
38
-1
1
0
0
0
0
-4
-81
26
78
34
46
62
23
1
-61
3
-47
1
0
0
0
0
1
42
-26
76
8
24
22
45
-18
63
-38
-7
-1
0
0
0
0
-11
45
-3
-12
5
-33
15
-29
14
37
6
-5
-2
0
0
0
0
0
-3
-55
-56
11
-92
-35
28
47
6
-25
5
0
0
0
0
0
0
-53
6
-61
-24
10
34
-3
82
47
55
60
-1
0
0
0
0
0
0
-28
40
-25
3
-12
-15
-30
-24
-1
-1
-1
0
0
0
0
0
6
-127
-54
-15
30
-62
30
0
5
-3
3
0
0
0
0
0
1
1
32
0
0
0
-43
-31
-5
-4
5
0
0
0
0
0
0
43
45
-12
0
0
-3
45
21
46
-18
-8
-1
0
0
0
0
0
45
-41
14
40
-6
56
32
42
-28
15
-21
-4
0
0
0
0
0
28
24
10
-9
14
-37
-24
67
38
9
41
-8
0
0
0
0
0
-81
10
31
14
14
-19
-56
-6
7
9
28
0
0
0
0
0
0
16
17
2
-44
20
47
-28
-14
3
-55
-6
-1
0
0
0
0
0
-1
-12
-21
-7
-15
-15
-19
-10
-23
37
-17
-5
0
0
0
0
0
0
10
-21
-44
-64
-1
44
16
7
-42
-23
0
0
0
0
0
0
0
-14
-15
-13
-17
99
-50
-42
-3
0
0
0
0
-19
-9
19
-58
8
6
-74
0
0
0
-69
11
29
10
96
11
-5
15
-64
4
8
1
-48
6
0
0
0
36
61
-20
54
-24
-33
-15
-1
-39
-22
-27
-36
16
-2
-10
19
1
16
20
34
-8
94
12
9
-53
-7
-30
-7
-38
-11
31
50
57
44
25
22
-20
35
26
-3
-3
-24
52
-44
39
21
35
54
24
-12
-9
78
52
21
1
50
34
43
-2
1
85
69
68
72
40
24
25
37
15
3
37
-39
116
42
-41
-34
-64
-114
30
35
9
40
12
-25
16
43
-51
-49
27
20
5
10
-5
41
39
-3
-35
-43
5
-15
26
-1
28
-2
-36
-69
54
20
14
8
0
-48
-55
4
-72
58
-101
-7
-18
31
-58
-57
53
-7
-4
-1
26
63
18
127
-28
-20
-13
0
0
0
13
-47
14
-30
18
69
12
44
24
25
69
65
-101
-50
0
0
0
8
-43
41
16
35
-6
-3
-20
-48
40
20
32
-29
10
-68
17
-6
10
43
-2
59
117
45
-27
-11
12
-92
32
-35
-10
-25
-1
-36
-11
18
-45
26
-113
69
71
-20
-64
28
12
15
19
12
32
32
33
0
-45
33
-79
-59
28
3
-45
12
45
-34
-2
21
4
44
17
15
10
-11
-21
-26
55
86
-39
-11
-31
37
-35
-6
54
-15
-20
12
21
23
18
16
-60
4
22
-46
19
50
5
-12
-36
-60
92
-4
30
69
7
13
77
-14
87
86
-3
31
-2
23
18
-3
-55
-48
7
38
-4
54
-60
46
15
-21
49
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-30
-19
-38
26
34
26
0
0
0
17
-8
94
4
98
-16
0
-32
-32
-20
-22
18
42
3
0
0
-74
3
101
-32
31
-4
-12
0
-22
-42
-18
-36
4
13
-23
32
29
17
-41
-76
-88
1
-20
-10
-5
-30
-23
-25
-21
-12
13
62
47
32
-48
-46
-83
-44
-33
-3
-54
16
-37
-38
-18
-32
-13
-2
35
39
-1
-34
-28
-61
-8
148
89
7
2
-35
-42
-21
-29
-1
-38
-80
-39
-8
-98
-29
40
26
-36
-10
36
0
126
-22
-22
20
19
-34
-80
-63
-78
-13
14
64
-58
-28
5
0
1
-46
-19
-33
22
15
-39
-59
-64
-3
54
-32
30
-19
36
89
25
0
-21
-44
-54
-54
-57
-93
-78
-2
-84
-3
11
-53
-8
-8
4
0
1
-125
-87
4
1
9
31
110
0
0
-44
61
-42
32
-109
-20
0
0
-136
-116
4
-3
1
12
91
57
54
57
1
-116
-114
-91
13
-4
0
-110
-58
-8
-13
-2
-2
44
61
65
62
-31
12
21
13
-2
-3
0
-42
-47
-7
0
-9
-5
-11
3
-39
-67
-39
0
30
-106
-51
2
0
-64
-51
-2
1
-6
-7
-23
-8
-46
-28
-56
-59
80
77
-19
0
0
-96
-92
-23
-10
6
-28
-27
-25
-41
-5
-131
-41
-45
-121
-42
0
0
-100
-78
-15
5
9
-24
-52
-10
-60
-15
-21
-72
-50
25
1
0
0
-48
20
-23
10
23
7
-27
-57
-96
13
74
-1
-80
-19
0
0
0
-8
87
11
11
4
12
13
17
88
5
-35
76
8
0
0
0
0
27
33
25
-2
-19
-86
-2
0
0
69
65
-15
9
30
0
0
0
-17
4
8
-24
-15
-25
-34
-36
-79
20
33
-89
-12
-27
0
0
0
-6
-9
-2
-1
-28
-64
-16
15
7
15
28
-6
-25
-1
0
0
0
-16
-22
2
-9
-21
30
18
-14
-117
69
-59
32
-58
16
0
0
0
-14
-17
-5
-6
31
26
-39
-3
-30
-25
11
-44
16
7
0
0
0
-5
-3
4
-25
19
54
42
2
34
-20
-33
-51
-16
27
0
0
0
-14
-5
10
33
1
58
2
19
-8
-23
-57
42
96
-6
0
0
0
-11
-6
6
21
52
28
25
9
60
64
29
-30
-29
25
0
0
0
-31
-11
25
17
26
40
71
40
70
-7
-1
13
93
-3
0
0
0
-43
-33
13
63
16
2
25
-3
0
-18
2
-92
8
-5
1
0
0
-20
-30
-2
28
21
60
0
-29
27
-73
48
-29
-55
-9
0
0
0
-26
-4
-14
17
15
32
41
80
52
-7
-78
-60
-27
-44
0
0
0
-39
-17
7
5
20
3
37
9
-44
-12
51
-29
-31
2
0
0
0
-25
-23
3
34
-28
33
-42
-2
-1
-12
-26
-98
-14
14
0
0
0
-27
-13
-16
13
-32
-12
8
5
-19
11
30
-9
-86
-7
0
0
0
-57
-24
-18
-9
-32
7
-48
-99
-51
-69
-9
-10
1
-15
0
0
0
-57
-12
-32
-6
12
-12
39
-18
-33
-72
7
34
-1
0
0
0
0
-40
-34
-41
-29
-72
-23
-42
-29
9
-9
-1
0
0
1
0
0
0
6
-53
-11
-35
7
27
7
0
0
18
78
-85
8
-99
8
8
4
-19
-39
-37
-17
-6
38
59
0
-18
0
-42
13
19
66
31
82
0
13
-35
-34
-32
11
23
12
54
55
54
-17
-54
22
-90
31
-15
1
-21
-37
-40
-28
-32
-3
54
63
7
8
-25
-23
-94
-4
-25
-41
3
-56
-33
-39
-33
-11
1
42
-21
-14
-56
11
-120
22
-81
-2
15
0
-68
-54
-18
-48
-58
-24
-18
0
-55
-73
-9
-72
-78
-67
-30
-2
6
-73
-22
-34
-15
-14
28
-43
-51
19
-108
-76
-52
-107
2
-4
20
0
9
35
51
-24
-74
-59
-22
-51
-45
-65
89
-12
-21
-10
-3
0
0
4
-118
-51
-69
-70
26
-95
-80
-61
-86
-8
-24
-28
-7
0
0
0
-65
-7
-9
-20
-2
-10
-27
-67
0
31
-15
50
-17
20
-4
0
0
-69
11
14
13
-3
-40
-36
0
-101
0
-18
4
-68
-7
48
2
0
-15
9
9
-6
-16
-13
-7
25
17
0
6
54
-48
-11
28
1
0
-11
-2
-9
-15
12
-41
-13
14
41
10
-32
-12
15
-41
9
-4
0
-30
-53
-29
-5
-27
1
12
5
10
24
-29
64
20
-38
27
14
-1
9
-43
29
-12
-22
22
9
5
83
2
-24
44
6
-41
8
12
0
-31
-43
-19
23
-7
-7
-14
23
26
-60
-108
-7
-8
-54
-17
0
0
-20
-50
-4
-14
0
-1
7
-3
-71
-18
-20
-14
2
-8
0
0
0
-5
-10
-24
21
6
-38
-7
58
9
-44
12
0
0
0
0
0
0
33
7
11
-7
-17
-22
20
0
0
0
-49
-68
50
-12
33
31
18
9
13
13
-11
-24
-63
-61
-56
0
-25
49
81
133
-22
19
27
-34
26
4
0
-18
1
-4
-18
-5
4
-2
117
43
-14
-55
-43
4
-5
38
-2
-16
-8
-24
-1
-10
-81
-10
12
17
27
6
21
9
6
-10
-17
-3
-29
-4
-5
30
12
22
-32
-2
-27
-6
-7
-5
-4
-1
0
-44
-34
-22
-47
-50
-34
-9
0
17
7
-19
-9
-30
15
-1
0
6
-32
-36
-21
-4
-1
-18
34
-1
33
21
-30
8
33
0
-3
42
0
32
-27
-7
-13
-28
5
-1
0
54
99
-40
6
28
-5
0
0
0
39
-107
30
27
36
-37
-14
-17
-2
-28
-11
0
0
-1
-1
0
0
0
0
0
0
0
2
9
0
0
0
78
82
52
14
29
67
-44
0
0
0
0
0
7
-19
0
0
0
54
78
20
26
7
34
7
0
0
0
0
0
3
17
90
-25
10
-48
125
-42
4
-16
-1
57
0
0
0
0
0
-1
-90
-43
73
-34
48
11
25
-6
7
5
3
0
0
0
0
0
0
-43
79
-2
-33
39
-69
32
15
35
10
2
0
0
0
0
0
0
-29
126
41
-2
-40
28
-21
0
9
-1
-29
0
0
0
0
0
0
-4
-65
35
51
-48
-94
-70
-21
7
-13
38
0
0
0
0
0
0
5
31
-20
-97
-4
7
11
-27
-32
-1
-32
0
0
0
0
0
0
0
1
2
2
5
-43
30
-64
-38
-23
21
0
0
0
0
0
0
-19
0
0
0
12
-3
-10
-19
82
13
38
0
0
0
0
0
0
19
0
0
0
-32
22
43
8
55
25
-43
0
0
0
0
0
0
26
3
-27
-64
-46
-24
43
-22
-2
14
-10
0
0
0
0
0
0
-1
1
0
61
13
-39
-48
31
29
-51
11
0
0
0
0
0
0
0
9
46
69
-38
32
-56
20
-27
22
17
0
0
0
0
0
0
0
-3
-4
42
25
-1
53
87
-14
27
12
0
0
0
0
0
0
0
0
13
30
-16
-43
-3
3
33
-18
40
0
0
0
0
0
0
0
0
1
27
8
-37
-5
-66
66
11
23
0
0
0
0
0
0
0
0
-2
-3
0
-14
-5
-67
-27
9
-2
0
0
0
0
0
0
2
0
0
0
119
105
5
5
18
-44
-40
0
0
0
0
0
0
-1
0
0
0
-31
-2
45
58
-9
6
22
0
0
0
0
0
0
29
32
-37
-52
1
10
23
38
43
67
-23
0
0
0
0
0
0
-17
-86
72
-31
24
-100
-20
-14
47
-18
-81
0
0
0
0
0
0
-29
-38
5
-32
8
18
55
-23
19
-19
-55
0
0
0
0
0
0
1
-52
12
-15
64
31
48
-30
41
-14
23
0
0
0
0
0
0
3
20
-27
34
26
-32
-74
8
-1
33
71
0
0
0
0
0
0
0
0
3
-3
-17
-13
40
47
56
-16
-17
0
0
0
0
0
0
0
0
0
0
7
-10
15
-45
-51
-23
49
0
0
0
0
0
-2
41
0
0
0
-10
48
13
16
-1
-13
66
0
0
0
0
0
3
-42
0
0
0
82
6
5
13
43
2
-39
0
0
0
0
0
0
-34
17
-96
14
-29
-23
33
-36
20
-9
15
0
0
0
0
0
1
8
38
21
8
-56
4
39
3
-8
13
42
0
0
0
0
0
0
-57
4
37
-52
67
-26
28
89
-22
-2
84
0
0
0
0
0
0
2
5
-7
21
31
5
23
13
3
-31
29
0
0
0
0
0
0
1
0
2
-9
-3
-66
30
6
17
28
-7
0
0
0
0
0
0
0
2
-7
-3
8
-22
9
18
36
54
47
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-52
33
34
0
0
1
6
-8
47
17
0
0
0
-17
-27
30
17
49
-11
10
0
0
0
3
11
10
1
0
0
0
16
-17
27
7
9
10
-14
0
0
0
-6
-27
3
-8
88
-18
56
-46
-11
13
39
-12
26
21
0
0
-1
-2
-21
-70
60
0
-44
-4
-7
0
30
43
36
11
18
0
0
8
20
-3
-6
29
47
39
-30
27
18
37
14
-7
-9
-8
0
0
2
4
6
33
-54
-12
33
22
13
47
71
19
26
14
-4
0
0
0
3
1
-15
41
118
-15
-58
-2
-14
-13
22
-5
-14
56
0
0
0
0
0
-7
17
4
10
12
-55
-44
1
-4
43
-27
51
0
0
0
0
0
-22
10
37
22
2
-41
-26
-50
59
26
-40
37
0
3
4
3
70
-86
18
0
0
0
-13
-37
28
30
34
0
-43
0
23
-29
-22
-32
3
11
0
0
0
32
-22
-45
10
14
5
-4
0
-3
11
24
64
-49
12
71
-12
-47
26
-7
-8
24
0
12
-11
0
-1
22
10
-9
22
27
92
20
-12
-35
16
34
6
0
-6
23
0
0
0
-53
-20
-29
16
88
57
28
18
15
-47
28
-4
-9
-33
0
0
0
-1
25
-11
31
62
-29
1
20
-27
29
8
25
23
5
0
0
0
22
9
-15
28
42
0
22
-44
-10
-3
49
24
11
-14
0
0
0
-2
-5
-7
30
-7
5
4
28
7
-17
-63
43
17
56
0
0
0
0
3
-4
82
-9
-3
51
21
13
-12
27
23
96
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-42
50
-101
-44
-22
0
0
0
-21
-14
56
-40
24
-44
-76
-4
25
-24
-69
-44
-7
19
0
0
0
-13
-20
8
-4
-26
6
-26
0
-84
48
-82
-9
48
-17
26
5
-12
-17
-20
-4
-5
-41
33
81
-20
-92
-80
-56
34
-46
28
-9
-6
-20
-23
-14
-17
20
-20
41
-14
-7
-54
-9
-65
-92
-28
-26
-15
-25
-40
-47
-26
-30
-28
25
-15
-38
114
-49
-27
-39
-10
-53
-81
5
-10
-22
-64
-34
1
-12
-43
-44
-24
-6
22
-15
-12
-23
-90
19
-36
-6
-76
-7
17
46
76
6
-2
16
0
0
-2
-8
11
-67
-79
-78
-68
-14
-93
-152
-49
-78
-64
-10
-64
0
0
0
-2
-2
0
15
-40
-39
-7
1
-49
-43
45
-39
-5
-58
4
5
-52
17
-1
-18
13
0
0
0
13
-13
-16
-44
-13
-46
0
-64
-130
-13
-41
-2
-33
-23
0
0
0
29
-13
-11
-14
-16
-32
0
-25
-84
-30
-45
-36
-10
48
8
15
21
25
-3
-11
9
-13
-4
0
-1
-54
-84
-51
44
-33
-30
-17
30
-7
-9
-7
-6
17
-13
39
0
-1
-22
-60
-23
2
-77
-34
-21
-20
-20
-8
-15
-14
-3
-48
21
0
2
-31
-22
72
34
-14
8
-40
-40
-2
-5
-6
-7
18
-6
-40
0
0
2
39
39
43
21
0
-20
-14
-8
-8
-11
-15
-5
14
38
0
0
21
69
52
137
1
57
-7
27
8
11
3
-3
-20
-19
19
0
0
0
115
93
-85
49
28
-22
51
9
24
16
22
-1
15
-97
0
6
-15
20
-34
-10
22
1
0
0
0
43
-12
17
-14
-56
-15
0
-26
-8
8
-18
17
22
1
0
0
0
12
-36
21
-8
-54
-36
0
-4
-42
26
-7
-11
18
-5
0
1
10
16
20
-7
-83
-97
-63
0
-1
-2
18
-26
14
6
-3
-4
-8
52
-6
-47
-47
-64
-67
-29
0
99
-46
-16
-36
-35
-2
-8
-12
-10
-56
-60
-11
-49
35
-95
-5
0
26
46
-41
-9
-34
-48
-15
-16
-8
-74
-2
-60
31
-21
-82
-6
0
-6
-39
43
-22
-18
-18
-11
-5
-6
-12
-30
42
24
8
-78
-34
0
33
24
21
-41
-28
-31
-7
1
-27
16
-2
14
-33
-64
-50
-19
0
-3
72
-27
-12
-11
-13
-6
-5
-1
-11
-16
31
-8
28
-41
-17
0
60
0
-30
-1
43
3
7
0
0
0
-8
-4
23
16
-49
0
0
-18
29
38
35
43
40
10
0
0
0
19
-6
0
-19
-17
0
0
-5
-68
-39
8
-9
40
6
3
-11
-41
3
19
18
30
-99
0
0
-30
-1
-4
7
-13
-14
-2
-23
-27
-38
1
17
19
31
-23
0
0
-14
-1
47
-65
-96
-68
5
-12
-38
-20
-14
11
23
-13
-34
0
0
23
-36
-3
1
-25
-11
-7
-32
-26
-8
23
8
6
-83
-2
0
0
-22
-21
-37
-7
-77
-20
-28
-22
-33
-7
22
-14
10
-42
-59
0
0
0
-37
-43
19
4
-9
-23
-38
-3
18
6
-46
20
-111
-49
0
0
0
0
0
4
-9
-33
-5
-97
-52
-5
-9
-69
-2
-74
-17
0
0
0
-8
49
-74
-54
-30
38
0
0
0
5
-6
8
39
-20
-1
7
0
-21
-49
9
10
24
-10
0
0
0
25
-9
-17
21
-22
24
-103
-2
96
-46
-63
44
-49
-13
17
-33
9
-13
-28
-13
17
-21
6
-9
0
-32
-42
7
-54
-44
25
-27
-30
-15
-45
-38
20
-6
15
-16
-5
0
-22
-42
-96
-45
-10
-3
-16
-12
-16
5
-5
18
6
29
-52
-90
0
-10
3
-82
-89
-109
91
-42
-23
-33
-28
33
24
-66
4
-62
-81
0
-25
-42
10
25
-12
0
-68
-34
-48
15
-15
-19
-39
34
-18
1
0
-5
24
1
11
-61
-12
-96
-51
-17
31
-7
-96
-33
-72
32
32
0
1
9
0
-6
-4
-13
-15
-8
-36
-78
42
18
-76
-73
-118
-50
0
3
0
4
-3
-18
-3
0
0
0
-32
-26
-21
-25
-40
-2
20
-1
-2
0
-70
-35
-55
32
0
0
0
-45
9
-22
-2
-4
0
15
1
0
-4
-3
-97
11
-6
8
-9
-42
7
-28
21
26
20
-1
-2
0
-1
5
29
36
15
-20
-6
-9
0
-3
-35
0
0
-37
-18
-25
-1
-3
3
13
20
-24
30
-31
-6
3
4
0
-27
-13
42
-34
-33
6
-3
6
-12
34
42
-10
-28
-40
-44
-10
4
26
-63
-22
-4
-18
0
-1
-6
17
-8
-53
67
32
-29
0
-5
11
24
-5
-24
-78
53
0
0
1
0
15
-45
20
-79
-40
2
-3
-7
-24
-73
-24
-110
-12
0
0
0
0
0
-4
-28
-50
-17
8
85
-12
45
22
54
-2
-66
-1
-3
-5
-20
22
-3
-7
0
0
0
-92
-13
5
-10
1
46
-7
-1
15
1
-42
-34
-22
9
0
0
0
-100
-31
-18
3
62
-15
7
-9
88
-39
-28
-69
-52
7
0
-33
-41
-38
7
-46
26
58
35
28
-8
11
10
-10
-11
-20
14
-15
-14
11
-35
-10
51
-37
60
-5
34
0
-17
-5
-35
-39
-59
9
-19
4
6
-4
18
-34
-25
-5
5
-10
0
-24
34
-45
16
2
33
7
7
9
8
9
26
4
-30
-15
-20
0
-30
-61
-78
-24
27
-4
9
6
1
36
-2
-2
11
16
-26
-3
0
-9
-21
-9
41
-39
-18
8
-2
-12
-26
16
11
2
17
-24
3
0
0
-1
-8
37
-39
8
19
-25
22
-6
-27
-35
49
22
-52
-12
0
0
0
0
0
30
127
0
0
0
-16
-11
2
27
-89
16
41
0
0
0
0
0
34
23
0
0
31
62
2
-23
6
-11
62
-4
0
0
0
0
24
32
42
75
59
28
-14
18
45
49
54
-20
-6
0
0
0
0
44
9
-27
-12
44
19
-24
-1
18
-31
-18
38
-1
0
0
0
0
-50
-28
-73
-31
6
-25
-19
-52
61
4
-25
45
-1
0
0
0
0
-47
65
-34
-23
23
-9
12
-33
-10
-48
31
36
-1
0
0
0
0
8
-114
-52
21
-11
-15
-22
-2
53
7
-57
7
0
0
0
0
0
0
-9
-13
22
15
-47
-36
48
19
-27
13
10
0
0
0
0
0
0
-15
-4
-48
-31
-57
-10
-25
26
0
-9
0
0
0
0
0
0
0
12
-7
0
0
0
1
2
36
-10
22
-2
0
0
0
0
0
5
14
22
0
0
18
-19
72
29
-10
-24
12
0
0
0
0
0
3
6
-25
25
-14
-1
15
-31
-3
-10
6
-6
0
0
0
0
0
0
4
2
44
16
17
43
-19
27
35
-24
-19
0
0
0
0
0
0
-95
-56
-40
100
25
-34
4
6
-23
26
-25
0
0
0
0
0
0
-5
-39
-18
-17
-33
-4
9
-6
19
4
-6
0
0
0
0
0
0
2
-46
30
22
-19
64
-29
-28
-39
10
-17
0
0
0
0
0
0
-6
-44
11
-2
30
-28
-56
-49
28
-1
16
0
0
0
0
0
0
0
-44
-53
4
47
16
-14
1
-8
-5
2
0
0
0
0
0
0
4
20
0
0
0
83
52
12
-49
-52
25
0
0
0
0
0
2
-16
4
0
0
12
-21
5
67
-35
54
40
1
0
0
0
0
-4
51
16
27
-20
27
34
30
54
-17
34
-1
1
0
0
0
0
4
-37
-38
39
16
-41
47
1
18
26
0
-10
-1
0
0
0
0
-12
60
-27
13
2
60
3
15
35
28
-20
-5
-2
0
0
0
0
0
-2
-10
-16
-24
-31
-49
9
56
-5
-15
-2
0
0
0
0
0
0
-27
9
-93
-17
-43
51
6
2
-1
6
13
-1
0
0
0
0
0
2
-29
-32
-38
-59
-77
4
-23
38
2
-1
-1
0
0
0
0
0
6
-73
-53
-27
38
-24
36
2
4
-3
3
0
0
0
0
0
0
117
33
0
0
0
-9
22
3
-33
29
0
0
0
0
0
0
35
55
-5
0
0
-16
23
60
-17
-27
-15
0
0
0
0
0
0
62
96
35
63
63
56
-29
2
82
-28
3
-4
0
0
0
0
0
-18
19
33
20
63
37
-24
37
11
35
7
-1
0
0
0
0
0
-60
-38
8
39
-11
42
-55
61
28
23
6
0
0
0
0
0
0
-1
-33
-10
-34
-30
33
-55
-2
0
-24
-18
-1
0
0
0
0
0
0
-4
-24
-47
-23
-35
-3
70
-64
18
-15
-5
0
0
0
0
0
0
-3
-60
71
2
46
2
-12
-16
14
-8
0
0
0
0
0
0
0
-12
-11
-18
4
20
12
2
-7
0
0
0
0
3
45
65
7
20
9
-48
0
0
0
47
55
48
38
51
5
-7
-95
34
52
-31
-19
-31
-44
0
0
0
10
32
-41
33
24
29
2
26
-14
45
2
80
-22
-34
-29
-2
-17
-16
-10
36
-50
4
42
14
-47
-46
21
-14
-11
-13
-13
-30
14
24
23
-17
-54
22
39
29
-3
15
32
-54
-61
-1
7
-22
31
27
-8
-5
48
-50
72
-21
-22
-13
15
-14
-26
19
49
30
-31
34
25
10
-9
-17
27
3
107
31
-14
-4
-79
-69
26
-6
-12
71
-5
-49
-23
28
-3
-23
-33
-8
-30
-5
5
19
-17
-53
38
42
-26
13
15
-26
-18
2
-48
-28
6
28
17
-15
-13
-33
-41
-45
-162
-2
-21
-1
-36
7
-49
-91
-10
-7
-29
2
74
39
69
54
-142
-45
4
0
0
0
-25
-4
67
17
51
80
27
-14
-77
59
9
63
-26
-57
0
0
0
0
5
21
45
5
-1
53
-40
9
2
-67
27
-2
-19
-80
-16
-32
18
14
-10
96
44
33
12
-49
-61
-11
12
26
58
-27
15
-80
24
-10
51
42
-32
-32
28
-8
-40
21
-28
1
26
35
20
-5
2
13
-31
-5
-12
-37
17
-7
-32
70
45
8
37
-55
-13
57
-21
1
34
-20
-14
-24
93
18
-8
-16
-24
-10
-33
19
-17
-100
5
55
22
10
-1
-4
-20
79
19
-43
36
44
-24
-36
-11
-102
15
72
-5
18
39
58
19
-29
-25
73
35
15
-2
9
3
21
-53
-36
-39
39
-5
0
-17
8
-2
23
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
9
44
-21
23
74
0
0
0
37
-36
10
31
80
-18
0
-56
-8
6
0
38
34
-11
0
0
-56
17
1
-16
-17
-14
-5
0
-59
-2
-44
36
-23
41
33
99
64
9
-9
-32
-15
17
30
15
-2
-44
8
47
4
46
30
52
37
43
53
-24
-76
-79
-37
-16
-16
18
-74
50
-29
26
7
56
-11
38
7
-77
8
7
-64
59
21
17
2
-76
-5
-16
6
-10
-13
22
-109
-18
-85
-26
8
-37
-95
-36
23
0
1
-24
-33
11
12
-10
52
71
36
-31
-39
32
3
1
-12
-18
1
-28
-51
0
-6
-9
19
22
-2
-80
-6
-49
-39
6
18
61
-2
0
-21
-52
-77
-48
-1
-27
-74
0
-51
-8
-4
-39
-30
-6
-5
0
1
-82
3
-28
1
24
9
70
0
0
25
82
31
30
-51
-29
0
0
-55
-49
-4
14
13
2
79
34
41
53
12
-3
-55
-38
14
-10
0
-77
-70
7
-3
6
-7
10
24
38
43
-4
-66
58
-72
6
7
0
-52
-36
-34
-21
5
-23
-8
-7
-7
28
-10
6
29
-109
-27
2
0
-76
-59
-9
1
-5
-15
-22
-13
5
-3
31
-39
-54
43
7
0
0
-79
-5
-56
-36
-27
-12
5
4
-13
9
-9
-67
19
-70
-38
0
0
-22
-25
-10
-22
-20
-11
8
-19
-28
-35
-37
-22
-12
4
6
0
0
-23
-18
2
-8
20
17
2
15
9
9
-44
91
-71
-43
0
0
0
-73
-39
27
14
-18
8
37
18
28
-42
32
26
13
0
0
0
0
-2
15
6
-3
-42
-48
-12
0
0
55
-20
-16
0
-20
0
0
0
-9
-2
2
17
-5
-26
18
-11
-56
10
54
-48
-1
-6
0
0
0
-23
-8
4
-4
-8
-26
48
12
23
0
66
-7
-10
-1
0
0
0
-24
-7
-5
0
11
16
93
18
-32
-56
27
28
-14
19
0
0
0
-23
-8
-16
10
21
-6
0
29
-7
35
3
-62
-3
8
0
0
0
9
7
-22
10
35
30
-25
62
40
1
-63
-26
-14
27
0
0
0
-2
-13
4
-15
2
37
26
-82
36
8
-45
23
-22
-6
0
0
0
-15
-4
-3
12
23
-28
11
-3
5
32
39
28
4
18
0
0
0
31
-11
10
12
8
14
49
-1
-31
19
-64
-2
98
-3
0
0
0
29
2
2
8
52
52
35
-21
0
-38
0
-52
-10
-26
1
0
0
-6
-14
-18
18
40
54
0
1
0
2
51
21
-71
2
0
0
0
-24
-7
-25
42
29
29
48
36
38
43
-43
-6
1
-28
0
0
0
-26
8
30
42
2
25
24
-13
16
35
14
-3
-19
-23
0
0
0
-27
-8
13
-3
51
1
5
11
-65
-28
-29
-64
2
31
0
0
0
-11
9
-19
42
23
19
-19
11
-62
-37
3
0
-88
-32
0
0
0
8
1
18
-38
11
-25
-19
-13
-38
-65
-19
7
2
-33
0
0
0
-78
-11
8
61
4
59
81
-2
-26
-46
3
-14
-17
0
0
0
0
-40
-40
-14
12
-16
-81
-34
-30
18
-3
1
0
0
1
0
0
0
-12
-21
1
35
68
76
59
0
0
-9
25
-37
-14
-163
-19
12
5
40
12
30
9
9
26
20
0
-89
0
15
-21
50
6
47
65
1
-34
15
-40
-40
8
20
52
76
57
75
13
-24
20
-44
10
-35
2
-21
-6
-4
5
48
-39
0
7
-21
-16
-31
5
-118
23
13
-28
3
-10
14
-12
-1
4
49
1
21
-44
-8
-34
-79
-10
-14
47
12
0
43
23
38
-46
-8
-55
8
-22
-25
-40
-72
-65
-55
-57
-11
6
6
-93
-65
-68
-28
12
-21
32
-8
-54
-88
-95
-18
-72
-8
-3
6
0
44
38
62
-13
47
47
-71
-14
-33
39
24
-17
-44
-1
-3
0
0
4
-37
36
-66
-34
20
-42
-59
-25
-67
-32
-36
-13
-7
0
0
0
-35
27
-18
-10
36
-42
2
-47
0
32
9
1
33
-4
-4
0
0
54
-2
6
-39
30
17
-75
0
-23
0
34
-5
-97
-24
32
2
0
-32
23
39
63
7
-5
-53
0
4
-3
-12
99
-29
7
24
-1
0
9
30
-67
59
25
-7
1
-24
-41
40
-6
-42
-66
-16
20
-3
0
11
71
6
12
17
-32
9
24
-35
84
-47
77
21
-16
-11
-5
-1
-60
35
-10
-47
21
-56
-8
16
-22
25
-1
3
-24
-3
-9
12
0
-6
-11
11
1
-17
-23
-67
-24
53
-60
-91
-44
-33
-21
-10
0
0
4
9
-6
-29
1
-33
1
-15
-42
-7
-19
-14
2
-8
0
0
0
16
-44
-23
19
-56
-21
-34
9
15
-49
13
0
0
0
0
0
0
-18
46
34
21
18
-64
-83
0
0
0
4
49
13
-25
45
-3
-9
20
1
-7
10
19
-61
-84
-97
0
-72
18
70
54
8
-23
-11
14
-26
3
-31
-17
35
31
-44
-14
13
34
34
29
-13
-65
-5
27
-10
-20
-9
-1
-18
-40
50
59
15
-51
5
75
-8
64
-2
-11
16
-8
46
-9
21
18
-36
-72
10
44
60
23
-24
17
32
-5
-4
-1
0
10
-25
4
-2
32
-29
19
35
34
-44
43
-45
36
29
-1
0
6
-72
-29
-36
18
41
83
36
12
23
-1
-12
-18
-11
0
-3
25
0
-24
-30
17
-36
-17
-33
-111
-2
14
60
-18
11
5
-3
0
0
0
-8
-100
55
-13
11
-64
0
-54
-31
-25
-20
0
0
-1
-1
0
0
0
0
0
0
0
2
-5
0
0
0
101
33
12
-6
51
63
20
0
0
0
0
0
6
0
0
0
0
109
23
68
3
35
-27
-26
0
0
0
0
0
3
-64
24
8
4
-41
-23
11
-4
17
-13
3
0
0
0
0
0
0
-23
6
42
-59
67
2
3
52
37
36
-34
0
0
0
0
0
0
6
74
5
-31
67
-26
58
35
27
23
30
0
0
0
0
0
0
-69
54
49
-39
-7
-27
-27
6
26
34
-10
0
0
0
0
0
0
9
-25
65
21
-22
14
-8
-26
14
-21
4
0
0
0
0
0
0
5
-5
-30
-5
-58
33
0
-56
55
-17
27
0
0
0
0
0
0
0
1
5
2
8
-97
-26
-54
13
32
8
0
0
0
0
0
0
0
0
0
0
20
55
-4
-6
51
-46
-19
0
0
0
0
0
0
6
0
0
0
19
24
7
-1
26
9
96
0
0
0
0
0
0
10
-14
-14
-16
21
-64
-21
-52
2
14
-9
0
0
0
0
0
0
-1
-16
-4
30
-4
3
64
-17
7
56
77
0
0
0
0
0
0
0
1
2
84
-62
9
-26
-17
-54
-88
64
0
0
0
0
0
0
0
-8
-7
18
9
-20
-49
59
36
-30
14
0
0
0
0
0
0
0
0
12
48
-4
-17
-31
1
49
46
-41
0
0
0
0
0
0
0
0
-2
7
0
-38
32
-83
2
2
19
0
0
0
0
0
0
0
0
-2
-3
0
-14
-8
-61
-8
-20
0
0
0
0
0
0
0
-19
0
0
0
83
-15
29
17
16
30
-21
0
0
0
0
0
0
1
0
0
0
40
-15
33
8
23
20
5
0
0
0
0
0
0
-36
5
-24
1
-136
4
16
37
-9
56
13
0
0
0
0
0
0
0
-21
4
-90
49
-47
-18
-5
50
24
-63
0
0
0
0
0
0
-19
-4
39
-70
3
-14
-16
51
58
-9
-29
0
0
0
0
0
0
1
-23
7
22
62
43
88
-7
11
23
48
0
0
0
0
0
0
3
-8
-38
7
23
-51
8
-6
-55
19
46
0
0
0
0
0
0
0
0
12
15
-29
-9
-15
8
103
92
-4
0
0
0
0
0
0
0
0
0
0
7
-15
29
-35
5
-65
11
0
0
0
0
0
-2
-12
0
0
0
92
-16
98
22
-4
-6
6
0
0
0
0
0
3
-10
0
0
0
126
-49
36
-15
-4
37
5
0
0
0
0
0
0
6
-8
-47
-11
84
35
52
19
-1
-16
138
0
0
0
0
0
1
7
46
-1
17
-95
-24
-6
34
-7
-33
64
0
0
0
0
0
0
-8
5
46
-59
2
-72
-71
46
61
-29
60
0
0
0
0
0
0
0
5
-8
18
18
9
49
-66
21
-76
48
0
0
0
0
0
0
1
0
2
-5
-29
43
58
9
65
-27
-47
0
0
0
0
0
0
0
2
-7
-3
-2
-14
0
-32
70
72
35
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
23
-57
75
0
0
1
6
-19
26
-7
0
0
0
9
33
30
-8
16
-69
38
0
0
0
3
12
29
-50
0
0
0
-8
-1
-19
53
-11
-5
-46
0
0
0
-6
-12
-11
80
26
-32
7
29
4
-3
-29
36
-2
-32
0
0
-1
-8
9
-129
19
-33
75
12
25
7
-22
16
21
-7
13
0
0
-2
-11
-4
-26
-32
30
81
-72
-70
-46
-6
5
36
-66
-5
0
0
2
4
16
42
-2
1
-34
19
-3
33
59
4
22
54
-35
0
0
0
4
1
-30
3
-62
34
-79
41
27
11
36
-17
16
52
0
0
0
0
0
-5
-23
42
-37
-31
-29
-75
-24
4
-3
-62
73
0
0
0
0
0
-22
8
38
6
-1
-47
17
-42
20
-16
-7
30
0
3
4
-6
48
-80
-5
0
0
0
-7
-27
-7
61
43
-3
-26
0
29
-5
19
44
17
-9
0
0
0
-28
-55
-8
-37
47
22
-6
0
-3
-9
-8
20
46
28
-15
38
-19
10
-1
-23
39
1
-25
-17
0
-2
-1
5
28
50
7
14
-7
27
-5
-23
-29
-4
2
2
-19
0
0
1
-19
1
-16
42
110
-6
65
-26
-45
24
8
2
-9
14
0
0
0
3
5
14
-34
79
6
-82
45
39
4
15
-27
35
37
0
0
0
0
17
27
-13
15
2
27
56
-86
-11
-28
11
15
35
0
0
0
-2
-3
13
13
-28
-38
120
85
-23
23
-28
-7
-4
91
0
0
0
0
3
-4
52
19
-26
33
32
-14
18
-16
15
18
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
45
-18
-29
-33
15
0
0
0
-17
24
-61
-48
3
21
-67
-2
51
-26
-68
-54
13
11
0
0
0
-12
-8
5
-26
17
-2
18
1
-61
-59
19
-27
2
-10
15
-7
-23
29
-41
73
18
42
40
47
-4
-106
-59
-44
29
-77
3
-24
52
-30
-43
-33
7
41
8
32
-43
-7
-51
30
-72
-68
19
-98
-48
18
2
-1
-16
-48
12
89
13
49
22
-34
-58
-10
-6
-20
-63
4
-9
-6
-31
37
-24
46
0
88
-25
-6
19
7
-25
29
-42
-3
-58
26
-69
-53
-25
44
-49
-26
-26
-7
0
0
8
-11
-6
-104
-74
-41
-39
-43
-30
-43
-21
20
33
-14
-34
0
0
0
-2
-2
0
10
-40
-27
10
-1
-44
-15
46
-44
-31
-96
2
-44
-50
48
-3
-20
9
0
0
0
9
-8
-18
5
-36
37
0
-16
-73
-14
40
-25
-18
25
0
0
0
15
3
-6
-28
-15
-24
0
-6
-52
-5
37
13
20
8
17
6
22
8
-14
3
5
-10
-43
0
1
-21
-105
46
-127
-38
2
8
6
5
-5
-1
16
23
-16
-10
0
-1
-43
-20
45
-23
-9
-11
-22
-1
-6
-7
1
-7
9
8
-47
0
5
76
-42
49
-27
-17
-12
-18
8
11
-2
3
-16
-16
49
39
0
0
4
117
51
-58
2
-61
-9
-2
3
30
-17
6
-5
-54
24
0
0
17
-6
-19
58
13
14
-22
23
10
-21
-2
2
-5
-38
14
0
0
0
34
92
23
28
18
-22
17
0
32
23
-26
4
-72
-16
0
28
9
36
-44
-6
27
1
0
0
0
-13
31
0
-48
-53
-9
0
17
-23
-14
0
11
23
0
0
0
0
57
-34
0
40
36
-11
0
-33
-51
26
-16
-13
7
0
-3
0
63
28
47
28
3
17
14
0
19
23
-30
-22
0
5
0
-6
-3
31
12
38
-11
21
-104
-25
0
31
5
-40
-38
-33
-14
-16
9
-17
-45
-20
60
-32
25
-117
-7
0
-12
50
-55
9
-18
-25
-15
7
-15
14
43
-13
47
-64
-58
-20
0
42
2
17
-36
-20
0
-12
-4
7
-80
1
-8
-66
14
-46
-34
0
14
-40
31
-38
-20
-13
-5
-2
-7
-31
-13
2
-70
2
-59
-18
0
20
-1
-68
-33
-22
-15
-8
7
4
-43
57
10
-13
-14
-15
-16
0
33
-36
-35
21
-12
35
8
0
0
0
52
16
16
8
44
0
0
-20
21
-30
8
21
47
12
0
0
0
34
30
20
-15
-7
0
0
-1
7
-34
2
-12
45
20
16
-8
7
2
26
39
-12
-40
0
0
-41
5
23
27
-37
0
10
-21
-1
-14
16
8
-13
-55
1
0
0
7
4
-17
-66
-18
-8
-22
12
-11
14
8
5
-32
-20
33
0
0
8
-75
39
-69
-19
-28
3
23
-9
13
18
-21
30
-11
-29
0
0
14
4
-46
-27
-51
-26
-30
3
14
-33
30
-28
-53
51
-28
0
0
-14
-19
-26
-42
-22
-20
-5
3
-34
-26
-21
63
-36
-25
-40
0
0
0
0
0
3
-9
-16
18
-27
-6
-11
50
8
28
-30
5
0
0
0
-8
36
-46
-36
-47
-36
0
0
0
32
17
15
23
25
-53
10
0
-39
14
49
27
-21
12
0
0
0
45
22
17
13
25
41
40
0
-9
-29
-1
26
28
26
32
-30
12
21
56
28
21
49
5
7
0
-41
-61
14
-23
-7
-68
-7
46
-26
28
60
-39
39
55
50
14
0
-3
12
-95
-22
-17
16
-52
9
44
10
1
-23
-22
46
31
-16
0
-5
-33
-47
-83
-129
-2
-8
35
68
6
17
-49
43
-38
9
-39
0
-27
-51
-31
39
-44
-24
4
11
30
-4
0
-29
-5
35
-20
3
0
-3
20
50
0
-32
1
-13
-53
-38
3
-106
-108
13
-68
-118
-53
0
1
9
0
-6
-5
-8
-13
-5
-29
-54
15
36
-65
6
-91
-40
0
3
0
-10
-36
-20
39
0
0
0
26
7
-52
-10
55
-84
-48
-1
-1
0
-55
5
-8
32
0
0
0
46
-12
46
-44
-7
7
58
1
0
-4
-27
-33
55
42
-27
-24
-28
50
51
-21
-8
16
-20
30
0
-1
-10
38
9
-35
4
-27
-1
23
29
-28
-3
-43
49
7
8
-1
-3
0
36
36
-15
41
-77
-32
46
12
52
-27
-42
43
-118
-17
6
-3
5
-1
-9
41
61
-17
-37
59
-64
29
5
-68
23
42
-73
0
-1
-8
16
1
-73
-12
-41
-16
-15
-67
59
22
-34
-15
-29
-17
0
0
1
-1
18
-42
-13
-28
11
-54
36
9
-19
-74
-26
-34
-32
0
0
0
0
0
-1
-57
-58
-26
47
17
-1
38
22
-2
17
-29
-1
-7
-19
-41
26
-34
-5
0
0
0
13
-18
60
18
8
-29
-47
7
47
-27
-53
-22
-13
24
0
0
0
-54
5
58
17
-20
18
44
-3
41
-47
-50
-30
21
-45
-27
-64
-38
21
27
1
15
21
13
-32
7
5
-23
-39
-51
53
-5
10
29
16
-1
-32
37
-5
6
-6
0
20
-29
-29
-47
21
-57
6
0
26
11
-2
41
-16
-23
12
-37
8
0
-19
20
31
14
-99
24
9
-15
20
-14
-30
-56
35
-27
-1
31
0
-4
-20
-30
-60
30
10
32
22
0
22
-55
36
-5
3
39
16
0
0
22
8
-13
-25
-9
12
23
1
43
6
22
-21
78
9
-69
0
0
-1
3
-1
8
35
-31
-49
-32
24
76
17
12
-3
43
-57
0
0
0
0
0
-9
46
0
0
0
23
-19
8
10
2
1
0
0
0
0
0
0
-13
-66
0
0
-81
-25
11
16
-18
3
14
0
0
0
0
0
0
-7
-4
-53
44
-1
3
21
46
12
6
6
0
0
0
0
0
0
0
-40
-21
10
-56
5
20
40
-14
-41
0
0
0
0
0
0
-1
11
-24
32
50
80
32
-10
-19
-22
3
-1
0
0
0
0
0
-2
-5
2
-20
83
36
-29
12
29
-9
-1
0
0
0
0
0
0
0
-22
44
28
9
37
-13
-7
-17
-22
1
0
0
0
0
0
0
0
0
0
4
3
-11
-7
-1
-29
0
1
0
0
0
0
0
0
0
0
-3
17
-44
-50
2
5
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
8
-5
1
0
-2
0
0
0
0
0
0
0
-13
0
0
14
-29
40
-7
2
-1
0
0
0
0
0
0
0
4
-23
-81
39
-56
-6
25
13
-1
1
0
0
0
0
0
0
0
2
-1
-15
14
5
33
19
9
1
0
-1
0
0
0
0
0
0
-1
7
6
58
11
-21
29
1
-2
0
0
0
0
0
0
0
0
-2
5
0
-46
9
15
42
2
2
-3
-1
0
0
0
0
0
0
1
-24
12
-10
-32
-26
-1
2
-2
1
0
0
0
0
0
0
0
0
13
-41
-60
-43
21
-5
-9
0
5
3
0
0
0
0
0
0
0
1
-5
3
19
0
2
0
0
0
0
0
0
0
0
0
0
2
40
0
0
0
16
8
45
-14
-3
0
0
0
0
0
0
0
0
34
0
0
-52
29
3
23
34
12
-1
0
0
0
0
0
0
-22
5
-9
-63
34
27
45
-6
-2
10
2
0
0
0
0
0
0
-6
-44
21
22
43
38
42
7
-5
0
0
0
0
0
0
0
0
3
-19
-22
34
24
26
-2
12
4
0
0
0
0
0
0
0
0
0
-40
-6
-4
6
-19
2
-5
4
0
0
0
0
0
0
0
0
0
-16
-13
-24
18
-13
13
-4
0
0
0
0
0
0
0
0
0
0
-1
-3
-31
-5
-17
5
1
0
0
0
0
0
0
0
0
0
0
-1
9
-41
-5
-12
-1
-1
0
0
0
0
0
0
0
0
0
21
18
0
0
0
58
7
5
-6
2
0
0
0
0
0
0
0
18
2
0
0
-6
0
-9
-16
7
-3
0
0
0
0
0
0
0
-5
64
75
56
6
3
-12
10
-20
0
0
0
0
0
0
0
0
-17
40
-47
21
48
-4
-15
9
4
0
0
0
0
0
0
0
0
-29
8
-33
0
1
-23
33
20
-2
-1
0
0
0
0
0
0
0
4
-43
47
-19
36
-17
-5
-3
5
0
0
0
0
0
0
0
0
1
-22
0
-26
-25
15
4
-1
2
0
0
0
0
0
0
0
0
1
-7
33
5
-42
3
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
-3
0
-2
0
0
0
0
0
8
7
4
20
-7
2
0
0
0
13
-20
-7
-3
-1
0
0
-5
8
-4
-48
99
-17
11
0
0
0
-56
-20
10
6
-6
0
0
5
18
-15
8
53
-59
9
-49
-15
-7
5
40
12
8
-10
0
0
15
-7
9
-11
-30
-16
-17
-52
-4
-10
23
35
20
8
4
-1
0
-5
-4
21
-23
11
23
-30
55
91
26
30
-9
-2
-3
3
0
0
0
-8
-14
8
15
-22
-4
-104
4
11
11
11
17
-22
-3
8
0
0
4
38
-14
8
-33
-6
15
-1
-20
-54
-6
15
-7
0
-2
0
0
-3
-16
-24
8
1
-54
-24
17
1
27
10
-3
-2
0
1
-1
2
1
4
2
0
-15
-1
6
12
3
16
19
6
1
0
0
0
-9
-7
9
-9
-8
1
40
0
0
0
-53
55
2
16
12
5
1
10
3
24
-1
26
42
7
0
0
0
-1
50
-19
35
-28
-6
3
-24
-27
-40
5
11
41
39
-35
32
19
11
-24
47
-7
-5
6
1
-6
5
-15
28
23
18
44
-12
-34
2
16
40
-45
-1
-11
0
0
0
-39
14
-11
-31
14
-29
-45
24
-39
19
43
41
-15
-5
-4
0
3
-1
-16
-20
-10
-16
66
31
-63
44
-68
-13
29
-6
-1
0
0
-7
-8
-29
4
32
-22
-34
30
-22
-7
-47
9
12
3
1
1
1
2
18
-8
-2
-5
1
5
-13
17
19
-22
-12
8
1
2
0
0
0
-2
0
0
1
7
-27
13
31
24
-4
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-66
9
-57
-2
3
69
0
0
0
8
35
-32
1
1
-14
0
-15
5
39
24
7
-7
76
0
0
14
-45
31
-7
12
2
8
0
-31
-14
24
-11
15
25
51
81
-23
-55
-27
37
45
1
-1
-1
0
-9
-12
-69
75
17
-51
-7
-29
-50
96
-28
-8
15
4
-2
-3
0
-9
16
28
49
-58
-21
-43
26
33
32
-37
7
-17
-14
7
0
0
-26
25
23
28
20
-28
8
28
-34
-28
17
21
-4
-15
1
4
0
-39
-13
52
-17
6
-77
-22
1
24
-12
9
3
-9
0
0
0
0
-10
-6
-17
-9
-4
24
0
-24
-37
-11
-13
15
-4
5
0
0
0
0
-5
5
-9
2
7
-29
-4
-6
13
4
-6
-3
0
0
0
0
-3
16
-28
-29
-3
55
31
0
0
-13
-19
-24
17
34
-1
0
0
-22
-75
-95
-17
13
19
96
-38
37
66
58
40
-61
-9
0
0
0
41
-54
-63
-9
-46
-11
26
23
68
1
-14
-14
11
-5
0
0
0
-15
-45
-51
7
18
-27
17
13
15
-2
10
-5
10
-7
0
0
0
-25
4
70
9
2
-56
-4
18
-6
34
0
23
-22
2
0
0
0
26
-111
-32
7
13
-27
-27
-13
56
40
-28
6
2
4
0
0
0
-2
49
-11
-72
-34
-3
40
3
34
-32
-44
17
-18
-3
0
0
0
0
50
-18
16
9
-7
47
2
120
36
-53
28
-7
0
0
0
0
-21
-12
46
-6
-32
-122
-38
13
-16
-12
5
1
0
0
0
0
0
-22
-6
12
39
91
10
-25
0
0
-9
3
-4
0
1
0
0
0
46
3
11
24
34
-9
10
-29
31
-7
15
-10
-1
0
0
0
0
-33
16
21
10
8
-11
26
-35
-4
-17
22
-2
0
0
0
0
0
22
-3
-10
-11
21
15
-9
-23
22
0
7
1
1
1
0
0
0
9
8
-2
-6
9
-1
-11
61
5
4
6
-1
-1
0
0
0
0
7
7
4
7
6
31
4
-7
21
-9
-5
1
1
0
0
0
0
-12
-21
2
-17
14
-33
15
-49
-4
-2
-6
-2
-1
0
0
0
0
-19
4
-36
-24
36
36
41
-32
0
-2
0
-1
0
0
0
0
0
-11
-11
-5
-27
0
-3
-54
18
-25
2
0
0
2
0
0
0
0
-42
-7
-60
36
-11
55
-1
-44
0
55
16
-8
4
0
0
0
0
-7
36
29
-36
58
43
0
22
-9
0
-9
25
7
-4
0
0
0
-4
-51
6
0
20
27
-61
8
18
17
33
9
-1
0
0
0
0
13
46
16
48
-91
29
63
-30
4
-8
-24
6
1
-2
0
0
0
6
3
29
23
17
27
-3
50
3
-18
-6
-6
-1
1
0
0
0
-3
-32
-11
20
-40
37
20
-35
-1
9
-7
-3
-6
0
0
0
0
13
-69
42
22
-14
-7
42
-13
-37
-1
0
-3
0
0
0
0
0
-38
54
-21
67
11
25
-13
-25
7
-7
0
0
0
0
0
0
0
0
0
-30
5
-5
9
-9
-1
1
0
0
0
0
0
0
0
0
-4
0
-66
50
60
91
71
0
0
-55
6
5
22
-52
-2
4
0
12
22
52
80
77
67
15
0
-84
0
43
-5
-7
4
-10
-5
3
-18
-4
-28
68
-49
11
-9
-24
-54
60
6
10
-7
6
-18
-25
-1
19
-64
59
27
-19
32
-73
12
-23
-16
-8
-55
-29
14
-25
-1
0
0
-3
-2
31
-12
-37
-54
18
-27
1
2
1
4
4
2
0
0
-12
6
-43
-54
24
-22
47
24
-28
-47
-24
-7
13
2
0
0
0
-2
-29
-106
-17
-54
-33
-40
40
8
60
-10
23
-18
3
-1
0
0
10
-2
40
33
-12
-5
-17
-62
10
-3
-17
0
-7
6
0
0
0
2
-10
13
-19
5
3
20
-13
0
-4
1
-8
2
0
0
0
0
4
-7
18
-8
23
67
-25
-21
0
1
-35
8
24
0
1
0
0
-10
-11
-24
-46
56
11
18
0
29
0
30
21
-36
-12
0
0
0
14
-26
-7
-3
-15
-12
18
50
39
-19
34
39
-13
18
3
0
0
3
3
22
52
-39
-49
29
-37
-84
-23
-1
-20
-23
-11
3
0
0
-11
38
3
14
49
5
-12
-8
-30
-38
22
37
-7
-12
1
0
0
-13
10
45
7
2
-71
-60
14
-9
-40
-17
-5
-2
-3
0
1
0
2
2
-1
52
21
-3
-13
-18
-10
-31
-9
-1
0
0
0
0
0
7
3
13
40
-40
13
-32
23
-19
-1
3
0
0
0
0
0
0
-1
1
9
5
-6
-1
1
0
1
-7
7
0
0
0
0
0
0
-12
45
113
49
-13
-13
-75
0
0
0
28
52
5
-9
1
0
0
-40
23
-10
-17
-1
-34
6
-29
0
17
6
-7
12
30
-6
-1
1
-16
-55
5
-13
54
-19
-19
16
-52
27
18
9
-20
-3
2
0
0
-34
38
10
-7
75
32
64
13
-42
54
23
-3
8
-2
0
0
0
5
18
25
23
0
-38
-40
40
8
16
25
25
1
0
0
0
0
29
-1
23
-2
-18
56
4
-36
36
-44
1
-8
16
3
0
0
0
1
-9
54
-8
4
2
3
32
-31
-20
17
-16
1
0
-5
0
0
-15
39
-3
-7
5
19
26
-13
7
4
-24
12
-2
0
0
0
0
2
-20
-6
-2
2
1
-1
-3
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
67
26
-1
36
12
34
0
0
0
0
0
0
-2
0
0
0
31
2
16
33
-1
-54
23
0
0
0
0
0
0
0
-13
-9
34
-6
39
8
-24
-47
13
-49
0
0
0
0
0
0
0
-9
10
1
-14
-11
30
-27
-44
18
4
0
0
0
0
0
0
0
0
-7
16
19
-7
5
-48
-35
5
29
0
0
0
0
0
0
0
1
3
-31
3
-18
0
-17
37
-17
16
0
0
0
0
0
0
0
0
2
-5
-10
-6
-1
-16
13
-41
14
0
0
0
0
0
0
0
0
0
0
-13
-2
-35
-16
7
68
-1
0
0
0
0
0
0
0
0
0
-1
0
-18
-7
8
2
-17
-35
0
0
0
0
0
0
0
0
0
0
-6
-11
-1
-2
22
-5
-35
0
0
0
0
0
0
0
0
0
0
22
9
40
-26
-14
-24
17
0
0
0
0
0
0
0
0
-1
-4
15
-44
-12
-25
-25
34
-8
0
0
0
0
0
0
0
0
1
2
16
-8
19
18
15
-49
62
0
0
0
0
0
0
0
0
1
-1
5
-18
6
-29
-56
19
-2
0
0
0
0
0
0
0
-1
0
-3
-8
20
-11
76
40
-45
-15
0
0
0
0
0
0
0
0
0
0
-8
-6
-1
-56
-8
10
25
0
0
0
0
0
0
0
0
0
0
0
-5
-7
18
-31
20
-8
0
0
0
0
0
0
0
0
0
0
0
-4
6
-3
11
34
-32
0
0
0
0
0
0
1
0
0
0
-14
-24
-12
-19
49
15
17
0
0
0
0
0
0
0
0
0
0
-36
-21
-32
6
75
-32
43
0
0
0
0
0
0
0
1
-2
9
-44
-33
5
42
-25
32
7
0
0
0
0
0
0
0
0
-1
6
-6
7
18
53
21
19
-6
0
0
0
0
0
0
0
0
3
1
5
6
58
-63
-4
-31
27
0
0
0
0
0
0
0
0
0
2
17
26
3
-25
75
62
3
0
0
0
0
0
0
0
0
1
0
0
0
-13
-22
-8
5
-15
0
0
0
0
0
0
0
0
-1
1
0
-8
-3
-7
22
13
-9
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-6
-19
-8
-1
0
0
0
0
0
0
0
0
0
0
34
-21
44
-4
-42
5
-9
0
0
0
0
0
0
2
0
0
0
-18
56
-11
-45
14
58
14
0
0
0
0
0
0
0
17
-19
-5
4
22
-10
144
14
49
46
0
0
0
0
0
0
0
0
2
5
-34
-8
42
-30
10
-65
-5
0
0
0
0
0
0
0
0
-1
-4
-5
-48
10
42
7
3
41
0
0
0
0
0
0
0
0
1
1
10
-21
-22
-6
-31
-23
5
0
0
0
0
0
0
0
0
0
-2
-15
41
-11
45
15
-9
-13
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
8
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
5
0
0
0
0
-2
2
-3
0
0
0
54
-34
47
9
19
-19
-9
0
0
0
-1
-13
9
17
0
0
0
-36
48
50
5
-37
95
2
0
0
0
0
1
-8
11
14
-35
20
46
-29
-26
-29
0
-26
-31
0
0
0
0
1
-2
13
-17
-16
-37
20
36
-20
-21
-49
-18
44
0
0
1
1
0
-20
25
-36
22
39
-13
-16
9
2
41
-25
4
0
0
0
1
0
14
33
18
22
16
91
-68
-33
-14
34
56
7
0
0
0
2
0
0
8
-18
-28
-14
33
-44
-34
14
18
23
-6
0
0
0
0
0
0
1
32
0
-8
-10
12
-39
-15
32
-23
23
0
0
0
0
0
0
0
0
0
0
-2
12
-14
16
-3
6
-4
0
0
0
0
0
-2
9
0
0
0
4
-17
50
49
17
13
8
0
0
0
-1
1
-1
0
0
0
0
2
22
49
3
-10
36
-18
0
0
0
0
13
2
0
17
-5
11
-28
22
26
74
-21
3
-3
0
0
0
0
-1
-4
21
8
27
-5
-24
4
-32
2
-12
2
23
0
0
0
-1
3
2
-21
-30
20
-5
45
-54
14
-55
-1
-33
39
0
0
0
3
-6
-20
-24
12
-21
6
34
-44
19
48
-1
20
-42
0
0
0
0
0
5
-9
22
-38
-11
44
32
-3
7
-27
-6
23
0
0
0
0
-2
-1
4
-10
-21
-3
7
-2
-3
67
-20
6
-8
0
0
0
0
3
-2
1
-1
-2
8
1
6
16
5
0
-36
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-21
-3
-9
-10
0
0
0
-22
30
58
66
-22
52
-17
0
5
-18
-47
3
30
-33
0
0
0
-42
-10
1
-79
-100
-20
30
0
0
-29
-6
5
-25
27
-27
-10
42
0
-12
79
51
27
-34
-17
0
-6
22
41
2
-27
-28
-62
58
7
21
-34
-29
-16
27
-54
7
0
3
9
3
-9
3
-25
-50
-13
-64
-27
-26
-31
47
23
26
-14
1
-2
0
-2
-10
-13
-34
4
12
-17
81
49
-55
66
-13
0
-9
0
0
0
-5
-4
-40
-26
-10
41
8
-31
-10
-3
20
-7
-15
13
0
0
1
-2
0
0
6
-9
9
18
9
30
7
7
-6
18
-13
0
0
0
0
0
0
-2
3
1
2
0
-16
-8
-5
-12
-4
0
0
-4
25
-6
61
5
-20
0
0
0
-1
-35
-25
-9
-38
5
0
0
-6
-60
-19
-33
-47
25
0
0
0
-20
14
-56
4
21
73
0
1
-1
13
31
28
-26
15
-15
-42
6
28
17
-5
35
-1
-10
0
1
-1
-10
5
3
-1
9
-12
-33
0
-27
-2
12
18
-57
-66
0
0
-3
-28
22
-35
51
-46
47
19
-5
-27
47
-24
-67
-37
-7
0
0
6
-4
-33
0
-24
70
-25
-22
-32
-6
34
-11
-41
17
-3
0
0
1
9
-39
-10
0
-36
-24
-11
-2
9
-44
-7
7
5
-47
0
0
5
-1
-33
20
44
-8
-2
17
22
3
44
-10
-11
-16
8
0
0
0
0
-1
-21
34
-43
-9
65
-27
21
12
-6
-6
-2
3
0
-2
-36
16
-28
5
14
9
0
0
0
48
20
-36
0
6
1
0
6
5
13
-4
32
8
1
0
0
0
18
75
13
19
8
13
0
13
-23
-26
1
3
-1
1
-14
-13
-21
34
-38
27
79
-41
5
0
6
32
-11
-15
-22
-13
-12
2
35
21
-44
-14
89
-31
-3
0
0
-19
-3
13
-10
-6
-3
10
-43
-26
-41
84
21
55
-27
-17
0
0
7
14
-22
18
-3
4
-1
-1
-1
37
-58
18
-88
-9
-10
0
0
15
53
-16
-19
22
30
-8
-2
-8
29
34
-8
-33
28
-8
0
0
-1
-7
-15
32
23
-11
-6
29
-27
-35
9
30
-91
-4
-2
0
0
10
-24
-19
8
-18
-27
-7
-13
30
1
-7
-47
-4
0
4
0
0
-1
12
6
14
35
9
4
0
0
0
5
38
-14
-14
-3
0
0
0
-23
-17
-49
21
30
5
0
0
0
33
9
3
18
21
0
0
8
9
3
-17
12
-16
4
-18
11
-1
4
-75
67
12
83
0
0
-7
1
-10
16
27
4
50
-33
-4
-25
-17
25
-27
7
13
0
0
-4
-3
34
30
7
-23
5
-41
11
-68
-14
-85
-12
-9
21
0
0
10
4
49
-50
7
-24
6
-59
39
-35
61
3
-105
-2
18
0
0
0
3
-5
16
-41
37
28
-60
31
11
-15
5
-30
18
-5
0
0
1
-15
24
-67
6
-26
-7
-14
55
13
-10
-28
-34
7
0
0
0
0
0
0
1
0
0
-1
-6
30
13
29
43
8
5
-1
0
0
0
0
-1
-28
-33
-41
-3
0
0
0
15
-20
72
1
19
-6
-40
0
-2
-5
0
51
4
46
0
0
0
65
71
55
-8
21
1
19
0
-5
7
-20
14
-20
-24
27
46
3
0
51
-1
14
-58
-57
-74
0
0
-15
7
-14
17
35
-76
59
-49
102
20
47
-27
15
18
-15
0
0
5
4
-40
31
6
25
-55
-11
16
-10
26
-17
-18
2
-70
0
0
-4
-7
4
-18
-5
43
-24
-1
89
-12
-6
-37
-76
12
17
1
0
3
-5
-15
2
-24
15
-54
68
5
-9
-24
-13
-47
6
-24
0
0
4
9
-8
1
-8
-16
-4
-39
-19
-38
-14
-7
-30
10
-4
0
0
0
0
0
-1
0
-3
-6
-8
-8
-17
-10
-2
-5
-12
-1
0
0
0
-1
-18
-13
25
0
0
0
-12
-10
16
-32
49
-7
-27
0
0
0
-7
4
-17
70
0
0
0
78
-22
-24
-32
-2
-64
25
1
0
-1
-3
0
44
-7
21
10
-35
61
28
-39
-64
-10
-7
7
0
0
0
5
20
39
4
-8
-39
-5
43
5
31
12
34
-38
4
0
0
0
7
-1
-20
-29
-24
37
-39
47
-32
46
-16
15
-57
-26
0
0
0
1
3
-6
-42
9
18
4
3
17
30
-26
-4
-46
5
0
0
0
-7
-5
1
-15
-2
61
-58
8
27
-28
-13
45
-1
-20
0
0
0
-1
0
-5
0
15
-4
-16
18
-27
-4
-35
-13
24
-5
0
0
0
0
0
0
-7
-7
-9
16
-4
-8
10
4
0
3
0
0
0
1
5
-2
32
-22
0
0
0
-6
51
24
-3
33
2
43
0
1
-19
-22
8
34
45
0
0
0
-31
29
-5
20
9
81
57
0
0
1
-1
-25
-34
-29
31
9
54
22
-42
79
40
-7
59
-44
0
-1
-3
-24
-21
-40
36
54
20
16
-37
-18
51
-4
9
-40
13
0
1
-4
-34
-2
4
-12
0
72
-32
22
5
6
0
-5
-48
-41
0
0
-3
40
-4
6
3
1
20
-13
24
-43
-7
29
-82
26
40
0
0
7
-22
-1
-14
-41
12
36
72
83
-91
-16
-36
-7
12
-29
0
0
0
8
9
-22
3
-53
69
-49
14
4
9
16
9
-29
-24
0
0
0
0
-1
12
33
-13
-49
-2
-1
44
16
1
-2
13
0
0
0
93
-10
3
-84
-134
-133
0
13
0
-33
-10
9
-10
-109
0
0
50
50
40
56
-133
-187
0
24
0
40
-9
-11
-12
-131
0
0
-38
-17
-34
-66
-210
-216
0
-96
0
-99
-90
-114
-171
-119
0
0
77
-87
-45
-178
-352
-273
0
-112
0
-27
-18
-87
-233
-241
0
0
39
-46
20
-2
-211
-262
0
-31
0
-34
-18
-7
-123
-256
0
0
89
120
125
94
-141
-365
0
-14
0
37
-3
2
-59
-192
0
0
51
-68
-16
-72
-252
-349
0
-120
0
-30
-55
-137
-256
-273
0
0
65
-56
-9
-80
-403
-532
0
-79
0
4
0
-33
-265
-347
0
0
4
-6
2
-22
-90
-172
0
-24
0
-18
-4
-10
-49
-102
0
0
62
81
133
42
-140
-227
0
-4
0
69
30
15
-29
-112
0
0
13
23
27
-30
-92
-160
0
-37
0
-6
-3
-53
-81
-126
0
0
-8
9
35
-54
-175
-184
0
15
0
4
12
52
-14
-53
0
0
-8
-52
-69
-8
51
69
0
3
0
3
0
22
71
156
0
0
-22
5
95
-55
10
27
0
-47
0
69
59
41
-7
-29
0
0
16
3
-40
27
130
80
0
72
0
-22
39
88
158
224
0
0
-12
22
29
-49
-16
-23
0
9
0
28
44
36
43
99
0
0
0
0
0
0
0
0
23
-12
13
45
90
22
-1
4
0
0
52
-10
17
10
31
-4
49
-8
0
0
0
-34
-7
8
0
0
0
0
0
0
0
-4
100
16
-16
-32
27
70
-3
8
0
0
-105
12
29
-16
-9
17
0
51
18
0
0
18
0
2
0
0
0
0
0
0
-1
15
-55
44
112
57
13
-48
-8
18
0
0
72
9
-30
-12
-32
19
0
72
7
-4
-5
-13
0
2
0
0
0
0
0
0
8
1
-22
11
-22
13
91
59
13
-5
0
0
-1
0
0
20
-32
-7
0
-33
59
-16
-22
32
-3
0
0
0
-2
0
0
0
5
-38
-8
-9
-2
51
19
-7
-3
0
0
0
0
0
0
0
-4
1
0
-22
54
-25
33
9
3
0
0
0
21
0
-1
6
-7
-37
12
43
-28
5
93
9
-5
0
0
0
0
0
0
0
0
1
0
6
92
1
-4
-19
-2
0
0
0
15
-22
-94
-22
49
-24
-3
1
-3
5
12
33
7
-3
0
0
0
0
0
0
0
0
0
7
22
42
-11
-10
-2
-1
0
0
-43
-4
-79
3
58
-3
-6
28
29
1
0
23
0
-9
0
0
0
0
0
0
0
1
0
0
22
7
1
-7
0
-9
0
0
64
27
-38
1
24
-9
0
3
0
0
0
27
2
14
0
0
0
0
0
0
0
0
0
-21
-42
4
-59
-3
0
0
0
0
0
0
0
0
0
-1
55
-4
28
50
-12
22
12
23
0
0
-13
-6
1
-18
15
7
0
-9
0
0
0
-44
12
13
0
0
0
0
0
0
1
1
48
51
47
54
48
36
-6
-9
0
0
2
17
-5
18
10
17
35
-20
14
-3
0
-13
8
8
0
0
0
0
0
0
8
-9
-19
9
93
-16
75
79
7
-4
0
0
-16
19
35
-27
76
27
0
40
48
-6
-29
-27
-13
0
0
0
1
0
0
0
13
-1
-8
-40
42
-14
12
8
41
-2
0
0
-9
0
13
35
-10
-12
0
30
74
-5
5
126
12
2
0
0
10
0
0
0
-59
7
-8
-44
36
-25
9
-57
-5
5
0
0
0
0
0
0
-11
-8
0
26
121
-31
23
-18
-3
2
0
0
22
-1
10
-30
-17
-34
-6
2
-24
40
42
-22
19
-1
0
0
0
0
0
0
-1
0
0
7
22
-34
0
-16
-8
1
0
0
-51
44
19
32
-20
-14
-2
40
47
-8
-42
40
-5
1
0
0
0
0
0
0
0
2
0
34
2
-23
-61
-13
2
-2
0
0
15
-41
49
29
28
30
0
30
46
16
0
29
-5
1
0
0
0
0
0
0
0
-1
0
-51
-39
14
-40
-35
-6
5
0
0
-4
-34
-18
6
-41
53
6
45
0
0
0
29
6
16
0
0
0
0
0
0
0
5
0
-44
-46
21
6
-5
-2
-4
0
0
0
0
0
0
1
-2
13
70
37
12
27
1
-3
-15
0
0
13
28
31
-8
52
12
0
-7
0
0
0
-9
-12
-23
0
0
0
0
0
0
-3
0
36
-6
19
7
36
69
-3
22
0
0
-8
9
1
-13
-49
-18
0
6
10
17
0
-42
-1
13
0
0
0
0
0
0
0
-6
-8
-60
58
39
64
22
3
-8
0
0
-1
-29
26
31
18
9
22
-22
12
13
22
56
10
0
0
0
0
0
0
0
-17
-1
23
-19
50
40
0
43
22
2
0
0
24
-2
-8
5
19
45
0
-4
98
12
-25
-5
-16
-2
0
0
0
0
0
0
5
22
-26
47
2
17
24
24
15
21
0
0
0
0
0
0
11
-12
0
31
5
20
12
26
-20
-2
0
0
-4
0
6
-20
36
-37
4
4
6
70
47
46
-22
7
0
0
0
0
0
0
-4
-3
0
42
73
-31
-50
21
-1
13
0
0
3
-24
15
18
-9
13
0
-17
6
10
12
5
-13
2
0
0
0
0
0
0
-5
2
0
39
11
-36
-6
-40
-2
0
0
0
68
9
32
4
18
11
2
3
14
4
0
60
-5
7
0
0
0
0
0
0
1
1
0
-11
-10
-49
-16
12
-23
-7
0
0
64
12
30
4
-9
7
3
26
0
0
0
12
19
15
0
0
0
0
0
0
0
-1
0
-25
-8
7
-2
-8
6
7
0
0
0
0
0
0
1
10
-3
46
14
11
39
25
-8
-24
0
0
18
-8
4
-4
56
19
0
12
0
0
0
-31
-6
25
0
0
0
0
0
0
3
-8
44
-1
66
7
12
38
50
24
0
0
59
40
22
-2
-10
-63
0
17
18
-10
0
-42
22
22
0
0
0
0
0
0
-2
-6
-44
9
54
20
39
-55
-55
13
0
0
78
-37
71
12
14
24
0
-38
2
-12
-13
-30
30
-3
0
0
0
0
0
0
-5
15
5
71
24
41
37
5
-8
-10
0
0
-12
0
-11
-5
-55
59
5
15
121
-19
27
-2
24
-2
0
0
4
0
0
0
25
-5
5
-18
46
39
-5
49
-3
-8
0
0
2
0
0
0
18
1
0
43
6
12
-2
-14
-29
-9
0
0
-24
1
29
-22
4
-1
0
14
-15
-30
1
-25
13
-5
0
0
0
0
0
0
-2
-10
0
30
6
-24
-16
-4
12
22
0
0
18
55
-19
22
-10
-16
-4
-16
-42
4
9
17
-13
3
0
0
0
0
0
0
12
0
0
-52
-11
-13
-70
-64
2
-12
0
0
-9
-32
55
2
9
8
6
1
43
5
0
27
-4
-12
0
0
0
0
0
0
4
1
0
-17
-30
11
-36
30
-38
-32
0
0
12
3
-8
-3
-13
22
-12
-16
0
0
0
17
-6
13
0
0
0
0
0
0
0
0
0
-19
-16
-13
-47
9
-34
-5
0
0
0
0
0
0
-5
-9
-21
-52
22
-10
21
22
11
6
0
0
-25
15
-9
8
70
23
0
15
0
0
0
-17
24
9
0
0
0
0
0
0
8
3
21
26
-73
84
12
-16
39
57
0
0
-25
2
94
16
11
-4
0
8
14
-2
0
-12
-22
10
0
0
0
0
0
0
-2
-2
-11
64
21
-2
-45
57
24
54
0
0
-1
-22
-12
69
44
0
0
16
68
-10
42
18
33
10
0
0
0
0
0
0
-8
17
-4
25
29
30
40
14
22
-6
0
0
-28
-1
-30
-29
23
15
0
23
12
22
17
-1
-2
-2
0
0
0
0
0
0
-6
40
0
-22
-7
15
23
7
-6
10
0
0
1
0
0
0
-29
5
3
15
56
-20
4
30
4
12
0
0
29
1
-16
0
74
-24
-5
-3
-14
10
7
-42
-17
-6
0
0
0
0
0
0
25
-2
0
38
7
12
-12
-11
28
-14
0
0
-18
30
5
56
52
-4
26
-46
-6
2
3
22
2
6
0
0
0
0
0
0
-3
-8
0
21
18
-28
24
6
8
29
0
0
64
8
-15
21
-29
33
8
13
-32
8
0
25
14
-22
0
0
0
0
0
0
-12
-8
0
-40
-49
3
20
16
-59
36
0
0
11
8
15
-2
-80
-7
8
14
0
0
0
-66
8
-26
0
0
0
0
0
0
2
0
0
0
1
35
-9
-6
-48
-49
0
0
0
0
0
0
40
13
-18
-49
-26
-3
13
-61
4
1
0
0
-17
-94
-34
7
53
-3
0
-26
0
0
0
-47
-21
18
0
0
0
0
0
0
-35
-44
15
7
3
69
-29
-30
-4
18
0
0
3
4
5
36
60
-14
0
40
15
-43
0
79
30
-13
0
0
0
0
0
0
-10
-27
-6
39
5
62
50
12
34
-45
0
0
79
56
46
-46
2
-8
0
-7
-18
-40
-27
-7
30
-40
0
0
0
0
0
0
49
58
0
51
44
-14
34
101
89
-23
0
0
1
-38
25
-2
-72
7
0
-20
34
16
-38
23
-19
-37
0
0
-1
0
0
-7
-2
-28
4
-22
55
22
-1
5
26
7
0
0
24
0
0
4
-31
-1
0
-7
18
52
76
76
-90
3
0
0
57
5
25
40
-6
-11
-5
-9
-41
1
-59
-39
10
4
0
0
0
0
0
0
-20
-4
7
52
26
-8
11
37
-20
40
0
0
5
23
26
-23
-6
39
-23
28
-29
40
49
-25
-7
29
0
0
0
0
0
0
-18
-38
0
12
33
-19
-2
-31
-12
1
0
0
-10
59
-31
18
3
13
8
28
-63
19
0
25
-69
-5
0
0
0
0
0
0
12
60
0
-10
-15
-22
-29
-55
21
-3
0
0
47
52
-68
-44
-23
-12
22
-23
0
0
0
-11
7
12
0
0
0
0
0
0
-6
11
0
29
-54
-1
-13
-95
-23
3
0
0
0
0
0
0
-13
37
-6
-3
46
-11
-9
-9
26
6
0
0
-69
-55
9
12
-12
15
0
40
0
0
0
-3
18
39
0
0
0
0
0
0
36
34
-2
-1
8
14
40
-2
-20
28
0
0
45
1
-33
57
12
7
0
-52
-47
-50
0
18
27
-14
0
0
0
0
0
0
-30
81
0
18
-10
33
7
-2
10
-4
0
0
51
8
21
91
20
-21
0
29
48
-21
25
68
82
-34
0
0
0
0
0
0
12
-19
3
-15
-12
-12
51
23
14
-19
0
0
7
93
111
11
10
-29
0
7
65
18
15
12
-7
-6
0
0
18
0
14
17
47
37
14
-8
20
-11
22
3
26
47
0
0
-13
13
1
-14
12
20
0
-32
-1
50
-28
6
0
-18
0
0
-68
-32
-44
31
28
-20
44
-28
-42
-13
4
-18
64
20
0
0
-6
0
0
0
29
-32
0
16
-5
-5
2
12
-35
13
0
0
-27
-12
-30
-1
25
-14
8
57
-62
22
67
-72
-9
-32
0
0
0
0
0
0
17
-12
-1
1
-14
-52
-15
-8
-44
-8
0
0
26
54
27
-67
-47
2
21
-19
-4
40
0
-24
-54
75
0
0
0
0
0
0
4
-45
0
-3
-46
-64
33
-31
-11
-2
0
0
11
31
3
67
9
-10
55
12
0
0
0
16
-7
-45
0
0
0
0
0
0
55
-37
0
-17
-65
2
-6
-30
-12
-3
0
0
0
0
0
0
23
1
0
3
46
1
-1
9
17
12
0
0
-61
-26
-40
-42
-22
-16
0
-49
0
0
0
-6
-6
11
0
0
0
0
0
0
47
25
0
-1
23
14
15
3
1
-1
0
0
-14
-41
-58
-39
-8
4
0
-24
24
-30
0
-2
-14
-14
0
0
0
0
0
0
44
1
3
1
2
15
-2
1
4
19
0
0
24
1
-14
-5
-25
-11
0
-37
7
-49
-78
-4
10
39
0
0
-35
0
0
-46
5
-5
-13
-18
2
12
-16
-6
6
6
0
0
80
38
-33
46
3
-24
0
-26
37
8
-25
0
-5
-16
0
0
-1
124
22
-16
11
-2
-19
-40
1
24
2
-6
11
17
0
0
-27
43
75
-7
-7
-18
0
67
3
21
8
38
13
-9
0
0
-92
88
-82
-7
-9
57
-43
-2
-20
1
25
-1
30
9
0
0
-7
5
20
0
14
-14
0
31
0
25
65
6
0
2
0
0
-44
-33
19
9
9
22
-30
-26
-14
3
71
3
-23
68
0
0
13
0
0
0
-3
-23
0
1
-1
5
3
0
-1
19
0
0
-26
0
-5
-21
4
5
-48
-64
9
19
0
1
2
2
0
0
0
0
0
0
12
-8
0
0
27
-3
11
-2
-4
-2
0
0
65
65
56
54
24
23
-100
61
0
0
0
33
-3
-17
0
0
0
0
0
0
-56
-26
0
-3
26
0
1
-11
-8
2
0
0
0
0
0
0
49
24
0
6
-16
0
0
13
14
7
0
0
-37
-36
-50
-33
-16
-29
0
-66
0
0
0
-9
31
15
0
0
0
0
0
0
38
-2
0
0
-53
3
-3
5
5
4
0
0
24
-8
17
-37
0
14
0
-32
44
-23
0
-7
68
37
0
0
0
0
0
0
-14
28
8
-6
0
-19
-5
-2
2
-29
0
0
7
-14
0
-54
-19
16
0
63
53
6
-139
36
36
13
0
0
4
0
0
-15
-29
21
20
-20
0
-29
-56
-9
-7
-23
0
0
45
-32
9
16
28
2
0
27
33
28
36
13
-22
7
0
0
-88
-23
-91
-31
-15
26
23
-62
-13
-20
-11
-60
-15
0
0
0
22
-12
5
54
18
29
0
-10
2
-33
-5
11
-6
-6
0
0
-40
-50
-13
-24
22
38
3
-13
-73
4
-5
4
-21
3
0
0
0
0
0
18
12
57
0
5
-1
-59
-33
7
-4
3
0
0
-18
21
10
-17
5
-21
-13
38
-17
13
38
13
-65
-65
0
0
0
0
0
0
7
49
0
-1
-3
-19
0
1
-4
-8
0
0
0
-8
29
63
-6
-28
-55
35
-28
36
0
9
-12
-12
0
0
0
0
0
0
-17
-18
0
0
-27
-16
14
-2
-1
1
0
0
24
61
139
72
29
-12
-23
73
0
0
0
63
28
-43
0
0
0
0
0
0
22
-5
0
-1
-53
-1
0
-8
-7
-9
0
0
0
0
0
0
23
82
93
-15
28
35
71
8
-29
11
0
0
73
-39
25
-44
4
-17
27
16
0
0
0
19
-15
100
0
0
0
0
0
0
52
-55
111
-3
15
-2
25
-32
3
96
0
0
31
79
18
64
42
32
0
77
15
-11
0
38
35
-28
0
0
0
0
0
0
135
95
-12
-36
82
113
30
14
-39
27
0
0
51
29
22
89
6
16
0
-2
108
50
-44
66
64
17
0
0
-1
0
0
0
-7
-12
-41
-40
33
83
54
-27
-101
-34
0
0
39
0
53
-27
-36
-16
0
-9
169
50
-80
73
58
3
0
0
-12
0
0
0
67
10
-49
47
-11
57
82
19
21
56
0
0
-1
0
0
0
-39
6
0
-33
104
12
79
37
32
43
0
0
114
0
27
-55
20
-88
-25
-38
36
24
182
24
67
-25
0
0
0
0
0
0
-50
-7
0
23
24
-20
8
-25
-66
12
0
0
16
-23
-53
14
32
-36
18
44
131
38
158
110
9
-55
0
0
0
0
0
0
80
84
0
-3
14
48
-77
13
-52
7
0
0
67
13
-53
30
63
10
-10
86
34
15
0
48
16
24
0
0
0
0
0
0
-1
-28
0
-63
-112
-18
-17
-149
-89
-101
0
0
86
-20
19
26
73
17
0
154
0
0
0
123
94
0
0
0
0
0
0
0
0
15
0
-10
-135
-26
-73
-92
-30
-59
0
0
0
0
0
0
24
4
81
17
62
89
-20
99
62
6
0
0
-16
10
83
-42
76
32
0
-61
0
0
0
-8
82
104
0
0
0
0
0
0
19
-15
95
1
26
120
-3
31
-18
-42
0
0
40
38
8
48
44
33
16
22
69
7
0
-2
26
40
0
0
0
0
0
0
191
-95
-12
30
39
9
34
-18
33
43
0
0
62
-17
46
-7
63
10
0
39
106
28
-45
27
-78
-1
0
0
1
0
0
0
14
23
-47
-30
27
-39
42
-9
25
-34
0
0
44
26
28
41
10
9
0
34
103
45
92
85
-20
-4
0
0
20
0
-1
-3
-60
-28
0
-36
-5
0
111
21
-33
34
0
0
21
0
0
-1
-18
-36
0
61
86
9
26
38
-30
-13
0
0
10
-14
-6
-80
-51
0
6
-41
14
72
103
-10
45
54
0
0
0
0
0
0
-23
9
0
24
21
-35
15
-12
-66
20
0
0
17
-49
30
28
69
-29
-30
97
141
-18
12
60
12
61
0
0
0
0
0
0
-38
10
0
-7
-6
-3
-36
35
-12
-72
0
0
98
11
97
31
25
72
0
24
106
58
0
119
-67
42
0
0
0
0
0
0
3
21
0
-5
-59
-35
-12
-42
-10
-42
0
0
91
-29
15
32
-37
12
10
58
0
0
0
5
53
4
0
0
0
0
0
0
-16
-35
0
-172
-91
-33
-85
-91
-28
5
0
0
0
0
0
0
47
-26
23
40
-7
6
17
5
3
-36
0
0
22
8
-33
-33
65
10
0
9
0
0
0
-3
54
19
0
0
0
0
0
0
-17
12
42
10
32
7
33
15
-27
-18
0
0
45
35
-5
-3
10
18
0
12
76
40
0
28
0
42
0
0
0
0
0
0
25
-51
-12
-18
46
25
56
-15
2
-26
0
0
33
-38
4
54
11
7
20
-5
-1
-36
43
71
-10
35
0
0
-8
0
0
0
-18
-84
-73
16
28
68
-25
-23
62
25
0
0
-28
-12
-8
30
-1
0
0
-13
76
11
-45
32
42
-24
0
0
-55
0
3
0
61
-46
-70
-20
8
8
54
4
-27
-5
0
0
10
0
0
0
14
-21
0
86
67
12
38
-13
-34
-18
0
0
-27
6
36
-30
5
4
16
20
73
9
88
38
-49
26
0
0
0
0
0
0
-36
56
0
65
46
-3
-40
-11
-85
2
0
0
24
-32
15
46
38
-17
0
-17
73
55
37
50
-5
16
0
0
0
0
0
0
51
35
0
0
6
-74
-23
-6
-8
-127
0
0
73
21
11
-12
-41
65
30
65
37
20
0
82
9
40
0
0
0
0
0
0
2
6
0
-45
-62
5
27
-63
-52
-46
0
0
33
-14
2
0
-33
20
-19
90
0
0
0
90
41
62
0
0
0
0
0
0
12
-62
0
-82
-34
-8
-59
-56
-11
-7
0
0
0
0
0
0
-47
-55
-23
-27
-13
7
26
4
-25
-84
0
0
34
-5
-12
-54
45
86
0
33
0
0
0
-34
-40
115
0
0
0
0
0
0
-35
27
34
-1
63
79
14
5
118
-26
0
0
52
39
16
33
33
12
0
37
43
-70
0
16
66
12
0
0
0
0
0
0
-32
-108
8
7
45
-15
14
8
-58
-6
0
0
24
40
6
-6
-24
63
0
32
6
40
39
15
91
-35
0
0
0
0
0
0
-31
13
-29
25
12
23
55
-21
-13
-24
0
0
37
42
6
11
-68
-6
9
-17
65
-62
0
19
11
-56
0
0
19
0
-5
-8
-8
-5
3
4
0
33
22
-5
17
74
0
0
-5
0
0
-3
-30
-40
0
30
-2
13
-12
-7
-30
36
0
0
6
-67
59
-22
33
-10
0
6
48
-10
62
-5
125
57
0
0
0
0
0
0
-40
-57
0
21
21
-8
3
22
-22
26
0
0
5
33
10
50
-31
-14
-16
7
-7
54
92
122
-79
28
0
0
0
0
0
0
-13
-81
0
-29
-6
-15
2
-29
-30
-33
0
0
31
16
77
48
-12
-31
-6
115
30
49
0
34
-17
-3
0
0
0
0
0
0
-33
-9
0
-25
-74
-27
42
-32
-53
-41
0
0
26
10
34
8
-9
-9
25
43
0
0
0
93
48
34
0
0
0
0
0
0
29
11
0
-113
-65
5
-24
-57
-65
-12
0
0
0
0
0
0
13
-42
1
-7
-3
-13
-1
16
32
-6
0
0
0
30
-19
30
98
58
0
-4
0
0
0
12
-20
1
0
0
0
0
0
0
81
-9
-2
-11
-66
125
0
-47
38
65
0
0
38
17
67
42
12
-17
0
-5
-15
-4
0
70
-35
-37
0
0
0
0
0
0
31
78
-10
-22
22
33
1
-10
13
37
0
0
30
-13
13
-29
26
-14
0
57
64
16
48
42
-24
-47
0
0
0
0
0
0
-21
69
-16
38
26
29
32
1
24
2
0
0
-3
-70
33
-21
6
-15
0
-13
31
-8
-23
-10
-16
3
0
0
-21
0
48
-4
14
-21
0
51
18
-19
39
35
41
58
0
0
-53
0
-1
24
-40
-44
6
28
22
-48
1
32
3
51
0
0
-43
-16
-82
43
-22
-4
-3
10
31
51
70
57
-37
46
0
0
0
0
0
0
-54
55
0
17
14
1
-16
-9
9
-4
0
0
5
22
27
52
1
4
70
4
37
51
94
39
-50
2
0
0
0
0
0
0
13
-7
0
-5
-11
18
-13
-25
28
-19
0
0
36
34
11
57
17
-1
0
49
11
82
0
6
-16
-43
0
0
0
0
0
0
-90
-13
0
-13
-38
8
1
-65
-54
-17
0
0
53
70
36
25
12
9
49
10
0
0
0
2
-42
-47
0
0
0
0
0
0
-27
2
0
29
-85
-25
-38
-39
19
-25
0
0
0
0
0
0
27
-2
-2
-8
8
8
-6
22
15
-14
0
0
-11
-93
30
-11
-19
-13
0
0
0
0
0
-28
13
7
0
0
0
0
0
0
-69
19
-4
11
-1
43
-6
-13
6
7
0
0
-32
7
24
45
5
10
0
13
-29
-74
0
7
-27
-1
0
0
0
0
0
0
-35
28
2
24
-6
52
17
30
-9
-1
0
0
36
30
-7
3
-14
0
0
47
-1
-20
-64
15
5
-26
0
0
0
0
0
0
58
14
0
-17
34
20
44
-11
4
3
0
0
42
-20
46
34
-16
-21
0
56
17
13
-16
-11
-38
-11
0
0
26
1
21
14
-30
40
16
26
14
26
10
25
51
-23
0
0
8
-2
-33
-9
16
-88
0
14
31
6
10
13
-32
-3
0
0
6
12
-23
13
1
-23
29
50
47
18
24
3
5
-3
0
0
4
0
0
0
-49
-43
7
2
12
2
-7
13
-1
-21
0
0
31
64
57
1
5
35
73
51
86
60
66
-22
-26
-17
0
0
0
0
0
0
19
-44
0
-25
0
-20
-23
-15
-10
-5
0
0
8
77
-33
5
13
15
47
50
42
145
0
-14
-42
29
0
0
0
0
0
0
12
-3
0
-14
-31
-31
12
-16
-3
-8
0
0
43
49
10
15
-16
0
41
66
0
0
0
31
-10
19
0
0
0
0
0
0
-18
-3
0
-30
-50
-6
-25
-29
30
7
0
0
0
0
0
0
70
79
-6
-1
26
-8
-7
3
29
10
0
0
-34
-5
-73
0
-21
-10
0
10
0
0
0
-22
15
1
0
0
0
0
0
0
38
73
-4
-6
13
15
8
-11
40
12
0
0
-1
-22
-18
-12
-18
0
0
7
-32
-72
0
-16
11
-9
0
0
0
0
0
0
35
52
0
5
-18
3
-10
-2
40
22
0
0
24
11
8
-1
-5
-10
0
4
-27
-20
-50
-7
75
-66
0
0
7
0
0
0
4
53
-2
2
-11
-17
0
18
24
-3
0
0
3
57
-12
26
6
-7
0
26
7
-36
-15
-12
-1
22
0
0
17
17
-25
50
46
19
10
-1
14
-3
0
2
4
10
0
0
19
17
30
20
-20
5
0
11
-4
17
-23
3
-27
-29
0
0
-38
-3
5
-4
14
35
-8
47
-13
16
21
11
35
-19
0
0
30
0
0
0
13
-52
0
-18
-5
-8
12
-9
-17
-16
0
0
8
11
-2
31
-10
2
12
16
12
106
72
21
21
-15
0
0
0
0
0
0
-70
34
-2
-16
-7
-23
-13
-11
-10
-14
0
0
23
27
13
-6
-22
4
13
3
14
-9
0
27
-14
-8
0
0
0
0
0
0
-10
-44
0
-16
-48
-22
-14
-14
-20
-7
0
0
4
9
4
-27
-6
-4
12
-4
0
0
0
-19
-34
-8
0
0
0
0
0
0
-14
39
0
-13
-74
-4
-14
-44
3
-9
0
0
0
0
0
0
75
48
0
-2
-4
-2
2
10
22
23
0
0
-48
1
-51
-10
-18
5
0
-46
0
0
0
-34
4
25
0
0
0
0
0
0
71
15
0
-5
10
0
46
0
25
7
0
0
-36
-55
-26
-35
-35
-25
0
-80
-9
-12
0
-51
-25
-11
0
0
0
0
0
0
12
43
6
-1
1
1
5
-1
28
11
0
0
-8
8
0
1
-24
-11
0
-39
16
-36
-31
-28
-2
-2
0
0
26
0
13
-38
33
41
5
11
2
2
-15
3
13
19
0
0
-65
-2
-32
-22
-23
-23
0
-31
19
23
1
-20
-2
-11
0
0
-18
12
42
-21
21
62
2
-5
2
3
-21
3
18
20
0
0
-54
17
-46
-46
-4
-15
0
-1
-6
36
18
1
14
-21
0
0
-33
41
11
3
14
21
-34
9
-16
-14
-19
2
24
31
0
0
-11
3
1
-19
12
-22
0
2
-3
29
30
0
6
-5
0
0
-16
-13
-9
-10
14
-11
-42
-30
-19
-19
31
-24
4
18
0
0
14
0
0
0
-18
-26
0
1
0
7
-5
-1
-7
-1
0
0
-17
-24
-8
-2
31
12
-94
-22
-12
-12
0
-16
46
-17
0
0
0
0
0
0
-1
-37
0
2
24
-8
28
-2
-7
-4
0
0
19
9
3
21
14
-2
-109
-1
0
0
0
17
8
-24
0
0
0
0
0
0
-14
8
0
0
53
-2
2
2
-19
-11
0
0
0
0
0
0
1
55
0
3
-25
-2
2
22
40
22
0
0
-54
-34
-34
-5
-42
-8
0
-27
0
0
0
-9
12
8
0
0
0
0
0
0
8
17
0
-3
-35
-8
28
10
15
7
0
0
-29
-37
-24
-26
-22
11
0
-51
-15
-100
0
-29
23
46
0
0
0
0
0
0
28
62
10
6
-1
-10
17
1
3
10
0
0
-39
5
-28
-11
-26
-18
0
-38
33
-47
-56
-28
-3
46
0
0
42
0
0
-34
-4
16
2
9
-3
-26
-64
3
-14
17
0
0
10
-11
13
20
33
29
0
-34
-1
5
13
-17
-16
-36
0
0
56
-14
-66
-24
3
78
-1
-54
-8
-29
-1
-34
-18
19
0
0
22
7
-17
49
41
29
0
-68
-13
-23
16
-20
-20
-32
0
0
-19
2
31
-3
9
75
23
-31
-50
-59
-52
8
-15
12
0
0
40
0
0
71
35
-10
0
-44
-6
-16
-17
-16
-22
-30
0
0
-50
-20
-16
-25
30
34
-23
-16
-27
-66
10
-34
7
116
0
0
0
0
0
0
-23
-24
0
-18
0
-30
-8
-6
-19
-16
0
0
-39
1
-3
-29
4
-16
-82
-56
0
2
0
30
18
0
0
0
0
0
0
0
-19
-33
0
2
1
-10
-4
-2
-35
-9
0
0
20
13
29
24
23
-32
-93
-6
0
0
0
36
-11
-31
0
0
0
0
0
0
41
6
0
-3
19
0
-1
-12
-30
-42
0
0
0
0
0
0
-24
4
53
-79
87
-24
17
-54
6
-36
0
0
70
-27
-65
9
38
-9
18
136
0
0
0
45
38
44
0
0
0
0
0
0
31
-50
13
-36
17
-27
1
-27
38
-18
0
0
20
35
54
41
47
22
0
59
21
40
0
-25
18
19
0
0
0
0
0
0
-38
60
52
-57
5
53
-28
-37
-47
-53
0
0
52
70
35
-16
40
21
0
-38
159
-8
-14
28
92
3
0
0
0
0
0
0
-32
-79
-42
-21
-19
90
5
17
-28
45
0
0
11
0
18
21
-24
-16
0
139
231
101
41
40
22
18
0
0
14
0
0
0
45
-80
-44
-27
36
-25
65
107
6
9
0
0
0
0
0
0
-36
14
0
-15
18
62
27
58
5
22
0
0
33
0
-9
-40
-50
-5
-18
-48
32
76
142
73
-19
24
0
0
0
0
0
0
-44
56
0
9
7
12
48
58
-66
32
0
0
15
-21
48
-20
-43
-26
-8
120
122
30
116
121
-43
-4
0
0
0
0
0
0
22
19
0
58
47
-63
-21
-51
10
-57
0
0
124
65
-9
52
6
41
6
47
96
13
0
-9
-10
45
0
0
0
0
0
0
-1
-12
0
-92
-88
6
-17
-37
-71
-54
0
0
99
-3
12
58
78
56
0
68
0
0
0
46
-5
-5
0
0
0
0
0
0
0
-2
0
-22
-133
-75
-79
-91
14
-27
0
0
0
0
0
0
18
-67
43
8
55
50
-4
53
-9
-18
0
0
66
26
51
17
78
54
0
78
0
0
0
32
35
46
0
0
0
0
0
0
-58
60
54
10
26
69
32
-45
24
-94
0
0
61
43
87
-56
6
-10
9
-4
45
34
0
26
61
-19
0
0
0
0
0
0
25
-84
8
-42
20
-21
43
1
-23
47
0
0
44
2
9
14
44
7
0
6
91
-13
89
99
-52
-5
0
0
-48
0
0
0
-10
57
2
47
29
27
10
-65
31
33
0
0
8
27
-17
67
11
21
0
79
113
-76
16
71
-37
-5
0
0
51
0
-3
-3
-17
-33
5
15
19
-21
6
-29
94
1
0
0
11
0
0
-1
65
95
0
68
4
37
-1
109
-74
4
0
0
13
-10
45
-28
68
-3
-15
-45
55
-2
-24
21
46
-1
0
0
0
0
0
0
-8
-2
0
56
26
4
-34
-2
-19
54
0
0
34
40
-31
25
-12
-16
-2
46
91
1
37
74
-61
22
0
0
0
0
0
0
-18
-49
0
-11
21
26
13
-20
11
-27
0
0
63
61
7
65
14
9
0
16
55
30
0
93
-106
16
0
0
0
0
0
0
10
24
0
-35
-46
-83
-2
-20
-44
-59
0
0
-15
11
70
40
21
40
-6
36
0
0
0
15
71
-20
0
0
0
0
0
0
5
-1
0
-105
-34
-21
-75
-76
-36
28
0
0
0
0
0
0
54
-30
7
6
-18
-8
21
-39
-6
-106
0
0
24
-12
-47
2
15
6
0
37
0
0
0
-55
32
44
0
0
0
0
0
0
-9
42
22
28
12
29
26
-26
-51
-6
0
0
58
52
19
-20
11
43
0
66
82
1
0
81
62
-14
0
0
0
0
0
0
-27
-49
-16
7
29
52
30
-15
9
37
0
0
67
-47
8
38
-14
-8
12
-27
11
14
-12
18
-58
49
0
0
-27
0
0
0
-26
-78
0
-19
20
-35
20
14
48
-16
0
0
-3
-5
-41
-2
56
-38
0
-11
43
-20
-30
0
-5
3
0
0
-34
0
-7
5
31
-9
-4
12
21
-21
33
26
-36
-8
0
0
-8
0
0
0
-29
-14
0
58
35
-45
12
67
12
-14
0
0
42
12
77
-23
2
-14
1
25
24
-81
145
74
44
98
0
0
0
0
0
0
-29
3
0
49
35
36
18
6
-21
-41
0
0
2
3
3
22
-27
-28
0
23
72
49
42
-17
-56
-52
0
0
0
0
0
0
4
15
0
-46
3
-29
29
9
-54
-123
0
0
18
-34
26
-61
7
8
2
12
97
11
0
2
19
-31
0
0
0
0
0
0
41
-17
0
-32
-43
-9
-20
-23
-7
-23
0
0
13
-3
-41
6
40
47
8
47
0
0
0
69
55
21
0
0
0
0
0
0
12
-2
0
-72
-38
-17
-58
-70
-18
-10
0
0
0
0
0
0
-7
-80
-14
-46
-2
11
-6
-10
-11
-101
0
0
34
12
21
-70
44
54
0
26
0
0
0
0
24
37
0
0
0
0
0
0
-89
-35
-10
-5
17
-10
33
-31
-6
8
0
0
11
12
32
66
33
-21
0
34
50
4
0
10
-29
-22
0
0
0
0
0
0
-90
-8
40
5
16
-11
14
57
-7
-8
0
0
32
34
-26
28
4
53
0
18
21
62
53
-10
-4
37
0
0
0
0
0
0
-45
-38
4
-11
0
24
-2
-20
14
-5
0
0
7
-7
41
34
2
14
7
12
66
6
-47
-18
-25
-36
0
0
-14
0
-35
-16
-21
-15
-12
17
24
23
21
-29
47
62
0
0
7
0
0
-3
-65
-32
0
43
19
-36
-4
-13
-33
-64
0
0
-50
-13
-36
30
-29
-11
0
14
41
41
61
-46
85
79
0
0
0
0
0
0
-33
-66
0
4
25
-11
27
4
-15
-51
0
0
-5
11
18
21
-10
24
-1
25
39
63
95
45
-97
-43
0
0
0
0
0
0
-54
-67
0
-17
-11
21
6
-13
-8
-7
0
0
34
18
49
26
-28
8
15
-24
53
31
0
-3
-5
58
0
0
0
0
0
0
-3
0
0
-6
0
-12
-15
-2
30
-51
0
0
20
-10
16
74
50
12
18
79
0
0
0
77
49
41
0
0
0
0
0
0
18
5
0
-98
-55
-21
-35
-29
-9
-10
0
0
0
0
0
0
-14
-104
7
-12
0
7
5
53
-9
-7
0
0
-47
4
-50
55
41
45
0
-39
0
0
0
53
8
42
0
0
0
0
0
0
-15
42
-5
-9
-1
15
4
-48
21
-17
0
0
46
20
28
46
61
0
0
64
-19
13
0
19
21
-27
0
0
0
0
0
0
8
69
-10
0
6
28
38
-4
-6
-52
0
0
14
28
26
-21
37
-45
0
38
-2
-47
-50
24
23
-27
0
0
0
0
0
0
-60
-31
5
31
10
0
-17
-21
8
43
0
0
5
-28
32
11
-20
-27
0
-8
12
-37
6
-7
-13
42
0
0
55
0
56
-23
23
21
0
-4
10
14
47
-12
27
-8
0
0
17
0
-1
8
-18
14
1
53
5
-10
-7
43
-37
-22
0
0
-41
61
18
39
-2
-13
12
36
25
29
49
85
12
19
0
0
0
0
0
0
-40
67
0
9
17
-10
-9
2
-9
-15
0
0
13
5
25
56
-30
8
4
59
37
96
59
19
48
-24
0
0
0
0
0
0
-44
-16
0
1
-20
-9
-10
-38
-11
-35
0
0
42
60
9
41
5
25
-5
53
80
85
0
16
-23
-21
0
0
0
0
0
0
-18
20
0
-22
-9
-30
13
-35
-13
4
0
0
33
42
13
28
15
23
44
59
0
0
0
42
-16
-18
0
0
0
0
0
0
-29
31
0
-29
-50
-10
-17
-40
16
8
0
0
0
0
0
0
3
-22
5
-3
23
5
-15
2
-21
-13
0
0
-29
15
-30
-23
-16
-4
0
-56
0
0
0
-7
26
-11
0
0
0
0
0
0
-44
-17
4
13
-2
53
6
-9
18
7
0
0
-16
-11
-17
-74
-8
18
0
22
-17
-96
0
7
41
39
0
0
0
0
0
0
7
-35
4
19
-2
21
25
13
26
-41
0
0
5
17
-2
41
-8
-9
0
-9
6
-19
-10
-5
-42
-6
0
0
0
0
0
0
-39
17
0
-7
24
28
31
-5
-4
-17
0
0
-43
-21
39
-57
-45
18
0
-2
14
5
-2
34
26
-53
0
0
-6
1
3
0
12
15
-5
33
19
27
10
20
69
-16
0
0
-28
-3
3
-7
4
-47
0
32
21
-8
3
0
-14
26
0
0
-49
-70
-33
-32
5
-24
-4
42
27
0
54
13
-4
-18
0
0
3
0
0
0
-4
-88
6
4
14
2
6
0
-10
-79
0
0
25
20
-7
46
-4
12
0
41
55
26
75
55
17
-8
0
0
0
0
0
0
-27
-25
0
-36
-1
-22
3
-18
-40
-55
0
0
-1
46
57
18
21
32
-2
17
44
84
0
-12
-14
67
0
0
0
0
0
0
28
-77
0
-23
11
-32
-28
-19
-16
-10
0
0
12
-20
-9
66
-9
19
42
53
0
0
0
52
8
8
0
0
0
0
0
0
-21
-27
0
-24
-21
5
-18
-2
30
10
0
0
0
0
0
0
58
106
-1
6
14
-3
0
18
42
21
0
0
-35
-51
-52
-47
-17
-1
0
-37
0
0
0
-38
0
-3
0
0
0
0
0
0
39
-6
-4
0
3
14
8
-2
40
-4
0
0
-1
-12
-12
-13
-31
-2
0
-29
-19
-82
0
-4
-19
8
0
0
0
0
0
0
17
20
0
2
-22
-2
3
0
29
20
0
0
-34
4
7
5
9
-5
0
-26
7
-30
-64
9
14
22
0
0
0
0
0
0
45
11
-4
25
-10
4
12
12
37
10
0
0
48
-16
-21
-20
16
5
0
-20
11
17
2
4
4
-33
0
0
-19
-6
-52
3
-21
26
10
-19
2
-2
-11
-8
4
5
0
0
4
32
28
1
19
4
0
-16
-15
3
-32
-11
-5
-3
0
0
11
-11
-9
6
15
13
-39
28
-9
10
34
-6
24
-14
0
0
-4
0
0
-1
-5
-21
0
-16
-8
-2
-7
-20
-26
-19
0
0
35
-6
5
22
12
-5
16
13
15
64
11
5
-17
-83
0
0
0
0
0
0
14
11
-4
-17
-4
-19
-33
-16
8
-6
0
0
17
15
28
54
9
17
-7
23
16
47
0
59
8
2
0
0
0
0
0
0
-19
4
0
-16
-21
-11
14
-12
-12
-24
0
0
8
23
24
-38
-9
-2
-52
-3
0
0
0
23
-41
1
0
0
0
0
0
0
-44
2
0
-22
-23
-2
-12
-28
-35
-9
0
0
0
0
0
0
51
120
3
8
2
2
3
22
33
23
0
0
-38
-23
-52
-46
-28
-10
0
-37
0
0
0
-11
1
1
0
0
0
0
0
0
78
30
0
5
39
9
13
13
38
11
0
0
-52
-58
-46
-40
-39
-34
0
-55
-40
-136
0
-65
-38
-15
0
0
0
0
0
0
31
37
5
4
1
31
5
9
28
22
0
0
-15
-2
-4
-36
-29
-8
0
-41
-9
-43
-48
-33
-13
1
0
0
39
0
13
-4
56
32
-3
15
0
3
-10
12
31
17
0
0
-21
-12
-25
1
-6
-24
0
-63
0
13
5
-55
-1
-15
0
0
10
-4
23
-15
-4
-9
5
8
4
-11
-18
44
-25
26
0
0
32
21
-50
-16
25
-14
0
-13
1
4
8
-11
10
-9
0
0
20
37
-1
14
23
27
10
17
-10
18
0
6
25
26
0
0
54
3
4
-32
16
8
0
-13
1
9
16
-3
-4
5
0
0
9
-1
11
-2
25
9
-22
15
-9
-1
44
22
0
54
0
0
14
0
0
0
5
-73
0
2
0
-18
-10
-1
13
-13
0
0
2
-10
-14
-22
32
6
-53
40
10
18
0
1
30
-8
0
0
0
0
0
0
-63
-36
-1
3
17
-7
26
-4
-2
10
0
0
30
0
22
15
17
-2
-10
32
0
0
0
-50
-6
-5
0
0
0
0
0
0
17
-35
0
4
22
-3
1
-18
-14
-1
0
0
0
0
0
0
-1
53
0
9
-6
-1
2
23
-2
28
0
0
-48
-19
-15
-25
-40
-13
0
-69
0
0
0
-25
-11
-2
0
0
0
0
0
0
64
69
-3
3
5
-16
38
19
9
24
0
0
-52
-40
-28
0
-26
13
0
-63
-45
-50
0
-25
3
14
0
0
0
0
0
0
57
24
3
7
-3
18
20
-12
29
31
0
0
-27
6
11
-13
-10
-24
0
-19
2
-9
-50
-8
24
-49
0
0
3
0
0
8
23
63
-5
5
-4
-24
-29
11
4
3
0
0
-1
32
-19
0
24
12
0
-47
-8
-6
-2
-44
8
6
0
0
31
-12
-12
54
16
68
-7
7
-7
-3
15
-17
1
24
0
0
-42
-6
-34
42
-7
-3
0
-70
-14
1
4
-40
-35
-27
0
0
-11
-5
39
6
4
57
14
-18
-18
-55
-83
-11
-53
-23
0
0
14
0
0
6
70
10
0
-59
-9
-25
-20
-25
-10
-9
0
0
-30
-27
-20
-48
16
35
-7
-17
-66
-63
0
-48
41
140
0
0
0
0
0
0
4
41
0
-9
0
-5
-24
-18
-14
42
0
0
-14
-24
8
2
29
-20
-44
-59
-42
6
0
-34
67
-19
0
0
0
0
0
0
8
3
0
5
-38
-11
23
-7
-23
-6
0
0
15
44
38
73
11
-47
-53
-33
0
0
0
-18
-1
-40
0
0
0
0
0
0
12
-14
-1
-10
-16
-1
-6
2
4
-50
0
0
0
0
0
0
0
-1
-25
-20
7
-2
13
-5
-1
-6
0
0
17
-1
5
5
38
11
19
39
0
0
0
-7
14
-4
0
0
0
0
0
0
-1
-5
-10
-24
32
-32
2
-29
-1
20
0
0
42
3
12
36
-3
-13
0
-2
19
0
0
28
2
-2
0
0
0
0
0
0
-83
-27
15
10
40
-3
-3
-55
-48
-2
0
0
42
1
-4
-23
4
1
0
10
15
-1
16
9
0
0
0
0
0
0
0
0
3
9
40
-4
-1
-11
5
19
22
11
0
0
1
0
0
0
0
-1
0
31
42
-3
24
15
10
0
0
0
0
0
0
0
-10
-21
-2
4
44
-3
-15
-24
13
0
0
0
0
0
0
0
-4
2
0
32
26
-13
-13
37
-2
0
0
0
0
0
1
1
6
6
0
5
27
2
8
16
-4
1
0
0
0
0
0
0
2
-1
0
20
-33
-3
-3
-7
-5
-2
0
0
-42
0
-12
5
10
-5
1
-10
5
0
0
22
1
1
0
0
0
0
0
0
0
0
0
-3
19
-12
6
-24
0
-1
0
0
-14
4
6
0
1
18
0
9
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-48
-7
-14
-1
-16
0
8
0
0
19
3
4
1
21
16
0
-6
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
4
-4
4
16
0
0
0
0
0
0
0
0
0
-1
-5
-3
15
-2
-7
-4
-17
-9
-25
0
0
58
2
-10
18
31
23
0
15
0
0
0
15
3
7
0
0
0
0
0
0
-8
-6
10
-15
-8
-18
-3
-15
-11
-3
0
0
12
19
17
11
9
13
6
32
-17
3
0
9
0
-5
0
0
0
0
0
0
-21
-27
-2
9
-1
-9
-27
4
-11
4
0
0
63
29
5
27
-14
-6
0
-2
28
0
10
42
16
0
0
0
0
0
0
0
-14
-22
-3
-19
-11
-5
5
7
-22
15
0
0
-2
0
0
2
9
-8
0
-2
36
6
-12
19
-25
0
0
0
0
0
0
0
-10
22
-10
14
6
-6
-42
-40
31
-19
0
0
0
0
0
0
3
6
0
7
15
16
-12
-17
5
4
0
0
2
0
-1
-8
23
9
-4
-1
-1
-7
6
-11
7
-10
0
0
0
0
0
0
2
0
0
-6
11
-5
-31
-42
9
-10
0
0
27
9
9
5
-17
15
1
2
-1
-2
8
2
-1
1
0
0
0
0
0
0
0
0
0
-1
13
-3
-18
-48
4
0
0
0
-10
9
-1
16
2
32
0
-30
28
0
0
13
7
0
0
0
0
0
0
0
1
0
0
-45
-28
-32
11
-34
-4
-9
0
0
-13
-19
7
-2
22
22
0
12
0
0
0
14
5
4
0
0
0
0
0
0
0
0
0
-22
-23
36
15
4
-1
8
0
0
0
0
0
0
0
-3
-28
-38
49
-9
-18
-26
-11
-10
0
0
30
11
-8
35
12
-8
0
-21
0
0
0
-18
24
-3
0
0
0
0
0
0
2
0
-38
-22
23
14
13
19
-32
-67
0
0
12
16
62
-7
41
10
0
-9
-40
0
0
-7
7
37
0
0
0
0
0
0
-1
-13
73
43
-36
5
18
-24
-7
25
0
0
43
25
8
0
-11
33
4
-1
-1
-2
-10
1
1
6
0
0
0
0
0
0
-13
-13
12
15
2
-33
-44
-2
-1
8
0
0
-7
0
0
-5
0
-4
0
35
-2
1
4
-10
-26
8
0
0
-1
0
0
0
-9
-29
15
12
33
-11
-30
14
-4
-13
0
0
-1
0
0
0
42
0
0
5
5
2
-17
-6
-31
1
0
0
22
1
-10
2
-5
29
-10
16
-20
-9
16
25
40
20
0
0
0
0
0
0
-14
-2
0
4
4
6
14
-7
-4
-6
0
0
-20
13
-16
8
-41
34
0
-19
11
1
-1
40
-46
-31
0
0
0
0
0
0
7
0
0
-52
-2
6
-15
8
1
-24
0
0
26
-11
-15
-29
-26
-23
-1
4
24
0
0
-44
0
-15
0
0
0
0
0
0
2
0
0
29
14
-23
-41
4
-14
-6
0
0
14
-10
-20
-10
12
-15
-1
-12
0
0
0
75
9
49
0
0
0
0
0
0
0
0
0
-9
22
-11
2
3
-4
9
0
0
0
0
0
0
3
-13
-16
-67
-1
-6
-25
-67
4
-65
0
0
26
-16
44
17
9
-26
0
37
0
0
0
14
-14
2
0
0
0
0
0
0
-10
3
-20
-35
64
-34
39
-6
1
2
0
0
-34
-2
-5
-17
49
5
0
27
-7
4
0
63
20
11
0
0
0
0
0
0
-13
19
19
9
3
49
22
17
-38
-65
0
0
-7
-20
19
19
-14
-47
0
-4
51
4
-20
1
-3
12
0
0
0
0
0
0
-12
-50
58
-70
33
-24
9
18
11
0
0
0
-4
0
-22
-10
-23
-8
1
88
-7
13
1
-53
-32
36
0
0
-6
0
0
0
-55
-8
-20
13
38
-8
65
-29
1
7
0
0
0
0
0
-2
-31
-24
0
14
39
47
21
31
-18
-10
0
0
-5
-2
11
-36
-26
-8
0
-14
-40
6
16
2
10
35
0
0
0
0
0
0
27
-19
0
28
-15
42
26
48
-36
-14
0
0
-6
27
-21
9
26
-38
10
-16
1
5
24
13
-56
-21
0
0
0
0
0
0
-9
-5
0
20
20
8
-8
-44
35
16
0
0
4
-32
-45
-28
8
-12
4
-38
34
5
0
-1
17
31
0
0
0
0
0
0
1
-3
0
-34
-9
-11
-16
-2
-18
11
0
0
-35
15
-5
1
50
15
0
28
0
0
0
-13
6
3
0
0
0
0
0
0
0
-3
0
23
-54
-17
-16
-32
11
-26
0
0
0
0
0
0
-5
-12
18
-29
12
4
19
14
21
20
0
0
-31
-18
-71
-18
7
14
0
-6
0
0
0
3
34
17
0
0
0
0
0
0
-3
-31
-21
-10
-26
29
49
14
12
-9
0
0
9
27
-2
7
-18
-12
0
-6
-38
1
0
29
47
-7
0
0
0
0
0
0
34
-10
26
6
-16
26
29
-29
19
-4
0
0
21
26
17
-2
56
46
0
-19
4
-12
-34
-45
-3
5
0
0
0
0
0
0
-32
-29
35
-8
14
26
10
-5
41
-30
0
0
3
-3
-4
-44
3
12
0
23
-10
29
-21
24
-12
13
0
0
2
0
0
-3
-38
-41
0
5
13
-19
10
-25
-29
24
0
0
0
0
0
1
-5
-11
-1
-13
-2
-36
-8
13
5
5
0
0
-5
8
25
4
-9
11
20
-35
4
8
2
58
1
26
0
0
0
0
0
0
-6
8
0
39
2
-24
6
-17
2
-9
0
0
-15
-28
10
44
4
44
-15
15
-48
17
53
-18
-68
-27
0
0
0
0
0
0
-14
6
0
-15
10
-5
-29
16
-53
-44
0
0
-7
-19
-15
40
-41
44
10
55
-34
12
0
14
-36
38
0
0
0
0
0
0
6
-4
0
-21
-3
-14
29
-2
2
11
0
0
4
16
32
12
10
-21
2
35
0
0
0
2
55
35
0
0
0
0
0
0
-8
-11
0
-6
1
8
18
-26
-18
-6
0
0
0
0
0
0
0
10
14
49
-1
22
1
10
-23
-2
0
0
-1
32
-31
-22
-18
25
0
19
0
0
0
-7
25
-26
0
0
0
0
0
0
18
-28
9
0
35
1
-34
9
-19
18
0
0
-29
-40
-17
-7
-26
-42
0
33
-34
0
0
-23
-12
18
0
0
0
0
0
0
5
21
23
-7
19
-4
17
-6
-20
18
0
0
-9
8
40
-10
3
-6
0
20
-11
5
-22
-3
-19
22
0
0
0
0
0
0
-40
-30
0
-26
17
-65
-14
-30
-30
-34
0
0
-21
2
-24
-14
-11
-3
0
-52
12
-28
-12
-21
32
-45
0
0
3
0
0
-11
-4
-34
-35
-4
8
15
19
9
45
25
0
0
4
0
0
7
-16
-45
0
20
-8
-13
24
-27
-49
9
0
0
-20
-7
-10
6
-16
9
-58
41
-6
-7
9
-58
-10
7
0
0
0
0
0
0
-16
-21
5
-13
2
-34
14
-1
18
-41
0
0
13
10
-9
41
-31
14
-12
11
43
6
11
73
39
-24
0
0
0
0
0
0
-10
-34
0
-25
17
-12
-4
-7
-10
22
0
0
-18
34
27
-25
35
37
3
2
-12
9
0
21
-47
-3
0
0
0
0
0
0
-3
-6
0
-19
-3
-76
-22
0
-13
-9
0
0
20
-22
-13
11
-3
4
-39
1
0
0
0
-26
-41
-12
0
0
0
0
0
0
11
-15
0
-20
-43
11
23
51
-9
-10
0
0
0
0
0
0
16
49
3
35
22
-3
-14
17
-17
20
0
0
-27
-63
57
17
-3
-15
0
-62
0
0
0
31
-22
-2
0
0
0
0
0
0
29
10
1
8
15
4
8
20
6
-6
0
0
-1
-4
-29
-3
-26
-18
0
19
17
-42
0
-32
-23
-1
0
0
0
0
0
0
28
27
0
-21
-23
-27
-22
28
34
24
0
0
2
6
-23
-20
11
4
0
-17
-52
-21
-34
-15
13
-9
0
0
0
0
0
0
28
37
-23
41
-11
59
-18
31
2
22
0
0
6
-6
-31
8
14
9
0
-45
-3
20
-3
-38
14
-18
0
0
-3
0
-2
5
2
58
-27
-1
-4
1
35
-19
29
38
0
0
4
0
0
3
23
59
0
-28
-15
-40
-16
6
-4
-2
0
0
-7
19
59
5
61
57
-17
-3
-15
-15
16
-5
-11
11
0
0
1
0
0
0
-27
-13
0
-20
-14
3
-7
-54
-11
51
0
0
-26
-24
9
4
0
-28
-72
42
24
3
-15
1
29
6
0
0
0
0
0
0
12
17
-5
-42
-4
34
-31
24
14
-51
0
0
0
54
28
19
14
14
1
19
16
29
0
0
16
-20
0
0
0
0
0
0
15
6
0
-1
-27
-6
-32
-25
37
-34
0
0
26
50
4
-12
-29
13
-15
29
0
0
0
14
1
10
0
0
0
0
0
0
25
8
0
-42
-15
-18
2
-52
-9
13
0
0
0
0
0
0
-11
-17
15
36
-49
6
16
29
-4
18
0
0
-61
-28
-59
-12
-15
-11
0
-66
0
0
0
-39
-21
10
0
0
0
0
0
0
49
-18
0
14
-34
22
19
26
38
1
0
0
-43
-53
-72
-69
-3
-24
0
-85
-27
-86
0
-69
-10
-6
0
0
0
0
0
0
7
-44
1
-1
9
3
6
14
38
-12
0
0
-7
-23
1
-33
-27
-19
0
13
-40
54
-54
-15
48
1
0
0
0
0
0
0
10
46
-9
26
5
-69
60
-37
21
16
0
0
24
-2
-18
-30
-43
15
0
-55
-17
-57
-2
-2
42
-9
0
0
-13
-1
2
-2
38
40
20
-32
-9
-2
-35
9
-77
27
0
0
32
0
-38
16
39
-30
0
-12
21
-21
-30
12
-31
-24
0
0
12
0
4
27
12
1
21
-22
21
75
-19
7
4
-23
0
0
2
0
0
0
-14
-3
0
1
19
50
10
1
-48
-38
0
0
-11
-9
20
7
-9
-23
38
43
17
-10
30
-6
-29
14
0
0
0
0
0
0
35
-18
0
11
-4
-55
-5
-37
0
-50
0
0
6
28
4
-3
38
7
-10
54
15
46
0
26
16
-6
0
0
0
0
0
0
-38
41
3
7
18
7
28
-16
-56
-2
0
0
26
13
-24
21
18
-14
10
36
0
0
0
-4
-48
1
0
0
0
0
0
0
2
25
0
-12
-17
0
-16
-13
-3
34
0
0
0
0
0
0
-4
62
0
43
21
6
5
25
25
25
0
0
-55
-32
31
-32
-59
-14
0
-85
0
0
0
-29
8
-7
0
0
0
0
0
0
-26
92
-15
24
-22
27
12
2
7
47
0
0
-15
-2
-26
14
18
6
0
-34
-62
-7
0
-4
-23
-40
0
0
0
0
0
0
-22
2
-2
45
-7
-6
41
4
20
87
0
0
-27
-48
-40
-10
-28
-16
0
-14
51
-61
-48
-23
47
6
0
0
0
0
0
0
26
67
-15
-16
-25
29
32
66
-39
13
0
0
11
-10
23
58
40
-44
0
-69
-24
0
29
-3
-55
-54
0
0
-10
1
2
-9
0
14
-15
67
-24
33
19
-5
37
-43
0
0
-8
-1
-1
1
8
34
0
-49
-21
18
-12
-6
45
6
0
0
15
5
5
23
-4
-73
16
46
-9
-37
-58
8
-4
-17
0
0
0
0
0
0
40
41
0
37
-20
-12
-70
29
45
21
0
0
17
-11
-36
-28
70
0
28
-32
-63
13
55
-15
-5
92
0
0
0
0
0
0
45
56
0
-23
-15
-23
-17
8
-31
67
0
0
36
-17
24
0
-39
-34
3
-68
-13
8
0
-16
26
-13
0
0
0
0
0
0
2
-11
0
-22
-15
-15
-10
-19
46
-16
0
0
4
1
59
-5
-3
-7
25
4
0
0
0
-39
27
-43
0
0
0
0
0
0
-47
-40
-4
-26
-21
-7
4
1
12
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-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
-91
-49
1
-13
25
-30
-76
47
-176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-52
0
19
61
54
0
23
27
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-113
-7
5
0
-23
1
0
1
177
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-31
2
1
0
3
0
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-13
5
66
0
-9
-1
70
0
0
0
0
0
0
2
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
-9
8
-1
9
-4
5
0
0
81
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-14
-146
-15
-19
-100
6
-12
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
119
-70
-182
-140
54
-76
-132
-11
156
-37
0
-18
50
29
66
29
-51
0
23
0
0
0
52
95
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
-13
1
0
0
-9
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
10
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-4
-2
45
2
0
0
-34
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
47
-2
-12
0
1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-13
78
-36
0
0
44
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-4
0
0
0
50
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
29
3
0
0
0
0
2
-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
-2
0
0
0
-6
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
54
42
-8
-19
-31
-53
27
-26
28
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
20
12
-32
-46
0
-137
74
-64
58
43
170
0
-38
9
-41
13
-11
-53
0
8
0
0
0
40
21
8
0
0
0
0
0
0
0
0
93
44
70
1
0
24
1
3
66
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
141
85
54
131
8
-6
161
55
265
0
0
0
0
-22
-12
3
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-14
0
28
-58
-23
78
-1
47
2
2
-45
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-16
-73
-29
-18
0
-10
0
-192
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
50
9
10
0
62
19
0
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
160
21
-5
-104
18
-2
7
83
55
112
0
57
53
61
77
48
68
-5
22
0
-32
0
7
89
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
46
18
-1
9
0
0
-127
0
10
0
0
-1
30
8
-2
0
0
0
0
4
-3
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
0
0
-1
2
0
-4
0
-2
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-1
0
-20
0
0
3
0
6
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
3
-16
6
0
-13
6
0
7
0
0
0
1
-1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
1
2
-21
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
27
-48
22
-9
-7
48
13
-52
0
6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
32
129
13
-2
93
1
-87
-90
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
47
10
1
74
4
-23
-22
-50
-110
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
13
-25
47
0
-37
128
31
-24
0
-13
0
-7
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
40
114
1
0
1
-27
0
-4
-39
0
0
0
0
-1
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-72
0
-19
17
0
1
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
136
60
10
134
189
56
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
128
25
124
90
0
-107
61
68
106
-45
37
0
-57
-5
33
-42
-98
-33
0
-3
0
-10
-66
-35
96
-5
0
0
0
0
0
0
6
0
2
123
83
0
-5
62
1
-2
-101
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
6
181
138
7
11
202
2
3
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
7
-38
-48
32
33
21
1
38
0
0
0
6
0
-1
0
0
-3
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
2
64
-9
0
66
-7
0
25
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
80
-29
0
77
-50
-3
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
-44
-9
76
-10
44
73
46
105
113
22
0
-82
-17
21
50
-62
5
50
24
0
-141
-72
47
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-21
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
38
8
-1
0
10
0
4
0
8
1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
-52
14
-1
0
-8
0
36
0
-11
2
0
4
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
-6
-2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-1
0
-1
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
46
-84
0
-14
37
31
3
-66
0
-20
0
4
-1
14
0
0
1
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
41
-138
-14
-57
182
50
10
-49
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-35
0
-30
53
26
28
51
-9
-40
-46
-45
0
23
0
-2
-18
45
0
0
2
0
0
-2
20
0
0
0
0
0
0
0
0
-4
1
0
174
-123
-14
80
75
76
-18
-41
0
-4
0
9
9
28
13
-1
-25
0
-1
-16
-58
40
3
0
0
0
0
0
0
0
-2
5
-85
-133
52
42
-34
8
37
18
0
18
-1
-16
55
0
4
0
19
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
5
-50
-4
-4
-33
-24
0
-35
0
74
0
0
0
4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
-4
2
0
-119
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
1
-1
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-2
5
-2
-2
15
54
31
-18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-72
-46
40
1
0
77
-87
88
37
2
-104
0
-2
-1
8
57
18
22
1
29
0
-52
-64
90
-71
-67
0
0
0
0
0
0
-2
0
0
20
115
-25
9
74
4
-1
-92
0
0
0
0
0
25
0
0
0
0
0
6
-7
1
0
0
0
0
0
0
0
-18
0
-1
23
78
-18
65
31
-25
-4
-65
0
0
0
0
4
15
1
0
-1
0
-13
-3
57
-61
-1
0
0
0
0
0
0
6
1
-1
81
70
-2
-68
-26
96
-12
-15
0
0
0
0
2
-1
2
0
0
0
-1
-2
-15
32
0
0
0
0
0
0
0
0
0
0
-20
113
-1
5
-19
1
68
-24
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
51
0
-1
44
-18
0
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
7
6
-70
-23
49
0
115
48
76
32
1
-2
0
-39
-40
-42
-44
-8
-41
-33
-57
0
8
-47
-21
14
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
31
3
18
25
-9
33
2
18
0
-1
0
0
0
0
-13
0
-36
0
3
31
17
-1
0
0
0
0
0
0
0
0
0
0
1
21
-4
-4
7
27
0
-11
0
0
0
0
0
0
0
0
-1
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
0
1
0
0
0
8
0
0
-7
0
0
-1
12
0
0
0
0
0
0
0
0
17
0
0
-17
2
9
35
-59
-41
71
-17
0
1
0
0
3
2
0
3
-14
0
50
36
-23
-24
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
10
-104
-5
39
-11
51
30
-131
0
0
0
0
0
-32
0
0
42
0
4
58
-13
27
5
0
0
0
0
0
0
57
2
-8
50
-56
-4
-8
64
-12
-86
3
0
-18
-1
-5
48
-61
-29
-2
78
0
-63
47
51
-28
-36
0
0
0
0
0
0
-94
-9
0
43
-53
36
14
-67
-1
52
-28
0
25
0
6
-9
70
19
24
123
0
54
-24
31
-2
65
0
0
0
0
0
0
81
-40
-4
-119
-89
-33
56
24
-37
-10
-13
0
6
0
-5
-27
35
45
-1
69
0
-3
14
-3
33
-9
0
0
0
0
0
0
0
0
0
2
-38
12
70
-110
8
0
-48
0
-2
0
0
0
-5
0
0
-4
0
-2
-20
54
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-12
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
2
-22
-8
0
-6
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
0
-24
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-13
2
2
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
-21
0
66
-82
-30
78
72
-44
0
0
0
0
0
101
25
0
27
0
28
208
11
-38
178
0
0
0
0
0
0
-4
0
0
-1
153
0
22
-6
8
1
-51
0
0
0
0
0
-8
0
0
-1
0
-3
8
8
-24
0
0
0
0
0
0
0
1
1
0
-6
-10
17
-22
40
-8
16
-78
0
0
0
0
0
0
0
0
0
0
0
14
1
-3
-2
0
0
0
0
0
0
0
0
0
8
144
1
6
-24
67
4
87
0
0
0
0
0
0
0
0
0
0
0
89
13
2
0
0
0
0
0
0
0
0
0
0
0
149
0
-28
0
0
0
264
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
59
0
-41
5
-10
0
-142
0
0
0
0
0
0
0
0
0
0
1
2
2
-1
0
0
0
-59
-4
16
62
-49
-32
-5
-3
10
15
-58
16
15
9
-11
0
-14
0
-32
-77
8
14
13
-44
0
-69
-18
-24
-10
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
84
48
89
-68
26
-1
1
0
0
0
0
0
-3
0
0
25
0
-6
-46
55
0
1
0
0
0
0
0
0
-1
0
0
8
-4
0
-57
8
-28
0
-5
0
0
0
0
0
2
0
0
-2
0
5
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
3
0
3
0
0
0
0
0
12
-8
0
12
0
25
-26
-4
10
5
0
0
0
0
0
0
8
-4
0
7
-36
78
2
13
110
-66
12
0
0
0
0
0
85
-16
0
-29
0
-48
-20
27
38
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
0
108
-75
46
82
-55
3
103
7
0
0
0
0
0
-19
-22
-3
-62
0
54
13
-26
-83
-52
0
0
0
0
0
0
26
63
20
-91
-126
113
-96
-95
-65
5
-14
0
0
0
0
0
-7
-10
0
-8
0
-6
-30
35
-40
-33
0
0
0
0
0
0
-16
-19
0
4
46
64
-11
-48
-22
62
2
0
8
0
0
4
-26
22
-24
-44
0
-154
-35
35
-30
-24
0
0
0
0
0
0
-90
1
0
-92
23
0
-61
-135
2
7
10
0
0
0
0
0
-43
-10
1
84
0
2
-37
-5
68
21
0
0
0
0
0
0
-13
0
0
-57
43
60
-23
36
26
0
-19
0
0
0
0
0
0
0
0
15
0
71
16
-38
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-42
1
0
2
12
-9
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
2
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
24
0
7
6
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
49
0
0
-4
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-4
6
0
0
-7
0
3
0
6
0
-16
-133
0
0
0
0
0
0
0
0
3
0
-32
-15
-55
-1
5
0
0
0
0
0
0
0
0
0
0
-128
0
0
0
0
0
270
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-2
0
0
133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
40
-68
-22
-92
-91
0
-87
118
18
-86
-28
-109
-95
-152
0
0
0
0
0
18
-66
-51
-32
0
-36
-72
-78
-72
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-39
0
0
0
0
0
-1
0
0
-5
0
-3
7
13
-3
0
0
0
0
0
0
0
0
0
0
24
27
9
0
12
2
29
-159
0
0
0
0
0
-30
23
-10
-1
0
2
-46
-59
-7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-4
-64
0
-1
16
1
38
-42
0
0
0
0
0
-4
0
0
-29
0
-2
0
25
17
0
0
0
0
0
0
21
-14
12
0
-6
-42
-73
32
94
21
112
-19
0
0
0
0
0
-20
16
0
-103
0
-3
8
-52
-31
10
0
0
0
0
0
0
2
2
0
2
30
0
10
-5
-25
7
-105
0
0
0
0
0
-6
-3
-12
-15
0
63
49
-28
-10
-6
0
0
0
0
0
0
3
4
0
-2
34
8
22
18
0
9
-29
0
0
0
0
0
0
0
0
-48
0
-4
0
-58
-1
2
0
0
0
0
0
0
0
0
0
0
-9
0
4
1
0
0
-45
0
0
0
0
0
0
0
0
35
0
3
0
8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
5
0
0
42
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
3
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
-4
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-14
-75
-129
-68
-58
-8
-80
164
-13
31
3
-127
-76
-165
0
0
0
0
0
-4
55
-31
-89
0
-4
-93
-137
-83
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-53
0
0
0
0
0
0
1
0
-27
0
13
-17
-34
-3
0
0
0
-23
-8
-13
8
-2
0
0
-7
1
-54
-24
68
0
0
-49
0
0
0
0
0
-27
17
-7
61
0
9
-53
-14
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
-2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
36
0
-7
-5
-20
-3
0
0
0
1
0
0
0
1
0
0
-4
31
0
-1
4
0
0
-44
0
0
0
0
0
0
0
0
-7
0
0
0
-41
9
2
0
0
-4
4
0
0
0
2
0
-2
13
0
-1
0
0
0
-64
0
0
0
0
0
-4
-2
-6
-63
0
41
3
21
34
-2
0
0
-3
0
0
1
3
51
0
0
1
0
0
-7
0
0
-47
0
0
0
0
0
0
0
0
-69
0
0
-14
8
0
0
0
0
-15
0
0
0
0
1
0
0
16
-3
0
-1
0
0
-39
0
0
0
0
0
0
0
0
-10
0
-1
23
-6
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
14
-8
60
-54
-41
79
38
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
51
53
0
50
-27
35
-7
9
21
0
4
0
0
0
1
24
0
1
0
0
0
-32
1
0
0
0
0
0
0
0
0
0
-70
-4
38
0
56
-13
0
2
86
0
0
0
0
0
0
-17
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-5
-28
2
34
-3
3
1
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-85
36
-7
-10
0
-9
-1
50
0
0
0
0
0
0
7
0
-4
0
0
0
1
4
-2
0
0
0
0
0
0
0
0
-34
-3
0
3
-28
10
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
-49
-11
7
85
8
-5
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-36
-21
-149
-135
-71
-32
-97
98
47
-47
0
-62
20
36
-11
32
-19
-10
-33
0
0
0
23
9
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-44
57
16
0
0
-4
-96
0
0
0
0
0
-3
-9
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-28
1
0
0
-37
0
0
0
0
0
0
3
0
8
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-23
-17
14
43
0
43
36
0
-1
0
0
0
-20
21
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
46
47
-9
-17
0
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-4
7
-53
19
-2
115
-93
0
0
0
0
0
7
-2
0
-15
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
42
-8
-1
0
61
0
0
21
-48
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
66
0
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
71
3
0
0
16
0
0
-137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
4
-5
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
81
-2
76
3
35
76
31
-39
114
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
48
10
75
24
0
-100
140
136
141
39
-25
0
-71
5
-65
55
-104
-68
0
12
0
0
0
-31
8
-41
0
0
0
0
0
0
0
0
164
30
65
9
0
-17
8
-10
158
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
-2
87
55
-20
48
41
121
80
-19
94
0
7
0
0
-40
-11
-29
0
10
0
0
0
-31
0
-17
0
0
0
0
0
0
0
0
62
12
11
12
10
104
8
-38
125
0
1
0
3
-6
-4
-10
0
1
0
0
0
14
0
6
0
0
0
0
0
0
0
0
112
-45
48
-47
0
-41
0
4
-9
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
32
39
-15
17
0
44
5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
45
72
0
-84
-25
11
4
176
74
16
0
28
42
16
13
123
56
62
36
0
-70
0
20
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
58
42
-15
-7
0
0
-88
0
35
0
-9
-2
21
-4
-59
28
0
0
0
13
1
6
0
0
0
0
0
0
0
0
0
0
12
0
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
-1
0
1
1
0
-29
0
10
0
0
6
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-26
32
-2
-14
-24
0
0
-93
0
36
0
-1
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
34
-14
3
16
45
0
16
-89
0
-18
0
-32
1
3
40
1
-13
0
0
0
-32
0
-3
0
0
0
0
0
0
0
0
0
25
-5
5
0
0
5
-6
-17
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-27
0
0
0
15
2
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
-19
0
0
-75
-21
102
-30
-36
65
-55
-43
0
29
0
8
-2
-53
2
-5
-2
0
2
0
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
53
76
-13
14
5
-26
-63
0
-1
0
0
0
0
0
0
-5
0
0
0
-9
-13
0
0
0
0
0
0
0
0
2
57
0
-8
75
2
-79
-48
-7
-107
0
-1
0
0
-5
16
10
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
-8
-3
0
102
47
43
4
116
91
-16
-15
0
-13
0
-26
-5
-16
-2
12
-42
0
0
0
5
-11
9
0
0
0
0
0
0
0
0
36
31
8
0
2
-15
0
36
-93
0
-5
0
0
-8
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
5
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
15
38
0
27
-11
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
76
0
8
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-16
159
27
13
80
70
54
69
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
192
70
115
140
0
19
59
128
33
26
-18
0
33
9
30
-36
-10
-67
-9
-94
0
16
-62
29
-17
-22
0
0
0
0
0
0
5
0
-17
70
88
0
79
134
4
9
46
0
-2
0
0
2
5
-1
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
8
0
17
176
90
13
-86
54
-2
1
-42
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
24
1
58
165
68
10
106
73
102
44
19
0
0
0
2
-1
6
1
0
1
0
12
-2
-27
-8
-1
0
0
0
0
0
0
0
0
56
141
-20
1
15
53
0
5
29
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
51
45
4
6
43
-3
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
42
-65
80
-21
-4
37
51
55
63
-12
0
-11
-61
-1
-23
-2
29
-22
18
0
-197
-103
-7
58
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
14
0
0
0
0
0
6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
0
92
8
0
0
91
0
0
0
-5
1
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
11
0
0
-65
-8
0
4
0
3
1
101
-48
4
4
-1
-6
0
0
24
29
0
0
0
0
0
0
0
0
0
0
0
0
12
0
8
-9
-2
0
18
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
36
0
-6
5
-12
23
-21
9
0
-5
0
-5
-1
-28
1
0
0
0
0
0
0
0
-1
-7
0
66
-78
0
20
-6
-35
-3
-9
0
-5
1
-37
-27
19
-4
29
34
0
1
6
46
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
85
-7
-30
-77
156
42
24
-19
0
-1
0
-2
0
-3
2
0
1
0
0
2
-14
-3
0
0
0
0
0
0
0
17
-4
-54
39
-43
-19
44
-12
-67
10
-24
0
32
5
-38
33
2
10
4
-29
0
8
-18
-38
21
0
0
0
0
0
0
0
-9
3
0
42
-35
-5
14
18
53
-15
-10
0
-20
-2
44
32
37
8
-5
-34
0
8
11
-16
-16
13
0
0
0
0
0
0
0
0
27
-64
-69
41
46
-19
18
20
-31
0
-3
0
-25
44
75
20
0
-7
0
0
-4
-44
8
0
0
0
0
0
0
0
0
0
0
-31
21
-3
-75
13
31
0
-67
0
41
0
-1
0
1
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
6
3
1
-19
0
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
-9
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
-15
-7
-40
9
21
8
-35
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-87
-13
-51
-24
0
-39
-86
-74
-59
-127
15
0
11
-1
4
7
86
109
-11
-8
0
36
-45
41
62
31
0
0
0
0
0
0
24
0
33
-20
20
3
-19
72
20
0
-52
0
-1
0
0
0
13
0
-5
7
0
20
64
-15
-14
0
0
0
0
0
0
0
4
0
56
153
5
110
22
-9
60
78
-53
0
7
0
0
-4
-59
-1
0
-9
0
4
-48
12
-28
8
0
0
0
0
0
0
18
-3
72
-12
-25
8
-86
12
72
-28
-125
0
0
0
0
2
-3
2
0
-8
0
-5
6
-38
-44
-1
0
0
0
0
0
0
0
0
0
-5
37
4
12
17
3
38
20
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
-3
8
32
0
3
-16
7
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
24
-43
-46
54
0
67
39
35
30
10
-7
0
-29
2
18
41
-12
19
-19
-24
0
-21
38
15
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-68
3
50
65
64
-52
0
17
0
-4
0
0
4
32
-4
-17
-8
0
29
-54
35
21
-4
0
0
0
0
0
0
0
0
0
-3
10
19
-21
16
-15
0
-12
0
0
0
0
0
2
0
0
-8
0
0
4
34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
0
-8
0
-14
0
-1
-12
43
19
0
12
0
20
-7
29
2
-1
0
0
0
0
0
0
63
0
0
-91
31
18
-73
-13
-24
-5
-48
0
25
0
-2
19
-57
-31
8
-12
0
18
-16
18
2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
25
-5
-6
82
15
37
-5
-40
0
0
0
0
4
-13
3
-2
72
0
25
4
-81
26
5
0
0
0
0
0
0
-10
58
-13
-5
7
34
33
34
29
-9
8
0
0
-3
-6
-19
45
-4
-5
21
0
-55
-6
-30
-13
-118
0
0
0
0
0
0
-92
-21
0
-17
61
83
-41
-2
29
-62
-25
0
73
0
-8
-23
-43
48
47
85
0
-42
-3
4
27
52
0
0
0
0
0
0
1
-63
-53
-22
-7
78
2
21
70
-23
9
0
37
-4
-11
1
37
46
21
-18
0
-12
18
-25
90
-13
0
0
0
0
0
0
0
0
0
13
-25
-5
-13
46
13
0
-17
0
-1
0
0
-1
-5
0
0
-3
0
-1
-63
70
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
3
0
3
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
44
0
6
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
2
1
-8
2
-65
-8
0
-2
67
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
-12
0
-1
0
-5
0
-87
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
2
85
1
-37
12
-5
-3
-27
0
0
0
0
0
0
0
0
0
0
0
13
23
0
0
0
0
0
0
0
0
-35
-65
-124
-102
0
84
1
-182
-3
24
0
0
0
0
0
0
66
104
-7
46
0
15
122
-49
37
57
0
0
0
0
0
0
-4
-2
4
-2
11
-33
-49
-2
-22
1
-79
0
0
0
0
0
-9
0
-2
-34
0
-16
0
17
-15
-12
0
0
0
0
0
0
1
2
-3
-29
58
31
-67
61
22
14
-20
0
0
0
0
0
5
3
0
33
0
1
27
-26
6
1
0
0
0
0
0
0
0
0
-19
-4
50
-9
10
10
14
6
-25
0
0
0
0
0
0
0
0
8
0
-29
57
31
4
-13
0
0
0
0
0
0
0
0
0
5
79
-1
30
-13
1
0
8
0
0
0
0
0
0
0
0
0
0
0
55
-20
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
-29
-13
-3
0
-45
0
0
0
0
0
0
0
0
0
0
0
-1
7
-2
0
0
0
0
-20
-84
-61
-12
-22
-66
67
21
52
-21
35
-15
7
13
0
-23
2
-61
-8
25
12
3
-32
0
0
8
3
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-53
-32
-1
-62
19
-22
-1
35
0
0
0
0
0
-8
-15
0
15
0
-4
48
61
21
-9
0
0
0
0
0
0
-2
0
0
4
-74
15
-27
3
-8
0
22
0
0
0
0
0
0
0
0
0
0
-3
48
-49
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-25
0
1
0
0
0
0
0
-3
-28
0
-16
0
-30
-7
-29
27
12
0
0
0
0
0
0
113
13
0
50
-1
139
46
-45
-13
-112
-9
0
0
0
0
0
62
12
43
-61
0
-61
-56
-67
-109
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-12
0
70
-71
22
34
-37
-34
161
19
0
0
0
0
0
-59
50
63
-72
0
64
-33
73
-95
2
0
0
0
0
0
0
-61
-48
-3
26
-74
148
-33
-42
-80
23
14
0
0
0
0
3
-122
-48
-7
35
0
-8
-28
79
71
-23
0
0
0
0
0
0
28
-14
0
48
-35
137
14
-14
-2
-22
3
0
2
0
0
1
24
-32
-37
-27
0
17
-7
6
-7
-24
0
0
0
0
0
0
16
53
-57
52
50
63
-44
29
-42
-42
34
0
0
0
0
-1
-9
-41
-4
-4
0
61
25
-3
1
-34
0
0
0
0
0
0
-13
0
0
25
-32
117
105
-45
-45
9
-7
0
0
0
0
0
9
-1
0
-34
0
78
-37
4
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
2
2
-53
2
5
24
-24
-8
40
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
39
0
-7
-2
2
-1
39
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
6
0
1
0
-32
0
0
-3
3
6
-45
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-6
16
0
-2
-1
0
-1
-35
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
0
0
-5
0
0
-119
0
0
0
0
0
0
0
0
7
0
0
0
13
2
0
0
0
0
0
0
1
-3
0
-4
-16
0
-10
-3
-91
-1
56
-57
0
0
0
0
0
13
0
0
-8
0
-28
-29
18
-8
6
0
0
0
0
0
0
0
0
0
0
-47
0
-13
0
0
0
104
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-1
0
-1
-59
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
-31
0
0
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
-8
-1
-6
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
96
80
-8
-109
-98
31
-20
95
-21
-68
-18
-59
-34
-57
0
0
0
0
0
-32
-19
19
-42
0
33
-41
-48
18
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-1
0
0
-29
0
0
0
0
0
0
0
0
14
0
0
-6
-35
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
1
0
7
0
0
0
0
0
-11
-1
0
11
0
11
24
7
-17
28
0
0
0
0
0
0
-7
0
0
91
-61
6
-4
103
-24
26
-28
0
0
0
0
0
17
43
22
-23
0
-4
14
-31
-2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
-13
-62
0
3
5
-1
-7
-15
0
0
0
0
0
0
0
0
-14
0
-11
0
56
47
0
0
0
-1
-1
0
23
51
49
-2
-99
39
-70
-9
-14
-61
29
0
0
0
0
0
0
-22
13
-15
10
0
11
27
30
-29
58
0
0
0
0
0
0
16
8
0
-10
-8
4
-23
-9
-32
43
-35
0
0
0
0
0
37
13
-43
92
0
1
63
17
67
-34
0
0
0
0
0
0
26
36
0
17
-45
8
10
14
0
52
-52
0
0
0
0
0
0
-4
-2
-50
0
3
8
-38
2
8
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
-13
0
0
0
0
0
0
0
0
22
0
3
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
1
0
1
-31
-1
0
46
0
1
0
4
0
-39
0
0
0
0
0
0
0
0
0
0
0
-29
-13
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
2
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
1
1
0
0
0
6
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
-2
2
0
10
6
0
0
0
23
0
0
0
0
0
-120
0
0
0
0
0
0
0
0
-1
0
0
1
4
0
0
0
0
1
0
-2
0
-17
2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
3
0
-1
-2
-8
0
3
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-8
6
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-45
-23
-107
-138
-89
-34
-141
148
-20
-45
-128
-109
-157
-44
0
0
0
0
0
-76
-9
-9
-34
0
-45
-32
-5
-82
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-47
0
0
0
0
0
0
5
0
10
0
-9
-39
9
-16
0
0
0
26
4
-9
-21
-28
-9
0
21
-15
-67
11
56
8
0
10
0
0
0
0
0
65
-30
-14
23
0
54
57
9
56
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
0
-2
-9
-2
0
-3
-34
0
0
-4
0
0
-12
0
0
0
0
0
1
0
-5
10
0
12
-7
-83
-11
0
0
0
5
0
5
2
-5
-17
0
-8
28
-4
1
-14
0
0
62
0
0
0
0
0
3
0
-1
-46
0
0
21
-54
-7
5
0
0
25
-14
13
-1
2
-8
0
-41
-35
5
16
-1
4
0
-13
0
0
0
0
0
-5
1
24
23
0
63
-29
13
25
1
0
0
-15
0
0
0
8
14
0
-12
0
0
0
-4
0
0
35
0
0
0
0
0
0
0
1
2
0
0
-32
58
0
0
0
0
-39
0
-4
0
0
5
0
0
13
-3
-29
0
0
0
-5
0
0
0
0
0
0
0
3
30
0
-3
70
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-60
51
7
-1
-109
-10
39
110
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
70
0
22
34
-10
0
8
12
0
4
0
0
0
0
21
0
1
0
0
0
-34
1
0
0
0
0
0
0
0
0
0
-5
-8
36
0
27
-13
0
2
53
0
0
0
0
0
0
-12
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-5
15
3
29
-3
3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-81
36
-12
-5
0
-7
-1
38
0
0
0
0
0
0
7
0
-4
0
0
0
1
4
-2
0
0
0
0
0
0
0
0
-5
-3
0
3
-13
10
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
24
-23
13
33
5
7
-5
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-22
33
-118
-34
-155
24
-53
21
-66
-71
0
-75
-66
-16
-61
5
-51
24
-33
0
0
0
-26
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
10
19
0
0
-4
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
1
0
0
17
0
0
0
0
0
0
3
0
8
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-31
-4
7
27
0
27
11
0
-1
0
0
0
-24
36
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
27
40
-2
-17
0
1
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-26
-32
-4
16
-2
42
-2
0
0
0
0
0
7
-2
0
-15
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
35
-7
-1
0
0
0
0
4
-52
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
9
0
7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
42
3
0
0
16
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
4
-5
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
42
79
56
-1
5
99
0
9
104
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
51
10
146
18
0
-101
97
-2
-15
31
-42
0
-87
-13
-11
33
-40
-9
0
-61
0
0
0
-41
13
-10
0
0
0
0
0
0
0
0
61
43
24
8
0
-55
8
-20
63
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
-4
31
-22
-12
-87
34
49
40
-76
14
0
4
0
0
-30
-1
-27
0
12
0
0
0
-23
0
-18
0
0
0
0
0
0
2
0
65
58
42
13
8
87
-6
-40
131
0
1
0
3
-6
-4
-3
0
1
0
0
0
14
0
5
0
0
0
0
0
0
0
0
75
35
-1
-30
0
-11
0
8
-35
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
13
30
-15
17
0
25
3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
43
0
-24
-3
-1
-13
15
-40
-12
0
16
18
15
11
40
15
-5
29
0
-55
0
-4
-55
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
38
-15
19
0
0
-52
0
25
0
-12
-2
32
-16
-6
5
0
0
0
19
9
1
0
0
0
0
0
0
0
0
0
0
13
0
0
9
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-5
0
0
2
1
0
48
0
2
0
0
6
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-21
25
-2
-14
1
0
0
-48
0
12
0
-3
0
-1
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-30
-5
3
16
48
0
22
-25
0
9
0
-22
3
3
16
1
-16
0
0
0
-32
0
-3
0
0
0
0
0
0
0
0
0
23
-5
5
0
0
2
-4
-19
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-13
0
0
0
6
2
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
-19
0
0
-57
-7
99
-14
-5
-20
-38
-51
0
14
0
13
-2
-30
-2
-5
-2
0
2
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-40
53
-3
-13
8
-16
-44
0
-1
0
0
0
0
0
0
4
0
0
0
-10
-8
0
0
0
0
0
0
0
0
2
-32
97
-46
56
-6
3
-29
-10
-100
0
0
0
0
-3
18
4
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
-8
-3
0
-52
39
52
9
-5
-12
-56
-14
0
-13
0
-19
-5
-17
6
12
-16
0
0
0
11
-11
13
0
0
0
0
0
0
0
0
45
-23
7
0
2
-19
0
18
-72
0
-4
0
0
-8
0
0
0
-1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
56
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
31
0
10
-17
0
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
30
0
8
14
0
0
-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
3
-3
24
78
-89
14
21
-49
17
44
-172
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
8
54
1
-78
0
-1
-63
-11
46
34
-8
0
99
17
43
30
4
-23
-10
-64
0
41
-9
36
19
-19
0
0
0
0
0
0
5
0
12
4
-39
0
26
45
4
9
4
0
-2
0
0
2
13
-5
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
8
0
43
46
-48
9
-4
-97
0
1
49
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
25
1
67
47
-62
-5
58
6
67
58
-35
0
0
0
2
-1
-10
1
0
1
0
13
-2
-25
-8
-1
0
0
0
0
0
0
0
0
40
29
-38
1
4
68
0
0
-27
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
8
-9
5
31
-4
-6
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-75
-26
7
-12
35
32
-9
32
-52
3
0
-22
-12
15
40
15
18
-30
-10
0
-105
-1
-48
-63
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-27
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-69
0
0
0
0
0
6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
0
23
8
0
0
44
0
0
0
-6
1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-59
-43
0
0
-3
0
4
1
23
4
6
4
-1
-7
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-3
-9
-4
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-21
0
31
2
-14
16
19
-28
0
-9
0
-5
-1
11
1
0
0
0
0
0
0
0
-1
-7
0
63
-8
0
-9
30
-14
2
-17
0
-26
1
-27
-28
20
-4
-6
33
0
-1
8
11
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
68
-59
-31
-44
15
10
-17
56
0
-1
0
-2
0
-1
2
0
11
0
0
2
-17
5
0
0
0
0
0
0
0
10
1
-31
5
13
-30
-24
-50
-53
-8
-3
0
-46
5
-47
41
-39
48
4
-34
0
5
-25
-41
22
0
0
0
0
0
0
0
-6
3
0
65
6
-8
-49
-28
60
57
-36
0
-32
-1
-5
43
17
-2
-7
22
0
14
8
68
-6
10
0
0
0
0
0
0
0
0
66
-62
14
23
54
-42
22
28
-7
0
-51
-1
-17
5
-31
25
0
-25
0
0
-4
-2
7
0
0
0
0
0
0
0
0
0
0
-25
22
-3
-19
41
16
0
-3
0
27
0
5
0
1
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-28
3
1
-8
0
-2
-47
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
-16
0
0
0
1
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
-52
-7
-47
-12
-18
6
-72
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
35
17
-35
-18
0
74
64
14
-21
29
17
0
0
-1
8
-21
63
36
11
86
0
-28
18
85
1
83
0
0
0
0
0
0
24
0
59
-22
5
2
6
27
12
7
9
0
1
0
0
0
-6
0
-7
5
0
18
72
-14
-12
0
0
0
0
0
0
0
30
0
16
-11
-28
50
-27
17
-46
56
-30
0
3
0
0
-4
0
-2
0
-7
0
8
-29
-20
-39
8
0
0
0
0
0
0
8
-3
96
-44
-60
8
-101
15
-6
0
-139
0
0
0
0
2
-9
2
0
-9
0
-5
12
-39
-43
0
0
0
0
0
0
0
0
0
-13
8
-36
4
6
-13
3
16
12
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
-3
8
-15
0
3
-15
8
0
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-40
18
-23
-1
0
8
-20
9
20
92
7
0
48
74
7
42
7
42
-5
3
0
57
-20
20
10
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
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-41
35
48
31
54
-25
0
-28
0
-4
0
0
-3
-1
-1
-18
10
0
61
24
38
17
-4
0
0
0
0
0
0
0
0
0
-1
16
19
3
16
-20
0
-5
0
0
0
0
0
2
0
0
-8
0
0
14
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
29
0
-13
0
-22
0
-2
54
15
1
0
-1
0
25
23
56
-27
-1
0
0
0
0
0
0
10
0
0
-32
65
6
5
-28
7
2
-45
0
24
0
-1
27
9
-30
-7
-4
0
18
-1
-131
-34
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
1
0
24
9
4
44
-25
34
-54
-23
0
0
0
0
4
19
3
0
28
0
-7
48
-55
23
3
0
0
0
0
0
0
-80
8
-19
-19
40
-2
-2
22
-35
82
-3
0
-4
-3
-22
-20
42
-5
34
17
0
-36
-28
93
38
-38
0
0
0
0
0
0
-28
-14
0
4
95
6
9
-22
-7
-27
-15
0
-7
0
-20
-19
-41
28
38
-87
0
-44
-20
50
89
1
0
0
0
0
0
0
-33
10
-85
-37
60
63
15
-24
-31
-41
12
0
34
-4
-13
-13
0
10
25
26
0
-29
79
-39
44
-24
0
0
0
0
0
0
0
0
0
6
23
-2
14
40
-63
0
11
0
-1
0
0
-1
-2
0
0
-5
0
-1
-38
39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
3
0
3
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
25
0
4
0
0
-1
-55
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
2
1
-18
2
-58
-8
0
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
-13
0
-1
0
-5
0
-64
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
2
19
1
-15
11
-4
-3
-112
0
0
0
0
0
0
0
0
0
0
0
12
29
0
0
0
0
0
0
0
0
-35
-59
-104
-21
0
6
-47
11
-42
-11
65
0
0
0
0
0
28
14
-30
22
0
45
48
0
41
19
0
0
0
0
0
0
0
-2
4
-1
63
-29
-55
-41
-13
-2
-49
0
0
0
0
0
-17
0
-2
-32
0
3
-37
66
-8
-12
0
0
0
0
0
0
3
2
13
-42
-2
91
-109
-52
36
-7
-18
0
0
0
0
0
5
3
0
40
0
-5
9
10
3
1
0
0
0
0
0
0
0
0
2
5
12
-8
42
10
9
2
-65
0
0
0
0
0
0
0
0
8
0
-23
-19
-1
-2
-13
0
0
0
0
0
0
0
0
0
5
-5
-1
16
-9
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-15
-8
-3
0
-49
0
0
0
0
0
0
0
0
0
0
0
-1
7
-2
0
0
0
24
-13
-46
-33
35
-16
-40
35
12
80
-34
58
41
46
9
0
-40
-4
-19
1
42
10
-20
-35
0
20
37
22
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-14
-29
-9
24
7
24
-1
48
0
0
0
0
0
-8
0
0
-2
0
-28
-22
44
16
-8
0
0
0
0
0
0
-2
0
0
4
-28
15
-3
1
-12
0
10
0
0
0
0
0
0
0
0
-1
0
7
60
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
-29
16
0
-35
0
4
-12
-10
-1
22
0
0
0
0
0
0
52
10
0
18
107
31
-54
2
-43
-30
-43
0
0
0
0
0
-2
-21
66
-28
0
-41
-64
-20
-27
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-6
0
-29
55
-37
-5
26
-7
44
-42
0
0
0
0
0
-22
25
57
-2
0
31
6
55
-23
5
0
0
0
0
0
0
-23
-67
-84
-35
64
78
-147
16
28
-75
20
0
0
0
0
3
-27
-32
6
54
0
-25
-17
18
2
21
0
0
0
0
0
0
48
-14
0
84
93
54
25
43
21
-32
-16
0
2
0
0
0
-14
22
-73
-70
0
-27
-11
-147
-49
28
0
0
0
0
0
0
31
13
-107
58
64
49
-9
3
-11
3
14
0
0
0
0
0
37
-25
22
-57
0
36
-47
-23
-5
-12
0
0
0
0
0
0
-6
0
0
33
22
53
29
-12
-33
1
-22
0
0
0
0
0
-10
-1
0
-74
0
48
51
-90
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-4
2
5
2
5
23
-24
-1
9
0
0
0
0
0
0
0
0
1
0
0
-8
1
0
0
0
0
0
0
0
0
-1
0
0
0
-13
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
6
0
-7
-2
2
0
-56
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
6
0
1
0
-24
0
0
-3
3
6
-73
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
-2
-1
0
-1
-108
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
7
0
0
-3
0
0
21
0
0
0
0
0
0
0
0
7
0
0
0
15
2
0
0
0
0
0
0
1
-3
0
-4
-10
0
-25
-4
-96
-1
5
2
0
0
0
0
0
10
0
0
-1
0
22
-30
84
-15
6
0
0
0
0
0
0
0
0
0
0
48
0
-12
0
0
0
-54
0
0
0
0
0
0
0
0
1
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
-1
0
-1
-30
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
-23
0
0
-9
0
0
-76
0
0
0
0
0
0
0
0
0
0
-8
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
-7
-1
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
40
-11
43
33
-68
5
2
32
35
13
-70
-42
-6
-33
0
0
0
0
0
2
0
19
-63
0
-32
2
42
-31
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-1
0
0
67
0
0
0
0
0
0
0
0
14
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
5
0
0
0
0
0
-17
4
0
3
0
21
-23
-18
38
2
0
0
0
0
0
0
-2
0
0
47
-41
-22
-28
32
-23
15
21
0
0
0
0
0
2
50
-49
12
0
-55
-14
47
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
-7
-21
0
4
8
-1
-22
-9
0
0
0
0
0
0
0
0
4
0
-7
0
7
41
0
0
0
-1
-1
0
1
-5
34
-16
-66
31
8
100
-30
28
-22
8
0
0
0
0
0
-5
-16
13
39
0
16
-2
-65
-6
11
0
0
0
0
0
0
9
9
0
-15
-37
5
-7
-13
-31
31
-12
0
0
0
0
0
27
-2
-30
41
0
-1
61
2
6
-4
0
0
0
0
0
0
13
34
0
5
5
8
-45
7
0
48
62
0
0
0
0
0
0
-4
-2
-18
0
3
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-1
0
3
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
1
0
1
-13
-1
0
9
0
1
0
4
0
-49
0
0
0
0
0
0
0
0
0
0
0
-30
-19
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
1
1
0
0
0
6
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
-2
2
0
10
6
0
0
0
31
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-1
0
0
1
5
0
0
0
0
1
0
-2
0
-17
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
3
0
-1
-2
-42
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-8
28
0
0
0
0
0
-135
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
-15
-23
-92
-73
31
-12
49
-37
-64
-74
14
-139
-42
0
0
0
0
0
-48
-65
3
-6
0
-9
12
-33
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
5
0
31
0
0
18
-28
-6
0
0
0
-7
34
-7
-39
-8
-12
0
-65
-49
-49
79
-9
8
0
66
0
0
0
0
0
65
4
43
-7
0
14
18
73
-28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-2
-9
-2
0
-3
-31
0
0
-4
0
0
-30
0
0
0
0
0
0
0
-5
-29
0
2
-19
-47
-7
0
0
0
8
0
7
-4
-2
-19
0
3
-15
-4
1
-20
0
0
48
0
0
0
0
0
3
0
-1
-65
0
0
14
23
-8
5
0
0
44
-13
13
-1
2
-6
0
-59
-33
0
25
-23
4
0
6
0
0
0
0
0
-5
7
22
104
0
46
-66
-16
53
2
0
0
-14
0
0
0
5
8
0
-12
0
0
0
-5
0
0
-46
0
0
0
0
0
0
0
1
48
0
0
-30
55
0
0
0
0
-14
0
-4
0
0
5
0
0
-10
-3
-25
0
0
0
-14
0
0
0
0
0
0
0
2
-4
0
-3
79
39
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
9
1
0
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
0
3
3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
1
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
1
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-49
-6
-39
-16
-15
-34
-60
47
0
-41
-24
-12
-8
-9
-8
0
8
0
0
0
5
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
1
-7
1
0
0
1
0
0
0
0
0
-3
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-9
-2
19
-2
0
-1
53
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-25
5
1
9
4
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-59
0
-52
-24
-52
-6
-1
-4
0
-9
0
10
0
23
36
0
-19
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-9
0
0
0
1
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-54
16
19
-1
-31
0
-6
-72
0
0
0
0
3
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-53
6
10
0
0
1
-8
0
32
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
4
-1
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
1
-34
45
-71
-4
16
-1
-51
17
0
-25
67
-37
-24
-12
4
-5
-6
0
-5
0
11
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-44
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
2
0
-10
-6
3
-33
0
-2
0
3
-1
-7
-5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
3
0
8
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-31
13
6
0
-1
0
-6
-44
0
0
0
0
-1
-1
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-7
5
23
0
-18
24
2
-24
0
0
0
-4
0
0
1
0
5
0
0
0
1
1
1
0
0
0
0
0
0
0
0
23
13
0
0
2
2
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-27
0
-30
4
0
0
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-21
-31
0
-14
-15
-48
-20
-4
15
0
35
-1
11
-12
28
1
-5
-5
0
7
-3
-35
-11
-1
0
0
0
0
0
0
0
0
0
17
1
-1
-5
-2
0
0
-19
0
-1
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
19
-2
-29
0
-2
-8
0
0
26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-57
-35
0
-14
-14
8
0
-44
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
5
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
12
14
-24
-10
43
60
71
-11
-6
0
2
-9
82
34
10
-1
10
28
0
-6
-5
-50
-37
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
0
0
8
0
3
1
3
-2
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
14
0
1
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
5
-7
0
-76
0
0
0
4
0
6
0
0
-2
0
0
4
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-39
-3
-12
-9
0
0
75
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
12
1
-28
0
10
31
31
2
-36
0
-13
1
-4
12
5
-6
0
-1
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
-8
-26
-1
10
-9
7
0
-22
0
3
0
-2
1
0
-1
0
1
0
1
1
21
2
0
0
0
0
0
0
0
0
0
14
2
-1
0
-22
-1
0
0
-2
0
-2
0
-3
4
-1
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-15
0
2
0
4
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
8
0
20
28
12
-14
1
12
0
-3
0
2
-3
-21
1
1
67
0
-52
44
18
16
25
0
0
0
0
0
0
0
0
7
1
4
2
-4
-10
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-11
-14
41
-22
-2
21
-18
-20
5
0
0
0
0
0
-4
2
0
0
0
6
-2
-13
-2
0
0
0
0
0
0
0
0
0
43
-6
-3
0
-6
4
-10
0
-49
0
0
0
0
0
0
0
0
-1
0
-5
4
-21
-2
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
-1
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
11
1
11
0
14
25
-43
54
19
-14
0
5
2
-17
-39
12
51
-8
-65
0
31
-5
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
-27
0
0
0
8
0
0
0
0
0
1
0
1
1
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
18
0
-10
0
0
0
0
4
12
0
0
3
0
-1
-4
-1
-3
0
0
0
0
0
0
0
-1
0
0
-4
17
0
-7
-13
0
0
16
0
-1
0
0
-2
1
0
-5
0
0
-6
5
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-10
0
-2
-20
0
0
0
0
1
1
0
-2
19
0
3
-1
0
-3
1
0
0
0
0
0
0
4
0
-1
-4
-38
-12
6
-9
-12
37
-46
0
0
0
0
-3
-17
-9
0
20
0
1
9
13
27
-2
0
0
0
0
0
0
0
0
0
7
7
0
17
-6
-8
-4
11
0
-1
0
0
0
5
-1
1
-1
0
-10
-24
33
6
-1
0
0
0
0
0
0
0
0
-21
23
8
0
4
13
-4
8
27
0
1
0
0
2
-5
-4
0
-8
0
-3
-25
-4
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
2
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
20
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
2
0
19
13
0
0
-13
45
-8
-1
71
0
0
0
0
0
-4
-3
-1
-14
0
10
15
3
-6
0
0
0
0
0
0
0
0
0
1
0
43
-3
8
-2
0
0
73
0
0
0
0
0
1
0
-1
-4
0
-1
-4
15
-6
-2
0
0
0
0
0
0
0
0
4
-19
31
3
-17
1
12
0
58
0
0
0
0
0
0
2
0
2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
-5
0
28
0
-12
0
-1
1
4
0
0
0
0
0
-1
0
0
0
0
2
-16
0
-6
0
0
0
0
0
0
0
0
0
0
-1
1
-1
8
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-7
29
-24
2
28
15
-55
13
81
99
17
0
-8
0
0
1
19
-9
23
-26
0
-20
11
33
32
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
0
18
0
0
0
0
0
-6
-6
0
15
0
7
-19
-45
-1
8
0
0
0
0
0
0
-3
1
0
-1
27
-1
-45
1
1
0
50
0
0
0
0
0
2
-2
24
23
0
22
-6
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
2
-3
-5
19
0
0
0
0
0
1
-4
4
-16
0
12
23
-9
0
0
0
0
0
0
0
0
41
-2
-19
23
30
10
-44
-23
-8
-10
-60
0
0
0
0
0
7
8
8
0
0
9
-17
-11
8
9
0
0
0
0
0
0
-1
0
0
23
38
4
-8
17
-8
0
37
0
0
0
0
0
-19
3
-19
-22
0
-21
-3
-43
-12
0
0
0
0
0
0
0
-2
0
-33
3
17
3
40
-6
17
6
-31
0
0
0
0
0
1
0
0
7
0
-1
11
-1
-6
3
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
-4
0
33
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
1
0
8
0
0
0
4
0
38
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
30
0
0
0
0
0
0
0
0
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-19
0
0
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
3
-17
7
0
19
24
-39
4
-2
11
-28
4
-32
0
0
0
0
0
1
-33
-4
11
0
-13
-24
27
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
3
0
0
0
0
0
-1
0
0
1
0
-4
-3
10
9
0
0
0
0
0
0
0
2
0
0
0
25
0
-11
-1
0
0
18
0
0
0
0
0
0
-2
-13
6
0
-8
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
8
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-1
-18
-14
-6
-10
-17
-2
23
86
0
0
0
0
0
1
0
1
-8
0
0
-7
-7
3
0
0
0
0
0
0
0
0
0
0
-13
-9
-1
9
-1
-1
1
-17
0
0
0
0
0
0
0
0
4
0
-7
1
15
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-3
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
12
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
27
-2
6
-20
-32
5
14
11
6
-7
13
2
-14
-76
0
0
0
0
0
17
-20
-26
10
0
-3
-4
-2
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-10
6
0
0
0
-33
15
0
1
0
0
0
-2
-9
0
12
-6
0
0
46
0
0
0
0
0
-1
1
20
-55
0
20
4
-12
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
-15
0
0
0
0
0
0
0
0
0
0
-1
4
9
0
0
0
0
1
0
0
-1
0
0
0
2
3
0
0
0
0
0
44
0
0
0
0
0
0
0
1
-4
0
0
-2
3
0
0
0
0
1
-2
0
0
0
0
0
-4
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
-1
27
0
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-17
-41
-12
14
35
-7
3
19
19
-11
-3
6
10
10
18
-4
7
-5
-25
5
-29
-9
-8
-4
2
14
0
-10
-8
15
29
2
-8
8
12
-14
-10
-22
-18
10
-10
9
8
24
45
12
-38
-37
-51
41
-37
-18
3
0
16
-11
-12
-21
-12
4
-3
2
-11
-4
-11
-25
-12
-7
3
9
-8
-7
5
16
-30
19
7
15
18
0
3
3
-1
5
-2
23
6
3
8
-35
-7
-31
14
26
4
-13
1
2
4
-6
-19
5
-1
-1
3
-24
-5
1
-4
-5
1
-4
-2
9
-13
3
-4
2
-8
-11
13
-3
7
0
8
4
-1
1
2
15
16
4
18
42
32
-24
-13
-16
0
17
-38
-23
-31
2
18
-29
-7
-7
-11
0
-30
-2
-10
-8
-1
-15
-4
0
-8
-4
7
-2
-5
13
-16
10
3
8
7
2
5
1
2
6
9
22
12
21
-3
-24
-8
-24
14
15
12
-7
-3
8
6
4
-4
-6
-1
10
1
-18
-4
-2
6
-2
14
4
-3
-24
-5
-4
-2
4
-10
1
17
-1
3
8
10
9
-6
2
9
14
13
6
34
16
-10
-13
-21
20
-9
-11
-41
-26
-27
6
12
-27
-6
-1
0
6
-10
-6
-8
-7
-37
-5
1
1
12
-8
2
3
2
2
12
4
4
1
21
5
4
1
-1
8
-6
14
14
13
2
-21
-10
-4
6
53
4
-8
7
-5
-29
-9
17
-20
-3
26
6
0
-19
9
-7
18
0
-10
11
13
-25
-25
-4
-5
-2
20
1
2
-2
-5
2
14
-4
20
6
8
18
3
-31
-5
2
-30
21
-36
11
39
-41
9
2
-5
29
-49
-18
13
33
-8
23
30
-12
-35
-9
16
-13
-10
31
23
-14
2
-7
-2
-6
24
10
-7
-11
20
-4
-12
0
30
4
4
1
19
-26
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-5
-1
0
4
0
-31
14
1
10
-27
5
0
24
-24
-26
2
-13
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
-37
0
0
0
1
0
6
0
0
3
19
7
17
27
72
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
4
0
0
-4
-20
0
2
2
0
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
4
2
0
0
7
-3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
-43
7
-23
1
-40
6
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
23
0
-4
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
28
50
-33
22
71
0
-2
0
13
1
-20
5
25
-25
0
-1
-12
32
14
-1
-16
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
1
0
-1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
16
0
2
0
0
0
0
0
0
-43
-9
3
0
-94
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
21
-2
0
-7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
48
-3
8
26
31
0
-2
0
0
0
0
0
73
-9
0
-1
-33
40
6
22
-13
-20
0
-14
0
0
0
0
0
0
0
0
-84
1
31
-8
-7
0
-13
0
-1
0
0
0
-43
-6
0
-3
-21
28
19
15
14
-20
0
-7
0
0
0
0
0
0
0
0
1
0
0
9
1
0
-9
0
0
0
0
0
-8
-5
0
14
-37
-17
-19
14
-2
-3
0
18
0
0
0
0
0
0
0
0
-27
-2
0
20
-18
0
0
0
0
0
0
0
22
47
0
-5
-24
-15
-49
17
8
11
0
-3
0
0
0
0
0
0
0
0
61
24
0
6
1
0
2
0
0
0
0
0
-15
-2
0
-9
-30
-39
49
2
5
-21
0
-29
0
0
0
0
0
0
0
0
63
-2
0
30
0
0
-1
0
0
0
0
0
0
0
0
-10
-74
-12
-29
-2
-25
-26
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-38
-24
13
-56
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
-1
-2
0
4
2
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
37
0
0
0
0
0
-7
0
0
147
-41
65
-54
-10
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
2
-9
23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
8
13
-27
42
0
-2
0
22
0
22
16
64
59
0
-1
-52
-2
-4
-1
17
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-28
0
3
0
0
0
0
0
0
6
11
-1
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
-12
35
19
21
23
-3
13
0
39
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
-31
0
-1
0
0
0
-1
0
0
1
6
-1
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
6
-3
0
-12
0
0
0
0
0
-14
0
0
10
-20
13
20
-5
35
7
0
-32
0
0
0
0
0
0
0
0
-4
1
0
46
-55
0
0
0
0
0
0
0
-33
-4
0
-3
0
16
1
1
1
-41
0
6
0
0
0
0
0
0
0
0
-3
0
0
-10
0
0
5
0
0
0
0
0
0
0
0
79
37
5
50
5
-12
44
0
-20
0
0
0
0
0
0
0
0
0
0
0
-13
17
0
9
0
0
0
0
0
-1
0
0
-14
-45
-48
6
14
4
-65
0
2
0
0
0
0
0
0
0
0
-7
2
1
44
-2
0
9
0
0
0
0
0
-20
-18
0
-2
-52
-54
13
-43
-9
-43
0
1
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
-10
0
0
0
0
0
0
0
0
-41
-16
-30
-19
4
1
-45
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-13
23
-1
13
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
36
-8
2
0
0
0
-20
39
-4
1
0
0
-7
4
0
26
-5
3
0
18
1
0
18
-37
-60
6
-64
-12
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-2
-4
0
-1
0
0
0
6
-3
0
1
0
0
0
9
0
1
0
0
0
0
-5
0
36
-59
5
-10
38
-55
-8
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
13
7
-19
-51
-2
3
-1
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-43
10
165
34
30
-49
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
46
-1
-1
-5
0
0
2
0
0
-16
-55
50
0
0
0
0
-47
20
8
-3
0
0
-49
-3
0
3
6
16
-15
-24
-23
0
-7
-19
-1
-7
0
-1
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
22
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
4
15
0
2
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
-5
0
0
0
0
0
0
1
7
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-2
28
-25
-4
7
0
40
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-2
0
0
0
0
0
0
-44
12
-50
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
53
-14
4
0
0
0
-3
10
0
0
0
0
-6
12
0
0
0
0
0
0
-1
0
-76
-61
-15
3
10
-42
35
0
-10
-53
21
-3
-48
0
0
0
14
-31
3
1
0
0
-40
0
0
0
0
0
0
14
24
0
-7
-68
8
3
-2
16
26
0
19
3
0
0
1
0
0
0
4
2
0
0
0
0
0
5
0
0
0
0
0
0
0
0
18
-14
13
-1
-26
-9
-63
0
-12
-26
-20
-14
0
0
0
0
36
7
0
0
0
0
23
-9
0
0
0
0
0
2
0
0
36
-22
3
-33
-24
-33
-8
0
0
59
-21
5
0
0
0
0
-1
7
0
0
0
0
-16
-3
0
0
0
0
0
-8
-23
0
-7
-67
2
-1
10
-44
-2
0
0
-5
-5
-5
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-52
-34
-2
-32
-6
0
23
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
-37
27
-13
20
23
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-58
48
-20
-4
0
-21
0
22
28
-38
-7
-3
24
0
11
15
24
4
10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
16
6
20
-62
-14
0
-30
0
-19
0
2
-3
10
0
0
57
-11
-82
-90
2
39
20
0
135
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
21
0
-4
0
0
0
2
0
0
25
-44
-3
-13
28
-1
2
0
15
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-40
0
0
0
0
0
0
0
0
31
1
-3
9
-35
8
1
0
-9
0
0
0
0
0
0
0
0
-13
0
-5
-1
0
0
-8
0
0
0
0
0
-13
0
0
-2
59
-21
-17
93
-48
-16
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
11
-9
-14
40
-52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-3
43
1
-37
61
0
-1
0
-21
-29
10
-7
-85
-74
0
1
-4
-7
-15
16
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
66
0
0
-3
0
0
-51
0
8
-1
-5
7
20
0
0
2
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
44
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
32
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-32
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
27
4
-1
0
0
0
57
0
12
0
0
0
0
0
0
17
-3
-10
13
-58
0
2
0
-2
0
0
0
0
0
0
0
0
44
0
-2
0
0
0
40
0
0
0
0
0
0
0
0
8
-31
2
-13
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
88
-86
4
5
24
0
3
0
1
0
0
1
1
-13
0
-2
58
16
17
22
21
28
0
-19
0
0
0
0
0
0
0
0
-20
61
-8
-34
50
0
-2
0
2
0
1
0
-12
-87
0
50
2
17
20
24
-6
100
0
53
0
0
0
0
0
0
0
0
28
4
5
-16
-50
0
-3
0
0
0
0
0
54
-13
0
15
-37
4
-1
65
53
38
0
-8
0
0
0
0
0
0
0
0
-62
-6
20
-39
19
0
3
0
0
0
0
0
3
11
0
32
5
8
-10
-5
-46
-22
0
10
0
0
0
0
0
0
0
0
-25
74
-17
64
24
0
-3
0
-5
0
0
0
-20
23
0
14
10
19
25
16
-11
66
0
75
0
0
0
0
0
0
0
0
-24
-4
4
36
0
0
-27
0
0
0
0
0
10
0
0
-2
48
75
72
24
-13
3
0
-45
0
0
0
0
0
0
0
0
3
0
0
-43
0
0
17
0
0
0
0
0
0
0
0
17
0
11
16
-22
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-32
0
0
4
0
20
9
9
-18
32
2
0
12
7
-8
0
37
21
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
6
-3
-51
10
0
4
0
0
0
0
0
-9
-7
0
26
-22
6
-2
16
-86
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
0
0
0
0
0
3
0
4
0
0
0
74
0
0
0
0
0
0
0
0
-34
-6
-10
-37
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-2
50
51
-50
64
0
-5
0
26
24
-18
26
-40
23
0
-3
-11
-3
-9
7
-45
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
-2
0
-17
0
40
0
0
0
-7
0
0
21
-14
0
53
-49
48
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
44
0
-2
0
0
0
0
0
0
-35
-33
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-2
0
0
-40
0
0
0
0
0
0
0
0
-18
-5
9
0
-5
-2
0
0
24
0
0
0
0
0
0
0
0
49
0
-6
-23
0
0
-7
0
-10
0
0
0
0
0
0
57
27
41
5
69
-5
-61
0
-16
0
0
0
0
0
0
0
0
-52
0
0
-8
0
0
-31
0
-9
0
2
0
-3
0
0
11
2
5
31
137
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
67
0
2
-49
-30
0
17
0
0
0
0
0
-55
0
0
2
-19
-30
10
30
44
51
0
16
0
0
0
0
0
0
0
0
8
-7
6
-36
-108
0
-6
0
0
0
0
0
43
-24
0
33
0
-13
7
10
6
-27
0
-1
0
0
0
0
0
0
0
0
11
0
0
-18
-85
0
10
0
0
0
0
0
4
0
0
24
-7
24
-3
21
50
58
0
10
0
0
0
0
0
0
0
0
7
-1
0
-52
36
0
16
0
0
0
0
0
-9
0
0
14
1
-5
29
5
23
-60
0
10
0
0
0
0
0
0
0
0
5
5
-8
83
33
0
9
0
0
0
0
0
176
94
0
56
20
-30
4
-9
22
21
0
5
0
0
0
0
0
0
0
0
15
0
1
40
-2
0
-38
0
0
0
0
0
0
0
0
24
-9
-17
-1
-22
20
14
0
12
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
12
0
0
0
0
0
0
0
0
10
43
-34
-17
-62
3
9
0
0
0
0
0
0
0
0
0
0
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
34
-27
46
0
0
0
-50
-12
88
24
0
0
-44
-3
0
28
48
37
45
-22
-52
0
12
-28
5
11
14
-10
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
13
16
-12
10
0
0
0
-51
63
3
16
0
0
-42
9
0
1
0
0
0
13
-24
0
-36
-29
-46
16
-63
3
-90
0
-33
-4
0
0
0
0
0
0
4
29
-1
2
0
0
-1
11
0
-22
0
0
0
0
4
0
-40
1
-55
-136
-21
8
47
0
-27
-4
-3
3
-5
0
0
0
6
69
0
-2
0
0
27
-8
0
-2
0
0
0
7
0
0
-33
3
44
26
-13
-196
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
5
-16
0
3
0
0
0
-27
0
6
0
0
0
0
0
0
31
1
5
-4
-45
-8
3
0
-4
43
58
62
8
0
0
0
12
-4
20
-57
0
0
-14
0
0
14
7
40
22
-61
-32
0
5
-2
-3
0
-3
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
-41
-5
7
0
0
-2
7
0
-4
0
1
0
-2
-8
0
6
-36
-22
-30
37
0
7
0
32
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
-26
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
23
1
-2
-10
0
0
0
-4
0
0
0
0
0
0
0
-8
-2
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
-1
-39
3
0
2
1
0
0
-24
-8
0
0
0
0
0
0
-3
3
0
9
0
0
0
1
0
-8
0
0
0
0
0
0
88
-7
-3
-3
65
0
-26
0
-21
2
0
0
0
0
0
0
-2
-1
0
1
0
0
0
-10
0
6
0
0
0
0
0
0
-51
58
29
-32
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
34
49
-21
-12
0
0
0
38
14
0
6
0
0
-43
-9
0
0
0
0
0
-1
-17
0
24
20
4
2
-10
-5
19
0
20
-71
-83
-76
-19
0
0
0
-30
45
-15
-36
0
0
23
-2
0
0
0
0
0
-11
39
0
11
-2
11
10
8
-28
2
0
14
-73
-25
-6
-1
0
0
0
-73
-3
0
0
0
0
1
26
0
0
0
0
0
11
0
0
26
-17
5
6
-8
54
1
0
28
-90
-16
-55
-6
0
0
0
-21
46
2
0
0
0
-48
2
0
0
0
0
0
13
22
0
-7
-30
11
13
-38
-31
27
0
-5
-44
-91
-5
-50
0
0
0
20
-55
0
1
0
0
-72
4
0
0
0
0
0
-48
11
0
25
-9
10
9
-23
44
-3
0
-2
-19
-3
-13
0
0
0
0
-4
135
0
3
0
0
0
-7
0
0
0
0
0
0
2
0
3
1
5
63
18
2
24
0
-19
-2
0
2
0
0
0
0
-6
-21
0
-1
0
0
0
-40
0
0
0
0
0
0
0
0
-39
64
-42
8
13
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
40
-23
0
0
-9
0
9
16
45
7
-10
-12
0
17
26
55
19
20
54
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
30
5
20
-69
-21
0
0
0
22
0
1
-5
-16
3
0
5
9
-40
-35
11
7
-17
0
69
0
0
0
0
0
0
0
0
-10
0
-1
0
0
0
-25
0
-4
0
0
0
3
0
0
93
-44
-3
-10
78
-1
2
0
85
0
0
0
0
0
0
0
0
24
0
-1
0
0
0
-10
0
0
0
0
0
1
0
0
-3
-16
-3
5
-18
9
1
0
10
0
0
0
0
0
0
0
0
-23
0
-8
-1
0
0
3
0
0
0
0
0
-23
0
0
-55
64
30
-53
49
-9
4
0
-16
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
15
-23
-17
20
-50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-1
-16
-24
-10
-13
0
-1
0
-32
-4
-45
-38
0
45
0
1
8
17
-5
-4
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
54
0
0
-3
0
0
-3
0
18
-1
-3
-13
-3
0
0
-3
19
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
26
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-79
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
47
4
-1
0
0
0
-29
0
9
0
0
0
0
0
0
39
11
-9
7
-37
0
2
0
-2
0
0
0
0
0
0
0
0
25
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
-5
1
0
-20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
55
-43
-14
-11
14
0
-3
0
1
0
0
1
-33
-8
0
19
98
-32
12
64
4
16
0
9
0
0
0
0
0
0
0
0
38
41
4
36
26
0
14
0
-3
0
1
4
5
-107
0
57
3
1
11
25
-7
23
0
78
0
0
0
0
0
0
0
0
-27
4
5
-3
-87
0
6
0
0
0
0
0
70
-13
0
43
47
-9
13
70
5
17
0
-14
0
0
0
0
0
0
0
0
-46
-6
14
-92
-5
0
4
0
0
0
0
0
-2
10
0
26
20
7
33
6
-7
35
0
-7
0
0
0
0
0
0
0
0
17
31
-5
32
37
0
-6
0
0
0
0
0
-9
15
0
16
34
-6
0
89
-31
-3
0
-14
0
0
0
0
0
0
0
0
-67
-4
4
-37
0
0
7
0
0
0
0
0
7
0
0
91
-17
-27
8
70
-20
45
0
40
0
0
0
0
0
0
0
0
2
0
0
-45
0
0
-23
0
0
0
0
0
0
0
0
-8
60
-33
-13
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-42
0
0
-10
0
23
-34
23
47
-36
-34
0
52
10
1
0
46
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
6
6
-24
10
0
-4
0
0
0
0
0
-8
-7
0
10
1
21
23
11
-154
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
3
0
4
0
0
0
7
0
0
0
0
0
0
0
0
-31
51
-8
-35
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
20
-76
-24
30
25
0
-1
0
0
22
12
-32
-11
-22
0
-23
-9
10
-18
3
-38
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
3
-2
0
-4
0
13
0
0
0
-31
0
0
54
31
0
-1
-46
29
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
12
0
-2
0
0
0
0
0
0
-28
10
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-2
0
0
-12
0
0
0
0
0
0
0
0
-3
68
9
0
-5
-2
0
0
9
0
0
0
0
0
0
0
0
59
0
-10
-29
0
0
41
0
-2
0
0
0
0
0
0
40
12
34
-22
-7
-6
-29
0
-52
0
0
0
0
0
0
0
0
-16
0
0
-8
0
0
-33
0
10
0
2
0
-3
0
0
37
-12
-11
36
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
2
0
2
-68
-67
0
1
0
0
0
0
0
-4
0
0
-40
-5
22
23
7
50
-1
0
12
0
0
0
0
0
0
0
0
43
7
4
-29
-60
0
-6
0
0
0
0
0
79
-13
0
40
0
-14
3
46
9
-6
0
1
0
0
0
0
0
0
0
0
46
0
0
19
-54
0
-15
0
0
0
0
0
4
0
0
43
37
1
41
38
47
57
0
20
0
0
0
0
0
0
0
0
18
-1
0
-24
-8
0
14
0
0
0
0
0
-6
0
0
33
-8
2
4
10
2
-2
0
-4
0
0
0
0
0
0
0
0
50
5
0
-9
73
0
1
0
0
0
0
0
104
49
0
76
41
8
17
-45
39
34
0
4
0
0
0
0
0
0
0
0
18
0
2
7
-2
0
-32
0
0
0
0
0
0
0
0
23
37
6
26
16
20
-17
0
7
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
-9
0
0
0
0
0
0
0
0
-14
35
-25
-11
9
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-92
3
-68
-20
0
0
0
-23
8
95
-10
0
0
4
-7
0
21
42
-11
57
-81
-13
0
32
14
50
3
12
23
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-26
32
-41
37
0
0
0
-1
68
1
-3
0
0
10
-5
0
1
0
0
0
-6
-11
0
-29
-15
-29
-18
-13
-66
-70
0
-67
-4
0
0
0
0
0
0
3
54
-1
9
0
0
-1
-8
0
-11
0
0
0
0
4
0
-55
11
-29
50
-70
6
20
0
26
-8
-3
3
-5
0
0
0
8
-25
0
-3
0
0
33
-20
0
-2
0
0
0
12
0
0
30
-52
87
-13
-20
-159
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
5
2
0
3
0
0
0
-47
0
6
0
0
0
0
0
0
-18
9
8
30
-83
-8
3
0
-3
10
40
29
-1
0
0
0
33
30
34
9
0
0
-8
1
0
28
2
4
1
1
-56
0
12
0
1
11
22
28
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
59
-24
34
0
0
-2
46
0
1
0
1
0
-1
-2
0
5
18
-33
-10
-17
0
7
0
65
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
7
0
0
-3
0
0
0
-14
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
42
1
-2
-6
0
0
0
14
0
0
0
0
0
0
0
-8
-16
0
1
0
0
0
53
0
0
0
0
0
0
0
0
-1
13
3
0
0
1
0
0
-68
-8
0
0
0
0
0
0
-3
-15
0
16
0
0
0
20
0
-8
0
0
0
0
0
0
93
9
-17
12
37
0
-8
0
40
2
0
0
0
0
0
0
-2
38
0
1
0
0
0
0
0
13
0
0
0
0
0
0
-33
94
-21
-16
57
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
21
-21
-8
0
0
0
2
3
1
6
0
0
-30
3
0
0
0
0
0
-1
-8
0
21
-33
4
25
12
25
-4
0
19
-39
-78
3
-16
0
0
0
-23
-20
-25
-51
0
0
0
-3
0
0
0
0
0
46
-11
0
20
7
-1
13
36
-47
5
0
-10
-64
-25
0
-2
0
0
0
-115
44
0
0
0
0
2
22
0
0
0
0
0
8
0
0
16
16
-13
-19
51
2
-32
0
-2
-7
-15
-63
-13
0
0
0
-71
65
2
0
0
0
-9
7
0
0
0
0
0
7
23
0
-19
-21
9
33
-45
-30
39
0
1
-6
-73
-42
-47
0
0
0
13
-17
0
2
0
0
-71
0
0
0
0
0
0
-28
21
0
0
46
5
-59
53
49
-6
0
-12
-25
-3
-11
0
0
0
0
-8
121
0
3
0
0
0
14
0
0
0
0
0
0
2
0
7
-2
-3
68
38
2
-43
0
3
0
2
1
0
0
0
0
-15
-23
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
7
32
-30
-1
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
17
-6
13
16
0
3
0
23
2
3
3
-31
-7
0
1
-5
-53
49
-41
34
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-28
-2
4
-11
-5
0
-2
0
5
0
1
0
-17
0
0
43
-4
13
17
4
12
2
0
-18
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
5
-11
0
-12
-5
1
0
0
3
0
0
0
0
0
0
0
0
26
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-3
-42
-1
-2
-5
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
6
0
0
0
-40
0
0
0
0
0
-2
0
0
-28
-18
8
9
-26
6
-5
0
-13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
9
-5
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-10
19
-48
-11
-14
0
6
0
-7
1
9
8
42
48
0
22
-8
-51
-21
5
22
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
32
0
0
0
0
-1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
24
-2
-2
-26
-8
0
39
0
0
0
0
0
1
0
0
12
-51
26
-10
-45
-24
-14
0
24
0
0
0
0
0
0
0
0
-15
-12
18
-15
16
0
49
0
0
0
0
0
-12
0
0
48
-2
43
28
31
5
-17
0
35
0
0
0
0
0
0
0
0
12
0
0
3
-6
0
12
0
0
0
0
0
-6
0
0
25
-21
-26
-11
20
14
-5
0
-43
0
0
0
0
0
0
0
0
8
0
0
2
-29
0
2
0
0
0
0
0
0
-1
0
24
62
19
27
-7
-30
-4
0
24
0
0
0
0
0
0
0
0
38
13
-2
10
4
0
-1
0
0
0
0
0
12
0
0
42
22
-52
9
16
-14
-7
0
14
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
-51
0
0
0
0
0
0
0
0
45
-11
-16
-6
30
0
1
0
46
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-33
0
0
0
0
0
0
0
0
-7
-9
-6
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
-9
0
2
0
1
0
0
0
0
-1
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
-5
4
3
0
-20
0
0
0
0
0
1
0
0
36
-26
15
9
36
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-15
25
1
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-35
-17
-34
57
-15
0
1
0
12
5
5
2
-11
0
0
45
22
5
-2
2
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-15
0
1
0
0
0
0
0
0
8
17
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
32
-18
14
2
10
0
0
0
13
0
0
0
0
0
0
0
0
10
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-9
0
-17
-3
2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-22
-8
0
11
0
0
0
0
0
1
0
0
9
32
6
1
20
7
1
0
-21
0
0
0
0
0
0
0
0
-9
-1
-6
-40
19
0
1
0
0
0
0
0
-5
1
0
-22
0
-8
-19
45
4
10
0
-6
0
0
0
0
0
0
0
0
2
0
0
17
1
0
-29
0
0
0
0
0
0
0
0
17
12
1
-12
-8
5
-1
0
28
0
0
0
0
0
0
0
0
9
-1
0
-8
-7
0
-10
0
0
0
0
0
1
0
0
-14
-13
-49
9
40
-14
7
0
-27
0
0
0
0
0
0
0
0
39
0
-4
-29
7
0
42
0
0
0
0
0
0
0
0
-41
-45
1
61
-36
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
10
0
0
-13
0
0
0
0
0
0
0
0
6
10
-19
-6
26
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
30
7
0
-8
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
-9
-34
-37
0
0
0
-21
10
9
-21
0
0
30
7
0
25
1
-3
2
19
1
0
-4
29
17
-3
12
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-14
24
-16
21
0
0
0
26
-28
5
2
0
0
-14
14
0
-1
0
0
0
-4
0
0
-17
7
1
-62
56
1
20
0
0
-2
0
0
0
0
0
0
8
10
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-12
7
-15
57
-16
0
-4
0
12
-6
0
1
0
0
0
0
3
-30
0
2
0
0
0
-12
0
0
0
0
0
0
0
0
8
-14
47
-30
-6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
2
0
0
0
-26
0
0
0
0
0
0
0
0
-19
-5
-4
10
-6
-1
0
0
-16
5
-2
-18
12
0
0
0
4
-45
0
-26
0
0
-42
4
0
19
0
-3
-1
-34
-5
0
40
3
-14
26
46
8
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
0
-1
27
0
-1
-7
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-8
-1
0
1
0
0
0
7
0
0
0
0
0
0
0
0
-2
-15
14
1
-7
0
0
0
-36
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
42
0
0
0
0
0
0
0
0
2
20
5
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-29
0
-3
0
0
0
0
8
12
0
-1
0
0
12
15
0
0
0
0
0
0
0
0
5
-45
-16
2
-13
3
9
0
9
12
-33
69
8
0
0
0
15
29
-8
-22
0
0
-18
-8
0
0
0
0
0
16
2
0
3
-7
17
-17
-25
17
19
0
-30
10
0
0
-2
0
0
0
-10
-2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
-23
8
7
29
5
-4
0
27
25
8
-9
0
0
0
0
1
0
0
0
0
0
-23
3
0
0
0
0
0
0
0
0
7
-4
-5
45
-12
2
8
0
8
14
-4
4
-4
0
0
0
0
59
0
-1
0
0
-2
12
0
0
0
0
0
0
0
0
40
-16
7
-21
3
6
3
0
46
0
0
0
0
0
0
0
-6
0
0
2
0
0
0
14
0
0
0
0
0
0
0
0
-7
-7
11
0
4
0
-7
0
-36
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
10
16
27
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-7
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
4
9
2
-18
7
0
17
0
-4
0
3
0
5
-7
0
-68
26
8
-44
-43
-32
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
24
0
0
2
-1
0
-7
0
0
0
0
0
0
0
0
40
0
22
-42
-18
-3
5
0
6
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
-22
0
0
0
0
0
0
0
0
10
-2
-10
-8
0
1
27
0
-58
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-5
0
0
0
0
0
0
0
0
0
0
-55
12
0
-2
0
0
-43
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
-1
1
2
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
36
-8
2
0
0
0
-13
39
0
4
0
0
-7
2
0
39
-8
-1
10
6
9
0
24
-37
-60
6
-57
-10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
5
2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
34
-4
0
-16
0
-1
-6
0
0
-6
25
0
-15
-14
8
-43
42
-63
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-68
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-13
1
-36
33
0
5
0
0
0
0
0
-8
1
0
-34
-22
8
91
37
-23
26
0
0
0
0
0
0
0
0
0
0
-32
-28
-8
0
0
0
-79
0
0
0
0
0
0
0
0
7
-10
-13
-22
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-31
0
0
0
0
0
0
0
0
0
-4
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
21
0
0
0
0
0
0
0
0
-3
19
-29
-1
-29
-10
-1
0
0
0
0
0
0
0
0
0
0
-4
29
1
-27
-3
0
2
0
0
0
0
0
3
-1
0
-21
7
-4
-53
-41
-11
-31
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
8
-30
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-73
-4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
0
-2
-9
0
-55
41
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-35
1
2
3
16
0
26
0
0
0
0
1
-5
11
0
-21
-61
-66
-4
-29
18
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
2
13
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
42
-3
3
-1
23
30
73
0
-35
0
0
0
0
0
0
0
0
-40
0
0
40
-47
0
-29
0
0
0
0
0
10
0
0
-106
0
-47
1
-34
-1
-23
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
5
32
0
83
-3
0
1
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
20
-10
5
-32
41
10
2
0
12
0
0
0
0
0
0
0
0
3
2
0
4
1
0
25
0
0
0
0
0
-17
0
0
41
-21
-17
6
-56
-9
-95
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-8
3
0
-15
-8
0
-5
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
31
0
-7
-1
2
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-40
-73
-10
-31
8
-31
34
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
9
8
-15
-27
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-24
24
170
0
-51
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-19
-27
-44
4
-14
0
0
0
-95
-44
4
3
0
0
-97
6
0
-46
0
20
0
-10
-17
0
-12
-27
-1
-97
-24
12
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
43
16
-23
1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-2
0
0
0
0
0
0
-1
30
-50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-30
27
1
0
0
0
0
0
9
0
0
0
0
1
15
0
0
0
0
0
0
2
0
-27
-16
-5
-38
15
-4
-2
0
11
-48
70
4
1
0
0
0
8
-3
2
0
0
0
-8
2
0
0
0
0
0
-67
31
0
11
-66
8
6
23
10
46
0
5
1
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-38
-29
2
-48
-67
-33
-23
0
21
-8
-7
-10
0
0
0
0
3
0
0
0
0
0
18
-38
0
0
0
0
0
1
0
0
41
-41
3
-45
-40
-44
-41
0
-22
8
12
-5
0
0
0
0
-5
7
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-11
-21
1
-3
-58
7
21
0
2
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-23
6
-1
2
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-2
-4
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-10
-56
0
0
27
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
4
0
18
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-1
-24
-37
31
0
0
0
14
0
0
0
40
-27
0
65
23
0
0
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
7
30
0
21
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
4
0
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
-28
-15
0
1
0
0
0
0
0
55
5
0
-84
-21
113
3
-9
-13
-31
0
0
0
0
0
0
0
0
0
0
18
0
-6
8
0
0
-54
0
0
0
0
0
0
0
0
12
5
31
-65
8
-45
22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
-7
1
-3
18
10
-19
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
15
0
0
0
0
0
0
0
0
10
-16
-1
-16
16
-44
9
0
0
0
0
0
0
0
0
0
0
-22
-1
0
-5
8
0
24
0
0
0
0
0
-21
0
0
15
-7
58
19
0
0
11
0
0
0
0
0
0
0
0
0
0
40
0
0
-7
0
0
10
0
0
0
0
0
0
0
0
53
-22
-21
-1
23
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-22
41
12
-9
56
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
43
-22
0
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-8
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
5
0
0
-27
-20
0
3
0
15
0
1
0
39
49
0
-11
12
-45
8
0
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
0
0
-33
12
0
24
19
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
-4
7
0
-23
0
0
0
0
0
0
0
0
12
-13
10
64
-6
-3
-16
0
-54
0
0
0
0
0
0
0
0
-30
0
0
-10
4
0
0
0
0
0
0
0
-1
4
0
-18
0
-24
-70
4
-29
-15
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
35
2
0
-12
-4
0
-1
0
67
0
0
0
0
0
0
0
0
0
0
0
-22
8
0
10
0
0
0
0
0
-1
0
0
-17
-8
-17
-11
0
15
-27
0
2
0
0
0
0
0
0
0
0
-1
0
0
33
5
0
2
0
0
0
0
0
0
-1
0
-73
-2
-12
-5
3
-11
94
0
-41
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-11
0
0
0
0
0
0
0
0
-31
-4
0
13
4
0
9
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-10
0
0
0
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
15
0
0
0
0
0
0
0
0
16
-15
13
5
56
-5
-49
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
-2
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-36
-3
0
31
14
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-7
-3
0
0
2
0
0
0
-1
15
5
16
19
0
0
0
14
11
5
0
0
0
25
-1
0
58
0
0
-3
-2
28
0
9
-5
-25
-4
15
25
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-9
5
0
4
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-3
0
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
3
-6
5
0
0
0
-5
-1
0
0
0
0
-4
24
0
0
0
0
0
0
-4
0
-12
-14
1
3
32
-34
26
0
-17
-56
-40
-6
-25
0
0
0
44
21
-1
0
0
0
13
-14
0
0
0
0
0
9
-29
0
6
-28
-14
1
-49
28
-21
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
50
-12
5
26
-13
25
-13
0
8
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
43
0
0
0
0
0
0
0
0
72
10
-2
53
-2
-1
3
0
0
42
-13
5
0
0
0
0
-8
4
0
0
0
0
-4
11
0
0
0
0
0
0
0
0
-21
-52
-10
-1
48
-37
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-23
-18
-1
-12
-4
0
38
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-20
7
-1
12
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
26
-24
0
8
25
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
35
1
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-4
7
52
40
0
0
0
0
0
0
0
-27
16
0
-3
-43
-9
10
-2
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
46
-2
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
20
2
0
-2
0
0
0
0
0
-8
1
0
1
-42
5
66
6
-61
7
0
0
0
0
0
0
0
0
0
0
15
0
3
-1
0
0
2
0
0
0
0
0
1
0
0
-14
-130
2
35
-55
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
-75
0
0
0
19
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
-16
7
-2
-3
-19
1
2
0
0
0
0
0
0
0
0
0
0
-30
0
-1
3
0
0
-54
0
0
0
0
0
8
-1
0
-26
11
1
51
-14
-65
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-47
12
-1
11
-48
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-28
0
0
-19
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
34
18
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
16
14
0
-13
0
0
0
0
0
0
14
0
1
-33
-6
-8
-4
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
14
1
0
0
-4
-4
-1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
1
0
0
-1
-1
0
17
0
0
0
0
0
-3
0
0
9
-16
0
1
-4
4
-25
0
42
0
0
0
0
0
0
0
0
1
0
0
-4
13
0
-2
0
0
0
0
0
-5
0
0
-1
0
-16
-19
-78
-7
14
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-25
3
0
0
6
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-33
3
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
11
-1
-26
-24
-26
-20
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
49
0
0
0
0
0
0
0
0
28
-2
0
-1
15
0
-9
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
95
0
0
0
0
0
0
0
0
2
4
5
-21
18
0
26
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
19
3
0
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
9
-1
0
0
51
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
3
0
-6
-27
-8
13
-16
0
0
0
25
56
0
-2
0
0
6
-1
0
0
0
0
0
8
-9
0
-44
5
-70
-42
5
-8
-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
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
10
0
-1
-1
24
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-8
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
8
-25
-14
-39
-28
23
29
0
33
3
-1
-1
-10
0
0
0
-25
-72
0
0
0
0
-23
4
0
0
0
0
0
-1
-6
0
-48
-24
-145
15
-4
-69
30
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
24
14
0
-5
44
0
0
0
-50
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-62
16
-25
-35
14
8
33
0
-24
6
0
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-13
23
67
-2
5
7
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
59
-7
6
-13
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
53
20
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-23
6
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
25
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
0
-2
43
0
7
0
0
0
0
0
36
-7
0
-7
38
4
-6
6
20
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
2
0
-20
0
0
0
0
0
0
0
0
1
8
21
27
-109
10
27
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
57
0
0
0
0
0
0
0
0
11
-19
3
-1
37
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
36
4
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-21
-6
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
14
0
0
0
0
0
0
0
0
12
-29
-3
18
17
-27
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
4
-20
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
13
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
51
-27
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
2
0
0
0
0
0
0
0
0
-2
-1
0
-45
-31
-47
9
9
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-3
-1
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-50
0
0
0
0
0
0
0
0
38
8
1
24
-3
8
5
0
24
0
0
0
0
0
0
0
0
7
0
0
4
6
0
-1
0
0
0
0
0
-2
0
0
-6
0
-21
33
-155
2
-32
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
29
-15
0
69
10
29
12
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
-1
0
-1
38
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
33
24
0
8
-4
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
12
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
8
0
0
0
12
-10
-1
0
0
0
20
8
0
0
0
0
0
0
-8
0
-26
-9
-23
-16
-73
-49
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-36
-7
-24
-17
-17
12
-6
0
22
26
0
-1
0
0
0
0
-5
2
0
0
0
0
-6
24
0
0
0
0
0
0
0
0
-37
4
-50
-22
-120
-70
-38
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-7
-3
0
-1
6
0
0
0
-4
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-26
1
29
-41
-4
-7
-10
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-41
0
0
-1
2
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-10
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
-1
-2
0
4
2
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
68
0
9
1
2
0
-21
1
0
2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-16
-2
0
-1
-6
1
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
22
0
-4
0
-2
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
37
0
7
-3
18
4
0
-3
0
14
3
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
10
-2
-1
-4
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
24
0
8
11
15
-8
14
-1
0
3
-30
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
0
-8
1
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-14
-16
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
2
0
0
0
4
3
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-1
12
2
-2
0
0
0
16
0
-14
0
0
0
-2
-1
0
1
12
3
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-17
0
0
0
0
-1
0
0
0
-3
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
3
1
0
0
72
0
5
0
0
0
2
0
0
-3
13
-3
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
26
0
0
0
0
0
0
0
0
-2
50
-5
4
20
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
27
-3
1
0
0
0
-2
0
0
0
0
0
2
1
0
1
-24
4
9
-26
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-3
-5
0
10
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
-31
0
0
0
0
0
5
1
0
-6
-3
-1
-19
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
76
0
0
0
0
0
0
0
0
-4
30
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
19
0
0
0
0
0
1
1
0
-17
1
3
1
5
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
22
38
0
3
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
1
0
0
0
0
0
52
0
0
0
0
0
0
0
0
4
-14
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
-8
-6
-3
0
0
0
35
0
0
0
0
0
0
-1
0
-11
39
9
-10
6
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
-19
0
0
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
16
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
25
-6
-30
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
3
-8
0
-1
26
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
12
-14
6
0
0
26
0
0
0
0
0
13
9
0
16
-40
-8
13
-3
-70
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
3
0
0
0
-54
0
0
0
0
0
0
0
0
-3
-23
0
0
-49
-2
0
0
-34
0
0
0
0
0
0
0
0
-22
0
2
-6
0
0
-5
0
0
0
0
0
1
0
0
7
27
17
16
-5
-8
19
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
1
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
14
0
0
-1
3
0
0
25
0
0
0
0
0
0
0
0
-20
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
3
1
3
-11
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-8
-21
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
1
-1
1
0
-11
0
0
0
0
0
0
1
0
-16
3
5
29
22
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
0
0
0
0
4
12
0
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
21
0
0
0
0
0
0
0
0
15
0
-9
-68
-43
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
25
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
15
-26
0
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
20
-4
0
20
8
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
5
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-41
-42
5
23
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
38
31
4
-13
16
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-3
0
-15
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-11
-5
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
0
0
-27
-5
-17
-1
6
0
0
0
8
4
1
1
0
0
0
9
0
0
0
0
0
-8
-1
0
37
16
-44
-6
60
-44
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-19
32
4
29
-3
0
-3
0
32
-4
-2
-3
0
0
0
0
-2
-13
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-14
-10
-24
-40
-40
-7
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
2
9
0
-11
-10
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
29
13
6
0
6
0
0
0
7
-1
0
0
0
0
0
0
-1
1
0
0
0
0
0
68
0
0
0
0
0
0
0
0
-21
9
-3
14
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
6
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
21
-14
-18
40
13
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
41
22
0
6
12
10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-23
-1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-10
3
-19
4
-3
0
1
0
0
0
0
0
-48
0
0
-22
33
-2
4
-12
8
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
-23
19
4
32
-3
-6
3
0
10
0
0
0
0
0
0
0
0
-40
0
9
0
0
0
-8
0
0
0
0
0
-13
0
0
-2
-10
-12
19
4
48
2
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-87
0
0
0
0
0
0
0
0
-7
-2
0
1
-53
11
0
0
8
0
0
0
0
0
0
0
0
3
-2
0
-2
0
0
27
0
0
0
0
0
3
0
0
-12
17
-27
-19
62
40
-8
0
-68
0
0
0
0
0
0
0
0
26
0
0
0
0
0
9
0
0
0
0
0
-3
0
0
36
8
-8
-22
5
-48
-1
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
-13
0
13
39
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
21
0
0
0
0
0
-6
0
0
12
-6
3
0
-17
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-24
1
0
-1
0
0
0
0
0
4
4
0
-4
-39
6
-14
20
5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
29
-1
0
0
25
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-11
0
0
0
0
0
-3
0
0
47
-5
12
-27
-10
78
30
0
0
0
0
0
0
0
0
0
0
12
-1
0
9
-8
0
-5
0
0
0
0
0
35
0
0
15
0
-46
-2
8
-5
-28
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
10
0
0
0
0
0
0
0
0
59
-3
-1
4
10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-46
7
1
4
31
29
-2
0
0
0
0
0
0
0
0
0
0
-12
2
0
2
0
0
16
0
0
0
0
0
3
-1
0
56
13
-1
1
17
39
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-33
-3
0
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
0
0
0
6
-1
0
0
0
2
1
0
0
0
0
0
-3
0
0
43
-7
-27
-40
-9
4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-21
-21
-4
28
-4
-26
-2
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-18
3
2
0
5
0
-1
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-28
9
-21
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
49
0
0
0
1
0
2
0
0
37
0
24
-8
0
0
0
-11
-16
8
0
0
0
3
-7
0
0
0
0
0
9
3
0
5
-6
24
29
-19
37
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
28
0
-6
0
-6
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-1
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
0
0
0
0
0
6
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
13
14
-20
-38
-26
-22
22
0
3
-48
8
-29
-2
0
0
0
23
-32
-2
0
0
0
-5
-5
0
0
0
0
0
-6
20
0
19
-28
26
-42
0
-29
-16
0
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
13
2
3
-7
-13
-5
-2
0
-39
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
26
0
0
0
0
0
0
0
0
66
-2
4
1
4
0
8
0
-10
18
4
5
0
0
0
0
7
-10
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-24
2
28
59
-20
-15
-23
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
-20
1
-8
-17
1
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
43
-1
-3
0
72
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
-4
-1
0
2
0
0
0
0
0
33
-3
0
11
-49
-16
52
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-33
-51
1
3
-11
29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
2
-3
0
-24
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
40
24
0
-12
18
0
-2
0
0
0
0
0
60
-4
0
2
-75
15
10
1
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
4
0
-53
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
14
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
19
-17
0
21
13
0
7
0
0
0
0
0
64
0
0
1
10
43
-9
22
55
-2
0
-26
0
0
0
0
0
0
0
0
-8
-3
0
1
0
0
-87
0
0
0
0
0
-14
0
0
-29
-85
23
-53
1
-12
-46
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-5
0
0
0
0
0
1
-1
0
10
19
-13
18
16
38
-32
0
12
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
61
-18
-4
0
-40
0
0
0
102
0
0
0
0
0
0
0
0
41
23
0
10
-2
0
2
0
0
0
0
0
9
-1
0
-26
-21
-81
21
8
27
12
0
11
0
0
0
0
0
0
0
0
29
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-24
-44
-5
-3
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-12
5
-19
0
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
144
-1
17
-50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
-1
0
0
0
0
0
56
46
0
-3
-53
1
-5
-2
-11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
43
0
0
0
0
0
0
0
0
-42
0
12
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-1
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
-4
0
0
0
0
0
0
0
0
8
-27
-2
17
3
-13
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-29
0
1
0
0
0
0
0
-55
-1
0
-3
0
18
1
1
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-11
0
0
0
0
0
0
0
0
1
13
8
59
6
-9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
10
0
0
0
0
0
-1
0
0
13
-17
-68
9
1
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-2
0
7
0
0
0
0
0
-12
0
0
-6
-34
-62
12
-54
-7
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-7
0
0
0
0
0
0
0
0
-22
-3
-38
-5
4
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-18
0
0
18
-7
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
0
0
0
0
0
0
0
0
0
0
8
36
-15
1
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-30
-8
-13
6
-68
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-9
-31
1
-29
6
-26
-5
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
0
0
0
0
0
0
0
0
25
0
-33
-14
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
0
0
0
0
0
0
0
-18
-1
182
30
16
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-16
-57
28
6
0
0
0
-40
0
0
0
0
0
-49
-3
0
0
0
0
0
-56
8
0
-39
-82
-1
-9
1
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-1
-19
5
15
0
38
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-6
0
-51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
5
48
-15
5
0
0
0
-4
0
0
0
0
0
-6
16
0
0
0
0
0
0
4
0
-73
-61
-15
3
13
-7
32
0
-16
7
6
29
-41
0
0
0
-12
0
0
0
0
0
-30
0
0
0
0
0
0
24
6
0
-11
-33
9
3
0
18
43
0
30
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-41
-15
41
10
7
-59
0
-16
-20
-14
-14
0
0
0
0
24
0
0
0
0
0
22
-7
0
0
0
0
0
1
-1
0
-30
-15
1
-32
-24
-14
-5
0
9
41
-37
-1
1
0
0
0
-15
0
0
0
0
0
-12
-4
0
0
0
0
0
-2
-6
0
22
-65
2
-4
1
12
-1
0
22
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-20
9
-1
-19
20
0
27
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-45
8
-6
20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
26
9
-12
-1
-45
-48
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
5
0
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
3
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
32
43
0
0
0
0
0
0
0
19
3
0
-1
-114
37
-8
-35
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
-3
0
0
0
0
0
0
0
0
-1
-57
47
5
-53
-69
-42
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
0
0
0
0
0
0
0
0
10
4
50
7
-30
3
1
0
13
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
4
0
0
0
0
0
0
0
0
-1
-25
-8
-43
39
-17
27
0
17
0
0
0
0
0
0
0
0
0
0
0
28
-22
0
0
0
0
0
0
0
28
14
0
-9
-58
27
-18
-39
-7
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
40
-47
66
-6
-32
-9
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-35
-33
26
20
-6
0
-51
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-23
0
40
-50
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
11
0
-49
5
0
0
3
0
0
-13
39
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
-1
-4
0
0
10
0
0
0
0
0
0
0
0
0
63
-23
-6
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-17
94
28
-40
-37
0
-5
0
47
46
-5
49
7
10
0
-68
-11
-4
34
26
-12
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
-20
-1
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
5
10
37
-7
0
0
0
0
16
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
16
0
0
0
0
0
0
0
0
1
20
3
0
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
103
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
0
0
0
0
0
0
0
0
0
-117
-26
-2
2
3
0
0
63
0
0
0
0
0
0
0
0
43
0
-8
15
-14
0
3
0
0
0
0
0
-1
1
0
47
0
-10
45
51
-13
9
0
-1
0
0
0
0
0
0
0
0
-3
0
0
-16
-27
0
1
0
0
0
0
0
0
0
0
48
-45
-47
-26
-21
4
49
0
77
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
-1
0
0
0
0
0
0
0
0
3
-17
-11
8
0
-4
0
0
-32
0
0
0
0
0
0
0
0
-5
0
0
-3
-1
0
-10
0
0
0
0
0
0
0
0
-19
5
39
-34
-16
-5
32
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-2
2
32
1
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
34
-27
46
0
0
0
-11
-44
53
14
0
0
-50
-8
0
18
-1
1
24
-42
-15
0
31
-23
1
11
17
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-17
8
0
0
0
-33
0
1
0
0
0
0
0
0
0
-77
-113
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
4
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-53
2
0
19
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
19
-7
-4
-2
0
-4
0
13
1
4
-4
-27
-38
0
-91
3
-4
-40
-98
13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-13
0
0
0
0
-22
0
2
0
0
0
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
57
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
79
0
0
0
0
0
0
0
0
0
-2
-26
0
8
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-44
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
9
-26
13
0
5
0
0
0
0
0
7
7
0
-58
7
-7
-26
-1
33
-32
0
0
0
0
0
0
0
0
0
0
25
2
-36
7
2
0
-4
0
0
0
0
0
-12
-3
0
41
13
-9
0
-36
-11
6
0
0
0
0
0
0
0
0
0
0
51
0
0
8
0
0
12
0
0
0
0
0
0
0
0
1
-81
30
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
4
3
30
8
0
0
0
0
0
0
0
0
0
0
8
20
1
-6
19
-14
-7
0
0
0
0
0
0
0
0
0
0
-73
-58
-30
5
-9
0
5
0
0
0
0
0
-7
1
0
50
44
-2
-28
0
-79
-72
0
0
0
0
0
0
0
0
0
0
35
0
0
2
0
0
-15
0
0
0
0
0
0
0
0
-2
21
26
34
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
50
8
-4
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
60
-17
6
-1
15
4
0
-12
-30
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
1
1
0
-3
0
0
0
0
0
-4
0
0
-14
-44
-2
6
71
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-12
8
0
-47
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
39
-10
-31
13
49
0
18
0
6
-27
23
-37
23
13
0
27
-11
9
-11
62
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
98
0
0
0
0
0
0
0
0
-1
-29
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
3
48
1
39
-39
0
-2
0
56
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-35
0
-3
0
0
0
0
0
0
0
-7
0
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-10
0
0
-18
0
0
26
0
0
0
0
0
0
0
0
2
2
-2
13
59
-32
12
0
-8
0
0
0
0
0
0
0
0
-40
-8
2
37
-104
0
-35
0
0
0
0
0
-1
1
0
-6
0
-23
6
43
66
-53
0
40
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-14
58
2
29
-8
13
10
0
28
0
0
0
0
0
0
0
0
1
0
0
2
-7
0
-23
0
0
0
0
0
0
0
0
56
23
6
-32
59
-7
-8
0
-13
0
0
0
0
0
0
0
0
-48
5
0
43
-14
0
5
0
0
0
0
0
14
0
0
-29
-13
-19
-1
-41
19
-5
0
61
0
0
0
0
0
0
0
0
3
0
0
1
0
0
22
0
0
0
0
0
0
0
0
34
-58
-3
74
-41
0
25
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
16
29
0
0
-9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
0
0
0
0
0
19
0
13
24
23
4
13
1
0
-5
-16
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-10
-30
4
0
0
0
-38
-16
3
42
0
0
-17
-10
0
0
0
0
0
2
1
0
-46
-24
-93
-18
-15
-59
-11
0
-11
-3
0
0
0
0
0
0
1
2
-1
4
0
0
0
-41
0
-8
0
0
0
0
0
0
-43
-21
-40
-41
-71
2
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-92
13
29
-24
-33
-91
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
9
30
8
1
1
0
0
0
-19
1
8
14
-32
0
0
0
-46
-7
8
-34
0
0
-13
-1
0
39
-44
12
-3
-32
62
0
9
-1
-3
24
4
-33
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
-28
-2
1
49
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
120
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
15
0
0
0
0
0
0
0
0
102
25
-17
10
26
0
0
0
30
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
21
0
-13
0
0
0
0
0
0
-1
100
28
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
47
-8
0
0
0
0
2
24
0
0
0
0
6
42
0
0
0
0
0
0
2
0
2
39
13
78
-1
-12
67
0
-21
-7
43
12
14
0
0
0
-94
-24
-3
-9
0
0
15
-5
0
0
0
0
0
6
-1
0
30
8
3
9
15
-16
13
0
-1
-10
-5
-1
-2
0
0
0
-5
-9
0
0
0
0
5
32
0
0
0
0
0
5
0
0
23
-51
15
-14
-10
-4
38
0
28
-94
-18
-12
0
0
0
0
-82
0
0
0
0
0
58
20
0
0
0
0
0
1
3
0
-36
-12
7
-10
43
7
39
0
-6
23
-61
-20
1
0
0
0
-45
3
0
0
0
0
-44
-8
0
0
0
0
0
-4
-1
0
48
6
7
5
12
81
11
0
-11
-1
5
-8
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
17
50
18
-7
-9
0
-19
0
28
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
-4
-32
-37
0
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
10
5
0
0
-37
0
1
0
0
0
-2
0
0
-22
-79
-5
2
46
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
23
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
-1
0
-61
0
0
0
0
0
0
0
0
1
1
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
-11
0
0
0
0
0
0
0
0
41
66
0
-40
89
42
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
-12
0
56
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
28
27
12
-15
0
-2
0
-13
-10
14
-36
-66
-10
0
-20
-18
-10
-3
4
6
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-65
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
9
0
0
0
0
0
0
0
0
4
17
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
1
0
15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-72
6
-18
-53
0
2
0
0
0
0
0
39
-15
0
-10
13
-49
19
40
6
46
0
0
0
0
0
0
0
0
0
0
47
-3
-23
13
4
0
31
0
0
0
0
0
-4
-3
0
9
7
62
16
-13
-1
-83
0
0
0
0
0
0
0
0
0
0
-5
0
1
-7
0
0
24
0
0
0
0
0
0
0
0
15
-25
-6
-26
120
38
-8
0
0
0
0
0
0
0
0
0
0
-18
0
4
-2
0
0
2
0
0
0
0
0
0
0
0
8
92
-1
9
-23
-8
42
0
0
0
0
0
0
0
0
0
0
41
24
-8
68
19
0
-12
0
0
0
0
0
-26
4
0
-22
8
10
37
-21
4
1
0
0
0
0
0
0
0
0
0
0
23
0
0
-41
0
0
-22
0
0
0
0
0
0
0
0
-106
-70
23
-41
-16
-7
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-25
0
0
0
0
0
0
0
0
-5
-7
8
-5
72
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-33
0
14
0
2
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
3
0
0
0
0
0
0
0
0
-6
-70
-1
4
-23
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
18
13
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-70
-10
24
-59
28
0
1
0
7
0
-6
-2
-56
-63
0
12
24
-8
29
-12
18
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
-8
0
0
0
0
0
0
0
0
-2
32
0
2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
17
0
0
1
0
0
0
19
0
0
0
0
0
0
0
0
-3
0
0
-18
0
0
52
0
0
0
0
0
0
0
0
-22
-12
-2
2
61
0
-4
0
-23
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
54
0
0
0
0
0
0
0
0
-25
-6
0
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
30
0
0
-9
22
0
38
0
0
0
0
0
0
0
0
-20
15
-5
10
56
-34
-1
0
-3
0
0
0
0
0
0
0
0
-40
0
-3
-49
-51
0
-10
0
0
0
0
0
23
-2
0
28
0
37
30
-24
-35
30
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
36
0
0
0
0
0
0
0
0
47
-17
-2
-2
15
1
-1
0
-37
0
0
0
0
0
0
0
0
2
0
0
-70
-3
0
21
0
0
0
0
0
-5
0
0
-54
-14
-18
2
12
16
15
0
5
0
0
0
0
0
0
0
0
41
0
0
43
62
0
10
0
0
0
0
0
20
0
0
43
17
-3
80
-7
29
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
75
14
-1
-97
-25
-2
-47
0
41
0
0
0
0
0
0
0
0
0
0
0
4
0
0
21
0
0
0
0
0
0
0
0
-20
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
-1
0
0
0
33
0
10
1
-1
-2
0
0
0
10
-16
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-6
1
-12
0
0
0
-48
19
-7
-6
0
0
43
-11
0
-1
0
0
0
0
-2
0
-18
-16
45
10
10
-13
-21
0
43
0
0
0
0
0
0
0
0
4
0
0
0
0
0
40
0
0
0
0
0
0
0
0
13
4
-1
-53
12
2
8
0
0
0
-2
0
-4
0
0
0
0
-8
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
31
-19
5
58
19
6
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-11
10
-1
19
-40
-7
0
0
-3
69
99
-7
-5
0
0
0
20
-18
-20
15
0
0
12
2
0
57
46
-2
13
41
-38
0
-18
1
-18
-2
5
11
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
0
3
0
0
0
-22
0
0
0
0
0
0
0
0
-7
33
0
-23
-29
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-69
-7
0
0
0
0
0
0
3
6
0
4
0
0
0
29
0
0
0
0
0
0
0
0
60
-49
0
27
21
0
-8
0
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
-28
0
-11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-3
-45
-50
4
0
0
0
-47
0
0
1
0
0
-59
-14
0
0
0
0
0
0
-9
0
23
5
-32
1
-17
-10
-30
0
-16
-70
-3
-48
10
0
0
0
37
63
-2
-9
0
0
26
8
0
0
0
0
0
7
-5
0
14
36
-9
5
41
-11
18
0
-34
3
0
0
1
0
0
0
-18
3
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-7
-65
2
9
1
9
9
0
4
12
5
0
1
0
0
0
5
16
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-12
-41
5
6
-95
-7
-27
0
-3
-98
-31
19
-19
0
0
0
-2
46
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
-4
-48
67
5
-12
57
7
0
-22
-5
0
0
0
0
0
0
-3
53
0
2
0
0
0
-11
0
0
0
0
0
0
0
0
64
-16
-1
30
36
0
41
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-29
7
0
-17
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
13
8
0
0
-16
0
-2
0
0
0
-1
0
0
6
-57
0
-7
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
1
-1
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
75
0
0
0
0
0
0
0
0
1
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
11
48
0
-26
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-48
-8
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-10
8
18
135
0
-1
0
-8
0
10
18
-4
1
0
2
2
-86
7
-35
-15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-31
6
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-5
0
-22
39
0
7
0
0
0
0
0
32
4
0
12
24
76
16
-13
29
69
0
0
0
0
0
0
0
0
0
0
30
-1
-2
-41
14
0
4
0
0
0
0
0
5
-5
0
-25
8
52
26
-9
34
25
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-7
0
0
-7
0
0
0
0
0
0
0
0
20
17
0
23
10
-40
1
0
0
0
0
0
0
0
0
0
0
-49
-1
0
-2
0
0
-8
0
0
0
0
0
0
0
0
9
-48
-5
34
26
36
31
0
0
0
0
0
0
0
0
0
0
-29
2
19
-47
17
0
14
0
0
0
0
0
-10
0
0
6
-43
19
22
35
26
-22
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
-73
0
0
0
0
0
0
0
0
48
41
25
-16
38
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
5
0
0
0
0
0
0
0
0
10
75
1
-40
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
-22
0
0
0
0
0
1
0
0
1
-13
2
-22
13
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
-9
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-10
-17
32
56
51
0
-11
0
-11
0
0
0
-18
29
0
-5
-9
33
-13
0
14
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
13
-5
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
67
24
0
0
44
1
-1
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
32
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
5
0
-1
-5
-37
0
-23
0
0
0
0
0
-1
0
0
-12
-20
-20
22
-46
1
35
0
12
0
0
0
0
0
0
0
0
46
0
0
-19
13
0
6
0
0
0
0
0
-5
1
0
14
0
8
42
14
-16
-26
0
-90
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-34
0
0
0
0
0
0
0
0
-16
4
0
0
8
0
0
0
16
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
-21
0
0
0
0
0
0
0
0
20
-91
0
5
-12
36
5
0
0
0
0
0
0
0
0
0
0
25
0
0
-18
-1
0
11
0
0
0
0
0
7
0
0
-22
4
-14
111
29
-13
10
0
-30
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
13
0
0
0
0
0
0
0
0
-52
21
0
-10
25
5
5
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
47
-3
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-14
0
19
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
-3
0
2
9
0
0
0
6
18
0
-9
0
0
-1
-3
0
0
0
0
0
1
0
0
-13
95
47
-39
13
80
-49
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
33
-13
0
-23
25
0
8
0
0
-1
0
0
0
0
0
0
0
10
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
22
39
-1
-1
-1
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
5
-5
0
-4
2
0
3
0
-1
-41
-5
21
69
0
0
0
86
-15
23
-32
0
0
-70
3
0
-53
0
20
3
-59
17
0
-3
-45
-28
14
21
35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-27
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-8
-8
1
-9
6
0
0
0
36
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-5
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
2
14
-6
0
0
0
3
-16
0
0
0
0
-15
21
0
0
0
0
0
0
9
0
-4
-10
55
38
26
53
-36
0
17
35
-22
-11
-27
0
0
0
-12
19
7
3
0
0
-12
6
0
0
0
0
0
-31
2
0
22
-30
-17
17
-5
39
6
0
81
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
31
52
-3
-9
25
-2
-4
0
21
-23
0
-17
0
0
0
0
32
-6
0
0
0
0
-48
-2
0
0
0
0
0
0
-3
0
4
14
52
-6
-23
13
26
0
-4
44
6
6
-4
0
0
0
-30
-84
0
-1
0
0
8
6
0
0
0
0
0
0
0
0
31
-5
90
29
9
-128
-11
0
32
0
0
0
0
0
0
0
5
8
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-76
16
8
31
-6
1
-31
0
5
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
27
76
4
-4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-6
0
0
65
0
0
0
0
0
0
0
0
-35
10
0
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-1
21
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
70
-19
1
0
-24
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
36
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-2
2
-12
0
-6
0
7
0
0
0
58
9
0
-1
-26
22
33
-2
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
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
127
1
2
-9
20
0
5
0
0
0
0
0
12
0
0
-13
-53
-48
42
10
41
-31
0
0
0
0
0
0
0
0
0
0
91
0
17
-33
-16
0
9
0
0
0
0
0
13
0
0
-38
-3
6
0
71
-9
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
58
36
0
-1
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-2
-28
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
25
3
-2
-13
0
0
11
0
0
0
0
0
0
0
0
42
55
13
-47
-8
-47
23
0
0
0
0
0
0
0
0
0
0
-16
0
0
-2
0
0
44
0
0
0
0
0
0
0
0
-30
-16
3
-3
17
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-9
-30
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
94
0
0
0
0
0
0
0
0
61
-51
0
-5
-12
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
8
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
96
0
-1
-57
-36
0
-21
0
0
0
0
0
-1
0
0
50
-5
-11
-28
-28
-31
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-21
-36
0
0
-2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
-25
0
0
4
0
0
0
0
0
0
0
0
76
71
31
-3
-27
45
27
0
-12
0
0
0
0
0
0
0
0
29
0
0
-52
8
0
8
0
0
0
0
0
-2
0
0
-28
0
8
-4
67
4
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
1
0
0
43
0
0
0
0
0
0
0
0
9
46
0
1
14
0
-2
0
25
0
0
0
0
0
0
0
0
4
0
0
-7
0
0
9
0
0
0
0
0
0
0
0
8
4
-28
-15
26
-17
-11
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
3
-6
0
21
7
3
7
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
2
1
1
0
0
0
0
6
32
0
-2
0
0
-1
13
0
0
0
0
0
0
0
0
71
-41
-2
22
-2
4
12
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
-13
7
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
25
-42
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
-6
-54
-47
17
-22
0
0
0
27
28
8
9
0
0
14
-4
0
-11
0
0
0
6
-45
0
-16
-16
-1
30
-69
33
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-31
15
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
8
0
-4
0
0
0
0
0
0
0
1
0
0
-3
-18
0
0
0
0
0
0
0
0
-8
20
-67
-43
33
5
9
0
-17
-58
-96
-7
-5
0
0
0
19
-7
-1
0
0
0
-50
13
0
0
0
0
0
0
30
0
-17
-44
54
33
-4
-66
-35
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-6
34
0
0
7
3
0
0
-31
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
70
0
0
0
0
0
0
0
0
6
-39
4
4
31
1
0
0
8
-33
0
1
0
0
0
0
68
3
0
0
0
0
12
19
0
0
0
0
0
0
0
0
19
0
23
-4
-12
-2
-17
0
-11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-10
-23
5
5
-5
1
15
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
-15
10
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
15
0
32
0
0
0
29
5
0
-15
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-26
-16
17
-1
0
0
36
0
-2
0
0
1
10
-23
0
-14
0
0
0
-22
30
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-32
0
0
4
0
20
9
9
-18
32
2
0
12
7
-8
0
37
21
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-49
18
-6
0
0
0
15
8
0
-4
9
6
22
-5
-20
0
48
27
1
0
53
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
0
-1
0
0
10
0
-9
-16
-24
-67
-5
25
0
14
11
0
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
11
12
2
4
0
0
14
0
48
0
-13
21
-20
0
0
-13
-30
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
45
-14
-50
-1
0
2
0
23
27
1
-2
-44
14
0
31
-59
25
-12
-71
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-14
0
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
56
0
1
0
0
0
-1
0
3
38
-17
7
14
14
0
-6
-11
-3
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
143
0
2
0
0
0
0
0
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
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-84
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
23
6
-31
0
0
2
23
0
18
6
12
13
-44
-24
0
62
-16
0
3
-24
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-20
0
20
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
2
0
0
-7
0
-7
9
-4
3
37
-11
0
27
1
-14
2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
13
0
3
0
1
0
0
0
0
0
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
32
1
-6
-9
1
0
27
0
-1
-6
-10
3
-46
1
0
3
4
14
1
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
48
0
0
-3
0
0
-10
0
10
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-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
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
34
-5
-8
0
4
0
4
0
0
8
35
0
0
-44
-30
21
0
-41
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-10
-27
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
1
0
0
2
12
2
0
21
84
-13
-25
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
1
16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
27
17
37
20
0
0
0
27
0
29
0
-22
12
-56
12
0
-31
5
-21
1
77
-1
-14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
18
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
-8
0
0
4
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
-3
0
0
0
-27
0
-5
0
0
-2
-33
1
0
2
2
34
-33
32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-12
0
1
0
-1
0
-8
0
-6
0
0
-1
3
0
0
-25
85
0
0
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
44
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
14
-14
-11
-94
31
0
6
0
16
0
8
5
-6
10
0
11
-9
7
43
-3
-60
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
1
-4
0
0
45
0
0
0
0
0
0
0
0
-8
-25
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
1
0
0
0
0
20
0
0
0
0
0
0
0
0
3
21
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
-6
-2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
9
19
13
18
0
-12
0
0
0
0
0
-5
-1
0
26
36
-5
51
-34
-55
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
5
0
0
0
0
0
0
0
0
-26
-6
0
0
-31
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
15
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
74
0
0
0
0
0
0
0
0
-2
-28
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-51
0
6
0
0
0
14
0
0
0
0
0
0
-1
0
18
13
3
21
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-6
44
1
2
0
0
-5
23
0
0
0
0
0
2
-1
0
-3
39
4
-11
3
3
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
22
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
-56
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
0
70
-9
-34
16
0
0
-10
4
0
0
0
0
0
-7
-51
0
-42
5
12
-37
26
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
4
-40
0
-3
0
0
0
4
0
0
0
0
0
1
0
0
-16
-4
-1
18
25
0
6
0
46
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
-38
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
0
0
0
0
0
1
5
0
6
-4
0
0
0
-40
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-11
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
14
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-3
6
0
-7
0
0
0
19
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
13
-5
0
0
-10
0
0
0
0
0
20
-5
0
-15
-6
-45
0
31
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
23
1
-13
-8
0
0
15
0
0
0
0
0
0
0
0
5
-16
25
9
3
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-41
0
0
0
0
0
0
0
0
0
-34
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
38
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
35
-5
-8
-35
52
0
-7
0
0
0
0
0
2
23
0
-26
13
-25
18
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
55
0
3
-1
-3
0
0
81
0
0
0
0
0
0
0
0
59
-3
17
-58
0
0
-2
0
0
0
0
0
-9
0
0
50
37
30
-6
-95
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
24
0
0
0
0
0
0
0
0
1
50
2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
1
0
0
-2
-3
0
17
0
0
0
0
0
1
0
0
20
18
5
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
13
0
0
0
0
0
1
0
0
71
-4
0
-3
-38
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
19
-18
49
10
0
-24
0
0
0
0
0
31
15
0
39
-8
49
18
50
54
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-4
43
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
12
-3
0
8
8
0
0
0
0
0
0
0
0
0
0
0
14
0
-31
6
0
0
39
0
0
0
0
0
0
0
0
-96
0
44
44
18
3
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-1
-7
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
74
0
0
0
0
0
0
0
0
7
29
2
-20
-44
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-8
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
0
0
48
3
3
-6
0
0
0
-11
0
0
0
0
0
0
0
0
27
-16
22
37
2
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
1
0
0
0
-24
24
1
24
0
0
-24
33
0
0
0
0
0
2
0
0
38
-7
-4
13
14
19
-8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-27
-1
1
3
0
0
0
5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
48
0
0
0
0
0
0
0
0
5
-12
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
2
0
0
0
9
0
0
0
0
0
0
0
0
0
-31
0
1
0
0
0
0
-31
-43
3
12
4
0
0
0
14
-46
-32
-47
0
0
8
3
0
0
0
0
0
4
-3
0
33
9
17
28
-1
69
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
43
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
-32
0
0
0
0
0
0
0
0
0
-20
0
1
14
0
0
0
54
0
0
0
0
0
0
0
17
55
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
-13
-41
-26
-30
129
0
17
0
88
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
2
-10
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-19
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
27
-16
0
-2
-4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-49
0
0
0
0
0
0
0
0
-3
-8
0
0
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-20
-36
-39
0
0
9
0
0
0
0
0
0
8
0
71
-16
18
-90
-26
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-6
0
18
-6
0
0
1
0
0
0
0
0
0
0
0
51
-2
5
-24
-6
0
3
0
19
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
32
0
0
0
0
0
0
0
0
2
-11
0
1
-13
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
6
-15
-5
2
9
5
0
0
-3
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-14
-30
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-44
18
-17
62
24
0
3
0
0
0
0
0
10
-43
0
11
6
-21
-32
25
-100
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-55
2
0
1
0
0
22
0
0
0
0
0
0
0
0
-30
4
-3
6
-32
-26
0
0
5
0
0
0
0
0
0
0
0
9
40
-36
-21
-16
0
-13
0
0
0
0
0
39
1
0
-12
4
-2
-22
19
15
-35
0
-67
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
31
0
0
0
0
0
0
0
0
25
-17
0
0
34
2
0
0
-7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-49
0
0
-7
3
0
0
-5
0
0
0
0
0
0
0
0
-47
16
-8
-5
0
0
30
0
0
0
0
0
9
0
0
-30
-30
-18
-3
-3
-6
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
4
0
0
4
0
0
0
0
0
0
0
0
4
12
0
0
8
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-26
0
8
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
17
0
0
0
0
0
0
0
0
-45
-18
5
35
-23
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-2
-25
0
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-33
10
-56
7
0
0
0
0
0
0
0
0
-14
0
-7
1
-51
27
21
-29
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-51
0
0
0
0
0
0
0
0
-37
-3
0
-17
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
-28
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
-15
0
0
0
0
0
0
0
0
-37
-16
0
78
0
22
2
0
0
0
0
0
0
0
0
0
0
18
-2
0
-30
3
0
16
0
0
0
0
0
0
1
0
18
0
33
25
0
4
-59
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
42
0
0
0
0
0
0
0
0
-4
-30
0
-43
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
-21
-7
5
20
-22
0
1
0
0
0
0
0
0
0
0
0
0
33
0
2
0
0
0
-25
0
0
0
0
0
0
0
0
1
-29
1
15
-14
75
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
28
27
-1
-48
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-1
12
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
-7
0
0
0
0
35
46
2
4
0
0
2
-9
0
0
0
0
0
0
-3
0
-14
-25
99
73
-50
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-7
4
20
2
0
0
0
-12
6
0
-5
0
0
0
18
0
0
0
0
0
-2
-1
0
100
27
54
38
39
-12
-13
0
53
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
13
-16
0
18
6
-1
0
0
-35
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-101
-67
-8
-4
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
-6
4
0
-6
-4
0
0
0
-16
14
12
-87
-1
0
0
0
-38
25
17
10
0
0
-62
0
0
0
0
0
0
-62
-10
0
-23
2
-57
18
9
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
37
-19
0
-13
-1
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
-1
0
0
0
0
5
1
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-18
18
-3
26
-85
0
-8
0
5
11
-68
20
-5
0
0
0
-45
-30
-2
2
0
0
-10
20
0
0
0
0
0
-8
0
0
29
-29
-42
18
-54
0
22
0
33
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-68
-5
0
-24
37
-2
0
0
-16
17
4
-5
0
0
0
0
10
-21
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-69
-3
13
-1
-37
-6
5
0
36
9
3
-8
0
0
0
0
30
10
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
-39
-52
12
81
-18
-21
1
0
-36
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
-19
49
1
31
7
0
-3
0
17
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-13
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
45
5
-30
-2
0
-15
0
0
0
0
0
23
17
0
19
-12
-35
7
16
37
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
-36
21
2
-7
-63
19
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
2
7
0
2
9
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
-28
0
1
-23
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-33
26
1
9
73
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
4
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-24
17
21
-1
-5
0
-7
0
0
0
0
0
-4
-4
0
9
-4
27
-8
15
18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
63
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
37
8
-1
74
-17
0
48
0
0
0
0
0
0
0
0
17
25
-28
56
-3
53
15
0
-17
0
0
0
0
0
0
0
0
-16
2
47
-31
23
0
2
0
0
0
0
0
-9
-43
0
14
-8
4
-9
16
-36
52
0
23
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
26
0
0
0
0
0
6
0
0
62
-18
-5
21
1
-4
0
0
31
0
0
0
0
0
0
0
0
1
-5
4
10
-1
0
1
0
0
0
0
0
-1
0
0
22
-15
60
38
12
7
9
0
13
0
0
0
0
0
0
0
0
-6
-1
0
-9
-2
0
27
0
0
0
0
0
0
0
0
3
-1
24
25
-41
12
45
0
48
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
-27
0
0
0
0
0
0
0
0
-12
-8
6
6
5
0
2
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-9
27
0
-2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
1
0
0
-5
0
0
0
0
0
-5
-2
0
-29
11
-9
-45
-3
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-7
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
13
0
21
41
0
-8
0
0
0
0
0
-16
1
0
-3
7
-23
-46
0
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
4
-11
9
5
27
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-2
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
19
0
0
9
0
0
0
0
0
-1
0
0
23
11
0
-36
29
-37
53
0
0
0
0
0
0
0
0
0
0
-30
-7
0
77
-28
0
3
0
0
0
0
0
9
1
0
10
0
43
66
10
-12
30
0
0
0
0
0
0
0
0
0
0
-22
0
0
8
0
0
8
0
0
0
0
0
0
0
0
10
11
0
46
22
40
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-40
0
0
0
0
0
0
0
0
53
24
5
18
62
7
-24
0
0
0
0
0
0
0
0
0
0
-62
4
0
56
-1
0
-8
0
0
0
0
0
26
5
0
11
7
50
73
7
31
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
-37
0
0
0
0
0
0
0
0
-27
-17
-8
27
0
14
35
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
44
0
0
0
0
0
0
0
0
-18
28
0
0
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
14
-19
-37
0
0
0
20
-69
-13
0
0
0
-16
-1
0
0
0
0
0
-14
-1
0
-16
33
-79
16
18
36
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
5
-12
2
0
0
0
28
-7
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
-58
-12
-50
12
-75
-24
-36
0
73
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-5
23
0
-10
-18
1
26
0
-18
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
-20
26
-21
9
6
-41
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
53
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
20
1
-3
0
-36
-7
3
0
-5
52
26
50
27
0
0
0
25
-57
31
0
0
0
11
-4
0
0
0
0
0
58
37
0
-1
0
34
-33
10
41
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-6
-2
19
0
19
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-15
0
1
8
14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-17
2
33
-7
0
0
0
9
24
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
37
42
29
41
20
26
26
0
-9
-31
36
-59
57
0
0
0
59
3
-5
0
0
0
28
3
0
0
0
0
0
18
-26
0
-2
27
-4
8
-1
9
-48
0
-4
0
0
1
0
0
0
0
2
7
0
0
0
0
-1
-9
0
0
0
0
0
5
0
0
47
48
-4
-20
-30
22
-15
0
-35
1
0
0
1
0
0
0
-1
4
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
31
-9
-3
10
14
-2
31
0
-3
-4
22
85
2
0
0
0
-26
19
0
0
0
0
18
7
0
0
0
0
0
0
1
0
18
-6
-12
-10
9
16
9
0
-12
0
0
-3
0
0
0
0
2
63
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
27
22
8
31
31
1
35
0
2
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
14
3
5
4
47
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-74
0
46
-24
0
-8
0
0
0
0
0
-4
-59
0
10
65
27
9
-13
-35
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-9
-75
-66
-29
12
7
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-27
1
-1
2
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-2
0
0
69
40
7
-3
-17
-44
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
7
-7
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
30
0
61
19
0
-5
0
0
0
0
0
8
8
0
5
9
9
-13
12
41
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
25
2
-2
0
-38
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
49
10
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
-30
0
-12
54
0
5
0
0
0
0
0
11
6
0
12
53
25
20
21
-21
0
0
68
0
0
0
0
0
0
0
0
-28
-5
0
85
0
0
-2
0
0
0
0
0
-19
0
0
6
9
10
23
56
2
-1
0
69
0
0
0
0
0
0
0
0
3
0
0
34
0
0
12
0
0
0
0
0
3
-1
0
0
122
30
-46
-2
-44
-7
0
-24
0
0
0
0
0
0
0
0
-14
0
0
3
0
0
-36
0
0
0
0
0
0
0
0
-45
29
-36
-8
-73
-14
0
0
-25
0
0
0
0
0
0
0
0
11
-13
0
86
-14
0
0
0
0
0
0
0
-2
2
0
-8
54
38
32
8
-11
-31
0
9
0
0
0
0
0
0
0
0
9
0
0
22
0
0
-13
0
0
0
0
0
0
0
0
2
24
30
36
-8
-3
-37
0
37
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
17
0
0
0
0
0
0
0
0
-60
13
-42
8
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
0
0
0
56
-17
16
0
64
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
4
0
-7
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
-9
-24
0
-2
-47
2
-13
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
11
0
16
28
15
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
5
5
1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-4
0
17
0
0
0
0
0
0
0
0
-3
10
33
10
-18
-6
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-41
0
-8
0
0
0
0
0
22
-6
0
25
0
-15
6
22
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-51
0
-14
0
0
0
0
0
0
0
0
-3
-9
28
-7
29
5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
36
0
7
0
0
0
0
0
-2
0
0
-17
-39
-2
-8
-10
1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
0
7
0
0
0
0
0
63
8
0
0
9
-73
0
88
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
3
0
0
0
0
0
0
0
0
3
-16
50
32
-60
-1
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-61
0
0
0
0
0
0
0
0
12
0
1
-3
-24
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
13
6
63
0
0
0
-104
0
0
0
0
0
-20
-22
0
0
0
0
0
-10
2
0
-32
-85
-50
9
89
43
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-3
-23
0
0
0
0
0
-2
0
0
0
0
0
4
-54
0
0
0
0
0
0
0
0
-95
-45
-38
-63
-64
-10
-40
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-49
0
-57
-84
-26
0
0
0
12
2
0
1
0
0
0
0
0
0
0
0
0
0
8
24
0
0
0
0
0
0
0
0
64
18
71
8
24
-69
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
8
0
1
5
0
0
0
0
-4
17
18
43
-12
0
0
0
-55
0
0
0
0
0
40
0
0
0
0
0
0
28
13
0
-9
-55
-1
4
-26
-31
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-25
-6
-17
-6
16
0
-14
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
1
-2
7
-62
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
75
0
-30
0
0
0
0
20
0
0
0
0
0
-30
8
0
0
0
0
0
0
-1
0
17
-13
5
-5
-8
-41
42
0
9
-16
-32
-25
-46
0
0
0
-102
0
0
0
0
0
-11
-3
0
0
0
0
0
-12
44
0
7
14
15
13
10
-6
-3
0
-52
-30
-18
0
1
0
0
0
-35
0
0
0
0
0
4
16
0
0
0
0
0
0
0
0
19
-13
32
34
25
15
39
0
58
-86
-21
-38
0
0
0
0
-30
0
0
0
0
0
-21
4
0
0
0
0
0
5
27
0
52
13
8
-12
-14
39
4
0
-10
-27
-77
-52
-31
0
0
0
-26
0
0
0
0
0
-45
-12
0
0
0
0
0
-10
1
0
-10
49
8
6
-17
-5
-20
0
-127
-12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
52
-31
12
-49
-39
0
-52
0
6
1
0
0
0
0
0
0
12
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-29
10
-22
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
-33
0
0
0
0
0
4
0
0
-2
30
29
-1
47
40
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
29
0
-8
-35
14
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
-3
0
-2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-1
0
0
0
0
0
-50
37
0
-6
-23
-19
-10
24
-34
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
7
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
-9
0
0
0
0
0
0
0
0
6
-76
70
12
30
41
7
0
-60
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
26
0
0
0
0
0
0
0
0
38
25
-23
43
51
21
40
0
28
0
0
0
0
0
0
0
0
0
0
0
-39
-31
0
-11
0
0
0
0
0
4
0
0
34
-21
-4
33
14
33
11
0
-6
0
0
0
0
0
0
0
0
0
0
0
-10
27
0
1
0
0
0
0
0
-7
3
0
11
42
-38
5
62
19
-6
0
14
0
0
0
0
0
0
0
0
0
0
0
-15
-6
0
-18
0
0
0
0
0
0
0
0
-13
12
44
-30
-2
-15
29
0
15
0
0
0
0
0
0
0
0
0
0
0
5
0
0
13
0
0
0
0
0
0
0
0
1
-4
2
29
31
0
19
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
113
-2
16
-48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-18
0
16
2
0
0
-2
0
0
7
-29
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
-4
0
0
-2
0
0
0
0
0
0
0
0
-3
44
12
2
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
56
25
-12
-46
-59
0
-23
0
10
36
0
-25
28
22
0
-24
-19
-5
-10
-5
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
4
-1
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
10
20
-7
0
0
0
0
5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
1
-16
2
0
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
52
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
0
-72
32
0
2
3
0
0
32
0
0
0
0
0
0
0
0
64
0
-8
37
-1
0
-3
0
0
0
0
0
-1
1
0
83
0
-36
4
86
39
15
0
2
0
0
0
0
0
0
0
0
10
0
0
-35
-21
0
6
0
0
0
0
0
0
0
0
27
13
-42
11
-6
19
8
0
35
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
35
0
0
0
0
0
0
0
0
3
-22
18
0
0
-3
0
0
22
0
0
0
0
0
0
0
0
2
0
0
-4
-1
0
-21
0
0
0
0
0
0
0
0
-20
3
-26
19
-8
-4
18
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-2
0
7
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-93
3
-68
-20
0
0
0
10
-20
72
-20
0
0
-4
-8
0
11
-10
-34
18
-98
17
0
22
15
45
3
11
25
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-9
0
0
0
-54
0
1
0
0
0
0
0
0
0
-113
-87
-8
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
4
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
13
60
0
19
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
13
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-9
46
-8
0
-1
0
20
23
-3
-5
-3
-8
0
5
-12
-41
-47
49
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
0
0
0
0
-31
0
3
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
13
0
0
0
0
0
0
0
0
0
3
8
0
12
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
-41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
42
12
-61
9
0
-6
0
0
0
0
0
5
7
0
-30
57
-17
-43
-25
40
-7
0
0
0
0
0
0
0
0
0
0
23
24
-56
-3
-2
0
46
0
0
0
0
0
-17
-3
0
68
44
-14
59
-40
37
0
0
0
0
0
0
0
0
0
0
0
48
0
0
8
0
0
72
0
0
0
0
0
0
0
0
-4
-48
-11
5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-11
5
3
22
7
0
10
0
0
0
0
0
0
0
0
6
15
-8
4
20
-25
-7
0
0
0
0
0
0
0
0
0
0
-16
-32
-52
1
-13
0
4
0
0
0
0
0
7
0
0
9
17
-6
41
-37
-44
-17
0
0
0
0
0
0
0
0
0
0
46
0
0
2
0
0
-16
0
0
0
0
0
0
0
0
-2
-42
-9
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
29
-27
-4
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
23
0
-4
-13
3
-1
-7
-1
0
21
-4
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
1
1
0
-3
0
0
0
0
0
-4
0
0
14
-12
-2
66
68
-52
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-12
15
0
-53
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-18
-9
-37
46
55
0
7
0
-14
-13
3
7
17
10
0
-26
-12
53
-14
54
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-4
-6
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
50
0
0
0
0
0
0
0
0
6
23
1
5
-99
0
-2
0
40
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-28
0
-3
0
0
0
0
0
0
0
32
0
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-12
0
0
-53
0
0
18
0
0
0
0
0
0
0
0
4
48
-2
27
-2
-27
-5
0
46
0
0
0
0
0
0
0
0
-36
-5
2
-41
-35
0
-34
0
0
0
0
0
-15
1
0
-25
0
64
1
40
-45
-24
0
-14
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
-39
0
0
0
0
0
0
0
0
-9
62
2
-8
11
13
14
0
58
0
0
0
0
0
0
0
0
4
0
0
3
-7
0
-76
0
0
0
0
0
0
0
0
19
-6
5
-29
18
-15
-3
0
-41
0
0
0
0
0
0
0
0
5
5
0
78
-13
0
-9
0
0
0
0
0
18
0
0
24
39
-7
24
11
-5
0
0
65
0
0
0
0
0
0
0
0
2
0
0
1
0
0
59
0
0
0
0
0
0
0
0
20
-47
-3
16
-37
0
20
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-5
29
0
-1
-9
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
0
0
0
0
21
8
0
-18
6
35
-8
5
1
0
-7
-7
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
8
-8
-33
5
0
0
0
-48
3
4
27
0
0
-28
-7
0
0
0
0
0
-21
-2
0
-91
56
-55
14
-81
-85
-76
0
-16
-3
0
0
0
0
0
0
2
39
-1
4
0
0
0
-9
0
-3
0
0
0
0
0
0
-76
-22
-20
9
-99
2
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
32
0
0
0
0
0
0
0
0
8
17
70
-9
-1
-90
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-16
30
8
1
1
0
0
0
-12
-71
19
27
-65
0
0
0
32
29
12
-24
0
0
-34
4
0
37
-26
12
10
-70
69
0
-6
6
-2
37
21
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-14
-2
1
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
52
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
79
11
-10
12
1
0
0
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
57
0
-1
0
0
0
0
0
0
-1
59
-39
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
1
-8
0
0
0
0
2
8
0
0
0
0
6
13
0
0
0
0
0
0
2
0
8
35
9
71
21
-7
50
0
-2
-47
37
44
21
0
0
0
-67
20
-7
-10
0
0
15
-4
0
0
0
0
0
3
15
0
13
-7
-5
-3
56
-36
37
0
-16
-19
-5
2
-2
0
0
0
-8
10
0
0
0
0
5
32
0
0
0
0
0
5
0
0
18
-8
28
5
12
-21
14
0
51
-33
-31
4
0
0
0
0
-100
0
0
0
0
0
50
-1
0
0
0
0
0
1
0
0
-102
-16
10
-3
5
14
48
0
-8
59
-85
24
1
0
0
0
-47
-6
0
0
0
0
-51
-14
0
0
0
0
0
-4
-1
0
-11
-20
5
-45
16
64
-45
0
19
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
20
63
6
-3
-3
0
-16
0
10
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-14
-33
-12
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
28
2
1
0
-28
0
1
0
0
0
-2
0
0
-13
8
-6
-7
55
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
22
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
0
0
-1
0
-24
0
0
0
0
0
0
0
0
1
-5
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
0
0
0
-29
0
0
0
0
0
0
0
0
19
59
0
-94
59
33
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
-33
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
45
12
-27
0
-1
0
1
2
30
-18
-43
12
0
-3
-2
-27
-7
-35
10
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-25
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-2
0
0
-8
0
0
0
0
0
0
0
0
8
-14
0
4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
-47
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
-12
6
-68
0
0
0
0
0
0
0
54
-25
0
80
-7
-49
26
8
75
-10
0
0
0
0
0
0
0
0
0
0
1
5
-6
61
1
0
36
0
0
0
0
0
11
-4
0
17
27
112
62
106
-5
29
0
0
0
0
0
0
0
0
0
0
-12
0
1
-7
0
0
24
0
0
0
0
0
0
0
0
-12
-8
-7
27
66
15
-8
0
0
0
0
0
0
0
0
0
0
-8
0
5
-2
0
0
-19
0
0
0
0
0
0
0
0
-26
11
-1
43
-92
29
30
0
0
0
0
0
0
0
0
0
0
13
30
-33
57
19
0
-35
0
0
0
0
0
-29
4
0
16
13
25
16
67
2
-78
0
0
0
0
0
0
0
0
0
0
-6
0
0
-36
0
0
-11
0
0
0
0
0
0
0
0
-69
5
-8
26
55
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
-27
0
0
0
0
0
0
0
0
-39
-34
10
39
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-1
0
4
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
2
0
0
0
13
0
0
0
0
0
0
0
0
15
3
-1
-49
-20
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
6
15
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
3
-14
-5
97
-20
0
3
0
5
0
11
20
-29
-52
0
-4
-34
19
-27
12
-30
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
71
0
0
0
0
0
0
0
0
16
13
0
-9
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
-49
0
0
0
0
0
0
0
0
-3
0
0
-21
0
0
102
0
0
0
0
0
0
0
0
-34
-29
-2
8
71
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
70
0
0
0
0
0
0
0
0
-14
-16
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-2
0
0
14
-14
0
44
0
0
0
0
0
0
0
0
-37
16
-4
-25
40
55
-3
0
85
0
0
0
0
0
0
0
0
-22
0
-4
-6
-50
0
-6
0
0
0
0
0
20
-3
0
35
0
62
13
-35
-7
-46
0
30
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-15
0
0
0
0
0
0
0
0
39
-32
-2
38
5
1
-1
0
-77
0
0
0
0
0
0
0
0
2
0
0
-23
-32
0
6
0
0
0
0
0
-5
0
0
28
15
-11
-11
25
-20
-14
0
-16
0
0
0
0
0
0
0
0
-15
0
0
-74
76
0
6
0
0
0
0
0
6
0
0
40
-84
21
-9
-42
44
38
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
8
60
0
-31
33
-2
-32
0
36
0
0
0
0
0
0
0
0
0
0
0
4
0
0
17
0
0
0
0
0
0
0
0
5
1
0
0
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-1
0
0
0
26
0
10
1
0
4
0
0
0
-12
-20
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
-6
6
-8
0
0
0
11
-4
-7
1
0
0
58
-13
0
-1
0
0
0
0
-2
0
16
-52
54
-59
26
-25
-4
0
20
0
0
0
0
0
0
0
0
3
0
0
0
0
0
67
0
0
0
0
0
0
0
0
7
11
-1
-10
37
2
8
0
0
0
-2
0
-4
0
0
0
0
-33
0
1
0
0
0
6
0
0
0
0
0
0
0
0
53
-67
42
-30
10
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-10
9
-1
38
-30
-7
0
0
-7
64
70
-26
43
0
0
0
17
-7
-6
15
0
0
-40
5
0
4
30
-6
16
47
-30
0
-6
-5
8
9
58
-28
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
3
0
0
0
4
0
0
0
0
0
0
0
0
0
5
0
-15
-36
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-39
-7
0
0
0
0
0
0
3
-1
0
4
0
0
0
41
0
0
0
0
0
0
0
0
17
-9
0
2
-14
0
-8
0
45
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
17
7
0
-2
16
0
0
0
0
0
0
0
0
0
0
0
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
-61
-22
-45
5
0
0
0
-100
4
0
1
0
0
-45
1
0
0
0
0
0
0
-9
0
-33
-10
-17
23
-24
21
-14
0
-2
0
-10
-6
-4
0
0
0
-68
-46
-1
-12
0
0
62
0
0
0
0
0
0
11
-17
0
14
-12
38
22
11
-7
44
0
28
4
0
0
1
0
0
0
-25
1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-20
-45
-1
12
-17
24
19
0
-59
21
5
0
1
0
0
0
15
25
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
15
-79
8
-49
-83
-11
-9
0
-15
-81
-18
-9
-22
0
0
0
47
45
0
0
0
0
-4
8
0
0
0
0
0
0
1
0
-4
18
-10
-13
13
50
53
0
-13
-6
0
0
0
0
0
0
-3
54
0
2
0
0
0
45
0
0
0
0
0
0
0
0
50
-1
-1
27
61
0
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
4
-11
0
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-7
8
0
0
36
0
-2
0
0
0
0
0
0
-30
-79
0
25
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-10
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
1
-14
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
21
0
-1
0
0
0
0
0
0
-49
44
0
-9
-4
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
-34
-12
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
5
-26
90
0
-7
0
-46
0
2
11
-44
4
0
24
-6
-79
10
-18
74
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-4
-40
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-5
-1
39
28
0
2
0
0
0
0
0
1
4
0
-12
-40
73
-11
28
34
89
0
0
0
0
0
0
0
0
0
0
50
-2
7
-22
17
0
27
0
0
0
0
0
23
-4
0
-12
-28
41
-31
-52
-41
37
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-7
0
0
24
0
0
0
0
0
0
0
0
78
47
0
28
-70
-20
1
0
0
0
0
0
0
0
0
0
0
-47
-1
0
-4
0
0
22
0
0
0
0
0
0
0
0
33
7
-5
24
46
3
29
0
0
0
0
0
0
0
0
0
0
-14
0
27
-64
18
0
29
0
0
0
0
0
-10
0
0
54
23
54
-9
37
58
-20
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
0
0
-57
0
0
0
0
0
0
0
0
34
-13
25
-29
45
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
25
34
1
-32
35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-5
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
4
0
0
-12
0
0
0
0
0
1
0
0
14
-97
2
-11
30
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
12
5
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-46
-16
46
-32
27
0
15
0
9
0
0
0
-35
-6
0
-11
15
3
-8
1
-14
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
-4
7
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
10
0
0
0
0
0
0
0
0
29
49
0
0
14
1
-1
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
30
-20
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
6
0
-1
-30
-33
0
-24
0
0
0
0
0
-1
0
0
20
-68
-10
14
-8
-54
-1
0
-32
0
0
0
0
0
0
0
0
14
0
3
22
-5
0
12
0
0
0
0
0
40
0
0
-23
0
-21
28
33
11
52
0
19
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-68
0
0
0
0
0
0
0
0
4
64
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
31
0
0
0
0
0
0
0
0
15
-45
0
3
28
34
4
0
22
0
0
0
0
0
0
0
0
27
0
0
-4
-5
0
-2
0
0
0
0
0
7
0
0
-56
34
-1
36
7
-2
7
0
-56
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
-34
0
0
0
0
0
0
0
0
-30
18
0
-9
27
5
-3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
25
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
-13
0
33
0
0
0
0
0
0
3
29
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-14
1
-9
12
0
0
0
52
34
0
-14
0
0
-1
4
0
0
0
0
0
1
0
0
62
-40
36
-25
28
41
15
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
38
-26
0
12
-7
0
8
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
1
-31
0
0
0
0
0
0
0
0
-21
-4
-1
-2
-18
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
0
-4
1
0
3
0
-8
26
-45
0
67
0
0
0
9
8
23
-5
0
0
-22
9
0
-25
0
-14
-13
15
-36
0
33
-14
-30
23
-34
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-1
-9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
30
0
0
0
0
0
0
0
0
1
9
1
-9
54
0
0
0
27
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-4
32
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
2
18
-6
0
0
0
5
-9
0
0
0
0
-19
13
0
0
0
0
0
0
9
0
14
-10
71
36
-11
30
-35
0
12
-24
-48
-1
-60
0
0
0
25
1
6
3
0
0
-21
2
0
0
0
0
0
-18
-22
0
19
-7
-7
-36
-33
42
-47
0
12
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
26
0
0
0
0
0
0
0
0
3
13
-3
-28
9
-2
-4
0
-1
-5
0
-21
0
0
0
0
21
-5
0
0
0
0
-55
8
0
0
0
0
0
0
-3
0
24
-25
26
63
-10
-11
13
0
3
35
6
-18
-4
0
0
0
-84
-48
0
-1
0
0
11
-31
0
0
0
0
0
0
0
0
-13
43
68
17
-16
-50
-8
0
-34
0
0
0
0
0
0
0
5
8
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-47
-38
8
21
-14
1
-18
0
-14
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
29
64
0
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-6
0
0
31
0
0
0
0
0
0
0
0
-1
39
0
3
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
-1
21
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
46
-41
1
0
-13
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
28
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-17
48
-96
0
0
0
19
0
0
0
26
35
0
-20
-14
63
-14
22
-116
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
1
2
-48
20
0
21
0
0
0
0
0
0
0
0
16
-55
-39
26
25
17
-14
0
0
0
0
0
0
0
0
0
0
104
0
13
-35
-17
0
-9
0
0
0
0
0
14
0
0
76
-19
-7
-23
34
-8
-8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
8
24
0
-1
-37
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
4
-9
0
0
38
1
0
0
0
0
0
0
0
0
0
0
0
3
3
-2
-25
0
0
11
0
0
0
0
0
0
0
0
25
10
26
-69
39
-62
32
0
0
0
0
0
0
0
0
0
0
-16
0
0
-2
0
0
33
0
0
0
0
0
0
0
0
5
-1
3
-5
21
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-26
-16
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
55
0
0
0
0
0
0
0
0
-31
-15
0
-5
-40
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
36
0
-10
-35
-44
0
3
0
-2
0
0
0
-9
0
0
21
-5
11
-4
-14
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-15
-43
0
0
-2
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-2
0
0
-15
0
0
-14
0
0
0
0
0
0
0
0
-25
37
16
-31
-30
8
26
0
-39
0
0
0
0
0
0
0
0
40
0
0
-42
5
0
27
0
0
0
0
0
3
0
0
11
0
41
-39
51
-13
16
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-47
0
0
0
0
0
0
0
0
10
19
0
1
9
0
-2
0
7
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
22
0
0
0
0
0
0
0
0
-1
29
8
-19
3
-9
-12
0
32
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-14
0
0
0
0
0
0
0
0
18
0
0
18
9
3
4
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
2
1
1
0
0
0
0
1
46
0
-3
0
0
-1
8
0
0
0
0
0
0
0
0
-17
-40
-1
0
56
0
-1
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-5
7
0
0
-1
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
17
-28
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-1
-2
0
0
-3
0
0
0
-15
-25
-42
82
-33
0
0
0
-34
-32
6
0
0
0
14
8
0
17
0
0
0
-17
-29
0
-5
-16
-39
10
-30
50
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-21
30
0
0
1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
0
-4
0
0
0
0
-4
0
0
1
0
0
4
-11
0
0
0
0
0
0
0
0
-7
-16
-29
-47
27
-3
2
0
-29
-25
-67
-23
1
0
0
0
45
3
-1
0
0
0
-90
12
0
0
0
0
0
0
33
0
32
-1
36
-34
23
-43
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
2
45
0
0
7
3
0
0
-19
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
11
26
5
3
45
1
0
0
15
-24
0
-5
0
0
0
0
62
1
0
0
0
0
12
8
0
0
0
0
0
0
0
0
45
-10
7
-40
50
-17
-20
0
-101
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-16
-16
5
4
-4
1
17
0
101
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-9
10
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
0
-47
0
-13
0
0
0
1
1
0
23
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-21
-6
-3
-1
0
0
-32
0
-23
0
0
1
7
-14
0
23
0
0
0
29
9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-42
0
0
-10
0
23
-34
23
47
-36
-34
0
52
10
1
0
46
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-42
8
-5
0
0
0
0
-23
0
2
15
4
7
20
-4
0
35
80
17
0
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
-1
0
0
-16
0
55
-14
9
-36
6
9
0
-16
-12
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
26
12
2
-7
0
0
-19
0
4
22
56
-35
-31
21
0
24
-12
-1
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
36
-23
-76
-1
0
-23
0
41
23
26
-12
-22
2
0
-1
-41
-5
38
7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-55
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
0
0
0
0
0
-11
0
5
13
-15
15
9
-1
0
50
12
4
-37
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
54
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
3
12
5
-5
0
0
10
1
0
21
-5
-4
24
-56
-43
0
-16
38
0
35
46
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
12
0
0
0
0
0
55
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-14
0
11
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
3
-5
0
0
-11
0
1
28
28
-23
44
-7
0
6
-10
-3
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
14
0
11
0
1
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
5
1
-65
-51
-27
0
6
0
6
-2
-58
48
-2
-9
0
-14
26
10
1
-36
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
62
0
0
-3
0
0
12
0
6
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
43
-10
-9
0
-14
0
-34
0
0
-9
28
2
0
0
-16
27
18
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
29
0
0
0
0
0
0
0
0
12
-13
0
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
-7
0
2
0
0
2
-2
1
0
40
74
-18
-1
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
1
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
35
41
10
0
0
-17
-9
0
16
0
-1
1
-6
-6
0
-10
-69
20
-20
37
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
44
0
0
0
0
0
65
0
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
22
13
0
0
-9
0
-6
0
0
14
-36
2
0
21
-65
-26
-25
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
-11
-15
-1
0
5
0
5
0
0
-1
6
0
0
-16
57
0
0
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
40
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-23
-30
-61
44
0
-8
0
-15
0
-20
-25
-18
4
0
26
-13
60
28
59
-82
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-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
-2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
0
1
-4
0
0
31
0
0
0
0
0
0
0
0
-7
38
0
-1
-23
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-49
1
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
10
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
4
-20
-2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-5
18
-4
0
-17
0
0
0
0
0
31
-13
0
0
-21
-20
59
-36
-25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
-20
0
0
0
0
0
0
0
0
-20
31
0
-3
-12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
6
0
0
0
0
0
0
0
0
19
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
-28
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
-2
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
11
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
0
5
0
0
0
23
0
0
0
0
0
0
-1
0
42
23
-29
-20
-25
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
0
0
0
0
0
0
0
5
19
1
0
0
0
1
-4
0
0
0
0
0
2
-1
0
-20
16
-13
-3
4
3
0
0
-7
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
-13
0
2
0
0
0
0
30
0
0
0
0
0
0
0
0
-36
0
-1
0
0
0
-38
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-2
0
0
0
0
0
0
38
8
15
-36
0
0
-18
-11
0
0
0
0
0
-9
-11
0
-69
4
34
14
-8
-30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
4
-2
0
3
0
0
0
2
0
0
0
0
0
1
0
0
-11
49
-1
10
-7
0
6
0
-21
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
-34
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
52
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
0
0
1
29
0
6
-4
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
6
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
45
0
0
0
0
0
0
0
-3
8
0
-7
0
0
0
3
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
7
11
8
0
0
30
0
0
0
0
0
19
-5
0
1
-15
12
-55
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
0
0
0
0
0
0
0
0
32
1
3
-18
0
0
-30
0
0
0
0
0
-1
0
0
5
27
32
32
-41
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-29
0
0
0
0
0
0
0
0
0
-38
0
0
-7
0
0
0
27
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
1
0
0
1
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-19
-15
0
-15
117
0
-22
0
0
0
0
0
21
48
0
-30
20
-1
38
15
-15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
1
0
0
0
0
28
0
0
0
0
0
0
0
0
0
16
0
3
-1
-3
0
0
78
0
0
0
0
0
0
0
0
36
25
5
-50
0
0
26
0
0
0
0
0
-9
0
0
-23
-52
41
-29
-34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
43
0
0
0
0
0
0
0
0
1
13
2
0
0
0
0
0
17
0
0
0
0
0
0
0
0
15
0
0
-2
-3
0
8
0
0
0
0
0
1
0
0
24
51
5
5
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
26
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-9
0
0
0
0
0
1
0
0
74
23
0
-3
-57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
29
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-16
-24
49
2
0
-1
0
0
0
0
0
-7
8
0
-5
-13
15
14
27
65
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
21
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
15
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
1
-1
-3
0
9
8
0
0
0
0
0
0
0
0
0
0
0
11
0
-30
3
0
0
18
0
0
0
0
0
0
0
0
-94
0
-6
46
85
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-2
23
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
9
56
2
-22
-41
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-9
-27
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
0
0
37
16
5
-6
0
0
0
-1
0
0
0
0
0
0
0
0
2
-16
41
11
4
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
1
0
0
0
9
22
1
9
0
0
-48
35
0
0
0
0
0
-2
0
0
35
-28
-29
9
13
21
-6
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
-38
-1
1
4
0
0
0
35
0
0
0
0
0
0
0
0
19
0
0
0
0
0
49
0
0
0
0
0
0
0
0
15
-79
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
2
0
0
0
18
0
0
0
0
0
0
0
0
0
-38
0
1
0
0
0
0
-38
-18
3
42
12
0
0
0
18
-51
-54
-13
0
0
-10
10
0
0
0
0
0
31
-10
0
-31
-7
47
15
-8
15
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-16
0
0
3
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
-77
0
0
0
0
0
0
0
0
-1
54
0
1
-4
0
0
0
57
0
0
0
0
0
0
0
38
42
0
-13
0
0
0
-1
0
0
0
0
0
0
0
0
-5
9
-49
-39
40
0
14
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
2
28
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-23
0
0
6
0
0
0
56
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
15
6
0
-2
20
0
0
0
14
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-39
0
0
0
0
0
0
0
0
-3
-38
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-3
-68
-64
0
0
-12
0
0
0
0
0
0
7
0
-9
-2
-37
-71
17
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
9
0
15
-5
0
0
-26
0
0
0
0
0
0
0
0
15
-29
8
-27
10
-1
3
0
20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
1
-13
0
0
0
5
0
0
0
0
0
0
0
0
-9
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
7
71
-5
2
16
5
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
33
0
0
0
0
0
0
0
0
-8
-45
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
24
-25
23
31
5
0
-12
0
0
0
0
0
35
-70
0
14
-6
-50
-51
23
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-52
2
-1
2
0
0
11
0
0
0
0
0
0
0
0
-35
-9
-7
-3
31
-29
0
0
-36
0
0
0
0
0
0
0
0
-7
32
-62
12
-11
0
6
0
0
0
0
0
-17
-8
0
52
2
-1
-21
12
6
-46
0
-24
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
13
31
0
0
-2
2
0
0
-32
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-125
0
0
-1
3
0
0
24
0
0
0
0
0
0
0
0
-3
14
-8
-16
0
0
49
0
0
0
0
0
9
0
0
-54
-45
-25
-29
-2
-7
0
0
-17
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
1
15
0
0
25
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
3
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-4
0
0
-10
0
0
0
0
0
0
0
0
5
-4
5
-10
6
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-36
8
-31
2
0
-2
0
0
0
0
0
-7
-17
0
-50
5
-79
-28
-5
-50
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-52
0
0
0
0
0
0
0
0
-1
-29
0
-8
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
2
0
0
-76
0
0
0
0
0
0
0
0
-47
-35
0
31
13
25
2
0
0
0
0
0
0
0
0
0
0
20
1
0
-33
-1
0
-11
0
0
0
0
0
17
1
0
-6
0
63
12
-1
19
-30
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-55
0
0
0
0
0
0
0
0
-5
4
0
6
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
-11
-12
5
27
-72
2
1
0
0
0
0
0
0
0
0
0
0
39
0
2
-5
0
0
-2
0
0
0
0
0
0
0
0
-26
-10
7
14
12
36
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
8
-1
-1
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-1
22
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-47
12
0
0
0
20
3
2
4
0
0
2
-3
0
0
0
0
0
0
-3
0
-43
-8
1
84
16
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
-23
3
-15
2
0
0
0
-24
10
0
-5
0
0
0
36
0
0
0
0
0
-4
-1
0
34
15
35
17
48
-42
14
0
-32
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
26
0
35
4
-1
0
0
-38
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-71
-21
-7
3
-50
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-101
0
0
0
0
0
0
0
0
-6
-3
0
-6
-4
0
0
0
3
33
-46
-46
-15
0
0
0
-36
-8
0
59
0
0
-75
12
0
0
0
0
0
-44
-4
0
10
-16
-24
-40
-17
68
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
30
-9
0
-5
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
3
0
-1
0
0
0
0
8
6
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-5
-28
-5
-5
-29
0
-8
0
-8
-21
-16
35
-6
0
0
0
-26
-93
-3
3
0
0
-14
8
0
0
0
0
0
-1
0
0
10
-44
19
40
-37
-2
-9
0
35
1
0
0
-2
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-39
-47
0
-53
47
-2
0
0
-19
18
4
-5
0
0
0
0
4
-19
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-62
-25
12
0
-22
-7
2
0
-62
-3
3
-7
0
0
0
0
34
17
0
0
0
0
-7
-24
0
0
0
0
0
0
0
0
6
-50
13
33
-42
-34
1
0
-30
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-20
15
1
20
6
0
-3
0
26
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-3
-2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
18
4
-54
-3
0
-10
0
0
0
0
0
12
3
0
-15
3
12
-25
20
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
35
0
0
0
0
0
0
0
0
-74
14
2
-8
-22
20
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
8
0
2
9
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
3
-49
0
1
-21
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-35
22
1
13
61
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
4
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
7
10
24
53
-46
0
0
0
0
0
0
0
37
3
0
12
0
48
16
-6
-54
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-2
35
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
12
6
0
46
-15
0
38
0
0
0
0
0
0
0
0
57
48
-35
16
47
30
18
0
-10
0
0
0
0
0
0
0
0
11
1
67
-32
5
0
-9
0
0
0
0
0
31
-39
0
2
-3
3
16
2
5
1
0
44
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
59
0
0
0
0
0
6
0
0
49
-27
7
20
-5
-14
0
0
-42
0
0
0
0
0
0
0
0
-21
-5
4
-26
-1
0
-28
0
0
0
0
0
-2
0
0
-1
-37
39
44
53
-23
14
0
10
0
0
0
0
0
0
0
0
30
0
1
-10
-2
0
45
0
0
0
0
0
0
0
0
22
-14
30
-8
10
23
19
0
55
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
20
0
0
0
0
0
0
0
0
-12
-50
0
-10
50
0
2
0
26
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-8
70
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
17
0
0
0
0
0
-5
-2
0
-25
-3
-6
-39
-20
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-9
1
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
12
0
31
26
0
-7
0
0
0
0
0
-81
6
0
-4
5
-33
38
-15
15
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-17
16
1
-30
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
53
0
0
-13
0
0
0
0
0
-1
0
0
-20
3
-9
22
29
-38
10
0
0
0
0
0
0
0
0
0
0
-30
-10
0
54
-44
0
-1
0
0
0
0
0
-16
-1
0
12
0
13
4
17
-10
44
0
0
0
0
0
0
0
0
0
0
-13
0
0
14
0
0
-2
0
0
0
0
0
0
0
0
-1
21
-2
31
21
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-7
0
0
0
0
0
0
0
0
124
-23
0
9
39
17
-4
0
0
0
0
0
0
0
0
0
0
-20
4
0
44
-1
0
16
0
0
0
0
0
10
5
0
13
-18
15
88
25
32
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-2
38
-7
-15
-9
13
10
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
-38
0
0
0
0
0
0
0
0
-3
2
0
0
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
46
-14
-79
0
0
0
57
-16
-13
0
0
0
21
-4
0
0
0
0
0
-32
-1
0
-26
54
-12
-5
11
40
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
27
9
0
0
0
38
5
0
0
0
0
3
-36
0
0
0
0
0
0
0
0
-27
22
39
-45
-69
-61
-8
0
85
0
0
0
0
0
0
0
1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-4
33
-1
-8
-82
1
10
0
-26
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
-28
10
26
9
40
-45
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
1
-3
0
-40
-7
3
0
-9
-15
29
34
67
0
0
0
-5
-4
30
0
0
0
42
-5
0
0
0
0
0
51
24
0
8
25
-3
35
15
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-16
-2
-4
0
3
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-25
0
1
8
17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-8
2
45
-6
0
0
0
-5
-9
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
1
-11
69
13
32
60
0
-5
-13
20
-39
12
0
0
0
-51
0
-4
0
0
0
-8
0
0
0
0
0
0
-47
-1
0
-16
16
3
0
24
-10
-60
0
-31
3
0
2
0
0
0
0
-4
5
0
0
0
0
-1
-24
0
0
0
0
0
5
0
0
-13
28
-8
18
32
3
-17
0
47
1
0
0
1
0
0
0
0
5
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
-1
6
50
2
28
-2
5
0
33
37
8
68
2
0
0
0
13
4
0
0
0
0
-22
14
0
0
0
0
0
0
1
0
-6
-6
-17
-43
15
45
-1
0
-27
2
0
-3
0
0
0
0
0
59
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
13
25
13
30
33
1
12
0
-46
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
4
7
4
10
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-82
0
64
-28
0
-9
0
0
0
0
0
-37
-25
0
58
56
2
56
-38
24
-131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
56
0
0
0
0
0
0
0
0
45
13
-82
-18
50
13
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
24
1
-1
2
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-2
0
0
-4
41
28
-3
-52
-12
4
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
23
-7
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
29
23
0
50
-49
0
1
0
0
0
0
0
-17
45
0
-5
31
-4
-9
-6
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
24
2
-5
0
-20
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
24
10
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
11
-33
0
-44
23
0
-10
0
0
0
0
0
5
5
0
17
21
31
-19
20
-26
20
0
9
0
0
0
0
0
0
0
0
-4
-5
0
90
0
0
44
0
0
0
0
0
-14
0
0
59
58
-49
-1
92
-41
4
0
27
0
0
0
0
0
0
0
0
-31
0
0
26
0
0
-1
0
0
0
0
0
5
-1
0
20
16
22
-41
22
-35
7
0
16
0
0
0
0
0
0
0
0
-14
0
0
3
0
0
-7
0
0
0
0
0
0
0
0
-65
56
-1
-9
26
-10
0
0
-67
0
0
0
0
0
0
0
0
-19
-13
0
78
-9
0
-13
0
0
0
0
0
15
1
0
26
18
52
-14
25
4
-24
0
-54
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
73
51
-38
44
-27
-4
10
0
41
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
-23
0
0
0
0
0
0
0
0
-24
4
-43
7
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
0
0
0
0
0
0
0
0
-53
-19
19
33
83
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
4
0
-5
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
1
0
1
0
0
0
0
0
30
-28
0
5
0
25
-22
12
-11
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
14
0
-25
-21
43
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-22
0
0
0
0
0
0
0
0
9
5
0
33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-134
-41
0
25
0
0
0
0
0
0
0
0
5
31
53
12
-45
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
4
0
-5
0
0
0
0
0
61
-7
0
15
0
-11
2
11
-45
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-45
0
-14
0
0
0
0
0
0
0
0
30
0
-3
-10
31
24
46
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-8
0
-6
0
0
0
0
0
-2
0
0
-58
18
19
-23
26
-18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
47
0
0
0
0
0
0
0
43
-2
0
40
-28
-2
19
-4
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-32
0
0
0
0
0
0
0
0
12
-6
29
35
-40
-1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
44
0
0
0
0
0
0
0
0
-41
0
1
-6
-3
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-38
-11
19
0
0
0
-115
0
0
0
0
0
56
-28
0
0
0
0
0
-13
2
0
-3
-78
-8
6
51
48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-172
-3
-23
0
0
0
0
0
-4
0
0
0
0
0
5
-40
0
0
0
0
0
0
0
0
-93
-72
-25
-60
-56
4
-90
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-43
0
-14
-51
-26
0
1
0
28
2
0
1
0
0
0
0
0
0
0
0
0
0
8
25
0
0
0
0
0
0
0
0
78
1
90
-93
36
-67
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
16
0
0
9
0
0
0
0
1
44
9
-10
-30
0
0
0
47
0
0
0
0
0
45
-1
0
0
0
0
0
-15
6
0
-26
32
-2
21
15
-24
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
-8
-14
-15
35
0
-6
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
-2
-38
-59
4
0
0
0
0
0
0
0
0
0
0
0
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
-7
-5
-23
0
0
0
0
-16
0
0
0
0
0
-26
12
0
0
0
0
0
0
1
0
41
3
13
15
-19
-30
-32
0
16
-7
-66
10
-14
0
0
0
1
0
0
0
0
0
6
-5
0
0
0
0
0
50
-6
0
19
6
0
12
-21
-27
47
0
-35
-29
-20
0
1
0
0
0
-42
0
0
0
0
0
4
31
0
0
0
0
0
0
0
0
56
37
33
16
-13
6
-7
0
-46
-15
-36
-35
0
0
0
0
-66
0
0
0
0
0
-1
5
0
0
0
0
0
5
20
0
41
18
9
0
-34
35
19
0
-20
-34
-78
-67
-36
0
0
0
-73
0
0
0
0
0
-5
-36
0
0
0
0
0
-7
4
0
-81
0
5
-4
22
27
-46
0
-25
-10
-3
-6
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
66
-8
3
1
-26
0
-34
0
13
2
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-14
-4
-17
-36
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-1
0
-10
0
0
0
0
0
-4
0
0
-1
89
33
13
6
40
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
48
0
3
-47
17
3
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-4
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
21
5
0
-7
0
0
0
0
0
-46
14
0
12
1
-2
-30
-19
19
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
-50
5
0
-31
0
0
0
0
0
0
0
0
25
-40
-5
13
-19
25
-40
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-47
0
0
0
0
0
0
0
0
78
6
-4
13
40
9
32
0
-13
0
0
0
0
0
0
0
0
0
0
0
-27
-42
0
-13
0
0
0
0
0
4
0
0
29
75
5
19
5
27
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-69
-11
0
-7
0
0
0
0
0
7
3
0
53
70
-22
33
-10
72
43
0
16
0
0
0
0
0
0
0
0
0
0
0
-14
-5
0
-18
0
0
0
0
0
0
0
0
-21
72
37
32
73
-20
5
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
28
0
0
0
0
0
0
0
0
44
22
13
7
37
0
16
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
40
-2
-9
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
-20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
13
-5
-13
18
-4
0
-4
0
0
0
0
0
0
0
0
-2
23
6
-41
-46
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
2
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-22
0
-6
-7
0
0
13
0
0
0
0
0
0
0
0
-11
0
-7
-3
15
-12
4
0
-2
0
0
0
0
0
0
0
0
4
0
0
5
0
0
-25
0
0
0
0
0
0
0
0
2
12
1
3
3
0
-2
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
-16
-23
3
0
0
0
0
55
0
0
0
0
0
0
0
0
8
0
0
1
0
0
24
0
0
0
0
0
0
0
0
-4
-17
-12
-6
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
-9
-34
-37
0
0
0
-17
4
12
-23
0
0
23
-1
0
8
1
0
-1
9
-8
0
-2
45
21
-3
-7
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-2
0
0
0
23
0
0
0
0
0
0
0
0
0
-55
13
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-5
36
0
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-17
12
9
4
0
31
0
4
0
-1
0
-8
-12
0
6
-11
-42
-15
48
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
1
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
6
0
0
-23
0
0
0
0
0
0
0
0
3
-11
18
10
-1
-22
0
0
0
0
0
0
0
0
0
0
0
1
-9
-18
3
0
0
6
0
0
0
0
0
0
0
0
12
11
-1
16
-9
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-21
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
24
0
0
0
0
0
0
0
0
0
48
9
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
22
-2
-8
3
0
0
-39
0
0
0
0
0
2
0
0
4
75
-21
3
-5
14
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
-22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-37
0
0
0
0
0
0
0
0
-7
-6
0
21
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
3
0
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
16
0
0
0
0
0
0
0
0
-25
0
6
16
5
0
-1
0
0
0
-1
-2
4
1
0
-31
7
1
-1
-57
12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
2
-10
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
0
0
0
0
0
0
0
0
9
29
0
0
14
0
10
0
3
0
0
0
0
0
0
0
0
22
0
0
-22
30
0
-15
0
0
0
0
0
-1
1
0
64
0
5
-22
-37
6
20
0
-25
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-24
0
0
0
0
0
0
0
0
-2
-6
0
-7
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-9
7
0
15
3
-2
0
0
5
0
0
0
0
0
0
0
0
26
0
0
10
-4
0
23
0
0
0
0
0
0
0
0
-5
1
0
59
32
-2
12
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
3
-7
0
-7
1
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
8
-2
-3
2
0
0
0
-19
-7
1
5
0
0
-2
-25
0
0
0
0
0
0
0
0
-3
43
-7
-9
32
-2
4
0
7
-2
0
0
0
0
0
0
2
-3
0
1
0
0
0
-33
0
0
0
0
0
0
0
0
-9
12
-12
19
-11
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
24
4
46
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
-16
19
27
-17
0
0
0
32
30
7
28
0
0
5
4
0
0
0
1
0
-20
6
0
-8
16
-10
1
-10
-18
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-9
10
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
4
0
0
0
0
0
14
0
0
0
0
0
0
0
0
10
-2
-23
4
3
0
5
0
-31
3
-24
65
8
0
0
0
15
3
-3
-5
0
0
12
-25
0
0
0
0
0
18
-1
0
27
-50
31
-97
-8
33
15
0
-25
1
0
0
-2
0
0
0
-5
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
23
-17
17
26
17
3
-4
0
4
4
5
0
0
0
0
0
-16
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-34
33
-6
1
-1
3
8
0
23
-14
0
8
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
8
-55
13
0
-2
0
3
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
3
14
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
-1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
8
1
0
0
18
0
0
0
0
0
0
0
0
-2
60
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-1
0
-28
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
5
4
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-6
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-1
-45
-4
0
12
0
0
0
-1
1
-3
2
0
46
-51
3
-18
35
-14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-10
-3
0
90
0
0
0
0
0
0
0
0
19
56
18
11
-4
24
-1
0
0
0
0
0
0
0
0
0
0
23
3
5
-7
4
0
24
0
0
0
0
0
0
2
0
-18
-8
22
42
34
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-51
0
0
0
0
0
0
0
0
-1
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
-31
0
0
0
0
0
0
0
0
-7
-1
0
10
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
2
3
3
0
0
-2
0
0
0
0
0
0
0
0
13
-35
9
22
15
6
-13
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
13
0
0
0
0
0
0
0
0
-1
12
0
-17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
0
0
0
-4
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
46
-6
0
-17
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
3
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
32
0
-10
50
41
0
28
0
1
0
0
-2
-1
0
0
-26
-19
-2
-19
72
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-3
-3
0
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
3
0
0
-8
-4
0
-25
0
0
0
0
0
0
0
0
27
12
-1
-8
0
6
0
0
9
0
0
0
0
0
0
0
0
21
0
-2
-7
0
0
4
0
0
0
0
0
-1
0
0
14
0
-14
-13
8
20
-9
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
16
0
0
0
0
0
0
0
0
6
-1
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
-15
-9
0
-24
0
0
0
0
0
0
0
0
5
5
-4
-1
48
-19
0
0
-16
0
0
0
0
0
0
0
0
-6
0
0
-20
-2
0
-5
0
0
0
0
0
0
0
0
-2
-62
7
-10
-17
6
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
13
0
-9
8
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
6
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-5
4
2
0
0
0
0
19
-7
1
-6
0
0
9
15
0
0
0
0
0
0
0
0
-30
-30
3
-43
-44
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-3
-6
0
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-18
-10
0
-31
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
14
-1
3
-1
0
0
0
-13
-21
-15
-23
31
0
0
0
-11
-62
0
-45
0
0
-17
26
0
0
0
-1
0
-10
0
0
8
-26
8
-4
11
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-2
7
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-3
0
0
0
0
0
-3
1
0
0
0
0
5
26
0
0
0
0
0
0
0
0
30
-14
-3
-1
0
8
8
0
25
11
-6
-13
-2
0
0
0
4
28
0
-2
0
0
-20
-16
0
0
0
0
0
0
1
0
-3
19
-7
44
-14
-9
-2
0
28
0
0
0
0
0
0
0
3
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
-5
0
-13
0
1
0
0
-48
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
40
0
0
0
0
0
0
0
0
12
-38
1
36
0
0
0
0
-14
24
-4
-3
-1
0
0
0
-7
4
0
0
0
0
-3
-47
0
0
0
0
0
0
0
0
29
17
-10
-13
17
-1
7
0
29
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
5
0
-4
5
0
-2
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
4
0
0
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
0
0
66
0
-1
0
0
0
-1
0
0
29
-48
0
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-22
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
-8
72
5
0
-31
0
-3
0
1
1
0
0
0
40
-23
10
-2
13
-37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-3
-4
0
-4
0
0
0
0
0
1
0
0
-14
-12
6
-4
23
13
1
0
0
0
0
0
0
0
0
0
0
-18
0
-6
-4
8
0
47
0
0
0
0
0
4
0
0
-15
-13
8
-12
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
16
0
0
0
0
0
0
0
0
-5
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
44
0
0
0
0
0
0
0
0
2
-7
0
7
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
3
-1
0
0
-6
0
0
0
0
0
1
0
0
-32
2
5
2
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
43
0
0
0
0
0
0
0
0
4
-15
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-9
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
44
0
0
0
0
0
0
0
0
12
-36
1
-8
32
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-3
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-23
0
5
-44
-25
0
-15
0
-1
0
0
0
-8
0
0
91
25
-17
9
38
11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
-3
0
0
5
-2
0
-14
0
0
0
0
0
0
0
0
-24
6
1
0
7
-2
3
0
-17
0
0
0
0
0
0
0
0
-16
0
6
16
1
0
1
0
0
0
0
0
1
0
0
-28
0
4
-23
15
11
-12
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-3
-10
0
0
-4
0
0
0
-22
0
0
0
0
0
0
0
0
13
0
0
3
0
0
-34
0
0
0
0
0
0
0
0
-8
6
0
5
-34
-1
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-1
18
0
0
3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-1
-3
7
0
0
0
5
5
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
0
8
-51
20
3
53
-5
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
-9
0
2
-2
0
2
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-14
2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
31
53
-2
-17
11
0
0
0
-24
-19
6
-4
0
0
1
-6
0
1
0
0
-1
2
2
0
27
27
15
-29
-1
0
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
40
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-3
0
0
0
0
4
3
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
4
-26
5
8
-3
0
0
0
-4
-15
-1
31
1
0
0
0
-5
-5
-3
0
0
0
1
28
0
0
0
0
0
0
0
0
5
16
-12
2
-3
4
4
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-10
-2
0
0
15
0
0
0
-7
3
1
-1
0
0
0
0
-1
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
30
-15
-4
4
-13
-3
-2
0
-43
6
1
3
0
0
0
0
0
38
0
0
0
0
2
3
0
0
0
0
0
0
0
0
4
9
6
8
-7
1
-9
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
6
0
4
-4
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
-24
0
0
0
0
0
0
0
0
1
11
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-2
-11
-2
0
14
0
0
0
0
1
8
9
0
-8
15
46
-39
-28
-39
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
2
0
-37
0
0
0
0
0
0
0
0
6
-7
2
-5
12
4
1
0
0
0
0
0
0
0
0
0
0
25
0
-7
-12
-1
0
39
0
0
0
0
0
0
0
0
11
7
7
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
5
17
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
20
0
0
0
0
0
0
0
0
0
-22
-4
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-22
14
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-4
0
-10
12
-20
0
-13
0
0
0
0
0
-1
0
0
7
-22
-3
33
-41
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-1
0
0
-9
0
0
41
0
0
0
0
0
0
0
0
-1
-13
0
0
-8
1
1
0
2
0
0
0
0
0
0
0
0
1
0
0
-10
0
0
-5
0
0
0
0
0
0
0
0
-37
0
14
-3
26
-15
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
7
0
5
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
4
0
0
2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
5
0
-1
0
0
1
31
0
0
0
0
0
0
0
0
14
28
-1
-9
12
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
1
-2
0
0
-3
0
0
0
-8
-4
-10
4
-8
0
0
0
12
0
1
-2
0
0
-8
2
0
1
0
0
0
1
-1
0
27
-14
-35
-4
51
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
0
-9
-5
-1
2
-4
0
1
0
-22
0
-3
-6
4
0
0
0
-2
0
0
0
0
0
-5
-17
0
0
0
0
0
0
1
0
-4
28
-9
-6
-11
-2
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
4
16
0
0
5
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
40
0
0
0
0
0
0
0
0
-2
0
0
-7
-3
0
1
0
4
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
44
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
-9
0
2
0
1
0
0
0
0
-1
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
3
-1
0
0
0
0
-11
0
6
1
-4
0
0
0
0
10
-2
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
1
0
-7
0
0
10
0
-4
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
5
-1
0
-5
0
13
4
0
-2
0
0
0
4
1
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
-11
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
7
-4
1
-10
0
0
0
-15
0
19
0
0
0
0
0
0
13
-6
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-7
0
0
0
3
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
10
0
-8
-1
1
0
-7
0
9
0
2
1
2
2
0
-14
3
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
4
4
1
0
-15
0
0
0
0
-1
0
0
0
0
0
8
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
7
-18
9
-20
0
0
1
3
0
0
0
0
-1
0
0
0
23
-40
5
13
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-6
0
0
18
0
0
0
0
0
1
0
0
0
-20
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-9
-4
0
0
-2
0
10
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-6
-5
-30
2
20
0
2
0
0
0
0
2
0
2
0
15
27
3
-15
12
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
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
1
0
-2
0
0
-24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
1
27
3
0
-18
0
0
0
0
0
-1
0
0
-14
8
6
23
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
14
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
1
-18
0
1
0
0
0
3
0
0
0
0
0
0
0
0
1
-46
1
8
10
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
9
6
-1
17
0
0
-6
-11
0
0
0
0
0
-1
0
0
-3
3
-4
28
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
-2
9
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
6
-19
-1
0
10
0
0
0
0
0
-1
0
0
6
-1
-4
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
-7
0
0
0
0
0
-2
0
0
2
-34
0
15
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
7
2
4
6
18
0
-15
0
0
0
0
0
12
0
0
-20
3
-17
-2
-22
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
8
0
1
-2
0
0
0
10
0
0
0
0
0
0
0
0
2
1
4
-10
0
0
75
0
0
0
0
0
0
0
0
2
-45
3
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
-40
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
-56
0
0
0
0
0
0
0
0
12
16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
18
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-6
-2
5
0
9
0
0
0
0
0
-1
0
0
2
-10
-20
5
5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
-10
0
-10
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
-13
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
14
16
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
1
0
0
0
-3
19
0
5
0
0
-1
10
0
0
0
0
0
0
0
0
7
30
-6
8
2
8
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
7
-1
0
2
3
0
0
0
7
-1
-4
-35
0
0
-1
0
0
0
0
0
0
-2
1
0
3
19
13
-17
-1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
0
31
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
2
-4
0
-8
0
0
0
-12
0
0
0
0
0
0
0
0
0
-14
6
-1
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
-3
0
0
-24
0
0
0
0
0
-1
1
0
-26
-9
-10
-5
18
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
0
3
-1
0
0
-69
0
0
0
0
0
0
0
0
1
8
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
-1
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-53
0
8
-31
9
0
4
0
0
0
0
0
1
-6
0
1
-39
-15
-19
27
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
21
0
0
0
0
0
0
0
0
-1
-16
1
0
-13
0
0
0
-8
0
0
0
0
0
0
0
0
-16
4
-20
43
-2
0
-7
0
0
0
0
0
-1
0
0
13
13
-1
-1
13
7
-6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-14
0
0
-13
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
7
0
0
0
0
0
0
0
0
17
2
-2
-2
0
0
9
0
0
0
0
0
0
0
0
13
34
-3
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
3
0
-15
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-5
-2
-4
0
-20
0
0
0
0
0
-5
0
0
-15
18
-24
3
-22
-34
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
-6
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
1
15
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-1
0
0
0
0
0
0
0
0
2
0
0
-26
0
8
-49
-3
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
7
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-14
-19
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
19
0
0
0
0
0
0
0
0
6
-45
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
-1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
-2
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
39
-8
-45
-12
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
0
6
2
0
0
0
3
5
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
3
-4
3
-24
41
-8
0
0
-9
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-3
0
18
-3
0
0
0
16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
-5
10
-3
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
18
-11
-12
-15
3
0
0
0
-11
-10
-3
22
0
0
-33
16
0
0
0
0
0
-6
-1
0
15
-9
-7
-56
-22
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
2
-22
-2
0
0
0
0
0
-27
-3
-9
4
0
0
0
0
5
-1
-1
0
0
0
-1
-16
0
0
0
0
0
-1
0
0
-9
-14
15
-21
-18
8
4
0
-8
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-7
0
-2
6
0
0
0
-33
2
2
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
8
-16
0
-8
4
3
0
0
-2
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-19
1
14
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-5
1
-5
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
14
0
-1
0
0
16
0
0
0
0
0
0
0
0
21
-1
-8
-14
10
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
17
0
4
13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-1
-3
0
0
-1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-3
7
0
2
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
42
0
-23
13
-14
0
5
0
0
0
0
0
38
2
0
-5
-20
41
26
-36
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
1
1
0
8
0
0
-3
0
0
0
0
0
0
0
0
8
5
-5
-7
-4
-1
0
0
26
0
0
0
0
0
0
0
0
18
-3
18
-41
0
0
-18
0
0
0
0
0
-2
0
0
33
30
6
9
4
13
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
33
0
0
0
0
0
0
0
0
0
-1
0
0
1
-5
0
0
-11
0
0
0
0
0
0
0
0
9
0
0
4
-1
0
-3
0
0
0
0
0
0
0
0
13
5
-2
14
-10
-13
0
0
35
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
31
0
0
0
0
0
0
0
0
3
-3
-12
10
-8
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
-12
0
9
8
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
72
0
0
0
0
0
0
0
0
34
-31
1
0
2
-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
-9
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
15
12
0
1
0
0
0
0
0
1
0
0
22
3
-2
-1
0
28
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
15
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
5
0
0
-51
0
0
0
0
0
0
0
0
11
1
0
-7
-5
-5
2
0
0
0
0
0
0
0
0
0
0
2
-1
0
-19
-5
0
-3
0
0
0
0
0
-17
0
0
21
0
27
-28
0
21
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
6
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
2
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
-1
0
36
0
0
0
0
0
0
0
0
1
10
10
-1
-7
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
9
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
18
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-18
-26
0
0
0
7
28
0
0
0
0
28
-4
0
0
0
0
0
3
0
0
24
-28
32
9
-2
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-1
0
7
0
0
0
8
4
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-16
19
9
-16
-14
0
22
0
30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-4
2
-1
0
-13
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
5
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-9
1
-18
2
18
0
0
0
-50
-14
2
0
0
0
10
4
0
0
0
0
0
9
-2
0
-8
-5
-6
33
1
32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-3
0
0
0
0
1
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
17
-19
5
6
3
10
2
0
-7
-1
0
50
10
0
0
0
1
26
-3
0
0
0
3
9
0
0
0
0
0
0
1
0
43
-42
30
-24
-2
-11
-5
0
-15
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-13
-3
-2
0
6
0
-1
0
60
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
8
12
15
0
15
0
0
0
10
6
0
4
0
0
0
0
7
7
0
0
0
0
0
29
0
0
0
0
0
0
0
0
13
-12
-5
-20
1
-1
-6
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
0
29
-3
0
-13
0
0
0
0
0
-1
0
0
-31
-28
-30
26
-58
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
5
-1
5
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-7
0
3
0
-12
5
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
-4
8
0
13
-21
0
10
0
0
0
0
0
-3
5
0
21
-15
-66
-12
-3
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
12
1
0
-26
1
0
-12
0
0
0
0
0
0
0
0
-22
-27
31
-4
-41
-10
-12
0
-17
0
0
0
0
0
0
0
0
5
0
0
4
0
0
20
0
0
0
0
0
0
0
0
7
-12
8
12
10
-17
-1
0
-3
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
12
0
0
0
0
0
0
0
0
31
-20
-5
-6
20
7
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-3
16
6
0
12
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
15
1
0
19
0
0
0
0
0
3
0
0
-3
-28
-1
0
32
3
-5
0
-19
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-30
0
0
0
0
0
0
0
0
31
-6
-1
-4
0
0
-1
0
19
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
23
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-65
0
0
0
0
0
0
0
0
-22
-1
19
4
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-8
0
11
0
0
0
0
0
3
0
0
-2
-3
7
-15
11
-10
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
35
0
0
0
0
0
0
0
0
7
0
1
-3
12
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
25
0
0
0
0
0
0
0
0
0
0
-17
0
-11
-12
20
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-14
0
0
0
0
0
0
0
0
13
0
0
-9
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
0
20
0
0
0
0
0
0
0
0
-6
6
-43
14
30
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
0
26
0
0
0
0
0
0
0
0
-42
-10
-13
42
-32
5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
4
6
-27
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
-13
8
0
0
0
-37
0
0
0
0
0
13
-3
0
0
0
0
0
1
2
0
-42
16
-13
12
-9
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
0
-3
-8
1
-33
10
-8
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-12
20
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
2
0
47
-31
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-29
23
31
-5
-17
0
0
0
25
0
0
0
0
0
5
-4
0
0
0
0
0
-10
3
0
-20
47
-8
22
67
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
21
-3
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
2
0
0
0
0
0
-1
0
0
0
0
0
9
33
0
0
0
0
0
0
0
0
9
8
-21
3
-4
0
2
0
28
27
-16
19
7
0
0
0
21
0
0
0
0
0
-10
10
0
0
0
0
0
12
0
0
-28
39
2
19
-15
15
14
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
15
-8
17
4
0
3
-1
0
-14
8
0
-2
0
0
0
0
-9
0
0
0
0
0
-9
-35
0
0
0
0
0
0
0
0
-3
-15
-14
44
-25
-2
1
0
-3
5
2
1
-1
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
3
13
-19
-3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-4
4
8
7
-1
0
-2
0
-30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
6
-1
24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
-3
0
0
-18
1
6
59
24
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
3
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-3
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
-14
0
0
0
0
0
0
16
0
19
17
-1
-15
63
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-6
0
0
0
0
0
0
0
0
29
-9
-24
8
4
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
-8
12
18
18
2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
9
3
0
19
0
0
0
0
0
0
0
0
-5
29
-14
12
5
15
-14
0
-31
0
0
0
0
0
0
0
0
0
0
0
-10
-27
0
-4
0
0
0
0
0
0
0
0
6
36
2
14
-6
-6
-2
0
-20
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-5
0
0
0
0
0
0
0
0
5
-9
-15
16
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
1
-6
-6
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-9
1
0
-8
8
5
0
0
-22
12
8
0
3
10
-30
-26
-15
5
-7
22
62
16
18
-38
-44
-22
18
-15
-11
-59
-51
-11
21
0
0
0
0
0
-6
13
-1
0
0
5
3
-16
-2
0
-2
-5
-9
0
0
17
-15
13
4
0
-9
20
-68
-14
-13
41
5
22
50
57
24
-33
-57
-17
-13
-91
-44
3
-24
-63
1
-5
-1
0
0
-3
-8
5
0
0
0
11
6
1
0
9
-5
1
0
0
3
14
-8
-19
0
4
-11
6
23
-26
7
5
-58
15
45
-28
-39
-30
-46
-26
-5
3
7
3
-4
-1
-3
0
0
0
-3
-2
-2
0
0
3
-2
1
0
0
17
-2
8
1
0
-8
4
-25
3
-2
4
43
14
45
2
-34
-53
3
-15
41
-20
1
14
4
18
0
0
0
0
0
-19
-17
2
0
0
-2
15
5
0
0
-3
13
5
0
0
-14
22
-8
2
0
-1
-10
2
28
0
-32
-29
-21
-27
1
49
4
-3
10
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
-8
-1
0
-3
-5
-5
-5
0
-9
14
2
3
8
-75
-8
-20
-48
15
-6
98
21
-59
45
19
-42
-40
23
-105
-77
19
-62
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
18
3
8
0
0
-23
-25
5
0
0
29
-15
0
1
0
-16
0
20
23
-2
-27
-7
-36
5
-10
-1
1
9
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
25
0
0
29
8
13
0
0
-13
5
-6
-6
-2
-39
11
-34
-38
-9
9
55
34
58
-10
-31
13
-53
5
-18
16
-10
-45
-69
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
1
0
0
0
-23
-16
1
0
0
-6
-7
1
0
0
5
-9
-5
0
0
-8
53
-3
4
-2
-6
14
-11
3
-5
-1
7
1
9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
40
-5
-2
0
0
6
22
-6
0
0
-37
53
-12
5
0
-20
1
25
-42
0
25
-5
-6
-14
0
55
-51
-141
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-48
46
0
0
0
7
6
0
0
0
0
20
-5
0
0
0
-3
23
-1
0
-1
-10
1
-11
0
-46
-3
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
-5
-5
0
0
0
-2
-21
-3
0
0
31
-52
-3
0
0
-7
-12
-69
0
0
-26
26
10
0
0
31
0
-1
0
0
0
0
0
0
0
-9
0
0
0
0
-14
0
0
0
0
2
-3
0
0
0
4
-25
1
0
0
5
3
13
0
0
-46
18
34
0
0
2
7
7
0
0
-40
-35
-36
0
0
0
0
0
0
0
-5
0
0
0
0
5
0
0
0
0
-37
6
0
0
0
20
9
3
0
0
-6
-10
-53
0
0
-8
-14
97
0
0
-20
4
-21
0
0
-41
-4
1
0
0
1
0
0
0
0
-5
0
0
0
0
5
1
0
0
0
-8
-1
0
0
0
-5
10
2
0
0
-38
-67
-29
0
0
-4
4
-15
0
0
3
-1
-4
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
38
0
0
0
0
-7
1
0
0
0
6
-2
3
0
0
34
60
-35
0
0
-5
-39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
31
2
0
11
14
23
1
0
15
-30
8
0
-2
-1
-4
40
9
-5
6
5
16
11
11
-64
-2
-6
2
34
-17
8
3
1
-14
0
0
0
0
0
58
11
-25
0
0
11
25
-14
1
0
-8
4
18
-1
0
-21
-4
-23
-6
-3
-70
-13
41
-6
-9
26
-7
18
7
3
-12
-1
-3
0
-16
-8
16
0
2
-4
-4
60
5
0
0
13
26
5
0
0
5
-22
6
0
0
2
-18
-34
1
0
-2
-7
47
6
10
-29
-33
5
-50
23
-5
-13
-1
-12
2
-29
-3
-12
-5
-30
-9
-35
1
10
-8
-13
17
2
0
0
6
-24
-1
0
0
-32
34
-2
1
0
19
-21
-4
0
0
-14
-15
29
-14
-1
-29
-48
34
-12
-5
-37
-25
6
35
-25
1
0
3
-2
1
0
0
0
0
0
10
17
0
0
0
-15
24
-3
0
0
-23
-18
-2
0
0
-15
-47
34
-2
0
0
22
-13
-1
5
45
-57
-25
21
8
9
-5
10
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
26
0
0
86
-22
14
0
0
11
20
-15
5
-9
-28
-23
-4
-56
-6
47
-7
31
1
-22
-32
2
-3
-2
-19
-8
5
-41
-6
-3
0
0
0
0
0
9
-1
8
2
0
7
7
7
2
0
2
5
7
0
0
28
11
-12
2
0
21
-1
28
-20
-7
-49
-18
78
-9
26
-26
-6
-18
-21
28
-40
16
-15
3
-43
1
25
-1
0
0
-5
2
-3
0
0
0
0
0
-4
0
-16
-8
8
0
0
4
18
-20
6
5
3
6
-36
9
6
-30
-47
-16
43
33
-12
-25
-68
6
-8
-20
15
1
-8
0
-1
0
-1
0
0
14
1
1
0
0
8
-5
-5
3
0
-39
9
7
3
0
2
15
7
-1
2
-6
-6
-39
-19
-12
15
-52
-44
-7
1
0
-23
-9
2
23
0
0
0
0
0
25
-27
0
0
0
-3
21
25
0
0
-7
22
5
1
0
-4
-29
-7
4
0
22
21
-41
-5
8
-53
29
44
-57
45
7
-5
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
3
2
3
0
-11
11
-48
-1
0
0
21
18
-1
14
8
-30
0
-55
14
-47
4
-8
1
16
23
3
3
-5
-16
-25
-41
-18
-29
-14
0
0
0
0
0
21
-8
12
0
0
-3
9
-2
-1
0
-21
23
-4
-1
0
-20
-10
17
7
3
19
-4
-7
6
-25
-1
-9
24
-24
-30
3
-2
-37
12
-42
-32
-21
-27
-38
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
13
-1
-2
0
0
4
-13
-3
-1
0
-10
-48
-7
0
0
-10
20
-19
15
0
5
30
-42
-15
4
-4
7
-18
17
-31
-7
-4
8
1
4
0
0
0
0
0
8
20
0
0
0
-16
-9
-4
0
0
-21
-14
-5
1
0
9
-34
-3
-1
0
60
-35
12
2
-4
-25
35
4
-2
5
11
-2
-3
-13
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-19
-3
0
0
-28
1
14
0
0
-14
49
-16
-4
0
42
23
24
-46
0
9
-10
-36
19
0
2
1
1
5
0
11
4
-41
6
0
0
0
0
0
0
2
-5
0
0
0
0
16
0
0
0
12
-4
-1
0
0
-59
-9
8
-1
0
-12
-13
7
-10
0
67
12
-7
3
0
-12
-14
3
5
0
-30
-3
-20
14
0
-3
0
-2
0
0
17
-2
0
0
0
8
-25
0
0
0
8
32
-3
0
0
-31
-10
-16
-1
0
-14
-6
-33
-17
0
44
-1
35
5
0
1
-1
-6
15
0
-83
-9
-12
4
0
-3
0
0
0
0
-8
2
0
0
0
-9
6
0
0
0
-26
40
3
0
0
19
24
6
2
0
12
52
5
-23
0
-9
-2
-8
-95
0
-10
2
0
1
0
0
0
0
0
0
55
0
0
0
0
16
9
0
0
0
22
-6
-6
0
0
-44
5
8
0
0
55
28
24
4
0
9
4
-15
-17
0
-75
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-12
0
0
0
-14
-1
0
0
0
-39
0
-1
0
0
1
4
-25
0
0
-15
9
20
0
0
5
-2
20
0
0
2
-18
-23
0
0
0
0
0
0
0
20
0
0
0
0
5
-2
0
0
0
35
6
0
0
0
23
4
-12
0
0
3
7
-7
0
0
4
2
10
0
0
-8
-5
5
0
0
3
-4
-13
0
0
-6
1
0
0
0
-15
0
0
0
0
-23
2
0
0
0
4
1
0
0
0
11
9
2
0
0
17
8
2
0
0
31
20
43
0
0
2
-1
0
0
0
-63
-8
1
0
0
-2
0
0
0
0
-2
0
0
0
0
-42
2
0
0
0
-13
-1
0
0
0
24
49
1
0
0
44
23
-29
0
0
6
-14
6
0
0
-45
-11
14
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
34
0
0
0
0
22
-6
0
0
0
5
20
-7
0
0
-4
-45
-12
0
0
-31
18
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
13
-18
0
0
-11
-18
-9
0
0
40
7
8
0
0
-24
-16
-14
14
-4
10
-7
23
10
57
-6
7
11
-1
18
-1
-58
5
33
-7
0
0
0
0
0
-9
-20
8
0
0
-4
3
7
0
0
21
-40
13
0
0
41
22
13
8
-1
-21
21
-38
-16
-22
16
23
2
-10
-18
0
0
12
9
-24
-2
21
-1
2
11
3
-5
-1
0
0
-21
-37
17
0
0
2
27
-7
0
0
-52
-29
45
0
0
45
-18
-3
7
-3
-65
11
43
-13
-25
15
-6
14
17
-15
-20
1
-1
3
-14
10
-76
-2
9
2
42
0
0
0
0
-3
0
18
0
0
30
-31
-14
0
0
41
7
-20
-1
0
65
-8
21
-12
0
-50
-7
-12
-8
25
-52
12
3
-3
-47
-1
-17
2
-2
9
0
0
0
0
0
15
-18
0
0
0
20
-13
-15
0
0
5
5
-23
0
0
-11
12
-7
0
0
-31
-7
-14
0
2
4
15
2
-38
13
1
-15
-4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-5
-13
0
0
14
-3
15
7
0
10
-41
16
17
0
20
-38
-43
10
-4
1
-32
-8
-21
25
-21
20
8
1
12
36
18
2
1
2
0
0
0
0
0
-43
-36
18
-5
0
22
-5
17
9
0
-7
-26
-17
-7
0
-12
-5
6
1
10
-39
17
-45
31
23
-1
13
-7
10
-8
28
-1
2
-1
-10
-3
-57
0
-2
-1
56
-23
-4
0
0
51
26
12
-12
0
-9
7
-7
3
0
-2
14
-18
1
0
-32
-26
13
42
-10
-7
2
28
-16
-14
-22
4
-1
19
-18
3
-6
0
-2
10
-2
9
-14
-1
-1
11
4
0
0
0
1
8
-12
0
0
25
-4
5
7
0
21
-13
10
2
0
-70
54
-39
-1
8
4
-44
-9
39
33
-14
-4
10
-9
2
-10
1
3
0
-3
0
0
0
0
0
-17
29
0
0
0
-35
-15
-23
0
0
48
20
-8
0
0
-14
15
-4
0
0
-2
-74
16
-7
0
-29
-37
11
-3
-8
-13
5
-20
13
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-15
-1
0
-24
-24
25
3
0
-3
39
-29
-2
0
14
1
59
-34
-10
-4
15
-4
-16
11
-52
-10
8
2
-2
0
11
-4
3
0
0
0
0
0
0
8
37
10
-11
0
22
5
-6
-5
0
15
-18
16
1
0
12
-2
10
8
8
8
-42
28
-15
-4
-19
0
5
-3
30
-5
8
-3
-4
-1
-5
-7
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
-5
0
0
-34
-15
-11
0
0
-4
5
5
-1
0
15
21
-22
8
-1
10
4
16
3
4
9
-13
-9
-24
22
6
-8
-6
4
-13
-1
4
-1
-9
1
0
0
0
0
0
-6
-5
0
0
0
44
-29
20
0
0
-6
2
-9
0
0
-4
-7
5
6
0
-25
2
12
16
1
15
28
-19
-16
13
6
-45
-2
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-6
0
0
-45
14
-15
0
0
23
7
3
0
0
25
-66
-10
36
0
-40
43
53
27
0
2
-1
-20
12
0
11
25
1
6
0
0
0
0
0
0
19
52
-29
0
0
14
-11
3
0
0
-32
16
13
0
0
9
11
13
7
0
-15
25
23
-17
0
-4
14
35
-20
0
3
25
-2
5
0
7
1
5
1
0
10
-6
0
0
0
-20
-12
-8
0
0
10
17
-5
0
0
-24
41
10
1
0
3
-36
20
5
0
20
6
-24
-32
0
2
12
-20
5
0
0
-2
1
3
0
-29
6
2
-2
0
25
-3
-1
0
0
-13
2
-2
0
0
-2
19
5
0
0
9
-12
0
0
0
27
-4
53
-3
0
4
17
-26
-14
0
-6
2
-8
16
0
46
-3
2
-13
0
0
0
0
0
0
-18
-1
0
0
0
17
7
0
0
0
-4
14
-2
0
0
17
3
2
0
0
25
7
-4
-2
0
-31
33
-15
26
0
26
19
-13
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
3
6
0
0
0
8
12
-1
0
0
-27
43
13
0
0
-25
74
-6
0
0
-14
-1
3
0
0
2
-9
2
0
0
0
0
0
0
0
-14
0
0
0
0
1
1
0
0
0
-29
-2
0
0
0
-22
2
-1
0
0
-32
20
-4
0
0
49
0
30
0
0
0
11
19
0
0
17
-5
1
0
0
0
0
0
0
0
29
0
0
0
0
-5
0
0
0
0
22
0
0
0
0
-6
-13
0
0
0
-80
-24
8
0
0
2
46
-25
0
0
4
2
-5
0
0
-45
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
9
0
0
0
0
4
0
0
0
0
-25
0
0
0
0
-28
-13
-11
0
0
6
24
-23
0
0
13
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
2
1
0
0
0
22
-6
-2
0
0
-9
-10
-17
0
0
0
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
1
0
-12
25
16
-16
-9
7
-17
40
-4
16
31
25
-20
-11
-47
13
-71
-56
59
-21
1
0
-94
-57
95
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
8
1
0
0
-7
25
5
0
4
21
-25
6
-17
17
17
-13
25
-8
6
-98
-19
-28
-1
-29
0
-43
-5
16
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
1
-7
0
0
1
4
-7
0
0
6
5
16
17
-4
-8
-1
4
-3
-24
-38
-19
-26
-14
46
-27
-95
-5
54
34
0
0
0
0
0
-1
0
-4
0
0
3
7
-1
0
0
0
7
-1
1
0
-2
-10
-4
6
0
5
-8
19
-8
0
-15
36
-36
12
18
4
-72
-9
-7
56
0
0
0
0
0
0
2
-1
0
0
0
1
0
0
0
7
7
8
0
0
10
9
6
1
0
-6
38
2
-7
3
-17
14
5
24
-9
32
-7
-13
-1
0
0
0
0
0
0
0
0
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
-3
-5
2
-20
-25
-31
7
9
-17
58
17
-30
8
27
19
0
18
-25
-1
-10
-25
-21
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
1
-8
0
0
0
-3
-5
0
0
0
-2
5
1
-1
0
-24
8
-7
34
-12
-4
-29
37
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-1
-15
-31
3
-4
1
14
-45
63
-45
-10
-25
51
-200
22
23
0
2
-8
-2
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-1
3
0
0
0
0
4
-1
0
0
0
-1
-8
0
0
-12
-5
2
9
-5
3
17
3
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
14
-3
0
5
-22
19
-47
0
12
29
43
-4
0
-31
27
-71
-43
0
-52
15
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
-4
0
0
0
-22
-38
8
1
0
-12
23
43
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
3
2
0
0
-9
-12
4
0
0
6
14
-13
0
0
-78
-13
-24
0
0
-32
-38
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-7
-1
0
0
0
18
3
-8
0
0
-5
-16
29
0
0
10
-82
-75
0
0
-69
20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-2
-8
0
0
49
5
1
0
0
-53
-72
11
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
7
-19
-2
0
0
-17
13
2
0
0
-13
-9
-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
-5
0
0
0
-1
22
-14
0
0
-40
11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
-6
0
0
7
18
-30
-2
-1
1
-8
-9
42
0
-30
-37
27
-3
-29
14
8
2
24
8
-26
-21
-36
-13
-12
16
3
-34
-35
56
0
0
0
0
0
-3
0
6
0
0
2
6
-2
0
0
-5
-1
-3
-6
0
-17
-5
-15
-13
0
-37
-3
-18
9
-12
22
-13
52
28
0
-26
-22
-29
-42
-12
-4
18
-18
-25
0
-1
0
0
0
0
-1
3
-2
0
0
6
5
-2
0
0
-5
4
8
-2
0
-5
12
-6
-4
5
0
17
4
41
-8
9
-13
-6
13
-8
-57
-47
-50
-17
18
-19
-6
-11
29
48
-1
1
-2
0
0
-3
-5
22
1
0
-22
16
8
0
0
2
10
-1
1
0
15
27
-8
-4
5
10
-41
-3
-16
-22
10
38
10
59
-41
-80
-22
-23
-36
18
0
0
0
0
0
-3
3
-1
0
0
39
-7
-24
0
0
2
-25
5
-3
0
-13
25
31
3
0
-1
3
16
10
1
-31
7
-3
30
-12
17
20
23
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
1
-5
-8
-1
0
-4
-4
14
-18
-5
12
-35
36
-9
-1
0
15
-6
-29
-17
-76
-26
-28
28
28
-66
-49
-53
4
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
-5
2
12
-2
-5
-1
-12
-8
-4
1
0
-13
-25
-8
-30
0
-1
6
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-3
-4
1
4
-2
-13
-6
-4
-14
-42
1
-17
33
0
0
-15
41
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
7
-2
-1
-3
-17
-22
12
-5
-8
-26
-49
-33
-18
0
0
0
0
0
1
1
0
1
0
-13
-2
19
0
0
-19
32
2
-1
0
-8
7
-6
6
0
4
10
-5
-24
-7
27
-12
7
-19
-2
-6
-11
-12
-10
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
-27
8
10
10
29
-9
16
-32
-5
-11
-6
27
-32
13
-19
10
-74
14
-65
-64
-5
23
-110
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
-23
7
3
5
41
0
3
6
-6
10
-43
-20
-41
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
18
-24
0
4
0
0
5
0
-9
0
0
0
0
0
0
-3
-2
0
0
0
-15
8
13
0
0
6
-15
7
0
0
1
-18
-14
1
0
-5
9
25
-5
1
-20
-21
25
-8
-8
-12
15
-11
28
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
15
-1
25
5
0
-31
-4
12
8
0
34
9
-35
23
0
-16
12
-4
-7
0
9
-88
-29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-14
-6
8
2
0
-3
0
12
7
0
-31
-61
-45
40
0
0
48
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
-30
4
0
0
-17
15
-23
1
0
-44
46
-65
-19
0
3
36
33
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
0
0
-1
-3
5
0
0
28
-29
-13
16
0
5
43
58
-18
0
0
0
0
0
0
1
0
0
0
0
4
-13
0
0
0
-14
-1
0
0
0
27
-1
-1
0
0
21
13
-1
2
0
-28
-1
-6
-17
0
-22
1
-41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
4
-30
3
0
0
5
25
-3
0
0
-2
3
3
0
0
7
15
-3
0
0
-69
-147
71
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
1
0
0
0
22
9
0
0
0
9
19
-1
0
0
-55
29
13
0
0
-29
-35
-28
0
0
-32
13
-51
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
6
0
0
0
0
12
-1
0
0
0
-33
-29
3
0
0
4
-7
-16
0
0
4
28
-74
0
0
-98
-3
-4
0
0
0
0
0
0
0
7
0
0
0
0
5
1
0
0
0
12
-4
0
0
0
8
4
1
0
0
-5
-24
25
0
0
-3
-8
10
0
0
-56
85
-21
0
0
0
0
0
0
0
1
0
0
0
0
-27
0
0
0
0
25
0
0
0
0
0
3
0
0
0
-6
5
7
0
0
6
-44
-2
0
0
40
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
9
14
0
0
35
-21
-5
0
0
-9
38
-22
-2
0
-20
-6
4
-41
-25
-17
2
0
37
-2
-7
-11
-11
7
-1
-74
-12
-3
0
-24
0
0
0
0
0
-5
8
-5
0
0
-19
29
0
0
0
0
27
-8
0
0
18
3
15
-2
-2
33
-57
11
0
18
47
-35
14
6
-31
-68
-5
0
-33
-27
-9
0
-18
-18
23
-2
-2
0
0
0
0
-2
0
0
0
-16
6
5
0
0
-6
-7
4
3
0
4
22
-4
-8
1
-2
-77
33
-73
-3
47
21
-28
-13
13
-36
22
-20
33
23
16
19
4
78
-60
-7
-5
0
0
0
20
22
-36
0
0
-12
18
12
0
0
2
-10
0
1
0
-13
-3
0
25
1
-30
14
-58
21
21
53
-43
22
28
58
10
25
20
-18
-45
0
0
0
0
0
11
0
-1
0
0
-2
-8
20
0
0
-8
25
4
-1
0
47
-11
-5
-2
0
13
-33
11
8
-8
12
9
-78
-33
-8
9
-19
0
-29
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
4
0
0
-24
15
-12
-2
0
-16
-3
8
-9
-3
29
-63
17
8
-8
9
6
2
30
7
-22
-23
-11
-14
-3
-102
-35
-38
11
-5
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
8
-2
0
-4
-19
23
0
6
8
36
25
25
-38
46
-71
46
-14
-32
-47
-30
-54
-25
36
-65
-11
-36
-2
-5
0
0
0
0
0
0
0
0
0
0
0
7
-1
2
0
2
3
-2
0
0
-4
5
7
0
0
-2
-72
-4
17
-9
-24
29
37
6
5
-10
-20
8
0
-62
59
43
0
39
12
-1
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
-2
5
3
0
0
1
-22
-3
3
0
-21
-5
29
-48
7
22
14
20
36
-13
72
-36
-37
49
-2
0
0
0
0
0
-11
-5
0
0
0
3
-14
2
0
0
4
-14
14
0
0
2
40
-8
0
0
-9
-8
15
8
-2
27
-41
-18
-9
-13
-13
35
37
11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
0
0
-5
-4
0
0
0
-34
-29
-6
-1
4
-16
11
25
16
-26
-53
15
6
-20
1
8
-1
-6
-13
-18
-59
-18
-33
17
9
0
0
0
0
0
-1
0
1
0
0
-1
0
0
0
0
1
4
2
0
0
-7
4
-1
0
-2
29
-86
8
-23
22
72
5
-29
-50
-1
-44
-40
-18
-46
16
-123
-36
-54
122
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
3
-2
-1
0
0
0
7
5
0
0
-4
5
8
2
3
-17
-11
-29
1
-14
13
21
23
42
31
51
-7
-17
-8
7
0
0
0
0
0
7
-5
1
0
0
2
-13
-7
0
0
7
-3
-7
1
0
-3
10
6
7
0
6
41
5
-24
3
-42
-5
-5
10
5
47
9
-8
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-8
0
0
0
-7
-10
-9
0
0
-11
-13
-2
7
0
-1
-3
30
29
0
-3
0
-8
-14
0
-43
-10
-36
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
-4
2
0
0
0
-39
-3
3
3
0
10
-22
-6
-34
0
5
55
-13
-11
0
-37
-1
-40
-12
0
-4
-18
39
7
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
12
-12
0
0
0
-8
8
8
0
0
-29
1
28
-7
0
6
-14
0
24
0
-28
-6
31
6
0
-52
27
-55
1
0
1
0
0
0
0
1
1
0
0
0
-10
0
0
0
0
23
5
0
0
0
-24
8
-13
-4
0
-22
-14
-8
30
0
23
-8
21
-11
0
-74
-8
13
-8
0
0
0
0
0
0
-13
0
0
0
0
-3
1
0
0
0
-3
3
0
0
0
-5
5
-3
0
0
-7
1
-6
0
0
-10
-34
79
1
0
32
13
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
18
0
0
0
0
-1
30
1
0
0
-3
24
24
0
0
6
18
21
0
0
9
-9
-4
0
0
-31
-2
2
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
0
0
0
4
0
0
0
0
-20
-3
0
0
0
1
-25
-11
0
0
26
9
-59
0
0
-61
-6
-9
0
0
16
-22
15
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-10
-1
0
0
0
17
14
-8
0
0
36
9
16
0
0
20
0
28
0
0
-10
21
9
0
0
-24
16
-53
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
0
0
0
11
5
-1
0
0
-20
-20
4
0
0
17
-1
-11
0
0
-3
9
49
0
0
-9
-13
-3
0
0
0
0
0
0
0
-1
0
0
0
0
29
0
0
0
0
-2
0
0
0
0
-25
-2
0
0
0
29
-10
2
0
0
-40
-26
53
0
0
15
51
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-55
-5
7
0
0
0
33
6
0
0
-57
27
10
-8
6
30
1
-1
44
32
-48
7
12
2
34
-18
-2
-10
26
-10
0
0
0
0
0
5
0
2
0
0
-15
-2
0
0
0
-7
-8
0
0
0
6
-57
-12
-1
0
-56
31
-7
5
16
-15
9
1
38
-15
-30
6
-13
8
-17
74
36
37
-26
21
-3
-5
0
0
0
32
1
1
0
0
2
10
2
0
0
25
-27
2
0
0
-20
5
13
3
0
39
8
-59
-20
-7
12
8
26
27
16
73
21
-5
7
1
-16
-24
51
1
-57
6
0
0
0
0
-21
-7
20
0
0
0
-15
1
0
0
-10
2
5
0
0
4
-5
-1
0
0
-5
8
49
-32
2
9
-11
-25
-31
10
4
91
5
84
8
0
0
0
0
0
7
-1
1
0
0
-40
0
0
0
0
3
-6
-7
0
0
0
17
0
0
0
-8
19
4
3
0
-24
-2
-23
2
-5
-15
50
29
-11
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
-16
-2
6
0
0
49
-17
-7
8
0
17
-51
-1
-22
-11
-9
-12
16
6
50
16
12
4
2
-3
-47
-31
12
4
30
0
0
0
0
0
7
0
-3
0
0
-16
4
3
2
0
1
7
0
1
0
-20
-8
12
-5
-4
40
63
-25
-71
-2
48
-2
64
7
15
-41
-30
-64
-42
1
-106
-28
32
-1
17
1
0
0
0
0
-3
-1
-5
0
0
7
-9
0
1
0
-20
0
3
7
0
18
27
-16
8
1
10
-7
6
28
2
48
-34
-19
-7
-29
41
36
74
-4
41
-72
20
-35
23
18
4
-2
0
0
0
-8
1
2
0
0
-14
17
1
0
0
5
-10
-4
-3
0
0
6
-8
-5
2
13
-26
20
27
-1
32
15
8
41
22
-108
12
1
-4
22
0
0
0
0
0
-2
2
0
0
0
13
-9
-5
0
0
0
-6
0
-1
0
10
-5
3
0
0
-1
7
19
8
0
-22
41
-39
25
-3
8
9
21
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
5
0
0
6
18
6
2
-1
29
-47
-57
10
2
20
31
-4
19
38
33
-2
1
8
8
-71
-26
11
77
7
0
0
0
0
0
3
1
1
0
0
4
-1
-3
0
0
4
-1
-9
0
0
4
-22
3
18
-2
-83
5
-9
-7
-18
17
14
-12
5
-24
-25
-30
3
48
-22
-78
34
12
-3
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-6
0
7
0
0
-9
1
4
0
0
-10
-6
23
0
0
2
16
17
1
0
0
-20
-9
14
-33
8
59
1
14
-26
8
10
-5
3
14
0
0
0
0
0
0
4
0
0
0
-1
-2
0
0
0
8
-1
0
0
0
-2
-12
1
1
0
-2
6
-4
6
0
6
-28
-24
29
16
-3
57
12
-14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
8
0
0
0
-2
18
-5
-1
0
24
46
-7
0
0
-23
-4
13
60
0
-4
-1
4
12
0
-4
-3
0
7
0
0
0
0
0
0
1
2
0
0
0
2
1
0
0
0
-10
-29
0
0
0
45
-5
-5
-9
0
-28
-4
-4
25
0
24
-23
-52
10
0
3
-7
-20
-60
0
-72
-11
42
39
0
0
0
0
0
0
13
-3
0
0
0
-10
6
0
0
0
8
-5
0
0
0
-4
-2
-10
0
0
-5
-9
-42
5
0
-12
43
49
54
0
3
20
-29
12
0
-83
-68
31
-7
0
-6
0
0
0
0
21
-12
0
0
0
-3
7
1
0
0
-22
5
-1
0
0
-20
-13
5
4
0
-75
-5
1
-33
0
35
22
33
43
0
50
-62
-15
52
0
0
0
0
0
0
1
0
0
0
0
3
-2
0
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
1
-4
0
0
11
4
-25
20
0
-1
17
14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
-2
0
0
0
-10
-40
-2
0
0
29
5
-5
0
0
11
0
16
0
0
-7
47
11
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
0
0
2
-4
0
0
0
-4
-9
-26
0
0
-21
-23
6
0
0
9
-9
21
0
0
11
-37
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
2
8
3
0
0
1
20
30
0
0
35
-33
-24
0
0
-2
-5
21
0
0
0
25
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
0
0
-37
-6
14
0
0
34
69
4
0
0
-71
-25
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
13
10
-1
0
0
0
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
1
0
0
0
0
3
29
-5
-5
0
-16
44
-7
22
-17
-61
17
10
10
21
-6
1
23
38
-5
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
20
0
0
0
0
-26
-13
-5
5
30
37
56
-14
0
-4
32
-4
60
15
-41
-73
39
-17
5
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
9
-4
-1
0
-1
12
12
-9
0
10
35
59
14
2
-5
9
22
30
21
-36
-1
-3
0
21
0
2
0
0
0
-3
0
0
0
0
10
0
0
0
0
-3
0
-2
0
0
0
-4
-4
-2
0
13
-68
-14
2
1
-1
-44
42
0
15
42
267
-39
13
-76
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
1
28
2
0
0
0
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
-27
2
0
0
-5
21
-15
-17
0
70
-45
57
22
8
-44
60
2
-14
-5
-11
-32
50
7
22
0
0
0
0
0
1
-1
0
0
0
3
-3
1
0
0
-8
14
-18
0
0
-8
18
-24
2
-1
-76
-21
11
16
-21
-7
53
-13
14
24
56
-8
13
-30
95
-12
14
-11
58
-31
-1
0
0
0
0
-2
4
0
0
0
6
-2
1
0
0
6
7
0
0
0
-4
-34
17
-2
-3
-29
20
43
-5
-8
6
3
-1
16
7
-5
7
-6
-1
3
9
-29
87
-6
-50
6
1
0
0
0
0
7
0
0
0
-20
-8
0
0
0
15
8
0
0
0
2
8
33
0
0
-32
26
-3
3
-5
-7
24
3
-7
-2
43
-14
21
-5
14
0
0
0
0
0
2
-5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
-1
0
0
4
3
-3
-6
0
13
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-2
8
-8
0
13
-16
80
5
26
-25
1
1
-11
78
17
83
-1
38
-24
0
0
0
0
0
0
1
0
0
0
-2
5
-1
0
0
2
10
6
0
0
0
12
19
0
-1
-10
-35
-17
37
4
-5
47
-19
30
17
-62
33
1
32
-35
-4
-88
45
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
1
0
4
0
0
0
-5
2
0
0
0
-5
-23
0
0
1
-2
17
0
0
-12
8
15
5
-3
2
-43
35
46
47
0
41
-63
9
-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
0
0
7
1
0
0
0
1
-12
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
1
0
2
0
13
-22
-34
10
0
44
8
-32
-20
0
-5
7
13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
0
1
8
4
0
0
9
13
7
12
0
22
16
-41
50
0
-13
39
9
-13
0
77
-44
21
-7
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
43
12
7
0
0
-6
22
7
0
0
-44
-11
62
-75
0
249
-17
50
-23
0
0
12
-54
67
0
2
0
0
0
0
-4
5
0
0
0
4
0
0
0
0
-3
-1
0
0
0
4
-2
-2
-2
0
33
-40
44
7
0
-8
17
43
-23
0
0
-1
8
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
42
-8
0
0
18
3
-8
0
0
8
-49
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
1
0
0
-12
-30
-45
0
0
-5
-18
29
0
0
0
30
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
-14
-4
0
0
0
29
-20
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
0
0
8
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-1
0
0
22
-8
3
0
0
10
-4
-4
0
0
-1
13
-37
-6
-17
-1
-5
2
-39
-2
-4
-18
2
-13
-9
-127
49
-14
10
-2
0
0
0
0
0
0
5
0
0
0
5
-6
4
0
0
-15
4
-2
0
0
-20
11
9
-1
0
20
-24
10
9
-2
-16
-2
-50
-51
-31
-12
9
-10
-1
-98
3
-37
-5
14
-1
-1
-1
0
0
0
3
0
1
0
0
-3
2
0
0
0
26
-9
12
0
0
7
-62
5
-7
-5
0
33
-17
-27
42
74
6
-3
-6
4
-34
-4
-18
-6
-3
-70
42
-6
-4
-31
-7
-1
0
0
0
24
-4
0
0
0
24
-17
0
0
0
-29
13
3
0
0
5
-28
2
-7
7
-9
-15
-31
-38
3
-8
32
-7
-2
-5
-68
-7
0
-4
-2
0
0
0
0
0
13
3
0
0
0
27
2
-1
0
0
5
-22
0
0
0
20
-24
5
0
0
25
-27
9
-10
-1
-56
-29
27
29
-5
12
-3
-7
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
0
0
5
-8
-3
0
0
13
49
-12
3
0
-38
36
7
51
5
45
11
-10
-24
-14
-12
-12
-45
-1
-44
-9
-56
6
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
3
0
0
0
-20
-1
0
0
0
-3
0
27
0
0
5
8
8
19
0
37
-10
-61
-17
-7
-2
-10
2
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-5
-3
0
0
3
-8
0
0
0
26
-32
-5
4
0
-11
29
30
-32
8
-17
-31
-28
-29
37
-42
12
6
-13
-27
12
-38
-27
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
25
0
0
0
4
0
2
0
0
10
-18
2
9
0
9
-59
9
-3
-1
9
-22
13
29
2
-22
12
-2
-11
-24
-10
2
-1
-5
11
-13
-1
-17
-8
-12
7
-7
-46
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
-25
-2
0
0
0
-2
25
-2
-2
0
7
27
7
-1
0
20
-13
-4
-1
-2
-34
3
8
17
-29
3
-3
21
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
7
0
0
0
-7
-4
0
0
0
-19
1
1
0
0
-13
12
-10
-6
0
31
-18
20
33
0
8
10
4
-15
0
-133
-19
-97
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
3
-1
0
0
0
-4
-5
0
0
0
7
8
3
0
0
-31
-11
-2
0
0
-23
-14
-15
21
0
3
1
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
12
-5
0
0
0
8
19
18
0
0
109
-3
19
0
0
3
2
-9
0
0
-104
-10
-29
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
5
8
0
0
11
-44
15
0
0
42
23
-3
0
0
-56
5
-22
0
0
-67
4
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
20
1
0
0
21
-16
-13
0
0
36
0
26
0
0
-2
-9
8
0
0
1
5
29
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
13
0
0
0
0
-2
-7
-2
0
0
-44
46
-25
0
0
3
8
15
0
0
5
5
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
0
0
0
0
-19
0
0
0
0
2
12
-7
0
0
-4
9
-5
0
0
5
4
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
2
0
0
2
-20
-4
0
0
19
2
1
0
0
63
-60
-49
0
-3
38
-1
-9
-4
-4
-14
8
5
11
-11
3
7
5
-8
0
0
0
0
0
0
-23
9
0
0
0
2
7
-3
0
0
-1
1
4
0
0
5
-13
-5
5
0
-22
-82
13
-44
2
-4
18
-5
-9
8
7
2
0
0
4
9
-14
6
-3
-2
8
0
0
0
0
-5
25
-2
0
0
15
-20
-3
0
0
15
16
-34
0
0
-13
-5
-24
3
0
38
10
10
22
-4
7
10
-9
8
32
10
-10
4
-1
-8
23
24
-16
15
-14
-12
16
0
0
0
29
44
1
0
0
-19
-28
-2
0
0
-2
6
-8
0
0
-34
11
34
13
-5
-21
-50
25
-73
30
-2
2
-10
-37
3
-11
10
-17
4
0
0
0
0
0
0
-12
5
0
0
0
-1
15
0
0
0
47
-45
2
0
0
-21
25
-6
0
0
36
15
4
9
-4
22
-25
-23
5
13
0
10
25
-20
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
-1
0
0
-10
-19
7
0
0
8
39
-15
-13
0
4
-27
-29
24
-9
-87
22
-33
35
-5
10
7
1
3
15
14
-58
4
1
3
0
0
0
0
0
58
-4
5
0
0
-12
-2
2
0
0
1
2
33
0
0
13
-21
25
-4
-1
-10
-54
32
-8
-20
36
5
-22
22
2
-2
-27
-1
0
34
0
17
-56
-3
-15
5
-3
0
0
0
-9
-1
-1
0
0
24
4
1
0
0
3
3
-4
0
0
1
10
8
5
-1
32
-9
-21
2
3
-3
-45
21
7
-7
33
3
0
-26
12
-5
-39
-24
-27
0
3
-2
2
0
0
0
-14
0
0
0
1
-14
-3
-1
0
0
6
-9
0
0
14
-17
41
-6
-1
-53
-3
55
-23
-6
3
9
-34
21
-41
-6
-35
7
-54
6
0
0
0
0
0
7
-2
0
0
0
21
18
-10
0
0
-16
-1
-18
0
0
33
-16
24
0
0
0
-8
14
6
4
45
1
15
23
-31
-23
-4
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
22
1
1
0
-6
-17
-19
0
0
-6
-24
22
5
0
14
15
7
-16
-22
7
6
10
10
24
21
19
7
5
9
-24
18
4
3
-3
0
0
0
0
0
-13
0
-1
0
0
-2
1
3
0
0
-7
-6
-9
0
0
4
22
24
-8
3
21
-13
14
9
-2
-6
1
-26
-32
18
-27
-3
-4
1
-17
5
3
1
41
-11
64
-12
-2
-1
0
21
15
-13
-1
0
-26
29
51
-24
0
11
38
1
4
0
-3
15
-15
7
-4
21
-11
13
21
6
16
3
-5
-2
14
-2
-2
1
-3
-2
-2
4
-3
2
-3
24
-1
0
0
0
-15
30
-1
0
0
-13
8
3
2
0
8
10
-6
5
0
3
-32
2
15
1
-32
16
-19
3
3
13
-6
-7
-13
50
5
0
0
-1
-11
0
0
0
0
0
3
21
-1
0
0
-8
18
-29
0
0
40
29
11
4
0
-8
42
-6
-2
0
4
23
-20
8
9
-13
-54
24
-6
-16
-17
1
7
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
0
17
8
2
0
0
10
-5
-1
0
0
-16
-8
-2
4
0
14
25
31
-6
0
3
6
1
7
0
8
3
9
-6
0
0
0
0
0
0
6
-2
0
0
0
1
-1
0
0
0
8
33
-1
0
0
-22
3
-9
-4
0
-24
-17
1
8
0
19
7
10
5
0
10
1
-14
-23
0
-58
-40
2
51
0
8
0
0
0
0
0
4
0
0
0
-13
-17
0
0
0
-17
-13
0
0
0
11
35
10
-9
0
-16
-23
-12
-23
0
29
1
36
12
0
-3
14
-2
42
0
17
0
-6
-1
0
1
0
0
0
0
-3
-1
0
0
0
3
-1
0
0
0
1
7
0
0
0
-30
-6
14
8
0
-24
-33
22
21
0
1
11
-5
39
0
0
3
-40
0
0
0
0
0
0
0
-1
-2
0
0
0
-4
-9
0
0
0
3
-5
0
0
0
-63
-57
0
0
0
43
28
-13
-1
0
9
23
-14
1
0
4
11
-40
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
18
7
0
0
0
-8
-32
-6
0
0
-6
-22
-5
0
0
1
23
14
0
0
0
1
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
1
0
0
0
0
8
-4
0
0
0
47
-2
5
0
0
-6
-47
10
0
0
15
-7
1
0
0
-31
0
-3
0
0
0
0
0
0
0
4
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
-5
-10
-1
0
0
-10
40
-16
0
0
15
-14
25
0
0
44
-1
-14
0
0
-6
-4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
6
-18
-6
0
0
28
-6
19
0
0
28
37
31
0
0
-4
-7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-40
17
7
0
0
-9
7
17
0
0
6
11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-29
-7
0
0
0
-66
-7
3
0
-1
15
6
-17
-32
-3
13
9
9
11
-34
4
-15
-3
-5
7
0
0
0
0
0
0
-3
0
0
0
15
-10
0
0
0
23
1
-5
0
0
-10
-1
0
0
0
10
-53
-34
0
0
0
1
-5
17
43
-16
0
8
1
6
15
-9
-7
-1
8
9
0
0
0
0
14
1
0
0
0
-10
-13
-2
0
0
-4
42
-1
0
0
-17
-2
-7
1
0
-89
41
-28
-5
2
-14
-2
3
-41
-41
29
-4
7
0
-15
16
-44
0
19
-4
3
-2
0
0
0
-8
-7
0
0
0
-25
-5
0
0
0
-5
8
1
0
0
13
9
-11
-1
-2
48
83
-112
15
-14
22
-5
5
-31
-22
17
5
2
6
-6
0
0
0
0
0
-17
-8
0
0
0
-1
-1
0
0
0
-5
-5
0
0
0
-6
-13
-7
0
0
-14
18
5
-10
0
-40
1
-3
-33
2
-18
14
-14
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-24
8
0
0
0
-14
-15
-4
0
0
-5
18
14
-12
1
-56
16
10
35
-4
-9
3
9
0
5
11
14
3
-1
1
0
0
0
0
0
-41
14
-1
0
0
-7
22
-13
1
0
-14
3
2
0
0
9
31
-7
6
-4
-45
-6
7
-12
21
3
4
-2
-15
42
3
0
1
0
5
7
15
-1
0
-5
-6
8
0
0
0
3
-40
0
0
0
-14
4
3
0
0
12
0
0
5
-1
57
11
-26
-3
6
-63
25
38
7
15
9
-7
-4
-2
42
0
3
3
2
-12
27
-2
9
9
0
20
15
-5
0
0
7
-16
-7
0
0
-28
13
4
0
0
-26
-16
7
0
0
70
-55
6
23
-4
-48
33
1
-46
-6
-81
13
-8
31
14
20
-3
-24
-37
27
0
0
0
0
0
-1
-47
0
0
0
-23
-6
0
0
0
4
5
0
0
0
-16
-21
-15
0
0
33
84
4
-1
-3
-21
-4
-21
30
10
46
7
49
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
15
27
0
0
4
-14
-8
1
0
-2
-31
32
50
8
29
80
10
24
-31
40
2
8
9
50
12
17
3
-3
2
0
0
0
0
0
8
-15
-8
0
0
5
-5
8
0
0
-18
0
-4
-3
0
-1
26
-13
16
0
-2
-2
-22
22
-10
-19
2
-2
25
5
6
-2
1
0
9
15
-2
1
-6
2
0
3
-7
0
0
-5
-21
37
-8
0
44
0
-10
12
0
-18
14
10
2
1
-10
0
14
-16
8
-9
-29
-5
-7
8
3
-9
-4
-5
-10
8
1
-1
0
32
-37
45
7
40
-2
-25
21
0
0
0
36
-3
-1
0
0
-17
3
-4
0
0
1
2
41
-5
0
-13
30
6
-7
1
-23
23
16
20
-39
15
-3
17
-3
35
-3
0
-1
3
-23
0
0
0
0
0
1
-29
0
0
0
-3
6
-1
0
0
1
-1
3
0
0
4
-2
-12
0
0
-10
-2
45
1
-1
19
1
10
4
16
-15
11
12
21
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
7
5
2
0
0
10
9
-5
0
0
17
2
1
-47
0
-3
24
-22
0
0
50
-4
-1
-7
0
0
0
0
0
0
-1
-1
0
0
0
-4
1
0
0
0
-5
-10
-2
0
0
10
-22
-8
2
0
3
8
-33
-15
0
-3
-17
-31
17
0
-1
-11
1
-13
0
8
1
7
-4
0
-5
0
0
0
0
6
5
0
0
0
5
17
-2
0
0
5
-16
2
0
0
-11
5
2
14
0
-13
28
56
25
0
3
4
-20
7
0
23
-4
1
-2
0
6
4
-7
2
0
-8
0
0
0
0
29
-5
0
0
0
30
-2
0
0
0
11
-2
3
0
0
15
8
2
-3
0
-10
7
-49
19
0
-1
-17
18
-23
0
-21
-13
0
9
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
55
-14
0
0
0
-23
-16
5
0
0
-22
27
10
12
0
-27
-15
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-61
35
5
0
0
-35
26
-6
0
0
3
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
16
3
0
0
17
6
-10
0
0
3
2
1
0
0
58
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
2
0
0
0
6
17
-13
0
0
-2
20
2
0
0
-38
-10
-1
0
0
-53
-109
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
14
8
0
0
0
15
15
-8
0
0
33
-6
13
0
0
-35
-25
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
14
-7
3
0
0
-12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
-3
0
0
7
40
28
10
5
-41
-64
20
61
38
-4
1
-112
-92
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
1
-5
-5
19
-6
1
-17
3
-12
-13
-17
0
-7
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-3
4
1
-1
0
6
-6
8
3
-2
-43
-30
-17
0
0
0
-32
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
-2
5
0
0
0
-2
20
-8
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
-10
-1
0
0
2
-8
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-44
-16
10
-2
-66
-18
-63
-12
18
-7
0
-4
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
-32
-35
-18
-5
-19
-28
10
1
2
-1
-16
3
-8
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-56
16
-6
-1
0
-14
21
38
-36
0
-8
-34
-24
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-18
-8
-3
0
0
-17
-90
10
0
0
50
-36
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-14
13
1
0
0
-30
-15
23
0
0
1
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
5
12
3
0
0
0
-4
0
0
0
1
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-8
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
-6
4
-6
6
-44
-8
9
20
-10
-21
-22
-3
4
-20
5
-28
-26
-77
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
2
1
0
0
-46
41
-23
-15
0
20
14
-37
68
6
-27
-57
65
-37
1
76
-39
-111
-104
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
13
16
1
0
0
-17
-17
-7
27
3
-9
26
20
26
-8
-8
2
7
-124
-23
10
-54
-41
15
-58
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
41
-9
-15
0
0
0
-5
2
-4
0
29
-19
25
9
7
-48
-25
-13
39
2
20
-42
-40
-77
-10
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
1
-13
0
0
0
-20
6
-8
0
0
-1
-8
0
-6
0
-2
2
3
4
-13
-5
-7
-24
-3
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-13
-41
-8
-5
-27
-22
14
-49
7
28
-44
-47
7
-19
22
-12
-4
1
-20
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-10
6
0
-13
-43
-19
22
24
-25
-36
60
-47
-32
16
23
-48
-25
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
-1
0
0
1
8
2
-15
0
13
23
-7
-16
-8
-3
0
-20
-29
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
4
0
-1
0
0
-30
-30
-3
-2
-5
48
3
-6
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
8
0
0
0
5
-1
-1
0
0
-13
13
13
1
0
-6
-8
-16
-14
0
4
-40
-53
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
-27
-52
-36
36
-2
-19
-1
-10
-24
4
-88
-23
-6
-24
-35
-12
2
-78
-7
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-22
0
0
27
-42
22
-62
5
-13
-46
13
30
36
5
2
13
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-7
2
0
-1
9
2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-2
4
1
0
8
-19
5
0
0
-7
8
-22
16
-10
19
-25
25
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
10
1
0
-3
0
57
-70
-31
-7
0
-48
-1
-17
-4
0
-46
-116
-36
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
-10
3
-30
-3
0
-34
-78
-4
-8
0
0
-14
23
-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
-1
1
0
0
1
5
3
-2
0
0
-63
-36
4
0
0
43
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-2
0
0
0
8
-3
1
0
-1
-53
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
-4
-4
-5
0
0
-2
12
-8
-1
0
8
-25
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
-22
-4
0
0
57
6
-4
0
0
-10
27
-11
0
0
22
-96
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
-10
29
5
0
0
-57
21
17
0
0
-39
-65
-85
0
0
56
-26
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
-13
-6
0
0
-6
-20
-39
0
0
-28
-88
-89
0
0
11
11
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-10
-23
-1
0
0
-3
-18
-30
0
0
9
-7
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
-2
9
3
0
0
25
-20
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-27
8
1
2
0
22
-35
-32
-7
1
45
-5
90
26
-10
-14
-4
-1
3
16
-21
-27
30
9
20
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
-23
9
-5
0
0
5
20
-7
2
0
-16
-35
28
28
0
52
2
6
-29
-12
-45
19
6
-2
17
6
34
34
13
43
1
0
0
0
0
2
-1
0
0
0
-4
-2
0
0
0
-1
19
1
0
0
4
23
8
7
0
34
43
-14
-4
-18
-5
14
16
-22
-48
-135
-30
7
-27
39
23
-80
10
-17
-9
-1
-4
0
0
0
-14
0
-1
0
0
8
0
0
0
0
-30
6
24
0
0
12
37
-1
-1
0
6
-12
-30
6
-65
-15
-1
63
23
32
-39
14
-74
13
-2
0
0
0
0
0
8
0
0
0
0
-2
3
0
0
0
-8
33
0
0
0
20
-47
-4
0
0
-19
17
-1
-13
0
20
-41
13
1
2
7
-18
-14
27
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
2
-2
0
0
3
28
4
0
0
7
57
-22
35
0
-1
-68
4
4
14
-99
-2
6
-34
12
62
-75
-35
-19
-48
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
3
0
0
-2
3
-9
-3
0
-29
0
-32
11
8
-17
20
-37
-7
-49
18
-7
6
9
0
58
4
81
-80
17
0
2
0
0
0
1
0
0
0
0
0
-1
0
0
0
-8
-8
-5
0
0
-18
-7
0
-4
2
-9
6
-37
-5
1
-27
-18
5
17
-28
12
39
19
-12
-141
9
-82
-55
-65
29
0
0
0
0
0
0
2
0
0
0
1
-3
1
0
0
14
-4
-9
0
0
-9
-3
-5
-13
0
-4
13
-10
-6
-7
-4
12
7
26
-43
-18
-30
3
22
21
0
0
0
0
0
-8
-2
0
0
0
2
-2
-6
0
0
0
-3
1
0
0
-4
8
-4
0
0
8
-45
-3
-6
-1
-31
-5
9
-5
-9
52
-3
-15
11
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
0
-5
10
-19
0
0
2
-30
14
1
9
22
17
35
-4
-38
-23
8
-4
0
-2
-9
-20
-82
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
-9
-14
-2
-1
-55
-2
-24
0
-5
-19
7
53
33
-21
82
28
-76
1
-23
89
65
-1
-50
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
5
4
0
0
4
4
0
0
0
3
6
-7
0
0
-5
-6
2
1
0
-13
-70
27
-22
6
-9
46
14
-34
-46
9
2
-120
10
29
0
0
0
0
0
1
-3
0
0
0
1
9
5
0
0
-4
-4
7
0
0
9
-12
-5
1
0
1
-21
-5
2
2
-4
2
-61
-41
-8
33
21
22
16
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-4
-1
-8
0
0
0
-54
-10
9
0
23
29
8
2
0
-4
8
-7
7
0
-16
7
-45
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
15
0
0
0
10
-50
-28
-42
0
-30
-35
91
-8
0
-88
9
-36
47
0
27
27
-22
-27
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
-4
-1
0
0
13
-9
4
0
0
2
-9
-24
7
0
-46
-22
-4
9
0
-80
43
-30
-63
0
68
-28
3
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
-1
2
-32
3
0
10
-13
-20
-17
0
1
-6
41
-14
0
3
-6
-38
-19
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-7
9
0
0
0
14
-8
-1
0
0
12
-9
-26
-17
0
0
-33
24
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
17
12
0
0
-35
-8
-38
0
0
3
38
18
0
0
6
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-55
23
-16
0
0
36
-26
-14
0
0
-1
9
16
0
0
30
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
14
8
-12
0
0
-15
48
-6
0
0
42
-8
-80
0
0
-4
-28
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
3
-8
0
0
0
-2
-4
-9
0
0
20
8
-40
0
0
-35
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-12
-3
-1
0
0
-10
-3
-3
0
0
49
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
1
-13
-2
0
0
-3
33
-50
38
20
59
11
29
3
67
-22
79
36
71
3
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-2
0
0
0
0
9
0
0
0
-36
22
31
-7
0
-27
13
-2
-4
-12
48
27
10
20
4
-17
19
110
-42
28
0
0
0
0
0
1
0
0
0
0
6
3
0
0
0
0
-1
0
0
0
-7
14
1
0
0
-24
18
16
5
0
31
18
21
32
-1
125
-23
-11
-1
12
-58
59
-17
-13
31
2
2
0
0
0
2
-2
0
0
0
4
-1
0
0
0
0
1
0
0
0
1
4
6
-1
0
-9
2
0
-34
1
17
34
-22
0
13
-14
-17
-18
84
-45
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
-1
-1
0
0
16
20
-1
-1
-6
3
-1
28
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-5
-1
2
36
1
4
-24
-10
85
-6
-25
15
-6
-46
-25
71
66
55
-18
19
0
0
0
0
0
0
1
0
0
0
-1
-1
0
0
0
9
5
3
0
0
-4
27
3
2
0
39
9
5
6
5
26
-5
24
46
-1
-2
-5
27
-6
18
25
-45
-27
-10
1
0
0
0
0
0
-1
1
0
0
0
-5
-2
0
0
0
8
-5
20
0
0
8
4
18
-7
1
25
-38
-58
-24
2
-32
28
30
-16
9
-21
-13
-9
26
-31
34
44
28
-20
-12
0
0
0
0
0
24
2
-1
0
0
5
2
0
0
0
-4
13
3
0
0
-2
4
7
1
0
28
-107
-11
34
12
-1
8
17
-11
20
-14
47
11
-7
-61
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
21
0
0
0
-1
-14
5
-14
5
3
23
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
-5
18
-5
14
1
22
2
0
87
-21
50
-4
19
-11
37
11
1
13
-26
10
0
0
0
0
0
3
0
0
0
0
-4
-1
0
0
0
1
-8
-6
0
0
-4
1
-8
10
1
6
75
47
-59
16
-59
28
33
36
11
-1
3
-13
13
7
58
21
22
-43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
4
-5
5
0
0
0
-3
0
-1
0
2
7
-28
0
0
3
-1
-13
-8
0
-16
-4
4
7
-9
-17
40
-10
4
-15
-48
-43
19
27
5
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
-2
0
0
-5
-13
-3
2
20
2
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
5
-9
-4
0
-21
104
66
-12
0
-15
-17
79
-9
0
68
-7
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
-9
4
0
0
-28
-21
-39
-5
0
4
-8
4
-54
0
-12
13
-12
26
0
3
19
7
14
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
6
-3
0
0
0
4
8
-2
-1
0
18
61
10
-25
0
6
-6
-21
11
0
144
10
-17
21
0
18
-65
-26
-80
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-4
0
0
0
0
20
0
1
0
0
13
-16
66
0
0
65
-14
-17
13
0
-29
9
-5
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
-16
0
-1
0
0
4
-2
1
-1
0
0
-12
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-3
1
0
0
68
31
42
0
0
9
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
5
0
0
42
26
9
0
0
15
1
18
0
0
-56
-14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-7
0
0
0
-4
-20
-11
0
0
2
6
-25
0
0
0
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
-3
-8
25
0
0
1
84
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-40
40
0
11
16
54
-2
-9
13
43
74
-67
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-3
0
0
-33
-5
59
46
5
13
-15
10
-1
-2
12
10
-11
-51
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
2
0
-45
5
48
2
31
-47
11
-62
20
0
0
-3
15
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-70
1
1
0
0
-1
-12
2
-3
0
14
52
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
1
42
17
-23
0
6
22
-11
6
9
27
32
57
26
15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
-7
1
0
0
0
6
0
0
0
51
-48
24
24
-8
-88
25
31
-20
0
-34
20
-16
36
10
16
-28
-14
-8
-22
0
0
0
0
0
-3
1
0
0
0
2
-3
0
0
0
0
1
-1
0
0
1
1
3
-1
0
2
-15
-48
-6
-4
53
6
16
-22
-7
-58
-8
34
4
37
-1
-72
4
-4
21
3
-1
0
0
0
3
15
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
7
4
1
1
20
-19
-7
5
1
16
-60
47
-22
16
-5
11
-35
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
40
31
-5
-5
-11
41
21
-2
28
12
-10
-29
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-2
0
-2
0
3
-10
26
8
7
7
-1
8
17
6
-25
-11
16
20
-5
45
3
-10
-45
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
1
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
-1
0
1
0
8
-25
20
-4
16
1
29
1
3
1
0
1
-102
12
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
4
0
44
-40
-50
5
0
5
48
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-16
-44
13
5
0
-57
25
45
8
0
4
-5
2
16
0
5
34
-57
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-3
-1
0
29
14
-5
3
0
17
-4
9
12
0
-1
49
-49
-9
0
0
-9
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-9
-3
0
0
0
22
-9
0
0
0
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
34
0
0
13
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-2
50
0
0
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
7
0
0
8
14
-3
-7
1
-11
61
26
44
5
-19
-1
0
-32
-16
2
-31
17
-11
-11
14
6
-3
14
4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
-4
-7
0
0
-8
0
-3
9
-3
14
1
-9
-26
8
-43
42
-32
11
87
25
15
9
-18
2
12
-24
12
0
-132
-2
-1
0
0
0
0
0
-1
0
0
0
4
0
0
0
1
-6
37
0
0
0
-25
-5
0
0
9
-52
14
17
8
-1
58
28
-21
-6
41
17
-45
73
11
-59
33
-9
7
-6
0
-1
0
0
0
0
0
0
0
0
-6
0
0
1
0
-2
8
1
0
0
4
10
-3
-4
0
-15
20
-6
16
10
33
-61
31
46
-4
-43
6
-17
-19
-51
0
0
0
0
0
0
1
0
0
0
-9
2
2
0
0
-8
22
0
0
0
9
7
-2
0
0
-1
9
8
-9
0
14
-29
13
-16
13
-32
-15
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-17
0
3
0
1
19
-4
28
16
-41
53
-89
-4
-40
-2
-7
-25
-75
-1
50
-102
34
-7
72
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
5
8
1
0
0
-5
8
2
0
0
-8
10
1
1
0
5
-4
12
-6
-7
-4
6
-1
53
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-7
4
5
0
-23
35
-12
19
25
-40
-48
41
35
3
0
-10
-34
-8
-42
-2
-42
19
-41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
27
0
0
0
0
1
-5
0
0
0
-20
7
3
0
0
9
-17
1
1
0
-11
-54
8
-23
1
-21
21
-42
25
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
-3
0
0
0
0
5
8
1
-1
0
25
14
-14
-2
0
56
45
86
3
0
-22
-26
6
1
0
5
-24
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
4
0
0
0
3
16
-2
2
0
7
-53
8
-8
0
4
48
-57
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
-2
0
0
0
0
-6
-4
-1
0
0
-52
-28
-5
0
0
7
40
71
0
0
-32
57
-42
0
0
-54
-97
-19
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
-7
0
0
0
0
1
-3
1
0
0
-14
-40
22
0
0
22
47
-40
0
0
-80
-7
-87
0
0
-44
-75
81
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-9
-1
0
0
0
8
3
-4
0
0
9
-25
14
0
0
21
1
-17
0
0
-102
19
-21
0
0
-66
-33
46
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
6
1
0
0
0
-8
-7
-17
0
0
3
-22
-28
0
0
-23
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-24
24
-5
0
0
-20
-31
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
-9
0
-10
0
0
46
1
-40
-34
-16
-49
38
20
37
7
10
-3
23
2
39
-22
31
25
-15
-20
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
3
-3
0
0
-4
-1
8
-3
5
15
19
-42
13
-4
-36
-26
133
-31
10
-6
15
37
-9
-26
80
8
-99
89
-50
0
0
0
0
0
1
1
0
0
0
2
2
0
0
0
5
17
5
0
0
1
2
-13
0
0
-4
-28
-9
2
8
-50
-42
-10
41
4
-7
69
29
12
20
-9
23
6
15
-72
0
0
0
0
0
0
-5
0
0
0
2
1
0
0
0
0
-4
-2
0
0
1
2
1
-1
0
-8
-54
0
-5
-1
13
-41
25
-15
14
-55
186
76
65
-69
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
1
1
0
0
0
-3
0
-4
0
0
0
-2
1
0
0
-19
-13
-2
4
1
-10
32
29
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
-1
3
1
0
0
1
15
8
3
0
13
6
24
-4
2
-29
-10
-6
109
45
52
-26
-46
-87
18
-42
3
48
-21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
12
7
-17
1
12
-5
13
-4
3
48
18
2
-41
-5
-8
-54
-31
16
20
-8
2
0
109
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
8
0
1
-2
1
2
-12
-14
0
2
5
0
-2
-3
-1
-3
54
-20
48
5
0
-1
50
-19
2
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
1
-3
0
0
0
0
2
0
0
9
-1
9
-1
1
23
22
-6
-43
7
-1
-19
20
40
-19
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
-2
0
0
0
-4
0
0
0
1
-2
2
0
0
-6
24
3
-24
0
48
-45
25
27
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
3
0
0
-63
-11
-6
28
-15
56
20
0
-13
18
-39
-1
8
-22
57
-80
-8
41
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-7
-4
-23
-5
-3
4
9
-15
54
-12
-24
18
4
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
-2
0
0
0
0
-1
4
0
0
0
-1
4
0
0
0
4
-17
16
-2
-2
2
51
-16
6
3
0
0
0
0
0
5
-2
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-2
6
0
0
0
-1
4
-8
7
1
-19
28
-10
-24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
13
0
-1
1
0
-6
55
5
1
0
52
39
-23
-46
0
42
-9
19
-53
0
9
-22
57
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-10
16
-3
0
0
-32
27
10
-12
0
-14
6
18
10
0
69
-17
-24
4
0
-25
-23
40
1
0
0
0
0
0
0
-1
0
0
0
0
2
1
0
0
0
-2
-1
0
0
0
-8
1
1
0
0
24
-11
-6
0
0
30
-9
-25
-7
0
-36
-40
3
18
0
-48
105
9
38
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
-3
0
0
0
0
0
-2
0
0
-12
8
-1
-1
0
-29
29
17
0
0
-20
3
-40
40
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-1
0
0
0
-3
0
0
0
0
-2
-8
-2
0
0
-3
-30
-6
0
0
25
16
25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-10
8
0
0
0
39
0
1
0
0
35
-13
-11
0
0
31
25
17
0
0
-66
15
58
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-6
-1
0
0
0
2
8
-1
0
0
-13
-22
-2
0
0
-55
86
6
0
0
-14
-78
92
0
0
75
104
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
23
0
0
0
0
16
-3
-1
0
0
-36
10
4
0
0
34
5
2
0
0
98
37
-16
0
0
-75
61
81
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
-8
9
-3
0
0
17
-8
14
0
0
-11
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
-30
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
8
0
0
0
-13
8
17
1
0
27
6
49
59
9
-17
30
7
-31
-3
51
-46
42
40
103
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
-1
0
-1
0
3
-26
-4
-3
0
-24
34
-31
48
-1
58
96
87
-17
-5
104
10
144
88
2
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
4
2
0
0
0
0
2
-1
0
0
0
24
-7
2
0
4
-32
-57
-2
10
-31
110
79
48
0
15
0
12
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
-7
3
0
-1
1
65
-12
-2
0
4
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
13
-7
6
0
54
17
-5
47
2
-45
-8
84
-79
-24
32
9
28
93
27
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
19
-13
-6
-2
0
-10
-4
-79
-5
4
43
-43
-44
1
0
-56
87
29
-1
-5
8
-1
263
76
6
0
0
0
0
0
1
0
0
0
0
-4
-1
1
0
0
0
-12
0
0
0
-12
14
6
-3
0
-8
-9
33
18
-17
13
11
-9
-49
10
25
12
69
132
-62
0
0
-38
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
0
0
0
-10
-7
0
1
-24
49
33
-28
5
25
-4
6
-7
13
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
20
8
7
0
-5
12
27
13
5
-27
29
65
-20
13
20
3
41
69
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-7
-5
0
15
21
-14
1
-2
14
13
75
4
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
-3
2
0
0
0
0
1
1
2
0
0
-2
-2
2
-2
3
49
0
25
-9
0
-7
-24
0
2
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-3
0
0
0
-9
-19
8
0
0
21
-16
-4
6
0
181
141
18
9
0
-23
-57
118
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
21
7
0
0
0
26
8
-2
0
0
25
10
15
-1
0
17
42
1
13
0
-28
127
70
4
0
12
-73
79
7
0
3
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-9
0
0
0
0
-8
-4
-6
0
0
-5
-9
-2
1
0
1
73
28
0
0
21
-48
57
48
0
0
3
15
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
-5
0
0
0
-3
0
0
0
0
0
7
3
0
0
10
10
4
7
0
-40
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
-7
0
0
0
-8
9
-8
0
0
38
145
21
0
0
-22
-13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
15
22
-8
0
0
-22
43
23
0
0
-12
-40
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
-31
12
4
0
0
25
22
26
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
3
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
-9
0
-9
6
49
3
2
22
4
8
-24
8
45
-49
-26
3
-3
0
5
-12
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
-1
-4
-5
0
1
-23
5
0
0
2
1
-20
-8
-1
0
-18
-12
10
24
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-2
0
2
0
0
-1
2
-9
-1
0
-9
-1
-16
22
0
3
-12
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
-2
0
0
-7
-2
-8
7
1
9
-20
-19
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
17
8
0
0
-9
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-2
-5
-29
-40
14
4
9
19
12
37
14
-6
-33
0
-95
0
-5
0
-1
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-12
0
0
0
2
10
-3
-13
47
-44
-46
-13
7
-31
-16
42
10
9
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
1
-3
0
-17
-13
5
4
0
30
-48
-13
7
0
14
65
43
-13
0
0
-3
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-23
7
-5
0
0
-6
-43
6
0
0
52
19
-7
0
0
-9
44
-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
-1
0
0
13
-2
0
0
0
14
-14
-2
0
0
-47
-2
-24
0
0
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-19
0
0
0
-8
29
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
-1
0
0
0
-1
-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
1
0
0
0
-22
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
-4
-47
30
-5
-1
6
-4
-4
-69
10
11
-47
16
-19
56
-29
19
11
22
-92
-14
-4
33
18
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
-5
-5
5
5
0
0
45
-2
-31
-10
14
-83
22
-28
43
-25
29
-30
40
-14
-13
8
11
46
-45
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-3
-25
1
0
0
2
-1
4
0
-20
4
8
-27
-5
-4
27
45
20
8
-7
-70
-14
27
3
17
18
-45
-61
20
0
1
0
0
0
0
1
-2
0
0
2
5
3
-1
0
-6
1
10
0
0
-4
1
-4
-2
0
-8
20
3
20
3
21
-20
4
-2
22
-82
22
5
12
-12
0
0
0
0
0
-2
0
0
0
0
-1
-3
-8
0
0
6
3
-1
0
0
-27
16
-8
1
0
-2
-12
3
4
0
-8
0
7
-5
-7
8
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
7
2
-51
62
24
-70
-18
4
2
7
-21
41
-69
-58
-27
43
-47
-52
16
0
49
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-27
-14
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-8
0
0
0
1
-1
-1
0
0
-4
-1
-1
0
0
2
-1
-5
-2
0
-14
-30
8
2
6
17
-47
6
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
-9
8
-7
-20
-8
-8
102
-85
-70
15
4
-74
-4
59
-37
-48
-10
20
-3
-15
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
3
6
0
0
-5
-9
-1
0
0
8
-29
-3
3
-3
-10
24
-10
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
-1
-1
0
3
-54
-24
12
0
18
6
-27
54
0
-26
-19
1
-2
0
-82
2
103
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
7
44
17
0
0
-1
-14
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
2
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
-13
27
10
1
0
-26
10
44
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
19
0
0
0
18
-40
-20
0
0
2
5
50
0
0
-40
13
-20
0
0
-24
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-12
6
0
0
0
-1
15
9
0
0
6
13
12
0
0
-3
-18
-59
0
0
-93
31
31
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
15
24
-3
0
0
-31
-65
-10
0
0
-84
29
18
0
0
5
8
-25
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
-1
-1
0
0
0
-59
10
-9
0
0
8
46
1
0
0
-25
-8
38
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-34
-35
1
0
0
-49
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
6
-6
3
0
-37
25
-43
51
12
-23
6
4
23
-42
30
-7
38
-24
-12
-54
-45
19
-86
38
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
2
3
0
0
2
12
-5
-5
1
8
-39
20
-10
-5
-10
-6
-9
-71
-22
-21
-15
15
-36
-12
-5
36
57
49
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-8
0
0
-1
-4
8
-1
0
-3
-72
-1
-23
-5
24
35
-10
44
-7
-22
71
-10
-25
25
-24
-49
2
-3
-10
0
1
0
0
0
2
4
1
0
0
1
-2
0
0
0
0
7
0
-1
0
-2
5
0
2
0
17
-6
-17
-9
-2
0
-9
20
1
6
-85
47
-28
5
-10
0
0
0
0
0
0
1
0
0
0
-1
1
2
0
0
2
-1
0
0
0
0
-7
-2
0
0
0
0
-1
1
0
-5
-13
-2
8
0
-38
4
19
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
-2
0
0
0
-1
-1
4
0
-2
-4
-20
-4
-24
-2
-75
-24
-30
31
-30
-40
17
-48
-52
9
-36
-45
44
136
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-13
14
-1
-48
-13
-12
-15
22
1
39
-20
9
3
10
-3
96
7
7
0
0
17
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
4
-2
-1
-6
3
-2
-5
8
3
-1
5
16
13
5
2
0
-6
-7
8
-38
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
-25
34
13
-21
5
-8
-29
5
23
-27
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-1
0
0
0
0
1
-5
-3
0
0
0
0
-7
2
0
-5
-22
1
19
0
16
-36
8
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
0
12
0
-2
-3
-8
-44
15
-8
30
3
11
7
9
-55
-56
20
-52
-43
-6
-25
9
42
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-1
0
7
18
0
-3
-4
6
-9
-2
30
16
-8
3
6
-2
-1
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
7
0
0
0
2
-73
20
4
4
-1
-30
-34
9
7
0
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
-16
21
7
-1
2
-30
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
-49
34
-10
-8
0
-7
-12
72
-40
0
53
-17
-4
-1
0
-70
-29
-31
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
13
2
0
0
0
58
25
-4
7
0
-15
14
52
22
0
-50
-134
-3
-16
0
-8
-37
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
8
-1
0
0
22
-9
-15
0
0
1
22
-8
2
0
-93
-78
-11
5
0
16
25
21
16
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-7
-15
5
5
0
41
-29
19
-3
0
-48
38
-59
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
1
0
0
0
0
-2
0
0
0
0
-3
19
8
-5
0
18
-12
-25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
33
30
-34
0
0
13
-3
1
0
0
-21
-5
12
0
0
-35
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
5
0
0
0
0
-26
-23
12
0
0
38
-19
24
0
0
-37
18
2
0
0
-94
66
-90
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
55
-50
0
0
0
-63
48
13
0
0
-165
-45
18
0
0
57
-40
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
27
-16
9
0
0
-13
-2
16
0
0
-88
57
-41
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
-1
2
0
0
27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
25
6
-41
-3
0
24
5
-26
12
-9
-77
14
107
-27
-21
77
6
13
17
40
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
10
0
0
0
25
11
-3
-1
0
0
10
-22
1
9
-14
-25
108
25
-61
-16
-1
-41
57
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
4
-3
0
-14
-6
12
-10
1
-14
-109
33
13
-2
-25
0
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
1
3
0
-10
52
-23
1
-1
3
14
-30
0
-16
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
1
38
-38
1
0
-17
6
21
58
-6
32
9
-16
-23
-37
-47
-51
21
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
-1
1
-9
-27
1
-23
-8
-14
-48
25
39
1
17
67
14
21
-9
0
2
50
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
-40
-4
0
-13
-2
13
-4
-23
13
13
9
-64
5
5
-22
0
-5
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
-1
-4
2
-4
2
33
4
0
3
-65
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
-1
-14
-4
14
45
-10
8
1
38
-64
74
-22
22
-79
-4
-35
56
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
13
1
6
-1
-4
-42
41
13
-1
14
-34
-31
18
30
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-6
0
0
1
-3
-3
6
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-2
0
0
32
18
-50
1
0
53
18
50
-62
0
24
-40
64
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
25
-1
1
0
0
13
-7
-7
6
0
-17
50
22
-13
0
-70
-86
17
7
0
-6
10
-87
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
7
5
0
0
0
52
-1
-9
-3
0
47
-25
23
-3
0
-152
115
27
1
0
0
-1
4
-1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-8
-2
0
0
-17
-27
1
2
0
1
8
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
0
0
90
0
1
0
0
53
-15
42
0
0
-98
15
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-1
0
0
12
13
1
0
0
-76
-42
68
0
0
-5
29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
3
0
0
0
-1
47
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-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
2
70
41
-14
0
10
-60
64
-39
-4
61
2
21
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
30
22
0
0
-47
11
40
-8
30
2
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
2
84
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
7
8
0
0
81
-39
-43
-5
-17
-9
30
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
6
3
-13
-1
6
40
-15
-13
8
-30
-57
66
52
12
-1
2
66
-40
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
4
-1
0
-6
-5
-5
1
1
-1
-17
30
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-49
54
-8
-14
-17
0
-21
80
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-3
1
0
-23
-16
39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
-7
1
0
2
-25
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
0
0
0
5
25
-24
-1
0
-59
2
62
-3
0
-2
-19
2
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-2
3
19
1
0
6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-6
0
0
-3
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
89
-5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-17
59
29
-19
67
-1
7
-2
60
-25
-38
58
-17
-38
-22
14
-12
11
2
2
21
-16
16
-48
-8
13
5
0
-103
-62
-5
-3
-6
0
0
0
0
0
8
55
9
13
-10
-26
49
-63
-6
-21
-29
56
4
-47
8
29
28
2
6
26
-10
-7
-54
-17
-11
27
-12
-2
21
6
26
-33
-11
-1
1
-94
-60
7
0
-1
16
37
9
0
0
-10
-52
-2
13
6
-61
32
8
-13
-13
0
-12
-31
-10
52
-4
-9
18
-25
85
22
27
-60
-10
-1
37
-30
-1
13
15
-77
-120
-32
-19
7
-20
24
5
-8
-26
-53
-14
5
1
2
-8
-48
-39
22
29
51
-18
-7
48
-10
27
-10
3
36
-28
21
-12
40
-10
51
-62
17
4
39
-12
-24
-11
2
8
9
8
3
-8
-2
-3
0
0
0
0
0
2
-53
-6
0
1
-48
45
-42
37
39
-1
-27
14
14
-7
-38
9
-20
24
10
-80
9
-1
-12
36
-52
-29
9
-38
11
5
-3
-1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-19
-15
33
40
44
-19
36
-15
-18
-84
-5
65
-67
-2
-59
11
-8
62
4
1
10
3
-9
-12
-53
-48
-38
11
12
-76
-11
-53
51
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-22
30
23
2
27
-4
-12
9
1
64
-75
39
-58
28
17
8
-17
-53
-20
2
-19
28
-53
-36
17
-36
9
15
-38
-12
5
1
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
16
-5
25
-7
21
34
36
-2
-6
-59
55
-1
-6
-27
-90
-27
33
-44
41
-50
-12
-12
43
1
-9
1
-24
19
22
36
-69
-22
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-49
-6
3
3
17
-28
22
13
11
6
-12
-5
6
5
3
11
9
-20
17
-24
3
-53
5
-22
11
-11
-20
-11
2
-6
-8
10
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-22
-5
23
0
-8
11
4
26
0
40
73
-27
50
0
-68
-26
-42
22
0
-4
2
-18
-28
0
-9
29
13
2
0
34
-4
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-3
1
-1
0
-29
-1
-30
6
0
-1
54
-38
-8
0
10
13
-16
4
0
17
-8
-5
47
0
-20
16
17
10
0
-18
-13
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-9
-11
0
0
31
-52
16
0
0
-43
19
26
0
0
30
13
-20
0
0
-5
2
26
0
0
16
0
18
0
0
20
14
-25
0
0
0
0
0
0
0
-51
-74
15
0
0
20
-2
-4
0
0
26
14
-16
0
0
-43
-18
28
0
0
23
-8
24
0
0
17
-5
-12
0
0
26
-14
9
0
0
-13
-7
-5
0
0
-4
22
-8
0
0
-13
23
-11
0
0
-32
50
-1
0
0
-38
-10
-2
0
0
3
38
39
0
0
-47
19
-22
0
0
43
-2
2
0
0
-3
4
-21
0
0
11
-14
1
0
0
-18
6
-1
0
0
-37
5
3
0
0
-33
-30
5
0
0
-35
4
14
0
0
-58
64
7
0
0
-39
-27
-21
0
0
-19
-13
-6
0
0
33
-4
10
0
0
0
0
0
0
0
3
-30
0
0
0
26
-60
-6
0
0
7
18
21
0
0
-28
-4
18
0
0
-53
42
39
0
0
18
-11
-2
0
0
4
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
-33
13
-6
-36
-5
-24
31
21
-10
11
26
-1
0
16
-10
-13
-24
-7
11
4
5
-4
-42
-16
13
10
-1
20
-63
4
8
-1
-5
0
0
0
0
0
-23
-7
13
-76
41
-7
-35
55
25
43
-29
-4
-32
18
-17
-94
-40
-7
25
60
-68
18
-25
-19
-9
16
-3
-11
1
17
-14
1
-1
-4
10
7
-10
9
-12
-28
29
57
23
-5
-1
4
9
4
-15
9
-8
5
0
-15
9
21
24
-69
18
-29
-56
-44
33
54
-11
-100
-19
15
3
8
15
-4
22
4
33
-11
-13
10
-1
5
20
7
-1
2
3
11
3
-19
-17
-2
-8
-42
48
3
-25
-29
-12
47
30
13
23
21
-5
-11
-38
6
-36
50
-22
-36
42
-27
-23
12
5
-10
15
-4
11
-15
21
19
-6
17
16
0
0
0
0
0
-25
21
27
-7
0
-15
50
-2
20
-12
29
-20
4
-11
-13
8
-13
-16
27
2
-18
-12
3
-33
32
-44
-4
3
-40
-11
20
5
4
-8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
9
22
37
-42
-25
34
-11
12
-5
37
0
-3
73
-12
6
-45
-15
-51
-4
11
-15
3
-28
13
11
6
-7
7
7
11
37
-7
11
-10
0
0
0
0
0
22
-21
30
18
10
-2
-6
-74
48
1
-2
4
-5
-25
-3
34
-32
17
-31
-46
-25
32
-41
-40
23
9
11
-17
1
44
-22
-87
-11
4
-26
-36
9
-27
1
-50
-23
49
-54
-31
1
-23
-37
5
-25
-25
-25
25
2
-3
30
73
5
3
-37
-15
45
10
32
-49
34
35
14
9
-16
28
-2
51
-23
8
29
-13
-29
-20
-14
-14
-26
-12
-2
1
-10
-54
-22
-61
-1
0
-42
31
53
22
7
60
56
-5
20
-23
-31
8
44
-14
4
34
-21
-34
3
-10
6
-6
2
-31
-9
-14
-15
-17
10
11
-20
-7
-7
0
-8
0
0
0
0
0
65
-6
35
-26
0
20
-10
28
77
8
-35
39
-34
36
-19
-6
33
-4
8
-5
76
61
-27
26
45
52
-20
-22
-25
-2
-18
10
-4
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
3
-11
30
-14
-8
5
-45
15
-22
58
-12
63
31
-16
-13
-25
-9
-18
26
1
5
-5
13
26
7
-1
11
-12
0
-5
-33
-11
8
0
0
0
0
0
-10
-9
35
5
-5
23
18
-23
21
15
-31
26
-4
-19
-8
-15
15
-9
26
5
28
2
-16
3
-31
-5
-22
4
-9
-6
3
7
-9
-9
3
19
-4
-43
-1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
23
-16
-1
-3
-11
-52
-33
43
10
28
3
-12
-41
5
1
35
-21
-8
-14
22
19
17
86
24
-3
-7
-39
-16
-1
-13
12
-25
-19
-21
1
-3
5
4
2
0
0
0
0
0
-80
21
72
16
0
33
-35
-46
5
7
25
-9
-7
-7
-6
6
4
-40
-1
9
20
0
12
-29
-14
-41
3
19
-2
-2
46
-2
4
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
6
20
-11
0
-21
-42
16
-4
0
-10
24
-52
-2
0
30
15
14
-63
0
-11
-5
-5
-2
0
1
5
8
7
0
26
16
3
10
0
0
0
0
0
0
4
3
5
-18
0
-9
66
27
-8
0
-28
-13
70
0
0
31
-38
57
31
0
23
18
48
-3
0
10
25
-9
16
0
-20
1
-10
-13
0
-17
3
11
-9
0
27
-6
12
0
0
-57
12
10
10
0
-81
-23
-15
-5
0
-62
-35
-16
31
0
-26
6
-13
17
0
7
17
2
12
0
1
-12
1
30
0
-14
2
0
-11
0
37
-31
-22
-7
0
-8
61
15
-2
0
-78
-34
18
-4
0
-77
-2
-35
5
0
10
-13
-5
-8
0
-30
17
38
86
0
-16
-16
-28
22
0
-18
4
-12
-39
0
-5
-7
3
6
0
0
0
0
0
0
-53
-6
-9
0
0
-11
-58
30
-3
0
37
2
-17
4
0
2
-24
-1
5
0
16
60
-68
22
0
5
9
14
-9
0
35
-5
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-26
20
0
0
11
23
-18
0
0
20
20
50
0
0
-24
24
-34
0
0
26
19
35
0
0
1
3
12
0
0
1
29
-24
0
0
0
0
0
0
0
24
44
-20
0
0
-5
-38
24
0
0
29
-63
7
0
0
41
38
-18
0
0
3
14
-45
0
0
-1
3
-5
0
0
2
3
24
0
0
0
6
-8
0
0
-17
-6
3
0
0
-1
29
29
0
0
-20
0
1
0
0
-31
-14
2
0
0
-35
9
-4
0
0
8
8
-2
0
0
-6
10
15
0
0
3
14
10
0
0
3
-4
9
0
0
19
22
0
0
0
-5
15
-21
0
0
7
32
0
0
0
47
-4
-3
0
0
-11
-2
7
0
0
-6
12
-10
0
0
-1
0
2
0
0
1
1
12
0
0
0
0
0
0
0
13
8
0
0
0
-25
27
-2
0
0
65
-11
-5
0
0
-19
-5
-5
0
0
23
-16
-57
0
0
0
-3
-7
0
0
-10
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-44
-11
-24
3
-9
-35
-34
-11
-10
-18
16
13
9
23
-23
-22
33
36
-42
-13
-1
-11
20
30
13
24
15
-5
21
26
12
2
11
-12
0
0
0
0
0
39
-45
-36
20
13
-1
-27
0
22
-6
6
-41
36
-12
5
-30
-37
-19
-10
34
15
-41
-13
21
1
20
8
5
-4
-16
-7
24
12
16
7
68
18
7
-8
-25
-6
-59
37
-4
0
-48
-92
-3
-38
16
23
-4
-19
24
2
-25
-22
-36
-6
34
48
-94
-8
-39
46
-14
-7
-7
4
-46
9
42
0
9
11
0
4
9
12
-34
42
-52
5
13
-13
17
-1
-21
-1
0
-22
59
-45
54
-3
71
36
-16
-16
0
6
-42
7
8
10
102
-11
57
-81
-30
-6
-29
8
27
-7
13
0
-4
-2
-15
15
41
6
31
4
0
0
0
0
0
28
-62
-14
0
0
45
-14
-10
0
0
30
25
-14
-3
0
-13
-45
-32
-28
-1
56
16
-20
-61
35
-13
30
11
-30
-22
21
-16
5
39
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
14
-13
-30
3
29
-38
17
39
22
-2
24
-16
85
16
19
9
-47
-76
20
14
28
9
-3
-20
11
24
21
18
13
79
26
20
3
-1
0
0
0
0
0
20
40
18
-20
-39
0
5
28
-23
-24
5
-11
-2
-34
51
3
3
17
-7
13
-24
11
-17
22
16
1
31
-2
11
-4
52
2
10
-13
8
-1
13
4
10
2
50
34
-11
5
10
37
0
-9
7
26
-10
-18
33
1
-17
-29
37
-11
15
6
-9
-31
-4
23
-31
-15
-9
5
13
8
7
-4
9
15
-2
10
-5
-4
0
9
3
2
7
2
10
23
-2
-33
-18
-8
20
20
-68
-37
20
2
-8
10
83
19
16
-45
31
-3
5
-25
27
-2
16
31
-5
-4
14
12
12
4
14
4
9
-17
2
0
10
7
33
0
0
0
0
0
17
48
17
8
0
10
-52
-66
-29
20
-9
-2
25
59
0
29
-50
-9
-71
9
11
-7
12
-27
-8
9
28
-2
0
-5
-36
6
5
14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
11
6
22
7
-15
11
22
-4
21
57
24
76
-19
12
-8
26
48
-34
-51
42
10
26
1
-8
4
-1
18
13
7
46
55
2
22
-10
0
0
0
0
0
3
-16
10
-19
-3
12
-6
-8
4
3
-3
11
11
55
2
17
-7
16
3
68
-13
14
67
1
11
3
17
23
14
1
-4
13
-5
11
6
24
2
-1
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-2
-21
36
6
-11
8
30
6
33
-8
-24
43
15
-4
-7
1
-10
5
22
26
14
7
-43
-26
17
7
3
-18
22
-2
-7
-3
-5
-22
6
-2
1
12
8
0
0
0
0
0
64
43
-22
6
0
-24
-44
28
7
-6
-19
24
-54
42
2
15
-8
58
-32
1
19
47
35
29
-54
-38
3
52
-1
4
49
-5
-9
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
68
-11
2
0
-5
8
-29
9
0
29
61
16
51
0
36
42
-34
2
0
6
14
36
56
0
-16
5
29
20
0
45
44
-2
-3
0
0
0
0
0
0
24
31
-22
-1
0
15
10
23
-18
0
0
-18
41
-16
0
3
22
24
35
0
-7
0
8
-5
0
-17
5
45
-10
0
2
43
6
18
0
-7
2
17
-2
0
46
3
-31
-7
0
5
-25
-35
-6
0
49
-7
5
19
0
4
44
1
-19
0
-4
-50
15
92
0
-8
8
27
12
0
-11
-1
11
4
0
0
20
-1
5
0
5
-26
4
-3
0
35
17
12
1
0
26
43
4
-8
0
-13
15
5
39
0
-24
-3
56
0
0
5
8
57
-8
0
13
16
0
-1
0
-4
1
-1
13
0
6
5
6
8
0
0
0
0
0
0
-13
-22
-5
0
0
48
35
-20
0
0
-1
25
-10
0
0
-28
10
15
-6
0
13
66
59
7
0
-31
-64
-33
33
0
19
-12
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
2
0
0
16
50
17
0
0
61
-3
-9
0
0
-62
50
37
0
0
35
10
1
0
0
2
-10
2
0
0
-1
1
-13
0
0
0
0
0
0
0
30
4
13
0
0
24
57
2
0
0
-28
11
13
0
0
71
-18
39
0
0
-45
-14
67
0
0
-11
-6
12
0
0
10
26
-26
0
0
18
-4
15
0
0
-6
-7
0
0
0
111
-25
-1
0
0
-47
26
0
0
0
107
34
0
0
0
14
-27
54
0
0
9
28
-56
0
0
-3
-37
-30
0
0
1
-2
13
0
0
11
67
-5
0
0
-24
-3
0
0
0
26
-30
0
0
0
53
-15
-2
0
0
-42
-4
13
0
0
-6
23
-1
0
0
17
39
14
0
0
-3
10
-7
0
0
-1
72
-8
0
0
0
0
0
0
0
3
-2
0
0
0
13
-33
0
0
0
-35
23
1
0
0
27
13
-2
0
0
31
41
-24
0
0
7
-26
-22
0
0
3
7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-6
-25
0
-57
-70
66
-5
-16
-50
39
10
-21
-19
36
-42
-41
-19
9
3
19
-27
-1
-36
-26
23
63
1
-7
-66
-13
-12
23
74
0
0
0
0
0
-4
0
-6
-5
0
-5
5
8
-35
1
28
-30
35
-17
0
-11
5
83
4
8
-1
-2
-25
-3
-51
43
-15
-12
37
-27
-65
-43
-13
4
5
-169
-50
56
7
21
-2
0
-1
0
0
2
-25
-3
74
0
-17
-8
41
39
-2
-17
42
24
32
-22
16
116
1
33
-42
28
10
10
-47
-20
-2
-19
3
-44
75
-99
-47
-33
-16
6
-68
-3
22
53
2
-44
24
1
35
-2
1
-35
-15
98
-3
23
-33
14
-22
-6
17
67
84
43
-19
-15
7
-34
62
78
4
77
-38
-10
-37
-7
13
0
4
47
-44
-39
20
-37
13
0
0
0
0
0
6
37
-54
-5
0
-3
17
4
-3
12
-18
-32
14
67
0
-4
-23
-20
-16
2
42
-34
48
18
-4
-42
-9
37
43
-45
15
15
18
-28
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-5
0
-25
-23
-35
-35
25
-33
-65
-15
27
2
46
-62
-12
-10
-20
-14
5
18
1
15
-41
-43
7
46
-27
-103
-24
-72
-11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
0
1
2
-6
8
8
0
0
1
3
0
0
0
-5
-13
0
0
-1
0
-4
-24
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
3
-5
-2
0
0
-5
10
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-2
2
0
0
-1
-3
-13
5
-1
1
-41
-8
55
-9
-8
7
-5
-16
-2
1
0
0
0
0
0
-69
48
-20
-2
-2
20
-12
45
20
-3
23
-52
19
-38
-3
-78
2
-5
37
8
1
38
64
-28
19
16
40
-35
-10
-57
-9
-66
10
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
-22
-8
-15
-9
-7
-55
-4
32
40
-6
-26
-23
5
-13
32
76
10
-15
-9
-15
-35
-91
1
55
19
-73
-8
-11
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
0
-4
2
-31
0
0
-16
-5
7
-3
0
-1
0
4
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
41
-15
-1
-1
1
34
5
-30
15
0
13
-46
-6
0
-5
-27
19
18
-33
5
-32
32
8
-14
17
-17
-59
-7
15
17
4
92
-24
-28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
-40
9
-4
-2
0
44
11
-10
0
0
-96
-6
31
37
0
6
-8
21
-21
0
-29
-87
5
8
0
-41
2
15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-12
-1
0
0
0
3
1
0
0
-4
0
2
0
-1
0
1
-4
0
0
0
-3
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-19
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
0
0
0
0
5
0
0
0
0
5
0
0
0
2
4
-3
0
0
0
0
0
0
2
1
0
0
0
-25
-40
70
35
0
23
34
5
-1
0
12
-56
28
5
0
-69
-53
-55
31
0
30
50
-25
-16
0
48
60
-14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-62
-6
-1
0
0
5
25
-28
0
0
-46
7
26
0
0
-29
-4
22
0
0
32
-36
-29
0
0
-28
25
46
0
0
0
0
0
0
0
0
-1
-2
0
0
-65
-24
-4
0
0
-74
-75
-6
0
0
-47
15
10
0
0
-36
-2
-74
0
0
3
-6
-26
0
0
23
4
60
0
0
-5
21
14
0
0
0
0
0
0
0
5
-2
0
0
0
-20
-18
0
0
0
-24
4
2
0
0
-26
37
36
0
0
3
-53
-1
0
0
15
56
7
0
0
-15
24
-30
0
0
22
-8
-53
0
0
-3
5
-1
0
0
-7
6
33
0
0
1
15
-8
0
0
-46
-33
14
0
0
-12
46
-28
0
0
-49
20
-38
0
0
21
-40
19
0
0
30
-31
-3
0
0
0
0
0
0
0
2
0
0
0
0
-9
28
-1
0
0
-30
-28
-2
0
0
34
-20
-4
0
0
-32
-48
18
0
0
-44
24
-10
0
0
18
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
20
13
8
-8
-43
15
-20
-27
-70
-1
1
58
-10
-26
-80
-31
9
19
-15
-26
-26
-2
24
-3
-49
7
12
52
5
-10
21
-11
-20
-20
0
0
0
0
0
-58
25
12
7
-15
46
8
12
-32
0
34
-30
-7
46
-41
-33
-12
-15
9
5
10
1
-25
53
23
-16
16
19
14
-26
-51
-39
-16
-20
15
-106
-54
-26
-29
-14
-28
-1
-19
54
-4
-60
31
52
32
8
-49
80
-23
6
-5
-3
35
-5
13
16
14
-16
-2
-14
28
-61
-12
27
-49
2
-8
-37
6
-4
-4
-65
-73
-58
19
-26
-41
10
12
-2
8
-53
-13
26
7
-1
26
67
-30
-27
-1
-64
81
27
-26
-29
14
5
-5
-34
2
-8
88
-33
32
36
-4
-57
1
23
14
10
-29
24
36
-25
-24
-6
-15
-7
5
0
0
0
0
0
-69
11
11
-8
-3
147
-8
15
25
-62
-2
56
-36
-19
38
-23
57
16
-13
41
-25
33
-24
74
-8
-22
-12
-12
20
4
12
-16
9
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-31
-43
-33
6
-35
-16
-51
25
-59
-7
-30
-14
-41
-4
-36
-25
-9
-15
3
-38
18
1
-13
6
-51
-79
3
7
-23
-130
-33
-43
15
-43
0
0
0
0
0
0
0
0
0
0
4
2
-3
-3
0
-7
-13
-20
-49
10
-58
-37
-16
47
-18
-36
-47
62
16
-11
1
69
-11
18
9
-100
-92
-96
-33
17
21
-46
-25
-43
-17
0
-2
0
0
0
-1
0
0
0
-2
1
13
1
22
0
4
-7
20
24
-10
21
40
-30
-7
32
30
3
-3
-81
-12
-60
13
-8
3
-59
-118
-77
10
-60
-30
-73
-8
-68
32
-5
6
0
0
-3
0
3
-2
-6
-5
0
-13
6
-28
2
0
28
41
-36
-4
-2
49
59
31
-50
3
-76
4
6
33
-11
-48
-17
-52
20
-7
-91
-148
-19
-73
-12
0
0
0
0
0
-73
9
-22
25
-2
96
0
46
-4
22
25
54
-103
57
25
74
-42
52
11
-22
-17
14
10
-1
49
-79
8
23
-2
36
25
-17
0
-21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-48
24
-29
15
-74
-76
34
-44
-16
-11
-137
-22
-8
24
3
5
-15
-6
-46
11
2
5
52
17
-34
24
-28
23
0
-114
38
6
-125
6
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
-1
-41
-17
-6
-13
8
-32
-71
-11
8
-9
-15
43
-49
9
-30
51
2
75
-70
39
66
-88
-90
-27
-41
-14
-5
-17
-33
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
2
0
0
-2
7
-4
-2
0
0
10
-12
-14
0
5
-21
3
18
-4
17
4
-20
-36
-5
-5
-5
-5
-1
-7
-7
-31
-34
-35
26
0
0
0
0
0
69
31
-13
-20
-7
-43
22
8
41
25
-41
14
34
2
4
-7
-10
5
10
-33
16
16
18
40
23
-11
-26
-12
-49
3
-3
10
-4
7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-25
-10
8
0
45
-11
-15
-41
0
-59
-5
74
-31
0
-41
-19
-8
-21
0
13
-12
-14
-15
0
0
19
-7
36
0
-5
-70
-29
-32
0
0
0
0
0
0
0
0
0
0
0
-4
1
-19
-4
0
-12
-2
4
3
0
-29
32
16
-10
0
-2
-50
-30
-54
0
-11
-59
6
-35
0
-72
-88
49
25
0
44
14
-68
6
0
0
0
-3
0
0
-4
2
0
-1
0
2
1
8
8
0
-80
24
-5
5
0
-7
-5
-29
-5
0
10
-80
-23
14
0
25
46
-4
19
0
8
60
-47
-33
0
10
-14
42
-58
0
-4
0
3
1
0
-1
-7
6
8
0
7
7
-8
-3
0
-37
13
-5
-3
0
-67
-7
-41
19
0
-47
-25
-13
-28
0
16
-36
45
-26
0
63
34
34
-2
0
0
0
0
0
0
62
-21
5
-2
0
-18
55
71
-52
0
25
-68
1
29
0
-25
78
-34
-26
0
19
7
10
55
0
-34
-27
45
-10
0
-20
17
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
24
36
0
0
38
17
18
0
0
1
-45
-63
0
0
-7
-34
-6
0
0
-15
17
-22
0
0
-18
-9
4
0
0
10
0
-10
0
0
0
0
0
0
0
2
19
-13
0
0
-14
-51
15
0
0
8
45
6
0
0
14
-24
-54
0
0
-17
-23
44
0
0
-39
10
15
0
0
-25
-19
-6
0
0
3
13
-11
0
0
-1
1
-2
0
0
-38
6
-10
0
0
40
19
-20
0
0
31
-12
25
0
0
30
-13
-29
0
0
-45
4
7
0
0
71
-9
39
0
0
6
-14
-2
0
0
-30
10
0
0
0
10
20
0
0
0
-15
63
-22
0
0
0
-1
-29
0
0
-60
-2
-39
0
0
16
-22
60
0
0
49
0
20
0
0
-8
25
-5
0
0
-29
-16
-3
0
0
0
0
0
0
0
-7
66
-6
0
0
-28
48
2
0
0
14
35
15
0
0
-47
-8
12
0
0
61
14
58
0
0
8
-28
-4
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
7
32
-7
-2
43
-6
16
-10
14
-47
6
-26
-7
6
-43
-13
-4
-19
-60
-9
19
6
5
5
9
-1
7
6
1
-63
-21
-11
-42
-16
0
0
0
0
0
20
-30
73
-13
11
-23
89
-47
5
10
-16
29
52
-39
-9
-33
-4
-13
34
8
-1
-44
1
-8
-13
48
8
27
15
-13
-25
-2
-23
13
-33
-43
-11
-5
-4
1
3
88
-30
19
-1
-3
53
156
-85
-10
54
-9
27
-14
3
20
15
-14
-32
-14
5
1
-9
-33
27
-5
-5
31
10
-82
-1
3
1
17
2
-15
-10
-19
-14
30
-17
-28
8
22
-10
-23
-63
6
9
2
34
42
-35
-11
23
-7
23
41
22
-12
-13
-77
6
7
33
-48
-2
8
44
-13
-51
-41
3
-1
24
-10
-12
14
-5
40
8
13
-10
0
3
0
0
0
0
0
-20
-31
-27
-7
-1
0
-38
-10
-11
-25
51
78
-38
-26
-12
16
-14
61
61
-6
52
29
8
22
-28
16
9
-39
0
11
2
-15
-5
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-17
-20
-19
-3
-33
-37
-51
-28
-70
-54
34
10
111
-26
18
-65
8
-36
-35
28
0
-19
2
21
-35
-2
-12
11
-12
-73
-60
-33
-8
3
0
0
0
0
0
-17
63
18
22
-8
-73
14
19
-14
-7
-48
7
61
37
-22
6
8
31
-5
10
-55
63
-7
14
15
13
-9
-1
-17
-33
-14
-157
-76
-16
6
-29
-134
-50
-24
-10
-3
-71
13
4
-5
-29
9
4
5
-1
-80
92
-57
8
-10
-5
26
-9
16
-5
-67
82
6
-31
-14
12
-46
-32
-7
16
-55
-72
22
-8
12
-65
-65
-42
9
20
10
69
16
34
12
-77
11
-14
-24
1
-11
-92
-15
43
9
-21
9
-25
-59
-3
-10
45
35
-19
-22
7
-1
17
-26
-12
-54
40
-6
24
8
-6
-2
-48
23
30
-22
-31
2
1
12
0
0
0
0
0
50
-8
21
-9
0
-33
65
-22
11
-3
89
-17
4
-22
13
15
10
35
30
-19
-11
-60
20
43
-1
-17
26
2
-10
-31
2
-17
-2
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
120
-40
-23
8
-30
-2
-19
40
0
18
-133
-7
-26
47
-10
-32
-13
-14
0
15
-5
6
14
14
9
11
-14
-19
6
-118
-52
-51
-41
-14
0
0
0
0
0
-19
20
16
-30
4
-55
2
-17
4
-3
-21
34
-82
-46
-17
-55
-35
-19
23
-10
46
-55
-45
-20
4
-33
25
-5
-6
-11
43
-62
-65
-48
-17
-74
-41
-2
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-14
-10
-3
81
15
-39
5
0
-60
60
32
-3
8
85
6
-45
31
-8
-73
35
-2
56
-16
-63
-97
-33
58
-14
-18
-7
6
-4
51
-14
-7
-28
-25
-10
0
0
0
0
0
7
34
14
-1
0
1
23
47
-9
15
-1
47
-17
-3
-9
9
-52
25
-10
-26
8
9
35
32
34
23
7
-15
7
5
6
-3
-3
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
65
-1
-6
0
19
-11
-20
3
0
-42
4
-60
-18
0
-32
-22
58
-44
0
-14
-9
-2
12
0
-6
3
-2
16
0
14
-13
19
-2
0
0
0
0
0
0
-25
-50
1
-2
0
-6
-8
-47
-6
0
-39
-12
-79
25
0
-14
-51
3
-56
0
-21
-39
-11
-76
0
-9
14
-38
2
0
-73
-17
8
33
0
16
2
-10
17
0
29
9
1
1
0
25
6
28
-13
0
43
2
-34
-29
0
-27
-16
-27
-9
0
17
35
-12
-14
0
-33
5
-23
6
0
38
-19
4
2
0
-36
16
21
-16
0
-6
8
11
-19
0
47
-17
-13
5
0
-43
-14
24
-12
0
0
-31
29
-16
0
86
8
-23
-21
0
-13
14
-21
-6
0
-52
-1
-26
21
0
-19
-2
2
34
0
-28
13
6
1
0
0
0
0
0
0
-18
40
0
-1
0
74
-46
20
-12
0
-44
-15
11
-41
0
-14
-31
28
-57
0
29
31
-1
-12
0
-27
-12
41
56
0
33
7
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
4
0
0
33
-8
-14
0
0
15
35
-7
0
0
-3
-8
-18
0
0
-6
-21
0
0
0
3
5
17
0
0
26
-28
3
0
0
0
0
0
0
0
5
-2
15
0
0
-48
76
5
0
0
-21
6
-23
0
0
29
8
-1
0
0
9
-3
15
0
0
1
-7
-38
0
0
0
-40
-14
0
0
-9
11
9
0
0
-1
0
0
0
0
-27
-14
7
0
0
-7
-3
-8
0
0
43
-21
-41
0
0
-15
2
3
0
0
-13
-8
57
0
0
11
-22
30
0
0
24
-7
2
0
0
49
83
-10
0
0
-7
61
0
0
0
4
8
4
0
0
11
-17
-3
0
0
15
42
-38
0
0
53
12
-8
0
0
-42
-7
26
0
0
-12
8
21
0
0
-14
-13
-6
0
0
0
0
0
0
0
68
19
1
0
0
92
-7
-1
0
0
-4
49
21
0
0
-15
-31
-56
0
0
0
24
-11
0
0
-22
-12
69
0
0
65
3
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
49
0
-1
0
-115
-9
31
62
5
-54
-1
11
-8
-7
-25
17
16
-28
-6
39
-10
-17
21
5
74
8
1
9
4
11
33
27
-17
-18
0
0
0
0
0
-15
56
67
-7
0
6
4
68
3
0
59
9
1
-49
-9
-16
-51
-2
-2
22
-39
16
-4
-52
-1
-3
-11
10
0
-4
8
11
-7
48
-12
27
9
-1
-3
67
14
-29
0
0
0
140
-9
-55
-5
4
6
83
-66
-8
0
115
-91
32
3
10
-29
-4
90
-41
-47
51
-37
-21
-47
15
-6
52
-11
39
-55
-22
7
14
17
81
14
-47
32
76
18
-4
2
-23
-15
0
-19
-79
64
-5
-3
-55
34
141
-11
1
-52
-72
3
-20
-16
43
-7
-31
67
21
18
6
-34
36
46
19
-3
28
14
21
5
45
-18
-31
23
0
0
0
0
0
93
12
-21
0
0
-80
10
28
0
0
75
-31
-43
-23
-1
-21
69
-26
24
1
56
39
64
-2
-58
-47
-45
17
6
15
-17
40
12
20
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
59
22
-13
1
-37
61
7
-2
28
83
-4
-43
34
21
34
-18
-3
-41
-5
32
-24
-19
19
-3
17
15
13
20
-15
-4
8
20
3
-6
0
0
0
0
0
-18
-55
-23
-13
3
-11
25
-26
12
38
-53
26
13
-31
4
-33
17
-1
24
20
-11
-20
-24
10
-69
21
7
4
-24
-12
-56
-68
-13
-2
-19
-2
0
-29
-10
-27
31
41
43
4
1
25
-36
-30
21
0
62
-50
61
-32
12
-28
39
9
-32
-14
-28
-5
34
5
24
-61
-44
19
-4
56
25
-30
0
-2
21
19
-4
-17
3
-19
-126
24
-18
7
3
43
-36
15
16
-4
60
3
-29
41
-8
-23
10
66
-46
-30
-28
-26
-43
19
22
-9
9
-21
-17
27
-12
-5
9
16
15
36
7
-16
-32
7
15
2
4
-9
-6
0
0
0
0
0
53
-19
-20
-1
0
-2
3
21
-22
-2
48
-71
-26
-65
-1
17
-74
-47
-21
9
-46
61
51
4
13
-135
62
-42
9
43
22
50
23
59
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
-13
3
0
51
-113
-5
13
25
-36
57
-14
10
-19
104
0
-33
-11
-28
7
17
0
-13
14
62
3
-23
21
16
9
-14
16
19
-23
0
0
0
0
0
16
-7
-25
0
1
5
-16
52
-61
-2
14
-31
2
-38
-2
-14
-50
-29
46
23
-38
-39
-40
-8
-30
-64
-24
-15
17
-45
-17
-67
22
-16
3
-122
10
-15
-4
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
50
7
-3
1
-38
21
70
26
-1
-31
65
-70
13
1
-66
-43
-9
-5
-26
-43
0
21
14
-13
-15
-86
15
-5
13
36
1
-22
3
19
-85
7
25
21
-14
0
0
0
0
0
-15
-9
38
0
1
-7
7
20
-13
0
5
19
13
-22
0
-40
13
-13
-20
8
48
14
-34
46
-1
1
-5
-37
-4
11
-6
66
17
63
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-12
0
0
0
7
8
23
0
0
12
-31
-1
-20
0
11
-12
-55
19
0
-5
-10
-3
9
0
-6
1
1
-6
0
64
39
-12
12
0
0
0
0
0
0
18
2
29
8
0
44
-39
-47
14
0
-82
-39
55
57
0
23
-20
-41
-1
0
-12
-9
-10
18
0
12
-1
-26
-28
0
-8
-13
-22
-11
0
-6
8
10
3
0
-33
-9
-26
0
0
15
2
-29
-22
0
-36
33
-10
7
0
20
-64
98
-45
0
4
10
4
-18
0
-26
18
-53
-18
0
-1
-12
6
40
0
2
-8
-7
35
0
-40
-27
36
14
0
12
-15
22
0
0
27
-4
-16
-35
0
-3
9
-2
-5
0
-5
-36
11
-8
0
-37
-5
-36
15
0
-9
-26
-50
8
0
-5
13
33
9
0
-26
15
-17
-41
0
0
0
0
0
0
8
-27
-5
0
0
9
8
13
-3
0
34
-5
-5
-1
0
-25
6
23
-5
0
-20
-23
49
-20
0
-2
8
-26
16
0
-12
-27
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
-13
-1
0
0
72
29
17
0
0
-28
-41
-17
0
0
20
-36
-20
0
0
-29
13
5
0
0
8
59
33
0
0
0
0
0
0
0
-21
2
0
0
0
31
2
-3
0
0
21
-5
9
0
0
5
-16
-6
0
0
1
-74
-73
0
0
29
1
5
0
0
13
-20
-22
0
0
-66
4
36
0
0
0
0
0
0
0
43
-2
0
0
0
-25
-20
2
0
0
-65
-16
-5
0
0
38
40
-24
0
0
-48
36
34
0
0
16
38
44
0
0
-66
-9
43
0
0
0
20
-26
0
0
13
-5
0
0
0
5
1
0
0
0
-14
-18
0
0
0
50
46
8
0
0
-3
6
-27
0
0
-75
-39
-29
0
0
72
13
29
0
0
-50
-36
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
-9
10
-2
0
0
-23
-1
-37
0
0
2
59
27
0
0
1
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
-2
-1
0
115
-2
-33
1
0
37
-35
-11
-34
-2
24
29
13
53
-8
113
18
31
14
15
20
85
7
-53
15
0
0
0
0
0
-4
0
0
0
0
7
-5
0
0
0
6
-101
30
0
-1
-15
13
10
5
1
32
2
-3
-67
14
10
12
-4
69
14
-10
40
27
-11
-34
129
59
8
-41
70
0
0
0
0
0
51
-6
0
0
0
43
-47
0
0
0
-8
-40
-1
0
0
-29
108
-64
30
0
-21
24
-37
-7
0
-2
91
32
-32
11
71
13
59
-23
-55
69
-34
-21
2
4
11
29
0
0
0
-25
2
-1
0
0
8
-23
0
0
0
31
18
-74
0
-1
-1
-43
5
-6
0
26
-82
20
-37
46
-9
5
52
3
-10
-88
95
16
6
-54
0
0
0
0
0
29
-1
0
0
0
40
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
-3
-14
9
1
2
-6
41
47
15
0
8
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-20
0
0
5
-44
53
-7
5
-23
-21
49
-74
-24
-10
34
11
60
-11
-39
34
9
21
6
112
76
62
-15
30
0
0
0
0
0
-32
24
-5
0
0
9
-14
-2
-1
-2
4
95
-63
17
-24
-25
16
-39
48
-7
6
-51
19
-51
-57
-9
-37
-37
-20
-12
41
3
27
6
5
12
29
-2
-14
12
-49
-44
0
0
0
43
49
23
-5
-3
100
-52
-33
14
-2
15
-16
-36
17
4
6
-50
79
24
45
-36
33
0
-27
37
5
10
29
28
-6
24
19
-12
0
4
50
-4
80
26
-4
47
56
6
-5
0
24
78
16
-39
0
-59
-44
27
-2
-1
22
-53
22
-19
-13
-14
-6
-17
60
-55
12
6
-85
-7
-3
49
55
29
-3
15
85
14
12
-6
10
0
0
0
0
0
39
-33
0
0
0
27
0
0
0
0
0
9
0
1
0
0
0
8
1
0
0
-13
-6
-8
0
4
6
33
16
-17
-2
38
-14
-44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
7
-1
0
1
8
43
25
23
6
-1
32
-63
7
8
-3
52
3
-29
-60
-7
-5
5
-7
91
23
9
44
3
0
0
0
0
0
0
10
3
0
0
39
23
-69
6
2
97
-39
57
-4
-8
10
43
25
-21
-27
-37
-43
-14
48
18
-21
-19
-15
-29
47
-78
-5
17
19
1
-39
-3
-8
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-36
15
-5
0
34
-19
10
-24
-1
1
-18
4
2
0
-15
-18
-3
11
33
-44
-63
27
-14
44
-55
64
0
36
-7
-19
-41
91
43
-1
0
93
-95
2
-40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-5
-9
1
0
4
-5
7
30
0
0
0
-3
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
0
0
0
-4
25
1
0
-4
-4
15
-4
0
44
-70
56
-14
0
20
32
8
-17
0
-30
97
8
11
0
0
0
0
0
0
0
0
-3
0
0
-5
-10
-2
5
0
30
-16
-37
-48
0
-1
37
6
10
0
-24
7
14
-13
0
30
-3
-20
53
0
20
18
17
-13
0
63
-5
1
-7
0
0
4
0
0
0
-34
8
0
9
0
5
12
23
0
0
22
21
15
8
0
10
5
19
-16
0
-62
-50
-8
-1
0
14
-19
13
-31
0
52
-37
2
-38
0
0
39
-52
56
0
-48
10
11
0
0
-52
50
-77
-2
0
48
-7
-25
0
0
-1
26
-60
18
0
11
-19
-25
-24
0
13
-44
39
-49
0
0
-40
41
-35
0
0
2
30
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-15
0
35
0
0
-4
0
-4
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
26
19
-39
0
0
34
29
-15
0
0
-1
13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-22
-4
-17
0
0
-25
-24
7
0
0
53
25
-37
0
0
-35
47
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
11
-1
0
0
43
8
-41
0
0
0
-2
47
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
49
0
-9
0
0
0
51
1
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-4
4
-1
83
-27
36
9
6
61
-64
-44
20
21
37
-39
60
-65
-36
-19
1
3
-10
-26
-36
5
1
-14
11
10
-26
-12
15
-33
0
0
0
0
0
-56
-65
40
8
-3
106
-18
-19
-3
-3
43
-25
-38
-38
6
-38
109
19
3
-8
-11
-47
-17
2
-42
-2
-7
15
16
-20
-51
-6
-4
-7
49
-14
36
-1
14
-5
37
-49
-5
0
0
22
26
11
-1
0
41
-70
-14
17
0
21
13
-30
-42
-19
-67
0
-37
-7
-51
6
0
-37
3
2
-31
1
-17
-16
28
6
-17
5
5
9
40
8
23
48
23
-16
-8
7
0
1
38
70
-65
-20
-4
47
-33
-20
-5
1
-13
-55
-58
31
-21
63
-4
-22
-1
6
-4
7
19
-29
-22
2
12
15
-4
-7
11
4
22
10
56
0
0
0
0
0
68
18
-8
0
0
81
26
-44
0
-1
31
-13
2
-9
0
-49
-56
84
-14
-39
-39
30
14
20
29
-12
-24
2
37
-49
20
-7
14
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
7
-85
8
30
24
83
9
20
41
18
-10
-17
-13
-40
-28
-12
75
23
-6
-11
24
-1
18
28
-10
-4
3
0
-44
-18
-26
24
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
27
-22
0
0
-29
93
-11
3
1
-60
-13
54
5
2
-9
-12
48
-45
1
17
30
2
-27
-25
-8
-31
7
-39
-10
19
28
11
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-14
3
45
-8
58
-46
-15
-3
-15
-28
42
1
-8
-9
25
36
2
-29
17
-3
-10
10
4
11
-7
7
8
-15
0
-87
-4
-50
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
41
-35
30
-23
8
-24
-35
13
41
-5
0
25
-29
-7
-13
-22
9
-38
23
17
-3
-16
40
25
-19
21
13
-6
-18
-6
1
-44
-13
-5
-10
-1
-7
10
-4
-1
-3
10
-4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
-29
6
0
-27
47
-45
-7
-3
-42
6
40
25
-4
79
34
-48
2
-12
22
-37
-15
24
-14
25
6
1
9
-23
-7
9
45
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
53
9
5
0
-9
4
-58
20
0
-15
78
-40
26
0
3
-27
-8
-32
0
17
-11
5
4
0
16
-14
8
-12
0
-13
-27
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
1
0
0
-33
27
-11
-5
0
-23
8
12
1
0
-4
23
4
-38
0
-11
-30
-16
3
0
12
-2
-10
32
0
-4
1
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
31
-2
0
0
-47
-6
1
0
0
57
40
-5
0
0
77
-7
-48
0
0
-12
3
28
0
0
-7
16
-8
0
0
-3
-9
20
0
0
0
0
0
0
0
49
3
0
0
0
-5
-41
1
0
0
16
44
-3
0
0
10
33
15
0
0
-11
-14
60
0
0
-8
32
-10
0
0
-19
-10
-2
0
0
-1
-2
26
0
0
17
1
0
0
0
33
3
0
0
0
26
-7
0
0
0
-3
-24
30
0
0
72
29
-13
0
0
18
-32
-4
0
0
7
2
26
0
0
25
-17
-16
0
0
-1
-2
-2
0
0
-23
3
0
0
0
-15
0
0
0
0
2
-10
-1
0
0
75
24
-7
0
0
-32
42
-13
0
0
24
2
-54
0
0
15
-6
13
0
0
5
1
46
0
0
0
0
0
0
0
-1
0
0
0
0
19
-19
0
0
0
-16
27
0
0
0
-8
4
2
0
0
-72
2
-35
0
0
14
18
23
0
0
-2
-2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-26
-12
5
0
-4
-5
-68
9
-1
4
42
-30
15
-40
56
-25
-82
-18
-18
38
-14
-3
6
-13
4
3
20
2
0
12
35
11
28
19
0
0
0
0
0
65
56
-71
7
0
37
13
-10
0
3
-25
65
-92
19
12
31
26
3
27
-29
30
4
3
-3
48
14
14
9
-11
6
6
6
13
-8
-3
33
23
2
51
17
22
-14
-34
1
0
37
32
-18
-6
0
29
20
-43
6
0
-47
15
13
-22
8
58
3
-15
31
-35
-9
-7
-39
10
51
18
6
7
21
-47
38
16
25
0
-23
26
-4
21
44
21
-6
13
50
0
-1
29
-70
10
0
0
-19
13
-18
13
0
3
2
32
-25
13
-20
0
8
6
-12
-48
4
-4
-33
-12
44
6
-12
24
-1
-14
12
44
20
-5
0
0
0
0
0
-24
15
3
0
0
59
-20
-23
-1
0
-15
5
2
33
-1
-27
-39
-74
-24
16
46
45
-21
36
-19
24
6
6
9
38
9
-14
-3
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-10
-33
13
0
31
-39
23
11
22
72
96
20
-35
25
1
-18
-27
-16
-52
-6
4
32
-10
10
16
16
18
-4
25
39
9
14
34
11
0
0
0
0
0
23
-128
18
-30
12
-42
-9
82
6
0
45
18
42
-3
17
-3
7
73
9
7
5
31
36
26
-12
23
2
8
18
14
-17
-44
-19
8
-22
-13
-5
36
36
0
0
-13
-46
13
1
-60
83
-14
25
0
57
-34
65
3
-12
16
-28
-10
-3
20
31
-38
-2
43
45
16
11
12
-29
-51
1
9
-16
-2
34
-21
-8
0
6
19
2
3
-3
10
-9
4
-28
25
4
0
-38
21
81
6
0
-2
-7
-13
-5
-1
-2
-73
67
3
-25
24
5
42
-13
-74
16
-4
-45
-48
20
31
-16
-13
2
5
-11
37
-5
38
29
0
0
0
0
0
20
-3
5
0
0
47
-20
-1
-8
1
8
-4
28
-83
0
-60
6
-28
30
-1
-4
-41
37
26
56
-8
44
17
-6
-50
-2
-22
10
29
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
16
3
0
98
-3
-2
25
-3
-1
22
41
35
30
24
22
-32
5
-1
42
23
13
-3
2
28
13
11
2
-5
8
14
15
-1
3
0
0
0
0
0
46
-5
14
-2
0
-7
104
-1
-27
0
38
9
-25
-1
-39
33
29
-40
4
-1
34
11
-9
1
31
15
-4
11
-4
-31
18
-28
-41
9
30
-3
-1
7
-3
-6
50
-58
18
-49
-3
-7
37
9
-79
21
6
42
9
-12
-2
10
15
-49
37
-17
-42
25
-2
6
-8
12
-12
-26
7
9
-20
-6
-1
-4
-4
9
3
3
15
17
-1
-13
-4
8
-11
63
-13
1
-3
1
34
58
-27
-19
0
-42
-12
-10
50
1
57
-23
-6
1
4
-2
8
12
57
35
16
31
-28
11
-46
20
-8
-11
21
7
-8
2
37
-4
56
0
0
0
0
0
-50
21
6
16
0
97
-39
-25
-28
7
89
1
7
17
-1
29
9
-2
-34
-7
21
36
33
-36
36
6
9
29
-4
-25
26
8
-11
10
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
3
-2
0
-1
39
64
1
0
-51
-80
113
27
0
90
19
-20
12
0
12
19
2
-6
0
5
8
-11
18
0
32
20
29
22
0
0
0
0
0
0
17
-14
4
18
0
11
37
-32
2
0
-1
25
-30
-19
0
16
-77
-19
7
0
-27
-27
2
7
0
16
2
-3
36
0
36
4
-3
0
0
-28
-32
-4
23
0
53
41
8
-1
0
52
10
29
-8
0
4
6
20
8
0
-11
-3
-12
10
0
-50
72
19
-46
0
-18
-8
2
-23
0
42
4
9
-9
0
20
-30
2
6
0
-5
3
20
-2
0
38
-3
0
0
0
-57
-6
-4
2
0
77
-11
14
0
0
66
50
-20
9
0
-19
26
-35
-23
0
49
-13
27
21
0
-23
-9
6
-20
0
1
6
31
9
0
0
0
0
0
0
-54
-8
5
0
0
-9
4
0
1
0
-20
22
88
1
0
41
-6
-34
9
0
28
-40
-7
-32
0
-43
-24
-50
9
0
3
-3
9
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
16
8
0
0
0
23
17
20
0
0
-20
13
-28
0
0
9
29
18
0
0
2
7
-21
0
0
-19
6
29
0
0
0
0
0
0
0
-23
-1
0
0
0
13
16
0
0
0
39
7
-8
0
0
19
7
-38
0
0
7
-3
-80
0
0
4
-25
40
0
0
-6
-13
33
0
0
2
19
10
0
0
19
0
0
0
0
-44
6
0
0
0
65
13
0
0
0
-21
21
-5
0
0
-31
59
-15
0
0
1
-34
21
0
0
-12
-4
18
0
0
16
-30
13
0
0
-25
25
12
0
0
2
0
0
0
0
16
-13
0
0
0
26
6
-1
0
0
-57
-34
8
0
0
59
-32
-53
0
0
-1
10
-3
0
0
14
-11
15
0
0
-8
10
2
0
0
0
0
0
0
0
-12
-7
0
0
0
-15
6
0
0
0
-14
-22
0
0
0
49
25
5
0
0
14
2
26
0
0
-40
-22
-90
0
0
-1
19
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-13
0
1
0
34
1
-38
-1
0
15
-66
27
13
2
-58
27
-50
-2
-15
22
-30
28
1
44
9
8
21
-25
36
44
48
10
29
1
0
0
0
0
0
-30
47
-4
0
0
36
-84
9
0
0
24
35
-42
1
-1
63
-15
-24
-1
2
-36
-94
-7
71
20
10
-14
-56
-3
37
28
11
18
8
6
28
17
15
51
14
9
-7
0
0
0
11
-59
-29
0
0
15
3
-30
0
0
-37
37
-3
1
0
44
-25
-4
-43
12
-39
-7
7
3
40
46
-5
-18
-10
-24
22
25
6
-1
29
1
74
-41
43
39
6
-2
4
0
0
14
26
1
0
0
-19
-20
0
0
0
-55
-62
-64
9
2
-45
9
-30
10
41
0
-29
-31
-60
-32
43
18
10
-26
14
-25
32
21
20
-42
0
0
0
0
0
5
-51
0
0
0
1
-43
0
0
0
-11
-23
-3
0
0
38
-46
15
0
0
3
0
15
2
0
-32
42
-69
-51
13
-45
70
-30
32
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-39
1
-2
0
51
-1
10
-7
1
-20
7
-47
-25
8
12
42
-51
-8
49
-43
12
-49
11
16
45
11
26
7
8
56
20
24
32
-9
0
0
0
0
0
-24
14
-53
-10
-1
45
27
-20
14
0
-40
2
0
-6
42
27
-54
14
-54
33
-32
28
-11
-13
3
4
4
4
10
-39
13
6
14
2
11
11
1
29
23
10
-6
-42
39
12
1
24
-6
-10
-11
7
29
26
-29
-31
5
26
-13
-19
35
1
33
-46
-45
-8
-66
-39
0
0
-7
9
8
3
-4
-16
11
13
7
32
11
23
6
31
12
15
2
7
48
-4
39
0
73
-39
-31
8
7
16
3
22
-65
1
15
-7
-22
-39
50
-35
4
14
50
88
-12
21
14
-17
-70
12
15
-5
-9
28
-20
10
30
26
-26
0
0
0
0
0
-31
-8
-5
0
0
-20
-41
10
0
0
-2
8
33
1
0
-9
-45
5
18
-1
71
18
11
40
-15
7
-13
-1
-14
22
22
18
15
30
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-37
-1
-1
0
-29
21
31
6
0
51
22
-33
68
10
-25
10
-13
44
-11
-16
37
53
-9
14
-13
9
0
11
22
24
30
20
17
19
0
0
0
0
0
-36
-19
33
-13
-1
-55
-22
50
12
1
-111
11
23
59
77
-55
28
19
27
23
-36
18
19
-15
-11
30
11
-25
-2
16
12
1
12
5
-7
-14
16
3
32
35
-22
17
-3
4
1
21
14
2
39
-25
-2
9
-4
24
19
-18
27
42
-10
6
-10
-13
14
-14
20
43
-1
23
-14
25
7
-9
0
7
17
-10
4
-1
3
13
39
-8
7
3
-33
-21
28
1
-17
-1
36
-38
31
-37
-44
59
-30
68
-12
0
-4
-6
37
16
-16
27
-6
4
8
19
49
-5
12
-7
7
-49
-30
13
11
26
-1
10
-2
-12
-13
0
0
0
0
0
98
-26
7
0
0
17
46
3
10
0
21
-32
23
-11
0
-23
42
12
-4
-3
-68
20
39
27
-18
-9
0
5
33
-7
34
16
0
-38
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
14
-40
-5
1
0
49
23
62
4
0
-15
10
-19
11
0
45
-18
4
9
0
1
-3
16
-19
0
-8
15
6
35
0
0
0
0
0
0
-50
-4
30
8
0
-83
-7
16
0
0
-4
42
-23
31
0
-43
25
13
41
0
22
-35
-5
-24
0
5
5
-15
-28
0
-3
5
0
5
0
-20
-52
2
42
0
-23
-14
27
0
0
26
8
24
-5
0
-1
56
14
0
0
-4
-56
6
35
0
38
46
-8
2
0
19
-37
25
-16
0
5
19
19
0
0
-2
-7
-2
42
0
16
7
-4
9
0
-34
-43
-3
0
0
18
49
-45
0
0
-7
-29
11
2
0
16
51
-32
23
0
11
-29
33
-14
0
-6
0
6
-7
0
21
-15
30
-26
0
-21
-6
12
25
0
0
0
0
0
0
33
29
8
0
0
8
-9
0
0
0
43
-9
-31
0
0
53
-48
-5
1
0
-17
-4
50
-14
0
-40
-35
-61
-14
0
-31
11
-22
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
0
0
-5
9
0
0
30
41
-14
0
0
-12
44
-56
0
0
5
-29
-11
0
0
0
0
0
0
0
0
0
0
0
0
19
3
0
0
0
-5
0
0
0
0
1
1
2
0
0
46
-8
10
0
0
16
57
21
0
0
4
7
-4
0
0
3
-23
-29
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
2
30
0
0
0
46
19
-51
0
0
10
-13
-24
0
0
22
-59
39
0
0
-4
-21
51
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
38
9
0
0
0
15
53
-23
0
0
2
-17
-20
0
0
13
-4
2
0
0
-83
-29
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-10
1
0
0
0
0
-19
-9
0
0
41
15
2
0
0
-35
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
-27
39
22
-27
3
27
13
4
6
8
15
-94
-3
18
-34
-18
9
-54
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
3
1
6
-2
0
26
-19
42
-18
8
36
50
19
13
-12
-35
-85
-77
-46
-36
-186
-27
-20
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
-41
42
-7
-1
11
4
49
-39
-21
-117
-92
-20
79
50
-54
-104
-52
11
5
-40
29
-60
-58
-48
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-2
0
-1
0
-7
0
0
-7
-5
42
8
-3
40
-55
51
-54
-15
21
32
-10
-3
2
-69
3
-49
39
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-6
9
0
-1
0
-36
-12
12
-2
2
5
-40
-19
38
1
23
6
-41
1
10
21
8
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-1
6
-1
-13
-74
4
20
2
29
-26
9
-74
-71
-4
13
-14
-135
-44
-55
57
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-2
0
0
-6
1
0
5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
-6
-1
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
4
4
-6
-2
-4
-13
23
9
19
-23
1
-30
13
3
8
15
43
-14
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-1
0
0
-30
-53
-18
-14
24
-27
-32
43
-11
-15
-18
-16
45
-40
-12
-66
-45
-65
25
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
-8
20
-10
0
-5
-34
-24
0
0
2
13
-6
8
0
5
-23
-27
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
-9
-33
16
-5
0
-40
43
-4
-44
0
-12
-75
-27
40
0
-27
-55
16
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
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-2
7
0
-4
-3
23
-2
0
20
-15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-24
17
-16
0
0
-36
40
-12
0
0
-25
-41
14
0
0
-17
-26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
-22
-8
0
0
-19
-27
-2
0
0
-27
64
40
0
0
41
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-1
-41
10
0
0
-1
70
41
0
0
0
-4
-45
0
0
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
-24
8
12
0
0
6
-35
2
0
0
12
5
-2
0
0
10
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
2
2
0
0
1
-38
3
0
0
1
18
0
0
0
13
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
8
-2
0
-2
0
26
-31
-41
-7
3
35
-16
29
-33
31
52
26
-16
-1
15
-23
-19
22
3
-1
-94
-21
-13
0
48
0
0
0
0
0
0
0
0
0
0
-4
16
2
0
-1
-9
-16
-36
-1
-1
46
-8
33
40
-46
-88
60
-18
-63
-14
4
6
25
36
30
-142
-33
-10
-3
11
-26
-42
-29
13
-36
6
-1
0
0
0
6
4
1
1
0
-7
-6
-3
-3
0
-52
-43
66
7
-1
2
69
9
4
15
33
27
-32
-27
49
-88
-71
54
55
-12
-77
-28
-90
-40
-2
11
-26
-32
-65
-35
-2
3
0
0
0
-9
-8
5
0
0
6
-5
2
-7
0
7
26
54
-7
-5
71
53
-81
-6
-13
-59
-2
0
10
-5
-47
0
9
7
24
-58
-91
-68
-27
-16
0
0
0
0
0
1
-8
0
0
0
-86
-6
29
9
0
-19
-12
9
25
0
53
-18
-15
5
-5
-48
-12
44
-91
-44
-1
12
-58
10
-1
-42
-62
4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
27
-4
1
69
-6
-4
-1
-1
-23
-2
-42
-32
-43
5
-31
-26
-55
-10
37
-12
-45
-18
9
-59
-30
-22
53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-2
15
-2
-2
0
-64
-119
-21
-24
-8
-38
-62
14
11
24
-48
-8
-32
23
-85
61
-3
-101
-89
-50
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-41
40
-3
22
0
-18
-50
-39
12
17
-32
5
25
29
24
34
-66
-96
-139
-113
9
13
-82
-122
-103
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
-4
3
-18
4
0
-27
1
8
8
0
-113
-76
19
-4
13
-43
-83
-57
-12
-31
6
-33
2
-74
-9
0
0
0
0
0
28
-18
0
1
0
-44
-3
43
-1
0
-17
22
-15
-7
0
-52
-7
-47
-9
0
27
62
33
40
47
5
-36
-16
-33
4
23
-44
-11
-58
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
-17
12
-3
2
-2
-11
-53
23
5
-9
7
-73
-99
-26
33
-39
-8
14
9
-39
-12
-5
8
-11
-14
-22
10
-19
-56
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-3
1
-29
-7
0
-55
46
-51
2
-13
44
-92
11
-14
46
-30
-36
-17
-43
-76
54
-58
-59
-83
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
0
-1
6
4
0
0
-1
0
1
0
1
-5
21
-23
5
3
-29
-35
15
21
-55
-40
-18
-56
-52
6
46
-56
-1
-106
-1
0
0
0
0
0
-4
-41
-2
0
0
-27
-5
23
1
-1
-1
-19
-26
-13
4
1
-53
-1
43
12
24
-20
26
28
-23
-43
-10
-82
-38
25
40
-38
3
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
3
0
2
24
-15
6
0
81
25
-66
-57
0
0
26
-10
-43
0
-65
27
-3
11
0
67
-53
-20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
13
7
-45
52
0
21
13
8
-5
0
-111
-80
-64
-129
0
0
-14
-51
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-10
2
0
-41
5
-5
7
0
-34
-6
-15
-8
0
4
-32
-45
-78
0
0
-1
-111
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-2
0
-1
1
32
1
0
-34
18
-39
-14
0
-2
16
21
2
0
37
-58
-116
-3
0
0
0
0
0
0
-4
0
0
0
0
-4
-1
-1
-2
0
-42
-13
43
0
0
15
44
17
6
0
-52
17
-52
25
0
3
32
-6
-13
0
21
-13
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
0
-8
2
-3
0
0
-110
-17
-21
0
0
19
-2
33
0
0
40
19
13
0
0
10
0
20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
-3
1
0
0
8
-6
6
0
0
39
-26
-42
0
0
-1
-5
46
0
0
-21
-14
0
0
0
52
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-8
-17
0
0
-18
24
19
0
0
-12
-35
-66
0
0
23
-39
13
0
0
-62
70
7
0
0
-6
18
63
0
0
0
0
0
0
0
0
2
0
0
0
-3
-7
3
0
0
36
-8
-3
0
0
52
-4
19
0
0
-38
-27
-49
0
0
-9
3
58
0
0
-6
22
-43
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
24
2
0
0
0
55
-28
-16
0
0
35
4
8
0
0
-89
5
12
0
0
8
-14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
19
-21
-30
0
3
-19
-2
34
-22
3
-10
-2
-64
8
-47
40
15
19
45
50
45
5
0
-11
6
-46
-35
-3
20
-7
0
0
0
0
0
23
-4
-1
0
0
-6
0
-5
0
0
14
-45
11
8
0
146
-35
27
-17
-19
64
36
-36
-12
-54
-2
34
3
32
30
-41
0
-9
19
10
52
31
-17
-7
26
-10
-8
0
0
0
-29
8
6
-1
0
23
39
40
-3
0
25
-6
84
6
-2
8
16
48
47
-6
29
-14
-65
-38
-10
8
18
18
-5
12
8
-1
1
25
48
-19
0
32
84
52
89
-10
1
0
0
55
73
-11
-3
-1
22
1
-27
0
0
-107
25
5
8
22
-12
51
55
13
-36
-8
-8
-33
28
-34
9
10
29
-6
84
4
-32
13
12
12
0
0
0
0
0
50
19
-2
0
0
35
-11
50
-2
0
2
28
-16
-3
0
100
-62
18
-22
3
-44
85
16
0
19
18
-65
60
-17
23
-52
-27
16
72
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
23
-16
-7
1
9
12
11
3
-43
41
-79
50
-35
88
-112
16
19
-2
-27
2
-10
16
5
3
19
68
21
-2
-6
-16
0
0
0
0
0
50
-1
-1
1
0
-3
52
-25
-27
1
-33
-70
-1
26
-7
7
-24
20
48
39
-32
20
-32
-12
-7
31
20
-5
22
-32
-57
-104
11
-25
-17
41
-13
-60
-29
-19
-7
31
-1
0
0
112
-20
67
0
0
-87
23
20
1
1
-30
26
37
-35
4
-16
34
40
-51
-4
-2
-28
-20
39
11
2
-19
-7
46
-23
72
-16
-42
-43
-58
19
-72
-14
6
65
-47
-32
-2
0
0
6
26
-6
-12
-1
33
-63
31
28
-1
60
-24
-105
5
6
-42
-64
85
-14
0
7
-27
65
26
-36
-37
-10
-1
-20
-7
24
30
-76
-41
-29
0
0
0
0
0
39
15
0
6
0
38
-1
24
5
0
-50
32
-16
40
-1
-6
49
-11
-10
0
30
-53
47
-51
-46
-26
-19
-5
18
19
-1
-24
-9
8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
16
36
4
25
0
35
5
-8
31
42
10
11
-42
-51
53
-2
42
-23
-16
50
-37
-8
26
-32
33
-20
33
-25
34
-1
0
0
0
0
0
12
-9
0
0
0
27
-16
12
3
-3
-66
-30
32
-18
-7
-61
-53
-17
91
1
-45
12
-15
10
6
-17
12
-2
32
36
6
-9
-56
22
-1
82
33
15
-25
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-47
-9
3
0
-52
11
55
-17
1
30
34
-34
13
0
2
34
44
12
-6
0
-14
-15
-29
54
-13
-12
-1
-18
-50
3
39
-23
-50
-19
24
9
-32
-20
0
0
0
0
0
0
-37
86
7
5
0
1
18
-14
5
-1
-20
9
56
-11
2
2
-9
-49
50
5
42
-50
-21
84
-4
32
54
16
-47
-22
-46
-15
1
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
40
16
-9
1
0
26
-34
-35
-1
0
-71
-35
52
29
0
-21
21
-15
28
0
10
11
-16
-3
0
-19
16
17
1
0
0
0
0
0
0
-9
5
-1
-1
0
-13
-1
-7
0
0
79
39
13
-24
0
60
-51
27
-28
0
29
27
-54
-45
0
-10
-23
21
76
0
-79
-20
-41
-30
0
19
-4
-10
-28
0
-19
0
0
0
0
-9
-24
-16
-4
0
91
-47
-31
1
0
4
18
18
-29
0
86
-75
6
-24
0
-69
-28
-2
-19
0
-21
2
-54
-9
0
-19
16
6
-63
0
-28
-2
-1
-10
0
-1
0
-1
0
0
8
10
4
-1
0
48
-6
-41
1
0
-18
-16
12
-4
0
74
-31
-42
9
0
-48
-64
49
-9
0
76
-16
-19
46
0
11
-12
61
-125
0
0
0
0
0
0
1
30
1
0
0
-19
23
-2
0
0
32
33
-56
1
0
-65
9
39
9
0
37
-29
7
11
0
27
1
0
-54
0
-11
-14
45
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
27
-8
0
0
2
17
46
0
0
-34
-7
-2
0
0
44
27
-16
0
0
24
9
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
3
1
0
0
10
33
0
0
0
-1
58
-21
0
0
19
5
-30
0
0
-7
12
29
0
0
47
4
35
0
0
0
0
0
0
0
-3
0
0
0
0
-3
-19
0
0
0
-54
-17
-3
0
0
29
13
-16
0
0
5
-9
29
0
0
-42
25
29
0
0
93
34
11
0
0
66
-1
8
0
0
0
0
0
0
0
36
0
0
0
0
3
15
-1
0
0
43
14
0
0
0
18
-38
23
0
0
-6
7
-40
0
0
37
1
17
0
0
-52
-31
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
-40
4
0
0
0
42
-28
-2
0
0
-33
5
20
0
0
-39
17
-32
0
0
34
39
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
13
-5
-3
1
0
-21
13
-13
-7
0
-102
31
7
2
13
59
4
-22
5
-29
58
29
14
18
33
0
0
0
0
0
19
0
0
0
0
51
-17
0
0
0
2
-3
8
0
1
-1
28
-5
0
0
-41
-16
20
-37
-7
0
33
-21
-19
42
-5
20
-6
17
1
75
16
28
41
14
0
0
0
0
0
11
0
0
0
0
16
-37
0
0
0
-13
-14
0
-1
0
4
47
16
-18
0
-47
26
-62
-39
1
18
28
-29
-42
24
65
43
48
-22
14
0
-70
52
88
-48
44
-14
0
0
0
67
-37
7
0
0
5
48
0
0
0
-6
-35
-12
-2
0
-45
-4
21
21
-1
-40
38
-16
-52
-13
23
2
25
2
52
14
6
14
44
-35
0
0
0
0
0
5
-15
0
0
0
31
0
0
0
0
-49
8
1
0
0
-25
-19
10
0
0
41
-41
12
-14
3
19
10
-20
42
-4
39
19
-1
2
18
0
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
37
2
-2
0
42
34
9
-9
1
-23
-73
17
28
0
25
8
16
52
13
-46
29
0
8
40
105
66
-13
7
7
0
0
0
0
0
-4
4
0
0
0
-61
-32
4
-3
0
-16
11
60
49
-10
-15
46
-44
9
-5
95
-15
46
-28
33
-20
10
2
17
3
55
-20
12
-18
15
41
-8
3
25
-18
20
-17
1
0
0
-19
12
-30
0
0
26
16
11
28
-2
-26
-43
57
28
0
4
32
16
-23
37
-10
-67
25
-44
-11
-11
17
-29
-15
32
30
26
37
34
11
1
-28
-2
22
24
-45
100
14
0
0
52
7
26
-5
1
1
-45
-20
0
0
-17
20
5
10
-31
4
32
-31
-16
45
-2
-34
-64
1
-47
82
-28
-3
87
38
-42
25
20
3
-5
0
0
0
0
0
-21
23
0
0
0
3
-1
4
0
0
5
28
-6
-1
0
5
58
11
-9
-1
-8
-2
-35
49
0
36
-66
4
-43
19
-9
-18
27
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
3
-4
0
21
33
-39
16
-3
-13
40
-87
46
-3
-60
37
44
35
15
-28
-16
38
-13
46
57
38
25
27
-9
0
0
0
0
0
10
23
0
0
0
9
59
30
-9
1
88
-38
-2
-38
-14
20
56
-15
24
0
-30
-39
3
-30
16
-8
48
26
27
56
-22
15
33
25
17
28
64
-8
57
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-36
14
-10
0
-3
17
30
18
3
-25
-34
-15
-56
0
-40
-18
-31
-17
1
-9
-44
35
22
0
-10
34
-50
11
-32
62
44
21
-2
35
-19
-14
28
-19
12
0
0
0
0
0
0
-5
-2
0
0
0
6
-12
0
0
-2
0
8
-3
0
0
34
-7
-6
0
-11
30
23
-63
-3
4
15
23
-17
18
6
-14
-4
107
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-8
3
1
1
0
19
1
7
-56
0
-25
9
1
-10
0
0
-1
-73
49
0
41
10
39
41
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
43
-60
-15
-13
0
-82
33
12
-13
0
-28
-37
-13
-14
0
-15
14
57
24
0
-15
27
5
17
0
140
1
-36
-5
0
1
0
0
0
0
8
-26
-3
17
0
-6
-20
-5
0
0
2
-40
-34
19
0
-29
10
-14
39
0
17
71
-36
-58
0
26
18
46
27
0
-35
62
-6
-42
0
12
-69
28
77
0
1
-22
0
0
0
-8
-60
8
0
0
-5
26
52
-3
0
-23
-38
44
-5
0
96
73
-52
-41
0
46
30
42
11
0
1
32
-32
45
0
-84
-98
-36
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-17
-1
-1
0
0
-70
55
77
0
0
48
-10
-23
-12
0
-4
61
67
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-7
0
0
87
27
-30
0
0
-56
38
-15
0
0
7
16
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
31
49
9
0
0
-5
11
75
0
0
-14
49
2
0
0
-61
31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
0
0
5
-13
5
0
0
-16
20
-11
0
0
0
-12
41
0
0
0
49
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
29
9
0
0
0
-8
-3
-47
0
0
-7
13
40
0
0
3
-72
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
33
0
-20
0
0
0
-4
-1
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
-35
2
14
0
-11
-4
21
-22
-4
69
67
18
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
4
0
0
0
-1
-44
14
12
0
9
16
20
24
3
79
26
-3
-5
-26
84
10
-9
-26
16
0
0
0
0
0
10
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
3
2
0
17
-2
-27
-4
20
53
33
62
19
0
50
-4
8
0
0
8
0
0
0
0
15
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
3
0
0
-48
33
7
0
4
8
13
11
-7
0
38
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
2
2
0
0
-4
40
17
-38
-15
16
0
6
-65
54
126
-11
-31
100
3
0
0
0
0
0
0
0
0
0
0
30
16
0
0
0
58
-51
-21
-2
0
29
5
44
-5
-2
17
-41
30
13
-52
-16
18
62
41
3
32
39
2
47
11
11
-7
27
6
31
-24
-1
0
0
0
-33
-57
28
0
0
-4
16
0
0
0
-37
27
-14
5
-8
13
-35
-59
-4
7
-18
23
-52
21
-3
-11
0
89
34
22
16
23
20
25
-32
111
21
23
3
62
84
-43
0
0
0
-2
-5
-28
0
0
-5
17
4
0
0
-57
-4
-7
-6
0
22
4
49
-8
2
-94
35
12
20
24
16
60
68
40
30
-6
73
-71
4
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
1
-5
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
-3
1
0
6
2
67
-31
6
0
-24
-15
24
-30
68
83
46
37
73
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
-7
-7
-2
0
0
2
35
-8
0
34
20
49
-31
-60
3
5
13
56
7
-27
2
28
52
42
86
32
29
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
7
0
0
-11
-22
-54
0
0
0
7
0
0
0
0
-6
-13
2
0
7
26
34
3
-1
-47
-78
24
-55
50
63
71
-15
34
-28
0
-10
-20
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
19
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-2
-29
25
0
48
-75
-55
62
0
20
62
77
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
-6
-4
0
0
-63
-11
20
-3
0
-34
26
74
51
0
34
29
37
-45
0
-17
41
74
82
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
0
0
0
1
55
-3
8
0
-26
-19
11
-8
0
-3
-22
29
-6
0
9
-10
53
31
0
0
-30
11
34
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
4
4
1
0
5
-13
4
1
0
-40
15
-34
-2
0
3
25
49
-45
0
0
-5
12
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-26
4
65
0
0
0
21
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
11
-52
9
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-12
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
37
26
-13
-4
29
11
-16
3
1
-1
-31
52
-44
-3
2
2
37
-23
48
8
8
41
23
-1
-40
-34
-38
27
23
-52
-40
-15
-27
8
0
0
0
0
0
-40
-14
12
-8
-1
-47
43
-60
22
-1
-54
-58
-11
54
36
7
48
36
16
-12
-40
24
-46
-14
-29
22
-10
-27
42
49
-49
-103
-7
-27
21
-94
35
-24
7
-54
-1
-32
7
-12
0
39
-1
-1
-4
1
-1
22
-16
16
3
35
-19
-8
21
-18
-47
76
35
26
19
-21
17
22
44
-55
40
-31
38
34
52
-85
-118
-33
-26
18
-106
12
-28
8
-11
29
-3
-17
1
-1
6
10
-25
4
1
-17
52
-55
-9
13
43
34
-25
11
-8
33
44
23
-21
-30
-65
-5
-9
-2
56
20
13
11
61
37
-164
-54
21
-23
-46
0
0
0
0
0
5
-28
-4
0
1
-28
-9
17
9
40
-31
-23
44
-2
-1
-18
25
-14
10
15
107
-17
-3
35
-11
-90
-40
30
-47
7
-9
-4
-25
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-8
0
24
-12
-91
-24
-15
59
3
13
-26
32
-19
7
-62
67
25
-6
46
38
35
26
46
12
-41
-39
-54
-42
-6
-58
-32
-104
-45
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-10
-2
-1
0
34
6
-64
-18
-7
-8
0
23
2
0
3
-11
4
2
17
-59
-50
6
41
17
-6
23
-53
-46
12
-15
-38
-28
16
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
2
-33
-48
-8
-42
24
-11
-5
2
-65
5
-35
51
-4
-72
-12
-7
-2
-14
-16
-30
-20
12
50
-15
-26
-9
-13
46
-36
-68
-92
-59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
22
1
0
-1
25
13
6
-4
-4
6
-10
-17
7
0
-130
8
77
26
-13
83
-5
-20
-72
29
-104
-50
41
-26
3
-19
1
-16
19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-72
-49
2
0
7
-25
6
25
0
70
58
-4
-43
0
26
38
-28
15
0
27
51
41
8
0
-64
-3
8
5
0
21
-41
-69
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-1
-7
0
0
43
-3
15
2
0
7
-23
3
9
0
3
46
-34
-33
0
51
93
17
0
0
-19
-48
-10
1
0
-62
5
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
17
3
0
0
-45
-4
6
0
0
-48
-38
2
0
0
11
-37
-1
0
0
8
17
9
0
0
-15
-4
15
0
0
-8
14
-36
0
0
0
0
0
0
0
18
0
-5
0
0
78
0
5
0
0
-8
19
-16
0
0
10
20
-63
0
0
33
14
46
0
0
6
41
7
0
0
-24
15
-37
0
0
-70
14
0
0
0
7
8
0
0
0
-16
1
-6
0
0
34
-12
0
0
0
21
-6
-20
0
0
-59
-11
-17
0
0
-28
-17
4
0
0
15
-32
41
0
0
5
8
17
0
0
-69
36
1
0
0
6
-3
-2
0
0
-13
-7
3
0
0
-11
-22
15
0
0
29
-56
5
0
0
33
-2
46
0
0
-36
-4
30
0
0
-25
-15
10
0
0
-25
26
-1
0
0
0
0
0
0
0
-31
25
-3
0
0
-6
31
-19
0
0
43
9
2
0
0
-15
9
9
0
0
5
-18
-32
0
0
72
31
18
0
0
-14
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
26
-6
-8
1
22
5
32
5
0
-27
24
-27
28
9
55
-18
-45
-4
7
-18
38
69
-28
14
13
-34
-9
8
18
-72
138
25
-2
52
0
0
0
0
0
32
6
4
-2
0
-37
35
0
0
1
39
-43
24
-58
8
4
7
16
0
7
-31
-6
-43
8
32
-37
-11
13
29
24
-68
-46
-49
-50
-4
28
79
23
61
16
-18
-36
-2
0
0
10
6
14
2
0
-28
29
90
-8
-3
46
17
-17
5
2
29
53
-34
35
-1
-33
21
37
11
5
-71
-14
41
1
63
75
-37
-58
31
-47
-23
-25
-2
-3
38
20
5
0
0
0
45
5
-6
0
0
-20
15
-44
-8
0
41
30
25
-32
-1
-75
-1
-9
25
7
-15
8
14
42
-25
23
-51
61
-49
-12
-65
16
-19
-44
-90
0
0
0
0
0
2
58
1
0
0
0
42
47
4
0
41
-63
20
-8
0
-2
-4
2
1
0
-23
-45
-7
-25
-6
3
-41
-52
-4
-4
25
52
1
28
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
64
-4
-1
2
1
-28
28
-33
-15
10
29
52
11
-52
-65
-1
10
61
9
47
3
53
-4
39
-104
-19
-87
-64
-9
-47
26
-72
8
-17
0
0
0
0
0
3
1
-4
0
0
3
-25
0
1
1
-45
76
-1
19
-22
17
46
-6
-32
17
0
-31
54
-17
-5
36
-45
3
-12
63
-28
-82
-107
12
-42
-57
42
3
51
-34
4
0
0
0
0
0
4
5
0
0
-14
19
15
9
0
1
-48
-8
46
10
2
43
37
-9
3
-11
-40
-46
3
27
-27
10
44
6
-25
10
9
-28
71
-9
12
25
52
-67
-54
0
0
2
0
0
-7
3
-9
-2
0
-5
11
-13
-3
-1
-5
5
32
18
5
6
106
39
-14
-8
26
-28
-2
14
-11
31
-25
-30
38
-10
21
-122
-12
-41
-65
0
0
0
0
0
34
7
-1
0
0
-25
40
-4
5
1
7
20
30
0
0
36
-62
-25
0
1
-17
-25
-3
13
-6
-67
23
11
-78
-2
64
-82
-7
32
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-1
-1
10
-3
13
-21
-47
-5
0
59
-44
46
-36
21
-32
-13
61
81
-48
-21
-12
34
25
-36
-28
-19
12
-12
-30
-68
16
-42
-50
41
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
-19
-16
-12
1
-5
-39
37
40
-31
4
21
-19
-57
-13
35
-1
47
-11
79
-7
-50
-73
53
14
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-3
0
0
0
-24
-2
-1
8
0
19
28
-5
-32
-10
9
2
27
-9
0
44
2
0
-27
8
-46
21
-34
8
3
-47
1
26
39
33
-47
35
32
-40
-3
0
0
0
0
0
25
1
-3
0
0
-8
-2
31
-1
0
-29
-10
-2
1
0
-10
-14
46
-1
1
17
-36
31
-3
8
11
-3
-78
1
-9
4
-5
-47
36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
14
2
0
54
41
24
-6
0
36
-20
7
33
0
-1
-16
-17
4
0
29
66
8
-18
0
14
-69
16
-61
0
-72
-59
27
68
0
0
0
0
0
0
-3
3
5
0
0
-3
-20
1
0
0
-88
29
2
-7
0
-6
69
-27
-6
0
-52
42
-4
-5
0
-7
-1
-21
50
0
-31
-19
14
18
0
-5
-5
76
-12
0
-9
1
-3
0
0
-1
0
0
0
0
-37
-8
13
0
0
53
11
6
-8
0
63
-63
71
-3
0
-23
-73
42
30
0
61
51
28
-30
0
-25
-38
-60
-21
0
-73
79
-74
21
0
0
-2
0
0
0
6
23
1
0
0
-4
45
5
0
0
-32
-14
14
3
0
-6
-28
-46
5
0
-36
7
6
-16
0
11
14
57
14
0
-2
-22
-64
16
0
0
0
0
0
0
-17
0
1
0
0
-21
31
0
0
0
27
-27
13
0
0
-24
-8
8
1
0
32
-42
-21
0
0
-8
-20
20
19
0
9
13
39
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
0
0
0
-18
-20
-6
0
0
35
-5
8
0
0
47
64
-22
0
0
46
3
-6
0
0
17
-48
49
0
0
-71
-18
59
0
0
0
0
0
0
0
-54
5
1
0
0
-9
8
0
0
0
-7
34
0
0
0
-4
3
39
0
0
30
-4
-10
0
0
37
52
27
0
0
-64
44
-31
0
0
72
-80
-47
0
0
8
-4
0
0
0
-10
0
0
0
0
-39
-15
0
0
0
1
-10
24
0
0
97
-26
-12
0
0
-86
-64
28
0
0
88
-35
16
0
0
-27
-25
-22
0
0
-21
123
19
0
0
0
0
0
0
0
-23
13
0
0
0
17
0
0
0
0
-55
-2
-6
0
0
17
-19
12
0
0
-62
-36
-3
0
0
25
68
26
0
0
26
-29
-38
0
0
0
0
0
0
0
13
-1
0
0
0
32
-1
0
0
0
5
-5
2
0
0
6
4
-3
0
0
1
-2
8
0
0
23
21
-40
0
0
-38
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
-11
2
2
0
0
2
-8
18
-5
0
0
65
10
-4
-10
65
55
37
12
-33
5
-53
47
-60
30
-27
20
13
50
76
0
0
0
0
0
60
0
0
0
0
19
4
0
-4
0
-20
13
6
1
0
-24
-1
-16
-2
-9
0
8
38
-39
-8
-26
-19
43
56
21
83
-3
1
136
-8
124
32
-38
-31
26
1
5
0
0
0
5
0
0
0
0
-18
-20
2
0
0
-19
-19
42
1
0
3
43
2
3
2
1
46
-106
-31
-2
-89
-43
52
14
-6
18
48
32
51
1
76
31
-65
-1
6
0
4
0
0
0
4
-36
0
0
0
25
0
0
0
0
24
-22
1
-1
0
-5
-2
0
1
0
-34
14
0
5
-2
-5
47
6
-33
-3
29
-16
21
-5
-2
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
4
0
0
0
6
1
0
0
0
0
-58
2
1
0
-8
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
-1
0
-23
30
4
-19
69
-10
-11
5
14
30
13
7
69
20
-54
64
-13
-61
-3
-15
41
95
-46
41
0
0
0
0
0
46
51
1
2
1
5
-36
19
-3
0
36
37
15
6
-2
16
44
-97
53
-18
36
5
-46
24
15
-13
-23
-33
-31
20
-25
-34
7
18
-14
-44
5
149
59
63
17
-7
0
0
0
5
0
4
0
0
-7
9
12
-8
0
25
39
-4
-59
-1
5
51
27
-3
40
0
-49
-90
21
-16
73
14
-8
3
22
-67
-1
71
44
-63
1
17
-39
40
-10
1
3
2
0
0
-41
2
38
-2
0
-2
-8
3
27
0
-1
2
-6
-8
-5
13
-12
-81
7
0
-7
-37
-38
22
0
-6
59
101
-62
28
48
-128
46
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
9
0
-3
0
0
0
7
-4
0
0
0
0
-13
3
0
0
-15
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-7
-9
25
-1
0
51
-21
17
0
2
41
-26
-10
10
-50
43
32
-1
14
24
-32
51
-7
-29
55
-59
-37
71
36
82
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-22
0
2
0
0
-5
-16
32
6
0
0
-57
-18
-40
-24
14
4
-80
86
32
17
40
68
-76
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
14
24
0
-5
0
-24
2
-2
8
3
-46
24
-9
15
1
-14
36
10
-5
-1
-38
-22
3
7
-5
50
-12
33
90
-4
5
-35
-53
-17
3
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
2
-2
0
0
6
8
1
0
0
-4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
-3
-7
0
0
0
13
-4
0
0
0
-52
-20
-6
29
0
-33
80
16
23
0
92
-22
39
-61
0
25
-22
-11
11
0
0
0
0
0
0
-25
-21
0
0
0
18
7
8
0
0
38
17
-7
0
0
22
33
13
-10
0
2
-12
42
-1
0
34
17
-15
39
0
-36
50
-64
-32
0
8
-40
59
-5
0
22
0
0
0
0
-10
8
0
0
0
12
1
0
0
0
-18
11
32
-3
0
2
-21
0
-25
0
-12
37
-22
-18
0
7
61
7
-5
0
15
-50
16
119
0
-5
-3
35
-10
0
-2
0
0
0
0
4
-12
-1
0
0
46
-32
1
0
0
-21
17
-9
-2
0
9
-2
48
-13
0
-44
31
-15
-13
0
102
25
-23
48
0
-30
-48
-32
13
0
0
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
8
0
-2
0
0
1
0
0
2
0
-29
0
0
0
0
-2
-23
-4
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-23
8
0
0
0
13
-22
0
0
0
-13
62
-28
0
0
38
15
41
0
0
12
5
-15
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
39
-2
0
0
0
4
17
8
0
0
2
-20
-41
0
0
74
34
1
0
0
-49
51
4
0
0
-5
-22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
-5
-5
1
0
0
-12
13
0
0
0
-1
38
23
0
0
48
-81
33
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
0
-2
0
0
-4
2
-1
0
0
1
7
-1
0
0
-5
-46
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
18
-14
-48
13
-50
-21
-31
61
12
-24
1
-12
-55
37
42
6
-13
40
82
-53
-103
-67
36
-100
-33
33
63
-42
-4
0
0
0
0
0
0
0
0
-1
0
1
2
10
49
0
15
-24
36
-12
7
85
-54
-20
-1
34
-37
29
8
-1
2
1
30
1
-27
2
-90
-45
36
-18
-19
-143
1
54
51
-32
0
0
0
0
0
0
0
-5
17
0
-1
2
-15
-10
7
-7
-1
-26
15
1
10
-4
-9
23
-1
23
-48
31
-25
-9
6
118
21
-53
-15
-59
-34
66
-55
6
-52
-80
-32
50
8
0
0
-3
0
0
5
2
-13
-31
4
0
47
13
4
4
5
-24
89
-32
0
47
41
-13
-9
0
-63
-44
-11
-23
-19
-25
54
-60
39
-8
-20
-84
-11
-27
-6
0
0
0
0
0
0
5
-10
-10
0
-48
-9
3
-7
-2
21
29
5
-1
2
29
-13
0
1
0
-8
-38
30
60
0
-67
11
26
28
-2
-33
-4
-47
-1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-3
-27
-4
5
41
-41
32
-11
-122
4
-3
37
45
38
21
27
51
18
-57
-65
1
-73
-65
-30
-66
-56
-25
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
5
-8
15
-1
0
-1
40
0
0
0
0
12
-22
0
0
5
40
-32
-2
1
30
-72
-24
7
3
-23
-12
42
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-33
0
29
52
-48
34
-33
-23
-31
27
26
-10
51
-9
-8
6
42
-94
-90
58
-4
-34
0
-49
-126
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-1
0
-1
0
-2
-3
0
0
2
10
21
8
-4
0
-36
42
14
3
8
7
-32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
-8
1
0
30
-15
51
-15
0
-2
22
63
-22
0
-6
30
6
9
0
44
-30
-16
-50
0
29
-63
-27
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
8
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
3
1
1
0
8
-13
1
-2
0
0
0
-4
2
0
-1
1
15
-8
0
4
25
0
3
0
-9
-7
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-3
0
0
-9
-10
17
0
0
-17
84
18
0
0
-55
-27
-11
0
0
48
47
37
0
0
-28
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-77
4
11
0
0
-38
-4
0
0
0
-63
-73
-24
0
0
67
3
41
0
0
-25
9
-35
0
0
5
72
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
32
0
0
8
4
-15
0
0
-8
-1
5
0
0
5
1
1
0
0
50
-24
-10
0
0
-42
59
-48
0
0
0
-20
7
0
0
0
0
3
0
0
29
0
-5
0
0
2
0
1
0
0
-10
19
-3
0
0
-1
0
2
0
0
29
-2
6
0
0
17
15
19
0
0
-69
48
-18
0
0
0
0
0
0
0
4
1
-1
0
0
-3
1
-3
0
0
1
-1
-1
0
0
0
0
0
0
0
-4
2
0
0
0
-23
-33
-5
0
0
7
26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
34
5
2
-75
-15
83
26
3
57
79
47
23
-44
0
-27
0
6
-27
-1
4
-19
24
54
-74
-54
-4
-25
15
-126
-90
42
-33
38
0
0
0
0
0
-13
-8
-24
2
0
11
20
52
-41
5
-51
35
18
23
-84
54
-10
8
45
-22
83
1
-74
25
-13
-41
25
-28
-52
55
-101
-93
4
-16
-7
-177
1
-20
26
5
9
4
8
-1
0
-16
5
-25
-4
0
-32
-1
9
-55
-32
11
2
17
-36
18
98
12
-5
19
18
-12
-26
4
25
-26
-14
5
26
-5
-11
-75
-95
4
-52
-14
-120
35
-44
52
34
13
-26
-18
-3
-1
-56
-30
52
0
-7
47
-38
57
9
13
36
45
29
-5
9
-26
2
30
32
-65
81
-32
6
48
-15
-42
2
-26
30
-23
-81
-36
-56
21
43
0
0
0
0
0
-58
-8
54
46
-2
-37
9
3
59
7
-26
32
-28
-20
0
-25
15
-7
-14
-30
-14
-20
12
1
42
-40
37
45
-36
-5
-55
-77
-20
2
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-10
-4
0
7
-75
17
-33
10
16
3
-10
-34
5
-56
47
36
-10
13
53
-12
3
49
24
-92
-83
-84
30
6
-204
-5
-55
-13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-38
8
0
2
-4
48
29
0
7
33
-32
-33
7
-23
-48
-5
21
-6
-38
-58
4
-19
3
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
5
8
6
0
0
-5
-38
10
0
1
7
-8
0
0
13
-12
-9
38
-1
-100
-36
31
-8
6
0
-8
14
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
0
0
4
2
-1
1
0
0
-1
-3
0
0
0
-19
17
13
0
1
12
16
-10
0
-13
-40
-25
-1
0
0
0
0
0
0
26
13
-8
-2
0
14
-30
24
-13
1
-1
27
1
18
4
-26
25
28
-35
16
3
26
-7
19
-42
-50
-19
-21
60
39
15
-67
-23
-15
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
-44
-3
-48
3
13
44
44
-24
-27
-110
-61
-31
3
-16
1
67
-28
0
-28
0
-55
-54
3
29
57
-90
19
-52
-68
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
1
41
-20
-7
-4
-36
17
-15
12
17
-3
-1
32
18
-8
-3
-4
0
4
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
0
-1
0
0
0
-8
2
0
0
0
-19
0
0
0
0
0
0
0
-38
23
0
3
0
22
1
18
-30
-5
1
36
-2
-8
0
-3
-56
1
19
-10
-32
-28
-85
30
24
-47
-28
14
-6
-25
26
8
-10
-9
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
-1
0
-59
2
-42
-11
0
51
-40
22
-18
0
-3
20
13
13
0
41
3
5
11
0
-59
-9
-17
7
0
-57
-5
20
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-10
-14
20
0
25
-20
11
-8
0
10
12
-6
-7
0
21
-30
85
4
0
-1
3
11
5
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
29
0
-1
0
0
3
9
-2
0
0
-4
0
2
8
0
-2
-2
2
1
0
4
49
-7
-2
0
0
-3
17
-3
0
0
0
0
0
0
3
0
0
-1
0
-6
0
0
0
0
-1
1
-2
0
0
0
-1
0
0
0
3
-2
-7
0
0
-2
3
-22
0
0
2
5
1
0
0
0
0
0
0
0
10
0
4
0
0
19
2
-59
-20
0
8
-20
12
-5
0
46
-118
7
13
0
-20
-46
-15
8
0
-55
22
16
-45
0
-45
68
32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-44
0
0
0
-68
-26
-17
0
0
-46
2
-32
0
0
8
-27
24
0
0
-17
32
2
0
0
-14
18
5
0
0
-24
25
19
0
0
0
0
0
0
0
-14
4
-1
0
0
-15
-32
1
0
0
-16
-31
-19
0
0
-7
52
13
0
0
-8
-36
23
0
0
-3
-29
24
0
0
39
8
11
0
0
-48
84
-24
0
0
8
2
0
0
0
16
4
70
0
0
8
7
5
0
0
-27
-14
24
0
0
-60
-22
-17
0
0
-6
12
-12
0
0
-61
11
-84
0
0
25
-16
56
0
0
-18
-20
-48
0
0
10
-1
-3
0
0
-24
1
48
0
0
-12
-6
24
0
0
-61
-20
4
0
0
-46
-40
12
0
0
4
-7
-21
0
0
-29
10
59
0
0
22
55
-42
0
0
0
0
0
0
0
33
-34
1
0
0
-44
-13
41
0
0
9
-23
-7
0
0
39
5
6
0
0
-32
75
33
0
0
-118
-9
-51
0
0
-5
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
2
-1
0
-1
4
47
28
-19
16
-5
84
-23
31
-4
54
-21
41
-72
36
30
-1
-26
21
-26
-59
-33
-36
15
-71
-65
8
43
50
0
0
0
0
0
25
-29
18
0
0
-24
43
30
21
0
-45
63
-60
32
-18
-37
167
-40
-41
7
-17
40
-6
9
-17
36
-47
-6
-27
23
5
-94
-8
9
27
-27
-46
-6
30
23
-3
63
2
0
0
-27
4
5
4
0
-20
21
4
-7
0
-12
-43
9
28
-25
-9
16
11
-2
-4
-19
-50
16
-43
-69
35
-96
-88
60
15
-65
-15
30
-12
-2
3
8
-24
0
4
-41
-11
0
-1
0
15
19
1
-9
2
-30
-9
10
-13
1
-35
27
6
-17
0
31
-70
31
28
5
85
-9
-70
-117
-14
-10
38
8
3
9
-137
-15
17
75
18
0
0
0
0
0
-29
14
10
7
0
48
9
46
-6
-3
-7
-10
13
-11
0
46
-63
-45
-16
-3
-11
74
-13
6
-24
-32
16
-43
32
57
-73
-30
-3
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
-4
0
-27
-6
-5
21
-13
-58
-28
56
-9
23
27
-54
-5
23
-58
-37
12
-5
52
-2
-21
-24
-50
-42
7
-61
-18
-10
-18
71
0
0
0
0
0
0
0
-2
0
0
1
0
-1
1
0
-25
-39
33
-9
6
20
56
-8
5
2
13
8
6
34
-9
1
-15
-76
-44
39
-139
-109
82
-7
10
-62
5
-20
11
-21
15
0
0
0
0
-2
1
-4
0
0
-2
13
-14
24
1
8
3
43
6
4
-5
57
-8
68
-48
31
-63
11
3
-13
-34
22
-30
54
12
-89
-27
43
-82
-27
-4
6
-73
-73
30
0
0
0
0
0
0
-8
21
5
-2
-2
60
31
3
3
-58
17
24
-5
2
74
-62
3
34
-3
62
-36
-44
-4
5
-31
47
-50
-21
20
-45
-91
-20
0
-64
0
0
0
0
0
22
1
-1
0
0
-36
30
4
0
2
22
-7
21
7
2
40
-2
-54
2
-1
17
8
3
19
-3
-7
25
-20
11
-89
-37
-90
-2
-23
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
-3
3
0
-24
-5
-69
18
11
-3
33
16
-44
-19
-12
-38
-41
27
-50
12
7
-5
-19
-15
-50
-40
40
0
-9
-77
-76
-117
-65
58
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
40
-1
28
1
1
45
-15
20
-50
-20
27
-5
-2
1
-38
-31
19
-58
55
21
-5
4
-1
-3
-15
-5
55
-1
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
-4
18
-10
-4
0
3
12
13
5
-2
31
23
12
-6
1
-1
45
5
13
-14
-12
-30
47
37
-56
9
-61
5
-11
43
-68
-98
-30
44
-13
0
0
0
0
0
7
25
-1
0
0
19
0
2
-3
0
23
-17
0
-4
1
1
-3
-68
-16
-1
-24
86
-16
32
17
5
-67
3
25
-6
-32
-63
5
51
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-2
0
10
4
-17
7
0
0
18
48
-18
0
52
-58
-33
30
0
24
31
15
81
0
-53
-17
43
-86
0
-97
-62
-17
2
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
-2
0
75
-15
-21
23
0
27
62
-29
32
0
-27
5
0
-3
0
-1
-4
-6
-16
0
-39
-33
38
-26
0
-8
-16
25
31
0
-12
-1
0
0
0
0
4
-4
0
0
-2
5
-15
-2
0
7
0
-23
-17
0
6
52
1
-8
0
17
-12
-65
-11
0
-5
14
12
-3
0
-66
-59
14
38
0
41
46
65
7
0
-18
-1
-2
-2
0
61
-15
1
3
0
-2
4
-8
-2
0
-46
-5
25
-5
0
15
-26
14
17
0
-86
-30
-8
5
0
-49
14
42
20
0
34
84
-69
-6
0
0
0
0
0
0
-3
1
0
0
0
27
-22
0
0
0
-41
4
4
-5
0
1
5
5
7
0
3
18
-36
0
0
2
-43
-12
-11
0
73
11
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
2
0
0
-19
-8
-23
0
0
2
18
5
0
0
11
-6
-77
0
0
34
-40
20
0
0
-52
32
92
0
0
17
6
-15
0
0
0
0
0
0
0
-4
5
0
0
0
2
3
6
0
0
-8
-16
15
0
0
46
-54
12
0
0
-30
-47
-56
0
0
6
33
-36
0
0
1
-9
-9
0
0
5
-4
-11
0
0
0
0
0
0
0
-3
-3
2
0
0
-1
-22
0
0
0
-5
23
5
0
0
-30
31
11
0
0
38
-102
5
0
0
-24
21
31
0
0
-51
-26
-12
0
0
27
13
12
0
0
-1
0
1
0
0
-17
0
0
0
0
51
-2
1
0
0
52
-40
7
0
0
-21
-5
-3
0
0
-18
12
46
0
0
-8
49
4
0
0
-124
6
-35
0
0
0
0
0
0
0
3
0
0
0
0
-6
5
-3
0
0
0
0
1
0
0
6
2
0
0
0
5
-41
3
0
0
-15
-47
2
0
0
45
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
-2
2
-3
0
49
90
14
-1
-1
14
-13
0
-5
14
108
-37
7
92
-6
-42
11
-24
-32
-43
-109
31
82
14
-5
0
0
0
0
0
-12
0
0
0
0
3
0
0
0
0
13
28
-22
-4
1
-59
38
-36
0
0
37
-6
3
-94
0
-23
-14
-20
-13
-12
-10
-33
27
-15
-47
8
-4
-11
119
101
0
0
0
0
0
-1
3
0
0
0
-3
1
0
0
0
-8
14
-9
-6
0
36
-7
-4
15
0
-50
-50
14
-6
0
20
-54
-18
58
0
-30
53
39
2
-34
8
1
0
0
0
4
-5
0
0
0
-8
4
0
0
0
2
-1
3
-1
0
-8
-1
-1
-2
0
3
-18
1
2
0
-15
31
-60
8
-7
20
22
-15
-5
1
39
-51
49
0
-9
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-1
0
0
0
0
1
0
0
0
3
-1
0
-2
0
9
-70
6
0
0
-9
20
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-1
-36
1
-2
13
-2
-2
-19
-14
-5
-59
0
42
31
-22
6
32
-46
-50
19
15
0
-26
23
-1
70
0
0
0
0
0
0
0
0
0
0
8
0
3
-1
0
25
5
16
2
-3
9
-21
-5
78
-24
-86
1
-43
30
-24
0
-4
-3
-46
46
9
-58
31
46
-49
-102
23
24
21
84
-1
1
0
0
0
2
0
-2
0
0
-3
-13
4
-4
0
34
-40
-48
-15
-5
30
-14
-6
19
-24
-79
-34
-25
-15
-50
-18
50
-5
-8
5
1
61
3
42
-26
0
-55
1
-20
9
0
0
-4
0
0
3
1
30
0
0
-1
14
-1
2
0
-1
34
-23
2
1
-51
-17
-25
14
-6
29
26
6
-46
1
-60
29
68
-13
11
43
-197
-67
31
-2
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
2
-3
0
0
0
1
3
0
0
-2
6
-2
-1
3
-2
-2
8
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-2
-2
-5
-5
4
-8
-44
39
-18
-8
85
8
89
-41
-11
-42
-28
38
10
1
-117
66
-55
71
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
0
13
29
6
3
-8
1
-43
8
11
27
-15
-54
-9
39
-25
33
-32
-88
-7
74
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
1
0
0
0
1
0
0
5
-15
5
-10
0
0
-8
25
-7
-4
-1
5
-17
8
13
8
-17
-23
66
0
0
13
5
-13
6
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
27
-21
15
5
0
26
23
-31
20
0
52
18
50
6
0
17
8
-50
-99
0
-45
6
-8
63
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
38
-9
-9
-8
0
34
-34
-5
7
0
42
19
-32
26
0
-12
-35
-10
39
0
-128
20
83
16
0
-23
8
-65
-12
0
-1
0
0
0
0
0
-6
0
0
0
29
-3
-2
0
0
45
0
-4
-1
0
24
-1
13
16
0
-16
65
-29
32
0
27
3
-9
10
0
-140
-79
-17
-52
0
-5
-1
8
3
0
0
0
0
0
0
-29
1
0
1
0
-9
0
0
0
0
21
-5
-8
8
0
0
-3
36
0
0
12
-101
-2
-25
0
-4
26
-4
2
0
4
42
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
0
0
0
0
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
-15
7
1
0
0
-19
11
4
0
0
33
-45
29
0
0
0
42
-27
0
0
41
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
31
0
0
0
0
16
5
0
0
0
-36
6
29
0
0
3
5
15
0
0
-34
27
-47
0
0
-17
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
0
0
0
-8
-13
0
0
0
11
23
10
0
0
6
-4
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
1
0
0
0
0
0
-4
0
0
0
2
4
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
20
32
73
-56
3
46
17
-18
-25
-5
-69
-1
-52
3
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-4
0
-29
-12
10
-4
0
-73
16
-64
-8
16
25
-19
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
25
-1
8
0
0
7
8
38
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
7
-20
17
-8
-3
-5
50
-50
-14
-24
-23
49
2
-58
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
15
-18
25
-24
0
16
30
-32
-59
17
22
52
-27
-42
-14
49
-56
27
70
47
-52
-11
24
37
25
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-1
-1
16
-7
-5
16
-8
-24
-13
1
71
-50
-18
2
-5
22
11
5
-9
8
0
0
-1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-4
0
0
0
-59
10
-1
0
23
16
4
-1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-1
3
-5
29
-25
29
0
-22
55
-49
-51
-160
-2
-36
102
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-15
-6
0
-8
-2
-22
4
-17
-25
-5
17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
-7
0
0
4
0
-34
1
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-15
0
2
-3
0
50
-1
5
4
0
3
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
21
-8
0
-1
0
16
-5
-15
-15
0
91
5
-13
-8
0
-126
31
0
20
0
-18
-3
47
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
-7
5
3
-6
0
30
-20
4
-1
0
-9
30
11
4
0
-1
-8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
-2
0
0
5
-6
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
48
0
0
0
0
1
0
0
0
-25
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
71
-8
26
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-30
5
-3
18
28
-46
28
-62
-27
-35
-64
49
38
-15
-5
1
-9
46
-25
-8
27
16
-26
-20
-4
7
-8
30
-56
65
-22
-16
-8
0
0
0
0
0
-26
30
1
-23
16
-5
61
-15
38
-39
9
21
-17
-64
38
7
-4
-55
6
13
-20
-29
8
-24
58
-3
-23
-2
37
1
-15
7
1
2
-16
-117
43
18
-21
-2
26
-13
44
-66
-3
-80
-85
-43
30
9
-18
7
-17
48
-27
1
17
-53
8
-13
-3
9
36
47
44
10
13
-47
-24
10
52
0
16
2
37
-92
-38
-10
-22
-11
7
-6
-8
-2
-17
-33
-13
1
1
1
-21
-111
24
37
7
82
-8
1
-5
-7
4
6
9
32
-35
21
-27
69
12
55
-4
-6
-44
29
-11
29
-14
16
-12
31
-19
7
2
7
-41
0
0
0
0
0
54
-29
-18
32
0
28
-39
-6
3
40
-36
-19
-25
9
-14
7
-67
7
-35
50
-12
-5
-29
-1
-6
-43
-27
23
-30
-4
4
8
-4
5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-43
-20
-5
45
4
-39
-65
46
1
-22
22
20
-60
-18
19
10
12
1
-34
-12
-10
18
-2
-7
-10
-13
26
-6
33
11
13
-15
32
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
20
5
2
32
-49
-41
-21
4
37
42
18
0
39
11
-44
22
-24
-2
103
-36
-7
-32
15
-28
-27
-28
-3
-40
-9
8
11
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
53
-26
-20
-52
-15
-7
7
6
-52
-38
3
1
-13
3
-59
-18
-13
-13
56
-49
-13
15
18
18
26
-6
-22
10
25
8
-49
-22
33
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-4
10
3
19
-33
60
-88
34
9
-45
-54
19
13
-1
11
36
-34
21
63
-6
-27
-11
1
33
25
-36
-30
5
-18
-10
-6
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-52
11
0
-37
16
15
-18
0
-9
10
-5
70
0
-24
-20
-10
15
0
-10
-10
-19
-7
0
2
-16
12
13
0
24
49
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
-10
-1
0
-46
45
-44
49
0
2
-64
-21
-25
0
30
41
-4
8
0
12
35
-57
34
0
-7
-17
-9
54
0
9
-22
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-31
-18
0
0
5
7
-34
0
0
-59
48
7
0
0
70
-3
41
0
0
9
9
26
0
0
14
-20
34
0
0
-2
19
20
0
0
0
0
0
0
0
-49
-25
23
0
0
-4
-68
14
0
0
93
-18
-43
0
0
-84
-8
2
0
0
-3
-21
14
0
0
4
15
3
0
0
-33
10
-13
0
0
23
-29
19
0
0
-5
17
-15
0
0
6
93
27
0
0
-43
22
4
0
0
24
-31
-30
0
0
13
-7
64
0
0
-12
-13
11
0
0
15
20
-16
0
0
31
-12
-21
0
0
-12
-2
39
0
0
-41
2
-1
0
0
-8
19
41
0
0
-18
-13
9
0
0
20
-14
23
0
0
-98
19
15
0
0
-10
13
14
0
0
6
-2
-6
0
0
11
-6
-3
0
0
0
0
0
0
0
-40
-26
0
0
0
15
-6
-10
0
0
11
42
37
0
0
-26
-9
66
0
0
-45
32
19
0
0
15
-26
1
0
0
3
-14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-57
11
-20
-10
9
-6
24
57
10
-2
-69
26
6
-10
-13
1
-14
-34
20
6
2
20
-9
-8
20
4
-1
30
-16
51
33
7
2
0
0
0
0
0
70
-8
-13
-50
23
3
-22
-12
16
0
-16
29
-7
47
-20
-51
-16
11
63
27
20
-2
24
1
-10
5
-5
4
5
20
-40
6
12
15
-3
58
6
-19
-14
21
22
25
-15
22
15
-2
-41
-4
-32
48
28
25
-5
-59
-13
25
-8
-54
-2
35
-25
-7
-8
31
-69
-35
-35
26
-30
-9
22
34
18
10
-5
-2
13
18
23
35
60
25
19
-24
-5
-19
7
-27
-22
19
36
-13
27
20
-40
47
-29
30
36
8
2
13
-54
-2
-36
-61
7
15
-24
20
2
-28
3
6
-13
-8
17
15
32
-25
45
9
20
-6
28
0
0
0
0
0
-23
-28
-10
-32
0
-77
54
30
-11
-23
67
-3
29
7
-9
-30
-4
7
10
0
-40
17
1
-10
25
-1
-6
1
19
-37
22
-15
2
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
49
8
60
-64
-53
29
36
-32
39
52
-20
-13
52
-14
-2
30
-39
-22
48
10
5
2
7
19
11
6
17
3
6
38
23
-24
32
-2
0
0
0
0
0
25
4
27
-39
32
25
-54
-96
26
-16
-17
3
-10
-44
-20
-12
-18
27
-10
-34
-41
26
-24
-17
35
55
18
8
18
-16
-9
-56
-18
-25
27
-58
-38
30
6
17
-37
24
-43
-76
-6
-81
-8
-29
-13
2
21
24
-10
-27
20
48
6
-8
-42
20
9
-21
41
3
47
59
25
-3
29
41
-13
15
15
22
35
-25
-33
-32
-5
-53
-63
-42
-7
-17
-3
-33
-40
-44
-8
0
-10
-35
29
8
-10
48
16
-30
45
-25
13
-22
4
-26
-17
52
41
1
-15
10
-15
-35
8
37
5
-22
-37
-4
9
-4
-17
-16
2
0
-1
0
0
0
0
0
46
33
-16
8
0
42
-58
24
20
1
6
19
-39
-25
-1
18
-7
45
-20
-69
34
-2
19
12
50
-53
-14
-33
0
20
-9
3
11
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
-37
8
-20
67
-3
10
30
-25
4
-52
32
10
35
34
35
10
34
14
-47
4
8
-12
31
1
-16
11
18
4
17
26
15
0
1
-22
0
0
0
0
0
-95
49
1
-8
-2
33
-26
-28
-9
21
-58
10
-36
-18
16
11
19
-13
-3
-11
-39
-32
-20
7
43
-3
-3
11
-10
18
3
-8
3
13
-27
23
21
-32
-37
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-23
-32
-2
-5
-25
29
20
30
6
-2
-1
2
-16
18
-24
6
8
29
-15
-8
28
7
67
-3
-16
-22
0
5
-5
0
-11
10
-20
1
-14
1
-6
21
24
0
0
0
0
0
5
3
67
-26
0
-44
43
-56
25
3
35
-12
-16
-3
-32
-29
1
10
20
26
-13
42
11
-34
-19
-13
-20
-6
-1
25
40
-21
9
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-4
9
4
0
2
-41
-27
73
0
38
14
-19
15
0
13
10
-3
-30
0
-16
1
-7
3
0
-1
26
20
-5
0
43
24
22
1
0
0
0
0
0
0
2
-5
-5
-22
0
12
23
0
7
0
-46
26
39
-14
0
-14
-2
0
63
0
-20
16
52
-8
0
38
9
20
26
0
-4
10
-46
6
0
23
-20
-1
14
0
11
10
38
8
0
-38
23
29
6
0
-43
41
16
7
0
-41
-4
23
8
0
-5
21
-50
-16
0
-9
4
27
28
0
-14
17
-21
47
0
11
-4
-9
-14
0
19
-15
-12
-13
0
-1
15
20
-2
0
-2
4
-27
13
0
-50
42
31
-16
0
15
-53
-55
40
0
9
-12
31
43
0
-8
-8
37
18
0
23
10
-24
-4
0
13
-10
6
3
0
0
0
0
0
0
-23
-13
-9
0
0
-38
-48
7
44
0
41
17
19
-27
0
-12
28
-16
44
0
19
-3
-33
-28
0
11
11
-11
-22
0
51
-6
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
60
59
0
0
8
-7
-21
0
0
55
-27
109
0
0
-15
38
-5
0
0
34
-1
31
0
0
1
18
-5
0
0
13
-21
-18
0
0
0
0
0
0
0
15
18
-32
0
0
0
-41
35
0
0
-46
-63
16
0
0
-23
34
6
0
0
1
-9
-42
0
0
4
10
29
0
0
22
13
22
0
0
1
44
-30
0
0
-7
-26
-18
0
0
3
-8
23
0
0
0
-10
28
0
0
-28
7
8
0
0
22
13
-60
0
0
-9
2
-19
0
0
9
21
11
0
0
-1
33
35
0
0
-1
-23
5
0
0
36
-20
6
0
0
-9
30
30
0
0
34
7
-6
0
0
15
53
-31
0
0
-8
9
34
0
0
15
-27
11
0
0
-2
-10
14
0
0
19
31
14
0
0
0
0
0
0
0
13
31
0
0
0
22
-8
-6
0
0
10
-20
-39
0
0
-44
11
-6
0
0
28
-8
-53
0
0
-4
64
10
0
0
28
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
9
-19
-17
3
-2
-59
17
34
-11
24
-25
37
3
18
-2
43
24
61
22
3
37
32
-12
35
40
14
6
9
-16
15
28
-2
-7
8
0
0
0
0
0
52
36
-27
-21
6
46
-40
-45
10
17
-13
-52
2
8
7
-75
-8
14
-24
92
29
-56
-13
-34
-22
29
18
-4
21
-47
4
28
10
20
14
74
28
-10
30
11
-27
-60
-5
5
0
14
3
-4
32
-12
17
29
-55
27
1
10
-14
-62
-4
57
4
-40
-7
-53
52
-15
0
8
17
-63
9
25
7
11
23
13
7
2
-16
59
41
0
1
50
-15
22
34
-13
3
0
33
99
-33
-1
9
0
5
40
-35
0
12
-49
-6
5
1
0
12
-51
-5
-7
-12
-35
7
-3
11
38
15
-7
17
19
12
31
12
29
37
0
0
0
0
0
6
-63
-15
0
0
1
61
24
-4
0
25
-25
-22
16
0
-46
-18
-37
-16
-1
19
-21
60
-51
31
30
5
1
26
2
38
-19
6
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-15
1
-30
12
35
-41
20
20
-9
-20
20
-99
89
11
-23
-13
47
3
30
29
70
1
-19
55
41
15
8
52
-12
98
-3
22
8
7
0
0
0
0
0
30
31
-19
-4
-36
30
30
26
-44
-43
-9
-3
-17
-55
22
-10
4
0
4
49
4
-17
-4
-8
-3
18
44
4
32
36
22
6
34
13
16
50
39
12
20
0
84
72
-46
-9
25
55
13
-26
-30
-2
-11
-28
23
-7
-8
-13
10
1
21
20
-37
-11
-51
26
6
-8
15
31
24
29
42
-2
36
7
15
-19
9
16
22
29
32
-2
9
12
-13
-11
-36
-64
14
-5
-4
-3
-14
8
10
23
-22
0
20
-15
48
-38
33
6
12
17
-9
12
4
0
18
-9
12
-19
20
3
15
9
13
6
0
6
11
16
10
0
0
0
0
0
87
-28
-29
-4
0
40
35
-55
11
8
-59
41
15
9
0
34
16
2
14
-5
-32
89
-65
-53
10
0
-11
-20
-16
4
-12
-9
36
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
27
14
-28
8
34
28
-2
-1
78
78
95
-53
-90
-42
25
3
18
20
11
43
31
0
-3
-10
-4
-14
6
23
57
67
-4
14
-28
0
0
0
0
0
49
-21
5
9
-32
28
-15
-3
26
6
28
-4
-11
48
-26
14
-18
16
-6
31
34
13
32
3
29
-11
24
26
12
20
20
22
2
8
17
34
7
11
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
31
-45
47
5
13
-4
-9
-52
39
-19
-19
45
72
-21
-17
-11
5
2
23
-11
6
1
-8
16
14
13
-6
-4
2
-4
0
8
9
-9
49
-22
10
-7
6
0
0
0
0
0
12
71
-23
5
0
12
-58
-13
61
-16
-69
-9
-59
29
2
16
-3
24
-49
16
-15
55
44
5
-81
4
-40
33
22
14
55
1
-6
-18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
76
-9
-5
0
24
42
35
25
0
18
36
22
14
0
25
54
-31
-78
0
-60
15
-10
42
0
-13
5
14
-3
0
64
32
26
23
0
0
0
0
0
0
-28
40
-5
27
0
-10
45
32
-28
0
22
-53
17
-1
0
70
-1
14
-2
0
17
-1
28
-17
0
-24
12
15
31
0
9
57
18
14
0
-9
0
13
8
0
-41
9
-26
-26
0
33
-7
33
22
0
24
-47
5
7
0
-18
-1
-35
-87
0
37
-48
39
68
0
-21
1
-2
15
0
-1
9
-3
40
0
-2
26
39
19
0
55
9
-4
0
0
10
45
44
-5
0
34
1
-3
29
0
-23
-11
-17
48
0
-15
17
86
-34
0
-6
28
17
-20
0
18
13
17
-2
0
-10
-15
18
32
0
30
-3
19
23
0
0
0
0
0
0
-6
-6
-2
0
0
14
1
36
-4
0
-28
44
-3
0
0
-22
-22
-28
15
0
30
36
5
43
0
-6
-6
54
6
0
-19
13
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
34
2
0
0
62
77
-7
0
0
28
-17
18
0
0
19
-89
-34
0
0
17
-2
-31
0
0
-36
16
4
0
0
0
-4
36
0
0
0
0
0
0
0
42
10
-20
0
0
20
50
2
0
0
69
51
-1
0
0
-4
0
38
0
0
-30
3
47
0
0
-8
6
-10
0
0
14
31
25
0
0
2
16
-52
0
0
5
-7
0
0
0
92
-20
-6
0
0
-31
30
0
0
0
-2
10
-4
0
0
-51
6
45
0
0
58
10
-61
0
0
6
13
45
0
0
-7
5
58
0
0
28
64
-21
0
0
-13
-2
0
0
0
19
0
0
0
0
30
-10
-2
0
0
-41
-34
17
0
0
29
15
-8
0
0
-6
46
14
0
0
16
30
47
0
0
15
13
9
0
0
0
0
0
0
0
3
5
0
0
0
-25
-11
0
0
0
-6
22
1
0
0
77
-8
-3
0
0
17
-10
-48
0
0
-11
-39
1
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
1
-76
3
-87
-28
12
-23
-49
-52
40
0
-22
0
-88
-36
-32
3
-15
-7
16
-11
33
15
1
34
-63
18
5
-9
-57
21
-21
44
0
0
0
0
0
-4
0
-18
16
0
16
-5
-13
4
15
13
-30
36
3
-14
-36
-33
52
-3
32
14
-7
-53
-21
-3
-8
23
-21
17
12
-67
-45
-6
29
10
-118
-29
-12
-7
-18
-2
0
-1
0
0
5
-48
16
29
0
19
10
29
3
7
-39
63
47
49
-33
-28
107
-31
55
-73
-20
-57
32
-27
28
-13
4
-3
14
31
-43
-60
-26
-30
-15
-82
-12
70
-30
-14
-9
-34
34
-11
-2
-54
1
-4
59
22
68
-23
10
2
-8
-13
-29
36
21
-50
40
38
46
1
48
-6
-22
-33
6
18
-52
-34
15
-16
54
12
-3
-23
-3
-6
0
0
0
0
0
15
16
-58
5
-5
-11
6
18
-53
5
-42
-36
-23
58
-17
-15
23
48
27
-7
70
-35
-36
72
-20
-78
-20
-17
-32
-53
-14
-14
27
-21
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
5
-6
0
-22
-20
6
-36
13
-9
-102
-75
45
29
-45
12
1
26
-82
-15
-5
-43
23
-1
16
-56
-14
6
-9
-103
23
3
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
-8
1
-13
3
1
2
-7
23
9
0
0
1
3
0
0
0
-5
-12
0
1
-1
2
-3
-20
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
5
-5
-1
0
-5
-22
17
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-2
2
4
0
-1
-3
-21
5
3
1
-36
-8
63
-18
-8
7
0
-30
-5
1
0
0
0
0
0
-23
-33
-3
2
-2
34
-13
-12
19
7
-5
-24
4
-38
-8
23
-25
-37
52
-15
-1
48
38
8
-1
-12
10
-80
-24
-72
-4
-12
10
3
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-19
-10
-9
-47
-27
-49
-60
53
36
-23
5
-6
-27
9
7
50
36
-11
7
-32
-39
-76
6
44
24
-58
-4
-61
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-1
0
0
-5
2
-16
0
0
-14
-5
7
-3
0
-1
0
6
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-23
-1
-2
1
14
-4
-13
17
0
25
-55
1
12
-18
-30
-77
53
-49
11
-58
-70
51
30
0
24
-18
-30
-54
11
-23
66
6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
-58
6
-12
-41
0
10
11
-8
10
0
-85
27
-16
67
0
-8
22
-3
-29
0
34
-40
-33
28
0
6
-111
109
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-26
-1
0
0
2
5
2
0
0
-6
0
3
0
-1
0
1
-4
0
0
0
-3
0
0
0
3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-15
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
0
0
0
0
5
0
0
0
1
3
0
0
0
2
4
-3
0
0
0
0
0
0
-12
-13
-15
0
0
-45
-16
56
-16
0
30
40
2
-20
0
10
24
9
28
0
-8
-64
-29
33
0
51
10
-14
20
0
-21
21
-26
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
-6
-46
43
0
0
3
29
-22
0
0
21
31
12
0
0
-71
41
-5
0
0
14
-21
6
0
0
19
5
-35
0
0
0
0
0
0
0
0
-1
7
0
0
-61
-39
-4
0
0
-67
-82
-12
0
0
8
20
-27
0
0
-59
-5
26
0
0
61
-49
28
0
0
-20
21
-14
0
0
16
59
41
0
0
0
0
0
0
0
-6
0
0
0
0
-23
-26
-22
0
0
-37
-9
-20
0
0
3
-20
21
0
0
-4
10
11
0
0
27
15
-14
0
0
-32
-22
21
0
0
14
-9
14
0
0
2
-12
-8
0
0
-44
23
5
0
0
-55
29
-23
0
0
-36
-65
55
0
0
-8
45
-75
0
0
7
14
-29
0
0
31
-4
41
0
0
3
-19
1
0
0
0
0
0
0
0
-5
22
-5
0
0
3
49
-22
0
0
0
18
-20
0
0
5
-70
-15
0
0
-35
-21
31
0
0
-1
8
25
0
0
44
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-9
74
8
-49
-36
-31
-38
-25
-71
-32
57
-25
-49
-17
7
-28
-27
1
4
-6
-6
-12
9
-4
2
12
17
-8
-39
-17
-9
-23
2
0
0
0
0
0
-78
53
34
-15
11
-37
20
48
-19
-1
61
36
-6
56
-124
53
-19
17
-47
-43
-45
-11
7
10
43
-15
11
3
-4
6
-3
-7
-4
-19
11
-79
-4
-11
12
-30
-58
-17
6
36
-25
-4
-2
9
73
2
-29
53
-34
-7
19
12
-33
30
10
40
-11
6
-12
-52
64
5
0
-30
-30
-16
2
-13
21
-16
30
-80
-45
-36
-2
-17
-21
2
19
3
2
9
1
52
-34
-2
3
57
-27
-15
2
-23
78
19
5
-34
89
-12
-38
0
-16
-17
-23
-4
39
23
32
-28
8
3
-24
-52
32
6
8
20
7
-2
-36
3
13
0
0
0
0
0
-65
-42
47
9
-37
48
-22
14
60
-51
71
19
-18
-54
22
-5
16
15
54
25
-42
54
22
-16
27
-12
-4
3
18
-22
1
-19
11
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-25
-81
-3
-4
-59
-24
0
16
-65
-13
-44
29
1
24
-75
-20
8
14
-27
-24
-14
-26
4
-21
8
12
1
-5
-7
-112
-15
-28
-1
16
0
0
0
0
0
0
0
0
0
0
4
6
-20
14
-1
-58
10
-28
-16
-24
-71
-28
-34
-16
-18
-11
24
60
-50
-50
12
24
34
22
-2
-69
-69
-66
24
-55
72
-144
-90
-61
13
0
-2
0
0
0
-1
0
0
0
-2
1
1
0
23
0
6
-29
8
50
-18
15
26
-41
-25
47
-5
-55
9
-17
-93
-36
-34
-62
-6
-18
-92
-55
-3
-31
-16
-77
55
16
-43
23
6
0
0
-2
0
-16
-3
-7
-6
0
-33
19
-14
1
-1
34
56
-13
8
-17
39
36
18
-80
-22
-98
-33
20
39
-14
12
-55
9
21
42
-62
-45
-14
-11
-17
0
0
0
0
0
-51
18
9
20
-6
4
-9
44
84
11
31
23
-80
51
34
65
25
4
-9
-34
-13
-3
29
-49
9
-43
-18
20
0
27
37
-13
-9
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-25
11
-18
6
-95
-68
75
-15
-43
-88
-52
-14
48
29
-28
8
-49
11
37
53
-11
-13
17
-14
47
-3
-12
2
3
-45
-1
-24
-23
-31
0
0
0
0
0
0
0
0
0
0
0
4
1
6
-1
-54
-27
-12
-13
7
-37
-36
17
30
-20
-65
55
-88
5
-15
40
-29
29
-44
67
63
-151
-81
-25
-18
-23
-28
-13
-51
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
3
0
0
-2
8
-8
-5
0
0
-2
-12
-40
0
1
-5
17
29
-8
17
5
-37
-74
0
-36
-11
18
8
30
-13
-8
-51
-1
-9
0
0
0
0
0
-6
10
-28
-24
3
25
-4
58
-49
16
-64
16
128
7
3
35
-9
-33
32
-59
-14
-8
-31
75
5
-42
-4
-3
7
-11
56
6
5
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-23
-1
-4
0
-11
-27
-28
-3
0
-51
39
32
-29
0
-16
-28
-4
-10
0
-10
4
-1
3
0
-19
-35
9
10
0
-14
-9
7
-7
0
0
0
0
0
0
0
0
0
0
0
1
4
-25
-8
0
-31
2
27
-30
0
-8
22
62
-22
0
-39
5
-94
12
0
-15
2
19
-42
0
35
-57
-8
-80
0
38
-24
-64
29
0
0
0
-3
0
0
-25
2
0
-2
0
-5
1
-23
-16
0
-108
44
-7
0
0
-28
15
-48
-9
0
51
-87
26
34
0
111
55
-25
-9
0
-18
-25
-46
9
0
10
-63
54
-19
0
-4
0
3
1
0
0
-4
-36
5
0
40
8
-57
-25
0
-14
25
-27
-25
0
-72
-21
-20
3
0
-136
-14
-36
-16
0
-23
-58
6
20
0
168
1
-1
-47
0
0
0
0
0
0
40
-27
-2
-7
0
-17
-10
-1
-43
0
-9
-24
2
66
0
1
16
6
-41
0
-33
-15
39
-5
0
0
19
-12
-47
0
34
16
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
12
0
0
28
-20
38
0
0
-24
10
-27
0
0
-17
1
-1
0
0
-11
0
-3
0
0
7
-17
12
0
0
13
39
-32
0
0
0
0
0
0
0
-1
3
-41
0
0
-10
27
7
0
0
-35
17
-52
0
0
33
-25
20
0
0
-11
-21
10
0
0
20
23
-31
0
0
-78
-31
7
0
0
-3
-5
28
0
0
-14
0
20
0
0
4
-4
-18
0
0
-20
20
-46
0
0
24
-15
36
0
0
4
-3
-12
0
0
3
20
-34
0
0
-24
-21
2
0
0
-11
-2
-29
0
0
28
-5
-6
0
0
13
14
-7
0
0
-25
75
-15
0
0
13
-5
-17
0
0
51
-8
-24
0
0
-4
-8
-20
0
0
-68
-14
36
0
0
-1
-5
-13
0
0
52
-29
-3
0
0
0
0
0
0
0
32
67
-1
0
0
22
-9
-4
0
0
-14
4
-3
0
0
-36
-15
-1
0
0
23
-44
26
0
0
0
-19
26
0
0
20
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
13
48
-1
-39
-28
37
-70
-8
44
-68
31
-13
-14
37
11
12
15
-68
-9
-8
1
-12
6
23
18
-6
19
1
-22
2
27
-3
27
0
0
0
0
0
34
-8
66
8
-28
-20
14
-45
12
-2
-70
-93
71
-47
31
19
20
-38
12
1
15
0
4
-3
-63
14
28
20
17
-28
-30
6
-16
3
30
36
14
-13
-10
17
16
68
-70
13
3
54
-19
85
-75
-42
-6
-37
44
5
-46
56
0
-38
-11
21
30
11
2
-30
35
-5
5
-26
31
-10
-9
20
-6
-4
-12
20
-14
-17
22
7
20
30
48
-27
39
46
-71
7
49
0
-19
-32
-24
-17
19
4
80
-3
-1
-7
-13
-66
59
-24
40
-11
-6
-11
25
23
-32
-11
58
-61
-1
-29
-8
-21
4
-16
-6
7
-42
12
-4
0
0
0
0
0
18
3
24
13
-15
12
-35
-32
50
17
2
-10
-15
-13
-14
-85
-38
19
22
-14
16
0
41
-26
-27
-50
1
11
-9
40
23
17
-25
15
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-62
-10
23
-10
-26
-76
-18
8
-43
-27
-25
54
42
-31
17
28
-6
-39
-58
13
19
9
-8
9
-7
-11
6
-9
16
11
-22
16
8
10
0
0
0
0
0
-33
-6
26
41
-18
-93
-15
32
65
9
-62
6
76
-25
28
12
-15
-30
58
9
1
12
13
-1
-22
-59
-22
14
-14
2
-58
-107
-7
2
-24
-15
-34
-61
-26
2
-36
-75
37
-16
-5
-43
-35
36
11
-15
-116
22
-64
30
4
-40
7
18
-37
-12
2
45
12
-18
-2
7
-20
-31
-35
4
-21
23
-21
15
21
-7
-16
-25
-26
-5
-38
-1
9
1
9
-137
42
-6
-51
-8
-76
-90
9
34
15
1
9
12
-67
-1
-22
45
-46
5
-22
27
8
28
-14
-43
-9
-11
-19
8
-27
-12
-11
-26
17
6
-55
-25
-7
-14
20
0
0
0
0
0
11
-19
33
-50
-13
-9
-25
8
-2
-14
55
16
25
-55
15
10
-40
-3
33
7
16
-10
-7
-31
19
25
-8
9
21
-19
-17
21
-3
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
39
20
9
5
-32
-19
-18
-2
56
5
-87
12
4
35
5
1
-27
-4
-54
20
3
-15
23
0
-4
11
30
-10
-29
2
-34
18
-4
12
0
0
0
0
0
-49
-25
-3
-48
0
-36
-11
-6
-61
-15
-26
-41
-47
-40
1
4
-32
-41
-3
26
6
16
-19
-24
-66
-28
-47
-16
38
-28
1
-49
-15
-12
-31
-77
3
-10
-33
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
-10
-24
-4
47
-22
-26
-1
-5
-57
26
-8
-10
-22
42
-45
-20
-24
3
36
-17
-2
0
-29
-76
-18
-6
28
-32
-7
-4
6
25
19
-34
-9
-9
1
-17
0
0
0
0
0
-19
4
51
-19
3
21
-7
-16
-9
-19
12
59
-33
11
-45
2
-35
-21
-3
-28
38
-10
57
8
23
-9
11
-1
5
-15
69
11
-16
-3
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
19
47
-10
0
-1
-64
29
37
0
-19
47
-20
-37
0
-28
-19
-1
-33
0
16
-3
-13
-10
0
-5
22
5
-3
0
-57
16
-6
28
0
0
0
0
0
0
-31
-62
6
15
0
-13
-16
-61
-18
0
-73
-16
-60
57
0
-10
3
-15
-31
0
-37
-33
-9
-44
0
57
1
8
-25
0
-39
-54
-5
14
0
-46
17
-12
-22
0
-30
0
20
1
0
4
26
3
-37
0
9
-54
16
-32
0
12
-29
17
19
0
41
14
5
-4
0
-17
-3
-63
39
0
-69
-7
28
-39
0
-9
-9
-32
-2
0
41
-34
24
15
0
90
-25
-21
8
0
-60
-6
19
-28
0
5
-19
60
9
0
30
-17
-21
-34
0
-66
21
-22
-39
0
-8
-37
3
-15
0
-9
3
11
-6
0
-8
1
-22
0
0
0
0
0
0
0
39
56
-3
6
0
-2
1
45
-22
0
-18
-33
19
-33
0
28
-28
43
-21
0
3
12
-27
2
0
-18
-24
2
54
0
-41
32
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-12
-21
0
0
12
5
6
0
0
35
33
-25
0
0
-4
-26
-26
0
0
4
3
17
0
0
-5
-17
11
0
0
-5
3
-25
0
0
0
0
0
0
0
5
14
19
0
0
12
45
-16
0
0
30
-20
15
0
0
23
65
-23
0
0
-5
21
-10
0
0
-8
-22
1
0
0
-7
-22
-21
0
0
-7
34
8
0
0
-2
7
2
0
0
-13
-15
-5
0
0
14
18
-7
0
0
69
-26
-49
0
0
7
-52
-3
0
0
-24
3
-28
0
0
20
35
-9
0
0
41
5
41
0
0
-82
32
-41
0
0
-18
45
0
0
0
35
13
5
0
0
-38
-69
-1
0
0
-29
6
-96
0
0
57
-33
15
0
0
-17
10
-16
0
0
13
-5
54
0
0
9
-27
18
0
0
0
0
0
0
0
12
-4
6
0
0
58
11
0
0
0
21
49
39
0
0
32
-11
-47
0
0
2
80
-30
0
0
-18
-2
20
0
0
-30
-24
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
0
-1
0
-59
-26
4
38
6
-70
-90
70
-1
-25
-3
4
7
-16
-26
45
26
-21
34
27
23
15
61
-61
26
31
62
-15
24
-32
0
0
0
0
0
-10
-10
9
10
0
-24
15
50
-27
0
-6
-17
-23
-65
-27
-35
3
-45
30
46
2
-50
-5
2
53
15
15
-18
-16
37
-22
18
14
-56
-16
97
-28
10
55
-10
-26
-5
0
0
0
18
-16
0
-9
7
42
23
-19
8
0
69
-88
10
-19
-1
4
-9
44
-65
-73
-107
-74
-5
32
11
-22
6
31
14
-20
48
28
-7
1
-11
37
25
-18
32
48
41
6
-1
-12
0
-14
-50
18
24
-3
-114
-26
51
36
1
-98
-6
10
-36
-4
-42
4
10
-40
16
27
-15
-69
60
45
42
11
-11
3
-10
112
3
25
-46
-35
0
0
0
0
0
-2
74
2
0
0
-8
0
19
0
0
34
4
-50
-25
-1
9
63
-30
-3
1
-24
55
109
-8
-40
14
-32
-55
34
-34
-9
-63
38
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
55
10
-8
1
-43
19
-5
-27
-8
-53
17
-25
16
18
-27
8
-4
19
-6
34
-49
-24
6
60
59
25
-25
-18
-15
97
35
61
0
-10
0
0
0
0
0
-60
-18
-36
-29
3
3
-11
13
5
24
-36
-51
21
21
-53
-57
36
-34
13
-14
-43
-12
-34
4
-45
20
-10
-2
9
-22
-48
-29
6
-2
12
25
21
-8
-11
-15
-29
5
48
2
2
9
-27
45
20
26
43
-44
55
-59
-19
-47
23
14
-14
-48
40
-26
14
-26
-19
-32
10
12
6
18
-18
36
-5
-6
-5
12
10
-6
-21
-8
-27
-16
4
0
5
72
22
42
-2
-29
96
-7
-16
63
-4
-30
25
10
-15
-15
-44
-19
-4
80
24
-68
-15
-1
-30
45
10
-13
-14
12
6
24
8
-8
-10
18
5
7
-16
-10
9
0
0
0
0
0
13
3
-2
28
0
7
-36
50
-15
8
69
-41
-16
-15
-1
-40
-75
-60
-29
43
-23
86
-26
26
2
-38
-12
-6
3
19
17
63
49
24
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-17
2
0
37
-65
-38
33
25
84
-27
-23
19
1
49
-21
-17
-27
-47
6
18
21
5
19
-12
12
-45
-12
31
63
54
50
-28
-15
0
0
0
0
0
-11
53
-41
-6
1
-56
5
8
9
-8
-30
-6
15
-58
37
-14
-59
-23
31
12
-56
-14
6
6
-72
-13
45
4
-12
-51
-20
-69
22
10
35
-6
18
-28
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
33
-33
5
-20
-21
46
6
17
1
24
-64
14
-6
-60
-17
10
-21
-78
16
23
-18
0
-45
12
5
-13
8
-10
3
-6
-4
16
37
-26
-40
23
-12
-14
0
0
0
0
0
-1
25
-5
1
1
30
7
15
-8
0
6
-5
23
-24
0
-31
10
19
-48
-3
19
5
-20
3
-23
7
-26
-47
-2
2
-6
83
30
20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
-1
0
0
16
49
25
-4
0
17
61
-42
-33
0
37
-18
45
-20
0
-21
43
-39
31
0
-1
6
17
-14
0
15
21
8
-52
0
0
0
0
0
0
14
1
50
8
0
47
-55
-17
-7
0
-64
-34
25
20
0
-10
17
-60
-32
0
-7
-26
-13
-27
0
4
12
-35
-37
0
-19
10
10
15
0
-8
-16
18
-1
0
31
-9
-67
-30
0
78
16
-46
-48
0
-43
-6
34
-5
0
-4
-1
52
3
0
-8
-2
24
13
0
-14
35
-39
-51
0
1
-44
21
-16
0
1
-17
-15
28
0
-29
43
8
13
0
-22
-8
-15
5
0
11
-30
-22
4
0
35
-15
-31
5
0
-2
-38
-26
-42
0
21
4
-16
22
0
-44
28
-2
16
0
22
-2
25
-7
0
-43
40
0
-12
0
0
0
0
0
0
2
-1
7
0
0
4
12
-8
-5
0
23
13
29
-1
0
-11
-2
52
-13
0
-3
-15
5
7
0
-12
-18
-14
16
0
-12
-39
-22
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-20
-25
-1
0
0
127
-4
20
0
0
1
-5
-14
0
0
-18
-4
-7
0
0
-62
-8
36
0
0
22
-28
-21
0
0
0
0
0
0
0
1
2
0
0
0
44
-13
-3
0
0
47
-29
30
0
0
-9
-27
-32
0
0
-18
-7
-48
0
0
8
-34
24
0
0
33
-9
31
0
0
-26
-3
14
0
0
0
0
0
0
0
-4
-1
0
0
0
10
19
2
0
0
-48
-5
-5
0
0
-10
-4
-17
0
0
-15
-13
-1
0
0
47
-23
-6
0
0
-41
-9
5
0
0
0
14
0
0
0
1
-3
0
0
0
-2
1
0
0
0
15
-13
0
0
0
-2
4
6
0
0
49
36
-22
0
0
6
-15
-38
0
0
-83
-13
21
0
0
2
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
9
0
0
0
-3
10
-1
0
0
-1
-8
-7
0
0
22
47
-34
0
0
1
34
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-2
-1
0
65
19
-40
1
0
48
-54
10
-50
-2
-12
57
40
10
8
59
7
-92
20
4
19
-15
12
-3
-62
0
0
0
0
0
6
0
0
0
0
6
-6
0
0
0
4
-59
6
0
-1
1
0
13
5
1
-24
58
-28
-35
-13
79
33
31
4
9
27
35
10
-26
-18
77
16
46
-46
71
0
0
0
0
0
35
1
0
0
0
22
-8
0
0
0
-3
9
-1
0
0
-25
60
-80
38
0
-27
1
-7
-42
0
41
45
2
-41
19
18
21
16
-26
-40
79
-9
-30
2
-1
5
16
0
0
0
23
-1
-1
0
0
14
13
0
0
0
16
39
-26
1
-1
0
2
13
17
0
30
-29
-22
-25
28
61
-14
38
-24
5
-85
48
10
0
-55
0
0
0
0
0
25
-1
0
0
0
3
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
12
-18
4
1
9
0
-2
40
19
0
2
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
0
0
26
-4
35
-21
5
23
16
-26
-66
-22
-43
-45
3
2
1
78
35
36
-7
9
116
19
50
105
-28
0
0
0
0
0
-25
16
15
0
0
-38
-47
5
17
-14
-14
27
-4
13
-22
3
-24
-7
29
-15
-17
-38
-39
-12
33
23
-9
-62
0
-5
32
25
-1
-22
-56
21
68
12
-4
31
-17
-11
0
0
0
82
4
-2
4
-14
35
-8
-20
6
-2
38
-22
-61
14
-9
0
-39
98
8
16
-51
29
-5
13
12
12
-16
-2
0
29
119
29
-1
-31
5
24
-52
57
-22
11
53
20
10
15
20
21
71
-31
9
16
-34
-47
16
24
-3
-44
-97
-41
-52
-30
-45
-31
-38
45
-31
52
29
-3
-18
19
38
82
-3
1
-15
25
9
73
-33
-4
0
0
0
0
0
-9
26
0
0
0
13
0
0
0
0
0
3
0
1
0
0
0
4
1
0
0
-14
-8
-6
0
4
-13
6
24
-20
-2
0
-7
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
-3
-12
0
5
-9
20
16
44
5
-23
11
-43
7
-21
8
-6
59
-18
-56
-18
24
-15
-57
130
22
0
-3
56
0
0
0
0
0
0
3
-4
0
0
7
-13
-50
12
2
105
-47
-33
20
-41
-10
18
37
21
-63
19
20
-1
-48
27
13
10
-42
-49
62
-25
43
15
-29
23
-56
-42
44
48
-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
28
25
19
1
0
10
26
-13
19
-1
1
4
-6
-27
0
-16
14
-15
-26
48
-41
-31
6
-35
63
10
-24
7
31
-26
33
-13
38
29
-49
0
100
-46
-10
-44
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-5
-11
1
0
4
-5
5
33
0
0
0
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
-4
29
1
0
4
-3
28
-8
0
22
2
110
36
0
-24
-36
-62
-11
0
62
67
-19
12
0
0
0
0
0
0
0
0
-3
0
0
-4
-17
31
-4
0
-6
43
-1
-60
0
-23
39
18
1
0
-62
-6
-10
32
0
11
-13
33
-25
0
62
-59
-9
-56
0
55
11
23
-23
0
0
4
0
0
0
-42
-9
-14
9
0
17
23
3
8
0
-1
0
28
7
0
-52
-32
-69
-48
0
-78
-32
-65
-38
0
22
17
22
-8
0
23
-29
6
-51
0
0
48
-32
89
0
-1
17
-11
0
0
-52
42
3
-2
0
40
4
-19
0
0
-36
57
-29
7
0
35
-57
50
-15
0
58
-69
-10
-12
0
-80
-10
49
-28
0
0
7
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-22
0
40
0
0
-4
0
0
-7
0
0
0
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
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-12
-23
0
0
-24
63
-11
0
0
61
58
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-17
5
-12
0
0
-23
-29
6
0
0
18
12
-36
0
0
-14
38
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
-1
0
0
0
9
-1
0
0
0
37
14
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-39
0
-27
0
0
5
32
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-37
10
1
-1
72
-7
-29
27
11
80
37
4
54
0
-43
-9
32
6
-36
36
30
-7
-12
3
-28
10
1
-10
12
-34
-38
19
24
45
0
0
0
0
0
-72
-76
26
56
5
113
-28
6
1
-3
63
26
-36
-47
0
2
-25
58
-15
-37
-31
-61
-75
-11
10
-8
-11
14
28
-17
1
-6
-7
8
48
-35
101
45
58
8
3
1
-29
5
0
40
45
14
-6
-2
1
-52
-12
24
0
-6
38
-50
5
-41
-86
34
11
-11
-27
-33
-53
21
-14
-12
26
11
-24
-6
-2
-4
33
10
28
4
83
-7
4
-10
56
3
-47
-10
0
1
18
61
-12
10
-4
19
-58
-32
-5
0
-12
-4
-40
-29
-8
8
13
-3
-34
40
-3
-5
0
30
-15
54
13
14
-4
-33
-12
23
-18
22
45
0
0
0
0
0
-3
8
3
0
0
33
-5
-31
-3
0
30
-51
18
-5
4
5
-61
21
-8
-46
18
-65
3
15
-2
-10
-14
-38
-2
8
44
9
36
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-31
-29
-78
8
-6
45
7
3
8
46
-8
0
27
-2
-39
-18
36
36
29
-36
-37
32
27
6
-11
6
-6
20
3
20
44
-10
48
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
-11
0
0
32
86
1
-7
1
24
19
22
30
-5
-28
2
-17
-35
47
3
38
30
35
-61
-17
-8
-21
-30
24
22
42
22
5
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-20
67
35
-13
91
-4
-5
0
-39
-6
34
14
-16
-26
-8
-18
-21
15
3
7
-18
4
-3
46
-4
1
2
-4
-1
18
2
-2
7
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-4
-44
-2
-49
2
-62
19
17
-3
8
-8
1
-2
-3
-41
7
7
10
26
-21
22
0
17
-12
-4
-3
5
-7
-27
-27
-10
-40
0
0
39
-2
-20
-16
-8
5
-1
13
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
-40
49
0
-21
33
-1
40
-5
-4
23
5
9
-3
60
70
-32
-1
1
-37
-23
22
-15
24
-62
-5
23
-32
4
9
-4
19
14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
88
45
25
0
-9
-6
-47
46
0
-16
13
-50
20
0
-1
3
3
-69
0
34
-14
23
-18
0
16
21
22
-16
0
14
-3
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
10
2
0
0
-9
-5
-9
-7
0
-20
29
-31
1
0
45
-7
7
-53
0
-6
-19
-8
-29
0
4
3
-12
-20
0
-8
-2
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
-2
0
0
-12
-14
31
0
0
17
16
-32
0
0
-11
23
-87
0
0
-39
9
27
0
0
24
2
5
0
0
6
-1
29
0
0
0
0
0
0
0
70
-9
18
0
0
-15
-20
1
0
0
19
44
-3
0
0
41
24
-28
0
0
56
4
7
0
0
1
28
2
0
0
-23
-23
-23
0
0
-7
6
56
0
0
-2
-3
0
0
0
3
4
0
0
0
-14
7
0
0
0
9
-24
76
0
0
-12
-5
10
0
0
11
20
9
0
0
16
8
-17
0
0
-37
-31
-48
0
0
0
-1
45
0
0
7
23
0
0
0
-12
0
0
0
0
-44
36
3
0
0
3
20
-21
0
0
39
0
-35
0
0
10
19
-55
0
0
-34
-4
8
0
0
6
-1
46
0
0
0
0
0
0
0
-1
0
0
0
0
7
9
1
0
0
-1
-11
0
0
0
41
7
12
0
0
-20
0
33
0
0
18
-60
-17
0
0
0
2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-23
6
-23
0
-30
20
-13
21
-1
15
28
39
17
2
16
-6
-42
-64
-24
32
14
14
11
-11
-22
9
11
22
-13
35
-37
15
19
45
0
0
0
0
0
62
123
2
-17
0
28
28
-19
-11
3
-58
30
-33
24
16
19
66
-14
72
-26
-22
58
-16
35
43
10
-40
3
2
0
-19
9
10
5
-4
59
40
41
12
9
-36
2
5
1
0
67
22
-47
-24
-2
33
33
-6
-18
0
-12
18
37
-45
6
74
30
34
32
-53
-36
-12
-7
19
36
23
-9
-8
-9
-25
19
22
-8
-7
2
49
-21
44
8
-41
7
25
14
0
-1
42
-41
10
0
0
14
13
7
-13
0
-7
-10
38
-40
72
-4
-24
-30
-3
-36
-101
-26
29
-15
49
30
-2
7
39
-36
17
42
20
-3
-67
0
0
0
0
0
39
17
-13
0
0
-42
-3
7
-1
0
1
26
-13
33
-1
22
-47
17
-35
20
68
-21
-40
9
19
15
52
7
-45
-35
-51
0
-26
68
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
20
16
0
58
-19
-31
64
23
72
-47
51
-123
-3
-26
-31
78
1
-16
35
11
-7
24
61
-23
11
-18
-7
-2
37
31
32
34
-5
0
0
0
0
0
7
-21
6
-28
11
5
-1
55
56
-1
53
-11
40
-16
28
4
13
77
34
-47
-4
23
-24
53
-31
-19
3
7
-10
27
9
-27
-17
-5
33
24
-13
30
31
42
-48
-36
-8
48
1
21
25
-12
-7
0
7
-38
48
17
-59
-29
-33
1
5
14
16
-10
-18
55
-5
13
-31
-22
-6
-12
-11
-2
5
16
12
-3
15
28
-9
22
43
44
27
7
14
28
2
3
-1
0
80
36
23
-41
12
-4
24
5
-15
-1
-16
-57
82
-24
-42
31
-3
-29
-4
-60
-78
-51
12
2
18
23
13
-14
15
46
-10
54
34
37
8
0
0
0
0
0
28
38
18
1
0
39
21
-2
-12
1
13
-33
41
-72
-5
-15
9
-34
-3
6
-22
-15
-33
18
38
87
19
-8
2
28
20
16
25
-16
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-13
-14
16
0
27
58
-25
-17
-12
7
84
39
18
11
35
64
-32
13
0
33
34
-7
-37
34
20
8
10
-8
11
6
-6
18
19
8
0
0
0
0
0
17
-54
62
2
0
10
39
2
-9
-19
48
21
-51
-52
-9
-10
-32
0
19
-17
2
43
10
-2
27
4
-5
5
-2
-36
-49
-17
2
7
5
28
26
-11
-14
14
-23
34
99
-47
-4
-29
48
-37
-14
-1
-5
36
-46
56
-52
41
-10
6
-45
-55
10
8
5
-10
-9
0
4
-12
-7
22
2
2
1
1
-8
-2
7
11
16
22
2
3
-8
-4
-11
-30
27
19
-25
1
3
20
-41
21
0
-27
1
-35
35
0
34
36
-1
-11
12
31
-42
21
32
22
29
1
11
-19
6
-10
29
2
16
-10
0
8
26
-9
-4
0
0
0
0
0
11
-12
2
0
0
-44
-22
-19
-1
25
34
51
-12
27
-2
-29
-15
29
-1
21
-29
60
11
-27
27
33
9
42
-5
-71
-1
23
1
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-40
-2
-2
0
-6
32
17
-17
0
34
-24
77
44
0
6
17
-44
-14
0
34
25
30
-14
0
7
-5
0
8
0
2
3
-6
29
0
0
0
0
0
0
61
-16
-10
-46
0
-10
35
-11
17
0
-29
21
-39
-17
0
11
-22
-21
-27
0
22
-30
-8
10
0
14
-5
3
2
0
-37
5
-16
8
0
-28
3
-6
27
0
3
14
-17
-2
0
-11
-27
10
20
0
24
7
30
39
0
79
21
10
13
0
3
-9
-24
-71
0
-2
7
5
-15
0
3
5
16
13
0
-5
-29
-2
-11
0
-16
1
38
25
0
-23
-4
0
0
0
-16
1
-1
23
0
32
-45
20
-3
0
74
-21
-30
-1
0
35
19
-21
-3
0
46
-30
-32
-51
0
21
-3
-26
-2
0
0
8
56
2
0
0
0
0
0
0
-23
-43
5
0
0
25
7
0
-19
0
-51
-18
74
1
0
-43
2
-20
7
0
2
11
-14
1
0
-60
-47
-7
7
0
4
-3
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
47
-1
0
0
0
-8
26
33
0
0
39
17
-51
0
0
10
-33
18
0
0
5
10
-59
0
0
24
8
19
0
0
0
0
0
0
0
-18
5
-2
0
0
-1
59
0
0
0
34
29
-9
0
0
5
13
-69
0
0
4
-18
-3
0
0
15
35
24
0
0
-3
-10
14
0
0
-9
-43
22
0
0
43
-1
0
0
0
-5
6
0
0
0
22
-3
0
0
0
9
52
-7
0
0
-40
69
-23
0
0
17
-47
4
0
0
16
7
29
0
0
-84
6
1
0
0
-6
5
51
0
0
0
0
0
0
0
5
-5
0
0
0
3
14
-1
0
0
2
-15
6
0
0
31
34
-96
0
0
11
32
-1
0
0
2
-5
-28
0
0
-21
24
-7
0
0
0
0
0
0
0
-3
-7
0
0
0
-3
16
0
0
0
0
-14
0
0
0
2
16
17
0
0
1
4
-8
0
0
-67
-24
-33
0
0
-2
25
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
27
33
-73
-1
0
-41
3
15
10
2
12
13
-14
-3
-15
22
13
40
28
23
3
-16
-28
-38
3
47
7
6
47
-20
0
0
0
0
0
-32
-5
-3
0
0
8
-7
5
0
0
-22
6
-25
1
-1
31
42
-37
-4
2
7
-88
-27
39
21
-10
33
8
-6
43
34
4
17
23
-19
100
53
32
18
46
53
2
0
0
0
-12
-17
-7
0
0
37
19
8
0
0
-13
-7
-14
1
0
35
-78
93
-46
-15
-14
-59
-76
30
-1
14
-13
9
30
-32
41
36
-5
-9
26
-4
36
-32
-8
43
42
-20
1
0
0
34
-1
11
0
0
12
-23
0
0
0
-23
-31
-48
9
2
-33
2
21
2
8
-23
-16
-9
-15
-27
38
-33
-12
-53
26
-41
39
14
65
-15
0
0
0
0
0
31
-53
0
0
0
54
7
0
0
0
-16
-3
2
0
0
-28
-8
-35
-13
0
23
30
-11
10
-9
8
7
-24
-54
1
-22
-11
32
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-17
1
-2
0
167
-5
28
-5
1
10
66
-62
-11
21
-32
-31
-2
42
43
-22
55
25
0
4
26
4
-2
-1
-29
29
58
-3
27
28
0
0
0
0
0
9
-41
-3
5
-1
26
22
-46
17
0
-34
-99
-30
-33
88
-56
-104
-6
-49
26
-22
-37
13
-64
30
12
0
-17
-32
-11
27
4
27
24
1
52
30
45
34
-21
31
-39
30
11
1
-29
116
-48
7
5
29
29
-22
2
15
50
-23
38
-17
7
13
-28
29
-11
-73
-10
-26
-40
-10
29
34
11
-7
-18
4
23
8
24
40
4
13
25
22
8
52
23
29
-2
24
0
89
15
-38
-10
3
22
-8
31
-54
1
-2
-9
6
-36
59
-41
22
-12
4
68
49
-29
-3
2
0
36
9
2
-9
-26
-16
48
25
33
-58
0
0
0
0
0
21
14
-1
0
0
4
2
0
0
0
-6
-10
-18
5
0
1
-37
57
22
-6
26
8
40
27
-32
21
7
18
-40
5
-41
-10
-49
20
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-1
-1
0
35
8
-11
4
0
34
42
20
-29
-9
-39
-37
81
-73
9
104
23
7
4
26
12
4
-5
-8
5
9
14
20
29
9
0
0
0
0
0
-26
0
35
4
-1
-43
-11
35
11
6
-73
-22
35
55
25
16
51
0
17
26
50
-53
52
-21
-44
13
24
2
-25
-3
18
5
-6
-1
2
-1
58
23
28
42
-15
-38
-43
44
7
16
21
22
13
29
9
-5
20
11
25
-13
23
-39
51
35
20
-2
-7
-5
11
-34
10
7
30
10
2
-4
4
0
15
-32
5
44
4
6
102
-31
-9
-3
-63
14
-29
-9
26
-16
-12
-4
82
53
14
15
-24
43
-14
0
20
-37
23
29
-5
25
-7
17
-43
6
15
-11
3
-25
39
19
24
8
1
-24
-48
19
14
15
-8
0
0
0
0
0
53
10
7
0
0
4
-9
22
6
0
-25
8
-9
27
0
-3
11
42
-19
-3
11
-39
52
-15
-23
-57
7
-1
20
-10
40
66
-56
-76
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
38
-29
-43
1
0
23
-5
33
25
0
6
14
-65
-10
0
46
3
22
21
0
7
-35
-27
-33
0
-30
45
4
66
0
0
0
0
0
0
-37
25
29
8
0
-23
22
-20
8
0
8
0
9
50
0
-22
26
62
1
0
76
-16
-19
-15
0
-5
-1
12
-3
0
-11
13
-15
17
0
-3
1
-41
-16
0
4
-10
13
0
0
26
-27
29
-30
0
18
24
52
0
0
6
-46
18
40
0
2
74
-37
-43
0
17
26
13
1
0
-4
9
32
-2
0
-23
-28
-3
55
0
26
40
-89
-13
0
13
-7
-8
0
0
-17
30
36
0
0
28
-2
25
2
0
-101
69
-73
-1
0
9
-40
64
31
0
-21
-8
-24
26
0
29
-1
2
-11
0
3
5
-21
-5
0
0
0
0
0
0
1
6
8
0
0
8
-5
0
0
0
15
-6
-4
0
0
19
-73
9
5
0
-13
3
27
-19
0
-52
-17
-50
0
0
-20
76
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
0
0
-5
13
0
0
54
-25
-27
0
0
41
22
14
0
0
-4
4
3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-5
0
0
0
0
-1
1
2
0
0
23
-17
46
0
0
24
31
19
0
0
-18
36
-8
0
0
-8
-71
-73
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
15
14
0
0
0
6
-14
-4
0
0
4
-65
-12
0
0
-31
-87
-50
0
0
-3
32
30
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
-1
37
-7
0
0
-6
-17
-39
0
0
50
3
1
0
0
-72
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-27
1
0
0
0
-46
0
11
0
0
13
24
0
0
0
-16
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
0
-40
1
41
27
1
-15
38
10
-22
6
5
-6
-9
-4
4
-9
42
-34
-37
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
10
-2
0
13
-1
-10
-23
13
28
42
-2
21
-18
-72
-53
-13
20
30
-89
-23
1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
19
-30
-12
-32
-1
6
26
51
-39
-22
-84
-31
-19
76
40
-17
-56
-33
-18
-11
-86
5
-30
-39
-42
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-2
0
4
-5
-6
3
0
-8
-52
40
64
-3
19
41
6
-11
-18
-15
14
-20
-36
24
-71
-21
-17
-28
33
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-6
7
0
-1
0
-22
10
6
-2
-10
-9
-42
-3
52
1
10
21
-60
-3
9
-27
26
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
-1
9
-25
-9
-93
3
-3
47
-40
3
12
-13
-30
21
5
-12
-124
-43
32
48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-2
0
0
-6
3
-2
8
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-6
-1
-3
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
-2
20
14
13
-4
-48
25
28
39
-22
-1
-40
17
5
8
7
32
-4
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
-29
-100
-9
-13
28
13
0
29
-12
-28
-3
10
-2
8
-22
-65
12
-54
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
-19
20
-18
0
-3
-23
7
1
0
2
-4
-21
16
0
43
22
-23
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
-19
-31
45
-5
0
0
61
3
-47
0
28
-111
5
58
0
-31
52
-72
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-35
2
9
0
-9
5
24
-3
0
16
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-20
-11
-16
0
0
9
-20
-24
0
0
-31
-16
-5
0
0
-5
83
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-33
-16
0
0
3
-14
-11
0
0
-50
-21
51
0
0
41
26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
0
-21
14
0
0
-4
1
43
0
0
0
-6
-20
0
0
6
66
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
-27
12
14
0
0
12
-42
2
0
0
21
4
-21
0
0
24
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
2
-40
5
0
0
1
28
0
0
0
5
-59
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
5
-16
-3
4
0
77
-8
-26
10
3
-36
19
36
-28
-21
55
28
2
12
24
-5
0
18
-26
52
-55
-83
28
18
88
0
0
0
0
0
0
0
0
0
0
-4
17
2
0
-1
-4
4
-2
-2
-1
61
-1
45
36
-54
38
13
-50
-65
15
-15
7
32
5
5
22
-16
-27
-17
7
-87
-9
-4
80
13
6
-1
0
0
0
-3
4
1
1
0
-24
-4
-3
-3
0
-44
1
29
21
-5
24
-8
-25
34
37
65
55
-44
-30
-7
-14
24
18
-2
-71
-23
-42
-19
-13
27
-54
-1
58
64
57
-21
3
0
0
0
38
14
5
0
0
-9
19
2
-3
0
-55
12
11
-22
-12
27
16
-52
14
3
-38
1
5
-31
14
22
-11
22
9
3
-100
-92
24
78
26
0
0
0
0
0
-28
-15
0
0
0
6
2
-9
11
0
-39
25
-8
9
0
81
-9
-52
-22
-17
-85
31
21
-18
-35
12
-10
-20
23
-4
19
-26
21
-43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-28
-10
34
-51
0
70
-9
-9
11
-3
17
-24
-24
-20
5
49
-22
-3
-20
-42
14
11
17
39
-5
-13
-21
-29
44
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-9
13
-1
-1
0
-96
-57
6
-74
7
-33
-68
9
10
10
-77
-110
-40
61
-72
9
-36
-66
-33
-21
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-19
57
-29
40
0
-19
-48
-42
-25
29
-63
-63
19
58
12
-5
-99
-31
-140
-6
-25
-1
-69
-20
-164
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
0
14
-37
4
0
-11
1
-67
59
0
-140
2
21
-3
13
-12
-85
-18
-22
-37
29
-73
-15
-52
-13
0
0
0
0
0
9
-13
0
1
0
-35
-28
21
6
0
-27
-15
-3
-40
1
-36
34
-26
-45
12
-30
14
67
21
88
2
-8
15
48
-55
11
4
2
-39
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
1
8
-23
2
-2
-20
-95
15
-15
-4
-23
-45
-60
9
23
-15
84
-5
44
-23
6
14
-9
18
-17
-69
-14
-60
-1
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-1
13
-27
-8
0
-139
51
-75
10
-3
49
-44
-36
11
68
18
-112
0
-37
-128
-40
-65
-33
-42
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
0
-1
6
4
0
0
-1
0
1
0
1
-5
20
-41
12
3
-27
0
27
33
-49
-68
-102
14
-54
21
50
-50
11
-94
-11
0
0
0
0
0
-15
1
-2
0
0
-6
-4
2
3
-1
3
-6
-30
-15
20
-34
-35
11
57
-9
24
41
-41
30
-57
-51
-16
-53
24
38
0
-16
41
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
6
-2
4
0
8
-5
-67
13
0
19
2
-39
-25
0
-6
8
6
-1
0
-31
8
-34
-38
0
-21
-3
39
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
15
27
-2
69
0
14
20
10
22
0
-33
-74
-33
-67
0
-2
-56
-36
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
9
-5
2
0
-46
-6
-4
5
0
-31
-44
18
4
0
4
-20
-79
-55
0
0
4
-48
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
-2
6
59
0
0
-40
-44
-46
-4
0
-1
13
42
10
0
41
-65
-103
17
0
0
0
0
0
0
-4
0
0
0
0
-4
0
-1
-2
0
-14
-19
68
0
0
54
-47
-12
3
0
-5
48
-58
22
0
26
-24
0
-42
0
1
19
25
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
0
-22
5
-4
0
0
-27
7
-40
0
0
-21
-21
45
0
0
46
-8
14
0
0
-31
21
34
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-42
-4
1
0
0
10
-30
2
0
0
21
19
-13
0
0
-42
-15
-3
0
0
-9
-29
29
0
0
74
-12
53
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
-27
-28
0
0
-43
42
20
0
0
4
3
-102
0
0
-13
-11
50
0
0
-31
-14
30
0
0
21
-5
50
0
0
0
0
0
0
0
0
2
0
0
0
-5
-20
3
0
0
19
-14
13
0
0
33
2
9
0
0
16
-15
-40
0
0
9
30
26
0
0
16
-14
-58
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
29
-48
0
0
0
24
-32
-68
0
0
36
42
32
0
0
-75
19
-6
0
0
5
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
36
-27
-30
-4
3
-52
32
38
-6
4
-44
73
-71
2
-32
64
11
-3
-18
27
-9
-1
7
35
-40
19
-18
1
-43
37
0
0
0
0
0
-23
-4
-1
0
0
-23
-15
-5
0
0
62
35
-2
-10
0
122
-77
44
-1
-18
-11
12
52
-86
-73
-31
26
-12
-14
10
5
-9
9
35
44
26
-16
57
106
-3
32
-8
0
0
0
26
2
-11
-1
0
-28
24
6
-5
0
-50
-10
82
-3
-5
-4
13
-34
-20
21
6
14
13
-85
0
30
-15
-50
36
30
-8
-5
67
-13
-18
11
52
28
135
30
-45
-3
1
0
0
2
15
-24
-3
-1
-39
11
-15
0
0
-39
-50
-2
54
18
39
52
34
8
-72
5
-9
-8
-7
-49
22
21
22
-15
17
16
-9
31
-13
85
0
0
0
0
0
31
31
-1
0
0
82
29
9
-2
0
-21
11
-2
24
0
40
-3
-63
42
2
-42
78
-20
-12
18
-11
-4
50
33
-47
3
-61
16
6
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
5
0
0
0
-10
24
-28
2
10
-80
16
-22
-6
33
-11
-82
-62
20
-56
32
43
18
17
-26
-11
15
27
8
-7
13
-21
-2
17
28
0
0
0
0
0
31
2
-4
1
0
-13
68
-69
-31
1
-82
-53
9
54
-18
35
24
63
-39
79
19
-74
40
50
64
23
17
-27
37
62
-13
-104
-2
15
-30
-42
-25
-79
-38
-18
8
46
5
0
0
148
-22
3
1
0
2
21
22
-3
1
-26
52
20
-42
8
-45
29
78
-69
14
-3
18
-10
58
-26
12
-37
-24
-3
20
-63
-70
-110
-27
13
-4
-20
-2
-17
7
-22
1
-2
7
0
-43
9
39
-23
19
40
-46
13
10
0
-21
12
-4
13
-9
-37
3
92
38
20
8
11
-75
-8
38
-31
-15
-7
-6
-26
28
-46
-44
12
-48
0
0
0
0
0
10
20
8
-18
0
-18
17
8
20
0
-17
-34
-24
19
-15
-66
33
16
11
-8
2
40
12
-10
23
-10
-56
34
33
-7
35
2
-16
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
-28
39
11
39
0
48
-70
20
78
50
53
-55
-49
-16
13
19
-33
35
-9
13
-28
38
0
4
-54
13
5
1
-14
-6
0
0
0
0
0
11
-13
9
0
0
21
23
-19
8
-5
-41
-37
39
-6
24
-57
20
-79
80
5
-23
5
5
47
-11
8
-5
24
24
69
-23
-40
-26
46
18
38
8
-2
-45
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
-47
-1
0
-85
22
55
-39
1
-15
26
-38
24
2
56
-51
-6
23
-44
41
32
-33
16
54
-25
5
20
-32
-42
34
-51
-35
10
65
19
2
-6
-82
-54
0
0
0
0
0
12
37
23
16
0
-14
25
-32
-14
1
5
-2
36
-33
2
-36
9
-31
38
23
30
-54
-6
31
71
58
21
-16
-9
-5
-36
-49
59
27
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
37
1
-8
-10
0
31
22
-26
-14
0
-72
-6
51
2
0
-22
25
-39
-11
0
4
17
6
13
0
79
-14
36
55
0
0
0
0
0
0
-7
5
-1
-1
0
-10
1
-8
0
0
113
67
6
-34
0
71
-78
-36
-23
0
-6
-39
-3
-30
0
-22
6
0
26
0
-187
-28
-52
5
0
40
-21
28
-4
0
14
0
0
0
0
0
-25
-17
-2
0
42
-70
-67
-8
0
-1
-48
24
-44
0
17
-23
43
21
0
14
-22
-11
-60
0
-23
-4
-53
2
0
47
12
15
20
0
-36
17
29
11
0
9
0
3
0
0
34
-10
-8
-1
0
9
13
-34
-10
0
-7
-100
12
-12
0
-2
-14
-18
11
0
10
37
37
47
0
6
18
47
4
0
-7
2
0
-23
0
0
0
0
0
0
-18
3
1
0
0
2
-10
-2
0
0
-2
41
-36
1
0
-80
-24
47
-1
0
32
-1
49
25
0
18
-45
-3
-18
0
-2
17
-3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-15
33
-17
0
0
-10
-36
17
0
0
18
28
-27
0
0
-12
12
-16
0
0
-1
15
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-3
1
0
0
8
68
10
0
0
3
16
-5
0
0
-20
37
16
0
0
1
-27
-19
0
0
20
2
71
0
0
0
0
0
0
0
-3
0
0
0
0
-3
-15
0
0
0
-47
-21
-22
0
0
74
27
-36
0
0
-31
-12
-15
0
0
-26
39
-24
0
0
77
-7
126
0
0
-68
13
-47
0
0
0
0
0
0
0
2
0
0
0
0
12
55
-1
0
0
67
13
0
0
0
-6
-61
20
0
0
-40
-35
11
0
0
-13
1
21
0
0
-30
-20
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
0
0
0
-44
4
0
0
0
29
-44
0
0
0
55
23
9
0
0
-66
33
17
0
0
-21
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
37
-4
-29
1
0
-35
-38
-4
-24
0
-33
-14
63
43
0
14
-29
15
54
28
57
24
6
-29
-8
0
0
0
0
0
7
0
0
0
0
7
-9
0
0
0
33
5
14
0
1
-14
-13
-5
0
0
-28
-16
-37
-29
-8
-8
-31
5
61
51
-19
34
46
-24
-24
63
32
-14
29
-52
0
0
0
0
0
-43
0
0
0
0
0
-15
0
0
0
3
7
0
-1
0
-3
-16
20
-21
0
-11
7
-44
-24
-3
-2
46
0
28
34
8
32
-47
7
28
40
-70
25
41
-23
-11
-9
0
0
0
6
1
3
0
0
-10
-9
0
0
0
8
23
-8
-2
0
-45
-5
0
7
-1
42
-24
42
-75
18
9
15
-8
24
9
0
61
11
46
-58
0
0
0
0
0
-21
-8
0
0
0
-6
0
0
0
0
-14
5
1
0
0
-20
4
31
-3
0
23
-20
-23
-14
-3
0
8
-16
44
-1
39
39
26
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
2
-2
0
37
11
2
-13
1
32
-65
-13
-5
-2
16
35
9
32
49
14
32
-28
-70
50
-13
36
47
99
-60
0
0
0
0
0
-10
-10
-1
0
0
-53
-26
2
-8
0
-11
48
38
26
-27
81
52
-39
23
-45
-8
66
4
-26
83
36
39
19
24
21
23
-16
13
0
-30
47
39
14
57
58
-29
-8
4
0
0
-26
-47
19
0
0
-1
3
-9
37
5
-44
4
3
32
-8
28
-23
6
-8
14
-15
25
26
-12
-28
6
-15
-2
8
19
83
29
-23
10
6
17
42
22
42
7
-38
46
15
1
0
52
31
17
16
1
-21
-21
20
-29
0
-37
-22
58
15
-26
41
58
-7
-17
71
27
59
-11
-9
-91
91
8
-9
7
12
-6
9
-32
29
28
0
0
0
0
0
-9
12
0
0
0
17
-1
4
0
0
5
-8
0
-1
0
-15
21
40
-13
-1
-21
-70
-48
50
0
34
2
-66
-67
17
-17
11
29
47
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-4
0
18
17
9
-5
7
-22
-20
-69
64
2
-46
37
77
-4
24
-22
11
23
43
3
17
78
6
-51
13
0
0
0
0
0
3
8
2
0
0
34
29
-18
-38
1
86
-8
23
-19
-47
-30
163
-43
15
27
52
-72
-11
69
-12
0
33
-7
15
56
-38
42
50
4
-21
-7
10
15
12
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-6
38
-8
0
35
40
-3
-3
-19
65
-35
23
-61
0
-38
-41
8
14
18
3
-33
13
35
6
1
-13
-33
51
14
-28
25
13
-18
25
-55
-16
-41
48
-5
0
0
0
0
0
0
-2
4
0
0
0
8
21
0
0
-2
0
-4
-3
0
0
1
-8
-2
0
-9
10
22
-40
-3
4
-9
45
-44
5
6
43
-59
72
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-8
3
-4
1
0
1
-42
36
-71
0
66
-19
-65
3
0
-34
-44
63
45
0
-31
28
35
72
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
33
-17
-28
19
0
-35
18
11
-49
0
-12
4
-21
-47
0
-58
-13
20
34
0
7
77
27
-25
0
99
9
-35
34
0
1
0
-1
0
0
-13
12
28
33
0
-31
50
7
0
0
-22
-36
-13
16
0
19
25
-39
24
0
-14
-5
30
-37
0
27
24
54
-24
0
-13
21
-4
-7
0
-24
-49
10
21
0
0
-12
1
0
0
20
-19
-24
0
0
-16
24
53
-3
0
-2
-45
87
-5
0
43
-11
-112
-40
0
-45
-58
-37
30
0
89
67
-15
38
0
-10
-50
-42
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-17
-1
-1
0
0
-34
35
74
0
0
43
-13
-1
-17
0
-2
44
19
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
8
2
-7
0
0
69
-9
-16
0
0
-15
10
-46
0
0
-6
-3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
19
47
12
0
0
23
-1
34
0
0
39
-8
11
0
0
-29
50
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
0
0
0
10
-21
5
0
0
-34
46
-1
0
0
0
-32
-1
0
0
0
42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-12
12
0
0
0
-3
-7
-87
0
0
-7
18
34
0
0
3
-69
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
1
3
0
0
0
-2
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
15
-16
24
-1
0
13
-33
-20
-9
-5
68
91
-45
26
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
4
0
0
0
1
-37
18
9
0
5
36
-43
30
2
11
37
51
33
-78
91
-33
-5
-17
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
1
0
55
-26
-35
3
-12
25
41
39
12
0
54
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
3
0
0
-14
20
0
0
5
3
-24
5
-5
0
19
-24
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
2
2
0
0
19
14
23
3
-6
12
34
-16
-14
-15
78
9
25
14
48
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
44
-39
-26
15
0
48
30
31
-8
-2
-114
78
-72
11
-55
24
42
33
22
3
48
36
73
-2
-22
89
60
48
59
26
1
-1
0
0
0
13
-35
27
0
0
-6
68
0
0
0
-15
-44
27
-25
-8
-17
-14
-37
-30
-14
12
-45
16
-7
-33
-60
5
52
80
36
36
43
87
10
8
5
81
-117
47
39
29
-16
0
0
0
39
-21
-11
0
0
-10
43
-5
0
0
11
-23
-43
-5
0
-33
-22
34
-3
8
-67
26
62
41
-2
-25
47
44
-5
18
-14
89
-61
-4
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-5
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
-3
1
0
5
6
18
-43
0
-3
-32
21
50
-42
55
63
29
-22
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-6
-11
14
0
0
4
4
-46
0
58
17
-42
-46
-31
-2
18
-14
86
61
15
23
42
-2
39
22
-62
105
42
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
6
2
-4
0
0
0
-8
0
0
0
0
-3
-3
-1
0
7
1
30
20
-3
-106
-2
28
-33
33
11
59
-3
15
-20
0
-4
21
-20
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
-3
-6
6
0
28
10
-14
-8
0
19
17
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
1
0
0
-6
-4
0
0
-33
-2
43
-54
0
-66
-2
-13
-44
0
30
76
24
22
0
-9
-46
35
104
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
-1
0
0
6
45
83
14
0
-20
9
-96
-6
0
8
-63
36
13
0
32
22
-91
-9
0
0
-15
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
1
0
6
-15
5
3
0
-31
-44
-32
-7
0
2
-1
53
-5
0
0
0
-45
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
-30
1
29
0
0
-28
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
37
26
-39
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
11
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
46
46
-31
-7
-37
-23
30
19
18
6
23
50
-21
-13
24
3
-48
-26
24
-11
-6
18
62
64
-32
-15
-10
8
18
7
17
-15
23
-30
0
0
0
0
0
-62
-12
7
-8
-4
-5
0
-73
36
-3
-56
-29
-6
20
34
-8
17
21
36
23
-88
25
3
42
2
47
7
-14
36
14
-123
-42
14
-39
-6
-43
15
-12
8
0
-8
-9
28
7
0
15
19
30
-45
1
-27
1
-22
36
2
-34
9
-6
55
-28
9
45
33
-3
13
-29
23
-1
11
31
14
-37
2
26
-26
-46
-73
-4
-68
21
-24
28
-53
35
9
72
-10
7
-5
-1
-9
28
-19
-32
1
10
32
-46
-11
4
-16
33
13
21
-15
19
6
24
-21
-34
-22
8
-13
56
9
23
31
6
4
57
-83
-47
24
-6
-25
0
0
0
0
0
-7
-27
13
-5
1
22
-26
-14
-30
22
-44
53
-31
40
1
2
-23
42
-19
10
2
60
-8
95
-4
-35
-52
8
-26
-27
-9
13
-33
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
11
35
6
-9
-52
5
-8
29
-7
-50
26
61
4
-33
39
14
7
-56
52
64
-6
51
20
42
-55
-32
-38
4
-16
-86
-38
-44
-46
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
-4
-2
0
75
-18
-29
-10
-3
-70
-17
32
31
-1
5
-4
50
17
0
-42
-103
-30
55
9
-44
11
7
-19
40
-10
-34
-22
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
-45
-42
-14
-102
1
-31
14
9
-54
1
-18
7
22
-5
-14
25
62
-49
-9
16
-37
37
16
-31
-35
19
-30
-22
-44
-34
-60
-78
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
1
5
-1
17
40
-6
-18
-1
-11
36
29
25
1
-46
-2
-15
80
-34
43
4
-50
-64
9
-48
-30
49
-4
-33
-11
-28
-9
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-56
-56
-5
0
-27
-32
10
35
0
22
-12
-19
-41
0
-6
8
-5
70
0
26
24
39
8
0
-62
33
-8
-22
0
-46
-8
-5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
24
-15
-2
0
45
-38
10
2
0
35
-25
-12
22
0
22
29
-84
-54
0
68
-1
56
-20
0
-105
-71
10
3
0
-33
32
-3
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
30
-2
0
0
-55
-31
18
0
0
-32
-62
24
0
0
59
-30
40
0
0
-4
11
-1
0
0
0
19
1
0
0
27
31
-49
0
0
0
0
0
0
0
8
30
-3
0
0
55
-34
-1
0
0
-13
63
6
0
0
26
-32
-9
0
0
52
10
13
0
0
28
2
-32
0
0
-23
-2
24
0
0
-41
-26
-20
0
0
-14
13
0
0
0
-26
6
5
0
0
24
-29
-1
0
0
36
0
-14
0
0
-62
19
1
0
0
-58
-3
-1
0
0
-9
-13
41
0
0
23
13
7
0
0
13
-6
-32
0
0
6
-7
-1
0
0
21
-25
3
0
0
33
-6
22
0
0
19
-36
3
0
0
33
-2
52
0
0
-68
-17
5
0
0
-30
37
20
0
0
0
35
-4
0
0
0
0
0
0
0
-12
21
-3
0
0
2
-12
22
0
0
44
7
-20
0
0
-33
48
26
0
0
-25
-70
-50
0
0
53
2
15
0
0
-22
-10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-6
4
-7
1
32
-11
6
8
0
-12
7
-22
45
17
39
-33
-59
-26
12
-30
36
39
22
-43
-35
-5
-25
5
-42
-66
15
41
18
27
0
0
0
0
0
34
9
-1
-2
0
2
0
4
0
1
11
-24
16
-89
20
-2
86
26
26
-21
-15
-20
-42
-34
16
0
11
55
3
42
-67
-28
-74
86
-58
76
-65
7
50
-14
-3
4
-2
0
0
-55
-16
33
2
0
15
-7
37
2
-3
22
-71
65
-56
-8
-23
57
-31
10
4
-9
44
-57
38
-33
71
4
-4
-13
75
17
-15
27
-27
-73
-75
-11
41
58
-4
-46
6
0
0
0
58
-6
2
0
0
-3
1
-55
-8
0
39
-1
16
-22
-1
-25
10
-22
7
5
31
-74
3
45
-40
22
-4
12
-54
30
-97
-1
-39
18
-22
0
0
0
0
0
2
15
0
0
0
-28
-1
4
10
0
3
-52
5
-12
0
-21
23
34
1
0
-32
-3
-4
-3
-5
39
-21
-67
-10
-7
39
0
25
21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
28
-7
-1
2
-7
-54
40
-19
-15
38
62
69
-15
-66
-53
53
5
-10
44
75
82
23
-3
21
-63
-64
-53
-65
42
-30
4
-68
63
-22
0
0
0
0
0
-16
-4
30
0
0
3
8
0
0
1
-60
91
46
17
-6
14
-26
-23
-50
46
-14
-29
-17
-20
-90
42
-56
-45
25
64
-4
-58
-74
7
30
-85
31
2
-4
-41
-7
-2
0
0
0
0
4
5
0
0
21
23
0
31
-9
-1
-45
31
120
28
-21
2
30
-25
7
26
-54
-2
-19
3
-37
10
-6
-3
-48
25
32
-45
-74
-25
13
15
18
-45
-44
0
0
2
0
0
-6
-8
-31
-6
0
-24
12
-33
16
-1
-2
-38
48
6
27
-39
45
50
-20
-4
47
-33
-17
1
-22
15
-14
51
63
12
-15
-83
-41
-92
-50
0
0
0
0
0
-22
4
-1
0
0
-34
38
5
-11
1
-24
-7
8
0
0
8
-29
-15
3
1
-14
-12
72
31
-8
-47
54
-16
-43
-56
65
-71
-18
-25
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
5
-20
40
-3
-1
-8
3
-25
-2
37
-21
-7
-2
15
-59
26
-43
-5
-7
-5
26
50
-31
-11
13
-41
-2
18
20
-108
48
26
4
9
0
0
0
0
0
0
-14
-1
0
0
-2
0
0
0
0
-8
34
5
-5
-5
-10
-12
19
-30
33
32
0
-8
7
20
17
73
-28
24
-27
-42
-106
53
-14
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
0
0
0
44
-43
4
21
0
25
7
10
-45
-23
-27
3
17
18
-4
6
-5
8
-17
6
10
8
-42
22
0
-43
56
-22
40
46
-31
-1
-11
-43
-7
0
0
0
0
0
-13
-6
-3
0
0
-34
0
12
12
0
1
-13
-1
-13
0
-7
4
27
-2
1
-15
13
30
-21
7
2
-51
-23
0
-11
20
-29
-13
56
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
11
28
2
0
49
11
87
-7
0
17
-9
-35
13
0
-28
-23
24
12
0
9
64
25
30
0
20
-93
-39
4
0
14
-45
-22
12
0
0
0
0
0
0
46
2
-5
0
0
-1
-19
-15
0
0
-74
47
-2
-21
0
8
80
-26
3
0
25
34
33
0
0
-10
-16
1
-9
0
-69
-18
13
31
0
28
-1
84
-1
0
10
-1
-3
0
0
-7
0
0
0
0
-9
-6
-11
0
0
-32
6
43
-55
0
19
-57
37
43
0
-45
-13
19
-3
0
31
95
91
-38
0
103
0
-36
-5
0
-44
-25
-39
26
0
0
-2
0
0
0
-7
34
1
0
0
22
30
11
0
0
3
-26
2
21
0
42
-42
-45
-16
0
-22
-4
50
-15
0
-5
25
-5
7
0
-8
-31
-36
23
0
0
0
0
0
0
-26
0
1
0
0
-14
5
0
0
0
45
-23
12
0
0
-32
21
0
-2
0
25
4
-18
1
0
-5
-20
34
14
0
-7
49
41
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
0
0
0
-46
8
-6
0
0
35
-12
-8
0
0
9
59
0
0
0
19
34
-6
0
0
24
-20
34
0
0
-15
31
-16
0
0
0
0
0
0
0
-21
11
1
0
0
-18
14
0
0
0
44
25
0
0
0
2
-3
13
0
0
27
-15
-24
0
0
1
33
22
0
0
48
34
-65
0
0
-34
-14
47
0
0
1
-8
0
0
0
10
0
0
0
0
-17
-2
0
0
0
-73
6
55
0
0
86
-13
11
0
0
-33
-79
41
0
0
21
-2
17
0
0
52
9
-44
0
0
38
75
-43
0
0
0
0
0
0
0
-6
-21
0
0
0
5
-2
0
0
0
-29
28
-12
0
0
12
-12
40
0
0
-26
-4
-24
0
0
48
86
42
0
0
-11
-23
-35
0
0
0
0
0
0
0
1
-1
0
0
0
-11
-1
0
0
0
5
-8
2
0
0
-8
3
-3
0
0
1
7
10
0
0
-23
-18
-25
0
0
26
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
-2
2
5
0
0
32
-46
40
-4
0
-29
1
34
-5
-29
65
-1
18
6
-17
-29
61
-42
-4
28
-38
9
22
48
23
0
0
0
0
0
11
0
0
0
0
-1
4
0
-4
0
-38
24
7
1
0
-12
35
20
-8
-4
-3
-28
55
1
6
25
1
21
25
15
-1
-26
67
13
18
117
4
-36
9
-2
1
5
0
0
0
-2
0
0
0
0
-11
-16
0
0
0
2
-14
16
2
0
-3
-2
-7
7
2
12
24
-39
-15
-2
-52
-16
85
17
9
56
-15
0
-8
5
91
29
-70
-1
6
0
4
0
0
0
4
-21
0
0
0
0
0
0
0
0
24
2
1
-1
0
-3
0
0
1
0
-38
7
9
4
-1
-7
-8
-7
-29
-1
88
6
16
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
4
0
0
0
7
1
0
0
0
0
-51
2
1
0
-6
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-12
0
-1
-18
-29
60
3
-24
64
14
-33
4
3
13
81
28
60
-2
-1
-51
26
22
47
2
76
-26
-59
12
0
0
0
0
0
64
13
1
2
1
-27
-60
15
-7
0
31
-19
-5
-4
-3
14
63
-69
26
-14
18
33
-74
-3
10
28
-3
21
-15
-45
7
-26
4
36
19
-56
-5
126
7
2
1
-32
0
0
0
4
-2
4
0
0
-7
5
-27
-19
0
1
-1
9
-47
24
-5
8
28
0
39
-41
-30
-44
-12
14
27
43
1
33
55
-8
30
60
7
-40
1
16
-67
41
-15
1
3
1
0
0
-20
14
22
-2
0
-5
-14
0
84
0
15
41
-41
-36
-5
22
39
-57
25
0
-10
-9
-23
-8
-3
10
-5
40
11
18
33
-122
87
-26
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
9
0
-3
0
0
0
7
-4
0
0
0
5
9
3
0
0
-16
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-7
-13
27
1
0
40
-17
5
-8
2
27
-29
42
-11
-50
63
33
-54
49
27
-29
21
-74
-57
40
-122
-4
104
60
12
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-82
0
18
0
0
-7
-10
61
-19
0
52
-73
32
-26
-27
28
-7
-48
51
30
-13
63
38
-40
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
12
19
-1
-19
0
4
1
-6
-5
3
-20
16
10
16
1
-13
48
-1
-37
0
-11
-29
26
-20
-9
38
-14
25
74
-1
4
-39
14
-24
1
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
2
-2
0
0
6
8
-7
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-3
-6
0
0
0
-20
-5
3
0
0
-11
-29
0
45
0
-5
10
3
-3
0
8
3
91
-33
0
88
2
42
-20
0
0
0
0
0
0
-11
-22
0
0
0
19
-5
10
0
0
-18
12
-22
5
0
-5
64
34
31
0
16
18
5
-11
0
81
36
14
10
0
-23
-47
-4
-46
0
3
-31
93
-14
0
11
0
0
0
0
18
11
0
0
0
17
1
8
0
0
-8
42
5
-6
0
-28
37
-2
-14
0
36
15
42
-14
0
35
-3
6
8
0
-20
-66
-23
82
0
-5
-8
29
-10
0
-2
0
0
0
0
-15
7
-1
0
0
30
-48
1
0
0
-11
36
-8
1
0
-43
21
-2
-18
0
3
5
-17
-16
0
45
-1
-7
9
0
9
-17
1
21
0
0
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
0
0
-2
0
0
1
0
0
2
0
-28
0
0
0
0
-2
-23
-4
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
-5
0
0
0
-12
-20
-1
0
0
0
52
-5
0
0
-50
-46
56
0
0
28
51
-30
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
17
-2
0
0
0
8
14
8
0
0
7
-17
-32
0
0
75
-18
0
0
0
-9
-20
8
0
0
6
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
-33
-5
1
0
0
0
-25
0
0
0
-14
29
20
0
0
43
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
-1
-2
0
0
-4
2
-1
0
0
1
5
-1
0
0
-4
-45
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
44
-21
-32
24
-9
-10
-52
10
21
21
-29
48
-32
15
-32
18
6
27
57
-41
-14
-53
-37
-38
-83
-26
-6
49
9
0
0
0
0
0
0
0
0
-1
0
-5
8
7
13
0
-12
-86
-11
-26
18
55
-9
-20
5
53
25
12
-17
21
13
54
-11
21
-53
-15
-92
-24
-4
0
-42
-201
2
-8
35
11
0
0
0
0
0
0
0
-5
18
0
-15
-1
-10
-18
10
22
-27
-76
-31
1
7
-43
3
0
-1
73
-39
2
-44
-9
-19
53
3
4
-12
-118
69
-4
38
-12
-110
-17
-10
53
6
0
0
-3
-5
0
-24
-5
-11
-27
2
10
42
-18
29
7
-8
-58
35
-18
0
70
30
-15
-27
0
-21
-59
-23
-38
-30
-32
133
8
59
2
-81
-47
44
-39
9
0
0
0
0
0
31
-3
17
-5
0
-8
7
-21
-10
-2
-6
24
6
-42
2
6
-36
-30
0
0
36
-82
23
-6
0
-53
-8
4
43
35
10
38
2
-8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
40
-39
-49
-4
31
78
-26
31
-26
-46
-25
0
9
11
23
-24
28
25
30
-95
-144
9
4
-8
-47
-100
-67
-44
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
-2
0
0
4
-2
21
3
0
-1
15
0
0
0
0
-6
3
0
0
7
32
-52
-1
1
25
-9
-5
-14
0
10
-51
25
28
2
0
0
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
-12
-48
0
106
48
-45
25
-43
-28
-54
61
1
-48
-25
5
20
31
16
-135
-31
6
-7
-5
-4
-84
-85
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
19
0
-2
0
-1
0
-1
0
-2
-3
0
0
2
10
9
7
-2
0
-16
29
15
4
8
15
-74
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-32
-1
0
37
-90
65
-13
0
-31
20
2
-44
0
31
83
-31
14
0
25
18
-53
5
0
30
-2
-13
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
6
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
0
0
-2
3
1
1
0
8
8
0
-2
0
0
0
-5
2
0
-1
-2
17
-9
0
1
40
-10
3
0
-13
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
49
16
0
0
1
-18
29
0
0
-5
-12
-59
0
0
-25
-21
7
0
0
12
52
52
0
0
59
21
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
0
0
-62
-4
38
0
0
-16
-38
-7
0
0
-25
-92
-43
0
0
40
55
66
0
0
46
17
-34
0
0
-9
35
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
45
0
0
27
-1
9
0
0
-8
-1
12
0
0
5
-4
1
0
0
21
-39
2
0
0
-36
39
-86
0
0
0
-37
7
0
0
0
0
3
0
0
15
0
-3
0
0
-8
-18
-19
0
0
-15
73
-5
0
0
-2
-2
1
0
0
37
-19
18
0
0
-42
-23
-12
0
0
-71
11
-22
0
0
0
0
0
0
0
-5
1
-7
0
0
-15
1
-3
0
0
1
-8
-1
0
0
0
0
0
0
0
-4
9
7
0
0
-6
-31
-10
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
38
35
1
-88
37
3
70
5
77
19
-8
22
-56
-19
-49
16
-17
-19
-4
-35
-18
-45
44
-79
2
42
-25
-48
-119
15
-41
44
80
0
0
0
0
0
29
8
-7
-5
0
23
-19
74
-11
21
-50
64
20
-9
-31
28
-7
-11
18
-78
-36
8
-74
6
-25
26
18
-19
-60
60
-101
-69
-36
-25
4
-185
-88
16
16
60
35
-26
5
-19
0
-19
22
11
-29
6
-41
-6
3
-15
-29
18
11
-7
-6
39
120
60
21
12
30
5
-1
-45
-4
-62
-31
-41
-17
-1
37
-82
-86
-24
-25
-40
-85
-12
62
26
23
-13
-14
7
2
0
-72
-35
44
-27
9
3
-27
2
0
26
50
47
15
-29
18
6
55
-30
62
-25
-2
-22
-8
-64
6
-43
-9
-10
21
-40
-77
-69
42
43
28
0
0
0
0
0
-1
-3
-8
15
-2
-83
46
62
40
1
-47
18
15
6
30
18
-81
-12
-34
-10
-19
-46
-18
63
59
17
-3
-3
-22
-18
-18
34
-12
-23
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
-15
-13
0
-2
-30
78
-29
38
14
-18
-84
-58
-1
-28
-39
-6
67
4
13
11
27
12
41
-76
-76
-11
44
-12
-225
-10
-47
-99
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-45
-68
21
-5
68
11
31
36
0
-25
53
-11
-90
8
-42
-53
40
2
-7
-62
-44
-15
-3
3
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
8
-5
15
0
3
17
-36
13
0
1
16
-5
-4
1
25
-14
-8
28
-1
-74
-70
37
-17
6
0
-6
20
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
9
0
4
-2
-17
1
0
0
-13
-4
0
0
0
-37
22
10
0
44
1
-11
-16
0
-12
-35
-22
-1
0
0
0
0
0
0
-39
12
-1
-2
1
-24
-2
19
-17
-1
-16
35
-25
25
7
5
28
11
-69
14
41
14
49
-3
-70
6
0
12
35
44
-14
-57
-39
21
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
-59
-19
-49
-11
18
8
49
-17
-17
-88
-55
6
26
-34
-47
-24
3
59
29
25
-5
-80
10
-19
48
-52
-76
-135
-30
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
0
1
39
-23
-2
0
-16
1
-24
-16
4
-3
0
2
2
-9
-3
-5
-1
4
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
0
0
-1
0
0
-3
-10
2
0
0
0
-18
0
0
0
0
0
0
0
-8
2
-9
4
0
11
-20
-3
31
-36
26
12
-22
-25
-1
-37
17
-48
1
-4
4
15
-64
-30
49
-37
-21
33
-25
-59
-37
-11
10
47
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
8
-1
0
-65
-9
-84
-53
0
54
-33
24
45
0
5
7
6
-18
0
7
7
16
-17
0
-128
-22
-1
3
0
-63
2
-52
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-50
-43
25
0
-4
-38
31
2
0
-21
15
5
7
0
1
21
49
-9
0
-1
9
14
5
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
14
-16
1
0
0
-1
8
-2
2
0
-4
0
-4
8
0
-2
-2
1
1
0
4
49
5
-2
0
0
-3
19
-3
0
0
0
0
0
0
16
0
0
-1
0
-19
0
0
0
0
-1
3
-2
0
0
0
-1
0
0
0
3
-2
-6
0
0
-5
10
-31
0
0
2
5
1
0
0
0
0
0
0
0
-24
-4
-3
9
0
20
18
-41
2
0
29
-47
23
-39
0
41
-68
-25
8
0
-32
-51
-22
26
0
-109
66
-6
-74
0
6
39
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-71
-18
0
0
-53
-50
-66
0
0
-15
-27
-5
0
0
-12
94
32
0
0
22
30
25
0
0
-56
-26
17
0
0
16
20
-10
0
0
0
0
0
0
0
-19
-1
-1
0
0
-14
-49
-17
0
0
-22
-19
-50
0
0
19
-36
14
0
0
-58
27
23
0
0
-5
-8
-47
0
0
-27
9
52
0
0
16
7
-35
0
0
8
-17
0
0
0
1
30
21
0
0
7
23
-14
0
0
-39
-67
2
0
0
34
-28
-47
0
0
-48
5
18
0
0
8
-39
21
0
0
74
-4
13
0
0
-106
59
-30
0
0
18
42
-5
0
0
-8
-2
-19
0
0
20
-36
10
0
0
-87
-73
4
0
0
-68
-3
13
0
0
52
-10
8
0
0
-1
-17
4
0
0
2
57
-79
0
0
0
0
0
0
0
46
-25
5
0
0
-40
-26
10
0
0
11
-12
12
0
0
42
2
-27
0
0
-17
89
-11
0
0
-12
-43
-43
0
0
15
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-6
-8
0
23
-9
46
-50
-16
-13
75
-65
5
-10
20
-28
-5
6
-15
10
3
-8
39
27
-83
-21
-3
22
-5
-68
-8
22
-45
44
0
0
0
0
0
10
-15
1
-7
0
-10
19
16
42
-7
-33
59
-74
54
-30
18
52
-26
-53
38
-30
10
-37
-18
-16
32
-23
20
-45
61
-20
-57
12
11
-38
-10
40
-23
-25
4
22
8
2
0
0
-21
13
-10
44
0
14
-25
-27
29
9
2
-19
-15
-6
-48
-52
-8
-5
67
29
-63
55
-4
-40
-52
6
-18
-4
-17
0
-42
-39
-8
-55
-47
-4
7
-22
51
15
-4
5
1
-2
0
42
-10
-4
24
2
-13
-36
6
-3
-5
-22
-8
-15
10
-5
1
-52
66
33
13
29
24
-40
-49
-28
8
30
-38
-1
34
-63
31
23
32
-13
0
0
0
0
0
17
-17
30
20
0
43
-4
21
-25
-3
53
6
20
-25
0
42
12
-78
-16
-3
34
32
-3
34
-56
-98
-41
-28
-36
64
-21
-4
17
-24
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
0
-4
0
-35
-32
-46
24
-25
17
25
32
-23
56
25
-2
-44
48
-31
14
8
-1
-25
23
-122
-31
-7
33
20
2
-14
-34
-20
-66
0
0
0
0
0
0
0
-2
10
0
1
0
-1
4
0
-29
5
-2
-18
43
10
-16
0
37
30
32
-39
-4
73
-101
4
-34
47
-35
-9
-113
7
-45
-29
8
-63
-2
-44
-24
-9
8
0
0
0
0
-7
-7
-28
0
0
-11
-2
-13
14
5
58
10
-14
-17
6
-9
64
18
67
-30
41
-91
38
13
-11
-45
-10
22
26
9
-57
-32
27
-57
-30
33
58
-69
-59
33
0
0
0
2
0
-1
-21
43
5
-2
-36
66
-10
8
7
-48
24
-3
-36
18
92
-37
41
14
-32
-1
-8
-114
-7
-38
22
-5
31
33
10
-53
-95
-59
17
24
0
0
0
0
0
-20
-20
-1
0
0
-19
4
-32
-23
2
35
21
40
13
2
34
-44
-79
6
-1
41
-8
2
23
-1
-61
3
44
-5
-64
-48
-47
-8
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-3
3
0
-3
-21
-75
35
20
-63
47
14
-17
11
18
-6
9
-1
-72
6
-55
14
45
2
-60
-23
-37
19
82
-123
7
-35
-42
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
36
15
24
2
1
60
-30
79
-32
-13
3
-18
-11
-6
2
-45
3
-8
66
-34
6
-7
-74
13
-20
-5
23
-34
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-2
0
0
-3
17
-16
8
0
31
-10
49
23
5
23
19
-49
-17
-6
-9
32
24
-22
-11
-6
-9
10
48
-51
-5
-12
-4
-26
51
-78
-57
7
27
-15
0
0
0
0
0
-10
14
-1
0
0
27
0
-4
-3
0
5
-1
0
-4
1
3
-3
-56
-24
-1
-31
43
-32
38
20
-5
-33
48
4
4
-46
-9
6
39
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
-2
0
18
27
-26
23
0
1
14
14
-28
0
-3
9
-29
30
0
45
54
7
70
0
-54
-74
-31
-65
0
-98
-43
30
-6
0
0
0
0
0
0
9
-7
0
0
0
-3
0
-5
-2
0
37
-32
1
25
0
8
-2
0
1
0
24
-27
18
-6
0
-41
-21
-42
21
0
-101
2
-51
-9
0
-17
25
25
35
0
3
-1
0
0
0
0
4
-4
0
0
-5
15
-72
-9
0
1
-49
-35
-17
0
-6
-34
-2
15
0
-7
18
4
-29
0
-15
33
61
-17
0
0
4
-3
44
0
-32
11
-2
-31
0
14
-1
24
-2
0
28
-5
24
-26
0
-30
0
-15
-8
0
-16
23
6
3
0
-39
-20
35
29
0
-54
20
-26
20
0
-36
-50
5
2
0
63
60
-13
-28
0
0
0
0
0
0
-5
1
2
0
0
38
3
0
0
0
-75
5
5
-5
0
1
13
5
8
0
17
2
-4
0
0
41
-42
1
-1
0
38
-4
28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
-11
-19
-35
0
0
31
22
-23
0
0
-41
-27
-5
0
0
35
-12
-11
0
0
-27
-47
-4
0
0
-31
22
34
0
0
0
0
0
0
0
-4
38
0
0
0
-2
-4
6
0
0
16
-43
12
0
0
-26
-42
30
0
0
33
33
-51
0
0
-53
13
3
0
0
4
-8
-28
0
0
36
17
21
0
0
0
0
0
0
0
0
-3
2
0
0
-4
-61
6
0
0
71
4
-27
0
0
-46
23
11
0
0
-26
-41
1
0
0
-29
62
44
0
0
33
-29
19
0
0
-8
54
-17
0
0
-1
0
1
0
0
-28
-30
0
0
0
47
5
-4
0
0
43
-27
9
0
0
0
-9
-4
0
0
-25
-26
33
0
0
-27
36
14
0
0
-75
11
-47
0
0
0
0
0
0
0
-7
-2
0
0
0
-4
5
-3
0
0
0
0
1
0
0
4
2
0
0
0
-7
-30
3
0
0
46
20
-10
0
0
4
-58
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
2
-3
0
17
104
-12
-4
-4
-14
-14
18
-55
13
112
-4
33
69
-29
-18
-50
-40
11
-62
-132
64
56
-17
11
0
0
0
0
0
-17
0
0
0
0
8
0
0
0
0
15
14
-28
-3
1
-37
4
-14
0
0
18
-32
10
-85
7
41
-29
-31
5
-33
-11
-13
22
-26
-25
-34
29
2
101
77
0
0
0
0
0
-1
3
0
0
0
8
1
0
0
0
-13
22
-4
-5
0
38
-19
-3
17
0
-38
-29
-30
-4
0
21
-6
-32
64
9
29
6
84
-43
-30
30
3
-3
0
0
-1
-5
0
0
0
-8
4
0
0
0
2
-1
3
-1
0
-8
-1
-1
-2
0
1
-16
-3
4
0
-51
37
-29
7
-10
19
13
36
-2
1
37
-56
28
0
-7
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-1
0
0
0
0
1
0
0
0
3
-1
0
-2
0
9
-53
5
0
0
-9
8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
1
-1
-52
47
-14
25
-1
0
10
68
-15
-75
-9
-23
17
9
13
50
-38
-19
12
21
-13
3
-13
-12
20
0
0
0
0
0
-5
0
0
0
0
-10
0
-5
0
0
72
28
11
13
-28
-52
6
65
47
-20
-27
-30
36
23
8
55
-16
-29
-76
11
-75
-11
-95
29
-12
-146
27
11
39
86
0
1
0
0
0
2
0
-2
0
0
-5
-41
24
-12
0
10
-23
-36
-11
1
20
-25
-31
28
-31
-61
-9
-4
-50
-24
-12
49
-39
-9
18
-74
88
28
69
12
0
-66
16
-15
9
0
0
-4
0
0
3
1
23
0
0
-1
-1
-4
-5
0
-1
17
-65
4
1
-58
15
-25
15
-7
11
33
31
-46
-1
-52
14
49
-17
35
30
-94
-61
29
-2
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
2
-3
0
0
0
1
3
1
0
-2
0
3
-1
3
-2
-2
8
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-2
-3
-38
-2
6
-5
-77
31
23
-18
44
-10
19
-103
49
-65
-4
32
24
-7
-82
106
-97
41
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-12
4
0
4
3
19
-9
-7
-29
-33
-2
-15
22
72
-23
3
22
-11
4
-33
-44
-53
39
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
1
0
0
0
1
0
0
35
8
17
-13
0
-1
8
10
14
-4
-1
5
-10
-4
-7
6
4
-29
24
1
0
11
-7
-21
6
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
7
-30
39
1
0
9
33
0
24
0
36
7
96
14
0
-53
-9
-41
-52
0
-45
61
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
13
-54
36
-26
0
-3
-78
-21
14
0
9
8
-65
31
0
-9
-31
-42
76
0
-34
31
56
-30
0
-8
43
2
-46
0
-1
0
0
0
0
0
-6
0
0
0
47
-1
-7
0
0
50
11
-23
-1
0
27
-34
20
43
0
-65
22
5
48
0
14
-19
-15
12
0
-74
-67
-13
-74
0
-5
-1
17
3
0
0
0
0
0
0
-13
1
0
1
0
-3
0
-1
0
0
20
2
-13
14
0
-4
-2
38
1
0
46
-86
-6
-36
0
-22
45
14
32
0
4
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-2
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
8
1
0
0
-24
17
4
0
0
-2
-43
21
0
0
49
79
-60
0
0
-7
17
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
16
5
0
0
0
-33
13
25
0
0
15
-8
12
0
0
-11
-21
-22
0
0
-5
9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
-8
-5
0
0
0
21
18
10
0
0
6
-26
-3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
1
0
0
0
0
2
-5
-2
0
0
2
4
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
29
-20
76
-57
3
56
-19
-40
-23
-5
-51
8
-45
2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-4
0
-24
2
10
-4
0
-20
-29
-67
-7
-8
30
-8
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
31
0
8
0
0
7
5
25
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
7
-34
7
-24
-4
-8
-11
19
29
-23
-10
94
-25
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
6
-49
42
-29
0
19
54
-13
-25
13
9
41
-34
-38
-25
-1
-68
-55
27
24
-56
3
-2
61
19
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
-10
0
-8
-4
-5
-5
-10
9
-15
1
91
15
-35
2
-3
6
-33
31
-3
26
0
0
-1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-5
0
0
0
-17
4
-6
0
16
17
-32
-3
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-1
2
-7
36
-19
34
0
39
27
-39
-48
-77
-2
-12
49
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
-6
0
-16
-38
15
4
-17
0
18
32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
-7
0
0
4
0
-23
0
0
0
-3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-7
0
5
-3
0
32
-1
3
4
0
4
4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-21
0
0
19
-8
-1
-1
0
18
-4
-17
-7
0
80
-23
-5
-8
0
2
7
55
8
0
-13
-5
41
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
-6
1
3
-7
0
54
-17
6
-1
0
4
18
23
4
0
0
-8
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
-2
0
0
5
-5
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
47
0
0
0
0
1
0
0
0
-8
-7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
15
-8
38
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
-22
19
-5
-20
-22
12
-6
-28
0
-16
-11
2
-2
1
1
40
17
9
52
77
3
-7
-3
2
-37
-17
31
-73
40
25
17
-60
0
0
0
0
0
-22
6
-18
6
4
-3
3
20
-4
1
0
-19
9
-44
23
-1
-20
-21
-2
24
-6
-38
6
-9
-42
-33
-8
-13
37
6
12
5
-38
4
21
58
-5
25
-10
-30
0
4
-2
-2
6
0
-1
6
4
3
-20
-4
7
-10
-1
-9
22
-54
-19
7
-1
22
7
41
38
-11
-30
29
19
11
13
-43
10
-31
6
-37
-18
-22
-35
-11
41
23
10
-16
-11
0
1
5
1
0
0
-1
4
1
0
16
6
-14
-2
-3
-31
-27
6
17
-8
-6
11
7
-26
5
6
-31
14
-27
-24
28
-67
-23
4
25
-27
12
10
-19
-40
0
0
0
0
0
1
0
-1
-1
0
-2
12
10
-6
-1
2
5
-3
0
-2
-1
-6
6
-49
6
-9
48
-21
-1
-4
-15
-48
-16
13
0
23
7
7
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
-7
-33
23
-23
6
33
18
-6
32
11
10
-38
-1
20
3
0
23
20
-8
2
51
13
33
-18
45
9
-21
-35
0
-10
-9
-1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-15
3
2
2
-1
-1
6
6
5
9
-18
-15
-4
-16
-6
-22
-26
16
19
-23
15
-13
17
2
29
-11
-35
19
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
15
-29
-5
-1
-6
-5
-3
-12
-4
-40
35
-2
26
-31
11
-1
9
-19
26
-23
50
24
38
-26
24
-9
-19
-27
-4
20
48
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-1
0
-32
2
9
-30
0
2
-17
5
27
-1
8
-12
0
-48
2
-5
-13
1
2
12
-27
9
23
-11
6
19
-2
15
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-7
3
0
23
-23
13
-29
0
-13
-6
60
29
0
2
-7
14
5
0
-23
3
17
-4
0
-18
16
-62
-24
0
7
35
14
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
15
2
3
0
4
-21
1
-12
0
-27
3
26
-12
0
-25
40
-9
7
0
31
-28
-48
24
0
4
14
-9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-7
0
0
-6
26
-7
0
0
28
35
-9
0
0
-53
7
12
0
0
20
-14
1
0
0
24
-38
5
0
0
-47
62
-20
0
0
0
0
0
0
0
7
-12
14
0
0
-14
-15
-1
0
0
30
16
0
0
0
8
33
-8
0
0
7
-5
-7
0
0
38
3
24
0
0
-23
13
-3
0
0
19
-12
10
0
0
-2
-5
-12
0
0
-7
9
18
0
0
-6
2
6
0
0
-1
23
-8
0
0
-12
-10
1
0
0
29
-20
8
0
0
21
23
-9
0
0
0
0
16
0
0
-5
37
39
0
0
-2
-6
0
0
0
-2
12
0
0
0
2
-24
-1
0
0
10
36
-12
0
0
1
4
8
0
0
-3
-26
14
0
0
35
11
21
0
0
-17
-5
2
0
0
0
0
0
0
0
0
-5
0
0
0
-2
5
2
0
0
-23
8
25
0
0
-14
9
3
0
0
67
12
-22
0
0
23
-8
-11
0
0
-8
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
7
-16
-43
5
23
20
8
34
7
-6
2
-25
44
12
-43
4
27
18
-41
34
17
-27
22
26
-60
-6
74
-45
-17
40
12
25
21
-21
0
0
0
0
0
28
2
-5
-24
-5
13
1
-9
-31
7
-7
-18
-2
-14
-2
-29
-3
6
3
-15
17
-1
15
0
28
-7
17
-29
39
1
-26
45
48
33
-16
5
-8
49
25
8
-3
4
0
5
-1
9
-13
-7
-9
0
11
3
-16
-17
-3
20
-15
39
-15
-2
6
18
21
-28
-12
-13
16
24
-33
-19
3
-39
4
18
8
-69
24
8
22
4
-4
11
-12
-1
52
2
4
-2
0
0
1
-2
-7
0
3
0
-5
25
-1
1
25
11
-30
-27
-18
31
-21
-22
3
24
-5
6
-9
-20
44
-16
-15
12
27
-10
9
19
22
26
-61
0
0
0
0
0
0
-1
0
0
-1
12
2
3
-5
1
22
25
-13
-3
-1
-5
-17
34
30
-17
-24
-34
-6
-40
9
-6
-5
-19
-8
-15
20
2
58
-26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
16
8
-36
-21
4
-13
17
36
-14
-3
14
-37
7
18
-16
12
-19
-2
-18
9
26
50
9
-6
-29
-30
2
14
-19
26
40
-9
-33
30
0
0
0
0
0
-13
2
-6
-6
12
-6
-4
5
-16
16
-33
7
-8
-22
13
-1
-23
7
13
-16
40
-15
30
36
1
3
59
11
-4
3
-25
10
-36
-48
3
-32
-48
-41
62
-49
0
-4
-7
-8
1
7
-12
-8
-8
1
-13
18
-9
23
15
1
13
-2
-14
11
-17
3
37
-1
17
9
7
14
-15
-37
-47
40
-6
25
-15
12
-16
-27
-43
-38
-7
-46
14
1
11
2
-6
0
0
0
2
-5
8
2
-4
-9
6
3
10
-12
-5
13
-21
-25
-18
50
8
-10
-11
12
-25
35
-22
22
20
14
-2
9
-14
-37
0
-50
-10
-14
-15
0
0
0
0
0
0
0
0
1
0
-30
-15
9
2
1
1
-12
-24
1
8
-7
29
-15
-3
-12
33
-13
-14
4
7
-39
35
-24
-14
-11
12
21
52
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
3
-51
37
-20
-14
3
27
15
-6
17
26
9
19
3
8
14
-24
-25
-4
-1
-19
18
21
-3
4
-11
-4
42
-21
-18
10
42
-16
0
0
0
0
0
-27
11
-9
-8
-4
-19
18
5
-33
15
-40
25
-8
-5
11
38
-28
-9
19
0
-48
-27
0
2
24
-12
29
26
3
31
-27
-35
24
41
-45
96
12
-35
-56
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
-1
0
-7
-7
19
10
-3
-11
-19
-7
10
-7
-23
-29
-19
0
-21
-6
-19
30
-14
-13
-24
-15
-3
5
4
-3
-9
19
-2
-7
19
4
-10
-4
3
0
0
0
0
0
0
-3
1
-7
1
6
1
-5
27
1
0
8
-15
-12
7
-20
-56
5
2
-4
12
44
-15
-16
-5
-2
-28
8
9
2
6
4
18
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
-22
11
0
-9
8
-16
51
0
24
11
20
14
0
-19
2
-46
19
0
0
-53
21
10
0
18
33
13
-37
0
9
62
-21
2
0
0
0
0
0
0
-20
7
-7
7
0
8
26
-3
-1
0
-9
23
13
-7
0
-1
9
11
11
0
-39
-16
-12
-13
0
51
1
37
17
0
13
-35
-1
9
0
34
-21
-18
-1
0
-14
4
3
2
0
-15
10
19
3
0
-12
2
-12
-3
0
-29
-18
49
22
0
32
-14
-4
-5
0
4
28
1
29
0
-42
17
-25
24
0
35
-8
3
5
0
2
-6
-27
-17
0
-6
1
-3
-1
0
-32
18
-4
0
0
-7
13
20
-5
0
-19
25
8
26
0
-20
53
-28
-6
0
-62
-16
43
-4
0
23
1
21
14
0
37
4
-22
11
0
0
0
0
0
0
0
0
0
0
0
-8
2
-1
2
0
21
-1
-20
-1
0
-35
11
-2
-4
0
-25
9
21
10
0
8
0
-23
-10
0
20
-28
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
17
0
0
3
23
-10
0
0
-7
6
12
0
0
23
-4
17
0
0
-7
-47
24
0
0
6
4
-21
0
0
-10
8
-25
0
0
0
0
0
0
0
-5
-2
4
0
0
-8
15
4
0
0
-15
-15
8
0
0
1
34
-5
0
0
8
-17
10
0
0
8
12
-1
0
0
24
18
-10
0
0
-15
-31
6
0
0
-1
0
0
0
0
25
20
-1
0
0
9
0
0
0
0
3
-5
0
0
0
-3
10
-15
0
0
19
-50
-12
0
0
18
46
57
0
0
-4
14
2
0
0
10
28
-12
0
0
2
1
0
0
0
-3
-5
1
0
0
-2
-13
-2
0
0
-16
13
2
0
0
-5
-8
23
0
0
15
-2
-23
0
0
0
27
-20
0
0
-13
-19
31
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
-6
0
0
0
-1
3
-8
0
0
-12
30
-6
0
0
22
26
8
0
0
18
-16
4
0
0
-4
-27
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-1
3
-1
16
-22
30
15
2
-2
9
15
3
-4
9
-21
-6
11
5
3
77
-5
-13
23
2
-63
-1
49
-37
105
63
-4
-5
6
0
0
0
0
0
4
-1
0
-1
0
1
3
-2
2
-1
-7
14
1
10
5
-11
7
20
-13
3
-44
-18
54
19
-10
9
41
-4
-25
-27
2
-21
-15
44
1
63
17
47
-11
44
-1
0
0
0
0
0
3
1
-1
0
3
17
-3
0
0
7
8
7
5
-2
1
5
9
-19
16
-3
-7
-9
43
-3
-12
-26
1
24
7
14
1
-2
-11
-22
0
-25
38
6
6
-2
1
0
0
0
0
1
-1
0
0
2
2
0
4
0
-1
-8
1
4
-2
6
30
-6
0
-3
-47
-8
-2
42
-35
-20
17
11
4
-12
15
-68
27
-43
69
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
-1
2
0
-2
-2
21
-15
18
-1
-7
-37
0
-7
-23
13
27
-18
0
-8
18
-17
-5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
6
35
-3
10
-4
-8
21
0
-21
13
-37
8
-4
-25
-2
57
12
11
11
50
32
-17
0
53
11
-14
41
4
50
38
5
-32
0
0
0
0
0
0
39
-15
8
-9
-6
50
24
-6
-8
2
-25
-3
-2
4
1
-45
-12
1
14
42
1
-10
-14
-4
8
16
33
38
14
0
-9
-35
16
-35
0
50
4
5
-22
-10
5
5
-7
9
-3
-2
19
-11
-1
-5
9
-5
-5
-6
10
-2
-17
0
5
25
54
-41
13
-24
18
-15
-16
-38
-27
3
56
-23
30
-7
8
-24
32
56
41
24
26
15
-37
25
-37
-1
7
5
8
0
2
5
1
-17
0
26
12
0
-8
19
39
5
13
-6
18
16
6
-22
-54
5
37
-12
32
-5
-33
-73
-9
1
39
31
-35
9
-13
17
3
0
0
0
0
0
-2
1
1
0
0
0
-1
0
0
0
0
5
1
6
0
-16
2
-4
14
-12
33
4
-23
-23
7
-50
20
-3
-28
-31
-7
14
12
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-11
-4
3
0
4
-1
31
15
-8
42
36
-18
4
16
-7
-10
-4
2
15
-42
12
19
-12
-11
-31
47
-28
-2
-9
55
20
-1
-7
11
0
0
0
0
0
43
-26
18
20
-7
15
4
14
-12
18
22
-27
10
33
-19
-20
5
24
-14
51
32
-15
-3
70
-19
5
18
-11
-4
-3
17
28
-17
-15
-18
-43
-8
-5
2
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-2
5
-7
-3
0
-1
-14
19
1
11
-10
-5
8
-2
2
22
10
-13
18
21
12
-32
31
20
-31
-24
10
22
-3
-5
9
4
-40
-26
-13
6
2
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-7
-3
0
0
-8
25
-5
4
0
-23
8
21
-21
-13
19
-22
-26
-15
-3
14
9
-2
27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
17
0
0
3
9
-2
6
0
42
34
-8
-3
0
-10
4
6
-48
0
1
-39
25
-16
0
-13
7
-10
20
0
18
40
32
-6
0
0
0
0
0
0
-2
18
23
9
0
-7
15
4
-2
0
-8
8
17
0
0
21
-15
11
42
0
-34
20
3
-19
0
0
-5
-10
18
0
5
63
6
-20
0
13
35
-9
1
0
-5
13
-3
-3
0
0
11
-4
9
0
-10
-15
2
6
0
-16
28
-5
-32
0
32
4
30
-34
0
-17
-43
6
-19
0
34
1
-37
17
0
-2
17
27
27
0
5
57
-13
12
0
10
10
10
-1
0
12
0
2
19
0
7
-7
-29
6
0
-26
-8
3
-3
0
2
-25
7
12
0
3
-12
-13
7
0
18
18
43
-24
0
-85
51
-19
-46
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
7
-3
0
49
-7
-3
1
0
16
1
3
-14
0
-10
-6
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-7
-5
0
0
-13
12
-9
0
0
5
-48
-18
0
0
9
-12
-25
0
0
-27
6
7
0
0
28
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
4
22
0
0
0
-2
-8
4
0
0
-22
1
24
0
0
-18
-32
-2
0
0
39
-5
-4
0
0
-13
25
51
0
0
-41
-2
16
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
-9
-7
0
0
0
-23
4
4
0
0
-38
-12
-6
0
0
23
7
3
0
0
41
42
-11
0
0
0
18
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-10
-6
2
0
0
-16
39
-3
0
0
9
-7
-12
0
0
6
20
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
18
-3
-1
0
0
20
4
-3
0
0
8
0
-4
0
0
0
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-2
-4
0
8
-22
36
-37
-18
11
-4
-28
7
-12
-43
-7
-16
23
-21
1
31
-19
34
27
-12
26
-17
-26
-14
-11
-17
53
-27
5
0
0
0
0
0
-2
0
-1
0
0
-2
-13
5
1
2
-24
0
3
3
16
9
26
21
-12
12
-3
-4
-11
18
10
2
7
3
13
5
-15
33
-33
-57
-17
-46
-9
25
-6
31
0
0
0
0
0
0
-6
0
-27
0
2
-7
7
-18
2
13
3
-42
14
-8
-8
16
-17
7
-11
2
-36
-28
-13
26
-3
-6
29
77
-29
12
-53
-13
21
2
-1
34
-5
-15
11
-3
0
-1
-1
-2
-5
2
15
-20
0
14
-1
10
11
-3
-23
-19
-4
-22
-5
-6
-28
20
14
6
-31
0
-20
-21
8
-25
13
1
-1
-31
4
-50
23
66
18
0
0
0
0
0
-4
-1
0
0
5
4
-4
0
-4
2
-1
-6
-20
32
1
-7
36
-19
11
9
48
-38
13
26
-21
-63
-1
15
-30
-15
-16
-19
9
11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-29
13
-14
-19
2
14
-63
-40
8
-8
4
21
18
-11
-13
-23
29
-48
22
0
-18
-5
19
-27
-19
-17
26
15
19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
-2
1
0
1
1
-3
2
0
0
0
2
0
0
0
2
-1
-2
0
0
-2
1
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-1
0
0
-1
0
0
0
-3
0
0
-1
4
-1
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
0
-2
1
7
-1
0
9
-13
5
-8
-2
3
-3
0
-1
1
0
0
0
0
0
2
-1
1
0
-1
1
-2
-10
-4
-1
14
5
-11
-11
-1
0
2
-10
6
20
8
2
26
-7
3
5
-18
8
4
-29
-15
4
-30
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-5
-17
-6
-70
-53
-16
1
6
-16
28
-2
-15
-12
26
38
22
-4
25
-30
46
-27
2
-5
5
-36
14
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-1
-2
1
0
0
-7
3
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-7
0
0
0
-19
-4
15
-3
-2
-27
28
5
5
-16
-27
6
-10
15
-7
41
2
-31
-10
-10
11
-52
25
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-20
-30
6
-9
0
-10
6
-13
2
0
-35
-29
-57
13
0
14
40
11
8
0
30
-1
26
-9
0
-3
-35
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-4
0
0
-1
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
-2
0
-10
-4
-4
0
0
8
0
-19
-1
0
-7
5
1
0
0
-8
-19
15
14
0
13
13
-25
-16
0
5
6
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
-20
-7
0
0
9
-22
-32
0
0
10
21
29
0
0
-25
-17
-15
0
0
-19
-29
3
0
0
23
-55
41
0
0
0
0
0
0
0
0
-1
-1
0
0
3
8
0
0
0
-15
-28
-16
0
0
-23
3
8
0
0
11
-9
9
0
0
4
21
5
0
0
-7
5
15
0
0
10
-29
-29
0
0
0
0
0
0
0
1
3
0
0
0
-1
-9
7
0
0
-3
-4
-4
0
0
-5
-16
-7
0
0
-1
9
7
0
0
6
-2
15
0
0
-13
-1
-13
0
0
-1
4
14
0
0
0
0
-3
0
0
-1
3
-7
0
0
-5
22
-2
0
0
-17
-7
32
0
0
-7
-6
3
0
0
1
41
-7
0
0
-21
3
36
0
0
-2
-14
-30
0
0
0
0
0
0
0
0
1
-7
0
0
-5
-2
-1
0
0
1
16
-4
0
0
-14
-43
-12
0
0
9
-4
17
0
0
11
-9
-3
0
0
-6
40
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-9
14
0
-26
-22
-33
-18
-36
23
2
39
-4
-2
-53
-15
7
-8
-10
-15
-16
11
52
-11
-23
30
-22
-15
38
12
21
-30
-38
46
0
0
0
0
0
2
8
18
-22
4
-13
-8
-28
16
2
43
40
-12
13
-60
-7
1
12
-22
-20
-58
-34
-25
9
-3
-59
45
40
29
23
-15
1
-28
-52
-17
29
5
7
4
16
0
-9
-13
-5
1
-2
13
-31
19
2
-3
-2
-24
15
-7
-14
-47
12
-8
-6
-3
43
-19
-56
-13
10
-38
-34
12
-21
-18
36
15
-6
21
-9
10
0
1
-19
28
-18
-11
2
30
14
-8
8
-3
2
-6
10
7
-2
-20
-6
33
-9
8
10
12
-1
4
34
13
-50
28
-38
21
2
10
-30
-5
8
8
12
5
27
3
20
0
-5
-41
-11
-29
0
0
0
0
0
7
9
9
14
-9
-24
-9
-7
12
-4
7
27
12
-8
13
-51
-7
18
-9
-21
1
27
-16
-41
4
0
-26
30
-57
-6
7
5
9
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-14
13
-3
-25
4
12
-50
-9
-16
-41
18
7
-5
-15
-31
28
12
-54
33
-23
-37
6
16
-33
30
13
-37
-5
27
99
-35
13
27
0
0
0
0
0
0
0
0
0
0
2
-7
-25
-1
-1
-8
-43
-9
-9
-3
-7
-22
3
-3
-18
-25
-15
-5
7
-30
-3
11
25
-52
1
19
59
6
23
-21
-9
-56
-77
-21
17
0
0
0
0
0
0
0
0
0
-1
3
-5
-2
7
0
10
-2
-21
17
-9
26
18
21
1
3
-11
-27
-14
18
-21
-42
-5
4
-14
-5
-31
21
-73
45
4
-15
-20
9
-44
33
0
0
0
0
0
0
-2
0
0
0
0
-6
-7
2
0
7
-21
-2
-7
1
-14
-20
-7
-9
2
-38
22
-4
21
-31
-19
-10
2
49
41
20
-2
16
-28
32
0
0
0
0
0
-4
4
6
8
0
-19
4
10
-4
-4
-15
-12
-3
35
11
0
-24
2
-18
-21
-84
43
-8
2
17
-27
-11
-4
-2
14
45
18
-22
14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-9
2
-3
-8
-17
10
-17
-9
6
35
0
20
-12
-21
-6
4
-28
-1
52
-22
-7
15
-39
25
-26
7
-18
30
-45
18
-40
105
-40
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
0
-15
-5
-9
-29
10
-4
-8
-7
2
-10
-27
-18
8
3
-14
-13
-16
9
29
-4
-15
-15
15
-31
7
-16
10
-13
8
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
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
6
3
-30
0
2
-10
-3
8
1
4
-8
-10
-11
-6
-60
-2
37
16
-2
-2
-3
-12
-21
2
0
0
0
0
0
-2
13
-1
-5
-5
14
-15
7
-24
0
-23
-8
6
-31
6
-6
13
-18
-8
4
26
-52
-14
45
-6
1
-48
-47
21
9
-2
44
20
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-17
14
0
-8
-14
9
0
0
-1
21
7
-3
0
-3
-33
13
-1
0
-16
11
-2
13
0
-15
34
18
-22
0
11
-10
-50
-31
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
-2
0
-10
18
-24
-5
0
-6
4
22
-6
0
-43
22
-12
33
0
-7
15
-14
-13
0
38
-19
18
-57
0
-13
-52
33
22
0
0
0
-2
0
0
-3
1
-2
-1
0
-1
0
-28
-3
0
-7
-14
9
6
0
-9
37
-3
-14
0
13
11
9
-2
0
-6
22
27
0
0
28
-41
5
-4
0
0
-5
12
-27
0
0
0
1
0
0
-2
1
-23
0
0
2
0
-5
-3
0
-1
24
-7
-7
0
-16
26
4
-10
0
-56
5
10
5
0
-1
-15
30
6
0
13
-27
-31
-28
0
0
0
0
0
0
10
-2
-8
-3
0
14
3
6
-2
0
-20
-18
28
6
0
-4
-9
11
-3
0
-38
-18
-17
-1
0
-47
-27
22
-37
0
33
33
-18
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
26
1
11
0
0
-14
32
1
0
0
-31
21
-23
0
0
-13
-6
-26
0
0
-14
-18
48
0
0
-15
-6
-7
0
0
0
0
0
0
0
0
-20
-10
0
0
16
-7
-4
0
0
-63
-2
8
0
0
5
-8
16
0
0
-13
-19
-1
0
0
-1
42
-13
0
0
35
26
-20
0
0
24
-6
35
0
0
0
0
5
0
0
-15
-23
-4
0
0
2
25
-8
0
0
47
-22
16
0
0
-27
20
13
0
0
-13
95
10
0
0
-27
1
-44
0
0
-33
-6
-16
0
0
9
-2
32
0
0
9
7
3
0
0
-27
24
-1
0
0
-19
-14
-13
0
0
4
0
9
0
0
-24
-1
-28
0
0
1
1
8
0
0
26
11
-1
0
0
-35
16
11
0
0
0
0
0
0
0
1
1
0
0
0
33
0
-1
0
0
-20
-15
5
0
0
16
-14
-22
0
0
-10
15
-14
0
0
-13
-2
16
0
0
22
45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
6
53
0
-32
-35
-22
-9
-5
21
15
-29
2
9
24
20
19
-106
-6
-4
13
-23
-2
41
-30
-33
22
21
-27
95
0
23
-3
-20
0
0
0
0
0
-9
0
4
-10
1
8
23
-16
-1
0
-30
-22
-13
6
18
19
-40
4
1
26
7
37
-9
25
-22
22
-41
21
-51
-2
-19
29
10
7
-21
13
30
6
18
-7
0
-1
-1
-4
0
22
-2
-8
12
-2
3
-11
-7
23
-2
12
44
-14
-1
3
51
2
-30
13
4
12
44
-58
-34
-17
16
54
42
27
26
33
5
47
-45
-6
-17
21
-7
16
-9
0
-5
3
8
0
3
-17
-7
-10
2
14
-36
-5
14
-8
-31
-2
26
-40
16
-12
-28
7
-2
22
-15
-18
22
-1
-37
43
95
-7
-29
-32
72
8
-54
29
5
0
0
0
0
0
-4
-2
2
0
0
8
10
0
5
5
-14
-7
27
-4
12
1
-49
4
2
4
-4
11
-6
-30
41
-20
-5
-18
25
0
1
-34
25
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-4
-25
-3
-4
-47
23
-10
-17
-40
-6
-29
3
6
17
16
-3
-25
-59
-13
-24
11
-16
15
-22
-21
43
-12
48
-19
63
3
48
24
0
0
0
0
0
-19
6
-3
6
4
-38
-7
31
-3
-17
-33
3
-15
-7
-4
2
6
-9
11
-8
-23
-47
4
-47
-7
8
-28
13
5
0
-41
-15
52
-23
1
-2
6
16
18
31
1
-5
-2
-8
-4
-18
-20
10
-4
2
-31
2
-6
8
-4
-11
-14
8
-12
0
31
7
-30
-21
-12
17
10
-37
-14
-10
25
2
-17
-21
-5
-2
-37
23
4
24
-13
-34
-11
35
-41
-3
2
-20
-10
-4
-39
6
10
18
13
-14
-1
45
-5
-6
-40
44
-31
34
11
-4
6
19
4
34
21
-30
2
0
12
-15
26
21
-53
12
-5
-43
14
11
-23
0
0
0
0
0
4
-12
1
-5
0
-6
-12
-6
7
2
23
22
21
-8
1
-2
-32
-35
-14
20
23
2
-7
-44
-20
7
-31
0
45
-6
-40
35
-9
26
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
20
2
-3
4
29
-19
1
47
-46
19
-22
4
13
68
-25
7
6
-1
34
-34
-7
11
-56
-14
-9
0
-48
20
-18
95
-47
32
0
0
0
0
0
-8
-12
-10
-13
2
-2
-22
-20
-33
-5
29
-40
29
-4
19
0
-24
-8
9
-7
22
48
-16
-72
-46
76
-34
-5
19
3
-26
-17
16
-19
-13
-87
-18
22
9
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-3
-9
-7
-8
-6
-19
7
2
-3
-4
0
10
-7
6
8
-42
-7
15
25
-25
15
-30
-12
-20
9
-46
17
-7
-1
10
-16
-28
47
19
10
-28
10
-11
0
0
0
0
0
0
-8
-2
2
0
-9
4
2
-3
-1
-5
7
5
-15
-5
12
7
-19
0
-7
-1
29
-30
-6
13
-19
6
-61
16
-13
22
4
20
7
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-3
-3
0
4
21
-1
-22
0
-27
-6
-8
5
0
-34
-1
9
-40
0
74
30
8
-24
0
-17
-20
6
44
0
-51
-1
8
-7
0
0
0
0
0
0
0
-18
-15
1
0
-3
-7
-21
-7
0
0
-22
8
43
0
-32
32
-26
-23
0
-22
9
7
-4
0
12
8
10
-15
0
21
-51
-21
10
0
-21
-7
9
-10
0
0
0
4
0
0
0
-21
7
-19
0
1
-20
-9
-1
0
35
3
12
-19
0
-40
-2
11
23
0
-14
-4
-56
10
0
-4
32
3
-5
0
29
-16
-22
-16
0
20
16
31
31
0
5
-8
-13
5
0
7
-35
18
-26
0
1
2
11
1
0
33
-39
-16
-14
0
-49
-24
0
18
0
-3
-24
-45
-4
0
-9
16
-6
-10
0
-30
-50
20
3
0
0
0
0
0
0
1
-1
1
0
0
1
1
-8
-1
0
3
3
-8
-13
0
47
-28
-15
-12
0
-26
-18
-15
18
0
-13
-1
34
-1
0
16
13
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
0
0
-8
10
8
0
0
5
-18
24
0
0
11
-11
2
0
0
-6
34
16
0
0
16
-15
-33
0
0
8
51
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
-13
-6
0
0
13
-3
-7
0
0
16
16
3
0
0
1
-67
7
0
0
5
19
2
0
0
7
9
-25
0
0
12
21
28
0
0
0
0
5
0
0
0
5
0
0
0
-7
-7
-7
0
0
-20
22
-44
0
0
21
-39
6
0
0
7
14
-33
0
0
-25
-31
-5
0
0
-11
-13
-4
0
0
-7
-15
-2
0
0
-1
3
0
0
0
2
24
-1
0
0
6
-2
-2
0
0
8
-13
-48
0
0
-21
11
8
0
0
-15
-14
-17
0
0
-14
-24
5
0
0
-6
13
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-3
3
-2
0
0
-5
-7
13
0
0
-6
-10
17
0
0
-19
-1
-20
0
0
0
11
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
8
-40
8
0
-14
-33
4
0
1
0
19
-4
2
-2
30
-42
-31
18
-5
-16
-36
50
-14
-27
20
38
-12
1
40
0
0
0
0
0
-2
1
0
0
0
-3
2
12
-8
0
-18
-14
20
-20
-3
-8
13
3
7
5
35
10
-13
2
2
53
30
-36
-2
8
37
-4
38
-65
-7
15
73
-32
-10
12
0
0
0
0
0
-6
-3
0
-2
0
-2
4
-2
0
0
6
-22
-9
3
0
-25
-33
0
3
5
-32
-48
-12
9
18
47
6
10
28
-12
89
4
-5
-7
-1
52
2
10
-18
-7
1
0
0
0
0
-2
0
0
-3
0
-2
0
3
-4
1
16
-33
-10
-16
1
-19
7
7
-13
1
-5
18
-52
-3
-7
33
-7
0
21
4
21
-27
43
8
-13
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-2
1
-2
-1
0
0
1
4
-3
-4
0
-8
19
0
18
2
22
-3
-2
-4
-3
8
24
-8
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-4
-8
8
-9
-6
-1
18
12
16
9
-38
19
-5
0
19
20
-38
-13
11
9
2
78
-57
4
-19
30
-41
22
10
5
0
0
0
0
0
-3
12
-2
-3
2
4
-5
10
-40
1
17
-33
13
-2
-21
87
-11
26
-20
23
9
69
-34
11
0
-29
-57
23
19
27
2
-15
-50
-25
18
-25
5
17
40
-49
-1
1
0
0
1
11
7
2
13
0
-7
15
0
-36
-1
8
-22
-18
-32
-16
-20
-14
-14
-10
-4
-25
-76
-21
-41
0
-8
36
-4
23
11
26
34
59
-60
-27
-25
29
-47
35
-8
-3
-9
28
-8
-7
24
-10
-8
-10
-4
2
-32
-41
-3
0
-23
-2
2
16
-28
17
2
0
-10
10
-20
-7
21
-41
2
30
0
19
45
-21
-18
7
32
16
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
3
1
-13
0
0
0
26
-2
-7
-30
8
-13
28
20
10
-12
-10
4
-17
-15
-11
44
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-7
0
-27
3
4
8
23
-30
30
-23
-7
-65
-1
-41
-7
-2
36
10
7
33
-5
10
25
-22
9
22
32
19
0
-42
0
0
0
0
0
0
3
-1
0
0
0
-9
-2
27
8
-11
11
26
-4
-23
-8
-3
17
-13
-19
-29
-4
-8
-13
-10
-19
9
11
-7
-3
17
-1
13
9
-7
-8
2
20
9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-2
2
1
-5
-9
5
0
12
8
-10
-7
-6
-12
-18
-3
0
-5
-12
13
-35
55
7
-11
-26
4
12
17
11
42
-27
9
-19
-13
-9
39
-72
19
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
-3
0
-5
7
-3
-22
2
21
-7
-23
12
-13
14
-12
0
23
-36
-1
-6
-3
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
-7
27
-7
0
-6
-4
11
-6
0
21
4
-12
-12
0
11
31
-15
-14
0
-1
13
-34
-28
0
-11
3
30
-27
0
0
0
0
0
0
0
0
4
1
0
4
-15
-6
15
0
-7
11
-5
9
0
0
-43
-10
-31
0
19
-11
-47
-30
0
-21
-8
0
37
0
-26
-8
45
-9
0
4
30
24
12
0
0
0
0
0
0
16
7
-21
-5
0
5
5
11
13
0
-9
29
-18
-27
0
8
-13
-10
39
0
-1
8
43
-6
0
18
-17
-1
7
0
1
22
-30
-9
0
-8
8
21
40
0
-15
-3
-5
5
0
-2
5
-1
-3
0
1
-10
10
9
0
18
-13
-25
-22
0
9
7
16
-16
0
16
32
27
19
0
-24
22
-38
7
0
-23
-43
27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-3
0
0
0
5
-30
0
-15
0
-2
-1
-8
-9
0
0
-3
6
-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
-2
0
0
-3
0
2
0
0
4
6
5
0
0
0
16
5
0
0
36
28
20
0
0
8
-7
-1
0
0
-1
13
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-1
0
0
1
-3
1
0
0
-12
-5
-2
0
0
-37
6
-26
0
0
-10
-16
-5
0
0
55
-24
9
0
0
0
44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-14
21
1
0
0
-2
-1
-27
0
0
2
2
-2
0
0
13
-44
-5
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
8
0
0
8
26
-2
0
0
8
13
5
0
0
-5
-17
-1
0
0
-1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
2
1
0
0
-6
-4
-8
0
0
0
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
4
1
0
0
-8
3
-7
0
-18
25
39
-7
8
9
24
-17
-5
0
16
-12
-16
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
0
9
-13
17
-6
-5
2
-20
0
-5
0
51
39
-48
-9
-6
17
22
2
-20
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
-4
-3
0
2
6
9
1
9
-30
10
-9
8
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
42
0
-7
0
-9
14
-4
-5
9
0
-3
-12
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
2
0
0
1
0
0
-1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-3
1
-4
-12
-30
0
0
16
23
-8
-24
-8
12
9
-24
-11
5
2
12
49
21
-8
0
0
0
0
0
1
0
0
0
0
-6
-4
-3
8
-1
0
13
31
-2
-4
29
26
4
8
4
-17
-51
30
22
-6
25
9
-89
-9
8
-37
53
-40
-33
-37
34
17
55
-21
29
0
-2
0
0
0
6
0
0
0
-2
-7
-4
-6
8
0
4
-16
9
-13
-8
-36
22
11
-2
2
-51
7
29
40
-16
-2
41
-26
-2
16
43
15
-35
-20
6
8
15
49
13
0
0
0
-1
1
0
5
-2
0
0
0
0
-2
0
1
0
9
-20
-7
0
-7
-36
-24
2
38
10
3
-11
-12
5
-12
26
33
29
3
-14
-2
55
31
-30
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
-3
1
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-6
-9
5
-1
6
-2
1
-3
-5
12
-3
21
0
7
4
9
20
-6
16
-14
27
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
3
6
-16
0
1
-2
-4
16
-5
14
-6
-1
-51
29
-25
-17
6
6
-31
26
-13
6
37
20
-45
49
4
81
3
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
2
0
0
-1
3
-1
-17
-14
7
-4
21
15
6
4
13
7
-4
40
-7
-12
-16
11
0
8
-4
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
2
0
1
0
0
2
0
-1
-7
28
4
0
12
38
-24
-10
0
7
-8
-51
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
1
0
2
6
-4
-23
0
4
4
0
6
0
-5
-18
-21
15
0
11
-8
-2
-10
0
5
-6
-3
-1
0
-19
12
10
-47
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
-1
-5
7
0
2
11
-32
1
0
-6
-2
-10
-6
0
2
-10
48
0
0
-18
-26
-36
18
0
0
0
-39
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
-4
18
8
10
0
14
-2
1
3
0
-12
3
6
-23
0
-32
13
4
-6
0
0
0
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
-8
-16
0
0
0
12
0
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
-3
-1
0
0
0
-14
4
0
0
-10
1
-23
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-6
4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
16
2
-3
-1
-9
34
7
7
-1
-6
2
-10
21
-4
-4
-35
-55
30
-25
-1
15
53
-29
21
0
-27
-4
-8
-31
-3
48
-15
28
-21
0
0
0
0
0
0
2
0
11
1
0
3
-5
-6
-2
22
4
-8
-13
1
-14
-21
11
21
1
-4
-5
-19
2
-11
33
-45
-7
-43
-1
-33
1
-23
19
-13
18
17
-4
28
15
0
0
1
0
0
1
1
0
0
0
-9
-10
-4
-1
0
-34
-3
-1
16
-5
-51
-18
-3
40
9
13
-38
-4
-8
6
23
1
9
33
3
11
79
4
-25
-12
-23
14
-8
-36
-22
0
1
0
0
0
1
0
0
-2
-3
0
5
-2
-6
0
6
4
2
-6
-33
-2
-9
-4
3
31
-48
23
-12
32
-16
-4
-17
49
12
45
-9
-17
-18
-29
3
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-5
-18
8
-7
0
6
12
-36
-15
8
2
-13
3
45
-3
-1
12
7
-10
7
-11
10
-6
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-4
-8
3
-17
-5
-26
11
9
-17
14
23
18
15
-28
13
9
-39
-16
23
38
-4
47
5
4
7
-20
-45
-10
7
-4
34
46
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
2
0
-4
0
2
-4
-7
8
1
17
11
13
-9
5
-4
13
-22
22
7
6
-12
-7
-13
7
1
-16
-16
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
17
20
-2
37
-13
26
-8
-26
-8
8
23
24
10
44
-77
-23
0
-27
18
48
-17
-50
24
-26
-9
29
-13
4
12
-11
-1
11
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
-2
-5
-13
-47
-18
-4
6
-12
-30
-2
-13
-8
7
-9
-21
-29
-8
17
-30
0
13
7
-4
29
-1
-10
-16
1
-18
-1
-2
-9
15
42
-16
-23
-13
0
30
27
-7
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-1
-1
0
-1
0
11
3
6
-2
-13
-4
21
-19
-34
-22
11
-17
12
24
7
-1
23
-11
-6
16
-12
2
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-3
1
0
6
-27
16
5
0
10
-5
-37
-44
0
20
-22
-20
26
0
-16
21
21
2
0
-10
0
-17
-59
0
3
12
-26
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-4
-1
4
1
0
39
-14
-13
-37
0
3
41
-7
-18
0
-49
10
8
-29
0
-1
4
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-1
-3
1
0
0
-2
-2
-2
0
0
0
33
-3
0
0
11
14
10
0
0
55
-2
40
0
0
-40
-41
3
0
0
0
0
0
0
0
9
1
0
0
0
2
-2
1
0
0
8
-6
-3
0
0
1
0
-35
0
0
20
-6
-6
0
0
55
-18
21
0
0
7
-13
10
0
0
-43
37
-16
0
0
2
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-9
-5
31
0
0
7
19
11
0
0
31
-21
-16
0
0
-1
-13
-26
0
0
-17
42
-24
0
0
6
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
-6
21
-2
0
0
20
-6
13
0
0
4
-22
-16
0
0
-48
-3
0
0
0
-1
-22
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
11
0
0
0
15
-9
10
0
0
-27
-10
14
0
0
-17
1
-4
0
0
2
-28
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
8
-5
-11
0
0
-8
7
47
-11
5
-39
23
15
-8
6
42
-42
-17
-52
-19
-34
13
-37
9
7
100
-69
10
-1
12
0
0
0
0
0
0
-1
-1
3
0
6
7
0
0
1
-2
-9
-11
27
1
11
22
-7
19
5
-3
-4
-3
-28
15
-1
-5
26
36
5
29
-14
-39
-60
-45
-7
13
8
12
-7
0
0
0
0
0
0
0
-1
1
0
3
-2
3
1
0
25
8
11
6
3
7
-12
-1
6
6
-82
23
7
2
-8
-1
79
-41
-31
18
25
68
-11
-6
24
21
-10
-11
-13
-9
0
0
-1
0
0
-1
-1
0
0
0
1
6
1
1
0
4
9
-1
3
42
0
-46
0
7
-18
45
-9
6
-46
-1
-20
4
-15
5
7
50
35
-36
-16
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
1
-3
-1
-13
6
-13
7
0
31
1
-3
2
15
-7
11
16
0
-25
23
-15
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
8
9
13
14
2
-4
-24
34
-32
-2
0
4
-14
-25
8
6
-20
-36
4
2
17
-13
10
14
-4
11
13
5
32
-19
0
0
0
0
0
-4
-2
0
0
-1
0
-1
-4
11
-3
-5
-42
-5
2
-3
36
18
15
-31
-13
-15
10
-46
-2
-10
-11
0
15
-9
-30
-11
8
-30
29
-14
62
-5
21
-11
45
0
0
-1
0
0
5
0
1
-5
0
19
7
0
-28
-8
-9
-22
6
-14
-11
4
-28
-43
7
-2
29
0
18
25
15
-14
18
18
-29
-9
36
8
3
33
-28
10
28
14
20
46
0
1
0
1
0
-1
0
0
1
0
1
1
4
5
0
4
-4
-3
-6
4
16
19
15
-4
-6
-31
-53
-25
14
10
65
9
11
-4
10
25
27
49
-2
-16
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
-1
-3
4
0
-2
-5
-21
25
14
-13
-31
21
8
-13
12
37
-32
-47
26
9
19
-19
5
-22
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-4
0
9
0
12
11
-31
7
5
-5
40
11
0
3
-9
-2
8
10
-6
44
0
11
5
2
3
0
-24
3
-26
-49
25
7
-46
42
0
0
0
0
0
-15
-1
3
-1
1
-1
-2
-8
3
0
48
1
-8
-27
-32
57
32
-7
29
9
-15
-13
12
-2
-2
-14
46
-12
6
-51
-42
0
-22
-22
26
66
1
-49
0
-4
-1
26
11
-23
5
28
16
-13
-19
25
36
32
-7
-12
-28
-5
22
34
-17
-24
-31
2
-23
28
11
-22
12
20
-18
-1
13
1
15
-1
-12
22
-16
7
21
-37
-16
-58
23
-37
30
-2
1
1
0
0
0
16
5
2
0
-1
3
-3
4
1
-7
5
12
12
27
27
-14
-9
-20
27
-25
-8
0
-31
-2
27
16
-1
-5
44
-25
11
8
17
-23
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
2
-5
0
-13
0
-5
-22
1
7
0
-12
37
25
-13
-7
-2
7
-31
25
-14
-7
11
26
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
7
-1
0
4
10
-12
-1
0
16
-12
17
20
0
-5
-21
-25
-1
0
47
20
10
32
0
8
33
27
7
0
-12
-48
15
-23
0
0
0
0
0
0
0
-3
-1
0
0
2
0
5
1
0
0
6
-15
-3
0
4
13
18
-4
0
6
6
-1
-28
0
18
20
24
-21
0
-2
-24
-1
9
0
7
22
-38
19
0
0
0
1
0
0
-1
0
4
0
0
0
-4
4
0
0
29
-22
9
12
0
20
26
-10
4
0
8
-7
-17
-49
0
17
-8
-14
-13
0
-54
42
26
-18
0
-10
-13
19
28
0
0
0
0
0
0
0
0
2
1
0
1
-7
0
0
0
-5
-12
11
-1
0
54
31
11
-3
0
-16
1
-25
-40
0
40
3
-28
0
0
-6
-10
42
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-5
0
0
-43
0
-4
9
0
4
6
16
-30
0
11
-7
7
7
0
-4
-2
40
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-6
0
0
0
-6
1
5
0
0
-1
-3
-12
0
0
45
-6
13
0
0
-2
20
-10
0
0
29
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
8
-1
0
0
3
-3
-6
0
0
-50
6
-3
0
0
-2
-23
-5
0
0
27
24
-33
0
0
5
34
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-5
-3
0
0
6
-1
3
0
0
-3
6
20
0
0
7
9
2
0
0
-28
-12
-5
0
0
48
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
0
0
0
25
21
-14
0
0
-1
0
-9
0
0
-8
23
8
0
0
-3
30
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
5
-5
0
0
-35
20
4
0
0
-19
0
-13
0
0
26
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-5
-6
2
1
0
8
-9
-6
-5
1
-1
-16
16
24
-5
88
17
-58
14
23
-51
2
-3
17
21
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
0
1
0
0
0
10
-1
0
0
8
-21
-19
7
1
17
39
53
13
-12
-22
21
-3
13
36
-15
2
-9
21
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-25
13
-12
3
3
-46
-4
6
4
-19
1
39
11
-1
14
18
4
-3
3
24
-16
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
4
7
4
-20
-7
11
2
-10
-8
-16
15
9
-2
-22
2
44
9
-40
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
2
7
2
-1
9
-12
3
8
0
-1
12
-18
-8
0
-3
-30
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
7
-4
-5
0
0
3
33
2
7
4
-8
-2
7
17
3
5
45
-11
12
-20
-15
-15
-2
20
22
11
38
41
-14
-15
0
0
0
0
0
0
0
0
0
0
4
-7
0
20
0
21
2
3
10
35
-1
-13
-10
15
8
-38
2
33
7
-24
5
-16
-51
-8
0
21
-1
14
20
-1
18
45
66
-9
8
0
0
-1
0
0
8
-1
0
3
0
29
-8
5
8
1
3
-17
10
6
-15
-16
46
4
-5
6
14
9
-51
-9
11
18
16
-33
33
-25
-13
2
28
5
22
69
1
8
2
0
0
-2
0
0
0
1
0
-1
0
2
0
-12
-1
-2
0
14
-11
21
0
5
9
3
-20
-19
8
-9
-14
-17
-13
-17
49
-12
5
8
1
1
99
-27
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
13
2
-1
-7
9
5
-5
2
3
29
-2
-15
2
-2
-18
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-4
-12
0
0
8
12
10
-12
-2
-6
2
8
-31
8
15
15
-7
19
4
23
-71
23
25
14
31
7
-4
5
-18
0
0
0
0
0
2
1
0
0
0
-1
8
-1
29
0
-22
-6
-15
1
16
23
3
-4
5
-16
4
-20
-1
25
-26
-9
17
-3
-4
16
24
6
-38
6
8
1
7
58
6
-20
0
-2
3
16
-6
8
7
22
7
1
1
-4
-10
16
17
10
-8
2
41
-2
67
-12
-12
-34
22
19
-35
-47
29
-12
-16
8
9
17
-12
-123
68
75
-24
22
1
-2
-8
6
-26
0
-1
0
0
0
1
-1
-3
-1
-1
0
-2
0
-13
1
-1
-27
24
-5
-2
9
-42
5
1
8
-29
54
-17
52
-23
34
45
41
-40
1
-27
0
10
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-6
0
21
-14
-7
18
3
-6
-7
5
-7
3
13
30
-12
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
1
0
6
-8
-12
-12
0
-15
-4
-5
8
0
14
-36
17
48
0
-9
26
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-14
-7
19
9
0
-5
-5
0
-7
0
-23
-8
-7
-39
0
19
-12
-4
2
0
-39
-6
-41
30
0
-12
44
-20
9
0
0
0
0
0
0
0
0
2
0
0
3
-1
1
0
0
-8
2
-13
13
0
-30
-2
-19
5
0
0
-4
-63
17
0
-4
7
1
-18
0
-11
22
-21
-28
0
26
5
40
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-14
17
-20
-1
0
5
-42
49
12
0
-16
-4
-32
-24
0
-13
4
14
-9
0
3
15
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
0
-1
0
9
0
0
-8
-4
-9
0
0
-6
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
0
2
-3
3
0
0
-32
2
-5
0
0
-15
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
10
0
0
-11
-41
2
0
0
-33
8
-25
0
0
-16
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
0
0
0
-11
-10
17
0
0
20
-10
-10
0
0
-12
8
-2
0
0
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-7
3
0
0
0
7
-9
5
0
0
-17
-6
5
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
-5
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
2
0
-13
-19
16
-2
0
14
17
0
-15
-2
-7
5
-1
3
22
10
-43
22
19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
-13
6
8
-30
0
-15
32
4
-3
-13
-1
-13
17
-20
13
-25
-1
34
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
-1
0
-2
-1
-5
-15
19
-7
-5
-41
-18
10
20
0
-11
16
-17
23
6
-46
4
-8
22
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
-26
10
0
1
3
52
-7
19
-2
9
4
2
7
10
-29
-38
18
-7
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
5
0
1
0
2
5
-13
8
0
11
-3
1
20
2
-11
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
4
5
-10
0
-25
3
9
-6
4
8
-26
16
0
-5
7
-16
22
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
-2
-2
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-8
0
3
3
-9
5
-5
3
-8
3
2
4
22
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
3
1
-2
4
4
-10
19
-4
-7
-2
13
0
7
5
-7
-1
21
-8
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
0
0
0
5
0
6
1
0
7
3
-4
2
3
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
2
-12
0
-1
0
6
-21
3
-6
0
6
-6
-28
34
0
5
-29
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
-3
7
3
0
-1
1
8
-2
0
13
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
-2
2
-3
0
0
-1
9
7
0
0
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-5
-5
0
0
-5
24
-8
0
0
-8
5
6
0
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
2
1
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
3
6
0
0
4
-44
3
0
0
7
0
-3
0
0
7
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
14
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
2
0
0
8
5
13
-6
2
-12
13
10
-24
-6
-9
37
-12
45
-10
-7
-36
-32
34
-9
30
-28
-15
9
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
8
1
1
13
-6
21
0
-14
32
-25
-3
1
-8
-45
14
3
-4
24
-22
7
19
2
-6
32
11
6
8
-5
0
0
0
0
0
0
-2
1
0
0
2
-2
0
-1
0
-10
3
-2
-2
-1
-5
-12
3
-12
-14
-9
19
-7
3
12
67
9
3
-11
-9
-16
2
7
20
-7
-36
10
55
48
18
0
0
0
0
0
0
-1
0
0
0
1
0
1
-5
0
-22
25
3
-9
1
-20
25
-9
-12
2
-2
-3
-4
-34
6
18
23
4
12
-21
31
-7
-38
6
12
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
9
-2
-6
-8
1
56
-12
-9
-8
18
-23
-22
6
20
-12
-1
-12
10
-9
15
28
40
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
1
-1
-2
-7
19
14
0
22
-27
-25
-31
23
37
35
24
-1
-23
-29
-6
-45
7
27
30
-62
-27
-35
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-20
6
0
0
0
-15
7
15
-31
0
-34
-4
-1
16
3
-17
-92
5
24
13
-58
-65
-11
33
9
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
10
-1
6
0
-13
7
-3
-2
-6
-25
-9
6
30
-2
-71
-124
-7
12
20
-83
23
41
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
1
-3
-9
2
-1
-31
-6
3
-22
3
-10
5
13
-8
2
-12
-11
33
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
-2
4
0
3
-4
-3
7
-3
-30
-14
-9
-23
25
11
38
28
-24
-15
17
46
13
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-17
-4
1
-23
4
-43
-12
0
-34
21
20
-7
11
40
-7
-8
36
-15
-4
-46
3
4
10
31
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
5
4
0
0
1
-43
-19
5
13
3
-14
8
-15
0
10
-3
-83
33
-1
18
-25
-42
2
-7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
1
0
-3
-12
9
0
-13
-8
-20
5
13
0
17
-30
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
3
-1
2
1
-4
-12
-7
20
9
18
-1
17
15
-7
-34
-2
18
-21
10
-9
21
-15
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
12
-2
2
0
-7
-3
-17
2
0
-25
3
10
-20
0
-12
-12
38
-5
0
-47
10
-10
35
0
75
10
7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-1
0
0
0
6
5
12
0
10
-5
-6
2
0
-1
40
4
-3
0
0
-34
17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-29
-2
25
-1
0
0
6
2
14
0
0
6
-21
-5
0
0
24
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
8
1
0
-1
-12
6
13
0
0
-7
0
-1
0
7
0
-1
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
21
-1
0
-6
6
-3
13
0
30
3
-1
11
0
12
11
-21
5
0
-9
-36
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
22
-1
6
0
0
-23
3
12
0
0
12
-6
-1
0
0
14
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
-5
0
5
0
0
-10
-19
13
0
0
29
17
19
0
0
9
-55
-20
0
0
28
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-12
0
0
0
-3
1
0
0
-5
5
-45
0
0
-37
-15
10
0
0
2
-42
19
0
0
-3
-48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
2
0
0
22
6
-14
0
0
6
4
-17
0
0
4
9
7
0
0
-1
-39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
-8
-21
-14
0
0
-8
16
0
0
0
-3
-17
-5
0
0
-27
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
5
2
21
43
14
-2
0
-17
-28
-29
16
-7
12
-30
-12
-14
4
-19
2
29
-11
8
57
-7
59
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
10
9
0
0
10
2
4
-31
-3
5
-30
4
-21
-4
18
4
-2
-5
0
13
20
24
-26
30
43
-9
46
7
-23
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-2
0
-6
6
5
2
-1
18
4
4
6
-6
5
-39
25
-21
0
24
36
-43
13
-4
5
16
28
-25
1
22
29
8
36
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
5
-15
22
-6
5
-5
14
-6
-12
-19
-20
10
16
6
6
-2
18
-4
14
34
51
4
-13
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
2
-1
0
-9
8
-22
21
-3
0
7
31
6
2
-14
-1
31
-3
-24
1
19
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-8
-4
5
7
-2
7
6
9
-16
-68
-1
8
12
28
45
12
21
-15
-1
-18
9
11
5
0
12
9
-7
22
0
0
0
0
0
-1
0
0
0
0
-2
14
-3
-7
1
6
-16
-1
17
1
-8
-8
-1
-2
0
-17
-34
22
-19
38
62
52
24
24
-8
-47
-66
54
-9
-3
-102
5
-90
2
-20
0
0
1
0
0
8
-2
-3
2
0
-9
-13
-1
-1
0
38
1
19
-1
-5
8
-17
17
34
-2
-5
3
-9
4
28
-5
-15
11
-39
83
-83
-12
-9
38
8
-24
-57
30
-27
-31
0
0
0
0
0
2
-3
1
-1
0
1
7
-5
-5
-1
24
-33
45
14
-5
10
-4
22
58
10
-34
-19
-43
-19
-8
-37
37
-30
-8
5
2
-28
-8
11
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-4
0
-3
-1
-3
7
-7
-8
-1
30
12
18
9
0
-14
-59
14
1
-17
27
16
12
-12
-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
4
0
4
0
24
7
22
37
-3
31
18
-48
7
-8
51
16
8
-33
-6
-25
-32
6
1
1
-23
-17
6
-17
16
0
0
0
0
0
0
0
0
1
0
3
4
1
-3
-4
-42
-5
-27
-7
28
-43
-5
-3
-15
11
-50
25
-16
38
-8
28
-46
17
11
19
-55
15
26
14
-2
28
7
9
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-4
0
1
5
-1
9
0
3
-31
-20
8
2
-30
43
-24
48
2
5
-6
8
-25
-42
11
-36
-1
35
-10
4
2
-30
-29
15
0
0
0
0
0
0
0
1
0
0
1
0
0
-2
0
0
1
0
0
-1
2
4
-6
-2
5
11
-21
21
-7
11
5
-16
-9
-18
3
-48
-26
16
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
1
0
1
-6
20
-5
0
-20
31
9
-9
0
-15
36
-27
8
0
38
-38
-23
-26
0
-18
4
47
63
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
-2
1
0
10
43
-1
-17
0
-18
23
-16
0
0
23
-50
-12
1
0
-36
30
-7
12
0
-43
44
-12
25
0
6
20
90
-8
0
0
0
0
0
0
0
0
-1
-1
0
1
-5
-8
0
0
-4
-17
-1
-39
0
19
-49
-33
7
0
22
-21
-50
-22
0
-67
41
55
48
0
59
-20
-9
-6
0
19
10
-7
45
0
0
0
-3
0
0
0
0
1
0
0
0
1
-5
1
0
-6
-15
-7
0
0
-10
-7
-36
7
0
17
-6
37
16
0
7
7
25
-16
0
-10
40
-16
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
7
21
15
4
0
13
-2
-14
6
0
-18
-41
-5
7
0
-20
11
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
2
-8
0
0
30
-3
-10
0
0
-2
32
5
0
0
-46
-3
-45
0
0
6
-12
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
5
8
0
0
31
-11
4
0
0
-43
12
9
0
0
-52
-16
-8
0
0
26
-23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
-4
18
0
0
0
4
-8
1
0
0
-10
3
2
0
0
-6
-24
-6
0
0
-8
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
0
0
-5
13
-3
0
0
-15
-29
8
0
0
12
4
-18
0
0
15
-54
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
-3
-2
0
0
12
-19
10
0
0
-16
-3
8
0
0
-12
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-1
14
6
-2
0
-23
15
27
-2
0
30
45
-47
-9
-1
24
2
44
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-5
-10
8
-16
0
26
-10
4
8
2
22
34
-25
3
-27
7
-5
-30
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
-3
3
-1
0
20
8
1
-7
0
-37
5
19
1
24
8
-17
-9
-7
0
7
29
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
2
0
-31
-6
6
-3
4
-7
-23
6
8
0
-1
47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
0
0
20
-4
-1
-3
0
0
-5
-2
0
0
-7
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
4
-3
1
0
-1
-16
-8
4
0
-3
-14
-6
2
4
22
62
33
-26
-17
-13
-7
-16
66
-34
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-16
-2
15
7
-2
-4
5
-22
15
-5
-17
-14
-29
-32
-30
-9
-19
13
11
18
-16
-18
-46
70
-12
88
45
70
-19
-6
0
0
0
0
0
6
-2
0
0
0
6
10
0
7
-1
-5
0
-5
-1
1
-2
-33
-8
2
5
-24
-48
-6
3
-14
56
-9
41
18
-10
15
26
-35
-14
-10
44
65
42
-9
-6
0
0
1
0
0
-2
0
0
0
-1
1
2
6
0
0
-20
2
9
4
-8
-35
24
-5
24
-3
68
1
8
-6
7
2
-17
24
16
-4
1
42
-34
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
2
-3
0
-1
-10
0
-1
-1
-2
12
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
-10
1
0
0
-8
0
6
0
-3
-19
3
-4
9
-9
26
-40
21
-8
50
49
-11
-18
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-6
3
-13
-6
-30
15
-17
-36
-13
40
-5
18
-42
-20
16
5
9
15
13
8
42
8
0
-7
-38
-21
-29
38
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
0
0
0
-1
1
11
-6
7
4
0
-13
2
1
13
-13
47
-28
28
-42
-11
13
26
-36
-1
-8
-11
26
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
6
1
0
0
0
3
-2
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
0
12
-3
0
19
18
-1
1
0
-24
-56
-3
6
0
11
12
26
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
-33
-9
-3
0
-9
-12
10
-9
0
51
28
16
17
0
0
4
11
-14
0
-6
-5
10
-9
0
-35
-17
-43
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
14
6
0
-23
-2
26
16
0
3
-7
49
5
0
7
-12
-3
-22
0
12
9
-22
1
0
16
-42
-18
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-7
-13
8
0
0
0
-2
-40
-7
0
-22
-51
-42
22
0
21
-14
-5
2
0
-6
38
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-2
1
0
0
0
0
3
-3
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-16
0
0
0
23
-2
12
0
0
-55
20
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
3
0
0
0
-8
12
-2
0
0
-5
-32
17
0
0
-3
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
1
0
0
0
7
3
-11
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-12
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
3
-32
3
0
0
1
-23
-18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
1
0
-11
7
30
1
0
-4
-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
31
0
0
0
0
0
13
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
-5
-1
-12
0
1
17
4
0
-9
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-3
1
0
2
-5
0
1
0
-3
-27
7
5
0
-15
21
2
-6
-1
46
27
45
22
-9
86
13
-9
-13
-2
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
1
-1
-1
-1
-7
0
16
9
0
8
18
20
-9
3
26
15
13
28
9
41
25
-31
-17
-8
3
-32
3
3
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
-18
5
2
0
-13
33
10
-3
2
3
0
10
4
3
-17
14
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-2
0
0
12
1
5
0
-25
-5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
1
0
8
-7
-24
-24
7
-19
7
-16
17
-13
4
30
2
-16
-5
16
-6
43
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
1
0
0
-2
-22
-5
-42
-18
-1
-4
19
0
3
-1
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
-16
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
5
3
1
-8
0
3
-12
-2
8
0
-2
9
-47
-48
0
-1
3
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-3
0
13
6
-13
-3
0
10
-23
-5
-2
0
2
-1
-20
-16
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
-4
-10
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
2
-4
-4
-3
-18
-1
1
-10
-2
-13
8
-1
-6
-15
25
-12
-13
16
-3
-18
0
35
-27
-15
-7
26
-20
24
2
-2
-34
-36
53
0
0
0
0
0
4
5
0
-5
0
4
-7
-16
3
-1
-13
6
-9
-3
-4
32
37
-21
15
-15
-25
-48
8
17
20
25
68
41
0
10
-17
1
-11
-15
-15
-49
-51
-27
-3
41
2
-2
0
0
0
-1
5
2
-2
1
-1
10
-1
6
2
8
-1
-9
30
22
25
-30
-2
11
2
-1
-31
-43
-33
-15
-23
61
21
-46
16
-8
7
19
-11
-45
1
-28
0
64
-11
-1
0
2
0
-2
-2
5
-1
-1
0
-23
2
-6
1
13
-12
-5
-7
-13
-13
30
18
7
1
-9
29
2
-69
-24
-17
-26
32
17
39
9
-74
-5
62
-28
8
0
0
0
0
0
0
-3
0
1
0
16
2
-1
-5
0
4
-5
-3
8
0
4
-35
-4
-8
-4
-30
41
-3
5
10
-18
-13
-5
-38
20
3
-9
32
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
18
5
-5
6
-13
-4
-7
-8
-15
9
8
1
-8
-13
-12
-57
-28
29
29
8
0
9
4
15
-33
42
-11
-12
-13
-1
2
-7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
2
-5
-1
3
1
-18
-4
4
1
0
8
7
-5
24
-7
24
-54
11
27
19
1
19
-3
-19
5
-26
18
6
28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
-12
-5
-27
37
-20
14
8
-43
-39
-19
18
-6
28
15
-18
22
9
1
-4
38
-3
-18
3
12
-15
-61
16
-65
12
17
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
10
0
0
-6
-1
4
8
2
-6
0
4
-4
-38
63
-2
-1
-4
4
-16
16
7
15
26
-23
-26
-53
-10
-30
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
2
-2
0
-12
-31
6
9
0
-22
13
3
-12
0
-36
3
4
23
0
21
-14
-2
8
0
-46
-3
-6
-10
0
21
-18
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-1
0
-5
-4
9
0
0
9
-15
5
2
0
-9
-23
-18
-8
0
-12
-22
-4
-5
0
-3
6
-26
3
0
20
27
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
44
2
0
0
-3
2
28
0
0
-3
-4
22
0
0
-3
-19
-7
0
0
-20
52
-3
0
0
-9
-7
-35
0
0
18
16
59
0
0
0
0
0
0
0
-5
7
0
0
0
0
-25
5
0
0
23
35
-1
0
0
-19
-19
15
0
0
-24
56
-17
0
0
-41
15
-7
0
0
-34
0
-13
0
0
92
6
8
0
0
7
0
0
0
0
-1
-3
0
0
0
-3
27
-1
0
0
-4
-10
13
0
0
13
-3
-5
0
0
-31
-9
38
0
0
9
-24
-8
0
0
40
-2
33
0
0
-10
50
-29
0
0
0
0
0
0
0
14
-16
1
0
0
6
20
8
0
0
9
-25
8
0
0
3
7
-19
0
0
-37
42
25
0
0
27
3
-12
0
0
34
-10
-33
0
0
0
0
0
0
0
0
-7
-1
0
0
-4
1
12
0
0
4
10
0
0
0
-11
32
0
0
0
-34
-33
11
0
0
-22
3
22
0
0
22
-25
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
4
4
1
6
0
-17
-11
2
9
28
-24
-7
1
3
-11
6
-6
-4
25
-6
14
3
17
5
-14
-29
20
-11
30
-26
0
0
0
0
0
0
-2
1
0
0
0
2
0
2
1
9
-1
-9
-5
4
9
24
4
4
9
8
8
-13
-22
-2
-27
-30
-2
-2
0
-31
41
-12
21
-3
53
41
5
2
-41
0
0
-1
0
0
-1
-1
0
2
0
2
1
0
-5
0
-4
-29
28
-19
3
-24
11
20
6
-1
-14
33
-14
24
-8
36
-10
-17
31
2
20
-6
-49
0
-1
57
-35
21
-25
-25
0
-2
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
1
-7
-2
-1
-12
5
-19
1
3
-6
-40
19
13
1
31
54
-11
-6
-17
7
29
-22
9
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-1
0
-2
2
2
0
0
1
1
-6
-10
-1
7
-1
-25
4
3
16
-22
5
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-9
0
7
-1
-9
15
20
7
-29
2
-9
22
-20
4
11
15
20
67
18
-8
50
-63
-12
-2
14
-62
-23
6
-19
0
0
0
0
0
0
-2
-1
0
0
1
-1
1
2
0
-21
18
33
-1
-19
-8
27
-10
5
14
-45
1
-6
-6
-10
36
-10
-9
31
24
49
-17
19
-40
-4
8
8
6
8
-5
1
0
0
0
0
0
1
0
0
0
-6
-2
2
-1
-3
-3
-1
-20
37
15
-7
15
29
0
-6
1
-33
26
-33
4
9
-8
6
6
0
-15
29
7
-29
-8
0
12
-1
16
3
0
0
0
0
0
-2
0
-3
0
0
0
1
-6
8
0
-1
-6
5
2
5
4
12
-4
-19
3
9
-15
9
0
-9
-21
-28
16
13
10
15
-1
-3
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
0
0
0
-5
7
-3
0
-3
-12
-3
6
-1
10
5
-2
-2
-7
-7
24
-18
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
4
-24
9
0
-3
12
21
-10
6
-19
-45
11
-14
-15
20
-49
46
17
18
-12
49
-90
38
-16
6
12
21
-15
21
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
11
0
-2
-8
-13
-6
17
0
-46
0
33
-7
4
58
28
-4
-9
8
8
-15
-10
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
3
3
1
0
0
-1
14
-2
-7
-3
-22
-19
6
9
-8
8
-14
9
-9
0
5
-3
6
-3
-20
-7
20
-8
15
6
-2
13
-9
-18
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
-2
-3
-4
1
-1
-2
1
0
3
3
-1
-13
-8
7
-1
42
-8
17
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
1
0
6
2
-1
-1
0
-6
12
2
22
0
-19
4
-6
19
0
-11
9
-4
-7
0
38
-30
9
9
0
32
21
-22
-19
0
0
0
0
0
0
15
-2
1
0
0
-2
-3
0
0
0
12
-21
0
-6
0
9
-19
13
-4
0
50
-14
-1
2
0
4
21
3
-5
0
-29
23
-4
6
0
3
-27
-4
0
0
5
1
-2
0
0
0
1
0
0
0
2
-3
15
0
0
-13
-14
-5
-10
0
-27
35
-14
2
0
-17
-29
24
1
0
3
35
-3
-5
0
35
-13
0
8
0
-6
-7
-19
0
0
0
0
0
0
0
-1
-1
1
0
0
5
-3
6
1
0
2
-12
-2
1
0
-7
-7
23
0
0
5
20
11
1
0
1
4
8
25
0
9
-26
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
-3
0
0
2
8
-2
1
0
9
5
14
0
0
-8
-3
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
-3
-2
-4
0
0
15
-9
0
0
0
-29
-17
2
0
0
-8
19
-1
0
0
1
19
12
0
0
17
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
14
-1
0
0
-21
-12
-2
0
0
18
6
2
0
0
-4
-2
17
0
0
-5
-43
-8
0
0
8
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
-8
-1
1
0
0
-5
4
-5
0
0
15
-13
0
0
0
-8
8
20
0
0
41
10
7
0
0
-5
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-5
-2
0
0
-3
-10
7
0
0
-8
7
-5
0
0
-5
5
6
0
0
-8
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
4
-2
0
0
1
2
2
0
0
-8
-3
-8
0
0
2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
12
-16
4
-3
0
17
-29
-4
-17
0
0
-7
15
0
-4
-2
55
-3
2
9
-48
5
29
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
0
-1
0
-3
-4
0
-9
-9
2
17
-6
25
3
8
0
2
-9
45
7
1
-12
58
-9
8
18
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
-1
0
2
0
0
-6
0
0
1
2
0
-1
-8
-1
-2
-10
0
0
2
3
33
8
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
-3
2
2
0
0
-9
20
-3
0
0
-2
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
5
-1
0
-19
3
-2
-5
-2
-22
8
23
7
-7
13
-2
23
-25
-1
8
6
-5
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-13
21
-1
-3
24
-14
11
3
25
8
7
10
-19
-39
35
11
-5
-12
-1
16
22
4
25
-29
8
24
18
-5
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
-8
2
10
-4
-3
-11
-4
14
-7
6
-18
-2
-9
9
0
26
-15
31
27
10
27
42
20
-6
-6
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-2
-7
0
-1
-1
13
-15
8
0
-12
21
-5
-11
0
-4
-8
7
-6
-1
-3
7
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-8
0
-1
0
-8
0
-17
8
-4
5
-12
-4
6
-5
12
-13
4
-9
20
12
0
-16
22
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-5
0
8
5
8
-42
-5
1
-10
31
27
2
7
4
1
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
0
2
2
-3
4
11
-3
0
-6
-8
-5
-1
-1
-3
7
5
8
4
4
9
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-4
-1
6
-1
0
11
-18
25
-2
0
-30
-4
-4
16
0
25
4
19
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-2
-18
-25
0
0
15
17
4
36
0
21
-4
-1
-3
0
-23
-16
18
0
0
14
-5
-8
-7
0
2
4
8
5
0
0
1
0
0
0
-1
0
0
0
0
2
1
-1
0
0
-11
37
3
-3
0
-15
-13
15
-19
0
6
9
9
-8
0
-1
-15
-10
6
0
6
31
20
4
0
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
2
0
2
-1
0
8
2
-1
4
0
3
1
2
2
0
8
4
5
-6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
0
-2
5
-4
0
0
-13
-22
1
0
0
7
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
4
-13
0
0
0
2
0
-1
0
0
36
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
2
-2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
0
-1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
-10
-7
14
11
-49
-13
2
17
16
19
20
-11
10
-40
6
5
1
17
0
7
-11
-18
-9
-41
-49
7
47
-2
0
0
0
0
0
-1
0
0
0
0
-1
-9
-2
-11
0
-13
-33
-5
1
-6
7
7
-15
30
-5
12
27
-6
-9
5
23
-7
5
4
6
9
1
-21
20
-13
-57
-11
-25
17
36
0
0
0
0
0
0
0
0
1
0
0
-1
0
5
1
7
-5
-16
-30
1
-12
-15
8
19
-1
7
15
0
2
-1
-11
-9
-23
0
-1
-30
21
-3
32
4
-67
-29
-3
-8
2
0
0
0
0
0
0
1
-1
0
8
1
1
1
-3
2
-1
-4
-16
14
0
12
7
0
1
0
-10
-6
20
2
4
51
-7
7
-4
-3
-69
-2
40
-9
6
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
-2
3
-2
0
-3
-1
-1
-5
-2
1
0
10
-24
-3
3
0
-8
7
-1
5
12
19
14
16
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-13
-4
-3
10
-3
-6
21
0
-35
-20
-14
-10
-5
7
-19
47
-10
0
15
-11
-25
11
-6
-28
-16
3
8
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
1
-4
-4
2
0
-8
1
-2
-8
-2
1
9
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-19
0
53
-13
-35
-10
-7
-10
-33
6
20
-4
-25
-21
15
4
-3
-23
5
-32
-6
-13
10
-10
-3
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
3
6
-5
-1
0
-4
12
2
-2
0
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
-2
0
-3
-41
-12
-18
0
-30
42
-22
-12
0
3
7
-7
-4
0
12
-24
4
3
0
-6
-11
23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-1
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
2
-2
0
0
4
-6
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
11
0
0
-21
-19
11
0
0
-6
-17
-18
0
0
6
2
33
0
0
3
27
0
0
0
6
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
-34
-18
-6
0
0
-30
13
-9
0
0
8
13
5
0
0
3
-41
3
0
0
6
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-8
2
9
0
0
0
0
8
0
0
1
-2
1
0
0
3
6
6
0
0
1
-18
-1
0
0
0
3
0
0
0
0
0
2
0
0
-1
0
-2
0
0
7
-4
0
0
0
0
12
-1
0
0
0
1
1
0
0
2
-12
-4
0
0
-4
-4
-7
0
0
-2
2
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
-2
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
3
27
0
-12
40
11
-4
7
0
8
8
-3
-29
43
-35
-39
-4
12
-19
-23
15
-19
13
-28
17
4
-13
-71
-13
-8
-15
37
4
0
0
0
0
0
7
0
2
-8
0
14
0
8
-18
-1
-25
20
-11
-1
-25
-12
-40
-35
20
6
-50
61
-25
-16
-6
11
-20
22
8
-4
-47
-56
-2
5
31
-72
-29
-5
25
8
1
-1
-1
0
0
-14
-2
1
-13
-5
8
4
1
3
-33
-52
-14
32
9
19
3
12
-2
-4
8
16
0
0
-40
-2
-14
-14
5
2
-7
-35
-15
-22
-4
42
-31
1
15
59
40
-1
-1
0
2
1
-3
15
-4
12
-3
-29
10
-14
-27
14
30
-4
22
-3
18
7
12
13
11
-8
-18
-37
21
-30
-1
-12
-6
39
5
11
-53
-9
-61
16
-22
0
0
0
0
0
1
-3
0
0
0
-13
-3
6
5
0
-27
2
3
2
0
-6
-21
20
-18
11
-5
4
15
-4
-4
-4
-45
-6
18
-2
-14
59
-21
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
0
-1
5
3
-5
7
31
0
-25
14
6
28
-49
3
32
1
-58
-16
34
-3
4
10
46
12
4
-27
-8
-41
-10
-17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-22
2
0
-4
-26
-8
3
0
10
0
-8
-3
0
-3
-9
13
-8
0
-10
1
5
3
1
0
2
-1
-4
0
0
0
0
0
0
2
0
0
0
0
0
1
-1
0
0
2
3
2
4
0
-2
-1
-8
1
0
0
-9
12
0
0
16
-5
0
4
0
-14
26
5
-4
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
0
0
-5
-1
0
0
0
-7
8
5
0
8
4
0
1
0
1
-5
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
5
0
1
4
-4
0
1
0
-19
-4
-4
0
43
22
11
15
-26
-14
-51
-23
-8
-13
2
-8
-8
17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-46
-19
-11
-16
-5
-49
37
-6
3
-3
16
31
6
-6
-11
-31
-16
-26
16
-6
17
-40
-7
24
-17
46
-31
-79
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
0
0
-2
20
-3
11
0
-3
-42
-18
13
5
0
-14
25
5
-2
0
2
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
1
0
0
0
0
-2
0
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
-4
1
4
-1
0
7
-13
-2
-1
-8
14
10
-3
-2
-1
6
21
3
-6
1
-6
34
4
-20
-50
-2
-23
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
0
-20
5
-43
6
0
-38
9
16
11
0
45
15
3
-16
0
-3
32
26
7
0
10
2
-10
-36
0
-26
10
-14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-39
4
1
0
2
-3
9
-3
0
-8
1
-3
21
0
6
8
7
2
0
0
-3
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
-1
0
0
-5
13
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-6
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
5
0
27
0
-10
0
0
-8
12
20
-3
0
-2
1
-26
-4
0
-12
-2
-12
-24
0
-7
20
9
5
0
-19
3
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
-1
0
0
-6
-16
-9
0
0
-32
28
25
0
0
-3
-45
-15
0
0
8
36
2
0
0
-29
-5
-30
0
0
-4
-10
9
0
0
0
0
0
0
0
-16
8
-1
0
0
-1
-23
4
0
0
-22
0
-8
0
0
28
14
-7
0
0
-2
9
10
0
0
-24
0
-1
0
0
-1
2
-8
0
0
17
25
37
0
0
0
1
0
0
0
-3
6
-3
0
0
-15
-20
19
0
0
-6
-6
-5
0
0
-6
-5
-38
0
0
-31
17
-22
0
0
27
41
28
0
0
-10
-19
-6
0
0
-24
-15
7
0
0
0
0
-2
0
0
4
-9
-2
0
0
-5
1
17
0
0
9
-42
-15
0
0
-5
7
18
0
0
13
-47
1
0
0
13
2
-24
0
0
-9
21
-7
0
0
0
0
0
0
0
5
16
-6
0
0
-15
-5
-1
0
0
4
8
-1
0
0
5
-12
8
0
0
-6
18
-3
0
0
4
4
-6
0
0
12
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
15
-7
6
14
-8
-22
14
1
-8
16
17
-30
-24
-30
-21
35
-24
9
29
3
-57
48
11
22
13
-68
59
-11
-13
15
0
0
0
0
0
0
-1
-2
0
0
-2
-1
0
24
0
27
-5
4
3
-3
-27
-40
18
16
0
-31
-6
-23
-4
-7
-10
9
39
13
-1
-28
6
56
21
3
74
-17
-48
-29
-34
0
0
0
0
0
0
0
0
3
0
1
3
1
-7
1
13
-10
-4
0
-2
9
6
-10
12
1
4
0
15
-9
2
7
-21
-6
4
5
-24
-13
-23
18
-3
-4
13
5
-8
4
0
0
-1
-1
0
0
-2
0
0
0
1
0
4
15
-1
-13
7
7
5
-1
2
24
-9
16
-1
-7
-54
-27
-2
8
-9
18
-11
-19
6
-77
72
16
-1
9
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
-6
0
0
0
0
3
-2
-5
-1
0
-3
0
6
-8
-22
-7
-10
-8
16
13
-11
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-8
-18
1
-17
36
6
1
-7
24
28
18
-51
-12
-7
61
2
-36
4
-10
-90
6
-1
-8
32
-22
19
7
-35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
15
-6
29
0
-11
-16
3
-7
-6
1
-10
1
-16
15
-1
24
13
-12
-7
22
-33
-13
-6
2
12
-16
-24
8
0
0
0
0
0
-2
0
-3
0
0
9
-4
2
14
0
-7
20
-8
-3
13
-14
13
-46
15
-10
3
7
9
12
1
-48
13
-2
11
6
10
-30
-1
-6
-10
-3
23
2
-57
19
0
0
0
0
0
0
-1
4
0
-1
-4
8
5
-21
0
-2
17
10
-20
10
-2
12
-1
-1
-8
-4
-7
-26
32
-13
15
-12
12
4
7
-55
-5
-42
13
13
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
1
0
1
0
0
0
5
-7
-1
0
1
-13
8
-10
1
-14
21
5
-9
-14
-36
7
-17
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
2
-1
1
3
-22
11
3
-28
8
27
-10
6
-12
-9
-3
15
-41
1
11
23
35
-14
-34
-42
-1
5
4
-74
-18
3
20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
3
3
1
-5
-4
-10
2
5
56
-8
-41
-10
11
-25
16
22
3
-2
0
2
-19
-24
0
0
-17
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
-1
-2
0
-3
-2
7
5
-2
2
16
-18
-6
-1
-1
5
12
-23
-7
0
4
-5
-4
-13
2
25
-27
11
12
-1
-5
6
-16
-25
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
2
1
0
0
2
-10
0
0
0
-5
6
-1
3
-7
12
3
1
0
1
14
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
7
-2
-1
0
29
-8
11
10
0
-11
-5
23
1
0
16
9
-6
15
0
-51
-20
-8
-7
0
8
-24
8
-33
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
2
-1
0
-3
-6
-4
-10
0
-1
-32
44
26
0
-31
-6
-25
-26
0
-30
53
3
0
0
18
18
-28
-5
0
13
-11
4
-1
0
8
0
0
0
0
0
0
-2
0
0
-11
-5
14
-2
0
-4
-28
0
19
0
3
-17
-2
-9
0
-59
-5
4
-1
0
-18
33
32
-17
0
16
-29
5
7
0
0
-18
22
-4
0
0
0
0
-4
0
0
-2
1
0
0
-1
0
-6
-3
0
2
0
-18
-1
0
-20
-25
38
7
0
6
11
-49
-3
0
3
-35
28
20
0
13
6
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
2
0
4
-2
-5
0
0
3
0
-9
2
0
1
-10
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-1
-28
0
0
5
8
-2
0
0
14
10
18
0
0
6
3
10
0
0
-24
-16
-23
0
0
23
11
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
3
0
0
13
-26
11
0
0
-2
-24
16
0
0
4
26
-11
0
0
-3
26
-5
0
0
-39
0
-24
0
0
-24
15
3
0
0
0
0
0
0
0
0
-1
2
0
0
2
-14
0
0
0
-5
13
3
0
0
-14
-20
9
0
0
-23
-28
5
0
0
-3
4
-8
0
0
8
-1
1
0
0
-2
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
0
-7
-5
4
0
0
25
-15
-4
0
0
-8
0
1
0
0
-8
4
6
0
0
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
3
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
2
25
-6
4
0
-3
-36
1
0
0
24
41
7
-12
-2
-25
19
14
-8
0
-30
6
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
0
1
-10
-9
-1
0
4
4
6
2
0
21
12
1
-19
0
-50
-13
11
23
19
-12
-2
1
-5
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
-2
0
0
0
0
-4
0
-1
3
7
3
0
-4
5
5
4
2
4
-31
30
2
-3
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
-5
-3
6
0
-8
2
4
-1
1
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
-2
3
0
0
3
27
-14
-5
-7
16
1
18
4
-24
-12
-23
7
-5
1
-18
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
1
-40
1
0
9
13
11
6
12
11
-42
0
-3
12
5
4
21
-8
6
3
30
-46
-29
-2
-8
-1
14
12
-7
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-3
0
-2
-6
1
16
-3
-5
-5
-6
10
-6
3
-11
11
-17
-1
4
6
14
20
6
9
-26
-18
20
-5
0
0
-17
-2
0
0
0
-1
0
0
0
1
-1
0
0
0
0
0
-1
0
0
-1
7
0
1
-7
3
2
0
1
12
4
-3
-7
-5
29
23
-30
2
-5
1
6
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
-1
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
3
2
12
-25
7
-5
1
15
38
1
-25
8
8
-8
-8
8
1
4
8
3
13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-2
0
17
0
-8
2
7
-9
7
-2
-9
0
8
-5
-3
-9
-14
-10
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-2
0
0
1
2
0
8
0
0
2
10
0
-3
1
12
-12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
5
0
0
7
4
-1
8
0
25
15
6
-1
0
20
6
-3
-2
0
6
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
4
17
-5
0
-16
5
-9
4
0
22
-28
-3
-14
0
18
-10
-27
7
0
-38
5
0
-2
0
-2
10
-29
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
0
0
5
9
-6
-4
0
12
0
26
0
0
-21
-4
-13
-1
0
13
2
4
7
0
-2
-10
-14
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-3
-1
3
0
3
2
2
-1
0
4
2
-7
1
0
1
8
-5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
-2
0
0
-3
-18
-1
0
0
3
16
0
0
0
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
2
1
0
0
8
3
0
0
0
-2
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
2
0
0
0
7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
2
0
1
-1
1
0
0
-28
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
-17
7
6
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
-1
0
0
-5
-1
0
0
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
8
-4
0
-5
30
7
8
0
8
-19
-2
2
0
-4
-13
2
3
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
0
3
0
0
0
21
0
3
-1
6
19
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
-5
-1
1
0
-4
5
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
-2
0
-13
0
9
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
-1
1
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
-27
-2
0
0
0
-12
-3
0
0
0
20
0
3
0
0
1
-6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-1
-2
1
-1
0
5
0
1
0
0
-7
-1
8
1
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
-118
-158
-134
67
-56
12
-20
21
-96
-2
-17
-37
-14
-3
0
103
9
42
18
-64
8
11
1
-2
-29
-24
0
25
8
0
0
-22
-30
-130
-80
21
-5
20
-55
-46
-64
-20
-64
-69
-11
-11
0
76
38
-8
-10
-13
-21
-16
-17
-8
26
-32
-32
-5
-15
0
0
-57
0
12
-14
-28
-44
-4
-57
-20
-9
7
-83
-11
47
5
0
9
-26
8
43
-16
63
-14
-17
8
-33
-7
-45
109
-32
0
0
-3
25
-21
22
-71
-1
6
48
68
11
67
-41
-5
69
-26
0
-3
-54
-8
38
25
-2
25
-43
6
-74
15
-22
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-157
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
7
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-25
53
0
0
0
0
0
0
0
0
0
0
0
0
0
21
37
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
-15
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-22
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-50
19
43
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
-99
-9
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
-4
69
-56
43
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
-17
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
-74
13
0
2
0
0
0
0
0
0
0
0
0
0
0
-18
18
-3
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-30
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
25
-21
-19
1
1
0
0
0
0
0
0
0
0
0
0
-2
-15
-9
-10
-50
-20
0
0
0
0
0
0
0
0
0
-1
0
7
4
15
-10
-10
-20
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-7
-34
-44
8
1
0
0
0
0
0
0
0
0
0
0
-5
-1
41
-12
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-9
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
-73
23
-8
-25
0
0
0
0
0
0
0
0
0
0
0
-6
-104
-47
-64
1
14
0
0
0
0
0
0
0
0
0
0
0
-5
-23
2
4
6
-74
8
19
0
0
0
0
0
0
0
0
1
15
11
-1
53
-34
11
-42
-5
0
0
0
0
0
0
0
0
0
0
132
42
-36
52
-20
-63
0
0
0
0
0
0
0
0
0
0
-4
29
10
96
-19
-127
-30
0
0
0
0
0
0
0
0
0
0
0
-9
92
-2
196
-17
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-35
-26
-55
27
0
0
0
0
0
0
0
0
0
0
0
-1
-150
-45
-8
64
-77
0
0
0
0
0
0
0
0
0
0
0
0
-70
-62
25
-26
-52
-1
1
1
0
0
0
0
0
0
0
0
-1
12
-37
73
-10
72
-24
12
0
0
0
0
0
0
0
0
0
0
-15
39
-48
-137
-93
84
12
-1
0
0
0
0
0
0
0
0
0
39
-46
68
-50
-53
58
-23
0
0
0
0
0
0
0
0
0
0
2
-128
-6
-80
-2
126
0
0
0
0
0
0
0
0
0
0
0
-48
-5
-71
18
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
15
1
-37
0
0
0
0
0
0
0
0
0
0
0
-8
4
21
17
-28
18
0
0
0
0
0
0
0
0
0
0
0
6
-1
-15
43
-9
-56
-9
0
0
0
0
0
0
0
0
0
0
4
-8
20
-14
-56
-8
-3
1
0
0
0
0
0
0
0
0
-1
0
0
29
8
-17
-8
-8
0
0
0
0
0
0
0
0
0
0
0
5
-3
-30
-8
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
22
18
8
-1
-2
0
0
0
0
0
0
0
0
0
0
-3
-1
3
10
1
-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
-5
77
-16
-116
-26
-35
-20
0
0
0
0
0
0
0
0
0
0
57
79
-18
0
-6
-57
0
0
0
0
0
0
0
0
0
0
0
129
92
-23
-33
61
28
75
-53
-4
0
0
0
0
0
0
0
0
51
57
1
7
48
31
77
-16
-3
0
0
0
0
0
0
0
0
32
39
8
-45
-29
56
27
-19
0
0
0
0
0
0
0
0
0
38
107
47
-12
-8
-4
-19
1
0
0
0
0
0
0
0
0
0
-58
85
59
52
105
64
-3
3
0
0
0
0
0
0
0
0
0
36
2
0
-29
-17
-23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-43
14
-83
50
0
0
0
0
0
0
0
0
0
0
0
-1
14
-78
-32
-1
152
0
0
0
0
0
0
0
0
0
0
0
6
20
11
41
139
123
-33
27
5
0
0
0
0
0
0
0
0
0
9
-48
14
36
-44
-169
44
0
0
0
0
0
0
0
0
0
0
7
-70
-46
100
-85
-254
0
0
0
0
0
0
0
0
0
0
0
20
39
-32
66
-128
-34
-70
0
0
0
0
0
0
0
0
0
0
-1
18
-3
1
25
-255
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
33
23
85
65
0
0
0
0
0
0
0
0
0
0
0
-4
-26
-14
-40
-108
23
0
0
0
0
0
0
0
0
0
0
0
5
14
17
-48
19
60
0
0
0
0
0
0
0
0
0
0
0
0
15
-50
-22
3
35
0
0
0
0
0
0
0
0
0
0
0
1
12
-35
62
-15
78
-5
-1
0
0
0
0
0
0
0
0
0
8
1
-66
-78
38
40
-7
0
0
0
0
0
0
0
0
0
0
0
5
-22
1
32
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-27
-1
-62
-5
-18
62
0
0
0
0
0
0
0
0
0
0
15
18
-22
42
-46
-2
28
0
0
0
0
0
0
0
0
0
0
-1
-5
124
47
-14
-17
-62
-2
-1
0
0
0
0
0
0
0
0
0
75
18
21
75
30
110
2
-48
0
0
0
0
0
0
0
0
0
24
-9
1
-12
40
10
-23
-8
0
0
0
0
0
0
0
0
9
7
-13
-30
-60
-46
2
9
-14
1
0
0
0
0
0
0
0
8
-5
-55
-23
-35
-6
-9
-87
27
0
0
0
0
0
0
0
0
-5
1
13
-14
36
-42
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
51
-27
-9
-21
-32
-22
-74
0
0
0
-8
0
0
0
1
0
0
55
31
18
1
-4
-18
12
0
0
0
-4
12
0
0
0
0
0
43
48
1
-4
22
-16
-30
-81
-93
24
-3
2
0
0
0
0
0
-48
34
20
7
5
-23
-27
-55
-31
49
-7
0
-8
0
0
-1
0
14
6
-9
16
5
22
-28
-20
-68
-14
-4
-12
-4
1
0
0
0
47
25
8
-18
-20
-5
-37
-18
-3
-55
1
3
-2
0
0
1
0
41
105
54
-18
15
-16
-4
-20
23
7
10
0
0
0
0
0
0
8
21
50
87
-7
57
-54
-86
74
23
-1
0
0
0
0
0
0
-12
-6
8
27
55
-112
15
6
-20
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
38
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
67
20
16
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
61
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
4
65
-18
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-20
53
-25
55
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
-31
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-10
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
60
-29
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
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
9
-16
23
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-55
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
30
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-23
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
-7
-8
25
19
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-3
-14
9
7
-2
0
0
0
0
0
0
0
0
0
3
0
0
4
12
5
36
0
3
0
0
0
0
0
0
0
0
0
-1
2
-40
13
-55
0
0
0
0
0
0
0
0
0
0
0
0
24
6
-7
-13
1
-6
0
-8
0
0
0
0
0
0
0
0
0
-6
-13
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-15
-8
-4
0
0
0
0
0
0
0
0
0
0
6
27
0
6
6
-2
-4
0
0
0
0
0
0
0
0
0
0
-32
-6
30
-5
-16
3
-1
0
0
0
0
0
0
0
0
0
0
0
30
23
27
-3
16
-6
-1
0
0
0
0
0
0
0
0
0
23
-20
-26
2
-4
0
-8
0
0
0
0
0
0
0
0
0
0
3
-5
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
29
-28
0
0
0
-1
0
0
0
0
0
0
0
1
15
22
45
55
24
0
0
0
8
3
0
0
0
0
0
0
0
-12
4
-41
-59
0
-18
0
31
-3
0
0
0
0
0
0
0
0
-6
30
17
-8
-5
-111
3
9
0
0
0
0
0
0
0
0
1
-3
-24
25
-10
-1
7
-13
-14
-5
0
0
0
0
0
0
0
0
-1
2
-9
-37
64
0
-3
-19
0
0
0
0
0
0
0
0
0
0
4
0
-2
-1
49
-33
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-100
-52
10
-24
0
0
0
10
0
0
0
0
0
0
0
-1
-1
23
-35
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
-21
-41
25
-3
-21
10
7
8
0
0
0
0
0
0
0
0
0
-14
-17
22
19
6
-19
-133
8
0
0
0
0
0
0
0
0
1
129
-65
-58
15
-11
7
-41
-12
4
0
0
0
0
0
0
0
7
-74
-2
-19
-7
-5
10
-32
12
0
-2
0
0
0
0
0
0
0
-3
6
-29
-9
8
22
13
4
1
0
0
0
0
0
0
0
0
73
-18
-26
15
19
-30
18
8
0
0
0
0
0
0
0
0
0
0
20
-34
18
-30
-40
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
38
44
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
11
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
10
12
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-7
-5
22
0
0
0
0
0
0
0
0
0
0
0
5
-1
-4
-4
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
48
-3
64
-58
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-64
5
0
0
0
0
0
0
0
0
0
0
0
3
78
-123
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
46
9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
-122
-38
59
-20
0
0
0
0
0
0
0
0
0
0
0
9
-26
67
-25
29
42
0
0
0
0
0
0
0
0
0
0
0
20
-22
-105
7
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
53
-15
25
0
0
0
0
0
0
0
0
0
0
0
0
12
-24
28
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-9
7
6
5
12
0
0
0
0
0
0
0
0
0
0
0
-2
1
48
65
-4
-10
0
0
0
3
0
0
0
0
0
0
0
2
2
-7
-20
31
-15
-40
-45
6
0
0
0
0
0
0
0
0
0
-3
-18
15
-11
14
-37
3
7
0
0
0
0
0
0
0
0
-5
0
-35
-81
0
27
33
21
3
0
0
0
0
0
0
0
0
0
-6
1
55
-68
12
-13
-23
-1
0
0
0
0
0
0
0
0
0
-4
26
0
-30
67
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
64
9
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
71
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-8
-27
13
0
0
0
0
0
0
0
0
0
0
0
4
-8
-30
19
-5
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
36
-24
22
-1
8
0
0
0
0
0
0
0
0
0
0
-1
0
-19
15
2
-3
6
0
0
0
0
0
0
0
0
0
0
0
5
0
16
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-30
-9
0
0
0
0
0
0
0
0
0
0
0
3
0
14
-72
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
-45
-2
-7
9
2
0
0
0
0
0
0
0
0
4
10
4
-36
51
-59
44
24
-28
0
0
0
0
0
0
0
0
4
0
1
46
50
-9
-77
-91
-7
0
0
0
0
0
0
0
0
-4
0
1
54
-22
8
-15
-48
33
3
0
0
0
0
0
0
0
-10
0
-1
-1
39
23
25
1
-7
0
0
0
0
0
0
0
0
0
-10
0
1
-1
90
-41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-39
36
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-62
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
56
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-62
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-38
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-36
52
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-79
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
60
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
36
-32
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
-75
58
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
19
-84
-105
40
-6
0
0
0
0
0
0
0
0
0
-1
15
22
-42
4
35
-41
-4
-3
0
0
0
0
0
0
0
0
0
-1
4
-47
55
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
44
6
-39
15
-2
2
0
0
0
0
0
0
0
0
0
0
0
-9
3
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-13
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
-18
49
30
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-8
-11
44
31
16
-75
1
0
0
0
0
0
0
0
0
0
-8
6
20
-14
-2
-93
14
2
0
0
0
0
0
0
0
-1
0
17
-16
70
-7
3
-36
2
0
0
0
0
0
0
0
0
0
1
0
30
12
27
26
1
1
0
0
0
0
0
0
0
0
0
0
-1
1
-8
-23
-47
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-20
-4
-25
12
0
0
0
0
0
0
0
0
0
0
-22
-81
-17
-25
-54
-2
8
0
0
0
0
0
0
0
0
0
0
7
36
-12
-14
41
5
-2
0
0
0
0
0
0
0
0
0
0
0
-29
39
-29
28
-27
2
2
0
0
0
0
0
0
0
0
0
0
31
50
-2
-28
-15
-1
2
0
0
0
0
0
0
0
0
0
0
15
-2
6
11
4
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-18
56
8
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
32
2
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-41
-43
-22
-35
-107
0
0
0
-2
0
0
0
0
0
0
-1
-17
27
8
-12
0
-13
0
0
0
0
-8
0
0
0
0
0
-2
10
-65
-41
-16
-19
52
83
105
-2
0
0
0
0
0
0
0
-6
23
-11
46
17
7
-26
-17
-12
-2
0
0
0
0
0
0
0
0
-11
38
-6
64
18
47
20
3
0
0
0
0
0
0
0
0
0
-5
2
-19
-12
-47
-6
-27
0
0
0
0
0
0
0
0
0
0
0
-4
50
8
48
-7
-5
1
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-15
-70
-147
0
0
0
-4
-4
0
0
0
0
0
0
-2
-97
57
-56
-72
-207
0
0
0
0
0
0
0
0
0
0
0
0
-91
-21
5
-27
74
48
8
1
0
0
0
0
0
0
0
0
-13
70
-67
22
62
32
4
19
0
0
0
0
0
0
0
0
0
-1
45
-122
-40
150
99
12
-18
-3
0
0
0
0
0
0
0
0
0
33
-16
16
3
58
-17
3
0
0
0
0
0
0
0
0
0
0
12
-120
-72
89
12
-27
0
0
0
0
0
0
0
0
0
0
0
-10
0
-64
15
21
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
19
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
4
-25
-54
-63
0
0
0
0
0
0
0
0
0
0
0
-1
5
49
7
24
82
0
0
0
0
0
0
0
0
0
0
-1
-7
-3
27
-5
-40
-120
-30
0
0
0
0
0
0
0
0
0
0
-1
-2
41
25
-55
-51
2
0
0
0
0
0
0
0
0
0
-2
0
-1
25
24
10
30
-13
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
-13
19
0
0
0
0
0
0
0
0
0
0
-1
0
1
7
2
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
98
-21
55
-13
-65
90
0
0
0
0
0
0
0
0
0
0
26
10
-2
3
5
27
0
0
0
0
0
0
0
0
0
0
0
-61
59
42
22
31
35
20
-36
-36
0
0
0
0
0
0
0
0
105
39
44
-12
19
-71
29
28
-5
0
0
0
0
0
0
0
0
57
-36
122
46
-18
-30
124
-61
5
-5
0
0
0
0
0
0
0
44
-33
-10
26
34
-49
86
-29
0
0
0
0
0
0
0
0
0
27
55
60
31
50
-37
22
39
0
0
0
0
0
0
0
0
0
5
-24
-5
-7
-18
-4
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-21
28
-5
2
0
0
0
5
0
0
0
0
0
0
0
1
-57
-23
-66
-70
-36
0
0
0
-6
0
0
0
0
0
0
0
5
60
-26
-10
-41
-16
12
45
-15
0
0
0
0
0
0
0
0
-1
19
-89
51
-103
-42
-108
-11
-5
0
0
0
0
0
0
0
0
0
14
74
37
176
20
-116
0
0
0
0
0
0
0
0
0
0
0
22
6
15
-4
26
9
-42
0
0
0
0
0
0
0
0
0
0
1
-50
27
24
7
-73
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-2
25
0
0
0
0
0
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
-49
69
-86
-22
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-2
-18
-5
25
0
0
0
0
0
0
0
0
0
0
5
1
22
6
-70
-46
-9
-1
-3
0
0
0
0
0
0
0
0
0
0
-3
23
60
-7
74
5
0
0
0
0
0
0
0
0
0
0
0
1
45
3
-28
-27
-1
0
0
0
0
0
0
0
0
0
0
8
0
33
0
-14
32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
25
-3
40
-35
11
0
0
0
0
0
0
0
0
0
0
9
-46
-55
1
-57
55
-53
0
0
0
-1
0
0
0
0
0
0
-4
-77
-20
-33
38
81
32
5
-6
-2
0
0
0
0
0
0
0
0
98
37
9
85
-3
-18
8
-45
10
0
0
0
0
0
0
0
0
-53
1
-58
59
20
15
-30
-34
0
0
0
0
0
0
0
0
3
-41
-57
22
45
47
21
12
-36
0
0
0
0
0
0
0
0
1
0
-5
62
59
20
40
-52
30
0
0
0
0
0
0
0
0
-1
0
3
-6
105
-14
-23
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
51
42
92
6
-27
-33
-135
0
0
0
-53
-18
6
0
3
0
0
-40
22
33
24
20
-40
-30
0
0
0
-71
4
-29
-1
-3
-1
0
-5
26
18
22
-10
-13
-46
-58
-16
28
-74
-26
-13
-20
0
1
0
26
11
-6
-5
13
5
-39
23
-7
44
1
-43
-46
-2
0
0
0
-15
23
11
-2
-8
16
17
11
3
-15
-27
-38
37
0
-2
-1
0
23
85
37
-30
-2
9
68
18
-14
-39
6
42
-80
16
-3
6
0
17
33
60
29
-1
25
23
-44
-40
8
-58
43
-20
-5
3
0
0
23
35
39
45
43
62
-50
-44
-6
76
-13
5
-9
0
0
0
0
12
31
-25
-32
-10
20
-53
-27
-6
-44
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
1
-16
-29
13
0
0
0
0
0
0
0
0
0
0
0
33
-8
13
9
6
25
0
0
0
0
0
0
0
0
0
0
0
-6
69
36
23
-4
0
0
1
0
0
0
0
0
0
0
0
4
0
-31
-25
70
5
0
0
0
0
0
0
0
0
0
0
0
-8
-2
57
-33
122
57
0
0
0
0
0
0
0
0
0
0
0
8
19
23
-10
86
0
1
0
0
0
0
0
0
0
0
0
0
-1
-69
-46
-92
9
-3
0
0
0
0
0
0
0
0
0
0
0
-3
94
-37
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
63
-28
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-1
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
41
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
55
-21
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
45
-61
-1
9
7
0
0
0
0
0
0
0
0
0
0
4
-5
-61
-11
-28
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
52
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
65
53
35
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-66
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
10
-31
44
-20
19
0
0
0
0
0
0
0
0
0
0
-1
-4
23
7
21
64
102
0
0
0
0
0
0
0
0
0
0
-5
-1
39
-50
-40
-27
5
8
0
0
0
0
0
0
0
0
0
12
0
7
-90
8
10
-20
8
0
0
0
0
0
0
0
0
0
-2
3
-43
46
43
46
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-17
13
-5
0
-2
0
0
0
0
0
0
0
0
0
7
-5
10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
3
-1
-6
10
0
0
0
0
0
0
0
0
0
0
0
-1
43
-24
45
-45
53
0
0
0
0
0
0
0
0
0
0
0
-18
4
-12
-17
-7
-5
19
0
0
0
0
0
0
0
0
0
-1
-13
39
8
-2
27
20
-8
0
0
0
0
0
0
0
0
0
0
13
-21
41
-2
-5
-7
-16
1
0
0
0
0
0
0
0
0
46
5
50
16
4
-15
45
4
1
0
0
0
0
0
0
0
0
0
7
5
23
-9
-9
5
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-34
9
-47
0
0
0
17
-2
-1
0
0
0
0
0
17
56
-12
75
16
-48
0
0
0
-4
8
0
0
0
0
0
6
14
-23
48
-44
-6
-27
12
-27
-60
19
1
0
0
0
0
0
0
-8
-22
60
55
-45
40
29
45
-10
5
0
0
0
0
0
0
0
7
-31
-30
-8
-163
32
15
43
-12
-2
3
0
0
0
0
0
0
-3
36
70
30
-58
34
37
41
56
4
0
0
0
0
0
0
0
0
0
-58
8
11
-5
-25
9
-2
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
-1
0
0
0
0
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
59
14
37
16
0
0
0
71
4
0
0
0
0
0
0
0
23
24
57
33
5
0
0
0
-21
-44
0
0
0
0
0
0
-2
5
32
94
24
9
14
-69
-49
9
24
0
0
0
0
0
0
-1
-11
-20
34
51
10
7
22
23
-9
15
0
1
0
0
0
0
1
4
-28
21
10
26
24
-24
-3
-19
-3
0
0
0
0
0
0
10
-131
-7
-9
31
33
26
-109
61
44
31
0
0
0
0
0
0
0
-5
-10
-19
3
33
-12
-12
36
59
-4
8
0
0
0
0
0
0
-29
20
11
-5
-66
-23
11
3
0
-1
0
0
0
0
0
0
0
0
17
-41
-43
-46
1
-17
7
4
0
0
0
0
0
0
0
0
0
0
-3
65
82
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
-24
-77
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-5
39
-16
26
14
18
0
0
0
0
0
0
0
0
0
0
1
-5
22
-5
-4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
23
-10
25
27
0
0
0
0
0
0
0
0
0
0
0
-3
15
6
-16
7
-5
0
0
0
0
0
0
0
0
0
0
0
-8
7
-6
-31
4
1
-2
0
0
0
0
0
0
0
0
0
0
8
-36
20
-10
-15
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-63
22
0
0
0
0
0
0
0
0
0
0
0
13
118
71
47
0
0
0
1
0
0
0
0
0
0
0
0
-2
-57
-106
58
-48
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
93
28
-24
9
-69
16
-3
0
0
0
0
0
0
0
0
2
1
39
-131
58
2
30
2
0
0
0
0
0
0
0
0
0
0
7
-13
55
-16
-20
0
1
0
0
0
0
0
0
0
0
0
0
15
61
-15
-31
-90
3
0
0
0
0
0
0
0
0
0
0
0
21
-16
79
-10
-72
7
0
0
0
0
0
0
0
0
0
0
0
0
58
-6
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-14
-13
28
22
56
-7
0
0
0
18
0
0
0
0
0
0
6
-4
-26
116
-22
8
2
0
0
0
24
0
0
0
0
0
0
8
22
46
-25
61
23
30
22
14
36
-1
0
0
0
0
0
0
0
4
-41
30
1
3
-2
19
36
27
0
0
0
0
0
0
0
0
0
-12
-58
-27
-20
-50
-4
78
26
1
0
0
0
0
0
0
0
13
-9
26
31
20
20
85
60
3
0
0
0
0
0
0
0
0
0
-8
13
19
47
-61
63
13
0
0
0
0
0
0
0
0
0
0
2
0
6
0
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
29
-9
-9
0
0
0
0
0
0
0
0
0
0
1
0
-16
-31
-30
117
43
0
0
0
0
0
0
0
0
0
0
0
-9
1
24
30
-33
41
33
5
4
0
0
0
0
0
0
0
0
0
20
-9
-30
48
53
7
-3
0
0
0
0
0
0
0
0
0
0
9
-10
38
42
-73
0
-10
0
0
0
0
0
0
0
0
0
0
8
-2
-56
7
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
41
104
-26
0
0
0
0
0
0
0
0
0
0
1
9
-2
30
18
4
-57
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-13
59
6
14
14
26
0
0
0
0
0
0
0
0
-4
24
17
65
-26
-7
-47
-48
29
32
0
0
0
0
0
0
0
0
8
4
2
0
23
-61
24
2
0
-5
0
0
0
0
0
0
0
-6
-4
0
-61
-14
3
-38
-21
3
3
0
0
0
0
0
0
0
-1
0
-8
-2
-9
29
6
14
4
0
0
0
0
0
0
0
0
0
-3
0
10
-19
58
60
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
49
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-13
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-38
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
68
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-19
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-13
7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-48
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
55
-32
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-43
40
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
23
-18
-79
35
-6
0
0
0
0
0
0
0
0
0
-1
15
30
-61
-17
82
-39
-3
-3
0
0
0
0
0
0
0
0
0
-1
1
32
-12
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
41
8
-10
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-31
23
0
0
0
-5
0
0
0
0
0
0
0
0
0
5
-17
6
7
0
0
0
4
0
0
0
0
0
0
0
0
0
7
-13
-16
1
31
-2
-58
4
0
0
0
0
0
0
0
0
0
-9
-7
-10
-23
6
-3
20
4
0
0
0
0
0
0
0
-1
0
18
4
26
3
-5
-39
1
0
0
0
0
0
0
0
0
0
1
0
19
6
22
15
-15
1
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-10
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
27
3
-9
-38
13
0
0
0
0
0
0
0
0
0
0
-14
-17
4
-84
-32
21
36
0
0
0
0
0
0
0
0
0
0
3
50
-17
-30
34
4
-3
0
0
0
0
0
0
0
0
0
0
0
-29
16
28
26
-28
5
2
0
0
0
0
0
0
0
0
0
0
41
56
28
-45
-20
-1
2
0
0
0
0
0
0
0
0
0
0
18
21
-31
22
3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
42
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-29
-16
3
53
-40
0
0
0
-2
0
0
0
0
0
0
-1
-25
33
-31
-29
47
-36
0
0
0
0
-8
0
0
0
0
0
-2
16
19
-47
-44
-63
68
59
82
0
0
0
0
0
0
0
0
-6
27
17
70
-6
-21
26
10
-44
3
0
0
0
0
0
0
0
0
-9
34
2
32
-4
17
1
3
0
0
0
0
0
0
0
0
0
-5
31
-57
-87
-31
24
-19
0
0
0
0
0
0
0
0
0
0
0
-3
2
6
38
-6
4
1
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-22
-65
-58
-105
0
0
0
-4
-4
0
0
0
0
0
0
-2
-66
78
24
-32
-189
0
0
0
0
0
0
0
0
0
0
0
0
-36
-43
4
-55
10
33
8
1
0
0
0
0
0
0
0
0
-13
45
10
29
15
33
47
20
0
0
0
0
0
0
0
0
0
-1
25
-59
28
-24
30
-9
-12
-3
0
0
0
0
0
0
0
0
0
8
34
18
0
30
-41
3
0
0
0
0
0
0
0
0
0
0
8
-49
-63
68
16
-31
0
0
0
0
0
0
0
0
0
0
0
-8
13
29
20
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
25
-22
-3
-30
0
0
0
0
0
0
0
0
0
0
0
-2
2
12
-21
35
56
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
40
29
9
-66
-27
0
0
0
0
0
0
0
0
0
0
-1
-3
42
2
-25
-21
2
0
0
0
0
0
0
0
0
0
-2
0
-1
25
22
-1
25
-14
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-12
14
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
2
-8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
111
8
60
33
10
40
0
0
0
0
0
0
0
0
0
0
28
68
-6
81
27
-31
0
0
0
0
0
0
0
0
0
0
0
-36
-40
51
95
-4
22
37
-51
-43
0
0
0
0
0
0
0
0
-32
-39
22
-50
34
-75
4
49
-13
0
0
0
0
0
0
0
0
15
-83
2
18
-19
0
86
-18
5
-5
0
0
0
0
0
0
0
25
12
-33
-43
53
22
53
-21
0
0
0
0
0
0
0
0
0
24
98
-5
10
70
1
2
14
0
0
0
0
0
0
0
0
0
32
-10
0
-1
-34
-6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
3
-18
25
-80
0
0
0
14
0
0
0
0
0
0
0
1
-41
22
2
-19
-34
0
0
0
-12
0
0
0
0
0
0
0
5
55
8
-51
-41
-80
-14
37
-24
-3
0
0
0
0
0
0
0
-1
33
-50
6
-75
-5
-13
-76
-5
0
0
0
0
0
0
0
0
0
0
43
45
71
7
-64
1
0
0
0
0
0
0
0
0
0
0
23
16
-27
-7
48
16
-38
0
0
0
0
0
0
0
0
0
0
1
-66
8
-25
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-16
49
-74
-5
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-3
18
1
30
0
0
0
0
0
0
0
0
0
0
5
1
23
62
22
-8
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
75
16
-80
26
6
0
0
0
0
0
0
0
0
0
0
0
1
-19
13
7
-33
-1
0
0
0
0
0
0
0
0
0
0
8
0
13
-39
-29
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
-13
13
-73
29
77
0
0
0
0
0
0
0
0
0
0
6
-59
-20
29
-6
37
-46
0
0
0
-1
0
0
0
0
0
0
-3
-44
-15
-65
49
64
29
-24
-5
-2
0
0
0
0
0
0
0
0
41
18
-22
101
25
21
20
-25
14
0
0
0
0
0
0
0
0
-2
-4
-20
46
27
2
2
-29
0
0
0
0
0
0
0
0
3
0
-30
17
-14
38
-44
-29
-25
0
0
0
0
0
0
0
0
1
2
-3
20
20
-43
31
-5
28
0
0
0
0
0
0
0
0
-1
0
4
-6
8
1
-27
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
27
17
36
-13
0
0
0
-28
-47
6
0
3
0
0
-82
-56
6
-28
16
17
60
0
0
0
0
40
-29
-1
-4
-1
0
-15
10
37
-21
34
-6
61
59
66
38
5
-43
-54
6
0
1
0
18
-22
43
57
42
53
75
57
87
21
-15
-7
6
-1
0
0
0
42
16
-8
39
11
6
-24
-21
16
56
-32
-31
25
0
-2
-1
0
-38
-5
-36
16
27
12
-19
28
36
-60
-34
25
-32
31
-3
6
0
-35
36
77
31
-80
8
-29
-19
-36
-3
-49
69
4
-5
3
0
0
5
-5
-102
26
67
31
-22
-68
36
1
-12
-14
-8
0
0
0
0
15
0
-8
-9
-4
53
-12
-14
0
-60
50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
19
-66
49
-16
16
0
0
0
0
0
0
0
0
0
0
0
29
-29
38
9
36
29
0
0
0
0
0
0
0
0
0
0
0
20
119
-78
19
4
4
0
1
0
0
0
0
0
0
0
0
4
-9
15
-50
30
-4
0
0
0
0
0
0
0
0
0
0
0
-8
-32
48
-1
50
44
0
0
0
0
0
0
0
0
0
0
0
8
3
10
22
71
0
1
0
0
0
0
0
0
0
0
0
0
-1
-48
-69
-92
13
-3
0
0
0
0
0
0
0
0
0
0
0
-3
69
-46
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
43
26
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-43
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
12
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
80
-7
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-11
-15
2
7
0
0
0
0
0
0
0
0
0
0
4
-5
-60
-7
17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
20
41
-24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-20
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-66
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
21
25
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
10
2
28
1
19
0
0
0
0
0
0
0
0
0
0
-1
3
31
-42
6
11
29
0
0
0
0
0
0
0
0
0
0
-5
-1
36
22
-42
-42
8
14
0
0
0
0
0
0
0
0
0
8
0
18
-97
-34
-8
-27
2
0
0
0
0
0
0
0
0
0
-2
1
-2
19
22
56
-8
0
0
0
0
0
0
0
0
0
0
0
1
3
13
-18
13
-7
0
-2
0
0
0
0
0
0
0
0
0
5
-3
7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
2
-2
13
14
0
0
0
0
0
0
0
0
0
0
0
0
46
-28
78
-45
19
0
0
0
0
0
0
0
0
0
0
0
-19
7
2
-40
-6
-7
18
0
0
0
0
0
0
0
0
0
-1
11
-18
10
-1
28
6
-8
0
0
0
0
0
0
0
0
0
0
35
23
-6
-2
44
12
-23
0
0
0
0
0
0
0
0
0
33
1
23
-1
-56
-23
23
-1
1
0
0
0
0
0
0
0
0
0
4
7
6
-16
4
-1
-5
0
0
0
0
0
0
0
0
0
0
-2
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-36
-27
-33
0
0
0
4
-2
-1
0
0
0
0
0
13
48
-23
-6
32
-42
0
0
0
-34
9
0
0
0
0
0
6
3
-12
2
-14
13
3
-20
80
-32
23
1
0
0
0
0
0
0
-9
6
1
10
-13
19
22
71
-18
3
0
0
0
0
0
0
0
7
-17
56
-37
0
6
-69
-4
-32
0
3
0
0
0
0
0
0
-2
8
63
-21
-44
62
23
72
29
4
0
0
0
0
0
0
0
0
0
-58
17
22
-1
16
8
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-7
34
-50
30
0
0
0
59
4
0
0
0
0
0
0
0
-14
-17
28
31
-9
0
0
0
-15
-41
0
0
0
0
0
0
-2
11
-7
-69
9
10
24
-43
-81
-1
28
0
0
0
0
0
0
-1
-8
-36
-1
-2
44
43
44
-85
-11
58
0
1
0
0
0
0
1
-21
-93
50
-1
29
35
27
-26
25
-2
0
0
0
0
0
0
10
-39
49
-65
10
65
54
11
17
45
13
0
0
0
0
0
0
0
2
90
91
17
-41
-70
-108
69
80
-4
9
0
0
0
0
0
0
-9
15
33
53
-57
-21
25
5
0
-1
0
0
0
0
0
0
0
0
27
-20
-2
-39
-1
-64
7
4
0
0
0
0
0
0
0
0
0
0
-3
43
89
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
-26
-72
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
2
22
-41
41
28
22
0
0
0
0
0
0
0
0
0
0
1
-5
8
-6
-4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
10
-8
31
17
0
0
0
0
0
0
0
0
0
0
0
-3
15
4
-17
5
-1
0
0
0
0
0
0
0
0
0
0
0
-8
8
-4
-20
5
-2
0
0
0
0
0
0
0
0
0
0
0
8
-6
20
-25
-22
-29
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
22
0
0
0
0
0
0
0
0
0
0
0
14
63
35
-12
0
0
0
1
0
0
0
0
0
0
0
0
-2
-42
63
71
-18
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
40
70
2
38
-80
16
-3
0
0
0
0
0
0
0
0
2
15
8
-32
15
3
18
0
0
0
0
0
0
0
0
0
0
0
3
-70
32
-5
-5
0
1
0
0
0
0
0
0
0
0
0
0
6
37
-4
-36
-42
2
0
0
0
0
0
0
0
0
0
0
0
19
-8
66
-13
-30
7
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-15
-40
61
1
17
54
0
0
0
3
0
0
0
0
0
0
6
-2
3
7
-37
52
23
0
0
0
32
0
0
0
0
0
0
8
10
41
3
52
-26
17
6
-32
43
-1
0
0
0
0
0
0
0
4
-34
25
-83
14
55
-66
26
29
0
0
0
0
0
0
0
0
10
-13
30
33
-22
-11
14
-17
7
1
0
0
0
0
0
0
0
19
-5
49
-35
19
13
34
22
5
0
0
0
0
0
0
0
0
0
-8
3
18
-11
-53
46
4
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
9
17
-4
0
0
0
0
0
0
0
0
0
0
1
0
-16
-19
-23
62
5
0
0
0
0
0
0
0
0
0
0
0
-9
1
30
18
7
8
26
6
4
0
0
0
0
0
0
0
0
0
10
-23
-30
85
28
12
-2
0
0
0
0
0
0
0
0
0
0
6
-13
14
-8
-45
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
-48
22
16
-4
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
40
89
-15
0
0
0
0
0
0
0
0
0
0
1
8
-2
40
7
6
-8
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-7
34
56
7
12
20
0
0
0
0
0
0
0
0
-2
14
10
47
1
0
-9
-48
42
10
0
0
0
0
0
0
0
0
8
-2
1
-20
40
-74
74
-5
-1
-2
0
0
0
0
0
0
0
-6
-4
0
-55
-8
6
-34
2
-19
3
0
0
0
0
0
0
0
-1
0
-8
-1
-2
7
-2
38
0
0
0
0
0
0
0
0
0
0
-3
0
5
-19
-9
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
20
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
9
-20
-8
2
0
0
0
0
0
0
0
0
0
0
1
-5
-19
0
-3
4
17
0
0
0
0
0
0
0
0
0
0
-1
-1
14
3
8
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
1
-12
-6
0
2
0
0
0
0
0
0
0
0
0
0
1
17
8
-7
3
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
-5
2
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
14
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
21
-6
-47
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
-8
-3
6
0
-4
0
0
0
0
0
0
0
0
0
0
-2
30
7
0
-1
2
-2
4
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
3
9
0
0
0
0
0
0
0
0
0
0
0
0
2
13
14
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-7
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
4
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
-15
-12
23
4
-2
0
0
0
0
0
0
0
0
0
0
10
30
0
17
55
-30
0
0
0
0
0
0
0
0
0
0
0
0
1
19
17
-39
-2
-50
15
-1
0
0
0
0
0
0
0
0
-1
2
-2
2
13
15
24
6
0
0
0
0
0
0
0
0
0
-9
0
-25
-13
-5
2
0
5
0
0
0
0
0
0
0
0
0
0
-3
-2
18
15
15
-1
-3
0
0
0
0
0
0
0
0
0
0
10
0
10
20
-1
-1
3
0
0
0
0
0
0
0
0
0
2
-2
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
-8
-34
19
-6
-2
0
0
0
0
0
0
0
0
0
-4
-2
-2
-4
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
7
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
5
0
0
-1
0
0
0
0
0
0
0
0
0
3
-1
1
2
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
-1
-7
22
42
43
0
0
0
-15
-25
1
0
0
0
0
18
-28
-11
73
-31
-18
28
0
0
0
13
-2
-1
0
0
0
0
3
48
-12
-37
78
23
79
55
-10
7
13
-1
0
-1
0
1
0
-27
32
28
5
-20
24
-49
7
-14
-6
16
8
-4
0
0
0
0
-38
-39
5
9
-30
5
-35
-11
-24
-27
15
-5
1
0
0
0
0
-27
-5
-24
26
-6
48
8
3
-32
-39
-18
0
1
0
0
0
0
-8
14
1
10
-25
-3
-21
38
7
-42
0
2
-3
0
0
0
0
0
-43
-6
1
12
-5
10
-22
35
-5
-6
-1
-1
0
0
0
0
1
0
3
8
-16
-8
8
-39
0
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-6
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
58
25
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-2
-8
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
-9
6
19
0
0
0
0
0
0
0
0
0
0
0
-1
3
24
10
-14
-1
-1
-2
-24
0
0
0
0
0
0
0
0
-1
5
-5
-12
2
4
-13
6
-2
-1
0
0
0
0
0
0
0
0
-1
14
9
-8
7
-5
0
2
0
0
0
0
0
0
0
0
0
0
5
-12
-1
4
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
-10
-22
0
0
0
4
0
0
0
0
0
0
0
0
-6
-12
-4
-42
17
0
0
0
2
0
0
0
0
0
0
0
0
7
5
-13
-27
13
-5
7
-3
5
5
0
0
0
0
0
0
0
-6
25
2
4
-2
17
-5
-47
5
-2
0
0
0
0
0
0
0
0
-19
-47
49
28
21
44
15
-6
0
0
0
0
0
0
0
0
-3
-2
13
-23
-34
6
10
9
7
1
0
0
0
0
0
0
0
0
9
8
41
-28
-20
0
10
5
0
0
0
0
0
0
0
0
0
-1
-17
1
12
44
-16
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
-2
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-7
5
4
0
1
0
0
0
0
0
0
0
0
0
0
1
-6
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-14
-29
0
0
0
0
0
0
0
0
0
0
0
2
-5
-12
1
-13
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
6
-3
-7
-16
14
-13
15
0
0
0
0
0
0
0
0
1
1
0
-3
6
-13
-2
4
1
0
0
0
0
0
0
0
0
0
3
12
14
7
5
-1
-1
0
1
0
0
0
0
0
0
0
0
0
12
0
-5
-2
-4
3
0
0
0
0
0
0
0
0
0
1
0
0
4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
30
85
19
2
-50
66
0
0
92
41
-17
-56
-43
-28
97
0
0
40
20
7
-35
-55
-7
32
0
0
13
30
3
-28
-29
-10
-62
0
0
49
-18
-30
-41
-186
-59
-87
0
0
-28
-26
-4
-9
-22
-42
-19
0
0
-25
48
3
12
2
4
12
0
0
17
-8
55
7
13
26
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
7
-51
-69
-84
0
-61
-4
-12
22
-43
-138
83
0
0
0
0
0
0
-41
0
0
0
0
0
0
-4
5
-2
0
0
-95
0
6
10
-49
59
0
16
-15
0
0
-165
14
64
0
0
-12
0
0
0
-39
0
0
-1
-67
-3
-1
-29
62
-20
0
0
-7
-3
0
0
-18
-5
-30
73
-48
-14
16
24
36
-88
0
0
0
0
0
0
2
0
0
-17
-12
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
6
61
86
-26
-6
-48
13
94
77
64
12
0
0
-113
-86
-58
-59
-9
-53
4
-16
0
-63
43
41
60
60
0
0
-5
5
3
2
-73
-30
-3
-17
-144
-52
84
-18
-182
164
0
0
-18
-2
-2
-35
78
93
-8
41
-84
-60
7
133
132
85
0
0
5
6
12
-17
45
68
25
44
-73
-47
87
57
104
77
0
0
132
0
-30
-70
117
30
21
12
-42
-27
48
101
56
63
0
0
0
0
0
0
10
0
3
96
157
-4
-70
50
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-7
-48
-87
80
54
2
30
9
-35
-21
6
12
-42
0
0
1
0
0
0
-26
1
0
-24
0
0
0
-13
1
-2
0
0
-13
-14
1
30
-8
64
-1
31
12
0
1
-96
-118
1
0
0
-3
0
-2
8
-73
-22
-12
-2
-70
-16
6
1
-41
-91
0
0
-32
-2
-2
0
-85
-27
-48
-15
-15
-19
9
50
47
-57
0
0
0
0
0
0
0
0
-2
-5
30
0
1
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-2
13
116
17
-43
82
-48
-19
17
122
79
100
0
0
-70
18
-7
-80
-45
-75
-37
-17
0
-110
-78
-63
-42
-4
0
0
-9
7
1
2
-59
-6
151
-66
-95
-4
-52
4
-60
-139
0
0
-19
-3
-8
-125
54
87
-13
-33
-85
-142
-36
50
71
30
0
0
37
-7
43
83
57
15
8
53
-75
8
-25
82
27
62
0
0
111
0
-35
4
83
124
40
114
-17
-54
73
127
46
65
0
0
0
0
0
0
63
0
80
72
79
4
30
109
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-3
9
-64
58
97
5
93
15
-76
-38
-18
18
-69
0
0
3
0
0
0
-19
1
0
-23
0
0
2
-9
1
-2
0
0
30
-14
1
32
-1
45
-1
17
8
0
0
-24
-84
5
0
0
-10
0
-2
7
-84
-18
-13
14
13
-12
6
13
5
-33
0
0
-16
-2
-2
0
-50
-25
-44
2
11
-17
47
17
40
-2
0
0
0
0
0
0
0
0
-2
-5
18
0
1
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-2
29
75
43
-15
114
-1
62
95
-12
45
8
0
0
-15
-13
-45
-144
-2
-59
-3
-19
0
80
-2
-27
-40
-36
0
0
-9
7
1
2
21
0
71
-96
8
6
-101
-11
-7
-113
0
0
3
-3
-8
-71
-49
-28
-30
6
-36
-92
-42
-56
-69
5
0
0
51
-7
40
49
-29
4
108
15
-26
32
26
53
67
41
0
0
77
0
-8
-1
50
69
45
51
36
-15
25
9
7
10
0
0
0
0
0
0
47
0
77
47
47
4
41
57
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-1
-1
16
0
1
-1
-2
-6
1
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
1
25
-71
-16
2
-3
-12
-26
-4
0
0
6
0
3
-7
76
40
-22
-18
0
76
16
-57
13
57
0
0
0
0
0
0
1
0
8
-14
36
0
3
-4
3
0
0
0
0
0
0
0
26
5
27
29
35
-7
-8
-7
-23
9
0
0
8
0
2
0
1
-1
58
-39
-37
-5
41
5
-5
-8
0
0
1
0
0
0
6
3
25
7
-15
2
9
-38
1
-8
0
0
0
0
0
0
1
0
10
-2
0
0
0
2
0
0
9
1
3
4
-3
-1
-4
-14
-2
7
-2
-1
-2
0
4
5
11
16
17
9
2
-3
1
-8
-7
-1
5
2
4
3
4
1
6
0
-5
-8
12
5
2
-2
-2
-1
-5
4
-10
0
2
1
3
1
1
6
10
4
2
-11
-19
-16
16
6
20
15
41
-5
-6
-22
-6
13
20
11
25
13
30
18
10
15
-15
45
23
22
22
15
39
6
8
12
4
15
10
0
-4
-1
14
11
7
3
7
2
-5
-14
-4
-18
-20
-1
1
4
-6
-4
-5
-2
12
18
-2
-5
-1
-21
-47
-6
70
46
-16
-24
20
22
20
14
10
11
7
-3
-12
10
-19
3
-6
-9
13
8
4
10
7
18
6
-7
-9
9
-2
11
7
3
5
-23
17
10
7
8
4
16
-19
4
-15
9
-1
6
-2
8
40
23
17
3
-2
12
7
20
13
3
6
15
6
12
8
10
-7
-1
6
26
39
-15
1
7
5
14
-5
1
3
0
-9
1
-2
3
-2
9
5
8
21
6
-3
9
12
13
3
9
14
14
21
12
1
15
-4
-9
7
11
10
8
0
0
25
2
4
13
10
2
9
6
3
12
-5
9
9
7
12
0
-2
3
-3
1
12
-8
3
2
4
7
7
-13
14
-5
23
-5
5
-5
4
8
8
-7
9
7
-5
-2
0
12
4
9
1
5
2
-3
10
13
-3
8
3
14
0
2
6
-5
-6
-16
-3
1
6
-1
-10
28
24
-1
6
19
-24
18
18
5
2
6
1
-4
2
-7
-3
8
-5
15
8
-2
1
-8
0
3
6
10
5
-5
11
6
7
1
15
0
-1
5
9
2
0
6
-3
-6
0
4
12
-3
1
30
-15
11
-8
39
6
-39
31
1
9
-28
-7
6
-6
24
4
-1
-5
12
-1
-7
-15
8
-5
25
-25
-9
7
-1
-7
-16
12
33
7
-12
-18
8
7
9
2
-14
41
16
-45
20
-10
-15
2
-51
25
29
-28
5
-4
7
-5
-27
-8
5
10
-9
-13
11
12
-36
9
13
-5
25
-7
19
-10
-9
9
-24
-23
34
13
6
1
7
11
-13
6
14
9
13
9
28
-21
-1
-21
-28
-19
-15
-23
6
-7
21
9
-5
-27
10
21
19
-10
3
7
-1
-40
-10
-1
22
-45
-3
9
5
4
-50
22
-5
1
-18
-8
10
2
9
-48
-5
-5
29
-14
-10
10
-2
6
-26
-3
6
-26
23
-26
19
-2
4
-48
-42
16
-4
-18
-61
-19
-1
3
-10
12
13
2
-3
-22
-30
-3
8
-21
9
-1
10
-8
-44
-24
-32
34
22
7
21
38
43
-1
-10
14
1
48
65
3
13
33
-8
-16
-3
-2
-37
61
19
36
19
-11
-8
3
-4
6
29
36
-8
38
-2
-7
6
4
19
48
26
7
17
26
12
2
4
35
7
12
24
13
-7
12
3
7
64
50
20
-4
-7
-7
17
1
12
-22
27
17
25
-15
-4
6
1
-11
16
-1
45
2
17
-29
17
-7
-52
-5
-3
-7
-24
5
2
9
15
10
3
2
30
22
29
3
-3
7
4
8
33
-7
27
8
3
0
2
8
-7
18
-5
3
-8
-8
-2
0
2
-54
-55
-19
-26
-27
-5
-10
3
3
-24
3
15
9
-19
-12
-1
0
3
-31
-12
-8
14
7
-25
-3
-1
5
-36
-28
2
-31
27
-11
1
10
5
-8
6
-28
-15
-6
-30
-11
6
26
9
5
16
-4
-13
-7
-4
-4
-5
-7
33
-3
14
-8
4
-14
-3
3
-7
50
10
16
10
4
-7
0
1
16
44
-2
2
5
7
1
2
7
64
21
10
4
9
-7
3
0
3
18
17
31
27
10
-12
3
1
5
4
46
-11
33
15
-4
4
2
1
33
32
-10
26
-3
-23
-3
-8
15
4
23
-29
-6
-23
1
-9
-25
-3
-13
10
-26
-12
-4
0
7
10
9
5
3
12
-7
6
-1
-3
-1
1
5
0
-26
-5
9
15
4
0
4
14
20
14
-31
-7
10
6
-1
5
-10
-29
-38
-7
-32
-8
3
2
4
-39
-2
52
-7
7
7
10
3
-3
-11
25
-33
-12
18
-1
-1
1
14
38
-23
16
-8
-9
-44
8
-2
-9
-5
14
-50
10
-35
-9
-12
45
-20
-5
11
-11
17
-13
1
-7
-5
-1
26
-41
19
-31
-4
5
-9
2
-1
31
20
1
9
2
7
-13
2
6
21
35
17
5
1
9
4
-3
0
22
-7
7
-2
-3
1
-6
5
-2
1
53
13
8
10
12
-5
-1
-3
18
24
1
15
-4
3
7
3
17
22
18
17
17
-1
-3
-3
-13
3
-15
-38
-19
10
38
17
-5
-2
10
-28
22
-6
16
8
2
-8
10
-16
2
-44
19
-6
0
7
-4
-2
14
-33
-23
28
3
21
19
-12
-23
21
-33
-11
-1
-16
48
-9
7
-24
1
3
2
-19
12
-26
23
22
-7
16
-11
21
27
2
18
25
-7
-2
24
-6
0
-22
24
15
-10
5
1
-14
38
-6
-11
49
20
6
-6
2
18
-7
-2
-19
26
14
7
36
23
-2
14
-11
-31
2
5
-11
-10
-9
14
59
7
1
8
-16
-1
-15
5
-25
11
-19
12
5
-20
5
-1
12
-32
-10
-5
22
-8
11
11
-15
5
-19
18
-4
2
-1
-1
-7
-8
1
14
8
-8
-35
0
14
7
1
-10
0
1
7
-43
5
3
15
-12
20
-4
-8
7
46
-29
28
0
10
7
-3
-6
17
10
6
25
-31
-4
-19
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
65
18
32
0
0
0
0
0
0
1
-8
24
0
0
0
0
0
0
2
-13
-27
0
0
0
0
0
0
-82
49
-125
0
0
-2
-11
115
-80
18
-2
29
0
0
4
-15
36
-71
-5
25
-9
0
0
-172
4
9
-2
-7
0
1
0
0
-155
-22
57
48
90
29
12
0
0
44
36
57
-121
119
-48
36
0
0
-50
-120
10
-70
129
-16
-166
0
0
-30
-42
77
19
37
40
0
0
0
-44
-4
-5
-42
17
15
56
0
0
-78
-23
48
26
0
-8
-48
0
0
-7
14
69
-53
-6
1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
-4
0
0
0
0
0
0
-5
-54
-39
0
0
0
0
0
0
-4
-69
-2
0
0
0
0
0
1
-48
-28
-32
0
0
4
-79
11
77
-19
-16
48
0
0
24
5
80
-21
-32
20
-25
0
0
-6
36
6
8
-13
-1
0
0
0
-141
-6
17
83
51
-8
23
0
0
3
36
67
-3
-46
-150
32
0
0
-67
-86
-21
37
-9
97
-80
0
0
20
28
-16
-14
12
20
0
0
0
-90
-49
-49
19
14
-1
8
0
0
-52
22
-20
49
-7
4
-7
0
0
-19
54
51
-28
-50
12
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
-54
-73
0
0
0
0
0
0
-5
-4
16
0
0
0
0
0
0
1
-120
94
0
0
0
0
0
-1
13
-56
56
0
0
0
-38
-17
21
-6
52
0
0
0
24
-7
10
16
-32
28
-5
0
0
14
5
-16
3
-4
-31
-55
0
0
22
-10
12
63
14
-9
42
0
0
-20
-22
31
67
-21
-58
-22
0
0
42
-94
5
120
14
103
-50
0
0
6
40
-14
25
13
29
0
0
0
-45
17
13
-18
-46
19
33
0
0
61
6
-9
50
12
34
-24
0
0
-85
-34
10
92
1
23
-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
1
-28
-39
0
0
0
0
0
0
0
12
-18
0
0
0
0
0
0
0
-30
-19
0
0
0
0
0
0
30
-20
-55
0
0
0
34
-3
50
-18
12
-52
0
0
4
-5
8
-14
23
-3
-45
0
0
50
-7
-6
-1
14
2
-17
0
0
-34
69
-9
26
-68
-8
10
0
0
-9
-16
22
18
76
16
49
0
0
-5
10
-13
51
41
24
22
0
0
8
21
35
40
-46
0
0
0
0
-56
76
46
-7
1
-3
56
0
0
25
8
-35
1
-27
-5
13
0
0
-12
-7
38
-3
51
0
6
9
-59
5
36
-7
1
-2
-23
9
-16
-4
-38
-36
-55
-16
7
-22
-23
-44
-13
14
0
0
0
0
-12
0
0
0
0
-48
0
0
0
0
-12
1
1
0
0
4
3
-7
14
0
-11
-46
4
-34
-4
17
48
-34
32
30
-4
-62
10
26
-55
7
-5
-10
12
-5
31
-33
3
-4
3
33
-1
0
0
-1
18
-37
-6
-14
-14
-15
-1
-3
-27
-14
-28
-10
14
15
-10
13
33
-50
-18
-65
-33
-25
5
23
-12
-7
24
25
-1
-3
12
-29
-10
-19
8
-10
-6
-7
-6
-8
9
-1
0
0
-1
-9
-67
16
-22
-9
-17
27
9
-36
7
-9
-30
7
-49
19
-10
27
-13
-25
5
-30
-79
2
-56
-32
-7
6
12
10
-5
15
-4
-25
9
0
2
2
0
0
-4
-13
0
0
0
-1
-23
-14
-2
1
-19
29
-1
-16
19
-5
-41
23
-24
18
6
3
-30
4
-38
-18
15
-54
-31
-58
10
-5
25
-11
0
12
10
-2
44
-36
22
0
-2
56
38
4
2
0
0
0
0
0
0
0
0
0
0
0
-5
29
-59
76
-43
-21
0
0
0
0
0
0
0
0
0
0
0
-13
-24
-44
0
50
2
-6
0
-126
0
0
0
0
0
0
0
0
-3
63
-19
58
86
80
6
1
-7
0
0
0
0
0
0
0
0
6
5
-13
-6
-10
4
22
0
12
0
0
0
0
0
0
0
0
-55
22
45
-1
-3
-54
-1
-8
7
0
0
0
0
0
0
0
0
0
1
70
4
33
4
-6
2
1
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
68
40
5
20
-27
0
0
0
0
0
0
0
0
0
0
34
34
0
14
48
4
-48
0
3
0
0
0
0
0
0
0
0
-29
24
29
43
1
69
-33
-14
-3
37
0
0
0
0
0
0
0
75
1
10
1
38
-32
-57
-61
101
68
0
0
0
0
0
0
0
15
42
46
4
62
34
-30
12
-116
64
0
0
0
0
0
0
0
-4
63
-15
-21
11
-13
-11
-6
-113
35
0
0
0
0
0
0
0
5
-17
0
-15
-22
20
18
3
1
18
0
0
0
0
0
0
0
0
-154
30
-25
-31
-17
0
0
-19
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
84
-6
54
-90
-4
0
0
1
0
0
0
0
0
0
22
70
20
23
23
23
-63
0
-3
0
7
0
0
0
0
0
0
3
-8
6
9
9
23
-44
-10
51
34
-25
0
0
0
0
0
0
-14
13
-9
15
14
-25
84
-39
-29
46
4
0
0
0
0
0
0
-32
22
5
0
-15
38
18
-65
-57
-31
-2
0
0
0
0
0
0
-7
25
-16
15
-4
4
18
-82
-60
50
12
0
0
0
0
0
0
0
-31
8
33
4
-4
18
-18
-28
93
0
0
0
0
0
0
0
0
-8
-51
35
86
35
-1
-7
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
18
0
73
-54
-70
5
0
0
1
0
0
0
0
0
0
14
10
76
40
38
-16
8
0
3
0
0
0
0
0
0
0
0
15
-30
26
12
59
-4
-64
-16
-18
-12
54
0
0
0
0
0
0
30
-11
-4
19
8
-36
54
31
-33
-68
-3
0
0
0
0
0
0
87
69
-4
49
62
-15
0
-34
40
36
1
0
0
0
0
0
0
1
9
58
13
-5
69
-20
27
-14
-38
-64
0
0
0
0
0
0
0
-43
43
30
9
-47
-50
8
-42
0
0
0
0
0
0
0
0
0
0
1
-14
-8
24
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-36
21
0
14
-76
-2
0
1
0
0
0
0
0
0
0
14
74
24
40
46
101
33
0
0
0
0
0
0
0
0
0
0
-12
20
26
12
72
31
3
-13
5
65
1
0
0
0
0
0
0
40
-35
-20
-23
19
22
-41
39
-46
110
3
0
0
0
0
0
0
-8
-13
16
16
-45
54
71
5
-68
85
0
0
0
0
0
0
0
0
23
-6
34
30
-35
-3
-6
-27
38
0
0
0
0
0
0
0
0
-12
4
-19
-1
43
22
-59
12
3
0
0
0
0
0
0
0
0
13
12
-22
-8
4
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-59
63
5
0
4
-10
0
0
0
0
0
0
0
0
0
0
5
13
-64
12
-9
23
0
0
0
0
0
0
0
0
0
0
0
-6
-11
-27
-80
6
-20
-5
1
-5
-2
0
0
0
0
0
0
0
82
29
-53
22
16
-12
6
-5
25
1
0
0
0
0
0
0
-29
-36
-69
-67
1
17
46
5
12
53
3
0
0
0
0
0
0
0
19
-7
-22
18
37
-44
0
1
5
0
0
0
0
0
0
0
0
1
1
19
-26
0
-3
-13
-7
0
0
0
0
0
0
0
0
0
0
5
-12
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-82
3
1
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-19
-61
6
-3
0
0
0
0
0
0
0
0
0
0
0
-19
-24
-6
75
-44
-1
0
-3
-19
1
0
0
0
0
0
0
0
-5
13
1
51
-24
-8
-1
0
0
0
0
0
0
0
0
0
0
0
56
17
-42
-1
10
18
0
-8
0
0
0
0
0
0
0
0
-24
13
25
91
-18
0
0
0
5
0
0
0
0
0
0
0
0
-1
-2
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
88
-26
-10
-32
-8
0
0
0
0
0
0
0
0
0
0
0
120
52
-6
-6
121
-67
-7
0
-16
0
0
0
0
0
0
0
0
41
-3
16
44
21
98
10
1
-84
0
0
0
0
0
0
0
0
56
17
35
2
73
-16
-73
49
119
0
0
0
0
0
0
0
0
-19
14
35
4
41
1
-99
-20
87
0
0
0
0
0
0
0
0
11
69
-5
63
34
72
1
-7
13
0
0
0
0
0
0
0
0
-38
23
7
-22
-44
0
-4
0
28
0
0
0
0
0
0
0
0
0
-37
-1
27
0
-33
8
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
1
-16
10
7
3
0
0
0
0
0
0
0
0
0
0
-17
2
32
3
20
-52
-24
0
9
0
0
0
0
0
0
0
0
-14
10
16
20
13
11
-22
37
22
56
0
0
0
0
0
0
0
-5
-5
10
-26
32
-67
-31
7
-63
39
0
0
0
0
0
0
0
5
42
29
12
25
10
-46
-52
41
-62
0
0
0
0
0
0
0
24
10
44
73
6
25
18
4
30
19
0
0
0
0
0
0
0
11
-32
24
7
-48
79
134
-42
-16
-24
0
0
0
0
0
0
0
0
19
25
-27
-28
-2
21
0
-2
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
31
30
19
59
34
41
-2
0
5
4
0
0
0
0
0
0
25
10
-9
55
-5
18
-11
0
3
0
8
0
0
0
0
0
0
32
19
8
12
-18
48
18
-28
1
45
23
0
0
0
0
0
0
29
0
7
16
-11
16
50
-108
-11
20
0
0
0
0
0
0
0
-6
37
-12
13
-45
122
33
-84
1
38
1
0
0
0
0
0
0
0
25
21
-13
1
-27
-3
-21
-57
143
0
0
0
0
0
0
0
-10
-52
0
-11
57
89
-19
-61
0
-34
0
0
0
0
0
0
0
0
3
18
3
39
-21
22
33
1
-4
0
0
0
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
20
99
3
58
-14
22
-61
3
0
0
-2
0
0
0
0
0
0
6
-20
9
87
116
-24
32
0
33
0
0
0
0
0
0
0
0
-98
14
24
-10
-6
49
-22
34
68
-19
12
-2
0
0
0
0
0
-2
-16
28
36
-3
90
-15
-17
4
-95
13
0
0
0
0
0
0
2
10
-26
17
-21
12
-2
71
42
29
-7
0
0
0
0
0
0
0
14
29
-3
66
41
3
-46
-114
30
-3
0
0
0
0
0
0
-12
-76
-1
67
11
93
-15
-62
-57
34
0
0
0
0
0
0
0
0
-23
-30
17
0
9
28
-1
1
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
41
14
-13
-2
59
6
3
0
0
0
0
0
0
0
0
0
95
-27
25
-12
35
5
55
0
0
0
-2
-1
0
0
0
0
0
-9
-4
-19
-31
59
18
-53
12
-11
-47
1
0
0
0
0
0
0
-62
10
19
-9
-4
-88
22
64
-62
68
6
0
0
0
0
0
0
33
0
-9
-3
6
-1
-26
-22
-60
18
0
0
0
0
0
0
0
2
-1
14
3
3
94
16
-20
-137
30
-2
0
0
0
0
0
0
0
34
-29
119
19
35
9
-11
8
5
0
0
0
0
0
0
0
0
0
-44
69
-7
-8
2
0
-2
20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
4
0
53
-15
17
-2
0
0
0
0
0
0
0
0
0
69
-34
49
39
107
-46
33
0
-27
0
-10
0
0
0
0
0
0
8
-24
36
32
42
22
-7
-4
26
-5
1
0
0
0
0
0
0
60
14
50
42
-59
-21
-18
65
-78
-30
-8
0
0
0
0
0
0
-15
53
32
-56
-13
18
-46
46
-120
-19
5
0
0
0
0
0
0
0
64
-23
7
1
-2
-19
-19
3
0
0
0
0
0
0
0
0
0
-18
-24
4
66
-3
7
5
2
2
0
0
0
0
0
0
0
0
0
6
-1
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-33
-62
107
24
16
1
0
0
1
0
0
0
0
0
0
0
-9
-11
27
-5
-39
-8
0
0
0
2
0
0
0
0
0
0
0
2
-77
50
-9
107
-74
0
-1
-13
8
0
0
0
0
0
0
0
-13
28
30
88
-104
0
1
25
7
-1
0
0
0
0
0
0
0
10
25
5
52
52
16
6
0
-6
-3
0
0
0
0
0
0
0
61
-106
-52
-31
-22
0
-1
2
8
0
0
0
0
0
0
0
0
0
9
46
4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
0
0
0
0
0
-2
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-17
-50
14
40
55
0
0
0
0
0
0
0
0
0
0
0
-15
26
16
36
-50
-53
8
0
6
0
0
0
0
0
0
0
0
34
29
53
43
-17
71
4
7
24
0
0
0
0
0
0
0
0
42
43
44
64
11
7
-42
43
-32
0
0
0
0
0
0
0
0
14
27
66
17
-68
25
2
-13
46
0
0
0
0
0
0
0
0
-11
53
54
-43
63
-82
41
2
19
0
0
0
0
0
0
0
0
-9
43
-15
-5
-15
0
0
0
-10
0
0
0
0
0
0
0
0
0
-31
0
6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
2
6
0
50
111
7
0
1
0
0
0
0
0
0
0
-9
4
20
-5
14
7
-155
0
16
0
0
0
0
0
0
0
0
13
0
20
46
46
55
31
-14
57
62
0
0
0
0
0
0
0
-5
3
8
32
-35
-18
-40
-113
88
-44
0
0
0
0
0
0
0
-21
25
15
-16
-10
15
-18
2
0
27
0
0
0
0
0
0
0
-21
16
5
2
60
28
60
-23
14
-54
0
0
0
0
0
0
0
3
-13
-10
-4
-40
30
54
58
5
23
0
0
0
0
0
0
0
0
-28
-49
-49
-26
-17
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-9
-13
-33
49
41
-5
0
2
0
0
0
0
0
0
0
9
-21
2
6
-11
28
2
0
-1
0
0
0
0
0
0
0
0
-11
-4
6
53
31
63
-29
31
55
-24
4
0
0
0
0
0
0
-11
13
-15
35
12
33
3
-76
-47
-41
2
0
0
0
0
0
0
-39
23
15
17
-57
27
11
-10
-50
-35
-1
0
0
0
0
0
0
-1
-1
26
-66
42
114
113
-32
44
86
0
0
0
0
0
0
0
0
18
-31
16
-33
26
81
-66
6
-1
0
0
0
0
0
0
0
0
21
11
35
20
91
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
132
37
69
7
-56
-30
4
0
0
0
0
0
0
0
0
0
-49
24
47
43
27
15
-55
0
-10
0
-6
0
0
0
0
0
0
-10
27
47
42
40
93
-77
14
-23
27
1
0
0
0
0
0
0
13
4
-6
35
71
18
-12
-7
33
39
-15
-1
0
0
0
0
0
20
17
-13
4
-62
42
61
39
-15
-95
24
0
0
0
0
0
0
-7
-2
-1
-16
134
37
-82
18
-77
-24
5
0
0
0
0
0
0
-4
18
3
103
3
5
4
-17
-2
0
0
0
0
0
0
0
0
0
-16
-8
-7
21
5
2
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
21
-7
47
32
-24
3
0
0
0
0
0
0
0
0
0
-9
14
25
15
25
-19
-117
0
1
0
0
0
0
0
0
0
0
37
60
29
12
0
49
17
87
-14
-43
1
0
0
0
0
0
0
41
31
4
28
55
-32
14
-5
-31
60
0
2
0
0
0
0
0
37
16
-30
14
-56
-9
-60
19
-30
-20
0
0
0
0
0
0
0
1
70
33
19
-25
9
-67
-56
-32
-61
0
0
0
0
0
0
0
0
14
24
12
-3
120
-16
75
2
16
0
0
0
0
0
0
0
0
17
1
47
17
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
68
-13
65
49
50
1
0
0
-1
0
0
0
0
0
0
0
53
-11
7
47
-40
109
23
0
0
0
0
0
0
0
0
0
0
5
2
-44
55
54
20
73
-14
-118
64
-6
0
0
0
0
0
0
-33
-33
21
21
-9
-6
-8
-3
-50
47
5
0
0
0
0
0
0
45
17
-4
-12
24
2
39
-4
-41
-61
0
0
0
0
0
0
0
0
8
38
-68
36
22
18
6
-2
8
-1
0
0
0
0
0
0
0
1
-52
73
20
6
1
-1
-5
10
0
0
0
0
0
0
0
0
1
3
-14
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-28
-39
-46
39
0
0
0
0
0
0
0
0
0
0
0
0
48
13
-46
-18
6
-2
0
0
0
-1
0
0
0
0
0
0
0
77
17
5
-2
67
1
-22
-1
-7
-8
4
0
0
0
0
0
0
2
25
53
-5
6
67
-32
0
-16
0
0
0
0
0
0
0
0
-19
5
-28
-35
102
30
-1
-52
4
0
0
0
0
0
0
0
0
0
58
27
-7
-17
-4
1
0
2
0
0
0
0
0
0
0
0
0
-3
21
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
4
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-16
6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-12
10
13
4
8
-1
0
0
0
0
0
0
0
0
0
0
-6
3
10
2
1
20
-3
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
40
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
30
7
0
22
0
0
0
0
0
0
0
0
0
0
0
-8
51
-2
14
-3
-4
-1
-6
0
0
0
0
0
0
0
0
0
0
9
7
5
-14
5
0
0
0
0
0
0
0
0
0
0
0
1
49
19
-41
-2
1
0
-2
1
0
0
0
0
0
0
0
0
-5
0
-10
8
-7
4
-1
0
1
0
0
0
0
0
0
0
0
0
5
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
71
0
22
28
24
0
0
0
0
0
0
0
0
0
0
0
10
-34
-8
17
-10
-32
0
0
-10
0
0
0
0
0
0
0
0
-29
39
20
45
61
15
0
0
6
0
0
0
0
0
0
0
0
13
66
-35
24
41
34
-13
21
-10
0
0
0
0
0
0
0
0
59
-51
25
26
-33
-9
4
-13
46
0
0
0
0
0
0
0
0
7
61
42
9
-5
-15
14
-8
40
0
0
0
0
0
0
0
0
-1
-5
2
-7
12
-2
8
0
4
0
0
0
0
0
0
0
0
0
-4
-6
-60
0
-1
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-29
61
-20
38
42
3
-15
0
0
0
0
0
0
0
0
0
0
5
-10
-13
0
3
33
-13
0
58
0
0
0
0
0
0
0
0
4
5
21
19
11
30
-7
-38
165
-48
0
0
0
0
0
0
0
-9
5
10
-15
-5
20
-41
-17
-22
29
0
0
0
0
0
0
0
78
18
19
-5
-14
-36
10
-9
68
20
0
0
0
0
0
0
0
50
21
13
-7
54
9
13
-2
-84
65
0
0
0
0
0
0
0
10
20
11
57
45
70
56
-16
-30
5
0
0
0
0
0
0
0
0
1
83
-28
8
52
-2
-8
-1
-3
0
0
0
0
0
0
0
0
-20
-102
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-22
18
-11
82
1
0
3
0
0
0
0
0
0
0
3
28
-26
-23
-4
52
46
0
3
0
-1
0
0
0
0
0
0
32
-14
13
4
2
44
-75
25
33
26
0
0
0
0
0
0
0
42
23
12
19
23
-55
-23
-75
21
30
-3
0
0
0
0
0
0
-29
92
17
-4
30
102
49
-25
24
21
0
0
0
0
0
0
0
0
-9
1
9
37
28
57
-57
-111
-23
-3
0
0
0
0
0
0
-30
6
4
60
-31
87
17
-122
-24
-1
0
0
0
0
0
0
0
0
-13
-5
-45
18
-20
13
-9
1
0
0
0
0
0
0
0
0
0
0
-4
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
31
-8
11
33
-2
-29
-2
2
0
0
0
0
0
0
0
0
0
-30
-2
1
43
45
-56
47
0
2
0
7
0
0
0
0
0
0
-15
39
0
35
68
-20
-39
21
15
45
-31
0
0
0
0
0
0
-21
28
47
20
-28
46
21
-66
-28
30
-3
2
0
0
0
0
0
46
29
8
-1
55
-45
-76
40
43
-11
-9
0
0
0
0
0
0
2
104
9
-14
46
-47
18
-12
-5
-11
0
0
0
0
0
0
0
1
-37
58
13
49
61
23
-3
-30
1
0
0
0
0
0
0
0
0
-13
-7
29
43
5
-6
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-21
-12
-16
-62
-78
-28
0
0
-1
0
0
0
0
0
0
0
-8
32
64
-53
21
22
-13
0
0
0
0
0
0
0
0
0
0
-28
13
19
20
4
20
-37
4
20
16
-1
0
0
0
0
0
0
-26
24
6
15
29
-33
-7
-79
-98
-44
7
0
0
0
0
0
0
-5
6
20
-1
30
5
24
-24
-112
-41
-1
0
0
0
0
0
0
0
61
2
25
31
-7
-58
-53
48
-32
0
0
0
0
0
0
0
0
13
-6
-10
40
-37
0
-21
-15
8
0
0
0
0
0
0
0
0
-9
12
52
-46
4
0
-1
1
-5
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
35
78
-22
48
12
5
0
0
0
0
0
0
0
0
0
0
5
-12
-55
71
-4
34
-19
0
-8
0
0
0
0
0
0
0
0
6
-53
32
29
76
38
-41
25
24
-1
-1
0
0
0
0
0
0
-5
-12
25
71
-14
-10
31
-71
-125
-13
0
0
0
0
0
0
0
-7
5
13
4
43
54
-50
-34
2
24
-3
0
0
0
0
0
0
0
45
-12
27
70
7
-13
-55
-15
4
-8
0
0
0
0
0
0
0
-2
27
17
94
68
2
0
8
0
0
0
0
0
0
0
0
0
0
1
90
-20
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-96
34
20
3
0
0
0
0
0
0
0
0
0
0
0
39
-103
-53
37
149
10
0
0
0
0
0
0
0
0
0
0
0
-88
12
-14
-35
93
40
3
0
6
3
0
0
0
0
0
0
0
5
-1
147
20
-5
2
-4
0
-25
0
0
0
0
0
0
0
0
-4
9
-28
95
76
-71
2
-3
-9
0
0
0
0
0
0
0
0
23
110
53
-8
6
-1
-3
0
0
1
0
0
0
0
0
0
0
0
28
18
21
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-4
-48
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
8
2
6
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-1
-1
9
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
29
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
34
-8
-8
2
-1
0
0
0
0
0
0
0
0
0
0
7
3
25
-15
-29
-33
-17
0
0
0
0
0
0
0
0
0
0
-1
32
-2
4
-70
6
7
-17
1
-8
0
0
0
0
0
0
0
-8
48
0
59
-20
82
6
0
0
0
0
0
0
0
0
0
0
14
-10
10
-8
-26
10
3
3
-14
0
0
0
0
0
0
0
0
0
-6
-40
-54
-7
7
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
24
2
-3
-8
-3
0
0
2
0
0
0
0
0
0
0
0
21
22
-83
-49
24
-2
0
1
0
0
0
0
0
0
0
0
0
12
-33
75
33
33
-71
2
0
-40
0
0
0
0
0
0
0
0
24
-2
26
-35
13
78
-7
-8
0
0
0
0
0
0
0
0
0
-7
85
-44
-6
-9
-3
4
4
0
0
0
0
0
0
0
0
0
5
23
19
23
-13
-40
1
0
0
0
0
0
0
0
0
0
0
5
-13
-17
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-41
34
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-24
95
-56
27
28
-11
0
0
-8
0
0
0
0
0
0
0
0
31
29
-19
39
28
6
2
-1
-14
0
0
0
0
0
0
0
0
-2
-21
-20
16
11
-23
1
3
-23
0
0
0
0
0
0
0
0
0
-4
-25
-36
62
5
20
-3
3
0
0
0
0
0
0
0
0
-29
-17
51
70
-13
2
31
-11
7
0
0
0
0
0
0
0
0
4
-3
24
1
14
-5
0
-2
-8
0
0
0
0
0
0
0
0
0
63
-2
33
0
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
83
36
-8
-34
37
7
111
0
0
0
0
0
0
0
0
0
0
-4
16
-41
-2
55
76
-22
0
1
0
0
0
0
0
0
0
0
-11
-31
-5
17
4
41
18
3
23
10
0
0
0
0
0
0
0
11
-23
3
-16
27
21
-28
-29
-5
6
0
0
0
0
0
0
0
4
0
3
11
60
15
-78
-33
20
98
0
0
0
0
0
0
0
-16
64
10
-9
47
31
27
-49
29
-44
0
0
0
0
0
0
0
28
-5
21
10
-14
-9
23
-89
-55
-22
0
0
0
0
0
0
0
0
74
15
37
14
51
-4
-4
-1
8
0
0
0
0
0
0
0
0
3
-69
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-11
35
-20
-63
69
0
0
-2
0
0
0
0
0
0
0
8
2
2
4
32
46
29
0
0
0
-6
0
0
0
0
0
0
10
-58
7
27
-15
54
-54
20
38
84
1
0
0
0
0
0
0
23
51
-20
60
-3
4
-4
-66
4
90
1
0
0
0
0
0
0
-94
-15
0
-13
7
0
-14
16
9
-2
-4
0
0
0
0
0
0
0
40
32
-5
7
-2
52
-32
30
47
5
0
0
0
0
0
0
0
-15
29
31
-45
-106
-17
-51
-20
-17
0
0
0
0
0
0
0
0
16
-8
61
29
55
23
-20
-1
-4
0
0
0
0
0
0
0
0
0
8
22
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
-12
45
45
-1
-6
13
0
0
0
0
0
0
0
0
0
0
-6
17
44
60
-28
-53
20
0
0
0
2
0
0
0
0
0
0
-30
-1
-20
-15
62
-69
43
-13
-59
11
4
0
0
0
0
0
0
62
13
0
31
-62
14
-25
24
-41
13
1
0
0
0
0
0
0
17
14
65
0
71
26
2
-25
-3
-14
1
0
0
0
0
0
0
0
4
77
17
-3
-35
1
-77
72
-6
-4
0
0
0
0
0
0
13
36
-22
11
17
17
9
26
-9
-7
0
0
0
0
0
0
0
0
41
7
80
7
-19
71
-1
0
0
0
0
0
0
0
0
0
2
-8
-11
0
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
-47
30
-23
-4
17
59
1
0
-2
0
0
0
0
0
0
0
3
-10
28
37
-2
-69
-36
0
0
0
0
0
0
0
0
0
0
3
-50
18
-33
66
-79
-36
30
-1
-35
2
0
0
0
0
0
0
14
-7
36
11
33
125
-126
-1
-43
83
-1
0
0
0
0
0
0
-78
3
0
63
3
-7
-16
-71
-10
29
0
0
0
0
0
0
0
0
139
23
-25
33
-54
-108
-40
17
5
0
0
0
0
0
0
0
0
5
-19
10
86
-76
-91
-20
-8
4
0
0
0
0
0
0
0
0
13
4
5
17
23
0
12
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
26
-29
10
-4
-4
0
0
0
0
0
0
0
0
0
-3
-47
-22
-23
15
-4
-13
0
0
0
1
0
0
0
0
0
0
13
-44
14
-35
-33
18
17
-3
13
2
0
0
0
0
0
0
0
-5
32
-35
-14
-26
96
55
8
5
10
0
0
0
0
0
0
0
31
-41
-42
70
59
-1
-50
0
-19
14
0
0
0
0
0
0
0
0
9
23
1
0
-11
-4
-4
-23
-32
0
0
0
0
0
0
0
0
10
92
-44
-67
8
24
2
9
2
0
0
0
0
0
0
0
0
5
6
13
48
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
15
-54
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
93
50
43
43
8
0
0
0
0
0
0
0
0
0
0
0
-11
32
106
57
-10
15
0
-7
4
0
0
0
0
0
0
0
0
23
-33
47
47
-5
-11
-2
-1
-44
0
0
0
0
0
0
0
0
50
40
100
-84
-39
0
4
-27
-7
0
0
0
0
0
0
0
0
-20
27
-73
57
12
-7
-4
0
-3
0
0
0
0
0
0
0
0
0
28
21
-2
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
7
-4
-1
-3
0
0
0
0
0
0
0
0
0
6
8
14
-6
-4
2
0
0
-2
0
0
0
0
0
0
0
0
5
-41
-17
-40
5
31
-5
0
0
-1
0
0
0
0
0
0
0
0
2
-9
-7
-17
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
13
-95
7
-20
0
0
0
0
0
0
0
0
0
0
0
13
-31
34
12
34
-6
1
0
0
0
0
0
0
0
0
0
0
-15
-23
-94
-12
28
-5
-2
0
8
-27
0
0
0
0
0
0
0
-7
-8
0
9
-13
-13
-8
4
-5
-1
0
0
0
0
0
0
0
27
10
27
68
44
60
29
-5
0
-10
0
0
0
0
0
0
0
0
-22
46
39
-32
-14
4
1
0
4
0
0
0
0
0
0
0
-3
1
15
14
-14
-1
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
-18
-22
-13
6
0
0
3
0
0
0
0
0
0
0
0
-57
41
-11
44
1
-16
0
0
0
0
0
0
0
0
0
0
0
16
-10
54
-2
-13
-20
0
-8
-29
0
0
0
0
0
0
0
0
2
44
-51
-61
1
-8
0
-4
-7
0
0
0
0
0
0
0
0
-12
-38
47
3
26
13
25
-5
0
0
0
0
0
0
0
0
0
-14
71
-22
-3
49
21
8
0
23
0
0
0
0
0
0
0
0
-2
32
33
8
18
27
-8
43
0
0
0
0
0
0
0
0
0
-4
-10
6
0
3
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
40
-1
-30
-5
19
4
0
0
0
0
0
0
0
0
0
0
34
-18
-4
-15
-73
4
0
-6
3
0
0
0
0
0
0
0
0
-4
13
2
36
5
24
5
0
-70
0
0
0
0
0
0
0
0
-33
-11
70
-17
-72
0
1
12
5
0
0
0
0
0
0
0
0
0
60
5
30
-18
-13
0
31
-62
0
0
0
0
0
0
0
0
7
-18
63
-22
19
6
18
-2
3
0
0
0
0
0
0
0
0
0
24
-2
29
0
30
-5
3
0
0
0
0
0
0
0
0
0
0
0
68
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
19
3
-2
-40
61
69
44
2
0
0
0
0
0
0
0
0
0
-21
9
13
4
37
121
23
0
0
0
0
0
0
0
0
0
0
-1
23
-2
17
30
27
45
-8
10
-5
0
0
0
0
0
0
0
-15
35
-11
40
4
58
-72
19
143
32
0
0
0
0
0
0
0
-32
54
11
65
26
99
0
6
-11
-20
0
0
0
0
0
0
0
-34
0
50
23
97
10
11
5
7
3
0
0
0
0
0
0
0
21
1
17
32
17
-1
-8
-8
-32
4
0
0
0
0
0
0
0
0
55
68
12
-7
-26
18
44
5
0
0
0
0
0
0
0
0
8
7
-11
-3
42
2
0
0
0
0
0
0
0
0
0
0
0
-45
6
11
-13
8
-4
-7
16
0
0
0
0
0
0
0
0
0
0
12
7
0
19
74
-7
0
1
0
0
0
0
0
0
0
0
-39
7
9
7
19
-36
-6
22
10
-30
3
0
0
0
0
0
0
1
0
-28
44
-18
-7
-38
-64
-6
23
0
0
0
0
0
0
0
0
23
-18
-15
-20
11
-12
11
35
61
-8
0
0
0
0
0
0
-5
76
0
-9
-12
55
-40
58
73
-21
0
0
0
0
0
0
0
-7
16
63
28
-21
17
1
-51
-7
50
0
0
0
0
0
0
0
0
-51
22
-47
50
115
-11
0
0
-3
0
0
0
0
0
0
0
-1
0
-2
-3
13
-14
0
0
0
0
0
0
0
0
0
0
0
-28
9
29
28
34
35
0
1
0
0
0
0
0
0
0
0
0
0
19
42
20
60
4
72
0
0
0
2
0
0
0
0
0
0
-37
-14
-18
15
-33
37
-22
-8
0
-34
2
0
0
0
0
0
0
29
52
-5
53
-39
-20
12
-3
43
5
-1
0
0
0
0
0
0
30
9
-2
8
20
-18
-44
-120
-17
-99
3
0
0
0
0
0
0
41
-16
81
0
-8
45
-4
-74
17
-5
1
0
0
0
0
0
0
0
-20
-2
41
3
-34
11
-71
20
-3
0
0
0
0
0
0
0
0
11
-12
-36
64
4
0
-7
0
3
0
0
0
0
0
0
0
0
0
27
0
8
0
0
0
0
0
0
0
0
0
0
0
0
13
0
5
-11
41
7
-4
0
0
0
0
0
0
0
0
0
0
0
63
5
3
5
3
98
0
0
0
0
0
0
0
0
0
0
12
26
-43
1
-1
34
52
1
-8
10
0
0
0
0
0
0
0
3
-11
-40
-13
74
9
94
41
-13
-51
0
0
0
0
0
0
0
45
-20
-8
24
-20
15
94
-51
-55
-49
0
0
0
0
0
0
0
0
42
26
34
0
76
-1
-8
-66
-11
0
0
0
0
0
0
0
0
28
8
-21
30
25
-20
-15
64
28
0
0
0
0
0
0
0
0
36
14
-43
-44
46
3
1
0
-4
0
0
0
0
0
0
0
0
0
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-54
28
-62
-26
22
-9
0
0
0
0
0
0
0
0
0
0
0
121
24
-6
-57
-9
-18
0
0
0
3
0
0
0
0
0
0
9
-86
16
-31
-47
-56
13
0
0
6
-1
0
0
0
0
0
0
-3
-7
-75
33
-23
7
30
-2
5
1
1
0
0
0
0
0
0
-7
10
-31
4
31
18
19
15
-4
36
-1
0
0
0
0
0
0
0
31
-67
58
70
0
58
-29
2
-34
0
0
0
0
0
0
0
-8
1
11
10
65
0
8
36
-24
-7
0
0
0
0
0
0
0
0
8
-8
-59
19
-46
-13
0
-2
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
56
-18
-34
-19
-3
0
0
0
0
0
0
0
0
0
0
0
65
42
-74
72
-24
3
0
0
0
0
0
0
0
0
0
0
0
27
-2
-4
-81
-19
31
0
0
0
0
0
0
0
0
0
0
0
-12
-66
62
71
30
7
3
0
-22
0
0
0
0
0
0
0
0
4
-19
18
38
13
-11
3
-6
-10
0
0
0
0
0
0
0
0
-5
-27
16
10
-23
0
6
0
-47
0
0
0
0
0
0
0
0
0
53
-85
-14
-10
-47
0
-14
0
0
0
0
0
0
0
0
0
1
16
68
0
-29
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-9
-50
-10
2
0
0
0
0
0
0
0
0
0
0
0
2
3
-34
6
0
7
1
0
0
0
0
0
0
0
0
0
0
0
1
-23
-2
-16
-6
3
-2
0
0
0
0
0
0
0
0
0
-2
1
5
-23
-2
-27
2
0
-25
0
0
0
0
0
0
0
0
0
-3
6
-4
10
-19
8
0
-4
0
0
0
0
0
0
0
0
0
0
-1
8
7
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-75
16
12
19
2
0
0
0
0
0
0
0
0
0
0
0
-17
14
39
-28
-8
10
0
0
0
0
0
0
0
0
0
0
-7
19
-64
-8
-16
17
7
0
4
-19
0
0
0
0
0
0
0
0
-81
-19
54
-18
33
-30
-19
-6
10
0
0
0
0
0
0
0
-4
-40
-40
-59
-56
-16
-30
15
0
8
0
0
0
0
0
0
0
-2
-6
14
-2
36
72
24
-1
0
-6
0
0
0
0
0
0
0
0
-10
8
15
20
-16
-5
15
3
0
0
0
0
0
0
0
0
0
-5
3
-1
-23
-40
-3
0
8
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
62
-70
-6
-81
12
-2
0
0
0
0
0
0
0
0
0
0
0
4
-85
-30
15
-3
4
2
0
16
0
0
0
0
0
0
0
0
-10
3
22
7
-27
3
-17
0
1
0
0
0
0
0
0
0
0
-30
6
-13
-46
31
-9
3
12
-8
0
0
0
0
0
0
0
0
40
-7
-42
120
75
56
-2
6
0
0
0
0
0
0
0
0
0
0
-21
16
-56
2
-64
0
7
0
0
0
0
0
0
0
0
0
-1
14
-8
13
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
117
5
0
0
0
0
0
0
0
0
0
0
0
0
15
-29
-7
4
2
2
0
0
0
0
0
0
0
0
0
0
0
4
-19
30
27
-3
16
0
0
3
0
0
0
0
0
0
0
0
66
29
48
58
58
3
0
-5
1
0
0
0
0
0
0
0
0
0
-44
-51
24
17
5
-4
1
2
0
0
0
0
0
0
0
0
0
0
47
0
9
-14
0
0
-1
0
0
0
0
0
0
0
0
0
44
-1
23
0
-5
1
-3
0
0
0
0
0
0
0
0
0
0
0
-15
2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-102
40
18
30
18
57
0
0
0
0
0
0
0
0
0
0
23
20
5
36
-53
18
27
0
0
0
0
0
0
0
0
0
0
22
87
-3
17
-7
46
23
-1
0
57
0
0
0
0
0
0
0
-15
33
36
28
3
45
-7
15
32
-37
0
0
0
0
0
0
0
11
-22
48
11
32
-40
14
-57
-64
21
0
0
0
0
0
0
0
-15
16
27
-1
-43
43
-77
62
-47
8
0
0
0
0
0
0
0
6
0
3
18
-66
9
84
3
34
15
0
0
0
0
0
0
0
0
76
-11
41
-22
73
10
-7
51
4
0
0
0
0
0
0
0
0
-3
9
5
61
0
0
0
0
0
0
0
0
0
0
0
0
0
43
9
-22
58
26
-62
-3
0
0
0
0
0
0
0
0
0
0
56
-12
-15
26
35
30
0
1
0
0
0
0
0
0
0
0
-2
11
17
39
18
-17
51
-11
2
54
-12
0
0
0
0
0
0
0
4
29
4
12
4
12
11
-34
58
0
0
0
0
0
0
0
-2
12
2
96
22
64
-1
-12
-35
44
0
0
0
0
0
0
0
0
15
64
12
46
16
-10
16
20
36
0
0
0
0
0
0
0
-31
41
0
-39
-6
-45
6
52
46
1
0
0
0
0
0
0
0
0
-39
14
25
53
-72
6
-4
5
-12
0
0
0
0
0
0
0
0
0
-6
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
40
14
17
27
-8
1
0
0
0
0
0
0
0
0
0
0
-5
-26
-27
5
64
-28
0
2
0
3
0
0
0
0
0
0
45
24
-5
50
-8
15
-3
-3
-3
-12
-7
0
0
0
0
0
0
-3
-19
24
6
24
-63
-4
48
-1
-7
2
0
0
0
0
0
0
26
10
24
-31
-34
26
31
-97
18
-48
10
0
0
0
0
0
0
-4
9
3
-53
20
0
22
-22
-41
47
29
0
0
0
0
0
0
-21
47
17
0
-64
-19
-39
-7
-21
12
0
0
0
0
0
0
0
-1
48
-15
-47
-6
70
11
1
-1
0
0
0
0
0
0
0
0
-6
0
-24
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-38
-4
6
13
0
0
0
0
0
0
0
0
0
0
-3
29
-67
-10
-16
-6
0
0
0
0
0
0
0
0
0
0
0
-22
-34
3
46
0
54
-45
0
-3
-28
0
0
0
0
0
0
0
0
49
-37
12
13
25
-27
-6
7
45
0
0
0
0
0
0
0
32
6
-16
49
13
30
-22
10
-19
27
0
0
0
0
0
0
0
0
20
14
15
-20
-25
7
31
-63
-20
0
0
0
0
0
0
0
4
49
-10
40
0
24
-20
44
23
-2
0
0
0
0
0
0
0
0
26
75
-13
69
-34
15
0
-28
-81
0
0
0
0
0
0
0
0
0
-18
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-28
17
12
18
0
0
0
0
0
0
0
0
0
0
4
-46
-112
-10
22
2
9
0
0
0
0
0
0
0
0
0
0
-25
14
-43
21
-58
-41
-19
0
0
4
0
0
0
0
0
0
0
-6
20
-25
-52
-38
-47
10
6
-8
-32
0
0
0
0
0
0
0
24
-13
-36
18
4
15
97
-25
0
-24
2
0
0
0
0
0
0
1
43
4
-117
5
-6
21
-23
-7
-17
-1
0
0
0
0
0
0
0
2
10
69
-48
0
86
12
-35
-25
0
0
0
0
0
0
0
0
29
-3
5
2
-39
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
1
-28
-6
-4
0
0
0
0
0
0
0
0
0
0
0
2
65
-35
67
88
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
36
2
7
40
0
0
-6
0
0
0
0
0
0
0
0
-83
8
-21
59
43
3
0
0
1
0
0
0
0
0
0
0
0
4
-97
4
-49
-5
41
-17
0
-2
0
0
0
0
0
0
0
0
-32
17
30
35
-87
20
22
2
-44
0
0
0
0
0
0
0
0
-1
12
-6
-68
4
0
3
-122
-40
0
0
0
0
0
0
0
0
0
19
-130
-51
-3
0
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
32
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
12
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
32
1
-25
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
13
3
12
-16
3
0
-4
0
0
0
0
0
0
0
0
0
3
-5
13
-8
-32
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-22
0
22
0
-1
0
-13
0
0
0
0
0
0
0
0
0
1
0
-25
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
-7
-8
-19
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-62
-22
-62
0
7
2
1
-36
0
0
0
0
0
0
0
0
-118
-23
-75
-71
-31
-24
2
6
-1
0
0
0
0
0
0
0
-3
-4
-18
23
27
2
-34
1
2
-2
0
0
0
0
0
0
0
0
-25
0
21
-14
-62
-7
1
-7
13
0
0
0
0
0
0
0
0
1
13
8
-78
8
-127
0
0
0
0
0
0
0
0
0
0
0
34
-10
18
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-3
4
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
35
-18
4
0
0
2
0
0
0
0
0
0
0
0
-3
8
-8
16
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
23
6
-1
-7
-42
-6
0
-25
0
0
0
0
0
0
0
0
0
-10
8
-9
-9
-62
0
-7
-4
0
0
0
0
0
0
0
0
1
-57
13
38
-8
79
-6
-1
0
0
0
0
0
0
0
0
0
0
1
5
3
5
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
45
1
1
0
0
0
0
0
0
0
0
0
0
0
4
0
2
3
-5
10
0
0
0
0
0
0
0
0
0
0
0
-6
45
2
19
-1
24
0
0
-7
0
0
0
0
0
0
0
0
-67
18
-9
-13
-7
-40
-8
0
9
0
0
0
0
0
0
0
0
2
27
6
29
1
-12
-30
-7
8
0
0
0
0
0
0
0
0
14
6
11
-33
23
0
-11
-15
22
0
0
0
0
0
0
0
0
0
1
1
-17
-8
39
7
8
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
10
20
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
36
33
4
-47
0
0
0
0
0
0
0
0
0
0
0
47
8
-26
-23
50
19
-2
2
-2
0
0
0
0
0
0
0
0
8
65
-13
18
-77
9
24
1
56
-6
0
0
0
0
0
0
0
41
-4
51
20
104
-2
-40
41
80
-2
0
0
0
0
0
0
0
-3
9
7
17
19
21
-2
14
92
-16
0
0
0
0
0
0
0
-39
41
18
46
63
-30
41
50
-6
0
0
0
0
0
0
0
0
2
0
4
67
13
37
-5
34
-16
-7
0
0
0
0
0
0
0
0
-46
28
-9
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-3
-5
-26
0
0
0
0
0
0
0
0
0
0
0
0
35
-29
16
-74
13
5
0
0
0
0
0
0
0
0
0
0
30
7
50
-74
11
26
16
0
0
-16
0
0
0
0
0
0
0
0
37
-55
18
-26
63
51
14
0
-2
0
0
0
0
0
0
0
39
31
27
46
22
-50
-35
26
6
0
0
0
0
0
0
0
0
0
50
8
73
14
88
-74
-10
-18
18
0
0
0
0
0
0
0
-12
-2
34
30
29
24
52
-4
-27
17
0
0
0
0
0
0
0
0
-48
0
23
49
27
-70
-24
7
3
0
0
0
0
0
0
0
0
-4
1
4
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
46
0
-23
0
0
0
0
0
0
0
0
0
0
0
15
-1
-39
-4
41
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-4
-21
-15
8
0
2
0
0
0
0
0
0
0
0
0
-3
-32
36
-9
61
-3
0
0
4
0
0
0
0
0
0
0
0
66
-15
-42
2
-34
1
46
-5
4
0
0
0
0
0
0
0
0
0
19
6
13
55
23
20
4
8
0
0
0
0
0
0
0
0
25
-1
-3
-5
33
1
-6
-42
-3
0
0
0
0
0
0
0
0
0
-24
-11
0
-41
4
-20
0
0
2
0
0
0
0
0
0
0
0
0
-25
9
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
28
0
-5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
37
-9
-13
1
-4
0
0
0
0
0
0
0
0
0
0
0
5
-8
17
-90
-17
-5
3
0
0
0
0
0
0
0
0
0
0
0
9
-99
7
-12
-15
9
2
0
0
0
0
0
0
0
0
0
36
-4
-8
46
5
29
-54
17
7
-7
0
0
0
0
0
0
0
0
-13
25
-4
60
21
-6
-2
4
-3
0
0
0
0
0
0
0
-4
-10
5
10
-31
-7
12
-10
-2
-22
0
0
0
0
0
0
0
0
15
12
27
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
73
-8
1
13
4
0
0
0
0
0
0
0
0
0
0
0
-77
0
-39
-16
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
70
-1
36
7
16
-7
0
0
0
0
0
0
0
0
0
0
-6
0
-35
-41
-33
5
23
-5
-1
2
0
0
0
0
0
0
0
0
-9
2
-40
2
10
9
-1
4
0
0
0
0
0
0
0
0
3
0
-3
9
-17
0
1
0
-5
0
0
0
0
0
0
0
0
0
-2
-4
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-25
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
24
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
14
3
1
0
0
0
0
0
0
0
0
0
0
0
3
9
-25
0
-40
-20
3
0
-6
0
0
0
0
0
0
0
0
0
8
6
29
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-13
8
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-4
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
149
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
41
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
42
-6
-17
1
0
-2
0
0
0
0
0
0
0
0
52
0
23
0
2
3
-4
0
0
0
0
0
0
0
0
0
0
0
38
0
55
1
10
8
0
0
0
0
0
0
0
0
0
0
0
0
100
0
-25
0
1
0
-14
0
0
0
0
0
0
0
0
0
7
0
-28
0
-2
0
-22
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
67
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-8
0
-27
0
0
-1
0
0
0
0
0
0
0
0
2
0
-57
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
29
3
3
37
10
0
0
0
0
0
0
0
0
0
1
56
-85
54
6
12
-75
47
37
0
0
0
0
0
0
0
0
1
-21
2
-28
15
16
40
-25
-13
0
0
0
0
0
0
0
0
-3
0
5
-1
50
25
-17
0
64
0
0
0
0
0
0
0
0
1
2
-1
46
-20
-27
7
-25
72
0
0
0
0
0
0
0
0
0
0
0
-14
-7
85
-41
26
-1
0
0
0
0
0
0
0
0
0
-3
-6
-31
9
-40
-13
29
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
-27
-9
-28
-96
-9
-21
0
4
0
0
0
0
0
0
0
27
10
49
15
-52
-30
-25
-3
5
-136
0
0
0
0
0
0
0
-40
1
43
81
-9
-55
29
-19
-5
-37
0
0
0
0
0
0
0
-28
-40
73
-58
31
-6
-10
-6
-11
34
0
0
0
0
0
0
0
-21
-15
-84
9
12
-79
-2
37
2
-30
0
0
0
0
0
0
0
0
-8
41
43
26
5
47
0
39
3
0
0
0
0
0
0
0
0
36
50
56
4
48
37
-12
9
-19
0
0
0
0
0
0
0
0
25
1
-13
9
-86
-26
-7
71
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
11
0
29
-25
-107
-93
-62
0
-9
8
0
0
0
0
0
0
-22
51
-53
125
-56
-69
-23
-61
-43
10
0
0
0
0
0
0
0
6
-8
13
-28
139
-123
-60
-16
-2
-60
1
0
0
0
0
0
0
0
-25
-43
81
-113
-11
-15
-8
7
-22
-29
0
0
0
0
0
0
0
70
0
-5
39
-49
28
12
-3
11
0
0
0
0
0
0
0
0
-17
9
-23
55
42
7
65
39
3
-44
0
0
0
0
0
0
0
-26
8
17
-36
67
15
-38
47
40
0
0
0
0
0
0
0
0
-41
-18
-54
-8
-40
-60
-25
9
96
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-54
-18
-30
60
0
-43
2
0
0
0
0
0
0
25
-37
142
-28
99
-14
1
-32
5
0
13
0
0
0
0
0
0
4
46
-24
3
-37
36
7
78
29
25
-6
0
0
0
0
0
0
-38
38
31
-25
5
20
87
45
-4
-48
9
0
0
0
0
0
0
-22
59
-47
-1
71
18
-25
96
-39
14
1
0
0
0
0
0
0
0
-3
0
-2
4
-36
-5
-7
-24
29
0
-2
0
0
0
0
0
0
2
-1
0
31
-18
34
-3
2
55
-1
0
0
0
0
0
0
0
0
2
0
5
-50
-42
25
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-12
-2
-22
0
-21
-2
-1
0
0
0
0
0
-4
-60
-78
124
8
23
-23
-27
-52
-42
13
0
0
0
0
0
0
-2
14
44
40
-23
21
-6
-59
8
-84
-19
1
0
0
0
0
0
0
-54
52
59
-57
-17
-17
47
-29
26
2
0
0
0
0
0
0
0
74
-25
-11
18
-20
-30
-15
68
-46
-1
0
0
0
0
0
0
0
5
-23
6
-4
-11
-65
24
-64
-10
-7
0
0
0
0
0
0
0
-7
24
1
24
26
-6
-81
-60
-16
0
0
0
0
0
0
0
0
0
3
0
1
16
-66
-48
28
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
45
-71
0
-19
9
0
0
0
0
0
0
0
-7
-63
55
49
91
0
36
-23
32
-22
0
0
0
0
0
0
0
-2
-42
13
-87
2
-4
79
-37
-44
-2
0
0
0
0
0
0
4
4
49
-5
-3
-52
-34
32
-34
14
44
0
0
0
0
0
0
1
29
-8
1
-52
51
26
-65
37
55
-14
0
0
0
0
0
0
0
-4
0
-8
6
82
41
16
32
-64
6
0
0
0
0
0
0
0
0
3
-1
18
-48
-4
74
-14
-1
0
0
0
0
0
0
0
0
0
0
0
4
-36
-2
45
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-5
0
0
0
0
0
0
0
0
99
27
7
0
0
-28
-1
-49
-32
1
0
0
0
0
0
0
0
36
0
47
0
-26
39
66
-88
-10
3
0
0
0
0
0
0
0
0
6
0
18
65
-133
60
-71
-12
0
0
0
0
0
0
0
0
8
-1
0
-2
1
-21
-24
26
-67
2
0
0
0
0
0
0
0
9
1
-1
0
-8
-94
-1
-10
21
3
0
0
0
0
0
0
0
0
13
0
3
-12
9
-140
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-116
119
-105
47
-53
-16
-23
39
0
0
0
0
0
0
0
0
0
-1
-82
-55
66
-68
-14
-60
21
31
0
0
0
0
0
0
0
0
-13
-8
32
50
78
17
0
-10
31
0
0
0
0
0
0
0
0
-20
-13
1
26
92
-45
-44
37
33
0
0
0
0
0
0
0
0
-8
-3
16
-15
62
10
-47
3
24
0
0
0
0
0
0
0
0
-1
60
2
13
-16
5
33
-30
-3
0
0
0
0
0
0
0
0
-10
-24
6
-8
-58
24
60
-8
-39
0
0
0
0
0
0
0
0
0
9
0
-8
0
7
40
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
11
0
0
0
0
0
0
0
0
0
0
-42
200
-50
-31
-39
-19
-36
0
-5
0
0
0
0
0
0
0
-47
8
-25
-81
41
-54
-12
6
-18
-74
0
0
0
0
0
0
0
-38
7
85
-97
-43
-8
0
-36
20
-48
0
0
0
0
0
0
0
25
42
-85
-29
-16
24
-2
9
-21
-6
0
0
0
0
0
0
0
-40
46
-48
7
17
-56
24
27
17
44
0
0
0
0
0
0
0
-17
35
-20
8
28
8
34
6
-54
14
0
0
0
0
0
0
0
52
-7
36
-76
-60
15
39
10
27
-14
0
0
0
0
0
0
0
-1
2
0
-47
18
-28
-7
42
50
99
0
0
0
0
0
0
0
0
0
-2
0
30
0
-47
-1
6
0
0
0
0
0
0
0
0
19
54
27
143
-36
22
-9
-50
0
-3
10
0
0
0
0
0
0
71
-57
-6
-94
-102
-42
-44
-3
-7
-40
47
0
0
0
0
0
0
17
-106
-41
60
-30
-17
-67
-20
3
-9
4
0
0
0
0
0
0
1
-71
58
-150
-22
-35
12
-23
-20
-3
-9
0
0
0
0
0
0
-2
5
-16
33
-69
-16
-15
14
-15
-47
-14
0
0
0
0
0
0
0
38
21
106
-29
-71
10
-20
4
-10
1
0
0
0
0
0
0
0
3
7
-2
-10
-62
2
-16
-5
62
-2
0
0
0
0
0
0
0
5
0
-1
8
47
-55
-50
45
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
1
0
0
0
0
0
0
0
5
-141
92
14
4
-41
20
5
0
-46
-36
0
0
0
0
0
0
-52
151
-32
34
11
31
-17
26
-11
-57
-12
0
0
0
0
0
0
134
-27
33
-61
10
-45
14
-17
49
-30
34
-3
0
0
0
0
0
23
1
-75
-12
-85
-39
11
43
0
-15
30
0
0
0
0
0
0
48
-83
68
-36
43
-70
10
-16
37
-21
25
-5
0
0
0
0
0
2
0
-14
-15
-59
26
-16
-34
11
80
24
0
0
0
0
0
0
-1
5
-9
-1
26
1
20
-3
-100
-50
5
0
0
0
0
0
0
3
-1
4
-8
-24
-90
-70
-19
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
-23
0
0
0
0
0
0
0
0
0
52
-93
-58
67
-31
56
-47
-45
0
15
-4
0
0
0
0
0
0
27
37
40
-9
-128
43
-29
7
21
-105
12
-2
0
0
0
0
0
14
-16
-65
85
-91
36
-57
21
33
-23
16
0
0
0
0
0
0
10
-17
46
-6
-16
48
-21
50
36
-37
13
-3
0
0
0
0
0
20
18
0
13
-1
66
-16
-6
-27
6
1
13
0
0
0
0
0
-3
9
43
78
5
-30
-34
7
-30
4
-6
0
0
0
0
0
0
0
-4
-5
1
-42
-5
-31
-48
-24
27
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
-5
-17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
16
12
6
29
8
35
-10
-17
0
-40
-16
0
0
0
0
0
0
-2
-1
34
-5
19
33
-65
4
1
54
19
0
0
0
0
0
0
4
-12
35
42
-74
6
-32
-16
24
46
6
-1
0
0
0
0
0
16
-25
-29
84
-40
21
54
17
21
23
8
-1
0
0
0
0
0
3
-24
58
31
-5
8
-3
-28
7
27
8
4
-1
0
0
0
0
0
41
49
6
-33
-62
-3
-78
15
-19
13
1
0
0
0
0
0
-4
0
0
2
5
-34
35
-18
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-18
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-4
23
-4
18
-3
0
-24
-4
0
0
0
0
0
0
0
-2
-10
-5
18
-48
26
-22
40
14
17
0
0
0
0
0
0
0
70
-1
-33
-31
18
43
80
-33
66
-25
0
0
0
0
0
0
0
2
0
-9
8
-42
-51
-3
-22
12
1
0
0
0
0
0
0
0
3
0
-1
9
14
3
26
-15
-45
-4
-2
0
0
0
0
0
0
0
-8
0
-2
34
-41
-66
-58
-30
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-32
45
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-17
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
-1
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
27
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-13
-3
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
8
-3
0
15
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
6
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
76
-1
-2
11
46
21
20
0
0
0
0
0
0
0
0
0
9
-90
-60
6
-23
35
-43
22
46
0
0
0
0
0
0
0
0
7
-23
14
-50
121
-39
18
10
-45
0
0
0
0
0
0
0
0
-4
13
2
-75
4
-57
-24
52
-8
0
0
0
0
0
0
0
0
6
-7
12
73
37
7
-10
-30
21
0
0
0
0
0
0
0
0
-3
9
5
-58
-32
31
-26
-11
0
0
0
0
0
0
0
0
0
0
-16
0
0
2
68
18
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
12
0
48
67
20
-41
42
9
0
85
0
0
0
0
0
0
0
7
-28
94
29
14
7
7
5
34
-9
0
0
0
0
0
0
0
-92
-19
11
76
13
27
21
14
11
-20
0
0
0
0
0
0
0
28
112
98
2
14
-25
37
25
5
-55
0
0
0
0
0
0
0
-12
-19
47
-8
3
53
-22
57
11
-44
0
0
0
0
0
0
0
39
71
-100
-27
-23
37
21
10
40
19
0
0
0
0
0
0
0
19
0
-74
-4
50
46
31
13
11
-12
0
0
0
0
0
0
0
0
0
-5
3
-68
23
17
8
-36
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
-2
6
3
-15
-8
-57
-29
-21
0
3
-3
0
0
0
0
0
0
-61
34
15
98
2
27
-45
13
23
4
-18
0
0
0
0
0
0
-3
-1
6
-36
-20
-44
7
-22
-9
-20
-1
0
0
0
0
0
0
-24
15
25
57
10
6
13
2
-33
-18
0
0
0
0
0
0
0
-1
-37
95
-5
61
-57
-9
-11
29
6
5
0
0
0
0
0
0
0
-21
-44
-24
85
-103
6
14
2
-38
2
0
0
0
0
0
0
0
-41
-8
34
-59
-88
70
11
-6
-27
0
0
0
0
0
0
0
0
-1
-4
0
13
-58
-78
71
40
23
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
0
0
0
0
0
0
0
0
0
-53
34
44
-2
-53
111
16
34
0
-26
4
0
0
0
0
0
0
0
-33
100
65
-5
-24
-7
8
44
-58
-7
1
0
0
0
0
0
17
-18
18
47
-19
14
13
12
27
-39
-21
0
0
0
0
0
0
27
-46
102
-71
8
-97
-22
-20
-6
-10
-43
0
0
0
0
0
0
-48
54
4
1
-61
33
5
-5
-58
68
-16
1
0
0
0
0
0
0
47
2
9
-27
-53
-77
-10
10
43
-12
0
0
0
0
0
0
0
-9
20
1
-40
33
-17
5
11
22
-2
0
0
0
0
0
0
0
0
0
0
5
-84
-13
-47
2
24
0
0
0
0
0
0
0
0
0
0
0
7
-4
6
0
0
0
0
0
0
0
0
0
0
-6
-104
2
157
-20
12
6
-16
0
-32
17
18
0
0
0
0
0
-12
-90
33
8
-23
32
-11
-12
30
-99
-26
-8
0
0
0
0
0
2
30
6
-73
-3
-19
-21
-25
7
-47
6
0
0
0
0
0
0
8
-60
30
98
-6
8
-18
-3
-73
-70
-10
4
0
0
0
0
0
13
-90
47
-62
-50
-29
-24
-42
-47
-7
-20
0
0
0
0
0
0
1
-41
56
56
-3
0
-72
61
-59
-19
3
0
0
0
0
0
0
0
0
4
41
-2
-10
-32
-32
52
36
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
-11
4
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
4
-16
32
34
19
-37
51
-29
0
-77
21
0
0
0
0
0
0
24
53
23
-6
-51
8
87
21
48
-42
-20
0
0
0
0
0
0
-2
10
19
13
-40
74
66
15
25
1
-7
0
0
0
0
0
0
-8
129
69
51
102
75
63
-1
-20
5
-2
0
0
0
0
0
0
-25
-6
32
34
20
30
-27
-45
-6
-10
-8
0
0
0
0
0
0
0
-1
8
3
24
-100
-7
21
0
-51
-1
0
0
0
0
0
0
0
0
1
-2
-3
-8
50
34
-23
24
-2
0
0
0
0
0
0
0
0
1
0
0
-14
0
43
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-1
-67
44
0
0
-2
6
2
0
0
0
0
0
0
2
0
-2
-22
74
94
11
-3
-39
15
0
0
0
0
0
0
0
3
-1
13
-23
46
66
-59
30
17
2
0
0
0
0
0
0
0
-19
41
-20
-51
43
4
-12
-62
31
-4
0
0
0
0
0
0
0
1
2
0
-5
-44
-30
-4
-50
33
4
0
0
0
0
0
0
0
0
4
0
12
-9
18
24
-65
0
-2
0
0
0
0
0
0
0
0
-4
3
0
0
-33
33
9
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
3
0
-1
-3
0
0
0
0
0
0
0
0
-1
5
0
8
-1
4
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
-4
0
17
2
14
14
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
7
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
8
-6
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
-1
10
-30
31
-6
-43
0
0
0
0
0
0
0
0
0
-1
2
0
-1
41
6
-38
-5
0
0
0
0
0
0
0
0
0
-1
-1
3
-10
8
14
-4
-22
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-6
24
4
29
0
8
0
0
0
0
0
0
0
0
-1
2
-6
-3
-24
-8
1
4
76
0
0
0
0
0
0
0
0
-25
6
-8
51
-9
13
2
53
-8
0
0
0
0
0
0
0
0
-6
3
-5
-1
-25
0
-43
-20
9
0
0
0
0
0
0
0
0
4
-3
-1
-9
8
-1
-1
18
12
0
0
0
0
0
0
0
0
-3
4
8
0
-5
0
32
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-4
-3
-75
-25
-8
0
0
0
0
0
0
0
0
0
1
-8
22
-47
60
2
-69
16
-5
0
0
0
0
0
0
0
0
-1
25
-1
83
-15
-55
-31
57
-33
0
0
0
0
0
0
0
0
0
0
3
11
-8
68
-75
-10
-22
0
0
0
0
0
0
0
0
0
5
-1
-17
6
64
27
82
-5
0
0
0
0
0
0
0
0
0
-3
8
-8
25
-6
17
49
0
0
0
0
0
0
0
0
0
0
0
4
81
12
130
-22
-8
5
0
0
0
0
0
0
0
0
0
0
3
12
0
-42
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
-18
-5
32
-97
-11
25
-15
21
0
51
0
0
0
0
0
0
0
-37
59
29
14
-60
18
29
35
30
-29
0
0
0
0
0
0
0
70
125
78
-4
2
-68
3
-17
8
-5
0
0
0
0
0
0
0
6
9
46
39
-72
-11
-37
13
-15
52
0
0
0
0
0
0
0
18
71
-6
-71
-51
32
17
-1
65
-20
0
0
0
0
0
0
0
-20
5
37
15
-34
15
-72
22
19
25
0
0
0
0
0
0
0
16
28
91
46
26
-58
56
-19
-4
5
0
0
0
0
0
0
0
0
2
-12
3
-11
45
49
68
-19
-4
0
0
0
0
0
0
0
0
0
0
-6
9
-1
7
6
0
0
0
0
0
0
0
0
0
0
-119
27
114
-30
15
14
6
0
-45
8
0
0
0
0
0
0
40
-37
28
19
0
-13
12
13
16
-31
13
0
0
0
0
0
0
-14
88
35
-19
-100
52
19
2
-14
-30
-1
0
0
0
0
0
0
0
88
3
-6
-113
-137
-44
-34
11
-21
-5
0
0
0
0
0
0
56
14
-11
-99
19
13
-23
-11
-54
60
0
0
0
0
0
0
0
-4
107
74
-5
85
5
35
-10
-55
47
-4
0
0
0
0
0
0
0
-44
33
69
-62
13
81
-12
2
34
-2
0
0
0
0
0
0
0
-21
0
-5
1
-3
16
-29
76
72
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
9
4
0
0
0
0
0
0
0
0
30
7
3
31
-43
12
98
86
0
-13
13
0
0
0
0
0
0
-45
-5
-54
18
-70
53
-10
31
30
-9
4
0
0
0
0
0
0
-48
-14
97
-53
-78
13
15
-6
-23
-15
9
0
0
0
0
0
0
25
7
-9
-5
-102
-20
-57
0
-23
-39
-15
0
0
0
0
0
0
51
78
18
-17
-110
-42
-19
-3
-37
-26
1
0
0
0
0
0
0
2
56
103
-16
-26
46
-37
49
64
53
12
-1
0
0
0
0
0
0
16
-41
3
57
-24
131
31
19
-27
0
0
0
0
0
0
0
0
2
-5
3
10
26
-52
64
-54
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-1
-4
0
0
0
0
0
0
0
0
16
34
7
-70
-36
-22
29
0
29
6
-4
0
0
0
0
0
20
-56
-33
-29
-27
8
23
0
57
10
-1
0
0
0
0
0
0
-5
48
-49
68
16
-16
7
12
-9
-54
0
0
0
0
0
0
0
-2
-7
-61
-22
-21
-25
-27
-50
-24
-35
-6
2
0
0
0
0
0
-5
-100
-31
-49
-82
-22
-17
22
-69
-63
0
-2
0
0
0
0
0
0
-40
91
-18
-23
18
101
32
-4
50
0
0
0
0
0
0
0
0
5
-3
-6
-28
-21
23
96
-53
-3
0
0
0
0
0
0
0
0
-1
0
-2
0
49
12
-55
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-68
-11
-16
-39
0
31
-29
0
0
0
0
0
0
8
27
-29
27
-62
78
120
11
60
-10
70
0
0
0
0
0
0
0
-15
-31
23
46
25
39
29
24
-54
16
0
0
0
0
0
0
0
-7
-1
-16
41
-9
-26
-29
-42
6
8
0
0
0
0
0
0
45
15
14
-1
-32
-7
7
7
-21
-19
9
-8
0
0
0
0
0
0
2
12
12
-63
5
-54
94
25
79
3
0
0
0
0
0
0
0
1
-8
-4
-26
-32
16
-7
-22
10
2
0
0
0
0
0
0
0
0
8
0
0
9
-10
-24
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-29
1
8
0
50
7
0
0
0
0
0
0
0
-8
0
-2
-8
16
43
42
-25
50
62
2
0
0
0
0
0
0
-8
1
-8
-51
30
-112
87
33
-39
13
0
0
0
0
0
0
0
4
0
-10
-1
-6
3
-35
28
24
5
0
0
0
0
0
0
0
-1
-4
-6
16
4
-101
73
8
-44
0
0
0
0
0
0
0
0
-10
-1
-1
-3
67
-9
61
2
-3
-2
0
0
0
0
0
0
0
0
0
0
-17
2
-26
-4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-12
0
41
0
0
0
0
0
0
0
0
1
0
0
0
33
-30
68
-23
1
20
0
0
0
0
0
0
0
0
0
-1
9
13
1
7
6
18
0
0
0
0
0
0
0
-1
1
0
0
-1
-44
0
6
-46
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-12
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
1
6
-25
-6
-8
-44
0
-8
0
0
0
0
0
0
0
-5
-25
-13
17
-5
-16
1
25
-32
-13
0
0
0
0
0
0
0
0
-1
-5
1
-21
-41
94
-5
15
-1
0
0
0
0
0
0
0
-42
4
0
2
10
-77
-46
41
-3
-57
0
0
0
0
0
0
0
1
-14
-3
5
6
12
39
-5
51
0
0
0
0
0
0
0
0
0
0
-1
8
14
-33
0
-6
-1
0
0
0
0
0
0
0
0
0
5
-4
1
3
0
24
-4
-3
0
0
0
0
0
0
0
0
0
3
0
-3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
-3
15
-48
-73
0
3
0
0
0
0
0
0
0
0
-55
-3
-9
-42
-31
-47
17
46
-6
0
0
0
0
0
0
0
0
-19
1
-20
11
-56
25
40
59
-8
0
0
0
0
0
0
0
0
9
-5
-3
-31
6
-136
55
26
0
0
0
0
0
0
0
0
0
10
0
-8
1
-31
-47
3
0
-7
0
0
0
0
0
0
0
0
-4
-8
1
7
-2
2
18
15
-3
0
0
0
0
0
0
0
0
0
9
-3
-6
1
0
8
39
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
5
-3
1
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
1
12
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
-1
6
4
5
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
44
-65
29
46
0
0
0
0
0
0
0
0
0
0
-7
5
9
-48
20
-53
27
25
0
0
0
0
0
0
0
0
0
1
0
-68
-90
-49
-27
-11
-50
0
0
0
0
0
0
0
0
0
43
-1
-16
45
-9
114
-37
-18
0
0
0
0
0
0
0
0
0
0
0
-15
33
2
9
-56
6
0
0
0
0
0
0
0
0
-1
-8
-70
17
53
56
-35
-12
-1
0
0
0
0
0
0
0
0
0
28
0
-4
47
-29
-9
4
52
0
0
0
0
0
0
0
0
0
-2
-1
0
0
58
-17
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
29
2
0
0
0
0
0
0
0
0
0
-8
-16
-118
-3
-10
95
-2
-6
0
33
0
0
0
0
0
0
0
32
5
-44
28
-48
6
47
38
-5
77
0
0
0
0
0
0
0
25
25
42
9
47
28
8
-38
-4
-35
0
0
0
0
0
0
0
-7
47
28
-115
-16
5
6
-3
14
26
0
0
0
0
0
0
0
-10
0
10
38
12
6
-25
50
-45
-15
0
0
0
0
0
0
0
46
-30
58
5
42
18
-8
-16
-17
52
0
0
0
0
0
0
0
-3
0
21
-35
-88
7
18
-32
0
-1
0
0
0
0
0
0
0
0
0
4
1
20
26
-17
9
-38
-8
0
0
0
0
0
0
0
0
0
0
0
-4
0
63
-5
-12
0
0
0
0
0
0
0
0
0
-27
-17
-144
47
-21
33
-18
0
-15
0
0
0
0
0
0
0
0
-33
-7
23
-32
50
-29
4
27
-27
111
0
0
0
0
0
0
0
19
21
25
41
-20
13
-4
45
18
-2
0
0
0
0
0
0
-7
61
-13
-86
59
10
4
7
-75
-38
-30
0
0
0
0
0
0
0
29
0
-13
-51
-51
3
-40
-5
-36
0
0
0
0
0
0
0
10
104
-45
5
-34
26
3
-10
-1
65
2
0
0
0
0
0
0
3
51
-18
-11
38
-53
20
-36
-14
-63
0
0
0
0
0
0
0
0
-15
22
-14
2
80
9
12
-8
2
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-1
-4
-37
31
15
46
0
11
7
0
0
0
0
0
0
-5
-4
20
22
-41
-24
21
26
35
-71
85
0
0
0
0
0
0
-1
60
30
-26
-59
-104
37
4
-56
45
8
0
0
0
0
0
0
21
-31
48
26
-35
82
69
-4
15
23
2
0
0
0
0
0
0
-9
5
-1
0
-18
-7
-6
-21
-8
-44
-3
0
0
0
0
0
0
-7
30
-49
-1
-47
-10
21
-14
-23
-34
6
0
0
0
0
0
0
-2
67
111
0
19
19
106
91
-1
-1
9
0
0
0
0
0
0
2
0
0
16
-34
-60
17
-72
75
15
0
0
0
0
0
0
0
0
0
0
0
-11
0
-67
-1
-18
1
0
0
0
0
0
0
0
0
8
2
-7
-11
-12
2
-6
0
18
-2
0
0
0
0
0
0
0
47
80
-12
-67
50
30
10
-1
-26
31
6
0
0
0
0
0
1
13
-25
-3
-34
-46
104
-21
30
4
12
0
0
0
0
0
0
0
-91
10
-6
-60
-89
16
81
-30
-82
-2
0
0
0
0
0
0
0
20
-5
-3
0
12
-21
16
-43
-61
1
2
0
0
0
0
0
-7
-9
-17
45
-21
-16
66
16
2
-41
-23
0
0
0
0
0
0
9
38
91
-52
-8
-48
96
-24
-19
-2
0
0
0
0
0
0
0
0
-3
-6
-5
-2
50
79
94
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
2
0
2
2
-42
-18
-69
-39
0
17
1
0
0
0
0
0
0
0
-2
-13
13
57
-42
-62
-54
12
-47
1
0
0
0
0
0
0
0
21
-3
29
5
-50
-18
-5
58
48
-7
0
0
0
0
0
0
-4
30
-24
18
-69
107
19
4
75
-56
-20
0
0
0
0
0
0
0
-27
8
-1
-34
0
-4
-4
-8
-30
0
0
0
0
0
0
0
5
8
-31
-60
-6
-6
7
1
32
-60
2
0
0
0
0
0
0
6
4
12
33
19
-6
87
-6
37
1
0
0
0
0
0
0
0
0
-5
0
-43
0
-55
14
64
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
-6
-17
0
-2
50
-42
-109
0
33
-5
0
0
0
0
0
0
0
-6
-2
0
9
2
49
25
25
-9
-4
0
0
0
0
0
0
0
67
5
0
10
57
-66
13
58
-85
-1
0
0
0
0
0
0
0
6
-13
-1
-69
-29
34
-5
-2
-113
-3
0
0
0
0
0
0
0
0
0
-5
-2
2
0
47
21
-17
1
-4
0
0
0
0
0
0
1
3
3
7
-7
-79
55
59
10
-2
0
0
0
0
0
0
0
0
-17
2
0
-5
39
-2
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
-26
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
13
23
-3
0
-8
0
0
0
0
0
0
0
0
2
0
8
2
11
34
-42
-7
5
0
0
0
0
0
0
0
-2
0
-2
6
8
2
-15
50
-5
10
0
0
0
0
0
0
0
3
0
1
-31
-5
-24
2
-33
1
-4
0
0
0
0
0
0
0
1
0
0
1
7
-7
5
0
-20
-5
0
0
0
0
0
0
0
-1
2
-1
-5
1
-8
2
-50
1
0
8
0
0
0
0
0
0
0
0
7
0
30
1
-10
7
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-42
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
13
25
12
-59
-84
-8
0
-5
0
0
0
0
0
0
0
-7
-1
-4
49
-22
52
8
8
22
-16
1
0
0
0
0
0
0
1
-13
1
-6
2
-3
25
65
-24
2
0
0
0
0
0
0
0
24
5
-5
-3
-63
-38
-83
-20
14
0
0
0
0
0
0
0
0
-6
3
2
-22
29
-71
-59
-53
0
-5
0
0
0
0
0
0
0
0
-10
-7
-3
-10
27
9
23
18
7
0
0
0
0
0
0
0
2
-3
0
0
32
-15
23
6
-5
-2
0
0
0
0
0
0
0
0
-5
-1
5
-6
5
-1
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
6
-8
7
-33
12
0
-6
0
0
0
0
0
0
0
0
29
-5
-18
-47
55
94
22
17
-64
0
0
0
0
0
0
0
0
-14
8
-19
65
28
141
11
-76
-5
0
0
0
0
0
0
0
0
10
12
-18
16
26
115
53
-2
-45
0
0
0
0
0
0
0
0
7
0
43
-24
31
27
50
58
0
0
0
0
0
0
0
0
0
-41
10
1
-74
29
17
-134
0
-27
0
0
0
0
0
0
0
0
8
17
-5
12
6
-49
0
39
1
0
0
0
0
0
0
0
0
0
0
0
0
-45
-10
17
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
-40
0
0
0
0
0
0
0
0
-3
-1
0
0
1
-4
0
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
9
-12
-14
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
-6
-27
21
36
0
0
0
0
0
0
0
0
0
0
3
-1
-3
11
-3
20
3
-5
0
0
0
0
0
0
0
0
0
-5
0
-1
44
-10
18
-58
-24
0
0
0
0
0
0
0
0
0
-2
-2
-18
-9
-7
-22
-23
2
0
0
0
0
0
0
0
0
0
-9
-22
24
-4
19
27
20
24
0
0
0
0
0
0
0
0
0
8
4
6
-13
-53
-22
10
0
0
0
0
0
0
0
0
0
0
11
13
-6
-48
-15
-3
0
18
0
0
0
0
0
0
0
0
0
-42
-3
23
0
-13
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-23
-9
-1
0
0
0
0
0
0
0
0
1
0
27
87
53
26
34
-31
0
-25
0
0
0
0
0
0
0
-34
29
-45
-51
-77
-7
-43
-3
-13
23
0
0
0
0
0
0
0
-13
5
-2
-15
67
-21
10
18
-35
12
0
0
0
0
0
0
0
-16
-3
-55
101
-2
-34
9
14
14
31
0
0
0
0
0
0
0
78
118
-9
-9
16
-14
-2
29
7
53
0
0
0
0
0
0
0
0
0
-14
9
-63
-20
-41
-6
-5
-24
0
0
0
0
0
0
0
1
-3
-50
-21
-16
21
17
-92
34
-4
0
0
0
0
0
0
0
-2
8
27
-83
8
2
-26
-12
1
13
0
0
0
0
0
0
0
0
0
0
0
65
-1
-32
-2
0
0
0
0
0
0
0
0
0
0
8
4
-2
-22
-27
16
75
0
-46
-6
0
0
0
0
0
0
0
-54
27
-7
-64
4
39
24
45
-20
-22
0
0
0
0
0
0
0
16
10
3
-45
85
29
-1
-12
2
-6
0
0
0
0
0
0
2
57
-2
6
80
-32
10
29
20
-27
13
0
0
0
0
0
0
34
16
-30
25
-35
-62
-27
-4
-74
8
-1
0
0
0
0
0
0
0
-4
0
10
88
-64
-21
-26
-8
-129
0
0
0
0
0
0
0
-1
109
1
16
-40
-27
12
5
-47
-4
0
0
0
0
0
0
0
0
3
0
-57
-16
-18
46
-50
-67
28
0
0
0
0
0
0
0
0
0
0
0
5
0
-27
19
1
0
0
0
0
0
0
0
0
0
-6
0
-31
-18
-97
-15
41
0
11
-3
0
0
0
0
0
0
0
-5
3
40
-55
11
20
-8
19
16
35
0
0
0
0
0
0
4
4
8
-1
-31
-4
25
3
-11
29
31
0
0
0
0
0
0
-24
8
37
-48
46
37
7
27
24
-4
21
0
0
0
0
0
0
-9
-46
27
39
-70
1
75
67
-10
51
0
0
0
0
0
0
0
-4
1
20
0
-49
-106
-89
12
-18
-10
6
0
0
0
0
0
0
0
23
86
-11
-123
-68
3
-27
27
-36
0
0
0
0
0
0
0
0
-3
6
16
10
25
-72
26
-28
-9
0
0
0
0
0
0
0
0
0
0
0
7
-24
19
-5
0
0
0
0
0
0
0
0
0
1
-3
9
-25
41
23
-33
22
0
37
8
0
0
0
0
0
0
0
12
-19
10
15
31
43
-14
17
23
26
0
0
0
0
0
0
0
-54
2
15
-71
-114
10
84
49
27
0
0
0
0
0
0
0
12
24
53
-101
-1
-6
5
19
22
-41
0
0
0
0
0
0
0
-5
-61
24
-13
43
-76
41
36
-26
-9
0
0
0
0
0
0
0
0
-13
49
0
0
-25
-29
-30
-20
-116
5
0
0
0
0
0
0
0
-7
-51
-15
-27
91
5
6
-11
-42
0
0
0
0
0
0
0
0
-8
32
-7
0
-38
29
11
-91
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
-23
-2
-59
32
0
12
0
0
0
0
0
0
0
0
41
-1
-24
2
-20
-115
0
-35
51
59
0
0
0
0
0
0
2
5
19
-3
-4
15
32
-20
1
4
13
0
0
0
0
0
0
-2
-1
1
6
38
47
24
57
-60
-10
48
0
0
0
0
0
0
4
-72
-6
0
-42
-9
11
27
22
30
2
0
0
0
0
0
0
0
0
6
0
1
0
10
-23
22
43
-5
0
0
0
0
0
0
0
1
17
21
-15
-8
-12
-19
0
18
0
0
0
0
0
0
0
0
0
-3
0
2
-42
24
13
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-30
-49
-49
0
47
-4
0
0
0
0
0
0
0
-5
-1
-1
16
3
-47
-24
-112
43
1
0
0
0
0
0
0
0
-8
-1
0
5
-39
68
-10
39
13
2
0
0
0
0
0
0
0
-51
2
0
-25
75
-43
11
26
-52
-4
0
0
0
0
0
0
0
-26
-1
4
4
-1
9
-27
-45
-70
0
0
0
0
0
0
0
0
2
0
-7
-23
-25
0
-29
-5
42
1
0
0
0
0
0
0
0
0
40
20
-9
-3
67
3
29
-13
0
0
0
0
0
0
0
0
0
0
1
0
2
-8
-24
-7
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
-2
-24
5
0
-7
0
0
0
0
0
0
0
0
-5
0
0
0
-1
20
-7
17
-9
-48
0
0
0
0
0
0
0
-1
0
0
0
8
-1
-16
-68
-8
0
0
0
0
0
0
0
0
0
0
0
12
1
10
46
-45
0
0
0
0
0
0
0
0
0
0
6
0
-10
1
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
-2
0
21
7
-3
0
0
0
0
0
0
0
0
0
1
-3
22
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-13
0
25
-33
1
-55
0
-3
-1
0
0
0
0
0
0
2
-19
-8
1
33
13
-6
-19
-41
-59
2
0
0
0
0
0
0
-2
16
-1
7
-13
3
-13
-199
-93
-23
0
0
0
0
0
0
0
24
-40
2
9
-4
-19
90
-117
-49
-91
0
0
0
0
0
0
0
-12
34
-23
-19
27
-2
6
1
34
0
0
0
0
0
0
0
0
14
-32
-35
-48
-24
-59
13
-14
0
-10
0
0
0
0
0
0
0
4
-8
-8
13
24
-1
-45
5
-6
0
0
0
0
0
0
0
0
0
5
-1
-7
20
-6
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
-2
0
0
0
0
0
0
0
0
0
0
2
5
6
-1
-2
-25
13
0
31
-5
0
0
0
0
0
0
0
-6
13
8
-34
7
-15
-32
1
2
-3
0
0
0
0
0
0
0
-41
1
-9
-73
-3
41
-43
-1
35
0
0
0
0
0
0
0
0
19
-2
-47
-3
-41
-58
23
40
-56
0
0
0
0
0
0
0
0
-17
-2
75
-7
-17
13
53
2
-20
0
0
0
0
0
0
0
0
-24
-7
-3
-12
-65
-62
-7
29
0
1
0
0
0
0
0
0
0
0
17
5
-37
-6
23
-47
2
-1
0
0
0
0
0
0
0
0
3
0
0
1
-3
5
41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-4
2
0
1
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-64
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
48
-4
0
0
0
0
0
0
0
0
0
6
0
0
1
7
33
11
31
-10
0
0
0
0
0
0
0
0
0
0
1
0
0
-15
-1
-9
-9
0
0
0
0
0
0
0
0
0
5
-65
-2
-13
33
-23
44
0
0
0
0
0
0
0
0
0
0
8
0
0
-10
-17
88
-19
-9
0
0
0
0
0
0
0
0
0
0
47
-23
3
51
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
28
0
0
0
0
0
0
0
0
0
0
0
-1
-51
-2
-57
-37
-1
61
0
21
0
0
0
0
0
0
0
-2
0
-8
-41
21
38
18
-29
42
25
0
0
0
0
0
0
0
7
1
12
7
-18
-39
28
-38
24
-34
0
0
0
0
0
0
0
-9
0
-5
94
-19
18
-4
0
-26
51
0
0
0
0
0
0
0
-9
-2
-75
-16
-14
-1
-41
10
-7
48
0
0
0
0
0
0
0
-9
-25
-3
7
7
22
-11
-6
3
-47
0
0
0
0
0
0
0
0
0
-6
132
-87
-54
-3
11
-1
9
0
0
0
0
0
0
0
-5
0
-23
-60
-2
80
-59
8
-67
-23
0
0
0
0
0
0
0
0
0
0
0
8
0
38
1
-3
0
0
0
0
0
0
0
0
0
4
24
0
9
-67
74
11
0
35
0
0
0
0
0
0
0
0
13
-6
9
-87
34
-40
63
48
3
35
0
0
0
0
0
0
0
52
-3
76
74
-67
72
5
9
-48
0
0
0
0
0
0
0
0
1
6
116
-67
-8
-22
2
-7
35
26
0
0
0
0
0
0
-7
-20
6
81
54
45
5
7
-3
-14
0
0
0
0
0
0
0
0
14
-12
64
-38
-32
26
20
-38
-15
-6
0
0
0
0
0
0
0
5
0
-95
1
14
-16
-26
10
-41
0
0
0
0
0
0
0
0
118
-7
2
-67
-24
-43
25
-5
22
0
0
0
0
0
0
0
0
0
0
0
2
3
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-76
-43
34
-4
0
14
0
0
0
0
0
0
0
0
0
0
-40
-29
-7
36
6
52
-19
-57
0
0
0
0
0
0
4
27
12
7
-36
-108
-40
70
3
-66
0
0
0
0
0
0
0
-4
4
3
-31
-81
-3
-18
-25
-56
45
34
0
0
0
0
0
0
3
74
-31
-1
-2
-122
28
-25
-8
-35
-1
0
0
0
0
0
0
-29
-42
64
-55
-48
28
71
68
16
-19
-82
0
0
0
0
0
0
6
7
-1
0
-47
-19
-3
30
-64
-2
-6
0
0
0
0
0
0
1
5
-12
10
1
-94
11
-70
-13
8
0
0
0
0
0
0
0
0
0
2
0
-52
0
-2
5
16
0
0
0
0
0
0
0
0
0
0
-20
-5
7
-19
77
5
0
-18
0
0
0
0
0
0
0
1
-8
6
-1
-84
4
-39
21
2
62
104
0
0
0
0
0
0
0
-20
8
-3
5
-46
23
-34
143
-103
-2
0
0
0
0
0
0
7
26
27
54
-7
-40
-29
141
-78
30
-14
0
0
0
0
0
0
0
-32
136
-11
-42
-39
92
-38
-20
-67
0
0
0
0
0
0
0
0
-7
-55
-47
2
28
-38
14
-62
36
-5
0
0
0
0
0
0
0
0
-3
1
0
-16
-83
-105
-42
14
0
0
0
0
0
0
0
0
-8
30
-2
0
43
-27
-59
-82
32
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
1
-108
-33
0
-8
0
0
0
0
0
0
0
0
0
0
-8
-5
-50
-101
90
-11
-28
27
0
0
0
0
0
0
0
9
0
-7
-3
-6
0
-50
-39
26
4
0
0
0
0
0
0
-1
0
-4
-6
47
5
-29
62
55
34
19
0
0
0
0
0
0
0
-14
9
5
62
-14
0
18
21
1
0
0
0
0
0
0
0
0
6
-50
-28
-12
-15
-2
69
-42
-114
9
0
0
0
0
0
0
0
0
-3
8
-6
0
49
-115
86
0
-2
0
0
0
0
0
0
16
0
5
21
0
76
3
50
-2
-9
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
0
-83
6
0
-3
0
0
0
0
0
0
0
0
-2
0
0
-71
14
7
-69
-4
-16
13
0
0
0
0
0
0
0
5
0
0
63
4
27
1
-27
6
0
0
0
0
0
0
0
0
13
0
6
22
51
-42
-96
53
58
1
0
0
0
0
0
0
0
-10
31
-22
28
-8
-40
-87
102
0
0
0
0
0
0
0
0
0
-15
12
12
-46
-25
6
15
30
22
0
0
0
0
0
0
0
0
0
10
-1
-6
-1
0
35
45
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
6
17
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
-10
-1
0
-8
-1
-40
2
7
6
0
0
0
0
0
0
-2
0
0
0
-12
-2
40
-5
-45
0
0
0
0
0
0
0
0
5
0
0
4
-2
-41
8
-42
-9
-15
0
0
0
0
0
0
0
1
0
2
5
20
-6
22
-45
14
0
0
0
0
0
0
0
0
0
0
0
-1
-2
42
0
6
0
-1
0
0
0
0
0
0
0
0
0
1
0
-67
-1
8
0
-76
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
2
4
-48
-30
0
-40
0
0
0
0
0
0
0
0
-7
5
1
18
12
98
-14
-142
-9
0
0
0
0
0
0
0
0
-14
-9
-1
1
19
-51
-62
46
-2
0
0
0
0
0
0
0
-3
-8
-5
-13
3
7
18
-123
-76
-87
0
0
0
0
0
0
0
-6
3
10
13
-30
-27
48
-40
-108
-7
0
0
0
0
0
0
0
-4
13
13
5
84
38
106
-5
-30
0
0
0
0
0
0
0
0
-7
-25
1
19
-60
-41
-37
-18
0
25
0
0
0
0
0
0
0
0
-8
0
-17
-8
22
30
0
13
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-4
0
22
0
6
0
0
0
0
0
0
0
0
3
-7
0
0
20
-2
67
-49
-13
-10
0
0
0
0
0
0
0
13
0
13
-19
-2
-17
1
52
-2
0
0
0
0
0
0
0
0
-27
0
8
14
9
-3
-69
-19
60
0
0
0
0
0
0
0
0
-1
0
-25
-40
-9
-50
2
-12
-12
0
0
0
0
0
0
0
0
9
0
0
0
44
-41
-5
0
2
0
0
0
0
0
0
0
0
0
-1
-1
2
-4
-82
6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-81
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
61
-5
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
-47
2
-45
0
0
0
0
0
0
0
0
0
0
0
-7
4
-7
-2
22
-1
0
0
0
0
0
0
0
0
-2
-10
2
-2
-58
21
-1
2
53
0
0
0
0
0
0
0
0
0
-29
3
27
-3
-16
0
0
-1
0
0
0
0
0
0
0
0
0
15
0
-18
-57
-7
34
1
23
0
0
0
0
0
0
0
0
0
-8
0
35
-1
8
-1
42
-1
0
0
0
0
0
0
0
0
0
7
0
0
-5
8
6
15
0
0
0
0
0
0
0
0
0
0
0
-9
0
-16
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-37
85
2
19
-5
-13
0
0
0
0
0
0
0
-12
0
-3
-16
-4
-64
16
19
-11
-1
0
0
0
0
0
0
0
18
0
0
53
-25
29
-22
-37
6
-28
0
0
0
0
0
0
0
-48
6
90
-15
34
-9
-46
-25
35
8
0
0
0
0
0
0
0
-19
0
90
20
7
-20
-49
33
21
0
0
0
0
0
0
0
0
-15
-1
-30
27
1
-31
25
25
-19
0
0
0
0
0
0
0
0
0
0
0
-49
-11
-3
3
14
-6
0
0
0
0
0
0
0
0
23
0
0
0
-75
-34
48
35
30
0
0
0
0
0
0
0
0
0
0
0
4
-5
-4
36
19
0
-2
0
0
0
0
0
0
0
0
-1
6
0
-42
47
13
89
85
69
0
0
0
0
0
0
0
0
44
0
0
-5
-12
31
12
58
-28
0
0
0
0
0
0
0
8
0
0
12
6
-59
39
11
-24
43
0
0
0
0
0
0
0
1
-15
0
15
-26
36
-65
-54
56
-28
0
0
0
0
0
0
0
-4
-188
0
-32
-3
-24
15
19
13
100
0
0
0
0
0
0
0
-16
55
4
-2
-27
-69
71
-21
61
-5
0
0
0
0
0
0
0
0
3
0
-33
32
-2
3
-56
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
14
-15
30
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-19
8
0
-39
0
0
0
0
0
0
0
0
0
0
-15
0
-7
-31
-35
-31
10
10
0
0
0
0
0
0
0
0
0
0
-13
-1
10
-66
67
-8
-5
0
0
0
0
0
0
29
0
-17
-16
-2
-44
31
112
-42
18
0
0
0
0
0
0
0
10
40
-6
-2
-5
5
125
-22
42
4
16
0
0
0
0
0
0
-10
7
47
10
28
77
84
21
10
48
4
0
0
0
0
0
0
33
7
-22
0
-83
-37
7
-2
-23
-2
4
0
0
0
0
0
0
0
-2
0
0
-14
28
3
-68
4
-27
0
0
0
0
0
0
0
0
0
0
0
-24
-5
-76
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-12
0
0
0
0
0
0
0
0
0
-3
0
-6
-13
-1
9
14
0
0
0
0
0
0
0
0
5
0
0
1
3
-21
-17
26
-5
0
-1
0
0
0
0
0
0
-1
2
47
-10
73
14
-10
-9
47
0
0
0
0
0
0
0
0
5
-4
14
4
15
5
-2
-22
42
-2
0
0
0
0
0
0
0
1
58
6
-1
2
10
-7
6
-86
0
0
0
0
0
0
0
0
1
1
-37
-4
17
-1
-43
8
-9
0
0
0
0
0
0
0
0
0
0
-9
0
18
-2
50
-7
0
1
0
0
0
0
0
0
0
1
0
0
0
0
-10
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
2
1
-28
0
10
1
8
2
0
0
0
0
0
0
0
0
0
0
34
0
-31
-1
2
0
0
0
0
0
0
0
0
-24
0
0
-3
0
29
0
24
2
13
0
0
0
0
0
0
0
0
-12
4
0
16
-15
-61
-8
-11
-1
1
0
0
0
0
0
0
0
-3
2
-18
0
4
1
-6
5
3
0
0
0
0
0
0
0
7
-13
0
17
-10
-5
17
6
-28
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
-48
-25
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-5
24
0
0
0
0
0
0
0
0
0
-3
0
0
4
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
49
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-1
1
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
4
-1
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
4
5
9
0
-32
-1
-1
0
0
0
0
0
0
0
0
2
0
0
-1
0
-61
48
-32
0
0
0
0
0
0
0
0
0
0
0
2
0
5
9
-110
1
-22
0
0
0
0
0
0
0
0
-15
3
0
14
-3
65
0
-13
1
0
0
0
0
0
0
0
0
1
-2
-9
5
16
0
45
0
4
0
0
0
0
0
0
0
0
-2
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-15
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-2
-8
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
5
-42
-41
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
6
30
-25
0
0
0
0
0
0
0
0
0
-2
0
0
5
-1
0
-1
-23
0
0
0
0
0
0
0
0
0
-8
5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
28
0
0
0
0
0
0
0
0
0
0
8
0
0
16
0
-54
0
14
0
0
0
0
0
0
0
0
0
10
0
-1
0
-31
0
-5
0
116
0
0
0
0
0
0
0
0
-5
0
6
-62
0
-19
0
10
0
0
0
0
0
0
0
0
0
-21
0
0
-2
-42
0
81
0
8
0
0
0
0
0
0
0
0
5
0
2
5
0
19
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
40
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-1
17
-3
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
78
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-27
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-28
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
8
8
0
13
17
-4
0
0
22
0
0
0
0
0
0
0
0
-1
-9
-6
0
-12
0
-1
0
8
0
0
0
0
0
0
0
0
0
13
1
-1
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
50
-16
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-21
30
18
1
0
0
0
0
0
0
0
0
0
0
0
-34
-8
2
60
8
-1
0
0
-15
0
0
0
0
0
0
0
0
44
4
18
3
-19
-3
-10
16
40
0
0
0
0
0
0
0
-1
0
109
-3
-31
-4
-41
-5
10
17
0
0
0
0
0
0
0
0
9
2
19
-5
8
0
-2
0
3
0
0
0
0
0
0
0
0
0
-8
-1
5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
31
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
24
9
3
-9
2
8
3
3
0
0
0
0
0
0
0
0
-1
21
17
-40
18
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
-12
-2
-5
1
-1
-5
18
0
0
0
0
0
0
0
0
1
9
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
108
-1
20
-7
22
0
0
0
0
0
0
0
0
0
0
0
25
-1
3
-42
5
3
-1
0
0
0
2
0
0
0
0
0
0
0
77
-10
15
3
-2
0
-1
0
0
0
0
0
0
0
0
0
-8
-46
12
5
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
33
19
2
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-36
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-12
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
-27
-40
13
14
-2
53
0
0
-3
0
0
-1
0
0
0
0
0
-8
38
92
76
97
-1
21
-1
-4
-6
0
0
0
0
0
0
0
0
-70
33
16
-20
19
-9
41
0
4
0
0
0
0
0
0
0
0
-4
15
-5
8
3
0
6
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
0
2
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
45
29
-23
-7
-29
35
-4
0
0
0
0
0
0
0
0
0
0
15
60
-12
-52
19
-8
1
17
3
-22
0
0
0
0
0
0
0
-24
-75
8
-14
61
59
-31
-14
48
-2
0
0
0
0
0
0
0
-13
-31
28
47
67
7
-5
3
23
-1
0
0
0
0
0
0
0
0
53
-55
-1
32
17
-16
-41
2
2
0
0
0
0
0
0
0
0
-1
31
24
0
-10
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
11
51
-38
-20
0
0
0
0
0
0
0
0
0
0
0
7
32
3
-52
18
-24
-8
0
0
0
0
0
0
0
0
0
0
-1
15
-44
-15
-100
-1
50
20
-19
38
-1
0
0
0
0
0
0
1
-73
-43
1
-69
31
4
19
58
49
0
0
0
0
0
0
0
0
-93
-16
19
-17
94
46
-8
27
-41
0
0
0
0
0
0
0
0
-28
7
-38
-42
51
-16
-28
1
8
0
0
0
0
0
0
0
0
0
-46
-20
-44
9
6
0
-18
-5
0
0
0
0
0
0
0
0
0
-6
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
8
43
59
-23
-6
2
0
0
0
0
0
0
0
0
0
0
-6
45
-10
-17
11
-69
-25
0
2
0
0
0
0
0
0
0
0
0
-99
6
35
23
-82
22
0
51
4
2
0
0
0
0
0
0
-71
13
-22
-19
-37
-22
40
22
21
0
0
0
0
0
0
0
0
5
-83
9
-32
52
10
-52
-8
35
-4
0
0
0
0
0
0
0
0
-17
12
14
8
1
-1
-1
-2
-2
0
0
0
0
0
0
0
0
0
-25
-16
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
-15
-6
-5
1
0
0
0
-1
0
0
0
0
0
0
0
66
-34
-33
-13
-4
7
0
0
0
5
0
0
0
0
0
0
0
3
-38
-79
38
-66
-8
-9
4
0
1
0
0
0
0
0
0
0
-10
-60
-34
-75
30
44
16
8
-2
20
0
0
0
0
0
0
0
0
-64
-17
-6
90
-37
-3
11
0
1
0
0
0
0
0
0
0
-14
-37
45
-26
12
41
1
-3
0
0
0
0
0
0
0
0
0
-10
5
-23
-24
0
42
17
-32
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
12
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-49
3
-1
3
0
-1
7
0
3
0
0
0
0
0
0
0
-2
2
13
25
10
-5
-1
-13
0
-1
0
0
0
0
0
0
0
1
20
-9
15
4
-7
-5
-8
0
0
0
0
0
0
0
0
0
2
0
-45
-4
15
-2
-5
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-45
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
19
-1
0
0
0
0
0
0
0
0
0
0
0
-6
32
22
19
-20
-22
-1
0
0
0
0
0
0
0
0
0
0
6
30
11
-16
-22
-16
2
1
-25
0
0
0
0
0
0
0
0
-4
6
25
35
-17
5
-20
-2
-15
0
0
0
0
0
0
0
0
3
-14
-26
0
1
-7
-4
1
-18
0
0
0
0
0
0
0
0
0
4
0
1
2
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
35
45
25
4
0
0
0
0
0
0
0
0
0
0
0
-3
33
79
39
-40
-12
0
-2
0
0
0
0
0
0
0
0
0
-37
-6
8
13
-22
7
8
-1
-8
0
0
0
0
0
0
0
-5
53
72
-46
-38
0
-16
24
-12
16
0
0
0
0
0
0
0
8
36
-49
-30
24
17
-7
-10
8
17
0
0
0
0
0
0
0
0
3
27
25
44
-13
-1
3
0
8
0
0
0
0
0
0
0
0
0
-16
-2
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
3
2
-2
0
0
0
0
0
0
0
0
0
0
24
-4
-32
9
-20
0
0
0
0
1
0
0
0
0
0
0
0
-8
8
5
71
18
-16
0
1
1
6
0
0
0
0
0
0
0
0
-58
7
5
7
-3
4
-4
-7
3
0
0
0
0
0
0
0
7
43
5
-41
-16
8
0
12
6
1
0
0
0
0
0
0
0
20
-15
-23
-29
0
3
6
7
-1
-4
0
0
0
0
0
0
0
0
-8
0
0
2
-1
9
16
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-3
-14
-1
0
1
0
0
0
0
0
0
0
0
0
0
-21
-30
-117
-60
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
46
-19
-13
19
18
-4
0
0
0
0
0
0
0
0
0
0
-7
-11
18
-28
-8
-8
2
1
5
0
0
0
0
0
0
0
0
-9
76
-29
20
2
23
16
-6
0
0
1
0
0
0
0
0
0
0
21
13
8
8
4
-3
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-4
-29
-39
-12
4
0
0
0
0
0
0
0
0
0
0
-9
43
44
17
6
-26
5
0
-2
0
0
0
0
0
0
0
0
-17
78
12
-24
0
32
-5
1
9
6
0
0
0
0
0
0
0
13
-12
-15
5
-8
52
69
32
6
2
0
0
0
0
0
0
0
-20
10
75
-7
-46
15
-21
-49
-34
-7
0
0
0
0
0
0
0
0
14
-8
-40
35
2
-20
-23
0
5
0
0
0
0
0
0
0
2
0
-13
22
3
6
-1
0
1
-2
0
0
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-11
-35
-32
7
-10
0
0
0
0
0
0
0
0
0
0
0
18
-2
18
-32
60
52
14
0
2
0
0
0
0
0
0
0
0
4
8
-34
46
-24
66
-20
-27
-44
4
0
0
0
0
0
0
0
-43
-53
32
-110
71
-2
14
14
25
-6
0
0
0
0
0
0
0
30
14
12
34
42
57
-109
9
3
4
0
0
0
0
0
0
0
0
4
4
34
18
3
8
13
8
-2
0
0
0
0
0
0
0
-1
0
65
27
33
7
8
3
-8
0
0
0
0
0
0
0
0
0
4
1
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
39
10
78
22
5
-7
0
0
0
0
0
0
0
0
0
0
-1
44
16
19
15
25
0
0
1
0
-1
0
0
0
0
0
0
30
1
22
-76
25
-22
96
-5
55
-6
5
0
0
0
0
0
0
-23
3
-66
2
-19
102
9
102
-40
-46
0
0
0
0
0
0
0
16
27
42
-17
17
8
-16
-51
-15
18
0
0
0
0
0
0
0
0
23
-3
8
55
-1
27
-10
-44
-12
0
0
0
0
0
0
0
0
0
77
-45
32
-40
13
14
-2
19
0
0
0
0
0
0
0
0
0
-1
8
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
100
-16
37
8
47
66
0
0
0
0
0
0
0
0
0
0
46
6
22
-1
47
30
42
0
0
0
-4
0
0
0
0
0
0
-22
32
14
-10
25
90
55
-13
0
-29
2
0
0
0
0
0
0
52
16
53
18
61
-31
-21
-165
139
1
0
0
0
0
0
0
0
12
2
30
-43
-79
44
82
-13
42
18
0
0
0
0
0
0
0
1
69
25
40
80
-9
86
25
76
-9
-1
0
0
0
0
0
0
-3
6
-78
7
30
4
2
1
36
0
0
0
0
0
0
0
0
0
-1
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
27
17
-37
-61
-19
-90
0
0
0
1
0
0
0
0
0
0
-49
-6
3
28
-43
119
22
0
0
0
-1
0
0
0
0
0
0
-41
25
7
-93
-13
85
23
-23
15
53
4
0
0
0
0
0
0
78
-60
7
-47
20
90
18
-101
8
-156
-6
0
0
0
0
0
0
5
-35
6
37
5
-111
26
74
-54
63
-3
0
0
0
0
0
0
0
-44
23
-70
22
20
56
48
9
-85
0
0
0
0
0
0
0
2
-2
-69
35
-74
-48
-69
-1
-40
5
0
0
0
0
0
0
0
0
0
6
-25
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-25
15
-69
5
-6
2
0
-2
-1
0
0
0
0
0
0
0
-38
-5
-10
-22
10
30
0
4
0
31
0
0
0
0
0
0
0
0
5
29
-3
25
-6
65
-10
-29
-27
0
0
0
0
0
0
0
-43
-42
-71
21
-42
-37
-107
-21
55
2
0
0
0
0
0
0
0
-48
-63
11
-1
-26
33
-1
39
-10
-2
0
0
0
0
0
0
0
42
39
-69
10
-16
-4
54
52
-45
2
0
0
0
0
0
0
0
-6
-162
46
81
-1
20
28
-35
0
0
0
0
0
0
0
0
0
0
17
-15
2
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
51
-9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
4
27
44
-62
3
0
0
0
0
-2
0
0
0
0
0
0
0
27
58
-34
33
-27
1
6
6
0
-1
0
0
0
0
0
0
0
-44
7
27
6
-26
-1
-7
-20
0
0
0
0
0
0
0
0
0
-4
-17
-4
44
26
-15
3
24
0
0
0
0
0
0
0
0
0
-1
13
-9
10
2
-20
0
4
0
0
0
0
0
0
0
0
0
-1
14
-14
-56
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
-1
0
1
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
12
0
3
-24
-17
2
3
0
0
0
0
0
0
0
0
0
0
0
-35
-25
27
-5
8
0
0
4
0
0
0
0
0
0
0
0
13
12
-21
-40
25
-8
-1
0
-3
0
0
0
0
0
0
0
0
-1
25
-2
-1
-8
-2
0
-2
1
0
0
0
0
0
0
0
0
0
3
-1
-1
2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-28
-1
-23
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-6
13
-47
-42
40
-1
0
0
0
0
0
0
0
0
0
0
0
-29
-130
-20
43
-1
-14
2
1
15
0
0
0
0
0
0
0
-25
-14
21
69
-24
73
2
-2
6
9
0
0
0
0
0
0
0
4
-5
29
-12
-5
-4
13
14
36
24
0
0
0
0
0
0
0
0
2
46
6
66
0
-27
6
-3
2
0
0
0
0
0
0
0
0
0
-20
-3
3
1
-6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-16
2
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-72
4
-42
-7
-20
0
-1
0
0
0
0
0
0
0
0
0
17
-1
8
-45
17
-8
3
1
19
2
0
0
0
0
0
0
1
1
29
3
-48
13
7
-10
-2
-2
0
0
0
0
0
0
0
0
4
2
2
-2
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
5
-12
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
16
70
-21
0
1
0
0
0
0
0
0
0
0
0
0
-1
47
6
20
-48
-29
10
0
0
0
0
0
0
0
0
0
0
-6
72
18
34
27
29
0
0
6
0
-6
0
0
0
0
0
0
15
44
19
48
-31
10
73
-34
-5
0
0
0
0
0
0
0
0
-5
24
-31
0
16
4
-3
-19
14
0
0
0
0
0
0
0
0
0
-7
7
5
7
8
0
7
5
0
0
0
0
0
0
0
0
0
0
-25
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
99
-5
3
26
15
0
0
0
0
0
0
0
0
0
0
0
-24
-22
-15
-19
-24
-34
7
0
-1
0
0
0
0
0
0
0
0
-44
70
0
-8
-99
-20
12
0
-3
18
0
0
0
0
0
0
0
6
29
37
-7
-5
-8
-1
12
19
1
0
0
0
0
0
0
0
-30
56
-47
47
77
75
34
0
-16
6
0
0
0
0
0
0
0
0
-7
-41
-6
12
-45
-1
-10
-5
2
0
0
0
0
0
0
0
0
11
59
10
17
-8
2
5
17
0
0
0
0
0
0
0
0
0
-13
0
-3
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
4
-45
12
31
70
24
0
0
0
0
0
0
0
0
0
0
-7
19
-29
17
-16
91
-10
0
4
0
0
0
0
0
0
0
0
18
-57
12
31
66
26
10
0
-89
6
0
0
0
0
0
0
0
-105
31
41
74
-25
65
-43
101
-33
-47
0
0
0
0
0
0
0
-2
-44
8
-53
41
-10
-24
14
21
20
0
0
0
0
0
0
0
0
48
-27
0
-13
46
20
-72
4
13
0
0
0
0
0
0
0
-23
0
43
7
-16
0
-6
4
-28
0
0
0
0
0
0
0
0
0
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
56
-12
25
-66
71
19
0
0
0
0
0
0
0
0
0
0
31
-9
24
-46
52
31
6
0
0
0
-5
0
0
0
0
0
0
-13
18
-40
22
12
65
-21
25
9
103
0
0
0
0
0
0
0
3
4
54
32
64
69
25
-42
-1
-100
0
0
0
0
0
0
0
-27
22
-22
50
-69
110
-32
45
-95
27
0
0
0
0
0
0
0
0
30
13
-120
-47
2
51
7
-35
-13
0
0
0
0
0
0
0
0
-8
29
-5
65
11
13
-6
2
-29
0
0
0
0
0
0
0
0
16
6
-61
-12
3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
47
4
14
29
14
-14
1
0
0
0
0
0
0
0
0
0
-1
9
-11
-23
2
10
-74
0
-3
0
-3
0
0
0
0
0
0
28
-5
36
-35
65
30
-4
-30
26
4
0
0
0
0
0
0
0
46
23
-1
60
53
-81
-18
-28
-17
-47
0
0
0
0
0
0
0
28
-36
6
25
-36
15
-19
45
-42
-41
-1
0
0
0
0
0
0
30
12
41
41
-44
-48
-42
3
-49
-55
0
0
0
0
0
0
0
50
40
-22
-11
-1
-42
-41
1
47
2
0
0
0
0
0
0
0
0
55
-4
11
6
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
1
-1
0
0
0
4
0
0
0
0
0
0
0
0
10
46
-40
-6
44
36
5
-1
0
0
0
0
0
0
0
0
0
26
-6
20
-3
28
-39
-45
0
-2
0
1
0
0
0
0
0
0
-36
6
14
15
-12
65
71
15
21
-61
0
0
0
0
0
0
0
44
-7
20
-34
39
5
10
-19
-39
-28
0
0
0
0
0
0
0
-68
-8
-28
14
-14
-55
-47
31
-32
-121
3
0
0
0
0
0
0
2
-27
5
-29
17
-30
14
-36
94
-40
0
0
0
0
0
0
0
0
47
-107
-40
0
42
-24
2
2
55
0
0
0
0
0
0
0
0
1
23
21
-56
103
1
7
5
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-6
-10
29
-6
143
-3
0
0
7
0
0
0
0
0
0
0
14
0
8
60
-32
76
0
0
0
-3
0
0
0
0
0
0
0
51
-7
-31
-2
-15
19
77
-11
-8
18
0
0
0
0
0
0
0
11
25
-21
-14
30
76
22
-120
-67
-19
0
0
0
0
0
0
0
64
-9
30
-48
-47
36
-48
83
-8
-30
0
0
0
0
0
0
0
-21
19
-36
-20
24
6
64
148
41
-18
0
0
0
0
0
0
0
-46
-35
13
-39
-11
27
36
118
0
0
0
0
0
0
0
0
0
0
73
-3
-21
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-48
28
0
-4
0
0
0
0
0
0
0
0
0
0
0
5
4
23
-2
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
44
20
40
-16
-25
0
2
0
-3
0
0
0
0
0
0
0
14
-19
-56
0
24
-30
1
-25
0
-1
0
0
0
0
0
0
0
-2
34
-18
111
-5
-43
2
-7
0
0
0
0
0
0
0
0
0
0
23
-16
-8
1
9
2
0
0
1
0
0
0
0
0
0
0
0
54
6
1
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
48
4
7
0
0
0
0
0
0
0
0
0
0
0
0
5
41
-10
114
0
3
0
0
1
0
0
0
0
0
0
0
0
-8
3
-31
22
-20
0
0
0
10
0
0
0
0
0
0
0
0
0
-88
0
17
1
-3
-1
-2
30
0
0
0
0
0
0
0
0
-4
0
-41
5
16
2
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-25
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
0
0
-5
0
0
0
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
38
-30
27
39
-5
0
0
0
0
0
0
0
0
0
0
0
-12
-65
5
-106
26
-21
0
2
0
0
0
0
0
0
0
0
2
63
6
-48
-17
19
29
-2
23
1
0
0
0
0
0
0
0
0
14
-47
31
9
43
58
20
-6
2
0
0
0
0
0
0
0
0
22
3
17
23
26
60
50
9
74
0
0
0
0
0
0
0
0
-15
-73
-22
4
-23
-57
-7
13
8
0
0
0
0
0
0
0
0
0
-48
-52
-3
47
2
6
1
1
0
0
0
0
0
0
0
0
0
2
-1
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
19
2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
3
-11
84
-16
-25
1
0
0
0
-1
0
0
0
0
0
0
0
0
-24
-3
-8
2
-6
2
-2
0
-8
0
0
0
0
0
0
0
25
1
-30
35
-4
-14
-1
-6
24
0
0
0
0
0
0
0
0
0
28
0
27
-21
7
-7
2
0
0
0
0
0
0
0
0
0
0
41
-17
-3
-12
1
3
-1
2
0
0
0
0
0
0
0
0
0
5
-3
25
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
0
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
-2
8
56
-91
42
2
0
-1
0
0
0
0
0
0
0
0
0
16
37
-42
-56
124
15
-2
0
0
0
0
0
0
0
0
0
0
-17
83
3
-101
-69
-13
2
-3
4
0
0
0
0
0
0
0
0
-62
-13
-72
0
16
25
12
-5
23
0
0
0
0
0
0
0
0
24
-55
9
19
42
-3
30
10
-29
0
0
0
0
0
0
0
0
0
13
5
6
21
0
8
3
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-5
-31
-1
26
14
0
0
0
0
0
0
0
0
0
0
26
35
12
-22
-17
92
-24
0
2
0
0
0
0
0
0
0
0
-12
1
17
11
73
-28
-13
8
18
8
0
0
0
0
0
0
0
-2
45
-81
-21
8
65
16
-30
-16
24
0
0
0
0
0
0
0
21
-22
-14
-23
0
-19
-47
-26
40
14
0
0
0
0
0
0
0
-10
-2
-5
91
8
-47
0
-24
7
2
0
0
0
0
0
0
0
2
0
7
12
-19
1
20
-1
-6
-1
0
0
0
0
0
0
0
0
-6
1
-22
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
30
2
-3
51
26
18
0
0
0
0
0
0
0
0
0
0
47
-17
49
-39
49
23
51
0
8
0
0
0
0
0
0
0
0
-82
39
20
-46
52
29
-62
24
22
-47
1
0
0
0
0
0
0
84
-8
22
-10
61
14
-7
-25
54
25
0
0
0
0
0
0
0
100
52
-13
13
-5
108
60
7
-105
3
0
0
0
0
0
0
0
0
-1
49
-104
15
-34
-30
-2
7
6
0
0
0
0
0
0
0
-13
39
-55
8
-86
30
-19
-35
-34
0
0
0
0
0
0
0
0
0
5
-66
-15
-4
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
21
6
-62
-9
108
10
0
0
-1
0
0
0
0
0
0
0
8
16
5
3
53
115
63
0
-3
0
-8
0
0
0
0
0
0
75
-45
36
28
35
113
39
-49
79
95
14
0
0
0
0
0
0
23
10
31
89
9
6
1
44
-52
123
0
0
0
0
0
0
0
21
6
11
44
17
41
9
-55
-16
-38
0
0
0
0
0
0
0
3
26
-31
-66
-78
44
-10
-77
-62
58
0
0
0
0
0
0
0
3
-20
-51
-57
54
2
43
-6
-15
4
0
0
0
0
0
0
0
0
-17
-4
3
-4
9
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
63
-15
23
10
47
-88
6
0
0
1
0
0
0
0
0
0
77
0
31
8
32
-6
2
0
35
0
0
0
0
0
0
0
0
-1
13
-12
53
12
58
-10
-103
-48
101
1
1
0
0
0
0
0
-7
5
63
48
97
65
-69
25
0
8
0
0
0
0
0
0
0
8
15
-7
49
-16
-5
72
25
-88
28
0
0
0
0
0
0
0
47
-34
22
-12
122
34
238
-73
52
0
0
0
0
0
0
0
0
2
33
-2
40
-48
37
47
1
-20
-13
0
0
0
0
0
0
0
0
-55
3
-59
6
-122
52
-1
-14
6
0
0
0
0
0
0
0
0
-25
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
58
5
-6
19
-21
32
1
0
0
0
0
0
0
0
0
0
-14
15
-1
12
8
54
-38
0
-3
0
0
0
0
0
0
0
0
-4
0
23
0
13
68
-5
-26
-71
-3
0
-2
0
0
0
0
0
46
46
16
15
10
57
-1
-34
-2
45
0
0
0
0
0
0
0
-28
20
25
3
63
17
49
35
8
-50
1
0
0
0
0
0
0
2
13
24
-15
2
-31
66
93
-1
-48
0
0
0
0
0
0
0
20
6
-31
28
-48
58
43
-101
-23
41
0
0
0
0
0
0
0
0
33
-5
-81
-93
-8
14
10
0
-10
0
0
0
0
0
0
0
0
0
-41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-17
-42
-50
26
51
23
0
0
0
0
0
0
0
0
0
0
24
14
-44
0
-30
77
0
-7
0
0
0
0
0
0
0
0
0
51
26
48
13
80
13
8
17
-13
-5
0
0
0
0
0
0
0
11
59
21
86
56
33
-2
17
4
15
0
0
0
0
0
0
0
-49
17
41
-6
1
-51
9
-86
-55
-5
0
0
0
0
0
0
0
22
-34
-37
0
15
-73
16
20
-26
-65
0
0
0
0
0
0
0
89
-74
31
33
-28
45
-54
68
-50
0
0
0
0
0
0
0
0
0
-101
-77
-12
62
2
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
14
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
41
30
-45
43
46
0
0
0
0
-1
0
0
0
0
0
0
0
1
25
-5
51
1
-2
0
3
-1
3
0
0
0
0
0
0
0
41
12
-46
-27
-12
9
0
4
0
0
0
0
0
0
0
0
0
-1
24
-3
-35
66
8
4
-4
-2
0
0
0
0
0
0
0
0
-13
5
26
13
18
-21
1
-1
2
0
0
0
0
0
0
0
0
0
2
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
5
7
4
16
-20
8
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-9
-8
-15
-2
0
0
-6
0
0
0
0
0
0
0
0
0
15
3
-23
5
13
-1
2
-4
0
0
0
0
0
0
0
0
0
0
15
1
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-16
3
2
0
0
0
0
0
0
0
0
0
0
0
-2
58
43
46
30
-3
38
0
0
0
0
0
0
0
0
0
0
3
36
13
-2
-20
90
7
0
1
48
0
0
0
0
0
0
0
0
6
-3
-14
-97
-10
5
66
6
38
0
0
0
0
0
0
0
0
0
-53
-55
16
-15
25
-50
-21
20
0
0
0
0
0
0
0
0
-15
7
-1
-6
55
-13
8
-18
-30
0
0
0
0
0
0
0
0
0
-47
-13
52
6
-64
20
-1
-14
0
0
0
0
0
0
0
0
0
-42
-1
8
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-42
4
6
0
0
0
0
0
0
0
0
0
0
0
0
13
61
47
-3
41
-1
0
0
0
0
0
0
0
0
0
0
0
23
-84
25
-20
-10
9
0
4
14
-3
0
0
0
0
0
0
0
-1
22
2
-89
-19
12
0
0
0
0
0
0
0
0
0
0
0
1
0
-33
-12
76
25
14
0
-2
-1
0
0
0
0
0
0
0
0
26
0
3
-30
5
0
0
2
0
0
0
0
0
0
0
0
0
-18
53
0
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
22
1
-16
5
0
0
0
0
0
0
0
0
0
0
0
-34
110
-57
68
85
9
-9
0
-1
0
-2
0
0
0
0
0
0
45
-2
-3
-19
29
-38
-3
-6
-29
0
0
0
0
0
0
0
0
-1
-8
-52
-33
-5
-26
0
-9
-25
0
0
0
0
0
0
0
0
17
21
-10
0
-32
0
6
-9
-6
0
0
0
0
0
0
0
0
0
62
-24
-3
-3
-8
6
-4
7
0
0
0
0
0
0
0
0
-2
0
7
1
-41
0
3
0
0
0
0
0
0
0
0
0
0
0
33
0
9
0
1
0
0
0
0
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
75
25
12
0
-7
-14
0
0
0
0
0
0
0
0
0
0
-59
19
44
-22
70
91
6
0
1
0
0
0
0
0
0
0
0
89
26
26
9
-1
17
-4
2
43
8
0
0
0
0
0
0
0
66
-4
46
14
45
102
-20
45
-13
19
0
0
0
0
0
0
0
19
37
-11
37
0
74
9
-41
1
-4
0
0
0
0
0
0
0
-5
25
-5
-66
22
-27
-8
-57
-87
2
0
0
0
0
0
0
0
4
25
-12
-37
41
-20
-7
-3
30
1
0
0
0
0
0
0
0
0
0
8
-7
-10
58
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-94
-4
-4
-9
124
21
0
0
0
0
0
0
0
0
0
0
-60
35
-40
41
-40
32
32
0
-20
0
0
0
0
0
0
0
0
25
-52
51
0
4
32
-87
-52
109
-70
8
0
0
0
0
0
0
-31
35
-12
7
163
-52
97
73
73
0
0
0
0
0
0
0
0
21
10
-8
42
7
0
59
-45
3
0
0
0
0
0
0
0
0
6
49
31
-72
-83
152
-121
-83
-71
5
0
0
0
0
0
0
0
-26
9
1
-68
-1
-35
48
-261
-75
-5
0
0
0
0
0
0
0
0
-40
0
-12
14
-22
-2
16
0
0
0
0
0
0
0
0
0
-1
0
-40
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-43
16
11
80
-49
0
0
0
0
0
0
0
0
0
0
-48
-28
24
-15
64
-7
-35
0
-1
0
0
0
0
0
0
0
0
54
-18
-33
22
-94
65
55
4
36
21
0
0
0
0
0
0
0
7
-41
33
22
36
30
14
-67
48
171
0
0
0
0
0
0
0
13
4
7
81
51
23
0
-15
13
80
0
0
0
0
0
0
0
-15
-12
38
-48
65
75
-45
-42
-47
56
0
0
0
0
0
0
0
-2
30
-11
14
-70
59
-138
30
-93
8
0
0
0
0
0
0
0
0
0
-17
-129
39
1
0
0
-8
-6
0
0
0
0
0
0
0
0
0
4
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
11
-42
28
6
17
3
0
0
0
0
0
0
0
0
0
-26
7
-25
29
12
71
5
0
23
0
-3
0
0
0
0
0
0
58
-16
28
1
73
-38
41
-16
72
-59
8
0
0
0
0
0
0
2
34
3
43
19
-41
1
0
43
-30
-10
0
0
0
0
0
0
17
31
38
40
58
44
-24
0
65
-3
0
0
0
0
0
0
0
-16
28
30
7
-10
64
-99
25
-23
-35
0
0
0
0
0
0
0
-57
-59
16
5
52
-50
93
5
-14
-3
0
0
0
0
0
0
0
0
21
20
29
-9
124
3
0
-13
-5
0
0
0
0
0
0
0
0
0
11
-2
-81
0
0
0
0
0
0
0
0
0
0
0
0
-48
45
-14
2
-12
44
56
-9
0
1
0
0
0
0
0
0
0
10
-11
10
-20
67
-35
57
0
0
0
0
0
0
0
0
0
0
-25
14
-20
43
-6
-40
-31
-15
-24
81
-1
0
0
0
0
0
0
85
-17
41
0
47
1
17
-103
-46
-78
0
0
0
0
0
0
0
43
6
6
57
70
-1
44
34
0
-78
0
0
0
0
0
0
0
-1
6
30
3
7
-37
52
11
23
-32
0
0
0
0
0
0
0
5
52
-53
42
17
-21
59
100
-56
1
0
0
0
0
0
0
0
0
15
47
-37
28
46
25
-6
-1
-9
0
0
0
0
0
0
0
0
1
-6
48
-6
22
0
0
0
0
0
0
0
0
0
0
0
0
1
35
-64
20
53
37
1
0
0
2
0
0
0
0
0
0
0
14
-19
1
-33
60
103
0
0
0
41
0
0
0
0
0
0
0
-3
17
2
-6
13
30
-25
94
-67
25
0
0
0
0
0
0
0
68
38
-2
74
25
-1
131
41
45
13
0
0
0
0
0
0
0
-43
-28
13
-19
39
-45
-88
-13
0
8
0
0
0
0
0
0
0
4
26
5
68
-13
79
80
144
69
3
0
0
0
0
0
0
0
2
-71
16
7
64
-31
-21
104
4
0
0
0
0
0
0
0
0
-7
71
-1
-12
-21
-5
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
15
-27
-3
1
0
0
0
0
0
0
0
0
0
0
0
-37
31
119
-14
15
0
0
0
-2
2
0
0
0
0
0
0
0
1
-51
-7
42
-10
23
1
0
0
-1
0
0
0
0
0
0
0
50
3
48
-30
-1
9
1
5
0
0
0
0
0
0
0
0
0
-1
-54
-9
97
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
18
-6
-8
-7
5
0
0
0
0
0
0
0
0
0
0
0
4
14
4
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
25
8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-24
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-4
-55
-3
-6
32
5
0
0
-19
0
0
0
0
0
0
0
0
31
0
22
-51
8
-3
-8
0
-8
0
0
0
0
0
0
0
0
0
23
-38
40
8
-3
0
0
-3
0
0
0
0
0
0
0
0
3
0
48
25
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
31
0
2
-1
-10
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
41
5
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
155
5
19
144
-22
-4
0
0
0
0
0
0
0
0
0
0
0
-16
19
0
-48
-32
24
-3
0
3
0
0
0
0
0
0
0
0
46
60
-20
24
74
-6
29
-5
1
0
0
0
0
0
0
0
0
-9
3
-21
22
45
24
13
29
5
0
0
0
0
0
0
0
0
0
-21
74
59
53
19
1
4
-16
0
0
0
0
0
0
0
0
-2
1
8
42
5
-4
1
-9
-5
0
0
0
0
0
0
0
0
0
-3
-19
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
39
25
-24
-1
0
0
0
0
0
0
0
0
0
0
0
38
117
13
52
4
6
0
0
0
0
0
0
0
0
0
0
0
49
41
48
27
-40
19
0
0
-12
0
0
0
0
0
0
0
0
45
21
14
-33
-20
-68
-8
-3
1
-2
0
0
0
0
0
0
0
1
-20
0
-13
60
8
-1
-29
5
0
0
0
0
0
0
0
0
0
0
42
11
59
43
-2
1
31
0
0
0
0
0
0
0
0
-6
-8
0
25
14
-2
1
1
38
0
0
0
0
0
0
0
0
0
0
-4
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
-53
33
-10
0
0
0
0
0
-2
0
0
0
0
0
0
1
11
-2
-22
3
-13
1
0
0
0
0
0
0
0
0
0
0
23
2
-44
29
15
20
3
4
6
0
2
0
0
0
0
0
0
20
-16
20
138
41
-57
-10
1
-93
0
0
0
0
0
0
0
0
2
-85
3
47
-2
44
-7
16
-48
0
0
0
0
0
0
0
0
0
-11
-120
0
-58
2
9
0
0
0
0
0
0
0
0
0
0
-5
-16
-2
-15
0
6
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
53
36
36
-3
4
1
0
0
0
0
0
0
0
0
0
0
87
17
-6
31
53
-28
0
0
0
0
0
0
0
0
0
0
33
-54
-30
5
75
25
0
22
-25
-47
0
0
0
0
0
0
0
9
6
-42
15
30
-21
65
-10
-24
78
0
0
0
0
0
0
0
62
17
51
-54
42
48
123
-6
41
-20
0
0
0
0
0
0
0
0
-25
-16
108
0
18
-2
2
-7
0
0
0
0
0
0
0
0
1
110
7
-19
-121
8
27
-36
-24
-1
0
0
0
0
0
0
0
0
-42
0
-47
-2
1
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
82
4
-38
-5
-2
-22
-1
0
0
0
0
0
0
0
0
0
75
7
65
31
-15
74
3
0
29
0
0
0
0
0
0
0
0
0
-99
32
-9
32
167
70
54
-36
-5
0
0
0
0
0
0
0
72
-21
-48
41
67
-27
39
-55
-39
48
0
0
0
0
0
0
0
-5
38
27
42
108
66
96
-35
133
37
0
0
0
0
0
0
0
2
46
-19
99
-5
0
9
4
3
0
0
0
0
0
0
0
0
30
92
26
39
-25
-23
-10
29
-83
0
0
0
0
0
0
0
0
0
-88
44
-70
23
-21
-5
-6
0
0
0
0
0
0
0
0
0
0
10
-8
1
6
0
0
0
0
0
0
0
0
0
0
0
0
13
-56
33
-8
6
-16
100
-3
0
0
0
0
0
0
0
0
0
12
5
-4
38
59
80
-18
0
3
0
0
0
0
0
0
0
0
-9
-41
-4
18
46
90
17
-25
32
-26
0
0
0
0
0
0
0
9
33
27
-31
-28
1
55
76
-100
38
0
0
0
0
0
0
0
-31
-2
27
-17
15
120
-68
-5
-51
209
0
0
0
0
0
0
0
0
0
51
72
72
130
0
15
-116
-40
0
0
0
0
0
0
0
31
-11
-11
9
4
26
-86
-121
-115
34
0
0
0
0
0
0
0
0
-6
68
51
-45
57
-9
-33
-29
-1
0
0
0
0
0
0
0
0
0
82
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
11
82
-40
53
-5
40
-43
1
0
0
0
0
0
0
0
0
0
84
-2
100
-25
53
-6
-65
0
9
0
15
0
0
0
0
0
0
-25
52
-7
87
17
46
41
24
-15
47
15
0
0
0
0
0
0
4
0
39
14
53
-76
-70
-12
66
-62
5
0
0
0
0
0
0
8
0
9
27
22
-9
-9
8
36
57
6
0
0
0
0
0
0
8
30
41
41
71
56
10
0
-45
0
0
0
0
0
0
0
0
26
33
3
80
22
-59
-15
-22
-32
7
0
0
0
0
0
0
0
-12
2
9
35
71
70
106
12
-15
-4
0
0
0
0
0
0
0
1
1
-16
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
75
3
24
-37
25
-61
20
0
0
8
0
0
0
0
0
0
0
10
5
8
20
-29
67
-52
0
-82
0
-4
0
0
0
0
0
0
9
-47
8
-9
54
-18
32
-45
12
200
-1
0
0
0
0
0
0
0
12
-2
41
31
11
-62
12
-2
9
-1
0
0
0
0
0
0
60
-8
4
0
28
-7
12
-24
66
69
0
0
0
0
0
0
0
-20
60
20
22
49
131
2
-40
0
9
0
0
0
0
0
0
0
31
-48
20
15
1
11
81
35
17
-183
0
0
0
0
0
0
0
0
-6
42
21
56
41
-15
8
0
39
0
0
0
0
0
0
0
0
8
-30
-6
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-31
18
-147
96
90
-6
0
0
1
0
0
0
0
0
0
0
-24
20
-8
0
-73
50
0
-4
0
-33
0
0
0
0
0
0
0
-25
-16
13
-28
-3
-66
-15
-30
40
-28
0
0
0
0
0
0
0
-32
-13
3
8
-47
12
-25
57
-10
15
0
0
0
0
0
0
0
29
4
-42
-74
-13
-21
70
-42
107
-13
0
0
0
0
0
0
0
-53
-52
-17
9
56
8
-8
-26
0
3
0
0
0
0
0
0
0
24
-3
37
48
26
-86
117
22
4
0
0
0
0
0
0
0
0
0
9
-48
47
-46
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-29
-1
-2
-3
0
2
1
0
0
0
0
0
0
0
0
-6
4
20
-18
-20
0
-1
0
-1
-22
0
0
0
0
0
0
0
-7
69
-30
71
7
-7
6
0
-5
7
0
0
0
0
0
0
0
17
0
-4
-10
-31
-2
0
-17
0
-5
0
0
0
0
0
0
0
-4
35
68
38
-5
10
1
2
-3
1
0
0
0
0
0
0
0
-46
2
-33
39
-56
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
-4
51
7
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-19
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
39
1
3
0
2
0
0
10
0
0
0
0
0
0
0
0
27
0
0
3
-5
-4
0
8
8
0
0
0
0
0
0
0
0
-2
0
-31
7
2
-8
5
0
1
0
0
0
0
0
0
0
0
0
0
-50
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
-10
31
24
-3
0
0
0
0
0
0
0
0
0
0
-5
-4
48
-12
-45
0
9
0
0
9
0
0
0
0
0
0
0
0
-24
38
36
-4
-90
6
22
-7
8
0
0
0
0
0
0
0
5
3
91
1
9
-12
-4
33
-3
25
0
0
0
0
0
0
0
0
0
0
-35
2
-24
8
0
-8
-13
0
0
0
0
0
0
0
1
0
54
5
72
5
-26
6
8
0
0
0
0
0
0
0
0
0
0
0
60
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
17
71
0
-2
0
0
0
0
0
0
0
0
0
0
0
77
47
23
24
12
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
49
107
8
-1
0
0
2
0
0
0
0
0
0
0
0
35
-31
79
-3
8
-2
-1
-1
-1
0
0
0
0
0
0
0
0
-6
13
19
-32
9
46
10
0
1
0
0
0
0
0
0
0
0
0
22
0
-29
1
-51
0
-1
-2
0
0
0
0
0
0
0
0
13
0
22
110
9
-14
0
12
0
0
0
0
0
0
0
0
0
0
-8
0
-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
46
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
-20
71
1
-8
-1
2
3
0
0
0
0
0
0
0
0
0
0
-27
1
-58
-6
-10
-4
-1
0
0
0
0
0
0
0
0
0
0
0
66
7
6
-5
7
-4
0
-4
0
0
0
0
0
0
0
0
8
0
-44
-16
-78
-1
-3
-6
31
0
0
0
0
0
0
0
0
-1
102
0
26
0
-45
0
5
-1
3
0
0
0
0
0
0
0
6
32
8
0
6
0
-3
-1
1
0
0
0
0
0
0
0
0
0
24
0
8
0
-3
0
0
-16
0
0
0
0
0
0
0
0
0
0
-5
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
17
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
114
6
26
-1
44
-3
0
0
0
0
0
0
0
0
0
0
0
-21
10
-14
37
-32
14
0
-8
-9
0
0
0
0
0
0
0
0
5
35
64
42
31
25
-8
-1
-24
0
0
0
0
0
0
0
-54
-5
0
80
53
17
-89
-14
30
-53
0
0
0
0
0
0
0
0
-4
-78
-35
55
-13
32
-26
-29
19
0
0
0
0
0
0
0
-24
6
17
-76
0
-1
4
-3
-2
0
0
0
0
0
0
0
0
0
115
18
3
-15
-3
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
80
-10
36
12
4
0
0
0
0
0
0
0
0
0
0
-5
21
32
86
23
45
21
0
0
0
0
0
0
0
0
0
0
-9
61
35
41
66
24
-10
1
-3
16
4
0
0
0
0
0
0
-95
-4
-2
31
39
88
-5
7
-92
23
0
0
0
0
0
0
0
23
-2
39
-29
42
107
3
-51
-20
21
0
0
0
0
0
0
0
-22
33
43
74
-24
-64
28
36
32
-6
-6
0
0
0
0
0
0
67
18
21
91
93
0
-1
-4
-4
0
0
0
0
0
0
0
0
0
96
70
-77
18
2
0
4
-1
-1
0
0
0
0
0
0
0
-4
0
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
51
-9
14
32
-34
0
0
0
0
0
0
0
0
0
0
-2
-34
66
19
32
34
10
0
1
0
0
0
0
0
0
0
0
11
-46
-34
39
23
13
-9
-6
4
-9
0
0
0
0
0
0
0
4
23
-2
-66
84
-35
73
-48
5
-43
0
0
0
0
0
0
0
9
-36
18
-4
-19
77
23
17
-196
21
0
0
0
0
0
0
0
-3
-37
13
4
76
138
61
187
83
13
1
0
0
0
0
0
0
0
38
66
81
30
-29
0
1
4
0
0
0
0
0
0
0
0
0
41
117
47
86
-79
1
-2
22
-5
0
0
0
0
0
0
0
0
0
-14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
24
-11
7
43
-37
-1
0
0
0
0
0
0
0
0
0
-44
32
6
58
32
7
-47
0
-1
0
1
0
0
0
0
0
0
-19
-47
3
-70
56
114
66
2
45
-72
5
0
0
0
0
0
0
-40
22
44
-13
-55
127
-15
-1
-46
-34
0
0
0
0
0
0
0
29
25
0
38
67
29
72
3
-15
-69
13
0
0
0
0
0
0
66
5
71
11
-5
-74
-36
6
-47
-3
0
0
0
0
0
0
0
17
42
-10
121
149
84
166
0
-55
-3
0
0
0
0
0
0
0
0
-34
16
46
34
62
40
-8
0
14
0
0
0
0
0
0
0
0
2
24
16
69
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-32
41
4
-30
64
3
0
1
-1
0
0
0
0
0
0
42
-26
11
-33
74
45
94
0
0
0
2
0
0
0
0
0
0
88
16
2
9
-30
89
-33
-27
-7
52
0
-2
0
0
0
0
0
-52
-35
-1
-5
48
-39
-1
-97
132
144
-4
0
0
0
0
0
0
-27
12
-3
-3
5
-1
-5
14
-32
49
0
0
0
0
0
0
0
13
27
1
11
37
19
2
-92
-22
6
4
0
0
0
0
0
0
9
68
16
53
90
79
63
38
0
13
0
0
0
0
0
0
0
0
-86
19
2
51
17
75
-71
4
-156
0
0
0
0
0
0
0
0
0
-18
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
35
39
30
8
96
6
0
0
-1
0
0
0
0
0
0
0
-1
25
-13
-37
-2
-8
0
0
0
33
0
0
0
0
0
0
0
-30
19
-55
-36
36
0
4
13
13
23
0
0
0
0
0
0
0
-21
-49
39
-50
-4
61
94
-36
-10
15
0
0
0
0
0
0
0
-44
-22
-2
-37
-19
-18
-71
0
24
42
0
0
0
0
0
0
0
26
41
-14
15
63
-19
37
27
78
-21
0
0
0
0
0
0
0
16
12
29
83
48
22
-1
21
0
0
0
0
0
0
0
0
0
1
-62
18
29
42
73
-21
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
28
0
-6
0
0
1
0
0
0
0
0
0
0
0
7
1
-18
-41
4
0
0
0
3
-2
0
0
0
0
0
0
0
0
27
-10
13
5
7
0
0
0
5
0
0
0
0
0
0
0
-5
25
23
-12
36
2
0
3
6
0
0
0
0
0
0
0
0
0
-120
-118
69
34
8
-2
0
0
24
0
0
0
0
0
0
0
8
-2
-4
22
44
-10
3
-8
0
-7
0
0
0
0
0
0
0
-2
-2
5
99
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-8
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
8
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-1
60
-18
3
-5
0
1
0
0
0
0
0
0
0
0
13
0
18
7
-9
-7
-3
1
0
0
0
0
0
0
0
0
0
0
10
-1
0
1
10
2
0
-6
0
0
0
0
0
0
0
0
0
0
12
-6
40
0
1
6
0
-3
0
0
0
0
0
0
0
0
0
2
-9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
74
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-19
33
15
-2
0
0
0
2
0
0
0
0
0
0
0
0
-2
-1
5
-1
29
2
0
0
2
0
0
0
0
0
0
0
0
0
8
-13
-34
6
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-48
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-4
0
8
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
-1
3
20
0
0
0
0
0
0
0
0
0
0
0
0
37
4
-34
1
-67
0
0
18
0
0
0
0
0
0
0
0
12
13
-82
-1
-43
1
1
0
9
0
0
0
0
0
0
0
0
0
-25
0
-66
0
-9
-2
-10
-20
0
0
0
0
0
0
0
0
-8
-9
3
0
-3
0
0
0
-33
0
0
0
0
0
0
0
0
0
22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-45
-1
-37
0
0
0
0
0
0
0
0
0
0
0
-3
7
-6
-15
-7
1
-2
0
0
3
0
0
0
0
0
0
0
0
-43
-1
27
-2
24
-1
0
-7
-13
0
0
0
0
0
0
0
-20
0
-33
2
-46
-92
-33
0
0
0
0
0
0
0
0
0
0
-2
-42
3
17
-3
16
22
0
0
0
0
0
0
0
0
0
0
-8
-19
18
-4
21
5
45
-8
1
0
0
0
0
0
0
0
0
0
3
-52
5
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
8
11
6
-7
0
0
0
0
0
0
0
0
0
0
0
77
3
-10
9
38
-6
0
0
0
0
0
0
0
0
0
0
41
0
-2
0
-15
38
2
0
0
-10
0
0
0
0
0
0
0
-12
-1
10
1
-1
42
1
4
-25
-3
0
0
0
0
0
0
0
26
-53
-54
-11
7
-36
-17
-29
-26
0
0
0
0
0
0
0
0
0
52
6
-40
0
-38
17
-77
4
0
0
0
0
0
0
0
0
73
25
-7
-79
91
3
42
17
6
0
0
0
0
0
0
0
0
0
74
24
27
-17
0
0
-8
0
0
0
0
0
0
0
0
0
-5
0
78
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
13
-77
0
8
0
0
0
0
0
0
0
0
0
0
0
16
-9
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
16
-2
15
-6
33
8
2
0
0
-22
0
0
0
0
0
0
0
0
47
-44
21
15
-18
19
-8
-9
-51
0
0
0
0
0
0
0
-41
36
-41
-49
-102
-24
47
-18
15
3
0
0
0
0
0
0
0
0
-67
-5
46
64
4
1
80
-83
-15
0
0
0
0
0
0
0
2
5
-63
46
16
8
2
29
-16
-5
0
0
0
0
0
0
0
0
-2
43
71
26
104
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-8
40
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-9
15
-143
8
9
0
0
0
0
0
0
0
0
0
0
27
-37
114
-20
54
41
-2
0
0
0
0
0
0
0
0
0
0
-6
40
-83
81
34
66
-4
2
14
4
0
0
0
0
0
0
0
-22
27
40
-70
-30
82
-30
0
80
1
0
0
0
0
0
0
0
-26
-28
2
-8
41
-9
-86
-2
152
-24
1
0
0
0
0
0
0
-41
20
11
7
-64
-17
4
0
39
-49
0
0
0
0
0
0
0
-1
17
14
-3
41
10
59
0
79
5
0
0
0
0
0
0
0
2
34
5
74
89
-29
-14
0
0
0
0
0
0
0
0
0
0
4
18
81
29
3
6
0
0
-19
0
0
0
0
0
0
0
0
0
3
17
19
-3
10
-9
-7
0
0
0
0
0
0
0
0
0
0
13
-16
44
-23
52
-8
0
0
0
0
0
0
0
0
0
0
-23
-28
-23
-78
62
55
6
5
2
-40
0
0
0
0
0
0
0
-1
-18
-89
-19
-22
67
5
-6
-4
12
0
0
0
0
0
0
0
-16
13
24
-82
3
-11
82
-48
13
-131
0
0
0
0
0
0
0
1
-13
-25
-41
35
-101
22
56
0
39
0
0
0
0
0
0
0
-4
-58
-40
14
-5
39
-96
-86
9
-4
0
0
0
0
0
0
0
0
1
15
144
21
11
2
2
0
4
0
0
0
0
0
0
0
0
7
8
4
70
29
0
-17
0
0
0
0
0
0
0
0
0
0
0
-12
-9
6
-20
16
0
0
0
0
0
0
0
0
0
0
0
-74
-24
-57
67
-22
16
0
0
0
1
0
0
0
0
0
0
0
-31
-9
13
-66
141
-7
-5
0
1
-10
0
0
0
0
0
0
0
-11
25
-2
17
3
-15
0
6
0
-13
0
0
0
0
0
0
0
18
23
-39
-24
21
-26
39
-31
-5
24
0
0
0
0
0
0
0
-4
-5
21
-44
61
-53
-27
-62
-2
-21
0
0
0
0
0
0
0
5
-68
23
-3
41
-45
93
20
0
1
0
0
0
0
0
0
0
0
7
-78
-44
-39
-22
-1
-3
0
0
0
0
0
0
0
0
0
0
0
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
2
-7
3
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
0
-3
4
-1
0
0
0
0
0
0
0
0
0
0
0
9
-18
-7
9
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-2
4
-1
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
18
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-20
4
0
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
16
2
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
-10
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
29
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
-147
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
47
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
67
0
-6
1
0
0
0
0
0
0
0
0
0
0
-59
0
14
0
72
-13
12
0
0
0
0
0
0
0
0
0
0
0
-51
0
-12
3
46
-17
0
-41
0
0
0
0
0
0
0
0
3
0
-27
0
-8
38
-2
0
1
0
0
0
0
0
0
0
0
0
-43
0
0
0
-6
-17
0
-8
0
0
0
0
0
0
0
0
0
0
42
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
-3
0
3
0
0
0
0
0
0
0
0
0
0
-6
-1
10
51
0
6
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-16
15
-1
3
0
0
3
0
0
0
0
0
0
0
0
20
20
8
-2
63
-4
0
0
0
0
0
0
0
0
0
0
0
51
-101
2
-22
3
17
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-69
-25
-5
1
0
0
-40
0
0
0
0
0
0
0
0
-24
46
6
14
-7
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-9
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
4
0
-29
34
-49
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
15
-13
30
-1
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-24
-1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
25
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
13
0
-1
0
0
0
0
0
0
0
0
2
0
0
10
0
-7
-3
9
-1
0
0
0
0
0
0
0
0
0
0
3
0
1
8
4
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-8
-5
-3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-5
-8
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-4
15
-7
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
7
-5
-37
1
3
0
0
0
0
0
0
0
0
0
0
20
0
7
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
45
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
89
41
0
0
-19
0
0
0
0
0
0
0
0
0
0
8
-13
-24
53
-33
40
6
-1
0
0
0
0
0
0
0
0
-3
5
-3
49
30
103
-7
3
0
0
0
0
0
0
0
0
0
0
1
0
30
8
16
-78
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
28
-7
-30
-2
0
0
0
0
0
0
0
0
0
0
0
5
-5
2
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
20
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
25
40
0
-50
-23
0
16
0
0
0
0
0
0
0
-8
3
1
46
-11
3
-27
-40
-40
24
0
0
0
0
0
0
0
8
77
-17
29
-34
-76
81
50
-58
-28
0
0
0
0
0
0
0
-14
12
1
-4
-23
-32
-31
18
59
-78
0
0
0
0
0
0
0
3
0
4
1
-6
9
23
13
48
60
0
0
0
0
0
0
0
0
0
0
1
-2
44
13
31
-31
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
36
-9
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
63
-30
0
-13
0
31
0
0
0
0
0
0
0
8
14
-3
0
30
18
-20
2
3
21
0
0
0
0
0
0
0
-1
99
3
3
2
38
-33
22
-103
-38
0
0
0
0
0
0
0
0
-5
46
-21
70
24
-5
10
-34
29
0
0
0
0
0
0
0
0
-2
-4
-6
15
-2
54
15
-38
6
-2
0
0
0
0
0
0
0
-12
6
0
-1
-10
48
-40
-24
-19
0
0
0
0
0
0
0
0
-20
0
0
0
-3
14
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
31
-13
-60
-54
0
0
5
0
0
0
0
0
0
0
7
-2
24
-11
-35
17
34
-26
-90
0
0
0
0
0
0
0
0
58
-3
10
-60
41
-29
10
-66
-37
13
0
0
0
0
0
0
0
19
-22
40
-3
-32
17
-67
1
-39
-8
0
0
0
0
0
0
0
2
4
0
-14
-42
-17
40
20
38
0
-1
0
0
0
0
0
0
0
-2
0
0
-1
56
-13
-49
7
-2
5
0
0
0
0
0
0
0
0
0
-4
-3
0
-9
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
4
0
19
-7
-45
0
0
8
0
0
0
0
0
0
0
12
-8
0
-1
6
15
7
5
65
3
0
0
0
0
0
0
0
-5
12
0
-8
-7
-49
-50
-18
3
1
0
0
0
0
0
0
0
50
-2
0
21
22
-70
-52
-101
-69
8
0
0
0
0
0
0
0
40
8
7
14
21
-20
-41
-46
1
0
0
0
0
0
0
0
0
13
2
-5
-20
4
-3
-55
-9
16
0
0
0
0
0
0
0
0
-3
0
0
-5
10
-42
-2
-42
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
3
-16
-39
0
-32
0
-1
0
0
0
0
0
0
0
0
1
0
12
17
-5
-22
-8
23
0
0
0
0
0
0
0
0
3
0
0
0
-2
7
5
-21
-1
0
0
0
0
0
0
0
0
1
0
0
4
-4
-6
-22
-5
-7
0
0
0
0
0
0
0
0
5
0
0
9
6
0
-31
-28
3
0
0
0
0
0
0
0
0
-1
0
0
0
4
1
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-9
-1
-8
0
0
0
0
0
0
0
0
0
-1
0
0
-10
-1
-38
0
41
-12
0
0
0
0
0
0
0
0
1
0
0
-16
3
-8
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-12
19
-8
0
6
0
0
0
0
0
0
0
3
0
2
1
23
5
-12
-16
-25
-10
0
0
0
0
0
0
0
0
-1
-1
-4
15
33
59
-2
29
-8
0
0
0
0
0
0
0
1
-2
0
4
-3
24
-20
48
-38
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
11
-3
3
0
0
0
0
0
0
0
0
1
0
0
0
-7
-8
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
7
0
-3
0
0
0
0
0
0
0
0
2
0
0
9
34
2
18
10
-5
0
0
0
0
0
0
0
0
4
0
-3
-8
23
3
-42
27
-10
0
0
0
0
0
0
0
0
-2
0
0
-3
2
-23
-2
14
-5
0
0
0
0
0
0
0
0
4
0
0
-2
-1
15
12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
-37
-5
-23
0
2
0
0
0
0
0
0
0
-17
0
0
-8
7
27
-25
64
-17
2
-1
0
0
0
0
0
0
0
0
0
-13
-1
45
29
1
8
9
0
0
0
0
0
0
0
0
0
0
0
1
43
39
71
-7
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
1
-20
4
53
14
0
-6
0
0
0
0
0
0
0
13
0
-1
35
-2
-16
36
-25
-16
7
2
0
0
0
0
0
0
-2
0
1
5
9
-3
3
46
27
17
0
0
0
0
0
0
0
0
0
9
4
-6
49
5
-25
-41
-16
0
0
0
0
0
0
0
-1
-16
0
-3
-20
10
44
-36
30
0
0
0
0
0
0
0
0
0
0
-1
-13
-2
-15
-1
26
-32
-14
0
0
0
0
0
0
0
0
0
0
3
-2
3
8
16
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
8
-40
39
59
-2
7
0
-14
0
0
0
0
0
0
0
15
50
13
14
41
-36
-10
-24
2
4
0
0
0
0
0
0
0
32
-15
15
-54
-39
-35
26
8
-13
-82
0
0
0
0
0
0
0
3
-9
-7
-24
36
-12
75
2
29
-5
0
0
0
0
0
0
0
8
1
8
-16
89
48
21
-50
8
-14
0
0
0
0
0
0
0
-2
-14
0
6
4
-18
26
-27
20
-19
0
0
0
0
0
0
0
0
-4
0
-5
-10
12
2
-33
-85
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
72
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-3
3
12
145
35
5
0
-83
-2
0
0
0
0
0
0
16
9
5
60
24
59
5
36
-39
-22
-2
0
0
0
0
0
0
17
92
-17
34
80
26
-39
-20
14
-23
0
0
0
0
0
0
0
4
63
-48
114
18
-20
22
17
12
-43
0
0
0
0
0
0
0
0
-23
25
44
-8
8
-17
-67
18
-10
-1
0
0
0
0
0
0
0
-1
0
9
1
51
-9
8
-46
23
0
0
0
0
0
0
0
0
-1
0
5
-40
1
26
3
-10
1
0
0
0
0
0
0
0
0
2
0
0
0
86
16
65
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-24
65
52
28
-29
0
17
0
29
2
0
0
0
0
0
0
8
-14
-65
49
-76
-24
-17
-31
-8
10
8
0
0
0
0
0
0
-87
3
1
56
22
-8
5
14
8
18
1
0
0
0
0
0
0
104
1
49
-29
-43
-4
-7
-12
48
-1
-3
0
0
0
0
0
0
-36
7
-8
41
-34
-42
-30
-77
-2
39
0
0
0
0
0
0
0
0
-6
7
-6
-50
-2
8
30
18
104
8
0
0
0
0
0
0
0
0
0
0
-43
21
-46
-4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
49
7
30
-7
-37
-21
-12
0
18
4
-1
0
0
0
0
0
33
3
-40
32
6
13
-58
-10
-1
1
6
0
0
0
0
0
0
-3
-34
-77
-19
-27
-26
-44
0
-35
-91
-2
0
0
0
0
0
0
-2
25
30
-55
-8
44
-63
-1
-23
10
2
0
0
0
0
0
0
1
23
25
10
-28
40
-33
-12
5
14
0
0
0
0
0
0
0
0
18
40
42
-10
-3
-64
-31
24
27
1
0
0
0
0
0
0
9
-1
4
-8
6
-5
-8
50
-9
-8
0
0
0
0
0
0
0
0
0
-7
0
0
-2
5
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
15
107
-31
-46
34
0
-19
2
0
0
0
0
0
0
0
-9
-45
54
-48
-35
-35
-42
-35
-8
-10
0
0
0
0
0
0
0
51
31
-64
-38
-10
-43
-4
-54
-52
8
0
0
0
0
0
0
0
5
69
-24
87
-22
-26
-27
18
-89
-2
0
0
0
0
0
0
0
-66
32
-49
-18
0
-66
-25
-9
7
-3
0
0
0
0
0
0
0
-14
43
7
-115
8
-12
23
24
18
2
0
0
0
0
0
0
0
31
13
-5
-38
29
-6
-23
-137
5
0
0
0
0
0
0
0
0
0
0
-8
2
-65
1
-82
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
6
-9
-48
0
10
-3
-1
0
0
0
0
0
0
0
0
-3
0
3
-16
-3
-14
-16
23
-1
0
0
0
0
0
0
0
0
6
1
2
16
-30
-9
-22
10
0
0
0
0
0
0
0
0
29
0
-2
10
-2
-16
-56
-21
40
0
0
0
0
0
0
0
0
-6
8
-1
-4
-1
30
77
67
1
0
0
0
0
0
0
0
0
-1
1
-8
24
0
16
12
15
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
1
-9
0
0
0
0
0
0
0
0
0
8
3
0
12
27
12
10
27
12
0
0
0
0
0
0
0
0
0
0
-2
2
0
-2
4
6
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-8
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
8
-10
0
-8
0
-1
0
0
0
0
0
0
0
0
19
0
1
-12
1
5
1
-7
0
0
0
0
0
0
0
0
0
0
0
2
-25
6
25
-19
-46
6
0
0
0
0
0
0
0
0
2
-1
3
2
24
16
-43
-9
-6
0
0
0
0
0
0
0
0
-5
0
0
3
9
-10
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
9
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
13
0
0
2
0
0
0
0
0
0
0
0
0
2
0
-15
5
12
-25
-5
-2
0
0
0
0
0
0
0
13
0
0
5
-8
20
8
-13
0
2
0
0
0
0
0
0
0
-1
0
1
-2
2
-16
-24
-14
0
0
0
0
0
0
0
0
0
-3
-1
0
5
0
4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
-9
-7
32
0
-7
0
0
0
0
0
0
0
0
0
1
-5
108
8
6
-47
26
0
3
0
0
0
0
0
0
0
-2
0
2
11
-24
-7
36
-25
0
2
0
0
0
0
0
0
-23
0
-8
-25
5
-23
74
43
0
2
0
0
0
0
0
0
0
0
0
0
0
-39
6
64
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-7
0
0
-6
-26
-36
-19
0
-26
0
0
0
0
0
0
0
-1
5
-3
3
41
83
-2
56
8
17
0
0
0
0
0
0
0
0
-7
14
32
48
-14
-34
82
-49
13
0
0
0
0
0
0
0
-3
22
0
0
-15
-38
-6
-31
4
5
0
0
0
0
0
0
0
0
4
1
4
7
117
37
63
-25
0
0
0
0
0
0
0
0
0
-3
0
3
0
50
-5
-35
3
5
0
0
0
0
0
0
0
0
0
-7
0
-8
0
-1
48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
-6
-4
29
-35
74
24
0
-11
0
0
0
0
0
0
0
9
35
29
97
20
-89
59
-57
-59
36
0
0
0
0
0
0
0
12
54
4
-28
24
-13
42
23
-41
-31
0
0
0
0
0
0
0
30
-86
-60
-10
71
-84
-112
-7
55
-11
0
0
0
0
0
0
0
-62
0
-22
36
-46
-34
71
-23
14
-5
0
0
0
0
0
0
0
-1
16
19
-8
-4
-6
63
12
39
21
0
0
0
0
0
0
0
3
0
3
0
-8
-33
-23
-37
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
74
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
4
0
0
0
0
0
0
0
0
3
-19
-13
1
13
40
-49
10
0
-55
0
0
0
0
0
0
0
17
-39
-2
52
23
-23
-18
-22
-15
-43
0
0
0
0
0
0
0
0
-64
-3
1
-61
-78
39
-21
21
7
0
0
0
0
0
0
0
0
-33
-34
94
-84
-89
-71
-35
-4
-4
0
0
0
0
0
0
0
-1
-13
-2
-79
-35
67
-79
10
7
-16
-1
0
0
0
0
0
0
0
-40
-21
25
31
-35
3
5
29
23
0
0
0
0
0
0
0
0
0
42
13
13
-22
-104
-27
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-49
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
29
13
-3
-107
0
23
10
0
19
-7
0
0
0
0
0
0
-65
79
35
56
1
18
5
11
30
-39
1
0
0
0
0
0
0
-29
19
60
-32
-29
-30
-3
-34
42
26
8
0
0
0
0
0
0
-9
21
-10
-50
3
24
11
1
-86
52
2
0
0
0
0
0
0
-14
1
17
-41
57
28
39
-48
-28
-41
-9
0
0
0
0
0
0
-9
40
71
16
-22
9
-9
17
47
51
0
0
0
0
0
0
0
23
20
-4
-1
5
23
5
57
33
0
0
0
0
0
0
0
0
0
-8
-1
-20
-1
18
5
-50
7
1
0
0
0
0
0
0
0
0
0
0
0
1
0
14
0
3
0
0
0
0
0
0
0
0
-30
-26
91
-32
-29
46
-5
29
0
36
0
0
0
0
0
0
0
-31
-69
-31
83
8
13
-20
7
-24
-46
43
0
0
0
0
0
0
-29
20
2
8
7
-5
-26
11
-18
52
0
2
0
0
0
0
0
25
-84
-6
24
-47
13
-59
-5
-59
-23
0
0
0
0
0
0
0
3
10
-11
62
-40
-21
21
23
-4
-1
0
0
0
0
0
0
0
-2
24
-34
34
-64
-34
27
-16
16
-34
0
0
0
0
0
0
0
3
-4
-8
-14
-1
-61
-38
-65
28
29
0
0
0
0
0
0
0
0
-4
0
1
0
17
-40
-9
63
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-37
-8
4
89
-64
10
17
0
-76
27
0
0
0
0
0
0
0
22
41
51
49
-38
25
63
-39
-44
4
0
0
0
0
0
0
0
-47
123
-62
36
-28
-44
-62
-44
-1
-5
0
0
0
0
0
0
0
-55
16
-23
-27
-60
10
-12
5
-50
-5
0
0
0
0
0
0
0
-8
-22
-5
-91
32
68
-19
-8
15
40
0
0
0
0
0
0
0
58
-10
16
-1
51
-12
16
-14
-37
10
0
0
0
0
0
0
0
5
12
7
16
-60
31
-1
-10
50
0
0
0
0
0
0
0
0
0
-12
0
0
-41
-18
1
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-12
17
0
-71
-4
0
0
0
0
0
0
0
0
9
25
33
-6
2
13
-42
-31
-90
0
0
0
0
0
0
0
0
-9
0
0
-1
0
-20
-4
6
0
0
0
0
0
0
0
0
0
-1
-2
0
0
4
27
1
-3
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-23
56
23
2
3
0
0
0
0
0
0
0
-1
-4
8
19
-8
10
5
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
40
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-22
-7
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
5
-1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
2
-5
24
6
-52
-7
0
0
0
0
0
0
0
0
0
0
0
0
25
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
44
-1
0
40
0
0
0
0
0
0
0
0
8
0
-3
56
-2
52
7
-77
-16
0
0
0
0
0
0
0
2
1
1
-2
-19
-38
7
-4
32
38
0
0
0
0
0
0
0
0
0
4
-22
-91
-6
79
-26
-35
-10
0
0
0
0
0
0
0
0
1
7
0
-2
42
17
27
60
2
0
0
0
0
0
0
0
0
-5
0
0
-16
-13
0
1
-13
-4
0
0
0
0
0
0
0
0
-1
-1
1
-7
0
-23
16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
0
0
-8
-2
0
0
0
0
0
0
0
1
0
0
4
-25
-2
1
20
-30
1
0
0
0
0
0
0
0
0
0
2
-1
-2
23
42
-16
2
0
0
0
0
0
0
0
0
0
0
22
-1
-17
5
-16
-4
-34
0
0
0
0
0
0
0
0
0
1
-1
0
0
30
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
13
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-16
-9
-4
-42
0
0
0
0
0
0
0
0
0
6
0
1
-7
115
-14
5
25
-8
0
0
0
0
0
0
0
0
1
0
0
13
-43
-122
39
43
65
0
-3
0
0
0
0
0
0
-2
-1
0
0
-25
-82
-62
13
-15
-1
0
0
0
0
0
0
0
2
5
2
1
34
12
-65
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
4
-3
-2
-26
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
30
-14
24
0
0
13
0
0
0
0
0
0
0
72
2
6
5
-64
-15
58
-64
-47
11
0
0
0
0
0
0
0
-5
2
5
12
-63
-6
-25
21
-23
-16
0
0
0
0
0
0
0
-2
-17
-16
48
3
41
-67
-40
-48
-21
0
0
0
0
0
0
0
3
4
0
-9
-21
-58
4
-43
48
0
0
0
0
0
0
0
0
3
2
57
19
38
-45
13
-35
35
-8
0
0
0
0
0
0
0
-4
0
0
0
-25
-3
-27
0
-29
0
0
0
0
0
0
0
0
0
-1
0
-1
0
41
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
-30
-2
-89
31
-47
0
-48
0
0
0
0
0
0
0
-6
-10
-87
54
-9
-27
-9
-72
-22
-1
-13
0
0
0
0
0
0
-15
5
29
11
2
-35
8
-16
1
82
0
0
0
0
0
0
0
-59
18
0
66
26
14
11
0
-19
-1
0
0
0
0
0
0
0
-6
-42
25
18
-41
33
48
23
10
15
0
0
0
0
0
0
0
2
-16
-12
32
24
50
-4
-25
-22
-13
3
0
0
0
0
0
0
-1
-8
-9
-7
11
11
-52
22
-48
-1
0
0
0
0
0
0
0
0
0
0
1
-7
27
48
17
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
-1
0
2
2
70
-45
14
37
0
28
0
0
0
0
0
0
0
-8
-39
1
2
-38
-3
-41
-40
54
-6
0
0
0
0
0
0
0
1
-17
-15
62
70
14
-51
-21
-27
10
0
0
0
0
0
0
0
-8
17
82
77
-36
-48
-29
-30
-1
1
0
0
0
0
0
0
0
-7
-9
88
4
37
-52
3
-40
1
-39
0
0
0
0
0
0
0
1
73
84
11
2
29
-9
10
5
3
-1
0
0
0
0
0
0
5
-20
-2
-13
10
62
-23
-7
23
-3
0
0
0
0
0
0
0
0
-2
0
-1
4
0
-16
32
40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
11
5
55
-27
14
-27
20
20
0
29
0
0
0
0
0
0
0
-66
-54
54
40
-77
8
-2
-16
20
-55
-19
0
0
0
0
0
0
-6
-4
-16
64
32
7
-13
12
-1
0
0
0
0
0
0
0
0
-72
-18
4
50
-43
-43
-35
-2
-5
-19
-4
0
0
0
0
0
0
-21
-58
-54
-50
-2
-39
7
-36
-19
22
3
0
0
0
0
0
0
-25
117
17
-60
-30
50
12
28
41
-47
-5
0
0
0
0
0
0
60
10
58
-9
25
68
5
10
0
4
0
0
0
0
0
0
0
0
2
7
19
-1
-18
28
-5
40
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
2
8
0
0
0
0
0
0
0
0
-117
-30
-20
-14
53
6
30
12
0
-13
-1
0
0
0
0
0
0
19
-76
-9
-6
-21
-11
3
2
9
-8
-29
1
0
0
0
0
0
-25
54
2
15
-31
-26
-8
2
-7
43
4
3
0
0
0
0
0
-9
6
-8
-4
8
41
-3
-15
-5
-19
0
0
0
0
0
0
0
-15
68
59
9
-40
-41
-17
16
3
-91
0
0
0
0
0
0
0
-4
-12
0
-80
-39
10
55
24
-1
31
0
0
0
0
0
0
0
-57
-17
29
30
-39
-42
13
41
17
4
0
0
0
0
0
0
0
0
-3
-22
18
-6
-20
6
18
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
10
12
0
0
0
0
0
0
0
0
0
0
0
-7
4
-42
-67
-106
66
13
0
36
5
0
0
0
0
0
0
0
49
121
17
-18
-24
-29
1
-4
-10
38
0
0
0
0
0
0
0
57
130
51
28
-23
52
-20
12
-8
-6
0
0
0
0
0
0
0
-52
-38
22
-24
-75
-5
-54
-32
-1
-13
0
0
0
0
0
0
0
-57
8
-79
17
-45
-27
33
11
-28
-5
0
0
0
0
0
0
0
-21
-40
-49
-63
-47
39
41
43
-18
-4
0
0
0
0
0
0
0
-16
39
27
-34
-82
36
-18
12
19
0
0
0
0
0
0
0
0
-2
3
2
0
-59
-7
9
-67
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
4
2
0
3
-4
49
0
11
22
-4
0
0
0
0
0
0
0
4
3
-2
0
15
16
-47
25
9
2
0
0
0
0
0
0
0
-18
0
1
8
3
38
-4
-7
-8
-1
0
0
0
0
0
0
0
-3
-1
8
2
29
-31
15
-25
3
0
0
0
0
0
0
0
0
50
0
6
1
-1
-11
45
86
-8
0
0
0
0
0
0
0
0
0
0
-3
3
0
-19
-26
15
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-1
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-1
-1
-22
0
0
0
0
0
0
0
0
0
0
0
-5
0
-27
-8
18
2
0
0
0
0
0
0
0
0
0
0
0
10
15
1
-2
18
1
0
0
0
0
0
0
0
0
0
0
0
1
7
-19
-5
7
1
0
0
0
0
0
0
0
0
-1
0
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
-13
75
-25
0
-36
0
0
0
0
0
0
0
0
1
0
4
32
-18
48
-72
-29
44
0
0
0
0
0
0
0
0
12
3
12
40
-20
6
0
-21
7
0
0
0
0
0
0
0
0
8
-7
14
-7
101
28
8
-10
10
0
0
0
0
0
0
0
3
0
5
-10
-65
40
60
-17
45
13
0
0
0
0
0
0
0
0
0
-8
0
1
-18
38
10
-25
4
0
0
0
0
0
0
0
0
0
-7
3
34
-3
50
-5
10
8
0
0
0
0
0
0
0
0
0
0
-1
0
-38
12
-62
6
0
0
0
0
0
0
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
13
8
0
33
6
0
0
0
0
0
0
0
0
0
0
0
-8
-28
-1
27
-3
70
0
0
0
0
0
0
0
-5
1
0
6
-7
-12
22
-1
13
5
0
0
0
0
0
0
0
0
0
-1
-2
25
16
-12
-8
-19
2
0
0
0
0
0
0
0
3
0
1
-7
-27
-13
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
13
-1
6
-29
-93
-59
0
12
-1
0
0
0
0
0
0
-7
0
9
-5
-11
8
20
-21
81
-27
0
0
0
0
0
0
0
4
0
-2
-15
-72
-25
23
4
-1
0
-3
0
0
0
0
0
0
8
0
0
21
-22
-113
-22
-30
3
-1
0
0
0
0
0
0
0
14
0
0
0
1
-17
5
0
-41
0
0
0
0
0
0
0
0
0
-2
0
5
3
7
-4
29
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
1
108
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
-18
45
14
32
38
0
-2
0
0
0
0
0
0
0
-9
0
48
-1
29
24
6
10
-30
-56
0
0
0
0
0
0
0
13
-9
46
17
-26
-7
-6
-11
-11
20
0
0
0
0
0
0
0
0
-4
0
61
-8
-12
-8
-4
-60
15
0
0
0
0
0
0
0
-4
81
12
26
0
28
-50
61
-17
6
0
0
0
0
0
0
0
0
25
-4
1
27
-20
21
-1
22
97
0
0
0
0
0
0
0
2
8
0
-1
-31
29
4
-8
70
0
0
0
0
0
0
0
0
0
-6
0
-1
0
-43
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
-89
-8
-26
-17
-8
-17
0
27
0
-6
0
0
0
0
0
0
0
-2
50
-51
48
-103
-42
11
-4
11
57
1
0
0
0
0
0
0
-29
75
61
-31
-10
-23
5
3
0
-14
3
0
0
0
0
0
0
30
-15
29
50
-22
10
1
-10
-1
12
0
0
0
0
0
0
0
18
42
-1
11
-102
0
-30
-77
-19
3
-3
0
0
0
0
0
0
33
-21
48
75
-43
4
9
12
62
-14
0
0
0
0
0
0
0
5
-7
7
-1
3
62
27
7
21
0
0
0
0
0
0
0
0
0
0
-8
-14
0
-34
14
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
11
8
-2
0
0
0
0
0
0
0
0
-27
8
-59
-55
-59
-73
8
-20
0
-28
0
0
0
0
0
0
0
53
-56
-76
-52
-85
-33
-15
7
2
-38
-4
0
0
0
0
0
0
-7
-52
-30
16
50
-21
-56
-33
-15
-34
0
0
0
0
0
0
0
-6
58
86
-5
8
10
-43
18
-53
15
0
0
0
0
0
0
0
-30
123
0
149
101
-69
0
-17
-15
-10
0
0
0
0
0
0
0
0
-39
-28
51
44
-36
-44
-19
6
-73
0
0
0
0
0
0
0
2
14
-17
-11
-47
-62
39
14
-5
21
0
0
0
0
0
0
0
0
0
-2
2
0
-16
17
-54
7
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
16
0
0
0
0
0
0
0
0
0
-40
-58
55
-37
-2
-27
11
3
0
46
-5
0
0
0
0
0
0
-71
6
24
17
-7
18
-9
16
10
-17
-32
0
0
0
0
0
0
11
-59
4
87
26
0
2
9
-21
3
23
0
0
0
0
0
0
74
3
-31
26
18
15
2
-3
-38
38
10
0
0
0
0
0
0
35
35
51
18
33
-16
-14
0
65
47
2
0
0
0
0
0
0
0
9
-44
-47
33
56
32
35
-17
66
1
0
0
0
0
0
0
-23
47
18
-40
-11
23
40
79
-30
3
1
0
0
0
0
0
0
0
-4
-6
11
2
7
-13
40
-35
32
0
0
0
0
0
0
0
0
0
0
0
-15
0
-4
-4
-20
0
0
0
0
0
0
0
0
5
43
15
32
-13
-41
17
-26
0
-23
1
0
0
0
0
0
0
28
-54
52
-12
-91
-42
-13
13
34
-19
13
0
0
0
0
0
0
18
-32
9
87
2
-19
17
-15
-1
39
0
-1
0
0
0
0
0
17
-103
45
3
-18
-50
-39
1
31
-72
1
0
0
0
0
0
0
2
60
39
-12
-32
-24
-36
-4
0
-14
0
0
0
0
0
0
0
13
-75
9
-8
-53
1
-11
11
21
-47
-3
0
0
0
0
0
0
94
102
51
62
-47
5
47
59
21
-53
0
0
0
0
0
0
0
0
17
31
-74
0
-12
13
-3
7
40
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-23
34
-2
0
0
0
0
0
0
0
0
0
-2
-42
-28
-73
-37
38
-4
0
-16
13
0
0
0
0
0
0
0
33
78
19
-65
16
34
54
-28
-3
-45
0
0
0
0
0
0
0
-9
-15
-35
17
9
-5
-34
-12
-9
5
0
0
0
0
0
0
0
45
-17
34
-46
-103
-10
28
-62
44
-33
0
0
0
0
0
0
0
45
53
38
42
-92
-20
-60
22
0
20
0
0
0
0
0
0
0
26
68
-55
20
-11
2
-14
-5
-48
3
0
0
0
0
0
0
0
-8
-40
3
-106
-37
32
-4
-25
-50
0
0
0
0
0
0
0
0
3
4
0
0
-1
38
37
-4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
2
0
0
19
0
83
0
-68
21
14
0
0
0
0
0
0
0
-3
-4
5
30
-17
-6
-37
-32
6
-5
0
0
0
0
0
0
0
1
-6
3
-6
-4
8
-33
-39
-7
0
0
0
0
0
0
0
0
-5
2
0
2
-4
-19
8
49
-71
2
0
0
0
0
0
0
0
0
0
-1
4
1
-2
27
-24
0
0
0
0
0
0
0
0
0
0
-5
0
0
-8
-1
31
23
7
0
0
0
0
0
0
0
0
0
0
0
2
0
15
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
51
4
5
0
0
0
0
0
0
0
0
-4
0
0
-8
0
1
0
46
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
3
37
1
7
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-30
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
16
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
7
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
4
-18
0
7
0
0
0
0
0
0
0
0
-15
0
0
-10
30
-42
62
-46
-5
0
0
0
0
0
0
0
0
0
1
2
4
0
-42
40
-8
0
0
0
0
0
0
0
0
1
-13
0
6
-15
29
-43
46
23
66
0
0
0
0
0
0
0
0
19
0
-8
58
-9
4
48
56
7
0
0
0
0
0
0
0
0
0
-5
24
-68
39
-30
20
25
-19
0
0
0
0
0
0
0
0
-4
-1
-1
31
-5
-5
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
0
7
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
25
20
-10
0
41
0
0
0
0
0
0
0
0
0
0
0
-3
-1
24
18
33
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-6
31
48
43
-2
0
0
0
0
0
0
0
0
3
0
5
14
-1
8
-65
1
30
0
0
0
0
0
0
0
0
2
-3
-16
9
-24
-7
60
27
0
0
0
0
0
0
0
0
0
3
0
-1
22
16
-5
-47
5
0
0
0
0
0
0
0
0
0
-4
0
-6
-20
41
5
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
6
-1
-16
-47
0
5
1
0
0
0
0
0
0
25
0
-10
-48
-2
-129
-72
20
-45
4
4
0
0
0
0
0
0
1
0
0
3
-6
15
23
-70
-32
13
0
0
0
0
0
0
0
-3
0
0
-22
2
-44
-8
-58
0
0
0
0
0
0
0
0
0
0
0
7
2
-12
40
23
18
-31
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
53
-1
-3
0
0
0
0
0
0
0
-2
-4
0
3
1
1
59
5
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
30
2
2
0
-51
-26
4
-13
0
-30
0
0
0
0
0
0
0
6
21
-1
23
-56
41
-44
-43
-19
-7
0
0
0
0
0
0
0
0
-10
0
-8
43
-60
-35
-49
-22
-52
0
0
0
0
0
0
0
-5
100
4
-13
-14
-52
-28
-33
31
-22
0
0
0
0
0
0
0
1
9
-2
-24
3
44
-65
-53
27
12
0
0
0
0
0
0
0
1
22
30
-18
0
48
51
-26
-29
-47
0
0
0
0
0
0
0
4
41
18
0
48
2
-94
43
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
6
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
32
-58
-41
-14
-30
3
21
0
1
0
0
0
0
0
0
0
73
-7
56
-56
-4
-38
13
-6
26
-6
-14
0
0
0
0
0
0
0
3
0
19
-57
9
7
8
-47
10
0
0
0
0
0
0
0
47
-30
0
-30
14
8
-30
-11
15
-17
0
0
0
0
0
0
0
24
-10
0
58
-47
-61
21
-41
-23
-3
0
0
0
0
0
0
0
1
17
49
29
31
0
-50
27
-2
-69
0
0
0
0
0
0
0
0
31
-1
-5
-8
8
23
-10
47
-1
0
0
0
0
0
0
0
0
7
0
-6
0
76
2
-23
-8
-9
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
0
0
-18
31
-35
37
-31
2
-73
-5
0
12
21
0
0
0
0
0
0
-21
-52
98
-12
-27
0
-1
-8
-24
-37
56
0
0
0
0
0
0
1
-53
-10
0
-7
-40
-18
3
9
-80
0
0
0
0
0
0
0
27
18
62
-69
42
14
13
16
-30
16
0
0
0
0
0
0
0
6
68
-11
79
46
-58
-31
-4
-13
67
0
0
0
0
0
0
0
7
39
129
28
-3
-98
0
-29
-37
-23
0
0
0
0
0
0
0
-5
112
90
5
-7
31
33
-4
-2
-49
0
0
0
0
0
0
0
0
-3
0
-6
2
21
-33
16
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
38
1
0
0
0
0
0
0
0
0
0
-112
37
109
43
-27
-8
-6
-17
0
26
33
0
0
0
0
0
0
-116
70
18
-9
-34
-10
10
5
3
-44
72
0
0
0
0
0
0
-56
-22
49
-3
-50
0
6
-39
-8
-57
6
0
0
0
0
0
0
-55
-23
20
87
27
17
-28
-44
-54
0
-33
0
0
0
0
0
0
4
-15
44
2
16
-13
2
-5
-59
-56
0
0
0
0
0
0
0
-70
-15
12
58
-104
22
-38
0
-31
41
37
0
0
0
0
0
0
-44
-27
-23
106
11
-10
13
-54
26
-6
0
0
0
0
0
0
0
0
9
-8
26
58
21
24
2
44
-2
0
0
0
0
0
0
0
0
0
0
0
-26
0
-9
10
-6
0
0
0
0
0
0
0
0
-2
-20
19
114
-37
7
8
-4
0
6
-4
0
0
0
0
0
0
-75
28
40
-43
-5
-23
3
37
11
30
53
0
0
0
0
0
0
-9
-68
39
87
47
4
13
-14
20
11
21
0
0
0
0
0
0
42
-50
128
19
17
21
7
36
-56
8
0
0
0
0
0
0
0
55
-9
50
53
10
47
17
3
9
-58
-5
-3
0
0
0
0
0
25
-61
24
110
21
-15
-17
5
0
-19
-1
0
0
0
0
0
0
55
23
37
94
-56
10
51
-31
3
-4
0
0
0
0
0
0
0
0
0
-3
-75
5
15
15
-19
3
-20
0
0
0
0
0
0
0
0
0
0
0
-17
-1
20
0
0
0
0
0
0
0
0
0
0
0
-25
43
34
14
-10
34
22
0
12
31
0
0
0
0
0
0
0
-2
12
5
-97
-1
-20
-15
11
30
-20
0
0
0
0
0
0
0
54
-72
-3
-37
-31
-107
-61
1
9
-10
0
0
0
0
0
0
0
-89
-37
35
-27
-26
53
24
-36
9
10
0
0
0
0
0
0
0
-68
44
-19
21
14
-43
-19
21
-44
8
0
0
0
0
0
0
0
-48
35
-100
-39
12
-27
-55
-75
0
20
0
0
0
0
0
0
0
-2
-3
44
-77
-1
35
8
-8
-32
0
0
0
0
0
0
0
0
0
-1
-4
0
30
28
-28
67
39
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
-63
-7
0
0
0
0
0
0
0
0
13
7
17
8
-4
44
-38
6
39
-2
0
0
0
0
0
0
0
-1
0
0
-6
6
22
60
52
-5
-10
0
0
0
0
0
0
0
-2
0
5
0
25
-22
-30
-8
5
0
0
0
0
0
0
0
0
0
0
-6
8
-7
18
-48
-9
-6
9
0
0
0
0
0
0
0
-2
1
0
3
-7
-7
2
-5
0
3
0
0
0
0
0
0
0
0
0
0
1
4
0
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
107
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
-40
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
46
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-49
-3
38
-7
0
0
0
0
0
0
0
0
3
0
0
1
0
-9
-3
73
27
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-10
65
-13
-34
0
0
0
0
0
0
0
0
0
0
3
-16
6
24
-5
-40
0
0
0
0
0
0
0
0
0
0
8
8
-7
-25
8
36
8
0
0
0
0
0
0
0
0
0
0
-10
-12
-36
-32
-16
-2
41
0
0
0
0
0
0
0
0
0
-2
0
3
-10
25
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
7
-4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
3
-33
-9
-3
0
0
0
0
0
0
0
5
0
0
2
0
17
5
4
-2
0
0
0
0
0
0
0
0
1
0
0
0
15
-8
-51
-2
-15
0
0
0
0
0
0
0
0
-1
-1
0
-6
-9
-53
-1
-9
8
0
0
0
0
0
0
0
0
5
0
0
-1
2
19
-5
-6
1
0
0
0
0
0
0
0
0
-1
0
0
110
-2
-25
-3
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
55
24
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-24
-5
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
71
0
-9
23
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
25
51
8
1
0
0
0
0
0
0
0
0
0
0
0
10
-16
-20
-21
-3
-1
0
0
0
0
0
0
0
-1
0
0
0
-8
15
-13
-3
94
0
0
0
0
0
0
0
0
0
2
0
-10
0
0
49
76
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
59
-5
46
-2
0
0
0
0
0
0
0
0
0
0
30
0
-26
-8
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
46
-42
0
17
0
0
0
0
0
0
0
0
-19
0
-9
1
-35
-27
-24
58
-32
0
0
0
0
0
0
0
0
-7
1
-8
-38
8
35
66
-44
11
0
0
0
0
0
0
0
-13
4
0
-4
-4
-34
-94
31
-56
5
0
0
0
0
0
0
0
2
-33
0
13
-6
-28
-30
22
11
-3
0
0
0
0
0
0
0
0
-16
22
10
-6
-45
36
-8
-50
55
0
0
0
0
0
0
0
0
65
14
4
0
10
72
-20
-5
1
0
0
0
0
0
0
0
0
1
0
0
0
-19
27
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
0
5
0
-4
-1
-30
37
-33
25
0
42
0
0
0
0
0
0
0
0
17
-1
-24
-14
-68
-33
-45
-2
21
10
0
0
0
0
0
0
0
9
0
0
3
48
17
-19
61
44
0
0
0
0
0
0
0
2
25
-8
17
16
63
34
1
8
-55
5
0
0
0
0
0
0
-12
-55
-4
7
-10
-10
-10
53
13
-7
0
0
0
0
0
0
0
5
16
36
-18
-6
-47
-52
-13
9
-70
0
0
0
0
0
0
0
17
27
17
24
-47
0
-12
1
16
-4
0
0
0
0
0
0
0
0
-5
0
55
0
-12
-4
36
-23
0
0
0
0
0
0
0
0
0
0
0
0
13
0
42
18
3
0
0
0
0
0
0
0
0
8
4
18
37
-9
2
-5
11
0
34
5
0
0
0
0
0
0
5
-84
-14
-50
-4
-36
-36
-7
-49
-13
-40
0
0
0
0
0
0
2
-39
13
27
-41
70
-29
3
-9
62
0
0
0
0
0
0
0
32
2
-35
-18
51
53
21
21
9
-43
0
0
0
0
0
0
0
0
-84
-28
-40
6
11
-24
8
0
51
0
0
0
0
0
0
0
2
45
60
92
17
-21
-27
-3
-65
-49
0
0
0
0
0
0
0
0
5
3
-20
79
-10
0
-46
-42
-45
0
0
0
0
0
0
0
0
20
-9
-14
-25
12
26
-8
-37
14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
0
0
0
0
0
0
0
0
0
-94
1
-33
-34
2
-31
3
-47
0
32
4
0
0
0
0
0
0
109
80
-86
119
-29
-33
-51
9
73
-29
44
0
0
0
0
0
0
-29
27
-31
19
-10
-73
23
-21
2
16
0
0
0
0
0
0
0
-32
27
-5
23
-20
7
7
39
-14
34
16
0
0
0
0
0
0
-13
29
12
51
44
-28
-8
-44
-3
70
-3
0
0
0
0
0
0
-34
62
22
4
-25
-7
-10
-38
17
31
-13
0
0
0
0
0
0
-14
-4
-4
20
30
21
-23
0
-45
-31
1
0
0
0
0
0
0
0
-3
-24
29
-48
-10
-72
-17
48
51
0
0
0
0
0
0
0
0
0
0
0
33
0
-68
10
-2
0
0
0
0
0
0
0
0
0
28
24
-10
-64
0
-17
-10
0
2
-7
0
0
0
0
0
0
5
-15
34
65
-16
-23
-2
-5
4
24
-25
0
0
0
0
0
0
-8
-35
-81
41
-17
-15
-6
-4
5
-8
1
1
0
0
0
0
0
-7
59
50
83
-99
-10
1
-18
35
-8
-8
0
0
0
0
0
0
4
26
-60
11
8
-18
17
-9
21
-3
0
0
0
0
0
0
0
0
-6
-35
-28
106
-8
38
14
-1
-24
-2
0
0
0
0
0
0
3
-12
-29
-52
45
-53
-16
-31
0
18
0
0
0
0
0
0
0
0
-36
1
10
65
-36
1
-42
-63
-7
0
0
0
0
0
0
0
0
-3
0
0
0
-7
10
15
-4
0
0
0
0
0
0
0
0
0
-3
-8
-54
-8
-87
-44
45
0
7
2
0
0
0
0
0
0
0
-9
-27
-7
-84
-14
-42
-16
-50
-13
32
0
0
0
0
0
0
0
39
100
47
129
-118
36
-25
-23
15
-34
0
0
0
0
0
0
0
57
-4
19
24
-20
32
30
-7
20
44
0
0
0
0
0
0
0
-131
-69
51
-80
19
38
3
-27
-1
-6
0
0
0
0
0
0
0
38
88
76
33
-17
-35
9
0
4
-31
0
0
0
0
0
0
0
-25
100
-23
0
-15
-20
-16
-11
0
-7
0
0
0
0
0
0
0
31
-20
-7
7
8
81
-37
30
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
8
0
-36
46
0
0
0
0
0
0
0
0
0
5
-2
2
-1
-2
-1
-2
-21
-5
0
0
0
0
0
0
0
0
2
-8
3
-3
-5
-31
20
13
0
0
0
0
0
0
0
0
0
4
4
0
-7
2
-12
17
58
-1
0
0
0
0
0
0
0
0
0
2
3
0
-12
-51
40
-14
-1
0
0
0
0
0
0
0
0
-1
0
0
-8
-16
0
24
4
1
0
0
0
0
0
0
0
0
-2
-3
3
0
-20
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
12
0
0
0
0
0
0
0
0
0
0
-6
0
0
31
0
3
0
17
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-22
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
2
-14
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
-12
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-62
-3
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-51
0
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
24
0
-63
0
0
0
0
0
0
0
0
0
0
-16
0
0
19
0
28
0
0
0
0
0
0
0
0
0
20
1
0
0
72
2
60
6
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
23
31
-29
-102
0
0
0
0
0
0
0
0
0
0
0
5
0
-23
62
53
8
0
0
0
0
0
0
0
0
0
-1
2
-2
5
7
16
-15
9
0
0
0
0
0
0
0
0
0
0
0
-16
-3
87
-5
-10
0
0
0
0
0
0
0
0
-2
-3
0
-6
0
0
0
-67
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
66
-10
-5
0
0
0
0
0
0
0
0
0
1
0
-6
0
-3
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-1
20
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-1
-24
3
96
-2
44
0
0
0
0
0
0
0
0
2
3
0
-29
1
6
-46
1
-16
0
0
0
0
0
0
0
-2
0
2
-61
0
-41
39
7
22
-30
0
0
0
0
0
0
0
-25
45
-2
0
59
-17
44
1
-70
-2
0
0
0
0
0
0
0
0
8
-22
53
9
-35
-24
-52
24
15
0
0
0
0
0
0
0
-27
-10
-19
4
-4
0
-3
-16
-13
2
0
0
0
0
0
0
0
4
-8
5
16
1
0
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-37
4
0
0
0
0
0
0
0
0
0
0
5
-2
5
21
-57
-14
-6
-13
-26
0
0
0
0
0
0
0
0
-2
-8
-3
9
-9
-24
7
-30
-35
-2
0
0
0
0
0
0
1
-8
4
1
3
-8
23
9
-5
-4
0
0
0
0
0
0
0
0
34
-1
-18
87
4
3
-12
-9
-8
0
0
0
0
0
0
0
24
7
-6
94
0
-38
23
-7
-1
-23
0
0
0
0
0
0
0
-5
9
15
-4
5
6
28
10
-33
-2
0
0
0
0
0
0
0
0
-7
0
-23
-6
-22
0
4
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
44
2
0
0
0
0
0
0
0
0
0
0
-9
0
3
-41
-42
-54
-23
0
-29
0
0
0
0
0
0
0
-1
33
-16
-4
11
-9
1
8
-13
-42
13
0
0
0
0
0
0
4
-5
53
-13
-22
9
-10
34
8
-47
0
0
0
0
0
0
0
-15
0
-2
12
-60
-41
11
16
-2
-53
0
0
0
0
0
0
0
30
-9
54
72
-76
-33
39
-97
12
-8
0
0
0
0
0
0
0
-13
39
-8
12
-42
18
-22
-18
-112
83
-1
0
0
0
0
0
0
-29
12
2
7
31
-5
13
12
-23
-3
0
0
0
0
0
0
0
13
34
-35
51
13
-3
-13
0
-27
9
0
0
0
0
0
0
0
19
0
16
0
7
-21
-31
-10
10
0
0
0
0
0
0
0
0
0
1
-11
63
-44
0
-34
-6
0
-9
0
0
0
0
0
0
0
0
-92
-35
-2
-155
36
5
-38
14
14
2
0
0
0
0
0
0
0
21
-24
-54
-57
-1
-36
-53
14
36
0
0
0
0
0
0
0
1
-83
49
-47
-51
10
-36
-21
-1
42
0
0
0
0
0
0
0
-2
-35
-6
14
46
51
-25
69
-48
-24
4
0
0
0
0
0
0
50
-38
6
115
69
17
3
-24
3
-3
0
0
0
0
0
0
0
-21
-21
-12
31
46
10
-8
26
-18
27
0
0
0
0
0
0
0
0
0
20
-52
18
33
-6
-23
0
-8
0
0
0
0
0
0
0
0
-8
0
-1
8
-16
32
-1
24
0
0
0
0
0
0
0
0
0
0
4
8
36
-3
-31
-26
0
-8
0
0
0
0
0
0
0
0
-30
1
13
42
1
108
-45
10
23
10
0
0
0
0
0
0
0
52
-12
-7
46
-8
13
11
0
-29
-5
0
0
0
0
0
0
0
29
7
-3
-1
-31
-41
13
-20
-28
9
0
0
0
0
0
0
0
-5
0
0
-16
-47
59
-17
-31
-2
-2
0
0
0
0
0
0
0
-6
4
0
3
-25
31
25
-3
-14
10
0
0
0
0
0
0
0
-2
0
-5
-22
9
-14
8
-14
1
-5
0
0
0
0
0
0
0
-2
-4
0
2
-16
8
-46
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-5
-15
0
0
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
-8
29
0
0
0
0
0
0
0
0
0
1
0
0
3
29
0
-15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-6
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
17
0
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
44
0
10
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
3
0
-33
0
0
0
0
0
0
0
0
-2
0
4
21
-3
33
0
-8
0
0
0
0
0
0
0
0
0
-2
-8
0
8
22
0
-37
0
-5
0
0
0
0
0
0
0
0
1
-7
-3
-21
0
-53
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-22
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
-10
-3
-24
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
-31
-35
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
38
5
-21
0
0
0
0
0
0
0
0
2
0
0
-7
6
-4
11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
53
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-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
0
0
0
0
0
0
3
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-1
0
-3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-7
8
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-16
0
0
-1
0
0
0
0
0
0
0
0
0
-2
4
4
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
-14
-3
-1
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-12
1
-6
0
4
-1
0
0
0
0
0
0
0
0
0
1
-4
-3
2
10
0
0
0
-3
0
0
0
0
0
0
0
0
0
-14
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
14
-2
-4
5
3
0
0
0
2
0
0
0
0
0
0
0
1
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
24
-8
4
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-49
-1
-8
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-34
-22
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
42
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
10
13
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-8
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
1
-12
6
4
1
0
0
0
-1
0
0
0
0
0
0
0
0
-3
1
0
-10
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
-3
4
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
-2
1
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
5
24
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
1
1
-10
0
0
0
0
0
0
0
0
0
0
0
13
1
0
2
9
-2
0
0
2
0
0
0
0
0
0
0
-16
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-29
-1
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-34
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
7
1
0
5
0
0
0
0
0
0
0
0
0
0
2
-14
-10
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
6
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-10
12
2
31
0
-13
0
0
0
0
0
0
0
0
0
0
0
12
-1
15
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
9
21
15
3
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
1
-6
-19
6
2
0
5
0
0
0
0
0
0
0
0
0
0
-2
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
1
-31
-18
0
-5
0
-6
-1
0
0
0
0
0
0
0
0
-19
-9
-34
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
2
5
4
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-24
3
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
-21
-24
-7
-29
4
0
1
2
1
0
0
0
0
0
0
0
13
-6
-39
0
18
-3
2
0
-1
0
0
0
0
0
0
0
0
3
47
-1
-9
-2
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-34
-1
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-5
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-13
-4
0
0
-4
0
0
0
0
0
0
0
0
3
-19
-30
4
-9
-1
0
2
-4
2
0
0
0
0
0
0
0
0
9
-12
19
0
3
0
0
-4
0
0
0
0
0
0
0
0
1
-1
-5
-25
-3
3
0
0
-1
0
0
0
0
0
0
0
0
0
-9
2
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-5
14
2
-1
0
0
0
0
0
0
0
0
0
0
13
-27
8
-9
-2
8
32
0
0
2
0
0
0
0
0
0
0
-20
2
-19
-58
-22
-4
2
0
16
0
0
0
0
0
0
0
0
0
23
-13
-23
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-12
1
1
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
-12
-2
0
0
0
-8
0
0
0
0
0
0
0
0
-14
-33
33
4
-3
2
0
0
0
0
0
0
0
0
0
0
0
8
-29
-27
46
10
7
-3
0
9
-2
0
0
0
0
0
0
0
-14
10
35
24
-12
2
12
1
5
-3
0
0
0
0
0
0
0
-2
27
44
5
8
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
-27
9
-19
14
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
-2
-1
6
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
7
-6
0
-7
0
0
0
4
0
0
0
0
0
0
0
0
2
-19
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
4
2
1
9
-2
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
12
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
19
2
-8
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
25
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
1
8
-12
1
0
0
0
0
0
0
0
0
0
0
-2
12
0
-4
6
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-32
22
0
13
0
0
0
0
0
0
0
0
-5
0
-12
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-54
12
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
13
-14
-17
-8
-2
0
3
0
0
0
0
0
0
0
0
-4
9
-3
0
1
12
0
23
1
0
0
0
0
0
0
0
0
-4
10
2
2
-7
12
-8
-2
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
23
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-30
60
24
5
0
0
0
0
0
0
0
0
0
0
0
-7
-4
32
-39
2
-25
1
0
1
0
0
0
0
0
0
0
0
1
22
-4
2
0
16
3
0
1
4
0
0
0
0
0
0
0
0
-1
-9
2
13
0
-1
-21
7
0
0
0
0
0
0
0
0
0
-2
1
2
3
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-48
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-40
18
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
36
-36
-12
-10
-25
0
0
0
2
0
0
0
0
0
0
0
-1
-22
9
-8
23
0
2
0
4
0
0
0
0
0
0
0
0
1
2
-7
-6
-11
8
7
-1
0
0
0
0
0
0
0
0
0
0
-3
5
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
39
23
-97
-24
18
0
0
0
0
0
0
0
0
0
0
0
19
-2
14
-42
18
-22
7
-2
1
-2
0
0
0
0
0
0
0
1
-48
21
-5
-57
5
-1
0
3
0
0
0
0
0
0
0
0
29
-25
19
-23
-20
-1
-5
-6
1
0
0
0
0
0
0
0
0
0
-10
2
13
8
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-37
-53
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
11
32
0
-10
0
0
0
0
-1
0
0
0
0
0
0
1
70
9
-14
50
-1
-8
0
3
-30
0
0
0
0
0
0
0
66
47
-32
-20
-53
3
12
0
-3
0
0
0
0
0
0
0
0
0
-1
-34
-16
-13
-32
7
2
0
-5
0
0
0
0
0
0
0
0
10
31
-16
7
4
-3
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-42
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
15
-15
-53
8
0
0
0
0
0
0
0
0
0
0
0
4
69
-58
-71
-42
4
2
0
0
0
0
0
0
0
0
0
0
-20
28
-31
-62
-42
4
0
-3
5
-14
-2
0
0
0
0
0
0
-58
17
12
-41
-41
-3
-18
24
0
6
1
0
0
0
0
0
0
-1
8
-20
-41
44
2
47
4
-2
-4
0
0
0
0
0
0
0
0
4
-14
40
-5
-31
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-29
-4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-28
-6
-34
18
-2
0
0
-14
0
0
0
0
0
0
0
0
52
-17
11
-69
-31
-2
0
0
0
-3
0
0
0
0
0
0
0
6
-30
5
-24
18
-22
-7
-1
13
23
0
0
0
0
0
0
0
24
21
-21
-17
-1
-12
-23
4
1
0
0
0
0
0
0
0
0
-5
0
6
15
-42
2
-16
4
22
0
0
0
0
0
0
0
0
9
-6
14
-28
18
-30
3
0
4
0
0
0
0
0
0
0
0
7
-7
-23
16
15
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
2
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-6
1
2
0
0
0
6
0
0
0
0
0
0
0
0
1
25
5
-2
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
14
6
3
2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
19
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
45
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
16
-21
-9
0
0
0
0
0
0
0
0
0
0
0
-34
0
13
-21
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
9
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
27
-5
-9
-3
6
0
0
0
0
0
0
0
0
0
0
5
0
-31
-15
-42
3
0
0
0
-1
0
0
0
0
0
0
0
1
52
4
-3
14
4
0
0
0
10
0
0
0
0
0
0
0
-6
27
-1
0
22
-14
14
-20
7
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-14
3
0
1
0
0
0
0
0
0
0
0
0
0
4
6
-41
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
20
19
-46
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
-7
-21
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
73
42
15
-72
8
-7
0
-4
3
0
0
0
0
0
0
0
8
-19
60
13
-35
-8
1
0
0
0
0
0
0
0
0
0
0
-3
-9
-36
14
0
-1
-18
1
-8
0
0
0
0
0
0
0
0
0
1
-1
-47
21
-1
-42
20
-6
-1
0
0
0
0
0
0
0
0
0
-2
-23
3
0
0
20
3
-1
0
0
0
0
0
0
0
0
0
-7
-10
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
5
1
-54
0
4
0
0
0
0
0
0
0
0
0
0
-3
5
-23
13
-21
-7
0
0
-3
0
0
0
0
0
0
0
0
-4
29
-3
44
-10
-24
4
0
0
2
0
0
0
0
0
0
0
0
-16
67
-35
-28
23
5
6
-1
0
0
0
0
0
0
0
0
2
-7
-28
5
-37
0
-16
-2
0
0
0
0
0
0
0
0
0
0
-10
4
-66
-24
10
-5
0
0
0
0
0
0
0
0
0
0
0
-4
19
6
-14
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
2
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
-21
29
21
27
0
0
0
0
0
0
0
0
0
0
0
2
-7
-34
21
1
-8
-3
1
-2
-3
0
0
0
0
0
0
0
0
60
-5
-62
5
1
-9
0
-2
0
0
0
0
0
0
0
0
-8
-24
5
-70
-16
12
0
-1
14
1
0
0
0
0
0
0
0
0
-1
-4
-42
-13
13
13
0
0
5
0
0
0
0
0
0
0
0
0
-44
-15
-31
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
-7
9
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-38
-19
-67
-4
0
0
0
0
0
0
0
0
0
0
0
1
-14
-24
-50
79
-25
0
0
0
0
0
0
0
0
0
0
0
-25
11
-96
28
-20
-8
-12
0
19
7
-1
0
0
0
0
0
0
0
-82
16
5
5
7
14
16
6
-1
0
0
0
0
0
0
0
-18
-8
-47
-19
-15
15
4
0
-23
-31
0
0
0
0
0
0
0
0
-22
-27
-52
-8
-18
-1
-30
-4
-29
0
0
0
0
0
0
0
1
1
-78
-13
-27
0
6
1
1
0
0
0
0
0
0
0
0
0
0
-1
6
-9
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
26
16
31
-6
6
0
0
0
0
0
0
0
0
0
0
0
-59
21
-15
-27
-4
-3
0
0
0
1
0
0
0
0
0
0
-36
-65
-38
-89
-48
45
-7
2
-22
-7
0
0
0
0
0
0
0
22
-25
-37
-8
-25
-38
44
-5
-22
-25
-1
0
0
0
0
0
0
5
-3
6
-29
-11
-55
-25
22
0
-58
0
0
0
0
0
0
0
0
0
-75
-19
32
-65
-51
-5
7
-1
0
0
0
0
0
0
0
1
-6
-33
-5
-17
-15
12
-1
-1
0
0
0
0
0
0
0
0
0
0
6
8
-1
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
18
52
44
-4
0
0
3
0
0
0
0
0
0
0
0
-16
1
-31
-105
-71
-19
0
0
0
2
0
0
0
0
0
0
0
32
67
12
-15
-21
0
-4
6
-40
0
0
0
0
0
0
0
0
-56
-67
-14
-39
23
28
7
-13
31
0
0
0
0
0
0
0
0
-5
-24
-69
-67
5
-25
-17
16
0
-1
0
0
0
0
0
0
0
-29
39
-1
-17
-56
7
-17
-29
12
0
0
0
0
0
0
0
0
1
8
-41
-82
13
3
19
8
0
0
0
0
0
0
0
0
0
0
2
22
-5
4
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-10
3
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
8
-49
7
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
4
-3
2
0
0
0
0
-12
0
0
0
0
0
0
0
0
8
23
5
1
16
0
0
0
-17
0
0
0
0
0
0
0
0
0
5
17
13
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-1
-46
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-21
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-36
-3
-2
-4
0
0
0
3
0
0
0
0
0
0
0
0
-59
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-15
-8
-38
0
0
-8
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
-2
-2
0
0
0
0
0
0
0
0
0
-19
-1
-2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
77
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
8
-29
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
26
-2
-3
0
1
0
0
0
0
0
0
0
0
0
2
-18
-31
2
-21
0
0
-1
0
0
0
0
0
0
0
0
-8
8
4
-7
5
12
0
0
0
0
0
0
0
0
0
0
0
0
31
41
0
4
0
0
8
0
1
0
0
0
0
0
0
0
0
8
-31
15
1
-6
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
28
2
0
0
0
0
0
0
0
0
0
0
0
0
1
5
12
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
-7
10
5
28
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
34
6
-13
0
0
-1
-40
0
0
0
0
0
0
0
-2
-30
-19
3
67
-6
-1
-6
0
2
0
0
0
0
0
0
0
0
17
13
-31
0
13
6
0
-2
0
0
0
0
0
0
0
0
0
3
-21
8
40
-7
-3
-2
-2
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
24
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
-31
41
-8
23
6
0
0
0
0
0
0
0
0
0
0
0
-2
-44
-29
14
-21
-7
0
0
1
-7
0
0
0
0
0
0
0
0
-14
-40
-16
40
19
-2
-2
1
0
0
0
0
0
0
0
0
-8
4
-7
66
13
20
41
-4
0
-8
0
0
0
0
0
0
0
0
-7
-60
15
-19
0
10
1
0
-6
0
0
0
0
0
0
0
-1
0
-1
38
-18
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
24
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-10
9
6
0
0
0
0
0
0
0
0
0
0
0
22
-55
14
24
14
25
-6
0
-3
3
0
0
0
0
0
0
0
-17
38
-46
-66
6
42
0
-6
-9
2
0
0
0
0
0
0
0
39
-17
-54
26
33
6
-8
2
3
0
0
0
0
0
0
0
0
0
11
-6
-46
17
-8
0
0
6
-29
0
0
0
0
0
0
0
-1
-16
-69
-12
15
4
5
0
0
9
0
0
0
0
0
0
0
0
8
4
-15
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
9
9
8
4
-8
1
0
0
0
0
0
0
0
0
0
0
12
34
48
-58
-45
8
0
0
0
0
0
0
0
0
0
0
-5
23
71
-7
-15
30
33
0
1
8
0
0
0
0
0
0
0
0
-43
-71
-1
-36
-19
-36
1
9
3
0
0
0
0
0
0
0
-29
-23
-75
26
-47
-24
25
13
3
14
0
0
0
0
0
0
0
-2
-29
9
26
-3
18
-47
0
23
13
0
0
0
0
0
0
0
1
-16
-31
25
-51
-2
6
1
2
-40
0
0
0
0
0
0
0
0
2
-17
11
-13
12
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
25
23
-32
-7
31
0
0
0
0
0
0
0
0
0
0
-14
-39
24
-48
3
89
-1
0
0
0
0
0
0
0
0
0
0
-10
-60
-25
-99
-44
-25
14
0
41
-5
0
0
0
0
0
0
0
-24
-18
-18
10
-5
53
43
32
12
10
0
0
0
0
0
0
0
-37
46
64
13
5
-27
22
-115
-4
-5
0
0
0
0
0
0
0
1
-27
92
-14
-59
-22
-49
-6
0
17
0
0
0
0
0
0
0
0
-17
-113
25
-35
-6
-136
38
6
0
0
0
0
0
0
0
0
0
-5
-3
7
6
-73
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
39
12
13
-21
-22
0
0
8
1
0
0
0
0
0
0
0
25
65
-109
-6
10
38
0
9
0
0
0
0
0
0
0
0
0
-4
76
-7
100
29
59
-5
22
-57
-1
0
0
0
0
0
0
0
39
6
-29
-51
40
-16
-65
2
9
0
0
0
0
0
0
0
0
-14
142
8
13
10
20
39
-1
-33
0
0
0
0
0
0
0
0
5
9
2
-5
6
1
-62
-17
0
0
0
0
0
0
0
0
0
-6
-9
-56
20
-58
-2
27
8
3
0
0
0
0
0
0
0
0
0
1
-18
-30
-4
-23
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
6
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
-4
-21
4
6
0
0
0
4
0
0
0
0
0
0
0
0
7
-25
6
30
3
0
0
0
7
0
0
0
0
0
0
0
0
-19
9
8
25
4
-14
2
0
0
0
0
0
0
0
0
0
0
-2
1
4
-12
1
-8
1
0
1
0
0
0
0
0
0
0
0
0
0
5
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
18
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-12
3
0
0
0
2
0
0
0
0
0
0
0
0
13
2
4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
3
0
0
0
0
0
0
0
0
-16
1
-3
8
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
2
0
0
-3
0
0
0
0
0
0
0
0
-2
19
0
2
1
-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
-7
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
30
2
-12
-27
2
1
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-40
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
17
-32
1
1
-2
0
0
0
0
0
0
0
0
0
-24
2
-5
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
-2
3
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-51
-19
5
2
0
0
0
0
0
0
0
0
0
0
0
0
30
25
-82
5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-19
-21
6
-1
-2
8
0
0
0
0
0
0
0
0
0
0
-6
-9
8
8
-24
14
0
0
0
0
0
0
0
0
0
0
0
0
-74
6
-39
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
4
4
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
41
0
-24
0
3
0
0
0
0
0
0
0
0
0
0
0
74
-5
-20
-24
7
4
0
0
0
0
0
0
0
0
0
0
-16
-13
-3
53
-2
5
2
0
0
-1
0
0
0
0
0
0
0
0
63
6
-7
7
19
0
0
0
0
0
0
0
0
0
0
0
51
-2
-8
-39
7
-75
5
4
-3
5
0
0
0
0
0
0
0
0
63
29
-26
-28
-97
-42
3
2
-2
0
0
0
0
0
0
0
5
0
18
-23
-77
-9
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
-71
-8
16
0
0
0
0
0
0
0
0
0
0
0
71
10
-62
18
-27
-2
0
0
0
0
0
0
0
0
0
0
6
-1
-44
68
61
-31
24
3
0
-36
0
0
0
0
0
0
0
1
-39
-21
-4
-5
-47
-20
0
13
3
0
0
0
0
0
0
0
-50
17
-11
-2
-8
-6
4
-44
0
29
0
0
0
0
0
0
0
-6
-7
4
-70
-57
-56
5
-1
-2
5
0
0
0
0
0
0
0
0
1
29
-41
1
-18
-24
0
-5
2
0
0
0
0
0
0
0
0
-3
4
-51
0
6
-8
0
0
-6
0
0
0
0
0
0
0
0
10
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-25
1
103
5
-8
-1
0
0
0
0
0
0
0
0
0
0
27
26
51
0
-47
-5
0
0
0
0
0
0
0
0
0
0
36
-24
2
73
-34
55
-34
1
0
-5
0
0
0
0
0
0
0
13
25
6
0
-4
28
23
19
-31
19
0
0
0
0
0
0
0
-55
20
-29
11
-82
-103
-76
14
-13
-3
0
0
0
0
0
0
0
-4
-144
-41
21
-3
-28
-66
3
-22
9
0
0
0
0
0
0
0
0
-13
-50
-11
20
-2
22
1
0
28
0
0
0
0
0
0
0
0
-10
29
-50
-34
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-15
17
11
-39
29
0
0
5
0
0
0
0
0
0
0
0
69
-17
-11
-27
14
-21
0
0
0
0
0
0
0
0
0
0
0
53
-46
-30
-67
-16
-2
-2
2
-3
2
0
0
0
0
0
0
0
-36
37
71
8
-18
-26
24
4
-48
-5
0
0
0
0
0
0
0
59
95
21
-22
-29
45
5
-36
32
0
0
0
0
0
0
0
0
-79
-92
-12
-105
16
-98
-24
-8
6
0
0
0
0
0
0
0
0
-25
12
8
53
-71
53
-2
-6
0
0
0
0
0
0
0
0
0
0
29
47
-29
-6
-7
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-20
25
2
2
0
0
0
13
0
0
0
0
0
0
0
0
-9
68
2
-16
3
0
0
0
7
0
0
0
0
0
0
0
0
-34
-2
41
17
-18
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-30
10
12
1
-9
-2
0
4
0
0
0
0
0
0
0
0
8
-1
-4
5
-3
0
5
-4
0
0
0
0
0
0
0
0
0
1
-6
1
25
7
-2
3
0
0
0
0
0
0
0
0
0
0
-3
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
40
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-1
-14
-4
-1
-4
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
9
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-58
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-8
20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
47
0
4
0
0
0
0
0
0
0
0
0
0
0
30
0
54
-10
13
2
-3
0
0
0
0
0
0
0
0
0
0
-3
-32
0
-33
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
72
1
12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
-4
-14
-3
0
0
0
0
0
0
0
0
0
0
-13
4
-7
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-36
0
4
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
10
0
22
0
0
0
0
0
0
0
0
0
0
0
1
0
-45
-7
-6
-7
-13
0
0
-3
0
0
0
0
0
0
0
0
95
4
-32
-12
32
-4
-1
-4
0
0
0
0
0
0
0
0
29
-1
-5
-23
-5
-46
-48
-1
0
4
0
0
0
0
0
0
0
0
-19
0
47
13
5
16
0
0
-3
0
0
0
0
0
0
0
-3
1
-1
2
2
12
-32
4
-6
0
0
0
0
0
0
0
0
0
-8
1
9
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
4
-1
8
0
0
0
0
0
0
0
0
0
0
0
-2
-19
-18
0
-84
-8
-5
0
-2
0
0
0
0
0
0
0
0
-11
2
-30
31
-64
-24
-1
0
-1
-14
0
0
0
0
0
0
0
0
-34
11
-26
36
10
-9
5
-27
0
0
0
0
0
0
0
0
8
-5
-43
-21
-11
-68
-78
-40
-29
0
0
0
0
0
0
0
0
1
41
51
6
32
28
18
-42
31
-44
0
0
0
0
0
0
0
-6
17
-53
10
-50
-58
-4
-2
24
0
0
0
0
0
0
0
0
0
-21
5
18
-20
-40
-8
0
0
1
0
0
0
0
0
0
0
0
1
-2
2
-13
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
93
-30
64
-4
0
0
0
0
0
0
0
0
0
0
0
0
65
-2
92
-31
28
-48
0
0
0
0
0
0
0
0
0
0
0
4
-27
-33
-38
-33
-22
0
0
-8
0
0
0
0
0
0
0
0
-5
44
-41
-17
45
-4
-1
10
-29
-2
0
0
0
0
0
0
0
-7
4
-59
-89
47
33
17
-6
-32
0
0
0
0
0
0
0
0
-34
-38
66
-19
-7
25
-44
24
-50
0
0
0
0
0
0
0
0
-3
-48
24
12
-24
-55
-19
-16
8
0
0
0
0
0
0
0
0
0
3
54
-6
-44
13
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-5
-8
2
0
0
0
-22
0
0
0
0
0
0
0
0
-2
48
9
14
0
7
0
0
-2
0
0
0
0
0
0
0
0
47
-1
-41
-12
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
54
0
-49
1
2
1
2
-12
0
0
0
0
0
0
0
0
1
5
28
0
5
-23
3
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
5
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
-1
0
6
-8
0
0
0
0
0
0
0
0
0
0
-2
2
13
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
9
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
126
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-12
-65
-1
0
0
0
0
0
0
0
0
0
0
0
5
-22
30
-56
29
10
-1
0
-3
0
0
0
0
0
0
0
0
-10
-4
61
9
-9
-30
40
-2
7
0
0
0
0
0
0
0
0
0
43
-6
-37
-2
-90
-8
-2
-5
0
0
0
0
0
0
0
0
-7
0
19
-8
-33
4
-5
0
-5
0
0
0
0
0
0
0
0
0
6
-3
21
-4
46
-19
2
0
0
0
0
0
0
0
0
0
-2
0
3
-12
-55
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
9
-4
-5
-5
-4
0
0
-1
0
0
0
0
0
0
0
0
-5
0
7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-55
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
77
2
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
39
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
0
-18
29
0
0
0
0
0
0
0
0
0
0
0
0
8
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
4
9
0
-7
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
-6
-3
8
1
3
0
0
0
0
0
0
0
0
3
6
6
2
8
7
4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
16
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-48
10
9
0
0
0
0
0
0
0
0
0
0
0
1
8
6
-6
8
-15
0
0
0
0
0
0
0
0
0
0
0
7
-1
48
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
2
6
1
-3
23
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
-4
54
-31
5
0
0
0
0
0
0
0
0
-1
0
2
-1
-4
-14
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
13
-2
4
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
40
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
7
-8
-2
-7
0
0
0
0
0
0
0
0
0
0
3
-10
-7
-2
57
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
-113
-4
40
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-8
-24
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
38
12
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
14
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
15
0
32
-5
0
0
0
0
0
0
0
0
0
2
0
0
-8
1
-8
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-13
38
-13
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
43
3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
22
-29
0
0
-8
0
0
0
0
0
0
0
0
1
1
-7
-2
-15
15
5
27
3
0
0
0
0
0
0
0
0
-5
0
9
1
0
0
-2
-14
3
0
0
0
0
0
0
0
0
0
0
0
5
12
17
-2
-31
0
0
0
0
0
0
0
0
0
0
2
0
-2
-5
-8
-1
-3
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
10
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
1
29
1
4
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
27
6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-8
26
-21
8
0
0
0
0
0
0
0
0
0
0
0
-1
17
24
-48
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
3
2
12
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
15
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
31
9
-5
44
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
32
-17
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
1
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-3
2
-6
-30
0
-8
0
0
0
0
0
0
0
-2
0
0
-24
2
31
56
-40
48
-1
0
0
0
0
0
0
0
0
1
0
0
8
10
12
21
-31
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-49
47
4
0
0
0
0
0
0
0
0
0
0
-8
0
-3
2
-22
-2
-19
5
0
0
0
0
0
0
0
0
0
0
2
0
-23
0
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
13
8
0
3
0
0
0
0
0
0
0
0
-40
3
-2
25
-25
-30
20
-56
-6
0
0
0
0
0
0
0
-3
0
-2
0
0
9
10
-43
-5
-2
0
0
0
0
0
0
0
0
0
-1
0
7
-5
-49
43
8
0
0
0
0
0
0
0
0
0
0
-3
-1
2
1
-1
-36
33
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-10
-40
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
1
-21
27
-14
37
3
0
0
0
0
0
0
0
-1
-1
-14
2
-5
0
8
63
5
0
1
0
0
0
0
0
0
-3
0
1
0
-6
-45
10
14
-15
0
1
0
0
0
0
0
0
0
0
0
1
1
6
21
13
-13
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
49
21
-2
0
22
0
0
0
0
0
0
0
0
-1
0
6
0
24
-67
29
-44
40
-1
0
0
0
0
0
0
0
5
0
5
-7
-27
-3
6
47
1
0
0
0
0
0
0
0
-1
0
0
-3
-4
-7
-5
-31
-21
-3
0
0
0
0
0
0
0
3
-5
0
-1
-3
-20
12
-15
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
27
24
-3
0
1
0
0
0
0
0
0
0
-1
0
0
-5
-2
3
-8
70
-74
10
0
0
0
0
0
0
0
1
0
0
0
-24
-25
9
-32
-25
-16
0
0
0
0
0
0
0
0
0
0
2
-20
48
-6
-43
12
4
0
0
0
0
0
0
0
1
0
5
2
-1
1
6
5
36
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
-2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-8
74
4
-29
0
9
0
-2
0
0
0
0
0
2
12
7
5
0
-6
-6
38
120
1
-5
0
0
0
0
0
0
1
1
0
4
-8
4
47
-49
-3
-4
0
0
0
0
0
0
0
0
2
4
8
32
24
-41
-51
-31
4
0
0
0
0
0
0
0
0
0
-4
-8
-6
0
30
8
-52
-2
0
0
0
0
0
0
0
2
0
-4
-2
1
3
-5
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-1
42
8
11
8
0
-25
-3
0
0
0
0
0
0
0
-24
-1
-6
-16
-28
-41
-57
17
9
0
1
0
0
0
0
0
0
8
-1
-8
-7
3
-5
25
108
-6
-3
0
0
0
0
0
0
0
0
-8
-4
-5
16
-26
-9
-25
-8
0
0
0
0
0
0
0
0
-8
0
-1
7
-1
24
14
38
2
-1
0
0
0
0
0
0
0
5
1
0
2
12
0
17
30
8
0
0
0
0
0
0
0
0
0
1
0
-8
-1
-2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
1
2
24
0
14
-2
0
0
0
0
0
0
0
0
-4
-3
0
-4
-15
3
-41
41
-17
0
0
0
0
0
0
0
0
-10
0
-2
-2
-12
22
23
-13
-4
0
0
0
0
0
0
0
0
0
-1
-18
-9
-31
32
-12
-2
-4
0
0
0
0
0
0
0
0
0
0
4
-2
0
4
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
3
-3
7
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
0
0
0
0
0
0
0
0
0
0
-1
0
2
-17
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
2
-18
0
-3
0
0
0
0
0
0
0
8
3
0
4
-41
-23
-9
-65
2
-2
0
0
0
0
0
0
0
0
1
0
2
-15
-4
118
14
7
4
0
0
0
0
0
0
0
0
0
0
5
-1
0
-30
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
3
0
1
0
0
0
0
0
0
0
0
0
0
7
-1
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-23
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
3
-18
-1
38
-43
8
0
0
0
0
0
0
0
0
0
0
0
-1
31
9
22
15
-4
0
0
0
0
0
0
0
0
0
0
0
-2
4
25
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
1
9
0
0
0
0
0
0
0
0
0
0
0
-1
-6
10
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
-12
23
13
0
-5
0
0
0
0
0
0
0
0
7
-1
5
-28
-30
-31
154
-17
4
0
0
0
0
0
0
0
0
1
0
0
8
58
16
39
-41
-5
0
0
0
0
0
0
0
0
-1
0
0
-2
44
12
-48
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
10
-19
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
-5
94
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-28
-32
15
0
12
0
0
0
0
0
0
0
0
-3
-1
-42
-42
6
77
-1
61
-2
0
0
0
0
0
0
0
0
-9
0
-2
1
18
-57
0
6
2
0
0
0
0
0
0
0
0
0
-2
-1
-1
-3
-10
-6
8
0
0
0
0
0
0
0
0
1
0
-1
1
1
0
103
-5
-9
-13
0
0
0
0
0
0
0
0
0
7
0
0
-35
6
28
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
25
29
-26
-6
0
0
0
0
0
0
0
0
0
2
1
-1
-1
39
-47
16
10
19
7
1
0
0
0
0
0
0
0
-24
-9
-22
-2
-15
-8
22
-74
-3
2
0
0
0
0
0
0
0
1
-7
-1
-7
0
18
0
-8
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-7
19
-11
13
-6
0
0
0
0
0
0
0
0
0
1
3
-1
25
-8
24
5
-1
0
0
0
0
0
0
0
0
0
3
15
-4
-6
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-14
-54
-15
-11
0
13
1
0
0
0
0
0
0
0
-18
-8
-7
-13
-13
5
-5
-64
1
-2
0
0
0
0
0
0
1
-3
-1
6
3
-17
5
-18
167
10
0
0
0
0
0
0
0
1
17
1
-3
-16
-29
-99
-20
5
3
0
0
0
0
0
0
0
-1
0
0
-6
47
7
-23
-1
12
0
2
0
0
0
0
0
0
0
0
0
2
1
-3
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-33
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
40
-4
2
0
5
1
0
0
0
0
0
0
-3
-4
-7
20
-13
-37
6
16
-80
-1
0
0
0
0
0
0
0
-2
-2
-4
-32
-5
67
-29
58
-14
-44
1
0
0
0
0
0
0
0
2
0
5
49
-13
-63
13
-50
-14
0
0
0
0
0
0
0
2
-6
0
15
-14
-8
-3
24
10
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
13
68
-14
5
0
0
0
0
0
0
0
0
0
-5
-1
1
0
25
5
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
-5
31
-38
86
-57
47
0
31
-4
0
0
0
0
0
0
5
38
0
-16
-45
10
-49
-54
-36
-34
-7
1
0
0
0
0
0
3
18
-17
-41
42
-32
-49
-30
78
-2
0
0
0
0
0
0
0
18
8
-18
-5
-50
10
-12
51
-43
21
0
0
0
0
0
0
0
6
-3
3
-8
-16
-59
94
-13
74
0
0
0
0
0
0
0
0
0
10
-5
0
-30
35
8
4
9
-1
0
0
0
0
0
0
0
0
0
8
0
-7
0
-32
9
-24
-1
0
0
0
0
0
0
0
0
0
0
1
0
10
4
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
17
-4
48
-6
-10
49
0
-16
-32
0
0
0
0
0
0
0
-10
41
18
15
-18
-18
-26
62
-4
30
0
0
0
0
0
0
0
42
-5
-8
-56
-35
24
66
-15
32
-1
0
0
0
0
0
0
0
-1
10
-4
50
-27
107
-5
-74
-2
2
0
0
0
0
0
0
0
-9
-4
7
19
-5
24
-25
-24
-22
0
0
0
0
0
0
0
0
-3
-2
0
42
-2
-19
130
35
-24
-3
0
0
0
0
0
0
0
0
0
-7
5
-12
86
21
24
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-17
-5
17
0
20
6
0
0
0
0
0
0
0
0
-7
0
0
-14
-5
-14
1
-9
27
0
0
0
0
0
0
0
0
-1
-2
-4
3
23
24
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
8
-9
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
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
-2
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-28
0
-33
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-68
37
0
0
0
0
0
0
0
0
0
0
0
2
-4
-25
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
0
0
0
0
7
-2
0
24
-1
-25
-3
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
18
-32
14
5
32
-19
0
0
0
0
0
0
0
0
0
-1
-3
2
-53
-15
-22
29
-24
0
0
0
0
0
0
0
0
0
-3
0
22
52
32
-36
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
24
0
-14
0
0
0
0
0
0
0
0
0
0
1
0
-1
-10
4
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-20
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-13
29
15
55
4
31
0
0
0
0
0
0
0
2
-8
1
0
21
5
-13
13
5
14
0
0
0
0
0
0
0
8
0
0
0
5
-17
-5
10
-3
-1
0
0
0
0
0
0
0
0
-3
0
0
8
-3
-24
4
-10
0
0
0
0
0
0
0
0
0
-6
0
1
0
-65
66
-58
-8
0
0
0
0
0
0
0
0
0
0
0
-2
-34
2
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
1
47
28
0
-7
0
0
0
0
0
0
0
0
43
2
20
25
21
-55
24
-79
5
0
0
0
0
0
0
0
0
-3
1
-3
10
-29
-32
16
-63
0
0
0
0
0
0
0
0
0
5
5
0
4
1
-51
-28
11
24
0
0
0
0
0
0
0
0
0
-4
7
0
1
5
-28
-5
0
0
0
0
0
0
0
0
0
8
-49
0
2
0
-4
-54
0
-3
0
0
0
0
0
0
0
0
-1
-8
0
-13
-44
14
44
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
2
29
-4
5
7
0
17
0
0
0
0
0
0
0
0
-25
0
-4
-30
0
-20
83
-6
25
-2
0
0
0
0
0
0
0
4
0
0
-7
52
-34
24
29
-1
0
0
0
0
0
0
0
23
0
-5
3
0
-38
-7
-13
-38
-20
0
0
0
0
0
0
0
0
-4
0
-1
-46
0
-6
-16
-61
-8
0
0
0
0
0
0
0
0
-15
-13
17
0
-53
0
50
-41
1
0
0
0
0
0
0
0
0
8
0
-5
-54
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
22
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-16
29
2
-13
13
0
-29
0
0
0
0
0
0
0
-1
14
-1
-8
-8
-4
-19
-54
44
5
0
0
0
0
0
0
0
2
-7
0
1
13
-20
-52
-27
18
12
-3
0
0
0
0
0
0
3
-2
1
-19
9
0
50
7
35
8
0
0
0
0
0
0
0
0
0
-2
-2
-30
-41
0
-4
36
3
0
0
0
0
0
0
0
0
0
2
-8
5
-2
22
-4
13
0
0
0
0
0
0
0
0
0
4
2
-4
3
-31
20
-19
0
-1
0
0
0
0
0
0
0
0
-1
-4
0
1
-1
3
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
87
-20
-74
43
0
-21
-1
0
0
0
0
0
0
-1
-29
-10
4
93
16
-87
-16
-54
19
-2
0
0
0
0
0
0
0
-15
8
6
14
62
35
-140
2
-1
0
0
0
0
0
0
0
-22
-8
-13
33
3
-72
-13
-110
1
-71
0
0
0
0
0
0
0
0
1
-19
9
90
-29
-23
0
-2
3
0
0
0
0
0
0
0
0
5
-7
-16
31
-127
-9
-67
0
-4
0
0
0
0
0
0
0
0
-5
20
29
54
13
-37
-68
-18
0
0
0
0
0
0
0
0
0
-1
-1
-3
22
100
-10
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
82
12
84
38
0
-65
7
0
0
0
0
0
0
40
-12
-23
40
32
49
-8
-5
-19
19
-25
0
0
0
0
0
0
-7
-6
-2
-30
25
-42
15
-35
-41
-1
0
0
0
0
0
0
0
-3
54
-19
-10
-4
-15
-39
-25
-50
1
5
0
0
0
0
0
0
-8
-8
8
37
28
-40
1
81
0
-8
0
0
0
0
0
0
0
20
16
-19
-22
-16
15
-1
-2
-50
0
-1
0
0
0
0
0
0
-2
-2
8
-12
-46
-18
-23
-1
83
1
0
0
0
0
0
0
0
0
-3
1
40
-1
-10
2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-3
0
0
0
0
0
0
0
0
0
0
-18
-8
-3
10
26
-35
-113
0
-33
2
-1
0
0
0
0
0
0
62
13
8
88
-23
105
-69
20
-48
-2
0
0
0
0
0
0
0
-41
-8
-4
-67
44
-24
-21
-15
-1
2
0
0
0
0
0
0
0
-33
1
7
-51
45
107
-156
38
-28
0
0
0
0
0
0
0
0
30
-2
-4
-67
-7
-47
62
117
0
0
0
0
0
0
0
0
0
69
-30
13
18
-18
4
101
1
41
0
0
0
0
0
0
0
0
-3
-7
10
-13
-10
-92
25
43
6
0
0
0
0
0
0
0
0
0
0
0
-1
-34
72
10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
0
5
3
-2
0
0
0
0
0
0
0
-3
0
0
20
-21
7
19
19
-21
0
0
0
0
0
0
0
0
7
3
0
8
5
-9
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
-8
14
-7
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
3
4
24
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
41
-13
13
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-41
23
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
8
30
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
5
-30
19
-1
0
0
0
0
0
0
0
0
4
0
0
2
0
-27
27
-41
0
0
0
0
0
0
0
0
-1
0
0
1
-1
23
4
28
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-43
13
7
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-16
-1
-6
-9
-20
1
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-32
2
0
-1
0
0
0
0
0
0
0
7
1
0
8
2
-43
-29
15
-5
-6
0
0
0
0
0
0
0
0
-2
0
0
-14
-68
66
6
-2
1
0
0
0
0
0
0
0
2
1
-1
-1
-13
-31
-8
-65
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
13
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
8
0
8
-8
-90
-30
0
0
1
0
0
0
0
0
0
0
0
0
-6
-59
-50
11
-55
-2
69
-10
0
0
0
0
0
0
0
31
3
3
12
-65
15
13
89
-4
1
0
0
0
0
0
0
1
2
12
6
15
-41
2
-21
-76
-2
0
0
0
0
0
0
0
1
1
7
0
-8
-9
-5
44
-32
-4
0
0
0
0
0
0
0
0
2
1
0
0
-16
37
-30
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
0
47
-9
-10
1
0
0
0
0
0
0
0
0
0
0
-8
0
4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-24
2
-28
0
-24
0
0
0
0
0
0
0
0
0
4
1
-22
-48
-94
-100
71
-19
0
0
0
0
0
0
0
0
10
0
0
-8
-11
48
73
-8
36
0
0
0
0
0
0
0
-2
0
-2
-2
5
-32
44
-6
-3
-8
0
0
0
0
0
0
0
0
-8
-13
13
-1
12
0
45
-18
0
0
0
0
0
0
0
0
0
1
-42
2
2
0
-1
9
-2
-4
0
0
0
0
0
0
0
0
0
3
-1
0
30
0
-40
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
3
3
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-3
0
-19
0
-70
2
0
0
0
0
0
0
0
25
0
0
38
-122
15
-92
-50
21
0
0
0
0
0
0
0
5
1
-2
0
35
-43
9
-89
-5
-1
0
0
0
0
0
0
0
0
12
-17
47
-1
-89
72
-9
48
12
0
0
0
0
0
0
0
-1
-13
-16
2
-49
-2
8
0
22
0
0
0
0
0
0
0
0
-2
4
-16
1
-14
-95
0
-35
1
16
0
0
0
0
0
0
0
-1
8
1
10
-109
8
77
0
-92
-5
0
0
0
0
0
0
0
0
-5
0
-24
-6
-23
8
-26
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-8
41
-81
12
0
-74
1
0
0
0
0
0
0
7
-5
0
-1
-3
27
45
2
48
-55
-1
0
0
0
0
0
0
4
41
-1
5
16
-43
-7
-40
-64
-15
0
0
0
0
0
0
0
-19
-24
-1
-20
24
-44
-88
27
-33
22
0
0
0
0
0
0
0
1
-8
-9
-18
-31
-52
-17
-37
2
-8
0
0
0
0
0
0
0
0
49
0
0
-12
-84
-40
0
-58
20
0
0
0
0
0
0
0
0
-3
6
-4
87
13
1
-63
0
0
0
0
0
0
0
0
0
0
-1
0
5
-3
5
14
-52
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
10
0
-24
-4
-8
-32
-16
-27
0
-42
0
0
0
0
0
0
0
4
32
10
27
65
50
-81
103
-17
-23
8
0
0
0
0
0
0
1
-4
-30
-59
11
-16
16
-49
4
13
8
0
0
0
0
0
0
5
-33
-34
7
-44
-21
9
-126
-13
-47
0
0
0
0
0
0
0
41
-10
-7
-24
-32
40
-102
-10
27
0
0
0
0
0
0
0
0
1
10
-18
-37
-47
-80
15
57
0
18
0
0
0
0
0
0
0
-9
4
-53
8
-8
57
106
2
-36
0
0
0
0
0
0
0
0
-5
7
5
-19
4
-6
-20
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
0
0
0
0
0
0
0
0
0
0
10
15
8
22
74
-9
1
0
-27
3
0
0
0
0
0
0
0
2
-7
-1
56
18
83
20
-60
37
-31
0
0
0
0
0
0
0
-71
22
15
-27
-34
54
39
3
-117
-5
0
0
0
0
0
0
0
-4
29
20
-39
-45
-45
71
1
-3
-2
0
0
0
0
0
0
0
49
13
13
-14
-27
-43
-8
-20
-3
0
0
0
0
0
0
0
0
-30
-27
44
-29
-3
83
0
40
0
1
0
0
0
0
0
0
0
-10
-13
-25
-19
-1
-135
-17
4
-8
0
0
0
0
0
0
0
0
0
-8
-15
2
-32
-87
7
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
12
1
0
4
3
0
0
0
0
0
0
0
0
12
4
9
31
17
0
-14
43
5
0
0
0
0
0
0
0
0
0
-1
0
-13
-3
-13
3
75
-5
0
0
0
0
0
0
0
0
-1
0
0
-7
-1
7
-17
28
-4
0
0
0
0
0
0
0
0
-7
0
0
0
2
-51
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
13
1
19
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
19
17
0
0
0
0
0
0
0
0
0
0
0
0
3
1
21
-12
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
2
-4
17
-41
0
0
0
0
0
0
0
0
8
1
-2
0
-18
-48
-7
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
89
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
32
0
30
1
5
0
0
0
0
0
0
0
0
0
0
0
4
-7
39
-16
-28
0
0
0
0
0
0
0
0
0
0
-9
-2
4
-63
-7
-15
14
-24
0
0
0
0
0
0
0
0
0
0
0
-30
4
-63
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-31
0
0
0
0
0
0
0
0
0
4
0
-10
0
-24
-16
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
3
-78
1
-1
0
0
0
0
0
0
0
0
-1
0
0
3
-29
-59
1
7
1
0
0
0
0
0
0
0
2
0
0
-1
0
61
1
53
-3
-1
0
0
0
0
0
0
0
0
-2
0
-18
-2
14
57
-3
-7
-1
0
0
0
0
0
0
0
0
-20
5
0
-1
0
-12
34
-44
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
-6
14
0
0
0
0
0
0
0
0
0
0
-16
0
0
15
21
-13
-64
-3
19
0
0
0
0
0
0
0
0
2
0
1
2
-1
6
1
-17
0
0
0
0
0
0
0
0
-7
0
1
-2
1
-27
29
0
1
-56
0
0
0
0
0
0
0
0
-5
0
4
-17
-15
-26
17
32
0
0
0
0
0
0
0
0
0
1
-1
0
0
-80
0
-28
3
-3
0
0
0
0
0
0
0
0
0
4
0
7
0
42
4
7
0
0
0
0
0
0
0
0
0
-3
0
4
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-34
57
0
-15
0
0
0
0
0
0
0
0
14
0
-9
44
-6
24
17
-50
12
0
0
0
0
0
0
0
-1
2
0
-2
-29
-10
-89
-7
-49
-8
0
0
0
0
0
0
0
0
0
3
43
-25
-31
-85
-13
0
1
0
0
0
0
0
0
0
0
7
0
48
-48
-18
48
3
6
0
0
0
0
0
0
0
0
-1
3
8
-41
17
1
-6
0
6
1
0
0
0
0
0
0
0
0
-16
-1
0
-8
-3
0
-13
10
0
0
0
0
0
0
0
0
0
5
3
-21
10
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
22
-5
-5
-50
0
-5
0
0
0
0
0
0
0
-1
10
8
1
-28
58
-17
-26
-6
9
1
0
0
0
0
0
0
-3
-4
0
-6
-21
-51
-70
-33
-34
5
0
0
0
0
0
0
0
17
-3
1
8
24
52
58
1
76
-14
0
0
0
0
0
0
0
-5
1
-43
27
-5
25
21
28
-76
0
0
0
0
0
0
0
0
0
4
18
6
-14
24
1
-38
0
8
0
0
0
0
0
0
0
0
1
-17
12
-22
0
2
0
-42
0
0
0
0
0
0
0
0
0
4
-1
-4
-7
-128
8
54
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-14
10
0
0
0
0
0
0
0
0
0
2
0
-15
14
2
-36
-13
-24
0
9
0
0
0
0
0
0
0
-29
20
-36
-5
46
55
-23
14
-54
-39
-3
0
0
0
0
0
0
0
-12
6
-27
-14
-57
-56
50
43
-31
3
0
0
0
0
0
0
0
-40
-13
23
-7
36
7
-62
5
120
-3
0
0
0
0
0
0
17
-13
-52
58
-4
-66
167
-28
-46
-20
0
0
0
0
0
0
0
-20
-5
-52
41
-15
75
30
0
6
0
0
0
0
0
0
0
0
2
3
-8
0
-17
-11
-44
-44
0
-2
0
0
0
0
0
0
0
0
7
-2
17
-2
6
-33
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-4
2
-1
0
0
0
0
0
0
0
0
0
-7
10
-10
42
-15
26
9
0
-2
-2
0
0
0
0
0
0
0
11
38
-22
50
11
-91
87
51
62
-22
0
0
0
0
0
0
0
21
8
8
-22
44
108
28
-17
10
-20
0
0
0
0
0
0
0
-71
-15
5
-2
-21
7
12
-9
-12
2
0
0
0
0
0
0
0
17
-55
-12
43
14
-27
-41
-56
-16
0
0
0
0
0
0
0
0
103
69
-2
96
-44
-17
61
0
-32
0
0
0
0
0
0
0
0
-3
15
-15
10
48
9
70
71
0
0
0
0
0
0
0
0
0
0
22
-1
0
1
35
54
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
25
-2
4
0
19
-16
0
0
0
0
0
0
0
0
-1
1
1
1
9
-1
-27
9
-13
0
0
0
0
0
0
0
0
-7
0
0
-4
3
5
43
3
25
0
0
0
0
0
0
0
0
-1
0
8
-2
9
25
-2
4
-9
0
0
0
0
0
0
0
0
1
-2
6
7
22
19
0
18
1
0
0
0
0
0
0
0
0
3
1
0
6
-8
-3
-12
0
8
0
0
0
0
0
0
0
0
0
0
3
-3
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-29
0
-11
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
42
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-25
0
0
0
0
0
0
0
0
0
0
3
0
0
5
2
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
23
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-27
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-2
83
1
-3
0
0
0
0
0
0
0
0
-8
0
0
3
-1
-43
-19
30
20
0
0
0
0
0
0
0
-4
0
0
-8
0
-5
3
-53
7
-2
0
0
0
0
0
0
0
0
0
4
0
8
10
47
-31
11
0
0
0
0
0
0
0
0
7
2
9
-3
-9
46
-3
6
7
0
0
0
0
0
0
0
0
0
7
1
0
29
0
-38
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-17
5
0
0
0
0
0
0
0
0
0
0
5
0
0
24
-59
6
-77
8
-9
0
0
0
0
0
0
0
2
4
0
0
-30
16
-69
24
-11
-3
0
0
0
0
0
0
0
-8
0
0
-12
3
-36
-2
-18
-1
-61
0
0
0
0
0
0
0
0
-8
4
-5
4
44
17
28
-15
0
0
0
0
0
0
0
0
0
9
-4
1
-9
32
-42
-3
-2
1
0
0
0
0
0
0
0
0
0
14
20
38
-13
0
8
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-22
13
0
24
0
0
0
0
0
0
0
0
0
0
2
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-25
2
-7
0
31
0
0
0
0
0
0
0
0
-9
-2
25
1
87
-12
4
23
-55
2
0
0
0
0
0
0
5
24
-4
6
41
-13
-63
-25
22
-22
0
0
0
0
0
0
0
19
34
-5
-29
-19
-28
89
33
42
-72
-1
0
0
0
0
0
0
4
36
32
22
30
17
22
-19
-74
-7
0
0
0
0
0
0
0
25
-2
6
-53
-7
-68
-24
-11
20
1
0
0
0
0
0
0
0
5
-9
30
-25
35
13
-44
0
-154
0
0
0
0
0
0
0
0
19
-6
-6
3
-6
8
-20
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-19
-61
0
0
-3
0
0
0
0
0
0
0
0
4
-17
0
8
-112
-40
-1
113
-98
1
0
0
0
0
0
0
0
-47
-12
0
-23
58
-52
-99
-79
5
0
0
0
0
0
0
0
0
-71
-30
14
51
64
48
-19
-52
3
0
0
0
0
0
0
0
0
73
-15
9
-49
-78
63
-26
42
1
1
0
0
0
0
0
0
0
2
-27
-16
30
20
-48
-16
47
34
0
0
0
0
0
0
0
0
-8
-66
-42
78
-66
-30
19
-14
-9
0
0
0
0
0
0
0
0
0
-9
8
14
40
-84
-23
-23
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-4
-26
2
-51
0
0
0
0
0
0
0
0
-5
4
0
4
18
-1
5
18
-1
0
0
0
0
0
0
0
0
0
2
0
4
-5
6
-14
-12
-19
0
0
0
0
0
0
0
0
0
0
-1
19
-5
-7
-2
3
-1
0
0
0
0
0
0
0
0
-3
0
0
-2
9
18
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
43
3
0
0
0
0
0
0
0
0
14
-5
7
4
16
-24
-17
0
-2
0
0
0
0
0
0
0
0
3
-2
-2
-6
0
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-64
-13
-25
5
0
0
0
0
0
0
0
0
2
0
0
-3
24
0
85
-6
-5
-1
0
0
0
0
0
0
0
10
0
0
31
0
31
33
12
-36
0
0
0
0
0
0
0
0
0
13
21
6
-50
10
27
4
-15
0
0
0
0
0
0
0
0
67
-14
-1
50
22
33
11
42
0
0
0
0
0
0
0
0
0
11
0
0
7
-11
0
-10
0
0
0
0
0
0
0
0
0
0
0
-7
-4
4
8
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
7
3
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
13
1
-84
5
0
0
0
0
0
0
0
0
2
0
-4
3
-1
10
-1
4
-2
0
0
0
0
0
0
0
0
0
0
-5
-1
0
2
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
20
13
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
19
-6
0
0
0
7
0
0
0
0
0
0
0
0
8
1
-29
2
0
6
0
0
-7
0
0
0
0
0
0
0
0
0
41
-7
-10
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
2
-14
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
51
1
7
-1
22
-3
0
-1
0
0
0
0
0
0
0
0
-4
-5
33
-9
-56
15
13
0
0
-48
0
0
0
0
0
0
0
0
-5
31
57
8
46
-1
8
4
-8
0
0
0
0
0
0
0
0
-4
-23
-1
-21
-20
24
12
-24
-23
0
0
0
0
0
0
0
0
17
2
-38
45
-30
-10
1
-1
5
0
0
0
0
0
0
0
0
0
2
-12
8
-14
-24
-1
-8
0
0
0
0
0
0
0
0
0
0
2
1
0
-14
0
0
0
0
0
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
0
5
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-42
-3
3
0
0
0
0
0
0
0
0
0
0
0
-30
-24
7
-30
-15
-1
5
0
-1
-10
0
0
0
0
0
0
1
22
7
-14
51
-56
-8
-9
1
7
0
0
0
0
0
0
0
0
-8
42
32
41
42
2
-5
2
2
1
0
0
0
0
0
0
0
6
-36
23
-24
55
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-29
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
30
0
20
-4
0
0
0
0
0
0
0
0
0
0
0
2
-20
-19
33
-4
0
0
1
0
0
0
0
0
0
0
0
-7
-5
35
-13
-2
33
-3
1
-1
0
0
0
0
0
0
0
0
-7
5
62
-16
13
8
2
0
-2
4
0
0
0
0
0
0
0
-1
0
-20
12
-2
-4
2
12
-12
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
41
3
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-3
34
7
-1
0
1
-2
-8
0
0
0
0
0
0
0
3
9
-3
24
12
4
-2
0
-1
0
0
0
0
0
0
0
0
0
15
5
19
-3
1
-9
3
0
-1
0
0
0
0
0
0
0
0
-8
-4
-7
14
30
-2
5
0
-15
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-51
-1
-29
0
0
0
0
0
0
0
0
0
0
0
-8
8
9
-31
-49
-14
-3
0
0
3
0
0
0
0
0
0
0
3
-53
0
-8
-22
6
4
3
-1
6
0
0
0
0
0
0
0
0
1
-29
25
8
6
30
4
2
1
0
0
0
0
0
0
0
0
0
8
-8
-6
27
0
-15
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
-6
6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-41
25
4
0
0
-16
0
0
0
0
0
0
0
0
-17
-40
-8
-14
1
-7
0
6
-3
-2
0
0
0
0
0
0
0
2
-7
8
3
16
16
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
-1
-1
0
0
0
0
0
0
0
0
0
0
7
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
-3
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
6
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-13
31
7
-3
0
0
-1
0
0
0
0
0
0
0
0
-6
52
6
19
-2
-25
-1
0
10
0
0
0
0
0
0
0
0
-2
27
24
15
-25
0
8
0
-15
0
0
0
0
0
0
0
0
-17
-41
-19
-26
24
-25
-4
0
-32
0
0
0
0
0
0
0
0
0
1
0
-30
2
-4
-8
1
0
0
0
0
0
0
0
0
0
0
6
12
-7
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
1
99
-1
-3
0
0
0
0
0
0
0
0
0
0
6
4
87
-100
-39
10
14
0
0
0
0
0
0
0
0
0
0
-4
-27
29
39
-74
43
13
1
-9
-4
0
0
0
0
0
0
0
0
38
33
90
-4
-59
-13
31
25
-9
0
0
0
0
0
0
0
1
77
12
2
-61
42
-7
4
-7
-13
0
0
0
0
0
0
0
-1
-4
-18
-23
-64
-14
2
2
5
7
0
0
0
0
0
0
0
0
5
-12
29
4
-21
2
13
-25
14
0
0
0
0
0
0
0
0
-5
-2
-1
-18
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
38
-6
0
0
0
0
0
0
0
0
0
0
0
-3
28
-68
9
-8
-18
0
0
1
0
2
0
0
0
0
0
0
-7
8
27
0
100
-24
7
1
3
-17
3
0
0
0
0
0
0
2
49
31
-39
18
22
5
-4
-2
-9
0
0
0
0
0
0
0
1
49
14
7
42
-10
-11
-32
10
-41
-8
0
0
0
0
0
0
0
14
15
13
14
-71
-8
5
-16
18
0
0
0
0
0
0
0
0
1
-17
-5
9
-3
19
9
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-23
0
-23
0
0
0
0
0
0
0
0
0
0
0
2
6
49
33
14
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
-22
44
8
9
3
16
-1
6
0
0
0
0
0
0
1
-8
125
-18
8
25
10
14
-4
7
0
0
0
0
0
0
0
-3
30
-40
27
34
29
-16
2
25
2
-2
0
0
0
0
0
0
0
-22
-24
17
8
-8
-17
-1
-5
-1
0
0
0
0
0
0
0
0
0
2
-2
-3
-12
4
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-38
0
-16
0
-8
1
0
0
0
0
0
0
0
0
0
-1
10
-40
96
0
18
0
0
0
0
0
0
0
0
0
0
0
8
-17
-32
-9
-10
-3
8
1
6
2
1
0
0
0
0
0
0
-2
-7
-27
14
5
12
7
4
-5
2
3
0
0
0
0
0
0
-2
-30
65
12
1
41
-30
-29
1
27
0
0
0
0
0
0
0
0
10
-5
8
-9
8
-10
7
0
7
0
0
0
0
0
0
0
0
0
0
6
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
32
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-29
-5
-42
2
3
0
0
0
0
0
0
0
0
0
0
7
31
-18
67
4
34
1
14
9
-9
0
1
0
0
0
0
0
1
31
-45
14
22
-50
-17
-3
-4
5
1
0
0
0
0
0
0
0
28
-35
24
48
19
-3
-7
-30
-2
0
0
0
0
0
0
0
0
-9
-49
-8
-2
8
9
-3
-2
0
0
0
0
0
0
0
0
0
0
5
-4
-14
0
1
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
-6
8
1
0
0
0
0
0
0
0
0
0
0
0
0
41
4
-10
-2
11
14
0
0
0
0
1
0
0
0
0
0
0
3
1
23
-19
20
14
3
3
2
1
0
0
0
0
0
0
0
9
29
-6
3
48
5
1
-13
-8
0
0
0
0
0
0
0
0
-2
6
-42
-13
12
42
4
3
3
-2
0
0
0
0
0
0
0
6
4
2
-13
5
5
-6
0
-16
0
0
0
0
0
0
0
0
0
0
24
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
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-23
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
13
9
2
2
0
-1
-1
6
0
0
0
0
0
0
0
0
2
-21
-13
-1
4
-2
1
-2
1
1
0
0
0
0
0
0
0
0
28
5
9
-1
25
3
0
1
0
0
0
0
0
0
0
0
5
7
-8
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
-2
3
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
-25
-2
-7
2
0
0
0
0
0
0
0
0
0
0
0
16
-48
-15
-11
15
29
0
0
-1
0
0
0
0
0
0
0
0
-1
73
-14
-32
-13
-10
0
0
-6
0
0
0
0
0
0
0
0
4
40
60
8
-65
-9
23
0
12
0
0
0
0
0
0
0
0
-6
-90
8
9
6
-19
23
-1
55
0
0
0
0
0
0
0
0
0
25
13
-22
-5
-6
-12
-7
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
38
26
-41
10
25
-12
0
0
0
0
0
0
0
0
0
0
-2
26
24
33
-56
54
25
0
0
0
0
0
0
0
0
0
0
-8
-41
-18
-19
31
15
18
1
-30
5
0
0
0
0
0
0
0
0
-51
13
128
6
-40
-25
69
3
-8
0
0
0
0
0
0
0
2
15
-21
-1
-13
-48
40
16
0
-20
0
0
0
0
0
0
0
0
68
-58
-40
-55
6
-32
9
-1
8
0
0
0
0
0
0
0
0
0
6
-6
2
3
8
7
0
-7
0
0
0
0
0
0
0
0
0
0
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
-40
9
48
-1
2
0
0
0
0
0
0
0
0
0
-5
1
35
37
-31
-43
17
0
0
0
1
0
0
0
0
0
0
1
0
-3
4
-58
-22
23
-7
1
-29
-5
0
0
0
0
0
0
1
9
6
-9
16
53
9
8
-4
-5
-1
0
0
0
0
0
0
2
-5
19
25
33
-12
21
5
-6
-2
0
0
0
0
0
0
0
0
-2
27
-13
-21
-19
-8
-20
-1
-2
0
0
0
0
0
0
0
0
0
4
-5
15
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
0
42
1
5
0
0
0
-1
0
0
0
0
0
0
0
67
30
80
46
-19
0
0
-2
0
0
0
0
0
0
0
0
0
-19
75
4
21
-6
5
0
1
-7
1
0
0
0
0
0
0
0
24
8
-82
40
49
-3
14
-6
2
0
0
0
0
0
0
0
0
5
10
-25
3
2
8
6
9
3
0
0
0
0
0
0
0
0
-16
-8
23
8
-8
-1
14
0
0
0
0
0
0
0
0
0
0
0
-25
-4
-9
0
-25
4
1
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
18
-55
-41
-10
5
6
0
0
0
0
0
0
0
0
0
0
0
4
-1
-60
5
3
9
2
-1
0
2
0
0
0
0
0
0
-1
40
41
0
16
-8
-7
8
1
0
0
0
0
0
0
0
0
4
-20
29
8
-31
-22
6
3
2
-4
0
0
0
0
0
0
0
0
0
-53
16
3
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
19
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
3
24
8
4
0
0
0
0
0
0
0
0
0
0
2
-25
-11
86
-2
29
1
0
3
0
0
0
0
0
0
0
0
-1
0
-11
-24
23
0
22
1
8
-5
0
0
0
0
0
0
0
0
-9
-1
-27
-3
15
0
-3
-1
-19
0
0
0
0
0
0
0
0
13
20
17
-6
21
25
0
1
1
0
0
0
0
0
0
0
0
-5
13
8
13
-9
-6
1
-1
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
18
33
-13
0
0
0
0
0
0
0
0
0
0
0
-2
36
5
-38
18
8
-1
0
-2
0
0
0
0
0
0
0
0
0
8
-43
36
7
68
-14
0
0
12
1
0
0
0
0
0
0
0
14
-5
19
-10
0
24
-2
0
4
0
0
0
0
0
0
0
-4
13
5
4
-31
-14
-4
-2
0
1
0
0
0
0
0
0
0
0
-1
16
-5
-9
-1
3
-3
0
-1
0
0
0
0
0
0
0
0
0
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
41
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
30
40
-6
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-3
10
5
27
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-6
25
15
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
-21
-40
-5
-7
-1
0
-15
-1
0
0
0
0
0
0
0
0
-3
2
25
-1
15
-13
0
0
6
0
0
0
0
0
0
0
0
0
3
1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
55
-2
1
0
0
0
0
0
0
0
0
0
0
0
3
16
42
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-8
-23
3
12
-6
-6
10
0
0
0
0
0
0
0
0
0
42
-7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
19
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-4
-5
3
0
-1
0
0
0
0
0
0
0
0
0
-2
-4
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-21
-81
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-88
-1
-4
25
27
-1
0
-5
0
0
0
0
0
0
0
0
-10
-15
54
22
-15
22
0
0
-2
0
0
0
0
0
0
0
0
3
-19
-58
-31
26
-14
5
8
25
0
0
0
0
0
0
0
0
6
-50
-177
13
0
-51
7
0
9
0
0
0
0
0
0
0
0
-1
-7
0
30
-5
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-41
1
-27
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
54
11
-10
41
-19
0
0
0
0
0
0
0
0
0
0
41
-18
-59
-24
14
-60
-2
0
-2
0
0
0
0
0
0
0
0
-1
-16
33
24
1
8
11
3
-48
12
0
0
0
0
0
0
0
-1
12
-20
26
-48
50
78
-21
-20
19
0
0
0
0
0
0
0
0
43
1
-2
-96
66
-21
0
-1
7
0
0
0
0
0
0
0
0
48
-4
-30
115
15
-56
-13
16
-2
0
0
0
0
0
0
0
0
1
-31
-14
-30
36
8
1
-2
0
0
0
0
0
0
0
0
0
0
-3
19
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
39
-28
12
-36
9
0
0
0
0
0
0
0
0
0
0
-5
-36
18
-3
-13
-30
1
0
0
0
3
0
0
0
0
0
0
0
-2
62
43
-55
19
22
-4
4
8
4
0
0
0
0
0
0
0
86
12
-16
86
-48
7
-2
4
2
0
0
0
0
0
0
0
0
-5
23
13
-46
30
-7
-22
-4
7
0
0
0
0
0
0
0
0
6
0
2
-8
17
57
-42
4
-1
0
0
0
0
0
0
0
0
0
4
2
-5
-29
44
-2
0
0
0
0
0
0
0
0
0
0
0
3
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-23
34
23
20
0
0
0
-1
0
0
0
0
0
0
0
2
-24
13
36
-50
3
-8
0
0
0
0
0
0
0
0
0
0
0
-26
-1
46
20
-8
16
-8
0
19
2
0
0
0
0
0
0
2
20
-46
1
21
4
-4
2
0
-2
0
0
0
0
0
0
0
0
31
-7
21
9
-43
48
-5
2
-2
0
0
0
0
0
0
0
0
-6
-20
16
68
-1
-23
-20
1
0
0
0
0
0
0
0
0
0
0
7
-8
20
-91
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
40
-12
36
1
0
0
0
0
0
0
0
0
0
0
0
14
-23
48
37
8
-3
0
0
0
0
0
0
0
0
0
0
0
-15
31
-3
-15
10
-32
0
2
-4
0
0
0
0
0
0
0
0
-4
-2
-73
0
-8
-4
0
-2
0
0
0
0
0
0
0
0
0
-6
3
0
28
1
18
0
2
5
0
0
0
0
0
0
0
0
-13
0
30
-38
1
-8
0
-3
3
0
0
0
0
0
0
0
0
0
5
-32
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-58
7
3
2
0
0
0
0
0
0
0
0
0
0
0
-89
5
22
23
-5
3
0
0
0
0
0
0
0
0
0
0
0
14
19
24
-13
4
-7
-1
-3
8
-4
0
0
0
0
0
0
0
8
47
-1
48
0
-20
2
0
1
0
0
0
0
0
0
0
0
3
140
16
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
-1
-5
-5
10
16
0
-7
0
0
0
0
0
0
0
0
0
-1
-26
10
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
8
29
6
6
0
0
0
0
0
0
0
0
0
0
0
9
4
-46
-27
-42
1
0
0
0
0
0
0
0
0
0
0
0
-6
22
-54
-84
-17
0
2
0
-4
0
0
0
0
0
0
0
0
24
39
-15
-9
12
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-30
23
-9
0
6
-3
0
-1
0
0
0
0
0
0
0
0
1
-23
8
-2
41
8
0
-8
3
0
0
0
0
0
0
0
0
0
15
7
26
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-1
-43
2
-12
0
0
0
0
0
0
0
0
0
0
-4
24
51
6
-24
-27
9
0
0
0
0
0
0
0
0
0
0
0
20
-19
-11
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
-8
-4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-29
0
-11
13
33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
14
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
3
8
-7
4
0
0
0
0
0
0
0
0
0
0
0
8
-18
-11
-25
1
-1
0
0
0
0
0
0
0
0
0
0
0
5
39
31
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
-13
7
4
-14
0
0
0
0
0
0
0
0
0
0
-2
2
4
-19
9
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
13
-6
8
2
0
2
0
0
0
0
0
0
0
0
0
-3
0
-37
6
7
-7
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
7
0
8
12
0
0
0
0
0
0
0
0
0
0
0
-5
24
-1
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-14
43
-12
5
0
0
0
0
0
0
0
0
0
0
0
-1
4
25
53
-40
41
3
0
0
0
0
0
0
0
0
0
0
38
-29
-27
-13
-20
32
1
-8
4
0
0
0
0
0
0
0
0
70
-35
21
34
-16
28
22
-3
13
0
0
0
0
0
0
0
0
0
-1
21
45
-9
-27
-2
0
-13
0
0
0
0
0
0
0
0
0
-1
-94
-56
-7
16
0
0
-15
0
0
0
0
0
0
0
0
0
-25
-14
17
4
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-41
-7
-26
23
-41
0
0
0
0
0
0
0
0
0
0
3
-35
76
42
-16
57
-3
0
0
0
0
0
0
0
0
0
0
22
124
35
-14
-24
-28
-91
-15
-18
2
0
0
0
0
0
0
0
0
18
49
6
50
-11
9
1
8
-34
0
0
0
0
0
0
0
0
0
-122
-53
-5
-2
68
-3
0
-9
0
0
0
0
0
0
0
0
-42
-1
19
-4
1
-21
42
5
-12
0
0
0
0
0
0
0
0
1
-8
10
80
41
-54
-13
-4
0
0
0
0
0
0
0
0
0
1
-18
-3
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
54
45
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-7
46
-18
58
75
-99
-12
0
2
0
0
0
0
0
0
0
0
0
41
98
24
-31
48
3
8
16
-6
3
0
0
0
0
0
0
-25
2
-14
-52
77
-24
42
18
0
12
5
0
0
0
0
0
0
-1
-5
0
-14
15
41
16
6
-12
-42
-1
0
0
0
0
0
0
0
0
23
7
67
-14
72
-36
22
0
0
0
0
0
0
0
0
0
3
24
-3
-31
-47
-27
18
-10
-2
0
0
0
0
0
0
0
0
1
1
-21
14
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
32
67
-3
-7
-8
9
0
0
1
0
0
0
0
0
0
0
0
40
-8
-44
2
25
-1
0
0
0
2
0
0
0
0
0
0
1
6
160
8
-26
36
7
-9
8
25
6
0
0
0
0
0
0
0
-25
6
60
6
21
2
10
8
23
0
0
0
0
0
0
0
-6
1
67
0
-38
1
-32
-1
1
0
0
0
0
0
0
0
0
0
24
0
-21
-8
93
-48
6
-16
2
0
0
0
0
0
0
0
0
0
26
29
-38
-1
-12
1
0
3
0
0
0
0
0
0
0
0
0
-1
2
-29
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-17
72
72
-4
1
-1
0
0
0
0
0
0
0
0
0
-1
-8
8
94
-3
-40
-2
0
-1
0
0
0
0
0
0
0
0
0
1
-30
-27
-44
33
2
0
0
1
0
0
0
0
0
0
0
0
14
23
-1
94
-1
1
1
2
7
-3
0
0
0
0
0
0
0
-8
12
37
0
0
16
1
0
-15
0
0
0
0
0
0
0
0
8
-15
0
-58
-3
4
6
-1
2
0
0
0
0
0
0
0
0
-3
0
-12
-9
23
6
2
8
0
0
0
0
0
0
0
0
0
-3
1
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
-51
30
3
-8
0
0
0
0
0
0
0
0
0
0
0
-22
-26
62
-77
-12
-4
0
0
0
0
0
0
0
0
0
0
0
-22
71
-22
-50
27
-15
0
-6
0
0
0
0
0
0
0
0
0
5
8
59
0
8
0
8
5
2
0
0
0
0
0
0
0
0
12
12
-9
-8
0
14
0
0
-5
0
0
0
0
0
0
0
0
4
10
37
0
67
2
12
-6
0
0
0
0
0
0
0
0
0
0
59
-13
10
-1
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
22
-4
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-32
-27
-82
41
9
0
0
0
0
0
0
0
0
0
0
0
-8
47
-24
-2
-23
17
0
0
0
0
0
0
0
0
0
0
-1
25
-14
-23
68
20
-9
1
2
-3
0
0
0
0
0
0
0
0
13
-56
-15
51
0
6
0
-7
0
0
0
0
0
0
0
0
0
-6
-15
30
-14
25
0
0
0
4
0
0
0
0
0
0
0
0
0
-8
-59
87
1
0
0
25
-9
0
0
0
0
0
0
0
0
0
8
58
0
46
1
-1
8
1
0
0
0
0
0
0
0
0
0
-7
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-45
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
32
24
-30
8
1
0
0
0
0
0
0
0
0
0
0
0
40
-10
-31
0
-14
13
1
-1
2
0
0
0
0
0
0
0
0
29
-46
19
40
45
0
-1
0
0
-8
0
0
0
0
0
0
0
1
3
-11
2
5
0
0
0
15
0
0
0
0
0
0
0
0
0
-28
62
5
3
0
0
0
5
0
0
0
0
0
0
0
0
0
-18
-4
-10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
17
1
0
0
0
0
0
0
0
0
0
0
0
-18
22
-23
5
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
40
44
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
9
76
-19
2
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
48
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
1
-9
3
0
0
0
0
0
0
0
0
0
0
0
1
7
-9
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
29
-27
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
30
-6
-5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
23
30
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
8
2
8
-2
-10
0
0
0
0
0
0
0
0
0
0
4
-2
9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
30
-2
24
-4
0
0
0
0
0
0
0
0
0
0
0
31
62
10
5
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
-65
-15
4
-42
2
8
1
1
-13
0
0
0
0
0
0
0
0
14
21
1
48
49
13
25
-6
-48
0
0
0
0
0
0
0
0
-65
-1
-30
-30
53
51
-1
-24
-42
0
0
0
0
0
0
0
0
0
30
46
-67
14
-12
10
-8
6
0
0
0
0
0
0
0
0
2
0
65
6
-11
-1
0
2
-6
0
0
0
0
0
0
0
0
0
3
0
8
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
76
118
61
-41
-13
0
0
0
0
0
0
0
0
0
0
-2
20
-3
26
6
-13
-1
0
22
0
0
0
0
0
0
0
0
-9
11
-21
89
79
25
44
22
-13
50
0
0
0
0
0
0
0
17
3
-65
47
-20
46
2
-58
44
29
0
0
0
0
0
0
0
0
-50
4
104
30
-25
43
12
-31
30
0
0
0
0
0
0
0
0
0
-36
43
23
-42
-3
5
-1
-19
0
0
0
0
0
0
0
0
-7
0
3
-26
32
-25
-7
-3
5
0
0
0
0
0
0
0
0
-2
5
-16
4
-8
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
41
17
3
1
0
0
0
0
0
0
0
0
0
0
-1
53
70
82
29
32
12
0
0
0
-1
0
0
0
0
0
0
-60
-62
41
-24
13
41
-18
6
-24
20
3
0
0
0
0
0
0
-1
-37
14
0
-63
67
-41
52
4
2
2
0
0
0
0
0
0
3
1
55
-19
119
-30
-75
-93
7
-8
1
0
0
0
0
0
0
0
-38
0
-75
-16
35
18
23
-36
-17
0
0
0
0
0
0
0
0
0
67
4
66
-74
-9
20
-29
-2
0
0
0
0
0
0
0
0
3
-68
83
-8
6
-1
-4
2
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
-23
44
8
45
0
0
0
0
0
0
0
0
0
0
0
-47
89
9
13
42
-10
0
0
0
4
0
0
0
0
0
0
-2
84
77
26
5
13
-47
-9
8
27
-14
0
0
0
0
0
0
2
4
16
29
33
61
-13
14
-2
-33
0
0
0
0
0
0
0
-2
-12
-2
52
0
-60
73
0
42
5
0
0
0
0
0
0
0
0
19
27
0
-17
-8
28
0
20
-3
0
0
0
0
0
0
0
0
-3
0
-86
5
49
49
-1
10
1
0
0
0
0
0
0
0
0
0
-2
-19
30
-2
-6
-1
-1
0
0
0
0
0
0
0
0
0
12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
1
4
5
-10
0
0
0
0
0
0
0
0
0
0
0
22
99
-42
24
30
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
49
20
-8
23
0
0
-2
0
0
0
0
0
0
0
0
-25
-6
28
22
0
3
5
0
-2
0
0
0
0
0
0
0
0
-4
-94
-2
-10
4
79
65
-17
-12
0
0
0
0
0
0
0
0
2
-57
23
0
53
17
8
4
2
0
0
0
0
0
0
0
0
4
-14
0
-20
0
8
-8
-5
0
0
0
0
0
0
0
0
0
-3
0
41
-7
13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
27
-18
28
5
0
0
0
0
0
0
0
0
0
0
0
0
5
30
-4
-98
0
3
0
0
0
2
0
0
0
0
0
0
0
40
-14
95
-2
44
-27
0
-1
3
0
0
0
0
0
0
0
0
3
-8
7
-17
28
29
0
2
-3
1
0
0
0
0
0
0
0
-3
-11
16
0
-20
-1
-3
0
15
0
0
0
0
0
0
0
0
-1
2
21
-1
0
3
0
31
0
0
0
0
0
0
0
0
0
0
52
-16
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
15
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-52
57
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
32
-14
5
21
0
1
2
4
0
0
0
0
0
0
0
0
13
43
13
44
-52
-4
10
1
0
0
0
0
0
0
0
0
0
-20
47
-29
-73
0
-4
0
-6
0
0
0
0
0
0
0
0
0
-2
14
46
-31
17
0
0
0
0
0
0
0
0
0
0
0
0
0
12
16
-16
0
2
0
-6
5
0
0
0
0
0
0
0
0
0
8
8
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
25
3
3
0
0
0
0
0
0
0
0
0
0
0
17
48
-5
-10
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-21
4
-13
-1
0
0
3
0
0
0
0
0
0
0
0
21
-9
19
-27
20
31
-2
0
-5
0
0
0
0
0
0
0
0
15
-18
-51
-7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
21
47
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
4
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-13
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
-13
21
28
-9
-5
-4
0
0
-1
0
0
0
0
0
0
0
0
24
68
-11
49
8
0
1
0
0
0
0
0
0
0
0
0
0
-3
-8
-16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
48
6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
8
3
4
10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
-1
63
-27
-38
17
4
0
0
-1
0
0
0
0
0
0
0
0
16
-32
-12
5
-20
-9
1
2
-10
0
0
0
0
0
0
0
0
0
0
-17
-47
-3
19
-12
0
12
0
0
0
0
0
0
0
0
-6
3
-4
-58
-60
-8
-8
6
-29
0
0
0
0
0
0
0
0
0
7
3
79
0
23
0
2
-25
0
0
0
0
0
0
0
0
0
-1
-32
-6
47
-4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-32
24
40
64
0
0
0
0
0
0
0
0
0
0
0
27
49
15
4
-44
8
0
0
0
0
0
0
0
0
0
0
4
8
-41
6
54
-30
-14
-1
1
47
0
0
0
0
0
0
0
0
-6
-6
-4
-85
-35
-82
-68
-40
35
0
0
0
0
0
0
0
48
58
-30
-53
47
14
84
30
4
36
0
0
0
0
0
0
0
0
84
0
74
-6
48
-62
38
-47
-14
0
0
0
0
0
0
0
0
0
-90
22
33
-29
44
-16
34
-16
0
0
0
0
0
0
0
0
-16
1
75
5
-1
0
-13
-7
2
0
0
0
0
0
0
0
0
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
61
-3
-6
3
10
0
0
0
-3
0
0
0
0
0
0
-1
33
-34
-18
-27
-68
9
0
0
0
-9
0
0
0
0
0
0
0
8
6
44
-8
9
9
-4
0
-9
7
0
0
0
0
0
0
0
48
-4
80
16
4
4
-14
-19
-8
0
0
0
0
0
0
0
0
13
-9
-11
-19
-84
73
30
-4
52
-7
0
0
0
0
0
0
0
0
8
5
-45
-59
10
6
43
-18
0
0
0
0
0
0
0
-5
20
0
18
-31
41
2
-4
29
-2
0
0
0
0
0
0
0
4
0
37
0
5
6
-5
-3
0
0
0
0
0
0
0
0
0
0
8
-4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
41
49
-5
68
2
-7
0
0
0
0
0
0
0
0
0
0
0
23
15
93
58
12
-4
0
0
0
0
-2
0
0
0
0
0
0
21
-1
-42
65
-2
20
0
0
0
2
0
0
0
0
0
0
0
-43
-61
-40
-26
2
0
-2
6
25
0
0
0
0
0
0
0
0
-1
17
13
43
-20
-16
4
-9
-18
0
0
0
0
0
0
0
0
41
1
-5
-3
-4
-9
-19
-14
27
0
0
0
0
0
0
0
0
0
71
0
-9
-4
3
2
2
0
0
0
0
0
0
0
0
0
0
0
-21
0
42
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-10
0
5
0
0
0
0
0
0
0
0
0
0
0
45
23
-23
-4
1
-6
0
0
0
0
0
0
0
0
0
0
5
2
-9
-46
23
7
-1
-2
0
-20
-1
0
0
0
0
0
0
0
14
33
95
23
-6
0
0
-5
0
0
0
0
0
0
0
0
-8
-8
-12
12
20
-30
23
-21
13
0
0
0
0
0
0
0
0
0
3
-6
-2
19
5
8
0
-9
-1
-2
0
0
0
0
0
0
0
0
0
-9
0
4
0
1
1
0
0
0
0
0
0
0
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-34
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-38
16
13
-41
0
-1
25
0
0
0
0
0
0
0
0
13
0
-53
-15
52
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-19
1
4
0
0
0
0
0
0
0
0
0
0
0
14
-2
1
0
23
0
0
1
-8
0
0
0
0
0
0
0
0
0
1
0
8
0
1
0
9
0
0
0
0
0
0
0
0
0
0
5
48
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
64
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
13
5
-3
0
0
0
0
0
0
0
0
0
0
1
7
-1
-17
-15
8
-4
6
0
0
0
0
0
0
0
0
0
7
38
5
-4
0
1
0
0
14
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
8
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
56
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
41
-8
2
0
19
-1
0
2
0
0
0
0
0
0
0
0
0
2
-2
8
30
1
-3
3
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-2
0
1
0
0
4
0
0
0
0
0
0
0
0
-1
-7
3
-5
1
4
2
0
0
0
0
0
0
0
0
0
0
0
9
16
26
4
0
22
0
-15
0
0
0
0
0
0
0
0
-2
0
-97
-3
-9
-1
0
13
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
59
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
-2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
1
0
0
0
0
0
0
0
0
0
0
0
0
1
77
-1
22
1
1
0
0
0
0
0
0
0
0
0
0
0
4
-7
39
3
-51
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
10
71
-8
38
0
-1
-10
0
0
0
0
0
0
0
0
43
0
-8
-5
-10
-26
15
8
12
0
0
0
0
0
0
0
0
2
24
0
2
-4
-2
14
13
-30
0
0
0
0
0
0
0
0
4
0
-17
-16
-17
-9
6
-15
8
0
0
0
0
0
0
0
0
0
8
0
-6
0
-27
1
23
0
0
0
0
0
0
0
0
0
0
0
-31
8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
109
-7
135
3
-9
0
0
0
0
0
0
0
0
0
0
0
57
1
12
-10
-6
-41
0
1
0
0
0
0
0
0
0
0
4
-36
-3
-38
73
52
-44
1
-1
65
0
0
0
0
0
0
0
0
73
68
-4
24
-27
4
-25
18
22
0
0
0
0
0
0
0
-42
46
-68
-32
-27
19
-26
13
42
-76
0
0
0
0
0
0
0
0
12
35
-42
-24
8
-81
29
27
11
0
0
0
0
0
0
0
0
-8
6
-39
42
3
-41
68
-18
-27
0
0
0
0
0
0
0
0
0
8
29
-1
-25
0
-8
1
0
0
0
0
0
0
0
0
0
-2
0
-7
4
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
12
-9
5
4
0
0
0
0
0
0
0
0
0
0
0
-46
-12
-37
39
-2
5
0
0
0
-25
0
0
0
0
0
0
22
-2
76
16
47
16
-65
1
-5
-41
-12
0
0
0
0
0
0
2
3
8
-55
-36
-10
-7
-18
2
-10
2
0
0
0
0
0
0
-27
5
2
23
-24
54
-32
-12
14
-25
6
0
0
0
0
0
0
0
49
-21
112
27
-37
-52
32
-2
43
0
0
0
0
0
0
0
0
0
37
0
23
41
52
32
-15
3
0
0
0
0
0
0
0
0
45
0
26
-5
4
2
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
35
13
28
-8
0
0
0
0
0
0
0
0
0
0
0
38
33
5
103
-7
-27
0
0
4
0
0
0
0
0
0
0
0
22
8
6
12
25
-8
3
4
8
0
0
0
0
0
0
0
0
0
63
-25
24
-49
6
-10
-2
5
0
0
0
0
0
0
0
0
-3
-9
-74
39
-3
-5
-9
-3
0
0
0
0
0
0
0
0
0
0
0
47
0
-9
-41
-1
4
-3
0
0
0
0
0
0
0
0
0
-4
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
24
1
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
-32
-10
45
0
-2
0
0
9
0
0
0
0
0
0
0
0
25
4
18
1
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
40
-6
-9
-8
3
0
0
0
0
0
0
0
0
0
0
-10
0
-25
2
-9
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
45
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-25
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
4
3
5
4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
45
5
62
0
-7
0
0
0
0
0
0
0
0
0
0
0
3
-12
22
6
68
-9
0
0
-2
0
0
0
0
0
0
0
0
0
32
8
82
-60
17
2
0
-4
0
0
0
0
0
0
0
0
46
8
-29
-18
-32
-21
-12
-9
2
0
0
0
0
0
0
0
0
1
5
19
3
-47
-38
1
1
-28
0
0
0
0
0
0
0
0
0
-46
44
-12
-4
-6
-7
-4
3
0
0
0
0
0
0
0
0
0
0
-9
-43
-1
-11
0
17
0
0
0
0
0
0
0
0
0
0
1
-25
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
9
4
0
0
0
0
0
0
0
0
0
0
0
0
21
1
93
5
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
-18
-9
-11
7
-3
-1
0
4
1
0
0
0
0
0
0
0
-10
-21
49
-8
-24
-1
-27
0
-13
0
0
0
0
0
0
0
0
0
-16
-7
-74
-5
8
22
3
5
0
0
0
0
0
0
0
0
0
0
8
3
65
5
0
3
3
0
0
0
0
0
0
0
0
0
0
0
-6
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-28
0
-9
-1
0
0
0
0
0
0
0
0
0
0
17
0
20
7
12
5
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-18
0
-5
-8
-13
-5
0
0
0
0
0
0
0
0
0
-5
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
1
1
-8
-15
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-1
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
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
0
0
0
0
0
0
8
-17
-5
7
-8
0
-3
0
0
0
0
0
0
0
0
-16
12
-1
1
19
4
-20
-6
30
0
0
0
0
0
0
0
0
17
0
3
0
3
-48
-54
16
0
0
0
0
0
0
0
0
0
2
0
1
-12
25
-4
4
-7
29
0
0
0
0
0
0
0
0
-8
0
0
0
-4
13
2
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-36
-2
11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
9
2
0
10
0
0
0
0
0
0
0
0
0
3
-1
-5
0
36
-19
0
27
0
0
0
0
0
0
0
0
-4
0
1
-8
24
-18
-23
-19
5
0
0
0
0
0
0
0
0
-1
0
0
-2
20
24
23
-9
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
25
14
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
-19
-30
-36
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
-25
-12
1
0
0
0
0
0
0
0
0
1
0
0
0
-5
4
1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
4
0
0
0
0
0
0
0
0
5
-8
0
-4
-1
17
1
4
0
-1
0
0
0
0
0
0
0
0
0
4
3
-7
2
8
-18
-1
0
0
0
0
0
0
0
0
-1
0
0
2
0
3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
-1
0
0
0
0
0
0
0
0
-1
1
3
0
4
-6
-10
-9
-2
0
0
0
0
0
0
0
0
0
8
-1
3
-8
-1
16
-9
3
0
0
0
0
0
0
0
0
0
0
6
0
-8
-1
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
-8
5
-38
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
10
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
-2
-1
-8
9
0
0
0
0
0
0
0
0
0
12
0
4
-12
5
5
3
-13
36
0
0
0
0
0
0
0
0
-4
0
0
5
-19
14
-46
29
6
0
0
0
0
0
0
0
0
-2
0
0
-1
-2
-1
-5
-40
-1
0
0
0
0
0
0
0
0
-2
0
0
0
15
-1
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-16
30
34
1
3
0
13
0
0
0
0
0
0
0
-1
3
-1
55
9
58
-15
-60
13
15
0
0
0
0
0
0
0
0
10
-6
0
-4
73
33
53
10
4
0
0
0
0
0
0
0
0
10
-1
-8
-14
3
6
-12
-2
18
0
0
0
0
0
0
0
0
38
0
4
4
-1
-3
-6
19
-2
0
0
0
0
0
0
0
0
-6
1
0
-3
-24
5
1
-5
12
0
0
0
0
0
0
0
0
0
0
1
-4
0
-10
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
2
-2
-16
16
-17
0
-12
5
0
0
0
0
0
0
2
17
0
38
27
67
55
-13
-8
23
0
0
0
0
0
0
0
0
0
-3
1
0
-30
49
71
14
-8
0
0
0
0
0
0
0
0
0
-4
-1
0
1
2
12
8
-5
-1
0
0
0
0
0
0
0
-8
0
0
0
-1
21
30
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
-26
10
1
1
0
0
0
0
0
0
0
0
0
0
4
-6
3
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
70
7
-1
-4
0
-16
-2
0
0
0
0
0
0
0
-1
-8
0
-6
5
48
-22
-32
1
7
0
0
0
0
0
0
0
1
0
4
-3
30
-36
13
-18
-14
-1
0
0
0
0
0
0
0
0
-4
-3
-5
-2
8
-31
-34
3
0
0
0
0
0
0
0
0
-8
0
1
1
-4
3
-8
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
0
-4
-2
-6
0
-6
0
0
0
0
0
0
0
6
0
-4
-5
-1
13
-20
-17
12
16
-2
1
0
0
0
0
0
0
0
0
1
7
14
7
8
53
-1
0
0
0
0
0
0
0
0
-1
0
1
0
-2
1
33
-6
14
0
0
0
0
0
0
0
0
0
0
0
-2
-5
3
-6
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-4
10
7
8
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-8
2
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
10
6
-17
0
3
-2
0
0
0
0
0
0
0
5
0
-5
8
-8
20
-14
71
8
-4
0
0
0
0
0
0
-2
-1
-17
38
-2
-12
-2
-46
6
-2
0
0
0
0
0
0
0
0
2
0
-1
0
-27
6
-23
10
8
0
0
0
0
0
0
0
0
1
1
2
0
0
10
3
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
-6
4
6
0
-10
0
0
0
0
0
0
0
0
0
3
-1
16
19
15
1
65
5
-1
0
0
0
0
0
0
0
1
5
-5
5
9
15
-18
-48
-2
0
0
0
0
0
0
0
0
2
0
2
0
-25
41
30
2
48
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-2
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
27
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
-5
1
0
0
0
0
0
0
0
0
1
-8
-8
-3
-9
0
38
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
7
-41
0
1
-1
0
0
0
0
0
0
0
0
2
0
-1
-1
-1
-1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
6
1
0
0
-1
0
0
0
0
0
0
-1
0
0
2
-4
42
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
14
28
25
1
0
0
0
0
0
0
0
0
0
-2
0
-5
-17
29
-1
30
-41
-38
0
0
0
0
0
0
0
0
0
0
0
1
-5
10
53
4
-4
0
0
0
0
0
0
0
0
-3
0
2
1
0
0
-2
4
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
-8
-16
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
56
41
-29
13
0
-20
0
0
0
0
0
0
0
-8
10
-1
-7
-42
-12
34
-29
21
7
0
0
0
0
0
0
0
0
-2
-4
29
2
-36
0
21
-17
0
0
0
0
0
0
0
0
0
23
16
4
8
8
-6
39
17
9
0
0
0
0
0
0
0
0
6
0
4
-3
-8
-25
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-58
-11
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
-4
27
36
0
-1
-1
0
0
0
0
0
0
0
-5
-1
-2
25
54
-31
29
-6
-3
-9
0
0
0
0
0
0
0
8
0
1
-19
-8
6
-22
-48
31
-3
0
0
0
0
0
0
-1
0
0
-3
-13
-52
12
-10
42
-7
-1
0
0
0
0
0
0
0
0
0
-1
0
0
6
13
5
4
0
0
0
0
0
0
0
0
0
0
1
0
20
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
6
0
-8
-1
0
0
0
0
0
0
-2
0
9
4
-10
-18
-1
-5
9
-41
-2
0
0
0
0
0
0
0
0
-5
0
0
-12
-7
26
82
4
0
0
0
0
0
0
0
0
3
6
-2
16
-5
5
-5
13
-12
0
0
0
0
0
0
0
0
1
0
0
4
0
25
24
11
8
0
0
0
0
0
0
0
0
0
0
0
0
1
1
52
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
-1
3
0
-8
0
0
0
0
0
0
0
0
3
0
0
0
29
-14
-5
-31
-4
-1
0
0
0
0
0
0
0
-1
-4
-1
0
-6
23
25
42
-2
0
0
0
0
0
0
0
0
0
-1
0
2
-10
7
8
-4
-1
-1
0
0
0
0
0
0
0
-4
0
0
0
9
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-32
8
0
31
0
0
0
0
0
0
0
2
0
0
3
0
-8
-8
21
41
31
0
0
0
0
0
0
0
0
8
0
2
25
0
7
-24
75
-20
0
0
0
0
0
0
0
0
0
0
1
12
33
-14
7
3
-8
0
0
0
0
0
0
0
0
0
2
0
-1
-2
-12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
-5
1
-1
-1
-1
11
29
7
0
0
0
0
0
0
0
0
0
-25
-1
0
-5
-1
22
-9
-8
0
0
0
0
0
0
0
0
15
3
0
1
-9
48
6
9
7
0
0
0
0
0
0
0
0
6
-4
0
0
-1
8
-8
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
16
0
1
0
0
0
0
0
0
0
0
1
0
5
-16
4
5
-13
4
1
0
0
0
0
0
0
0
0
0
0
1
-27
-1
50
0
-22
-8
0
0
0
0
0
0
0
0
0
0
23
-3
15
17
-2
16
5
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
-19
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
3
2
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
25
0
25
0
0
0
0
0
0
0
0
0
0
-2
3
-8
-48
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
30
53
0
0
0
0
0
0
0
0
0
0
0
0
-19
8
7
-1
-9
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
6
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
0
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
43
47
-42
4
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
70
48
-35
-14
-17
0
0
0
0
0
0
0
0
-2
-2
-1
-22
1
-8
23
22
-45
0
0
0
0
0
0
0
0
0
0
-12
5
2
-31
9
-46
0
0
0
0
0
0
0
0
0
-5
0
0
-7
22
-5
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
-1
4
68
6
0
-28
0
0
0
0
0
0
0
0
20
1
-18
25
24
60
75
-29
84
0
0
0
0
0
0
0
2
8
19
0
-2
-11
-13
47
35
-5
0
0
0
0
0
0
0
0
0
32
25
84
2
33
-3
-88
-5
0
0
0
0
0
0
0
-2
-25
-2
6
5
-1
40
90
17
0
0
0
0
0
0
0
0
0
-3
4
-10
0
3
10
-6
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
47
-36
0
-20
0
0
0
0
0
0
0
0
15
6
0
-3
71
47
17
37
-8
3
0
0
0
0
0
0
0
3
0
5
-13
-20
13
76
54
-22
0
0
0
0
0
0
0
0
8
0
24
13
29
-12
199
-7
-7
2
0
0
0
0
0
0
0
0
-4
-4
-10
19
47
33
26
0
0
0
0
0
0
0
0
0
23
-3
-2
-1
0
-8
62
-12
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
-54
8
0
-51
-3
0
0
0
0
0
0
0
-2
0
2
-27
30
19
65
71
-6
2
0
0
0
0
0
0
0
14
0
1
-10
-30
29
-11
-2
1
0
0
0
0
0
0
0
0
-3
8
0
3
17
23
16
25
13
1
0
0
0
0
0
0
0
0
0
0
-4
-5
62
25
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
43
-12
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-13
1
0
-5
-1
0
0
0
0
0
0
0
0
0
3
1
29
18
58
-11
5
-8
0
0
0
0
0
0
0
-4
1
-18
-3
-26
-57
27
71
32
0
0
0
0
0
0
0
0
0
-3
4
0
6
-23
-43
-8
25
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
-34
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-17
1
-3
1
0
0
0
0
0
0
0
0
0
0
1
8
0
0
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
25
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
12
1
-3
-11
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
-7
-2
9
-2
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-2
14
7
21
0
0
0
0
0
0
0
0
0
0
6
4
-12
-3
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
1
5
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
-15
17
0
1
-2
0
0
0
0
0
0
0
0
0
4
-16
-4
-5
-9
33
-4
0
0
0
0
0
0
0
0
0
1
6
0
4
-37
-44
-39
9
0
0
0
0
0
0
0
0
0
-7
-1
-1
5
0
4
56
-9
0
0
0
0
0
0
0
0
0
-8
-3
2
2
-45
2
9
-2
0
0
0
0
0
0
0
0
3
6
0
0
5
-12
28
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
-10
1
4
0
14
0
0
0
0
0
0
0
0
4
-2
0
0
0
-3
33
-27
-5
0
0
0
0
0
0
0
0
-13
1
0
1
-34
-4
70
-4
-12
0
0
0
0
0
0
0
0
0
0
0
2
-34
-7
0
9
-32
0
0
0
0
0
0
0
0
0
0
2
-20
-5
-6
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-15
6
0
0
0
0
0
0
0
0
1
0
0
2
0
0
2
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
-8
-1
-1
0
0
0
0
0
0
0
0
-13
0
-2
0
0
-23
-14
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
5
-6
1
-9
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
16
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
4
4
-21
0
0
0
0
0
0
0
0
0
-3
-2
0
8
42
20
-10
23
-18
0
0
0
0
0
0
0
0
10
-1
55
-17
88
99
-3
7
11
0
0
0
0
0
0
0
0
7
0
-17
-1
-10
47
-31
-10
-1
0
0
0
0
0
0
0
0
0
-2
-3
14
15
0
-42
7
1
0
0
0
0
0
0
0
0
3
0
0
-14
10
-20
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
66
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
5
49
-57
0
2
0
0
0
0
0
0
0
2
-20
0
-5
9
74
-5
45
-18
12
0
0
0
0
0
0
0
-2
-26
-2
-30
54
-50
0
-9
-9
-25
0
0
0
0
0
0
0
1
3
-8
13
-11
4
-18
-25
-14
81
0
0
0
0
0
0
0
4
0
6
48
-43
42
53
51
16
-20
0
0
0
0
0
0
0
0
-42
-6
15
-34
55
-14
40
4
0
0
0
0
0
0
0
0
0
1
-2
0
53
-10
47
-1
-6
0
0
0
0
0
0
0
0
0
0
-1
4
0
5
47
8
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
-2
20
-40
-40
0
24
-8
0
0
0
0
0
0
0
-2
-1
-3
-4
10
93
-28
84
1
15
0
0
0
0
0
0
0
-3
10
8
13
-7
51
54
-59
-10
-14
0
0
0
0
0
0
0
4
-8
24
-48
14
-9
19
109
121
5
0
0
0
0
0
0
1
2
0
-1
41
16
97
-14
-4
9
0
0
0
0
0
0
0
0
0
13
6
3
6
-22
41
9
0
0
0
0
0
0
0
0
0
0
0
2
3
21
-5
-3
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
9
-7
0
7
3
0
0
0
0
0
0
0
1
7
4
-17
33
23
-52
-10
49
9
0
0
0
0
0
0
0
0
0
0
4
-7
11
-4
113
25
6
0
0
0
0
0
0
0
-1
0
0
-13
3
4
55
-12
-27
0
0
0
0
0
0
0
1
6
19
0
22
9
23
-5
30
2
0
0
0
0
0
0
0
0
-1
0
2
-5
-7
15
28
5
16
0
0
0
0
0
0
0
0
0
0
0
-8
1
133
0
52
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
3
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
1
0
24
-41
0
8
0
0
0
0
0
0
0
0
0
0
0
1
-13
-25
-4
-7
-19
9
0
0
0
0
0
0
0
0
0
1
-2
-24
-16
7
30
18
0
0
0
0
0
0
0
0
0
0
0
-2
7
-9
9
-20
5
0
0
0
0
0
0
0
0
0
0
-2
0
-6
18
45
13
-1
0
0
0
0
0
0
0
0
0
1
0
1
14
-4
6
-1
41
0
0
0
0
0
0
0
0
0
0
0
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-26
-1
0
-1
8
0
0
0
0
0
0
0
0
0
0
12
73
-6
44
1
2
-7
0
0
0
0
0
0
0
0
0
0
8
-12
8
16
-32
3
0
0
0
0
0
0
0
0
-9
0
0
-6
-17
-4
55
15
-19
0
0
0
0
0
0
0
-4
18
4
0
2
0
-2
-8
13
0
0
0
0
0
0
0
0
0
0
0
3
-1
17
-17
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
6
-14
-12
-1
7
0
0
0
0
0
0
0
0
0
0
2
8
0
3
0
12
0
0
0
0
0
0
0
0
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
30
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-13
-54
93
26
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
41
-44
-19
6
0
0
0
0
0
0
0
0
0
1
0
-1
-42
1
13
-6
14
0
0
0
0
0
0
0
0
7
0
0
4
-3
0
0
17
0
0
0
0
0
0
0
0
0
5
7
13
8
9
-2
12
24
-3
0
0
0
0
0
0
0
0
0
0
0
-2
6
14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-18
0
4
0
0
0
0
0
0
0
0
0
0
8
-3
9
-41
-12
-54
0
0
0
0
0
0
0
0
0
0
1
0
1
17
8
36
5
0
0
0
0
0
0
0
0
0
0
0
0
8
-24
0
-5
25
32
0
0
0
0
0
0
0
0
3
0
0
0
0
31
0
-5
0
0
0
0
0
0
0
0
0
0
0
4
-4
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
19
-7
26
47
52
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
-12
2
5
0
0
0
0
0
0
0
0
3
0
0
19
29
20
-6
4
20
0
0
0
0
0
0
0
0
3
0
-8
-6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
9
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
9
-9
15
41
24
0
0
0
0
0
0
0
0
0
-25
0
0
-7
19
-59
-14
16
76
0
0
0
0
0
0
0
0
4
0
0
-4
7
-27
57
5
8
0
0
0
0
0
0
0
0
5
0
5
40
-7
5
48
72
-13
0
0
0
0
0
0
0
0
-4
0
-1
25
-27
4
-49
0
20
0
0
0
0
0
0
0
0
0
2
1
84
-29
4
-1
58
0
0
0
0
0
0
0
0
0
-7
8
3
0
39
1
48
19
27
0
0
0
0
0
0
0
0
0
0
0
9
3
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-38
26
0
0
-42
0
0
0
0
0
0
0
-4
13
-5
5
-44
-33
110
33
-18
-39
0
0
0
0
0
0
0
6
74
-8
-14
33
44
6
64
7
94
0
0
0
0
0
0
0
-2
7
8
15
-28
12
13
18
-95
-4
0
0
0
0
0
0
0
2
14
41
31
40
56
40
9
-5
14
0
0
0
0
0
0
0
0
0
-6
-45
49
15
40
50
-49
-20
0
0
0
0
0
0
0
1
0
5
-1
35
-6
49
5
-82
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
15
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
20
6
28
0
19
-6
0
0
0
0
0
0
1
-1
2
-4
-10
92
36
-20
-43
74
-46
0
0
0
0
0
0
0
-6
-2
-3
21
73
16
95
-2
-6
-3
0
0
0
0
0
0
-1
0
0
6
-20
45
-14
-23
21
7
1
0
0
0
0
0
0
0
-7
-13
23
-29
36
-45
21
53
71
0
0
0
0
0
0
0
8
-29
0
18
-41
19
47
-58
-2
77
0
0
0
0
0
0
0
0
2
-20
0
92
-40
37
45
59
-3
0
0
0
0
0
0
0
0
0
0
0
0
44
25
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
48
-34
8
0
10
0
-1
0
0
0
0
0
0
2
0
0
21
26
13
11
39
1
-45
0
0
0
0
0
0
0
5
0
-1
-27
-5
60
-58
-14
43
0
0
0
0
0
0
0
0
4
-3
3
17
25
64
33
20
-39
0
0
0
0
0
0
0
0
-13
1
-13
2
5
89
79
-1
1
1
0
0
0
0
0
0
0
0
2
0
25
-18
56
-24
29
8
2
0
0
0
0
0
0
0
23
5
-4
32
-6
-22
22
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
15
0
-10
-1
0
0
0
0
0
0
0
0
0
0
-3
-52
-20
-41
-10
-12
-15
0
0
0
0
0
0
0
0
0
-1
6
-29
22
21
16
-9
0
0
0
0
0
0
0
0
0
0
0
-5
16
37
-28
-5
-4
0
0
0
0
0
0
0
0
0
0
4
-4
-42
24
4
-11
0
0
0
0
0
0
0
0
0
32
31
-7
0
53
-22
130
12
0
0
0
0
0
0
0
0
-2
0
0
0
6
1
17
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
14
-21
0
67
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
25
44
-14
2
0
0
0
0
0
0
0
0
0
0
8
1
5
-19
13
-5
-7
0
0
0
0
0
0
0
2
8
5
5
-1
-1
15
5
51
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
-13
-14
6
-1
0
0
0
0
0
0
0
-1
0
-6
0
0
-6
13
0
-5
3
0
0
0
0
0
0
0
0
-10
-12
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-12
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
-8
4
25
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-41
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
68
-3
-28
0
0
0
0
0
0
0
0
-6
-1
0
-3
0
30
1
55
0
0
0
0
0
0
0
0
0
0
19
0
0
4
0
7
-3
2
0
0
0
0
0
0
0
0
0
0
-1
3
0
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
45
39
4
0
0
0
0
0
0
0
0
0
0
0
3
29
-10
-2
-1
12
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
31
13
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
-30
-10
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
4
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
-4
29
-12
-32
-2
0
0
0
0
0
0
0
0
-1
0
0
0
6
-24
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
-1
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
-2
16
0
0
0
0
0
0
0
0
0
0
23
0
0
2
14
-95
8
-5
-13
0
0
0
0
0
0
0
0
1
0
0
-1
-5
1
114
-20
13
0
0
0
0
0
0
0
0
-6
0
-3
25
1
1
3
20
14
0
0
0
0
0
0
0
0
0
-8
1
-6
-8
-8
39
0
65
0
0
0
0
0
0
0
0
9
1
-6
5
8
12
-5
34
-3
0
0
0
0
0
0
0
0
0
0
-2
2
-36
0
-57
4
-6
0
0
0
0
0
0
0
0
0
-1
1
13
4
-2
-1
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
2
28
44
24
0
-9
0
0
0
0
0
0
0
0
-12
-1
-2
55
-82
73
-100
-30
49
0
0
0
0
0
0
0
0
20
2
-3
20
40
73
13
-111
-8
0
0
0
0
0
0
0
-3
-9
17
-9
12
28
-31
8
46
0
0
0
0
0
0
0
0
0
6
-24
4
-139
53
-27
-4
67
1
0
0
0
0
0
0
0
6
30
-22
10
-4
7
45
45
12
69
0
0
0
0
0
0
0
-3
0
25
26
56
45
60
-46
-40
-10
0
0
0
0
0
0
0
0
0
-13
17
1
102
-41
-4
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
0
0
0
0
4
-10
5
3
-11
106
0
9
6
0
0
0
0
0
0
-2
-3
-5
-2
-19
18
1
-70
-18
57
3
0
0
0
0
0
0
0
18
2
-1
2
-49
-16
-32
-36
45
-1
0
0
0
0
0
0
0
3
2
32
5
9
25
2
-7
-51
2
0
0
0
0
0
0
0
-3
0
20
2
51
-107
-6
3
9
0
0
0
0
0
0
0
-5
10
0
43
48
15
7
1
38
20
-3
0
0
0
0
0
0
2
11
0
-22
4
-52
-10
-14
7
5
0
0
0
0
0
0
0
0
0
0
3
0
0
44
-39
9
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-33
-22
0
48
0
0
0
0
0
0
0
0
2
0
-1
30
-12
19
-42
44
-5
-10
0
0
0
0
0
0
0
0
0
-2
0
-41
-22
-24
37
0
0
0
0
0
0
0
0
0
-8
0
0
10
-22
-2
94
58
-11
0
0
0
0
0
0
0
0
4
0
44
24
4
28
-14
15
19
0
0
0
0
0
0
0
0
-2
5
19
7
10
72
-9
-2
5
0
0
0
0
0
0
0
0
-3
-16
0
-28
-1
-40
2
23
-3
0
0
0
0
0
0
0
0
5
0
0
0
-7
1
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
1
0
26
-1
0
0
0
0
0
0
0
0
0
0
0
8
25
-42
38
5
-17
0
0
0
0
0
0
0
0
0
0
5
-3
32
-4
30
-24
1
0
0
0
0
0
0
0
-4
0
0
-3
3
-10
93
-14
53
1
0
0
0
0
0
0
0
0
0
0
-3
-3
19
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-2
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
-31
-20
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
-40
0
0
0
0
0
0
0
0
0
0
-2
0
0
17
4
20
8
-54
0
0
0
0
0
0
0
0
0
0
0
2
8
4
8
90
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
11
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
38
3
18
0
0
0
0
0
0
0
0
0
0
1
0
0
36
-7
-15
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
29
2
5
0
0
0
0
0
0
0
0
33
-1
2
-4
6
-2
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-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
7
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
-4
-6
-22
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-6
2
-1
0
0
0
0
0
0
0
0
1
0
0
-1
0
17
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
-4
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
28
0
-4
0
0
0
0
0
0
0
0
-9
0
0
0
-2
-8
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
-15
0
0
0
0
0
0
0
0
0
-8
0
0
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
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
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
5
25
0
0
0
0
0
0
0
0
-8
0
0
0
68
8
-56
-12
-19
0
0
0
0
0
0
0
0
1
-1
-1
23
-17
-57
10
-26
-3
0
0
0
0
0
0
0
0
17
-1
0
-5
-65
32
18
-3
-32
0
0
0
0
0
0
0
0
18
7
-5
-25
-7
-6
-7
15
-6
0
0
0
0
0
0
0
0
0
7
-29
-6
79
-8
-18
3
10
0
0
0
0
0
0
0
0
0
0
0
-74
6
39
-2
17
0
0
0
0
0
0
0
0
0
-3
-1
0
0
25
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
-5
5
-12
-13
-71
24
0
1
0
0
0
0
0
0
0
0
25
3
3
26
26
-28
-38
26
-29
0
0
0
0
0
0
0
0
-48
0
0
51
-7
1
-37
-85
9
0
0
0
0
0
0
0
0
2
0
-47
-5
-4
67
-28
5
0
0
0
0
0
0
0
0
0
31
1
-14
-49
22
10
-31
-34
-41
0
0
0
0
0
0
0
2
-20
-24
25
22
51
-6
22
7
17
0
0
0
0
0
0
0
-2
1
19
24
53
40
-67
-8
64
0
0
0
0
0
0
0
0
0
0
3
17
-11
61
-31
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
0
-17
0
0
0
0
0
0
0
0
0
-3
0
-4
11
34
-47
11
-5
-23
0
0
0
0
0
0
0
0
3
0
10
41
16
-15
-12
0
1
0
0
0
0
0
0
0
2
0
-1
31
-7
-24
92
65
54
-6
0
0
0
0
0
0
0
0
3
-7
17
5
-34
32
58
-5
8
0
0
0
0
0
0
0
14
27
30
41
-44
-8
-37
3
5
0
0
0
0
0
0
0
0
0
-2
0
50
-19
64
1
3
1
0
0
0
0
0
0
0
0
0
0
15
-3
32
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
29
0
0
0
0
0
0
0
0
0
-1
0
0
32
-7
-2
-27
6
7
0
0
0
0
0
0
0
0
0
0
-1
6
-44
-10
10
36
0
0
0
0
0
0
0
0
-3
0
0
0
4
10
-103
-21
-54
0
0
0
0
0
0
0
0
-3
0
-2
5
0
-2
4
2
4
0
0
0
0
0
0
0
0
0
-2
0
5
-2
32
-12
7
7
0
0
0
0
0
0
0
0
0
2
14
-25
-10
25
-2
1
0
0
0
0
0
0
0
0
0
-2
-3
0
4
21
-6
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
22
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
4
-1
0
0
0
0
0
0
0
0
0
1
-2
-7
16
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
2
18
6
0
0
0
0
0
0
0
0
0
-2
0
6
5
0
-9
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-46
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-56
24
-10
0
0
0
0
0
0
0
0
6
0
0
9
0
43
-13
7
-10
0
0
0
0
0
0
0
0
3
2
1
0
14
-7
15
7
-38
0
0
0
0
0
0
0
0
24
9
-21
16
-2
21
3
50
0
0
0
0
0
0
0
0
0
-5
0
0
7
18
21
-56
-6
6
0
0
0
0
0
0
0
0
0
0
25
45
-5
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
21
17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-44
-22
2
1
0
0
0
0
0
0
0
0
0
0
-6
1
-6
4
23
19
2
0
0
0
0
0
0
0
-2
0
-1
0
0
4
-2
0
-9
0
0
0
0
0
0
0
0
0
0
2
-25
-2
26
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-4
-3
-3
-17
-7
0
0
0
0
0
0
0
0
0
-8
0
24
8
3
0
-41
-17
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-45
8
48
-4
0
0
0
0
0
0
0
0
0
0
0
0
-10
-35
-49
-31
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-58
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-33
-4
-16
10
0
0
0
0
0
0
0
0
0
0
0
65
-28
55
-75
29
69
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-78
-30
-96
55
-33
-54
24
0
0
0
0
0
0
0
0
-41
-7
-124
-49
-18
-11
20
46
-10
0
0
0
0
0
0
0
0
-19
-31
-16
73
-49
48
-51
-40
-7
0
0
0
0
0
0
0
0
-1
0
-4
74
21
4
-101
-84
-63
0
0
0
0
0
0
0
0
0
0
22
15
14
-91
-63
-7
50
0
0
0
0
0
0
0
0
0
0
5
33
-7
77
60
-100
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
0
0
0
0
0
0
13
-60
39
16
0
0
0
0
0
0
0
0
0
0
0
-5
-40
-58
17
-26
-76
0
0
0
6
0
0
0
0
0
0
0
-38
3
-9
-23
81
37
-84
-5
49
7
0
0
0
0
0
0
0
-25
-21
12
-86
-40
-43
-12
-48
-45
10
0
0
0
0
0
0
0
-1
-63
-54
18
-13
25
53
-15
48
-41
0
0
0
0
0
0
0
-41
28
16
30
-2
-26
-155
-54
-43
-2
0
0
0
0
0
0
0
0
-11
94
-3
30
-27
-38
65
-60
8
0
0
0
0
0
0
0
0
-3
-64
58
-4
56
-2
-62
-87
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
4
8
0
0
0
-1
0
0
0
0
0
0
0
0
-20
1
30
10
-1
0
0
0
8
-1
0
0
0
0
0
0
0
-25
1
0
-31
-4
-10
-63
50
10
0
0
0
0
0
0
0
-6
0
-69
51
47
-22
-3
2
10
-13
0
0
0
0
0
0
0
0
1
-2
-9
-4
-28
12
-51
-16
-8
0
0
0
0
0
0
0
0
0
-14
-56
64
-33
-58
30
-39
27
0
0
0
0
0
0
0
0
0
-1
8
-20
-19
-115
-6
-34
-7
0
0
0
0
0
0
0
0
0
4
14
8
-11
-74
14
-26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
-10
0
-6
-23
0
0
0
0
0
0
0
0
0
0
0
-16
-40
22
-5
-48
2
0
0
0
-3
-2
0
0
0
0
0
0
0
-6
-11
-30
7
10
-53
24
-131
0
0
0
0
0
0
0
0
0
4
67
-44
-7
-1
-57
-9
-60
0
0
0
0
0
0
0
0
0
25
0
-73
-50
25
0
-19
-92
-3
0
0
0
0
0
0
0
0
0
-4
53
-78
41
128
-46
-61
-2
0
0
0
0
0
0
0
0
5
-1
15
5
-21
-80
35
-75
-15
0
0
0
0
0
0
0
0
0
-8
-13
-4
2
-54
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
14
3
-2
9
0
0
0
3
0
0
0
0
0
0
0
0
4
1
1
0
0
14
-10
-16
1
0
0
0
0
0
0
0
0
0
0
22
-4
-17
-41
-13
49
2
0
0
0
0
0
0
0
0
0
-4
8
8
7
3
-6
-18
-3
0
0
0
0
0
0
0
0
0
1
0
5
-48
26
-6
-83
-2
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
40
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-17
8
-1
0
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
-4
0
-2
9
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
7
9
2
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
34
13
5
2
0
0
0
0
0
0
0
0
0
0
0
2
-40
-2
-19
24
6
0
0
0
0
0
0
0
0
0
0
0
0
62
-25
37
10
37
6
-82
0
0
0
0
0
0
0
0
0
2
-6
-36
-35
-90
9
-28
-69
0
0
0
0
0
0
0
0
0
0
12
-20
14
-34
-93
42
-67
0
0
0
0
0
0
0
0
0
0
0
1
32
0
-33
-47
48
0
0
0
0
0
0
0
0
0
0
0
-4
-3
49
38
33
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-51
0
0
0
0
0
0
0
0
2
26
-79
52
-32
-102
15
0
0
0
0
0
0
0
0
0
0
-12
-3
-55
-57
1
-92
6
0
0
0
0
0
0
0
0
0
0
5
25
60
-46
83
-37
7
54
43
24
0
0
0
0
0
0
0
0
33
10
1
26
3
40
9
11
20
0
0
0
0
0
0
0
0
-5
31
-37
-24
115
-52
-74
-18
24
0
0
0
0
0
0
0
0
-5
-25
-4
-16
-83
-82
-44
-56
-93
0
0
0
0
0
0
0
0
0
13
-2
36
87
46
3
-77
20
0
0
0
0
0
0
0
0
0
0
0
13
8
-21
21
-17
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-82
-1
0
0
0
0
0
0
0
0
0
7
10
38
-61
8
0
0
0
6
0
0
0
0
0
0
0
-7
11
-21
-70
-72
-105
0
0
0
-4
0
0
0
0
0
0
0
0
33
-18
-62
-1
5
-58
-5
-131
-4
0
0
0
0
0
0
0
0
-8
-26
25
65
-14
102
-14
19
-5
0
0
0
0
0
0
0
-6
-32
51
-74
-66
0
-92
24
4
2
0
0
0
0
0
0
0
-5
-33
-20
-54
16
-64
-31
-31
24
-36
0
0
0
0
0
0
0
0
-12
11
76
-58
-59
-85
-30
-44
8
0
0
0
0
0
0
0
0
0
5
52
-113
29
4
6
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-4
-30
0
0
0
0
0
0
0
0
0
-3
-39
-48
4
44
0
0
0
4
0
0
0
0
0
0
0
1
-14
61
33
-52
-15
0
0
0
88
-1
0
0
0
0
0
0
-30
-41
44
-43
-34
27
47
-53
-15
-58
-2
0
0
0
0
0
0
-10
-7
-60
-7
-4
-32
-14
-68
47
-5
0
0
0
0
0
0
0
-5
14
9
-100
24
92
5
-88
-50
4
-4
0
0
0
0
0
0
0
29
-2
-10
-1
10
-48
-31
107
3
-3
0
0
0
0
0
0
0
0
5
7
-24
78
-84
-88
-68
23
0
0
0
0
0
0
0
0
0
0
1
4
2
-41
-60
-14
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
-15
10
1
0
0
0
0
0
0
0
0
5
6
23
16
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-52
78
-2
-28
0
0
0
-7
5
0
0
0
0
0
0
5
-7
16
84
74
66
-35
-5
-16
-2
-4
0
0
0
0
0
0
0
24
7
49
4
48
-82
-46
-13
-1
-1
0
0
0
0
0
0
0
18
-83
26
-7
-42
-54
22
-24
5
-1
0
0
0
0
0
0
0
0
-2
-69
-1
19
-85
71
-69
3
-1
0
0
0
0
0
0
0
0
0
3
24
67
36
-132
-37
-13
-3
0
0
0
0
0
0
0
0
0
0
0
1
-9
29
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
-1
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-7
4
-30
0
0
0
-16
0
0
0
0
0
0
0
0
-7
-24
-10
-25
1
12
-58
23
-4
0
0
0
0
0
0
0
0
1
-2
31
-9
-82
0
-20
-1
13
0
0
0
0
0
0
0
0
0
2
-13
-3
6
-40
13
-124
-7
0
0
0
0
0
0
0
0
0
-8
-18
1
22
-12
36
-46
0
0
0
0
0
0
0
0
0
0
1
-2
16
2
9
7
-47
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
0
-9
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-2
5
5
0
0
0
0
0
0
0
0
0
1
-1
7
10
-18
22
14
0
0
0
0
0
0
0
0
0
0
0
5
2
8
-3
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
-50
5
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-1
18
35
-30
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-2
65
-136
53
-13
-8
25
-82
0
0
0
0
0
0
0
0
0
0
2
-43
29
31
33
16
-185
0
0
0
0
0
0
0
0
0
-6
2
2
-8
-14
4
33
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-18
-32
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-6
-42
-83
-21
56
48
-34
0
0
0
0
0
0
0
0
0
0
-1
-59
-33
-50
-57
-54
-54
0
0
0
0
0
0
0
0
0
0
0
0
53
76
-46
18
-65
-5
53
-16
0
0
0
0
0
0
0
-1
-6
38
4
-39
-46
-24
-37
-37
58
0
0
0
0
0
0
0
0
-29
-59
106
-3
88
-54
-99
-21
-7
0
0
0
0
0
0
0
-3
-2
-51
-1
12
48
58
-51
-22
-55
0
0
0
0
0
0
0
0
0
-2
-41
-6
9
-40
-2
101
55
0
0
0
0
0
0
0
0
0
0
1
-8
74
-12
-55
-72
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-7
0
0
0
0
0
0
0
0
-13
12
28
-21
-31
13
0
0
0
-2
0
0
0
0
0
0
0
7
-47
-27
-33
5
10
0
0
0
0
0
0
0
0
0
0
0
-2
-14
32
-4
-26
25
-8
-15
-22
1
0
0
0
0
0
0
0
-7
30
12
-10
8
7
48
1
-83
-24
0
0
0
0
0
0
0
-2
-24
-11
-76
-47
-52
-44
37
74
-4
0
0
0
0
0
0
0
0
3
42
-26
-74
31
-77
-20
-10
-1
0
0
0
0
0
0
0
0
0
-11
-1
7
-36
-57
-110
-106
25
0
0
0
0
0
0
0
0
0
-2
13
22
20
-26
-68
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
0
0
0
-19
-31
-86
5
19
0
0
0
3
-1
0
0
0
0
0
0
-8
-18
-33
-53
-39
-8
0
0
0
15
-9
0
0
0
0
0
0
8
-5
-7
-14
50
20
-49
23
-46
19
0
0
0
0
0
0
0
-6
41
32
27
18
-32
7
-96
-34
8
0
0
0
0
0
0
0
1
-26
-2
17
30
14
-38
37
-20
-13
0
0
0
0
0
0
0
0
-24
-30
-15
-82
-32
-17
-76
-42
-13
0
0
0
0
0
0
0
0
0
0
-3
-5
-10
-6
-97
-6
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
-14
45
25
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
-6
-37
-30
-67
-24
0
0
0
0
4
0
0
0
0
0
0
0
5
-26
-90
30
-11
0
0
0
-1
2
0
0
0
0
0
0
2
6
-55
18
-12
4
37
-12
-20
-3
3
0
0
0
0
0
0
3
3
-33
20
30
-27
-16
23
-72
-3
0
0
0
0
0
0
0
0
1
-4
7
-38
-175
-4
20
-17
0
-1
0
0
0
0
0
0
0
0
-23
-14
-46
35
43
13
-28
0
8
0
0
0
0
0
0
0
0
-1
-7
0
4
107
-22
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-2
6
0
1
0
0
0
3
0
0
0
0
0
0
0
0
-14
24
1
-9
9
0
0
0
-9
1
0
0
0
0
0
0
0
0
-8
0
8
-21
-24
-12
-47
-6
0
0
0
0
0
0
0
0
-5
-2
14
20
11
-6
-32
-13
-8
0
0
0
0
0
0
0
0
0
2
-7
-15
-70
-10
10
24
-4
0
0
0
0
0
0
0
0
0
-3
3
0
-21
-5
-5
-52
-23
1
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-1
17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
8
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
12
2
1
0
-10
-13
1
1
0
0
0
0
0
0
0
3
0
0
-1
3
5
-13
-3
-1
0
0
0
0
0
0
0
0
0
0
0
4
-2
43
3
12
-1
0
0
0
0
0
0
0
0
0
0
1
-9
3
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
16
-4
1
0
0
0
0
0
0
0
0
-2
0
0
2
-8
6
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-4
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-15
33
-18
2
13
0
0
0
0
0
0
0
0
0
0
0
7
-1
31
20
-16
-5
0
5
0
0
0
0
0
0
0
0
0
-2
0
34
40
-9
22
-21
-25
0
0
0
0
0
0
0
0
0
0
0
2
-3
20
-23
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
33
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-42
-42
-38
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
12
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
1
32
21
8
-89
64
0
0
0
0
0
0
0
0
0
0
-4
21
15
-46
-52
-16
31
0
0
0
0
0
0
0
0
0
0
0
49
23
-4
39
-74
-11
19
24
-14
0
0
0
0
0
0
0
0
-17
15
-14
-32
-13
-68
65
0
-37
0
0
0
0
0
0
0
0
-54
17
-13
-103
13
-84
-32
-18
-1
0
0
0
0
0
0
0
0
0
21
-14
43
6
-2
-64
-15
-7
0
0
0
0
0
0
0
0
0
14
-3
8
-5
-46
-53
32
-46
0
0
0
0
0
0
0
0
0
0
0
1
-27
-88
-2
-55
-123
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
31
0
0
0
0
0
0
0
0
0
0
-52
-44
-47
-33
-18
0
0
0
0
0
0
0
0
0
0
0
-6
8
-31
-11
-21
10
0
0
0
-10
0
0
0
0
0
0
0
-7
13
32
-70
100
-98
-18
59
115
-7
0
0
0
0
0
0
0
0
0
6
-8
-14
-32
-43
73
35
25
0
0
0
0
0
0
0
0
-9
-1
12
-16
-6
-137
24
80
6
0
0
0
0
0
0
0
4
2
-14
-42
-48
-34
25
-30
9
-7
0
0
0
0
0
0
0
0
1
2
-58
-19
-53
-7
6
-20
-7
0
0
0
0
0
0
0
0
0
1
0
-21
-28
-25
67
-26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
0
0
0
0
0
0
0
0
-5
3
28
-110
-62
-32
0
0
0
2
0
0
0
0
0
0
0
-22
3
106
-5
49
-34
0
0
0
20
2
0
0
0
0
0
-7
0
-33
-63
2
-33
23
-23
-80
28
3
0
0
0
0
0
0
2
12
0
0
0
45
-1
25
-18
-66
-9
0
0
0
0
0
0
0
-2
5
-4
-38
-36
-10
-67
38
17
3
-1
0
0
0
0
0
0
0
0
2
17
-27
21
-61
21
2
-10
0
0
0
0
0
0
0
0
0
0
0
7
-6
64
83
-102
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
2
75
26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
9
-2
-63
32
12
0
0
0
0
1
0
0
0
0
0
0
0
-61
-121
53
-39
55
0
0
0
-2
1
0
0
0
0
0
0
2
-7
-13
10
33
-26
22
31
33
-3
-6
0
0
0
0
0
0
1
-5
10
-10
18
-9
36
-41
23
0
1
0
0
0
0
0
0
0
1
5
-26
47
4
15
11
4
0
0
0
0
0
0
0
0
0
6
1
4
-44
-19
19
-7
-2
-4
0
0
0
0
0
0
0
0
0
-7
-1
0
72
6
14
26
1
0
0
0
0
0
0
0
0
0
0
0
6
6
22
-44
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
-35
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-22
-66
45
10
0
0
0
-24
0
0
0
0
0
0
0
0
14
5
27
44
5
-31
13
23
0
0
0
0
0
0
0
0
0
0
-10
0
0
-120
-60
41
-50
10
0
0
0
0
0
0
0
0
-3
0
-2
-22
-46
3
-56
-61
5
0
0
0
0
0
0
0
0
0
0
0
0
-29
34
26
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-7
7
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
1
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
-2
0
-3
8
0
-3
0
0
0
0
0
0
0
1
0
5
0
0
-13
-47
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
9
-12
-3
0
0
0
0
0
0
0
0
0
0
-4
-7
0
-25
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-9
2
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-4
-1
4
1
0
0
0
0
0
0
0
0
0
-1
-4
2
-20
10
-1
1
7
0
0
0
0
0
0
0
0
0
0
1
-8
4
3
0
-93
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-16
-28
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-12
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-3
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
16
-1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
1
-9
10
3
-4
1
-7
-9
0
0
0
0
0
0
0
0
0
-2
0
-29
-8
-30
-8
-23
-1
-3
0
0
0
0
0
0
0
0
3
0
5
0
-1
19
-8
84
0
0
0
0
0
0
0
0
0
0
-7
3
1
42
8
-47
42
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
9
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
17
-2
-9
-1
0
20
0
0
0
0
0
0
0
0
0
0
0
6
16
42
-52
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
19
-26
7
-69
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
-19
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-25
0
0
0
0
0
0
0
0
0
0
0
23
71
19
-25
0
0
0
0
0
0
0
0
0
0
0
-20
17
-13
-29
58
-7
0
0
0
0
0
0
0
0
0
0
0
-20
-7
9
36
-63
-40
-13
12
-61
0
0
0
0
0
0
0
0
7
-13
53
-64
-70
21
-55
-82
27
0
0
0
0
0
0
0
0
0
9
-15
64
8
27
-5
-95
-97
0
0
0
0
0
0
0
0
0
-5
-126
6
-29
10
-24
120
-48
0
0
0
0
0
0
0
0
0
-12
-16
7
7
-78
-89
-59
-72
0
0
0
0
0
0
0
0
0
-7
8
-8
-34
-14
91
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
87
-3
0
0
0
0
0
0
0
0
6
-9
-16
-6
32
1
0
0
0
4
0
0
0
0
0
0
0
-9
14
-42
0
76
7
0
0
0
9
0
0
0
0
0
0
0
-10
-63
24
-68
-3
-33
-8
-17
-22
2
0
0
0
0
0
0
0
0
-54
-6
14
6
-41
-66
28
49
-4
0
0
0
0
0
0
0
0
0
-90
-100
-41
42
88
-46
-52
0
0
0
0
0
0
0
0
1
40
6
9
-19
-29
-82
-114
-23
-2
0
0
0
0
0
0
0
1
0
16
-83
-3
-111
-38
18
27
20
0
0
0
0
0
0
0
0
0
0
-21
-39
1
50
-67
-40
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-74
-17
0
0
0
0
0
0
0
0
0
-3
3
-59
41
5
0
0
0
3
0
0
0
0
0
0
0
0
10
27
26
8
4
0
0
0
14
0
0
0
0
0
0
0
0
8
3
-25
-52
42
2
16
-15
1
0
0
0
0
0
0
0
0
15
46
2
-39
-74
-11
-27
-79
-15
0
0
0
0
0
0
0
-14
0
0
16
-106
-107
-109
-30
-40
-9
0
0
0
0
0
0
0
-1
5
-3
31
-11
-95
-15
2
3
-41
8
0
0
0
0
0
0
0
0
0
5
-125
-78
-39
-26
-46
-15
0
0
0
0
0
0
0
0
0
0
-8
13
-6
21
33
80
97
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-16
-9
-3
0
0
0
0
0
0
0
0
1
13
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
31
-10
-54
-15
0
0
0
0
0
0
0
0
0
0
0
3
15
39
-29
25
25
39
-6
-83
3
-1
0
0
0
0
0
0
0
11
8
5
-38
-55
46
-42
74
-2
0
0
0
0
0
0
0
0
0
5
0
65
-64
-123
-33
-79
2
0
0
0
0
0
0
0
0
4
0
1
-29
96
-31
-43
70
0
0
0
0
0
0
0
0
0
0
0
5
27
-61
40
25
-49
-16
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
12
5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
0
0
0
0
0
0
0
0
0
6
5
-3
2
0
0
0
-3
0
0
0
0
0
0
0
-9
0
28
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
4
3
-4
14
-16
2
0
0
0
0
0
0
0
0
-3
4
0
-16
-7
-14
24
1
6
0
0
0
0
0
0
0
0
-12
1
0
0
41
-26
-57
24
-10
-1
0
0
0
0
0
0
0
1
0
-12
-14
14
-71
-31
1
-12
0
0
0
0
0
0
0
0
0
-1
2
0
-33
-15
7
-90
-6
0
0
0
0
0
0
0
0
0
0
8
3
-5
15
3
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
-8
6
-1
-3
-4
14
0
-1
0
0
0
0
0
0
0
0
0
3
5
5
6
-7
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
55
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-42
24
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-3
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
13
1
2
1
-7
-14
0
0
0
0
0
0
0
0
0
-1
-27
-5
-1
41
-29
8
-19
0
0
0
0
0
0
0
0
0
1
-2
2
13
-31
53
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
-56
-20
36
-13
1
0
0
0
0
0
0
0
0
0
0
0
7
8
-6
-24
-24
9
0
0
0
0
0
0
0
0
0
0
-2
0
3
3
1
-19
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
-4
4
-36
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
17
-5
-24
4
0
0
0
-2
0
0
0
0
0
0
0
0
7
-8
46
-14
-4
0
0
2
1
0
0
0
0
0
0
0
0
2
-2
-7
-40
5
-6
-32
-11
0
0
0
0
0
0
0
0
0
-6
-8
74
18
18
-28
22
0
-2
0
0
0
0
0
0
0
0
0
-1
-7
-26
-29
-53
22
-63
0
0
0
0
0
0
0
0
0
0
1
1
-14
13
-7
30
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-51
-5
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
2
-6
-29
19
-14
0
0
0
0
0
0
0
0
0
0
0
2
-2
-14
34
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-58
-57
-14
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
-34
-11
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
16
0
0
0
0
0
0
0
0
0
0
-15
17
1
5
2
0
0
0
0
0
0
0
0
0
0
0
-9
-17
47
12
27
2
0
0
0
0
0
0
0
0
0
0
0
0
46
-32
63
-9
10
-1
42
-61
0
0
0
0
0
0
0
0
-7
-41
-134
-66
-54
-48
-13
-34
4
0
0
0
0
0
0
0
0
0
-31
-4
-54
-28
-87
18
21
-15
0
0
0
0
0
0
0
0
0
7
-20
14
-82
27
-97
-1
-58
0
0
0
0
0
0
0
0
-6
-1
-41
5
-118
19
-7
-84
25
0
0
0
0
0
0
0
0
0
-1
-1
-25
-19
44
42
-25
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-17
2
0
0
0
0
0
0
0
0
0
24
-14
-21
-14
15
0
0
0
1
0
0
0
0
0
0
0
0
-5
-10
-12
-32
-12
0
0
0
-3
0
0
0
0
0
0
0
-9
-31
-12
33
-26
-68
-2
9
102
2
0
0
0
0
0
0
0
-29
-24
-33
-18
26
-65
-12
26
-130
0
0
0
0
0
0
0
0
5
7
-113
-13
-23
15
36
60
29
1
0
0
0
0
0
0
0
7
0
-18
-15
52
-42
-37
9
5
7
0
0
0
0
0
0
0
0
-10
-19
20
9
-8
44
-60
-41
-17
0
0
0
0
0
0
0
0
0
0
5
20
-5
-148
-33
32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
36
30
0
0
0
0
0
0
0
0
0
-2
8
-16
-2
-4
0
0
0
22
0
0
0
0
0
0
0
0
4
-50
-2
27
2
0
0
0
-3
0
0
0
0
0
0
0
-9
-5
10
16
2
-13
8
-13
21
0
0
0
0
0
0
0
0
0
-9
5
-38
19
-72
9
-34
-8
8
0
0
0
0
0
0
0
0
5
8
-17
0
-65
60
-20
-4
14
0
0
0
0
0
0
0
-3
-1
0
1
-85
15
-47
-21
-30
-20
-2
0
0
0
0
0
0
0
0
0
2
-8
19
79
-50
-13
-39
-4
0
0
0
0
0
0
0
0
0
0
-1
8
-55
18
-31
3
4
0
0
0
0
0
0
0
0
0
0
0
-1
-12
40
2
-8
0
0
0
0
0
0
0
0
-24
12
11
40
10
0
0
0
0
0
0
0
0
0
0
0
0
47
0
11
60
23
0
0
0
1
0
0
0
0
0
0
0
-1
0
15
-137
-1
-3
-1
31
-57
0
2
0
0
0
0
0
0
0
0
22
22
5
59
8
-14
-15
1
0
0
0
0
0
0
0
0
5
-9
25
41
-55
108
6
-63
0
1
0
0
0
0
0
0
0
4
16
0
-6
50
-19
16
-42
0
-1
0
0
0
0
0
0
0
-6
-8
-6
29
36
-141
-44
-67
0
0
0
0
0
0
0
0
0
0
0
-8
0
-21
4
49
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
4
2
45
6
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
8
11
-7
18
-1
0
7
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
-1
-5
20
14
0
0
0
0
0
0
0
0
0
-1
8
8
13
-23
-14
-102
-8
0
0
0
0
0
0
0
0
0
-6
-12
-5
0
30
-35
44
-42
-6
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-27
-4
-116
5
0
0
0
0
0
0
0
0
0
0
0
0
0
30
42
50
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-4
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
-11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
7
0
-14
1
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
7
-9
-8
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
1
-6
-95
16
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
1
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
-6
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
19
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-29
42
5
-20
16
9
-4
1
0
0
0
0
0
0
0
0
4
0
-9
17
-36
9
-82
-10
-18
0
0
0
0
0
0
0
0
0
-8
-54
-54
0
-29
-90
46
-24
0
0
0
0
0
0
0
0
0
7
0
9
13
8
23
0
-52
0
0
0
0
0
0
0
0
0
0
-1
20
-2
-56
-20
-21
36
0
0
0
0
0
0
0
0
0
0
0
2
4
14
-19
-17
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
90
0
0
0
0
0
0
0
0
0
0
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-10
-18
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
8
16
-14
-7
-16
-12
-25
4
-4
0
0
0
0
0
0
0
0
0
-3
10
-1
-48
-12
-49
-27
0
0
0
0
0
0
0
0
0
0
0
-7
-6
55
-32
-5
0
8
0
0
0
0
0
0
0
0
0
0
1
0
6
-8
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
5
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-16
0
12
-30
-16
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
-20
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
31
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
37
0
0
0
0
0
0
0
0
0
0
0
-4
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
72
51
-40
8
22
0
0
0
0
0
0
0
0
0
0
0
-1
-30
42
44
-8
43
6
-17
45
0
0
0
0
0
0
0
0
6
10
5
4
-131
-20
59
115
44
0
0
0
0
0
0
0
0
0
55
29
53
2
-103
-30
-56
-164
0
0
0
0
0
0
0
0
-6
12
-6
-17
-4
-71
-63
17
45
0
0
0
0
0
0
0
0
0
8
4
-13
-52
-49
23
-28
-5
0
0
0
0
0
0
0
0
0
0
-1
3
2
-78
-10
15
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-77
5
0
0
0
0
0
0
0
0
0
-11
-3
-46
-37
16
0
0
0
0
0
0
0
0
0
0
0
20
-14
-5
-70
48
17
0
0
0
0
0
0
0
0
0
0
0
0
9
-30
6
-46
36
33
6
-22
1
0
0
0
0
0
0
0
-9
5
33
-41
17
35
172
-52
-64
2
0
0
0
0
0
0
0
4
-27
-50
-56
-17
0
57
-65
-24
5
0
0
0
0
0
0
0
4
-68
23
-49
-74
-43
22
36
22
0
0
0
0
0
0
0
0
0
0
-35
35
-31
9
10
-50
-42
-17
0
0
0
0
0
0
0
0
1
3
-29
5
17
35
14
33
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
0
-7
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
29
13
32
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
-20
5
22
-34
0
1
6
-2
0
0
0
0
0
0
0
0
-8
34
-10
-29
-46
-8
4
-7
0
0
0
0
0
0
0
0
-5
8
7
-33
47
-96
-5
64
-37
-1
1
0
0
0
0
0
0
0
0
7
-32
-33
-38
8
-40
-79
-7
0
0
0
0
0
0
0
0
0
0
-55
-7
-73
-26
-59
29
-7
0
0
0
0
0
0
0
0
0
0
0
-22
-3
-28
-59
77
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
-23
0
0
0
0
0
0
0
0
0
-4
0
-27
-2
14
0
0
0
-1
0
0
0
0
0
0
0
3
0
-72
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
77
-20
1
-6
-3
5
0
0
0
0
0
0
0
0
3
-1
-30
30
12
60
-51
-3
1
0
0
0
0
0
0
0
0
0
6
53
31
-15
-87
-50
39
-42
0
0
0
0
0
0
0
0
0
11
-21
-4
101
-84
-54
-26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
87
-64
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-22
8
-30
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
4
-8
1
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
-5
22
4
-15
0
0
0
0
0
0
0
0
0
-5
0
38
14
-32
-1
8
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
1
-13
-43
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-29
-47
-29
-14
0
0
0
0
0
0
0
0
0
1
-1
6
-2
2
-4
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
0
0
0
0
-3
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
15
19
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-29
-16
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
4
-5
-17
1
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-45
6
-2
8
1
0
0
0
0
0
0
0
0
0
-1
0
-23
4
-34
-2
30
30
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
20
71
0
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-25
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-27
33
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
16
44
-25
-38
-20
-6
-16
0
0
0
0
0
0
0
0
-3
-1
-5
5
-10
3
-2
6
-12
0
0
0
0
0
0
0
0
0
0
0
25
-36
-60
-8
69
-6
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
38
-59
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-13
8
-25
-6
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-2
-5
-7
0
0
0
0
0
0
0
0
0
0
-5
0
-2
19
26
-24
3
0
0
0
0
0
0
0
0
0
0
0
-8
4
7
29
31
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
39
3
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
8
-5
0
71
-32
-22
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
36
7
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-24
-92
9
29
0
0
0
0
0
0
0
0
0
0
0
-1
-6
4
6
20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-26
6
-4
0
0
0
0
0
0
0
0
0
0
0
4
-3
-20
-75
-32
8
-25
2
-1
0
0
0
0
0
0
0
0
0
-40
-40
-50
-25
17
67
40
-1
0
0
0
0
0
0
0
0
0
1
40
21
4
-43
-15
-61
3
0
0
0
0
0
0
0
0
0
1
-9
-5
44
60
-30
-49
3
0
0
0
0
0
0
0
0
0
-15
-5
0
-81
-8
5
-80
-23
0
0
0
0
0
0
0
0
0
0
0
0
2
8
14
-32
14
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-51
2
10
0
0
-2
0
0
0
0
0
0
0
0
0
-23
-5
43
-30
78
-7
-7
-12
0
0
0
0
0
0
0
0
0
-17
2
24
-41
-30
-56
-46
-3
-3
0
0
0
0
0
0
0
0
-5
-4
34
-1
-42
-26
-21
-74
0
0
0
0
0
0
0
0
0
0
-7
-29
27
-15
22
-70
-60
-1
0
0
0
0
0
0
0
0
0
0
0
-8
16
-46
-20
39
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-76
-4
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
26
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-59
-8
9
-4
0
7
2
0
0
0
0
0
0
0
0
0
0
-2
-1
-11
4
-8
6
-5
0
0
0
0
0
0
0
0
0
0
0
13
15
106
70
-74
-33
0
0
0
0
0
0
0
0
0
0
6
-2
15
-123
-89
6
-35
1
0
0
0
0
0
0
0
0
0
0
-1
-5
-17
6
-87
-57
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-63
-6
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
-8
-25
1
13
0
0
0
0
0
0
0
0
0
0
1
-2
-12
3
5
-8
-9
0
0
0
0
0
0
0
0
0
-2
3
0
-5
13
-63
-11
23
0
0
0
0
0
0
0
0
0
0
5
0
-8
-16
41
12
-34
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-4
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
54
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-20
9
-15
-7
0
0
0
0
0
0
0
0
0
0
7
0
8
1
-16
-45
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-20
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
1
-37
-17
2
-1
0
0
0
0
0
0
0
0
0
0
0
20
-8
-16
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-13
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
32
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
6
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
-20
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-30
-32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
4
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-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
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-27
6
5
0
0
0
0
0
0
0
0
0
0
2
79
55
-111
35
2
-46
0
0
0
0
0
0
0
0
0
0
6
53
-31
18
-1
-41
4
-16
0
0
0
0
0
0
0
0
0
9
6
0
-1
-5
18
9
0
0
0
0
0
0
0
0
0
0
1
13
0
-4
0
1
6
0
0
0
0
0
0
0
0
0
0
-8
-19
-3
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
38
-12
-2
31
0
0
0
0
0
0
0
0
0
37
-4
63
89
79
8
-47
-4
4
0
0
0
0
0
0
0
0
36
-31
46
45
40
-8
-2
9
-22
0
0
0
0
0
0
0
0
34
14
-79
4
52
17
51
34
-46
-1
0
0
0
0
0
0
0
40
-37
-12
25
-42
23
85
6
38
0
0
0
0
0
0
0
0
-20
4
82
13
2
-10
13
-22
-24
-9
0
0
0
0
0
0
0
-24
2
3
-89
48
-7
16
0
-36
0
0
0
0
0
0
0
0
23
36
-10
32
2
-41
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
6
-169
-109
-95
0
-7
0
0
0
0
0
0
0
49
111
-3
80
-18
5
-49
-8
30
-6
0
0
0
0
0
0
0
3
186
70
-28
-66
61
-12
-10
24
-8
0
0
0
0
0
0
0
13
23
-69
-9
18
101
84
-67
-12
-24
0
0
0
0
0
0
0
-4
-55
15
-6
-22
-82
89
-68
-33
3
0
0
0
0
0
0
0
1
6
-35
-20
-60
93
-22
-1
16
3
0
0
0
0
0
0
0
0
16
-67
49
59
-19
-19
18
5
24
0
0
0
0
0
0
0
-2
57
19
-49
4
-22
-47
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-16
-114
-25
0
0
0
0
0
0
0
0
0
44
-49
129
-8
-31
75
-40
-4
-8
0
0
0
0
0
0
0
0
56
15
40
32
0
-8
-53
-23
-22
0
0
0
0
0
0
0
0
45
1
60
14
21
-42
-67
25
-4
1
0
0
0
0
0
0
0
67
17
-8
2
-32
-18
59
24
14
4
0
0
0
0
0
0
0
-31
58
18
-14
-7
-48
3
4
0
-1
0
0
0
0
0
0
0
5
24
29
8
-8
-5
-65
-1
-7
0
0
0
0
0
0
0
0
-8
-80
-23
-25
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-74
1
0
0
49
-87
0
0
0
0
0
0
0
0
0
0
-3
24
-10
2
60
-12
-24
-16
0
0
0
0
0
0
0
0
21
73
129
22
-33
8
49
-2
13
1
0
0
0
0
0
0
0
1
-67
-25
43
23
-23
-26
-2
19
5
0
0
0
0
0
0
0
7
26
-14
-25
6
-24
7
-13
-14
10
0
0
0
0
0
0
0
8
-1
-7
21
-25
-16
-67
0
12
16
0
0
0
0
0
0
0
2
-5
13
-11
0
4
6
-13
-5
0
0
0
0
0
0
0
0
1
30
8
-6
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
8
110
107
70
46
0
4
10
2
0
0
0
0
0
0
0
0
-66
71
16
7
27
57
10
-9
8
0
0
0
0
0
0
0
0
0
49
15
-62
-8
-8
-13
-14
0
0
0
0
0
0
0
0
0
-2
3
31
-7
-13
24
42
14
-2
0
0
0
0
0
0
0
0
0
7
-5
0
5
-3
-1
10
-1
-2
0
0
0
0
0
0
0
8
-13
13
4
0
2
0
17
8
0
0
0
0
0
0
0
0
0
11
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
23
21
16
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
5
4
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-6
0
-5
-1
0
0
0
0
0
0
0
0
0
-8
0
1
3
5
-3
0
12
0
0
0
0
0
0
0
0
0
8
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-12
26
50
2
32
-2
0
0
0
0
0
0
0
0
0
13
6
107
156
70
41
-43
53
0
0
0
0
0
0
0
0
0
-3
75
80
-20
-68
65
-35
8
14
0
0
0
0
0
0
0
0
21
93
0
-3
-8
-4
-96
-1
0
0
0
0
0
0
0
0
0
-4
-13
-14
26
-13
-5
38
4
0
0
0
0
0
0
0
0
0
-32
-5
-6
-37
-3
50
1
-1
0
0
0
0
0
0
0
0
0
-110
25
-16
-4
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
-31
3
42
9
-18
14
0
0
0
0
0
0
0
0
0
36
105
-29
6
-51
20
18
-28
-2
0
0
0
0
0
0
0
0
26
51
62
-86
49
-42
25
-2
42
2
0
0
0
0
0
0
0
107
48
53
66
35
26
3
22
8
0
0
0
0
0
0
0
0
-4
-54
7
4
-25
-45
9
-100
-64
1
0
0
0
0
0
0
0
-32
-4
-22
13
-5
56
20
51
21
0
0
0
0
0
0
0
0
27
-89
-53
50
33
34
1
-22
21
0
0
0
0
0
0
0
0
7
-71
-9
42
4
5
0
1
0
0
0
0
0
0
0
0
0
-7
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
84
181
2
6
41
5
-54
77
0
2
0
0
0
0
0
0
0
53
81
19
90
-86
-43
30
32
70
2
0
0
0
0
0
0
0
9
117
-101
-63
-87
161
-35
-35
-41
-6
0
0
0
0
0
0
0
43
82
125
6
-9
-49
48
2
1
-56
0
0
0
0
0
0
0
28
-10
-47
-7
48
5
-15
50
-14
-13
0
0
0
0
0
0
0
-13
-74
-3
65
-3
-43
31
-23
0
10
0
0
0
0
0
0
0
-49
110
-1
-71
25
6
-37
-14
-33
0
0
0
0
0
0
0
0
0
14
-14
-76
48
34
-1
-46
-6
0
0
0
0
0
0
0
0
0
6
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
17
14
24
-4
87
27
18
52
0
-1
0
0
0
0
0
0
0
-4
17
127
-20
-23
31
27
62
16
0
-1
0
0
0
0
0
0
27
-65
175
-85
41
-34
49
-43
-20
-5
0
0
0
0
0
0
0
0
-70
48
-24
-39
12
132
27
52
-2
0
0
0
0
0
0
0
16
-28
52
-21
-5
-99
-12
-49
-1
-1
0
0
0
0
0
0
0
-179
-5
52
29
-44
-14
-50
93
-10
0
0
0
0
0
0
0
0
-3
20
91
-29
10
-22
-31
9
-5
0
0
0
0
0
0
0
0
5
-34
-42
-10
-2
3
-5
-1
0
0
0
0
0
0
0
0
0
-11
0
-24
0
3
1
0
0
0
0
0
0
0
0
0
0
0
5
-22
1
-28
-4
-2
35
16
0
0
0
0
0
0
0
0
0
51
20
0
121
73
47
24
-2
-31
0
0
0
0
0
0
0
0
41
-48
29
102
45
30
2
56
48
6
0
0
0
0
0
0
0
-35
28
-9
24
43
-40
-66
24
30
10
0
0
0
0
0
0
0
12
10
-58
9
-71
-74
-8
-41
86
-10
0
0
0
0
0
0
0
-12
91
45
11
-18
11
-34
-78
6
0
0
0
0
0
0
0
0
9
-50
31
-69
1
-6
-16
-1
6
-4
0
0
0
0
0
0
0
0
-43
12
18
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-2
79
-45
-8
2
-57
28
0
2
0
0
0
0
0
0
0
17
54
61
43
48
18
57
58
-8
0
0
0
0
0
0
0
0
25
82
62
51
76
-59
37
17
16
0
0
0
0
0
0
0
0
102
25
46
-10
-65
48
-37
5
-27
0
0
0
0
0
0
0
0
106
-60
44
-20
14
5
-28
15
-5
1
0
0
0
0
0
0
0
10
22
67
31
12
25
25
-17
-1
0
0
0
0
0
0
0
0
-10
52
14
37
17
2
-9
-4
-2
0
0
0
0
0
0
0
0
0
8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
6
33
25
0
-3
0
-8
0
0
0
0
0
0
0
0
41
-21
72
92
13
25
-3
7
0
0
0
0
0
0
0
0
0
20
19
2
100
16
8
2
0
0
0
0
0
0
0
0
0
0
53
14
20
14
9
3
25
-1
0
0
0
0
0
0
0
0
0
25
4
46
0
12
4
15
5
0
0
0
0
0
0
0
0
0
23
-5
-41
6
6
-6
-1
0
-2
0
0
0
0
0
0
0
0
0
14
1
1
0
0
4
0
0
0
0
0
0
0
0
0
0
23
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
4
0
4
0
0
0
0
0
0
0
0
0
0
1
0
12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
33
51
38
32
-32
0
-3
0
0
0
0
0
0
0
0
0
-3
63
63
-26
-45
64
-22
-5
5
0
0
0
0
0
0
0
0
-29
-19
31
2
7
16
14
30
-12
0
0
0
0
0
0
0
0
-18
27
67
-16
-28
13
19
1
12
0
0
0
0
0
0
0
0
-14
4
-8
70
-2
42
-2
0
0
0
0
0
0
0
0
0
0
-29
92
41
8
-4
-6
0
-2
0
0
0
0
0
0
0
0
0
-36
4
-31
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
41
35
92
94
35
40
23
0
0
0
0
0
0
0
0
0
60
38
7
48
1
33
43
-42
53
0
0
0
0
0
0
0
0
-33
63
26
57
13
23
40
50
-74
2
0
0
0
0
0
0
0
18
-48
17
-18
93
65
72
11
-10
0
0
0
0
0
0
0
0
61
12
82
-118
7
17
1
73
49
1
0
0
0
0
0
0
0
66
16
39
39
-47
126
48
41
5
0
0
0
0
0
0
0
0
88
-10
-52
10
4
21
62
-42
10
0
0
0
0
0
0
0
0
16
49
-17
19
15
-1
0
0
0
0
0
0
0
0
0
0
0
-41
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
152
66
-23
-90
-66
-35
-43
0
1
0
0
0
0
0
0
0
-7
2
27
56
0
-43
29
-39
-6
0
0
0
0
0
0
0
0
-40
92
24
65
-8
18
-100
-92
-66
-3
0
0
0
0
0
0
0
65
23
-25
64
20
4
-88
-17
26
-3
0
0
0
0
0
0
0
14
30
52
-35
-2
-51
36
-34
-11
9
0
0
0
0
0
0
0
38
72
-52
22
65
34
-64
-62
37
-10
0
0
0
0
0
0
0
2
27
-23
11
-105
-26
-8
58
-34
0
0
0
0
0
0
0
0
1
57
74
9
-13
-2
7
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-4
39
14
11
17
36
-3
0
0
0
0
0
0
0
0
0
-52
-3
18
139
76
34
6
-33
-3
0
0
0
0
0
0
0
0
48
49
-4
13
-59
17
-49
77
-4
1
0
0
0
0
0
0
0
1
-38
-40
6
-45
98
5
62
22
-1
0
0
0
0
0
0
0
-27
49
99
36
-14
35
47
-25
7
0
0
0
0
0
0
0
0
122
-14
29
-31
-107
49
45
-28
1
0
0
0
0
0
0
0
0
69
48
53
23
-31
-36
20
0
8
0
0
0
0
0
0
0
0
42
-36
9
-4
-5
0
0
-6
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
72
88
70
28
56
34
44
0
0
0
0
0
0
0
0
0
-173
-59
-55
61
25
16
-33
-57
56
-25
0
0
0
0
0
0
0
-13
-35
-16
-41
29
51
0
7
-8
1
0
0
0
0
0
0
0
-24
56
4
21
-12
-6
-45
68
1
0
0
0
0
0
0
0
0
101
39
10
-9
12
23
52
-44
0
-4
0
0
0
0
0
0
0
29
99
-12
16
2
15
-71
-22
6
0
0
0
0
0
0
0
0
-3
-48
-17
-3
-1
17
16
0
1
0
0
0
0
0
0
0
0
7
53
3
-13
0
0
10
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
21
-14
42
104
152
8
0
0
0
0
0
0
0
0
0
23
-40
-74
42
67
19
113
37
-19
0
0
0
0
0
0
0
0
-80
-8
16
-7
26
-8
0
-57
1
0
0
0
0
0
0
0
0
-21
111
59
1
72
-8
-30
31
-4
0
0
0
0
0
0
0
0
9
-65
45
-8
-83
-4
-47
0
24
0
0
0
0
0
0
0
0
-7
-57
7
-6
6
7
23
0
0
0
0
0
0
0
0
0
0
2
50
17
2
-21
0
0
2
0
0
0
0
0
0
0
0
0
0
-70
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
-1
-25
57
3
-3
0
0
0
0
0
0
0
0
0
0
18
50
-29
-34
23
-2
-4
-1
0
0
0
0
0
0
0
0
0
-15
-6
28
5
-5
1
6
-4
0
0
0
0
0
0
0
0
0
69
10
0
21
2
1
0
-1
0
0
0
0
0
0
0
0
0
-116
22
-5
-1
-2
23
5
0
0
0
0
0
0
0
0
0
0
-65
-28
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
2
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
-1
0
1
0
0
0
0
0
0
0
0
0
1
-1
3
4
0
-4
19
0
-1
0
0
0
0
0
0
0
0
5
3
3
0
1
-5
0
-1
0
0
0
0
0
0
0
0
0
-6
-6
-2
-1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-1
8
8
3
0
0
0
0
0
0
0
0
0
0
24
-3
23
10
-12
-19
8
-3
0
0
0
0
0
0
0
0
0
27
4
31
13
10
40
-23
1
0
0
0
0
0
0
0
0
0
-68
10
13
-4
-4
-16
2
-2
0
0
0
0
0
0
0
0
0
6
12
22
-2
0
-2
0
9
0
0
0
0
0
0
0
0
0
3
1
-19
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
1
17
-5
58
1
4
0
0
0
0
0
0
0
0
0
-8
40
-7
8
61
-45
0
8
0
0
0
0
0
0
0
0
0
15
-4
20
-20
1
-10
4
10
2
0
0
0
0
0
0
0
0
-6
2
20
5
9
22
0
-1
0
0
0
0
0
0
0
0
0
0
20
57
-17
56
-16
4
3
0
0
0
0
0
0
0
0
0
25
35
17
-18
5
4
0
0
0
0
0
0
0
0
0
0
0
3
-49
61
-7
9
-13
0
0
0
0
0
0
0
0
0
0
0
7
21
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-76
102
91
69
102
102
32
0
0
0
0
0
0
0
0
0
40
45
49
9
16
-11
37
44
-5
-1
0
0
0
0
0
0
0
47
-6
142
-4
-15
4
9
41
-38
-2
0
0
0
0
0
0
0
126
33
79
56
31
7
25
10
60
0
0
0
0
0
0
0
0
15
-38
71
79
19
-18
-26
54
52
0
0
0
0
0
0
0
0
41
-60
84
-9
43
-3
-11
-51
11
-4
0
0
0
0
0
0
0
-45
52
52
18
-34
-13
5
22
25
0
0
0
0
0
0
0
0
-9
-18
-49
24
-41
13
7
-5
0
0
0
0
0
0
0
0
0
23
-5
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-51
61
199
-27
-39
-14
-60
0
-1
0
0
0
0
0
0
0
-2
60
-17
-5
39
102
-6
-21
31
-3
0
0
0
0
0
0
0
14
70
13
10
0
-40
-26
17
-31
-2
0
0
0
0
0
0
0
-7
92
-2
-18
-22
-51
-32
-13
13
0
0
0
0
0
0
0
0
-48
33
-3
41
48
-33
-35
3
55
6
0
0
0
0
0
0
0
3
46
56
91
-58
-85
68
5
-1
0
0
0
0
0
0
0
0
-3
73
86
-30
-18
-35
4
1
24
0
0
0
0
0
0
0
0
-34
68
-64
-81
32
-2
0
1
0
0
0
0
0
0
0
0
0
-80
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
75
-17
60
46
132
18
0
0
0
0
0
0
0
0
0
-59
-1
-32
43
67
112
-34
-23
-1
0
0
0
0
0
0
0
0
19
-41
36
-8
-14
-28
-4
50
-5
1
0
0
0
0
0
0
0
32
29
-2
-2
8
46
-43
40
-25
1
0
0
0
0
0
0
0
-162
-101
-104
19
-11
45
7
66
-7
-1
0
0
0
0
0
0
0
29
121
53
-12
-34
18
7
22
0
0
0
0
0
0
0
0
0
10
92
4
-9
5
2
0
0
-1
0
0
0
0
0
0
0
0
-6
65
3
6
12
3
0
0
-1
0
0
0
0
0
0
0
0
49
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
61
47
3
32
-6
-49
29
0
0
0
0
0
0
0
0
0
-12
-21
8
19
54
69
-17
59
-9
8
0
0
0
0
0
0
0
-8
39
-9
66
-20
134
32
-49
-45
-5
0
0
0
0
0
0
0
24
85
-20
-33
4
27
36
-56
-16
-27
0
0
0
0
0
0
0
12
106
16
45
24
13
67
-25
-2
2
0
0
0
0
0
0
0
5
45
7
94
-4
-39
4
27
1
0
0
0
0
0
0
0
0
15
31
15
35
-12
5
-24
0
3
0
0
0
0
0
0
0
0
-2
-15
47
-8
-5
-3
1
0
1
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
30
-15
46
60
6
0
0
0
0
0
0
0
0
0
-10
43
-11
-39
12
-20
-3
16
33
0
0
0
0
0
0
0
0
-3
-5
30
20
4
-6
-58
-19
20
6
0
0
0
0
0
0
0
-25
-33
-21
-29
-6
12
5
-5
-18
0
0
0
0
0
0
0
0
115
20
-47
-9
-41
8
1
13
40
0
0
0
0
0
0
0
0
-8
-6
7
23
75
1
-2
1
0
0
0
0
0
0
0
0
0
-7
-47
13
3
10
0
-4
6
0
0
0
0
0
0
0
0
0
1
-41
7
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-3
5
17
-17
23
0
0
0
0
0
0
0
0
0
0
17
-8
10
41
-4
47
-14
0
0
0
0
0
0
0
0
0
0
31
-24
33
-10
12
-3
-4
0
0
0
0
0
0
0
0
0
0
-46
3
-50
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
35
52
-59
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
61
-8
41
0
0
1
0
0
0
0
0
0
0
0
0
0
0
14
23
-2
2
0
1
0
-3
0
0
0
0
0
0
0
0
0
17
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
2
9
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
-4
6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
10
1
-16
5
0
0
0
0
0
0
0
0
0
-4
-7
-29
-33
8
10
-34
14
-8
0
0
0
0
0
0
0
0
2
19
-15
19
-12
4
1
9
0
0
0
0
0
0
0
0
0
-34
-6
5
1
7
24
5
0
0
0
0
0
0
0
0
0
0
-43
3
-38
23
12
3
0
0
0
0
0
0
0
0
0
0
0
-10
-8
8
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
10
-1
2
-3
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
48
-14
-4
7
41
0
0
0
0
0
0
0
0
0
0
-9
29
-5
50
-19
15
-2
8
0
0
0
0
0
0
0
0
0
-3
-8
-29
-20
44
9
18
0
0
0
0
0
0
0
0
0
0
10
8
-53
23
-14
-3
42
0
0
0
0
0
0
0
0
0
0
9
-62
9
-53
-36
-6
-8
0
0
0
0
0
0
0
0
0
0
-48
58
-9
-2
1
-2
1
2
0
0
0
0
0
0
0
0
0
30
1
4
2
0
1
-1
14
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-65
4
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
72
-12
3
-41
9
1
0
0
0
0
0
0
0
0
0
-3
30
-29
6
7
3
10
-7
0
0
0
0
0
0
0
0
0
-10
23
-34
5
11
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-13
-5
-7
0
0
0
0
0
0
0
0
0
0
-1
7
21
14
-7
-1
-12
-5
0
0
0
0
0
0
0
0
0
3
38
16
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
24
3
16
-1
0
0
0
0
0
0
0
0
0
0
0
58
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-28
-4
47
72
5
0
31
0
0
0
0
0
0
0
0
0
19
-18
-22
-38
40
88
-40
-69
-8
0
0
0
0
0
0
0
0
63
20
-32
96
39
32
-54
-3
-4
0
0
0
0
0
0
0
0
-10
-17
-25
-3
76
-5
31
0
20
0
0
0
0
0
0
0
0
4
-6
0
42
16
51
12
-22
1
0
0
0
0
0
0
0
0
18
-7
-4
68
29
-52
40
-49
-48
0
0
0
0
0
0
0
0
37
66
51
-9
-19
61
9
31
8
0
0
0
0
0
0
0
0
-3
-20
96
-29
-5
-48
1
-9
0
0
0
0
0
0
0
0
0
80
-3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-8
14
15
-68
60
-19
0
-1
0
0
0
0
0
0
0
0
-37
-85
59
59
25
42
64
-62
0
0
0
0
0
0
0
0
0
-81
60
-38
67
-108
29
-44
-27
2
0
0
0
0
0
0
0
19
-88
5
40
-59
36
1
-56
9
-7
0
0
0
0
0
0
0
0
-5
0
-2
8
24
2
-8
-24
2
0
0
0
0
0
0
0
-20
21
-15
39
24
-71
-25
67
-11
1
0
0
0
0
0
0
0
5
40
29
-25
-20
-19
-82
-5
25
0
0
0
0
0
0
0
0
20
11
-64
18
-1
38
-6
-10
-3
0
0
0
0
0
0
0
0
23
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
6
-3
-16
-26
49
1
0
0
0
0
0
0
0
0
0
-2
38
7
-25
-7
-12
49
93
-1
0
0
0
0
0
0
0
0
29
20
-37
36
24
32
-37
46
-1
0
0
0
0
0
0
0
0
14
63
7
-8
3
21
10
6
-5
-1
0
0
0
0
0
0
0
-12
35
1
0
6
-25
20
-10
-8
0
0
0
0
0
0
0
0
-23
95
-14
-4
57
2
40
-8
-5
0
0
0
0
0
0
0
0
71
18
109
38
48
-1
-10
0
1
0
0
0
0
0
0
0
0
16
89
85
-48
1
-5
-2
0
-2
0
0
0
0
0
0
0
0
11
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
-11
0
29
-64
29
0
2
0
0
0
0
0
0
0
2
-19
7
-20
-49
-41
-3
49
8
-9
0
0
0
0
0
0
0
-1
-45
-96
133
32
-49
-2
45
25
-4
0
0
0
0
0
0
0
10
-36
-18
-83
-3
6
83
42
2
-1
0
0
0
0
0
0
0
-5
-76
18
-1
0
4
38
-10
-46
0
0
0
0
0
0
0
0
-1
17
74
-87
4
6
19
-3
57
-1
0
0
0
0
0
0
0
-21
111
45
12
2
13
-5
8
2
0
0
0
0
0
0
0
0
-2
74
-16
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-12
41
-9
-31
6
8
0
0
0
0
0
0
0
0
0
0
-66
-18
-38
0
-63
32
-12
-38
0
0
0
0
0
0
0
0
7
8
-6
6
14
44
-3
3
7
-2
0
0
0
0
0
0
0
13
-29
77
122
-42
0
3
17
-7
0
0
0
0
0
0
0
0
-6
-45
5
22
-2
0
0
4
3
0
0
0
0
0
0
0
0
2
-27
-29
29
39
0
0
1
2
0
0
0
0
0
0
0
0
-13
116
-20
30
27
2
-5
0
0
0
0
0
0
0
0
0
0
-10
50
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-12
0
-25
2
-4
0
-1
0
0
0
0
0
0
0
0
-41
30
17
-14
-28
-58
22
-4
0
0
0
0
0
0
0
0
0
-5
3
23
3
58
65
4
7
0
0
0
0
0
0
0
0
0
-34
-19
-1
-28
-12
0
1
0
0
0
0
0
0
0
0
0
0
-12
27
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-8
38
20
-2
0
0
-1
0
0
0
0
0
0
0
0
0
66
5
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
137
38
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-8
0
-5
-3
4
0
0
0
0
0
0
0
0
0
1
0
4
0
-16
-3
18
-1
2
0
0
0
0
0
0
0
0
0
-22
-2
9
-1
-30
-3
0
-1
0
0
0
0
0
0
0
0
3
-3
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
20
42
0
-12
-7
7
0
0
0
0
0
0
0
0
0
-8
-3
7
14
-7
-10
-26
-2
-1
0
0
0
0
0
0
0
0
45
2
-17
41
-22
51
19
-40
-15
0
0
0
0
0
0
0
0
-14
-48
21
37
-40
12
-35
1
0
0
0
0
0
0
0
0
0
5
-13
-64
-22
-25
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-44
-29
-5
-7
25
-2
0
0
0
0
0
0
0
0
0
0
-31
-58
-31
-14
9
-3
0
0
-25
0
0
0
0
0
0
0
0
-5
-18
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-28
8
8
5
19
0
0
0
0
0
0
0
0
0
0
-70
0
-43
-92
13
-9
14
-29
0
0
0
0
0
0
0
0
0
5
2
17
-27
0
-15
14
15
0
0
0
0
0
0
0
0
0
24
-1
3
7
-30
-20
52
-2
0
0
0
0
0
0
0
0
0
-6
4
-14
9
-77
-89
4
0
0
0
0
0
0
0
0
0
0
-36
-36
-64
-33
49
-21
12
-2
0
0
0
0
0
0
0
0
0
-22
-96
-15
5
-4
1
0
-6
0
0
0
0
0
0
0
0
0
-65
24
15
1
0
0
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
3
-5
-2
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
5
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-10
-3
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
-40
-4
-1
-6
16
0
5
0
0
0
0
0
0
0
0
0
2
-2
1
15
-3
0
3
0
0
0
0
0
0
0
0
0
0
-1
-2
7
-1
-20
9
0
-1
0
0
0
0
0
0
0
0
0
0
-14
78
-9
13
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
109
-3
8
0
-1
0
0
0
0
0
0
0
0
0
0
17
58
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
59
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-8
-48
30
-48
84
29
0
0
0
0
0
0
0
0
0
-2
0
-42
-59
-73
52
29
-43
-3
-4
0
0
0
0
0
0
0
52
-18
-7
54
-4
-6
99
-28
-5
0
0
0
0
0
0
0
0
49
9
82
39
25
-29
35
27
7
7
0
0
0
0
0
0
0
-14
2
-3
63
54
-67
-42
4
-8
0
0
0
0
0
0
0
0
0
0
0
-54
-87
10
-47
-47
-48
0
0
0
0
0
0
0
0
9
-5
31
-43
-126
-21
9
-12
-5
0
0
0
0
0
0
0
0
-3
-12
-50
10
24
18
0
0
0
0
0
0
0
0
0
0
0
-7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
54
34
14
-22
-11
8
20
0
0
0
0
0
0
0
0
0
-4
63
30
78
-27
23
52
66
-50
5
0
0
0
0
0
0
0
-6
-58
23
-14
6
12
40
-20
-3
4
0
0
0
0
0
0
0
0
0
38
79
26
-35
7
-8
-44
-1
0
0
0
0
0
0
0
17
6
-1
-45
-14
21
43
-23
-18
-3
0
0
0
0
0
0
0
-3
4
0
-12
1
-39
-22
16
-34
0
0
0
0
0
0
0
0
8
172
-6
9
9
-10
28
16
-5
0
0
0
0
0
0
0
0
20
-34
16
32
2
-15
0
1
0
0
0
0
0
0
0
0
0
8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-46
-25
-1
-7
28
4
0
0
0
0
0
0
0
0
0
3
17
42
47
1
48
-48
9
0
0
0
0
0
0
0
0
0
23
-2
10
-63
38
73
25
32
6
2
0
0
0
0
0
0
0
3
34
-6
-6
-45
-2
-34
13
-5
1
0
0
0
0
0
0
0
-13
-93
-25
-1
18
-24
8
16
7
0
0
0
0
0
0
0
0
-5
7
2
0
0
-4
41
-9
0
0
0
0
0
0
0
0
0
-33
-31
50
0
8
-23
29
0
1
0
0
0
0
0
0
0
0
29
16
-37
0
6
0
-4
0
2
0
0
0
0
0
0
0
0
-7
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
-4
26
0
-29
-39
62
0
0
0
0
0
0
0
0
0
1
-88
14
-60
-70
-17
-1
30
-4
0
0
0
0
0
0
0
0
24
14
-4
40
7
8
0
-16
22
-1
0
0
0
0
0
0
0
2
29
-17
68
-7
-52
-12
17
7
0
0
0
0
0
0
0
0
-1
72
-31
2
-4
4
-119
-12
-8
0
0
0
0
0
0
0
0
-1
114
83
-2
0
2
13
13
-25
0
0
0
0
0
0
0
0
-41
17
44
5
9
6
-2
2
-8
0
0
0
0
0
0
0
0
11
-28
122
52
0
-1
0
6
0
0
0
0
0
0
0
0
0
-16
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-20
-10
-1
-49
-67
-14
0
0
0
0
0
0
0
0
0
5
34
40
-5
-12
-18
-103
-53
-1
0
0
0
0
0
0
0
0
0
-11
-46
-40
52
-13
13
-33
1
0
0
0
0
0
0
0
0
-7
-29
4
30
23
4
-58
-4
20
-4
0
0
0
0
0
0
0
1
56
-18
12
21
4
3
31
25
0
0
0
0
0
0
0
0
0
-48
-13
-19
4
0
0
-15
0
0
0
0
0
0
0
0
0
26
-16
-5
13
6
-2
0
0
8
0
0
0
0
0
0
0
0
-17
10
-50
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
4
-1
2
30
-14
0
0
0
0
0
0
0
0
0
0
-20
-7
6
-46
-39
28
-13
-3
0
0
0
0
0
0
0
0
0
-4
-2
-8
36
-11
84
0
8
0
0
0
0
0
0
0
0
0
-35
-24
33
11
-22
99
-12
-4
0
0
0
0
0
0
0
0
0
-11
60
1
-34
-10
0
0
-7
0
0
0
0
0
0
0
0
0
7
8
-37
6
0
0
0
4
0
0
0
0
0
0
0
0
7
56
-31
-15
30
3
0
0
-2
0
0
0
0
0
0
0
0
2
24
-46
12
0
-1
0
-12
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
-2
0
-14
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
-4
14
-7
2
0
0
0
0
0
0
0
0
-3
2
-10
-10
-19
12
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
5
2
5
3
3
0
0
0
0
0
0
0
0
0
0
-10
1
-5
-3
0
1
0
0
0
0
0
0
0
0
0
0
2
-1
-8
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
3
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
7
-1
-16
2
16
-9
0
0
0
0
0
0
0
0
0
7
12
48
-31
-24
-36
-29
-2
5
0
0
0
0
0
0
0
0
8
-32
2
45
-9
19
15
5
2
0
0
0
0
0
0
0
0
25
13
5
-41
-32
8
42
22
8
0
0
0
0
0
0
0
0
3
22
28
28
25
-14
22
0
0
0
0
0
0
0
0
0
0
-2
2
-10
-46
-53
-46
-3
0
0
0
0
0
0
0
0
0
0
18
-9
-18
-16
9
-10
0
0
0
0
0
0
0
0
0
0
0
69
-38
41
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
30
-24
-13
31
-8
-3
0
-2
0
0
0
0
0
0
0
0
41
-13
-3
-62
48
-35
-2
-5
0
0
0
0
0
0
0
0
0
22
14
42
-25
-22
32
1
27
1
0
0
0
0
0
0
0
0
97
-63
27
40
-28
62
-3
4
0
0
0
0
0
0
0
0
0
33
-11
4
13
31
-9
-13
0
0
0
0
0
0
0
0
0
0
-57
-48
-2
19
-5
-52
-18
0
0
0
0
0
0
0
0
0
0
-74
-71
-3
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-5
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-19
-9
-12
3
0
0
0
0
0
0
0
0
0
0
0
2
42
-17
-44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-13
-50
10
0
62
0
0
0
0
0
0
0
0
0
0
2
-107
70
-22
-8
88
-24
5
15
0
0
0
0
0
0
0
0
-16
7
-61
-8
9
-71
15
10
23
5
0
0
0
0
0
0
0
-6
-1
60
-38
48
13
9
57
-2
0
0
0
0
0
0
0
0
53
-14
116
58
-28
-31
54
39
47
0
0
0
0
0
0
0
0
-7
0
24
124
-5
-21
37
32
5
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
75
-1
-1
0
0
0
0
0
0
0
0
6
0
3
-39
9
15
-5
0
0
0
0
0
0
0
0
0
0
14
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-13
-18
-18
1
18
9
0
0
0
0
0
0
0
0
0
0
29
-74
-17
-1
41
52
-7
3
0
0
0
0
0
0
0
0
0
-48
-28
46
-31
-15
23
-24
36
0
0
0
0
0
0
0
0
1
17
53
28
3
-30
68
39
29
20
0
0
0
0
0
0
0
0
162
44
-18
28
-91
-74
42
3
9
0
0
0
0
0
0
0
3
31
4
32
-51
54
-39
17
9
5
0
0
0
0
0
0
0
0
0
0
0
3
43
11
-60
5
-1
0
0
0
0
0
0
0
15
-17
0
-40
-40
13
57
50
7
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
-7
-5
0
23
5
0
0
0
0
0
0
0
0
0
3
2
-15
-12
-51
-42
-50
40
0
0
0
0
0
0
0
0
0
0
-7
13
0
32
9
-15
2
0
4
0
0
0
0
0
0
0
0
79
78
-59
33
4
26
-6
2
0
0
0
0
0
0
0
0
-5
21
63
-2
11
-6
105
0
10
-2
0
0
0
0
0
0
0
-7
48
35
1
28
-1
-43
0
8
8
0
0
0
0
0
0
0
-36
-5
5
0
-2
5
0
15
0
0
0
0
0
0
0
0
0
16
-29
39
1
0
3
0
7
0
0
0
0
0
0
0
0
0
40
40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
0
-5
-18
-46
-29
-6
0
0
0
0
0
0
0
0
0
0
-36
-8
6
-73
-29
17
-4
-12
0
0
0
0
0
0
0
0
1
-15
32
-8
-4
-21
-50
5
-8
-23
0
0
0
0
0
0
0
4
-47
72
47
-19
-12
49
-5
3
0
0
0
0
0
0
0
0
0
84
68
-15
-20
42
14
-42
-26
0
0
0
0
0
0
0
0
-9
3
-57
-1
0
-3
-1
12
24
9
0
0
0
0
0
0
0
0
-41
-15
0
0
8
-4
1
-6
0
0
0
0
0
0
0
0
-6
27
115
9
0
2
25
8
0
0
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
2
0
0
-29
2
0
0
0
0
0
0
0
0
0
0
-44
-12
13
-35
-6
-27
-3
-4
0
0
0
0
0
0
0
0
0
0
2
-6
-5
8
-41
-6
-8
0
0
0
0
0
0
0
0
-1
-5
8
16
-23
-9
-20
1
-7
0
0
0
0
0
0
0
0
0
28
-14
-68
86
-6
26
0
4
0
0
0
0
0
0
0
0
0
-81
27
39
-2
0
-3
-2
-19
0
0
0
0
0
0
0
0
8
49
16
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
-24
-63
-41
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
45
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
83
3
0
-31
0
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
12
3
5
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
33
41
-8
-48
12
0
0
0
0
0
0
0
0
0
0
-10
-51
10
-40
71
-1
-3
-3
-6
0
0
0
0
0
0
0
0
16
42
11
72
-5
0
-5
14
0
0
0
0
0
0
0
0
0
8
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
5
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-9
6
0
0
0
0
0
0
0
0
0
-2
-3
0
-8
1
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
4
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
4
32
3
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-23
25
25
1
19
1
0
0
0
0
0
0
0
0
0
-5
-24
6
44
46
23
52
18
-6
0
0
0
0
0
0
0
0
0
-27
3
30
-40
-8
48
-7
-25
0
0
0
0
0
0
0
0
0
19
27
-18
-7
-12
-1
24
5
0
0
0
0
0
0
0
0
9
4
14
5
5
42
14
74
1
0
0
0
0
0
0
0
0
-5
-22
71
-4
-51
14
-8
0
0
0
0
0
0
0
0
0
0
15
40
-46
-54
20
-13
4
0
0
0
0
0
0
0
0
0
0
-45
39
22
10
2
0
0
0
0
0
0
0
0
0
0
0
0
48
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-26
8
6
-3
2
-19
9
2
0
0
0
0
0
0
0
0
0
-4
-8
-8
-2
12
41
-57
-3
-12
0
0
0
0
0
0
0
0
2
5
19
9
7
34
40
-6
0
0
0
0
0
0
0
0
0
-29
22
-18
13
-16
-7
0
3
0
0
0
0
0
0
0
0
0
30
7
1
-17
19
0
-9
0
0
0
0
0
0
0
0
0
0
-62
-6
24
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
28
66
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
20
0
0
0
0
0
0
0
0
0
0
0
7
-5
-2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
34
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
-26
21
-107
20
0
0
0
0
0
0
0
0
0
0
0
0
2
34
5
41
-21
0
0
0
0
0
0
0
0
0
0
-10
-5
-3
-2
3
0
-5
-11
0
0
0
0
0
0
0
0
0
114
1
94
48
0
7
-2
2
-3
0
0
0
0
0
0
0
0
97
13
50
44
14
1
-6
-1
0
0
0
0
0
0
0
0
0
6
0
33
-54
-14
-4
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
8
2
-8
8
7
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-43
3
-24
18
0
0
0
0
0
0
0
0
0
0
-3
0
-8
39
-25
9
4
0
0
0
0
0
0
0
0
0
0
11
-19
-24
-21
130
-19
1
4
0
0
0
0
0
0
0
0
0
2
-18
32
24
8
-13
-2
2
0
0
0
0
0
0
0
0
-2
-2
-5
-15
15
-13
16
9
-5
0
0
0
0
0
0
0
0
57
46
9
52
52
-5
-31
-16
0
0
0
0
0
0
0
0
0
1
-9
0
0
3
2
8
1
0
0
0
0
0
0
0
0
0
99
-2
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-48
17
-3
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
4
-6
5
6
0
0
0
0
0
0
0
0
0
0
-17
-7
60
10
6
1
-13
0
0
0
0
0
0
0
0
0
-1
-32
43
14
-63
19
15
6
1
-1
0
0
0
0
0
0
0
6
-42
-46
0
-18
6
-14
3
-7
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
19
40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
16
-3
0
0
0
0
0
0
0
0
0
0
-10
3
1
-9
-13
-34
3
0
0
0
0
0
0
0
0
0
-1
0
0
23
-4
6
3
4
0
0
0
0
0
0
0
0
0
0
-9
-12
90
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
30
75
0
7
1
-8
6
0
0
0
0
0
0
0
0
-4
-4
-22
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
6
-101
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-22
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
60
1
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
-2
0
3
24
-7
1
6
0
-1
0
0
0
0
0
0
0
0
-1
-1
-2
-10
8
1
6
0
0
0
0
0
0
0
0
0
0
-4
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-15
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-22
25
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-4
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
8
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
-7
14
3
1
0
0
0
0
0
0
0
0
-3
1
1
2
-1
-13
14
-2
0
0
0
0
0
0
0
0
0
0
0
-20
-13
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
18
6
-8
9
-3
0
5
0
0
0
0
0
0
0
0
0
0
27
-8
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
9
22
-3
7
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
14
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
-25
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-23
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
1
1
-8
0
0
0
0
0
0
0
0
0
0
-4
2
0
4
8
6
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
12
8
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-2
-8
8
0
0
0
0
0
0
0
0
0
0
0
3
-5
-6
-2
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
-8
-3
24
-3
0
0
0
0
0
0
0
0
0
-1
0
3
0
7
-2
6
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-3
1
8
8
1
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-24
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
-8
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
12
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-9
0
0
-1
-3
0
-1
0
0
0
0
0
0
0
4
-6
2
-5
-24
-2
8
5
0
0
0
0
0
0
0
0
2
0
1
1
-4
-5
33
0
1
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-12
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
12
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
1
0
-8
-5
-30
0
0
0
0
0
0
0
0
0
0
0
8
4
-25
-15
90
-30
4
1
0
0
0
0
0
0
0
-2
0
0
3
2
-44
6
48
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
-39
-37
50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
21
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
20
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-37
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
-71
8
31
29
-23
0
-3
0
0
0
0
0
0
0
-1
-5
22
38
-19
-52
9
-14
6
0
0
0
0
0
0
0
0
0
-3
6
-1
-20
12
7
42
0
1
0
0
0
0
0
0
0
0
0
-26
23
27
24
-43
-125
0
0
0
0
0
0
0
0
0
0
6
3
0
-4
13
-76
-129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
-118
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
2
32
-53
29
-34
0
0
0
1
0
0
0
0
0
0
0
0
-26
21
-95
-5
8
-3
2
1
0
0
0
0
0
0
0
0
0
-1
-69
-32
6
49
-2
-20
-1
-9
0
0
0
0
0
0
0
0
-1
-4
-8
24
119
-28
-77
3
0
-2
0
0
0
0
0
0
0
0
0
3
2
-29
21
7
-41
0
0
0
0
0
0
0
0
0
0
0
10
0
4
-2
8
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
31
-69
8
6
0
0
0
19
0
0
0
0
0
0
0
0
0
-8
-10
-18
55
-41
3
13
1
0
0
0
0
0
0
0
0
0
3
48
-24
-27
13
33
-5
-2
0
0
0
0
0
0
0
0
0
0
22
7
56
33
-8
8
0
0
0
0
0
0
0
0
0
0
0
-7
-62
98
54
14
34
8
0
0
0
0
0
0
0
0
0
0
0
18
57
75
58
39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
2
16
0
0
0
0
0
0
0
0
0
0
0
0
4
29
6
-58
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
89
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
51
3
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-4
9
-6
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
-9
9
-3
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
12
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-9
-10
-29
-17
13
0
0
0
0
0
0
0
0
0
1
0
-3
10
-10
0
-1
-5
0
0
0
0
0
0
0
0
0
-3
-1
0
41
-1
4
-40
-25
0
0
0
0
0
0
0
0
0
0
0
-1
4
-50
-7
50
2
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-7
31
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
0
-25
8
0
0
0
0
0
0
0
0
0
-7
5
0
-14
-13
8
-8
-13
2
0
0
0
0
0
0
0
0
-2
0
-4
18
40
50
-4
9
0
0
0
0
0
0
0
0
0
0
0
1
6
21
14
-2
49
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-14
3
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-8
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
-1
4
1
6
0
-2
0
0
0
0
0
0
0
0
0
7
-1
-10
6
0
-31
3
-2
0
0
0
0
0
0
0
1
0
0
3
4
-5
-1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
121
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
-8
-1
3
-1
0
0
0
2
0
0
0
0
0
0
0
0
4
-5
1
-29
-38
-6
-36
-4
0
1
0
0
0
0
0
0
0
0
2
-9
11
24
-35
-32
59
1
0
0
0
0
0
0
0
0
-2
7
-7
53
-84
-40
-23
3
0
0
0
0
0
0
0
0
0
0
0
-1
12
9
-95
-84
24
1
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
35
-74
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
13
-13
24
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-3
35
-18
16
41
0
0
0
0
0
0
0
0
0
0
0
-3
-5
32
-99
-2
-7
-12
-8
23
0
0
0
0
0
0
0
0
0
14
19
-23
7
11
78
17
20
1
0
0
0
0
0
0
0
-14
3
-1
-5
28
58
69
5
23
-1
0
0
0
0
0
0
0
0
0
0
-7
4
5
66
93
-20
-3
0
0
0
0
0
0
0
0
0
0
0
1
-22
29
20
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
-16
8
-47
39
0
0
0
0
0
0
0
0
0
0
0
0
19
50
-9
-9
-63
3
0
0
0
1
0
0
0
0
0
0
0
2
-13
-39
-10
10
-9
-33
-15
-53
0
0
0
0
0
0
0
0
-15
-4
26
-11
35
-72
-153
54
-16
-7
0
0
0
0
0
0
0
0
0
59
24
97
109
-25
-36
26
2
-2
0
0
0
0
0
0
0
0
-7
-5
2
98
24
-55
13
-1
0
0
0
0
0
0
0
0
0
0
8
-6
41
-45
17
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
41
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
15
2
-8
26
-18
-36
0
0
0
0
0
0
0
0
0
0
6
1
4
-50
-4
-27
1
0
0
0
1
-2
0
0
0
0
0
0
-9
-20
19
-5
-86
10
-33
-5
5
0
0
0
0
0
0
0
0
-3
7
-71
11
32
-37
-7
15
37
-1
0
0
0
0
0
0
0
-17
13
1
-56
71
-7
21
-40
-46
-1
-1
0
0
0
0
0
0
-5
4
2
-1
19
37
-13
58
30
7
0
0
0
0
0
0
0
0
0
0
1
-5
-58
36
31
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
13
-4
-43
32
68
0
0
0
5
0
0
0
0
0
0
0
0
10
-24
1
-99
-13
0
0
0
-3
-6
0
0
0
0
0
0
36
-30
-2
-21
-4
45
-11
-39
6
-1
0
0
0
0
0
0
0
10
20
-15
2
23
-52
-56
-78
29
-1
0
0
0
0
0
0
0
1
12
41
-16
3
-91
-13
6
-84
-2
-1
0
0
0
0
0
0
-3
3
-40
16
-44
-63
-55
11
-9
-3
0
0
0
0
0
0
0
0
0
0
23
-19
-10
-29
27
-10
6
0
0
0
0
0
0
0
0
0
0
2
1
0
1
14
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-24
-26
-24
1
4
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-24
-54
68
-4
0
0
0
-22
-1
0
0
0
0
0
0
-6
-42
-57
19
72
-10
-42
15
-36
-35
0
0
0
0
0
0
0
-8
36
3
-5
-49
-77
-6
-35
-25
14
0
0
0
0
0
0
0
0
-25
14
30
-28
-90
-106
98
102
-3
0
0
0
0
0
0
0
4
1
16
-45
-32
-36
-12
88
111
-5
0
0
0
0
0
0
0
-3
0
0
-23
14
59
87
10
19
-33
0
0
0
0
0
0
0
0
0
0
0
-38
3
89
8
13
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-2
0
0
0
5
-10
0
0
0
0
0
0
0
0
0
-4
-6
0
8
25
22
0
-14
0
0
0
0
0
0
0
0
0
18
2
5
3
-21
-16
19
4
0
0
0
0
0
0
0
0
0
1
-1
16
8
44
84
-22
2
0
0
0
0
0
0
0
0
0
0
-1
10
-1
-11
59
12
8
0
0
0
0
0
0
0
0
0
2
0
0
-8
31
-15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
1
10
-30
0
0
0
0
0
0
0
0
0
0
3
1
-2
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-13
0
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-19
8
-2
23
-2
20
0
0
0
0
0
0
0
0
0
1
0
6
30
8
-29
-18
-1
0
0
0
0
0
0
0
0
-1
-2
0
-4
-18
41
-23
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-25
8
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
-3
12
12
-47
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
1
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
4
3
8
14
14
34
-8
-4
0
0
0
0
0
0
0
0
6
0
0
-2
4
-24
-5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-3
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
-5
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
4
0
0
0
0
0
0
0
0
-1
1
0
1
14
-8
-4
-18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
4
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-7
3
45
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
-34
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-20
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
2
26
-8
-5
-23
-7
-1
0
0
0
0
0
0
0
0
10
0
1
0
35
86
-65
3
0
0
0
0
0
0
0
0
4
0
-13
5
-19
-32
59
6
26
0
0
0
0
0
0
0
0
0
0
0
-3
-5
46
-8
-52
65
0
0
0
0
0
0
0
0
0
0
4
-1
0
-3
-17
24
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
5
-24
-33
-41
3
103
0
0
0
-1
0
0
0
0
0
0
0
-12
0
-19
-7
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
22
-32
71
2
2
-29
57
6
0
0
0
0
0
0
0
0
2
40
42
-22
-15
-63
58
90
-25
1
0
0
0
0
0
0
0
8
-5
-4
53
-31
-3
-51
104
-22
8
0
0
0
0
0
0
0
0
-2
19
-5
9
-2
9
12
19
0
0
0
0
0
0
0
0
0
-1
-2
4
-6
-17
-16
30
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-92
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-10
17
31
-29
7
0
0
0
0
0
0
0
0
0
0
0
-2
14
19
21
27
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
-54
9
43
-6
41
-33
-10
0
0
0
0
0
0
0
0
1
-21
-11
-65
-34
41
-41
-16
-30
-5
0
0
0
0
0
0
0
0
-18
28
-48
2
79
33
-31
24
0
0
0
0
0
0
0
0
1
0
8
44
-1
-12
55
-7
-36
1
0
0
0
0
0
0
0
0
0
1
-15
2
-3
18
-41
-17
0
0
0
0
0
0
0
0
0
0
0
-7
0
22
50
-25
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-9
13
37
25
14
81
0
0
0
0
0
0
0
0
0
0
2
7
3
-39
-83
35
-59
0
0
0
0
0
0
0
0
0
0
0
2
32
38
65
-13
-6
-4
43
-5
0
0
0
0
0
0
0
0
50
8
55
-28
-47
6
45
-26
13
-16
0
0
0
0
0
0
0
0
-47
-13
-37
-3
-64
-39
-137
-48
7
-1
0
0
0
0
0
0
0
-1
-7
51
41
12
67
-115
-9
-4
2
0
0
0
0
0
0
0
0
-1
-44
12
95
17
53
-37
-8
0
0
0
0
0
0
0
0
0
-4
-7
7
-25
48
-118
-16
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
31
0
0
0
0
0
0
0
0
0
0
2
12
-13
-42
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-17
2
20
76
-25
0
0
0
2
0
0
0
0
0
0
0
-3
71
-17
34
14
48
69
14
-7
0
0
0
0
0
0
0
0
11
-38
-1
32
27
23
52
-11
42
-1
-1
0
0
0
0
0
0
-3
30
44
-62
-21
-40
-86
-67
-99
-1
2
0
0
0
0
0
0
0
-24
7
12
-116
-39
-32
-30
14
-2
0
0
0
0
0
0
0
0
-7
-18
28
49
-32
-34
39
62
7
0
0
0
0
0
0
0
0
0
-1
-12
-26
-52
3
18
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
0
0
0
0
-25
-45
24
-15
52
0
0
0
33
0
0
0
0
0
0
0
-6
32
-14
-55
65
30
0
0
0
-1
1
0
0
0
0
0
0
0
32
17
0
56
93
-3
25
-11
-1
0
0
0
0
0
0
0
4
45
-54
38
20
-37
-91
-5
54
-36
0
0
0
0
0
0
0
-7
-41
50
62
-15
-68
71
-6
-40
42
0
0
0
0
0
0
0
-8
-2
-4
-28
-59
-1
-4
26
-16
3
0
0
0
0
0
0
0
0
0
16
-6
-60
-36
-145
43
-2
15
0
0
0
0
0
0
0
0
0
-5
-9
-1
-27
45
52
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-7
-6
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
1
8
2
-19
7
9
2
-2
0
0
0
0
0
0
0
0
0
3
-6
24
14
-13
24
0
-1
0
0
0
0
0
0
0
0
0
4
7
-2
-9
-13
25
6
-8
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
-1
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-41
15
30
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-10
7
-1
3
0
0
0
0
0
0
0
0
0
0
4
6
0
-4
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-5
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
3
-13
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-17
-9
25
-30
23
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-27
29
-20
25
14
8
0
0
0
0
0
0
0
0
0
0
-4
12
9
-24
23
42
-30
0
0
0
0
0
0
0
0
0
1
0
24
3
72
-42
47
29
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-25
82
-8
67
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
-34
-36
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
1
22
-9
-3
13
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
13
12
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
17
5
30
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-18
1
9
0
0
0
-2
1
0
0
0
0
0
0
0
3
10
3
0
4
18
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
3
13
25
0
0
0
0
0
0
0
0
0
0
1
0
-2
12
33
12
0
8
0
0
0
0
0
0
0
0
0
1
-3
0
0
-1
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
30
20
7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
5
-8
-18
-23
7
16
0
0
0
0
0
0
0
0
0
0
0
0
-70
-1
0
29
20
-49
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-10
-2
-20
0
0
0
0
0
0
0
0
4
29
-7
0
23
-15
31
-78
-22
0
0
0
0
0
0
0
0
0
0
33
-8
12
-55
-17
-17
3
0
0
0
0
0
0
0
0
0
3
5
10
3
25
5
7
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
-3
11
-82
-34
11
4
0
0
0
0
0
0
0
0
0
0
0
12
17
-64
120
0
15
0
0
0
0
0
0
0
0
0
0
0
1
-49
55
50
29
7
-1
84
4
0
0
0
0
0
0
0
0
1
58
42
12
-2
41
88
-12
-5
-1
0
0
0
0
0
0
0
2
-7
41
-46
-3
-34
-102
47
-11
5
0
0
0
0
0
0
0
-1
0
-6
31
2
-19
22
-49
58
-1
0
0
0
0
0
0
0
0
0
-8
-2
-7
26
-47
-25
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
10
-91
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
-80
1
0
0
0
0
0
0
0
0
0
8
9
-51
65
21
0
0
0
0
0
0
0
0
0
0
0
15
-35
-14
28
-24
54
0
0
0
0
0
0
0
0
0
0
0
-9
44
-38
56
13
24
-17
50
8
5
0
0
0
0
0
0
0
6
13
-35
0
-70
22
-74
69
-22
1
0
0
0
0
0
0
0
-3
71
7
-20
-33
-53
-93
-11
13
8
1
0
0
0
0
0
0
-10
2
-12
-41
-34
10
-45
-31
-47
-3
0
0
0
0
0
0
0
2
6
-8
-24
4
64
-61
-91
10
0
0
0
0
0
0
0
0
0
0
0
8
8
0
-32
-69
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
3
-1
20
-25
-35
49
-74
0
0
0
0
0
0
0
0
0
0
1
7
-60
96
-39
16
-14
0
0
0
1
0
0
0
0
0
0
-16
66
33
23
8
11
-56
-33
-26
50
0
-1
0
0
0
0
0
0
1
-30
-19
86
105
47
36
-45
20
7
0
0
0
0
0
0
0
-4
-20
-26
70
99
78
-80
-47
-78
17
1
0
0
0
0
0
0
0
8
-4
28
-68
-88
-44
-83
-45
12
0
0
0
0
0
0
0
0
0
6
-17
27
67
79
44
-83
-14
0
0
0
0
0
0
0
0
0
0
17
24
-36
31
113
-55
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-74
3
0
0
0
0
0
0
0
0
17
136
7
-42
-60
35
0
0
0
0
0
0
0
0
0
0
0
-6
8
-78
-32
3
13
0
0
0
-6
0
0
0
0
0
0
0
6
-1
8
-19
-44
-64
-44
23
-12
0
0
0
0
0
0
0
0
-21
51
3
-28
64
-3
-54
-4
-76
0
0
0
0
0
0
0
0
-1
18
-23
-33
37
97
-21
-68
55
0
0
0
0
0
0
0
-3
0
-6
22
54
45
-17
-103
-28
-87
-5
0
0
0
0
0
0
0
0
6
19
81
11
-72
-154
15
-60
12
0
0
0
0
0
0
0
0
3
-7
-9
3
8
122
29
45
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-26
3
0
0
0
0
0
0
0
0
-5
1
41
-40
58
13
0
0
0
-1
0
0
0
0
0
0
0
0
-9
14
62
27
30
0
0
0
-7
0
0
0
0
0
0
0
2
-53
-15
-24
67
-40
96
16
-17
1
1
0
0
0
0
0
0
10
-5
-18
-1
-12
77
-68
-49
-58
-18
0
0
0
0
0
0
0
0
43
36
8
18
-11
-76
-58
15
18
-1
0
0
0
0
0
0
0
31
-69
79
74
48
14
-167
-66
24
0
0
0
0
0
0
0
0
2
-22
54
-58
-73
-55
-18
-60
-30
0
0
0
0
0
0
0
0
-1
0
5
-8
64
6
51
23
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
4
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
3
25
2
-1
14
-13
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-12
-17
-13
0
3
0
0
0
0
0
0
0
0
0
0
-2
-3
17
16
-7
-19
-5
7
0
0
0
0
0
0
0
0
0
0
0
-1
2
9
-32
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-38
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
0
13
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-31
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
56
7
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
0
0
0
2
-1
0
24
1
-10
0
0
0
0
0
0
0
0
0
0
0
5
63
24
-30
16
1
0
0
0
0
0
0
0
0
0
0
0
0
-73
-4
-130
15
11
0
-5
-44
0
0
0
0
0
0
0
0
0
0
9
41
-61
17
-17
23
-23
0
0
0
0
0
0
0
0
0
0
-4
-21
40
57
11
34
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-12
-6
33
119
50
0
0
0
0
0
0
0
0
0
1
0
-1
1
-3
-4
73
2
0
0
0
0
0
0
0
0
0
0
-4
1
0
2
17
65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-10
-2
-5
0
0
0
9
0
0
0
0
0
0
0
0
0
2
-6
19
19
-2
-12
-12
1
0
0
0
0
0
0
0
0
0
0
2
-8
5
-29
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-15
14
6
0
0
0
0
0
0
0
0
0
0
0
-2
6
10
-7
20
27
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
-27
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
4
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
-2
-1
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
9
0
-5
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
-13
-37
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
2
-5
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
8
1
25
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
24
0
0
0
0
0
0
0
0
0
9
0
-5
-20
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
52
2
-50
-17
-60
0
0
0
0
0
0
0
0
0
0
0
0
8
26
-111
12
-5
-14
-26
5
0
0
0
0
0
0
0
0
2
0
-3
2
-24
-41
24
43
-61
0
0
0
0
0
0
0
0
-8
-4
0
0
0
-4
35
54
-10
0
0
0
0
0
0
0
0
-8
0
0
-6
-6
41
-14
-39
-42
0
0
0
0
0
0
0
0
0
0
8
4
-10
-25
-13
-35
-34
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-47
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
-31
0
-16
-44
7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-59
66
-79
19
0
0
0
0
0
0
0
0
0
0
0
0
9
-107
2
-62
-129
-22
-9
-48
0
0
0
0
0
0
0
0
-10
13
6
66
-21
-80
35
-12
-15
0
0
0
0
0
0
0
0
12
40
5
-7
0
0
4
9
-15
0
0
0
0
0
0
0
0
-2
-2
5
0
0
66
-36
-71
-86
0
0
0
0
0
0
0
0
0
0
0
3
-29
-56
-40
-82
58
2
0
0
0
0
0
0
0
0
0
-6
0
0
6
23
16
62
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-55
0
0
0
0
0
0
0
0
0
-8
0
-42
-16
-16
15
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
91
-17
46
0
0
0
2
0
0
0
0
0
0
0
0
-13
5
53
8
-44
-23
21
63
-4
0
0
0
0
0
0
0
0
-11
-57
-81
-1
4
113
64
-35
0
0
0
0
0
0
0
0
5
3
3
5
2
0
5
75
25
0
0
0
0
0
0
0
0
24
-53
-5
-21
-79
12
53
-61
-59
1
0
0
0
0
0
0
0
-7
-3
-10
-16
-29
-79
-54
-171
-102
-6
0
0
0
0
0
0
0
0
0
0
-20
-1
-1
24
-47
-66
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-73
20
0
0
0
0
0
0
0
0
-13
-60
-22
8
-27
19
0
0
0
-2
0
0
0
0
0
0
-8
29
-6
38
18
12
6
0
0
0
0
0
0
0
0
0
0
0
14
-47
11
18
-35
-32
11
-135
16
0
-1
0
0
0
0
0
25
0
49
5
-69
36
-27
-7
-34
117
18
0
0
0
0
0
0
0
-7
-6
-34
74
12
8
0
-9
-52
-8
0
0
0
0
0
0
0
24
16
-34
24
23
46
-19
-82
-2
5
0
0
0
0
0
0
0
0
3
-2
65
37
46
-54
-6
-102
-40
0
0
0
0
0
0
0
0
0
0
0
-43
23
50
-1
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
-78
0
0
0
0
0
0
0
0
0
-5
36
-9
54
-2
-13
0
0
0
0
0
0
0
0
0
0
0
16
30
-30
18
-43
32
0
0
0
-4
0
0
0
0
0
0
0
12
-14
18
-25
95
9
-52
-13
-101
0
0
0
0
0
0
0
0
-35
-25
14
-26
9
-41
67
-9
-17
6
0
0
0
0
0
0
0
32
52
103
42
64
-75
-7
0
-1
1
0
0
0
0
0
0
0
3
56
-46
-38
25
107
-3
4
-13
4
0
0
0
0
0
0
0
0
-13
26
-77
9
49
40
-86
-146
0
0
0
0
0
0
0
0
0
0
44
24
-45
39
-41
-40
-60
4
0
0
0
0
0
0
0
0
0
0
0
2
-3
19
-68
-33
0
0
0
0
0
0
0
0
5
-25
0
-55
12
7
0
0
0
-22
0
0
0
0
0
0
0
1
40
-6
-1
69
51
0
0
0
-3
0
0
0
0
0
0
0
4
-95
28
39
52
25
-4
-76
13
-50
0
0
0
0
0
0
0
0
-51
51
-49
49
32
-73
-52
43
-8
0
0
0
0
0
0
0
0
-11
34
38
131
110
-57
0
0
-2
0
0
0
0
0
0
0
0
27
-65
37
52
-89
-78
-27
1
-2
0
0
0
0
0
0
0
0
0
23
82
-51
10
26
-78
-59
1
0
0
0
0
0
0
0
3
0
4
2
65
24
24
-48
37
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
2
20
0
0
0
10
4
0
0
0
0
0
0
0
0
0
0
8
-2
2
7
-14
0
-10
0
0
0
0
0
0
0
0
0
5
-7
7
-2
-33
25
5
0
0
0
0
0
0
0
0
0
0
0
-5
1
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-1
-4
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-7
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
17
-26
-8
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-15
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
43
68
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-46
0
0
0
0
0
0
0
0
0
1
5
-4
13
-3
2
0
0
0
0
0
0
0
0
0
0
0
6
10
-34
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-71
-24
8
33
1
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
31
-13
-42
-25
0
0
0
0
0
0
0
0
0
0
-1
18
24
-12
42
32
-20
-48
0
0
0
0
0
0
0
0
0
0
-3
-4
-7
17
30
29
59
0
0
0
0
0
0
0
0
0
0
0
-5
-15
32
19
-56
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-7
-56
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
0
0
0
0
0
0
0
3
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
24
6
5
0
-5
-7
-2
0
0
0
0
0
0
0
0
0
4
-20
-4
-29
-19
-13
-16
-3
0
0
0
0
0
0
0
0
0
0
9
-29
-3
-7
-36
21
0
0
0
0
0
0
0
0
0
0
0
2
0
10
7
23
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
25
25
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
25
72
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
32
7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-6
-3
4
-27
32
-2
2
0
0
0
0
0
0
0
0
0
-5
2
-6
29
13
-3
1
-1
0
0
0
0
0
0
0
-13
0
0
-1
-5
-18
-21
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
8
-17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
7
10
3
29
0
0
0
0
0
0
0
0
0
0
0
-4
-13
29
31
3
6
0
0
0
0
0
0
0
0
0
0
0
0
3
11
55
-10
7
3
-75
-13
0
0
0
0
0
0
0
0
-12
0
48
-69
-91
-1
-128
9
26
0
0
0
0
0
0
0
0
9
4
5
0
-40
24
-23
-75
31
0
0
0
0
0
0
0
0
0
2
0
0
1
-17
74
17
38
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
5
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
-46
-25
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
4
50
73
25
1
0
0
0
0
0
0
0
0
0
0
20
-1
-1
-21
39
-15
58
0
0
0
0
0
0
0
0
0
0
-5
1
2
-126
-9
43
-42
22
31
42
0
0
0
0
0
0
0
0
12
17
15
12
3
-54
-39
-6
-4
0
0
0
0
0
0
0
0
-6
-15
-21
-4
-1
-19
-42
-91
76
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
0
-33
42
2
-1
0
0
0
0
0
0
0
0
-1
-27
0
-5
20
39
-45
105
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-46
-52
17
-45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
0
0
0
-3
32
-45
-20
1
-3
0
0
0
0
0
0
0
0
0
0
0
-13
-20
-16
57
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-9
1
76
53
-16
21
-18
40
-29
0
0
0
0
0
0
0
0
2
-37
40
9
-32
46
30
131
99
0
0
0
0
0
0
0
0
-14
48
-25
66
5
-1
20
19
49
4
0
0
0
0
0
0
0
0
72
-29
-51
1
0
-4
3
-3
-4
0
0
0
0
0
0
0
0
0
-25
-22
-8
2
-49
-25
33
1
0
0
0
0
0
0
0
0
0
-2
0
-34
-5
-135
-73
-126
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
6
-1
50
-56
18
-49
5
0
0
0
0
0
0
0
0
0
0
1
-40
-25
-55
104
-3
71
0
0
0
4
0
0
0
0
0
0
6
23
50
-36
14
-49
-12
62
-40
-4
-4
-1
0
0
0
0
0
0
41
-31
40
6
31
31
-20
-136
20
0
0
0
0
0
0
0
2
28
-71
68
13
-84
-22
25
-78
-88
0
0
0
0
0
0
0
1
10
-21
49
60
34
0
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
-41
6
23
-23
2
-4
-45
0
0
0
0
0
0
0
0
0
0
0
7
10
-6
-18
-56
-159
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
7
0
0
0
0
0
0
0
0
9
-52
0
29
74
9
0
0
0
0
0
0
0
0
0
0
-7
12
52
-89
8
13
-66
0
0
0
0
0
0
0
0
0
0
0
-16
13
21
32
9
-6
-57
96
-5
-2
-3
0
0
0
0
0
0
-60
-2
-111
3
16
-55
-54
3
-110
-2
0
0
0
0
0
0
0
-19
11
64
-15
-83
-58
-65
24
-58
24
0
0
0
0
0
0
0
2
59
139
32
73
-1
39
0
0
-2
0
0
0
0
0
0
0
0
8
-24
-21
28
-62
7
73
-133
-8
0
0
0
0
0
0
0
0
0
26
4
16
21
-112
0
-123
0
0
0
0
0
0
0
0
0
0
0
2
-7
-7
10
40
7
0
0
0
0
0
0
0
0
0
-3
-51
-51
34
-1
0
0
0
-20
0
0
0
0
0
0
0
0
-8
-88
-57
21
-13
0
0
0
14
0
0
0
0
0
0
0
2
48
-20
-46
51
43
16
4
76
1
0
0
0
0
0
0
0
-1
9
68
45
38
-67
-78
-86
-4
-37
0
0
0
0
0
0
0
-2
87
40
7
1
-38
-51
-47
0
-5
0
0
0
0
0
0
0
0
-5
6
68
37
99
-81
-2
0
0
0
0
0
0
0
0
0
0
0
44
53
6
-122
-34
6
19
2
0
0
0
0
0
0
0
0
0
0
-15
-79
57
11
-51
-63
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-16
3
0
0
0
0
0
0
0
0
0
2
-6
2
0
-8
-5
7
-10
0
0
0
0
0
0
0
0
0
-1
19
32
-3
4
-29
1
1
0
0
0
0
0
0
0
0
0
0
-2
9
3
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-66
0
0
0
0
0
0
0
0
0
0
5
-8
6
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
1
6
25
-30
7
14
4
0
9
0
0
0
0
0
0
0
0
0
0
41
-4
-5
-50
-10
-2
-8
0
0
0
0
0
0
0
0
0
-13
0
1
30
8
-7
-25
-27
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
-84
-30
-32
0
0
0
0
0
0
0
0
0
0
0
7
-5
54
-18
64
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
5
-22
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-48
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
5
57
1
0
0
8
0
0
0
0
0
0
0
0
0
0
19
-1
-5
-16
-25
10
7
0
0
0
0
0
0
0
0
0
0
-40
-1
-7
-1
-12
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
37
-13
-1
15
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
-7
64
15
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
15
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
17
-6
4
-6
-1
0
0
0
0
0
0
0
0
0
-1
-2
0
53
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
40
-2
6
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-5
6
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
16
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
26
30
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-10
41
7
0
0
10
0
0
0
0
0
0
0
0
0
0
16
69
-93
-74
-6
-32
-55
0
0
0
0
0
0
0
0
0
6
9
-25
-62
-86
-9
-31
-2
0
0
0
0
0
0
0
0
0
-8
-4
0
-9
130
74
-70
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
19
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-39
0
0
0
0
0
0
0
0
0
0
4
4
70
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
-45
29
-14
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-50
-18
-33
32
0
-6
0
0
0
0
0
0
0
0
0
5
30
-31
44
-41
34
-13
-22
0
0
0
0
0
0
0
0
6
-30
12
-42
-10
-28
-58
-16
-45
0
0
0
0
0
0
0
0
0
0
4
8
0
61
-74
-134
7
0
0
0
0
0
0
0
0
0
8
-2
2
0
-1
17
7
-8
0
0
0
0
0
0
0
0
4
1
-3
0
3
-21
-92
-13
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
59
2
0
0
0
0
0
0
0
0
0
-6
28
5
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
52
12
105
-42
0
0
0
0
0
0
0
0
0
0
0
0
8
34
-33
-28
54
8
7
80
0
0
0
0
0
0
0
0
-2
-6
-76
-27
-94
35
-7
-42
197
0
0
0
0
0
0
0
0
-2
-85
-53
-47
58
-54
-100
-123
28
0
0
0
0
0
0
0
0
0
17
44
43
16
1
18
-124
7
0
0
0
0
0
0
0
0
0
-2
-45
-27
-6
0
0
45
4
0
0
0
0
0
0
0
0
0
0
0
-29
-2
0
-120
-41
-7
30
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-14
0
0
0
0
0
0
0
0
0
-19
14
43
53
-3
0
0
0
8
0
0
0
0
0
0
0
0
-33
-3
-13
110
25
0
0
0
29
-1
0
0
0
0
0
-4
5
-7
9
57
-60
43
-5
-30
-73
0
0
0
0
0
0
0
-3
0
-15
-59
-21
-8
-70
94
18
-3
-6
0
0
0
0
0
0
0
-10
84
11
-15
34
-67
-67
-28
-58
-25
0
0
0
0
0
0
0
2
-41
-54
-11
28
-79
17
22
-144
33
0
0
0
0
0
0
0
0
-3
30
8
-25
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
21
-10
-25
-25
0
-17
-51
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-76
0
-1
0
0
0
0
0
0
0
1
-64
-36
-11
-57
-46
0
0
0
-2
0
0
0
0
0
0
0
9
-7
36
3
-9
6
0
0
0
2
0
0
0
0
0
0
0
5
17
-11
3
-66
-49
14
14
17
-1
-1
0
0
0
0
0
0
-38
36
-42
-22
-6
23
-77
33
-125
3
0
0
0
0
0
0
0
-7
11
4
-4
-31
24
114
-22
71
0
0
0
0
0
0
0
0
-15
-14
10
16
-32
7
-71
-5
-20
1
0
0
0
0
0
0
0
10
8
65
40
-6
-132
15
0
0
8
0
0
0
0
0
0
0
0
-2
-24
-45
15
-100
-15
0
-24
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
0
0
0
0
0
0
0
0
0
-54
5
-39
2
-5
0
0
0
-8
0
0
0
0
0
0
0
0
-8
32
-14
7
-28
0
0
0
4
0
0
0
0
0
0
0
0
7
-62
-25
-10
46
6
-25
6
28
0
0
0
0
0
0
0
39
13
-43
-27
133
4
2
-17
29
2
0
0
0
0
0
0
0
-1
-46
-80
-28
-26
-65
-37
-159
-13
-27
0
0
0
0
0
0
0
0
1
61
9
-88
-62
-15
-25
0
-13
0
0
0
0
0
0
0
0
-1
43
31
-12
-67
-66
2
0
0
0
0
0
0
0
0
0
0
0
-49
86
29
4
0
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
8
-55
0
0
0
0
0
0
0
0
0
0
8
-4
-5
0
2
-1
16
0
0
0
0
0
0
0
0
0
1
0
-7
8
-22
7
-2
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
-13
-61
0
-5
0
0
0
0
0
0
0
0
0
0
5
-17
9
22
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
-16
25
-7
2
0
0
0
0
0
0
0
0
0
0
1
0
5
-7
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
1
-16
9
-1
1
3
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-2
9
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-8
-8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-9
4
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
1
-3
0
0
0
0
0
0
0
0
0
-1
-5
1
21
-40
43
59
8
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-6
-49
39
-3
0
0
0
0
0
0
0
0
0
0
-3
0
8
-30
-19
-26
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-42
30
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-20
0
-5
0
0
0
-5
0
0
0
0
0
0
0
0
4
6
35
-17
-49
-4
-4
2
0
0
0
0
0
0
0
0
0
0
-7
0
-28
9
13
-9
-58
-14
0
0
0
0
0
0
0
0
0
0
1
-8
7
-46
-134
-75
10
0
0
0
0
0
0
0
0
0
2
5
-1
0
52
61
40
37
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
-35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
52
13
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-34
-7
12
-1
1
5
0
0
0
0
0
0
0
0
0
0
10
66
-32
3
2
-6
-45
0
0
0
0
0
0
0
0
1
3
0
-68
11
52
-52
-65
5
0
0
0
0
0
0
0
0
0
0
-8
7
-38
-57
-5
-6
57
0
0
0
0
0
0
0
0
0
0
-1
56
21
0
-4
-56
-43
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
-13
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-1
0
0
0
0
0
0
0
0
0
0
-5
2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
6
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-46
-49
30
45
6
13
0
0
0
0
0
0
0
0
0
8
1
-12
-52
45
5
16
10
15
1
0
0
0
0
0
0
0
-3
-28
20
-56
25
-105
41
7
-39
0
0
0
0
0
0
0
0
1
-1
4
31
21
-52
1
-145
19
-5
0
0
0
0
0
0
0
0
-14
-5
-48
17
13
-3
-9
-75
2
0
0
0
0
0
0
0
-6
0
-20
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
-1
0
0
-3
0
0
-19
0
0
0
0
0
0
0
0
0
21
26
29
0
-16
0
0
0
0
0
0
0
0
0
0
0
8
-8
-7
11
-4
-30
0
0
0
-3
0
0
0
0
0
0
0
-1
-25
-18
95
43
-4
-3
-1
-82
0
0
0
0
0
0
0
0
-25
-7
17
-23
-21
-27
90
-30
-39
0
0
0
0
0
0
0
0
0
-3
24
38
-75
-20
-58
-16
1
0
0
0
0
0
0
0
0
0
-10
-40
-4
-115
80
-40
5
-125
-4
0
0
0
0
0
0
0
0
-5
31
-12
-32
-9
-71
-8
22
-2
0
0
0
0
0
0
0
0
2
5
12
-28
5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
-4
12
0
0
0
-14
0
0
0
0
0
0
0
0
-1
2
1
-25
4
7
0
2
7
0
0
0
0
0
0
0
0
0
0
0
7
-8
8
14
0
-17
0
0
0
0
0
0
0
0
0
6
-2
0
-8
-58
-36
1
12
0
0
0
0
0
0
0
0
0
2
-28
4
-170
9
-12
-13
34
0
0
0
0
0
0
0
0
0
0
-2
-19
16
-50
-10
0
-6
0
0
0
0
0
0
0
0
0
0
-2
-17
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-3
-3
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-22
-3
-39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-23
27
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-8
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
37
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
-7
-4
-24
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
1
23
-29
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
-7
5
-31
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
-3
-12
-1
7
0
0
0
0
0
0
0
0
0
0
0
4
-8
41
-23
2
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
25
6
1
0
-8
0
0
0
0
0
0
0
0
4
1
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-41
24
3
6
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-3
10
-7
5
2
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
12
1
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
-3
0
3
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-8
1
29
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
0
0
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-2
8
30
0
2
0
0
0
0
0
0
0
0
0
0
5
6
40
16
-5
0
-1
1
-1
0
0
0
0
0
0
0
0
4
-10
31
-1
0
1
-28
14
0
0
0
0
0
0
0
0
0
-68
41
-2
-34
-1
1
0
0
0
0
0
0
0
0
0
0
0
-16
21
-4
3
-6
-6
-7
0
0
0
0
0
0
0
0
0
0
-1
6
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
5
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
49
17
41
47
27
6
0
16
0
0
0
0
0
0
0
0
0
23
18
-13
21
-39
-17
5
0
0
0
0
0
0
0
0
0
5
76
-45
40
-33
0
-7
-9
-6
0
0
0
0
0
0
0
0
-8
57
-2
14
-41
1
10
2
1
0
0
0
0
0
0
0
0
-2
-3
-4
5
-7
2
0
0
0
0
0
0
0
0
0
0
0
-3
-35
0
27
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
12
-14
5
9
0
0
0
0
0
0
0
0
0
0
5
-41
-19
40
-19
-13
2
7
0
0
0
0
0
0
0
0
0
16
3
-23
43
50
32
13
8
19
2
0
0
0
0
0
0
0
-6
12
59
14
0
27
-25
-20
0
0
0
0
0
0
0
0
0
-6
-31
1
24
38
-13
22
-1
0
0
0
0
0
0
0
0
0
6
5
36
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
6
18
5
33
-42
13
0
0
0
0
0
0
0
0
0
0
-21
8
134
1
-2
-71
-15
-7
2
0
0
0
0
0
0
0
0
0
45
1
30
-6
37
30
4
0
0
0
0
0
0
0
0
0
46
1
-31
35
6
-24
23
2
0
0
0
0
0
0
0
0
0
15
21
13
-8
47
41
2
0
-1
0
0
0
0
0
0
0
0
43
17
117
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
85
-9
-45
54
0
0
4
0
0
0
0
0
0
0
0
0
0
-46
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
-7
4
-1
0
0
0
0
0
0
0
0
0
0
0
13
5
16
13
3
-4
0
-1
0
0
0
0
0
0
0
0
0
5
1
16
19
5
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-30
8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
8
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-20
-5
13
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-38
-17
14
9
-14
-2
-1
0
0
0
0
0
0
0
0
0
0
49
19
-1
7
-6
-3
0
0
0
0
0
0
0
0
0
0
-1
30
2
-7
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
4
9
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
71
-2
-2
-2
1
0
0
0
0
0
0
0
0
0
1
-13
29
5
-4
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
2
3
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
12
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-8
0
-1
0
0
0
0
0
0
0
0
0
-8
2
1
0
2
0
5
0
0
0
0
0
0
0
0
0
0
2
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-2
-15
-9
19
0
0
0
0
0
0
0
0
0
0
-9
-16
2
41
0
19
6
-1
1
0
0
0
0
0
0
0
0
1
3
-2
5
-4
-18
6
-7
-1
0
0
0
0
0
0
0
0
22
7
6
-6
2
4
0
1
0
0
0
0
0
0
0
0
0
2
-7
-6
18
1
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
3
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
8
-32
3
31
7
7
0
0
0
0
0
0
0
0
0
47
21
21
2
-2
25
-17
0
-5
0
0
0
0
0
0
0
0
-18
93
-43
-1
43
8
9
2
0
0
0
0
0
0
0
0
0
63
142
-19
3
23
18
-23
-1
0
0
0
0
0
0
0
0
0
-27
2
-24
27
-6
-8
-9
2
0
0
0
0
0
0
0
0
0
42
-31
34
29
10
-2
30
-1
0
0
0
0
0
0
0
0
0
39
-30
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
46
-27
28
4
-18
0
0
0
0
0
0
0
0
0
0
-8
8
-29
17
-11
21
-6
17
0
0
0
0
0
0
0
0
0
-18
-19
0
-28
15
68
-25
6
-13
0
0
0
0
0
0
0
0
1
51
94
23
-27
-15
-20
38
0
0
0
0
0
0
0
0
0
1
55
64
56
33
0
-1
-7
-3
0
0
0
0
0
0
0
0
29
9
48
13
-13
1
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-1
-13
-1
-7
-2
14
-2
0
0
0
0
0
0
0
0
0
49
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
20
36
34
-5
-5
13
-7
0
0
0
0
0
0
0
0
0
60
-40
-34
43
-14
-31
11
1
-9
0
0
0
0
0
0
0
0
1
107
5
-32
-42
-54
-50
-15
2
-1
0
0
0
0
0
0
0
21
-12
26
23
41
-6
-4
48
-8
0
0
0
0
0
0
0
0
-16
49
-5
0
5
28
-20
6
0
-3
0
0
0
0
0
0
0
62
-34
41
-8
-30
-5
3
-5
0
0
0
0
0
0
0
0
0
-50
9
39
3
2
-1
4
2
0
0
0
0
0
0
0
0
0
3
-9
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
66
30
8
-47
49
22
-5
0
0
0
0
0
0
0
0
0
-22
97
18
33
74
3
57
-28
1
0
0
0
0
0
0
0
0
11
5
91
57
8
86
-79
-55
4
2
0
0
0
0
0
0
0
-14
57
30
-9
5
18
-4
32
-8
-2
0
0
0
0
0
0
0
-30
13
-65
46
-7
36
24
56
8
0
0
0
0
0
0
0
0
-24
68
-8
34
-14
29
32
11
0
0
0
0
0
0
0
0
0
13
27
29
15
-5
13
0
0
0
0
0
0
0
0
0
0
0
1
59
31
73
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
14
-20
9
40
21
56
0
0
0
0
0
0
0
0
0
0
103
46
85
43
82
-29
21
-45
0
0
0
0
0
0
0
0
0
-30
17
-12
-28
71
-64
-76
-25
-7
0
0
0
0
0
0
0
0
124
14
74
9
34
-42
10
72
0
0
0
0
0
0
0
0
0
14
59
-43
-130
30
-5
27
53
0
0
0
0
0
0
0
0
0
11
-103
19
46
10
31
1
0
0
0
0
0
0
0
0
0
0
49
65
-6
68
-13
0
1
0
0
0
0
0
0
0
0
0
0
-3
-6
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
-5
-21
0
3
0
0
0
0
0
0
0
0
0
19
53
120
75
-5
-29
0
-2
0
0
0
0
0
0
0
0
0
4
19
6
0
-4
15
-24
4
0
0
0
0
0
0
0
0
0
-31
22
-19
31
2
16
2
0
0
0
0
0
0
0
0
0
0
6
2
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
0
5
1
5
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
-22
-1
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
6
5
-2
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
-1
-4
1
2
3
-2
0
0
0
0
0
0
0
0
0
2
-10
10
-24
3
-4
33
1
0
0
0
0
0
0
0
0
0
3
0
-36
29
31
10
-9
-1
0
0
0
0
0
0
0
0
0
0
57
12
-2
-8
4
-7
1
5
0
0
0
0
0
0
0
0
0
-1
24
18
-3
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
13
3
0
0
0
7
4
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
33
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
6
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-7
-6
-3
2
0
0
0
0
0
0
0
0
0
0
0
5
-19
5
0
-6
1
0
0
0
0
0
0
0
0
0
0
-2
-16
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
0
-1
-1
5
-1
0
0
0
0
0
0
0
0
0
5
0
22
-1
3
0
0
0
1
0
0
0
0
0
0
0
0
-3
3
-1
-1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
36
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
3
1
24
-1
2
0
0
0
0
0
0
0
0
0
7
-16
41
-19
-2
-19
8
0
0
0
0
0
0
0
0
0
0
-2
3
-8
5
-2
33
-8
0
0
0
0
0
0
0
0
0
0
-44
52
-6
-12
2
-1
-10
7
-3
0
0
0
0
0
0
0
0
-40
-2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-24
-61
-24
54
48
19
4
0
0
0
0
0
0
0
0
0
0
-31
64
-68
-26
8
11
4
-1
0
0
0
0
0
0
0
0
-107
9
58
121
11
1
-73
0
0
0
0
0
0
0
0
0
0
0
6
49
12
-43
-18
-22
-2
3
0
0
0
0
0
0
0
0
69
3
-3
-10
34
6
6
2
0
0
0
0
0
0
0
0
0
-34
61
18
-13
1
-2
0
-7
0
0
0
0
0
0
0
0
0
-2
27
5
21
0
-1
12
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
-31
-21
-1
-1
-123
4
0
0
0
0
0
0
0
0
0
6
33
150
39
-5
-11
-9
-17
-19
-1
0
0
0
0
0
0
0
16
25
16
-26
-35
123
7
-21
-4
0
0
0
0
0
0
0
0
4
77
-33
-27
-31
-53
-6
4
7
-2
0
0
0
0
0
0
0
-3
33
13
-5
32
31
40
-4
0
0
0
0
0
0
0
0
0
-2
14
87
22
8
25
-4
9
0
0
0
0
0
0
0
0
0
1
9
78
4
2
-2
-3
0
0
0
0
0
0
0
0
0
0
4
111
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
59
25
59
-16
-5
31
50
0
0
0
0
0
0
0
0
0
28
43
3
-24
-7
58
-21
24
-13
0
0
0
0
0
0
0
0
49
-5
-45
18
28
45
-15
-1
4
-1
0
0
0
0
0
0
0
45
51
29
-2
70
47
-6
-4
1
3
0
0
0
0
0
0
0
-6
-34
53
21
68
61
61
30
24
0
0
0
0
0
0
0
0
104
-10
26
22
101
33
8
-7
29
0
0
0
0
0
0
0
0
-74
-5
6
0
-12
-4
-3
0
0
0
0
0
0
0
0
0
0
34
24
-13
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
145
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
-38
-17
-24
13
-8
-7
0
0
0
0
0
0
0
0
0
-33
39
113
117
-62
49
-8
15
-9
0
0
0
0
0
0
0
0
58
-29
-15
204
123
-58
-2
-14
3
-3
0
0
0
0
0
0
0
-10
7
-13
49
16
-39
99
47
-49
0
0
0
0
0
0
0
0
-6
-24
-5
-27
-64
77
23
-17
47
0
0
0
0
0
0
0
0
13
-12
9
34
-13
-40
23
-11
5
5
0
0
0
0
0
0
0
-39
-3
-12
-25
-1
-17
-5
17
47
-1
0
0
0
0
0
0
0
-1
63
-28
-19
20
12
-4
8
0
0
0
0
0
0
0
0
0
40
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-22
8
-33
-30
-85
-43
0
4
0
0
0
0
0
0
0
0
88
47
43
-24
68
-49
69
18
0
2
0
0
0
0
0
0
0
42
110
50
-7
74
-67
-39
-3
-1
0
0
0
0
0
0
0
0
-46
31
85
21
-9
39
61
2
1
0
0
0
0
0
0
0
0
8
33
56
-146
-20
13
-47
60
1
0
0
0
0
0
0
0
0
-87
-40
27
-12
-6
21
41
-6
0
0
0
0
0
0
0
0
0
127
-46
-6
-5
16
7
6
3
2
0
0
0
0
0
0
0
0
-84
13
9
-1
0
13
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-3
-4
21
-9
3
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-5
0
-12
17
0
0
5
0
0
0
0
0
0
0
0
27
14
0
8
0
22
30
-3
0
0
0
0
0
0
0
0
0
-13
24
3
-19
8
-10
-9
4
0
0
0
0
0
0
0
0
0
1
51
30
8
-7
13
0
1
0
0
0
0
0
0
0
0
0
45
4
17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
3
13
-40
0
0
0
0
0
0
0
0
0
4
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
-6
-1
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
-3
9
6
-13
-6
-18
-54
-7
0
0
0
0
0
0
0
0
0
6
0
-7
-25
-40
-20
-25
20
0
0
0
0
0
0
0
0
0
2
0
-6
24
9
16
31
4
0
0
0
0
0
0
0
0
0
0
-41
1
47
58
-14
1
0
-3
0
0
0
0
0
0
0
0
0
40
59
9
-3
14
-1
7
-1
0
0
0
0
0
0
0
0
0
6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
16
1
4
4
-4
-7
8
0
0
0
0
0
0
0
0
0
0
6
-3
-8
22
1
-8
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
36
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
1
10
1
2
0
0
0
0
0
0
0
0
0
1
0
0
-53
3
0
3
0
-6
0
0
0
0
0
0
0
0
27
-29
42
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
1
12
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
0
0
-8
-3
1
0
0
0
0
0
0
0
0
0
4
-24
7
0
19
-42
9
3
0
0
0
0
0
0
0
0
0
-8
8
-6
15
-10
-16
4
-1
0
0
0
0
0
0
0
0
0
15
45
30
25
1
-6
0
0
-1
0
0
0
0
0
0
0
0
2
20
30
-5
9
0
22
0
0
0
0
0
0
0
0
0
0
4
-14
-1
12
2
8
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
6
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
46
38
2
14
14
10
0
0
0
0
0
0
0
0
0
74
41
66
3
-13
38
-40
7
-4
0
0
0
0
0
0
0
0
7
-22
-40
37
-36
5
-29
1
25
0
0
0
0
0
0
0
0
14
-29
-22
-18
27
0
-11
7
0
0
0
0
0
0
0
0
0
-23
-25
22
3
-8
54
26
3
10
0
0
0
0
0
0
0
0
-63
7
-11
35
40
-21
0
0
0
0
0
0
0
0
0
0
0
16
38
-5
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
24
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
-5
-23
-61
-9
26
24
0
0
0
0
0
0
0
0
0
4
-15
12
-15
83
103
-76
50
1
0
0
0
0
0
0
0
0
10
87
29
-30
44
-35
-18
-14
-44
-8
0
0
0
0
0
0
0
8
36
-34
-58
-2
-29
2
5
-3
0
0
0
0
0
0
0
0
-16
-23
48
24
31
-21
11
21
3
0
0
0
0
0
0
0
0
5
59
49
90
39
49
-23
-1
0
0
0
0
0
0
0
0
0
37
-45
20
33
-33
10
7
0
0
0
0
0
0
0
0
0
0
16
87
100
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
104
-8
54
18
-22
46
0
0
0
0
0
0
0
0
0
120
26
-39
9
21
-17
101
-11
11
0
0
0
0
0
0
0
0
16
61
100
23
-15
-3
-28
38
-7
5
0
0
0
0
0
0
0
142
-17
104
-30
17
66
46
8
-1
0
0
0
0
0
0
0
0
-9
10
-47
81
2
-10
77
42
1
0
0
0
0
0
0
0
0
18
66
-25
74
-31
23
-19
0
-1
0
0
0
0
0
0
0
0
43
13
-63
-7
53
41
-4
0
-1
0
0
0
0
0
0
0
0
31
48
9
23
1
0
0
0
0
0
0
0
0
0
0
0
0
12
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
9
34
22
-48
71
32
11
0
0
0
0
0
0
0
0
0
0
-41
17
-19
-41
-29
11
37
-13
-6
0
0
0
0
0
0
0
-66
-19
-6
-77
72
112
-59
72
47
-2
0
0
0
0
0
0
0
-21
17
6
23
78
-47
-4
19
0
0
0
0
0
0
0
0
0
-37
-49
-14
-29
50
8
61
-29
-37
0
0
0
0
0
0
0
0
15
8
-64
37
-19
-19
89
116
-14
2
0
0
0
0
0
0
0
55
28
-8
-24
-22
68
-3
65
49
2
0
0
0
0
0
0
0
-13
-36
-25
5
-9
-5
-5
41
0
0
0
0
0
0
0
0
0
38
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
134
95
-9
75
-57
-25
0
0
0
0
0
0
0
0
0
0
-7
11
-16
83
-51
52
-33
-25
0
0
0
0
0
0
0
0
0
-20
115
31
-1
-10
-28
-51
66
2
0
0
0
0
0
0
0
0
121
-16
31
-3
-51
40
-13
-10
0
0
0
0
0
0
0
0
0
43
38
-19
-3
-50
117
12
40
-2
0
0
0
0
0
0
0
0
2
9
37
2
22
18
22
-2
0
0
0
0
0
0
0
0
0
12
25
76
51
12
-10
-3
1
0
0
0
0
0
0
0
0
0
22
-25
-56
-4
9
0
-6
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
-30
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-12
50
4
-5
-7
0
0
0
0
0
0
0
0
0
0
0
30
0
3
-15
8
40
1
-1
0
0
0
0
0
0
0
0
0
-3
0
8
-4
15
-2
-3
0
0
0
0
0
0
0
0
0
0
-2
30
56
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
53
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
3
0
-1
-4
0
8
2
0
0
0
0
0
0
0
0
0
0
-5
3
-6
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-7
7
1
0
0
0
0
0
0
0
0
0
0
-10
-9
-25
14
58
2
19
-1
0
0
0
0
0
0
0
0
-1
16
0
-10
12
20
49
-3
-2
0
0
0
0
0
0
0
0
0
-20
0
-3
40
30
67
0
0
0
0
0
0
0
0
0
0
10
0
13
-58
-16
27
-9
-8
7
0
0
0
0
0
0
0
0
0
27
-13
7
52
53
-2
0
-1
0
0
0
0
0
0
0
0
1
21
-31
-32
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
-64
20
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
-4
-6
1
0
0
0
0
0
0
0
0
0
9
0
3
2
2
10
-6
0
0
0
0
0
0
0
0
0
0
-4
-8
5
13
-8
-4
0
0
0
0
0
0
0
0
0
0
0
41
0
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-19
40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
6
6
0
18
-2
-1
0
0
0
0
0
0
0
0
0
-1
4
-23
1
-4
5
13
2
0
0
0
0
0
0
0
0
0
-3
3
-1
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
-5
-2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-12
-4
-14
-2
-5
1
0
0
0
0
0
0
0
0
0
22
8
-34
-27
-8
136
-4
0
0
0
0
0
0
0
0
0
0
-5
6
-14
-6
32
26
13
-40
4
0
0
0
0
0
0
0
0
-31
6
6
51
-25
-12
-15
3
0
0
0
0
0
0
0
0
0
-5
-14
10
-37
0
0
-7
0
0
0
0
0
0
0
0
0
0
-133
41
25
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-17
-13
-18
-18
14
-7
0
0
0
0
0
0
0
0
0
-3
-42
-9
23
48
91
41
50
-4
0
0
0
0
0
0
0
0
6
18
44
26
-44
-10
14
42
-10
0
0
0
0
0
0
0
0
68
-113
-28
4
-62
-22
-8
13
3
0
0
0
0
0
0
0
0
-22
109
79
18
-46
0
-15
0
-4
0
0
0
0
0
0
0
0
-42
69
138
-40
-20
18
6
3
-1
0
0
0
0
0
0
0
0
17
52
-57
62
4
-1
5
0
0
0
0
0
0
0
0
0
0
3
117
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-33
-65
-5
-7
-9
-34
0
0
0
0
0
0
0
0
0
-17
45
-21
-12
31
48
37
23
91
0
0
0
0
0
0
0
0
9
52
-35
42
44
31
31
4
-24
2
0
0
0
0
0
0
0
-54
20
8
-19
12
43
-39
-15
5
0
0
0
0
0
0
0
0
2
34
44
61
68
14
0
-6
8
0
0
0
0
0
0
0
0
41
90
-32
48
-13
14
21
-1
-8
0
0
0
0
0
0
0
0
50
25
69
-27
29
-13
55
0
0
0
0
0
0
0
0
0
0
-3
49
-39
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-49
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
40
-101
105
33
-38
14
94
0
0
0
0
0
0
0
0
0
-40
66
52
32
-19
26
-5
30
15
0
0
0
0
0
0
0
0
0
9
-42
-29
0
41
93
130
24
-2
0
0
0
0
0
0
0
63
-9
183
-69
64
72
64
-25
-14
0
0
0
0
0
0
0
0
-67
61
80
9
72
11
-71
0
0
0
0
0
0
0
0
0
0
-46
35
-20
60
24
71
-8
70
-5
0
0
0
0
0
0
0
0
-1
37
41
51
-5
22
14
0
0
0
0
0
0
0
0
0
0
-31
-46
-77
21
4
-1
4
0
0
0
0
0
0
0
0
0
0
13
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-79
54
33
-53
39
22
-47
0
0
0
0
0
0
0
0
0
21
-10
-18
-9
9
-70
12
-70
30
0
0
0
0
0
0
0
0
38
24
17
-15
3
48
3
-11
-39
49
0
0
0
0
0
0
0
-17
9
-76
36
29
-42
5
-46
44
-1
0
0
0
0
0
0
0
4
-5
-42
28
49
-38
60
3
0
-1
0
0
0
0
0
0
0
16
-49
-94
56
112
-31
82
-50
59
0
0
0
0
0
0
0
0
12
6
102
40
60
20
113
31
-10
0
0
0
0
0
0
0
0
-21
-94
-69
-29
-1
24
63
-3
6
0
0
0
0
0
0
0
0
1
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
54
-30
65
105
62
-55
0
0
0
0
0
0
0
0
0
0
48
110
41
-2
-24
-63
-67
32
-1
0
0
0
0
0
0
0
0
38
17
75
72
-38
-21
34
-16
-1
0
0
0
0
0
0
0
0
35
64
115
-52
70
17
32
57
0
0
0
0
0
0
0
0
0
-12
62
-20
38
69
69
-2
2
0
0
0
0
0
0
0
0
0
-11
48
12
-52
-26
60
61
-31
13
0
0
0
0
0
0
0
0
126
-74
55
43
13
40
46
36
0
0
0
0
0
0
0
0
0
-6
51
-18
3
-4
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
20
-2
16
17
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
24
39
-42
-5
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-1
2
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
38
-27
-12
6
-5
-5
1
1
0
0
0
0
0
0
0
0
0
-22
16
15
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
1
13
-3
0
0
-3
1
0
0
0
0
0
0
0
0
0
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
12
-4
0
0
0
0
0
0
0
0
0
8
0
-2
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
7
29
22
15
0
4
2
0
0
0
0
0
0
0
0
0
0
0
27
7
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
13
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
-7
10
0
0
0
0
0
0
0
0
0
0
-4
3
0
-10
2
27
4
3
0
0
0
0
0
0
0
0
0
-5
0
0
33
16
-67
-7
0
0
0
0
0
0
0
0
0
5
-3
25
30
9
24
2
1
0
0
0
0
0
0
0
0
0
-4
24
-41
-13
-16
-5
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-3
-16
4
0
0
0
0
0
0
0
0
0
0
0
-5
18
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
-2
0
1
3
0
7
7
3
0
0
0
0
0
0
0
0
0
2
-3
30
-12
2
-6
8
0
0
0
0
0
0
0
0
0
0
30
-8
42
8
8
5
-2
0
0
0
0
0
0
0
0
0
0
-34
0
-10
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
10
58
-4
-25
6
-2
0
0
0
0
0
0
0
0
0
0
0
-43
0
15
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-2
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
10
0
18
-10
-7
-2
0
0
0
0
0
0
0
0
0
1
-1
-8
0
-1
-6
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
14
-1
-5
0
0
5
-6
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-10
-5
-19
-10
0
0
0
0
0
0
0
0
0
1
24
-6
-24
6
23
-37
50
18
0
0
0
0
0
0
0
0
0
0
1
40
-1
-25
43
0
0
-3
0
0
0
0
0
0
0
0
-8
-4
27
-24
27
30
-10
0
0
0
0
0
0
0
0
0
0
25
34
51
-31
-3
-1
5
-1
0
0
0
0
0
0
0
0
12
-12
50
-11
0
-5
0
9
0
0
0
0
0
0
0
0
0
6
113
31
-2
-10
3
-3
0
0
0
0
0
0
0
0
0
0
8
44
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
86
-13
76
-13
-1
39
3
0
0
0
0
0
0
0
0
0
35
26
12
56
90
-55
31
8
-2
0
0
0
0
0
0
0
0
50
30
97
-18
2
66
52
-3
0
0
0
0
0
0
0
0
0
55
10
-24
-7
22
-21
-7
-1
-1
0
0
0
0
0
0
0
0
-1
19
3
30
51
-7
-15
-47
2
0
0
0
0
0
0
0
0
-24
24
79
43
-25
0
-2
9
4
0
0
0
0
0
0
0
0
-13
43
4
71
7
-3
6
-1
0
0
0
0
0
0
0
0
0
-5
41
-30
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
26
6
-69
-41
-23
-1
47
0
0
0
0
0
0
0
0
0
49
-2
-66
-22
-17
-7
61
49
26
0
0
0
0
0
0
0
0
16
55
27
-36
-56
21
-32
-55
-8
0
0
0
0
0
0
0
0
1
94
-35
-8
14
-37
-41
-21
-1
0
0
0
0
0
0
0
0
20
23
20
-46
96
-27
4
71
33
0
0
0
0
0
0
0
0
2
-32
94
-85
-27
44
0
11
-2
0
0
0
0
0
0
0
0
16
-28
46
48
19
-13
-7
1
3
0
0
0
0
0
0
0
0
-2
-13
3
-49
-10
-3
9
-4
0
0
0
0
0
0
0
0
0
-27
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-47
17
-17
-6
71
-7
-42
0
0
0
0
0
0
0
0
0
35
16
19
20
93
32
-4
50
-5
0
0
0
0
0
0
0
0
-57
15
-50
41
17
7
2
22
82
0
0
0
0
0
0
0
0
92
0
32
16
14
66
16
90
60
0
0
0
0
0
0
0
0
-7
0
-31
102
49
108
26
-17
-9
0
0
0
0
0
0
0
0
20
129
-67
72
16
-42
4
0
19
0
0
0
0
0
0
0
0
-42
25
39
70
-57
-47
29
-2
0
0
0
0
0
0
0
0
0
18
-23
41
20
-8
-1
0
0
0
0
0
0
0
0
0
0
0
22
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
-42
14
22
101
65
1
20
0
0
0
0
0
0
0
0
0
58
-73
47
82
23
-19
28
-36
43
-1
0
0
0
0
0
0
0
23
19
74
-43
18
104
10
61
39
48
0
0
0
0
0
0
0
-25
-65
60
-34
22
44
16
62
-31
-5
0
0
0
0
0
0
0
4
-14
45
48
82
21
-63
69
40
-1
0
0
0
0
0
0
0
-13
-38
19
-5
61
57
2
17
0
8
0
0
0
0
0
0
0
24
4
-46
17
-13
-72
25
51
-38
0
0
0
0
0
0
0
0
-20
-60
86
27
21
87
20
-1
0
0
0
0
0
0
0
0
0
-64
-12
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
16
54
64
-44
8
-53
0
0
0
0
0
0
0
0
0
0
31
-54
33
59
-25
33
-98
9
-2
0
0
0
0
0
0
0
0
-15
-44
82
93
-8
-38
6
75
-1
0
0
0
0
0
0
0
0
27
-40
111
4
17
68
45
12
66
0
0
0
0
0
0
0
0
-43
-38
159
42
-31
83
-20
29
-18
0
0
0
0
0
0
0
0
132
-9
-11
30
25
-46
39
0
0
0
0
0
0
0
0
0
0
10
-7
58
22
14
-4
47
6
0
0
0
0
0
0
0
0
0
-33
-58
-2
25
-1
3
1
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
22
-8
16
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
14
-38
-12
0
0
0
0
0
0
0
0
0
0
0
2
-41
8
-6
0
-12
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
1
-2
-2
0
0
0
0
0
0
0
0
0
0
2
3
3
-3
0
3
9
0
0
0
0
0
0
0
0
0
0
3
-6
-3
0
6
-22
0
0
0
0
0
0
0
0
0
0
0
-2
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
10
4
-1
1
0
6
3
8
0
0
0
0
0
0
0
0
0
-1
-1
0
0
7
16
15
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
20
6
-2
1
0
0
0
0
0
0
0
0
-1
0
-2
3
9
-8
2
0
0
0
0
0
0
0
0
0
0
-7
8
-4
16
6
15
2
0
0
0
0
0
0
0
0
0
0
7
0
-41
-7
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
40
10
31
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
-1
1
4
0
0
0
0
0
0
0
0
0
1
4
-14
36
2
-24
-2
0
0
0
0
0
0
0
0
0
0
-1
68
41
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
25
67
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
0
8
1
0
0
0
0
0
0
0
0
0
0
-7
-1
-8
1
-2
-1
2
0
0
0
0
0
0
0
0
0
0
2
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
8
-14
0
0
0
0
0
0
0
0
0
0
-2
-25
-7
-41
3
-27
-4
-6
-8
0
0
0
0
0
0
0
0
0
0
5
1
-4
-13
49
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
0
-5
7
12
0
0
0
0
0
0
0
0
0
0
0
4
-12
2
-2
-8
1
6
0
0
0
0
0
0
0
0
0
13
17
-14
-9
0
12
-1
-1
0
0
0
0
0
0
0
0
0
-8
54
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-29
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
22
-20
-1
13
0
0
0
0
0
0
0
0
0
0
-14
31
-16
-17
3
5
-24
49
-1
0
0
0
0
0
0
0
0
7
-22
2
-7
-44
-4
12
-43
-4
0
0
0
0
0
0
0
0
0
13
9
19
-8
0
6
-2
3
0
0
0
0
0
0
0
0
2
22
56
-6
13
-3
-8
8
-6
0
0
0
0
0
0
0
0
0
68
61
5
-12
10
-1
-12
0
0
0
0
0
0
0
0
0
10
-46
5
67
3
0
0
0
2
0
0
0
0
0
0
0
0
42
99
-4
-22
0
0
0
6
0
0
0
0
0
0
0
0
0
100
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
45
-22
42
-54
13
46
0
0
0
0
0
0
0
0
0
-2
18
-28
-14
70
21
31
58
-23
0
0
0
0
0
0
0
0
8
114
26
-41
-58
51
-22
-5
2
8
0
0
0
0
0
0
0
0
56
12
88
14
-36
86
11
1
0
0
0
0
0
0
0
0
0
-34
30
75
-10
-38
-15
-26
37
0
0
0
0
0
0
0
0
7
112
16
63
19
-1
5
-40
-1
17
0
0
0
0
0
0
0
12
66
-2
74
-5
-21
0
-24
-8
0
0
0
0
0
0
0
0
7
30
-22
26
-4
3
0
0
0
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
70
19
-33
24
-2
-2
0
0
0
0
0
0
0
0
0
-11
19
13
-27
-78
24
43
10
-18
0
0
0
0
0
0
0
0
7
41
32
14
9
29
78
81
-1
2
0
0
0
0
0
0
0
3
65
-22
-52
79
-57
37
46
-4
0
0
0
0
0
0
0
0
35
70
81
-69
0
-5
-6
13
61
0
0
0
0
0
0
0
0
-23
0
-44
-39
-17
8
45
6
8
0
0
0
0
0
0
0
0
47
39
95
-69
29
16
6
0
0
0
0
0
0
0
0
0
0
11
23
5
110
10
5
0
1
0
0
0
0
0
0
0
0
0
84
14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
42
10
94
54
-83
-6
-12
0
0
0
0
0
0
0
0
0
-2
35
-34
-3
28
6
-13
48
28
54
0
0
0
0
0
0
0
4
21
5
0
-24
42
72
-7
70
-3
0
0
0
0
0
0
0
5
-48
-2
-17
-34
-36
-20
7
39
-17
0
0
0
0
0
0
0
-2
91
44
-4
93
-10
8
-21
-32
0
0
0
0
0
0
0
0
6
12
-49
49
12
2
58
45
55
1
0
0
0
0
0
0
0
-18
30
-17
-21
11
122
22
-17
0
0
0
0
0
0
0
0
0
41
-47
10
4
-25
-36
-68
-13
4
0
0
0
0
0
0
0
0
-17
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
126
103
-61
-109
34
25
0
0
0
0
0
0
0
0
0
0
-7
44
58
-23
37
18
5
-22
-3
0
0
0
0
0
0
0
0
-45
-42
18
21
-17
-64
10
-8
-3
0
0
0
0
0
0
0
0
-43
6
-25
-80
62
-33
-47
-51
-10
0
0
0
0
0
0
0
0
59
-1
4
-61
-27
1
38
-11
6
0
0
0
0
0
0
0
0
28
-85
0
51
69
6
-28
79
-5
0
0
0
0
0
0
0
0
22
-47
7
73
44
25
64
3
0
0
0
0
0
0
0
0
0
22
79
80
13
6
-7
13
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
21
-29
-2
0
0
0
0
0
0
0
0
0
0
0
-3
30
-21
-18
-58
3
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
25
7
0
3
1
0
0
0
0
0
0
0
0
0
-1
-5
7
-7
0
-9
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-2
-3
1
-4
0
0
0
0
0
0
0
0
0
-13
-8
-7
6
25
2
0
0
0
0
0
0
0
0
0
0
0
24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
-1
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
3
2
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-20
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-25
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
5
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-19
-2
45
0
6
0
0
0
0
0
0
0
0
0
0
-4
5
-2
7
-10
-10
-1
0
0
0
0
0
0
0
0
0
2
0
0
10
-6
5
0
6
1
0
0
0
0
0
0
0
0
0
0
2
41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-6
6
0
-1
0
0
0
0
0
0
0
0
0
0
29
17
25
3
-8
-4
0
2
0
0
0
0
0
0
0
0
0
-75
50
14
31
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
42
3
-2
-9
-2
19
4
-5
0
0
0
0
0
0
0
0
0
10
10
-7
-5
-9
28
15
3
0
0
0
0
0
0
0
0
0
-13
0
6
8
23
25
10
1
0
0
0
0
0
0
0
0
0
3
-12
9
-47
-18
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
44
22
-3
-7
5
0
0
0
0
0
0
0
0
0
1
26
28
-8
-2
-6
0
3
0
0
0
0
0
0
0
0
0
23
-10
26
42
1
-1
0
0
0
0
0
0
0
0
0
0
0
49
56
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-33
13
13
8
-8
-1
-3
5
0
0
0
0
0
0
0
0
0
26
81
54
6
79
-4
59
0
0
0
0
0
0
0
0
0
0
-5
-30
14
-9
-40
27
-25
0
3
0
0
0
0
0
0
0
0
-22
-45
8
-21
-32
53
16
40
-1
0
0
0
0
0
0
0
0
35
9
14
7
21
71
-41
-3
0
0
0
0
0
0
0
0
0
12
-1
50
72
-11
-10
12
-5
0
0
0
0
0
0
0
0
0
-2
14
-88
39
70
21
-9
0
0
0
0
0
0
0
0
0
0
8
37
13
-13
2
11
0
0
0
0
0
0
0
0
0
0
0
1
9
-17
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
115
79
-14
15
-2
-44
-3
0
0
0
0
0
0
0
0
0
0
6
25
45
-19
0
-52
-41
0
-2
0
0
0
0
0
0
0
0
89
10
11
-93
-31
-52
2
-33
-4
0
0
0
0
0
0
0
-1
-95
6
-8
-39
103
-15
-68
-1
-1
0
0
0
0
0
0
0
-2
91
50
71
21
10
15
49
25
0
0
0
0
0
0
0
0
-4
54
80
-2
66
23
60
123
-7
-1
0
0
0
0
0
0
0
7
15
35
-2
26
-5
-50
12
-6
0
0
0
0
0
0
0
0
-9
147
-21
20
-41
57
-4
0
0
0
0
0
0
0
0
0
0
-11
33
20
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
67
6
22
31
-10
-8
1
0
0
0
0
0
0
0
0
0
0
5
56
5
16
35
14
-8
0
0
0
0
0
0
0
0
0
0
-14
37
6
28
17
13
-14
2
4
0
0
0
0
0
0
0
0
0
18
6
13
-37
2
-8
0
0
0
0
0
0
0
0
0
0
22
30
-9
6
25
-28
3
0
0
0
0
0
0
0
0
0
0
6
-24
-5
9
5
-1
-2
1
0
0
0
0
0
0
0
0
0
22
-2
32
-6
-5
8
-3
1
0
0
0
0
0
0
0
0
0
21
-32
-18
-6
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
36
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-19
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-4
30
-4
1
0
0
0
0
0
0
0
0
0
0
0
5
5
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
8
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
5
9
-4
-23
-2
0
0
0
0
0
0
0
0
0
-3
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
12
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
2
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
3
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
-4
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-1
0
8
-4
-1
0
0
0
0
0
0
0
0
0
3
0
0
-6
3
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
9
0
-20
4
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
3
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
-13
7
41
-4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
-9
15
1
-10
4
1
-5
10
-3
-1
0
0
0
0
0
0
0
0
7
10
14
-1
-5
9
2
0
0
0
0
0
0
0
0
0
0
4
-10
5
2
7
2
-20
20
1
0
0
0
0
0
0
0
0
0
0
8
3
-3
-13
3
1
0
3
0
0
0
0
0
0
0
0
1
4
0
-22
3
40
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
8
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
10
0
-12
-3
3
8
-25
0
0
0
0
0
0
0
0
0
-1
-4
6
-8
1
-16
-34
-4
-1
2
0
0
0
0
0
0
0
-5
2
5
-12
44
25
4
-1
1
0
0
0
0
0
0
0
0
0
-1
-1
-16
-12
-9
10
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
3
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-30
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
8
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-26
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
7
-4
6
1
25
-12
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-34
-13
-40
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
-5
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
0
-4
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-6
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-8
23
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-2
-21
13
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-67
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-13
8
0
0
0
0
0
0
0
0
0
0
7
-1
0
-8
0
2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
-17
-18
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
5
3
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
26
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-5
3
1
-3
-8
-2
0
0
0
0
0
0
0
0
0
2
9
29
16
-3
-25
8
8
0
0
0
0
0
0
0
0
0
-4
0
-3
2
25
0
-13
4
0
0
0
0
0
0
0
0
0
0
-1
3
10
24
48
-3
13
0
0
0
0
0
0
0
0
0
0
0
2
0
4
32
-21
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
-2
4
-24
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
62
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-15
-50
-22
23
-8
4
16
0
0
0
0
0
0
0
0
0
16
30
-1
0
-27
-41
11
-13
0
0
0
0
0
0
0
0
0
-17
13
-33
42
13
42
-3
32
0
0
0
0
0
0
0
0
0
0
13
-2
-2
-9
-19
20
10
-1
0
0
0
0
0
0
0
0
0
0
2
4
16
-31
2
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-48
9
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-16
0
0
0
0
0
0
0
0
0
0
7
-1
49
8
-2
0
0
0
0
0
0
0
0
0
0
0
-9
21
65
-26
35
-4
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
-5
-1
36
-6
-8
-34
0
0
0
0
0
0
0
0
0
1
33
-22
14
-4
14
31
13
0
0
0
0
0
0
0
0
-1
8
-15
-10
11
-48
10
-9
9
1
0
0
0
0
0
0
0
0
0
0
-8
-41
34
-2
3
-50
-2
0
0
0
0
0
0
0
0
0
0
-22
1
12
32
-24
6
13
0
0
0
0
0
0
0
0
0
0
2
-3
1
-59
16
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
2
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
8
16
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-11
3
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
5
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
7
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
16
31
-13
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
40
-13
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-43
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
25
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-4
17
0
-2
-8
45
-8
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
-33
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
54
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
5
-35
0
42
9
9
0
1
-1
0
0
0
0
0
0
0
0
1
-42
-27
1
-7
3
-5
0
0
0
0
0
0
0
0
0
0
1
9
-18
-8
0
-43
-10
-12
0
0
0
0
0
0
0
0
2
0
0
6
3
6
0
5
38
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-30
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
42
8
8
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
1
-9
7
4
0
0
-1
0
0
0
0
0
0
0
0
1
-2
6
1
-15
-19
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
28
24
23
-8
45
0
0
0
0
0
0
0
0
0
-1
-12
-6
-1
-34
0
-23
14
0
0
0
0
0
0
0
0
0
0
5
0
-17
-7
-19
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
5
-50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
0
0
0
0
0
0
0
0
-8
-33
-5
5
4
-7
0
0
0
0
0
0
0
0
0
0
1
-33
-14
-23
-2
3
-5
0
0
0
4
0
0
0
0
0
0
0
1
-12
-62
-2
-2
12
-9
0
29
0
0
0
0
0
0
0
0
-2
-10
27
24
47
6
-57
-13
9
0
0
0
0
0
0
0
0
2
-18
17
-60
-28
9
16
-2
-22
0
0
0
0
0
0
0
0
0
6
0
-5
55
-53
25
0
-40
0
0
0
0
0
0
0
0
0
0
10
5
-6
47
-15
-46
18
1
0
0
0
0
0
0
0
0
0
0
4
18
-1
22
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-59
0
0
0
0
0
0
0
0
0
0
-2
8
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
33
-11
25
3
0
0
0
2
-1
0
0
0
0
0
0
0
3
-20
-61
17
-1
2
1
3
2
0
0
0
0
0
0
0
1
-8
-8
26
-22
-26
-14
34
-94
2
0
0
0
0
0
0
0
0
0
5
5
47
38
13
0
26
0
0
0
0
0
0
0
0
0
-1
-1
-12
0
44
57
3
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-6
-5
-67
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-56
7
-34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
2
4
-3
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
-6
-10
8
0
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
17
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
-8
0
-18
-19
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
40
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-26
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-4
17
-2
1
-6
-7
0
0
0
0
0
0
0
0
0
1
-5
0
1
-9
17
1
-22
0
0
0
0
0
0
0
0
0
0
0
1
-5
7
-20
9
-6
0
0
0
0
0
0
0
0
0
0
0
1
3
0
5
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-58
10
-1
0
0
0
0
0
0
0
0
0
0
0
1
7
21
-22
7
-5
3
0
0
0
0
0
0
0
0
0
0
-1
2
-50
-23
6
5
25
-12
-10
0
0
0
0
0
0
0
0
0
-1
13
22
-2
-14
-20
-60
-8
0
0
0
0
0
0
0
0
0
0
0
-2
24
45
-33
-5
21
0
0
0
0
0
0
0
0
0
0
1
-17
-24
14
0
76
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
-13
0
0
0
0
0
0
0
0
0
0
10
-1
-17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-22
2
7
0
0
0
0
0
0
0
0
0
0
0
1
9
-56
-26
-5
0
8
4
3
0
0
0
0
0
0
0
0
8
-15
-3
46
-20
19
-42
-30
-10
0
0
0
0
0
0
0
0
2
-37
-22
47
15
-9
7
-27
25
0
0
0
0
0
0
0
0
0
-1
19
-30
24
15
-54
-42
15
0
0
0
0
0
0
0
0
0
0
1
-3
-21
-58
-31
0
15
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-27
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-30
0
0
0
0
0
0
0
0
0
0
38
-5
-53
1
-13
0
0
0
0
0
0
0
0
0
0
0
1
-37
-63
-14
85
-7
0
0
0
-5
0
0
0
0
0
0
0
3
75
56
-62
5
-9
-2
-2
10
0
0
0
0
0
0
0
0
0
27
-58
-8
49
21
-11
-35
60
0
0
0
0
0
0
0
0
1
-55
-4
-2
44
-78
80
-38
-85
0
0
0
0
0
0
0
0
2
-7
8
8
-4
20
-48
-37
66
-2
0
0
0
0
0
0
0
0
0
-2
25
-3
9
85
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-5
27
12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-14
-41
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
6
-12
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
2
-6
-8
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
2
-5
20
-10
22
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-1
-30
8
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-30
-18
-1
-13
-41
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
40
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-14
0
-42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
-24
40
9
0
0
-1
-8
0
0
0
0
0
0
0
0
3
-5
-77
-7
12
0
5
-6
-16
0
0
0
0
0
0
0
0
0
-48
-1
11
-67
3
5
-77
-6
0
0
0
0
0
0
0
0
0
0
17
40
-8
32
-3
-31
-19
0
0
0
0
0
0
0
0
0
0
2
16
6
40
9
39
-17
0
0
0
0
0
0
0
0
0
0
2
0
-28
-5
9
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
2
39
0
0
0
0
0
0
0
0
0
0
0
-1
56
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
23
-14
31
3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-31
17
-25
1
1
10
0
0
0
0
0
0
0
0
0
0
23
53
-84
7
-17
-42
39
0
0
0
0
0
0
0
0
0
-1
-29
60
-73
18
73
-87
3
0
0
0
0
0
0
0
0
0
12
6
-7
-18
-95
-59
25
-48
0
0
0
0
0
0
0
0
0
3
-2
-40
19
-65
-48
48
-6
0
0
0
0
0
0
0
0
0
0
-2
-20
5
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
36
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
45
19
7
0
0
8
0
0
0
0
0
0
0
0
0
0
2
-13
4
-18
23
2
-14
0
0
0
0
0
0
0
0
0
0
0
-15
-8
-2
1
82
-22
0
0
0
0
0
0
0
0
0
0
0
0
20
25
-40
-46
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
-8
1
7
0
1
0
0
0
0
0
0
0
0
0
-13
2
2
-1
4
8
3
0
0
0
0
0
0
0
0
0
0
2
1
-3
4
-2
-6
0
0
0
0
0
0
0
0
0
0
0
6
-1
-4
0
-2
6
1
-5
0
0
0
0
0
0
0
0
0
-5
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
6
2
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-2
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
3
-2
0
-3
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
0
14
-1
-1
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
1
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
-3
0
5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
-3
2
10
1
0
-5
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-5
1
1
0
0
0
0
0
0
0
0
0
7
1
4
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
16
2
19
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
16
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
30
-2
-8
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-8
48
-30
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-17
-8
-6
2
0
-27
1
-1
0
0
0
0
0
0
0
0
0
2
-6
-5
-7
1
0
0
3
0
0
0
0
0
0
0
0
0
6
6
-13
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
8
-3
-1
1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
7
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-5
0
-2
0
0
0
0
0
0
0
0
0
0
6
-6
10
13
8
-8
-2
0
0
0
0
0
0
0
0
0
0
2
-8
-1
19
-8
-15
-3
0
0
0
0
0
0
0
0
0
0
-6
1
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-8
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
1
0
0
0
0
0
0
0
0
0
0
4
4
0
-7
4
-2
3
-4
0
0
0
0
0
0
0
0
0
-6
0
-3
0
8
-2
-31
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
5
0
0
0
0
0
0
0
0
0
0
0
10
-14
0
2
13
-48
0
0
0
0
0
0
0
0
0
0
0
-7
3
-3
-1
-2
7
0
0
0
0
0
0
0
0
0
0
5
-5
1
1
8
0
0
-3
0
0
0
0
0
0
0
0
0
9
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
7
8
-12
-3
-2
-7
-4
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
-17
9
3
0
-2
6
0
0
0
0
0
0
0
0
0
0
-4
13
0
3
0
-9
10
1
0
0
0
0
0
0
0
0
0
-1
0
3
8
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
1
2
-7
-29
0
0
0
0
0
0
0
0
0
0
-5
9
-1
-10
13
1
-16
-8
-1
0
0
0
0
0
0
0
0
-2
-6
-4
16
-3
1
3
-27
0
0
0
0
0
0
0
0
0
0
5
-25
-1
1
0
-6
-1
4
0
0
0
0
0
0
0
0
1
-13
4
4
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-6
-1
-48
8
5
0
0
0
0
0
0
0
0
0
4
33
40
-17
30
3
-31
0
1
0
0
0
0
0
0
0
0
0
-2
-14
-8
-6
3
0
0
0
0
0
0
0
0
0
0
0
3
-7
6
19
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
25
-5
-13
-1
6
9
0
0
0
0
0
0
0
0
0
0
16
-2
25
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
0
-5
7
-25
0
0
0
0
0
0
0
0
0
-1
0
-14
8
-4
-38
-8
2
0
0
0
0
0
0
0
0
0
0
8
13
3
-7
2
-3
0
0
0
0
0
0
0
0
0
0
-14
58
10
0
12
0
0
2
-1
0
0
0
0
0
0
0
0
-8
-1
-10
3
3
0
-9
3
0
0
0
0
0
0
0
0
0
2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-8
-8
-1
18
-19
0
0
0
0
0
0
0
0
0
-6
6
-55
-34
8
5
-51
-3
-9
0
0
0
0
0
0
0
0
-25
-15
4
7
16
3
34
5
0
0
0
0
0
0
0
0
0
39
1
10
-10
1
-8
-5
-1
0
0
0
0
0
0
0
0
0
-2
25
-16
3
-5
9
0
0
0
0
0
0
0
0
0
0
0
1
-8
-19
1
-2
3
0
2
0
0
0
0
0
0
0
0
0
1
0
12
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-12
-24
17
16
-2
0
0
0
0
0
0
0
0
0
0
-19
31
-18
-14
18
10
16
-6
6
0
0
0
0
0
0
0
0
3
-42
-8
17
7
1
-15
-7
0
0
0
0
0
0
0
0
0
-8
16
-7
-6
-2
-9
-8
0
0
0
0
0
0
0
0
0
0
-34
-15
-9
-2
-1
40
14
0
0
0
0
0
0
0
0
0
0
30
3
-8
-33
18
0
-8
1
0
0
0
0
0
0
0
0
0
8
6
-24
3
-1
0
0
9
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
4
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
16
-14
-2
-1
-7
3
-1
0
0
0
0
0
0
0
0
7
7
3
6
6
24
12
0
0
0
0
0
0
0
0
0
0
-1
1
9
-5
14
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-16
-2
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
0
5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-17
10
-2
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
10
8
-6
-5
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
-8
9
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-7
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
6
0
1
-4
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
-2
0
17
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-48
16
0
0
0
0
0
0
0
0
0
3
0
0
10
0
-4
0
7
1
0
0
0
0
0
0
0
0
8
3
-1
0
24
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
2
2
14
-6
-2
4
-1
0
0
0
0
0
0
0
0
0
-5
-4
-3
9
2
-10
-3
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
-1
29
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
8
-56
0
101
-2
-3
0
0
0
0
0
0
0
0
-7
8
0
2
-4
-1
-18
22
0
0
0
0
0
0
0
0
0
-13
-9
3
0
2
-1
0
0
4
0
0
0
0
0
0
0
0
-8
-91
1
0
3
-2
4
-14
0
0
0
0
0
0
0
0
0
2
3
-2
3
16
0
0
1
0
0
0
0
0
0
0
0
0
0
-57
-3
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-3
10
-17
0
0
0
0
0
0
0
0
0
0
-1
-1
31
4
-29
8
2
-5
1
0
0
0
0
0
0
0
0
2
-17
-6
-1
0
2
-17
33
0
0
0
0
0
0
0
0
0
-4
16
-10
2
0
-7
-13
10
1
0
0
0
0
0
0
0
0
-4
46
-17
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-16
-6
-2
6
-3
0
0
-1
6
0
0
0
0
0
0
0
0
-5
1
8
25
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
9
2
-7
1
-2
1
0
0
0
0
0
0
0
0
0
-4
15
6
-34
-5
-13
5
2
-3
0
0
0
0
0
0
0
0
-12
4
10
-2
0
0
0
13
4
0
0
0
0
0
0
0
0
3
8
57
9
5
0
1
-16
-7
0
0
0
0
0
0
0
0
-3
-60
-18
-12
0
0
4
-5
0
0
0
0
0
0
0
0
0
-29
-43
-1
1
-2
-2
4
0
0
0
0
0
0
0
0
0
0
2
15
0
4
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-48
3
0
18
-9
7
0
0
0
0
0
0
0
0
0
-7
74
2
29
29
-1
-13
27
1
0
0
0
0
0
0
0
0
42
29
6
-31
1
-4
-1
-5
8
0
0
0
0
0
0
0
0
41
-12
-2
-41
-13
0
1
0
-2
0
0
0
0
0
0
0
0
-8
5
20
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
6
57
-19
-6
-1
-1
1
0
0
0
0
0
0
0
0
0
0
-1
15
17
1
1
2
0
0
-1
0
0
0
0
0
0
0
0
2
20
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-18
-3
13
8
-5
16
0
-3
0
0
0
0
0
0
0
-1
-6
-21
42
-12
-24
16
-40
-1
0
0
0
0
0
0
0
0
-1
3
12
-19
-42
-36
1
2
0
8
0
0
0
0
0
0
0
-24
-4
-10
3
2
6
0
0
-1
0
0
0
0
0
0
0
0
15
41
6
20
13
5
-1
0
0
0
0
0
0
0
0
0
0
-7
3
-8
38
2
3
1
7
-1
0
0
0
0
0
0
0
0
-4
-24
40
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
58
-13
41
-15
20
1
-14
0
4
0
0
0
0
0
0
0
-8
-13
46
54
-1
-20
-11
-13
14
0
0
0
0
0
0
0
0
-32
-16
17
22
17
-29
-5
-48
0
0
0
0
0
0
0
0
0
43
50
-7
-27
3
13
32
0
2
0
0
0
0
0
0
0
0
-26
-20
-28
-13
-41
5
25
0
0
0
0
0
0
0
0
0
0
24
32
5
14
3
-4
-4
-1
1
0
0
0
0
0
0
0
0
-19
-3
45
10
-2
0
0
0
2
0
0
0
0
0
0
0
0
17
33
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-24
5
-32
63
49
-29
0
16
0
0
0
0
0
0
0
0
-115
1
6
27
-19
145
8
-32
-8
0
0
0
0
0
0
0
0
1
-24
80
5
-25
45
9
2
0
0
0
0
0
0
0
0
0
-57
-9
-51
25
-49
-9
13
-24
0
0
0
0
0
0
0
0
0
-15
-73
-42
-2
-30
-30
40
0
0
0
0
0
0
0
0
0
0
-9
-2
-1
23
29
-4
3
8
0
0
0
0
0
0
0
0
0
-5
-29
40
2
-8
1
0
8
0
0
0
0
0
0
0
0
0
-56
5
-17
3
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
5
19
0
0
-1
0
0
0
0
0
0
0
0
5
0
7
-24
3
-1
0
6
3
0
0
0
0
0
0
0
0
-4
13
-9
-7
-1
-6
-8
4
0
0
0
0
0
0
0
0
0
12
4
3
-1
-2
1
2
0
0
0
0
0
0
0
0
0
0
42
-1
4
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-3
0
0
1
2
0
0
0
0
0
0
0
0
0
0
4
-2
-6
1
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
36
5
4
8
-2
-10
0
0
0
0
0
0
0
0
-10
-4
39
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
4
29
1
-3
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
8
-18
14
0
-10
0
-4
0
0
0
0
0
0
0
0
0
5
6
10
-2
-1
10
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-3
4
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
35
-3
4
1
0
0
0
0
0
0
0
0
0
0
20
-3
0
0
-1
0
6
-6
0
0
0
0
0
0
0
0
3
-3
-5
-5
2
0
0
12
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
12
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-32
-22
9
-8
20
5
0
0
0
0
0
0
0
0
0
13
2
25
-14
-28
-10
25
-18
2
0
0
0
0
0
0
0
0
-21
2
0
0
0
-5
19
17
1
0
0
0
0
0
0
0
0
-2
-24
0
0
0
-4
0
0
14
0
0
0
0
0
0
0
0
-3
-27
0
0
1
-38
-3
7
0
0
0
0
0
0
0
0
0
6
16
-45
7
4
0
-14
-4
0
0
0
0
0
0
0
0
0
1
-20
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-4
1
3
8
5
0
0
0
0
0
0
0
0
0
0
13
-16
5
10
24
52
0
0
0
0
0
0
0
0
0
0
-1
3
-12
5
-8
9
-8
-20
1
0
0
0
0
0
0
0
0
3
-1
6
0
3
-1
0
-10
13
0
0
0
0
0
0
0
0
0
-20
-45
0
0
1
4
0
6
0
0
0
0
0
0
0
0
-7
6
69
0
0
0
5
-3
7
0
0
0
0
0
0
0
0
-2
4
-5
50
-5
-2
0
-6
0
0
0
0
0
0
0
0
0
0
4
24
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
8
-25
-14
-3
8
0
0
0
0
0
0
0
0
0
-1
-3
-30
-12
-45
6
-17
-5
1
0
0
0
0
0
0
0
0
6
30
-5
-22
17
53
33
-2
47
-1
0
0
0
0
0
0
0
0
4
30
-50
0
0
-1
-6
15
0
0
0
0
0
0
0
0
-8
-27
41
-12
0
0
0
-2
-4
0
0
0
0
0
0
0
0
16
5
-43
-32
1
0
0
-12
2
-16
0
0
0
0
0
0
0
3
29
102
-5
2
18
0
0
0
0
0
0
0
0
0
0
0
-8
111
-7
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-4
10
-1
-20
2
-8
0
0
0
0
0
0
0
0
0
0
-25
10
-5
2
-12
-13
-4
12
0
0
0
0
0
0
0
0
7
-1
10
32
-5
-6
-10
51
-1
0
0
0
0
0
0
0
0
-6
-22
-3
-42
10
1
0
0
1
-1
0
0
0
0
0
0
0
14
16
15
-5
13
2
0
0
-8
0
0
0
0
0
0
0
0
2
31
83
40
-18
6
0
0
7
2
0
0
0
0
0
0
0
27
36
1
-13
-2
3
-2
-5
0
0
0
0
0
0
0
0
0
5
-9
13
0
-5
-6
-9
0
0
0
0
0
0
0
0
0
0
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
33
-41
6
-13
-20
25
0
0
0
0
0
0
0
0
0
9
7
-48
-25
-15
12
44
47
8
0
0
0
0
0
0
0
0
-16
18
21
27
-67
66
56
55
-3
-1
0
0
0
0
0
0
0
-6
-10
29
4
60
29
-4
-2
0
-2
0
0
0
0
0
0
0
-20
23
-14
45
4
-5
0
0
0
0
0
0
0
0
0
0
0
15
-28
-75
-27
-41
-29
3
0
0
-4
0
0
0
0
0
0
0
5
95
-2
12
13
15
0
10
-4
0
0
0
0
0
0
0
0
29
45
2
82
3
0
0
5
0
0
0
0
0
0
0
0
0
9
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
53
-14
39
-14
19
34
0
0
0
0
0
0
0
0
0
53
13
-48
57
-31
-24
-30
41
-29
-1
-1
0
0
0
0
0
0
42
-52
-7
-49
5
-10
41
39
0
1
0
0
0
0
0
0
0
3
27
13
-8
-58
24
39
-1
0
0
0
0
0
0
0
0
0
-57
34
-22
13
-3
-17
-6
0
0
0
0
0
0
0
0
0
0
37
-6
25
1
4
-20
-7
0
0
0
0
0
0
0
0
0
0
37
0
11
7
3
32
8
30
5
0
0
0
0
0
0
0
0
-14
-2
16
-93
-3
-3
3
0
0
0
0
0
0
0
0
0
0
65
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-40
-6
-49
-23
42
-1
0
-5
-5
0
0
0
0
0
0
0
66
-28
17
-27
40
46
7
13
2
0
0
0
0
0
0
0
0
-5
-20
25
-20
12
36
42
-22
-8
0
0
0
0
0
0
0
0
45
-41
20
-63
-45
-62
-16
-13
-1
0
0
0
0
0
0
0
0
-76
40
-26
-20
64
84
-23
0
0
0
0
0
0
0
0
0
0
-13
52
-62
23
16
41
4
0
0
0
0
0
0
0
0
0
0
5
13
-53
46
-20
55
-12
-13
0
0
0
0
0
0
0
0
0
78
-41
6
-10
-19
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-6
-6
17
0
1
-3
0
0
0
0
0
0
0
0
0
-6
38
-30
-3
-5
-3
0
-1
0
0
0
0
0
0
0
0
4
9
5
24
1
45
9
2
0
0
0
0
0
0
0
0
0
-3
14
0
-13
0
2
8
0
0
0
0
0
0
0
0
0
0
-25
-3
-7
1
-16
4
0
0
0
0
0
0
0
0
0
0
0
16
0
-19
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
-15
-2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
2
4
0
0
0
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
-1
3
-13
16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-36
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
6
22
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
1
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-2
-8
0
0
0
0
0
0
0
0
0
-1
24
-7
7
0
2
-9
-8
0
0
0
0
0
0
0
0
0
-2
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
9
-19
0
0
0
0
0
0
0
0
0
0
3
-13
0
-15
3
2
0
0
2
0
0
0
0
0
0
0
0
-3
-1
-1
9
-4
0
0
-38
0
0
0
0
0
0
0
0
0
2
0
2
-5
-27
0
-10
0
1
0
0
0
0
0
0
0
0
0
7
0
-8
0
4
-41
2
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-16
1
3
3
2
0
0
0
0
0
0
0
0
0
0
-8
-12
8
-43
-32
-14
10
0
0
0
0
0
0
0
0
0
7
-2
10
27
0
21
-30
5
0
0
0
0
0
0
0
0
0
3
-17
2
36
-23
9
1
29
4
0
0
0
0
0
0
0
0
0
-27
-32
0
0
6
-116
1
-6
0
0
0
0
0
0
0
0
1
21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
-15
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
15
23
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
1
4
-4
18
-22
-14
0
0
0
0
0
0
0
0
0
0
-17
41
-28
25
-6
25
7
-1
0
0
0
0
0
0
0
0
1
19
-3
13
-30
4
11
-28
-2
0
0
0
0
0
0
0
0
0
-2
-29
2
50
-29
-31
-5
12
0
0
0
0
0
0
0
0
0
24
-13
-42
-2
0
0
6
-9
0
0
0
0
0
0
0
0
20
-24
-7
37
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-23
107
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-3
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
-9
10
5
25
27
1
0
0
0
0
0
0
0
0
0
-2
-54
-7
5
-15
-13
-23
29
5
0
0
0
0
0
0
0
0
-5
-26
-30
-2
14
-10
-18
24
-33
0
0
0
0
0
0
0
0
40
22
-3
-35
23
31
-24
8
0
0
0
0
0
0
0
0
0
-1
-12
-14
26
-43
0
0
0
3
0
0
0
0
0
0
0
0
33
6
-17
42
-37
-1
0
0
1
0
0
0
0
0
0
0
0
33
11
-41
-11
-22
0
0
0
2
0
0
0
0
0
0
0
0
-6
11
-2
13
-8
-4
0
-1
0
0
0
0
0
0
0
0
0
-36
5
3
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-20
17
11
16
32
40
12
0
0
0
0
0
0
0
0
0
2
-61
28
-24
-23
-46
17
-9
-49
0
0
0
0
0
0
0
0
16
31
10
21
-1
-32
61
60
-1
0
0
0
0
0
0
0
0
-18
8
-10
47
-19
-50
-7
27
-58
0
0
0
0
0
0
0
0
-1
-23
2
21
13
58
9
-5
-1
0
0
0
0
0
0
0
0
9
130
-13
64
60
18
0
0
0
0
0
0
0
0
0
0
0
-42
-17
-20
-16
21
20
-3
0
0
0
0
0
0
0
0
0
0
-9
-7
-17
-38
-5
0
-3
1
0
0
0
0
0
0
0
0
0
12
-30
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-41
-47
-12
35
14
46
-43
0
-10
0
0
0
0
0
0
0
-31
-2
30
11
-44
72
-36
43
-18
5
0
0
0
0
0
0
0
18
44
3
49
43
40
56
-89
-32
-13
0
0
0
0
0
0
0
25
23
-20
12
24
12
-36
-22
-41
-1
0
0
0
0
0
0
0
-59
42
72
38
21
-20
9
-9
0
0
0
0
0
0
0
0
0
83
-38
-121
-99
65
-15
-90
0
0
0
0
0
0
0
0
0
0
17
-12
-7
-33
3
-21
-8
-1
0
0
0
0
0
0
0
0
0
-2
22
-16
-3
34
-8
0
3
4
0
0
0
0
0
0
0
0
-9
1
2
4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
26
-13
-5
19
-39
-7
27
0
-1
0
0
0
0
0
0
0
0
9
2
-18
77
39
86
-9
65
1
0
0
0
0
0
0
0
0
-89
90
4
14
-65
49
51
16
-13
0
0
0
0
0
0
0
0
-34
-23
22
-11
-1
-25
80
-57
9
0
0
0
0
0
0
0
0
-54
-139
42
-85
-36
140
74
3
0
0
0
0
0
0
0
0
0
-15
-27
-36
-56
-41
-47
-4
4
0
0
0
0
0
0
0
0
0
-42
-4
-38
42
-4
63
4
0
0
0
0
0
0
0
0
0
0
-90
-9
6
-13
2
12
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
7
6
4
-8
0
3
0
0
0
0
0
0
0
0
0
1
8
16
5
15
-5
21
4
-3
0
0
0
0
0
0
0
0
-2
0
9
-5
15
6
7
-4
0
0
0
0
0
0
0
0
0
21
-8
19
0
-4
-15
4
-1
0
0
0
0
0
0
0
0
0
5
-9
-8
15
-1
4
1
0
0
0
0
0
0
0
0
0
0
-5
0
32
-5
5
0
-2
0
0
0
0
0
0
0
0
0
0
-50
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-9
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-4
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
34
0
-2
0
0
0
0
0
0
0
0
0
0
0
7
-4
3
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
4
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-1
4
3
-2
-1
0
0
0
0
0
0
0
0
0
-4
-5
3
8
0
30
1
-8
0
0
0
0
0
0
0
0
0
65
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
41
8
-1
3
13
-6
0
2
0
0
0
0
0
0
0
0
0
-8
0
-6
0
8
19
-6
0
0
0
0
0
0
0
0
0
0
0
7
-6
-13
-2
8
7
-2
0
0
0
0
0
0
0
0
0
41
0
1
-13
6
-5
7
-9
0
0
0
0
0
0
0
0
0
-23
-3
8
0
0
2
0
1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-2
-2
0
3
7
0
0
0
0
0
0
0
0
0
-2
-81
8
-71
69
14
-53
0
0
0
0
0
0
0
0
0
0
15
0
0
1
-41
-7
-5
-3
-8
0
0
0
0
0
0
0
0
0
12
0
15
53
-30
-13
-40
7
-1
0
0
0
0
0
0
0
0
-13
5
-16
23
-8
-13
-3
8
0
0
0
0
0
0
0
0
1
-48
97
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-21
19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-57
-9
27
0
0
0
-3
0
0
0
0
0
0
0
0
0
-12
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
5
-1
13
8
-24
0
0
0
0
0
0
0
0
0
0
42
27
-4
-47
-1
40
30
-8
0
0
0
0
0
0
0
0
1
-16
0
0
16
-27
-30
14
-8
0
0
0
0
0
0
0
0
-3
7
-7
-16
42
112
8
8
-12
0
0
0
0
0
0
0
0
0
41
6
9
-24
23
13
-87
-13
0
0
0
0
0
0
0
0
-3
62
-31
39
33
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
-74
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
32
31
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-20
40
3
39
8
0
9
0
0
0
0
0
0
0
1
37
21
-17
1
50
-21
6
14
0
0
0
0
0
0
0
0
-1
11
-7
29
0
12
43
-26
-12
-4
0
0
0
0
0
0
0
3
27
19
-2
45
-9
13
-23
-3
0
0
0
0
0
0
0
0
0
71
81
-18
-13
-6
67
48
30
0
0
0
0
0
0
0
0
30
-66
32
73
3
-30
0
0
0
-1
0
0
0
0
0
0
0
12
-16
-7
-47
-8
-8
0
0
0
0
0
0
0
0
0
0
0
9
-20
40
42
1
6
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
24
-53
-6
59
46
12
0
14
0
0
0
0
0
0
0
5
16
7
21
-31
-27
40
-32
8
0
0
0
0
0
0
0
0
-1
-55
-10
35
-23
14
21
1
-54
-2
0
0
0
0
0
0
0
-7
-19
3
22
47
15
53
-66
12
3
0
0
0
0
0
0
0
7
46
-53
-49
-6
-38
-48
75
-6
8
0
0
0
0
0
0
0
-71
-51
40
-42
27
-19
-56
0
-1
0
0
0
0
0
0
0
0
32
-2
-17
-93
10
48
8
0
0
0
0
0
0
0
0
0
0
-128
-11
-2
11
-8
61
3
0
0
0
0
0
0
0
0
0
0
-49
2
9
-6
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
-1
1
-30
-15
21
0
-1
0
0
0
0
0
0
0
0
14
12
46
18
-30
12
6
-47
-41
2
0
0
0
0
0
0
0
-23
18
-24
15
-67
103
76
82
-38
0
0
0
0
0
0
0
0
5
3
-40
58
28
34
13
-42
-2
0
0
0
0
0
0
0
0
-29
60
81
47
-9
-17
-7
-60
3
0
0
0
0
0
0
0
0
-1
-29
-3
9
6
-22
-23
1
0
0
0
0
0
0
0
0
0
-35
49
-1
-37
16
50
-6
0
0
0
0
0
0
0
0
0
0
-56
-58
-44
-8
-12
-26
-1
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
4
8
-1
2
0
-2
0
0
0
0
0
0
0
0
0
5
-8
16
10
8
0
-15
0
0
0
0
0
0
0
0
0
0
8
6
1
6
-7
13
8
-25
0
0
0
0
0
0
0
0
0
1
0
-13
-17
17
1
4
1
0
0
0
0
0
0
0
0
0
8
-4
-21
9
0
-9
1
-3
0
0
0
0
0
0
0
0
0
16
7
18
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
3
3
8
0
4
0
0
0
0
0
0
0
0
0
0
0
-32
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
-5
2
-3
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
1
0
0
0
0
0
0
0
0
0
0
-5
0
18
1
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
-23
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
19
8
-2
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
16
-27
-12
1
0
0
0
0
0
0
0
0
0
2
-3
1
-3
54
-20
19
6
0
0
0
0
0
0
0
0
1
-2
9
1
-10
5
-20
1
0
0
0
0
0
0
0
0
0
0
-46
-40
34
5
3
-2
0
0
0
0
0
0
0
0
0
0
3
0
-13
-47
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-4
18
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-9
-1
8
43
30
-25
10
2
0
0
0
0
0
0
0
0
-1
0
0
-6
-12
-5
-50
16
-31
-2
0
0
0
0
0
0
0
2
3
-4
6
7
-17
20
41
2
0
0
0
0
0
0
0
0
20
-3
-6
-25
-3
-15
70
-68
-3
0
0
0
0
0
0
0
0
2
-28
-8
-130
8
-3
6
0
9
0
0
0
0
0
0
0
0
3
-23
-10
-111
9
2
0
0
0
0
0
0
0
0
0
0
0
5
44
-30
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-6
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-6
-10
-10
0
-50
-5
0
0
0
0
0
0
0
0
0
-1
1
-57
-23
71
-5
-10
-40
16
3
0
0
0
0
0
0
0
-3
-22
-24
13
68
31
2
-40
50
-1
0
0
0
0
0
0
0
1
-29
-23
-19
27
54
74
26
42
-7
0
0
0
0
0
0
0
-8
90
-53
66
16
-53
39
-4
8
0
0
0
0
0
0
0
0
-42
24
-63
52
113
-21
28
28
1
1
0
0
0
0
0
0
0
-16
2
-61
8
-35
58
2
0
0
0
0
0
0
0
0
0
0
99
-59
-6
32
21
0
-4
0
0
0
0
0
0
0
0
0
0
-20
-32
-6
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
47
22
35
18
4
-32
0
0
0
0
0
0
0
0
0
0
-28
-23
51
119
13
33
-1
49
-3
-2
0
0
0
0
0
0
0
-14
-4
-17
-1
-107
40
-23
13
8
0
0
0
0
0
0
0
0
39
13
24
-27
23
-6
-25
-32
-3
0
0
0
0
0
0
0
0
-48
-16
46
8
2
-20
24
-46
0
0
0
0
0
0
0
0
0
62
17
-98
13
61
62
-13
16
0
0
0
0
0
0
0
0
0
57
2
-136
40
48
41
9
0
0
0
0
0
0
0
0
0
0
-29
26
50
-18
30
8
-3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-7
-1
-6
0
0
-4
0
0
0
0
0
0
0
0
0
-6
9
-6
10
24
0
-10
-2
0
0
0
0
0
0
0
0
0
8
0
-1
-7
-19
-12
2
4
0
0
0
0
0
0
0
0
0
0
2
3
3
2
4
4
1
0
0
0
0
0
0
0
0
0
7
0
-9
14
4
1
3
-2
0
0
0
0
0
0
0
0
0
1
-3
12
-3
-4
9
0
0
0
0
0
0
0
0
0
0
0
-41
0
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
-4
1
3
3
-8
1
-2
0
0
0
0
0
0
0
0
0
0
8
13
-19
32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
-37
6
9
0
0
0
0
0
0
0
0
0
-2
0
0
-26
-13
-5
-63
-1
4
0
0
0
0
0
0
0
0
-9
16
-2
16
25
95
50
-10
8
0
0
0
0
0
0
0
0
22
16
-38
-1
56
23
-3
1
0
0
0
0
0
0
0
0
0
-41
-4
-7
-36
-7
-5
-2
2
0
0
0
0
0
0
0
0
0
-4
-32
-41
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-9
-12
-7
-3
0
0
0
0
0
0
0
0
0
0
0
8
-2
-58
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
9
-2
0
0
0
0
0
0
0
0
0
0
14
-3
0
0
2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
3
-2
1
0
0
0
0
0
0
0
0
0
-4
0
6
-2
-3
-1
-1
-1
0
0
0
0
0
0
0
0
0
9
-1
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
19
1
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-5
0
4
0
0
0
0
0
0
0
0
0
-3
-5
-7
0
17
14
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-4
-31
23
-1
30
36
0
0
0
0
0
0
0
0
4
-6
2
8
-3
-19
-19
-5
-27
0
0
0
0
0
0
0
0
4
-6
0
20
17
-8
-40
27
17
0
0
0
0
0
0
0
0
0
0
1
-17
-29
3
0
38
-29
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
16
-51
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
7
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
91
1
3
0
0
0
-4
0
0
0
0
0
0
0
1
1
-8
-5
27
1
2
-2
-10
0
0
0
0
0
0
0
0
1
2
5
13
-6
22
-20
-14
5
1
0
0
0
0
0
0
0
0
0
10
-14
0
-8
-90
-42
30
0
0
0
0
0
0
0
0
0
0
-2
1
12
-15
-12
-47
13
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
-1
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
4
0
0
0
-2
5
0
0
0
0
0
0
0
6
-2
1
0
-1
1
-10
-1
0
-3
0
0
0
0
0
0
0
0
-8
1
2
-4
0
14
-15
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
0
-29
1
-6
0
0
0
0
0
0
0
0
0
0
4
15
-7
11
-52
9
-1
0
0
0
0
0
0
0
0
0
0
-1
-10
2
-6
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
13
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
6
9
4
-7
-24
-8
8
0
0
0
0
0
0
0
0
0
0
0
-4
-1
8
-13
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
-7
8
-3
3
1
0
0
0
0
0
0
0
0
0
0
-17
-2
-8
-10
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-15
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
1
8
14
-7
13
3
10
0
0
0
0
0
0
0
0
0
-1
0
0
5
4
-25
3
3
0
0
0
0
0
0
0
0
0
0
-1
1
-82
-25
-6
-38
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
-8
-6
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
25
-12
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
23
-1
4
2
0
0
0
0
0
0
0
0
0
0
-2
-1
-30
3
-4
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
20
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-8
-10
15
2
7
9
0
0
0
0
0
0
0
0
0
2
2
-9
-10
20
-48
8
18
0
0
0
0
0
0
0
0
0
-3
-1
0
-9
19
17
17
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-31
7
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-16
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
10
-13
43
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-7
91
28
-36
14
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
15
-4
-1
40
12
0
0
0
0
0
0
0
0
10
7
-30
-53
17
17
33
-6
23
0
0
0
0
0
0
0
0
1
-22
7
20
34
22
5
22
-8
0
0
0
0
0
0
0
0
0
-13
-22
41
-11
-15
-25
83
47
0
0
0
0
0
0
0
0
0
0
0
13
-15
-9
30
-42
52
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
29
-47
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-18
-36
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-8
10
-24
13
-5
0
0
0
-4
0
0
0
0
0
0
0
0
-24
-25
-28
-27
-20
4
-4
8
2
0
0
0
0
0
0
0
0
13
100
-3
-17
18
-14
-19
-5
8
0
0
0
0
0
0
0
0
19
-6
1
-68
15
-61
58
48
-1
0
0
0
0
0
0
0
0
0
0
5
-41
-9
-47
2
16
-5
0
0
0
0
0
0
0
0
0
0
-3
-13
-7
9
52
0
5
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-15
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
19
-4
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
34
-49
1
-10
-8
14
3
0
0
0
0
0
0
0
0
0
32
-45
-14
-31
-29
-30
-24
17
0
0
0
0
0
0
0
0
0
-10
25
3
23
-5
-24
-25
-3
0
0
0
0
0
0
0
0
0
-1
0
-20
-6
-8
-117
-63
22
2
0
0
0
0
0
0
0
0
0
0
5
-13
12
24
-31
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-41
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
-2
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
-17
2
-2
7
-74
17
0
0
0
0
0
0
0
0
0
0
22
19
3
6
-22
13
-17
-4
0
-1
0
0
0
0
0
0
0
0
-8
-10
-18
36
1
16
4
0
0
0
0
0
0
0
0
0
0
-5
19
9
-49
55
26
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
2
16
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
10
3
-8
0
0
0
6
1
0
0
0
0
0
0
0
0
-44
6
-2
-8
8
-6
-4
1
-14
0
0
0
0
0
0
0
-3
5
0
-31
-22
18
2
13
10
0
0
0
0
0
0
0
0
0
1
29
-2
22
-7
-4
33
14
3
-2
-2
0
0
0
0
0
0
4
1
-1
11
-13
-60
-7
-25
8
0
0
0
0
0
0
0
0
0
3
12
19
48
-34
-19
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
42
-4
2
0
0
0
0
2
0
1
-1
0
0
0
0
0
0
20
12
0
4
-15
12
-7
2
5
-1
0
0
0
0
0
0
0
-3
-25
-3
-13
-38
-33
14
-1
0
0
0
0
0
0
0
0
0
1
3
-52
20
-5
-75
20
8
8
-1
3
0
0
0
0
0
0
0
0
6
-8
-12
13
4
2
-1
0
1
0
0
0
0
0
0
0
0
0
-5
-13
12
-18
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
1
-2
-2
1
0
0
0
0
4
-4
0
2
0
0
0
0
0
0
-14
0
-2
0
0
0
-8
-3
2
0
0
0
0
0
0
0
0
0
4
1
-5
5
-2
5
27
0
-1
2
2
0
0
0
0
0
0
-3
-4
40
0
-18
1
-7
2
2
0
1
0
0
0
0
0
0
0
-6
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
0
1
2
1
0
1
0
0
0
0
0
0
0
1
1
7
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
-1
0
2
-9
0
-3
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
4
-3
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
23
-13
16
7
0
0
0
0
0
0
0
0
0
0
0
-7
29
-3
-9
7
-19
29
-24
0
0
0
0
0
0
0
0
0
0
6
-12
0
9
-16
24
50
0
0
0
0
0
0
0
0
0
0
0
6
-10
7
3
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
-29
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
18
-2
45
-7
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-54
-6
9
13
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-27
-41
-33
-8
-21
21
0
0
0
0
0
0
0
0
0
7
25
-20
-5
-18
-22
28
76
0
0
0
0
0
0
0
0
0
41
14
-88
31
-4
11
-14
1
0
0
0
0
0
0
0
0
1
-1
7
-33
-1
6
-41
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
29
25
94
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
-8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
34
1
24
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-25
16
0
10
-12
5
3
0
0
0
0
0
0
0
0
0
0
13
17
41
-3
-50
-36
-4
0
0
0
0
0
0
0
0
0
0
-4
-33
-22
15
33
-62
-4
0
0
0
0
0
0
0
0
0
0
3
4
-13
-18
-40
-8
8
0
0
0
0
0
0
0
0
0
0
0
5
-8
-3
9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-19
0
1
25
-17
0
1
0
0
0
0
0
0
0
0
0
2
4
6
-13
-38
-19
3
0
0
0
0
0
0
0
0
-3
0
9
-18
-9
-38
-6
3
-3
1
0
0
0
0
0
0
0
0
0
1
-13
24
-10
-7
42
-1
-1
0
0
0
0
0
0
0
0
0
0
3
2
2
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-2
1
-5
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
3
-4
10
-9
-19
7
0
0
0
0
0
0
0
0
0
-3
0
0
-4
27
3
14
-18
1
0
1
0
0
0
0
0
0
0
0
-5
-5
-10
-34
19
-1
0
-3
0
0
0
0
0
0
0
0
0
15
2
9
27
4
49
5
1
0
0
0
0
0
0
0
0
0
0
2
-5
-17
-5
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
10
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
25
13
-1
1
-23
23
-2
0
0
0
0
0
0
0
0
-1
30
0
-4
-1
-2
-7
-29
-4
-2
1
0
0
0
0
0
0
-36
10
0
8
-45
7
14
6
5
0
0
0
0
0
0
0
0
0
0
0
-9
13
-4
-14
-59
2
0
0
0
0
0
0
0
0
0
0
0
1
3
-74
-16
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
-3
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
22
-2
0
0
0
0
0
0
0
0
5
-10
20
0
1
-3
-77
31
-2
0
-1
0
0
0
0
0
0
0
0
-3
27
5
3
6
44
1
0
0
0
0
0
0
0
0
0
0
1
4
-3
12
18
-34
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
1
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
10
8
-1
1
0
0
0
9
0
-10
1
0
0
0
0
0
0
0
6
0
0
6
0
-29
0
2
2
0
0
0
0
0
0
0
6
0
-5
3
2
5
27
12
0
0
0
0
0
0
0
0
0
-1
7
0
-22
-8
-8
5
-8
-1
0
0
0
0
0
0
0
0
0
0
7
3
24
13
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
33
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-11
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
1
-6
-8
0
-2
3
0
0
0
0
0
0
0
0
0
17
8
10
-13
-32
18
0
-4
0
2
0
0
0
0
0
0
0
0
0
5
-12
5
-2
3
0
0
0
0
0
0
0
0
0
0
0
-4
4
-13
-3
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
2
1
2
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
5
-3
-3
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
15
-4
12
0
0
0
0
0
0
0
0
0
0
0
22
9
-39
-31
-25
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
5
-12
-8
23
-34
0
0
0
0
0
0
0
0
0
0
1
-32
-17
1
5
-60
-40
0
0
0
0
0
0
0
0
0
0
8
13
31
9
4
-6
24
0
0
0
0
0
0
0
0
0
0
0
5
9
-2
-9
2
55
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
8
2
18
15
-12
-15
0
0
0
0
0
0
0
0
0
0
0
23
-13
-57
40
-47
36
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-25
-5
-29
1
18
7
0
0
0
0
0
0
0
0
0
2
9
13
7
-5
-41
73
41
0
0
0
0
0
0
0
0
0
0
-4
40
9
-30
21
-16
16
0
0
0
0
0
0
0
0
0
-7
-1
6
-31
-32
28
41
59
0
0
0
0
0
0
0
0
0
0
1
0
6
36
-3
-25
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-12
2
-24
-6
3
0
0
0
0
0
0
0
0
0
0
0
2
-15
-7
25
2
16
0
0
0
4
0
0
0
0
0
0
0
0
-7
-9
-13
-43
-18
-7
-25
-10
-1
0
0
0
0
0
0
0
0
0
0
-5
-16
16
-1
30
-10
-22
0
0
0
0
0
0
0
0
0
-1
-8
0
30
-17
-40
-22
0
0
0
0
0
0
0
0
0
0
5
0
-6
-30
-22
-78
-32
6
0
0
0
0
0
0
0
0
0
0
2
1
16
-12
15
-21
-2
0
0
0
0
0
0
0
0
0
0
1
-1
4
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-10
2
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-76
-5
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-24
-3
-19
7
0
0
0
0
0
0
0
0
0
0
0
10
-6
-17
4
19
-36
9
0
0
0
0
0
0
0
0
0
0
4
8
-14
-21
-3
8
4
2
0
0
0
0
0
0
0
1
0
1
0
-15
-21
-19
-43
3
0
0
0
0
0
0
0
0
0
0
3
-1
-17
-23
-19
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
1
63
12
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-12
3
1
4
46
-22
1
0
0
0
0
0
0
0
0
9
0
0
0
24
1
-58
30
0
0
0
0
0
0
0
0
-3
-4
0
-3
2
-27
40
-16
13
2
0
0
0
0
0
0
0
0
0
0
0
8
-3
-29
-6
-2
3
0
0
0
0
0
0
0
0
0
0
7
1
8
13
-12
-42
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
15
8
32
0
0
0
0
0
0
0
0
0
5
0
12
0
0
13
1
2
-19
0
0
0
0
0
0
0
-2
-1
0
1
1
0
28
46
-13
2
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
-19
-43
0
0
0
0
0
0
0
0
0
0
-7
1
0
-31
29
1
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-24
2
0
0
13
-9
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
-5
40
8
-1
0
0
0
0
0
0
0
0
-1
0
0
-6
1
-2
-24
-17
0
0
0
0
0
0
0
0
0
0
0
-1
-34
0
-43
10
3
-1
0
0
0
0
0
0
0
0
0
0
0
7
7
52
-2
23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
23
6
0
1
0
0
0
2
0
0
0
0
0
0
0
0
2
10
-34
9
0
0
8
-5
-1
0
0
0
0
0
0
0
0
-10
0
-4
2
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
3
6
11
-1
-1
3
-5
1
-1
0
0
0
0
0
0
0
0
1
9
1
6
24
5
-23
0
-2
0
0
0
0
0
0
0
0
0
0
-5
3
4
-16
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-2
-19
-1
-1
0
0
-2
0
0
0
0
0
0
0
5
6
4
-7
38
2
-3
7
4
0
0
0
0
0
0
0
0
0
-6
-13
8
8
-51
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-2
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-6
-6
12
3
0
0
0
0
0
0
0
0
0
0
0
41
-18
20
-7
40
-6
0
0
0
0
0
0
0
0
0
0
0
2
16
8
1
-8
-7
0
-20
0
0
0
0
0
0
0
0
0
3
-2
4
22
-6
-15
-48
90
0
0
0
0
0
0
0
0
0
0
0
9
13
14
23
-29
21
0
0
0
0
0
0
0
0
0
0
0
8
-17
18
77
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
22
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
8
9
-16
7
3
0
0
0
0
0
0
0
0
0
0
0
-8
17
24
-113
28
4
0
0
0
0
0
0
0
0
0
0
0
4
-15
-29
-82
62
-58
-10
-30
-8
0
0
0
0
0
0
0
0
0
0
59
-8
-83
39
-61
45
-28
0
0
0
0
0
0
0
0
0
0
-16
57
29
49
24
31
8
0
0
0
0
0
0
0
0
0
0
15
-47
65
4
-6
58
65
0
0
0
0
0
0
0
0
-6
1
4
-14
-21
-55
-25
-31
1
0
0
0
0
0
0
0
0
0
0
1
-6
20
-9
-24
7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-2
0
0
0
0
0
0
0
0
1
5
-52
-16
-8
-2
0
0
0
3
0
0
0
0
0
0
0
-2
5
8
-42
-8
-32
0
0
0
-16
0
0
0
0
0
0
0
10
2
-9
-8
-73
-74
-9
-28
2
4
0
0
0
0
0
0
0
0
0
-1
-48
10
32
10
-49
-20
2
0
0
0
0
0
0
0
0
0
0
41
-6
-42
-3
10
52
2
0
0
0
0
0
0
0
0
0
0
-5
72
-60
-14
31
60
5
0
0
0
0
0
0
0
5
-2
1
-7
-25
21
17
31
-63
-6
0
0
0
0
0
0
0
0
0
0
-4
-1
-6
29
11
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
1
4
4
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-28
-18
24
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-6
18
-17
8
65
9
-59
3
-3
0
0
0
0
0
0
0
3
0
0
1
45
-12
1
-13
0
0
0
0
0
0
0
0
0
-2
0
0
0
12
-15
-2
-5
-52
0
0
0
0
0
0
0
0
0
0
0
0
-27
6
-36
-36
28
5
0
0
0
0
0
0
0
0
0
-1
0
0
8
33
-46
3
-4
0
0
0
0
0
0
0
0
0
0
2
0
-9
-13
19
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-4
-24
3
9
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
54
-5
-3
-29
8
9
1
0
0
0
0
0
0
0
0
6
0
0
2
-14
38
-9
9
-4
0
0
0
0
0
0
0
7
0
0
0
-1
41
65
27
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-13
1
7
-7
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
45
-8
-33
5
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-13
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-12
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-37
-2
-3
-8
-13
1
0
0
0
0
0
0
0
0
0
0
78
-7
0
0
-16
23
8
0
0
0
0
0
0
0
0
0
0
12
-4
0
0
13
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
72
38
14
0
0
0
0
0
0
0
0
0
0
0
0
-12
-32
0
-66
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
6
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
0
-33
5
-23
14
-25
0
0
0
0
0
0
0
0
0
0
-16
-30
0
0
0
15
-3
0
0
0
0
0
0
0
0
0
0
-6
-2
5
0
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
3
-1
0
-4
0
76
-24
3
0
0
0
0
0
0
0
0
0
7
0
17
-3
-33
24
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-9
-3
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-33
23
0
-1
-13
48
0
0
0
0
0
0
0
0
0
0
0
37
19
-2
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
-6
14
0
-3
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
9
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
2
4
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
38
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-5
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-25
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-8
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
0
-25
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-43
5
-35
3
18
-8
0
0
0
0
0
0
0
0
0
0
0
-8
5
-31
-5
-12
-5
-10
-28
0
0
0
0
0
0
0
0
0
-7
-5
-23
-49
3
-4
8
23
0
0
0
0
0
0
0
0
0
0
-17
-40
75
7
-23
8
13
0
0
0
0
0
0
0
0
0
0
0
-3
-8
18
28
0
-16
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
37
-3
11
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
2
18
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
12
33
0
0
0
0
0
0
0
0
0
-1
23
47
13
-3
-8
0
0
0
0
0
0
0
0
0
0
0
65
65
-111
-23
39
3
0
0
0
0
0
0
0
0
0
0
0
12
-2
3
-48
67
-9
13
-60
-12
0
0
0
0
0
0
0
0
1
30
-15
-16
-16
-17
13
27
-32
0
0
0
0
0
0
0
0
0
0
-72
7
-33
-1
-42
41
15
0
0
0
0
0
0
0
0
0
0
-3
41
-22
-50
45
18
7
0
0
0
0
0
0
0
0
0
0
-4
-15
29
3
0
-27
5
0
0
0
0
0
0
0
0
0
0
0
-1
-20
6
45
-13
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
32
-12
0
0
0
0
0
0
0
0
1
-10
-22
-2
-29
23
0
0
0
0
0
0
0
0
0
0
0
8
18
40
-9
2
-7
0
0
0
-4
0
0
0
0
0
0
0
-1
44
48
-55
11
2
25
5
-6
-12
0
0
0
0
0
0
0
-10
-9
-74
-7
2
-15
25
7
-2
0
0
0
0
0
0
0
0
0
1
0
-22
-18
-21
60
11
-39
-1
0
0
0
0
0
0
0
0
0
0
4
-8
66
14
30
-65
-4
0
0
0
0
0
0
0
0
0
0
8
-3
-15
77
19
-20
-27
0
0
0
0
0
0
0
0
0
1
0
-7
11
37
-3
97
5
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
-4
-8
3
0
0
0
0
0
0
0
0
-8
-12
-45
1
1
0
0
0
1
0
0
0
0
0
0
0
4
30
-30
-12
6
41
0
0
0
1
0
0
0
0
0
0
0
0
-5
-31
-59
0
-3
-3
-31
-9
2
0
0
0
0
0
0
0
0
0
-43
-9
-25
42
-50
10
-31
0
1
0
0
0
0
0
0
-1
0
3
0
-28
-43
51
-24
-51
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
-18
20
-23
-1
0
0
0
0
0
0
0
0
0
0
1
0
2
3
11
83
-14
1
0
0
0
0
0
0
0
0
0
-2
1
2
-4
2
-45
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
4
2
0
0
0
0
0
0
0
0
-4
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-13
38
4
-18
0
-7
15
0
0
0
0
0
0
0
0
0
5
48
-41
52
3
-33
-7
8
0
0
0
0
0
0
0
0
-12
2
0
0
2
42
-53
-5
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
-47
22
-1
0
0
0
0
0
0
0
0
2
0
0
0
71
-57
14
-33
2
0
0
0
0
0
0
0
0
0
0
-1
0
5
-28
11
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-17
-9
25
0
-1
-10
0
0
0
0
0
0
0
0
-2
-8
-2
-5
23
0
3
-3
-13
0
1
0
0
0
0
0
0
6
6
-19
0
0
0
29
-87
-22
-1
1
0
0
0
0
0
0
0
0
0
0
0
2
-7
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-49
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-3
22
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-5
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
-12
7
-5
0
-23
2
8
0
0
0
0
0
0
0
0
0
0
-8
25
0
0
-8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
-25
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
0
-8
1
6
0
0
0
0
0
0
0
0
0
0
0
1
9
1
-2
-8
-7
1
0
0
0
0
0
0
0
0
0
-2
-7
6
20
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
-7
5
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
48
-2
31
2
-8
0
0
0
0
0
0
0
0
0
0
0
-19
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-7
-8
5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-22
57
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
-18
8
19
-1
1
-8
0
0
0
0
0
0
0
0
0
2
-25
-1
5
-8
28
-17
8
0
0
0
0
0
0
0
0
0
1
3
20
7
5
33
-62
16
0
0
0
0
0
0
0
0
0
0
0
28
19
48
41
0
84
0
0
0
0
0
0
0
0
0
0
4
0
-12
32
-43
-30
-48
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
3
-29
-8
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
87
0
0
0
0
0
0
0
0
0
0
-15
-12
-41
-4
-7
0
0
0
0
0
0
0
0
0
0
0
9
-37
45
-8
-31
6
0
0
0
0
0
0
0
0
0
0
0
16
-55
-32
-135
0
-59
55
-41
5
0
0
0
0
0
0
0
0
0
46
7
-42
-59
43
55
-28
-5
0
0
0
0
0
0
0
0
-1
58
-48
123
-79
43
88
-21
-26
0
0
0
0
0
0
0
0
0
0
-51
-54
37
37
-48
71
-23
0
0
0
0
0
0
0
0
0
0
17
-42
-40
118
47
-41
-25
0
0
0
0
0
0
0
0
0
0
0
24
32
-14
86
-38
103
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
20
-2
0
0
0
0
0
0
0
0
0
-28
13
40
9
-13
0
0
0
0
0
0
0
0
0
0
0
14
-17
40
4
59
-2
0
0
0
-22
0
0
0
0
0
0
0
0
-10
56
-75
39
22
-1
14
13
5
0
0
0
0
0
0
0
-1
-10
-8
-15
6
-9
-52
-19
-68
0
0
0
0
0
0
0
0
-8
-46
21
90
16
-14
10
-31
88
1
0
0
0
0
0
0
0
0
0
-2
17
-14
-8
-3
23
42
-8
0
0
0
0
0
0
0
0
0
0
9
7
50
47
-54
-28
-22
0
0
0
0
0
0
0
0
0
0
-4
3
-22
-41
-28
57
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
-1
-8
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
-7
-32
29
0
0
0
-4
-1
0
0
0
0
0
0
-2
2
-16
-4
15
8
-3
0
-13
1
-4
0
0
0
0
0
0
-1
-4
28
-16
6
42
-6
16
-24
-1
0
0
0
0
0
0
0
10
-28
-23
-68
34
25
75
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
-89
41
-15
50
37
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
8
-25
-76
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-42
9
-80
42
0
0
0
0
0
0
0
0
0
0
0
0
13
7
2
5
1
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
12
34
25
7
-14
0
0
0
3
0
0
0
0
0
0
0
0
-3
-33
-3
7
5
0
0
-5
0
0
0
0
0
0
0
0
0
-5
4
0
6
-19
-1
4
8
0
0
0
0
0
0
0
0
-9
0
34
1
-17
-2
4
17
-3
0
0
0
0
0
0
0
0
8
1
0
0
0
-20
29
-7
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
8
-46
-2
-11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-2
0
0
0
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
-14
0
18
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
21
22
-72
3
41
-9
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
9
-47
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
58
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
1
13
16
0
0
0
0
0
0
0
0
0
0
0
14
8
10
2
21
-14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-13
-43
5
4
7
2
0
0
0
0
0
0
0
0
0
8
-2
6
0
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
12
22
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
-2
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-21
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-7
-5
24
0
-2
0
0
0
0
0
0
0
0
0
0
-3
-14
-82
-8
-41
1
-6
17
0
0
0
0
0
0
0
0
0
3
-31
4
-19
25
2
-16
-19
0
0
0
0
0
0
0
0
0
-7
2
-8
-6
-57
-27
-1
4
0
0
0
0
0
0
0
0
0
0
0
15
-21
-20
9
24
64
0
0
0
0
0
0
0
0
0
0
0
-8
7
18
-9
24
-51
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
36
21
127
0
0
0
0
0
0
0
0
0
0
25
-40
73
6
8
0
0
0
0
0
0
0
0
0
0
0
-9
-71
2
-42
65
12
0
0
0
0
0
0
0
0
0
0
0
-2
62
31
-44
8
-47
4
-3
8
0
0
0
0
0
0
0
0
-6
34
64
-49
18
16
39
9
4
0
0
0
0
0
0
0
0
0
27
2
-76
66
19
66
3
41
0
0
0
0
0
0
0
0
8
-20
-4
-2
29
12
-22
8
5
0
0
0
0
0
0
0
0
0
0
2
-9
16
-2
102
35
22
0
0
0
0
0
0
0
0
0
0
1
-32
-1
8
33
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
8
17
-6
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
64
-5
5
4
0
0
0
-2
0
0
0
0
0
0
0
0
-6
3
48
-32
0
0
1
-15
-2
0
0
0
0
0
0
0
0
-7
-13
-58
33
2
-36
16
5
0
0
0
0
0
0
0
0
-3
7
17
-18
-36
-13
-57
-22
-19
0
0
0
0
0
0
0
0
0
6
-5
-2
-21
1
25
19
-18
8
0
0
0
0
0
0
0
0
0
0
10
-29
1
58
72
-25
-2
0
0
0
0
0
0
0
0
0
0
1
10
-14
7
27
114
-61
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
1
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
-2
-19
36
0
2
0
0
0
0
-1
0
0
0
0
0
0
-5
-8
23
-21
19
5
2
0
17
0
0
0
0
0
0
0
0
1
-3
-3
-22
8
-31
-18
5
-4
0
0
0
0
0
0
0
0
0
0
7
-47
13
10
23
-25
5
0
0
0
0
0
0
0
0
0
-12
-4
-34
48
-18
21
10
22
0
0
0
0
0
0
0
0
0
0
0
0
16
13
62
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-26
6
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-15
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-6
19
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
-3
12
-46
0
-6
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-17
74
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
-2
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
52
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
3
-21
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-37
24
-16
-9
0
0
7
0
0
0
0
0
0
0
0
-4
13
-52
-23
58
-12
-10
-14
36
0
0
0
0
0
0
0
0
2
-5
20
22
-53
-3
5
5
-54
0
0
0
0
0
0
0
0
0
-2
10
5
-99
-63
2
16
20
0
0
0
0
0
0
0
0
0
0
0
1
17
17
71
-25
-36
0
0
0
0
0
0
0
0
0
0
0
3
-5
12
32
22
-44
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-53
-46
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
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
-6
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
8
5
0
1
-8
0
0
0
0
0
0
0
0
0
8
-48
-31
-19
21
-7
-1
-2
0
0
0
0
0
0
0
0
0
-6
1
8
8
30
43
-20
0
0
0
0
0
0
0
0
0
0
0
-14
1
-4
-20
60
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
5
8
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
1
13
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-2
-23
6
-1
-1
-1
0
0
0
0
0
0
0
0
0
4
0
-5
5
-22
12
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
13
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
17
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
-10
-5
0
-1
0
0
0
0
0
0
0
0
0
2
-8
2
25
-42
-5
4
0
0
0
0
0
0
0
0
0
0
2
-3
36
1
-12
10
1
6
0
0
0
0
0
0
0
0
0
0
12
-1
1
2
0
5
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
2
-3
-4
1
0
0
0
0
0
0
0
0
0
-2
0
-10
8
19
-16
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
-8
-5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
-1
1
-1
1
-4
4
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
4
2
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
5
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
-8
0
1
10
4
-2
-2
1
0
0
0
0
0
0
0
0
2
-1
4
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
-7
-23
4
0
4
0
-1
0
0
0
0
0
0
0
0
0
2
-6
0
0
-10
1
0
-1
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
2
0
0
1
3
5
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
15
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
7
-3
2
1
0
0
0
0
0
0
0
0
0
0
-10
0
-6
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
16
16
-14
2
-7
-4
0
0
0
0
0
0
0
0
0
4
-9
36
18
33
6
10
5
2
0
0
0
0
0
0
0
0
-3
-3
-19
-5
8
29
-14
10
-1
0
0
0
0
0
0
0
0
-1
-8
0
24
2
-23
18
7
-8
0
0
0
0
0
0
0
0
0
3
0
-3
0
1
8
0
2
-1
0
0
0
0
0
0
0
0
0
1
13
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-7
0
-1
4
0
0
0
0
0
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
19
-30
43
-12
20
-1
0
0
0
0
0
0
0
0
0
0
23
2
-28
-8
-32
4
0
-3
0
0
0
0
0
0
0
0
5
-1
-22
-8
-21
49
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
5
5
-2
-4
2
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
1
-3
2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
7
-13
31
0
6
0
0
0
0
0
0
0
0
0
0
4
7
19
-5
-5
20
0
-1
0
0
0
0
0
0
0
0
0
-12
0
2
14
13
-4
0
-2
0
0
0
0
0
0
0
0
2
-1
0
-4
-10
2
0
0
-3
0
0
0
0
0
0
0
0
0
1
-1
1
0
4
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
27
0
12
-2
-6
2
0
0
0
0
0
0
0
0
0
-1
57
-1
1
0
2
-6
-2
-1
0
0
0
0
0
0
0
0
-1
3
0
3
14
-2
-7
1
-7
0
0
0
0
0
0
0
0
0
-1
0
1
0
-14
6
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-1
6
-6
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
21
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
-22
-6
7
-8
-5
-25
16
4
0
0
0
0
0
0
0
0
5
13
1
16
4
-13
3
6
0
0
0
0
0
0
0
0
0
3
5
-3
0
-4
0
9
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
30
-6
-16
2
0
-1
0
0
0
0
0
0
0
0
9
8
-7
27
-5
-3
-2
-5
0
0
0
0
0
0
0
0
0
-3
-25
-4
8
0
-6
-3
1
-5
0
0
0
0
0
0
0
0
-2
3
-5
0
0
-13
-1
-2
0
0
0
0
0
0
0
0
0
1
9
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
8
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-4
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
5
-1
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
2
-12
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
23
-1
-4
9
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
6
-10
10
13
2
0
0
0
0
0
0
0
0
0
-3
40
52
9
25
10
-19
-8
-5
0
0
0
0
0
0
0
0
2
0
-5
0
-6
-19
20
4
3
0
0
0
0
0
0
0
0
0
19
0
-3
2
14
-25
4
-5
0
0
0
0
0
0
0
0
0
-6
0
-12
-5
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-22
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
47
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-27
41
-31
5
13
1
0
0
0
0
0
0
0
0
0
1
3
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
19
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
14
2
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
2
9
0
0
0
0
0
0
0
0
0
0
0
5
-5
2
-8
-33
-3
-2
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
3
-5
-2
5
0
0
0
0
0
0
0
0
0
2
0
-2
-1
3
-5
0
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
3
0
6
0
0
0
0
0
0
0
0
0
4
-5
-6
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
-1
-3
1
1
-6
-8
-24
7
0
0
0
0
0
0
0
0
0
0
6
3
-1
0
5
5
4
0
0
0
0
0
0
0
0
0
0
-7
0
-1
2
-1
1
0
1
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
4
8
0
0
0
0
0
0
0
0
0
0
5
-2
6
17
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
17
0
0
0
0
0
0
0
0
0
0
0
9
2
4
13
3
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
-10
16
-10
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
2
1
-12
48
17
-8
4
1
8
-2
0
0
0
0
0
0
1
0
6
2
1
-6
1
1
5
0
0
0
0
0
0
0
0
0
0
6
-1
-2
-3
5
-2
0
0
0
0
0
0
0
0
0
0
2
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
-12
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
0
16
0
0
0
0
0
0
0
0
0
0
0
7
-1
2
4
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
1
7
-4
0
0
0
0
0
0
0
0
0
0
0
-6
17
-3
-3
-2
13
-8
18
0
0
0
0
0
0
0
0
0
0
-12
-23
0
8
6
5
0
0
0
0
0
0
0
0
0
0
1
-3
30
17
2
-8
0
0
0
0
0
0
0
0
0
0
0
19
1
-31
-1
3
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-13
-5
15
0
0
0
0
0
0
0
0
0
0
3
-9
-12
38
-1
-20
-20
3
0
0
0
0
0
0
0
0
2
0
22
-21
-18
-23
80
-34
0
0
0
0
0
0
0
0
0
-2
1
17
3
-25
6
-50
6
-2
0
0
0
0
0
0
0
0
0
-4
-2
-49
-4
4
8
-6
13
0
0
0
0
0
0
0
0
1
-14
-1
-8
-20
1
-2
0
1
0
0
0
0
0
0
0
0
0
-10
-2
42
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
23
-12
-25
0
0
0
0
0
0
0
0
0
2
-4
23
5
-3
-23
36
0
-2
0
0
0
0
0
0
0
0
1
6
25
3
-8
12
0
-8
6
0
0
0
0
0
0
0
0
-2
27
0
-16
-10
8
25
3
2
0
0
0
0
0
0
0
0
0
-15
-3
-15
20
0
3
0
0
0
0
0
0
0
0
0
0
0
7
-5
-44
3
2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
16
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
-3
0
-24
0
7
1
0
0
0
0
0
0
0
0
0
0
0
1
3
3
-12
-8
2
0
0
0
0
0
0
0
0
0
0
-13
-22
0
-1
-4
7
0
-4
0
0
0
0
0
0
0
0
0
1
1
-30
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-1
9
-36
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
22
2
-5
-1
-8
0
0
0
0
0
0
0
0
0
0
-5
-1
0
8
-19
-4
0
0
0
0
0
0
0
0
0
0
1
23
-4
4
6
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
3
0
-5
0
2
0
13
2
10
0
0
0
0
0
0
0
0
0
-2
0
14
6
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-6
-6
36
-3
0
0
0
0
0
0
0
0
0
-1
-1
24
-1
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-12
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
4
0
2
2
-15
25
3
0
0
0
0
0
0
0
0
0
0
-2
-1
0
24
2
-7
10
0
0
0
0
0
0
0
0
0
0
0
13
0
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
7
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
-8
0
-3
1
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
24
0
1
-3
17
-6
-12
-12
0
0
0
0
0
0
0
0
0
4
-2
6
-5
3
-12
-4
0
0
0
0
0
0
0
0
0
0
-6
0
-23
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
2
-23
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-17
8
24
0
0
0
0
0
0
0
0
0
0
41
0
0
-4
-32
-12
4
-3
4
0
0
0
0
0
0
0
0
46
-6
11
-21
41
-25
-5
-16
0
0
0
0
0
0
0
0
-5
4
0
-41
4
-25
-28
56
-3
0
0
0
0
0
0
0
0
-4
1
27
11
28
-7
-20
2
5
1
0
0
0
0
0
0
0
-2
52
9
48
-15
9
13
0
3
0
0
0
0
0
0
0
0
3
8
34
31
0
-1
6
0
0
0
0
0
0
0
0
0
0
2
-114
-13
53
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
17
-25
0
1
0
0
0
0
0
0
0
0
1
0
0
8
-1
7
16
0
0
0
0
0
0
0
0
0
0
6
6
-5
-29
-19
-15
-13
0
1
0
0
0
0
0
0
0
0
-1
12
-5
28
47
-21
-4
6
0
0
0
0
0
0
0
0
0
-24
0
-38
-5
8
-1
0
-1
0
0
0
0
0
0
0
0
1
1
2
3
10
5
0
0
0
0
0
0
0
0
0
0
0
1
-49
-15
48
2
2
0
0
0
0
0
0
0
0
0
0
0
0
30
-17
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
0
2
-10
-3
0
0
0
0
0
0
0
0
0
0
-1
-14
6
16
7
-38
6
0
0
0
0
0
0
0
0
-2
-2
5
-5
1
-7
-13
-1
-1
0
0
0
0
0
0
0
0
0
-22
-6
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
1
13
0
0
0
0
0
0
0
0
0
0
0
-2
1
62
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
20
-13
-4
0
0
0
0
0
0
0
0
0
0
-1
4
-7
13
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
-1
25
0
0
0
0
0
0
0
0
0
0
3
2
33
0
40
6
-8
1
0
0
0
0
0
0
0
0
0
-2
-14
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-40
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
21
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
-1
-1
0
0
0
0
0
0
0
0
0
0
6
1
0
-2
0
2
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
40
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
1
0
0
0
0
0
0
0
0
0
0
1
-1
0
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
2
0
0
0
0
0
0
0
0
0
1
0
0
-3
9
2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-4
0
-3
6
0
0
0
0
0
0
0
0
0
0
4
-3
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-5
6
1
13
4
-3
0
0
0
0
0
0
0
0
0
-18
-7
-1
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
10
-6
-15
-15
5
-4
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
-36
10
-3
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-8
-66
-15
-30
0
0
0
0
0
0
0
0
0
0
9
-2
-13
42
23
-112
12
1
0
0
0
0
0
0
0
0
-1
25
27
12
-4
-84
15
53
-6
0
0
0
0
0
0
0
0
-1
58
8
-22
48
-21
63
34
17
-2
0
0
0
0
0
0
0
-3
-60
59
8
1
20
-13
1
-7
0
0
0
0
0
0
0
0
-3
0
-10
13
58
-7
-17
5
-8
0
0
0
0
0
0
0
0
0
87
-2
0
9
30
-2
0
0
0
0
0
0
0
0
0
0
8
-31
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-31
3
0
-1
0
0
0
0
0
0
0
1
-23
2
4
12
9
-22
-24
-2
0
0
0
0
0
0
0
0
0
-16
8
23
-12
-21
-1
15
17
0
0
0
0
0
0
0
0
0
-9
-23
28
38
35
16
-25
-1
0
0
0
0
0
0
0
0
0
30
17
-42
-48
6
-8
-3
-8
0
0
0
0
0
0
0
0
0
-1
0
28
-5
44
42
0
1
0
0
0
0
0
0
0
0
-8
15
23
34
-58
9
-3
-6
0
0
0
0
0
0
0
0
0
0
-69
17
-27
16
-8
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-27
59
0
-6
0
0
0
0
0
0
0
0
0
0
1
-4
-12
-10
-8
-6
0
0
0
0
0
0
0
0
0
4
0
-16
-9
-6
36
-29
0
0
0
0
0
0
0
0
0
-2
1
-7
-3
-24
0
-18
8
-1
0
0
0
0
0
0
0
0
0
-29
-8
27
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
-27
-95
0
30
-1
-2
0
0
0
0
0
0
0
0
0
0
-7
-54
0
-5
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
18
28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
6
25
-8
0
0
0
0
0
0
0
0
0
3
0
-3
-5
-8
0
7
1
0
0
0
0
0
0
0
0
0
12
-3
-17
0
-2
4
0
-8
0
0
0
0
0
0
0
0
0
0
46
-13
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
-5
13
-7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-25
6
-4
0
0
0
0
0
0
0
0
0
0
1
0
-25
0
-2
4
-8
0
0
0
0
0
0
0
0
0
2
0
-19
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
32
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
-8
4
2
0
0
0
0
0
0
0
0
0
1
2
8
-1
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
45
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
3
0
4
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-4
7
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
13
3
1
0
0
0
0
0
0
0
0
0
8
0
1
-2
1
-6
-25
6
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
24
-2
0
0
0
0
0
0
0
0
0
0
-4
6
23
18
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-9
7
41
42
0
0
0
0
0
0
0
0
0
0
1
18
-8
-8
-48
-47
-50
24
0
0
0
0
0
0
0
0
0
-6
-3
-2
27
44
142
-54
-17
5
0
0
0
0
0
0
0
0
1
-22
-41
-31
61
23
14
-12
0
0
0
0
0
0
0
0
0
88
-8
75
-6
-9
-21
-2
0
0
0
0
0
0
0
0
0
0
-14
-24
7
-7
-7
22
-14
-3
0
0
0
0
0
0
0
0
-3
0
36
-57
-69
-25
-4
2
0
0
0
0
0
0
0
0
0
1
37
19
-8
-14
1
0
2
0
0
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
1
-32
0
0
0
0
0
0
0
0
0
0
-6
4
2
13
-5
17
17
-21
0
0
0
0
0
0
0
0
-1
-1
-5
-7
-7
29
-13
59
15
0
0
0
0
0
0
0
0
0
-20
0
-3
-12
-4
-13
38
-10
0
0
0
0
0
0
0
0
0
-12
34
64
40
43
-47
-9
20
0
0
0
0
0
0
0
0
0
13
25
-17
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
59
0
17
4
-2
-9
5
0
0
0
0
0
0
0
0
0
0
-3
14
36
18
-3
-4
-6
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
-6
-30
-17
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
-3
8
1
0
0
0
0
0
0
0
0
0
17
9
49
-23
2
-3
-1
9
0
0
0
0
0
0
0
0
0
0
10
43
9
-2
19
-1
0
0
0
0
0
0
0
0
0
0
-9
17
9
-36
10
6
0
0
0
0
0
0
0
0
0
0
0
-47
-2
0
13
-5
0
1
0
0
0
0
0
0
0
0
0
0
90
0
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-12
-23
0
1
0
0
0
0
0
0
0
0
1
16
0
-1
-12
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
-8
6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
2
1
0
0
0
0
0
0
0
0
0
5
0
0
-2
-4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
3
38
10
-1
0
0
0
0
0
0
0
0
7
0
0
0
2
61
5
-5
0
0
0
0
0
0
0
0
0
16
1
16
6
15
-7
-1
0
0
0
0
0
0
0
0
0
0
-3
3
-6
1
0
8
-1
0
0
0
0
0
0
0
0
0
0
-3
3
4
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
8
-14
3
0
0
0
0
0
0
0
0
0
0
2
5
-10
42
8
16
6
4
5
0
0
0
0
0
0
0
0
8
-3
-8
-2
-69
12
-30
-42
0
0
0
0
0
0
0
0
0
-50
-4
-7
3
70
-9
8
33
0
0
0
0
0
0
0
0
-1
-13
-19
-19
10
3
62
53
-4
-1
0
0
0
0
0
0
0
0
44
88
-37
64
10
8
-3
-6
0
0
0
0
0
0
0
0
1
-1
15
-68
-5
30
8
-1
0
0
0
0
0
0
0
0
0
3
0
-3
73
14
-6
12
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
14
0
0
0
0
0
0
0
0
0
0
5
3
0
-1
14
-42
0
5
5
0
0
0
0
0
0
0
0
0
-1
-2
2
44
6
-21
-9
0
0
0
0
0
0
0
0
0
0
10
16
28
6
38
0
0
0
0
0
0
0
0
0
0
0
-1
14
-32
-24
-9
2
0
0
0
0
0
0
0
0
0
0
0
-13
-4
41
-67
23
-5
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-42
-27
29
0
-2
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
15
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-7
-19
5
0
0
0
0
0
0
0
0
0
0
-1
-1
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
-10
-3
0
0
0
0
0
0
0
0
0
0
0
-5
15
6
4
1
4
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-8
-8
-1
0
0
0
0
0
0
0
0
1
0
0
4
-1
12
7
-2
0
0
0
0
0
0
0
0
0
1
-2
-23
7
2
2
-6
0
0
0
0
0
0
0
0
0
0
-1
23
-7
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
8
-5
-8
15
21
-1
0
0
0
0
0
0
0
0
0
0
0
4
41
51
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
17
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
1
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-70
-52
-5
0
0
0
0
0
0
0
0
0
0
0
-48
1
0
-17
6
5
-7
0
-2
0
0
0
0
0
0
0
0
42
47
-21
-47
32
22
-1
-2
-110
0
0
0
0
0
0
0
0
4
12
46
35
34
-28
24
17
-7
0
0
0
0
0
0
0
0
-1
40
-39
-34
20
28
2
3
-2
0
0
0
0
0
0
0
0
-35
35
-77
53
5
-2
73
0
0
0
0
0
0
0
0
0
0
0
43
-72
-11
44
4
0
0
7
0
0
0
0
0
0
0
0
0
6
2
0
0
1
0
0
0
0
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
0
30
8
-1
-69
-82
-4
0
0
0
0
0
0
0
0
0
-12
48
5
12
-14
-49
-24
0
18
0
0
0
0
0
0
0
0
54
59
17
4
-13
-43
-9
-40
-109
46
0
0
0
0
0
0
0
0
11
-24
20
28
36
-69
-67
-110
-80
0
0
0
0
0
0
0
-91
2
6
-44
-21
0
19
27
-43
-44
0
0
0
0
0
0
0
5
-4
62
71
16
-46
30
-10
97
-157
0
0
0
0
0
0
0
-14
9
-63
-13
47
-24
3
9
4
1
0
0
0
0
0
0
0
0
-5
-44
-19
23
38
0
0
-29
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
8
22
-49
-112
-12
0
0
-2
0
0
0
0
0
0
4
-47
12
-35
-59
-108
-41
0
-31
0
-8
0
0
0
0
0
0
2
-1
15
-45
-43
11
17
-52
-23
-23
-15
0
0
0
0
0
0
-14
-48
10
-20
35
24
-30
-95
-39
-32
1
0
0
0
0
0
0
1
-44
-6
-29
10
-35
-7
51
-19
-44
13
0
0
0
0
0
0
-3
-48
61
-1
51
8
61
-82
42
-8
24
0
0
0
0
0
0
0
-138
69
23
5
-12
-57
-67
-19
45
0
0
0
0
0
0
0
0
-48
29
30
36
10
-21
-2
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
10
19
0
-19
-70
-72
15
0
0
-2
0
0
0
0
0
0
30
35
19
-46
-28
22
49
0
8
0
30
0
0
0
0
0
0
-22
-3
-54
-63
-31
-52
-30
-6
-126
-28
37
0
0
0
0
0
0
42
34
-33
-51
-24
-15
29
29
26
-107
74
0
0
0
0
0
0
13
-44
-12
51
21
-1
-24
28
32
-85
11
0
0
0
0
0
0
-1
34
24
-42
-51
3
11
13
1
28
24
0
0
0
0
0
0
0
36
61
45
-5
49
-75
34
-15
2
0
0
0
0
0
0
0
0
0
14
10
-2
-19
30
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-84
-17
0
-87
-124
0
0
-7
0
0
0
0
0
0
0
2
28
7
8
-59
57
35
0
-8
0
-8
-1
0
0
0
0
0
-1
24
-4
-9
-52
-73
26
-31
-45
-48
29
-8
0
0
0
0
0
61
47
-6
38
-67
-48
-78
-50
-104
14
6
0
0
0
0
0
0
-25
83
-30
56
-116
30
-19
45
34
-29
-23
-1
0
0
0
0
0
-4
1
5
-5
-147
-25
-49
-26
30
22
0
-4
0
0
0
0
0
0
10
9
42
-61
13
8
29
-67
7
0
0
0
0
0
0
0
0
7
15
-55
10
26
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-92
74
24
0
-82
-48
0
0
0
0
0
0
0
0
0
-2
-13
31
78
51
-16
1
0
0
0
6
0
0
0
0
0
0
0
61
-114
53
1
-39
-48
8
26
-76
14
0
0
0
0
0
0
0
43
-9
62
-11
-56
-13
1
5
-34
0
0
0
0
0
0
0
-32
23
36
37
-61
59
27
-15
1
52
6
0
0
0
0
0
0
0
-62
-109
10
-74
55
-40
1
2
-7
0
0
0
0
0
0
0
0
0
54
51
-13
-47
9
-29
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
-6
-12
1
0
-60
0
-8
2
0
0
0
0
0
0
0
8
-48
46
-54
65
5
0
0
0
5
-1
0
0
0
0
0
0
-13
70
-21
-9
-113
-10
0
-2
4
29
0
0
0
0
0
0
0
6
10
14
77
5
-70
8
0
-20
0
0
0
0
0
0
0
0
0
55
-17
-62
56
4
5
0
5
0
0
0
0
0
0
0
0
-17
15
61
-17
24
-13
0
-4
-21
0
0
0
0
0
0
0
0
0
-5
1
16
0
-1
5
0
1
0
0
0
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
13
7
14
0
1
1
0
-19
0
0
0
0
0
0
0
0
0
2
-2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
49
65
-18
-65
5
0
0
0
0
0
0
0
0
0
0
0
25
-43
34
65
76
-3
0
0
17
0
0
0
0
0
0
0
0
29
17
67
-15
-87
2
1
8
-44
0
0
0
0
0
0
0
0
73
65
4
-6
48
6
4
16
-17
0
0
0
0
0
0
0
0
-6
1
-45
10
20
40
8
-6
-64
0
0
0
0
0
0
0
0
33
1
1
-16
17
-22
36
4
-25
0
0
0
0
0
0
0
0
-42
-10
-17
56
81
0
16
21
-24
0
0
0
0
0
0
0
0
0
-4
2
20
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-28
89
-35
-59
-19
82
97
-5
0
-8
0
0
0
0
0
0
0
13
11
41
-33
-57
-6
-25
0
-31
0
0
0
0
0
0
0
0
-5
71
-7
21
-55
-39
27
-13
0
67
0
0
0
0
0
0
0
19
-18
40
-4
-49
12
2
-117
-14
-2
0
0
0
0
0
0
0
-7
7
-6
21
32
59
-16
62
135
-59
0
0
0
0
0
0
0
34
21
5
-42
-33
16
-30
50
7
26
0
0
0
0
0
0
0
-26
16
1
-12
41
29
-1
-4
-11
1
0
0
0
0
0
0
0
0
-8
-15
0
0
-46
25
-1
3
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-26
37
33
-72
14
-120
-5
0
40
31
0
0
0
0
0
0
40
-6
56
-25
-18
-62
-27
0
2
0
39
0
0
0
0
0
0
-59
-25
-18
30
-47
-60
-9
-45
12
2
26
0
0
0
0
0
0
84
-26
3
10
30
-20
68
-76
-4
16
-43
0
0
0
0
0
0
41
-48
30
-13
-44
-23
-14
-44
46
-97
7
0
0
0
0
0
0
0
-5
-54
36
31
-6
-11
-21
-117
-9
-2
0
0
0
0
0
0
-14
17
-54
20
-29
-29
-59
-13
58
-24
0
0
0
0
0
0
0
0
-29
-17
25
66
58
-3
-45
5
-9
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-58
-25
43
33
18
20
-152
-25
0
0
23
0
0
0
0
0
0
-86
-9
29
-45
-29
-76
-20
0
-27
0
17
0
0
0
0
0
0
-5
10
3
-11
-46
-32
-40
-55
118
-73
59
6
0
0
0
0
0
11
-48
32
-16
17
14
14
-51
54
-77
12
3
0
0
0
0
0
33
5
-21
56
-35
-21
57
-2
2
23
-43
0
0
0
0
0
0
-3
-14
-3
-28
74
84
67
14
40
69
-7
0
0
0
0
0
0
-9
-12
32
17
61
44
-60
27
-46
-13
5
-1
0
0
0
0
0
0
-2
8
25
-1
46
1
-2
-4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
24
-26
-22
-64
2
-57
-20
0
3
8
0
0
0
0
0
0
30
-151
3
29
17
-69
3
0
-30
0
-71
5
0
0
0
0
0
0
10
-3
63
-93
54
-42
-60
9
-31
73
12
0
0
0
0
0
10
1
-8
2
-37
-45
-26
-11
-46
-58
-2
-33
0
0
0
0
0
-12
38
-21
-45
-49
-36
-24
61
21
-9
4
0
0
0
0
0
0
0
122
-29
-79
-5
-34
-28
25
9
119
-19
-6
0
0
0
0
0
0
-31
43
47
12
26
-21
-5
2
29
0
6
0
0
0
0
0
0
-3
23
36
2
-21
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
42
5
-37
82
-8
3
2
0
6
1
0
0
0
0
0
0
-5
9
-144
-11
16
1
-18
0
-102
0
-89
0
0
0
0
0
0
29
13
20
77
27
-71
-64
45
120
-62
-5
1
0
0
0
0
0
25
13
25
-8
46
24
86
8
-47
-13
13
0
2
0
0
0
0
-16
-1
2
-18
-34
71
-12
-4
-42
33
36
-2
0
0
0
0
0
0
27
18
69
10
-20
7
-20
25
39
0
0
0
0
0
0
0
0
-19
-50
48
-75
-15
-2
0
0
1
0
0
0
0
0
0
0
0
0
10
-27
-5
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
12
47
29
41
1
0
0
13
8
0
0
0
0
0
0
16
-45
21
11
-233
-55
0
-1
0
4
16
0
0
0
0
0
0
12
-14
18
-7
66
-134
-2
-41
-88
10
18
0
0
0
0
0
0
30
-24
93
23
-65
0
2
27
0
4
0
0
0
0
0
0
0
-36
-87
-10
-35
-6
-28
-2
-7
-41
-3
0
0
0
0
0
0
0
-15
-10
-19
82
-29
17
-8
-5
18
-8
0
0
0
0
0
0
0
0
-21
51
50
3
7
5
0
0
0
0
0
0
0
0
0
0
0
0
15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-31
-4
-21
-4
0
0
0
0
0
0
0
0
0
0
0
-3
13
5
43
-1
0
-2
0
0
-6
0
0
0
0
0
0
0
14
-48
-14
38
-71
1
-25
3
0
0
0
0
0
0
0
0
-13
7
13
17
-41
0
-3
7
-6
-2
0
0
0
0
0
0
0
0
8
19
5
0
-13
0
1
-2
2
0
0
0
0
0
0
0
0
0
4
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
1
0
0
0
-5
2
0
0
0
0
0
0
0
3
8
-4
-44
25
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
6
-4
15
0
-9
0
0
0
0
0
0
0
0
0
4
-2
1
-12
1
0
3
0
3
-1
0
0
0
0
0
0
0
-3
-1
2
2
-16
-1
-1
-3
-2
-2
0
0
0
0
0
0
0
0
0
6
-3
7
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
10
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
7
13
-33
0
-1
0
-1
1
0
0
0
0
0
0
0
1
8
-51
-43
-45
-18
-2
2
-31
10
0
0
0
0
0
0
0
-1
-13
4
-12
9
-30
9
0
1
0
0
0
0
0
0
0
0
1
-24
-2
3
-27
31
0
0
-1
3
0
0
0
0
0
0
0
0
1
-4
-24
-5
-2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
2
3
0
0
0
0
0
0
0
-6
-5
-12
-10
0
1
0
2
3
0
0
0
0
0
0
0
0
0
0
-8
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
11
-65
20
30
0
0
0
0
0
0
0
0
0
0
0
24
-2
67
22
74
-4
-34
0
-24
0
0
0
0
0
0
0
0
-58
-26
66
50
-40
-19
32
-7
13
0
0
0
0
0
0
0
0
31
48
10
67
85
33
-135
70
39
0
0
0
0
0
0
0
0
44
-33
15
-11
-22
105
3
-18
56
0
0
0
0
0
0
0
0
-9
155
24
27
76
-53
7
0
-19
0
0
0
0
0
0
0
0
0
-9
15
1
22
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
-10
-31
-36
-2
-91
16
0
-2
0
0
0
0
0
0
0
-46
-2
22
7
24
-1
-79
0
100
0
0
0
0
0
0
0
0
19
52
62
-29
-56
23
-81
-75
153
-108
0
0
0
0
0
0
0
11
70
42
-45
13
-84
23
11
-6
-28
0
0
0
0
0
0
0
46
-38
-41
-10
-78
-11
-38
-93
-7
-107
0
0
0
0
0
0
0
3
-31
-60
-52
16
3
28
-35
93
-38
0
0
0
0
0
0
0
-1
50
-53
0
-110
-83
-4
5
-42
-3
0
0
0
0
0
0
0
0
15
-49
16
-41
-16
4
3
0
0
0
0
0
0
0
0
0
0
-3
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-61
14
13
-60
-67
-46
0
54
1
0
0
0
0
0
0
-61
20
48
-18
-2
-9
-71
0
17
0
59
0
0
0
0
0
0
-36
61
65
-2
-45
19
-10
51
28
-77
31
0
0
0
0
0
0
-31
45
-6
16
23
-38
-27
-75
-22
40
-4
0
0
0
0
0
0
-51
17
7
0
19
6
-66
-104
-67
0
-6
0
0
0
0
0
0
-1
-24
21
-30
51
-61
28
-47
3
-87
2
0
0
0
0
0
0
0
-83
3
44
68
33
-49
-122
44
-6
0
0
0
0
0
0
0
0
4
38
-25
30
69
-18
3
-3
-1
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
-12
3
-5
-12
33
-8
-3
0
-5
-10
0
0
0
0
0
0
22
-44
111
-34
52
46
-77
0
-7
0
18
1
0
0
0
0
0
-49
-6
-2
9
-57
-14
59
37
61
35
-54
-3
0
0
0
0
0
-53
-10
1
-21
-13
44
25
3
-24
-78
-68
-1
0
0
0
0
0
-11
-38
-14
-25
31
32
101
37
18
44
-28
0
0
0
0
0
0
-3
-90
-48
10
34
124
-36
-15
-34
44
0
0
0
0
0
0
0
0
32
55
-15
-40
80
24
-78
5
0
0
0
0
0
0
0
0
0
-7
-17
22
-6
10
6
1
0
0
0
0
0
0
0
0
0
0
0
5
0
4
1
0
0
0
0
0
0
0
0
0
0
0
1
79
-85
1
-19
20
-1
-3
0
4
-1
0
0
0
0
0
0
74
-7
-52
-41
-21
-73
-54
0
-10
0
13
-12
0
0
0
0
0
19
13
-57
-18
-23
11
4
62
-81
-8
6
-32
0
0
0
0
0
-79
17
-23
-43
24
10
-61
46
57
40
0
-6
0
0
0
0
0
1
-84
5
-5
-45
-14
-46
-14
28
15
-8
-3
0
0
0
0
0
3
41
-105
14
-18
-19
-125
-18
-47
-74
0
0
0
0
0
0
0
0
18
-10
-15
12
2
-11
19
6
-2
0
0
0
0
0
0
0
0
0
-3
-39
8
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
47
-133
-92
-37
-67
12
-14
0
-3
17
0
0
0
0
0
0
6
-23
-45
55
-34
4
60
0
1
0
13
0
0
0
0
0
0
-61
93
-44
-78
-106
47
16
-22
46
50
6
0
0
0
0
0
0
114
73
17
16
-49
-66
-11
28
-76
29
10
1
0
0
0
0
0
-16
151
-57
46
-34
-11
-53
-53
-4
-28
2
2
-2
0
0
0
0
0
-4
40
17
-58
60
4
23
-2
12
-3
0
0
0
0
0
0
0
5
36
-53
0
2
-7
1
-4
13
0
0
0
0
0
0
0
0
3
2
34
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-101
-25
-49
-6
-30
10
0
-1
-9
0
0
0
0
0
0
0
-36
10
-79
-5
-65
-47
0
7
0
-4
6
0
0
0
0
0
0
29
52
103
9
-35
5
-49
-23
11
-34
1
0
0
0
0
0
0
2
61
-42
42
43
75
24
38
-21
-3
0
-1
0
0
0
0
0
-22
-7
-94
-75
5
91
7
-48
7
0
1
0
0
0
0
0
0
-5
31
-42
15
-19
-21
24
0
-1
0
0
0
0
0
0
0
0
0
-6
23
-12
-10
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-6
8
-2
30
0
-1
0
1
-4
0
0
0
0
0
0
0
0
13
20
-10
-43
-5
0
2
0
2
0
0
0
0
0
0
1
2
41
14
19
-68
-40
2
-19
-7
-33
0
0
0
0
0
0
-10
1
-23
-58
-27
8
-71
16
15
2
0
5
0
0
0
0
0
0
0
5
-3
5
6
-1
2
-2
5
4
0
0
0
0
0
0
0
-1
-1
0
0
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
36
3
-5
-1
8
0
0
0
1
0
0
0
0
0
0
-17
22
2
8
122
-14
-10
0
-5
0
-1
0
0
0
0
0
0
1
-37
50
76
-14
-10
-6
-29
3
-22
3
0
0
0
0
0
0
41
25
9
-76
32
-6
33
-23
29
-7
-2
3
0
0
0
0
0
0
-34
0
18
28
3
4
-16
-5
-3
0
0
0
0
0
0
0
0
-9
1
-2
18
1
8
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-57
36
-3
-46
-34
8
0
-94
3
0
0
0
0
0
0
0
60
-81
34
-29
21
-38
0
-1
0
1
0
2
0
0
0
0
0
-58
-12
10
1
38
75
31
-48
-29
12
0
3
0
0
0
0
0
-15
-85
-17
6
-71
-6
-35
8
5
-24
-2
0
0
0
0
0
0
-22
42
-16
-29
-44
-30
45
-24
24
0
0
0
0
0
0
0
0
-8
-17
4
46
-73
0
1
4
-8
3
0
0
0
0
0
0
0
0
25
1
-62
4
10
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
7
1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
1
-17
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
98
-30
-61
12
0
0
0
0
0
0
0
0
0
0
0
23
91
-58
73
21
-94
13
0
-41
0
0
0
0
0
0
0
0
20
-7
-61
-67
-39
8
0
20
41
0
0
0
0
0
0
0
0
-48
73
-26
49
83
0
17
-6
1
0
0
0
0
0
0
0
0
9
-43
24
42
64
-55
14
-23
-21
0
0
0
0
0
0
0
0
5
-38
16
32
29
-65
46
0
2
0
0
0
0
0
0
0
0
-11
20
13
-11
-31
0
0
0
4
0
0
0
0
0
0
0
0
0
-30
8
15
0
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
47
11
-4
-27
-2
-25
132
-6
0
-3
0
0
0
0
0
0
0
49
-72
77
39
-17
-47
-21
0
53
0
0
0
0
0
0
0
0
-100
56
43
11
-51
28
21
-24
92
61
0
0
0
0
0
0
0
72
69
52
24
-4
-19
-35
-85
-17
-38
0
0
0
0
0
0
0
-25
-4
-31
23
-40
32
-39
-42
32
-55
0
0
0
0
0
0
0
44
-57
-70
-94
-24
-58
-33
18
-141
4
0
0
0
0
0
0
0
1
18
-19
-14
-23
-17
-60
-23
-1
-7
0
0
0
0
0
0
0
0
37
-64
-150
-31
3
-4
-5
-2
0
0
0
0
0
0
0
0
0
33
9
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
47
17
-93
-28
76
2
0
5
-2
0
0
0
0
0
0
8
-96
69
38
-43
-101
-9
0
0
0
41
0
0
0
0
0
0
-18
8
-39
37
4
1
-87
-18
80
-18
29
0
0
0
0
0
0
-48
9
2
-55
-34
122
11
-32
-85
93
1
0
0
0
0
0
0
-73
-37
12
44
29
-48
-4
-13
-89
23
-1
0
0
0
0
0
0
0
-69
-15
-85
-49
7
75
-41
-65
-8
1
0
0
0
0
0
0
-21
-49
24
-116
-82
-134
76
-2
5
-14
-1
0
0
0
0
0
0
0
-10
-100
-50
4
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
-17
78
73
80
-109
6
0
1
6
1
0
0
0
0
0
-48
-39
-33
13
47
41
142
0
4
0
-47
0
0
0
0
0
0
-10
-48
26
34
33
31
-4
-100
35
42
-31
2
0
0
0
0
0
35
-29
75
75
-6
-55
-44
102
7
13
27
7
0
0
0
0
0
16
10
-10
-3
58
-22
22
-63
48
-65
3
0
0
0
0
0
0
5
-9
-38
-63
-87
-49
12
-50
-74
-34
3
0
0
0
0
0
0
0
-7
-112
48
-5
59
-27
-15
3
0
-1
0
0
0
0
0
0
0
-4
-4
1
1
6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
3
14
-13
19
-34
7
0
-2
6
0
0
0
0
0
0
-2
16
-53
25
-16
-29
-6
0
27
0
23
0
0
0
0
0
0
-29
-11
-20
37
10
1
18
78
-8
44
1
-23
0
0
0
0
0
-8
-93
-50
42
-70
54
-10
-39
63
-95
24
-2
0
0
0
0
0
-3
-89
0
-29
-80
29
-19
-96
-6
-22
-1
0
0
0
0
0
0
0
-36
-31
52
-16
3
-32
-66
-39
-28
-1
0
0
0
0
0
0
0
2
-88
-50
-170
2
-7
-27
27
1
0
0
0
0
0
0
0
0
-12
-24
-57
27
-7
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
71
75
43
-25
34
16
1
0
0
3
0
0
0
0
0
0
0
11
9
-67
58
-53
-44
0
6
0
-17
0
0
0
0
0
0
9
-12
52
-30
30
1
-31
73
21
-7
-23
0
0
0
0
0
0
-42
132
4
17
-100
-8
25
-26
-101
20
3
-3
0
0
0
0
0
-2
53
-45
13
-62
-54
-35
-44
12
-31
-3
1
0
0
0
0
0
0
-29
-2
-57
11
16
82
-28
-42
0
-7
0
0
0
0
0
0
0
6
-44
-9
-39
54
-13
43
1
0
7
0
0
0
0
0
0
0
-4
-18
48
-27
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-32
-12
-12
13
0
0
0
0
0
0
0
0
0
0
0
4
22
8
-9
16
32
0
0
0
3
-1
0
0
0
0
0
0
-23
-24
-16
74
75
11
-25
16
-82
4
-7
0
0
0
0
0
0
-37
-66
21
57
3
-1
-16
-5
-22
-2
0
0
0
0
0
0
0
-1
56
-20
-14
45
17
-36
-1
-38
0
3
0
0
0
0
0
0
49
-5
-18
-31
53
13
-4
1
3
4
0
0
0
0
0
0
0
0
4
-17
4
-16
-10
8
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
-8
2
0
-5
0
0
0
0
0
0
0
0
0
0
1
15
-7
-24
-28
8
42
0
0
0
-7
0
0
0
0
0
0
-13
-6
-72
5
-20
-29
-10
3
-13
10
0
0
1
0
0
0
0
0
-20
-19
-20
9
0
31
0
-14
0
1
-3
0
0
0
0
0
0
-6
-2
-41
0
-42
-7
7
2
0
-3
0
0
0
0
0
0
0
0
-4
0
26
-8
7
-5
0
0
0
0
0
0
0
0
0
0
3
0
-1
-8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
13
66
-56
23
-7
-19
0
0
0
2
0
0
0
0
0
0
16
-50
-47
56
-14
-93
-4
0
4
0
2
0
0
0
0
0
0
-38
-2
-39
7
-111
49
-25
-50
47
-35
-6
0
0
0
0
0
0
10
-20
-23
63
97
-14
32
-5
2
-1
2
0
0
0
0
0
0
-39
22
21
9
-70
5
38
-8
-49
0
2
0
0
0
0
0
0
0
28
-103
-98
-3
-33
8
7
-4
0
0
0
0
0
0
0
0
0
-13
28
8
32
0
7
0
5
0
0
0
0
0
0
0
0
0
1
0
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-78
-104
0
35
12
-13
0
19
0
0
0
0
0
0
0
0
-12
-11
-14
25
-1
-44
0
1
0
0
-1
0
0
0
0
0
0
29
6
11
17
-15
9
-1
25
-44
-21
0
0
0
0
0
0
0
9
-22
30
-22
47
5
-97
-18
1
1
0
0
0
0
0
0
0
-5
73
-42
22
-8
-63
2
2
55
0
0
0
0
0
0
0
0
28
0
17
49
-50
-69
21
0
1
0
0
0
0
0
0
0
0
1
20
-32
-54
6
-87
-9
0
2
0
0
0
0
0
0
0
0
0
20
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
-2
0
3
0
0
11
0
0
0
0
0
0
0
0
0
2
-6
1
-9
0
0
0
12
-1
0
0
0
0
0
0
0
0
-1
-4
-13
-1
-1
0
0
10
0
0
0
0
0
0
0
0
0
14
-2
12
-1
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-4
31
-15
1
0
0
0
0
0
0
0
0
0
0
0
-9
24
-69
6
7
-42
-5
0
-6
0
0
0
0
0
0
0
0
-15
-24
92
28
28
18
2
1
1
0
0
0
0
0
0
0
0
-11
74
5
2
-5
-47
6
3
17
0
0
0
0
0
0
0
0
0
5
-7
22
5
5
0
-1
-122
0
0
0
0
0
0
0
0
-8
5
-17
-39
-3
19
-50
-56
-6
0
0
0
0
0
0
0
0
6
-4
60
18
-64
-1
0
-24
-2
0
0
0
0
0
0
0
0
0
-59
-8
14
0
10
-10
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
50
29
-61
-41
36
56
0
0
-1
0
0
0
0
0
0
0
55
39
33
-13
-8
-36
38
0
-6
0
0
0
0
0
0
0
0
-58
22
-6
15
34
-33
97
22
61
-69
0
0
0
0
0
0
0
-32
-29
66
-19
-14
-129
-75
-12
14
2
0
0
0
0
0
0
0
5
0
14
-48
-38
-47
-23
-29
4
-46
0
0
0
0
0
0
0
-16
-36
1
-50
107
7
32
45
-25
-25
0
0
0
0
0
0
0
5
-103
16
38
36
38
105
-39
-9
-33
0
0
0
0
0
0
0
0
14
56
-60
2
-11
0
0
-2
2
0
0
0
0
0
0
0
0
1
-31
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-15
-17
42
-21
49
-10
27
-2
0
-14
0
0
0
0
0
0
0
0
-76
86
19
-22
-5
-34
0
20
0
-23
0
0
0
0
0
0
16
30
49
-10
45
-39
-15
46
-41
64
-15
0
0
0
0
0
0
12
-51
60
49
14
-11
-56
38
-43
-48
12
0
0
0
0
0
0
-11
1
0
49
-68
-25
-27
-116
106
-71
2
0
0
0
0
0
0
0
-75
71
13
-16
-63
-118
-61
10
-15
8
0
0
0
0
0
0
0
-82
-70
-19
-56
44
48
8
-32
-7
0
0
0
0
0
0
0
0
-32
-13
40
-43
-6
9
-9
1
2
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
39
-69
12
-14
-75
48
-5
0
0
3
0
0
0
0
0
0
9
35
27
-55
21
30
84
0
-2
0
6
4
0
0
0
0
0
49
-12
-19
66
102
-6
47
-26
-23
46
-40
-3
0
0
0
0
0
3
-24
-63
93
-4
70
-37
-9
4
46
10
-2
0
0
0
0
0
-86
-61
5
0
25
16
45
28
60
-89
-7
0
0
0
0
0
0
1
81
-44
31
70
81
32
2
-21
-56
3
0
0
0
0
0
0
-1
-6
-88
-1
-16
54
42
-32
7
0
0
0
0
0
0
0
0
0
-8
6
-19
-73
20
2
-4
0
0
0
0
0
0
0
0
0
0
-13
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-32
115
13
-18
68
-7
0
-2
0
1
0
0
0
0
0
-4
-37
-109
-9
9
61
50
0
5
0
-7
2
0
0
0
0
0
1
-15
-6
10
-23
96
15
20
-50
-16
18
-32
0
0
0
0
0
2
26
-85
1
12
-25
108
105
-46
9
-4
-1
0
0
0
0
0
0
-33
66
-36
4
71
-31
56
-11
36
0
0
0
0
0
0
0
0
-46
27
-24
-42
56
-4
41
6
-6
-4
1
0
0
0
0
0
-1
-11
47
-13
-31
-19
10
-63
3
-4
0
0
0
0
0
0
0
0
1
-1
-50
-29
19
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
-1
14
10
28
36
18
19
-1
0
0
0
0
0
0
0
0
0
2
-20
-38
19
58
47
-10
0
-1
0
9
-5
0
0
0
0
0
11
-104
70
-9
9
10
-56
2
-2
0
23
0
0
0
0
0
0
-14
83
108
-9
27
89
31
14
-11
17
-3
0
0
0
0
0
0
-11
-44
-51
89
47
0
-25
1
-41
-49
31
0
0
0
0
0
0
0
-16
-102
29
-29
-23
11
-4
-6
-2
-1
0
0
0
0
0
0
0
8
-28
-134
22
-28
41
4
8
0
0
0
0
0
0
0
0
0
3
2
-24
8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
21
84
3
-29
-29
-2
3
0
0
0
0
0
0
0
0
0
0
-15
-66
23
27
45
40
0
1
0
-13
-1
0
0
0
0
0
0
31
78
-53
-60
71
-8
3
-5
-8
0
-1
0
0
0
0
0
0
22
-23
-20
16
-49
48
12
-13
-51
1
2
0
0
0
0
0
0
7
25
18
-34
78
0
13
-1
41
0
-3
0
0
0
0
0
0
-10
-21
-36
-51
-3
-17
-7
0
-8
0
0
0
0
0
0
0
0
0
-53
6
-59
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-36
10
-3
1
-12
0
0
0
0
0
0
0
0
0
0
1
-55
-20
88
-1
-69
-4
0
-3
0
5
0
0
0
0
0
0
-34
-25
-20
1
8
25
-9
-32
8
2
4
0
0
0
0
0
0
3
14
-9
118
-61
33
-8
1
-8
-7
-3
0
0
0
0
0
0
19
49
-2
-2
16
43
5
0
-1
7
0
0
0
0
0
0
0
0
4
0
-46
-67
-55
-29
2
0
2
0
0
0
0
0
0
0
-2
0
-18
4
3
12
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-80
-11
8
-15
-4
0
0
0
0
0
0
0
0
0
0
43
32
-41
-34
62
-49
27
0
1
0
0
1
0
0
0
0
0
-26
-48
-50
-142
9
-41
2
5
-50
-116
0
0
0
0
0
0
0
-16
33
-81
78
-42
-14
-57
28
-7
-8
0
0
0
0
0
0
0
94
-16
-55
46
5
-14
27
0
0
-16
0
0
0
0
0
0
0
-12
-15
-120
-16
-46
-24
-27
42
-18
8
0
0
0
0
0
0
0
-5
8
89
64
4
-22
-59
2
0
-5
0
0
0
0
0
0
0
0
0
-10
1
5
23
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
17
61
-23
26
-3
0
-11
-3
0
0
0
0
0
0
0
-73
49
-32
16
-52
-67
0
7
0
1
0
0
0
0
0
0
0
6
-64
6
-56
-50
29
5
-20
-22
1
0
0
0
0
0
0
0
3
40
-81
19
37
-5
9
-14
-68
-2
0
0
0
0
0
0
0
-13
23
-4
61
-30
-72
-66
-30
0
-6
0
0
0
0
0
0
0
43
50
-28
-48
-54
-47
31
-20
59
0
0
0
0
0
0
0
0
22
-2
22
-38
-13
11
5
2
0
0
0
0
0
0
0
0
0
-2
4
-26
-19
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
-3
24
0
-4
0
0
0
-23
0
0
0
0
0
0
0
0
0
-13
-7
4
0
3
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
-8
-9
0
-1
-3
3
0
0
0
0
0
0
0
0
0
2
-1
-1
6
8
-1
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
-8
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-18
-1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-2
-3
1
3
0
0
0
0
0
0
0
0
0
0
5
-17
-56
-6
30
9
0
-23
-6
0
0
0
0
0
0
0
0
0
11
3
36
0
-12
-9
0
-85
0
0
0
0
0
0
0
0
46
13
-47
42
110
-11
14
4
-1
0
0
0
0
0
0
0
0
0
-6
-5
4
-3
19
4
36
-12
0
0
0
0
0
0
0
0
1
35
-80
9
1
2
0
0
9
0
0
0
0
0
0
0
0
0
-62
0
10
0
5
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
23
-56
16
55
52
23
-1
0
-6
0
0
0
0
0
0
0
-23
-14
-12
29
46
-56
-45
0
-6
0
0
0
0
0
0
0
0
-18
-40
-8
-4
100
18
-3
-30
-34
-12
0
0
0
0
0
0
0
-62
-55
36
61
-21
58
51
9
75
-57
0
0
0
0
0
0
0
-41
47
3
37
-27
54
-89
73
11
-23
0
0
0
0
0
0
0
-4
0
-5
-56
-25
4
1
-58
-2
7
0
0
0
0
0
0
0
-7
-10
-30
19
59
29
-45
54
-63
3
0
0
0
0
0
0
0
0
-82
2
57
56
-7
3
6
4
0
0
0
0
0
0
0
0
0
-2
14
3
5
0
0
0
0
0
0
0
0
0
0
0
0
57
-13
114
28
53
4
-32
47
0
0
1
0
0
0
0
0
0
-1
108
-50
79
20
72
9
0
0
0
20
0
0
0
0
0
0
-13
3
92
8
-8
75
45
66
-15
6
13
0
0
0
0
0
0
0
11
-1
71
0
-34
82
61
30
-106
6
0
0
0
0
0
0
23
9
167
-28
21
33
10
-7
-41
-71
-14
0
0
0
0
0
0
1
-71
0
8
0
-39
9
55
-50
-22
3
0
0
0
0
0
0
0
3
-14
-1
22
-8
86
-124
29
1
0
0
0
0
0
0
0
0
-83
60
32
-62
-12
4
5
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
-25
-59
9
3
26
-29
21
-1
0
0
5
0
0
0
0
0
0
0
-3
29
-4
7
75
34
0
0
0
-1
0
0
0
0
0
0
-33
-17
46
117
93
138
45
-37
32
17
-41
-4
0
0
0
0
0
-48
42
-55
-100
17
62
6
0
44
0
3
0
0
0
0
0
0
-14
0
20
41
-8
37
63
3
-11
-73
44
0
0
0
0
0
0
-30
26
-60
0
-12
-20
-23
-81
-35
13
-1
0
0
0
0
0
0
-14
-68
-26
10
-28
22
37
33
-51
0
0
0
0
0
0
0
0
0
0
35
-35
3
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-14
72
70
27
7
-13
0
0
3
0
0
0
0
0
0
0
2
-21
-6
30
53
43
0
8
0
-4
2
0
0
0
0
0
-3
23
27
-21
36
-76
37
10
-29
62
0
0
0
0
0
0
0
3
-61
63
25
-100
31
5
42
13
-89
5
0
0
0
0
0
0
-44
-49
-36
-5
-4
9
-46
29
11
56
2
-3
0
0
0
0
0
0
-24
-28
-58
0
21
39
-22
4
-29
0
0
0
0
0
0
0
0
-48
40
-28
57
66
4
-8
-53
-9
0
0
0
0
0
0
0
0
-16
13
-18
-22
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-45
10
-23
12
-26
-4
0
0
1
0
0
0
0
0
0
0
76
85
-22
21
16
7
0
-2
0
6
0
0
0
0
0
0
-1
-2
32
12
19
19
0
8
-24
-6
-5
0
0
0
0
0
0
0
38
23
-29
-67
119
78
3
5
-3
5
0
0
0
0
0
0
-2
20
-167
24
-35
9
2
34
-5
-29
1
0
0
0
0
0
0
1
-46
42
-20
-12
0
77
-24
-50
-6
0
0
0
0
0
0
0
1
-1
27
-28
9
29
5
2
22
-1
0
0
0
0
0
0
0
0
-1
-4
23
22
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
40
-7
12
44
-1
0
0
1
0
0
0
0
0
0
0
50
-35
39
-22
-75
23
0
0
0
0
0
0
0
0
0
0
0
13
-56
-57
41
-23
128
6
1
-9
0
0
0
0
0
0
0
0
44
19
-59
-24
-5
0
16
-1
-6
0
0
0
0
0
0
0
0
15
23
-22
-81
44
-13
22
-5
-13
0
0
0
0
0
0
0
0
67
-40
29
-15
83
0
0
1
-36
0
0
0
0
0
0
0
0
1
1
-38
-92
-19
-32
0
3
0
0
0
0
0
0
0
0
0
0
2
-18
-13
-66
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-8
-11
2
0
1
0
0
-1
0
0
0
0
0
0
0
-24
2
-31
10
-7
-7
0
1
0
0
0
0
0
0
0
0
9
-3
-66
-49
-7
-27
8
-3
-5
0
-7
0
0
0
0
0
0
0
17
3
-40
0
-36
6
-18
-1
0
0
0
0
0
0
0
0
12
3
40
-9
27
22
17
0
-76
0
0
0
0
0
0
0
0
0
16
4
-8
15
-5
-22
0
0
0
0
0
0
0
0
0
0
-4
0
1
7
14
3
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-111
-55
-23
17
18
0
0
0
0
0
0
0
0
0
0
-1
39
37
-15
53
-7
-5
0
1
0
0
0
0
0
0
0
0
12
-37
32
-15
-24
-1
-16
-25
-74
-1
0
0
0
0
0
0
0
-13
87
4
-43
13
-15
-68
-97
23
21
0
0
0
0
0
0
0
-32
-187
-48
24
-53
-2
16
-13
-25
-33
0
0
0
0
0
0
0
-24
54
9
-47
-5
11
24
4
0
5
0
0
0
0
0
0
0
6
22
-40
-56
-43
38
-9
10
8
0
0
0
0
0
0
0
0
0
11
22
-67
-55
-35
6
3
3
0
0
0
0
0
0
0
0
0
-13
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
-7
18
-13
0
-2
0
9
0
0
0
0
0
0
0
0
52
-37
-73
-73
17
-8
0
-2
0
0
0
0
0
0
0
0
0
-48
11
-67
-80
3
71
-1
2
-40
1
0
0
0
0
0
0
0
69
-16
-31
172
26
36
-48
-6
-1
-2
0
0
0
0
0
0
0
0
-10
30
-80
99
-119
22
-24
-41
0
0
0
0
0
0
0
0
88
-5
-97
32
-2
45
-1
8
0
0
0
0
0
0
0
0
0
0
3
-29
-46
-48
-90
-15
3
-1
0
0
0
0
0
0
0
0
-5
22
-7
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
4
0
0
0
0
-16
0
0
0
0
0
0
0
0
-10
-6
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
11
25
1
0
0
-1
0
0
0
0
0
0
0
0
-19
-3
45
8
6
4
0
1
0
0
0
0
0
0
0
0
0
1
-21
-15
26
23
41
0
0
15
0
0
0
0
0
0
0
0
21
5
30
8
-48
8
-4
0
3
0
0
0
0
0
0
0
0
0
0
-31
-80
-10
-6
5
-1
3
0
0
0
0
0
0
0
0
0
0
39
0
17
2
0
0
-3
0
0
0
0
0
0
0
0
0
15
1
9
0
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-22
18
-51
30
58
0
0
0
0
0
0
0
0
0
0
4
121
18
-41
51
68
4
0
-1
0
0
0
0
0
0
0
0
65
-16
37
14
78
69
-134
0
-6
44
0
0
0
0
0
0
0
24
-6
44
62
-60
-90
-26
-39
38
-69
0
0
0
0
0
0
0
-64
3
47
37
-11
64
-73
-52
-39
-39
0
0
0
0
0
0
0
-14
87
42
-60
33
-28
27
43
-13
-113
0
0
0
0
0
0
0
19
0
-3
33
-11
3
-32
-39
37
-117
0
0
0
0
0
0
0
0
75
25
39
-13
-10
2
2
-2
6
0
0
0
0
0
0
0
0
-3
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
77
43
51
-61
72
33
-2
0
5
0
0
0
0
0
0
0
0
-57
-9
9
-20
-8
39
0
2
0
3
0
0
0
0
0
0
-25
7
16
6
-16
-21
-54
-11
10
23
-3
0
0
0
0
0
0
0
30
-51
-59
15
-29
47
-30
-100
75
-8
0
0
0
0
0
0
-8
19
-13
14
14
-66
20
-37
-105
-24
31
0
0
0
0
0
0
0
-25
-2
-61
-49
-54
-97
-85
60
-9
0
0
0
0
0
0
0
-13
-8
0
-28
18
17
-22
-81
-7
9
0
0
0
0
0
0
0
0
-5
-50
13
51
-1
8
2
-1
-11
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
-59
33
-16
17
2
0
0
-1
0
0
0
0
0
0
0
17
90
5
-14
-18
-28
0
6
0
-8
0
0
0
0
0
0
-23
-13
34
54
-78
0
-17
-20
-2
3
-26
0
0
0
0
0
0
0
72
-5
116
75
-80
3
32
10
1
18
3
0
0
0
0
0
54
-4
-27
-2
37
112
15
-54
-13
22
1
0
0
0
0
0
0
8
27
24
-24
8
79
20
0
49
19
-8
0
0
0
0
0
0
-7
-29
-43
0
57
38
35
-1
-17
21
0
0
0
0
0
0
0
0
1
3
16
-5
-71
-10
2
0
0
0
0
0
0
0
0
0
-2
0
38
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
31
-48
67
-9
5
0
0
0
0
0
0
0
0
0
-6
-62
-42
-24
-98
-1
8
0
0
0
0
0
0
0
0
0
0
2
-50
-26
14
60
24
7
0
10
23
0
0
0
0
0
0
0
0
-27
-54
30
63
-55
41
10
-3
20
-8
0
0
0
0
0
0
-24
29
49
33
-15
18
22
-38
10
42
0
0
0
0
0
0
0
0
-89
-35
46
24
77
3
-61
-30
-99
3
-1
0
0
0
0
0
0
3
-55
22
0
-18
14
-16
49
-5
0
0
0
0
0
0
0
0
18
5
-77
2
-8
16
0
-19
-4
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
34
42
-7
41
4
0
0
0
0
0
0
0
0
0
1
-63
79
-39
55
-17
31
0
-2
0
0
0
0
0
0
0
0
-2
14
55
75
54
22
-63
0
1
30
-2
0
0
0
0
0
0
-2
6
27
-8
-100
-6
-4
30
-15
-35
0
0
0
0
0
0
0
19
-3
0
-20
-80
-7
9
-3
0
8
-18
0
0
0
0
0
0
1
-19
-7
18
-25
2
1
49
3
-67
-1
0
0
0
0
0
0
0
2
9
13
-84
0
-31
9
38
-13
0
0
0
0
0
0
0
0
-5
2
46
26
53
-2
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-21
-7
-7
1
0
0
0
0
0
0
0
0
0
0
-15
49
-41
39
4
2
0
0
0
0
0
0
0
0
0
0
0
25
-32
23
4
23
2
-1
0
-6
-1
0
0
0
0
0
0
0
-22
0
-68
4
26
29
25
0
0
0
0
0
0
0
0
0
0
2
-37
-23
63
55
15
5
6
-9
0
0
0
0
0
0
0
0
-59
9
54
-33
-13
-11
-17
1
5
0
0
0
0
0
0
0
0
0
23
-3
-61
-19
0
-32
-61
-13
0
0
0
0
0
0
0
0
0
4
-63
-52
25
0
0
-8
-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
-6
-17
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-24
19
0
7
0
0
0
2
0
0
0
0
0
0
-17
0
-47
-18
-29
6
0
0
-1
-1
0
0
0
0
0
0
0
0
26
-7
-6
-4
-20
3
-3
-14
0
0
0
0
0
0
0
0
0
-13
26
-16
28
16
12
-1
-3
0
0
0
0
0
0
0
0
0
-47
-7
-64
10
16
-1
-4
-1
-6
0
0
0
0
0
0
0
0
0
-18
1
-5
0
-14
0
-5
0
0
0
0
0
0
0
0
0
8
0
-70
-2
-6
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-88
9
-62
-7
24
-2
0
0
0
0
0
0
0
0
0
0
-45
34
5
-2
-26
7
0
0
0
0
0
0
0
0
0
0
-2
-59
-23
-79
-149
4
-4
24
-3
30
0
0
0
0
0
0
0
0
-14
-45
4
2
-65
-54
-20
10
40
0
0
0
0
0
0
0
24
-12
-108
-17
37
76
-3
11
5
-51
0
0
0
0
0
0
0
0
-73
49
-88
-19
16
1
5
3
44
0
0
0
0
0
0
0
0
2
8
16
-6
-1
-44
0
0
-18
0
0
0
0
0
0
0
0
-119
-32
127
-65
-18
2
-20
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-16
-14
13
1
0
0
0
-7
0
0
0
0
0
0
0
-75
-20
20
-13
30
4
0
0
0
0
0
0
0
0
0
0
0
0
-39
-38
3
-18
-7
3
0
68
0
0
0
0
0
0
0
0
7
24
-24
17
-25
30
16
0
10
0
0
0
0
0
0
0
0
2
-57
43
0
-5
-110
5
8
-24
0
0
0
0
0
0
0
0
3
-6
-55
43
15
-93
13
-1
-7
0
0
0
0
0
0
0
0
-40
-52
39
32
-44
106
-19
-8
0
-1
0
0
0
0
0
0
0
0
-9
0
10
-19
2
24
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
9
1
4
0
0
0
0
0
0
0
0
0
0
0
-14
3
50
0
-9
2
0
0
5
0
0
0
0
0
0
0
0
1
55
0
61
-1
-6
0
0
-20
0
0
0
0
0
0
0
0
16
0
1
-14
-63
-12
0
5
4
0
0
0
0
0
0
0
0
0
80
4
83
0
43
-55
-10
0
0
0
0
0
0
0
0
0
0
4
-12
0
-24
2
3
0
2
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-7
1
3
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
25
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
22
15
3
-7
0
0
0
0
0
0
0
0
0
0
23
1
-9
-8
-113
9
0
6
51
4
0
0
0
0
0
0
0
-4
-35
14
42
-65
108
89
-8
71
-24
0
0
0
0
0
0
0
-13
1
104
79
-15
0
4
17
-2
12
0
0
0
0
0
0
0
0
22
-18
18
-13
-116
15
27
16
-9
0
0
0
0
0
0
0
-21
1
-3
42
-51
4
0
37
-79
0
0
0
0
0
0
0
0
0
0
3
3
10
13
-27
-5
-1
-4
0
0
0
0
0
0
0
0
-27
14
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
23
-1
7
0
0
0
0
0
0
0
0
0
0
0
-83
0
26
-8
28
10
0
0
0
0
0
0
0
0
0
0
38
-15
-26
-6
0
80
47
-3
2
-55
0
0
0
0
0
0
0
0
-49
31
43
27
-48
136
-38
-2
-24
0
0
0
0
0
0
0
3
-47
11
28
-40
36
73
-16
6
2
-1
0
0
0
0
0
0
0
-5
-57
-41
-72
-6
-42
7
-19
125
0
0
0
0
0
0
0
2
-1
7
-17
-63
-37
14
-40
-64
13
0
0
0
0
0
0
0
0
21
0
-12
28
20
-29
-18
0
-2
0
0
0
0
0
0
0
0
-3
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-2
-55
0
-19
0
0
0
3
0
0
0
0
0
0
0
-23
-1
47
-4
20
0
0
0
0
-1
0
0
0
0
0
0
19
6
80
24
23
18
3
-3
8
-14
0
0
0
0
0
0
0
-4
72
6
-114
24
52
-42
-13
0
0
3
0
0
0
0
0
0
-12
1
66
8
-10
34
10
11
-1
3
0
0
0
0
0
0
0
0
11
26
-41
8
8
-21
-3
-8
0
0
0
0
0
0
0
0
1
0
-99
22
-18
14
-54
-9
-49
0
0
0
0
0
0
0
0
0
-34
-5
0
-23
23
-13
-28
0
-13
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
41
0
-3
-49
5
0
0
0
0
0
0
0
0
0
0
0
-2
-16
35
-10
-6
5
0
0
0
7
0
0
0
0
0
0
2
0
115
17
-88
-1
50
2
4
-4
0
0
0
0
0
0
0
0
9
57
-12
3
25
36
6
0
0
0
0
0
0
0
0
0
-2
1
5
66
-18
2
52
14
9
3
0
0
0
0
0
0
0
0
4
7
-16
47
49
-1
-6
1
-9
0
0
0
0
0
0
0
-1
-1
-19
1
30
-13
-12
5
-19
-10
0
0
0
0
0
0
0
0
-2
4
-39
0
-14
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-41
-7
21
-7
16
0
0
0
0
0
0
0
0
0
0
0
-55
0
91
-18
7
-18
0
0
1
0
0
0
0
0
0
0
0
0
45
-1
30
-5
22
-5
-1
1
3
0
0
0
0
0
0
0
2
1
-26
-15
2
5
30
-5
1
2
0
0
0
0
0
0
0
0
7
3
-27
-2
-8
5
-6
3
-3
0
0
0
0
0
0
0
-5
0
-64
1
2
-3
5
1
7
0
0
0
0
0
0
0
0
0
2
-5
-21
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
-15
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-25
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
4
0
-1
0
12
0
0
1
0
0
0
0
0
0
0
0
-3
0
-2
3
13
14
4
0
0
0
0
0
0
0
0
0
0
-23
5
-1
-27
-24
-46
0
0
0
0
0
0
0
0
0
0
0
0
2
-53
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
19
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-32
2
-123
-1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
15
-8
-7
-4
0
-81
0
0
0
0
0
0
0
0
26
-38
45
12
9
-27
-1
-25
-4
0
0
0
0
0
0
0
7
15
-33
1
-74
-155
-18
48
-6
-8
0
0
0
0
0
0
0
0
1
4
46
-7
17
-34
0
0
0
0
0
0
0
0
0
0
0
0
-71
8
-9
1
5
0
0
-5
0
0
0
0
0
0
0
0
9
0
39
3
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
3
0
-2
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
13
9
-4
-2
0
0
1
0
0
0
0
0
0
0
0
4
31
-20
4
-7
5
0
-5
0
0
0
0
0
0
0
0
4
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
12
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-1
-28
1
-13
2
0
-6
0
0
0
0
0
0
0
0
-56
1
7
0
19
-18
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-38
4
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
9
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-30
0
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-4
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-24
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-25
0
-3
0
0
-7
0
0
0
0
0
0
0
0
-1
0
-24
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
39
27
28
33
0
0
0
0
0
0
0
0
0
2
26
-62
-11
32
8
62
12
0
0
0
0
0
0
0
0
0
5
7
6
18
52
17
54
6
-3
0
0
0
0
0
0
0
0
2
-3
22
-7
11
-85
-37
27
-25
0
0
0
0
0
0
0
0
1
3
-4
93
55
69
-42
-12
-50
0
0
0
0
0
0
0
0
0
6
0
-3
-32
54
35
9
-1
0
0
0
0
0
0
0
0
0
-8
-3
22
-11
-90
45
15
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-31
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
19
63
51
11
23
-59
0
-53
0
0
0
0
0
0
0
71
-18
15
-32
32
26
7
18
14
-48
0
0
0
0
0
0
0
-53
-6
86
90
18
5
-30
20
21
-28
0
0
0
0
0
0
0
24
-14
37
16
1
17
-40
13
-9
40
0
0
0
0
0
0
0
6
30
-17
-30
-23
96
-5
1
-26
16
0
0
0
0
0
0
0
-8
-40
100
-35
-34
-3
20
5
-41
-21
0
0
0
0
0
0
0
19
28
44
20
-59
-6
-32
-43
29
-5
0
0
0
0
0
0
0
0
10
-7
4
3
-63
-34
-38
66
53
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
2
0
0
0
0
0
0
0
0
0
-53
0
20
-27
6
14
-107
0
-7
24
0
0
0
0
0
0
-4
81
30
96
-10
18
-65
-35
38
-83
88
0
0
0
0
0
0
18
52
5
-6
-35
59
18
-27
-16
56
18
0
0
0
0
0
0
-5
115
71
33
36
28
36
8
0
50
30
0
0
0
0
0
0
0
-26
60
60
-6
21
20
-26
15
-53
0
0
0
0
0
0
0
0
49
2
-24
13
-58
-49
29
-50
4
2
0
0
0
0
0
0
0
-48
14
0
-31
19
-42
124
118
20
0
0
0
0
0
0
0
0
-92
-33
-73
-19
-22
-33
16
-7
17
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-6
81
-76
-18
0
-7
-23
0
0
0
0
0
0
23
-132
64
-60
-5
82
-8
-14
-12
-72
-37
1
0
0
0
0
0
7
12
99
15
2
137
52
65
-37
-2
-2
0
0
0
0
0
0
2
-1
11
-57
22
1
77
20
6
71
103
0
0
0
0
0
0
73
60
-116
13
-114
12
-28
45
8
-27
20
0
0
0
0
0
0
0
-6
-6
-24
-8
-35
-19
39
-40
42
5
-2
0
0
0
0
0
0
1
-2
5
-28
29
-27
54
87
66
-1
0
0
0
0
0
0
0
-1
-2
-1
-13
38
-14
-56
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
19
-50
22
0
-18
-5
-3
0
0
0
0
0
7
7
-23
12
20
53
-62
16
13
-46
86
3
0
0
0
0
0
-3
32
60
6
53
-77
106
56
-11
59
-25
21
0
0
0
0
0
0
59
-70
35
-39
-94
-18
38
53
2
20
0
0
0
0
0
0
-1
-27
-5
14
54
-24
-32
-20
51
-46
3
0
0
0
0
0
0
0
25
-27
7
-7
-124
-5
-16
-7
36
-6
0
0
0
0
0
0
0
-8
48
5
-37
11
-39
-60
-36
-48
0
0
0
0
0
0
0
0
-2
-4
6
-21
51
-5
-58
-46
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
-2
0
0
-8
0
22
-32
0
-50
3
0
0
0
0
0
0
-3
38
-25
37
175
-41
-38
10
21
-7
-19
-2
0
0
0
0
0
-3
-13
-46
0
19
-68
-79
21
52
58
-6
0
0
0
0
0
0
14
3
33
-10
83
-35
-32
-38
79
95
1
0
0
0
0
0
0
10
-30
-30
0
-7
-79
-49
-10
11
7
-17
0
0
0
0
0
0
0
-6
1
-14
18
38
-68
-79
-42
-13
42
0
0
0
0
0
0
0
0
-2
-2
-3
26
87
25
-6
-5
0
0
0
0
0
0
0
0
-3
0
0
9
-5
-9
44
44
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-37
0
19
1
0
0
0
0
0
0
0
127
79
65
-24
0
56
0
9
35
5
0
0
0
0
0
0
0
63
-3
36
6
45
-31
37
32
-38
5
0
0
0
0
0
0
0
-8
0
-3
103
39
-134
-36
45
2
-20
0
0
0
0
0
0
0
-4
4
25
1
-23
56
-49
63
-23
2
0
0
0
0
0
0
0
13
0
0
0
-22
-36
-72
-7
17
3
0
0
0
0
0
0
0
0
3
-7
3
-8
25
-50
-47
4
0
0
0
0
0
0
0
0
0
0
-13
0
-4
14
-2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
43
0
54
0
0
0
0
0
0
0
0
0
0
0
-6
-40
-4
13
-2
-1
0
0
0
0
0
0
0
0
0
4
0
1
0
-3
-2
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-16
-8
0
-5
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-14
-23
-12
-4
0
0
0
0
0
0
0
0
0
-8
-2
0
0
6
4
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
5
0
-13
-8
0
0
0
0
0
0
0
0
0
0
0
-6
3
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
85
19
-32
22
-33
71
28
0
0
0
0
0
0
0
0
0
-6
-46
7
27
-68
31
25
-26
8
0
0
0
0
0
0
0
0
-20
40
-41
9
56
-10
-27
-47
28
0
0
0
0
0
0
0
0
11
68
-23
-25
74
80
-4
-24
0
0
0
0
0
0
0
0
0
13
19
25
78
-70
-34
-13
-38
7
0
0
0
0
0
0
0
0
27
38
10
1
17
20
-6
-83
11
0
0
0
0
0
0
0
0
-3
-39
5
-19
-52
-33
8
18
37
0
0
0
0
0
0
0
0
0
1
0
-6
-2
5
46
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
73
-1
0
0
0
0
0
0
0
0
0
59
51
70
19
14
-49
25
41
0
-11
0
0
0
0
0
0
0
-8
-5
-26
99
24
26
-13
6
29
-7
0
0
0
0
0
0
0
7
37
-10
-2
45
2
32
5
-28
-28
0
0
0
0
0
0
0
67
84
142
-24
9
28
9
20
55
-93
0
0
0
0
0
0
0
-150
69
-79
64
58
32
7
52
23
8
0
0
0
0
0
0
0
36
26
-77
36
1
4
-30
52
-63
68
0
0
0
0
0
0
0
-68
12
-5
36
50
-56
-50
-9
76
21
0
0
0
0
0
0
0
3
0
2
-75
46
14
-63
4
-56
2
0
0
0
0
0
0
0
0
0
-2
0
45
-5
48
-13
0
0
0
0
0
0
0
0
0
-48
47
10
57
73
44
-46
-65
0
-38
-8
0
0
0
0
0
0
51
-57
0
11
-7
-10
3
41
-18
-23
0
0
0
0
0
0
0
74
59
-48
-65
-2
-25
-10
-27
4
-65
19
0
0
0
0
0
0
69
-24
62
14
45
-40
-19
82
-42
-17
45
0
0
0
0
0
0
-19
-52
27
-32
17
46
-21
24
7
-28
-41
0
0
0
0
0
0
1
-17
52
-37
-32
-48
-21
29
2
-16
0
0
0
0
0
0
0
0
3
80
-23
7
-46
-17
-31
41
19
-4
0
0
0
0
0
0
0
27
0
-12
20
89
-55
35
48
-48
0
0
0
0
0
0
0
0
0
0
1
0
-4
5
1
33
-1
0
0
0
0
0
0
0
-6
-46
96
23
-9
48
26
-99
0
51
-29
10
0
0
0
0
0
30
35
47
30
-14
54
-5
66
8
-17
116
0
0
0
0
0
0
97
-78
59
-96
-52
15
13
-35
-14
2
35
-18
0
0
0
0
0
41
62
19
-96
-5
52
-67
12
-54
-18
-55
0
0
0
0
0
0
31
107
54
-7
-66
6
32
-33
2
39
31
1
0
0
0
0
0
2
-43
-11
37
-47
4
6
-5
14
66
53
0
0
0
0
0
0
-1
7
-13
-9
-52
46
-93
-4
6
7
25
0
0
0
0
0
0
1
-2
13
-3
8
-5
-2
69
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
2
0
4
0
0
0
0
0
0
0
-10
-87
-25
14
-20
-11
46
51
0
-57
-24
-4
0
0
0
0
0
8
-4
119
33
37
-38
70
-13
-29
-65
-122
-20
0
0
0
0
0
20
-10
-3
17
-26
29
-65
34
-53
-16
71
-1
0
0
0
0
0
56
-20
14
89
-16
6
-42
17
54
-19
-28
34
0
0
0
0
0
6
-4
-27
-29
24
-77
33
-16
-10
54
1
37
2
0
0
0
0
-4
-12
63
76
31
-47
-5
-8
-43
-7
-10
-2
0
0
0
0
0
0
-12
-5
3
-3
-69
-56
-17
34
31
-5
5
0
0
0
0
0
0
0
0
-7
0
27
40
-44
-47
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-6
0
0
0
0
0
0
0
0
-48
-31
0
-34
-19
-19
9
11
0
41
-67
3
0
0
0
0
0
-48
-28
12
11
-89
70
-13
40
38
8
75
-2
0
0
0
0
0
14
48
52
-12
37
22
-17
48
-39
89
-43
0
0
0
0
0
0
-69
64
-42
181
-84
33
-7
-4
50
24
-8
-5
0
0
0
0
0
1
-11
71
13
-41
61
43
35
9
-40
26
-1
-3
0
0
0
0
3
4
41
-18
-4
-121
42
19
62
-103
76
2
0
0
0
0
0
-5
7
-1
8
7
-73
6
17
42
55
2
5
0
0
0
0
0
0
3
0
0
0
-8
19
-78
33
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
25
-13
-4
-43
-139
-87
12
0
-78
46
0
-1
0
0
0
0
0
-4
-54
-74
-49
-61
3
-22
37
-39
18
-23
-1
0
0
0
0
0
16
48
4
54
-73
20
6
-68
126
-12
0
0
0
0
0
0
0
5
-32
-8
85
-56
7
-30
67
58
2
-4
0
0
0
0
0
0
-29
23
-3
-21
45
0
-26
-17
-37
-15
-3
0
0
0
0
0
0
6
-8
-19
5
71
30
-75
109
-48
1
0
0
0
0
0
0
0
0
0
-4
-18
6
23
-37
-14
-3
0
0
0
0
0
0
0
0
5
0
0
0
-9
-6
-31
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
-1
15
1
24
0
21
0
2
0
0
0
0
0
0
0
-2
8
0
2
-5
-8
5
-23
3
-2
0
0
0
0
0
-4
0
-10
48
-23
-5
-32
6
-41
-1
-2
1
0
0
0
0
0
0
4
1
0
3
0
8
-10
6
8
13
-1
0
0
0
0
0
-5
0
-3
0
-4
0
-21
-4
-17
-2
1
0
1
0
0
0
0
0
0
0
0
3
-10
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
-12
3
-50
0
-8
0
0
0
0
0
0
0
0
-4
-7
-12
8
12
12
-2
48
0
-2
0
-1
0
0
0
0
0
10
9
-7
-13
-18
-14
55
-5
-13
0
0
0
0
0
0
0
0
-2
0
-3
14
36
-5
-3
-8
5
1
0
0
0
0
0
0
0
0
-4
4
2
-5
-12
10
12
1
0
0
0
0
0
0
0
0
6
0
1
6
5
0
6
3
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
1
-41
32
0
2
-8
0
0
0
0
0
0
0
0
10
-1
20
-12
-1
50
3
10
-1
1
0
0
0
0
0
0
0
-14
-24
25
2
-35
-6
71
33
-4
0
0
0
0
0
0
0
0
-8
0
0
5
-23
15
6
2
7
0
0
0
0
0
0
0
0
9
0
5
8
-19
8
-19
7
-7
-2
0
0
0
0
0
0
0
0
4
0
1
0
-2
1
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
5
0
-5
0
-1
0
0
0
0
0
0
0
0
9
0
1
5
-16
-5
-4
-4
0
0
0
0
0
0
0
0
0
-3
-1
4
13
-10
-23
-24
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-21
21
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
9
37
38
-49
-62
-10
0
0
0
0
0
0
0
0
0
-11
-11
2
60
52
-20
6
36
35
0
0
0
0
0
0
0
0
29
7
15
7
-4
48
-9
-7
-34
0
0
0
0
0
0
0
0
-8
12
-14
29
3
77
57
1
1
0
0
0
0
0
0
0
0
5
-16
70
7
-26
104
-17
-8
-16
0
0
0
0
0
0
0
0
-2
-44
24
-72
-1
49
-51
-58
0
0
0
0
0
0
0
0
0
0
-1
0
1
34
78
4
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-6
29
13
30
38
-43
-16
0
-47
0
0
0
0
0
0
0
38
-14
51
-22
16
29
14
44
5
-87
0
0
0
0
0
0
0
-73
15
-37
30
3
73
14
22
-8
5
0
0
0
0
0
0
0
-11
-51
39
-10
23
-28
37
-34
7
32
0
0
0
0
0
0
0
47
21
-21
-57
50
-13
10
-18
13
30
0
0
0
0
0
0
0
-57
118
5
-105
-86
36
-28
-37
-12
-3
0
0
0
0
0
0
0
24
0
-12
16
-21
-3
-11
79
-58
-21
0
0
0
0
0
0
0
0
0
-1
33
41
-37
2
-52
10
4
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
-11
23
-2
57
26
38
9
27
0
24
-41
0
0
0
0
0
0
-124
-32
-52
25
-48
62
-45
-16
-29
-12
-61
0
0
0
0
0
0
-6
-22
-22
-2
38
-77
-9
26
0
-15
10
0
0
0
0
0
0
-16
43
-3
23
18
-12
-50
45
20
22
9
0
0
0
0
0
0
16
-24
-25
-1
105
41
2
-40
-48
82
-7
0
0
0
0
0
0
0
-13
50
3
5
-1
-49
-15
-16
64
10
0
0
0
0
0
0
0
-11
5
16
66
4
-28
5
2
-40
0
0
0
0
0
0
0
0
6
-1
1
13
-23
-8
88
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
5
0
0
0
0
0
0
0
0
0
-22
82
61
-91
19
35
-55
56
0
4
4
0
0
0
0
0
0
51
-4
54
101
-49
62
10
45
-15
-50
-23
0
0
0
0
0
0
14
-44
-20
16
-28
-33
-19
-6
-51
-34
39
0
0
0
0
0
0
-88
-16
35
60
-68
-4
44
-2
30
47
-40
0
0
0
0
0
0
-14
27
56
-35
45
1
-79
2
78
42
16
1
0
0
0
0
0
3
58
-27
23
92
-15
40
-18
-1
-60
-8
3
0
0
0
0
0
0
30
45
4
13
-46
23
-59
88
25
27
0
0
0
0
0
0
0
-5
-1
-1
10
-92
-13
-5
43
-3
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
0
0
-2
0
0
0
0
0
0
0
-3
-93
46
50
30
-2
29
-3
0
54
14
7
0
0
0
0
0
-22
-37
64
-22
-91
-5
18
26
41
-28
-38
-34
0
0
0
0
0
8
48
-7
-35
-42
17
-24
39
20
8
82
0
0
0
0
0
0
-4
-44
39
13
-45
-89
6
66
14
37
32
23
0
0
0
0
0
36
-13
50
-16
-90
53
6
-1
18
47
53
0
0
0
0
0
0
0
30
66
-15
-46
71
-11
-16
-96
3
-5
0
0
0
0
0
0
0
29
-5
95
5
-58
54
19
54
-5
8
0
0
0
0
0
0
0
-2
0
1
0
-24
-6
-22
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
19
4
56
16
-15
2
-19
14
0
-7
-16
-2
0
0
0
0
0
25
-14
21
-12
-70
8
-67
-77
-12
-29
-22
-12
0
0
0
0
0
-5
-45
-36
73
47
54
-47
-26
-49
11
3
-4
0
0
0
0
0
2
-88
-52
24
137
6
-16
65
-21
9
5
0
0
0
0
0
0
-5
-44
27
81
9
-30
-36
33
-11
1
-18
2
0
0
0
0
0
1
-3
8
8
-72
-43
63
-74
-87
5
-6
1
0
0
0
0
0
0
0
1
0
-3
9
-5
58
4
33
-8
-2
0
0
0
0
0
0
0
-14
5
0
-20
1
-113
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
12
-21
-42
-15
-48
0
54
42
6
0
0
0
0
0
-5
-32
8
26
17
-44
25
-9
-49
66
-5
-13
-1
0
0
0
0
0
-43
68
25
-16
75
16
-31
56
-37
55
-3
0
0
0
0
0
0
-10
-22
-26
12
54
44
82
-82
-12
16
-13
-2
0
0
0
0
0
5
27
3
7
-92
27
-11
-56
-32
8
9
0
0
0
0
0
0
7
6
2
49
-59
-5
52
-53
2
0
0
0
0
0
0
0
0
0
3
-1
4
-1
5
7
-11
12
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
3
-13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
7
0
5
4
32
-24
58
-16
0
24
-13
-1
0
0
0
0
0
20
-2
-5
13
9
8
-17
66
-74
1
-31
1
0
0
0
0
0
5
-9
-10
-16
-28
-12
-16
-5
66
86
10
-3
0
0
0
0
0
0
0
0
7
-76
-48
4
-47
0
6
13
0
0
0
0
0
0
1
19
0
0
46
1
-59
-20
-24
5
8
2
0
0
0
0
0
0
0
0
-12
-1
16
3
4
-8
8
-3
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-32
22
-13
-78
79
3
36
0
-17
0
0
0
0
0
0
0
-17
55
31
-52
111
-59
30
-41
-1
-2
-1
1
0
0
0
0
0
13
44
23
-86
13
1
18
-63
20
-7
0
1
0
0
0
0
0
17
-14
-5
-33
-32
-15
11
-104
23
-21
0
0
0
0
0
0
0
3
0
1
-44
-23
-26
25
17
-38
-1
0
0
0
0
0
0
0
0
0
-1
4
-5
7
-20
-24
-36
0
0
0
0
0
0
0
0
4
0
3
0
-1
-7
13
-3
-1
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
-4
-9
16
-24
-2
0
-49
3
0
0
0
0
0
0
0
7
6
-11
-96
-23
3
58
10
27
27
0
0
0
0
0
0
0
-23
-7
15
57
2
-22
1
74
-9
-25
-4
0
0
0
0
0
0
-29
47
0
-12
15
49
1
-68
-5
0
6
0
0
0
0
0
0
-36
5
-24
-7
-21
17
-8
15
13
1
0
0
0
0
0
0
0
-25
34
-6
-24
-62
-11
7
-23
-50
2
1
0
0
0
0
0
0
1
1
4
-18
-1
37
61
-58
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
-33
-33
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
10
2
0
-4
6
0
0
0
0
0
0
0
0
3
1
1
14
-7
13
-46
-4
36
-2
0
0
0
0
0
0
0
0
0
0
7
4
-42
16
-5
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
2
2
-3
4
0
0
0
0
0
0
0
0
0
0
2
14
20
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
5
2
4
0
-2
0
0
0
0
0
0
0
0
-4
0
-1
4
0
-4
-10
2
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
-7
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
7
19
-24
38
26
-49
0
0
0
0
0
0
0
0
0
3
-1
-17
15
-21
102
-20
-31
-17
0
0
0
0
0
0
0
0
9
71
38
-153
6
50
72
26
21
0
0
0
0
0
0
0
0
0
0
10
-25
63
-52
-44
-28
70
0
0
0
0
0
0
0
0
2
4
-45
-10
28
20
65
-10
-16
0
0
0
0
0
0
0
0
0
-2
3
-50
21
6
6
29
1
0
0
0
0
0
0
0
0
0
-1
0
4
58
29
16
-21
-2
0
0
0
0
0
0
0
0
0
0
2
15
-1
-44
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
0
0
0
0
37
13
-73
34
-110
22
17
-18
0
-29
0
0
0
0
0
0
0
10
47
7
-25
4
48
22
54
-2
50
0
0
0
0
0
0
0
23
60
-21
2
-3
1
9
46
-20
-1
0
0
0
0
0
0
0
107
-4
13
-100
-27
-34
-31
-2
-34
-48
0
0
0
0
0
0
0
86
-4
56
-28
-21
-5
-23
-20
-57
-43
0
0
0
0
0
0
0
-44
5
-53
-2
37
-42
-24
-58
23
-96
0
0
0
0
0
0
0
-44
-2
-29
53
-83
15
12
52
-25
29
0
0
0
0
0
0
0
1
-1
-6
11
-6
10
-34
9
6
10
0
0
0
0
0
0
0
0
0
0
-3
17
-2
4
7
0
0
0
0
0
0
0
0
0
8
-29
-8
73
-37
22
7
2
0
14
6
0
0
0
0
0
0
29
-2
-26
105
-12
13
27
17
1
-46
14
0
0
0
0
0
0
-35
35
35
-23
31
23
-54
17
-9
-29
-1
0
0
0
0
0
0
0
34
-4
-12
-13
57
-43
-16
-64
-50
28
0
0
0
0
0
0
121
25
38
1
-25
-66
-1
42
43
-4
0
0
0
0
0
0
0
-8
39
6
-61
16
30
-54
16
108
-4
-7
0
0
0
0
0
0
0
-27
-7
-9
59
18
-43
-10
-11
13
-8
0
0
0
0
0
0
0
-5
0
-18
-3
-6
-89
54
24
33
0
0
0
0
0
0
0
0
0
0
0
0
-23
3
-25
-8
0
0
0
0
0
0
0
0
4
14
-3
52
50
56
44
-67
0
32
18
0
0
0
0
0
0
-43
-64
4
89
-11
-6
58
19
-2
13
-9
0
0
0
0
0
0
-4
-65
32
30
-85
-26
64
4
21
-31
60
2
0
0
0
0
0
-17
22
69
-3
15
-100
-49
21
-11
53
15
0
0
0
0
0
0
-79
24
37
-66
30
66
0
-8
35
-16
5
0
0
0
0
0
0
4
29
97
-67
-34
-29
80
7
-93
32
-15
1
0
0
0
0
0
0
24
-9
10
33
4
-47
18
28
-36
-8
0
0
0
0
0
0
0
2
-1
0
2
-28
-12
23
10
25
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
0
10
7
0
0
0
0
0
0
0
0
24
-54
2
-22
-40
29
-47
0
143
45
-3
0
0
0
0
0
32
5
-85
1
-22
-2
82
62
-39
-77
-53
-46
0
0
0
0
0
-10
-73
7
-70
31
-41
25
-61
-50
17
-16
1
0
0
0
0
0
-8
6
-67
-11
-16
28
-10
-55
20
39
-7
3
0
0
0
0
0
-6
29
2
-70
33
11
1
28
-17
-22
1
-2
0
0
0
0
0
3
-67
32
-42
-36
-20
-31
-6
-20
-73
4
0
0
0
0
0
0
0
-4
25
-31
16
-34
-72
45
158
-16
-1
0
0
0
0
0
0
0
-5
0
-2
0
73
31
-66
5
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-5
-55
87
23
114
11
0
69
-47
-2
0
0
0
0
0
15
46
-49
-36
18
1
2
19
-21
-94
111
1
0
0
0
0
0
-1
-27
41
-74
5
57
59
74
29
30
23
-13
0
0
0
0
0
-3
5
-54
43
17
-49
10
99
19
5
32
-1
0
0
0
0
0
30
22
7
32
-53
-33
76
-22
69
1
41
-5
0
0
0
0
0
0
-5
4
5
-75
8
3
21
34
-19
-4
0
0
0
0
0
0
0
0
-3
31
40
18
-58
-40
-21
45
4
0
0
0
0
0
0
0
0
10
0
0
3
-9
25
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
3
6
-2
7
-82
-56
0
-20
30
0
0
0
0
0
0
-5
-23
14
-38
-90
48
-40
-44
-99
-22
51
9
2
0
0
0
0
0
-29
20
-9
-62
29
-20
-93
24
-2
6
1
0
0
0
0
0
0
65
5
8
17
-29
14
-39
-71
9
2
0
0
0
0
0
0
0
-4
-13
-3
-30
7
-50
10
64
-35
1
0
0
0
0
0
0
0
-18
-2
-2
-2
56
12
32
1
-26
-4
0
0
0
0
0
0
0
0
0
-5
-48
-2
47
-8
-47
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
1
0
-3
-7
-1
54
26
44
0
57
2
0
0
0
0
0
0
-10
7
-8
18
20
27
-60
48
-123
4
63
0
-5
0
0
0
0
9
0
5
10
-9
8
-34
0
-5
20
-8
0
0
0
0
0
0
4
-17
-2
-30
48
-57
32
26
-19
-42
-6
0
0
0
0
0
0
0
0
0
-2
5
6
0
14
-15
-1
0
-1
0
0
0
0
0
0
16
-2
5
-3
4
-6
0
-7
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
2
-5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
48
15
41
-25
-8
6
14
0
-31
-3
0
0
0
0
0
0
14
12
-25
-31
-48
72
112
25
-18
-89
0
0
0
0
0
0
0
-36
77
-14
-45
-29
-60
-15
-61
40
-6
2
0
0
0
0
0
0
-90
8
37
30
11
-40
30
-51
-35
10
-3
0
0
0
0
0
0
-13
-80
-51
-45
-47
-22
108
-5
23
0
0
1
0
0
0
0
0
0
-2
9
78
4
-45
-17
-38
-5
0
0
0
0
0
0
0
0
0
-5
-7
7
26
7
14
-21
68
-8
0
0
0
0
0
0
0
0
8
-5
-5
0
-4
-6
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
13
10
76
20
3
39
0
-5
1
0
0
0
0
0
0
0
-39
3
-6
4
-60
-45
2
64
-46
13
0
0
0
0
0
0
0
-23
5
-27
-41
-60
-46
5
26
16
-5
0
0
0
0
0
0
0
-20
-14
54
34
10
-21
-73
-111
2
12
0
0
0
0
0
0
0
33
-5
-9
-32
-55
-145
-10
-8
-1
0
0
0
0
0
0
0
0
-68
-13
32
15
-73
-81
75
-20
5
2
0
0
0
0
0
0
0
-6
5
-2
-12
13
22
-34
40
-26
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
45
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
12
0
1
-3
0
0
0
0
0
0
0
0
3
0
-10
-15
0
-8
-16
64
-80
0
0
0
0
0
0
0
0
19
-1
-1
3
-2
-18
16
-1
3
0
0
0
0
0
0
0
0
5
0
-1
-2
8
48
9
-12
0
3
0
0
0
0
0
0
0
1
-7
0
-10
-3
-18
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
-5
5
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
4
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
12
99
-59
41
-18
0
0
0
0
0
0
0
0
0
-2
-1
71
-4
48
31
74
33
-6
0
0
0
0
0
0
0
0
-1
-21
-13
-13
-1
-70
-20
-24
4
0
0
0
0
0
0
0
0
0
48
-1
58
18
-26
28
34
24
0
0
0
0
0
0
0
0
0
0
0
19
114
-23
-30
-17
20
0
0
0
0
0
0
0
0
0
10
-98
39
43
-43
6
-22
0
0
0
0
0
0
0
0
0
0
8
-1
-11
-16
-19
25
1
-5
0
0
0
0
0
0
0
0
0
0
0
-4
0
72
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
7
5
0
0
0
0
0
0
0
0
0
-12
-7
-95
5
-47
76
71
-68
0
37
0
0
0
0
0
0
0
-8
0
-38
-101
8
71
11
43
-60
7
0
0
0
0
0
0
0
-56
-2
65
1
44
-4
-19
46
-54
55
0
0
0
0
0
0
0
5
-31
-46
-71
-2
54
-67
-18
-6
45
0
0
0
0
0
0
0
-7
0
-93
3
-51
-35
69
-74
3
44
0
0
0
0
0
0
0
76
-45
-44
12
37
3
22
-18
-49
27
0
0
0
0
0
0
0
54
0
-44
89
45
11
-66
85
45
0
0
0
0
0
0
0
0
0
0
0
63
5
91
-10
-5
58
2
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
16
4
0
0
0
0
0
0
0
0
0
-1
16
-70
-5
-68
16
-47
0
-63
-3
0
0
0
0
0
0
6
-21
11
16
-138
2
89
64
3
39
-15
0
0
0
0
0
0
0
-33
66
13
12
-75
-71
-33
-65
-19
3
0
0
0
0
0
0
-13
33
-5
-9
44
1
29
-3
14
-2
-2
0
0
0
0
0
0
0
92
0
2
-31
-49
-19
-73
-13
43
3
0
0
0
0
0
0
7
2
-45
16
157
28
8
-25
-14
116
-12
0
0
0
0
0
0
5
169
-2
96
41
-72
14
-99
43
23
0
0
0
0
0
0
0
0
-4
27
4
-6
40
-125
-2
-47
-38
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
-7
0
0
0
0
0
0
0
0
-8
0
-15
-2
54
-26
13
84
0
78
20
0
0
0
0
0
0
6
-13
22
-37
-4
-31
8
-113
43
1
16
0
0
0
0
0
0
8
57
-4
-64
28
-33
12
-66
36
62
48
0
0
0
0
0
0
19
-85
57
59
61
23
25
2
58
9
51
0
0
0
0
0
0
0
12
-28
0
-62
13
-29
54
-96
33
-13
0
0
0
0
0
0
-2
46
20
-40
-44
-16
70
-22
26
-8
1
0
0
0
0
0
0
-5
37
20
1
-52
-55
29
-3
25
21
-10
0
0
0
0
0
0
1
-7
1
-6
-12
-53
9
68
115
18
0
0
0
0
0
0
0
0
0
0
0
-9
0
-30
5
0
4
0
0
0
0
0
0
0
0
-11
25
9
-61
-111
-56
-18
0
-56
4
-1
0
0
0
0
0
8
5
80
-16
-48
-20
-88
68
-5
15
25
-24
0
0
0
0
0
8
16
-41
-62
-10
33
51
-49
-21
-49
-4
0
0
0
0
0
0
0
-15
43
-27
-23
40
8
73
16
-23
21
-4
0
0
0
0
0
0
79
-9
-9
0
23
-8
-45
-28
46
-28
3
0
0
0
0
0
-7
-11
-31
-12
4
15
15
13
26
-57
-10
-1
0
0
0
0
0
9
-17
79
-22
-15
-28
0
0
92
2
0
0
0
0
0
0
0
0
2
-5
-4
0
-32
-58
-91
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
3
2
2
0
14
4
60
-36
0
44
3
0
0
0
0
0
0
2
-8
18
-45
-17
-10
58
-15
-38
-67
-48
0
0
0
0
0
0
3
40
-17
67
23
-2
-16
-18
-26
25
-27
0
0
0
0
0
0
-2
47
29
6
-58
40
46
-5
14
34
-13
0
0
0
0
0
0
0
-6
13
-6
-13
0
-11
-14
-100
-29
6
2
0
0
0
0
0
2
36
-89
4
22
71
25
55
-17
4
5
-2
0
0
0
0
0
4
1
13
-1
8
-1
2
65
7
0
0
0
0
0
0
0
0
0
-2
0
-45
0
16
25
-70
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
0
0
0
0
0
0
0
0
0
0
-5
-13
-1
-16
16
-32
-48
0
16
-14
0
0
0
0
0
0
0
-44
8
-13
-42
-63
32
8
-35
46
30
0
0
0
0
0
0
0
25
1
-4
56
67
25
15
48
12
0
0
0
0
0
0
0
0
33
6
13
-11
-32
25
25
-32
-41
-13
0
0
0
0
0
0
0
0
1
0
-16
31
0
40
-74
1
2
-8
0
0
0
0
0
0
4
-1
6
-11
-8
-3
16
-6
-1
-2
0
0
0
0
0
0
0
0
0
13
0
-12
47
-26
0
17
-4
0
0
0
0
0
0
0
0
0
0
0
-1
7
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-1
-5
21
9
4
0
4
1
0
0
0
0
0
0
-8
-6
-10
18
41
49
69
-17
-66
16
-3
0
0
0
0
0
0
-36
3
-40
41
23
25
38
-26
-21
8
-7
0
0
0
0
0
0
-2
0
-5
17
35
-43
10
-63
-3
-20
-6
0
0
0
0
0
0
-7
-2
1
9
22
-37
-76
0
-25
0
-1
0
0
0
0
0
0
-7
-2
-6
-6
41
-21
-6
-117
2
-6
5
0
0
0
0
0
0
-8
0
7
0
6
25
-44
8
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-63
-12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-86
5
14
11
25
-36
-56
0
-8
2
0
0
0
0
0
0
10
-126
-51
147
-92
18
30
55
-109
-36
-7
0
0
0
0
0
0
-6
-69
-26
72
-86
-58
114
-3
-55
2
0
0
0
0
0
0
0
42
40
32
68
-137
73
-60
-34
10
0
0
0
0
0
0
0
0
-37
-18
27
-12
39
-90
-50
33
0
-30
8
0
0
0
0
0
0
2
-25
76
1
-67
-18
-22
6
2
3
0
0
0
0
0
0
0
8
10
-3
0
134
-21
46
1
26
-3
0
0
0
0
0
0
0
1
-6
-8
25
3
10
25
-2
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-3
0
0
0
0
0
0
0
0
0
-26
21
-78
32
8
48
-17
0
106
0
0
0
0
0
0
0
0
66
-10
-103
-22
-67
55
26
4
29
-29
0
0
0
0
0
0
0
-21
-18
-19
86
67
-9
21
-4
17
0
0
0
0
0
0
0
0
23
46
-52
2
15
-62
-21
-15
-80
0
0
0
0
0
0
0
0
26
30
50
45
-18
-112
-33
-38
0
0
0
0
0
0
0
0
0
-131
7
-95
-147
-6
22
-93
0
39
0
0
0
0
0
0
0
0
1
63
-42
33
15
-44
7
67
2
0
0
0
0
0
0
0
0
0
1
0
3
-76
18
-53
55
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
0
0
0
-33
-6
0
0
0
0
0
0
0
0
-1
0
6
0
-9
0
25
8
-122
0
0
0
0
0
0
0
0
-1
-2
-2
-14
-9
-27
0
7
2
0
0
0
0
0
0
0
0
3
0
1
4
-5
-18
29
-2
-18
0
0
0
0
0
0
0
0
-8
0
5
29
5
-6
-15
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
16
10
0
-33
12
0
0
0
0
0
0
0
0
0
0
-2
-6
-27
-7
45
-16
-45
-2
0
0
0
0
0
0
0
0
-4
-46
-2
9
-57
-2
-40
11
-20
0
0
0
0
0
0
0
0
0
4
-2
-25
17
46
-6
-18
0
0
0
0
0
0
0
0
0
5
1
10
-20
24
28
-26
3
24
0
0
0
0
0
0
0
0
0
3
-5
16
-23
-19
44
7
1
0
0
0
0
0
0
0
0
-4
-3
3
-10
-12
9
-40
0
14
0
0
0
0
0
0
0
0
0
-13
0
-2
0
-47
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
4
0
0
0
0
0
0
0
0
0
4
-12
-14
58
-134
18
126
6
0
48
0
0
0
0
0
0
0
-37
1
-45
-69
-12
116
94
60
-4
-76
0
0
0
0
0
0
0
-50
17
65
16
-11
60
5
18
-57
-80
0
0
0
0
0
0
0
0
-4
-49
-28
-46
-13
15
3
17
-7
0
0
0
0
0
0
0
69
-24
82
-54
14
1
73
-40
64
7
0
0
0
0
0
0
0
-13
0
-46
88
-55
-60
43
19
-71
-18
0
0
0
0
0
0
0
15
-2
-42
-21
-20
-32
17
55
-31
4
0
0
0
0
0
0
0
-1
0
10
-3
4
124
-54
-47
3
-28
0
0
0
0
0
0
0
0
0
0
0
47
0
-11
-1
0
0
0
0
0
0
0
0
0
0
9
3
-5
-24
-5
74
44
0
69
-6
0
0
0
0
0
0
4
-85
1
21
30
-95
91
4
80
61
-23
0
0
0
0
0
0
0
16
0
4
21
13
25
1
3
-11
-5
0
0
0
0
0
0
-4
-81
-12
-39
-69
62
-22
-57
-3
-71
3
0
0
0
0
0
0
18
-12
-29
-27
42
56
20
59
3
-4
12
0
0
0
0
0
0
0
-62
0
-68
-10
-101
-7
84
33
-34
0
0
0
0
0
0
0
0
43
-4
54
77
151
-80
-40
20
-9
4
0
0
0
0
0
0
0
1
0
-41
2
32
56
75
-5
19
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
7
8
0
0
0
0
0
0
0
0
3
-12
-9
-53
-9
-11
47
-7
0
75
-2
2
0
0
0
0
0
41
15
40
158
85
46
-46
168
24
22
18
0
0
0
0
0
0
8
35
-6
-35
16
-23
37
99
3
-22
38
0
0
0
0
0
0
-9
23
31
-9
-59
50
-24
-39
25
9
0
0
0
0
0
0
0
-21
1
-51
49
10
43
37
-26
15
43
0
1
0
0
0
0
0
7
1
15
0
13
77
-30
9
19
-14
8
0
0
0
0
0
0
0
57
-14
13
-30
-50
17
-51
7
-19
0
0
0
0
0
0
0
0
-1
2
-2
-1
34
8
66
-7
-4
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
-5
0
0
0
0
0
0
0
0
0
0
-14
24
-10
40
43
10
62
0
8
-39
0
0
0
0
0
0
0
-21
-7
18
67
-44
11
-17
26
-14
-40
0
0
0
0
0
0
-1
-2
-31
31
-59
-68
21
-15
66
-31
0
5
0
0
0
0
0
13
31
-10
7
-9
-38
-12
38
-21
61
0
0
0
0
0
0
0
-2
15
-21
-9
-65
-22
46
15
-104
4
1
-3
0
0
0
0
0
0
-2
8
-2
0
27
7
-40
40
-2
20
0
0
0
0
0
0
0
0
-8
12
2
33
-34
20
-98
-21
7
0
0
0
0
0
0
0
0
8
0
0
34
35
-114
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-8
12
4
-61
22
37
61
0
-125
1
-4
0
0
0
0
0
0
56
1
-58
4
28
-172
-6
5
-57
60
0
0
0
0
0
0
0
-17
23
18
52
-61
-85
54
-4
92
3
0
0
0
0
0
0
-1
3
20
1
112
6
65
7
11
1
16
0
0
0
0
0
0
34
-7
-5
96
-30
15
-47
16
-77
-10
-20
0
0
0
0
0
0
1
6
-8
0
13
0
63
-97
4
17
3
0
0
0
0
0
0
0
2
-1
-35
-4
16
34
26
-21
-5
1
0
0
0
0
0
0
0
0
13
0
13
9
-20
-11
-16
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
2
30
-10
19
-30
0
-16
-20
0
0
0
0
0
0
0
12
0
-4
-25
-8
-45
-16
28
-9
-13
0
0
0
0
0
0
0
-10
-2
2
-38
18
10
-118
2
53
-22
0
0
0
0
0
0
0
15
0
-23
14
-4
50
12
6
40
0
1
0
0
0
0
0
0
-23
1
-30
-6
-41
-71
-5
110
-15
0
-3
0
0
0
0
0
0
2
0
33
-5
-52
0
19
-58
26
1
0
0
0
0
0
0
0
0
16
-14
23
-1
-10
18
-60
-12
1
0
0
0
0
0
0
0
0
0
-1
0
0
-21
7
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
34
-24
-3
5
0
-32
1
0
0
0
0
0
0
0
-2
-3
8
1
-33
-5
5
-18
5
-64
0
0
0
0
0
0
0
-5
0
19
0
-15
104
25
-51
45
8
0
0
0
0
0
0
40
0
8
-5
55
13
17
-15
7
0
0
0
0
0
0
0
0
-2
4
2
-15
18
13
0
-6
-1
0
-2
0
0
0
0
0
0
0
-1
-9
-16
24
4
-4
0
18
1
-2
0
0
0
0
0
0
0
8
0
9
-22
12
0
10
-4
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-40
-12
2
2
-14
-71
-48
0
-67
-1
0
0
0
0
0
0
1
-20
-15
-18
92
-76
61
-141
-65
-71
-9
0
0
0
0
0
0
22
-50
6
-3
-62
63
-40
-25
-120
19
0
0
0
0
0
0
0
-10
-95
-32
-202
45
21
73
-17
-35
25
0
0
0
0
0
0
0
-9
-59
-22
-26
64
-22
-31
-5
22
-2
0
0
0
0
0
0
0
-33
-196
-61
-6
-91
-109
-44
31
0
-32
0
0
0
0
0
0
0
-43
-1
-15
-2
23
-64
58
-6
14
0
0
0
0
0
0
0
0
0
1
-7
-18
5
-28
2
-52
-1
0
0
0
0
0
0
0
0
0
2
0
0
-13
0
19
-7
0
0
0
0
0
0
0
0
0
0
30
-13
5
-1
7
67
73
0
42
-16
0
0
0
0
0
0
0
-44
29
8
-75
-37
100
17
-47
8
0
0
0
0
0
0
0
0
24
-3
-71
-150
-7
58
12
-25
-13
-5
0
0
0
0
0
0
0
20
30
-24
12
43
-22
119
8
-21
-1
0
0
0
0
0
0
0
-99
-42
143
-29
-67
84
-11
-8
-10
0
0
0
0
0
0
0
0
10
-8
-16
-36
-72
-31
7
-8
0
-1
0
0
0
0
0
0
0
8
3
1
-13
-18
28
-102
0
0
0
0
0
0
0
0
0
0
13
2
0
-2
-24
-50
9
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
24
8
7
-41
0
0
0
0
0
0
0
0
0
-1
0
8
-2
0
-2
40
1
0
0
0
0
0
0
0
0
-1
0
7
3
-3
-9
0
-8
0
0
0
0
0
0
0
0
0
6
-7
-1
-4
6
3
-5
0
2
0
0
0
0
0
0
0
0
0
0
-2
2
-14
10
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
4
0
0
0
0
0
0
0
0
0
0
0
9
-1
-1
-9
57
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
13
-17
-16
3
0
0
0
0
0
0
0
0
-2
0
0
41
-19
-20
30
36
3
0
0
0
0
0
0
0
0
0
0
-4
1
-2
36
35
27
5
0
0
0
0
0
0
0
0
-1
4
3
78
15
3
0
50
-1
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
20
4
-25
0
0
0
0
0
0
0
0
0
-2
27
-3
1
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-49
-5
-36
42
40
94
0
9
0
0
0
0
0
0
0
5
-9
-8
1
7
14
68
83
-63
-60
0
0
0
0
0
0
0
10
1
-32
-68
14
82
26
11
-42
0
0
0
0
0
0
0
0
22
3
-37
23
-60
-81
22
39
-50
120
0
0
0
0
0
0
0
9
-5
120
-23
109
-29
-22
27
-6
7
0
0
0
0
0
0
0
6
-8
90
-40
63
-63
19
-13
-3
6
0
0
0
0
0
0
0
22
0
0
-3
-23
-52
42
-58
40
5
0
0
0
0
0
0
0
1
0
1
-57
9
-6
-26
-49
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-4
0
0
0
0
0
0
0
0
0
-38
50
38
-17
-4
18
43
0
9
5
0
0
0
0
0
0
8
-11
-3
30
-127
129
-45
22
-7
-43
-4
0
0
0
0
0
0
0
-72
-9
-35
-18
27
69
28
-42
33
0
0
0
0
0
0
0
-1
-128
-3
-45
21
-3
-10
-45
11
3
-5
0
0
0
0
0
0
-42
1
2
20
-35
-41
44
58
15
-92
0
0
0
0
0
0
0
-2
51
-21
18
-73
-50
33
53
3
-11
8
0
0
0
0
0
0
0
0
0
-9
13
18
-27
28
17
26
0
0
0
0
0
0
0
0
-7
-1
0
-3
43
-64
35
69
-56
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
4
-3
55
-15
13
15
0
115
0
0
0
0
0
0
0
0
19
3
2
-18
40
44
9
67
-27
-39
0
0
0
0
0
0
32
-26
3
5
-23
-81
70
42
-14
-7
-33
0
0
0
0
0
0
-13
46
54
-18
126
99
6
46
-46
-98
-16
0
0
0
0
0
0
2
94
55
-1
-69
62
37
-24
-5
35
-39
0
0
0
0
0
0
-4
21
-76
-20
-20
-51
47
15
-31
2
0
0
0
0
0
0
0
0
2
-4
0
49
37
-19
-49
51
33
-1
0
0
0
0
0
0
-3
-14
-17
-2
0
30
-37
8
-47
17
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-23
-8
26
-45
68
-5
0
-78
-2
0
0
0
0
0
0
3
0
-16
-3
-62
51
-22
-67
-31
154
56
0
0
0
0
0
0
0
-42
22
-1
8
-50
-4
-38
45
-45
5
0
0
0
0
0
0
8
11
54
8
-25
19
-35
-30
-9
-20
-33
0
0
0
0
0
0
0
-45
11
75
-34
-48
-1
68
39
-22
2
0
0
0
0
0
0
2
-61
24
7
-39
-36
-21
57
34
-45
29
6
0
0
0
0
0
0
0
-1
0
0
61
29
-49
-13
1
3
0
0
0
0
0
0
0
0
-4
-7
0
11
31
-25
-48
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-10
-79
-33
0
-8
3
0
0
0
0
0
0
0
-3
0
-8
5
-3
-35
-48
-39
-34
21
0
0
0
0
0
0
0
20
0
-6
116
2
-17
43
45
23
0
-3
0
0
0
0
0
-10
0
-1
-10
30
37
5
-185
4
-38
-15
0
0
0
0
0
0
0
0
6
3
90
-23
-60
-23
-35
97
0
0
0
0
0
0
0
5
2
46
26
-7
49
19
35
15
-18
13
0
0
0
0
0
0
0
-1
-2
7
2
0
29
4
-64
8
-3
0
0
0
0
0
0
2
0
0
24
0
31
-1
-22
4
-14
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
4
2
-1
-27
23
0
3
6
0
0
0
0
0
0
0
-7
24
-2
-28
59
8
82
-15
-6
-29
0
0
0
0
0
0
0
-47
3
0
52
-5
-68
-18
7
3
0
0
0
0
0
0
0
0
20
0
9
69
65
-33
22
21
1
-2
0
0
0
0
0
0
0
101
23
21
96
-5
89
-40
9
22
6
0
0
0
0
0
0
0
59
15
29
-9
-42
-22
60
-44
125
0
-7
0
0
0
0
0
0
0
10
0
0
2
0
53
-16
1
0
0
0
0
0
0
0
0
0
0
0
-14
4
9
5
16
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
1
-1
7
5
0
-1
0
0
0
0
0
0
0
0
0
-7
-6
-1
-16
-17
-10
5
4
1
0
0
0
0
0
0
-41
0
-1
0
-27
-8
-112
-19
-172
0
0
0
0
0
0
0
0
8
0
0
-3
-9
-29
41
-13
6
-27
0
0
0
0
0
0
0
13
1
23
18
27
-13
30
-12
45
0
0
0
0
0
0
0
0
0
0
-6
3
2
104
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
1
-100
-2
56
0
-44
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
6
0
8
20
25
27
13
-20
0
-19
0
0
0
0
0
0
0
0
32
0
0
10
31
24
-69
-57
-12
1
0
0
0
0
0
0
0
-52
-2
-25
8
47
77
-12
50
36
-12
0
0
0
0
0
0
5
-88
52
-99
8
-4
4
1
-65
-69
0
0
0
0
0
0
0
-4
-39
42
16
1
-16
66
-6
-45
0
0
0
0
0
0
0
0
5
-6
-6
16
31
71
82
-3
-28
0
0
0
0
0
0
0
0
-3
-48
27
13
-93
-28
0
-79
0
25
0
0
0
0
0
0
0
0
-15
0
-29
-31
79
66
1
-8
9
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-5
-5
9
0
-16
0
0
0
0
0
0
0
0
10
19
0
8
25
7
8
69
13
23
0
0
0
0
0
0
0
22
14
9
32
-3
124
51
27
-47
0
0
0
0
0
0
0
0
-58
1
-26
-59
17
-7
4
7
49
0
0
0
0
0
0
0
0
37
-9
-35
-65
-9
77
17
25
-28
0
0
0
0
0
0
0
0
16
2
21
-40
60
-6
58
0
-8
0
0
0
0
0
0
0
0
0
10
0
71
6
3
28
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-73
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-12
1
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
-3
6
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
9
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
4
0
22
-8
0
-7
0
0
0
0
0
0
0
0
-7
-2
0
2
0
4
15
-4
5
0
0
0
0
0
0
0
0
0
0
0
-20
2
43
4
21
0
0
0
0
0
0
0
0
0
-22
-20
2
-7
-3
-9
-26
-1
-26
0
0
0
0
0
0
0
0
0
-5
-5
-23
0
51
-1
-14
0
0
0
0
0
0
0
0
0
0
-14
1
23
20
-9
-88
2
5
0
0
0
0
0
0
0
0
0
-2
0
3
4
-12
0
6
-1
0
0
0
0
0
0
0
0
0
6
0
0
4
0
7
0
0
0
0
0
0
0
0
0
0
12
0
1
0
-6
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-17
-4
-41
-41
14
-4
0
0
0
0
0
0
0
-126
0
3
-8
24
-17
59
26
24
0
0
0
0
0
0
0
0
20
-5
40
-43
1
79
1
11
-33
22
0
0
0
0
0
0
0
-17
3
75
-18
106
-3
148
2
-46
-6
0
0
0
0
0
0
0
151
0
-89
-80
62
-23
-16
-75
-4
0
0
0
0
0
0
0
0
74
0
6
-28
-12
-7
-54
25
67
-1
0
0
0
0
0
0
0
0
0
0
1
-5
-101
5
21
-3
0
0
0
0
0
0
0
0
6
0
0
0
-11
-7
-66
3
33
0
0
0
0
0
0
0
0
0
0
6
8
-9
-1
5
9
0
-8
0
0
0
0
0
0
0
0
3
-2
-6
-5
124
-21
-21
6
-3
0
0
0
0
0
0
0
-6
64
7
0
6
-4
-14
-19
42
12
0
0
0
0
0
0
0
-5
19
-2
22
30
-29
-14
-16
36
47
0
0
0
0
0
0
0
4
-33
0
0
-26
1
60
21
-43
-39
-9
0
0
0
0
0
0
3
35
1
-88
86
65
-32
43
53
69
0
0
0
0
0
0
0
-73
26
0
-26
-45
-12
4
-71
-16
23
0
0
0
0
0
0
0
0
1
0
-1
-2
-8
-82
-20
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
5
6
0
18
0
0
0
0
0
0
0
0
0
-8
-2
14
-41
-19
-51
-16
7
-1
0
0
0
0
0
0
0
0
0
1
-57
7
-58
-27
-3
-27
-6
0
0
0
0
0
0
-39
-7
17
-2
-30
99
18
41
79
2
2
0
0
0
0
0
0
20
10
-2
2
23
35
-9
-17
44
13
9
0
0
0
0
0
0
-11
-12
-11
-29
33
60
37
98
-4
16
12
0
0
0
0
0
0
10
-10
-35
0
-76
1
30
-2
-22
-4
-1
0
0
0
0
0
0
0
-1
0
0
-6
60
8
43
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
16
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-5
13
0
0
-8
0
0
0
0
0
0
0
0
0
-1
5
12
-21
-18
-4
0
0
0
0
0
0
0
0
5
3
0
2
-12
7
-39
30
53
1
0
0
0
0
0
0
0
0
12
-4
16
-12
12
5
-10
43
-50
0
0
0
0
0
0
0
0
30
0
18
7
3
-2
-5
68
1
-1
0
0
0
0
0
0
-4
-7
47
8
-10
-11
37
9
-8
-12
0
8
0
0
0
0
0
0
1
0
-4
0
24
21
8
4
-10
0
1
0
0
0
0
0
0
0
0
-5
0
115
46
16
-26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
107
2
10
1
5
-7
0
0
0
0
0
0
0
0
0
0
32
0
11
2
74
0
0
0
0
0
0
0
0
-8
0
0
-1
3
66
-1
21
11
-2
-2
0
0
0
0
0
0
0
-13
1
-1
-30
-4
0
-6
-17
0
-4
0
0
0
0
0
0
0
-1
3
-5
-18
-67
18
-3
-3
-6
0
0
0
0
0
0
0
38
1
0
31
-28
-3
8
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-24
-19
-5
0
0
0
0
0
0
0
0
1
0
0
-1
0
-7
-4
-2
-2
0
0
0
0
0
0
0
0
-2
-9
0
0
6
-20
12
-17
0
0
0
0
0
0
0
0
0
-1
0
4
0
-6
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-39
-2
2
0
0
0
0
0
0
0
0
0
-7
0
8
0
-31
-6
17
0
-10
0
0
0
0
0
0
0
0
0
8
0
-1
0
3
-4
18
1
3
0
0
0
0
0
0
0
-4
0
-13
0
-6
1
10
0
0
0
0
0
0
0
0
0
0
1
0
33
7
1
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
4
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-15
0
0
0
0
0
0
0
0
0
0
0
-17
0
32
7
-2
-3
-20
-6
0
0
0
0
0
0
0
0
2
1
0
0
1
0
-28
-25
-50
-4
0
0
0
0
0
0
0
-1
-1
0
19
8
-8
34
-13
13
-17
0
0
0
0
0
0
0
0
-48
4
-22
41
7
42
-6
-21
13
0
0
0
0
0
0
0
0
5
-3
-39
4
67
-2
64
-5
5
0
0
0
0
0
0
0
-2
-7
0
-27
4
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
8
5
8
0
5
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-13
8
0
3
0
-3
-30
-4
-22
0
0
0
0
0
0
0
0
-6
0
0
0
0
25
-41
19
1
23
0
0
0
0
0
0
0
-31
3
-4
29
18
-25
37
-48
-4
0
0
0
0
0
0
0
0
-6
0
6
25
-9
1
-7
7
3
0
0
0
0
0
0
0
0
-9
-4
-4
0
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
41
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
19
0
-1
0
0
0
0
0
0
0
0
9
0
0
33
0
21
0
-27
0
0
0
0
0
0
0
0
0
-6
0
7
7
-22
2
18
0
-13
0
0
0
0
0
0
0
0
-2
0
31
-16
-1
-47
0
-10
0
0
0
0
0
0
0
0
0
-4
0
0
0
-63
0
94
0
0
0
0
0
0
0
0
0
0
4
0
0
4
-1
-29
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
34
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
4
0
-5
0
0
0
0
0
0
0
0
0
0
1
38
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
5
5
0
0
0
0
0
0
0
0
0
0
0
0
6
7
14
0
-3
0
0
0
0
0
0
0
0
0
0
34
0
-2
3
-8
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
-5
-9
-6
0
0
0
0
0
0
0
0
0
0
8
0
18
16
58
-5
8
0
2
0
0
0
0
0
0
0
0
48
50
0
70
53
-8
-13
-8
31
0
0
0
0
0
0
0
0
8
21
-74
2
43
-13
-1
0
-4
0
0
0
0
0
0
0
0
0
34
8
29
0
-11
9
0
18
0
0
0
0
0
0
0
0
-6
2
2
-8
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
28
5
46
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-71
0
29
76
29
15
0
1
0
0
0
0
0
0
0
0
0
-4
-83
4
81
-8
-26
-19
-5
-24
0
0
0
0
0
0
0
-1
91
14
11
12
-28
-32
-17
41
64
0
0
0
0
0
0
0
-7
-4
5
-27
17
-32
2
7
38
5
0
0
0
0
0
0
0
0
20
-6
10
-18
-20
0
-5
0
-5
0
0
0
0
0
0
0
0
0
-24
4
30
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
54
-49
9
3
0
-3
0
0
0
0
0
0
0
0
0
-42
0
107
-5
58
0
0
0
-19
0
0
0
0
0
0
0
-3
-42
-2
5
-17
-38
-38
-17
55
31
0
0
0
0
0
0
0
26
19
41
-28
-59
-4
71
-1
-14
-9
0
0
0
0
0
0
1
-14
25
52
-131
1
-56
29
6
6
0
0
0
0
0
0
0
0
14
16
-19
38
55
19
0
0
55
0
0
0
0
0
0
0
0
4
1
-4
69
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
8
-30
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
34
0
-8
0
0
0
0
0
-7
0
0
0
0
0
0
-7
23
-2
-39
-4
53
19
0
-3
0
5
0
0
0
0
0
0
0
0
43
-34
68
0
2
5
-30
-4
43
5
0
0
0
0
0
0
20
20
43
30
11
1
7
-1
22
-13
-2
0
0
0
0
0
-1
-2
22
20
8
149
19
-2
3
0
0
0
0
0
0
0
0
0
-22
46
-2
-20
0
-2
13
0
0
2
0
0
0
0
0
0
0
0
2
0
4
5
2
-5
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-109
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
23
18
-4
70
-2
-27
0
-1
0
0
2
0
0
0
0
0
53
-87
-11
-5
-14
33
2
2
-19
-15
4
2
0
0
0
0
0
4
-4
42
18
64
27
-1
-6
-42
-2
0
2
0
0
0
0
0
-3
-9
13
-17
-30
14
-31
8
0
9
0
0
0
0
0
0
0
0
-6
16
25
19
-4
-7
1
0
-13
-6
0
0
0
0
0
0
0
0
-5
-6
6
5
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
23
68
13
-54
0
5
0
0
0
0
0
0
0
0
0
0
2
66
7
-9
19
-7
5
0
2
0
-1
0
0
0
0
0
0
33
64
-12
46
-49
-25
-102
-43
31
-71
-2
1
0
0
0
0
0
-22
-41
-58
-15
1
14
9
-12
-17
2
0
0
1
0
0
0
0
28
-4
13
10
77
-2
2
8
-2
-24
0
0
0
0
0
0
0
0
9
-87
134
45
-13
-5
-29
3
0
0
0
0
0
0
0
0
0
0
-10
47
-7
-37
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
43
79
-66
39
0
1
0
4
0
0
0
0
0
0
0
5
34
13
-32
-19
-38
-32
0
3
0
0
0
0
0
0
0
0
1
-39
-6
-38
-37
-41
5
71
-45
28
-4
0
0
0
0
0
0
9
18
14
6
37
-52
-2
-41
1
-2
3
0
-1
0
0
0
0
13
-5
-21
-68
-56
15
-41
-29
-8
-7
0
0
0
0
0
0
0
0
-47
-29
11
-130
92
31
13
5
30
0
0
0
0
0
0
0
0
0
-2
67
-3
-1
4
0
-27
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
30
12
-22
-30
-7
0
0
0
4
0
0
0
0
0
0
33
44
2
13
7
-65
7
0
0
0
3
0
0
0
0
0
0
57
-46
-9
-91
-69
-93
-11
17
8
8
18
0
0
0
0
0
0
-10
-154
-5
-44
-36
-3
55
50
-5
0
-1
0
0
0
0
0
0
-3
-17
-18
10
-29
-67
7
1
9
25
-1
0
0
0
0
0
0
-4
-131
23
12
49
7
-3
1
0
1
0
0
0
0
0
0
0
0
0
-29
-41
12
4
-6
2
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-38
-10
10
-2
0
0
0
-1
0
0
0
0
0
0
0
-10
-66
36
-40
48
33
0
-7
0
-30
0
0
0
0
0
0
0
59
-26
-57
31
18
-12
-2
32
-2
24
-2
0
0
0
0
0
0
-18
-17
-31
-30
-45
-38
-36
0
-2
91
0
0
0
0
0
0
0
1
32
20
69
-1
0
59
45
3
-14
0
0
0
0
0
0
0
8
27
23
42
-10
45
-75
-23
15
1
0
0
0
0
0
0
0
-16
-19
14
-19
6
41
17
-42
0
0
0
0
0
0
0
0
0
0
5
-76
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
31
8
-36
0
-6
0
2
10
0
0
0
0
0
0
0
-1
66
6
-52
10
-13
5
12
-4
5
0
0
0
0
0
0
0
0
0
-59
55
31
8
1
-29
8
-2
0
0
0
0
0
0
0
4
-7
-3
-31
15
-2
-5
17
3
-1
0
0
0
0
0
0
0
2
13
38
38
48
-12
-24
3
0
0
0
0
0
0
0
0
0
0
0
21
-85
2
10
0
-1
0
0
0
0
0
0
0
0
0
0
-5
28
0
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
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
4
23
-2
0
0
0
0
0
0
0
0
0
-5
0
-3
1
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
-8
13
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
11
-19
50
-2
0
1
0
0
0
0
0
0
0
0
0
-2
94
-10
-3
25
-63
72
0
-5
0
0
0
0
0
0
0
0
23
-37
57
-1
-5
-46
9
8
-42
0
0
0
0
0
0
0
0
-10
90
-58
-44
-71
51
-29
-8
22
0
0
0
0
0
0
0
0
4
15
-56
-7
-14
-5
-3
1
6
0
0
0
0
0
0
0
0
0
93
-4
50
0
20
-2
-6
2
0
0
0
0
0
0
0
0
0
-8
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-1
20
31
94
22
0
0
-4
0
0
0
0
0
0
0
-3
-49
28
-79
48
-96
-86
0
-19
0
0
0
0
0
0
0
0
19
-2
24
-54
-1
-14
18
42
9
11
0
0
0
0
0
0
0
-7
20
91
-14
72
51
25
-33
-62
25
0
0
0
0
0
0
0
8
25
-30
29
29
2
-8
10
76
58
0
0
0
0
0
0
0
0
-4
80
1
-3
-27
37
10
5
26
0
0
0
0
0
0
0
0
0
-2
5
4
22
0
-6
0
1
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-2
-38
-17
31
-8
0
-1
2
0
0
0
0
0
0
0
60
-12
-31
-17
91
7
0
-5
0
20
0
0
0
0
0
0
0
-38
23
0
33
89
37
6
-29
-91
12
0
0
0
0
0
0
0
7
-63
-5
18
-62
-71
46
-24
-5
27
0
0
0
0
0
0
0
64
-34
67
-15
-25
-7
1
77
50
8
0
0
0
0
0
0
0
79
-55
40
3
4
17
46
9
-11
5
0
0
0
0
0
0
0
1
11
-5
-3
9
-3
5
21
-4
-2
0
0
0
0
0
0
0
0
-4
17
4
-1
0
0
0
-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
-3
-4
-71
5
56
-25
-1
0
0
0
0
0
0
0
0
0
10
-33
-28
-78
52
33
-42
0
0
0
9
0
0
0
0
0
0
-8
-69
-47
20
98
23
-50
21
34
-3
-36
-1
0
0
0
0
0
5
0
11
-45
26
-57
0
-15
72
-6
-4
-2
0
0
0
0
0
8
-86
5
25
-20
43
19
25
-2
-13
12
0
0
0
0
0
0
0
14
66
38
40
64
-29
4
7
1
0
-1
0
0
0
0
0
0
0
-5
2
4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-58
18
-29
-44
1
15
-3
0
2
-4
1
0
0
0
0
0
19
55
13
53
12
57
14
0
6
0
-5
25
0
0
0
0
0
41
-78
-36
21
6
33
48
-19
-4
74
-2
0
3
0
0
0
0
-21
20
73
46
32
80
-65
42
-50
29
0
-2
0
0
0
0
0
-22
5
56
64
69
70
82
64
-38
30
1
-3
0
0
0
0
0
0
56
-76
-14
197
-56
-15
-20
1
-8
0
3
0
0
0
0
0
0
32
43
41
2
3
3
1
0
-3
0
0
0
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-28
-15
-65
-14
15
-8
3
2
0
0
0
0
0
0
0
0
0
-52
51
27
-11
36
-59
68
0
45
0
0
0
0
0
0
0
0
0
41
68
20
39
32
-38
-15
36
-4
22
0
0
0
0
0
0
5
67
-14
-122
125
-9
-25
80
58
7
-3
0
0
0
0
0
0
-9
63
-130
37
28
16
16
-68
45
1
0
0
0
0
0
0
0
0
16
13
-23
3
69
-7
-22
2
4
0
0
0
0
0
0
0
-3
10
12
133
65
14
18
8
-6
0
0
0
0
0
0
0
0
0
22
4
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
39
9
-51
-68
53
1
0
0
7
0
0
0
0
0
0
0
15
-50
-69
-72
-36
-31
11
0
0
0
6
-1
0
0
0
0
0
7
86
24
50
-4
33
27
-26
24
-65
31
9
0
0
0
0
0
-25
19
7
75
-29
21
0
-17
-79
-9
6
0
-1
0
0
0
0
17
-12
66
0
60
49
-6
-134
-60
-17
8
0
0
0
0
0
0
0
-43
62
-71
-6
9
-17
0
22
-6
0
0
0
0
0
0
0
1
3
-74
74
15
-45
-19
49
30
25
-3
0
0
0
0
0
0
0
0
2
59
15
1
4
1
0
0
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
30
-39
54
37
15
25
8
0
-1
0
0
0
0
0
0
0
115
60
68
-3
28
-25
-7
0
-69
0
19
0
0
0
0
0
0
-2
96
-28
22
-27
87
55
11
80
-12
42
0
0
0
0
0
0
13
-36
-30
57
53
-4
-15
-34
68
10
3
-5
0
0
0
0
0
-34
-8
-35
21
-97
-29
58
-6
14
-68
1
1
0
0
0
0
0
3
0
-39
-21
-52
-12
21
16
29
-32
-3
0
0
0
0
0
0
-4
17
-42
70
-18
0
41
-4
34
0
0
0
0
0
0
0
0
0
-1
0
-20
-1
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
57
-119
3
-32
-88
-72
-1
0
0
0
0
0
0
0
0
0
-3
-1
52
-46
8
60
14
0
0
0
-17
0
0
0
0
0
0
-11
-9
-52
-56
3
36
15
22
33
50
-20
3
0
0
0
0
0
1
30
-62
55
5
-139
-47
-82
-19
-135
-22
2
0
0
0
0
0
-1
12
-25
-21
-7
3
-31
7
-15
-38
-30
0
0
0
0
0
0
0
40
-18
-84
1
16
23
-1
25
-79
0
0
0
0
0
0
0
5
-9
-71
-1
-47
-4
-61
3
-36
2
0
0
0
0
0
0
0
0
5
13
16
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
36
71
-24
-27
39
79
-16
0
0
5
1
0
0
0
0
0
0
-17
49
-31
35
42
63
0
-49
0
63
0
0
0
0
0
0
0
78
11
25
38
4
25
40
-44
5
-95
3
0
0
0
0
0
0
-20
39
-8
-2
-46
-39
-2
-107
-80
-33
0
0
0
0
0
0
0
-42
-10
62
-87
30
-74
53
66
-29
36
0
0
0
0
0
0
0
-65
-10
-27
-69
-112
24
102
-42
-8
4
0
0
0
0
0
0
0
-13
-37
-2
-1
-61
-96
46
-16
-1
2
0
0
0
0
0
0
0
1
17
-44
-1
-22
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
53
-19
-10
21
0
0
0
-1
0
0
0
0
0
0
0
-14
19
24
-95
55
0
0
0
-5
-3
0
0
0
0
0
0
0
54
104
9
71
-40
49
7
-32
4
-10
0
0
0
0
0
0
0
-32
26
-40
22
14
11
-79
-124
-9
4
0
0
0
0
0
0
0
-16
16
4
27
-7
-16
-25
-10
5
8
0
0
0
0
0
0
0
-3
27
32
29
2
-11
-1
2
0
0
0
0
0
0
0
0
0
0
32
-41
-48
23
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
25
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
-5
23
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-29
1
-6
0
-15
-17
-2
6
0
0
0
0
0
0
0
2
31
-8
1
2
-5
0
-31
3
1
0
0
0
0
0
0
0
0
1
4
-17
-15
-6
1
2
0
0
0
0
0
0
0
0
0
0
-3
8
-11
7
6
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-6
-14
-4
2
0
0
0
0
0
0
0
0
0
0
0
30
-6
38
41
-24
31
-2
0
-8
0
0
0
0
0
0
0
0
0
33
27
-6
26
-25
3
-33
94
0
0
0
0
0
0
0
0
8
72
-32
-19
62
-59
-13
-9
-15
0
0
0
0
0
0
0
0
9
90
3
28
1
-55
0
0
5
0
0
0
0
0
0
0
0
0
18
31
4
-18
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-66
-48
38
-21
61
2
0
-5
0
0
0
0
0
0
0
0
26
-68
0
-20
-7
-3
0
1
0
0
0
0
0
0
0
0
-9
-92
-81
-26
-51
57
1
24
-24
-3
0
0
0
0
0
0
0
-45
18
2
-29
-45
34
-81
-40
22
60
0
0
0
0
0
0
0
2
-36
15
-79
-9
10
0
35
-9
88
0
0
0
0
0
0
0
0
35
105
-2
-1
-53
-17
9
1
-1
0
0
0
0
0
0
0
0
0
40
-16
-26
4
8
1
1
-5
0
0
0
0
0
0
0
0
-2
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
4
-8
47
-22
4
0
7
5
0
0
0
0
0
0
0
9
-13
13
-53
49
-48
0
-5
0
2
0
0
0
0
0
0
0
7
5
-61
107
19
-42
-71
1
29
-18
0
0
0
0
0
0
0
5
51
-18
-22
-11
54
-28
-6
-33
-13
0
0
0
0
0
0
0
2
25
-72
-93
18
11
-5
7
8
0
0
0
0
0
0
0
0
15
22
-42
-21
-76
57
11
0
-5
0
0
0
0
0
0
0
0
0
25
41
2
-7
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
2
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
85
46
64
-4
24
2
0
-1
-2
-1
0
0
0
0
0
1
-13
20
75
-8
102
12
0
3
0
-10
-1
0
0
0
0
0
-26
55
4
60
-19
34
-4
-10
-27
-17
-4
1
0
0
0
0
0
-8
20
27
8
39
-36
102
32
14
-2
5
1
0
0
0
0
0
51
-49
5
23
84
-10
4
-9
18
0
1
0
0
0
0
0
0
0
21
-16
35
8
2
0
-5
-15
0
0
0
0
0
0
0
0
0
0
0
6
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
60
-57
51
31
73
-17
5
0
-1
0
1
0
0
0
0
0
-19
107
81
-13
17
-34
-41
0
21
0
4
0
0
0
0
0
0
62
42
5
1
34
58
48
-7
-33
22
6
-2
0
0
0
0
0
96
-19
-27
55
15
29
-6
19
-57
-2
0
-8
0
0
0
0
0
-4
-35
9
-9
44
-9
-11
-33
-48
8
0
0
0
0
0
0
0
0
-64
-78
8
26
-16
-57
3
-2
3
5
0
0
0
0
0
0
0
-1
-49
19
-24
-14
-19
1
9
0
0
0
0
0
0
0
0
0
-2
0
-5
-10
2
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
0
-21
-60
45
42
-28
0
0
0
4
0
0
0
0
0
0
58
25
32
-49
-27
-31
70
0
0
0
4
1
0
0
0
0
0
0
-29
53
61
-62
1
-2
-27
-5
88
27
-2
-1
0
0
0
0
-74
27
-14
57
-62
-3
17
72
-48
-7
1
1
0
0
0
0
0
-4
-6
-16
-19
65
-2
4
-65
17
7
0
-7
0
0
0
0
0
0
-82
-85
-58
35
-3
-12
41
-3
-8
-4
0
0
0
0
0
0
-21
5
131
-21
11
6
-44
6
-27
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
36
-2
60
-25
-31
76
0
0
-9
-2
0
0
0
0
0
0
-23
17
22
33
47
-2
-82
0
4
0
-5
-2
0
0
0
0
0
0
128
4
11
-5
-6
31
50
46
16
0
10
0
0
0
0
0
23
27
71
21
-28
-48
87
-49
-25
23
1
0
0
0
0
0
0
-15
31
55
-24
-67
-83
-22
-4
-69
32
3
0
0
0
0
0
0
0
55
34
6
26
-41
68
-17
-40
-6
5
0
0
0
0
0
0
0
-49
-2
78
73
41
15
-1
13
-45
0
0
0
0
0
0
0
0
2
14
75
-14
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
0
0
0
0
0
-29
18
27
-34
-38
-6
-73
0
0
0
17
0
0
0
0
0
0
-26
16
-22
11
30
4
-10
0
-23
0
-33
0
0
0
0
0
0
-63
-37
-3
-38
3
3
-36
6
-13
22
-48
0
0
0
0
0
0
-61
29
34
-24
-50
-38
-33
60
-45
-46
-8
0
0
0
0
0
0
8
57
67
-3
-61
21
13
42
-31
-41
1
0
0
0
0
0
0
26
-4
42
-49
92
14
9
17
4
-37
0
0
0
0
0
0
0
-2
3
-75
52
-32
13
63
1
32
-25
0
0
0
0
0
0
0
0
13
-8
8
-2
52
-1
0
-1
0
0
0
0
0
0
0
0
0
24
5
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
-34
71
24
95
-49
-122
142
5
0
53
0
-4
0
0
0
0
0
20
29
39
-58
-36
49
-24
0
-30
0
1
0
0
0
0
0
0
89
60
-21
-39
-37
0
74
38
23
15
-29
-5
0
0
0
0
0
-59
38
23
46
-20
-16
88
-25
-24
-68
1
0
0
0
0
0
0
77
53
15
48
2
12
-71
33
42
-19
-1
0
0
0
0
0
0
2
-80
56
-3
29
-32
-98
-14
48
-54
2
0
0
0
0
0
0
1
8
27
-28
-73
26
-10
-67
-27
3
0
0
0
0
0
0
0
0
-101
40
-71
86
-6
2
8
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
16
16
-11
-35
5
0
1
31
0
0
0
0
0
0
0
43
-6
45
-115
40
75
0
23
0
-70
-8
0
0
0
0
0
0
102
-9
24
-27
-18
73
-144
27
-139
33
0
0
0
0
0
0
0
-42
-44
1
-29
-29
-108
-45
-93
-82
-10
-1
0
0
0
0
0
0
49
-125
-9
9
-8
15
48
20
40
24
0
0
0
0
0
0
0
-13
-50
33
-77
-41
32
69
-30
-36
-23
0
0
0
0
0
0
0
41
-26
34
32
-28
50
-15
-14
-6
0
0
0
0
0
0
0
0
-1
-20
17
23
20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
88
-110
-50
5
9
0
2
0
4
0
0
0
0
0
0
0
50
16
65
-14
-27
0
-2
0
-4
-14
0
0
0
0
0
0
0
34
31
-18
-17
-2
46
-5
35
0
-12
0
0
0
0
0
0
0
-8
47
3
-49
68
-47
-6
-67
-2
22
0
0
0
0
0
0
0
17
33
63
21
60
-42
0
-16
0
-4
0
0
0
0
0
0
0
3
153
56
-26
20
-30
3
0
0
4
0
0
0
0
0
0
0
0
-5
5
-2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
9
0
0
6
0
0
0
0
0
0
0
0
0
-1
32
4
30
0
2
0
-27
0
0
0
0
0
0
0
0
0
0
8
8
-23
8
5
-10
0
-1
0
0
0
0
0
0
0
0
0
8
-2
-5
34
8
-3
0
0
-1
0
0
0
0
0
0
0
0
8
10
-6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
49
0
34
-1
0
0
0
0
0
0
0
0
0
0
0
18
71
-3
73
-3
5
-1
0
2
0
0
0
0
0
0
0
0
-26
0
2
7
45
-49
13
3
-42
0
0
0
0
0
0
0
0
0
-29
-19
67
32
8
3
-2
50
0
0
0
0
0
0
0
0
-3
-1
-45
-8
65
4
-1
0
34
0
0
0
0
0
0
0
0
-2
2
5
-5
25
29
1
0
1
0
0
0
0
0
0
0
0
0
0
34
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
7
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-20
-50
-12
65
-63
2
0
1
0
0
0
0
0
0
0
-3
48
17
-45
-5
6
-21
0
5
0
0
0
0
0
0
0
0
-1
24
-12
-26
1
-31
34
-11
113
-81
0
0
0
0
0
0
0
0
17
-80
37
8
74
-59
2
-44
35
0
0
0
0
0
0
0
0
-31
20
-40
-69
57
105
57
-12
148
0
0
0
0
0
0
0
0
-59
-65
-2
-50
-30
-175
-25
8
19
0
0
0
0
0
0
0
0
3
7
43
-25
83
-1
13
13
4
0
0
0
0
0
0
0
0
0
4
-3
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
48
42
-4
69
12
1
1
0
-2
0
0
0
0
0
0
0
0
61
43
93
-117
21
-47
0
0
0
-8
0
0
0
0
0
0
0
12
3
9
13
-2
-101
-26
-54
43
-17
0
0
0
0
0
0
0
28
22
-60
13
-34
-4
-20
-24
32
0
0
0
0
0
0
0
0
0
0
3
47
-74
28
24
18
-5
2
0
0
0
0
0
0
0
-1
5
2
-48
-54
-20
3
-1
13
-1
0
0
0
0
0
0
0
7
-10
-15
125
-1
2
0
0
-6
0
0
0
0
0
0
0
0
0
4
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
84
-176
-35
3
3
0
0
0
0
0
0
0
0
0
0
2
-1
5
42
-7
-57
-9
0
4
0
-21
-7
0
0
0
0
0
32
85
-64
-49
31
-22
18
16
-3
14
-12
1
0
0
0
0
0
-34
2
7
23
23
64
41
6
33
-16
0
1
0
0
0
0
0
1
100
6
21
72
-15
52
58
-20
2
-2
0
0
0
0
0
0
0
8
-9
-32
54
-3
47
9
1
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-10
3
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
87
21
66
64
56
-3
0
0
0
0
0
0
0
0
0
7
78
36
-10
-116
52
-87
0
16
0
0
0
0
0
0
0
0
14
-19
-21
-7
-122
44
-11
-13
23
33
-2
-7
0
0
0
0
0
-3
8
26
31
52
-58
-48
-77
8
-15
0
-2
0
0
0
0
0
4
-80
-24
-55
-20
-38
6
54
50
29
0
-1
0
0
0
0
0
2
-79
-5
-19
-8
-10
0
42
50
27
0
0
0
0
0
0
0
3
0
7
-8
-73
0
64
-1
-1
-6
0
0
0
0
0
0
0
0
-1
3
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-48
4
-21
50
-8
-7
0
-2
0
0
0
0
0
0
0
54
11
-73
-26
84
19
-32
0
23
0
-8
-4
0
0
0
0
0
14
6
-27
58
51
-30
-29
-60
10
-66
-2
0
0
0
0
0
0
116
77
46
-3
48
27
26
-19
16
5
-1
0
0
0
0
0
0
86
22
-33
127
-17
34
-24
-96
14
66
0
0
0
0
0
0
0
3
-68
-26
-9
-3
78
120
-17
-28
-29
0
0
0
0
0
0
0
2
-3
36
55
45
6
22
-4
2
0
0
0
0
0
0
0
0
0
1
-38
-1
-8
14
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-19
26
33
-35
20
41
5
0
-4
1
0
0
0
0
0
0
7
38
15
-7
-18
-106
90
0
-59
0
-21
0
0
0
0
0
0
42
7
31
1
68
61
-44
77
8
47
13
8
0
0
0
0
0
5
-71
44
-25
14
33
-51
29
-30
138
0
0
0
0
0
0
0
2
28
-36
33
-11
28
111
3
-33
21
0
0
0
0
0
0
0
4
68
-79
76
18
105
-25
-136
25
-25
0
0
0
0
0
0
0
0
-3
-26
40
40
-60
-20
-26
-107
-3
0
0
0
0
0
0
0
0
-11
5
-36
2
49
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
65
40
51
54
-79
89
34
16
0
-1
8
0
0
0
0
0
0
-25
48
120
-60
-26
-9
6
0
99
0
-13
0
0
0
0
0
0
10
78
47
-8
12
49
21
34
79
81
55
-4
0
0
0
0
0
-8
19
-12
17
8
123
-11
-39
-57
4
0
0
0
0
0
0
0
42
-21
27
37
-46
37
78
11
-71
54
2
0
0
0
0
0
0
-27
27
58
-14
31
-8
-31
-2
-61
-6
0
0
0
0
0
0
0
9
58
-46
35
25
32
33
6
-48
-13
0
0
0
0
0
0
0
0
-48
4
29
105
-48
7
-1
-23
-9
0
0
0
0
0
0
0
0
-17
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
35
8
16
-46
74
8
-26
16
0
0
1
0
0
0
0
0
0
19
-10
68
-1
37
14
-12
0
13
0
-12
0
0
0
0
0
0
-69
29
5
-1
18
-66
-5
-17
-59
-92
26
-3
0
0
0
0
0
10
-2
13
10
-9
30
23
14
-40
42
0
0
0
0
0
0
0
-5
-27
-41
-14
-13
23
-50
42
13
-21
6
0
0
0
0
0
0
-2
58
-2
7
-17
6
-94
-9
12
-37
0
0
0
0
0
0
0
1
4
-76
-5
11
0
-5
-18
-25
55
0
0
0
0
0
0
0
0
-25
17
-21
-54
13
29
4
0
0
0
0
0
0
0
0
0
0
-2
-6
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-46
10
9
-102
117
100
0
-5
15
0
0
0
0
0
0
0
24
0
42
-43
38
-8
0
3
0
38
0
0
0
0
0
0
0
-17
-7
18
33
-37
38
-23
-1
13
31
-4
0
0
0
0
0
0
-21
40
-35
-15
-19
73
-27
62
-5
49
0
0
0
0
0
0
0
48
51
10
-54
2
13
149
-33
-46
5
0
0
0
0
0
0
0
68
-56
-7
59
34
128
9
56
-24
-27
0
0
0
0
0
0
0
13
-6
-29
-21
0
-97
64
32
-13
0
0
0
0
0
0
0
0
2
-105
4
65
16
5
1
-5
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
18
80
47
27
0
4
2
2
0
0
0
0
0
0
0
41
58
14
106
12
0
0
0
12
-13
0
0
0
0
0
0
0
-16
7
11
-9
-64
-23
-1
5
-4
-21
0
0
0
0
0
0
0
15
22
-11
6
66
33
-2
12
0
-7
0
0
0
0
0
0
0
5
16
19
-9
107
56
-9
24
1
-1
0
0
0
0
0
0
0
-22
-13
-13
-82
-27
59
1
2
4
0
0
0
0
0
0
0
0
0
-1
-8
-28
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
4
19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
23
0
-5
0
0
3
-5
0
0
0
0
0
0
0
0
-8
15
-13
-12
2
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
1
-2
0
3
0
4
0
0
0
0
0
0
0
0
0
-36
-2
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
15
66
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-18
-105
-42
6
-13
0
0
0
0
0
0
0
0
0
0
15
11
-16
58
17
-1
-1
-4
1
0
0
0
0
0
0
0
0
26
-3
3
42
-46
-1
4
0
-16
0
0
0
0
0
0
0
0
0
52
40
-40
-87
24
2
1
-8
0
0
0
0
0
0
0
0
-1
0
-48
54
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
2
3
14
8
-13
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-55
30
-43
29
34
0
0
25
0
0
0
0
0
0
0
-2
132
77
50
5
3
-3
0
4
0
0
0
0
0
0
0
0
0
-50
-40
22
-15
60
40
10
18
125
0
0
0
0
0
0
0
1
-4
2
-23
-55
-9
-102
88
-19
22
0
0
0
0
0
0
0
1
0
13
-81
1
11
-71
-39
-49
24
0
0
0
0
0
0
0
0
-9
38
49
-58
-44
-43
46
-19
36
0
0
0
0
0
0
0
0
-3
-91
-43
61
-17
-18
17
10
-8
0
0
0
0
0
0
0
0
1
-40
136
5
24
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
99
38
-52
33
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
50
47
53
10
0
-1
0
-8
0
0
0
0
0
0
0
10
-45
26
-29
-51
-21
-4
39
73
-3
0
0
0
0
0
0
0
-2
83
-19
-37
-7
4
-44
-2
4
0
0
0
0
0
0
0
0
16
0
-23
-60
84
41
112
5
-4
-1
0
0
0
0
0
0
0
0
-33
6
3
40
6
1
-10
23
2
0
0
0
0
0
0
0
0
-22
90
1
35
-2
17
8
-9
0
0
0
0
0
0
0
0
6
1
48
9
-6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
15
-21
35
84
65
3
0
0
0
-2
0
0
0
0
0
0
-44
-10
4
-17
-82
9
-6
0
0
0
-10
0
0
0
0
0
0
16
40
-35
16
60
-88
21
10
-48
-7
1
-1
0
0
0
0
0
-11
-41
12
56
27
-24
-1
-32
-82
-6
0
0
0
0
0
0
0
-1
68
41
0
72
40
18
-5
13
0
0
0
0
0
0
0
0
0
83
1
41
4
-8
3
33
6
-1
0
0
0
0
0
0
0
-1
0
-12
0
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
19
0
0
12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
60
37
27
59
-11
6
-2
0
0
-1
0
0
0
0
0
0
73
17
39
-52
59
-32
6
0
5
0
5
-1
0
0
0
0
0
-2
35
-5
3
13
51
-49
-6
53
47
0
-3
0
0
0
0
0
-7
2
64
-16
63
82
-55
42
26
41
0
0
0
0
0
0
0
69
12
57
19
0
36
-5
-45
19
-30
0
0
0
0
0
0
0
-2
9
-38
-144
-3
-15
-20
19
-43
22
0
0
0
0
0
0
0
7
17
-24
10
-49
-53
-6
-9
7
1
0
0
0
0
0
0
0
0
0
-1
36
9
13
0
0
0
-1
0
0
0
0
0
0
0
0
2
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
64
73
59
86
3
20
80
0
0
0
0
0
0
0
0
0
0
17
105
90
-11
87
5
-89
0
-65
0
-4
0
0
0
0
0
0
2
48
-42
-20
84
-47
-39
-91
38
-129
5
0
0
0
0
0
0
109
17
-6
57
-8
19
127
-11
66
-17
0
0
0
0
0
0
0
-28
27
50
8
30
0
99
-10
13
0
2
0
0
0
0
0
0
-5
46
3
5
-99
78
-58
36
42
0
0
0
0
0
0
0
0
0
-3
-10
-19
0
53
-16
-45
13
0
0
0
0
0
0
0
0
0
-113
0
24
0
-3
0
4
0
0
0
0
0
0
0
0
0
-2
0
-11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-59
-17
-11
-88
57
-55
-5
0
-5
1
0
0
0
0
0
0
59
29
72
-24
-28
-16
7
0
6
0
2
0
0
0
0
0
0
63
59
38
13
-11
-6
-43
1
31
-5
-1
0
0
0
0
0
0
24
6
35
-37
50
89
-67
35
81
-18
6
0
0
0
0
0
0
65
83
16
27
-11
76
0
16
8
2
0
0
0
0
0
0
0
-16
14
16
-3
8
26
-43
13
-42
63
0
0
0
0
0
0
0
-2
-1
0
-56
-1
5
-36
-111
-86
-1
0
0
0
0
0
0
0
0
-15
-33
5
7
-11
0
0
-3
0
0
0
0
0
0
0
0
0
-2
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
56
-59
49
53
73
-27
77
1
0
0
-9
0
0
0
0
0
0
-7
66
43
35
-2
49
88
0
89
0
-5
0
0
0
0
0
0
5
24
47
-8
-54
2
147
-44
19
-78
-33
-2
0
0
0
0
0
17
-9
33
6
52
51
167
-70
83
27
-36
-2
0
0
0
0
0
46
3
99
6
81
-58
16
0
-98
-3
0
0
0
0
0
0
0
-56
23
51
-3
-9
-66
11
8
-6
-23
0
0
0
0
0
0
0
-42
-16
-45
1
15
-25
-67
0
-62
-3
0
0
0
0
0
0
0
0
-67
-12
-9
-6
14
0
0
2
-6
0
0
0
0
0
0
0
0
0
19
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-16
84
5
-36
-75
-39
-63
28
0
0
-4
0
0
0
0
0
0
52
-15
40
-1
-32
26
25
0
-2
0
42
-6
0
0
0
0
0
-13
19
-1
7
-1
17
110
75
-84
-2
-1
-3
0
0
0
0
0
-33
-43
15
6
-33
32
-13
-41
-49
27
13
5
0
0
0
0
0
67
56
-10
89
30
106
80
59
0
80
-4
0
0
0
0
0
0
7
-23
-32
-85
6
-31
50
8
-41
-42
0
0
0
0
0
0
0
5
-38
49
-150
-29
52
48
-1
0
4
0
0
0
0
0
0
0
0
21
44
-71
6
27
11
-6
-1
16
0
0
0
0
0
0
0
0
0
-23
0
4
11
0
0
0
0
0
0
0
0
0
0
0
0
-81
-38
-1
-74
-77
1
2
0
0
39
4
0
0
0
0
0
0
-26
-8
52
-15
3
-5
0
31
0
97
5
0
0
0
0
0
0
35
19
28
7
-52
80
-10
92
-46
4
-1
0
0
0
0
0
0
-31
34
2
-2
-41
3
3
39
105
11
-8
0
0
0
0
0
0
33
-4
90
-32
55
2
-12
95
0
18
0
0
0
0
0
0
0
21
-64
-85
28
-7
66
-66
23
27
-6
0
0
0
0
0
0
0
69
-1
-14
-35
19
24
-53
107
1
2
0
0
0
0
0
0
0
0
-2
-11
10
42
0
0
1
0
0
0
0
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
40
26
-21
6
0
1
3
-7
0
0
0
0
0
0
0
-34
-29
38
9
-14
0
3
0
-13
0
0
0
0
0
0
0
0
3
7
77
80
-23
54
43
5
0
-31
0
0
0
0
0
0
0
-26
39
107
21
32
-13
-47
16
-27
-1
0
0
0
0
0
0
0
0
58
-11
-35
-10
2
0
-1
0
-3
0
0
0
0
0
0
0
-13
13
64
-6
29
-1
7
2
0
0
0
0
0
0
0
0
0
0
-7
13
-24
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
8
4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
2
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-25
-3
-8
0
0
0
-8
1
1
0
0
0
0
0
0
0
0
3
12
-8
-8
-2
1
0
1
-2
0
0
0
0
0
0
0
0
-9
-20
10
-8
-1
5
0
0
-2
0
0
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
28
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
74
-2
-16
0
-3
0
0
5
0
0
0
0
0
0
0
0
-10
-4
-65
12
-22
20
-1
0
1
0
0
0
0
0
0
0
0
-5
-51
-8
-24
48
-62
2
0
-23
0
0
0
0
0
0
0
0
56
0
-45
-43
8
-7
-2
0
-5
0
0
0
0
0
0
0
0
0
104
2
-11
23
-92
-11
4
-3
0
0
0
0
0
0
0
0
0
0
115
30
6
-4
0
0
8
0
0
0
0
0
0
0
0
0
2
0
27
6
-31
0
-2
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
26
67
-16
32
0
0
-8
0
0
0
0
0
0
0
0
0
2
-9
-15
-31
67
-16
-31
0
-1
0
0
0
0
0
0
0
0
0
44
-119
-73
20
-49
20
-10
-12
-7
0
0
0
0
0
0
0
0
58
29
-7
-151
52
60
-56
-16
-1
0
0
0
0
0
0
0
0
18
5
-144
3
24
19
19
-18
-12
0
0
0
0
0
0
0
-6
0
68
-20
29
-50
93
4
1
-29
0
0
0
0
0
0
0
0
-5
8
-12
134
67
-30
-8
2
0
0
0
0
0
0
0
0
0
-1
4
34
22
4
-2
0
0
2
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
-74
-3
-71
-1
0
0
0
0
0
0
0
0
0
0
0
70
-23
16
112
-28
-36
0
0
0
14
0
0
0
0
0
0
0
49
93
-7
-24
3
20
7
74
26
40
0
0
0
0
0
0
0
-7
-7
-45
-32
6
-148
-43
-4
-57
-22
0
0
0
0
0
0
0
1
-8
0
28
-16
57
43
-37
37
0
0
0
0
0
0
0
0
-1
0
88
43
34
22
-2
2
31
-4
0
0
0
0
0
0
0
-1
48
0
59
41
1
-16
0
21
0
0
0
0
0
0
0
0
0
0
32
0
-60
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-12
-33
-23
-1
4
2
0
-2
-6
0
0
0
0
0
0
4
-147
-8
6
63
-89
25
0
5
0
-40
0
0
0
0
0
0
-1
61
19
-31
57
2
2
19
50
23
-27
1
0
0
0
0
0
4
18
83
33
29
-72
-71
38
23
-1
2
0
0
0
0
0
0
42
-43
-7
-20
45
168
20
-18
-62
-4
0
0
0
0
0
0
0
0
-11
-15
0
22
17
12
1
-1
0
0
6
0
0
0
0
0
-1
13
0
0
0
-2
-21
3
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
70
-72
-33
-12
42
84
2
0
0
0
0
0
0
0
0
0
-2
11
28
42
18
37
-78
0
-2
0
0
-1
0
0
0
0
0
-18
-42
-43
25
27
9
46
70
-24
6
0
-1
0
0
0
0
0
6
21
-96
12
31
-30
-59
-111
18
-14
0
2
0
0
0
0
0
53
-11
-15
-14
79
54
-69
4
3
-113
-3
0
0
0
0
0
0
0
12
28
-24
0
-91
16
0
0
-2
0
0
0
0
0
0
0
1
103
50
-3
-44
2
-6
-35
6
1
0
0
0
0
0
0
0
0
6
0
6
1
-18
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-58
14
-37
33
29
-46
-14
0
-2
0
0
0
0
0
0
0
21
5
32
33
50
14
28
0
21
0
1
0
0
0
0
0
0
99
54
-111
80
53
61
-55
3
1
-59
3
0
0
0
0
0
0
45
50
2
-40
31
-4
-4
9
34
-5
-4
0
0
0
0
0
0
47
56
-8
58
80
41
-20
-74
38
-102
15
0
0
0
0
0
0
0
34
30
-23
-6
0
5
3
2
5
3
0
0
0
0
0
0
18
88
47
90
-42
-4
-5
-4
0
-2
0
0
0
0
0
0
0
0
-71
19
-28
-6
17
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
36
58
-60
-44
-22
-1
-20
0
0
3
0
0
0
0
0
0
29
18
19
10
-46
105
93
0
5
0
0
0
0
0
0
0
0
12
50
43
-42
-13
-46
20
-72
85
-77
0
3
0
0
0
0
0
-15
90
61
26
22
-12
-45
4
-7
10
1
3
0
0
0
0
0
57
3
-16
-15
-41
85
-43
-16
45
-74
0
0
0
0
0
0
0
0
-17
49
-63
-6
82
0
-2
23
-3
2
0
0
0
0
0
0
2
-20
-56
2
35
-3
41
-83
90
-18
0
0
0
0
0
0
0
0
-11
27
72
-5
47
-2
-5
-1
9
0
0
0
0
0
0
0
0
0
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-30
-44
82
-15
38
4
16
-15
0
-12
1
0
0
0
0
0
0
117
63
61
-18
-5
-10
-40
0
45
0
10
-2
0
0
0
0
0
16
1
29
17
5
29
1
106
45
91
53
-2
0
0
0
0
0
-24
21
25
0
73
5
40
12
32
-146
8
0
0
0
0
0
0
-25
61
68
20
19
69
137
91
17
72
31
0
0
0
0
0
0
18
32
47
54
-54
102
-40
0
-13
1
0
0
0
0
0
0
0
-30
-4
6
28
-13
31
46
8
-42
-5
0
0
0
0
0
0
0
-1
-91
40
-60
24
-15
-18
2
-11
-4
0
0
0
0
0
0
0
2
2
45
50
0
0
0
0
0
0
0
0
0
0
0
0
0
70
54
-18
-31
0
-23
57
10
0
26
8
0
0
0
0
0
0
-4
-18
-62
15
-16
-31
-32
0
-66
0
-13
-1
0
0
0
0
0
31
6
24
-45
-8
1
28
-21
117
22
0
4
0
0
0
0
0
-44
41
36
-35
20
4
-116
7
38
-62
-14
0
0
0
0
0
0
35
4
10
50
-9
35
-25
29
83
31
-8
0
0
0
0
0
0
-16
-29
10
68
37
121
50
-30
0
-51
0
0
0
0
0
0
0
-9
15
36
-48
6
69
-32
-43
-4
0
0
0
0
0
0
0
0
0
47
-25
-47
-78
-5
16
1
0
-42
0
0
0
0
0
0
0
0
29
-16
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-60
-5
15
30
5
33
0
1
82
0
0
0
0
0
0
0
9
50
19
66
13
-17
0
2
0
38
0
0
0
0
0
0
0
37
16
-24
52
127
-7
-28
-2
121
1
-1
0
0
0
0
0
0
18
11
-26
-24
52
-13
61
31
-14
18
0
0
0
0
0
0
0
-5
25
-14
-49
110
-23
-17
-86
84
25
0
0
0
0
0
0
0
-10
77
-34
-12
40
51
26
15
0
-7
0
0
0
0
0
0
0
-11
87
-39
-23
35
26
6
-27
-2
0
0
0
0
0
0
0
0
0
-18
-7
49
50
-4
0
-38
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-52
39
-27
-14
0
5
13
0
0
0
0
0
0
0
0
-6
41
0
10
24
0
5
0
-8
-35
0
0
0
0
0
0
0
-37
60
-37
20
31
-29
-24
-2
8
-31
0
0
0
0
0
0
0
15
-34
-27
-2
-123
25
28
-47
1
-35
0
0
0
0
0
0
0
4
109
16
21
53
10
45
1
-4
-14
0
0
0
0
0
0
0
-29
6
92
22
-42
-14
0
2
0
1
0
0
0
0
0
0
0
0
-9
1
60
7
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
5
0
-1
2
0
-1
0
0
0
0
0
0
0
0
13
-8
13
0
-1
0
25
3
0
0
0
0
0
0
0
0
0
0
12
13
-6
45
-13
-6
-14
-4
0
0
0
0
0
0
0
0
-6
-12
-5
14
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
2
-2
0
0
1
0
0
0
0
0
0
0
2
0
1
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-32
16
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
3
7
3
0
-8
12
0
0
0
0
0
0
0
0
-4
-2
0
-32
-55
23
2
4
5
0
0
0
0
0
0
0
0
12
0
-49
-7
-2
-25
-13
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
44
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
2
-10
8
-8
0
0
0
0
0
0
0
0
0
0
4
-5
-4
54
34
126
3
0
0
0
0
0
0
0
0
0
0
0
13
25
6
-135
7
7
0
-10
62
0
0
0
0
0
0
0
0
3
22
0
-1
-62
109
-17
-6
14
0
0
0
0
0
0
0
5
16
-1
-4
40
-45
63
79
4
24
0
0
0
0
0
0
0
0
-18
0
-33
51
-11
91
0
-5
-13
0
0
0
0
0
0
0
7
0
24
4
15
0
30
3
3
0
0
0
0
0
0
0
0
0
8
0
14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-30
106
1
-8
0
0
0
0
0
0
0
0
0
0
0
-42
52
34
89
100
4
0
2
0
-1
0
0
0
0
0
0
0
-27
122
70
-65
26
13
0
9
13
24
0
0
0
0
0
0
0
-28
-51
53
-54
-16
-75
10
-1
-1
-4
0
0
0
0
0
0
0
-1
35
46
-77
3
12
57
2
15
1
0
0
0
0
0
0
0
0
97
0
-61
0
-50
45
0
8
0
0
0
0
0
0
0
0
23
0
3
33
8
72
-7
4
0
0
0
0
0
0
0
0
0
0
5
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
-14
-4
1
-1
0
0
0
0
0
0
0
0
0
-12
35
1
54
-2
20
10
0
0
0
-8
0
0
0
0
0
0
-1
-2
98
1
-35
-5
-2
1
-5
0
7
0
0
0
0
0
0
0
3
-12
24
0
5
-28
-4
-11
-1
0
0
0
0
0
0
0
-3
-1
46
-13
-12
5
-23
27
-7
8
0
0
0
0
0
0
0
-2
17
0
0
0
-102
13
30
-7
1
0
0
0
0
0
0
0
2
9
40
0
-4
3
-25
-1
0
0
0
0
0
0
0
0
0
0
12
1
5
0
-6
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
1
70
6
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
-8
1
111
-87
19
-12
0
4
0
0
0
0
0
0
0
0
0
1
-10
30
-8
-26
78
0
-40
56
0
0
0
0
0
0
0
2
78
-34
-70
7
-78
0
-5
-22
7
0
0
0
0
0
0
0
-31
-49
43
14
-62
-27
-47
-53
78
-36
0
0
0
0
0
0
0
-3
30
-39
-17
9
50
-7
-3
-63
-97
0
0
0
0
0
0
0
0
16
-8
14
0
-5
-1
-7
-3
-3
0
0
0
0
0
0
0
0
-1
-11
-4
-2
-6
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-57
-32
42
18
8
4
0
0
0
0
0
0
0
0
0
10
35
-40
-96
19
12
3
0
0
0
0
0
0
0
0
0
0
38
26
-20
89
80
3
39
15
-39
-37
-5
0
0
0
0
0
0
-28
-18
-24
-19
-64
82
-15
5
-97
-20
0
0
0
0
0
0
0
23
6
-21
-80
-75
47
-12
-57
-44
54
-1
0
0
0
0
0
0
-17
-68
38
-71
-15
-23
33
11
43
-49
-8
0
0
0
0
0
0
-27
-3
-72
48
-38
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
40
-124
0
1
9
1
0
-5
0
0
0
0
0
0
0
-1
-1
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
-72
65
-33
26
-33
12
0
0
0
0
0
0
0
0
0
-2
-10
71
3
79
30
88
0
-18
0
0
2
0
0
0
0
0
-2
-40
-37
35
22
15
-26
-84
18
-40
0
6
0
0
0
0
0
20
-35
-40
94
2
-5
-15
-43
105
-48
0
0
0
0
0
0
0
-59
-35
1
22
33
-3
96
3
-47
6
0
0
0
0
0
0
0
5
42
55
-32
-65
7
74
35
51
-7
-2
0
0
0
0
0
0
0
22
32
65
-8
68
0
0
2
0
0
0
0
0
0
0
0
0
-9
51
-30
-47
-17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
40
54
28
32
6
23
5
0
0
1
0
0
0
0
0
0
43
-30
-49
-32
115
-45
-18
0
24
0
7
0
0
0
0
0
0
15
68
23
57
27
44
-11
-45
74
-98
38
-1
0
0
0
0
0
19
16
30
-52
83
36
56
23
31
-1
-6
0
0
0
0
0
0
-45
-8
25
23
-74
32
89
-29
14
-48
24
0
0
0
0
0
0
-10
-19
-14
28
-47
90
33
7
-10
66
0
0
0
0
0
0
0
5
19
-25
23
62
25
-8
0
-30
0
0
0
0
0
0
0
0
0
19
42
-3
13
30
11
0
0
-6
0
0
0
0
0
0
0
0
5
11
3
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-75
31
77
-28
84
-13
2
0
1
-3
0
0
0
0
0
0
-1
-55
37
-28
-54
-16
36
0
-41
0
24
0
0
0
0
0
0
45
-19
-12
57
-3
3
52
7
0
-14
-14
-1
0
0
0
0
0
-1
74
108
-4
1
-38
-55
61
-30
-13
-2
-1
0
0
0
0
0
-29
12
-9
-26
2
-21
8
3
15
-23
29
0
0
0
0
0
0
8
-26
53
24
-7
-18
-13
-114
5
-6
0
0
0
0
0
0
0
0
-2
-101
26
-32
55
17
33
0
0
0
0
0
0
0
0
0
0
-20
-9
0
6
-51
19
21
2
-68
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-47
92
-32
-11
132
-3
0
1
-14
-1
0
0
0
0
0
0
44
79
-14
-13
-8
6
0
24
0
71
3
0
0
0
0
0
0
-20
-1
67
59
-15
18
60
37
70
22
0
0
0
0
0
0
0
70
34
-29
41
43
34
37
116
43
35
-1
0
0
0
0
0
0
-50
70
9
-78
-28
-12
-45
-12
1
2
0
0
0
0
0
0
0
28
68
36
49
31
-43
-9
-6
86
-105
0
0
0
0
0
0
0
-9
39
2
48
-59
-5
32
60
0
-4
0
0
0
0
0
0
0
0
27
-18
-15
127
35
-10
6
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-19
0
-5
0
-3
-19
-3
0
0
0
0
0
0
0
4
9
-8
-77
-9
0
-6
0
6
-8
0
0
0
0
0
0
0
0
43
-9
14
-22
17
-6
-4
0
63
0
0
0
0
0
0
0
-8
68
-27
10
23
33
-8
5
7
39
0
0
0
0
0
0
0
0
22
-81
-1
40
14
-9
48
0
20
0
0
0
0
0
0
0
2
-12
-5
25
6
-16
-18
6
0
-8
0
0
0
0
0
0
0
-10
-10
-11
43
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
34
12
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
2
3
1
5
4
-7
0
0
0
0
0
0
0
0
0
1
30
11
19
7
2
3
3
0
0
0
0
0
0
0
0
0
-1
-19
-18
28
-7
-3
7
0
0
0
0
0
0
0
0
0
0
0
1
-12
-8
4
-13
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-25
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-50
-7
23
-5
-1
0
-2
0
0
0
0
0
0
0
0
-3
13
0
-30
0
30
-8
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
12
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
28
5
2
0
0
0
0
0
0
0
0
0
0
0
8
1
83
-13
4
0
-1
0
0
-15
0
0
0
0
0
0
0
0
77
-13
10
-31
-4
-19
0
-6
-1
0
0
0
0
0
0
0
-9
0
26
60
-26
-22
1
-27
0
0
0
0
0
0
0
0
0
0
7
-7
0
-35
9
9
3
-8
0
0
0
0
0
0
0
0
0
0
8
-6
20
-5
12
-5
0
0
0
0
0
0
0
0
0
0
0
3
-20
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
99
12
13
-6
0
3
0
0
0
0
0
0
0
0
-1
0
-14
40
37
-10
8
0
0
17
0
0
0
0
0
0
0
0
0
-1
33
-2
33
7
0
0
6
0
0
0
0
0
0
0
0
0
-3
-29
17
27
26
0
3
-24
0
0
0
0
0
0
0
0
0
0
-30
3
22
1
0
0
8
0
0
0
0
0
0
0
0
0
1
0
6
0
5
2
0
0
0
0
0
0
0
0
0
0
-4
0
17
8
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
-42
12
0
1
0
0
0
0
0
0
0
0
0
0
-70
6
-14
0
-70
0
0
-7
0
0
0
0
0
0
0
0
-1
-16
15
-3
-48
-4
1
-14
-3
0
0
0
0
0
0
0
0
0
16
-6
-109
0
-8
-2
-19
-15
0
-3
0
0
0
0
0
0
0
0
2
-1
10
0
0
0
-21
0
0
0
0
0
0
0
0
0
52
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
97
-1
-20
0
0
0
0
0
0
0
0
0
0
0
-2
2
19
34
35
4
-4
0
0
4
0
0
0
0
0
0
0
0
40
-8
-6
-47
40
5
0
-42
-8
0
0
0
0
0
0
0
-27
-1
39
-40
-47
-39
-60
-2
0
-3
0
0
0
0
0
0
0
0
26
0
34
40
-84
30
0
-4
-13
0
0
0
0
0
0
0
-4
-1
-37
0
11
1
6
5
0
0
0
0
0
0
0
0
0
0
2
-20
19
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
34
-47
18
-4
-1
0
0
0
0
0
0
0
0
0
0
67
0
31
31
29
-30
0
0
0
0
0
0
0
0
0
0
-17
0
83
6
52
-4
4
0
10
-58
2
0
0
0
0
0
0
-1
-7
-9
30
24
-58
-18
-3
-15
-7
-12
0
0
0
0
0
0
14
-49
35
45
-48
-63
-56
-154
-97
-2
0
0
0
0
0
0
0
0
-3
-62
67
0
22
20
-9
-3
4
0
0
0
0
0
0
0
-10
4
-3
-8
27
2
2
9
17
0
0
0
0
0
0
0
0
0
-52
-8
-20
-16
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-42
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
41
-8
2
31
-3
0
0
0
0
0
0
0
0
0
0
23
-16
115
-6
-22
13
0
0
0
0
0
0
0
0
0
0
1
0
71
-2
0
6
11
0
5
-54
-2
0
0
0
0
0
0
1
12
8
17
-55
98
24
9
50
-141
-8
0
0
0
0
0
0
17
23
1
121
18
-40
0
51
69
-31
0
0
0
0
0
0
0
0
-30
39
-39
9
-131
6
12
-82
-8
0
0
0
0
0
0
0
-1
15
44
-90
27
-23
2
49
35
-25
0
0
0
0
0
0
0
0
1
-75
95
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
68
50
28
59
16
36
4
0
0
0
0
0
0
0
0
0
3
-5
24
59
22
-30
13
0
0
0
0
0
0
0
0
0
0
2
-4
43
59
-33
41
22
1
44
-7
-4
0
0
0
0
0
0
-5
-68
23
-35
58
-55
-38
-28
29
-4
1
0
0
0
0
0
0
-16
51
95
-13
101
30
15
-2
-40
-32
-19
0
0
0
0
0
0
21
-36
66
-44
-12
40
-1
0
-123
6
-1
0
0
0
0
0
0
-6
-20
19
30
-49
18
47
-13
45
13
0
0
0
0
0
0
0
0
22
-15
113
52
28
-2
0
0
0
0
0
0
0
0
0
0
12
-11
33
-7
35
48
0
0
-7
0
0
0
0
0
0
0
0
0
-15
-35
82
-45
0
92
-18
0
-1
0
0
0
0
0
0
0
0
-16
30
38
64
-132
-50
0
0
0
1
0
0
0
0
0
0
13
-12
-18
45
-2
-3
58
49
-1
6
-3
0
0
0
0
0
0
0
-13
-32
15
-3
57
-43
19
4
-8
-3
0
0
0
0
0
0
-24
17
7
53
-42
99
-2
-48
2
26
0
0
0
0
0
0
0
0
29
11
1
22
-7
35
-70
1
7
0
0
0
0
0
0
0
1
-74
-69
27
-36
109
9
-17
3
12
1
0
0
0
0
0
0
0
30
-40
30
-2
-9
1
1
0
-1
0
0
0
0
0
0
0
0
4
30
24
52
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-12
17
37
-21
48
-18
0
0
4
0
0
0
0
0
0
0
2
-47
11
29
21
77
0
0
0
25
0
0
0
0
0
0
0
-20
76
67
31
61
47
0
-25
13
-73
0
0
0
0
0
0
0
-20
69
-72
49
-7
22
35
22
-2
-54
0
0
0
0
0
0
0
20
1
33
45
-17
14
82
-49
30
15
0
0
0
0
0
0
0
47
-25
35
-1
41
0
-19
-69
-2
-13
0
0
0
0
0
0
0
-12
-52
-18
-10
62
-3
11
16
1
3
0
0
0
0
0
0
0
0
33
-17
7
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-44
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
31
7
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
35
24
-28
42
2
9
-6
-3
0
0
0
0
0
0
0
-2
-23
5
-62
27
-46
2
-6
-2
-3
0
0
0
0
0
0
0
8
9
-27
-30
1
-8
-15
6
0
7
0
0
0
0
0
0
0
-5
46
70
27
-6
3
-9
-1
-2
0
0
0
0
0
0
0
0
0
-13
44
-8
10
-5
0
0
-1
2
0
0
0
0
0
0
0
0
0
31
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-12
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-26
5
1
12
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
43
-3
-3
-6
0
0
0
0
0
0
0
0
0
0
2
0
-15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-13
0
-14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-51
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
37
0
-53
30
0
-8
0
0
0
0
0
0
0
0
16
-1
48
0
94
-13
-65
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-7
36
-76
0
-48
0
0
0
0
0
0
0
0
1
-3
-50
3
-39
29
-4
0
-44
0
0
0
0
0
0
0
0
0
25
0
-15
0
-6
41
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
-28
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
17
0
0
0
-26
0
0
0
0
0
0
0
0
-1
5
7
69
-4
-45
-2
0
-12
0
0
0
0
0
0
0
0
20
-7
-51
-7
23
7
-5
0
-4
0
0
0
0
0
0
0
0
1
-21
-1
70
-1
139
0
0
0
0
0
0
0
0
0
0
0
-8
-2
15
-18
-16
-31
0
0
-17
0
0
0
0
0
0
0
0
-8
13
3
60
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
1
0
-8
0
0
0
0
0
0
0
0
0
13
0
-1
0
-3
0
1
-29
0
0
0
0
0
0
0
0
-1
0
-3
-1
-16
2
0
0
0
0
0
0
0
0
0
0
0
-13
43
5
6
6
29
0
0
6
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
-6
-5
-16
0
0
0
0
0
0
0
0
0
0
1
7
0
29
6
38
-41
9
0
0
0
0
0
0
0
0
-4
0
0
2
44
48
4
-1
0
0
0
0
0
0
0
0
0
25
0
0
-3
-3
0
-1
0
8
0
0
0
0
0
0
0
0
-3
0
0
4
-1
10
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-13
-11
-29
-32
0
5
0
0
0
0
0
0
0
0
-1
13
-39
42
-34
-120
56
-63
-1
0
0
0
0
0
0
0
-2
-6
-5
-42
57
-4
13
-16
28
16
0
0
0
0
0
0
0
0
-19
-4
-3
-5
-2
5
-6
1
7
0
0
0
0
0
0
0
0
-2
0
7
-14
-9
53
17
15
0
0
0
0
0
0
0
0
0
-5
0
-2
0
32
9
28
42
-5
0
0
0
0
0
0
0
0
0
-1
0
-7
-5
94
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
7
29
8
83
0
7
-2
0
0
0
0
0
0
0
2
16
-1
-8
-11
-22
6
-8
-9
0
0
0
0
0
0
0
0
-2
-3
4
0
9
37
3
82
-17
0
0
0
0
0
0
0
0
-1
-3
-4
24
31
5
20
8
8
-4
0
0
0
0
0
0
0
-29
0
0
7
0
-54
-75
1
2
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-8
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-14
0
1
0
-8
45
0
0
0
0
0
0
0
0
0
14
0
0
0
0
37
-11
62
17
-14
-7
0
0
0
0
0
0
0
0
5
3
17
47
69
-89
-40
40
0
0
0
0
0
0
0
0
0
0
10
-1
22
5
26
1
7
0
0
0
0
0
0
0
0
0
0
0
-9
18
0
9
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
0
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
36
24
13
0
3
2
0
0
0
0
0
0
0
3
0
6
4
39
50
16
-6
6
-3
0
0
0
0
0
0
0
1
1
33
11
-13
-50
75
14
2
0
-1
0
0
0
0
0
0
0
-4
8
8
96
-30
-25
6
-5
0
0
0
0
0
0
0
0
-3
0
0
2
-6
56
16
15
-2
0
0
0
0
0
0
0
0
0
0
2
6
20
-23
-21
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-10
14
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
19
16
0
2
4
0
17
0
0
0
0
0
0
0
-9
4
5
79
-59
-87
71
98
-3
2
3
0
0
0
0
0
0
-5
94
0
33
-3
-48
-52
42
12
8
0
0
0
0
0
0
0
-7
22
5
1
-17
11
9
29
-27
5
-1
0
0
0
0
0
0
8
0
-3
0
24
-31
-18
2
102
31
0
0
0
0
0
0
0
0
1
1
-5
13
52
-10
-37
32
-1
0
0
0
0
0
0
0
7
0
5
0
14
15
-8
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-5
84
-14
0
-17
0
-14
0
0
0
0
0
0
0
3
58
-3
57
-43
-20
27
-1
98
-87
0
0
0
0
0
0
0
14
-11
-13
8
5
15
38
88
14
2
5
0
0
0
0
0
0
0
-3
11
-3
34
57
115
10
47
51
0
0
0
0
0
0
0
0
8
15
0
86
59
7
-32
78
27
-3
0
0
0
0
0
0
0
4
9
10
0
142
-7
-12
-52
2
0
0
0
0
0
0
0
0
0
0
-13
-22
-1
-2
-21
53
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-53
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
28
-50
-10
-74
17
0
0
3
4
0
0
0
0
0
0
-49
49
35
67
-81
70
-3
15
-12
12
-2
-4
0
0
0
0
0
23
10
18
-42
20
29
65
52
4
5
-1
0
0
0
0
0
0
-48
-5
12
-37
-16
46
-61
-81
-36
21
-2
0
0
0
0
0
0
2
14
-2
-34
23
-31
96
-8
-13
0
-4
0
0
0
0
0
0
0
19
5
-1
39
77
-17
-45
17
-2
-1
0
0
0
0
0
0
0
0
0
-6
0
7
-13
8
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
48
13
-5
34
-29
14
0
0
23
0
0
0
0
0
0
0
61
19
1
21
-14
-8
45
-58
-1
14
0
0
0
0
0
0
0
-11
10
0
-22
-48
12
32
-4
-14
9
0
0
0
0
0
0
0
12
-18
-29
39
33
-98
13
-65
0
0
1
0
0
0
0
0
0
12
-4
8
38
33
-78
-17
12
-19
0
0
0
0
0
0
0
0
68
0
-15
5
-16
0
13
29
16
0
0
0
0
0
0
0
0
0
0
0
-31
46
-17
-15
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
17
13
-9
0
17
0
-1
0
0
0
0
0
0
0
-8
16
-7
37
50
-71
-32
-15
1
0
0
0
0
0
0
0
0
18
8
-3
6
-8
-41
12
-19
0
0
0
0
0
0
0
0
0
25
-2
9
8
-36
-16
44
-1
6
0
0
0
0
0
0
0
0
0
0
0
34
1
5
-19
-12
5
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-3
13
-24
5
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-9
-5
41
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-8
0
10
0
0
0
0
0
0
0
0
0
3
1
0
0
3
22
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
18
-8
-50
21
-8
-28
0
0
0
0
0
0
0
0
0
7
1
-2
-46
-60
18
5
59
-20
0
0
0
0
0
0
0
0
-18
0
0
-3
37
2
-1
-34
-5
0
0
0
0
0
0
0
0
-5
-9
0
-14
4
-26
72
-4
-3
0
0
0
0
0
0
0
0
-5
0
0
6
1
-4
-6
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-25
-29
-9
4
-18
-67
0
-18
0
0
0
0
0
0
0
20
3
8
-38
2
62
6
29
46
-25
0
0
0
0
0
0
0
1
-13
13
37
40
44
23
88
30
-42
0
0
0
0
0
0
0
7
-2
-1
1
0
25
-19
57
-47
5
0
0
0
0
0
0
0
0
71
0
0
-6
76
16
74
-12
15
0
0
0
0
0
0
0
0
17
0
8
2
16
71
29
26
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
32
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
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
-8
0
9
0
8
-12
0
-27
-2
0
0
0
0
0
0
-1
-7
-10
-2
-37
53
61
36
1
46
2
0
0
0
0
0
0
0
8
0
-24
13
78
52
-89
13
34
-1
0
0
0
0
0
0
0
-31
-6
30
-56
59
22
55
49
7
-1
0
0
0
0
0
0
0
-18
-2
10
47
-10
11
-5
10
27
3
0
0
0
0
0
0
0
-2
0
0
0
5
39
101
-9
29
0
0
0
0
0
0
0
0
0
0
0
-2
-2
31
8
52
-23
0
0
0
0
0
0
0
0
1
-2
0
0
0
24
5
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
-10
28
-48
-32
-32
0
24
-7
0
0
0
0
0
0
-30
2
2
-9
81
6
129
48
-59
23
-12
-3
0
0
0
0
0
-1
3
6
-30
-9
57
-12
26
-2
3
-1
0
0
0
0
0
0
0
0
0
9
-51
93
48
-60
-3
-1
0
0
0
0
0
0
0
0
3
1
3
-12
-4
10
-4
33
-7
7
0
0
0
0
0
0
0
0
0
-3
-1
-47
-17
16
5
2
22
0
0
0
0
0
0
0
0
0
0
-1
-3
9
-1
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
4
27
-25
1
-34
-40
0
19
1
5
0
0
0
0
0
12
-14
-3
60
38
53
-56
8
-32
-10
5
0
0
0
0
0
0
14
16
-5
-44
11
35
7
28
-64
-29
0
0
0
0
0
0
0
-1
-4
10
45
-34
45
13
57
31
-4
0
0
0
0
0
0
0
0
-10
-5
-30
-73
18
34
-20
-52
-5
2
5
0
0
0
0
0
0
0
0
22
6
79
-13
11
58
-5
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-136
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-8
30
-41
33
19
51
24
0
7
0
1
0
0
0
0
0
34
50
-20
43
20
-18
1
-55
22
-26
-14
0
0
0
0
0
0
65
-49
-10
45
-6
54
-24
26
-14
-46
-1
0
0
0
0
0
0
51
-50
-1
-52
-36
-13
49
80
59
-4
0
0
0
0
0
0
0
0
54
11
-47
16
45
114
71
65
-6
1
0
0
0
0
0
0
0
-2
1
31
-16
-11
15
14
-10
-16
0
0
0
0
0
0
0
0
-4
0
0
-31
5
2
-12
-6
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
28
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
42
-29
-8
69
-20
75
-40
-40
0
-23
-3
-3
0
0
0
0
0
-1
1
31
22
81
20
-18
45
-11
1
-3
0
0
0
0
0
0
41
-8
-7
63
-20
32
61
0
12
-44
0
0
0
0
0
0
0
-16
-42
-28
40
-9
-57
-35
15
75
-38
0
0
0
0
0
0
0
-19
18
53
4
-60
-52
25
65
23
9
-8
0
0
0
0
0
0
2
-7
3
15
6
132
22
24
-34
-49
0
0
0
0
0
0
0
0
-1
-1
6
4
13
24
-29
33
-6
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
-47
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-50
37
52
75
46
-41
71
0
18
1
-2
0
0
0
0
0
-30
76
21
52
101
26
82
43
3
11
-2
0
0
0
0
0
0
-26
67
0
73
-16
-1
67
17
-94
55
1
0
0
0
0
0
0
9
41
76
-66
10
60
-30
-72
45
-17
-24
0
0
0
0
0
0
58
3
-2
19
53
28
-21
11
18
-3
-7
0
0
0
0
0
0
-3
-1
-5
89
34
-7
65
-41
56
40
-12
0
0
0
0
0
0
-13
-7
0
4
-107
3
31
-2
-24
7
0
0
0
0
0
0
0
0
0
0
1
0
9
-6
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-19
24
7
16
-11
64
57
-38
0
-17
2
-5
0
0
0
0
0
109
16
9
-11
-56
31
-25
1
-55
-87
-3
0
0
0
0
0
0
21
28
-44
-44
10
-39
1
-50
2
16
18
0
0
0
0
0
0
6
-14
-55
74
58
28
63
95
26
-23
8
0
0
0
0
0
0
0
-24
94
-5
-55
13
36
-18
77
11
-1
0
0
0
0
0
0
21
-9
41
-21
2
-47
-123
51
-38
-30
1
0
0
0
0
0
0
-35
2
5
14
3
8
-54
-18
-47
29
0
0
0
0
0
0
0
0
-12
-17
0
-1
21
-29
94
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-4
90
-71
-19
24
0
96
3
0
0
0
0
0
0
0
40
-6
-4
46
45
-12
6
13
-2
105
2
0
0
0
0
0
0
5
9
-66
-8
21
-20
-6
-30
55
-13
0
0
0
0
0
0
0
10
-23
-24
-44
-56
-39
-18
87
42
11
0
0
0
0
0
0
0
59
-40
8
-18
69
97
-10
-2
-45
18
0
0
0
0
0
0
0
20
12
-42
3
30
49
10
-40
-4
23
0
0
0
0
0
0
0
27
57
-27
-102
0
22
-6
17
28
0
0
0
0
0
0
0
0
0
0
-14
0
-33
-9
55
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
9
-3
22
5
-46
0
-12
-3
-1
0
0
0
0
0
0
0
-5
27
13
25
-57
8
46
16
41
1
0
0
0
0
0
0
0
-13
-5
23
8
73
34
-33
-27
5
5
0
0
0
0
0
0
0
41
14
-6
89
51
6
18
61
19
0
0
0
0
0
0
0
0
5
5
3
-13
14
51
12
97
14
0
0
0
0
0
0
0
0
-4
3
-32
-17
-2
29
4
56
-14
-8
0
0
0
0
0
0
0
0
2
2
0
-23
3
-4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
-1
0
-5
-1
0
0
0
0
0
0
0
0
0
-6
5
-1
-15
0
-3
-55
-46
0
0
0
0
0
0
0
0
0
2
-3
-3
-3
7
20
16
-3
9
0
0
0
0
0
0
0
0
-10
-1
0
-6
0
3
14
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
38
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
20
0
-19
0
0
0
0
0
0
0
0
0
1
7
-4
42
-8
-17
-30
24
11
0
0
0
0
0
0
0
0
4
1
-3
53
-5
-5
20
-1
-5
0
0
0
0
0
0
0
0
0
4
2
-18
-23
-15
-18
10
3
0
0
0
0
0
0
0
0
0
5
0
-5
15
16
-16
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
5
60
-20
-122
-27
0
7
0
0
0
0
0
0
0
43
57
0
11
62
-32
93
130
31
-59
0
0
0
0
0
0
0
10
-8
-2
-21
-13
-30
50
4
80
41
0
0
0
0
0
0
0
-1
7
7
-22
-43
42
-64
33
-69
49
0
0
0
0
0
0
0
0
-24
17
0
-1
83
20
20
-5
2
0
0
0
0
0
0
0
0
-17
0
-3
-1
-73
-15
4
16
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
30
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
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
-4
4
-4
-72
-29
0
12
12
0
0
0
0
0
0
0
-2
-1
68
-31
-19
41
-6
26
-47
3
0
0
0
0
0
0
-7
-7
-3
21
-21
56
3
-74
2
47
-7
0
0
0
0
0
0
0
2
-1
-4
-5
56
-46
12
-8
15
0
0
0
0
0
0
0
0
-25
27
-2
7
-20
32
-11
55
5
0
0
0
0
0
0
0
0
0
6
2
9
25
-13
15
-13
19
1
0
0
0
0
0
0
0
0
0
0
0
0
12
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
34
-16
-35
-53
0
-25
-1
0
0
0
0
0
0
-2
1
20
-17
-14
62
0
10
-34
-12
50
7
0
0
0
0
0
0
0
-2
-3
20
-53
8
-52
-45
1
6
5
0
0
0
0
0
-3
1
-2
-31
24
72
-5
-11
-4
-5
0
0
0
0
0
0
0
0
0
-14
8
30
-18
-14
-10
38
0
-9
0
0
0
0
0
0
0
-4
-17
0
-5
-3
9
-3
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
93
-6
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
9
-7
1
3
68
97
-97
-62
0
-51
0
0
0
0
0
0
0
-19
42
-8
13
39
-53
-32
-15
71
23
2
0
0
0
0
0
0
-1
-27
8
57
-14
-11
10
82
53
3
-1
0
0
0
0
0
0
9
35
-1
1
-51
53
-46
41
29
40
2
0
0
0
0
0
0
1
5
9
-16
-10
42
1
-20
90
0
3
-1
0
0
0
0
0
-2
-5
-1
13
18
83
63
-21
20
19
0
0
0
0
0
0
0
-2
-1
-8
0
-1
0
76
21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-30
12
5
-24
46
44
-24
0
-34
0
0
0
0
0
0
0
108
30
23
36
21
2
25
61
58
20
7
0
0
0
0
0
0
19
70
17
20
46
71
-2
6
7
-44
-1
0
0
0
0
0
0
-17
-28
-35
-31
29
51
12
23
121
19
0
0
0
0
0
0
0
-3
-25
-12
21
29
24
-15
-23
-17
-7
0
0
0
0
0
0
0
-25
23
-8
2
-31
13
-47
46
-15
30
0
0
0
0
0
0
0
4
3
5
0
-33
-24
-35
-1
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-9
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-12
-44
-10
87
28
-13
-47
18
0
-77
-1
0
0
0
0
0
0
49
-48
-15
20
12
-31
42
27
-4
46
6
0
0
0
0
0
0
-4
65
45
-43
93
32
90
-15
54
35
0
0
0
0
0
0
0
-18
-73
-2
-30
54
36
13
-10
-21
52
0
0
0
0
0
0
0
-10
9
-29
17
-15
9
62
33
67
-28
0
0
0
0
0
0
0
-1
-57
-17
79
15
-29
34
39
-18
25
0
0
0
0
0
0
0
1
0
41
4
9
-2
37
37
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-56
3
32
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
23
-18
74
24
102
12
-4
42
0
0
-7
-9
0
0
0
0
0
55
61
47
46
35
-3
61
20
0
-19
13
0
0
0
0
0
0
10
58
-10
-66
4
54
31
21
1
-28
23
0
0
0
0
0
0
-5
-26
13
47
3
1
48
22
43
1
2
0
0
0
0
0
0
-30
-62
49
69
-5
-75
8
32
-23
-20
-21
0
0
0
0
0
0
-22
38
114
5
-13
-63
-65
49
-26
124
1
0
0
0
0
0
0
14
18
0
-7
9
15
15
35
63
-2
0
0
0
0
0
0
0
0
1
0
-26
6
71
35
141
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
16
20
-2
-27
56
-15
-32
48
0
-60
5
0
0
0
0
0
0
37
-55
2
-44
-58
8
25
7
60
-12
96
0
0
0
0
0
0
-81
75
10
3
45
9
7
-42
-81
-31
-2
4
0
0
0
0
0
74
-64
65
29
-28
-12
38
-48
5
-76
-1
0
0
0
0
0
0
1
1
76
-23
60
66
44
8
-98
13
1
0
0
0
0
0
0
1
21
-45
98
78
56
-29
-24
-11
17
0
0
0
0
0
0
0
-1
7
22
3
35
42
17
3
-4
52
0
0
0
0
0
0
0
0
7
0
5
-1
-91
-42
-4
-62
33
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
147
-74
-22
-4
23
35
-96
0
-37
82
16
0
0
0
0
0
0
33
9
15
-27
-20
-87
-47
-39
-17
-47
-1
0
0
0
0
0
0
27
-26
-52
-29
-14
8
44
-26
-23
8
0
0
0
0
0
0
0
53
40
31
36
-15
25
35
-29
89
18
0
0
0
0
0
0
0
-49
76
-72
9
13
-6
4
-28
32
58
-1
0
0
0
0
0
0
27
46
-23
22
11
94
1
26
-14
74
0
0
0
0
0
0
0
16
0
3
-40
77
19
15
20
69
0
0
0
0
0
0
0
0
0
-5
-1
0
-28
-35
-52
20
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
-10
10
-24
-24
0
1
-8
0
0
0
0
0
0
0
0
-34
-52
85
-54
-65
-49
38
-29
-9
5
0
0
0
0
0
0
0
-5
-1
-6
17
47
26
14
-27
2
-2
0
0
0
0
0
0
0
0
8
-20
-3
-14
9
-11
69
-38
0
0
0
0
0
0
0
0
5
18
-5
23
-2
-17
17
25
-3
2
0
0
0
0
0
0
0
-1
-9
4
16
-1
6
75
40
-5
-1
0
0
0
0
0
0
0
0
0
0
2
12
-9
17
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
1
1
0
0
0
0
0
0
0
0
-3
0
-1
13
-7
3
4
-25
13
0
0
0
0
0
0
0
0
4
0
-7
14
18
-32
-15
-5
0
0
0
0
0
0
0
0
0
-10
-1
0
-1
0
-13
4
9
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
13
18
3
0
0
0
0
0
0
0
0
0
-33
0
0
-2
-5
-3
-42
-37
5
0
0
0
0
0
0
0
0
20
5
0
10
-8
52
-34
34
9
0
0
0
0
0
0
0
0
0
7
0
-28
10
43
-7
-7
-16
0
0
0
0
0
0
0
0
-5
0
0
0
41
8
0
5
0
0
0
0
0
0
0
0
0
0
0
6
55
-2
-15
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
1
4
106
-47
0
-23
0
0
0
0
0
0
0
0
9
0
8
56
-42
51
65
-17
-2
0
0
0
0
0
0
0
8
-42
65
25
-5
32
27
-42
-31
-46
0
0
0
0
0
0
0
0
0
38
6
-46
41
-31
-20
-71
-24
0
0
0
0
0
0
0
0
-22
31
-1
-32
96
14
86
152
29
0
0
0
0
0
0
0
0
7
0
-2
-10
-14
19
-113
-10
-13
0
0
0
0
0
0
0
0
4
1
2
56
-1
-45
14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-8
-1
-46
8
0
-68
-6
0
0
0
0
0
0
0
12
6
0
-45
5
69
-7
-7
44
20
0
0
0
0
0
0
0
17
0
0
-3
26
-13
129
-40
41
1
0
0
0
0
0
0
0
0
-1
8
-17
31
27
8
2
-16
-2
0
0
0
0
0
0
0
0
-3
-25
21
-18
-6
-22
-22
-5
-2
0
0
0
0
0
0
0
-1
-15
0
8
-3
3
12
-18
42
0
0
0
0
0
0
0
0
0
0
0
-4
0
-31
-1
10
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
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
-4
0
-10
-86
-41
-79
0
3
5
0
0
0
0
0
0
0
1
1
-30
-1
24
-37
-49
75
10
-2
1
0
0
0
0
0
0
0
-2
-4
87
-44
20
-4
47
-19
-33
0
0
0
0
0
0
2
8
-10
3
97
-32
-13
-55
-10
-2
-1
0
0
0
0
0
0
5
-3
0
1
-33
-2
24
-55
-7
0
0
0
0
0
0
0
0
0
0
-2
2
-6
84
-3
82
-5
7
0
0
0
0
0
0
0
0
-3
-1
6
-1
-4
-1
0
15
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
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
0
0
-18
48
-16
-140
4
0
7
0
0
0
0
0
0
0
68
-18
56
-66
18
-36
26
-11
32
47
0
0
0
0
0
0
0
10
-4
3
78
-88
-141
-29
-43
30
-28
6
0
0
0
0
0
0
-4
7
2
24
5
21
19
13
2
-26
0
0
0
0
0
0
0
0
-16
-1
13
16
9
67
-28
76
0
0
0
0
0
0
0
0
3
1
59
26
27
7
31
23
-1
-1
0
0
0
0
0
0
0
-7
0
0
0
-16
0
3
3
-30
0
0
0
0
0
0
0
0
0
-2
0
-8
0
31
8
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-7
0
0
0
0
0
0
0
0
0
4
48
-27
4
72
22
70
53
0
-15
0
0
0
0
0
0
0
-96
-7
-84
34
31
34
-18
35
42
-45
-3
0
0
0
0
0
0
-3
-14
90
-3
-15
53
-36
-7
29
30
0
2
0
0
0
0
0
44
7
35
13
-10
-24
0
34
25
-27
-2
0
0
0
0
0
0
-7
-34
43
0
-53
-3
4
19
-35
10
0
0
0
0
0
0
0
5
-17
-15
30
2
-29
-48
13
47
-18
8
0
0
0
0
0
0
-5
-9
-5
-3
2
-42
74
26
110
-5
5
0
0
0
0
0
0
0
0
0
0
2
17
57
14
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
7
-9
63
22
18
-6
-1
27
0
17
-2
2
0
0
0
0
0
-1
23
-69
25
26
-66
79
101
61
-27
5
0
0
0
0
0
0
-1
-23
21
-15
-3
-58
-9
4
24
42
3
0
0
0
0
0
0
-7
-30
-66
-82
-9
10
1
105
-18
22
1
0
0
0
0
0
0
62
-73
66
-37
-2
11
-47
8
-44
69
-9
0
0
0
0
0
0
25
13
56
96
9
-60
-13
102
25
6
2
0
0
0
0
0
0
9
3
-25
-13
24
88
97
-1
45
-1
0
0
0
0
0
0
0
0
1
1
-7
2
-22
-49
5
27
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
55
103
-26
97
102
94
-56
24
0
129
1
-1
0
0
0
0
0
-2
-40
78
-96
18
-25
-18
69
-15
-37
46
0
0
0
0
0
0
79
-10
-51
82
-13
-4
44
-43
48
9
-5
0
0
0
0
0
0
64
19
79
2
20
65
72
29
-56
-28
7
0
0
0
0
0
0
-3
-10
-100
72
83
43
53
-16
136
74
3
0
0
0
0
0
0
8
6
27
76
-56
28
93
27
87
-1
-3
-2
0
0
0
0
0
61
6
23
64
-34
49
33
76
118
16
4
0
0
0
0
0
0
0
5
1
6
-5
38
75
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
4
0
0
0
0
0
0
0
0
5
-53
11
24
22
59
3
-43
0
-46
1
0
0
0
0
0
0
78
1
55
90
-63
20
47
12
42
77
-20
3
0
0
0
0
0
-56
22
0
-20
31
27
4
-44
16
9
-20
0
0
0
0
0
0
-15
-1
-53
0
49
40
-98
-39
-27
12
2
0
0
0
0
0
0
-33
-15
13
16
38
38
40
10
-16
-18
1
1
0
0
0
0
0
24
-6
-19
-52
24
35
7
-2
58
-86
-3
0
0
0
0
0
0
-16
-3
-27
-30
-37
18
20
31
-21
56
0
0
0
0
0
0
0
0
-9
5
-8
-3
-17
-36
-10
-33
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-20
2
2
0
0
0
0
0
0
0
0
0
-5
-36
-7
-80
-2
-18
36
0
8
-3
0
0
0
0
0
0
0
-73
-14
5
34
12
15
-31
10
10
-10
0
0
0
0
0
0
0
19
77
41
-23
-40
39
34
53
16
64
0
0
0
0
0
0
0
85
15
38
84
59
-19
90
-43
-4
40
0
0
0
0
0
0
0
-23
5
-28
89
-4
-37
29
-11
-30
-8
0
0
0
0
0
0
0
108
-22
4
-1
76
14
37
13
-27
8
0
0
0
0
0
0
0
-1
19
3
18
-74
58
121
53
6
0
0
0
0
0
0
0
0
0
2
1
15
35
21
-15
10
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
33
5
-1
-31
45
47
0
38
1
-6
0
0
0
0
0
0
0
-5
17
1
-22
38
-1
34
-14
13
6
0
0
0
0
0
0
0
-10
7
-3
0
17
35
-6
11
-14
-1
0
0
0
0
0
0
0
4
8
20
-14
81
-3
89
-19
40
0
0
0
0
0
0
0
0
30
0
-1
23
7
-34
-17
3
0
0
0
0
0
0
0
0
0
0
0
1
5
-6
49
32
30
-15
4
0
0
0
0
0
0
0
0
0
0
-1
0
17
-28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-7
0
5
0
-18
0
0
0
0
0
0
0
0
-3
0
-2
3
0
3
15
-5
2
0
0
0
0
0
0
0
0
6
4
0
0
-1
-3
1
23
0
0
0
0
0
0
0
0
0
1
0
0
-3
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-22
5
-13
0
0
0
0
0
0
0
0
0
0
3
4
0
-5
-6
66
60
-5
0
0
0
0
0
0
0
0
-8
0
0
-11
8
-49
22
26
3
0
0
0
0
0
0
0
0
-5
0
0
32
47
40
10
9
2
0
0
0
0
0
0
0
0
0
0
0
-9
17
18
4
3
9
0
0
0
0
0
0
0
0
4
0
5
9
-5
101
31
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
-20
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-2
23
59
-93
-44
0
6
0
0
0
0
0
0
0
0
-22
-1
-13
66
-75
-43
51
17
30
0
0
0
0
0
0
0
0
-41
0
41
34
-3
38
67
26
-22
0
0
0
0
0
0
0
0
19
-16
44
59
63
-23
0
2
-55
0
0
0
0
0
0
0
12
0
7
46
-18
106
19
97
12
-12
0
0
0
0
0
0
0
0
-8
7
43
-7
3
80
30
-51
5
0
0
0
0
0
0
0
0
-1
0
1
-70
-12
98
-7
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
-16
72
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
20
26
0
22
10
0
0
0
0
0
0
0
10
10
4
6
19
-3
32
20
-8
119
0
0
0
0
0
0
0
18
14
0
9
-3
-25
20
-44
53
7
0
0
0
0
0
0
0
-6
2
-4
-38
62
17
-35
17
-40
24
0
0
0
0
0
0
0
4
0
12
36
-47
98
-30
-15
2
0
0
0
0
0
0
0
0
0
-2
41
12
39
-22
58
24
24
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
52
-3
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
10
-5
33
85
-51
-10
0
45
-8
0
0
0
0
0
0
-5
1
15
60
-17
-87
-64
-18
-62
-22
-13
0
0
0
0
0
0
3
12
40
-9
-74
19
12
19
-28
-13
-6
-2
0
0
0
0
0
1
0
-1
10
20
-48
-89
-60
78
7
0
0
0
0
0
0
0
27
-3
8
0
2
21
-66
-1
-24
4
0
0
0
0
0
0
0
-1
2
0
-9
45
-56
15
-24
3
-7
0
0
0
0
0
0
0
-2
0
0
4
-1
3
87
6
8
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
-1
-2
-9
-43
-63
-33
0
10
0
0
0
0
0
0
0
21
26
40
44
-20
53
-19
23
40
-37
0
0
0
0
0
0
0
7
-3
4
-42
55
-35
104
35
-23
-53
0
0
0
0
0
0
0
0
-5
0
0
16
-27
66
46
-3
-15
4
0
0
0
0
0
0
-2
128
16
53
0
-30
-31
-82
-14
27
-5
0
0
0
0
0
0
0
-6
-33
0
-12
-48
101
40
-46
42
0
0
0
0
0
0
0
4
2
-1
0
18
28
-48
51
-23
0
0
0
0
0
0
0
0
0
-2
0
-4
0
13
-3
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
3
0
0
0
0
0
0
0
0
-6
-2
-25
11
-14
56
45
-70
0
32
2
0
0
0
0
0
0
-28
-44
-70
67
-44
-83
-19
49
89
13
1
0
0
0
0
0
0
-56
0
-1
-22
75
91
20
35
-24
62
1
0
0
0
0
0
0
6
-1
26
30
-17
11
-1
48
-104
-27
0
0
0
0
0
0
0
36
0
-13
40
0
0
-3
-63
14
-13
-4
0
0
0
0
0
0
16
29
66
74
-9
64
-48
-36
96
68
0
0
0
0
0
0
0
1
2
-6
24
71
63
0
9
115
-1
8
0
0
0
0
0
0
0
0
-1
5
0
10
41
-12
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
0
0
0
0
0
0
0
0
0
-7
13
-61
-53
-29
-13
-8
80
0
84
-3
0
0
0
0
0
0
-48
-27
59
45
79
49
70
-16
34
-34
-5
0
0
0
0
0
0
20
60
-16
-42
-100
74
142
37
49
-120
-4
0
0
0
0
0
0
-34
25
57
-26
28
-52
42
30
22
-5
10
0
0
0
0
0
0
-22
-9
33
81
99
-24
0
-29
34
-38
0
0
0
0
0
0
0
0
-22
95
-1
114
61
9
49
-5
33
0
0
0
0
0
0
0
-2
28
-4
91
1
25
69
-19
75
17
-2
0
0
0
0
0
0
0
0
-2
2
0
70
-15
57
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
65
0
9
0
0
0
0
0
0
0
27
-1
11
115
8
-59
-32
12
0
-10
-10
0
0
0
0
0
0
16
-17
-5
-46
101
36
17
-21
45
-10
65
0
0
0
0
0
0
31
-9
-73
-15
20
20
71
17
18
-13
1
0
0
0
0
0
0
-96
-46
-25
32
-62
70
7
-65
-8
88
-3
4
0
0
0
0
0
-22
32
44
-7
28
56
-16
0
7
-25
31
0
0
0
0
0
0
-13
-48
-38
-8
52
6
0
-55
-19
32
-2
0
0
0
0
0
0
-8
39
-9
-37
45
-2
-27
34
47
6
1
0
0
0
0
0
0
0
0
30
-12
0
-72
-25
-9
71
26
0
0
0
0
0
0
0
0
0
0
0
11
0
16
-2
-12
0
0
0
0
0
0
0
0
-28
-30
-14
-133
101
6
2
-12
0
-12
1
0
0
0
0
0
0
16
97
49
-102
19
41
-13
-106
-50
-10
40
-5
0
0
0
0
0
51
4
-89
28
62
5
-2
-9
-19
76
0
-6
0
0
0
0
0
73
-2
-17
44
67
115
10
3
-71
91
40
0
0
0
0
0
0
-4
-47
-32
39
49
-48
95
-27
0
41
0
0
0
0
0
0
0
1
-72
49
-16
55
5
-3
82
-22
15
-8
0
0
0
0
0
0
62
-6
16
40
70
-12
-19
-12
-27
-3
3
0
0
0
0
0
0
0
-2
41
-5
9
-21
54
6
-46
80
0
0
0
0
0
0
0
0
0
0
0
-5
3
8
14
4
0
0
0
0
0
0
0
0
0
50
-56
-45
33
49
-33
22
0
38
-3
0
0
0
0
0
0
0
-15
-16
10
12
-18
-36
-47
7
-32
11
1
0
0
0
0
0
0
8
0
68
71
-2
-48
-4
-48
38
12
0
0
0
0
0
0
0
-25
11
-23
17
6
-43
-20
27
-112
9
1
0
0
0
0
0
0
114
12
94
23
73
2
65
-16
0
11
0
0
0
0
0
0
0
-2
27
10
31
22
97
129
76
53
2
0
0
0
0
0
0
0
27
-14
3
-12
-22
50
58
24
0
-3
0
0
0
0
0
0
0
-2
1
0
0
40
-59
6
16
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
0
0
0
0
0
0
0
0
0
24
-4
0
24
-27
-9
0
3
20
0
0
0
0
0
0
0
0
-1
-13
-8
111
8
41
-57
-54
-17
-14
0
0
0
0
0
0
0
35
0
43
15
53
-11
-21
28
-45
-1
0
0
0
0
0
0
0
-20
3
0
24
-23
-74
14
21
-26
2
0
0
0
0
0
0
0
0
23
0
18
46
81
-8
-30
0
-7
0
0
0
0
0
0
0
-1
-4
2
0
-13
63
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-18
7
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
-1
-13
-6
0
0
0
0
0
0
0
0
3
5
0
-13
-7
9
1
5
-4
0
0
0
0
0
0
0
0
2
0
6
-1
-6
7
31
14
18
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
0
24
4
0
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
-3
11
-1
0
0
0
0
0
0
0
0
0
-3
0
0
10
1
24
0
43
-13
0
0
0
0
0
0
0
0
-5
0
-1
1
-4
-3
12
13
-2
0
0
0
0
0
0
0
0
8
-8
6
-24
-3
93
3
46
-1
0
0
0
0
0
0
0
0
7
0
-2
9
9
0
79
2
-18
0
0
0
0
0
0
0
0
0
0
54
38
17
-39
0
-6
18
0
0
0
0
0
0
0
0
0
6
0
3
139
9
5
9
1
0
0
0
0
0
0
0
0
0
0
0
109
0
23
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
1
-1
-4
4
-6
0
-1
0
0
0
0
0
0
0
0
27
0
1
-28
-6
-15
-7
-65
-29
0
0
0
0
0
0
0
0
0
6
12
-1
-24
63
24
-98
47
0
0
0
0
0
0
0
3
-5
0
51
29
47
21
-15
16
-82
0
0
0
0
0
0
0
1
69
5
-26
130
27
113
42
71
7
0
0
0
0
0
0
0
-2
0
-6
-18
-26
-30
-141
-18
-2
8
0
0
0
0
0
0
0
0
-8
0
-16
143
-13
-56
-42
-29
0
0
0
0
0
0
0
0
0
-3
0
3
0
-28
-14
-4
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-3
144
3
18
0
45
1
0
0
0
0
0
0
0
-2
-1
1
-74
2
75
48
-21
-17
-24
0
0
0
0
0
0
0
5
-2
3
29
-40
8
88
23
-30
-8
0
0
0
0
0
0
0
23
-1
17
-24
-59
-50
-56
30
-54
-6
0
0
0
0
0
0
0
5
6
0
-1
-61
-10
9
12
-2
0
0
0
0
0
0
0
0
-3
0
0
-23
91
-2
-5
-58
8
0
0
0
0
0
0
0
0
-6
0
0
-30
8
39
-8
76
3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-2
0
4
11
-9
14
82
0
8
0
0
0
0
0
0
0
28
-2
-2
-42
18
-12
-29
-46
50
9
23
0
0
0
0
0
0
0
0
0
8
-44
-12
-35
-55
21
17
8
0
0
0
0
0
0
3
0
-2
10
48
70
-77
-41
14
-3
0
0
0
0
0
0
0
-1
0
7
-52
76
50
-10
1
-8
0
0
0
0
0
0
0
0
2
0
1
0
7
122
18
-9
2
2
0
0
0
0
0
0
0
-2
-2
0
4
1
8
-11
19
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
31
-6
47
1
29
93
9
-20
0
-41
0
0
0
0
0
0
0
-7
-17
-8
16
-83
13
-8
-7
-23
-24
1
0
0
0
0
0
0
0
-43
-2
-17
-151
-40
-16
27
89
-14
0
0
0
0
0
0
0
-1
9
-12
-42
-96
8
22
39
6
-74
0
0
0
0
0
0
0
6
8
-65
-6
1
9
71
-32
-16
39
0
0
0
0
0
0
0
8
27
7
-33
0
-62
53
31
-72
-14
2
0
0
0
0
0
0
3
13
2
0
-48
30
-12
41
41
0
0
0
0
0
0
0
0
0
0
0
-5
0
-28
2
42
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
0
0
0
0
0
0
0
0
0
7
-10
-38
-43
0
6
6
49
0
52
0
0
0
0
0
0
0
43
-18
19
39
25
71
2
15
54
-44
23
0
0
0
0
0
0
20
-12
14
-29
24
12
51
33
23
-52
0
0
0
0
0
0
0
0
-3
0
7
-30
46
-3
50
-20
36
0
0
0
0
0
0
0
10
-55
9
1
-3
39
71
43
41
31
0
0
0
0
0
0
0
-3
40
3
-15
20
0
-14
2
59
76
-5
0
0
0
0
0
0
9
30
-4
-15
-30
-46
-10
-13
103
0
0
0
0
0
0
0
0
0
0
0
-6
0
-61
-17
-28
19
-5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-65
0
-13
-64
46
-67
-7
0
-42
8
0
0
0
0
0
0
-23
-44
-10
22
-79
-1
-57
29
36
-9
17
-1
0
0
0
0
0
15
-7
39
-55
-18
136
63
45
23
-40
0
0
0
0
0
0
0
-32
20
10
-1
-25
-1
99
31
-20
-43
0
0
0
0
0
0
0
15
-70
-22
31
71
-76
83
94
9
65
-3
0
0
0
0
0
0
32
45
11
37
111
100
0
79
41
74
0
0
0
0
0
0
0
-2
6
83
-37
8
-33
-50
22
-11
-10
0
0
0
0
0
0
0
0
-1
7
1
-8
-25
-7
41
53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-13
15
44
-94
39
5
8
49
0
9
19
0
0
0
0
0
0
5
23
57
87
-3
55
-19
4
6
10
-11
0
0
0
0
0
0
93
37
15
96
42
13
43
35
46
7
-8
0
0
0
0
0
0
29
-90
20
18
22
35
53
31
77
-51
18
0
0
0
0
0
0
35
-4
32
-1
33
84
70
-44
24
-42
0
0
0
0
0
0
0
-61
-4
98
-39
-9
24
40
0
9
76
-6
0
0
0
0
0
0
14
-21
56
-18
44
-5
43
-7
3
-14
-1
0
0
0
0
0
0
0
-3
-2
10
25
-1
-33
21
-45
0
0
0
0
0
0
0
0
0
0
0
3
17
0
-24
0
6
0
0
0
0
0
0
0
0
33
105
-3
19
48
53
30
-47
0
-47
-41
0
0
0
0
0
0
-14
14
48
-69
-62
6
3
-3
5
-4
-42
0
0
0
0
0
0
-16
21
112
28
2
42
14
10
-16
-23
36
0
0
0
0
0
0
-15
19
2
60
48
13
34
-25
-39
30
3
2
0
0
0
0
0
21
22
12
48
-23
-15
18
-4
39
12
-4
1
0
0
0
0
0
24
-59
23
-67
81
10
54
15
0
28
3
0
0
0
0
0
0
93
48
37
127
45
-13
-22
-31
-5
1
4
0
0
0
0
0
0
0
-7
14
22
-5
9
1
106
-5
24
0
0
0
0
0
0
0
0
0
0
0
3
-1
-9
-3
3
1
0
0
0
0
0
0
0
0
-41
-20
-35
-31
-38
-52
2
0
-10
-55
-2
0
0
0
0
0
0
-29
48
-11
42
-38
-13
-7
3
40
1
0
0
0
0
0
0
0
35
11
1
22
75
35
22
-50
-36
-4
0
0
0
0
0
0
0
-7
10
80
-2
33
62
-25
10
-30
-61
0
0
0
0
0
0
0
3
70
-8
56
0
100
73
-19
-22
9
0
0
0
0
0
0
0
-10
-29
-47
-7
77
27
77
-19
0
3
0
0
0
0
0
0
0
-14
-15
-95
-34
20
4
41
18
-48
0
0
0
0
0
0
0
0
0
-1
-5
0
-16
-13
62
69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
16
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
25
29
0
-38
69
40
0
0
0
0
0
0
0
22
27
-12
32
-46
38
-28
-66
8
-5
0
0
0
0
0
0
0
8
13
1
15
-9
35
86
-1
-8
-42
0
0
0
0
0
0
0
-4
2
13
-8
70
28
-33
-20
-20
-6
0
0
0
0
0
0
0
-1
-5
-7
40
20
20
21
53
4
2
0
0
0
0
0
0
0
-1
6
0
0
-5
-43
-15
-19
0
3
0
0
0
0
0
0
0
0
0
0
2
4
6
-22
-48
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-11
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
-1
0
-1
-8
1
-14
31
0
0
0
0
0
0
0
0
-3
0
0
0
3
-3
9
33
-2
2
0
0
0
0
0
0
0
0
-2
0
2
1
7
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
13
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
103
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
53
0
-3
0
0
0
0
0
0
0
0
1
0
0
7
-1
11
0
138
0
0
0
0
0
0
0
0
0
0
4
0
1
-36
-5
-17
4
0
0
0
0
0
0
0
0
0
0
0
-6
-38
-1
72
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
-63
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
44
0
0
0
0
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
0
0
-2
6
-4
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
43
-49
26
-6
-13
0
0
0
0
0
0
0
0
27
0
0
27
-23
-11
5
6
24
0
0
0
0
0
0
0
0
8
0
-33
16
51
-8
74
-60
45
0
0
0
0
0
0
0
-7
-4
-25
-22
-43
-3
16
-7
1
1
0
0
0
0
0
0
0
1
0
7
-15
15
-69
49
31
3
0
0
0
0
0
0
0
0
0
0
-2
6
4
-12
43
20
1
0
0
0
0
0
0
0
0
0
-10
0
3
-4
3
21
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-29
-2
0
11
0
0
0
0
0
0
0
0
1
1
0
-8
-1
-1
6
-75
18
-7
0
0
0
0
0
0
0
3
-3
-4
-1
-19
-1
8
26
-6
3
0
0
0
0
0
0
0
-5
6
0
7
36
-31
-18
-25
-4
0
0
0
0
0
0
0
0
25
8
-25
-79
-43
-53
46
-5
12
0
0
0
0
0
0
0
0
-23
0
-3
4
49
65
-36
7
-1
0
0
0
0
0
0
0
0
-2
0
0
-9
12
-85
-3
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
95
43
35
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-9
0
0
0
0
0
0
0
0
0
9
0
-4
0
5
32
1
45
64
-8
-1
0
0
0
0
0
0
0
0
0
0
-12
1
59
16
47
0
-2
0
0
0
0
0
0
12
0
0
2
2
-9
-23
-22
-4
-2
1
0
0
0
0
0
0
0
0
-9
-3
11
43
7
39
-37
0
0
0
0
0
0
0
0
0
4
4
0
4
19
-13
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
12
10
78
9
50
-2
0
0
0
0
0
0
0
0
0
0
33
0
39
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-18
-60
-24
0
24
0
0
0
0
0
0
0
0
107
0
-4
-17
8
-55
-63
27
-63
0
0
0
0
0
0
0
0
50
4
32
25
28
101
-5
-28
-35
0
0
0
0
0
0
0
-2
-19
0
-6
25
19
-75
-54
-6
-128
0
0
0
0
0
0
0
3
-33
-3
10
-32
-34
-64
-52
-78
0
0
0
0
0
0
0
0
0
-17
12
14
12
-19
30
89
-11
29
0
3
0
0
0
0
0
-3
29
-4
64
0
24
-19
6
9
9
0
0
0
0
0
0
0
0
-6
0
-2
0
98
38
-37
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
-2
17
4
35
0
-21
0
0
0
0
0
0
0
-1
-13
-7
-11
-16
-50
-41
33
-24
-54
28
0
0
0
0
0
0
1
-34
0
59
74
45
-21
-29
14
14
-1
0
0
0
0
0
0
-24
31
14
8
-51
3
69
79
41
18
-1
0
0
0
0
0
0
-5
-9
-9
12
73
57
30
-11
-42
-17
0
0
0
0
0
0
0
18
8
20
-56
-6
27
6
-27
78
-6
5
0
0
0
0
0
0
1
41
8
-6
19
0
-19
1
-1
-7
0
0
0
0
0
0
0
0
-2
0
105
0
10
-3
-66
-7
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-20
4
0
0
0
0
0
0
0
0
0
4
0
-3
-6
50
-84
9
10
0
-33
3
0
0
0
0
0
0
6
-29
0
3
-34
41
-3
-26
7
18
1
0
0
0
0
0
0
13
19
-14
8
-32
-55
121
-80
4
-33
-1
0
0
0
0
0
0
42
43
42
-38
10
-23
62
7
26
58
1
0
0
0
0
0
0
1
149
-22
-7
-69
-5
32
89
10
11
0
0
0
0
0
0
0
0
-27
78
68
31
22
-4
19
47
-3
0
0
0
0
0
0
0
0
8
-15
50
101
17
0
-3
34
57
0
0
0
0
0
0
0
0
2
5
-13
-2
-7
67
16
-10
59
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
0
-98
-13
14
-41
0
-12
-24
-2
0
-77
5
0
0
0
0
0
0
-58
-41
41
71
80
-17
33
-9
-95
55
-43
0
0
0
0
0
0
-8
53
-79
13
-15
51
24
-18
11
86
2
0
0
0
0
0
0
-5
-33
-2
22
24
-4
-27
-4
-86
-39
-17
0
0
0
0
0
0
-5
-66
60
48
11
-19
96
50
-2
-38
5
0
0
0
0
0
0
-23
38
45
106
11
5
-53
10
17
-55
-6
0
0
0
0
0
0
22
37
31
-8
99
-1
-28
0
20
-26
4
0
0
0
0
0
0
0
-2
11
-41
44
-28
23
13
65
13
0
0
0
0
0
0
0
0
0
0
0
24
0
31
-1
10
0
0
0
0
0
0
0
0
0
43
99
75
-58
-63
-13
-77
0
-61
8
0
0
0
0
0
0
-6
124
-34
-63
44
27
-45
-8
-20
-10
-71
0
0
0
0
0
0
2
38
34
70
20
-31
22
12
15
32
-2
8
0
0
0
0
0
-13
53
-23
-10
11
59
-1
79
66
88
-8
0
0
0
0
0
0
41
41
-9
29
9
-82
68
-9
60
40
0
0
0
0
0
0
0
0
25
6
29
-56
1
8
42
-66
45
-2
0
0
0
0
0
0
4
-3
-52
-40
93
78
38
-20
0
1
0
1
0
0
0
0
0
0
9
-11
-3
87
44
39
-8
34
14
0
0
0
0
0
0
0
0
-5
0
0
0
-4
-28
52
1
2
0
0
0
0
0
0
0
0
5
-21
-29
-56
0
-5
-15
0
-8
46
0
0
0
0
0
0
0
-30
25
-47
-8
-23
-72
-97
8
7
57
0
0
0
0
0
0
0
-17
102
-2
-50
-78
15
48
-39
34
-66
-3
0
0
0
0
0
0
3
32
73
-25
-33
53
-32
-13
-13
30
0
0
0
0
0
0
0
55
64
-7
9
41
-14
52
-47
71
42
0
0
0
0
0
0
0
23
58
103
-18
8
22
86
-25
-54
-3
0
0
0
0
0
0
0
37
-80
36
107
-6
0
-30
-19
0
1
0
0
0
0
0
0
0
22
-3
-7
7
8
32
40
16
104
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
5
0
0
0
0
0
0
0
0
0
0
1
8
19
2
-9
0
17
11
-7
0
0
0
0
0
0
0
21
-83
-16
13
-63
-23
-35
-13
-12
22
0
0
0
0
0
0
0
6
10
2
34
-19
-14
-83
-37
30
-2
0
0
0
0
0
0
0
3
56
13
4
10
90
32
62
28
-2
0
0
0
0
0
0
0
-14
4
2
46
31
65
4
34
-4
2
0
0
0
0
0
0
0
0
-4
0
1
-59
9
-3
16
8
-6
0
0
0
0
0
0
0
0
-2
-3
-30
3
-21
-36
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-13
27
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
2
31
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
-4
-23
0
0
0
0
0
0
0
0
1
-1
0
1
0
1
-3
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
4
0
-1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-23
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
9
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
1
4
0
0
0
0
0
0
0
0
0
8
-16
0
50
1
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
16
-6
31
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
4
13
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
124
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
21
3
-45
15
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-4
5
-3
0
0
0
0
0
0
0
0
0
-3
-23
4
24
-3
3
-6
2
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
-16
5
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
15
41
0
0
0
0
0
0
0
0
0
0
6
0
-19
0
-105
-14
-3
2
0
0
0
0
0
0
0
0
0
2
-15
-12
22
1
-10
-6
0
0
0
0
0
0
0
0
1
0
0
0
-25
13
32
-2
33
8
0
0
0
0
0
0
0
0
0
9
0
0
39
-2
18
1
0
1
0
0
0
0
0
0
8
-1
0
0
16
1
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
-91
37
-21
11
0
0
0
0
0
0
0
0
1
-1
0
1
13
3
36
-17
25
0
0
0
0
0
0
0
0
-4
-2
3
-8
16
64
49
-5
7
0
0
0
0
0
0
0
0
0
0
0
2
19
68
-4
-9
0
0
0
0
0
0
0
0
-2
-4
-1
-8
3
-29
7
27
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-2
40
7
-17
-3
0
0
0
0
0
0
0
0
0
0
-11
0
16
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-14
-5
-18
81
12
-57
-2
-23
3
0
0
0
0
0
0
0
3
3
3
-52
-10
22
70
28
-8
0
0
0
0
0
0
0
-6
-3
1
-2
-1
-17
22
-21
-9
9
0
0
0
0
0
0
0
-12
14
-14
-2
-61
-9
-42
1
-41
-1
0
0
0
0
0
0
0
-1
-13
-41
-9
-3
38
1
43
21
17
0
0
0
0
0
0
0
0
-1
-2
0
-20
0
-32
24
34
1
-2
0
0
0
0
0
0
0
1
0
20
8
0
-20
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
64
-36
0
3
0
0
0
0
0
0
0
0
5
-8
-1
-15
-14
-8
-92
-23
30
0
0
0
0
0
0
0
0
-43
-6
0
64
-8
51
-2
5
-3
-5
0
0
0
0
0
0
1
8
1
17
-28
-88
-23
-34
54
50
0
0
0
0
0
0
0
-3
41
-6
-17
-72
-19
99
15
-47
0
0
0
0
0
0
0
0
41
15
55
111
4
-45
3
-53
-22
-11
0
0
0
0
0
0
0
-1
10
-1
0
-7
23
0
16
-24
-2
0
0
0
0
0
0
0
0
-12
-2
-20
5
15
0
80
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
2
8
0
0
0
0
0
0
0
0
1
-2
1
-7
52
-1
-59
17
0
6
0
0
0
0
0
0
0
-8
4
-45
0
86
62
-64
-89
57
8
-21
0
0
0
0
0
0
-8
-8
1
16
-78
84
132
-127
65
-86
-1
0
0
0
0
0
0
31
4
-10
93
-9
37
109
14
36
8
-1
0
0
0
0
0
0
1
26
32
19
6
26
26
-21
19
-43
0
0
0
0
0
0
0
56
125
5
45
-1
-31
38
-14
14
-42
0
0
0
0
0
0
0
-8
-52
42
9
33
77
2
6
-8
0
0
0
0
0
0
0
0
1
74
25
-28
16
29
38
0
9
-10
0
0
0
0
0
0
0
0
0
0
0
19
-5
-56
23
5
0
0
0
0
0
0
0
0
0
-35
-5
56
-16
-25
-108
15
0
9
0
0
0
0
0
0
0
0
10
-93
93
-64
-59
-26
-3
66
-31
3
0
0
0
0
0
0
-7
99
-2
42
-14
-44
29
19
-6
-79
0
0
0
0
0
0
0
2
22
-55
-9
-62
8
16
6
63
-28
4
0
0
0
0
0
0
21
10
9
53
19
17
32
-47
60
-4
6
0
0
0
0
0
0
-10
-18
60
-18
51
-30
-55
-2
5
-28
0
0
0
0
0
0
0
-1
-2
28
49
-108
47
27
-33
-9
-66
0
0
0
0
0
0
0
2
1
45
34
-59
-54
59
-58
0
-25
-1
0
0
0
0
0
0
0
1
-2
0
2
-4
10
13
17
0
0
0
0
0
0
0
0
0
0
12
2
5
5
-17
55
0
-1
20
0
0
0
0
0
0
0
-44
24
8
91
5
18
1
24
-59
0
0
0
0
0
0
0
0
59
33
-16
48
-27
4
29
-10
16
6
0
0
0
0
0
0
0
44
-1
30
-57
-56
-26
96
33
0
31
0
0
0
0
0
0
0
20
-16
-8
0
-54
75
2
47
-21
-6
0
0
0
0
0
0
0
20
71
-1
-1
32
107
9
21
-4
40
0
0
0
0
0
0
0
-16
-19
12
-41
48
3
8
25
2
4
0
0
0
0
0
0
0
-5
-2
0
10
-34
-5
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-38
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-19
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
4
33
-8
-35
5
5
0
0
0
0
0
0
0
0
-4
4
0
30
3
-57
-7
-26
47
-1
0
0
0
0
0
0
0
-3
-7
-3
-16
40
0
-5
51
84
0
0
0
0
0
0
0
0
0
0
0
3
-42
13
72
-9
5
-14
0
0
0
0
0
0
0
-5
-1
0
1
-3
-13
5
-2
5
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-3
-26
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
5
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
2
3
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
-20
-2
48
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-45
0
7
0
0
0
0
0
0
0
0
0
0
0
73
-1
-7
0
46
1
0
0
0
0
0
0
0
0
2
0
2
4
-11
-3
38
0
-1
0
-1
0
0
0
0
0
0
-1
0
-8
1
19
-42
0
6
0
0
0
0
0
0
0
0
0
-5
-4
0
10
12
0
13
-3
-15
0
0
0
0
0
0
0
0
0
0
0
7
0
37
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
4
0
0
0
0
0
0
0
0
0
0
5
-14
-5
-5
0
-16
0
0
0
0
0
0
0
0
0
-2
2
1
0
6
-13
-41
0
3
0
0
0
0
0
0
0
0
-1
0
-8
-10
-5
-14
-31
69
-3
0
0
0
0
0
0
0
0
0
0
7
8
5
-2
57
5
-6
0
0
0
0
0
0
0
0
1
0
-1
-30
-4
-11
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-13
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
7
-9
57
45
0
0
0
0
0
0
0
0
0
0
0
16
-8
-5
-15
-30
3
1
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
23
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
-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
-3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
-9
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-3
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
5
3
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-8
6
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-10
8
-5
0
-1
0
-3
0
0
0
0
0
0
0
32
-10
-29
-83
-1
0
-2
0
-18
7
0
0
0
0
0
0
0
-6
4
7
-30
7
7
-8
3
7
49
-1
0
0
0
0
0
0
-9
-23
53
67
3
-24
-8
0
-34
1
0
0
0
0
0
0
0
5
-44
1
-6
-10
49
-6
-1
1
-5
0
0
0
0
0
0
0
12
-6
-9
-6
-6
2
-6
-2
-6
0
0
0
0
0
0
0
0
1
14
2
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-19
-23
0
0
0
0
0
0
0
0
0
-14
-5
-40
0
0
8
4
-32
0
0
0
0
0
0
0
0
0
0
7
-12
4
0
0
1
-23
0
0
0
0
0
0
0
0
0
4
-4
3
1
4
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
3
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-4
22
2
0
-10
1
0
0
0
0
0
0
0
0
0
0
1
0
7
-4
0
0
-4
0
0
0
0
0
0
0
0
0
7
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-2
-5
1
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
-2
-5
0
-2
-9
3
0
0
0
0
0
0
0
0
12
-4
4
0
-4
0
7
0
7
0
0
0
0
0
0
0
0
-18
-8
1
3
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
2
10
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
-6
4
-15
2
4
-13
-1
0
0
0
0
0
0
0
0
1
4
7
1
44
8
0
-1
-6
0
0
0
0
0
0
0
0
0
-7
4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
23
33
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
1
21
-13
8
-2
-2
-2
-4
0
0
0
0
0
0
0
0
-1
9
-16
13
-3
-22
-54
-1
-2
8
0
0
0
0
0
0
0
0
-6
-5
-1
6
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
2
8
7
0
5
0
0
0
0
0
0
0
0
0
0
25
40
33
-23
90
0
0
-6
0
0
0
0
0
0
0
0
13
-25
22
-32
-42
8
-8
-5
-13
-10
-3
0
0
0
0
0
0
2
-49
-1
-1
60
-8
2
0
14
0
0
0
0
0
0
0
0
-10
-23
-32
12
61
17
1
-1
-8
0
0
0
0
0
0
0
0
1
123
8
41
-13
-4
0
0
-1
1
0
0
0
0
0
0
0
-3
0
-4
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-35
-32
-21
-23
0
-21
-67
-2
3
0
0
0
0
0
0
12
-36
22
-12
1
0
-3
0
-52
7
1
0
0
0
0
0
0
-1
70
49
1
-76
-10
-49
-6
29
-23
0
0
0
0
0
0
0
-10
25
18
54
-42
-15
16
-8
22
-16
-1
1
0
0
0
0
0
-31
20
20
-1
23
-25
0
-3
1
0
0
0
0
0
0
0
0
-12
-42
23
41
-57
-19
-13
-21
2
1
0
0
0
0
0
0
0
0
-4
51
3
-1
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
2
-6
0
0
-66
5
1
0
0
0
0
0
0
0
8
-22
-24
-16
0
0
0
-14
13
6
0
0
0
0
0
0
0
-10
-2
20
2
-22
16
7
18
45
-3
0
0
0
0
0
0
0
-8
-48
-6
48
13
5
-4
-13
18
13
2
0
0
0
0
0
0
-4
0
16
7
8
-13
14
-1
25
0
0
0
0
0
0
0
0
-2
4
-1
-9
5
18
8
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
2
-4
-1
3
4
-1
0
-9
0
0
0
0
0
0
0
0
0
2
4
0
-4
2
-6
4
3
-7
1
0
0
0
0
0
0
0
1
0
-8
1
0
-1
-14
0
15
0
0
0
0
0
0
0
0
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
5
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
41
16
2
-19
1
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-7
-7
2
-8
-1
-6
1
0
0
0
0
0
0
0
0
-19
8
-1
2
8
0
-1
0
0
0
0
0
0
0
0
0
-14
0
-5
6
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
15
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-8
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-7
1
-5
9
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-41
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-24
4
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
10
12
-5
-52
-14
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-19
-7
6
14
-4
0
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-30
15
-12
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
-1
46
20
4
-9
0
3
0
0
0
0
0
0
0
0
0
1
-13
36
3
-4
4
6
9
0
0
0
0
0
0
0
0
0
-17
-3
7
-8
16
-2
-24
2
0
0
0
0
0
0
0
0
0
3
-8
-42
-5
-62
-30
0
3
-2
0
0
0
0
0
0
0
0
0
-7
10
13
3
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
1
33
-3
0
0
0
0
0
0
0
0
0
0
0
1
15
29
-66
19
13
-3
0
6
0
0
0
0
0
0
0
0
-10
-18
31
-5
-58
0
-4
2
-18
-5
0
0
0
0
0
0
0
2
16
-67
-40
-22
-24
-4
30
3
-5
-5
0
0
0
0
0
0
0
-29
22
-17
-120
4
18
0
0
0
0
0
0
0
0
0
0
0
0
3
25
13
3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
27
8
8
8
0
0
0
0
0
0
0
0
0
0
24
8
-15
94
50
-9
-12
0
-12
0
-1
0
0
0
0
0
0
-7
-22
-45
-8
-118
17
9
-2
41
-5
2
0
0
0
0
0
0
-14
-65
39
28
-63
-13
31
47
-23
-4
0
0
0
0
0
0
0
12
4
-8
-6
-93
25
-1
3
-13
1
0
0
0
0
0
0
0
0
-8
56
-15
-5
-9
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-7
9
7
-1
0
0
0
1
0
0
0
0
0
0
8
95
-72
4
-54
-25
-18
0
-23
0
14
0
0
0
0
0
0
-13
-50
-28
-43
-58
18
33
2
-7
-29
-6
0
0
0
0
0
0
-25
10
-14
4
55
32
49
-13
-10
-25
-3
-5
0
0
0
0
0
35
31
5
-59
-59
-30
-15
3
-2
-2
-8
0
0
0
0
0
0
-1
-23
-4
-29
13
10
2
1
0
0
0
0
0
0
0
0
0
-3
1
15
0
44
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
59
88
-44
-24
-18
4
0
0
0
0
0
0
0
0
0
-45
6
7
-35
55
23
42
0
-12
0
1
0
0
0
0
0
0
14
-27
-39
-32
-30
60
-8
-47
-2
22
-9
0
0
0
0
0
0
-122
88
-11
-57
-10
-18
-92
13
54
-22
5
-6
0
0
0
0
0
33
-49
1
67
-13
4
-85
18
-7
-3
-1
0
0
0
0
0
0
-1
-16
-25
-28
75
9
9
3
1
0
0
0
0
0
0
0
0
0
0
-1
-41
-13
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
5
-7
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-50
-46
-78
8
14
-9
0
-87
-13
1
0
0
0
0
0
0
-50
-9
-47
-101
-21
-53
0
-8
0
-44
6
0
0
0
0
0
0
-2
-79
-2
59
9
-34
-53
-10
7
-32
-17
0
0
0
0
0
0
-51
33
-68
44
5
-91
-46
17
39
-17
1
1
0
0
0
0
0
-13
-113
-10
17
-39
-66
-43
1
24
7
-6
-1
0
0
0
0
0
8
2
4
40
-15
29
-28
0
-1
-2
0
0
0
0
0
0
0
-7
8
40
-13
6
56
8
0
-7
-1
0
0
0
0
0
0
0
0
-6
31
3
-12
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
21
-40
7
0
0
0
-2
7
0
0
0
0
0
0
0
24
-16
-73
-71
-34
0
-7
0
19
4
0
0
0
0
0
0
0
-20
14
-71
9
-41
22
-4
-3
28
-25
1
0
0
0
0
0
0
12
48
45
-25
-6
29
-5
-4
-6
-47
-2
0
0
0
0
0
0
-14
37
8
11
67
23
3
14
-4
4
0
0
0
0
0
0
0
-2
13
48
-31
5
2
2
1
0
1
0
0
0
0
0
0
0
0
13
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
4
0
0
2
-3
0
0
0
0
0
0
0
0
-6
9
-7
3
0
-13
0
22
19
0
0
0
0
0
0
0
0
-1
7
-2
-16
-43
8
6
-18
6
-3
0
0
0
0
0
0
0
4
-12
-29
-4
13
9
14
0
-1
-5
-1
0
0
0
0
0
0
0
0
-8
-3
0
14
-2
4
-59
2
0
0
0
0
0
0
0
0
22
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
0
-2
-8
0
1
0
-1
0
0
0
0
0
0
0
0
-6
-5
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
-3
3
-7
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
13
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
13
-8
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
-4
4
0
0
0
0
0
0
0
0
0
0
10
25
-12
5
0
0
13
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-15
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
6
-8
-22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-11
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-34
-17
-45
3
0
-5
0
0
0
0
0
0
0
0
-6
0
-25
0
-33
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
19
35
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-22
18
4
-31
-20
-13
0
8
12
0
0
0
0
0
0
0
-8
-25
-11
1
17
7
1
4
-1
5
0
0
0
0
0
0
0
-4
27
5
4
-24
74
-76
4
2
0
0
0
0
0
0
0
0
0
0
-2
23
-4
3
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-42
2
38
0
0
-1
0
0
0
0
0
0
0
0
-2
-2
51
-41
-77
-2
6
0
13
-8
0
0
0
0
0
0
0
3
-8
-70
-15
-4
-43
13
1
2
1
0
0
0
0
0
0
0
0
-7
-3
-7
6
7
-20
-12
-15
-13
0
0
0
0
0
0
0
0
-4
-1
36
-40
12
-3
-8
0
0
0
0
0
0
0
0
0
0
0
-10
0
9
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-53
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-33
20
74
-94
-4
0
0
0
0
0
0
0
0
0
0
4
25
-44
-60
-39
-11
-14
0
0
8
1
0
0
0
0
0
0
-1
15
-2
-55
76
0
-23
2
9
0
0
0
0
0
0
0
0
0
2
30
23
15
18
3
-4
-1
2
0
0
0
0
0
0
0
0
-2
-8
-32
17
46
6
0
0
0
0
0
0
0
0
0
0
0
0
-19
-49
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
0
-16
9
-24
-3
0
0
6
1
0
0
0
0
0
0
-30
-15
-42
10
-54
73
-7
0
0
0
0
0
0
0
0
0
0
48
1
6
-66
-27
-7
-11
1
34
-47
0
0
0
0
0
0
0
-10
-62
-20
-3
-67
11
-4
-25
3
28
0
0
0
0
0
0
0
5
29
43
2
-25
-9
0
-15
30
0
0
0
0
0
0
0
0
0
-80
-12
-89
27
-21
3
0
0
18
0
0
0
0
0
0
0
0
0
-25
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-61
-22
-71
-11
-50
-38
2
0
0
0
0
0
0
0
0
0
-8
86
37
73
-20
-12
-44
0
8
0
4
0
0
0
0
0
0
2
-38
57
-84
-69
16
1
-9
21
-72
4
0
0
0
0
0
0
33
11
-48
-32
-146
-14
-53
0
-17
3
7
0
0
0
0
0
0
0
43
-91
-62
42
6
-1
13
3
58
0
0
0
0
0
0
0
-3
-16
48
-8
47
-55
-6
-1
0
-5
0
0
0
0
0
0
0
0
-7
20
5
-4
4
-5
0
2
0
0
0
0
0
0
0
0
0
-3
0
-5
6
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
26
-18
-76
32
-1
-7
0
0
-2
0
0
0
0
0
0
56
-40
-45
36
-57
-14
-33
0
-5
0
-24
-3
0
0
0
0
0
-124
12
57
-135
-38
47
-46
-29
-20
-14
25
0
0
0
0
0
0
-83
-63
28
25
-49
7
-9
57
-23
-20
-8
0
0
0
0
0
0
-3
36
-26
28
-14
-112
49
-16
19
-12
-2
0
0
0
0
0
0
0
10
-7
14
-12
-45
7
1
8
3
0
0
0
0
0
0
0
0
0
-60
-132
-39
-1
-29
0
-1
0
0
0
0
0
0
0
0
0
23
0
-24
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
57
-48
25
28
3
9
0
-86
-1
0
0
0
0
0
0
0
21
41
-21
-47
-57
-17
0
0
0
-39
8
0
0
0
0
0
0
4
-45
-83
-14
-8
-101
-5
-80
-21
68
-10
0
0
0
0
0
0
26
-44
-87
47
18
-13
-23
-30
-5
-45
-3
0
0
0
0
0
0
7
-3
-57
-18
-21
-44
26
37
31
8
-2
0
0
0
0
0
0
71
-67
-113
-50
76
-22
-22
13
5
0
0
0
0
0
0
0
0
-25
55
59
63
20
-31
4
1
0
0
0
0
0
0
0
0
0
5
-8
-6
-7
2
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
0
10
1
0
0
30
0
0
0
0
0
0
0
0
30
20
38
-78
30
0
-1
0
9
0
0
0
0
0
0
0
0
30
56
-20
13
-39
-4
12
-24
-43
0
0
0
0
0
0
0
0
-2
58
-15
58
50
7
2
0
-12
-8
1
0
0
0
0
0
0
-13
9
2
-37
7
6
-2
3
-4
0
2
0
0
0
0
0
0
0
-18
-18
0
-1
7
3
0
2
1
0
0
0
0
0
0
0
0
1
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-15
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-2
7
-6
1
1
15
-4
-2
0
0
0
0
0
0
0
-2
-3
1
7
-20
1
1
1
0
-2
0
0
0
0
0
0
0
1
8
-6
0
-3
-5
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
-15
3
0
0
0
5
0
0
0
0
0
0
0
0
2
0
7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
3
0
0
1
0
0
0
0
0
0
0
0
0
0
2
13
-1
-6
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-125
-5
33
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-59
1
22
0
0
-10
-16
2
0
0
0
0
0
0
0
2
-3
0
-8
11
-19
15
0
1
0
0
0
0
0
0
0
0
0
-28
0
-30
-33
5
-2
1
0
1
0
0
0
0
0
0
0
0
-3
-8
7
20
17
2
17
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-44
37
-8
-44
-2
3
0
0
0
0
0
0
0
0
0
0
3
0
-38
1
-32
10
-1
0
1
6
-1
0
0
0
0
0
0
1
20
2
-14
21
32
2
-1
0
3
0
0
0
0
0
0
0
-13
31
-5
0
64
-23
22
22
3
18
0
0
0
0
0
0
0
0
0
-1
-2
-11
-37
12
-2
0
-6
0
0
0
0
0
0
0
-1
0
9
-3
-40
3
-9
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
92
-8
5
7
0
0
0
0
0
0
0
0
0
0
0
-7
-13
17
26
-5
-2
13
0
-1
0
0
0
0
0
0
0
0
2
61
13
17
25
11
-6
0
-16
6
-1
0
0
0
0
0
0
4
19
21
6
-10
-49
-4
2
0
-12
0
0
0
0
0
0
0
0
-42
-119
21
0
-11
-62
2
12
0
0
0
0
0
0
0
0
0
4
5
-22
-20
0
5
7
-5
-1
0
0
0
0
0
0
0
0
0
-9
-8
8
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-14
-8
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
21
20
-71
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-22
9
17
9
10
0
0
0
1
0
0
0
0
0
0
-2
-36
59
25
63
-72
-23
0
5
16
0
0
0
0
0
0
0
-1
35
62
-92
-42
32
5
33
-1
1
3
0
0
0
0
0
0
1
-1
3
-65
-69
0
-12
0
-14
-3
0
0
0
0
0
0
0
0
-4
-4
-136
-68
36
-17
0
0
5
0
0
0
0
0
0
0
0
-1
27
4
-15
-21
-2
0
2
-1
0
0
0
0
0
0
0
0
0
0
-6
0
1
2
-2
-3
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
78
-52
7
4
-25
0
0
0
0
0
0
0
0
0
0
-3
51
-20
39
19
-73
5
0
8
0
1
0
0
0
0
0
0
16
26
23
95
-16
58
-56
-6
-17
-25
0
-1
0
0
0
0
0
6
-40
-18
59
-34
29
-32
13
-2
0
-5
0
0
0
0
0
0
-38
-47
12
-5
-16
-34
0
-8
-13
0
0
0
0
0
0
0
0
3
58
-35
-39
-14
43
53
0
1
-11
0
0
0
0
0
0
0
5
0
-15
-51
-63
-1
14
-8
0
-6
0
0
0
0
0
0
0
0
1
-24
5
9
17
6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-79
-102
-114
-18
-65
1
0
0
0
0
0
0
0
0
0
8
-71
22
-78
90
-115
-12
0
-4
0
0
0
0
0
0
0
0
-45
-7
-12
39
74
29
29
-3
-17
-46
-2
0
0
0
0
0
0
-3
-58
71
39
-68
21
10
8
27
-10
-1
0
0
0
0
0
0
-6
-8
-33
-7
-6
-15
-31
0
-111
2
4
4
0
0
0
0
0
1
-8
-35
-39
-1
-15
31
-82
0
-103
0
0
0
0
0
0
0
2
5
-22
-49
-69
4
22
3
0
2
0
0
0
0
0
0
0
0
4
-1
-25
-62
13
-24
3
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
49
-23
5
57
-32
31
0
0
2
-1
0
0
0
0
0
0
-55
-25
24
41
13
-56
14
0
-13
0
16
-1
0
0
0
0
0
-96
13
-68
-4
-57
-51
-5
-110
29
-46
-21
0
0
0
0
0
0
27
-30
-75
-99
-22
-36
2
-4
-6
-66
-2
0
0
0
0
0
0
10
-20
-41
-7
-73
84
-20
-53
0
24
-2
1
0
0
0
0
0
5
-23
-35
-14
73
-42
45
46
41
0
4
0
0
0
0
0
0
2
-12
-155
-21
-101
-33
54
41
-5
0
0
0
0
0
0
0
0
0
0
16
66
-12
-5
1
1
2
-1
0
0
0
0
0
0
0
0
12
25
-1
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
-49
-20
17
4
12
-4
0
13
0
0
0
0
0
0
0
0
-15
-65
26
-15
-47
-58
0
-6
0
-21
3
0
0
0
0
0
0
27
-19
136
7
25
-93
10
-71
-36
54
-1
0
0
0
0
0
0
2
26
-19
-8
-30
-13
6
-23
50
5
-5
0
0
0
0
0
0
-27
-1
73
-49
-19
1
-14
46
0
8
-4
0
0
0
0
0
0
15
26
1
28
6
-15
-42
-12
-36
1
0
1
0
0
0
0
0
0
-45
-5
-2
-94
56
-13
24
-2
0
0
0
0
0
0
0
0
0
10
56
-48
25
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-25
35
-4
5
0
2
94
0
0
0
0
0
0
0
0
-17
4
-12
21
-69
0
0
0
-31
-1
0
0
0
0
0
0
0
12
38
14
2
64
23
-23
10
10
1
0
0
0
0
0
0
0
9
33
22
13
-23
23
-2
-7
3
3
0
0
0
0
0
0
0
3
17
11
61
4
-9
7
0
0
0
0
0
0
0
0
0
0
0
16
44
-41
6
4
-1
-7
-6
0
0
0
0
0
0
0
0
-3
-3
0
-12
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
4
0
8
1
0
0
0
0
0
0
0
0
1
0
0
-1
13
1
-5
-1
-12
-2
0
0
0
0
0
0
0
0
0
-2
-41
3
2
0
1
0
0
0
0
0
0
0
0
0
0
6
-5
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
13
0
34
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-7
16
-67
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
5
-20
9
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-16
0
-2
6
2
1
-1
2
0
0
0
0
0
0
0
0
-2
9
0
-8
-56
-24
-13
0
0
-10
0
0
0
0
0
0
0
0
0
0
9
0
-18
0
0
-4
-5
0
0
0
0
0
0
0
0
0
32
-2
3
2
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
-35
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
1
-15
1
23
-2
-1
0
6
4
0
0
0
0
0
0
0
0
1
-2
15
13
-47
3
0
-4
1
0
0
0
0
0
0
0
-3
9
54
-13
4
-18
2
6
1
4
0
0
0
0
0
0
0
0
3
11
0
20
0
1
6
0
1
0
0
0
0
0
0
0
0
1
-31
-3
-36
-13
5
-6
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
11
-21
-1
8
0
0
0
0
0
0
0
0
0
0
0
29
7
27
-11
7
-3
0
0
0
0
0
0
0
0
0
0
3
6
-16
-40
33
-1
23
0
3
23
0
0
0
0
0
0
0
0
-73
3
76
5
-7
9
0
-4
-23
0
0
0
0
0
0
0
-2
-60
-34
9
-15
-23
-53
-21
-5
-8
0
0
0
0
0
0
0
0
-32
24
-61
0
28
11
-4
-2
0
0
0
0
0
0
0
0
-2
15
-10
8
-25
-1
-3
-2
0
-7
0
0
0
0
0
0
0
0
0
2
1
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
30
-21
0
-9
0
0
0
0
0
0
0
0
0
0
0
10
65
99
39
11
1
0
0
0
0
0
0
0
0
0
0
-3
-1
-19
42
-37
44
4
0
8
-23
0
0
0
0
0
0
0
0
-12
-42
-17
-25
-4
-18
-50
9
5
0
0
0
0
0
0
0
-3
15
9
-31
12
68
28
-15
-4
3
0
0
0
0
0
0
0
0
-1
-109
-43
-68
0
3
34
0
-36
0
0
0
0
0
0
0
-2
-1
-14
40
-9
25
0
4
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-15
-105
3
-9
0
0
0
0
0
0
0
0
0
0
-3
6
13
-10
-53
-41
0
0
0
0
0
0
0
0
0
0
0
-3
9
-45
64
-17
22
-5
3
21
0
0
0
0
0
0
0
0
-14
-16
-3
-68
-60
47
-12
-2
-42
29
1
0
0
0
0
0
0
15
-40
-81
27
12
53
-83
4
13
0
0
0
0
0
0
0
0
0
23
16
39
48
2
0
-1
7
-5
0
0
0
0
0
0
0
-15
-58
-37
-20
-29
-4
-8
1
1
3
0
0
0
0
0
0
0
0
0
7
-51
-2
3
5
-4
0
0
0
0
0
0
0
0
0
0
3
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
38
38
-18
28
29
-86
14
0
0
-4
0
0
0
0
0
0
13
2
50
-2
5
50
11
0
2
0
0
0
0
0
0
0
0
-32
-3
24
-84
-12
70
-60
-23
-9
-18
0
0
0
0
0
0
0
1
-45
22
-45
-64
-22
-46
0
11
30
0
-1
0
0
0
0
0
-65
8
4
-38
-26
-27
71
-33
6
73
0
0
0
0
0
0
0
-2
-57
-54
23
-99
28
23
0
18
1
0
0
0
0
0
0
0
0
-24
-69
33
-60
9
-38
-7
4
-50
0
0
0
0
0
0
0
0
13
3
10
-11
-4
1
5
1
0
0
0
0
0
0
0
0
0
-8
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
53
-54
-4
-50
-9
60
16
4
0
0
0
0
0
0
0
0
0
7
-30
-34
-15
9
1
-6
0
-100
0
9
0
0
0
0
0
0
59
10
29
-92
5
27
7
-67
39
-99
-9
0
0
0
0
0
0
-10
50
12
4
-75
25
-47
-86
27
-83
2
0
0
0
0
0
0
-31
50
95
5
50
-36
-95
-6
54
10
0
0
0
0
0
0
0
14
-17
92
49
-13
-113
-2
-5
0
36
0
0
0
0
0
0
0
1
8
-5
-101
0
47
7
47
-26
-3
0
0
0
0
0
0
0
0
-5
-30
-89
77
-84
-8
-2
1
0
0
0
0
0
0
0
0
0
0
2
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-28
-69
59
23
-76
0
0
58
5
0
0
0
0
0
0
0
-105
39
19
-22
1
79
0
7
0
2
1
0
0
0
0
0
0
-37
55
46
-34
40
36
-4
-10
-39
-18
1
0
0
0
0
0
0
34
31
-9
-33
-25
66
-52
35
53
-9
0
0
0
0
0
0
0
-115
-15
-51
-33
-14
-58
73
-2
-88
0
0
0
0
0
0
0
0
-12
26
13
51
-16
-82
-18
-66
0
3
0
0
0
0
0
0
0
-27
-42
-102
19
-30
-18
5
10
-1
0
0
0
0
0
0
0
0
0
-4
-8
17
52
-50
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-17
8
3
-17
0
0
56
0
0
0
0
0
0
0
0
9
-43
-22
29
70
0
-1
0
28
-1
0
0
0
0
0
0
0
20
1
5
66
52
-3
3
-16
19
-2
0
0
0
0
0
0
0
-25
22
26
79
-5
-53
-45
0
19
-8
0
0
0
0
0
0
0
31
62
48
-63
11
0
0
-1
3
0
-1
0
0
0
0
0
0
0
-14
3
-15
6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
6
-11
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-13
1
5
-1
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
6
0
1
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
1
14
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
10
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
1
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-28
-2
-32
0
0
-3
0
0
0
0
0
0
0
0
0
2
4
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-25
12
-3
0
0
-12
0
0
0
0
0
0
0
0
2
-1
2
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-13
-1
1
0
-6
5
0
0
0
0
0
0
0
0
-43
0
-3
2
-23
0
-5
0
0
0
0
0
0
0
0
0
0
0
18
3
0
1
0
-4
0
-5
0
0
0
0
0
0
0
0
8
0
-5
7
-19
-22
1
0
-8
0
0
0
0
0
0
0
0
0
-14
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
55
-29
4
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
12
3
2
0
0
-5
0
0
0
0
0
0
0
0
1
5
-54
6
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
41
-27
2
3
0
0
0
0
0
0
0
0
0
0
-12
8
-10
1
-22
2
0
2
0
0
0
0
0
0
0
0
0
3
1
13
0
0
9
1
-15
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
-2
-2
6
-13
0
0
0
0
0
0
0
0
0
0
1
10
-3
-13
-57
5
4
0
-7
-34
0
0
0
0
0
0
0
0
23
18
-128
6
-16
0
-1
-1
-1
0
0
0
0
0
0
0
0
-1
-12
-14
-11
-3
-5
6
-4
-15
0
0
0
0
0
0
0
0
-7
-10
-53
14
-14
5
0
1
22
0
0
0
0
0
0
0
0
0
-33
4
24
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
48
12
-64
0
2
0
0
0
0
0
0
0
0
0
0
0
87
92
-86
-94
37
-4
0
0
0
0
0
0
0
0
0
0
13
-10
31
65
-29
15
9
3
0
32
1
0
0
0
0
0
0
0
14
6
-17
8
-29
-2
0
0
2
0
0
0
0
0
0
0
14
-2
-51
2
-113
-52
31
10
-44
-1
0
0
0
0
0
0
0
0
69
-63
-59
-34
-28
5
-20
-1
-2
0
0
0
0
0
0
0
16
-1
-2
-43
59
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
4
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
57
-58
4
23
0
0
0
0
0
0
0
0
0
0
5
7
48
7
-30
-8
8
0
0
0
0
0
0
0
0
0
0
-3
-3
69
-12
63
-52
12
18
4
-6
0
0
0
0
0
0
0
0
-41
23
51
-20
31
-40
1
-2
-4
0
0
0
0
0
0
0
14
-40
2
4
46
43
-39
-10
0
-38
0
0
0
0
0
0
0
-2
-55
-29
-90
-29
19
-12
13
-5
4
0
0
0
0
0
0
0
1
-2
47
-13
41
21
-60
0
-32
-8
0
0
0
0
0
0
0
0
6
3
21
-17
-6
4
4
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
-8
0
0
0
0
0
0
0
0
29
-30
53
-3
36
-32
-28
-6
0
0
-1
0
0
0
0
0
0
4
-43
-8
-50
38
-52
-54
0
0
0
-5
0
0
0
0
0
0
21
15
0
117
-52
60
-69
-19
26
-12
-2
0
0
0
0
0
0
53
25
44
5
1
-28
-9
16
24
-8
8
0
0
0
0
0
0
12
61
70
24
-43
-59
-98
-25
-6
-50
0
0
0
0
0
0
0
6
52
-62
17
-5
59
-42
-122
-19
23
-3
0
0
0
0
0
0
1
-21
-2
-9
-67
-16
16
-20
0
9
0
0
0
0
0
0
0
0
-24
-30
-39
-7
24
30
-25
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-40
16
47
-24
-47
3
0
38
-3
0
0
0
0
0
0
0
0
75
-44
30
14
-2
0
-13
0
5
1
0
0
0
0
0
0
24
-51
8
-32
30
2
-28
-10
38
33
0
0
0
0
0
0
0
-54
19
-7
61
-54
16
-8
86
-71
-4
-1
0
0
0
0
0
0
-58
-40
46
21
43
-83
-40
31
-14
8
0
0
0
0
0
0
0
-24
-40
-14
19
-19
11
20
-22
3
-2
0
0
0
0
0
0
0
-61
-47
87
2
44
31
1
23
0
0
0
0
0
0
0
0
0
4
-12
44
15
47
1
-3
-2
-34
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-7
-8
0
1
0
0
32
0
0
0
0
0
0
0
0
0
-8
21
32
-1
0
-1
0
18
-1
0
0
0
0
0
0
0
-7
78
-33
39
-52
1
-1
0
51
0
0
0
0
0
0
0
0
-28
18
138
-1
4
9
-5
3
6
0
0
0
0
0
0
0
0
-3
42
15
86
78
-42
-8
0
10
0
0
0
0
0
0
0
0
48
0
29
3
40
-32
-15
-5
2
0
0
0
0
0
0
0
0
3
-9
7
66
45
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-10
-3
0
0
0
2
-29
0
0
0
0
0
0
0
0
0
3
0
0
1
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-2
-6
-6
-3
0
0
0
0
0
0
0
0
0
0
2
0
-27
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
5
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-82
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
-8
1
-9
-29
24
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
15
5
4
0
0
0
0
0
0
0
0
0
0
0
-9
2
14
0
8
0
0
0
0
0
0
0
0
0
0
0
16
0
8
-7
28
0
4
0
0
3
0
0
0
0
0
0
0
-4
-63
0
-78
-5
-16
0
0
0
-3
0
0
0
0
0
0
0
-1
0
22
-48
29
1
13
0
1
0
0
0
0
0
0
0
0
0
-18
-6
-37
-15
-53
-10
-15
-1
0
0
0
0
0
0
0
0
-5
7
1
0
-24
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-50
-3
16
0
-7
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
32
-2
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
-88
-2
7
16
41
1
0
0
0
0
0
0
0
0
0
0
3
2
24
-89
-69
-29
-4
-4
0
-13
0
0
0
0
0
0
0
-8
-4
3
132
-31
-89
-8
2
-3
0
0
0
0
0
0
0
0
-2
-6
29
-68
78
-42
-28
0
0
26
0
0
0
0
0
0
0
0
-6
5
-19
25
9
5
0
1
1
0
0
0
0
0
0
0
-38
3
38
22
9
-4
-26
2
2
0
0
0
0
0
0
0
0
0
23
-5
20
44
-20
0
0
2
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
48
20
75
-8
10
0
0
0
6
0
0
0
0
0
0
-9
14
-38
0
-136
5
-30
0
-12
0
0
0
0
0
0
0
0
-8
-26
-4
60
-91
12
-7
25
-19
-144
9
0
0
0
0
0
0
0
-34
13
13
49
67
-37
-42
-100
-5
5
0
0
0
0
0
0
-9
-16
82
45
23
-10
-112
-59
-85
-49
0
0
0
0
0
0
0
-7
17
61
-28
20
0
-14
41
32
-17
0
0
0
0
0
0
0
18
78
-53
-30
-40
-25
41
4
-43
0
0
0
0
0
0
0
0
0
86
-13
36
-18
-47
-37
5
0
1
0
0
0
0
0
0
0
0
5
43
10
-74
0
0
-14
5
0
0
0
0
0
0
0
0
0
0
23
43
3
18
-9
5
0
12
2
0
0
0
0
0
0
0
33
-32
-56
-10
70
-98
0
-1
0
4
0
0
0
0
0
0
0
10
3
-45
-33
-88
10
5
0
-28
0
0
0
0
0
0
0
0
-8
-51
36
-55
111
36
-104
10
-68
-8
0
0
0
0
0
0
0
5
-59
-36
-44
81
-16
17
-25
10
-1
0
0
0
0
0
0
0
19
75
-39
-66
-90
-2
-53
25
-9
0
0
0
0
0
0
0
0
-21
-57
46
10
-40
67
-47
-24
-1
0
0
0
0
0
0
0
0
-112
53
23
14
-24
33
-101
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
14
-89
-1
0
0
0
3
0
0
0
0
0
0
0
0
-21
-13
6
27
-8
0
-3
0
32
0
0
0
0
0
0
0
0
-5
60
16
26
-1
36
0
0
-30
0
0
0
0
0
0
0
0
46
-9
-43
-6
24
3
1
0
-4
0
0
0
0
0
0
0
0
1
69
-29
24
-13
-13
8
5
-54
0
0
0
0
0
0
0
0
16
8
46
18
3
-15
0
-4
2
0
0
0
0
0
0
0
0
-2
6
3
-4
1
-9
0
0
2
0
0
0
0
0
0
0
0
1
1
3
14
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
-9
5
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-20
-8
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
17
0
13
-18
0
16
0
0
0
0
0
0
0
0
3
1
56
-8
23
13
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
-84
8
15
8
0
-6
0
0
0
0
0
0
0
0
3
0
-7
0
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-35
-15
-7
8
0
0
0
0
0
0
0
0
0
0
0
-16
-1
29
-10
-118
-28
0
4
-5
0
0
0
0
0
0
0
0
-3
8
5
5
19
148
-8
0
-10
0
0
0
0
0
0
0
0
-58
21
62
35
-11
-91
-22
3
-2
0
0
0
0
0
0
0
0
0
17
9
34
-97
-90
-25
23
-25
0
0
0
0
0
0
0
0
-2
0
-17
-10
-49
-6
4
0
1
0
0
0
0
0
0
0
0
0
-32
0
50
-33
-5
-16
1
0
0
0
0
0
0
0
0
0
-11
1
16
-15
-86
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
3
-2
-14
0
0
0
-40
0
0
0
0
0
0
0
0
0
19
-10
4
-10
5
0
0
-7
0
0
0
0
0
0
0
0
-16
0
-2
-22
-26
-1
0
3
3
0
0
0
0
0
0
0
0
0
-13
5
-55
8
-15
-2
0
0
0
0
0
0
0
0
0
0
-9
0
5
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
21
0
9
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-31
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
-2
-8
0
0
4
0
0
0
0
0
0
0
0
-7
0
-2
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-6
0
-1
0
0
0
0
0
0
0
0
-5
0
-1
0
-4
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
18
0
0
0
0
0
0
0
0
0
0
0
-14
-4
6
1
8
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
-6
-6
-4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-26
48
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-24
-4
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
35
0
-3
0
0
0
0
0
0
0
0
0
4
6
10
0
52
0
21
0
2
0
0
0
0
0
0
-8
0
0
-2
-7
25
2
-13
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
32
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
5
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-5
-2
78
17
0
-25
0
-4
0
0
0
0
0
0
0
25
-36
9
-59
4
48
80
-2
1
0
0
0
0
0
0
0
0
5
3
-5
62
45
13
41
-19
5
-13
0
0
0
0
0
0
0
19
0
19
-9
13
13
-5
-3
6
-3
0
0
0
0
0
0
0
10
7
6
-37
-16
12
45
-5
-10
0
0
0
0
0
0
0
0
-25
0
0
24
-20
-3
-62
10
-6
2
0
0
0
0
0
0
0
2
0
1
9
9
-10
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
0
-30
70
0
0
0
0
0
0
0
0
0
16
-1
-4
-23
-31
42
47
0
-3
0
0
0
0
0
0
0
0
-3
2
-14
17
8
-27
2
4
4
0
0
0
0
0
0
0
0
-3
0
-3
-2
14
-5
5
1
-1
0
0
0
0
0
0
0
0
-4
0
-5
-22
-17
-3
1
0
-7
0
0
0
0
0
0
0
0
-3
0
0
1
0
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
0
19
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
9
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-9
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-7
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-1
0
0
-2
0
0
0
0
0
0
0
-3
2
0
0
17
-17
-53
-84
12
0
0
0
0
0
0
0
0
0
0
0
6
-5
32
1
11
-7
0
0
0
0
0
0
0
0
0
0
0
3
1
49
-9
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
12
0
-4
0
0
0
0
0
0
0
0
1
0
0
1
1
6
-2
12
0
0
0
0
0
0
0
0
0
0
0
-5
40
-45
20
-12
-10
-1
0
0
0
0
0
0
0
0
0
0
3
4
-9
-1
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
0
0
0
0
0
0
0
0
0
-9
0
-6
-47
5
-5
-2
-30
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-50
1
-32
-5
-1
0
0
0
0
0
0
0
0
0
4
4
-24
8
41
-2
1
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
12
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-63
1
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
-1
38
-60
-68
0
1
0
0
0
0
0
0
1
0
-1
0
-1
-40
82
44
15
0
0
0
0
0
0
0
0
0
0
0
1
22
-31
-14
-21
-4
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
-4
-89
-3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
5
0
26
0
4
0
0
0
0
0
0
0
0
1
0
4
36
1
-24
-6
-29
12
0
0
0
0
0
0
0
5
8
14
-2
3
-4
-60
-83
25
-3
0
0
0
0
0
0
0
-8
-4
6
4
-8
9
27
-4
10
0
-2
0
0
0
0
0
0
-4
-2
3
-3
5
-8
23
22
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
10
12
-22
0
24
-13
0
9
1
0
0
0
0
0
0
-24
-40
16
-42
33
15
-2
30
30
-5
-14
0
0
0
0
0
0
7
-2
8
5
12
-48
-53
5
-3
-1
0
0
0
0
0
0
0
7
-2
-7
41
-28
45
4
59
41
0
-4
0
0
0
0
0
0
-2
1
2
-6
-41
54
-14
23
-33
0
0
0
0
0
0
0
0
-6
0
0
3
5
-2
7
52
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-29
10
31
117
-54
0
-40
71
0
-1
0
0
0
0
0
0
34
-5
71
-5
1
76
-14
49
-6
3
1
0
0
0
0
0
0
-37
-24
-5
-50
35
-20
-56
12
-39
-5
0
1
0
0
0
0
0
-6
-15
60
11
-20
38
17
-36
-31
-2
0
0
0
0
0
0
0
-11
52
-24
-23
45
-40
-71
-52
21
1
0
1
0
0
0
0
0
-4
7
4
6
13
-86
-51
25
6
-6
4
0
0
0
0
0
0
8
-4
-2
45
-47
21
20
-65
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-12
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
6
-22
-4
-1
0
12
0
-1
0
0
0
0
0
0
0
0
7
13
10
10
22
20
7
17
2
-8
0
0
0
0
0
0
0
0
-5
-62
-54
60
26
5
-45
-5
0
0
0
0
0
0
0
0
-9
-18
-10
-35
-13
-55
-73
-32
-12
0
0
0
0
0
0
0
0
8
1
5
-10
18
-34
-9
-8
4
-1
0
0
0
0
0
0
0
13
0
-2
-20
0
8
-30
-4
-3
0
0
-1
0
0
0
0
0
-8
0
2
0
-6
33
-4
3
5
0
0
0
0
0
0
0
0
0
0
0
-5
2
-7
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-5
5
0
-38
18
1
0
0
0
0
0
0
0
0
0
0
-1
-1
19
3
9
-16
-4
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
1
-33
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
12
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-1
6
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
24
47
5
0
0
0
0
0
0
0
0
0
8
0
0
-41
-6
28
16
5
39
0
0
0
0
0
0
0
0
0
0
0
6
7
43
-17
-4
-25
0
0
0
0
0
0
0
0
0
0
0
8
-51
3
-5
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-2
-25
29
13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
60
11
-28
0
1
0
0
0
0
0
0
0
0
0
0
0
-54
-14
-84
-23
7
1
2
0
0
0
0
0
0
1
1
0
0
7
-23
-30
-22
2
0
0
0
0
0
0
0
0
0
0
1
-1
18
21
1
-15
7
0
0
0
0
0
0
0
0
1
-1
0
1
-29
5
6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
-8
-6
3
58
-23
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
7
0
-39
3
-22
-8
0
0
0
0
0
0
0
-4
0
-1
0
34
-16
34
67
5
0
0
0
0
0
0
0
0
1
0
0
-1
1
-9
-45
31
0
0
0
0
0
0
0
0
0
0
4
-3
1
-7
7
35
-12
-7
2
0
0
0
0
0
0
0
0
-3
0
2
0
-33
-7
69
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-1
-76
1
-10
0
40
0
0
0
0
0
0
0
0
-6
2
-12
-9
23
37
-8
-50
5
0
0
0
0
0
0
0
-4
0
1
0
-1
3
-65
-18
20
-24
0
0
0
0
0
0
0
-3
-5
-2
-1
6
-29
-11
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
-2
0
74
0
0
0
0
0
0
0
0
0
0
8
0
-3
-28
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-11
-103
-61
4
0
12
0
0
0
0
0
0
0
-31
6
-2
-1
-14
-7
-23
-90
-21
5
0
0
0
0
0
0
0
-2
-2
-4
14
-8
0
-25
58
52
6
4
0
0
0
0
0
0
-2
4
-10
8
-2
-19
16
39
-10
1
-2
0
0
0
0
0
0
-3
-1
1
-7
20
5
50
5
-76
-1
1
0
0
0
0
0
0
4
0
0
1
5
-30
19
-23
0
7
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-14
-15
6
1
-48
-10
79
0
39
-1
0
0
0
0
0
0
8
-1
-23
7
44
57
-41
61
61
27
-6
0
0
0
0
0
0
-8
-42
-4
-51
-93
-34
-56
47
24
29
1
0
0
0
0
0
0
22
-7
1
-47
-78
-33
-52
-50
-24
3
0
0
0
0
0
0
0
-18
-25
-4
20
-40
61
98
-6
87
0
-3
0
0
0
0
0
0
0
0
3
10
-14
53
-5
66
1
24
1
0
0
0
0
0
0
0
0
1
0
-1
-12
50
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
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
-71
-12
-24
-72
17
33
-50
0
-5
0
0
2
0
0
0
0
-17
-52
-4
-67
-26
78
-17
-30
6
52
-21
0
0
0
0
0
0
-34
-3
-67
-88
-19
-51
-9
-95
-3
15
1
0
0
0
0
0
0
-32
6
13
61
-41
-23
-33
6
4
68
-1
0
0
0
0
0
0
15
2
69
-16
-33
107
58
25
-56
3
-2
0
0
0
0
0
0
0
-1
-4
44
-8
61
-24
-20
145
18
-7
0
0
0
0
0
0
0
0
-1
-1
-45
38
-39
-49
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-14
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
18
-57
-27
-57
49
68
10
0
-6
1
-7
0
0
0
0
0
-41
55
-44
71
-54
61
-23
69
72
3
-72
-4
0
0
0
0
0
20
21
-53
10
36
-21
-32
-74
-101
-55
10
8
0
0
0
0
0
12
-79
-11
-53
-79
-77
-49
-100
41
23
-29
0
0
0
0
0
0
-30
9
-6
15
27
-25
44
26
-64
-10
-3
-4
1
0
0
0
0
12
-5
-25
9
31
67
-30
-56
-7
-4
2
0
0
0
0
0
0
-6
3
14
1
27
-8
9
21
-12
-2
-1
0
0
0
0
0
0
0
0
0
-1
-5
75
-21
-31
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
9
-38
-61
100
-2
-39
132
0
11
-25
-3
0
0
0
0
0
0
-71
-31
-31
49
-4
-12
-14
65
-4
-41
7
0
0
0
0
0
0
-31
-30
-35
-6
-23
-30
-72
-40
-42
-44
2
0
0
0
0
0
0
-49
7
-30
-50
12
15
1
-38
-3
0
-1
0
0
0
0
0
0
-102
-41
-57
6
-34
-26
40
25
-33
34
0
1
0
0
0
0
0
38
-4
-8
-43
-72
114
-7
-11
74
-18
0
0
0
0
0
0
0
4
-2
-5
21
-30
0
-2
31
1
0
0
-1
0
0
0
0
0
0
0
0
0
5
25
33
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
36
-7
15
3
-20
54
0
47
-45
0
0
0
0
0
0
0
0
10
12
28
-55
-11
67
-22
59
9
1
1
0
0
0
0
0
0
-26
-10
-8
15
126
3
18
3
-23
24
0
0
0
0
0
0
0
56
-5
-74
29
-44
57
29
7
-31
-3
4
0
0
0
0
0
0
-9
36
10
41
-52
40
-4
-22
2
-3
0
0
0
0
0
0
0
8
-4
14
85
-32
22
-2
-74
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
10
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
19
0
-47
34
6
0
0
0
0
0
0
0
0
-2
19
9
30
12
-71
14
-39
29
0
-1
0
0
0
0
0
0
5
-3
-1
9
-78
-16
5
-30
0
1
0
0
0
0
0
0
0
-3
0
1
18
18
15
29
0
7
0
0
0
0
0
0
0
0
0
0
-1
13
3
-31
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
0
45
0
-5
0
0
0
0
0
0
0
0
0
0
3
2
3
-17
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
-2
2
0
0
0
0
0
0
0
0
0
0
1
6
0
7
-73
-44
-83
-13
13
0
0
0
0
0
0
0
0
0
-1
0
0
-38
-27
23
6
15
13
0
0
0
0
0
0
0
0
0
0
8
-5
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
1
30
-24
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
12
9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-16
4
0
0
0
0
0
0
0
0
0
-7
0
-3
-1
3
-41
32
4
47
15
0
0
0
0
0
0
0
0
0
0
0
-38
-18
-65
19
-49
5
0
0
0
0
0
0
0
2
0
0
0
-7
2
13
2
-5
1
0
0
0
0
0
0
0
0
0
2
0
-19
27
-33
-37
-6
3
0
0
0
0
0
0
0
0
0
0
8
-22
13
-5
27
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
-9
2
24
42
90
0
-45
0
0
0
0
0
0
0
0
4
-5
2
-39
-82
0
64
5
16
-3
0
0
0
0
0
0
-4
1
0
-5
4
7
62
-17
5
-3
0
0
0
0
0
0
0
0
0
0
0
-7
12
26
-17
-7
0
0
0
0
0
0
0
0
0
0
4
-5
-1
15
31
44
-9
-3
0
0
0
0
0
0
0
0
0
-4
-1
-2
-9
-30
101
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
1
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
8
-6
23
39
13
0
-48
2
0
0
0
0
0
0
44
-4
3
-47
-68
-9
53
-50
-69
7
2
0
0
0
0
0
0
7
-16
-12
-1
-52
14
9
57
-2
-18
3
0
0
0
0
0
0
0
-1
22
-4
-1
18
32
-46
20
0
0
0
0
0
0
0
0
14
-2
1
1
26
0
30
-18
60
5
0
0
0
0
0
0
0
0
0
9
2
0
7
1
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-21
1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
12
51
-1
-8
-27
0
21
0
0
0
0
0
0
0
-50
13
2
-11
64
63
34
90
-10
-14
-29
2
0
0
0
0
0
14
-55
-30
37
1
-9
-27
87
19
-3
1
0
0
0
0
0
0
7
0
-16
-16
-50
0
-9
38
-39
4
0
0
0
0
0
0
0
-1
-30
6
-36
0
16
22
-19
10
-6
0
0
0
0
0
0
0
0
0
-8
5
-43
29
2
19
1
-1
0
0
0
0
0
0
0
0
0
1
4
-10
-4
-24
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
6
-2
-49
-35
-62
4
0
30
2
0
0
0
0
0
0
-19
-45
-71
-13
72
83
-132
-36
-91
19
-8
0
0
0
0
0
0
-31
-27
-16
52
27
-80
-5
45
-21
44
0
0
0
0
0
0
0
4
59
6
-29
-28
-12
1
28
-30
-72
1
0
0
0
0
0
0
14
-17
20
-14
58
-3
27
1
85
-5
3
0
0
0
0
0
0
0
3
-5
9
22
-46
7
-17
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-19
5
24
-3
-29
3
0
0
0
0
0
0
0
0
-8
0
16
0
7
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-18
4
-69
-7
13
-4
51
0
3
33
0
0
0
0
0
0
-87
-63
13
-25
-75
-40
3
-32
-40
15
23
0
0
0
0
0
0
-4
-58
42
-85
16
9
-29
-9
-70
-48
-17
0
0
0
0
0
0
7
-40
-23
-36
62
-24
-45
-6
-6
1
0
0
0
0
0
0
0
8
-62
-21
8
-6
-33
20
34
-2
11
0
-5
0
0
0
0
0
0
-18
-12
27
-56
32
13
-50
-71
3
-2
0
0
0
0
0
0
0
-32
1
6
-2
-3
42
30
49
5
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-34
47
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
-19
43
-107
110
-7
11
0
44
-45
0
0
0
0
0
0
2
-38
18
-28
-125
44
141
-93
-28
-21
-41
-14
0
0
0
0
0
-14
-83
83
-11
45
-3
36
5
25
-60
-29
0
0
0
0
0
0
44
26
-33
-76
8
16
-40
31
-53
-40
-3
0
0
0
0
0
0
29
9
26
-12
9
-56
72
-13
-5
1
-5
0
0
0
0
0
0
-13
40
-3
56
21
-17
60
22
39
12
0
0
0
0
0
0
0
-2
-5
58
22
40
-15
-102
-7
-50
16
5
0
0
0
0
0
0
0
0
-1
8
-2
29
46
-20
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
-111
22
-18
17
13
78
42
0
-18
-22
8
0
0
0
0
0
0
-6
70
-38
97
17
-69
-36
28
59
27
-13
0
0
0
0
0
0
-2
-9
-17
-25
-2
47
30
-1
-49
-19
8
0
0
0
0
0
0
61
1
-56
-46
3
-31
-5
11
-24
29
2
1
0
0
0
0
0
-25
-45
33
-5
-27
-22
75
22
-47
0
5
0
0
0
0
0
0
7
13
-48
-38
30
-17
135
35
-31
-8
-2
0
0
0
0
0
0
-7
-5
-4
90
-95
-14
-73
7
23
0
0
0
0
0
0
0
0
2
1
-2
0
-24
-52
36
5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
-4
42
14
-11
0
13
0
-7
69
-4
0
0
0
0
0
0
0
19
6
-4
-84
-17
-8
23
13
52
-4
0
0
0
0
0
0
0
-6
9
-22
-48
20
-21
4
1
-35
1
-1
0
0
0
0
0
0
4
-4
-1
10
-3
-21
-43
1
0
1
0
0
0
0
0
0
0
7
-4
0
11
-17
-73
46
-8
2
0
0
0
0
0
0
0
0
4
0
-8
18
23
9
20
18
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
3
-23
-18
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
-5
0
-3
-8
-8
0
0
0
0
0
0
0
0
6
-2
2
6
-1
-7
7
-18
1
1
0
0
0
0
0
0
0
8
5
0
-34
9
28
8
1
-6
0
0
0
0
0
0
0
0
1
-5
0
4
-2
2
-9
-18
0
0
0
0
0
0
0
0
0
1
1
1
2
0
29
6
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
55
46
-21
16
0
0
0
0
0
0
0
0
0
-2
0
0
2
3
-31
-19
42
0
0
0
0
0
0
0
0
0
8
0
22
-27
-1
0
53
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-2
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-8
1
0
0
0
0
0
0
0
0
0
0
-17
0
-3
-30
-30
41
7
61
-2
0
0
0
0
0
0
0
1
-1
-1
10
5
-22
57
5
42
-10
0
0
0
0
0
0
0
0
0
-3
0
-5
43
-14
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
27
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-43
19
0
-31
0
0
0
0
0
0
0
0
0
0
1
0
-2
-15
1
-55
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
2
1
23
-6
-26
-15
0
-2
0
0
0
0
0
0
0
0
-24
-2
-8
-24
-44
45
23
19
49
0
0
0
0
0
0
0
0
1
0
-5
27
24
4
32
7
-9
0
0
0
0
0
0
0
16
0
0
2
6
7
-60
26
-9
4
0
0
0
0
0
0
0
0
-7
-1
0
13
8
-27
2
18
0
0
0
0
0
0
0
0
0
-4
0
0
0
-47
74
-19
2
0
0
0
0
0
0
0
0
3
0
0
-3
-61
3
27
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-75
81
2
0
-21
1
0
0
0
0
0
0
1
30
5
24
12
3
23
-10
53
-2
0
0
0
0
0
0
0
0
-24
8
11
40
104
-32
23
34
-7
0
0
0
0
0
0
0
-3
-2
2
0
-13
-3
-19
-151
20
0
0
0
0
0
0
0
0
0
-12
-40
7
0
-12
7
0
28
0
0
0
0
0
0
0
0
0
3
-2
0
13
0
-6
10
38
-6
0
0
0
0
0
0
0
0
-8
0
1
-8
-32
61
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
29
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
10
4
-2
1
97
-27
0
0
0
0
0
0
0
0
0
-1
17
4
9
5
5
-75
-63
-2
27
-6
0
0
0
0
0
0
5
10
-25
-8
-22
-30
-27
-38
-35
-3
0
0
0
0
0
0
0
17
-8
-21
-14
0
-50
-6
29
-53
-52
0
0
0
0
0
0
0
-2
2
0
1
-18
0
47
-17
33
-27
0
0
0
0
0
0
0
0
-39
-24
-34
0
-28
0
6
-68
3
0
0
0
0
0
0
0
0
0
-1
4
-66
8
11
0
-15
8
0
0
0
0
0
0
0
0
0
0
0
4
44
-25
-86
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
-17
-22
102
-75
6
-75
0
-63
0
0
0
0
0
0
0
-13
49
-41
-99
-71
119
5
-4
18
25
0
-3
0
0
0
0
0
75
31
12
45
-30
16
-27
-20
29
-23
-12
0
0
0
0
0
0
30
-3
14
5
6
31
42
-14
-22
-23
0
0
0
0
0
0
0
1
-5
-5
35
-46
-2
0
23
12
3
0
0
0
0
0
0
0
0
8
-4
-3
34
0
28
-3
22
-4
0
0
0
0
0
0
0
0
7
7
-15
40
-14
-14
-71
1
0
0
0
0
0
0
0
0
0
2
-4
0
1
30
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
-2
0
0
0
0
0
0
0
0
-7
-10
18
-2
22
32
-44
100
0
-76
-2
0
0
0
0
0
0
-47
-58
-46
8
110
29
-6
-60
-43
-18
-24
4
0
0
0
0
0
17
-19
-39
2
-32
76
8
-72
25
12
1
0
0
0
0
0
0
6
30
-52
10
54
-107
-8
51
-41
-85
0
0
0
0
0
0
0
-13
-27
-33
54
128
3
96
0
-11
13
0
0
0
0
0
0
0
-1
40
1
38
31
-95
-8
22
0
16
0
0
0
0
0
0
0
0
-6
10
74
40
-5
-46
-27
-56
0
0
0
0
0
0
0
0
0
-17
1
14
10
-1
30
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-2
47
-47
73
63
54
67
-129
0
-36
0
1
0
0
0
0
0
68
-74
-31
46
35
66
47
18
-10
-3
-30
8
0
0
0
0
0
-18
1
-19
-4
-57
-27
31
-66
17
-88
0
1
0
0
0
0
0
-16
20
-39
11
-15
-37
10
-96
-13
1
23
-8
0
0
0
0
0
-3
19
8
5
-23
33
-52
8
5
-39
0
0
0
0
0
0
0
43
47
7
-40
-89
4
40
-7
-7
0
-3
0
0
0
0
0
0
-3
6
-12
-87
-66
8
83
-8
-35
-54
0
0
0
0
0
0
0
0
-12
0
23
-8
-32
22
-9
-38
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-58
-8
0
0
0
0
0
0
0
0
0
0
-2
23
-29
-51
-22
10
-4
0
38
54
-1
0
0
0
0
0
0
46
18
-1
-71
-63
-9
22
9
-78
-10
0
0
0
0
0
0
0
-40
-39
-67
40
89
-44
92
-4
30
-31
3
0
0
0
0
0
0
-61
2
10
-25
31
-61
48
43
11
3
0
0
0
0
0
0
0
13
-21
-105
-125
-33
-51
-37
57
0
6
0
0
0
0
0
0
0
28
-98
17
-46
1
-24
122
2
10
0
0
0
0
0
0
0
0
-5
-67
0
-9
-14
24
63
55
46
2
0
0
0
0
0
0
0
0
3
8
2
-17
63
-156
-67
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
3
-1
9
-11
0
11
3
-16
0
0
0
0
0
0
0
-7
-8
-15
26
26
-1
22
21
-37
8
8
0
0
0
0
0
0
56
19
3
121
24
8
47
-4
21
2
0
0
0
0
0
0
0
7
10
6
8
-13
41
-59
-3
1
0
0
0
0
0
0
0
0
29
2
2
-16
12
3
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
30
-13
25
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
17
24
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
2
0
18
-8
-8
0
0
0
0
0
0
0
0
-5
-1
0
19
4
-18
14
5
14
0
0
0
0
0
0
0
0
12
-4
-3
3
0
-15
-3
8
-5
0
0
0
0
0
0
0
0
5
-2
4
-4
-14
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-1
13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
8
-13
10
0
0
0
0
0
0
0
0
0
0
0
1
4
19
6
-19
18
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-31
6
-11
-28
0
0
0
0
0
0
0
0
0
2
0
-4
-17
-3
-3
17
-75
0
0
0
0
0
0
0
0
-1
3
-2
-19
3
1
27
63
-5
1
0
0
0
0
0
0
0
0
0
-1
0
-6
-1
55
14
6
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
-13
-6
2
0
0
0
0
0
0
0
0
0
0
7
0
6
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-3
26
-2
0
-1
0
0
0
0
0
0
0
4
-10
0
6
-3
-59
-11
31
54
21
0
0
0
0
0
0
0
8
1
0
-4
-49
-54
19
105
-41
-30
0
0
0
0
0
0
0
1
6
0
3
-57
-24
3
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
3
2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-16
-35
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
1
1
0
0
0
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
0
41
-14
-5
12
0
-2
-6
0
0
0
0
0
0
0
-49
5
-7
-20
27
9
6
19
21
-3
0
0
0
0
0
0
0
13
15
18
15
34
8
-7
19
3
0
0
0
0
0
0
0
0
8
32
42
21
-30
35
147
-107
21
0
0
0
0
0
0
0
8
2
10
0
-26
-2
-78
30
4
-1
0
0
0
0
0
0
0
0
7
2
-6
0
35
25
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
-22
0
-40
-17
25
1
0
0
0
0
0
0
0
0
0
-1
-9
0
-4
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-4
-22
-17
-68
-97
-67
0
-69
0
0
0
0
0
0
0
-1
-5
14
13
2
-4
-66
-37
20
-19
0
0
0
0
0
0
0
3
49
0
1
-43
16
-55
4
4
46
0
0
0
0
0
0
0
-4
12
2
11
20
-87
-28
-1
-26
-10
2
0
0
0
0
0
0
0
-32
22
-41
-8
-8
0
8
-80
-3
0
0
0
0
0
0
0
0
6
-9
4
-21
0
16
6
-12
0
0
0
0
0
0
0
0
0
-2
4
-12
0
33
0
6
13
-1
0
0
0
0
0
0
0
0
0
5
0
0
21
-8
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
1
4
5
-1
23
-61
-8
0
-45
3
0
0
0
0
0
0
0
-2
0
7
71
-2
19
-30
38
-21
1
0
0
0
0
0
0
25
-7
1
-21
38
7
-67
-50
4
0
-1
0
0
0
0
0
0
24
-25
-1
14
-15
46
-38
-11
15
41
-3
0
0
0
0
0
0
-18
-22
-4
-38
-60
1
-19
0
2
0
0
0
0
0
0
0
0
-2
-40
-24
-2
-51
-137
0
29
-8
-14
0
0
0
0
0
0
0
-7
7
9
1
-98
8
63
0
-52
-2
0
0
0
0
0
0
0
0
-4
-1
-85
-7
-48
0
14
0
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
53
30
-3
21
78
-51
0
0
31
7
0
0
0
0
0
0
4
-82
-49
-2
126
14
74
-29
106
-46
5
0
0
0
0
0
0
2
61
-22
56
-30
-50
-51
-6
-3
32
0
0
0
0
0
0
0
11
21
22
-81
53
-11
4
12
-20
5
0
0
0
0
0
0
0
-1
20
21
3
-72
10
-42
-64
3
-14
0
0
0
0
0
0
0
-3
-39
-2
42
2
14
-24
0
23
1
0
0
0
0
0
0
0
0
-6
5
-17
-13
5
0
-127
-2
-9
0
0
0
0
0
0
0
0
-1
-13
-21
13
17
20
-16
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
51
9
-50
-55
-24
-20
13
141
0
-17
-7
0
0
0
0
0
0
62
32
-48
72
53
-27
21
-29
81
-6
14
16
0
0
0
0
0
-11
18
-52
7
-30
128
82
51
-13
40
1
0
0
0
0
0
0
-90
-90
-65
-52
-48
24
-57
48
-42
-104
0
0
0
0
0
0
0
24
45
55
-12
-78
19
-28
1
-15
0
0
0
0
0
0
0
0
-7
-22
-24
-61
-7
9
91
16
0
-7
0
0
0
0
0
0
0
-7
4
-77
-94
-43
0
30
0
13
0
0
0
0
0
0
0
0
-13
2
13
-36
-7
-15
-42
38
17
-21
0
0
0
0
0
0
0
0
0
0
-12
3
-3
-39
0
-1
0
0
0
0
0
0
0
0
0
-78
1
107
-22
1
-55
9
0
50
-15
1
0
0
0
0
0
0
-16
43
58
6
-5
-44
28
-16
38
-27
-3
0
0
0
0
0
0
-40
-36
12
-135
-40
12
-57
42
-69
-27
0
0
0
0
0
0
0
-100
-63
89
-33
-47
-17
48
5
-80
5
0
0
0
0
0
0
0
75
13
52
57
49
12
-71
-20
13
0
0
0
0
0
0
0
0
13
-84
21
28
58
-14
-32
71
0
1
0
0
0
0
0
0
0
-36
-42
-43
-33
-100
-71
-16
-5
-7
0
0
0
0
0
0
0
0
2
-15
-17
18
-21
-103
14
-58
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
22
-7
50
14
0
7
-2
0
0
0
0
0
0
0
0
14
7
51
46
0
-2
-4
14
11
0
0
0
0
0
0
0
0
-18
-8
6
-71
-21
-11
75
12
-4
0
0
0
0
0
0
0
0
10
12
0
23
-17
16
-65
-11
-3
0
0
0
0
0
0
0
0
-4
0
4
-21
-41
-10
-74
0
-4
0
0
0
0
0
0
0
0
2
0
0
-2
-1
-32
4
-5
0
0
0
0
0
0
0
0
0
1
0
0
20
26
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
8
-23
-2
0
0
0
0
0
0
0
0
0
-1
0
-10
-7
-5
3
29
-5
-2
0
0
0
0
0
0
0
2
-5
0
-5
-3
1
7
0
0
0
0
0
0
0
0
0
0
-1
4
0
4
9
-1
-7
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
3
5
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-17
0
0
0
0
0
0
0
0
0
0
0
4
1
42
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-45
-8
27
40
-6
0
0
0
0
0
0
0
0
0
0
0
7
0
13
-29
14
0
0
0
0
0
0
0
0
-4
0
0
-3
0
7
3
38
0
57
0
0
0
0
0
0
0
0
15
1
-2
3
-13
-91
-5
17
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
-16
2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-6
38
-30
29
6
0
0
0
0
0
0
0
0
0
-10
-6
14
-46
5
50
12
-13
0
0
0
0
0
0
0
0
-3
-1
0
-30
2
8
4
50
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
0
0
0
0
2
0
-6
0
-7
-37
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
14
-38
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
33
30
-43
-1
-2
-1
0
0
0
0
0
0
0
2
0
0
14
-13
49
7
-21
-16
0
0
0
0
0
0
0
3
1
-1
-5
0
4
-16
-10
22
0
0
0
0
0
0
0
0
-1
0
-7
-14
-29
7
48
4
1
1
0
0
0
0
0
0
0
0
0
-10
0
0
-2
2
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
3
-6
-13
-2
10
0
-1
0
0
0
0
0
0
0
0
-12
-1
0
29
-12
25
6
-20
24
0
0
0
0
0
0
0
0
15
0
-1
-22
-9
15
24
-15
-3
0
0
0
0
0
0
0
-8
0
6
-1
1
-31
8
-10
1
-38
0
0
0
0
0
0
0
0
-8
-1
4
-55
35
-91
5
55
0
0
0
0
0
0
0
0
0
6
0
-5
0
-49
0
74
4
-1
0
0
0
0
0
0
0
0
0
1
0
26
0
-23
-5
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-9
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
1
15
-65
30
0
7
0
0
0
0
0
0
0
0
7
-1
-15
68
-18
-15
13
10
40
1
0
0
0
0
0
0
-1
4
8
47
-58
-12
62
-35
-15
-12
0
0
0
0
0
0
0
-1
-1
7
83
-5
7
-16
16
-10
1
0
0
0
0
0
0
0
-1
22
15
75
-18
-50
15
10
0
0
0
0
0
0
0
0
0
-9
-12
-7
30
22
1
-11
0
29
-2
0
0
0
0
0
0
0
0
-17
0
0
-10
-7
0
-14
1
0
0
0
0
0
0
0
0
0
12
0
-12
-3
0
-15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
33
-13
52
-3
0
-5
-4
0
0
0
0
0
0
-12
29
10
65
46
56
20
74
-69
30
-5
0
0
0
0
0
0
-5
-39
5
-34
-41
-81
57
25
42
4
-1
0
0
0
0
0
0
43
71
9
52
91
81
-66
-75
24
-16
0
0
0
0
0
0
0
-9
-114
-24
39
8
-26
-42
-117
64
1
-1
0
0
0
0
0
0
-1
43
87
52
-59
62
0
-2
-1
-5
0
0
0
0
0
0
0
0
6
-13
3
-79
-30
11
0
-54
0
0
0
0
0
0
0
0
0
4
-1
4
-19
-100
2
1
0
9
0
0
0
0
0
0
0
0
0
0
6
6
0
17
10
-1
0
0
0
0
0
0
0
0
-31
13
-39
16
40
46
-44
-88
0
-22
1
0
0
0
0
0
0
-55
-32
-72
19
81
-37
99
-62
31
-58
-18
0
0
0
0
0
0
4
-62
-2
-25
1
44
10
121
39
-44
2
0
0
0
0
0
0
2
-107
-10
-19
-56
8
3
2
23
10
-3
0
0
0
0
0
0
33
-6
-9
110
82
40
146
7
-67
-11
0
0
0
0
0
0
0
-49
-32
-98
26
-10
39
-54
-6
-38
0
-1
0
0
0
0
0
0
3
21
-24
-7
30
-83
-40
26
0
-16
0
0
0
0
0
0
0
0
-3
-3
35
-5
-40
-19
-2
40
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
5
2
0
0
0
0
0
0
0
0
0
26
1
-42
-85
13
8
-1
0
-21
-25
0
0
0
0
0
0
0
36
43
37
37
-20
26
-34
-34
73
-73
2
0
0
0
0
0
0
59
-4
-10
-1
53
12
-41
16
11
-44
0
0
0
0
0
0
0
-22
49
7
-9
-24
-5
-9
-4
59
19
0
0
0
0
0
0
0
85
-36
17
37
75
-9
68
74
-47
0
0
0
0
0
0
0
0
113
52
-13
73
-34
13
12
3
-123
0
0
0
0
0
0
0
0
-3
49
-16
52
7
37
56
72
0
0
0
0
0
0
0
0
0
1
3
-2
-2
-86
-34
25
2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-3
14
0
50
30
-15
0
109
-48
0
0
0
0
0
0
0
0
21
10
5
7
93
9
5
1
9
0
0
0
0
0
0
0
0
12
-4
-2
77
5
42
33
50
16
0
0
0
0
0
0
0
0
15
3
54
26
42
41
57
75
24
0
0
0
0
0
0
0
0
17
-3
-5
-30
-23
11
-1
41
0
0
0
0
0
0
0
0
0
-5
-3
0
-24
54
-39
13
-1
4
0
0
0
0
0
0
0
0
0
0
3
-8
9
3
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
4
-19
5
0
0
0
0
0
0
0
0
2
0
0
1
2
8
0
-1
13
0
0
0
0
0
0
0
0
0
0
-2
5
7
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-29
0
17
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
25
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-22
0
0
0
0
0
0
0
0
0
0
2
0
0
24
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
45
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
7
17
-71
0
0
0
0
0
0
0
0
-4
0
3
0
2
-2
-4
30
12
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-21
-9
-2
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
9
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-6
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-43
-16
-21
0
-12
0
0
0
0
0
0
0
0
-3
0
0
8
-8
-93
-8
43
41
0
0
0
0
0
0
0
-6
-7
0
-6
-1
0
2
30
0
-16
0
0
0
0
0
0
0
0
1
5
-1
-53
61
-18
-12
47
0
0
0
0
0
0
0
0
8
3
23
-3
-8
45
-7
7
14
0
0
0
0
0
0
0
0
0
5
1
0
57
0
-39
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
4
-76
10
0
0
0
0
0
0
0
0
0
0
30
-1
-13
-12
-12
101
-20
-42
5
0
0
0
0
0
0
0
9
31
-1
48
-86
19
-18
35
-45
-8
0
0
0
0
0
0
0
51
9
0
27
-114
-37
47
-10
-66
6
0
0
0
0
0
0
0
0
-41
-3
-34
59
19
143
30
13
3
0
0
0
0
0
0
0
3
1
13
32
-141
77
5
25
-19
0
0
0
0
0
0
0
0
16
12
14
9
106
-32
-2
9
0
0
0
0
0
0
0
0
0
0
9
0
-12
-1
-72
40
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-7
8
-22
-15
-23
-5
18
0
27
0
0
0
0
0
0
0
-1
-62
2
10
26
-21
-24
-42
77
9
7
0
0
0
0
0
0
109
14
28
-40
-69
40
43
85
48
-58
3
0
0
0
0
0
0
-23
-4
11
-59
-44
49
59
79
21
-20
-4
0
0
0
0
0
0
67
6
39
-21
-40
19
6
104
-8
-2
-5
0
0
0
0
0
0
-57
-81
49
-64
26
-43
-20
12
30
33
0
0
0
0
0
0
0
-13
-10
-47
26
0
-11
-11
0
3
0
0
0
0
0
0
0
0
14
-2
-4
35
-24
-14
-89
-37
0
-1
0
0
0
0
0
0
0
0
0
0
0
-48
25
-6
0
0
0
0
0
0
0
0
0
0
0
1
4
54
-84
9
-19
97
0
-19
0
0
0
0
0
0
0
0
62
-15
-52
77
7
-47
62
39
48
-5
0
0
0
0
0
0
0
36
-17
-31
47
30
16
31
52
78
13
0
0
0
0
0
0
0
-8
-50
76
-4
49
92
8
-26
-54
-8
0
0
0
0
0
0
0
18
-15
-33
11
18
72
63
47
-2
1
0
0
0
0
0
0
0
-28
-92
-10
30
-4
-25
41
50
29
0
0
0
0
0
0
0
0
-7
-47
-33
6
-40
-28
9
-3
-26
0
0
0
0
0
0
0
0
1
-4
6
-13
55
37
15
12
0
0
0
0
0
0
0
0
0
0
13
0
0
3
-19
6
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
31
0
-7
0
0
0
0
0
0
0
0
0
14
-2
0
36
-13
-9
10
0
-4
0
0
0
0
0
0
0
0
16
17
0
-5
57
7
18
27
5
0
0
0
0
0
0
0
0
44
1
5
40
-10
-15
14
-21
6
0
0
0
0
0
0
0
0
-8
0
3
66
48
-21
-21
-7
-4
0
0
0
0
0
0
0
0
-12
3
-2
-10
-8
34
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-24
0
-5
-13
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-4
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
5
0
-2
0
0
0
0
0
0
0
0
0
0
-3
1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-1
-34
-13
-2
0
0
0
0
0
0
0
0
4
0
0
1
0
-7
13
-83
11
0
0
0
0
0
0
0
0
13
-17
-2
6
9
-30
-35
0
-5
0
0
0
0
0
0
0
0
5
-8
-3
-36
0
43
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
13
-3
22
1
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
22
6
2
0
0
0
0
0
0
0
0
0
0
0
0
5
5
42
-29
-16
11
0
0
0
0
0
0
0
0
49
1
0
23
47
16
35
71
28
-6
0
0
0
0
0
0
0
61
6
0
112
5
70
110
-5
-112
0
0
0
0
0
0
0
0
11
24
73
92
-41
66
23
6
70
3
0
0
0
0
0
0
0
50
-51
-35
58
-15
-18
71
29
2
2
0
0
0
0
0
0
0
-49
-30
0
34
16
15
-12
-6
0
-3
0
0
0
0
0
0
0
15
-4
-12
28
30
-48
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
50
0
48
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
61
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
-91
-7
1
3
0
0
0
0
0
0
0
0
0
-6
0
9
-10
5
-7
4
-6
-2
0
0
0
0
0
0
0
0
0
0
19
9
16
0
-40
3
0
0
0
0
0
0
0
0
5
-1
-1
7
-31
-15
-15
22
-2
0
0
0
0
0
0
0
0
-5
0
-2
30
-15
9
2
45
0
0
0
0
0
0
0
0
0
0
0
1
8
-29
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
97
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
120
27
-1
0
0
-2
0
0
0
0
0
0
0
0
-10
-44
-14
41
38
11
0
-1
31
0
0
0
0
0
0
0
0
31
-14
-51
-33
16
27
-22
3
50
0
0
0
0
0
0
0
0
0
35
-17
33
-1
35
13
-2
1
0
0
0
0
0
0
0
0
0
3
-5
-3
20
14
-18
0
0
0
0
0
0
0
0
0
0
1
0
8
0
-24
0
0
0
-2
0
0
0
0
0
0
0
0
0
-20
0
-13
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
-22
10
-24
2
0
-6
0
0
0
0
0
0
0
0
78
9
-3
20
43
-26
0
-9
0
0
0
0
0
0
0
0
-16
-16
39
-70
0
-15
50
31
87
37
0
0
0
0
0
0
0
-1
12
49
-5
10
69
-60
15
27
-7
0
0
0
0
0
0
0
-1
73
-19
63
-17
-71
43
-51
-4
-19
0
0
0
0
0
0
0
0
30
-50
12
24
-78
-7
-12
-5
2
0
0
0
0
0
0
0
0
0
15
0
-32
-32
30
-24
-17
2
0
0
0
0
0
0
0
0
0
8
0
22
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
0
4
39
-13
-22
1
0
-1
-3
0
0
0
0
0
0
-7
0
57
7
-48
78
22
0
0
0
-6
0
0
0
0
0
0
0
2
83
13
-128
-41
-6
58
19
-43
-56
0
0
0
0
0
0
4
22
85
37
42
-7
15
6
-9
2
-67
0
0
0
0
0
0
0
115
92
22
8
-7
7
86
6
-24
0
0
0
0
0
0
0
0
21
-34
37
18
68
20
5
-19
5
0
0
0
0
0
0
0
0
0
-8
-24
60
18
9
-71
22
0
-8
0
0
0
0
0
0
0
0
2
29
-1
0
0
-1
0
0
0
0
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
0
5
14
0
0
0
0
0
4
0
0
0
0
0
10
-53
-1
42
0
102
-24
0
0
0
-12
0
0
0
0
0
0
0
0
-56
-20
88
-25
-18
15
-6
14
-4
8
0
0
0
0
0
-3
-10
102
9
36
-18
-14
45
53
14
12
-3
0
0
0
0
0
-1
-3
-33
-26
43
-62
-42
1
69
-3
-5
-2
0
0
0
0
0
-2
0
44
76
-1
-51
4
5
-43
-19
0
0
0
0
0
0
0
0
0
1
10
-56
5
8
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
16
-3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
24
56
5
52
0
-22
0
2
0
-13
0
0
0
0
0
0
0
-7
-14
0
12
-10
-33
-18
7
16
-1
-2
0
0
0
0
0
-2
10
0
73
-15
62
4
7
-47
-13
-2
2
0
0
0
0
0
0
9
-7
40
9
50
-4
5
0
-14
-4
0
0
0
0
0
0
0
-7
1
-15
47
49
-16
4
2
-8
0
3
0
0
0
0
0
0
0
4
2
5
-19
2
2
0
0
0
0
0
0
0
0
0
0
0
0
19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
-8
0
3
2
0
0
0
0
0
0
0
0
0
0
5
-3
-69
-2
-11
0
0
19
0
-8
0
0
0
0
0
0
-15
17
-21
-33
-138
-11
-10
-2
24
7
2
3
0
0
0
0
0
4
-81
1
8
-61
70
23
6
-3
41
13
0
0
0
0
0
0
0
1
8
22
-74
43
4
46
4
4
7
0
0
0
0
0
0
0
-2
15
-15
1
40
6
-22
0
4
0
0
0
0
0
0
0
0
0
8
0
10
0
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
13
0
1
0
0
1
0
0
0
0
0
0
0
1
-25
44
27
0
-2
0
-12
0
-8
1
0
0
0
0
0
0
0
2
-25
-40
22
-22
-55
36
19
2
-3
0
0
0
0
0
0
-27
-56
-30
5
10
-27
8
2
-34
5
0
0
0
0
0
0
0
-4
0
8
-18
-3
9
23
9
0
12
0
0
0
0
0
0
0
10
1
2
5
30
-4
-9
-20
1
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
-4
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
-5
0
0
0
0
-14
6
0
0
0
0
0
0
0
-17
32
-55
-2
-8
1
10
13
2
-1
0
0
0
0
0
0
-3
-9
-23
10
-4
1
5
-5
-8
16
0
-6
0
0
0
0
0
3
0
1
-1
20
45
2
-18
-12
3
0
0
0
0
0
0
0
0
0
-1
0
-18
1
3
1
0
5
0
0
0
0
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-20
8
-7
-22
0
0
0
0
0
0
0
0
0
0
0
8
53
-7
-12
22
-21
14
0
-7
0
0
0
0
0
0
0
0
58
70
2
-48
54
-37
-14
41
15
0
0
0
0
0
0
0
0
-9
51
85
36
-4
75
28
1
-45
0
0
0
0
0
0
0
0
-5
-92
64
-63
-47
-125
31
1
-19
0
0
0
0
0
0
0
0
0
55
56
18
47
41
-6
4
2
0
0
0
0
0
0
0
0
-1
34
-13
12
8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-21
50
21
-16
1
0
12
0
0
0
0
0
0
0
16
97
-1
47
21
29
14
0
-30
0
0
0
0
0
0
0
0
-1
39
-43
-53
-19
-85
15
-96
-10
-4
0
0
0
0
0
0
0
-22
38
-12
40
43
-85
60
22
99
19
0
0
0
0
0
0
0
25
44
49
-43
-6
8
-60
-24
-10
-54
0
0
0
0
0
0
0
-9
35
38
15
-37
80
-24
64
27
-17
0
0
0
0
0
0
0
-6
3
-42
68
-63
36
28
-2
19
13
0
0
0
0
0
0
0
0
2
4
-3
-76
-12
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-32
5
-21
-5
-49
-18
0
1
17
0
0
0
0
0
0
-7
78
21
24
-13
70
-37
0
16
0
16
0
0
0
0
0
0
5
35
47
52
133
-7
46
90
17
24
-94
0
0
0
0
0
0
17
13
32
36
-47
22
29
109
58
9
27
0
0
0
0
0
0
15
1
63
38
5
34
32
-1
13
-97
7
0
0
0
0
0
0
5
-33
-27
-57
-89
-43
-16
28
-14
-1
-12
0
0
0
0
0
0
-9
-13
36
-68
11
-71
45
-10
1
2
0
0
0
0
0
0
0
0
0
0
5
20
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
47
1
-7
-48
-8
0
0
8
0
0
0
0
0
0
1
-5
85
12
30
-3
7
0
-4
0
20
4
0
0
0
0
0
0
-13
-26
-75
-55
-20
-45
88
28
-4
19
0
0
0
0
0
0
1
23
48
3
2
-17
4
-12
-16
58
-5
-9
0
0
0
0
0
-5
9
67
44
30
35
-38
19
14
-17
-13
0
0
0
0
0
0
-1
33
20
65
53
2
-27
19
51
-4
2
0
0
0
0
0
0
0
0
3
-25
-26
-20
26
5
-9
0
3
0
0
0
0
0
0
0
0
4
-2
5
1
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
77
2
14
0
-34
-4
0
-2
-1
-1
0
0
0
0
0
-38
23
-77
-19
-14
-8
49
0
1
0
30
-1
0
0
0
0
0
15
5
8
26
-38
28
33
-10
48
5
-27
-4
0
0
0
0
0
0
-12
-10
37
106
-78
-28
8
-39
66
-2
1
0
0
0
0
0
-4
-24
25
-62
31
76
39
-95
-6
45
-1
-1
0
0
0
0
0
0
4
28
39
29
38
9
-1
2
21
-1
4
-2
0
0
0
0
0
0
-6
-14
37
-42
-8
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
27
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-73
5
19
0
5
0
2
2
0
0
0
0
0
0
0
3
-25
-30
5
30
9
0
0
0
-9
1
0
0
0
0
0
1
-53
-52
29
-16
70
-49
58
-13
-15
40
-25
2
0
0
0
0
-5
-16
27
-12
2
-103
-65
14
39
24
-16
4
2
0
0
0
0
10
-19
-44
3
-47
-1
77
-51
-1
-7
-1
0
0
0
0
0
0
0
9
-14
17
93
51
30
-7
-13
5
0
3
2
0
0
0
0
0
0
7
13
9
-3
-4
-24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
55
-5
-27
-1
8
0
0
0
3
0
0
0
0
0
0
0
1
-51
-45
-8
12
24
0
-3
0
-8
4
0
0
0
0
0
1
5
39
69
-9
83
-33
5
6
48
8
3
-4
0
0
0
0
-1
-3
64
-37
25
3
-14
-53
-2
54
1
0
6
0
0
0
0
-5
-1
-81
-111
12
-13
41
29
-25
-25
-24
-9
0
0
0
0
0
-4
18
-6
47
47
19
15
-19
-1
-22
-1
0
2
0
0
0
0
0
0
2
9
22
-49
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-7
0
0
0
0
1
6
0
0
0
0
0
0
0
0
21
8
-5
0
2
0
-1
0
20
2
0
0
0
0
0
0
-3
6
21
19
6
8
6
-29
-14
-9
0
0
0
0
0
0
0
6
-71
-43
-8
25
38
5
-9
13
3
0
0
0
0
0
0
0
18
60
58
33
65
89
-6
2
-22
0
2
0
0
0
0
0
0
0
4
8
0
7
8
-8
1
-6
0
0
0
0
0
0
0
0
0
2
0
-4
8
-6
3
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
3
1
-1
-1
5
0
0
0
0
0
0
0
0
-19
20
6
-41
1
-3
-4
5
0
0
0
0
0
0
0
0
0
12
-3
-3
-8
19
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
2
-1
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
-1
0
5
0
3
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-2
71
13
-17
0
0
0
0
0
0
0
0
0
0
0
50
-6
12
17
24
118
2
0
8
0
0
0
0
0
0
0
0
2
-34
-65
-89
75
-9
24
25
-131
0
0
0
0
0
0
0
0
-41
-78
49
128
-64
57
-68
40
56
0
0
0
0
0
0
0
0
-40
-31
-64
-99
-28
-76
54
-3
62
0
0
0
0
0
0
0
0
3
84
53
-49
-103
44
-29
-7
1
0
0
0
0
0
0
0
0
-10
-1
6
37
7
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-3
-2
0
0
0
0
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
44
-48
-55
-22
19
19
16
0
6
0
0
0
0
0
0
0
-6
23
-99
-31
-23
32
36
0
16
0
0
0
0
0
0
0
0
16
44
38
-27
48
39
-38
-3
-82
-38
0
0
0
0
0
0
0
-4
-20
-16
-51
-126
-52
65
146
57
27
0
0
0
0
0
0
0
-13
-48
-8
-60
-13
9
22
45
90
72
0
0
0
0
0
0
0
0
149
-58
16
-60
89
-100
3
12
25
0
0
0
0
0
0
0
0
7
-10
-60
38
1
111
-16
-4
-12
0
0
0
0
0
0
0
0
0
31
23
7
9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-48
-14
16
59
-30
-24
0
5
-47
0
0
0
0
0
0
-27
26
7
135
-26
-42
50
0
17
0
44
0
0
0
0
0
0
9
-7
49
-24
28
-18
-42
63
47
-60
-29
0
0
0
0
0
0
7
12
-83
47
-21
51
7
79
32
-19
25
0
0
0
0
0
0
0
46
5
29
58
0
31
6
26
-1
-8
0
0
0
0
0
0
0
-98
17
44
48
-12
-37
0
19
-26
1
0
0
0
0
0
0
0
0
124
-81
10
25
-6
12
-5
0
0
0
0
0
0
0
0
0
0
1
-1
1
29
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
78
-3
9
-4
41
8
0
0
-30
0
0
0
0
0
0
0
20
55
-11
41
-25
23
0
-6
0
5
-4
0
0
0
0
0
-3
-15
28
36
-30
-8
22
69
15
72
21
-7
0
0
0
0
0
-6
-67
-42
-49
9
-10
-17
-9
-3
-2
15
-6
0
0
0
0
0
12
-8
-57
2
12
-55
112
19
-1
11
1
0
0
0
0
0
0
0
21
-127
76
-34
-56
3
79
12
3
3
0
0
0
0
0
0
0
-2
-73
-35
-6
-13
0
30
6
0
0
0
0
0
0
0
0
0
0
-34
0
2
-8
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-10
-41
-65
40
-1
0
-2
3
0
0
0
0
0
0
4
6
88
-37
-42
129
16
0
-1
0
-8
-1
1
0
0
0
0
0
4
-24
11
14
28
19
17
20
-18
-3
-57
0
0
0
0
0
-2
22
51
-50
-49
-43
102
6
-7
7
8
-1
0
0
0
0
0
-4
-30
-5
56
-28
-31
40
10
20
5
-10
-3
0
0
0
0
0
0
14
-71
47
-21
74
42
-7
-6
1
-8
0
0
0
0
0
0
0
1
5
2
71
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-16
15
-15
62
0
0
3
0
2
0
0
0
0
0
-3
10
-56
-53
16
0
-48
0
6
0
-12
2
-5
0
0
0
0
-8
-1
107
20
37
5
48
18
18
-53
40
-1
-1
0
0
0
0
0
5
-24
-29
-25
-22
79
-5
10
-30
8
1
-1
0
0
0
0
0
-8
25
-72
34
49
60
-9
17
-1
0
0
0
0
0
0
0
0
1
6
16
60
44
3
4
-10
1
-2
-1
0
0
0
0
0
0
0
-30
-4
-1
1
-8
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
45
-20
-14
30
0
0
-3
0
0
0
0
0
0
0
-4
10
-2
55
39
-3
-6
0
-10
0
6
-5
1
0
0
0
0
0
8
19
-1
29
74
-1
-10
-10
40
2
-2
0
0
0
0
0
0
17
-8
67
-16
-26
24
7
6
-15
6
0
2
0
0
0
0
-6
5
-38
40
-4
8
-57
-13
25
-5
-1
0
0
0
0
0
0
0
0
32
-27
9
-2
21
-25
0
1
-2
0
0
0
0
0
0
0
0
32
-34
10
-19
1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
26
-1
13
0
0
-2
0
0
0
0
0
0
0
0
-5
43
-15
-15
44
0
0
-1
0
34
-4
0
0
0
0
0
-4
-24
16
13
16
-1
-22
0
-5
-8
-7
0
0
-4
0
0
0
0
2
-2
5
-25
27
-8
-22
2
5
-7
0
2
0
0
0
0
0
-19
-16
-108
-36
-20
-33
-1
-82
-8
5
0
0
0
0
0
0
0
0
-6
-1
2
30
-23
0
-1
3
2
0
0
0
0
0
0
0
0
8
3
6
-29
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
7
-10
2
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-11
-13
26
4
0
0
0
6
0
0
0
0
0
0
0
6
37
1
12
0
-1
-2
0
-2
0
-3
0
0
0
0
0
0
1
-2
4
-8
-30
51
1
2
-12
2
0
0
0
0
0
0
0
-1
6
5
-21
-6
33
0
-42
16
0
-1
0
0
0
0
0
0
0
5
-18
1
18
-3
2
0
-1
5
0
0
0
0
0
0
0
0
0
-16
-6
-1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
4
-5
0
0
0
1
0
0
0
0
0
0
0
0
13
5
1
4
25
0
0
0
0
2
0
0
0
0
0
0
-5
4
5
38
-1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
10
1
15
15
4
0
-2
0
0
0
0
0
0
0
0
0
-1
24
-16
-29
8
5
0
-2
1
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-28
-47
24
34
45
-3
1
0
0
0
0
0
0
0
0
0
42
-52
-50
-13
-2
-42
2
0
-6
0
0
0
0
0
0
0
0
-6
-36
29
-7
43
48
-8
23
40
0
0
0
0
0
0
0
0
-4
-33
-3
26
-29
14
15
-5
89
0
0
0
0
0
0
0
0
20
5
107
65
-48
6
-24
0
24
0
0
0
0
0
0
0
0
-3
-22
27
-2
89
-91
-2
1
1
0
0
0
0
0
0
0
0
0
49
-9
-18
6
-15
0
0
5
0
0
0
0
0
0
0
0
0
-13
6
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-7
-3
-2
30
-13
-11
-2
0
-1
0
0
0
0
0
0
0
99
-60
-35
-61
-55
-26
-103
0
18
0
0
0
0
0
0
0
0
24
3
56
-51
28
-96
-50
-58
18
-29
0
0
0
0
0
0
0
41
7
94
-7
57
31
12
-71
2
33
0
0
0
0
0
0
0
0
-15
25
-94
-25
0
-56
-43
30
-4
0
0
0
0
0
0
0
4
19
-94
-62
28
55
-19
-16
-51
-45
0
0
0
0
0
0
0
0
5
47
26
-34
50
-2
5
-19
-5
0
0
0
0
0
0
0
0
0
-3
87
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-57
9
-49
-88
74
-4
0
12
-3
0
0
0
0
0
0
0
-26
41
49
-42
15
72
0
12
0
37
0
0
0
0
0
0
44
30
-9
19
58
50
34
23
-126
30
-37
0
0
0
0
0
0
3
-3
49
-14
62
-159
89
47
18
43
-13
0
0
0
0
0
0
5
3
15
41
49
29
21
-25
9
141
-4
0
0
0
0
0
0
0
100
-8
-2
-64
-19
53
-24
30
49
0
0
0
0
0
0
0
0
-8
-24
-15
67
-48
-2
-52
-5
4
0
0
0
0
0
0
0
-1
0
16
-54
3
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
24
-12
118
-33
1
0
-10
0
0
0
0
0
0
0
13
-23
-27
83
-14
-4
-50
0
-9
0
-7
-3
0
0
0
0
0
3
-9
12
78
54
1
26
-49
-33
7
-10
5
0
0
0
0
0
2
2
-43
2
115
31
-70
26
-4
-26
12
0
0
0
0
0
0
0
0
-18
-27
23
-36
44
-118
25
39
22
-2
0
0
0
0
0
0
-16
-32
19
27
22
-84
14
-4
17
-3
0
0
0
0
0
0
0
14
-8
-79
44
-7
-3
3
5
0
0
0
0
0
0
0
0
0
2
4
20
5
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
84
0
-69
-2
0
0
5
3
7
0
0
0
0
0
0
6
-33
-49
-15
-5
87
0
-8
0
-49
2
1
0
0
0
0
0
-103
4
4
-13
26
-104
47
14
9
-67
24
0
0
0
0
0
0
73
-27
-27
1
78
-50
-31
9
32
0
-1
0
0
0
0
0
0
63
61
0
-25
4
-49
1
30
-4
-32
0
0
0
0
0
0
0
-13
1
-30
-58
-3
-49
17
-13
8
0
0
0
0
0
0
0
0
0
27
-41
-32
25
15
0
3
0
0
0
0
0
0
0
0
0
0
9
6
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
14
-49
88
4
15
-8
0
0
0
0
0
0
0
0
0
0
13
-14
19
-46
71
8
0
-1
0
12
-8
6
0
0
0
0
0
43
-13
-17
9
-5
-20
46
-19
-26
8
6
0
0
0
0
0
0
78
-16
13
-17
0
-4
-1
-1
13
-5
0
0
0
0
0
0
0
2
37
29
-2
56
0
14
0
0
0
0
0
0
0
0
0
0
-31
-2
-23
-11
-20
6
12
0
-1
0
0
0
0
0
0
0
0
0
0
25
-1
-1
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-106
31
23
6
-9
0
0
-2
-1
0
0
0
0
0
0
0
-1
1
9
-21
-73
41
0
0
0
3
1
0
0
0
0
0
0
4
-23
-83
1
0
24
8
-3
-5
-20
0
0
0
0
0
0
-1
17
45
-20
-4
40
0
8
1
6
-3
1
0
0
0
0
0
0
4
-106
-3
-57
2
7
-1
0
-7
0
0
0
0
0
0
0
0
2
1
-18
-1
110
-29
0
-40
-4
-2
0
0
0
0
0
0
0
0
-15
5
-5
1
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
5
-67
1
0
0
0
0
0
0
0
0
0
0
0
-6
-30
7
-23
-62
13
17
0
0
0
-1
2
0
0
0
0
0
0
18
-45
25
16
-53
6
5
-3
12
1
0
0
0
0
0
0
0
-1
-6
-17
-42
16
1
0
8
-7
0
0
3
0
0
0
0
0
-2
-3
-23
11
60
0
-5
0
12
0
0
0
0
0
0
0
0
0
4
-10
-76
-2
8
5
0
-3
0
0
0
0
0
0
0
0
-8
6
91
1
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
3
-45
-5
24
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-49
50
4
-2
0
0
0
-1
0
0
0
0
0
0
0
-1
-21
-74
23
8
-6
0
-2
0
0
0
0
0
0
0
0
0
0
8
13
4
5
2
-4
0
0
0
0
0
0
0
0
0
0
0
8
36
-5
-15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
15
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-5
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
39
-2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
5
-2
1
0
-4
1
0
0
0
0
0
0
0
0
0
-1
9
0
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-8
-1
-10
-6
-3
12
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-2
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
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
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-22
27
52
13
-17
2
0
0
0
0
0
0
0
0
0
0
30
8
4
45
1
62
-9
0
-18
0
0
0
0
0
0
0
0
24
-20
15
21
11
-48
63
0
57
0
0
0
0
0
0
0
0
76
-42
67
42
-16
71
-14
-8
8
0
0
0
0
0
0
0
0
0
-81
0
133
-42
7
-6
0
-4
0
0
0
0
0
0
0
0
-1
0
14
-138
82
36
-9
-4
-36
0
0
0
0
0
0
0
0
-2
-5
-6
23
-40
2
-1
0
1
0
0
0
0
0
0
0
0
0
24
-3
37
-8
-9
-4
0
0
0
0
0
0
0
0
0
0
0
9
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
62
-58
74
6
14
-24
0
0
0
0
0
0
0
0
0
0
-1
-95
-50
-3
-46
91
32
0
-48
0
0
0
0
0
0
0
0
-45
36
-45
-55
-42
-67
-48
-72
-2
-45
0
0
0
0
0
0
0
0
-38
41
0
62
-17
9
-41
65
-103
0
0
0
0
0
0
0
-3
0
-109
-21
-18
4
-24
-45
-8
65
0
0
0
0
0
0
0
0
29
31
26
38
-11
-61
66
98
38
0
0
0
0
0
0
0
0
-2
27
-45
-14
59
-88
-6
16
1
0
0
0
0
0
0
0
0
-5
-41
85
-32
-20
0
3
1
0
0
0
0
0
0
0
0
0
-2
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
21
-93
69
34
30
-1
-4
0
6
2
0
0
0
0
0
0
3
-20
-10
42
4
-65
-23
0
34
0
39
0
0
0
0
0
0
0
10
32
101
29
20
32
-10
21
-1
9
0
0
0
0
0
0
-38
8
-26
4
-7
-22
49
-46
-14
-20
22
0
0
0
0
0
0
1
44
0
91
17
28
-56
43
2
-34
0
0
0
0
0
0
0
0
0
-16
7
1
-74
91
-24
25
8
2
0
0
0
0
0
0
0
-9
-9
46
27
-5
-29
64
-2
16
0
0
0
0
0
0
0
0
-2
5
18
132
8
10
12
2
0
0
0
0
0
0
0
0
1
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
81
-114
-49
42
61
2
0
2
12
0
0
0
0
0
0
0
51
44
47
-1
17
-41
0
-19
0
57
1
0
0
0
0
0
0
-13
2
26
5
73
-83
68
-47
29
-46
-5
0
0
0
0
0
0
80
4
14
58
94
34
-67
4
78
-9
-8
0
0
0
0
0
-2
-3
17
0
-103
-2
-75
-14
43
16
0
0
0
0
0
0
0
0
55
0
-61
-1
-17
-76
22
-41
11
-3
0
0
0
0
0
0
0
0
65
-17
-56
-66
85
-1
-17
14
0
0
0
0
0
0
0
0
0
9
-9
-103
-20
-3
-5
-7
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
30
55
4
-5
-20
0
0
-3
0
0
0
0
0
0
-5
-46
-24
19
-28
-54
-1
0
-8
0
24
-2
0
0
0
0
0
0
-9
-16
106
-3
37
-3
-29
-19
-70
0
-2
0
0
0
0
0
0
33
-13
0
-24
6
90
-13
18
13
-13
0
0
0
0
0
0
0
-3
51
-18
0
-20
47
44
25
16
0
0
0
0
0
0
0
0
21
-44
1
-14
-3
46
21
1
3
0
0
0
0
0
0
0
0
-24
-6
32
-63
19
8
-5
19
2
0
0
0
0
0
0
0
0
-3
2
-5
-49
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-47
-59
35
7
-14
-1
0
0
0
0
0
0
0
0
0
0
-4
-4
52
27
-38
4
0
-3
0
14
-4
-3
0
0
0
0
0
13
89
-36
66
52
-8
-9
-5
-5
0
2
0
0
0
0
0
0
93
-4
-20
-2
-9
5
-22
20
9
2
3
0
0
0
0
0
0
51
29
-25
79
0
29
-22
14
-3
0
0
0
0
0
0
0
0
1
30
58
0
-12
1
18
-5
5
0
0
0
0
0
0
0
0
0
27
-2
6
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-24
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-47
10
-48
-3
21
3
0
0
1
0
0
0
0
0
0
0
-13
40
44
-4
-66
5
0
-1
0
4
0
0
0
0
0
0
-7
71
17
20
1
-9
-9
4
42
-2
-8
2
-1
0
0
0
0
0
6
-38
3
17
0
29
0
-13
-29
-5
0
0
0
0
0
0
0
-8
-6
5
-29
-24
0
6
6
-2
0
0
0
0
0
0
0
0
0
8
-9
17
0
21
-2
24
-2
0
0
0
0
0
0
0
0
0
-5
9
-1
20
3
-1
1
0
0
0
0
0
0
0
0
0
0
5
-1
-1
0
0
0
0
0
0
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
10
2
42
1
7
0
0
0
0
0
0
0
0
0
0
0
-1
44
-27
18
13
19
0
0
0
0
0
0
0
0
0
0
0
-27
33
25
35
-73
21
1
3
22
0
2
0
0
0
0
0
4
0
19
7
-7
33
2
-1
0
-4
-1
0
0
0
0
0
0
0
3
0
13
-19
-67
-4
0
-14
25
0
0
0
0
0
0
0
0
4
5
32
-10
11
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-59
-8
2
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-12
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-3
1
2
10
0
0
0
0
0
0
0
0
0
0
0
-12
30
-14
68
19
2
0
0
0
0
0
0
0
0
0
0
0
6
10
-4
13
-23
0
-4
-5
-7
0
0
0
0
0
0
0
0
0
-16
-7
-49
29
-15
0
0
0
0
0
0
0
0
0
0
0
0
10
5
41
-6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
19
-9
4
0
0
1
0
0
0
0
0
0
0
0
-8
6
32
11
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-51
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
6
17
-57
-20
-8
-10
0
-4
0
0
0
0
0
0
0
0
0
0
13
-3
5
26
6
8
0
-2
0
0
0
0
0
0
0
0
0
1
-2
1
-1
0
9
4
0
0
0
0
0
0
0
0
0
0
5
32
4
-14
13
-4
0
0
0
0
0
0
0
0
0
0
5
-6
0
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
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
-1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-29
54
21
25
-3
0
0
0
0
0
0
0
0
0
0
0
33
53
-5
-6
21
20
5
0
5
0
0
0
0
0
0
0
0
-63
-34
53
-81
5
18
13
-32
-93
0
0
0
0
0
0
0
0
-36
-16
35
-11
116
-46
9
-31
-85
0
0
0
0
0
0
0
0
-34
0
18
-22
-52
-25
40
23
-62
0
0
0
0
0
0
0
0
0
8
128
17
24
-4
8
-29
4
0
0
0
0
0
0
0
0
1
0
-26
-39
46
0
1
28
-8
0
0
0
0
0
0
0
0
0
18
-1
42
-3
21
-4
0
0
0
0
0
0
0
0
0
0
0
-13
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
63
21
-10
-3
5
-24
0
0
-22
0
0
0
0
0
0
0
-2
17
-30
-45
82
-31
76
0
58
0
0
0
0
0
0
0
0
-42
-34
-1
-8
-19
-108
-9
104
2
-65
0
0
0
0
0
0
0
9
48
51
-40
24
19
71
-108
49
109
0
0
0
0
0
0
0
0
50
8
9
-14
-12
22
62
12
54
0
0
0
0
0
0
0
0
0
-27
43
-35
-43
8
29
16
-54
0
0
0
0
0
0
0
0
-1
5
-30
-33
27
-33
2
31
29
0
0
0
0
0
0
0
-4
-13
58
-38
51
19
-6
17
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-10
-39
-15
3
9
-1
0
-4
13
0
0
0
0
0
0
-2
67
-22
18
-14
26
-8
0
-1
0
32
0
0
0
0
0
0
-69
-29
38
-18
26
44
-67
-21
58
-17
14
0
0
0
0
0
0
-2
-51
-40
-37
-35
24
-72
107
-20
93
13
0
0
0
0
0
0
-14
3
30
-2
105
26
-54
-95
37
23
7
0
0
0
0
0
0
0
-24
0
-3
3
-42
23
54
-13
18
-3
0
0
0
0
0
0
4
0
74
-20
0
48
33
18
24
-5
0
0
0
0
0
0
0
0
2
-17
32
17
28
-8
0
6
0
0
0
0
0
0
0
0
0
-7
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
50
21
39
-56
36
13
0
8
-2
-4
0
0
0
0
0
3
-33
18
29
-13
-5
-18
0
-29
0
-26
0
0
0
0
0
0
-8
25
57
0
-52
-12
-64
32
31
29
-31
3
0
0
0
0
0
6
-8
83
0
80
72
-46
-48
5
-58
4
0
0
0
0
0
0
-4
-44
-2
3
25
45
23
40
-19
-36
-8
0
0
0
0
0
0
1
16
-15
0
-19
56
52
31
48
40
2
0
0
0
0
0
0
0
5
1
-7
3
64
48
17
4
1
0
0
0
0
0
0
0
0
0
30
-77
39
-6
-1
-8
0
0
0
0
0
0
0
0
0
0
7
0
7
1
0
1
0
0
0
0
0
0
0
0
0
0
0
29
61
1
66
19
3
-8
0
0
1
0
0
0
0
0
0
0
-6
76
16
64
51
-26
0
1
0
-7
-1
0
0
0
0
0
2
-1
-87
45
11
57
17
5
32
10
-2
-27
0
0
0
0
0
1
7
5
45
32
40
-11
35
-13
24
7
0
0
0
0
0
0
0
2
-21
-1
-13
1
1
1
-31
-65
-4
0
0
0
0
0
0
0
-14
-31
-57
0
74
11
10
5
-15
0
0
0
0
0
0
0
0
0
-43
0
13
4
79
-17
-5
1
0
0
0
0
0
0
0
0
-2
0
22
-12
3
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-20
83
8
3
0
0
0
-3
0
0
0
0
0
0
0
34
-27
30
-41
-41
34
0
2
0
1
5
0
0
0
0
0
0
-13
19
90
-33
-18
1
12
-2
21
12
1
0
0
0
0
0
0
16
-20
22
112
82
31
18
49
-1
10
-1
0
0
0
0
0
0
-16
-17
-1
5
29
0
-19
6
4
0
0
0
0
0
0
0
0
-3
1
3
-6
0
9
0
7
0
0
0
0
0
0
0
0
0
0
8
-1
0
2
3
0
-1
3
0
0
0
0
0
0
0
0
0
-3
-1
10
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
1
-59
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
23
16
8
16
-1
0
0
0
8
0
0
0
0
0
0
-3
5
12
17
-32
55
4
2
6
30
0
0
0
0
0
0
0
-1
-13
20
13
54
69
26
13
4
0
0
-7
0
0
0
0
0
0
-25
12
-62
32
0
10
0
7
0
4
0
0
0
0
0
0
0
-4
-5
25
1
6
0
-10
0
-1
0
0
0
0
0
0
0
0
0
-2
29
-15
0
4
0
-6
13
0
0
0
0
0
0
0
0
0
-12
7
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
16
-56
0
5
0
0
0
0
0
0
0
0
0
0
0
10
45
-2
15
104
1
0
0
0
-3
0
0
0
0
0
0
0
-16
-14
7
-21
1
3
0
3
2
1
0
0
0
0
0
0
0
-5
15
-1
15
-13
33
-4
6
-2
-1
0
0
0
0
0
0
0
-7
-10
0
34
24
-3
-1
0
0
0
0
0
0
0
0
0
0
48
25
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-21
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
9
5
0
0
0
0
1
0
0
0
0
0
0
0
-3
-5
-2
13
-6
25
0
0
0
0
0
0
0
0
0
0
0
-21
61
-16
-36
34
7
9
-4
12
0
0
0
0
0
0
0
0
4
-2
-35
15
41
-1
-17
0
3
0
0
0
0
0
0
0
0
5
3
1
-31
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
0
1
1
16
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-8
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
-2
0
0
1
14
0
0
0
0
0
0
0
0
0
0
45
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
5
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-12
11
5
47
0
0
0
0
0
0
0
0
0
0
0
15
86
45
41
-1
-14
9
0
-23
0
0
0
0
0
0
0
0
8
28
-61
-38
1
38
24
0
-35
0
0
0
0
0
0
0
0
-3
-92
-10
-30
-13
60
-12
4
19
0
0
0
0
0
0
0
0
20
-6
9
-30
-23
-98
1
7
-33
0
0
0
0
0
0
0
0
1
8
32
97
-43
110
-13
-6
-25
0
0
0
0
0
0
0
0
0
-17
78
22
1
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
8
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-74
-53
-19
-33
59
0
0
0
0
0
0
0
0
0
0
0
-11
-65
-52
-39
-15
-84
0
24
0
0
0
0
0
0
0
0
55
21
54
-106
13
63
-64
68
31
-20
0
0
0
0
0
0
0
-12
-29
-9
-16
40
-30
-14
-132
-46
99
0
0
0
0
0
0
0
44
20
-3
7
-65
66
-163
-134
-39
-37
0
0
0
0
0
0
0
0
81
13
7
26
-3
47
-6
-66
-66
0
0
0
0
0
0
0
1
0
-62
-5
45
-2
42
75
52
-3
0
0
0
0
0
0
0
0
37
3
32
-10
17
1
-5
-4
-3
0
0
0
0
0
0
0
0
-13
-27
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-62
33
29
-6
22
-55
4
0
0
6
0
0
0
0
0
0
-13
25
3
149
120
-35
58
0
-4
0
4
0
0
0
0
0
0
-28
-41
27
81
16
-12
-99
14
-47
-26
-34
0
0
0
0
0
0
0
7
-17
46
-28
-96
51
13
42
-30
1
0
0
0
0
0
0
0
-6
59
1
-59
-8
20
21
6
58
-15
0
0
0
0
0
0
0
1
31
13
78
21
15
25
71
-22
-7
0
0
0
0
0
0
-2
29
0
51
-12
63
14
-4
25
25
0
0
0
0
0
0
0
7
0
19
1
78
-51
-20
-9
-2
0
0
0
0
0
0
0
0
0
43
-10
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
17
-25
-21
18
4
-30
-3
0
-2
13
0
0
0
0
0
0
0
-52
-39
34
-12
-49
-45
0
0
0
-46
3
0
0
0
0
0
-1
-44
54
-24
82
-167
-31
8
6
6
-49
0
0
0
0
0
0
0
20
65
-73
11
-15
21
-59
48
18
-9
-3
0
0
0
0
0
0
-2
-2
132
-65
18
-34
0
-76
32
17
0
0
0
0
0
0
0
58
2
10
0
28
-34
-77
-4
-40
-8
0
0
0
0
0
0
0
-2
-52
0
20
9
31
13
3
-20
0
0
0
0
0
0
0
0
-10
0
72
0
-14
27
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
16
-25
-5
-3
0
0
0
3
0
0
0
0
0
0
0
-14
92
81
14
28
-40
0
13
0
1
-2
0
0
0
0
0
0
0
-45
-41
20
30
-13
-6
-1
-32
12
-1
0
0
0
0
0
0
-2
42
7
29
-30
10
9
-8
1
0
4
0
0
0
0
0
0
-3
-5
11
50
-22
-20
25
-1
8
-1
0
0
0
0
0
0
0
14
-5
1
16
9
2
-13
9
-1
2
0
0
0
0
0
0
0
0
0
2
0
2
9
1
-2
0
7
0
0
0
0
0
0
0
0
4
0
3
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
2
5
0
3
0
0
0
0
0
0
0
0
0
0
0
-17
-5
-23
30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-65
-47
32
-76
5
-17
46
3
0
0
0
0
0
0
0
34
3
31
-30
11
-30
-4
0
2
0
0
0
0
0
0
0
0
0
-10
4
-20
-13
-11
3
-1
-1
10
0
0
0
0
0
0
0
-15
0
-35
2
64
0
5
-1
-1
-1
0
0
0
0
0
0
0
0
2
0
-4
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
54
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
30
-4
-4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-81
-33
26
1
0
1
0
29
0
0
0
0
0
0
0
0
-1
0
-7
7
47
10
-4
2
0
0
0
0
0
0
0
0
0
0
4
1
3
-3
7
-2
0
0
0
3
0
0
0
0
0
0
5
-7
-1
6
0
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
33
12
-8
0
0
0
2
0
0
0
0
0
0
0
0
43
-2
-19
-19
6
0
8
20
0
0
0
0
0
0
0
0
45
-8
-3
-2
39
-4
0
-15
0
0
0
0
0
0
0
0
0
2
-36
-42
-26
1
-5
-1
0
-4
-1
0
0
0
0
0
0
0
0
4
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-8
-5
1
9
0
0
0
0
0
0
0
0
0
0
0
-2
4
24
-5
0
0
0
0
71
0
0
0
0
0
0
0
0
-17
0
-2
-22
24
-5
7
0
2
0
0
0
0
0
0
0
0
0
-5
-5
21
1
9
9
0
-9
0
0
0
0
0
0
0
0
0
-4
6
12
-34
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
-25
-1
0
0
8
0
0
0
0
0
0
0
0
0
1
0
-10
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
1
71
2
36
17
-5
2
0
0
0
0
0
0
0
0
0
0
13
-5
-9
4
-41
-2
-5
-2
-12
0
0
0
0
0
0
0
0
12
-94
0
-22
-49
-36
-70
-1
-1
0
0
0
0
0
0
0
0
114
-4
-71
-26
36
-150
-5
10
83
0
0
0
0
0
0
0
0
4
66
1
-47
-28
26
96
7
1
0
0
0
0
0
0
0
0
2
0
15
-6
22
-12
10
-22
43
0
0
0
0
0
0
0
0
0
-25
-14
-50
0
15
4
8
-15
0
0
0
0
0
0
0
0
0
0
-33
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
30
14
25
0
-113
-1
0
0
0
0
0
0
0
0
0
0
23
-83
-11
-16
-47
-45
0
-2
0
0
0
0
0
0
0
0
-17
-42
6
-113
52
-12
-49
-12
-7
45
0
0
0
0
0
0
0
-2
-45
-56
-33
-24
117
-83
-58
-46
-74
0
0
0
0
0
0
0
-20
31
42
-100
-118
31
-6
37
97
-13
0
0
0
0
0
0
0
0
-12
-116
19
0
26
2
20
94
117
0
0
0
0
0
0
0
0
-4
-3
9
52
-40
35
146
-49
-17
0
0
0
0
0
0
0
0
0
3
23
16
-12
-1
-6
-3
2
0
0
0
0
0
0
0
0
-4
0
-9
-6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-56
59
57
0
12
0
0
0
0
0
0
0
0
0
0
0
56
-12
-41
92
-6
7
0
0
0
-59
0
0
0
0
0
0
20
-2
-11
43
23
53
-62
7
-27
-25
-41
0
0
0
0
0
0
2
26
3
-18
-8
37
56
56
11
-55
19
0
0
0
0
0
0
-14
-15
-27
7
37
15
-54
-46
5
17
40
0
0
0
0
0
0
0
13
31
-6
52
39
-64
1
-12
119
22
0
0
0
0
0
0
0
0
-58
0
37
60
43
24
16
16
-4
0
0
0
0
0
0
0
43
0
-24
-14
-1
10
0
0
2
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
3
34
-1
6
19
0
0
8
0
0
0
0
0
0
0
7
-10
-25
11
67
49
0
0
0
-3
0
0
0
0
0
0
0
30
-39
-63
87
1
-25
-10
-8
30
8
0
0
0
0
0
0
0
-70
-25
-17
-6
4
26
-4
57
45
-4
-5
0
0
0
0
0
0
-2
43
21
-4
-119
26
-2
16
5
-4
0
0
0
0
0
0
0
-3
-26
-11
92
-24
-10
-58
-1
-6
0
0
0
0
0
0
0
0
0
0
12
0
7
-27
-16
1
-3
0
0
0
0
0
0
0
0
0
18
0
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
4
1
0
0
0
0
-1
0
0
0
0
0
0
0
-4
4
13
-22
1
13
0
0
0
0
0
0
0
0
0
0
-3
0
2
16
48
8
-21
0
0
8
-4
1
0
0
0
0
0
0
24
0
37
12
5
-17
-17
-4
-1
0
0
0
0
0
0
0
0
0
6
64
48
-3
-14
0
-8
8
0
0
0
0
0
0
0
0
-7
0
-13
8
-23
1
-8
0
1
12
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-43
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
8
-4
7
-3
0
0
2
0
0
0
0
0
0
0
0
0
5
-29
-31
-1
0
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-10
-3
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
15
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
3
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
1
-3
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
1
8
13
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-5
-25
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-26
-56
-5
0
35
-21
0
0
-5
0
0
0
0
0
0
0
0
1
-34
14
-23
2
2
2
0
-40
0
0
0
0
0
0
0
0
-71
3
-59
76
-79
-75
-104
-2
40
0
0
0
0
0
0
0
0
3
-42
12
38
-69
20
36
2
-44
0
0
0
0
0
0
0
0
0
-62
40
-42
-39
9
-4
14
-17
0
0
0
0
0
0
0
0
0
0
-42
-20
-5
49
3
14
0
0
0
0
0
0
0
0
0
0
3
-20
2
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-12
53
-2
5
0
0
0
0
0
0
0
0
0
0
66
1
3
73
6
-7
-1
0
-4
-69
0
0
0
0
0
0
0
0
141
-42
-17
-32
-3
-3
-1
12
-10
0
0
0
0
0
0
0
-7
0
-25
6
-117
-16
-39
26
-8
0
0
0
0
0
0
0
0
0
-3
29
-74
-37
39
30
29
6
6
0
0
0
0
0
0
0
1
0
25
2
46
40
9
5
12
0
0
0
0
0
0
0
0
0
0
0
-26
15
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
87
0
8
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
29
12
0
-2
0
0
10
0
0
0
0
0
0
0
0
-24
5
17
-7
-3
4
-6
-3
-7
0
0
0
0
0
0
0
8
-3
-29
-2
44
20
-12
2
2
0
-5
0
0
0
0
0
0
0
-3
6
8
-31
-6
-15
-18
1
-8
-6
0
0
0
0
0
0
0
0
4
6
0
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
0
0
2
0
0
0
0
0
0
0
0
1
-15
2
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
-23
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
18
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
2
-16
-4
0
0
0
0
0
0
0
0
0
8
-8
7
-6
1
32
-48
-50
58
0
0
0
0
0
0
0
0
1
0
0
-13
0
25
-23
42
23
0
0
0
0
0
0
0
0
-6
-3
1
-3
-4
13
-8
-17
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-22
-6
-5
-11
0
-34
0
0
0
0
0
0
0
-10
8
46
18
-30
159
-9
-34
28
51
0
0
0
0
0
0
0
-1
34
-5
20
-35
-22
6
46
18
20
0
0
0
0
0
0
0
4
-12
0
62
-41
79
-59
83
25
57
0
0
0
0
0
0
0
0
-45
-2
6
-32
-23
-28
-37
83
-2
0
0
0
0
0
0
0
0
-16
2
0
4
-136
5
13
23
-9
0
0
0
0
0
0
0
0
1
-2
0
3
-4
-34
-8
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
5
-22
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
2
0
-3
-5
-7
9
58
0
14
-1
0
0
0
0
0
0
-2
-12
23
-83
6
32
51
10
-12
2
-2
0
0
0
0
0
0
1
-8
1
-14
-7
74
38
-35
-78
13
5
0
0
0
0
0
0
-2
-3
0
13
-64
49
33
3
50
0
-7
0
0
0
0
0
0
2
1
-5
10
4
-19
-1
-4
11
-24
-5
0
0
0
0
0
0
0
6
-19
0
-3
-5
6
-8
30
7
0
0
0
0
0
0
0
0
0
-1
0
14
13
-7
47
5
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
8
-7
0
-5
-3
30
-13
0
-30
0
0
0
0
0
0
0
0
4
1
5
18
-63
-28
-90
-7
-25
7
-6
0
0
0
0
0
0
-3
0
-2
-24
83
28
-34
-37
2
7
0
0
0
0
0
0
0
2
-5
8
0
-24
28
56
-15
-40
2
0
0
0
0
0
0
0
0
0
29
0
-7
8
-29
29
1
0
0
0
0
0
0
0
0
0
3
0
-7
8
11
-18
-1
-5
-7
0
0
0
0
0
0
0
0
0
-3
-1
8
-30
1
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
19
-2
0
47
0
0
0
0
0
0
0
2
6
-8
0
-8
-25
22
-41
51
4
1
0
0
0
0
0
0
0
7
16
1
13
30
40
59
-3
-7
0
0
0
0
0
0
0
0
-8
0
1
0
7
-28
48
-5
0
0
0
0
0
0
0
0
0
-1
-5
4
0
1
-30
-8
-8
-3
0
0
0
0
0
0
0
0
0
-3
0
12
2
7
-11
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
-31
6
0
9
-2
0
0
0
0
0
0
-2
20
16
0
9
23
-2
-11
-54
-8
-3
0
0
0
0
0
0
-1
-1
-19
12
9
-14
-17
1
9
3
0
0
0
0
0
0
0
0
0
0
8
0
-23
-6
53
-3
-16
-4
0
0
0
0
0
0
0
-1
0
0
-5
-8
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-17
3
10
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
1
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
10
8
0
3
0
7
2
0
0
0
0
0
0
-5
0
0
7
48
3
28
87
-37
0
8
-2
0
0
0
0
0
0
2
0
0
-24
-20
-23
41
-9
4
0
-1
0
0
0
0
0
0
0
2
3
4
-9
-3
-45
15
8
0
4
0
0
0
0
0
0
0
0
16
-2
5
38
-2
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-4
0
0
0
0
0
0
0
0
0
1
5
-6
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
6
0
0
0
-2
13
0
0
0
0
0
0
-2
-4
-1
-3
-1
-8
-5
-15
-13
0
-8
0
0
0
0
0
0
0
0
-2
1
2
17
18
7
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
32
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
-32
-4
-50
-44
71
33
0
0
0
0
0
0
0
0
0
80
-1
75
-14
-17
37
23
3
23
0
0
0
0
0
0
0
0
54
5
-14
43
44
65
27
50
7
0
0
0
0
0
0
0
0
-4
1
0
14
0
12
-32
8
12
0
0
0
0
0
0
0
0
19
0
0
7
68
-19
74
-5
43
0
0
0
0
0
0
0
0
0
0
0
0
12
11
10
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
1
-54
19
26
64
24
0
-56
0
0
0
0
0
0
0
-25
34
-50
71
12
78
17
30
13
-83
0
0
0
0
0
0
0
-1
-35
-39
41
94
102
14
-37
-35
-1
0
0
0
0
0
0
0
5
-16
-23
-9
5
-47
-46
4
23
-31
0
0
0
0
0
0
0
0
28
2
20
-54
-6
23
19
74
18
0
0
0
0
0
0
0
0
-71
6
0
23
9
-24
9
-5
41
0
0
0
0
0
0
0
0
-1
2
4
-42
-9
-134
-21
-25
2
0
0
0
0
0
0
0
0
-8
0
8
1
17
13
-42
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
23
12
-8
43
-49
30
21
-22
0
-24
-25
0
0
0
0
0
0
3
48
8
49
96
82
130
-34
3
-21
28
0
0
0
0
0
0
-10
-10
17
-47
37
-21
62
96
-10
6
-3
0
0
0
0
0
0
-7
-45
-23
-24
44
-12
14
2
25
9
29
0
0
0
0
0
0
-3
50
30
-8
11
-3
98
133
-5
-24
-10
0
0
0
0
0
0
0
4
9
0
-5
-10
12
-1
-5
21
6
0
0
0
0
0
0
0
0
20
2
7
-13
50
-6
-9
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
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
13
0
-13
61
7
-31
-97
0
25
29
-3
0
0
0
0
0
0
7
0
12
-54
18
39
-21
-35
-19
17
-1
0
0
0
0
0
10
-5
-6
46
84
-6
-59
-44
-42
14
-40
2
0
0
0
0
0
4
17
-14
13
-49
-35
47
-54
-12
9
4
0
0
0
0
0
0
0
-41
-2
6
-7
-16
-107
-18
12
51
-3
1
0
0
0
0
0
0
2
16
0
0
74
7
-57
-9
3
1
0
0
0
0
0
0
0
0
0
3
10
-2
23
4
-5
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-34
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
-6
7
16
-9
12
41
0
-68
1
0
0
0
0
0
0
8
-13
15
-12
2
39
-6
22
53
71
-55
16
0
0
0
0
0
1
-19
-13
-2
30
-11
22
6
16
1
-1
0
0
0
0
0
0
0
-16
4
19
-12
7
2
-95
29
21
2
0
0
0
0
0
0
0
0
7
0
1
-6
-48
5
54
-5
14
5
0
0
0
0
0
0
-2
-5
4
-1
3
-13
16
16
0
1
0
0
0
0
0
0
0
0
0
0
-1
49
-20
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-6
1
12
3
28
-38
0
61
-2
0
0
0
0
0
0
0
-7
5
6
53
-29
0
62
44
53
-14
3
1
0
0
0
0
-5
41
8
37
-29
19
-67
1
-91
-46
0
0
0
0
0
0
0
1
2
0
-3
0
-33
95
-28
57
74
16
1
0
0
0
0
0
0
0
1
-3
-4
-15
5
38
41
5
0
-2
3
0
0
0
0
0
0
4
3
0
3
55
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
8
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
-4
-24
42
5
36
14
0
36
0
0
0
0
0
0
0
-1
-3
-2
-24
93
-8
-33
67
39
-7
-20
-5
1
0
0
0
0
0
12
6
1
-19
-5
47
-24
-15
8
16
1
0
0
0
0
0
-1
4
-2
-4
-8
-27
-15
51
-19
-57
-13
1
0
0
0
0
0
-5
-2
-6
-1
5
20
32
-11
-5
10
-3
2
0
0
0
0
0
0
-1
2
0
0
-3
-66
8
25
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
11
-6
-7
7
-3
7
0
0
0
0
0
0
0
-1
0
0
0
-8
-7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
30
16
0
3
2
0
0
0
0
0
0
-2
2
8
-8
-10
-36
-7
1
20
5
-13
0
-1
0
0
0
0
-4
0
7
1
-5
28
-17
-46
4
5
-4
-3
1
0
0
0
0
0
-3
5
4
-4
13
-10
1
-10
58
0
0
0
0
0
0
0
0
0
1
7
27
12
16
-1
-31
-2
0
0
0
0
0
0
0
0
0
19
0
-4
-7
4
14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
8
9
8
4
0
1
0
0
0
0
0
0
0
0
2
0
0
25
-13
5
29
3
-2
5
0
0
0
0
0
0
0
14
0
-5
4
-3
60
-20
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
22
8
1
0
0
0
0
0
0
0
0
12
0
12
4
0
33
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
6
5
-25
15
-30
-56
0
0
0
0
0
0
0
0
0
-38
13
44
-44
58
154
22
13
-95
0
0
0
0
0
0
0
0
-2
8
0
27
-22
-68
12
-22
-62
0
0
0
0
0
0
0
0
15
4
25
59
-23
66
-7
33
10
0
0
0
0
0
0
0
0
14
0
-1
-39
-5
-28
-18
8
6
0
0
0
0
0
0
0
0
0
0
0
-9
7
0
6
62
20
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
-29
30
55
13
26
1
0
-44
0
0
0
0
0
0
0
-2
27
47
46
-25
49
41
-80
-41
32
0
0
0
0
0
0
0
9
-15
-47
13
102
-115
-64
-18
-44
18
0
0
0
0
0
0
0
2
12
4
1
75
77
-70
10
-27
16
0
0
0
0
0
0
0
4
27
-12
20
37
-13
28
22
12
-8
0
0
0
0
0
0
0
0
0
24
0
-11
53
-32
-8
-22
-5
0
0
0
0
0
0
0
3
0
-25
0
5
-1
15
-40
-37
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
10
13
-51
57
38
50
0
39
-5
0
0
0
0
0
0
3
-47
-4
-1
-9
-12
45
32
33
34
38
0
0
0
0
0
0
-3
20
-6
-25
12
39
30
42
45
60
8
0
0
0
0
0
0
8
5
-13
-13
31
-26
54
45
-12
-39
-3
0
0
0
0
0
0
-5
0
5
23
-13
-53
-1
-5
6
52
2
0
0
0
0
0
0
0
1
0
3
-4
3
-46
34
19
-4
0
0
0
0
0
0
0
0
1
4
5
-19
-6
-16
-5
-6
8
0
0
0
0
0
0
0
0
-1
0
0
0
3
4
3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
3
-10
42
6
-44
0
16
23
8
0
0
0
0
0
-13
17
34
15
-102
-12
-50
12
40
-81
-26
10
0
0
0
0
0
0
-42
32
-1
-12
-34
29
2
-16
-10
-5
3
0
0
0
0
0
-1
-5
73
-7
28
34
35
20
54
43
-2
0
0
0
0
0
0
-9
7
0
-24
37
-11
78
50
56
-37
0
0
0
0
0
0
0
0
6
3
-9
-1
3
40
-75
-3
21
-3
0
0
0
0
0
0
0
0
0
-1
2
-1
19
-4
18
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
74
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
-8
5
39
-5
0
44
-8
0
0
0
0
0
0
-2
31
-23
-9
85
63
8
49
9
34
-33
0
0
0
0
0
0
0
0
3
-29
0
40
-12
-79
94
1
1
0
0
0
0
0
0
-5
3
-5
3
0
-16
33
-80
24
10
-17
0
0
0
0
0
0
-2
-7
-8
-2
10
79
45
-71
-4
13
3
0
0
0
0
0
0
0
0
-7
0
-1
1
5
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
5
0
0
0
0
0
0
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
1
-37
46
0
72
4
0
0
0
0
0
0
3
-6
4
-2
-4
-37
-49
3
25
2
-6
3
0
0
0
0
0
0
-5
-1
20
-7
-1
-42
56
82
-41
0
3
0
0
0
0
0
2
29
-2
7
23
43
-3
-34
-29
-5
-6
0
0
0
0
0
0
4
0
2
0
13
-41
-53
-30
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
4
8
-42
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
1
30
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
3
0
1
-6
-18
0
-9
7
-4
0
0
0
0
0
0
3
0
-2
-11
19
-52
87
20
-1
-1
0
0
0
0
0
0
0
0
-3
-15
4
-21
-4
19
-1
14
0
0
0
0
0
0
0
0
13
-1
-9
44
-47
35
-29
-83
4
0
0
0
0
0
0
0
0
2
-4
-4
-3
19
56
27
-2
2
0
0
0
0
0
0
0
0
0
-2
-1
1
1
-13
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
19
-13
0
-3
0
6
0
0
0
0
0
0
7
12
-1
-71
-5
-2
-26
51
4
2
0
0
0
0
0
0
0
0
0
1
-7
1
23
0
37
15
4
0
0
0
0
0
0
0
-1
-5
30
-3
7
27
15
51
-14
0
0
0
0
0
0
0
0
1
-5
-2
13
6
-2
2
21
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
8
0
2
1
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
-3
1
0
29
0
0
0
0
0
0
0
0
0
2
-3
-13
-15
-33
-8
-24
-1
1
0
0
0
0
0
0
0
-1
4
-1
15
17
62
51
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
14
10
-28
0
0
0
0
0
0
0
0
0
0
5
0
-1
7
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-13
4
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
3
0
-8
-2
-14
-21
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
5
8
8
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
3
1
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
-2
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
10
-1
13
-86
-11
-28
0
0
0
0
0
0
0
0
0
20
12
-7
-6
53
51
-42
34
-21
0
0
0
0
0
0
0
0
-15
-12
-2
-28
-25
-74
-31
52
-9
0
0
0
0
0
0
0
0
0
-1
41
60
14
29
47
18
0
0
0
0
0
0
0
0
0
-16
2
-5
7
21
-4
69
-15
7
0
0
0
0
0
0
0
0
-3
5
1
11
8
-71
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
-8
28
39
89
-27
0
-29
0
0
0
0
0
0
0
-25
20
59
0
-30
-33
-17
108
-29
43
0
0
0
0
0
0
0
50
79
102
41
5
-32
-3
41
-23
-40
0
0
0
0
0
0
0
-1
-12
24
48
75
10
-149
34
76
94
0
0
0
0
0
0
0
-12
-12
-17
-21
-31
2
-34
-31
-40
-2
0
0
0
0
0
0
0
0
-6
10
-11
-25
60
-1
46
-54
-1
0
0
0
0
0
0
0
0
-4
1
-3
-2
-21
-36
5
-64
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-4
13
-28
-64
-93
0
-49
-2
0
0
0
0
0
0
1
-32
21
-6
11
74
59
-43
94
-35
-22
0
0
0
0
0
0
-2
65
-3
18
-20
-116
15
70
41
56
1
0
0
0
0
0
0
8
-27
-2
27
82
-11
-5
-29
-16
0
9
0
0
0
0
0
0
21
-7
-5
-4
17
-7
14
-40
76
0
0
0
0
0
0
0
0
0
-22
-9
-41
18
37
16
38
-29
5
0
0
0
0
0
0
0
0
12
6
0
-47
3
-43
-40
-31
-4
0
0
0
0
0
0
0
0
0
-1
0
0
-2
11
2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
-1
3
43
35
-29
42
0
29
-14
0
0
0
0
0
0
0
-24
-24
-1
7
34
-9
29
72
42
24
-3
0
0
0
0
0
1
5
13
-2
-107
-32
48
-11
-64
-37
-7
-4
0
0
0
0
0
0
-14
77
0
40
107
24
75
-80
11
5
0
0
0
0
0
0
0
0
-2
-10
-10
49
-42
46
-33
-19
-1
0
0
0
0
0
0
0
2
0
-29
9
46
-27
-26
-20
12
0
0
0
0
0
0
0
0
3
0
0
0
-3
46
3
51
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
12
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
6
-1
-4
21
137
-43
0
-47
-18
0
0
0
0
0
0
0
-3
3
8
0
51
3
-28
-61
68
-25
-3
0
0
0
0
0
0
0
4
-20
-24
4
-5
6
68
51
-2
2
0
0
0
0
0
0
0
3
31
0
2
20
-28
-48
71
-1
0
0
0
0
0
0
1
-6
0
0
-3
18
31
-3
31
-3
0
0
0
0
0
0
0
0
0
0
-14
0
-25
14
26
4
-9
-6
0
0
0
0
0
0
0
0
1
6
4
3
15
1
9
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
-47
27
0
-25
6
2
0
0
0
0
0
0
-8
0
0
-29
45
-24
6
-32
20
-4
0
0
0
0
0
0
0
0
0
-14
-15
-28
14
31
62
-12
1
0
0
0
0
0
0
0
0
-19
-1
-12
0
-44
48
-24
71
0
0
0
0
0
0
0
0
-3
-1
-46
10
42
-3
35
-1
-10
0
0
0
0
0
0
0
0
0
-2
0
6
16
-3
-3
5
2
1
0
0
0
0
0
0
0
0
-3
-5
1
-2
32
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
6
-16
45
0
-2
-2
0
0
0
0
0
0
0
-1
4
38
-3
51
-51
-21
-9
0
3
1
0
0
0
0
0
0
-1
-2
-2
-18
-19
-23
2
38
38
0
0
0
0
0
0
0
0
0
5
-8
15
71
0
7
32
18
0
0
0
0
0
0
0
0
-2
-5
-4
-12
-4
-54
45
-8
-1
0
0
0
0
0
0
0
0
7
0
0
0
50
7
47
5
0
0
0
0
0
0
0
0
0
-5
-8
0
-6
1
3
0
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
-5
3
-5
0
47
0
0
0
0
0
0
0
0
-4
3
0
1
-2
-6
27
23
-4
0
0
0
0
0
0
0
0
-7
5
-3
12
3
21
37
-16
1
0
0
0
0
0
0
0
0
0
-1
-24
17
46
-33
0
4
-12
0
0
0
0
0
0
0
0
-2
1
-9
-18
-2
17
-6
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
-6
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
-8
2
0
0
0
0
0
0
0
0
7
0
0
1
40
9
-17
19
0
0
0
0
0
0
0
0
0
0
0
23
-36
1
4
-4
-1
8
5
0
0
0
0
0
0
0
-14
0
0
-5
0
-42
7
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
14
-4
26
17
-1
0
0
0
0
0
0
0
0
5
0
0
0
-2
2
-22
3
-7
0
0
0
0
0
0
0
0
-4
1
0
-4
5
-1
0
44
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-15
-21
-25
11
-53
0
0
0
0
0
0
0
0
0
24
-18
6
40
26
76
-19
-19
-60
0
0
0
0
0
0
0
0
3
-1
61
-35
-33
31
2
24
16
0
0
0
0
0
0
0
0
6
1
29
62
1
-1
-76
33
-6
0
0
0
0
0
0
0
0
0
-2
-7
25
37
56
-90
-16
-10
0
0
0
0
0
0
0
0
3
0
3
-7
22
-56
-20
7
0
0
0
0
0
0
0
0
0
0
6
0
0
-44
7
88
0
1
0
0
0
0
0
0
0
0
0
0
6
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-38
-5
1
-50
139
-1
-23
0
16
0
0
0
0
0
0
0
25
-34
2
-15
-87
99
-60
41
-22
-67
0
0
0
0
0
0
0
-18
-6
-22
9
49
-7
-74
20
-4
-65
0
0
0
0
0
0
0
46
-17
-48
28
67
58
71
18
-80
36
0
0
0
0
0
0
0
17
0
20
42
-31
45
60
-41
4
9
0
0
0
0
0
0
0
0
36
-50
-35
-44
0
7
56
-14
6
0
0
0
0
0
0
0
0
9
-2
0
78
-51
22
20
-46
0
0
0
0
0
0
0
0
0
1
-7
23
0
36
59
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
-3
-6
-6
5
-34
22
-2
-6
0
99
7
0
0
0
0
0
0
-1
3
-41
-6
49
-26
44
77
2
39
59
0
0
0
0
0
0
1
-45
46
-37
54
91
9
-64
-54
5
5
0
0
0
0
0
0
34
47
52
93
-25
36
-46
-18
68
-14
18
0
0
0
0
0
0
-1
-18
0
-39
-58
-35
44
-53
-62
-26
1
0
0
0
0
0
0
0
0
-8
-21
-83
-75
-9
-11
3
0
-8
0
0
0
0
0
0
0
-1
20
-19
21
108
10
43
1
29
0
0
0
0
0
0
0
0
0
-4
0
0
5
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-9
0
-19
44
3
92
55
0
-7
38
0
0
0
0
0
0
0
-30
52
10
24
-5
44
52
-9
52
51
-1
0
0
0
0
0
0
4
22
15
25
-8
18
65
-22
48
73
0
0
0
0
0
0
0
-5
-3
-9
-4
67
-31
3
-39
31
-20
-1
0
0
0
0
0
2
11
4
0
39
13
-15
5
43
1
8
0
0
0
0
0
0
0
7
-1
0
-3
-3
-4
-17
38
14
0
0
0
0
0
0
0
0
0
-1
5
23
25
40
44
24
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-1
26
55
4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
3
0
2
-8
-19
37
0
-10
0
0
0
0
0
0
0
0
-4
-8
1
-13
2
-18
-79
-128
-8
19
4
0
0
0
0
0
0
1
0
34
-16
-109
-15
-28
42
20
-6
0
0
0
0
0
0
0
0
2
2
-6
28
58
27
-10
36
0
1
0
0
0
0
0
1
0
2
61
0
-49
45
151
28
2
0
0
0
0
0
0
0
0
0
27
0
-11
48
4
44
8
25
0
0
0
0
0
0
0
0
0
0
1
34
-1
-16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
18
-2
4
0
-3
16
0
0
0
0
0
0
0
6
2
-15
15
24
32
75
-5
8
-16
0
0
0
0
0
0
0
3
0
15
-51
-5
43
3
54
40
-2
4
0
0
0
0
0
0
4
0
-7
0
-46
-40
65
132
-57
-13
0
0
0
0
0
0
-6
31
6
0
25
0
2
0
93
10
0
0
0
0
0
0
0
0
0
0
-17
-4
50
-15
36
7
-8
-6
0
0
0
0
0
0
0
0
0
0
24
11
-11
-1
19
0
-2
0
0
0
0
0
0
0
0
6
5
0
-1
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-40
27
0
3
0
0
0
0
0
0
0
0
-3
0
0
12
11
-66
26
-6
-4
16
0
0
0
0
0
0
0
0
-7
0
-35
41
-33
-26
-20
7
0
0
0
0
0
0
0
2
0
2
0
-29
7
11
-7
1
10
0
-1
0
0
0
0
0
0
8
-2
-1
33
-2
0
-3
40
0
-2
0
0
0
0
0
0
0
20
24
-17
27
0
16
7
2
-8
2
0
0
0
0
0
0
0
0
0
-3
-4
0
20
-1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
6
-19
0
-2
0
0
0
0
0
0
0
0
0
0
9
-14
31
-21
17
51
-1
0
0
0
0
0
0
0
0
5
1
3
33
13
-8
-73
-23
-2
-1
0
0
0
0
0
0
0
0
0
8
31
-35
-4
-4
4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
6
0
-20
0
0
0
0
0
0
0
0
0
0
0
16
2
-2
-2
-14
0
-3
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
-12
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
43
-46
56
0
0
0
0
0
0
0
0
0
0
13
0
-4
-8
-12
10
5
1
0
0
0
0
0
0
0
14
0
-6
-7
55
97
10
0
-1
0
0
0
0
0
0
0
0
2
0
-5
-12
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
5
4
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
8
-2
25
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
-5
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-3
29
-8
-20
13
9
0
0
0
0
0
0
0
0
0
8
-1
0
-34
25
-25
25
-38
-7
0
0
0
0
0
0
0
0
51
2
-4
-8
-47
-6
-34
-53
57
0
0
0
0
0
0
0
0
-14
9
58
34
-22
-23
23
17
-21
0
0
0
0
0
0
0
0
-9
-11
-2
69
47
-9
-60
2
18
0
0
0
0
0
0
0
0
0
66
0
99
35
9
8
53
0
0
0
0
0
0
0
0
0
-8
8
6
17
56
-7
-31
43
16
0
0
0
0
0
0
0
0
0
0
0
4
-2
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-2
23
13
25
4
-44
3
-7
0
58
0
0
0
0
0
0
0
10
28
31
-12
-39
27
18
39
-42
0
0
0
0
0
0
0
0
2
50
-25
-3
46
12
-40
48
50
17
0
0
0
0
0
0
0
0
55
25
3
-7
52
-71
-16
-80
9
0
0
0
0
0
0
0
4
40
26
105
113
81
32
69
24
118
0
0
0
0
0
0
0
-1
0
-13
-59
24
64
3
-78
-1
11
0
0
0
0
0
0
0
1
-7
-2
5
42
-27
80
26
-60
-1
0
0
0
0
0
0
0
0
-1
2
-13
-4
24
22
26
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
3
0
0
0
0
0
0
0
0
0
5
-5
-28
0
-22
-11
-20
42
0
26
-34
0
0
0
0
0
0
0
-8
43
6
-26
34
-44
9
105
17
29
0
0
0
0
0
0
-1
-8
8
-10
18
-9
38
93
43
119
32
0
0
0
0
0
0
8
59
-22
7
46
65
42
80
44
90
6
0
0
0
0
0
0
-4
-52
10
-5
59
77
12
-57
112
111
0
0
0
0
0
0
0
14
-95
0
17
-14
-66
127
-62
-30
54
0
0
0
0
0
0
0
-1
0
-34
36
-24
39
-67
45
88
1
0
0
0
0
0
0
0
0
0
-14
-4
0
36
42
53
7
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-12
0
0
0
0
0
0
0
0
2
8
2
-1
18
53
-2
34
0
48
10
1
0
0
0
0
0
2
25
-22
8
34
134
-20
30
18
-58
10
-4
0
0
0
0
0
0
-2
8
1
43
14
5
59
7
13
-27
0
0
0
0
0
0
2
75
-3
1
48
27
37
69
-33
-12
25
0
0
0
0
0
0
0
-13
1
-29
10
139
71
-29
49
26
6
0
0
0
0
0
0
0
39
8
0
61
-14
39
7
96
45
0
0
0
0
0
0
0
0
-43
1
52
-48
-18
-3
-10
-4
8
6
0
0
0
0
0
0
0
0
2
-5
0
-1
-7
-41
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
-33
38
3
0
16
7
0
0
0
0
0
0
0
2
7
-29
-6
10
-29
-8
-27
-108
-2
0
0
0
0
0
0
0
1
0
7
24
-1
71
-32
-19
-1
6
0
0
0
0
0
0
0
-1
0
-3
1
16
36
23
-75
38
-2
0
0
0
0
0
0
0
0
4
17
-61
-5
19
12
13
-6
0
-1
0
0
0
0
0
0
6
57
-25
0
68
2
26
-3
-5
0
0
0
0
0
0
0
-1
0
2
0
3
2
57
9
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-2
19
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
28
-35
0
-4
0
0
0
0
0
0
0
0
-1
0
-4
2
0
55
2
10
-2
20
0
0
0
0
0
0
0
0
-5
0
0
-1
42
-34
-8
-23
3
0
0
0
0
0
0
0
0
-1
48
19
26
7
49
-1
30
10
0
0
0
0
0
0
1
-6
4
4
-12
16
28
39
80
2
0
0
0
0
0
0
0
0
15
-4
1
1
0
-13
4
-1
0
0
0
0
0
0
0
0
-2
2
-14
2
0
-6
21
13
-8
2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
0
0
-21
0
0
0
0
0
0
0
0
-1
0
1
23
-18
88
-19
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
29
-37
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
5
-31
-4
-30
0
0
0
0
0
0
0
0
-3
-14
0
-5
0
109
10
44
4
0
0
0
0
0
0
0
0
0
5
0
-5
3
0
48
-1
18
0
0
0
0
0
0
0
0
0
0
-1
3
3
13
4
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
2
0
-1
2
0
0
0
0
0
0
-3
0
-6
0
-9
2
0
47
-32
7
0
0
0
0
0
0
0
0
0
0
0
1
21
-10
-9
3
5
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
4
-4
-7
5
3
0
0
0
0
0
0
0
8
0
7
0
-40
16
13
2
-2
0
0
0
0
0
0
0
0
2
1
0
0
-1
-1
0
5
0
-3
0
0
0
0
0
0
0
0
-3
0
3
-34
0
-2
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
2
0
14
-2
0
0
0
0
0
0
0
-1
0
0
0
23
16
-13
-7
-7
0
0
0
0
0
0
0
0
-2
0
1
0
5
-3
-5
-20
0
0
0
0
0
0
0
0
0
-1
0
4
-25
22
-3
42
-3
-19
0
0
0
0
0
0
0
0
0
0
0
-5
4
85
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
4
-41
-40
-3
22
0
0
0
0
0
0
0
0
0
70
10
-6
-29
73
37
-7
61
83
0
0
0
0
0
0
0
0
-18
0
-3
9
-22
59
4
-83
69
0
0
0
0
0
0
0
0
-23
7
1
37
-52
61
13
84
30
0
0
0
0
0
0
0
0
0
0
13
-39
15
-22
86
-2
85
0
0
0
0
0
0
0
0
20
4
-13
39
18
11
-25
-30
-2
0
0
0
0
0
0
0
0
0
0
24
1
46
60
-96
-4
5
0
0
0
0
0
0
0
0
0
0
-2
15
-8
2
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
-9
2
6
143
78
62
85
0
-43
0
0
0
0
0
0
0
-2
-52
-30
-17
-47
20
-77
1
-5
57
0
0
0
0
0
0
0
0
17
-6
-26
21
8
10
33
-28
-7
0
0
0
0
0
0
0
8
61
29
76
28
-8
-16
34
51
-6
0
0
0
0
0
0
0
0
-24
-24
-74
-7
-23
14
57
8
-42
0
0
0
0
0
0
0
-2
23
-44
-48
-112
27
-91
-58
22
-31
0
0
0
0
0
0
0
14
0
8
13
-10
-40
4
-76
-45
8
0
0
0
0
0
0
0
0
1
11
-38
9
20
-29
-12
3
-6
0
0
0
0
0
0
0
2
0
0
0
4
-1
4
-4
0
0
0
0
0
0
0
0
0
0
-2
40
-1
13
13
54
23
0
85
-11
0
0
0
0
0
0
-1
-59
-22
-12
-1
26
-18
-41
-11
58
-18
0
0
0
0
0
0
-2
44
15
-4
103
59
-35
-47
-2
6
20
0
0
0
0
0
0
0
-25
-3
36
-42
22
1
-73
100
1
0
0
0
0
0
0
0
2
28
-5
72
-3
102
13
34
24
-62
-1
0
0
0
0
0
0
-3
0
21
84
9
-51
-15
17
106
69
-13
0
0
0
0
0
0
14
46
0
-3
-58
26
26
27
58
-3
0
0
0
0
0
0
0
0
0
-4
14
-13
-23
42
-58
33
-34
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
3
-6
-15
45
66
0
53
3
-1
0
0
0
0
0
0
-10
-5
-5
14
-41
-37
90
-87
51
-26
1
0
0
0
0
0
0
-8
1
-9
4
5
43
16
-79
41
-18
0
0
0
0
0
0
0
-7
0
-2
67
80
-29
4
61
-48
-9
0
0
0
0
0
0
0
5
-4
0
-76
52
48
-51
40
89
-1
0
0
0
0
0
0
1
-12
0
42
-27
112
77
-40
3
5
10
0
0
0
0
0
0
0
-10
61
0
57
-46
-82
44
51
-7
0
0
0
0
0
0
0
0
14
0
-5
0
87
-8
-61
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
5
6
-8
7
23
-31
0
61
13
0
0
0
0
0
0
0
0
0
2
-1
43
58
-14
14
51
24
-1
0
0
0
0
0
0
-2
0
5
3
-7
44
-1
-18
6
-1
0
0
0
0
0
0
0
-9
0
-2
-2
8
-27
23
-7
0
1
0
0
0
0
0
0
0
-4
0
0
0
46
0
19
-4
2
-5
0
0
0
0
0
0
0
0
-3
0
-2
-43
-22
-20
7
15
0
3
0
0
0
0
0
0
0
0
0
0
-17
30
-8
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
4
0
-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
7
-4
-2
0
-36
15
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-14
-18
-8
-46
-7
-2
0
0
0
0
0
0
0
0
0
12
-8
86
8
-39
-1
0
0
0
0
0
0
0
0
0
-2
0
0
10
1
97
28
-35
0
0
0
0
0
0
0
0
0
0
0
25
7
47
-5
-27
0
-5
0
0
0
0
0
0
0
0
0
0
8
-18
8
25
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-13
0
14
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
16
-4
25
0
0
0
0
0
0
0
0
0
0
1
0
0
43
-5
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
29
3
48
1
-6
0
0
0
0
0
0
0
0
8
0
1
-1
16
-30
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
9
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
2
0
0
-1
0
0
0
0
0
0
0
19
0
1
-1
-6
-7
-23
-18
-1
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-14
2
6
8
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
10
1
-1
0
0
0
0
0
0
0
0
2
0
0
-1
0
11
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
-2
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-6
12
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
8
2
-30
8
-7
0
0
0
0
0
0
0
0
2
0
9
-1
-8
-5
0
42
0
0
0
0
0
0
0
0
0
0
-3
0
-20
6
-1
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-20
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-3
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
-3
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
1
3
0
0
0
0
0
0
0
0
0
6
0
5
4
15
-18
-11
13
72
0
0
0
0
0
0
0
0
-4
0
0
44
117
5
-60
41
9
0
0
0
0
0
0
0
0
91
-2
-1
-24
-52
-112
14
-16
-5
0
0
0
0
0
0
0
0
34
-2
5
-14
-28
63
-21
-4
25
0
0
0
0
0
0
0
0
26
6
-34
-58
-44
-4
11
25
-3
0
0
0
0
0
0
0
0
0
10
27
24
35
22
-25
-21
84
0
0
0
0
0
0
0
0
0
0
-2
-64
-11
8
-22
3
0
0
0
0
0
0
0
0
0
-4
-3
0
0
14
0
-29
0
0
0
0
0
0
0
0
0
0
0
13
9
24
68
-40
113
-25
0
1
0
0
0
0
0
0
0
0
1
41
-40
75
-65
-12
-56
41
-4
0
0
0
0
0
0
0
0
-11
14
1
16
-88
-21
-66
19
9
0
0
0
0
0
0
0
-2
-31
-9
-4
-33
-47
-29
27
82
-37
0
0
0
0
0
0
0
-1
32
8
39
121
63
-39
42
-76
-64
0
0
0
0
0
0
0
0
-75
-12
104
64
1
2
-66
21
-42
0
0
0
0
0
0
0
-8
0
-14
54
13
-38
-37
-102
27
4
0
0
0
0
0
0
0
0
0
-2
33
16
-67
0
-41
-29
16
0
0
0
0
0
0
0
0
0
0
3
1
6
3
-18
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
-28
21
0
28
1
0
0
0
0
0
0
0
-22
10
-1
-8
-78
-24
-103
-17
-77
54
0
0
0
0
0
0
-8
-11
10
0
11
84
72
-26
2
-36
-67
0
0
0
0
0
0
0
20
1
-13
21
-5
82
17
43
19
9
0
0
0
0
0
0
0
-6
-8
31
-2
-55
-41
43
117
0
22
0
0
0
0
0
0
0
12
13
12
45
-107
46
-87
38
-31
-3
0
0
0
0
0
0
0
0
-1
25
-9
-68
52
-16
48
29
0
0
0
0
0
0
0
0
38
0
20
-2
52
-22
-5
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
7
0
14
2
0
0
0
0
0
0
0
9
-12
8
0
31
10
-58
81
109
-33
3
0
0
0
0
0
0
-2
0
-1
55
36
-59
0
-55
22
-6
1
0
0
0
0
0
0
-3
0
0
17
-5
-22
35
-76
84
-5
0
0
0
0
0
0
0
1
0
1
-51
-16
31
46
-50
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
18
-23
71
-26
83
-5
0
0
0
0
0
0
0
0
0
19
16
-75
3
36
-18
-2
-36
15
0
0
0
0
0
0
0
-5
-1
0
1
-1
-2
-33
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
4
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
45
1
-2
-1
-2
7
0
0
0
0
0
0
0
0
0
1
1
2
8
-1
-73
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-25
0
7
-1
0
0
0
0
0
0
0
3
0
2
-1
-16
23
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
-13
58
4
54
10
2
0
0
0
0
0
0
0
0
1
0
7
-15
6
-36
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
14
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
27
3
-42
0
0
0
0
0
0
0
0
0
28
0
0
0
8
-5
33
10
-45
0
0
0
0
0
0
0
0
-9
0
0
-19
32
13
3
-64
4
0
0
0
0
0
0
0
0
8
2
6
36
87
9
6
8
4
0
0
0
0
0
0
0
0
12
77
-50
22
-25
93
-8
48
0
0
0
0
0
0
0
0
0
-4
0
0
-4
59
52
-14
-8
18
0
0
0
0
0
0
0
0
0
0
34
18
2
5
3
-5
1
0
0
0
0
0
0
0
0
0
-1
6
0
45
13
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
5
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-7
5
25
0
0
0
0
0
0
0
0
0
4
0
0
2
0
40
-65
20
17
0
0
0
0
0
0
0
0
-9
0
-8
5
-37
3
45
11
2
0
0
0
0
0
0
0
-5
0
-1
0
29
13
-9
3
-13
3
0
0
0
0
0
0
0
2
17
13
30
-3
66
-49
0
-4
0
0
0
0
0
0
0
0
0
0
2
15
1
23
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
-7
-34
16
10
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-16
8
8
4
0
0
0
0
0
0
0
0
-2
-5
0
0
-5
3
-2
14
2
3
0
0
0
0
0
0
0
0
0
0
2
21
88
8
14
-18
0
0
0
0
0
0
0
0
-1
0
3
0
1
33
5
14
8
-5
0
0
0
0
0
0
0
0
0
-51
5
-2
5
-4
1
0
0
0
0
0
0
0
0
0
0
0
7
5
-34
-13
-4
18
0
1
0
0
0
0
0
0
0
0
0
15
-1
16
4
18
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
4
3
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-13
13
9
-24
-22
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
-41
-27
1
-67
16
0
0
0
0
0
0
0
0
0
-4
-12
66
-14
-2
-35
-25
-53
0
0
0
0
0
0
0
0
0
0
0
-16
-20
46
26
39
27
0
0
0
0
0
0
0
0
0
0
0
1
-23
-34
-15
37
-52
0
0
0
0
0
0
0
0
0
0
0
5
-3
16
-37
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-5
-59
-42
100
0
0
0
0
0
0
0
0
0
0
0
52
-48
27
-26
-47
-12
0
0
0
0
0
0
0
0
0
0
0
-2
20
-3
36
-87
-61
59
-133
-129
0
0
0
0
0
0
0
0
-70
1
-80
-78
-36
-22
-46
-3
-19
0
0
0
0
0
0
0
0
-5
49
20
76
30
15
-5
45
16
0
0
0
0
0
0
0
0
-9
-6
-17
-11
-84
-28
60
40
3
0
0
0
0
0
0
0
0
0
0
61
8
60
19
-68
-12
35
0
0
0
0
0
0
0
0
0
0
-20
-50
89
21
-28
31
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-47
0
0
0
0
0
0
0
0
0
0
0
12
29
-55
26
0
0
0
-12
0
0
0
0
0
0
0
-25
-35
54
-54
2
17
0
0
0
39
0
0
0
0
0
0
0
-6
56
-28
-76
-12
-52
-29
7
10
20
0
0
0
0
0
0
0
43
-13
0
-81
-64
-15
2
-8
-106
-44
0
0
0
0
0
0
0
-3
105
-8
27
-71
-54
-27
-107
-93
-3
0
0
0
0
0
0
0
-35
-29
-65
55
-40
-9
-55
-25
-28
-32
0
0
0
0
0
0
0
0
-15
56
-41
-15
-48
-37
39
-2
41
0
0
0
0
0
0
0
0
-5
-46
-22
-66
18
-43
-41
-9
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-58
20
7
0
0
0
15
0
0
0
0
0
0
0
1
-13
-35
49
-25
-33
0
0
0
22
-5
0
0
0
0
0
0
0
5
27
-12
4
-24
-70
-27
-30
115
-9
0
0
0
0
0
0
-8
-13
-28
-90
81
-55
-14
48
-22
-43
0
0
0
0
0
0
0
0
-39
-40
-50
-115
-109
45
-36
-37
45
1
0
0
0
0
0
0
0
0
1
-102
63
-108
-22
-18
-19
70
0
0
0
0
0
0
0
0
0
-5
-71
9
17
5
4
-34
-17
-2
0
0
0
0
0
0
0
0
1
5
5
19
23
-5
43
60
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-13
0
6
-52
0
0
0
-1
1
0
0
0
0
0
0
-24
-34
-2
-26
-94
3
0
0
0
-20
-13
0
0
0
0
0
0
0
-3
-42
-48
34
-18
-55
35
-99
-36
2
0
0
0
0
0
0
0
5
-36
-65
10
43
-88
-70
-43
3
0
0
0
0
0
0
0
0
11
-4
-90
28
-117
51
-89
12
15
1
0
0
0
0
0
0
0
0
-12
37
-27
-101
8
31
71
-13
7
0
0
0
0
0
0
0
8
-2
1
-83
-48
-97
67
-58
-4
12
0
0
0
0
0
0
0
0
-2
4
-28
41
-32
93
-27
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-49
0
0
0
0
6
0
0
0
0
0
0
0
4
-46
-3
-19
24
0
0
0
5
-2
0
0
0
0
0
0
0
1
-18
-15
-7
-27
-13
-23
-19
33
-3
0
0
0
0
0
0
0
0
-7
38
-14
-64
-54
26
68
-5
0
0
0
0
0
0
0
0
0
-3
15
-3
90
-20
-140
-31
-22
-1
0
0
0
0
0
0
0
0
1
34
18
47
25
21
33
-13
0
0
0
0
0
0
0
0
0
0
0
15
4
13
17
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
-2
6
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
4
3
-5
-29
2
-75
0
0
0
0
0
0
0
0
0
0
0
0
-12
32
-15
14
-44
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
56
13
-64
-5
0
0
0
0
0
0
0
0
0
0
3
-1
12
23
-11
33
3
-1
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
-2
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
65
16
-62
47
0
0
0
0
0
0
0
0
0
0
0
-7
-26
42
-59
73
80
0
0
0
0
0
0
0
0
0
0
0
-16
136
42
-48
28
-12
-22
-88
0
0
0
0
0
0
0
0
0
7
54
20
-51
13
-88
5
-40
0
0
0
0
0
0
0
0
0
-2
-12
16
7
-15
-91
-9
-29
0
0
0
0
0
0
0
0
0
0
-7
-14
49
31
22
-54
5
0
0
0
0
0
0
0
0
0
0
0
-3
1
23
54
41
51
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
29
0
0
0
0
0
0
0
0
5
10
-25
-15
1
35
-39
0
0
0
0
0
0
0
0
0
0
3
-5
73
59
-22
-30
61
0
0
0
0
0
0
0
0
0
0
7
-64
8
-6
21
-31
-54
15
-14
-79
0
0
0
0
0
0
0
0
-16
-106
65
16
16
-59
-64
-87
-3
0
0
0
0
0
0
0
0
17
4
-35
40
-14
-27
-13
-23
30
0
0
0
0
0
0
0
-1
18
-10
33
-16
-40
-77
47
-17
-67
0
0
0
0
0
0
0
0
-1
2
6
51
53
0
-29
3
-9
0
0
0
0
0
0
0
0
0
0
0
9
-56
-65
7
12
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-31
-6
0
0
0
0
0
0
0
0
-3
-4
-16
-53
-138
-57
0
0
0
-32
0
0
0
0
0
0
0
-12
-11
-83
-57
-47
37
0
0
0
39
0
0
0
0
0
0
0
-27
26
-2
51
13
-32
-64
31
-22
28
0
0
0
0
0
0
0
0
66
-81
-27
-55
7
-36
21
-127
-46
0
0
0
0
0
0
0
5
-75
13
2
-15
-51
-12
-16
-52
-12
0
0
0
0
0
0
0
1
-27
-6
-55
-102
-45
-36
-49
22
-67
0
0
0
0
0
0
0
5
-5
-9
105
-68
-68
-23
-60
-59
25
0
0
0
0
0
0
0
0
0
-3
60
-138
-117
-74
-84
-17
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-28
21
-32
0
0
0
0
0
0
0
1
14
14
-3
-51
89
0
0
0
-14
-1
0
0
0
0
0
0
-3
46
89
-18
-15
-47
0
0
0
41
5
0
0
0
0
0
0
-13
-16
4
-63
-64
-23
-38
-35
-13
14
-3
0
0
0
0
0
0
-5
-41
99
-34
13
23
47
9
-13
-21
-2
0
0
0
0
0
0
-10
15
-45
2
-39
46
0
-40
-20
-41
10
0
0
0
0
0
0
0
9
23
-27
24
-106
-25
57
-12
-79
-4
0
0
0
0
0
0
0
0
8
-40
-25
35
-41
-2
-59
5
19
0
0
0
0
0
0
0
0
0
-2
-40
-10
-14
-50
33
68
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
63
41
-12
0
0
0
0
0
0
0
0
16
30
33
-13
2
0
0
0
-51
3
0
0
0
0
0
-2
1
4
-8
-37
34
-107
0
0
0
4
-32
0
0
0
0
0
0
8
-16
51
48
-19
19
-79
0
-34
-86
-68
-2
0
0
0
0
0
0
8
-30
13
106
41
-76
21
-100
-34
-27
-13
0
0
0
0
0
0
9
-30
59
-48
6
-82
27
46
17
-60
-8
0
0
0
0
0
0
0
-2
-25
-9
-138
-18
-119
-117
17
4
0
0
0
0
0
0
0
0
0
-1
-56
-9
-17
-34
19
-33
-5
0
0
0
0
0
0
0
0
0
-4
3
0
4
40
-56
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
0
0
0
0
0
0
0
0
16
44
-3
5
-9
0
0
0
28
-4
0
0
0
0
0
0
0
-13
-3
-14
-15
-72
0
0
0
-3
5
0
0
0
0
0
0
0
-9
41
20
-41
-9
-33
-7
17
-5
-12
-2
0
0
0
0
0
0
3
5
44
-7
6
-28
-55
-105
-4
3
0
0
0
0
0
0
0
0
-14
-14
102
35
38
39
-75
6
0
0
0
0
0
0
0
0
-1
-6
-9
21
84
-11
67
-28
22
0
-4
0
0
0
0
0
0
0
1
4
8
41
-16
-1
2
-4
2
0
0
0
0
0
0
0
0
0
22
0
2
1
4
50
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
1
0
0
0
0
0
0
0
-6
13
-7
-17
1
0
0
0
13
-20
-3
0
0
0
0
0
0
0
2
-15
-6
-20
-39
-4
-77
6
-20
1
0
0
0
0
0
0
0
0
-13
4
-34
-1
2
99
-20
3
0
0
0
0
0
0
0
0
0
-2
3
-36
-34
15
-96
1
0
-3
0
0
0
0
0
0
0
0
6
-6
-11
-9
-18
13
8
-5
0
0
0
0
0
0
0
0
0
0
-5
0
32
0
-52
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-25
0
-12
1
1
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-3
4
5
-1
-18
-2
0
1
0
0
0
0
0
0
0
0
0
0
3
6
-4
5
13
-7
1
0
0
0
0
0
0
0
0
0
-2
0
-18
-8
0
-27
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
-10
-4
-1
0
0
0
0
0
0
0
-3
0
7
0
-6
-6
2
12
12
0
0
0
0
0
0
0
0
0
0
0
0
-30
24
7
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
25
-17
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
7
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-12
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-72
-11
-4
-67
-19
0
0
0
0
0
0
0
0
0
0
0
-1
8
-9
-60
-5
-9
0
0
0
0
0
0
0
0
0
0
0
7
29
41
54
-57
-5
124
-91
0
0
0
0
0
0
0
0
0
2
0
-45
-1
8
-3
41
-62
0
0
0
0
0
0
0
0
0
-3
1
16
16
-49
42
6
-14
0
0
0
0
0
0
0
0
0
0
0
1
19
-19
72
-51
-78
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-42
91
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-56
0
0
0
0
0
0
0
0
2
-18
-1
9
18
-49
-25
0
0
0
0
0
0
0
0
0
0
0
-38
-45
7
-2
-13
-49
0
0
0
0
0
0
0
0
0
0
0
8
-2
20
-48
-27
60
5
-50
-12
0
0
0
0
0
0
0
0
55
27
-9
-10
-10
-47
-74
-25
-41
0
0
0
0
0
0
0
0
-4
16
-6
-39
11
-54
-94
-4
-53
0
0
0
0
0
0
0
-1
-2
-30
2
19
76
50
20
-47
-70
0
0
0
0
0
0
0
0
0
-2
-9
40
6
-19
-7
-80
27
0
0
0
0
0
0
0
0
0
0
1
-6
25
-3
-39
37
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-47
-13
0
0
0
0
0
0
0
0
-3
6
-26
-56
83
50
0
0
0
-27
0
0
0
0
0
0
0
-2
-37
-25
-10
5
-8
0
0
0
-15
0
0
0
0
0
0
0
13
29
-1
-52
27
48
28
-1
-77
-33
0
0
0
0
0
0
0
-2
-39
-15
-43
-56
-30
-43
-120
-7
-8
0
0
0
0
0
0
0
0
-50
-40
52
-68
-40
-42
-17
-56
-25
0
0
0
0
0
0
0
0
-26
-27
9
-90
-31
4
-1
-1
-44
0
0
0
0
0
0
0
0
0
2
-11
0
24
-83
-33
-55
1
0
0
0
0
0
0
0
0
0
8
-1
-15
-2
-89
37
-63
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
0
0
0
0
0
0
0
1
0
-5
-10
-55
10
-67
0
0
0
18
-2
0
0
0
0
0
0
-2
-7
-47
-79
39
-57
0
0
0
0
-8
0
0
0
0
0
0
13
-2
-54
-21
4
65
-54
25
36
44
0
0
0
0
0
0
0
0
46
51
-36
39
-23
114
-38
-75
18
0
0
0
0
0
0
0
0
-18
-1
13
-68
68
56
-47
52
-28
10
0
0
0
0
0
0
0
0
-33
-40
85
-65
90
6
-24
1
0
0
0
0
0
0
0
0
0
0
-26
-5
24
-15
-45
-35
56
0
0
0
0
0
0
0
0
0
0
0
-13
0
-20
8
-19
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
-2
28
3
-13
-19
0
0
0
-1
3
0
0
0
0
0
0
0
-3
-70
62
-58
32
0
0
0
39
-33
0
0
0
0
0
0
6
43
-17
18
1
-48
-6
-18
-67
-16
12
4
0
0
0
0
0
2
-5
-29
28
11
20
39
34
18
-3
-24
-1
0
0
0
0
0
0
-1
8
4
-24
-90
-79
52
-35
-6
-23
0
0
0
0
0
0
0
7
-7
-52
-94
37
95
-105
-34
31
31
0
0
0
0
0
0
0
0
-5
-5
0
-12
20
-26
73
-2
-2
0
0
0
0
0
0
0
0
0
0
-9
0
-1
-1
-53
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
5
3
-2
-2
0
0
0
22
0
0
0
0
0
0
0
0
-8
-44
-53
-15
4
0
0
0
19
23
2
0
0
0
0
0
0
0
-11
-17
24
28
9
-4
-45
-30
-4
3
0
0
0
0
0
2
-14
0
0
-8
-32
50
36
-40
11
-1
0
0
0
0
0
0
0
0
5
-23
11
43
-38
46
32
5
8
0
0
0
0
0
0
0
0
2
-4
0
-55
-6
-62
8
-29
-1
0
0
0
0
0
0
0
0
0
1
-1
-40
20
-11
38
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
3
1
7
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
1
17
0
0
0
4
0
0
0
0
0
0
0
0
-1
1
-10
-22
5
0
0
0
7
-77
0
0
0
0
0
0
0
0
0
25
7
3
-27
4
-58
20
12
-1
-2
0
0
0
0
0
3
-8
-1
-5
15
-36
46
-8
3
-1
1
0
0
0
0
0
0
0
0
0
8
13
33
19
-11
16
-27
0
0
0
0
0
0
0
0
0
0
-3
9
-9
42
-1
4
-1
0
0
0
0
0
0
0
0
0
0
7
0
3
3
-25
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
-31
-1
0
0
0
0
0
0
0
0
-1
-1
0
-6
-2
-47
-1
-6
-2
0
0
0
0
0
0
0
0
0
1
-4
3
-3
12
13
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
18
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
19
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
8
0
0
0
-1
0
0
0
0
0
0
0
-4
-8
-1
14
-54
-30
0
0
0
-12
-1
0
0
0
0
0
0
1
0
13
-40
-4
-43
-84
-33
-48
0
0
0
0
0
0
0
0
0
1
-6
-8
-17
-48
28
40
-3
-1
0
0
0
0
0
0
0
0
4
1
0
2
-23
4
50
0
1
3
0
0
0
0
0
0
0
0
0
0
2
35
28
48
25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
16
0
0
0
0
3
-7
1
0
0
0
0
0
0
14
1
-17
31
8
0
0
0
-16
3
0
0
0
0
0
0
0
-5
-12
-2
29
55
-42
-10
6
6
-3
0
0
0
0
0
0
0
0
-5
0
-10
-7
-16
-35
34
-22
1
0
0
0
0
0
0
0
-2
0
7
-2
-67
34
49
54
7
-5
0
0
0
0
0
0
0
0
0
1
-1
-8
48
6
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
15
-79
-10
0
0
0
0
0
0
0
0
0
0
-8
0
0
3
2
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-5
5
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-21
43
-29
0
0
0
0
0
0
0
0
0
0
0
2
-1
57
-18
-21
29
0
0
0
0
0
0
0
0
0
0
0
5
-57
-9
-16
-56
-15
12
3
0
0
0
0
0
0
0
0
0
0
1
27
-1
32
8
2
-68
0
0
0
0
0
0
0
0
0
0
3
4
-2
-4
-32
25
-70
0
0
0
0
0
0
0
0
0
0
0
1
18
-16
5
19
8
0
0
0
0
0
0
0
0
0
0
0
-4
-25
-9
3
-52
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
51
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
1
-4
50
-32
-4
60
0
0
0
0
0
0
0
0
0
0
1
15
-51
29
-13
10
-15
0
0
0
0
0
0
0
0
0
0
0
10
54
13
-70
-138
85
40
-86
-74
0
0
0
0
0
0
0
0
-2
48
38
-60
-16
-41
17
-28
-18
0
0
0
0
0
0
0
0
-7
61
32
-41
-142
-63
-80
-71
-25
0
0
0
0
0
0
0
0
0
-30
24
13
-2
39
16
-70
-44
0
0
0
0
0
0
0
0
0
15
-6
16
37
-27
93
7
70
0
0
0
0
0
0
0
0
0
0
-1
5
5
7
-8
49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
21
-5
0
0
0
0
0
0
0
0
0
-76
10
102
-53
-20
0
0
0
4
0
0
0
0
0
0
0
-9
3
-57
-63
-48
7
0
0
0
-25
0
0
0
0
0
0
0
-1
-19
-117
-74
59
8
-14
-18
-46
2
0
0
0
0
0
0
0
1
-2
-53
2
-94
-76
-18
-15
-94
42
0
0
0
0
0
0
0
0
-25
-8
-66
-75
-64
-135
26
14
25
0
0
0
0
0
0
0
2
0
-16
-80
19
-46
-87
27
-1
-5
0
0
0
0
0
0
0
0
0
1
-4
-81
-28
-62
-30
-13
-2
0
0
0
0
0
0
0
0
0
0
-1
-13
13
0
-17
-7
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
-4
0
0
0
0
0
0
0
0
0
-2
19
-104
-25
37
0
0
0
21
0
0
0
0
0
0
0
-9
7
26
23
30
-57
0
0
0
-56
23
0
0
0
0
0
0
0
-7
52
81
-20
-43
-29
-78
25
25
0
0
0
0
0
0
1
16
-9
-7
23
68
-58
-32
-96
-71
-14
0
0
0
0
0
0
0
9
-10
6
-36
-51
-61
-79
26
-33
14
-1
0
0
0
0
0
0
0
0
-4
-56
21
-45
-23
44
0
-44
0
0
0
0
0
0
0
1
1
0
1
15
7
68
21
-118
6
0
0
0
0
0
0
0
0
0
-6
0
-2
-6
4
27
-11
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
16
35
-48
46
21
0
0
0
-1
3
0
0
0
0
0
0
0
36
-25
-10
-43
49
0
0
0
73
22
0
0
0
0
0
0
1
-10
23
-65
46
-127
-1
-12
46
8
-9
2
0
0
0
0
0
-4
-5
8
-1
-30
20
-35
-81
0
31
2
1
0
0
0
0
0
0
-10
-29
26
-23
-40
-122
-44
-20
-9
0
4
0
0
0
0
0
0
0
1
-11
42
-4
-23
16
-16
5
-2
0
0
0
0
0
0
0
0
-4
2
3
29
-21
-4
84
16
2
0
0
0
0
0
0
0
0
0
0
6
0
18
-75
-39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-10
-50
1
0
0
0
0
-7
0
-6
0
0
0
0
0
-6
-3
-44
-10
19
-10
0
0
0
-60
5
-3
0
0
0
0
0
0
-6
-20
25
14
-4
-6
9
84
0
-7
0
0
0
0
0
0
0
0
-6
-8
0
13
10
-1
-72
39
1
0
0
0
0
0
0
0
-3
-2
-3
9
-10
23
7
-27
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-3
45
-2
-41
-7
-1
1
0
0
0
0
0
0
0
0
-2
6
2
-6
-23
-3
-5
3
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
1
-121
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
-13
0
0
0
-2
0
0
0
0
0
0
0
0
-1
4
-2
24
2
0
0
0
5
22
0
0
0
0
0
0
0
0
0
21
0
-18
5
-58
13
-7
29
0
0
0
0
0
0
0
1
0
3
6
0
-46
-17
-23
13
3
0
0
0
0
0
0
0
0
0
7
-1
-18
-14
37
-16
3
0
-1
0
0
0
0
0
0
0
0
-5
0
5
18
0
21
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
30
-1
1
0
0
0
5
0
0
0
0
0
0
0
0
0
1
1
6
0
-31
-10
-9
2
-2
6
0
0
0
0
0
0
0
0
0
16
-30
0
-23
10
-5
3
0
1
0
0
0
0
0
0
0
1
4
1
-3
15
-5
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
-16
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
-48
23
20
-24
0
0
0
0
0
0
0
0
0
0
0
14
0
25
51
14
-47
0
0
0
0
-1
0
0
0
0
0
0
7
-5
41
-13
-15
-55
-34
-82
-94
-3
0
0
0
0
0
0
0
0
-2
-39
-4
59
45
-130
32
-42
0
0
0
0
0
0
0
0
-1
5
6
-27
-1
77
35
5
53
3
0
0
0
0
0
0
0
0
8
2
-58
-14
14
-12
-36
-5
4
1
0
0
0
0
0
0
0
0
0
-6
0
-43
1
-22
33
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
1
-1
-8
-12
8
0
0
0
0
0
0
0
0
0
0
0
1
-5
-32
-12
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-57
-26
-31
21
-90
-93
2
0
0
0
0
0
0
0
0
-2
0
-34
-31
-14
15
-92
12
7
3
0
0
0
0
0
0
0
4
-7
9
53
-39
34
-16
86
1
1
0
0
0
0
0
0
0
0
2
14
-11
19
7
-55
75
2
0
0
0
0
0
0
0
0
0
-5
-7
0
3
-44
34
57
2
0
0
0
0
0
0
0
0
0
0
0
0
2
6
9
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
4
-3
4
3
22
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
7
-8
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-6
-36
1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-4
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-23
19
-32
10
0
0
0
0
0
0
0
0
0
-1
0
-11
-4
11
-48
-4
-6
0
0
0
0
0
0
0
0
0
0
0
2
0
-35
-76
27
-24
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
-23
-22
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-11
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-56
0
0
0
0
0
0
0
0
0
0
2
-21
-3
-46
-11
0
0
0
0
0
0
0
0
0
0
0
-14
-8
-40
-58
14
-16
0
0
0
0
0
0
0
0
0
0
0
0
131
-36
35
-104
95
-20
-5
-17
0
0
0
0
0
0
0
0
-1
-4
-88
22
23
21
-8
-48
-39
0
0
0
0
0
0
0
0
0
-9
1
-131
-46
37
2
-15
-126
0
0
0
0
0
0
0
0
0
6
18
17
-70
3
-97
21
21
0
0
0
0
0
0
0
0
0
-10
0
-29
-40
-98
52
-17
32
0
0
0
0
0
0
0
0
0
0
-5
15
9
-6
-53
-60
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
1
0
0
0
0
0
0
0
0
7
-4
38
-53
50
15
0
0
0
5
0
0
0
0
0
0
0
0
14
14
25
-9
11
0
0
0
32
0
0
0
0
0
0
0
-7
-32
-1
-39
-33
55
75
-39
84
-27
0
0
0
0
0
0
0
0
10
-67
55
142
-52
-39
36
-38
1
0
0
0
0
0
0
0
0
0
9
-45
-68
2
-108
-24
18
13
0
0
0
0
0
0
0
0
12
-36
-2
-62
-47
-95
-7
-5
22
0
0
0
0
0
0
0
1
0
7
29
-20
-45
-41
-41
-72
17
0
0
0
0
0
0
0
0
0
0
-13
33
17
49
-29
-15
56
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-18
0
0
0
0
0
0
0
0
0
0
-9
-9
-30
24
0
0
0
13
4
0
0
0
0
0
0
4
-4
-63
11
64
74
0
0
0
-37
6
0
0
0
0
0
0
0
5
-14
-11
-56
3
1
32
9
-3
-4
0
0
0
0
0
0
0
19
-7
30
-5
40
-39
-64
-52
39
1
0
0
0
0
0
0
1
-3
0
-1
-132
-25
-30
76
49
7
6
0
0
0
0
0
0
8
6
3
24
41
44
-27
57
-78
6
8
0
0
0
0
0
0
0
3
0
5
-68
-29
61
38
37
-52
-5
0
0
0
0
0
0
0
0
0
-6
4
-2
-4
90
28
58
3
0
0
0
0
0
0
0
0
0
0
0
0
-29
-38
-24
9
0
0
0
0
0
0
0
0
-3
0
13
5
8
0
0
0
-10
-1
0
0
0
0
0
0
-5
6
44
-30
-31
-7
0
0
0
-31
-17
0
0
0
0
0
0
-14
5
-48
1
-7
10
21
9
-38
-6
-18
0
0
0
0
0
0
0
-13
22
10
-25
21
-25
-21
15
-49
8
1
0
0
0
0
0
0
-2
0
0
14
-135
-78
-58
25
7
-7
-2
0
0
0
0
0
0
-4
0
3
-80
24
9
74
-73
5
-2
0
0
0
0
0
0
0
0
0
10
13
-82
46
5
15
8
-2
0
0
0
0
0
0
0
0
0
0
1
2
-10
2
32
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
2
5
0
16
0
0
0
-40
-1
0
0
0
0
0
0
-5
0
17
6
44
-1
0
0
0
24
-25
-3
0
0
0
0
0
0
-3
-10
28
12
3
6
1
-54
-1
-8
-5
0
0
0
0
0
0
0
10
3
-3
45
-43
-14
4
30
1
3
0
0
0
0
0
0
-7
3
8
0
-24
1
-38
58
-27
-2
-2
0
0
0
0
0
0
0
0
-19
22
57
-69
51
-40
-10
0
0
0
0
0
0
0
0
0
0
1
7
21
-52
13
-77
-20
-2
0
0
0
0
0
0
0
0
0
6
0
-3
3
4
-48
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
1
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
7
5
0
0
0
0
0
0
-1
0
7
1
2
-3
-12
-32
25
0
-4
0
0
0
0
0
0
0
0
0
17
1
1
3
-21
-21
0
-6
0
0
0
0
0
0
0
0
0
-7
0
0
46
-50
-61
5
-3
0
0
0
0
0
0
0
0
0
-5
0
2
16
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-5
-36
48
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
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
-22
0
0
9
5
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-5
5
9
0
0
0
-3
3
0
0
0
0
0
0
0
0
-12
1
2
41
13
-72
-1
0
1
0
0
0
0
0
0
0
-5
0
0
-17
-20
-25
-19
2
-2
0
0
0
0
0
0
0
0
0
0
-12
-3
72
0
-16
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
34
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-16
0
3
-44
-41
5
-1
0
0
0
0
0
0
0
0
0
0
0
12
-52
10
-11
26
15
0
0
0
2
6
0
0
0
0
0
0
-7
36
-55
55
-75
18
-111
-47
-51
0
0
0
0
0
0
0
0
2
7
-6
-10
-24
-46
-100
-8
-101
-5
0
0
0
0
0
0
0
-6
8
1
27
89
-65
46
0
-34
4
0
0
0
0
0
0
0
0
0
-6
-36
60
111
107
55
5
0
-1
0
0
0
0
0
0
0
-5
0
-10
45
-22
-47
-43
-50
5
0
0
0
0
0
0
0
0
0
12
5
2
-93
3
-42
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
0
0
0
0
0
0
0
0
0
0
11
-6
-58
-17
-17
0
0
0
0
0
0
0
0
0
0
0
-12
-7
43
72
-8
-44
0
0
0
-6
1
1
0
0
0
0
0
0
-30
-50
-4
-73
-35
-26
-4
-22
0
0
0
0
0
0
0
0
0
9
10
75
7
-14
-99
-29
-40
-8
0
0
0
0
0
0
0
0
-4
17
1
85
25
-7
10
0
-6
0
0
0
0
0
0
0
0
5
4
-4
34
-54
-11
-12
25
0
-4
0
0
0
0
0
0
0
0
-9
0
-14
-12
77
-119
-6
6
0
0
0
0
0
0
0
0
0
0
0
-7
-5
42
-13
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
-5
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
23
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
9
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
31
-23
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
40
20
-15
-44
11
0
0
0
0
0
0
0
0
0
0
0
-30
9
-9
-62
-41
-45
0
0
0
0
0
0
0
0
0
0
0
2
6
13
89
50
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-82
-13
-20
-97
0
0
0
0
0
0
0
0
0
0
-2
0
-1
21
8
4
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
21
0
0
0
0
0
0
0
0
0
0
-1
3
-73
71
57
0
0
0
0
0
0
0
0
0
0
0
0
16
-85
-69
47
23
0
0
0
0
0
0
0
0
0
0
0
0
-87
73
25
-23
77
-8
32
-112
0
0
0
0
0
0
0
0
-4
10
-67
-60
-24
-8
-22
-103
1
0
0
0
0
0
0
0
0
0
-15
48
-53
-39
-55
-62
-90
109
0
0
0
0
0
0
0
0
0
2
25
80
-18
-23
22
-86
-150
0
0
0
0
0
0
0
0
-2
-7
-11
-24
-53
23
-74
6
-23
0
0
0
0
0
0
0
0
0
0
2
-12
-8
66
14
39
80
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
36
1
0
0
0
0
0
0
0
0
0
20
4
27
-5
-3
0
0
0
1
0
0
0
0
0
0
0
0
39
38
-67
69
-63
0
0
0
4
0
0
0
0
0
0
0
0
-32
15
-79
-51
-3
-18
-15
-49
5
0
0
0
0
0
0
0
-15
-3
-31
11
-5
-37
40
-51
59
13
0
0
0
0
0
0
0
0
-4
-34
-95
-83
-47
66
-72
-83
-5
0
0
0
0
0
0
0
4
0
-26
25
20
-9
-37
-7
-102
-22
0
0
0
0
0
0
0
0
-5
-11
10
-140
-62
26
-79
-69
-19
0
0
0
0
0
0
0
0
0
0
-8
48
-8
-55
-78
-36
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
31
0
0
0
0
0
0
0
0
0
-2
6
-20
0
-3
0
0
0
-25
0
0
0
0
0
0
-1
-1
-9
1
54
35
16
0
0
0
1
-2
0
0
0
0
0
0
-5
-25
35
-5
56
-22
24
5
22
-7
0
0
0
0
0
0
0
0
0
18
-10
3
-69
-24
27
-14
65
0
0
0
0
0
0
0
0
0
21
-16
-95
-87
-29
-70
-67
3
0
0
0
0
0
0
0
-1
2
0
-93
1
-67
-20
-12
-1
0
-22
0
0
0
0
0
0
0
0
-8
1
79
-42
-27
27
-84
21
-8
0
0
0
0
0
0
0
0
0
0
-6
8
-55
-13
-11
51
8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-10
11
-10
0
0
0
0
0
0
0
0
-61
-2
19
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-21
48
-18
0
0
0
17
-1
0
0
0
0
0
0
-2
0
-3
39
-51
33
-40
81
41
5
0
0
0
0
0
0
0
0
0
53
9
36
26
15
-19
-73
-8
0
-1
0
0
0
0
0
0
0
-12
-48
74
-6
-43
-15
53
-4
10
0
0
0
0
0
0
0
0
23
0
43
-37
-15
-36
-66
-9
-8
0
0
0
0
0
0
0
-4
-1
-4
18
44
-74
-78
-28
-1
-1
0
0
0
0
0
0
0
0
0
0
0
4
4
-4
-39
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
1
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
17
26
-6
-3
44
0
0
0
-10
0
2
0
0
0
0
0
0
0
2
24
11
11
23
8
15
-4
-5
0
0
0
0
0
0
0
0
1
-4
-50
-40
62
25
-6
-48
0
0
0
0
0
0
0
0
0
6
6
10
21
38
-83
3
-1
1
0
0
0
0
0
0
0
-2
-3
0
0
50
-6
96
41
12
-1
-4
0
0
0
0
0
0
0
-1
0
0
-15
-27
-94
47
59
-2
0
0
0
0
0
0
0
0
0
0
0
0
41
1
69
-50
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
9
-8
-11
-7
0
0
0
-48
11
0
0
0
0
0
0
0
0
0
14
3
-6
0
-10
34
-1
8
-6
0
0
0
0
0
0
0
1
3
11
1
40
3
-2
-8
0
0
0
0
0
0
0
0
0
-2
0
-5
16
45
45
-2
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
38
-46
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-4
12
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-63
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
4
6
-2
0
0
0
-1
-7
0
0
0
0
0
0
0
7
-69
6
-7
15
24
-31
0
0
0
0
0
0
0
0
0
0
0
2
-83
4
-26
-8
9
-17
-4
0
0
0
0
0
0
0
0
0
1
-2
-14
-45
7
73
-7
2
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
30
-24
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
-2
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
34
8
-23
-15
-9
0
0
0
0
0
0
0
0
0
0
0
-29
-70
-4
63
-45
52
0
0
0
0
-1
0
0
0
0
0
0
-2
-28
106
23
-21
-8
-104
-4
44
0
0
0
0
0
0
0
0
-11
3
28
66
-41
63
-122
-94
70
1
0
0
0
0
0
0
0
-4
-98
-65
-27
25
35
-154
-78
-73
0
0
0
0
0
0
0
0
4
-1
39
12
-45
-131
-10
0
-87
0
0
0
0
0
0
0
0
1
-3
-10
29
-25
-60
26
-37
59
0
-2
0
0
0
0
0
0
0
0
0
-9
-97
18
26
55
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
19
-7
0
0
0
0
0
0
0
0
0
-75
-12
-10
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
21
-15
-47
29
48
0
0
0
0
0
0
0
0
0
0
0
0
5
57
46
-21
1
-14
-31
-14
5
0
0
0
0
0
0
0
0
7
45
0
-23
-48
-42
-17
-61
1
0
0
0
0
0
0
0
0
0
-1
47
-43
83
-15
-27
-48
-13
0
0
0
0
0
0
0
0
1
2
3
-63
107
14
23
0
56
0
0
0
0
0
0
0
0
0
4
0
0
-10
27
46
-75
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-64
-14
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
6
-14
-5
12
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
1
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-30
-5
-1
-3
3
7
0
0
0
0
0
0
0
0
0
0
-4
-10
0
-14
-65
-54
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
48
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
34
-6
65
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-23
0
0
0
0
0
0
0
0
0
0
-1
2
-3
18
-6
0
0
0
0
0
0
0
0
0
0
0
-4
58
-11
1
10
63
0
0
0
0
0
0
0
0
0
0
0
-3
-19
63
-107
-37
-33
-25
-29
-16
0
0
0
0
0
0
0
0
0
17
-27
23
-5
-67
13
-15
-86
0
0
0
0
0
0
0
0
0
-18
12
-17
-49
-78
-53
-5
24
0
0
0
0
0
0
0
0
0
-12
-17
7
41
62
-60
-18
10
0
0
0
0
0
0
0
0
0
1
-6
15
-35
29
-39
-52
17
0
0
0
0
0
0
0
0
0
0
-4
3
8
-52
34
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-76
6
0
0
0
0
0
0
0
0
0
1
5
-26
-11
0
0
0
0
-1
0
0
0
0
0
0
0
43
-68
-52
45
-78
66
0
0
0
-6
0
0
0
0
0
0
0
-1
-16
-45
63
57
32
-10
27
-52
3
0
0
0
0
0
0
0
0
8
-13
17
-37
-3
-12
-2
-20
-4
0
0
0
0
0
0
0
-1
-66
119
-49
-92
-9
40
-12
-16
25
0
0
0
0
0
0
0
0
-26
53
14
-8
5
4
11
-166
-13
0
0
0
0
0
0
0
0
0
-11
-11
-8
-62
19
11
-22
20
0
0
0
0
0
0
0
0
-6
-4
-3
-11
5
-57
6
-48
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
3
0
0
0
0
0
0
0
0
-4
-10
3
33
-2
0
0
0
-7
-2
0
0
0
0
0
0
0
-12
-2
-36
-21
-9
0
0
0
9
2
0
0
0
0
0
0
0
1
-66
-14
58
-20
3
31
-11
-8
0
0
0
0
0
0
0
0
-4
22
76
-23
21
91
68
-1
-14
0
0
0
0
0
0
0
0
3
-3
-102
52
-29
-39
-91
-17
-7
-2
0
0
0
0
0
0
0
-1
-3
-65
-22
-160
65
-73
-24
-15
0
0
0
0
0
0
0
0
0
0
-36
-9
-126
-52
-15
-61
-33
0
0
0
0
0
0
0
0
0
0
0
-8
0
51
89
-68
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-12
1
0
0
0
0
0
0
0
0
51
0
30
-13
43
0
0
0
0
0
0
0
0
0
0
0
0
-17
-131
69
-11
2
0
0
0
16
0
0
0
0
0
0
0
0
2
-5
-29
-20
19
-68
3
-51
-3
-3
0
0
0
0
0
0
2
-3
6
-60
15
-18
-17
-11
-64
-1
2
0
0
0
0
0
0
0
4
6
45
55
-28
-28
36
-107
0
-5
0
0
0
0
0
0
0
-1
-19
-5
67
-49
-26
-35
5
0
0
0
0
0
0
0
0
0
0
0
0
16
18
34
51
-100
-43
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-27
-106
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-40
2
0
0
0
0
0
0
0
0
0
3
1
14
-2
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
-17
0
8
0
0
0
-14
0
0
0
0
0
0
0
0
0
-8
-7
0
0
-9
-1
-12
-1
0
0
0
0
0
0
0
0
-4
-1
18
0
14
37
4
-5
0
-6
0
0
0
0
0
0
0
-2
1
23
-9
-9
22
-4
15
-8
0
0
0
0
0
0
0
1
0
0
2
-6
-52
-16
-73
-46
16
0
0
0
0
0
0
0
0
0
0
4
0
-21
49
-28
-22
-10
5
0
0
0
0
0
0
0
0
0
0
-17
-1
17
-20
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
1
1
0
0
0
0
0
0
0
0
7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
28
8
-48
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-29
-8
43
1
0
0
13
-1
0
0
0
0
0
0
0
0
6
-13
-3
1
13
-17
0
-1
1
0
0
0
0
0
0
0
0
0
0
-2
-20
34
-14
11
17
0
0
0
0
0
0
0
0
0
-7
-5
-21
14
-55
5
8
31
0
5
0
0
0
0
0
0
0
0
0
-10
13
0
15
-50
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
15
40
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
-4
-1
-8
0
-4
0
0
0
0
0
0
0
0
2
-2
4
-7
-8
13
12
0
0
1
0
0
0
0
0
0
0
-1
0
-14
0
-10
-8
12
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-63
-38
10
-6
0
0
0
0
0
0
0
0
0
0
0
3
-8
-16
0
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
15
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
11
0
0
0
0
0
0
0
0
0
0
-15
3
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
8
28
-3
-5
-5
-29
0
0
0
0
0
0
0
0
0
0
0
3
-22
10
-3
-7
-16
-97
10
30
0
0
0
0
0
0
0
0
0
0
34
23
6
-121
-14
-58
-37
0
0
0
0
0
0
0
0
-12
7
11
12
46
-39
-2
-90
-139
-9
0
0
0
0
0
0
0
0
0
8
18
65
-86
24
-94
56
0
0
0
0
0
0
0
0
0
0
-4
4
-14
61
-60
0
-55
-3
0
0
0
0
0
0
0
0
0
12
0
-13
-18
-54
43
60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-88
18
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
30
-5
-15
0
0
0
2
0
0
0
0
0
0
0
0
0
2
19
-33
-8
9
-17
40
1
0
0
0
0
0
0
0
0
4
-25
9
-40
7
-47
-22
-33
32
0
0
0
0
0
0
0
0
0
-3
-54
16
-160
10
55
-44
-2
0
0
0
0
0
0
0
0
0
4
-11
-12
-20
-29
-26
-25
5
0
0
0
0
0
0
0
0
0
0
-3
10
40
25
41
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
-6
-61
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-1
3
0
14
-10
0
0
0
0
0
0
0
0
0
0
0
36
9
3
-24
0
5
0
0
0
0
0
0
0
0
0
0
1
-1
-5
8
0
-30
1
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-14
-58
-4
41
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-4
-12
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-75
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
-36
-23
-38
-76
-9
0
0
0
0
0
0
0
0
0
-5
-20
27
-110
23
-55
16
1
0
0
0
0
0
0
0
0
0
-12
6
-30
-33
13
-11
16
-27
0
0
0
0
0
0
0
0
0
-2
-7
49
-52
-3
51
-20
-49
0
0
0
0
0
0
0
0
0
1
-1
-41
7
-40
42
-21
21
0
0
0
0
0
0
0
0
0
1
1
0
-24
21
27
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-45
46
22
0
0
0
0
0
0
0
0
0
-4
-3
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
-27
3
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
79
-32
-1
38
-25
19
-42
0
0
0
0
0
0
0
0
0
-1
-6
52
-90
55
-49
-74
-33
0
0
0
0
0
0
0
0
0
-5
8
22
-45
31
-41
20
2
-14
0
0
0
0
0
0
0
1
-1
-5
23
-142
-14
-34
-65
-22
4
0
0
0
0
0
0
0
0
0
0
-7
47
-108
-61
-109
-38
-4
0
0
0
0
0
0
0
0
0
-2
1
-20
-25
54
0
-66
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
26
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-39
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
-90
11
67
0
25
13
-33
-1
0
0
0
0
0
0
0
0
5
-54
-65
-1
-4
-10
14
-13
2
0
0
0
0
0
0
0
0
0
-2
-2
57
18
10
-34
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-81
-6
6
-7
-37
5
0
0
0
0
0
0
0
0
0
3
11
7
-44
-47
-38
-49
-3
0
0
0
0
0
0
0
0
0
0
9
12
10
56
-68
22
34
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
34
-2
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
6
29
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
10
-35
0
-16
3
16
11
2
0
0
0
0
0
0
0
0
0
0
0
11
-31
-42
-37
-29
6
0
0
0
0
0
0
0
0
-2
0
0
1
-56
-17
-38
-15
0
0
0
0
0
0
0
0
0
0
2
0
-5
12
-32
-94
-66
-3
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
7
29
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-32
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
-28
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
-7
38
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
4
5
39
4
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-58
-8
-9
-8
-31
5
0
0
0
0
0
0
0
0
0
0
8
0
-15
-11
-34
-76
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-6
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
8
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-9
3
-24
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
22
0
2
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
-62
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
-20
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
19
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
-5
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
8
-7
-19
3
-10
-16
0
0
0
0
0
0
0
0
0
0
-2
13
-43
37
-88
-30
-27
0
0
0
0
0
0
0
0
0
0
0
1
-44
1
40
-18
-35
0
0
0
0
0
0
0
0
0
0
0
11
-17
-32
-4
20
-13
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
54
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
-2
-2
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-22
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-48
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-29
0
0
13
-56
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
4
12
-28
30
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-2
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
2
15
-6
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-49
-52
-32
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-34
-42
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
169
-56
-34
8
0
0
0
0
0
0
0
0
0
0
2
58
-22
52
15
74
-41
0
0
0
0
0
0
0
0
0
0
49
76
22
62
23
-50
-25
0
0
0
0
0
0
0
0
0
0
1
40
17
42
54
-10
-1
0
0
0
0
0
0
0
0
0
0
5
11
33
27
-7
1
1
1
0
0
0
0
0
0
0
0
0
-4
-28
22
-50
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-39
-19
36
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-25
-15
-100
52
0
0
0
0
0
0
0
0
0
56
-38
34
20
0
-30
-61
-24
-20
0
0
0
0
0
0
0
0
26
-1
7
-3
32
-1
-74
-17
-10
0
0
0
0
0
0
0
0
134
-123
28
29
-68
21
-22
34
-21
0
0
0
0
0
0
0
0
80
63
36
59
-3
-59
-25
-30
43
0
0
0
0
0
0
0
0
-104
29
79
-59
-91
11
-18
5
-39
-3
0
0
0
0
0
0
0
-63
61
-16
9
32
-7
18
-1
-19
0
0
0
0
0
0
0
0
24
-75
-18
-29
12
67
0
-27
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
1
42
-53
-36
-24
0
-8
0
0
0
0
0
0
0
-16
34
-23
36
15
24
-83
-43
-44
-14
0
0
0
0
0
0
0
2
-5
-28
50
-60
43
-9
1
39
-5
0
0
0
0
0
0
0
93
-1
3
26
66
-39
77
-20
2
-9
0
0
0
0
0
0
0
1
-74
21
-41
-37
-5
54
-66
31
-22
0
0
0
0
0
0
0
3
-39
46
36
-78
116
-10
26
-6
-6
0
0
0
0
0
0
0
-10
-5
-48
-42
-62
65
-88
61
12
13
0
0
0
0
0
0
0
-2
13
45
-36
36
-9
-54
1
-31
0
0
0
0
0
0
0
0
0
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
-5
-27
-7
-38
0
6
0
0
0
0
0
0
0
-32
-54
-6
34
54
7
-44
29
-10
2
0
0
0
0
0
0
0
18
62
41
-43
24
54
25
-48
-10
4
0
0
0
0
0
0
0
35
-29
74
-52
2
81
54
29
13
13
0
0
0
0
0
0
0
104
7
49
-55
4
-76
16
23
100
31
0
0
0
0
0
0
0
12
42
-7
-6
36
-38
2
-25
5
-5
0
0
0
0
0
0
0
13
-7
43
-1
-46
5
0
3
-17
0
0
0
0
0
0
0
0
-9
-109
6
-22
-40
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
-78
1
0
-1
72
43
0
0
0
0
0
0
0
0
0
-24
-32
57
-42
21
-9
-69
-59
33
0
0
0
0
0
0
0
0
15
-49
51
44
-38
7
55
58
-30
1
0
0
0
0
0
0
0
-51
11
-25
69
36
-66
-13
-17
-6
-1
0
0
0
0
0
0
0
-2
59
-85
-37
0
-43
-26
43
-9
40
0
0
0
0
0
0
0
17
-54
27
-26
-50
-35
-95
5
4
14
0
0
0
0
0
0
0
-1
-107
-55
40
-23
22
-37
-20
-12
0
0
0
0
0
0
0
0
1
23
39
33
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-27
25
0
0
0
12
0
0
0
0
0
0
0
0
0
22
108
92
-28
24
0
-2
61
17
0
0
0
0
0
0
0
0
7
90
-9
29
128
37
32
7
18
-1
0
0
0
0
0
0
0
-1
45
84
-56
9
-35
11
-18
5
0
0
0
0
0
0
0
0
-9
40
-11
18
-3
51
0
-2
-5
0
0
0
0
0
0
0
0
1
31
46
0
31
-18
0
-7
-2
-6
0
0
0
0
0
0
0
-7
-38
0
2
-3
2
0
2
1
0
0
0
0
0
0
0
0
0
24
-10
4
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
22
60
12
0
-4
0
-5
0
0
0
0
0
0
0
0
0
-2
36
-47
30
33
0
4
0
0
0
0
0
0
0
0
0
0
-2
12
-24
4
-4
-50
0
-2
0
0
0
0
0
0
0
0
0
-13
0
5
-5
1
-8
0
8
-4
0
0
0
0
0
0
0
0
-3
2
-5
41
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-14
-5
4
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
1
2
0
0
0
0
0
0
0
0
0
0
0
7
4
3
1
-52
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
2
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-1
-29
-42
59
-13
-7
0
0
0
0
0
0
0
0
0
30
13
24
0
54
95
-10
-43
0
0
0
0
0
0
0
0
0
-98
43
41
53
-38
123
-12
1
-5
0
0
0
0
0
0
0
0
42
30
-20
40
44
60
-50
3
0
0
0
0
0
0
0
0
0
-11
72
18
-8
38
55
8
8
0
0
0
0
0
0
0
0
0
21
35
94
-16
-46
73
1
-9
0
0
0
0
0
0
0
0
0
11
26
7
25
-4
0
0
-6
0
0
0
0
0
0
0
0
0
1
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-17
29
75
42
7
-13
-4
0
0
0
0
0
0
0
0
0
65
-1
89
-16
-67
7
-37
35
1
0
0
0
0
0
0
0
0
96
83
49
34
0
-26
7
-44
49
8
0
0
0
0
0
0
0
129
-11
12
-28
36
75
24
-14
2
0
0
0
0
0
0
0
0
65
-29
17
-2
-6
28
-29
-20
-28
4
0
0
0
0
0
0
0
-62
22
127
7
5
-18
-23
3
5
0
0
0
0
0
0
0
0
43
60
15
-51
-66
-78
2
9
-54
0
0
0
0
0
0
0
0
30
22
7
48
-12
-5
0
3
-2
0
0
0
0
0
0
0
0
-3
4
-49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
76
-6
16
-15
-79
-68
-65
0
2
0
0
0
0
0
0
0
53
36
8
72
78
8
-60
23
-48
-2
0
0
0
0
0
0
0
55
-31
-15
-42
-14
155
20
4
-61
-15
0
0
0
0
0
0
0
20
17
27
-19
45
-35
18
-45
-5
9
-1
0
0
0
0
0
0
36
-5
-18
42
-19
-44
-7
-108
-18
-25
0
0
0
0
0
0
0
-11
34
-100
-133
56
-82
59
16
74
28
0
0
0
0
0
0
0
37
-62
-42
93
85
67
21
-34
-12
0
0
0
0
0
0
0
0
-1
-1
-35
9
7
85
-1
22
1
0
0
0
0
0
0
0
0
7
-23
-7
-9
1
0
5
0
0
0
0
0
0
0
0
0
0
3
-50
95
-7
93
-43
70
-8
0
-4
0
0
0
0
0
0
0
-9
45
101
-1
17
111
57
-40
-23
2
-3
0
0
0
0
0
0
-55
-30
13
-33
31
-40
14
-14
-45
4
0
0
0
0
0
0
0
1
-14
65
41
95
114
124
45
110
-2
0
0
0
0
0
0
0
36
-41
20
-4
-10
-41
65
1
50
3
0
0
0
0
0
0
0
-35
15
4
36
-33
41
-44
65
-7
2
0
0
0
0
0
0
0
39
4
-110
-66
36
67
-10
30
-1
0
0
0
0
0
0
0
0
-5
-18
-75
12
-9
5
5
-1
0
0
0
0
0
0
0
0
0
1
-8
-4
0
12
7
0
0
0
0
0
0
0
0
0
0
0
-8
18
116
110
0
-54
14
-77
0
0
0
0
0
0
0
0
0
7
22
-17
130
-34
-85
-17
-23
11
0
0
0
0
0
0
0
0
-3
1
-13
104
-28
14
44
-152
50
-5
0
0
0
0
0
0
0
-20
-36
27
23
-72
52
-24
-11
12
55
0
0
0
0
0
0
0
-11
-77
-40
11
-1
-16
-16
-4
-44
-16
4
0
0
0
0
0
0
-11
-20
16
-8
-17
-20
18
-61
-44
-5
0
0
0
0
0
0
0
-11
12
30
-65
-42
-32
17
2
55
-7
0
0
0
0
0
0
0
-3
-89
-18
11
0
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
43
67
119
-120
-34
4
-121
-30
0
1
0
0
0
0
0
0
0
6
-13
32
9
166
-16
16
45
-29
-1
-1
0
0
0
0
0
0
-37
73
97
29
4
36
-10
6
34
-3
0
0
0
0
0
0
0
-23
-54
124
70
-14
37
-10
5
-6
0
0
0
0
0
0
0
0
59
78
43
-8
21
59
-54
41
1
16
0
0
0
0
0
0
0
18
70
123
68
52
29
4
-34
-3
0
0
0
0
0
0
0
0
33
-10
91
100
53
29
-69
-17
-6
0
0
0
0
0
0
0
0
0
-74
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
95
59
35
-47
-4
1
0
-1
0
0
0
0
0
0
0
0
-21
62
47
-6
-72
-17
10
12
0
0
0
0
0
0
0
0
0
24
-25
48
56
30
42
8
-7
-3
0
0
0
0
0
0
0
0
26
84
125
61
7
25
10
2
-13
0
0
0
0
0
0
0
0
80
-8
0
-9
1
16
9
-4
2
0
0
0
0
0
0
0
0
37
1
-75
-49
26
-16
6
-5
-5
0
0
0
0
0
0
0
0
7
48
-16
3
1
-6
7
2
0
0
0
0
0
0
0
0
0
64
13
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-1
-1
-8
1
0
0
1
0
0
0
0
0
0
0
-2
0
-22
-32
-37
-2
-1
0
1
0
0
0
0
0
0
0
0
0
-3
25
-8
1
-13
-9
1
0
-1
0
0
0
0
0
0
0
0
5
5
1
0
-3
3
0
-8
0
0
0
0
0
0
0
0
-4
0
17
9
0
-5
-2
-5
0
3
0
0
0
0
0
0
0
1
0
0
6
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
0
-6
0
-2
10
0
0
0
0
0
0
0
0
0
0
27
17
-26
5
-13
40
0
-2
0
0
0
0
0
0
0
0
0
-1
-12
-5
-4
40
-17
4
1
0
0
0
0
0
0
0
0
0
-8
41
-3
20
-1
-2
1
0
0
0
0
0
0
0
0
0
0
14
1
-38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
19
54
48
-29
0
-2
0
0
0
0
0
0
0
0
0
29
4
-17
110
135
8
26
-1
0
0
0
0
0
0
0
0
0
41
-16
83
-13
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-3
6
-7
5
9
0
1
1
0
0
0
0
0
0
0
0
0
3
8
32
17
25
0
-6
0
0
0
0
0
0
0
0
0
0
1
2
-6
9
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-87
-30
-1
0
0
0
0
0
0
0
0
0
0
0
5
19
8
-32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
109
37
-21
39
-2
2
0
0
0
0
0
0
0
0
0
18
68
24
-64
-86
-2
-14
9
0
0
0
0
0
0
0
0
0
-19
49
9
8
-18
6
14
8
-10
0
0
0
0
0
0
0
0
-6
106
-27
20
38
58
-8
17
0
0
0
0
0
0
0
0
0
-20
-11
-21
119
-14
23
2
0
2
0
0
0
0
0
0
0
0
29
10
53
53
1
-21
0
-2
0
0
0
0
0
0
0
0
0
-8
-6
-64
-13
-10
-2
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
51
79
-22
8
47
-94
-33
0
0
0
0
0
0
0
0
0
77
7
25
-8
18
-63
45
16
-15
0
0
0
0
0
0
0
0
-15
62
74
46
-7
-8
29
-44
57
23
0
0
0
0
0
0
0
-12
-30
-16
-25
-14
-51
-17
36
-21
0
0
0
0
0
0
0
0
-8
20
-84
-15
128
0
38
47
54
12
0
0
0
0
0
0
0
-44
-81
-45
-65
-9
-45
80
-76
-66
1
0
0
0
0
0
0
0
91
2
-59
3
62
52
-18
-64
1
0
0
0
0
0
0
0
0
48
-48
44
-11
5
-9
0
-4
-1
0
0
0
0
0
0
0
0
-52
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
12
37
78
20
-30
-105
48
0
-12
0
0
0
0
0
0
0
-44
9
82
43
-58
23
-64
4
-67
0
-4
0
0
0
0
0
0
66
8
2
15
-10
-39
-17
-25
-78
-9
0
0
0
0
0
0
0
-7
94
-80
43
3
23
-99
-35
66
26
0
0
0
0
0
0
0
37
42
-62
22
-7
-6
-47
129
4
8
0
0
0
0
0
0
0
-52
11
0
73
41
20
25
-20
-18
-8
0
0
0
0
0
0
0
66
93
47
-57
28
-47
-8
-5
14
-3
0
0
0
0
0
0
0
1
71
28
-34
-44
0
6
0
-7
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-3
41
5
23
-5
18
72
0
0
0
0
0
0
0
0
0
24
85
58
-28
-43
73
-31
-6
24
0
0
0
0
0
0
0
0
30
43
56
24
-26
80
31
72
40
2
0
0
0
0
0
0
0
6
-50
8
-49
-38
-43
52
107
22
-1
0
0
0
0
0
0
0
-4
-14
64
6
-20
25
52
-6
56
2
0
0
0
0
0
0
0
10
-81
-2
4
23
-3
3
5
4
0
0
0
0
0
0
0
0
0
50
11
40
-13
-32
5
-5
10
0
0
0
0
0
0
0
0
24
2
59
-5
-2
9
0
1
0
0
0
0
0
0
0
0
0
-28
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
25
93
-2
55
0
24
-22
0
0
0
0
0
0
0
0
0
-50
-20
43
-47
-47
26
-40
-23
-51
-7
2
0
0
0
0
0
0
14
20
60
-30
40
2
-20
-21
-43
30
0
0
0
0
0
0
0
115
-39
-27
-21
-25
58
65
47
47
-14
0
0
0
0
0
0
0
27
-97
37
-13
55
9
42
-68
13
-4
0
0
0
0
0
0
0
-12
8
61
63
5
-28
-78
-31
-2
-4
0
0
0
0
0
0
0
-6
-1
-40
-60
-20
25
14
0
0
0
0
0
0
0
0
0
0
22
-54
-23
-14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-75
-3
-53
108
76
16
-39
0
-2
0
0
0
0
0
0
0
24
-112
93
-49
9
-3
20
77
-10
0
0
0
0
0
0
0
0
-40
16
39
8
31
-21
-63
-1
-10
2
0
0
0
0
0
0
0
-57
-77
75
-154
54
-45
-41
55
-18
6
0
0
0
0
0
0
0
29
-51
7
21
-1
26
23
7
-20
-1
0
0
0
0
0
0
0
-44
-24
123
-4
10
25
40
-5
0
0
0
0
0
0
0
0
0
26
8
1
-19
-1
-2
-4
2
7
0
0
0
0
0
0
0
0
0
-31
-7
30
0
0
0
5
0
0
0
0
0
0
0
0
0
9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
5
-30
8
-44
-2
10
0
-13
0
0
0
0
0
0
0
-5
-6
50
6
-42
-40
-2
-56
41
0
4
0
0
0
0
0
0
0
-30
9
-15
42
-40
20
1
3
-1
0
0
0
0
0
0
0
0
73
-55
-23
-92
-57
4
5
6
6
0
0
0
0
0
0
0
0
-58
18
-19
11
-2
-26
10
4
0
0
0
0
0
0
0
0
3
-54
-12
-23
13
-5
3
4
0
0
0
0
0
0
0
0
0
0
49
-12
52
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-17
16
5
-41
18
0
-1
0
0
0
0
0
0
0
-3
-30
25
16
39
-7
-21
-8
0
0
0
0
0
0
0
0
0
-17
24
-48
16
-31
-3
2
6
0
0
0
0
0
0
0
0
0
-45
-2
-32
30
23
-17
-4
-3
3
0
0
0
0
0
0
0
0
1
-5
0
6
-12
8
12
0
0
0
0
0
0
0
0
0
0
2
-4
-15
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
4
-15
2
1
0
5
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
25
64
-50
-28
54
13
-5
0
0
0
0
0
0
0
0
0
-27
-2
22
28
-58
-5
114
-13
3
0
0
0
0
0
0
0
0
-41
19
87
-39
-4
6
23
0
0
0
0
0
0
0
0
0
0
-57
-31
-6
16
74
-48
0
0
0
0
0
0
0
0
0
0
0
1
8
13
-4
-3
-5
0
0
-2
0
0
0
0
0
0
0
0
-52
17
0
5
-17
5
0
1
0
0
0
0
0
0
0
0
0
0
12
-1
-2
0
0
-4
-2
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-25
-17
-99
26
66
58
0
-2
0
0
0
0
0
0
0
0
-37
-72
38
-38
-15
1
18
25
0
0
0
0
0
0
0
0
0
25
1
60
73
26
-8
-30
3
0
0
0
0
0
0
0
0
0
-28
-36
-26
11
-30
13
33
-4
0
0
0
0
0
0
0
0
0
23
-39
26
-33
-16
-9
-1
4
0
0
0
0
0
0
0
0
0
118
24
-27
-8
-15
2
10
0
0
0
0
0
0
0
0
0
0
30
-13
-40
7
0
0
1
-1
0
0
0
0
0
0
0
0
0
39
-7
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-16
2
2
0
-1
0
0
0
0
0
0
0
0
0
-24
3
-9
41
43
2
2
0
0
0
0
0
0
0
0
0
0
56
-8
-9
-29
33
2
12
0
0
0
0
0
0
0
0
0
0
4
-4
5
-9
-1
1
-3
0
0
0
0
0
0
0
0
0
0
-5
1
-5
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
-1
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
1
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
75
-40
26
-15
52
-7
0
0
0
0
0
0
0
0
0
0
-8
21
9
9
-2
-43
38
38
0
0
0
0
0
0
0
0
0
7
-51
35
3
-47
-12
-3
15
6
0
0
0
0
0
0
0
0
9
9
11
8
16
26
1
-1
2
0
0
0
0
0
0
0
0
0
66
55
-33
-8
-22
-6
0
0
0
0
0
0
0
0
0
0
-14
90
-12
-56
0
1
0
0
0
0
0
0
0
0
0
0
0
7
-30
127
-27
14
-3
0
0
0
0
0
0
0
0
0
0
0
18
43
49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
4
-67
37
-23
-84
-55
-59
0
0
0
0
0
0
0
0
0
33
-29
1
-19
35
62
2
-36
-15
-3
0
0
0
0
0
0
0
55
-13
-39
-44
2
-18
49
-73
-37
-9
0
0
0
0
0
0
0
67
2
14
-38
20
43
-59
-8
18
0
0
0
0
0
0
0
0
-76
-5
1
-81
-16
110
57
0
-10
0
0
0
0
0
0
0
0
69
-45
18
32
49
15
8
6
-58
-5
0
0
0
0
0
0
0
-38
-45
15
-58
-49
17
-71
-36
3
0
0
0
0
0
0
0
0
-21
83
0
18
-17
25
6
-3
0
0
0
0
0
0
0
0
0
-66
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
55
-48
-48
58
37
-51
0
-2
0
0
0
0
0
0
0
17
69
37
-15
-3
10
5
31
75
4
4
0
0
0
0
0
0
43
26
-60
-38
53
-13
114
-4
32
0
0
0
0
0
0
0
0
-26
49
-42
-6
9
-52
28
-4
144
-1
0
0
0
0
0
0
0
44
-11
-42
5
-35
-65
-51
-24
-53
5
0
0
0
0
0
0
0
5
43
53
37
96
-31
91
11
-34
0
0
0
0
0
0
0
0
54
-112
-2
-3
-13
-45
-39
8
5
0
0
0
0
0
0
0
0
-73
0
-98
-11
44
20
1
-1
0
0
0
0
0
0
0
0
0
-64
-42
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
13
-16
15
33
75
18
0
4
0
0
0
0
0
0
0
45
-12
83
44
57
70
34
-60
6
-1
-2
0
0
0
0
0
0
-46
-53
48
-6
8
1
8
-12
-16
33
0
0
0
0
0
0
0
105
100
27
2
23
-3
24
-7
54
6
0
0
0
0
0
0
0
26
-23
-9
-14
-9
29
13
19
15
0
0
0
0
0
0
0
0
43
45
46
-42
-57
-42
26
12
2
-5
0
0
0
0
0
0
0
-21
-34
30
-51
54
9
-1
0
-2
0
0
0
0
0
0
0
0
-21
7
16
15
6
3
0
0
-3
0
0
0
0
0
0
0
0
23
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
79
59
23
82
-48
-28
13
0
0
0
0
0
0
0
0
0
25
-93
-33
58
53
103
-2
8
-36
7
0
0
0
0
0
0
0
-21
-55
-16
-18
-7
-9
27
33
-1
-1
0
0
0
0
0
0
0
15
23
-17
34
33
-17
86
-6
-110
-5
0
0
0
0
0
0
0
4
-2
-38
-14
3
0
-61
53
1
16
0
0
0
0
0
0
0
25
38
-26
55
-74
33
17
-36
-17
2
0
0
0
0
0
0
0
52
15
10
27
17
10
-18
0
3
0
0
0
0
0
0
0
0
-2
-5
67
-95
0
-1
0
0
2
0
0
0
0
0
0
0
0
4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-32
32
-16
19
10
16
57
0
0
0
0
0
0
0
0
0
-8
73
-78
-62
88
-31
-59
25
13
1
0
0
0
0
0
0
0
20
-78
-6
-14
-36
-17
-5
99
11
8
0
0
0
0
0
0
0
42
-27
-21
-22
-32
2
-2
10
-3
0
0
0
0
0
0
0
0
39
33
60
-54
-41
4
2
-10
0
0
0
0
0
0
0
0
0
-5
-98
9
55
92
0
-20
5
3
0
0
0
0
0
0
0
0
-2
-15
81
31
31
3
-8
4
0
0
0
0
0
0
0
0
0
15
-44
-16
1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
1
5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-1
-17
103
-48
4
4
0
0
0
0
0
0
0
0
0
0
2
-1
10
87
25
78
14
9
0
0
0
0
0
0
0
0
0
28
-61
11
35
17
5
13
6
0
0
0
0
0
0
0
0
0
-38
-65
-9
-30
-4
2
0
-3
0
0
0
0
0
0
0
0
0
58
24
-92
19
-24
0
-1
-8
-1
0
0
0
0
0
0
0
0
51
-5
32
6
-19
5
3
0
0
0
0
0
0
0
0
0
0
-63
28
-1
4
1
5
0
-8
0
0
0
0
0
0
0
0
0
2
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-3
2
44
-18
-9
0
0
0
0
0
0
0
0
0
-24
19
4
46
-45
47
-10
25
-30
0
0
0
0
0
0
0
0
-5
-5
41
-48
11
-53
-30
0
-4
2
0
0
0
0
0
0
0
-31
2
-7
-38
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
-22
-13
-2
-51
-3
19
-29
0
-4
0
0
0
0
0
0
0
0
13
0
-14
5
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-24
-2
7
0
0
-3
-2
0
0
0
0
0
0
0
0
0
14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-45
-80
-40
33
-3
39
16
0
0
0
0
0
0
0
0
0
-2
3
-88
6
33
108
-92
40
-6
2
0
0
0
0
0
0
0
33
26
-14
-93
-94
61
-24
20
2
0
0
0
0
0
0
0
0
-3
-84
-15
-59
-7
31
56
-1
0
0
0
0
0
0
0
0
0
-48
10
-23
-31
66
42
42
-3
0
0
0
0
0
0
0
0
0
-52
-48
10
-18
-27
-2
-4
-3
1
-1
0
0
0
0
0
0
0
-25
33
30
20
22
-17
0
0
1
0
0
0
0
0
0
0
0
4
-33
-6
12
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-62
31
-97
64
118
92
0
0
0
0
0
0
0
0
0
0
3
12
-17
-35
-8
1
-20
48
0
0
0
0
0
0
0
0
0
71
-57
-65
75
18
60
32
-15
0
0
0
0
0
0
0
0
0
-51
-47
-157
88
-8
-57
-12
0
0
0
0
0
0
0
0
0
0
-18
-99
-8
-113
-64
-44
-5
0
0
0
0
0
0
0
0
0
0
-87
32
9
61
35
-3
8
7
0
0
0
0
0
0
0
0
0
-101
-1
91
-5
4
-2
-7
4
-5
0
0
0
0
0
0
0
0
-123
-9
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
8
3
17
14
15
3
-1
-3
0
0
0
0
0
0
0
0
0
4
1
-50
-4
-39
5
0
0
0
0
0
0
0
0
0
0
0
2
-6
-15
-31
-2
-8
-6
0
0
0
0
0
0
0
0
0
0
6
5
3
-5
4
0
-2
0
0
0
0
0
0
0
0
0
0
5
-4
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
38
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-2
-1
50
-35
42
1
0
0
0
0
0
0
0
0
0
5
22
26
26
42
3
-60
-11
0
0
0
0
0
0
0
0
0
-8
12
-135
42
8
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
-22
1
-4
-3
0
0
0
0
0
0
0
0
0
-2
73
-58
44
-14
0
-4
-1
0
0
0
0
0
0
0
0
0
16
5
27
-55
-7
0
0
0
0
0
0
0
0
0
0
0
0
-26
10
-19
4
8
2
0
0
0
0
0
0
0
0
0
0
0
32
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
29
-52
-21
-10
25
-82
21
0
0
0
0
0
0
0
0
0
-62
48
-30
58
-5
65
100
75
-1
0
0
0
0
0
0
0
0
-13
-19
-18
-55
-56
13
-36
12
3
0
0
0
0
0
0
0
0
-19
-16
51
-66
56
-47
38
31
21
0
0
0
0
0
0
0
0
-1
0
-2
91
-5
-84
18
-16
0
0
0
0
0
0
0
0
0
36
5
11
-111
-78
-40
-7
44
-8
0
0
0
0
0
0
0
0
-2
45
24
59
-11
78
-31
5
-7
0
0
0
0
0
0
0
0
58
-25
26
-28
4
-35
0
-5
0
0
0
0
0
0
0
0
0
-79
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-56
-26
-108
-42
2
36
0
0
0
0
0
0
0
0
0
4
-43
-8
28
19
88
-134
-4
-30
2
2
0
0
0
0
0
0
9
-16
-51
-19
34
38
79
-8
37
1
0
0
0
0
0
0
0
33
52
-31
18
-20
-15
-11
22
-40
0
0
0
0
0
0
0
0
0
12
0
-35
-48
-60
-16
0
14
0
0
0
0
0
0
0
0
18
34
-5
9
-84
60
33
12
21
2
0
0
0
0
0
0
0
4
31
17
23
-63
15
5
-25
-2
-7
0
0
0
0
0
0
0
73
19
7
-37
31
6
-2
-5
-4
0
0
0
0
0
0
0
0
34
-14
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
96
49
60
-42
44
43
0
0
0
0
0
0
0
0
0
12
11
4
-7
18
7
8
66
-1
0
0
0
0
0
0
0
0
-16
31
-54
90
41
23
0
-19
22
-2
0
0
0
0
0
0
0
33
-119
15
-11
0
47
-46
-6
38
1
0
0
0
0
0
0
0
-18
57
0
0
1
-17
60
15
-12
0
0
0
0
0
0
0
0
-53
-53
38
1
66
-52
53
-7
4
0
0
0
0
0
0
0
0
1
9
52
-4
60
-4
55
0
1
0
0
0
0
0
0
0
0
1
25
-32
6
-3
-2
0
0
2
0
0
0
0
0
0
0
0
60
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-53
-36
-12
58
-24
6
0
3
0
0
0
0
0
0
0
5
26
70
-5
-96
-57
-33
-8
12
-4
0
0
0
0
0
0
0
24
-147
-73
-11
21
-47
34
25
51
-6
0
0
0
0
0
0
0
9
-15
32
-3
-3
-54
0
1
10
-1
0
0
0
0
0
0
0
-1
47
-6
-3
0
5
3
-51
8
1
0
0
0
0
0
0
0
-12
113
76
24
3
3
-45
5
50
2
0
0
0
0
0
0
0
-1
0
-10
105
4
0
-1
-8
0
0
0
0
0
0
0
0
0
-2
54
-15
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
5
22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
0
32
-17
-24
-8
-18
0
0
0
0
0
0
0
0
0
-4
43
15
44
-4
7
92
-20
-21
1
0
0
0
0
0
0
0
18
58
-43
-3
89
-8
8
6
2
-4
0
0
0
0
0
0
0
36
-76
-43
23
33
-2
6
10
-3
-3
0
0
0
0
0
0
0
-5
-67
-33
-28
0
0
0
8
3
0
0
0
0
0
0
0
0
5
159
-46
-48
51
0
0
-1
3
0
0
0
0
0
0
0
0
-17
78
44
18
13
2
-2
0
-1
0
0
0
0
0
0
0
0
-1
6
-8
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
33
-24
-39
-4
-25
0
-3
0
0
0
0
0
0
0
0
-46
34
0
46
-38
-34
53
-7
0
0
0
0
0
0
0
0
0
42
-52
59
-9
34
82
-3
-2
-2
0
0
0
0
0
0
0
0
-59
50
-14
-16
13
0
2
0
4
0
0
0
0
0
0
0
0
-1
11
2
18
0
0
0
6
0
0
0
0
0
0
0
0
0
-58
20
106
18
6
0
0
0
0
0
0
0
0
0
0
0
0
24
-20
15
4
5
0
0
0
2
0
0
0
0
0
0
0
-9
39
7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
43
0
-51
15
25
4
0
0
0
0
0
0
0
0
0
32
-42
-30
-38
-37
-7
1
7
-13
0
0
0
0
0
0
0
0
49
18
24
54
57
-41
-18
-12
9
-4
0
0
0
0
0
0
0
-23
-26
44
-48
-6
-15
0
1
-3
0
0
0
0
0
0
0
0
0
34
5
4
-26
3
0
0
0
0
0
0
0
0
0
0
0
28
1
0
58
-48
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
-29
-10
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
26
10
7
64
16
28
0
-1
0
0
0
0
0
0
0
-88
-65
-46
-33
-28
-24
-9
84
-38
-10
0
0
0
0
0
0
0
33
-26
-24
35
-27
105
45
-147
-37
4
0
0
0
0
0
0
0
-33
16
-10
-76
-79
-10
-39
-19
1
5
0
0
0
0
0
0
0
54
23
-8
-11
92
-98
-20
0
0
0
0
0
0
0
0
0
0
-28
22
72
81
-23
48
-19
0
0
0
0
0
0
0
0
0
0
-30
-123
-71
-16
33
-19
7
0
-8
0
0
0
0
0
0
0
0
-6
20
-33
-5
0
0
0
0
19
0
0
0
0
0
0
0
0
54
7
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-75
-38
61
5
42
68
0
0
0
0
0
0
0
0
0
0
-130
-31
-5
-22
42
13
45
-6
-5
0
0
0
0
0
0
0
0
17
-54
58
-41
-94
31
106
63
1
0
0
0
0
0
0
0
0
1
-10
-40
39
-88
-33
144
-9
0
0
0
0
0
0
0
0
0
-54
-9
-70
6
-171
-32
30
0
0
0
0
0
0
0
0
0
0
-10
-32
19
47
23
100
61
1
0
0
0
0
0
0
0
0
0
15
-48
-15
-49
-42
7
1
-3
-2
0
0
0
0
0
0
0
0
17
73
-63
-6
24
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
24
7
0
9
2
2
0
0
0
0
0
0
0
0
0
-17
4
13
-6
0
-40
0
0
0
0
0
0
0
0
0
0
0
4
0
12
-3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
7
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-3
-19
-1
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
2
31
-35
-6
-19
2
10
0
0
0
0
0
0
0
0
0
-24
-12
49
-13
-1
0
10
0
0
0
0
0
0
0
0
0
0
-2
-1
21
4
-2
17
-2
0
0
0
0
0
0
0
0
0
0
0
-20
86
-30
33
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
20
9
0
-1
0
0
0
0
0
0
0
0
0
0
4
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
59
-20
9
-3
5
81
11
0
0
0
0
0
0
0
0
0
-114
-137
1
102
49
-114
-4
-25
-2
-4
0
0
0
0
0
0
0
-6
49
-28
50
30
-27
-10
-70
8
0
0
0
0
0
0
0
0
36
-27
-37
-52
-74
-53
-24
45
-12
0
0
0
0
0
0
0
0
18
0
-13
20
14
-61
-20
-28
-74
0
0
0
0
0
0
0
0
0
0
-1
37
-35
162
38
2
22
0
0
0
0
0
0
0
0
5
0
40
-97
-17
-81
33
-3
-6
0
0
0
0
0
0
0
0
14
-8
-6
-2
-90
15
0
0
0
0
0
0
0
0
0
0
0
-13
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
23
10
-34
6
8
-5
6
0
0
0
0
0
0
0
0
0
-5
57
-36
23
-17
2
91
5
-23
17
0
0
0
0
0
0
0
30
-14
25
-25
-19
-34
-29
-13
-5
0
0
0
0
0
0
0
0
-1
17
80
-31
-63
24
34
-12
4
-1
0
0
0
0
0
0
0
0
38
0
11
16
-62
-3
16
27
0
0
0
0
0
0
0
0
-13
17
0
5
50
45
19
38
-17
-2
0
0
0
0
0
0
0
-16
23
-4
6
-56
4
46
-2
1
0
0
0
0
0
0
0
0
13
-9
12
-46
13
-12
-1
3
0
0
0
0
0
0
0
0
0
28
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-5
-39
81
-1
49
-4
0
0
0
0
0
0
0
0
0
23
84
14
50
29
-23
-49
6
0
0
-4
0
0
0
0
0
0
28
28
24
54
9
1
-11
-34
3
0
0
0
0
0
0
0
0
2
70
43
-47
51
90
-40
55
2
-3
0
0
0
0
0
0
0
33
74
-54
-1
25
36
-43
-4
-3
0
0
0
0
0
0
0
0
-4
44
0
0
-5
-3
99
-10
-13
0
0
0
0
0
0
0
0
-46
-87
119
0
5
-11
8
0
1
0
0
0
0
0
0
0
0
-31
-51
28
1
3
0
0
0
1
0
0
0
0
0
0
0
0
-22
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
84
-3
-52
-41
6
8
0
0
0
0
0
0
0
0
0
0
-12
-29
-50
9
70
17
46
-2
0
0
0
0
0
0
0
0
49
55
1
-35
122
-18
-16
-44
23
-3
0
0
0
0
0
0
0
1
143
27
11
0
-41
-2
19
-1
-1
0
0
0
0
0
0
0
-1
24
-82
-22
-8
25
-68
-30
35
0
0
0
0
0
0
0
0
-14
-25
56
-1
0
24
0
3
-9
0
0
0
0
0
0
0
0
-30
4
-51
25
1
-4
-21
-7
-13
0
0
0
0
0
0
0
0
18
73
69
-8
0
-2
0
-4
0
0
0
0
0
0
0
0
0
-73
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-72
12
13
4
-59
-22
0
0
0
0
0
0
0
0
0
3
117
-11
-116
-16
-13
-6
-65
-3
0
5
0
0
0
0
0
0
16
-98
-14
48
60
-19
-66
-64
18
0
0
0
0
0
0
0
0
3
-49
18
28
37
2
78
3
41
-8
0
0
0
0
0
0
0
0
-84
76
53
-6
6
0
-3
2
-2
0
0
0
0
0
0
0
0
-70
22
3
1
0
0
5
0
0
0
0
0
0
0
0
0
47
-85
57
63
-21
-3
-1
5
-2
0
0
0
0
0
0
0
0
0
43
-27
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-44
21
-7
-9
18
-16
0
0
0
0
0
0
0
0
0
0
-93
4
-10
-15
-59
-52
60
2
0
0
0
0
0
0
0
0
0
-10
53
-17
-27
11
23
-20
-27
0
0
0
0
0
0
0
0
0
-4
-15
62
-40
35
67
-20
-1
0
0
0
0
0
0
0
0
0
-49
5
41
-78
26
0
4
-8
0
0
0
0
0
0
0
0
0
-3
23
-64
2
0
0
0
0
5
0
0
0
0
0
0
0
8
48
-52
32
-18
-14
1
0
0
0
0
0
0
0
0
0
0
1
-18
-36
-8
0
5
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
-24
2
-1
-52
-1
0
0
0
0
0
0
0
0
0
-4
-6
-18
-7
27
40
22
-43
12
0
0
0
0
0
0
0
0
21
24
-32
-79
-34
70
5
-5
60
1
0
0
0
0
0
0
0
-20
-3
-6
-25
40
19
48
-5
-2
0
0
0
0
0
0
0
0
-8
-30
-16
27
26
-2
-10
0
0
0
0
0
0
0
0
0
0
-4
-8
-15
-12
14
5
0
0
0
0
0
0
0
0
0
0
0
4
19
-14
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-62
-22
57
15
80
49
-41
0
-1
0
0
0
0
0
0
0
37
19
35
-40
-15
42
38
-66
-35
-2
0
0
0
0
0
0
0
-8
7
-15
61
-22
90
70
-27
-57
-6
0
0
0
0
0
0
0
30
-2
1
-27
-48
-46
66
-24
56
0
0
0
0
0
0
0
0
-36
63
90
26
9
37
47
0
0
0
0
0
0
0
0
0
0
5
26
-31
-83
-2
-61
-16
0
0
0
0
0
0
0
0
0
0
24
-54
-6
-60
-46
-40
1
-1
0
0
0
0
0
0
0
0
0
38
-35
-71
0
5
4
0
0
8
0
0
0
0
0
0
0
0
-37
-20
-11
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
57
37
-17
-7
-25
-31
0
0
0
0
0
0
0
0
0
0
-9
-47
-75
-35
75
-7
29
51
2
-2
0
0
0
0
0
0
0
-35
21
33
-45
95
80
65
24
0
0
0
0
0
0
0
0
0
63
-15
-68
-17
-31
72
-3
-46
0
0
0
0
0
0
0
0
0
77
30
-57
-67
58
-26
25
0
0
0
0
0
0
0
0
0
0
-80
-116
2
-3
-60
-157
-4
0
0
0
0
0
0
0
0
0
0
-10
22
-2
-18
-13
1
1
0
0
0
0
0
0
0
0
0
0
-34
46
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-14
0
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-7
8
4
-5
-2
0
-4
0
0
0
0
0
0
0
0
0
2
-2
28
-5
-5
-14
0
0
0
0
0
0
0
0
0
0
0
6
0
-10
65
10
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
2
5
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
7
-19
0
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-30
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
53
-5
-3
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
1
-13
-21
-49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-65
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
18
-49
-30
-43
-15
12
-8
0
0
0
0
0
0
0
0
0
-1
-105
-1
-49
-3
-1
61
4
-3
0
0
0
0
0
0
0
0
-46
-65
-93
-59
15
-72
-40
-32
-14
-1
0
0
0
0
0
0
0
-2
-18
5
-55
9
11
-44
10
-1
0
0
0
0
0
0
0
0
38
-1
22
21
-28
2
27
-8
18
0
0
0
0
0
0
0
0
29
0
86
30
-3
-64
105
26
3
0
0
0
0
0
0
0
0
0
0
0
-8
0
19
-2
-1
1
0
0
0
0
0
0
0
0
5
0
-1
122
1
-43
14
-1
0
0
0
0
0
0
0
0
0
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-61
-2
-20
-69
123
-27
-7
0
0
0
0
0
0
0
0
0
0
-57
13
66
30
6
-44
26
13
0
0
0
0
0
0
0
0
-1
-13
-53
31
13
-91
-3
79
9
0
0
0
0
0
0
0
0
-3
-8
-16
-4
53
-16
68
-44
-7
-8
0
0
0
0
0
0
0
-2
50
-1
6
-57
-57
-66
-44
35
0
0
0
0
0
0
0
0
-1
1
-1
35
-18
-15
-34
-72
12
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-19
11
28
-2
-3
0
0
0
0
0
0
0
31
4
0
-4
-9
10
11
0
4
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-11
-2
0
-29
-40
25
0
0
0
0
0
0
0
0
0
12
-13
-58
-32
15
-38
-38
44
-1
0
0
0
0
0
0
0
0
13
30
-10
22
-132
33
9
-16
5
0
0
0
0
0
0
0
0
0
81
187
13
34
11
38
56
3
0
0
0
0
0
0
0
0
-3
7
101
-2
-50
-5
-30
-3
-6
1
0
0
0
0
0
0
0
7
46
-41
0
70
-12
-41
-5
32
0
0
0
0
0
0
0
0
-28
2
3
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
18
41
9
0
0
2
-3
6
0
0
0
0
0
0
0
0
0
-70
13
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-42
10
-56
39
-35
-2
0
0
0
0
0
0
0
0
0
0
25
-57
-21
-31
-58
-22
-52
-13
0
0
0
0
0
0
0
0
3
-64
-74
33
-2
-155
43
-42
-1
-10
0
0
0
0
0
0
0
9
-97
-24
-33
-59
56
6
13
0
0
0
0
0
0
0
0
0
0
130
84
52
-38
2
-59
2
-1
0
0
0
0
0
0
0
0
0
3
2
-37
0
73
15
0
23
2
0
0
0
0
0
0
0
2
-30
1
0
0
5
2
4
-4
0
0
0
0
0
0
0
0
-5
-14
3
-7
0
-1
8
0
0
0
0
0
0
0
0
0
0
32
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
10
0
1
2
-37
6
0
0
0
0
0
0
0
0
0
-8
-74
-22
62
-6
-52
58
36
-5
0
0
0
0
0
0
0
0
0
0
34
-27
9
-12
-69
-31
-22
0
0
0
0
0
0
0
0
0
-17
-13
30
-15
8
22
-8
-6
0
0
0
0
0
0
0
0
2
-14
34
-2
36
-7
1
-3
13
0
0
0
0
0
0
0
0
0
-1
-14
-23
11
0
1
-4
6
0
0
0
0
0
0
0
0
4
30
22
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-40
-7
-56
1
0
0
1
-2
0
0
0
0
0
0
0
0
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
-1
-6
9
-4
0
0
0
0
0
0
0
0
0
0
-10
-65
2
-57
-11
8
11
0
0
0
0
0
0
0
0
0
0
26
4
17
52
-31
-55
10
7
0
0
0
0
0
0
0
0
0
64
-6
82
70
9
-9
-27
1
0
0
0
0
0
0
0
0
0
35
-14
-23
-57
-4
5
-9
0
-19
0
0
0
0
0
0
0
-22
-8
-25
13
42
1
0
-4
-1
0
0
0
0
0
0
0
0
0
21
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-2
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
9
5
3
15
-7
0
-19
-31
0
0
0
0
0
0
0
0
13
19
-8
14
2
63
18
10
-1
3
0
0
0
0
0
0
0
-5
8
5
-16
10
48
-7
3
-2
0
0
0
0
0
0
0
0
-3
-2
6
2
31
5
0
0
1
0
0
0
0
0
0
0
0
0
13
13
-4
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-2
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
-69
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-28
-10
61
23
-40
-33
7
0
0
0
0
0
0
0
0
0
-49
-16
12
8
48
71
49
-13
-92
0
0
0
0
0
0
0
0
8
-39
24
-43
-92
54
9
36
1
2
0
0
0
0
0
0
0
1
-28
108
-27
95
-21
41
16
4
-4
0
0
0
0
0
0
0
20
40
-31
39
12
130
16
21
5
0
0
0
0
0
0
0
0
-8
-106
-29
-6
-129
33
1
0
0
0
0
0
0
0
0
0
0
-9
-20
-4
60
-1
-43
1
0
0
0
0
0
0
0
0
0
0
-24
-70
30
76
4
-1
-2
0
0
0
0
0
0
0
0
0
0
27
10
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
91
13
8
12
45
-43
0
2
0
0
0
0
0
0
0
0
-24
-43
-43
-14
-36
19
5
-2
0
0
0
0
0
0
0
0
0
-7
11
-14
-29
89
4
-132
1
-6
0
0
0
0
0
0
0
0
-61
-16
47
-43
18
-17
30
6
0
0
0
0
0
0
0
0
0
-37
22
-4
-53
-44
8
2
13
0
0
0
0
0
0
0
0
0
-3
50
36
19
28
16
-91
0
0
0
0
0
0
0
0
0
0
-120
-24
41
13
20
-3
2
0
0
0
0
0
0
0
0
0
0
-70
59
-26
2
5
1
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
1
-6
-1
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
20
0
-6
10
0
0
0
0
0
0
0
0
0
0
21
8
-5
1
-17
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
0
13
0
1
0
0
0
0
0
0
0
0
0
0
0
10
-26
22
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
76
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
34
-20
13
-2
8
-13
0
0
0
0
0
0
0
0
0
0
0
-22
3
-3
-3
16
-25
43
0
0
0
0
0
0
0
0
0
0
3
0
-7
5
-31
20
2
0
0
0
0
0
0
0
0
0
0
-68
-5
5
108
-3
3
-2
0
0
0
0
0
0
0
0
0
0
-21
-6
28
62
-13
13
4
-13
0
0
0
0
0
0
0
0
0
28
0
-1
-104
18
3
4
-1
0
0
0
0
0
0
0
0
0
-11
0
6
55
6
-22
11
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
16
-15
9
41
1
0
0
0
0
0
0
0
0
0
-3
-49
24
17
-94
-94
-34
21
4
0
0
0
0
0
0
0
0
0
-78
-8
-50
28
17
37
9
0
0
0
0
0
0
0
0
0
4
67
13
4
-34
92
-20
-1
0
0
0
0
0
0
0
0
0
0
-98
-32
-7
-17
52
-8
-1
6
0
0
0
0
0
0
0
0
0
-47
5
-16
-18
-1
50
21
0
0
0
0
0
0
0
0
0
15
22
3
-5
35
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
43
-12
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
31
-13
0
7
4
0
0
0
0
0
0
0
0
0
0
0
-10
-30
-1
-7
-3
5
0
0
0
0
0
0
0
0
0
0
0
7
-8
-53
-23
10
-2
1
5
0
0
0
0
0
0
0
0
-2
-70
24
3
48
142
6
2
0
0
0
0
0
0
0
0
0
2
-72
20
-3
0
-4
14
29
0
0
0
0
0
0
0
0
0
-11
28
89
13
19
17
13
3
-2
-4
0
0
0
0
0
0
0
-1
-63
12
0
-13
13
-5
-8
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
49
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
2
1
3
-21
0
0
0
0
0
0
0
0
0
0
0
-20
0
-29
3
4
13
-14
0
0
0
0
0
0
0
0
0
0
-54
2
22
-38
-21
-5
1
0
0
0
0
0
0
0
0
0
2
-7
-13
28
14
-10
-1
3
0
0
0
0
0
0
0
0
0
0
-28
-7
111
-2
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
31
23
-2
0
-5
1
-6
0
0
0
0
0
0
0
0
0
-3
-54
-64
-14
0
-4
3
0
0
0
0
0
0
0
0
0
0
5
6
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
1
-5
5
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-3
10
1
-2
0
0
0
0
0
0
0
0
0
0
0
6
-5
2
-1
44
0
0
0
0
0
0
0
0
0
0
-12
-2
10
-8
-8
-3
1
7
0
0
0
0
0
0
0
0
0
-2
2
-24
29
5
-4
-11
0
-2
0
0
0
0
0
0
0
0
0
2
26
-3
35
-5
16
0
0
0
0
0
0
0
0
0
0
3
-1
-17
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
5
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
6
-15
0
10
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
0
0
0
0
0
-31
-2
0
1
13
24
0
1
0
0
0
0
0
0
0
0
0
6
-7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-32
53
-21
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-29
8
2
0
0
0
1
0
0
0
0
0
0
0
0
-14
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-7
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
-56
-8
-24
-16
1
1
-4
-2
0
0
0
0
0
0
0
0
2
2
4
-4
14
-94
33
8
13
2
0
0
0
0
0
0
0
-5
-40
-6
-33
-19
19
0
-4
-3
-15
0
0
0
0
0
0
0
-2
-25
-58
-1
32
11
-20
1
0
0
0
0
0
0
0
0
0
0
43
1
46
14
10
0
-1
0
0
0
0
0
0
0
0
0
-1
29
-23
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
6
-6
6
-20
2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
2
-35
-21
0
10
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
-6
-8
-1
3
0
0
0
0
0
0
0
0
0
0
-6
-42
0
-7
3
16
-2
0
0
0
0
0
0
0
0
0
0
-17
57
-13
-7
5
5
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-10
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
-14
5
-17
24
-1
0
2
0
0
0
0
0
0
0
0
0
0
-43
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
-27
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
89
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-29
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
29
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
16
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
2
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
13
5
-26
29
0
0
0
0
0
0
0
0
0
0
0
3
-1
8
-11
7
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
36
19
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
95
-26
14
-26
-67
0
0
0
0
0
0
0
0
0
0
-15
-6
-48
44
83
3
35
0
0
0
0
0
0
0
0
0
0
1
-10
22
-2
28
94
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-30
31
37
0
0
0
0
0
0
0
0
0
0
0
4
5
-7
-2
-57
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
-7
-38
33
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
2
17
-11
-44
-78
127
4
0
0
0
0
0
0
0
0
-4
-8
5
2
1
-15
45
65
6
0
0
0
0
0
0
0
0
0
0
0
1
24
54
23
52
24
0
0
0
0
0
0
0
0
0
0
2
-7
-47
-54
40
-44
5
0
0
0
0
0
0
0
0
0
0
10
-12
-27
-4
48
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-11
18
0
0
0
-8
18
0
0
0
0
0
0
0
0
-2
-6
-1
29
8
-8
22
-12
-3
0
0
0
0
0
0
0
0
4
-5
4
1
-21
-24
-9
45
-1
0
0
0
0
0
0
0
0
-2
-4
-2
-25
8
102
88
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-23
14
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
4
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
5
5
0
-1
-29
0
0
0
-54
2
5
0
0
0
0
0
0
0
5
1
-18
-2
-18
-6
23
-9
-9
0
0
0
0
0
0
0
-3
-12
5
-10
-56
6
54
-4
5
-10
-1
0
0
0
0
0
1
0
0
5
-9
-15
7
-17
39
7
0
0
0
0
0
0
0
0
0
0
12
0
-18
35
-11
9
4
2
0
0
0
0
0
0
0
0
0
-1
0
-18
-3
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
-6
0
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
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-6
74
-8
0
29
0
0
0
1
0
-2
0
0
0
0
0
0
-6
3
31
5
67
28
26
-13
8
1
6
0
0
0
0
0
0
0
-2
8
34
79
47
-98
27
22
0
-4
0
0
0
0
0
-2
1
0
1
5
6
1
-34
-5
-1
1
0
0
0
0
0
0
0
0
0
-4
-12
27
-113
66
13
4
-1
0
0
0
0
0
0
0
0
0
0
3
12
9
-11
70
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
5
17
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
25
35
93
-5
0
0
0
-4
-2
0
2
0
0
0
0
0
-8
3
-15
-134
18
-28
44
-91
0
1
0
0
0
0
0
0
0
-2
-9
-16
32
-17
1
-37
-69
5
0
0
0
0
0
0
0
0
-1
2
38
-28
-46
150
33
-9
-7
2
0
0
0
0
0
0
0
0
0
3
-20
41
14
45
-3
-1
0
0
0
0
0
0
0
0
0
2
2
0
3
7
22
-34
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
-99
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-15
36
0
0
0
-2
1
0
0
0
0
0
0
6
53
-11
-9
55
81
0
0
0
-50
0
0
0
0
0
0
0
0
-13
-10
22
9
80
-8
65
-31
-9
-2
1
0
0
0
0
0
0
-5
2
-56
-7
-84
-12
-49
-48
-34
0
0
0
0
0
0
0
0
-2
16
59
16
155
-42
25
30
0
-6
-4
0
0
0
0
0
0
0
-1
-5
11
-48
70
94
16
-29
2
0
0
0
0
0
0
0
0
0
-2
4
11
-8
-3
55
9
0
0
0
0
0
0
0
0
0
0
0
13
0
1
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-13
-3
-8
0
0
0
-3
0
0
0
0
0
0
0
0
-36
5
-64
55
-2
0
0
0
37
2
0
0
0
0
0
0
0
0
22
-66
10
11
-25
96
-21
-6
0
0
0
0
0
0
0
0
-1
-5
-37
-74
-98
16
-21
9
68
-4
0
0
0
0
0
0
0
0
-1
-28
-10
9
-64
-5
14
3
0
0
0
0
0
0
0
0
0
-4
4
-37
0
-29
48
81
10
0
0
0
0
0
0
0
0
0
0
7
14
55
-3
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
50
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-41
-6
0
0
0
3
10
0
0
0
0
0
0
0
0
0
0
-14
4
-25
51
-2
0
-14
0
0
0
0
0
0
0
0
0
-1
3
83
-41
-91
56
47
0
0
0
0
0
0
0
0
0
0
0
2
9
17
59
-46
2
6
0
0
0
0
0
0
0
0
0
0
0
-11
18
69
71
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
21
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-14
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-40
52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
3
36
45
0
0
0
0
0
0
0
0
0
0
0
0
14
33
-61
-31
45
0
0
0
0
0
0
0
0
0
0
0
2
0
2
7
88
13
-33
9
0
0
0
0
0
0
0
0
0
0
3
-2
2
14
-55
8
-84
0
0
0
0
0
0
0
0
0
0
-2
0
13
-13
-15
15
21
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
23
49
114
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
41
-20
-53
0
0
0
0
0
0
0
0
0
0
0
0
-30
-68
63
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
-58
29
22
21
10
0
0
0
0
0
0
0
0
-2
9
-36
35
5
4
-25
-3
-8
0
0
0
0
0
0
0
0
5
-1
0
23
3
6
-15
-54
-1
0
0
0
0
0
0
0
0
0
0
0
-5
75
-78
74
48
-46
0
0
0
0
0
0
0
0
0
0
0
12
-1
30
-43
-17
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
18
-20
0
0
0
10
0
0
0
0
0
0
0
0
7
0
-10
32
-25
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
37
15
77
-33
-42
-22
8
0
0
0
0
0
0
0
0
-10
0
-7
21
-7
17
79
-16
-7
0
0
0
0
0
0
0
0
-20
-15
67
66
19
12
-22
11
5
0
0
0
0
0
0
0
0
8
-2
14
-32
123
0
-89
-9
-25
0
0
0
0
0
0
0
0
0
-10
-8
0
16
-4
47
12
-13
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-21
-134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
5
0
0
4
40
0
0
0
9
0
0
0
0
0
0
0
-13
0
-3
-32
-25
-3
0
0
0
25
0
0
0
0
0
0
0
0
0
9
-6
4
-3
-2
-11
-39
-8
-33
0
0
0
0
0
0
0
0
22
8
-22
-29
-60
-21
2
-76
2
0
0
0
0
0
0
2
0
0
21
8
-55
73
-19
20
-27
-13
0
0
0
0
0
0
0
0
0
0
-3
67
55
37
-22
-1
1
0
0
0
0
0
0
0
0
0
0
-7
4
4
-15
51
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
0
-8
-5
0
0
0
-23
4
-4
0
0
0
0
0
-2
5
-30
-5
-2
-13
0
0
0
51
-13
-4
0
0
0
0
0
0
19
-12
23
4
9
-31
-68
-6
0
7
0
0
0
0
0
0
0
0
8
-52
6
78
-45
-77
25
-14
-1
-1
0
0
0
0
0
0
-6
1
-17
56
-44
-20
-44
24
6
1
-2
0
0
0
0
0
0
0
0
29
21
50
-17
-34
11
8
7
0
0
0
0
0
0
0
0
0
0
0
16
15
-9
-63
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
-29
7
0
-40
0
0
0
-2
2
0
0
0
0
0
0
-1
50
-78
25
16
29
0
0
0
0
6
2
-1
0
0
0
0
-9
-12
70
51
-12
-23
-16
56
-71
0
5
-7
-1
0
0
0
0
1
-33
18
-26
37
-6
18
-7
-28
-32
5
0
0
0
0
0
0
-23
15
8
16
53
36
9
5
-44
-12
3
0
-1
0
0
0
0
0
4
1
7
10
1
-90
57
-29
-9
0
-2
0
0
0
0
0
0
0
-2
0
-7
-23
83
-10
-50
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
-9
35
-7
9
3
0
0
0
-13
-2
0
0
0
0
0
0
21
-28
-25
-2
-37
-5
0
0
0
3
3
0
0
0
0
0
0
36
-70
-50
-45
58
-26
37
-13
77
24
0
0
0
0
0
0
0
-6
0
14
39
20
-59
37
3
0
-10
-2
7
0
0
0
0
0
-1
-12
36
-14
9
7
-62
38
15
2
-4
0
0
0
0
0
0
0
2
57
1
3
14
98
11
4
-1
6
0
0
0
0
0
0
0
0
0
-21
-21
-65
-33
-3
12
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-53
-94
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
43
55
60
51
-4
99
0
0
0
2
-2
0
0
0
0
0
6
1
67
-16
23
-34
64
0
0
0
6
7
0
0
0
0
0
0
-5
-8
0
16
36
-26
12
81
84
18
-6
-1
0
0
0
0
0
-8
-4
-60
-33
-27
-10
36
-12
-52
-69
-6
-1
0
0
0
0
0
9
14
29
-12
124
51
66
-22
-109
-5
-3
0
0
0
0
0
0
-2
13
-3
-6
32
78
-40
-63
-3
37
-4
2
0
0
0
0
0
0
1
1
20
-71
49
83
62
20
-2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
-62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
3
0
0
0
0
0
0
0
0
14
45
-10
-41
98
0
0
0
73
0
0
0
0
0
0
0
0
18
-6
-7
-71
39
0
0
0
-25
31
0
0
0
0
0
0
15
59
-60
7
-62
74
-26
4
75
7
2
0
0
0
0
0
0
-14
4
-72
-27
25
68
-71
-14
-57
-29
0
1
0
0
0
0
0
0
-30
-12
-58
-135
-32
16
-70
-128
-7
0
0
0
0
0
0
0
-17
6
-83
-16
20
13
-56
-6
-1
-5
0
0
0
0
0
0
0
0
1
5
70
59
-5
-36
15
-3
15
0
0
0
0
0
0
0
0
0
-2
15
0
3
-1
29
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-17
6
-31
66
7
0
0
0
40
-8
0
0
0
0
0
0
6
-8
33
-59
-11
-17
0
0
0
-36
-3
0
0
0
0
0
0
-5
111
-26
-65
-52
-9
8
3
-25
10
-1
0
0
0
0
0
0
-6
59
-30
-28
-41
-18
10
74
-5
-41
5
0
0
0
0
0
0
0
-12
30
0
7
-40
-36
-5
51
18
1
0
-7
0
0
0
0
8
15
-27
-20
13
-23
-30
-1
45
26
0
0
0
0
0
0
0
-4
-3
4
-72
-23
12
53
-47
-54
-16
1
0
0
0
0
0
0
0
0
0
0
-52
-14
4
-65
-27
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
12
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-20
67
-14
0
0
0
1
-39
0
0
0
0
0
0
0
0
-1
15
36
10
62
80
19
0
-37
1
0
0
0
0
0
0
0
-2
3
-1
15
3
29
19
-2
-6
0
0
0
0
0
0
0
0
-6
3
5
94
8
40
46
-33
16
-2
0
0
0
0
0
0
0
0
0
-1
13
-13
-25
46
32
3
0
0
0
0
0
0
0
0
0
5
-9
13
-19
25
-10
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
3
2
4
-23
7
2
0
0
0
0
0
0
0
0
0
0
0
8
-1
45
-64
6
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-15
-18
-33
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
4
22
-1
2
71
-12
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
4
-4
90
-91
0
0
0
0
0
0
0
0
0
0
-3
4
-6
21
6
58
147
0
0
0
0
0
0
0
0
0
-1
0
0
-2
71
-26
9
8
0
0
0
0
0
0
0
0
0
0
0
0
10
41
3
4
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
-2
-34
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
24
-60
-95
-11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
23
26
-45
-52
28
-1
0
0
0
0
0
0
0
0
1
8
13
136
60
-118
13
71
-119
0
0
0
0
0
0
0
0
3
-14
0
-33
-3
-37
19
-17
-12
0
0
0
0
0
0
0
0
0
0
-7
0
-26
-58
-66
-40
110
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-22
29
-5
-84
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-1
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-8
-12
0
0
0
8
0
0
0
0
0
0
0
0
1
8
4
49
-22
0
0
0
-31
0
0
0
0
0
0
0
0
0
-5
9
-10
-33
20
4
-33
18
0
0
0
0
0
0
0
0
0
12
20
60
29
34
61
-53
-1
0
0
0
0
0
0
0
0
13
6
0
-26
38
53
-83
63
13
0
0
0
0
0
0
0
0
4
0
-5
0
-3
-40
-7
-6
-36
0
0
0
0
0
0
0
0
0
0
0
2
-2
-10
41
5
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
14
1
-54
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-12
-13
-3
-39
0
0
0
44
-1
0
0
0
0
0
0
0
0
-1
5
-17
-16
21
6
-75
22
-18
0
0
0
0
0
0
-2
1
1
10
125
-13
-35
-11
-3
17
-2
0
0
0
0
0
0
0
0
0
-3
-6
19
21
73
-51
6
-8
0
0
0
0
0
0
0
0
3
0
-4
-17
-48
71
15
2
0
0
0
0
0
0
0
0
0
0
6
-3
-6
-9
-6
1
-5
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
-3
0
-18
-11
10
3
0
0
0
-1
4
0
0
0
0
0
0
17
-8
-23
-1
-43
-54
0
0
0
41
0
0
0
0
0
0
0
5
-1
2
3
3
-31
-12
-71
-17
-9
9
0
0
0
0
0
0
0
7
0
8
-55
18
91
-9
-44
3
0
-3
0
0
0
0
0
2
0
-14
24
-68
-46
23
-45
-5
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-3
-5
-48
68
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-25
3
32
-67
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
7
-5
-18
-33
31
37
0
0
0
-3
0
0
0
0
0
0
0
-3
-3
-100
14
5
1
0
0
0
15
-1
0
0
0
0
0
0
8
-6
-51
-6
2
-61
42
-16
-30
-1
2
0
0
0
0
0
0
0
12
-32
-72
8
-28
39
33
30
8
-1
5
0
0
0
0
0
3
3
-5
71
11
-8
-15
63
46
6
0
0
-1
0
0
0
0
0
0
15
64
-6
-60
-52
11
57
-2
0
0
0
0
0
0
0
0
3
-4
5
-13
23
17
8
-10
1
1
0
0
0
0
0
0
0
0
-3
0
0
4
2
-42
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
54
0
0
0
0
0
0
0
0
0
0
-9
-14
-9
-15
10
0
0
0
5
-4
0
0
0
0
0
0
-1
73
-58
-49
9
12
0
0
0
35
0
0
0
0
0
0
0
0
5
9
-20
29
10
-41
-8
-25
-2
-7
0
0
0
0
0
0
2
-26
13
-11
-27
3
-43
-3
105
-21
5
0
0
0
0
0
0
0
36
-39
-69
74
-4
17
-96
-53
-3
2
0
0
0
0
0
0
1
2
3
24
-25
-2
23
6
-2
2
-6
0
0
0
0
0
0
0
0
0
18
12
-10
33
7
37
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
40
-44
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
-7
5
-49
6
57
16
0
0
0
19
0
0
0
0
0
0
-2
12
58
22
36
8
-21
0
0
0
37
0
0
0
0
0
0
0
9
-23
65
1
3
10
5
-35
-13
-6
0
0
0
0
0
0
0
45
33
88
28
-39
5
59
54
40
-71
0
0
1
0
0
0
0
1
-4
-4
-123
34
31
-108
-10
-68
1
-2
0
0
0
0
0
0
0
-2
-26
75
79
-5
-49
-147
-86
4
8
0
0
0
0
0
0
-4
-2
-7
9
8
2
55
-28
-56
-32
0
0
0
0
0
0
0
0
0
-4
-6
-2
-37
44
65
-69
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
123
0
0
0
0
0
0
0
0
0
0
-14
-2
-39
-76
26
0
0
0
5
-1
0
0
0
0
0
0
-9
64
-40
-57
-36
34
0
0
0
44
-8
0
0
0
0
0
0
-22
6
33
-11
50
36
59
2
1
10
0
0
0
0
0
0
0
37
56
-79
8
44
-68
77
-10
9
24
-3
0
0
0
0
0
0
0
29
-8
-47
79
-10
-1
-43
18
-7
8
0
0
0
0
0
0
0
-2
1
22
13
50
-3
-50
-74
21
0
0
0
0
0
0
0
0
4
0
21
-15
1
-8
102
-122
1
-3
0
0
0
0
0
0
0
0
0
-3
-15
5
-33
46
-10
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
-3
-42
-20
3
3
0
0
0
16
1
0
0
0
0
0
0
-5
39
46
5
0
55
0
0
0
16
2
0
0
0
0
0
0
2
22
-20
25
68
56
63
-24
-12
-1
8
0
0
0
0
0
0
3
59
-7
52
-96
-24
-33
65
18
8
0
0
0
0
0
0
0
-3
30
87
-84
12
16
56
-92
22
-16
3
2
-1
0
0
0
0
-3
-7
-35
49
-48
21
-65
-106
3
77
0
0
0
0
0
0
0
0
0
6
-21
-30
49
-11
-43
-75
-35
0
0
0
0
0
0
0
0
0
3
5
34
-14
41
9
-20
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
2
15
0
0
0
5
-27
0
0
0
0
0
0
0
0
0
-6
-87
-17
0
0
0
5
32
-4
0
0
0
0
0
0
0
-1
6
0
31
-8
-1
48
1
5
-1
0
0
0
0
0
0
0
4
5
-13
34
21
30
88
7
-48
-1
0
0
0
0
0
0
0
0
2
20
-5
-41
14
69
-4
-26
0
0
0
0
0
0
0
0
0
0
13
-3
-16
-1
47
33
-18
0
0
0
0
0
0
0
0
0
0
0
0
-22
8
41
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
-5
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
13
-24
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
5
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
-2
-5
-18
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-13
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-7
8
-10
-24
-41
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
44
5
73
8
27
0
0
0
0
0
0
0
0
0
0
5
30
-41
-18
30
7
-53
0
0
0
0
0
0
0
0
0
0
4
6
-54
18
17
23
52
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
21
-8
-11
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-32
13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
8
34
-31
11
40
0
0
0
0
0
0
0
0
0
0
0
5
-54
20
61
-34
16
0
0
0
0
0
0
0
0
0
0
0
0
-13
-122
-67
-10
-40
112
-42
46
0
0
0
0
0
0
0
0
0
0
-24
13
-13
-101
50
53
45
0
0
0
0
0
0
0
0
0
9
34
60
-51
13
-23
85
42
0
0
0
0
0
0
0
0
0
3
0
-53
-8
17
51
34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-36
-55
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
-2
-2
4
4
5
0
0
0
29
0
0
0
0
0
0
0
16
-2
4
21
-65
-56
0
0
0
-86
0
0
0
0
0
0
0
0
14
5
20
3
-12
1
-33
44
5
0
0
0
0
0
0
0
0
0
0
-7
29
33
-46
-7
-10
51
0
0
0
0
0
0
0
0
0
0
5
22
-51
-27
68
-28
44
0
0
0
0
0
0
0
0
0
0
2
-8
53
-45
28
8
43
0
0
0
0
0
0
0
0
0
0
0
16
-3
6
-2
-6
34
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-10
90
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
5
-1
12
-7
0
0
0
-2
2
0
0
0
0
0
0
-1
-23
64
42
13
56
0
0
0
5
-2
0
0
0
0
0
0
0
2
8
5
-6
-28
36
-7
29
-4
5
0
0
0
0
0
0
1
0
0
0
2
-35
31
75
-5
41
8
0
0
0
0
0
0
0
1
-4
-5
62
75
51
10
-21
-1
5
0
0
0
0
0
0
0
0
4
-8
-5
-3
-58
39
2
5
0
0
0
0
0
0
0
0
0
0
6
0
-1
-4
-44
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-24
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
1
5
64
5
16
0
0
0
0
2
0
0
0
0
0
0
3
-6
28
28
-96
-66
0
0
0
4
0
0
0
0
0
0
0
0
-8
8
6
13
-14
-62
48
2
10
-1
0
0
0
0
0
0
0
1
0
1
0
68
21
51
-50
-8
1
0
0
0
0
0
0
2
21
-4
0
-11
17
19
-6
-175
3
3
0
0
0
0
0
0
0
0
40
1
2
-59
39
40
-3
0
0
0
0
0
0
0
0
0
8
3
9
-13
-54
17
-43
45
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
23
-99
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-43
0
0
0
0
0
0
0
0
0
0
12
3
82
-14
7
0
0
0
0
0
0
0
0
0
0
0
15
52
-7
-36
25
8
0
0
0
-22
0
0
0
0
0
0
0
2
3
-48
-15
82
87
86
-90
-4
0
2
0
0
0
0
0
0
1
23
-45
1
-7
64
29
29
42
-6
0
0
0
0
0
0
0
14
-16
-17
3
0
3
-88
-81
55
-6
0
0
0
0
0
0
0
0
-4
-2
2
10
-131
32
61
-26
0
0
0
0
0
0
0
0
0
0
-9
14
48
5
-67
-133
-112
1
0
0
0
0
0
0
0
0
0
0
-1
0
-13
-2
76
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
-7
14
-106
71
9
0
0
0
-13
0
0
0
0
0
0
0
2
-6
13
2
45
12
0
0
0
-21
-3
0
0
0
0
0
0
-5
23
-36
9
-7
16
25
36
27
16
-1
0
0
0
0
0
0
3
-17
7
-3
-47
-2
-48
-52
7
5
2
0
0
0
0
0
0
0
-24
-1
-43
-43
-104
-18
-10
8
56
3
0
0
0
0
0
0
0
-11
-47
2
8
40
-50
-45
-69
-8
0
0
0
0
0
0
0
-2
3
-1
-49
-32
-8
-16
-13
23
-5
0
0
0
0
0
0
0
0
0
0
20
40
2
55
-59
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
0
0
0
0
0
0
0
0
0
10
-52
11
9
9
-5
0
0
0
4
0
0
0
0
0
0
-12
-7
-17
45
27
10
-4
0
0
0
-4
1
0
0
0
0
0
0
27
57
31
-30
-3
-30
3
45
55
10
-6
0
0
0
0
0
0
3
17
-31
-18
-31
33
48
-5
75
18
1
-1
0
0
0
0
0
4
-67
-16
73
-23
47
11
8
12
56
0
0
0
0
0
0
0
0
-14
4
6
-42
112
10
-19
-74
23
0
0
0
0
0
0
0
1
3
64
2
-87
-4
99
70
-50
-13
9
0
0
0
0
0
0
0
0
0
-46
17
34
-5
-86
32
25
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
35
7
0
0
0
0
0
0
0
0
24
25
-41
-34
-37
77
0
0
0
-15
1
0
0
0
0
0
0
-48
-11
19
-64
73
-35
0
0
0
21
0
0
0
0
0
0
0
5
80
8
78
8
-2
100
1
13
-1
-8
0
0
0
0
0
-3
4
-1
18
60
20
94
-28
45
41
-2
0
0
0
0
0
0
0
27
28
-30
-24
-1
60
-46
-41
-36
33
-5
0
0
0
0
0
-1
0
-16
-2
51
-100
10
-43
-57
-112
-6
0
0
0
0
0
0
0
0
5
-50
48
18
22
-45
2
-64
11
0
0
0
0
0
0
0
-3
2
-6
-33
16
1
-48
13
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
3
-3
-4
0
0
0
0
0
0
0
0
39
-9
4
17
127
0
0
0
-55
0
0
0
0
0
0
0
-4
-31
-13
-31
-47
-57
0
0
0
-34
3
0
0
0
0
0
0
3
-41
36
67
34
-116
46
-17
-89
-6
-41
0
0
0
0
0
0
10
-13
36
101
55
-5
-150
-76
-45
7
-1
0
0
0
0
0
0
0
-24
23
-28
40
17
-53
29
-4
38
-7
0
0
0
0
0
0
0
-17
-20
-73
7
46
8
-111
-1
19
0
0
0
0
0
0
0
0
5
14
-12
-23
-15
2
-41
-53
-55
0
0
0
0
0
0
0
0
-1
0
1
-13
9
-58
-20
-23
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-3
-6
2
0
0
0
1
-12
0
0
0
0
0
0
0
0
-6
8
-34
10
0
0
0
-54
-45
0
0
0
0
0
0
0
0
0
-3
1
-21
21
40
-36
6
-14
-1
0
0
0
0
0
0
0
0
-1
-2
-20
17
-17
-10
6
0
0
0
0
0
0
0
0
0
0
0
4
35
36
-7
-71
-4
13
0
0
0
0
0
0
0
0
0
0
-1
3
42
-21
-64
2
-17
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-13
1
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
6
0
-27
26
41
3
-4
-4
0
0
0
0
0
0
0
0
0
0
-11
-12
12
13
1
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
-24
100
-29
46
12
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
110
9
41
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-33
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-4
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
81
0
0
0
0
0
0
0
0
0
1
-26
0
-5
2
-17
0
0
0
0
0
0
0
0
0
0
0
19
27
-45
-29
-32
32
0
0
0
0
0
0
0
0
0
0
0
9
-50
-48
-67
84
43
20
-57
13
0
0
0
0
0
0
0
0
0
1
-13
-95
15
-71
17
90
35
0
0
0
0
0
0
0
0
0
0
-7
-50
-22
-11
-14
28
-40
0
0
0
0
0
0
0
0
0
0
-8
-40
37
-34
16
45
58
0
0
0
0
0
0
0
0
0
9
2
-7
-19
22
23
-18
73
0
0
0
0
0
0
0
0
0
0
0
0
-15
29
-82
61
22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-2
0
0
0
0
0
0
0
0
0
3
-3
28
5
-3
0
0
0
7
0
0
0
0
0
0
0
-2
21
-28
-95
52
16
0
0
0
43
0
0
0
0
0
0
0
0
3
-12
-17
60
-9
-1
-11
-45
2
0
0
0
0
0
0
0
0
0
0
-5
-22
37
-41
67
-39
-8
0
0
0
0
0
0
0
0
0
0
2
109
-69
35
71
-9
0
0
0
0
0
0
0
0
0
0
0
0
-25
55
-38
5
-13
0
0
0
0
0
0
0
0
0
0
1
-2
-2
-21
-26
47
52
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-30
34
26
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
8
-28
8
-1
0
0
0
22
1
0
0
0
0
0
0
0
27
2
13
3
-3
0
0
0
-58
8
0
0
0
0
0
0
0
4
-17
-22
-21
-49
43
3
0
3
0
0
0
0
0
0
0
0
0
0
-1
92
5
-1
44
13
3
0
0
0
0
0
0
0
2
0
0
0
-7
-80
-53
-25
9
2
0
0
0
0
0
0
0
0
0
0
-9
2
-30
-1
-49
15
-17
1
0
0
0
0
0
0
0
0
0
0
-5
11
0
26
5
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
1
0
0
0
0
0
0
0
0
14
-2
-20
-46
-1
40
0
0
0
18
0
0
0
0
0
0
0
-9
47
18
-13
-23
-49
0
0
0
-9
-3
0
0
0
0
0
0
0
-1
11
-133
2
-10
27
16
34
0
0
0
0
0
0
0
0
3
-10
-4
0
49
24
-55
19
3
23
0
0
0
0
0
0
0
-16
2
0
0
0
23
23
50
-61
0
0
0
0
0
0
0
0
0
0
0
-4
-5
9
-77
14
-18
0
0
0
0
0
0
0
0
0
0
-4
19
-7
-12
-67
55
29
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-35
26
-34
-27
0
0
0
0
1
0
0
0
0
0
0
-1
-8
74
18
72
-98
0
0
0
-4
0
0
0
0
0
0
0
10
23
23
-38
-47
-89
-10
26
-23
0
6
0
0
0
0
0
0
-29
39
-39
52
-79
69
-17
3
-73
-2
0
0
0
0
0
0
0
7
21
-9
5
0
0
51
111
7
-2
0
0
0
0
0
0
0
0
1
17
0
-3
37
2
-23
-34
-2
0
0
0
0
0
0
0
0
0
0
-4
-18
-72
-44
43
66
2
0
0
0
0
0
0
0
0
0
-4
0
-6
-21
73
23
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-68
-2
0
0
0
0
0
0
0
0
-4
-2
-29
52
30
30
0
0
0
0
0
0
0
0
0
0
0
0
-41
-61
1
7
19
0
0
0
27
0
0
0
0
0
0
0
5
14
26
-30
4
-134
59
121
-6
-3
1
0
0
0
0
0
0
1
-9
26
68
38
56
90
-75
-33
-6
-1
0
0
0
0
0
0
0
12
5
9
0
0
5
-50
80
0
0
0
0
0
0
0
0
5
-6
-2
87
-35
3
8
17
-59
5
0
0
0
0
0
0
0
-2
-5
-15
-16
6
-147
8
-28
139
-10
0
0
0
0
0
0
0
0
0
0
4
-3
7
-37
-19
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
35
0
0
0
0
0
0
0
3
0
-38
-63
-32
-17
38
0
0
0
-12
0
0
0
0
0
0
0
75
-41
-24
-38
-9
-85
0
0
0
-17
0
0
0
0
0
0
0
-45
103
-68
16
-4
26
47
0
2
-3
1
0
0
0
0
0
1
10
92
5
103
28
51
68
36
86
18
0
0
0
0
0
0
0
-73
-9
-15
-5
-4
-9
0
-49
106
-16
0
0
0
0
0
0
0
0
38
-26
-45
0
75
-27
-90
-19
23
0
0
0
0
0
0
0
0
1
-1
36
47
-94
-74
-6
-46
-10
0
0
0
0
0
0
0
0
0
-5
0
-27
-11
102
-73
38
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-1
0
0
0
0
0
0
0
0
0
-10
15
-11
36
55
55
0
0
0
-6
0
0
0
0
0
0
0
-5
-5
10
35
35
-36
0
0
0
23
-6
0
0
0
0
0
0
29
-40
29
-3
0
9
-34
-32
-63
13
-1
0
0
0
0
0
0
-17
99
104
-7
46
-33
48
37
-39
-33
0
4
0
0
0
0
0
6
8
57
1
13
32
7
0
5
-2
3
0
0
0
0
0
0
13
-11
-21
52
-33
-37
54
10
-136
-4
0
-4
0
0
0
0
0
0
15
-39
159
-13
64
-19
12
7
0
0
0
0
0
0
0
0
0
2
15
42
43
-10
39
42
48
13
0
0
0
0
0
0
0
0
0
0
0
-1
-6
12
-27
32
0
0
0
0
0
0
0
0
8
-25
8
17
51
15
0
0
0
48
-1
0
0
0
0
0
0
-3
-5
66
-12
-4
-8
0
0
0
11
3
0
0
0
0
0
0
4
49
33
-49
64
14
-37
-27
20
-99
2
0
0
0
0
0
0
0
-20
15
-11
-36
-13
1
-23
-45
20
-5
0
0
0
0
0
0
0
22
63
47
-61
10
35
-1
0
-19
0
0
0
0
0
0
0
0
26
34
-19
-61
-22
60
-34
0
-1
0
0
0
0
0
0
0
0
0
-4
105
-92
-45
9
-108
-11
-13
0
0
0
0
0
0
0
17
0
6
-2
99
0
14
97
-70
64
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
5
-3
0
0
0
0
0
0
0
1
0
2
27
35
0
0
0
47
-9
0
0
0
0
0
0
0
0
0
3
66
-11
9
33
-31
6
-40
0
0
0
0
0
0
0
0
0
1
-5
22
-25
-66
3
-15
2
-2
0
0
0
0
0
0
0
0
6
-24
1
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
31
26
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-10
-8
6
0
0
0
0
0
0
0
0
0
0
-8
1
4
10
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-17
-3
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
7
-6
-34
-18
-1
30
0
0
0
0
0
0
0
0
0
0
-1
12
52
-22
-54
-42
48
0
0
0
0
0
0
0
0
0
0
0
-5
20
0
-25
77
47
0
0
0
0
0
0
0
0
0
0
0
0
27
54
31
0
55
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
-1
13
-16
-9
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
63
-37
-2
-44
-40
0
0
0
0
0
0
0
0
0
0
0
0
-34
-20
-6
106
59
3
5
41
0
0
0
0
0
0
0
0
-3
15
7
26
98
-56
-58
-50
-3
0
0
0
0
0
0
0
0
0
0
10
48
-33
43
1
-64
-21
0
0
0
0
0
0
0
0
0
0
-2
26
58
105
53
10
28
0
0
0
0
0
0
0
0
0
0
7
-47
26
19
-97
64
1
0
0
0
0
0
0
0
0
0
0
0
0
1
31
16
-44
94
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
24
-3
0
0
0
0
0
0
0
0
-7
0
12
17
-12
2
0
0
0
14
0
0
0
0
0
0
0
0
-12
-22
-43
18
-19
0
0
0
20
0
0
0
0
0
0
0
-17
-8
-1
45
-6
-1
-2
35
-78
-10
0
0
0
0
0
0
0
0
2
54
-28
1
-4
-75
-46
-63
-3
0
0
0
0
0
0
0
0
0
0
33
-29
-52
-22
-52
21
-2
0
0
0
0
0
0
0
0
0
0
3
6
-3
50
-1
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
45
19
-18
13
15
0
0
0
0
0
0
0
0
0
0
0
0
3
38
41
73
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
0
0
1
0
3
-1
-2
0
0
0
2
0
0
0
0
0
0
0
-3
-4
119
74
2
-31
0
0
0
-62
0
0
0
0
0
0
0
0
4
13
-13
5
-26
-1
-69
5
-4
0
0
0
0
0
0
0
0
-3
-3
0
2
68
3
27
2
-1
1
0
0
0
0
0
0
-2
0
0
0
-23
-14
-41
-92
-18
0
-3
0
0
0
0
0
0
0
0
0
0
7
-46
-3
23
6
-1
0
0
0
0
0
0
0
0
0
0
2
6
9
2
-12
0
25
0
0
0
0
0
0
0
0
0
0
0
-2
-2
27
-8
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
-17
-53
4
12
0
0
0
0
0
0
0
0
0
0
0
6
-14
-7
-59
54
33
0
0
0
8
-4
0
0
0
0
0
0
3
2
3
12
17
25
11
84
-8
0
0
0
0
0
0
0
0
-9
1
10
-79
-44
-95
-62
-47
-18
3
0
0
0
0
0
0
0
4
-12
-1
0
-59
-4
29
9
33
0
0
0
0
0
0
0
0
-4
-5
-1
0
0
-24
118
10
6
0
0
0
0
0
0
0
0
0
0
0
0
2
53
2
-50
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-32
-26
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
4
-14
110
46
88
-7
0
0
0
0
0
0
0
0
0
0
5
6
-17
-50
-20
10
125
0
0
0
-7
0
0
0
0
0
0
0
-2
-7
68
45
-47
13
-85
-32
37
0
0
0
0
0
0
0
0
0
16
31
14
-15
11
-23
-6
13
-1
0
0
0
0
0
0
0
-3
-5
6
25
3
45
-26
-35
19
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
36
37
66
0
0
0
0
0
0
0
0
0
0
-25
0
2
2
-2
-15
20
2
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-13
-59
-33
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
-1
0
0
0
0
0
0
0
0
2
40
41
102
-55
89
0
0
0
-1
0
0
0
0
0
0
0
-16
-42
-30
-35
60
-82
0
0
0
6
0
0
0
0
0
0
0
10
9
-28
29
31
4
-2
28
-77
6
0
0
0
0
0
0
0
-7
-12
28
-45
37
96
-76
36
-24
2
0
0
0
0
0
0
0
-5
-63
-26
25
100
0
-1
-129
11
4
0
0
0
0
0
0
0
0
5
-48
-46
0
0
-1
-65
-28
-2
0
0
0
0
0
0
0
0
0
2
36
2
2
-66
39
-39
4
0
0
0
0
0
0
0
0
0
-1
0
7
0
-3
19
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
7
-4
5
28
36
11
-3
0
0
0
-14
0
0
0
0
0
0
-1
5
41
-91
-28
16
50
0
0
0
25
0
0
0
0
0
0
0
-54
-28
41
-25
1
3
20
30
0
-5
-1
0
0
0
0
0
0
26
66
-4
-23
-55
10
-7
-8
-43
-22
1
0
0
0
0
0
0
-25
2
-10
24
7
-65
16
-86
14
-7
0
0
0
0
0
0
3
5
1
-3
50
-26
4
0
0
-3
-2
0
0
0
0
0
0
0
0
-6
74
21
-37
7
5
4
-31
-21
0
0
0
0
0
0
0
0
0
-1
4
9
-20
-33
62
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-3
0
0
0
0
0
0
0
0
1
-39
-17
70
-9
4
0
0
0
1
0
0
0
0
0
0
-1
43
6
29
67
131
-47
0
0
0
-31
0
0
0
0
0
0
0
-9
4
44
43
78
166
-30
-10
54
-24
-3
0
0
0
0
0
0
25
-7
4
-44
32
-58
-53
9
-88
4
0
0
0
0
0
0
0
-11
-81
-39
-63
-101
-60
-30
-7
-70
4
0
0
0
0
0
0
0
1
12
-37
59
5
-107
4
0
0
-1
0
0
0
0
0
0
0
0
17
-30
-79
-16
66
10
4
-4
-3
-2
0
0
0
0
0
0
0
0
22
6
-14
-12
67
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
99
26
0
0
0
0
0
0
0
0
0
0
43
-41
-60
44
0
0
0
-18
0
0
0
0
0
0
0
0
31
38
57
-25
-57
0
0
0
-59
-9
0
0
0
0
0
0
0
-1
-9
-40
74
61
-5
28
-19
-51
-2
0
0
0
0
0
0
0
-10
6
6
49
-51
-24
-31
-30
-11
-2
0
0
0
0
0
0
0
33
8
18
63
29
-29
-52
0
44
0
0
0
0
0
0
0
0
-21
-22
-29
-36
118
-171
-7
0
0
0
0
0
0
0
0
0
0
0
6
44
53
47
42
-31
4
0
0
0
0
0
0
0
0
0
0
-1
-20
-71
112
39
-95
-84
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
24
4
0
0
0
0
0
0
0
0
0
0
-6
6
0
0
0
5
-43
0
0
0
0
0
0
0
0
0
1
31
19
-2
-81
-72
41
10
0
0
0
0
0
0
0
0
0
-1
21
41
-20
1
-70
1
3
0
0
0
0
0
0
0
0
0
0
-4
56
24
16
4
0
9
0
0
0
0
0
0
0
0
0
0
-8
1
36
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
23
0
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
8
3
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-1
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-26
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
4
2
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-20
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
-9
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
28
2
8
0
0
0
0
0
0
0
0
0
0
0
0
31
8
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-38
0
0
0
0
0
0
0
0
0
0
8
-7
-34
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
14
-7
-29
-8
0
0
0
0
0
0
0
0
0
0
0
3
45
41
-110
-24
48
-5
52
38
0
0
0
0
0
0
0
0
0
0
2
-6
-10
-129
17
24
-22
0
0
0
0
0
0
0
0
0
-7
0
-77
-8
41
-77
-43
-66
0
0
0
0
0
0
0
0
0
0
0
-7
-30
-105
-63
-6
-52
0
0
0
0
0
0
0
0
0
0
-7
31
-16
76
21
-39
-91
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
51
59
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
-6
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
2
3
29
17
2
0
0
0
0
-14
0
0
0
0
0
0
0
0
14
-63
41
-46
0
5
-16
71
-5
0
0
0
0
0
0
0
0
0
39
-47
-17
-60
-41
-29
29
0
0
0
0
0
0
0
0
0
5
-45
-8
-20
-2
-14
27
27
0
0
0
0
0
0
0
0
0
0
0
-3
-66
10
-6
53
30
-1
0
0
0
0
0
0
0
0
0
0
0
7
12
-13
133
23
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
36
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-27
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
4
-2
-20
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
2
7
-40
24
-6
-23
-9
-1
0
0
0
0
0
0
0
0
0
-2
-8
-11
-65
8
24
0
0
0
0
0
0
0
0
0
0
0
0
-7
31
-18
40
-48
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
7
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
34
4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
21
0
0
0
0
0
0
0
0
0
0
2
-4
12
-5
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
-31
6
-32
-28
0
0
0
-12
5
0
0
0
0
0
0
0
-4
4
-11
83
-15
41
-16
-30
0
-1
0
0
0
0
0
0
0
0
5
36
-76
-48
-52
-1
-58
0
0
0
0
0
0
0
0
0
4
-12
-41
-58
6
-43
-204
45
0
0
0
0
0
0
0
0
0
2
-2
0
22
47
-144
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-5
-19
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
30
0
0
0
0
0
0
0
0
0
8
17
77
-3
-7
0
0
0
3
0
0
0
0
0
0
0
0
-7
-4
65
-46
65
0
0
0
-18
0
0
0
0
0
0
0
0
3
41
-122
-9
-32
91
8
-68
0
0
0
0
0
0
0
0
-1
5
52
-26
-80
-64
-71
-34
9
0
0
0
0
0
0
0
0
4
11
-3
-38
24
-53
-70
-56
-40
0
0
0
0
0
0
0
0
0
2
5
7
0
92
-44
-150
119
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
35
60
-31
0
0
0
0
0
0
0
0
2
2
3
0
2
-4
-72
14
111
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
22
1
0
0
0
0
0
0
0
0
0
2
15
-12
-30
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
46
-94
16
0
0
0
3
-1
0
0
0
0
0
0
0
5
92
-41
87
-40
53
56
-46
0
0
0
0
0
0
0
0
0
19
-60
-16
19
-17
-26
25
-6
0
0
0
0
0
0
0
0
-1
-42
-88
-13
75
91
-60
15
45
0
0
0
0
0
0
0
0
0
5
42
22
0
7
6
39
7
0
0
0
0
0
0
0
0
0
-3
-17
-3
-1
0
-1
-5
-14
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
3
72
103
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-29
0
0
0
0
0
0
0
0
-2
41
6
13
26
98
0
0
0
46
0
0
0
0
0
0
0
0
19
16
8
61
57
0
0
0
63
-1
0
0
0
0
0
-4
-2
8
-27
66
-8
15
-54
10
-34
3
-5
0
0
0
0
0
8
20
73
36
-68
-52
-42
70
9
43
7
0
0
0
0
0
0
0
-6
58
39
115
53
-28
-22
-30
13
-42
0
0
0
0
0
0
0
1
-30
-85
-3
39
-88
26
-12
58
51
0
0
0
0
0
0
0
0
1
9
-7
-10
0
0
0
-48
1
0
0
0
0
0
0
0
0
0
4
-24
-42
-26
0
48
-10
93
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-29
0
-2
0
0
0
0
0
0
0
4
-34
-119
58
77
47
0
0
0
-12
2
0
0
0
0
0
0
-1
-83
-59
34
-123
127
0
0
0
-37
-2
0
0
0
0
0
0
1
-22
-14
-81
-67
-13
29
-4
-68
-4
-7
0
0
0
0
0
0
18
34
32
28
-81
-23
-68
-68
-13
10
3
0
0
0
0
0
0
20
-62
2
98
-40
-14
-74
18
-75
6
-2
0
0
0
0
0
0
2
-4
-52
3
31
48
-10
-2
-142
4
0
0
0
0
0
0
0
5
41
-50
33
34
-95
9
0
1
1
0
0
0
0
0
0
0
0
-1
42
-35
-28
-6
21
0
50
82
-1
0
0
0
0
0
0
0
0
0
1
0
0
2
10
31
0
0
0
0
0
0
0
0
0
-1
1
-83
-35
-4
0
0
0
-10
-3
0
0
0
0
0
0
-3
9
58
42
-76
-23
0
0
0
38
-2
-1
0
0
0
0
0
0
13
85
102
16
53
56
14
54
77
3
0
0
0
0
0
0
-3
-6
-19
-16
-59
3
18
33
157
49
-1
0
0
0
0
0
0
0
-25
-142
-21
-63
-55
-7
-118
24
25
1
0
0
0
0
0
0
0
0
63
7
-26
-44
-56
-84
0
-39
0
0
0
0
0
0
0
0
-6
20
45
75
7
-27
1
0
0
0
0
0
0
0
0
0
0
-1
-85
-52
-11
59
-26
37
4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
5
0
-6
-1
0
0
0
2
-58
0
0
0
0
0
0
0
0
0
-9
0
-9
0
0
0
-49
-117
0
0
0
0
0
0
0
0
0
0
29
-12
-20
70
32
1
-36
0
0
0
0
0
0
0
0
0
2
0
-20
-1
-12
-13
42
4
2
0
0
0
0
0
0
0
2
0
4
47
-38
-19
-48
-1
2
0
0
0
0
0
0
0
0
0
0
4
6
-29
8
-25
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
46
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
2
-46
-8
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
4
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
36
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-3
1
16
2
0
0
0
0
0
0
0
0
0
0
-3
7
-9
40
13
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-5
-22
-4
1
0
0
0
0
0
0
0
0
0
0
0
10
7
-46
6
-16
3
0
0
0
0
0
0
0
0
0
0
-4
1
4
-9
5
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
54
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
84
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-7
7
46
2
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
32
30
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-28
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
44
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
25
3
4
-4
0
0
0
0
0
0
0
0
0
-2
0
-30
-2
2
-8
0
5
0
0
0
0
0
0
0
0
0
8
41
-1
-26
9
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
71
14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-73
-1
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
4
7
-8
0
0
0
0
0
0
0
0
0
0
0
-8
0
-26
-6
-14
5
9
3
0
0
0
0
0
0
0
0
0
-8
0
18
-67
-15
103
13
0
0
0
0
0
0
0
0
0
0
-2
0
3
5
-70
54
-3
0
0
0
0
0
0
0
0
0
0
0
0
36
-53
24
-30
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-23
16
0
0
0
0
0
0
0
0
0
2
0
-3
0
6
0
0
0
10
0
0
0
0
0
0
0
0
1
12
7
-4
41
0
0
0
2
0
0
0
0
0
0
0
0
-5
-13
-16
-3
-13
1
-40
14
0
0
0
0
0
0
0
0
2
2
27
35
-56
80
-1
28
-3
0
0
0
0
0
0
0
0
0
0
0
-70
57
-67
-37
-11
-26
2
0
0
0
0
0
0
0
0
0
9
4
31
-46
39
-6
21
-3
0
0
0
0
0
0
0
0
0
-4
1
0
-26
-4
59
50
1
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
5
3
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
3
-8
23
0
0
0
6
0
0
0
0
0
0
0
0
-1
1
-34
43
-9
11
-30
20
0
0
0
0
0
0
0
0
0
0
6
12
118
17
55
-49
-139
5
0
0
0
0
0
0
0
5
-4
2
-44
15
44
-71
-8
46
0
0
0
0
0
0
0
0
0
-1
-3
12
-5
-74
-9
-4
16
0
0
0
0
0
0
0
0
0
0
5
39
30
0
24
33
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-32
0
0
0
0
0
0
0
0
0
1
14
8
0
69
0
0
0
2
0
0
0
0
0
0
0
0
-1
11
4
-66
7
0
0
0
16
0
0
0
0
0
0
0
0
-2
-6
33
35
46
-10
12
48
0
0
0
0
0
0
0
0
-1
-3
-1
-9
-12
-7
124
-36
-1
0
0
0
0
0
0
0
0
-2
3
3
-2
-49
55
23
-45
-51
3
0
0
0
0
0
0
0
0
0
0
116
68
-34
64
-13
-13
-8
0
0
0
0
0
0
0
0
12
4
-81
-41
22
0
-29
-138
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
5
25
-88
-27
-43
0
0
0
-23
5
0
0
0
0
0
0
8
-10
78
56
-4
-37
0
0
0
1
0
0
0
0
0
0
0
4
-13
0
21
41
-7
-26
-1
-61
7
0
0
0
0
0
0
0
-6
-8
-12
-98
-19
-32
53
-35
-13
1
-2
0
0
0
0
0
0
0
4
-5
-82
55
-25
12
-15
-30
7
0
0
0
0
0
0
0
0
10
-70
-108
-35
31
11
8
-61
-3
0
0
0
0
0
0
0
0
9
-24
-66
32
-52
-22
-1
22
6
0
0
0
0
0
0
0
0
1
2
12
-7
-14
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-50
-9
0
0
0
0
0
0
0
4
0
-1
-9
-10
0
0
0
-27
-1
0
0
0
0
0
0
0
-5
5
2
-70
-35
101
19
-31
-67
3
0
0
0
0
0
0
0
0
-13
-15
34
5
93
68
29
-2
-1
0
0
0
0
0
0
0
0
34
-18
-18
-5
11
-9
9
68
0
0
0
0
0
0
0
0
0
14
-22
28
13
-82
-48
-7
31
0
0
0
0
0
0
0
0
0
-5
-1
19
49
80
95
0
0
0
0
0
0
0
0
0
0
0
0
-1
-46
-1
-20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-60
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
1
25
3
11
0
0
0
0
0
0
0
0
0
0
0
-13
-9
-5
12
2
1
0
0
0
0
0
0
0
0
0
0
0
9
10
-10
-6
-2
-80
0
0
0
0
0
0
0
0
0
0
8
4
5
-13
-56
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
4
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
3
6
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-52
-5
-52
43
-5
4
0
0
0
0
0
0
0
0
0
0
1
0
21
-100
42
10
-29
0
0
0
0
0
0
0
0
0
0
0
0
7
26
-61
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-3
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
-16
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-12
17
0
58
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-4
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
65
36
-20
0
-29
0
0
0
0
0
0
0
0
0
0
0
15
0
7
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
-1
1
25
8
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-16
5
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
-47
0
-14
0
0
0
0
0
0
0
0
0
0
0
-6
0
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-19
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
-17
58
-4
47
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
12
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
-2
2
23
7
0
0
0
0
0
0
0
0
0
0
0
-66
-33
17
-101
-28
-20
1
0
0
0
0
0
0
0
0
0
-3
12
60
8
-11
-13
8
-1
-8
0
0
0
0
0
0
0
0
19
-38
36
5
4
6
0
0
-5
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-6
20
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
25
0
-1
-3
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-16
-7
-2
3
2
0
0
0
0
0
0
0
0
0
0
-19
84
33
9
68
36
-2
-6
0
0
0
0
0
0
0
0
1
-30
77
-38
44
-5
4
29
0
0
0
0
0
0
0
0
0
0
-46
52
0
65
-2
30
2
0
-16
0
0
0
0
0
0
0
0
2
0
50
6
-6
2
-3
0
0
0
0
0
0
0
0
0
0
5
-5
0
-10
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
25
5
-2
-18
44
50
-3
0
3
0
0
0
0
0
0
0
0
-5
4
-2
1
-27
-23
1
3
8
0
0
0
0
0
0
0
0
13
-2
17
-21
-20
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
31
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
71
-18
1
-55
15
69
-1
3
0
0
0
0
0
0
0
0
5
0
3
-2
8
-1
-2
31
0
0
0
0
0
0
0
0
0
-32
0
-3
3
14
-12
-2
0
-6
0
0
0
0
0
0
0
0
22
3
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-7
7
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-8
-21
7
0
56
3
0
0
0
0
0
0
0
0
0
9
-34
50
35
-10
-22
5
-1
0
0
0
0
0
0
0
0
0
0
52
94
-20
0
35
-45
25
0
0
0
0
0
0
0
0
0
-21
18
-7
12
-2
3
0
8
-2
1
0
0
0
0
0
0
0
-29
-41
-15
9
-4
-6
2
0
0
0
0
0
0
0
0
0
0
15
-43
2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
24
18
-5
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
6
67
21
2
0
2
0
0
0
0
0
0
0
0
0
0
-25
-13
-47
38
5
-4
0
7
0
0
0
0
0
0
0
0
-2
22
-21
33
67
-44
-31
-13
-2
0
0
0
0
0
0
0
0
23
23
-9
35
-50
28
8
13
-5
0
0
0
0
0
0
0
0
-7
-10
82
27
1
4
10
0
2
0
0
0
0
0
0
0
0
-3
-46
-36
9
3
50
0
0
0
0
0
0
0
0
0
0
0
-1
-14
7
27
12
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-6
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-20
107
42
-31
33
-12
0
0
0
0
0
0
0
0
0
0
52
-8
58
-5
63
-36
-17
-1
1
0
0
0
0
0
0
0
0
1
55
48
73
-18
53
34
-6
13
8
0
0
0
0
0
0
0
-17
-59
6
77
23
-56
-11
15
0
4
0
0
0
0
0
0
0
37
153
-51
124
5
39
11
6
0
0
0
0
0
0
0
0
0
40
110
58
-5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-13
25
-10
-2
0
-5
6
0
-1
0
0
0
0
0
0
0
0
1
-38
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
74
-58
-20
-62
-1
-61
0
0
0
0
0
0
0
0
0
0
7
-7
112
-2
4
16
-45
-25
5
0
0
0
0
0
0
0
0
3
70
-3
-78
-4
0
-37
6
0
0
0
0
0
0
0
0
0
16
16
-59
17
13
-27
13
19
0
-2
0
0
0
0
0
0
0
-47
11
15
-3
1
125
5
0
-6
0
0
0
0
0
0
0
0
7
-14
-108
-43
36
8
0
0
0
0
0
0
0
0
0
0
0
56
79
-41
16
12
-3
14
0
0
0
0
0
0
0
0
0
0
1
-1
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
86
-24
-22
17
2
0
0
0
0
0
0
0
0
0
0
0
-20
30
64
1
-16
-25
2
-2
0
0
0
0
0
0
0
0
0
43
-33
-19
42
10
9
-1
2
0
0
0
0
0
0
0
0
0
-6
-17
26
10
22
3
2
0
0
0
0
0
0
0
0
0
0
-2
-15
47
1
-13
-8
0
0
0
0
0
0
0
0
0
0
0
23
0
-22
-10
0
7
0
0
0
0
0
0
0
0
0
0
0
13
-14
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
-19
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-3
-34
10
-1
0
7
-1
0
0
0
0
0
0
0
0
0
-9
-4
21
-16
16
-25
0
0
0
0
0
0
0
0
0
0
0
53
6
68
-8
-9
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-6
6
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
8
-5
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-22
-36
-73
-7
0
1
0
0
0
0
0
0
0
0
0
29
-92
-10
35
-77
-45
-31
-5
0
0
0
0
0
0
0
0
0
5
98
55
-8
74
41
-21
2
5
1
0
0
0
0
0
0
0
0
-1
-34
-17
15
-1
91
-1
0
0
0
0
0
0
0
0
0
0
39
-32
-32
41
-3
26
1
0
0
0
0
0
0
0
0
0
20
-5
-3
-1
2
2
0
-4
1
0
0
0
0
0
0
0
0
-2
-38
-1
-2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
45
-7
8
24
7
-19
0
0
0
0
0
0
0
0
0
2
-12
35
7
45
-24
-27
9
7
0
0
0
0
0
0
0
0
0
0
-13
76
-50
8
-8
-25
13
-9
0
0
0
0
0
0
0
-3
54
22
-31
-22
58
3
-8
0
-3
0
0
0
0
0
0
0
0
8
48
16
48
-6
2
-3
3
0
0
0
0
0
0
0
0
0
-5
2
-3
-2
0
6
-3
5
0
0
0
0
0
0
0
0
0
20
-2
2
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-8
28
-25
-7
0
8
0
0
0
0
0
0
0
0
0
-4
5
56
5
-26
10
-30
-29
0
0
0
0
0
0
0
0
0
-3
8
6
-13
4
-18
2
-4
-2
0
0
0
0
0
0
0
0
-2
-4
-48
15
-57
29
44
0
6
0
0
0
0
0
0
0
0
-1
-2
27
13
0
-2
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
3
-12
-3
2
4
0
0
0
0
0
0
0
0
0
0
-2
-7
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
45
5
-7
37
127
13
0
0
0
0
0
0
0
0
0
-12
19
-44
0
10
-15
132
-3
8
0
0
0
0
0
0
0
0
9
29
-51
86
2
-3
14
-29
5
0
0
0
0
0
0
0
0
60
-12
6
30
4
18
-2
2
0
0
0
0
0
0
0
0
0
2
-20
2
20
4
-8
1
0
-1
-2
0
0
0
0
0
0
0
-55
-3
-40
3
-3
3
1
0
2
0
0
0
0
0
0
0
0
7
-11
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
90
3
21
-2
22
-21
0
0
0
0
0
0
0
0
0
113
4
75
-30
-50
31
11
0
-88
0
0
0
0
0
0
0
0
15
151
-10
27
35
-3
3
7
0
0
0
0
0
0
0
0
0
57
116
34
-1
10
38
15
-2
0
0
0
0
0
0
0
0
0
17
-31
4
68
-12
-5
7
3
0
0
0
0
0
0
0
0
0
-22
15
37
17
-3
-1
-1
1
-3
0
0
0
0
0
0
0
0
-25
-70
21
-8
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
9
123
29
40
68
8
9
0
0
0
0
0
0
0
0
0
-32
19
65
23
44
78
13
-9
-1
8
0
0
0
0
0
0
0
-58
-79
24
-6
-54
58
-74
11
-63
-1
0
0
0
0
0
0
0
21
69
-1
-15
-7
-39
-21
-21
0
0
0
0
0
0
0
0
0
8
-6
-7
39
-4
74
0
3
17
0
0
0
0
0
0
0
0
42
-3
-3
-26
-18
25
-3
29
0
0
0
0
0
0
0
0
0
-4
-53
39
-25
-4
0
-1
4
-1
0
0
0
0
0
0
0
0
0
59
-16
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
-24
86
25
0
-36
9
-4
0
0
0
0
0
0
0
0
0
35
15
41
151
-6
-26
57
-3
24
0
0
0
0
0
0
0
0
118
72
4
56
13
21
-8
15
27
1
0
0
0
0
0
0
0
33
-70
16
53
42
24
-1
5
-50
-7
0
0
0
0
0
0
0
-30
73
58
31
26
10
89
3
0
-6
0
0
0
0
0
0
0
-92
-69
14
-23
23
13
13
-5
2
0
0
0
0
0
0
0
0
41
34
-7
16
-14
-7
0
8
-1
0
0
0
0
0
0
0
0
2
4
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
75
91
97
-11
111
39
76
0
0
0
0
0
0
0
0
0
-63
-49
-56
20
54
11
-56
51
1
1
0
0
0
0
0
0
0
-15
-61
-33
-44
42
7
51
-10
57
25
0
0
0
0
0
0
0
27
14
20
-118
50
-3
3
90
-5
8
0
0
0
0
0
0
0
-14
-15
-52
-70
-51
115
26
22
8
0
0
0
0
0
0
0
0
33
-59
48
31
54
22
9
2
4
-2
0
0
0
0
0
0
0
67
53
-26
-40
-35
3
-13
6
5
0
0
0
0
0
0
0
0
3
-97
67
97
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
22
-50
71
34
23
121
0
0
0
0
0
0
0
0
0
0
20
93
85
26
-59
42
-95
-24
0
0
0
0
0
0
0
0
0
-14
47
15
27
25
-64
61
83
6
0
0
0
0
0
0
0
0
-67
-33
-23
2
10
-9
-44
15
-1
0
0
0
0
0
0
0
0
49
48
-17
43
59
69
-37
63
1
0
0
0
0
0
0
0
0
50
1
-8
-47
79
49
-3
-1
0
0
0
0
0
0
0
0
0
-61
15
-4
8
-24
9
-2
-2
0
0
0
0
0
0
0
0
0
99
-4
3
-48
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-49
45
-10
17
-40
0
5
0
0
0
0
0
0
0
0
0
44
41
17
77
-35
-53
3
-2
0
0
0
0
0
0
0
0
0
50
28
-23
-5
-22
-16
32
5
0
0
0
0
0
0
0
0
0
9
86
-52
80
32
13
8
-1
0
0
0
0
0
0
0
0
0
27
-39
74
-2
4
1
-2
3
0
0
0
0
0
0
0
0
0
-4
63
5
-26
-44
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
14
3
0
0
0
0
0
0
0
0
0
0
0
0
77
20
15
-61
9
6
0
0
0
0
0
0
0
0
0
0
0
-20
-8
-6
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-7
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
-2
3
-7
0
0
0
0
0
0
0
0
0
26
-12
34
-2
0
24
3
-3
0
0
0
0
0
0
0
0
0
0
27
-2
1
9
10
0
-1
0
0
0
0
0
0
0
0
0
-17
76
0
-7
10
-3
3
-3
0
0
0
0
0
0
0
0
0
-8
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-23
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
28
-37
-1
25
32
13
-8
0
0
0
0
0
0
0
0
0
6
41
102
-31
-3
-31
50
50
-3
0
0
0
0
0
0
0
0
-40
13
-36
69
21
-3
-41
-8
1
0
0
0
0
0
0
0
0
-2
-54
4
-33
-7
-7
-23
-23
-1
0
0
0
0
0
0
0
0
5
-41
39
42
-13
17
-15
1
2
0
0
0
0
0
0
0
0
0
-49
81
75
4
-12
-1
-1
1
0
0
0
0
0
0
0
0
0
86
6
3
-5
0
0
2
6
0
0
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
-38
17
-25
29
0
0
0
0
0
0
0
0
0
0
0
-13
-44
23
-4
28
-8
34
0
0
0
0
0
0
0
0
0
0
28
0
30
-7
3
8
47
5
-1
0
0
0
0
0
0
0
0
-23
54
-24
-75
33
-20
1
9
-1
0
0
0
0
0
0
0
0
-44
1
-19
4
1
1
-5
-5
0
0
0
0
0
0
0
0
0
-23
95
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
22
-7
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
25
8
16
2
4
-1
0
0
0
0
0
0
0
0
0
25
2
11
-10
-17
1
61
-3
9
0
-1
0
0
0
0
0
0
27
-2
-16
1
-6
12
12
0
-1
-1
0
0
0
0
0
0
0
4
-10
5
-9
29
22
6
4
0
0
0
0
0
0
0
0
0
7
-14
8
-13
8
-14
-2
0
0
-2
0
0
0
0
0
0
0
-5
-3
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-25
2
22
20
35
2
5
0
0
0
0
0
0
0
0
0
44
-49
41
-13
39
-45
-52
-8
0
0
0
0
0
0
0
0
0
-7
4
27
-14
-4
32
-29
-1
5
0
0
0
0
0
0
0
0
-23
56
-1
-9
-21
-3
-25
7
-3
-2
0
0
0
0
0
0
0
-41
30
-12
10
-5
3
0
0
0
0
0
0
0
0
0
0
0
-13
5
-7
17
-1
-4
2
-2
4
0
0
0
0
0
0
0
0
-32
13
12
30
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
3
-56
45
-23
40
58
0
0
0
0
0
0
0
0
0
17
14
65
-12
-72
41
65
94
2
0
0
0
0
0
0
0
0
-46
56
50
17
-14
3
26
10
0
0
0
0
0
0
0
0
0
67
-47
-7
120
-15
-40
-4
17
2
0
0
0
0
0
0
0
0
37
-54
-7
-88
14
25
11
0
0
0
0
0
0
0
0
0
0
-55
40
49
-15
15
-6
1
-8
0
0
0
0
0
0
0
0
0
69
17
20
20
1
-1
1
0
0
0
0
0
0
0
0
0
0
8
-11
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-37
9
-22
26
-20
-64
24
0
0
0
0
0
0
0
0
0
-28
-64
82
49
-41
4
-36
-39
0
-1
0
0
0
0
0
0
0
-68
-36
57
-7
8
-37
3
56
-7
0
0
0
0
0
0
0
0
0
17
45
112
-27
-35
33
33
9
2
0
0
0
0
0
0
0
-13
-16
41
24
12
-69
71
8
2
1
0
0
0
0
0
0
0
12
2
16
-14
20
53
-13
-2
0
0
0
0
0
0
0
0
0
-23
14
79
-8
10
-7
3
0
0
0
0
0
0
0
0
0
0
-13
120
16
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
26
-13
11
-23
97
111
-31
0
0
0
0
0
0
0
0
0
-39
42
139
51
-5
-64
158
111
9
-9
0
0
0
0
0
0
0
61
-14
-23
71
137
16
-1
-1
-1
0
0
0
0
0
0
0
0
90
2
65
86
13
18
-21
-30
-4
-1
0
0
0
0
0
0
0
95
-70
-21
-80
-28
5
-58
22
13
0
0
0
0
0
0
0
0
-4
-37
58
40
33
-62
84
-2
-9
1
0
0
0
0
0
0
0
-49
7
45
56
-5
-12
-8
1
0
0
0
0
0
0
0
0
0
-2
-35
14
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
98
19
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
64
10
-31
-34
-79
-24
0
0
0
0
0
0
0
0
0
83
-21
18
7
12
82
36
30
-34
8
0
0
0
0
0
0
0
97
-21
32
-64
77
122
24
94
0
-4
0
0
0
0
0
0
0
-1
34
42
-27
-21
38
21
-23
32
-1
0
0
0
0
0
0
0
35
-5
-43
-10
41
107
-33
-15
5
-3
0
0
0
0
0
0
0
73
-14
60
19
-11
-36
-14
-16
1
1
0
0
0
0
0
0
0
-51
57
133
-52
-38
-17
-26
1
-41
3
0
0
0
0
0
0
0
10
27
28
-20
-52
-8
-3
1
0
0
0
0
0
0
0
0
0
-11
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-35
33
-30
48
51
-53
0
7
0
0
0
0
0
0
0
0
89
33
-93
-41
152
-112
33
16
1
1
0
0
0
0
0
0
0
-5
4
79
-8
22
-19
12
-18
-1
0
0
0
0
0
0
0
0
-13
-30
-5
47
9
74
-43
32
1
0
0
0
0
0
0
0
0
-3
67
-17
136
-59
11
-52
32
15
0
0
0
0
0
0
0
0
-8
-41
1
-12
18
93
38
3
-2
0
0
0
0
0
0
0
0
-80
-82
-20
91
-14
21
1
-1
3
0
0
0
0
0
0
0
0
21
12
23
24
0
7
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
-5
-27
50
-24
4
0
0
0
0
0
0
0
0
0
0
0
45
25
89
-2
49
78
5
0
2
0
0
0
0
0
0
0
0
95
55
18
44
25
70
6
-2
0
0
0
0
0
0
0
0
0
13
35
73
-55
42
-27
-6
5
0
0
0
0
0
0
0
0
0
-13
60
3
10
-25
1
0
0
0
0
0
0
0
0
0
0
0
-13
1
-48
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
40
5
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
5
-8
8
1
0
0
0
0
0
0
0
0
0
0
0
-3
13
-32
-1
16
-2
-1
0
0
0
0
0
0
0
0
0
0
4
0
36
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
-2
5
0
0
-2
0
0
0
0
0
0
0
0
0
7
4
5
-3
-2
-6
10
-25
0
0
0
0
0
0
0
0
0
15
28
-9
-6
41
-25
-3
2
0
0
0
0
0
0
0
0
0
0
8
14
-2
-4
-7
0
-3
0
0
0
0
0
0
0
0
0
-89
-23
8
-2
0
-3
-8
0
0
0
0
0
0
0
0
0
0
5
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-53
-2
-14
14
-47
-17
0
0
0
0
0
0
0
0
0
-5
-61
25
37
-30
-43
21
17
0
0
0
0
0
0
0
0
0
74
-27
-38
-5
-29
26
-92
106
0
0
0
0
0
0
0
0
0
6
-7
83
58
-67
-8
-5
43
-2
0
0
0
0
0
0
0
0
-1
-120
-62
112
93
-48
2
-1
-10
-8
0
0
0
0
0
0
0
1
83
94
-7
66
47
0
-2
-1
0
0
0
0
0
0
0
0
2
84
9
-19
0
3
24
0
0
0
0
0
0
0
0
0
0
0
30
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
-20
24
-4
-9
-2
0
0
0
0
0
0
0
0
0
0
-28
-4
7
63
21
-48
16
-7
0
0
0
0
0
0
0
0
0
8
-59
-16
-9
-30
-18
8
-3
0
0
0
0
0
0
0
0
0
-83
-1
-36
70
6
-37
-1
0
-5
0
0
0
0
0
0
0
0
-3
-13
37
39
-22
-13
0
-5
0
0
0
0
0
0
0
0
0
41
-20
-4
18
42
2
-6
0
0
0
0
0
0
0
0
0
0
60
42
4
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
58
9
13
-2
12
-2
0
0
0
0
0
0
0
0
0
-2
0
-11
-1
43
30
49
4
0
0
0
0
0
0
0
0
0
14
-2
-1
51
5
22
41
-8
-2
0
0
0
0
0
0
0
0
60
-38
4
0
11
-19
71
-1
-3
0
0
0
0
0
0
0
0
30
-9
-6
10
8
-5
2
-8
-1
0
0
0
0
0
0
0
0
1
1
-14
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-5
0
3
-7
-1
0
0
0
0
0
0
0
0
0
6
-83
81
-24
-9
-22
37
9
-2
0
0
0
0
0
0
0
0
5
-33
-13
35
-20
-11
-28
-4
0
0
0
0
0
0
0
0
0
-1
86
56
-45
5
25
-6
1
0
0
0
0
0
0
0
0
0
-52
113
-7
-41
15
0
0
0
0
4
0
0
0
0
0
0
0
4
37
-1
-15
7
13
0
0
0
0
0
0
0
0
0
0
0
-7
-20
-2
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-8
44
-25
-79
-83
68
5
0
0
0
0
0
0
0
0
0
85
32
119
-49
45
31
6
-14
-19
0
0
0
0
0
0
0
0
-21
-23
35
-22
-58
64
-82
-5
1
0
0
0
0
0
0
0
0
25
16
13
-50
29
0
1
10
9
0
0
0
0
0
0
0
0
14
-47
-39
6
104
28
25
4
23
-1
0
0
0
0
0
0
0
98
-5
-2
52
18
-18
0
0
0
0
0
0
0
0
0
0
0
-28
14
-16
-21
3
0
0
-4
0
0
0
0
0
0
0
0
0
26
79
-8
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
45
40
-75
-37
2
-16
-13
0
0
0
0
0
0
0
0
0
-24
14
-76
4
44
35
-28
-17
-2
0
0
0
0
0
0
0
0
-1
66
127
40
-48
-18
39
-94
58
-1
0
0
0
0
0
0
0
72
89
-22
55
73
-25
2
2
-5
0
0
0
0
0
0
0
0
33
6
20
-17
51
45
29
24
10
0
0
0
0
0
0
0
0
-7
-3
24
3
74
80
-47
-5
0
0
0
0
0
0
0
0
0
15
-6
-57
31
-17
17
3
-3
5
0
0
0
0
0
0
0
0
46
-6
94
18
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
81
31
8
53
14
30
0
0
0
0
0
0
0
0
0
44
69
25
-5
6
29
-40
12
39
0
0
0
0
0
0
0
0
4
64
47
-4
28
52
-20
75
7
3
0
0
0
0
0
0
0
32
88
23
73
14
64
-16
4
0
0
0
0
0
0
0
0
0
44
33
19
15
-54
-77
74
1
-6
0
0
0
0
0
0
0
0
-33
136
36
-17
-10
40
58
0
0
0
0
0
0
0
0
0
0
-2
-24
1
19
-3
26
-2
0
-8
0
0
0
0
0
0
0
0
43
-2
22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
91
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-139
10
69
-32
22
55
-20
-30
0
0
0
0
0
0
0
0
0
31
7
10
51
-1
36
30
88
-55
-1
0
0
0
0
0
0
0
-6
27
79
-60
-31
35
39
-53
-26
-2
0
0
0
0
0
0
0
-12
-143
18
70
-25
45
36
-75
0
-1
0
0
0
0
0
0
0
-75
24
-64
20
19
-24
2
1
8
0
0
0
0
0
0
0
0
39
35
61
6
-17
49
-8
14
-5
0
0
0
0
0
0
0
0
43
20
43
46
-70
-43
4
-3
-11
1
0
0
0
0
0
0
0
11
-11
5
-87
8
0
-5
8
2
0
0
0
0
0
0
0
0
11
-49
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
56
33
-35
50
-110
5
0
0
0
0
0
0
0
0
0
0
-31
61
62
36
-7
77
-3
-10
0
0
0
0
0
0
0
0
0
8
83
7
17
-39
94
53
41
-1
0
0
0
0
0
0
0
0
47
74
40
24
14
32
10
16
0
0
0
0
0
0
0
0
0
-80
-9
20
14
117
21
-51
-54
-6
0
0
0
0
0
0
0
0
17
-10
26
-63
75
53
1
-12
0
0
0
0
0
0
0
0
0
-50
94
6
-8
-56
-6
4
5
0
0
0
0
0
0
0
0
0
-20
-26
-49
-24
0
-3
0
6
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
19
-45
-4
-25
-10
0
0
0
0
0
0
0
0
0
0
0
22
77
128
-2
39
-6
0
0
-2
0
0
0
0
0
0
0
0
-22
20
-11
-11
2
24
11
-1
0
0
0
0
0
0
0
0
0
-9
26
20
30
20
-5
-6
0
0
0
0
0
0
0
0
0
0
-18
8
118
-36
-29
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
27
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-8
4
0
5
-11
-8
0
0
0
0
0
0
0
0
0
0
5
12
-17
-6
-1
15
5
0
0
0
0
0
0
0
0
0
0
-10
20
20
-7
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
37
-20
-8
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-5
-16
98
4
0
0
0
0
0
0
0
0
0
0
0
0
1
12
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
5
13
-38
45
56
0
0
0
0
0
0
0
0
0
-7
-12
-90
-80
79
83
-29
16
-2
0
0
0
0
0
0
0
0
-3
-11
70
-69
-11
-31
-49
77
46
0
0
0
0
0
0
0
0
-1
108
4
19
46
27
125
9
-3
0
0
0
0
0
0
0
0
-3
0
-57
-8
-31
-26
85
-8
12
0
0
0
0
0
0
0
0
0
10
-43
-50
109
88
1
0
0
0
0
0
0
0
0
0
0
5
-37
-51
-9
49
-2
2
1
-1
0
0
0
0
0
0
0
0
0
-81
39
-51
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-7
9
-27
-4
-13
0
0
0
0
0
0
0
0
0
4
-9
11
-9
-4
-31
49
-22
-2
0
0
0
0
0
0
0
0
0
4
-30
19
2
31
-22
-5
0
0
0
0
0
0
0
0
0
0
-41
-14
-3
16
-5
-17
-3
0
0
0
0
0
0
0
0
0
0
-31
0
-4
119
-15
3
-2
0
0
0
0
0
0
0
0
0
0
-3
87
31
-19
12
0
0
7
0
0
0
0
0
0
0
0
0
-28
-20
-20
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-23
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
0
-1
5
6
0
0
0
0
0
0
0
0
0
0
18
-10
-45
85
-13
42
49
5
0
0
0
0
0
0
0
0
0
7
6
16
-2
-28
6
12
-3
0
0
0
0
0
0
0
0
0
-7
9
13
-12
-41
-22
-3
-8
2
0
0
0
0
0
0
0
0
-7
-4
11
0
-1
-13
13
1
0
0
0
0
0
0
0
0
0
-2
0
1
7
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-19
-32
-8
6
12
0
0
0
0
0
0
0
0
0
0
19
-5
-38
-57
2
77
-39
2
-3
0
0
0
0
0
0
0
0
6
21
-45
47
110
2
12
-8
12
0
0
0
0
0
0
0
0
-92
-9
32
92
-22
0
-10
8
0
0
0
0
0
0
0
0
0
6
-8
20
-32
0
2
4
-2
0
0
0
0
0
0
0
0
0
-45
68
45
-53
21
0
-3
-1
-3
0
0
0
0
0
0
0
0
7
-49
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
29
-47
57
82
24
-4
6
0
0
0
0
0
0
0
0
0
74
62
88
103
8
12
-85
18
0
0
0
0
0
0
0
0
0
93
30
-50
44
-46
18
-29
1
5
0
0
0
0
0
0
0
0
70
-9
64
-21
31
-21
-16
28
2
0
0
0
0
0
0
0
0
-56
95
38
45
-88
0
-5
0
1
0
0
0
0
0
0
0
0
-41
19
104
-75
-9
5
9
-7
0
0
0
0
0
0
0
0
0
37
55
-5
47
-3
1
-43
1
0
0
0
0
0
0
0
0
0
0
135
-1
-10
-3
0
0
-2
0
0
0
0
0
0
0
0
0
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
3
4
-56
-5
35
-71
30
0
0
0
0
0
0
0
0
0
54
-9
-75
43
91
78
-21
16
43
0
0
0
0
0
0
0
0
45
-21
20
-20
52
32
13
-73
18
0
0
0
0
0
0
0
0
-45
28
122
21
46
-34
15
-5
4
0
0
0
0
0
0
0
0
-6
-13
9
111
84
98
0
22
1
0
0
0
0
0
0
0
0
42
41
32
-48
13
19
-4
-2
-11
0
0
0
0
0
0
0
0
-2
-34
-59
68
-6
-12
31
2
0
0
0
0
0
0
0
0
0
-22
7
6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
8
-36
47
65
80
-32
56
0
4
0
0
0
0
0
0
0
139
52
77
68
37
-37
46
-89
-13
0
0
0
0
0
0
0
0
8
-26
130
5
66
1
8
136
60
-4
0
0
0
0
0
0
0
5
10
71
105
-29
68
16
-14
-13
0
0
0
0
0
0
0
0
36
41
29
8
126
-25
39
0
0
0
0
0
0
0
0
0
0
98
49
75
18
-38
28
-10
5
0
-3
0
0
0
0
0
0
0
-23
36
47
-64
-53
17
4
0
0
0
0
0
0
0
0
0
0
-11
27
16
64
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
32
41
-1
11
72
-5
-15
0
0
0
0
0
0
0
0
0
22
22
-20
-48
38
11
-67
27
26
0
0
0
0
0
0
0
0
29
-6
53
-25
16
-36
-30
-14
-4
24
0
0
0
0
0
0
0
-26
-2
29
77
-24
26
-34
124
9
0
0
0
0
0
0
0
0
6
44
-4
123
58
97
-80
-51
0
1
0
0
0
0
0
0
0
89
25
-10
-22
23
4
-20
38
30
0
0
0
0
0
0
0
0
14
51
42
-7
3
-11
-30
9
-3
0
0
0
0
0
0
0
0
5
72
-93
-101
4
8
32
0
7
0
0
0
0
0
0
0
0
45
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
3
14
-19
29
20
-22
0
0
0
0
0
0
0
0
0
0
-4
88
28
6
-41
55
13
-42
-1
1
0
0
0
0
0
0
0
-29
34
81
54
21
29
-13
-5
1
0
0
0
0
0
0
0
0
-4
12
39
129
77
51
67
-28
10
0
0
0
0
0
0
0
0
-143
51
32
80
51
18
-5
-5
0
0
0
0
0
0
0
0
0
53
-63
71
47
-69
15
98
13
12
0
0
0
0
0
0
0
0
16
-61
115
9
11
30
31
-6
0
0
0
0
0
0
0
0
0
11
-15
43
12
-3
0
7
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
12
-69
13
-1
0
0
0
0
0
0
0
0
0
0
0
6
27
16
18
-23
-19
-3
0
0
0
0
0
0
0
0
0
0
14
4
4
5
5
2
-25
0
0
0
0
0
0
0
0
0
0
60
14
-1
-8
-4
19
8
3
0
0
0
0
0
0
0
0
0
-55
36
41
1
9
-13
1
-5
0
0
0
0
0
0
0
0
0
-6
39
40
-8
0
0
-4
-1
0
0
0
0
0
0
0
0
0
7
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
-42
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
13
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
18
2
-5
0
0
0
0
0
0
0
0
0
7
8
2
1
14
-31
23
-18
2
0
0
0
0
0
0
0
0
41
-4
-15
-1
3
-5
1
0
0
0
0
0
0
0
0
0
0
2
59
79
23
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
44
25
33
14
-1
0
0
0
0
0
0
0
0
0
0
0
19
-2
3
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-8
16
9
56
34
0
0
0
0
0
0
0
0
0
0
-64
15
-9
9
9
19
35
3
0
0
0
0
0
0
0
0
-8
-35
-1
62
79
-18
-2
-35
-3
0
0
0
0
0
0
0
0
41
13
88
65
-1
43
-21
-8
8
0
0
0
0
0
0
0
0
-6
33
-42
11
1
-18
-30
-2
-2
0
0
0
0
0
0
0
0
-4
0
-79
-100
-1
33
4
0
4
0
0
0
0
0
0
0
0
-1
-17
51
-27
-25
1
0
0
-2
0
0
0
0
0
0
0
0
-5
-84
104
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
-1
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
-1
14
-2
-2
-6
-17
15
25
0
0
0
0
0
0
0
0
0
-28
-12
5
19
17
1
27
10
1
0
0
0
0
0
0
0
12
-7
-11
111
-35
83
-81
67
-7
0
0
0
0
0
0
0
0
0
82
62
106
23
-8
3
1
0
0
0
0
0
0
0
0
0
0
34
0
78
-3
-5
9
0
0
0
0
0
0
0
0
0
0
0
-14
1
5
2
41
1
0
0
0
0
0
0
0
0
0
0
-4
6
0
75
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-14
4
0
4
13
0
0
0
0
0
0
0
0
0
-18
0
50
9
87
-20
-2
-9
0
0
1
0
0
0
0
0
0
2
-9
-25
1
5
-6
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
19
-1
-17
-32
39
-4
0
0
0
0
0
0
0
0
0
0
18
-2
-14
22
-8
7
4
0
0
0
0
0
0
0
0
0
0
-5
16
0
10
-7
-2
0
0
0
0
0
0
0
0
0
0
-23
-7
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-16
29
1
55
11
-13
0
0
0
0
0
0
0
0
0
0
10
17
-24
59
67
-19
-7
0
0
0
0
0
0
0
0
0
30
-33
-13
49
43
-56
-16
-13
0
-6
0
0
0
0
0
0
0
3
36
4
34
17
-57
-21
-29
2
-1
0
0
0
0
0
0
0
0
18
-33
80
86
-11
16
-2
3
0
0
0
0
0
0
0
0
10
-17
79
-3
0
-21
-3
6
0
0
0
0
0
0
0
0
0
12
-30
29
0
10
1
7
0
0
0
0
0
0
0
0
0
0
6
5
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-50
45
93
-18
-1
72
11
0
0
0
0
0
0
0
0
0
-23
79
-1
63
22
51
-13
-36
-4
0
0
0
0
0
0
0
0
83
17
26
-43
78
81
0
0
5
0
0
0
0
0
0
0
0
33
-58
2
-41
3
-5
35
0
-7
0
0
0
0
0
0
0
0
-7
41
62
32
-51
4
18
-11
-2
0
0
0
0
0
0
0
0
-23
26
81
71
37
0
2
-2
4
0
0
0
0
0
0
0
0
-40
-68
5
47
5
-3
-1
-2
0
0
0
0
0
0
0
0
0
-8
-90
17
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
70
16
-7
34
-90
-4
33
0
0
0
0
0
0
0
0
0
34
-5
50
63
-9
32
31
85
5
0
0
0
0
0
0
0
0
82
18
57
-43
-1
-40
-28
17
-4
0
0
0
0
0
0
0
0
-1
73
26
83
-75
10
-6
-35
-2
7
0
0
0
0
0
0
0
23
50
68
39
-28
-24
-24
30
10
0
0
0
0
0
0
0
0
5
78
50
-46
-5
36
0
0
8
0
0
0
0
0
0
0
0
-11
20
73
39
35
11
-29
1
7
0
0
0
0
0
0
0
0
-3
9
-5
-19
12
16
1
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
106
-32
80
58
-11
74
-23
0
0
0
0
0
0
0
0
0
5
26
130
-29
-34
98
3
16
1
0
0
0
0
0
0
0
0
37
29
55
-2
53
-59
7
42
-20
0
0
0
0
0
0
0
0
76
69
72
31
63
83
23
27
13
0
0
0
0
0
0
0
0
108
141
14
44
177
-56
-76
-11
-1
0
0
0
0
0
0
0
0
33
95
31
52
70
46
-4
0
-9
0
0
0
0
0
0
0
0
-7
9
76
51
68
-4
-27
5
0
1
0
0
0
0
0
0
0
16
-60
53
23
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
2
51
17
65
63
-44
-107
0
0
0
0
0
0
0
0
0
111
12
67
72
7
55
-65
-53
-19
-1
0
0
0
0
0
0
0
2
-5
63
54
-15
100
-51
-10
-29
-3
0
0
0
0
0
0
0
2
-25
113
187
17
31
26
18
-28
0
0
0
0
0
0
0
0
-17
-9
88
94
-82
34
-10
-22
3
25
0
0
0
0
0
0
0
25
49
-17
40
94
8
-11
-1
0
9
0
0
0
0
0
0
0
48
3
91
-78
-21
-68
101
17
18
0
0
0
0
0
0
0
0
-37
58
-44
35
-7
18
15
0
0
0
0
0
0
0
0
0
0
20
-7
9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
39
42
-11
42
-26
32
0
0
0
0
0
0
0
0
0
0
55
114
39
56
40
-36
13
31
-2
0
0
0
0
0
0
0
0
-12
7
72
-24
14
24
42
76
39
0
0
0
0
0
0
0
0
9
42
7
46
-12
52
96
12
29
-1
0
0
0
0
0
0
0
33
-41
30
53
10
-9
-70
-7
5
-1
0
0
0
0
0
0
0
-14
19
29
1
-59
6
37
10
0
0
0
0
0
0
0
0
0
31
46
113
47
-10
-4
-7
-19
10
0
0
0
0
0
0
0
0
51
-8
53
4
4
1
-4
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-7
92
28
51
0
0
0
0
0
0
0
0
0
0
0
-24
0
-29
48
-82
-52
1
0
0
0
0
0
0
0
0
0
0
-20
54
48
38
35
40
8
-7
0
0
0
0
0
0
0
0
0
-26
-35
-2
27
20
-6
-6
0
0
0
0
0
0
0
0
0
0
29
36
30
12
17
1
2
0
0
0
0
0
0
0
0
0
0
17
25
-15
-6
10
-13
-3
0
0
0
0
0
0
0
0
0
0
-4
18
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
49
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
45
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
7
19
25
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
56
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
37
-4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
18
45
5
10
-1
-18
-53
14
0
0
0
0
0
0
0
0
1
-23
15
3
33
16
34
3
0
0
0
0
0
0
0
0
0
8
79
-7
44
53
-31
0
21
-4
0
0
0
0
0
0
0
0
-3
-5
-7
-24
28
36
-19
5
0
0
0
0
0
0
0
0
0
-10
59
-29
-30
44
34
5
-1
0
0
0
0
0
0
0
0
0
7
0
-28
36
7
-9
-6
0
0
0
0
0
0
0
0
0
0
0
48
14
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
9
28
1
1
0
-38
17
7
0
0
0
0
0
0
0
0
0
33
0
10
7
-5
79
12
7
0
0
0
0
0
0
0
0
0
32
-40
-48
92
-29
-15
-13
0
0
0
0
0
0
0
0
0
0
33
84
-11
31
-3
41
-5
-3
0
0
0
0
0
0
0
0
0
-24
21
35
-60
-12
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
79
40
87
0
0
1
-1
0
0
0
0
0
0
0
0
-2
19
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-25
5
0
0
23
0
0
0
0
0
0
0
0
0
0
8
0
8
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
9
-4
2
1
7
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-33
-41
-2
9
-1
0
0
0
0
0
0
0
0
0
0
-21
3
2
3
7
-9
2
0
0
0
0
0
0
0
0
0
1
71
30
0
24
5
4
0
0
0
0
0
0
0
0
0
0
2
10
0
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-18
8
9
12
0
0
0
0
0
0
0
0
0
0
-1
63
85
-32
3
-58
-16
-4
0
0
0
0
0
0
0
0
0
0
-1
24
-7
-3
-30
20
-1
-1
-1
0
0
0
0
0
0
0
0
-5
1
-25
7
2
-12
2
0
0
0
0
0
0
0
0
0
0
1
23
-1
-5
7
-2
3
2
0
0
0
0
0
0
0
0
0
40
-32
-5
-6
17
3
-5
1
0
0
0
0
0
0
0
0
-2
30
13
-47
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-19
-23
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
31
53
29
36
12
8
0
0
0
0
0
0
0
0
0
-63
-2
24
39
-40
-6
-69
42
0
0
0
0
0
0
0
0
0
28
-44
-33
29
-75
3
-4
7
-1
0
0
0
0
0
0
0
0
-10
-13
-53
3
-14
2
-5
14
0
0
0
0
0
0
0
0
0
3
52
20
-16
9
54
29
8
-6
0
0
0
0
0
0
0
0
8
4
24
35
11
30
3
-7
0
0
0
0
0
0
0
0
0
-26
-6
21
30
-16
0
0
0
2
0
0
0
0
0
0
0
0
103
-39
55
-21
-3
0
0
14
0
0
0
0
0
0
0
0
0
21
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
-25
28
-10
11
25
-2
0
0
0
0
0
0
0
0
0
-20
-36
0
19
68
-37
32
88
9
0
0
0
0
0
0
0
0
18
54
-43
-75
11
-6
102
-32
31
2
0
0
0
0
0
0
0
19
68
-35
4
-51
17
45
4
6
0
0
0
0
0
0
0
0
0
-77
0
75
132
18
-31
34
9
0
0
0
0
0
0
0
0
5
-103
-15
-7
-26
42
12
-28
-17
27
0
0
0
0
0
0
0
8
28
30
57
-6
-22
0
-19
-1
0
0
0
0
0
0
0
0
32
-103
-7
86
0
-24
-1
0
-1
0
0
0
0
0
0
0
0
-8
4
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
31
73
14
46
70
-25
-4
-1
0
0
0
0
0
0
0
0
0
13
46
41
110
58
-84
59
44
-19
0
0
0
0
0
0
0
0
39
12
4
49
57
24
49
83
5
1
0
0
0
0
0
0
0
91
85
52
-34
48
-27
43
21
-2
0
0
0
0
0
0
0
0
-2
38
103
46
40
105
-27
2
-1
0
0
0
0
0
0
0
0
-16
-23
83
-5
-5
-29
-46
6
-4
0
0
0
0
0
0
0
0
-67
6
48
76
59
11
34
0
0
0
0
0
0
0
0
0
0
15
5
12
27
26
2
1
-1
0
0
0
0
0
0
0
0
0
-13
23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
-10
49
-31
53
32
-19
0
0
0
0
0
0
0
0
0
10
4
2
-29
28
-10
6
123
1
40
0
0
0
0
0
0
0
25
1
17
63
-4
22
-31
55
-3
3
0
0
0
0
0
0
0
-3
-38
73
-10
115
64
-12
33
61
-3
0
0
0
0
0
0
0
-3
-1
24
13
27
78
43
-90
-6
1
0
0
0
0
0
0
0
2
1
-24
173
29
-77
15
-11
-72
5
0
0
0
0
0
0
0
-6
43
51
43
-48
83
-2
-29
0
0
0
0
0
0
0
0
0
85
-12
-21
-13
11
-7
-44
-24
-1
0
0
0
0
0
0
0
0
-27
47
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
123
18
-2
6
30
32
0
0
0
0
0
0
0
0
0
0
53
12
49
85
-55
5
33
8
4
3
0
0
0
0
0
0
0
-60
-11
21
97
37
-29
12
-12
0
0
0
0
0
0
0
0
0
10
26
62
25
43
-3
-17
-90
-1
-1
0
0
0
0
0
0
0
37
-25
105
50
12
64
53
56
1
0
0
0
0
0
0
0
0
29
61
24
-51
50
-7
37
12
-6
0
0
0
0
0
0
0
0
43
54
28
10
-54
-31
28
5
0
0
0
0
0
0
0
0
0
-50
-5
-27
-3
-9
9
6
2
0
0
0
0
0
0
0
0
0
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-15
-86
-27
-14
0
0
0
0
0
0
0
0
0
0
0
-9
-9
43
3
-102
-5
0
0
0
0
0
0
0
0
0
0
0
-13
-49
-3
42
17
13
8
1
0
0
0
0
0
0
0
0
0
-12
-7
52
21
-7
5
1
14
0
0
0
0
0
0
0
0
0
-1
30
40
-29
12
-4
-8
-7
0
0
0
0
0
0
0
0
0
1
-3
-40
0
-7
3
4
1
0
0
0
0
0
0
0
0
0
-10
2
-1
7
20
1
0
0
0
0
0
0
0
0
0
0
0
-6
-41
13
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-1
15
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
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
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
-2
0
8
0
0
0
0
0
0
0
0
0
3
2
-3
0
5
0
-16
0
0
0
0
0
0
0
0
0
0
8
7
74
-5
2
2
0
30
0
0
0
0
0
0
0
0
0
1
3
-10
-1
6
0
6
0
0
0
0
0
0
0
0
0
0
9
0
-1
9
8
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
1
10
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
3
-1
-1
-1
0
0
0
0
0
0
0
0
0
-7
-2
-7
30
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
40
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
3
-8
-1
24
5
-3
0
0
0
0
0
0
0
0
0
0
0
24
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-16
12
1
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
16
-8
0
2
0
3
0
0
0
0
0
0
0
0
-30
-1
-14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
1
0
32
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-7
4
0
0
0
0
0
0
0
0
0
0
0
1
4
-23
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
13
6
-5
7
82
-1
13
3
0
0
0
0
0
0
0
0
-1
16
-85
-30
-4
-50
-51
-4
0
0
0
0
0
0
0
0
0
2
2
43
12
15
7
0
5
4
0
0
0
0
0
0
0
0
-2
-50
71
72
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
73
-12
0
0
-3
0
0
0
0
0
0
0
0
0
0
36
30
45
59
-1
-3
0
4
0
0
0
0
0
0
0
0
0
-13
-26
52
6
20
0
0
0
0
0
0
0
0
0
0
0
0
-48
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
3
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
98
24
-51
-11
4
-33
-2
0
0
0
0
0
0
0
0
0
0
-11
44
-9
3
13
-5
-1
8
0
0
0
0
0
0
0
0
-3
-34
7
32
-15
-14
11
9
0
0
0
0
0
0
0
0
0
-1
-12
-3
-16
-52
-46
-3
4
0
0
0
0
0
0
0
0
0
0
42
5
102
32
-13
-5
-2
0
0
0
0
0
0
0
0
0
1
15
52
-39
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-15
46
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
45
7
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
100
-30
51
34
-7
-44
23
-3
0
0
0
0
0
0
0
0
0
55
99
18
64
31
9
-9
-26
0
0
0
0
0
0
0
0
0
25
40
-11
-6
30
-70
-62
1
-2
0
0
0
0
0
0
0
0
4
19
-26
-20
-6
50
-18
8
0
0
0
0
0
0
0
0
0
-17
-1
20
61
-40
37
2
-2
-1
0
0
0
0
0
0
0
0
8
92
63
7
-38
93
17
-2
8
0
0
0
0
0
0
0
0
54
126
27
-52
44
99
-4
0
0
0
0
0
0
0
0
0
0
-16
-6
-36
58
-34
11
4
0
-1
0
0
0
0
0
0
0
0
-67
70
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
42
-21
-13
57
-65
-60
7
0
0
0
0
0
0
0
0
0
10
61
9
85
108
-41
-39
5
-5
1
0
0
0
0
0
0
0
2
24
-17
-9
63
64
45
11
-30
-1
0
0
0
0
0
0
0
-3
-13
2
-10
-13
85
-55
-5
-98
-2
0
0
0
0
0
0
0
-2
48
79
-28
-61
-27
-83
132
-29
0
0
0
0
0
0
0
0
-5
35
-22
-38
69
-75
126
92
-3
-1
0
0
0
0
0
0
0
-9
87
-14
37
33
6
-1
2
-5
-4
0
0
0
0
0
0
0
-12
-31
-67
-12
-27
-20
8
-2
0
0
0
0
0
0
0
0
0
22
-21
9
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
15
-3
114
72
7
0
0
0
0
0
0
0
0
0
0
0
0
3
54
110
85
99
-76
-24
0
-1
0
0
0
0
0
0
0
0
23
129
59
36
-7
56
-45
-3
5
0
0
0
0
0
0
0
0
-49
85
-8
28
-34
2
30
-20
0
0
0
0
0
0
0
0
0
43
54
63
-28
-9
41
25
2
0
0
0
0
0
0
0
0
0
3
-28
25
74
14
24
-3
13
1
0
0
0
0
0
0
0
0
35
-52
-18
2
-50
41
-4
9
-4
0
0
0
0
0
0
0
0
43
51
-4
1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
9
-29
-3
30
-9
1
0
0
0
0
0
0
0
0
0
0
0
-7
57
38
-81
-55
1
-1
0
0
0
0
0
0
0
0
0
0
0
-17
43
-29
-26
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
85
-9
3
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-48
6
-19
34
-9
0
0
0
0
0
0
0
0
0
0
3
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-1
6
-8
-4
-8
0
8
0
0
0
0
0
0
0
0
0
0
-1
-6
16
-24
-4
-4
1
0
0
0
0
0
0
0
0
0
0
-8
10
10
-28
-1
2
-1
0
0
0
0
0
0
0
0
0
0
15
30
7
75
6
1
0
0
0
0
0
0
0
0
0
0
0
4
0
-26
50
2
0
8
0
0
0
0
0
0
0
0
0
0
-25
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
13
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
34
8
46
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
21
0
7
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-23
-16
-1
21
-8
-1
0
0
0
0
0
0
0
0
0
0
5
0
-2
-6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
24
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
1
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
0
0
0
-29
0
-3
0
0
0
0
0
0
0
0
-3
5
1
13
-3
-18
-1
-15
0
0
0
0
0
0
0
0
0
0
-5
17
-1
13
5
-76
-3
-1
0
0
0
0
0
0
0
0
0
0
-1
23
6
48
2
0
1
0
0
0
0
0
0
0
0
0
1
2
24
-23
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
4
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
6
8
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-24
-1
0
0
0
0
0
0
0
0
0
0
2
0
-9
5
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
-17
-23
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
-19
-4
-13
0
-5
0
0
0
0
0
0
0
0
-1
0
-3
9
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-40
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
0
0
0
3
-3
1
0
0
0
0
0
0
0
13
-29
-24
20
0
0
0
17
-8
0
1
0
0
0
0
0
0
-2
-4
-15
0
-42
-41
5
-50
-9
9
0
0
0
0
0
0
0
1
6
8
22
9
-12
-3
13
5
-2
0
0
0
0
0
0
0
0
13
15
29
-33
39
36
13
1
0
0
0
0
0
0
0
0
0
1
0
27
-5
40
-12
13
8
3
0
0
0
0
0
0
0
0
4
-1
-1
6
-8
-4
34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-44
-6
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-33
-17
2
0
0
0
0
0
0
0
0
0
0
-2
4
8
28
30
-23
-29
1
0
0
0
0
0
0
0
0
-1
0
0
4
33
-12
-76
28
1
2
0
0
0
0
0
0
0
0
5
0
-16
5
6
25
-2
-1
0
0
0
0
0
0
0
0
0
0
-15
5
-47
2
10
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-4
1
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-1
1
1
0
0
0
0
0
0
0
0
0
0
5
-5
-29
-22
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
23
-10
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
38
-15
17
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
21
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-45
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
22
5
-10
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
2
1
4
-8
0
0
0
0
0
0
0
0
0
0
0
-12
0
9
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-56
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
6
-8
3
-1
0
0
0
0
0
0
0
0
0
0
9
0
2
-6
-30
-6
-58
5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-13
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
-8
0
0
0
-4
0
0
0
0
0
0
0
0
-8
14
13
-2
-9
0
0
0
0
-1
0
0
0
0
0
0
-8
0
6
3
-2
-2
4
-5
-3
0
0
0
0
0
0
0
0
0
3
1
3
0
16
5
29
9
2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
5
4
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
4
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-40
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
-59
-17
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
5
2
16
-2
5
-58
-36
0
0
0
0
0
0
0
0
1
0
3
10
1
-38
-57
20
5
-1
0
0
0
0
0
0
0
0
0
-7
1
-5
-50
13
25
-4
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-48
25
57
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-22
-22
27
-7
0
0
0
0
0
0
0
0
0
0
0
-9
2
-89
-67
-42
-56
0
0
0
34
-5
0
0
0
0
0
0
2
17
9
6
14
-27
-23
14
-74
-1
-1
0
0
0
0
0
0
4
-1
12
5
37
38
-43
-11
0
-8
0
0
0
0
0
0
0
5
-5
0
-12
34
0
-35
62
-45
0
0
0
0
0
0
0
0
0
0
-3
0
-54
-86
-18
0
59
-22
-1
0
0
0
0
0
0
0
0
2
1
-6
10
15
-29
20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
6
0
0
0
0
0
0
0
0
0
2
-20
9
-8
1
0
0
0
-2
0
0
0
0
0
0
0
1
8
-20
-136
50
-12
0
0
0
-15
-5
0
0
0
0
0
0
0
4
-16
34
-6
-27
-37
-20
-25
-5
-1
0
0
0
0
0
0
0
-3
6
-18
7
5
-41
-19
106
2
-25
0
2
0
0
0
0
0
0
-3
-42
36
9
-29
-42
-44
-42
0
0
0
0
0
0
0
0
0
0
9
-46
-32
30
53
59
18
-2
0
0
0
0
0
0
0
0
2
2
2
0
38
24
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
41
-5
0
0
0
0
0
0
0
0
5
-25
-8
3
0
0
0
-27
-32
0
0
0
0
0
0
0
0
0
-4
8
-6
8
20
-22
0
5
-2
0
0
0
0
0
0
0
0
-1
0
4
55
-21
13
37
-7
0
-1
0
0
0
0
0
0
0
-1
3
1
8
-19
-5
44
-46
0
0
0
0
0
0
0
0
0
0
0
1
-32
-21
23
17
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-7
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
-2
-2
2
10
0
0
0
0
0
0
0
0
0
-1
0
1
-26
6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
19
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
5
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-15
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
-48
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
8
10
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-5
13
0
0
0
0
0
0
0
0
0
0
0
7
-1
-3
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-44
56
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
3
-9
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
12
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-1
12
37
43
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-6
0
6
0
0
0
0
0
0
0
0
0
-1
1
-8
-14
31
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-9
31
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
8
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-12
-34
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-55
-61
23
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-4
-21
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
6
1
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-12
5
0
0
0
-4
0
0
0
0
0
0
0
0
8
-16
53
0
1
3
-9
-22
0
0
0
0
0
0
0
0
0
0
4
1
-5
5
31
-45
-14
0
0
0
0
0
0
0
0
0
0
0
-4
-31
48
0
-21
8
0
0
0
0
0
0
0
0
0
0
0
-6
1
8
-58
-8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
-72
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
-12
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
2
-59
-4
0
0
0
3
-7
0
0
0
0
0
0
-1
-8
-45
-1
8
13
7
-59
-20
-12
0
0
0
0
0
0
0
0
-5
-8
8
-1
22
1
-35
-108
15
0
0
0
0
0
0
0
0
0
1
-1
-38
-43
10
42
98
3
0
0
0
0
0
0
0
0
0
-6
10
-18
-30
72
61
-28
1
0
0
0
0
0
0
0
0
0
0
0
2
0
45
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
16
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
48
-35
27
-91
0
0
0
1
0
0
0
0
0
0
0
30
23
63
12
-89
22
0
0
0
-5
5
0
0
0
0
0
0
-9
-33
21
39
47
21
-27
-99
-5
-71
0
0
0
0
0
0
-1
-3
19
40
9
-4
-46
-23
25
90
-1
7
0
0
0
0
0
0
0
4
-28
22
11
76
-34
80
-27
-54
9
0
0
0
0
0
0
0
32
15
-2
-10
31
3
-10
45
0
2
0
0
0
0
0
0
0
0
4
-15
1
45
-16
25
20
-13
0
0
0
0
0
0
0
0
0
2
-1
-1
6
-20
-13
-46
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
15
31
29
23
9
0
0
0
0
0
0
0
0
0
0
0
-4
1
8
27
27
-59
0
0
0
-14
0
0
0
0
0
0
0
-8
-4
57
-54
18
-46
9
-71
-51
-10
-2
0
0
0
0
0
0
0
-4
15
2
-42
-38
-78
-65
-26
-70
1
-5
0
0
0
0
0
8
12
2
3
-40
-19
7
32
57
-1
4
0
0
0
0
0
0
0
0
-19
-2
-15
19
11
6
70
48
0
0
0
0
0
0
0
0
0
-6
-16
3
8
27
-12
24
12
4
0
0
0
0
0
0
0
0
0
0
0
0
-29
-3
90
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
4
22
-2
0
0
0
-17
-4
-1
0
0
0
0
0
0
0
0
0
9
-14
14
5
66
20
9
0
0
0
0
0
0
0
3
0
0
-2
-8
-7
28
38
-22
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-16
71
-29
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
-15
23
-17
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
1
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
1
5
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
8
7
1
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
55
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-6
-12
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-7
-12
0
8
-3
-6
-8
0
0
0
0
0
0
0
0
0
0
-1
6
2
2
-33
-4
13
-8
0
0
0
0
0
0
0
0
0
0
-1
-2
6
17
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-33
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-92
-64
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
15
1
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-8
0
3
2
-4
2
-29
-10
1
0
0
0
0
0
0
0
0
0
2
1
-4
23
55
-26
-4
2
0
0
0
0
0
0
0
0
0
-4
0
1
-26
-74
-13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
25
12
-34
19
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-4
6
-49
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-45
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-1
-6
0
13
-6
29
-10
0
0
0
0
0
0
0
0
0
0
-14
-2
-2
-1
15
-49
10
0
0
0
0
0
0
0
0
0
0
-6
-6
0
27
3
19
-51
5
0
0
0
0
0
0
0
0
0
0
0
-6
9
13
-19
-10
0
0
0
0
0
0
0
0
0
0
0
-14
-5
38
3
-29
47
5
0
0
0
0
0
0
0
0
0
0
0
1
-16
-40
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-43
1
0
-6
0
0
0
5
1
0
0
0
0
0
0
5
-13
1
-24
55
3
-5
3
31
-1
0
0
0
0
0
0
0
0
0
19
-8
0
-17
8
9
0
6
0
0
0
0
0
0
0
0
7
1
13
-48
0
-18
-5
-29
-8
0
0
0
0
0
0
0
0
0
1
2
-9
-24
-3
-82
-27
-5
0
0
0
0
0
0
0
0
0
2
-1
2
-2
-3
14
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-29
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-41
0
0
0
0
0
0
0
0
0
0
1
1
17
-2
-8
0
0
0
0
0
0
0
0
0
0
0
12
8
61
-42
-39
-11
0
0
0
21
4
0
0
0
0
0
0
0
-56
-13
88
58
93
8
-42
-50
0
0
0
0
0
0
0
0
0
-16
29
-6
-50
5
-49
-12
-6
3
-7
0
0
0
0
0
0
0
-7
0
-33
101
3
0
-7
36
-4
0
0
0
0
0
0
0
0
1
5
56
89
-68
-8
9
33
0
0
0
0
0
0
0
0
0
0
0
-23
-3
14
-23
-77
23
-2
0
0
0
0
0
0
0
0
0
0
0
5
12
-11
41
32
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-41
0
0
0
0
0
0
0
0
0
2
-25
15
-38
-2
10
0
0
0
9
0
0
0
0
0
0
1
1
21
27
14
15
-38
0
0
0
-2
0
0
0
0
0
0
0
10
12
18
-83
12
14
-37
-41
-43
-1
0
0
0
0
0
0
0
-2
-11
-21
13
45
-146
-23
-94
0
5
-13
0
0
0
0
0
0
2
-16
52
-115
27
9
-13
2
10
-6
0
0
0
0
0
0
0
2
17
-27
-12
-13
-11
16
109
-21
-5
5
0
0
0
0
0
0
0
-3
-1
11
-69
-23
101
17
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
22
-50
-47
-98
-17
0
0
0
0
0
0
0
0
0
0
0
0
-23
-12
2
-12
-2
0
0
0
0
0
0
0
0
-85
7
25
0
-42
0
0
0
3
0
0
0
0
0
0
0
-32
-21
89
-47
65
-82
0
0
0
-27
-2
0
0
0
0
0
0
-4
10
-64
-51
59
68
-55
-59
-35
6
-5
-4
0
0
0
0
0
0
34
-1
-69
-51
-49
59
88
59
-19
-2
0
0
0
0
0
0
-9
6
12
11
-75
-120
13
10
47
-2
-5
0
0
0
0
0
0
0
-13
-12
-53
-82
3
50
46
41
0
0
0
0
0
0
0
0
-5
0
-1
-83
-57
53
-18
6
42
3
0
0
0
0
0
0
0
0
0
0
9
-29
3
-63
-23
32
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-6
21
-5
0
0
0
-14
13
0
0
0
0
0
0
0
2
-2
0
-2
-4
21
42
7
62
2
0
0
0
0
0
0
0
0
1
0
-8
0
1
58
15
-1
10
1
0
0
0
0
0
0
0
0
-2
-2
-2
3
-13
15
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-6
-8
14
22
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
-5
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-25
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-23
10
-38
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-5
-1
7
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
4
0
0
-6
-5
16
0
0
0
0
0
0
0
0
0
0
1
-3
-1
5
33
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-22
1
-4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-5
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
2
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-8
0
25
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-16
-8
-1
1
0
0
0
0
0
0
0
0
0
0
-5
-29
21
-5
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
48
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-34
-46
7
3
6
2
-5
0
0
0
0
0
0
0
0
0
0
0
-48
5
0
51
7
-89
1
0
0
0
0
0
0
0
0
0
0
0
38
25
-146
-34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-35
-22
-46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
5
-4
-14
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
-58
0
2
-10
-5
12
-2
0
0
0
0
0
0
0
0
-11
0
33
-1
24
24
-13
-3
0
0
0
0
0
0
0
0
0
-3
13
0
-17
22
-20
19
-45
0
0
0
0
0
0
0
0
0
0
2
-4
0
-15
-51
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
-78
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
-4
4
4
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
22
-13
7
-5
10
-21
20
2
0
0
0
0
0
0
0
0
0
-69
6
-4
13
38
10
0
-3
0
0
0
0
0
0
0
0
1
-50
-24
-8
-80
1
-11
-15
0
0
0
0
0
0
0
0
0
1
5
-33
11
0
-42
-85
-46
0
0
0
0
0
0
0
0
3
0
0
3
0
6
-3
-2
14
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-51
9
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
-1
-2
11
-18
-16
0
0
0
0
0
0
0
0
0
0
0
-4
19
-15
59
-3
36
0
0
0
2
0
0
0
0
0
0
0
3
-38
9
42
-78
21
-13
3
-25
0
0
0
0
0
0
0
0
5
0
9
14
29
-63
-24
16
13
-3
-1
0
0
0
0
0
0
0
0
-4
-30
14
75
-67
-44
2
0
0
0
0
0
0
0
0
0
0
3
18
53
-54
0
7
12
0
0
0
0
0
0
0
0
0
0
3
-1
-23
-2
12
65
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-2
-89
-99
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-35
2
0
0
0
0
0
0
0
0
-24
-23
-6
-49
19
-5
0
0
0
-1
0
0
0
0
0
0
0
-130
13
-8
43
-33
-42
0
0
0
-25
0
0
0
0
0
0
2
-22
-85
7
-22
16
-91
-19
1
-13
-5
1
0
0
0
0
0
0
-4
16
99
46
0
16
-149
29
5
-1
0
0
0
0
0
0
0
0
0
77
-1
1
-67
-56
0
12
-1
0
0
0
0
0
0
0
-5
28
-3
19
17
-63
41
0
-7
0
0
0
0
0
0
0
0
1
1
-8
-69
28
12
-12
97
59
8
0
0
0
0
0
0
0
0
0
0
-56
7
-18
31
49
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
6
-49
0
-15
0
0
0
0
0
0
0
6
1
27
-41
10
2
0
0
0
4
0
0
0
0
0
0
0
-14
-19
-14
-22
40
-22
0
0
0
12
-4
0
0
0
0
0
0
1
-1
-7
-99
-47
-92
51
-40
-97
4
1
0
0
0
0
0
0
3
19
-44
12
-23
32
-38
29
-60
1
0
0
0
0
0
0
0
2
0
58
20
-6
14
16
30
25
3
8
0
0
0
0
0
0
0
-5
-12
30
-103
48
36
18
0
4
1
0
0
0
0
0
0
0
3
-1
-34
-54
-4
-29
-64
19
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-40
92
17
30
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-9
4
0
0
0
0
0
0
0
0
0
-1
6
-5
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
13
8
-33
-19
9
18
0
0
0
0
0
0
0
0
0
0
-1
3
4
-68
-15
29
-14
4
0
0
0
0
0
0
0
0
0
-10
0
1
-4
35
50
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-23
-5
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-5
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
10
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
-4
2
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-25
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
10
-2
1
0
0
0
0
0
0
0
0
0
0
1
1
1
16
-21
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
8
5
-5
-5
1
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
9
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-57
-57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
9
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-10
0
-45
-2
4
0
0
0
0
0
0
0
0
0
0
-10
-42
17
-15
-95
36
33
0
0
0
0
0
0
0
0
0
0
0
-3
2
-16
18
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
28
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
47
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-3
1
-24
4
4
-8
6
0
0
0
0
0
0
0
0
0
1
7
8
75
-52
-39
-1
-27
5
0
0
0
0
0
0
0
0
-5
2
-1
9
-9
-68
1
-15
0
0
0
0
0
0
0
0
0
2
0
-20
-27
7
13
26
4
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
6
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
-49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
0
0
0
5
-5
3
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
21
-106
21
-58
0
0
0
0
0
0
0
0
0
0
0
6
-11
43
-82
59
-25
8
-13
-55
0
0
0
0
0
0
0
0
-8
3
-143
-24
103
-11
95
-80
-2
1
0
0
0
0
0
0
0
0
-21
34
-58
-92
110
92
-49
-24
5
0
0
0
0
0
0
0
1
1
8
24
54
63
-12
29
17
0
0
0
0
0
0
0
0
0
0
-4
-22
-68
-18
0
44
10
0
0
0
0
0
0
0
0
0
0
0
-1
19
-45
-15
-57
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
35
0
0
0
0
0
0
0
0
0
0
10
12
-38
5
13
0
0
0
0
0
0
0
0
0
0
0
4
18
-14
-44
11
5
0
0
0
0
0
0
0
0
0
0
0
1
-38
-58
-98
-22
-15
64
-92
47
0
0
0
0
0
0
0
0
18
-78
-15
-21
22
-12
-74
-61
-91
6
0
0
0
0
0
0
0
-2
-46
-41
-43
56
15
7
-78
74
0
0
0
0
0
0
0
0
0
6
28
49
13
-20
29
-33
11
0
0
0
0
0
0
0
0
0
0
7
47
29
-39
-3
0
17
2
0
0
0
0
0
0
0
0
0
0
2
-8
-67
-43
19
-17
5
1
0
0
0
0
0
0
0
0
0
0
2
38
5
9
0
0
0
0
0
0
0
0
0
0
94
-84
-35
17
13
0
0
0
0
0
0
0
0
0
0
0
-24
-36
-63
-72
-24
45
0
0
0
22
1
0
0
0
0
0
0
8
71
16
-5
77
-102
-77
-6
33
6
4
0
0
0
0
0
0
-8
21
24
1
-106
-23
-37
-19
-2
-3
0
0
0
0
0
0
0
5
-25
-21
-35
119
9
-25
32
-37
8
0
0
0
0
0
0
0
8
3
25
-102
-40
-56
-39
-10
-69
-14
1
0
0
0
0
0
0
0
0
-25
19
-13
-9
56
-20
0
-2
0
0
0
0
0
0
0
0
0
0
1
30
-20
-7
-13
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-4
8
0
1
0
0
0
35
-1
0
0
0
0
0
0
0
0
0
2
11
1
2
-4
-23
1
0
0
0
0
0
0
0
0
0
0
0
-28
40
27
-8
-4
5
0
0
0
0
0
0
0
0
0
0
-2
25
24
28
9
-15
-2
0
0
0
0
0
0
0
0
0
-3
2
3
3
-13
15
-17
1
0
0
0
0
0
0
0
0
0
0
0
4
-10
-8
24
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-4
-2
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
-50
-33
-1
-2
5
0
0
0
0
0
0
0
0
0
0
0
-6
-29
0
-33
-4
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-64
-4
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
16
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
92
8
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
27
-23
15
5
7
-4
0
4
0
0
0
0
0
0
0
0
0
6
-59
-4
-24
-6
5
-11
-5
0
0
0
0
0
0
0
0
0
8
-19
13
17
52
-35
-7
0
0
0
0
0
0
0
0
0
0
0
3
2
26
49
-26
28
-41
0
0
0
0
0
0
0
0
0
0
-4
-7
0
-6
-8
58
-34
0
0
0
0
0
0
0
0
0
0
1
0
-4
-15
0
38
-72
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
8
-1
0
0
0
0
0
0
0
0
-27
-1
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-3
-79
-51
-4
0
0
0
0
0
0
0
0
0
0
-1
-10
37
-26
21
-4
-18
-8
30
-15
0
0
0
0
0
0
0
0
8
36
30
-17
-32
14
3
81
16
0
0
0
0
0
0
0
0
0
-15
57
-33
-87
-16
0
-41
3
-1
0
0
0
0
0
0
0
-5
0
32
0
30
13
31
8
-52
-1
0
0
0
0
0
0
0
0
5
-8
-10
-86
-22
-27
-49
-14
3
0
0
0
0
0
0
0
0
0
12
-1
66
13
39
0
-13
2
0
0
0
0
0
0
0
0
-1
0
0
-4
21
-6
-18
0
1
0
0
0
0
0
0
0
0
3
-5
25
-7
-5
0
0
0
0
0
0
0
0
0
0
0
-13
76
32
-35
58
-70
0
0
0
0
0
0
0
0
0
0
0
6
-1
30
3
73
-29
-23
25
36
0
0
0
0
0
0
0
0
0
-2
81
-30
-46
-110
-50
-77
-117
0
0
0
0
0
0
0
0
0
7
-45
51
53
15
-47
-95
-118
-6
0
0
0
0
0
0
0
0
20
-13
-7
-80
11
-50
81
-145
0
0
0
0
0
0
0
0
0
-5
12
-11
25
-3
-69
45
-29
0
0
0
0
0
0
0
0
0
0
0
-51
-29
17
36
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
-2
25
-4
0
0
0
0
0
0
0
0
0
2
10
0
-2
3
25
5
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
10
41
-5
-20
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
34
-24
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
16
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
7
1
0
-6
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
48
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
4
0
11
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
13
10
-14
-1
7
95
0
0
0
0
0
0
0
0
0
-20
-34
4
16
15
39
-41
-5
0
0
0
0
0
0
0
0
0
0
20
-31
-88
59
20
28
-74
-2
0
0
0
0
0
0
0
0
0
-5
-15
-23
-46
45
10
-43
-1
0
0
0
0
0
0
0
0
0
6
0
14
73
25
-32
-6
1
0
0
0
0
0
0
0
0
0
0
1
-2
-47
-24
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-17
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-6
0
23
14
0
0
0
0
0
0
0
0
0
0
0
0
6
7
17
-43
8
3
0
0
0
0
0
0
0
0
0
0
-19
0
-15
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-4
4
-5
0
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
1
4
0
0
7
0
0
0
0
0
0
0
0
0
0
1
4
5
-5
0
0
0
-10
0
0
0
0
0
0
0
0
0
-1
-20
12
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-31
-8
0
8
1
-1
0
0
0
0
0
0
0
0
0
-3
13
7
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
10
51
60
-28
0
-68
0
0
0
0
0
0
0
0
0
-38
5
33
21
-28
113
74
-1
0
0
0
0
0
0
0
0
0
15
30
59
14
12
31
-2
-7
0
0
0
0
0
0
0
0
0
58
20
-11
-32
-31
7
13
-18
3
0
0
0
0
0
0
0
0
4
-14
1
44
28
9
1
-1
0
0
0
0
0
0
0
0
0
-6
-51
21
-14
-16
-6
0
0
0
0
0
0
0
0
0
0
0
62
15
-14
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
-34
5
4
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
-26
15
16
0
4
1
0
0
0
0
0
0
0
0
0
-22
-13
-12
28
12
-23
-23
0
0
0
0
0
0
0
0
0
0
44
11
-29
24
-97
18
-1
-10
0
0
0
0
0
0
0
0
0
0
-9
-24
25
15
0
-4
0
0
0
0
0
0
0
0
0
0
-13
3
42
5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-9
-29
-6
0
-23
0
0
0
0
0
0
0
0
0
0
0
-4
40
-62
-16
-8
-10
-1
0
0
0
0
0
0
0
0
0
0
8
13
-2
25
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-37
-3
0
0
0
0
0
0
0
0
0
0
0
5
17
-36
48
7
2
4
0
0
0
0
0
0
0
0
0
0
0
9
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
1
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
2
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
3
-12
0
0
0
0
0
0
0
0
0
5
-3
-2
-5
3
4
0
6
0
0
0
0
0
0
0
0
0
5
0
6
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-42
-6
17
0
7
-30
1
0
0
0
0
0
0
0
0
0
-1
-14
-17
0
0
1
16
-5
0
0
0
0
0
0
0
0
0
0
-1
13
12
4
8
0
-2
0
0
0
0
0
0
0
0
0
-4
1
47
24
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-40
-6
0
0
-2
-8
0
0
0
0
0
0
0
0
0
-14
-16
34
25
1
-7
-1
0
0
0
0
0
0
0
0
0
0
4
-6
15
9
1
0
-3
9
1
0
0
0
0
0
0
0
0
19
5
-28
41
7
0
-4
2
3
0
0
0
0
0
0
0
0
0
42
2
-7
-2
3
1
0
0
0
0
0
0
0
0
0
0
-5
12
1
13
6
0
0
2
0
0
0
0
0
0
0
0
0
0
5
8
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
93
-9
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-13
-41
73
-100
16
11
3
12
0
0
0
0
0
0
0
0
0
63
14
-4
17
-23
-19
-2
-6
45
0
0
0
0
0
0
0
0
111
13
32
-47
1
18
-12
-34
0
0
0
0
0
0
0
0
0
65
-22
14
-40
-26
-8
-13
-1
-14
0
0
0
0
0
0
0
0
-14
-56
-14
14
13
14
-2
0
0
0
0
0
0
0
0
0
0
5
-12
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
3
38
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
62
-12
59
64
0
0
0
0
0
0
0
0
0
0
0
24
-4
112
-134
73
20
-10
-43
-6
0
0
0
0
0
0
0
0
6
20
-46
-55
3
-3
-52
-29
-2
0
0
0
0
0
0
0
0
44
-16
11
-6
-7
46
-9
-52
-5
0
0
0
0
0
0
0
0
34
5
61
35
-29
0
13
-1
-8
0
0
0
0
0
0
0
0
84
19
-85
-13
-6
8
7
-7
0
0
0
0
0
0
0
0
0
47
30
-7
-9
-8
25
14
0
0
0
0
0
0
0
0
0
0
24
-4
13
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-47
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-28
78
33
0
-35
0
0
0
0
0
0
0
0
0
0
-1
-20
-115
13
26
74
-38
-1
0
0
0
0
0
0
0
0
0
-38
-63
21
-44
-54
-77
-42
-1
0
0
0
0
0
0
0
0
0
-70
6
-12
-59
62
-14
-25
-5
3
0
0
0
0
0
0
0
0
4
-48
7
-44
-7
25
-6
-4
-19
0
0
0
0
0
0
0
0
6
-5
5
0
0
-8
0
4
0
0
0
0
0
0
0
0
0
-25
-4
8
-2
-4
0
6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-18
3
-11
0
12
-1
0
0
0
0
0
0
0
0
0
0
25
-30
8
48
107
27
11
0
0
0
0
0
0
0
0
0
0
4
-56
-19
-18
-43
-23
-17
-3
0
0
0
0
0
0
0
0
0
-10
3
2
-30
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-2
0
7
8
0
0
0
0
0
0
0
0
0
0
0
-7
62
27
-25
-3
-14
3
-1
0
0
0
0
0
0
0
0
0
8
5
0
-5
-44
-22
-47
0
0
0
0
0
0
0
0
0
0
0
-4
1
22
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-4
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
5
33
56
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
4
0
0
0
0
0
0
0
0
0
0
3
0
-8
48
1
-5
-6
1
0
0
0
0
0
0
0
0
0
-6
0
-3
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
-9
1
3
0
0
0
0
0
0
0
0
0
1
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
14
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-22
14
2
1
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-8
5
8
-4
0
0
0
0
0
0
0
0
0
3
-1
0
-3
-15
-44
13
0
1
0
0
0
0
0
0
0
0
0
17
0
42
13
0
-2
0
0
0
0
0
0
0
0
0
0
8
4
0
-18
-4
8
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-27
1
16
5
38
-3
0
0
0
0
0
0
0
0
0
0
-14
-11
-4
47
42
-46
3
0
0
0
0
0
0
0
0
0
1
-15
-16
-3
-12
-6
-3
0
0
0
0
0
0
0
0
0
0
-6
-12
4
1
9
6
1
-7
0
0
0
0
0
0
0
0
0
10
-1
11
-3
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
-14
-8
-2
2
-2
2
0
0
0
0
0
0
0
0
0
0
8
34
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
5
18
-3
-8
0
7
0
0
0
0
0
0
0
0
0
9
43
-51
-23
-13
-5
19
-5
0
0
0
0
0
0
0
0
0
3
50
0
24
7
1
4
5
0
0
0
0
0
0
0
0
0
-3
22
21
-1
-2
-8
17
0
-2
0
0
0
0
0
0
0
0
8
38
-1
74
-6
-14
2
1
0
0
0
0
0
0
0
0
0
17
0
7
30
0
3
0
2
4
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
45
-3
12
-2
-27
8
0
0
0
0
0
0
0
0
0
0
-13
42
53
12
3
28
-15
-44
-12
0
0
0
0
0
0
0
0
13
42
-38
48
-2
0
-24
-6
-1
0
0
0
0
0
0
0
0
-1
-3
12
67
0
0
-2
-9
4
0
0
0
0
0
0
0
0
9
49
48
63
-6
3
8
-2
0
0
0
0
0
0
0
0
0
-17
-17
14
16
-26
5
0
1
0
0
0
0
0
0
0
0
0
-2
5
71
34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-42
-10
-34
-44
55
44
0
0
0
0
0
0
0
0
0
84
96
19
-7
20
-12
43
1
-4
0
0
0
0
0
0
0
0
0
132
20
-49
-6
13
2
-3
0
0
0
0
0
0
0
0
0
19
-45
56
9
54
10
12
0
-10
0
0
0
0
0
0
0
0
15
-2
28
37
-3
42
23
0
0
0
0
0
0
0
0
0
0
-41
-39
-16
-4
-5
0
2
-8
1
0
0
0
0
0
0
0
0
64
75
1
4
5
2
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-7
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
-32
-47
-41
-92
-37
-15
-38
-57
0
0
0
0
0
0
0
0
0
4
-95
-15
-86
-30
-60
-26
-57
10
3
0
0
0
0
0
0
0
-23
9
-96
-35
53
37
-7
-6
-6
13
0
0
0
0
0
0
0
49
32
16
-52
30
13
-7
-5
-10
-1
0
0
0
0
0
0
0
-143
-64
-120
-55
18
6
42
18
0
0
0
0
0
0
0
0
0
104
63
89
36
7
-34
2
5
-4
0
0
0
0
0
0
0
0
69
43
1
-13
-13
0
-4
-1
0
0
0
0
0
0
0
0
0
7
22
7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
50
-77
21
-36
4
-36
-29
0
-7
0
0
0
0
0
0
0
-28
1
19
57
52
-54
121
16
-30
2
0
0
0
0
0
0
0
-120
-33
59
-38
19
8
14
47
-8
0
0
0
0
0
0
0
0
15
-81
-35
-61
13
-19
2
-9
-2
0
0
0
0
0
0
0
0
-11
1
6
57
-28
0
-18
-25
-8
3
0
0
0
0
0
0
0
69
-54
4
55
-35
5
6
-20
-6
0
0
0
0
0
0
0
0
47
90
72
-8
1
-10
-3
17
3
0
0
0
0
0
0
0
0
17
1
10
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
55
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
5
-24
67
87
52
0
25
0
0
0
0
0
0
0
0
-6
82
-17
-42
-8
113
28
-27
-5
2
2
0
0
0
0
0
0
-101
-17
47
67
-4
-29
-109
-51
-3
0
0
0
0
0
0
0
0
-13
38
-106
77
-29
-54
17
0
0
0
0
0
0
0
0
0
0
17
46
-117
76
-62
161
44
18
-1
0
0
0
0
0
0
0
0
119
-12
1
-5
19
-17
6
28
0
0
0
0
0
0
0
0
0
-46
92
-67
-3
-17
-1
13
15
0
0
0
0
0
0
0
0
0
66
51
27
0
-3
1
-16
0
0
0
0
0
0
0
0
0
0
13
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
10
29
27
19
55
0
23
-1
0
0
0
0
0
0
0
0
-77
72
27
10
45
58
19
2
-1
0
0
0
0
0
0
0
0
38
-10
-17
-61
-26
81
-30
-12
0
0
0
0
0
0
0
0
0
-46
77
5
-1
-15
54
32
6
0
0
0
0
0
0
0
0
0
-18
-71
13
-38
-49
-2
7
-10
0
0
0
0
0
0
0
0
0
-3
11
4
51
-32
-9
1
5
-4
0
0
0
0
0
0
0
0
33
-43
-5
-6
-4
-5
1
1
0
0
0
0
0
0
0
0
0
25
9
10
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
-81
38
55
0
-2
7
-1
0
0
0
0
0
0
0
0
-42
-44
61
32
-66
-79
-5
2
5
0
0
0
0
0
0
0
0
-1
53
-62
13
-116
60
-17
0
0
0
0
0
0
0
0
0
0
-40
24
-32
-32
-9
17
-16
0
0
0
0
0
0
0
0
0
0
-7
-6
1
-1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-30
-1
-4
0
0
0
2
0
1
0
0
0
0
0
0
0
0
25
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-59
106
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-19
4
-2
-20
21
14
0
0
0
0
0
0
0
0
0
0
-1
13
6
12
-15
-107
0
0
0
0
0
0
0
0
0
0
0
1
1
1
5
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
78
0
-32
2
0
0
0
0
0
0
0
0
0
0
0
-2
-43
25
17
-10
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
49
-27
-5
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
1
-8
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-6
5
3
1
0
6
-3
0
0
0
0
0
0
0
0
0
8
0
0
-17
2
-40
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
1
5
0
0
0
0
0
0
0
0
0
0
-1
0
-31
7
0
1
0
0
0
0
0
0
0
0
0
0
-2
-2
3
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
-5
-8
-1
0
0
0
0
0
0
0
0
0
0
75
-11
-66
27
56
53
-29
0
0
0
0
0
0
0
0
0
-10
0
-3
0
8
-4
-72
6
0
0
0
0
0
0
0
0
0
8
-10
0
2
0
-26
0
4
-3
0
0
0
0
0
0
0
0
5
7
-3
0
-5
-6
-34
0
-4
0
0
0
0
0
0
0
0
0
-2
8
82
-5
-3
9
3
0
0
0
0
0
0
0
0
0
0
-3
-2
45
-3
0
-4
7
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-23
0
-9
0
1
0
0
0
0
0
0
0
0
0
3
11
-48
50
-27
-2
44
0
-2
0
0
0
0
0
0
0
0
-19
48
0
2
-3
-8
17
36
0
0
0
0
0
0
0
0
0
-12
-17
8
0
0
-6
1
0
2
0
0
0
0
0
0
0
0
-6
-74
-4
0
5
46
9
-8
0
0
0
0
0
0
0
0
0
-1
2
26
0
47
0
1
0
-1
0
0
0
0
0
0
0
0
0
-1
-19
-13
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
7
3
0
4
14
0
0
0
0
0
0
0
0
0
0
0
-13
6
-33
9
-31
-13
15
-3
0
0
0
0
0
0
0
0
1
-96
-66
2
0
2
-40
55
1
0
0
0
0
0
0
0
0
25
-34
-14
5
0
-2
-8
1
-2
0
0
0
0
0
0
0
0
-18
-7
-77
-8
0
2
1
-7
0
0
0
0
0
0
0
0
0
-16
-13
-7
-12
5
-16
0
-1
-1
0
0
0
0
0
0
0
0
-4
25
60
-25
-1
-12
0
0
0
0
0
0
0
0
0
0
0
3
40
0
-14
0
0
0
0
0
0
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
-40
30
-2
-44
-36
-38
18
0
-1
0
0
0
0
0
0
0
-19
33
21
-31
53
92
107
-29
-3
0
0
0
0
0
0
0
0
14
-63
18
-39
4
-25
-5
25
12
0
0
0
0
0
0
0
0
-47
89
81
25
8
0
-1
-12
2
0
0
0
0
0
0
0
0
-20
-51
-47
-54
0
0
4
13
0
0
0
0
0
0
0
0
0
-55
-62
13
3
65
-7
8
0
-1
1
0
0
0
0
0
0
0
1
-58
8
-28
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
4
12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-38
-43
1
18
37
54
27
0
0
0
0
0
0
0
0
0
62
-6
2
-1
8
25
56
27
0
0
0
0
0
0
0
0
0
49
81
10
67
-128
-42
20
5
-12
0
0
0
0
0
0
0
0
10
-90
-96
-44
10
-2
-1
0
-3
0
0
0
0
0
0
0
0
8
13
99
-31
2
0
-2
0
1
0
0
0
0
0
0
0
0
52
-21
27
36
8
5
0
5
0
0
0
0
0
0
0
0
0
-13
10
30
2
20
7
0
1
-13
0
0
0
0
0
0
0
0
13
-25
29
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-42
-116
-6
30
14
-31
32
0
-3
0
0
0
0
0
0
0
85
2
-18
-73
-37
-102
-76
-7
26
0
3
0
0
0
0
0
0
-88
-100
90
-3
-16
101
59
13
0
12
0
0
0
0
0
0
0
-2
9
6
26
-52
-19
-2
0
-1
2
0
0
0
0
0
0
0
-1
11
-31
-57
28
29
-5
0
0
12
0
0
0
0
0
0
0
-20
27
-72
66
-1
-20
23
14
-9
0
0
0
0
0
0
0
0
16
9
61
1
-5
17
-8
-3
1
0
0
0
0
0
0
0
0
1
37
40
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
70
28
6
-40
8
-56
71
0
4
0
0
0
0
0
0
0
24
-1
33
-23
54
20
-27
16
31
1
-4
0
0
0
0
0
0
-138
-60
49
-37
-78
-29
37
-145
-26
-1
0
0
0
0
0
0
0
-90
-2
83
3
-61
61
-4
-34
2
0
0
0
0
0
0
0
0
97
-73
-45
-11
18
62
-16
0
-1
0
0
0
0
0
0
0
0
7
9
-88
5
45
-81
-1
-25
8
3
0
0
0
0
0
0
0
-53
-40
32
-27
-12
5
7
-9
5
0
0
0
0
0
0
0
0
36
119
63
48
7
3
0
0
7
0
0
0
0
0
0
0
0
-9
-9
67
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-51
0
-19
80
48
-35
0
-12
-1
0
0
0
0
0
0
0
14
4
-36
36
37
-12
52
-95
71
-1
0
0
0
0
0
0
0
-5
14
6
15
-40
7
-6
0
8
0
0
0
0
0
0
0
0
33
-17
-6
28
28
33
24
-34
5
0
0
0
0
0
0
0
0
95
-99
75
-9
-4
-13
35
-1
0
0
0
0
0
0
0
0
0
35
-5
8
23
-12
-26
-1
56
5
0
0
0
0
0
0
0
0
-57
65
24
62
-41
7
1
36
-12
0
0
0
0
0
0
0
0
-44
-70
-69
-17
0
-2
4
0
0
0
0
0
0
0
0
0
0
3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-17
-2
-30
13
17
0
24
-1
0
0
0
0
0
0
0
0
26
0
-27
-34
118
-64
18
-38
-2
0
0
0
0
0
0
0
0
-2
-23
5
-17
17
21
11
3
0
0
0
0
0
0
0
0
0
67
-11
30
-6
-7
24
37
1
0
0
0
0
0
0
0
0
0
42
22
13
44
-18
-8
-1
0
0
0
0
0
0
0
0
0
0
-8
-3
49
6
45
29
0
2
0
0
0
0
0
0
0
0
0
-11
40
-20
3
0
0
2
0
0
0
0
0
0
0
0
0
0
10
-17
-12
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
3
-22
-4
-62
0
2
2
-4
0
0
0
0
0
0
0
0
1
-36
28
-11
8
-35
2
3
0
0
0
0
0
0
0
0
0
25
49
54
-80
27
-100
-22
0
0
0
0
0
0
0
0
0
0
-18
-30
-27
1
13
-10
-2
0
0
0
0
0
0
0
0
0
0
5
1
1
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
52
10
2
-17
2
0
0
0
0
0
0
0
0
0
0
0
-8
0
-10
12
2
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-20
-14
-16
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-21
-13
17
-4
-6
6
-2
5
0
0
0
0
0
0
0
0
0
0
19
-25
-3
-29
11
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
-18
-8
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
100
-30
9
0
-2
-1
0
0
0
0
0
0
0
0
0
3
8
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
-23
0
0
0
8
0
0
0
0
0
0
0
0
0
0
11
1
-69
25
0
-22
0
-8
0
0
0
0
0
0
0
0
0
-4
-19
52
-4
8
31
-17
0
0
0
0
0
0
0
0
0
-5
0
0
0
-19
7
8
-1
-20
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
-13
6
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-8
0
1
-5
0
0
0
0
0
0
0
0
5
13
-4
-3
0
0
2
9
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-17
5
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
-54
15
-54
0
10
18
13
0
0
0
0
0
0
0
0
0
17
1
-19
-28
22
4
-8
-29
10
0
0
0
0
0
0
0
0
-42
40
0
-6
0
-9
23
3
2
0
0
0
0
0
0
0
0
-10
-8
0
0
0
-1
-6
0
10
0
0
0
0
0
0
0
0
-24
-30
0
0
1
-5
8
8
0
0
0
0
0
0
0
0
0
55
1
-43
4
15
0
-20
-1
0
0
0
0
0
0
0
0
0
-4
-96
35
8
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-3
8
12
3
4
-7
0
0
0
0
0
0
0
0
0
0
7
-52
23
28
13
20
-17
1
0
0
0
0
0
0
0
0
4
51
-41
84
-63
32
-4
52
1
0
0
0
0
0
0
0
0
-2
-43
-13
2
6
-3
1
-2
27
0
0
0
0
0
0
0
0
0
-59
-38
1
0
0
3
0
8
0
0
0
0
0
0
0
0
-9
7
-18
0
0
0
47
-2
-2
0
0
0
0
0
0
0
0
20
-3
-5
51
-18
-4
0
-1
0
0
0
0
0
0
0
0
0
-16
-7
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
37
17
-20
28
80
32
0
0
0
0
0
0
0
0
0
0
-44
-111
23
-101
13
24
-21
7
0
0
0
0
0
0
0
0
5
17
-16
-13
26
136
41
-26
53
0
0
0
0
0
0
0
0
18
-44
70
-90
5
-4
-4
12
2
0
0
0
0
0
0
0
0
-13
0
75
7
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
-9
128
12
2
0
0
17
0
-9
0
0
0
0
0
0
0
40
-74
75
-9
-9
16
2
0
0
0
0
0
0
0
0
0
0
-7
-72
-2
38
2
0
0
1
0
0
0
0
0
0
0
0
0
-29
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
35
5
-10
-7
38
15
-15
0
0
0
0
0
0
0
0
0
-4
12
72
47
34
75
-37
-11
30
0
0
0
0
0
0
0
0
-12
-35
70
7
55
95
-40
-4
-1
0
0
0
0
0
0
0
0
-6
-50
-7
-176
8
-4
0
0
1
-2
0
0
0
0
0
0
0
-29
-10
-15
56
31
1
0
0
-5
0
0
0
0
0
0
0
0
-31
-8
119
68
-64
1
0
0
-6
-2
0
0
0
0
0
0
0
26
-36
44
-39
-1
3
0
-24
0
0
0
0
0
0
0
0
0
-19
-165
41
0
-4
-4
-1
0
-1
0
0
0
0
0
0
0
0
-27
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-33
12
-11
16
3
59
53
0
-2
0
0
0
0
0
0
0
26
17
20
15
28
127
-15
87
17
0
0
0
0
0
0
0
0
-51
-55
41
-15
30
163
-10
-32
45
-8
0
0
0
0
0
0
0
-74
27
59
-9
69
-48
4
1
0
-4
0
0
0
0
0
0
0
-14
-8
3
28
-12
68
0
0
0
0
0
0
0
0
0
0
0
38
-94
-21
-15
-132
-21
4
0
0
-2
0
0
0
0
0
0
0
-49
3
-121
-30
-51
72
-4
23
-7
0
0
0
0
0
0
0
0
25
-29
56
37
25
-25
0
17
0
0
0
0
0
0
0
0
0
97
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
-31
-12
59
48
-47
59
0
-1
0
0
0
0
0
0
0
4
6
-28
-17
-30
60
79
58
-18
21
-3
0
0
0
0
0
0
13
-27
29
-6
6
40
34
-30
-86
21
0
0
0
0
0
0
0
-55
-58
-21
-41
5
68
96
-41
-2
0
0
0
0
0
0
0
0
-47
-3
-96
-102
44
-50
12
-1
0
0
0
0
0
0
0
0
0
62
-20
-61
-32
-88
131
-8
-1
0
0
0
0
0
0
0
0
0
29
0
-35
1
-9
65
27
46
0
0
0
0
0
0
0
0
0
5
-26
-114
-44
4
-2
5
0
-4
5
0
0
0
0
0
0
0
7
-14
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
13
47
15
36
-36
0
4
-9
0
0
0
0
0
0
0
-81
13
17
-28
47
86
124
45
-1
2
0
0
0
0
0
0
0
-7
-48
52
-34
15
9
-1
-98
-44
1
0
0
0
0
0
0
0
75
-43
7
61
12
-28
-17
-18
-1
0
0
0
0
0
0
0
0
-15
43
-136
60
33
-136
9
2
0
0
0
0
0
0
0
0
0
24
0
30
85
85
-37
-2
0
0
0
0
0
0
0
0
0
0
-16
-124
-7
8
-103
91
-24
46
2
0
0
0
0
0
0
0
0
-22
-42
16
-55
-12
1
1
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-32
-11
-19
11
118
0
-4
-8
-8
0
0
0
0
0
0
0
45
-34
35
-15
15
-50
-27
4
1
0
0
0
0
0
0
0
0
31
85
-41
62
6
39
-3
9
-3
1
0
0
0
0
0
0
0
-46
48
31
16
9
5
-1
0
0
0
0
0
0
0
0
0
0
-5
8
-30
24
-5
49
-7
0
0
0
0
0
0
0
0
0
0
63
-4
-102
-45
4
4
0
0
0
0
0
0
0
0
0
0
0
-47
-45
-3
-8
-2
-4
0
17
0
0
0
0
0
0
0
0
0
46
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-15
4
16
0
-2
5
0
0
0
0
0
0
0
0
0
1
5
-57
5
-12
3
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
5
-5
10
-16
1
0
0
0
0
0
0
0
0
0
0
1
2
7
-1
7
-3
0
0
0
0
0
0
0
0
0
0
0
1
4
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
-3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-4
1
-1
3
0
0
0
0
0
0
0
0
0
0
13
-5
0
-5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
-58
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
1
0
0
8
0
0
0
0
0
0
0
0
0
3
2
0
6
0
-5
2
-18
0
0
0
0
0
0
0
0
0
-1
-3
3
0
-96
36
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-36
-9
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
0
0
0
0
0
0
5
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
13
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
-1
-7
4
0
6
19
1
0
0
0
0
0
0
0
0
0
36
-3
1
-1
-46
9
-2
5
0
0
0
0
0
0
0
0
0
2
1
0
-17
21
-32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-6
-3
-1
0
0
0
0
0
0
0
0
0
-1
-17
-3
18
0
1
-9
-8
0
0
0
0
0
0
0
0
0
12
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
18
4
0
7
-7
0
0
0
0
0
0
0
0
0
0
5
3
45
-70
45
17
6
0
4
0
0
0
0
0
0
0
0
-1
-10
-29
11
46
-2
-19
64
0
0
0
0
0
0
0
0
0
7
0
21
5
-26
0
15
1
1
0
0
0
0
0
0
0
0
0
19
0
-5
0
69
-13
6
2
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
21
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-16
-20
4
-48
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-30
-89
25
4
0
0
0
0
0
0
0
0
0
-45
20
94
-9
-24
-57
-30
5
0
0
0
0
0
0
0
0
0
3
-88
-27
35
1
75
9
-16
0
0
0
0
0
0
0
0
0
-3
-28
82
-5
0
2
-50
-1
-4
0
0
0
0
0
0
0
0
3
-8
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-63
11
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
65
-37
0
-13
0
1
0
3
0
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-4
-8
1
11
-39
-53
0
0
0
0
0
0
0
0
0
1
-51
-49
-47
-46
18
121
17
-8
0
0
0
0
0
0
0
0
5
136
-8
51
-42
3
15
-24
3
0
0
0
0
0
0
0
0
2
-63
-67
-6
101
78
-44
-8
-6
0
0
0
0
0
0
0
0
4
139
8
-103
-16
0
0
67
3
0
0
0
0
0
0
0
0
40
-30
32
51
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
74
30
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
-1
-14
-7
2
0
9
0
0
0
0
0
0
0
0
0
0
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-1
3
61
-1
40
6
-58
0
0
0
0
0
0
0
0
0
40
-53
59
27
4
-41
14
65
44
0
0
0
0
0
0
0
0
6
62
2
-52
86
-16
86
-20
12
0
0
0
0
0
0
0
0
52
-54
-11
-8
47
16
46
74
0
0
0
0
0
0
0
0
0
33
58
19
10
38
1
0
0
2
0
0
0
0
0
0
0
0
20
22
21
73
-94
0
0
0
4
0
0
0
0
0
0
0
0
-21
5
68
74
-23
0
0
0
4
-2
0
0
0
0
0
0
0
31
-24
-43
11
-9
-6
-2
-8
0
0
0
0
0
0
0
0
0
-1
5
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-24
62
18
59
79
7
3
0
0
0
0
0
0
0
0
0
-13
-121
-57
-12
-40
7
51
58
-49
1
0
0
0
0
0
0
0
13
23
-35
15
-56
-46
46
129
-46
13
0
0
0
0
0
0
0
-44
148
46
-23
38
-63
44
42
-84
0
0
0
0
0
0
0
0
6
-45
29
32
46
1
8
-7
-1
-2
0
0
0
0
0
0
0
77
-10
-101
-47
34
47
0
0
0
0
0
0
0
0
0
0
0
-67
30
-63
-12
7
10
-5
0
0
0
0
0
0
0
0
0
0
-35
-24
-3
-17
2
6
-2
0
0
0
0
0
0
0
0
0
0
20
-43
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-130
-111
-23
42
91
34
38
0
-3
0
0
0
0
0
0
0
27
-82
69
79
-28
68
50
18
-10
28
0
0
0
0
0
0
0
-8
-14
-30
62
35
63
2
-21
-23
-19
5
0
0
0
0
0
0
43
-29
43
46
10
-74
-37
99
-27
-13
0
0
0
0
0
0
0
-24
-2
37
-1
122
-13
-47
4
-1
0
0
0
0
0
0
0
0
-49
-16
-37
24
51
-14
-112
0
0
0
0
0
0
0
0
0
0
92
-31
-37
-21
-62
11
5
0
0
0
0
0
0
0
0
0
0
32
-59
-35
-35
3
-50
-1
-8
3
0
0
0
0
0
0
0
0
-20
-7
-77
16
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
-2
-29
-35
-71
70
0
-8
-2
0
0
0
0
0
0
0
42
-2
-5
45
71
97
43
40
-9
1
0
0
0
0
0
0
0
19
68
-21
-7
-24
-37
34
-10
24
-2
0
0
0
0
0
0
0
-33
21
15
-20
45
-81
47
-31
-4
0
0
0
0
0
0
0
0
-37
-97
-19
-21
3
-36
-57
0
0
0
0
0
0
0
0
0
0
-59
17
-84
-37
-63
-91
4
2
0
0
0
0
0
0
0
0
0
-58
-81
-76
13
-10
100
47
1
0
0
0
0
0
0
0
0
0
-10
-30
-36
23
0
-9
4
-4
0
0
0
0
0
0
0
0
0
21
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
26
23
-1
3
34
0
9
0
0
0
0
0
0
0
0
0
3
-4
25
-12
39
5
-25
3
-1
0
0
0
0
0
0
0
0
44
78
-22
17
43
134
-7
-37
0
0
0
0
0
0
0
0
0
-1
18
18
9
13
13
-6
5
-1
0
0
0
0
0
0
0
0
49
93
-25
-56
-28
33
4
0
0
0
0
0
0
0
0
0
0
14
0
13
14
5
-1
-6
0
0
0
0
0
0
0
0
0
0
-55
-18
-5
-13
5
1
0
0
0
0
0
0
0
0
0
0
0
51
0
-2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
4
-57
0
0
0
0
0
0
0
0
0
0
0
0
-41
-13
-6
27
1
-13
0
6
0
0
0
0
0
0
0
0
0
9
-8
-1
-18
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-8
-2
2
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-5
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
-40
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
-5
-2
0
-5
0
0
0
0
0
0
0
0
0
0
-42
1
-45
-17
6
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
15
-1
-2
0
1
0
0
0
0
0
0
0
0
0
2
1
11
0
-25
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-41
23
7
7
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
-8
3
0
0
0
0
0
0
0
0
0
0
-1
-7
2
-10
-13
0
-5
-2
-1
0
0
0
0
0
0
0
0
-6
1
8
42
-6
2
7
4
-5
0
0
0
0
0
0
0
0
0
83
0
0
0
-7
0
-4
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-10
-5
5
8
0
0
0
0
0
0
0
0
0
0
0
59
45
-6
6
-6
1
8
5
0
0
0
0
0
0
0
0
0
-1
16
-5
-15
21
-10
-8
0
0
0
0
0
0
0
0
0
-2
8
6
-18
-16
11
-14
2
0
0
0
0
0
0
0
0
0
0
-14
18
-12
69
30
-13
0
-8
0
0
0
0
0
0
0
0
0
-40
-3
6
0
0
-1
1
-3
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
76
-9
6
8
-7
-9
10
0
0
0
0
0
0
0
0
0
-3
-37
34
-54
59
-29
-14
-1
1
0
0
0
0
0
0
0
0
2
-3
33
5
-52
-7
42
-19
-10
0
0
0
0
0
0
0
0
0
-4
-1
48
93
-7
-16
-29
3
1
0
0
0
0
0
0
0
0
-5
-4
7
95
13
-39
1
5
0
0
0
0
0
0
0
0
1
-89
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
50
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-66
12
59
0
0
0
-4
0
0
0
0
0
0
0
0
0
-10
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-13
20
0
-13
-13
-30
0
0
0
0
0
0
0
0
0
-1
71
35
-54
-48
23
29
-29
-2
0
0
0
0
0
0
0
0
-18
-84
-53
-114
-1
-13
-21
-71
-15
0
0
0
0
0
0
0
0
-8
-23
22
35
56
90
-51
-59
-41
-5
0
0
0
0
0
0
0
9
151
64
-30
50
36
11
-14
1
0
0
0
0
0
0
0
0
6
-3
50
-3
28
0
0
4
-4
0
0
0
0
0
0
0
0
-28
6
-57
-142
-5
0
0
0
0
0
0
0
0
0
0
0
0
30
3
-35
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-66
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
11
54
-58
23
107
35
40
0
5
0
0
0
0
0
0
0
38
-8
11
-22
-25
51
-47
-39
6
0
0
0
0
0
0
0
0
-41
-4
-3
3
-61
-51
23
91
7
-2
0
0
0
0
0
0
0
58
91
29
-6
81
121
36
-31
-27
0
0
0
0
0
0
0
0
-2
-29
60
-24
81
-4
71
67
-1
0
0
0
0
0
0
0
0
31
-35
38
53
-99
-2
1
0
0
-1
0
0
0
0
0
0
0
-30
-33
-65
-44
-56
-14
0
0
0
0
0
0
0
0
0
0
0
23
-25
-3
21
25
17
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-28
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
111
-3
11
-80
-67
52
-18
38
0
7
0
0
0
0
0
0
0
-47
151
56
-11
-26
45
-47
6
29
0
0
0
0
0
0
0
0
39
-52
32
5
43
69
155
7
50
-29
0
0
0
0
0
0
0
-23
8
23
71
45
40
17
-27
28
-5
0
0
0
0
0
0
0
32
-35
91
8
0
-1
44
213
18
52
0
0
0
0
0
0
0
-43
51
47
8
15
11
-44
0
-1
0
0
0
0
0
0
0
0
40
-30
-7
-73
53
76
-2
0
0
0
0
0
0
0
0
0
0
-120
-77
-15
-31
30
46
3
0
0
0
0
0
0
0
0
0
0
-107
-13
74
-17
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
28
93
29
36
-52
-35
-3
0
-6
6
0
0
0
0
0
0
0
-11
-53
-18
-19
21
48
81
23
-76
2
0
0
0
0
0
0
0
38
-39
102
20
-106
14
65
108
15
4
0
0
0
0
0
0
0
-55
27
10
70
3
-39
90
31
-25
0
0
0
0
0
0
0
0
52
-19
-26
91
-70
60
-8
36
4
0
0
0
0
0
0
0
0
10
-126
-31
-16
-46
43
12
2
0
0
0
0
0
0
0
0
0
-15
-38
-18
50
18
49
-23
0
0
0
0
0
0
0
0
0
0
-45
-50
4
34
-5
-14
8
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
9
30
13
4
9
0
-8
0
0
0
0
0
0
0
0
0
-69
-55
15
73
8
35
7
0
0
0
0
0
0
0
0
0
0
89
49
-29
-10
-31
27
13
-35
0
0
0
0
0
0
0
0
0
20
18
28
-14
21
-40
8
53
1
0
0
0
0
0
0
0
0
1
-23
-51
24
50
-12
1
5
0
0
0
0
0
0
0
0
0
63
16
21
-39
-10
1
-5
0
0
0
0
0
0
0
0
0
0
-4
-42
8
7
-1
10
-1
0
0
0
0
0
0
0
0
0
0
65
31
-41
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
18
0
23
-21
-2
9
-19
0
0
0
0
0
0
0
0
0
0
-57
14
-4
5
77
1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
59
-3
5
-3
1
0
0
0
0
0
0
0
0
0
0
10
1
0
-1
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-1
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
6
-5
-6
10
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-44
-2
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
41
31
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-31
-1
-1
7
0
-1
0
0
0
0
0
0
0
0
0
-4
0
5
-2
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
48
2
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-4
3
0
4
0
0
0
0
0
0
0
0
0
0
1
14
13
-4
23
17
5
-13
0
0
0
0
0
0
0
0
0
0
-1
22
43
58
17
-24
-8
12
0
0
0
0
0
0
0
0
-1
-9
-21
-22
29
84
-17
6
8
0
0
0
0
0
0
0
0
4
0
-11
3
18
18
5
-2
1
0
0
0
0
0
0
0
0
0
-51
-3
-7
40
48
6
0
0
0
0
0
0
0
0
0
0
8
-6
-18
-29
32
0
0
0
5
0
0
0
0
0
0
0
0
-3
27
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-9
-1
25
-6
-11
3
0
0
0
0
0
0
0
0
0
6
-1
30
27
26
13
-6
-56
0
0
0
0
0
0
0
0
0
-6
-9
-1
-19
-5
3
-112
20
-27
-9
0
0
0
0
0
0
0
13
125
-39
-21
-18
-27
73
25
1
1
0
0
0
0
0
0
0
51
-53
38
-32
5
60
57
-13
-27
0
0
0
0
0
0
0
0
10
10
-117
-88
-54
11
-21
7
6
0
0
0
0
0
0
0
0
0
-122
16
-26
6
13
0
0
0
0
0
0
0
0
0
0
0
13
-67
-21
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
85
-65
66
2
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-42
-35
8
-23
43
-17
-8
0
0
0
0
0
0
0
0
0
-28
-61
66
-18
18
46
-4
-79
-5
5
0
0
0
0
0
0
0
-45
-68
-18
77
106
79
-7
-5
-18
22
0
0
0
0
0
0
0
-8
-68
14
-8
55
59
6
21
25
-8
0
0
0
0
0
0
0
16
61
-17
26
23
65
-53
-45
11
0
0
0
0
0
0
0
0
-86
-32
-53
29
25
39
60
22
1
1
0
0
0
0
0
0
0
-14
-42
-61
66
25
23
-8
0
0
0
0
0
0
0
0
0
0
-70
-49
-23
60
58
-10
-3
0
0
0
0
0
0
0
0
0
0
85
-57
-42
50
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
120
-81
0
93
61
-24
0
0
0
0
0
0
0
0
0
0
22
59
48
35
33
62
67
98
19
-1
0
0
0
0
0
0
0
-35
59
-48
-55
-15
44
102
29
69
0
0
0
0
0
0
0
0
26
-20
18
-28
92
63
55
21
4
0
0
0
0
0
0
0
0
67
34
-5
110
-5
-7
-18
92
0
0
0
0
0
0
0
0
0
-38
4
-31
-32
75
129
3
-1
0
0
0
0
0
0
0
0
0
-27
-112
5
37
-1
-6
51
0
0
0
0
0
0
0
0
0
0
19
-6
16
-36
5
-4
-8
0
0
0
0
0
0
0
0
0
0
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-1
-6
-8
-43
0
-3
0
0
0
0
0
0
0
0
0
33
23
74
-15
-17
11
-25
-13
-1
0
0
0
0
0
0
0
0
-1
8
41
2
26
52
43
6
1
0
0
0
0
0
0
0
0
37
26
37
31
38
25
-1
-2
0
0
0
0
0
0
0
0
0
9
46
-40
22
33
4
-2
0
0
0
0
0
0
0
0
0
0
1
12
27
40
2
21
0
0
0
0
0
0
0
0
0
0
0
-37
2
50
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
4
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-55
-4
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-5
-3
-3
-1
1
0
0
0
0
0
0
0
0
0
7
2
4
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
24
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
5
1
3
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
3
1
-16
5
0
2
-1
0
0
0
0
0
0
0
0
-1
-2
3
-3
-4
23
0
0
0
0
0
0
0
0
0
0
0
-36
-29
-24
-11
-9
13
-7
0
0
0
0
0
0
0
0
0
0
7
68
-46
44
24
-16
0
0
0
0
0
0
0
0
0
0
0
-5
0
57
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-5
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
69
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
10
-1
-33
-12
-4
-39
6
23
1
0
0
0
0
0
0
0
0
55
0
31
-69
-18
83
12
55
8
0
0
0
0
0
0
0
0
-4
2
75
36
89
115
38
92
4
0
0
0
0
0
0
0
0
95
98
16
-1
-35
61
-26
22
0
0
0
0
0
0
0
0
0
4
-22
12
-27
64
-48
15
13
0
0
0
0
0
0
0
0
0
-48
-85
7
-25
8
4
0
0
0
0
0
0
0
0
0
0
0
-75
54
-97
0
-17
-6
0
0
0
0
0
0
0
0
0
0
0
-57
-13
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
6
0
-3
1
9
-1
-5
0
0
0
0
0
0
0
0
0
30
-2
1
5
4
0
-1
-2
0
0
0
0
0
0
0
0
0
-15
-5
2
41
-30
-24
-5
8
-6
0
0
0
0
0
0
0
0
-41
11
4
39
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-26
-45
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
24
9
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
58
-5
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
9
-4
8
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
13
8
14
-3
0
0
0
0
0
0
0
0
0
0
-2
1
-5
-8
-1
-41
0
2
0
0
0
0
0
0
0
0
0
2
-1
11
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
8
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
49
17
-19
0
0
0
0
0
0
0
0
0
0
0
-6
2
20
-4
23
-48
11
-24
0
0
0
0
0
0
0
0
0
0
-7
-6
-10
89
29
39
-28
0
0
0
0
0
0
0
0
0
-3
-4
-45
-3
-3
51
-40
5
0
0
0
0
0
0
0
0
0
0
0
0
31
-25
-27
-19
-15
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
-3
-7
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-39
0
0
0
0
0
0
0
0
0
0
-2
-1
-9
-10
42
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-154
-79
-50
0
0
0
0
0
0
0
0
0
0
0
-1
-97
-8
36
-58
-9
59
81
14
0
0
0
0
0
0
0
0
4
-14
-54
-11
63
-17
29
-35
2
0
0
0
0
0
0
0
0
4
-50
-1
-51
-20
-106
-35
58
-34
0
0
0
0
0
0
0
0
-2
3
22
19
-25
-2
-54
37
-20
0
0
0
0
0
0
0
0
0
-3
4
8
-5
-6
73
-141
-89
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
46
-66
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
8
0
0
0
0
0
0
0
0
0
0
3
-7
-9
-10
0
0
0
14
0
0
0
0
0
0
0
0
0
1
61
48
-41
0
0
0
52
0
0
0
0
0
0
0
-3
0
-18
17
-38
12
-19
25
41
45
0
0
0
0
0
0
0
-6
30
28
-35
-46
50
-9
-43
44
-7
0
0
0
0
0
0
0
0
-1
80
36
-19
-68
-23
-58
65
-1
0
0
0
0
0
0
0
0
-3
-2
-9
47
76
-27
12
-13
83
0
0
0
0
0
0
0
0
0
1
0
21
55
68
-27
60
12
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-16
-107
23
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-65
-29
0
0
0
0
0
0
-6
0
6
6
-19
-59
0
0
0
-17
24
0
0
0
0
0
0
0
6
-20
6
7
47
5
16
-64
-25
-16
0
0
0
0
0
0
0
-1
-24
-18
55
47
74
7
-26
18
10
0
0
0
0
0
0
0
0
0
0
-29
14
12
-19
-43
-14
-10
0
0
0
0
0
0
0
0
1
16
34
-25
100
-124
-31
-13
-2
0
0
0
0
0
0
0
0
0
-2
-100
28
-20
54
-120
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
34
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
5
0
6
0
0
0
-28
-8
0
0
0
0
0
0
0
0
-2
-4
-15
0
80
42
-40
-1
8
0
0
0
0
0
0
0
0
47
13
31
-89
-64
-53
63
32
-2
0
0
0
0
0
0
1
3
10
-13
-32
44
-18
3
101
29
-3
-14
0
0
0
0
0
0
-1
2
0
10
87
48
-2
-1
-5
-2
3
0
0
0
0
0
0
0
0
0
-20
-17
1
-37
5
0
-15
0
0
0
0
0
0
0
0
0
2
0
0
-30
-2
-12
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
-48
-4
6
0
0
0
0
6
0
0
0
0
0
0
0
1
-1
5
-34
-18
-38
2
-63
-89
9
1
5
0
0
0
0
0
0
0
8
8
9
6
-9
-23
-2
7
5
-3
0
0
0
0
0
0
-7
-4
8
12
28
-15
-22
28
-18
22
-2
0
0
0
0
0
0
0
0
-1
5
-65
-63
1
2
32
8
0
0
0
0
0
0
0
0
0
-2
3
8
-23
-36
-41
-21
8
4
0
0
0
0
0
0
0
0
0
0
-1
7
60
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
9
-23
1
0
0
0
0
-9
27
-8
5
0
0
0
0
0
0
-1
-15
-23
-20
-66
-1
56
26
-16
6
-4
0
0
0
0
0
0
0
-13
-1
-13
115
-10
-16
41
3
-5
-3
0
0
0
0
0
0
-3
0
5
45
22
-20
-36
12
34
3
0
0
0
0
0
0
0
0
-1
-45
-1
-90
38
-27
16
7
-1
0
0
0
0
0
0
0
0
-2
0
1
-2
9
-23
18
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
6
0
2
3
0
0
0
-52
32
1
-2
0
0
0
0
0
0
0
0
-2
-3
0
-49
29
-46
-23
0
2
0
0
0
0
0
0
0
2
0
11
32
72
43
-53
5
1
0
3
0
0
0
0
0
0
0
1
22
-22
-48
39
12
23
3
-6
-1
0
0
0
0
0
0
0
0
-5
5
16
-10
10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
34
-12
15
0
0
0
0
0
0
0
0
0
0
0
-24
-14
27
45
11
-70
0
0
0
0
0
0
0
0
0
0
0
3
56
-16
-5
29
15
38
2
0
0
0
0
0
0
0
0
0
10
8
30
20
58
78
-15
40
0
0
0
0
0
0
0
0
0
9
1
-10
-6
38
107
40
78
0
0
0
0
0
0
0
0
0
-1
7
-14
45
-21
-83
-31
-3
0
0
0
0
0
0
0
0
0
0
0
-15
0
25
-18
-14
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
2
0
-83
-65
56
-53
0
0
0
0
0
0
0
0
0
0
0
-2
-87
49
-26
-40
-58
0
0
0
0
0
0
0
0
0
0
0
-16
-22
-8
40
-11
24
70
122
-1
0
0
0
0
0
0
0
0
29
4
-58
-103
18
-16
-21
-16
-17
0
0
0
0
0
0
0
0
-7
-41
-3
45
-32
-5
6
99
10
0
0
0
0
0
0
0
0
1
9
41
-85
-25
24
-38
8
-66
0
0
0
0
0
0
0
0
0
0
5
-76
-32
-50
-24
-81
16
0
0
0
0
0
0
0
0
0
0
0
70
-17
24
10
-150
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-4
0
0
0
0
0
0
0
0
0
0
-1
15
-2
55
0
0
0
47
0
0
0
0
0
0
0
-1
-17
-19
-115
39
8
0
0
0
46
0
0
0
0
0
0
0
0
-19
-26
-60
-76
-69
23
22
-53
25
0
0
0
0
0
0
0
8
70
36
50
40
127
72
-14
-32
-2
0
0
0
0
0
0
0
-1
-6
-3
18
20
65
-8
44
26
-29
0
0
0
0
0
0
0
-8
0
10
48
-85
21
-74
8
15
-13
0
0
0
0
0
0
0
0
0
0
-14
-39
18
-84
122
-90
42
0
0
0
0
0
0
0
0
0
0
1
32
33
-23
-9
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-44
4
0
0
0
15
-33
0
0
0
0
0
0
0
8
45
-92
31
-44
0
0
0
-2
15
0
0
0
0
0
0
-2
38
-2
44
-39
-7
-5
-25
-8
64
-16
0
0
0
0
0
0
0
-27
4
-69
-85
-111
108
3
-32
-24
-6
0
0
0
0
0
0
0
-2
-30
53
11
11
-95
-113
-1
31
-6
0
0
0
0
0
0
0
7
-2
15
-42
15
8
-46
-76
91
-1
0
0
0
0
0
0
0
0
0
14
11
46
-35
-15
55
-103
5
0
0
0
0
0
0
0
0
0
5
-1
0
9
20
-48
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
5
4
0
0
0
0
0
0
1
1
0
0
0
39
0
0
0
47
-13
2
0
0
0
0
0
0
-2
-1
8
-28
46
0
0
0
1
42
-1
0
0
0
0
0
-1
-2
0
-40
17
-21
-80
-18
-8
2
-5
5
0
0
0
0
0
0
5
3
-26
87
-25
9
-21
-73
-15
6
-1
0
0
0
0
0
0
-6
8
-39
-44
33
78
-12
43
3
-24
5
0
0
0
0
0
0
0
1
-21
-19
40
-4
70
-88
-25
2
0
0
0
0
0
0
0
0
0
8
3
-44
-60
60
91
-23
8
0
0
0
0
0
0
0
0
0
-2
-1
-1
-5
50
-93
5
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
-4
51
0
0
-5
0
0
0
28
2
-12
-1
0
0
0
0
0
-13
-54
5
-5
-50
0
0
0
-55
-4
-40
2
0
0
0
0
0
-10
-40
23
-42
7
-99
59
-62
48
21
0
0
0
0
0
0
0
0
55
45
-135
-20
53
53
34
-9
31
6
-3
0
0
0
0
1
0
3
-25
59
-3
11
-80
-18
53
9
-10
-6
0
0
0
0
0
0
4
31
27
1
-29
-53
-6
-101
13
-3
0
0
0
0
0
0
0
0
5
-12
28
73
-97
-54
28
32
3
0
0
0
0
0
0
0
0
0
-1
0
-2
-15
25
-13
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
1
-40
-48
0
0
0
0
0
50
-18
0
2
0
0
0
0
0
-7
21
-15
-46
14
0
0
0
46
4
0
-6
0
0
0
0
0
0
31
85
-3
23
64
35
12
4
40
-2
1
0
0
0
0
0
-1
-12
-19
34
-10
-13
-57
81
55
-21
-10
1
0
0
0
0
0
1
2
-2
-3
-7
-38
-3
-5
-51
46
5
-8
0
0
0
0
0
0
-1
8
31
76
-56
37
13
-42
-58
24
0
0
0
0
0
0
0
0
0
24
-14
-29
6
-75
-46
2
0
0
0
0
0
0
0
0
0
0
4
0
0
5
-21
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
0
0
0
0
-3
15
-5
-7
0
0
0
0
0
-3
2
-8
7
25
0
0
0
14
-78
0
10
-2
0
0
0
0
0
-6
7
-22
0
-6
14
-70
28
-33
18
3
0
0
0
0
0
0
0
-14
-8
-37
-24
-75
2
93
8
-25
2
0
0
0
0
0
0
-1
-2
-5
51
6
-40
5
5
-38
7
-11
4
0
0
0
0
0
0
-5
-8
2
0
32
15
-3
3
-5
1
0
0
0
0
0
0
0
0
0
-3
0
-2
-4
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
2
-21
3
0
0
0
0
0
0
0
2
1
13
0
0
-7
-13
4
58
1
1
0
0
0
0
0
0
0
2
1
42
8
-33
-29
-5
-2
7
5
0
0
0
0
0
0
0
-2
-7
-5
-21
-12
8
-10
-15
-3
-1
-1
0
0
0
0
0
0
0
-2
1
-7
-5
21
-2
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
-2
1
-9
1
-8
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
8
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
-2
6
-12
13
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-25
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-6
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
67
95
-5
0
0
0
0
0
0
0
0
0
0
0
73
-48
-9
61
0
37
0
0
0
0
0
0
0
0
0
0
0
22
44
62
25
-6
-121
9
-20
0
0
0
0
0
0
0
0
0
3
-1
-95
-75
24
-31
138
44
0
0
0
0
0
0
0
0
0
-8
9
-8
-43
17
27
40
84
0
0
0
0
0
0
0
0
0
0
0
19
24
-47
12
26
25
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-13
18
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
32
0
0
0
0
0
0
0
0
0
-7
-52
36
-47
-19
-21
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-58
-32
5
-43
0
0
0
0
0
0
0
0
0
0
0
0
54
-3
-38
-108
-34
-70
-36
45
0
0
0
0
0
0
0
0
0
16
92
-68
-41
0
-70
86
2
0
0
0
0
0
0
0
0
0
33
-37
-16
93
5
-19
-3
25
0
0
0
0
0
0
0
0
6
-2
53
-30
-6
-33
-32
71
9
0
0
0
0
0
0
0
0
0
0
0
12
34
101
29
-18
58
0
0
0
0
0
0
0
0
0
-1
5
-7
-6
0
36
-62
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
0
5
55
-6
6
24
-9
0
0
0
-2
0
0
0
0
0
0
0
-8
-10
-31
23
-86
70
0
0
0
-21
0
0
0
0
0
0
0
0
5
-18
-49
52
10
-2
-73
-70
13
0
0
0
0
0
0
0
0
4
-3
53
55
92
15
-76
-69
17
0
0
0
0
0
0
0
2
-13
-12
33
-21
6
-10
24
-48
-68
0
0
0
0
0
0
0
0
9
9
20
-32
53
-42
-43
-21
51
0
0
0
0
0
0
0
0
0
0
8
23
46
-7
36
51
12
0
0
0
0
0
0
0
0
0
-1
-8
0
25
-6
40
-22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-43
81
-2
47
0
0
0
8
4
0
0
0
0
0
0
1
-9
3
41
-29
-85
0
0
0
43
-45
0
0
0
0
0
0
1
-2
1
-15
-46
-4
11
-32
-84
-14
7
0
0
0
0
0
0
0
0
2
-3
43
-57
43
-73
-87
-46
3
0
0
0
0
0
0
0
-73
5
19
-71
4
-53
53
-62
-2
34
0
0
0
0
0
0
0
5
1
31
56
16
-50
65
2
70
-3
0
0
0
0
0
0
0
0
0
-14
-6
3
2
-2
-63
-38
2
0
0
0
0
0
0
0
0
0
2
-7
9
19
4
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-11
-9
-43
-4
0
0
0
-8
0
-1
0
0
0
0
0
0
47
11
-10
-25
-109
0
0
0
-1
34
1
0
0
0
0
0
0
6
1
0
-19
44
-6
16
17
9
122
7
0
0
0
0
0
0
3
0
0
0
70
64
54
-74
-30
37
23
0
0
0
0
0
0
0
0
-16
-46
-67
-57
41
-30
32
0
0
0
0
0
0
0
0
0
1
8
-3
61
115
37
61
2
0
4
0
0
0
0
0
0
0
0
0
0
-3
-2
2
-4
49
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
-38
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
6
22
1
-13
0
0
0
-18
1
0
0
0
0
0
0
0
-5
22
7
23
24
0
0
0
-54
-8
3
1
0
0
0
0
4
0
1
24
53
-8
-64
-45
5
-36
9
-4
0
0
0
0
0
0
2
7
0
-13
27
10
5
39
42
-33
-7
0
0
0
0
0
0
-12
2
-7
-15
-32
-9
-7
-26
-16
-16
0
0
0
0
0
0
0
0
0
-6
0
18
-113
-29
-21
29
0
-3
0
0
0
0
0
0
0
0
0
-2
37
-73
-51
-21
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-3
10
-7
-6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
8
0
-4
1
0
0
0
12
-1
1
0
0
0
0
0
0
4
-10
40
-13
-2
0
0
0
18
5
2
0
0
0
0
0
4
0
2
8
3
-1
0
9
-9
65
14
2
-2
0
0
0
0
0
9
-29
-6
12
1
39
0
8
30
3
-5
6
-1
0
0
0
0
0
0
-25
82
17
-31
49
-2
12
5
-17
-2
0
0
0
0
0
2
0
5
-6
-1
65
-87
32
24
0
11
0
0
0
0
0
0
0
0
0
1
4
-21
5
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
2
2
0
0
0
-18
-1
8
0
0
0
0
0
0
0
-46
-8
-4
6
0
0
0
27
14
-72
-1
9
0
0
0
0
0
2
17
0
0
-4
-31
-92
-40
-9
3
0
1
0
0
0
0
-3
12
5
-5
1
1
14
39
69
-12
-50
0
-2
0
0
0
0
0
-3
-4
-7
-60
1
3
24
34
1
0
-19
0
0
0
0
0
0
0
0
74
24
61
68
-49
6
2
-4
-4
0
0
0
0
0
0
0
0
1
-2
-9
38
27
-1
-2
-3
9
0
0
0
0
0
0
0
0
1
-3
-7
7
-9
0
0
0
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
2
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
8
-4
-47
1
-1
0
0
0
4
0
-2
1
7
0
0
0
0
-8
2
-4
4
3
3
0
-7
-4
-1
0
0
0
0
0
0
0
0
0
9
-21
19
-13
-14
3
-44
3
-10
1
-2
0
0
0
0
0
0
22
-6
57
-45
21
16
0
-30
0
5
1
0
0
0
0
0
0
0
-9
0
29
29
-95
1
0
-3
0
0
0
0
0
0
0
0
0
-3
6
-17
-8
-60
1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
3
-1
-8
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
-3
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-2
12
5
4
0
-1
-1
2
0
0
0
0
0
0
0
0
-2
0
-2
-24
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-6
8
6
-20
-6
0
-3
3
0
0
0
0
0
0
0
0
0
0
-6
-1
8
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
-40
2
-14
34
0
0
0
0
0
0
0
0
0
0
0
6
69
14
-58
5
133
0
0
0
0
0
0
0
0
0
0
0
-6
15
-26
-113
-30
6
14
-41
0
0
0
0
0
0
0
0
0
1
42
-4
-47
-22
-81
-91
-9
0
0
0
0
0
0
0
0
0
0
3
9
6
32
29
30
47
0
0
0
0
0
0
0
0
0
0
0
-13
40
-24
6
31
-19
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
25
-6
13
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
29
0
0
0
0
0
0
0
0
0
50
-7
63
5
-67
-17
0
0
0
0
0
0
0
0
0
0
0
68
60
-75
-6
-83
-4
0
0
0
0
0
0
0
0
0
0
0
1
67
-49
-55
15
-1
-31
5
74
0
0
0
0
0
0
0
0
0
20
57
-53
75
5
-18
41
92
0
0
0
0
0
0
0
0
0
0
-59
10
74
1
48
0
75
0
0
0
0
0
0
0
0
0
-15
-13
-53
-80
18
28
5
12
0
0
0
0
0
0
0
0
6
-8
3
6
27
55
72
51
-12
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
-30
12
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
0
0
0
0
0
0
0
-5
-29
15
-78
-34
22
0
0
0
-7
0
0
0
0
0
0
0
9
81
47
2
-10
-12
0
0
0
-9
0
0
0
0
0
0
0
0
-12
8
-61
-79
-47
-1
-9
-43
-48
0
0
0
0
0
0
0
0
0
1
-27
-94
14
31
88
-19
-57
0
0
0
0
0
0
0
0
0
-2
-15
33
28
-43
-7
-9
-1
0
0
0
0
0
0
0
0
-1
-46
-1
-13
64
-15
23
52
20
0
0
0
0
0
0
0
3
0
3
8
21
41
4
12
-6
-20
0
0
0
0
0
0
0
0
0
-14
13
-9
5
-34
-43
-63
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
10
-1
5
-46
-6
-7
0
0
0
-36
4
0
0
0
0
0
0
0
-47
-58
-36
25
-12
0
0
0
-74
2
0
0
0
0
0
0
0
-1
7
4
-16
8
-17
-53
-3
-6
-1
0
0
0
0
0
0
0
0
0
2
-6
-3
27
48
8
43
0
0
0
0
0
0
0
1
0
0
16
168
-24
-74
18
-32
-30
-2
0
0
0
0
0
0
0
2
-9
21
4
-12
-96
7
-77
13
5
0
0
0
0
0
0
0
0
0
25
-15
14
-64
-46
-76
15
4
0
0
0
0
0
0
0
0
0
-4
0
-3
39
-73
95
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-25
9
20
-24
0
0
0
-18
0
0
0
0
0
0
0
0
-2
48
-44
-13
-28
0
0
0
-6
5
0
0
0
0
0
0
0
-50
0
-24
8
-5
28
59
-10
14
-3
-3
0
0
0
0
0
0
8
1
0
-3
26
-5
-50
18
19
5
0
0
0
0
0
0
5
3
0
-7
17
5
-36
64
52
20
8
0
0
0
0
0
0
0
0
5
0
4
5
57
47
-13
-7
0
0
0
0
0
0
0
0
0
0
1
-57
-14
-9
39
-135
-32
3
0
0
0
0
0
0
0
0
0
1
0
-12
-19
-19
-32
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
0
29
0
0
0
-15
6
-1
0
0
0
0
0
0
-2
-2
-37
7
-29
0
0
0
-46
40
0
0
0
0
0
0
0
0
-28
7
-2
0
-9
58
52
-1
-10
0
0
0
0
0
0
0
0
3
8
0
-32
-11
45
-16
-82
0
-3
0
0
0
0
0
0
-5
0
3
0
-1
27
-50
26
38
-15
0
0
0
0
0
0
0
0
0
-9
-5
61
-8
-57
-37
16
2
0
0
0
0
0
0
0
0
-6
0
1
3
80
0
26
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
25
1
-2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
59
6
5
0
0
0
0
0
0
0
0
0
0
0
0
2
31
1
19
7
0
0
0
-7
-2
6
-1
0
0
0
0
0
5
13
-8
0
-3
-2
65
15
9
25
-1
-1
0
0
0
0
0
-1
14
-3
1
0
-8
22
-28
0
-5
-2
1
0
0
0
0
0
-3
0
26
-3
2
-9
33
-36
67
-40
-1
-2
0
0
0
0
0
0
0
-3
-81
-2
-9
15
75
8
0
0
0
0
0
0
0
0
0
0
0
3
6
40
-18
11
9
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-8
25
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-10
-1
3
-13
0
0
0
74
2
-3
-4
0
0
0
0
-1
2
-15
-18
12
0
10
-1
58
-3
62
1
-2
0
0
0
0
0
-13
-1
-1
0
29
1
2
-24
70
1
4
-8
4
0
0
0
0
0
1
2
-31
-2
0
4
6
6
11
-5
-2
-3
0
0
0
0
-3
0
17
0
2
-6
-35
-12
2
0
-3
0
0
0
0
0
0
0
0
0
-10
-4
-9
-22
-39
5
1
1
0
0
0
0
0
0
0
0
0
0
0
12
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
36
-1
-1
-4
0
0
0
1
4
0
0
0
0
0
0
0
1
-14
33
-3
0
0
0
0
0
-5
0
-1
1
0
0
0
0
0
-7
-5
4
4
0
0
3
-2
0
0
0
0
0
0
0
-1
0
0
-5
-5
-29
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-8
-22
2
-2
1
3
-8
0
0
0
0
0
0
0
0
5
-9
-1
15
-40
-22
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
6
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-6
15
1
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-3
26
-65
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
14
-5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-19
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-12
-95
-22
34
47
0
0
0
0
0
0
0
0
0
0
-2
49
53
25
-25
-9
-10
0
0
0
0
0
0
0
0
0
0
0
58
11
-25
-69
-15
56
39
-58
0
0
0
0
0
0
0
0
0
2
-106
15
60
-79
-18
33
76
0
0
0
0
0
0
0
0
0
0
-23
42
10
38
208
60
-26
0
0
0
0
0
0
0
0
0
0
0
-53
-63
48
71
-52
-3
0
0
0
0
0
0
0
0
0
0
0
1
14
-11
-1
48
145
0
0
0
0
0
0
0
0
0
0
-2
0
-1
13
5
-6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
31
0
0
0
0
0
0
0
0
0
-14
67
14
-51
-25
-84
0
0
0
0
0
0
0
0
0
0
0
-46
32
-22
-40
-25
21
0
0
0
0
0
0
0
0
0
0
0
6
-102
-71
43
71
-46
-128
-33
-5
0
0
0
0
0
0
0
0
0
0
85
-7
-20
-130
39
-26
-18
0
0
0
0
0
0
0
0
0
8
-37
-47
29
-22
-43
22
26
0
0
0
0
0
0
0
0
0
-4
29
-21
50
14
-73
100
47
0
0
0
0
0
0
0
0
-6
8
2
-23
-63
-3
-58
-10
-35
0
0
0
0
0
0
0
0
0
-1
-22
-24
59
-38
1
33
23
0
0
0
0
0
0
0
0
0
0
-1
0
0
-13
3
69
-18
0
0
0
0
0
0
0
0
6
6
-10
-33
87
34
0
0
0
-5
0
0
0
0
0
0
0
-20
-4
-20
16
-44
-41
0
0
0
-70
0
0
0
0
0
0
0
4
20
60
57
-57
-148
61
-80
18
-12
0
0
0
0
0
0
0
0
0
-12
-69
24
1
117
24
-2
10
0
0
0
0
0
0
0
0
0
0
46
61
-14
77
17
-41
-30
0
0
0
0
0
0
0
0
0
0
2
22
2
35
-24
39
-15
0
0
0
0
0
0
0
16
-6
3
-7
-47
-10
43
118
36
10
0
0
0
0
0
0
0
0
0
0
-4
41
-35
-3
47
4
37
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
-1
-7
0
0
0
0
0
0
0
0
1
-4
-19
4
-57
45
0
0
0
-13
0
0
0
0
0
0
0
-3
-47
48
-22
26
-87
0
0
0
-48
-3
0
0
0
0
0
0
-1
-37
38
-59
48
-20
-51
98
-102
-81
-5
0
0
0
0
0
0
3
0
0
1
-20
16
1
3
-22
54
0
0
0
0
0
0
0
-4
0
0
0
-2
15
-47
-30
23
-12
0
0
0
0
0
0
0
0
0
0
-3
-71
-43
-24
36
33
13
0
0
0
0
0
0
0
0
5
0
-5
12
-63
43
-16
12
-8
-1
0
0
0
0
0
0
0
0
0
5
-2
-5
-35
25
19
-5
-8
0
0
0
0
0
0
0
0
0
0
0
6
-1
-44
1
3
0
0
0
0
0
0
0
0
-5
-31
-39
21
45
0
0
0
-7
-5
0
0
0
0
0
0
0
-5
20
54
-22
11
0
0
0
-39
-8
-1
0
0
0
0
0
0
0
17
15
-44
-40
-65
18
62
3
12
0
0
0
0
0
0
0
8
0
-3
14
46
57
40
30
4
0
-4
0
0
0
0
0
2
0
0
0
-1
1
12
0
-27
14
-1
2
0
0
0
0
0
0
1
0
0
0
-22
-34
60
-14
34
-1
0
0
0
0
0
0
0
0
-3
-1
-15
-12
107
82
57
8
-1
0
0
0
0
0
0
0
0
0
0
10
-6
-1
-37
34
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
22
-48
1
-3
0
0
0
5
2
0
0
0
0
0
0
0
2
36
71
6
-3
0
0
0
-14
8
0
0
0
0
0
0
4
-11
-18
-65
-20
-45
-56
5
-72
-9
8
0
0
0
0
0
0
3
-3
4
0
1
0
43
47
52
-8
0
3
-1
0
0
0
0
0
1
3
-2
0
1
-4
-6
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
70
-59
10
-4
1
0
0
0
0
0
0
0
0
0
-8
-23
-12
0
-55
14
6
1
0
0
0
0
0
0
0
0
0
0
0
5
-37
0
94
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-1
18
-17
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-5
17
-2
41
0
0
0
-33
0
0
-9
0
0
0
0
0
1
-64
0
-3
9
-6
-14
-25
-1
-4
0
0
0
0
0
0
0
-4
41
1
0
0
0
40
-1
-6
0
1
0
0
0
0
0
0
0
-5
-5
10
0
-9
34
30
0
-4
1
0
0
0
0
0
0
0
2
-11
0
-2
0
11
-59
2
-3
0
0
0
0
0
0
0
0
2
0
25
0
-6
-2
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-5
9
9
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
0
0
0
0
0
0
0
0
-4
-2
0
-4
-6
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-44
0
-4
24
0
0
0
-3
1
0
1
-1
0
0
0
0
-3
-84
51
4
5
-27
68
-3
-1
1
1
0
0
0
0
0
0
-1
37
0
-64
0
0
-15
25
-8
10
0
-1
-1
0
0
0
0
0
0
9
-2
0
0
0
-10
1
-4
-2
0
0
0
0
0
0
0
-2
-5
-44
0
-2
-2
-35
-3
8
8
0
0
0
0
0
0
0
0
0
0
-9
-12
6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-14
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
18
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
-1
18
-7
1
4
-14
-8
72
2
-1
0
0
0
0
0
0
0
0
-2
95
7
20
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-16
-10
-1
-4
0
0
4
6
0
-1
0
0
0
0
0
0
0
-4
24
20
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-5
3
-41
-4
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
0
0
0
-1
0
0
0
0
0
0
0
0
2
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
-4
0
2
-1
17
0
0
0
0
0
0
0
0
0
-9
8
4
-1
-8
42
-2
1
0
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
28
7
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
10
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
40
21
26
20
-19
0
0
0
0
0
0
0
0
0
0
2
-50
-34
43
9
21
17
0
0
0
0
0
0
0
0
0
0
0
18
-21
-66
-105
-49
35
-53
7
0
0
0
0
0
0
0
0
0
43
-23
7
15
-26
19
55
31
0
0
0
0
0
0
0
0
0
0
10
-68
1
-17
23
35
13
0
0
0
0
0
0
0
0
0
0
2
12
1
25
75
21
18
0
0
0
0
0
0
0
0
0
0
0
9
-43
43
91
-16
-25
0
0
0
0
0
0
0
0
0
0
0
-10
8
-24
19
93
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
60
-15
0
0
0
0
0
0
0
0
0
6
-44
-47
-46
44
-67
0
0
0
0
0
0
0
0
0
0
0
104
-70
-143
-22
-61
73
0
0
0
0
0
0
0
0
0
0
0
29
-96
19
-56
-7
-7
-7
-114
26
0
0
0
0
0
0
0
0
6
-29
12
-35
-15
-67
38
-24
-75
0
0
0
0
0
0
0
0
0
0
-36
91
20
19
-61
39
-95
0
0
0
0
0
0
0
0
0
0
29
69
-20
-83
95
-3
9
0
0
0
0
0
0
0
0
0
0
-10
-45
75
62
23
15
-29
0
0
0
0
0
0
0
0
0
1
-1
9
-95
28
-18
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
-52
-42
0
0
0
0
0
0
0
0
-12
-14
-57
-176
17
-25
0
0
0
-19
0
0
0
0
0
0
0
-18
-34
2
90
-30
35
0
0
0
77
0
0
0
0
0
0
0
-8
53
14
23
-31
31
-1
-13
115
26
0
0
0
0
0
0
0
-2
25
-47
-18
-49
28
43
58
31
17
0
0
0
0
0
0
0
0
2
3
41
37
10
-49
-42
-106
40
0
0
0
0
0
0
0
0
0
0
14
-62
90
3
-3
22
-34
0
0
0
0
0
0
0
0
0
0
-16
-73
-26
-68
2
-57
-20
0
0
0
0
0
0
0
0
1
8
7
-36
88
26
-3
-4
27
0
0
0
0
0
0
0
0
0
0
-4
0
3
-40
40
-8
-2
0
0
0
0
0
0
0
0
3
-33
14
-12
1
0
0
0
20
-23
0
0
0
0
0
0
2
14
-107
-38
-41
93
0
0
0
30
2
0
0
0
0
0
0
-22
-41
-4
-83
-80
-29
-103
-46
6
-19
-26
0
0
0
0
0
0
0
-8
-100
23
23
-88
-27
5
-5
-18
-6
0
0
0
0
0
0
-1
0
-3
0
34
32
33
-47
-60
5
-5
0
0
0
0
0
0
0
0
0
0
47
127
18
-36
76
22
1
0
0
0
0
0
0
0
0
0
2
16
86
-45
90
46
-19
1
0
0
0
0
0
0
0
0
1
-5
2
77
-17
18
56
-51
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
8
8
0
0
0
0
0
0
0
0
-3
4
0
5
-2
0
0
0
3
0
0
0
0
0
0
0
0
48
24
-16
19
41
0
0
0
-2
-23
0
0
0
0
0
0
2
27
14
-52
103
-68
8
-34
-25
23
-1
-6
0
0
0
0
0
2
4
-17
-32
2
-28
-75
-5
-54
6
1
0
0
0
0
0
0
0
16
0
0
2
-47
41
-29
-28
-17
-6
0
0
0
0
0
0
0
0
0
0
-1
56
-24
-67
43
-14
0
0
0
0
0
0
0
0
-1
0
0
2
63
28
-129
13
-7
-5
0
0
0
0
0
0
0
0
0
-1
0
9
-96
-37
113
-18
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
9
0
0
0
0
0
0
0
0
0
0
10
13
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-51
39
14
15
0
0
0
-15
-3
0
0
0
0
0
0
0
-8
2
-10
-58
44
-3
-6
-51
0
-2
-1
0
0
0
0
0
0
-1
-2
40
4
11
14
-5
-36
2
8
-3
-1
0
0
0
0
2
0
-26
0
0
2
106
-1
-28
15
3
0
0
0
0
0
0
0
0
0
0
0
3
-80
-30
35
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-50
-1
4
0
0
0
0
0
0
0
0
0
2
0
-1
3
-2
-47
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
18
-24
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
-34
-13
5
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
6
-38
-2
17
-19
-3
0
0
0
0
0
0
0
0
0
0
-5
1
55
44
-64
1
28
3
-1
0
0
0
0
0
0
3
-2
-9
16
0
0
-3
8
-8
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-22
-8
-2
3
0
0
0
0
0
0
0
0
8
0
0
0
-9
-16
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-28
-1
11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
4
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
0
-12
11
1
0
0
0
2
0
0
0
0
0
0
0
0
0
-13
1
-1
-5
6
29
6
0
0
0
0
0
0
0
0
0
0
4
65
6
-62
-9
-49
0
1
0
-3
0
0
0
0
0
2
1
1
4
-25
0
4
0
-6
5
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
6
10
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
0
0
0
2
0
0
0
0
0
0
0
0
8
6
-4
0
-22
14
8
-5
0
0
0
0
0
0
0
0
0
0
1
-42
46
5
73
8
-2
0
0
0
0
0
0
0
0
0
0
-3
-60
27
24
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
14
-6
0
0
0
0
0
0
0
0
0
0
1
0
-5
-3
2
-21
0
-2
0
0
0
0
0
0
0
0
0
3
0
-12
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-21
-6
-24
-8
0
0
0
0
0
0
0
0
0
0
-4
-36
-22
-44
51
28
11
0
0
0
0
0
0
0
0
0
0
0
17
-57
-35
21
25
18
55
1
0
0
0
0
0
0
0
0
0
-4
-84
-17
-26
-141
-6
50
31
0
0
0
0
0
0
0
0
0
1
-1
31
28
104
10
-106
-30
0
0
0
0
0
0
0
0
0
0
6
46
-81
21
37
-23
5
0
0
0
0
0
0
0
0
0
0
4
1
-33
18
-25
-68
49
0
0
0
0
0
0
0
0
0
0
0
-11
0
19
-62
-7
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-28
0
0
0
0
0
0
0
0
0
-2
10
-81
24
24
-35
0
0
0
0
0
0
0
0
0
0
0
-7
-44
-87
-116
-51
94
0
0
0
0
0
0
0
0
0
0
0
-13
-104
-31
-81
-62
-27
42
-35
61
0
0
0
0
0
0
0
0
3
64
-1
32
-80
-6
77
0
5
0
0
0
0
0
0
0
0
0
-2
-28
38
43
-11
2
-48
38
0
0
0
0
0
0
0
0
0
0
88
-6
15
-35
-10
-4
14
0
0
0
0
0
0
0
0
0
0
32
-76
-176
26
-31
-29
-33
0
0
0
0
0
0
0
0
0
0
5
13
92
-52
-19
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
19
-10
0
0
0
0
0
0
0
0
-2
-29
-7
45
-22
-18
0
0
0
51
0
0
0
0
0
0
0
48
31
29
43
46
-23
0
0
0
-1
0
0
0
0
0
0
0
-8
-44
73
-92
14
-75
-33
-38
6
16
0
0
0
0
0
0
0
-10
57
-25
-62
-4
36
-57
-11
-50
-4
0
0
0
0
0
0
0
-17
-17
-62
81
-81
0
-89
50
-23
9
0
0
0
0
0
0
0
0
0
-5
-1
50
-1
-5
-17
46
7
0
0
0
0
0
0
0
0
0
0
1
-7
75
32
-20
9
-18
0
0
0
0
0
0
0
0
0
0
-29
-40
-42
-75
153
41
-42
0
0
0
0
0
0
0
0
0
3
-3
0
38
16
-57
69
3
0
0
0
0
0
0
0
0
-1
-17
-49
12
-33
0
0
0
-10
-47
0
0
0
0
0
0
-4
-2
-84
8
-33
93
0
0
0
-49
-34
0
0
0
0
0
0
-3
5
-10
-3
-31
-29
3
-22
13
15
-8
0
0
0
0
0
0
-1
-5
19
13
-32
27
1
3
-116
5
-2
0
0
0
0
0
0
4
-25
7
-69
7
41
-75
46
-32
27
0
0
0
0
0
0
0
0
0
2
0
-36
16
-25
-66
79
3
0
0
0
0
0
0
0
0
0
0
0
7
-64
-31
21
-96
23
15
0
0
0
0
0
0
0
0
0
0
-2
26
-35
50
-40
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
25
-18
36
8
0
0
0
0
0
0
0
0
0
-4
-3
5
0
0
0
0
-6
0
0
0
0
0
0
0
0
11
44
44
-26
-47
0
0
0
-17
25
0
0
0
0
0
0
0
-1
0
-2
39
15
18
16
-9
12
0
0
0
0
0
0
0
0
-4
29
49
-22
-14
-20
25
-48
0
0
0
0
0
0
0
0
1
-1
8
-2
-44
-8
-18
-36
-78
-3
0
0
0
0
0
0
0
0
4
0
0
0
63
55
-2
-32
-17
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
5
31
25
0
0
0
0
0
0
0
0
0
0
0
0
46
-8
11
-32
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
10
0
-5
0
0
0
0
0
0
0
0
1
0
-9
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-16
4
-10
0
0
0
0
29
1
0
0
0
0
0
0
0
0
-3
-21
-18
40
-25
6
-12
-2
-1
-1
0
0
0
0
0
0
-1
39
41
33
-54
-124
10
-24
8
-1
0
0
0
0
0
0
0
-9
0
-7
-39
-158
-16
23
-30
-14
-8
0
0
0
0
0
0
0
0
1
0
0
0
49
14
81
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
108
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
21
5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-4
16
-1
-15
0
7
0
0
0
0
0
0
0
0
0
0
6
-7
-17
21
42
3
-6
-1
0
0
0
0
0
0
0
0
8
9
5
-22
10
-23
8
6
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
54
-18
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
12
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-5
0
-17
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
2
3
0
2
22
2
0
0
3
0
0
0
0
0
0
0
10
-4
-20
13
17
13
-7
6
1
2
0
0
0
0
0
0
5
-5
-4
-2
19
-15
-45
0
9
0
0
0
0
0
0
0
0
0
0
0
59
0
5
0
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-8
-6
-10
9
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
16
5
-11
1
0
0
0
0
0
0
0
0
0
0
8
40
-3
1
-20
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-12
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-34
-18
17
-27
0
0
0
0
0
0
0
0
0
0
-1
11
-96
-70
59
-27
-34
-25
83
0
0
0
0
0
0
0
0
0
-21
-44
-54
-28
17
-39
0
90
0
0
0
0
0
0
0
0
0
14
-44
35
-16
41
39
-64
19
0
0
0
0
0
0
0
0
0
-6
3
-30
36
25
-87
22
29
0
0
0
0
0
0
0
0
0
0
-7
24
-5
14
-1
23
58
0
0
0
0
0
0
0
0
0
0
2
-5
7
16
-22
60
-43
0
0
0
0
0
0
0
0
0
0
-9
0
0
1
37
38
69
0
0
0
0
0
0
0
0
0
0
-56
-77
50
3
72
0
0
0
0
0
0
0
0
0
0
0
-23
-105
-117
13
5
-56
0
0
0
0
0
0
0
0
0
0
0
-9
-117
-88
38
-30
41
2
-84
43
0
0
0
0
0
0
0
0
-6
-32
-37
-22
42
-18
16
10
-17
0
0
0
0
0
0
0
0
0
-90
-16
2
-9
62
-9
-64
-46
0
0
0
0
0
0
0
0
0
-20
-26
9
0
-4
24
27
-13
0
0
0
0
0
0
0
0
0
0
7
-1
56
48
-58
25
-1
0
0
0
0
0
0
0
0
0
0
1
-35
22
51
-7
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
-2
-49
0
0
0
0
0
0
0
0
0
0
1
6
1
5
0
0
0
-5
0
0
0
0
0
0
0
-13
-2
23
-35
-8
34
0
0
0
-1
0
0
0
0
0
0
0
-1
11
10
92
-16
39
-23
27
-96
1
0
0
0
0
0
0
0
0
-13
-13
-72
-58
73
-36
42
40
19
0
0
0
0
0
0
0
-4
-13
-32
39
-73
17
30
-8
2
-7
0
0
0
0
0
0
0
0
3
-55
-33
7
-36
-92
57
17
-2
0
0
0
0
0
0
0
0
0
0
5
54
-5
5
27
-49
66
0
0
0
0
0
0
0
0
0
0
0
42
-1
-1
59
-10
28
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
88
25
-6
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
-2
15
51
-5
12
0
0
0
-7
-32
0
0
0
0
0
0
-1
0
70
31
-24
55
24
-47
24
-20
-7
0
0
0
0
0
0
1
-4
1
24
-46
-17
-104
63
-2
5
3
0
0
0
0
0
0
0
-3
39
-38
-126
-55
1
-49
11
19
0
0
0
0
0
0
0
0
-2
0
-32
27
37
-32
54
11
-11
0
0
0
0
0
0
0
0
0
0
0
36
-58
-71
13
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
21
52
41
62
-52
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
41
8
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
-8
-2
0
0
0
0
0
0
0
2
4
-12
21
-5
-2
-6
13
3
0
0
0
0
0
0
0
0
-1
21
-17
-3
-9
-16
14
24
1
0
0
0
0
0
0
0
0
0
3
-9
-72
-12
15
39
31
-7
0
0
0
0
0
0
0
0
0
0
0
5
-70
38
35
-83
5
0
0
0
0
0
0
0
0
0
0
0
0
-40
7
-40
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
10
-49
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
3
0
0
7
0
0
0
4
1
0
0
0
0
0
0
0
0
2
-8
0
0
-3
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-16
25
8
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
8
19
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
30
1
-4
-76
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-13
-1
7
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-3
7
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
-41
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
0
3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-18
-16
-1
27
0
0
0
0
0
0
0
0
0
0
2
0
-43
27
14
13
-1
8
27
0
0
0
0
0
0
0
0
2
28
-134
-76
-38
-95
89
-8
138
0
0
0
0
0
0
0
0
5
-1
40
19
-18
-17
21
-48
21
0
0
0
0
0
0
0
0
0
-9
16
30
-148
12
-50
-4
-28
0
0
0
0
0
0
0
0
0
0
0
13
51
38
-54
-32
4
0
0
0
0
0
0
0
0
0
0
0
13
-2
25
42
48
38
0
0
0
0
0
0
0
0
0
0
4
0
0
0
53
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
-30
-10
17
-8
15
-53
0
0
0
0
0
0
0
0
-3
-4
-51
-56
14
-24
10
-5
-63
0
0
0
0
0
0
0
0
-4
21
-15
-3
-23
70
-95
-15
-6
0
0
0
0
0
0
0
0
0
-4
-1
-62
18
-54
106
-29
5
0
0
0
0
0
0
0
0
0
0
-12
13
22
-41
57
15
0
0
0
0
0
0
0
0
0
0
0
0
6
30
9
-2
-1
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-19
-6
-6
0
-13
19
-3
-2
0
0
0
0
0
0
0
0
-3
-4
-5
10
57
-7
-2
-24
17
0
0
0
0
0
0
0
0
1
8
-9
9
9
-31
-2
-73
0
0
0
0
0
0
0
0
0
1
0
-21
6
9
52
-46
1
0
0
0
0
0
0
0
0
0
0
1
0
-3
9
-5
41
8
4
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
11
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
15
-1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
-6
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
-6
-1
0
0
0
0
0
0
0
0
0
-4
0
0
4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-2
3
9
0
3
0
0
0
0
0
0
0
0
0
24
-1
-40
-1
25
13
-5
0
0
0
0
0
0
0
0
0
0
8
-12
21
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
-15
-5
-41
-9
-2
0
0
0
0
0
0
0
0
0
25
-9
11
47
-56
-24
-11
0
-3
0
0
0
0
0
0
0
0
1
-25
-18
-42
-51
29
7
4
0
0
0
0
0
0
0
0
0
0
3
4
28
6
-6
-9
-21
5
0
0
0
0
0
0
0
0
0
22
-3
25
0
-2
-9
0
0
1
0
0
0
0
0
0
0
0
-17
-17
0
-13
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-7
-4
-21
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
1
20
7
8
3
0
0
0
0
0
0
0
0
0
5
-13
-55
44
62
-45
-19
5
0
1
0
0
0
0
0
0
0
1
5
-2
-75
161
23
-20
-5
0
0
0
0
0
0
0
0
0
1
7
0
-13
26
-7
23
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
43
-2
-15
-6
1
-2
0
0
0
0
0
0
0
0
0
-3
1
-5
4
-9
2
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
68
7
0
-33
33
21
-2
0
0
0
0
0
0
0
0
0
0
-25
45
4
-30
-70
100
9
1
0
0
0
0
0
0
0
0
-3
-1
3
0
43
-30
2
-7
0
0
0
0
0
0
0
0
0
0
8
8
15
-38
-5
4
1
0
0
0
0
0
0
0
0
0
0
2
24
5
-2
-27
16
-1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
-2
19
-1
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
-25
1
0
0
0
0
0
0
0
0
0
-12
2
-3
22
-19
83
52
4
2
0
0
0
0
0
0
0
0
0
-15
0
-4
2
-2
27
17
0
0
0
0
0
0
0
0
0
-5
0
-15
19
16
-1
3
0
4
-1
0
0
0
0
0
0
0
0
-1
4
0
2
-1
0
3
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
0
72
0
0
-41
-25
0
-1
0
0
0
0
0
0
0
-16
17
-10
54
15
28
38
46
73
0
0
0
0
0
0
0
0
0
-17
28
-5
-5
-25
68
-15
2
1
0
0
0
0
0
0
0
0
0
1
-3
-3
16
0
8
-5
0
0
0
0
0
0
0
0
0
1
1
-7
8
-2
2
-2
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
5
-1
0
-39
0
0
0
0
0
0
0
0
0
2
-35
9
9
74
5
74
11
25
-2
0
0
0
0
0
0
0
4
-3
-41
5
0
11
41
26
-6
8
0
0
0
0
0
0
0
0
9
-8
-1
-19
5
-25
25
0
9
0
0
0
0
0
0
0
0
-2
0
10
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
7
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
4
1
-31
-32
-22
-1
3
-1
27
-4
0
0
0
0
0
0
0
0
0
18
-9
6
3
29
13
41
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
1
6
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
20
22
1
8
-2
-2
0
0
0
0
0
0
0
0
0
0
-8
41
-20
14
-59
2
-10
0
0
0
0
0
0
0
0
0
0
-50
-24
-32
8
0
10
-1
0
0
0
0
0
0
0
0
0
0
-45
-19
23
2
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
2
3
-4
12
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
25
19
-17
-1
-64
1
7
0
0
0
0
0
0
0
0
0
58
-20
17
10
22
46
14
50
0
2
0
0
0
0
0
0
0
4
28
-12
-43
-31
-34
-34
4
-5
0
0
0
0
0
0
0
0
-6
-60
-20
114
-14
58
23
-14
-38
0
0
0
0
0
0
0
0
9
81
-55
63
16
-27
-19
7
10
-8
0
0
0
0
0
0
0
0
-28
42
43
7
-41
-1
-8
-6
0
0
0
0
0
0
0
0
0
-4
24
46
-25
-1
-2
8
0
0
0
0
0
0
0
0
0
0
-40
0
-18
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
67
-81
96
-153
23
12
0
0
0
0
0
0
0
0
0
-2
61
27
-100
108
0
8
-4
-2
0
0
0
0
0
0
0
0
-46
-33
-41
-19
-53
138
40
13
53
-1
0
0
0
0
0
0
0
2
-73
22
16
-30
29
9
-18
21
-4
0
0
0
0
0
0
0
0
43
31
123
7
-3
43
16
-1
0
0
0
0
0
0
0
0
1
-8
15
12
-8
-18
-8
0
-5
0
0
0
0
0
0
0
0
0
0
33
-6
3
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
52
-21
33
24
73
-24
-65
0
1
0
0
0
0
0
0
0
0
43
24
18
42
-2
26
-31
-6
0
1
0
0
0
0
0
0
-9
-23
34
64
40
4
16
4
-13
0
0
0
0
0
0
0
0
22
-25
-1
-61
-54
-15
-5
-8
-6
4
0
0
0
0
0
0
0
0
-22
-45
40
22
41
14
0
-1
0
0
0
0
0
0
0
0
-7
-17
0
-5
-5
0
2
-3
-2
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
63
17
17
-87
33
84
0
1
0
0
0
0
0
0
0
-7
74
38
-29
1
36
13
8
61
0
0
0
0
0
0
0
0
22
-2
-13
1
104
-27
-50
0
-41
-1
0
0
0
0
0
0
0
-6
-4
30
22
-21
-11
41
0
-1
-1
0
0
0
0
0
0
0
23
13
-12
23
4
-7
-23
0
0
0
0
0
0
0
0
0
0
0
-13
-17
17
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
177
-12
56
31
-18
19
0
0
0
0
0
0
0
0
0
3
11
-36
57
23
-9
-21
67
-18
-2
0
0
0
0
0
0
0
-2
16
-7
-25
7
19
10
-54
-7
0
0
0
0
0
0
0
0
13
9
0
9
-40
-41
24
-5
-1
-2
0
0
0
0
0
0
0
3
22
5
25
-2
15
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
-5
1
6
0
0
0
0
0
0
0
0
0
0
3
-22
17
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
47
13
34
-8
-58
15
0
3
0
0
0
0
0
0
0
0
-21
76
51
147
-16
38
-8
-17
-10
3
0
0
0
0
0
0
5
-6
86
24
40
-6
11
-7
-30
-2
0
-1
0
0
0
0
0
-3
-12
19
-22
-1
-10
-43
-30
-4
-1
2
0
0
0
0
0
0
-1
-27
31
-9
-19
-24
-13
-1
1
0
1
-1
0
0
0
0
0
0
1
0
12
-10
23
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-11
0
8
0
-2
-2
0
0
0
0
0
0
-2
-1
1
12
44
-13
30
-2
17
-9
0
0
0
0
0
0
0
5
-8
-33
10
-35
19
-5
-32
51
24
0
0
0
0
0
0
0
2
0
13
24
17
-2
4
0
0
-2
0
0
0
0
0
0
0
0
-9
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
6
2
13
-5
0
0
0
0
0
0
0
0
0
0
9
-3
-9
3
-6
1
-4
1
20
0
0
0
0
0
0
0
0
0
-6
3
4
13
0
17
-2
3
0
0
0
0
0
0
0
-1
0
0
1
5
14
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
-5
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
10
0
4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
13
-89
-14
0
26
0
0
0
0
0
0
0
0
0
0
0
-38
62
95
-3
-47
75
-41
-6
0
0
0
0
0
0
0
0
0
-2
-8
-1
6
0
-11
6
2
0
0
0
0
0
0
0
0
0
-26
1
8
-2
34
-8
-1
0
0
0
0
0
0
0
0
0
0
10
9
-5
1
2
-1
8
0
0
0
0
0
0
0
0
0
0
18
-8
14
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
63
-23
-63
11
45
-14
6
0
0
0
0
0
0
0
0
0
3
67
53
-78
-105
29
-77
-11
-55
0
0
0
0
0
0
0
0
5
23
138
-32
-4
11
-62
-21
60
0
0
0
0
0
0
0
0
-9
-24
-22
-28
9
9
-27
6
-6
0
0
0
0
0
0
0
0
-33
-56
-49
-27
-45
72
3
-25
-1
2
0
0
0
0
0
0
0
18
10
-58
-21
35
-30
0
-8
0
0
0
0
0
0
0
0
0
-3
-43
-21
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-7
-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
8
-3
-46
33
139
-76
-33
0
0
0
0
0
0
0
0
0
7
90
-120
-45
-45
118
-16
-8
-16
12
0
0
0
0
0
0
0
6
-3
12
-12
64
15
21
18
0
-1
0
0
0
0
0
0
0
12
55
22
-63
31
-2
-14
-9
5
-3
0
0
0
0
0
0
0
0
33
-33
10
4
42
-2
0
-8
0
0
0
0
0
0
0
0
-10
-25
27
27
5
-2
-2
9
-3
1
0
0
0
0
0
0
0
0
24
37
-13
13
0
1
0
-3
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-4
46
13
33
0
0
0
0
0
0
0
0
0
4
-73
-29
-22
-64
30
78
7
0
0
0
0
0
0
0
0
0
0
66
-52
-2
26
3
12
6
6
2
0
0
0
0
0
0
0
0
54
3
-35
7
21
1
-5
0
0
0
0
0
0
0
0
0
0
20
28
-20
-48
5
0
0
20
-2
0
0
0
0
0
0
0
0
25
-23
-13
9
31
1
0
0
0
0
0
0
0
0
0
0
-4
-5
-9
-3
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-22
21
20
109
80
0
0
0
0
0
0
0
0
0
-3
-20
86
-11
-32
-7
-54
25
6
0
0
0
0
0
0
0
0
0
30
31
-21
0
69
8
40
-1
0
0
0
0
0
0
0
0
1
4
2
2
-22
-11
8
0
18
0
0
0
0
0
0
0
0
6
15
2
-29
-6
-9
0
2
1
0
0
0
0
0
0
0
0
0
0
25
0
1
1
7
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
17
-50
-65
96
56
0
0
0
0
0
0
0
0
0
0
13
41
94
-36
-8
-37
57
6
0
0
0
0
0
0
0
0
2
-1
-6
3
31
0
14
13
5
2
0
0
0
0
0
0
0
-1
-13
55
71
8
26
2
1
0
7
0
0
0
0
0
0
0
0
32
-3
-1
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
16
17
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
-1
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-5
13
7
77
20
0
0
0
0
0
0
0
0
0
0
50
-17
74
102
-25
-7
-5
0
-1
0
0
0
0
0
0
0
4
12
-14
1
5
3
0
-2
7
-2
0
0
0
0
0
0
0
0
-6
67
-42
-17
3
4
0
3
0
0
0
0
0
0
0
0
1
47
-12
27
1
14
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
19
0
34
3
37
56
0
-3
0
0
0
0
0
0
0
8
13
1
-39
23
5
41
-3
59
9
-5
0
0
0
0
0
0
5
5
8
0
10
19
-3
1
-16
8
0
0
0
0
0
0
0
0
0
5
-8
-12
-14
2
0
0
0
0
0
0
0
0
0
0
1
-6
5
17
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
-2
-5
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-11
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-1
0
-7
-7
0
0
0
0
0
0
0
0
0
0
0
1
-36
1
17
-30
11
1
0
2
0
0
0
0
0
0
0
0
-4
-1
14
0
6
0
3
0
-3
0
0
0
0
0
0
0
0
10
5
-44
8
9
0
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-5
-11
-8
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
-10
14
31
4
3
0
0
0
0
0
0
0
0
0
0
18
-8
-32
10
-12
-69
-14
22
0
0
0
0
0
0
0
0
0
-8
-1
-26
-5
23
-13
-5
0
0
0
0
0
0
0
0
0
0
4
-25
72
21
-3
-13
-2
-5
0
0
0
0
0
0
0
0
0
4
44
-44
4
-8
7
-2
0
0
0
0
0
0
0
0
0
0
44
-38
-9
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
54
-1
-38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
-60
1
-5
47
-71
146
0
0
0
0
0
0
0
0
0
3
47
-27
-41
150
3
-47
-117
-47
0
0
0
0
0
0
0
0
4
43
49
-50
-67
-38
67
-28
19
1
0
0
0
0
0
0
0
0
-3
67
-79
-41
36
-77
20
15
0
0
0
0
0
0
0
0
6
-66
-34
-106
-42
-20
5
-10
20
0
0
0
0
0
0
0
0
-19
-105
-25
-14
-53
-42
-7
0
4
0
0
0
0
0
0
0
0
0
13
45
14
-9
6
-1
0
0
0
0
0
0
0
0
0
0
0
35
-2
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
-5
-12
1
31
56
-82
0
3
0
0
0
0
0
0
0
2
20
80
-70
-12
-56
92
133
-26
-8
0
0
0
0
0
0
0
0
79
8
-38
-40
-10
-8
31
-38
4
0
0
0
0
0
0
0
8
8
0
48
-12
102
28
48
10
0
0
0
0
0
0
0
0
3
-12
-31
-83
16
-64
46
24
5
0
0
0
0
0
0
0
0
-1
-22
22
-89
16
8
0
-12
0
0
0
0
0
0
0
0
0
-3
-45
52
16
30
6
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-58
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
13
-32
12
-33
0
3
0
0
0
0
0
0
0
0
57
-17
-31
-35
-19
40
6
3
0
0
0
0
0
0
0
0
0
14
-7
45
24
-47
104
-41
-5
-1
0
0
0
0
0
0
0
0
73
-65
-3
26
27
-25
13
-7
4
0
0
0
0
0
0
0
0
49
5
28
5
-2
-30
3
0
0
0
0
0
0
0
0
0
0
13
2
42
-24
37
2
0
0
0
0
0
0
0
0
0
0
0
-36
6
7
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
0
-7
16
0
19
0
1
-1
0
0
0
0
0
0
0
3
2
-9
3
20
72
-64
16
0
0
0
0
0
0
0
0
-4
9
31
-22
0
10
68
23
-7
0
0
0
0
0
0
0
0
0
-7
-18
-28
0
8
-9
-10
0
0
0
0
0
0
0
0
0
0
16
56
3
3
-8
9
8
4
0
0
0
0
0
0
0
0
0
-1
-3
13
-9
37
1
0
0
0
0
0
0
0
0
0
0
0
-3
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-1
-5
24
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
15
-13
3
5
0
0
0
0
0
0
0
0
2
1
-3
-27
10
7
16
7
0
0
0
0
0
0
0
0
0
6
0
3
-4
-2
0
11
1
19
0
0
0
0
0
0
0
0
0
-5
20
24
29
5
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
3
7
0
0
0
8
0
0
0
0
0
0
0
0
0
-9
-1
55
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-16
4
-8
14
44
1
87
-1
1
0
0
0
0
0
0
0
0
8
-7
32
7
75
3
-2
0
0
0
0
0
0
0
0
0
0
6
-9
16
6
-27
0
0
5
0
0
0
0
0
0
0
0
0
-11
-6
28
34
1
0
0
-1
0
0
0
0
0
0
0
0
0
14
-24
16
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
-14
-4
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-3
3
0
0
0
0
0
0
0
0
0
0
-5
0
-5
20
-9
62
-2
-6
0
0
0
0
0
0
0
0
0
-20
-7
15
12
-21
14
11
-2
3
0
0
0
0
0
0
0
0
-4
13
8
3
-10
-6
0
0
0
0
0
0
0
0
0
0
0
9
29
26
-7
-1
0
0
0
-1
0
0
0
0
0
0
0
0
5
-1
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
-8
-5
-6
-8
1
16
0
0
0
0
0
0
0
0
0
-5
-3
-6
-18
-9
-2
-2
0
0
0
0
0
0
0
0
0
0
5
-6
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
8
4
4
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-3
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
24
8
-42
-3
1
-3
0
0
0
0
0
0
0
0
0
45
18
14
61
28
30
-30
3
-2
0
0
0
0
0
0
0
0
47
7
-11
-62
-18
-22
4
0
0
0
0
0
0
0
0
0
0
11
29
1
-23
-2
-2
19
-7
0
0
0
0
0
0
0
0
0
-8
41
32
4
-5
-4
0
2
0
0
0
0
0
0
0
0
0
-2
-4
64
39
8
0
0
0
0
0
0
0
0
0
0
0
0
14
16
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
-16
-28
87
-14
7
0
0
0
0
0
0
0
0
0
-8
63
-9
-49
-89
-42
-10
-52
15
5
0
0
0
0
0
0
0
8
22
-4
6
39
35
28
28
6
-6
0
0
0
0
0
0
0
7
32
66
-9
24
50
62
94
-8
0
0
0
0
0
0
0
0
-16
7
51
43
67
-17
-52
-22
4
2
0
0
0
0
0
0
0
0
58
62
53
-64
2
31
1
2
0
0
0
0
0
0
0
0
29
-84
-50
-29
60
5
30
1
0
0
0
0
0
0
0
0
0
3
9
-18
17
0
-20
0
16
0
0
0
0
0
0
0
0
0
25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-10
-13
29
-42
-84
0
0
0
0
0
0
0
0
0
4
-35
105
12
66
-86
-95
69
48
0
0
0
0
0
0
0
0
0
25
3
-68
-62
17
46
101
24
1
0
0
0
0
0
0
0
72
22
-10
-13
82
111
-43
-33
25
0
0
0
0
0
0
0
0
9
-11
0
-45
40
-13
25
-6
0
0
0
0
0
0
0
0
0
-12
24
85
-42
12
74
20
-3
0
5
0
0
0
0
0
0
0
0
51
59
55
-4
17
21
0
1
0
0
0
0
0
0
0
0
2
-14
41
16
-3
0
0
-9
0
0
0
0
0
0
0
0
0
6
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
-15
-2
-40
-3
0
0
0
0
0
0
0
0
0
0
25
2
-35
-26
-22
-18
-27
-8
-4
0
0
0
0
0
0
0
-2
0
15
-16
-41
48
-8
-18
53
-2
0
0
0
0
0
0
0
6
-2
10
28
-14
-32
19
-7
0
0
0
0
0
0
0
0
0
0
-6
-32
0
-42
-12
-25
-3
-2
0
0
0
0
0
0
0
0
0
-11
-59
-61
32
69
2
-7
0
0
0
0
0
0
0
0
0
-3
27
67
-8
98
0
4
5
0
0
0
0
0
0
0
0
0
0
10
7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
4
74
-9
-28
0
-1
0
0
0
0
0
0
0
0
3
16
13
-12
1
26
-27
-29
0
3
0
0
0
0
0
0
4
2
-33
-46
-17
10
10
-58
2
-6
0
0
0
0
0
0
0
0
-1
-4
8
-6
8
4
-6
0
0
0
0
0
0
0
0
0
0
5
34
67
0
81
2
-2
0
3
0
0
0
0
0
0
0
0
-4
-31
6
-2
22
-2
1
5
-1
0
0
0
0
0
0
0
0
7
8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
43
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
-6
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-15
-29
66
-1
-9
0
0
0
0
0
0
0
0
-2
2
-22
12
30
3
-65
-7
6
0
0
0
0
0
0
0
0
0
38
5
0
-2
-1
16
-8
20
0
0
0
0
0
0
0
0
0
19
-1
-3
30
0
13
0
0
0
0
0
0
0
0
0
0
0
-9
24
-19
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-36
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
3
12
0
9
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
2
0
0
0
0
0
0
0
0
0
2
0
6
4
-21
19
1
-5
0
0
0
0
0
0
0
9
7
0
4
13
41
-28
-8
-1
0
0
0
0
0
0
0
0
0
20
1
0
21
-17
-3
0
16
0
0
0
0
0
0
0
0
0
-4
31
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-16
-15
0
-1
0
0
0
0
0
0
0
0
0
0
2
-15
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
11
3
6
0
0
0
0
0
0
0
0
0
3
0
-6
-19
12
21
-1
1
0
0
0
0
0
0
0
0
0
0
13
6
-34
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
22
1
0
-2
0
0
0
0
0
0
0
0
4
1
-8
-2
-5
0
2
0
0
0
0
0
0
0
0
0
0
-2
-7
-12
-2
0
-3
15
0
0
0
0
0
0
0
0
0
0
4
0
2
16
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-3
-29
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
31
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
6
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-2
-8
4
-5
18
3
0
0
0
0
0
0
0
0
0
-10
26
-8
21
-5
66
-51
-35
0
0
0
0
0
0
0
0
0
49
-5
-38
58
-1
32
-18
5
0
0
0
0
0
0
0
0
0
-11
-5
2
43
8
15
21
3
0
0
0
0
0
0
0
0
0
7
19
-36
35
1
7
-2
8
0
0
0
0
0
0
0
0
0
0
-66
11
17
-5
-4
-2
-1
0
0
0
0
0
0
0
0
0
-77
11
29
-11
-13
0
0
0
0
0
0
0
0
0
0
0
0
34
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
55
-7
-3
-14
-82
18
-49
0
0
0
0
0
0
0
0
0
6
83
-10
-122
33
11
-81
48
-15
0
0
0
0
0
0
0
0
4
47
-45
-17
32
-72
1
22
-14
-2
0
0
0
0
0
0
0
-4
108
-57
-3
51
-85
13
-9
52
-2
0
0
0
0
0
0
0
-1
-34
-27
-66
14
51
-51
-28
-20
0
0
0
0
0
0
0
0
6
0
3
7
28
-62
10
8
-5
0
0
0
0
0
0
0
0
-1
-33
-17
-87
1
69
0
0
-1
0
0
0
0
0
0
0
0
4
-15
-26
-3
1
4
0
0
0
0
0
0
0
0
0
0
0
-29
-17
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-1
-48
-9
2
81
0
-1
0
0
0
0
0
0
0
1
-73
47
6
-18
-34
10
35
-25
0
0
0
0
0
0
0
0
-10
-10
-22
33
-45
-22
35
18
31
0
0
0
0
0
0
0
0
0
19
-90
77
28
43
-13
-54
18
0
0
0
0
0
0
0
0
-6
-3
37
7
-33
-9
54
28
-3
-3
0
0
0
0
0
0
0
1
62
0
12
54
44
93
1
0
2
0
0
0
0
0
0
0
-35
-70
-60
-38
-82
10
-5
-3
0
0
0
0
0
0
0
0
0
-2
-80
17
-18
54
-2
0
0
0
0
0
0
0
0
0
0
0
1
20
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
46
-18
3
26
0
-8
0
0
0
0
0
0
0
0
24
31
5
-27
-31
-16
28
-2
0
-1
0
0
0
0
0
0
8
5
-21
-63
-56
3
30
53
-1
0
0
0
0
0
0
0
0
-4
1
-27
21
4
-17
5
12
20
0
0
0
0
0
0
0
0
0
-19
-24
11
47
43
-40
5
1
0
0
0
0
0
0
0
0
0
-1
-25
0
14
-30
-3
0
0
-8
0
0
0
0
0
0
0
-12
30
-16
26
3
-2
-1
-3
0
0
0
0
0
0
0
0
0
0
-6
-33
-24
2
0
0
-3
0
0
0
0
0
0
0
0
0
2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
2
0
-4
-7
0
0
0
0
0
0
0
0
0
0
48
90
-3
-8
15
52
14
29
0
-1
0
0
0
0
0
0
-15
0
0
-12
94
3
51
28
5
0
0
0
0
0
0
0
0
-1
7
1
-20
52
31
-4
42
1
0
0
0
0
0
0
0
0
-3
60
-16
-9
35
-3
-8
-1
-2
0
0
0
0
0
0
0
0
0
-5
31
31
0
7
-5
0
2
0
0
0
0
0
0
0
0
0
-12
60
-10
14
1
0
0
0
0
0
0
0
0
0
0
0
-13
-22
0
32
-6
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-4
0
0
3
0
0
0
0
0
0
0
0
6
0
-1
-3
9
-67
-11
0
0
0
0
0
0
0
0
0
6
1
0
5
4
-25
116
-41
-8
0
0
0
0
0
0
0
0
0
1
5
-4
-9
2
30
6
-8
0
0
0
0
0
0
0
0
0
0
0
-3
90
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
14
-25
0
0
2
0
0
0
0
0
0
0
0
0
0
51
35
39
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-15
-8
0
2
0
0
0
0
0
0
0
0
2
-1
0
-4
-5
20
-13
1
0
0
0
0
0
0
0
0
5
-4
0
12
4
3
-2
60
14
0
0
0
0
0
0
0
0
0
2
21
8
5
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
13
-9
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
18
3
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
21
38
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
4
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
-2
46
-4
0
0
0
0
0
0
0
0
0
3
0
0
5
0
5
16
10
1
-1
0
0
0
0
0
0
0
1
0
0
10
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
-6
5
25
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
7
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
-12
0
0
4
0
0
0
0
0
0
0
0
-7
-2
6
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-1
-6
0
0
0
0
0
0
0
0
0
1
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-16
10
-8
6
45
24
10
0
0
0
0
0
0
0
0
0
50
29
22
5
15
-27
-44
25
3
0
0
0
0
0
0
0
0
7
29
8
11
-31
14
-9
0
0
0
0
0
0
0
0
0
0
53
3
4
11
-25
5
0
0
0
0
0
0
0
0
0
0
0
4
-42
40
-20
-30
-11
0
-4
0
0
0
0
0
0
0
0
0
0
-1
12
-53
9
-1
0
0
0
0
0
0
0
0
0
0
0
-66
29
-6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-18
-10
16
46
-75
79
0
0
0
0
0
0
0
0
0
-7
5
25
2
-85
-31
-38
11
68
-4
0
0
0
0
0
0
0
-1
50
-74
4
-11
-23
-20
38
-40
12
0
0
0
0
0
0
0
0
-14
-100
5
11
-101
69
-74
-2
0
0
0
0
0
0
0
0
6
-36
-13
4
-57
-3
31
11
13
1
0
0
0
0
0
0
0
0
24
54
-60
54
-6
7
-33
6
0
0
0
0
0
0
0
0
-25
0
67
-34
-52
0
27
0
-4
0
0
0
0
0
0
0
0
-8
-4
54
16
87
1
0
0
0
0
0
0
0
0
0
0
0
72
30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
2
-7
29
-10
5
41
0
2
0
0
0
0
0
0
0
0
-73
14
3
68
-23
-26
-58
-8
-5
0
0
0
0
0
0
0
0
-3
-81
-32
-28
72
-1
32
87
4
0
0
0
0
0
0
0
0
27
-65
-3
-61
-45
48
69
-46
0
0
0
0
0
0
0
0
0
28
92
59
43
-3
-34
0
13
8
0
0
0
0
0
0
0
0
35
-50
-31
96
-39
45
-2
1
0
0
0
0
0
0
0
0
-3
-27
0
2
-58
-45
-8
-1
0
0
0
0
0
0
0
0
0
4
-23
-1
-15
102
-2
1
5
0
0
0
0
0
0
0
0
0
-1
-30
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
0
-5
33
-26
0
0
-1
0
0
0
0
0
0
0
1
-16
1
30
-26
39
-86
-38
-33
1
0
0
0
0
0
0
0
0
9
9
4
-27
-30
53
-2
8
2
0
0
0
0
0
0
0
0
-40
-13
86
-4
24
-69
33
0
0
0
0
0
0
0
0
0
0
-4
54
-24
-32
-7
91
44
0
0
0
0
0
0
0
0
0
0
-32
-6
38
41
42
-28
9
20
0
0
0
0
0
0
0
0
0
-53
-28
0
14
0
0
-3
-3
0
0
0
0
0
0
0
0
2
35
3
15
-1
-2
0
-3
-5
0
0
0
0
0
0
0
0
7
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
18
0
0
0
0
0
0
0
0
0
0
3
-1
10
-10
-14
-2
1
-2
1
0
0
0
0
0
0
0
0
-7
-6
0
-14
5
-19
44
0
4
0
0
0
0
0
0
0
0
3
10
-7
0
-19
27
-1
-4
0
0
0
0
0
0
0
0
0
0
23
0
12
-18
27
-4
0
0
0
0
0
0
0
0
0
0
1
-4
7
-8
-22
24
1
1
0
0
0
0
0
0
0
0
0
14
-3
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-2
0
0
0
0
0
0
0
0
0
0
-3
4
4
-8
-1
-48
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
70
20
-11
5
0
0
0
0
0
0
0
0
0
9
-1
9
-4
-25
22
-12
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
13
53
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
-17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
16
6
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
-3
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
5
-1
10
-6
0
0
0
0
0
0
0
0
0
-5
2
0
-1
-12
19
-4
10
-7
0
0
0
0
0
0
0
0
-35
5
2
10
17
113
-4
8
0
0
0
0
0
0
0
0
0
38
11
-4
37
61
4
-2
0
8
0
0
0
0
0
0
0
0
-18
-29
-68
-18
-13
8
8
0
0
0
0
0
0
0
0
0
0
1
-18
44
-20
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
11
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
53
4
-95
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-11
21
33
-30
26
-42
-7
0
0
0
0
0
0
0
0
0
0
-81
-23
-24
91
37
46
-44
-20
49
0
0
0
0
0
0
0
-5
-59
28
39
44
-7
-37
-142
-40
9
0
0
0
0
0
0
0
-2
7
-10
50
-57
30
42
-21
79
0
0
0
0
0
0
0
0
2
2
8
-10
7
27
23
5
-19
-1
0
0
0
0
0
0
0
0
11
-20
-14
-34
53
4
-15
4
-4
0
0
0
0
0
0
0
3
47
47
-103
15
0
-17
0
0
0
0
0
0
0
0
0
0
15
0
-9
30
-15
-10
-11
10
0
0
0
0
0
0
0
0
0
1
-19
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
0
3
0
-7
7
0
0
0
0
0
0
0
0
0
0
-22
2
48
43
-2
-2
26
-2
0
0
0
0
0
0
0
0
0
16
19
24
12
-17
13
6
-3
1
0
0
0
0
0
0
0
0
6
56
-14
-101
37
46
0
2
0
0
0
0
0
0
0
0
-2
-1
-55
78
87
7
95
-18
0
3
0
0
0
0
0
0
0
0
-40
9
41
-25
-25
-15
-1
-7
0
0
0
0
0
0
0
0
0
18
-4
75
23
36
1
-1
-5
0
0
0
0
0
0
0
0
0
42
0
-33
-16
15
0
-2
0
0
0
0
0
0
0
0
0
16
0
76
-14
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
9
0
22
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-16
7
-22
-3
-5
0
0
0
0
0
0
0
0
16
0
-40
65
34
-31
-15
-2
0
0
0
0
0
0
0
0
0
1
24
2
-22
20
-5
8
8
0
0
0
0
0
0
0
0
0
7
1
-3
-29
-7
-31
-7
0
0
0
0
0
0
0
0
0
0
-13
13
40
4
52
14
1
0
0
0
0
0
0
0
0
0
0
-49
-5
0
16
12
4
0
0
0
0
0
0
0
0
0
0
3
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
4
1
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
-2
-12
0
0
0
0
0
0
0
0
0
0
0
1
-3
13
41
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
23
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-2
36
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
15
-9
12
0
0
0
0
0
0
0
0
83
2
-2
-2
1
18
5
35
0
0
0
0
0
0
0
0
0
19
10
-24
46
7
8
-4
0
0
0
0
0
0
0
0
0
0
-6
87
35
16
-6
-3
0
0
0
0
0
0
0
0
0
0
0
26
-21
-37
-61
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
22
74
-12
8
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
6
-7
0
0
0
0
0
0
0
0
0
-1
-7
-1
1
0
25
-5
-3
-1
0
0
0
0
0
0
0
0
13
1
-8
13
4
-7
-5
0
0
0
0
0
0
0
0
0
0
1
3
54
-32
-21
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
10
33
34
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
2
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
-9
0
1
25
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
56
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-66
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
8
18
-19
-8
0
-2
0
0
0
0
0
0
0
0
8
-16
9
6
-5
17
-3
0
14
0
0
0
0
0
0
0
0
10
2
-10
-5
14
-44
39
18
0
0
0
0
0
0
0
0
0
-7
59
-45
-24
28
19
4
4
-11
0
0
0
0
0
0
0
0
-13
-14
-29
23
-12
-2
83
0
0
0
0
0
0
0
0
0
0
0
22
-63
-22
10
4
0
0
7
0
0
0
0
0
0
0
0
0
6
-4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
57
-4
50
-45
-26
-8
0
0
0
0
0
0
0
0
0
1
-26
31
-34
-9
-36
9
0
13
0
0
0
0
0
0
0
0
38
-20
71
-28
27
-16
-55
-26
-40
23
0
0
0
0
0
0
0
-41
43
52
55
-70
-1
-44
-5
-43
-55
0
0
0
0
0
0
0
-29
9
-44
23
49
-55
-14
-16
-31
-65
0
0
0
0
0
0
0
-5
-67
68
49
52
33
39
43
47
-126
0
0
0
0
0
0
0
-6
-15
-66
1
4
-15
-46
24
25
1
0
0
0
0
0
0
0
0
-7
-24
30
8
25
0
0
-20
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
4
-31
-37
-63
-17
0
0
-1
0
0
0
0
0
0
22
-78
5
-82
-15
-39
-48
0
-29
0
-17
0
0
0
0
0
0
2
25
84
-31
-7
-57
75
-46
-70
27
-27
0
0
0
0
0
0
-8
88
52
-15
69
13
-1
-23
51
-24
3
0
0
0
0
0
0
8
7
57
-47
129
-90
-6
55
-9
-106
5
0
0
0
0
0
0
-3
-10
26
-1
-21
-33
-1
-26
47
-76
25
0
0
0
0
0
0
0
-22
7
24
-15
9
-40
3
0
22
0
0
0
0
0
0
0
0
-17
2
69
6
8
-25
-1
8
13
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
7
-1
0
7
-16
-71
28
0
0
-1
0
0
0
0
0
0
27
64
-1
2
19
6
36
0
8
0
7
0
0
0
0
0
0
-12
13
-20
-45
10
4
-56
-57
-80
-30
-28
0
0
0
0
0
0
30
60
0
-42
98
-2
-15
13
62
-38
43
0
0
0
0
0
0
3
-5
25
20
7
-14
-33
4
6
-47
14
0
0
0
0
0
0
1
24
20
69
-53
-12
1
16
-40
34
2
0
0
0
0
0
0
0
21
25
-4
-1
30
-41
10
-15
2
0
0
0
0
0
0
0
0
0
8
1
2
-14
24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-31
10
0
-44
-113
0
0
-5
0
0
0
0
0
0
0
2
4
21
5
7
0
28
0
-8
0
-8
-1
0
0
0
0
0
0
30
31
-40
-29
-64
65
-5
-23
-94
41
-8
0
0
0
0
0
27
50
36
41
-59
-2
-5
-67
-117
-53
3
0
0
0
0
0
0
-25
12
50
41
11
18
-64
39
29
-89
-19
-1
0
0
0
0
0
-4
8
46
-6
-73
3
-31
-42
-6
7
0
-4
0
0
0
0
0
0
7
40
38
8
-5
-22
31
-47
3
0
0
0
0
0
0
0
0
19
12
-29
-10
27
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-73
30
22
0
-58
-41
0
0
0
0
0
0
0
0
0
-2
16
8
61
13
-32
16
0
0
0
7
0
0
0
0
0
0
1
14
-18
45
-8
-35
-35
7
33
-52
4
0
0
0
0
0
0
0
-4
0
66
-18
-58
12
-17
8
-42
0
0
0
0
0
0
0
-25
23
6
32
-58
41
42
10
3
12
6
0
0
0
0
0
0
0
-80
-13
48
32
38
2
1
2
0
0
0
0
0
0
0
0
0
0
19
5
-16
-24
2
-25
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
2
-9
1
0
-55
0
-8
2
0
0
0
0
0
0
0
7
-7
46
-11
49
5
0
0
0
6
-1
0
0
0
0
0
0
-12
71
-45
-36
-57
22
0
-2
1
30
0
0
0
0
0
0
0
0
-4
18
50
-2
-54
12
0
-14
0
0
0
0
0
0
0
0
0
11
-25
-32
20
8
6
0
8
0
0
0
0
0
0
0
0
-16
44
29
-22
29
-6
0
-4
-25
0
0
0
0
0
0
0
0
0
-3
13
1
0
-1
5
0
1
0
0
0
0
0
0
0
0
0
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
13
7
14
0
1
1
0
-6
0
0
0
0
0
0
0
0
0
2
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-12
-5
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
13
51
45
-30
23
0
0
0
0
0
0
0
0
0
0
0
6
-36
6
-29
-21
7
4
0
21
0
0
0
0
0
0
0
0
19
-8
55
47
-17
36
-4
47
28
0
0
0
0
0
0
0
0
51
8
-28
46
73
67
10
4
-73
0
0
0
0
0
0
0
0
48
59
2
19
19
52
48
-25
-157
0
0
0
0
0
0
0
0
25
-1
20
-77
48
1
1
2
-6
0
0
0
0
0
0
0
0
-48
-7
6
35
37
0
8
16
-6
0
0
0
0
0
0
0
0
0
-1
0
17
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
51
24
-34
34
56
53
-4
0
-6
0
0
0
0
0
0
0
11
-27
-1
-10
-11
-16
-42
0
-3
0
0
0
0
0
0
0
0
-27
104
24
30
-38
31
48
-22
-44
51
0
0
0
0
0
0
0
19
31
64
27
14
66
5
1
25
-59
0
0
0
0
0
0
0
-36
-13
85
33
-29
2
-52
30
-18
-42
0
0
0
0
0
0
0
-1
-24
-86
40
-14
30
-23
-9
-18
73
0
0
0
0
0
0
0
-19
5
39
-15
45
7
0
4
-8
4
0
0
0
0
0
0
0
0
-2
-7
-5
19
-46
26
-6
3
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-17
35
22
-64
-142
2
0
27
19
0
0
0
0
0
0
41
42
85
38
54
-28
7
0
27
0
33
0
0
0
0
0
0
-30
-17
-10
-34
5
-27
-11
-50
70
13
12
0
0
0
0
0
0
46
-38
46
38
-47
26
25
-23
-31
73
-42
0
0
0
0
0
0
42
-7
68
49
-43
-20
-44
26
18
-22
16
0
0
0
0
0
0
0
-29
-1
19
17
-21
10
80
-37
-61
-2
0
0
0
0
0
0
-9
14
87
21
55
-17
-112
-5
42
3
0
0
0
0
0
0
0
0
-13
-18
-35
46
36
9
-9
2
-8
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-20
-21
-35
-18
5
-3
-95
-7
0
0
31
0
0
0
0
0
0
-16
84
14
1
-5
-10
6
0
9
0
-30
0
0
0
0
0
0
-9
39
33
55
36
61
24
-11
64
-10
56
-1
0
0
0
0
0
-15
6
32
5
4
-29
26
4
46
68
26
2
0
0
0
0
0
8
-34
2
-18
51
-6
-34
58
28
5
-64
0
0
0
0
0
0
-1
-56
-37
-17
23
109
102
-17
29
15
-2
0
0
0
0
0
0
-8
0
17
13
65
50
-33
30
-25
0
4
-1
0
0
0
0
0
0
-2
4
2
0
8
2
-1
-4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
7
-34
-6
-28
11
-17
-19
0
3
7
0
0
0
0
0
0
0
11
-45
14
-45
12
11
0
-17
0
-84
12
0
0
0
0
0
-12
22
-18
33
0
13
-93
-9
-16
30
72
2
0
0
0
0
0
8
-26
50
47
-1
2
-61
14
-14
-53
-1
-39
0
0
0
0
0
-5
-40
-45
-37
-43
-36
-12
10
2
-38
4
0
0
0
0
0
0
0
75
17
36
16
-85
-6
30
-1
40
-16
-6
0
0
0
0
0
0
-23
60
-32
23
6
7
9
-1
25
0
6
0
0
0
0
0
0
-3
15
43
2
-18
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
48
13
-2
68
-5
31
-1
0
0
1
0
0
0
0
0
0
-19
21
-52
38
16
-9
-21
0
-59
0
-66
0
0
0
0
0
0
24
29
25
22
-49
-74
-60
51
41
-12
-40
1
0
0
0
0
0
-8
-18
-21
5
95
27
48
-24
27
19
7
0
2
0
0
0
0
-13
-7
10
27
1
-30
53
13
-20
-13
33
-2
0
0
0
0
0
0
-50
-6
0
-5
-27
63
-17
25
25
0
0
0
0
0
0
0
0
-12
3
-28
-19
3
-1
0
0
1
0
0
0
0
0
0
0
0
0
8
-17
-12
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-65
36
13
30
2
0
0
16
8
0
0
0
0
0
0
-14
3
29
-61
-144
-66
0
-6
0
-4
9
0
0
0
0
0
0
0
-2
7
-3
44
-119
13
-52
2
39
14
0
0
0
0
0
0
31
-35
34
-8
-57
-31
-21
14
-19
2
0
0
0
0
0
0
0
-4
-40
-13
16
-37
-34
-12
-8
-31
-3
0
0
0
0
0
0
0
-21
8
4
99
-34
-10
-13
-5
10
-8
0
0
0
0
0
0
0
0
-22
-8
23
3
5
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
-6
-19
-4
0
0
0
0
0
0
0
0
0
0
0
-3
16
5
1
0
0
-4
0
0
-6
0
0
0
0
0
0
0
13
-50
-5
43
-72
3
-41
3
0
0
0
0
0
0
0
0
-13
7
9
16
-34
0
-7
7
-10
-1
0
0
0
0
0
0
0
0
9
19
5
0
-13
0
1
-2
2
0
0
0
0
0
0
0
0
0
4
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
0
0
0
0
3
2
0
0
0
0
0
0
0
3
7
-8
-73
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-3
16
0
-13
2
1
0
0
0
0
0
0
0
4
-5
1
-26
-2
0
1
0
3
-1
0
0
0
0
0
0
0
-3
-2
2
5
-17
15
-1
-5
-2
-2
0
0
0
0
0
0
0
0
0
6
-3
8
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
8
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
1
17
-36
0
-1
0
-1
1
0
0
0
0
0
0
0
1
7
-58
-62
-41
-19
-3
0
-43
15
0
0
0
0
0
0
0
-1
-14
4
-10
15
-44
9
0
2
0
0
0
0
0
0
0
0
1
-29
-3
3
-29
43
0
0
-1
3
0
0
0
0
0
0
0
0
1
-5
-30
-6
-9
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
2
3
0
0
0
0
0
0
0
-6
-5
-12
-10
0
1
0
2
5
0
0
0
0
0
0
0
0
0
0
-8
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
1
24
-12
14
0
0
0
0
0
0
0
0
0
0
0
-18
-25
72
32
27
-3
7
0
-27
0
0
0
0
0
0
0
0
-24
-57
-29
45
-4
-55
36
3
31
0
0
0
0
0
0
0
0
6
48
-25
48
21
42
-73
41
27
0
0
0
0
0
0
0
0
-24
-47
17
-72
37
69
19
-9
1
0
0
0
0
0
0
0
0
-5
52
31
-7
9
-25
4
0
-16
0
0
0
0
0
0
0
0
0
5
12
2
8
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-29
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
45
39
40
-51
15
-35
-52
16
0
-2
0
0
0
0
0
0
0
-53
-38
-19
-22
-37
-56
-47
0
119
0
0
0
0
0
0
0
0
30
36
-17
0
5
-25
-36
28
16
-101
0
0
0
0
0
0
0
-26
10
12
-57
-24
-12
15
13
23
-86
0
0
0
0
0
0
0
85
9
10
-20
42
44
35
-66
-64
-25
0
0
0
0
0
0
0
-9
87
24
-1
7
19
18
-22
43
-22
0
0
0
0
0
0
0
0
17
52
2
-65
-44
-21
-8
-3
-1
0
0
0
0
0
0
0
0
-2
-15
25
-27
-9
5
3
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
41
-25
26
-24
-24
-28
0
45
1
0
0
0
0
0
0
-48
-6
-3
20
-58
-54
-33
0
2
0
40
0
0
0
0
0
0
-13
85
47
-19
-26
-31
23
47
-57
-69
11
0
0
0
0
0
0
-10
34
-13
6
6
-49
-44
-111
-25
60
-7
0
0
0
0
0
0
-34
41
37
-22
-40
52
-60
12
84
-38
-7
0
0
0
0
0
0
0
31
-50
-2
70
9
0
33
20
14
2
0
0
0
0
0
0
0
-55
33
-3
34
9
4
-87
13
-9
0
0
0
0
0
0
0
0
7
4
-2
7
42
-14
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
3
58
32
65
-2
21
-8
0
-1
8
0
0
0
0
0
0
48
-45
138
-22
51
-71
-43
0
-32
0
77
-2
0
0
0
0
0
-29
-38
-52
46
30
3
8
39
-14
-23
-28
-9
0
0
0
0
0
-12
-33
58
22
-32
-35
51
33
0
-89
-18
-1
0
0
0
0
0
-4
32
-13
16
19
32
27
44
7
28
-69
0
0
0
0
0
0
0
-25
2
-12
42
80
-53
11
-22
25
0
0
0
0
0
0
0
0
32
-1
6
-51
42
-3
-30
4
0
0
0
0
0
0
0
0
0
0
-8
24
-4
8
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
1
62
17
-39
58
-2
31
-4
0
4
-2
0
0
0
0
0
0
-5
-10
-27
-1
-56
0
22
0
3
0
13
-13
0
0
0
0
0
23
-6
-19
44
51
43
-14
-2
-43
1
5
-9
0
0
0
0
0
-83
33
8
-35
-1
-12
-8
66
-44
9
-16
-1
0
0
0
0
0
4
-40
22
-37
-9
19
-11
-29
-26
23
-8
-3
0
0
0
0
0
2
72
-31
-49
-4
-42
-69
9
1
-30
0
0
0
0
0
0
0
0
15
-3
2
34
0
25
14
2
-2
0
0
0
0
0
0
0
0
0
1
-55
-6
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-42
-46
13
-14
-14
-14
0
-5
19
0
0
0
0
0
0
23
1
23
31
14
12
51
0
1
0
12
0
0
0
0
0
0
-27
49
-8
-1
-78
2
-9
75
24
75
8
1
0
0
0
0
0
88
87
-45
-32
-66
-66
-72
25
-27
2
8
1
0
0
0
0
0
13
35
-20
-45
21
44
-26
-6
-8
-24
2
2
-2
0
0
0
0
0
13
15
-40
-57
-25
14
6
-1
9
-3
0
0
0
0
0
0
0
5
30
15
15
2
-9
1
-4
13
0
0
0
0
0
0
0
0
3
0
29
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-30
15
-3
7
-24
9
0
-2
-10
0
0
0
0
0
0
0
-19
21
-41
72
-99
-26
0
7
0
-11
6
0
0
0
0
0
0
34
33
11
15
-36
5
-27
-7
-9
-36
1
0
0
0
0
0
0
2
46
-24
-1
-29
28
58
13
-5
-8
0
-1
0
0
0
0
0
-1
-10
-1
6
-8
14
9
-32
8
0
1
0
0
0
0
0
0
-2
14
-41
-9
-4
-14
24
0
3
0
0
0
0
0
0
0
0
0
-4
36
-10
-9
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
13
-2
31
1
-5
0
1
-4
0
0
0
0
0
0
0
0
13
15
-10
-48
-4
0
2
0
2
0
0
0
0
0
0
1
2
41
9
2
-63
-43
2
-24
-6
-63
0
0
0
0
0
0
-10
1
-16
-67
-20
7
-90
12
17
2
0
5
0
0
0
0
0
0
-1
6
-1
3
5
0
1
-2
5
4
0
0
0
0
0
0
0
-1
-1
0
-2
-19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
40
11
17
-1
8
0
0
0
1
0
0
0
0
0
0
-17
-14
33
27
68
-25
-13
0
-5
0
-1
0
0
0
0
0
0
1
-17
51
97
-47
4
-16
-36
4
-17
2
0
0
0
0
0
0
32
27
4
-51
31
5
48
-29
32
-8
-2
3
0
0
0
0
0
0
-3
19
28
44
22
4
-16
-5
-2
0
0
0
0
0
0
0
0
-7
1
-1
17
1
8
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-55
14
-43
-19
-40
8
0
-85
3
0
0
0
0
0
0
0
54
-14
-49
-28
60
-39
0
-1
0
1
0
2
0
0
0
0
0
-43
-25
2
-27
44
137
48
-42
-29
13
0
3
0
0
0
0
0
-8
-46
-131
39
-62
-46
-53
-17
21
-28
-2
0
0
0
0
0
0
-18
-22
-36
-46
-46
-19
58
-25
22
0
0
0
0
0
0
0
0
-15
-10
6
32
-71
8
1
4
-10
3
0
0
0
0
0
0
0
0
20
1
-40
4
9
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
1
2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-2
7
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
1
-17
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
47
2
-27
10
0
0
0
0
0
0
0
0
0
0
0
6
46
-40
30
-1
-42
13
0
-36
0
0
0
0
0
0
0
0
25
15
0
-47
11
-24
-5
20
-53
0
0
0
0
0
0
0
0
-3
33
8
56
30
-7
30
-1
13
0
0
0
0
0
0
0
0
-2
-31
-4
-23
27
-43
4
-29
-41
0
0
0
0
0
0
0
0
-2
9
21
5
41
-4
44
0
1
0
0
0
0
0
0
0
0
2
16
13
-13
-22
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
10
29
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
46
-5
14
13
-14
-29
84
-6
0
-3
0
0
0
0
0
0
0
-12
-24
20
23
-73
-68
-39
0
26
0
0
0
0
0
0
0
0
-59
-6
47
-27
16
-65
-1
-57
-21
41
0
0
0
0
0
0
0
74
4
-58
-26
5
-4
47
-31
-63
-73
0
0
0
0
0
0
0
10
-13
-35
10
-49
-19
-84
7
-39
-55
0
0
0
0
0
0
0
18
20
-7
-69
-40
-7
34
5
-25
-41
0
0
0
0
0
0
0
0
6
-37
56
-54
29
-42
-12
10
-8
0
0
0
0
0
0
0
0
-1
-41
-63
-22
19
-4
-4
-2
0
0
0
0
0
0
0
0
0
30
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
29
57
-3
5
-19
2
0
5
-2
0
0
0
0
0
0
8
-53
144
13
23
4
64
0
0
0
37
0
0
0
0
0
0
-1
-5
-37
62
17
29
2
-56
31
-56
22
0
0
0
0
0
0
-36
-11
-41
-2
23
5
5
-2
-19
43
1
0
0
0
0
0
0
-65
4
-18
4
13
-61
-18
-13
-27
4
-1
0
0
0
0
0
0
0
25
-8
4
36
-60
-14
-17
-52
18
1
0
0
0
0
0
0
-13
-25
49
-73
-24
-97
57
-22
24
-3
-1
0
0
0
0
0
0
0
-20
-40
-29
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
1
48
43
14
20
-60
-5
0
1
6
1
0
0
0
0
0
-40
-66
-9
46
91
24
61
0
9
0
-54
0
0
0
0
0
0
-29
-61
27
28
16
2
30
-41
19
39
14
2
0
0
0
0
0
74
1
12
41
54
-24
6
79
-8
43
23
7
0
0
0
0
0
-19
-9
-77
29
16
-19
68
-12
18
3
1
0
0
0
0
0
0
4
-13
-14
-49
-69
-39
-14
-5
-24
-41
3
0
0
0
0
0
0
0
-6
-41
92
-4
29
-14
-13
5
0
-1
0
0
0
0
0
0
0
0
0
8
4
4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-27
61
-10
32
-1
7
0
-3
7
0
0
0
0
0
0
0
-47
-20
39
-44
-7
0
0
36
0
23
0
0
0
0
0
0
-42
-12
31
-15
-31
-19
-28
-40
53
5
-10
-21
0
0
0
0
0
-15
-66
32
44
0
69
60
25
74
6
24
0
0
0
0
0
0
-3
-37
-56
-4
43
17
-40
-55
5
-47
-1
0
0
0
0
0
0
0
-94
-46
9
31
6
0
-41
-33
-7
-1
0
0
0
0
0
0
0
-1
-49
-47
-40
17
11
-8
38
1
0
0
0
0
0
0
0
0
-17
-25
-57
29
-2
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
41
76
16
22
49
18
1
0
0
3
0
0
0
0
0
0
1
30
1
-18
93
-24
-44
0
7
0
-13
0
0
0
0
0
0
25
-6
-9
-23
-9
-84
-13
17
8
27
-18
-6
0
0
0
0
0
-15
90
-9
-11
-92
-37
29
-10
-44
-46
-5
-3
0
0
0
0
0
-2
9
-34
-82
-52
-28
-32
-4
40
-43
-3
1
0
0
0
0
0
0
-24
-10
-45
8
56
40
-24
-23
0
-7
0
0
0
0
0
0
0
-7
-25
6
-28
36
-6
40
0
0
7
0
0
0
0
0
0
0
-4
-19
7
-13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-1
-5
-20
9
0
0
0
0
0
0
0
0
0
0
0
20
10
62
14
18
17
0
0
0
2
0
0
0
0
0
0
0
-20
-4
4
41
45
-2
-22
18
-67
4
-7
0
0
0
0
0
0
-25
2
-13
29
-14
0
3
-3
-5
-1
0
0
0
0
0
0
0
0
1
42
-20
12
55
-22
0
-8
0
3
0
0
0
0
0
0
34
-8
-5
-18
44
8
-4
1
7
4
0
0
0
0
0
0
0
0
2
-19
7
-8
-12
8
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-29
-7
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
15
-20
-28
-20
8
42
0
0
0
-10
0
0
0
0
0
0
-13
-1
-80
0
-18
7
-12
1
-7
10
1
0
1
0
0
0
0
0
-14
-23
-14
13
8
33
0
-16
0
1
-3
0
0
0
0
0
0
-6
-3
-25
-2
-33
-7
7
2
0
-3
0
0
0
0
0
0
0
0
-6
0
24
-8
7
-5
0
0
0
0
0
0
0
0
0
0
3
0
-1
-8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
10
33
-33
24
-12
-20
0
0
0
2
0
0
0
0
0
0
11
14
15
6
73
25
-18
0
5
0
1
0
0
0
0
0
0
-11
-2
-44
21
-40
25
-52
-79
44
4
-6
0
0
0
0
0
0
22
-27
4
-31
19
-81
-9
8
2
9
2
0
0
0
0
0
0
-40
49
-32
-61
-36
-36
26
-13
-77
0
2
0
0
0
0
0
0
0
10
-56
35
17
-10
10
7
-5
0
0
0
0
0
0
0
0
0
-7
15
6
22
0
6
0
5
0
0
0
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-46
-73
-5
16
23
-12
0
18
0
0
0
0
0
0
0
0
-32
46
39
-1
-43
1
0
1
0
0
-1
0
0
0
0
0
0
40
103
-38
-32
8
-1
-24
18
-15
1
0
0
0
0
0
0
0
8
52
49
-2
60
-43
-76
-3
1
2
0
0
0
0
0
0
0
-1
-16
-27
9
11
-56
-6
10
78
0
0
0
0
0
0
0
0
-4
-9
-4
40
-43
-17
24
0
1
0
0
0
0
0
0
0
0
0
13
1
-17
6
-73
-13
0
2
0
0
0
0
0
0
0
0
0
13
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
1
-9
0
0
0
5
-1
0
0
0
0
0
0
0
0
1
-3
-20
-1
-1
2
0
10
0
0
0
0
0
0
0
0
0
14
-1
23
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-22
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
7
-8
1
0
0
0
0
0
0
0
0
0
0
0
-16
13
-5
33
8
-19
-5
0
-8
0
0
0
0
0
0
0
0
-14
-7
24
-7
-30
10
2
1
-5
0
0
0
0
0
0
0
0
-4
69
0
13
-12
-25
5
2
-23
0
0
0
0
0
0
0
0
0
0
2
24
24
5
4
0
-41
0
0
0
0
0
0
0
0
-10
-19
1
-13
-1
7
-37
-4
-9
0
0
0
0
0
0
0
0
2
-5
38
7
-13
0
0
-8
1
0
0
0
0
0
0
0
0
0
-29
-3
49
0
3
-10
-5
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
42
20
15
20
23
1
0
0
-1
0
0
0
0
0
0
0
58
72
2
-9
59
-2
-41
0
-5
0
0
0
0
0
0
0
0
22
74
1
-13
-29
-30
25
8
24
-42
0
0
0
0
0
0
0
2
-65
66
45
-31
-81
81
45
-12
31
0
0
0
0
0
0
0
10
0
-19
-58
10
44
-17
-36
49
-56
0
0
0
0
0
0
0
-19
-20
10
-44
-12
22
-1
6
-29
22
0
0
0
0
0
0
0
4
-25
-12
-27
-5
-3
48
-42
-6
-33
0
0
0
0
0
0
0
0
18
33
-55
16
22
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-25
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
113
-9
57
11
51
-2
0
-13
0
0
0
0
0
0
0
0
-37
-6
9
5
-25
52
0
24
0
-33
0
0
0
0
0
0
17
20
-1
18
-1
-85
-21
32
-31
-15
-16
0
0
0
0
0
0
13
-24
19
-26
31
19
-5
60
-30
-70
8
0
0
0
0
0
0
-1
1
0
11
12
22
-17
-114
78
6
2
0
0
0
0
0
0
0
-51
42
24
20
49
-54
-52
-3
-81
8
0
0
0
0
0
0
0
-44
-43
42
-31
-15
29
1
-9
-5
0
0
0
0
0
0
0
0
-25
3
19
-48
-44
8
-8
1
2
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
-25
-6
-2
-18
-41
-5
0
0
4
0
0
0
0
0
0
8
21
25
22
1
42
54
0
-3
0
13
4
0
0
0
0
0
30
0
17
-7
55
47
-13
-13
-28
70
-5
-3
0
0
0
0
0
15
66
-7
7
32
57
-40
-78
5
16
4
-2
0
0
0
0
0
-58
-41
-4
0
78
9
41
21
18
-6
-6
0
0
0
0
0
0
1
72
-44
49
36
25
34
-3
-28
-21
3
0
0
0
0
0
0
0
-1
-45
-24
-14
5
29
-7
0
0
0
0
0
0
0
0
0
0
0
5
-3
-30
15
2
-4
0
0
0
0
0
0
0
0
0
0
-13
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
-1
-9
-2
-13
0
-2
0
1
0
0
0
0
0
-4
12
-47
-1
81
-34
13
0
3
0
-8
2
0
0
0
0
0
1
11
9
41
-8
86
-19
-6
-5
2
9
-9
0
0
0
0
0
5
8
-48
-7
7
15
56
61
7
-20
-4
-1
0
0
0
0
0
2
-31
10
-6
1
0
-69
53
-19
-7
0
0
0
0
0
0
0
0
-6
18
28
15
42
57
-21
9
-52
-4
1
0
0
0
0
0
0
-12
-6
16
-38
-30
13
-41
7
-1
0
0
0
0
0
0
0
0
1
-2
-21
-21
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
-2
8
-8
-14
31
14
13
-1
0
0
0
0
0
0
0
0
0
2
61
-5
8
49
61
0
0
-2
0
10
-5
0
0
0
0
0
8
-32
41
-18
0
-8
-43
-10
19
-3
13
0
0
0
0
0
0
-10
15
50
6
46
15
5
13
17
8
-3
0
0
0
0
0
0
-8
-19
0
55
52
0
95
1
-5
-48
33
0
0
0
0
0
0
0
-8
-73
48
-9
-9
5
1
0
-23
-1
0
0
0
0
0
0
0
8
-42
-51
6
-30
29
4
8
0
0
0
0
0
0
0
0
0
3
2
13
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
52
12
25
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
-22
45
-18
47
31
0
1
0
-16
-1
0
0
0
0
0
0
-6
80
-17
-46
15
-7
3
-5
-10
0
-1
0
0
0
0
0
0
12
-2
-5
-33
5
7
-5
-12
-40
1
2
0
0
0
0
0
0
-3
22
4
-18
49
0
16
33
44
0
-3
0
0
0
0
0
0
-8
-21
4
-34
-4
0
-7
0
-7
0
0
0
0
0
0
0
0
0
7
10
-42
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-1
17
-2
1
-12
0
0
0
0
0
0
0
0
0
0
0
-9
-7
76
4
-68
-4
0
-3
0
5
0
0
0
0
0
0
-27
-25
14
7
5
32
-10
-31
8
2
4
0
0
0
0
0
0
6
7
-8
91
-56
-7
-16
1
-22
-7
-3
0
0
0
0
0
0
23
33
-3
7
6
29
8
0
-1
7
0
0
0
0
0
0
0
0
4
2
-24
-40
-33
-18
2
0
2
0
0
0
0
0
0
0
-2
0
-16
4
3
20
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-47
16
-6
-5
-3
0
0
0
0
0
0
0
0
0
0
38
42
-97
-12
73
-12
48
0
0
0
-1
1
0
0
0
0
0
-14
-73
-22
34
-31
-23
-33
4
-61
-151
0
0
0
0
0
0
0
-41
52
-109
14
-42
41
-69
23
-9
-7
0
0
0
0
0
0
0
90
41
-3
46
-88
-76
-24
3
0
-11
0
0
0
0
0
0
0
-16
10
-66
-21
-61
-47
-20
25
-26
8
0
0
0
0
0
0
0
-1
8
51
74
-28
-19
-27
2
0
-3
0
0
0
0
0
0
0
0
0
-10
2
8
61
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-45
44
67
-13
24
-3
0
10
-3
0
0
0
0
0
0
0
33
9
56
29
18
-27
0
7
0
1
0
0
0
0
0
0
0
-17
-17
-6
-56
-39
27
5
-2
-52
1
0
0
0
0
0
0
0
-1
35
7
45
77
-10
-2
-16
-56
-2
0
0
0
0
0
0
0
-29
-26
-41
30
-52
-85
13
-25
0
-8
0
0
0
0
0
0
0
0
-42
33
-24
-55
35
16
-5
29
0
0
0
0
0
0
0
0
24
48
3
-63
-33
9
6
2
0
0
0
0
0
0
0
0
0
-2
0
-29
-16
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
0
0
0
15
0
0
0
0
0
0
0
0
-8
-3
14
0
-4
0
0
0
-8
0
0
0
0
0
0
0
0
0
-13
-7
3
0
3
0
-1
1
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
2
-1
-1
7
9
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-12
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-16
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
10
5
16
-2
-9
3
0
0
0
0
0
0
0
0
0
0
7
-9
-43
-16
46
18
0
-23
-6
0
0
0
0
0
0
0
0
0
18
9
29
-2
5
-9
1
-34
0
0
0
0
0
0
0
0
17
-30
-33
23
71
-17
18
4
13
0
0
0
0
0
0
0
0
0
0
1
-21
-3
-21
4
32
-17
0
0
0
0
0
0
0
0
1
24
18
6
-4
2
0
0
7
0
0
0
0
0
0
0
0
0
10
0
2
0
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
35
-4
-8
13
19
22
-1
0
-6
0
0
0
0
0
0
0
-16
-24
32
56
45
-82
-22
0
-6
0
0
0
0
0
0
0
0
-14
-14
7
3
75
-69
-34
-29
-24
2
0
0
0
0
0
0
0
-32
-5
-24
-9
70
-47
-2
29
4
-14
0
0
0
0
0
0
0
-45
29
-15
42
-22
-45
-81
48
8
27
0
0
0
0
0
0
0
-1
0
-32
-64
-42
56
15
-16
-4
19
0
0
0
0
0
0
0
0
-10
3
4
90
-12
-10
5
-13
3
0
0
0
0
0
0
0
0
-67
6
52
43
-13
2
8
4
0
0
0
0
0
0
0
0
0
0
14
4
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-28
32
-14
-11
46
-7
33
0
0
1
0
0
0
0
0
0
0
86
18
57
0
-47
-13
0
0
0
19
0
0
0
0
0
0
-12
9
58
30
8
-27
91
11
-9
36
5
0
0
0
0
0
0
0
55
-13
25
2
-40
46
57
18
-72
8
0
0
0
0
0
0
24
16
119
-4
-62
-23
23
6
-18
-9
-14
0
0
0
0
0
0
1
-16
0
16
-18
9
30
22
13
-5
3
0
0
0
0
0
0
0
3
-14
-14
43
9
38
-33
29
3
0
0
0
0
0
0
0
0
-32
41
-2
-74
-31
7
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-83
1
35
28
2
8
0
0
0
1
0
0
0
0
0
0
6
-35
-13
23
22
52
13
0
0
0
-10
0
0
0
0
0
0
-20
-10
20
58
16
95
6
-9
39
15
-52
-4
0
0
0
0
0
-41
25
-53
-88
-49
39
52
19
53
23
2
0
0
0
0
0
0
-16
5
3
33
8
40
-25
35
15
-13
41
0
0
0
0
0
0
-33
-43
23
0
7
44
8
-12
-9
14
-1
0
0
0
0
0
0
-12
-22
-18
11
-40
59
42
34
-41
0
0
0
0
0
0
0
0
0
-3
8
-1
3
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-89
22
52
15
27
28
0
0
3
0
0
0
0
0
0
0
1
1
11
6
77
41
0
3
0
-4
4
0
0
0
0
0
-3
4
-45
-28
46
-33
1
11
-33
42
0
0
0
0
0
0
0
0
-7
24
15
-82
-50
18
19
0
-47
5
0
0
0
0
0
0
-33
-2
5
18
39
3
70
40
-22
66
2
-3
0
0
0
0
0
0
-23
-29
-43
0
48
21
-18
-13
-3
0
0
0
0
0
0
0
0
-14
27
-44
57
58
44
5
-40
0
0
0
0
0
0
0
0
0
-7
42
-3
1
-9
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-20
-32
13
-6
-5
0
0
1
0
0
0
0
0
0
0
61
29
60
24
4
-29
0
-2
0
0
0
0
0
0
0
0
-1
24
60
20
40
-5
-3
8
-24
4
-4
0
0
0
0
0
0
0
27
9
-71
-10
116
83
-5
5
-3
6
0
0
0
0
0
0
5
23
-51
-1
23
18
30
-2
-5
-42
1
0
0
0
0
0
0
1
-49
24
-20
-22
0
21
8
-20
-2
0
0
0
0
0
0
0
1
-1
-25
2
-7
16
2
-7
13
-1
0
0
0
0
0
0
0
0
0
-2
2
-8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-30
20
12
13
13
0
0
0
1
0
0
0
0
0
0
0
30
-36
34
-49
-23
15
0
0
0
0
0
0
0
0
0
0
0
4
-20
-24
45
-1
130
-1
1
-6
0
0
0
0
0
0
0
0
24
20
-58
-10
-17
9
13
-1
-5
0
0
0
0
0
0
0
0
20
13
6
-31
6
-11
20
0
0
0
0
0
0
0
0
0
0
63
-12
30
7
69
0
0
1
-5
0
0
0
0
0
0
0
0
1
-41
-5
-55
-7
-13
0
-3
0
0
0
0
0
0
0
0
0
0
2
-14
-8
-30
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-8
-9
2
0
1
0
0
-1
0
0
0
0
0
0
0
-9
2
68
-2
-7
-7
0
1
0
0
0
0
0
0
0
0
-4
-2
-40
-23
-22
-49
8
-3
-5
0
-7
0
0
0
0
0
0
1
8
-17
-30
-4
-1
6
-17
-2
0
0
0
0
0
0
0
0
13
3
21
-16
57
-29
13
0
-16
0
0
0
0
0
0
0
0
0
16
-10
18
9
-4
-20
0
6
0
0
0
0
0
0
0
0
-4
0
2
4
12
3
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
-20
-1
14
-1
0
0
0
0
0
0
0
0
0
0
-1
89
4
-65
51
16
5
0
1
0
0
0
0
0
0
0
0
-6
29
49
7
25
-5
-29
-31
-71
-45
0
0
0
0
0
0
0
-8
52
-9
12
15
-28
-39
-120
-7
28
0
0
0
0
0
0
0
-9
-90
-41
27
5
11
-70
-5
-17
39
0
0
0
0
0
0
0
-24
23
36
-69
-52
-11
37
-1
0
8
0
0
0
0
0
0
0
6
-4
29
-17
-9
42
15
-15
8
0
0
0
0
0
0
0
0
0
7
24
-10
-23
7
6
3
3
-1
0
0
0
0
0
0
0
0
-16
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
39
-23
39
-5
0
-2
0
10
0
0
0
0
0
0
0
0
18
-36
5
3
-12
-6
0
-2
0
0
0
0
0
0
0
0
0
-17
9
68
-8
-9
37
-3
2
-66
-3
0
0
0
0
0
0
0
53
36
18
126
16
13
-32
-7
-15
-2
0
0
0
0
0
0
0
-8
19
46
29
33
-42
-19
-42
-25
0
0
0
0
0
0
0
0
72
7
33
-75
-33
55
-3
8
0
0
0
0
0
0
0
0
0
0
12
-43
-39
-60
-9
-4
1
1
0
0
0
0
0
0
0
0
-2
15
-3
9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
4
0
0
0
0
-14
0
0
0
0
0
0
0
0
-8
-19
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-22
23
1
0
0
-1
0
0
0
0
0
0
0
0
-19
0
17
-2
6
1
0
1
0
0
0
0
0
0
0
0
0
1
0
-10
-5
41
30
0
0
13
0
0
0
0
0
0
0
0
13
5
18
8
-41
8
-1
0
3
0
0
0
0
0
0
0
0
0
0
-9
-72
-9
-8
5
-1
8
0
0
0
0
0
0
0
0
0
0
24
0
7
2
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
14
-3
24
40
0
0
0
0
0
0
0
0
0
0
-1
84
49
33
15
77
-25
0
-1
0
0
0
0
0
0
0
0
31
40
87
5
22
36
-112
0
-4
-17
0
0
0
0
0
0
0
10
2
21
52
22
-48
-42
-43
20
-25
0
0
0
0
0
0
0
22
3
-2
-9
-51
75
-20
17
-33
-13
0
0
0
0
0
0
0
-6
51
72
34
-6
-19
2
15
-1
-3
0
0
0
0
0
0
0
8
0
0
22
26
-2
-44
5
12
-34
0
0
0
0
0
0
0
0
73
27
15
19
5
2
4
1
6
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
43
-39
41
49
-2
0
5
0
0
0
0
0
0
0
0
13
17
-42
-1
27
29
0
2
0
3
0
0
0
0
0
0
-12
-28
-85
25
-47
20
6
1
12
27
-3
0
0
0
0
0
0
0
23
-8
11
-2
-8
-21
53
-40
32
-8
0
0
0
0
0
0
-7
23
4
58
-49
-33
78
3
-55
-16
13
0
0
0
0
0
0
0
-5
10
15
-1
69
-51
-66
35
-20
0
0
0
0
0
0
0
-6
-4
0
15
36
12
-63
-43
-33
-1
0
0
0
0
0
0
0
0
1
11
2
18
-14
3
3
0
-8
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-34
-17
-32
14
2
0
0
-1
0
0
0
0
0
0
0
-4
34
21
-42
-12
-61
0
6
0
-6
0
0
0
0
0
0
-25
-3
2
-20
-25
48
-57
-24
-5
15
-58
0
0
0
0
0
0
0
33
-13
69
33
-43
23
-5
3
4
23
3
0
0
0
0
0
2
-3
-43
-6
60
7
93
14
1
12
0
0
0
0
0
0
0
7
20
29
-64
57
54
-7
-15
42
25
-7
0
0
0
0
0
0
6
-8
-51
0
25
23
24
25
1
23
0
0
0
0
0
0
0
0
1
5
-6
-5
-67
-7
2
0
0
0
0
0
0
0
0
0
0
0
22
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
16
-75
39
30
4
0
0
0
0
0
0
0
0
0
-6
-19
18
-48
-32
23
20
0
0
0
-1
0
0
0
0
0
0
-7
5
69
42
-8
4
-63
0
15
19
0
0
0
0
0
0
0
0
-41
-22
-5
22
-66
40
-7
-2
12
-8
0
0
0
0
0
0
-16
34
22
12
-5
-71
-15
-3
14
43
0
0
0
0
0
0
0
0
6
1
7
8
28
2
-27
-32
-43
3
-1
0
0
0
0
0
0
4
-9
41
0
-9
27
-26
8
3
0
0
0
0
0
0
0
0
10
2
-30
25
7
8
0
-17
-2
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
13
48
-6
34
4
0
0
0
0
0
0
0
0
0
1
-25
38
-35
30
-2
19
0
-2
0
0
0
0
0
0
0
0
4
7
14
44
19
46
-51
0
1
30
-2
0
0
0
0
0
0
-2
0
8
34
-30
4
-6
25
-13
-33
0
0
0
0
0
0
0
6
0
-28
-7
-44
5
5
2
0
14
-23
0
0
0
0
0
0
1
-2
-13
-6
-17
-18
-19
48
4
2
-1
0
0
0
0
0
0
0
2
47
-13
-41
0
-3
8
32
-12
0
0
0
0
0
0
0
0
-4
2
7
16
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-48
-7
-3
1
0
0
0
0
0
0
0
0
0
0
8
44
-33
25
-17
2
0
0
0
0
0
0
0
0
0
0
0
8
6
20
-73
24
12
-1
0
-5
-1
0
0
0
0
0
0
0
-2
3
-35
-22
-6
29
27
0
0
0
0
0
0
0
0
0
0
2
-8
-25
20
5
-16
-10
6
-10
0
0
0
0
0
0
0
0
-12
-4
34
-29
7
4
-13
0
20
0
0
0
0
0
0
0
0
0
12
-3
-47
-20
0
-27
-22
-3
0
0
0
0
0
0
0
0
0
2
-13
-13
17
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-2
1
4
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-8
12
0
8
0
0
0
2
0
0
0
0
0
0
-19
0
-46
1
-25
7
0
0
-1
-1
0
0
0
0
0
0
0
0
18
-2
-10
-4
-17
3
-3
-7
0
0
0
0
0
0
0
0
0
-8
17
-9
25
7
13
-1
-3
0
0
0
0
0
0
0
0
0
-19
-12
-70
13
7
-2
-4
-1
-6
0
0
0
0
0
0
0
0
0
-28
2
-14
0
-12
0
-5
0
0
0
0
0
0
0
0
0
8
0
-48
-2
-7
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-9
9
-35
-10
24
-2
0
0
0
0
0
0
0
0
0
0
-5
25
-38
-14
-33
5
0
0
0
0
0
0
0
0
0
0
-4
-28
-33
-39
-70
9
-7
24
0
3
0
0
0
0
0
0
0
0
1
-25
2
51
-11
21
1
10
30
0
0
0
0
0
0
0
27
-5
-45
-53
-26
48
-34
27
7
-28
0
0
0
0
0
0
0
0
-14
38
-47
11
9
8
14
3
4
0
0
0
0
0
0
0
0
5
39
0
-52
12
-13
0
0
-18
0
0
0
0
0
0
0
0
-96
-27
68
6
22
0
-19
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-8
-29
10
1
0
0
1
-7
0
0
0
0
0
0
0
-49
-24
56
-38
7
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
43
8
-13
3
0
-6
0
0
0
0
0
0
0
0
3
22
-45
4
25
28
24
0
9
0
0
0
0
0
0
0
0
2
-7
39
-6
-10
-41
18
8
-25
0
0
0
0
0
0
0
0
2
1
-7
29
19
-104
10
1
-7
0
0
0
0
0
0
0
0
-40
-23
30
13
8
74
-19
-8
0
-1
0
0
0
0
0
0
0
0
-9
0
13
-16
2
22
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
10
1
4
0
0
0
0
0
0
0
0
0
0
0
-9
3
58
0
1
2
0
0
5
0
0
0
0
0
0
0
0
1
42
0
16
-1
7
0
0
-14
0
0
0
0
0
0
0
0
23
0
2
-14
-23
-11
0
5
0
0
0
0
0
0
0
0
0
0
91
4
43
0
41
-29
-9
1
0
0
0
0
0
0
0
0
0
2
-25
0
5
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-6
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
8
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
39
0
61
1
-1
-7
0
0
0
0
0
0
0
0
0
0
12
0
45
2
1
4
0
6
48
-15
0
0
0
0
0
0
0
-5
12
7
-10
-24
90
71
-8
68
-24
0
0
0
0
0
0
0
-15
0
57
77
-119
26
-43
8
25
12
0
0
0
0
0
0
0
0
40
-5
31
11
8
-14
13
-8
-8
0
0
0
0
0
0
0
-24
2
63
25
-22
2
-1
3
-29
0
0
0
0
0
0
0
0
0
0
1
-44
7
10
-24
-7
-1
-4
0
0
0
0
0
0
0
0
-25
8
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-6
65
1
5
0
0
0
0
0
0
0
0
0
0
0
-74
1
5
-27
25
9
0
0
0
0
0
0
0
0
0
0
-3
1
14
-31
16
67
18
-3
2
-20
0
0
0
0
0
0
0
0
-38
24
31
45
46
52
-44
-4
-23
0
0
0
0
0
0
0
-4
12
22
40
-36
-4
18
-3
6
6
-1
0
0
0
0
0
0
0
-23
-40
-26
-90
28
-31
13
-10
47
0
0
0
0
0
0
0
2
1
29
35
-37
-35
-18
-16
-10
13
0
0
0
0
0
0
0
0
8
0
7
9
23
-9
-8
0
0
0
0
0
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-31
0
-19
0
0
0
3
0
0
0
0
0
0
0
-15
-1
22
-4
4
-2
0
0
0
-1
0
0
0
0
0
0
25
7
69
14
40
12
5
-3
8
-18
0
0
0
0
0
0
0
0
43
2
4
-13
17
-39
-13
0
0
3
0
0
0
0
0
0
-14
1
65
8
-10
-7
55
12
-1
3
0
0
0
0
0
0
0
0
-8
4
-15
7
-1
-18
0
-4
0
0
0
0
0
0
0
0
-1
0
-2
20
-99
-1
-25
-10
-41
0
0
0
0
0
0
0
0
0
-7
-7
0
1
-3
0
-20
0
-9
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
53
0
0
-31
4
0
0
0
0
0
0
0
0
0
0
0
32
-18
33
-4
-7
3
0
0
0
7
0
0
0
0
0
0
2
0
-2
27
-6
5
42
2
4
-4
0
0
0
0
0
0
0
0
36
42
0
-2
-14
30
6
0
0
0
0
0
0
0
0
0
0
1
-4
38
3
27
40
16
9
3
0
0
0
0
0
0
0
0
-20
7
-27
33
36
-1
-6
5
-27
0
0
0
0
0
0
0
-1
2
-33
-14
2
-7
0
7
-7
-10
0
0
0
0
0
0
0
0
-6
0
15
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-7
21
-13
8
0
0
0
0
0
0
0
0
0
0
0
-48
0
27
-14
-17
-16
0
0
1
0
0
0
0
0
0
0
0
0
10
-1
6
-1
23
-5
-1
1
3
0
0
0
0
0
0
0
0
0
-29
-9
-9
4
-4
-5
0
2
0
0
0
0
0
0
0
0
0
3
-4
3
-14
4
-6
3
-1
0
0
0
0
0
0
0
-4
0
7
0
8
-3
1
1
7
0
0
0
0
0
0
0
0
0
2
-5
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-5
0
9
0
0
1
0
0
0
0
0
0
0
0
-6
0
-2
3
-17
13
4
0
0
0
0
0
0
0
0
0
0
-23
0
0
-28
-17
-34
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
-32
2
8
-1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
45
-8
-7
-4
0
-104
0
0
0
0
0
0
0
0
22
-20
44
9
-2
-27
-1
-29
-5
0
0
0
0
0
0
0
3
1
9
0
-53
-91
-16
47
-6
-7
0
0
0
0
0
0
0
0
-2
-5
24
-12
20
-34
0
0
-3
0
0
0
0
0
0
0
0
0
-27
9
-23
0
-3
0
0
-6
0
0
0
0
0
0
0
0
8
0
8
10
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
29
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
4
0
-2
0
0
21
0
0
0
0
0
0
0
0
0
0
3
15
8
-2
-2
0
0
1
0
0
0
0
0
0
0
0
3
25
-10
5
-8
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
12
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
57
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-23
1
-9
2
0
-6
0
0
0
0
0
0
0
0
-41
1
12
0
29
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
27
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-18
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-13
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
10
14
-30
41
0
0
0
0
0
0
0
0
0
-3
-12
-6
3
-13
32
65
-37
-41
0
0
0
0
0
0
0
0
5
-28
5
21
93
-4
21
24
-6
0
0
0
0
0
0
0
0
3
0
21
-9
-10
-44
-17
11
-31
0
0
0
0
0
0
0
0
1
-10
-4
42
-2
9
6
-6
-31
0
0
0
0
0
0
0
0
0
5
0
-9
3
41
19
23
-2
0
0
0
0
0
0
0
0
0
-8
-3
27
1
-12
33
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
19
57
-6
5
15
24
0
-25
0
0
0
0
0
0
0
-49
4
11
9
2
27
69
-14
9
40
0
0
0
0
0
0
0
23
-15
7
-10
80
-33
101
-5
-1
-9
0
0
0
0
0
0
0
-61
-34
0
25
-9
-8
-51
47
-44
-1
0
0
0
0
0
0
0
3
42
79
-56
-49
95
10
-16
10
-1
0
0
0
0
0
0
0
-8
3
59
5
-19
-33
20
-93
-24
11
0
0
0
0
0
0
0
21
19
-32
14
-86
-15
7
18
-6
-4
0
0
0
0
0
0
0
0
2
-7
1
8
-59
-50
2
55
13
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
2
0
0
0
0
0
0
0
0
0
-40
0
-13
-24
68
-13
-10
0
-25
17
0
0
0
0
0
0
-30
7
-7
72
-18
47
-46
0
-76
8
-7
0
0
0
0
0
0
13
31
4
-30
-15
74
40
28
-67
0
10
0
0
0
0
0
0
-5
51
51
42
58
9
-14
48
15
39
24
0
0
0
0
0
0
0
56
53
43
-140
64
-91
-41
-63
-51
0
0
0
0
0
0
0
0
-8
3
-4
-20
78
-95
44
16
-31
-30
0
0
0
0
0
0
0
7
-25
6
-4
-26
-17
75
28
6
0
0
0
0
0
0
0
0
-23
-14
-19
-33
31
-44
34
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
2
56
-4
-8
0
-19
-13
0
0
0
0
0
0
14
-54
9
-17
11
40
-16
74
-28
-57
-4
1
0
0
0
0
0
7
-20
8
5
48
62
28
23
3
20
7
0
0
0
0
0
0
-5
-6
28
-65
-24
-8
51
11
35
6
62
0
0
0
0
0
0
85
17
-75
9
16
-7
-100
50
-28
4
6
0
0
0
0
0
0
0
-6
-7
-17
10
-51
-45
9
-42
20
19
-2
0
0
0
0
0
0
2
0
4
7
34
-16
43
42
31
-1
0
0
0
0
0
0
0
-1
-4
-1
-15
17
-6
-17
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-117
-6
73
0
2
-6
-3
0
0
0
0
0
0
-41
13
9
-12
29
-60
4
-42
-52
48
-2
0
0
0
0
0
1
4
55
3
30
-89
8
-12
-68
46
0
21
0
0
0
0
0
0
68
-55
65
-33
18
-36
12
40
-1
8
0
0
0
0
0
0
-1
-83
27
58
17
-73
30
40
26
8
2
0
0
0
0
0
0
0
-3
-18
5
15
-89
-30
-93
2
23
-4
0
0
0
0
0
0
0
-8
31
5
-24
4
-13
-13
-59
-36
0
0
0
0
0
0
0
0
-2
-1
6
-20
25
9
24
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
-2
0
0
-6
0
52
3
0
-24
-3
0
0
0
0
0
0
-3
66
2
3
91
25
-41
51
-43
-24
2
-2
0
0
0
0
0
-3
-28
-26
45
39
-63
-49
-35
-48
50
-1
0
0
0
0
0
0
10
12
7
-13
66
-20
-14
-21
79
30
6
0
0
0
0
0
0
10
-24
-27
-1
-30
-31
11
41
-19
2
-16
0
0
0
0
0
0
0
-7
1
-14
16
19
-50
2
-29
-10
40
0
0
0
0
0
0
0
0
-2
-1
-2
0
21
-11
10
-16
0
0
0
0
0
0
0
0
-3
0
0
8
-20
-6
23
33
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
36
0
13
1
0
0
0
0
0
0
0
34
52
58
-26
0
40
0
45
31
3
0
0
0
0
0
0
0
42
-3
34
6
48
-31
-43
48
-6
5
0
0
0
0
0
0
0
-10
0
-3
94
-3
-34
13
-15
3
-19
0
0
0
0
0
0
0
-2
4
24
0
-24
-16
11
68
-25
2
0
0
0
0
0
0
0
10
0
0
0
5
-19
-77
-8
4
3
0
0
0
0
0
0
0
0
3
-7
3
-8
67
-15
-33
4
0
0
0
0
0
0
0
0
0
0
-13
0
-4
8
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
13
0
35
0
0
0
0
0
0
0
0
0
0
0
-6
-34
-4
13
29
-1
0
0
0
0
0
0
0
0
0
5
0
1
0
-3
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-17
-8
0
-7
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-14
-25
-10
-4
0
0
0
0
0
0
0
0
0
-8
-2
0
0
6
4
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
5
0
-12
-8
0
0
0
0
0
0
0
0
0
0
0
-6
3
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
119
7
6
9
9
-18
0
0
0
0
0
0
0
0
0
-2
-10
4
73
-43
70
21
-25
-15
0
0
0
0
0
0
0
0
-31
29
-28
-47
23
52
-30
48
8
0
0
0
0
0
0
0
0
-1
57
-17
-45
43
-51
47
-11
2
0
0
0
0
0
0
0
0
13
44
33
52
18
-49
14
-32
-45
0
0
0
0
0
0
0
0
20
16
7
8
39
-5
9
-3
5
0
0
0
0
0
0
0
0
-3
-24
6
-18
-26
-9
30
-10
22
0
0
0
0
0
0
0
0
0
1
0
8
0
-34
34
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
29
-1
0
0
0
0
0
0
0
0
0
65
76
-47
12
-5
26
72
-38
0
6
0
0
0
0
0
0
0
28
-6
-57
54
-37
74
3
36
14
3
0
0
0
0
0
0
0
97
29
-15
58
20
-39
-43
42
-22
-26
0
0
0
0
0
0
0
46
52
48
-5
-8
17
-1
8
37
-43
0
0
0
0
0
0
0
-117
55
4
42
-40
-24
105
26
-16
-48
0
0
0
0
0
0
0
-4
8
-11
87
-41
-4
18
21
-17
-13
0
0
0
0
0
0
0
-86
19
-15
-27
73
-57
-8
-70
-2
13
0
0
0
0
0
0
0
3
0
0
-39
33
8
-26
-14
-47
3
0
0
0
0
0
0
0
0
0
-2
0
9
0
24
0
0
0
0
0
0
0
0
0
0
14
64
19
-52
42
-13
-4
54
0
71
5
0
0
0
0
0
0
13
-80
1
23
-51
-4
-17
87
-8
67
-6
0
0
0
0
0
0
0
-40
-16
3
32
31
56
8
-43
-40
-14
0
0
0
0
0
0
17
-8
82
-21
31
21
-89
-14
73
-42
15
0
0
0
0
0
0
-10
1
-7
9
-1
31
17
-29
28
-7
-21
0
0
0
0
0
0
1
-13
-10
-14
-10
-2
-23
69
-16
20
2
0
0
0
0
0
0
0
25
41
-10
56
30
-45
5
5
41
-4
0
0
0
0
0
0
0
-5
0
-8
29
45
-72
-61
-13
-24
0
0
0
0
0
0
0
0
0
0
1
0
-5
3
-1
9
-3
0
0
0
0
0
0
0
27
9
23
-1
-51
2
-28
-56
0
21
4
0
0
0
0
0
0
65
-27
61
31
36
-4
48
34
16
-40
14
0
0
0
0
0
0
17
11
79
-25
-38
-32
12
42
-15
0
35
-16
0
0
0
0
0
-47
68
24
-38
-12
18
-44
28
20
-45
-5
0
0
0
0
0
0
2
64
14
-30
-45
20
35
-30
-47
14
11
2
0
0
0
0
0
-5
-40
-30
43
-42
57
-48
53
17
4
30
0
0
0
0
0
0
1
5
3
-4
-42
13
-54
2
18
14
24
0
0
0
0
0
0
1
-2
13
-3
12
17
4
13
-48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
2
1
4
0
0
0
0
0
0
0
-7
-21
-51
23
-2
-6
-60
-82
0
-44
-85
-7
0
0
0
0
0
41
-39
40
14
-15
18
43
11
-53
-60
-71
-9
0
0
0
0
0
40
-11
-34
-34
19
28
-21
-29
-25
-5
6
-6
0
0
0
0
0
56
-10
42
55
-94
34
22
7
-21
-54
-50
5
0
0
0
0
0
5
52
9
27
100
-19
16
35
-19
13
0
24
2
0
0
0
0
-4
5
48
2
22
-61
38
-43
-16
-34
-8
-2
0
0
0
0
0
0
0
0
5
18
-53
-38
-4
1
-23
2
3
0
0
0
0
0
0
0
0
-7
0
33
12
-27
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-6
0
0
0
0
0
0
0
0
-58
8
-13
-45
-27
-9
28
25
0
-48
-60
3
0
0
0
0
0
-29
-22
18
-1
-9
2
41
26
12
2
15
-4
0
0
0
0
0
30
16
12
-15
55
64
3
12
-62
66
-12
-8
0
0
0
0
0
-58
26
-18
68
35
-2
23
2
-19
64
-9
-5
0
0
0
0
0
0
-4
33
10
-23
16
132
34
32
-49
24
0
-3
0
0
0
0
3
0
23
-37
2
-17
65
33
-7
-42
48
2
0
0
0
0
0
-5
7
-1
8
-4
-44
-42
5
24
7
2
5
0
0
0
0
0
0
3
0
0
0
9
25
-62
13
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
40
-20
-4
-30
-93
-45
4
0
-65
14
0
-1
0
0
0
0
0
-22
-50
-32
2
-14
46
41
-43
-54
-19
-20
-1
0
0
0
0
0
-17
38
45
82
1
9
-27
-35
20
24
0
0
0
0
0
0
0
-5
-26
0
48
-41
-11
-27
33
36
-3
-4
0
0
0
0
0
0
1
25
-4
-5
1
-26
-77
41
-25
-8
-4
0
0
0
0
0
0
8
-8
-19
-3
-3
-40
15
14
-11
1
0
0
0
0
0
0
0
0
0
-4
-18
-9
42
7
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
-9
-8
-44
19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
8
1
-14
0
20
-1
2
0
0
0
0
0
0
0
-2
10
-1
1
-26
-8
5
-23
4
-2
0
0
0
0
0
-4
0
-12
55
-22
-2
-34
1
-42
-15
-2
1
0
0
0
0
0
0
4
1
0
4
0
13
-5
22
5
13
-1
0
0
0
0
0
-5
0
-3
0
-4
8
-21
-5
-25
-2
1
0
1
0
0
0
0
0
0
0
0
3
-8
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
-13
1
-51
0
-19
0
0
0
0
0
0
0
0
-7
-8
-13
6
9
5
-3
14
-2
-5
0
-1
0
0
0
0
0
10
10
-6
-8
3
-30
25
-5
-9
0
0
0
0
0
0
0
0
3
0
-3
13
50
13
-3
-10
5
1
0
0
0
0
0
0
0
0
-4
4
2
0
-10
14
4
1
0
0
0
0
0
0
0
0
6
0
0
6
1
0
3
5
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
-2
-15
34
0
2
-7
0
0
0
0
0
0
0
0
10
-1
34
0
-44
48
16
-39
-1
1
0
0
0
0
0
0
0
-17
-25
25
-6
-48
-6
77
22
-15
0
0
0
0
0
0
0
0
1
0
0
-1
-40
-31
5
-19
7
0
0
0
0
0
0
0
0
9
0
4
7
-15
-1
-7
7
-7
-2
0
0
0
0
0
0
0
0
4
0
1
0
-4
1
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
2
0
-11
0
-1
0
0
0
0
0
0
0
0
9
0
2
5
-18
-10
-4
-3
0
0
0
0
0
0
0
0
0
-3
-1
3
14
-8
-25
-22
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-19
22
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
30
4
-10
-75
63
0
0
0
0
0
0
0
0
0
0
16
14
-1
47
59
33
-13
75
0
0
0
0
0
0
0
0
30
31
21
-12
6
6
-15
-16
40
0
0
0
0
0
0
0
0
-7
0
-22
66
64
60
41
-44
1
0
0
0
0
0
0
0
0
4
-13
47
-48
-28
43
49
-21
-29
0
0
0
0
0
0
0
0
-2
-36
31
-44
-21
-32
-7
-19
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
38
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-54
-22
-20
50
-47
-48
0
-48
0
0
0
0
0
0
0
-19
38
-49
-34
64
5
15
-23
54
-52
0
0
0
0
0
0
0
17
24
-34
-27
47
55
-12
66
54
-9
0
0
0
0
0
0
0
9
-9
-49
-31
0
82
-48
-31
-14
6
0
0
0
0
0
0
0
6
3
-86
38
97
-40
55
15
15
22
0
0
0
0
0
0
0
-43
67
10
-45
-67
11
36
-23
-25
19
0
0
0
0
0
0
0
12
0
-8
8
-22
-16
-38
33
-38
-13
0
0
0
0
0
0
0
0
0
-1
27
18
-6
0
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
11
-4
37
9
59
-21
-21
0
-1
-34
0
0
0
0
0
0
-38
10
-46
-18
41
48
-12
42
-79
60
-41
0
0
0
0
0
0
1
17
-16
27
-78
-10
2
-21
38
-37
7
0
0
0
0
0
0
-17
38
-33
-65
7
-63
-31
53
-18
-18
8
0
0
0
0
0
0
16
-5
-25
-59
-27
-13
-15
-25
0
45
-4
0
0
0
0
0
0
0
-15
30
2
49
31
-55
37
-46
34
10
0
0
0
0
0
0
0
-4
-3
48
70
30
19
6
51
-10
0
0
0
0
0
0
0
0
0
-1
0
9
-11
2
75
-31
-1
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
8
0
0
0
0
0
0
0
0
0
-4
48
-3
-27
114
-30
14
11
0
-58
7
0
0
0
0
0
0
-5
-7
4
2
10
39
76
21
7
-55
-27
0
0
0
0
0
0
-34
-4
52
7
-30
5
37
-31
-36
28
21
0
0
0
0
0
0
-48
-27
-3
85
-79
20
21
47
14
27
5
0
0
0
0
0
0
-3
-47
74
-22
66
-22
-25
25
63
-14
-20
1
0
0
0
0
0
1
5
-11
5
7
44
56
1
-70
-23
-3
3
0
0
0
0
0
0
20
30
4
-15
-24
10
-28
23
-2
18
0
0
0
0
0
0
0
-5
-1
0
13
-22
-13
-31
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
-2
0
0
0
0
0
0
0
5
-43
54
27
42
22
46
-13
0
-23
21
1
0
0
0
0
0
-28
12
-37
-74
-107
-42
-33
-22
8
25
-15
-31
0
0
0
0
0
9
53
-9
-51
-31
39
-44
14
49
1
34
0
0
0
0
0
0
0
-10
-9
9
-16
4
-5
55
24
40
-23
20
0
0
0
0
0
25
44
60
26
-40
10
-1
40
29
3
19
0
0
0
0
0
0
0
10
41
-2
1
-11
20
62
-45
22
-6
0
0
0
0
0
0
0
10
-7
66
4
-30
70
21
25
-4
6
0
0
0
0
0
0
0
-2
0
0
0
-9
3
11
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
15
3
14
29
-23
-16
25
9
0
6
7
-2
0
0
0
0
0
18
-8
49
19
-7
29
-15
11
42
-13
-13
-12
0
0
0
0
0
-5
-19
-14
40
52
37
12
9
28
0
-4
-4
0
0
0
0
0
8
-38
-34
-29
57
-2
29
55
-40
-11
1
0
0
0
0
0
0
-5
-41
30
42
-2
-19
27
29
-6
-12
-2
2
0
0
0
0
0
1
-3
5
1
-56
19
42
-70
-31
8
1
1
0
0
0
0
0
0
0
1
8
-4
8
-34
0
4
27
-6
-2
0
0
0
0
0
0
0
-13
5
0
-17
1
-44
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
10
-22
-35
-27
-40
0
2
17
6
0
0
0
0
0
-5
-27
-15
20
29
-43
-40
-29
-58
66
-1
-12
-1
0
0
0
0
0
-29
68
34
-27
23
-22
-19
59
22
45
-3
0
0
0
0
0
0
-8
-13
-25
-3
18
3
82
-29
-9
25
-6
-2
0
0
0
0
0
4
24
-2
9
-74
31
22
-38
-31
8
9
0
0
0
0
0
0
7
6
2
40
-55
0
24
-23
1
-5
0
0
0
0
0
0
0
0
3
-1
2
-1
14
-4
-23
-15
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
28
-25
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
7
3
40
-18
13
-15
0
24
-14
-1
0
0
0
0
0
13
-2
-5
6
8
13
-3
70
-93
-28
2
3
0
0
0
0
0
5
-9
-12
-21
-21
28
-24
-7
46
58
13
-3
0
0
0
0
0
0
0
0
15
-77
-51
4
-51
0
15
13
0
0
0
0
0
0
1
20
0
0
43
1
-61
-15
-28
5
8
2
0
0
0
0
0
0
0
0
-10
-1
17
3
-33
-9
13
-2
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-12
23
-12
-96
57
-6
24
0
-22
0
0
0
0
0
0
0
-4
70
11
-18
4
-33
-39
-27
0
-2
-1
1
0
0
0
0
0
6
52
30
-105
6
-53
5
-32
24
-5
0
1
0
0
0
0
0
13
-15
-5
-27
-30
-48
67
-44
4
-23
0
0
0
0
0
0
0
4
-3
1
-45
-20
-87
-4
31
13
-1
0
0
0
0
0
0
0
0
0
-1
6
5
0
-20
-30
-30
0
0
0
0
0
0
0
0
4
0
4
0
-1
-7
8
-3
-1
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
11
-4
43
23
8
0
-51
3
0
0
0
0
0
0
0
-18
-26
-59
-15
-17
-71
17
16
-4
30
0
0
0
0
0
0
0
55
-53
-15
-81
62
59
16
-32
6
-38
-4
0
0
0
0
0
0
19
34
-34
32
34
51
-6
-58
46
0
6
0
0
0
0
0
0
-36
-2
-24
-30
74
53
-12
-4
13
1
0
0
0
0
0
0
0
-25
38
-8
-30
-68
-12
8
-5
-79
3
1
0
0
0
0
0
0
1
1
5
-24
-1
52
61
-57
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
-36
-57
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
9
6
0
-2
5
0
0
0
0
0
0
0
0
4
1
1
14
-7
15
-35
1
34
-2
0
0
0
0
0
0
0
0
0
0
5
3
-24
16
14
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
0
1
-3
4
0
0
0
0
0
0
0
0
0
0
2
14
22
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
5
3
4
0
-2
0
0
0
0
0
0
0
0
-4
0
-1
4
0
-4
-10
2
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
-7
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
25
-9
14
-32
-29
0
0
0
0
0
0
0
0
0
1
15
-13
-43
-26
41
29
1
-12
0
0
0
0
0
0
0
0
9
47
5
-158
15
13
45
5
48
0
0
0
0
0
0
0
0
0
0
10
-6
43
0
-19
39
71
0
0
0
0
0
0
0
0
0
5
-59
-3
2
42
12
-7
-3
0
0
0
0
0
0
0
0
0
-2
1
-24
17
38
-2
8
-1
0
0
0
0
0
0
0
0
0
-1
0
-7
42
-1
31
-9
-2
0
0
0
0
0
0
0
0
0
0
0
18
-1
1
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
-56
10
-55
29
5
-36
-21
-28
0
-37
0
0
0
0
0
0
0
51
13
36
-30
59
-63
29
-6
-69
20
0
0
0
0
0
0
0
-1
-6
-95
-14
-4
47
-48
64
-91
8
0
0
0
0
0
0
0
46
12
-30
11
-75
-49
45
24
49
-14
0
0
0
0
0
0
0
46
-24
-5
19
-51
-13
7
3
-119
19
0
0
0
0
0
0
0
4
-12
-51
18
-5
-6
-43
6
22
-65
0
0
0
0
0
0
0
-30
-3
-4
-10
-10
49
7
71
14
24
0
0
0
0
0
0
0
1
-1
-6
-19
-14
-7
-23
-11
11
-3
0
0
0
0
0
0
0
0
0
0
-3
8
0
1
6
0
0
0
0
0
0
0
0
0
8
-9
-13
10
3
1
24
-36
0
-9
2
0
0
0
0
0
0
15
-48
-38
45
-45
1
-15
69
-41
14
22
0
0
0
0
0
0
-27
7
-22
-12
-2
-30
-33
38
0
32
-1
0
0
0
0
0
0
0
32
-2
24
25
24
-8
-35
30
34
18
0
0
0
0
0
0
78
55
1
31
-40
-65
35
-39
81
-1
0
0
0
0
0
0
0
-7
14
2
-28
16
-13
-38
-13
80
22
-6
0
0
0
0
0
0
0
-5
-8
14
12
14
-14
-44
42
3
-8
0
0
0
0
0
0
0
-7
0
-12
-3
-47
-54
-30
-21
-25
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-18
-5
0
0
0
0
0
0
0
0
25
26
21
25
27
75
6
-52
0
25
2
0
0
0
0
0
0
-31
-19
3
67
11
-51
53
44
5
8
-9
0
0
0
0
0
0
10
-47
9
52
-101
-10
55
7
32
-19
60
2
0
0
0
0
0
-5
24
86
-3
19
-5
-73
16
-50
37
25
0
0
0
0
0
0
-52
-15
42
-52
60
28
-20
-27
-14
-39
2
0
0
0
0
0
0
17
16
51
-41
-45
0
14
4
-38
-9
-12
1
0
0
0
0
0
0
25
-9
2
4
31
-39
48
72
-18
-8
0
0
0
0
0
0
0
1
-1
0
2
-31
9
7
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
3
5
0
0
0
0
0
0
0
0
-5
-8
-1
-2
50
-68
-52
0
81
12
-3
0
0
0
0
0
29
29
4
41
47
54
13
-36
17
13
12
4
0
0
0
0
0
-10
-49
61
-64
-21
8
25
-12
-7
32
-3
1
0
0
0
0
0
-8
-16
-20
13
-10
69
8
-90
30
12
-6
3
0
0
0
0
0
-2
50
-28
-60
6
28
-32
56
51
-17
0
-2
0
0
0
0
0
3
-42
16
-1
-16
-21
0
-23
-16
-39
4
0
0
0
0
0
0
0
1
15
-36
46
-31
1
13
66
-8
-1
0
0
0
0
0
0
0
-5
0
-1
0
18
20
-53
6
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-13
-42
59
0
52
10
0
45
-24
-1
0
0
0
0
0
10
40
-43
-25
38
-55
4
42
-29
-54
13
0
0
0
0
0
0
0
-1
45
-7
-3
-10
5
105
96
-5
17
-13
0
0
0
0
0
0
10
-40
30
79
-22
34
61
0
66
4
-1
0
0
0
0
0
25
23
3
-15
-20
5
66
14
-4
-3
21
-5
0
0
0
0
0
0
-5
24
7
-49
-1
-40
23
-15
7
-3
0
0
0
0
0
0
0
0
-3
24
24
30
-18
6
-32
27
3
0
0
0
0
0
0
0
0
10
0
0
5
-3
19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
3
6
-13
11
-19
-40
0
-25
24
0
0
0
0
0
0
-5
-18
9
-29
-65
71
-5
-72
26
-67
40
8
2
0
0
0
0
0
4
9
-9
6
18
41
-93
-25
-5
14
1
0
0
0
0
0
0
59
2
8
14
5
12
-69
-90
-23
3
0
0
0
0
0
0
0
-3
-13
2
-44
4
-46
-14
70
-41
0
0
0
0
0
0
0
0
-17
-2
-2
-2
40
4
22
1
-5
-4
0
0
0
0
0
0
0
0
0
-5
-48
-2
45
-6
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
1
0
-3
-6
-1
40
19
29
0
40
2
0
0
0
0
0
0
-10
7
10
17
24
9
-52
43
-52
4
24
0
-5
0
0
0
0
9
0
1
-2
-1
43
-31
-4
-3
27
-14
0
0
0
0
0
0
4
-19
-2
-33
42
-5
17
0
-5
-42
-6
0
0
0
0
0
0
0
0
0
-6
6
10
0
17
-14
-2
0
-1
0
0
0
0
0
0
18
-2
5
0
4
-6
3
-7
0
-1
0
0
0
0
0
0
3
0
0
0
0
1
2
-2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
29
8
31
-33
19
-42
35
0
-29
-3
0
0
0
0
0
0
-33
-8
-19
-13
-16
135
38
46
-18
-137
0
1
0
0
0
0
0
-57
52
31
-8
-9
-49
-62
-66
-44
-5
2
0
0
0
0
0
0
-54
64
-6
91
9
6
-5
-33
-28
49
-3
0
0
0
0
0
0
-9
-15
-52
-56
-16
-24
29
2
8
0
0
1
0
0
0
0
0
0
3
17
17
-28
66
-16
-54
-5
0
0
0
0
0
0
0
0
0
-2
-7
4
4
7
6
-16
10
-8
0
0
0
0
0
0
0
0
8
-5
-5
0
-6
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
13
41
58
9
54
-34
0
2
3
0
0
0
0
0
0
0
15
18
13
-11
48
-34
-35
-18
-29
16
0
0
0
0
0
0
0
-57
35
29
-17
-51
-92
-14
-19
6
-5
0
0
0
0
0
0
0
-28
-8
15
-15
-25
-31
-87
-1
2
15
0
0
0
0
0
0
0
55
-15
-3
-24
-34
3
-36
13
20
0
0
0
0
0
0
0
0
-44
-12
41
25
-36
14
73
-18
4
2
0
0
0
0
0
0
0
-6
9
-2
-25
14
25
-27
-13
-18
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
40
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
0
3
-14
0
0
0
0
0
0
0
0
5
0
-10
-13
12
-8
-15
29
-19
0
0
0
0
0
0
0
0
20
-1
-1
3
-2
-45
12
-1
4
0
0
0
0
0
0
0
0
5
0
0
-2
10
17
10
-12
0
3
0
0
0
0
0
0
0
1
-7
0
-12
-5
-23
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
-5
9
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
9
56
-47
6
-12
0
0
0
0
0
0
0
0
0
-2
-1
48
-14
32
73
22
-1
0
0
0
0
0
0
0
0
0
-1
-20
-8
-6
-12
-44
-5
1
2
0
0
0
0
0
0
0
0
0
30
0
7
3
1
4
18
10
0
0
0
0
0
0
0
0
0
0
0
8
25
-1
-33
-13
16
0
0
0
0
0
0
0
0
0
2
-30
25
-7
-48
3
-5
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
25
14
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
44
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
2
0
0
0
0
0
0
0
0
0
-5
-5
-70
-24
8
39
12
-75
0
-31
0
0
0
0
0
0
0
-43
-8
5
8
30
52
-31
54
-35
3
0
0
0
0
0
0
0
-40
0
7
-62
24
41
-41
-7
7
25
0
0
0
0
0
0
0
72
-15
-39
-23
28
-24
-71
87
0
99
0
0
0
0
0
0
0
-1
0
-17
3
-40
-11
1
-30
4
22
0
0
0
0
0
0
0
42
-41
-67
24
-3
-61
21
88
-45
4
0
0
0
0
0
0
0
47
0
16
69
15
7
-5
21
7
0
0
0
0
0
0
0
0
0
0
-2
25
3
23
-19
1
43
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
16
4
0
0
0
0
0
0
0
0
0
10
1
-57
-46
-39
32
-25
0
-9
-2
0
0
0
0
0
0
6
68
29
17
-90
9
-2
30
-3
-55
-20
0
0
0
0
0
0
0
-43
60
-11
-3
-22
-8
-3
34
-10
2
0
0
0
0
0
0
1
-23
3
-17
50
2
17
17
46
-45
-1
0
0
0
0
0
0
0
57
0
-4
-8
-38
-27
-21
13
10
3
0
0
0
0
0
0
4
-1
-8
7
13
71
-44
32
20
65
-7
0
0
0
0
0
0
5
41
-2
78
55
-60
42
-56
82
-8
0
0
0
0
0
0
0
0
-3
22
9
-9
5
-6
-15
-41
-30
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
-3
0
0
0
0
0
0
0
0
-8
0
-21
-2
8
-16
-19
16
0
50
14
0
0
0
0
0
0
8
-30
38
-34
-18
72
18
-3
-1
41
-23
0
0
0
0
0
0
8
20
17
-41
27
44
-5
42
57
-3
15
0
0
0
0
0
0
30
-2
-62
32
28
3
37
-23
23
27
-4
0
0
0
0
0
0
0
13
-9
0
-26
-2
-44
-26
-38
18
-8
0
0
0
0
0
0
-3
29
-5
-12
7
-35
52
6
-1
72
-5
0
0
0
0
0
0
-5
7
-1
1
-18
-9
-7
-11
21
0
1
0
0
0
0
0
0
1
-10
0
0
-5
-8
0
-20
60
10
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
5
-1
4
0
0
0
0
0
0
0
0
1
24
5
-44
-44
-46
41
0
-42
8
-1
0
0
0
0
0
8
9
50
25
-55
41
31
3
28
-8
-3
-2
0
0
0
0
0
8
1
-5
35
10
-12
57
-45
8
-22
-7
0
0
0
0
0
0
0
-19
28
-40
-18
28
-1
-13
1
-13
2
-5
0
0
0
0
0
0
80
-9
2
0
30
-32
-30
17
32
-25
3
0
0
0
0
0
-7
20
48
19
7
12
2
56
32
-57
-9
-1
0
0
0
0
0
8
-40
41
36
1
-30
-2
-13
24
-1
0
0
0
0
0
0
0
0
2
-5
-2
0
-1
-42
-45
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
3
2
2
0
6
-6
29
33
0
40
8
0
0
0
0
0
0
2
-12
14
-44
-26
14
31
-12
-45
17
-49
0
0
0
0
0
0
3
24
-25
52
-2
3
24
-16
-1
-12
-22
0
0
0
0
0
0
-2
41
2
-21
-31
13
34
-1
-44
-8
4
0
0
0
0
0
0
0
-6
12
-6
-8
0
6
-11
-53
6
0
2
0
0
0
0
0
2
38
-68
5
20
11
19
1
10
6
3
-2
0
0
0
0
0
4
1
15
-2
-18
0
-15
25
-23
0
0
0
0
0
0
0
0
0
-2
0
-24
0
-2
23
-41
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
0
0
0
0
0
0
0
0
0
0
-1
-12
-1
-7
-19
31
3
0
1
-14
0
0
0
0
0
0
0
-47
8
-10
14
-9
20
31
-35
14
-5
0
0
0
0
0
0
0
12
3
0
50
-8
-6
-20
13
0
0
0
0
0
0
0
0
0
29
6
-1
8
-29
22
13
-7
-29
-7
0
0
0
0
0
0
0
0
1
0
-12
25
0
42
-8
16
1
-8
0
0
0
0
0
0
1
-30
6
2
-7
-7
24
7
38
-2
0
0
0
0
0
0
0
0
0
10
0
-23
41
1
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
2
4
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-1
-8
51
-23
-17
0
4
1
0
0
0
0
0
0
-13
-5
-9
16
51
43
34
-15
-71
10
-3
0
0
0
0
0
0
-62
3
-40
55
6
17
49
-49
-10
7
-8
0
0
0
0
0
0
-3
0
-5
45
41
-68
9
-50
-3
-20
-7
0
0
0
0
0
0
-7
-2
1
19
22
-40
-57
0
0
3
0
0
0
0
0
0
0
-7
-3
-4
-7
32
-53
-6
-43
2
-6
5
0
0
0
0
0
0
-8
0
7
0
-17
27
-6
6
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-58
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
7
-8
9
14
-54
-113
0
-21
2
0
0
0
0
0
0
3
-127
-79
41
16
51
-97
-26
-37
-56
-4
0
0
0
0
0
0
12
-31
-35
23
-56
-112
83
-22
-19
4
0
0
0
0
0
0
0
28
12
35
-5
51
89
39
-18
4
0
0
0
0
0
0
0
0
-54
26
26
18
41
-17
-23
23
0
-20
8
0
0
0
0
0
0
1
-26
33
47
-49
63
-30
12
-11
3
0
0
0
0
0
0
0
7
5
-3
-1
40
-3
68
-19
6
-3
0
0
0
0
0
0
0
1
-6
-8
25
-5
8
80
17
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
0
0
0
0
0
0
0
0
0
-3
21
-71
13
2
6
35
0
72
0
0
0
0
0
0
0
0
50
-1
-61
-15
-16
24
7
6
16
-40
0
0
0
0
0
0
0
18
-31
-20
-63
26
-53
-2
-51
48
0
0
0
0
0
0
0
0
-26
30
5
19
32
-58
50
-8
-40
0
0
0
0
0
0
0
0
-12
54
-20
35
-24
-27
-2
-27
0
0
0
0
0
0
0
0
0
-58
4
-54
-39
-66
31
20
0
14
0
0
0
0
0
0
0
0
0
66
-6
-57
19
62
7
37
2
0
0
0
0
0
0
0
0
1
0
0
3
-25
8
15
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
0
-15
-7
0
0
0
0
0
0
0
0
-1
0
6
0
-8
0
16
8
-48
0
0
0
0
0
0
0
0
-1
-2
-2
-45
-12
-40
2
26
-1
0
0
0
0
0
0
0
0
3
0
1
0
-4
2
41
-2
-16
0
0
0
0
0
0
0
0
-8
0
5
24
5
-15
-12
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-1
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
8
5
-2
-16
6
0
0
0
0
0
0
0
0
0
0
-2
-6
-4
-10
54
-27
-41
-1
0
0
0
0
0
0
0
0
-4
-48
-2
9
-27
2
-11
1
1
0
0
0
0
0
0
0
0
0
4
-2
-20
14
43
-9
2
0
0
0
0
0
0
0
0
0
5
-1
0
-10
25
29
15
5
9
0
0
0
0
0
0
0
0
0
3
-7
-5
-32
7
22
-16
1
0
0
0
0
0
0
0
0
-4
-2
2
-6
20
3
27
0
14
0
0
0
0
0
0
0
0
0
-8
0
-18
0
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
3
0
0
0
0
0
0
0
0
0
4
-9
-10
10
-97
-5
97
6
0
9
0
0
0
0
0
0
0
-22
-5
-2
-41
54
15
40
44
39
-50
0
0
0
0
0
0
0
-33
22
-40
-10
-17
8
-50
-11
5
-33
0
0
0
0
0
0
0
-16
-4
-24
-29
10
40
-32
-57
0
-8
0
0
0
0
0
0
0
82
-13
73
-43
-54
-37
3
-51
60
17
0
0
0
0
0
0
0
-10
0
-5
59
-29
89
54
19
-43
-4
0
0
0
0
0
0
0
23
-2
-8
10
6
-25
-4
-15
-21
4
0
0
0
0
0
0
0
-1
0
5
16
4
28
-8
24
0
-13
0
0
0
0
0
0
0
0
0
0
0
48
0
-9
-5
0
0
0
0
0
0
0
0
0
0
15
16
-5
15
-23
-3
7
0
51
-6
0
0
0
0
0
0
4
-39
-1
51
7
-3
34
14
70
72
-16
0
0
0
0
0
0
0
19
0
-2
55
-33
86
-25
-6
-35
-5
0
0
0
0
0
0
-3
-91
-14
-45
5
13
-26
20
-8
-9
3
0
0
0
0
0
0
-31
-34
-9
17
-3
10
5
-13
37
-13
10
0
0
0
0
0
0
0
-2
0
-41
-12
-22
-13
94
36
25
0
0
0
0
0
0
0
0
23
0
41
51
100
-51
-36
-6
-5
2
0
0
0
0
0
0
0
1
0
-19
-3
0
-12
-8
7
24
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
8
6
0
0
0
0
0
0
0
0
3
-8
-10
-40
-15
69
-3
7
0
60
-3
2
0
0
0
0
0
47
10
40
93
28
32
10
74
64
4
6
0
0
0
0
0
0
3
23
-16
-20
50
-7
41
21
55
7
32
0
0
0
0
0
0
-24
20
9
-10
-55
66
17
10
38
-7
-2
0
0
0
0
0
0
-19
-8
-46
16
5
51
12
-13
18
22
-22
1
0
0
0
0
0
7
1
8
0
17
40
-12
-3
16
-6
8
0
0
0
0
0
0
0
12
-25
1
-1
-38
-27
-53
3
-25
0
0
0
0
0
0
0
0
-3
1
-1
0
23
7
36
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
0
0
0
0
0
-12
20
-10
-5
3
-15
49
0
-14
-10
0
0
0
0
0
0
0
-33
3
8
50
11
-23
15
74
5
1
0
0
0
0
0
0
-3
32
-40
22
5
-24
28
-10
48
49
0
5
0
0
0
0
0
8
47
-41
42
20
-7
-35
56
19
63
0
0
0
0
0
0
0
-2
33
-6
-13
-44
-3
-6
20
-46
32
-1
4
0
0
0
0
0
0
-1
6
-2
0
-35
41
-23
28
4
8
0
0
0
0
0
0
0
0
1
10
-19
30
-44
8
-38
20
7
0
0
0
0
0
0
0
0
8
0
0
49
29
29
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-5
12
7
-38
15
29
10
0
-66
1
-4
0
0
0
0
0
0
31
0
-54
6
22
-42
-33
-5
-12
34
0
0
0
0
0
0
0
-18
13
22
15
-48
-42
17
11
-5
20
0
0
0
0
0
0
-1
2
9
4
45
-40
42
32
30
-11
1
0
0
0
0
0
0
24
-19
-7
10
-48
20
-30
17
-18
-19
-7
0
0
0
0
0
0
0
6
-8
0
10
0
27
-65
-13
-24
0
0
0
0
0
0
0
0
2
0
21
-4
13
43
-9
-12
-24
1
0
0
0
0
0
0
0
0
13
0
4
0
-13
-14
-13
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
2
17
-5
-2
-31
0
49
-4
0
0
0
0
0
0
0
21
0
-2
-6
-9
-17
-8
65
-19
-14
0
0
0
0
0
0
0
12
-2
0
12
36
15
-23
-71
14
-25
0
0
0
0
0
0
0
34
0
-22
3
-7
30
-9
15
25
0
1
0
0
0
0
0
0
-3
2
-4
45
-42
-44
-3
108
-6
0
-3
0
0
0
0
0
0
2
0
38
-4
5
0
-51
-13
-3
2
0
0
0
0
0
0
0
0
8
-9
-18
-1
-20
20
-3
-12
1
0
0
0
0
0
0
0
0
0
-1
0
0
-29
33
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
-2
0
41
-18
1
10
0
-39
1
0
0
0
0
0
0
1
-2
-3
4
2
23
-11
66
-67
-3
-9
0
0
0
0
0
0
0
-5
0
31
0
46
22
38
7
29
8
0
0
0
0
0
0
34
0
9
-13
52
8
20
-40
-8
0
0
0
0
0
0
0
0
-4
7
2
-7
12
8
0
-7
-1
0
-2
0
0
0
0
0
0
0
-1
-9
-16
25
7
-4
0
-17
1
-2
0
0
0
0
0
0
0
8
0
4
-12
14
0
2
-4
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-23
-24
2
-15
13
-63
29
0
-29
-1
0
0
0
0
0
0
-1
0
1
-12
58
-133
35
-7
-41
-39
-14
0
0
0
0
0
0
8
-75
-12
-44
-52
52
5
83
-3
12
0
0
0
0
0
0
0
56
-50
-29
-80
71
18
23
26
-13
44
0
0
0
0
0
0
0
-8
-28
7
-8
-23
40
-49
-3
-67
-2
0
0
0
0
0
0
0
-39
-41
-34
-34
-81
-20
-97
-7
0
-13
0
0
0
0
0
0
0
-41
-1
-22
5
-5
-26
24
-3
9
0
0
0
0
0
0
0
0
0
-1
-4
-12
6
-14
2
-41
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
15
-7
0
0
0
0
0
0
0
0
0
0
17
-13
2
-1
20
3
1
0
46
-10
0
0
0
0
0
0
0
-16
30
13
-80
-30
46
25
26
3
2
0
0
0
0
0
0
0
32
-1
-98
4
61
15
-6
13
-18
-5
0
0
0
0
0
0
0
-29
50
4
-19
68
-31
52
45
2
-1
0
0
0
0
0
0
0
-93
-25
9
-13
-1
43
18
-6
-8
0
0
0
0
0
0
0
0
12
-15
-8
-8
16
16
-12
-12
0
-1
0
0
0
0
0
0
0
8
2
4
-40
22
-63
-38
0
0
0
0
0
0
0
0
0
0
13
4
0
-2
-8
4
6
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
25
8
6
-31
0
0
0
0
0
0
0
0
0
-1
0
8
-2
-7
-2
-15
0
0
0
0
0
0
0
0
0
-1
0
7
3
-2
-11
0
-7
0
0
0
0
0
0
0
0
0
6
-7
-1
-2
6
2
-5
0
2
0
0
0
0
0
0
0
0
0
0
-2
2
-9
10
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
0
0
0
0
0
0
0
0
0
0
0
9
-1
-1
-8
33
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
42
9
-10
0
1
0
0
0
0
0
0
0
0
-2
0
0
34
-7
-18
32
6
1
0
0
0
0
0
0
0
0
0
0
-4
1
5
18
2
27
4
0
0
0
0
0
0
0
0
-1
4
-8
51
17
-14
-1
19
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
1
9
0
-6
0
0
0
0
0
0
0
0
0
-2
5
-3
1
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-17
13
14
37
28
0
0
0
0
0
0
0
0
0
31
-13
-20
30
9
86
40
90
-33
-53
0
0
0
0
0
0
0
17
1
-3
-44
-14
22
7
56
-28
5
0
0
0
0
0
0
0
41
3
-7
-8
-29
-46
23
15
-69
75
0
0
0
0
0
0
0
-8
-7
53
-25
48
-14
7
-1
-33
16
0
0
0
0
0
0
0
7
-2
8
18
56
-91
13
-88
-20
45
0
0
0
0
0
0
0
5
0
2
-2
-16
8
67
-20
-42
10
0
0
0
0
0
0
0
1
0
1
-31
7
67
-41
-5
7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-8
-4
0
0
0
0
0
0
0
0
0
-1
47
38
36
-18
-43
6
0
-3
5
0
0
0
0
0
0
8
11
-7
-52
-92
64
-40
41
85
31
-3
0
0
0
0
0
0
0
-78
-12
-74
-22
94
41
-35
-41
33
0
0
0
0
0
0
0
-2
-2
-1
-27
29
32
-15
-14
-10
-22
8
0
0
0
0
0
0
-36
-16
2
-30
-25
-27
7
47
58
-78
0
0
0
0
0
0
0
-2
27
-14
-10
-85
-15
61
7
-24
13
8
0
0
0
0
0
0
0
0
0
-4
4
15
10
8
36
18
0
0
0
0
0
0
0
0
-5
-1
1
-4
-12
-12
16
69
-30
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
4
-4
44
-10
37
-13
0
40
0
0
0
0
0
0
0
0
33
5
-13
-20
-87
12
5
55
4
-42
0
0
0
0
0
0
29
-31
9
5
-10
-33
11
2
39
24
-46
0
0
0
0
0
0
-4
49
22
-27
10
4
-7
-65
25
17
-21
0
0
0
0
0
0
2
65
-16
-1
6
58
13
-2
-32
31
-40
0
0
0
0
0
0
-5
58
-49
-13
-7
-75
2
-97
-61
37
13
0
0
0
0
0
0
0
2
-4
0
12
9
-24
-19
3
25
0
0
0
0
0
0
0
-3
-9
-16
-1
0
40
-12
16
-17
8
0
0
0
0
0
0
0
0
0
0
0
10
0
5
1
1
0
0
0
0
0
0
0
0
0
0
-16
-8
22
-19
-28
19
0
-63
-2
0
0
0
0
0
0
3
-12
-17
-3
-9
82
9
-71
-31
74
53
0
0
0
0
0
0
0
-17
23
0
-37
-2
-8
-37
67
-8
7
0
0
0
0
0
0
8
24
32
0
-14
1
34
-81
-15
-76
1
0
0
0
0
0
0
0
1
-29
44
-18
12
-44
4
76
-13
2
0
0
0
0
0
0
2
11
23
-8
-17
-11
-18
32
18
-45
19
6
0
0
0
0
0
0
0
-1
0
0
24
82
-6
1
-12
3
0
0
0
0
0
0
0
0
3
-7
0
8
26
-64
-5
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
0
-2
0
3
-25
-12
-18
0
-23
2
0
0
0
0
0
0
0
-2
0
-7
-1
5
-21
10
2
-22
24
0
0
0
0
0
0
0
20
0
-5
56
8
-7
21
60
9
0
-3
0
0
0
0
0
-5
0
-1
-4
23
6
-21
-83
-6
-52
-13
0
0
0
0
0
0
0
-9
6
0
13
-7
-25
2
-16
74
0
0
0
0
0
0
0
2
3
57
-17
0
16
9
-20
29
1
6
0
0
0
0
0
0
0
-1
-2
5
3
0
-32
13
-72
7
-2
0
0
0
0
0
0
2
0
0
18
0
27
-1
-7
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
4
-2
-1
-17
19
0
2
6
0
0
0
0
0
0
0
-7
24
-2
-25
28
-5
70
5
-4
-12
0
0
0
0
0
0
0
-58
3
0
60
-3
-71
-23
-10
-9
0
0
0
0
0
0
0
0
23
0
7
10
-6
-19
13
22
48
-2
0
0
0
0
0
0
0
55
5
-8
47
0
61
-13
-23
23
6
0
0
0
0
0
0
0
42
12
25
-13
-30
-7
48
-18
48
0
-7
0
0
0
0
0
0
0
10
0
0
0
0
49
-2
1
0
0
0
0
0
0
0
0
0
0
0
-16
4
9
5
6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
5
1
-1
4
31
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-1
-31
-14
8
0
-6
1
0
0
0
0
0
0
-41
0
-1
0
-30
-5
-90
-7
-109
0
0
0
0
0
0
0
0
8
0
0
-3
-9
-78
40
-31
4
0
0
0
0
0
0
0
0
13
1
20
8
-4
-13
7
-8
5
0
0
0
0
0
0
0
0
0
0
-6
-4
3
43
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
1
-48
-2
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
6
0
-5
22
19
31
76
-20
0
4
0
0
0
0
0
0
0
0
81
0
1
11
3
-27
-100
-23
-47
1
0
0
0
0
0
0
-1
44
16
-31
0
80
-38
-9
33
41
-12
0
0
0
0
0
0
5
-31
50
-27
-38
-27
1
143
12
-34
0
0
0
0
0
0
0
-4
-62
28
41
-3
-52
45
9
-17
-6
0
0
0
0
0
0
0
6
-8
-13
-20
20
55
63
-1
-12
0
0
0
0
0
0
0
0
-1
-45
32
20
-83
-21
5
-53
0
22
0
0
0
0
0
0
0
0
-8
0
7
-29
38
8
2
1
9
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-5
19
7
0
-25
0
0
0
0
0
0
0
0
6
19
2
8
-8
22
45
73
-6
13
0
0
0
0
0
0
0
-19
14
10
-25
-5
24
28
8
-45
0
0
0
0
0
0
0
0
-23
1
-32
-31
0
-5
12
41
24
0
0
0
0
0
0
0
0
13
-9
-8
38
5
126
16
40
-16
0
0
0
0
0
0
0
0
1
2
22
-6
12
-4
5
0
-7
0
0
0
0
0
0
0
0
0
9
1
27
5
-49
25
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-40
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
-3
1
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
9
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
10
0
25
-8
0
-7
0
0
0
0
0
0
0
0
-7
-2
0
2
-6
4
-7
1
17
0
0
0
0
0
0
0
0
0
0
0
-30
2
5
2
42
0
0
0
0
0
0
0
0
0
-22
-20
2
-8
-9
-8
-7
-1
-6
0
0
0
0
0
0
0
0
0
0
-4
-21
2
3
-1
-5
0
0
0
0
0
0
0
0
0
0
-9
0
7
-17
-8
-22
3
2
0
0
0
0
0
0
0
0
0
-2
0
0
4
-7
0
1
-1
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
12
0
1
0
0
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-14
9
-30
-22
8
2
0
0
0
0
0
0
0
-108
0
3
1
5
-40
-9
6
40
0
0
0
0
0
0
0
0
-34
-5
17
-53
-5
54
3
52
-8
1
0
0
0
0
0
0
0
-16
3
21
-35
43
-19
98
8
-43
-7
0
0
0
0
0
0
0
50
0
-65
-38
26
-20
24
-40
-3
0
0
0
0
0
0
0
0
32
0
5
-6
-55
11
2
6
27
-1
0
0
0
0
0
0
0
0
0
0
5
-4
-28
-2
-32
4
0
0
0
0
0
0
0
0
6
0
0
0
25
2
-3
1
33
0
0
0
0
0
0
0
0
0
0
6
8
16
-1
36
5
0
-8
0
0
0
0
0
0
0
0
14
-2
-3
12
44
-40
13
-5
-41
0
0
0
0
0
0
0
-6
25
7
0
21
-12
-17
-8
41
-8
0
0
0
0
0
0
0
-10
10
-2
49
-11
51
-2
-18
16
28
0
0
0
0
0
0
0
4
-17
0
27
8
4
18
16
-14
-19
-9
0
0
0
0
0
0
3
-15
1
-58
51
40
12
32
29
25
0
0
0
0
0
0
0
-42
9
0
-24
-6
-10
-14
5
43
3
0
0
0
0
0
0
0
0
1
0
4
0
-5
-39
-4
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
13
8
0
4
0
0
0
0
0
0
0
0
0
-8
-2
13
-4
-20
-27
-6
-2
-1
0
0
0
0
0
0
0
0
0
0
-34
-3
-29
-25
-6
-22
-9
0
0
0
0
0
0
-27
-7
42
2
-13
57
-6
43
64
13
2
0
0
0
0
0
0
15
13
-3
-3
-5
78
6
-38
-12
8
18
0
0
0
0
0
0
-12
-19
4
-8
18
5
-2
27
-8
25
9
0
0
0
0
0
0
1
-2
-40
0
-38
2
4
-17
15
-2
0
0
0
0
0
0
0
0
-1
0
0
-6
25
3
44
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-4
12
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
4
-20
-1
0
0
0
0
0
0
0
0
0
5
1
0
2
-13
7
-32
8
46
1
0
0
0
0
0
0
0
0
13
-3
0
-10
7
18
-3
25
4
0
0
0
0
0
0
0
0
29
0
10
16
0
-26
-14
19
8
-1
0
0
0
0
0
0
0
-7
22
3
-12
-22
31
-8
-3
-5
0
8
0
0
0
0
0
0
-1
0
-4
0
24
9
3
1
19
0
1
0
0
0
0
0
0
0
0
-5
0
9
24
15
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
48
5
1
1
3
-6
0
0
0
0
0
0
0
0
0
0
25
0
-25
1
19
0
0
0
0
0
0
0
0
-12
0
0
-6
1
48
-1
16
4
-1
-2
0
0
0
0
0
0
0
-13
0
0
-26
-3
-18
-7
-2
0
-4
0
0
0
0
0
0
0
-1
3
-8
-15
-20
13
5
7
-2
0
0
0
0
0
0
0
33
1
0
25
-25
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-23
-24
-2
0
0
0
0
0
0
0
0
1
0
0
-1
0
-7
6
-2
-2
0
0
0
0
0
0
0
0
-2
-9
0
0
3
-20
10
-6
0
0
0
0
0
0
0
0
0
-1
0
4
0
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
33
-2
3
0
0
0
0
0
0
0
0
0
-7
0
8
0
-17
-6
1
0
-12
0
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-4
15
1
3
0
0
0
0
0
0
0
-4
0
-13
0
-6
-1
12
0
0
0
0
0
0
0
0
0
0
1
0
20
5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
9
0
0
0
0
0
0
0
0
0
0
0
-16
0
25
7
-52
0
-25
0
0
0
0
0
0
0
0
0
2
-5
0
0
1
2
46
-31
-28
-4
0
0
0
0
0
0
0
-1
-2
0
48
8
-18
31
-44
13
-17
0
0
0
0
0
0
0
0
-46
3
-15
35
8
-5
-7
-9
9
0
0
0
0
0
0
0
0
8
-4
-8
4
32
-2
9
-5
5
0
0
0
0
0
0
0
0
-7
0
-32
-1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
5
0
5
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-14
8
0
3
0
1
-36
0
-20
0
0
0
0
0
0
0
0
-5
0
0
0
0
24
-31
52
1
23
0
0
0
0
0
0
0
-31
3
-4
30
16
-25
30
-25
-4
0
0
0
0
0
0
0
0
-6
0
-33
12
-9
0
-7
5
3
0
0
0
0
0
0
0
0
-7
-4
-4
0
-8
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
-19
0
-1
0
0
0
0
0
0
0
0
10
0
0
10
0
-5
0
18
0
0
0
0
0
0
0
0
0
-6
0
3
3
52
1
14
0
-10
0
0
0
0
0
0
0
0
-4
0
27
-7
0
-44
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
-51
0
14
0
0
0
0
0
0
0
0
0
0
4
0
0
7
-1
-19
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
30
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
4
3
-2
0
0
0
0
0
0
0
0
0
0
1
40
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
6
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
-2
2
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-4
-10
-6
0
0
0
0
0
0
0
0
0
0
7
0
-3
11
40
21
8
0
2
0
0
0
0
0
0
0
0
44
43
0
53
45
-4
-18
-8
15
0
0
0
0
0
0
0
0
8
-1
-49
1
37
-11
0
0
5
0
0
0
0
0
0
0
0
0
39
2
20
0
-7
8
0
8
0
0
0
0
0
0
0
0
-6
-7
2
-8
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-23
8
-1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-43
0
4
-13
-1
9
0
1
0
0
0
0
0
0
0
0
0
1
-82
1
-27
-39
9
-23
-22
5
0
0
0
0
0
0
0
-1
21
34
98
6
-34
-23
-15
42
61
0
0
0
0
0
0
0
-4
4
-30
-8
46
-14
52
8
42
39
0
0
0
0
0
0
0
0
44
8
9
-8
-16
0
-4
0
3
0
0
0
0
0
0
0
0
0
-2
4
20
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
2
-36
8
3
0
-3
0
0
0
0
0
0
0
0
0
-14
0
71
57
28
0
0
0
-20
0
0
0
0
0
0
0
-3
-71
-12
3
-4
-20
-30
-18
16
29
0
0
0
0
0
0
0
24
23
13
1
-94
-29
81
9
5
-12
0
0
0
0
0
0
1
-14
8
21
-56
-34
-48
18
5
-70
0
0
0
0
0
0
0
0
15
23
-14
-8
19
20
0
0
33
0
0
0
0
0
0
0
0
4
1
-4
22
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
5
-29
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
14
0
-8
0
0
0
0
0
-7
0
0
0
0
0
0
-5
1
-2
-26
-4
40
8
0
-3
0
4
0
0
0
0
0
0
-3
0
36
-33
50
0
11
8
-34
-5
29
6
0
0
0
0
0
0
-7
29
24
30
16
6
5
1
23
-15
-2
0
0
0
0
0
-1
-29
13
-13
6
98
33
-2
4
0
0
0
0
0
0
0
0
0
-25
42
2
-25
1
-2
15
0
0
2
0
0
0
0
0
0
0
0
2
0
7
5
2
-4
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-32
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
17
-13
-2
22
-2
-21
0
-1
0
0
2
0
0
0
0
0
12
-47
-18
20
4
11
2
2
-20
-19
3
5
0
0
0
0
0
4
-5
3
-6
44
-12
13
-5
-31
-2
-1
2
0
0
0
0
0
-3
4
24
1
-1
11
-20
5
0
9
0
0
0
0
0
0
0
0
-5
15
25
23
1
-2
1
0
-10
-6
0
0
0
0
0
0
0
0
-4
-7
5
5
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
57
0
19
0
5
0
0
0
0
0
0
0
0
0
0
1
21
45
42
3
-24
4
0
5
0
-1
0
0
0
0
0
0
22
39
-24
42
19
-28
-71
-45
15
-33
-2
1
0
0
0
0
0
-17
-3
-48
-24
29
-14
53
-5
-12
2
0
0
1
0
0
0
0
14
19
0
15
48
12
-6
14
-8
-24
0
0
0
0
0
0
0
0
-5
-73
32
32
-9
-6
-27
3
0
0
0
0
0
0
0
0
0
0
0
40
-7
-7
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
12
24
5
33
0
1
0
4
0
0
0
0
0
0
0
4
22
26
-10
-14
26
-29
0
3
0
0
0
0
0
0
0
0
1
-34
21
-3
-7
-32
-36
18
-28
14
-4
0
0
0
0
0
0
8
31
-3
8
4
-38
12
-66
-20
8
1
0
-1
0
0
0
0
13
14
14
-47
-27
-1
-11
17
8
-6
0
0
0
0
0
0
0
0
-42
-13
-9
-74
58
40
10
3
25
0
0
0
0
0
0
0
0
0
-2
17
-14
-1
4
0
-22
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
32
12
29
-24
-9
0
0
0
4
0
0
0
0
0
0
9
4
-1
1
72
-28
72
0
-8
0
4
0
0
0
0
0
0
40
-8
-42
-68
-58
-80
-21
14
83
0
20
0
0
0
0
0
0
-8
-122
-46
-29
14
-46
-7
42
-65
0
-1
0
0
0
0
0
0
-2
-25
4
7
21
-8
51
1
-32
32
-1
0
0
0
0
0
0
-4
-65
8
-8
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
12
4
-6
2
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-26
2
-2
0
0
0
-1
0
0
0
0
0
0
0
20
-41
27
-72
47
33
0
-6
0
-19
0
0
0
0
0
0
0
25
25
-21
-16
9
-33
0
22
-2
-5
-2
0
0
0
0
0
0
-13
-9
17
-41
-6
-68
-62
-18
-1
60
0
0
0
0
0
0
0
1
8
30
23
-15
43
22
-11
3
-9
0
0
0
0
0
0
0
4
36
-7
37
32
42
-42
-24
18
1
0
0
0
0
0
0
0
-13
10
17
-7
8
20
8
-41
0
0
0
0
0
0
0
0
0
0
1
-74
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
9
0
-28
0
-6
0
4
5
0
0
0
0
0
0
0
-1
53
0
-58
9
-11
-2
-9
-4
1
0
0
0
0
0
0
0
0
1
-10
21
42
-5
1
-25
8
-2
0
0
0
0
0
0
0
4
-12
-2
-23
5
22
-3
25
3
-1
0
0
0
0
0
0
0
2
9
27
36
-5
-1
-24
3
0
0
0
0
0
0
0
0
0
0
0
36
-47
2
9
0
-1
0
0
0
0
0
0
0
0
0
0
-6
8
0
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
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
5
23
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
-7
-1
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
-7
4
-1
0
1
0
0
0
0
0
0
0
0
0
6
56
21
-27
22
-44
71
0
-3
0
0
0
0
0
0
0
0
14
7
56
0
-24
-51
42
8
-8
0
0
0
0
0
0
0
0
-22
69
-43
-58
-72
34
4
-8
21
0
0
0
0
0
0
0
0
4
14
-95
-4
10
-1
-3
1
7
0
0
0
0
0
0
0
0
0
69
-2
40
-3
17
-2
-6
2
0
0
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-1
-13
14
50
21
0
0
-4
0
0
0
0
0
0
0
-3
-31
11
-62
-16
-1
-16
0
-18
0
0
0
0
0
0
0
0
16
-4
-40
27
-21
-4
20
43
-60
-51
0
0
0
0
0
0
0
-6
13
89
8
83
-19
31
-58
-49
-5
0
0
0
0
0
0
0
8
1
-42
44
7
-6
28
-49
74
34
0
0
0
0
0
0
0
0
24
37
58
-35
-32
24
8
5
2
0
0
0
0
0
0
0
0
0
10
28
3
23
0
-6
0
1
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-2
2
-20
-9
-8
0
-1
1
0
0
0
0
0
0
0
82
-8
0
-15
70
52
0
-4
0
5
0
0
0
0
0
0
0
-29
-19
29
-33
69
12
-31
-48
-71
37
0
0
0
0
0
0
0
3
-66
12
-47
-56
-54
23
-25
-5
15
0
0
0
0
0
0
0
59
16
39
-67
-22
14
2
63
35
7
0
0
0
0
0
0
0
34
-34
-8
23
7
18
65
8
-9
5
0
0
0
0
0
0
0
1
41
-7
17
3
27
5
24
-4
-2
0
0
0
0
0
0
0
0
-3
17
1
-3
0
0
0
-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
-4
-28
5
43
-25
0
0
0
3
0
0
0
0
0
0
8
-29
4
-46
-16
45
-26
0
0
0
31
0
0
0
0
0
0
-9
-58
-40
-6
99
-37
-61
1
61
-2
-7
4
0
0
0
0
0
5
-30
-5
-34
26
6
6
-28
89
-8
-3
-2
0
0
0
0
0
8
2
25
39
-8
26
5
33
-1
-12
12
0
0
0
0
0
0
0
1
36
24
34
68
-33
2
7
1
0
-1
0
0
0
0
0
0
0
5
-1
4
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-48
-13
-29
-14
1
22
-5
0
2
-5
1
0
0
0
0
0
25
28
7
6
28
31
12
0
5
0
-5
28
0
0
0
0
0
41
-68
-20
24
32
-2
51
-52
-40
-10
-2
-1
3
0
0
0
0
-29
9
24
6
-6
48
-91
-19
-40
38
0
-7
0
0
0
0
0
-23
18
60
39
50
49
37
55
-7
32
1
-3
0
0
0
0
0
0
57
-68
6
83
-12
-4
-18
1
-5
0
3
0
0
0
0
0
0
29
48
-1
2
3
4
1
0
-3
0
0
0
0
0
0
0
0
0
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-40
-23
21
4
-48
-3
2
8
0
0
0
0
0
0
0
0
0
-20
61
-7
2
2
-7
46
0
45
0
0
0
0
0
0
0
0
9
-22
42
-5
43
-66
-55
-20
35
85
23
0
0
0
0
0
0
10
31
44
-92
72
-19
5
75
44
13
-5
0
0
0
0
0
0
-14
41
-18
9
68
43
-8
-13
30
-5
0
0
0
0
0
0
0
0
1
-12
-23
-13
42
-34
-20
8
0
0
0
0
0
0
0
0
-3
10
21
70
41
8
8
8
-3
0
0
0
0
0
0
0
0
0
23
1
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
14
-30
-41
52
-2
0
0
7
0
0
0
0
0
0
0
13
-28
-8
23
52
20
22
0
3
0
24
-1
0
0
0
0
0
2
34
89
-11
35
-28
44
-24
-17
-49
31
9
0
0
0
0
0
-1
15
-36
-33
8
2
56
27
3
52
6
0
-1
0
0
0
0
10
-78
66
8
59
-2
3
-17
-53
-13
8
0
0
0
0
0
0
0
35
20
-8
26
-13
-48
48
-5
-24
0
0
0
0
0
0
0
1
1
-48
82
-2
-25
-29
43
29
20
-3
0
0
0
0
0
0
0
0
2
67
13
1
4
1
0
0
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
43
22
113
56
35
25
8
0
-1
0
0
0
0
0
0
0
68
15
8
-23
37
-23
-82
0
-36
0
16
0
0
0
0
0
0
-23
116
-60
55
15
101
-30
-10
49
5
22
0
0
0
0
0
0
5
16
-24
82
30
-25
3
18
-4
-65
0
-5
0
0
0
0
0
-11
-15
-32
26
-28
18
36
13
-13
-52
7
1
0
0
0
0
0
3
47
-45
-41
-48
31
14
16
-19
5
-2
0
0
0
0
0
0
-2
14
6
39
24
5
16
-6
43
0
0
0
0
0
0
0
0
0
-2
0
-24
-1
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
40
-12
86
46
-42
-19
-1
0
0
-4
0
0
0
0
0
0
-6
-55
-26
-81
-52
-36
-35
0
0
0
-17
0
0
0
0
0
0
7
24
-17
-74
-119
14
66
71
33
-4
-42
3
0
0
0
0
0
-12
52
-87
26
-11
-53
-51
-30
22
-25
-20
2
0
0
0
0
0
1
19
7
-47
79
103
24
-27
-9
90
-29
0
0
0
0
0
0
0
46
2
15
-8
50
23
0
20
-72
0
0
0
0
0
0
0
5
-5
-4
3
21
-18
-31
1
-32
2
0
0
0
0
0
0
0
0
0
12
25
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
39
-34
28
-16
58
-23
0
0
5
1
0
0
0
0
0
0
-15
60
0
-24
33
-5
0
-49
0
44
0
0
0
0
0
0
0
38
12
32
-13
-85
-11
-1
30
-11
-54
3
0
0
0
0
0
0
23
20
56
-71
-25
43
64
-56
-77
-55
0
0
0
0
0
0
0
5
-11
20
13
83
-67
77
17
-18
16
0
0
0
0
0
0
0
8
16
18
20
-77
8
38
-15
1
4
0
0
0
0
0
0
0
-7
55
-36
-18
-48
-46
30
10
-1
2
0
0
0
0
0
0
0
0
8
-42
-1
-3
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
46
41
-35
5
5
0
0
0
-1
0
0
0
0
0
0
0
-17
-26
-34
5
41
0
-2
0
-5
-2
0
0
0
0
0
0
0
25
15
2
27
-98
16
-56
2
6
-6
0
0
0
0
0
0
0
4
-1
-51
38
12
-11
-74
-92
-9
11
0
0
0
0
0
0
0
-16
28
6
-6
37
13
-31
-4
5
6
0
0
0
0
0
0
0
-6
25
13
42
6
-5
0
2
0
0
0
0
0
0
0
0
0
0
16
-29
2
21
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
24
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
-5
7
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-1
-12
4
0
-6
-17
-21
-3
6
0
0
0
0
0
0
0
2
22
-5
-8
0
-9
0
-20
3
1
0
0
0
0
0
0
0
0
1
-3
-18
-13
-6
1
2
0
0
0
0
0
0
0
0
0
0
-3
5
-16
8
6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-6
-13
-4
2
0
0
0
0
0
0
0
0
0
0
0
48
-5
53
37
-31
27
-19
0
-21
0
0
0
0
0
0
0
0
0
7
-4
-23
27
-42
3
-30
75
0
0
0
0
0
0
0
0
13
41
9
-7
42
-49
-21
-12
-19
0
0
0
0
0
0
0
0
14
37
3
27
28
-59
0
0
2
0
0
0
0
0
0
0
0
0
10
37
2
-13
8
8
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-48
1
-15
48
2
0
-6
0
0
0
0
0
0
0
0
-33
21
-16
-14
2
23
0
3
0
0
0
0
0
0
0
0
-8
-10
-43
43
12
91
18
5
-87
-3
0
0
0
0
0
0
0
-41
-3
41
-104
-15
57
-71
-39
29
51
0
0
0
0
0
0
0
2
-51
-49
-92
-8
-28
57
13
-23
66
0
0
0
0
0
0
0
0
19
82
-11
45
-108
4
17
-5
3
0
0
0
0
0
0
0
0
0
37
0
-16
4
8
1
1
-5
0
0
0
0
0
0
0
0
-2
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
50
2
82
-29
4
0
8
5
0
0
0
0
0
0
0
9
14
5
43
-11
-56
0
-7
0
-16
0
0
0
0
0
0
0
27
-1
-52
108
26
-42
-87
-9
-16
-43
0
0
0
0
0
0
0
3
61
19
43
-25
-13
-47
-5
-56
-8
0
0
0
0
0
0
0
2
17
-49
-60
-33
-2
-9
13
10
0
0
0
0
0
0
0
0
15
67
-42
-24
-78
54
9
0
-5
0
0
0
0
0
0
0
0
0
25
9
2
-13
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
3
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
6
45
73
-4
24
1
0
-1
13
-1
0
0
0
0
0
0
-9
17
84
-32
55
-30
0
3
0
3
-1
0
0
0
0
0
-25
41
13
9
13
18
-29
-8
-43
-32
-13
1
0
0
0
0
0
-10
15
18
-26
28
6
65
41
13
-2
5
1
0
0
0
0
0
16
-33
16
9
35
-14
28
-13
6
0
1
0
0
0
0
0
0
0
25
-18
8
7
8
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
20
6
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
29
-33
19
38
40
-17
5
0
-1
0
1
0
0
0
0
0
-13
59
79
-50
36
-47
-19
0
20
0
5
0
0
0
0
0
0
24
57
51
33
80
58
22
-14
-3
5
8
-2
0
0
0
0
0
70
-38
-27
18
52
19
11
12
-60
1
0
-8
0
0
0
0
0
2
-42
-7
-32
2
16
17
-71
-32
6
0
0
0
0
0
0
0
0
-41
-67
-42
3
9
-29
5
-2
3
5
0
0
0
0
0
0
0
1
-53
20
1
-14
-18
1
8
0
0
0
0
0
0
0
0
0
-2
3
-4
-8
1
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-4
60
18
-4
-9
-40
0
0
0
5
0
0
0
0
0
0
38
-4
32
29
23
3
32
0
-7
0
5
1
0
0
0
0
0
50
-57
74
-36
-8
-49
-11
-54
24
70
27
-2
-1
0
0
0
0
-48
-35
-33
-18
-8
-8
3
53
-65
4
0
1
0
0
0
0
0
34
-9
-22
14
24
10
51
-5
12
9
0
-7
0
0
0
0
0
0
-36
-16
-17
34
14
-43
7
-7
-7
-4
0
0
0
0
0
0
-12
5
60
-1
41
6
-49
6
-16
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
12
39
-5
6
33
0
0
-12
-4
0
0
0
0
0
0
-5
-55
36
15
26
21
-51
0
-8
0
0
-2
0
0
0
0
0
-5
58
-12
49
46
-19
24
-3
40
34
0
10
0
0
0
0
0
-10
11
60
-5
38
-60
44
-1
-42
-10
1
0
0
0
0
0
0
-23
-16
6
-25
-109
23
28
-46
-56
-9
3
0
0
0
0
0
0
0
50
49
-3
67
41
29
5
15
-4
5
0
0
0
0
0
0
0
-19
-23
47
-13
25
9
-2
10
-23
0
0
0
0
0
0
0
0
0
12
16
-9
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
0
0
0
0
0
-13
40
37
-40
-24
38
-11
0
0
0
21
0
0
0
0
0
0
0
69
9
-42
-28
6
38
0
-12
0
-1
0
0
0
0
0
0
4
-35
18
25
52
0
-9
20
10
37
-17
0
0
0
0
0
0
-94
22
-5
14
22
-28
-14
32
18
-39
-6
0
0
0
0
0
0
-10
1
22
-76
-26
-38
30
21
-29
-9
1
0
0
0
0
0
0
12
45
-18
-61
65
-25
20
10
-12
7
0
0
0
0
0
0
0
-28
33
-33
3
68
-8
66
1
41
-13
0
0
0
0
0
0
0
0
13
-3
28
-2
29
-1
0
-1
0
0
0
0
0
0
0
0
0
17
6
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-19
56
75
27
-47
-101
84
21
0
63
0
-4
0
0
0
0
0
48
15
-1
1
-20
-35
17
0
-29
0
-2
0
0
0
0
0
0
34
11
30
-11
-12
-71
-37
28
5
2
-30
-5
0
0
0
0
0
-25
-12
29
-13
-43
16
8
18
-7
-8
1
0
0
0
0
0
0
56
34
-3
4
-8
144
-74
20
71
-4
-1
0
0
0
0
0
0
2
-72
5
-38
-24
-9
-1
60
21
-45
2
0
0
0
0
0
0
1
-6
8
39
-66
32
-12
-31
22
16
0
0
0
0
0
0
0
0
-94
20
-5
81
-19
2
5
1
-1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
8
-20
25
-41
14
0
1
44
0
0
0
0
0
0
0
83
-24
-34
31
-32
-33
0
20
0
-101
-8
0
0
0
0
0
0
35
-15
35
55
-55
103
-110
18
-100
6
-1
0
0
0
0
0
0
-70
8
56
-82
33
70
-67
-71
-59
-3
-1
0
0
0
0
0
0
87
-53
6
18
30
6
45
-9
33
6
0
0
0
0
0
0
0
-12
-62
5
-71
-60
76
63
-29
-11
-23
0
0
0
0
0
0
0
42
-105
8
18
-15
-5
-8
0
-6
0
0
0
0
0
0
0
0
0
-6
29
8
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
13
-72
-9
0
2
0
2
0
4
0
0
0
0
0
0
0
-1
38
45
-6
-21
0
2
0
4
-32
0
0
0
0
0
0
0
31
-31
-14
8
26
24
-2
-20
0
-13
0
0
0
0
0
0
0
-5
31
-3
-20
105
-19
-1
-49
-2
-4
0
0
0
0
0
0
0
-6
22
22
12
26
-25
-1
-15
0
-12
0
0
0
0
0
0
0
3
59
24
3
18
-36
5
0
0
4
0
0
0
0
0
0
0
0
-1
4
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
11
0
0
8
0
0
0
0
0
0
0
0
0
0
40
-4
29
0
2
0
-25
0
0
0
0
0
0
0
0
0
0
8
8
0
5
9
-10
0
-1
0
0
0
0
0
0
0
0
0
7
-2
-6
41
6
-3
-1
0
-1
0
0
0
0
0
0
0
0
8
5
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
42
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
23
49
-3
34
2
-5
0
0
2
0
0
0
0
0
0
0
0
-21
0
6
-20
52
-36
12
3
-32
0
0
0
0
0
0
0
0
0
23
-9
36
28
-14
1
-2
45
0
0
0
0
0
0
0
0
4
-1
-47
-18
46
21
-1
0
34
0
0
0
0
0
0
0
0
-2
-6
5
3
24
7
1
0
1
0
0
0
0
0
0
0
0
0
0
25
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
7
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-46
-3
15
41
-72
2
0
0
0
0
0
0
0
0
0
-4
45
22
-50
-20
-58
-14
0
4
0
0
0
0
0
0
0
0
-1
-19
-27
10
-45
-39
-30
-4
46
-71
0
0
0
0
0
0
0
0
-7
-49
56
8
-33
-2
-26
-39
35
0
0
0
0
0
0
0
0
-41
25
-28
-90
2
2
44
-5
62
0
0
0
0
0
0
0
0
-57
-39
12
-20
-68
-3
-24
8
44
0
0
0
0
0
0
0
0
3
9
67
-15
32
9
7
4
4
0
0
0
0
0
0
0
0
0
4
3
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
44
11
3
51
16
1
1
0
-2
0
0
0
0
0
0
0
0
66
-47
42
-49
18
-55
0
0
0
8
0
0
0
0
0
0
0
14
22
14
19
4
-12
-37
-66
-13
5
0
0
0
0
0
0
0
15
-8
-36
-7
-32
-10
8
-40
-35
1
0
0
0
0
0
0
0
0
5
3
-20
-11
35
7
19
-3
2
0
0
0
0
0
0
0
-1
-5
39
-43
-99
10
3
-1
10
-1
0
0
0
0
0
0
0
7
-29
0
63
-1
1
0
0
-6
0
0
0
0
0
0
0
0
0
4
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
55
-30
-19
6
3
0
0
0
0
0
0
0
0
0
0
8
-14
-13
14
-5
-42
-12
0
4
0
-13
-7
0
0
0
0
0
36
31
-50
95
40
-28
38
12
-51
13
-24
1
0
0
0
0
0
-25
37
64
20
-44
45
38
-6
30
-15
0
1
0
0
0
0
0
-4
8
2
11
59
-25
84
42
-20
2
-2
0
0
0
0
0
0
0
12
48
-27
32
-3
40
7
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-10
3
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
51
-7
-12
49
5
-3
0
0
0
0
0
0
0
0
0
-25
83
30
19
-52
13
-65
0
17
0
0
0
0
0
0
0
0
-8
-45
-12
-44
-28
76
-56
-29
4
10
-2
-8
0
0
0
0
0
16
10
28
-57
32
-33
-28
-70
24
-13
0
-2
0
0
0
0
0
13
-55
-4
-32
15
5
34
4
-2
24
0
-1
0
0
0
0
0
2
46
-12
-42
-20
-9
0
40
42
22
0
0
0
0
0
0
0
2
0
9
3
-58
0
21
-1
-1
-6
0
0
0
0
0
0
0
0
0
1
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
60
-15
-56
-95
48
1
-6
0
-2
0
0
0
0
0
0
0
-17
-54
25
24
35
23
-25
0
20
0
-8
-4
0
0
0
0
0
15
-15
78
-22
42
-35
7
-25
17
-21
-2
0
0
0
0
0
0
40
10
94
-11
71
4
42
-8
-4
3
-1
0
0
0
0
0
0
55
13
20
86
-87
8
-30
-30
-7
44
0
0
0
0
0
0
0
0
-8
-5
15
-35
49
45
-16
-42
-24
0
0
0
0
0
0
0
2
0
46
15
-21
-1
9
7
-2
0
0
0
0
0
0
0
0
0
1
-25
40
-8
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
25
38
25
-8
13
12
0
-4
1
0
0
0
0
0
0
-4
32
21
30
-16
-56
-3
0
-48
0
-19
0
0
0
0
0
0
18
47
-40
78
-46
0
-43
123
-49
29
8
8
0
0
0
0
0
3
45
-19
-25
24
25
-28
15
-23
41
0
0
0
0
0
0
0
17
40
-22
-14
38
-11
18
65
-20
23
0
0
0
0
0
0
0
4
-65
-21
51
7
46
-9
-26
44
-23
0
0
0
0
0
0
0
0
0
17
-7
-18
-30
3
-20
-13
-2
0
0
0
0
0
0
0
0
-5
2
-29
2
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
73
42
159
48
-80
52
36
12
0
-1
6
0
0
0
0
0
0
-7
114
24
-5
41
-30
24
0
60
0
-15
0
0
0
0
0
0
43
-17
46
-6
-33
-17
-15
66
85
65
30
-6
0
0
0
0
0
20
64
-11
66
67
32
28
-70
18
3
0
0
0
0
0
0
0
31
23
34
17
-18
62
19
-8
61
53
3
0
0
0
0
0
0
-5
47
17
-14
3
-41
-45
-4
-74
-4
0
0
0
0
0
0
0
9
34
5
-7
-9
13
-4
7
-19
-12
0
0
0
0
0
0
0
0
-8
0
27
49
-34
-4
-1
-24
-5
0
0
0
0
0
0
0
0
-14
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
30
40
46
-86
45
-10
13
23
0
-2
0
0
0
0
0
0
0
29
-93
15
87
-9
-33
3
0
-5
0
-15
0
0
0
0
0
0
-8
14
-11
53
-38
-37
-139
-4
-100
30
19
-4
0
0
0
0
0
16
-9
36
-92
130
-12
35
66
-60
-20
-1
0
0
0
0
0
0
22
-27
-83
-25
-27
12
28
69
13
35
7
0
0
0
0
0
0
-1
-60
-1
-18
54
-10
-57
26
8
-41
0
0
0
0
0
0
0
-8
8
-37
-48
34
-1
5
24
-12
48
0
0
0
0
0
0
0
0
-25
2
-5
-29
31
24
4
0
-5
0
0
0
0
0
0
0
0
0
-7
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-48
-10
16
31
6
45
0
-5
16
0
0
0
0
0
0
0
8
68
48
33
69
-8
0
16
0
96
0
0
0
0
0
0
0
-39
26
17
-38
-83
-17
17
-31
39
5
-5
0
0
0
0
0
0
-1
34
-41
-38
-7
-48
9
26
-5
18
0
0
0
0
0
0
0
58
71
22
-3
-37
-4
9
7
10
2
0
0
0
0
0
0
0
-3
-27
-43
-13
-12
62
-8
66
-8
-25
0
0
0
0
0
0
0
0
38
-36
-17
-7
-50
7
19
10
0
0
0
0
0
0
0
0
0
-45
22
41
13
3
1
-5
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
15
41
-12
29
0
4
1
2
0
0
0
0
0
0
0
42
32
15
50
-1
0
0
0
12
-21
0
0
0
0
0
0
0
-12
-2
47
-4
-71
-30
-21
24
-4
-10
0
0
0
0
0
0
0
3
20
9
22
34
21
-3
9
0
-7
0
0
0
0
0
0
0
5
-9
-4
22
75
47
-10
22
0
-1
0
0
0
0
0
0
0
-7
-8
-5
-60
-6
5
1
2
4
0
0
0
0
0
0
0
0
0
9
-8
-31
-3
4
0
1
0
0
0
0
0
0
0
0
0
0
4
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
3
28
0
-3
0
0
3
-5
0
0
0
0
0
0
0
0
30
13
-14
-18
2
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
0
3
0
4
0
0
0
0
0
0
0
0
0
-41
-2
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
51
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
15
-8
-67
-16
5
-16
0
0
0
0
0
0
0
0
0
0
-12
5
-20
-3
40
-17
-1
-4
1
0
0
0
0
0
0
0
0
23
-3
24
43
-39
-18
2
0
-17
0
0
0
0
0
0
0
0
0
15
13
-40
-13
-3
2
1
-2
0
0
0
0
0
0
0
0
-1
0
-40
-3
1
30
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
18
8
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-47
13
-14
25
26
-1
0
25
0
0
0
0
0
0
0
-2
126
43
20
17
-34
-37
0
4
0
0
0
0
0
0
0
0
1
-43
-52
11
-25
27
37
12
33
55
0
0
0
0
0
0
0
1
-1
-1
-51
-74
4
-33
49
34
-37
0
0
0
0
0
0
0
1
0
35
-35
-56
24
12
27
-30
28
0
0
0
0
0
0
0
0
-12
29
42
-11
-37
-22
20
-21
8
0
0
0
0
0
0
0
0
-3
-25
-36
29
-41
5
8
13
-8
0
0
0
0
0
0
0
0
1
0
83
7
62
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
7
55
-11
40
0
0
0
0
0
0
0
0
0
0
0
0
30
12
47
68
27
-7
0
-1
0
-8
0
0
0
0
0
0
0
14
17
1
9
12
-45
12
43
80
32
0
0
0
0
0
0
0
-2
37
-19
-13
-25
-42
-52
-3
5
0
0
0
0
0
0
0
0
15
0
-11
-29
-18
3
66
4
-2
-2
0
0
0
0
0
0
0
0
-35
6
-21
22
28
0
-12
24
2
0
0
0
0
0
0
0
0
-10
27
-1
29
-1
16
9
-7
0
0
0
0
0
0
0
0
6
1
17
8
-6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
9
-16
7
85
48
3
0
0
0
-2
0
0
0
0
0
0
-36
16
26
-67
-69
-5
-7
0
0
0
-13
0
0
0
0
0
0
18
-3
52
55
-9
-53
9
-8
-25
-6
16
-2
0
0
0
0
0
3
-41
15
14
-14
-12
2
-29
-98
-7
0
0
0
0
0
0
0
0
80
42
0
32
37
-15
-10
12
0
0
0
0
0
0
0
0
0
93
-1
-6
4
0
1
34
4
0
0
0
0
0
0
0
0
-1
0
-10
0
-12
0
-7
0
0
0
0
0
0
0
0
0
0
0
20
0
0
12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
58
-27
-18
-15
-36
-15
-2
0
0
-1
0
0
0
0
0
0
6
31
37
37
51
5
3
0
5
0
5
-1
0
0
0
0
0
-8
-6
-6
61
15
17
-40
24
10
-10
0
-3
0
0
0
0
0
23
-1
59
-23
65
68
-30
6
32
27
0
0
0
0
0
0
0
23
-1
10
18
0
-4
-5
-42
15
-30
0
0
0
0
0
0
0
-2
-29
-73
-133
-8
-19
-30
16
8
22
0
0
0
0
0
0
0
6
3
-18
32
8
-16
-6
-5
7
2
0
0
0
0
0
0
0
0
0
0
36
5
12
0
0
0
-1
0
0
0
0
0
0
0
0
2
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
33
41
-23
1
-40
-37
66
0
0
0
0
0
0
0
0
0
0
9
-15
27
-38
77
25
-57
0
-58
0
-4
0
0
0
0
0
0
40
21
-2
3
16
-64
-22
-7
-1
-34
5
0
0
0
0
0
0
1
24
-22
-9
-21
-64
83
74
57
-12
0
0
0
0
0
0
0
-30
-12
0
-15
24
0
72
-8
10
0
2
0
0
0
0
0
0
-3
8
25
21
-82
3
-13
-29
9
-2
0
0
0
0
0
0
0
0
-4
-61
-16
-31
23
-7
-3
5
0
0
0
0
0
0
0
0
0
-74
0
-30
1
-14
0
4
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-69
13
37
-21
13
-13
-5
0
-5
1
0
0
0
0
0
0
-17
14
27
26
-77
-6
-9
0
7
0
2
0
0
0
0
0
0
48
105
23
-27
44
17
-16
93
13
-48
-1
0
0
0
0
0
0
32
74
23
5
-2
30
-9
69
48
-31
6
0
0
0
0
0
0
-8
35
-21
2
-8
0
0
-1
3
-5
0
0
0
0
0
0
0
-9
12
17
75
-3
2
-23
-41
0
24
0
0
0
0
0
0
0
-2
-6
17
-41
-29
-2
-14
-50
-15
1
0
0
0
0
0
0
0
0
-8
3
3
-17
4
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
19
-12
-2
12
20
30
55
3
0
0
-9
0
0
0
0
0
0
28
13
-9
-2
-2
10
49
0
78
0
-6
0
0
0
0
0
0
11
-3
-28
76
35
52
98
29
56
-17
-31
-2
0
0
0
0
0
-7
-3
40
17
23
-16
112
-40
106
17
2
-2
0
0
0
0
0
-4
-3
38
23
-39
8
-16
0
-49
-3
0
0
0
0
0
0
0
-8
-2
24
8
19
58
15
13
31
-17
0
0
0
0
0
0
0
-25
10
-38
-27
-15
6
-38
0
-23
-3
0
0
0
0
0
0
0
0
-7
-6
-16
4
-8
0
0
0
-6
0
0
0
0
0
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-22
-10
35
24
65
-44
28
8
0
-4
-4
0
0
0
0
0
0
31
103
49
-6
-9
36
-3
0
21
0
42
-6
0
0
0
0
0
-18
4
29
83
-22
40
14
79
46
-14
-1
-6
0
0
0
0
0
-47
-14
1
13
19
-100
22
-3
2
-40
13
5
0
0
0
0
0
-7
47
38
82
2
163
36
33
0
-32
-4
0
0
0
0
0
0
4
-21
30
49
62
-63
110
-5
-6
-55
0
0
0
0
0
0
0
0
-29
8
-42
-57
-3
-3
-69
-1
-6
0
0
0
0
0
0
0
0
-13
9
5
25
42
-6
-5
-1
17
0
0
0
0
0
0
0
0
0
-10
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-19
-10
-20
-37
22
3
0
0
28
4
0
0
0
0
0
0
52
32
-5
2
-10
-39
0
25
0
81
7
0
0
0
0
0
0
-29
0
-46
45
32
-19
-7
24
-4
-11
-1
0
0
0
0
0
0
-48
-38
-4
-8
-53
-10
18
54
76
-38
-8
0
0
0
0
0
0
35
-49
8
-50
12
7
20
36
0
14
0
0
0
0
0
0
0
1
-24
-34
-41
21
12
-45
48
5
-6
0
0
0
0
0
0
0
64
-3
24
21
17
40
-27
14
1
2
0
0
0
0
0
0
0
0
-13
24
-16
49
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
53
-13
23
0
1
2
-6
0
0
0
0
0
0
0
-3
-43
-4
8
-45
0
4
0
-8
-2
0
0
0
0
0
0
0
3
43
19
23
-2
33
12
19
0
-9
0
0
0
0
0
0
0
-12
-15
58
55
-44
7
-65
19
-24
-9
0
0
0
0
0
0
0
0
4
-8
-18
7
1
0
-1
0
-3
0
0
0
0
0
0
0
-9
15
34
-25
13
0
8
2
0
0
0
0
0
0
0
0
0
0
-3
2
5
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
7
4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
2
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-25
1
-8
0
0
0
-7
1
1
0
0
0
0
0
0
0
0
-8
6
-9
-22
-9
1
0
1
-2
0
0
0
0
0
0
0
0
0
-21
3
-7
-1
6
0
0
-2
0
0
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
53
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-20
0
-3
0
0
5
0
0
0
0
0
0
0
0
-21
-1
-24
9
8
16
-1
0
2
0
0
0
0
0
0
0
0
-1
-43
-8
3
41
-52
2
0
-22
0
0
0
0
0
0
0
0
40
0
9
-10
-4
-9
-13
0
-4
0
0
0
0
0
0
0
0
0
32
-7
-41
21
1
-7
4
1
0
0
0
0
0
0
0
0
0
0
27
16
28
-4
0
0
2
0
0
0
0
0
0
0
0
0
-7
0
-8
7
-14
0
-2
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
-2
-14
56
2
0
-8
0
0
0
0
0
0
0
0
0
2
-25
-2
5
7
-40
-33
0
0
0
0
0
0
0
0
0
0
0
32
-75
-14
28
9
-7
-12
-13
88
0
0
0
0
0
0
0
0
4
2
-18
-74
42
4
-15
-11
-20
0
0
0
0
0
0
0
0
25
5
-93
-5
-40
-20
-8
-1
-1
0
0
0
0
0
0
0
-6
0
58
-9
50
-50
25
4
3
-4
0
0
0
0
0
0
0
0
-4
8
25
64
49
-32
-8
-2
0
0
0
0
0
0
0
0
0
-1
8
34
-6
4
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
65
-61
31
-68
-1
0
0
0
0
0
0
0
0
0
0
0
41
15
-49
96
0
-32
0
0
0
15
0
0
0
0
0
0
0
19
0
-8
-12
2
-14
8
84
22
45
0
0
0
0
0
0
0
22
-30
-18
20
-11
-115
-53
-3
-56
-22
0
0
0
0
0
0
0
1
5
0
0
29
15
26
-32
3
0
0
0
0
0
0
0
0
-8
0
49
36
-22
40
24
1
10
-4
0
0
0
0
0
0
0
-1
19
0
56
48
6
-15
0
20
0
0
0
0
0
0
0
0
0
0
19
0
-53
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
23
-34
-23
-1
4
3
0
-2
-6
0
0
0
0
0
0
3
-82
-1
123
41
-56
30
0
5
0
-40
0
0
0
0
0
0
-1
13
-4
-20
-45
13
3
16
30
24
-31
1
0
0
0
0
0
8
-3
70
25
0
-49
-43
44
10
-1
5
0
0
0
0
0
0
40
-27
-6
-30
41
83
14
-23
-29
-4
0
0
0
0
0
0
0
0
13
24
0
33
15
12
1
0
0
0
6
0
0
0
0
0
-1
1
0
-9
0
-5
-17
3
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
41
-9
10
10
-3
46
2
0
0
0
0
0
0
0
0
0
-1
19
43
24
-42
112
-29
0
-2
0
0
-1
0
0
0
0
0
-24
-18
-14
-2
1
11
37
53
-13
27
0
-1
0
0
0
0
0
4
-41
-42
-19
54
34
-58
-38
5
-42
0
2
0
0
0
0
0
25
-9
-1
-7
-18
65
-53
29
-40
-57
-3
0
0
0
0
0
0
0
0
8
-23
0
-74
3
0
0
0
0
0
0
0
0
0
0
1
52
-20
-8
-27
-2
13
-38
14
1
0
0
0
0
0
0
0
0
4
0
-2
2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
7
7
18
4
15
-40
-14
0
-2
0
0
0
0
0
0
0
8
-3
56
1
28
-16
64
0
24
0
1
0
0
0
0
0
0
41
68
17
22
27
-31
-66
-11
-4
-85
-1
0
0
0
0
0
0
16
79
28
-6
-16
74
42
-13
20
-31
-1
0
0
0
0
0
0
20
5
-52
14
44
68
-1
-51
-6
-76
16
0
0
0
0
0
0
1
-11
31
59
61
0
-5
3
2
5
3
0
0
0
0
0
0
16
49
61
86
2
0
-5
-3
5
-2
0
0
0
0
0
0
0
0
-44
15
-5
-5
3
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
70
12
-8
27
13
3
-19
0
0
3
0
0
0
0
0
0
22
28
-25
11
-4
22
31
0
1
0
0
0
0
0
0
0
0
6
-1
19
7
10
-41
27
-31
58
-35
0
3
0
0
0
0
0
-12
32
-61
22
47
37
-22
-41
12
22
1
3
0
0
0
0
0
41
2
39
33
47
65
-20
40
27
-97
0
0
0
0
0
0
0
0
-19
-5
33
-9
-10
0
-3
17
0
2
0
0
0
0
0
0
2
-19
-2
40
-25
12
16
-27
74
-10
0
0
0
0
0
0
0
0
16
23
5
-7
-5
-2
-4
-1
8
0
0
0
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-53
-55
26
59
-26
77
29
-17
0
-13
0
0
0
0
0
0
0
49
35
-5
55
-42
-9
-31
0
9
0
7
-2
0
0
0
0
0
54
33
-31
23
27
-59
23
118
40
21
48
-2
0
0
0
0
0
6
27
24
80
25
-22
-97
2
60
-76
-3
0
0
0
0
0
0
35
18
3
-19
-55
56
58
52
52
65
49
0
0
0
0
0
0
-3
33
67
136
-19
127
7
0
-7
1
0
0
0
0
0
0
0
-19
17
24
7
15
-9
4
2
-2
-8
0
0
0
0
0
0
0
0
-42
29
-25
40
-1
-7
2
-2
-2
0
0
0
0
0
0
0
0
0
8
43
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
-10
5
-44
-15
41
10
0
23
12
0
0
0
0
0
0
-2
0
8
-23
-12
-38
56
0
-12
0
-13
-2
0
0
0
0
0
16
106
24
-3
44
-47
71
4
94
-4
10
3
0
0
0
0
0
-18
-28
26
-47
4
59
-60
21
44
-17
-8
0
0
0
0
0
0
-6
-4
-30
107
-2
4
66
47
29
-42
-22
0
0
0
0
0
0
-22
-7
-6
-49
-76
56
55
-33
0
-22
0
0
0
0
0
0
0
-1
20
32
-42
56
18
-13
1
0
-29
0
0
0
0
0
0
0
0
12
9
7
-33
-29
24
2
0
-24
0
0
0
0
0
0
0
0
29
-8
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
43
10
8
33
18
15
4
0
1
89
0
0
0
0
0
0
0
-22
37
-8
24
50
7
0
-14
0
48
0
0
0
0
0
0
0
6
-63
-17
72
51
-35
-28
-15
49
-35
-1
0
0
0
0
0
0
24
46
10
2
16
32
56
23
-14
44
0
0
0
0
0
0
0
3
29
-17
-7
25
6
-37
-78
52
1
0
0
0
0
0
0
0
-12
28
12
-5
-20
19
22
3
0
-7
0
0
0
0
0
0
0
-2
9
16
-11
27
4
6
13
-2
0
0
0
0
0
0
0
0
0
3
-48
48
24
-4
0
-33
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-41
48
-24
-5
0
5
1
0
0
0
0
0
0
0
0
-5
12
-33
12
44
0
6
0
0
-54
0
0
0
0
0
0
0
-40
51
-18
3
22
-39
-32
-6
10
-48
0
0
0
0
0
0
0
8
-10
-12
15
-43
22
19
-24
1
4
0
0
0
0
0
0
0
0
23
56
46
105
8
38
1
-4
-13
0
0
0
0
0
0
0
-5
2
40
22
-33
-16
0
2
0
1
0
0
0
0
0
0
0
0
-9
0
17
8
-4
-1
0
0
0
0
0
0
0
0
0
0
1
1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
5
0
-1
2
0
-1
0
0
0
0
0
0
0
0
12
-15
2
0
-1
0
19
3
0
0
0
0
0
0
0
0
0
1
1
13
4
40
-15
-6
-14
-4
0
0
0
0
0
0
0
0
-3
-12
1
15
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
1
-2
0
0
1
0
0
0
0
0
0
0
2
0
1
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
16
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
3
4
1
0
-8
13
0
0
0
0
0
0
0
0
-10
-2
0
-24
-47
23
2
4
5
0
0
0
0
0
0
0
0
9
0
4
-31
-2
-22
-9
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
22
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
30
0
2
8
-8
0
0
0
0
0
0
0
0
0
0
4
-8
-5
-15
-26
91
3
0
0
0
0
0
0
0
0
0
0
-1
15
93
-4
-60
7
-3
0
-13
47
0
0
0
0
0
0
0
0
27
19
-17
-1
-45
107
-20
1
6
0
0
0
0
0
0
0
2
16
-26
-4
23
-5
5
43
-20
25
0
0
0
0
0
0
0
0
-19
0
11
23
6
55
0
-1
-10
0
0
0
0
0
0
0
7
0
-9
8
42
3
47
3
3
0
0
0
0
0
0
0
0
0
8
0
45
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
48
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
18
51
24
41
4
0
2
0
3
0
0
0
0
0
0
0
-20
31
50
1
11
9
0
14
20
25
0
0
0
0
0
0
0
-23
-43
9
-3
10
-56
18
-4
-4
-5
0
0
0
0
0
0
0
6
7
23
-40
45
-63
51
-5
2
1
0
0
0
0
0
0
0
0
57
0
-52
-81
9
30
0
13
0
0
0
0
0
0
0
0
13
0
28
25
8
41
-8
4
0
0
0
0
0
0
0
0
0
0
-2
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-16
-4
1
-1
0
0
0
0
0
0
0
0
0
-5
88
0
18
-9
19
10
0
0
0
-8
0
0
0
0
0
0
-3
-1
20
3
-34
-11
0
1
-1
0
7
0
0
0
0
0
0
0
16
-12
-10
8
22
-17
-4
7
-1
0
0
0
0
0
0
0
-2
0
25
-4
15
6
-26
52
-12
5
0
0
0
0
0
0
0
-2
13
0
13
0
-41
4
24
-6
1
0
0
0
0
0
0
0
2
8
38
0
-7
3
-18
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
65
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
61
-84
11
-12
0
4
0
0
0
0
0
0
0
0
0
2
8
-3
-27
-26
51
0
-45
31
0
0
0
0
0
0
0
2
37
-50
-3
31
-45
8
2
-8
-8
0
0
0
0
0
0
0
-23
-24
-11
12
24
-17
15
-10
40
15
0
0
0
0
0
0
0
-3
31
-41
-8
24
40
16
7
-34
-90
0
0
0
0
0
0
0
0
15
43
-27
0
-4
-1
-5
-3
-3
0
0
0
0
0
0
0
0
-4
9
-1
-5
-6
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-54
38
55
15
8
4
0
0
0
0
0
0
0
0
0
6
-4
13
-21
-20
4
5
0
0
0
0
0
0
0
0
0
0
1
5
13
17
38
-7
47
17
-53
-81
-5
0
0
0
0
0
0
2
24
-3
-57
-29
89
18
3
-27
-15
0
0
0
0
0
0
0
-3
25
-15
-29
-59
5
-4
-33
1
71
-1
0
0
0
0
0
0
-20
-56
-17
-3
0
4
20
6
5
-50
-8
0
0
0
0
0
0
-15
-11
12
11
21
0
0
-2
0
0
0
0
0
0
0
0
0
0
27
18
-41
0
-5
9
1
0
-5
0
0
0
0
0
0
0
-1
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-14
48
25
-13
-25
13
0
0
0
0
0
0
0
0
0
-2
-27
55
-29
-3
-40
2
0
-22
0
0
2
0
0
0
0
0
0
-10
-22
20
-7
49
-8
-94
34
-33
1
6
0
0
0
0
0
-1
-2
28
-16
4
30
-1
8
20
-18
0
0
0
0
0
0
0
-33
-17
10
4
38
25
79
-18
-6
24
0
0
0
0
0
0
0
3
-31
70
-56
-22
36
25
13
35
13
-2
0
0
0
0
0
0
0
12
-34
13
16
82
0
0
2
0
0
0
0
0
0
0
0
0
-6
17
-14
-18
-22
1
-3
4
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
22
15
3
14
17
-11
5
0
0
1
0
0
0
0
0
0
14
-1
-20
5
43
-26
59
0
48
0
2
0
0
0
0
0
0
43
44
-41
9
-35
110
33
-30
50
-50
27
-1
0
0
0
0
0
10
22
29
98
76
-75
10
5
8
54
-7
0
0
0
0
0
0
-2
-18
-9
-33
33
13
77
-22
-11
17
25
0
0
0
0
0
0
-59
55
-25
65
-15
58
34
6
4
98
0
0
0
0
0
0
0
2
20
11
31
17
22
-7
0
-24
0
0
0
0
0
0
0
0
0
34
49
42
-5
8
8
0
0
-5
0
0
0
0
0
0
0
0
5
8
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
67
20
-18
78
-71
5
0
3
-3
0
0
0
0
0
0
2
-21
26
51
2
33
-87
0
-54
0
22
0
0
0
0
0
0
9
43
-27
61
-39
-9
74
1
15
-36
-18
-1
0
0
0
0
0
-13
68
29
-1
-37
61
35
-48
-22
-49
-8
-1
0
0
0
0
0
-3
54
-9
130
-30
-39
-54
23
14
-109
23
0
0
0
0
0
0
9
3
6
-6
-37
11
40
-5
8
-8
1
0
0
0
0
0
0
0
29
-65
28
-37
26
-32
41
0
3
0
0
0
0
0
0
0
0
-2
-16
13
-40
-24
5
18
2
-56
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-59
14
-11
-7
95
-1
0
1
-18
-1
0
0
0
0
0
0
18
30
61
44
-33
-34
0
20
0
35
3
0
0
0
0
0
0
-1
8
93
89
57
13
42
18
63
63
0
0
0
0
0
0
0
-17
48
36
47
12
4
47
66
51
2
-1
0
0
0
0
0
0
-25
-68
29
-76
3
13
14
-43
1
-13
0
0
0
0
0
0
0
-3
17
-10
-43
18
13
-8
3
48
-42
0
0
0
0
0
0
0
-23
43
-19
43
-64
8
6
29
0
-4
0
0
0
0
0
0
0
0
29
6
-8
57
25
-8
6
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-40
0
6
0
-3
-19
-3
0
0
0
0
0
0
0
4
2
-20
-20
13
0
-6
0
8
8
0
0
0
0
0
0
0
0
24
-33
33
-40
-8
-5
-10
0
38
0
0
0
0
0
0
0
-8
43
-10
15
13
33
6
5
7
49
0
0
0
0
0
0
0
0
9
-39
-11
-41
-6
-2
45
0
40
0
0
0
0
0
0
0
5
-4
-19
23
14
-30
-19
5
0
-8
0
0
0
0
0
0
0
-9
-10
-36
-14
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
10
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
1
-3
2
3
1
5
4
-7
0
0
0
0
0
0
0
0
0
1
27
10
20
7
2
16
3
0
0
0
0
0
0
0
0
0
-1
-6
-50
9
-13
-3
7
0
0
0
0
0
0
0
0
0
0
0
1
-9
-9
4
-13
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-29
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
-7
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
-3
9
0
-42
0
30
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-65
5
2
0
0
0
0
0
0
0
0
0
0
0
10
0
40
-10
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
37
-8
9
-17
1
-19
0
-6
-1
0
0
0
0
0
0
0
-23
0
-4
66
-2
-21
2
13
0
0
0
0
0
0
0
0
0
0
8
0
0
-27
4
-5
3
-8
0
0
0
0
0
0
0
0
0
0
8
-6
14
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
37
12
8
-6
0
3
0
0
0
0
0
0
0
0
-1
1
1
21
52
-9
8
0
0
7
0
0
0
0
0
0
0
0
0
1
18
-4
7
7
0
0
6
0
0
0
0
0
0
0
0
0
-1
-25
22
19
13
0
1
-29
0
0
0
0
0
0
0
0
0
0
1
3
21
1
0
0
8
0
0
0
0
0
0
0
0
0
1
0
4
0
5
2
0
0
0
0
0
0
0
0
0
0
-4
0
7
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-6
-41
12
0
1
0
0
0
0
0
0
0
0
0
0
-8
6
24
0
-30
0
0
-7
0
0
0
0
0
0
0
0
0
-16
25
-2
-15
-6
1
-14
-8
0
0
0
0
0
0
0
0
0
5
-5
-49
0
-8
-2
-17
-1
0
-3
0
0
0
0
0
0
0
0
2
-1
10
0
0
0
-22
0
0
0
0
0
0
0
0
0
22
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
41
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
20
73
3
-4
0
0
3
0
0
0
0
0
0
0
0
19
-9
-4
-9
-1
1
0
-29
-4
0
0
0
0
0
0
0
-14
0
46
-32
-9
6
-24
-2
0
0
0
0
0
0
0
0
0
0
8
-2
8
22
-41
8
0
-2
-13
0
0
0
0
0
0
0
-4
-1
-41
0
-1
1
3
5
0
0
0
0
0
0
0
0
0
0
2
-12
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-5
17
-5
-1
0
0
0
0
0
0
0
0
0
0
48
0
-3
21
58
-29
0
0
0
0
0
0
0
0
0
0
-14
0
30
7
-4
-3
4
0
10
-31
2
0
0
0
0
0
0
0
20
-8
4
5
-25
-14
2
5
-8
-12
0
0
0
0
0
0
-8
9
51
8
-17
-23
-11
-60
-80
0
0
0
0
0
0
0
0
0
0
-32
30
4
31
7
17
-6
4
0
0
0
0
0
0
0
-15
16
-1
4
12
2
3
5
9
0
0
0
0
0
0
0
0
0
-65
-2
-23
-25
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-34
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
30
-14
2
13
-3
0
0
0
0
0
0
0
0
0
0
21
-12
95
-4
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
42
13
-23
5
13
0
5
-71
-2
0
0
0
0
0
0
1
-7
8
8
-42
5
-9
10
50
-67
-8
0
0
0
0
0
0
1
8
92
70
9
16
-55
58
25
-33
0
0
0
0
0
0
0
0
-56
75
47
24
-59
10
1
-23
3
0
0
0
0
0
0
0
-1
8
37
-49
10
-20
2
38
23
-24
0
0
0
0
0
0
0
0
-1
-14
47
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-8
28
29
13
36
4
0
0
0
0
0
0
0
0
0
3
4
-4
9
34
-43
12
0
0
0
0
0
0
0
0
0
0
-5
2
-8
0
47
-6
8
1
6
-48
-2
0
0
0
0
0
0
-2
-5
6
53
25
35
-37
-32
15
-13
1
0
0
0
0
0
0
4
24
22
18
40
-21
-2
0
-42
-19
-17
0
0
0
0
0
0
16
54
31
-11
-19
-29
16
0
-51
20
-1
0
0
0
0
0
0
10
-9
1
40
-16
13
41
-5
-24
3
0
0
0
0
0
0
0
0
37
-22
68
4
-8
-1
0
0
0
0
0
0
0
0
0
0
3
-9
24
-8
14
47
0
0
-7
0
0
0
0
0
0
0
0
0
-9
-27
18
-48
6
25
-12
0
-1
0
0
0
0
0
0
0
0
-36
48
53
45
-88
-67
0
0
0
1
0
0
0
0
0
0
10
-5
-51
88
5
-49
109
34
-4
-3
-5
0
0
0
0
0
0
0
-27
-50
-27
-11
13
106
-1
-3
-88
-3
0
0
0
0
0
0
-9
22
8
45
31
68
-4
-44
2
47
0
0
0
0
0
0
0
0
-20
48
26
28
-6
-7
-24
1
67
0
0
0
0
0
0
0
0
-69
-22
-52
-76
98
-16
33
3
-3
1
0
0
0
0
0
0
0
4
-28
-56
-21
-1
1
1
0
-1
0
0
0
0
0
0
0
0
2
9
24
32
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
-14
-20
5
25
30
-16
0
0
4
0
0
0
0
0
0
0
-4
-14
56
-48
32
64
0
0
0
14
0
0
0
0
0
0
0
-18
37
47
19
6
6
-17
-25
6
-75
0
0
0
0
0
0
0
-10
57
12
37
-9
-16
55
-23
-2
-34
0
0
0
0
0
0
0
-4
-6
55
3
2
38
48
-69
29
9
0
0
0
0
0
0
0
33
-66
11
86
-23
-17
5
-18
-2
14
0
0
0
0
0
0
0
-8
-29
-29
-4
91
8
-9
16
1
2
0
0
0
0
0
0
0
0
36
-8
13
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-50
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-9
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
22
6
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
38
22
-25
33
4
14
-6
-2
0
0
0
0
0
0
0
0
-13
5
-16
24
-27
2
-8
-2
-5
0
0
0
0
0
0
0
10
4
-30
-34
17
-8
9
5
0
0
0
0
0
0
0
0
0
-5
58
54
22
-1
10
-8
-1
-2
0
0
0
0
0
0
0
0
0
12
42
13
13
-6
0
0
-1
2
0
0
0
0
0
0
0
0
0
10
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-12
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
4
1
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
8
-1
-3
-4
0
0
0
0
0
0
0
0
0
0
2
0
-7
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-10
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-53
0
-26
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-42
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
42
0
-35
31
0
-6
0
0
0
0
0
0
0
0
13
0
25
0
26
-12
-43
0
0
0
0
0
0
0
0
0
0
0
8
-1
1
-13
36
-34
0
-23
0
0
0
0
0
0
0
0
1
-1
-29
5
-23
31
0
0
-40
0
0
0
0
0
0
0
0
0
19
0
3
0
0
41
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
25
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
10
0
0
0
-20
0
0
0
0
0
0
0
0
0
2
7
43
-6
-48
-3
0
-12
0
0
0
0
0
0
0
0
16
-5
-39
13
6
13
-2
0
-4
0
0
0
0
0
0
0
0
0
-10
-18
37
-2
140
0
0
0
0
0
0
0
0
0
0
0
-7
-2
8
-4
-24
-25
0
0
-17
0
0
0
0
0
0
0
0
-8
-2
0
53
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-13
0
0
0
0
0
0
0
0
0
10
0
19
-6
-5
0
1
-28
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
2
0
0
0
0
0
0
0
0
0
0
0
-8
13
4
8
6
5
0
0
6
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
-5
-4
-17
0
0
0
0
0
0
0
0
0
0
1
8
0
22
9
8
-65
18
0
0
0
0
0
0
0
0
-5
0
0
4
27
39
3
6
0
0
0
0
0
0
0
0
0
32
0
0
-3
-3
0
-1
0
6
0
0
0
0
0
0
0
0
-3
0
0
4
-1
12
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-19
-12
57
-18
0
5
0
0
0
0
0
0
0
1
-1
14
-29
25
-55
-39
3
-2
-1
0
0
0
0
0
0
0
-2
-5
-5
-41
3
8
38
-6
48
14
0
0
0
0
0
0
0
0
-19
-4
-2
-6
-7
8
-7
1
3
0
0
0
0
0
0
0
0
0
0
7
-16
-10
40
20
16
0
0
0
0
0
0
0
0
0
-5
0
-2
0
8
8
27
42
-5
0
0
0
0
0
0
0
0
0
-1
0
-7
0
55
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
10
31
9
82
0
2
-2
0
0
0
0
0
0
0
6
15
0
-16
4
-25
6
-2
-20
1
0
0
0
0
0
0
0
-2
-3
4
11
8
23
-23
115
-19
0
0
0
0
0
0
0
0
-1
-3
-4
20
29
8
16
8
7
-4
0
0
0
0
0
0
0
-29
0
0
12
0
-15
-56
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
4
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-14
0
1
0
-8
33
0
0
0
0
0
0
0
0
0
14
0
0
0
0
31
-4
86
23
-15
-7
0
0
0
0
0
0
0
0
5
2
9
30
35
-70
40
43
0
0
0
0
0
0
0
0
0
0
10
-1
12
3
14
0
9
0
0
0
0
0
0
0
0
0
0
0
-7
19
-2
9
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
40
36
8
0
0
2
0
0
0
0
0
0
0
3
0
0
-6
16
2
-13
-25
5
-3
0
0
0
0
0
0
0
1
1
27
0
30
-27
66
23
2
0
-1
0
0
0
0
0
0
0
-4
8
7
67
0
-4
7
-5
0
0
0
0
0
0
0
0
-3
0
0
-5
-8
6
2
1
-2
0
0
0
0
0
0
0
0
0
0
2
6
6
-13
-12
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-4
21
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
12
-1
0
20
-4
0
5
0
0
0
0
0
0
0
-9
0
-1
34
-17
-107
4
47
31
-2
3
0
0
0
0
0
0
-9
19
2
24
-22
-10
-36
24
-10
6
0
0
0
0
0
0
0
-7
17
3
0
-14
12
31
7
-24
7
-1
0
0
0
0
0
0
5
0
-4
0
-25
-30
-7
7
65
0
0
0
0
0
0
0
0
0
1
3
-5
9
12
0
-21
29
-1
0
0
0
0
0
0
0
7
0
5
0
23
6
-13
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
-4
53
10
0
21
0
-17
0
0
0
0
0
0
0
3
40
-2
54
-53
-15
28
28
-4
-4
0
0
0
0
0
0
0
14
-31
-12
9
16
34
50
3
13
-8
5
0
0
0
0
0
0
0
-3
15
6
20
54
61
25
29
14
0
0
0
0
0
0
0
0
0
3
1
48
33
52
-23
71
19
-3
0
0
0
0
0
0
0
13
9
10
0
72
15
-42
-33
0
0
0
0
0
0
0
0
0
0
0
-13
-19
-1
9
-27
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-25
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
31
-59
-24
-8
13
0
0
-18
4
0
0
0
0
0
0
-19
34
47
4
7
138
11
-29
51
8
-2
-4
0
0
0
0
0
26
14
13
-36
-43
24
26
19
20
0
-1
0
0
0
0
0
0
-18
-5
25
22
-18
23
-87
-52
-41
14
-2
0
0
0
0
0
0
-13
13
-2
16
-4
0
6
-21
-54
0
-4
0
0
0
0
0
0
0
22
5
-1
16
67
-7
-15
16
0
-1
0
0
0
0
0
0
0
0
0
-6
0
5
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
51
13
18
-17
-9
-17
0
0
8
0
0
0
0
0
0
0
56
28
-5
-23
-5
0
38
-9
3
3
0
0
0
0
0
0
0
-7
8
-2
9
-30
15
24
4
0
5
0
0
0
0
0
0
0
-3
-16
-33
6
57
-11
-11
-5
18
1
1
0
0
0
0
0
0
20
3
8
51
-12
-50
-41
-7
-9
0
0
0
0
0
0
0
0
47
0
-25
3
8
-1
-6
10
6
0
0
0
0
0
0
0
0
0
0
0
-9
57
6
-10
-8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
17
17
-13
0
6
0
-1
0
0
0
0
0
0
0
-9
16
-7
41
3
-42
7
-15
0
0
0
0
0
0
0
0
0
17
8
-3
5
-5
-19
7
-16
0
0
0
0
0
0
0
0
0
20
-2
9
6
-29
-19
40
2
8
0
0
0
0
0
0
0
0
0
0
0
35
6
1
4
-6
5
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-6
12
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
-5
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-8
0
6
0
0
0
0
0
0
0
0
0
3
1
0
0
3
22
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
15
-7
-58
20
-2
-23
0
0
0
0
0
0
0
0
0
7
1
-3
4
-49
28
14
-9
8
0
0
0
0
0
0
0
0
-8
0
0
6
19
5
9
-6
0
0
0
0
0
0
0
0
0
-3
-9
0
-4
4
-40
41
-19
-3
0
0
0
0
0
0
0
0
-6
0
0
1
1
-12
-19
0
25
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-27
-27
-32
10
-8
-1
0
6
0
0
0
0
0
0
0
19
3
5
-25
-27
54
-25
91
36
-24
0
0
0
0
0
0
0
2
-10
24
52
51
28
0
102
21
-19
0
0
0
0
0
0
0
7
-2
-1
1
37
-36
-25
6
-14
-3
0
0
0
0
0
0
0
0
73
0
0
-8
59
65
76
-4
14
0
0
0
0
0
0
0
0
18
0
8
0
4
62
-2
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-1
0
0
0
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
-8
0
-1
-11
31
55
0
-25
-1
0
0
0
0
0
0
-1
-20
-10
-3
-9
35
84
70
0
84
1
0
0
0
0
0
0
0
-38
4
-22
6
79
53
18
-24
68
-1
0
0
0
0
0
0
0
-25
-3
31
-29
64
34
-19
5
-18
-1
0
0
0
0
0
0
0
-6
-2
13
57
-16
2
-30
-4
29
3
0
0
0
0
0
0
0
-2
0
0
0
14
41
40
-7
29
0
0
0
0
0
0
0
0
0
0
0
-1
-1
19
6
46
-23
0
0
0
0
0
0
0
0
1
-2
0
0
0
34
4
23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
20
-10
40
45
-18
22
0
24
-6
0
0
0
0
0
0
-30
2
2
-9
73
-1
7
30
-46
15
-10
-3
0
0
0
0
0
-1
4
-4
-30
-23
7
-25
-40
-22
7
-1
0
0
0
0
0
0
0
0
0
2
-50
74
47
-46
-2
-1
0
0
0
0
0
0
0
0
3
0
0
-14
-5
16
0
33
-6
7
0
0
0
0
0
0
0
0
0
-3
-1
-30
-18
1
5
2
22
0
0
0
0
0
0
0
0
0
0
-1
-3
9
-1
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
9
4
27
-9
-22
-40
6
0
29
1
5
0
0
0
0
0
3
-24
-5
-8
14
3
-44
13
-47
1
5
0
0
0
0
0
0
5
7
-5
-59
5
3
56
-14
-50
-41
0
0
0
0
0
0
0
2
-3
10
42
10
27
23
25
15
0
0
0
0
0
0
0
0
0
-10
-5
-29
-40
-12
-22
-25
-56
-4
2
5
0
0
0
0
0
0
0
0
21
7
63
-6
37
18
-5
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
0
-25
-8
32
-3
14
5
-8
19
0
-8
0
1
0
0
0
0
0
74
39
-13
35
35
-49
-51
-25
-2
10
-12
0
0
0
0
0
0
48
13
-7
52
25
-28
81
68
-40
-17
-1
0
0
0
0
0
0
42
-24
-1
-7
-24
21
-28
35
43
-2
0
0
0
0
0
0
0
-3
40
23
-66
-35
46
4
37
41
-3
1
0
0
0
0
0
0
-1
-4
2
29
4
-26
-24
21
-15
6
0
0
0
0
0
0
0
0
-4
0
0
-30
4
-8
-24
34
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
24
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
40
-15
-6
62
43
-9
21
-15
0
-2
-3
-3
0
0
0
0
0
5
-6
46
53
120
-14
-19
-15
19
-8
-5
0
0
0
0
0
0
65
2
-6
46
-42
46
68
15
2
-32
0
0
0
0
0
0
0
-7
-39
-31
23
-46
41
-48
33
28
-56
0
0
0
0
0
0
0
-8
12
49
-38
-38
8
-4
76
-9
2
-8
0
0
0
0
0
0
2
-7
4
8
15
42
-4
15
-36
-42
0
0
0
0
0
0
0
0
-1
-1
5
6
0
-42
-19
-10
-8
0
0
0
0
0
0
0
0
-1
0
0
0
-12
3
-39
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-48
3
6
22
11
-30
99
0
58
1
-2
0
0
0
0
0
40
88
-29
-81
51
-25
72
31
60
-2
-4
0
0
0
0
0
0
6
109
-16
11
1
46
-7
52
13
47
3
0
0
0
0
0
0
-77
93
58
-3
57
18
-37
-63
33
4
-18
0
0
0
0
0
0
45
3
5
11
9
31
37
65
34
-12
-6
0
0
0
0
0
0
-3
-18
-5
71
71
-6
28
-27
48
-10
-8
0
0
0
0
0
0
-15
-7
0
4
-41
-1
23
28
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-13
5
-5
-2
-40
42
-44
20
0
-75
0
-5
0
0
0
0
0
59
25
21
-3
14
21
50
22
1
-43
3
0
0
0
0
0
0
38
80
-21
-79
3
44
22
-44
12
25
14
0
0
0
0
0
0
6
48
-18
50
44
25
81
23
-7
-12
8
0
0
0
0
0
0
2
-1
83
41
-8
9
17
-43
-9
6
-1
0
0
0
0
0
0
18
10
44
-27
-60
-38
-37
16
-25
0
1
0
0
0
0
0
0
19
2
8
14
6
-4
-59
-31
-37
25
0
0
0
0
0
0
0
0
-12
-17
0
-2
8
-33
59
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
17
1
26
-23
14
-3
0
84
2
0
0
0
0
0
0
0
54
0
23
134
54
-87
12
-41
7
56
2
0
0
0
0
0
0
45
-9
-82
-64
85
-46
-7
65
-14
-13
0
0
0
0
0
0
0
-68
-53
-39
-2
22
-42
21
42
50
-5
0
0
0
0
0
0
0
44
-41
11
54
44
-1
-30
-7
14
14
0
0
0
0
0
0
0
17
14
-25
21
24
64
-7
-68
13
24
0
0
0
0
0
0
0
20
22
-22
-40
-8
-28
5
-14
30
0
0
0
0
0
0
0
0
0
0
-14
0
-2
-12
2
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
24
10
-18
0
21
-2
-1
0
0
0
0
0
0
0
4
24
2
10
-43
-4
-7
-1
25
1
0
0
0
0
0
0
0
1
-3
30
27
51
63
7
-77
-13
6
0
0
0
0
0
0
0
27
13
-2
47
48
16
48
14
-26
0
0
0
0
0
0
0
0
18
6
-5
-13
6
28
3
41
-2
0
0
0
0
0
0
0
0
-3
3
-29
-22
-1
8
-6
12
-3
-8
0
0
0
0
0
0
0
0
2
2
0
-23
3
-1
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
-1
0
-5
-1
0
0
0
0
0
0
0
0
0
-8
5
0
-15
0
4
-9
-23
0
0
0
0
0
0
0
0
0
3
-3
-3
-5
7
17
1
-3
10
0
0
0
0
0
0
0
0
-10
-1
0
-6
0
0
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
40
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
4
20
-7
-4
0
0
0
0
0
0
0
0
0
1
7
-4
41
21
-29
-59
13
-29
0
0
0
0
0
0
0
0
4
1
-3
27
7
-19
18
-11
-5
0
0
0
0
0
0
0
0
0
4
2
-15
-13
-12
-8
0
3
0
0
0
0
0
0
0
0
0
5
0
-1
16
13
-16
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
5
65
-41
-91
19
0
13
0
0
0
0
0
0
0
33
48
0
17
6
-28
-3
42
113
-27
0
0
0
0
0
0
0
13
-9
-2
-16
-55
-23
-9
15
97
32
0
0
0
0
0
0
0
-1
6
8
-5
11
-12
-18
-26
-22
0
0
0
0
0
0
0
0
0
-25
17
0
-1
37
-25
1
-23
1
0
0
0
0
0
0
0
0
-10
0
-3
-1
-40
-11
-27
7
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
3
0
-13
-2
0
38
20
0
0
0
0
0
0
0
-1
-3
69
-33
7
24
-30
62
-30
8
0
0
0
0
0
0
-7
-3
-3
20
-18
49
-23
-19
-18
23
-5
0
0
0
0
0
0
0
2
-1
-2
8
42
-41
17
8
30
-1
0
0
0
0
0
0
0
-25
27
-2
7
-23
31
-7
27
8
0
0
0
0
0
0
0
0
0
6
2
9
30
-13
-5
-12
13
1
0
0
0
0
0
0
0
0
0
0
0
0
9
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
-21
-42
0
-25
-1
0
0
0
0
0
0
-1
1
19
-8
-10
56
50
-11
-34
-12
54
7
0
0
0
0
0
0
0
-2
-3
13
-22
-4
-44
-70
1
6
5
0
0
0
0
0
12
1
-1
-8
23
37
5
-43
8
5
0
0
0
0
0
0
0
0
0
-14
8
31
-24
-16
-12
24
0
-8
0
0
0
0
0
0
0
-4
-17
0
-4
1
9
-4
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
53
-6
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
5
-7
1
4
53
69
-47
-45
0
-25
0
0
0
0
0
0
0
-19
48
-8
41
44
-42
-38
-37
73
6
2
0
0
0
0
0
0
-2
-31
8
52
-18
53
5
66
27
0
-1
0
0
0
0
0
0
-2
25
-1
-2
-14
72
2
27
5
46
2
0
0
0
0
0
0
3
2
9
-17
18
8
8
-2
57
0
3
-1
0
0
0
0
0
-2
-5
-1
16
12
40
31
-18
12
16
0
0
0
0
0
0
0
-2
-1
-8
0
-1
0
25
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
12
-20
-33
37
13
49
0
-23
0
0
0
0
0
0
0
48
31
10
40
-17
102
37
22
67
10
7
0
0
0
0
0
0
-10
-3
30
98
50
-9
49
56
-56
-27
-2
0
0
0
0
0
0
-2
15
-23
-24
23
15
-37
42
41
41
0
0
0
0
0
0
0
20
-30
-8
-6
56
-1
5
39
35
3
0
0
0
0
0
0
0
-20
25
-8
5
-44
4
28
24
-20
13
0
0
0
0
0
0
0
4
3
5
0
-12
-24
16
-29
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-25
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
-19
-29
-16
42
28
62
17
-44
0
-48
-1
0
0
0
0
0
0
41
16
-16
19
19
-50
45
59
53
54
0
0
0
0
0
0
0
-4
23
64
11
-27
45
40
-58
-2
23
0
0
0
0
0
0
0
-6
-17
31
-55
1
29
2
44
11
51
0
0
0
0
0
0
0
-14
13
-25
-18
-21
-7
40
6
47
-34
0
0
0
0
0
0
0
-1
-51
-16
34
-14
39
3
8
11
17
0
0
0
0
0
0
0
1
0
25
2
4
-19
-2
13
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-32
3
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
54
-26
23
51
28
57
-8
22
0
3
-8
-9
0
0
0
0
0
40
16
-11
55
-29
-1
-34
-37
47
-1
8
0
0
0
0
0
0
68
14
-20
16
14
87
52
-3
85
-21
7
0
0
0
0
0
0
38
-23
17
54
65
7
2
5
24
-6
2
0
0
0
0
0
0
-38
-67
6
39
58
-67
73
72
11
-38
-16
0
0
0
0
0
0
-9
17
22
5
16
19
-31
29
-41
28
1
0
0
0
0
0
0
6
14
-1
-6
39
25
-4
-26
40
-2
0
0
0
0
0
0
0
0
0
0
-16
6
15
15
72
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
49
20
-8
61
-2
-2
-22
0
-39
4
0
0
0
0
0
0
39
15
5
-28
-82
30
29
-23
51
55
67
0
0
0
0
0
0
-51
46
-5
17
1
86
1
-40
-62
-7
-2
4
0
0
0
0
0
40
28
-27
25
-54
-69
-1
-24
10
-7
-1
0
0
0
0
0
0
8
56
9
-3
27
63
24
-52
-41
20
1
0
0
0
0
0
0
1
-26
-24
41
83
136
-35
-41
-14
8
0
0
0
0
0
0
0
-1
6
2
8
32
8
-1
8
29
58
0
0
0
0
0
0
0
0
20
0
5
-1
3
-18
-35
-28
20
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
107
-53
-21
-65
-1
35
-73
0
-26
43
16
0
0
0
0
0
0
50
54
-6
-8
9
-45
31
51
-26
-35
-1
0
0
0
0
0
0
17
-28
-1
-31
-50
18
41
-9
-29
1
0
0
0
0
0
0
0
-2
6
30
-9
6
27
47
11
30
8
0
0
0
0
0
0
0
22
72
-75
6
-1
-17
12
-57
52
38
-1
0
0
0
0
0
0
19
40
-16
-22
-9
20
15
48
-46
42
0
0
0
0
0
0
0
14
0
3
6
28
24
95
52
23
0
0
0
0
0
0
0
0
0
-5
-1
0
-9
-29
-36
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
-12
5
-19
-6
0
22
-25
0
0
0
0
0
0
0
0
-47
-40
57
-4
-45
-31
-1
-31
-3
3
0
0
0
0
0
0
0
-21
7
-3
-13
30
11
7
-9
1
-1
0
0
0
0
0
0
0
3
11
-14
13
-18
8
-47
29
-32
0
0
0
0
0
0
0
0
3
6
-4
25
-3
-25
15
24
24
3
0
0
0
0
0
0
0
-1
-17
4
5
-6
8
41
15
-5
-1
0
0
0
0
0
0
0
0
0
0
2
10
3
3
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
1
1
0
0
0
0
0
0
0
0
-3
0
-1
13
-7
3
0
-25
16
0
0
0
0
0
0
0
0
4
0
-7
14
21
-73
-17
6
0
0
0
0
0
0
0
0
0
-10
-1
0
-1
0
-19
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
10
-3
5
0
0
0
0
0
0
0
0
0
-41
0
0
-3
0
27
-41
-3
8
0
0
0
0
0
0
0
0
26
5
0
10
-7
29
37
29
31
0
0
0
0
0
0
0
0
0
7
0
30
28
11
-7
18
-12
0
0
0
0
0
0
0
0
-4
0
0
0
73
8
-5
5
0
0
0
0
0
0
0
0
0
0
0
6
60
-2
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-4
-43
112
-59
0
-39
0
0
0
0
0
0
0
0
1
0
7
66
-12
-30
-41
-15
60
0
0
0
0
0
0
0
24
-53
76
26
-19
18
39
-10
-40
-4
0
0
0
0
0
0
0
0
0
30
-2
26
74
1
-59
-67
-11
0
0
0
0
0
0
0
0
-26
11
0
-40
13
1
71
54
42
0
0
0
0
0
0
0
0
10
0
-2
-8
-3
-18
-46
-9
-13
0
0
0
0
0
0
0
0
4
2
2
-13
-1
-30
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-8
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-5
5
-40
-14
0
-55
-6
0
0
0
0
0
0
0
7
4
0
-33
-9
-13
6
34
39
26
0
0
0
0
0
0
0
15
0
-5
6
45
-6
106
-25
27
1
0
0
0
0
0
0
0
-2
-1
-13
16
53
15
-1
-3
-6
-1
0
0
0
0
0
0
0
0
-3
-25
25
-26
32
-33
-24
-5
-2
0
0
0
0
0
0
0
-1
-15
0
9
-3
7
0
-16
30
0
0
0
0
0
0
0
0
0
0
0
-4
0
-21
-1
41
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
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
-4
0
4
-87
5
-31
0
3
5
0
0
0
0
0
0
-3
1
1
-16
-36
-60
-33
-63
11
8
-2
1
0
0
0
0
0
0
0
-5
56
42
28
38
47
4
-17
-32
0
0
0
0
0
0
3
8
-13
3
45
-8
-2
-53
-10
-2
-1
0
0
0
0
0
0
3
-3
0
0
-47
-4
31
-64
-8
0
0
0
0
0
0
0
0
0
0
-2
2
-6
41
-3
57
-2
7
0
0
0
0
0
0
0
0
-3
-1
6
-1
-4
2
0
12
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-12
20
-7
-82
-2
0
5
0
0
0
0
0
0
0
57
-24
56
-44
18
35
-46
61
21
31
0
0
0
0
0
0
0
9
-7
3
1
-53
-56
-46
27
16
-23
6
0
0
0
0
0
0
-4
-4
-2
31
3
18
-16
26
16
1
0
0
0
0
0
0
0
1
-9
-1
15
11
16
-29
12
90
0
0
0
0
0
0
0
0
3
0
57
29
21
29
12
-17
8
-1
0
0
0
0
0
0
0
-7
0
0
0
-12
-1
23
3
13
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-3
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-7
0
0
0
0
0
0
0
0
0
-8
43
-21
6
30
86
3
13
0
22
0
0
0
0
0
0
0
-55
-6
-50
52
80
11
-80
16
42
-25
-4
0
0
0
0
0
0
-23
-49
38
-21
-22
25
86
-23
43
8
0
2
0
0
0
0
0
33
31
34
0
-52
-16
4
10
-6
-10
-2
0
0
0
0
0
0
1
-4
31
22
-26
-12
14
25
-33
0
0
0
0
0
0
0
0
4
-16
-14
3
8
24
-1
-24
32
-19
8
0
0
0
0
0
0
-5
-9
-5
-3
-8
-19
78
22
40
-5
5
0
0
0
0
0
0
0
0
0
0
2
19
33
4
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
7
9
18
30
41
-20
-55
-51
0
-2
-2
2
0
0
0
0
0
1
59
-33
-13
28
-12
80
54
-70
51
5
0
0
0
0
0
0
-18
-37
59
-26
33
13
40
25
50
20
3
0
0
0
0
0
0
-9
-6
-31
-52
14
-4
-16
38
-26
-25
1
0
0
0
0
0
0
7
-59
25
-22
5
-40
-4
25
-4
41
-9
0
0
0
0
0
0
25
19
14
115
9
-43
29
28
2
10
2
0
0
0
0
0
0
7
1
-8
-14
7
29
25
-27
44
-1
0
0
0
0
0
0
0
0
1
1
-4
2
-5
-25
-25
14
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
25
30
-24
71
112
-19
-43
-28
0
50
0
-1
0
0
0
0
0
-75
37
12
-43
33
-22
11
14
-33
-6
13
0
0
0
0
0
0
27
-19
-50
43
53
40
57
-37
39
16
-5
0
0
0
0
0
0
14
-98
57
71
45
73
22
-14
-37
-21
6
0
0
0
0
0
0
35
10
-21
10
-13
105
4
-15
39
31
1
0
0
0
0
0
0
7
17
-10
14
2
23
50
46
34
1
-3
-2
0
0
0
0
0
7
10
15
44
45
14
56
31
41
8
4
0
0
0
0
0
0
0
7
1
5
0
43
29
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
0
4
0
0
0
0
0
0
0
0
31
-25
-8
10
-12
35
-34
-29
0
-24
1
0
0
0
0
0
0
50
71
1
90
54
41
-28
-7
-48
42
-12
3
0
0
0
0
0
-77
29
5
-12
-14
46
24
-77
-40
-34
-22
0
0
0
0
0
0
-30
-10
-4
14
-35
8
-9
-2
-15
-1
2
0
0
0
0
0
0
-10
-45
-13
43
49
71
11
20
57
3
1
1
0
0
0
0
0
22
1
-10
-3
46
-20
-31
-31
54
-24
-3
0
0
0
0
0
0
10
-5
-32
-8
-16
32
-5
-31
-59
51
0
0
0
0
0
0
0
0
-7
9
-8
-6
1
-12
42
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
2
1
0
0
0
0
0
0
0
0
0
-27
-41
-3
4
15
28
36
0
-31
6
0
0
0
0
0
0
0
14
24
-3
15
5
74
-10
0
-52
-39
0
0
0
0
0
0
0
5
41
-16
-1
-10
5
66
59
19
20
0
0
0
0
0
0
0
39
37
-47
19
19
15
48
-22
-6
22
0
0
0
0
0
0
0
22
15
-1
13
-6
-54
-6
33
-28
-5
0
0
0
0
0
0
0
45
3
-16
2
41
37
45
-64
5
-3
0
0
0
0
0
0
0
-3
31
24
44
-54
0
33
21
16
0
0
0
0
0
0
0
0
0
1
1
14
17
30
-34
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
35
4
-1
-41
24
12
0
17
-6
-6
0
0
0
0
0
0
0
14
7
0
-30
43
-12
-1
-18
-23
3
0
0
0
0
0
0
0
-6
4
-1
12
21
1
12
9
-13
1
0
0
0
0
0
0
0
5
9
25
-9
28
72
64
5
38
0
0
0
0
0
0
0
0
28
0
-1
21
6
-39
17
28
5
0
0
0
0
0
0
0
0
0
0
1
5
-7
29
67
29
-12
4
0
0
0
0
0
0
0
0
0
0
-1
0
8
-28
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-7
-5
5
-5
-15
0
0
0
0
0
0
0
0
-3
0
-2
3
0
-2
9
0
3
0
0
0
0
0
0
0
0
5
4
0
-2
-2
-3
1
23
0
0
0
0
0
0
0
0
0
1
0
0
-3
6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
4
-5
0
0
0
0
0
0
0
0
0
0
3
4
0
-3
15
75
54
-20
0
0
0
0
0
0
0
0
-12
0
0
-12
4
-34
20
41
-7
0
0
0
0
0
0
0
0
-6
0
0
30
25
41
16
8
2
0
0
0
0
0
0
0
0
0
0
0
-13
25
9
6
2
8
0
0
0
0
0
0
0
0
4
0
5
3
-5
30
23
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
-8
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-2
7
38
-21
-57
0
27
0
0
0
0
0
0
0
0
-51
-1
-16
16
-20
-26
-17
95
26
0
0
0
0
0
0
0
0
-40
-1
25
-13
-9
31
21
-24
-4
0
0
0
0
0
0
0
0
14
-2
55
-22
-14
-24
-11
-22
-36
0
0
0
0
0
0
0
12
0
7
-13
-24
9
72
17
-14
-21
0
0
0
0
0
0
0
0
-2
43
9
64
-62
14
50
-53
0
0
0
0
0
0
0
0
0
-2
0
2
-74
-28
23
-7
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
30
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-16
10
0
-47
10
0
0
0
0
0
0
0
10
9
5
5
9
26
20
-22
9
25
0
0
0
0
0
0
0
13
13
0
-20
-22
-24
-14
-25
52
2
0
0
0
0
0
0
0
-5
1
-4
-32
49
15
-19
34
-34
25
0
0
0
0
0
0
0
2
0
2
38
-19
64
-5
-2
1
0
0
0
0
0
0
0
0
0
-2
38
8
21
-14
53
22
22
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
58
-4
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
12
-4
23
83
-49
35
0
27
-6
0
0
0
0
0
0
-4
1
12
15
-23
-50
-61
-6
-10
-35
-12
0
0
0
0
0
0
3
12
55
8
-29
-4
-5
-4
4
-14
-6
-2
0
0
0
0
0
0
0
-1
23
-3
43
-58
31
53
5
0
0
0
0
0
0
0
23
-3
7
0
-1
25
-18
-4
-9
4
0
0
0
0
0
0
0
0
2
0
-9
31
-17
17
30
3
-7
0
0
0
0
0
0
0
-2
0
0
4
-1
3
25
8
8
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
-1
-9
-34
-60
-16
-8
0
41
0
0
0
0
0
0
0
20
23
17
34
-68
10
-4
3
5
-7
0
0
0
0
0
0
0
3
-4
-19
-5
57
3
73
16
-16
-52
0
0
0
0
0
0
0
0
-8
0
12
53
17
-29
22
18
3
4
0
0
0
0
0
0
-2
32
10
48
0
-41
-27
-39
11
38
-5
0
0
0
0
0
0
0
-6
-27
0
-27
-38
47
-12
-41
30
0
0
0
0
0
0
0
4
2
-2
0
-7
24
10
33
-21
0
0
0
0
0
0
0
0
0
-2
0
-4
0
9
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
3
0
0
0
0
0
0
0
0
10
0
-30
5
-15
37
-2
-32
0
40
2
0
0
0
0
0
0
1
-34
4
48
-32
18
-51
2
7
-2
1
0
0
0
0
0
0
-22
-6
-5
10
59
59
38
61
75
58
1
0
0
0
0
0
0
0
-7
8
32
-21
-68
11
35
-89
-33
0
0
0
0
0
0
0
41
-23
-7
36
-8
0
33
-33
-6
-10
-4
0
0
0
0
0
0
14
-14
36
58
-2
-20
-21
-49
87
8
0
0
0
0
0
0
0
1
2
-7
20
59
17
-1
30
12
0
8
0
0
0
0
0
0
0
0
-1
6
0
-8
40
27
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
20
12
0
0
0
0
0
0
0
0
0
-6
19
-20
-25
34
0
43
73
0
18
-3
0
0
0
0
0
0
1
-51
55
35
50
-52
54
-11
25
1
3
0
0
0
0
0
0
6
41
-4
-15
-93
50
1
32
42
-16
-4
0
0
0
0
0
0
-20
-10
9
6
-9
-65
9
21
-13
20
10
0
0
0
0
0
0
-9
-53
27
14
15
16
0
-30
66
-2
0
0
0
0
0
0
0
0
-15
47
6
24
1
-4
45
33
9
0
0
0
0
0
0
0
0
19
-4
74
5
-25
-1
-7
45
8
-2
0
0
0
0
0
0
0
0
-2
0
0
36
-22
6
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
0
9
0
0
0
0
0
0
0
46
5
15
67
32
29
-7
10
0
32
-6
0
0
0
0
0
0
-29
-40
-30
-33
56
-32
25
-10
0
2
16
0
0
0
0
0
0
52
-36
-76
-34
22
53
84
42
-30
-4
8
0
0
0
0
0
0
-122
33
-47
86
-10
25
-23
12
-4
45
1
4
0
0
0
0
0
-30
-10
-8
-12
32
3
18
0
32
-41
25
0
0
0
0
0
0
-1
-40
-1
32
-19
-30
-30
-92
24
4
-3
0
0
0
0
0
0
-8
5
-14
-25
41
-4
-2
29
0
2
1
0
0
0
0
0
0
0
0
25
-2
0
-25
-12
-3
6
14
0
0
0
0
0
0
0
0
0
0
0
8
0
7
-2
-4
0
0
0
0
0
0
0
0
4
52
-33
-97
-20
-28
-34
31
0
6
1
0
0
0
0
0
0
37
37
-4
2
-3
45
21
-37
-121
-7
-9
-5
0
0
0
0
0
-3
45
-60
-75
86
16
4
63
-13
21
0
-6
0
0
0
0
0
32
-10
-7
78
-20
-71
26
36
-38
110
30
0
0
0
0
0
0
-1
12
-27
34
-18
-27
-48
23
0
-1
0
0
0
0
0
0
0
6
56
16
-17
25
-47
-21
9
0
41
-3
0
0
0
0
0
0
43
0
19
7
21
3
66
4
-9
-9
3
0
0
0
0
0
0
0
-1
32
10
12
16
48
21
-33
23
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-5
0
0
0
0
0
0
0
0
0
39
19
-15
7
8
0
6
0
-6
-5
0
0
0
0
0
0
0
-22
-27
16
19
-47
-16
27
-21
-40
3
1
0
0
0
0
0
0
-10
41
52
29
-25
-51
14
-70
-5
-1
0
0
0
0
0
0
0
-17
24
1
33
74
49
-6
44
-77
5
1
0
0
0
0
0
0
48
5
21
-38
66
-9
34
-8
0
-2
0
0
0
0
0
0
0
13
19
20
47
27
62
47
37
9
2
0
0
0
0
0
0
0
30
-23
2
-10
22
-21
75
-15
-4
-2
0
0
0
0
0
0
0
-2
-1
0
0
9
-41
-34
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
16
-3
0
12
-10
-10
0
7
8
4
0
0
0
0
0
0
0
0
-9
-5
45
1
20
-79
-21
-3
5
0
0
0
0
0
0
0
38
9
36
22
55
-10
-64
1
-45
-4
0
0
0
0
0
0
0
-7
4
0
14
-35
-50
4
33
-15
1
0
0
0
0
0
0
0
0
18
0
25
32
32
-16
10
0
-5
0
0
0
0
0
0
0
-1
-4
2
0
-13
17
-14
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-22
-19
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
-13
-6
0
0
0
0
0
0
0
0
3
4
0
-6
-9
2
1
7
-10
0
0
0
0
0
0
0
0
2
0
7
-1
-5
5
38
3
21
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
0
24
4
0
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
-3
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
14
1
3
0
3
-9
0
0
0
0
0
0
0
0
-6
0
-1
1
-4
-3
34
5
1
0
0
0
0
0
0
0
0
16
-8
6
-23
-3
23
2
-20
-1
0
0
0
0
0
0
0
0
7
0
-2
-3
49
1
67
2
-2
0
0
0
0
0
0
0
0
0
0
51
-3
5
-12
0
-2
12
0
0
0
0
0
0
0
0
0
6
0
1
115
8
4
8
1
0
0
0
0
0
0
0
0
0
0
0
73
0
22
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
-1
-20
1
0
0
0
0
0
0
0
0
0
0
25
0
1
4
-6
1
-65
8
-12
0
0
0
0
0
0
0
0
1
6
12
-13
-42
-3
8
0
12
0
0
0
0
0
0
0
3
-5
-1
53
7
54
72
-48
-32
-60
0
0
0
0
0
0
0
0
73
-6
-2
64
25
75
8
-20
7
0
0
0
0
0
0
0
-2
0
-6
2
-6
-16
-56
-48
1
0
0
0
0
0
0
0
0
0
-8
0
-16
58
-8
-31
-41
-29
0
0
0
0
0
0
0
0
0
-3
0
0
0
-13
-13
-4
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-3
108
-22
-8
0
38
1
0
0
0
0
0
0
0
-2
-1
1
-75
28
-13
31
-23
-29
-20
0
0
0
0
0
0
0
22
1
3
28
-37
-42
22
-43
3
-8
0
0
0
0
0
0
0
19
-1
20
3
-59
-60
-9
41
-42
-6
0
0
0
0
0
0
0
-2
7
0
27
-53
31
-29
25
-2
0
0
0
0
0
0
0
0
-3
0
0
-41
22
-1
5
-45
6
0
0
0
0
0
0
0
0
-6
0
0
-9
15
11
-6
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
-2
0
5
4
-5
77
21
0
8
0
0
0
0
0
0
0
18
-2
-2
-20
15
30
-40
7
6
13
30
0
0
0
0
0
0
0
0
-1
10
-24
21
-4
-32
9
13
6
0
0
0
0
0
0
2
0
-2
8
48
36
-18
-18
3
-3
0
0
0
0
0
0
0
-1
0
6
-50
22
11
-2
25
-16
0
0
0
0
0
0
0
0
2
0
1
0
6
19
8
0
2
4
0
0
0
0
0
0
0
-2
-2
0
4
0
6
-31
18
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
46
0
47
41
55
-11
0
-32
0
0
0
0
0
0
0
-7
-16
-8
25
-50
14
94
59
-2
-10
1
0
0
0
0
0
0
-3
-40
-2
-13
-122
-15
12
24
77
8
0
0
0
0
0
0
0
0
4
-12
-30
-48
40
13
42
-5
-48
0
0
0
0
0
0
0
6
-15
-48
-9
-2
-2
37
-33
-5
3
0
0
0
0
0
0
0
13
14
6
-10
0
-41
22
-4
-15
9
2
0
0
0
0
0
0
3
-1
1
0
-3
25
-7
23
53
0
0
0
0
0
0
0
0
0
0
0
-4
0
-24
1
58
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
0
0
0
0
0
0
0
0
0
-1
-7
-43
-17
3
-3
-24
49
0
41
0
0
0
0
0
0
0
9
-42
-45
77
28
-52
36
3
42
1
17
0
0
0
0
0
0
5
23
10
-37
64
-22
-18
8
-57
12
0
0
0
0
0
0
0
24
-21
0
2
-20
7
-15
30
-40
-16
0
0
0
0
0
0
0
9
-23
8
-14
-8
43
13
2
-39
25
0
0
0
0
0
0
0
15
15
3
-7
-33
0
-18
1
10
49
-5
0
0
0
0
0
0
1
40
-4
-12
-24
-41
7
10
98
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
-3
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
1
-2
29
-31
-22
18
28
17
0
-32
6
0
0
0
0
0
0
-4
-51
-14
23
-32
16
-20
28
-68
-4
14
-1
0
0
0
0
0
8
1
30
-40
-85
14
44
-7
5
-10
0
0
0
0
0
0
0
-8
29
22
-32
-27
-30
33
24
3
2
0
0
0
0
0
0
0
14
-71
50
39
-5
-10
27
18
-31
-21
-3
0
0
0
0
0
0
25
38
1
42
73
-3
0
64
1
-2
0
0
0
0
0
0
0
-2
4
54
-41
23
-8
-31
37
42
-7
0
0
0
0
0
0
0
0
-1
7
0
-8
-39
-4
39
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
22
4
-28
-44
48
-31
-4
2
0
24
-4
0
0
0
0
0
0
77
-49
-11
74
27
1
46
-12
-42
9
-42
0
0
0
0
0
0
84
55
-37
-15
83
68
74
15
45
-4
2
0
0
0
0
0
0
6
-23
19
-40
11
-19
47
-25
-9
-5
0
0
0
0
0
0
0
28
43
20
-73
34
34
-36
1
-25
-5
0
0
0
0
0
0
0
-58
-21
61
-6
11
5
33
0
-4
25
7
0
0
0
0
0
0
31
-9
44
-6
32
-15
27
-52
-5
-25
-1
0
0
0
0
0
0
0
-2
-2
9
9
-1
-10
-4
7
0
0
0
0
0
0
0
0
0
0
0
3
7
0
-7
0
2
0
0
0
0
0
0
0
0
16
3
-16
-7
57
10
-23
-99
0
-34
6
0
0
0
0
0
0
31
-55
99
28
-111
-32
-69
-120
-17
-44
-52
0
0
0
0
0
0
-7
14
50
34
49
-21
-18
24
29
-5
29
0
0
0
0
0
0
25
75
-32
24
-50
46
72
51
27
-30
0
2
0
0
0
0
0
9
69
-40
25
-31
-4
19
25
36
44
-4
1
0
0
0
0
0
25
-50
12
-57
49
52
-6
-35
0
27
3
0
0
0
0
0
0
55
33
29
118
64
-11
-14
-42
-15
1
4
0
0
0
0
0
0
0
-5
18
-1
-6
41
-14
51
-15
28
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
-4
3
1
0
0
0
0
0
0
0
0
-60
-9
-2
-13
-28
-18
-8
0
5
10
-2
0
0
0
0
0
0
-50
15
9
14
-4
22
18
-66
-16
-13
0
0
0
0
0
0
0
-26
13
-1
26
47
93
90
-103
12
10
0
0
0
0
0
0
0
-2
-5
43
31
51
29
-50
21
7
-44
0
0
0
0
0
0
0
-28
61
-7
41
-6
67
46
10
-33
20
0
0
0
0
0
0
0
24
-2
-15
-11
21
33
94
-3
0
-21
0
0
0
0
0
0
0
-5
-16
-70
8
9
-48
-12
25
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-19
-19
8
25
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
13
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
32
31
0
-17
62
30
0
0
0
0
0
0
0
24
12
-9
40
-13
33
-35
-41
3
-5
0
0
0
0
0
0
0
14
7
-1
16
-20
17
29
0
-2
-48
0
0
0
0
0
0
0
-2
2
10
-9
64
5
-12
-8
29
-5
0
0
0
0
0
0
0
-1
-5
-8
29
23
2
-29
30
-3
3
0
0
0
0
0
0
0
-1
6
0
-7
-5
-22
-8
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
-21
-41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
-1
-12
29
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
5
36
-2
2
0
0
0
0
0
0
0
0
-2
0
2
1
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
49
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
51
0
-3
0
0
0
0
0
0
0
0
1
0
0
8
-1
30
0
10
0
0
0
0
0
0
0
0
0
0
4
0
1
-38
-6
-12
4
0
0
0
0
0
0
0
0
0
0
0
-4
-31
0
51
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
-36
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
47
0
0
0
0
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
0
0
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
67
-15
-19
38
-21
0
0
0
0
0
0
0
0
29
0
0
32
-13
-28
15
34
14
0
0
0
0
0
0
0
0
8
0
-33
16
42
-15
26
-54
-13
0
0
0
0
0
0
0
-7
-4
-27
-22
-26
-5
14
-3
-4
-1
0
0
0
0
0
0
0
1
0
7
0
-31
-43
42
4
3
0
0
0
0
0
0
0
0
0
0
-2
8
16
-8
12
5
8
0
0
0
0
0
0
0
0
0
-10
0
5
-4
6
31
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-36
-2
0
-4
0
0
0
0
0
0
0
0
1
1
0
-5
-1
23
29
-25
28
-7
0
0
0
0
0
0
0
4
-3
-4
-1
-14
-48
12
1
-8
3
0
0
0
0
0
0
0
-5
6
0
14
62
-25
25
-12
-12
0
0
0
0
0
0
0
0
24
12
-5
-33
-64
21
23
-34
12
0
0
0
0
0
0
0
0
-4
0
0
46
42
41
-47
3
0
0
0
0
0
0
0
0
0
-2
0
0
5
13
-29
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
41
31
33
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-9
0
0
0
0
0
0
0
0
0
9
0
-4
0
5
10
-1
-15
72
-10
-1
0
0
0
0
0
0
0
0
0
0
-2
2
33
10
15
-1
-2
0
0
0
0
0
0
12
0
0
2
7
-8
1
13
-4
-2
1
0
0
0
0
0
0
0
0
-8
-3
9
32
14
31
-17
0
0
0
0
0
0
0
0
0
4
3
2
-1
17
-9
-25
2
0
0
0
0
0
0
0
0
1
0
0
0
9
10
25
9
31
-2
0
0
0
0
0
0
0
0
0
0
14
0
8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-12
-63
-24
0
16
0
0
0
0
0
0
0
0
48
0
20
-17
-44
-17
-43
19
-21
0
0
0
0
0
0
0
0
41
4
40
-10
34
52
-30
22
-16
0
0
0
0
0
0
0
-2
-25
0
-4
16
-12
-27
-86
-28
-52
0
0
0
0
0
0
0
1
0
-3
17
7
-18
-20
-10
-67
0
0
0
0
0
0
0
0
0
-15
4
27
12
-27
17
13
-5
36
0
3
0
0
0
0
0
-3
17
-2
14
0
17
8
12
4
8
0
0
0
0
0
0
0
0
-5
0
-2
0
29
29
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
7
5
32
1
0
-40
0
0
0
0
0
0
0
1
0
-8
-2
-15
23
-6
37
-2
3
1
0
0
0
0
0
0
1
-29
0
36
1
18
-27
37
40
-13
-2
0
0
0
0
0
0
-24
30
15
-7
-22
45
24
31
6
-5
-1
0
0
0
0
0
0
6
-10
-9
2
36
14
-4
0
21
-8
0
0
0
0
0
0
0
17
-5
16
-26
0
17
28
-39
23
2
5
0
0
0
0
0
0
1
30
-8
0
-8
0
4
-5
13
-3
0
0
0
0
0
0
0
0
-2
0
87
0
42
-2
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
16
0
5
4
0
0
0
0
0
0
0
0
0
2
-1
10
-12
-14
-1
-3
28
0
-30
3
0
0
0
0
0
0
6
-21
2
18
-52
-8
-37
-39
-23
-10
9
0
0
0
0
0
0
17
2
-6
-5
3
24
-14
-28
6
-14
-1
0
0
0
0
0
0
29
31
15
-24
13
25
14
7
-19
41
1
0
0
0
0
0
0
1
128
-12
13
-5
101
45
38
5
-15
0
0
0
0
0
0
0
0
8
21
23
32
18
-2
-22
-11
33
0
0
0
0
0
0
0
0
7
-6
12
29
-40
0
18
38
8
0
0
0
0
0
0
0
0
3
-2
-13
-5
-4
31
6
14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-5
-3
13
-11
-35
-13
37
47
0
-15
2
0
0
0
0
0
0
-119
-56
26
25
8
-8
26
13
-49
37
-29
0
0
0
0
0
0
21
2
-17
-27
-47
33
68
12
9
43
2
0
0
0
0
0
0
41
-42
53
-3
-14
-9
4
38
-20
16
-16
0
0
0
0
0
0
14
-45
13
7
17
12
-34
34
21
-25
5
0
0
0
0
0
0
-25
5
54
54
-19
-86
-4
-40
-27
-30
-5
0
0
0
0
0
0
17
27
25
-6
3
-27
-74
0
15
8
3
0
0
0
0
0
0
0
-3
-13
-31
8
5
21
11
2
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
8
-1
9
0
0
0
0
0
0
0
0
0
30
27
16
18
-59
-7
12
0
-19
7
0
0
0
0
0
0
-7
62
-18
-40
22
89
-104
-49
-94
-14
9
0
0
0
0
0
0
5
-11
3
26
22
-156
43
53
-59
-3
2
8
0
0
0
0
0
-5
52
-14
15
42
88
38
-54
136
15
-8
0
0
0
0
0
0
38
-41
2
63
-15
-29
-3
-67
39
10
0
0
0
0
0
0
0
0
-56
-29
40
-48
4
-49
-3
-47
-17
-1
0
0
0
0
0
0
4
13
-31
-2
12
16
39
-72
0
29
0
1
0
0
0
0
0
0
14
5
-12
46
22
30
-12
23
8
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-3
41
0
2
0
0
0
0
0
0
0
0
14
-23
-41
13
-5
-17
-34
0
-15
19
0
0
0
0
0
0
0
35
78
-4
51
-38
67
-15
28
20
79
0
0
0
0
0
0
0
10
13
-40
-23
-68
1
-9
36
-15
-8
-3
0
0
0
0
0
0
25
31
13
-53
46
-17
-2
3
-3
11
0
0
0
0
0
0
0
26
48
-42
2
3
-58
-57
13
10
7
0
0
0
0
0
0
0
6
6
39
52
65
-3
93
43
-2
-3
0
0
0
0
0
0
0
5
-47
22
57
43
20
19
-11
0
-1
0
0
0
0
0
0
0
17
-3
-4
5
-2
7
57
4
32
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
5
0
0
0
0
0
0
0
0
0
0
1
7
10
1
-41
0
-4
-30
-6
0
0
0
0
0
0
0
-7
-71
-16
-7
-30
-28
-19
-13
-9
32
0
0
0
0
0
0
0
3
8
2
0
-18
5
-56
-16
30
-2
0
0
0
0
0
0
0
1
45
16
4
-8
45
-15
-13
-35
0
0
0
0
0
0
0
0
-14
3
2
73
29
20
-25
32
-26
1
0
0
0
0
0
0
0
0
-4
0
1
-53
21
-65
-5
6
-7
0
0
0
0
0
0
0
0
-2
-3
-22
3
-18
-53
22
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-5
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
5
2
30
17
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-1
-5
-18
0
0
0
0
0
0
0
0
1
-1
0
1
0
-15
-1
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
4
0
-4
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
9
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
6
-16
4
0
0
0
0
0
0
0
0
0
8
-16
0
3
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
-6
29
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
4
16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
13
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-22
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
15
3
-41
15
0
0
0
0
0
0
0
0
0
0
0
0
2
8
3
5
-3
0
0
0
0
0
0
0
0
0
-3
-23
1
20
3
3
-6
2
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
-9
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
24
19
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
-22
-13
-1
2
0
0
0
0
0
0
0
0
0
2
-12
-12
27
1
-8
-5
0
0
0
0
0
0
0
0
1
0
0
0
-30
13
4
-2
5
8
0
0
0
0
0
0
0
0
0
9
0
0
23
-2
6
1
0
1
0
0
0
0
0
0
7
-1
0
0
8
0
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
-20
27
-7
6
0
0
0
0
0
0
0
0
1
-1
0
1
12
4
12
-17
10
0
0
0
0
0
0
0
0
-4
-2
3
-8
17
38
33
-5
-2
0
0
0
0
0
0
0
0
0
0
0
1
7
23
-1
2
0
0
0
0
0
0
0
0
-2
-4
-1
-8
3
-31
7
-8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-23
0
13
-2
0
0
0
0
0
0
0
0
-1
0
-2
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-16
28
6
-42
0
8
3
0
0
0
0
0
0
0
3
3
3
-38
-13
-49
56
7
-7
0
0
0
0
0
0
0
-6
-3
1
-8
-1
-31
-14
-16
-8
5
0
0
0
0
0
0
0
-10
18
-16
-3
-31
-3
10
13
-36
-1
0
0
0
0
0
0
0
-1
-13
-24
5
-4
12
-2
0
14
16
0
0
0
0
0
0
0
0
2
-2
-2
-3
0
14
18
8
1
-2
0
0
0
0
0
0
0
-4
0
-7
8
0
-19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
48
-32
0
3
0
0
0
0
0
0
0
0
4
-6
-1
0
5
22
-44
-21
31
0
0
0
0
0
0
0
0
-18
-6
-1
-3
-8
-54
4
41
0
-5
0
0
0
0
0
0
1
7
1
8
-14
-39
23
-10
15
33
0
0
0
0
0
0
0
-3
22
-6
-6
-29
-17
13
29
-7
0
0
0
0
0
0
0
0
41
7
33
50
0
-16
8
22
-16
-6
0
0
0
0
0
0
0
-1
9
1
1
-8
8
-4
-14
-27
-2
0
0
0
0
0
0
0
0
-10
-2
-3
6
-5
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
0
0
0
0
0
0
0
0
1
-2
1
-2
72
-10
-7
13
0
-6
0
0
0
0
0
0
0
-8
-3
-38
-2
23
27
-12
11
7
2
-12
0
0
0
0
0
0
-14
7
27
66
-35
44
74
-39
-8
-49
-1
0
0
0
0
0
0
20
2
-1
23
5
45
61
40
3
8
-1
0
0
0
0
0
0
5
7
9
-5
54
-2
-7
-16
90
-33
0
0
0
0
0
0
0
3
71
2
43
-1
-90
47
-37
13
-10
0
0
0
0
0
0
0
-1
-41
31
9
36
58
-7
-16
5
0
0
0
0
0
0
0
0
1
44
23
-6
24
20
44
0
-9
-8
0
0
0
0
0
0
0
0
1
0
0
-15
0
-10
-5
4
0
0
0
0
0
0
0
0
0
-37
-4
25
21
-3
-101
16
0
3
0
0
0
0
0
0
0
0
-33
-48
-18
-80
-9
-24
-8
33
-17
3
0
0
0
0
0
0
-6
22
32
34
70
-18
50
26
-53
-48
0
0
0
0
0
0
0
0
89
-21
11
-47
-70
36
-57
-17
40
4
0
0
0
0
0
0
17
-3
9
9
-34
-13
-19
6
26
-39
5
0
0
0
0
0
0
-23
-25
49
-4
27
-44
-49
25
6
9
0
0
0
0
0
0
0
-1
-3
22
3
-6
15
-41
-29
55
-38
0
0
0
0
0
0
0
2
0
24
41
11
-49
13
-37
0
-13
-1
0
0
0
0
0
0
0
1
-2
0
2
6
-14
8
-12
0
0
0
0
0
0
0
0
0
0
12
2
5
-6
-7
52
0
1
5
0
0
0
0
0
0
0
-21
25
7
90
9
3
24
-14
-42
-4
0
0
0
0
0
0
0
16
27
-10
17
-44
-45
-58
10
51
9
0
0
0
0
0
0
0
-29
2
14
-55
-73
3
0
0
3
38
0
0
0
0
0
0
0
20
-15
-8
-9
-13
76
-5
25
-25
-13
0
0
0
0
0
0
0
18
54
-1
-1
-41
12
-13
-30
-11
41
0
0
0
0
0
0
0
-15
-19
7
-23
41
3
9
50
3
-6
0
0
0
0
0
0
0
-5
-2
0
10
-17
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-20
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
2
10
2
-46
-1
13
0
0
0
0
0
0
0
0
-4
2
0
30
1
-53
8
-12
41
-1
0
0
0
0
0
0
0
-3
-7
-3
-13
20
12
-3
15
40
0
0
0
0
0
0
0
0
0
0
0
0
-55
8
48
-16
5
2
0
0
0
0
0
0
0
-2
-1
0
1
-4
5
20
-25
7
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-6
-16
-32
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-41
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
2
3
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
17
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
63
-1
-2
0
-7
2
0
0
0
0
0
0
0
0
2
0
2
-1
-16
0
9
0
0
0
-1
0
0
0
0
0
0
-1
0
-6
-1
19
-48
0
3
0
0
0
0
0
0
0
0
0
-5
-4
0
7
-19
0
27
-3
-22
0
0
0
0
0
0
0
0
0
-1
0
4
0
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
4
0
0
0
0
0
0
0
0
0
0
7
-12
-4
-16
0
-6
0
0
0
0
0
0
0
0
0
0
2
1
0
6
-8
-21
0
-3
0
0
0
0
0
0
0
0
5
0
-9
-13
-5
-7
-16
51
-1
0
0
0
0
0
0
0
0
0
0
7
9
6
0
30
0
6
0
0
0
0
0
0
0
0
1
0
0
-20
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
22
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-4
8
-8
41
6
0
0
0
0
0
0
0
0
0
0
0
16
-8
-5
-14
-12
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
2
2
0
21
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
-9
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-3
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
5
3
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-5
6
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
14
-5
0
-1
0
-3
0
0
0
0
0
0
0
31
35
-12
-74
18
0
-2
0
16
7
0
0
0
0
0
0
0
-5
6
-18
-46
-18
3
-9
4
-1
48
-1
0
0
0
0
0
0
-5
-13
48
57
3
-15
-8
0
-40
0
0
0
0
0
0
0
0
6
12
6
1
-18
75
-6
-1
1
-5
0
0
0
0
0
0
0
12
-6
-7
-5
-9
2
-6
-2
-6
0
0
0
0
0
0
0
0
1
10
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
7
-36
0
0
0
0
0
0
0
0
0
-12
-1
-32
-2
0
8
2
-31
0
0
0
0
0
0
0
0
0
0
5
-10
5
0
0
1
-56
0
0
0
0
0
0
0
0
0
5
-4
1
4
4
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
3
-1
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-5
22
2
0
-10
1
0
0
0
0
0
0
0
0
0
0
1
-1
7
-4
0
0
-4
0
0
0
0
0
0
0
0
0
7
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-2
-5
0
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
-1
-3
0
-2
-9
3
0
0
0
0
0
0
0
0
2
-5
5
0
-2
0
7
0
7
0
0
0
0
0
0
0
0
-18
-8
5
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
3
9
-16
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
-6
4
-15
2
4
-8
-1
0
0
0
0
0
0
0
0
2
4
6
1
40
8
0
-1
-6
0
0
0
0
0
0
0
0
0
-5
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
4
22
34
8
0
1
0
0
0
0
0
0
0
0
0
0
0
1
24
-16
8
-2
-5
-2
-4
0
0
0
0
0
0
0
0
-1
8
-15
16
-2
-29
-57
-1
-2
8
0
0
0
0
0
0
0
0
-5
-5
-1
16
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-4
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
6
4
7
0
5
0
0
0
0
0
0
0
0
0
0
8
41
26
-10
77
0
0
-13
0
0
0
0
0
0
0
0
13
-16
38
-32
-35
-1
-11
-5
-18
-10
-3
0
0
0
0
0
0
1
-6
0
-15
58
44
2
0
14
0
0
0
0
0
0
0
0
-13
-1
-45
2
54
19
1
-2
-5
0
0
0
0
0
0
0
0
1
44
8
33
-13
-6
0
0
-1
1
0
0
0
0
0
0
0
-3
0
-3
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-24
-50
-49
-41
0
-6
-61
-2
3
0
0
0
0
0
0
15
6
6
-28
-27
0
-1
0
-78
16
1
0
0
0
0
0
0
-30
110
51
15
-53
-38
-45
-22
19
-31
0
0
0
0
0
0
0
-12
76
0
41
-33
-35
2
7
-3
20
-1
1
0
0
0
0
0
-60
-22
4
-34
49
-84
-1
-3
1
0
0
0
0
0
0
0
0
-18
-41
39
19
-70
-40
-10
-18
2
1
0
0
0
0
0
0
0
0
-4
53
1
2
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
4
-9
0
0
-59
4
1
0
0
0
0
0
0
0
8
-21
-21
-13
0
-24
0
-13
13
-1
0
0
0
0
0
0
0
-8
-3
17
-18
13
24
9
-2
11
-4
0
0
0
0
0
0
0
-7
-29
-13
47
30
28
-6
-27
-28
25
2
0
0
0
0
0
0
-5
0
8
8
8
-16
15
-1
20
0
0
0
0
0
0
0
0
-2
-1
-2
-9
7
19
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
25
-5
0
0
0
0
0
0
0
0
0
2
-4
-1
6
4
-3
0
13
0
0
0
0
0
0
0
0
0
2
4
0
-4
2
-6
0
3
21
1
0
0
0
0
0
0
0
1
0
-8
1
0
-1
-14
0
-2
0
0
0
0
0
0
0
0
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
5
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
34
24
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-6
2
-8
-1
-6
1
0
0
0
0
0
0
0
0
16
8
0
3
12
0
-1
0
0
0
0
0
0
0
0
0
-14
0
-1
0
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-8
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-5
-1
-4
8
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-41
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-17
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
9
10
-5
-56
-13
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-18
-1
6
8
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-25
15
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-10
11
36
20
3
-9
0
3
0
0
0
0
0
0
0
0
0
-1
-5
10
3
-7
5
6
10
0
0
0
0
0
0
0
0
0
-19
-5
7
3
13
-2
-24
2
0
0
0
0
0
0
0
0
0
3
-8
-25
-12
-51
8
0
0
-2
0
0
0
0
0
0
0
0
0
-4
10
15
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
1
24
-3
0
0
0
0
0
0
0
0
0
0
0
1
5
24
-25
7
12
-3
0
6
0
-1
0
0
0
0
0
0
-8
-23
0
0
-18
0
10
2
-12
-5
0
0
0
0
0
0
0
2
-8
-58
-29
-30
-42
-4
32
3
-5
-5
0
0
0
0
0
0
0
-17
30
-13
-55
5
20
0
0
0
0
0
0
0
0
0
0
0
0
2
24
6
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
8
4
8
8
0
0
0
0
0
0
0
0
0
0
25
-9
-10
48
64
-13
-12
0
-12
0
-1
0
0
0
0
0
0
-7
-48
-2
-21
-95
14
9
-16
41
-1
4
0
0
0
0
0
0
8
-47
0
59
-61
-18
33
41
-21
-6
0
0
0
0
0
0
0
10
-5
-6
-21
-62
33
11
5
-13
1
0
0
0
0
0
0
0
0
-8
33
-9
-5
-8
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
1
-6
8
-1
0
0
0
1
0
0
0
0
0
0
13
73
-95
-71
-96
-46
-73
0
-9
0
15
0
0
0
0
0
0
-15
-43
-5
-52
-53
-18
0
2
-22
-30
-10
0
0
0
0
0
0
-29
6
-72
55
55
-13
14
-17
-9
-43
-3
-5
0
0
0
0
0
22
30
-5
-38
-7
-46
-50
5
-2
-2
-8
0
0
0
0
0
0
-1
-1
-12
6
12
2
5
1
0
1
0
0
0
0
0
0
0
-3
1
18
0
44
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
97
84
-17
-58
-17
4
0
0
0
0
0
0
0
0
0
-36
10
35
-31
-11
43
33
0
-41
0
3
0
0
0
0
0
0
4
28
-59
-49
45
1
-9
-37
13
23
-1
0
0
0
0
0
0
-82
42
-31
-6
-33
85
-105
10
22
-20
5
-6
0
0
0
0
0
29
-42
-4
48
16
40
-36
11
-7
-4
-1
0
0
0
0
0
0
-1
-10
-5
22
43
-4
29
2
1
0
0
0
0
0
0
0
0
0
0
0
-49
-12
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
2
6
-12
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-59
-37
-30
22
0
-13
0
-82
-30
1
0
0
0
0
0
0
-41
-41
-43
-42
2
-33
0
6
0
-7
6
0
0
0
0
0
0
20
-1
-3
58
40
-46
-1
-44
4
1
-16
0
0
0
0
0
0
-13
-55
7
-24
37
-48
-57
-6
32
-3
-5
1
0
0
0
0
0
-9
-56
-47
30
-79
-73
-110
-8
29
7
-7
-1
0
0
0
0
0
2
31
66
32
-142
0
-29
0
-5
-2
0
0
0
0
0
0
0
-5
14
28
50
30
69
8
0
-7
-1
0
0
0
0
0
0
0
0
-7
32
3
-13
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
24
-16
18
0
0
0
-11
7
0
0
0
0
0
0
0
10
-15
-20
-43
-18
0
-8
0
9
16
0
0
0
0
0
0
0
-16
3
-49
77
31
42
-8
6
15
-42
1
0
0
0
0
0
0
13
63
42
-12
37
50
21
-5
-37
-60
-3
0
0
0
0
0
0
-4
71
-35
17
50
5
3
16
-5
0
0
0
0
0
0
0
0
-2
15
43
-21
16
-6
2
1
0
1
0
0
0
0
0
0
0
0
16
3
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
3
-2
0
0
0
0
0
0
0
0
-6
10
-8
7
0
-14
0
37
5
0
0
0
0
0
0
0
0
-6
7
-4
-12
-48
3
4
-40
7
-14
0
0
0
0
0
0
0
4
-9
-37
-9
10
9
25
-3
4
-5
-1
0
0
0
0
0
0
0
-3
-8
-4
-3
14
-2
4
-58
2
0
0
0
0
0
0
0
0
24
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-8
0
1
0
-1
0
0
0
0
0
0
0
0
-6
-5
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
-3
3
-7
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
13
-8
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
-4
4
0
0
0
0
0
0
0
0
0
0
-1
19
-5
2
0
0
13
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-25
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
6
-10
5
8
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
4
-29
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
-15
-42
2
0
-5
0
0
0
0
0
0
0
0
-6
0
-17
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
16
25
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
6
-20
-15
-13
0
7
12
0
0
0
0
0
0
0
-8
-9
-6
1
20
16
1
4
-1
5
0
0
0
0
0
0
0
-4
22
4
3
-22
62
-70
0
4
0
0
0
0
0
0
0
0
0
0
-2
25
-2
4
19
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-48
26
22
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
42
-15
-29
5
6
0
13
-5
0
0
0
0
0
0
0
3
-13
-75
-17
-4
-69
22
1
5
1
0
0
0
0
0
0
0
0
-6
-5
-18
10
7
-30
-8
-15
-12
0
0
0
0
0
0
0
0
-4
-1
36
-33
3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-46
6
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
32
-27
30
-51
-4
0
0
0
0
0
0
0
0
0
0
4
24
9
-45
-33
-18
-31
0
0
5
0
0
0
0
0
0
0
-1
8
-9
1
10
0
-3
2
9
0
0
0
0
0
0
0
0
0
-1
40
33
8
11
8
-1
-1
2
0
0
0
0
0
0
0
0
-1
-14
-40
15
46
-4
0
0
0
0
0
0
0
0
0
0
0
0
-20
-30
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-5
-9
5
-14
-3
0
0
6
1
0
0
0
0
0
0
-29
-20
-17
23
19
65
-8
0
0
0
0
0
0
0
0
0
0
41
30
37
-7
-17
-25
2
2
36
-48
-1
0
0
0
0
0
0
-3
-6
16
-6
-50
8
-4
-40
3
27
0
0
0
0
0
0
0
5
-7
13
5
-17
-11
14
-13
32
0
0
0
0
0
0
0
0
0
-41
-7
-65
40
-25
5
0
0
18
0
0
0
0
0
0
0
0
0
-15
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-37
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-38
3
-6
-18
-41
-41
2
0
0
0
0
0
0
0
0
0
-8
6
47
-21
-23
-37
-47
0
10
0
4
0
0
0
0
0
0
5
-48
33
-12
-81
-11
9
-25
3
-11
7
0
0
0
0
0
0
48
-40
-9
-28
-48
4
-20
0
-24
-5
8
0
0
0
0
0
0
0
65
-46
-39
-25
-40
37
2
0
42
0
0
0
0
0
0
0
-3
-28
22
-45
23
-57
-2
-1
0
-5
0
0
0
0
0
0
0
0
-6
23
13
-3
4
-4
0
2
0
0
0
0
0
0
0
0
0
-3
0
-2
2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-9
40
-13
18
3
-7
0
0
-2
0
0
0
0
0
0
22
-62
-4
23
-34
-20
-95
0
-22
0
-36
-3
0
0
0
0
0
-105
-79
71
-26
-23
4
-9
-26
-35
-51
15
0
0
0
0
0
0
-12
-70
56
23
9
31
8
25
-25
26
-13
0
0
0
0
0
0
-6
31
-38
6
90
-95
-25
-6
9
-9
-5
0
0
0
0
0
0
0
-35
16
-12
18
16
17
-5
8
-6
0
0
0
0
0
0
0
0
0
-100
-90
-2
1
-92
0
-1
0
0
0
0
0
0
0
0
0
19
0
-66
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
-11
-16
1
-20
10
0
-74
0
0
0
0
0
0
0
0
-7
10
3
-46
-7
-16
0
-1
0
-57
10
0
0
0
0
0
0
-30
4
-16
5
12
-35
-10
-144
-31
36
-8
0
0
0
0
0
0
29
-72
10
20
42
-57
11
-44
-13
-24
-4
0
0
0
0
0
0
12
-20
-18
5
-34
-27
20
30
28
7
-3
0
0
0
0
0
0
48
-44
-31
-38
30
7
-40
8
5
0
0
0
0
0
0
0
0
-32
-19
29
53
65
-18
1
1
0
0
0
0
0
0
0
0
0
5
-8
-8
13
2
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
8
-5
14
0
0
0
27
0
0
0
0
0
0
0
0
27
39
15
-81
49
0
-1
0
29
1
0
0
0
0
0
0
0
28
-1
-50
17
-22
-8
18
-35
-45
-9
0
0
0
0
0
0
0
3
46
-18
65
38
16
4
0
-12
-19
0
0
0
0
0
0
0
-10
24
-10
-52
5
-7
-2
3
-4
0
2
0
0
0
0
0
0
0
-23
-23
0
4
6
3
0
2
1
0
0
0
0
0
0
0
0
1
-1
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
-5
-5
-10
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
5
-5
6
-8
1
1
15
-5
-2
0
0
0
0
0
0
0
-2
-3
1
5
-19
4
1
1
0
-7
0
0
0
0
0
0
0
1
5
-6
0
-3
-8
-1
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-13
3
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
2
8
-1
-6
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-8
42
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
1
26
0
0
-10
-16
2
0
0
0
0
0
0
0
2
0
0
7
18
33
8
0
1
0
0
0
0
0
0
0
0
0
-23
0
0
-29
1
4
1
0
1
0
0
0
0
0
0
0
0
-2
0
8
14
16
2
16
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
-25
25
8
-41
-1
3
0
0
0
0
0
0
0
0
0
0
3
0
-45
2
-8
9
4
0
1
6
-1
0
0
0
0
0
0
1
8
3
-9
1
-4
2
-1
0
3
0
0
0
0
0
0
0
-8
20
-13
0
54
-8
20
17
6
12
0
0
0
0
0
0
0
0
0
-1
1
-16
-33
12
2
0
-6
0
0
0
0
0
0
0
-1
0
8
-7
-33
3
-7
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
34
-18
5
6
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-20
10
23
-2
8
0
-1
0
0
0
0
0
0
0
0
2
38
5
25
27
9
-6
0
-15
6
-1
0
0
0
0
0
0
4
-3
0
5
-20
-47
-12
2
0
-5
0
0
0
0
0
0
0
-3
-34
-94
7
0
4
-73
2
9
0
0
0
0
0
0
0
0
0
4
4
-14
-51
0
-5
-6
-4
1
0
0
0
0
0
0
0
0
0
-10
-9
3
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
3
-28
0
-1
0
0
0
0
0
0
0
0
0
0
-5
3
-3
33
15
4
8
0
0
0
1
0
0
0
0
0
0
-2
-25
12
-5
-3
-34
-18
0
5
16
0
0
0
0
0
0
0
-1
14
41
-47
-20
24
-5
30
-1
4
3
0
0
0
0
0
0
1
1
7
-29
-42
0
-29
0
8
-3
0
0
0
0
0
0
0
0
-4
-5
-9
-54
-17
-17
0
0
-1
0
0
0
0
0
0
0
0
-1
6
-4
-2
-24
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
-6
3
3
3
-2
-3
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-41
63
-68
10
2
-25
0
0
0
0
0
0
0
0
0
0
-4
24
-25
23
8
-80
5
0
8
0
1
0
0
0
0
0
0
10
18
-43
73
-8
8
-35
-3
-15
-16
0
-1
0
0
0
0
0
6
-30
-6
30
-50
8
-57
17
-6
1
-5
0
0
0
0
0
0
-34
-21
-6
34
-48
-40
0
-10
-28
0
0
0
0
0
0
0
0
3
23
-36
-61
21
21
43
0
1
-3
0
0
0
0
0
0
0
4
0
8
-45
-43
0
8
-6
0
-12
0
0
0
0
0
0
0
0
1
-16
6
8
16
6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-43
-23
-12
-15
-68
1
0
0
0
0
0
0
0
0
0
8
-42
23
23
18
-153
-32
0
-4
0
0
0
0
0
0
0
0
-30
11
-45
-9
43
-6
25
-10
-44
-41
-2
0
0
0
0
0
0
-3
-2
72
26
-126
1
11
-8
29
20
-3
0
0
0
0
0
0
15
4
-16
3
-29
15
-64
0
-21
9
4
4
0
0
0
0
0
2
-27
-24
-51
-30
57
19
-56
0
-38
0
0
0
0
0
0
0
2
4
11
-14
27
4
14
9
-3
2
0
0
0
0
0
0
0
0
4
-1
-5
-29
5
-14
3
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
65
41
-45
39
30
0
0
2
-2
0
0
0
0
0
0
-26
-31
-12
42
44
-90
24
0
-16
0
3
-1
0
0
0
0
0
-36
1
-20
-59
-46
-54
37
-72
2
-74
-48
0
0
0
0
0
0
19
38
8
31
69
-2
-87
-5
-5
-46
-8
0
0
0
0
0
0
-22
6
-34
-30
-30
76
63
17
0
18
-1
1
0
0
0
0
0
5
-25
-15
-21
-90
-26
27
13
38
0
4
0
0
0
0
0
0
2
-10
-112
-26
-30
-11
48
33
-4
0
0
0
0
0
0
0
0
0
0
-4
56
-21
-3
0
1
2
0
0
0
0
0
0
0
0
0
10
27
-1
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
-48
-35
-93
-4
-33
5
-4
0
17
0
0
0
0
0
0
0
0
-37
18
19
72
36
28
0
-6
0
-37
3
0
0
0
0
0
0
-13
-68
46
48
108
-43
-58
-59
6
44
-1
0
0
0
0
0
0
39
9
-50
-84
-107
1
-10
-44
-19
8
-5
0
0
0
0
0
0
-6
48
72
-21
4
-5
-14
-8
0
8
-4
0
0
0
0
0
0
25
-24
46
75
19
41
-12
18
8
1
0
1
0
0
0
0
0
0
8
-1
-5
-116
56
-3
20
-3
0
0
0
0
0
0
0
0
0
9
60
-29
24
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
-24
23
-4
6
0
2
103
0
0
0
0
0
0
0
0
-15
20
-4
15
-98
0
0
0
-18
1
0
0
0
0
0
0
0
8
16
-9
-31
44
20
-27
23
12
1
0
0
0
0
0
0
0
0
21
16
-12
-44
34
-2
-13
20
3
0
0
0
0
0
0
0
2
-1
-18
67
-4
-20
7
0
0
-5
0
0
0
0
0
0
0
0
16
32
-41
2
-1
-1
-8
-6
0
0
0
0
0
0
0
0
-3
-3
0
-12
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
4
0
8
2
0
0
0
0
0
0
0
0
1
0
0
-1
13
5
-5
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-40
3
1
0
1
0
0
0
0
0
0
0
0
0
0
6
-5
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
14
0
27
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
29
-52
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
3
-16
8
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-15
0
-2
3
0
1
-1
2
0
0
0
0
0
0
0
0
0
10
0
-8
-7
-25
1
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
-10
0
0
-4
-5
0
0
0
0
0
0
0
0
0
22
0
8
2
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
24
5
1
6
1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
-2
-1
0
4
1
0
0
0
0
0
0
0
0
4
1
20
13
-30
3
0
-4
1
0
0
0
0
0
0
0
-3
13
17
-18
4
-36
-2
6
0
4
0
0
0
0
0
0
0
0
8
6
0
15
0
1
6
0
1
0
0
0
0
0
0
0
0
1
-25
13
-38
-13
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-14
-1
8
0
0
0
0
0
0
0
0
0
0
0
24
16
59
0
7
-1
0
0
0
0
0
0
0
0
0
0
5
6
13
2
-5
0
20
0
7
19
0
0
0
0
0
0
0
0
-75
5
68
4
20
7
0
-1
-22
0
0
0
0
0
0
0
-2
-51
6
15
-67
-16
-22
-19
-1
-5
0
0
0
0
0
0
0
0
-23
8
-29
0
25
5
-3
-2
0
0
0
0
0
0
0
0
-2
15
-29
8
41
-1
-3
-1
-1
-2
0
0
0
0
0
0
0
0
1
2
1
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
25
-16
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
25
68
36
7
1
0
0
0
0
0
0
0
0
0
0
-3
23
-3
1
24
29
4
0
8
-20
0
0
0
0
0
0
0
0
-13
-27
-9
-12
7
-16
-48
8
5
0
0
0
0
0
0
0
-3
17
13
-48
-13
25
6
-16
-5
6
0
0
0
0
0
0
0
0
-2
-94
-20
-49
0
-12
38
0
-15
0
0
0
0
0
0
0
-2
-1
-5
38
-8
24
0
-7
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
2
-43
2
-9
0
0
0
0
0
0
0
0
0
0
-3
0
8
32
-71
-45
0
0
0
0
0
0
0
0
0
0
0
-22
24
-49
51
-16
23
1
2
24
-10
0
0
0
0
0
0
0
-9
-3
-25
22
-16
43
-5
-2
2
27
1
0
0
0
0
0
0
36
-17
-22
45
-31
32
-25
5
10
0
0
0
0
0
0
0
0
0
22
2
8
59
49
0
-1
6
-4
0
0
0
0
0
0
0
-7
-49
-41
-28
-27
7
-10
1
2
3
0
0
0
0
0
0
0
0
35
7
0
-2
3
4
-3
0
0
0
0
0
0
0
0
0
0
3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
55
4
-7
32
-76
14
0
0
-4
0
0
0
0
0
0
9
2
-5
67
-25
6
6
0
2
0
0
0
0
0
0
0
0
0
-34
54
-44
8
32
-87
-21
24
-28
0
0
0
0
0
0
0
1
-7
44
5
-46
51
-35
1
-20
9
0
-1
0
0
0
0
0
22
15
16
14
-20
28
20
-19
11
40
0
0
0
0
0
0
0
-2
-7
-62
5
-40
10
19
0
0
3
0
0
0
0
0
0
0
0
-19
21
43
-32
4
-1
-5
4
-51
0
0
0
0
0
0
0
0
8
7
17
-8
-1
1
5
2
0
0
0
0
0
0
0
0
0
-8
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
48
-2
-4
-49
26
2
9
5
0
0
0
0
0
0
0
0
0
-4
-54
-69
-11
22
-58
1
0
-122
0
10
0
0
0
0
0
0
47
-21
-40
-17
9
41
5
-72
-19
-30
-4
0
0
0
0
0
0
49
49
-2
-37
-47
26
-36
-131
18
-26
2
0
0
0
0
0
0
-5
-31
41
22
-79
-29
-43
14
38
-20
0
0
0
0
0
0
0
16
34
1
47
-59
-65
-16
-6
0
5
0
0
0
0
0
0
0
1
17
28
-39
-8
34
-11
-4
-19
-3
0
0
0
0
0
0
0
0
-3
-20
-24
29
-12
-3
1
1
0
0
0
0
0
0
0
0
0
0
1
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-5
-89
49
33
-28
0
0
52
15
0
0
0
0
0
0
0
-3
62
-66
-92
32
28
0
7
0
5
1
0
0
0
0
0
0
-56
61
86
55
-33
64
-22
-39
-2
-18
1
0
0
0
0
0
0
-4
-2
-22
-35
40
106
16
18
64
-6
0
0
0
0
0
0
0
-109
-60
11
-29
5
-60
-1
1
-5
-1
0
0
0
0
0
0
0
-24
16
38
95
-116
9
-48
-69
0
5
0
0
0
0
0
0
0
-18
-43
-39
-35
-35
-33
-5
14
-3
0
0
0
0
0
0
0
0
0
-3
-13
1
54
-45
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
-26
4
3
-18
0
0
60
0
0
0
0
0
0
0
0
5
-36
-17
41
48
0
-1
0
5
-1
0
0
0
0
0
0
0
14
44
-1
51
26
-3
4
-17
14
-2
0
0
0
0
0
0
0
-10
16
1
58
-12
-47
-36
0
21
-8
0
0
0
0
0
0
0
29
41
70
-62
-35
5
0
0
3
0
-1
0
0
0
0
0
0
0
-14
-4
15
13
-8
-1
0
0
0
0
0
0
0
0
0
0
0
6
-32
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-13
1
5
-2
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
1
14
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
6
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
-22
-2
-32
0
0
-3
0
0
0
0
0
0
0
0
9
2
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-13
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
-1
3
8
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
1
0
-6
5
0
0
0
0
0
0
0
0
-12
0
-2
2
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
14
2
0
1
0
-4
0
-5
0
0
0
0
0
0
0
0
8
0
-8
7
-10
-14
-2
0
-8
0
0
0
0
0
0
0
0
0
5
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
29
-24
6
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
3
2
0
0
-5
0
0
0
0
0
0
0
0
1
4
-10
8
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-32
36
-16
-2
3
0
0
0
0
0
0
0
0
0
0
-6
8
-14
3
-22
2
1
2
0
0
0
0
0
0
0
0
0
3
-10
8
0
0
9
1
-13
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
2
-2
4
-13
0
0
0
0
0
0
0
0
0
0
1
6
-27
-7
-10
6
4
0
-7
-31
0
0
0
0
0
0
0
0
22
14
-61
5
-9
0
2
-1
-1
0
0
0
0
0
0
0
0
0
10
-13
29
3
-8
0
-5
-13
0
0
0
0
0
0
0
0
-5
-7
-54
24
4
3
0
1
22
0
0
0
0
0
0
0
0
0
-29
4
25
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
25
5
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
60
57
-82
-63
30
-5
0
0
0
0
0
0
0
0
0
0
34
-6
1
34
6
12
8
3
0
30
1
0
0
0
0
0
0
0
-8
0
-32
5
-9
-2
0
0
2
0
0
0
0
0
0
0
-6
-1
-14
-2
-29
-17
29
10
-41
-1
0
0
0
0
0
0
0
0
68
-52
31
14
-19
6
-22
-1
-2
0
0
0
0
0
0
0
13
-1
-4
-17
43
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
40
-19
23
14
0
0
0
0
0
0
0
0
0
0
8
1
54
32
-32
31
8
0
0
0
0
0
0
0
0
0
0
-3
8
4
-6
77
-31
-20
18
5
-8
0
0
0
0
0
0
0
0
-11
24
51
-3
13
-28
1
-3
-1
0
0
0
0
0
0
0
-24
13
-6
9
35
38
-55
-7
7
-44
0
0
0
0
0
0
0
-2
-27
-22
-72
8
11
-21
2
-5
0
0
0
0
0
0
0
0
1
-2
-6
10
22
40
-46
0
-9
-8
0
0
0
0
0
0
0
0
-1
1
47
-13
0
9
4
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
-22
91
-5
-39
-25
-41
-4
0
0
-1
0
0
0
0
0
0
4
-27
61
70
30
-70
-25
0
2
0
-5
0
0
0
0
0
0
67
27
46
-17
27
37
-18
-25
-18
-12
-1
0
0
0
0
0
0
48
23
69
96
-67
-63
23
17
18
-89
8
0
0
0
0
0
0
12
45
49
5
-48
2
-92
-41
29
6
0
0
0
0
0
0
0
2
83
-18
-14
-48
48
10
-23
-10
9
-3
0
0
0
0
0
0
1
-8
52
-4
-52
20
41
-17
0
10
0
0
0
0
0
0
0
0
-24
9
-29
-26
-3
40
-24
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
57
42
-4
-25
-19
3
0
55
-3
0
0
0
0
0
0
0
54
55
-71
27
77
-12
0
-9
0
-2
1
0
0
0
0
0
0
-10
46
-13
-48
78
-7
-40
-10
-49
30
0
0
0
0
0
0
0
-1
-46
13
22
0
33
-53
82
-12
-4
-1
0
0
0
0
0
0
-4
20
-21
6
35
-53
-35
6
-29
8
0
0
0
0
0
0
0
91
-28
-46
-25
-8
7
-33
-12
17
-2
0
0
0
0
0
0
0
-53
-66
36
-8
-17
21
-1
8
0
0
0
0
0
0
0
0
0
3
29
18
-4
6
-2
-5
5
-13
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-13
0
1
0
0
14
0
0
0
0
0
0
0
0
0
7
33
-1
-1
0
-1
0
10
-1
0
0
0
0
0
0
0
-3
48
-33
-16
-46
1
8
0
31
0
0
0
0
0
0
0
0
-10
8
74
-54
8
7
-3
3
7
0
0
0
0
0
0
0
0
-1
39
13
-5
86
-27
-8
0
10
0
0
0
0
0
0
0
0
41
-1
5
-25
12
-32
6
-4
2
0
0
0
0
0
0
0
0
3
-7
-22
40
40
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
2
-43
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-2
-7
-6
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
5
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-76
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
-20
25
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
1
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
14
5
4
0
0
0
0
0
0
0
0
0
0
0
10
2
-15
0
8
0
0
0
0
0
0
0
0
0
0
0
17
0
8
-9
8
1
4
0
0
3
0
0
0
0
0
0
0
-4
-25
0
-34
-5
-10
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-12
-42
-4
-3
14
0
1
0
0
0
0
0
0
0
0
0
-18
-5
-13
-14
7
-6
-12
-1
0
0
0
0
0
0
0
0
-5
7
2
0
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-18
-3
15
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-2
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-75
4
-19
13
34
1
0
0
0
0
0
0
0
0
0
0
6
5
-18
-88
-83
-24
-5
-5
0
27
0
0
0
0
0
0
0
-8
-38
-2
47
-18
-15
1
2
-2
0
0
0
0
0
0
0
0
-18
-8
-1
-23
88
-40
24
0
0
23
0
0
0
0
0
0
0
0
-18
5
-99
-24
5
-9
0
1
0
0
0
0
0
0
0
0
-36
3
43
9
8
-26
-22
2
0
0
0
0
0
0
0
0
0
0
16
-4
5
42
-16
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
49
47
32
0
10
0
0
0
6
0
0
0
0
0
0
-6
13
-8
-18
-53
17
-25
0
-7
0
0
0
0
0
0
0
0
-44
-23
39
20
42
-1
-33
30
-44
-78
9
0
0
0
0
0
0
0
-12
-20
45
17
-10
-66
-50
-46
-5
5
0
0
0
0
0
0
40
3
65
-44
-19
-19
20
-50
-25
-16
0
0
0
0
0
0
0
3
49
6
-77
-90
29
-64
33
48
-6
0
0
0
0
0
0
0
35
51
45
-24
-62
16
20
-1
-8
0
0
0
0
0
0
0
0
0
38
-16
34
10
-42
-30
5
0
1
0
0
0
0
0
0
0
0
1
35
4
-68
0
0
-14
5
0
0
0
0
0
0
0
0
0
0
55
-13
-39
38
-6
2
0
9
2
0
0
0
0
0
0
0
27
-14
-51
65
41
-24
0
-1
0
5
0
0
0
0
0
0
0
-29
-49
7
-4
-35
-28
5
0
-37
0
0
0
0
0
0
0
0
58
-47
55
-30
48
51
-61
-4
-27
-8
0
0
0
0
0
0
0
9
3
13
-72
91
-39
81
-35
-2
-1
0
0
0
0
0
0
0
29
25
-58
5
-84
-27
-46
24
6
0
0
0
0
0
0
0
0
-5
-53
69
9
-43
98
36
-15
0
0
0
0
0
0
0
0
0
-58
55
-1
-21
-6
15
-95
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
13
-75
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
-2
10
-8
-8
0
-3
0
31
0
0
0
0
0
0
0
0
-6
-5
21
22
-1
36
0
0
19
0
0
0
0
0
0
0
0
-4
-12
-25
-14
30
3
1
0
-4
0
0
0
0
0
0
0
0
1
25
-21
-15
-8
-14
4
6
-41
0
0
0
0
0
0
0
0
23
8
33
20
-16
4
0
-4
2
0
0
0
0
0
0
0
0
-2
6
5
-21
-6
-3
0
0
2
0
0
0
0
0
0
0
0
1
1
3
16
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
-9
5
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-47
-8
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
31
0
13
-18
0
16
0
0
0
0
0
0
0
0
3
1
27
-8
22
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-74
8
11
6
0
-3
0
0
0
0
0
0
0
0
3
0
-8
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-36
-31
-6
8
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-26
4
-55
-42
0
4
-7
0
0
0
0
0
0
0
0
-8
-17
-11
44
23
34
-9
0
-17
0
0
0
0
0
0
0
0
-31
27
37
42
19
-98
4
3
1
0
0
0
0
0
0
0
0
0
-27
10
-26
-107
-49
-47
21
-20
0
0
0
0
0
0
0
0
2
0
-59
-61
19
2
3
0
4
0
0
0
0
0
0
0
0
0
-35
0
43
-8
-20
1
2
0
0
0
0
0
0
0
0
0
-12
1
20
-8
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
-2
-13
0
0
0
-28
0
0
0
0
0
0
0
0
0
43
-10
0
-8
4
0
0
-6
0
0
0
0
0
0
0
0
-8
0
15
-9
-13
-1
0
3
3
0
0
0
0
0
0
0
0
0
-10
13
25
6
-28
-2
0
0
0
0
0
0
0
0
0
0
-9
0
23
0
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-30
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-1
-2
-8
0
0
4
0
0
0
0
0
0
0
0
-5
0
-2
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
1
1
-8
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-6
0
-1
0
0
0
0
0
0
0
0
-5
0
-1
0
-1
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
2
12
0
0
0
0
0
0
0
0
0
0
0
-14
-4
7
1
5
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
0
-6
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
1
-41
42
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-22
-3
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
44
0
-3
0
0
0
0
0
0
0
0
0
4
6
5
0
55
0
13
0
2
0
0
0
0
0
0
-8
0
0
-3
-7
25
2
-13
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
34
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
5
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-3
41
105
-3
0
4
0
-5
0
0
0
0
0
0
0
35
-45
9
-38
-18
59
37
-2
-43
0
0
0
0
0
0
0
0
21
-2
0
5
64
-3
13
11
6
-14
0
0
0
0
0
0
0
8
1
1
17
-14
2
-13
65
13
-3
0
0
0
0
0
0
0
10
6
5
-63
-49
-21
-22
-9
-13
0
0
0
0
0
0
0
0
-30
0
2
25
-19
-9
-73
13
-6
2
0
0
0
0
0
0
0
2
0
1
9
8
-8
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
0
-16
23
0
0
0
0
0
0
0
0
0
17
-1
-1
-25
-27
9
39
0
-3
0
0
0
0
0
0
0
0
-3
2
-15
-9
13
-36
1
2
4
0
0
0
0
0
0
0
0
-4
0
-3
-2
25
0
17
2
-1
0
0
0
0
0
0
0
0
-5
0
-5
-24
-22
4
1
0
-7
0
0
0
0
0
0
0
0
-3
0
0
1
0
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
0
20
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
5
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
6
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-15
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-7
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
-2
0
0
0
0
0
0
0
-3
2
0
0
2
-8
-43
-28
8
0
0
0
0
0
0
0
0
0
0
0
6
-4
20
2
12
-6
0
0
0
0
0
0
0
0
0
0
0
3
-2
41
-7
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
10
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
5
9
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-5
38
-42
12
-8
-13
-1
0
0
0
0
0
0
0
0
0
0
3
4
-5
-2
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
19
0
0
0
0
0
0
0
0
0
0
-9
0
-6
-34
0
3
23
-8
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-29
-4
-16
-3
0
0
0
0
0
0
0
0
0
0
4
0
-20
13
41
-1
1
0
0
0
0
0
0
0
0
0
-2
0
0
10
0
0
12
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-38
0
0
0
0
0
0
0
0
0
0
0
-1
-2
9
0
-1
19
8
-46
0
1
0
0
0
0
0
0
1
0
-1
0
0
-24
16
22
15
0
0
0
0
0
0
0
0
0
0
0
1
16
-8
-14
-8
-9
-5
0
0
0
0
0
0
0
0
-1
0
0
-7
-3
-42
-3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
19
0
9
0
5
0
0
0
0
0
0
0
0
1
0
4
16
-5
-44
-7
-4
13
0
0
0
0
0
0
0
5
8
14
3
3
-8
-33
-21
23
-3
0
0
0
0
0
0
0
-8
-4
6
5
-23
2
7
-8
10
0
-2
0
0
0
0
0
0
-4
-2
3
-1
5
-3
4
15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
12
12
2
0
-64
-13
0
5
1
0
0
0
0
0
0
-6
-30
5
-22
31
73
-15
-25
37
-7
-8
0
0
0
0
0
0
-2
8
9
13
15
-30
-53
21
-4
-1
0
0
0
0
0
0
0
5
-2
-13
53
-24
-59
18
23
45
1
-4
0
0
0
0
0
0
-2
1
2
-6
-43
15
-6
24
-32
0
0
0
0
0
0
0
0
-5
0
0
4
10
-61
-2
34
9
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
27
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-15
15
8
16
14
0
-40
49
0
-1
0
0
0
0
0
0
56
-23
116
18
-25
72
-7
35
-16
-24
1
0
0
0
0
0
0
-49
-36
-1
-14
73
2
1
6
-49
-5
0
1
0
0
0
0
0
-21
-4
96
-2
-60
29
-26
-4
-55
-8
0
0
0
0
0
0
0
-5
56
-15
13
-34
-1
-120
-77
22
1
0
1
0
0
0
0
0
-26
7
15
37
15
-94
-87
-42
8
-5
5
0
0
0
0
0
0
8
-4
-2
47
-54
-28
28
-63
-7
0
0
0
0
0
0
0
0
0
-2
0
0
-3
6
-12
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
8
-25
-12
2
0
14
0
-2
0
0
0
0
0
0
0
0
6
13
8
-42
-20
-10
9
-20
2
-8
0
0
0
0
0
0
0
16
-5
-73
0
60
59
31
-48
-8
0
0
0
0
0
0
0
0
-12
-33
19
-57
-19
-93
-36
-31
-12
0
0
0
0
0
0
0
0
6
-2
5
-24
17
-38
6
-8
8
-1
0
0
0
0
0
0
0
13
0
-2
-24
0
-17
-13
0
1
0
0
-1
0
0
0
0
0
-8
0
2
0
-6
58
8
3
5
0
0
0
0
0
0
0
0
0
0
0
-5
2
-7
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-5
5
0
-32
21
1
0
0
0
0
0
0
0
0
0
0
-1
-1
-16
-11
12
-13
-5
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
-2
-39
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
13
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-1
6
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
2
22
4
0
0
0
0
0
0
0
0
0
8
0
0
-16
-48
34
8
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
30
-18
0
0
0
0
0
0
0
0
0
0
0
5
-56
51
-9
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-2
-6
24
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
58
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
27
-23
-19
3
1
2
0
0
0
0
0
0
1
1
0
0
7
-16
-18
-16
3
0
0
0
0
0
0
0
0
0
0
1
-1
15
-7
3
-10
5
0
0
0
0
0
0
0
0
1
-1
0
1
-29
-7
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
-8
0
3
73
-5
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
8
-28
-43
12
-8
-7
0
0
0
0
0
0
0
-4
0
-1
0
24
-10
-4
48
15
0
0
0
0
0
0
0
0
1
0
0
-1
1
-8
-23
33
1
0
0
0
0
0
0
0
0
0
4
-3
2
-7
6
38
-10
-3
2
0
0
0
0
0
0
0
0
-3
0
2
0
-38
-7
48
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-6
-9
-5
-22
0
24
0
0
0
0
0
0
0
0
-4
2
-12
-18
24
-24
32
-41
3
0
0
0
0
0
0
0
-4
0
1
0
0
-9
-50
-13
-12
-13
0
0
0
0
0
0
0
-3
-5
-2
-2
6
-18
-25
14
10
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
12
-5
48
0
0
0
0
0
0
0
0
0
0
8
0
-3
-17
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-7
-86
0
5
0
15
0
0
0
0
0
0
0
-30
6
1
-1
-13
-12
-46
-117
-32
7
0
0
0
0
0
0
0
-2
-2
-4
15
-12
0
-52
18
-3
4
4
0
0
0
0
0
0
0
4
-10
5
2
-16
7
2
1
0
-2
0
0
0
0
0
0
-3
-1
1
-7
7
-15
28
1
-41
-1
1
0
0
0
0
0
0
4
0
0
-2
6
-24
24
-18
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-15
-3
2
-40
35
86
0
25
-1
0
0
0
0
0
0
13
3
4
8
27
-27
29
135
21
30
-6
0
0
0
0
0
0
-6
-44
-2
-68
25
30
-38
4
-26
29
1
0
0
0
0
0
0
20
-5
3
-49
-5
8
-25
-14
-24
5
0
0
0
0
0
0
0
-18
-32
-4
-8
-40
90
81
12
86
0
-3
0
0
0
0
0
0
0
0
3
10
-1
28
-5
73
0
16
1
0
0
0
0
0
0
0
0
1
0
-4
-28
50
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
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
-75
-8
-39
-31
17
-83
-65
0
-5
3
0
2
0
0
0
0
-36
-19
26
-45
-48
33
4
-90
57
38
-20
0
0
0
0
0
0
-40
6
-83
-79
-11
-27
-86
-89
8
-15
1
0
0
0
0
0
0
29
2
26
53
76
-40
-4
-7
1
45
-1
0
0
0
0
0
0
15
-6
95
1
-66
126
22
-11
-14
3
-2
0
0
0
0
0
0
0
9
-8
60
-8
97
29
-53
120
18
-7
0
0
0
0
0
0
0
0
-1
-1
-56
39
-72
-52
3
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-17
-8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
16
-75
-29
-97
10
118
-27
0
7
3
-7
0
0
0
0
0
-80
72
-57
-31
-24
27
-58
126
7
-21
-55
-4
0
0
0
0
0
18
7
-42
41
-3
-3
-3
-69
-107
-85
15
13
0
0
0
0
0
3
-87
-20
-27
-22
-21
29
-42
103
42
-25
0
0
0
0
0
0
-31
11
-30
-28
-23
-27
69
54
-34
-32
-4
-4
1
0
0
0
0
9
-30
-34
5
15
24
-26
-13
19
-3
2
0
0
0
0
0
0
-7
3
10
1
27
-2
-26
22
1
-2
-1
0
0
0
0
0
0
0
0
0
-1
-4
119
-25
-41
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
54
-52
-60
102
-38
12
61
0
24
-42
-3
0
0
0
0
0
0
-46
-20
-31
26
10
-40
6
31
6
-61
33
0
0
0
0
0
0
-42
-48
65
71
-1
-10
-23
8
-58
-29
2
0
0
0
0
0
0
-46
29
-45
-20
-16
-77
45
-57
-11
5
-30
0
0
0
0
0
0
-75
-71
-66
-3
-118
-34
58
-35
-45
40
0
1
0
0
0
0
0
51
7
-19
-70
11
21
36
70
65
-18
0
0
0
0
0
0
0
10
-13
-7
49
-41
-12
-43
26
1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
33
48
5
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
62
-7
27
-1
9
62
0
26
-48
0
0
0
0
0
0
0
0
0
-2
52
-66
10
-6
39
68
46
-1
1
0
0
0
0
0
0
53
-14
-18
47
86
-39
22
18
-20
56
0
0
0
0
0
0
0
67
-3
-80
24
9
33
7
-4
-22
-3
5
0
0
0
0
0
0
-15
49
-2
29
27
77
32
3
6
-3
0
0
0
0
0
0
0
13
-3
14
84
-41
42
-11
-71
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-5
38
0
-29
45
6
0
0
0
0
0
0
0
0
1
19
3
40
13
-38
-15
-31
13
0
-1
0
0
0
0
0
0
5
-3
3
15
-26
-25
13
-41
0
1
0
0
0
0
0
0
0
13
0
1
36
25
11
20
0
7
0
0
0
0
0
0
0
0
0
0
-1
28
3
-41
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
0
33
0
-1
0
0
0
0
0
0
0
0
0
0
3
2
3
-1
13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-13
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
2
-12
0
0
0
0
0
0
0
0
0
1
6
0
7
-56
-17
-38
-14
8
0
0
0
0
0
0
0
0
0
-1
0
0
-40
-1
-7
-17
14
13
0
0
0
0
0
0
0
0
0
0
8
-5
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
2
24
-20
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
7
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
-4
5
0
0
0
0
0
0
0
0
0
-7
0
-3
-1
4
-25
42
-37
27
6
0
0
0
0
0
0
0
0
0
0
0
-24
-3
-44
16
-51
-2
0
0
0
0
0
0
0
2
0
0
0
-6
2
9
3
-1
2
0
0
0
0
0
0
0
0
0
2
0
-15
15
-7
-6
-6
0
0
0
0
0
0
0
0
0
0
0
8
-22
9
4
8
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
-9
9
-8
55
46
0
-30
0
0
0
0
0
0
0
1
4
-4
2
-12
-12
43
24
15
14
-3
0
0
0
0
0
0
-3
1
0
-5
6
8
14
-4
12
2
0
0
0
0
0
0
0
0
1
0
0
-9
5
9
-4
-1
0
0
0
0
0
0
0
0
0
0
4
-5
-1
23
30
41
0
-2
0
0
0
0
0
0
0
0
0
-4
2
-2
-7
-29
48
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
3
-4
43
84
25
0
-41
2
0
0
0
0
0
0
42
-2
3
-29
-42
-6
29
-31
-47
8
2
0
0
0
0
0
0
5
-12
-10
-1
-29
9
-22
8
-47
5
3
0
0
0
0
0
0
0
-1
17
-5
-1
-5
17
-41
25
0
0
0
0
0
0
0
0
14
-2
1
1
27
0
-6
-6
42
5
0
0
0
0
0
0
0
0
0
9
0
1
9
1
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-30
1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
12
33
-15
16
-38
0
29
0
0
0
0
0
0
0
-55
25
-1
-8
34
48
52
80
48
-21
-25
2
0
0
0
0
0
14
-58
-29
30
-1
-3
-5
32
43
-1
1
0
0
0
0
0
0
7
0
-16
-8
-44
0
-30
12
-40
3
0
0
0
0
0
0
0
-1
-36
6
-27
0
5
13
11
8
-7
0
0
0
0
0
0
0
0
0
5
3
-32
22
4
14
-10
-1
0
0
0
0
0
0
0
0
0
1
4
-8
-13
-18
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-2
6
0
-34
32
20
17
0
27
5
0
0
0
0
0
0
-17
-44
-59
-10
27
44
-67
-25
-56
-3
-6
0
0
0
0
0
0
-52
-24
-17
80
-3
-5
42
14
-25
10
0
0
0
0
0
0
0
5
59
3
-21
4
-11
-10
10
-17
-54
1
0
0
0
0
0
0
13
-16
20
4
33
-2
3
0
60
0
3
0
0
0
0
0
0
0
3
-7
6
17
7
-4
-16
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-8
8
16
0
-30
3
0
0
0
0
0
0
0
0
-8
0
17
0
7
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-31
-3
-69
-18
21
40
5
0
-18
33
0
0
0
0
0
0
-70
-6
7
-29
-46
34
-114
-55
-44
13
26
0
0
0
0
0
0
57
-21
55
-49
-35
-74
36
-34
-57
-3
-15
0
0
0
0
0
0
15
-5
-16
-59
-15
-60
-15
-8
-6
24
0
0
0
0
0
0
0
8
-16
-11
-19
-46
-14
-11
-19
0
11
0
-5
0
0
0
0
0
0
-18
-13
35
-45
35
38
-74
-67
3
-2
0
0
0
0
0
0
0
-33
2
7
-1
-17
48
19
25
5
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-13
42
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
23
-33
49
-134
-23
41
-40
0
-30
-44
0
0
0
0
0
0
41
-60
43
13
-89
59
93
18
-81
-1
-41
-15
0
0
0
0
0
-44
-52
43
-32
-32
36
-8
-88
57
-17
-29
0
0
0
0
0
0
42
-30
57
-35
-49
26
-38
11
-21
24
-3
0
0
0
0
0
0
21
44
13
1
2
-21
-55
-7
-26
2
-8
0
0
0
0
0
0
-10
33
4
31
19
-45
46
25
11
22
0
0
0
0
0
0
0
-2
-5
57
43
46
-12
-27
33
-2
2
5
0
0
0
0
0
0
0
0
-1
3
-2
18
43
-46
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
-73
9
-23
-9
-31
26
-29
0
-61
6
4
0
0
0
0
0
0
83
11
1
-23
11
72
22
-2
6
33
-14
0
0
0
0
0
0
-34
-18
12
-66
-2
-17
78
42
-48
-25
7
0
0
0
0
0
0
70
-11
-58
-48
-4
-78
41
-33
23
25
8
1
0
0
0
0
0
22
-40
46
5
-30
83
77
10
-64
0
6
0
0
0
0
0
0
15
19
-43
25
-16
-114
24
-15
-46
-8
-2
0
0
0
0
0
0
-8
-5
-4
6
-75
-6
-42
0
21
0
0
0
0
0
0
0
0
1
1
-1
0
-24
-56
-17
5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
2
0
0
0
0
0
0
0
0
0
0
45
16
-25
9
55
0
-15
52
-2
0
0
0
0
0
0
0
-6
7
1
-51
70
50
-11
8
35
-5
0
0
0
0
0
0
0
-21
13
-28
-42
33
-8
-70
3
-29
1
-1
0
0
0
0
0
0
4
-3
-2
35
0
10
-55
-25
0
1
0
0
0
0
0
0
0
8
-4
3
36
-28
-61
73
-4
1
0
0
0
0
0
0
0
0
4
0
-8
11
19
17
23
22
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
3
-20
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
-5
0
-8
-13
-7
0
0
0
0
0
0
0
0
7
-2
2
6
11
-28
6
10
3
1
0
0
0
0
0
0
0
8
5
0
-40
10
20
4
3
-5
0
0
0
0
0
0
0
0
2
-5
0
1
0
1
-9
-21
0
0
0
0
0
0
0
0
0
1
1
1
2
0
30
7
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
32
41
-38
8
0
0
0
0
0
0
0
0
0
-2
0
0
2
-4
0
-25
8
0
0
0
0
0
0
0
0
0
8
0
22
-24
-4
0
40
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-2
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
1
0
0
0
0
0
0
0
0
0
0
-16
0
-3
-24
-5
12
0
27
-1
0
0
0
0
0
0
0
1
-2
-1
16
5
-23
44
0
27
-5
0
0
0
0
0
0
0
0
0
-3
0
-8
23
-17
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
29
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-23
42
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-13
0
-25
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
1
21
-2
-20
-14
0
0
0
0
0
0
0
0
0
0
-23
-2
-7
-36
-6
18
-24
25
36
0
0
0
0
0
0
0
0
2
0
-2
10
15
15
14
-24
-1
0
0
0
0
0
0
0
16
0
0
2
6
3
-50
34
-10
10
0
0
0
0
0
0
0
0
-7
-1
0
14
8
-14
-3
25
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-29
69
7
0
0
0
0
0
0
0
0
0
3
0
0
-3
-25
2
10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
23
5
0
-18
1
0
0
0
0
0
0
1
22
7
25
19
-57
16
-30
45
3
0
0
0
0
0
0
0
0
-13
8
8
13
16
-12
29
48
-4
0
0
0
0
0
0
0
-3
-1
3
0
0
-3
-13
-73
8
0
0
0
0
0
0
0
0
0
2
-38
7
0
3
6
6
25
0
0
0
0
0
0
0
0
0
3
-3
0
10
0
31
8
34
-5
0
0
0
0
0
0
0
0
-7
0
0
-5
-24
25
7
14
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
13
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
10
2
-12
-1
5
-30
0
0
0
0
0
0
0
0
0
-1
49
3
17
6
11
34
-66
31
0
-5
0
0
0
0
0
0
5
3
-29
-8
5
30
-45
-11
11
31
0
0
0
0
0
0
0
13
-3
-10
-24
0
27
-6
64
-33
-34
0
0
0
0
0
0
0
-2
1
0
4
-15
0
8
-6
49
-22
0
0
0
0
0
0
0
0
-32
-17
-16
0
-17
0
3
-42
3
0
0
0
0
0
0
0
0
0
0
4
-20
0
38
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
4
42
5
-46
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
7
-17
-16
46
-63
48
-23
0
-40
0
0
0
0
0
0
0
-10
51
-16
-71
6
38
23
-57
36
18
0
-3
0
0
0
0
0
43
32
10
39
42
17
31
-77
31
-30
-12
0
0
0
0
0
0
32
-4
1
28
-32
10
6
-10
-29
-20
0
0
0
0
0
0
0
3
-4
-2
10
-32
-3
0
4
5
3
0
0
0
0
0
0
0
0
7
0
4
39
0
12
-3
29
-2
0
0
0
0
0
0
0
-5
2
33
-14
41
-3
-55
-48
1
0
0
0
0
0
0
0
0
0
4
-4
0
1
11
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
-5
-16
32
7
-15
21
-24
-40
0
-49
-2
0
0
0
0
0
0
-18
-73
-56
-5
20
40
19
-62
30
19
-25
4
0
0
0
0
0
7
40
-48
25
-43
10
-40
-60
-11
13
1
0
0
0
0
0
0
22
-19
-55
23
54
-12
-8
4
-40
-17
0
0
0
0
0
0
0
-13
-46
-21
71
56
40
37
0
10
3
0
0
0
0
0
0
0
-1
48
0
-50
-20
-59
-8
-7
0
8
0
0
0
0
0
0
0
0
-6
6
86
56
-4
-35
-8
-41
0
0
0
0
0
0
0
0
0
-15
0
23
10
-27
20
-48
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-1
50
-61
75
8
23
67
-51
0
-7
0
1
0
0
0
0
0
30
-50
-26
-13
-25
63
62
-6
78
-16
32
8
0
0
0
0
0
-54
-28
35
35
-69
29
54
-17
-37
-22
0
1
0
0
0
0
0
-25
33
0
27
-2
24
15
-64
-45
2
18
-8
0
0
0
0
0
-5
19
20
-55
-41
-13
-17
-29
3
-39
0
0
0
0
0
0
0
39
38
-3
-28
31
-69
-36
-7
2
0
-3
0
0
0
0
0
0
-3
3
-8
-49
-35
-53
45
-34
-37
-41
0
0
0
0
0
0
0
0
-12
0
30
-7
-32
-11
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-58
-8
0
0
0
0
0
0
0
0
0
0
-53
28
-6
-15
29
-3
88
0
11
16
-2
0
0
0
0
0
0
-73
67
11
-75
-10
-47
59
-3
-117
35
-1
0
0
0
0
0
0
-1
-9
-81
75
-14
-20
32
34
7
-22
3
0
0
0
0
0
0
-21
-40
22
-67
18
-30
90
-31
-35
3
0
0
0
0
0
0
0
7
-24
-66
-98
-23
83
3
-27
0
6
0
0
0
0
0
0
0
-11
-5
24
-44
25
-36
59
2
2
0
0
0
0
0
0
0
0
2
-65
0
38
-8
108
25
19
20
2
0
0
0
0
0
0
0
0
3
25
2
15
-6
-44
-22
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
19
0
7
14
8
15
0
18
14
-16
0
0
0
0
0
0
0
0
-12
-19
7
58
-9
21
54
-64
8
8
0
0
0
0
0
0
39
32
-1
86
35
2
34
-32
3
2
0
0
0
0
0
0
0
5
7
5
13
-17
83
-101
-4
3
0
0
0
0
0
0
0
0
24
2
2
-6
10
-8
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
41
-22
20
-23
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
13
15
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
2
0
15
-5
-4
0
0
0
0
0
0
0
0
-5
-1
0
14
5
-20
18
5
14
0
0
0
0
0
0
0
0
5
-4
-3
3
0
-13
-3
8
-6
0
0
0
0
0
0
0
0
5
-2
4
-4
-10
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-8
-9
17
0
0
0
0
0
0
0
0
0
0
0
1
1
9
1
-1
17
0
0
0
0
0
0
0
0
0
0
0
-3
9
-7
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-5
15
4
-23
0
0
0
0
0
0
0
0
0
4
0
-4
-17
-3
19
13
-8
0
0
0
0
0
0
0
0
-1
3
-2
-20
3
-6
22
14
-2
1
0
0
0
0
0
0
0
0
0
-1
0
-5
0
30
10
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-3
-9
-4
2
0
0
0
0
0
0
0
0
0
0
7
0
5
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-9
0
0
-1
0
0
0
0
0
0
0
4
-8
0
6
-2
-40
-13
0
58
20
0
0
0
0
0
0
0
8
1
0
-4
-25
-42
3
74
-59
4
0
0
0
0
0
0
0
1
6
0
1
-30
-25
-7
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-3
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-6
-14
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
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
0
32
-12
29
23
0
-1
-6
0
0
0
0
0
0
0
-46
5
-7
-16
65
-4
40
4
19
-3
0
0
0
0
0
0
0
17
13
16
8
2
-21
-17
16
-1
0
0
0
0
0
0
0
0
9
30
34
17
-72
42
144
-48
17
0
0
0
0
0
0
0
8
1
7
0
-25
-2
-14
16
-5
0
0
0
0
0
0
0
0
0
5
1
-6
0
25
12
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
0
-21
-17
9
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-4
8
-7
-23
23
-42
0
-57
0
0
0
0
0
0
0
0
-5
12
9
-24
15
-10
-3
-4
-16
0
0
0
0
0
0
0
3
48
0
1
-15
65
-14
-18
23
14
0
0
0
0
0
0
0
-4
14
6
16
17
-48
-51
-8
-25
38
2
0
0
0
0
0
0
0
-8
24
-29
-8
-25
0
-36
-56
-3
0
0
0
0
0
0
0
0
3
-9
1
-23
0
9
2
-6
0
0
0
0
0
0
0
0
0
0
5
-8
0
19
0
24
8
0
0
0
0
0
0
0
0
0
0
5
0
0
20
-7
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
5
1
4
6
-38
23
-21
-51
0
-33
3
0
0
0
0
0
0
0
1
0
5
62
-47
-1
-15
92
-47
2
0
0
0
0
0
0
27
-2
0
-27
35
30
-35
14
11
0
-1
0
0
0
0
0
0
25
-27
9
51
-17
29
-60
23
12
8
-2
0
0
0
0
0
0
-17
-20
-6
-50
-2
1
-29
0
-31
0
0
0
0
0
0
0
0
-2
-38
-24
-4
-32
-28
0
20
-7
-5
0
0
0
0
0
0
0
-7
7
8
-4
16
8
9
0
-59
-2
0
0
0
0
0
0
0
0
-4
0
-39
-7
-38
3
16
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
69
14
-8
31
28
35
-13
0
0
7
0
0
0
0
0
0
-40
-43
-50
-5
58
-24
-44
-15
111
-19
33
0
0
0
0
0
0
1
-1
-17
43
-20
-5
-30
-17
-5
33
0
0
0
0
0
0
0
40
-27
-15
-55
15
-3
7
-35
39
5
0
0
0
0
0
0
0
3
-45
-26
-63
9
-10
-30
-12
3
-27
0
0
0
0
0
0
0
0
-24
6
26
-45
35
-23
0
19
3
0
0
0
0
0
0
0
0
-3
2
-18
-56
-17
0
-35
-2
-1
0
0
0
0
0
0
0
0
-1
-10
-26
13
17
-2
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
35
-1
-17
-74
-42
-43
-28
25
0
-12
-4
0
0
0
0
0
0
22
28
-24
35
25
1
21
23
38
48
-5
16
0
0
0
0
0
-19
-18
20
82
10
90
27
-50
-23
-47
-5
0
0
0
0
0
0
-81
-87
12
-58
62
-71
16
20
-47
-61
0
0
0
0
0
0
0
-22
16
14
17
-8
23
20
1
-32
0
0
0
0
0
0
0
0
-1
-7
55
-27
-4
-18
-28
17
0
-13
0
0
0
0
0
0
0
-7
5
-36
-82
-4
25
23
1
-4
0
0
0
0
0
0
0
0
-17
2
13
-49
-16
0
-25
1
5
-19
0
0
0
0
0
0
0
0
0
0
-12
3
-3
-23
1
-1
0
0
0
0
0
0
0
0
0
-28
-7
58
35
-39
4
3
0
15
-30
1
0
0
0
0
0
0
-35
-11
-13
-28
-20
-19
6
38
32
-18
-3
0
0
0
0
0
0
-45
-33
11
8
-9
20
-11
44
-67
-10
0
0
0
0
0
0
0
-54
-21
51
-124
-26
25
17
46
-38
-1
0
0
0
0
0
0
0
19
-3
28
-71
31
5
28
-19
15
0
0
0
0
0
0
0
0
52
-36
-9
-11
54
60
10
63
0
1
0
0
0
0
0
0
0
-29
-29
-30
3
-116
1
44
-5
-17
0
0
0
0
0
0
0
0
-5
-13
-16
29
-30
21
14
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
21
-8
43
16
0
20
-7
0
0
0
0
0
0
0
0
-18
8
46
7
9
9
2
-30
28
0
0
0
0
0
0
0
0
-1
-8
5
-39
14
19
90
-5
-3
0
0
0
0
0
0
0
0
7
12
0
25
-38
45
-13
-48
0
0
0
0
0
0
0
0
0
-5
0
4
-18
-30
9
-68
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-46
6
-1
0
0
0
0
0
0
0
0
0
1
0
0
15
22
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
-13
-2
0
0
0
0
0
0
0
0
0
-1
0
-13
-7
-5
3
27
-2
-2
0
0
0
0
0
0
0
2
-5
0
-5
-2
1
-7
-1
0
0
0
0
0
0
0
0
0
-1
4
0
4
14
-1
-7
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
7
5
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
4
1
41
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
25
22
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
34
-24
12
0
0
0
0
0
0
0
0
-4
0
0
-3
-8
13
2
29
1
9
0
0
0
0
0
0
0
0
16
1
-2
3
-8
-13
-5
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
1
2
47
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
15
-29
6
6
0
0
0
0
0
0
0
0
0
-10
-6
12
-19
5
32
13
-12
0
0
0
0
0
0
0
0
-2
-1
0
-9
2
2
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
-6
0
-7
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
-34
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
18
32
-41
-1
-2
-1
0
0
0
0
0
0
0
2
0
0
13
-3
-44
6
10
-12
0
0
0
0
0
0
0
3
1
-1
-5
0
3
-17
-10
13
0
0
0
0
0
0
0
0
-1
-1
-7
-13
-29
7
-9
4
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
-2
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
3
-6
-13
-1
14
0
-1
0
0
0
0
0
0
0
0
-17
-1
0
27
8
29
-21
-45
24
0
0
0
0
0
0
0
0
8
0
-1
-17
-10
33
19
-3
-3
0
0
0
0
0
0
0
-8
0
7
-1
2
-13
25
20
1
-12
0
0
0
0
0
0
0
0
-8
-2
0
8
5
-16
5
29
0
0
0
0
0
0
0
0
0
6
0
-25
0
9
0
48
4
-1
0
0
0
0
0
0
0
0
0
1
0
6
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
4
-41
29
0
4
0
0
0
0
0
0
0
0
4
-1
-17
48
-92
-13
32
40
42
1
0
0
0
0
0
0
-1
10
8
54
-49
13
75
-49
-18
-40
0
0
0
0
0
0
0
-1
-2
6
74
0
21
8
17
14
1
0
0
0
0
0
0
0
0
13
0
-1
-24
-24
11
5
0
0
0
0
0
0
0
0
0
-8
6
-7
10
14
1
6
0
8
-2
0
0
0
0
0
0
0
0
-17
0
0
-1
-4
0
-10
1
0
0
0
0
0
0
0
0
0
12
0
-3
2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
4
56
-16
-5
-18
0
-22
-4
0
0
0
0
0
0
-5
63
8
30
12
5
5
72
-53
-6
-1
0
0
0
0
0
0
5
-22
5
-30
-8
-35
-8
11
74
9
-1
0
0
0
0
0
0
39
50
9
-19
31
36
-1
-62
8
-9
0
0
0
0
0
0
0
-9
-49
-6
-7
98
28
83
-77
15
1
-1
0
0
0
0
0
0
0
15
32
-8
-35
42
0
31
-1
-1
0
0
0
0
0
0
0
0
6
-16
4
-41
-27
-32
0
-26
0
0
0
0
0
0
0
0
0
4
-1
3
-24
-50
2
5
0
14
0
0
0
0
0
0
0
0
0
0
6
0
0
22
10
0
0
0
0
0
0
0
0
0
-29
13
-42
4
17
-65
12
-54
0
-18
1
0
0
0
0
0
0
-21
-62
3
-20
-57
78
48
64
26
-33
-20
0
0
0
0
0
0
25
-4
-53
-4
-21
18
35
61
40
11
6
0
0
0
0
0
0
51
-10
-41
-9
-1
5
46
55
56
29
1
0
0
0
0
0
0
31
16
3
49
8
-18
64
14
-14
4
0
0
0
0
0
0
0
-34
-18
-51
-20
1
-6
-18
-6
-45
0
-1
0
0
0
0
0
0
3
14
-5
-8
52
-34
27
19
0
-6
0
0
0
0
0
0
0
0
-2
-3
15
4
-55
9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
5
2
0
0
0
0
0
0
0
0
0
70
35
30
-44
55
-27
-48
0
34
-32
0
0
0
0
0
0
0
9
10
60
-13
-47
61
-31
36
65
-41
2
0
0
0
0
0
0
21
0
-24
-44
43
17
28
71
19
-3
0
0
0
0
0
0
0
11
9
-78
-4
-11
1
46
24
54
14
0
0
0
0
0
0
0
-38
-27
-10
11
84
-29
10
64
-18
0
0
0
0
0
0
0
0
4
-12
5
-2
40
29
-3
3
-66
0
0
0
0
0
0
0
0
-3
30
-14
-17
23
87
-10
13
0
0
0
0
0
0
0
0
0
-2
2
-2
13
-20
43
2
2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-3
14
0
5
18
-13
0
94
-13
0
0
0
0
0
0
0
0
41
6
2
13
48
-4
-56
23
40
0
0
0
0
0
0
0
0
21
-4
-2
28
9
7
-1
21
15
0
0
0
0
0
0
0
0
8
3
51
-5
38
17
68
60
19
0
0
0
0
0
0
0
0
25
-3
1
-47
-32
-28
-1
24
0
0
0
0
0
0
0
0
0
-6
-2
0
-8
42
-30
49
-1
4
0
0
0
0
0
0
0
0
0
0
3
-7
9
3
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
6
-3
5
0
0
0
0
0
0
0
0
2
0
0
1
2
19
1
-3
8
0
0
0
0
0
0
0
0
0
0
-2
5
5
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-24
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
29
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-23
0
0
0
0
0
0
0
0
0
0
2
0
0
13
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
19
-34
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
10
8
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-17
-32
-2
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
9
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-29
-16
-10
0
-12
0
0
0
0
0
0
0
0
-3
0
0
7
-6
-16
-9
31
33
0
0
0
0
0
0
0
-6
-6
0
-6
-1
-23
1
19
1
-15
0
0
0
0
0
0
0
0
1
5
0
-9
23
-43
-14
49
0
0
0
0
0
0
0
0
6
3
22
-1
-8
8
-6
16
14
0
0
0
0
0
0
0
0
0
5
1
0
14
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
8
-47
7
0
0
0
0
0
0
0
0
0
0
20
-1
-15
-13
5
59
-30
-53
-1
0
0
0
0
0
0
0
9
25
-1
48
-65
19
28
12
-112
8
0
0
0
0
0
0
0
55
8
0
23
-54
4
33
-5
-33
-7
0
0
0
0
0
0
0
-1
-18
-2
-29
7
-5
69
27
0
0
0
0
0
0
0
0
0
-3
-5
-10
28
-105
49
2
15
-17
0
0
0
0
0
0
0
0
10
10
14
7
72
-43
-2
5
0
0
0
0
0
0
0
0
0
0
9
0
1
-1
-65
23
0
7
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-7
7
-25
-13
-53
-70
42
0
12
0
0
0
0
0
0
0
-1
-17
6
4
-10
-3
-15
-52
29
10
7
0
0
0
0
0
0
87
14
30
25
-95
5
26
65
-14
-52
1
0
0
0
0
0
0
-21
-9
7
-3
-6
33
-38
79
4
5
-3
0
0
0
0
0
0
55
-38
20
21
23
44
-5
56
-3
-1
-5
0
0
0
0
0
0
-43
11
57
-7
-73
-21
-1
64
24
25
0
0
0
0
0
0
0
-13
3
-39
48
-50
-1
92
0
25
0
0
0
0
0
0
0
0
9
-2
-4
-31
-20
-39
-68
-34
0
1
0
0
0
0
0
0
0
0
0
0
0
-38
23
-5
0
0
0
0
0
0
0
0
0
0
0
3
-2
31
23
8
54
67
0
-14
0
0
0
0
0
0
0
0
14
-12
-49
1
73
-7
30
-93
6
-6
0
0
0
0
0
0
0
43
-13
0
13
-33
62
-3
76
52
17
0
0
0
0
0
0
0
63
-36
23
-70
23
23
-44
-38
-62
-8
0
0
0
0
0
0
0
-25
3
50
58
60
23
24
73
0
1
0
0
0
0
0
0
0
-42
-44
-8
-25
3
-8
42
51
-15
0
0
0
0
0
0
0
0
-7
-25
-8
-82
-14
37
10
-3
-13
0
0
0
0
0
0
0
0
1
-4
6
-13
46
59
50
26
0
0
0
0
0
0
0
0
0
0
13
0
0
3
-22
6
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
17
0
-6
0
0
0
0
0
0
0
0
0
15
-2
0
29
6
1
53
-25
-29
0
0
0
0
0
0
0
0
21
17
1
-4
48
20
33
6
3
0
0
0
0
0
0
0
0
55
1
7
38
-10
-4
3
-23
11
0
0
0
0
0
0
0
0
-4
0
5
4
54
8
-33
-2
-5
0
0
0
0
0
0
0
0
-12
3
-2
-14
30
28
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
-23
1
-6
-22
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-4
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-8
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
5
0
-2
0
0
0
0
0
0
0
0
0
0
-3
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-42
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-2
-28
-8
-2
0
0
0
0
0
0
0
0
-10
0
0
0
-3
8
15
-41
13
0
0
0
0
0
0
0
0
17
-17
-2
8
7
8
-22
0
-5
0
0
0
0
0
0
0
0
5
-7
0
-20
0
5
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
31
7
2
0
0
0
0
0
0
0
0
0
0
0
0
8
5
8
-33
-40
8
0
0
0
0
0
0
0
0
58
1
0
37
-12
15
43
50
44
-3
0
0
0
0
0
0
0
79
7
0
74
10
53
70
37
-95
0
0
0
0
0
0
0
0
-3
33
24
18
-51
2
3
1
19
3
0
0
0
0
0
0
0
19
-40
31
28
-4
-38
78
4
0
2
0
0
0
0
0
0
0
-30
-25
0
53
-20
0
-6
6
0
-3
0
0
0
0
0
0
0
13
-4
-9
62
27
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
66
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
-53
-5
20
3
0
0
0
0
0
0
0
0
0
-6
0
9
-5
1
-5
3
-3
-2
0
0
0
0
0
0
0
-1
0
0
19
10
2
-2
-35
3
0
0
0
0
0
0
0
0
5
-1
-5
9
-34
-21
-3
15
-2
0
0
0
0
0
0
0
0
0
0
-3
14
-15
10
0
13
0
0
0
0
0
0
0
0
0
0
0
1
5
-11
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
3
-5
40
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
80
-1
-2
0
0
0
0
0
0
0
0
0
0
0
5
-1
-8
73
-1
-8
0
0
-2
0
0
0
0
0
0
0
0
-10
-20
-12
21
4
15
0
-1
45
0
0
0
0
0
0
0
0
30
-8
-1
10
38
22
-24
4
61
0
0
0
0
0
0
0
0
-1
29
-9
24
-2
10
3
-2
1
0
0
0
0
0
0
0
0
0
1
-8
-16
23
7
-15
0
0
0
0
0
0
0
0
0
0
1
0
9
7
-21
0
0
0
-2
0
0
0
0
0
0
0
0
0
-25
0
-6
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-17
-19
8
-20
2
0
-6
0
0
0
0
0
0
0
0
108
9
1
-50
-20
-67
0
-12
0
0
0
0
0
0
0
0
-16
9
-25
-65
28
8
88
28
103
50
0
0
0
0
0
0
0
-1
-4
36
22
-2
-37
-29
-18
27
-56
0
0
0
0
0
0
0
-1
55
13
66
58
-1
49
-18
-16
23
0
0
0
0
0
0
0
0
16
-3
24
-38
7
10
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
-1
-32
-30
22
-25
-14
2
0
0
0
0
0
0
0
0
0
8
0
23
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
18
0
34
9
1
-22
1
0
-1
-3
0
0
0
0
0
0
-7
0
33
7
9
125
-10
0
0
0
-8
0
0
0
0
0
0
0
19
82
8
-19
73
-11
135
25
-31
-71
0
0
0
0
0
0
4
-11
46
46
-23
35
19
-7
7
-13
-84
0
0
0
0
0
0
0
68
51
34
17
-15
9
69
5
-22
-1
0
0
0
0
0
0
0
29
-13
-12
4
12
9
8
-22
13
0
0
0
0
0
0
0
0
0
-13
-20
42
20
9
-66
25
0
-8
0
0
0
0
0
0
0
0
2
40
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-4
9
0
0
0
0
0
4
0
0
0
0
0
10
-49
-1
68
0
41
-21
0
0
0
-14
0
0
0
0
0
0
0
0
-66
-52
77
-32
-13
13
-1
19
-33
9
0
0
0
0
0
-3
-10
55
77
9
53
15
74
43
18
15
1
0
0
0
0
0
0
-10
-38
21
92
-40
-21
0
53
-5
-3
-2
0
0
0
0
0
-2
0
42
49
32
-15
2
2
-36
-19
0
0
0
0
0
0
0
0
0
1
25
-41
4
8
1
1
0
-1
0
0
0
0
0
0
0
0
0
-5
8
-3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
14
44
5
72
0
-20
0
1
0
-15
0
0
0
0
0
0
0
0
-4
6
37
-10
-34
-26
11
19
-3
-3
0
0
0
0
0
-2
8
13
48
-1
76
24
8
-46
-15
-1
2
0
0
0
0
0
0
25
12
36
25
86
-5
5
0
-10
-4
0
0
0
0
0
0
0
-7
2
14
38
13
-12
6
2
-8
0
3
0
0
0
0
0
0
0
4
2
7
-17
2
2
0
0
0
0
0
0
0
0
0
0
0
0
19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-15
0
3
3
0
0
0
0
0
0
0
0
0
0
4
9
-25
-2
-19
0
0
19
0
-15
0
0
0
0
0
0
-15
5
-24
-24
-69
-8
-22
-2
30
-31
9
3
0
0
0
0
0
4
-33
1
-15
-69
76
-21
3
-2
16
5
0
0
0
0
0
0
0
2
20
20
-31
48
4
15
4
4
6
0
0
0
0
0
0
0
0
23
-7
1
-4
6
-22
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
9
0
1
0
0
2
0
0
0
0
0
0
0
1
-13
40
22
0
0
0
-12
0
-10
1
0
0
0
0
0
0
0
1
-46
-13
2
-27
-59
44
12
2
-2
0
0
0
0
0
0
-25
-41
-25
7
1
-15
19
2
-33
-1
0
0
0
0
0
0
0
2
12
4
-10
1
17
20
9
0
12
0
0
0
0
0
0
0
4
0
2
6
12
-13
-6
-18
2
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
-4
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-7
0
0
0
0
-21
6
0
0
0
0
0
0
0
-18
25
-65
-2
-13
2
3
5
-3
-1
0
0
0
0
0
0
-3
-9
-20
13
1
1
5
-4
-7
10
0
-6
0
0
0
0
0
3
2
3
-3
22
48
3
-12
-3
3
0
0
0
0
0
0
0
0
0
-1
0
-24
1
3
-3
0
5
0
0
0
0
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-2
18
9
-2
0
0
0
0
0
0
0
0
0
0
0
10
5
9
-7
33
-17
9
0
0
0
0
0
0
0
0
0
0
13
53
70
-14
33
24
19
67
-21
0
0
0
0
0
0
0
0
-1
-39
76
12
6
17
-40
1
-71
0
0
0
0
0
0
0
0
-31
-22
62
-75
-59
-19
32
1
25
0
0
0
0
0
0
0
0
0
16
73
25
31
6
-9
4
2
0
0
0
0
0
0
0
0
-1
15
-18
11
5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-61
-40
-25
25
1
0
15
0
0
0
0
0
0
0
15
52
-28
32
43
-7
0
0
-22
0
0
0
0
0
0
0
0
-2
45
-19
-72
55
-103
-1
-81
-11
-19
0
0
0
0
0
0
0
-20
30
-45
16
-28
3
22
89
86
-14
0
0
0
0
0
0
0
32
12
30
-43
39
55
4
-68
1
4
0
0
0
0
0
0
0
-7
127
-12
-16
-36
98
-19
48
20
40
0
0
0
0
0
0
0
-6
2
2
59
-61
41
41
18
40
12
0
0
0
0
0
0
0
0
1
9
-14
-69
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
5
-56
67
-50
-28
0
3
33
0
0
0
0
0
0
-6
3
58
-40
-12
68
-25
0
18
0
3
0
0
0
0
0
0
-3
17
19
119
15
3
44
78
41
62
-63
0
0
0
0
0
0
17
45
44
-34
-4
15
-11
126
59
55
10
0
0
0
0
0
0
0
-80
7
-82
-47
24
-7
-8
6
-39
11
0
0
0
0
0
0
5
20
-19
-26
-23
16
-6
50
-9
-10
-9
0
0
0
0
0
0
-9
-10
71
-69
12
-89
16
-15
2
3
0
0
0
0
0
0
0
0
0
0
6
27
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
19
1
51
-77
1
0
0
11
0
0
0
0
0
0
1
-5
32
29
47
31
17
0
-2
0
40
4
0
0
0
0
0
0
30
-37
-64
-15
-92
-70
3
-41
-18
8
5
0
0
0
0
0
1
40
-12
-89
12
-3
-51
1
30
96
-5
15
0
0
0
0
0
-5
-20
49
2
-24
-38
-97
-25
8
-47
-9
-3
0
0
0
0
0
-1
-2
22
29
76
-88
-18
74
40
50
2
0
0
0
0
0
0
0
0
-1
-23
-13
-1
21
8
-8
0
2
0
0
0
0
0
0
0
0
0
-2
5
1
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
45
2
19
0
-28
-19
0
-2
5
7
0
0
0
0
0
-31
11
-20
-29
0
-6
33
0
1
0
57
-2
0
0
0
0
0
15
2
13
7
-79
58
6
2
30
88
-84
-4
0
0
0
0
0
-1
-1
-20
0
84
-30
17
-18
-47
58
-4
0
-6
0
0
0
0
-1
15
-25
-42
-12
54
-10
-60
-9
33
-1
-1
0
0
0
0
0
0
10
-4
-30
33
37
0
-2
-1
10
-4
4
-2
0
0
0
0
0
0
-5
-19
-6
-44
-7
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
27
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-49
5
19
0
5
0
1
2
0
0
0
0
0
0
0
7
-5
-20
39
85
5
0
-5
0
-23
2
0
0
0
0
0
1
-40
-48
8
-4
57
-55
35
-6
10
57
-30
2
0
0
0
0
-5
8
3
-19
75
-40
-24
-36
69
2
-17
4
2
0
0
0
0
10
6
-32
-29
-22
-2
62
-43
6
-20
0
-1
0
0
0
0
0
0
4
1
7
51
40
-6
-10
-10
5
7
3
2
0
0
0
0
0
0
8
10
4
0
-4
-24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
40
-27
-8
-1
6
0
0
0
17
0
0
0
0
0
0
0
4
-14
-27
-16
44
22
0
-3
0
-43
4
0
0
0
0
0
1
7
21
9
-4
89
-45
9
16
21
16
-10
-4
0
0
0
0
-1
-5
44
-16
25
20
-19
-11
17
55
9
0
6
0
0
0
0
-5
9
-75
-41
56
39
35
25
-13
-24
-25
-8
0
0
0
0
0
-4
41
1
40
53
18
13
-20
-1
-23
-1
0
2
0
0
0
0
0
0
0
22
24
-13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
-1
0
0
0
2
6
0
0
0
0
0
0
0
0
8
-3
0
0
4
0
-1
0
26
3
0
0
0
0
0
0
-5
1
18
20
0
7
7
-29
-19
-3
0
0
0
0
0
0
0
1
-43
-33
3
17
25
4
-9
12
3
0
0
0
0
0
0
0
17
47
30
30
-9
91
-6
3
-19
-2
2
0
0
0
0
0
0
-1
4
13
0
12
8
3
1
-2
0
0
0
0
0
0
0
0
0
2
0
-4
9
-3
3
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
1
-1
-1
3
0
0
0
0
0
0
0
1
-13
21
6
-27
1
-6
-4
7
0
0
0
0
0
0
0
0
0
14
-3
-5
-5
21
0
2
0
2
0
0
0
0
0
0
0
0
0
0
3
2
-5
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
5
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-15
78
24
-27
0
0
0
0
0
0
0
0
0
0
0
10
16
-48
55
-1
17
-9
0
13
0
0
0
0
0
0
0
0
8
-23
-19
-18
61
25
36
37
-100
0
0
0
0
0
0
0
0
-28
-34
27
52
-39
74
-25
40
36
0
0
0
0
0
0
0
0
0
17
-32
-77
-23
-77
55
-4
42
0
0
0
0
0
0
0
0
3
87
30
5
-74
22
-31
-7
1
0
0
0
0
0
0
0
0
-10
-2
18
29
8
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
25
0
-89
-88
22
8
17
0
4
0
0
0
0
0
0
0
-4
-17
-23
-29
39
-3
-66
0
33
0
0
0
0
0
0
0
0
5
82
68
23
-20
24
-63
25
26
-100
0
0
0
0
0
0
0
-2
33
-65
-21
-4
-43
-11
19
21
-44
0
0
0
0
0
0
0
-25
9
0
-55
-48
74
11
48
111
67
0
0
0
0
0
0
0
0
45
19
9
-82
-57
17
28
10
30
0
0
0
0
0
0
0
0
5
39
-65
9
-2
84
-22
-1
-7
0
0
0
0
0
0
0
0
0
25
30
19
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-39
-14
-1
17
-4
3
0
5
-67
0
0
0
0
0
0
-25
22
5
50
14
48
24
0
28
0
44
0
0
0
0
0
0
10
1
103
23
-5
17
-61
93
56
-26
-93
0
0
0
0
0
0
13
-5
-34
18
51
-39
18
100
42
-14
22
0
0
0
0
0
0
0
67
23
-6
23
18
-38
16
22
26
-7
0
0
0
0
0
0
0
-44
-22
4
111
-15
-2
-2
24
-26
1
0
0
0
0
0
0
0
-1
100
15
-21
45
-5
13
-3
0
0
0
0
0
0
0
0
0
0
1
-2
1
40
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
43
40
63
-5
33
8
0
0
-34
0
0
0
0
0
0
0
30
10
-22
27
47
82
0
-9
0
-14
-4
0
0
0
0
0
-4
7
-52
13
55
24
-32
47
15
46
25
-4
0
0
0
0
0
-6
-17
-6
25
19
-25
-34
6
0
6
12
-5
0
0
0
0
0
10
0
7
43
31
-85
16
0
18
1
1
0
0
0
0
0
0
0
1
-72
31
42
-53
5
90
10
6
3
0
0
0
0
0
0
0
-2
-5
-41
12
5
-4
25
6
0
0
0
0
0
0
0
0
0
0
-36
0
5
-8
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
12
6
-34
41
-1
0
-2
2
0
0
0
0
0
0
4
-2
47
-4
-15
92
19
0
-1
0
-5
-13
1
0
0
0
0
0
8
26
-3
12
-43
1
-5
3
-15
19
-55
0
0
0
0
0
-2
-1
27
-42
-8
-42
67
-12
-1
5
12
-1
0
0
0
0
0
-4
-1
0
66
-2
3
29
15
18
3
-10
-6
0
0
0
0
0
0
15
21
62
6
5
9
-7
-5
0
-8
0
0
0
0
0
0
0
1
6
-1
52
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-16
-40
-10
71
0
0
3
0
2
0
0
0
0
0
-3
9
-28
5
-4
7
-32
0
6
0
-42
3
-5
0
0
0
0
-8
-1
53
-3
5
5
22
25
18
-57
42
-2
-1
0
0
0
0
0
-14
-17
-7
-28
-16
78
-17
2
-16
10
1
-1
0
0
0
0
0
-36
20
-80
23
10
-16
-2
16
-1
0
0
0
0
0
0
0
0
-7
8
-10
17
13
-2
4
-15
0
-2
-1
0
0
0
0
0
0
0
-25
-4
-2
1
-5
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
30
-25
-10
36
0
0
-3
0
0
0
0
0
0
0
-4
-5
-18
46
60
0
-3
0
-10
0
4
-5
1
0
0
0
0
0
0
2
-27
18
49
-1
-21
-12
14
1
-2
0
0
0
0
0
0
13
-34
31
0
-10
-10
8
6
-16
8
0
2
0
0
0
0
-6
5
-19
31
-17
-11
-39
-13
31
-4
-1
0
0
0
0
0
0
0
-1
34
1
24
-25
22
-24
0
1
-2
0
0
0
0
0
0
0
0
27
-22
10
-18
1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
27
-1
13
0
0
-2
0
0
0
0
0
0
0
0
8
-9
-2
18
-29
0
0
-1
0
40
-4
0
0
0
0
0
-4
-23
15
1
-9
4
-13
0
-5
-7
-2
0
0
-4
0
0
0
0
2
-4
3
-16
4
-6
-25
3
5
-8
0
2
0
0
0
0
0
-17
-8
-108
-3
-25
-22
-1
-55
-6
5
0
0
0
0
0
0
0
0
-4
12
3
32
-12
0
-1
3
2
0
0
0
0
0
0
0
0
8
2
8
-25
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
-7
31
7
0
0
0
5
0
0
0
0
0
0
0
6
30
-6
8
7
-1
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
-3
-14
21
1
2
-12
2
0
0
0
0
0
0
0
-2
8
8
14
2
34
2
-30
13
0
-1
0
0
0
0
0
0
0
8
-9
9
15
-3
0
0
-1
5
0
0
0
0
0
0
0
0
0
-16
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
3
5
-4
0
0
0
1
0
0
0
0
0
0
0
0
7
2
0
4
24
0
0
0
0
2
0
0
0
0
0
0
-5
3
5
31
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
25
2
7
27
4
0
-2
0
0
0
0
0
0
0
0
0
-3
10
-10
-25
8
5
0
-2
1
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-24
34
4
33
-3
1
0
0
0
0
0
0
0
0
0
36
-5
-69
5
39
15
1
0
-11
0
0
0
0
0
0
0
0
25
-10
-21
44
-4
86
-25
21
12
0
0
0
0
0
0
0
0
-1
54
14
5
-50
19
-9
-15
42
0
0
0
0
0
0
0
0
7
29
57
40
-36
40
-72
2
1
0
0
0
0
0
0
0
0
-3
-23
5
-2
38
-92
-5
1
1
0
0
0
0
0
0
0
0
0
34
-48
-16
-16
-14
0
0
5
0
0
0
0
0
0
0
0
0
-13
1
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
12
-78
-23
-16
-15
-46
-2
0
0
0
0
0
0
0
0
0
52
3
43
-11
33
-23
-36
0
-15
0
0
0
0
0
0
0
0
29
53
-8
-41
-33
55
-31
-28
64
1
0
0
0
0
0
0
0
42
12
65
13
24
-46
-83
-136
5
27
0
0
0
0
0
0
0
0
-18
28
-34
-88
43
-16
16
-16
15
0
0
0
0
0
0
0
4
9
-5
23
-86
37
-1
4
-45
-35
0
0
0
0
0
0
0
0
5
-38
-17
6
-7
44
5
-7
-6
0
0
0
0
0
0
0
0
0
-3
52
-10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
-63
-15
59
-49
55
-13
0
20
0
0
0
0
0
0
0
0
49
2
-30
42
-61
37
0
9
0
-13
0
0
0
0
0
0
33
21
-13
5
40
80
-9
51
-73
-54
-38
0
0
0
0
0
0
3
-52
39
-11
48
-42
14
7
12
57
-4
0
0
0
0
0
0
10
2
27
33
57
44
44
-32
6
82
-4
0
0
0
0
0
0
0
77
34
47
-43
-36
-18
15
30
45
0
0
0
0
0
0
0
0
-13
-11
-39
-2
-39
-15
-55
-5
3
0
0
0
0
0
0
0
-1
0
13
-42
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-22
23
62
113
-32
1
0
-10
3
0
0
0
0
0
0
8
-24
83
-25
26
-87
-7
0
-9
0
-17
-5
0
0
0
0
0
3
20
26
-21
30
34
-31
-70
-57
20
-12
8
0
0
0
0
0
1
-8
23
0
94
19
-3
34
-20
-25
-17
1
0
0
0
0
0
0
8
-22
-72
15
-7
-36
4
22
27
24
-2
0
0
0
0
0
0
-16
-35
23
-34
38
36
34
-5
15
-5
0
0
0
0
0
0
0
12
24
-13
-28
-21
-3
5
0
0
0
0
0
0
0
0
0
0
0
5
18
9
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
68
-43
-55
-4
0
0
5
4
7
0
0
0
0
0
3
26
-10
-5
3
-28
75
0
-9
0
-46
2
1
0
0
0
0
0
-46
-39
-7
-55
8
23
67
30
16
-93
19
0
0
0
0
0
0
18
13
44
0
30
-22
-3
9
43
-6
-1
0
0
0
0
0
0
27
16
0
-50
3
-54
35
29
-4
-32
0
0
0
0
0
0
0
-12
1
6
-21
-21
-48
12
-13
8
0
0
0
0
0
0
0
0
0
22
-43
-34
32
25
0
3
0
0
0
0
0
0
0
0
0
0
12
6
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
52
-5
22
-6
0
0
-1
0
0
0
0
0
0
0
5
-10
-8
18
7
-30
0
3
0
12
-13
6
0
0
0
0
0
-2
-9
6
-3
7
-8
51
-42
22
7
8
0
0
0
0
0
0
48
-31
13
2
0
-15
-7
-1
8
-8
0
0
0
0
0
0
0
3
31
18
-3
15
0
8
0
-6
0
0
0
0
0
0
0
0
8
17
-20
8
16
-15
8
0
-1
0
0
0
0
0
0
0
0
0
0
38
3
2
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-87
32
1
0
-9
0
0
-2
-1
0
0
0
0
0
0
0
25
4
-9
4
-44
46
0
0
0
5
1
0
0
0
0
0
0
4
8
-51
37
-6
14
7
-13
-9
-12
0
0
0
0
0
0
-1
0
17
1
10
43
0
8
1
6
-3
1
0
0
0
0
0
0
3
-41
6
-76
2
8
-1
2
-6
0
0
0
0
0
0
0
0
2
-17
-21
-1
60
-3
0
-33
1
-2
0
0
0
0
0
0
0
0
-16
2
15
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
-45
2
0
0
0
0
0
0
0
0
0
0
0
-6
-42
20
8
-30
-6
-4
0
0
0
-1
2
0
0
0
0
0
0
17
-37
9
20
-29
6
5
-3
16
1
0
0
0
0
0
0
0
-2
-15
-9
-19
10
1
0
8
-8
0
0
3
0
0
0
0
0
0
4
-22
7
39
0
-3
0
27
0
0
0
0
0
0
0
0
0
3
-8
-85
2
7
1
0
-3
0
0
0
0
0
0
0
0
-7
6
47
3
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
20
2
-33
-5
24
0
0
0
0
0
0
0
0
0
0
0
4
-5
-11
30
5
-3
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-31
-3
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
5
9
8
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
8
29
0
-8
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
4
30
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-9
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
0
8
-4
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-8
0
-6
2
12
12
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
-6
3
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
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
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-54
58
16
37
-24
2
0
0
0
0
0
0
0
0
0
0
21
8
22
6
13
7
-17
0
-15
0
0
0
0
0
0
0
0
26
9
-6
13
44
-49
13
8
24
0
0
0
0
0
0
0
0
28
13
38
22
-41
27
-43
-7
-6
0
0
0
0
0
0
0
0
0
-13
-14
55
-49
16
-6
0
3
0
0
0
0
0
0
0
0
-1
0
49
-25
14
-32
-13
-4
-29
0
0
0
0
0
0
0
0
-2
-4
-5
40
4
1
-1
0
1
0
0
0
0
0
0
0
0
0
22
-2
36
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
67
1
24
102
18
10
0
0
1
0
0
0
0
0
0
0
3
-9
-21
20
-37
74
8
0
-58
0
0
0
0
0
0
0
0
-89
-39
49
-8
-2
-34
-24
-18
-40
17
0
0
0
0
0
0
0
0
-4
58
32
-85
-105
-28
12
-40
-12
0
0
0
0
0
0
0
-1
0
-47
-33
-11
20
-39
-3
7
39
0
0
0
0
0
0
0
0
64
30
-24
21
68
12
6
24
31
0
0
0
0
0
0
0
0
-1
64
-24
6
72
-86
-25
25
14
0
0
0
0
0
0
0
0
-5
2
47
-32
-22
0
3
1
0
0
0
0
0
0
0
0
0
-2
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-78
-56
95
0
-14
-2
-6
0
6
-1
0
0
0
0
0
0
4
-17
-19
-3
-28
46
-39
0
32
0
64
0
0
0
0
0
0
0
10
-55
-8
6
43
-23
-69
-34
-3
-9
0
0
0
0
0
0
-46
8
34
34
-15
-13
27
68
-17
-32
2
0
0
0
0
0
0
1
44
0
67
29
48
-23
-6
-1
-43
0
0
0
0
0
0
0
0
0
45
6
-9
-53
-22
20
24
6
2
0
0
0
0
0
0
0
-24
-49
-44
20
-43
-8
41
-2
15
0
0
0
0
0
0
0
0
-2
10
4
41
21
8
12
7
0
0
0
0
0
0
0
0
1
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
44
-41
13
29
39
2
0
2
10
0
0
0
0
0
0
0
71
106
38
-16
2
6
0
-19
0
61
5
0
0
0
0
0
0
-14
-44
8
16
9
-81
60
-4
64
-46
-12
0
0
0
0
0
0
56
6
27
16
52
28
-24
-11
81
-18
-6
0
0
0
0
0
-2
-2
-32
0
-60
-32
-36
31
57
-4
0
0
0
0
0
0
0
0
-6
0
-23
-1
-53
6
76
-42
8
-3
0
0
0
0
0
0
0
0
30
-11
-9
-65
88
5
-14
14
0
0
0
0
0
0
0
0
0
7
-8
-75
-22
-3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
-1
49
19
-3
-22
0
0
-3
0
0
0
0
0
0
-5
2
1
-11
39
-90
-20
0
-8
0
22
-3
0
0
0
0
0
0
2
24
153
0
-11
-13
-65
-21
-32
26
-3
0
0
0
0
0
0
36
14
0
16
2
155
-5
24
16
-14
0
0
0
0
0
0
0
-7
49
-26
0
-4
26
23
25
41
0
0
0
0
0
0
0
0
-8
7
1
38
-3
-1
10
1
3
0
0
0
0
0
0
0
0
-22
-1
27
-67
-5
8
0
24
3
0
0
0
0
0
0
0
0
-3
0
-4
-41
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-27
14
10
-13
-1
0
0
0
0
0
0
0
0
0
0
7
-24
29
30
-41
0
0
-3
0
18
-4
-3
0
0
0
0
0
6
13
-24
48
-21
-11
-15
3
-34
0
1
0
0
0
0
0
0
42
9
0
-2
1
4
-15
17
-6
2
3
0
0
0
0
0
0
23
14
-19
82
0
-19
-20
16
0
0
0
0
0
0
0
0
0
-1
-13
33
0
30
1
1
-7
5
0
0
0
0
0
0
0
0
0
24
-2
8
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-47
-13
-24
-8
19
3
0
0
1
0
0
0
0
0
0
0
3
-5
19
-7
-67
4
0
-1
0
3
0
0
0
0
0
0
-8
9
14
-1
-23
32
-5
5
44
8
-4
2
-1
0
0
0
0
0
-6
-9
6
-21
0
25
0
-29
-29
-6
0
0
0
0
0
0
0
-1
-5
-3
-10
-25
0
5
6
-1
0
0
0
0
0
0
0
0
0
-4
38
-29
0
17
-2
25
-2
0
0
0
0
0
0
0
0
0
-1
48
0
15
3
-2
1
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
0
0
0
0
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
-3
5
18
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
24
27
4
-13
8
0
0
0
0
0
0
0
0
0
0
0
2
36
13
24
-41
18
1
3
29
0
2
0
0
0
0
0
0
10
17
-1
6
22
2
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
19
-2
-24
-4
0
-12
24
0
0
0
0
0
0
0
0
4
-16
17
-29
32
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-38
-8
-1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-14
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-3
-3
4
10
0
0
0
0
0
0
0
0
0
0
0
-14
24
16
21
18
2
0
0
0
0
0
0
0
0
0
0
0
5
6
-1
-1
-8
0
-5
-5
-5
0
0
0
0
0
0
0
0
0
-5
-4
-2
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
10
7
8
-7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
1
5
-8
4
0
0
1
0
0
0
0
0
0
0
0
-2
5
30
7
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
9
-20
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
6
13
-34
-6
-13
-4
0
-4
0
0
0
0
0
0
0
0
0
0
8
-4
3
29
2
8
0
-2
0
0
0
0
0
0
0
0
0
1
-4
2
-1
0
9
4
0
0
0
0
0
0
0
0
0
0
2
29
4
-14
9
-4
0
0
0
0
0
0
0
0
0
0
5
-6
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
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
-1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
24
-17
35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
69
-13
-24
2
0
29
0
0
0
0
0
0
0
0
-1
-22
-29
-44
47
44
15
-30
-79
0
0
0
0
0
0
0
0
-27
3
71
-8
123
-25
11
-33
-37
0
0
0
0
0
0
0
0
-22
0
47
8
-8
-13
19
10
-65
0
0
0
0
0
0
0
0
0
-5
28
-12
28
48
12
-24
5
0
0
0
0
0
0
0
0
1
0
-32
-52
22
0
1
25
-6
0
0
0
0
0
0
0
0
0
32
-1
21
-2
9
-4
0
0
0
0
0
0
0
0
0
0
0
-12
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
17
16
-8
-6
-4
0
0
-28
0
0
0
0
0
0
0
-3
93
31
-24
-40
60
8
0
65
0
0
0
0
0
0
0
0
9
-4
-45
-92
-50
-139
-34
51
7
-70
0
0
0
0
0
0
0
6
41
45
1
-38
30
-18
-73
31
31
0
0
0
0
0
0
0
0
50
8
-67
-17
-27
-6
11
45
67
0
0
0
0
0
0
0
0
0
6
-39
-24
53
3
17
6
41
0
0
0
0
0
0
0
0
-3
0
11
18
44
5
-1
1
8
0
0
0
0
0
0
0
-4
-8
29
-31
-17
19
-11
18
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
62
38
88
36
-41
-1
0
-4
-5
0
0
0
0
0
0
-2
39
-30
26
-35
76
21
0
-8
0
23
0
0
0
0
0
0
-30
4
44
22
-1
-39
-27
-51
102
-28
3
0
0
0
0
0
0
-2
-4
-5
-10
-7
-58
-76
2
-20
11
24
0
0
0
0
0
0
-10
3
-8
2
15
23
167
-20
29
-17
7
0
0
0
0
0
0
0
1
0
3
-24
-52
47
50
-24
16
-2
0
0
0
0
0
0
4
0
13
-24
36
61
43
8
-2
-5
0
0
0
0
0
0
0
0
3
-16
-24
20
19
-5
5
4
0
0
0
0
0
0
0
0
0
-7
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
38
20
81
12
-53
67
15
0
8
-5
-4
0
0
0
0
0
1
7
-61
6
-61
66
-45
0
-32
0
-51
0
0
0
0
0
0
-8
-20
21
10
-13
-15
-15
42
30
5
-3
1
0
0
0
0
0
6
-7
63
-27
34
-49
40
-18
26
-17
3
0
0
0
0
0
0
-3
-40
-2
31
22
38
4
83
-19
13
-9
0
0
0
0
0
0
1
12
-34
0
-23
37
64
25
40
-7
2
0
0
0
0
0
0
0
-2
1
-21
2
2
-27
14
0
1
0
0
0
0
0
0
0
0
0
29
7
13
-6
-3
-8
0
0
0
0
0
0
0
0
0
0
7
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
94
-2
-6
18
0
-9
0
0
0
0
0
0
0
0
0
0
14
61
31
33
-3
-29
0
1
0
6
-1
0
0
0
0
0
0
-1
-74
59
97
55
-29
4
31
-24
2
-36
0
0
0
0
0
1
-31
4
27
1
47
-7
52
-10
22
15
1
0
0
0
0
0
0
1
25
-1
7
1
14
-1
-9
-71
-4
0
0
0
0
0
0
0
-2
-15
-13
0
78
-5
12
5
-5
0
0
0
0
0
0
0
0
0
-24
0
-13
4
34
-17
-7
1
0
0
0
0
0
0
0
0
-1
0
-8
-16
5
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
-6
5
5
3
0
0
0
-3
0
0
0
0
0
0
0
19
-55
5
-4
-40
32
0
2
0
1
5
0
0
0
0
0
0
4
13
-15
-17
-25
5
-9
-2
21
12
1
0
0
0
0
0
0
8
5
12
33
57
-14
22
38
-2
10
-1
0
0
0
0
0
0
-13
-9
4
5
27
0
-19
5
4
0
0
0
0
0
0
0
0
-6
0
-2
24
0
9
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
2
3
0
-1
2
0
0
0
0
0
0
0
0
0
-3
0
3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
-19
0
-10
0
0
0
0
0
0
0
0
0
0
0
-18
42
6
5
-6
-1
0
0
0
10
0
0
0
0
0
0
-3
3
24
16
-5
13
2
1
6
29
0
0
0
0
0
0
0
-1
-12
6
-20
24
46
23
10
3
0
0
-7
0
0
0
0
0
0
-19
9
-12
9
0
5
0
8
0
4
0
0
0
0
0
0
0
-4
1
10
1
-10
0
-10
0
-1
0
0
0
0
0
0
0
0
0
-3
24
-19
0
4
0
-5
10
0
0
0
0
0
0
0
0
0
-9
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
14
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
8
45
-5
6
41
2
0
0
0
-3
0
0
0
0
0
0
0
-12
-12
22
-8
6
2
0
3
2
1
0
0
0
0
0
0
0
-9
2
-8
36
-17
28
-4
5
-2
-1
0
0
0
0
0
0
0
0
-6
23
20
22
-3
-1
0
0
0
0
0
0
0
0
0
0
29
-3
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-10
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
8
5
0
0
0
0
1
0
0
0
0
0
0
0
-6
-16
2
0
0
25
0
0
0
0
0
0
0
0
0
0
0
-8
25
-17
-8
29
3
9
-4
0
0
0
0
0
0
0
0
0
6
3
-36
-68
49
-1
-10
0
3
0
0
0
0
0
0
0
0
8
-4
-7
-7
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
0
1
1
15
7
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
-2
-2
0
0
1
14
0
0
0
0
0
0
0
0
0
0
8
0
14
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
7
5
-8
41
0
0
0
0
0
0
0
0
0
0
0
18
13
34
23
6
-9
7
0
-25
0
0
0
0
0
0
0
0
-14
46
-56
-40
13
34
13
0
-29
0
0
0
0
0
0
0
0
-1
-58
6
22
-32
-14
-17
4
41
0
0
0
0
0
0
0
0
24
-1
22
10
-29
-5
6
7
-13
0
0
0
0
0
0
0
0
1
8
-6
27
-64
44
-17
-14
-12
0
0
0
0
0
0
0
0
0
9
44
-2
8
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
4
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
81
34
31
-20
-14
74
0
0
0
0
0
0
0
0
0
0
0
-11
-84
-20
-40
43
-63
0
19
0
0
0
0
0
0
0
0
43
-11
44
-73
-46
82
35
25
87
41
0
0
0
0
0
0
0
-13
8
4
-57
14
-10
-113
24
-6
89
0
0
0
0
0
0
0
17
16
-11
-53
-16
19
-70
-40
-4
-55
0
0
0
0
0
0
0
0
27
9
-70
-2
1
76
-29
9
-59
0
0
0
0
0
0
0
1
0
-41
42
33
4
65
33
0
2
0
0
0
0
0
0
0
0
41
2
-6
1
2
1
-3
-3
-1
0
0
0
0
0
0
0
0
-14
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
48
52
-83
12
-7
-2
0
0
7
0
0
0
0
0
0
-8
39
51
39
71
35
23
0
-4
0
21
0
0
0
0
0
0
-4
-40
30
56
9
59
-55
13
-76
-43
-21
0
0
0
0
0
0
0
38
14
-35
16
-45
34
-17
-30
20
1
0
0
0
0
0
0
0
2
20
-11
-45
53
-1
68
-12
36
-29
0
0
0
0
0
0
0
1
42
15
91
-43
48
13
18
-10
-7
0
0
0
0
0
0
-2
8
0
9
10
1
-4
-8
22
29
0
0
0
0
0
0
0
7
0
15
1
58
-36
-10
-8
-2
0
0
0
0
0
0
0
0
0
41
-10
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-25
-7
-3
-32
-4
0
-2
-19
0
0
0
0
0
0
0
27
9
-10
55
-21
-45
0
0
0
-42
3
0
0
0
0
0
0
-15
-26
31
4
-37
30
8
10
-2
-67
1
0
0
0
0
0
0
55
-8
-15
78
2
35
-33
42
-17
-13
-2
0
0
0
0
0
0
-2
13
103
-92
31
-94
41
-15
60
17
0
0
0
0
0
0
0
44
2
-26
0
57
13
-45
6
-36
-8
0
0
0
0
0
0
0
-2
-78
0
16
13
7
13
3
-20
0
0
0
0
0
0
0
0
-8
0
23
0
-28
17
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
16
-12
-5
-3
0
0
0
4
0
0
0
0
0
0
0
-30
69
14
33
31
-42
0
13
0
1
-2
0
0
0
0
0
0
0
-37
-31
5
30
-16
0
-1
-18
13
-1
0
0
0
0
0
0
0
-2
-2
40
-47
-25
13
-8
3
0
4
0
0
0
0
0
0
-3
-5
33
8
-6
-29
-5
0
8
-1
0
0
0
0
0
0
0
19
-2
1
-7
9
10
2
8
-1
2
0
0
0
0
0
0
0
0
0
-5
0
-3
9
0
-2
0
7
0
0
0
0
0
0
0
0
4
0
6
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
-17
-4
-15
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-30
25
-50
5
-24
30
3
0
0
0
0
0
0
0
23
3
10
-22
22
-29
-3
0
2
0
0
0
0
0
0
0
0
-1
-10
3
-7
-13
-1
3
-1
-1
10
0
0
0
0
0
0
0
-24
0
-25
2
30
0
4
6
-4
-1
0
0
0
0
0
0
0
0
1
0
-12
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
16
-3
4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-80
-8
22
2
0
1
0
18
0
0
0
0
0
0
0
0
-1
0
0
-30
40
9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
8
-2
3
0
0
3
0
0
0
0
0
0
2
-12
0
6
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
29
12
-8
0
0
0
2
0
0
0
0
0
0
0
0
23
-2
-17
-16
6
0
8
17
0
0
0
0
0
0
0
0
9
-8
-1
-1
27
-4
0
-15
0
0
0
0
0
0
0
0
0
2
-7
-25
-50
1
-8
1
0
-4
-1
0
0
0
0
0
0
0
0
7
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-5
1
9
0
0
0
0
0
0
0
0
0
0
0
-2
2
22
-5
0
0
0
0
73
0
0
0
0
0
0
0
0
-12
-3
-3
-8
22
-7
7
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-2
1
12
9
0
-9
0
0
0
0
0
0
0
0
0
-4
1
6
-24
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
-30
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-30
-32
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-8
3
29
-5
2
0
0
0
0
0
0
0
0
0
0
19
22
36
-15
47
-2
-5
-2
-14
0
0
0
0
0
0
0
0
16
-73
16
-31
-24
28
-89
-1
-39
0
0
0
0
0
0
0
0
59
-34
-94
10
-32
-79
-30
10
81
0
0
0
0
0
0
0
0
4
36
3
-57
-8
54
56
-2
31
0
0
0
0
0
0
0
0
1
0
-55
3
85
-6
9
-19
53
0
0
0
0
0
0
0
0
0
-55
-13
3
0
7
5
8
-23
0
0
0
0
0
0
0
0
0
0
-8
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-53
-5
-15
4
-47
-1
0
0
0
0
0
0
0
0
0
0
-36
28
-82
-53
10
-9
0
-2
0
0
0
0
0
0
0
0
-15
-22
-125
-45
5
-27
-85
-10
-19
-49
0
0
0
0
0
0
0
-2
-39
-51
-28
-54
13
-49
-3
-19
-74
0
0
0
0
0
0
0
-12
47
-20
-1
-1
-18
6
2
95
74
0
0
0
0
0
0
0
0
-5
-57
60
11
-21
44
-46
9
37
0
0
0
0
0
0
0
0
-1
-3
8
22
13
30
58
-22
1
0
0
0
0
0
0
0
0
0
-14
-27
40
-6
-1
-8
0
2
0
0
0
0
0
0
0
0
-4
0
-9
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-2
17
15
8
7
0
0
0
0
0
0
0
0
0
0
0
48
-4
-4
26
-10
-2
0
0
0
-16
0
0
0
0
0
0
24
-6
30
-24
39
46
-27
10
-43
9
19
0
0
0
0
0
0
1
19
7
-26
-71
30
45
-33
4
-64
20
0
0
0
0
0
0
-8
-9
34
67
41
-28
-5
-19
2
-8
24
0
0
0
0
0
0
0
-34
16
-53
14
17
-46
-33
-29
109
27
0
0
0
0
0
0
0
0
-41
0
28
33
-21
32
23
13
-4
0
0
0
0
0
0
0
27
0
8
-12
-10
3
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-21
-1
5
20
0
0
8
0
0
0
0
0
0
0
-5
-9
-18
14
41
44
0
0
0
-2
0
0
0
0
0
0
0
17
43
-14
35
23
-6
-10
-8
45
9
0
0
0
0
0
0
0
-44
-2
-27
0
-21
14
-2
57
49
-5
-4
0
0
0
0
0
0
-2
-9
9
-38
-37
-7
16
-23
4
-4
0
0
0
0
0
0
0
-3
-29
11
71
-31
-3
-23
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-7
-42
-10
1
-3
0
0
0
0
0
0
0
0
0
-2
0
5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
-9
4
-1
-30
1
13
0
0
0
0
0
0
0
0
0
0
-3
0
2
1
27
8
-14
0
0
0
-4
1
0
0
0
0
0
0
25
1
-16
16
1
-19
-17
-3
-1
0
0
0
0
0
0
0
0
0
-5
43
25
15
-22
0
-6
12
0
0
0
0
0
0
0
0
-7
0
-7
8
-22
1
-7
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
8
-3
7
-3
0
0
2
0
0
0
0
0
0
0
0
0
5
-36
-34
-1
-1
0
-4
-5
0
0
0
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-9
0
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
14
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
1
-3
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
23
8
7
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-1
-1
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-15
-48
2
0
-19
-21
0
0
-5
0
0
0
0
0
0
0
0
1
-11
6
-8
3
-43
2
0
-5
0
0
0
0
0
0
0
0
0
16
-16
-6
-20
-23
-30
-1
22
0
0
0
0
0
0
0
0
3
-58
9
-36
35
51
22
2
-30
0
0
0
0
0
0
0
0
0
-50
25
-25
28
-4
-5
8
-2
0
0
0
0
0
0
0
0
0
0
-44
-15
-5
56
4
16
0
0
0
0
0
0
0
0
0
0
3
-7
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-16
41
-2
5
0
0
0
0
0
0
0
0
0
0
25
1
-23
32
2
-7
-1
0
-3
-76
0
0
0
0
0
0
0
0
60
-32
3
-64
3
0
-1
18
-11
0
0
0
0
0
0
0
4
5
-26
4
-66
-3
-38
30
-8
0
0
0
0
0
0
0
0
0
-12
38
-28
4
46
-2
19
5
6
0
0
0
0
0
0
0
1
0
-5
1
0
25
9
5
8
0
0
0
0
0
0
0
0
0
0
0
-42
15
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
13
33
-7
0
-2
0
0
12
0
0
0
0
0
0
0
0
-23
2
-2
-7
-8
16
-3
-3
-7
0
0
0
0
0
0
0
7
-5
-24
-2
42
13
-14
2
2
0
-5
0
0
0
0
0
0
0
-1
6
5
-14
-6
-15
-15
-5
-8
-6
0
0
0
0
0
0
0
0
5
6
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-16
2
0
0
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-2
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
-20
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
18
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
2
-15
-9
0
0
0
0
0
0
0
0
0
8
-8
8
-9
-6
19
-31
-36
-21
0
0
0
0
0
0
0
0
1
0
0
-10
0
15
-22
28
24
0
0
0
0
0
0
0
0
-7
-3
1
-4
-4
9
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-8
8
-8
20
0
-36
0
0
0
0
0
0
0
-19
12
11
36
-38
95
54
95
47
37
0
0
0
0
0
0
0
-2
15
-5
30
15
8
106
59
74
24
0
0
0
0
0
0
0
4
-3
0
71
-53
31
6
77
-15
20
0
0
0
0
0
0
0
0
-34
-2
6
-28
-38
-41
-33
37
-2
0
0
0
0
0
0
0
0
-18
1
0
3
-118
-1
43
24
-8
0
0
0
0
0
0
0
0
1
-2
0
11
-4
-5
-8
9
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
7
-20
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
-21
0
-3
-6
-32
-26
18
0
17
-1
0
0
0
0
0
0
-2
2
24
-75
1
-18
41
19
17
-11
2
0
0
0
0
0
0
1
2
-6
0
-3
64
80
-35
-70
58
5
0
0
0
0
0
0
-2
-3
0
9
-32
0
-2
5
22
10
-6
0
0
0
0
0
0
2
0
-5
13
5
-17
-18
0
-1
-24
-5
0
0
0
0
0
0
0
6
13
0
-3
1
7
-13
29
7
0
0
0
0
0
0
0
0
0
1
0
20
24
0
48
5
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
6
-8
0
-5
-1
46
-9
0
-41
0
0
0
0
0
0
0
0
6
5
2
13
-31
0
-78
-18
9
6
-6
0
0
0
0
0
0
-4
0
-3
-29
24
3
16
16
-1
7
0
0
0
0
0
0
0
2
-5
10
0
-52
18
47
-18
-20
2
0
0
0
0
0
0
0
0
0
29
0
0
0
-28
19
1
0
0
0
0
0
0
0
0
0
3
0
-7
6
63
-42
-1
-3
-7
0
0
0
0
0
0
0
0
0
-3
-1
5
-31
1
2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
0
-2
8
-8
0
29
0
0
0
0
0
0
0
2
6
-8
0
-7
-24
65
-39
-30
5
10
0
0
0
0
0
0
0
7
13
3
5
13
4
72
-4
-1
0
0
0
0
0
0
0
0
-8
0
1
0
3
-19
14
-3
-2
0
0
0
0
0
0
0
0
-1
-5
4
0
1
-25
-9
-8
-3
0
0
0
0
0
0
0
0
0
-3
0
12
2
7
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
14
21
0
10
-2
0
0
0
0
0
0
-2
15
14
2
8
17
28
-1
-54
-8
-3
0
0
0
0
0
0
-1
-1
-14
9
9
-23
-24
-8
46
2
0
0
0
0
0
0
0
0
0
0
8
0
-22
-6
18
3
-16
-4
0
0
0
0
0
0
0
-1
0
0
-5
-8
1
-2
-8
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-15
3
15
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
8
-2
0
16
0
7
1
0
0
0
0
0
0
-5
0
0
6
42
0
-2
92
-29
0
4
-2
0
0
0
0
0
0
3
0
0
-23
-15
-24
41
-6
4
0
-1
0
0
0
0
0
0
0
2
3
0
-3
2
-40
13
-1
0
4
0
0
0
0
0
0
0
0
16
-2
5
14
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-4
0
0
0
0
0
0
0
0
0
1
5
-4
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
6
0
0
0
0
12
0
0
0
0
0
0
-2
-4
-1
-3
-2
-5
1
-1
-8
0
-9
0
0
0
0
0
0
0
0
-2
1
2
14
17
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
25
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-33
-4
-43
-54
45
16
0
0
0
0
0
0
0
0
0
95
-1
67
-6
-34
18
-1
-51
20
0
0
0
0
0
0
0
0
42
10
-12
30
12
29
25
56
-4
0
0
0
0
0
0
0
0
-6
1
0
8
7
15
-24
7
10
0
0
0
0
0
0
0
0
30
0
0
8
68
-14
36
-5
19
0
0
0
0
0
0
0
0
0
0
0
2
13
16
10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-6
-18
-3
59
27
-26
0
-43
0
0
0
0
0
0
0
-27
39
-54
-2
-13
-20
71
14
-57
-93
0
0
0
0
0
0
0
4
-44
-5
89
48
11
-3
-54
-87
-7
0
0
0
0
0
0
0
4
-16
-23
-16
33
-67
-28
98
-20
-28
0
0
0
0
0
0
0
1
21
2
13
-87
-31
91
41
22
20
0
0
0
0
0
0
0
0
-82
6
0
59
27
-31
6
-11
30
0
0
0
0
0
0
0
0
-2
2
4
-41
-4
-37
-38
-26
2
0
0
0
0
0
0
0
0
-8
0
8
1
13
18
-22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
22
30
-8
45
-57
0
24
15
0
-11
-18
0
0
0
0
0
0
3
28
8
44
133
29
-49
-2
16
-44
34
0
0
0
0
0
0
-9
16
-1
-47
39
58
-1
8
40
-26
-4
0
0
0
0
0
0
-8
-42
-14
-17
33
-75
54
-25
21
-48
27
0
0
0
0
0
0
-3
32
29
-4
17
13
29
72
-1
-30
-13
0
0
0
0
0
0
0
4
13
0
-5
-17
-4
-26
-13
17
6
0
0
0
0
0
0
0
0
25
3
18
-17
56
0
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-6
36
-11
-18
-51
0
28
19
-3
0
0
0
0
0
0
7
-1
15
-34
73
56
39
-9
-17
-20
-1
0
0
0
0
0
8
-3
-2
44
109
22
-58
13
-4
-21
-42
2
0
0
0
0
0
4
13
-15
16
-40
-6
21
-47
-26
4
0
0
0
0
0
0
0
0
-33
-5
8
-8
-16
-66
-13
-32
34
-3
1
0
0
0
0
0
0
2
16
0
0
41
7
-22
21
3
1
0
0
0
0
0
0
0
0
0
8
10
-2
15
1
-6
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-30
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
-10
7
15
-1
16
23
0
-62
1
1
0
0
0
0
0
8
-13
23
-1
2
32
-20
3
3
53
4
15
0
0
0
0
0
1
-18
-9
-2
20
-36
-6
-8
-22
20
-2
-1
0
0
0
0
0
0
-15
3
19
-14
45
0
-61
21
30
2
0
0
0
0
0
0
0
0
7
0
1
1
-42
19
31
-5
13
5
0
0
0
0
0
0
-2
-5
4
-1
-3
-8
13
24
0
1
0
0
0
0
0
0
0
0
0
0
-1
58
-10
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
-6
2
15
2
0
14
0
24
2
0
0
0
0
0
0
0
-5
5
3
30
3
-9
15
39
51
-18
3
1
0
0
0
0
-5
44
8
25
-24
44
-33
37
-16
-39
-2
0
0
0
0
0
0
1
1
0
-3
2
-27
41
8
-7
22
13
1
0
0
0
0
0
0
0
1
-3
0
-9
13
12
14
-1
0
-2
3
0
0
0
0
0
0
4
3
0
0
42
-10
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-4
-4
-21
47
10
47
2
0
31
2
0
0
0
0
0
0
-1
4
-6
-23
60
6
-1
52
-18
9
-5
-5
1
0
0
0
0
0
8
5
-8
-26
29
40
0
28
-5
16
1
0
0
0
0
0
-1
4
-3
-4
-8
-27
-25
27
-19
-4
-17
1
0
0
0
0
0
-5
5
-6
-3
0
8
25
-7
-7
6
-3
2
0
0
0
0
0
0
-4
2
0
0
0
-3
30
48
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
7
-5
-6
7
-3
7
0
0
0
0
0
0
0
-1
0
0
0
-8
-7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
29
16
0
-4
1
0
0
0
0
0
0
-2
2
8
-8
-13
-32
-6
1
8
6
-39
0
-1
0
0
0
0
-4
1
7
1
-5
0
-19
-1
6
7
-4
-3
1
0
0
0
0
0
-3
5
5
-5
17
-7
0
-8
5
0
0
0
0
0
0
0
0
0
1
7
-1
5
16
-1
-31
-2
0
0
0
0
0
0
0
0
0
19
0
-4
-6
4
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
8
1
4
4
0
-1
0
0
0
0
0
0
0
0
2
0
0
17
-9
5
3
5
-1
5
0
0
0
0
0
0
0
14
0
-4
5
-1
58
-16
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
24
4
1
0
0
0
0
0
0
0
0
12
0
12
4
0
30
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
6
3
-55
-35
49
-63
0
0
0
0
0
0
0
0
0
57
10
43
-5
19
97
40
14
27
0
0
0
0
0
0
0
0
-2
7
0
-4
-48
-76
4
4
-42
0
0
0
0
0
0
0
0
44
6
23
78
-28
47
-30
21
6
0
0
0
0
0
0
0
0
13
0
-1
-47
32
-8
7
7
5
0
0
0
0
0
0
0
0
0
0
0
-8
7
-9
4
24
20
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-58
-25
31
87
1
-24
40
0
-42
0
0
0
0
0
0
0
-1
8
60
-2
-6
-20
-46
0
-17
1
0
0
0
0
0
0
0
20
-16
-36
6
67
-82
5
-47
-10
31
0
0
0
0
0
0
0
7
-3
4
34
-8
52
-47
40
3
16
0
0
0
0
0
0
0
4
23
-14
20
46
11
-14
71
13
-5
0
0
0
0
0
0
0
0
0
24
1
14
68
12
-32
-22
4
0
0
0
0
0
0
0
3
0
-25
0
11
-1
91
16
-45
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
8
19
-47
78
-39
27
0
5
6
0
0
0
0
0
0
4
-19
-9
-4
-18
-32
41
4
26
12
36
0
0
0
0
0
0
-3
-24
-6
-33
1
-67
28
36
62
56
8
0
0
0
0
0
0
5
-23
-13
3
1
24
53
47
-8
-14
-3
0
0
0
0
0
0
-5
0
4
21
-18
7
15
-26
-30
48
2
0
0
0
0
0
0
0
-2
0
3
-4
-5
-20
6
22
-4
0
0
0
0
0
0
0
0
1
4
7
-21
-5
-11
-24
-1
7
0
0
0
0
0
0
0
0
-1
0
0
0
3
4
4
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
3
-12
67
-28
-50
0
2
5
8
0
0
0
0
0
-13
55
29
40
-62
-13
38
11
37
-45
16
9
0
0
0
0
0
0
-32
47
-1
21
-54
-24
8
-44
-1
-5
3
0
0
0
0
0
-1
0
69
3
37
87
25
46
38
22
0
0
0
0
0
0
0
-9
7
0
-20
37
-11
70
68
30
-51
0
0
0
0
0
0
0
0
6
2
-12
-1
26
41
25
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
2
0
14
-3
19
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
58
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
-8
0
11
-31
0
-16
-12
0
0
0
0
0
0
-2
31
-22
-14
73
24
29
51
-10
18
-34
0
0
0
0
0
0
0
0
5
-48
0
37
-39
-25
47
31
-1
0
0
0
0
0
0
-5
0
-5
4
-22
-3
37
-55
31
10
-16
0
0
0
0
0
0
-2
-7
-6
-2
6
62
14
-41
-1
18
3
0
0
0
0
0
0
0
0
-7
0
-1
16
8
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
5
0
0
0
0
0
0
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
1
-8
29
0
39
3
0
0
0
0
0
0
3
-1
4
-2
-2
-6
-43
48
39
15
-5
3
0
0
0
0
0
0
-4
-1
21
-4
-1
-11
52
32
-23
0
3
0
0
0
0
0
2
27
-2
4
20
37
-6
-17
-52
-6
-6
0
0
0
0
0
0
4
0
1
0
12
-19
-38
-9
1
3
1
0
0
0
0
0
0
0
0
0
-1
0
3
6
-25
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
15
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
4
0
4
-4
1
0
0
7
-4
0
0
0
0
0
0
3
0
1
-6
14
11
59
-20
5
-1
0
0
0
0
0
0
0
0
-3
-22
2
-14
-4
10
-10
13
0
0
0
0
0
0
0
0
8
-1
-9
53
-10
12
-25
-40
7
0
0
0
0
0
0
0
0
2
-4
-4
-3
20
30
9
-2
2
0
0
0
0
0
0
0
0
0
-2
0
1
1
-29
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
10
-9
0
-2
0
6
0
0
0
0
0
0
7
12
1
-66
40
3
-8
-26
4
2
0
0
0
0
0
0
0
0
0
1
-6
1
10
0
6
13
4
0
0
0
0
0
0
0
-1
-3
8
10
-8
29
14
21
-25
0
0
0
0
0
0
0
0
1
-5
-2
3
6
0
3
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
1
8
0
2
1
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
-1
0
20
0
0
0
0
0
0
0
0
0
2
-3
-15
-11
-27
-7
16
0
1
0
0
0
0
0
0
0
-1
4
-1
17
13
50
43
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
14
9
-25
0
0
0
0
0
0
0
0
0
0
5
0
-1
5
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-9
5
-8
-8
0
-1
0
0
0
0
0
0
0
0
0
3
0
-7
-2
-9
-25
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
4
5
5
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
3
1
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
-2
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
12
2
9
-65
-2
-49
0
0
0
0
0
0
0
0
0
19
13
-8
15
5
25
41
43
7
0
0
0
0
0
0
0
0
19
-10
-3
-40
16
10
-88
46
-26
0
0
0
0
0
0
0
0
0
-1
48
23
26
-11
42
-2
-2
0
0
0
0
0
0
0
0
-3
2
-4
19
6
-39
-8
2
6
0
0
0
0
0
0
0
0
-3
6
1
5
4
-31
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
-16
46
64
47
12
0
-42
0
0
0
0
0
0
0
-8
-23
56
-5
-38
27
-35
-1
2
27
0
0
0
0
0
0
0
40
49
59
59
34
91
25
-26
-51
-46
0
0
0
0
0
0
0
-6
-12
45
14
5
36
-165
-19
50
97
0
0
0
0
0
0
0
-12
32
-5
-7
-12
-4
-49
8
-5
-3
0
0
0
0
0
0
0
0
-2
13
-22
-61
110
-14
-13
-74
-1
0
0
0
0
0
0
0
0
-4
1
-3
0
-30
-36
1
-51
8
0
0
0
0
0
0
0
0
0
0
-5
0
-6
-17
21
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
2
-5
6
25
-49
-14
0
-4
-2
0
0
0
0
0
0
1
-25
5
-5
24
31
37
14
-36
-24
-13
0
0
0
0
0
0
-2
51
-2
-14
68
-23
60
23
74
63
1
0
0
0
0
0
0
9
-12
-3
-41
38
-24
-44
-3
-19
22
12
0
0
0
0
0
0
23
-5
-4
11
-7
-18
31
-84
15
21
0
0
0
0
0
0
0
0
-23
-9
-48
21
-11
5
11
4
6
0
0
0
0
0
0
0
0
13
6
0
34
3
-33
-42
-33
-5
0
0
0
0
0
0
0
0
0
-1
0
0
-3
8
7
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
-1
5
46
50
-31
-76
0
98
-16
0
0
0
0
0
0
0
-24
-21
-14
5
-53
-86
12
-20
72
32
-1
0
0
0
0
0
1
-13
14
-6
-97
43
45
70
-33
-43
-7
-6
0
0
0
0
0
0
-14
57
0
32
100
30
40
-100
-44
5
0
0
0
0
0
0
0
1
-2
-9
71
36
9
-7
23
-19
-1
0
0
0
0
0
0
0
2
0
-30
3
22
-16
27
-28
6
0
0
0
0
0
0
0
0
3
0
0
0
-5
44
8
48
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
10
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
6
-1
-4
30
151
-59
0
-48
-18
0
0
0
0
0
0
0
0
3
4
-4
54
-14
-47
-51
102
-22
-1
0
0
0
0
0
0
0
6
-22
6
-3
-19
9
54
12
-2
3
0
0
0
0
0
0
0
-2
27
0
4
56
-13
-47
39
-1
0
0
0
0
0
0
1
0
0
0
-6
33
4
3
24
-5
0
0
0
0
0
0
0
0
0
0
-14
0
-41
10
4
4
-10
-6
0
0
0
0
0
0
0
0
1
6
3
6
24
1
5
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-11
17
0
-17
6
2
0
0
0
0
0
0
-8
0
0
-4
6
17
15
6
6
-5
0
0
0
0
0
0
0
0
0
-16
-9
-47
-3
-10
32
-14
2
0
0
0
0
0
0
0
0
-18
-1
-13
0
-6
7
-8
66
0
0
0
0
0
0
0
0
-3
-1
-50
9
34
-22
20
0
-9
0
0
0
0
0
0
0
0
0
-2
0
1
15
0
-2
3
2
1
0
0
0
0
0
0
0
0
-3
-5
1
-2
23
5
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
5
-24
32
0
0
-3
0
0
0
0
0
0
0
-1
4
33
-3
38
-10
40
1
0
3
1
0
0
0
0
0
0
-1
-2
-2
-3
-5
-14
0
40
41
0
0
0
0
0
0
0
0
0
4
-8
19
47
0
12
19
20
0
0
0
0
0
0
0
0
-1
-5
-1
-7
0
-6
22
-6
-1
0
0
0
0
0
0
0
0
7
0
0
0
38
8
38
5
0
0
0
0
0
0
0
0
0
-5
-8
0
-6
1
3
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
-4
-1
-5
0
29
0
0
0
0
0
0
0
0
-1
3
0
3
1
-16
25
50
-5
0
0
0
0
0
0
0
0
-7
3
-3
15
5
22
46
-24
4
0
0
0
0
0
0
0
0
0
-1
-20
12
22
-30
0
-8
-8
0
0
0
0
0
0
0
0
0
1
-8
-16
-1
9
-8
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
-6
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-7
2
0
0
0
0
0
0
0
0
7
0
0
1
38
10
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
16
-10
-1
6
5
0
0
0
0
0
0
0
-14
0
0
0
0
-36
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
-12
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
13
-3
20
3
-1
0
0
0
0
0
0
0
0
5
0
0
0
-1
-1
-24
1
-6
0
0
0
0
0
0
0
0
-4
1
0
-4
4
0
0
14
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-16
-23
-10
12
-7
0
0
0
0
0
0
0
0
0
43
-21
6
-25
19
71
-84
-64
-32
0
0
0
0
0
0
0
0
2
-1
40
-23
-31
-23
1
5
-16
0
0
0
0
0
0
0
0
7
-6
34
56
-19
47
-41
27
-7
0
0
0
0
0
0
0
0
0
-3
-7
28
11
-24
-48
-29
-8
0
0
0
0
0
0
0
0
5
0
1
-43
22
3
-24
3
0
0
0
0
0
0
0
0
0
0
6
0
0
-30
1
26
0
1
0
0
0
0
0
0
0
0
0
0
6
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
-5
1
-19
19
9
-11
0
22
0
0
0
0
0
0
0
8
-60
-4
-42
-48
-51
-2
-13
-52
-38
0
0
0
0
0
0
0
-17
-15
-18
23
-65
-67
15
26
28
-54
0
0
0
0
0
0
0
33
-15
3
-18
-27
117
8
-30
-42
-16
0
0
0
0
0
0
0
13
0
51
-7
46
53
27
-17
-38
-27
0
0
0
0
0
0
0
0
31
-42
-15
30
-75
85
-5
-43
0
0
0
0
0
0
0
0
1
7
2
0
-3
-19
-19
21
-29
0
0
0
0
0
0
0
0
0
1
-7
17
0
4
-5
-9
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
-3
-6
-6
7
-31
22
11
-6
0
125
-3
0
0
0
0
0
0
1
-41
-21
-13
3
-49
11
52
-21
45
48
0
0
0
0
0
0
1
4
42
53
45
51
59
-44
6
-27
12
0
0
0
0
0
0
38
61
44
67
-6
35
9
-4
55
24
18
0
0
0
0
0
0
1
65
0
31
-53
-22
95
-3
15
-18
1
0
0
0
0
0
0
0
0
4
-23
-83
-6
10
-38
-33
-4
-8
0
0
0
0
0
0
0
-1
14
-8
41
41
41
33
43
29
0
0
0
0
0
0
0
0
0
-4
0
0
5
31
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-9
0
-21
48
45
46
8
0
1
44
0
0
0
0
0
0
0
-22
41
9
-2
38
62
28
-5
21
75
0
0
0
0
0
0
0
-3
41
18
71
-67
52
30
16
20
71
0
0
0
0
0
0
0
-3
2
-25
-4
9
6
-49
28
2
-1
-1
0
0
0
0
0
2
1
-8
0
-22
6
-17
-6
-6
-2
8
0
0
0
0
0
0
0
1
-1
-6
-11
26
-80
-81
-9
14
0
0
0
0
0
0
0
0
0
-1
5
16
24
-22
60
-18
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
26
6
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
3
0
2
-6
-44
-16
0
28
0
0
0
0
0
0
0
0
-3
-8
1
-14
2
-23
-78
-24
21
9
4
0
0
0
0
0
0
1
0
41
-24
-77
-23
-26
63
1
-6
0
0
0
0
0
0
0
3
2
0
2
29
2
-39
15
23
0
1
0
0
0
0
0
1
0
2
29
0
-25
6
23
8
2
0
0
0
0
0
0
0
0
2
27
0
-6
27
4
49
14
33
0
0
0
0
0
0
0
0
0
0
1
23
-2
-13
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
15
-13
-6
0
2
16
0
0
0
0
0
0
0
6
2
-8
14
40
32
14
40
-5
-14
0
0
0
0
0
0
0
6
0
4
-34
-13
-4
30
42
40
-2
4
0
0
0
0
0
0
0
0
-6
4
-25
-23
-24
75
-56
-13
0
0
0
0
0
0
-6
30
7
0
8
0
44
4
66
12
0
0
0
0
0
0
0
0
0
0
-14
-2
10
-13
8
8
-10
-6
0
0
0
0
0
0
0
0
0
0
7
6
-8
-1
12
0
-2
0
0
0
0
0
0
0
0
6
5
0
-1
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-25
34
0
6
0
0
0
0
0
0
0
0
-3
0
0
10
8
-5
41
11
-2
2
0
0
0
0
0
0
0
0
-7
0
-25
7
-23
-5
-20
7
0
0
0
0
0
0
0
2
0
2
0
-29
6
33
-5
0
12
0
-1
0
0
0
0
0
0
13
-2
-1
27
-1
0
13
29
0
-2
0
0
0
0
0
0
0
6
16
-7
13
1
12
20
2
-4
2
0
0
0
0
0
0
0
0
0
-3
-7
0
13
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
5
-8
0
6
0
0
0
0
0
0
0
0
0
0
9
-13
34
-15
0
-3
-1
0
0
0
0
0
0
0
0
5
1
3
23
3
-14
-58
3
-2
-1
0
0
0
0
0
0
0
0
0
8
23
-15
-5
11
-6
12
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
13
3
-9
-2
-14
0
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
22
-23
18
0
0
0
0
0
0
0
0
0
0
13
0
-2
-6
-14
9
4
1
0
0
0
0
0
0
0
14
0
-6
8
41
85
13
0
-5
0
0
0
0
0
0
0
0
0
0
-5
-12
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
-1
6
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-6
-1
8
3
-1
0
0
0
0
0
0
0
0
0
0
1
-1
8
-2
20
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
24
-1
-30
-23
-11
0
0
0
0
0
0
0
0
0
5
-1
0
-37
35
30
32
12
-44
0
0
0
0
0
0
0
0
9
2
-8
7
1
-5
-13
-64
44
0
0
0
0
0
0
0
0
4
9
44
53
-25
-18
-7
10
-18
0
0
0
0
0
0
0
0
-7
-13
-2
41
8
-13
16
8
15
0
0
0
0
0
0
0
0
0
43
1
36
55
-21
8
34
0
0
0
0
0
0
0
0
0
-10
8
6
6
67
-10
-9
34
8
0
0
0
0
0
0
0
0
0
0
0
-26
-2
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-6
5
16
27
43
-17
13
35
0
28
0
0
0
0
0
0
0
10
-24
34
-14
31
44
24
2
-66
10
0
0
0
0
0
0
0
2
39
-14
-9
13
4
-41
-3
49
-10
0
0
0
0
0
0
0
0
89
15
20
14
-38
-13
0
-64
7
0
0
0
0
0
0
0
2
12
-8
123
0
45
38
47
5
54
0
0
0
0
0
0
0
-1
0
-15
18
41
19
3
-7
-42
15
0
0
0
0
0
0
0
1
-34
-1
4
-3
12
75
13
-4
-1
0
0
0
0
0
0
0
0
-1
2
-14
-3
23
28
51
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
3
0
0
0
0
0
0
0
0
0
5
-2
-16
0
-2
-11
52
71
0
-10
-30
0
0
0
0
0
0
-2
-8
42
28
-10
-28
-31
44
38
-13
-13
0
0
0
0
0
0
-1
8
-13
-13
-23
44
119
-28
-19
94
24
0
0
0
0
0
0
8
43
-19
64
81
53
81
15
16
43
5
0
0
0
0
0
0
-4
-45
6
7
47
-44
107
-20
-3
53
0
0
0
0
0
0
0
17
-63
0
14
-57
-57
43
64
-29
46
0
0
0
0
0
0
0
-2
0
-36
25
-25
22
-48
44
82
-5
0
0
0
0
0
0
0
0
0
-14
-3
0
24
21
49
-13
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-12
0
0
0
0
0
0
0
0
2
8
-1
2
24
7
-12
-53
0
32
9
1
0
0
0
0
0
2
45
-25
8
27
17
4
-28
-50
-13
-9
-5
0
0
0
0
0
0
-3
8
1
73
-39
-1
29
4
-21
-25
0
0
0
0
0
0
2
90
-3
0
-10
-24
15
23
-18
47
29
0
0
0
0
0
0
0
-21
-2
-29
23
49
-3
-27
51
12
5
0
0
0
0
0
0
0
51
3
0
7
-47
52
9
42
16
0
0
0
0
0
0
0
0
-43
1
55
-25
-14
-24
-31
-14
6
6
0
0
0
0
0
0
0
0
2
-5
0
-2
-8
-20
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-7
-32
19
15
0
-14
8
0
0
0
0
0
0
0
2
8
-31
-1
-31
9
27
-37
-48
0
0
0
0
0
0
0
0
1
0
7
21
33
71
-40
13
8
9
0
0
0
0
0
0
0
-1
0
-1
5
-5
7
28
-53
16
-2
0
0
0
0
0
0
0
0
4
13
-48
20
48
-29
16
-15
0
-1
0
0
0
0
0
0
6
51
-24
0
-11
41
26
-5
-5
0
0
0
0
0
0
0
-1
0
1
0
7
0
21
8
0
0
1
0
0
0
0
0
0
0
0
0
1
-2
-2
17
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-5
32
-24
0
-5
0
0
0
0
0
0
0
0
-1
0
-4
3
-4
13
6
-5
-2
-2
0
0
0
0
0
0
0
0
-5
0
0
0
4
-16
-24
-20
3
0
0
0
0
0
0
0
0
-1
49
22
30
48
41
-8
25
10
0
0
0
0
0
0
1
-12
4
4
-18
23
18
40
65
3
0
0
0
0
0
0
0
0
10
-4
1
1
0
-14
-13
-2
0
0
0
0
0
0
0
0
-2
0
-14
8
0
-8
2
9
-3
2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
-9
0
0
0
0
0
0
0
0
-1
0
1
17
-17
72
-41
15
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
9
-30
0
0
0
0
0
0
0
0
0
-2
0
0
3
12
4
-12
-2
-27
0
0
0
0
0
0
0
0
-3
-9
0
-3
5
48
8
33
4
0
0
0
0
0
0
0
0
0
5
0
0
4
0
23
0
22
0
0
0
0
0
0
0
0
0
0
-1
0
2
20
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-29
3
0
-1
2
0
0
0
0
0
0
-3
0
-6
0
-8
0
0
19
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
17
-8
-5
-12
-6
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
4
-9
-7
5
3
0
0
0
0
0
0
0
8
0
7
0
-36
17
8
3
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
3
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
43
9
-16
-25
-7
0
0
0
0
0
0
0
0
-2
0
1
0
3
-3
-4
-13
0
0
0
0
0
0
0
0
0
-1
0
4
-25
24
-8
33
-2
-22
0
0
0
0
0
0
0
0
0
0
0
-7
5
82
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
1
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
1
5
-34
-8
39
5
0
0
0
0
0
0
0
0
0
44
12
-7
-23
34
75
-17
45
25
0
0
0
0
0
0
0
0
-13
0
-4
27
-13
33
34
-58
-3
0
0
0
0
0
0
0
0
-20
7
-1
13
-43
76
10
19
25
0
0
0
0
0
0
0
0
-1
1
5
-57
-17
-5
24
-2
29
0
0
0
0
0
0
0
0
20
4
-15
43
5
12
-22
-5
-1
0
0
0
0
0
0
0
0
0
0
4
2
77
47
-13
-9
-1
0
0
0
0
0
0
0
0
0
0
-2
29
-9
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
-28
-5
6
75
42
-11
-21
0
2
0
0
0
0
0
0
0
-1
-33
-31
-27
-98
-20
-74
11
-38
3
0
0
0
0
0
0
0
0
47
-6
7
14
8
-33
15
-2
-16
0
0
0
0
0
0
0
7
12
44
26
-6
62
27
33
16
-9
0
0
0
0
0
0
0
0
58
26
-4
28
38
51
95
-43
-16
0
0
0
0
0
0
0
12
-23
-2
3
-18
75
-8
-102
-18
-50
0
0
0
0
0
0
0
-4
0
1
13
-26
-30
6
-33
1
12
0
0
0
0
0
0
0
0
1
12
-38
8
7
-33
1
5
-9
0
0
0
0
0
0
0
2
0
0
0
4
-1
3
-2
0
0
0
0
0
0
0
0
0
0
-3
25
-2
9
-2
43
-54
0
23
4
0
0
0
0
0
0
-1
-36
-22
-5
17
-4
44
2
37
22
-5
0
0
0
0
0
0
-2
29
16
-4
44
25
-20
4
16
-23
3
0
0
0
0
0
0
0
-31
-4
-7
33
12
-16
-16
24
52
6
0
0
0
0
0
0
0
-10
-5
39
-16
-20
79
-7
-14
10
-1
0
0
0
0
0
0
-3
-7
4
27
12
55
-14
16
76
45
-8
0
0
0
0
0
0
14
13
0
0
-57
5
2
-1
61
-12
0
0
0
0
0
0
0
0
0
-4
6
-10
7
32
-20
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
3
-6
-14
42
88
0
20
5
-1
0
0
0
0
0
0
-7
-5
-5
-26
-44
31
24
14
4
-9
4
0
0
0
0
0
0
-5
1
-10
3
-3
46
37
-14
45
-17
0
0
0
0
0
0
0
-4
0
-2
4
17
-29
-40
11
-31
-9
0
0
0
0
0
0
0
5
-4
-3
-24
55
61
-79
-7
66
-1
0
0
0
0
0
0
1
-9
2
33
23
101
50
-83
6
-5
7
0
0
0
0
0
0
0
0
71
0
12
-7
-56
42
-23
3
0
0
0
0
0
0
0
0
10
0
-5
0
12
-8
-29
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
6
-7
5
24
-24
0
64
13
0
0
0
0
0
0
0
0
0
2
-8
38
13
-11
5
25
25
-1
0
0
0
0
0
0
-1
0
5
-3
-7
64
-6
22
32
0
0
0
0
0
0
0
0
-9
0
-1
-2
12
-29
4
-7
6
1
0
0
0
0
0
0
0
-4
0
0
-7
43
10
22
-3
2
-5
0
0
0
0
0
0
0
0
-3
-1
-2
-29
-20
-22
8
17
0
3
0
0
0
0
0
0
0
0
0
0
-22
14
-9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
2
0
-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
7
-4
-2
0
-41
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-10
5
7
-36
-8
-2
0
0
0
0
0
0
0
0
0
10
-8
-2
8
4
-1
0
0
0
0
0
0
0
0
0
-2
0
0
10
1
25
47
-34
0
0
0
0
0
0
0
0
0
0
0
25
1
25
1
-4
0
-5
0
0
0
0
0
0
0
0
0
0
14
-11
8
24
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-5
0
23
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
7
-4
16
0
0
0
0
0
0
0
0
0
0
1
0
0
23
-6
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
23
3
49
1
-9
0
0
0
0
0
0
0
0
8
0
1
-1
12
-19
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
2
0
0
-1
0
0
0
0
0
0
0
19
0
1
-1
-6
-7
-28
-17
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-8
3
5
8
0
0
0
0
0
0
0
0
0
0
0
0
9
0
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
-6
9
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
8
3
-18
10
-10
0
0
0
0
0
0
0
0
2
0
9
-1
-3
-5
0
34
0
0
0
0
0
0
0
0
0
0
-3
0
-20
4
-1
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
-3
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
-2
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-9
1
0
0
0
0
0
0
0
0
0
3
0
5
-15
1
-35
-43
14
50
0
0
0
0
0
0
0
0
-3
0
0
51
37
7
39
13
-21
0
0
0
0
0
0
0
0
52
-2
-1
-7
-41
-14
-3
-33
-11
0
0
0
0
0
0
0
0
25
1
6
-3
-22
57
-43
-8
28
0
0
0
0
0
0
0
0
25
6
-21
-90
-37
31
2
-28
-3
0
0
0
0
0
0
0
0
-1
8
31
69
69
3
-55
-18
48
0
0
0
0
0
0
0
0
0
0
-2
12
-11
4
-25
13
0
0
0
0
0
0
0
0
0
-4
-3
0
0
12
0
-18
0
0
0
0
0
0
0
0
0
0
0
13
-3
24
35
-4
37
0
0
1
0
0
0
0
0
0
0
0
40
20
-54
-8
52
88
-64
-78
-23
0
0
0
0
0
0
0
0
32
15
0
-34
-41
-71
-75
86
37
0
0
0
0
0
0
0
-2
-33
-14
-9
-9
18
-24
-60
12
80
0
0
0
0
0
0
0
0
21
13
16
65
41
15
15
-8
-49
0
0
0
0
0
0
0
0
-50
-11
87
84
-77
42
-15
-36
16
0
0
0
0
0
0
0
-8
-2
-16
7
-20
-26
16
-38
-53
5
0
0
0
0
0
0
0
0
0
-2
43
13
-20
50
-27
-6
27
0
0
0
0
0
0
0
0
0
0
3
0
6
5
-18
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
19
30
0
-14
1
0
0
0
0
0
0
0
-14
13
0
-8
11
1
41
9
-20
20
0
0
0
0
0
0
-8
0
5
0
13
55
54
-26
18
19
-51
0
0
0
0
0
0
0
22
2
-9
12
-27
79
2
39
-29
8
0
0
0
0
0
0
0
-8
-9
20
4
-25
-2
13
-6
4
18
0
0
0
0
0
0
0
20
7
-7
39
-19
44
-48
25
-23
-3
0
0
0
0
0
0
0
0
-1
17
-26
-56
2
-6
33
25
0
0
0
0
0
0
0
0
38
0
23
-1
56
-19
2
-15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-15
9
0
12
0
0
0
0
0
0
0
0
7
-12
8
0
3
10
-44
58
84
-30
3
0
0
0
0
0
0
-2
0
-1
34
32
-13
-4
-77
24
-3
1
0
0
0
0
0
0
-3
0
0
20
2
-5
58
-53
33
-5
0
0
0
0
0
0
0
1
0
1
-25
-24
16
45
-18
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
24
-34
34
-23
99
4
0
0
0
0
0
0
0
0
0
19
10
13
29
1
-19
-3
-34
13
0
0
0
0
0
0
0
-5
-1
0
1
-7
-3
-32
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
25
1
-18
0
2
7
0
0
0
0
0
0
0
0
0
1
1
1
28
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-18
-5
2
-1
0
0
0
0
0
0
0
3
0
2
-1
-15
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-3
4
50
12
2
0
0
0
0
0
0
0
0
1
0
7
-17
4
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
35
3
-33
0
0
0
0
0
0
0
0
0
13
0
0
0
21
-3
-24
10
-15
0
0
0
0
0
0
0
0
-6
0
0
63
13
-14
1
-32
8
0
0
0
0
0
0
0
0
2
3
6
10
-11
12
31
6
15
0
0
0
0
0
0
0
0
0
88
-33
91
4
69
-14
52
0
0
0
0
0
0
0
0
0
-4
0
0
-12
78
24
-25
-9
16
0
0
0
0
0
0
0
0
0
0
8
49
1
38
0
-2
0
0
0
0
0
0
0
0
0
0
-1
4
0
-6
8
14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
3
8
25
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
67
-69
15
12
0
0
0
0
0
0
0
0
-9
0
-8
5
-59
4
16
-1
2
0
0
0
0
0
0
0
-5
0
-1
0
25
2
-1
0
-17
1
0
0
0
0
0
0
0
0
16
7
63
-12
47
-50
0
-3
0
0
0
0
0
0
0
0
0
0
4
12
24
43
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
-10
-17
32
-1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
36
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-10
12
21
4
0
0
0
0
0
0
0
0
-2
-5
0
0
-5
-6
-2
24
2
2
0
0
0
0
0
0
0
0
0
0
2
19
46
-23
17
-20
0
0
0
0
0
0
0
0
-1
0
3
0
1
45
6
13
8
-5
0
0
0
0
0
0
0
0
0
-58
4
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
8
5
-30
-12
-4
28
0
1
0
0
0
0
0
0
0
0
0
9
-1
13
3
18
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
3
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
20
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
6
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-29
9
-51
-4
0
0
0
0
0
0
0
0
0
-4
-9
58
-9
-12
-38
-14
-47
0
0
0
0
0
0
0
0
0
0
0
-16
-22
56
-2
36
11
0
0
0
0
0
0
0
0
0
0
0
0
-19
-48
-8
33
13
0
0
0
0
0
0
0
0
0
0
0
5
0
17
-47
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
-29
26
4
44
0
0
0
0
0
0
0
0
0
0
0
49
-39
27
-98
-42
-3
0
0
0
0
0
0
0
0
0
0
0
5
10
-4
-2
-72
2
46
-82
-8
0
0
0
0
0
0
0
0
-53
21
45
-81
61
10
43
-62
1
0
0
0
0
0
0
0
0
-5
53
22
46
28
58
73
47
20
0
0
0
0
0
0
0
0
-9
-6
-18
-15
2
-59
38
50
-61
0
0
0
0
0
0
0
0
0
0
49
34
107
-47
34
-25
24
0
0
0
0
0
0
0
0
0
0
12
-23
16
7
-4
16
52
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-19
0
0
0
0
0
0
0
0
0
0
0
47
21
-47
89
0
0
0
-13
0
0
0
0
0
0
0
-23
-25
71
-1
-45
19
0
0
0
78
0
0
0
0
0
0
0
29
22
-32
-27
52
13
-37
-101
-100
14
0
0
0
0
0
0
0
29
36
7
-50
-111
47
-60
2
-66
11
0
0
0
0
0
0
0
-6
40
20
27
73
-48
2
-21
-18
11
0
0
0
0
0
0
0
-12
-36
-27
4
6
42
-21
-88
56
3
0
0
0
0
0
0
0
0
-5
4
-45
8
1
-11
-76
-53
29
0
0
0
0
0
0
0
0
-5
9
-27
-50
-8
-29
45
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-23
0
0
0
54
0
0
0
0
0
0
0
1
-17
-21
60
-16
-51
0
0
0
30
-9
0
0
0
0
0
0
0
6
19
-9
20
-7
-42
76
-141
20
-9
0
0
0
0
0
0
-8
-14
-18
-74
17
72
71
-9
-44
-58
0
0
0
0
0
0
0
0
-22
-25
11
-13
-86
3
7
3
-1
1
0
0
0
0
0
0
0
0
-13
-45
39
-6
-33
40
-6
-17
0
0
0
0
0
0
0
0
0
-5
-74
-38
0
46
-5
35
-14
-2
0
0
0
0
0
0
0
0
1
5
1
13
17
-3
36
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-19
0
-8
-38
0
0
0
-2
0
0
0
0
0
0
0
-24
-20
-1
9
-60
-11
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-14
-22
37
-20
-38
-5
4
-40
-1
0
0
0
0
0
0
0
2
-1
-24
26
54
-28
15
-45
-9
0
0
0
0
0
0
0
0
-12
1
-30
39
-63
-54
-29
-37
19
1
0
0
0
0
0
0
0
0
0
-3
40
-102
-74
58
-3
-13
7
0
0
0
0
0
0
0
8
-2
6
-91
-8
-24
41
3
7
12
0
0
0
0
0
0
0
0
-2
6
-24
41
8
26
17
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-48
0
0
0
0
6
0
0
0
0
0
0
0
3
-12
-2
-13
19
0
0
0
2
-2
0
0
0
0
0
0
0
1
-14
-22
-4
-25
-14
44
-19
31
-3
0
0
0
0
0
0
0
0
-6
36
-5
-20
1
-35
57
-2
0
0
0
0
0
0
0
0
0
-3
16
-32
71
-25
-68
-6
-14
-1
0
0
0
0
0
0
0
0
1
29
25
39
36
12
12
-13
0
0
0
0
0
0
0
0
0
0
0
5
-1
18
17
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
-2
8
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-2
4
2
-13
-30
1
-69
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
-47
20
-57
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
48
3
-69
-5
0
0
0
0
0
0
0
0
0
0
3
-1
12
18
-5
15
0
-1
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
-3
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
40
14
-29
43
0
0
0
0
0
0
0
0
0
0
0
-4
-22
25
-48
30
70
0
0
0
0
0
0
0
0
0
0
0
-24
10
3
-33
-44
-13
-53
45
0
0
0
0
0
0
0
0
0
5
13
30
-8
2
-36
126
3
0
0
0
0
0
0
0
0
0
-2
-17
9
17
-71
42
31
-22
0
0
0
0
0
0
0
0
0
0
-9
5
7
-19
-10
16
-64
0
0
0
0
0
0
0
0
0
0
0
-9
-1
23
15
6
56
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-2
0
0
0
0
0
0
0
0
5
-27
-6
-90
-26
42
-66
0
0
0
0
0
0
0
0
0
0
5
-3
59
74
-2
-45
4
0
0
0
0
0
0
0
0
0
0
-2
-10
-10
-5
16
24
78
6
-98
-47
0
0
0
0
0
0
0
0
-8
-51
43
-11
-5
-58
36
34
-13
0
0
0
0
0
0
0
0
7
17
46
7
-6
5
19
-94
-45
0
0
0
0
0
0
0
-1
10
-8
35
33
-2
3
87
36
-10
0
0
0
0
0
0
0
0
-1
4
-1
24
5
-38
-7
55
-1
0
0
0
0
0
0
0
0
0
0
0
4
-31
0
-13
5
99
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-18
1
0
0
0
0
0
0
0
0
-3
14
-61
-30
-79
-101
0
0
0
-21
0
0
0
0
0
0
0
-2
-4
18
-25
-40
-31
0
0
0
39
0
0
0
0
0
0
0
-4
-5
46
-2
15
-58
-71
-53
-21
-5
0
0
0
0
0
0
0
3
32
-6
14
-56
25
-22
-6
-30
-19
0
0
0
0
0
0
0
5
-29
-7
7
-25
-32
120
30
7
6
0
0
0
0
0
0
0
-1
-56
28
19
-86
-23
-12
-28
50
-32
0
0
0
0
0
0
0
5
-4
10
53
-42
-35
-121
61
-101
-1
0
0
0
0
0
0
0
0
0
6
10
-12
-103
-90
-89
6
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-19
-19
-25
0
0
0
0
0
0
0
0
3
8
7
-30
22
0
0
0
-65
-1
0
0
0
0
0
0
1
43
22
22
35
-39
0
0
0
-18
8
0
0
0
0
0
0
-13
-33
5
-64
54
-74
-54
101
42
33
5
0
0
0
0
0
0
-3
-16
28
-14
-13
72
34
46
-59
-30
-3
0
0
0
0
0
0
-8
4
-31
41
-27
-35
-52
4
5
-38
10
0
0
0
0
0
0
0
6
15
-1
53
-35
26
-40
17
-97
-4
0
0
0
0
0
0
0
0
9
-19
1
26
-45
19
-13
26
17
0
0
0
0
0
0
0
0
0
-2
-29
-6
-24
-40
-8
-41
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
21
0
-10
0
0
0
0
0
0
0
0
10
27
10
-13
1
0
0
0
-38
4
0
0
0
0
0
-2
0
-7
-32
-13
-6
-5
0
0
0
36
-8
0
0
0
0
0
0
8
-8
41
20
-19
-34
-42
-27
-94
-29
-56
-2
0
0
0
0
0
0
6
8
4
79
7
9
53
-34
-22
-29
-13
0
0
0
0
0
0
12
-30
31
-14
-16
-31
-8
-27
1
-68
-8
0
0
0
0
0
0
0
-4
-3
-19
-58
54
-104
-80
13
7
0
0
0
0
0
0
0
0
0
0
-55
-28
-41
-34
33
-10
0
0
0
0
0
0
0
0
0
0
-4
3
1
-2
50
-51
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
0
0
0
0
0
0
0
0
16
24
7
0
-13
0
0
0
27
-4
0
0
0
0
0
0
-1
-12
13
-58
0
21
0
0
0
26
5
0
0
0
0
0
0
0
-6
20
10
-28
28
-22
-15
-31
-12
-18
-2
0
0
0
0
0
0
1
7
7
-5
25
-14
-86
-146
11
3
0
0
0
0
0
0
0
0
-10
-5
75
8
61
-2
49
-3
-1
0
0
0
0
0
0
0
-1
-6
-4
-2
31
52
24
-4
4
0
-4
0
0
0
0
0
0
0
1
4
7
4
-20
-9
-14
-7
2
0
0
0
0
0
0
0
0
0
22
0
2
1
1
10
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
-5
1
0
0
0
0
0
0
0
-6
14
-5
-22
1
0
0
0
20
-19
-3
0
0
0
0
0
0
0
2
-23
-1
-18
-36
10
-87
7
-18
1
0
0
0
0
0
0
0
0
-6
8
-27
-6
-8
66
-31
3
0
0
0
0
0
0
0
0
0
-2
2
-17
7
-26
-26
2
0
-3
0
0
0
0
0
0
0
0
3
-6
-22
-5
-21
12
9
-5
0
0
0
0
0
0
0
0
0
0
-5
0
26
3
-52
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-29
0
-12
1
2
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-7
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
-3
4
5
-3
-15
30
0
1
0
0
0
0
0
0
0
0
0
0
3
6
-30
7
14
-7
1
0
0
0
0
0
0
0
0
0
-2
0
-18
-8
0
-41
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-5
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
-14
-13
-1
0
0
0
0
0
0
0
-3
0
7
0
-7
-14
-7
17
7
0
0
0
0
0
0
0
0
0
0
0
0
-47
9
5
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
30
-13
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
7
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-22
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-48
-6
3
-33
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-3
-16
15
-21
0
0
0
0
0
0
0
0
0
0
0
5
25
3
67
-3
-27
33
-80
0
0
0
0
0
0
0
0
0
0
0
-8
-2
20
-80
-48
-13
0
0
0
0
0
0
0
0
0
-3
1
17
8
-12
-35
14
26
0
0
0
0
0
0
0
0
0
0
0
3
8
-23
18
-14
36
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-28
40
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
0
0
0
0
0
0
0
0
2
-8
10
-13
-27
-69
46
0
0
0
0
0
0
0
0
0
0
0
-25
-41
76
21
-61
11
0
0
0
0
0
0
0
0
0
0
0
8
16
1
28
-29
70
18
9
-3
0
0
0
0
0
0
0
0
20
-8
11
-58
-1
-80
-83
-45
23
0
0
0
0
0
0
0
0
-1
9
-1
24
-53
9
-15
47
-2
0
0
0
0
0
0
0
-1
-2
-17
-3
66
-6
26
6
31
-24
0
0
0
0
0
0
0
0
0
0
2
36
7
40
-10
-27
-46
0
0
0
0
0
0
0
0
0
0
1
-2
12
6
7
69
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-10
0
0
0
0
0
0
0
0
-3
6
-4
28
29
22
0
0
0
-14
0
0
0
0
0
0
0
-4
4
-26
-17
33
-24
0
0
0
19
0
0
0
0
0
0
0
5
19
5
22
58
37
-94
-30
-42
-19
0
0
0
0
0
0
0
-2
-14
-6
15
31
4
-48
-19
25
4
0
0
0
0
0
0
0
1
-27
-47
13
-24
13
-34
21
-10
-36
0
0
0
0
0
0
0
0
-16
-12
16
1
-77
48
1
32
-29
0
0
0
0
0
0
0
0
0
-1
-12
38
34
-4
-15
-86
0
0
0
0
0
0
0
0
0
0
3
-2
-4
9
-32
60
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
1
0
-1
-17
-33
20
-71
0
0
0
10
-2
0
0
0
0
0
0
-2
-17
-14
-41
24
22
0
0
0
41
1
0
0
0
0
0
0
5
0
-48
19
-57
5
-25
-63
53
22
0
0
0
0
0
0
0
-2
41
27
-7
32
-84
18
-66
-89
-21
0
0
0
0
0
0
0
0
2
-4
-13
-27
91
24
-73
20
-9
9
0
0
0
0
0
0
0
0
-19
-8
38
-43
32
-21
13
-17
0
0
0
0
0
0
0
0
0
0
-9
-25
13
2
-2
24
47
0
0
0
0
0
0
0
0
0
0
0
-9
0
-8
8
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
0
0
-2
40
13
63
-8
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-41
29
4
61
0
0
0
26
-18
0
0
0
0
0
0
5
49
4
13
-8
-83
-6
6
14
-35
-2
4
0
0
0
0
0
1
-8
-10
13
53
-14
-58
1
-43
-47
-25
-1
0
0
0
0
0
0
0
0
-42
0
60
-37
7
39
-4
-14
0
0
0
0
0
0
0
7
-3
-22
-55
15
36
-91
-42
24
24
0
0
0
0
0
0
0
0
-5
-5
1
-25
-1
-21
13
0
-18
0
0
0
0
0
0
0
0
0
0
-9
0
1
1
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
5
8
-2
-4
0
0
0
18
0
0
0
0
0
0
0
0
-8
-17
-12
-10
-17
0
0
0
16
24
2
0
0
0
0
0
0
0
-12
-12
20
9
12
1
-60
-5
-1
3
0
0
0
0
0
2
-9
0
-2
-16
-51
7
37
-54
-4
0
0
0
0
0
0
0
0
0
4
-21
17
16
-37
58
-11
-9
8
0
0
0
0
0
0
0
0
2
-4
0
-66
-11
-63
3
8
-1
0
0
0
0
0
0
0
0
0
1
-1
-30
42
27
1
-9
-8
0
0
0
0
0
0
0
0
0
0
-1
3
8
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
1
16
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
-2
-19
5
0
0
0
-4
-48
0
0
0
0
0
0
0
0
0
10
6
3
-15
34
-2
16
12
-1
-2
0
0
0
0
0
3
-8
-1
-2
18
-21
40
17
0
-1
1
0
0
0
0
0
0
0
0
0
7
15
2
12
14
18
-24
0
0
0
0
0
0
0
0
0
0
-3
8
-3
29
-18
5
-1
0
0
0
0
0
0
0
0
0
0
7
0
3
3
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
2
1
0
0
0
-44
-2
0
0
0
0
0
0
0
0
-1
-1
0
-6
0
-51
4
-6
-2
0
0
0
0
0
0
0
0
0
1
-4
-6
5
21
5
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
21
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
22
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
10
0
0
0
-1
0
0
0
0
0
0
0
-4
-8
-2
14
-71
-25
0
0
0
-13
-1
0
0
0
0
0
0
1
0
14
-33
-9
-26
-37
-45
-52
0
0
0
0
0
0
0
0
0
1
-6
-14
-3
-35
35
49
-5
-1
0
0
0
0
0
0
0
0
4
1
0
-3
-14
19
62
5
1
3
0
0
0
0
0
0
0
0
0
0
2
35
21
54
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
18
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
16
0
0
0
0
3
-7
1
0
0
0
0
0
0
14
-1
-9
31
3
0
0
0
-19
3
0
0
0
0
0
0
0
-4
-10
-4
-4
59
-12
-19
7
6
-4
0
0
0
0
0
0
0
0
-3
1
-13
-48
-41
3
6
-22
1
0
0
0
0
0
0
0
-2
0
8
-15
-84
25
72
5
5
-5
0
0
0
0
0
0
0
0
0
1
3
-8
9
-12
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
7
20
-12
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-5
5
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
1
40
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
-11
-4
0
0
0
0
0
0
0
0
0
0
0
5
-29
-4
-28
-40
4
1
-21
0
0
0
0
0
0
0
0
0
0
1
48
-12
19
-20
87
-35
0
0
0
0
0
0
0
0
0
0
0
2
-1
-21
-3
15
-40
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-3
5
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
8
-47
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
16
24
-11
15
56
0
0
0
0
0
0
0
0
0
0
1
9
17
30
-9
7
98
0
0
0
0
0
0
0
0
0
0
0
-25
57
37
52
-9
106
4
-151
-93
0
0
0
0
0
0
0
0
-1
13
-24
-13
-19
-13
28
-33
-25
0
0
0
0
0
0
0
0
10
50
6
-47
-12
-17
23
-2
-43
0
0
0
0
0
0
0
0
0
32
14
15
24
139
34
-32
14
0
0
0
0
0
0
0
0
0
12
0
24
59
-5
17
-14
56
0
0
0
0
0
0
0
0
0
0
0
0
7
20
19
41
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
-2
0
0
0
0
0
0
0
0
0
-5
10
70
-85
-18
0
0
0
-13
0
0
0
0
0
0
0
-8
13
-20
-34
33
14
0
0
0
-7
0
0
0
0
0
0
0
-4
7
-92
-22
-70
76
5
-15
-88
2
0
0
0
0
0
0
0
0
-2
-40
43
-53
-20
-6
-52
-36
41
0
0
0
0
0
0
0
0
-10
-23
-52
-62
-8
2
-19
0
6
0
0
0
0
0
0
0
2
0
-14
-53
-13
-17
-37
41
15
-4
0
0
0
0
0
0
0
0
0
0
4
-22
-39
-37
9
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
8
-10
-14
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
20
0
0
0
0
0
0
0
0
0
0
8
-48
-37
31
0
0
0
33
0
0
0
0
0
0
0
-8
0
42
2
-4
-29
0
0
0
-37
6
0
0
0
0
0
0
0
-16
24
43
-30
-34
-64
-32
-35
14
0
0
0
0
0
0
1
15
-7
-7
16
28
1
-9
55
-91
20
0
0
0
0
0
0
0
8
3
2
-10
-33
45
-41
-27
-8
15
-1
0
0
0
0
0
0
0
0
0
-15
48
-48
28
51
5
-65
0
0
0
0
0
0
0
1
0
0
0
14
-12
18
-63
-42
-5
0
0
0
0
0
0
0
0
0
-6
0
3
-3
0
-27
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
14
23
-41
38
27
0
0
0
-35
3
0
0
0
0
0
0
0
58
-7
2
-22
44
0
0
0
80
44
0
0
0
0
0
0
1
-7
2
-8
43
-30
1
13
7
-7
-12
2
0
0
0
0
0
-4
-8
4
-1
8
-2
0
-52
17
14
2
1
0
0
0
0
0
0
3
-17
13
-21
-5
-69
-99
9
-13
0
4
0
0
0
0
0
0
0
1
-7
66
-17
20
-18
16
6
-2
0
0
0
0
0
0
0
0
-4
3
-4
4
-22
18
46
10
3
0
0
0
0
0
0
0
0
0
0
5
5
14
-45
-61
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-17
-27
1
0
0
0
0
-23
0
-6
0
0
0
0
0
-6
-3
1
-8
5
-12
0
0
0
-35
0
-3
0
0
0
0
0
0
-6
5
21
6
-3
18
7
47
-13
-8
-2
0
0
0
0
0
0
0
-8
-7
0
10
-46
-7
4
19
1
0
0
0
0
0
0
0
-3
-2
-1
7
0
-35
7
-18
5
-4
0
0
0
0
0
0
0
0
0
0
0
2
33
-7
8
2
-1
1
0
0
0
0
0
0
0
0
-2
5
0
-8
-12
-5
-5
3
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
-6
-83
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
-13
0
0
0
-2
0
0
0
0
0
0
0
0
-1
3
0
20
2
0
0
0
22
22
0
0
0
0
0
0
0
0
0
25
0
-14
6
-54
-25
-4
29
0
0
0
0
0
0
0
1
0
3
6
0
-5
-1
-31
11
2
0
0
0
0
0
0
0
0
0
0
-1
-16
-13
20
5
6
0
-1
0
0
0
0
0
0
0
0
-5
1
3
25
3
7
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
36
-1
5
0
0
0
8
0
0
0
0
0
0
0
0
0
1
1
6
0
-36
-9
-12
2
-2
6
0
0
0
0
0
0
0
0
0
17
-30
0
-10
13
-6
3
0
1
0
0
0
0
0
0
0
1
5
1
-5
29
-5
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-16
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-28
13
22
-19
0
0
0
1
0
0
0
0
0
0
0
12
0
-16
22
20
-19
0
0
0
0
-1
0
0
0
0
0
0
7
8
22
-25
4
-193
-64
-66
-112
-3
0
0
0
0
0
0
0
0
-1
-21
4
-5
65
-19
10
-44
0
0
0
0
0
0
0
0
-1
5
-7
-14
-43
69
45
80
42
3
0
0
0
0
0
0
0
0
8
2
-40
19
7
31
47
23
4
1
0
0
0
0
0
0
0
0
-1
-6
0
-8
8
-49
28
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
-1
-23
-5
8
0
0
0
0
0
0
0
0
0
0
0
1
-5
-94
31
17
44
0
0
0
3
0
0
0
0
0
0
0
0
9
-5
-61
-39
-42
37
-75
-137
3
0
0
0
0
0
0
0
0
-1
0
-41
9
-12
57
-57
17
7
3
0
0
0
0
0
0
0
4
-7
8
29
-54
46
21
25
1
1
0
0
0
0
0
0
0
0
2
12
26
-105
-37
-42
53
2
0
0
0
0
0
0
0
0
0
-5
-7
0
3
-43
61
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
2
6
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
2
19
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-8
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-6
-41
9
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-4
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
-19
19
-25
-31
0
0
0
0
0
0
0
0
0
-1
0
8
-1
18
-24
-8
-12
0
0
0
0
0
0
0
0
0
0
0
1
9
-23
-5
47
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
29
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-26
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-27
0
0
0
0
0
0
0
0
0
0
2
-16
-7
6
16
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-46
-30
31
-11
0
0
0
0
0
0
0
0
0
0
0
0
54
16
22
-46
69
16
-70
-85
0
0
0
0
0
0
0
0
-1
4
-23
-10
54
14
-48
-8
-7
0
0
0
0
0
0
0
0
0
-6
5
-92
12
-29
41
14
-64
0
0
0
0
0
0
0
0
0
1
16
34
-47
-99
-73
42
-19
0
0
0
0
0
0
0
0
0
-5
1
-32
2
-11
35
-29
-2
0
0
0
0
0
0
0
0
0
0
-4
7
10
10
-25
10
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-29
1
0
0
0
0
0
0
0
0
7
12
24
-8
29
8
0
0
0
6
0
0
0
0
0
0
0
0
19
4
33
-2
14
0
0
0
26
0
0
0
0
0
0
0
-7
-3
-4
11
-10
43
13
-34
5
-22
0
0
0
0
0
0
0
0
12
-1
8
66
-20
29
-4
-110
6
0
0
0
0
0
0
0
0
0
-2
5
-30
60
-31
59
39
9
0
0
0
0
0
0
0
0
8
-24
-9
-43
-26
-3
-28
50
1
0
0
0
0
0
0
0
1
0
-8
5
5
6
-4
-12
-28
10
0
0
0
0
0
0
0
0
0
0
-2
18
2
20
-7
9
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-16
0
0
0
0
0
0
0
0
0
0
-7
2
-26
6
0
0
0
3
4
0
0
0
0
0
0
4
-15
-48
12
16
94
0
0
0
20
5
0
0
0
0
0
0
0
3
-4
-7
-21
-8
-13
16
8
0
-3
0
0
0
0
0
0
0
5
-25
12
12
25
11
-1
-21
-20
1
0
0
0
0
0
0
1
1
0
-23
-56
-31
56
19
-14
-8
6
0
0
0
0
0
0
8
5
-8
10
16
14
-16
11
-44
12
8
0
0
0
0
0
0
0
3
0
6
-41
0
7
0
4
-40
-5
0
0
0
0
0
0
0
0
0
-1
2
-2
-4
44
10
40
3
0
0
0
0
0
0
0
0
0
0
0
0
-30
7
-17
6
0
0
0
0
0
0
0
0
-1
3
2
-12
5
0
0
0
-1
0
0
0
0
0
0
0
-5
6
9
-48
-29
-5
0
0
0
-46
-7
0
0
0
0
0
0
-14
0
-28
14
-6
-28
-38
16
-18
-4
-7
0
0
0
0
0
0
0
-7
9
18
0
23
-74
79
-11
-54
8
1
0
0
0
0
0
0
0
0
0
-9
-68
5
-13
16
21
-7
-2
0
0
0
0
0
0
-4
0
3
-47
42
-18
22
-94
1
-2
0
0
0
0
0
0
0
0
0
4
-2
-10
30
38
6
2
-2
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-14
64
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
5
0
19
0
0
0
-50
-1
0
0
0
0
0
0
-5
0
2
0
31
2
0
0
0
40
-33
-3
0
0
0
0
0
0
1
-16
6
10
-1
14
-43
-52
-1
-6
-5
0
0
0
0
0
0
0
9
3
9
-5
7
-35
4
-5
1
3
0
0
0
0
0
0
-7
3
7
0
-15
31
-45
48
-25
-1
-2
0
0
0
0
0
0
0
0
-14
22
3
-16
6
-58
-12
0
0
0
0
0
0
0
0
0
0
1
7
8
-10
-19
-18
-21
-2
0
0
0
0
0
0
0
0
0
6
0
0
25
3
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
-2
0
-4
0
0
0
8
3
0
0
0
0
0
0
-1
0
5
-1
5
-3
-6
-17
1
0
-5
0
0
0
0
0
0
0
0
0
13
1
1
-32
-13
-17
0
-3
0
0
0
0
0
0
0
0
0
-7
5
0
5
-29
-23
3
-3
0
0
0
0
0
0
0
0
0
-5
0
2
10
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
-23
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
9
5
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-5
5
13
0
0
0
1
13
0
0
0
0
0
0
0
0
-10
1
2
41
12
-79
-1
1
1
0
0
0
0
0
0
0
-5
0
0
-18
-23
-19
-11
2
-2
0
0
0
0
0
0
0
0
0
0
-10
-7
88
0
-12
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
32
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-16
0
5
-22
-41
-1
-3
0
0
0
0
0
0
0
0
0
0
0
38
-58
26
33
-7
-3
0
0
0
4
7
0
0
0
0
0
0
3
24
-42
-8
-20
51
-104
-28
-44
0
0
0
0
0
0
0
0
2
-4
1
23
-13
-51
-49
-68
-60
-3
0
0
0
0
0
0
0
-6
9
6
44
42
-25
-31
0
28
4
0
0
0
0
0
0
0
0
0
-6
-9
74
52
20
35
3
0
-1
0
0
0
0
0
0
0
-5
0
-8
44
8
6
26
-32
5
0
0
0
0
0
0
0
0
0
12
5
2
-30
14
-50
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
55
0
0
0
0
0
0
0
0
0
0
1
-7
-21
-17
-19
0
0
0
0
0
0
0
0
0
0
0
-12
-18
-37
104
31
-66
0
0
0
-9
1
1
0
0
0
0
0
0
-27
-37
-62
-14
-24
-42
31
22
-1
0
0
0
0
0
0
0
0
9
6
39
14
-4
-93
-1
-59
-10
0
0
0
0
0
0
0
0
-4
23
-2
64
10
17
15
0
9
0
0
0
0
0
0
0
0
5
4
-2
27
-72
6
-19
12
0
-4
0
0
0
0
0
0
0
0
-9
12
-30
-45
56
-58
60
3
0
0
0
0
0
0
0
0
0
0
0
-7
-4
49
-20
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
2
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
23
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
12
21
7
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
8
-25
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
6
-15
-43
-1
0
0
0
0
0
0
0
0
0
0
0
-43
8
-15
-25
-30
-36
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
43
16
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-38
0
-8
-51
0
0
0
0
0
0
0
0
0
0
-2
0
-1
8
29
6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
9
0
0
0
0
0
0
0
0
0
0
5
-16
-16
59
-24
0
0
0
0
0
0
0
0
0
0
0
-4
23
-20
-34
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
70
63
-2
47
58
17
-63
0
0
0
0
0
0
0
0
2
0
-12
-27
12
-11
-20
15
24
0
0
0
0
0
0
0
0
0
0
-16
43
-12
56
-36
-76
46
0
0
0
0
0
0
0
0
0
2
13
19
-35
69
22
-29
-48
0
0
0
0
0
0
0
0
0
0
-6
-3
6
27
-9
93
-88
0
0
0
0
0
0
0
0
0
0
0
-6
-9
25
-48
2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
19
3
0
0
0
0
0
0
0
0
0
8
-8
22
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
10
45
-1
28
-11
0
0
0
-1
0
0
0
0
0
0
0
0
-25
19
-47
-37
-34
50
8
14
2
0
0
0
0
0
0
0
-8
-3
4
47
1
-51
36
-60
49
-1
0
0
0
0
0
0
0
0
-4
-10
-30
-32
-19
-13
-4
-3
-5
0
0
0
0
0
0
0
4
0
-8
22
3
-13
-4
-36
-15
-18
0
0
0
0
0
0
0
0
-1
-9
3
-58
-1
-23
-24
40
-10
0
0
0
0
0
0
0
0
0
0
-1
42
1
-30
-17
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
5
-14
0
-7
0
0
0
-14
0
0
0
0
0
0
-1
-1
-7
42
41
10
25
0
0
0
39
-1
0
0
0
0
0
0
-5
-5
-1
33
12
-19
27
18
54
-10
0
0
0
0
0
0
0
0
0
12
3
5
-53
-62
33
-21
62
0
0
0
0
0
0
0
0
0
-1
-3
-23
-36
-64
-12
-39
18
0
0
0
0
0
0
0
-1
1
0
-31
-23
-19
15
25
28
2
-22
0
0
0
0
0
0
0
0
-8
1
29
-43
13
-18
10
19
-8
0
0
0
0
0
0
0
0
0
0
-6
1
-50
0
22
12
8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
10
8
-3
0
0
0
0
0
0
0
0
-44
-1
-2
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
-19
36
-5
0
0
0
14
-4
0
0
0
0
0
0
-2
0
-6
31
-68
37
-45
41
24
7
0
0
0
0
0
0
0
0
0
48
0
5
-63
-12
-15
-86
-8
0
-1
0
0
0
0
0
0
0
-7
-6
49
13
-61
-47
25
-1
8
0
0
0
0
0
0
0
0
20
0
57
-28
4
20
-22
-12
-7
0
0
0
0
0
0
0
-4
-1
-5
9
19
-6
-19
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
-71
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
0
0
0
0
0
0
0
0
0
0
1
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
16
14
-7
-2
44
0
0
0
-15
2
2
0
0
0
0
0
0
0
0
-6
8
6
16
-10
37
3
-5
0
0
0
0
0
0
0
0
-1
-4
-41
-21
42
5
13
-40
0
0
0
0
0
0
0
0
0
5
-6
10
5
2
-27
-33
-2
1
0
0
0
0
0
0
0
-2
-3
1
0
33
10
73
17
7
-1
-4
0
0
0
0
0
0
0
-1
0
0
-18
-8
2
9
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
27
8
30
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
8
-9
-8
-2
0
0
0
-41
14
0
0
0
0
0
0
0
0
0
-6
3
-4
0
-8
33
-1
6
-6
0
0
0
0
0
0
0
0
3
9
1
14
4
-8
-8
0
0
0
0
0
0
0
0
0
-2
0
-5
10
24
21
-5
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
78
-23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
6
1
0
0
0
-1
-9
0
0
0
0
0
0
0
5
-60
6
-2
16
27
-23
0
0
-1
0
0
0
0
0
0
0
0
2
-72
4
5
-6
2
-20
-4
0
0
0
0
0
0
0
0
0
1
-2
10
-40
-5
64
-7
2
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
52
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
-4
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
31
25
-17
-15
-8
0
0
0
0
0
0
0
0
0
0
0
-25
-25
1
1
-20
36
0
0
0
0
-1
0
0
0
0
0
0
-1
-30
59
27
-8
-5
-101
47
-32
0
0
0
0
0
0
0
0
-1
4
11
93
45
13
28
-38
63
1
0
0
0
0
0
0
0
-4
-37
-24
-50
60
58
-41
-108
-71
0
0
0
0
0
0
0
0
4
7
29
-16
-1
-29
-39
0
-64
0
0
0
0
0
0
0
0
1
-1
-6
25
-41
-6
12
-17
30
0
-2
0
0
0
0
0
0
0
0
0
-8
-53
20
18
72
29
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-41
0
0
0
0
0
0
0
0
0
0
-71
-7
-2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
-6
8
50
0
0
0
0
0
0
0
0
0
0
0
0
2
51
21
14
-12
-9
-71
-120
6
0
0
0
0
0
0
0
0
7
42
-4
-2
-38
-8
78
-2
6
0
0
0
0
0
0
0
0
0
-1
43
-23
50
-13
53
-8
-12
0
0
0
0
0
0
0
0
1
2
1
-12
64
4
-38
0
53
0
0
0
0
0
0
0
0
0
4
0
-2
12
11
24
-52
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-58
12
38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
6
-13
-4
12
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
-29
-5
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
-4
-8
0
6
-23
-19
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
14
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
24
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-41
0
0
0
0
0
0
0
0
0
0
-1
0
8
24
-5
0
0
0
0
0
0
0
0
0
0
0
-3
16
-18
8
13
61
0
0
0
0
0
0
0
0
0
0
0
-3
-31
58
19
-39
2
-53
-4
-111
0
0
0
0
0
0
0
0
0
8
-8
6
26
-43
-60
-48
-41
0
0
0
0
0
0
0
0
0
-8
4
-31
-18
0
-48
-48
-22
0
0
0
0
0
0
0
0
0
0
1
1
31
41
-2
25
-24
0
0
0
0
0
0
0
0
0
1
-3
-14
-47
60
9
39
19
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
6
6
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
6
0
0
0
0
0
0
0
0
0
4
1
17
14
6
0
0
0
-1
0
0
0
0
0
0
0
41
-29
-4
14
-30
28
0
0
0
-4
0
0
0
0
0
0
0
0
1
-16
4
-23
30
9
6
-37
3
0
0
0
0
0
0
0
1
0
20
-23
-95
-52
-76
21
64
-4
0
0
0
0
0
0
0
0
-41
58
-68
-81
-58
69
-29
-3
16
0
0
0
0
0
0
0
0
8
47
-2
10
-29
-4
2
-81
-13
0
0
0
0
0
0
0
0
0
-9
-14
10
17
65
-27
89
-3
0
0
0
0
0
0
0
0
-2
-1
5
-10
6
7
7
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
3
0
0
0
0
0
0
0
0
-2
-9
2
34
-2
0
0
0
-8
-2
0
0
0
0
0
0
0
-5
-30
1
-15
-22
0
0
0
11
2
0
0
0
0
0
0
0
0
-32
-6
30
-1
-7
29
12
-8
0
0
0
0
0
0
0
0
-3
22
30
3
42
-12
10
4
-8
0
0
0
0
0
0
0
0
3
3
-14
3
-9
-43
-65
-43
-7
-2
0
0
0
0
0
0
0
-1
8
-41
-1
-108
35
-4
-24
2
0
0
0
0
0
0
0
0
0
0
-18
5
-73
-30
-34
-8
-22
0
0
0
0
0
0
0
0
0
0
0
-7
-3
47
38
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
32
-10
1
0
0
0
0
0
0
0
0
50
0
-12
-7
41
0
0
0
0
0
0
0
0
0
0
0
0
-14
-58
41
12
3
0
0
0
17
0
0
0
0
0
0
0
0
1
-2
29
-5
8
-68
0
13
-3
-3
0
0
0
0
0
0
2
-4
3
-36
38
-21
41
-22
-33
1
2
0
0
0
0
0
0
0
1
4
10
29
74
-11
16
-61
0
-5
0
0
0
0
0
0
0
0
-18
-5
-33
-32
-47
-13
9
1
0
0
0
0
0
0
0
0
0
0
0
14
-15
3
0
-88
-29
-6
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-42
1
0
0
0
0
0
0
0
0
0
3
1
12
-2
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
-12
-4
8
0
0
0
-15
0
0
0
0
0
0
0
0
0
3
-9
0
0
-10
-2
-5
-2
0
0
0
0
0
0
0
0
-4
-2
10
-1
23
10
6
5
0
-6
0
0
0
0
0
0
0
-2
0
31
-9
-27
-1
13
6
-12
0
0
0
0
0
0
0
1
0
0
2
-6
7
-29
-23
-8
3
0
0
0
0
0
0
0
0
0
0
4
0
21
42
-3
-47
-13
5
0
0
0
0
0
0
0
0
0
0
-17
-1
-7
-15
41
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
1
0
0
0
0
0
0
0
0
7
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
25
8
-41
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-14
16
41
1
0
0
14
-1
0
0
0
0
0
0
0
0
6
-14
-7
2
4
1
0
-3
1
0
0
0
0
0
0
0
0
0
1
-1
-4
25
-15
-17
16
0
0
0
0
0
0
0
0
0
-7
-5
-13
18
-2
7
5
14
0
5
0
0
0
0
0
0
0
0
0
-10
14
0
6
-33
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
24
5
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
1
6
0
-4
-2
-8
0
-4
0
0
0
0
0
0
0
0
2
0
4
-7
-8
9
14
0
0
1
0
0
0
0
0
0
0
-1
0
-13
0
-4
-8
5
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-57
-38
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
0
71
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
13
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
-16
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
28
3
-24
-36
0
0
0
0
0
0
0
0
0
0
0
3
-14
14
-8
13
4
-53
-3
4
0
0
0
0
0
0
0
0
0
0
-19
-30
-7
-77
-20
-73
-76
0
0
0
0
0
0
0
0
-12
7
6
14
63
19
-47
-116
-54
-9
0
0
0
0
0
0
0
0
0
8
8
25
24
33
-73
55
0
0
0
0
0
0
0
0
0
0
-5
7
4
41
-18
0
16
-3
0
0
0
0
0
0
0
0
0
12
0
-8
-11
-40
77
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
13
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
30
0
-16
0
0
0
2
0
0
0
0
0
0
0
0
0
-12
45
-34
-28
10
-16
34
1
0
0
0
0
0
0
0
0
4
-23
8
-8
30
-52
-30
-54
40
0
0
0
0
0
0
0
0
0
-3
-25
0
-161
37
36
-31
-2
0
0
0
0
0
0
0
0
0
4
-7
21
19
-48
2
-57
5
0
0
0
0
0
0
0
0
0
0
-8
1
29
5
-17
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
-6
-56
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
0
0
14
-10
0
0
0
0
0
0
0
0
0
0
0
6
3
1
-24
0
5
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
6
-29
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-6
5
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-36
3
-4
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-13
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
5
-22
-23
-33
-95
-18
0
0
0
0
0
0
0
0
0
-3
-14
15
-39
0
-43
12
2
0
0
0
0
0
0
0
0
0
-22
5
-18
-14
-34
-9
8
-19
0
0
0
0
0
0
0
0
0
0
-4
1
-44
-64
11
-17
-48
0
0
0
0
0
0
0
0
0
0
1
-40
22
-41
3
6
22
0
0
0
0
0
0
0
0
0
1
-1
0
1
49
4
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
-3
17
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-12
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-9
5
13
-18
40
-13
0
0
0
0
0
0
0
0
0
-1
2
65
-52
-6
-92
-65
-62
0
0
0
0
0
0
0
0
0
-5
5
25
-51
3
-19
15
-9
-14
0
0
0
0
0
0
0
1
-1
-2
30
-5
-75
-30
-23
-5
4
0
0
0
0
0
0
0
0
0
0
-4
3
-39
-30
-79
-80
-5
0
0
0
0
0
0
0
0
0
0
0
-19
-30
44
-29
-97
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
48
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-41
14
51
0
15
50
-31
-1
0
0
0
0
0
0
0
0
5
-27
-27
9
-16
-13
-2
-17
2
0
0
0
0
0
0
0
0
0
-1
-2
50
67
23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-48
-25
-27
-27
-32
-1
0
0
0
0
0
0
0
0
0
3
17
38
-10
-13
-34
-25
-5
0
0
0
0
0
0
0
0
0
0
9
6
-19
0
-31
18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-2
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
2
34
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
10
-29
0
-41
-3
6
19
2
0
0
0
0
0
0
0
0
0
0
-5
9
-47
-20
-45
-6
6
0
0
0
0
0
0
0
0
-2
0
0
1
5
9
-16
-8
0
0
0
0
0
0
0
0
0
0
2
0
-4
-3
-32
-68
-9
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
-49
48
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
-7
13
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
3
8
-8
8
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-12
-8
-27
-4
-27
5
0
0
0
0
0
0
0
0
0
0
8
0
-16
-2
-25
-40
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
8
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
3
-14
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
45
0
2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-53
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
14
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
2
-9
8
-7
0
0
0
0
0
0
0
0
0
0
2
9
-7
4
1
-12
-28
0
0
0
0
0
0
0
0
0
0
0
8
9
31
-81
-30
-25
0
0
0
0
0
0
0
0
0
0
0
-3
-42
16
35
-9
-31
0
0
0
0
0
0
0
0
0
0
0
14
-11
3
-22
19
-15
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-2
-2
-2
8
0
0
0
0
0
0
0
0
0
0
0
-6
0
-17
-8
-17
1
0
0
0
0
0
0
0
0
0
0
0
17
0
-16
-8
-12
0
-1
0
0
0
0
0
0
0
0
0
-29
0
0
-12
-56
-28
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
0
16
11
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-2
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-4
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-41
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-44
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
76
-41
-10
8
0
0
0
0
0
0
0
0
0
0
2
4
-111
6
-17
65
-17
0
0
0
0
0
0
0
0
0
0
50
-26
14
39
9
-68
-2
1
0
0
0
0
0
0
0
0
0
9
41
-29
48
41
22
0
0
0
0
0
0
0
0
0
0
0
3
-16
40
16
-7
-1
1
1
0
0
0
0
0
0
0
0
0
0
-13
49
-37
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-32
-13
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-14
0
-8
28
0
0
0
0
0
0
0
0
0
45
-33
80
-61
23
40
-68
-7
-14
0
0
0
0
0
0
0
0
42
23
50
-4
-13
-32
-74
-24
-13
0
0
0
0
0
0
0
0
71
-42
22
-6
1
16
-10
40
-3
0
0
0
0
0
0
0
0
86
62
50
-49
-10
16
-28
8
8
0
0
0
0
0
0
0
0
43
3
70
-52
-29
-10
10
61
-12
-2
0
0
0
0
0
0
0
-28
22
3
-7
23
-10
-29
-1
-14
0
0
0
0
0
0
0
0
-5
-60
-46
-28
-2
33
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
44
-24
24
-24
0
-8
0
0
0
0
0
0
0
-44
69
-32
6
-64
40
-106
-10
32
-9
0
0
0
0
0
0
0
-18
-73
5
-63
-81
-7
-2
-6
63
-3
0
0
0
0
0
0
0
94
82
27
19
24
-68
13
-51
-2
-10
0
0
0
0
0
0
0
4
22
71
-57
-40
15
-12
24
33
-12
0
0
0
0
0
0
0
4
-63
-23
29
35
87
-23
13
-25
-8
0
0
0
0
0
0
0
-8
-1
35
-67
-106
24
-40
0
0
12
0
0
0
0
0
0
0
-2
-80
3
-36
36
4
-36
1
-16
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
0
0
-5
-8
39
12
0
6
0
0
0
0
0
0
0
-6
-34
-39
40
52
-9
-58
-7
-10
2
0
0
0
0
0
0
0
-30
1
11
-55
-33
-46
0
-42
-8
1
0
0
0
0
0
0
0
19
-3
24
-2
55
60
47
6
13
13
0
0
0
0
0
0
0
93
-5
84
-98
40
-97
15
-7
25
29
0
0
0
0
0
0
0
16
44
10
-41
35
-36
-1
-13
0
-5
0
0
0
0
0
0
0
13
-9
2
13
-39
10
17
2
-17
0
0
0
0
0
0
0
0
-8
-76
13
-22
-41
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-17
1
0
-1
30
31
0
0
0
0
0
0
0
0
0
-22
14
-27
-89
20
37
8
-49
36
0
0
0
0
0
0
0
0
22
-43
-28
41
30
46
-15
47
-8
1
0
0
0
0
0
0
0
-40
21
-3
9
33
26
30
-4
6
2
0
0
0
0
0
0
0
-2
12
-10
-50
17
36
-9
12
-8
40
0
0
0
0
0
0
0
6
-20
81
-46
5
4
-49
12
5
14
0
0
0
0
0
0
0
-1
-68
-26
21
-21
21
9
-18
-5
0
0
0
0
0
0
0
0
1
9
25
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
24
0
0
0
1
0
0
0
0
0
0
0
0
0
17
-6
37
-24
-4
0
2
11
18
0
0
0
0
0
0
0
0
30
39
-40
19
42
-5
48
5
20
-1
0
0
0
0
0
0
0
-1
9
49
-25
16
-12
1
-14
5
0
0
0
0
0
0
0
0
-8
-5
-2
-4
19
43
-32
-3
-3
0
0
0
0
0
0
0
0
1
33
36
-10
-5
-24
0
-8
-3
-6
0
0
0
0
0
0
0
-5
-23
2
1
-5
2
0
2
1
0
0
0
0
0
0
0
0
0
18
-7
2
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
36
5
42
1
-4
0
-5
0
0
0
0
0
0
0
0
0
23
41
-8
29
57
0
4
0
0
0
0
0
0
0
0
0
0
-5
15
-24
16
2
-45
0
-2
0
0
0
0
0
0
0
0
0
-8
-1
1
-4
-1
-8
0
8
-4
0
0
0
0
0
0
0
0
2
0
-2
41
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-13
-4
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
7
4
26
-6
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-34
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
-50
-25
-28
66
-24
-3
0
0
0
0
0
0
0
0
0
30
0
7
17
4
40
-9
-6
0
0
0
0
0
0
0
0
0
-53
-5
42
71
29
44
-25
1
0
0
0
0
0
0
0
0
0
20
-45
-45
25
46
1
-7
7
0
0
0
0
0
0
0
0
0
-6
12
-13
33
68
37
8
12
0
0
0
0
0
0
0
0
0
-4
96
42
-5
-34
8
1
-8
0
0
0
0
0
0
0
0
0
-8
1
22
12
-4
0
0
-6
0
0
0
0
0
0
0
0
0
5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-17
37
-34
52
33
-42
-50
0
0
0
0
0
0
0
0
0
13
34
-1
-69
-1
62
33
48
-11
0
0
0
0
0
0
0
0
38
35
-16
21
15
-23
43
-14
0
9
0
0
0
0
0
0
0
-10
25
28
49
69
16
20
12
17
0
0
0
0
0
0
0
0
92
-32
12
45
44
78
-12
3
-14
4
0
0
0
0
0
0
0
21
21
16
-3
11
-6
10
2
-3
0
0
0
0
0
0
0
0
28
45
13
-46
25
-31
-2
-1
-10
0
0
0
0
0
0
0
0
22
20
6
7
0
-5
0
3
-2
0
0
0
0
0
0
0
0
9
12
-31
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
7
-5
30
-56
-19
-87
-66
0
2
0
0
0
0
0
0
0
97
-10
18
47
17
54
-60
-22
-54
-4
0
0
0
0
0
0
0
26
58
51
32
45
-43
-19
64
8
-23
0
0
0
0
0
0
0
53
14
94
26
-9
-55
5
-33
9
8
-1
0
0
0
0
0
0
15
-10
-16
26
11
47
12
-27
-17
-22
0
0
0
0
0
0
0
-11
19
-77
-103
-22
2
-4
33
42
20
0
0
0
0
0
0
0
45
-77
-48
26
48
-10
2
0
-22
0
0
0
0
0
0
0
0
0
-12
-8
29
-16
68
-9
10
-1
0
0
0
0
0
0
0
0
0
-5
-6
-8
1
0
5
0
0
0
0
0
0
0
0
0
0
-9
37
109
-7
64
-22
-10
-13
0
-4
0
0
0
0
0
0
0
-32
35
74
28
6
77
65
-34
-21
2
-3
0
0
0
0
0
0
-9
-73
-3
-30
18
-17
-34
-81
-41
9
0
0
0
0
0
0
0
-23
99
70
59
-31
95
46
43
18
-2
0
0
0
0
0
0
0
77
-40
84
-7
22
19
38
-12
38
2
0
0
0
0
0
0
0
15
51
-1
20
-14
118
-44
53
0
2
0
0
0
0
0
0
0
-18
-43
-44
-47
32
7
39
0
-2
0
0
0
0
0
0
0
0
-1
15
-47
4
-9
5
7
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
12
7
0
0
0
0
0
0
0
0
0
0
0
-25
-8
16
57
0
-53
-93
-42
0
0
0
0
0
0
0
0
0
25
-76
39
-1
-66
11
6
18
7
0
0
0
0
0
0
0
0
-16
26
-27
-9
-64
-16
-17
-81
30
-5
0
0
0
0
0
0
0
36
38
-5
21
-18
129
-129
42
29
48
0
0
0
0
0
0
0
-11
73
10
65
46
8
-26
9
-49
-13
4
0
0
0
0
0
0
-6
-51
-13
-9
5
-29
15
-41
41
-6
0
0
0
0
0
0
0
-4
6
4
-1
-7
-31
-5
-1
58
-7
0
0
0
0
0
0
0
-3
-39
-23
17
0
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
45
59
-36
6
4
-92
-30
0
1
0
0
0
0
0
0
0
0
-8
-2
16
134
-12
19
26
-26
-1
-1
0
0
0
0
0
0
4
-16
52
-21
-20
52
-19
-54
25
-1
0
0
0
0
0
0
0
-14
9
49
41
49
-15
75
18
-12
0
0
0
0
0
0
0
0
40
24
24
19
-32
-7
-43
40
0
14
0
0
0
0
0
0
0
2
46
-18
22
18
-1
-10
-33
-3
0
0
0
0
0
0
0
0
31
31
30
49
41
18
-51
-14
-6
0
0
0
0
0
0
0
0
0
-42
9
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
45
34
-18
-11
-4
-2
0
-1
0
0
0
0
0
0
0
0
11
46
-29
-35
-66
14
-7
6
0
0
0
0
0
0
0
0
0
4
26
53
23
-11
41
-4
-6
-3
0
0
0
0
0
0
0
0
21
43
125
30
1
13
10
2
-13
0
0
0
0
0
0
0
0
48
-18
-12
-19
-39
13
13
-3
2
0
0
0
0
0
0
0
0
6
20
-41
-40
22
-16
7
-5
-5
0
0
0
0
0
0
0
0
-13
46
-13
3
1
-3
7
2
0
0
0
0
0
0
0
0
0
58
7
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-1
-1
-8
1
0
0
1
0
0
0
0
0
0
0
-2
0
-25
-48
-17
-1
-6
3
1
0
0
0
0
0
0
0
0
0
-1
19
-9
3
-12
-9
1
0
-1
0
0
0
0
0
0
0
0
5
5
1
0
-3
3
0
-8
0
0
0
0
0
0
0
0
-4
0
15
9
0
-5
-2
-5
0
3
0
0
0
0
0
0
0
1
0
0
6
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-5
-9
0
-1
13
0
0
0
0
0
0
0
0
0
0
17
40
-22
8
-21
31
-2
-3
0
0
0
0
0
0
0
0
0
4
-15
-25
16
48
-19
4
1
0
0
0
0
0
0
0
0
0
-14
41
-1
23
0
-2
1
0
0
0
0
0
0
0
0
0
0
15
1
-55
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
13
93
54
-50
0
-2
0
0
0
0
0
0
0
0
0
38
12
-34
22
152
1
4
-1
0
0
0
0
0
0
0
0
0
33
-32
41
-46
0
1
0
0
0
0
0
0
0
0
0
0
0
-11
-10
-30
3
12
0
1
1
0
0
0
0
0
0
0
0
0
4
8
29
18
31
0
-6
0
0
0
0
0
0
0
0
0
0
9
2
-6
13
-8
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-6
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-6
-105
-31
-1
0
0
0
0
0
0
0
0
0
0
0
5
19
14
-47
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
87
48
-5
43
-2
2
0
0
0
0
0
0
0
0
0
24
42
-50
-81
-10
-18
-9
6
0
0
0
0
0
0
0
0
0
-18
25
-11
47
1
-4
8
6
-10
0
0
0
0
0
0
0
0
-4
4
44
34
16
-6
-10
-1
0
0
0
0
0
0
0
0
0
-4
47
-47
82
4
8
14
0
2
0
0
0
0
0
0
0
0
41
54
30
39
2
-22
0
-2
0
0
0
0
0
0
0
0
0
-19
1
-13
-16
-8
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
43
-29
-71
-12
11
-25
-19
0
0
0
0
0
0
0
0
0
15
23
-39
4
48
-4
-59
-5
10
0
0
0
0
0
0
0
0
-10
13
47
4
-8
11
-51
-20
82
19
0
0
0
0
0
0
0
32
0
-20
-36
38
33
69
39
-16
0
0
0
0
0
0
0
0
12
-50
98
-1
66
3
-90
-3
16
8
0
0
0
0
0
0
0
-40
0
45
8
40
-23
42
-19
-40
0
0
0
0
0
0
0
0
-13
-32
76
3
76
36
1
-12
0
0
0
0
0
0
0
0
0
29
18
5
23
5
0
0
-4
-2
0
0
0
0
0
0
0
0
-22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
63
17
53
44
-17
-3
19
0
-12
0
0
0
0
0
0
0
-3
-24
20
23
54
6
-54
39
-11
0
-4
0
0
0
0
0
0
23
-27
4
23
-24
-125
61
7
18
-5
0
0
0
0
0
0
0
-6
22
-12
2
31
-10
-2
40
15
22
0
0
0
0
0
0
0
43
23
-73
17
18
-40
-23
121
8
6
0
0
0
0
0
0
0
-42
73
-1
127
-7
-1
18
-31
-15
-5
0
0
0
0
0
0
0
32
54
48
-54
36
-33
-19
0
-8
-3
0
0
0
0
0
0
0
2
49
27
-37
-8
-1
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
34
21
-9
-6
-10
52
0
0
0
0
0
0
0
0
0
-6
20
74
-24
-39
-44
-21
-38
-5
0
0
0
0
0
0
0
0
-7
25
20
38
-38
13
36
10
4
4
0
0
0
0
0
0
0
0
24
59
-6
7
62
8
21
9
3
0
0
0
0
0
0
0
-1
-46
38
-87
-33
-13
5
0
27
1
0
0
0
0
0
0
0
-24
-18
0
-13
0
-6
24
-24
4
0
0
0
0
0
0
0
0
-10
8
-27
34
2
-27
-4
-5
8
0
0
0
0
0
0
0
0
8
3
32
-2
-3
8
0
1
0
0
0
0
0
0
0
0
0
-34
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
10
63
46
17
-34
16
5
0
0
0
0
0
0
0
0
0
-29
-6
-58
-53
26
2
-11
-40
-46
-6
2
0
0
0
0
0
0
7
31
84
-40
32
-70
-17
-12
-7
25
0
0
0
0
0
0
0
92
-60
-35
1
-31
26
8
27
34
-13
0
0
0
0
0
0
0
-8
39
-10
-26
40
12
7
-19
4
-7
0
0
0
0
0
0
0
2
-22
44
6
30
3
-53
-23
0
-2
0
0
0
0
0
0
0
-5
29
-2
-61
-16
18
1
0
1
0
0
0
0
0
0
0
0
19
-75
-14
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-47
-24
-55
18
23
20
-17
0
-2
0
0
0
0
0
0
0
6
34
46
8
25
-9
-1
16
-1
0
0
0
0
0
0
0
0
-47
-19
21
41
-11
-19
-15
4
-18
2
0
0
0
0
0
0
0
-9
-15
67
-65
41
-16
-37
24
-7
4
0
0
0
0
0
0
0
40
1
-15
9
10
32
52
5
-25
-1
0
0
0
0
0
0
0
-23
-48
59
-2
-2
20
24
-4
0
0
0
0
0
0
0
0
0
18
-6
39
-15
0
-2
-4
2
7
0
0
0
0
0
0
0
0
0
-59
-14
23
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-4
-13
33
-49
16
27
0
-13
0
0
0
0
0
0
0
-5
12
42
16
-2
-21
-2
-40
40
0
4
0
0
0
0
0
0
0
-46
1
47
7
-36
24
1
3
-1
0
0
0
0
0
0
0
0
34
-27
-10
-54
-19
2
1
9
4
0
0
0
0
0
0
0
0
-34
-2
-11
12
-15
-34
1
4
0
0
0
0
0
0
0
0
3
-20
-12
-7
-3
-10
3
4
0
0
0
0
0
0
0
0
0
0
8
-15
41
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-18
20
5
-34
19
0
-1
0
0
0
0
0
0
0
-4
-29
56
-11
31
-50
-16
-13
0
0
0
0
0
0
0
0
0
-21
29
-48
3
-18
-3
2
6
0
0
0
0
0
0
0
0
0
-48
-5
-28
21
17
-14
-5
-3
3
0
0
0
0
0
0
0
0
0
-8
8
5
-12
8
12
0
0
0
0
0
0
0
0
0
0
4
-5
-12
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
5
-16
2
1
0
5
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
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
16
91
7
-30
44
19
0
0
0
0
0
0
0
0
0
0
-21
9
6
20
4
34
61
-7
-1
0
0
0
0
0
0
0
0
-42
-50
43
-27
-33
-23
19
-1
0
0
0
0
0
0
0
0
0
-21
-8
-25
20
57
-60
0
0
0
0
0
0
0
0
0
0
0
-3
36
7
-11
-3
-5
0
0
-2
0
0
0
0
0
0
0
0
-45
16
-27
4
-17
5
0
1
0
0
0
0
0
0
0
0
0
-2
10
-1
-3
0
0
-4
-2
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-6
-12
-75
82
-12
74
0
-2
0
0
0
0
0
0
0
0
30
-108
-1
-72
-4
-26
-12
20
0
0
0
0
0
0
0
0
0
48
-15
46
-2
28
-94
23
2
0
0
0
0
0
0
0
0
0
-57
19
10
-50
-38
-32
10
-4
0
0
0
0
0
0
0
0
0
21
-18
-22
46
-44
-11
-1
-1
0
0
0
0
0
0
0
0
0
84
4
-39
-8
-18
2
9
0
0
0
0
0
0
0
0
0
0
-34
-7
-56
8
0
0
1
-1
0
0
0
0
0
0
0
0
0
51
-7
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-16
2
2
0
-1
0
0
0
0
0
0
0
0
0
-23
4
41
24
31
2
2
0
0
0
0
0
0
0
0
0
0
55
-10
-6
-32
40
1
10
0
0
0
0
0
0
0
0
0
0
-2
-5
14
-9
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-7
1
-5
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
-1
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
1
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-73
17
-4
-22
1
0
0
0
0
0
0
0
0
0
0
-3
49
8
19
24
-18
40
13
0
0
0
0
0
0
0
0
0
13
-10
0
3
-72
-8
1
6
6
0
0
0
0
0
0
0
0
1
5
-1
10
10
33
0
-1
2
0
0
0
0
0
0
0
0
-2
75
44
19
13
-13
-16
0
0
0
0
0
0
0
0
0
0
-7
44
-9
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
-20
8
-2
0
0
0
0
0
0
0
0
0
0
0
8
32
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
17
47
7
-51
-77
-23
-58
0
0
0
0
0
0
0
0
0
-41
-63
-108
38
38
26
-46
-17
17
-3
0
0
0
0
0
0
0
25
-7
-5
6
37
-29
32
-6
-12
-8
0
0
0
0
0
0
0
6
-14
53
-47
20
29
-45
5
27
0
0
0
0
0
0
0
0
1
22
2
6
23
43
61
-48
-41
0
0
0
0
0
0
0
0
50
-48
-12
38
-26
34
102
-3
-14
-2
0
0
0
0
0
0
0
-27
1
-18
-27
1
13
-25
-12
2
0
0
0
0
0
0
0
0
4
40
9
8
2
17
4
-3
0
0
0
0
0
0
0
0
0
13
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
14
-44
15
94
17
-9
0
-2
0
0
0
0
0
0
0
9
58
15
-41
62
-57
47
5
49
0
4
0
0
0
0
0
0
22
-18
-41
-34
28
20
37
29
41
0
0
0
0
0
0
0
0
-32
21
-28
-27
-10
-101
-38
16
107
-1
0
0
0
0
0
0
0
17
-16
8
1
-47
-27
-2
-41
-4
5
0
0
0
0
0
0
0
4
-6
9
22
68
27
41
-13
-24
0
0
0
0
0
0
0
0
22
-14
-22
36
-4
-30
-10
6
3
0
0
0
0
0
0
0
0
-33
-31
-57
3
40
30
1
0
0
0
0
0
0
0
0
0
0
-29
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
27
-20
4
-51
-17
66
0
4
0
0
0
0
0
0
0
21
43
-22
-7
-37
31
45
-19
-3
0
-2
0
0
0
0
0
0
0
11
-17
4
-3
-31
-16
0
-30
24
0
0
0
0
0
0
0
74
56
68
11
-5
33
2
-3
17
6
0
0
0
0
0
0
0
32
-37
-7
-19
1
19
20
-4
3
0
0
0
0
0
0
0
0
14
48
4
-27
-14
-42
19
8
2
0
0
0
0
0
0
0
0
10
14
43
-41
-2
-16
-1
0
-2
0
0
0
0
0
0
0
0
7
51
-4
27
2
4
0
0
-3
0
0
0
0
0
0
0
0
-8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
40
20
77
-29
21
14
0
0
0
0
0
0
0
0
0
12
12
-11
-40
46
105
-17
-18
-66
1
0
0
0
0
0
0
0
1
-35
15
0
-4
-50
-12
58
-1
-1
0
0
0
0
0
0
0
13
-1
-16
9
35
-5
25
-6
-55
-4
0
0
0
0
0
0
0
-9
-60
23
-42
8
-19
-15
44
-8
4
0
0
0
0
0
0
0
16
29
-9
34
-50
17
4
-22
-20
2
0
0
0
0
0
0
0
33
-16
21
-6
12
10
-25
0
2
0
0
0
0
0
0
0
0
-3
29
41
-12
0
0
0
0
2
0
0
0
0
0
0
0
0
2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-36
8
0
20
3
-16
27
0
0
0
0
0
0
0
0
0
5
106
8
-24
89
4
-62
30
14
1
0
0
0
0
0
0
0
16
-54
-26
55
-36
-12
8
-18
1
8
0
0
0
0
0
0
0
2
-16
-22
6
-27
3
-1
-38
1
0
0
0
0
0
0
0
0
5
-79
40
-10
-37
4
1
-30
-13
0
0
0
0
0
0
0
0
1
-37
-22
34
60
-4
-18
5
0
0
0
0
0
0
0
0
0
-2
-31
30
29
25
-2
-9
4
0
0
0
0
0
0
0
0
0
13
-22
-17
2
-3
0
0
-2
0
0
0
0
0
0
0
0
0
1
5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
18
-12
74
-6
12
13
0
0
0
0
0
0
0
0
0
0
-17
11
-18
63
-9
41
24
10
0
0
0
0
0
0
0
0
0
13
-35
29
0
-34
5
7
3
0
0
0
0
0
0
0
0
0
-35
-58
-1
-18
-4
2
0
-3
0
0
0
0
0
0
0
0
0
21
13
-49
8
-16
0
-1
-6
-1
0
0
0
0
0
0
0
0
34
-5
-20
3
-20
5
3
0
0
0
0
0
0
0
0
0
0
-25
30
-2
4
0
1
0
-8
0
0
0
0
0
0
0
0
0
10
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-13
-2
40
-15
-23
0
0
0
0
0
0
0
0
0
-22
13
17
46
-51
7
10
28
-29
0
0
0
0
0
0
0
0
-5
-12
41
-40
21
-41
-31
0
-4
2
0
0
0
0
0
0
0
-25
2
18
-34
9
-8
-1
0
0
0
0
0
0
0
0
0
0
-25
-14
-1
-63
1
20
-29
0
-4
0
0
0
0
0
0
0
0
12
0
-14
5
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-25
-2
7
0
0
-3
-2
0
0
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-80
-31
7
-21
-26
15
21
0
0
0
0
0
0
0
0
0
-21
-37
-45
22
53
33
57
66
-25
2
0
0
0
0
0
0
0
31
12
-11
-127
-52
61
-2
-4
2
0
0
0
0
0
0
0
0
-13
16
22
-27
-1
-8
23
-1
0
0
0
0
0
0
0
0
0
10
2
-49
-81
77
24
44
-3
0
0
0
0
0
0
0
0
0
-57
-86
22
11
-5
4
-4
-3
1
-1
0
0
0
0
0
0
0
17
26
31
29
22
-17
0
0
1
0
0
0
0
0
0
0
0
5
-53
-6
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
-24
-111
5
52
71
0
0
0
0
0
0
0
0
0
0
-5
50
-32
-22
93
0
-5
19
0
0
0
0
0
0
0
0
0
83
-47
28
70
-24
76
26
-8
0
0
0
0
0
0
0
0
0
-27
7
-7
19
-1
-79
13
0
0
0
0
0
0
0
0
0
0
12
-19
-2
-6
1
18
-4
0
0
0
0
0
0
0
0
0
0
-81
-34
-13
51
18
-1
8
1
0
0
0
0
0
0
0
0
0
-59
14
50
-4
6
-2
-7
4
-5
0
0
0
0
0
0
0
0
-45
-13
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
2
0
0
-5
0
0
0
0
0
0
0
0
0
12
6
24
13
14
3
-1
-3
0
0
0
0
0
0
0
0
0
-2
1
-63
-3
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-33
-2
-9
-6
0
0
0
0
0
0
0
0
0
0
6
5
4
-4
4
0
-2
0
0
0
0
0
0
0
0
0
0
5
-3
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
23
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
8
32
20
-13
42
1
0
0
0
0
0
0
0
0
0
3
48
3
-3
19
5
-27
-9
0
0
0
0
0
0
0
0
0
-8
7
-78
21
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-23
-2
-3
-3
0
0
0
0
0
0
0
0
0
-2
42
-28
24
-6
0
-4
-1
0
0
0
0
0
0
0
0
0
13
22
31
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
-31
23
-17
4
8
2
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
28
17
-2
0
13
-18
4
0
0
0
0
0
0
0
0
0
-49
-24
-3
8
24
24
28
89
-1
0
0
0
0
0
0
0
0
-35
-43
0
-7
-11
51
7
0
-4
0
0
0
0
0
0
0
0
11
-25
43
-53
16
-7
42
30
25
0
0
0
0
0
0
0
0
-3
0
0
56
25
-49
15
-7
14
0
0
0
0
0
0
0
0
67
5
28
-61
-50
44
6
14
1
0
0
0
0
0
0
0
0
32
42
29
23
-4
29
-18
-4
3
0
0
0
0
0
0
0
0
49
-3
-26
0
1
-41
1
-5
0
0
0
0
0
0
0
0
0
-45
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
4
20
-9
5
24
-2
0
0
0
0
0
0
0
0
0
5
-47
109
-1
-3
-23
-69
-53
-19
0
2
0
0
0
0
0
0
8
70
-7
-94
36
11
12
21
-13
7
0
0
0
0
0
0
0
23
45
-21
-101
-71
-47
54
50
-6
0
0
0
0
0
0
0
0
0
14
0
-30
10
-27
-30
16
4
0
0
0
0
0
0
0
0
8
72
-5
2
-28
31
-32
25
18
-2
0
0
0
0
0
0
0
6
77
17
19
-31
39
-10
-22
-2
-7
0
0
0
0
0
0
0
34
6
34
-30
43
7
-2
-4
-4
0
0
0
0
0
0
0
0
9
-10
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
20
82
52
44
-5
-16
55
0
0
0
0
0
0
0
0
0
16
8
198
-52
-17
19
-36
49
-1
0
0
0
0
0
0
0
0
-48
49
67
21
11
-37
23
-22
-4
8
0
0
0
0
0
0
0
22
-35
40
-12
16
-20
8
-8
41
6
0
0
0
0
0
0
0
-33
34
0
0
1
-21
32
3
-8
0
0
0
0
0
0
0
0
5
-6
59
-1
44
-27
27
-3
0
0
0
0
0
0
0
0
0
-15
5
-14
1
12
-4
14
0
2
0
0
0
0
0
0
0
0
7
-1
-8
-8
-3
-2
0
0
2
0
0
0
0
0
0
0
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
26
69
-29
43
-16
-11
0
3
0
0
0
0
0
0
0
5
47
13
5
-81
0
-27
-1
6
-4
0
0
0
0
0
0
0
22
-31
-1
-12
31
34
-20
28
13
-5
0
0
0
0
0
0
0
12
23
-14
-12
-2
-39
-4
10
-1
0
0
0
0
0
0
0
0
0
-5
-20
-1
0
2
3
-18
6
1
0
0
0
0
0
0
0
-8
44
0
39
2
-2
-40
2
19
0
0
0
0
0
0
0
0
-1
23
8
24
1
-2
-1
-7
0
0
0
0
0
0
0
0
0
-3
40
-42
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
5
17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
17
58
-37
0
-14
-6
0
0
0
0
0
0
0
0
0
-4
41
52
-43
40
-17
34
-7
-9
1
0
0
0
0
0
0
0
19
26
-13
-25
20
17
-30
-5
1
-2
0
0
0
0
0
0
0
27
-3
-41
-3
-53
-2
6
-2
-3
-3
0
0
0
0
0
0
0
0
-30
12
13
0
0
0
8
2
0
0
0
0
0
0
0
0
4
93
-14
15
31
0
0
-2
3
0
0
0
0
0
0
0
0
-17
68
6
14
-2
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
-41
-12
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
27
-18
-15
-8
-14
0
-3
0
0
0
0
0
0
0
0
-16
11
41
45
-93
-7
-3
5
0
0
0
0
0
0
0
0
0
28
-35
3
6
19
65
5
0
-1
0
0
0
0
0
0
0
0
-23
45
-49
-1
-23
0
2
0
4
0
0
0
0
0
0
0
0
-12
8
-3
14
0
0
0
6
0
0
0
0
0
0
0
0
0
-29
5
30
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-46
6
13
4
5
0
0
0
2
0
0
0
0
0
0
0
-9
-2
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
49
0
-74
5
36
5
0
0
0
0
0
0
0
0
0
34
-27
-24
-19
-38
3
67
8
-22
0
0
0
0
0
0
0
0
-18
2
-5
44
19
-20
-26
-6
9
-4
0
0
0
0
0
0
0
-15
-47
47
-74
-5
-34
-1
1
-3
0
0
0
0
0
0
0
0
1
39
-10
-3
-26
4
0
0
0
0
0
0
0
0
0
0
0
20
1
9
59
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
-18
0
0
0
0
0
0
0
0
0
0
0
0
-25
-9
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
28
50
-2
23
22
32
65
0
-1
0
0
0
0
0
0
0
-103
-6
-34
-12
1
7
-9
66
-28
-10
0
0
0
0
0
0
0
65
-2
-29
29
41
66
46
-66
-13
3
0
0
0
0
0
0
0
-19
-30
-97
-73
-13
3
-9
-10
1
5
0
0
0
0
0
0
0
50
-32
19
25
3
-79
-2
0
0
0
0
0
0
0
0
0
0
-10
30
63
50
-10
4
-9
0
0
0
0
0
0
0
0
0
0
-5
-51
11
-33
36
-11
7
0
-8
0
0
0
0
0
0
0
0
-13
18
-28
-9
0
0
0
0
19
0
0
0
0
0
0
0
0
44
6
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
47
-43
-9
69
18
19
56
0
0
0
0
0
0
0
0
0
0
-47
-22
-13
12
0
88
-5
21
-1
0
0
0
0
0
0
0
0
114
-50
8
-62
18
-24
48
-1
0
0
0
0
0
0
0
0
0
3
24
-49
7
47
71
79
-9
0
0
0
0
0
0
0
0
0
2
-57
-97
-62
-60
-53
-5
0
0
0
0
0
0
0
0
0
0
19
52
-9
99
2
24
51
1
0
0
0
0
0
0
0
0
0
37
29
-28
-9
-28
12
1
-3
-2
0
0
0
0
0
0
0
0
57
35
-67
-6
24
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-19
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-11
2
23
5
8
9
2
2
0
0
0
0
0
0
0
0
0
-20
5
12
1
0
-29
0
0
0
0
0
0
0
0
0
0
0
4
-2
11
-8
-8
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
13
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-20
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
4
-6
-20
-2
-5
2
10
0
0
0
0
0
0
0
0
0
-23
-18
24
-9
-2
0
3
0
0
0
0
0
0
0
0
0
0
-2
-5
24
17
-4
27
-1
0
0
0
0
0
0
0
0
0
0
0
-19
60
6
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-2
6
0
-1
0
0
0
0
0
0
0
0
0
0
4
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
65
11
4
96
31
37
8
0
0
0
0
0
0
0
0
0
-91
-49
35
54
17
-49
-6
-2
-2
-4
0
0
0
0
0
0
0
40
11
44
3
36
0
-41
-6
2
0
0
0
0
0
0
0
0
-29
-25
26
-71
-28
4
24
42
-6
0
0
0
0
0
0
0
0
-14
0
-11
-26
30
-7
23
-38
-20
0
0
0
0
0
0
0
0
0
0
-1
3
-5
80
29
-4
12
0
0
0
0
0
0
0
0
8
0
-2
-15
-19
-10
41
-3
-4
0
0
0
0
0
0
0
0
-2
15
-2
-4
-55
5
0
0
0
0
0
0
0
0
0
0
0
4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
33
25
37
12
14
-3
24
0
0
0
0
0
0
0
0
0
-1
23
-3
70
55
-106
46
-28
12
17
0
0
0
0
0
0
0
13
-13
-22
-28
18
-2
3
-11
-1
0
0
0
0
0
0
0
0
-1
24
12
37
-7
10
5
13
-9
0
0
0
0
0
0
0
0
0
-11
0
-53
-23
-106
-16
16
19
0
0
0
0
0
0
0
0
-12
17
0
5
33
48
9
19
-16
-2
0
0
0
0
0
0
0
-10
-5
-4
11
-47
7
13
-7
-1
0
0
0
0
0
0
0
0
5
-13
5
18
13
-15
0
3
0
0
0
0
0
0
0
0
0
27
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
38
-25
43
9
-20
21
0
0
0
0
0
0
0
0
0
8
76
-14
-28
15
-35
9
-3
-4
0
-4
0
0
0
0
0
0
1
83
38
-11
-3
48
-7
7
-6
0
0
0
0
0
0
0
0
8
28
3
-53
60
7
5
12
2
-3
0
0
0
0
0
0
0
14
56
-18
1
50
4
-13
-1
-3
0
0
0
0
0
0
0
0
-2
23
0
0
-5
-1
42
8
-8
0
0
0
0
0
0
0
0
-4
-125
47
0
3
-9
1
0
1
0
0
0
0
0
0
0
0
-13
-33
34
2
1
0
0
0
1
0
0
0
0
0
0
0
0
-8
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
41
29
-40
-30
45
8
0
0
0
0
0
0
0
0
0
0
6
-14
2
-63
25
5
23
-1
0
0
0
0
0
0
0
0
46
49
50
7
41
5
-45
-1
16
-3
0
0
0
0
0
0
0
1
44
45
14
10
48
11
19
0
-1
0
0
0
0
0
0
0
-1
50
37
-63
-8
10
-27
-8
2
0
0
0
0
0
0
0
0
-9
-6
48
-1
0
25
0
1
-9
0
0
0
0
0
0
0
0
6
-3
-47
18
1
-4
10
-7
0
0
0
0
0
0
0
0
0
31
43
14
2
0
-2
0
-4
0
0
0
0
0
0
0
0
0
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-48
6
4
-21
-43
-21
0
0
0
0
0
0
0
0
0
3
0
-33
-52
52
-22
-11
18
4
0
5
0
0
0
0
0
0
14
-45
-28
-17
-12
-3
-43
-18
-2
0
0
0
0
0
0
0
0
4
10
-43
20
32
1
37
-24
32
-8
0
0
0
0
0
0
0
1
-57
15
31
-3
6
0
-1
1
-1
0
0
0
0
0
0
0
0
-44
41
-3
1
0
0
-3
0
0
0
0
0
0
0
0
0
25
-30
89
35
-17
-3
-1
5
-2
0
0
0
0
0
0
0
0
2
33
20
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-48
16
-13
-5
40
-7
0
0
0
0
0
0
0
0
0
0
-36
-7
-22
-4
0
-41
37
8
0
0
0
0
0
0
0
0
0
-5
11
-29
-32
-27
-28
-12
-15
0
0
0
0
0
0
0
0
0
57
2
17
-20
18
13
11
-1
0
0
0
0
0
0
0
0
0
-22
-19
40
-50
10
0
2
-8
0
0
0
0
0
0
0
0
0
-9
12
-36
6
0
0
0
0
5
0
0
0
0
0
0
0
4
13
1
25
-22
8
1
0
5
0
0
0
0
0
0
0
0
1
-4
-13
21
0
5
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-1
-33
1
-3
-47
0
0
0
0
0
0
0
0
0
0
-7
-6
-22
-8
7
24
46
-44
13
0
0
0
0
0
0
0
0
10
21
-21
-94
-29
58
-1
-4
16
1
0
0
0
0
0
0
0
-19
-1
-21
-26
41
17
29
-1
-2
0
0
0
0
0
0
0
0
-12
-25
-13
-3
10
-3
-9
0
0
0
0
0
0
0
0
0
0
-9
-23
-3
-8
13
5
0
0
0
0
0
0
0
0
0
0
0
9
18
-12
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-21
19
48
0
40
7
-13
0
-1
0
0
0
0
0
0
0
25
-94
24
-72
-12
23
22
-4
-28
-2
0
0
0
0
0
0
0
-23
-46
-53
-6
-60
66
121
-46
-9
-6
0
0
0
0
0
0
0
34
-33
-9
-34
-18
61
45
-32
29
0
0
0
0
0
0
0
0
-14
-19
45
0
-43
9
-26
0
0
0
0
0
0
0
0
0
0
20
8
-75
-77
4
-73
-12
0
0
0
0
0
0
0
0
0
0
-9
-62
-93
-54
-3
-28
4
-1
0
0
0
0
0
0
0
0
0
-43
3
-50
-12
5
4
0
0
8
0
0
0
0
0
0
0
0
-71
-4
-7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
43
46
14
2
-10
16
-43
0
0
0
0
0
0
0
0
0
0
-13
48
3
1
-16
63
31
26
3
-2
0
0
0
0
0
0
0
-65
-6
-76
-2
65
91
17
24
0
0
0
0
0
0
0
0
0
-2
64
-68
-39
31
26
4
-19
0
0
0
0
0
0
0
0
0
18
13
3
-112
58
-19
29
0
0
0
0
0
0
0
0
0
0
8
-76
-13
-40
-86
-47
-8
0
0
0
0
0
0
0
0
0
0
5
33
23
-26
-23
4
1
0
0
0
0
0
0
0
0
0
0
-24
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-14
17
-19
-2
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-5
8
-5
-1
-2
0
-4
0
0
0
0
0
0
0
0
0
-1
-1
22
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-10
51
7
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
2
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-17
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
1
16
-18
-43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
-46
-25
-4
0
-1
-8
0
0
0
0
0
0
0
0
0
9
44
-70
-20
3
-22
12
-16
-3
0
0
0
0
0
0
0
0
-22
-17
-34
-29
44
16
-33
-10
-10
-1
0
0
0
0
0
0
0
-9
-22
-1
42
-21
11
6
-17
0
0
0
0
0
0
0
0
0
13
0
-81
-44
-58
43
11
0
3
0
0
0
0
0
0
0
0
11
0
40
20
28
-33
32
32
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
-9
0
0
0
0
0
0
0
0
0
0
20
0
0
85
0
-45
-2
1
0
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-7
-23
3
50
17
-5
0
0
0
0
0
0
0
0
0
0
-34
41
70
54
24
-7
10
2
0
0
0
0
0
0
0
0
-1
-61
-45
39
11
12
19
24
3
0
0
0
0
0
0
0
0
-3
-84
-58
91
-10
-2
3
-16
-6
-8
0
0
0
0
0
0
0
-2
-3
-8
12
-30
-12
-40
-19
1
0
0
0
0
0
0
0
0
0
31
0
1
-43
6
3
-10
-12
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-12
6
17
0
-3
0
0
0
0
0
0
0
25
10
0
13
-6
2
-2
-3
3
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
17
0
4
-25
-27
12
0
0
0
0
0
0
0
0
0
8
17
55
-57
75
17
-15
15
-1
0
0
0
0
0
0
0
0
12
29
17
35
-41
12
9
-29
4
0
0
0
0
0
0
0
0
0
45
59
51
13
-40
20
8
3
0
0
0
0
0
0
0
0
-3
12
41
20
-84
21
-14
-2
-7
1
0
0
0
0
0
0
0
7
23
-99
0
48
57
-25
-6
40
0
0
0
0
0
0
0
0
-10
3
3
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
8
8
-4
0
0
1
-3
6
0
0
0
0
0
0
0
0
0
-26
-1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-38
22
-14
-8
13
-5
0
0
0
0
0
0
0
0
0
0
36
18
-11
-82
-17
-25
11
-7
0
0
0
0
0
0
0
0
3
57
26
55
-10
-53
42
-18
-4
-10
0
0
0
0
0
0
0
9
-24
10
30
-29
31
-6
-14
0
0
0
0
0
0
0
0
0
0
55
32
-26
-14
23
-25
8
0
0
0
0
0
0
0
0
0
-1
-28
-32
-13
0
42
10
2
-8
2
0
0
0
0
0
0
0
2
1
-6
0
0
5
2
4
-4
0
0
0
0
0
0
0
0
-4
26
3
-8
0
-1
6
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
10
2
0
0
-20
4
0
0
0
0
0
0
0
0
0
-8
-55
-14
-22
5
-19
79
9
-5
0
0
0
0
0
0
0
0
0
-1
30
-17
26
-19
2
-19
-13
0
0
0
0
0
0
0
0
0
-7
-2
33
-76
15
33
-10
-6
0
0
0
0
0
0
0
0
2
5
49
-37
-2
-4
-20
-1
8
0
0
0
0
0
0
0
0
0
-14
5
-10
-13
0
0
-3
5
0
0
0
0
0
0
0
0
3
32
16
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-25
-1
-16
0
0
0
1
-2
0
0
0
0
0
0
0
0
24
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
2
-1
-5
7
-3
0
0
0
0
0
0
0
0
0
0
16
-2
1
-15
0
8
5
0
0
0
0
0
0
0
0
0
0
38
5
8
48
-13
-52
10
-1
0
0
0
0
0
0
0
0
0
47
-3
40
39
-3
-8
-15
1
0
0
0
0
0
0
0
0
0
38
-19
-15
-10
29
13
-3
0
-19
0
0
0
0
0
0
0
-22
-8
3
22
49
-2
0
-4
3
0
0
0
0
0
0
0
0
0
21
32
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
16
2
3
8
-7
0
-4
0
0
0
0
0
0
0
0
0
14
20
-17
15
3
74
-37
10
-2
3
0
0
0
0
0
0
0
-5
8
0
-23
17
42
-7
0
0
0
0
0
0
0
0
0
0
0
-3
2
3
21
3
0
0
1
0
0
0
0
0
0
0
0
1
6
14
-10
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
-46
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-32
-6
46
7
-30
-42
7
0
0
0
0
0
0
0
0
0
-18
21
-13
-2
12
86
-18
-62
-63
0
0
0
0
0
0
0
0
4
-18
-47
-28
-79
51
-2
33
15
1
0
0
0
0
0
0
0
-1
29
64
-90
63
-23
12
-1
6
0
0
0
0
0
0
0
0
4
9
-124
2
19
72
15
5
0
0
0
0
0
0
0
0
0
1
13
-68
-8
-51
29
5
0
0
0
0
0
0
0
0
0
0
-8
-18
7
41
48
-16
1
0
0
0
0
0
0
0
0
0
0
-25
1
29
71
4
-1
-2
0
0
0
0
0
0
0
0
0
0
-6
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
46
12
23
21
35
-41
0
2
0
0
0
0
0
0
0
0
13
-12
-63
-1
-8
18
0
5
0
0
0
0
0
0
0
0
0
-22
-5
-9
-49
29
-46
-69
-20
-6
0
0
0
0
0
0
0
0
-28
0
-5
-47
16
-5
-3
1
0
0
0
0
0
0
0
0
0
12
-25
51
-4
-24
-2
2
8
0
0
0
0
0
0
0
0
0
8
65
9
31
1
12
-58
0
0
0
0
0
0
0
0
0
0
-23
-22
33
25
2
-8
2
0
0
0
0
0
0
0
0
0
0
-81
21
-15
24
5
1
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-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
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
0
-3
10
0
0
0
0
0
0
0
0
0
0
13
10
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
7
-2
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
54
-12
10
-2
8
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-1
5
10
-1
8
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-11
5
33
0
0
0
0
0
0
0
0
0
0
0
11
-5
-4
72
-1
7
0
2
0
0
0
0
0
0
0
0
0
-29
-5
14
68
-10
8
3
-12
0
0
0
0
0
0
0
0
0
25
0
37
-55
-2
0
2
-1
0
0
0
0
0
0
0
0
0
1
0
38
51
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
16
-15
10
40
0
0
0
0
0
0
0
0
0
0
-3
-12
26
33
-69
-24
-30
11
4
0
0
0
0
0
0
0
0
0
-42
-12
-47
-37
17
14
7
0
0
0
0
0
0
0
0
0
4
14
-23
38
-57
8
-6
1
0
0
0
0
0
0
0
0
0
0
-53
7
3
32
77
-2
0
6
0
0
0
0
0
0
0
0
0
27
10
37
-29
-2
3
19
0
0
0
0
0
0
0
0
0
-1
-15
3
14
-41
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
31
-12
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
21
-8
0
7
4
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
-12
-5
-3
0
0
0
0
0
0
0
0
0
0
0
3
-17
-32
-39
9
0
0
5
0
0
0
0
0
0
0
0
-2
-31
-6
8
4
40
7
1
0
0
0
0
0
0
0
0
0
2
-75
44
-20
29
-13
25
25
0
0
0
0
0
0
0
0
0
-6
10
41
3
59
-9
9
3
-2
-4
0
0
0
0
0
0
0
2
20
16
0
-10
10
0
-1
-3
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
26
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-6
1
3
-22
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-5
3
-5
-5
-25
0
0
0
0
0
0
0
0
0
0
-42
8
19
-48
-25
-10
1
0
0
0
0
0
0
0
0
0
2
-7
13
17
15
28
19
1
0
0
0
0
0
0
0
0
0
0
-29
-2
51
-1
8
-5
-1
0
0
0
0
0
0
0
0
0
0
8
2
-8
0
2
0
-6
0
0
0
0
0
0
0
0
0
-3
-6
20
-9
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
48
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
-1
5
0
0
0
0
0
0
0
0
0
0
-1
-5
1
-3
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
-4
2
-1
30
0
0
0
0
0
0
0
0
0
0
-9
-2
8
-2
-10
5
1
1
0
0
0
0
0
0
0
0
0
-2
3
-27
25
19
-6
0
0
-2
0
0
0
0
0
0
0
0
0
2
8
-1
25
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
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
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
6
-16
0
10
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
0
0
0
0
0
-36
-2
0
1
8
20
0
1
0
0
0
0
0
0
0
0
0
6
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-31
47
10
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
25
4
2
0
0
0
1
0
0
0
0
0
0
0
0
-12
3
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
25
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-7
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
-48
-5
-13
-1
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
2
-4
12
-87
25
8
-14
2
0
0
0
0
0
0
0
-6
-35
-7
-35
-13
34
-1
-7
-3
-15
0
0
0
0
0
0
0
1
-25
-12
41
51
14
-2
1
0
0
0
0
0
0
0
0
0
0
48
13
41
12
10
0
-2
0
0
0
0
0
0
0
0
0
0
19
-6
-12
6
-1
0
0
0
0
0
0
0
0
0
0
0
6
7
5
-21
2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-4
2
-5
-29
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
1
5
-6
-8
-2
3
0
0
0
0
0
0
0
0
0
0
-8
-42
3
4
3
16
0
0
0
0
0
0
0
0
0
0
0
-8
52
-22
7
5
5
0
0
0
0
0
0
0
0
0
0
0
-7
5
-9
12
1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-17
24
-1
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
60
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-30
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
2
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
9
-20
13
0
0
0
0
0
0
0
0
0
0
0
3
-1
13
-20
8
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
19
-56
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
90
-32
11
-7
-60
0
0
0
0
0
0
0
0
0
0
-18
-5
-52
-4
67
39
-55
0
0
0
0
0
0
0
0
0
0
1
-10
19
-61
-17
34
20
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
49
31
22
0
0
0
0
0
0
0
0
0
0
0
4
2
-6
-1
-57
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-12
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
-6
-33
75
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
2
16
-23
-13
-48
54
8
0
0
0
0
0
0
0
0
-4
-8
5
2
10
32
-4
49
8
0
0
0
0
0
0
0
0
0
0
0
-6
1
17
25
51
15
0
0
0
0
0
0
0
0
0
0
2
-10
-44
-26
31
-16
5
0
0
0
0
0
0
0
0
0
0
10
-12
1
-2
30
-25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
-1
-2
0
0
0
0
0
0
1
0
0
0
3
11
0
0
0
12
30
0
0
0
0
0
0
0
0
-2
-4
-2
24
4
-47
10
-14
-3
0
0
0
0
0
0
0
0
3
-5
4
0
-12
30
-15
14
-1
0
0
0
0
0
0
0
0
-2
-3
-2
-22
6
98
92
-5
-4
0
0
0
0
0
0
0
0
0
0
6
-17
24
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
5
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
8
5
0
-2
-30
0
0
0
-67
2
5
0
0
0
0
0
0
0
4
0
-16
-2
-15
19
20
-10
7
0
0
0
0
0
0
0
-3
-9
2
-8
-33
4
32
10
8
-10
-1
0
0
0
0
0
1
0
0
7
-5
-16
-33
-13
40
7
0
0
0
0
0
0
0
0
0
0
12
0
-16
-5
-10
2
4
2
0
0
0
0
0
0
0
0
0
-1
0
-12
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
27
-3
0
25
0
0
0
1
0
-2
0
0
0
0
0
0
-4
4
9
5
40
-6
15
-53
10
-2
6
0
0
0
0
0
0
0
4
-1
17
66
-24
-60
7
23
0
-4
0
0
0
0
0
-2
0
0
12
-3
-16
25
-86
-7
-1
1
0
0
0
0
0
0
0
0
0
-3
-8
-15
-11
61
4
4
-1
0
0
0
0
0
0
0
0
0
0
3
4
4
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
5
13
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
-18
32
46
-5
0
0
0
-5
-2
0
2
0
0
0
0
0
-8
5
-4
-27
14
-83
4
-20
0
1
0
0
0
0
0
0
0
-1
-8
-25
28
0
-11
8
-39
7
0
0
0
0
0
0
0
0
0
2
-6
-2
-10
91
-22
15
-4
2
0
0
0
0
0
0
0
0
0
3
-20
45
-54
32
13
-1
0
0
0
0
0
0
0
0
0
2
2
0
2
-3
17
1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-16
34
0
0
0
-2
1
0
0
0
0
0
0
6
25
6
-12
-17
53
0
0
0
-72
-1
0
0
0
0
0
0
0
-13
2
-10
-55
40
-22
29
-34
-11
-2
1
0
0
0
0
0
0
-3
-2
-34
-4
-49
12
-23
-45
-29
0
0
0
0
0
0
0
0
0
16
32
8
1
-38
48
24
1
-6
-4
0
0
0
0
0
0
0
-1
-3
-5
10
5
14
-5
-23
2
0
0
0
0
0
0
0
0
0
-1
2
10
-8
2
44
8
0
0
0
0
0
0
0
0
0
0
0
13
0
1
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-9
0
-49
79
12
0
0
0
52
2
0
0
0
0
0
0
0
1
22
-16
-28
38
15
88
23
-14
0
0
0
0
0
0
0
0
-1
-4
-24
-48
-45
-23
-51
-42
90
-4
0
0
0
0
0
0
0
0
-1
-31
-60
13
29
41
6
-3
0
0
0
0
0
0
0
0
0
-4
8
-18
-12
27
-8
29
9
0
0
0
0
0
0
0
0
0
0
7
10
-1
-17
22
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-40
-9
0
0
0
3
13
0
0
0
0
0
0
0
0
0
0
-10
6
-20
57
26
0
-4
0
0
0
0
0
0
0
0
0
-1
3
55
-39
-57
37
32
0
0
0
0
0
0
0
0
0
0
0
2
12
-19
4
5
2
4
0
0
0
0
0
0
0
0
0
0
0
-8
-4
11
42
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
14
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-15
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
40
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
4
24
61
0
0
0
0
0
0
0
0
0
0
0
0
13
25
-39
-48
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
6
33
15
-10
14
0
0
0
0
0
0
0
0
0
0
3
-2
-2
-28
-23
14
26
0
0
0
0
0
0
0
0
0
0
-2
0
7
-8
47
2
1
0
0
0
0
0
0
0
0
0
0
0
9
-1
3
31
46
87
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
20
-9
-45
0
0
0
0
0
0
0
0
0
0
0
0
-29
-68
22
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
16
-59
32
19
-63
-18
0
0
0
0
0
0
0
0
-3
25
-32
21
-57
-73
-39
-2
7
0
0
0
0
0
0
0
0
5
-1
0
15
-8
6
-2
-27
-61
0
0
0
0
0
0
0
0
0
0
0
-2
43
-12
29
32
-28
0
0
0
0
0
0
0
0
0
0
0
12
0
27
-32
-31
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
34
-3
0
0
0
12
0
0
0
0
0
0
0
0
7
0
-3
85
-85
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
15
-9
84
-55
4
13
16
0
0
0
0
0
0
0
0
-10
3
-8
21
-8
49
-40
42
-19
0
0
0
0
0
0
0
0
-3
-2
40
20
67
-4
5
48
16
0
0
0
0
0
0
0
0
8
-2
13
-22
48
47
-28
-37
-23
0
0
0
0
0
0
0
0
0
-10
-7
0
12
-15
-2
-21
-18
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-20
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
5
0
0
2
31
0
0
0
8
2
0
0
0
0
0
0
-13
0
-2
-29
-24
-19
0
0
0
15
-7
0
0
0
0
0
0
0
0
6
-5
10
-4
-3
-8
-49
-11
-30
0
0
0
0
0
0
0
0
20
8
-17
-49
-19
-33
-15
-75
2
0
0
0
0
0
0
2
0
0
10
5
-25
6
-47
29
-23
-13
0
0
0
0
0
0
0
0
0
0
-3
82
36
55
-9
39
1
0
0
0
0
0
0
0
0
0
0
-7
4
4
-20
58
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
0
-5
0
0
0
0
-7
4
-4
0
0
0
0
0
-2
3
-40
-1
-2
1
0
0
0
110
-28
-4
0
0
0
0
0
0
19
-7
19
-4
40
49
0
-6
0
10
0
0
0
0
0
0
0
0
9
-41
51
72
-48
-105
49
-49
-1
-1
0
0
0
0
0
0
-6
1
-8
-9
6
-15
-3
-6
6
1
-2
0
0
0
0
0
0
0
0
25
24
49
16
-2
-3
8
8
0
0
0
0
0
0
0
0
0
0
0
7
36
-35
-20
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
8
6
0
-6
0
0
0
-2
2
0
0
0
0
0
0
-1
48
-42
50
13
-6
0
0
0
-14
8
2
-1
0
0
0
0
-9
-8
41
48
-12
8
-15
63
-141
-1
0
-7
-1
0
0
0
0
0
-8
8
-45
58
12
-41
-20
-50
-25
5
0
0
0
0
0
0
-16
8
8
31
56
14
-25
-28
-58
-21
3
0
-1
0
0
0
0
0
0
0
-20
8
31
-71
49
-7
-10
0
-2
0
0
0
0
0
0
0
-2
0
-6
-6
24
-52
-32
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
-7
23
58
1
3
0
0
0
-13
-2
0
0
0
0
0
0
6
-9
-32
2
11
-12
0
0
0
-15
6
0
0
0
0
0
0
41
-67
15
-29
25
1
116
-24
30
22
-6
0
0
0
0
0
0
-1
-3
-6
31
-5
-16
92
-85
58
-7
-2
7
0
0
0
0
0
-3
-10
27
-29
24
9
-5
-25
-49
6
-3
0
0
0
0
0
0
0
0
48
-4
-35
15
30
6
44
-1
6
0
0
0
0
0
0
0
0
0
-29
-19
-36
24
-15
-42
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-66
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
24
42
27
37
57
106
0
0
0
-5
-3
0
0
0
0
0
4
1
38
9
-1
-36
-6
0
0
0
-5
8
0
0
0
0
0
0
-6
7
-23
51
18
-2
0
-44
65
27
-7
-1
0
0
0
0
0
-4
-13
-3
-45
-60
54
16
-31
-110
-41
-4
-1
0
0
0
0
0
10
12
10
7
-14
-58
-61
-56
-164
-2
-3
0
0
0
0
0
0
-2
7
2
10
-24
80
-6
4
-14
27
-4
2
0
0
0
0
0
0
0
1
15
1
-15
43
35
5
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
3
0
0
0
0
0
0
0
0
-2
22
-23
-49
11
0
0
0
60
0
0
0
0
0
0
0
0
29
-46
-41
-41
30
0
0
0
-29
38
0
0
0
0
0
0
2
19
-61
-22
47
47
-77
84
55
-5
2
0
0
0
0
0
0
-19
0
-57
-22
8
-15
-74
35
-133
-27
0
1
0
0
0
0
0
-2
-31
16
-60
-42
-74
9
-58
-52
-14
0
0
0
0
0
0
0
-17
5
-53
6
76
5
-5
-10
-10
-1
0
0
0
0
0
0
0
0
1
5
56
85
35
45
16
-4
14
0
0
0
0
0
0
0
0
0
-2
16
-1
0
0
19
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-16
6
-9
26
0
0
0
0
55
-8
0
0
0
0
0
0
-3
-31
-26
-67
-45
37
0
0
0
7
-2
0
0
0
0
0
0
-3
32
-2
-7
-69
-63
-66
-9
-59
59
8
0
0
0
0
0
0
-6
48
-42
8
-62
7
-5
-10
12
-113
-4
0
0
0
0
0
0
0
18
15
-31
51
-84
9
18
32
3
1
0
-7
0
0
0
0
8
17
-8
1
-80
53
1
-52
20
22
0
0
0
0
0
0
0
-4
-3
1
-72
43
-50
31
-73
-19
9
1
0
0
0
0
0
0
0
0
0
0
-9
-3
41
14
13
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
23
-8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-12
49
-12
0
0
0
-2
-23
0
0
0
0
0
0
0
0
1
10
6
12
-38
28
46
0
-14
1
0
0
0
0
0
0
0
-2
6
-1
-41
29
32
-18
-13
-6
0
0
0
0
0
0
0
0
-6
3
3
12
-6
53
-2
-30
12
-2
0
0
0
0
0
0
0
0
0
-1
4
31
-8
77
29
0
0
0
0
0
0
0
0
0
0
5
-9
13
-19
6
21
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-8
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
8
2
42
-20
2
-2
1
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
-30
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
13
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
4
22
-1
-4
86
-42
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-2
1
-20
84
-47
0
0
0
0
0
0
0
0
0
0
-3
4
5
9
9
41
25
0
0
0
0
0
0
0
0
0
-1
0
0
0
74
-16
7
13
0
0
0
0
0
0
0
0
0
0
0
0
9
45
1
5
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
-7
-28
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
23
-39
-35
24
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
26
16
9
44
77
-44
0
0
0
0
0
0
0
0
1
6
40
71
62
-56
-4
26
-46
0
0
0
0
0
0
0
0
3
-1
0
-28
14
7
82
55
10
0
0
0
0
0
0
0
0
0
0
0
0
-29
-22
22
-19
55
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-13
18
-7
-16
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
-2
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
-8
0
0
0
8
0
0
0
0
0
0
0
0
1
8
-5
57
51
0
0
0
-8
0
0
0
0
0
0
0
0
0
-5
13
0
14
-47
-25
52
19
0
0
0
0
0
0
0
0
0
12
13
28
37
-35
50
-44
-26
0
0
0
0
0
0
0
0
13
6
0
-18
-33
-16
-45
31
7
0
0
0
0
0
0
0
0
4
0
-5
0
24
33
-56
-26
-40
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
48
17
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
15
1
-48
0
0
0
5
-3
0
0
0
0
0
0
0
0
-9
3
15
-50
0
0
0
35
3
0
0
0
0
0
0
0
0
-1
5
-16
-16
20
-22
-65
16
-19
0
0
0
0
0
0
-2
1
0
10
104
-39
-31
62
22
-17
-2
0
0
0
0
0
0
0
0
1
-5
-6
9
36
91
-46
7
-8
0
0
0
0
0
0
0
0
3
0
-2
-17
-16
30
13
2
0
0
0
0
0
0
0
0
0
0
6
-3
2
-9
16
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-3
0
4
14
4
2
0
0
0
-1
4
0
0
0
0
0
0
14
-4
-12
-1
-21
-40
0
0
0
41
0
0
0
0
0
0
0
2
1
-3
3
-2
2
25
-56
14
-9
9
0
0
0
0
0
0
0
6
0
8
-41
-56
51
-36
-20
-2
0
-3
0
0
0
0
0
2
0
-14
24
-25
-25
76
-58
49
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-9
0
8
33
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-17
3
33
-48
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
5
29
61
0
0
0
-3
0
0
0
0
0
0
0
-1
-9
-14
21
6
15
0
0
0
13
-1
0
0
0
0
0
0
8
20
5
43
6
-52
39
104
4
-1
2
0
0
0
0
0
0
0
-10
-5
-92
7
-38
37
-6
-47
0
-1
5
0
0
0
0
0
1
2
-3
66
-55
-42
16
-6
24
14
0
0
-1
0
0
0
0
0
0
12
23
6
-59
2
-14
35
-4
0
0
0
0
0
0
0
0
3
-2
2
-7
15
-34
3
-19
-1
1
0
0
0
0
0
0
0
0
-3
0
0
4
4
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
0
0
-7
23
-25
-40
8
0
0
0
5
-4
0
0
0
0
0
0
-1
60
4
-38
-43
-9
0
0
0
7
0
0
0
0
0
0
0
0
4
30
10
20
14
8
-8
-63
-2
-7
0
0
0
0
0
0
0
14
19
24
23
-13
-6
30
44
-18
5
0
0
0
0
0
0
0
23
-19
-29
4
25
-47
-51
17
-1
2
0
0
0
0
0
0
1
2
23
25
-17
40
60
2
46
2
-6
0
0
0
0
0
0
0
0
0
8
13
22
-15
-14
8
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
25
-54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-5
16
-13
21
35
21
0
0
0
18
0
0
0
0
0
0
-2
6
28
-11
47
75
-47
0
0
0
-16
0
0
0
0
0
0
0
9
-40
66
5
-2
27
27
-4
-11
-5
0
0
0
0
0
0
0
-4
5
93
14
43
-6
88
-29
33
24
0
0
1
0
0
0
0
0
-16
-14
-45
57
22
-79
19
-15
-3
-2
0
0
0
0
0
0
0
-6
-33
36
-20
-16
21
-56
-66
0
8
0
0
0
0
0
0
-3
-3
-3
4
-18
-20
9
-46
-95
-9
0
0
0
0
0
0
0
0
0
-6
-8
-8
-9
22
48
-36
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
36
0
0
0
0
0
0
0
0
0
0
15
16
-10
-10
28
0
0
0
6
-1
0
0
0
0
0
0
-13
12
-16
-14
-46
21
0
0
0
-8
-6
0
0
0
0
0
0
-20
23
47
17
50
-3
54
-10
-42
9
-1
0
0
0
0
0
0
32
40
-69
53
16
-37
-15
16
-47
3
-3
0
0
0
0
0
0
0
7
-47
24
-35
45
92
-8
-9
-2
8
0
0
0
0
0
0
0
-5
16
3
45
-48
8
-65
42
18
0
0
0
0
0
0
0
0
3
0
24
23
-1
57
34
-91
1
-3
0
0
0
0
0
0
0
0
0
-7
-16
25
5
10
-58
-1
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
0
1
0
0
0
0
0
0
0
0
0
3
-23
-41
9
-46
0
0
0
-24
1
0
0
0
0
0
0
-5
8
25
14
61
-56
0
0
0
-44
4
0
0
0
0
0
0
2
-6
8
-59
41
-8
14
-7
-16
-13
8
0
0
0
0
0
0
1
25
2
8
-9
-58
67
18
25
-6
0
0
0
0
0
0
0
-3
4
14
18
-7
-63
17
-33
6
-11
3
2
-1
0
0
0
0
-3
-4
-14
3
-10
8
-49
-64
12
96
0
0
0
0
0
0
0
0
0
2
11
-9
11
35
-73
-28
-24
0
0
0
0
0
0
0
0
0
3
5
20
1
5
-18
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
16
0
0
0
8
-19
0
0
0
0
0
0
0
0
0
-6
-50
-11
0
0
0
1
48
-4
0
0
0
0
0
0
0
-1
2
-5
29
-15
-13
50
1
1
-1
0
0
0
0
0
0
0
4
4
-3
15
16
17
83
7
-13
-1
0
0
0
0
0
0
0
0
2
12
-6
-7
17
38
-1
-26
0
0
0
0
0
0
0
0
0
0
2
-1
-12
41
20
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
47
14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
-13
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
15
-20
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
-3
-5
-14
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
-13
-6
0
0
0
0
0
0
0
0
0
0
0
-6
-7
7
-10
-26
-32
0
0
0
0
0
0
0
0
0
0
0
0
-7
-20
3
23
84
13
35
0
0
0
0
0
0
0
0
0
0
4
41
-13
21
-46
8
-53
0
0
0
0
0
0
0
0
0
0
2
5
-55
19
-40
30
-45
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
16
-2
-21
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-26
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
9
29
-12
6
35
0
0
0
0
0
0
0
0
0
0
0
3
-11
-8
46
5
-45
0
0
0
0
0
0
0
0
0
0
0
0
-10
-53
-34
-72
-56
85
-30
-3
0
0
0
0
0
0
0
0
0
0
-13
29
20
17
44
38
-32
0
0
0
0
0
0
0
0
0
9
29
30
-46
-65
-65
-51
-30
0
0
0
0
0
0
0
0
0
3
0
-36
16
12
-30
31
21
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-8
68
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
-3
-2
3
5
1
0
0
0
29
0
0
0
0
0
0
0
16
0
3
14
-72
-44
0
0
0
-74
0
0
0
0
0
0
0
0
14
2
10
-3
-40
90
-11
64
5
0
0
0
0
0
0
0
0
0
0
-7
22
76
-1
-6
20
49
0
0
0
0
0
0
0
0
0
0
5
32
-51
-12
42
-3
29
0
0
0
0
0
0
0
0
0
0
2
-8
60
-24
19
56
48
0
0
0
0
0
0
0
0
0
0
0
15
-4
6
4
2
32
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-10
86
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
5
-1
7
-7
0
0
0
-1
2
0
0
0
0
0
0
-1
-24
52
46
20
53
0
0
0
8
-3
0
0
0
0
0
0
0
2
8
3
3
-20
33
9
65
-4
5
0
0
0
0
0
0
1
0
0
0
2
18
50
72
-12
29
8
0
0
0
0
0
0
0
1
-4
-5
43
94
30
45
-2
-1
5
0
0
0
0
0
0
0
0
4
-8
-5
6
-30
40
2
5
0
0
0
0
0
0
0
0
0
0
6
0
-1
-3
-31
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-16
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
1
8
48
0
17
0
0
0
-1
2
0
0
0
0
0
0
3
4
27
30
-58
-36
0
0
0
4
0
0
0
0
0
0
0
0
-8
7
5
33
-44
-105
-76
39
9
-1
0
0
0
0
0
0
0
1
0
1
0
15
25
43
-5
-7
1
0
0
0
0
0
0
2
9
-4
0
-8
13
-28
17
-40
3
3
0
0
0
0
0
0
0
0
24
-1
22
-12
32
5
47
0
0
0
0
0
0
0
0
0
8
3
7
-3
-5
31
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
-2
-43
29
4
34
0
0
0
0
0
0
0
0
0
0
0
10
13
-18
-58
-24
-16
0
0
0
-17
0
0
0
0
0
0
0
2
-5
-13
-5
59
88
-28
-7
-5
0
2
0
0
0
0
0
0
3
12
-15
0
-7
66
19
40
21
-4
0
0
0
0
0
0
0
13
8
6
1
5
28
-52
-46
105
-7
0
0
0
0
0
0
0
0
-3
-3
24
17
-44
13
5
-43
1
0
0
0
0
0
0
0
0
0
-9
14
42
50
-6
-31
-81
3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-4
-2
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-6
-2
0
0
0
0
0
0
0
0
0
-9
19
5
0
29
0
0
0
-13
0
0
0
0
0
0
0
0
10
25
-2
-3
-33
0
0
0
-21
-5
0
0
0
0
0
0
-5
38
14
53
1
2
107
5
-33
16
-1
0
0
0
0
0
0
3
-10
-10
6
-16
7
15
-45
56
5
2
0
0
0
0
0
0
0
-40
6
19
-67
-66
90
55
-4
55
3
0
0
0
0
0
0
0
-4
-18
33
14
29
38
-48
19
-4
0
0
0
0
0
0
0
-2
3
-1
-19
38
10
24
-3
-4
-3
0
0
0
0
0
0
0
0
0
0
7
38
2
17
-48
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
6
-54
-10
25
57
32
0
0
0
4
0
0
0
0
0
0
-9
-2
27
10
53
1
-38
0
0
0
-54
1
0
0
0
0
0
0
19
22
49
-26
26
6
19
-52
108
-2
-6
0
0
0
0
0
0
-4
23
-42
-3
-13
64
-5
47
-38
11
1
-1
0
0
0
0
0
0
0
-34
-6
52
53
30
-61
14
55
-3
0
0
0
0
0
0
0
-10
-14
-4
22
114
-37
-16
-76
16
0
0
0
0
0
0
0
1
3
42
-8
-36
-63
47
23
0
-12
9
0
0
0
0
0
0
0
0
0
-31
25
-20
-8
-13
3
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
0
0
24
25
-23
-33
-46
49
0
0
0
-24
1
0
0
0
0
0
0
-23
9
-3
10
52
-26
0
0
0
18
-13
0
0
0
0
0
0
4
52
0
66
27
75
132
-22
57
-3
-5
0
0
0
0
0
-3
10
-18
9
49
-55
67
2
11
13
-2
0
0
0
0
0
0
0
25
14
10
-10
9
-7
14
-31
-7
24
-2
0
0
0
0
0
-1
0
-2
40
23
-11
-4
37
-3
-99
-6
0
0
0
0
0
0
0
0
4
-22
49
23
-9
36
18
-8
8
0
0
0
0
0
0
0
-3
0
-6
-25
-3
-17
-22
-5
53
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
-4
0
0
0
0
0
0
0
0
24
-22
22
5
42
0
0
0
-52
0
0
0
0
0
0
0
-1
-29
-14
6
-61
15
0
0
0
-6
-1
0
0
0
0
0
0
3
-16
21
24
-55
-31
34
-6
-10
-7
-41
0
0
0
0
0
0
8
-20
-13
53
36
18
-77
-77
-18
-4
-1
0
0
0
0
0
0
0
3
7
-21
12
76
-24
8
-37
44
-7
0
0
0
0
0
0
0
-29
-2
-35
-5
13
70
-35
21
23
0
0
0
0
0
0
0
0
2
8
18
-16
-8
12
-64
-8
-40
0
0
0
0
0
0
0
0
-1
0
6
-10
-6
-17
10
-62
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-6
-8
6
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
7
-36
20
0
0
0
-46
-31
0
0
0
0
0
0
0
0
0
-2
6
-23
16
32
-40
6
-16
-1
0
0
0
0
0
0
0
0
-1
-1
-20
-12
-24
2
5
0
0
0
0
0
0
0
0
0
0
0
-4
5
41
15
-16
-5
16
0
0
0
0
0
0
0
0
0
0
-1
0
29
-22
-9
2
-12
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-16
2
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
7
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
-4
8
0
0
0
0
0
0
0
0
0
0
0
6
0
-24
29
40
0
-72
20
0
0
0
0
0
0
0
0
0
0
-8
-22
17
14
15
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-18
50
1
41
-25
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
62
10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
12
0
0
0
0
0
0
0
0
0
1
-20
2
2
2
-14
0
0
0
0
0
0
0
0
0
0
0
24
11
23
-9
-13
34
0
0
0
0
0
0
0
0
0
0
0
9
-23
-14
-6
-55
12
18
-77
21
0
0
0
0
0
0
0
0
0
1
-4
-90
57
-77
36
68
148
0
0
0
0
0
0
0
0
0
0
10
-51
4
17
14
89
-60
0
0
0
0
0
0
0
0
0
0
-9
-23
-20
-17
-14
1
32
0
0
0
0
0
0
0
0
0
9
2
-11
15
-16
62
-28
41
0
0
0
0
0
0
0
0
0
0
0
0
-15
27
-42
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-2
0
0
0
0
0
0
0
0
0
3
2
13
5
-2
0
0
0
16
0
0
0
0
0
0
0
-2
17
-17
-66
57
45
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-12
-9
-17
28
-5
41
2
0
0
0
0
0
0
0
0
0
0
-2
9
63
-56
71
-11
-13
0
0
0
0
0
0
0
0
0
0
5
105
-31
2
21
0
-1
0
0
0
0
0
0
0
0
0
0
1
-19
42
-33
-32
-4
0
0
0
0
0
0
0
0
0
0
1
-2
0
-20
-30
68
27
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-25
23
18
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
8
-30
8
-1
0
0
0
25
1
0
0
0
0
0
0
0
29
4
10
4
-25
0
0
0
-75
7
0
0
0
0
0
0
0
4
-19
-18
-14
-26
39
10
6
5
0
0
0
0
0
0
0
0
0
0
-1
34
-32
7
86
9
5
0
0
0
0
0
0
0
2
0
0
0
-6
-57
-29
-22
9
2
0
0
0
0
0
0
0
0
0
0
-8
2
-22
-5
-29
12
-16
1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
12
5
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
1
0
0
0
0
0
0
0
0
14
-2
2
-12
3
27
0
0
0
19
0
0
0
0
0
0
0
-9
10
18
21
-33
-39
0
0
0
-6
-3
0
0
0
0
0
0
0
-2
-18
-70
-4
0
82
28
-44
0
0
0
0
0
0
0
0
3
0
-4
-1
-4
-17
-91
10
-18
24
0
0
0
0
0
0
0
-13
2
0
0
0
33
5
43
-25
0
0
0
0
0
0
0
0
0
0
0
-4
-22
-10
-68
12
-8
0
0
0
0
0
0
0
0
0
0
2
22
-17
-14
-52
47
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-41
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
9
20
-13
37
0
0
0
0
1
0
0
0
0
0
0
-1
4
99
23
61
-126
0
0
0
-4
0
0
0
0
0
0
0
9
23
50
-38
-1
-42
-100
-9
91
0
6
0
0
0
0
0
0
-20
1
-8
19
-8
24
-25
26
-104
-2
0
0
0
0
0
0
0
2
23
1
5
0
0
60
65
-22
-2
0
0
0
0
0
0
0
0
0
4
0
-3
25
-34
-48
2
-2
0
0
0
0
0
0
0
0
0
0
-8
-14
-29
-16
47
-30
3
0
0
0
0
0
0
0
0
0
-4
0
-6
-1
42
8
72
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
-2
0
0
0
0
0
0
0
0
-3
2
-16
50
-4
-27
0
0
0
0
0
0
0
0
0
0
0
0
-16
-47
36
7
-2
0
0
0
23
0
0
0
0
0
0
0
5
0
-16
-14
21
-108
19
40
-31
-3
1
0
0
0
0
0
0
0
2
29
-5
-20
25
66
-33
-3
-8
-1
0
0
0
0
0
0
-1
9
-8
25
0
0
3
-51
-8
0
0
0
0
0
0
0
0
5
22
-12
23
-10
3
39
8
14
5
0
0
0
0
0
0
0
-2
-5
-14
0
13
-58
40
-8
84
-10
0
0
0
0
0
0
0
0
0
0
-7
2
-4
-29
16
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
20
0
0
0
0
0
0
0
3
0
-14
-9
-24
2
31
0
0
0
-15
0
0
0
0
0
0
0
27
-48
35
-30
-41
49
0
0
0
-20
0
0
0
0
0
0
0
-48
70
-30
29
7
14
-55
11
48
1
1
0
0
0
0
0
1
-1
65
10
98
66
43
58
45
96
8
0
0
0
0
0
0
0
-41
-2
-4
-49
48
-6
0
-40
130
-7
0
0
0
0
0
0
0
1
23
11
13
-53
29
-24
-49
23
29
0
0
0
0
0
0
0
0
1
-1
17
-27
-17
-47
-5
5
-10
0
0
0
0
0
0
0
0
0
-5
0
-25
-29
48
-29
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
6
0
0
0
0
0
0
0
0
0
-6
10
2
-6
56
18
0
0
0
-3
0
0
0
0
0
0
0
1
14
-21
-52
50
-40
0
0
0
28
-6
0
0
0
0
0
0
10
0
34
23
-3
-39
69
-26
22
17
-1
0
0
0
0
0
0
-5
35
-17
20
43
-12
32
-39
-18
-46
0
4
0
0
0
0
0
8
0
17
-23
42
37
-18
0
-1
2
3
0
0
0
0
0
0
13
3
-31
-20
-53
9
15
12
-83
-24
0
-4
0
0
0
0
0
0
-5
-47
48
-21
32
-29
1
26
0
0
0
0
0
0
0
0
0
0
7
35
16
-47
82
41
-73
10
0
0
0
0
0
0
0
0
0
0
0
-1
3
12
-25
13
0
0
0
0
0
0
0
0
8
-23
-4
23
31
13
0
0
0
39
-1
0
0
0
0
0
0
-5
-17
28
3
-47
-46
0
0
0
-3
3
0
0
0
0
0
0
4
41
-1
-16
8
-7
-47
30
43
-33
2
0
0
0
0
0
0
0
-13
-43
-12
52
34
-7
1
-66
26
-5
0
0
0
0
0
0
0
25
42
13
-63
9
10
-4
0
-16
0
0
0
0
0
0
0
0
23
12
-7
-20
8
43
2
0
-1
0
0
0
0
0
0
0
0
-3
-1
40
-16
3
-24
-79
-29
3
0
0
0
0
0
0
0
17
0
6
0
41
0
3
17
24
52
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
5
-3
0
0
0
0
0
0
0
1
0
3
8
19
0
0
0
32
-9
0
0
0
0
0
0
0
0
0
3
49
-9
-9
33
-52
7
-46
0
0
0
0
0
0
0
0
0
1
0
14
-50
-54
17
-8
2
-2
0
0
0
0
0
0
0
0
6
-7
0
13
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
11
17
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
4
-2
-7
5
0
0
0
0
0
0
0
0
0
0
-8
1
5
8
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
6
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-24
2
-2
5
-18
0
0
0
0
0
0
0
0
0
0
0
6
-6
-6
-8
-5
34
0
0
0
0
0
0
0
0
0
0
0
0
51
26
33
-36
22
0
0
0
0
0
0
0
0
0
0
0
-1
10
29
-2
92
36
0
0
0
0
0
0
0
0
0
0
0
0
5
48
57
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
0
0
0
0
-1
14
-16
-8
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
15
-29
10
-40
-14
0
0
0
0
0
0
0
0
0
0
0
0
-31
-13
7
72
12
77
30
-3
0
0
0
0
0
0
0
0
-3
12
7
91
44
-62
-38
-55
-53
0
0
0
0
0
0
0
0
0
0
12
24
42
36
-2
-47
-5
0
0
0
0
0
0
0
0
0
0
-2
24
1
51
31
-54
-19
0
0
0
0
0
0
0
0
0
0
6
-27
-4
11
-74
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
3
-13
65
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
-3
0
0
0
0
0
0
0
0
-7
0
9
23
14
2
0
0
0
18
0
0
0
0
0
0
0
0
-6
-7
-37
12
-20
0
0
0
22
0
0
0
0
0
0
0
-17
-9
-7
15
-14
1
32
23
-14
-8
0
0
0
0
0
0
0
0
4
53
-19
4
26
-54
-17
-25
-1
0
0
0
0
0
0
0
0
0
0
22
-12
-74
-17
9
-8
-2
0
0
0
0
0
0
0
0
0
0
3
17
-10
71
-25
45
2
0
0
0
0
0
0
0
0
0
0
0
0
18
24
11
33
12
0
0
0
0
0
0
0
0
0
0
0
0
3
4
31
29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
0
0
1
0
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
-3
-4
73
21
0
-25
0
0
0
-74
-1
0
0
0
0
0
0
0
4
0
-14
5
-29
6
-17
17
-6
0
0
0
0
0
0
0
0
-3
-3
2
5
42
-35
5
1
-1
1
0
0
0
0
0
0
-2
0
0
0
-6
-6
-34
-26
-15
0
-3
0
0
0
0
0
0
0
0
0
0
6
-42
-2
17
5
-1
0
0
0
0
0
0
0
0
0
0
2
10
1
0
-40
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
-2
22
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
-31
-16
0
13
0
0
0
0
0
0
0
0
0
0
0
6
-12
-22
-19
9
1
0
0
0
9
-4
0
0
0
0
0
0
3
2
-4
17
-11
72
54
79
-28
0
0
0
0
0
0
0
0
-9
1
0
-24
9
-16
32
-51
-49
3
0
0
0
0
0
0
0
4
16
-1
0
-33
-12
-14
19
-40
0
0
0
0
0
0
0
0
-4
-5
-1
0
0
-31
71
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
-19
41
20
-36
29
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-16
-48
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
4
-10
52
20
52
-29
0
0
0
0
0
0
0
0
0
0
5
6
-29
17
15
10
-17
0
0
0
-9
0
0
0
0
0
0
0
-2
-13
56
24
-48
18
70
-41
-37
0
0
0
0
0
0
0
0
5
13
5
-52
-25
90
-29
39
-10
-1
0
0
0
0
0
0
0
-3
-5
8
29
3
39
15
26
-10
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
40
-3
38
0
0
0
0
0
0
0
0
0
0
-8
0
2
-22
-19
44
-33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-12
-5
-46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-1
0
0
0
0
0
0
0
0
2
25
15
82
-51
70
0
0
0
-1
0
0
0
0
0
0
0
-5
-14
-31
-12
71
-34
0
0
0
8
0
0
0
0
0
0
0
2
15
-18
46
-30
11
-64
6
-37
5
0
0
0
0
0
0
0
-7
2
-25
-12
-32
18
-60
-13
-23
2
0
0
0
0
0
0
0
-5
-33
-23
10
71
0
14
-25
77
6
0
0
0
0
0
0
0
0
8
-38
-32
0
0
-1
-32
-20
-2
0
0
0
0
0
0
0
0
0
2
22
1
2
-23
7
-35
4
0
0
0
0
0
0
0
0
0
-1
0
4
0
6
-30
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
7
-3
-8
31
-24
28
-31
0
0
0
-19
0
0
0
0
0
0
-1
-1
14
-5
-73
46
31
0
0
0
13
0
0
0
0
0
0
0
-38
1
14
-46
-19
-10
-25
48
-43
-5
-1
0
0
0
0
0
0
10
83
7
-15
-4
-45
-25
-24
-56
-12
1
0
0
0
0
0
0
-24
-3
-10
30
55
64
19
-2
-35
-2
0
0
0
0
0
0
3
5
-23
-8
3
-25
2
0
0
-13
-2
0
0
0
0
0
0
0
0
-5
69
-9
-72
-15
5
24
84
-7
0
0
0
0
0
0
0
0
0
0
4
8
-10
-30
48
24
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
1
17
-9
23
-45
-46
0
0
0
1
0
0
0
0
0
0
-1
39
-25
53
93
3
56
0
0
0
-49
0
0
0
0
0
0
0
-8
1
59
10
59
139
-71
-59
14
-22
1
0
0
0
0
0
0
-8
-5
23
7
-41
22
-23
32
-48
-4
0
0
0
0
0
0
0
-5
-43
7
-34
34
90
-33
-8
-78
8
0
0
0
0
0
0
0
0
7
-11
7
-42
-49
5
0
0
-1
0
0
0
0
0
0
0
0
8
-13
24
-24
68
-53
3
-21
-1
-2
0
0
0
0
0
0
0
0
22
1
-7
8
39
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
75
17
0
0
0
0
0
0
0
0
0
0
7
-48
-53
-43
0
0
0
-30
0
0
0
0
0
0
0
0
40
1
10
-41
-53
0
0
0
-45
-12
0
0
0
0
0
0
0
0
-1
7
69
11
5
13
-62
-90
-2
0
0
0
0
0
0
0
-22
-3
-43
48
-36
56
-7
-30
17
-2
0
0
0
0
0
0
0
5
-2
-11
-4
48
-32
4
0
54
0
0
0
0
0
0
0
0
-14
-9
29
-66
57
-80
-7
0
0
0
0
0
0
0
0
0
0
0
4
18
81
38
-9
-28
4
-1
0
0
0
0
0
0
0
0
0
-1
-25
-27
52
5
-1
-68
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
-7
-20
0
0
0
-7
-26
0
0
0
0
0
0
0
0
0
-3
46
17
2
-99
-17
31
8
0
0
0
0
0
0
0
0
0
0
19
21
3
24
-8
-2
3
0
0
0
0
0
0
0
0
0
0
-2
18
24
21
10
0
19
0
0
0
0
0
0
0
0
0
0
-9
1
13
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
27
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
48
-1
-3
-34
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-44
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
4
-1
-1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-26
16
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-36
5
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
0
0
0
0
0
0
0
0
8
-7
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
19
-2
-6
-8
0
0
0
0
0
0
0
0
0
0
0
3
41
41
-47
10
29
-4
63
-2
0
0
0
0
0
0
0
0
0
0
-7
-2
-27
-147
38
-11
-21
0
0
0
0
0
0
0
0
0
-6
0
-25
-25
1
8
-21
-30
0
0
0
0
0
0
0
0
0
0
0
-6
-62
-71
-8
0
-24
0
0
0
0
0
0
0
0
0
0
-7
30
-19
66
25
-90
-34
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-46
-6
0
0
0
0
0
0
0
0
0
1
0
-8
-2
0
0
0
0
2
0
0
0
0
0
0
0
2
2
18
20
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
1
-3
-1
-16
-1
12
-18
62
-5
0
0
0
0
0
0
0
0
0
27
-13
-25
-42
8
28
25
0
0
0
0
0
0
0
0
0
5
-25
-9
-22
-17
52
-2
13
0
0
0
0
0
0
0
0
0
0
0
-1
-24
4
-4
23
11
-1
0
0
0
0
0
0
0
0
0
0
0
15
14
-5
117
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
8
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-30
-3
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
19
1
-22
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
7
-41
14
11
-37
-9
-1
0
0
0
0
0
0
0
0
0
-2
-10
-8
12
-5
43
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
-4
56
-30
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
10
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
29
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-5
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
4
-15
-40
0
0
0
-12
5
0
0
0
0
0
0
0
-4
2
22
63
-33
74
-13
-42
0
-1
0
0
0
0
0
0
0
0
4
29
2
-20
-50
4
7
0
0
0
0
0
0
0
0
0
4
-12
-33
-12
-9
18
-90
-11
0
0
0
0
0
0
0
0
0
1
-3
0
25
47
-98
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
-19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
25
0
0
0
0
0
0
0
0
0
4
12
29
-3
-7
0
0
0
3
0
0
0
0
0
0
0
0
-3
3
24
9
55
0
0
0
-17
0
0
0
0
0
0
0
0
3
8
-56
-1
-41
69
-45
-66
0
0
0
0
0
0
0
0
0
5
52
33
-8
-38
-43
-38
24
0
0
0
0
0
0
0
0
4
0
-5
-30
10
-43
-49
-47
-7
0
0
0
0
0
0
0
0
0
0
8
4
0
67
-20
-76
82
-3
0
0
0
0
0
0
0
0
2
-1
0
0
0
30
1
-8
0
0
0
0
0
0
0
0
2
2
-1
0
2
6
-38
-13
52
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
20
1
0
0
0
0
0
0
0
0
0
0
10
-9
-22
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
70
-101
17
0
0
0
3
-1
0
0
0
0
0
0
0
1
56
38
-57
-7
33
-45
-64
0
0
0
0
0
0
0
0
0
8
-41
17
57
38
-25
-93
-52
0
0
0
0
0
0
0
0
-1
-5
-22
23
-47
52
16
110
-36
0
0
0
0
0
0
0
0
0
0
-13
7
-36
6
4
54
-64
-1
0
0
0
0
0
0
0
0
-3
-16
-3
-1
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
122
129
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-19
0
0
0
0
0
0
0
0
-2
42
-3
-18
-42
37
0
0
0
39
0
0
0
0
0
0
0
0
13
-7
5
101
75
0
0
0
53
0
0
0
0
0
0
-4
2
-5
-30
-12
48
-92
-30
-10
-81
1
-5
0
0
0
0
0
8
24
32
48
-8
-32
3
52
9
13
10
0
0
0
0
0
0
0
-8
9
6
28
36
-2
10
-19
13
-5
0
0
0
0
0
0
0
2
-21
-35
-14
146
-34
19
6
-43
19
0
0
0
0
0
0
0
0
2
4
31
-6
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-4
-12
-18
-29
0
25
-4
54
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
13
0
-2
0
0
0
0
0
0
0
4
-13
-34
12
28
70
0
0
0
-20
2
0
0
0
0
0
0
8
-40
-31
-43
-91
33
0
0
0
-50
2
0
0
0
0
0
0
2
-22
28
-41
-11
-39
110
-21
13
-7
-21
0
0
0
0
0
0
14
15
-18
83
-75
-70
2
-54
-62
10
3
0
0
0
0
0
0
23
-65
-54
66
1
-23
-32
47
-36
6
-2
0
0
0
0
0
0
2
-5
-45
-22
89
-24
-46
-2
-17
-3
0
0
0
0
0
0
0
5
0
-17
31
40
-36
6
0
1
1
0
0
0
0
0
0
0
0
-1
25
12
-8
17
41
0
19
57
-1
0
0
0
0
0
0
0
0
0
1
0
0
4
7
6
0
0
0
0
0
0
0
0
0
-7
-1
9
-25
8
0
0
0
-13
-3
0
0
0
0
0
0
-3
7
8
-34
-7
-7
0
0
0
30
-2
-1
0
0
0
0
0
0
22
31
82
7
17
19
-75
3
34
1
0
0
0
0
0
0
0
2
-4
27
-42
25
63
31
2
66
-1
0
0
0
0
0
0
0
-25
-48
61
44
24
-14
-96
-5
24
1
0
0
0
0
0
0
0
-2
26
-16
92
-42
57
-14
0
-41
0
0
0
0
0
0
0
0
-1
2
-2
21
4
-16
1
0
0
0
0
0
0
0
0
0
0
-1
-14
15
-18
5
-7
34
4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
5
0
-4
-1
0
0
0
4
-23
0
0
0
0
0
0
0
0
0
-9
1
-11
0
0
0
-51
-116
0
0
0
0
0
0
0
0
0
0
23
-10
-50
40
-27
1
-49
0
0
0
0
0
0
0
0
0
2
0
-10
-13
66
-33
40
4
2
0
0
0
0
0
0
0
2
0
4
41
-38
-22
21
-1
1
0
0
0
0
0
0
0
0
0
0
4
2
-15
16
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-24
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
-3
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
6
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
29
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-3
1
14
2
0
0
0
0
0
0
0
0
0
0
4
6
-10
34
14
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
5
-37
0
2
0
0
0
0
0
0
0
0
0
0
0
10
2
5
18
-23
3
0
0
0
0
0
0
0
0
0
0
-4
1
6
6
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
41
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-7
7
48
-1
8
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
29
40
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
-8
27
9
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
29
3
5
-4
0
0
0
0
0
0
0
0
0
-2
0
-24
-2
2
-8
0
5
0
0
0
0
0
0
0
0
0
8
25
-1
-8
5
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
56
9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-8
0
0
0
0
0
0
0
0
0
0
0
-8
0
-33
-4
-12
5
15
3
0
0
0
0
0
0
0
0
0
-8
0
32
-38
-6
26
10
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-42
-47
32
14
0
0
0
0
0
0
0
0
0
0
0
0
27
-24
10
-31
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
12
0
0
0
0
0
0
0
0
0
2
0
-3
0
6
0
0
0
10
0
0
0
0
0
0
0
0
1
7
0
-4
40
0
0
0
2
0
0
0
0
0
0
0
0
-3
-14
-19
2
-16
2
-35
42
0
0
0
0
0
0
0
0
2
2
5
14
-48
52
13
25
-1
0
0
0
0
0
0
0
0
0
0
0
-29
29
-32
-43
-8
-20
2
0
0
0
0
0
0
0
0
0
9
-6
17
3
46
1
16
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-22
9
7
25
1
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
4
-8
30
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
-20
24
-13
9
-51
-25
0
0
0
0
0
0
0
0
0
0
3
-2
50
9
65
6
-78
5
0
0
0
0
0
0
0
5
1
2
4
16
24
-37
-39
12
0
0
0
0
0
0
0
0
0
-1
-3
9
-14
-71
-68
0
8
0
0
0
0
0
0
0
0
0
0
5
17
7
0
10
33
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
12
0
0
0
0
0
0
0
0
0
1
5
7
0
42
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
-65
-4
0
0
0
17
0
0
0
0
0
0
0
0
0
-7
22
-11
23
-25
-20
35
0
0
0
0
0
0
0
0
0
-3
1
3
-6
-46
83
21
-15
-3
0
0
0
0
0
0
0
-2
-2
-9
15
4
24
-35
-53
17
3
0
0
0
0
0
0
0
0
0
2
96
26
-143
24
0
-7
-8
0
0
0
0
0
0
0
0
8
3
-46
8
31
0
-29
-32
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-16
1
0
0
0
0
0
0
0
0
8
23
-13
-13
-42
0
0
0
-20
5
0
0
0
0
0
0
8
-4
61
-13
-16
21
0
0
0
0
0
0
0
0
0
0
0
4
-20
-12
26
43
-23
-7
14
-65
9
0
0
0
0
0
0
0
-6
-4
-6
-35
-22
45
-93
18
89
-1
-2
0
0
0
0
0
0
0
8
2
-29
51
25
1
-15
3
7
0
0
0
0
0
0
0
0
6
-31
-54
12
-52
-52
6
-19
-3
0
0
0
0
0
0
0
0
10
-20
-115
-9
9
-26
-1
97
6
0
0
0
0
0
0
0
0
0
-5
10
-1
-10
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
-35
-9
0
0
0
0
0
0
0
4
0
0
-7
-23
0
0
0
-49
-1
0
0
0
0
0
0
0
-5
5
2
-70
-26
44
6
-3
-38
3
0
0
0
0
0
0
0
0
-10
-6
24
-12
76
18
30
-28
-1
0
0
0
0
0
0
0
0
31
-1
-6
-39
43
-65
8
65
0
0
0
0
0
0
0
0
0
6
-3
-15
58
-73
-5
-6
17
0
0
0
0
0
0
0
0
0
-3
-1
14
41
67
25
0
-25
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
-22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
16
16
3
8
0
0
0
0
0
0
0
0
0
0
0
-13
-13
-5
-23
2
1
0
0
0
0
0
0
0
0
0
0
0
1
8
-19
-10
-2
-67
0
0
0
0
0
0
0
0
0
0
8
1
9
-13
-35
0
-22
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
4
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
1
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
-48
-5
-25
37
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
25
-58
-3
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-34
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
6
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
-20
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
2
78
0
73
0
0
0
0
0
0
0
0
0
0
0
2
0
-32
5
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
58
33
8
0
-17
0
0
0
0
0
0
0
0
0
0
0
15
0
1
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
-1
1
31
13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-15
6
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
-39
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
-58
51
-2
73
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-29
13
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
77
24
8
5
7
0
0
0
0
0
0
0
0
0
0
0
-48
29
-10
-63
-2
-17
1
0
0
0
0
0
0
0
0
0
-2
18
47
13
-41
-12
8
-1
-8
0
0
0
0
0
0
0
0
19
-36
44
5
5
9
0
0
-5
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-6
15
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
25
0
-1
-3
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-14
-6
-2
-3
2
0
0
0
0
0
0
0
0
0
0
-17
60
48
1
65
29
-3
-6
0
0
0
0
0
0
0
0
1
-46
76
-69
6
16
4
18
0
0
0
0
0
0
0
0
0
0
-54
91
-4
77
-3
29
2
0
-16
0
0
0
0
0
0
0
0
4
-4
42
6
-9
2
-3
0
0
0
0
0
0
0
0
0
0
5
-5
0
-10
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
24
2
0
-22
18
81
-28
0
3
0
0
0
0
0
0
0
0
-5
3
-5
5
-11
-22
0
3
8
0
0
0
0
0
0
0
0
9
-2
24
-24
-29
4
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
38
-15
-13
-31
9
30
-1
3
0
0
0
0
0
0
0
0
5
-1
5
-2
7
-1
-2
32
0
0
0
0
0
0
0
0
0
-16
0
-3
6
16
-10
-2
0
-6
0
0
0
0
0
0
0
0
24
2
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-7
6
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-24
-13
0
0
42
2
0
0
0
0
0
0
0
0
0
9
-41
13
30
-1
-10
8
0
0
0
0
0
0
0
0
0
0
-22
40
12
-24
4
17
-8
15
0
0
0
0
0
0
0
0
0
-16
-6
-1
6
-2
0
0
8
-2
1
0
0
0
0
0
0
0
-6
6
-48
5
2
-7
0
0
0
0
0
0
0
0
0
0
0
14
-63
6
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
23
13
-5
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
41
22
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-52
-32
-33
-15
10
10
0
7
0
0
0
0
0
0
0
0
0
7
-29
18
49
-25
-7
-17
-2
0
0
0
0
0
0
0
0
20
84
20
-31
-42
9
4
-10
-5
0
0
0
0
0
0
0
0
-7
6
51
8
15
5
5
0
2
0
0
0
0
0
0
0
0
-3
-18
-41
2
4
48
0
0
0
0
0
0
0
0
0
0
0
2
-64
6
4
7
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-24
134
20
-29
34
-27
0
0
0
0
0
0
0
0
0
0
-13
1
-24
-7
66
-4
-6
4
1
0
0
0
0
0
0
0
0
-3
97
7
71
1
7
6
-4
6
8
0
0
0
0
0
0
0
11
-43
-72
-18
39
4
-8
6
0
4
0
0
0
0
0
0
0
68
61
-56
76
18
6
22
6
0
0
0
0
0
0
0
0
0
-14
46
44
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
13
-9
-2
0
-5
6
0
-1
0
0
0
0
0
0
0
0
1
-31
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
38
-51
-23
-19
9
-29
0
0
0
0
0
0
0
0
0
0
-1
-14
57
16
9
-21
-31
-8
5
0
0
0
0
0
0
0
0
-4
65
9
-64
2
-55
-10
-1
0
0
0
0
0
0
0
0
0
57
-24
-28
-49
3
-9
13
19
0
-2
0
0
0
0
0
0
0
-24
7
-55
4
-15
79
3
0
-6
0
0
0
0
0
0
0
0
-6
7
-71
-27
7
8
0
0
0
0
0
0
0
0
0
0
0
40
33
-25
-8
13
-3
14
0
0
0
0
0
0
0
0
0
0
40
0
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
-18
-31
7
-2
0
0
0
0
0
0
0
0
0
0
0
14
17
52
-33
-41
-9
1
-2
0
0
0
0
0
0
0
0
0
-6
-29
5
37
8
12
-1
2
0
0
0
0
0
0
0
0
0
-6
-24
22
-4
25
-2
2
0
0
0
0
0
0
0
0
0
0
-2
-10
41
-6
-13
-7
0
0
0
0
0
0
0
0
0
0
0
18
0
-24
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
9
-16
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-19
13
-1
0
7
-1
0
0
0
0
0
0
0
0
0
-10
-7
37
-15
20
-24
0
0
0
0
0
0
0
0
0
0
0
51
14
33
-18
-12
-7
0
0
0
0
0
0
0
0
0
0
0
-6
-8
8
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
4
-6
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
83
-30
8
-74
-4
-4
-2
0
0
0
0
0
0
0
0
0
-24
-64
5
8
-88
18
19
-3
0
0
0
0
0
0
0
0
0
4
62
9
-51
47
30
-18
2
5
1
0
0
0
0
0
0
0
8
-4
-73
-25
3
-3
69
-1
0
0
0
0
0
0
0
0
0
0
56
-7
-62
42
-3
29
0
0
0
0
0
0
0
0
0
0
20
-3
-5
-1
2
1
0
-4
1
0
0
0
0
0
0
0
0
-2
-47
-1
-2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-4
-19
20
7
1
-16
0
0
0
0
0
0
0
0
0
2
19
45
-7
-10
-3
2
6
8
0
0
0
0
0
0
0
0
0
45
-34
16
-23
-45
-10
-25
6
-9
0
0
0
0
0
0
0
-3
41
-42
-49
-12
54
2
-5
0
-3
0
0
0
0
0
0
0
0
23
46
0
54
-5
4
-5
3
0
0
0
0
0
0
0
0
0
-8
-2
-4
6
0
6
-4
5
0
0
0
0
0
0
0
0
0
23
0
2
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-12
23
-31
-5
0
7
0
0
0
0
0
0
0
0
0
-4
5
22
-8
-21
25
-14
-29
-1
0
0
0
0
0
0
0
0
-3
7
8
27
-4
26
4
-5
-2
0
0
0
0
0
0
0
0
-2
0
-49
24
-66
28
43
0
6
0
0
0
0
0
0
0
0
0
-2
29
25
1
-3
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
12
-16
-4
2
4
0
0
0
0
0
0
0
0
0
0
-2
-7
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
48
6
-16
12
70
11
0
0
0
0
0
0
0
0
0
-13
-37
-43
-6
9
18
68
-5
7
0
0
0
0
0
0
0
0
9
20
-30
31
-48
3
13
-29
5
0
0
0
0
0
0
0
0
12
-26
-14
37
1
1
-4
2
0
0
0
0
0
0
0
0
0
-6
-13
5
1
5
-7
2
0
-1
-2
0
0
0
0
0
0
0
-41
-5
-44
6
-3
3
1
0
2
0
0
0
0
0
0
0
0
6
-17
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
70
42
-29
6
18
-5
0
0
0
0
0
0
0
0
0
33
10
28
-24
28
26
-2
0
-22
0
0
0
0
0
0
0
0
8
28
81
24
53
20
-13
-8
0
0
0
0
0
0
0
0
0
29
80
2
37
2
-13
14
-2
0
0
0
0
0
0
0
0
0
20
21
12
10
-35
5
4
3
0
0
0
0
0
0
0
0
0
-7
23
8
3
1
-1
-1
1
-3
0
0
0
0
0
0
0
0
-22
-44
8
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
-4
6
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-26
80
53
-22
22
9
10
0
0
0
0
0
0
0
0
0
-24
41
18
53
-32
52
7
29
5
9
0
0
0
0
0
0
0
6
1
102
-24
-25
26
-23
8
-30
-1
0
0
0
0
0
0
0
-24
20
33
18
-8
-39
27
-9
0
0
0
0
0
0
0
0
0
-9
-49
-64
60
12
29
-2
-2
14
0
0
0
0
0
0
0
0
29
35
-36
-22
-8
18
-2
25
0
0
0
0
0
0
0
0
0
-5
17
14
-13
8
-2
-1
4
-1
0
0
0
0
0
0
0
0
0
45
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-11
74
42
-13
26
-9
-13
0
0
0
0
0
0
0
0
0
32
20
27
19
109
6
-9
-3
62
0
0
0
0
0
0
0
0
176
43
56
53
106
-14
-1
24
25
-2
0
0
0
0
0
0
0
-14
-55
22
52
20
23
22
18
-41
-7
0
0
0
0
0
0
0
64
45
6
-30
-25
-11
54
3
0
-6
0
0
0
0
0
0
0
-35
-29
30
0
45
14
-6
-6
2
0
0
0
0
0
0
0
0
50
40
-29
7
-23
-5
0
8
-1
0
0
0
0
0
0
0
0
4
-40
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
12
72
-26
68
80
65
0
0
0
0
0
0
0
0
0
-33
-100
-28
27
-57
55
-5
40
1
0
0
0
0
0
0
0
0
-20
17
74
52
24
-31
19
-19
48
23
0
0
0
0
0
0
0
56
-42
18
-46
-11
-46
40
45
-1
8
0
0
0
0
0
0
0
-28
1
-21
-28
-50
33
-8
4
7
-1
0
0
0
0
0
0
0
6
-11
-10
-60
38
10
13
0
5
-2
0
0
0
0
0
0
0
8
-17
-51
-9
-48
5
-6
6
4
0
0
0
0
0
0
0
0
2
-72
56
54
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
-45
30
14
55
77
0
0
0
0
0
0
0
0
0
0
1
52
-21
-15
-102
1
-62
45
0
0
0
0
0
0
0
0
0
-10
13
107
29
-27
-92
76
61
6
0
0
0
0
0
0
0
0
-6
-26
-60
-7
-11
12
-17
5
-1
0
0
0
0
0
0
0
0
37
-30
-14
59
90
-2
-7
7
0
0
0
0
0
0
0
0
0
-31
4
68
-18
86
42
-5
-1
0
0
0
0
0
0
0
0
0
-22
42
19
-39
-5
8
2
1
0
0
0
0
0
0
0
0
0
-15
-16
-8
-19
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-36
35
18
34
11
0
5
0
0
0
0
0
0
0
0
0
35
32
-4
57
0
-32
-2
-2
0
0
0
0
0
0
0
0
0
33
5
2
2
-13
12
38
3
0
0
0
0
0
0
0
0
0
41
64
33
16
10
23
7
0
0
0
0
0
0
0
0
0
0
32
-22
91
10
5
-1
-2
3
0
0
0
0
0
0
0
0
0
7
20
-9
-28
-41
-5
0
0
0
0
0
0
0
0
0
0
0
-11
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
8
4
0
0
0
0
0
0
0
0
0
0
0
0
49
28
17
-61
3
2
0
0
0
0
0
0
0
0
0
0
0
-13
1
-10
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-6
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
-2
0
-2
3
-7
0
0
0
0
0
0
0
0
0
25
13
20
10
1
24
1
-3
0
0
0
0
0
0
0
0
0
0
22
-1
13
10
2
0
-1
0
0
0
0
0
0
0
0
0
-18
73
2
-7
10
-3
3
-3
0
0
0
0
0
0
0
0
0
-13
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-21
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
-23
-6
93
8
6
-8
0
0
0
0
0
0
0
0
0
8
54
74
-27
-22
-22
15
40
-1
0
0
0
0
0
0
0
0
-32
17
-32
75
39
14
-33
-8
1
0
0
0
0
0
0
0
0
-2
-27
-1
-50
73
-30
-19
-14
0
0
0
0
0
0
0
0
0
8
-25
40
-6
-9
-5
-29
1
2
0
0
0
0
0
0
0
0
1
-47
48
25
4
-1
-1
3
1
0
0
0
0
0
0
0
0
0
84
8
6
-5
0
0
2
6
0
0
0
0
0
0
0
0
0
-24
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-34
-80
14
-14
25
1
0
0
0
0
0
0
0
0
0
0
16
16
77
-13
27
-20
38
0
0
0
0
0
0
0
0
0
0
44
0
-12
11
-52
9
36
0
-1
0
0
0
0
0
0
0
0
-29
46
-18
-56
43
-8
1
9
-1
0
0
0
0
0
0
0
0
-40
0
-11
6
6
0
-5
-5
0
0
0
0
0
0
0
0
0
-21
6
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
17
-14
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
31
7
5
-4
4
-1
0
0
0
0
0
0
0
0
0
27
4
29
20
-4
-17
22
-3
9
0
-1
0
0
0
0
0
0
23
-2
-26
1
-4
0
10
0
-1
-1
0
0
0
0
0
0
0
7
-1
10
-8
5
27
14
0
0
0
0
0
0
0
0
0
0
3
-10
4
-13
7
-7
-2
0
0
-2
0
0
0
0
0
0
0
-1
-4
-2
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-24
1
15
28
20
1
-5
0
0
0
0
0
0
0
0
0
42
-41
24
5
39
-19
-15
-8
0
0
0
0
0
0
0
0
0
-5
-14
9
58
-4
7
-27
-1
0
0
0
0
0
0
0
0
0
1
21
4
-10
-31
1
-20
7
-3
-2
0
0
0
0
0
0
0
-30
9
-1
14
-10
4
0
0
0
0
0
0
0
0
0
0
0
-27
8
-7
17
-3
-4
2
-2
4
0
0
0
0
0
0
0
0
-31
11
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-6
-18
-14
-38
33
33
0
0
0
0
0
0
0
0
0
21
41
71
8
-58
54
65
59
-4
0
0
0
0
0
0
0
0
-17
38
54
57
12
2
40
4
0
0
0
0
0
0
0
0
0
74
-23
-15
39
-21
-29
-1
14
2
0
0
0
0
0
0
0
0
-2
-44
-7
-63
-3
34
7
0
0
0
0
0
0
0
0
0
0
-51
27
42
-6
5
0
0
-8
0
0
0
0
0
0
0
0
0
71
-5
27
20
1
-1
1
0
0
0
0
0
0
0
0
0
0
8
7
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
15
-43
16
8
-28
7
0
0
0
0
0
0
0
0
0
-29
5
11
42
-12
4
-29
5
-1
-1
0
0
0
0
0
0
0
-40
26
31
-23
-20
-69
2
36
-7
0
0
0
0
0
0
0
0
14
78
38
14
22
10
10
16
7
2
0
0
0
0
0
0
0
-9
-4
47
84
-1
-9
49
6
0
1
0
0
0
0
0
0
0
-4
12
33
-2
17
27
-14
7
0
0
0
0
0
0
0
0
0
-30
21
28
-6
10
-7
2
0
0
0
0
0
0
0
0
0
0
-7
41
14
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
-10
42
55
71
53
-44
0
0
0
0
0
0
0
0
0
8
11
4
-5
33
-21
78
47
8
-9
0
0
0
0
0
0
0
-25
-11
33
59
-22
-15
3
0
-2
0
0
0
0
0
0
0
0
37
66
5
52
8
41
21
-19
2
-1
0
0
0
0
0
0
0
45
1
-25
-40
51
-7
11
18
6
0
0
0
0
0
0
0
0
-20
-3
-5
0
56
-36
43
-2
-8
1
0
0
0
0
0
0
0
-20
-12
63
-10
-10
-5
-8
1
0
0
0
0
0
0
0
0
0
-23
-12
28
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
83
21
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-5
88
-85
-21
1
-18
-49
0
0
0
0
0
0
0
0
0
40
48
29
-63
-18
41
-20
-2
-11
8
0
0
0
0
0
0
0
33
-17
-14
-10
-2
19
22
4
0
-8
0
0
0
0
0
0
0
8
98
-78
-54
0
-4
75
25
17
0
0
0
0
0
0
0
0
-15
1
3
3
-38
45
-25
-2
8
-8
0
0
0
0
0
0
0
55
-18
146
-15
37
-36
-7
-19
0
1
0
0
0
0
0
0
0
-21
25
72
-33
-54
-20
-17
-10
-4
3
0
0
0
0
0
0
0
8
47
21
23
5
-8
0
1
0
0
0
0
0
0
0
0
0
-1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-21
20
68
75
-67
0
6
0
0
0
0
0
0
0
0
20
7
-29
-12
37
-41
14
-2
1
1
0
0
0
0
0
0
0
-10
-77
74
-86
9
-37
-13
-13
-1
0
0
0
0
0
0
0
0
-29
27
-27
-17
32
20
-37
-6
1
0
0
0
0
0
0
0
0
6
-1
21
116
-13
-1
-16
7
9
0
0
0
0
0
0
0
0
11
-10
21
-10
-41
92
12
7
-4
0
0
0
0
0
0
0
0
-3
-15
-32
29
0
8
1
-1
3
0
0
0
0
0
0
0
0
-8
25
24
-3
0
7
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
4
-20
39
-26
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
29
-15
-1
22
3
0
2
0
0
0
0
0
0
0
0
63
78
29
58
9
13
9
-2
0
0
0
0
0
0
0
0
0
-22
42
74
-32
22
-25
-1
8
0
0
0
0
0
0
0
0
0
-19
32
-25
28
-25
1
0
0
0
0
0
0
0
0
0
0
0
-21
6
-53
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
23
5
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
2
-18
10
1
0
0
0
0
0
0
0
0
0
0
0
-6
2
-32
-1
9
-1
-1
0
0
0
0
0
0
0
0
0
0
4
-3
40
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
-2
5
0
0
-2
0
0
0
0
0
0
0
0
0
11
9
6
0
-2
-5
7
-25
0
0
0
0
0
0
0
0
0
13
23
-9
-5
41
-7
-3
2
0
0
0
0
0
0
0
0
0
0
6
15
-3
-4
-1
0
-3
0
0
0
0
0
0
0
0
0
-80
-20
2
-1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
-2
13
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-31
-11
-23
6
-27
0
0
0
0
0
0
0
0
0
0
3
-31
-2
73
13
-55
25
59
-10
0
0
0
0
0
0
0
0
95
-63
-44
-4
-44
-26
-11
48
0
0
0
0
0
0
0
0
0
-14
-7
50
57
17
-68
7
32
-2
0
0
0
0
0
0
0
0
-1
-107
-90
18
32
-40
1
0
-8
-8
0
0
0
0
0
0
0
1
-16
12
-6
69
44
-1
-2
-1
0
0
0
0
0
0
0
0
2
83
2
-25
0
3
24
0
0
0
0
0
0
0
0
0
0
0
-23
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
56
-23
7
12
-13
-1
0
0
0
0
0
0
0
0
0
0
0
-14
42
93
3
-7
8
-4
0
0
0
0
0
0
0
0
0
-8
-63
-37
-17
-13
-7
5
-3
0
0
0
0
0
0
0
0
0
-88
-1
-44
69
7
-36
-2
0
-5
0
0
0
0
0
0
0
0
-7
12
45
36
-24
-14
0
-5
0
0
0
0
0
0
0
0
0
7
-25
-5
19
43
2
-6
0
0
0
0
0
0
0
0
0
0
59
21
8
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
50
9
13
-2
10
-2
0
0
0
0
0
0
0
0
0
-2
0
-25
2
41
11
30
2
0
0
0
0
0
0
0
0
0
10
-3
-1
47
8
25
24
-8
-2
0
0
0
0
0
0
0
0
50
-17
5
0
7
-17
66
0
-3
0
0
0
0
0
0
0
0
31
-6
-7
8
12
-5
2
-8
-1
0
0
0
0
0
0
0
0
2
1
-13
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-7
0
5
2
-3
0
0
0
0
0
0
0
0
0
-5
-54
30
-30
16
-5
23
6
-3
0
0
0
0
0
0
0
0
-4
-25
-5
-10
-3
-13
-24
-4
0
0
0
0
0
0
0
0
0
-41
49
32
-42
5
29
-5
1
0
0
0
0
0
0
0
0
0
-16
36
-3
8
4
0
0
0
0
4
0
0
0
0
0
0
0
1
8
-3
-5
3
13
0
0
0
0
0
0
0
0
0
0
0
-3
-19
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
4
8
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
26
57
-51
-39
-53
36
5
0
0
0
0
0
0
0
0
0
62
37
25
-43
22
1
20
-7
-20
0
0
0
0
0
0
0
0
-36
-37
1
-88
7
-9
-50
-6
1
0
0
0
0
0
0
0
0
23
48
62
-34
11
-1
-10
10
8
0
0
0
0
0
0
0
0
-21
29
-30
-42
100
23
24
7
22
-1
0
0
0
0
0
0
0
33
-53
39
14
13
-17
0
0
0
0
0
0
0
0
0
0
0
5
-1
-30
-12
-2
0
0
-4
0
0
0
0
0
0
0
0
0
25
76
-8
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
34
2
-3
-12
-6
-14
-16
0
0
0
0
0
0
0
0
0
-16
-3
-99
5
46
17
-10
10
-1
0
0
0
0
0
0
0
0
-3
54
66
59
5
-33
14
-33
41
-1
0
0
0
0
0
0
0
48
53
20
13
32
-20
2
-6
-5
0
0
0
0
0
0
0
0
13
57
62
15
18
3
9
7
9
0
0
0
0
0
0
0
0
-14
7
16
-2
28
17
-32
-5
0
0
0
0
0
0
0
0
0
1
47
-45
14
-4
25
4
-3
5
0
0
0
0
0
0
0
0
41
8
68
26
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
70
11
31
-15
60
-14
5
0
0
0
0
0
0
0
0
0
-8
41
13
-26
-38
22
-55
-2
3
0
0
0
0
0
0
0
0
90
0
-3
-12
44
13
-42
18
9
3
0
0
0
0
0
0
0
18
54
-26
123
11
-18
12
1
0
0
0
0
0
0
0
0
0
51
52
68
-18
12
-14
63
-7
-6
0
0
0
0
0
0
0
0
-11
36
7
2
1
0
28
0
0
0
0
0
0
0
0
0
0
42
4
-16
-7
-8
8
-2
0
-9
0
0
0
0
0
0
0
0
7
23
17
3
1
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
36
-36
-68
6
32
-74
-13
0
0
0
0
0
0
0
0
0
23
6
-21
70
-16
1
2
42
-31
-3
0
0
0
0
0
0
0
-10
38
-15
24
-77
73
-31
-31
-7
-2
0
0
0
0
0
0
0
43
-108
24
-33
-33
59
42
-49
0
-1
0
0
0
0
0
0
0
-24
-22
-12
29
9
-29
-13
-3
16
0
0
0
0
0
0
0
0
5
14
-13
-20
-41
35
3
12
0
0
0
0
0
0
0
0
0
48
37
5
27
-12
-33
14
6
8
1
0
0
0
0
0
0
0
-3
48
21
-48
19
0
-5
1
2
0
0
0
0
0
0
0
0
32
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-9
18
-46
27
-70
6
0
0
0
0
0
0
0
0
0
0
7
52
32
42
13
70
-19
15
0
0
0
0
0
0
0
0
0
-9
-19
59
32
-9
-8
75
-9
-1
0
0
0
0
0
0
0
0
-6
76
-55
12
-16
12
18
22
0
0
0
0
0
0
0
0
0
-47
-47
-17
68
40
14
12
-71
-2
0
0
0
0
0
0
0
0
-35
-45
62
-94
42
34
6
-48
0
0
0
0
0
0
0
0
0
-50
72
-1
16
-39
-2
1
0
0
0
0
0
0
0
0
0
0
14
53
-26
-8
-17
-5
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-49
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
76
113
14
8
-15
0
0
-2
0
0
0
0
0
0
0
0
13
40
12
-16
-5
15
4
-1
0
0
0
0
0
0
0
0
0
-26
15
25
4
6
-5
-1
0
0
0
0
0
0
0
0
0
0
-14
-1
24
-17
-27
1
0
0
0
0
0
0
0
0
0
0
0
-8
2
22
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-9
2
0
5
-13
-6
0
0
0
0
0
0
0
0
0
0
10
13
-17
-5
-3
15
12
0
0
0
0
0
0
0
0
0
0
-9
18
16
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
32
-17
-8
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
14
-9
-18
93
4
0
0
0
0
0
0
0
0
0
0
0
0
2
8
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
5
9
-25
45
25
0
0
0
0
0
0
0
0
0
-7
40
-73
-29
49
11
14
20
-9
0
0
0
0
0
0
0
0
-3
38
30
-60
-3
10
-25
27
13
0
0
0
0
0
0
0
0
2
105
20
11
20
34
61
16
-3
0
0
0
0
0
0
0
0
9
0
-20
-24
-12
-60
48
-7
12
0
0
0
0
0
0
0
0
0
-4
30
-43
59
25
-3
0
0
0
0
0
0
0
0
0
0
3
-42
-6
15
22
-2
-1
1
-1
0
0
0
0
0
0
0
0
0
44
-3
-22
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
-7
9
-27
3
-5
0
0
0
0
0
0
0
0
0
4
-15
-3
-11
8
-34
3
-20
3
0
0
0
0
0
0
0
0
0
-18
-27
78
7
26
-31
-10
0
0
0
0
0
0
0
0
0
0
-45
-20
-13
8
11
-13
-4
0
0
0
0
0
0
0
0
0
0
-42
0
21
107
-11
1
-2
0
0
0
0
0
0
0
0
0
0
-3
47
-7
7
10
0
0
7
0
0
0
0
0
0
0
0
0
-12
-9
-19
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-41
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
0
-1
6
7
0
0
0
0
0
0
0
0
0
0
2
-10
-60
54
-12
33
46
5
0
0
0
0
0
0
0
0
0
3
7
9
5
-42
2
8
-8
0
0
0
0
0
0
0
0
0
-7
9
8
-9
-38
2
-3
-5
2
0
0
0
0
0
0
0
0
-6
-3
6
0
0
-12
11
1
0
0
0
0
0
0
0
0
0
-3
0
1
14
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-25
-29
-7
8
10
0
0
0
0
0
0
0
0
0
0
18
5
-13
-7
23
47
-13
2
-3
0
0
0
0
0
0
0
0
13
20
-48
28
53
-5
4
-2
10
0
0
0
0
0
0
0
0
-58
-13
22
83
-14
2
-8
8
0
0
0
0
0
0
0
0
0
8
-3
25
-43
0
5
4
-2
0
0
0
0
0
0
0
0
0
-37
30
-8
-57
20
0
0
-1
-3
0
0
0
0
0
0
0
0
6
-44
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
20
-50
12
34
22
-3
5
0
0
0
0
0
0
0
0
0
67
61
64
35
10
-20
-32
8
0
0
0
0
0
0
0
0
0
42
-39
-10
-8
-17
14
6
-9
0
0
0
0
0
0
0
0
0
-12
72
27
-20
8
-3
-13
2
1
0
0
0
0
0
0
0
0
-79
92
42
43
-69
0
-8
0
1
0
0
0
0
0
0
0
0
6
2
40
-56
5
6
9
-4
0
0
0
0
0
0
0
0
0
47
-3
-7
44
-4
1
-22
1
0
0
0
0
0
0
0
0
0
-1
82
-4
-6
-3
0
0
-2
0
0
0
0
0
0
0
0
0
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-18
-5
17
29
0
-39
-2
0
0
0
0
0
0
0
0
0
22
20
-20
32
34
29
-9
-10
13
0
0
0
0
0
0
0
0
25
-21
-44
4
51
28
17
-25
25
0
0
0
0
0
0
0
0
-5
23
50
15
-23
-24
-4
-2
2
0
0
0
0
0
0
0
0
-7
5
2
72
73
33
0
20
4
0
0
0
0
0
0
0
0
14
13
25
-58
10
4
-8
0
-13
0
0
0
0
0
0
0
0
-8
-27
-45
67
0
-10
4
2
0
0
0
0
0
0
0
0
0
-13
-6
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
59
48
-11
74
52
-43
-3
0
4
0
0
0
0
0
0
0
137
-22
84
46
69
-11
47
6
-9
0
0
0
0
0
0
0
0
-13
-13
57
43
-18
-58
-1
46
32
-4
0
0
0
0
0
0
0
-2
-13
-35
104
-46
11
3
10
-8
0
0
0
0
0
0
0
0
-5
2
59
-13
46
17
11
0
0
0
0
0
0
0
0
0
0
35
28
58
6
-32
-5
-13
3
0
-3
0
0
0
0
0
0
0
-5
6
25
0
-43
14
-2
0
0
0
0
0
0
0
0
0
0
-8
40
-4
33
8
-1
0
0
0
0
0
0
0
0
0
0
0
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-28
-26
50
27
95
-31
1
0
0
0
0
0
0
0
0
0
24
-2
-46
84
-16
119
26
-1
25
0
0
0
0
0
0
0
0
-9
90
29
-53
18
-56
-44
-39
3
23
0
0
0
0
0
0
0
-11
-34
70
42
-43
-3
-20
13
24
0
0
0
0
0
0
0
0
10
32
-18
35
9
72
-9
-4
0
1
0
0
0
0
0
0
0
-33
48
-16
-16
44
25
-8
9
29
0
0
0
0
0
0
0
0
33
6
7
-54
7
9
-24
-14
-1
0
0
0
0
0
0
0
0
1
60
-22
-54
2
-6
27
0
7
0
0
0
0
0
0
0
0
24
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-16
60
-48
19
-15
-59
0
0
0
0
0
0
0
0
0
0
65
46
51
18
-23
62
78
-41
-1
1
0
0
0
0
0
0
0
-31
60
53
-11
68
-25
-44
4
1
0
0
0
0
0
0
0
0
-13
7
44
104
11
46
31
4
8
0
0
0
0
0
0
0
0
-90
-6
57
27
-10
54
15
-3
0
0
0
0
0
0
0
0
0
-5
-28
-44
12
11
2
57
0
5
0
0
0
0
0
0
0
0
-13
0
85
12
-14
30
9
-17
0
0
0
0
0
0
0
0
0
-5
-39
29
9
-3
0
7
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
26
-50
30
-1
0
0
0
0
0
0
0
0
0
0
0
16
26
24
-11
6
-23
-2
0
0
0
0
0
0
0
0
0
0
20
27
-43
18
1
2
-19
0
0
0
0
0
0
0
0
0
0
31
8
-10
-12
-5
9
2
3
0
0
0
0
0
0
0
0
0
-46
53
1
-1
12
-16
1
-5
0
0
0
0
0
0
0
0
0
-2
-5
24
-8
0
0
-4
-1
0
0
0
0
0
0
0
0
0
4
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
-38
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
6
1
-5
0
0
0
0
0
0
0
0
0
22
8
2
1
4
-19
19
-18
2
0
0
0
0
0
0
0
0
40
-4
-1
-3
2
6
-3
-2
0
0
0
0
0
0
0
0
0
0
19
55
5
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
16
28
-20
6
-1
0
0
0
0
0
0
0
0
0
0
0
22
-1
-12
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-8
16
7
41
-4
0
0
0
0
0
0
0
0
0
0
-20
-16
-7
47
6
18
22
-2
0
0
0
0
0
0
0
0
-4
-43
4
156
25
-51
13
-12
-3
0
0
0
0
0
0
0
0
41
2
9
-5
22
47
-29
-9
8
0
0
0
0
0
0
0
0
-4
29
-44
10
3
-37
-30
-2
-2
0
0
0
0
0
0
0
0
5
0
-40
8
33
42
2
0
4
0
0
0
0
0
0
0
0
0
-26
51
-37
-29
1
0
0
-2
0
0
0
0
0
0
0
0
-5
4
71
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
-1
0
1
-4
5
0
0
0
0
0
0
0
0
0
0
-2
1
-2
-1
-8
12
0
25
0
0
0
0
0
0
0
0
0
-15
-7
24
-16
23
-5
29
-3
1
0
0
0
0
0
0
0
12
-5
-1
-2
-32
60
-69
44
-7
0
0
0
0
0
0
0
0
0
56
45
42
-8
-4
4
2
0
0
0
0
0
0
0
0
0
0
56
0
68
-33
-1
12
0
0
0
0
0
0
0
0
0
0
0
5
-17
22
25
34
1
0
0
0
0
0
0
0
0
0
0
-4
33
0
65
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-14
4
0
4
13
0
0
0
0
0
0
0
0
0
-25
0
49
10
71
-21
0
-10
0
0
1
0
0
0
0
0
0
1
-12
-15
1
5
-7
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
25
0
-22
-24
41
-4
0
0
0
0
0
0
0
0
0
0
12
1
-13
27
-10
5
4
0
0
0
0
0
0
0
0
0
0
-6
-17
0
13
-28
-2
0
0
0
0
0
0
0
0
0
0
-23
-7
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
1
29
8
-9
0
0
0
0
0
0
0
0
0
2
-31
-13
-30
36
27
-59
12
1
0
0
0
0
0
0
0
0
24
-42
-9
23
-23
-18
10
-8
0
-6
0
0
0
0
0
0
0
4
17
3
8
6
-27
-32
-23
2
-1
0
0
0
0
0
0
0
0
1
5
54
55
-10
15
-2
3
0
0
0
0
0
0
0
0
10
-1
41
40
0
0
-3
6
0
0
0
0
0
0
0
0
0
7
-24
21
-2
10
1
7
0
0
0
0
0
0
0
0
0
0
6
4
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
2
63
-9
-1
-1
29
-2
0
0
0
0
0
0
0
0
0
-31
-12
-4
-22
-3
19
-46
-27
-4
0
0
0
0
0
0
0
0
14
54
-19
-17
28
72
9
1
0
0
0
0
0
0
0
0
0
1
-39
-2
-2
22
-16
-24
0
-3
0
0
0
0
0
0
0
0
-1
-13
17
21
-18
22
10
-1
-2
0
0
0
0
0
0
0
0
-6
32
48
15
13
0
-1
-2
4
0
0
0
0
0
0
0
0
-72
4
20
41
3
-1
-1
-2
0
0
0
0
0
0
0
0
0
-7
-35
24
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
58
-8
121
33
-48
10
-28
0
0
0
0
0
0
0
0
0
28
59
49
-8
12
52
34
25
6
0
0
0
0
0
0
0
0
72
-22
3
-1
-10
-14
-2
30
-5
0
0
0
0
0
0
0
0
21
15
65
74
-18
-42
5
-13
0
7
0
0
0
0
0
0
0
21
45
95
47
-15
1
-15
24
1
0
0
0
0
0
0
0
0
5
27
6
-16
23
38
0
0
8
0
0
0
0
0
0
0
0
7
56
-43
14
27
6
-10
1
0
0
0
0
0
0
0
0
0
-3
17
1
-26
5
8
1
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
35
-29
43
0
-43
53
2
0
0
0
0
0
0
0
0
0
45
-10
67
53
-25
11
44
32
-4
0
0
0
0
0
0
0
0
56
-36
86
5
7
-88
48
15
-8
0
0
0
0
0
0
0
0
-44
41
67
2
36
90
44
12
-8
0
0
0
0
0
0
0
0
91
14
-13
-83
102
-21
-42
-5
-2
0
0
0
0
0
0
0
0
43
17
46
54
24
13
-8
0
3
0
0
0
0
0
0
0
0
-4
-9
52
29
96
2
-5
4
0
1
0
0
0
0
0
0
0
-7
12
33
32
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
15
32
-35
12
4
-7
-89
0
0
0
0
0
0
0
0
0
17
-27
87
28
55
-7
-89
-30
-19
0
0
0
0
0
0
0
0
-41
10
1
64
16
-21
34
2
1
0
0
0
0
0
0
0
0
31
96
31
43
82
-8
0
39
-10
-7
0
0
0
0
0
0
0
-8
-48
50
53
16
4
-16
19
0
31
0
0
0
0
0
0
0
9
12
18
-19
22
-14
-4
10
0
-2
0
0
0
0
0
0
0
26
11
6
-50
-3
-7
46
-15
8
0
0
0
0
0
0
0
0
-22
3
-22
-12
4
8
8
-1
0
0
0
0
0
0
0
0
0
42
7
9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
59
34
50
-3
-48
35
0
0
0
0
0
0
0
0
0
0
96
14
47
5
-4
-73
6
31
-2
0
0
0
0
0
0
0
0
9
95
-57
-11
-62
32
11
60
26
0
0
0
0
0
0
0
0
110
41
-54
52
-52
24
0
-2
5
-1
0
0
0
0
0
0
0
54
-29
21
27
53
6
-10
1
1
-1
0
0
0
0
0
0
0
25
10
52
-1
-27
16
4
10
0
0
0
0
0
0
0
0
0
83
33
18
10
9
0
-14
-10
1
0
0
0
0
0
0
0
0
110
5
54
3
0
1
-4
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
-12
58
8
66
0
0
0
0
0
0
0
0
0
0
0
6
29
19
-7
-16
-55
0
0
0
0
0
0
0
0
0
0
0
-23
52
28
19
26
6
0
-7
0
0
0
0
0
0
0
0
0
-23
8
-10
9
22
-6
-4
0
0
0
0
0
0
0
0
0
0
21
14
5
12
12
1
2
0
0
0
0
0
0
0
0
0
0
17
40
-6
-8
8
-13
-3
0
0
0
0
0
0
0
0
0
0
-1
8
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-41
49
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
46
27
6
0
0
0
0
0
0
0
0
0
0
0
0
8
13
5
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
63
8
10
-1
-25
-48
9
0
0
0
0
0
0
0
0
1
-15
18
2
23
17
3
13
0
0
0
0
0
0
0
0
0
8
51
-5
44
47
10
-4
8
-4
0
0
0
0
0
0
0
0
-4
-8
4
-8
-22
48
4
5
0
0
0
0
0
0
0
0
0
-10
41
-26
-22
50
49
5
-1
0
0
0
0
0
0
0
0
0
7
0
-23
14
-3
-6
-6
0
0
0
0
0
0
0
0
0
0
0
10
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
14
6
5
-7
-1
-25
-4
5
0
0
0
0
0
0
0
0
0
48
-3
10
6
23
42
-5
5
0
0
0
0
0
0
0
0
0
62
-17
-28
28
-29
-6
-10
0
0
0
0
0
0
0
0
0
0
47
71
22
-8
-15
42
-5
-3
0
0
0
0
0
0
0
0
0
-5
51
38
-40
-10
0
1
0
0
0
0
0
0
0
0
0
0
-45
0
15
14
21
0
0
1
-1
0
0
0
0
0
0
0
0
-2
23
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-24
5
0
0
22
0
0
0
0
0
0
0
0
0
0
8
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
2
1
8
-2
6
0
0
0
0
0
0
0
0
0
0
0
3
-36
-40
-2
6
-1
0
0
0
0
0
0
0
0
0
0
-18
5
6
3
3
-9
2
0
0
0
0
0
0
0
0
0
1
19
42
0
24
5
4
0
0
0
0
0
0
0
0
0
0
2
6
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
-19
5
9
15
0
0
0
0
0
0
0
0
0
0
-5
89
86
-9
3
-41
-7
-7
0
0
0
0
0
0
0
0
0
0
-1
24
-9
1
-25
8
0
1
-1
0
0
0
0
0
0
0
0
-12
-2
-14
4
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
30
-2
6
1
-2
3
2
0
0
0
0
0
0
0
0
0
39
-31
6
-16
13
3
-5
1
0
0
0
0
0
0
0
0
-2
7
10
-5
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-15
37
-2
38
4
3
0
0
0
0
0
0
0
0
0
-42
44
9
48
-21
2
-32
25
0
0
0
0
0
0
0
0
0
44
-31
-8
44
-35
45
-19
-16
-2
0
0
0
0
0
0
0
0
-9
-7
-26
8
-4
3
-4
7
0
0
0
0
0
0
0
0
0
0
36
22
-19
-23
23
16
5
-6
0
0
0
0
0
0
0
0
8
16
3
10
1
15
2
-7
0
0
0
0
0
0
0
0
0
-27
52
-2
10
-13
0
0
0
2
0
0
0
0
0
0
0
0
77
6
54
-22
-2
0
0
14
0
0
0
0
0
0
0
0
0
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
59
-15
-8
-85
33
10
-4
0
0
0
0
0
0
0
0
0
-22
-58
-40
-6
39
-41
22
42
2
0
0
0
0
0
0
0
0
30
-64
-32
-10
-19
-14
6
7
-5
2
0
0
0
0
0
0
0
6
-48
-6
-9
24
6
-4
1
6
0
0
0
0
0
0
0
0
0
-33
3
18
54
48
0
22
6
0
0
0
0
0
0
0
0
5
-48
-44
-1
17
19
8
36
-10
27
0
0
0
0
0
0
0
10
52
19
49
0
-48
0
-9
-1
0
0
0
0
0
0
0
0
33
-49
-16
29
-1
-8
-1
0
-2
0
0
0
0
0
0
0
0
-8
6
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
14
-35
73
2
17
-3
0
0
0
0
0
0
0
0
0
19
48
3
121
28
23
34
-12
-16
0
0
0
0
0
0
0
0
-62
18
93
5
18
42
1
1
-1
1
0
0
0
0
0
0
0
-50
92
33
49
22
-15
6
8
1
0
0
0
0
0
0
0
0
1
49
37
161
9
52
-42
-1
-1
0
0
0
0
0
0
0
0
6
1
56
46
-1
-4
-25
24
-3
0
0
0
0
0
0
0
0
-42
-8
-5
31
41
-7
15
0
0
0
0
0
0
0
0
0
0
12
-32
10
33
20
2
1
-1
0
0
0
0
0
0
0
0
0
17
19
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
33
66
-7
44
-5
5
0
0
0
0
0
0
0
0
0
14
31
-20
8
49
11
-55
101
-31
29
0
0
0
0
0
0
0
31
81
72
-76
11
54
57
25
3
2
0
0
0
0
0
0
0
2
-65
82
-35
47
124
38
-3
30
7
0
0
0
0
0
0
0
-3
-12
15
59
-10
44
-47
-16
-3
4
0
0
0
0
0
0
0
3
13
30
83
-54
76
15
13
-27
5
0
0
0
0
0
0
0
-6
-58
84
86
22
6
31
-53
0
0
0
0
0
0
0
0
0
67
-51
-5
-4
14
13
-29
4
1
0
0
0
0
0
0
0
0
-2
40
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
13
-6
3
-14
-49
36
0
0
0
0
0
0
0
0
0
0
81
6
-26
36
-7
15
50
3
4
3
0
0
0
0
0
0
0
-11
4
31
10
3
2
-8
-7
0
0
0
0
0
0
0
0
0
-22
21
-73
64
-8
-6
5
-48
-1
-1
0
0
0
0
0
0
0
3
15
44
-11
-66
5
24
13
1
0
0
0
0
0
0
0
0
64
25
39
75
-19
10
21
29
-10
0
0
0
0
0
0
0
0
86
-8
-2
-8
-21
-26
9
-16
0
0
0
0
0
0
0
0
0
12
-59
8
-6
-5
8
12
0
0
0
0
0
0
0
0
0
0
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
13
-27
-21
-18
0
0
0
0
0
0
0
0
0
0
0
7
-78
50
15
-33
-21
2
0
0
0
0
0
0
0
0
0
0
-9
-32
-8
-13
10
12
8
1
0
0
0
0
0
0
0
0
0
-15
4
37
24
-8
4
1
14
0
0
0
0
0
0
0
0
0
-1
21
16
-46
8
-4
-8
-7
0
0
0
0
0
0
0
0
0
1
-3
-31
-3
-7
3
4
1
0
0
0
0
0
0
0
0
0
-8
-3
4
7
20
1
0
0
0
0
0
0
0
0
0
0
0
-24
-4
12
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
30
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-1
41
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
8
-3
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
-16
0
0
0
0
0
0
0
0
0
0
8
7
35
-5
-1
2
0
30
0
0
0
0
0
0
0
0
0
1
3
-10
-1
6
0
6
0
0
0
0
0
0
0
0
0
0
6
0
6
7
8
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
1
10
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
-7
-2
-12
24
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
30
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
6
-3
3
0
0
0
0
0
0
0
0
0
0
0
5
-7
-1
24
5
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
27
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
9
1
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
2
-7
0
2
0
3
0
0
0
0
0
0
0
0
-23
0
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
1
0
31
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
4
-17
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-5
13
29
-1
7
3
0
0
0
0
0
0
0
0
-1
8
-76
-43
-3
-33
-9
-3
0
0
0
0
0
0
0
0
0
2
2
50
31
14
0
0
3
4
0
0
0
0
0
0
0
0
0
-25
40
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
41
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
5
14
23
-2
-3
0
4
0
0
0
0
0
0
0
0
0
1
-30
9
10
8
0
0
0
0
0
0
0
0
0
0
0
0
-60
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
10
14
-48
-8
0
1
2
0
0
0
0
0
0
0
0
0
0
-16
30
-2
2
8
8
-4
8
0
0
0
0
0
0
0
0
-3
3
7
34
15
-20
4
6
0
0
0
0
0
0
0
0
0
-1
9
16
-5
-23
-29
-3
0
0
0
0
0
0
0
0
0
0
0
40
-12
67
10
-17
-1
0
0
0
0
0
0
0
0
0
0
1
7
50
-33
-7
-10
0
0
0
0
0
0
0
0
0
0
0
8
-20
32
-16
-1
0
0
0
1
0
0
0
0
0
0
0
0
8
-5
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
33
10
0
-26
29
-5
0
0
0
0
0
0
0
0
0
48
19
13
57
-3
-30
-30
-20
0
0
0
0
0
0
0
0
0
8
13
6
-28
63
-8
-4
-2
-1
0
0
0
0
0
0
0
0
-10
53
-23
-24
46
24
-8
26
0
0
0
0
0
0
0
0
0
-28
11
9
53
-43
-4
-7
-2
2
0
0
0
0
0
0
0
0
6
81
49
1
-25
59
9
-2
8
0
0
0
0
0
0
0
0
23
63
85
-14
32
37
-2
0
0
0
0
0
0
0
0
0
0
13
41
-39
-5
-9
-7
3
0
-1
0
0
0
0
0
0
0
0
43
27
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
56
-14
61
-5
-16
-25
5
0
0
0
0
0
0
0
0
0
10
65
47
21
2
-22
-44
5
-5
1
0
0
0
0
0
0
0
2
59
18
-80
103
39
44
-5
-29
-4
0
0
0
0
0
0
0
-3
9
-12
79
-30
-3
-12
9
-43
0
0
0
0
0
0
0
0
-1
98
-11
-21
-11
83
-54
90
-25
0
0
0
0
0
0
0
0
-10
-5
35
24
42
-59
43
32
-3
-1
0
0
0
0
0
0
0
-8
66
-40
25
31
0
14
1
-7
-4
0
0
0
0
0
0
0
-3
-23
-28
-36
-14
-3
5
-1
0
0
0
0
0
0
0
0
0
-15
5
24
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-24
45
40
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
87
31
84
-55
-13
0
-1
0
0
0
0
0
0
0
0
1
87
56
48
10
50
-31
0
5
0
0
0
0
0
0
0
0
-45
14
-21
-43
34
-11
7
-20
0
0
0
0
0
0
0
0
0
31
39
41
-3
-4
20
13
1
0
0
0
0
0
0
0
0
0
3
-21
29
45
49
20
-3
13
1
0
0
0
0
0
0
0
0
-3
-29
-5
13
-51
25
-4
7
-4
0
0
0
0
0
0
0
0
-17
13
-9
-7
-14
-3
0
0
0
0
0
0
0
0
0
0
0
16
-13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-20
0
16
25
1
0
0
0
0
0
0
0
0
0
0
0
-2
14
43
-43
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-19
25
-25
-27
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
58
-13
-13
-3
0
0
0
0
0
0
0
0
0
0
0
-4
3
-31
4
-10
14
-9
0
0
0
0
0
0
0
0
0
0
3
0
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
8
-7
-3
-10
0
4
0
0
0
0
0
0
0
0
0
0
1
-6
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
17
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
15
7
14
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
67
0
0
8
0
0
0
0
0
0
0
0
0
0
8
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
24
18
40
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
6
3
-17
0
0
0
0
0
0
0
0
0
0
0
0
-22
-17
0
12
-5
-1
0
0
0
0
0
0
0
0
0
0
5
0
-1
-5
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
24
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
-7
8
0
0
0
-47
-1
-3
0
0
0
0
0
0
0
0
-3
5
0
16
-7
-65
1
-14
0
0
0
0
0
0
0
0
0
0
-5
17
-1
36
5
-53
-4
0
0
0
0
0
0
0
0
0
0
0
-2
23
1
48
4
-2
1
0
0
0
0
0
0
0
0
0
1
1
5
-12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
4
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
8
-27
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
4
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-17
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
-23
-4
-12
0
-5
0
0
0
0
0
0
0
0
-1
0
-3
9
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-43
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
-6
1
0
0
0
0
0
0
0
14
-27
-11
21
0
0
0
22
-40
0
1
0
0
0
0
0
0
-2
-4
-7
-1
-57
-59
3
-57
-1
9
0
0
0
0
0
0
0
1
6
3
3
25
-28
7
35
-1
-2
0
0
0
0
0
0
0
0
13
15
24
-73
58
46
5
0
0
0
0
0
0
0
0
0
0
1
-2
17
1
56
29
28
8
3
0
0
0
0
0
0
0
0
4
-1
-2
13
1
-9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-76
3
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-64
-14
1
0
0
0
0
0
0
0
0
0
0
-2
5
8
34
18
-24
-31
1
0
0
0
0
0
0
0
0
-1
0
0
6
57
-32
-34
14
1
2
0
0
0
0
0
0
0
0
5
0
-3
-41
8
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-15
7
-58
-23
10
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
27
-1
1
1
0
0
0
0
0
0
0
0
0
0
6
-3
-24
-22
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
14
2
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
30
-29
-8
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
10
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
23
2
-12
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
2
2
5
-8
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
6
-8
3
-1
0
0
0
0
0
0
0
0
0
0
9
0
2
-6
-21
-4
-59
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-7
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
-8
0
0
0
-4
0
0
0
0
0
0
0
0
-8
8
10
-2
-12
0
0
0
0
-1
0
0
0
0
0
0
-8
0
6
8
-3
-2
22
5
-1
0
0
0
0
0
0
0
0
0
3
1
3
0
14
10
56
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
3
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
36
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-27
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
-54
-23
-15
0
0
0
-10
0
0
0
0
0
0
0
0
0
5
0
25
1
5
-73
-41
0
0
0
0
0
0
0
0
1
0
3
10
11
2
-66
23
-14
-2
0
0
0
0
0
0
0
0
0
-7
1
-5
-49
10
74
0
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-53
25
71
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
-18
-18
29
-7
0
0
0
0
0
0
0
0
0
0
0
-9
5
-78
-51
-35
-34
0
0
0
53
-5
0
0
0
0
0
0
2
13
14
33
1
-26
-70
13
-88
-3
-1
0
0
0
0
0
0
4
-1
12
5
26
49
-57
3
-18
-4
0
0
0
0
0
0
0
5
-5
0
-22
29
45
-13
64
-67
0
0
0
0
0
0
0
0
0
0
-3
0
-51
-123
-12
2
58
-24
-1
0
0
0
0
0
0
0
0
2
1
-5
21
13
-31
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
8
0
0
0
0
0
0
0
0
0
2
-33
9
-9
5
0
0
0
-7
0
0
0
0
0
0
0
1
8
-46
-43
49
0
0
0
0
-33
-3
0
0
0
0
0
0
0
4
-32
16
-21
-36
-13
4
-40
0
-1
0
0
0
0
0
0
0
-5
6
-20
7
4
-58
-53
72
9
-32
0
2
0
0
0
0
0
0
-3
-24
27
67
2
-44
-41
-55
0
0
0
0
0
0
0
0
0
0
9
-51
-101
58
96
77
13
-2
0
0
0
0
0
0
0
0
2
2
1
0
32
40
28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
40
-5
0
0
0
0
0
0
0
0
5
-30
-13
1
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-9
1
-8
12
11
-42
1
9
-2
0
0
0
0
0
0
0
0
-1
1
4
60
-62
15
23
-6
0
-1
0
0
0
0
0
0
0
-1
3
1
6
-17
29
14
-51
0
0
0
0
0
0
0
0
0
0
1
0
-34
0
-6
13
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
12
-25
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-24
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
4
17
-1
2
-4
0
0
0
0
0
0
0
0
0
-1
0
1
-37
12
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
15
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
5
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-10
9
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
18
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
-13
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-5
13
0
0
0
0
0
0
0
0
0
0
0
7
-1
1
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-41
52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
22
-19
-9
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
8
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-1
10
38
44
-1
0
0
0
0
0
0
0
0
0
4
0
2
0
0
-4
-1
6
0
0
0
0
0
0
0
0
0
-1
1
-5
-10
7
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-14
28
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
-2
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-16
-33
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-44
-50
29
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
3
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-10
8
0
0
0
-4
0
0
0
0
0
0
0
0
9
-13
40
0
0
-5
-31
-33
0
0
0
0
0
0
0
0
0
0
4
3
-3
5
-2
-54
-23
0
0
0
0
0
0
0
0
0
0
0
-4
-36
44
0
6
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
8
-48
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-27
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-31
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
-7
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-17
-53
-11
0
0
0
3
-7
0
0
0
0
0
0
-1
-10
-42
16
7
14
-14
-51
0
-17
0
0
0
0
0
0
0
0
-6
-8
8
-13
64
1
-63
-41
22
0
0
0
0
0
0
0
0
0
1
-1
-51
30
9
-9
44
3
0
0
0
0
0
0
0
0
0
-6
10
-17
8
75
-1
-46
0
0
0
0
0
0
0
0
0
0
0
0
2
0
41
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
27
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
47
-26
22
-105
0
0
0
1
0
0
0
0
0
0
0
22
33
94
42
-31
19
0
0
0
-9
5
0
0
0
0
0
0
-8
-31
-4
73
1
52
-31
-87
-25
-59
0
0
0
0
0
0
-1
-3
14
62
-16
-72
-14
52
16
58
-5
7
0
0
0
0
0
0
0
4
-25
-2
-29
-22
-90
54
-12
-63
9
0
0
0
0
0
0
0
32
16
-8
15
34
-13
39
16
-1
2
0
0
0
0
0
0
0
0
4
-30
5
39
0
37
-7
-19
0
0
0
0
0
0
0
0
0
2
-1
-1
6
-18
-11
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
0
0
0
-1
19
40
35
40
14
0
0
0
0
0
0
0
0
0
0
0
-4
7
-43
40
17
-81
0
0
0
-13
-1
0
0
0
0
0
0
-8
-2
53
26
-5
-29
37
-4
-25
-10
-2
0
0
0
0
0
0
0
2
17
-4
-25
-20
4
-8
-46
-96
1
-5
0
0
0
0
0
8
12
2
18
-49
-66
100
3
56
-4
4
0
0
0
0
0
0
0
0
-20
-2
-14
-2
24
-65
41
34
0
0
0
0
0
0
0
0
0
-6
-13
7
10
-15
-62
2
12
4
0
0
0
0
0
0
0
0
0
0
0
0
-16
-12
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
4
1
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
4
22
-3
0
0
0
-4
-2
-1
0
0
0
0
0
0
0
0
0
8
-13
9
0
63
-7
9
0
0
0
0
0
0
0
3
0
0
-2
-8
-5
-14
31
-16
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-12
73
-26
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-20
13
-4
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
1
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
1
5
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
8
3
1
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
57
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-4
-3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-7
-14
0
8
-5
-6
-8
0
0
0
0
0
0
0
0
0
0
0
5
3
2
-25
2
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
9
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
5
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
-43
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
2
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-8
0
2
1
-5
0
-25
-9
1
0
0
0
0
0
0
0
0
0
2
1
-7
17
36
-8
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
9
-36
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
7
73
-17
10
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
-30
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-17
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
-3
-2
16
-6
22
-5
0
0
0
0
0
0
0
0
0
0
-1
0
-2
13
22
-28
12
0
0
0
0
0
0
0
0
0
0
-4
8
0
40
22
14
-27
5
0
0
0
0
0
0
0
0
0
0
0
-4
8
73
8
-12
0
0
0
0
0
0
0
0
0
0
0
-13
0
24
2
-35
-2
4
0
0
0
0
0
0
0
0
0
0
0
1
-16
-54
-4
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-34
1
-4
-4
0
0
0
5
1
0
0
0
0
0
0
5
-4
0
-24
52
5
-5
2
30
-1
0
0
0
0
0
0
0
0
0
23
-4
0
-21
18
-13
0
4
0
0
0
0
0
0
0
0
7
-1
24
-24
0
-11
-23
-24
-8
0
0
0
0
0
0
0
0
0
1
3
-7
-19
0
-27
-43
-5
0
0
0
0
0
0
0
0
0
2
-1
2
0
-8
8
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-40
0
0
0
0
0
0
0
0
0
0
1
1
17
-5
-8
0
0
0
0
0
0
0
0
0
0
0
10
6
23
-52
-17
-15
0
0
0
22
4
0
0
0
0
0
0
0
-19
-10
13
72
83
18
-86
-89
0
0
0
0
0
0
0
0
0
-9
40
-12
-51
-10
-44
-7
12
5
-7
0
0
0
0
0
0
0
-7
0
-13
99
-26
0
61
24
-3
0
0
0
0
0
0
0
0
0
-1
21
76
-29
-22
13
46
0
0
0
0
0
0
0
0
0
0
0
-41
-3
-66
14
0
12
-2
0
0
0
0
0
0
0
0
0
0
0
1
9
-15
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-15
0
0
0
0
0
0
0
0
0
2
-28
-1
-28
4
17
0
0
0
13
0
0
0
0
0
0
1
2
4
-18
51
34
24
0
0
0
-7
0
0
0
0
0
0
0
10
-31
-30
10
65
-30
-14
-81
-84
0
0
0
0
0
0
0
0
-2
-8
-9
43
6
-35
-32
-41
48
4
-13
0
0
0
0
0
0
0
-14
48
-41
22
-14
-19
2
5
-7
0
0
0
0
0
0
0
2
4
-40
-42
13
-11
51
99
-51
-17
5
0
0
0
0
0
0
0
-3
-1
-40
-71
-14
17
-20
-22
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-55
25
-74
-28
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-29
-7
-2
0
0
0
0
0
0
0
0
-75
13
-45
4
-46
0
0
0
3
0
0
0
0
0
0
0
-32
-14
-10
-18
-7
-52
0
0
0
9
-2
0
0
0
0
0
0
-4
-9
-14
-8
69
-28
-41
-70
4
7
-6
-4
0
0
0
0
0
0
19
1
1
-14
-50
-131
52
43
-6
-2
0
0
0
0
0
0
-9
-2
-3
-41
-49
-34
9
-2
35
0
-4
0
0
0
0
0
0
0
-17
-4
-23
-2
-20
-41
2
99
0
0
0
0
0
0
0
0
-5
0
-1
-90
-75
44
-17
50
-26
-23
0
0
0
0
0
0
0
0
0
0
8
-17
3
26
-47
0
28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
-7
18
-8
0
0
0
-9
14
0
0
0
0
0
0
0
2
-2
0
-1
-4
18
32
-13
52
2
0
0
0
0
0
0
0
0
1
0
-4
0
-9
47
19
24
10
1
0
0
0
0
0
0
0
0
-2
-2
-2
1
-17
11
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-10
8
8
5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-36
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-29
12
-32
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-5
-1
7
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
-5
15
0
0
0
0
0
0
0
0
0
0
1
-3
1
7
20
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-25
1
-4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-6
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
25
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
-17
-8
-2
1
0
0
0
0
0
0
0
0
0
0
-2
-6
14
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
40
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-30
-31
7
3
7
2
-6
0
0
0
0
0
0
0
0
0
0
-6
-23
5
-2
41
5
-55
1
0
0
0
0
0
0
0
0
0
0
0
25
31
-55
-32
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-4
0
0
-13
-5
6
-2
0
0
0
0
0
0
0
0
-8
0
-2
0
25
24
-13
-5
0
0
0
0
0
0
0
0
0
-3
10
0
-18
4
-9
5
15
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
-43
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
0
0
9
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-6
6
3
7
0
0
0
0
1
0
0
0
0
0
0
0
-1
4
18
5
8
-6
8
-26
20
2
0
0
0
0
0
0
0
0
0
-33
5
-84
15
32
15
1
-3
0
0
0
0
0
0
0
0
1
-25
-7
-6
-77
-7
2
-24
0
0
0
0
0
0
0
0
0
1
5
-31
5
0
6
-58
-23
0
0
0
0
0
0
0
0
3
0
0
3
0
-8
-3
-20
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
3
2
-18
-14
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
14
15
25
0
0
0
1
0
0
0
0
0
0
0
3
-29
-13
17
-45
32
-38
21
-30
0
0
0
0
0
0
0
0
5
0
7
-1
18
-44
3
17
13
-3
-1
0
0
0
0
0
0
0
-1
-1
-8
10
39
-38
-9
8
0
0
0
0
0
0
0
0
0
-1
-13
16
7
-21
0
-32
27
0
0
0
0
0
0
0
0
0
0
2
0
33
23
9
13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
3
-44
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-36
0
0
0
0
0
0
0
0
0
-22
-5
-2
-47
5
-5
0
0
0
-1
0
0
0
0
0
0
0
-103
35
17
48
-21
-36
0
0
0
-20
0
0
0
0
0
0
0
-24
-45
8
48
40
-48
44
-13
57
-6
1
0
0
0
0
0
0
6
-14
14
4
1
-10
-51
-88
84
-4
0
0
0
0
0
0
0
0
2
-4
41
-10
-33
-28
-59
69
-1
0
0
0
0
0
0
0
0
-5
19
9
26
-11
9
0
7
0
0
0
0
0
0
0
0
1
0
10
16
-11
-35
15
78
-13
8
0
0
0
0
0
0
0
0
0
0
-49
5
23
22
26
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
4
33
0
-15
0
0
0
0
0
0
0
6
-3
16
-16
13
1
0
0
0
4
0
0
0
0
0
0
0
-12
-7
-44
-28
-24
-20
0
0
0
11
-4
0
0
0
0
0
0
0
4
45
-41
-93
-52
19
-77
-65
5
1
0
0
0
0
0
0
3
-2
-28
6
8
-10
-33
-81
-5
-12
0
0
0
0
0
0
0
2
0
16
1
-58
22
-119
26
18
3
8
0
0
0
0
0
0
0
-1
-6
0
-43
20
11
33
0
-3
1
0
0
0
0
0
0
0
3
-1
-29
-1
6
-30
-15
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-48
51
6
12
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-11
4
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
13
0
1
0
0
0
0
0
0
0
0
0
13
8
-32
-28
14
8
6
0
0
0
0
0
0
0
0
0
0
3
3
-53
-10
26
33
4
0
0
0
0
0
0
0
0
0
-10
0
0
7
30
20
-29
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-10
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
-4
2
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-25
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
12
-18
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
8
5
-5
-4
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-14
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-6
0
-54
-2
2
0
0
0
0
0
0
0
0
0
0
-10
-23
17
-24
-61
18
27
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
12
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-8
0
-4
4
4
-8
6
0
0
0
0
0
0
0
0
0
0
7
3
41
-22
-39
1
-24
5
0
0
0
0
0
0
0
0
-6
4
-1
-7
0
-71
2
-19
0
0
0
0
0
0
0
0
0
2
0
-2
-35
7
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
3
-23
20
-59
0
0
0
0
0
0
0
0
0
0
0
5
-13
36
-13
48
-24
8
-28
-72
0
0
0
0
0
0
0
0
-8
4
-67
-21
36
-55
23
-105
13
1
0
0
0
0
0
0
0
0
-23
29
-18
-5
20
75
-10
-25
5
0
0
0
0
0
0
0
1
0
6
22
30
22
-1
48
-1
0
0
0
0
0
0
0
0
0
0
-4
-3
-58
1
0
21
-6
0
0
0
0
0
0
0
0
0
0
0
0
25
-46
-18
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
0
0
0
0
0
0
0
0
0
6
12
4
5
13
0
0
0
0
0
0
0
0
0
0
0
-10
24
-31
-10
27
2
0
0
0
0
0
0
0
0
0
0
0
4
-47
3
-57
-33
-3
16
-106
40
0
0
0
0
0
0
0
0
20
-55
-51
-25
55
4
-52
-27
-15
6
0
0
0
0
0
0
0
0
-25
-34
5
29
-28
-75
-88
57
0
0
0
0
0
0
0
0
0
6
-13
6
-81
-5
-11
-28
10
0
0
0
0
0
0
0
0
0
0
7
35
-17
7
-19
0
40
2
0
0
0
0
0
0
0
0
0
0
2
-8
-45
-40
29
25
5
1
0
0
0
0
0
0
0
0
0
0
2
22
5
0
1
0
0
0
0
0
0
0
0
0
35
-19
-42
22
8
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-59
16
-77
45
0
0
0
23
1
0
0
0
0
0
0
7
30
2
-14
58
-97
-115
19
-13
1
4
0
0
0
0
0
0
-8
6
27
21
-127
-33
-94
16
-48
-15
0
0
0
0
0
0
0
5
-12
-31
-20
-16
7
-60
22
-25
7
0
0
0
0
0
0
0
7
-3
1
-44
-58
26
-11
-8
-114
-14
1
0
0
0
0
0
0
0
0
-24
23
15
-29
64
31
0
-2
0
0
0
0
0
0
0
0
0
0
5
14
5
54
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-4
5
0
2
0
0
0
81
0
0
0
0
0
0
0
0
0
0
1
6
1
2
-7
-33
-8
0
0
0
0
0
0
0
0
0
0
0
-15
40
25
1
-3
8
0
0
0
0
0
0
0
0
0
0
-2
19
25
22
-8
-4
-3
0
0
0
0
0
0
0
0
0
-3
2
3
3
11
29
2
1
0
0
0
0
0
0
0
0
0
0
0
4
-10
-7
-4
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-3
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
-16
-12
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
-6
-16
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-47
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
36
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
68
8
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
13
3
7
-1
0
4
0
0
0
0
0
0
0
0
0
6
-41
0
-24
13
5
6
-7
0
0
0
0
0
0
0
0
0
9
-18
2
10
51
-18
-4
-2
0
0
0
0
0
0
0
0
0
0
2
2
37
16
-41
32
-38
0
0
0
0
0
0
0
0
0
0
-4
2
-36
-21
-16
10
-10
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
0
-5
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
8
-1
0
0
0
0
0
0
0
0
-29
3
23
-8
6
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-13
-28
-47
-12
0
0
0
0
0
0
0
0
0
0
0
-3
47
-15
-2
-17
10
-10
19
-4
0
0
0
0
0
0
0
0
6
34
-28
-29
-60
-29
-42
25
-22
0
0
0
0
0
0
0
0
0
-10
1
-7
6
-41
22
49
4
-1
0
0
0
0
0
0
0
-3
1
25
-81
-13
-6
14
37
-43
-1
0
0
0
0
0
0
0
0
5
-8
-8
-52
-1
58
-76
-14
3
0
0
0
0
0
0
0
0
0
8
1
1
1
-5
0
-41
2
0
0
0
0
0
0
0
0
-1
0
0
-4
23
1
10
0
1
0
0
0
0
0
0
0
0
3
-8
-3
-4
-5
0
0
0
0
0
0
0
0
0
0
0
-9
43
-12
-44
1
-54
0
0
0
0
0
0
0
0
0
0
0
6
-1
12
-2
-20
-42
-21
26
19
0
0
0
0
0
0
0
0
0
-2
58
-70
26
4
-70
-48
-89
0
0
0
0
0
0
0
0
0
6
6
56
34
12
-52
-47
-108
-8
0
0
0
0
0
0
0
0
10
-16
11
-86
-14
-90
-10
-111
0
0
0
0
0
0
0
0
0
-5
12
5
-16
-20
-38
82
0
0
0
0
0
0
0
0
0
0
0
0
-39
-9
14
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
28
-4
0
0
0
0
0
0
0
0
0
2
9
-1
-2
4
23
3
-9
0
0
0
0
0
0
0
0
0
0
0
2
2
9
32
-5
-29
0
0
0
0
0
0
0
0
0
0
0
7
-5
-8
46
-6
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
10
-10
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
7
1
0
-6
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
3
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
30
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-44
4
11
-13
-1
-5
130
0
0
0
0
0
0
0
0
0
2
5
-11
24
16
22
-46
-26
0
0
0
0
0
0
0
0
0
0
19
5
-46
30
-96
23
-82
-2
0
0
0
0
0
0
0
0
0
-4
-8
-6
18
-26
-16
-30
-1
0
0
0
0
0
0
0
0
0
6
0
-4
41
15
-25
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-18
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-7
0
23
17
0
0
0
0
0
0
0
0
0
0
0
0
6
7
16
-15
8
3
0
0
0
0
0
0
0
0
0
0
-18
0
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-4
4
-4
0
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
1
4
0
0
7
0
0
0
0
0
0
0
0
0
0
1
1
5
-5
0
0
0
-10
0
0
0
0
0
0
0
0
0
-2
-16
10
4
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-25
-8
0
8
1
-1
0
0
0
0
0
0
0
0
0
-3
12
5
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
10
-5
58
-60
0
-64
0
0
0
0
0
0
0
0
0
-42
-24
53
-6
-15
105
44
-1
0
0
0
0
0
0
0
0
0
51
34
99
10
34
22
-2
-30
0
0
0
0
0
0
0
0
0
50
-8
8
-15
-23
-5
7
-21
3
0
0
0
0
0
0
0
0
2
-13
-30
48
34
10
2
-1
0
0
0
0
0
0
0
0
0
-22
-46
43
-8
-27
-5
0
1
0
0
0
0
0
0
0
0
0
48
23
-13
-6
2
1
-1
0
0
0
0
0
0
0
0
0
0
-47
6
4
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
16
-37
-35
30
0
9
1
0
0
0
0
0
0
0
0
0
-3
43
83
22
-8
11
4
0
0
0
0
0
0
0
0
0
0
24
1
22
57
-81
-8
-1
0
0
0
0
0
0
0
0
0
0
-19
-5
-20
30
29
0
-4
0
0
0
0
0
0
0
0
0
0
-22
3
32
3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-20
-7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-12
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
-6
25
-48
-3
-15
-3
-1
0
0
0
0
0
0
0
0
0
0
7
24
-2
30
-5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
9
-11
-10
25
7
2
4
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
1
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
1
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-1
-12
0
0
0
0
0
0
0
0
0
5
-3
-7
-5
2
1
0
7
0
0
0
0
0
0
0
0
0
5
0
-4
-4
23
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-9
-3
22
0
0
-26
0
0
0
0
0
0
0
0
0
0
6
-7
-40
0
0
1
4
-2
0
0
0
0
0
0
0
0
0
0
1
7
6
4
5
0
-2
0
0
0
0
0
0
0
0
0
-5
1
19
21
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-33
-9
0
0
-2
-8
0
0
0
0
0
0
0
0
0
-13
-13
29
31
1
-7
1
0
0
0
0
0
0
0
0
0
0
-1
4
18
13
1
0
-3
0
1
0
0
0
0
0
0
0
0
14
8
-29
41
4
0
0
0
3
0
0
0
0
0
0
0
0
-1
29
3
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
-4
7
0
9
6
0
0
2
0
0
0
0
0
0
0
0
0
0
2
7
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
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
0
43
-13
2
0
-1
0
0
0
0
0
0
0
0
0
0
-9
9
61
-90
11
6
4
13
1
0
0
0
0
0
0
0
0
23
32
13
-1
-47
-20
-2
-6
48
0
0
0
0
0
0
0
0
101
-20
41
-12
3
21
-15
-25
0
0
0
0
0
0
0
0
0
72
-24
0
-43
-29
-9
-10
-1
-14
0
0
0
0
0
0
0
0
-10
-7
-9
27
9
13
-2
0
0
0
0
0
0
0
0
0
0
5
-8
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
40
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-21
-29
-66
44
83
0
0
0
0
0
0
0
0
0
0
0
41
20
39
-29
35
45
0
-12
-6
0
0
0
0
0
0
0
0
-18
18
31
24
-61
-43
-29
-23
-2
0
0
0
0
0
0
0
0
11
29
30
13
-73
25
-10
-34
-6
0
0
0
0
0
0
0
0
51
36
65
11
-19
5
37
-1
-8
0
0
0
0
0
0
0
0
43
-12
7
-3
10
4
8
-7
0
0
0
0
0
0
0
0
0
0
3
36
-51
-8
25
13
0
0
0
0
0
0
0
0
0
0
29
-14
-3
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-58
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-41
-71
80
31
0
-45
0
0
0
0
0
0
0
0
0
0
-24
-8
-81
5
23
48
-60
1
0
0
0
0
0
0
0
0
0
-46
24
-11
42
-43
-43
-43
-1
0
0
0
0
0
0
0
0
0
-51
2
6
-84
54
-31
-10
17
3
0
0
0
0
0
0
0
0
45
-49
5
-70
-12
22
-6
-5
-7
0
0
0
0
0
0
0
0
9
4
5
0
0
-13
0
4
0
0
0
0
0
0
0
0
0
-40
-5
3
-2
-4
0
6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
47
-8
0
14
-1
0
0
0
0
0
0
0
0
0
0
47
-21
21
9
16
33
-3
0
0
0
0
0
0
0
0
0
0
-7
-29
7
-46
-99
-53
0
-3
0
0
0
0
0
0
0
0
0
-14
-5
2
20
2
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
-43
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-15
44
15
-8
-33
-7
3
-1
0
0
0
0
0
0
0
0
0
8
5
12
-43
-14
-2
-20
0
0
0
0
0
0
0
0
0
0
0
-4
4
6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
7
6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
0
0
3
0
-4
30
1
-14
-6
1
0
0
0
0
0
0
0
0
0
-6
0
-3
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
13
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
-33
11
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-7
8
5
-3
0
0
0
0
0
0
0
0
0
3
-1
0
-2
-13
-17
-1
0
1
0
0
0
0
0
0
0
0
0
12
0
13
13
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
-13
-6
8
0
0
0
0
0
0
0
0
0
0
0
-6
-2
3
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-22
-3
15
7
12
-3
0
0
0
0
0
0
0
0
0
0
-15
-17
-4
9
0
-43
2
0
0
0
0
0
0
0
0
0
1
-12
-15
-3
-8
-1
1
0
0
0
0
0
0
0
0
0
0
8
-14
2
1
9
4
-1
-7
0
0
0
0
0
0
0
0
0
3
0
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
4
3
-3
-2
0
1
0
0
0
0
0
0
0
0
0
9
13
-14
-6
-8
-3
-29
3
0
0
0
0
0
0
0
0
0
3
30
23
19
7
5
4
4
0
0
0
0
0
0
0
0
0
-1
-11
21
-1
-2
-8
20
0
-2
0
0
0
0
0
0
0
0
5
30
-1
64
-3
-6
2
0
0
0
0
0
0
0
0
0
0
27
0
0
22
-1
3
0
2
4
0
0
0
0
0
0
0
0
0
1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
44
-6
18
-6
-16
14
0
0
0
0
0
0
0
0
0
0
-16
11
44
58
-4
5
5
-48
-12
0
0
0
0
0
0
0
0
13
28
-45
36
-2
0
-25
-4
0
0
0
0
0
0
0
0
0
-15
-23
9
27
0
0
-2
8
2
0
0
0
0
0
0
0
0
10
4
43
56
25
8
5
-2
0
0
0
0
0
0
0
0
0
-14
-14
13
19
-18
5
0
1
0
0
0
0
0
0
0
0
0
-2
5
43
33
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
26
-51
-34
-20
19
-3
0
0
0
0
0
0
0
0
0
109
44
-43
-17
10
2
17
1
7
0
0
0
0
0
0
0
0
9
98
24
6
22
13
2
0
0
0
0
0
0
0
0
0
0
53
-51
46
-13
19
8
12
0
-16
0
0
0
0
0
0
0
0
-3
18
60
-2
-2
36
24
0
0
0
0
0
0
0
0
0
0
-29
-42
-36
-4
-3
-2
1
-8
1
0
0
0
0
0
0
0
0
60
50
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-7
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
-55
-113
-68
-82
-12
-30
-3
-46
0
0
0
0
0
0
0
0
0
5
-114
1
-38
-8
-41
-27
-41
14
5
0
0
0
0
0
0
0
-16
47
-133
33
56
-53
-5
-7
-6
13
0
0
0
0
0
0
0
60
-4
-35
-48
4
43
-7
0
-10
-1
0
0
0
0
0
0
0
-82
-63
-66
-46
44
12
28
23
0
0
0
0
0
0
0
0
0
77
46
73
-37
14
-39
0
5
-4
0
0
0
0
0
0
0
0
53
-10
15
-13
-18
0
-4
-1
0
0
0
0
0
0
0
0
0
19
18
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
57
-10
-3
16
-137
-20
62
0
-6
0
0
0
0
0
0
0
40
-27
-6
-4
46
-141
78
19
-3
2
0
0
0
0
0
0
0
-66
-105
4
-25
0
-43
-56
37
-10
0
0
0
0
0
0
0
0
-36
-125
68
-87
-15
17
24
-25
-2
0
0
0
0
0
0
0
0
15
8
94
68
-102
-59
-3
-36
-7
3
0
0
0
0
0
0
0
60
-4
38
34
-24
2
24
-20
-6
0
0
0
0
0
0
0
0
56
144
100
8
4
-12
-3
17
3
0
0
0
0
0
0
0
0
24
30
17
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
2
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
38
-12
57
216
24
0
19
0
0
0
0
0
0
0
0
-36
88
48
-26
21
-82
5
50
-15
2
2
0
0
0
0
0
0
-41
29
-8
-85
-5
-9
-139
-46
-2
0
0
0
0
0
0
0
0
-21
-14
-53
16
-12
-103
-97
-4
0
0
0
0
0
0
0
0
0
-50
-42
29
62
-52
68
42
29
-1
0
0
0
0
0
0
0
0
33
-90
47
45
14
-21
45
68
0
0
0
0
0
0
0
0
0
-51
35
-34
-10
-12
-1
17
14
0
0
0
0
0
0
0
0
0
28
14
54
-1
-4
1
-16
0
0
0
0
0
0
0
0
0
0
16
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
12
36
-7
-13
90
0
15
-1
0
0
0
0
0
0
0
0
76
-3
3
-49
30
57
9
9
-1
0
0
0
0
0
0
0
0
57
-7
30
-104
-22
34
-30
-12
0
0
0
0
0
0
0
0
0
-89
29
-8
-25
45
108
27
6
0
0
0
0
0
0
0
0
0
-5
-69
-7
-26
-26
-8
7
-5
0
0
0
0
0
0
0
0
0
46
33
-26
33
-41
-8
1
-1
-4
0
0
0
0
0
0
0
0
10
-37
-15
-5
-4
-5
1
1
0
0
0
0
0
0
0
0
0
17
12
9
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-25
-28
-23
51
0
-2
9
-1
0
0
0
0
0
0
0
0
-48
-73
-38
56
-71
-45
14
2
5
0
0
0
0
0
0
0
0
-48
-9
-7
-19
-36
10
2
0
0
0
0
0
0
0
0
0
0
-45
22
-39
-11
-20
0
-16
0
0
0
0
0
0
0
0
0
0
-1
-4
24
-10
1
-9
0
2
0
0
0
0
0
0
0
0
0
-37
-1
-2
0
0
0
2
0
1
0
0
0
0
0
0
0
0
25
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-50
82
0
-4
0
0
0
0
0
0
0
0
0
0
0
-4
-13
9
19
-8
-2
3
0
0
0
0
0
0
0
0
0
0
4
13
3
25
9
-69
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
50
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
27
-37
3
14
-7
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-3
42
5
-5
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-5
4
3
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
8
0
0
-15
2
-32
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-2
5
0
0
0
0
0
0
0
0
0
0
-1
0
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
40
-10
4
41
40
49
-10
0
0
0
0
0
0
0
0
0
-10
0
2
0
9
-8
-43
5
0
0
0
0
0
0
0
0
0
8
-9
0
2
0
-6
0
4
-3
0
0
0
0
0
0
0
0
3
7
-3
0
-9
2
-5
0
-4
0
0
0
0
0
0
0
0
0
1
2
90
-4
-4
9
3
0
0
0
0
0
0
0
0
0
2
-3
-3
16
-1
0
-4
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
1
-6
0
0
0
0
0
0
0
0
0
0
0
3
12
-26
32
-14
3
45
-3
-2
0
0
0
0
0
0
0
0
-12
47
0
2
-5
-3
8
32
0
0
0
0
0
0
0
0
0
-13
-21
7
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
-19
-27
-4
0
5
-8
5
-8
0
0
0
0
0
0
0
0
0
1
2
23
3
42
0
1
0
-1
0
0
0
0
0
0
0
0
0
20
-13
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
6
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
-9
34
12
10
-4
-8
0
-2
0
0
0
0
0
0
0
0
1
-76
-75
0
-1
2
-17
53
1
0
0
0
0
0
0
0
0
13
8
4
2
0
-2
-8
1
-1
0
0
0
0
0
0
0
0
-17
8
22
-8
0
2
2
0
0
0
0
0
0
0
0
0
0
-13
-41
-6
52
3
-10
0
-1
-1
0
0
0
0
0
0
0
0
-6
27
60
-23
-3
-12
0
0
0
0
0
0
0
0
0
0
0
3
40
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
30
-12
-30
-34
-21
14
0
-1
0
0
0
0
0
0
0
-19
42
17
4
58
47
40
-30
13
0
0
0
0
0
0
0
0
20
-61
24
-49
3
-22
-5
17
9
0
0
0
0
0
0
0
0
-23
22
64
25
8
0
-1
-13
1
0
0
0
0
0
0
0
0
-25
-14
-44
-28
0
0
4
13
0
0
0
0
0
0
0
0
0
-56
-16
13
3
5
-4
5
0
0
1
0
0
0
0
0
0
0
-3
-13
7
-29
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
7
17
0
0
0
0
0
0
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
-14
-54
14
24
-8
34
15
0
0
0
0
0
0
0
0
0
67
-104
29
0
10
-2
32
29
0
0
0
0
0
0
0
0
0
17
-53
32
97
-96
-42
16
8
-3
0
0
0
0
0
0
0
0
16
-5
-26
-26
30
-2
-1
0
-3
0
0
0
0
0
0
0
0
14
-18
7
-7
3
0
-2
0
1
0
0
0
0
0
0
0
0
42
-28
79
-5
9
5
2
7
0
0
0
0
0
0
0
0
0
17
42
20
2
21
7
0
1
-13
0
0
0
0
0
0
0
0
7
-33
27
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-50
-94
-8
60
22
10
55
0
-3
0
0
0
0
0
0
0
91
55
26
-50
12
-52
-29
47
24
0
3
0
0
0
0
0
0
-93
-28
-36
52
-69
50
33
23
0
12
0
0
0
0
0
0
0
3
4
-17
-4
-44
-66
1
0
-1
2
0
0
0
0
0
0
0
5
-43
18
16
-17
34
-4
0
0
9
0
0
0
0
0
0
0
-2
-28
-61
14
-8
-22
22
6
-9
0
0
0
0
0
0
0
0
5
-8
-41
64
-5
14
-4
-3
1
0
0
0
0
0
0
0
0
13
-70
36
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
64
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
-78
-28
-4
9
-1
58
0
9
0
0
0
0
0
0
0
35
9
-3
-22
-33
-55
17
6
17
-5
-4
0
0
0
0
0
0
-23
-46
-14
-25
8
-97
42
-95
-25
-1
0
0
0
0
0
0
0
-62
-25
6
29
-35
-9
-18
-13
2
0
0
0
0
0
0
0
0
50
69
12
-76
-26
51
64
0
-1
0
0
0
0
0
0
0
0
-11
86
-19
28
-46
-47
-3
13
0
3
0
0
0
0
0
0
0
-18
-8
-13
-51
46
3
13
-9
4
0
0
0
0
0
0
0
0
17
115
86
52
7
3
0
0
7
0
0
0
0
0
0
0
0
-32
-6
86
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
-4
41
-49
2
9
0
7
-1
0
0
0
0
0
0
0
25
-70
-6
-37
14
11
65
36
50
-2
0
0
0
0
0
0
0
-4
-10
-16
59
-29
-116
40
7
8
0
0
0
0
0
0
0
0
0
-62
-2
-31
28
74
-10
-25
5
0
0
0
0
0
0
0
0
141
-76
41
92
40
9
6
-2
0
0
0
0
0
0
0
0
0
-28
23
22
-51
-45
-16
-1
28
5
0
0
0
0
0
0
0
0
80
10
-46
-7
4
6
1
30
-12
0
0
0
0
0
0
0
0
11
9
7
-18
0
-2
4
0
0
0
0
0
0
0
0
0
0
5
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-5
-8
1
44
2
0
8
-1
0
0
0
0
0
0
0
0
14
-71
2
-17
117
-45
37
-59
-1
0
0
0
0
0
0
0
0
9
-23
33
51
44
76
6
3
0
0
0
0
0
0
0
0
0
39
17
-8
22
-45
5
42
1
0
0
0
0
0
0
0
0
0
2
42
18
32
13
3
-2
0
0
0
0
0
0
0
0
0
0
-39
-9
53
7
48
25
0
1
0
0
0
0
0
0
0
0
0
-10
40
-20
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
-13
-13
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-21
8
-47
0
2
2
-4
0
0
0
0
0
0
0
0
8
-25
102
12
-2
-13
2
3
0
0
0
0
0
0
0
0
0
15
48
27
-93
20
-39
-21
0
0
0
0
0
0
0
0
0
0
-14
-25
-31
1
40
-10
-2
0
0
0
0
0
0
0
0
0
0
5
1
3
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
41
-1
3
-10
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
-13
13
2
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-8
-7
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-16
10
-3
-10
0
-2
5
0
0
0
0
0
0
0
0
0
0
16
-12
-3
-25
7
-5
0
0
0
0
0
0
0
0
0
0
5
0
8
-16
-8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-8
8
0
-2
-1
0
0
0
0
0
0
0
0
-1
1
-6
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-2
-16
0
0
0
8
0
0
0
0
0
0
0
0
0
0
7
2
-24
8
0
-13
0
-8
0
0
0
0
0
0
0
0
0
-18
-10
57
-3
8
25
3
0
0
0
0
0
0
0
0
0
-5
0
0
0
-18
-8
0
1
-20
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
6
0
0
0
0
0
0
0
0
0
0
0
-6
2
3
0
-8
0
1
-5
0
0
0
0
0
0
0
0
5
6
-4
-3
0
0
2
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-14
6
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-46
-15
0
9
8
0
0
0
0
0
0
0
0
0
3
0
-9
-10
10
2
-18
-4
10
0
0
0
0
0
0
0
0
-25
49
0
-6
0
-3
4
-2
2
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
-4
0
10
0
0
0
0
0
0
0
0
-27
-25
0
0
1
-1
5
8
0
0
0
0
0
0
0
0
0
48
4
-25
4
22
0
-24
-1
0
0
0
0
0
0
0
0
0
-4
7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
10
14
-4
-1
7
0
0
0
0
0
0
0
0
0
0
3
-17
43
24
4
26
-17
0
0
0
0
0
0
0
0
0
4
40
-41
49
-39
24
-1
24
1
0
0
0
0
0
0
0
0
-5
-22
0
2
6
-3
-27
-8
-8
0
0
0
0
0
0
0
0
0
-21
-27
1
0
0
3
0
8
0
0
0
0
0
0
0
0
-6
-2
-6
0
0
0
52
-4
0
0
0
0
0
0
0
0
0
27
24
-4
29
-12
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
17
10
18
32
20
23
0
0
0
0
0
0
0
0
0
0
-17
-81
43
-49
-11
-39
-30
7
0
0
0
0
0
0
0
0
0
-32
-21
4
26
69
36
-18
13
0
0
0
0
0
0
0
0
2
-37
0
40
5
-4
-4
12
0
0
0
0
0
0
0
0
0
-13
-26
81
-3
0
0
0
-8
-1
0
0
0
0
0
0
0
0
-2
24
59
93
2
0
0
18
1
-9
0
0
0
0
0
0
0
29
-52
33
-6
-2
12
1
0
0
0
0
0
0
0
0
0
0
2
-8
-2
36
2
0
0
1
0
0
0
0
0
0
0
0
0
-42
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
19
89
11
7
5
-15
0
0
0
0
0
0
0
0
0
-5
-41
21
42
11
-12
18
43
3
0
0
0
0
0
0
0
0
-45
66
96
8
-4
1
-45
4
0
0
0
0
0
0
0
0
0
11
35
15
-78
20
-3
0
0
0
-2
0
0
0
0
0
0
0
-10
-4
41
11
-28
1
0
0
-5
0
0
0
0
0
0
0
0
-31
-14
31
-30
-5
1
0
0
-18
-2
0
0
0
0
0
0
0
-12
34
37
-10
-2
3
0
-14
0
0
0
0
0
0
0
0
0
-13
-21
-3
0
-2
-4
-1
0
-1
0
0
0
0
0
0
0
0
17
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
48
-10
45
-56
5
13
-14
0
-2
0
0
0
0
0
0
0
27
20
99
-7
-15
87
-18
36
8
0
0
0
0
0
0
0
0
-33
-67
-30
-18
52
28
33
-18
-1
-8
0
0
0
0
0
0
0
-13
-85
81
10
83
-14
0
1
0
-4
0
0
0
0
0
0
0
4
57
59
-10
-54
-21
0
0
0
0
0
0
0
0
0
0
0
3
27
30
66
-68
-9
4
0
0
-2
0
0
0
0
0
0
0
-34
-63
-67
-41
-34
65
-7
23
-7
0
0
0
0
0
0
0
0
24
24
20
29
24
-20
0
17
0
0
0
0
0
0
0
0
0
19
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
18
33
34
-3
116
-23
34
0
-1
0
0
0
0
0
0
0
105
83
-18
-25
69
50
53
-94
-48
-2
-3
0
0
0
0
0
0
0
99
22
60
-49
-28
49
9
6
16
0
0
0
0
0
0
0
26
29
-35
-13
47
53
-35
-40
-2
0
0
0
0
0
0
0
0
40
-108
-3
-154
42
-27
-81
-1
0
0
0
0
0
0
0
0
0
70
-11
-55
13
-41
74
33
-1
0
0
0
0
0
0
0
0
0
-15
-35
-87
-55
67
72
18
34
0
0
0
0
0
0
0
0
0
-22
-48
-78
26
-1
-2
5
0
-3
5
0
0
0
0
0
0
0
2
-14
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
27
-68
87
76
23
-12
0
8
-9
0
0
0
0
0
0
0
-13
20
-93
-5
47
28
65
0
3
-1
0
0
0
0
0
0
0
-17
-31
74
3
14
-6
-77
41
-16
1
0
0
0
0
0
0
0
-6
58
32
-11
-3
46
-22
-18
-1
0
0
0
0
0
0
0
0
20
-28
2
12
3
-69
-7
2
0
0
0
0
0
0
0
0
0
73
69
-28
-22
71
-47
3
0
0
0
0
0
0
0
0
0
0
11
-79
-12
100
-85
69
-24
27
2
0
0
0
0
0
0
0
0
-76
-36
33
-41
-9
1
1
2
0
0
0
0
0
0
0
0
0
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-40
-28
0
39
73
0
13
-8
-8
0
0
0
0
0
0
0
28
-5
-3
19
4
-38
30
0
1
0
0
0
0
0
0
0
0
59
-3
11
41
10
54
-8
13
-1
1
0
0
0
0
0
0
0
-68
39
33
-4
10
-4
-11
0
0
0
0
0
0
0
0
0
0
-29
38
-34
24
-8
30
-2
0
0
0
0
0
0
0
0
0
0
36
-18
-60
-50
16
4
4
0
0
0
0
0
0
0
0
0
0
-46
-6
-4
-5
-2
-4
0
17
0
0
0
0
0
0
0
0
0
48
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-17
7
10
0
-2
5
0
0
0
0
0
0
0
0
0
1
12
-39
-23
-5
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-13
13
-6
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
2
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
-4
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
-5
1
-1
3
0
0
0
0
0
0
0
0
0
0
13
-5
0
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
1
0
0
8
0
0
0
0
0
0
0
0
0
3
2
0
6
0
-5
3
-18
0
0
0
0
0
0
0
0
0
-1
-3
-6
0
-48
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-24
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
0
0
0
0
0
0
0
0
0
0
0
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
15
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-5
-4
5
0
10
15
1
0
0
0
0
0
0
0
0
0
41
-2
2
0
-21
7
-2
5
0
0
0
0
0
0
0
0
0
2
1
0
-10
4
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-1
-3
-1
0
0
0
0
0
0
0
0
0
-1
7
-3
9
0
1
-9
-8
0
0
0
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
15
3
3
7
-7
0
0
0
0
0
0
0
0
0
0
5
12
33
-31
42
29
4
-1
4
0
0
0
0
0
0
0
0
-1
-7
-38
-2
23
-2
-4
14
0
0
0
0
0
0
0
0
0
7
0
18
5
2
0
14
0
1
0
0
0
0
0
0
0
0
0
13
0
-5
0
20
-1
6
2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
20
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-8
-25
-7
-32
0
0
0
0
0
0
0
0
0
0
0
7
-33
-41
-25
-50
-7
4
0
0
0
0
0
0
0
0
0
-14
23
57
-5
3
-13
-9
2
-2
0
0
0
0
0
0
0
0
0
-56
-18
-26
-48
40
5
12
0
0
0
0
0
0
0
0
0
-1
-29
45
-4
0
2
-19
-1
-4
0
0
0
0
0
0
0
0
0
-13
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
49
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
13
29
0
-25
0
1
0
3
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
3
-12
0
5
-43
-23
0
0
0
0
0
0
0
0
0
0
-32
-51
0
-30
2
78
4
-5
0
0
0
0
0
0
0
0
5
83
-7
7
-8
41
-1
-29
3
0
0
0
0
0
0
0
0
2
-52
-16
-19
41
40
-17
-6
-3
0
0
0
0
0
0
0
0
2
88
15
-21
-16
0
0
71
4
0
0
0
0
0
0
0
0
29
-4
1
30
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
-7
1
0
9
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
24
7
35
-10
19
15
-48
0
0
0
0
0
0
0
0
0
36
-68
-3
-53
-72
-11
4
56
24
0
0
0
0
0
0
0
0
-16
33
7
-34
66
-11
3
-40
-2
0
0
0
0
0
0
0
0
54
-46
-14
-8
65
17
57
6
0
0
0
0
0
0
0
0
0
20
6
39
4
63
1
0
0
0
0
0
0
0
0
0
0
0
8
44
-10
29
-16
0
0
0
4
0
0
0
0
0
0
0
0
-10
17
74
25
-20
0
0
0
6
-2
0
0
0
0
0
0
0
50
-34
-10
-12
-6
-6
-2
-8
0
0
0
0
0
0
0
0
0
27
4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
16
-4
17
75
52
49
5
0
0
0
0
0
0
0
0
0
-50
-96
-27
-52
-119
-42
5
15
-28
3
0
0
0
0
0
0
0
-2
13
15
62
26
57
47
42
-51
14
0
0
0
0
0
0
0
38
85
49
3
-77
23
71
-34
-6
0
0
0
0
0
0
0
0
37
28
4
-16
143
-47
8
-7
-1
-2
0
0
0
0
0
0
0
63
-7
-16
-79
3
14
0
0
0
0
0
0
0
0
0
0
0
-13
-41
-9
4
1
-4
-5
0
0
0
0
0
0
0
0
0
0
11
-48
-5
3
-1
3
-2
0
0
0
0
0
0
0
0
0
0
13
-24
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-51
59
57
24
70
-15
0
-4
0
0
0
0
0
0
0
64
43
65
44
17
36
5
-8
39
7
0
0
0
0
0
0
0
5
-18
25
13
-27
56
95
57
11
-14
5
0
0
0
0
0
0
14
-18
4
78
-26
1
11
123
0
-6
0
0
0
0
0
0
0
-2
-9
61
-49
15
-32
-55
4
-1
0
0
0
0
0
0
0
0
-76
-19
24
-16
15
11
-29
0
0
0
0
0
0
0
0
0
0
16
-27
36
58
-70
52
28
0
0
0
0
0
0
0
0
0
0
-8
-59
22
-26
-6
-13
-3
-13
2
0
0
0
0
0
0
0
0
-46
-6
-69
16
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
45
-17
12
-29
-29
65
14
0
-2
-2
0
0
0
0
0
0
0
-7
48
65
34
-39
-39
7
20
-14
1
0
0
0
0
0
0
0
60
19
-40
-11
112
65
31
-31
-18
-2
0
0
0
0
0
0
0
-38
-45
33
53
-28
-94
32
43
-12
0
0
0
0
0
0
0
0
17
5
-41
-30
-40
-30
-20
2
0
0
0
0
0
0
0
0
0
-20
-21
48
-5
-4
-17
51
2
0
0
0
0
0
0
0
0
0
-3
-58
-81
-21
34
55
11
1
0
0
0
0
0
0
0
0
0
-20
-17
-24
66
5
12
4
-3
0
0
0
0
0
0
0
0
0
42
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
1
15
17
38
0
4
0
0
0
0
0
0
0
0
0
14
64
23
-14
26
1
-19
4
-1
0
0
0
0
0
0
0
0
30
55
-12
36
-1
79
3
-25
0
0
0
0
0
0
0
0
0
-29
-15
21
-20
25
21
-9
7
-1
0
0
0
0
0
0
0
0
48
70
-2
-43
-22
16
8
0
0
0
0
0
0
0
0
0
0
30
3
8
41
0
0
-6
0
0
0
0
0
0
0
0
0
0
-47
-15
-9
3
5
1
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
4
-55
0
0
0
0
0
0
0
0
0
0
0
0
-36
-14
-5
19
0
45
0
6
0
0
0
0
0
0
0
0
0
16
-13
-2
-20
-13
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
-8
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-6
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-13
1
-43
-15
6
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
5
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
3
0
-23
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-41
19
6
7
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
0
-2
3
0
0
0
0
0
0
0
0
0
0
-1
-7
2
-10
-13
0
-3
0
-1
0
0
0
0
0
0
0
0
-6
1
10
42
-7
2
0
4
-5
0
0
0
0
0
0
0
0
0
29
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
35
31
-5
10
0
2
8
5
0
0
0
0
0
0
0
0
0
-4
12
-20
-12
9
6
-8
0
0
0
0
0
0
0
0
0
-2
5
-1
-20
-14
8
-14
2
0
0
0
0
0
0
0
0
0
0
2
22
-13
48
25
-12
0
-8
0
0
0
0
0
0
0
0
0
-25
-2
6
0
0
-1
1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
58
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
54
0
6
9
-4
-8
12
0
0
0
0
0
0
0
0
0
-3
-11
38
3
12
4
39
2
0
0
0
0
0
0
0
0
0
2
-1
24
-1
-33
-31
17
-18
-3
0
0
0
0
0
0
0
0
0
4
0
55
66
-25
0
-33
3
1
0
0
0
0
0
0
0
0
30
-21
-3
29
-1
-3
-4
1
0
0
0
0
0
0
0
0
1
-50
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-30
1
49
0
0
0
-4
0
0
0
0
0
0
0
0
0
-14
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-22
20
-1
-5
-25
-8
0
0
0
0
0
0
0
0
0
-1
7
47
-20
-4
-31
7
-25
-2
0
0
0
0
0
0
0
0
-11
-58
-54
-62
-43
59
-28
-6
-12
0
0
0
0
0
0
0
0
0
-24
52
43
48
-29
29
-3
1
-5
0
0
0
0
0
0
0
18
90
36
-7
13
-3
3
-3
1
0
0
0
0
0
0
0
0
9
-22
56
-13
-45
0
0
4
0
0
0
0
0
0
0
0
0
-14
40
-28
-75
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-55
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
6
57
-32
8
48
12
36
0
5
0
0
0
0
0
0
0
31
-36
-22
-89
-3
-5
-3
-15
10
0
0
0
0
0
0
0
0
-48
39
13
-42
17
2
-5
46
-5
-2
0
0
0
0
0
0
0
66
65
69
-29
26
138
69
8
-20
0
0
0
0
0
0
0
0
-5
-72
-83
-10
119
-38
1
0
-5
0
0
0
0
0
0
0
0
28
64
37
-30
-47
-49
1
0
0
-1
0
0
0
0
0
0
0
-28
30
-27
8
-7
-9
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-2
5
21
8
0
0
0
0
0
0
0
0
0
0
0
25
-35
-5
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
78
12
-30
-30
-49
16
-47
-5
0
7
0
0
0
0
0
0
0
24
80
-12
24
-31
87
17
-30
-11
0
0
0
0
0
0
0
0
96
-85
-39
-1
14
-7
125
20
30
-1
0
0
0
0
0
0
0
-48
108
60
-8
28
103
-26
68
26
13
0
0
0
0
0
0
0
-30
57
73
40
-44
-37
25
126
-3
33
0
0
0
0
0
0
0
-13
-47
-19
-1
-7
-11
22
0
-1
0
0
0
0
0
0
0
0
-48
-15
-18
-7
43
1
5
0
0
0
0
0
0
0
0
0
0
-40
37
13
-25
8
9
-7
0
0
0
0
0
0
0
0
0
0
-87
-14
92
-17
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
36
65
31
8
-21
-3
5
0
-3
6
0
0
0
0
0
0
0
-45
-47
-49
-5
18
39
64
26
-63
2
0
0
0
0
0
0
0
-12
-74
-6
-99
51
4
18
54
4
4
0
0
0
0
0
0
0
-27
43
4
108
-28
35
65
-4
-15
0
0
0
0
0
0
0
0
44
-57
103
43
-29
37
-22
39
1
0
0
0
0
0
0
0
0
-2
36
-45
-29
-59
3
-36
2
0
0
0
0
0
0
0
0
0
-22
-77
-4
96
-16
-11
-19
0
0
0
0
0
0
0
0
0
0
-67
2
-6
17
-24
-20
8
0
0
0
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
8
10
33
16
-47
0
-4
0
0
0
0
0
0
0
0
0
-16
-70
4
72
2
22
20
-2
0
0
0
0
0
0
0
0
0
78
45
10
-44
-17
20
3
-28
0
0
0
0
0
0
0
0
0
23
14
42
-2
-20
-27
5
-4
1
0
0
0
0
0
0
0
0
9
-28
-46
10
48
-5
1
2
0
0
0
0
0
0
0
0
0
51
5
7
-41
-10
1
1
0
0
0
0
0
0
0
0
0
0
19
14
-5
13
-1
10
-1
0
0
0
0
0
0
0
0
0
0
85
10
-30
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
25
-47
-8
8
-16
0
0
0
0
0
0
0
0
0
0
-53
12
-3
10
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
2
2
0
0
0
0
0
0
0
0
0
0
0
4
-17
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
10
1
0
6
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
6
4
-6
6
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-17
-5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
46
18
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
0
6
1
-1
0
0
0
0
0
0
0
0
0
3
0
5
-2
-6
1
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
44
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
40
13
-2
24
14
3
-16
0
0
0
0
0
0
0
0
0
0
-1
20
29
44
16
-38
-6
8
0
0
0
0
0
0
0
0
-1
-9
-22
-16
47
30
-14
5
6
0
0
0
0
0
0
0
0
10
-5
-3
-4
16
10
0
-2
1
0
0
0
0
0
0
0
0
0
-31
-3
-27
27
40
5
0
0
0
0
0
0
0
0
0
0
8
-3
-25
5
29
0
0
0
5
0
0
0
0
0
0
0
0
-1
16
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
0
23
3
-18
0
0
0
0
0
0
0
0
0
0
6
29
25
8
-18
1
9
-24
-2
0
0
0
0
0
0
0
0
-6
-5
-1
-34
-15
-12
-72
-2
4
-9
0
0
0
0
0
0
0
12
57
1
-13
37
2
32
19
0
1
0
0
0
0
0
0
0
25
-25
47
-45
-23
-8
29
-9
-8
0
0
0
0
0
0
0
0
2
3
-58
-66
29
-13
-4
12
7
0
0
0
0
0
0
0
0
0
-27
0
-7
24
16
0
0
0
0
0
0
0
0
0
0
0
-1
-48
-9
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
45
-50
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-55
-16
-38
-15
-5
-7
-9
0
0
0
0
0
0
0
0
0
-33
-49
88
11
-50
71
25
-4
-24
5
0
0
0
0
0
0
0
5
-33
-42
20
43
52
4
49
-3
17
0
0
0
0
0
0
0
39
36
4
-62
32
72
16
41
12
-7
0
0
0
0
0
0
0
-29
42
93
17
23
-3
-62
-29
10
0
0
0
0
0
0
0
0
-71
-63
-39
46
-9
-33
41
14
0
1
0
0
0
0
0
0
0
41
-6
-7
34
-52
23
-9
0
0
0
0
0
0
0
0
0
0
-60
-22
-1
44
20
-8
-3
0
0
0
0
0
0
0
0
0
0
32
-43
-19
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
34
-46
-56
-46
18
-15
0
0
0
0
0
0
0
0
0
0
7
68
11
-33
-6
14
-36
62
27
-1
0
0
0
0
0
0
0
-3
9
33
18
25
-25
83
37
32
0
0
0
0
0
0
0
0
-12
45
49
3
16
50
24
40
4
0
0
0
0
0
0
0
0
87
94
0
40
-2
-37
-14
65
0
0
0
0
0
0
0
0
0
-64
-9
19
6
49
17
-9
20
0
0
0
0
0
0
0
0
0
-81
-5
-14
-14
71
29
10
0
0
0
0
0
0
0
0
0
0
7
4
-22
-25
2
-3
-6
0
0
0
0
0
0
0
0
0
0
24
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
9
0
-8
-34
0
-3
0
0
0
0
0
0
0
0
0
8
18
49
0
24
6
-25
-11
-1
0
0
0
0
0
0
0
0
1
9
62
-3
64
9
34
2
1
0
0
0
0
0
0
0
0
30
23
13
28
5
-1
-5
-1
0
0
0
0
0
0
0
0
0
7
42
-46
3
23
3
-2
0
0
0
0
0
0
0
0
0
0
1
1
11
28
-2
24
0
0
0
0
0
0
0
0
0
0
0
-44
-7
65
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-45
14
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-8
8
-3
-3
-1
1
0
0
0
0
0
0
0
0
0
7
2
4
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
3
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
3
1
-4
3
-7
2
-1
0
0
0
0
0
0
0
0
0
-3
1
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
5
3
-4
2
19
4
-2
0
0
0
0
0
0
0
0
0
0
7
56
-17
11
24
-11
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
53
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
12
-1
-47
-8
11
-33
13
17
1
0
0
0
0
0
0
0
0
53
2
27
-19
-1
50
35
-4
9
0
0
0
0
0
0
0
0
8
-15
113
0
47
57
-28
42
4
0
0
0
0
0
0
0
0
69
12
41
-62
-31
59
-13
14
0
0
0
0
0
0
0
0
0
7
-65
0
-21
76
-38
8
12
0
0
0
0
0
0
0
0
0
-54
-44
18
-2
-29
2
0
0
0
0
0
0
0
0
0
0
0
-46
40
-24
-16
-16
-6
0
0
0
0
0
0
0
0
0
0
0
57
-12
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
6
0
-3
0
8
-4
-1
0
0
0
0
0
0
0
0
0
21
-2
1
1
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
-16
-8
1
42
-27
-23
-5
8
-6
0
0
0
0
0
0
0
0
-8
17
-17
34
1
6
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-29
-42
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-16
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
40
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
9
-4
8
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
13
5
0
-3
0
0
0
0
0
0
0
0
0
0
-5
1
8
-8
-1
-4
8
2
0
0
0
0
0
0
0
0
0
2
-1
13
4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
12
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
13
-11
48
3
-18
0
0
0
0
0
0
0
0
0
0
0
-6
2
17
3
69
-53
38
-37
0
0
0
0
0
0
0
0
0
0
-6
-7
-20
94
27
50
-82
0
0
0
0
0
0
0
0
0
-3
-4
-42
0
-2
27
-38
55
0
0
0
0
0
0
0
0
0
0
0
0
29
-23
-29
-29
34
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
1
-7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-26
0
0
0
0
0
0
0
0
0
0
-2
-1
14
-10
50
0
0
0
0
0
0
0
0
0
0
0
0
5
-55
-95
-50
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-53
-6
15
-46
31
51
42
-27
0
0
0
0
0
0
0
0
4
-9
-11
-3
34
0
45
7
-14
0
0
0
0
0
0
0
0
4
-7
-3
-23
-34
-87
7
62
-97
0
0
0
0
0
0
0
0
-2
5
20
61
21
31
-109
-3
-13
0
0
0
0
0
0
0
0
0
-3
-1
-4
7
-22
16
-90
-41
0
0
0
0
0
0
0
0
0
0
0
-17
-3
2
30
-62
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
0
0
0
0
0
0
0
0
0
0
3
-7
-6
-14
0
0
0
20
0
0
0
0
0
0
0
0
0
1
14
63
11
0
0
0
58
0
0
0
0
0
0
0
-2
-3
-24
8
-10
30
3
30
0
41
0
0
0
0
0
0
0
-6
24
13
-8
-36
13
-27
-78
8
3
0
0
0
0
0
0
0
0
2
62
48
3
15
46
4
30
4
0
0
0
0
0
0
0
0
-3
-6
-1
1
81
8
5
-108
28
0
0
0
0
0
0
0
0
0
1
-1
-10
25
77
27
54
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
8
-87
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-65
-36
0
0
0
0
0
0
-6
0
6
6
16
-94
0
0
0
-13
-2
0
0
0
0
0
0
0
8
-17
17
3
50
-20
-37
-68
9
-8
0
0
0
0
0
0
0
-1
-22
-5
32
14
17
-32
68
12
10
0
0
0
0
0
0
0
0
0
-1
-42
5
-19
-3
-86
-33
-10
0
0
0
0
0
0
0
0
1
19
46
-28
90
-61
-39
-40
-2
0
0
0
0
0
0
0
0
0
-6
-68
13
-15
-25
-28
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
13
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
-4
0
5
0
7
0
0
0
-56
3
0
0
0
0
0
0
0
0
-2
-5
-9
0
46
71
36
-5
8
0
0
0
0
0
0
0
0
-1
-4
40
-25
-52
-21
70
48
-2
0
0
0
0
0
0
1
3
4
-12
-23
-1
-45
11
-7
5
-8
-14
0
0
0
0
0
0
-1
2
0
5
30
56
39
-7
-6
-2
3
0
0
0
0
0
0
0
0
0
-23
-19
4
15
-9
2
-14
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
20
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
-12
-4
6
0
0
0
0
9
-2
1
0
0
0
0
0
1
-1
5
-29
-17
-48
-6
-56
-130
15
6
5
0
0
0
0
0
0
0
4
12
16
7
36
33
0
-12
5
-3
0
0
0
0
0
0
-7
-1
0
8
24
21
-30
70
-31
41
-2
0
0
0
0
0
0
0
0
-1
5
-30
-9
-4
28
-19
9
0
0
0
0
0
0
0
0
0
-2
-1
6
-13
-36
-11
-29
12
4
0
0
0
0
0
0
0
0
0
0
-1
7
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
4
-25
1
0
0
0
0
-24
34
-10
5
0
0
0
0
0
0
-1
-13
-31
-22
-46
36
-56
16
-11
5
-4
0
0
0
0
0
0
0
-7
1
-16
76
44
-1
-2
-2
-6
-3
0
0
0
0
0
0
-3
0
4
26
-12
-22
-10
-51
44
3
0
0
0
0
0
0
0
0
-1
-7
-1
-65
8
-48
2
-1
-1
0
0
0
0
0
0
0
0
-2
-3
0
-1
8
5
22
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-10
0
0
0
0
0
0
0
0
6
0
2
3
0
0
0
-66
3
1
-2
0
0
0
0
0
0
0
0
-2
-5
1
-73
48
10
-32
0
2
0
0
0
0
0
0
0
2
0
5
25
121
-4
-51
-5
4
0
3
0
0
0
0
0
0
0
1
21
-17
-11
62
1
20
0
-5
-1
0
0
0
0
0
0
0
0
-5
2
18
-19
6
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
49
-5
-1
15
0
0
0
0
0
0
0
0
0
0
0
-27
-9
-6
35
50
-109
0
0
0
0
0
0
0
0
0
0
0
3
82
16
24
5
-37
47
-31
0
0
0
0
0
0
0
0
0
1
9
2
-2
17
16
27
50
0
0
0
0
0
0
0
0
0
5
1
-10
36
25
98
13
36
0
0
0
0
0
0
0
0
0
-1
7
-25
50
-8
-69
-1
40
0
0
0
0
0
0
0
0
0
0
0
-15
0
23
-20
-14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
2
0
-20
10
-31
-85
0
0
0
0
0
0
0
0
0
0
0
-2
-50
-12
-40
107
-72
0
0
0
0
0
0
0
0
0
0
0
-16
-15
22
33
-4
-42
26
-6
-3
0
0
0
0
0
0
0
0
25
20
25
-44
48
-19
-92
-79
-94
0
0
0
0
0
0
0
0
-8
-29
28
7
6
108
17
87
-36
0
0
0
0
0
0
0
0
1
-7
-5
-73
-12
13
-62
3
77
0
0
0
0
0
0
0
0
0
0
5
-47
17
22
0
-71
64
0
0
0
0
0
0
0
0
0
0
0
59
-25
2
-10
-50
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-4
0
0
0
0
0
0
0
0
0
0
-1
8
-36
69
0
0
0
30
0
0
0
0
0
0
0
-1
-19
-27
-19
40
87
0
0
0
60
0
0
0
0
0
0
0
0
-31
6
18
-43
-47
-33
-50
4
18
0
0
0
0
0
0
0
7
86
-61
-15
66
101
111
25
-13
1
0
0
0
0
0
0
0
-1
-3
10
-8
-33
33
6
66
5
22
0
0
0
0
0
0
0
-8
0
12
28
11
9
-36
-20
-44
21
0
0
0
0
0
0
0
0
0
0
-25
20
0
-11
36
-15
24
0
0
0
0
0
0
0
0
0
0
1
-3
32
-18
5
49
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-108
10
0
0
0
16
-10
0
0
0
0
0
0
0
9
48
-75
80
-80
0
0
0
41
47
0
0
0
0
0
0
-2
24
-1
31
5
-3
71
-15
-42
50
7
0
0
0
0
0
0
0
-30
-8
-40
-56
-2
14
-55
-1
28
-5
0
0
0
0
0
0
0
-4
-25
40
20
-13
2
-101
-4
22
-4
0
0
0
0
0
0
0
7
9
-1
-5
27
3
18
-14
93
-77
0
0
0
0
0
0
0
0
0
-7
24
-27
-7
8
75
6
0
0
0
0
0
0
0
0
0
0
5
-1
0
8
14
-69
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
5
4
0
0
0
0
0
0
1
5
0
0
0
35
0
0
0
88
-25
1
0
0
0
0
0
0
-2
-24
4
-25
53
0
0
0
-25
46
2
0
0
0
0
0
-1
-2
0
-24
-2
-76
-21
3
-80
18
-1
5
0
0
0
0
0
0
5
5
-2
25
21
8
-147
-30
-20
-13
3
0
0
0
0
0
0
-4
0
-30
-13
32
62
-29
13
-68
-19
5
0
0
0
0
0
0
0
0
-9
0
37
71
78
-75
-14
5
0
0
0
0
0
0
0
0
0
8
7
-38
-5
47
37
23
11
0
0
0
0
0
0
0
0
0
-2
0
-1
6
27
-99
3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-19
42
0
0
-5
0
0
0
34
2
1
-1
0
0
0
0
0
-12
-59
6
-5
-59
0
0
0
-87
-61
-34
2
0
0
0
0
0
-7
-58
21
-32
-3
-39
2
8
44
26
1
0
0
0
0
0
0
1
14
25
-96
-43
9
-33
24
-34
-37
-7
-3
0
0
0
0
0
0
3
-3
15
18
-1
8
-17
45
-11
-10
-6
0
0
0
0
0
0
4
-2
6
-42
13
-45
-22
-83
26
-3
0
0
0
0
0
0
0
0
5
24
29
6
-39
-4
10
9
3
0
0
0
0
0
0
0
0
0
-1
0
-3
-12
1
-12
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
-5
-40
0
0
0
0
0
3
-13
-1
2
0
0
0
0
0
-5
-3
-7
-43
12
0
0
0
92
-16
-3
-6
0
0
0
0
0
0
31
68
1
27
70
-6
52
24
57
13
1
0
0
0
0
0
0
-8
-5
22
48
39
1
-18
13
-24
-3
1
0
0
0
0
0
0
1
-5
35
7
-47
9
-26
-51
73
-7
9
0
0
0
0
0
0
0
7
8
68
-48
46
16
-41
-33
9
0
0
0
0
0
0
0
0
0
-15
-17
-18
8
-7
-59
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-30
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
0
0
0
0
20
8
-5
-7
0
0
0
0
0
-3
0
-5
7
24
0
0
0
-13
-24
1
10
0
0
0
0
0
0
-6
-1
-5
0
-5
11
-13
-14
-17
20
3
0
0
0
0
0
0
0
-13
-8
-18
-27
-74
-2
33
20
-3
4
0
0
0
0
0
0
0
-1
3
16
8
-39
-16
30
7
6
-6
4
0
0
0
0
0
0
-5
-8
3
1
29
20
-3
3
-5
1
0
0
0
0
0
0
0
0
0
-3
0
-2
-8
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
-4
3
0
0
0
0
0
0
0
2
0
12
0
0
-8
-13
3
16
1
1
0
0
0
0
0
0
0
2
1
32
10
-41
-35
-4
-2
6
5
0
0
0
0
0
0
0
-2
0
-3
-18
-3
-10
6
-7
-3
4
-1
0
0
0
0
0
0
0
-2
1
-13
-8
17
-2
2
-8
-3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-9
1
-8
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
8
0
0
0
3
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
-2
6
-8
15
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-6
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-22
60
59
18
0
0
0
0
0
0
0
0
0
0
0
42
-38
-11
78
-10
37
0
0
0
0
0
0
0
0
0
0
0
12
21
5
68
-51
-53
-55
-60
0
0
0
0
0
0
0
0
0
1
4
-47
-5
17
-12
27
7
0
0
0
0
0
0
0
0
0
-8
3
-5
-6
24
89
4
58
0
0
0
0
0
0
0
0
0
0
0
27
-2
-48
17
30
108
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
-8
-34
40
44
-31
-26
0
0
0
0
0
0
0
0
0
0
0
-21
-6
-12
-15
-53
2
0
0
0
0
0
0
0
0
0
0
0
0
63
69
-43
-12
-27
-27
-13
-10
0
0
0
0
0
0
0
0
0
19
54
-31
7
9
-71
34
-5
0
0
0
0
0
0
0
0
-1
12
-4
55
16
-11
-29
36
-6
0
0
0
0
0
0
0
0
6
-3
53
1
24
-7
-5
61
83
0
0
0
0
0
0
0
0
0
0
-1
17
9
-6
19
-38
65
0
0
0
0
0
0
0
0
0
-1
5
-7
-9
0
20
-48
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
0
1
20
24
-25
25
-11
0
0
0
-4
0
0
0
0
0
0
0
-6
-15
-9
-48
-56
37
0
0
0
-60
0
0
0
0
0
0
0
0
5
-17
55
85
50
76
-57
-158
4
0
0
0
0
0
0
0
0
4
-2
-10
22
55
23
123
-41
-16
0
0
0
0
0
0
0
2
-10
-13
27
-76
28
-34
-32
67
-41
0
0
0
0
0
0
0
0
9
6
12
-18
8
-19
-35
4
28
0
0
0
0
0
0
0
0
0
0
8
13
45
-39
8
-49
50
0
0
0
0
0
0
0
0
0
-1
-8
0
20
-5
40
-73
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
71
-5
22
0
0
0
-5
5
0
0
0
0
0
0
1
-8
-6
26
-27
-82
0
0
0
70
-48
0
0
0
0
0
0
0
-2
3
-18
-39
11
-19
-29
-49
-6
11
0
0
0
0
0
0
0
0
2
-6
-23
3
-79
33
-18
-42
3
0
0
0
0
0
0
0
-1
-1
37
-89
-2
-77
13
-81
1
32
0
0
0
0
0
0
0
5
6
29
83
-26
-74
22
-34
31
-1
0
0
0
0
0
0
0
0
0
-10
11
32
2
4
-40
-45
5
0
0
0
0
0
0
0
0
0
2
-7
4
4
-18
-22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-43
-5
0
0
0
-14
-2
-1
0
0
0
0
0
0
17
17
-4
-17
-159
0
0
0
-4
49
1
0
0
0
0
0
0
5
0
1
-22
12
-7
36
-14
16
68
8
0
0
0
0
0
0
3
0
0
9
-3
15
45
19
-37
58
3
0
0
0
0
0
0
0
0
-22
-29
-60
32
76
-53
16
1
0
0
0
0
0
0
0
0
1
1
2
15
86
91
42
-28
1
4
0
0
0
0
0
0
0
0
0
0
1
-23
-13
6
47
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
-12
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
5
-3
-4
-10
0
0
0
4
1
0
0
0
0
0
0
0
-6
7
8
24
23
0
0
0
-53
0
3
1
0
0
0
0
4
0
1
10
48
-14
-77
-62
-2
-37
28
-4
0
0
0
0
0
0
2
2
0
-15
34
13
105
60
24
-27
24
0
0
0
0
0
0
-13
2
1
-24
-5
1
8
-44
-18
-22
0
0
0
0
0
0
0
0
0
-6
-1
19
-88
-41
32
12
0
-3
0
0
0
0
0
0
0
0
0
-1
32
-71
-28
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
12
-8
-16
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
9
-1
1
0
0
0
0
0
0
3
-5
-6
-10
0
0
0
0
-7
9
0
0
0
0
0
0
4
0
2
15
0
-1
-5
-25
-17
39
19
2
-1
0
0
0
0
0
6
-16
-12
9
-4
29
11
23
51
3
-5
6
-1
0
0
0
0
1
0
-13
33
-10
7
29
6
13
8
1
-2
0
0
0
0
0
2
0
5
-8
5
17
-47
25
15
0
0
0
0
0
0
0
0
0
0
0
3
7
-1
-12
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
2
2
0
0
0
-36
-1
8
0
0
0
0
0
0
0
-29
-5
0
6
0
0
0
-1
19
-25
-1
0
0
0
0
0
0
2
14
0
0
-2
3
-62
-48
9
-9
0
1
0
0
0
0
-3
8
-1
-4
0
2
15
45
43
-19
-12
0
-2
0
0
0
0
0
-3
-3
0
-54
32
-49
25
5
-25
0
-1
0
0
0
0
0
0
0
0
59
13
28
0
-32
-4
-3
-4
-3
0
0
0
0
0
0
0
0
1
0
-8
30
24
0
-2
-2
0
0
0
0
0
0
0
0
0
1
-3
-7
7
-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
-13
1
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
8
-1
14
1
-4
0
0
0
2
-1
-4
1
7
0
0
0
0
-8
2
0
0
3
2
0
-7
-4
-1
0
0
0
0
0
0
0
0
0
7
-9
0
-9
-13
4
-38
3
0
1
-2
0
0
0
0
0
0
19
-7
53
42
41
1
-1
-8
0
5
1
0
0
0
0
0
0
0
-1
-2
2
25
-91
1
0
-3
0
0
0
0
0
0
0
0
0
-3
5
-7
-12
-41
1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
3
-4
-10
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
-3
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
15
3
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-22
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-6
-2
6
-8
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
-6
-1
13
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
33
-47
1
-28
38
0
0
0
0
0
0
0
0
0
0
0
-4
19
22
14
31
102
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-48
-37
-36
-53
69
33
0
0
0
0
0
0
0
0
0
1
-3
28
-36
10
-102
28
89
0
0
0
0
0
0
0
0
0
0
28
-37
-13
41
12
44
39
0
0
0
0
0
0
0
0
0
0
0
-13
-48
-8
1
31
-13
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
27
-9
16
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
0
0
0
0
0
0
0
0
0
22
10
-21
-7
16
40
0
0
0
0
0
0
0
0
0
0
0
33
11
-35
-6
-36
8
0
0
0
0
0
0
0
0
0
0
0
1
51
-58
3
-35
56
-12
-59
-3
0
0
0
0
0
0
0
0
0
20
26
-78
21
-2
-43
52
5
0
0
0
0
0
0
0
0
0
0
-52
70
43
50
-21
35
70
0
0
0
0
0
0
0
0
0
-17
-13
-5
-79
55
-35
-29
-16
0
0
0
0
0
0
0
0
6
-8
3
6
-20
46
66
80
5
0
0
0
0
0
0
0
0
0
0
0
4
0
-23
-84
24
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
0
4
-16
51
-29
-13
6
0
0
0
-7
0
0
0
0
0
0
0
18
86
89
33
58
-61
0
0
0
15
0
0
0
0
0
0
0
0
-8
40
-31
-50
44
35
43
51
-71
0
0
0
0
0
0
0
0
0
1
1
-39
-17
-14
63
125
-52
0
0
0
0
0
0
0
0
0
-2
25
33
58
-37
-1
57
-25
0
0
0
0
0
0
0
0
1
-44
-2
-56
49
-1
79
95
52
0
0
0
0
0
0
0
3
0
3
11
44
62
-16
-42
34
-16
0
0
0
0
0
0
0
0
0
-14
9
-12
5
16
16
-95
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
10
-12
9
-27
-13
-2
0
0
0
-44
1
0
0
0
0
0
0
0
-9
-46
37
17
14
0
0
0
-52
-11
0
0
0
0
0
0
0
-1
7
6
21
-14
30
24
-27
-17
-3
0
0
0
0
0
0
0
0
0
-1
49
6
41
39
6
24
5
0
0
0
0
0
0
1
0
0
16
101
-4
9
54
-31
-42
-7
0
0
0
0
0
0
0
2
-9
22
-2
17
-48
-18
-46
5
4
0
0
0
0
0
0
0
0
0
22
-7
5
-49
-12
1
13
5
0
0
0
0
0
0
0
0
0
-4
0
-3
38
-43
32
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
30
-5
9
-21
0
0
0
-12
0
0
0
0
0
0
0
0
-3
-4
-16
-71
-16
0
0
0
-23
-4
0
0
0
0
0
0
0
-45
0
-15
8
-10
106
-4
-51
23
-9
-3
0
0
0
0
0
0
8
1
0
-3
41
15
-18
10
41
0
0
0
0
0
0
0
5
-1
0
-7
16
52
-48
109
11
0
8
0
0
0
0
0
0
0
0
5
3
15
-6
69
27
-32
-28
0
0
0
0
0
0
0
0
0
0
6
10
-47
-13
82
-52
-22
4
0
0
0
0
0
0
0
0
0
1
0
-13
-5
-15
-52
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
29
9
1
38
0
0
0
-16
6
-1
0
0
0
0
0
0
-6
-2
-14
7
-31
0
0
0
-45
34
0
0
0
0
0
0
0
0
-19
6
-2
0
-29
-23
-29
3
-12
0
0
0
0
0
0
0
0
-1
8
0
-31
-7
-22
23
-87
0
-3
0
0
0
0
0
0
-5
0
3
0
-1
44
-70
3
46
-18
0
0
0
0
0
0
0
0
0
-8
-8
48
-5
-37
10
16
2
0
0
0
0
0
0
0
0
-6
0
2
5
13
0
38
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
5
14
-17
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
17
3
5
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-1
-3
7
0
0
0
-7
-2
6
-1
0
0
0
0
0
2
3
-31
0
-3
-2
49
-10
7
23
-1
-1
0
0
0
0
0
0
9
0
1
0
-5
-28
-33
5
-5
-2
1
0
0
0
0
0
0
0
24
-3
2
-7
24
-26
31
-9
-1
-2
0
0
0
0
0
0
0
-3
-59
2
-25
8
13
10
0
0
0
0
0
0
0
0
0
0
0
3
5
30
-16
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-8
18
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
1
-4
7
3
-17
0
0
0
67
2
-3
-4
0
0
0
0
-1
2
-12
2
-5
0
3
-3
34
-2
31
0
-2
0
0
0
0
0
-13
-1
2
0
14
0
2
-24
40
1
4
-8
4
0
0
0
0
0
1
-8
2
-2
0
3
9
6
8
4
-2
-3
0
0
0
0
-3
0
17
1
-19
-12
-43
-9
2
0
-3
0
0
0
0
0
0
0
0
0
-10
10
-4
29
-8
5
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
17
-5
-1
-7
0
0
0
13
4
0
0
0
0
0
0
0
1
-1
20
-2
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
-7
-5
4
3
0
0
2
-2
0
0
0
0
0
0
0
-1
0
0
-5
-10
-42
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-8
-1
-5
-2
12
3
1
0
0
0
0
0
0
0
0
5
-9
-1
8
-24
-24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-6
6
5
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
6
-31
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
9
12
-9
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-21
14
-16
35
111
0
0
0
0
0
0
0
0
0
0
-2
30
16
14
-33
-75
-59
0
0
0
0
0
0
0
0
0
0
0
43
4
-43
-12
-25
43
28
-81
0
0
0
0
0
0
0
0
0
2
-46
-13
-31
15
15
42
-1
0
0
0
0
0
0
0
0
0
0
-13
45
15
34
102
26
-64
0
0
0
0
0
0
0
0
0
0
0
-8
-29
17
42
-40
-4
0
0
0
0
0
0
0
0
0
0
0
1
19
6
1
18
93
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
25
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
80
0
0
0
0
0
0
0
0
0
-14
15
-30
-30
-4
-92
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-3
-5
-21
9
0
0
0
0
0
0
0
0
0
0
0
16
-62
-53
78
20
40
-20
-27
44
0
0
0
0
0
0
0
0
0
0
23
-9
46
42
16
-178
51
0
0
0
0
0
0
0
0
0
8
-18
-60
22
-22
-92
-77
-26
0
0
0
0
0
0
0
0
0
-4
33
66
-47
-25
39
39
17
0
0
0
0
0
0
0
0
-6
9
2
-19
-93
62
-30
-94
73
0
0
0
0
0
0
0
0
0
-1
-10
-25
5
-12
72
85
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
65
-10
0
0
0
0
0
0
0
0
6
2
63
-4
30
43
0
0
0
-12
0
0
0
0
0
0
0
-8
-25
31
-26
-7
-13
0
0
0
-77
0
0
0
0
0
0
0
-4
-4
-20
-1
53
-27
73
21
-47
-14
0
0
0
0
0
0
0
0
0
-7
-23
-101
-110
-1
56
-7
26
0
0
0
0
0
0
0
0
0
0
16
39
26
14
41
56
-31
0
0
0
0
0
0
0
0
0
0
-34
-31
36
-43
-1
0
-39
0
0
0
0
0
0
0
16
-5
3
1
-22
12
49
68
31
21
0
0
0
0
0
0
0
0
0
0
-5
10
-12
-27
35
11
28
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
-14
-7
0
0
0
0
0
0
0
0
1
-6
-5
10
-56
69
0
0
0
-32
0
0
0
0
0
0
0
-2
-4
66
14
-50
-77
0
0
0
0
10
0
0
0
0
0
0
-1
-11
35
-75
60
-21
-51
76
-35
-71
-3
0
0
0
0
0
0
3
0
0
-2
17
51
-18
9
33
71
0
0
0
0
0
0
0
-4
0
0
0
17
37
-50
2
15
-31
0
0
0
0
0
0
0
0
0
0
-3
-18
-59
-19
0
22
12
1
0
0
0
0
0
0
0
5
0
-5
9
43
-38
67
-4
-26
-2
0
0
0
0
0
0
0
0
0
2
-3
-5
-47
27
32
-12
-8
0
0
0
0
0
0
0
0
0
0
0
6
-1
-7
1
4
0
0
0
0
0
0
0
0
-2
-25
-36
17
44
0
0
0
-21
-22
0
0
0
0
0
0
0
-1
13
41
-55
-10
0
0
0
-74
-15
-1
0
0
0
0
0
0
0
13
-14
-7
-42
-57
53
3
1
14
0
0
0
0
0
0
0
8
0
-3
14
17
-68
-49
-5
-11
0
-4
0
0
0
0
0
2
0
0
0
-1
-51
-18
-54
18
14
0
2
0
0
0
0
0
0
1
0
0
0
-43
-18
-9
34
26
-1
0
0
0
0
0
0
0
0
-3
-1
-15
-10
22
32
15
9
-1
0
0
0
0
0
0
0
0
0
0
6
-5
-1
-51
-28
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
2
-8
1
-3
0
0
0
5
-18
0
0
0
0
0
0
0
2
3
10
-12
-9
0
0
0
-20
13
0
0
0
0
0
0
4
-3
-12
19
-12
-4
-28
2
-86
-10
8
0
0
0
0
0
0
3
0
13
0
1
0
1
15
-27
-13
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-33
17
-4
-40
0
0
0
0
0
0
0
0
0
0
0
0
-1
57
31
22
-4
5
0
0
0
0
0
0
0
0
0
-7
-13
-9
0
-27
-4
8
1
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
4
-5
16
0
30
0
0
0
-24
0
0
-9
0
0
0
0
0
-1
-32
0
1
9
27
-47
-3
-1
-3
0
0
0
0
0
0
0
-1
38
0
0
0
2
46
0
-6
0
1
0
0
0
0
0
0
0
-6
-5
10
0
-8
16
4
0
-3
1
0
0
0
0
0
0
0
2
-6
0
-2
0
-31
-5
2
-3
0
0
0
0
0
0
0
0
2
0
25
-4
4
1
18
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
-4
-2
0
-4
-3
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-16
0
-3
25
0
0
0
-5
0
0
1
-1
0
0
0
0
-3
-67
25
4
0
-21
18
-3
-1
1
1
0
0
0
0
0
0
0
19
6
-49
0
0
-5
11
-8
0
0
-1
-1
0
0
0
0
0
0
10
-2
0
0
0
-25
1
0
-2
0
0
0
0
0
0
0
-2
-5
-42
0
-2
-2
-58
-1
8
10
0
0
0
0
0
0
0
0
0
0
-8
-4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
-5
0
-1
0
0
0
15
0
0
0
0
0
0
0
0
-1
5
-7
1
4
-7
-7
58
2
-1
0
0
0
0
0
0
0
0
-1
48
2
17
0
0
0
2
0
1
-1
0
0
0
0
0
0
0
-16
-9
-1
-4
0
0
4
6
0
-1
0
0
0
0
0
0
0
-4
3
21
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-5
2
-23
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
0
0
0
-1
0
0
0
0
0
0
0
0
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
-3
0
2
-1
16
0
0
0
0
0
0
0
0
0
-9
8
0
-2
-7
15
-2
1
0
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
9
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
10
0
0
-8
-8
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
14
17
15
-15
0
0
0
0
0
0
0
0
0
0
2
-43
1
42
-13
13
-12
0
0
0
0
0
0
0
0
0
0
0
25
16
-45
-11
-39
10
-20
10
0
0
0
0
0
0
0
0
0
-19
-14
-4
13
-51
-28
-27
75
0
0
0
0
0
0
0
0
0
0
-5
41
8
-60
-21
78
-40
0
0
0
0
0
0
0
0
0
0
0
-5
5
16
58
8
28
0
0
0
0
0
0
0
0
0
0
0
-1
-4
77
-5
6
-4
0
0
0
0
0
0
0
0
0
0
0
-10
5
-14
16
71
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
-45
0
0
0
0
0
0
0
0
0
6
-26
-21
-49
11
-36
0
0
0
0
0
0
0
0
0
0
0
45
-38
-14
-2
-119
33
0
0
0
0
0
0
0
0
0
0
0
-2
-52
-37
-22
-57
0
-32
-80
4
0
0
0
0
0
0
0
0
4
-13
2
-12
24
-126
-55
13
-116
0
0
0
0
0
0
0
0
0
0
32
-39
74
-2
58
51
-33
0
0
0
0
0
0
0
0
0
0
8
71
20
-4
-14
-36
27
0
0
0
0
0
0
0
0
0
0
-10
7
-46
-8
24
-68
-29
0
0
0
0
0
0
0
0
0
1
-1
8
-48
49
-20
30
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
-5
-41
0
0
0
0
0
0
0
0
-12
-3
-21
-45
35
-12
0
0
0
-8
0
0
0
0
0
0
0
-15
2
46
57
-40
-23
0
0
0
97
0
0
0
0
0
0
0
9
23
-34
-31
-29
32
2
119
11
3
0
0
0
0
0
0
0
-8
1
27
31
13
-31
-21
-44
-34
24
0
0
0
0
0
0
0
0
1
3
52
-11
30
13
-63
-36
14
0
0
0
0
0
0
0
0
0
0
11
-5
28
27
80
67
-9
0
0
0
0
0
0
0
0
0
0
-2
-46
-12
-104
-58
37
0
0
0
0
0
0
0
0
0
0
10
7
-14
41
-46
-62
-24
33
0
0
0
0
0
0
0
0
0
0
-4
0
-16
-40
-5
-8
0
0
0
0
0
0
0
0
0
-2
-9
45
-19
-13
0
0
0
28
-19
0
0
0
0
0
0
1
-6
-85
-16
40
8
0
0
0
79
-22
0
0
0
0
0
0
-1
-18
7
-15
-116
-47
-48
-69
47
-42
-26
0
0
0
0
0
0
0
-10
-36
11
46
-46
-64
37
-38
4
3
0
0
0
0
0
0
-1
0
-3
0
19
-15
-73
50
3
-9
-5
0
0
0
0
0
0
0
0
0
0
17
53
17
12
29
24
1
0
0
0
0
0
0
0
0
0
2
11
57
9
-16
-34
-3
0
0
0
0
0
0
0
0
0
1
-2
-3
50
4
-24
22
-32
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
9
8
0
0
0
0
0
0
0
0
-3
4
0
6
0
0
0
0
4
0
0
0
0
0
0
0
0
15
-4
34
5
51
0
0
0
-26
-24
0
0
0
0
0
0
2
24
3
-45
52
-52
13
-109
35
23
-1
-6
0
0
0
0
0
2
4
-21
-14
9
-10
-47
-21
-15
2
1
0
0
0
0
0
0
0
2
0
0
2
-67
5
16
51
-13
-6
0
0
0
0
0
0
0
0
0
0
-1
51
28
-85
73
-7
0
0
0
0
0
0
0
0
0
0
0
2
14
45
-114
-12
-22
-5
0
0
0
0
0
0
0
0
0
-1
0
9
-2
-3
117
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
0
0
0
0
0
0
0
0
0
0
9
14
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-30
41
24
10
0
0
0
-16
-1
0
0
0
0
0
0
0
-8
2
-2
-48
40
-1
2
-49
0
-1
-1
0
0
0
0
0
0
-2
-2
43
-24
8
23
-3
-30
4
8
-3
-1
0
0
0
0
2
0
-14
0
0
2
5
15
-22
8
3
0
0
0
0
0
0
0
0
0
0
0
3
-37
-19
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-40
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
0
19
21
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
-23
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
-23
-10
5
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-8
0
-34
-1
16
-22
-2
0
0
0
0
0
0
0
0
0
0
-4
1
41
30
-3
2
15
2
-1
0
0
0
0
0
0
3
-1
-8
16
0
0
-3
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
18
-13
-2
3
0
0
0
0
0
0
0
0
2
0
0
0
22
-47
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-25
-1
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
4
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
0
-8
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
10
0
-1
-8
6
12
8
0
0
0
0
0
0
0
0
0
0
1
48
4
-51
-7
-28
-2
1
0
-3
0
0
0
0
0
2
0
-4
-3
-10
0
4
0
0
10
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
5
-2
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
-10
0
0
0
2
0
0
0
0
0
0
0
0
8
4
-4
0
-23
14
9
2
0
0
0
0
0
0
0
0
0
0
0
-16
42
6
34
8
-8
0
0
0
0
0
0
0
0
0
0
-2
-25
24
32
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
8
-6
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
3
-6
2
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-11
-6
-25
-5
0
0
0
0
0
0
0
0
0
0
-4
-40
-6
21
42
18
0
0
0
0
0
0
0
0
0
0
0
0
-4
-31
3
-2
19
-7
77
6
0
0
0
0
0
0
0
0
0
-10
-65
-42
-21
-28
-61
21
-5
0
0
0
0
0
0
0
0
0
0
9
34
69
21
6
-51
10
0
0
0
0
0
0
0
0
0
0
1
45
6
13
9
-41
-20
0
0
0
0
0
0
0
0
0
0
4
0
-25
12
-22
-30
15
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
-25
-4
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
43
0
0
0
0
0
0
0
0
0
-1
38
-111
-42
7
4
0
0
0
0
0
0
0
0
0
0
0
-5
45
10
-126
-21
51
0
0
0
0
0
0
0
0
0
0
0
-17
-46
-45
-92
-30
48
-12
-46
3
0
0
0
0
0
0
0
0
7
-33
-5
18
-78
70
-36
-30
-51
0
0
0
0
0
0
0
0
0
-12
-12
-18
-4
9
-95
-78
41
0
0
0
0
0
0
0
0
0
0
48
92
13
55
-18
-78
5
0
0
0
0
0
0
0
0
0
0
3
3
-123
-1
0
56
23
0
0
0
0
0
0
0
0
0
0
0
-7
41
-27
10
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
24
-12
0
0
0
0
0
0
0
0
-2
-10
7
43
-48
-8
0
0
0
77
0
0
0
0
0
0
0
9
44
13
-46
2
-3
0
0
0
21
0
0
0
0
0
0
0
-5
13
30
-8
73
-44
-13
34
-22
47
0
0
0
0
0
0
0
-5
38
-57
-66
29
-25
-20
76
7
-24
0
0
0
0
0
0
0
-16
30
-54
35
-58
62
-71
93
45
13
0
0
0
0
0
0
0
0
0
-5
37
46
-71
-4
-27
-24
-27
0
0
0
0
0
0
0
0
0
0
7
7
65
42
51
19
27
0
0
0
0
0
0
0
0
0
0
-8
-28
2
-22
75
-7
-41
0
0
0
0
0
0
0
0
0
3
-3
0
22
6
-25
45
3
0
0
0
0
0
0
0
0
-1
-16
-35
14
-39
0
0
0
-18
-48
0
0
0
0
0
0
-4
-2
-22
0
-4
26
0
0
0
-29
-54
0
0
0
0
0
0
-3
1
-15
32
-42
6
46
-19
-4
12
-5
0
0
0
0
0
0
-1
-2
-3
10
-16
-25
47
24
-60
1
-2
0
0
0
0
0
0
4
-12
12
-50
-5
48
-20
-9
-53
31
0
0
0
0
0
0
0
0
0
2
0
-4
25
91
-6
27
0
0
0
0
0
0
0
0
0
0
0
0
16
-26
67
41
-141
18
15
0
0
0
0
0
0
0
0
0
0
0
16
33
-2
34
6
-7
0
0
0
0
0
0
0
0
0
0
0
3
20
-14
51
8
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
0
-5
0
0
0
0
0
0
0
0
7
42
17
-23
-48
0
0
0
-13
18
0
0
0
0
0
0
0
-1
-2
19
16
-5
30
19
-46
10
0
0
0
0
0
0
0
0
-4
12
34
13
-15
-2
44
-57
-3
0
0
0
0
0
0
0
1
-1
7
-4
-1
3
40
-26
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
21
0
17
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
15
43
20
0
0
0
0
0
0
0
0
0
0
0
0
36
-5
4
-49
11
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-5
0
0
0
0
0
0
0
0
1
0
-5
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-19
9
-8
-2
0
0
0
40
1
0
0
0
0
0
0
0
0
-3
-4
3
44
-25
8
-13
-2
-1
-1
0
0
0
0
0
0
-1
24
27
-10
-23
-107
7
-3
15
-1
0
0
0
0
0
0
0
-6
0
7
-32
-79
-14
26
-32
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
68
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
18
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
15
-1
-15
0
7
0
0
0
0
0
0
0
0
0
0
6
-3
-12
21
25
3
-5
-1
0
0
0
0
0
0
0
0
8
14
5
-25
8
-10
8
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
5
5
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-5
0
-14
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
2
2
0
2
21
2
0
0
3
0
0
0
0
0
0
0
7
-4
-13
13
16
27
0
6
1
2
0
0
0
0
0
0
5
-5
-1
0
15
-24
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
5
0
-9
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-8
-3
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-6
1
4
15
4
-17
1
0
0
0
0
0
0
0
0
0
0
8
12
-3
9
-8
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-10
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-13
-16
10
-29
0
0
0
0
0
0
0
0
0
0
-1
-1
-48
-33
67
-18
-44
-75
52
0
0
0
0
0
0
0
0
0
-7
-25
-27
-54
-1
-48
-4
12
0
0
0
0
0
0
0
0
0
6
-26
20
-56
11
-46
-15
11
0
0
0
0
0
0
0
0
0
-6
3
-1
7
16
-73
65
27
0
0
0
0
0
0
0
0
0
0
-7
1
8
-21
12
3
54
0
0
0
0
0
0
0
0
0
0
2
-5
16
8
1
63
17
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
9
23
30
0
0
0
0
0
0
0
0
0
0
-76
-66
-25
-5
54
0
0
0
0
0
0
0
0
0
0
0
-23
-13
-19
22
-9
-69
0
0
0
0
0
0
0
0
0
0
0
-2
-33
-30
61
-44
-46
-59
-30
-16
0
0
0
0
0
0
0
0
-8
-43
-14
-10
-10
33
3
24
-22
0
0
0
0
0
0
0
0
0
-57
0
18
-32
-36
-80
0
-12
0
0
0
0
0
0
0
0
1
-8
-15
-13
34
-15
85
-26
-9
0
0
0
0
0
0
0
0
0
0
5
30
102
24
-57
-6
1
0
0
0
0
0
0
0
0
0
0
1
-25
24
11
20
-1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
-60
-27
0
0
0
0
0
0
0
0
0
0
0
17
0
3
0
0
0
-14
0
0
0
0
0
0
0
-13
-1
-10
7
-29
24
0
0
0
-6
0
0
0
0
0
0
0
-1
-1
-4
-46
30
32
0
54
-18
-29
0
0
0
0
0
0
0
0
-8
-5
-4
-5
63
-49
12
-18
38
0
0
0
0
0
0
0
-4
-9
-54
-3
-41
-22
84
18
25
-12
0
0
0
0
0
0
0
1
3
-34
-27
14
-2
14
18
57
26
0
0
0
0
0
0
0
0
0
0
23
37
21
-3
6
-45
13
0
0
0
0
0
0
0
0
0
0
0
32
3
21
41
-31
35
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
71
7
2
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
-2
-8
23
-2
-2
0
0
0
-21
-32
0
0
0
0
0
0
-1
4
41
-15
-30
66
31
-45
19
-20
-2
0
0
0
0
0
0
1
-4
-8
9
-36
-12
-62
62
-16
7
3
0
0
0
0
0
0
0
0
41
15
-20
-26
65
-16
-29
29
0
0
0
0
0
0
0
0
-2
-1
-17
24
15
5
35
25
-6
0
0
0
0
0
0
0
0
0
0
0
16
-11
-70
-36
-77
1
0
0
0
0
0
0
0
0
0
0
0
0
22
14
56
23
-40
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
8
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
-5
-2
0
0
0
0
0
0
0
2
2
-2
8
-8
0
-6
18
3
0
0
0
0
0
0
0
0
-1
12
-16
-7
-2
-27
14
13
2
0
0
0
0
0
0
0
0
0
-2
13
-49
-3
17
3
33
-7
0
0
0
0
0
0
0
0
0
0
0
14
-36
49
-6
-65
3
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
0
2
20
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
3
0
0
7
0
0
0
3
1
0
0
0
0
0
0
0
0
2
8
0
0
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-15
25
6
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
8
8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
14
1
-4
-56
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-13
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
7
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
-38
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
0
3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-48
-10
-2
26
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
19
-13
-1
-4
37
0
0
0
0
0
0
0
0
2
-8
-69
18
-81
-96
75
14
36
0
0
0
0
0
0
0
0
5
-1
4
-33
-6
61
1
-40
0
0
0
0
0
0
0
0
0
0
-4
14
35
-40
76
48
-42
16
0
0
0
0
0
0
0
0
0
0
0
4
19
1
10
0
-18
0
0
0
0
0
0
0
0
0
0
0
6
7
5
13
-33
61
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
-17
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-23
-7
24
-13
21
-61
0
0
0
0
0
0
0
0
-3
-5
3
-51
10
-23
8
-33
-49
0
0
0
0
0
0
0
0
-4
-3
8
-25
-29
43
-72
-9
-3
0
0
0
0
0
0
0
0
0
-4
4
-48
-22
-96
45
-32
17
0
0
0
0
0
0
0
0
0
0
-12
2
22
15
-17
19
13
0
0
0
0
0
0
0
0
0
0
0
3
33
6
-8
-17
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
38
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
4
0
-3
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-6
-5
1
-14
13
0
-2
0
0
0
0
0
0
0
0
-3
-2
-10
14
52
-1
4
-27
16
0
0
0
0
0
0
0
0
0
0
9
-32
26
-62
0
-80
0
0
0
0
0
0
0
0
0
1
0
-2
4
13
1
-13
1
0
0
0
0
0
0
0
0
0
0
1
0
-7
8
0
17
6
4
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
8
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
8
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
-6
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
4
-2
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-6
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-2
3
9
0
3
0
0
0
0
0
0
0
0
0
19
1
-30
-1
27
9
-5
0
0
0
0
0
0
0
0
0
0
6
-10
27
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
-13
0
-40
-7
-2
0
0
0
0
0
0
0
0
0
25
15
-25
11
-48
-28
-29
0
0
0
0
0
0
0
0
0
0
0
-8
-22
-27
-42
15
8
29
0
0
0
0
0
0
0
0
0
0
27
10
66
7
9
-4
-20
5
0
0
0
0
0
0
0
0
0
17
-3
14
-1
-1
-13
0
0
1
0
0
0
0
0
0
0
0
-48
-23
-2
-15
-3
0
0
-1
0
0
0
0
0
0
0
0
0
8
-8
-24
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-2
18
12
4
3
0
0
0
0
0
0
0
0
0
2
-6
54
-19
46
-3
-11
9
0
1
0
0
0
0
0
0
0
1
-18
-9
-44
72
40
-18
-5
0
0
0
0
0
0
0
0
0
1
5
-5
-8
32
-6
18
0
0
0
0
0
0
0
0
0
0
0
-2
-1
45
-8
-19
-17
0
-2
0
0
0
0
0
0
0
0
0
-4
-8
-7
1
-8
2
-2
-1
0
0
0
0
0
0
0
0
0
-3
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
8
0
-36
11
-34
-2
0
0
0
0
0
0
0
0
0
0
-17
29
-14
-25
-86
84
18
1
0
0
0
0
0
0
0
0
2
-1
12
-3
51
-30
2
-2
0
0
0
0
0
0
0
0
0
0
6
33
17
-25
-1
5
1
0
0
0
0
0
0
0
0
0
0
2
32
5
-3
-24
14
-1
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-2
19
-1
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
-24
1
0
0
0
0
0
0
0
0
0
-12
5
16
17
-14
17
42
6
3
0
0
0
0
0
0
0
0
0
-15
0
-8
4
10
31
19
0
0
0
0
0
0
0
0
0
-5
0
-13
15
19
-1
1
0
4
-1
0
0
0
0
0
0
0
0
-1
4
0
4
-1
0
3
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
0
48
0
0
-24
-1
0
-1
0
0
0
0
0
0
0
-16
19
8
56
4
43
-16
-34
-2
0
0
0
0
0
0
0
0
0
-9
16
-6
15
-25
56
-14
2
1
0
0
0
0
0
0
0
0
0
1
-3
-2
6
-1
-2
-5
0
0
0
0
0
0
0
0
0
1
1
-7
6
0
1
-2
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
-1
0
6
0
0
0
0
0
0
0
0
0
2
-40
20
44
57
1
60
4
22
-2
0
0
0
0
0
0
0
4
-4
-23
5
0
18
24
4
-6
-1
0
0
0
0
0
0
0
0
13
-13
-1
-16
6
-25
2
0
9
0
0
0
0
0
0
0
0
-2
0
9
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
7
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
2
1
-29
-28
-23
-1
3
1
5
-4
0
0
0
0
0
0
0
0
-2
8
-10
6
9
29
15
18
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
-3
6
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
20
17
3
8
-2
-2
0
0
0
0
0
0
0
0
0
0
0
47
-22
8
-58
9
-7
0
0
0
0
0
0
0
0
0
0
-50
-29
-34
1
0
6
-2
0
0
0
0
0
0
0
0
0
0
-65
-16
18
5
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
-4
12
-4
13
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
3
17
12
-18
-13
19
10
0
0
0
0
0
0
0
0
0
49
-55
29
49
64
59
40
85
23
2
0
0
0
0
0
0
0
4
27
21
-83
-65
-11
-16
9
-8
0
0
0
0
0
0
0
0
10
-43
-19
157
20
69
-7
-25
-29
0
0
0
0
0
0
0
0
8
116
-67
-1
87
-19
-4
8
8
-8
0
0
0
0
0
0
0
3
-31
29
66
2
-15
0
-8
-5
0
0
0
0
0
0
0
0
0
-12
36
51
-17
-1
-3
8
0
0
0
0
0
0
0
0
0
0
8
0
-19
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
6
-64
7
-61
42
-13
0
0
0
0
0
0
0
0
0
-1
58
28
-5
127
51
18
-7
-4
0
0
0
0
0
0
0
0
-42
-48
-1
5
-8
8
45
-5
8
-1
0
0
0
0
0
0
0
3
-17
-3
47
1
15
21
-6
19
-4
0
0
0
0
0
0
0
0
20
27
93
7
-4
49
13
-1
0
0
0
0
0
0
0
0
0
-6
15
9
-4
-15
-5
0
-2
0
0
0
0
0
0
0
0
0
1
34
-5
7
0
0
2
0
0
0
0
0
0
0
0
0
0
2
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
-16
5
41
19
-30
-49
0
1
0
0
0
0
0
0
0
0
-2
8
24
-18
-14
-55
-40
-5
0
1
0
0
0
0
0
0
-9
13
15
90
43
-25
23
2
-8
0
0
0
0
0
0
0
0
16
-31
3
-67
-26
-11
8
-8
-6
4
0
0
0
0
0
0
0
0
-13
-32
24
18
46
10
0
-1
0
0
0
0
0
0
0
0
-7
-12
1
-7
-5
-1
2
-3
-2
0
0
0
0
0
0
0
0
0
7
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
58
27
0
-17
19
67
0
1
0
0
0
0
0
0
0
-7
8
20
-15
-2
40
71
15
-2
0
0
0
0
0
0
0
0
20
2
11
20
47
-47
-35
21
-41
-1
0
0
0
0
0
0
0
-5
7
23
31
-31
15
31
0
-1
-1
0
0
0
0
0
0
0
23
13
-8
9
1
-7
-23
0
0
0
0
0
0
0
0
0
0
0
-9
-17
14
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
71
-23
40
8
-15
60
0
0
0
0
0
0
0
0
0
3
69
-1
28
-23
-23
65
32
34
-2
0
0
0
0
0
0
0
0
23
-43
-5
23
16
24
-49
-7
0
0
0
0
0
0
0
0
9
13
-15
21
-56
-41
20
-4
0
-2
0
0
0
0
0
0
0
3
9
7
25
-3
16
1
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
-5
1
6
0
0
0
0
0
0
0
0
0
0
3
-22
17
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-13
-2
53
-6
-20
30
0
0
0
0
0
0
0
0
0
0
12
40
13
39
18
21
16
-6
-4
3
0
0
0
0
0
0
7
-5
32
12
42
-56
8
10
-1
-3
0
-1
0
0
0
0
0
-3
-9
20
-24
0
-11
-36
-4
-4
-1
2
0
0
0
0
0
0
-1
-14
33
-1
-8
-38
-13
0
1
0
1
-1
0
0
0
0
0
0
1
0
8
-10
20
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
30
-5
0
-22
0
-2
-2
0
0
0
0
0
0
-2
3
6
13
44
-8
33
-2
37
-2
0
0
0
0
0
0
0
5
-8
-36
6
-43
8
-5
-5
7
0
0
0
0
0
0
0
0
2
0
13
19
17
-1
2
0
0
-2
0
0
0
0
0
0
0
0
-9
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
6
0
5
-5
0
0
0
0
0
0
0
0
0
0
4
-3
-6
16
-7
-3
-4
1
-1
0
0
0
0
0
0
0
0
0
-5
-7
-31
16
0
8
0
3
0
0
0
0
0
0
0
-1
0
-1
-1
5
8
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
-82
-13
0
9
0
0
0
0
0
0
0
0
0
0
0
-51
26
88
12
-33
54
-35
-7
0
0
0
0
0
0
0
0
0
-2
-13
-10
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
-5
-2
20
-2
32
-7
2
0
0
0
0
0
0
0
0
0
0
10
22
-4
1
2
-1
8
0
0
0
0
0
0
0
0
0
0
5
-8
13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
93
-26
-57
1
62
26
43
0
0
0
0
0
0
0
0
0
1
37
-17
-41
-81
63
-8
-48
-44
0
0
0
0
0
0
0
0
-7
40
98
-51
-14
45
-53
13
21
0
0
0
0
0
0
0
0
-9
-10
-25
-95
41
48
-15
0
-2
0
0
0
0
0
0
0
0
-29
-52
-93
-67
-45
56
-1
-24
-1
2
0
0
0
0
0
0
0
22
-6
-66
4
27
-17
0
-8
0
0
0
0
0
0
0
0
0
-3
-66
-35
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
-44
36
63
-84
-24
0
0
0
0
0
0
0
0
0
8
84
-49
-16
25
67
5
0
-16
12
0
0
0
0
0
0
0
6
15
7
-25
52
-2
11
20
3
-1
0
0
0
0
0
0
0
9
-24
-28
-13
21
-15
-17
-8
7
-3
0
0
0
0
0
0
0
0
23
-61
-9
2
50
-2
0
-8
0
0
0
0
0
0
0
0
-10
-47
29
32
19
-3
-2
5
-3
1
0
0
0
0
0
0
0
0
23
43
-14
16
0
1
0
-3
0
0
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-10
64
20
28
13
0
0
0
0
0
0
0
0
0
4
-38
-28
19
-61
33
42
-4
0
0
0
0
0
0
0
0
0
0
29
-3
1
47
33
1
5
13
2
0
0
0
0
0
0
0
0
53
-20
0
41
9
-9
-5
1
0
0
0
0
0
0
0
0
0
32
-3
-26
-62
-1
0
0
18
-2
0
0
0
0
0
0
0
0
15
-8
-18
11
34
1
0
0
0
0
0
0
0
0
0
0
-4
7
-12
1
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-27
17
40
39
26
0
0
0
0
0
0
0
0
0
-3
-18
66
-2
-13
4
-12
11
6
0
0
0
0
0
0
0
0
0
27
29
-4
0
50
2
31
-1
0
0
0
0
0
0
0
0
1
10
0
2
4
-16
7
0
17
0
0
0
0
0
0
0
0
6
24
5
-28
-7
-10
0
2
1
0
0
0
0
0
0
0
0
0
2
25
0
1
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
20
-51
-44
51
19
0
0
0
0
0
0
0
0
0
0
13
40
69
-10
-19
-7
13
5
0
0
0
0
0
0
0
0
2
-1
-7
3
63
0
16
10
7
2
0
0
0
0
0
0
0
-1
-10
10
48
8
12
2
1
0
7
0
0
0
0
0
0
0
0
9
-8
-1
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
20
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
7
8
76
32
0
0
0
0
0
0
0
0
0
0
24
-19
58
58
-13
-15
22
4
-1
0
0
0
0
0
0
0
4
12
-14
2
-11
3
0
-2
-2
-2
0
0
0
0
0
0
0
0
-13
76
-14
-20
5
1
0
3
0
0
0
0
0
0
0
0
1
19
-6
28
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
12
0
30
8
5
56
0
-3
0
0
0
0
0
0
0
8
15
-1
-18
21
2
43
-41
3
3
-5
0
0
0
0
0
0
5
7
3
0
3
14
-3
1
7
5
0
0
0
0
0
0
0
0
0
7
-9
-9
-12
2
3
0
0
0
0
0
0
0
0
0
1
0
5
14
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
0
3
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
-36
-4
16
-23
13
1
0
2
0
0
0
0
0
0
0
0
-4
0
9
0
4
0
-3
0
-3
0
0
0
0
0
0
0
0
7
0
-41
8
2
4
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-9
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-6
12
25
36
1
0
0
0
0
0
0
0
0
0
0
20
-6
-25
22
1
-8
-7
8
0
0
0
0
0
0
0
0
0
-6
12
-10
-4
26
-10
-6
0
0
0
0
0
0
0
0
0
0
3
-58
9
25
-2
-12
-2
0
0
0
0
0
0
0
0
0
0
9
42
25
7
-9
5
-2
0
0
0
0
0
0
0
0
0
0
35
-30
-8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-63
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
-64
-9
-6
29
-44
92
0
0
0
0
0
0
0
0
0
4
46
45
-43
61
11
89
-42
-36
0
0
0
0
0
0
0
0
3
-50
76
-46
4
40
-30
-17
14
0
0
0
0
0
0
0
0
0
-4
27
-62
12
-53
-69
5
-8
0
0
0
0
0
0
0
0
5
-4
5
-41
-53
-61
39
-10
18
0
0
0
0
0
0
0
0
-7
-74
-1
-36
-15
-43
-5
0
4
0
0
0
0
0
0
0
0
0
68
3
11
-13
6
-1
0
0
0
0
0
0
0
0
0
0
0
40
-2
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
-3
-15
18
18
64
-92
0
3
0
0
0
0
0
0
0
2
14
76
-29
40
-41
11
58
4
-8
0
0
0
0
0
0
0
0
4
-36
-4
36
-5
-38
12
-45
4
0
0
0
0
0
0
0
-2
-16
1
6
-12
84
16
30
9
0
0
0
0
0
0
0
0
3
0
-19
-30
26
-11
49
19
4
0
0
0
0
0
0
0
0
-1
8
24
-32
20
5
0
-12
0
0
0
0
0
0
0
0
0
-3
-24
18
65
32
6
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-14
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
15
28
-36
19
-63
0
3
0
0
0
0
0
0
0
0
46
-51
-15
-45
-42
3
4
5
0
0
0
0
0
0
0
0
0
-2
22
56
-6
-44
78
-21
-6
-1
0
0
0
0
0
0
0
0
108
19
-3
22
67
-16
13
-6
4
0
0
0
0
0
0
0
0
46
9
41
-15
-5
-42
2
0
0
0
0
0
0
0
0
0
0
19
0
46
-16
42
2
0
0
0
0
0
0
0
0
0
0
0
-26
14
7
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
32
0
0
20
-1
-5
0
1
-1
0
0
0
0
0
0
0
8
1
16
-47
9
18
-48
5
0
0
0
0
0
0
0
0
-4
30
34
-23
-22
1
44
22
-6
0
0
0
0
0
0
0
0
0
-7
-8
10
0
-10
-14
-8
0
0
0
0
0
0
0
0
0
0
17
41
4
2
-10
9
8
4
0
0
0
0
0
0
0
0
0
-5
-2
-10
-12
33
1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-1
-2
27
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-26
12
-22
9
4
0
0
0
0
0
0
0
0
2
1
-4
-13
-8
11
18
6
0
0
0
0
0
0
0
0
0
6
0
0
-2
-4
0
8
1
19
0
0
0
0
0
0
0
0
0
-13
10
21
18
11
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
3
5
0
0
0
8
0
0
0
0
0
0
0
0
0
-9
-1
45
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-13
4
-8
16
-16
9
46
-2
-1
0
0
0
0
0
0
0
0
12
-7
13
-6
30
6
0
-1
0
0
0
0
0
0
0
0
0
4
-8
13
8
-17
0
0
-1
0
0
0
0
0
0
0
0
0
-14
-9
11
21
1
0
0
-1
0
0
0
0
0
0
0
0
0
8
-18
14
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
29
-3
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
-5
12
4
55
-1
3
0
0
0
0
0
0
0
0
0
-20
-7
13
25
-23
13
12
-2
3
0
0
0
0
0
0
0
0
-4
9
6
3
-7
-6
0
0
0
0
0
0
0
0
0
0
0
14
24
25
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-6
0
-9
-1
-2
0
0
0
0
0
0
0
0
0
0
5
-6
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
23
8
-27
-2
-1
-3
0
0
0
0
0
0
0
0
0
12
16
16
58
8
-33
-40
0
-2
0
0
0
0
0
0
0
0
103
15
30
-59
-14
-30
-12
0
0
0
0
0
0
0
0
0
0
-5
42
42
-18
3
1
-3
-7
0
0
0
0
0
0
0
0
0
-6
51
4
20
-4
-8
0
2
0
0
0
0
0
0
0
0
0
-14
-1
58
26
12
0
0
0
0
0
0
0
0
0
0
0
0
16
15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-7
-23
-32
80
13
45
0
0
0
0
0
0
0
0
0
-10
29
-22
-93
-29
71
8
-19
-11
6
0
0
0
0
0
0
0
6
-62
-84
-5
59
1
-27
47
6
-3
0
0
0
0
0
0
0
-8
59
84
69
62
-31
62
107
-1
0
0
0
0
0
0
0
0
4
6
66
26
36
7
-48
-10
1
2
0
0
0
0
0
0
0
0
55
23
-52
-24
-14
41
1
-4
0
0
0
0
0
0
0
0
14
6
-51
2
36
5
36
1
0
0
0
0
0
0
0
0
0
4
33
-14
-9
0
-20
0
16
0
0
0
0
0
0
0
0
0
40
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-7
-15
41
-62
-41
0
0
0
0
0
0
0
0
0
0
-40
75
84
49
-55
-20
-13
18
0
0
0
0
0
0
0
0
0
-17
15
-20
-59
52
30
64
-6
1
0
0
0
0
0
0
0
66
9
32
-25
20
95
-41
-15
5
0
0
0
0
0
0
0
0
9
0
0
-21
38
40
27
-7
3
0
0
0
0
0
0
0
0
-7
50
81
-31
32
45
10
-3
0
5
0
0
0
0
0
0
0
0
33
91
63
-18
19
29
0
1
0
0
0
0
0
0
0
0
2
40
25
16
-3
0
0
-9
0
0
0
0
0
0
0
0
0
6
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
-2
-7
-2
-61
1
0
0
0
0
0
0
0
0
0
0
62
32
-4
-55
-7
3
-58
-8
-4
0
0
0
0
0
0
0
-2
4
11
-2
-10
20
-43
-24
62
-2
0
0
0
0
0
0
0
6
25
7
26
16
-27
-7
-7
0
0
0
0
0
0
0
0
0
0
-5
-8
0
-48
-15
-13
-3
-2
0
0
0
0
0
0
0
0
0
-16
-32
12
17
59
2
-7
0
0
0
0
0
0
0
0
0
-4
25
33
-13
94
0
1
5
0
0
0
0
0
0
0
0
0
0
-7
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
3
57
-33
-19
0
-1
0
0
0
0
0
0
0
0
3
5
12
-20
-52
41
0
-24
0
3
0
0
0
0
0
0
4
3
-34
-45
-10
14
-1
-61
2
-6
0
0
0
0
0
0
0
0
-1
-6
7
16
6
9
-8
0
0
0
0
0
0
0
0
0
0
1
30
15
0
54
-6
-2
0
3
0
0
0
0
0
0
0
0
7
-7
8
0
17
-2
1
5
-1
0
0
0
0
0
0
0
0
12
8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
50
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
-6
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-5
-7
18
-3
-8
0
0
0
0
0
0
0
0
-2
2
-20
10
-47
-24
19
-7
3
0
0
0
0
0
0
0
0
0
41
2
0
15
1
12
-6
19
0
0
0
0
0
0
0
0
0
15
-2
0
31
0
8
0
0
0
0
0
0
0
0
0
0
0
-7
25
-38
-6
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-12
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
4
24
0
9
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
5
5
-12
7
0
-5
0
0
0
0
0
0
0
9
8
0
1
8
30
-14
-9
-1
0
0
0
0
0
0
0
0
0
5
0
-6
4
-18
-3
0
0
0
0
0
0
0
0
0
0
0
-2
33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-9
-12
0
-1
0
0
0
0
0
0
0
0
0
0
2
-16
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
1
8
0
6
0
0
0
0
0
0
0
0
0
3
0
-6
-10
13
8
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
-32
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
17
1
0
-2
0
0
0
0
0
0
0
0
4
1
-8
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-2
0
-3
15
0
0
0
0
0
0
0
0
0
0
4
0
2
16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
17
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
6
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
-8
5
2
5
1
0
0
0
0
0
0
0
0
0
-9
32
-10
27
-5
68
-32
6
0
0
0
0
0
0
0
0
0
44
6
-29
44
-23
22
-7
3
0
0
0
0
0
0
0
0
0
-34
1
-7
15
5
50
14
0
0
0
0
0
0
0
0
0
0
6
1
1
-4
5
0
-1
8
0
0
0
0
0
0
0
0
0
0
-17
30
2
-10
-1
-2
-1
0
0
0
0
0
0
0
0
0
-56
8
55
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
58
-5
22
2
-45
-4
-22
0
0
0
0
0
0
0
0
0
7
-5
-9
-123
10
24
-24
-2
5
0
0
0
0
0
0
0
0
2
99
-83
-14
35
-47
21
-18
-16
0
0
0
0
0
0
0
0
-4
-47
53
67
12
-22
21
2
8
-2
0
0
0
0
0
0
0
-1
-40
41
3
-42
48
-41
-40
-6
0
0
0
0
0
0
0
0
6
0
0
-8
46
-30
16
7
-4
0
0
0
0
0
0
0
0
0
-75
-5
-7
-9
40
-6
0
-1
0
0
0
0
0
0
0
0
12
19
-17
15
2
4
0
0
0
0
0
0
0
0
0
0
0
-4
-11
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-25
2
-50
-2
5
69
0
-1
0
0
0
0
0
0
0
1
-73
61
-28
20
4
11
33
-12
0
0
0
0
0
0
0
0
-10
-45
0
44
-17
-59
17
19
27
0
0
0
0
0
0
0
0
0
44
-46
-9
4
-26
11
-15
12
0
0
0
0
0
0
0
0
-3
-32
47
3
22
-46
78
-5
-3
-3
0
0
0
0
0
0
0
-1
68
0
-10
23
10
69
1
0
2
0
0
0
0
0
0
0
-42
7
-37
-29
-19
9
-6
-3
0
0
0
0
0
0
0
0
0
0
-71
4
45
48
-2
0
0
0
0
0
0
0
0
0
0
0
5
10
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
44
-12
-29
1
0
-8
0
0
0
0
0
0
0
0
33
23
7
-12
-32
-26
23
-5
0
-1
0
0
0
0
0
0
8
9
-20
0
-25
14
-6
47
0
0
0
0
0
0
0
0
0
-4
0
-25
-47
8
-31
19
25
18
0
0
0
0
0
0
0
0
0
3
-3
2
47
-47
-25
5
2
0
0
0
0
0
0
0
0
0
1
4
0
37
-3
-3
0
0
-8
0
0
0
0
0
0
0
-8
58
-10
33
2
-2
-1
-3
0
0
0
0
0
0
0
0
0
0
-7
-9
-27
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
2
0
-4
-3
0
0
0
0
0
0
0
0
0
0
4
86
-5
-12
38
35
2
30
0
-1
0
0
0
0
0
0
-15
0
0
-10
72
15
46
-9
-2
0
0
0
0
0
0
0
0
-1
7
1
-1
8
17
-16
8
1
0
0
0
0
0
0
0
0
-3
31
-17
-13
10
-4
-3
-1
-2
0
0
0
0
0
0
0
0
0
-3
16
49
0
-4
-4
0
2
0
0
0
0
0
0
0
0
0
49
45
-9
17
1
0
0
0
0
0
0
0
0
0
0
0
-13
14
-1
5
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-4
-1
0
3
0
0
0
0
0
0
0
0
7
0
0
0
7
-56
-3
0
0
0
0
0
0
0
0
0
6
-1
0
5
8
-32
74
11
-9
0
0
0
0
0
0
0
0
0
1
10
-8
-13
1
28
3
-8
0
0
0
0
0
0
0
0
0
0
0
-12
30
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-5
22
-34
0
0
2
0
0
0
0
0
0
0
0
0
0
48
24
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
-6
0
2
0
0
0
0
0
0
0
0
2
-1
1
-4
-5
-5
-10
1
0
0
0
0
0
0
0
0
5
-5
0
16
2
0
0
10
14
0
0
0
0
0
0
0
0
0
2
15
2
10
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
12
-8
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
-12
3
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
7
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
-3
25
-2
1
0
0
0
0
0
0
0
0
3
0
0
5
0
5
16
2
1
-1
0
0
0
0
0
0
0
1
0
0
14
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
-6
3
14
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
3
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
14
0
0
4
0
0
0
0
0
0
0
0
-7
-2
6
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-6
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
5
-8
4
45
19
5
0
0
0
0
0
0
0
0
0
40
30
13
8
5
-10
-38
7
3
0
0
0
0
0
0
0
0
-8
25
6
4
-23
29
-8
0
0
0
0
0
0
0
0
0
0
32
-2
14
13
-16
6
0
0
0
0
0
0
0
0
0
0
0
1
-23
53
0
-31
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-10
-48
0
-1
0
0
0
0
0
0
0
0
0
0
0
-31
19
-8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
21
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-26
-8
48
19
-58
41
0
0
0
0
0
0
0
0
0
-7
-45
21
24
-45
42
39
32
-19
-4
0
0
0
0
0
0
0
-1
89
-70
-9
32
-55
7
8
-4
8
0
0
0
0
0
0
0
0
-79
-90
-6
17
-43
40
-52
4
0
0
0
0
0
0
0
0
6
-31
27
7
58
-96
26
10
10
1
0
0
0
0
0
0
0
0
58
-12
-77
-2
31
19
-24
7
0
0
0
0
0
0
0
0
-29
0
12
-23
-5
-29
22
0
-1
0
0
0
0
0
0
0
0
-3
-76
54
15
36
16
-1
0
0
0
0
0
0
0
0
0
0
49
29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
2
-5
44
-19
-15
46
0
2
0
0
0
0
0
0
0
0
-34
-49
-10
23
-2
-22
-36
6
-5
0
0
0
0
0
0
0
0
-23
-132
-39
1
9
-31
6
49
3
0
0
0
0
0
0
0
0
19
-65
-19
8
-22
55
42
-24
0
0
0
0
0
0
0
0
0
9
22
-31
3
-9
6
-1
12
8
0
0
0
0
0
0
0
0
12
-29
-17
-23
-45
43
-2
2
0
0
0
0
0
0
0
0
-3
-71
0
-11
-32
6
-5
-1
0
0
0
0
0
0
0
0
0
1
-13
40
34
43
-2
1
5
0
0
0
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
-8
32
-24
5
0
-1
0
0
0
0
0
0
0
1
14
-10
20
-10
15
-24
-25
-20
1
0
0
0
0
0
0
0
0
8
11
0
-13
-32
16
-31
4
2
0
0
0
0
0
0
0
0
-29
-9
51
-13
-27
-84
28
0
0
0
0
0
0
0
0
0
0
-5
11
-14
15
-32
40
50
0
0
0
0
0
0
0
0
0
0
-19
5
28
42
21
-18
5
20
0
0
0
0
0
0
0
0
0
9
4
0
1
-2
0
-3
-3
0
0
0
0
0
0
0
0
2
0
4
46
-1
-6
0
-3
-5
0
0
0
0
0
0
0
0
2
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
7
0
10
3
-17
-12
0
-2
1
0
0
0
0
0
0
0
0
-7
-6
0
-3
-4
-16
53
0
4
0
0
0
0
0
0
0
0
3
10
-6
0
25
24
-1
-4
0
0
0
0
0
0
0
0
0
1
22
5
9
-19
22
-4
0
0
0
0
0
0
0
0
0
0
1
-4
-5
-7
-23
14
1
1
0
0
0
0
0
0
0
0
0
13
-2
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
-25
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-2
0
0
0
0
0
0
0
0
0
0
-1
4
4
-8
-4
-42
4
4
0
0
0
0
0
0
0
0
0
0
0
3
0
18
10
-4
5
0
0
0
0
0
0
0
0
0
9
-1
10
-4
5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
10
31
1
0
0
0
0
0
0
0
0
0
0
0
1
12
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-3
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
16
6
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-7
-3
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
5
12
10
5
0
0
0
0
0
0
0
0
0
-7
2
0
-1
-8
17
-16
1
-7
0
0
0
0
0
0
0
0
6
6
3
7
12
76
-4
3
0
0
0
0
0
0
0
0
0
30
7
-11
20
42
-1
-3
0
8
0
0
0
0
0
0
0
0
-24
-30
-47
8
-5
8
8
0
0
0
0
0
0
0
0
0
0
0
-23
-25
-70
7
0
2
0
0
0
0
0
0
0
0
0
0
0
12
-3
8
0
2
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-14
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-1
20
25
-31
15
43
4
0
0
0
0
0
0
0
0
0
0
-2
-7
-11
-6
50
-2
19
-3
16
0
0
0
0
0
0
0
-5
-33
45
8
25
-34
1
-51
6
0
0
0
0
0
0
0
0
-2
29
-13
93
-6
-49
50
6
20
0
0
0
0
0
0
0
0
-1
12
-42
2
21
38
-67
6
-1
-1
0
0
0
0
0
0
0
0
-14
-5
-34
-84
90
13
-4
-2
-4
0
0
0
0
0
0
0
3
27
48
-76
65
-24
-48
0
0
0
0
0
0
0
0
0
0
-1
0
2
12
-16
13
-1
10
0
0
0
0
0
0
0
0
0
-1
-9
-7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
3
0
-6
7
0
0
0
0
0
0
0
0
0
0
-20
2
27
40
2
2
-15
-2
0
0
0
0
0
0
0
0
0
16
49
25
9
3
49
4
4
1
0
0
0
0
0
0
0
0
12
49
-49
-100
-46
5
-3
-1
0
0
0
0
0
0
0
0
-2
5
-54
19
32
16
60
-17
0
3
0
0
0
0
0
0
0
0
-30
2
48
-11
10
65
-2
-7
0
0
0
0
0
0
0
0
0
12
3
42
31
39
3
-1
-5
0
0
0
0
0
0
0
0
1
31
0
-13
7
10
0
-2
0
0
0
0
0
0
0
0
0
29
0
9
-14
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
8
-5
3
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-18
7
-8
-3
-5
0
0
0
0
0
0
0
0
29
-1
-5
53
7
-24
-2
3
0
0
0
0
0
0
0
0
0
1
25
1
-6
29
-1
0
8
0
0
0
0
0
0
0
0
0
4
1
-1
23
0
-30
-7
0
0
0
0
0
0
0
0
0
0
-17
-2
44
-1
8
13
1
0
0
0
0
0
0
0
0
0
0
-41
-5
0
13
12
4
0
0
0
0
0
0
0
0
0
0
0
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
42
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
-3
0
24
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-7
10
-4
12
0
0
0
0
0
0
0
0
72
3
-3
5
-2
-1
7
-2
0
0
0
0
0
0
0
0
0
45
32
3
11
-4
9
-12
0
0
0
0
0
0
0
0
0
0
-1
16
98
-16
-4
-7
0
0
0
0
0
0
0
0
0
0
0
7
-10
29
-17
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
11
-5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
-1
-8
-1
1
0
11
-5
0
-1
0
0
0
0
0
0
0
0
12
-2
11
10
5
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
54
-25
-16
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
20
-50
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
34
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
-4
-1
8
0
0
0
0
0
0
0
0
0
0
1
9
6
5
-1
4
1
0
-1
0
0
0
0
0
0
0
0
0
3
7
0
-16
1
-4
-5
8
6
0
0
0
0
0
0
0
0
0
-1
16
-5
-1
1
2
5
0
0
0
0
0
0
0
0
0
1
-3
-5
-1
5
-1
-1
-4
-1
0
0
0
0
0
0
0
0
-9
5
13
-1
20
3
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-7
39
6
9
0
0
1
0
0
0
0
0
0
0
0
0
2
2
17
5
-4
-10
12
-4
16
3
0
0
0
0
0
0
0
-3
8
-20
4
25
17
8
2
-8
-3
0
0
0
0
0
0
0
0
12
-9
13
-7
-2
-2
-3
-7
0
0
0
0
0
0
0
0
20
0
-18
16
12
7
3
0
0
0
0
0
0
0
0
0
0
3
-5
5
20
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-10
-9
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
8
5
-1
0
-5
-7
4
0
0
0
0
0
0
0
0
-2
-2
4
-2
-1
0
22
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-1
-2
0
0
2
0
0
0
0
0
0
0
-2
-1
-3
-4
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-12
-4
-1
9
1
-1
1
2
0
0
0
0
0
0
0
0
-1
0
-1
16
2
-4
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
-3
-3
-2
0
-2
-1
0
0
0
0
0
0
0
-9
0
-3
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
0
0
1
0
0
0
0
0
0
0
-1
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
0
-2
1
-17
0
0
0
0
0
0
0
0
0
2
-2
10
-1
10
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-3
0
0
-31
0
0
0
0
0
0
0
0
0
5
5
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
9
-3
2
-1
0
0
0
0
0
0
0
0
0
6
-5
-2
6
1
6
-3
0
-2
0
0
0
0
0
0
0
0
1
4
-30
-8
10
0
-6
1
-1
27
0
0
0
0
0
0
0
0
8
-8
12
13
7
-6
-1
-23
-8
0
0
0
0
0
0
0
-2
-3
-2
-7
10
-9
-9
0
8
-1
0
0
0
0
0
0
0
0
0
-5
15
0
2
1
2
0
1
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-30
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
2
0
15
-13
-1
0
1
0
0
0
0
0
0
0
0
0
8
17
-1
2
2
15
15
-12
-23
-6
0
0
0
0
0
0
0
0
0
-12
1
12
-7
-6
-6
4
-5
0
0
0
0
0
0
0
3
10
-7
-8
-6
28
-2
-3
8
0
0
0
0
0
0
0
0
-14
12
0
-10
-4
-16
-8
1
13
0
0
0
0
0
0
0
0
3
4
2
25
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
4
-3
0
0
0
-4
0
0
0
0
0
0
0
1
-5
4
16
-1
-1
0
0
0
-6
0
0
0
0
0
0
0
3
27
-5
-2
3
0
15
-2
-5
8
-1
0
0
0
0
0
0
0
7
0
7
4
1
-3
-4
1
8
0
0
0
0
0
0
0
-1
-9
-8
0
3
-9
7
0
-1
2
0
0
0
0
0
0
0
-1
-2
-4
2
8
8
5
0
0
0
0
0
0
0
0
0
0
0
3
-8
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
4
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
-2
0
-2
8
18
0
1
0
-6
0
0
0
0
0
0
0
-1
-3
2
1
-1
-1
-2
-25
-6
0
0
0
0
0
0
0
0
-2
1
13
-6
-7
18
-4
10
3
0
0
0
0
0
0
0
0
-5
-1
-1
5
-2
2
0
0
-1
2
0
0
0
0
0
0
0
3
-1
3
-3
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
-2
8
0
-14
0
5
0
0
0
0
0
0
0
0
0
0
-7
-8
-2
-8
1
15
0
0
0
0
0
0
0
0
0
-2
3
0
5
5
-2
0
5
-3
0
1
0
0
0
0
0
1
1
-1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-9
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-1
-4
2
-2
0
2
0
-3
1
0
0
0
0
0
0
0
1
5
3
-12
2
5
-3
3
-7
1
0
0
0
0
0
0
0
2
8
-3
-8
-3
0
1
8
1
0
0
0
0
0
0
0
3
-7
-1
0
-6
-2
-1
0
1
0
0
0
0
0
0
0
0
-1
2
2
1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-10
0
0
1
0
-3
-5
0
0
0
0
0
0
0
0
0
-1
-1
-4
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-1
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
-1
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
1
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
0
-1
0
-1
0
0
0
0
0
0
0
0
1
0
-1
-6
-6
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
0
-2
4
0
0
0
0
0
0
0
0
0
1
1
4
-8
-2
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
2
-15
5
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
2
13
6
-5
10
0
-2
0
0
0
0
0
0
0
0
0
7
3
8
-6
4
-1
-8
0
12
0
0
0
0
0
0
0
-14
0
8
8
-22
-7
8
10
14
-17
0
0
0
0
0
0
0
-7
-20
-8
-6
12
-5
2
0
12
-1
0
0
0
0
0
0
0
0
4
7
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
5
-10
-2
1
0
1
3
0
0
0
0
0
0
0
0
0
8
2
-3
-17
0
0
0
0
0
0
0
0
0
0
0
5
-7
4
25
8
8
-3
-1
1
-1
0
0
0
0
0
0
0
0
8
-3
12
13
-7
-9
0
16
0
0
0
0
0
0
0
0
-8
0
-8
2
13
-8
2
0
4
0
0
0
0
0
0
0
0
0
-3
-2
2
3
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-15
2
-1
0
0
1
-6
0
0
0
0
0
0
-3
0
2
8
12
0
-7
0
0
0
2
-2
0
0
0
0
0
0
2
3
0
6
-1
9
-9
-13
14
0
-1
0
0
0
0
0
0
-6
-1
-6
0
-17
-12
8
8
-10
-6
0
0
0
0
0
0
0
0
2
2
0
2
-2
2
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
5
1
0
0
1
-2
0
0
0
0
0
0
0
-1
0
0
-6
0
6
0
0
0
-4
0
0
0
0
0
0
0
-2
0
-2
0
3
-3
4
-7
-5
0
2
0
0
0
0
0
0
-1
2
-1
2
5
24
0
1
-4
0
1
0
0
0
0
0
0
0
-5
0
-3
-8
1
-7
-1
0
0
0
0
0
0
0
0
0
0
2
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
2
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
7
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
2
-1
-1
12
0
0
0
0
0
0
0
0
1
0
-2
0
-19
8
0
1
0
2
1
0
0
0
0
0
0
0
7
0
5
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
1
0
-1
-2
0
0
0
0
0
0
0
0
6
0
-8
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
1
0
-2
0
2
-1
4
-4
0
0
0
0
0
0
0
0
-1
-2
2
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
6
2
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-2
-4
8
0
0
0
2
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
-1
0
-7
0
0
0
0
0
0
0
0
0
1
-4
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
15
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
-1
0
1
-2
1
0
0
0
0
0
0
0
0
-3
0
0
-4
0
-2
4
-3
0
0
0
0
0
0
0
0
-2
0
0
-3
1
0
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-2
0
4
0
-2
0
0
0
0
0
0
0
0
0
-1
8
-5
-3
-14
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
1
8
-2
1
0
1
2
0
0
0
0
0
0
0
2
2
-9
5
-29
-8
-5
1
0
2
0
0
0
0
0
0
0
-2
-1
-4
0
-1
9
2
-3
-2
0
0
0
0
0
0
0
0
1
1
2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
6
-4
-5
2
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
-6
-2
1
-6
-5
0
9
0
0
0
0
0
0
0
0
0
0
6
-1
-6
6
-2
-10
-3
0
0
0
0
0
0
0
0
2
-1
0
7
-6
-7
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
17
0
7
1
0
0
4
0
0
0
0
0
0
0
3
4
10
7
-4
-13
0
0
0
-1
0
0
0
0
0
0
0
1
4
-2
2
-12
-4
0
-12
-8
-1
0
0
0
0
0
0
0
6
0
0
-6
-5
7
-2
7
8
0
0
0
0
0
0
0
0
0
1
-1
-8
25
3
3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
2
4
-2
-3
0
10
0
-8
0
0
0
0
0
0
0
0
0
2
-5
8
5
-8
1
2
0
0
0
0
0
0
0
4
3
2
0
8
1
-3
5
2
1
0
0
0
0
0
0
0
0
1
-1
0
5
9
1
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-7
-1
-6
-14
0
-5
0
0
0
0
0
0
0
-1
0
0
-2
0
2
-3
2
1
4
2
0
0
0
0
0
0
0
0
-1
-2
-1
-3
1
-6
5
-2
0
0
0
0
0
0
0
0
1
-4
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
1
-5
-3
-2
2
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
1
-2
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-5
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
1
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-2
2
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
0
0
4
-1
0
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
17
10
-2
-4
0
6
0
0
0
0
0
0
0
0
1
-1
-5
4
12
4
0
0
-24
0
-2
0
0
0
0
0
0
0
-3
-2
7
4
-4
0
2
0
1
0
0
0
0
0
0
0
-2
1
0
-1
-10
-14
2
0
-2
0
0
0
0
0
0
0
0
0
-1
0
2
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
-5
5
-13
-2
-8
13
0
2
0
0
0
0
0
0
0
0
0
0
18
-7
0
-12
4
-1
-2
14
0
0
0
0
0
0
0
0
1
0
-1
2
-5
-10
-7
-1
0
-2
0
0
0
0
0
0
0
0
1
3
6
-14
-7
0
0
-14
0
0
0
0
0
0
0
0
1
0
0
0
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
7
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-5
-9
-9
5
-2
13
3
0
0
0
0
0
0
0
1
2
1
-3
0
2
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
4
8
4
0
4
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-6
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
12
0
0
1
0
0
0
0
0
0
0
0
0
-1
-19
-2
8
-2
-4
5
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
17
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-8
-1
0
2
0
0
0
0
0
0
0
0
-1
2
-12
4
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-3
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
4
0
0
0
1
1
0
0
0
0
0
0
0
-2
2
5
3
-1
-8
0
-1
0
-2
0
0
0
0
0
0
0
0
0
-8
-1
1
-6
1
-1
-2
0
0
0
0
0
0
2
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
12
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-17
4
6
0
4
-4
0
-1
0
0
0
0
0
0
0
0
0
-10
-17
8
-1
0
-1
3
0
0
0
0
0
0
0
0
0
1
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
-8
0
6
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
-1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
3
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
-6
-7
0
-5
0
0
0
0
0
0
0
0
1
0
8
0
1
-10
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
1
8
7
3
-8
2
3
0
0
0
0
0
0
0
0
0
0
7
0
-1
2
-13
9
-2
2
-2
-10
0
0
0
0
0
0
0
0
0
-2
1
4
0
1
1
-2
2
0
0
0
0
0
0
0
0
0
-5
-3
-3
6
-3
1
0
-1
0
0
0
0
0
0
0
2
0
0
-33
-5
2
-20
6
-1
0
0
0
0
0
0
0
0
1
0
-3
-1
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
0
2
-2
0
-2
0
0
0
0
0
0
0
0
-2
-2
19
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-4
1
8
3
6
-2
3
-17
0
0
0
0
0
0
0
0
1
0
-7
-2
-14
10
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-1
-8
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
0
-1
0
0
0
0
0
0
0
0
2
0
-1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
-8
-4
0
1
0
0
0
0
0
0
0
0
0
8
-1
-5
3
1
2
1
1
0
0
0
0
0
0
0
0
-2
-2
0
0
-5
-17
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
5
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
16
0
-1
4
0
0
0
0
0
0
0
0
0
0
-5
-10
2
-1
0
0
1
-1
0
0
0
0
0
0
0
-1
0
8
-4
0
-7
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
-3
5
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
7
3
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
-1
0
0
0
0
0
0
0
0
-1
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
3
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-10
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
20
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
13
5
23
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-14
0
8
-31
-2
0
0
0
0
0
0
0
5
-8
0
-4
17
-16
-1
0
0
0
0
0
0
0
0
0
0
-7
2
0
-17
13
-17
0
0
-1
0
0
0
0
0
0
0
-2
1
-8
1
-25
17
14
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
2
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
-1
1
0
-8
1
0
0
0
0
0
0
0
0
0
0
5
1
1
0
0
2
0
0
0
0
0
0
0
0
0
-1
4
-15
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
-3
0
-2
0
0
0
0
0
0
0
0
1
-1
0
-8
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
6
1
3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-2
13
1
1
-3
0
0
0
0
0
0
0
0
-2
0
-4
-2
0
-2
0
0
-7
-1
0
0
0
0
0
0
0
0
-1
3
-2
0
-6
0
6
8
0
0
0
0
0
0
0
0
-2
0
1
2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
1
0
1
-5
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-1
-2
0
8
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-7
-8
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
6
0
-13
0
1
4
0
0
0
0
0
0
0
0
8
0
1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
3
9
-1
0
-1
0
0
0
0
0
0
0
0
-2
0
15
-5
4
4
0
0
-8
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-3
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
2
1
0
0
0
0
0
0
0
0
0
0
-2
0
-1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
1
0
0
0
0
0
0
0
0
0
-8
0
1
-7
6
-1
-8
8
-1
-1
0
0
0
0
0
0
0
0
0
-13
-8
32
-17
17
4
-5
0
0
0
0
0
0
0
0
0
0
-2
-8
19
0
5
0
0
-2
0
0
0
0
0
0
0
0
-3
8
0
-4
-8
14
-2
0
0
0
0
0
0
0
0
0
0
1
4
-3
-5
-8
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-6
2
0
-20
0
0
0
0
0
0
0
0
7
0
0
-27
8
30
8
0
-12
0
0
0
0
0
0
0
0
-20
0
-10
-1
22
10
-17
17
-8
0
0
0
0
0
0
0
0
20
0
10
0
-19
-7
5
-1
1
-1
0
0
0
0
0
0
0
27
0
12
-44
8
-25
-2
-2
0
0
0
0
0
0
0
0
0
-6
-1
-3
0
20
-3
-7
0
1
0
0
0
0
0
0
0
0
0
-1
0
12
-3
9
2
-3
-1
0
0
0
0
0
0
0
0
0
5
0
1
4
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
-10
1
0
0
0
0
0
0
0
1
9
0
0
-8
-7
10
-4
6
0
0
0
0
0
0
0
0
-24
5
1
-6
2
5
-5
3
-6
1
0
0
0
0
0
0
1
0
12
0
-6
14
0
0
1
0
7
0
0
0
0
0
0
4
-2
-4
0
23
1
-16
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
-2
-5
0
1
0
0
0
0
0
0
0
0
-1
1
2
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-7
0
-4
0
0
0
0
0
0
0
0
4
0
2
-2
-1
2
-19
-3
0
2
2
0
0
0
0
0
-4
3
0
7
-1
-4
-4
-7
-13
1
0
1
0
0
0
0
0
0
1
0
10
3
17
-1
2
-2
4
0
0
0
0
0
0
0
0
-8
7
4
1
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
8
-2
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
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
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-1
0
0
0
0
0
0
0
0
-6
0
0
2
-3
0
1
-3
1
0
0
0
0
0
0
0
0
-2
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
9
2
0
0
0
0
0
0
0
0
5
0
0
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
1
0
1
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
-3
0
0
0
0
0
0
0
0
0
0
3
2
8
4
-2
-12
12
-2
0
0
0
0
0
0
0
0
-2
0
1
3
0
6
6
0
1
0
0
0
0
0
0
0
0
-2
8
0
-14
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
16
-19
0
5
4
0
3
0
0
0
0
0
0
0
-6
0
-27
-6
41
-15
0
3
-22
-1
0
0
0
0
0
0
0
22
3
8
-2
-14
-16
-24
-5
-40
2
0
0
0
0
0
0
0
16
0
0
-19
9
-6
13
14
8
0
0
0
0
0
0
0
0
-2
2
1
1
-12
-9
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
5
-1
-8
0
7
1
0
0
0
0
0
0
0
0
1
0
7
0
19
-3
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
17
0
-3
24
-2
12
13
0
-2
0
0
0
0
0
0
0
0
31
0
8
-6
-9
-10
40
8
14
0
0
0
0
0
0
0
-4
-12
-1
4
-21
8
21
5
8
-8
0
0
0
0
0
0
0
0
-30
0
0
1
-9
19
-7
7
-13
0
0
0
0
0
0
0
0
10
0
-4
-49
13
27
-2
-8
0
0
0
0
0
0
0
0
2
7
1
7
3
29
21
8
13
3
0
0
0
0
0
0
0
0
3
0
3
8
4
10
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
5
-1
3
9
0
-10
-12
0
0
0
0
0
0
0
0
-3
0
19
8
19
-27
-18
6
7
0
0
0
0
0
0
-2
8
1
4
9
-23
0
2
17
0
-2
0
0
0
0
0
0
-6
10
4
0
-4
-27
7
3
-1
-1
0
0
0
0
0
0
0
-1
-3
-9
-7
-12
-22
3
6
0
-1
1
0
0
0
0
0
0
0
0
-8
0
-8
-3
-3
2
-8
-1
-1
0
0
0
0
0
0
0
0
-1
0
-1
-1
-3
2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
5
-22
4
0
-1
-2
0
0
0
0
0
0
9
-5
0
-9
0
22
-15
-1
-3
-7
-8
0
0
0
0
0
0
0
0
-4
3
2
-3
0
-3
23
-6
-4
0
0
0
0
0
0
0
-8
5
25
1
4
-8
22
2
-8
-4
0
0
0
0
0
0
0
-2
-5
-12
5
7
30
17
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
-12
-1
-2
4
3
1
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
7
1
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-1
0
-2
0
0
1
-5
0
2
1
0
0
0
0
0
0
-2
-1
0
-1
1
-1
20
-13
-19
-2
1
2
0
0
0
0
0
0
0
-5
-1
0
9
10
-4
-3
3
0
0
0
0
0
0
0
-3
0
2
1
8
-3
1
-4
2
7
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
9
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
5
2
0
0
0
0
0
0
0
-5
0
-1
-1
1
3
14
-6
0
-3
0
0
0
0
0
0
0
-1
3
0
1
6
-13
-1
4
4
-1
0
0
0
0
0
0
0
-2
0
1
0
-7
-2
2
7
0
1
0
0
0
0
0
0
0
1
3
0
0
3
-3
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-8
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
-2
1
0
0
0
0
0
0
-1
0
-4
-1
0
0
-3
-2
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-4
1
0
1
0
0
0
0
0
0
-2
0
0
0
-1
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
-8
0
-1
0
0
0
0
0
0
0
0
3
-4
-2
-1
8
-1
-7
-3
0
0
0
0
0
0
0
0
0
1
-1
-1
-3
-5
6
8
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
1
-8
3
4
-4
3
-2
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
24
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-8
-20
-7
-2
2
-30
0
0
0
0
0
0
0
0
0
14
0
-2
-41
-9
-5
25
9
3
-4
0
0
0
0
0
0
0
13
3
8
-6
-9
-8
2
12
-7
9
0
0
0
0
0
0
0
1
0
7
-8
-10
18
-24
6
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
7
9
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
8
-7
6
2
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
3
-1
0
-19
0
8
0
0
0
0
0
0
0
1
-5
1
-24
13
9
-8
6
-3
0
0
0
0
0
0
0
0
1
12
0
-2
-14
-4
23
3
3
-12
0
0
0
0
0
0
0
0
2
0
-19
15
-22
-19
0
0
-3
0
0
0
0
0
0
0
0
9
0
-3
-16
-48
-2
4
0
0
0
0
0
0
0
0
0
0
5
2
0
-1
3
-16
-3
-6
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
8
-1
8
0
0
7
0
0
0
0
0
0
0
2
-4
12
-1
3
-9
-6
10
3
3
3
0
0
0
0
0
0
-1
1
3
2
-2
3
6
-1
-4
-2
2
0
0
0
0
0
0
-7
0
-1
2
0
5
12
-7
0
-6
5
0
0
0
0
0
0
1
-1
7
0
3
10
3
0
2
1
-4
0
0
0
0
0
0
0
0
0
0
-2
-9
-3
-2
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
4
3
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
-13
-19
0
0
4
-2
0
0
0
0
0
0
-1
-6
0
-1
0
2
-14
0
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
13
6
-3
0
-1
1
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-2
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
3
2
0
-5
-4
0
5
1
-1
0
0
0
0
-1
0
-1
0
-5
-1
8
24
13
0
-1
-1
0
0
0
0
0
0
0
-1
0
3
-3
-13
13
0
-5
0
0
0
0
0
0
0
-1
0
0
-2
3
2
4
-1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
2
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
3
0
0
0
0
0
0
0
0
-2
0
-1
-3
-2
0
4
3
2
0
0
0
0
0
0
0
0
1
0
0
1
5
0
8
5
-2
-1
1
1
0
0
0
0
0
0
0
0
3
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-6
2
0
1
0
0
0
0
0
0
0
0
0
1
0
1
9
-12
-10
2
0
3
0
0
0
0
0
0
0
-3
2
4
0
-2
0
-2
0
2
0
-1
0
0
0
0
0
0
0
0
0
5
-4
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
0
-1
0
0
0
0
0
0
0
-2
6
0
2
-2
12
-18
0
-10
0
0
0
0
0
0
0
0
0
3
0
-2
7
8
16
-7
0
1
0
1
0
0
0
0
0
-1
-1
0
0
-3
7
1
1
1
0
0
0
0
0
0
0
0
0
-1
0
-2
1
-5
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
5
0
-15
-2
0
4
0
0
0
0
0
0
0
0
3
13
-3
-19
-24
15
9
5
-8
8
0
0
0
0
0
0
0
5
-16
3
2
16
29
-29
-10
0
-4
-2
0
0
0
0
0
0
4
3
6
9
-8
-8
-9
-1
-5
0
0
0
0
0
0
0
0
-12
2
1
-1
9
-16
-1
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
-6
-2
-1
2
1
0
0
0
0
0
0
0
0
0
0
1
-5
-1
2
6
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-1
0
0
0
0
0
0
0
0
1
1
-1
0
0
1
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
-10
-7
0
0
0
0
0
0
0
0
0
-3
0
4
10
-2
-2
7
0
5
-3
0
0
0
0
0
0
0
-3
0
0
-13
1
14
-7
0
-19
2
0
0
0
0
0
0
0
2
0
-2
1
-8
29
-3
5
1
-1
0
0
0
0
0
0
0
0
0
0
4
-5
1
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
19
-3
6
6
0
4
0
0
0
0
0
0
0
0
-6
-1
-7
8
-8
-22
-1
-15
3
0
0
0
0
0
0
0
0
1
0
4
6
-25
-14
-5
-15
2
0
0
0
0
0
0
0
0
0
1
8
0
2
-4
6
-5
0
0
0
0
0
0
0
0
0
-1
2
1
15
0
7
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-2
5
-8
0
0
1
0
0
0
0
0
0
0
0
-1
-5
4
-2
-6
7
-8
6
-1
4
0
0
0
0
0
0
0
0
12
0
-6
-8
-8
-2
-1
1
2
0
0
0
0
0
0
0
0
7
0
0
0
1
-2
4
0
0
0
0
0
0
0
0
0
-6
0
0
6
1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
-4
1
0
0
0
0
0
0
0
4
2
-4
0
-10
0
2
6
0
0
0
0
0
0
0
0
0
2
3
7
2
1
-1
14
-17
3
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-24
-3
0
0
0
0
0
0
0
0
0
2
1
0
0
-8
0
22
-8
-17
1
0
0
0
0
0
0
0
0
0
0
1
-8
-3
0
1
-3
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
6
-1
-12
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
0
-4
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
1
0
2
0
0
0
0
0
0
0
-3
-1
1
-1
-2
0
-13
2
-5
-1
0
0
0
0
0
0
0
0
0
1
-2
8
8
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
6
1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
-2
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-1
-1
2
8
10
0
-16
0
0
0
0
0
0
0
-9
2
-4
17
5
19
-10
0
15
0
0
0
0
0
0
0
0
-5
2
8
3
4
8
-30
-1
13
0
1
0
0
0
0
0
0
0
1
0
4
-9
6
-12
12
0
25
0
0
0
0
0
0
0
0
0
-8
0
20
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
3
-1
-2
5
0
0
0
0
0
0
0
0
0
0
-1
1
4
-1
1
-12
0
20
8
4
0
0
0
0
0
0
0
-3
0
3
17
5
-24
10
0
-2
-2
0
0
0
0
0
0
0
0
0
-5
-17
12
-1
5
-7
0
0
0
0
0
0
0
0
0
-1
-2
1
5
3
-3
1
0
4
0
0
0
0
0
0
0
0
-1
0
3
0
-3
3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
-2
1
0
0
0
0
0
0
0
0
2
0
0
-1
1
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-1
7
9
1
0
0
0
0
0
0
0
0
0
-9
0
4
-19
13
6
6
5
-3
0
0
0
0
0
0
0
0
-3
0
2
-5
2
-2
-8
1
0
0
0
0
0
0
0
0
0
9
0
0
1
0
5
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-14
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
1
0
3
0
0
0
0
0
0
0
0
2
0
0
-3
1
0
4
8
0
0
0
0
0
0
0
0
0
-10
0
-3
10
-1
8
1
5
6
0
0
0
0
0
0
0
0
0
0
-7
2
10
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
-1
0
0
0
0
0
0
-1
-1
1
0
-5
13
3
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
0
7
5
0
1
0
0
0
0
0
0
0
1
-2
0
-1
-1
-1
-5
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
0
1
0
0
0
0
0
0
0
1
2
0
0
-2
0
4
-2
-1
0
1
1
0
0
0
0
0
0
0
0
-5
0
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
7
-2
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
6
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
2
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
2
4
-6
5
0
0
0
0
0
0
0
0
-2
0
0
-6
-12
1
3
-14
-7
0
-1
0
0
0
0
0
0
-6
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
2
4
-9
0
0
0
0
0
0
0
0
0
0
1
-4
-4
1
-2
14
-17
8
-2
0
0
0
0
0
0
0
0
25
-3
-2
-3
3
0
2
-10
4
0
0
0
0
0
0
0
0
3
-1
-3
15
9
-5
-7
0
0
0
0
0
0
0
0
0
1
-1
0
0
-4
1
2
0
0
0
3
0
0
0
0
0
0
0
0
-3
1
-12
-16
-6
0
-14
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
6
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
5
3
0
-1
0
0
0
0
0
0
0
0
-14
-1
-1
2
3
1
-2
-4
-10
-8
0
0
0
0
0
0
0
0
-7
0
-8
-5
-2
0
4
7
0
0
0
0
0
0
0
0
-6
0
8
5
14
4
20
0
0
0
0
0
0
0
0
0
0
1
4
-7
5
0
-24
1
-1
0
0
0
0
0
0
0
0
0
1
-3
-1
-10
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
5
0
2
0
0
0
0
0
0
0
0
1
0
-2
3
-8
-1
-4
1
10
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
1
0
-2
2
-1
-5
-6
-7
1
0
0
0
0
0
0
0
0
8
0
1
5
2
10
0
3
1
0
0
0
0
0
0
0
0
1
0
0
7
-5
-4
3
-2
0
0
0
0
0
0
0
0
0
4
0
0
-2
-4
2
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
5
5
3
0
-2
0
0
0
0
0
0
0
0
0
0
2
-2
-6
0
1
-1
0
0
0
0
0
0
0
0
0
1
1
0
9
9
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
3
0
0
0
0
0
0
0
0
0
-1
-1
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-8
3
3
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
-2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
1
0
0
0
0
0
0
0
0
0
1
0
0
0
20
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
7
0
0
0
0
0
0
0
0
0
0
2
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-2
9
0
-1
0
0
0
0
0
0
0
0
4
0
-1
0
9
0
22
15
0
-3
0
0
0
0
0
0
5
-1
1
0
5
-1
-29
-8
0
0
0
0
0
0
0
0
0
0
-10
-1
34
20
7
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
25
2
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
-13
2
20
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-1
-2
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
-1
0
2
1
0
0
0
0
0
0
0
0
4
-1
0
-1
-3
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
5
23
2
-3
-1
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
2
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
8
9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-14
7
0
25
1
6
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
1
-6
1
0
0
0
0
0
0
0
0
-1
0
1
-7
-4
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
8
-3
-12
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
1
0
0
0
0
0
0
0
0
4
0
1
0
-4
1
-7
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
-4
2
1
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
0
0
0
0
3
-3
-1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
0
7
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-9
-10
-3
0
0
0
0
0
0
0
0
-5
0
0
3
0
-4
1
-8
1
0
0
0
0
0
0
0
0
1
0
1
2
0
7
-3
2
-3
0
0
0
0
0
0
0
1
4
0
-1
-4
7
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-2
-1
0
0
0
0
0
0
0
3
5
0
-1
1
0
-1
2
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
-1
-2
2
16
-3
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
5
4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
1
0
3
2
9
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
3
0
0
0
0
0
0
0
0
0
-5
0
-5
10
14
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
0
4
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-3
3
0
1
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-15
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
2
-2
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
5
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
5
-2
0
9
0
0
0
0
0
0
0
0
4
0
0
2
0
3
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-1
-4
-2
0
0
0
0
0
0
0
0
3
-1
2
0
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
-1
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-8
0
0
-2
-1
0
1
0
0
0
0
0
0
0
0
1
0
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
2
-5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-1
0
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-4
9
1
0
-1
0
-3
0
0
0
0
0
0
0
-2
0
1
4
-6
-7
1
5
0
1
0
0
0
0
0
0
-2
0
5
-3
0
-1
-14
2
-4
0
0
0
0
0
0
0
0
0
1
-1
2
1
2
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
13
-2
-1
1
0
-1
0
-2
0
0
0
0
0
0
0
0
6
-1
-5
0
-1
0
4
0
4
0
0
0
0
0
0
0
0
1
0
0
-5
5
14
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
7
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
-9
2
0
-5
0
0
0
0
0
0
0
0
0
1
-5
-7
-1
-1
0
0
3
0
0
0
0
0
0
0
0
-1
4
-5
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-3
2
-10
0
2
0
0
0
0
0
0
0
0
0
2
0
1
-2
19
3
3
-5
24
0
0
0
0
0
0
0
0
0
2
2
13
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
1
-9
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
-1
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-4
-2
2
0
0
0
0
0
0
0
0
0
0
-3
0
25
-2
12
3
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
-4
-6
-2
-14
-8
-8
-1
0
0
0
0
0
0
0
-1
1
1
0
-1
-24
1
0
-14
1
0
0
0
0
0
0
0
0
5
0
8
-13
7
-1
-1
2
0
0
0
0
0
0
0
0
2
0
-1
-1
3
0
1
0
0
3
0
0
0
0
0
0
0
0
8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
1
-1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
1
1
5
4
5
0
0
0
0
0
0
0
0
0
-2
-1
-8
0
-2
-8
-2
0
2
0
0
0
0
0
0
0
0
0
1
-2
0
-2
-2
1
-2
1
0
0
0
0
0
0
0
1
0
-2
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
-1
0
1
-1
1
0
0
0
0
0
0
-1
-1
-19
-1
2
2
0
0
0
-3
-1
0
0
0
0
0
0
0
4
0
5
-5
1
-4
-7
13
0
0
0
0
0
0
0
0
-1
-1
3
-1
15
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
6
3
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-8
1
4
0
1
0
0
0
0
0
0
0
0
0
-2
0
-13
-8
0
-1
-3
2
5
3
0
0
0
0
0
0
0
0
0
2
-3
-1
-12
0
1
0
-2
0
0
0
0
0
0
0
0
1
0
4
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
7
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
13
8
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
7
6
2
-2
-10
-9
0
2
0
0
0
0
0
0
2
0
0
-1
-3
3
7
-5
-17
1
0
0
0
0
0
0
0
-2
0
0
4
-10
1
-1
1
0
0
0
0
0
0
0
0
0
1
0
0
7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
9
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
2
2
-2
8
-1
19
0
0
0
1
0
0
0
0
0
0
0
-4
4
-14
2
16
1
1
5
-8
7
0
0
0
0
0
0
0
0
0
8
2
-12
-18
-1
1
-4
5
0
0
0
0
0
0
2
0
-4
3
3
9
1
2
-8
6
-2
0
0
0
0
0
0
0
2
-10
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
2
-10
-20
-15
-8
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-2
22
-3
0
3
0
0
0
0
0
0
0
0
1
-8
-6
7
-6
-10
1
-23
0
-1
0
0
0
0
0
0
0
-6
-2
10
6
12
0
1
16
0
0
0
0
0
0
0
0
1
7
-1
1
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
8
2
-2
-7
0
-12
0
-5
0
0
0
0
0
0
0
0
2
1
3
4
-3
2
-20
2
5
0
0
0
0
0
0
0
0
-8
2
-7
8
0
0
-10
-1
0
0
0
0
0
0
0
0
0
-2
-2
-4
-6
-13
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-1
8
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-3
-5
-1
-3
19
2
0
0
0
0
0
0
0
0
0
0
-7
1
0
-8
-2
5
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
1
-1
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-17
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-12
8
-12
0
13
-9
-2
-9
0
0
0
0
0
0
0
0
1
1
-16
-8
0
-15
-6
-1
-1
0
0
0
0
0
0
0
0
0
-8
-1
-8
-13
8
2
-2
0
0
0
0
0
0
0
0
0
1
3
1
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
7
-5
0
0
2
2
0
0
0
0
0
0
0
0
0
-4
13
0
6
0
-1
0
1
0
0
0
0
0
0
0
-1
0
-9
3
-5
4
2
-8
-10
0
0
0
0
0
0
0
0
0
3
0
6
-5
5
1
-2
3
-2
0
0
0
0
0
0
0
0
0
-5
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
2
1
12
-1
0
0
0
2
0
0
0
0
0
0
0
0
2
-1
7
-2
-12
1
-7
-4
-4
0
0
0
0
0
0
0
3
0
8
-1
0
8
0
-6
0
6
0
0
0
0
0
0
0
0
0
1
-3
2
-3
0
0
0
6
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-4
1
-2
1
-1
-1
0
0
0
0
0
0
0
-1
0
0
-2
-1
1
0
-6
5
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
1
3
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-1
3
5
1
0
-4
0
0
0
0
0
0
0
0
0
0
-15
0
4
-2
1
-2
-5
0
9
0
0
0
0
0
0
0
0
0
-2
10
1
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
-2
0
0
0
0
0
0
0
-2
0
-1
1
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
-22
0
0
0
4
0
0
0
0
0
0
0
0
2
0
-3
4
0
-1
0
-8
-1
0
0
0
0
0
0
0
0
0
1
8
-2
2
2
2
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
7
1
0
0
0
0
3
0
0
0
0
0
0
1
-1
15
-1
7
7
0
0
-5
0
-2
0
0
0
0
0
0
0
0
3
1
4
-8
0
1
7
0
0
1
0
0
0
0
0
1
0
0
0
0
25
-3
0
-4
2
0
0
0
0
0
0
0
0
2
-7
-2
7
2
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
1
-16
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
-2
-2
0
5
-3
0
0
0
0
0
0
0
4
7
13
4
12
15
0
0
0
-2
-1
0
0
0
0
0
0
5
10
-5
-8
6
-1
-19
0
8
-1
0
0
0
0
0
0
0
-13
-4
1
-20
1
-25
-1
-8
2
0
0
0
0
0
0
0
0
1
-4
-4
-2
34
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-7
3
16
-4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
2
0
0
0
0
6
0
0
0
0
0
0
0
-6
4
-8
-24
0
-6
0
0
0
-4
-1
0
0
0
0
0
0
0
19
-1
5
8
4
2
-1
0
0
0
0
0
0
0
0
0
0
-2
0
6
-8
0
-7
-3
0
0
-1
0
0
0
0
0
0
-1
2
5
-7
4
2
0
-5
0
-3
0
0
0
0
0
0
0
0
0
2
-7
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
-1
-2
0
1
0
2
0
0
0
0
0
0
0
0
4
-1
-16
3
0
0
0
1
-3
0
0
0
0
0
0
0
0
-5
2
2
7
5
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
-4
1
0
-2
0
0
0
0
0
0
0
0
0
0
3
-4
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-2
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
-2
0
9
0
7
-8
0
0
0
0
0
0
0
0
0
4
2
9
3
20
3
0
-6
0
0
0
0
0
0
0
0
0
0
-8
-6
-5
-15
0
0
0
0
0
0
0
0
0
0
0
2
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
7
-1
1
10
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
25
2
-6
-7
-8
-16
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-22
-1
-2
1
0
0
0
0
0
0
0
0
0
5
1
16
-9
7
0
4
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
3
0
0
0
-1
0
0
0
0
0
0
0
0
-1
15
3
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
2
0
-3
1
7
0
-1
0
0
0
0
0
0
0
0
-3
-4
0
6
0
-1
2
-1
0
0
-3
0
0
0
0
0
0
0
0
2
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
4
1
-5
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
1
-1
0
2
-1
0
0
0
0
0
0
0
0
0
1
-5
1
8
6
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
2
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
-10
-6
0
-14
0
-2
-2
0
0
0
0
0
0
1
6
-24
0
0
0
2
6
4
-1
0
0
0
0
0
0
0
5
0
3
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-1
-10
3
-3
0
0
0
0
0
0
0
0
0
2
-1
-1
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
6
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-3
0
0
0
1
0
0
0
0
0
0
0
-1
-1
-5
0
-3
0
1
8
-6
0
1
0
0
0
0
0
0
-2
0
5
1
5
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
-1
-2
-4
0
0
0
0
0
0
0
0
0
-2
3
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
17
8
-4
0
0
0
-2
0
0
0
0
0
0
2
-8
-2
9
10
22
-1
0
5
0
2
-1
0
0
0
0
0
3
-6
-8
1
3
-8
0
0
20
7
-1
0
0
0
0
0
0
-1
12
-2
0
7
-4
-5
0
2
0
0
0
0
0
0
0
0
-1
13
1
5
0
5
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
-4
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
-2
3
-2
4
0
-1
0
0
0
0
0
0
0
0
-6
-14
4
-8
-22
4
0
0
0
1
0
0
0
0
0
0
0
0
-2
-4
-4
-14
-13
1
-1
-13
-3
0
0
0
0
0
0
0
2
-5
-5
0
-17
4
0
0
-7
0
0
0
0
0
0
0
0
0
1
-6
-8
13
13
0
0
1
1
0
0
0
0
0
0
0
-3
5
-5
8
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
3
-3
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
27
1
-33
-9
2
0
8
0
12
0
0
0
0
0
0
0
-1
-5
4
5
2
8
-2
-5
0
0
0
0
0
0
0
0
0
0
2
-4
-2
3
-2
-2
1
0
0
0
0
0
0
0
0
0
0
4
0
1
8
-4
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-1
-8
0
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
-3
1
-5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
-3
1
-4
-2
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
-1
0
0
2
0
0
0
0
0
0
0
0
1
1
8
-3
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
8
-6
-13
0
-2
9
0
0
0
0
0
0
0
0
0
0
-6
-1
6
-4
5
-1
-3
0
0
0
0
0
0
0
0
0
4
-1
2
-1
-3
1
1
-2
0
0
0
0
0
0
0
0
0
0
-8
-1
-14
1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
24
-3
2
0
2
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-8
-6
-1
9
0
3
0
0
0
0
0
0
0
0
2
0
2
-1
-16
-5
1
-1
0
0
0
0
0
0
0
0
1
0
-4
-7
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
20
-6
0
-1
2
4
8
-1
-2
-1
0
0
0
0
0
0
-1
0
-3
0
-4
1
0
-1
-1
0
0
0
0
0
0
0
0
-1
-1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
2
0
-1
0
0
0
0
0
1
0
0
0
7
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-8
18
-7
0
0
0
0
-2
0
0
0
0
0
0
0
5
-1
-2
6
-7
7
0
-1
0
-2
0
0
0
0
0
0
0
1
1
2
7
-1
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-3
-4
-4
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-8
1
5
3
6
-3
-3
0
0
0
0
0
0
0
-2
-1
4
2
-2
1
0
2
-1
8
1
0
0
0
0
0
0
0
0
-1
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
8
0
-3
0
0
1
-1
0
0
0
0
0
0
-6
1
-7
19
-7
-4
-7
0
0
0
-1
0
0
0
0
0
0
2
-8
3
8
13
-29
2
9
24
-2
-2
-2
0
0
0
0
0
8
9
8
-32
-3
0
7
0
12
0
-1
0
0
0
0
0
0
2
4
14
20
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
8
0
13
2
0
0
-4
0
0
0
0
0
0
0
5
4
-10
-41
3
8
0
0
0
2
-1
0
0
0
0
0
0
-4
1
-6
-25
7
-7
-6
0
5
0
-1
0
0
0
0
0
0
8
-2
25
-14
3
32
-7
0
-12
1
0
0
0
0
0
0
-1
-8
-7
-8
8
3
2
-1
0
1
0
0
0
0
0
0
0
0
-3
-2
0
16
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
8
-5
0
0
0
1
0
0
0
0
0
0
0
3
1
2
-6
-6
-5
0
5
0
4
1
0
0
0
0
0
0
0
3
-8
22
-15
3
3
6
-1
1
0
0
0
0
0
0
0
0
2
10
5
-1
-14
9
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
3
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
1
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
-1
1
-7
3
-8
0
0
0
0
0
0
0
0
0
0
-1
1
0
6
-2
-8
0
-5
0
0
0
0
0
0
0
0
0
-1
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
2
-4
1
4
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
1
-2
-12
-9
0
1
-2
0
0
0
0
0
0
0
0
0
0
4
5
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-14
-2
-4
2
18
5
2
0
0
0
0
0
0
0
0
-1
1
0
0
-5
-8
0
-3
-2
0
0
0
0
0
0
0
0
2
0
3
0
-4
4
0
5
0
0
0
0
0
0
0
0
0
0
5
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
15
0
-1
0
1
0
0
0
0
0
0
-3
0
1
3
-1
1
0
-1
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
9
0
0
0
0
0
0
0
0
1
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
-1
-6
3
4
-10
0
0
0
0
0
0
0
-1
1
0
-4
-8
1
1
0
1
0
3
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
0
0
6
0
0
0
0
0
0
0
3
0
8
-5
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
-6
-5
16
5
7
-1
0
3
0
1
0
0
0
0
0
0
0
-1
-7
-2
-1
-1
-1
3
1
-5
0
0
0
0
0
0
0
0
0
-2
9
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-5
2
29
3
0
0
0
4
0
0
0
0
0
0
0
0
4
6
-3
-36
-7
-3
-27
-8
-1
0
0
0
0
0
0
0
10
13
14
3
23
-30
-1
-2
0
1
0
0
0
0
0
0
6
2
-2
-7
-3
6
1
0
8
0
5
0
0
0
0
0
0
-1
-3
1
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
-1
5
-8
-8
10
27
0
-2
0
-2
0
0
0
0
0
0
1
2
0
9
-1
-41
17
-21
2
-13
-1
2
0
0
0
0
0
0
0
5
-5
3
21
0
0
0
-23
0
0
0
0
0
0
0
0
1
-3
8
2
-1
2
2
-5
10
0
0
0
0
0
0
0
0
-2
-1
9
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-7
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
6
-7
1
0
-1
0
5
0
0
0
0
0
0
0
-1
2
-3
4
-3
2
-23
-27
10
-1
0
0
0
0
0
0
0
0
4
0
-5
-3
-3
3
0
0
8
0
0
0
0
0
0
0
0
-12
-2
-1
-5
3
9
7
0
9
0
0
0
0
0
0
0
0
1
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
-8
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-16
8
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
-2
0
0
0
0
0
0
0
0
0
-1
1
-3
-6
-20
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
1
-8
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-9
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
1
-13
3
-1
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
-4
-2
0
0
0
0
0
0
0
0
0
4
0
-17
0
4
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-8
0
13
0
1
0
0
0
0
0
0
0
1
0
-1
-19
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-5
2
-3
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
5
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-20
-1
-5
-3
0
2
0
0
0
0
0
0
0
0
0
-1
-22
-2
-12
19
2
-1
9
-3
0
0
0
0
0
0
0
0
5
1
18
0
13
4
-3
2
1
1
0
0
0
0
0
0
1
-8
7
-2
-23
-14
3
-3
7
0
0
0
0
0
0
0
0
5
0
1
1
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
-2
9
0
0
0
0
0
0
0
0
0
0
0
-12
-4
1
23
9
10
0
-15
0
0
0
0
0
0
0
0
0
4
1
13
-13
13
-3
-10
-1
-29
-1
0
0
0
0
0
0
0
-3
-3
10
-1
4
19
-32
0
0
1
0
0
0
0
0
0
0
-1
3
-1
17
-13
-9
2
0
6
0
0
0
0
0
0
0
0
3
1
-10
-3
17
1
0
0
2
0
0
0
0
0
0
0
0
0
-8
2
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
13
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-2
8
0
0
0
1
0
0
0
0
0
0
0
1
0
-3
-1
-5
-8
0
-4
0
0
0
0
0
0
0
0
0
0
4
6
-9
-3
8
6
-16
2
13
0
0
0
0
0
0
0
2
1
-2
2
4
10
-1
-5
0
-2
0
0
0
0
0
0
0
0
-25
-4
-3
-2
-3
-1
-1
0
3
0
0
0
0
0
0
0
0
3
-3
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
3
-1
-3
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
1
1
2
0
0
1
0
0
0
0
0
0
0
0
8
1
-4
-1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
4
0
-4
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
1
0
-2
0
0
-3
0
0
-3
-3
0
0
0
0
0
0
0
0
-2
0
-8
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
13
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
1
0
0
20
-20
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-16
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-4
-15
-7
8
1
19
0
0
0
0
0
0
0
0
-4
1
-8
-3
-2
25
-16
0
-33
0
0
0
0
0
0
0
0
-1
4
-2
-5
0
14
-8
0
-12
0
0
0
0
0
0
0
0
4
9
-12
-2
-17
-18
0
0
4
0
0
0
0
0
0
0
0
-10
3
-25
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
-3
4
-5
0
0
0
0
0
0
0
0
-2
2
0
-4
-1
1
-8
0
-4
0
0
0
0
0
0
0
0
-1
1
7
-1
0
5
-2
0
1
0
0
0
0
0
0
0
0
-7
1
17
0
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
-10
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-1
-3
0
3
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
-1
0
0
0
0
0
0
0
0
1
0
-4
2
6
-1
-5
0
2
0
0
0
0
0
0
0
0
0
0
2
0
-8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
6
5
-1
0
0
0
0
0
0
0
0
0
1
1
-1
-1
0
-1
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
1
-1
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
-3
0
-5
2
0
0
0
0
0
0
0
7
0
0
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
-3
1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-6
8
0
0
0
0
0
0
0
0
0
0
1
4
7
4
-7
14
3
-6
2
0
0
0
0
0
0
0
0
-1
1
0
0
-5
-3
-1
2
0
-1
0
0
0
0
0
0
0
0
0
1
-3
0
3
-3
3
-1
0
0
0
0
0
0
0
0
0
-2
-2
7
9
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
23
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
4
4
0
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-4
5
5
4
0
0
0
0
0
0
0
0
1
0
1
0
-7
-2
-4
5
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
6
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
-4
-3
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
-25
0
0
13
1
2
0
0
0
0
0
0
0
-4
8
0
0
1
4
14
0
2
0
0
0
0
0
0
0
0
3
0
-1
6
14
7
1
-6
-1
0
0
0
0
0
0
0
0
4
-1
0
7
-5
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-3
3
-7
-1
0
0
0
0
0
0
0
0
0
2
1
0
-1
-1
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
2
-2
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-1
5
-3
-3
5
0
1
0
0
0
0
0
0
0
0
0
0
5
2
5
7
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
3
3
0
-3
0
0
0
0
0
0
0
0
0
0
-1
3
5
-5
2
4
3
-6
0
0
0
0
0
0
0
0
2
1
0
1
-2
-13
0
0
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
3
0
-1
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
0
1
-3
0
29
0
0
0
0
0
0
0
0
0
-3
6
6
-8
-4
6
23
-1
0
3
0
0
0
0
0
0
0
0
0
7
8
8
7
5
-6
-5
-2
0
0
0
0
0
0
0
-4
-2
-1
0
17
-8
-8
-3
-3
0
-1
0
0
0
0
0
0
0
2
1
-19
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
-5
-5
-8
5
0
6
0
0
0
0
0
0
0
-1
5
0
6
9
-13
4
6
1
0
0
0
0
0
0
0
0
5
0
-1
4
1
41
7
-2
0
0
0
0
0
0
0
0
0
1
14
4
4
-14
-2
6
-3
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-15
2
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
-14
-14
0
0
0
0
0
0
0
0
0
0
3
-1
-1
38
-2
14
-8
-2
0
0
0
0
0
0
0
0
0
-1
4
-8
0
0
10
3
1
1
0
0
0
0
0
0
0
0
0
2
2
3
3
-8
2
0
17
0
0
0
0
0
0
0
0
3
0
2
0
-14
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
8
17
0
1
-2
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
2
0
-3
1
0
0
1
0
0
0
0
0
0
0
3
0
0
14
2
4
4
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-6
1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-5
6
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-3
4
-6
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
1
4
3
0
-2
7
0
0
0
0
0
0
0
-1
0
3
0
10
-2
8
9
-3
0
0
0
0
0
0
0
0
-2
-1
0
-4
5
-6
4
14
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-4
1
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
2
0
0
0
0
0
0
0
0
0
6
1
0
1
4
-2
-4
-5
0
1
0
0
0
0
0
0
0
0
0
0
3
-3
6
-5
0
1
1
0
0
0
0
0
0
0
0
0
2
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-2
6
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
1
1
3
1
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
2
-2
0
3
0
0
0
0
0
0
0
0
1
1
0
1
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
3
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-12
0
4
-1
0
0
0
0
0
0
0
-2
0
7
0
-12
-1
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
-3
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
2
6
0
6
0
0
0
0
0
0
0
0
0
-4
2
0
12
2
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
2
17
0
2
0
0
0
0
0
0
0
4
1
0
0
-2
7
-10
-5
0
0
0
0
0
0
0
0
0
5
0
0
-8
2
6
-1
2
3
-1
-5
0
0
0
0
0
0
0
0
-2
0
19
-8
4
-1
1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
13
-2
5
0
0
-1
0
0
0
0
0
0
0
0
0
-1
6
3
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
3
1
0
-16
-5
0
-1
0
0
0
0
0
0
0
0
2
3
0
-1
7
-1
-8
4
-3
0
0
0
0
0
0
0
0
2
-2
1
1
0
8
4
0
-2
0
0
0
0
0
0
0
0
1
0
1
-2
0
1
1
0
1
0
0
0
0
0
0
0
0
3
0
1
-8
1
1
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
1
-3
0
0
-4
0
0
0
0
0
0
0
0
6
1
0
-1
4
4
-20
-25
-1
-2
0
0
0
0
0
0
0
8
0
7
15
12
4
-8
6
0
0
0
0
0
0
0
0
0
-2
3
2
0
3
-8
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
3
-2
5
0
1
0
0
0
0
0
0
0
0
0
7
0
-1
0
5
8
5
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
1
2
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-1
-16
13
16
3
0
0
0
0
0
0
0
1
-2
0
-2
-2
-2
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
6
-2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
1
10
-2
3
6
-1
0
0
0
0
0
0
0
0
0
-1
7
-1
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
-1
6
5
3
0
1
-1
0
0
0
0
0
0
0
0
0
-1
-4
-3
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
0
3
-1
0
-5
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
3
-5
-2
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-1
9
-1
0
1
0
0
0
0
0
0
0
0
0
-3
0
-3
-3
1
9
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-7
5
-5
-2
0
0
0
0
0
0
0
0
0
-1
0
1
-8
13
4
-3
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
13
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-8
0
0
4
0
1
0
0
0
0
0
0
0
0
3
0
0
-3
10
0
8
2
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
-1
2
-1
0
1
0
0
0
0
0
0
0
-3
4
-2
-12
8
2
13
2
2
0
0
0
0
0
0
0
0
2
-1
0
-13
-13
-3
-6
-1
-9
0
-1
0
0
0
0
0
0
-3
0
3
4
2
9
1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
4
4
-2
6
0
8
-12
-8
12
0
0
0
0
0
0
0
0
-6
0
-1
-6
-1
-4
-6
0
-7
-5
0
0
0
0
0
0
0
-1
0
1
3
-2
1
-12
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
-2
0
7
0
4
0
0
0
0
0
0
0
-1
0
-3
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-7
0
1
-1
0
0
0
0
0
0
0
-8
-1
1
-3
-7
-6
10
-3
-2
0
0
0
0
0
0
0
0
2
0
0
1
-3
-7
-7
10
-8
0
0
0
0
0
0
0
0
0
3
0
-3
2
3
1
0
0
1
0
0
0
0
0
0
0
4
-4
3
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
2
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-4
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
-1
-1
-6
0
0
0
0
0
0
0
0
-3
0
0
-4
19
0
-1
0
-2
0
0
0
0
0
0
0
5
0
0
-1
-9
3
1
0
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
2
24
0
-4
-1
0
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-6
3
4
-2
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
-3
1
3
-1
-2
0
0
0
0
0
0
0
0
1
0
-1
0
-2
0
2
-2
0
0
0
0
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
10
1
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
6
-1
0
5
2
-2
0
0
0
0
0
0
0
0
0
0
-2
0
7
7
1
-1
0
-1
0
0
0
0
0
0
0
5
0
-2
0
-2
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
4
1
0
-5
0
0
0
0
0
0
0
0
0
0
-3
1
0
-2
-2
6
-1
4
0
0
0
0
0
0
0
0
0
1
0
1
-13
-5
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
7
-1
1
0
0
0
0
0
0
0
0
3
0
0
-3
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-8
5
1
-19
0
0
0
0
0
0
0
0
0
13
-2
-3
-4
-29
-5
10
1
-12
0
0
0
0
0
0
0
0
-5
1
5
-24
-1
-1
16
31
2
1
0
0
0
0
0
0
0
0
-1
-2
10
1
-3
6
0
-3
2
0
0
0
0
0
0
0
0
0
-1
-6
-5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-7
-5
-14
0
0
2
0
0
0
0
0
0
0
-1
-9
-1
-1
-6
-2
0
2
-9
3
0
0
0
0
0
0
0
1
-9
-1
-8
7
16
-8
-16
5
0
0
0
0
0
0
0
0
0
0
1
0
6
-14
0
-8
1
-1
0
0
0
0
0
0
0
2
1
0
-5
-4
3
3
0
0
-1
0
0
0
0
0
0
0
0
1
1
0
-6
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
5
0
-7
0
0
0
0
0
0
0
0
0
0
8
-3
1
2
-27
4
-14
-3
0
1
0
0
0
0
0
0
0
10
-9
-5
2
2
-15
6
-10
0
1
0
0
0
0
0
0
0
-1
-2
0
-1
1
7
-6
3
1
0
0
0
0
0
0
0
0
0
3
0
-19
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
3
-2
0
0
0
0
0
0
0
0
3
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
1
0
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
3
2
0
0
0
0
0
0
0
0
0
-1
4
5
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-1
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
-3
-1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
13
6
6
5
0
1
0
0
0
0
0
0
0
1
0
0
2
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
1
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-1
0
2
1
2
1
-2
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
-6
2
0
-1
0
0
0
0
0
0
0
0
1
3
-1
-5
3
-8
-10
-4
1
0
0
0
0
0
0
0
0
1
0
0
-2
0
3
-2
5
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-6
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
6
0
0
0
0
0
0
0
0
2
1
1
-1
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
2
1
7
-5
-13
0
0
0
0
0
0
0
0
0
-2
2
-15
-1
3
48
7
-3
-23
1
0
0
0
0
0
0
0
-17
0
-3
0
-1
-2
4
13
8
0
0
0
0
0
0
0
0
4
-1
3
-14
16
-10
12
0
5
0
0
0
0
0
0
0
0
1
0
0
-6
-5
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-8
-1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
10
8
4
0
5
1
0
0
0
0
0
0
0
-5
-1
9
3
1
-2
8
-14
0
0
0
0
0
0
0
0
-1
-15
0
5
-5
4
12
-10
8
4
0
0
0
0
0
0
0
0
-1
0
-5
0
8
-19
-8
-1
-5
0
0
0
0
0
0
0
0
0
0
-3
5
10
-4
5
1
3
0
0
0
0
0
0
0
0
0
0
-6
14
2
16
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
17
0
0
0
0
0
0
0
0
0
0
2
4
0
7
4
6
-1
5
-9
0
0
0
0
0
0
0
0
-7
10
0
13
0
-7
9
-7
8
0
0
0
0
0
0
0
0
-1
1
2
9
2
2
-8
4
4
0
0
0
0
0
0
0
0
-7
-1
2
0
5
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
0
4
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
2
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-1
-6
1
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
2
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
2
0
5
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-4
-4
6
0
1
0
0
0
0
0
0
0
0
0
4
1
16
-10
9
-1
-4
3
-2
0
0
0
0
0
0
10
0
-3
-8
10
23
16
2
-7
0
0
0
0
0
0
0
0
0
1
-1
4
-10
-22
4
6
0
0
0
0
0
0
0
0
0
3
1
-1
0
4
10
-25
1
3
0
0
0
0
0
0
0
0
-1
2
1
3
7
4
12
-3
1
0
0
0
0
0
0
0
0
0
1
0
10
1
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
8
0
3
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-8
-8
8
-8
9
0
0
0
0
0
0
0
0
-18
2
0
6
-20
5
2
3
0
0
0
0
0
0
0
0
0
4
0
3
23
4
-1
-6
3
7
0
0
0
0
0
0
0
0
-24
4
8
3
-5
-24
-5
-1
-2
0
0
0
0
0
0
0
0
6
0
0
-2
-1
6
-42
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
-5
-4
0
0
0
0
0
0
0
0
0
0
-8
3
0
-2
1
-3
7
4
2
1
0
0
0
0
0
0
0
0
1
-1
-6
0
3
0
5
-8
0
0
0
0
0
0
0
0
2
-1
2
-17
10
-3
-7
-1
1
-2
0
0
0
0
0
0
0
6
0
0
0
7
9
-1
5
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
9
-5
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-6
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-1
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
1
-2
0
0
0
0
0
0
0
0
-5
1
0
9
-5
8
4
2
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
10
-1
-1
2
-3
12
0
0
0
0
0
0
0
0
-24
1
12
6
4
2
0
0
-4
0
0
0
0
0
0
0
0
-1
-1
1
2
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
3
-17
0
-10
0
-1
0
0
0
0
0
0
0
0
17
-2
-1
-9
-10
-19
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-3
-4
-2
6
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
1
0
1
0
-2
-3
0
0
0
0
0
0
0
1
0
0
6
0
1
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
0
1
12
6
2
1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-2
0
-1
-2
-1
5
0
0
0
0
0
0
0
0
1
0
4
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
7
0
0
0
-12
0
0
0
0
0
0
0
0
0
1
-2
1
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
1
4
-12
8
1
-3
0
2
0
0
0
0
0
0
0
0
2
5
0
4
-5
8
-1
-1
0
-2
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
5
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
0
-1
6
-3
0
0
0
0
0
0
0
0
-8
-1
0
2
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
1
1
0
-1
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
5
-2
-16
0
3
-47
1
0
0
0
0
0
0
0
-1
22
7
-10
-8
0
0
0
7
1
0
0
0
0
0
0
0
-8
4
37
24
-12
-4
-42
15
-21
-6
0
0
0
0
0
0
0
2
22
3
-5
-32
-37
4
0
7
0
0
0
0
0
0
0
0
-9
-16
-8
-1
-5
8
-2
-4
-1
0
0
0
0
0
0
0
0
-1
-24
-5
-1
-20
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
6
2
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
0
0
3
0
-1
7
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-3
13
5
4
1
-3
-1
5
-1
0
0
0
0
0
0
0
0
12
0
-6
-2
-5
0
-6
3
1
3
0
0
0
0
0
0
-1
0
12
0
2
0
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
5
0
0
7
0
0
0
0
0
0
0
0
0
-3
-2
1
8
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-6
-16
0
-8
0
2
0
0
0
0
0
0
0
-1
15
8
-14
3
-2
-1
-9
-36
0
0
0
0
0
0
0
-4
-6
6
20
8
-44
-1
0
1
-7
-1
0
0
0
0
0
0
3
29
-5
1
0
8
-8
1
0
0
0
0
0
0
0
0
0
-3
2
-5
-1
1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
14
-3
-1
0
0
0
0
0
0
0
0
0
0
4
7
0
18
-13
7
3
0
-1
0
2
0
0
0
0
0
0
-1
-3
-22
-13
8
-9
17
-13
4
17
-2
0
0
0
0
0
0
0
0
3
8
-13
-6
-17
1
-19
-2
0
0
0
0
0
0
0
0
1
13
4
2
-8
8
-5
0
0
0
0
0
0
0
0
0
0
3
-22
23
-3
3
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
19
13
5
-5
0
6
-3
1
0
0
0
0
0
0
-12
-17
-42
-21
16
-18
0
-2
0
10
2
0
0
0
0
0
0
8
-5
-3
-7
11
-20
-6
14
3
6
-7
0
0
0
0
0
0
5
-25
6
5
-2
-2
4
20
-8
2
0
0
0
0
0
0
0
-1
-10
-7
21
-5
-11
-32
1
1
0
0
0
0
0
0
0
0
0
6
9
-16
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
19
0
13
7
-9
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
-6
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-4
2
0
0
0
1
1
0
0
0
0
0
0
0
-6
-5
24
-3
-1
0
-1
0
1
4
0
0
0
0
0
0
0
2
1
-2
8
10
7
3
-8
1
-5
0
0
0
0
0
0
0
0
-8
1
7
7
6
0
3
-9
0
0
0
0
0
0
0
0
-3
1
-5
6
5
-2
0
4
0
0
0
0
0
0
0
0
0
0
5
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
2
0
2
0
0
0
0
0
0
0
0
0
2
-4
0
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-1
1
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
1
-2
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
2
3
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-8
14
-2
-1
2
-23
0
0
0
0
0
0
0
0
-7
3
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
4
-1
1
-1
1
0
0
1
0
0
0
0
0
0
0
-3
9
5
-7
1
-9
0
1
0
0
0
0
0
0
0
0
3
-2
-2
-2
6
-12
0
2
4
-2
-2
0
0
0
0
0
0
0
-6
-2
-6
-10
-16
0
0
-1
-5
0
0
0
0
0
0
0
0
8
8
-5
-24
12
1
-1
0
0
0
0
0
0
0
0
0
0
-1
6
2
-8
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
4
0
0
-3
0
0
0
0
0
0
0
0
0
-7
0
14
-1
-29
0
-6
0
1
0
-1
0
0
0
0
0
0
9
0
-4
-2
15
7
-19
5
14
18
5
0
0
0
0
0
0
0
-8
5
12
23
-15
6
-19
0
7
-8
0
0
0
0
0
0
0
3
4
9
-4
-9
-12
-8
-1
0
0
0
0
0
0
0
0
0
0
16
-42
18
8
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-13
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
9
-8
-8
4
0
13
0
0
0
0
0
0
0
0
-14
6
18
50
10
0
0
0
0
6
0
0
0
0
0
0
0
-3
-2
29
-14
0
-1
3
-8
-4
-2
-1
0
0
0
0
0
0
-7
-18
1
0
-14
-17
5
-5
-2
1
0
0
0
0
0
0
0
0
3
-10
-19
-6
25
1
8
-6
-1
1
0
0
0
0
0
0
0
0
5
4
-12
13
2
-2
-1
0
0
0
0
0
0
0
0
-1
-1
2
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
8
0
0
0
0
0
0
0
0
1
2
2
-6
-1
0
-1
0
6
0
0
0
0
0
0
0
0
-4
0
-1
-10
14
-3
0
1
-40
2
0
0
0
0
0
0
0
0
1
-2
7
-6
-3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-5
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
3
-3
-2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
5
-25
2
1
0
-2
0
0
0
0
0
0
-5
0
-1
0
-5
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
-14
-3
0
2
0
0
0
0
0
0
0
0
0
1
1
3
8
0
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
3
17
0
0
4
-14
-6
0
0
0
0
0
0
0
0
5
5
-2
8
24
-8
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
8
9
-24
0
0
0
1
0
0
0
0
0
0
-2
-1
4
-8
-4
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-49
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
23
2
0
0
0
0
3
0
0
0
0
0
0
-2
0
2
-22
-14
-8
5
-10
-6
13
1
0
0
0
0
0
0
-1
3
1
-3
10
25
-31
-14
-2
-2
1
0
0
0
0
0
0
0
0
3
20
-8
-5
25
8
0
8
0
0
0
0
0
0
0
2
-1
-1
-9
12
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
18
4
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
-2
32
-10
16
0
-1
0
0
2
0
0
0
0
0
0
2
1
-5
2
29
-5
-14
10
-5
0
0
0
0
0
0
0
0
1
-19
21
-16
-17
-10
-8
0
-1
0
-1
0
0
0
0
0
0
-2
-12
5
2
24
-4
10
-1
0
2
0
0
0
0
0
0
0
0
-7
8
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-9
-2
1
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-1
0
-5
-7
0
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
-8
4
10
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
4
0
4
-2
0
0
0
-2
0
0
0
0
0
0
0
0
4
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
8
-3
-25
-6
0
-18
0
0
0
0
0
0
0
0
4
4
-3
-17
3
-5
0
2
-5
0
0
0
0
0
0
0
-1
-1
1
4
-3
13
-6
0
-10
-1
0
0
0
0
0
0
0
0
2
0
0
-4
10
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-5
-4
0
1
0
0
0
0
0
0
0
0
0
2
1
-3
-31
-5
1
1
0
-5
0
0
0
0
0
0
0
0
0
3
5
-5
10
-1
-2
-7
0
6
0
0
0
0
0
0
0
0
1
16
6
-10
5
-13
1
0
-6
0
0
0
0
0
0
0
0
-1
-1
4
-29
-6
-14
0
0
2
0
0
0
0
0
0
0
0
6
3
-6
19
-23
-8
3
0
5
0
0
0
0
0
0
0
0
5
17
3
-29
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
1
-13
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-6
6
1
-4
0
0
-1
2
0
0
0
0
0
0
0
4
-4
13
-8
-1
7
0
0
0
0
0
0
0
0
0
0
0
5
8
6
-2
-13
3
1
-5
4
0
0
0
0
0
0
0
0
2
-1
2
8
17
2
6
-1
0
0
0
0
0
0
0
0
0
0
-6
-19
0
-6
4
-9
-3
0
0
0
0
0
0
0
0
0
-2
8
4
8
-23
-7
-1
0
0
-1
0
0
0
0
0
0
0
0
-8
1
-29
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
2
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
1
-1
-4
0
0
-1
0
0
0
0
0
0
0
0
-1
0
1
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
17
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
-9
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
2
-8
0
0
8
-15
0
0
0
0
0
0
0
1
0
0
8
-24
2
0
5
1
-6
3
0
0
0
0
0
0
0
0
0
-2
3
30
-9
5
0
-3
0
0
0
0
0
0
0
0
10
0
10
-22
5
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
8
-2
0
0
0
3
0
0
0
0
0
0
0
0
6
-4
4
7
12
5
0
1
0
0
0
0
0
0
0
0
0
0
5
0
12
4
4
0
1
-39
3
0
0
0
0
0
0
0
1
-1
-8
-13
0
4
-7
0
2
-1
0
0
0
0
0
0
0
0
0
2
-23
25
-22
-24
1
4
1
0
0
0
0
0
0
0
3
-5
-1
-3
-7
13
-7
0
0
0
0
0
0
0
0
0
0
0
3
-1
20
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
1
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-36
1
-3
-2
0
1
-5
-8
0
0
0
0
0
0
0
0
3
0
1
0
-10
-25
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
5
-18
6
5
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
9
6
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-3
5
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
5
5
3
-7
17
2
0
10
0
0
0
0
0
0
0
0
2
0
-3
-2
-3
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-2
1
3
0
-8
-4
1
0
0
0
0
0
0
0
-5
5
-2
-1
19
2
2
0
0
-1
0
0
0
0
0
0
0
-2
3
-2
-8
-2
9
2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-7
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
9
2
0
9
0
0
0
0
0
0
0
0
0
0
13
-1
3
-7
-17
-6
0
7
0
0
0
0
0
0
0
0
1
-3
-5
-13
-3
12
0
8
8
-1
0
0
0
0
0
0
0
1
0
0
-17
-8
2
4
0
0
0
0
0
0
0
0
0
0
1
-1
0
-9
-8
-8
16
-1
-1
0
0
0
0
0
0
0
0
-4
-1
0
0
-7
-8
7
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
9
0
-12
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
3
0
16
0
4
0
0
0
0
0
0
0
0
0
-1
0
1
0
-8
1
2
0
9
0
0
0
0
0
0
0
0
0
0
-8
6
-1
-9
0
14
0
0
0
0
0
0
0
0
0
1
-1
1
-2
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-15
10
0
-4
-5
0
0
0
0
0
0
0
0
25
-29
33
16
-2
0
2
-29
2
-8
2
0
0
0
0
0
0
-19
-7
-6
0
15
1
12
-2
-7
0
1
0
0
0
0
0
0
-15
2
14
9
22
16
-20
23
-8
0
0
0
0
0
0
0
0
0
-1
-4
1
-13
-5
-16
-8
6
-1
0
0
0
0
0
0
0
-8
0
0
-24
-8
-24
-4
4
4
2
2
0
0
0
0
0
0
3
0
-1
1
-4
-3
6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
2
-1
4
-5
0
0
0
-3
0
0
0
0
0
0
0
0
2
5
-1
3
-7
3
4
0
1
0
0
0
0
0
0
0
0
-4
-1
-4
14
-7
-10
8
-1
-1
0
0
0
0
0
0
0
0
1
-4
-2
-10
-3
-6
8
-2
-1
0
0
0
0
0
0
0
0
-2
3
0
-8
-4
-2
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
2
6
0
2
-2
0
0
0
0
0
0
5
1
5
-5
24
0
33
10
-5
-1
0
0
0
0
0
0
0
2
-1
-1
-2
9
-9
9
1
-6
0
0
0
0
0
0
0
0
0
0
5
2
-17
0
9
0
0
1
0
0
0
0
0
0
0
0
1
0
0
-1
12
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
5
0
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-13
-14
-7
-17
-5
0
0
1
0
0
0
0
0
0
2
2
4
5
-8
-26
-3
-41
6
3
0
0
0
0
0
0
0
-4
-1
-10
2
13
21
-39
5
-1
-3
0
0
0
0
0
0
0
25
1
-12
-16
9
-41
2
-25
1
-22
-2
0
0
0
0
0
0
0
0
6
-8
-4
20
19
1
0
0
-1
0
0
0
0
0
0
0
-2
-3
-3
0
-4
8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
6
2
9
-5
29
0
0
4
-1
0
0
0
0
0
0
-33
22
6
-4
22
-13
-10
1
41
2
7
0
0
0
0
0
0
1
-2
-6
-20
14
39
34
-5
-1
-43
0
0
0
0
0
0
0
-4
-10
14
-14
0
-8
8
0
7
-5
-2
0
0
0
0
0
0
0
0
-25
5
-9
2
25
8
-4
-3
0
0
0
0
0
0
0
-1
0
-4
-5
-6
4
4
10
6
3
0
0
0
0
0
0
0
-3
0
0
-3
4
0
-3
1
1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
14
-9
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
-6
8
5
-9
-9
0
-3
-1
0
0
0
0
0
0
0
32
5
8
4
16
23
50
-23
-13
-2
-3
0
0
0
0
0
0
-4
-2
18
-1
8
-11
13
-22
3
-2
0
0
0
0
0
0
0
-8
-20
-10
-9
-73
-33
12
-2
-4
0
-3
0
0
0
0
0
0
-4
0
-14
-6
-25
-72
0
14
3
8
0
1
0
0
0
0
0
8
16
-1
-4
-7
-17
5
29
5
-4
0
0
0
0
0
0
0
0
-2
-1
8
-4
-7
4
4
2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
13
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
9
1
-2
-1
-4
13
0
-24
-5
0
0
0
0
0
0
0
0
-5
3
-5
3
-6
2
17
-2
-2
1
0
0
0
0
0
0
0
13
5
-1
1
14
-5
2
3
0
5
0
0
0
0
0
0
0
2
-1
-5
3
17
9
0
0
0
-2
0
0
0
0
0
0
0
1
14
0
-10
-6
36
0
2
0
0
0
0
0
0
0
0
0
3
0
-1
18
2
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
1
3
-3
2
-3
1
0
0
0
0
0
0
0
0
0
0
-6
1
8
2
-3
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
12
0
0
0
0
0
0
0
0
0
-8
0
5
2
1
7
-8
6
-3
0
0
0
0
0
0
0
0
3
0
0
2
4
0
12
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
12
0
-8
-1
0
0
0
0
0
0
0
0
1
-1
0
3
-8
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-1
-22
-1
15
-5
13
0
-1
1
0
0
0
0
0
0
5
8
-1
9
22
-5
-40
7
-3
6
2
0
0
0
0
0
0
5
13
3
-24
-5
-23
-5
0
0
13
0
0
0
0
0
0
0
19
-3
-4
-23
-24
-25
-16
0
-8
3
0
0
0
0
0
0
0
0
7
0
-7
-6
-7
1
-4
0
2
0
0
0
0
0
0
0
0
0
-3
8
0
-3
-1
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
9
8
-4
-8
-2
0
-8
-1
0
0
0
0
0
0
-2
4
-2
-2
2
2
3
23
-14
2
-2
0
0
0
0
0
0
6
8
29
-9
4
-26
6
-10
7
1
-1
0
0
0
0
0
0
4
9
8
-19
-6
-16
-16
8
0
25
0
0
0
0
0
0
0
0
3
-1
-4
2
5
-2
0
-5
0
-1
0
0
0
0
0
0
1
-3
-1
-13
-12
-18
-8
6
0
0
0
0
0
0
0
0
0
0
-2
0
13
20
0
-4
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-18
-9
4
-17
0
-5
7
0
0
0
0
0
0
0
31
-14
1
-19
22
-6
-37
-22
-9
8
0
0
0
0
0
0
0
13
-10
25
-18
-2
5
34
5
-8
-4
0
0
0
0
0
0
0
-2
-34
10
11
-2
-16
3
14
0
-3
1
1
0
0
0
0
0
4
2
14
4
6
25
13
-1
-2
0
0
0
0
0
0
0
0
-1
5
0
5
5
23
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
-1
-1
0
-4
7
0
0
0
0
0
0
0
0
8
0
2
8
15
8
0
-2
2
2
0
0
0
0
0
0
0
-2
7
1
1
4
-19
14
1
-4
0
0
0
0
0
0
0
0
1
-4
-2
-4
14
-14
-4
-4
0
1
0
0
0
0
0
0
0
0
0
3
2
-31
9
5
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-1
0
-1
0
-4
0
0
0
0
0
0
0
0
0
1
3
0
-3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
-8
3
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
-2
8
0
0
0
0
0
0
0
0
0
-3
0
-8
1
1
3
-7
0
-2
0
0
0
0
0
0
0
1
0
-6
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
5
-5
3
-7
-5
0
0
0
0
0
0
0
0
0
1
-4
3
5
-9
-32
-23
-8
2
-2
-2
0
0
0
0
0
0
-1
29
4
2
-8
3
-17
2
4
0
1
0
0
0
0
0
0
-8
9
-4
2
-5
-27
0
9
0
1
0
0
0
0
0
0
0
0
-2
-1
-8
15
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
23
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
-17
-3
3
-6
0
1
0
0
0
0
0
0
0
1
29
6
-12
4
4
0
40
5
-9
1
0
0
0
0
0
0
-2
5
3
15
0
27
-19
8
9
-12
0
0
0
0
0
0
0
4
0
9
-4
-8
-18
10
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
4
25
5
0
-2
0
0
0
0
0
0
0
0
3
3
-1
-1
-16
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-38
2
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
-10
4
8
-2
10
19
0
-7
-3
0
0
0
0
0
0
0
2
15
3
23
-5
5
-8
-8
-5
16
0
0
0
0
0
0
0
-3
-4
-1
27
-8
-8
-24
19
-1
0
0
0
0
0
0
0
0
4
2
6
-10
1
-8
-10
-1
-6
1
0
0
0
0
0
0
0
-1
-5
-1
-8
3
21
-9
0
0
-2
0
0
0
0
0
0
0
0
5
0
-8
25
6
3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-2
22
0
15
0
1
0
0
0
0
0
0
0
0
0
1
0
8
4
6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
8
1
-1
0
0
0
0
0
0
0
0
0
-2
0
4
5
-3
1
-2
0
0
0
0
0
0
0
0
0
-1
2
0
5
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-2
-17
-3
-9
6
0
0
0
0
0
0
0
0
-1
0
0
1
4
-1
0
-1
3
0
0
0
0
0
0
0
0
0
-6
-1
4
-2
-1
3
4
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
0
4
-1
0
1
0
1
0
0
0
0
0
0
0
0
-4
1
1
9
12
2
-1
1
-5
0
0
0
0
0
0
0
-2
-4
0
-4
2
3
-13
-1
-4
-1
0
0
0
0
0
0
0
0
0
3
-1
5
0
-3
0
-8
0
0
0
0
0
0
0
0
0
-1
-3
15
-12
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
14
-2
-1
0
-1
0
0
0
0
0
0
0
4
-6
-4
-3
5
-32
15
38
-9
-1
0
0
0
0
0
0
0
9
4
10
17
-9
15
9
-16
6
-4
0
0
0
0
0
0
0
0
13
9
-4
-5
41
1
8
0
0
0
0
0
0
0
0
0
1
4
2
-2
0
-18
-9
0
-3
0
0
0
0
0
0
0
0
0
0
31
2
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
2
5
0
1
0
0
0
0
0
0
0
0
0
0
2
-3
1
-6
1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
1
-16
-13
0
4
-2
0
0
0
0
0
0
0
-19
-7
10
4
-6
-7
2
-5
4
0
0
0
0
0
0
0
0
-13
-10
-19
4
18
-16
-15
16
0
0
0
0
0
0
0
0
0
-1
0
-4
-7
1
0
9
7
0
1
0
0
0
0
0
0
0
-2
2
4
0
29
-4
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
17
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-10
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
-1
1
9
-1
-6
7
0
0
0
0
0
0
0
0
-4
-1
0
8
-2
5
7
-2
0
0
0
0
0
0
0
0
0
0
4
0
8
2
6
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-1
0
0
4
0
0
0
0
0
0
0
7
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
-9
-7
-1
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
-6
3
0
0
0
0
0
0
0
0
0
0
6
0
5
5
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
-27
4
-1
0
-3
-1
0
0
0
0
0
0
8
-6
1
4
-17
9
-4
-4
-25
0
0
0
0
0
0
0
0
0
23
0
10
2
-6
0
-5
-6
15
0
0
0
0
0
0
0
-2
-3
-7
-2
-4
-16
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
9
-8
20
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
5
1
-3
0
0
0
-5
0
0
0
0
0
0
0
-10
-20
1
-5
6
-5
-8
-6
1
0
0
0
0
0
0
0
0
-9
-2
1
5
16
27
25
-4
9
0
0
0
0
0
0
0
0
0
3
0
-8
4
2
38
8
4
0
0
0
0
0
0
0
0
9
2
-2
-17
19
3
-1
3
0
0
0
0
0
0
0
0
0
2
-1
1
0
23
25
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-5
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
5
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
-14
-1
0
0
0
0
0
0
0
0
13
6
0
0
-4
6
-20
3
12
0
0
0
0
0
0
0
0
-4
-9
10
1
0
14
2
-5
6
1
0
0
0
0
0
0
0
0
0
-12
0
3
2
14
-3
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
1
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
-7
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
14
8
0
0
0
0
0
0
0
0
0
0
-9
7
0
-1
4
-2
-14
-23
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-23
25
-8
12
0
1
0
0
0
0
0
0
0
4
1
24
1
2
-14
-4
1
4
0
0
0
0
0
0
0
0
6
7
7
7
8
0
0
2
0
0
0
0
0
0
0
0
0
-2
-5
-1
-8
-8
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
4
-2
-3
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-5
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
0
-29
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
-7
-15
17
13
-16
0
0
0
0
0
0
0
0
7
4
2
0
24
10
5
-2
-4
0
0
0
0
0
0
0
0
-1
13
-8
3
3
29
1
0
-3
0
0
0
0
0
0
0
0
0
0
7
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
-7
12
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
-11
19
-24
0
0
0
0
0
0
0
0
0
0
0
4
9
1
1
18
0
32
5
12
-12
0
0
0
0
0
0
0
0
-1
3
-24
12
4
-2
5
-4
1
0
0
0
0
0
0
0
8
-2
-3
-7
19
2
4
-2
0
2
0
0
0
0
0
0
0
0
0
-4
6
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
10
-1
0
0
0
-4
-1
0
0
0
0
0
0
0
-5
-1
0
-1
6
-2
-33
-5
-1
0
0
0
0
0
0
0
1
0
4
2
18
7
4
0
1
1
0
0
0
0
0
0
0
-1
-1
0
6
-3
-6
4
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-3
0
-3
9
25
0
-1
0
0
0
0
0
0
0
0
0
-3
5
-3
0
1
-3
0
0
0
0
0
0
0
0
0
-1
-1
0
3
1
-2
0
2
0
0
0
0
0
0
0
0
3
0
1
1
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-14
-1
1
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
-6
0
0
0
0
0
0
0
0
0
4
0
-1
4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-5
4
-5
6
1
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
8
17
-9
-5
0
1
0
0
0
0
0
0
0
0
0
0
-3
-14
-13
25
4
-5
-4
0
0
0
0
0
0
0
0
0
1
1
0
-6
1
3
0
-1
0
0
0
0
0
0
0
0
0
-1
12
4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
2
13
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-7
-4
5
0
0
0
0
0
0
0
0
0
0
2
1
2
-8
74
29
8
0
-3
0
0
0
0
0
0
0
0
0
-10
-13
22
22
-25
12
-25
-5
13
0
0
0
0
0
0
0
0
-1
17
-8
3
13
-5
5
13
-15
0
0
0
0
0
0
0
4
-10
23
-13
5
12
-13
-7
-1
5
0
0
0
0
0
0
0
0
-2
2
5
2
4
-5
0
0
1
0
0
0
0
0
0
0
-1
0
-1
-1
7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
17
0
13
29
-1
1
0
2
1
0
0
0
0
0
0
0
0
-3
31
3
41
-9
0
1
0
6
0
0
0
0
0
0
0
0
8
17
-17
8
-8
24
6
-13
2
0
0
0
0
0
0
0
3
2
16
10
-4
-4
24
4
0
1
0
0
0
0
0
0
0
1
-4
6
15
8
0
19
-13
-7
0
0
0
0
0
0
0
-1
3
-3
6
0
-7
7
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
23
-4
-3
0
0
-2
0
0
0
0
0
0
0
0
-2
1
12
-13
-21
0
7
0
10
2
0
0
0
0
0
0
5
2
14
0
-9
0
-3
12
-1
13
1
0
0
0
0
0
0
0
-9
-15
17
4
5
-10
1
8
-5
1
0
0
0
0
0
0
0
0
-8
3
-18
-13
-7
-2
-2
0
0
0
0
0
0
0
0
1
1
-8
12
-8
-3
3
-3
-2
1
0
0
0
0
0
0
0
0
1
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
0
-5
0
0
-2
-2
0
0
0
0
0
-3
0
1
-6
6
-4
0
0
-2
0
2
-1
0
0
0
0
0
0
0
-1
-3
-8
12
-8
-5
-7
23
-2
0
0
0
0
0
0
0
0
-5
-13
6
12
3
-2
-20
3
8
0
-1
0
0
0
0
0
0
2
-1
1
-5
-3
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
14
-3
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
10
-5
2
-3
6
1
-5
1
0
0
0
0
0
0
1
0
5
2
-2
1
8
2
4
0
0
0
0
0
0
0
2
-3
0
2
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
0
0
0
-5
0
1
0
0
0
0
0
0
0
1
-1
1
-1
0
5
7
-1
0
0
0
0
0
0
0
0
0
0
3
-2
2
-2
8
-5
4
0
0
0
0
0
0
0
2
-1
0
5
1
3
0
1
3
-2
0
0
0
0
0
0
0
0
0
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-7
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
20
9
-1
0
-3
0
0
0
0
0
0
0
0
1
-14
24
2
9
-5
1
1
-8
0
0
0
0
0
0
0
0
0
0
-4
-12
4
16
-1
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
-1
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-14
0
3
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-5
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-23
4
0
6
4
-24
0
8
0
0
0
0
0
0
0
0
3
4
7
-7
5
-13
7
9
32
5
0
0
0
0
0
0
0
5
-1
-1
24
8
38
-7
-13
-3
-3
0
0
0
0
0
0
0
0
-1
4
-20
-10
-23
1
0
15
3
0
0
0
0
0
0
0
0
0
0
4
-4
-12
-6
-1
2
3
0
0
0
0
0
0
0
0
1
6
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
0
-15
-15
-8
0
0
-12
0
0
0
0
0
0
0
0
20
0
-19
-6
2
0
6
0
-8
0
0
0
0
0
0
0
2
0
-18
-1
33
-6
3
8
13
-13
0
0
0
0
0
0
0
0
13
6
-1
1
41
14
5
-19
-1
0
0
0
0
0
0
0
30
12
23
-6
4
-1
-9
0
4
0
0
0
0
0
0
0
0
-2
-6
8
9
-4
2
0
2
-3
1
0
0
0
0
0
0
0
-1
3
1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-25
0
2
6
0
0
0
0
0
0
0
0
0
0
3
-5
1
3
0
29
0
-8
0
4
-1
0
0
0
0
0
0
0
-12
-1
10
7
1
-4
5
2
7
0
0
0
0
0
0
0
1
0
15
0
-13
13
25
0
-6
2
-1
0
0
0
0
0
-1
0
6
2
6
-5
-4
-16
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
8
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
3
2
-5
0
0
0
0
0
2
0
0
0
0
0
1
0
4
0
-7
-16
13
-3
8
1
-8
0
0
0
0
0
0
0
5
0
-2
0
12
3
1
0
0
0
0
0
0
0
0
0
0
0
2
10
14
0
0
1
-2
1
0
0
0
0
0
0
0
0
8
2
1
0
2
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
-1
0
-9
1
-3
0
0
0
0
0
0
-1
0
0
0
1
-2
4
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
-2
-8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
2
-1
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
8
-5
-4
0
2
0
0
0
0
0
0
0
0
-7
-1
4
4
-15
29
-1
-4
-13
0
0
0
0
0
0
0
0
0
-10
4
0
-4
0
3
0
-3
0
0
0
0
0
0
0
0
0
-2
2
-2
24
-13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
5
-5
8
-8
-3
0
0
0
0
0
0
0
0
0
2
10
-13
36
6
-16
-8
0
-1
0
0
0
0
0
0
0
0
0
15
2
0
-6
4
-29
-6
31
-42
0
0
0
0
0
0
0
0
0
22
22
-1
5
-18
-33
0
-9
0
0
0
0
0
0
0
0
-7
-2
33
40
4
38
2
-10
8
0
0
0
0
0
0
0
3
0
-13
-1
-12
5
-18
-3
-2
6
0
0
0
0
0
0
0
0
0
-13
-3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
7
9
-1
3
-8
0
0
2
0
0
0
0
0
0
0
22
8
-38
20
-22
12
0
-1
0
-6
0
0
0
0
0
0
-3
0
-15
-4
0
19
12
-3
-25
-41
-6
0
0
0
0
0
0
0
-8
-1
36
-8
5
-1
-2
-1
7
1
0
0
0
0
0
0
0
3
6
-1
25
20
10
-5
-8
1
-1
0
0
0
0
0
0
0
1
-3
-10
1
-8
29
1
0
-3
0
0
0
0
0
0
0
0
4
0
6
8
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
-4
2
1
0
0
0
-3
0
0
0
0
0
0
0
-1
-9
-3
9
-14
33
0
0
0
10
0
0
0
0
0
0
0
0
-1
-1
6
0
-9
-5
10
-13
-8
-1
0
0
0
0
0
0
0
-4
0
-2
-9
-5
0
-3
1
-3
0
0
0
0
0
0
0
0
-1
0
1
-4
-6
0
-6
-2
3
-1
0
0
0
0
0
0
0
0
8
12
6
7
0
-1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
1
-2
0
0
2
2
1
0
0
0
0
0
0
3
1
1
2
-8
10
0
-1
0
-8
1
4
0
0
0
0
0
0
1
0
-6
0
-8
14
-5
0
-2
-3
0
0
0
0
0
0
0
0
12
0
0
16
7
0
3
0
-1
0
0
0
0
0
0
0
1
0
-16
0
-14
-4
2
-4
0
0
0
0
0
0
0
0
-2
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-2
2
0
0
0
6
0
0
0
0
0
0
0
0
-3
1
0
1
0
4
4
-8
3
1
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-25
12
9
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
2
3
-1
4
0
0
0
0
0
0
0
0
-1
0
-5
3
-5
29
7
0
1
0
0
0
0
0
0
0
0
0
8
-2
0
-1
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
8
-2
2
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-8
-24
1
-15
0
-1
0
0
0
0
0
0
0
0
-3
-4
10
1
0
14
23
8
-1
8
0
0
0
0
0
0
0
0
3
2
18
-1
-1
-7
-1
6
0
0
0
0
0
0
0
0
2
0
-8
-1
8
27
-3
1
2
4
0
0
0
0
0
0
0
0
-1
1
10
-17
9
1
1
2
0
0
0
0
0
0
0
0
0
0
5
-1
-6
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
25
6
-2
0
5
0
0
0
0
0
0
0
0
0
0
-9
-2
-17
7
8
-10
0
0
0
8
0
0
0
0
0
0
0
-1
-22
-22
-25
-21
7
-9
-13
4
0
0
0
0
0
0
0
1
0
-1
0
8
30
-3
8
-4
1
-2
0
0
0
0
0
0
0
0
0
3
10
-7
4
1
0
-2
0
0
0
0
0
0
0
0
0
9
0
-10
-12
4
5
-1
0
0
0
0
0
0
0
0
0
-2
-2
-20
3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-8
7
2
0
0
1
0
0
0
0
0
0
0
-1
-7
0
40
-15
-12
0
1
0
-3
8
0
0
0
0
0
0
0
0
-2
0
4
-25
1
-16
3
-15
0
0
0
0
0
0
0
-2
0
-10
-3
-25
-3
1
3
3
-3
0
0
0
0
0
0
0
0
1
0
1
-12
-9
3
3
-3
0
0
0
0
0
0
0
0
-8
0
4
0
12
0
22
-2
0
-2
0
0
0
0
0
0
0
0
1
4
3
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
4
-18
0
6
0
-1
0
-1
-6
0
0
0
0
0
0
1
-1
2
-2
3
-6
-7
0
2
2
-1
0
0
0
0
0
0
0
-1
0
12
1
13
4
-5
1
0
0
0
0
0
0
0
0
0
0
7
0
25
6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
1
3
0
0
0
0
0
0
0
0
0
-1
0
3
0
2
4
-2
0
1
0
0
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
-2
-2
0
0
-2
0
0
0
0
0
0
0
0
0
-3
8
0
6
-1
2
-1
13
0
0
0
0
0
0
0
0
2
-4
2
-7
16
1
-2
-7
2
0
0
0
0
0
0
0
0
0
0
-1
0
-16
-7
1
0
-1
0
0
0
0
0
0
0
0
0
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-3
-4
-2
1
0
0
-1
0
0
0
0
0
0
0
0
5
24
-13
9
-4
3
0
5
0
0
0
0
0
0
0
0
3
10
0
-13
-9
-17
5
2
-8
-6
0
0
0
0
0
0
0
0
-1
0
-1
-12
29
-32
-2
3
5
0
0
0
0
0
0
0
0
-5
0
-4
-6
5
-16
-2
2
3
0
0
0
0
0
0
0
0
0
5
-1
8
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
8
-3
0
0
0
3
0
0
0
0
0
0
0
-6
0
-12
8
3
2
0
-6
0
0
0
0
0
0
0
0
0
0
-16
29
-30
-6
8
-5
13
-44
-5
0
0
0
0
0
0
0
-1
0
-5
6
-41
22
-14
5
-1
0
0
0
0
0
0
0
-2
0
-8
0
7
10
26
12
3
0
0
0
0
0
0
0
0
0
-10
0
-8
0
-13
-1
8
0
1
0
0
0
0
0
0
0
0
0
-8
0
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-4
1
-1
0
0
0
0
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
4
1
-10
0
0
0
0
-1
-2
0
0
0
0
0
0
-3
-14
-1
-10
13
-13
0
0
0
-3
0
0
0
0
0
0
0
0
4
2
-1
-24
6
4
1
-8
-3
0
0
0
0
0
0
0
0
0
-3
6
-13
4
-2
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
5
-1
-5
1
5
7
0
0
0
0
0
0
0
0
7
0
9
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
2
5
-12
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
3
0
-6
-2
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
-5
21
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
17
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
1
-3
-3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
34
-3
2
-4
0
3
0
0
0
0
0
0
0
0
3
0
-13
-7
-19
6
7
0
16
9
0
0
0
0
0
0
0
0
-3
-10
5
1
-32
-16
-8
1
5
0
0
0
0
0
0
0
0
0
5
-1
-8
-8
-6
5
0
-18
0
0
0
0
0
0
0
0
4
0
-7
12
-9
-8
0
-6
0
0
0
0
0
0
0
0
0
0
-7
7
-10
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-4
14
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
2
1
8
-5
-14
-7
0
0
0
0
0
0
0
-6
4
7
2
16
23
3
0
-4
1
0
0
0
0
0
0
0
0
-3
7
8
9
2
-1
1
4
-16
0
0
0
0
0
0
0
0
0
0
4
8
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
-5
0
1
0
0
1
0
0
0
0
0
0
0
1
-3
-13
5
23
-2
0
0
0
-1
2
0
0
0
0
0
0
0
4
3
-5
6
9
-2
4
-24
-1
-1
0
0
0
0
0
0
1
-1
-7
25
-9
-3
3
1
2
-3
-1
0
0
0
0
0
0
0
7
1
-1
-3
-4
-1
0
-5
0
1
0
0
0
0
0
0
0
0
1
0
-1
17
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-9
13
0
0
0
2
0
1
-1
0
0
0
0
0
0
0
0
-1
1
1
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
2
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-6
3
0
0
1
0
0
0
0
0
0
0
0
0
1
0
8
-7
-8
0
0
1
-33
0
0
0
0
0
0
0
0
-3
0
-7
9
4
-8
-4
0
3
0
0
0
0
0
0
0
0
0
-5
0
-3
19
3
2
8
-2
0
0
0
0
0
0
0
0
-1
1
0
4
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-10
0
0
0
2
0
0
0
0
0
0
0
0
5
-1
-9
0
4
0
-6
1
7
0
0
0
0
0
0
0
0
0
-6
-4
1
0
-7
1
-6
-2
0
0
0
0
0
0
0
0
0
4
0
0
2
0
-4
1
0
0
0
0
0
0
0
0
0
0
-19
-1
-1
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
2
0
0
0
0
0
0
0
0
0
4
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
-1
-2
-3
1
0
0
0
0
0
0
0
0
0
1
3
10
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
2
0
2
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
-1
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
0
-3
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-1
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
3
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
7
-1
-3
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
1
0
0
0
0
0
0
0
0
0
1
-5
0
1
14
-4
-6
12
-2
2
0
0
0
0
0
0
0
0
-2
1
1
10
8
-5
3
13
9
0
0
0
0
0
0
0
0
1
0
2
-6
-9
10
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
-4
-2
-6
-2
0
0
0
0
0
0
0
0
0
0
-4
0
1
10
16
-1
0
-3
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
1
-5
-5
0
2
1
0
0
0
0
0
0
0
5
2
-2
2
-15
17
30
-1
1
0
0
0
0
0
0
0
0
0
-6
4
8
-2
6
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
18
0
-3
1
0
13
0
0
0
0
0
0
0
1
0
0
0
-1
8
4
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
1
2
-2
0
-1
6
1
1
3
5
0
0
0
0
0
0
0
0
-1
0
-4
-8
0
6
-6
-2
1
0
0
0
0
0
0
0
0
-1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
-4
-1
-1
-2
0
0
0
0
0
0
0
0
1
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-7
-3
-7
-22
-13
0
0
0
0
0
0
0
0
5
-2
-2
-1
3
-24
12
1
-1
0
0
0
0
0
0
0
0
1
0
0
-1
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
4
-20
-3
-5
0
-2
0
0
0
0
0
0
0
0
-2
-2
-2
-8
-16
40
17
17
0
0
0
0
0
0
0
0
0
-2
3
4
25
-12
0
-27
-8
27
0
0
0
0
0
0
0
0
0
-3
4
-12
-12
-1
0
-3
-1
0
0
0
0
0
0
0
0
-5
0
-1
-9
-7
4
-2
1
-2
0
0
0
0
0
0
0
0
-8
0
0
4
10
-3
-8
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
12
-3
-4
0
8
0
0
0
0
0
0
0
0
8
1
3
8
-6
-13
5
-12
-5
2
0
0
0
0
0
0
0
8
8
0
-13
24
-2
-12
40
6
0
0
0
0
0
0
0
0
-1
-2
-3
2
-7
-5
-10
0
10
1
0
0
0
0
0
0
0
0
0
-1
1
-3
-9
0
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-8
0
5
0
1
4
0
0
0
0
0
0
0
0
0
1
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
5
-5
8
-3
0
-5
7
0
0
0
0
0
0
0
4
2
0
10
4
23
15
5
-5
-6
0
0
0
0
0
0
0
0
0
2
16
1
0
-4
8
2
0
0
0
0
0
0
0
0
-1
0
9
0
7
-5
-7
-3
5
0
0
0
0
0
0
0
0
-4
0
1
0
1
-2
10
4
-2
0
1
0
0
0
0
0
0
0
0
1
0
-4
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
-1
1
6
0
-3
0
0
0
0
0
0
0
0
-1
0
4
0
4
0
1
0
0
6
0
0
0
0
0
0
0
1
-7
-1
-6
-1
7
14
5
4
1
-1
0
0
0
0
0
0
0
-2
0
-2
-6
2
13
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
4
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-1
-2
-1
15
5
0
0
0
0
0
0
0
0
0
6
2
6
0
2
32
2
1
8
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
-3
1
-1
0
0
0
0
0
0
0
0
0
1
0
2
-2
5
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
2
-8
5
14
0
1
0
0
0
0
0
0
0
4
5
5
4
7
-12
6
1
-7
0
0
0
0
0
0
0
0
0
-1
0
10
-2
5
-24
-6
12
0
0
0
0
0
0
0
0
2
6
3
-6
-6
1
1
-4
0
-1
0
0
0
0
0
0
0
0
0
-4
3
2
7
-3
4
-3
0
0
0
0
0
0
0
0
0
0
1
0
5
7
6
-2
-1
0
0
0
0
0
0
0
0
0
0
4
0
9
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
-27
-27
0
1
0
0
0
0
0
0
0
-3
-29
9
4
-13
8
17
-14
-2
10
9
0
0
0
0
0
0
-1
-9
4
-2
13
-8
0
18
6
-6
0
0
0
0
0
0
0
0
0
1
0
48
0
-8
6
8
-4
0
0
0
0
0
0
0
-1
0
-1
-2
-7
4
13
-4
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
12
5
6
0
-23
1
1
0
0
0
0
0
0
5
5
3
2
3
8
0
3
-6
2
-1
0
0
0
0
0
0
0
8
0
20
-3
1
-6
-2
3
-1
0
0
0
0
0
0
0
0
1
-1
-4
25
0
6
6
4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
4
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-5
-3
0
-1
-7
0
0
0
0
0
0
0
0
2
2
8
0
-7
-5
1
-5
0
0
0
0
0
0
0
0
0
-2
-3
0
-5
2
0
-5
-1
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
-4
2
4
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
3
0
2
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-1
1
0
0
0
0
0
0
0
0
1
-1
-2
1
-2
8
3
1
-1
0
0
0
0
0
0
0
0
-1
1
2
0
6
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
4
1
0
0
0
0
0
0
0
0
0
1
2
2
0
3
-4
4
0
8
0
0
0
0
0
0
0
0
7
-1
0
-8
6
-3
-8
-5
-2
0
0
0
0
0
0
0
0
0
0
2
8
3
-6
2
1
0
0
0
0
0
0
0
0
0
2
0
1
-1
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-3
-2
-5
41
0
1
0
0
0
0
0
0
0
-2
0
-2
-1
7
0
-1
-18
6
4
0
0
0
0
0
0
0
2
-8
6
0
12
9
-10
-8
16
-8
0
0
0
0
0
0
0
0
0
0
-16
8
29
-2
-1
7
0
0
0
0
0
0
0
0
0
2
-3
0
14
-7
3
6
6
0
0
0
0
0
0
0
0
0
0
0
1
1
41
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
3
8
0
8
-1
0
0
0
0
0
0
0
-1
-6
0
5
0
8
13
-15
-7
0
0
0
0
0
0
0
0
2
13
-3
20
1
18
1
8
16
-1
0
0
0
0
0
0
7
-9
0
7
9
25
1
-5
4
-8
1
0
0
0
0
0
0
0
0
0
0
1
-13
38
0
-6
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
8
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
16
-5
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
15
6
0
3
-4
0
0
0
0
0
0
0
0
-2
-1
-10
-5
-12
10
-8
-3
6
0
0
0
0
0
0
0
0
0
-6
-9
0
-20
7
-6
8
-3
-2
0
0
0
0
0
0
-2
9
0
2
-4
-2
-5
0
-7
0
1
0
0
0
0
0
0
3
0
0
6
1
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
0
-3
0
-8
-8
7
14
-1
1
0
0
0
0
0
0
0
0
-1
3
-7
-3
0
5
0
0
-1
0
0
0
0
0
0
0
1
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
2
-2
0
0
0
0
0
0
0
0
0
3
0
1
0
3
1
-14
-1
3
0
0
0
0
0
0
0
0
-3
0
0
-3
-1
-7
5
-4
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
2
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-2
13
-16
0
9
0
0
0
0
0
0
0
1
-2
0
0
-9
-10
6
15
8
1
0
0
0
0
0
0
0
5
0
0
-1
-2
-9
12
-8
19
0
0
0
0
0
0
0
0
-7
0
1
-7
2
30
-2
-1
6
-3
0
0
0
0
0
0
0
0
0
1
-4
36
-10
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
7
10
-4
7
0
0
0
0
0
0
0
0
0
-3
0
0
-15
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
41
16
0
8
0
0
0
0
0
0
0
0
1
-8
4
0
12
-1
7
21
0
4
0
0
0
0
0
0
0
-12
3
8
0
23
0
-14
-23
-6
-1
0
0
0
0
0
0
0
3
6
-1
-9
3
3
8
-5
0
2
0
0
0
0
0
0
-1
-4
0
3
-8
17
24
10
-3
0
1
0
0
0
0
0
0
0
0
0
-4
1
-2
-8
-3
-6
0
-4
0
0
0
0
0
0
0
0
1
-1
23
-2
-6
16
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
6
2
8
2
0
7
1
0
0
0
0
0
0
0
1
0
8
-20
2
5
9
-8
-9
8
0
0
0
0
0
0
0
-1
-1
0
43
-5
10
3
12
0
0
0
0
0
0
0
0
0
2
6
0
-5
1
1
1
1
4
2
0
0
0
0
0
0
0
4
-1
0
-8
7
-5
2
1
-2
0
0
0
0
0
0
0
0
-4
0
0
-1
-1
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
-9
-41
0
-2
0
0
0
0
0
0
0
0
0
3
0
7
-4
4
3
8
0
0
0
0
0
0
0
0
3
0
0
0
-6
-2
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-6
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
-4
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
19
-1
1
3
0
0
0
0
0
0
0
0
1
3
-1
1
2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
19
0
2
0
0
0
0
0
0
0
1
-12
3
5
1
5
-9
7
-32
0
0
0
0
0
0
0
0
0
-4
0
0
2
12
-2
12
-4
-3
0
0
0
0
0
0
0
0
0
0
0
25
-8
5
2
1
0
0
0
0
0
0
0
0
0
-1
1
3
9
-7
3
6
-1
2
0
0
0
0
0
0
0
0
0
0
-3
18
-24
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
1
4
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
3
0
4
-4
1
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-8
-7
-8
-15
-4
-6
0
0
0
0
0
0
0
1
-8
6
0
-5
-12
-5
-1
-1
0
0
0
0
0
0
0
4
2
0
0
3
-13
-4
0
-1
0
0
0
0
0
0
0
0
-1
-3
1
-2
-7
1
24
-2
3
2
0
0
0
0
0
0
0
0
-1
0
0
0
6
-3
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
-12
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
5
-1
3
-1
-4
-16
0
-7
0
0
0
0
0
0
0
0
-1
-8
0
-1
-3
0
2
-13
1
1
0
0
0
0
0
0
0
0
3
0
10
2
9
-10
2
-14
0
1
0
0
0
0
0
0
0
0
0
-3
6
-1
19
0
4
0
0
0
0
0
0
0
0
0
0
0
7
5
-2
-1
1
0
0
0
0
0
0
0
0
0
2
0
0
1
-5
-4
14
0
1
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
8
-4
2
2
4
0
0
0
0
0
0
0
0
0
1
-6
-1
5
-7
15
6
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
6
0
0
0
0
0
0
0
0
0
1
8
2
9
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
2
1
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
-9
0
0
18
-1
-2
-8
8
-1
0
0
0
0
0
0
0
0
9
0
2
0
2
17
13
3
1
0
0
0
0
0
0
0
0
1
0
4
-8
13
5
6
3
-6
0
0
0
0
0
0
0
0
-1
3
5
-5
-4
16
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
1
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-32
-2
3
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
1
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
-1
-5
-3
0
-12
0
0
0
0
0
0
0
1
-14
-3
-1
4
2
12
12
19
-4
-1
0
0
0
0
0
0
0
0
-2
0
3
0
-2
2
-7
7
-2
0
0
0
0
0
0
0
0
-1
-2
-8
1
-12
0
2
2
0
0
0
0
0
0
0
0
-1
0
1
-20
-14
-3
-2
0
2
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
4
10
1
0
0
0
0
0
0
0
0
0
1
0
0
-2
10
10
1
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
2
0
-2
1
0
0
0
0
0
0
0
1
0
-2
-1
-4
-9
13
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
13
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
6
5
4
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
4
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
29
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-8
-2
-4
-4
3
30
-1
-7
8
0
0
0
0
0
0
0
0
3
0
0
-10
-4
-1
3
3
1
0
0
0
0
0
0
0
0
0
-4
2
-8
0
-3
1
2
0
0
0
0
0
0
0
0
0
2
0
-1
9
-8
-1
-1
-2
0
0
0
0
0
0
0
0
0
1
0
13
-6
-16
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
17
-1
3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
1
-1
5
-3
-1
0
0
0
0
0
0
0
0
0
3
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-25
1
0
0
1
0
0
0
0
0
0
0
0
0
-5
1
-3
14
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
1
0
-2
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
-19
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
6
2
14
-16
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
16
7
-12
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
1
-2
-10
0
0
0
0
0
0
0
0
0
0
-1
0
2
6
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
2
5
0
5
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-6
2
-19
22
33
-53
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-15
32
18
-3
0
0
0
0
0
0
0
0
0
0
0
10
-7
-33
-42
-12
1
0
0
0
0
0
0
0
0
0
0
0
6
10
2
-2
7
-1
0
0
0
0
0
0
0
0
0
0
-1
3
-1
5
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
27
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
-5
12
-2
0
0
0
0
0
0
0
0
0
0
4
-5
-8
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
1
8
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
3
1
3
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-20
-19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
25
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
4
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-23
-44
7
0
0
0
0
0
0
0
0
0
0
-2
-4
2
8
22
7
0
0
0
0
0
0
0
0
0
0
0
1
-1
25
-9
23
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
18
-20
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-5
-6
5
4
-1
0
0
0
0
0
0
0
0
0
0
3
-33
3
1
-7
0
1
0
0
0
0
0
0
0
0
0
4
0
-8
-1
5
12
-4
6
0
0
0
0
0
0
0
0
0
0
3
3
-6
-15
-20
-16
1
0
0
0
0
0
0
0
0
0
0
0
-22
-5
-5
-3
-31
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
-30
0
0
0
0
0
0
0
0
0
1
-7
-3
-1
-4
24
6
1
2
0
0
0
0
0
0
0
0
0
0
-16
41
-5
-17
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
-5
23
9
0
0
0
0
0
0
0
0
0
0
-2
7
0
4
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
-1
-23
41
10
3
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-10
24
0
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-1
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
10
18
-7
0
-4
1
0
0
0
0
0
0
0
0
0
0
3
1
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
0
0
0
-3
0
-2
0
15
-8
2
-1
0
0
0
0
0
0
0
0
0
0
3
-3
3
1
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
1
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-5
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-14
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
35
22
2
0
0
0
0
0
0
0
0
0
-1
0
-4
24
24
4
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
-2
3
-8
10
-46
-5
0
0
0
0
0
0
0
0
0
0
0
-2
4
9
19
25
-8
3
0
0
0
0
0
0
0
0
0
0
0
9
24
-1
18
1
0
0
0
0
0
0
0
0
0
0
0
-1
-15
2
6
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
-12
2
0
0
0
0
0
0
0
0
0
0
-2
0
-22
-17
17
5
-1
0
0
0
0
0
0
0
0
0
2
1
-1
23
-8
2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
5
-5
-12
5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-3
8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-12
1
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
17
3
0
0
0
0
0
0
0
0
0
0
3
-1
-4
-3
2
2
-1
1
0
0
0
0
0
0
0
0
0
-1
0
5
1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
2
-8
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
13
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
4
0
2
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-6
-2
-2
4
-1
-25
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-38
4
-28
-2
1
0
0
0
0
0
0
0
0
0
0
-3
12
-4
16
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
4
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-16
-2
-12
-30
16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
9
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
10
1
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
-1
-3
1
22
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-12
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
-1
0
0
-8
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-7
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
0
0
0
0
0
0
1
0
4
-3
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
8
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
3
1
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-17
21
-6
-44
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-4
9
4
-14
0
0
0
0
0
0
0
0
0
-2
0
0
1
4
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
8
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
-7
14
1
-17
0
0
0
0
0
0
0
0
0
0
0
-2
-3
3
2
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
-1
-12
4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-47
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
1
6
0
-16
0
0
0
0
0
0
0
0
0
1
0
1
4
-7
7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
-1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-7
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
-8
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
5
-3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
0
-1
-9
15
0
0
0
0
0
0
0
0
0
0
1
0
-1
-24
-6
-19
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-2
-36
0
2
1
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
6
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
-2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-2
0
4
-8
-3
-24
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
15
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-29
-2
12
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
30
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
33
32
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
-2
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
6
4
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-17
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
9
3
-1
0
0
0
0
0
0
0
0
0
0
-1
0
4
-1
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-3
-16
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-7
-2
0
-4
59
-10
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-21
24
6
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-5
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
-15
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
4
-13
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
-13
30
9
-2
0
0
0
0
0
0
0
0
0
0
1
0
-3
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-30
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-41
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-12
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-1
7
-4
3
8
2
0
0
0
0
0
0
0
0
0
0
0
4
-22
-8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-5
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
24
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
15
-20
-12
0
0
0
0
0
0
0
0
0
0
0
-1
4
14
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
2
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
14
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-28
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
14
-9
1
1
-3
0
0
0
0
0
0
0
0
0
0
7
-3
-12
-14
18
24
0
0
0
0
0
0
0
0
0
0
0
4
8
-3
-7
9
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
-4
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
4
0
6
16
13
-5
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-15
8
29
-6
0
0
0
0
0
0
0
0
0
0
0
-2
1
17
-23
-8
-12
1
0
0
0
0
0
0
0
0
0
0
-29
-5
-5
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-30
34
7
0
0
0
0
0
0
0
0
0
0
0
0
12
6
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
-10
0
9
-6
-4
0
0
0
0
0
0
0
0
0
0
-3
-1
-19
-4
7
-1
1
-8
0
0
0
0
0
0
0
0
0
0
1
0
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-16
-5
0
-3
0
-1
0
0
0
0
0
0
0
0
0
4
-3
-2
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-14
1
-3
9
-2
2
0
0
0
0
0
0
0
0
1
3
0
15
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
1
7
2
0
0
0
0
0
0
0
0
0
0
0
-3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-5
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
10
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-6
3
0
2
0
2
0
0
0
0
0
0
0
0
0
0
-1
-9
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
1
1
5
0
0
0
0
0
0
0
0
0
0
0
-9
0
8
0
-10
-1
-3
1
0
0
0
0
0
0
0
0
0
2
3
-15
-32
-2
1
6
0
0
0
0
0
0
0
0
0
0
-9
1
-7
30
-20
-9
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
25
-13
-1
0
0
0
0
0
0
0
0
0
0
0
8
3
36
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-25
10
-8
-8
-3
0
0
0
0
0
0
0
0
0
0
8
1
4
-22
-3
10
-1
-1
0
0
0
0
0
0
0
0
1
15
-5
20
7
-30
-9
2
0
0
0
0
0
0
0
0
0
-1
-29
2
-6
-21
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
6
2
42
8
0
0
0
0
0
0
0
0
0
0
0
1
19
4
-1
-1
2
-7
0
0
0
0
0
0
0
0
0
0
1
-24
-4
2
12
1
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
-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
-7
5
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
8
3
-1
0
0
0
0
0
0
0
0
0
0
4
3
3
5
0
-9
-4
-2
0
0
0
0
0
0
0
0
0
25
7
22
-12
-21
3
-1
1
0
0
0
0
0
0
0
0
0
0
4
-13
-1
2
-7
0
0
0
0
0
0
0
0
0
0
0
3
3
2
-4
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
1
23
-5
3
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-24
-6
2
-1
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
24
-1
-2
8
3
-1
0
0
0
0
0
0
0
0
0
1
-5
0
3
8
23
1
0
0
2
0
0
0
0
0
0
0
0
1
-8
-2
-5
5
1
0
0
0
0
0
0
0
0
0
0
2
-1
-9
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
22
2
-1
0
0
1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-1
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-1
-8
-5
-5
4
7
2
0
0
0
0
0
0
0
0
0
0
1
0
8
14
5
-4
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
10
15
-1
-2
-2
-3
0
-2
-1
0
0
0
0
0
0
0
7
1
3
-8
-3
1
-1
-4
0
0
0
0
0
0
0
0
0
4
15
6
0
16
1
0
0
-1
0
0
0
0
0
0
0
0
-2
-4
0
-7
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
4
1
1
-1
1
0
0
0
0
0
0
0
0
0
-1
-4
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
2
2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
1
2
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
-7
8
-2
-1
10
-2
0
0
0
0
0
0
0
0
0
0
0
3
6
-3
-13
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-6
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-10
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
13
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
12
6
17
34
-4
5
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
5
-10
-6
-4
8
0
0
0
0
0
0
0
0
0
0
0
13
-2
23
4
-3
-1
-4
0
0
0
0
0
0
0
0
0
0
-23
1
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-8
14
-4
0
-1
0
0
0
0
0
0
0
0
0
-3
13
0
-4
-38
-5
24
0
1
0
0
0
0
0
0
0
0
0
8
-3
-27
1
-23
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
-29
6
-6
-6
1
0
0
0
0
0
0
0
0
0
0
8
-6
4
-8
1
-6
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
2
-8
5
-2
-3
0
0
0
0
0
0
0
0
0
-1
-19
-13
-1
1
6
-3
-3
0
0
0
0
0
0
0
0
0
-2
8
17
1
-8
-3
2
0
0
0
0
0
0
0
0
0
0
-1
4
4
5
7
14
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-1
15
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
6
2
5
-2
3
0
0
0
0
0
0
0
0
0
0
1
-2
2
6
1
3
-1
0
0
0
0
0
0
0
0
0
0
6
1
-2
0
0
1
4
-1
0
0
0
0
0
0
0
0
-3
1
-5
-14
0
-17
4
0
0
0
0
0
0
0
0
0
0
1
-5
-8
8
1
-6
0
0
3
0
0
0
0
0
0
0
0
1
-1
29
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
1
5
4
-5
-17
0
-2
2
0
0
0
0
0
0
0
0
0
-3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
8
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
12
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
3
-24
0
1
0
0
0
0
0
0
0
0
0
1
2
-19
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
2
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
7
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
0
-14
5
-3
-6
-2
1
0
0
0
0
0
0
0
0
0
-13
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
-25
-8
6
0
0
0
0
0
0
0
0
0
0
0
6
4
-11
-19
21
9
2
1
0
0
0
0
0
0
0
0
0
0
-25
-20
-13
12
-7
3
0
0
0
0
0
0
0
0
0
0
2
-1
31
-12
1
-5
-1
0
0
0
0
0
0
0
0
0
0
1
2
-25
33
-16
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
2
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
-7
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-23
-10
6
2
2
0
0
0
0
0
0
0
0
0
0
-5
1
10
5
16
0
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
6
0
14
0
19
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
-6
0
-1
3
0
0
0
0
0
0
0
0
0
0
1
10
1
-9
4
-7
8
2
0
0
0
0
0
0
0
0
0
0
-3
4
10
-5
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
5
4
-25
2
8
5
0
0
0
0
0
0
0
0
0
0
14
-12
-2
-10
8
2
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-4
-10
-4
0
-5
-2
4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
10
0
-6
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
14
16
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
0
-1
0
0
0
0
0
0
0
0
0
4
6
-1
2
12
0
-12
0
3
0
0
0
0
0
0
0
0
0
-3
-1
20
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
-3
8
-1
1
-3
-4
0
1
0
0
0
0
0
0
0
0
0
-2
3
3
8
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-14
3
-3
0
7
2
0
0
0
0
0
0
0
0
0
3
18
-2
5
12
-18
1
2
-3
0
0
0
0
0
0
0
0
-1
-23
1
-29
5
0
-10
0
0
0
0
0
0
0
0
0
0
6
-8
1
-9
9
0
1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-8
-15
-1
2
0
0
0
0
0
0
0
0
0
0
0
-10
7
-1
2
8
-1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
1
4
0
0
0
2
0
0
0
0
0
0
0
0
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-7
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-4
10
22
1
0
0
0
0
0
0
0
0
0
0
0
-8
17
-7
24
6
3
4
0
0
0
0
0
0
0
0
0
0
-8
-2
28
-8
10
0
1
0
0
0
0
0
0
0
0
0
0
-4
-13
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
-20
1
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-15
7
-2
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
4
25
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-16
-2
3
0
-5
0
0
0
0
0
0
0
0
0
0
-6
2
0
24
-18
2
0
0
0
0
0
0
0
0
0
0
0
18
2
-23
5
-10
4
1
0
0
0
0
0
0
0
0
0
0
-8
0
-14
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
8
8
-8
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
-1
-1
8
-2
0
0
0
0
0
0
0
0
0
0
-3
3
5
5
2
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
8
-2
6
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-8
12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
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
-1
4
-1
0
0
0
0
0
0
0
0
0
0
2
5
-6
5
-1
0
1
2
0
0
0
0
0
0
0
0
0
-1
4
-8
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-14
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
-3
-5
0
0
0
0
0
0
0
0
0
0
2
-3
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
-2
5
5
-1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
25
-7
3
0
1
-3
0
0
0
0
0
0
0
0
0
0
-1
3
-1
7
0
1
-1
-4
0
0
0
0
0
0
0
0
4
17
-10
-17
4
-10
2
1
0
1
0
0
0
0
0
0
0
-1
2
12
-17
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-4
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
4
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-17
10
-2
-7
2
0
0
0
0
0
0
0
0
0
0
0
8
16
-8
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
-5
-6
16
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
6
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-18
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
6
-1
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
5
5
-10
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
-3
2
2
14
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
-4
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
4
5
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-1
2
-4
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
4
-3
4
2
-1
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
0
2
0
-4
2
0
0
0
0
0
0
0
0
0
1
-13
7
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
7
16
7
4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-10
14
1
-3
16
8
0
0
0
0
0
0
0
0
0
0
0
2
3
10
-1
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-6
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
-4
3
3
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
4
0
0
0
0
0
0
0
0
0
0
0
2
19
5
8
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-12
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-5
8
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
4
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
3
5
1
1
-1
0
0
0
0
0
0
0
0
0
0
-3
2
49
-15
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-4
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
5
30
-6
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
3
13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-12
1
3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
8
4
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
-1
4
-12
1
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
4
2
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-12
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
-20
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
8
-3
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
-12
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
-6
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
-7
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
24
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-3
7
0
-7
-14
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-7
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
6
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-3
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
-12
-5
-15
0
0
0
0
0
0
0
0
0
3
0
0
-3
-13
-7
32
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
-16
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
10
-5
-30
4
-3
0
0
0
0
0
0
0
0
0
-2
0
-1
5
-10
15
12
13
-3
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
-15
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
2
6
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
1
-2
24
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
8
-34
-19
-18
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
6
-9
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
5
1
26
-12
9
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
17
-24
-5
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
1
1
-7
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
22
12
-4
-41
16
2
0
0
0
0
0
0
0
0
0
0
0
1
-5
16
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
10
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-1
-3
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
8
3
-45
1
-34
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
21
5
-22
0
0
0
0
0
0
0
0
0
0
0
-1
3
7
-7
2
12
0
0
0
0
0
0
0
0
0
0
0
0
5
4
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-22
-10
23
-27
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
18
2
-1
0
0
0
0
0
0
0
0
0
0
0
8
3
0
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
-34
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
10
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
6
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
3
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
8
15
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
5
18
2
0
0
0
0
0
0
0
0
0
1
0
0
1
-8
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-8
16
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
10
29
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
8
0
3
0
0
0
0
0
0
0
0
0
0
0
3
2
2
-5
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
3
-1
0
0
0
0
0
0
0
0
1
0
0
-3
12
1
2
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-17
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
-4
1
-6
2
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-26
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
7
4
-4
4
1
0
-2
0
0
0
0
0
0
0
0
2
-1
3
5
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-15
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
7
7
1
-13
1
-22
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-3
-7
-7
-17
1
0
0
0
0
0
0
0
0
0
0
0
3
-5
-7
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
-1
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
-9
2
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
6
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
-24
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
8
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
3
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
3
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
17
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
5
-7
13
7
0
0
0
0
0
0
0
0
0
0
1
0
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
5
1
-4
4
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
-1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-4
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
17
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-28
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
10
-23
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
21
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-29
-9
0
-24
20
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
-2
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
29
5
9
7
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-1
0
0
0
0
0
0
0
1
0
1
3
2
-8
0
0
0
4
0
0
0
0
0
0
0
0
7
0
4
-3
-8
18
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-1
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-2
-4
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-17
-2
4
0
-2
0
0
0
0
0
0
0
1
-1
0
0
1
-1
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-1
-9
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
9
7
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
12
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
-4
29
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
2
7
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
7
-1
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-6
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
6
-3
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-7
7
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
19
7
-1
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
12
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
21
-24
-1
10
0
4
0
0
0
0
0
0
0
3
0
1
0
-5
-2
3
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
4
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
1
14
-10
0
0
0
-3
-1
0
0
0
0
0
0
-1
1
0
3
-8
-5
9
-17
-7
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
21
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
-13
-1
-31
40
-10
0
0
0
0
0
0
0
0
0
0
0
1
4
-6
27
1
-4
22
-3
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-5
11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
14
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
8
15
3
-1
6
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
17
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
5
-1
1
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
-20
6
-4
25
-7
0
0
0
0
0
0
0
0
0
-1
0
-5
0
10
-6
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
-4
1
13
6
-14
6
1
0
0
0
0
0
0
0
0
0
0
3
-5
19
-14
1
-14
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-41
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-14
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
36
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
-37
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-4
7
2
5
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
-25
0
1
0
0
0
0
0
0
0
0
0
0
1
7
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
-37
8
-24
4
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-39
-1
5
1
0
0
0
0
0
0
0
0
0
1
-1
8
8
14
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
12
-33
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-27
-52
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
26
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
10
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-3
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
7
9
27
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
3
0
7
2
0
0
0
0
0
0
0
0
0
0
1
0
-8
-17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
-4
-30
-5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
7
25
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-7
-1
-2
0
-1
0
1
0
0
0
0
0
0
0
0
1
-1
6
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-9
-4
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
10
-1
2
0
0
0
0
0
0
0
0
0
0
5
2
8
13
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-8
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
20
-8
14
3
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
5
-1
1
0
0
0
0
0
0
0
0
0
0
5
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-6
6
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
8
-10
2
8
5
0
0
0
0
0
0
0
0
0
0
1
8
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-3
9
-12
-2
-1
10
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
5
2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
3
5
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
8
1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
-2
-7
0
0
8
1
-2
0
0
0
0
0
0
0
0
0
4
-1
-2
-10
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
-1
-7
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
2
9
9
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
8
1
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-13
2
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
9
12
-1
0
0
0
0
0
0
0
0
0
0
0
-7
2
18
-10
-6
1
-13
0
0
0
0
0
0
0
0
0
0
14
-8
-3
-18
13
9
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
19
-6
2
-3
0
0
0
0
0
0
0
0
0
0
10
1
0
-10
-1
3
1
0
0
0
0
0
0
0
0
0
0
4
0
4
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
8
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
-9
3
-7
10
9
1
1
0
0
0
0
0
0
0
0
0
0
-1
13
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
9
16
-29
12
-4
-3
0
0
0
0
0
0
0
0
0
0
-1
-15
-25
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
-16
-42
13
6
-8
0
2
0
0
0
0
0
0
0
0
0
3
-17
13
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-3
13
4
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
6
15
4
5
0
0
0
0
0
0
0
0
0
0
0
-14
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
16
5
4
1
0
3
0
0
0
0
0
0
0
0
1
0
41
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
12
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-8
8
0
0
6
0
0
0
0
0
0
0
0
0
1
-12
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
19
2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
1
0
5
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
6
1
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
3
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
-1
2
-3
1
0
3
3
2
0
0
0
0
0
0
0
0
0
0
1
8
-8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
7
-6
-29
-2
2
2
0
0
0
0
0
0
0
0
0
0
-10
6
-22
36
-14
0
0
0
0
0
0
0
0
0
0
0
0
5
12
5
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
-7
6
-2
4
0
0
0
0
0
0
0
0
0
0
-2
-6
-12
2
-3
-2
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
33
-22
1
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-7
24
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
8
5
16
-9
3
0
0
0
0
0
0
0
0
0
0
0
-1
2
8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
14
-10
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
6
-12
-4
1
-8
-1
1
0
0
0
0
0
0
0
0
0
0
1
-3
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
2
0
-8
-2
10
0
-1
0
0
0
0
0
0
0
0
1
17
3
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
-3
5
10
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
9
2
12
1
0
-1
0
0
0
0
0
0
0
0
0
0
9
12
10
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
4
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
9
1
0
1
0
0
0
0
0
0
0
0
0
0
23
0
-30
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
9
-5
2
-1
1
0
0
0
0
0
0
0
0
0
0
2
1
-8
-5
-32
10
0
0
0
0
0
0
0
0
0
0
0
6
5
7
23
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
8
-6
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
-3
-5
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-24
9
7
1
8
8
0
0
0
0
0
0
0
0
0
0
0
-8
2
23
3
0
-1
1
1
0
0
0
0
0
0
0
0
0
-6
13
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
2
-1
2
2
0
7
0
0
0
0
0
0
0
0
0
0
-1
4
-5
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
15
8
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-8
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-1
-1
-2
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-5
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
17
-12
1
-3
0
0
0
0
0
0
0
0
0
0
0
22
-6
-7
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
-5
-7
9
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
12
-8
5
5
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-8
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
20
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
10
2
2
24
2
0
0
0
0
0
0
0
0
0
0
0
5
-24
-13
1
-8
0
0
-1
0
0
0
0
0
0
0
0
0
4
5
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-14
1
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
-4
-6
4
0
0
0
0
0
0
0
0
0
0
0
-2
7
5
-25
-6
5
2
0
0
0
0
0
0
0
0
0
0
8
17
10
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
-6
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
-1
1
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-29
1
-1
2
-2
0
0
0
0
0
0
0
0
0
0
4
5
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
-3
0
0
0
0
0
0
0
0
0
1
5
-3
-1
-1
1
0
3
0
0
0
0
0
0
0
0
0
2
20
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-14
-9
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
29
-3
16
-5
-14
0
5
0
0
0
0
0
0
0
0
0
16
9
0
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
7
-4
2
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
12
-2
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-1
4
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-17
0
0
-4
1
0
0
0
0
0
0
0
0
0
-6
8
12
1
-17
-8
1
0
0
0
0
0
0
0
0
0
0
-1
-13
17
-34
-15
1
1
0
0
0
0
0
0
0
0
0
0
-1
-1
8
-7
-1
5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
9
-7
6
-1
3
-3
-1
0
0
0
0
0
0
0
0
2
2
-4
5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
13
-7
16
13
-7
6
0
3
0
0
0
0
0
0
0
0
0
-6
4
-19
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
3
3
-6
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-8
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
-14
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
23
6
8
2
-1
0
0
0
0
0
0
0
0
0
0
2
29
16
12
9
-1
1
0
0
0
0
0
0
0
0
0
0
-25
8
6
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
17
3
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
22
4
-5
2
31
-5
-2
0
0
0
0
0
0
0
0
0
0
0
19
-6
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
14
-4
5
-25
5
3
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-17
3
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
13
-2
1
-1
0
3
0
0
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
16
-12
-3
4
-1
2
2
0
0
0
0
0
0
0
0
0
0
1
10
23
-16
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-25
10
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
20
-20
-20
-19
-3
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-4
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
-5
-1
7
2
0
0
0
0
0
0
0
0
0
0
0
8
6
-1
16
1
-2
-6
0
0
0
0
0
0
0
0
0
0
10
17
-1
-19
-23
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
2
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
4
20
16
-12
-5
4
-1
0
0
0
0
0
0
0
0
0
0
-7
-5
0
7
-3
0
0
-3
0
0
0
0
0
0
0
0
0
4
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
7
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-24
12
6
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
8
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
-2
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
-1
1
-2
8
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
-1
14
-24
0
-8
-3
0
0
0
0
0
0
0
0
0
0
3
0
24
-16
6
7
5
1
0
0
0
0
0
0
0
0
0
-3
10
-9
8
0
14
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
19
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-23
-5
0
0
0
0
0
0
0
0
0
-2
0
0
6
3
-29
1
-10
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
1
10
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
-7
8
-13
0
0
0
-3
-2
0
0
0
0
0
0
0
1
1
0
2
6
-8
3
-25
0
0
0
0
0
0
0
0
0
0
3
-2
2
-10
-13
5
-29
-1
0
0
0
0
0
0
0
0
3
0
0
-2
8
-8
3
-13
0
0
0
0
0
0
0
0
0
0
-2
0
1
-8
-5
-12
-3
-8
0
0
0
0
0
0
0
0
0
1
1
-4
4
-3
2
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
9
-4
-16
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
3
-1
-4
-33
-29
-13
2
0
0
0
0
0
0
0
0
-1
0
-5
7
-1
9
-19
3
-3
-2
0
0
0
0
0
0
0
0
-2
0
3
8
31
-22
-4
-20
0
0
0
0
0
0
0
0
0
0
1
-12
-18
8
-6
22
12
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
9
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
-7
-1
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
8
1
2
1
0
0
0
0
0
0
0
0
0
0
1
1
2
-12
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-13
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
2
-13
-18
13
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
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
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
4
3
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
-3
9
-8
1
-5
-14
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-20
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
-4
8
2
-5
-25
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-7
-1
-2
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
6
-22
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
6
3
1
5
-11
-1
0
0
0
0
0
0
0
0
0
2
2
0
7
-1
-5
30
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
3
-12
-1
-5
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-16
-25
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
5
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
0
0
0
2
1
0
-2
4
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
13
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
15
17
-40
-4
0
0
0
0
0
0
0
0
0
0
3
0
2
8
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
7
22
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
2
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
5
8
-9
-6
0
0
0
0
0
0
0
0
0
0
0
6
8
-3
26
1
-5
0
0
0
0
0
0
0
0
0
1
2
-2
-3
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-5
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
6
-16
1
-6
-9
1
0
0
0
0
0
0
0
0
-1
0
0
-2
2
-3
13
-24
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
19
14
0
1
-4
0
0
0
0
0
0
0
0
0
0
3
-4
-8
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
1
2
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
1
2
8
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
4
-1
-2
0
0
0
0
0
0
0
0
0
0
1
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
2
-14
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-2
1
-1
-10
14
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
0
-22
23
0
0
0
0
0
0
0
0
0
0
-2
6
-29
-19
-10
-2
22
0
0
0
0
0
0
0
0
0
0
0
-1
5
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-4
2
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
-7
0
3
-4
-22
1
0
0
0
0
0
0
0
0
0
0
2
-2
14
8
2
10
-7
0
0
0
0
0
0
0
0
0
0
2
4
7
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-1
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-24
3
-20
13
1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-30
15
-19
2
0
0
0
0
0
0
0
0
0
2
0
0
4
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-14
7
-17
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
5
-2
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2
-1
-12
20
-40
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-42
6
6
-1
0
0
0
0
0
0
0
0
0
-1
0
-8
6
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-30
-9
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
1
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-13
3
3
0
0
0
0
0
0
0
0
0
1
0
-1
0
9
-29
23
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
10
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
-13
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
7
-14
-16
8
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-14
4
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
8
10
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
1
-2
12
0
-18
16
5
0
0
0
0
0
0
0
0
0
0
19
8
15
1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
-5
6
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
2
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
5
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
2
5
-19
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
-7
-2
3
-1
0
0
0
0
0
0
0
0
0
0
-8
1
6
3
-22
1
-1
0
2
0
0
0
0
0
0
0
0
7
-4
0
15
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-5
-4
-2
14
0
0
0
0
0
0
0
0
0
0
0
4
1
-16
43
2
-12
4
-1
0
0
0
0
0
0
0
0
0
-17
21
-25
41
-8
-9
7
0
0
0
0
0
0
0
0
0
0
-20
6
13
-43
4
-18
-1
-10
-1
0
0
0
0
0
0
0
0
-3
4
-4
3
42
0
6
0
0
0
0
0
0
0
0
0
0
-6
6
10
9
9
1
-3
0
0
0
0
0
0
0
0
0
0
-8
-3
-1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
16
-9
1
0
4
0
0
0
0
0
0
0
0
0
0
-10
-6
17
13
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-12
12
-5
5
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-13
-3
23
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
8
-5
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
-2
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
6
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
2
-6
8
-2
-1
0
0
0
0
0
0
0
0
0
7
-5
-22
0
-6
4
2
0
0
0
0
0
0
0
0
0
0
-1
41
13
-4
8
0
1
0
0
0
0
0
0
0
0
0
0
5
-15
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
3
2
0
3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-22
2
-23
10
25
16
0
0
0
0
0
0
0
0
0
8
-1
-10
-5
-2
-12
6
-5
1
0
0
0
0
0
0
0
0
-6
-21
-5
-10
1
-5
1
0
0
0
0
0
0
0
0
0
0
23
-23
15
8
1
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-28
-24
41
-2
-3
0
0
0
0
0
0
0
0
0
0
-4
-25
-2
17
2
0
1
1
0
0
0
0
0
0
0
0
0
7
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-23
-15
-9
-6
0
5
0
1
0
0
0
0
0
0
0
26
-3
32
-4
5
-34
27
-13
0
0
0
0
0
0
0
0
0
3
-23
-25
-13
24
-2
-39
4
0
0
0
0
0
0
0
0
0
4
-4
-23
-26
-12
7
-4
0
0
0
0
0
0
0
0
0
0
4
-1
22
-25
7
-7
0
1
0
0
0
0
0
0
0
0
0
0
-2
24
58
9
-1
1
0
0
0
0
0
0
0
0
0
0
2
-5
-8
5
12
-3
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
14
-14
-13
23
27
0
6
0
0
0
0
0
0
0
0
-28
50
25
7
30
-5
-6
1
-2
0
1
0
0
0
0
0
0
-43
7
-27
-25
-12
6
3
1
0
0
0
0
0
0
0
0
0
35
3
-21
-13
18
12
-16
3
0
0
0
0
0
0
0
0
0
-3
7
22
-20
22
-6
0
0
0
0
0
0
0
0
0
0
0
13
-14
4
-26
-13
-5
8
0
0
0
0
0
0
0
0
0
0
8
-1
-10
-6
-1
0
-4
0
1
0
0
0
0
0
0
0
0
16
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-13
3
8
-1
5
0
-1
0
1
0
0
0
0
0
0
0
13
-3
-18
-2
-7
-6
9
-1
0
0
0
0
0
0
0
0
0
6
2
4
-33
8
-7
1
0
0
0
0
0
0
0
0
0
0
-6
2
-1
-12
6
1
-3
0
0
0
0
0
0
0
0
0
0
6
-5
3
-41
-3
-1
1
0
0
0
0
0
0
0
0
0
0
20
-5
-10
-2
-7
0
0
1
0
0
0
0
0
0
0
0
0
-3
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
1
8
-3
0
0
1
0
0
0
0
0
0
0
0
0
-20
15
-5
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
-6
0
-8
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-4
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
3
1
1
6
0
0
0
0
0
0
0
0
0
0
8
-44
32
1
-5
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
-9
9
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
5
16
15
10
0
-1
0
0
0
0
0
0
0
0
0
-2
-12
37
-40
-9
17
3
2
0
0
0
0
0
0
0
0
0
1
1
-7
6
29
23
0
0
0
0
0
0
0
0
0
0
0
-5
24
5
7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
34
-12
-30
0
0
0
0
0
0
0
0
0
0
0
5
8
-2
-3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
16
7
0
-1
0
-1
0
0
0
0
0
0
0
0
0
4
-33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-7
-15
12
1
-7
4
0
0
0
0
0
0
0
0
0
6
-16
5
5
-1
24
-19
-7
-6
0
0
0
0
0
0
0
0
-1
19
-9
-36
7
-29
-31
-2
-1
0
0
0
0
0
0
0
0
-4
7
8
32
-2
9
-1
0
0
0
0
0
0
0
0
0
0
1
30
0
-7
24
30
-3
0
0
0
0
0
0
0
0
0
0
0
5
-7
20
-20
13
0
0
0
1
0
0
0
0
0
0
0
0
-4
-8
1
12
0
0
0
1
0
0
0
0
0
0
0
0
-3
22
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
5
44
-18
1
-5
0
1
0
0
0
0
0
0
0
0
15
-4
-12
-45
10
-2
5
8
1
0
0
0
0
0
0
0
0
31
1
-1
-8
-10
3
-20
-1
0
0
0
0
0
0
0
0
0
31
-13
11
-41
6
0
-3
0
0
0
0
0
0
0
0
0
0
30
-9
5
23
0
13
22
0
0
0
0
0
0
0
0
0
0
9
-2
-34
-34
-22
-5
-1
0
0
0
0
0
0
0
0
0
0
-12
13
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
7
-6
6
-5
1
-1
0
0
0
0
0
0
0
0
0
6
-2
0
6
3
2
6
0
0
0
0
0
0
0
0
0
0
0
3
-30
5
2
2
3
0
0
0
0
0
0
0
0
0
0
-2
0
2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-3
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
7
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-10
6
-5
-7
0
2
0
0
0
0
0
0
0
0
0
-1
-1
5
16
3
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
12
-3
7
-1
0
0
0
0
0
0
0
0
0
0
1
23
9
7
-5
-20
0
-6
0
0
0
0
0
0
0
0
-4
-7
-13
-8
-16
-1
27
2
-3
0
0
0
0
0
0
0
0
8
-7
0
8
8
4
0
0
0
0
0
0
0
0
0
0
0
5
4
8
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
4
-5
3
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
34
-1
8
-5
29
-25
2
0
0
0
0
0
0
0
0
0
3
-3
4
17
-10
9
17
-17
1
0
0
0
0
0
0
0
0
-10
29
3
10
-22
-17
1
9
-3
0
0
0
0
0
0
0
0
13
9
-30
1
27
-15
-7
0
0
0
0
0
0
0
0
0
0
0
-15
13
-26
1
6
1
0
0
0
0
0
0
0
0
0
0
1
8
-23
13
-9
23
0
0
0
0
0
0
0
0
0
0
0
-4
18
0
-8
2
2
0
0
0
0
0
0
0
0
0
0
0
8
8
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-20
36
7
-19
17
0
0
0
0
0
0
0
0
0
0
14
23
8
29
-12
3
22
0
0
0
0
0
0
0
0
0
0
-1
15
0
-2
6
-7
1
3
0
0
0
0
0
0
0
0
0
-14
4
-28
-30
-1
10
-5
0
0
0
0
0
0
0
0
0
0
-6
-7
30
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
16
-14
2
-13
-12
3
-4
0
0
0
0
0
0
0
0
0
0
0
7
8
29
-16
5
0
1
0
0
0
0
0
0
0
0
0
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
6
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
8
17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
7
1
2
6
0
0
0
0
0
0
0
0
0
0
0
-1
-4
8
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
12
4
0
4
0
0
0
0
0
0
0
0
0
-8
19
13
14
-18
-2
-9
1
0
0
0
0
0
0
0
0
0
5
3
-31
14
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
13
0
3
-1
9
1
0
2
0
0
0
0
0
0
0
0
3
-1
0
5
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
25
5
-3
0
14
-1
0
0
0
0
0
0
0
0
0
6
5
18
-10
6
19
19
8
6
0
0
0
0
0
0
0
0
-12
20
-26
-30
7
16
16
0
-1
0
0
0
0
0
0
0
0
2
23
3
10
7
-8
1
0
0
0
0
0
0
0
0
0
0
-5
17
28
-7
-5
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
-3
2
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
22
1
4
-3
2
0
0
0
0
0
0
0
0
0
0
8
6
18
31
20
6
0
-2
0
0
0
0
0
0
0
0
0
8
9
29
-8
19
8
2
-4
0
0
0
0
0
0
0
0
0
-10
-7
10
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-33
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
5
2
5
2
0
0
0
0
0
0
0
0
0
0
12
-9
-4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-17
1
1
-1
0
0
0
0
0
0
0
0
0
0
5
2
-14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
-10
-8
-5
0
-3
-1
0
0
0
0
0
0
0
0
0
-8
0
9
0
-5
1
0
-1
0
0
0
0
0
0
0
0
0
2
8
-1
-7
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-9
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
1
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-5
-4
-4
10
9
4
4
3
-6
0
0
0
0
0
0
0
0
3
-1
-8
-14
8
0
1
0
-1
0
0
0
0
0
0
0
0
2
25
-19
-10
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
6
10
-14
-2
-8
0
-3
0
0
0
0
0
0
0
0
0
0
-8
16
-12
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
2
-3
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
21
7
17
-2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
7
-21
32
-25
5
9
-8
4
0
0
0
0
0
0
0
0
0
10
7
-37
15
1
0
-3
0
0
0
0
0
0
0
0
0
0
-8
-14
13
8
0
4
0
0
0
0
0
0
0
0
0
0
0
14
20
0
17
7
8
-2
0
0
0
0
0
0
0
0
0
0
12
4
-5
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-28
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
8
17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
-2
0
1
-3
0
0
0
0
0
0
0
0
0
-2
0
-1
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
1
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
10
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
-1
3
5
-7
-16
4
-5
4
0
0
0
0
0
0
0
0
0
-1
16
25
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
12
5
-29
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
30
-4
0
9
-9
-4
0
1
0
0
0
0
0
0
0
0
0
-4
-7
6
-4
-5
-10
3
-4
0
0
0
0
0
0
0
0
0
-2
-13
-13
6
-4
1
6
1
0
0
0
0
0
0
0
0
0
6
6
13
4
13
-1
0
0
0
0
0
0
0
0
0
0
0
-6
24
12
1
14
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-29
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
3
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
19
-7
33
-31
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
17
-5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
7
-21
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
-4
-4
10
2
-9
-13
0
0
0
0
0
0
0
0
0
-1
0
1
-8
7
14
37
20
0
0
0
0
0
0
0
0
0
-2
0
0
-4
-12
18
-9
-8
0
0
0
0
0
0
0
0
0
0
0
5
10
-7
-12
-4
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
27
0
0
0
17
0
0
0
0
0
0
0
0
0
1
0
-6
-3
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-29
-5
14
-6
0
0
0
0
0
0
0
0
0
-2
7
-17
-4
9
5
5
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
1
9
5
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
-10
-8
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
7
-6
1
-4
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-12
-14
29
-1
1
0
0
0
0
0
0
0
0
0
-1
-2
-8
7
5
-12
-13
-2
0
0
0
0
0
0
0
0
0
0
0
-4
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
-3
0
0
0
0
0
0
0
0
0
0
1
-1
-12
58
11
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-8
9
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
-9
1
6
0
0
0
0
0
0
0
0
0
0
0
-2
2
13
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
5
-2
0
0
0
0
0
0
0
0
0
0
1
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
-2
-8
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
4
9
1
7
0
0
0
0
0
0
0
0
0
1
-1
0
1
1
3
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-29
32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-30
19
-47
35
-10
0
0
0
0
0
0
0
0
0
3
-1
18
-23
17
-55
-2
-3
0
0
0
0
0
0
0
0
0
-2
20
-1
-6
41
-13
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-10
2
-1
12
12
0
0
0
0
0
0
0
0
0
0
0
1
5
10
-5
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
17
0
0
0
-9
0
0
0
0
0
0
0
0
-2
-10
0
-13
15
0
0
0
5
0
0
0
0
0
0
0
0
1
0
4
-24
-13
4
-38
-42
3
0
0
0
0
0
0
0
0
0
-13
0
36
-17
7
19
4
-3
0
0
0
0
0
0
0
0
0
0
0
25
-8
17
17
-1
-5
0
0
0
0
0
0
0
0
0
0
1
1
-12
23
-2
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-8
6
-17
0
0
0
6
-6
0
0
0
0
0
0
0
0
0
0
24
6
10
10
14
-8
3
0
0
0
0
0
0
0
-1
0
3
2
8
35
0
-4
-20
0
0
0
0
0
0
0
0
0
0
0
-5
8
13
-1
-24
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
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
0
0
0
19
-1
0
0
0
0
0
0
0
0
-1
0
0
-13
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
0
0
-6
-40
6
-2
8
0
1
0
0
0
0
0
0
1
0
0
3
5
0
-38
-4
14
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
1
13
-19
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-2
-3
19
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-8
0
1
0
0
0
0
0
0
0
0
-2
-2
-6
3
-9
-8
2
0
0
0
0
0
0
0
1
0
0
0
0
-16
6
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
27
-4
-1
0
0
0
0
0
0
0
1
0
0
0
8
-25
-8
2
2
1
0
0
0
0
0
0
0
0
0
0
5
19
17
-9
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-6
8
-2
-5
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-20
-14
0
0
0
0
0
0
0
0
0
0
0
1
1
0
8
-5
1
1
8
0
0
0
0
0
0
0
0
0
0
0
1
12
-18
13
13
-31
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
5
0
9
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-24
-14
21
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
2
-6
-36
2
-22
0
0
0
0
0
0
0
0
0
0
1
3
4
-19
45
-8
-23
0
0
0
0
0
0
0
0
0
0
0
8
8
-8
3
17
21
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
25
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
-8
0
0
0
13
0
0
0
0
0
0
0
0
1
2
7
9
19
16
25
-3
1
0
0
0
0
0
0
0
0
0
0
4
-7
-45
-7
8
4
-7
0
0
0
0
0
0
0
0
0
0
0
-19
7
8
9
10
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-7
1
-23
8
2
0
0
0
0
0
0
0
0
0
0
-1
3
1
-1
13
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
4
-6
0
0
0
0
0
0
0
0
-1
0
-2
-13
-15
-26
11
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
-6
8
30
-9
0
0
0
0
0
0
0
0
3
0
1
7
-13
-7
13
-11
-7
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
-8
-2
0
-5
0
0
0
0
0
0
0
0
0
0
3
1
0
-3
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
2
-12
0
0
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
2
-8
12
-24
2
4
0
0
0
0
0
0
0
0
0
0
0
22
-5
-19
12
-4
1
0
0
0
0
0
0
0
0
0
0
-1
0
5
6
-7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-10
3
-1
0
0
0
0
0
0
0
0
0
0
1
16
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
6
5
8
-2
2
-1
0
0
0
0
0
0
0
2
0
4
1
-13
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
-15
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
10
-16
4
2
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
6
12
3
0
0
0
0
0
0
0
0
0
0
-1
0
10
3
-7
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-2
13
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-10
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
2
2
29
-9
0
-32
0
0
0
0
0
0
0
0
0
0
2
-19
-7
-1
1
18
6
0
0
0
0
0
0
0
0
0
0
0
-7
5
30
-47
14
-17
0
0
0
0
0
0
0
0
0
0
3
1
8
12
9
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
5
12
-7
2
0
0
0
1
0
0
0
0
0
0
0
0
-2
17
2
8
-24
0
0
0
3
0
0
0
0
0
0
0
0
1
0
-7
-5
24
34
10
33
-5
0
0
0
0
0
0
0
0
0
0
9
-2
3
-2
3
-4
1
0
0
0
0
0
0
0
0
0
0
-2
2
8
42
13
-13
0
0
0
0
0
0
0
0
0
0
0
-2
-14
10
-20
13
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
-18
-2
0
0
0
0
0
0
0
0
4
16
0
0
0
0
0
-16
4
0
0
0
0
0
0
0
0
0
-1
-4
20
8
-31
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
30
-36
-8
1
0
0
0
0
0
0
0
0
0
0
3
10
17
15
10
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
8
6
5
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
22
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
3
10
-8
-12
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
6
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
4
5
4
-5
1
0
0
0
0
0
0
0
0
0
0
1
0
8
1
-2
-8
-1
0
0
0
0
0
0
0
0
0
1
0
-3
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
23
-31
-9
0
0
0
0
0
0
0
0
0
0
0
1
-12
-5
32
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
1
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
25
25
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-2
19
-14
-53
39
0
0
0
0
0
0
0
0
0
0
0
2
-13
-17
-31
-34
-4
0
0
0
0
0
0
0
0
0
0
1
0
-8
-16
-14
-3
5
0
0
0
0
0
0
0
0
0
0
-5
2
-25
-4
14
31
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-6
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
5
0
-1
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-6
-20
16
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
31
10
28
9
-38
0
0
0
0
0
0
0
0
0
0
0
5
-3
3
2
13
-16
-8
0
0
0
0
0
0
0
0
0
0
-6
4
-17
15
9
-8
-1
0
0
0
0
0
0
0
0
0
0
1
-14
3
-10
8
-3
-1
0
0
0
0
0
0
0
0
0
0
3
-1
5
-8
1
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
12
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
-6
-14
0
0
0
4
-3
0
0
0
0
0
0
0
0
4
0
-1
-6
1
33
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-9
-19
-17
9
0
0
0
0
0
0
0
0
0
0
0
1
15
4
25
-4
-6
0
0
0
0
0
0
0
0
0
0
0
8
6
8
13
7
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-8
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-29
-1
0
0
0
0
0
0
0
-1
1
0
-3
-3
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
4
0
5
-26
-4
13
5
-1
0
0
0
0
0
0
0
0
0
0
5
0
-6
45
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
1
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
10
-7
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-8
-22
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
14
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-7
-29
-18
6
7
0
0
0
0
0
0
0
0
0
0
0
25
16
24
17
6
-10
0
0
0
0
0
0
0
0
0
0
2
-1
-8
7
-14
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
2
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
1
0
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
10
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-2
1
1
-18
27
-42
3
0
0
0
0
0
0
0
0
0
0
0
8
-13
27
-3
18
13
0
0
0
0
0
0
0
0
0
0
7
8
9
6
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
9
8
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
0
0
8
0
0
0
0
0
0
0
0
2
0
-3
14
13
0
0
0
7
4
0
0
0
0
0
0
0
0
0
-3
-9
-9
18
-13
13
-1
0
0
0
0
0
0
0
0
0
0
0
1
12
-4
-22
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
25
-4
-5
-1
0
0
0
0
0
0
0
0
0
0
-8
1
5
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
-9
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
-48
10
8
1
0
0
0
0
0
0
0
0
0
1
2
-1
5
-7
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
-6
-8
4
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
4
-2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
12
7
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
13
4
6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
19
-67
-40
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
-5
-2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
5
5
-8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
15
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-6
-1
1
-20
0
0
0
20
0
0
0
0
0
0
0
0
0
2
8
4
-1
15
24
10
-3
0
0
0
0
0
0
0
0
0
0
1
2
-14
13
4
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
12
21
0
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-12
10
-5
1
0
0
0
0
0
0
0
0
0
0
1
1
23
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
-1
1
12
2
-20
16
2
2
0
0
0
0
0
0
0
0
1
0
0
4
15
2
12
0
0
0
0
0
0
0
0
0
-4
1
-1
0
23
-22
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-1
0
0
3
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
3
0
1
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
-5
4
-10
1
20
0
0
0
0
0
0
0
0
0
-1
0
-1
0
16
12
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
55
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
5
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-3
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
8
29
49
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-7
-1
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-1
0
14
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
25
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
0
0
0
0
1
-2
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-7
17
4
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-7
7
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-3
5
22
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
2
-3
0
0
0
0
0
0
0
0
0
-2
-2
5
-12
8
2
0
1
0
0
0
0
0
0
0
0
0
0
3
3
0
5
-5
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-18
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
7
-2
3
2
1
0
0
0
0
0
0
0
0
0
-1
0
-7
22
-24
-2
-6
1
2
0
0
0
0
0
0
0
0
4
-1
30
5
-8
5
-10
6
0
0
0
0
0
0
0
0
0
8
-16
4
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
-5
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
-4
0
6
-2
0
0
0
0
0
0
0
0
0
0
8
5
13
-3
9
12
0
-1
0
0
0
0
0
0
0
0
-2
-1
18
0
19
1
1
2
-1
0
0
0
0
0
0
0
0
0
-4
-5
-4
-7
6
0
0
-1
0
0
0
0
0
0
0
0
0
1
7
-7
17
2
2
0
0
0
0
0
0
0
0
0
0
0
7
4
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
9
12
-4
-1
0
0
0
0
0
0
0
0
0
-3
3
0
3
-10
-1
1
1
0
0
0
0
0
0
0
0
0
0
-1
2
-2
1
-9
1
1
0
0
0
0
0
0
0
0
0
0
-2
-5
19
4
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
6
19
0
-1
0
0
0
0
0
0
0
0
0
0
-3
8
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
3
1
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
6
-24
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-23
10
30
-6
-1
9
-4
0
0
0
0
0
0
0
0
0
0
6
14
-10
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
10
9
-2
-4
7
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
1
-9
-3
9
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
3
17
3
6
12
-7
-3
0
0
1
0
0
0
0
0
0
0
0
7
-1
-2
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-10
2
-2
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
-1
4
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-7
1
2
-5
-1
0
0
0
0
0
0
0
0
0
0
8
-3
-1
7
4
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
-1
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
0
5
2
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-3
1
-1
3
1
0
0
0
0
0
0
0
0
0
3
2
-5
-8
16
8
7
5
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-10
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-3
-16
-2
0
0
5
0
0
0
0
0
0
0
0
1
-5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-2
0
0
3
1
0
0
0
0
0
0
0
0
0
0
12
6
-2
10
-2
-1
0
-1
2
0
0
0
0
0
0
0
0
-2
4
-4
8
0
-1
-3
0
0
0
0
0
0
0
0
0
-1
-10
1
9
3
15
-3
-1
0
0
0
0
0
0
0
0
0
0
5
-1
1
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
1
0
1
0
3
0
0
0
0
0
0
0
0
4
1
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-7
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
8
1
-3
25
1
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
7
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
-2
-4
1
-13
0
24
0
4
0
0
0
0
0
0
0
0
0
3
-8
-10
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
13
15
9
36
-3
2
0
5
0
0
0
0
0
0
0
0
0
-1
-25
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
5
30
0
-12
-7
0
-3
0
0
0
0
0
0
0
0
0
9
1
-22
-17
14
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
14
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-2
3
3
0
1
0
0
0
0
0
0
0
0
0
2
6
0
-8
6
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
3
0
-1
0
0
0
0
0
0
0
0
0
0
2
5
0
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
14
16
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
9
-6
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
-7
7
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-6
2
0
18
-6
0
0
0
0
0
0
0
0
0
-3
3
-12
19
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
5
-9
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-12
-2
-3
7
1
1
0
0
0
0
0
0
0
0
0
-9
20
-12
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
1
4
24
-19
7
4
0
0
-1
0
0
0
0
0
0
0
0
-4
0
5
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-1
1
7
0
1
3
0
0
0
0
0
0
0
0
0
0
-3
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
7
-2
3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
5
3
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
6
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
2
-8
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
9
2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-4
6
6
-1
0
0
0
0
0
0
0
0
0
1
1
-3
2
-3
12
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-5
8
6
7
1
0
1
0
0
0
0
0
0
0
0
0
2
5
0
0
-4
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-12
0
1
-2
0
-2
0
0
0
0
0
0
0
0
0
-1
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
6
5
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
1
0
0
0
0
0
0
0
0
0
4
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
-14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
36
77
15
34
-24
-9
55
0
0
6
34
15
44
-2
15
-105
0
-27
99
12
10
26
12
-69
-46
0
5
-49
-26
-68
-78
45
23
34
0
-13
-24
-73
-22
11
4
-29
8
0
-29
-30
-73
16
25
-64
7
16
0
3
5
17
-24
-69
-29
0
8
0
-14
-39
-52
30
14
35
-4
47
0
1
18
43
58
-13
53
41
-1
0
-1
-9
-24
20
10
52
28
-6
0
-2
-29
-2
-5
8
-34
31
36
0
-1
-8
-9
28
32
1
-21
47
0
0
13
-7
14
31
28
39
3
0
0
4
19
-18
-40
6
28
-22
0
0
17
-22
36
21
-12
-29
6
0
-9
-52
-5
-126
-31
-73
-22
-21
-4
-41
94
-4
20
-36
9
-29
-81
-1
-64
-28
63
93
14
18
-41
18
-2
16
-52
-36
15
53
33
57
-24
0
0
-1
23
38
7
47
28
-45
0
-59
-4
38
-15
-10
14
-19
-12
-3
-35
-30
27
-70
-22
-21
-40
27
-47
-40
-3
-25
-30
-1
-5
-24
9
11
73
21
-112
-30
-61
-69
-1
-2
6
18
-36
32
-53
-23
-30
-16
32
-5
-58
28
5
-6
4
-12
2
46
1
-17
32
27
17
-15
15
91
38
0
9
-54
-26
3
57
152
45
7
0
-39
39
-36
59
67
41
17
55
0
-2
28
75
-3
7
26
39
61
0
18
-3
7
-48
4
19
19
-14
0
43
4
66
19
-29
17
51
-9
3
-24
3
-46
16
-1
7
26
-46
0
40
-54
-30
-34
-44
-24
-15
-21
-90
-50
6
-28
-18
-24
-72
-49
-42
1
46
-13
-41
-38
-55
-66
-65
-55
-2
-71
16
-35
28
22
78
-11
26
0
0
-12
-14
-11
-28
51
16
-51
0
-14
-15
7
-47
-4
-11
-15
16
3
2
-47
24
6
-47
8
-40
8
-52
-9
63
-6
-29
17
-52
22
11
21
35
-12
-65
-21
-10
-42
3
-20
7
-10
-69
66
6
71
-22
-28
-15
-5
-14
62
-20
17
17
-20
8
-65
1
21
-15
45
-58
20
-46
21
17
0
-41
-34
50
87
25
114
65
21
0
-45
38
0
87
42
57
-7
18
0
-15
23
28
54
47
78
97
-37
0
6
-70
-16
-28
9
52
62
-48
0
14
2
-53
36
77
24
25
-2
3
15
-78
-20
-37
-24
60
78
-96
0
-37
7
-35
-6
-2
-52
-35
49
-45
69
-13
-59
-58
-50
-103
-87
-5
18
32
-4
-18
-62
-79
-103
-107
-29
0
12
14
78
36
-47
2
28
-7
0
0
-15
-24
-30
30
35
6
-37
0
1
49
-23
32
-48
-41
-40
20
0
-6
-13
9
22
-63
17
-12
3
7
-10
18
-27
-4
20
-21
15
11
1
13
-4
43
-14
41
21
-12
7
0
5
-1
-1
18
22
-10
-6
-1
0
2
4
-4
8
7
-28
28
0
0
0
0
10
7
-5
-3
-5
0
0
0
0
-3
36
26
13
4
1
0
0
0
13
28
24
29
42
-1
0
0
-10
18
53
21
23
8
6
0
1
7
-21
8
-41
9
30
-13
0
21
7
-32
58
42
-38
-14
-14
1
16
25
-8
-35
8
-30
-6
6
0
-20
0
26
-1
-38
16
-32
-14
1
2
-6
-7
-53
-79
-18
-34
-48
17
17
44
-14
-49
-7
-31
-55
13
1
3
1
11
22
62
62
-1
0
0
0
0
0
0
0
0
0
0
-3
4
-4
21
1
-29
3
5
0
0
0
0
0
0
0
0
0
0
3
3
21
13
58
-4
22
0
0
0
0
0
0
0
0
0
0
0
-8
29
8
45
9
37
0
0
0
0
0
0
0
0
0
0
0
0
24
1
47
32
-15
-15
2
0
0
0
0
0
0
0
0
0
0
0
38
30
94
39
32
-4
-1
0
0
0
0
0
0
0
0
0
0
0
44
45
32
14
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
64
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
40
-33
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-15
-9
-2
14
50
48
17
0
0
0
0
0
0
0
0
0
0
-11
-1
14
30
31
1
41
-41
-6
0
0
0
0
0
0
0
0
0
17
28
25
43
40
22
75
-17
2
0
0
0
0
0
0
0
0
0
33
29
39
23
28
98
68
-18
0
0
0
0
0
0
0
0
0
0
44
45
31
42
40
74
61
17
0
0
0
0
0
0
0
0
0
0
44
13
37
59
22
58
-2
3
0
0
0
0
0
0
0
0
0
0
-12
11
57
65
149
31
-3
0
0
0
0
0
0
0
0
0
0
0
-7
1
54
68
53
73
-1
0
0
0
0
0
0
0
0
0
0
0
17
75
-92
31
25
3
0
0
0
0
0
0
0
0
0
0
0
0
8
3
63
51
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
60
27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-33
-7
24
24
27
11
-5
0
0
0
0
0
0
0
0
0
0
-8
4
24
20
25
38
9
-5
-9
0
0
0
0
0
0
0
0
0
2
16
38
54
15
31
-2
63
2
0
0
0
0
0
0
0
0
0
44
26
42
42
34
24
40
-23
0
0
0
0
0
0
0
0
0
0
59
21
26
23
76
14
3
17
0
0
0
0
0
0
0
0
0
0
15
63
23
47
19
17
7
3
0
0
0
0
0
0
0
0
0
0
51
21
11
42
89
56
-8
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-23
44
122
-1
0
0
0
0
0
0
0
0
0
0
0
46
-57
-28
52
35
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
40
69
106
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
73
23
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-11
-43
-14
44
22
-10
-3
0
0
0
0
0
0
0
0
0
0
18
-40
-22
-48
9
-3
5
12
-2
0
0
0
0
0
0
0
0
0
5
-3
-12
25
25
-6
7
-1
1
0
0
0
0
0
0
0
0
0
28
15
14
11
13
40
12
1
1
0
0
0
0
0
0
0
0
0
2
81
27
47
16
-1
29
-1
0
0
0
0
0
0
0
0
0
0
60
30
59
24
27
-55
3
1
0
0
0
0
0
0
0
0
0
0
54
37
44
-21
58
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
40
33
52
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
62
5
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
72
11
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
9
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
10
-2
12
13
83
12
-2
1
23
29
50
31
49
44
-14
-10
-4
3
-58
-10
58
-60
-19
7
10
-13
0
3
9
-40
3
67
-8
-12
5
0
-3
-1
-8
-5
31
20
25
-44
0
0
0
3
10
15
33
29
-1
0
0
0
0
0
9
2
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-11
70
13
-44
58
1
-1
0
-40
18
-70
42
9
9
2
5
-11
5
-43
-30
-49
7
8
14
-2
-53
2
-8
-29
-2
13
-48
19
-25
98
0
-1
10
-12
-20
89
-28
8
-7
0
0
0
6
9
45
-12
-48
0
0
0
0
0
1
-25
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
47
-4
25
4
-59
-14
8
-16
-108
62
15
12
-17
33
1
16
-53
-9
-9
23
-30
-8
12
11
-5
-24
-1
-3
-17
-6
-40
-44
0
43
4
0
0
-1
0
4
-11
3
112
7
0
0
0
2
1
-18
-7
25
0
0
0
0
0
2
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-63
-25
-30
-23
18
-31
8
13
10
-38
-33
-19
5
3
7
28
28
3
-8
-29
-19
-74
27
11
-7
75
0
0
4
7
5
47
-29
77
9
0
0
1
12
-4
-5
59
-9
0
0
0
0
0
7
13
5
-2
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
2
3
-4
-10
19
-47
0
-14
9
-10
12
-5
1
25
42
0
0
2
1
3
-7
13
87
17
0
0
-2
1
20
40
16
-18
0
0
0
0
6
-10
-15
-24
1
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
2
-21
5
42
43
0
2
-1
-2
-7
0
18
19
6
0
-1
0
0
-29
-25
12
93
0
0
0
0
6
-17
-7
37
1
0
0
0
0
0
8
7
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
34
21
1
0
0
0
-1
-8
-18
10
-2
0
0
0
0
-3
27
41
-25
1
0
0
0
0
-2
-7
27
4
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
54
-12
-24
0
0
0
0
0
9
-29
13
-2
0
0
0
0
0
25
11
23
0
0
0
0
0
0
-5
18
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
-6
31
0
0
0
0
0
0
0
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
27
25
38
2
4
-24
-58
-42
3
51
-27
3
84
18
-21
-29
-49
1
-6
-7
-15
58
12
-7
17
-40
-59
78
-81
-12
19
-2
1
41
-3
-68
-50
-98
4
-39
34
39
88
0
0
3
15
-56
15
13
12
42
0
0
-2
-8
-31
23
25
42
-4
0
0
0
0
0
-5
-2
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-73
-20
67
49
48
25
4
6
-53
54
-20
-9
66
70
26
-2
27
-23
-70
-51
6
-21
12
8
12
73
-43
-74
-107
-35
-96
31
13
41
86
5
11
28
-24
23
-9
16
86
138
0
-2
-2
-18
2
3
-14
106
7
0
0
0
-20
7
-44
45
4
0
0
0
0
3
0
33
-14
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-33
-9
52
6
-8
9
37
-141
31
-24
72
-16
44
3
15
77
0
17
3
-6
-81
8
-9
26
111
-25
9
11
-31
-58
30
-8
42
93
-1
-25
3
61
-21
11
-25
27
139
0
2
-5
-12
35
16
-25
113
0
0
0
-2
-22
4
86
-19
2
0
0
0
0
-2
-16
45
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-34
-49
28
28
-12
9
115
42
-54
-58
-27
127
-13
-27
39
129
49
-2
-88
-12
-50
29
-24
67
212
-3
-29
-7
10
-8
-6
-1
78
181
0
9
-2
90
-8
-2
11
48
2
0
0
-10
-1
-21
60
29
5
0
0
0
0
29
5
-48
64
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
70
-92
98
34
8
-28
33
96
34
-32
-19
-22
16
10
-3
35
174
19
24
-14
-8
-20
8
-14
95
150
0
-29
10
-35
44
21
-3
150
10
0
1
10
3
-42
-9
16
74
0
0
0
0
38
-1
-8
53
0
0
0
0
0
17
-15
-13
12
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-111
27
89
6
-29
-21
69
175
-4
117
1
-37
-91
-18
10
49
175
0
-26
149
-117
-43
-4
-15
98
6
0
-3
24
-2
24
10
-40
95
0
0
0
13
33
-30
-15
-32
0
0
0
0
0
6
0
16
10
0
0
0
0
0
0
-25
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-32
0
-63
-9
13
73
48
-2
13
5
2
-98
19
4
101
-2
0
-6
26
14
-6
-2
39
13
0
0
3
24
-41
-2
20
30
0
0
0
0
3
-20
14
35
52
0
0
0
0
0
-1
20
5
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-3
3
-81
-6
28
24
0
0
6
47
-4
-10
-19
-25
-15
0
0
0
-4
-6
27
18
-24
1
0
0
0
-3
69
-13
9
-1
0
0
0
0
0
5
1
41
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-27
26
-4
1
0
0
0
-4
47
16
27
-7
0
0
0
0
0
-20
-62
12
-22
0
0
0
0
0
21
-31
5
0
0
0
0
0
0
-1
31
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
12
7
0
0
0
0
0
20
16
-30
2
0
0
0
0
0
27
-9
40
-5
0
0
0
0
0
2
6
6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-31
0
0
0
0
0
0
5
14
14
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
1
-15
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
35
56
43
51
76
-56
-58
-112
-77
-67
-18
-47
-60
23
1
-19
-73
-150
-61
8
19
-6
35
21
-2
-3
1
10
19
-44
24
-20
-1
7
41
-14
-30
-7
-26
48
26
-44
14
109
0
0
-23
-35
0
5
8
35
69
0
0
-2
0
-25
29
10
14
-4
0
0
0
0
0
-12
-9
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-20
-11
-6
64
-18
59
-35
-12
94
-18
-67
-55
-56
81
-9
4
25
-33
-47
42
31
-3
20
18
6
34
-7
-78
-2
20
-35
53
-8
24
66
5
16
-13
53
-26
21
10
28
143
0
-2
-55
-12
-35
-15
14
173
5
0
0
0
-17
-33
43
26
7
0
0
0
0
2
-10
74
-26
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-81
-16
24
81
15
27
0
11
34
49
-43
14
16
15
2
0
49
-80
-13
6
-4
-18
5
-10
17
66
40
46
60
-22
16
31
-17
6
121
-1
-53
52
-7
0
17
-31
103
90
0
2
-9
-2
12
63
-1
55
0
0
0
-2
-29
-25
61
-39
2
0
0
0
0
-2
-15
73
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
16
-32
-34
5
-9
-23
10
57
-3
79
-37
-52
-20
43
8
3
48
33
3
-73
47
44
4
-11
72
54
-3
13
46
-44
-2
1
-9
110
126
0
-6
-7
32
-27
30
13
47
2
0
0
-52
45
-25
42
23
4
0
0
0
0
27
1
-43
28
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
34
-54
52
-23
43
6
8
68
77
41
-35
-15
-66
33
-13
72
54
13
-3
58
23
-47
20
3
92
77
0
-22
-1
0
18
-4
-11
95
17
0
1
15
-17
-2
-28
36
98
0
0
0
0
32
-80
12
24
0
0
0
0
0
21
-49
-8
15
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-65
54
24
39
12
1
5
106
-15
34
54
26
-42
9
-17
75
179
2
-38
77
-6
8
-21
15
-10
8
0
3
46
41
-24
-16
-9
128
0
0
0
31
-58
22
25
-17
0
0
0
0
0
-33
8
-51
33
0
0
0
0
0
0
-32
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
-25
-3
15
-25
56
97
-2
9
-49
0
-13
0
3
30
-2
0
-5
-3
-10
-10
-8
22
-1
0
0
3
10
-9
8
33
0
0
0
0
0
3
11
-52
44
54
0
0
0
0
0
-3
34
4
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
-38
-30
-16
-14
58
0
0
5
50
43
-51
47
-96
-17
0
0
0
3
19
-23
-29
-16
1
0
0
0
-3
36
6
-11
-16
0
0
0
0
0
5
-6
39
-3
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-32
-23
36
1
0
0
0
-12
16
-5
9
-48
0
0
0
0
0
-41
-37
57
-25
0
0
0
0
0
26
14
11
0
0
0
0
0
0
-2
45
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
-23
18
0
0
0
0
0
38
2
-47
2
0
0
0
0
0
67
-52
44
-5
0
0
0
0
0
2
56
6
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-25
0
0
0
0
0
0
14
-5
26
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
1
-6
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
0
3
8
-2
-118
-20
2
-4
-10
-8
0
-16
-2
-5
-12
-27
-37
-6
30
24
-42
-14
36
-29
2
-7
6
-26
-11
77
1
-79
-1
-8
-9
5
21
35
0
-19
39
0
0
4
-18
13
3
7
14
-2
0
0
-2
2
-13
19
8
-13
-1
0
0
0
0
-1
-18
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
2
5
24
-18
-18
-8
-47
3
-34
-20
-16
26
5
4
41
13
20
-8
-13
19
-3
-18
-45
2
10
14
12
-48
8
-13
12
-36
5
0
-17
36
10
54
-10
29
-42
0
0
-8
2
-32
1
12
58
-2
0
0
0
7
23
-8
6
0
0
0
0
0
2
-5
10
-3
1
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-9
0
-3
6
9
-4
1
10
42
-7
6
-15
-22
-59
-24
60
20
59
13
-2
-4
-19
-26
28
-5
5
-50
2
1
0
5
-29
53
16
0
-5
36
8
-14
-14
-12
34
22
0
0
2
21
17
-4
-26
-1
0
0
0
-2
8
-41
14
15
0
0
0
0
0
0
-7
16
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
13
-1
-17
13
-17
-40
29
-9
-4
8
34
-14
21
-20
7
-5
-19
-15
-34
-7
92
8
-31
41
62
0
17
3
-32
15
44
-13
-42
35
0
5
-1
26
7
-20
11
3
2
0
0
-6
19
-2
5
-1
6
0
0
0
0
1
9
-5
8
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
0
0
14
-13
4
-7
-11
-21
-2
16
-3
17
54
15
-20
-5
1
-3
-32
-10
-60
-10
19
33
47
0
-8
-15
20
-18
20
16
24
3
0
0
24
-32
1
-28
-9
12
0
0
0
1
17
-8
-17
9
0
0
0
0
0
0
-11
12
2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-8
-2
76
-40
6
25
13
2
31
7
-3
-39
-36
80
-8
0
0
-2
17
-57
46
19
51
-1
0
-1
30
17
4
-9
-19
9
0
0
0
-2
1
6
32
7
0
0
0
0
0
-48
12
-12
-5
0
0
0
0
0
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
2
32
34
-15
-20
-3
-1
2
2
4
24
2
28
-16
1
0
0
40
-3
-5
7
29
0
0
0
1
13
26
-27
-44
0
0
0
0
0
1
-11
11
35
-1
0
0
0
0
0
-2
-3
5
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
20
-35
1
0
0
2
5
25
-14
-1
25
0
0
0
0
2
12
-24
43
-3
0
0
0
0
0
22
42
10
-25
0
0
0
0
0
2
-7
14
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-33
1
0
0
0
0
1
11
30
-41
5
0
0
0
0
0
-10
17
36
5
0
0
0
0
0
15
-11
9
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
4
0
0
0
0
0
11
29
28
-1
0
0
0
0
0
26
-18
2
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
3
3
-3
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
24
0
0
0
0
0
0
0
0
0
0
0
4
14
50
-5
-16
-44
0
0
0
0
0
0
0
0
0
0
0
3
-8
80
56
48
52
0
0
0
0
0
0
0
0
0
0
0
0
-3
44
39
-19
56
0
0
0
0
0
0
0
0
0
0
0
0
1
1
30
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
59
62
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
-15
0
0
0
0
0
0
0
0
0
1
0
-3
15
35
51
35
10
0
0
0
0
0
0
0
0
0
4
1
0
2
40
73
16
1
-4
0
0
0
0
0
0
0
0
-3
0
-1
-5
88
96
29
1
1
0
0
0
0
0
0
0
-1
0
2
-1
-2
-25
23
42
25
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
6
5
40
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-10
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
4
24
0
0
31
36
0
0
0
0
0
0
0
0
0
-2
6
8
52
23
38
-6
9
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
3
-65
89
0
0
0
0
0
0
0
0
1
2
3
8
-8
47
43
13
-21
4
0
0
0
0
0
0
0
0
0
-1
1
2
-31
-15
-43
28
2
0
0
0
0
0
0
0
0
0
1
1
-7
-26
57
81
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
20
43
-19
21
-67
48
0
0
0
0
0
1
0
-17
0
0
0
8
66
-88
76
-49
33
0
0
0
0
0
3
0
-14
-42
29
28
23
29
-48
-10
35
9
9
0
0
0
0
0
0
-17
77
70
153
-12
57
-8
77
109
-15
6
0
0
-2
0
-4
0
1
66
31
-41
47
-30
-88
10
14
4
0
0
0
0
1
1
-4
10
26
80
-4
-3
15
-6
-59
33
-15
0
0
0
0
0
0
0
0
101
18
97
10
-62
-2
-23
-16
4
0
0
0
0
0
0
-2
-2
44
-6
-28
0
31
49
15
-36
0
0
0
0
0
0
0
0
0
0
2
-1
2
0
0
0
0
4
0
0
0
0
0
0
0
-4
0
0
0
-6
6
-12
16
1
0
0
0
0
1
1
0
3
15
0
0
0
0
-13
-1
-29
-4
-10
0
0
0
0
0
0
0
-17
17
-6
5
45
0
-9
-31
-16
53
0
0
0
0
0
0
2
6
-15
-8
16
13
42
16
139
-32
21
3
0
0
0
0
0
0
-4
20
25
23
-31
-27
-40
62
-8
80
-1
0
0
0
0
0
0
15
-3
-34
0
-22
-12
-64
-26
-8
2
0
0
0
0
0
0
0
0
13
4
-23
41
-24
68
-49
-16
10
0
0
0
0
0
0
0
1
-4
44
0
7
-3
-6
3
2
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-8
0
0
0
128
52
66
12
-11
37
-15
0
0
0
0
18
4
-24
69
0
0
44
-86
89
50
24
-2
21
0
1
0
0
-2
-17
-2
28
-74
83
67
53
50
17
18
8
-31
0
0
-1
-1
-1
-3
-13
-16
87
106
-34
67
2
14
-31
9
-27
0
0
0
0
-4
-5
-22
0
-12
77
17
-19
-8
-66
-14
6
-36
0
0
0
0
-5
20
40
-37
81
77
59
15
88
-22
6
-50
-74
0
0
0
-1
5
19
21
3
-25
62
17
-16
-18
-30
-74
-31
-6
0
0
0
0
4
1
14
21
4
-13
3
0
28
166
-12
45
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
105
5
-7
-66
67
39
-39
0
0
0
0
0
0
1
3
46
56
108
54
-56
-6
68
22
7
0
0
0
0
0
0
0
-3
115
-24
14
46
-24
22
-26
41
32
0
0
0
0
0
0
0
-7
30
-8
48
-64
-37
-2
30
41
-16
0
0
1
0
0
-5
-1
13
-25
16
-28
34
-47
24
-64
47
60
0
0
0
0
0
1
-4
0
-40
70
-11
-42
62
32
54
27
92
0
0
0
0
0
3
0
0
71
30
74
28
-43
81
14
53
59
0
0
0
0
0
0
0
0
-8
8
-19
53
100
18
54
13
20
0
0
0
0
0
0
0
3
-1
3
-16
31
-25
54
15
28
-5
0
0
0
0
2
-1
1
-2
0
-29
62
22
92
24
0
-29
-2
0
0
0
0
0
1
-5
-3
-1
45
0
48
48
11
46
-45
-2
0
0
0
0
1
-1
0
-6
-30
-71
-39
40
15
38
23
-12
46
0
0
0
0
0
0
4
6
-24
-116
4
14
17
-14
18
-46
15
0
0
0
0
0
-3
2
-7
-32
-26
19
5
-31
16
5
-25
60
0
0
0
0
0
14
8
-8
-17
18
-46
-13
35
9
21
-17
-67
0
0
0
0
0
-2
-7
-16
-2
52
-23
-12
1
42
-9
-25
4
0
0
0
0
1
0
-2
-2
3
-5
-12
35
8
63
-48
-55
20
0
0
0
0
0
0
-4
0
-1
2
-1
-1
2
64
49
-5
0
0
0
0
0
0
-3
28
39
0
0
115
72
69
13
39
-40
-24
0
0
0
2
4
-3
67
0
-40
0
166
49
4
47
18
79
89
0
0
0
0
0
-13
-11
-16
62
86
92
56
13
45
40
21
41
0
0
0
0
-1
-24
-23
1
115
27
-20
32
-12
18
20
32
43
0
0
0
0
-1
-7
-13
-4
-60
46
-34
4
13
-19
13
7
42
0
0
0
2
-5
-1
34
7
-53
20
-48
27
-12
12
4
-11
12
0
0
0
1
6
-8
-13
30
-13
-87
38
-86
-12
66
12
-14
40
0
0
0
0
0
0
14
38
-31
-6
-85
15
-7
54
44
15
0
0
0
0
0
0
0
3
0
0
0
1
13
11
18
42
5
0
0
0
0
0
0
0
-1
4
0
80
109
10
-23
60
-9
65
-63
0
0
0
0
0
1
13
0
-1
0
86
64
-16
29
39
-2
-104
0
0
0
0
0
-1
-12
-12
8
43
84
81
-69
-41
33
-39
101
0
0
0
0
0
0
-36
-49
73
3
-37
115
-20
4
10
24
-26
0
0
0
0
0
0
6
-29
-31
-48
-21
20
-65
70
17
21
-32
0
0
0
0
0
0
0
-48
-14
12
-95
-63
19
-2
12
21
-3
0
0
0
0
0
0
0
-40
15
8
6
-3
8
46
0
-10
5
0
0
0
0
0
0
0
-4
10
-4
-7
-35
-29
67
-15
-72
0
0
0
0
0
0
0
0
0
0
0
0
3
34
-69
-11
5
0
0
0
0
0
0
0
0
0
0
0
-44
131
139
2
-50
-54
-21
0
0
0
0
0
0
0
12
0
4
56
150
53
6
-99
8
-55
0
0
0
0
0
0
0
20
21
16
93
139
58
23
-21
1
-143
0
0
0
0
0
0
2
-30
-29
5
22
53
18
-20
-77
-45
-23
0
0
0
0
0
0
-1
-28
-84
-17
-1
44
49
8
27
-27
9
0
0
0
0
0
0
3
-50
-70
-25
5
34
-51
27
2
27
-7
0
0
0
0
0
0
0
-5
-90
-3
-9
109
24
-123
-76
-3
45
0
0
0
0
0
0
0
0
-5
1
12
36
79
48
-47
-37
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
21
-29
0
0
-88
-2
0
0
0
0
0
0
0
0
-2
0
-12
-9
-49
-15
29
-89
0
0
0
0
0
0
0
0
0
0
0
0
25
45
-72
-32
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
41
-3
1
0
0
0
0
0
0
0
0
0
0
0
2
-12
40
-64
23
0
0
0
0
0
0
0
0
0
0
1
0
2
-44
43
40
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-11
32
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
29
4
0
0
0
0
0
0
0
0
0
0
1
0
20
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
-8
13
2
0
0
-63
2
0
0
0
0
0
0
0
0
0
1
29
-7
4
23
-7
-14
14
0
0
0
0
0
0
0
0
0
-4
-5
0
32
-59
-63
104
-30
0
0
0
0
0
0
0
0
1
0
1
8
50
-116
38
-10
-23
0
0
0
0
0
0
0
1
0
0
-5
-1
50
-60
-38
80
5
0
0
0
0
0
0
0
0
0
0
0
-1
-25
38
78
31
9
0
0
0
0
0
0
0
0
-1
0
0
-5
3
-6
-110
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
24
-21
0
0
0
0
0
0
0
0
0
0
5
-29
29
0
0
24
4
0
0
0
0
0
0
0
0
0
3
-4
1
-30
21
103
58
-31
0
0
0
0
0
0
0
0
0
7
1
4
-3
35
-32
-2
-32
-1
0
0
0
0
0
0
0
0
-2
-4
-4
95
47
-85
-34
-114
8
0
0
0
0
0
0
0
0
-2
4
-7
-17
5
52
-9
-14
-3
0
0
0
0
0
0
0
0
0
0
5
-54
68
5
-63
-22
0
0
0
0
0
0
0
0
0
0
0
1
6
44
-10
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-22
-50
10
-98
5
-43
-1
0
0
0
0
0
0
0
0
0
0
38
-36
13
-39
-51
-47
2
0
0
0
0
0
2
-1
-68
43
32
-19
-51
-35
-67
-12
-52
2
0
0
0
0
0
0
9
6
5
47
5
-70
-6
-6
-12
-47
1
0
0
0
0
1
1
0
29
-27
43
-47
-26
-50
7
-43
-7
0
0
0
0
0
1
0
0
4
17
17
-33
-38
-65
-47
-9
-8
0
0
0
0
0
0
0
-1
43
-142
-5
-72
-62
0
-13
-24
0
0
0
0
0
0
0
1
7
-64
50
4
-17
5
9
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-13
0
-1
0
-1
0
0
0
0
0
0
0
1
-2
4
-8
16
7
-2
20
-10
3
1
0
0
0
0
0
0
0
-3
-19
-40
4
-2
2
13
-12
-1
-2
0
0
0
0
0
0
0
0
-10
-14
18
-19
-8
-8
-51
-25
1
0
0
0
0
0
0
0
-1
-45
-58
25
-16
6
-10
-1
0
1
7
0
0
0
0
0
0
0
-13
3
1
1
4
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-2
-7
0
0
0
66
-17
13
-45
-67
-6
-131
0
0
-1
0
14
8
7
-4
0
0
44
-5
-61
37
-17
-73
-39
0
0
0
0
-7
7
74
-45
52
119
15
-20
-41
-60
3
-31
-65
0
0
0
1
5
1
65
75
20
59
8
19
-11
-37
-48
-43
-11
0
0
0
0
8
40
-12
33
45
19
40
-64
-62
-79
-33
0
19
0
0
0
0
1
22
-8
-29
68
-52
-5
-79
-92
-124
-48
-71
-34
0
0
0
2
0
10
-3
-3
64
-18
-30
-6
-71
-156
-102
-128
-9
0
0
0
0
0
3
7
-7
2
17
-36
17
49
54
-26
43
4
0
0
0
0
0
0
0
-6
-1
0
0
1
1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-37
-43
-87
-15
-57
-41
0
0
0
0
2
0
0
0
-7
35
-68
-10
-60
-84
-45
-72
-9
0
0
0
0
1
0
1
-2
36
36
19
-7
29
-43
-95
-88
-15
0
0
0
0
0
1
-8
2
-3
20
-48
14
-47
-8
-20
0
-75
0
0
-1
0
1
0
0
0
-36
13
79
-18
30
-26
55
-7
-21
0
0
0
-1
1
-5
-6
-1
40
-18
-5
-43
-92
-86
-37
-14
2
0
0
0
0
-3
-4
0
2
-38
0
-84
-63
62
-21
-102
-9
-35
0
0
0
0
0
0
-10
0
-17
-11
-46
29
-30
-94
-18
-27
21
0
0
0
0
0
0
0
0
0
-10
8
-39
27
-76
-47
-42
-70
0
0
0
0
0
0
2
-2
0
-53
64
-21
-15
-81
-57
-45
-42
0
0
0
2
0
-1
0
-2
-16
-17
0
11
-26
-46
-48
47
56
0
0
0
0
5
0
0
-8
13
51
7
-7
-46
-15
-3
-33
-78
0
0
0
0
0
0
-6
2
12
-35
10
36
-11
-54
3
-18
-98
0
0
0
0
0
8
-5
-1
23
95
-7
-23
43
-37
-76
-51
-42
0
0
0
0
0
-7
8
1
-42
99
93
11
-10
-67
20
-16
-99
0
0
0
0
0
-1
5
13
-4
18
-28
25
34
-35
-48
-4
34
0
0
0
0
2
0
0
4
0
-28
18
2
9
30
-43
-32
-80
0
0
0
0
0
0
0
0
2
-3
4
2
15
-73
-31
-8
0
0
0
0
0
-2
3
-3
-13
0
0
-13
43
-35
-63
-10
32
20
0
0
0
-1
-6
34
30
0
-12
0
46
-6
-33
-4
-34
-58
-86
0
0
-1
0
2
31
-7
-15
-11
202
65
-51
-35
-23
-1
-34
-37
0
0
0
0
0
9
85
-15
60
113
56
-13
-55
-47
3
24
-17
0
0
0
6
3
12
24
-13
-19
50
20
-7
-3
-31
-35
-59
-52
0
0
0
1
21
0
4
-66
92
30
-42
-54
-55
-26
-45
-13
23
0
0
0
3
0
19
38
-3
43
76
19
-20
28
-79
-42
1
-27
0
0
0
0
1
2
-3
-30
-10
40
20
26
-29
47
-58
0
0
0
0
0
0
0
0
-2
0
0
0
7
-8
-29
-29
56
-2
0
0
0
0
0
0
0
-1
-19
0
3
84
-50
-55
-6
-5
11
-34
0
0
0
0
0
0
-16
0
73
0
25
11
-35
-8
-5
13
-8
0
0
0
0
0
0
-36
1
20
-23
6
77
-49
19
8
-1
-46
0
0
0
0
0
0
-1
-105
7
111
-48
-54
-23
-6
14
-19
-68
0
0
0
0
0
0
-3
16
-33
90
-57
-16
-73
5
-32
7
10
0
0
0
0
0
0
-2
-36
-38
21
-124
-2
-44
-40
-31
3
-25
0
0
0
0
0
0
0
-10
-26
4
-68
-4
-13
16
-40
-39
-12
0
0
0
0
0
0
0
-20
-22
8
-44
-78
-76
-17
-88
-60
0
0
0
0
0
0
0
0
0
0
0
0
17
-62
-28
69
14
0
0
0
0
0
0
0
-1
0
0
0
-23
3
20
-32
-184
-158
9
0
0
0
0
0
0
0
42
0
-16
-73
74
14
39
-89
-167
14
0
0
0
0
0
0
0
-44
-8
9
11
59
-8
-76
-44
-36
-67
0
0
0
0
0
0
0
-29
-42
-3
25
-20
-13
76
-46
-42
-62
0
0
0
0
0
0
0
-60
-65
22
-51
9
-3
91
-4
-62
-83
0
0
0
0
0
0
0
-82
-72
43
-13
-37
3
-32
-37
-52
2
0
0
0
0
0
0
0
-17
-68
1
-96
-92
-106
-46
-164
-137
-15
0
0
0
0
0
0
0
0
-2
1
-22
-73
-58
-33
-24
-70
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
1
22
23
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
56
12
28
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
40
6
-40
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
32
13
-54
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
-38
25
-36
0
0
0
0
0
0
0
0
0
0
0
0
-20
-11
30
28
42
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
39
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
2
6
104
41
-19
13
2
0
0
0
0
0
0
0
0
0
0
0
47
-20
54
-96
-15
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
31
9
63
4
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-2
50
19
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
17
35
43
0
0
0
0
0
0
0
0
0
0
0
0
-3
87
-25
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
56
1
0
0
0
0
0
0
0
0
0
0
1
2
18
0
0
72
-25
0
0
0
0
0
0
0
0
0
0
-3
2
25
-16
-22
17
14
0
0
0
0
0
0
0
0
0
0
2
-1
0
-34
-26
-32
12
0
0
0
0
0
0
0
0
0
0
-1
-3
-24
47
19
-50
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-21
-27
41
-12
0
0
0
0
0
0
0
0
0
0
-1
0
-15
11
22
110
-5
0
0
0
0
0
0
0
0
0
0
0
0
-26
46
27
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
0
149
93
8
38
-16
5
0
0
0
0
1
-1
0
0
0
0
0
135
60
23
26
-10
3
0
0
0
0
0
0
5
-42
-14
-29
58
100
-43
66
10
-8
47
0
0
0
0
0
-1
8
-74
-115
12
83
-37
-58
-3
94
45
-14
0
0
0
0
-2
0
1
-9
83
3
-153
-102
-5
-45
32
67
16
1
0
0
0
0
0
0
5
-29
65
26
-56
-36
123
8
17
-1
1
0
0
0
0
0
1
4
45
131
-9
-60
29
54
63
-22
3
0
0
0
0
0
0
1
19
22
74
59
10
64
1
-4
-1
-2
0
0
0
0
0
0
0
0
-1
34
4
17
0
0
0
0
0
0
0
0
0
0
1
-13
-28
0
0
0
-7
50
24
20
-3
-3
-1
0
0
0
1
10
10
-8
0
0
0
10
49
-45
4
18
33
1
0
0
0
0
0
4
-51
-11
-19
79
12
-17
-18
-13
29
47
-6
0
0
0
0
0
2
-30
-95
43
-54
63
20
-25
23
18
8
5
0
0
0
0
0
-1
40
17
-39
-90
-5
-65
15
104
50
85
-4
0
0
0
0
0
-2
16
-12
-25
4
-43
-113
-35
26
18
35
12
0
0
0
0
0
-1
-3
-27
45
50
39
5
17
5
6
53
-3
0
0
0
0
0
0
10
93
20
77
24
9
50
5
12
-21
5
0
0
0
0
0
0
3
5
-27
-4
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-17
-66
-30
-23
-47
-45
-28
0
0
0
0
0
-1
-1
-51
0
0
129
63
5
-22
50
31
7
0
0
0
0
0
0
14
63
83
-26
29
-4
-8
98
30
-32
0
0
0
0
0
0
-7
7
30
48
40
-113
5
5
2
4
13
-29
0
0
0
0
0
-3
18
8
108
-81
30
4
20
41
2
21
28
0
0
0
0
0
-4
-7
5
2
48
-53
109
3
31
84
30
75
0
0
0
0
0
-1
-1
-24
-12
70
-36
-43
62
83
40
-32
-2
0
0
0
0
0
0
6
9
38
-27
-13
-44
-8
0
22
-24
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-55
50
-117
-58
-116
-11
93
0
0
0
0
0
0
2
6
-35
-56
102
-14
-72
-129
-6
38
-17
0
0
0
0
0
0
0
-5
0
47
51
-6
-24
-110
-33
-13
58
0
0
0
0
0
0
0
0
-44
-58
-75
-46
-61
-85
-79
-4
-11
0
0
0
0
0
0
0
0
-24
-86
-38
39
-128
-44
-108
-39
77
0
0
0
0
0
0
-4
0
-41
-30
17
-34
-16
-57
-6
27
21
0
0
0
0
0
0
0
-1
8
-35
-60
18
-49
80
-71
17
6
0
0
0
0
0
0
0
0
-29
4
69
39
57
-44
-65
11
12
0
0
0
0
0
0
0
0
-4
-16
-34
48
63
10
32
-17
23
0
0
0
0
0
-1
2
7
0
-45
3
3
73
-8
-87
-8
17
0
0
0
0
-1
0
-7
0
29
13
0
30
-37
-120
-22
60
-4
0
0
0
0
0
0
-1
1
79
-116
-11
94
-3
2
-104
-57
-39
0
0
0
0
0
0
0
4
-29
-105
9
-50
-44
17
-44
-15
4
0
0
0
0
0
0
0
1
25
-52
82
64
-88
54
-18
-51
-1
0
0
0
0
0
0
0
1
-16
-57
22
-25
92
53
34
64
-39
0
0
0
0
1
0
0
-2
5
-62
68
-57
-129
-1
43
-76
-28
0
0
0
0
0
0
0
0
-16
-21
-84
-13
82
14
-15
-15
-32
0
0
0
0
0
0
0
0
0
-7
-14
-7
13
-2
10
0
0
0
0
0
0
0
1
25
-47
0
0
45
62
33
17
-33
-37
7
0
0
0
0
0
3
13
0
45
0
135
51
-52
15
64
-41
-6
0
0
0
0
0
43
-33
-104
166
200
-25
-2
63
23
41
-83
3
0
0
0
0
0
-4
-43
-164
-44
-20
-105
83
34
-4
19
-61
62
0
0
0
0
0
0
2
-99
13
-8
3
27
1
-67
1
-28
79
0
0
0
0
0
0
-25
-138
-13
-75
-66
-17
-22
27
-55
-4
51
0
0
0
0
0
1
2
-52
67
92
127
35
21
22
60
-67
28
0
0
0
0
0
-1
0
-58
-58
-43
57
143
-64
55
4
27
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-6
-1
1
0
0
0
0
0
0
0
0
6
22
0
-25
99
89
-39
-19
-149
-46
-58
0
0
0
0
0
5
19
0
-67
0
137
64
-46
-92
-47
-108
-16
0
0
0
0
0
8
16
69
46
-14
125
33
-71
-43
68
-29
-33
0
0
0
0
0
-6
3
-80
-94
-247
-55
-12
-20
19
12
-19
-14
0
0
0
0
0
0
-40
-97
-3
-173
-30
77
-48
78
19
-3
71
0
0
0
0
0
0
-7
-54
-46
-76
-92
3
73
-55
63
-46
-7
0
0
0
0
0
0
0
-50
-106
-149
-10
-18
52
-18
-16
-26
-42
0
0
0
0
0
0
0
-8
21
5
-45
-85
105
27
42
8
1
0
0
0
0
0
0
0
0
0
0
0
-1
-12
3
1
4
0
0
0
0
0
0
1
0
0
0
0
100
184
23
-57
-6
-76
-5
0
0
0
0
0
8
-24
21
0
-70
114
125
82
-3
-9
7
10
0
0
0
0
0
0
4
-78
-109
18
141
91
30
7
-19
50
-41
0
0
0
0
0
0
-1
-220
-70
-59
-25
70
62
61
-6
60
-68
0
0
0
0
0
0
-1
-11
-97
-108
-48
34
49
38
-40
-72
-46
0
0
0
0
0
0
-1
-136
-145
-48
-73
-62
-58
100
-32
-11
23
0
0
0
0
0
0
0
-50
-58
-23
-155
-51
45
-87
11
50
-4
0
0
0
0
0
0
0
5
0
0
-15
-98
-12
62
-26
68
6
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-1
41
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
7
-62
-30
-24
-55
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-31
8
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-7
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-14
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-27
-41
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
40
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
1
1
3
6
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
8
12
14
-7
11
-4
0
0
0
0
0
0
0
0
0
0
0
3
21
-65
-42
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
-52
-33
-21
-48
-1
0
0
0
0
0
0
0
0
0
0
0
0
50
-24
18
-14
0
0
0
0
0
0
0
0
0
0
0
1
-10
-31
-31
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
-2
-96
12
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
3
-41
0
0
-72
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
46
20
7
0
0
0
0
0
0
0
0
0
0
0
-2
29
9
-51
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-44
-66
11
-17
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-19
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-18
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-30
-16
0
0
0
0
0
0
0
0
0
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
-1
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
57
3
2
-3
0
0
0
0
0
0
0
0
0
0
-13
-82
-46
-28
3
-47
1
0
0
0
0
0
0
0
0
0
0
14
-91
-90
-18
-8
-6
0
-1
0
0
0
0
0
0
0
0
0
-43
10
32
32
-48
-16
-2
1
0
0
0
0
0
0
0
0
2
-14
3
-36
-54
-17
-3
-1
0
0
0
0
0
0
0
0
0
0
-42
-47
41
-33
2
4
0
0
0
0
0
0
0
0
0
0
0
-27
13
41
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
-6
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-10
-3
0
0
1
0
0
0
0
0
0
0
-1
-2
19
-22
6
-3
-8
-2
0
0
0
0
0
0
0
0
0
0
-1
-5
-6
-35
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
-52
-22
8
-7
1
-1
0
0
-1
0
0
0
0
0
0
0
0
4
-5
9
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
-5
-36
-4
-2
-6
0
0
-1
0
0
0
0
0
0
0
0
0
5
-4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-16
-31
-53
-57
-15
-12
-51
0
0
0
0
2
0
-7
13
0
0
28
-46
-53
44
-50
-39
15
0
0
0
0
0
0
6
41
7
24
-6
-22
18
-40
-29
-88
-40
0
0
0
0
0
6
5
67
12
-11
-20
-89
-137
-77
-104
-43
-37
0
0
0
0
0
0
0
-18
51
32
-48
-69
-164
-41
-85
-76
-34
0
0
0
0
-1
-1
2
7
-40
16
-23
19
-128
-80
-36
-53
-1
0
0
0
0
0
0
1
-13
29
-8
18
13
-17
-94
-51
-16
4
0
0
0
0
0
0
-3
14
-31
-30
19
-1
-31
-27
-23
-10
1
0
0
0
0
0
0
0
-1
-3
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-60
-15
-132
-66
28
-12
36
0
0
0
0
0
0
1
-13
-58
-62
48
-34
-156
-8
5
-19
-7
0
0
0
0
0
0
-1
3
-50
56
-68
-28
-191
-149
21
27
-44
0
0
0
0
0
0
0
1
-21
31
-100
-28
-68
-89
-123
-31
-85
0
0
0
0
0
0
0
-1
-4
-8
-65
-32
-43
-29
-57
12
-78
0
0
0
0
0
0
0
0
-6
6
-69
-20
-77
-67
-4
1
42
0
0
0
0
0
0
0
0
1
-8
-40
4
-4
8
-57
-36
83
0
0
0
0
0
0
0
0
-24
0
-92
-38
19
-21
3
-32
0
0
0
0
0
0
0
0
-1
-12
-13
7
-2
13
-99
-37
-62
-56
0
0
0
0
0
0
0
-8
0
8
-48
-19
-99
-90
-80
-60
15
0
0
0
0
0
0
2
-4
-14
-125
0
-91
-200
-89
-64
20
14
0
0
0
0
0
0
0
-1
10
24
18
-44
-46
45
-82
-2
-58
0
0
0
0
0
0
1
3
6
-41
-71
-28
-181
-41
25
-70
-63
0
0
0
0
0
0
0
0
-16
-16
-60
-45
-65
15
-50
-63
-79
0
0
0
0
0
0
-2
-3
2
-26
10
-56
-78
-112
-52
2
-7
0
0
0
0
0
0
0
-2
-7
-43
16
34
5
-47
-172
-41
-22
0
0
0
0
0
0
0
-1
-8
-11
2
25
-22
57
53
-81
-51
0
0
0
0
0
0
0
0
5
2
33
-7
-3
14
-54
0
0
0
0
0
0
0
0
-14
-3
0
0
-99
-155
-43
-65
-37
-137
-9
0
0
0
0
-1
1
-4
0
-10
0
-52
-96
-55
-59
-82
-46
1
0
0
0
0
0
-2
23
-137
36
-2
3
35
-66
-151
-80
-144
0
0
0
0
0
0
1
-24
-50
-77
2
0
-42
-42
-166
-72
-85
-14
0
0
0
0
0
0
-3
55
88
10
-76
13
-175
-13
-73
-106
-1
0
0
0
0
-1
0
7
122
-42
-11
10
-229
-81
-44
-96
-83
12
0
0
0
0
3
0
1
-20
-15
-29
-19
4
77
-68
-7
-20
-32
0
0
0
0
0
0
0
-6
47
13
-3
-4
-78
13
-8
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-49
-23
-52
-59
-22
0
-29
-56
0
0
0
0
0
0
-1
0
-18
0
-42
-17
-15
-70
-24
-57
1
0
0
0
0
0
0
-25
30
-1
-8
-5
12
-49
13
-26
-18
-12
0
0
0
0
0
0
0
-61
-100
33
-10
-65
-34
-43
-24
63
-8
0
0
0
0
0
0
2
95
-49
-35
-68
-2
-98
-43
-48
-75
-52
0
0
0
0
0
0
0
-71
-48
23
-23
-37
29
-47
-62
-20
-12
0
0
0
0
0
0
0
-3
-10
-12
-12
-38
-33
-26
-36
10
5
0
0
0
0
0
0
0
0
0
0
6
25
1
-17
-16
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-20
-65
-119
-39
-141
-40
0
0
0
0
0
0
0
-3
0
2
131
-143
-3
-75
-13
-54
-4
0
0
0
0
0
0
0
-1
-7
-1
-21
16
-21
-6
-52
-157
-128
0
0
0
0
0
0
0
-4
-3
-6
-17
-29
-103
-41
-30
-23
-49
0
0
0
0
0
0
0
-14
-10
0
28
34
-87
13
-54
-67
-32
0
0
0
0
0
0
0
1
-2
-3
-67
-41
-39
-19
-36
-9
-29
0
0
0
0
0
0
0
0
-9
0
10
6
-68
-64
-59
19
-18
0
0
0
0
0
0
0
0
0
0
-1
-22
-8
-43
2
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
5
73
-1
2
0
0
0
3
0
0
0
0
0
0
0
-9
3
-4
-9
-4
10
-3
-5
2
-2
0
0
0
0
0
0
0
9
43
32
13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
39
32
69
8
22
-1
0
-3
2
0
0
0
0
0
0
0
0
8
-15
53
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
8
42
53
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
3
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
33
26
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
18
-25
-14
0
-3
1
0
4
0
0
0
0
0
0
0
5
40
4
-6
58
8
8
-6
-2
0
-3
0
0
0
0
0
0
16
23
43
9
8
13
-1
5
-6
-5
0
0
0
0
0
0
0
13
46
36
1
-30
25
0
-1
0
-2
0
0
0
0
0
0
0
0
67
4
20
-21
7
0
0
0
0
0
0
0
0
0
0
0
-2
15
52
32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
4
8
7
0
0
0
0
0
0
0
0
0
0
0
14
-1
-4
-36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
3
-38
40
-33
40
3
0
5
1
0
0
0
0
0
0
6
9
89
-58
-82
-15
-24
-2
0
0
1
0
0
0
0
0
0
1
27
41
15
11
40
0
8
3
-3
0
0
0
0
0
0
0
5
-6
21
-34
-64
54
0
0
0
0
0
0
0
0
0
0
0
3
-9
39
-31
59
-22
0
0
0
0
0
0
0
0
0
0
0
1
13
11
0
26
1
0
0
0
0
0
0
0
0
0
0
0
0
17
6
-3
46
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-52
-15
22
56
57
-19
0
-50
-3
0
0
0
0
0
0
-2
23
23
60
-61
-95
-7
-51
35
-2
-4
1
0
0
0
0
0
21
18
53
-73
-15
-41
-48
-60
-150
-17
-3
-1
0
0
0
0
0
-1
27
48
21
8
-59
-30
-75
-43
33
1
0
0
0
0
0
0
-13
-47
58
139
20
-6
9
-12
48
14
0
1
0
0
0
0
0
29
71
92
113
102
-15
68
48
-28
6
0
0
0
0
0
0
0
13
55
50
2
33
29
36
0
-9
5
0
0
0
0
0
0
0
20
24
29
-29
40
-6
7
20
25
0
0
0
0
0
0
0
0
3
0
-1
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-17
4
8
1
-42
-58
-42
0
-4
0
0
0
0
0
0
0
20
10
-10
25
19
-51
26
-47
40
3
0
0
0
0
0
0
0
-1
8
24
-5
-30
5
-13
8
-7
13
1
0
0
0
0
0
0
-8
-25
25
-1
18
-13
34
29
-25
56
-1
0
0
0
0
0
0
-7
-10
29
-59
12
35
-25
48
-22
-4
0
0
0
0
0
0
0
-2
-39
76
-10
16
-27
2
22
-16
8
0
0
0
0
0
0
0
3
43
-14
-23
13
58
12
-8
4
0
0
0
0
0
0
0
0
3
2
24
24
4
1
0
6
8
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
41
-9
44
56
-1
46
27
0
11
-24
-21
-10
-1
0
0
0
-6
-54
44
118
4
6
-42
-41
30
-12
-24
33
14
20
-6
0
0
-23
21
82
54
23
19
-32
-34
-16
-68
-92
-81
-5
1
-1
0
0
21
13
80
23
21
40
14
24
36
68
-57
-47
-8
-6
-1
0
0
38
-28
-22
95
74
-7
44
27
93
-114
-61
-3
-1
-6
-1
0
0
-15
51
-1
135
55
62
17
39
-9
77
-18
-2
4
-2
0
0
0
-1
27
19
92
88
44
54
70
-12
-28
-1
0
0
0
0
0
0
0
24
-6
5
-19
-16
1
-42
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
87
-24
-75
-13
13
0
52
13
-19
0
0
0
0
0
0
-15
59
29
-42
17
71
57
-10
41
3
-18
3
-5
0
0
0
0
3
107
-3
47
18
1
-1
73
-92
25
23
7
-1
0
0
0
0
-6
70
-25
29
154
5
-10
42
20
3
-18
-6
0
0
0
0
0
-2
-12
3
17
1
42
4
91
98
45
4
0
0
3
0
0
0
2
-14
58
14
-39
11
-52
18
40
-33
-10
0
1
0
0
0
0
0
-1
40
-23
-8
-65
14
11
61
-27
-9
0
0
0
0
0
0
0
3
75
-32
116
-3
31
-38
5
30
-9
12
0
2
0
0
0
0
1
-2
93
-50
33
-4
28
26
-30
30
1
-4
0
-1
0
0
0
-10
-29
17
43
3
-4
0
10
8
-57
-14
2
0
0
0
0
0
21
7
62
20
-47
-25
-19
10
66
-2
-48
1
3
-2
0
0
0
16
61
99
35
-29
-25
-71
-39
21
33
0
1
0
0
0
0
0
82
10
96
63
54
41
-25
-68
-39
4
14
2
0
0
0
0
0
43
-3
51
27
7
-23
-60
-10
-17
23
-16
-3
1
0
0
0
0
1
-113
48
9
-12
-14
-51
53
-40
13
-6
0
0
0
0
0
0
8
18
44
44
31
-1
-5
38
8
-28
0
0
0
0
0
0
0
7
-1
37
21
0
53
35
42
-50
3
-3
0
0
0
0
0
0
-1
0
-19
-24
26
-11
-8
3
0
0
0
0
0
0
0
-31
42
56
-46
8
13
35
-38
0
-8
-4
-13
0
1
0
0
0
19
29
94
8
-5
42
16
23
25
35
-36
-10
-7
1
5
0
0
4
43
49
-34
27
21
15
-49
15
-72
-43
-18
-22
-2
0
0
0
64
90
70
101
33
43
-5
33
18
22
-11
-38
14
0
0
0
0
21
-14
76
86
144
59
9
30
55
38
-28
-2
0
3
0
0
0
-14
39
34
23
166
38
-20
13
-21
-17
-3
8
0
0
0
0
0
32
53
53
83
80
65
-8
-81
-48
-3
10
-5
-1
0
0
0
0
0
2
-21
132
86
-4
28
-120
-39
2
-1
0
0
0
0
0
0
0
0
7
-1
8
0
2
-1
0
0
0
0
0
0
0
0
0
6
13
-40
-5
-3
-4
16
-45
0
26
-4
5
0
0
0
0
0
15
-75
43
-10
-24
-42
-6
-29
6
-71
10
-8
4
0
0
0
0
47
-38
78
2
-43
0
9
7
-15
-26
-22
0
0
0
0
0
0
52
-102
57
70
-69
-24
14
13
19
38
-13
1
0
0
0
0
0
-30
-10
105
290
63
-83
17
4
0
-70
-30
-1
0
0
0
0
0
14
76
11
43
125
51
-55
27
-37
6
-1
3
-4
0
0
0
0
-7
-20
55
60
52
12
28
9
-102
-83
0
0
0
0
0
0
0
0
3
-13
57
38
81
-64
-3
-154
-24
-2
0
0
0
0
0
0
0
0
3
0
-25
13
53
32
-5
0
0
0
0
0
0
0
0
2
7
8
16
-41
56
16
-167
0
2
-1
1
0
0
0
0
0
-17
-42
-19
0
-58
3
14
-42
81
76
17
3
0
0
0
0
0
-2
5
-18
-48
74
68
34
-28
-99
-3
-11
-3
0
0
0
0
0
-15
-12
24
-24
-64
25
16
-25
-2
-34
-60
0
0
0
0
0
0
1
-60
-41
78
94
46
62
5
-14
-155
1
1
0
0
0
0
0
-8
-17
-34
41
28
23
10
97
-21
-32
-1
0
0
0
0
0
0
-2
-34
-5
39
12
66
-18
-36
25
41
9
2
0
0
0
0
0
0
-3
-1
21
-4
-9
-42
-12
-44
-5
6
0
0
0
0
0
0
0
0
0
0
-1
-32
5
-23
-28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-18
42
-71
1
-2
0
0
0
0
0
0
0
0
0
0
-8
22
3
-18
-75
17
-12
-2
0
-6
0
0
0
0
0
0
0
14
54
47
-87
-3
9
0
5
2
1
0
0
0
0
0
0
0
46
48
43
56
-24
0
0
-1
-1
0
0
0
0
0
0
0
0
20
-103
-52
41
-6
14
-1
0
0
0
0
0
0
0
0
0
0
20
10
41
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-28
8
28
2
-2
0
0
0
0
0
0
0
0
0
0
0
-13
45
-34
-59
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
93
46
46
19
-6
0
0
0
0
0
0
0
0
0
0
5
-74
24
-54
-107
4
17
-4
2
0
4
0
0
0
0
0
0
60
58
34
83
27
12
-2
-3
30
-5
-1
0
0
0
0
0
0
-6
51
31
16
-85
0
1
-1
0
1
0
0
0
0
0
0
0
-30
42
3
-40
30
-22
-1
0
0
-3
0
0
0
0
0
0
0
9
78
-5
-31
22
0
-3
-3
0
0
0
0
0
0
0
0
0
-3
-32
-19
-19
18
-10
0
0
0
0
0
0
0
0
0
0
0
-15
29
-13
9
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
31
-1
-5
-5
3
-6
0
1
0
0
0
0
0
0
0
-6
-3
133
-13
-42
32
-23
0
-16
8
-1
0
0
0
0
0
0
40
3
14
-18
21
-86
-8
-7
0
8
0
0
0
0
0
0
0
-4
22
-47
-136
-24
-56
-1
0
-1
0
-2
0
0
0
0
0
0
-13
-81
-34
38
-86
52
2
1
0
4
0
0
0
0
0
0
0
-5
84
110
-21
-100
-34
0
0
0
0
0
0
0
0
0
0
0
-4
-16
47
39
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
16
28
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-23
-24
-50
-31
-106
-47
0
-5
-1
1
0
0
0
0
0
10
-7
15
-97
-79
-41
-83
1
-5
27
-8
1
0
0
0
0
0
-8
53
16
-27
-19
-23
-57
-144
-68
-1
-1
2
0
0
0
0
0
-8
-1
20
8
2
-95
10
-11
-46
-39
0
0
0
0
0
0
0
-27
24
-25
-84
-62
12
-3
-34
-14
3
0
-1
0
0
0
0
0
1
-65
-59
-51
42
41
-58
-41
23
0
0
0
0
0
0
0
0
0
41
-2
-2
-46
-19
3
-2
-6
0
0
0
0
0
0
0
0
30
-122
-7
49
0
3
3
0
-8
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
1
0
-2
-5
0
0
0
0
0
0
0
0
0
1
10
-12
7
0
-1
-16
-17
-5
-1
0
0
0
0
0
0
0
-1
-52
7
-7
0
-23
-3
3
-6
-2
0
0
0
0
0
0
0
-1
-10
-8
-53
-6
16
-5
-25
22
-5
0
0
0
0
0
0
0
0
-18
24
2
-1
-1
-23
-15
-1
7
0
0
0
0
0
0
0
-1
-29
8
-24
3
1
-1
0
0
0
0
0
0
0
0
0
0
-3
1
-48
8
0
-7
1
0
0
0
0
0
0
0
0
0
0
-15
-1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
44
-1
49
-65
-82
-17
0
-55
-54
-23
23
-2
0
0
0
-47
45
29
91
58
-33
-117
-64
-28
-11
-49
10
24
-13
4
0
0
-60
53
81
104
-89
-9
-86
-61
-61
-39
16
67
28
0
-3
0
0
-44
41
81
114
24
-26
-59
-21
-13
-51
15
-20
-22
3
0
0
0
-12
73
88
-11
67
-14
-39
-70
-26
-35
-28
5
0
4
0
0
0
20
-11
10
7
-72
-57
-65
-7
-26
-21
-50
1
-1
-2
1
0
0
-5
-32
-1
40
32
38
1
-93
13
29
1
3
0
0
0
0
0
0
-12
7
5
-3
29
35
1
9
-2
-8
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-21
-72
-40
-24
-139
0
-69
9
8
7
-3
0
0
0
0
-8
30
4
20
-18
4
-95
-75
-93
9
-24
3
-5
0
0
0
0
1
9
-41
-24
34
-81
-88
44
-19
14
-37
-16
0
0
0
0
0
0
120
13
-30
7
-23
-15
10
33
-79
-20
-2
0
-1
0
0
0
-2
16
-41
-23
-1
-9
17
-11
25
-28
-14
0
0
1
0
0
0
-41
31
-24
-11
13
10
-47
7
-16
11
3
0
0
0
0
0
0
0
58
16
-26
-70
-68
-16
-33
-37
-49
-37
2
4
0
0
0
0
-14
-49
-10
-89
-51
-58
-2
-74
-32
7
-25
0
2
-1
0
0
0
-7
1
-14
-68
-106
65
-25
-11
-53
20
14
3
2
-1
0
0
0
0
-4
52
88
-45
-72
-55
0
-14
4
5
10
-1
0
0
0
0
0
56
21
16
-2
-48
-81
-16
-29
41
-29
16
12
-6
4
0
0
0
65
21
77
-14
-58
-76
-12
-2
50
2
-17
0
0
0
0
0
0
-16
52
10
51
3
-12
-13
-75
-50
15
0
-1
0
0
0
0
0
-22
-7
3
-1
-27
-11
23
-56
20
9
8
1
0
0
0
0
0
4
-9
-15
16
-1
-38
-6
-20
-18
-40
2
-1
0
0
0
0
0
10
-49
-55
-6
-20
42
4
-13
-69
-31
20
-1
0
0
0
0
0
21
21
20
-52
-13
89
19
-35
9
-8
-2
-1
0
0
0
0
0
1
17
13
17
-2
42
-4
3
0
0
0
0
0
0
0
-23
104
101
143
-85
-48
47
-72
0
-7
18
-3
-5
0
0
0
0
-3
-30
94
164
-62
-34
-44
-36
-19
-85
-79
-35
-23
8
0
0
0
22
75
70
65
-26
-64
-77
-53
-5
-34
-41
23
-16
12
0
0
0
-10
2
20
112
-30
-44
-70
7
41
-32
90
-5
25
1
0
0
0
12
-47
27
-7
54
-73
-18
-46
55
99
-20
-2
-4
0
0
0
0
48
16
-22
167
67
-33
-90
26
63
-61
-17
-17
3
-1
0
0
0
-14
-18
48
52
15
25
2
-50
-48
33
-13
0
-3
0
0
0
0
1
3
26
-25
-46
52
-61
27
17
1
-2
0
0
0
0
0
0
0
-2
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-28
-57
-11
-107
-33
19
-11
-66
0
-29
-7
4
0
0
0
0
0
-70
10
68
-6
-85
-22
2
-42
7
-114
58
-4
-2
0
0
0
0
16
4
82
14
6
19
-80
-43
-42
-46
-55
4
0
0
0
0
0
-13
-75
64
40
-1
-35
33
-22
7
39
-79
-3
0
0
0
0
0
-31
-91
73
78
38
-45
-54
-24
-26
-105
-25
0
0
0
0
0
0
-2
28
-27
44
21
19
-79
-46
-73
-88
12
-2
0
0
0
0
0
14
30
-69
-3
27
11
7
43
-147
42
0
0
0
0
0
0
0
0
-1
4
66
37
67
-7
6
-36
-13
0
0
0
0
0
0
0
0
0
4
0
7
8
22
12
2
-1
0
0
0
0
0
0
0
-8
10
0
1
16
-119
-85
-110
0
2
-2
1
0
0
0
0
0
-18
-15
8
40
-84
-40
-96
-179
-59
-49
13
-1
0
0
0
0
0
-16
-41
-16
-50
-28
64
-38
-221
-12
-77
-42
-5
0
0
0
0
0
-2
-30
1
11
27
21
-72
-87
42
4
-11
-1
0
0
0
0
0
-6
-40
-17
-53
-24
8
-33
-31
-13
45
-42
2
0
0
0
0
0
3
-63
-59
-12
-46
-67
-97
-5
-43
-2
-20
0
0
0
0
0
0
0
-74
-24
41
-44
-73
-13
-17
-78
-46
-12
-5
0
0
0
0
0
0
5
0
43
-51
-43
-83
-67
-11
5
2
0
0
0
0
0
0
0
0
-1
0
6
-18
37
42
13
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-21
16
18
-9
2
-1
0
0
0
0
0
0
0
0
0
0
12
-10
41
53
-41
2
0
0
0
0
0
0
0
0
0
0
0
40
-22
51
-6
-3
1
0
0
0
0
0
0
0
0
0
0
0
-24
54
-44
47
-10
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
-39
45
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-29
0
43
-17
-1
0
0
0
0
0
0
0
0
0
0
0
9
36
51
73
3
-2
0
0
0
0
0
0
0
0
0
0
0
6
90
-45
71
5
0
0
0
0
0
0
0
0
0
0
0
0
40
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-30
2
14
4
0
0
0
0
0
0
0
0
0
0
0
16
90
21
-6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
29
-19
17
-53
19
10
0
2
0
0
0
0
0
0
0
0
0
35
46
71
-41
-30
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
50
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
3
15
47
-30
25
0
0
0
0
0
0
0
0
0
0
0
0
43
-22
-3
37
9
0
0
0
0
0
0
0
0
0
0
0
0
2
102
40
65
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
40
-37
2
25
0
0
0
0
0
0
0
0
0
0
0
22
-4
43
-27
45
7
2
0
0
0
0
0
0
0
0
0
0
24
-23
-23
-60
-53
-24
0
0
0
0
0
0
0
0
0
0
0
30
-1
-17
41
50
5
0
0
0
0
0
0
0
0
0
0
0
0
2
13
20
53
-7
0
0
0
0
0
0
0
0
0
0
0
0
-13
58
22
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
62
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-28
27
-116
-101
-85
-28
0
0
0
0
-1
0
0
0
0
0
49
147
88
23
-39
34
74
0
0
0
3
0
0
0
0
0
0
28
56
68
-32
29
73
19
3
30
31
-1
0
0
0
0
0
0
36
-24
72
46
27
-48
4
38
42
-5
2
0
0
0
0
0
0
73
17
51
106
79
-26
-15
-1
-54
3
0
1
0
0
0
0
0
-13
16
59
-37
-37
81
52
-16
61
0
0
0
0
0
0
0
0
42
-31
-19
27
74
45
60
48
24
-4
0
0
0
0
0
0
0
9
-51
7
41
-42
6
-20
3
-1
0
0
0
0
0
0
0
0
51
1
-7
27
2
0
0
0
1
0
0
0
0
0
0
0
0
-33
-54
35
56
20
-19
8
0
0
0
0
0
0
0
0
0
0
4
48
-13
10
-5
-13
25
0
0
0
1
0
0
0
0
0
0
-14
-63
24
51
-41
30
1
27
44
10
0
0
0
0
0
0
0
62
-46
12
5
-10
-31
-82
-10
7
26
3
0
0
0
0
0
0
43
-54
8
39
14
-31
49
18
-3
19
3
0
0
0
0
0
0
-42
-16
-45
-17
-7
-34
-88
60
14
26
-1
0
0
0
0
0
0
54
-38
-35
53
-6
26
17
-15
-23
87
-2
0
0
0
0
0
0
44
61
52
-16
24
46
17
36
21
3
0
0
0
0
0
0
0
42
63
8
24
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
-21
77
-35
-7
0
0
0
11
14
-7
-5
0
0
0
2
34
30
-9
-52
-38
51
0
0
0
49
8
0
5
-1
0
0
22
-74
55
-10
47
24
43
67
106
65
42
-34
-38
7
0
0
0
14
83
54
17
29
-42
-56
-5
-59
-11
-60
3
1
7
0
0
0
46
-50
-22
40
1
65
42
-106
-46
14
-8
0
0
-2
2
0
0
18
18
76
50
-73
15
-64
56
-21
-32
-16
0
1
2
0
0
0
-2
30
-16
27
-27
12
-40
-17
-38
-23
4
0
0
0
0
0
0
6
-13
12
-5
5
-7
29
4
-1
-10
0
-1
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
34
-57
-97
-192
-30
0
0
0
-12
25
2
-36
30
-16
-1
0
-22
-52
-36
-58
-56
29
0
0
0
72
-18
5
5
-34
-7
1
0
-22
-71
99
-28
15
-74
-16
20
47
15
-20
-31
-15
-12
-4
0
0
8
-36
9
2
-109
-59
-98
0
-46
-5
-57
-13
-16
1
-1
3
0
-2
-43
13
-22
-27
-26
-116
-18
40
-5
-14
1
0
1
3
0
0
-1
-32
37
24
-15
-25
-11
34
18
41
-39
-20
2
6
0
0
0
0
-41
89
44
-12
46
-66
-16
-28
27
-21
-10
2
-1
-1
-1
0
0
17
20
-35
111
-65
-52
26
36
3
-23
-45
4
2
1
-18
0
0
-3
-3
28
-7
152
-19
35
78
-64
11
-5
4
-4
4
-5
0
0
-25
-5
-53
3
52
0
0
0
-41
-8
37
16
0
-2
0
0
0
-67
-31
25
-17
-41
0
0
0
-58
-75
-76
0
-6
3
0
0
0
-96
39
72
120
40
26
-1
7
-27
12
4
-2
1
0
0
0
0
-66
-123
112
-1
1
-64
-81
-4
-3
-2
0
0
0
0
0
0
0
-164
15
4
68
-91
-81
3
-35
3
-17
2
-1
0
0
0
0
0
-13
-58
107
-20
-72
-53
-18
13
-2
-49
1
-2
-1
0
0
0
0
-65
-13
27
68
18
72
-73
12
66
-43
5
9
-2
0
0
0
0
0
-33
78
-29
-77
-7
1
-17
-49
14
6
6
10
-1
0
0
0
-4
-24
-4
1
37
-8
-5
0
0
0
0
0
0
0
0
-54
-36
3
-96
-77
-27
159
0
0
0
5
-8
-1
-1
0
0
0
-59
-43
50
-48
-43
5
143
0
0
0
8
-9
-6
-1
0
0
0
-81
-60
-21
12
4
6
71
193
134
-6
-7
-13
-2
-1
0
0
0
-131
-54
-29
64
-70
-8
-123
-19
-74
-31
6
-1
-13
0
2
0
0
-93
-156
-33
-83
40
-40
75
-9
-103
-8
33
2
4
3
0
0
0
-11
60
68
37
-28
70
74
-43
-42
12
-1
7
-1
0
3
0
0
-58
37
-8
86
19
-52
-50
-10
77
43
10
-2
0
0
-1
0
0
12
33
72
-32
50
42
-29
56
-24
-3
-2
0
0
0
0
0
0
0
-1
-1
3
14
0
0
0
-1
0
1
0
0
0
0
0
0
-44
-106
-6
-87
-57
-31
60
0
0
0
-15
-2
0
0
0
0
0
-78
-58
-197
-16
-76
-8
120
0
0
0
-18
-8
0
0
0
0
0
-55
55
-101
-4
16
57
-101
-78
41
-19
23
1
0
0
0
0
0
-35
10
72
34
53
-84
-27
46
-36
60
-42
1
0
0
0
0
0
-1
-35
-39
-34
36
-57
-25
-49
-56
-63
-27
-3
0
0
0
0
0
-31
-85
99
90
76
68
-94
-10
-28
-125
-3
-3
0
0
0
0
0
-89
6
-19
-30
-45
-36
1
42
-115
-130
9
0
0
0
0
0
0
-2
9
-34
39
48
57
15
-25
-55
5
0
0
0
0
0
0
0
0
0
0
0
47
17
-38
2
-16
0
0
0
0
0
0
0
0
-15
5
-58
-55
67
-29
43
0
0
0
27
-10
0
0
0
0
0
-17
-42
-48
46
-34
65
169
0
0
0
25
-25
-1
-2
0
0
0
31
-53
-17
184
122
20
158
135
51
93
47
9
0
5
0
0
0
-172
-134
-26
69
-15
120
62
-32
-56
-57
28
4
0
0
0
0
0
-74
-183
-8
31
34
66
-17
10
-13
-153
-27
-1
2
0
0
0
0
13
-52
-66
-2
59
-37
-26
28
-7
-61
-16
-3
1
0
0
0
0
-36
-33
-41
-109
12
-12
-59
-16
-23
-77
-53
-18
0
0
0
0
0
0
43
-14
74
-22
8
-6
-14
-56
-94
-56
2
2
0
0
0
0
14
-2
0
0
-9
3
-2
25
-50
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
-15
-41
-3
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
-43
-54
-42
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
32
-10
4
-5
0
0
0
0
0
0
0
0
0
0
0
1
-28
-21
-55
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-8
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-28
17
29
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
3
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
-22
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-22
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
40
-19
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
12
-10
-58
-33
-51
0
5
0
0
0
0
0
0
0
0
0
0
19
-39
-69
-54
2
0
0
1
0
0
0
0
0
0
0
0
0
6
-58
-14
38
-12
0
0
0
0
0
0
0
0
0
0
0
0
6
8
16
-107
-30
-5
0
0
0
0
0
0
0
0
0
0
0
19
-26
2
19
-44
0
0
0
0
0
0
0
0
0
0
0
0
-7
48
9
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
29
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
43
8
-20
-2
0
0
0
0
0
0
0
0
0
0
0
8
-8
26
28
-46
-2
0
0
0
0
0
0
0
0
0
0
0
-31
-23
17
-16
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-6
-70
-22
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
21
-42
-21
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-41
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-74
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
2
-47
8
-3
0
0
0
0
0
0
0
0
0
0
1
-28
17
5
-92
-42
3
0
0
0
0
0
0
0
0
0
0
-8
-48
11
12
-13
4
0
0
1
0
0
0
0
0
0
0
0
-4
-10
-27
-128
-25
-23
-8
-4
-1
0
0
0
0
0
0
0
0
-5
-12
5
11
-5
13
6
-2
1
0
0
0
0
0
0
0
0
0
8
-20
3
-48
-24
-2
-1
0
0
0
0
0
0
0
0
0
0
-57
30
-4
-16
1
2
3
0
0
0
0
0
0
0
0
0
-2
-65
-13
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
8
-6
-6
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
1
4
-8
-10
-3
-3
-3
-1
0
0
0
0
0
0
0
0
0
2
-29
19
4
-3
-8
0
0
0
1
0
0
0
0
0
0
0
-2
-23
13
14
2
-7
1
0
-4
0
0
0
0
0
0
0
0
-6
-12
-5
13
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-25
-10
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
-5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
-19
-116
-145
-46
0
0
0
-5
-4
1
0
0
0
0
7
27
6
9
35
-95
-70
0
0
0
-77
4
-8
1
0
0
0
10
4
25
-8
-27
-124
-110
-77
-26
-62
-6
-8
2
-5
0
0
0
13
40
32
-41
47
-77
-40
-111
-70
-83
-24
-2
0
0
-2
0
0
6
0
-19
5
-45
-37
-65
-76
1
4
-2
0
-1
0
0
1
0
-8
-8
-19
-15
-30
-3
-85
30
-69
-14
14
0
0
-1
0
0
0
0
6
21
-8
-20
-5
-35
-51
-47
-18
2
0
0
0
0
0
0
-5
6
33
7
29
9
-2
-38
-1
-3
0
0
0
0
0
0
0
6
-2
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
3
-81
-213
-53
0
0
0
22
9
2
23
18
0
4
0
-3
-24
9
-33
-174
-24
0
0
0
-45
-53
-27
-22
9
2
0
0
-15
-3
-75
-31
-164
-104
0
-83
-200
0
11
-17
-13
1
-2
0
0
-24
1
-21
-64
-145
-129
-92
3
5
13
26
5
-7
-7
0
0
0
-7
-15
-60
-68
-36
-49
-19
-44
-5
-43
-8
1
-2
0
0
0
0
0
8
-38
-78
-11
-97
-24
69
-73
31
52
5
-4
0
0
0
0
-1
-40
-42
-41
-11
-2
-72
4
25
-20
-41
-9
7
-29
4
0
0
0
-27
-65
-45
62
-75
99
32
3
-10
-25
14
-12
10
1
3
0
0
0
-6
4
28
30
69
82
53
-19
-5
-4
0
-24
0
-1
0
0
-4
-15
-32
-115
-92
0
0
0
-6
-34
-5
-9
-1
0
0
0
0
-23
-60
6
-95
-11
0
0
0
-47
-13
-3
0
1
0
0
0
0
-58
-86
-1
-5
21
5
-45
26
60
-5
-8
-2
-2
0
0
0
0
3
-11
-18
-36
-213
-59
-49
-115
1
-44
-1
1
0
0
0
0
0
1
-88
-25
30
-90
-72
-148
-20
52
9
-8
2
0
0
0
0
0
-20
-77
-34
27
-52
-24
-34
24
-28
14
-1
0
-1
-4
0
0
0
-13
3
-27
11
6
-64
23
-35
15
-2
13
-14
-2
0
0
0
0
-1
-12
-64
-71
-46
26
61
-16
-4
8
7
-2
-8
1
0
0
0
-5
-40
-6
4
-11
2
0
0
0
0
0
0
0
0
0
9
-85
-36
-97
-91
-64
-106
0
0
0
-1
0
2
0
0
0
0
-27
-4
63
21
-84
-177
-206
0
0
0
-9
15
-2
1
0
0
0
10
-25
-24
10
-116
-92
-148
-135
-26
-64
0
2
-7
1
-1
0
0
-58
-41
70
34
68
-165
-93
-66
-83
-8
-18
-25
-1
0
-3
0
0
-18
25
-11
-5
43
-127
-61
-71
-106
-76
7
-2
1
-2
0
0
0
7
42
37
-4
0
18
3
-72
-53
1
-22
0
0
0
0
0
0
5
-5
68
-3
-48
-54
-138
-23
-51
-40
1
0
1
0
0
0
0
-1
-17
-25
30
12
24
-58
-32
-6
-7
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-8
8
-35
7
-18
-43
0
0
0
-2
0
0
0
0
0
0
-19
-144
-41
-59
8
-23
-62
0
0
0
-23
0
0
0
0
0
0
-12
35
-34
-74
-30
-42
-69
-11
-54
-41
-1
0
0
0
0
0
0
8
-51
-68
5
46
-27
-47
79
-7
-25
-17
0
0
0
0
0
0
2
-11
9
-13
-65
-81
5
7
-30
-53
1
2
0
0
0
0
0
-6
-4
6
31
-28
-45
5
20
-21
-158
-1
0
0
0
0
0
0
0
-3
-2
-15
-56
-6
-37
-78
-173
16
0
0
0
0
0
0
0
0
2
0
-13
0
50
-33
-20
2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
30
8
-48
7
0
0
0
0
0
0
0
0
0
0
-1
0
-3
7
88
20
-32
0
0
0
-3
-13
0
0
0
0
0
1
-9
-2
-22
-43
1
-65
-20
-75
-34
-20
-2
0
0
0
0
0
0
-1
0
-43
-36
-102
-65
-40
-21
-101
-10
2
0
0
0
0
0
0
-10
-4
-76
-39
57
-133
-135
-99
-1
8
-3
0
0
0
0
0
0
1
2
33
-5
-13
-57
-50
-53
-106
-20
0
0
0
0
0
0
0
0
0
6
-127
-20
-81
-53
29
-76
-5
-2
0
0
0
0
0
0
-2
0
-6
19
-49
-16
39
-12
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
13
0
0
0
63
0
0
0
0
0
0
0
0
0
3
-29
58
10
60
0
0
46
1
0
0
0
0
0
0
0
0
-7
1
14
34
27
51
-8
-82
0
0
0
0
0
0
0
0
0
0
0
59
-1
40
92
50
113
1
0
0
0
0
0
0
0
0
0
0
-3
6
32
13
66
-27
0
0
0
0
0
0
0
0
0
4
-4
4
-34
76
85
12
-18
0
0
0
0
0
0
0
0
0
0
1
-5
3
0
4
48
56
0
0
0
0
0
0
0
0
0
0
0
1
-1
27
1
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-22
2
0
0
0
0
0
0
0
0
1
1
0
41
75
0
0
0
-16
0
0
0
0
0
0
0
0
-1
1
6
7
24
63
0
0
-15
8
0
0
0
0
0
0
0
1
2
29
5
49
105
20
45
-28
-1
0
0
0
0
0
0
0
0
16
86
42
41
36
77
1
-34
-6
0
0
0
0
0
0
0
-4
2
0
50
-2
17
66
-1
83
-4
0
0
0
0
0
0
0
-3
0
1
-15
27
70
32
37
33
-2
0
0
0
0
0
0
0
0
0
-2
-2
-64
75
-72
87
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-32
-2
61
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-3
0
0
0
0
0
0
0
0
0
0
1
3
43
0
0
0
9
-35
0
0
0
0
0
0
0
0
0
9
-8
13
23
0
0
15
10
0
0
0
0
0
0
0
0
0
0
29
43
116
-11
34
19
11
0
0
0
0
0
0
0
0
0
-15
15
33
52
16
-15
-60
35
-1
0
0
0
0
0
0
0
2
4
6
2
48
47
87
47
-88
2
0
0
0
0
0
0
0
3
5
-1
31
26
8
47
23
34
-4
0
0
0
0
0
0
0
-3
3
4
-18
34
3
12
117
16
0
0
0
0
0
0
0
0
0
0
0
-3
110
-2
-4
27
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
119
46
-10
64
-12
-10
0
0
0
0
3
8
50
-42
0
0
0
-14
0
2
43
-32
80
-8
0
0
0
1
-3
-28
-21
52
65
100
121
35
-104
-10
27
9
40
0
0
0
6
-7
36
-35
53
74
48
-39
-5
-1
-63
57
29
1
0
0
-8
-3
-9
3
36
7
43
-3
3
-28
-52
-34
-49
18
0
0
0
0
-2
-2
-15
18
39
231
60
-8
34
43
-70
47
52
0
0
0
0
0
2
-7
-8
123
30
32
-62
-3
22
-14
17
-13
0
0
0
0
0
0
-4
-17
24
37
-69
15
12
65
50
-31
0
0
0
0
0
0
0
0
0
-1
12
3
-5
0
1
13
-23
33
0
0
0
0
0
6
30
38
0
0
0
102
82
33
-14
-32
14
0
0
0
5
1
0
59
42
0
0
0
70
74
-71
11
3
56
1
0
0
0
-2
3
30
-60
23
-77
96
-39
-33
44
-174
11
-24
-4
0
0
-4
0
-1
18
5
16
-3
20
-79
47
-101
82
-24
133
5
0
0
0
-1
0
-3
-9
28
-65
-43
47
31
-7
40
8
-10
-4
0
0
0
1
0
0
34
42
0
14
-107
-45
-68
39
-41
29
0
0
0
0
0
-1
0
10
65
-65
-42
-8
-42
-38
32
3
3
0
0
0
0
0
0
-2
3
66
-14
24
18
3
-1
-9
0
0
0
0
0
0
0
0
0
4
0
29
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
6
76
0
0
0
162
53
19
19
-42
-62
-26
0
0
1
0
66
103
117
25
0
0
66
50
7
25
-41
-73
-46
0
1
-1
2
13
13
62
93
44
147
57
138
63
16
-18
-37
-84
0
0
-2
-7
-36
-44
82
26
30
48
70
57
76
5
7
-34
14
0
0
0
6
-72
20
0
-11
60
22
-55
44
16
-9
-20
-3
-90
0
0
0
-61
0
-9
17
15
68
12
19
51
17
3
-13
-39
-57
0
0
0
-14
22
-2
-33
45
-62
31
60
36
70
39
13
-9
-2
0
0
0
3
9
1
60
9
-109
29
143
-6
55
45
25
3
4
0
0
0
0
0
0
0
3
1
-1
1
-8
1
-2
30
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-22
0
0
119
27
9
3
-57
68
62
0
0
0
0
8
-1
-3
-66
148
79
8
45
-22
-10
-25
6
42
0
0
0
0
0
-2
3
25
55
35
104
64
-4
0
-22
-34
25
0
0
0
0
0
-17
30
-138
9
7
57
74
-2
25
43
-42
35
0
0
0
0
-12
-6
-18
126
-31
3
-35
21
65
24
2
4
19
0
0
0
7
0
-5
14
-9
-71
97
27
55
69
-32
1
-13
47
0
0
0
-2
0
0
44
71
-48
28
54
43
97
38
38
20
25
0
0
0
0
0
0
-41
-5
-47
-175
-30
104
55
62
19
49
45
0
0
0
0
0
0
0
4
34
17
-55
99
-7
77
100
62
30
0
0
0
0
1
-41
21
15
0
56
111
-20
-65
19
5
3
35
0
0
0
-1
-4
52
-30
-4
-38
67
0
52
27
5
14
-24
-7
0
0
0
0
-3
1
-49
44
55
54
17
28
-13
39
44
-22
14
0
0
0
0
-18
8
36
52
92
32
63
19
33
-33
14
12
-28
0
0
0
0
29
-87
-20
27
-31
33
-4
25
49
-13
40
-14
14
0
0
0
3
19
-25
-28
-15
68
103
58
62
23
-18
76
-6
-12
0
0
0
0
-3
-60
-12
13
-86
84
4
29
30
0
55
3
-8
0
0
0
0
13
0
24
-11
37
-36
18
-8
63
38
-24
12
37
0
0
0
0
0
2
-5
5
-18
2
42
-20
90
14
-10
-7
0
0
0
0
-8
5
51
-11
83
0
0
133
79
48
-12
-10
-51
-26
0
0
0
4
-17
-22
63
0
44
0
78
56
66
-20
-24
-49
-1
0
0
2
-2
7
64
27
85
99
131
20
82
33
3
11
-36
5
0
0
5
0
46
23
16
-79
51
13
42
59
24
27
5
-23
-87
0
0
0
-4
-7
-37
-14
42
-22
-40
27
41
-2
44
9
-43
-4
0
0
0
5
-19
-14
155
6
-54
-24
2
14
-51
12
-28
48
29
0
0
0
0
37
-57
98
14
13
99
-2
39
14
-11
-5
45
23
0
0
0
0
-1
31
34
-36
28
-25
42
-29
-2
22
30
68
-1
0
0
0
0
0
0
9
1
-1
-9
12
12
-1
54
105
8
0
0
0
0
0
2
13
-32
70
0
118
144
129
52
-1
88
34
20
0
0
0
0
-2
12
-29
0
8
0
77
11
84
19
9
37
-82
0
0
0
0
0
-10
83
-8
72
16
33
11
30
7
45
70
15
0
0
0
0
0
-5
-40
-16
8
46
72
-40
21
27
8
64
95
0
0
0
0
1
-3
5
39
-51
92
-17
-21
-95
-32
33
52
-44
0
0
0
1
0
0
-15
-53
-131
10
-30
1
-52
-44
22
47
-8
0
0
0
0
0
0
-3
11
-65
-160
21
5
-20
41
43
82
-1
0
0
0
0
0
-10
0
1
3
-8
53
-43
-10
-15
68
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-59
-30
5
0
0
0
0
0
0
-6
28
0
0
0
139
76
108
33
2
56
73
0
0
0
0
0
-1
69
114
0
126
78
154
66
1
13
-18
53
0
0
0
0
0
0
-8
78
61
52
-24
85
49
33
-19
17
-80
0
0
0
0
0
0
2
2
-48
-28
20
64
2
22
7
19
-28
0
0
0
0
0
0
-6
-69
-92
-8
-51
10
5
41
45
-42
-44
0
0
0
0
0
-2
5
-38
-187
-21
-16
-19
36
63
-28
-1
-73
0
0
0
0
0
0
0
-58
-161
-26
-101
16
84
0
54
39
61
0
0
0
0
0
0
0
0
-10
3
43
101
-46
-10
-16
-85
4
0
0
0
0
0
0
0
0
0
0
0
1
3
22
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
-118
0
0
0
0
0
0
0
0
0
2
-6
-8
45
49
0
0
-56
-8
0
0
0
0
0
0
0
-1
-8
0
-27
-36
-38
22
-99
-160
2
0
0
0
0
0
0
0
0
0
-8
-15
-18
85
-12
-64
29
5
0
0
0
0
0
0
0
0
0
0
0
2
-1
-9
-47
7
0
0
0
0
0
0
0
0
3
-7
1
1
3
-32
-52
48
-49
-8
0
0
0
0
0
0
0
0
-1
1
30
15
-6
84
-103
18
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
60
-97
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
29
16
0
0
0
0
0
0
0
0
-2
-2
-9
41
15
0
0
0
-128
0
0
0
0
0
0
0
0
-2
-14
34
-31
-12
83
0
0
-28
14
0
0
0
0
0
0
0
0
1
-28
1
-12
39
0
5
-43
16
1
0
0
0
0
0
-1
1
6
-56
-5
-102
27
-38
35
16
3
0
0
0
0
0
0
0
6
25
13
65
21
-17
19
-104
-97
-53
0
0
0
0
0
0
0
6
-1
-2
27
-6
2
-30
-19
-37
1
0
0
0
0
0
0
0
2
14
2
3
-4
-37
17
-77
-87
12
0
0
0
0
0
0
0
0
-3
0
1
20
27
43
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
1
2
-2
4
0
0
0
0
0
0
0
0
0
0
5
0
81
0
0
0
10
19
0
0
0
0
0
0
0
0
0
-25
25
-31
52
0
0
-49
2
0
0
0
0
0
0
0
0
0
5
-13
-21
-31
32
8
4
0
1
0
0
0
0
0
0
0
0
26
-29
-24
68
67
0
-14
12
-2
0
0
0
0
0
0
0
1
1
-25
15
146
-31
-32
-15
-77
2
0
0
0
0
0
0
0
8
-9
0
-33
-40
7
-25
-141
-110
0
0
0
0
0
0
0
0
-2
-2
5
8
-67
-17
-86
-127
-51
0
0
0
0
0
0
0
0
-1
-4
-2
-5
-66
41
-99
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
24
0
0
0
-17
-64
30
18
-55
-80
-1
0
0
0
-3
15
-2
-16
0
0
0
25
-134
-78
9
-17
-63
12
0
0
0
-1
-2
30
-29
-62
-38
46
-59
-158
-1
-78
-41
-46
-6
0
0
0
0
11
-9
-35
41
0
-32
-48
-95
-116
-40
-133
-138
1
0
0
0
0
-3
-2
7
100
-35
43
-53
-15
-132
-80
-109
-8
0
0
0
0
0
2
-1
-21
-114
7
-43
-136
2
-102
-147
-72
-10
0
0
0
0
0
0
5
-10
-9
1
52
-58
-1
41
-26
-7
-8
0
0
0
0
0
0
2
0
-45
64
98
-9
-19
-6
-1
-1
0
0
0
0
0
0
0
0
0
-2
11
1
-5
0
-8
-1
0
-12
0
0
0
0
0
0
-8
-8
0
0
0
-20
2
-6
0
-3
-5
0
0
0
0
0
8
-8
45
0
0
0
24
-24
-1
-52
-14
-1
0
0
0
0
0
0
27
-83
-72
-28
-28
-53
0
21
-65
-12
4
0
0
0
0
0
0
-3
-15
22
-34
31
-39
40
17
5
-78
-1
0
0
0
0
0
0
0
2
-73
-47
-120
-53
-45
-39
-108
-27
2
0
0
0
0
0
0
0
1
-73
-28
-60
-40
-5
-11
-37
-8
-2
5
0
0
0
-2
2
0
1
33
-57
-9
6
-1
3
-10
-1
0
0
0
0
0
0
0
0
-1
42
8
14
1
-2
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
7
-24
51
0
0
0
-21
-26
-36
-103
-55
-122
-61
0
0
-2
8
44
6
37
28
0
0
-5
-12
-41
-59
-53
-81
-42
0
0
-1
1
12
85
135
-2
148
51
3
67
-32
-95
-82
-70
-93
0
0
-4
-2
45
58
6
24
36
102
72
-44
-43
-84
-74
-73
-109
0
0
0
0
117
114
41
100
58
61
46
-30
-31
-86
-100
-75
-63
0
0
0
16
45
93
-13
14
39
-10
-18
0
-11
-78
-84
-70
-116
0
0
0
73
18
31
47
11
98
27
35
-123
-99
-34
-53
-142
-112
0
0
0
0
5
48
32
24
137
-49
10
-16
-25
-107
-87
-64
-1
0
0
0
0
0
0
0
-14
-21
-1
2
6
-2
-13
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-101
0
0
-4
-69
-32
-94
17
-20
-66
0
0
0
1
4
0
0
-17
-9
113
-16
-14
-60
-56
-70
-48
-35
0
0
0
0
3
1
14
10
18
50
-10
-69
5
-42
-70
-19
-82
0
0
0
0
0
-22
-51
-13
-65
20
35
-19
-23
-33
-24
-78
-44
0
0
2
0
5
6
-7
18
-34
42
94
20
-19
-99
-59
-101
11
0
0
-4
0
2
19
50
-28
88
-105
-20
-14
25
-1
-72
-48
-36
0
0
0
1
-2
-25
8
5
-33
-26
31
74
29
-89
-55
-49
-15
0
0
0
-1
0
1
-16
12
-3
36
42
66
-4
-23
-29
-42
-97
0
0
0
0
5
0
0
0
34
-45
-14
17
-16
-43
5
-103
-94
0
0
0
0
0
16
-87
-56
0
-11
-5
-46
-147
-78
-33
-56
-72
0
0
0
3
5
-7
-69
-5
-84
45
0
-33
-60
-52
-79
-27
-61
0
0
0
0
6
3
42
-53
-63
9
-34
-29
-59
-89
-55
-104
-40
0
0
0
0
-14
18
-44
-54
15
24
-22
-35
-59
-14
-38
-73
-10
0
0
0
0
-37
124
14
5
44
-29
63
-23
23
-47
-62
-27
-52
0
0
0
0
15
4
26
4
4
24
70
52
15
-24
-61
-58
-52
0
0
0
1
5
5
26
37
-2
68
124
-8
12
-23
-59
-73
-69
0
0
0
2
-2
2
2
-1
12
-35
-29
49
13
-59
-14
-119
-26
0
0
0
0
0
2
10
5
28
-24
-3
13
-38
-1
-32
-3
0
0
0
0
5
-6
13
-16
35
0
0
-2
20
-17
-54
-52
-12
-62
0
0
0
-10
42
159
56
0
35
0
51
26
-35
-60
-37
-26
-51
0
0
0
-5
-8
-29
-5
-20
14
122
-23
55
-46
-70
-48
-56
-80
0
0
0
-3
-11
43
91
-11
53
71
76
-9
-22
-73
-117
-76
-110
0
0
0
23
1
93
101
-9
53
-13
13
-24
-55
-48
-67
-58
-50
0
0
0
2
82
49
103
77
-20
-43
35
-6
-80
-73
-23
-29
-22
0
0
0
4
12
109
12
56
37
27
4
-34
-19
-19
-35
-47
-97
0
0
-1
0
1
10
-12
10
4
-25
-68
43
-64
-74
-34
37
-5
0
0
0
0
0
0
-7
5
4
5
47
-34
-12
28
-91
-4
0
0
0
0
0
0
0
58
-30
0
34
13
6
-18
-10
-45
-28
-82
0
0
0
0
1
-25
30
0
78
0
-6
-13
34
-51
-57
-6
4
0
0
0
-1
-5
-3
-175
-36
-30
-83
-48
-34
-54
-81
29
-9
-31
0
0
0
0
0
-15
-24
-74
-93
-39
-51
-31
-96
-92
-79
41
-31
0
0
0
0
0
0
-8
-60
-89
-84
-160
-74
-136
-58
-59
-34
43
0
0
0
0
0
0
-4
-22
-23
-115
-56
-84
-26
-136
-82
-99
-30
0
0
0
1
0
0
-13
46
-61
-45
-43
-79
-65
8
-44
-32
-32
0
0
0
0
0
-5
0
-7
6
-16
-69
-37
-7
-15
-1
-122
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
-26
18
11
0
0
0
0
0
1
-1
-8
0
0
0
-25
-38
-121
-55
-89
9
-66
0
0
0
0
0
0
-20
66
0
51
-146
-14
7
-50
-92
-31
-111
0
0
0
0
0
0
-6
-61
69
22
-87
-43
44
-27
14
12
-115
0
0
0
0
2
0
4
-168
-224
7
-40
34
-12
-86
-30
-14
-25
0
0
0
0
0
3
-4
-149
-96
1
-50
-36
-125
-44
-69
-36
-105
0
0
0
0
0
0
0
-145
-218
20
-50
-31
-144
-27
-10
-93
-1
0
0
0
0
0
0
0
-29
-161
-57
-23
52
34
-76
7
24
-35
0
0
0
0
0
0
0
-1
-15
3
7
-35
8
24
18
-2
-2
0
0
0
0
0
0
0
0
1
0
0
0
2
61
6
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
48
0
0
0
112
3
0
0
0
0
0
0
0
0
3
6
18
45
37
0
0
-13
0
0
0
0
0
0
0
0
0
0
1
53
28
87
-27
-38
6
-2
0
0
0
0
0
0
0
0
0
-3
7
25
13
27
65
59
1
0
0
0
0
0
0
0
0
0
2
6
18
-33
18
19
94
-5
0
0
0
0
0
0
0
0
0
0
-3
17
3
24
40
-28
0
0
0
0
0
0
0
0
0
0
0
-1
-12
20
64
71
11
0
0
0
0
0
0
0
0
0
0
0
1
2
-66
69
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
4
-7
0
0
0
0
0
0
0
0
0
-3
-2
16
50
0
0
0
-17
7
0
0
0
0
0
0
0
-1
1
-2
47
14
72
0
0
-71
6
0
0
0
0
0
0
0
0
1
0
40
58
79
30
4
-34
-22
0
0
0
0
0
0
0
0
0
8
15
24
63
-39
-8
-2
14
0
0
0
0
0
0
0
0
3
0
-3
-12
56
24
42
27
-11
0
0
0
0
0
0
0
0
0
1
-2
-10
117
136
67
35
0
0
0
0
0
0
0
0
0
0
0
-4
8
36
49
72
110
0
0
0
0
0
0
0
0
0
0
0
0
-12
43
-1
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
24
-17
-26
0
0
0
0
0
0
0
0
0
-1
-5
9
-8
0
0
0
25
17
0
0
0
0
0
0
0
0
-1
1
23
49
50
0
0
-44
-66
0
0
0
0
0
0
0
0
3
-1
-2
1
27
54
-114
-29
57
0
0
0
0
0
0
0
0
0
0
6
15
77
-2
-79
-58
-8
0
0
0
0
0
0
0
0
0
-1
-1
4
-5
81
-48
29
19
0
0
0
0
0
0
0
0
1
0
2
-6
93
-62
39
148
-7
0
0
0
0
0
0
0
0
0
0
0
5
53
37
59
42
9
0
0
0
0
0
0
0
0
0
0
1
0
2
46
84
43
1
0
0
0
0
0
0
0
0
0
0
0
-1
10
3
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-69
0
0
0
81
-61
-24
92
-28
48
-1
0
0
0
10
-4
-9
-19
0
0
0
39
73
-38
11
12
8
0
0
0
0
2
2
58
-4
2
-51
-64
-6
14
41
30
-49
60
-3
0
0
2
0
-2
-7
-114
-48
32
-26
-36
-34
40
57
-4
-48
0
0
0
3
-5
-2
20
-62
102
63
-1
-26
-20
-123
15
30
21
8
0
0
0
0
-2
-4
39
179
55
40
98
10
32
-5
142
0
2
0
0
0
0
0
14
16
70
92
58
100
-27
33
57
-24
8
0
0
0
0
0
-2
-2
41
71
60
111
-23
43
-39
-4
19
8
0
0
0
0
0
0
0
0
1
16
-3
50
1
0
0
2
1
0
0
0
8
1
18
-52
33
0
0
0
34
-54
12
29
7
-14
-1
0
-1
0
13
21
-33
16
0
0
0
80
-24
13
19
-16
7
8
0
0
0
3
-4
74
-49
30
61
32
-62
-62
58
-6
-59
-25
2
0
0
0
7
8
30
18
-28
-103
-50
-31
-35
8
54
106
12
4
0
0
0
0
4
-2
23
19
-81
-18
-59
-10
-19
54
19
131
-1
0
0
0
3
0
1
34
24
-92
75
-52
78
25
56
9
86
2
0
0
0
3
-5
-2
37
-19
61
-10
33
20
-3
-15
57
83
-5
0
0
0
0
-3
13
-17
-43
27
25
88
5
47
10
-10
-41
5
0
0
0
0
0
8
1
10
-91
38
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
12
-8
0
0
0
29
19
-27
4
-39
-1
4
0
0
0
1
3
-43
4
20
0
0
-27
-128
-1
5
34
-13
24
0
0
-3
0
-8
23
81
141
135
-62
44
34
14
-17
-9
37
77
0
0
0
0
0
23
8
91
67
60
-98
52
35
32
41
0
47
0
0
0
0
-4
-46
35
28
129
-53
31
-67
16
24
9
11
14
0
0
0
0
-6
-8
-70
-36
96
101
-8
-69
11
-12
-43
5
-18
0
0
0
0
0
-8
21
52
-43
49
23
12
29
21
84
24
106
0
0
0
1
0
-1
5
35
166
-80
-15
46
13
32
47
17
1
0
0
0
0
0
-4
-6
-1
-2
24
12
0
0
-2
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
78
0
0
-59
-26
-154
-112
-78
2
56
0
0
0
0
-1
0
42
51
-43
-11
15
-44
-101
-91
-18
25
-31
0
0
0
0
-1
-1
-1
50
-8
118
4
-52
-18
-39
-3
32
39
0
0
0
0
5
-1
-25
-24
-4
-80
-30
-32
-20
1
19
10
43
0
0
0
0
0
-1
-3
25
-55
-61
-39
-40
39
-3
-15
33
-25
0
0
0
0
0
0
-13
14
-35
15
-24
4
18
43
-9
16
-18
0
0
0
0
0
0
-1
-19
-14
5
-43
31
26
-8
6
10
27
0
0
0
0
0
0
-1
-6
15
-2
-28
-41
28
19
77
25
23
0
0
0
0
-1
-1
-1
-1
-25
-46
41
-36
30
0
11
61
26
0
0
0
0
0
-4
12
-18
0
61
-4
-84
-107
-4
34
-17
54
0
0
0
0
-29
0
6
-73
26
-8
0
-42
-26
-14
-28
12
48
0
0
0
0
17
-1
-1
-20
65
-81
-12
-106
-47
-28
2
-48
53
0
0
0
0
-2
8
-5
-57
40
-63
-49
2
35
-27
58
-16
57
0
0
0
0
0
-6
-8
-21
8
134
49
-36
-30
31
10
44
-5
0
0
0
0
-4
-1
0
-7
8
41
2
-8
-30
-14
33
22
30
0
0
0
0
1
14
2
-9
43
-56
33
56
8
24
5
14
65
0
0
0
0
1
-1
1
0
-33
-63
-67
-5
51
47
32
-9
17
0
0
0
0
0
0
1
0
-13
-5
-16
8
29
97
3
-5
0
0
0
0
-2
1
-37
-14
63
0
0
93
-51
14
72
67
-31
1
0
-1
-1
-3
-3
-22
8
0
4
0
50
-39
-17
28
2
29
12
0
0
-2
-1
26
81
-76
111
106
156
-18
44
-13
0
8
0
15
0
0
0
3
0
17
-50
-93
-18
35
52
1
-15
44
51
-48
32
0
0
0
0
4
43
13
-44
-33
25
64
-4
-2
-5
55
-20
-73
0
0
0
0
0
0
-48
-65
33
2
57
25
-34
-58
9
36
120
0
0
0
0
-3
6
-25
-162
-63
114
0
47
-14
45
45
-8
-4
0
0
0
0
0
-2
-2
-18
-63
-21
93
87
-8
85
13
-20
41
0
0
0
0
0
0
0
0
0
-6
-3
-9
0
12
4
-4
0
0
0
0
0
0
1
5
35
0
18
62
105
-53
35
61
47
-50
0
0
0
0
-3
6
44
0
-65
0
86
115
-15
-1
1
-25
1
0
0
0
-2
7
-2
57
51
120
178
13
60
26
-66
19
-14
-81
0
0
0
-1
-1
11
-45
-20
61
126
31
-34
-28
29
81
55
40
0
0
0
0
0
10
-56
-24
49
-12
-28
-49
-20
-26
21
-87
-67
0
0
0
-1
0
0
-10
3
122
-42
25
42
30
-102
-25
4
37
0
0
0
0
0
0
4
-50
-47
-65
121
-21
42
3
-37
-34
-98
0
0
0
0
0
0
0
2
-14
0
-12
50
86
45
70
-62
2
0
0
0
0
0
0
0
0
0
-1
0
-1
64
4
25
-4
-5
0
0
0
0
-1
40
37
0
0
0
61
153
-73
-55
-88
-72
-12
0
0
0
0
0
53
74
-2
0
-14
102
147
74
-67
-25
-61
-63
0
0
0
0
0
-2
27
65
173
32
79
-38
-14
53
21
35
-17
0
0
0
0
0
-4
-38
-44
22
-32
58
32
-4
-20
60
-41
9
0
0
0
0
0
5
-6
18
-102
-42
-72
-46
-3
91
97
48
-22
0
0
0
0
0
1
-1
-73
-115
-150
-5
-38
8
-13
55
12
26
0
0
0
0
0
0
-1
-66
-62
-93
48
32
13
-14
2
62
-53
0
0
0
0
0
0
0
-1
-42
-38
-10
98
-25
69
-34
-2
70
0
0
0
0
0
0
0
0
-1
0
-3
5
1
-6
30
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
0
0
0
-32
0
0
0
0
0
0
0
0
0
1
-1
-14
-11
26
0
0
-89
0
0
0
0
0
0
0
0
0
0
-13
-24
-26
-52
-15
-60
-132
-8
0
0
0
0
0
0
0
0
0
1
-6
14
-120
11
-79
-36
6
0
0
0
0
0
0
0
0
0
0
2
2
61
54
-9
-14
0
0
0
0
0
0
0
0
0
0
0
1
-13
18
33
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
20
-19
-57
-27
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-34
27
2
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-17
-2
-4
0
0
0
0
0
0
0
0
0
-4
1
19
-12
0
0
0
-121
0
0
0
0
0
0
0
0
-1
0
5
57
47
-47
0
0
-82
-4
0
0
0
0
0
0
0
0
0
1
3
57
-65
-46
-129
-5
25
0
0
0
0
0
0
0
0
0
-10
6
48
-61
-54
-12
69
29
0
0
0
0
0
0
0
0
0
0
4
-2
74
21
22
5
-18
0
0
0
0
0
0
0
0
0
0
-6
14
-45
-30
-39
-48
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-36
-74
-29
-37
-1
0
0
0
0
0
0
0
0
0
0
2
10
-84
17
-45
2
0
0
0
0
0
0
0
0
0
0
0
0
-51
22
-4
-3
-11
0
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
0
20
-17
0
0
0
0
0
0
0
0
0
1
5
42
-46
0
0
-81
-44
0
0
0
0
0
0
0
0
-2
0
0
18
34
-83
-87
-109
3
0
0
0
0
0
0
0
0
0
0
-1
-9
75
-24
-29
-71
-49
0
0
0
0
0
0
0
0
0
1
0
0
-28
37
-59
34
-26
0
0
0
0
0
0
0
0
0
0
0
-14
17
-38
-28
70
-16
0
0
0
0
0
0
0
0
0
0
3
19
10
-41
51
-38
-2
0
0
0
0
0
0
0
0
0
0
3
1
-16
-7
-62
-31
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-16
0
-8
-29
2
-5
0
0
0
0
0
0
-1
-31
0
0
0
-11
-11
-42
13
-8
0
0
0
0
0
0
-3
1
-32
-65
-112
-1
-75
-120
-149
-29
-30
0
0
0
0
0
0
4
-3
5
-58
-45
25
-19
45
-21
-28
-10
-1
0
0
0
0
0
0
0
-1
-44
-27
58
2
-53
-48
-25
-5
0
0
0
0
0
0
0
0
-4
-49
51
-89
3
3
-48
0
-1
2
0
0
0
0
0
-3
0
1
-45
7
31
-50
2
2
0
0
0
0
0
0
0
0
0
-2
2
-46
39
24
-6
0
0
0
0
-4
0
0
0
0
0
0
0
8
6
8
-6
4
0
0
0
0
0
0
0
0
0
0
0
3
-101
0
0
0
49
4
-6
0
0
-2
0
0
0
0
-1
0
1
-113
0
0
0
57
-44
-8
3
2
7
0
0
0
0
0
0
-4
-21
3
-59
97
-40
-41
9
4
5
-2
0
0
0
0
0
0
2
25
-32
-49
13
-45
-35
-38
0
1
2
0
0
0
0
0
-1
8
-3
-132
-29
-53
-6
29
-54
-8
-14
-5
0
0
0
0
0
0
0
-4
2
-29
13
-38
0
0
1
-3
-3
0
0
0
0
0
0
0
-2
18
-82
-39
-13
3
-8
1
-25
2
0
0
0
0
0
0
0
1
51
-108
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-44
0
0
0
-83
-186
-39
-94
-27
-62
-50
0
0
0
1
-24
2
39
-72
0
0
-30
-37
-88
14
-95
-45
-33
0
0
4
0
-1
6
-14
16
-67
-31
-108
-29
-52
-57
-5
-35
-114
0
0
0
0
0
17
9
44
12
-10
9
-61
-61
-111
-105
-74
-53
0
0
0
0
0
-42
-23
-98
97
-21
31
-111
-185
-59
-67
22
-33
0
0
0
0
-4
-3
13
-54
-91
-15
-44
28
-26
-80
-11
-45
5
0
0
0
-1
0
1
19
-94
57
-85
-11
-30
-68
20
-69
-73
0
0
0
0
-1
0
0
-30
17
-48
-25
5
16
-42
-74
-150
-38
-5
0
0
0
0
-1
8
0
-5
-9
-32
-51
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
0
0
-153
-97
-138
-132
73
-21
-4
0
0
0
0
3
0
-19
-10
-18
-58
-85
-98
-101
-84
-76
-22
-17
0
0
0
0
0
0
-7
-27
12
19
-39
-80
-76
-38
-82
-11
-26
0
0
0
0
2
-1
-1
-9
-70
8
-38
-5
-102
-66
-54
-83
5
0
0
0
0
0
-3
0
-41
58
28
16
-76
-42
18
86
-19
19
0
0
0
0
0
0
-2
-43
11
-7
-14
65
-69
16
13
-6
6
0
0
0
0
0
3
0
0
-86
42
47
-7
-2
52
-33
-28
5
0
0
0
0
0
0
-2
11
-77
-28
-79
41
124
28
0
5
-2
0
0
0
0
0
0
0
-2
-7
88
14
-45
-45
-65
-65
8
-9
0
0
0
0
0
-1
-10
20
0
-75
-66
-133
-250
-161
-46
-45
-53
0
0
0
1
3
4
24
8
-24
-40
0
-174
-77
-68
-23
46
-21
0
0
0
0
2
-1
-9
-42
44
32
-43
-83
-68
48
-37
-64
0
0
0
0
0
4
-7
17
18
-15
-54
-21
-29
-75
-19
-51
-66
3
0
0
0
0
0
0
-3
0
-5
-5
10
-54
-24
-10
-30
-51
-54
0
0
0
0
0
0
5
-27
-18
40
20
-23
53
-3
52
2
-34
0
0
0
0
0
-12
0
-10
-36
34
-38
22
-41
43
0
-19
7
0
0
0
0
-6
0
-2
0
-40
57
17
-17
-92
-14
18
-34
18
0
0
0
0
0
0
0
0
15
-8
-12
-16
-43
-44
-86
-2
0
0
0
0
0
-2
31
17
-107
0
0
-61
-99
-53
-90
-52
-60
-35
0
0
0
0
-20
12
-92
0
-43
0
-109
-157
-51
7
-75
-185
-18
0
0
0
1
-8
-90
-29
-140
-38
50
-57
-65
-88
-14
-58
-89
-48
0
0
0
0
-1
17
-88
-109
-98
-21
-15
-115
-75
-82
-91
-13
22
0
0
0
0
-1
0
2
-4
66
23
-30
-93
-23
-127
-35
-18
-61
0
0
0
0
-5
-1
9
126
-98
13
-65
-26
29
-38
-17
-29
-83
0
0
0
0
8
-2
-17
-37
20
-1
13
-81
-40
-26
-36
-82
-91
0
0
0
0
0
1
4
-12
-29
36
-31
22
-61
-40
-51
7
-24
0
0
0
0
0
0
0
0
19
-13
-46
-2
3
0
4
-1
0
0
0
0
0
0
0
7
-2
0
-93
-141
-118
-59
-51
-29
10
-48
0
0
0
0
0
8
5
0
-64
0
-14
-67
22
-126
-99
-57
-42
0
0
0
0
0
3
-99
24
-2
-52
-49
-79
-25
-74
-80
-61
-45
0
0
0
0
2
0
-1
-152
-132
18
-20
-76
-42
-115
-30
-46
7
0
0
0
0
0
-1
0
-33
-58
-49
-67
-35
-15
34
-102
-77
39
0
0
0
0
0
0
1
-106
-71
47
7
-3
-2
-52
-36
33
-48
0
0
0
0
0
0
1
-3
-15
-13
100
-36
-34
8
-57
-47
-38
0
0
0
0
0
0
0
-1
0
13
8
20
8
-33
-58
-111
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
0
1
0
0
0
0
0
0
3
0
0
0
-24
-59
-83
-224
-134
-158
-69
0
0
0
0
0
0
1
-85
0
-64
38
-32
-57
-58
-87
-57
-70
0
0
0
0
0
0
0
-5
13
16
-135
-79
-97
-35
-43
-47
-150
0
0
0
0
0
0
-3
-24
-66
-3
-71
10
-32
-40
0
-55
-106
0
0
0
0
0
0
1
-96
-90
-32
28
-69
-22
-69
-35
-34
-42
0
0
0
0
0
0
0
-13
-63
-5
-39
-52
-3
51
-97
-59
7
0
0
0
0
0
0
0
-20
-19
7
23
8
-20
-75
34
-73
-30
0
0
0
0
0
0
0
1
-8
0
0
29
-27
8
14
9
-1
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-2
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-114
18
-25
6
45
-3
8
0
-29
0
0
0
0
0
0
0
29
68
56
-33
-60
-1
-11
83
-29
-20
1
0
0
0
0
0
0
37
50
65
-27
42
7
2
-59
13
27
0
0
0
0
0
0
0
90
39
22
24
12
-24
0
-20
6
0
0
0
0
0
0
0
0
36
100
-25
-17
1
-8
0
0
0
0
0
0
0
0
0
0
0
-26
71
133
28
45
1
4
0
0
0
0
0
0
0
0
0
0
-20
13
-83
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
90
96
39
29
0
0
0
0
0
0
0
0
0
0
0
0
0
5
50
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
23
21
30
36
12
-50
-12
31
0
7
0
0
0
0
0
0
0
111
92
57
37
-3
-20
19
8
-2
-49
-7
0
0
0
0
0
0
64
38
104
-31
30
-42
1
169
18
-6
0
0
0
0
0
0
0
52
74
-34
-18
-33
48
9
-3
-2
0
0
0
0
0
0
0
0
35
75
-15
42
-14
44
0
1
4
0
0
0
0
0
0
0
0
6
55
79
62
29
-9
1
0
0
0
0
0
0
0
0
0
0
-2
-39
53
63
26
4
0
0
0
0
0
0
0
0
0
0
0
18
44
-5
-55
40
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
82
44
78
49
-10
67
-20
0
37
2
0
0
0
0
0
0
27
76
87
-42
22
27
-73
-54
24
-14
39
0
0
0
0
0
0
13
77
63
63
6
57
-44
-12
5
20
4
0
0
0
0
0
0
-11
58
79
3
-138
74
1
0
2
-2
1
0
0
0
0
0
0
3
34
94
63
43
10
2
-9
-2
0
0
0
0
0
0
0
0
6
40
52
-24
16
24
0
0
0
0
0
0
0
0
0
0
0
0
25
16
-18
33
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-9
85
-60
-30
-77
-92
-67
0
-55
-7
2
0
0
0
0
0
97
21
-47
23
-76
-52
-55
-89
-33
-8
-53
2
0
0
0
0
0
113
59
64
55
-68
-80
-158
-140
-26
-143
-36
-7
-1
0
0
0
0
26
59
155
12
27
-11
1
-6
6
-33
18
0
0
0
0
0
0
95
66
99
128
15
66
96
6
59
-6
-23
-1
0
0
0
0
0
14
108
57
166
117
-29
70
54
-35
2
-1
0
0
0
0
0
0
22
0
98
104
56
48
12
85
13
8
0
0
0
0
0
0
0
38
86
54
74
43
39
35
46
15
0
0
0
0
0
0
0
0
2
4
1
0
0
0
7
0
4
0
0
0
0
0
0
0
0
-5
-19
49
-14
-56
-178
-23
-155
0
-41
0
0
0
0
0
0
0
75
-12
-21
42
-2
8
-2
-109
-13
36
-7
0
1
0
0
0
0
30
27
14
-52
31
-85
-137
-50
0
34
2
-3
0
0
0
0
0
-101
2
39
45
36
-52
-11
103
-9
68
-3
0
0
0
0
0
0
56
-13
12
8
-45
74
-65
150
15
-12
0
0
0
0
0
0
0
13
0
71
-39
89
105
-43
66
-5
1
0
0
0
0
0
0
0
-6
128
46
70
23
68
29
39
16
0
0
0
0
0
0
0
0
14
61
19
21
-15
1
7
1
2
0
0
0
0
0
0
0
0
20
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-15
162
64
-16
-18
-82
-73
0
-36
-86
-25
9
0
0
0
0
117
7
68
85
30
21
-39
-63
-63
-45
16
-6
56
56
-28
0
0
39
104
40
79
75
-5
-80
-18
-31
-44
-5
-51
84
-23
-34
0
0
20
-9
47
204
72
17
44
14
53
-6
-33
-57
-38
-37
15
0
0
7
8
135
79
18
149
53
70
95
19
73
-18
1
40
-2
0
0
7
4
67
68
67
67
52
96
113
22
88
-16
6
-20
3
0
0
0
77
115
139
52
9
38
109
53
9
8
2
-4
0
-1
0
0
0
40
-37
-48
29
67
28
12
87
1
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
26
52
52
-16
33
0
63
29
6
1
-35
2
-3
0
0
-9
115
103
26
-16
-20
-37
12
-3
32
57
-6
-41
-57
0
0
0
30
23
88
26
27
-64
75
-45
-43
86
74
83
55
0
-2
0
0
23
58
-36
13
14
31
71
44
72
33
-2
21
-3
0
-2
0
0
4
36
-28
72
-2
44
57
31
21
82
-12
-17
3
4
0
0
0
3
-16
16
-6
-32
18
139
49
-39
-5
-1
33
9
-4
2
0
0
0
-37
10
65
42
12
60
41
-4
3
18
-7
38
2
0
0
0
3
28
42
-41
-87
54
26
79
42
-42
87
9
-6
16
0
-6
0
0
0
-11
56
28
33
71
-19
-77
-10
69
22
-65
-4
-3
0
0
0
18
14
28
6
21
-24
0
2
19
-9
7
-9
1
0
0
0
0
68
126
6
16
0
4
15
-4
3
3
-64
100
4
0
0
0
0
24
17
57
-3
-5
10
-59
-17
-45
61
-7
0
0
0
0
0
0
-16
-13
-1
6
14
20
28
-10
35
-23
57
-21
5
0
0
0
0
68
51
41
30
20
34
56
-33
48
8
-22
1
25
0
0
0
0
22
78
44
51
-51
37
43
25
-33
-41
-87
-4
8
-4
0
0
0
46
33
104
1
58
53
10
47
22
35
101
-53
5
0
0
0
0
6
-36
-29
68
-23
52
-8
-10
-9
-73
54
-10
0
0
0
0
0
-1
-5
7
-50
84
-8
66
28
-1
0
0
0
0
0
0
-8
137
74
47
-12
6
6
-52
0
-93
-32
12
-4
13
0
0
0
125
86
65
54
11
14
-6
-51
-40
-64
-10
6
-45
-10
-11
0
0
85
-1
91
59
11
35
-19
-43
-25
-21
-17
69
47
-26
-17
0
0
32
8
58
16
42
68
27
12
18
-8
-7
60
55
29
0
0
0
61
20
118
4
68
109
148
56
39
90
-50
60
55
69
-5
0
0
46
71
67
83
97
55
107
149
144
83
118
123
10
5
0
0
0
51
44
90
81
-14
17
79
85
127
-63
15
-17
-31
0
0
0
0
-2
10
-44
-24
76
38
31
61
63
13
-10
-2
0
0
0
0
0
0
-3
-2
15
4
14
31
-4
-1
-1
0
0
8
0
0
0
0
-3
0
3
-64
-22
-23
35
-6
0
3
88
-9
-8
-1
0
0
0
95
38
26
-73
12
-14
-96
-71
-35
-82
-50
22
61
2
0
0
0
156
6
15
-9
49
-67
-54
-38
15
54
-30
-78
-2
-2
0
0
0
57
-67
-3
-45
28
-17
-59
64
18
66
45
73
-2
0
0
0
0
86
-19
83
119
4
69
1
98
6
-50
-76
2
0
0
0
0
0
32
84
0
92
79
17
108
81
-24
51
0
-31
-12
0
0
0
0
-5
17
-6
17
55
20
76
130
108
86
3
6
0
0
0
0
0
0
-23
-50
41
59
-15
-6
93
-67
-43
-24
-1
0
0
0
0
0
0
0
7
-2
-12
5
40
12
-5
-3
0
0
0
0
0
0
0
17
82
-14
80
-1
40
3
-66
0
-57
15
-15
1
0
0
0
0
-31
-36
-40
-52
0
28
-42
-42
46
99
-3
27
4
-1
0
0
0
-19
-80
-11
-5
30
27
-6
-30
-13
-14
18
17
1
0
0
0
0
-45
64
1
58
105
56
-38
14
104
59
78
-1
0
0
0
0
0
16
-124
-54
-2
129
46
-85
-54
118
-37
17
46
-2
2
0
0
0
-34
-32
-29
5
-8
102
17
51
47
38
-5
0
0
0
0
0
0
-1
8
15
7
89
71
58
-40
-15
-7
-52
13
0
0
0
0
0
-3
-18
16
-11
27
172
104
35
-55
23
58
0
1
0
0
0
0
0
-3
0
1
-3
62
88
92
39
42
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
-86
-58
22
-20
-41
0
0
16
0
0
0
0
0
0
0
-76
35
-16
37
-94
82
-85
-46
-33
0
0
0
0
0
0
0
0
-2
-41
-50
-40
-4
55
43
73
-42
-2
0
0
0
0
0
0
0
49
0
68
-19
30
-4
0
-4
4
0
0
0
0
0
0
0
0
76
-40
-44
56
-21
10
-8
8
2
0
0
0
0
0
0
0
0
-15
-50
-29
-110
64
3
-7
0
0
0
0
0
0
0
0
0
0
2
-50
49
64
66
-3
0
0
0
0
0
0
0
0
0
0
0
-29
-35
-4
-104
23
4
0
0
0
0
0
0
0
0
0
0
0
8
-8
-20
5
9
0
0
0
0
0
0
0
0
0
0
0
0
-32
-44
27
-19
16
12
-8
16
0
-58
1
0
0
0
0
0
0
70
33
-37
-68
-9
-44
-2
-82
-19
68
10
0
0
0
0
0
0
37
-13
13
76
-52
-28
20
10
38
-59
1
0
0
0
0
0
0
12
-6
-16
-23
-97
81
23
-20
6
32
-2
0
0
0
0
0
0
-10
65
-23
-119
94
27
41
0
4
20
10
0
0
0
0
0
0
1
80
0
-96
1
-57
-5
0
-4
-4
0
0
0
0
0
0
0
-10
-43
53
-20
-16
-23
-3
0
0
0
0
0
0
0
0
0
0
-36
61
-77
59
-32
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-40
-52
-17
-117
-53
-60
-100
0
6
0
0
0
0
0
0
0
-8
49
26
-81
-9
-111
-12
45
-88
-20
-21
0
0
0
0
0
0
-79
109
60
-1
-7
9
-67
-16
9
-35
-5
0
0
0
0
0
0
-37
-2
-64
-21
-29
5
5
-4
-8
4
-1
0
0
0
0
0
0
-31
8
-11
38
45
68
2
20
-1
1
3
0
0
0
0
0
0
-3
5
22
98
-17
-31
8
-5
6
0
2
0
0
0
0
0
0
-4
-30
104
39
0
-5
-2
0
1
0
0
0
0
0
0
0
0
0
13
-4
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
10
-61
-68
-82
-70
-148
-164
0
-72
4
-3
0
0
0
0
0
22
-42
20
-68
-48
-112
-56
-176
-69
-183
-86
2
-3
0
0
0
0
-133
-11
13
41
-87
-117
-118
-43
14
-12
-32
-5
0
0
0
0
0
19
-22
-50
34
-44
-185
-34
-90
-67
-59
-2
0
0
0
0
0
0
2
73
38
94
20
-28
17
-5
-132
-19
8
-8
0
0
0
0
0
20
30
94
4
56
9
-23
-143
12
4
0
1
0
0
0
0
0
-16
-25
47
16
-44
-14
-36
-6
-6
-4
-1
0
0
0
0
0
0
-2
-61
14
26
-11
13
-4
-9
-26
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-9
-72
-40
15
-24
6
-73
-89
0
-8
-2
0
0
0
0
0
0
23
-47
-25
40
-33
-116
-30
-193
-99
-124
0
0
-1
0
0
0
0
2
-87
-55
-44
-39
-97
9
-42
5
-14
0
0
0
0
0
0
0
5
-26
-10
-28
-27
11
-7
-31
83
-4
0
0
0
0
0
0
0
16
-38
46
-41
-22
-4
-41
-23
0
5
0
0
0
0
0
0
0
-23
10
-29
-91
-16
4
-8
-1
-1
2
0
0
0
0
0
0
0
-4
-22
-47
42
13
4
1
0
0
0
0
0
0
0
0
0
0
-9
25
24
14
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-82
46
-49
15
-70
-185
-160
0
-48
-52
39
-40
31
0
0
0
-66
50
138
7
-17
-21
-138
-174
-125
-90
3
10
68
-53
66
0
0
-73
88
73
50
24
-35
-157
-83
-82
-81
-69
23
114
61
-16
0
0
-31
106
15
9
15
12
5
-6
42
33
-26
44
25
-5
30
0
0
64
1
4
86
79
46
17
82
70
37
1
82
-4
29
0
0
0
90
-10
49
-2
37
25
84
47
34
102
6
-13
-7
20
4
0
0
-5
2
-19
45
25
98
101
58
64
65
-8
33
1
0
-2
0
0
4
-67
14
71
29
31
50
57
5
7
-7
2
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
45
-20
-67
-70
-105
-118
0
17
-81
-48
20
-13
-11
-4
0
0
46
-5
-74
-123
-32
15
-156
-56
-28
34
8
9
24
17
-5
0
0
-39
52
-147
-47
1
-62
-73
-37
-45
17
-56
-22
14
3
3
0
0
-9
42
59
-45
-40
-56
-43
44
12
-17
24
-53
12
-1
-2
0
0
22
89
-52
-76
-79
54
21
23
52
6
-37
13
31
4
-1
0
0
-36
51
-94
-20
-60
-36
-30
-3
-20
-16
25
-25
-10
2
4
0
0
0
93
-84
-113
-83
39
-86
21
-4
-1
-52
47
48
1
-4
0
0
-29
-31
15
-13
-51
30
20
-55
-35
-33
-21
1
9
-46
0
1
0
-4
3
-9
-71
-80
5
75
-71
23
-33
5
12
62
-7
-10
0
0
0
29
9
-22
-13
-29
-80
0
-21
26
-32
-40
25
4
0
0
0
0
36
19
-38
-32
-23
-81
-22
-9
-9
-59
11
73
-38
-6
0
0
0
12
25
-41
-50
-49
-44
-62
19
15
1
-14
-44
-18
0
0
0
0
35
24
-17
-44
-60
22
19
3
-17
-18
-79
-1
3
0
0
0
0
-17
-73
-72
-51
-30
-24
32
-30
-4
-46
10
22
-1
0
0
0
0
17
-3
-14
-59
-33
-33
-17
35
-62
-51
60
-4
-8
0
0
0
0
-22
-33
-35
-72
-31
-33
35
-10
-13
-193
-6
-15
-1
0
0
0
0
-2
105
-15
-28
-66
43
-45
-45
-16
38
24
4
0
0
0
0
0
6
16
-33
-11
-32
45
13
-6
-1
1
0
0
0
0
0
26
33
95
53
24
-80
-87
-144
0
-71
-34
-46
-53
32
0
0
0
23
15
89
-14
-30
-46
-98
-132
-92
-86
-43
-41
6
45
85
0
0
48
49
121
67
30
-14
-72
-101
-39
-18
0
81
-82
43
-10
0
0
84
32
43
90
-26
-13
-15
-16
15
-23
-2
29
64
49
2
-2
0
8
50
92
85
-28
3
52
28
78
37
-63
-25
-49
6
-2
0
0
67
74
83
1
116
54
47
26
81
19
-31
36
-9
-17
1
0
0
-46
88
-1
101
-11
36
47
46
68
47
-24
-6
38
-5
0
0
0
3
26
45
-32
-6
-79
-4
-33
-25
57
-1
0
-1
0
0
0
0
0
-5
1
-42
8
15
-38
4
-1
-6
0
0
0
0
0
0
0
-14
-60
-31
-115
-152
-99
-71
-204
0
-102
50
-16
2
0
0
0
0
16
-52
-30
-6
-28
-148
-72
-184
-114
-51
-8
-84
-86
0
-1
0
0
60
-63
20
12
-87
-76
-99
-101
-24
-126
-43
21
0
-1
0
0
0
1
-67
62
11
-87
-33
-96
7
-63
-88
-39
-49
1
0
0
0
0
-57
-84
50
-20
-40
-118
-19
35
-35
-98
-85
-18
-1
0
0
0
0
16
-13
-2
4
-45
-10
-42
7
-16
-27
-16
16
0
0
0
0
0
0
37
60
-17
-87
30
-59
-33
56
73
-4
-4
0
0
0
0
0
0
-17
27
-35
-51
-21
-2
13
-13
32
18
0
0
0
0
0
0
0
-1
14
0
14
-7
23
45
0
-1
1
0
0
0
0
0
0
-21
-48
-31
-15
-133
-152
-105
-119
0
-68
26
-40
0
0
0
0
0
-3
-111
-42
-63
-79
-79
-97
-79
-35
46
42
-75
0
0
0
0
0
-26
-61
-32
-96
-229
21
-59
-160
-1
-39
-45
-31
0
1
0
0
0
-48
-115
35
-62
-60
-60
-126
-36
37
-65
-8
-4
0
0
0
0
0
-6
-158
-38
-45
9
-9
-64
-150
-28
-63
-84
-34
3
0
0
0
0
1
-75
-44
54
28
6
-68
-41
12
-24
19
2
1
0
0
0
0
-3
-79
-48
-47
-55
-49
-17
-5
-78
-33
-28
3
0
0
0
0
0
0
8
-1
32
49
28
80
5
80
-37
12
-3
-2
0
0
0
0
0
0
-3
0
7
-3
19
-46
179
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
25
-71
-98
-14
4
0
0
0
0
0
0
0
0
0
0
38
38
74
-12
-52
-95
66
0
0
0
0
0
0
0
0
0
0
92
71
84
1
-24
-21
4
0
-1
0
0
0
0
0
0
0
0
83
73
-3
46
28
0
0
1
1
0
0
0
0
0
0
0
0
-44
55
21
49
69
-2
0
0
3
0
0
0
0
0
0
0
0
17
2
41
9
-13
-8
1
0
0
0
0
0
0
0
0
0
0
-28
37
92
115
42
-1
0
0
0
0
0
0
0
0
0
0
0
2
-32
-54
60
-2
2
0
0
0
0
0
0
0
0
0
0
0
77
45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
68
3
78
28
31
8
0
0
0
0
0
0
0
0
0
0
84
49
46
1
-6
23
-16
0
0
0
0
0
0
0
0
0
0
58
-43
17
1
7
20
-1
2
0
1
0
0
0
0
0
0
0
98
23
12
42
-42
25
16
-1
0
0
-1
0
0
0
0
0
0
16
47
100
-30
-18
-41
5
-1
-1
0
0
0
0
0
0
0
0
45
52
37
-3
101
2
-5
1
0
0
0
0
0
0
0
0
0
39
52
120
-16
31
-1
0
0
0
0
0
0
0
0
0
0
0
1
68
2
0
-39
-1
0
0
0
0
0
0
0
0
0
0
0
4
1
-31
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
19
18
37
-8
-33
-55
-12
0
0
0
0
0
0
0
0
0
0
61
24
40
114
-44
6
-12
0
0
0
1
0
0
0
0
0
0
59
90
-39
75
11
-37
-6
2
-2
-3
2
0
0
0
0
0
0
46
42
-18
-24
-4
35
8
0
0
2
0
0
0
0
0
0
0
1
14
39
-77
18
-28
2
0
0
0
0
0
0
0
0
0
0
2
43
45
11
-43
1
1
0
0
0
0
0
0
0
0
0
0
30
89
9
129
24
5
0
0
0
0
0
0
0
0
0
0
0
0
31
5
84
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
95
39
45
-42
-131
-82
0
0
0
12
1
0
0
0
0
0
17
15
25
55
-58
-23
63
0
0
0
44
1
0
0
0
0
0
56
-48
136
-47
-51
-15
18
-20
103
87
-47
4
5
0
0
0
0
39
16
85
52
53
-52
40
-3
-19
-36
-23
0
0
0
0
0
0
-21
17
99
61
41
56
-4
24
-12
-68
-6
3
0
0
0
0
0
19
27
45
142
-55
-35
121
81
212
-28
-7
0
0
0
0
0
0
73
4
26
86
-9
152
24
194
76
-24
0
0
0
0
0
0
0
2
10
144
36
-66
-93
3
17
36
1
-1
0
0
0
0
0
0
33
15
10
42
14
8
0
0
-3
0
0
0
0
0
0
0
0
46
-44
-50
68
-76
-108
5
0
0
0
-3
9
0
0
0
0
0
80
47
68
51
-68
-30
-60
0
0
0
15
0
0
0
0
0
0
-52
24
-22
-38
-68
-25
-77
-68
14
77
6
0
0
0
0
0
0
19
6
4
-11
84
66
-48
-47
-47
43
17
-1
0
0
0
0
0
-9
-12
-55
159
73
122
60
96
5
88
12
4
0
0
0
0
0
-36
-11
-17
25
106
91
1
42
27
8
-4
-2
0
0
0
0
0
-74
-34
50
87
175
119
77
31
-67
78
-2
1
0
0
0
0
0
37
40
5
75
48
45
21
-91
-19
16
0
0
0
0
0
0
0
62
97
-3
25
-2
1
-6
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-99
-13
-35
-94
-104
0
0
0
-13
-46
9
-20
-8
1
0
45
103
141
34
80
-74
-32
0
0
0
24
-66
-34
16
7
-1
0
131
66
79
91
48
-29
-66
-11
-15
63
-60
-87
-27
111
-18
1
0
67
77
216
-21
47
31
-18
-31
-57
-45
-84
-25
49
-1
-19
0
0
12
-37
124
103
66
74
62
49
14
39
65
-17
-15
-6
7
-6
0
51
81
47
120
-15
51
58
54
48
12
51
-33
14
6
0
0
0
-6
34
91
24
75
28
45
57
27
-66
-43
0
3
-2
2
0
0
8
-8
52
-46
24
-42
14
77
17
-41
13
-3
0
1
-14
0
0
0
3
-5
-5
-8
0
-1
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
44
49
-52
-88
14
0
0
0
47
-31
-16
-41
-5
-93
44
0
-20
-18
-8
-43
-39
-75
0
0
0
49
28
40
-118
-91
25
31
0
-1
-75
24
42
-6
-32
-19
-22
6
-13
9
38
-27
-7
14
14
0
-13
-44
32
13
37
-20
0
65
31
-2
24
26
-99
-39
-15
5
0
-9
-79
24
43
-52
12
120
5
-17
-51
-26
59
5
-35
-55
0
0
3
-25
132
60
60
31
1
28
6
22
56
9
54
-21
0
0
0
0
8
44
68
38
134
40
-10
41
29
2
-33
99
-16
-45
-8
0
-1
-12
-28
70
-2
89
62
40
24
16
43
-84
-37
24
-8
-20
0
0
13
23
50
23
19
85
48
31
48
34
14
-93
-122
-39
-57
0
0
2
74
-4
-38
58
0
0
0
-11
2
-25
-79
-15
-34
1
0
0
-57
34
-24
17
4
0
0
0
10
-100
-22
2
-18
41
-18
0
0
-108
-69
63
-9
-74
-6
-6
2
-57
24
45
-41
24
-14
0
0
0
3
7
-10
-1
1
-59
-10
24
-58
-10
-5
-14
8
-16
0
0
0
-51
63
1
4
87
-17
24
-18
-40
75
24
-32
-60
48
-4
0
0
66
10
14
-15
-28
16
29
6
22
14
-48
0
33
-30
-40
0
0
-45
111
86
-67
5
37
70
58
8
-88
-18
-64
-16
-46
26
0
0
-1
-22
-3
10
-38
-18
86
55
25
62
13
61
-8
54
13
0
0
9
42
-27
27
39
-20
-1
-24
-2
0
0
4
0
0
0
-136
27
56
-1
-15
-111
-12
0
0
0
-45
36
-25
-41
-1
0
0
8
17
80
45
-3
-129
-3
0
0
0
-4
0
-21
28
-3
-1
0
-21
112
67
107
6
0
-2
-106
28
-96
57
16
-5
-1
2
0
0
43
26
84
63
93
-19
63
-69
-37
-67
12
10
-85
-50
-5
0
0
-74
50
27
-49
19
95
8
19
55
23
100
-23
-8
-42
13
-2
0
-92
105
57
25
77
28
115
89
27
82
34
-2
-4
5
7
0
0
-37
89
43
7
69
0
78
119
67
42
0
-8
-2
0
-2
-1
-1
82
66
76
36
-32
94
16
80
52
-13
2
-3
0
1
17
0
0
0
-3
1
-19
63
2
4
4
-2
-1
3
-2
0
0
0
0
0
-34
99
2
2
0
-39
-39
0
0
0
-23
19
0
0
0
0
0
107
88
34
-14
24
-128
-19
0
0
0
-8
-122
-3
0
0
0
0
137
93
156
44
-25
-12
-63
54
3
55
-57
44
0
0
0
0
0
-15
28
93
105
10
-49
-65
34
-38
-46
14
-27
-1
0
0
0
0
-7
-36
-41
60
-39
16
-22
73
23
-119
-15
2
7
-1
0
0
0
62
-30
119
79
106
-13
30
6
-1
-103
-27
22
-3
0
0
0
0
85
18
10
51
52
62
43
23
-56
-42
21
0
0
0
0
0
0
-17
28
22
51
67
34
76
81
-19
-25
-5
0
0
0
0
0
0
1
-1
-1
-4
39
-1
62
44
-9
3
0
0
0
0
0
0
0
-22
63
-53
-22
22
-48
41
0
0
0
156
-8
-3
0
2
0
0
-56
-12
-78
-6
-32
-41
22
0
0
0
71
-17
-102
-8
0
0
0
74
21
-8
51
9
-85
-10
32
58
114
10
-54
28
6
-1
0
0
-44
-6
7
49
-48
-2
-37
-118
-18
-37
29
34
3
4
0
-3
0
64
-65
21
62
65
29
-43
-77
-18
27
43
-11
7
-3
-2
0
0
77
-36
-50
46
54
117
46
24
16
30
-20
-24
-4
1
0
0
0
-28
-6
-27
26
28
112
119
5
29
9
-29
-27
3
-7
0
2
0
1
39
-8
76
33
144
87
32
-19
29
-70
9
1
1
0
0
0
9
-13
0
1
4
7
14
13
113
-13
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
-25
-47
-29
-4
-1
0
0
0
0
0
0
0
0
0
0
22
-68
49
-77
-49
-43
-33
0
0
0
0
0
0
0
0
0
0
14
-45
-24
-43
60
7
1
0
0
0
0
0
0
0
0
0
0
9
-43
-50
-75
-27
-16
0
0
1
0
0
0
0
0
0
0
0
-15
-13
-3
-26
-4
6
1
0
0
0
0
0
0
0
0
0
0
55
59
-30
-67
14
4
0
0
0
0
0
0
0
0
0
0
0
6
-42
47
13
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
28
-77
-17
-3
1
0
0
0
0
0
0
0
0
0
0
0
-37
-4
23
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
55
39
10
-16
40
-13
0
0
0
0
0
0
0
0
0
0
0
-45
33
-80
-50
-105
-9
-7
0
0
0
0
0
0
0
0
0
0
49
-16
-35
-74
-86
-17
9
1
-1
0
0
0
0
0
0
0
0
6
-12
-102
-3
62
17
-10
0
-2
-1
0
0
0
0
0
0
0
34
32
-46
-95
13
-41
-2
0
-4
0
0
0
0
0
0
0
0
49
-56
-44
-46
-39
-23
3
0
0
0
0
0
0
0
0
0
0
1
9
-6
-68
-60
-7
0
1
0
0
0
0
0
0
0
0
0
0
-79
54
-60
-13
0
6
0
0
0
0
0
0
0
0
0
0
-3
7
56
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
8
6
-75
-119
0
0
0
0
0
0
0
0
0
0
0
104
-3
-55
19
-54
-77
-18
0
0
0
0
0
0
0
0
0
0
-28
41
67
-32
-34
-79
-2
0
1
0
4
0
0
0
0
0
0
8
22
-45
-38
-21
-3
3
0
-1
0
0
0
0
0
0
0
0
-13
16
35
-138
-63
3
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-110
-13
34
2
0
0
0
0
0
0
0
0
0
0
0
-1
57
-74
59
-22
2
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-46
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-12
-199
25
-79
0
0
0
0
-2
0
0
0
0
0
0
23
71
59
-104
-59
-123
0
0
0
0
0
0
0
0
0
0
32
-11
28
-28
-14
-34
-131
-137
-93
-4
0
0
0
0
0
0
0
25
24
-30
-27
-67
-103
-28
-18
-6
-1
0
0
0
0
0
0
0
-20
-49
30
-52
-39
-17
-21
-20
0
-2
6
0
0
0
0
0
0
2
-16
-26
-8
-22
51
-5
0
2
-1
0
0
0
0
0
0
0
-2
-52
87
-44
-2
5
-7
7
-1
-2
0
0
0
0
0
0
0
0
-30
-72
3
-6
4
1
0
0
0
0
0
0
0
0
0
0
0
24
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-15
-31
-58
-40
-16
-30
0
0
0
0
0
0
0
0
0
0
-45
-28
-3
-25
-10
-56
-36
0
0
0
3
0
0
0
0
0
0
-9
-42
51
-57
-7
-65
-16
-25
-2
-9
0
0
0
0
0
0
0
11
-26
-20
50
-46
-30
-29
-75
7
-15
0
0
0
0
0
0
0
-49
4
57
33
-40
5
51
8
-41
3
0
0
0
0
0
0
0
-43
2
22
36
-42
23
0
-43
-1
-4
0
0
0
0
0
0
0
3
-4
-39
-25
-13
5
1
0
0
0
0
0
0
0
0
0
0
1
48
-40
-10
2
-1
0
0
-3
2
0
0
0
0
0
0
0
-1
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
35
-30
-2
-75
-194
-203
0
0
0
-113
-68
8
-2
0
-1
0
41
-23
35
-3
-18
-71
-228
0
0
0
-109
-94
-67
16
-67
-5
0
58
-20
200
26
-60
-163
-191
-160
-117
-119
-52
-51
-76
-28
2
0
0
44
84
73
42
-28
-42
-61
-134
-108
-98
-62
-28
12
-51
-2
0
0
-7
-38
-38
-43
37
-46
69
12
25
13
-6
5
-30
0
0
3
0
-70
-19
-76
-87
24
-25
0
-16
3
59
-6
40
-6
1
0
-3
0
-1
33
58
-50
9
-27
-47
-13
7
-4
46
-3
0
-1
0
0
0
-22
41
11
17
-33
-1
-14
-48
-19
9
-2
0
-7
0
0
0
0
-2
-2
2
18
3
0
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
20
-40
-119
-216
-55
0
0
0
35
4
66
-8
7
-26
-65
0
14
-51
-106
-109
-144
-185
0
0
0
12
-27
7
-46
48
60
-77
0
-25
-4
2
-71
-114
-67
18
-61
-79
-14
-17
-56
-66
-72
26
4
0
-31
-36
-29
-15
-147
-45
-74
-36
-22
-47
-18
-2
-22
5
-42
-12
0
-22
-6
-40
-80
-34
-52
-26
-6
-35
11
-54
-39
-12
-16
60
2
0
-2
-22
-45
-15
-10
-53
5
0
-31
-21
4
16
-40
1
-26
-4
0
0
-63
-84
32
-22
-68
-8
-32
-23
2
2
62
-31
-98
11
-22
0
0
-25
-38
69
-31
50
66
66
-5
7
13
-37
2
24
1
12
0
0
-20
-28
15
17
61
8
34
29
8
-20
23
-35
-36
-38
2
0
0
-66
-46
-62
-120
-131
0
0
0
-21
-23
16
25
-49
-2
0
0
0
-64
-26
-38
-59
-124
0
0
0
-23
-30
-45
-17
23
20
-66
0
0
-30
-60
29
-82
-46
-116
-53
19
50
6
-49
46
-79
8
-8
0
0
-100
50
-73
-4
-138
-77
-14
-38
-56
-19
41
4
1
-4
0
0
0
3
-13
-54
-23
-36
-19
28
-14
34
-28
-116
-38
13
-16
-16
0
0
2
-34
-11
-54
-60
-30
-29
4
-38
62
-2
22
16
-55
3
0
0
-1
-27
-40
-1
59
-18
-7
5
-30
33
23
-49
-16
2
-65
0
0
-10
-45
40
-100
-21
-20
45
-33
38
-11
42
-69
37
-10
-19
0
0
-3
-58
11
-16
-94
13
10
-2
1
-1
0
-1
0
0
0
50
-85
-22
-63
-48
-134
-179
0
0
0
-144
-9
-46
14
0
0
0
14
73
34
3
-79
-166
-256
0
0
0
-179
-43
-42
5
16
-4
0
-54
-3
-29
-1
-85
2
-86
-137
-166
-190
-86
-64
-23
-61
-5
0
0
-70
-50
-47
-45
-93
18
-63
-21
-42
-83
-40
-74
-62
12
-22
0
0
-49
-129
43
-15
-35
12
18
5
-22
-82
-91
-4
-61
-12
-13
0
0
0
86
22
78
-53
-12
120
71
28
8
-62
-1
0
0
0
0
0
15
1
-43
107
-33
-2
-65
56
73
-83
6
-42
-16
0
0
-2
0
-8
-88
-53
23
-70
-29
-16
-41
-21
-6
4
-4
-1
-5
1
0
0
0
-3
-8
25
-5
0
-2
0
0
2
0
0
0
0
0
0
0
46
-40
-31
27
-86
-86
-171
0
0
0
-12
-34
-1
0
0
0
0
-90
-150
-1
-2
-118
-52
-262
0
0
0
-48
0
3
-1
0
0
0
62
7
39
-89
-63
-55
-165
-35
-114
-82
-60
1
-4
-1
-1
0
0
-14
-22
-89
-5
-54
-24
-99
-73
21
-63
-92
2
0
0
0
0
0
-16
-59
-3
18
-89
-78
41
-33
-22
-86
-8
-14
0
0
0
0
0
-17
-15
-23
-74
-38
-3
-6
57
-19
-38
-12
2
0
0
0
0
0
-1
-1
3
42
26
16
28
-30
-50
-3
1
1
0
0
0
0
0
0
7
23
23
3
4
-63
-55
-5
5
-1
-2
0
0
0
0
0
0
0
0
-1
7
0
3
-2
2
-8
0
0
0
0
0
0
0
-4
20
-12
8
9
-81
-64
0
0
0
47
-32
2
3
0
0
0
7
-14
-58
-120
-74
-53
-126
0
0
0
-2
-55
-9
1
0
0
0
4
-130
-13
-22
-54
6
-176
-181
-156
-137
-149
-21
-20
2
3
0
0
3
-78
-22
-56
-43
-77
-1
-12
-53
-84
5
12
5
-3
0
0
0
2
30
7
5
-29
1
-100
-142
-92
-42
6
-41
7
0
0
0
0
4
-13
-7
-22
-119
21
18
-76
-107
2
-130
-7
-6
0
0
0
0
0
-9
-1
-13
-30
35
44
56
-94
-119
-45
7
0
0
0
0
0
0
-3
4
-4
40
32
-7
-15
83
-17
12
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
2
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
17
0
0
0
52
0
0
0
0
0
0
0
0
0
5
-5
45
41
67
0
0
131
1
0
0
0
0
0
0
0
0
-7
1
10
-10
-15
-17
83
-2
0
0
0
0
0
0
0
0
0
0
0
46
14
-27
80
68
50
1
0
0
0
0
0
0
0
0
0
0
-1
-16
22
21
-15
-20
0
0
0
0
0
0
0
0
0
4
-3
4
-9
-37
44
28
0
0
0
0
0
0
0
0
0
0
0
1
5
-20
-13
18
35
-23
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
14
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-22
2
0
0
0
0
0
0
0
0
1
1
0
67
60
0
0
0
-10
0
0
0
0
0
0
0
0
-1
1
30
15
79
67
0
0
138
5
0
0
0
0
0
0
0
1
3
15
-19
125
27
-28
28
-39
-1
0
0
0
0
0
0
0
0
13
16
59
31
38
90
22
-9
-8
0
0
0
0
0
0
0
-4
-3
0
37
0
-27
-18
0
-5
-2
0
0
0
0
0
0
0
-3
0
1
-6
-34
6
84
-12
22
-2
0
0
0
0
0
0
0
0
0
-2
-2
-71
-1
2
43
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-12
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
43
0
0
0
40
-74
0
0
0
0
0
0
0
0
0
9
-13
7
57
0
0
40
1
0
0
0
0
0
0
0
0
0
0
4
76
43
19
-19
30
3
0
0
0
0
0
0
0
0
0
-2
15
17
29
80
51
36
-6
-1
0
0
0
0
0
0
0
2
4
4
3
23
9
61
36
-69
2
0
0
0
0
0
0
0
3
5
-1
5
12
30
120
-60
-3
-4
0
0
0
0
0
0
0
-3
3
4
-14
31
-52
66
5
9
0
0
0
0
0
0
0
0
0
0
0
-3
73
54
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
78
0
0
0
106
69
12
10
-27
-6
0
0
0
0
3
5
46
57
0
0
0
103
-21
19
-5
-80
65
-12
0
0
0
1
-3
-24
31
11
-23
91
114
61
38
-10
-25
-28
30
0
0
0
6
-7
21
11
21
69
47
-40
39
-31
-62
-11
55
1
0
0
-8
-3
-6
13
107
72
66
155
19
88
-16
3
-59
30
0
0
0
0
-2
-3
-12
-31
9
80
78
58
36
38
-74
10
41
0
0
0
0
0
2
-7
-10
41
-64
17
-12
-79
9
-9
-8
-10
0
0
0
0
0
0
-4
-18
-4
3
-18
16
-37
-5
23
-36
0
0
0
0
0
0
0
0
0
-1
8
3
-1
0
2
13
-23
33
0
0
0
0
0
6
32
37
0
0
0
120
60
45
8
-30
14
0
0
0
5
1
4
42
32
0
0
0
124
64
-64
38
22
47
1
0
0
0
-2
3
48
-38
18
-66
49
-55
94
19
-74
18
-56
-4
0
0
-4
0
-1
18
13
23
-16
-53
-11
-18
-56
21
-47
65
4
0
0
0
-1
0
-3
22
33
31
-35
-4
24
65
-43
46
-8
-4
0
0
0
1
0
0
24
-50
-57
-49
-63
-25
-9
65
-67
17
0
0
0
0
0
-1
0
10
30
-39
-22
0
-40
-42
29
6
3
0
0
0
0
0
0
-2
3
51
-44
8
16
-3
-6
-10
0
0
0
0
0
0
0
0
0
4
0
29
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
20
92
0
0
0
6
12
-3
29
-25
-33
-29
0
0
1
0
74
88
68
21
0
0
101
86
67
25
-44
-2
-14
0
1
-1
2
4
116
57
127
119
58
56
52
6
-3
-2
-12
10
0
0
-2
-7
-17
18
60
90
15
21
80
93
52
11
26
-6
17
0
0
0
6
-41
29
35
67
2
97
132
124
68
5
-35
13
-104
0
0
0
0
-2
3
9
58
31
62
107
76
23
26
-28
-16
0
0
0
0
-12
-6
-30
-31
152
-34
56
-49
83
45
29
-44
-27
8
0
0
0
3
10
-13
5
73
-61
88
90
-41
10
10
54
29
3
0
0
0
0
0
0
0
2
1
-1
1
-6
1
-4
33
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
83
15
-22
61
58
28
8
0
0
0
0
13
-1
2
-49
83
57
160
38
68
17
-18
21
-1
0
0
0
0
0
-2
5
88
16
17
140
51
-64
42
21
0
24
0
0
0
0
0
-9
-12
-34
-18
2
5
117
12
4
13
28
15
0
0
0
0
-8
3
-23
37
24
2
-87
26
125
-29
53
-1
7
0
0
0
7
0
2
19
-16
-10
79
58
52
23
-25
-3
1
40
0
0
0
-2
0
-2
44
68
18
-30
39
39
53
84
49
133
46
0
0
0
0
0
0
-32
-17
-37
-33
-26
61
4
44
20
47
-6
0
0
0
0
0
0
0
4
56
-19
-35
91
9
100
-25
-3
22
0
0
0
0
1
-58
18
9
0
33
-14
-13
16
-17
12
18
23
0
0
0
-1
-5
65
32
-63
-32
39
0
40
62
7
-8
-3
-31
0
0
0
0
-3
-9
-12
31
82
53
17
52
-26
68
-34
-24
-37
0
0
0
0
-20
-4
54
36
50
87
-23
-19
38
20
78
40
45
0
0
0
0
14
-15
16
24
43
100
30
37
-21
30
1
114
10
0
0
0
3
18
14
2
-53
105
44
80
1
60
50
89
22
-8
0
0
0
0
0
-7
-30
74
-15
-28
24
70
25
-35
34
4
50
0
0
0
0
13
0
30
12
4
53
-27
-36
-8
-11
-94
38
43
0
0
0
0
0
2
-6
4
-18
0
40
-18
85
8
7
-8
0
0
0
0
-8
18
83
19
88
0
0
46
36
0
-19
-17
13
34
0
0
0
5
21
55
26
0
32
0
27
51
35
-3
51
-1
-10
0
0
3
-2
0
74
74
50
84
60
18
86
-18
-19
10
-2
-13
0
0
5
1
28
27
35
27
82
109
45
74
67
65
23
-3
-59
0
0
0
-4
-12
-39
-21
76
111
36
27
86
72
94
16
57
-19
0
0
0
4
-11
-7
109
-29
-26
7
2
-21
-22
3
70
-18
65
0
0
0
0
21
-12
34
15
37
63
30
88
42
-105
-13
22
-27
0
0
0
0
-1
30
39
-74
-6
0
116
37
103
-13
65
78
-3
0
0
0
0
0
0
9
0
-3
-7
33
-5
-22
49
41
4
0
0
0
0
0
2
18
-14
90
0
71
52
116
22
41
32
-18
41
0
0
0
0
-2
-4
107
0
45
0
100
1
80
55
70
102
-24
0
0
0
0
0
-19
-4
82
38
19
-5
-14
-15
106
56
129
40
0
0
0
0
0
8
-19
-7
28
13
124
-91
-49
76
45
-13
33
0
0
0
0
1
-2
-7
18
-8
42
-47
-17
3
-29
83
-32
61
0
0
0
1
0
0
-12
-63
-43
8
24
66
-14
-21
66
54
-31
0
0
0
0
0
0
-4
-13
-43
-140
95
-26
86
21
3
12
2
0
0
0
0
0
-10
0
1
1
-6
9
-24
40
8
-7
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-12
-13
5
0
0
0
0
0
0
-6
40
0
0
0
276
105
57
54
-35
-39
4
0
0
0
0
0
-1
71
85
0
147
68
104
117
-30
40
44
56
0
0
0
0
0
0
-7
79
91
51
60
101
33
-2
31
87
35
0
0
0
0
0
0
10
4
-14
-10
11
5
22
-13
34
74
42
0
0
0
0
0
0
-6
-73
-61
-69
-47
-50
-23
35
-15
30
48
0
0
0
0
0
-2
5
28
-165
-21
47
-25
86
-11
45
67
-5
0
0
0
0
0
0
0
-44
-102
-16
-56
-35
-19
29
13
-40
78
0
0
0
0
0
0
0
0
-10
3
41
29
-52
-86
-2
-94
4
0
0
0
0
0
0
0
0
0
0
0
1
3
28
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
0
0
0
-46
0
0
0
0
0
0
0
0
0
-2
-9
-39
69
47
0
0
-34
-8
0
0
0
0
0
0
0
-1
-8
0
15
-16
-69
-19
-50
-72
2
0
0
0
0
0
0
0
0
0
-18
-10
-36
87
43
-75
124
5
0
0
0
0
0
0
0
0
0
0
-3
1
-12
-3
-130
10
0
0
0
0
0
0
0
0
3
-7
0
1
-8
17
-46
-25
-78
-8
0
0
0
0
0
0
0
0
-1
0
-5
4
0
19
-36
14
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
91
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
6
0
0
0
0
0
0
0
0
-2
-2
-9
-8
-1
0
0
0
-166
0
0
0
0
0
0
0
0
-2
-13
14
-16
-58
64
0
0
-68
14
0
0
0
0
0
0
0
0
0
-2
-13
51
-23
20
-26
-85
14
1
0
0
0
0
0
-1
1
5
-17
0
-74
65
-74
31
-34
9
0
0
0
0
0
0
0
6
7
14
23
-2
-8
16
-34
-44
-30
0
0
0
0
0
0
0
5
-1
-2
-14
-9
0
58
-102
-21
2
0
0
0
0
0
0
0
2
6
2
3
9
-11
47
-73
1
7
0
0
0
0
0
0
0
0
-3
0
1
22
40
41
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
0
47
0
0
0
-89
31
0
0
0
0
0
0
0
0
0
-12
25
-26
53
0
0
-27
9
0
0
0
0
0
0
0
0
0
6
-23
-5
-22
3
-13
-39
-63
1
0
0
0
0
0
0
0
0
21
-25
19
58
-86
116
5
-25
-1
0
0
0
0
0
0
0
1
0
-13
16
110
-62
-3
-44
-9
1
0
0
0
0
0
0
0
1
-9
0
-25
-2
66
-80
-81
-32
0
0
0
0
0
0
0
0
-2
-2
5
-1
-2
-2
-53
-37
-30
0
0
0
0
0
0
0
0
-1
-4
-2
2
-82
14
-50
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
43
0
0
0
23
5
14
13
-41
-55
-1
0
0
0
-3
16
8
10
0
0
0
-109
-79
-115
49
-33
-76
7
0
0
0
-1
0
30
-15
-62
-35
-138
-5
-82
-243
-1
9
-16
-7
0
0
0
0
4
-9
-78
-18
-65
-45
-51
-48
-61
-30
-68
-53
0
0
0
0
0
-3
4
16
18
51
22
30
-31
-88
-67
-31
10
0
0
0
0
0
2
-5
-34
-94
40
-9
-52
-6
-66
-106
-39
8
0
0
0
0
0
0
5
-6
1
47
44
-23
-54
21
-17
-2
-7
0
0
0
0
0
0
2
0
-5
12
105
6
6
-3
0
1
0
0
0
0
0
0
0
0
0
-1
16
1
0
0
-8
-1
0
-12
0
0
0
0
0
0
-8
-3
0
0
0
-17
2
-6
0
-3
-5
0
0
0
0
0
9
-17
18
0
0
0
29
-30
-5
2
-9
-1
0
0
0
0
0
0
34
-46
-84
-13
-53
-50
-4
16
-48
24
3
0
0
0
0
0
0
-3
-28
28
-35
-31
-37
18
10
-1
-60
-2
0
0
0
0
0
0
0
7
-64
-29
-111
-19
-41
-56
-91
-25
2
0
0
0
0
0
0
0
-1
-68
-8
-63
-25
-1
-22
-45
-7
-2
5
0
0
0
-2
2
0
1
39
-35
-8
7
-3
2
2
-1
0
0
0
0
0
0
0
0
-1
27
4
13
1
-2
0
0
-1
0
0
0
0
0
0
0
0
4
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
-46
95
0
0
0
-61
-84
-27
-85
-67
-88
-13
0
0
-2
6
27
-9
-28
11
0
0
-110
-118
-58
-79
-44
-70
-55
0
0
-1
1
6
20
73
-40
33
0
-24
1
-51
-8
-19
-75
-96
0
0
-4
-2
29
47
23
41
25
-23
-26
-40
-49
-22
-111
-46
-87
0
0
0
0
77
25
63
-4
72
21
44
-74
37
-49
-24
-118
-65
0
0
0
5
22
50
11
45
32
10
19
3
-6
-54
-28
-110
-25
0
0
0
65
28
21
42
12
22
52
94
-71
-30
-30
-34
-97
-7
0
0
0
0
5
24
43
-1
74
12
2
-61
-76
-89
-42
-47
1
0
0
0
0
0
0
0
-12
-20
-1
2
6
-3
-17
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-66
0
0
-26
-67
-68
-86
-61
-37
26
0
0
0
1
0
0
0
-18
-13
19
-85
-17
-66
-25
-14
-54
-55
0
0
0
0
3
1
15
2
-74
-74
-63
-7
-108
9
-52
-73
-38
0
0
0
0
0
-8
-33
20
-1
22
-1
-74
-39
-22
-66
-44
-37
0
0
2
0
4
-4
-2
21
3
55
1
4
-77
20
-58
-32
6
0
0
-4
0
2
31
51
-11
99
-37
-35
8
86
-89
-74
-54
-15
0
0
0
1
-3
-20
-4
5
-87
28
-4
61
8
1
-11
-120
-23
0
0
0
-1
0
1
1
14
50
64
46
6
-21
-20
-74
-89
-8
0
0
0
0
5
0
0
0
20
-56
-14
-19
-72
27
-38
-145
11
0
0
0
0
0
-2
-56
-4
0
11
-33
-65
-43
-16
-36
-80
24
0
0
0
3
6
4
-31
-31
-94
1
0
-78
-41
-52
-45
-24
-50
0
0
0
0
5
1
15
-22
-61
28
-60
-73
-64
-8
-40
-84
-4
0
0
0
0
-13
23
-31
-56
-60
-47
74
-8
-11
-61
-6
-50
-34
0
0
0
0
7
51
20
-24
-27
-95
-10
36
42
0
15
-74
-45
0
0
0
0
10
-23
-41
-20
11
37
-35
13
-14
13
18
-41
-31
0
0
0
1
5
7
19
59
60
34
13
57
-56
-72
-20
-68
-37
0
0
0
2
0
2
4
2
-14
47
-27
10
37
62
-8
-37
-32
0
0
0
0
0
2
9
5
27
-23
-14
7
-65
-1
-20
-1
0
0
0
0
5
-5
-37
-36
36
0
0
-90
-37
-20
-13
-56
-29
-99
0
0
0
-1
-6
85
-2
0
61
0
-69
-74
-28
1
-42
-58
-51
0
0
2
-5
35
-87
-46
-10
52
-8
-9
25
-33
-43
-17
-77
-71
0
0
0
-3
7
12
5
-31
-5
-12
-76
-14
-21
-19
-58
-28
-22
0
0
0
22
-3
25
29
76
57
53
-49
61
-4
-63
-111
-64
-41
0
0
0
1
57
33
3
81
31
48
38
34
-19
-5
68
27
-46
0
0
0
2
-19
60
38
-65
92
-11
21
-55
-18
36
-67
-24
1
0
0
-1
0
2
21
-20
-4
-16
-32
13
23
-99
28
-101
-9
-10
0
0
0
0
0
0
-7
4
5
5
-7
-8
3
42
-48
-2
0
0
0
0
0
0
-1
51
-27
0
8
6
-63
11
62
-116
-44
-69
0
0
0
0
1
-34
6
0
13
0
-20
-54
-66
-16
52
1
-17
0
0
0
-1
-5
-9
-134
-16
-35
-98
10
-20
29
-5
-23
-87
19
0
0
0
0
0
-15
-15
-5
-95
-106
-51
-93
-32
-57
-94
48
-51
0
0
0
0
0
0
-6
-11
-67
-18
-100
-64
-31
-40
-47
52
-34
0
0
0
0
0
0
-4
-44
48
-51
-91
-141
-15
-26
-20
-58
-2
0
0
0
1
0
0
-2
40
-10
-17
26
-9
-28
50
-100
-34
-25
0
0
0
0
0
-5
0
-7
4
-10
-42
-18
-6
-9
10
-83
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
12
13
0
0
0
0
0
1
-1
-8
0
0
0
-34
4
-2
-70
-20
-27
-48
0
0
0
0
0
0
-22
18
0
32
-67
-44
-91
18
68
-48
-139
0
0
0
0
0
0
-7
-68
18
-2
-39
-59
32
-41
-62
-30
-91
0
0
0
0
2
0
5
-136
-187
32
-40
38
-104
35
-8
-66
-27
0
0
0
0
0
3
-4
-71
-84
-47
-13
-9
-31
-28
-7
-3
-49
0
0
0
0
0
0
0
-59
-154
27
2
31
-19
-65
-27
-50
7
0
0
0
0
0
0
0
-15
-119
-69
-10
48
18
-2
36
43
-24
0
0
0
0
0
0
0
-1
-16
3
6
-4
-11
-2
64
9
-4
0
0
0
0
0
0
0
0
1
0
0
0
2
49
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
42
0
0
0
77
3
0
0
0
0
0
0
0
0
0
6
33
60
33
0
0
-19
0
0
0
0
0
0
0
0
0
0
2
23
33
31
47
14
74
-2
0
0
0
0
0
0
0
0
0
-3
5
30
-25
77
18
55
1
0
0
0
0
0
0
0
0
0
2
6
14
-12
19
57
58
-5
0
0
0
0
0
0
0
0
0
0
-3
10
20
29
4
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-27
35
41
13
10
0
0
0
0
0
0
0
0
0
0
0
1
3
-30
41
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-5
4
-8
0
0
0
0
0
0
0
0
0
-3
-7
29
35
0
0
0
-25
7
0
0
0
0
0
0
0
-1
1
-10
-8
38
20
0
0
-88
5
0
0
0
0
0
0
0
0
1
0
32
-14
24
41
76
38
-21
0
0
0
0
0
0
0
0
0
14
23
33
70
-23
-1
7
13
0
0
0
0
0
0
0
0
3
0
-5
7
48
-13
55
-38
-10
0
0
0
0
0
0
0
0
0
1
-2
-15
15
71
148
6
0
0
0
0
0
0
0
0
0
0
0
-4
15
3
72
60
62
0
0
0
0
0
0
0
0
0
0
0
0
-12
10
27
37
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
21
-17
-9
0
0
0
0
0
0
0
0
0
-1
-5
8
-8
0
0
0
88
5
0
0
0
0
0
0
0
0
-1
1
31
25
27
0
0
14
-14
0
0
0
0
0
0
0
0
3
-1
-2
0
42
-7
-42
13
68
0
0
0
0
0
0
0
0
0
0
5
2
83
44
-14
-27
-41
0
0
0
0
0
0
0
0
0
-1
-1
7
-31
-9
-43
41
18
0
0
0
0
0
0
0
0
1
0
2
-1
36
-41
62
145
-7
0
0
0
0
0
0
0
0
0
0
0
5
-5
4
27
17
8
0
0
0
0
0
0
0
0
0
0
1
0
-5
3
50
41
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
2
0
0
0
0
0
0
0
0
0
0
0
2
4
4
0
0
0
92
-62
5
3
9
48
-1
0
0
0
10
-2
43
-55
0
0
0
-48
36
-60
-37
40
14
0
0
0
0
2
-1
92
14
69
36
73
-96
23
-19
-8
14
72
-3
0
0
2
0
-3
31
-58
-30
67
58
7
-38
-34
-27
37
-36
0
0
0
3
-5
-2
13
-25
73
6
5
131
-23
-40
-25
48
22
4
0
0
0
0
-2
-5
44
100
60
41
149
-6
-6
-4
33
1
2
0
0
0
0
0
14
22
45
35
105
27
2
45
40
-25
6
0
0
0
0
0
-2
-2
31
56
46
33
-17
41
-41
-5
19
8
0
0
0
0
0
0
0
0
1
14
-2
41
1
0
0
2
1
0
0
0
8
1
26
-50
45
0
0
0
76
-125
-5
25
8
-10
-1
0
-1
0
14
39
2
95
0
0
0
36
-4
1
-15
30
20
4
0
0
0
3
-2
103
-3
26
50
-15
55
0
-14
24
-19
-55
7
0
0
0
7
8
46
57
60
-115
-6
-49
-8
12
60
38
-25
7
0
0
0
0
4
-3
73
49
36
80
-10
42
101
-11
30
59
1
0
0
0
3
0
0
14
7
-35
58
40
40
-38
43
-37
14
0
0
0
0
3
-5
-3
43
19
25
58
-5
-18
-23
-8
33
42
-5
0
0
0
0
-3
13
-6
14
15
-1
44
4
30
6
-13
-42
4
0
0
0
0
0
8
1
7
-117
41
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
31
-48
0
0
0
-12
88
46
120
107
-7
27
0
0
0
1
-2
-30
71
-4
0
0
7
-32
61
41
50
67
-4
0
0
-3
0
10
0
86
43
44
-1
-81
0
3
50
18
49
-58
0
0
0
0
0
21
4
70
13
42
-20
61
16
-6
62
59
65
0
0
0
0
-2
-11
26
42
59
67
1
14
25
18
78
8
-77
0
0
0
0
-6
8
-71
39
4
106
-16
32
16
110
60
50
13
0
0
0
0
0
-12
-15
22
25
-15
44
3
-29
58
-15
-40
50
0
0
0
1
0
-1
5
14
129
-37
-13
29
7
65
51
37
1
0
0
0
0
0
-4
-2
-1
-2
25
15
0
0
-2
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
69
0
0
-46
-83
-81
-16
25
49
-57
0
0
0
0
-1
0
-10
32
25
-2
0
-41
-92
25
-15
10
-23
0
0
0
0
-1
-1
2
74
14
36
0
10
-22
-24
7
26
70
0
0
0
0
5
-2
-13
-52
0
-7
6
40
-18
28
11
35
5
0
0
0
0
0
-1
-3
29
-37
-30
-33
25
-23
21
45
59
-20
0
0
0
0
0
0
-12
24
-77
2
-80
-30
-26
43
1
27
34
0
0
0
0
0
0
-1
-20
25
-36
-36
-2
64
22
23
31
31
0
0
0
0
0
0
-1
-11
35
53
-25
61
72
12
2
17
6
0
0
0
0
-1
-1
-1
-1
-46
13
21
-53
18
15
16
52
54
0
0
0
0
0
-5
21
44
0
10
89
-75
-52
21
83
-15
91
0
0
0
0
-27
10
-6
-15
59
49
0
-90
3
11
23
85
-59
0
0
0
0
23
1
15
-21
37
-109
-74
-90
23
-22
-70
22
53
0
0
0
0
-2
12
38
-45
65
5
58
45
-3
13
48
68
52
0
0
0
0
0
-7
-7
-7
-57
92
42
42
13
-4
55
33
103
0
0
0
0
-4
-1
-2
0
-30
15
55
22
29
10
-11
34
53
0
0
0
0
1
18
2
-5
51
-48
37
38
104
111
0
40
18
0
0
0
0
1
-1
1
0
-4
-32
-71
-27
-30
99
80
11
37
0
0
0
0
0
0
1
0
-12
-5
-13
9
49
64
16
-5
0
0
0
0
-2
0
-9
30
14
0
0
93
26
6
-37
45
-24
68
0
-1
-1
-3
-26
1
20
0
21
0
-23
-6
2
52
43
-24
23
0
0
-2
-1
13
42
-101
-51
10
83
-54
39
25
77
83
-27
17
0
0
0
3
0
50
-9
92
115
21
46
71
60
23
77
13
-28
0
0
0
0
4
43
59
101
40
78
96
-1
93
31
168
108
-118
0
0
0
0
0
3
-48
-17
-19
2
59
25
-9
37
18
37
77
0
0
0
0
-3
7
-17
-90
-4
31
27
64
78
42
98
-62
10
0
0
0
0
0
-2
-2
-30
-86
15
-29
52
-33
60
0
-44
44
0
0
0
0
0
0
0
0
0
-7
-2
-13
0
7
6
-2
0
0
0
0
0
0
2
20
46
0
19
-24
77
68
145
100
83
6
0
0
0
0
-3
20
42
0
16
0
30
2
-20
56
70
46
63
0
0
0
-2
10
-29
2
145
65
35
-44
-37
26
114
-22
-3
-64
0
0
0
-1
-1
8
-70
81
82
154
21
-4
39
16
29
-8
-5
0
0
0
0
0
9
-61
-48
-3
46
38
-11
-108
11
63
39
-55
0
0
0
-1
0
0
-1
8
-12
14
25
-36
-74
-68
40
76
50
0
0
0
0
0
0
4
-29
-25
-4
5
-16
-86
-10
-67
-28
-32
0
0
0
0
0
0
0
2
-14
0
-8
47
47
4
65
13
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
42
4
22
-6
1
0
0
0
0
-1
33
36
0
0
0
104
45
102
20
-35
-25
19
0
0
0
0
0
59
123
-38
0
-25
22
154
-16
5
-2
21
-8
0
0
0
0
0
-2
44
99
133
58
12
-51
-92
26
9
-12
30
0
0
0
0
0
-5
-29
-15
24
26
31
-26
51
16
74
94
-26
0
0
0
0
0
5
-6
12
-117
-46
-29
14
17
-8
36
98
-13
0
0
0
0
0
1
-1
-34
-103
-91
50
-53
22
36
-62
77
60
0
0
0
0
0
0
-1
-41
-57
-59
29
20
93
17
49
78
-2
0
0
0
0
0
0
0
0
-45
-31
2
72
-18
32
-49
51
28
0
0
0
0
0
0
0
0
-1
0
-3
5
1
-6
29
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
2
0
0
0
-34
0
0
0
0
0
0
0
0
0
1
-1
-24
-12
20
0
0
-12
0
0
0
0
0
0
0
0
0
0
-13
-35
8
44
33
-92
-154
-8
0
0
0
0
0
0
0
0
0
1
-7
-2
-127
-71
-53
-43
6
0
0
0
0
0
0
0
0
0
0
4
2
2
40
41
-34
0
0
0
0
0
0
0
0
0
0
0
2
-13
14
54
64
-22
0
0
0
0
0
0
0
0
0
0
0
0
20
-12
-60
14
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-40
25
15
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-2
-2
-3
0
0
0
0
0
0
0
0
0
-4
1
17
-7
0
0
0
-74
0
0
0
0
0
0
0
0
-1
0
-14
62
44
-4
0
0
-125
-4
0
0
0
0
0
0
0
0
0
1
-8
55
-29
-20
-78
-90
25
0
0
0
0
0
0
0
0
0
-13
10
-52
-35
-75
62
-2
31
0
0
0
0
0
0
0
0
0
0
4
10
26
-74
28
50
-17
0
0
0
0
0
0
0
0
0
0
-5
17
-40
-43
-32
-22
0
0
0
0
0
0
0
0
0
0
0
-4
-14
42
-14
10
-48
-1
0
0
0
0
0
0
0
0
0
0
2
13
-80
-25
-73
2
0
0
0
0
0
0
0
0
0
0
0
0
-48
22
-6
-3
-18
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
-20
-14
0
0
0
0
0
0
0
0
0
1
6
31
-31
0
0
-74
-53
0
0
0
0
0
0
0
0
-2
0
0
19
22
-103
-78
-77
-22
0
0
0
0
0
0
0
0
0
0
-2
-8
59
-43
0
-74
-28
0
0
0
0
0
0
0
0
0
1
0
0
-31
68
49
21
-46
0
0
0
0
0
0
0
0
0
0
0
-13
7
-47
-38
53
-14
0
0
0
0
0
0
0
0
0
0
3
19
62
0
-13
-5
-2
0
0
0
0
0
0
0
0
0
0
3
2
29
-8
-11
-30
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
8
-8
-4
-19
2
-5
0
0
0
0
0
0
-2
-29
0
0
0
-66
-51
-69
29
-8
0
0
0
0
0
0
-3
1
-33
-158
-107
6
-43
-18
-52
-11
-24
0
0
0
0
0
0
4
-3
-5
-50
6
1
21
43
-44
-25
-12
-1
0
0
0
0
0
0
0
-1
-8
4
52
-1
-29
-48
-33
-6
0
0
0
0
0
0
0
0
-4
-45
65
28
64
33
-42
0
0
2
0
0
0
0
0
-3
0
1
-31
34
8
-26
12
2
0
0
0
0
0
0
0
0
0
-2
2
5
31
24
-6
0
0
0
0
-4
0
0
0
0
0
0
0
8
6
9
-6
4
0
0
0
0
0
0
0
0
0
0
0
3
-101
0
0
0
41
3
-6
0
0
-2
0
0
0
0
-1
0
2
-105
0
0
0
24
-40
-9
3
2
7
0
0
0
0
0
0
2
-14
-115
-59
109
-10
-83
8
6
5
-1
0
0
0
0
0
0
1
26
8
-64
15
-29
33
-33
1
1
2
0
0
0
0
0
-1
8
-2
-58
3
-31
3
22
-34
-7
-14
-5
0
0
0
0
0
0
0
-4
30
-50
-24
-9
-6
3
1
-5
-3
0
0
0
0
0
0
0
-2
23
-64
-44
-8
3
-8
2
-25
2
0
0
0
0
0
0
0
1
6
-92
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
-2
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-36
0
0
0
-181
-84
-64
-91
-16
-86
-17
0
0
0
1
-32
10
-59
-11
0
0
-171
47
-101
-76
-30
-1
-4
0
0
4
0
1
6
31
-43
-87
-115
-88
-31
-57
-40
-14
-66
-102
0
0
0
0
0
41
40
-27
-44
-37
55
-61
-31
-109
-20
-42
-10
0
0
0
0
0
-30
23
-26
38
-11
72
16
6
-45
-72
-98
12
0
0
0
0
-4
-4
8
-96
-76
68
54
8
-43
-17
66
-81
13
0
0
0
-1
0
1
23
-104
-14
-34
3
-109
-26
84
-78
-62
-6
0
0
0
-1
0
0
-27
13
-62
4
14
20
-18
-71
-83
-32
-6
0
0
0
0
-1
8
0
-3
-13
-40
-57
-2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
0
0
-129
-96
-54
-25
-33
-34
-12
0
0
0
0
4
0
8
1
-74
-20
-97
-68
4
-19
-49
-23
-49
0
0
0
0
0
0
-8
-50
24
35
-32
-99
26
-27
-30
-70
-27
0
0
0
0
2
-1
2
-8
-23
-19
-51
-31
50
-38
-8
-40
14
0
0
0
0
0
-3
0
-40
29
62
-16
-35
44
-42
-9
-45
27
0
0
0
0
0
0
-2
-51
44
-8
-2
-29
7
-40
40
-38
-14
0
0
0
0
0
3
0
-1
-85
40
9
-122
36
18
2
-25
-31
0
0
0
0
0
0
-2
8
-42
-74
-43
-20
10
-7
-15
-11
-77
0
0
0
0
0
0
0
-2
-46
52
0
2
-93
-44
-35
-7
32
0
0
0
0
0
-1
-16
-64
0
18
-73
-173
-77
-66
-28
-13
-35
0
0
0
1
1
4
-3
16
-75
-12
0
-134
-42
-48
-8
-28
-1
0
0
0
0
2
-1
6
-7
18
-57
-54
-99
-18
-28
-48
-46
0
0
0
0
0
4
-7
14
47
8
-78
-31
3
120
-53
-33
-32
54
0
0
0
0
0
0
-3
22
-39
-3
48
19
9
-5
-31
-11
-5
0
0
0
0
0
0
7
-30
-27
18
25
-9
-81
-34
-5
-54
-108
0
0
0
0
0
-13
0
-8
21
28
17
-40
27
9
-12
-19
-22
0
0
0
0
-6
0
-2
0
-35
27
33
15
-83
-68
-76
-44
-7
0
0
0
0
0
0
0
0
20
-8
-15
-15
-44
-38
-33
-2
0
0
0
0
0
-2
31
-4
-80
0
0
-99
-35
-49
12
-24
30
-37
0
0
0
0
-24
-39
-91
0
-82
0
-161
-67
-64
-21
-79
-105
-20
0
0
0
1
-7
-101
4
-2
-92
-213
-165
-10
-53
-4
-75
-36
-10
0
0
0
0
-1
4
-111
4
30
-16
-2
5
-51
-36
-65
-4
41
0
0
0
0
-1
-1
13
-12
-24
-46
-25
-32
4
48
30
80
-55
0
0
0
0
-5
-1
21
40
-125
30
-18
-48
-10
-30
-71
-41
-76
0
0
0
0
8
-2
-26
-37
8
-5
28
-50
-69
-30
-114
-42
-92
0
0
0
0
0
1
4
11
11
7
5
10
-1
-54
-28
36
-27
0
0
0
0
0
0
0
0
17
-13
-41
0
1
0
4
-1
0
0
0
0
0
0
0
7
-13
0
-60
-42
-71
13
-45
-44
6
-17
0
0
0
0
0
8
-12
0
-75
0
-22
19
-55
-139
13
-39
-58
0
0
0
0
0
3
-83
52
52
-25
-36
-85
-38
50
-59
-106
-15
0
0
0
0
2
1
-2
-76
-55
25
-18
19
-84
-68
-13
15
20
0
0
0
0
0
-1
0
-30
-26
4
-90
-91
-25
32
-35
-43
-25
0
0
0
0
0
0
1
-67
-23
41
95
24
-1
2
-38
56
-31
0
0
0
0
0
0
1
-3
-14
-20
59
-18
-45
39
-130
-31
-41
0
0
0
0
0
0
0
-1
0
10
13
29
8
-20
-17
-46
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
-107
-106
-33
-27
-61
19
34
0
0
0
0
0
0
0
-94
0
-121
-89
-88
-72
0
29
-29
-110
0
0
0
0
0
0
0
-7
13
40
-81
20
-30
-39
3
11
-37
0
0
0
0
0
0
-3
-8
-99
2
-51
57
-87
-27
46
19
-28
0
0
0
0
0
0
1
-108
-43
-30
49
-87
-4
-96
37
9
-11
0
0
0
0
0
0
0
-17
-62
-6
-7
-27
22
30
-110
59
60
0
0
0
0
0
0
0
-20
-24
7
21
-9
-26
-47
-6
-24
-10
0
0
0
0
0
0
0
1
-8
0
1
25
-19
18
21
57
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-2
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
43
-50
70
28
-8
-12
0
-1
0
0
0
0
0
0
0
49
116
30
-3
-46
-26
-55
34
-51
-41
1
0
0
0
0
0
0
34
11
116
5
48
-9
-5
-30
7
2
0
0
0
0
0
0
0
20
-33
-29
58
8
-22
0
-20
6
0
0
0
0
0
0
0
0
5
164
-23
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
-13
105
25
23
54
1
4
0
0
0
0
0
0
0
0
0
0
1
-50
-54
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
75
76
59
29
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
31
-7
101
30
17
3
-29
15
0
71
0
0
0
0
0
0
0
97
49
-11
21
25
-9
26
-37
19
-33
-7
0
0
0
0
0
0
52
25
66
23
21
-18
10
66
-33
-14
0
0
0
0
0
0
0
30
115
41
-48
-52
103
8
-3
8
0
0
0
0
0
0
0
0
44
19
10
-37
-14
19
1
1
4
0
0
0
0
0
0
0
0
2
-7
89
116
-2
-4
2
0
0
0
0
0
0
0
0
0
0
-1
-8
23
1
19
4
0
0
0
0
0
0
0
0
0
0
0
17
61
3
-13
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
75
56
80
20
-6
53
-47
0
10
2
0
0
0
0
0
0
31
81
16
-30
-76
41
-92
-11
70
-34
8
0
0
0
0
0
0
-3
31
45
12
-34
43
-40
28
27
25
12
0
0
0
0
0
0
-11
46
148
62
-45
68
3
0
2
-2
1
0
0
0
0
0
0
1
37
57
42
58
17
2
-9
-2
0
0
0
0
0
0
0
0
6
35
-9
85
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
66
25
-47
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
8
2
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
15
82
-25
35
-53
-89
-108
0
54
-7
2
0
0
0
0
0
102
-4
59
41
28
-65
-45
-62
-99
-110
-24
2
0
0
0
0
0
91
-34
85
98
-49
-54
-33
-28
-21
-76
-9
-8
-1
0
0
0
0
36
72
28
101
150
-29
7
24
-6
16
19
0
0
0
0
0
0
41
44
39
74
89
36
-37
-26
68
12
0
-1
0
0
0
0
0
4
19
-15
24
56
-22
5
37
-45
2
-1
0
0
0
0
0
0
20
5
73
132
74
70
9
73
10
1
0
0
0
0
0
0
0
41
59
48
81
43
25
25
47
-9
0
0
0
0
0
0
0
0
2
4
0
0
0
0
7
0
4
0
0
0
0
0
0
0
0
-6
-12
75
-28
-35
-78
35
-110
0
-30
0
0
0
0
0
0
0
62
6
-68
-32
26
3
32
-49
-74
9
-5
0
1
0
0
0
0
9
-7
70
-21
90
31
-53
-54
-107
18
2
-3
0
0
0
0
0
-112
-41
15
35
46
-21
14
58
-45
40
-3
0
0
0
0
0
0
44
-61
38
76
-49
54
-6
74
3
-8
0
0
0
0
0
0
0
24
10
3
7
44
69
-38
58
-4
1
0
0
0
0
0
0
0
-8
95
64
57
33
8
25
41
14
0
0
0
0
0
0
0
0
10
50
7
43
-16
4
7
1
2
0
0
0
0
0
0
0
0
22
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
-16
92
24
83
14
29
-63
0
-54
39
31
-12
-15
0
0
0
62
46
21
22
58
125
-32
-102
-126
-18
64
55
72
40
-18
0
0
17
90
108
44
75
127
47
4
-30
-10
143
59
83
-18
22
0
0
11
71
12
77
21
137
51
59
120
35
138
40
-12
-34
8
0
0
18
54
82
136
58
169
59
103
99
55
63
65
55
27
-2
0
0
6
44
48
5
17
37
58
56
101
44
73
-2
6
-7
3
0
0
0
106
99
120
31
56
128
4
114
44
-21
34
6
0
-1
0
0
0
50
-34
-31
54
57
10
22
51
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
48
10
27
53
49
0
-1
7
34
12
-7
-6
-2
0
0
-9
141
104
2
21
49
-31
-17
29
53
78
40
-35
-41
0
0
0
11
8
-34
76
91
28
47
-78
6
12
66
78
51
0
-2
0
0
25
91
18
10
-35
-8
34
8
46
-21
14
2
-3
0
-2
0
0
0
47
-20
54
132
-49
35
74
54
41
-77
-14
28
4
0
0
0
0
20
-20
51
-3
39
48
-14
83
-4
-30
33
18
-4
2
0
0
0
-30
9
62
53
-35
48
-9
53
18
-5
-34
-4
2
0
0
0
3
16
36
14
-26
17
90
58
11
-7
41
-12
39
17
0
-6
0
0
0
-14
6
2
32
5
38
45
-24
100
38
-45
-1
-3
0
0
0
-8
120
6
7
44
-25
0
9
42
-33
-6
2
2
0
0
0
0
50
85
4
76
66
-1
22
14
13
3
-7
81
-16
-2
0
0
0
27
-27
20
31
-1
21
-26
-4
24
102
-1
8
0
0
0
0
0
8
44
26
21
65
-21
151
50
57
50
63
-8
5
0
0
0
0
27
7
31
56
64
-25
29
-14
-19
76
42
-14
12
0
0
0
0
-7
19
74
19
-29
57
42
16
-29
-39
-23
-18
10
-4
0
0
0
16
12
24
12
54
53
73
26
-25
-18
162
-56
2
0
0
0
0
4
76
-34
-40
70
62
27
99
-6
-36
-11
6
0
0
0
0
0
-1
-8
9
-29
73
-5
11
14
-1
0
0
0
0
0
0
40
141
29
66
103
-57
10
-71
0
-60
19
53
-25
21
0
0
0
27
22
28
59
68
56
-18
-50
-72
-19
50
118
41
0
-3
0
0
37
77
67
39
-14
141
21
-7
-54
-9
17
131
9
-9
-18
0
0
28
4
56
83
10
49
101
34
76
118
70
44
29
14
0
0
0
18
55
66
-19
50
145
34
130
93
85
-4
36
91
71
-6
0
0
49
37
70
142
-4
97
87
160
77
47
153
84
17
5
0
0
0
33
42
65
82
37
12
102
77
57
-61
1
-3
-10
0
0
0
0
-2
12
-18
-40
54
31
59
38
47
0
-6
-2
0
0
0
0
0
0
-3
3
17
7
14
20
-4
-1
-1
0
0
8
0
0
0
0
32
16
-33
-13
-8
-52
9
-62
0
-13
26
24
-12
-1
0
0
0
18
14
44
-21
-27
-20
37
-69
4
47
42
2
56
2
0
0
0
125
29
90
38
42
21
61
-7
28
63
48
-43
-2
-2
0
0
0
47
-22
24
6
1
-14
-17
14
61
31
10
52
-2
0
0
0
0
92
9
26
-22
23
7
-14
97
63
54
-4
2
0
0
0
0
0
-4
12
-36
68
-35
39
80
50
-36
32
10
-40
-12
0
0
0
0
0
47
56
45
65
40
76
61
90
13
3
6
0
0
0
0
0
0
-22
-38
89
54
97
17
107
-32
-28
-23
-1
0
0
0
0
0
0
0
5
-2
-12
2
32
8
-7
-2
0
0
0
0
0
0
0
28
65
-6
26
-6
-5
-23
-18
0
-60
42
-17
1
0
0
0
0
-15
-23
-49
5
11
88
89
-10
-2
4
20
22
4
-1
0
0
0
-23
7
54
42
-22
-29
8
-102
7
26
27
21
3
0
0
0
0
-35
-27
22
20
64
56
-8
81
37
32
89
0
0
0
0
0
0
14
-78
-45
35
78
90
21
86
-4
91
36
24
-2
2
0
0
0
-30
-29
-46
-13
23
2
75
42
27
86
35
0
0
0
0
0
0
-1
84
48
-13
84
115
13
64
11
-48
-40
13
0
0
0
0
0
-3
-12
16
2
-6
40
132
9
19
-22
25
0
1
0
0
0
0
0
-3
0
1
-3
8
34
79
-21
-5
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
46
-21
-94
10
-33
-52
-34
0
-12
0
0
0
0
0
0
0
-30
-25
-2
15
4
43
-33
-67
17
1
0
0
0
0
0
0
0
26
-82
-52
48
23
45
-23
59
-33
9
0
0
0
0
0
0
0
45
74
49
-73
1
-11
0
-3
-5
0
0
0
0
0
0
0
0
42
8
22
59
-20
40
-14
8
2
0
0
0
0
0
0
0
0
-22
-58
25
-88
37
4
-7
0
0
0
0
0
0
0
0
0
0
7
-58
8
-6
49
-6
0
0
0
0
0
0
0
0
0
0
0
-10
-57
16
-18
17
4
0
0
0
0
0
0
0
0
0
0
0
4
-9
-14
6
7
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
-23
-43
-4
29
-19
11
0
-94
1
0
0
0
0
0
0
66
-64
-54
-12
-72
-31
-22
-86
-21
-20
9
0
0
0
0
0
0
35
-14
17
-64
13
40
88
38
48
10
2
0
0
0
0
0
0
-29
16
-105
7
-19
78
-28
-3
-40
15
-2
0
0
0
0
0
0
41
15
20
40
53
22
24
1
3
0
10
0
0
0
0
0
0
0
-38
44
-19
11
-63
-12
0
-4
-4
0
0
0
0
0
0
0
-9
-12
32
20
-22
-16
-3
0
0
0
0
0
0
0
0
0
0
-34
39
-27
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-27
-43
-52
-55
-39
-64
-22
0
-19
-2
0
0
0
0
0
0
2
-20
-3
-68
61
-20
-8
83
-121
-4
-24
0
0
0
0
0
0
-37
6
-15
-18
31
17
-73
-6
-26
-8
-5
0
0
0
0
0
0
1
58
-64
10
-37
-1
9
-5
-9
1
-1
0
0
0
0
0
0
-7
87
-71
-83
49
31
1
22
0
1
3
0
0
0
0
0
0
-2
-56
-15
66
-7
-27
7
-5
6
0
2
0
0
0
0
0
0
-4
-22
37
113
3
-8
-2
0
1
0
0
0
0
0
0
0
0
0
9
-2
5
1
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
-93
-59
-34
-101
-65
-96
0
-150
15
-3
0
0
0
0
0
2
-81
-1
10
-67
-26
-67
-207
-143
-167
-5
2
-3
0
0
0
0
-56
52
-4
-40
-23
16
-80
-18
49
36
-8
-5
0
0
0
0
0
29
10
-16
50
-47
-44
-2
-37
-112
5
-2
0
0
0
0
0
0
40
34
-57
-22
-14
44
-25
8
-103
-18
0
-8
0
0
0
0
0
4
55
100
-24
-31
43
-21
-58
4
3
0
1
0
0
0
0
0
-22
9
69
24
21
7
-6
-16
-10
-5
-1
0
0
0
0
0
0
-3
-10
-13
29
0
12
0
-8
-8
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
-105
-29
19
-25
3
-65
-95
0
-7
-2
0
0
0
0
0
0
29
-3
-19
75
-18
-73
-40
-226
-130
-121
0
0
-1
0
0
0
0
14
-42
-13
-65
-19
-69
2
-43
17
-14
0
0
0
0
0
0
0
12
-7
-31
25
-39
14
-8
-29
45
-4
0
0
0
0
0
0
0
19
-6
14
-53
-24
-3
-32
-15
0
4
0
0
0
0
0
0
0
-28
-15
-49
-66
-13
7
-8
-1
-1
2
0
0
0
0
0
0
0
0
-12
-29
9
10
4
1
0
0
0
0
0
0
0
0
0
0
-7
23
20
12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
-8
-62
2
-117
-25
-137
0
-65
-65
-75
4
-2
0
0
0
-78
81
100
-15
-36
-5
-25
-132
-124
-79
63
44
-120
-98
61
0
0
-9
32
5
-42
-23
101
5
-2
-26
-40
-84
-43
-2
64
-2
2
0
5
7
7
11
31
-38
63
33
74
-17
-85
28
0
-42
-10
0
0
-21
4
35
-41
17
-12
-18
70
19
-8
47
28
-2
2
0
0
0
76
-22
52
31
-31
32
-49
35
50
86
-57
-14
-7
5
5
0
0
-6
33
3
31
-18
-20
89
58
0
60
-5
38
1
0
-2
0
0
4
-63
3
41
58
15
-4
49
5
-2
-7
2
0
0
0
0
0
0
0
0
0
2
0
-2
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-18
-38
-73
-93
-58
-118
0
5
-39
-87
-7
-12
-2
3
0
0
57
-66
-62
-71
-124
9
-73
-56
-34
18
-28
-35
-10
29
-6
0
0
-6
-30
-88
-79
-53
-22
7
45
-44
18
-73
-16
31
0
3
0
0
-19
40
-21
-82
-85
-26
-85
-6
-4
34
-4
-43
26
-1
-2
0
0
18
7
-20
-21
-67
37
35
35
-6
7
-10
-3
47
4
-1
0
0
-27
28
-71
-56
-70
-72
-52
-61
40
55
-49
11
-14
1
4
0
0
0
73
-48
-20
-89
25
35
48
66
8
-8
50
37
-1
-4
0
0
-22
-2
-27
85
-11
17
-39
-45
-26
-56
26
2
17
-13
0
1
0
-4
3
-6
-6
-25
11
42
9
-7
14
-28
0
12
-8
-1
0
0
0
-68
-4
-38
-81
50
-38
0
-44
-34
-17
-23
40
5
0
0
0
0
1
69
25
-50
-32
-11
-7
-28
-8
13
40
6
-10
4
0
0
0
30
-15
33
-26
-3
1
-28
6
-11
-56
-61
-6
-21
0
0
0
0
-11
7
-63
-17
-89
-82
42
-20
-23
34
-81
-15
3
0
0
0
0
-52
-78
-85
-26
-29
1
16
-24
32
-41
20
-32
-8
0
0
0
0
-9
-14
-13
22
41
-23
-42
-99
96
-7
37
6
3
0
0
0
0
17
-33
-1
-51
29
-35
-48
11
-4
-35
-5
19
-1
0
0
0
0
-4
27
-50
-2
-92
-57
-68
-24
8
1
15
-29
0
0
0
0
0
6
16
-41
11
-135
62
-14
3
-1
-11
0
0
0
0
0
60
95
11
2
-20
-12
-51
-148
0
-93
-102
-97
-92
33
0
0
0
20
6
54
49
-4
-54
-29
-85
-119
-45
-6
17
45
-10
7
0
0
122
63
-11
34
9
-39
-45
-22
21
40
50
-3
-78
35
-17
0
0
59
4
60
-72
-59
-5
10
-6
40
-20
33
-8
110
48
2
-2
0
-1
22
124
13
-3
-8
89
25
55
-28
-18
34
-57
-4
-2
0
0
16
62
51
-87
27
48
-25
32
112
-13
-38
42
4
-9
1
0
0
-37
47
-12
47
29
-44
3
0
-1
62
-28
-8
-8
-3
0
0
0
4
28
40
-92
-49
9
27
-33
3
64
7
0
-1
0
0
0
0
0
-5
-1
-40
7
16
-42
0
-1
-6
0
0
0
0
0
0
0
-33
-21
18
-105
-44
9
33
-135
0
-130
-24
-14
2
0
0
0
0
59
-29
-49
10
-7
53
7
-109
-51
-120
-16
-79
-79
0
-1
0
0
-6
-110
22
-60
-122
-11
-63
-10
-26
40
-38
-13
0
-1
0
0
0
-27
-2
-33
-59
-77
-37
-78
-66
23
-44
10
-15
1
0
0
0
0
4
-9
57
-44
-61
-30
-90
-31
-4
-36
-88
3
-1
0
0
0
0
26
3
21
5
-55
-43
-57
49
-1
-51
-49
19
0
0
0
0
0
0
18
-16
-44
-61
10
-69
-72
7
78
-4
-4
0
0
0
0
0
0
-16
20
4
-50
17
-2
28
-1
29
17
0
0
0
0
0
0
0
-1
9
0
10
-8
24
43
8
-1
1
0
0
0
0
0
0
-23
5
-38
-22
-52
-56
-126
-120
0
-45
43
-22
0
0
0
0
0
5
-196
-18
-5
-118
-25
-23
-158
-108
-17
11
-20
0
0
0
0
0
-24
-66
-62
-37
-127
16
-152
-20
29
-28
-9
-21
0
1
0
0
0
-40
-46
82
-64
9
43
-49
-44
-65
12
-17
3
0
0
0
0
0
-12
-62
-24
-25
24
25
-74
-107
-79
-84
-63
-45
3
0
0
0
0
0
-19
4
57
-27
-30
-8
73
-30
-6
4
2
1
0
0
0
0
-2
-52
0
-10
-14
16
-7
-35
53
-66
-22
3
0
0
0
0
0
0
8
-1
32
28
56
52
28
-99
7
8
0
-2
0
0
0
0
0
0
-3
0
6
-5
14
-53
147
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
44
-73
-97
-25
4
0
0
0
0
0
0
0
0
0
0
71
59
1
-3
-31
-112
86
0
0
0
0
0
0
0
0
0
0
33
103
85
0
-50
-19
4
0
-1
0
0
0
0
0
0
0
0
77
-10
66
73
19
3
0
1
1
0
0
0
0
0
0
0
0
-32
85
24
49
70
-1
0
0
3
0
0
0
0
0
0
0
0
-8
39
62
-9
-22
-8
1
0
0
0
0
0
0
0
0
0
0
-5
35
91
66
31
-1
0
0
0
0
0
0
0
0
0
0
0
1
15
-39
-17
-3
2
0
0
0
0
0
0
0
0
0
0
0
68
27
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
44
28
26
4
66
8
0
0
0
0
0
0
0
0
0
0
58
28
23
36
-22
94
-24
0
0
0
0
0
0
0
0
0
0
29
-52
110
90
21
46
-5
3
0
2
0
0
0
0
0
0
0
94
-24
-36
38
-13
15
15
-1
0
0
-1
0
0
0
0
0
0
16
26
-39
-18
-51
-52
4
-1
-1
0
0
0
0
0
0
0
0
43
-9
40
26
32
5
-5
1
0
0
0
0
0
0
0
0
0
7
123
48
-52
30
-1
0
0
0
0
0
0
0
0
0
0
0
2
55
77
-6
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
15
0
0
0
0
0
0
0
0
0
0
0
0
21
32
50
100
-9
-46
-16
0
0
0
0
0
0
0
0
0
0
27
21
6
9
-42
23
-37
0
0
0
1
0
0
0
0
0
0
40
33
22
90
41
-54
-6
2
-2
-3
2
0
0
0
0
0
0
33
-10
1
81
-17
51
7
1
0
2
0
0
0
0
0
0
0
5
4
11
-8
43
-30
2
0
0
0
0
0
0
0
0
0
0
-1
24
-31
13
-2
1
1
0
0
0
0
0
0
0
0
0
0
19
68
-7
69
35
8
0
0
0
0
0
0
0
0
0
0
0
0
6
4
79
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
58
66
52
0
-103
-94
0
0
0
13
1
0
0
0
0
0
-10
18
121
5
-15
-97
-104
0
0
0
55
1
0
0
0
0
0
44
54
52
71
88
-23
-51
44
24
75
-16
3
5
0
0
0
0
141
23
62
-64
12
-12
79
-6
3
17
-12
0
0
0
0
0
0
-47
130
25
57
36
-6
-18
-41
-25
-32
-19
1
0
0
0
0
0
19
-16
-9
101
39
23
74
59
102
-12
-8
0
0
0
0
0
0
32
59
53
51
-4
70
-31
108
55
-29
0
0
0
0
0
0
0
-3
7
145
-9
-18
-69
-4
19
36
0
-1
0
0
0
0
0
0
25
7
12
33
14
8
0
0
-3
0
0
0
0
0
0
0
0
-12
-21
89
-51
-33
-86
-55
0
0
0
-3
9
0
0
0
0
0
6
78
143
75
20
-54
-77
0
0
0
25
0
0
0
0
0
0
-2
63
-105
59
18
-40
-54
-95
-39
47
7
0
0
0
0
0
0
-2
-54
108
50
53
52
-58
-33
-93
-33
17
-1
0
0
0
0
0
35
97
-19
205
112
164
93
-7
37
9
7
4
0
0
0
0
0
18
-52
82
19
58
86
-24
-32
41
7
-4
-2
0
0
0
0
0
-79
73
-1
-8
111
89
42
5
-27
30
-3
1
0
0
0
0
0
-4
61
33
60
20
17
6
-38
-8
29
0
0
0
0
0
0
0
4
52
-11
13
-2
1
-6
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
43
-26
10
66
-28
-83
0
0
0
18
-47
14
-18
-9
5
0
38
97
98
52
84
-60
-88
0
0
0
9
13
22
27
9
7
0
125
-25
118
127
8
56
-9
-82
-27
-35
33
38
-11
57
-4
-2
0
84
53
-25
18
92
61
75
113
17
14
43
39
0
3
-24
0
0
0
4
104
144
66
24
40
64
112
40
90
-3
-34
3
9
-6
0
53
65
33
82
-20
45
69
18
113
24
36
-46
15
6
0
0
0
-5
39
60
39
28
32
22
23
86
-20
-23
0
4
-2
2
0
0
6
0
35
-45
45
-39
4
2
-37
-41
13
-3
0
1
-14
0
0
0
1
-4
-2
-6
0
-1
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-59
-43
74
40
0
0
0
23
-32
59
-46
-9
-55
33
0
-4
34
-12
-81
91
53
0
0
0
59
21
24
-64
-22
-24
6
0
3
-11
71
-77
28
77
19
48
51
-31
17
10
-22
-8
37
39
0
-13
-31
32
66
-13
54
7
-2
59
37
-19
13
-71
13
17
40
0
-6
-88
38
-37
-39
39
34
30
-3
-9
39
18
68
-52
-68
5
0
2
-30
34
16
-27
-50
19
15
-10
18
6
-21
152
-65
-28
-6
0
0
5
-27
-26
24
-7
47
39
35
25
40
4
-29
14
-1
20
0
-1
-9
-5
56
40
-1
25
39
18
-12
16
-61
7
-24
-56
-27
0
0
2
20
1
6
14
61
-14
36
13
24
72
-24
-82
20
-19
0
0
54
57
100
-1
69
0
0
0
33
-24
-41
-24
22
-27
1
0
0
-38
103
-33
4
57
0
0
0
18
-2
2
-14
9
29
-8
0
0
-49
86
32
20
34
13
32
8
12
7
26
-104
24
-12
0
0
0
65
-44
14
45
-12
12
6
14
5
39
5
-25
43
-35
0
0
0
37
3
34
-26
36
25
30
26
-15
20
25
-5
-65
38
27
0
0
80
19
-11
15
51
-3
-27
10
38
-3
-1
-118
71
-22
-33
0
0
-41
45
-27
-33
15
60
-39
16
49
-47
18
-38
-51
-30
-1
0
0
-1
41
-30
5
-29
66
49
14
78
53
31
5
-17
44
46
0
0
11
14
-30
29
53
-15
14
-13
-2
0
0
4
0
0
0
22
62
-42
17
143
-80
-1
0
0
0
32
35
9
-18
0
0
0
21
77
52
-21
81
60
-76
0
0
0
-68
-10
-27
48
5
-1
0
61
167
39
-61
39
129
-52
-47
1
-60
66
-10
11
12
8
0
0
84
62
89
-51
0
81
90
88
61
22
47
25
-89
-45
-5
0
0
38
77
-41
96
22
35
12
74
114
21
108
4
-2
-36
13
-2
0
-27
147
66
14
104
67
-9
52
60
87
16
37
3
5
7
0
0
-41
65
7
-65
-12
-73
50
73
1
38
5
0
4
0
-2
-1
-1
75
5
20
-3
-7
24
19
55
81
-23
5
-3
-1
1
17
0
0
0
-4
2
-21
54
2
5
5
-2
-1
3
-2
0
0
0
0
0
-36
103
30
43
4
-41
12
0
0
0
39
22
0
0
0
0
0
89
91
30
-95
21
-10
36
0
0
0
29
-85
-2
0
0
0
0
152
49
32
19
-22
51
-22
46
-73
76
-92
13
-2
0
0
0
0
18
106
49
-2
-5
7
-130
-51
-13
-19
34
-27
-1
0
0
0
0
-3
-7
0
51
-92
-54
90
11
82
-28
-8
-20
9
-1
0
0
0
21
57
12
73
54
37
31
-19
-7
-5
-15
23
-2
0
0
0
0
11
-9
12
17
14
-15
102
-2
84
-60
18
0
0
0
0
0
0
-16
38
22
12
27
5
98
106
50
36
-5
0
0
0
0
0
0
1
-1
-1
-4
43
0
42
33
6
3
0
0
0
0
0
0
0
-7
55
-23
-41
54
-78
-5
0
0
0
44
-60
-10
0
2
0
0
-36
-3
-61
18
18
-70
-37
0
0
0
64
2
-91
-9
0
0
0
78
-64
-1
89
22
-36
-135
1
13
56
30
12
29
4
-1
0
0
30
59
21
12
20
34
-16
-50
40
127
103
75
-26
4
0
-3
0
53
-22
-22
7
118
44
-51
24
-99
72
54
27
27
-3
-2
0
0
6
-32
-17
75
51
90
90
6
27
60
72
7
-1
1
0
0
0
-32
-46
33
12
-42
102
70
57
65
63
-14
47
3
-7
0
2
0
1
40
-3
22
74
94
74
23
120
2
-16
5
1
1
0
0
0
9
-13
0
1
4
7
13
-11
55
-9
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-58
5
-48
-73
-8
-2
0
0
0
0
0
0
0
0
0
0
-41
-113
32
-32
-60
-25
-29
0
0
0
0
0
0
0
0
0
0
9
8
-84
4
50
17
1
0
0
0
0
0
0
0
0
0
0
-15
-7
-2
-55
-16
-17
-1
0
1
0
0
0
0
0
0
0
0
2
-46
45
-7
-6
5
1
0
0
0
0
0
0
0
0
0
0
16
76
-42
10
13
-4
0
0
0
0
0
0
0
0
0
0
0
20
37
40
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
-63
-18
-5
1
0
0
0
0
0
0
0
0
0
0
0
-41
3
20
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
-22
24
-22
-35
38
-4
0
0
0
0
0
0
0
0
0
0
0
-40
-42
-75
-66
8
24
-22
0
0
0
0
0
0
0
0
0
0
29
-22
-18
64
-19
-48
-5
2
-1
0
0
0
0
0
0
0
0
25
7
-10
26
103
35
-10
0
-2
-1
0
0
0
0
0
0
0
21
23
-92
-66
3
-48
-3
0
-4
0
0
0
0
0
0
0
0
33
-32
-89
-30
-14
-13
3
0
0
0
0
0
0
0
0
0
0
5
5
8
-42
-32
-8
0
1
0
0
0
0
0
0
0
0
0
-3
-39
6
-41
-9
0
6
0
0
0
0
0
0
0
0
0
0
-3
4
48
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
25
-34
34
-40
-143
-41
0
0
0
0
0
0
0
0
0
0
44
-3
-38
-18
29
-40
9
0
0
0
0
0
0
0
0
0
0
-49
1
72
-47
-17
-141
-6
0
1
0
4
0
0
0
0
0
0
-4
-5
-90
-45
-35
45
5
0
-1
0
0
0
0
0
0
0
0
-8
43
40
-95
-37
5
0
0
0
0
0
0
0
0
0
0
0
-6
-7
8
19
23
2
0
0
0
0
0
0
0
0
0
0
0
-2
44
-27
46
-2
3
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-27
-41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
47
12
-131
20
-42
0
0
0
2
-2
0
0
0
0
0
1
40
83
-39
-70
-60
-165
0
0
0
-1
0
0
0
0
0
0
-10
-13
50
40
-4
-56
-117
-124
-115
-3
0
0
0
0
0
0
0
7
12
26
23
-109
-94
-51
-10
-4
-2
0
0
0
0
0
0
0
-20
-10
55
9
-48
-13
-25
-14
-1
-2
6
0
0
0
0
0
0
2
-30
-30
-12
7
86
-13
6
1
-1
0
0
0
0
0
0
0
-2
-20
59
-29
2
6
-4
7
-1
-2
0
0
0
0
0
0
0
0
-12
-30
-3
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
24
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
-51
-56
-34
-48
-32
0
0
0
0
0
0
0
0
0
0
-55
-18
8
-22
-18
-85
-41
0
0
0
3
0
0
0
0
0
0
-21
-62
0
-74
16
-29
-34
-15
-3
-10
0
0
0
0
0
0
0
16
-12
-25
68
-12
-18
-21
-30
-3
-23
0
0
0
0
0
0
0
-44
-24
62
52
-48
10
48
13
-29
3
0
0
0
0
0
0
0
-31
22
57
46
-29
23
-1
-42
-2
-4
0
0
0
0
0
0
0
3
-20
-36
-24
-5
5
1
0
0
0
0
0
0
0
0
0
0
1
41
-38
-8
2
-1
0
0
-3
2
0
0
0
0
0
0
0
-1
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
42
-119
-86
-25
-78
-190
0
0
0
-86
-68
19
-35
-2
-1
0
20
-26
-8
-35
-70
-39
-161
0
0
0
-106
-17
-42
-27
-9
-5
0
28
-29
130
-70
31
-24
-63
-151
-165
-106
-76
-61
-91
9
-34
0
0
27
92
8
2
3
-13
18
-87
-10
-93
5
13
56
-30
-2
0
0
-13
-50
-86
-41
89
-67
20
-1
-1
67
36
36
-33
-8
0
3
0
-83
-21
-34
-54
52
24
-37
-18
-14
24
-21
66
-6
1
0
-3
0
-1
-1
45
-59
-8
-13
-56
17
36
-9
60
-3
0
-1
0
0
0
-22
43
0
12
-46
-3
-22
-2
-14
-10
-2
0
-7
0
0
0
0
-2
0
1
17
4
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
-6
-105
-37
79
0
0
0
20
-3
15
11
0
-124
-14
0
16
-38
7
-41
-23
-75
0
0
0
0
-20
-66
-48
-41
-27
-34
0
-21
-4
-27
-101
-80
-39
-49
-73
-34
-12
-100
-31
-10
-44
18
32
0
-30
-40
0
21
-87
-27
-93
-2
8
2
-5
3
9
-15
-13
-18
0
-23
-19
-23
20
-30
-109
-46
36
-56
47
-39
-23
-55
-15
29
7
0
-2
-25
-36
-69
31
10
-27
-24
-90
-47
-11
41
-52
-3
-7
-9
0
0
-57
-44
3
-2
6
-43
10
-12
-9
-22
13
-8
-48
-62
-32
0
0
-19
-14
-28
-126
9
85
-6
10
-29
17
-21
5
67
31
15
0
0
-12
-31
57
24
36
-10
9
6
-2
-57
-42
-11
-26
-38
-6
0
0
-61
-34
-12
-40
-53
0
0
0
1
-19
-37
-34
-26
-7
0
0
0
-89
39
-9
-56
-61
0
0
0
13
-37
-47
-78
-3
6
14
0
0
-40
4
-127
-76
-98
-88
-10
-10
25
3
-30
17
-72
6
1
0
0
-109
-35
-14
-15
-101
-12
-33
-53
-95
-3
-2
64
15
10
-10
0
0
30
-1
-62
0
-18
35
22
-61
-31
36
-71
-25
-19
20
-32
0
0
17
-58
45
-10
-54
27
18
33
5
-53
-27
17
5
-34
5
0
0
2
-29
-53
10
8
33
-38
-12
-44
-3
-31
-107
51
4
8
0
0
-8
0
48
-9
-6
-57
40
-22
-29
-14
15
-31
-3
-4
-48
0
0
3
-55
18
8
-49
12
19
-4
1
-1
0
-1
0
0
0
4
32
-34
-46
2
-68
-169
0
0
0
-109
-38
-7
6
0
0
0
45
-8
-36
-18
23
4
-206
0
0
0
-51
-83
-46
26
13
-4
0
-22
-69
-47
32
9
-36
-76
-64
-87
-56
-52
-85
-47
-45
-7
0
0
-55
-42
-103
11
-21
9
-9
-6
-75
-20
-29
-50
-71
8
-19
0
0
-51
31
-10
-45
-101
74
-52
-23
-19
2
-163
9
-28
-9
-12
0
0
-16
76
-40
8
-40
-44
-11
-52
-43
-11
5
4
0
0
0
0
0
15
4
-61
3
2
12
61
17
59
-35
21
-45
-16
0
0
-2
0
-7
-56
-41
-8
-76
-6
-15
-20
-19
5
4
-4
-1
-5
1
0
0
0
0
-7
24
-6
0
-2
0
0
2
0
0
0
0
0
0
0
67
-15
-22
51
-24
-38
-93
0
0
0
17
-25
-1
0
0
0
0
-53
-56
-12
-35
-92
-78
-144
0
0
0
-37
-49
3
-1
0
0
0
58
-20
67
-11
47
-120
-84
-150
-37
-73
-74
-10
-5
-1
-1
0
0
-8
-3
-55
0
-57
-13
-14
-35
0
-67
-62
3
0
0
0
0
0
-5
-22
9
-4
-34
-71
-7
-73
-12
-73
1
-12
0
0
0
0
0
-15
10
-4
-118
27
95
-36
16
74
34
-24
2
0
0
0
0
0
-2
0
2
36
50
14
51
-49
-22
1
0
1
0
0
0
0
0
0
7
21
8
5
-7
-54
-20
6
6
-2
-2
0
0
0
0
0
0
0
0
-1
7
0
2
-2
2
-8
0
0
0
0
0
0
0
-4
21
-12
2
6
-71
-40
0
0
0
62
-30
2
3
0
0
0
8
-8
-82
-72
-80
-60
-138
0
0
0
13
-49
0
1
0
0
0
4
-124
-5
-42
-47
-29
-133
-137
-102
-10
-102
-4
-27
2
3
0
0
4
-88
-14
-86
-33
-70
-58
19
-18
-42
-16
31
3
-3
0
0
0
2
36
25
-3
-19
27
-2
26
-57
-55
43
-55
7
0
0
0
0
4
-15
-7
-53
-56
31
-5
-62
46
52
-167
-4
-6
0
0
0
0
0
-8
1
9
-12
15
52
-2
-70
26
-8
8
0
0
0
0
0
0
-3
4
18
45
29
2
33
29
15
9
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
3
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
4
-5
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-24
-8
-8
17
12
0
0
0
0
0
0
0
0
0
0
0
1
5
-15
3
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
1
12
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
5
1
1
0
0
23
0
0
0
0
0
0
0
0
0
0
1
1
1
-45
25
-17
-29
0
0
0
0
0
0
0
0
0
0
0
-1
25
-9
12
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-16
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
32
-10
-4
-1
0
0
0
0
0
0
0
0
0
0
5
-1
-7
-30
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
6
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
6
-17
20
32
2
0
0
0
0
0
1
1
1
0
0
0
30
64
-8
-2
-17
-1
0
0
0
0
0
0
4
1
27
34
47
-21
24
-2
15
-13
3
0
0
0
0
0
0
-1
6
9
1
12
-10
-20
-6
17
-6
4
0
0
0
0
0
0
3
0
-7
-16
-6
-4
30
-16
-2
0
0
0
0
0
0
0
0
0
-2
6
-12
-8
5
0
4
5
0
0
0
0
0
0
0
0
0
0
2
-3
1
2
-2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
0
1
-4
-1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
10
7
0
0
0
32
-4
0
-2
0
-1
0
0
0
0
0
0
0
-6
-17
-11
-3
25
10
6
0
3
1
0
0
0
0
0
0
1
8
26
2
3
-3
-1
2
0
2
2
0
0
0
0
0
0
0
3
8
5
12
3
13
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
5
0
4
-1
1
0
0
0
0
0
0
0
0
0
-1
0
3
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
16
0
0
0
19
-3
67
30
11
29
15
0
0
0
0
-4
3
26
3
0
0
-7
30
15
38
30
-7
0
0
0
0
1
-2
8
18
21
-44
52
26
-32
66
69
30
81
-19
0
0
0
0
1
0
-3
-13
13
-28
25
67
78
57
60
94
65
0
0
0
1
0
3
-14
-7
-13
26
27
-17
56
29
-8
-2
-16
0
0
0
0
0
0
-6
-1
-17
-11
-25
5
5
65
29
-41
6
0
0
0
0
0
0
0
0
2
1
7
74
-41
-3
-29
-11
2
0
0
0
0
0
0
0
-4
-3
2
-3
-26
-33
-12
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
8
34
-53
18
8
-113
-55
0
0
0
0
0
0
0
-2
-6
0
6
-25
51
-13
21
5
3
0
0
0
0
0
-1
0
17
27
-21
-1
27
44
28
45
154
63
0
0
0
0
0
0
7
10
13
-5
-19
-29
-12
20
57
-29
-11
0
0
0
0
0
0
-2
-8
-15
-22
-27
17
35
-11
69
-20
-32
0
0
0
0
0
0
0
-1
-7
27
12
-8
3
-34
-25
-32
13
0
0
0
0
0
0
-2
1
-7
2
12
83
18
47
4
54
-18
0
0
0
0
0
0
0
1
1
-9
19
-12
20
-2
17
-2
11
0
0
0
0
0
0
0
0
-3
-3
1
24
-6
-7
-14
-6
0
0
0
0
0
0
0
-7
-9
0
-42
42
63
33
17
17
10
-6
0
0
0
0
0
0
-1
15
70
16
0
47
17
-1
-15
23
-3
0
0
0
0
1
0
-28
-17
-8
5
-8
6
-5
11
-26
-7
46
0
0
0
0
0
1
4
-16
-1
53
10
1
6
28
15
-29
10
0
0
0
0
0
0
4
5
2
11
74
-66
-5
14
4
69
42
0
0
0
0
1
0
-6
8
-26
29
-28
21
-16
-34
54
2
-34
0
0
0
0
0
0
0
-8
9
15
-16
23
25
-7
10
45
-22
0
0
0
0
0
0
1
0
2
25
-3
-11
11
46
-1
23
-10
0
0
0
0
0
0
0
0
0
0
1
0
5
12
5
0
0
0
0
0
-3
-1
11
16
41
0
0
12
60
-28
-13
-23
78
5
0
0
0
1
5
26
-3
0
74
0
45
40
18
54
101
-47
2
0
0
0
2
-11
-12
30
-25
17
27
68
7
78
19
14
50
50
0
0
0
0
0
9
-42
-36
3
-22
-21
-22
55
10
-11
18
31
0
0
0
0
0
7
5
16
5
-13
-29
56
29
-2
89
44
0
0
0
0
0
0
-3
1
7
16
-45
16
8
-73
80
-15
11
41
0
0
0
0
0
1
-2
-25
-14
26
-23
-1
-29
30
-32
7
7
0
0
0
0
0
1
3
-7
16
-3
6
7
-30
6
13
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
-10
3
0
0
0
0
0
0
0
4
6
21
0
-15
68
20
-37
1
6
27
10
0
0
0
0
0
0
25
0
-24
0
37
-4
37
-21
-48
-2
-3
0
0
0
0
0
4
-8
31
3
4
16
33
-17
13
-43
-1
-3
0
0
0
0
3
0
-8
-14
-18
8
46
-18
11
-1
-5
24
-9
0
0
0
0
1
0
-1
-1
17
-8
-10
28
-7
73
30
23
10
0
0
0
0
0
0
0
-1
1
0
29
20
5
25
-4
3
-1
0
0
0
0
0
0
0
0
0
5
10
-1
-10
15
-15
-5
0
0
0
0
0
0
0
0
0
-1
-1
0
-7
25
-1
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
52
-9
28
30
7
13
10
0
0
0
0
0
0
3
49
0
39
1
22
21
-19
4
13
32
0
0
0
0
0
0
1
36
-12
-7
8
40
5
21
-20
10
23
0
0
0
0
0
0
-1
25
-3
16
6
6
1
-30
33
15
2
0
0
0
0
0
0
0
1
-5
2
-3
8
26
-10
0
-16
-5
0
0
0
0
0
0
0
0
-14
3
-6
25
-13
21
-9
42
0
0
0
0
0
0
0
0
0
3
0
-1
2
3
12
-26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-4
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-33
1
16
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
14
22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-8
4
46
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
-3
-4
10
40
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
29
1
-20
27
0
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-14
46
-9
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
25
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-8
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
-1
14
8
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
2
-27
15
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-31
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
8
-15
-6
-19
5
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
11
1
-7
-3
-12
0
0
0
0
0
0
-1
0
6
0
0
0
-39
-6
5
3
8
-4
0
0
0
0
0
0
4
4
-21
-48
-41
-8
8
-43
-14
25
-1
0
0
0
0
0
0
-2
-3
-6
18
6
23
-4
-24
3
-1
-8
0
0
0
0
0
0
0
1
9
14
20
16
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
6
-8
0
-9
23
-7
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-23
-1
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
2
5
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
5
23
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
1
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-27
-20
-23
-54
-73
8
1
0
0
0
0
-3
-8
6
-8
0
0
-7
38
28
-48
-91
-16
-18
0
0
0
0
-1
-4
-6
29
1
-47
-8
-26
-42
-29
-20
-41
-94
0
0
0
0
0
0
5
10
-6
-28
-42
42
27
-26
-30
23
-74
0
0
0
0
0
8
9
28
5
43
-9
37
20
47
-27
-44
10
0
0
0
0
1
-6
-7
4
-18
10
28
6
-13
-4
-143
-36
-8
0
0
0
0
0
0
-3
-3
-4
16
37
26
-52
9
29
-74
1
0
0
0
0
0
0
5
3
-3
-3
5
13
-18
10
-15
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
24
1
-44
-25
-33
20
-12
0
0
0
0
0
0
0
15
-29
-34
-50
-40
-63
-98
129
-15
-32
0
0
0
0
0
0
1
2
2
-7
27
-44
5
6
-9
-54
-38
0
0
0
0
0
-4
-1
3
14
-8
-13
-5
13
45
-66
40
-9
0
0
0
0
0
0
0
-1
3
-17
-9
-12
28
-8
17
49
30
0
0
0
0
0
0
-1
0
6
10
-12
-30
-7
67
-6
3
-1
0
0
0
0
0
0
0
-1
3
13
-16
-13
4
-13
-39
-29
-44
0
0
0
0
0
0
0
-1
0
12
-7
3
23
-49
4
-32
-20
0
0
0
0
0
0
0
0
1
-5
-2
-1
-17
22
-33
-26
15
0
0
0
0
0
0
2
6
0
44
-41
-17
-24
7
0
-27
18
0
0
0
0
0
1
-1
3
-61
-16
0
-43
16
-13
-49
-74
2
0
0
0
0
0
0
-1
3
-42
-105
7
-49
-10
12
-37
-40
-15
0
0
0
0
0
0
9
-13
19
4
-27
54
-39
-4
-15
-44
-20
0
0
0
0
0
0
5
-12
-5
-14
1
-16
-8
34
4
32
-64
0
0
0
0
-1
0
-8
-8
12
-8
-7
0
17
41
12
-47
-67
0
0
0
0
1
0
2
0
15
10
-26
-16
18
-19
11
-1
-65
0
0
0
0
0
0
1
0
-4
-4
-30
-5
10
6
23
-5
10
0
0
0
0
0
0
0
0
0
0
-1
-4
-27
3
-2
0
0
0
0
0
2
0
-10
-3
-11
0
0
-66
-1
-36
-25
-51
-27
-40
0
0
0
0
3
-41
-1
0
-25
0
-117
-27
-17
-51
-54
-11
-10
0
0
-1
0
4
-22
24
88
-33
9
-116
4
-54
-123
-41
28
-6
0
0
0
0
0
5
15
4
-32
-48
-10
-6
-24
32
36
-28
-5
0
0
0
0
0
-1
2
13
42
40
51
29
38
23
-145
-34
18
0
0
0
0
0
0
6
5
3
12
4
53
-6
-10
26
24
-24
0
0
0
0
0
0
8
-9
-14
-13
25
37
47
42
18
-8
-2
0
0
0
0
0
0
-1
-3
-8
-1
6
30
-20
23
-4
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-3
0
0
0
0
0
0
0
-1
3
-32
0
40
-6
-29
10
-2
-47
-40
-3
0
0
0
0
0
-5
14
0
12
0
11
10
-10
-41
9
-8
17
0
0
0
1
0
-2
-3
0
3
17
2
6
-32
-15
13
-31
8
0
0
0
0
0
-1
-2
-8
-5
-18
9
-9
-31
-74
-51
-13
-5
0
0
0
0
0
0
-2
7
-5
8
19
-17
-12
-37
-1
-5
-18
0
0
0
0
0
0
0
-2
1
-2
3
28
-7
22
-17
-2
3
0
0
0
0
0
0
0
0
0
-3
3
6
28
-33
20
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
13
8
-23
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
-14
-19
-5
0
0
0
0
0
0
0
-1
-42
0
13
4
-25
-6
35
-22
-11
-12
0
0
0
0
0
0
0
13
8
-14
0
18
-3
-13
0
-45
8
0
0
0
0
0
0
4
4
0
23
3
5
-11
17
-16
-23
1
0
0
0
0
0
0
0
-2
-3
-8
10
7
-7
21
18
-2
0
0
0
0
0
0
0
0
-1
-6
6
4
-8
22
-19
-29
-23
1
0
0
0
0
0
0
0
0
0
-2
-1
-3
5
-22
-8
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
1
-10
34
0
0
5
0
0
0
0
0
0
0
0
0
0
1
-2
14
-18
9
12
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-12
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-7
10
6
19
0
0
30
0
0
0
0
0
0
0
0
0
0
0
-3
-24
-3
14
-41
16
0
0
0
0
0
0
0
0
0
0
0
2
-22
15
3
31
4
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
22
13
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-12
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
33
6
0
0
0
0
0
0
0
0
1
0
2
0
5
0
0
22
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
-41
12
22
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
7
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
4
23
-19
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
21
4
5
-7
0
1
0
0
0
0
1
4
19
-5
0
0
0
28
2
3
-9
3
1
0
0
0
0
0
0
3
4
-4
42
-7
74
10
-8
-9
-3
0
0
0
0
0
0
0
4
3
17
-20
23
12
25
7
-4
4
0
0
0
0
0
0
0
0
0
-3
-12
-2
31
-3
1
-14
2
0
0
0
0
0
0
0
-1
0
8
8
-7
-1
-1
-8
0
-2
0
0
0
0
0
0
0
0
0
1
12
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
48
-6
-1
0
0
0
0
0
0
0
0
8
4
-1
0
0
0
10
-3
0
3
0
1
0
0
0
0
-1
-3
12
39
41
84
4
41
8
-9
-3
1
0
-1
0
0
0
0
0
7
8
7
-14
-31
-5
31
5
-1
0
1
0
0
0
0
0
0
0
0
-10
20
6
-12
4
5
-8
0
0
0
0
0
0
0
0
0
-6
-4
7
29
0
0
-6
0
-3
0
0
0
0
0
0
-1
0
0
0
8
25
-2
-5
-1
2
1
0
0
0
0
0
0
0
1
3
4
6
1
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
18
8
49
53
50
63
22
0
0
0
1
-1
7
20
-8
0
0
64
-11
-1
38
58
91
12
0
0
-2
0
-1
0
0
-24
-79
-1
21
16
101
37
17
72
11
0
0
0
0
0
2
-4
-8
-11
-1
22
-46
55
20
42
-4
-40
0
0
0
0
0
-3
-2
-20
-19
27
-48
-7
9
34
33
27
6
0
0
0
0
0
0
4
1
12
0
10
-7
-15
41
-11
31
8
0
0
0
0
0
0
0
-1
9
-8
-16
2
-15
21
5
6
-5
0
0
0
1
0
0
-1
0
-2
2
6
3
-17
13
1
0
-2
0
0
0
0
0
-2
0
0
-1
1
2
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-62
-45
-71
2
-64
-54
-65
0
0
0
0
0
0
-2
-4
3
11
24
-28
-11
48
34
76
12
0
0
0
0
0
0
0
5
-4
-12
35
-15
56
2
7
-24
11
0
0
0
0
0
0
-2
0
3
1
11
30
12
-11
11
14
7
0
0
0
0
0
0
0
7
-5
2
-22
33
-4
39
-21
28
79
0
0
0
0
0
0
0
7
0
1
-15
-2
-35
24
-41
-22
106
0
0
0
0
0
0
0
1
-7
-7
-5
-7
-9
20
36
26
10
0
0
0
0
0
0
0
0
3
3
13
40
21
29
24
35
31
0
0
0
0
0
0
0
0
-3
-4
32
-24
12
-5
7
15
11
0
0
0
0
0
0
8
35
0
-35
-6
43
-26
0
44
-17
-14
0
0
0
0
0
0
2
-7
8
16
0
47
-43
2
-34
6
38
0
0
0
0
0
0
6
12
-16
-17
-12
16
0
18
-13
-24
42
0
0
0
0
0
0
-4
13
20
21
-53
90
-59
35
-23
49
37
0
0
0
0
0
-1
0
2
-14
-11
-7
17
-83
9
84
18
-12
0
0
0
0
0
0
0
2
-2
-1
28
5
-3
56
67
93
-4
0
0
0
0
0
0
0
0
-6
6
0
-30
72
48
34
0
31
0
0
0
0
0
0
0
0
-1
-13
4
-5
-7
-34
-5
23
-12
0
0
0
0
0
0
0
0
0
-1
-1
0
6
8
2
0
0
0
0
0
0
-1
0
40
15
0
0
16
64
48
49
-21
32
23
0
0
0
0
-5
-8
-65
0
-37
0
-2
8
58
72
64
-3
21
0
0
0
0
1
-8
3
-31
-63
54
14
-11
31
105
7
13
8
0
0
0
0
0
0
7
-5
-7
-56
-27
-52
-13
-39
101
-16
-34
0
0
0
0
1
3
-4
2
16
31
41
33
11
71
53
6
-3
0
0
0
0
0
0
-5
40
-10
42
11
35
-35
26
60
9
-6
0
0
0
0
0
0
0
0
2
-25
3
-50
-12
5
8
-5
-2
0
0
0
0
0
0
0
-1
-8
-9
-9
-2
-8
-5
-2
4
1
0
0
0
0
0
0
0
0
2
1
13
1
1
0
1
0
0
0
0
0
0
0
0
1
2
0
-6
-15
8
21
-8
13
19
-9
0
0
0
0
0
-1
-2
0
24
0
17
41
10
-3
-1
44
-8
0
0
0
1
3
1
-5
-5
3
-17
32
32
-48
8
17
19
-10
0
0
0
0
0
0
-5
13
24
-4
-17
-8
49
21
5
-10
0
0
0
0
0
0
0
-1
-2
9
16
6
-18
25
31
-9
30
-5
0
0
0
0
0
0
0
0
0
7
12
-6
-5
2
24
2
3
0
0
0
0
0
0
-1
0
0
1
2
4
8
-8
4
8
0
0
0
0
0
0
0
0
0
-3
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-27
-9
19
4
48
25
1
0
0
0
0
0
0
25
6
0
-6
23
12
-4
8
10
58
32
0
0
0
0
0
0
0
4
20
2
-3
14
-6
6
26
43
3
0
0
0
0
0
0
1
16
4
20
-5
15
55
25
2
62
-18
0
0
0
0
0
0
0
4
-27
6
12
-13
3
17
-26
47
3
0
0
0
0
0
0
0
0
0
7
8
7
9
-23
1
5
4
0
0
0
0
0
0
0
0
5
-2
16
5
8
-1
4
-4
2
0
0
0
0
0
0
0
0
3
1
1
0
1
-2
8
1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
0
-6
-8
1
89
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-24
-12
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
16
0
0
0
0
0
0
0
0
0
0
9
9
-5
-62
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
6
-5
-1
-3
-7
-6
0
0
0
0
0
0
0
0
0
0
-3
0
-3
8
8
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-17
22
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
0
-1
3
-7
0
0
14
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
32
-28
-19
-9
-9
0
0
0
0
0
0
0
0
0
0
0
2
-6
-12
8
-10
-8
0
0
0
0
0
0
0
0
0
0
1
0
-18
30
3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
4
1
0
0
0
0
0
0
0
0
-1
-4
0
0
0
-33
12
-5
1
-3
0
0
0
0
0
0
0
-1
-1
7
-23
-9
-8
-5
0
1
-1
0
0
0
0
0
0
0
-2
0
1
-1
8
9
20
-2
-3
-2
0
0
0
0
0
0
0
0
1
1
-4
17
0
-1
0
-8
0
0
0
0
0
0
0
0
0
1
5
8
-3
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-5
-18
-102
-17
10
0
-1
-1
0
0
0
0
0
0
0
0
0
1
3
0
-5
27
3
-2
3
0
-1
0
0
0
0
0
0
0
3
0
-3
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-7
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-9
0
0
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
-57
-43
-9
-34
-11
5
-1
0
0
0
0
1
8
-13
13
0
0
-24
-10
24
12
-6
-71
1
0
0
1
0
-3
3
0
-16
-10
-34
24
6
-17
-47
21
-13
21
0
0
0
0
0
1
13
0
-33
-4
-19
2
-4
-61
-105
34
-1
0
0
0
0
0
-1
3
5
2
1
-1
43
-9
43
-7
-108
21
0
0
0
0
0
0
1
-6
-3
18
15
-24
-2
9
18
23
-2
0
0
0
0
0
0
0
-15
1
-4
1
-22
-7
6
-22
-23
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
3
0
-5
0
0
0
0
0
1
0
0
-2
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-4
17
56
108
5
78
2
0
0
0
0
0
0
0
2
26
-26
-21
-20
-34
2
-6
-87
-11
0
0
0
0
0
0
-1
-3
1
-14
9
16
-32
-7
-21
-68
-7
0
0
0
0
0
0
-1
-4
0
20
-19
-27
47
-6
-5
-31
-4
0
0
0
0
0
-2
0
1
1
0
-25
-39
5
18
12
-33
-20
0
0
0
0
0
0
0
-8
4
3
-3
-17
30
-1
-46
-27
-95
0
0
0
0
0
0
0
-2
-4
3
0
4
32
-20
-55
-101
21
0
0
0
0
0
0
0
-1
-4
-5
12
3
-21
-3
-79
-34
29
0
0
0
0
0
0
0
2
-1
5
-7
18
-5
-1
29
-44
-12
0
0
0
0
0
0
1
9
0
-14
4
-21
-3
-8
-47
-43
15
0
0
0
1
0
0
-6
-1
-30
14
0
-43
-42
-40
-32
24
8
0
0
0
0
0
0
-4
1
8
13
-41
-3
-48
-28
10
-33
-68
0
0
0
0
1
1
2
-7
-14
-23
24
63
42
11
-44
-6
15
0
0
0
0
0
0
0
-2
9
-10
15
62
21
-7
-14
-31
4
0
0
0
0
0
0
1
0
-22
-12
-8
7
-46
-16
-77
-75
21
0
0
0
0
0
-1
0
0
-4
10
0
-28
6
-51
51
11
29
0
0
0
0
-1
0
0
0
5
9
-2
3
-7
-22
3
-5
-90
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
2
0
0
0
0
0
0
0
1
0
-83
0
0
22
-40
-12
21
-11
14
-25
0
0
0
0
-1
-17
-8
0
-27
0
24
41
-51
-80
-8
2
-26
0
0
0
1
0
-2
5
-11
-40
-112
-54
14
-31
-62
-5
47
-20
0
0
0
0
0
0
-12
-2
4
-16
-8
-11
11
-19
-8
13
0
0
0
0
0
0
-2
8
-7
-52
-6
12
-8
-55
21
-4
5
-14
0
0
0
0
0
0
0
-8
-33
-14
7
-5
55
42
-21
2
-5
0
0
0
0
0
0
0
0
2
24
20
0
-3
-7
-21
-5
-1
0
0
0
0
0
0
0
3
1
5
-4
8
8
-2
8
13
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
1
0
0
0
0
0
0
0
0
-1
0
0
-14
4
3
15
-8
9
-7
0
0
0
0
0
0
1
-7
0
-3
0
-15
-8
-47
-26
-3
-4
-1
0
0
0
0
0
-1
-2
-5
-1
-8
1
-31
-8
7
-14
-7
8
0
0
0
0
1
0
-1
4
3
8
-1
-30
-16
42
-6
0
9
0
0
0
0
0
0
-1
-1
-8
-4
9
-30
18
-14
12
4
-12
0
0
0
0
0
0
0
0
-2
1
5
3
8
15
-7
24
1
0
0
0
0
0
0
0
0
-1
0
3
-6
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
2
0
0
0
-41
-3
15
13
40
24
6
0
0
0
0
0
0
0
5
0
-17
-8
-51
13
10
-11
7
-40
0
0
0
0
0
0
0
5
5
-3
-19
30
0
-24
31
8
-5
0
0
0
0
0
0
-1
1
-3
20
-10
0
9
-12
-9
19
9
0
0
0
0
0
0
0
-14
4
-1
0
-8
4
-10
-14
-8
5
0
0
0
0
0
0
0
-2
-2
0
2
-7
-4
18
-5
24
27
0
0
0
0
0
0
0
0
-1
0
0
3
4
-12
-16
-5
0
0
0
0
0
0
0
0
0
-4
0
1
3
1
4
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-6
5
7
3
-1
0
0
0
0
0
0
0
0
0
8
41
5
-6
4
-4
-12
-1
0
0
0
0
0
0
0
0
0
1
27
7
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
-34
-7
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
31
-22
22
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
9
14
-4
-3
-2
5
0
2
0
0
0
0
0
0
0
4
-1
-6
47
7
-6
-8
-3
8
2
0
0
0
0
0
0
0
-1
-41
30
-2
-3
12
4
0
-1
1
0
0
0
0
0
0
0
-1
6
-8
-19
-12
7
0
1
0
0
0
0
0
0
0
0
0
4
17
16
-34
0
-13
-2
0
0
0
0
0
0
0
0
0
0
1
5
-8
13
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
5
5
-3
5
-19
0
0
0
0
0
0
0
0
0
2
-1
-15
13
1
12
3
4
-7
0
0
0
0
0
0
0
0
-1
-8
-18
-13
-19
-1
0
1
0
0
0
0
0
0
0
0
0
-1
-14
18
30
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
2
9
30
4
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
22
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
10
12
3
13
-2
0
21
0
1
0
0
0
0
0
8
1
13
5
23
18
7
25
-52
-15
0
0
0
0
0
0
0
0
-10
-6
-10
-29
19
9
-5
-8
-5
0
-1
0
0
0
0
0
8
8
-4
33
25
-1
5
12
13
3
0
0
0
0
0
0
0
0
-4
-10
18
4
-1
13
-1
0
0
0
0
0
0
0
0
0
1
-2
2
-1
-5
17
0
4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
30
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
1
-2
7
7
-13
0
0
0
0
0
0
0
0
0
-3
0
7
18
10
9
13
1
3
0
0
0
0
0
0
0
0
3
7
19
7
29
1
-5
0
-2
1
0
0
0
0
0
0
0
-8
13
10
4
-10
0
10
-3
2
0
0
0
0
0
0
0
0
2
-14
31
-1
-1
2
-2
-1
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
8
-3
-4
0
1
0
0
0
0
0
0
0
0
0
1
-1
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-13
-56
-14
21
34
13
0
-10
17
5
1
0
0
0
0
25
61
23
25
84
57
2
4
-52
-6
-1
14
10
0
1
0
0
-15
-13
-6
-28
35
5
53
46
-71
55
51
-3
9
1
0
0
0
-14
23
-9
-23
21
51
-11
2
6
98
60
36
-1
1
0
0
0
4
-15
20
34
40
52
17
71
17
38
28
20
-1
0
0
0
0
0
-10
18
-16
10
-16
-10
42
15
-13
13
-4
0
0
0
0
0
0
29
-12
-7
-16
-19
-1
-12
8
-6
-7
0
-1
0
0
0
0
0
2
-4
-4
-7
-1
7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
32
47
19
-31
-44
0
11
-13
15
0
0
0
0
0
0
1
-3
48
-17
48
-23
35
63
-10
16
-9
13
-1
-1
0
0
0
-1
-8
0
3
6
6
2
38
8
23
-12
6
2
0
0
0
0
0
6
-33
17
-11
32
62
41
-17
-3
2
3
0
0
0
0
0
0
-1
-13
3
-42
-38
3
-25
53
-31
-6
1
0
0
0
0
0
0
6
14
9
-2
51
-16
-10
46
-2
1
7
0
-2
0
0
0
0
4
10
-25
-14
2
19
5
7
5
1
2
-1
0
0
0
0
0
0
7
9
5
-8
-1
30
10
41
-1
-5
0
1
0
0
0
0
0
0
-1
0
5
3
-2
39
-24
-1
6
0
0
0
0
0
0
-8
-6
49
81
68
15
0
64
15
27
3
0
1
0
0
0
0
7
-38
29
38
44
86
9
-29
5
-21
0
2
0
0
0
0
0
-30
4
52
42
-6
35
-48
43
-19
2
-19
7
0
0
0
0
0
-30
12
7
-18
66
-2
13
6
1
21
6
-3
3
0
0
0
0
-4
-16
-5
103
42
17
-2
39
25
15
22
7
0
0
0
0
0
-2
-20
-8
35
37
73
26
4
-22
8
-20
1
0
0
0
0
0
-1
-1
31
8
4
-23
19
5
-20
6
24
-1
0
0
0
0
0
0
9
29
-33
-8
11
13
-8
5
-5
-6
0
0
0
0
0
0
0
0
14
0
-22
14
-4
-1
0
0
0
0
0
0
0
9
19
-19
27
4
4
34
-36
0
-16
8
33
-3
0
0
0
0
-6
7
29
59
74
27
-34
3
-12
5
0
27
15
-4
0
0
0
-38
51
-22
24
-34
42
48
43
-22
38
11
30
-4
-3
0
0
0
-10
74
41
-1
52
38
13
-23
52
42
8
9
0
-1
0
0
0
14
62
50
2
25
25
-9
15
-6
12
44
5
3
2
-1
0
0
12
6
-2
4
21
8
-10
26
-4
12
23
8
0
2
0
0
0
1
8
-15
1
-4
-22
2
50
3
-7
-3
1
0
0
0
0
0
0
-1
-3
-7
6
8
-17
-6
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
5
6
-5
-1
41
24
-29
3
0
-7
-1
5
-1
0
0
0
0
4
13
41
8
48
4
72
-22
33
5
2
1
6
0
0
0
0
17
21
12
1
10
8
-70
15
25
-36
9
-1
0
0
0
0
0
-8
-9
2
-6
33
2
30
11
70
21
-2
1
0
0
0
0
0
19
1
-18
-32
24
-8
16
32
-11
13
0
1
0
0
0
0
0
0
-5
-20
32
-31
9
21
-12
-16
1
1
0
0
0
0
0
0
0
0
10
0
29
-25
-13
32
-3
-1
1
0
0
0
0
0
0
0
0
-2
2
0
23
-4
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-20
5
5
22
-7
30
0
-13
3
0
0
0
0
0
0
8
10
-15
3
7
10
30
23
-35
41
0
1
0
0
0
0
0
-2
10
40
7
-10
1
29
-11
-25
29
2
-2
0
0
0
0
0
8
48
-8
0
-8
-7
12
44
9
13
9
0
0
0
0
0
0
0
-7
5
19
-7
-5
23
18
-6
2
-2
1
0
0
0
0
0
0
4
4
8
8
-8
2
-4
10
13
0
0
0
0
0
0
0
2
0
5
-3
6
16
17
10
3
-7
-2
0
0
0
0
0
0
0
0
0
0
-1
-6
1
5
20
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
10
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
22
-31
3
-5
-2
-4
0
0
0
0
0
0
0
0
0
-1
-12
23
15
-3
0
4
-24
5
1
0
0
0
0
0
0
0
2
-4
-38
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
22
2
7
3
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-25
-18
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
-7
-5
29
0
4
0
0
0
0
0
0
0
0
0
15
-16
-58
16
0
-19
4
-18
17
-7
0
0
0
0
0
0
0
2
-30
-12
-7
15
28
16
2
1
1
0
0
0
0
0
0
0
-12
18
45
45
14
-3
0
0
0
0
0
0
0
0
0
0
0
1
5
5
55
15
-14
-5
0
0
0
0
0
0
0
0
0
0
0
-7
8
13
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
4
-4
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-9
-32
-17
6
-8
3
0
-1
0
0
0
0
0
0
0
0
-12
-47
-18
-5
8
4
19
6
-4
0
0
0
0
0
0
0
-1
53
14
-6
28
8
-7
0
0
0
0
0
0
0
0
0
0
0
30
-22
-8
-12
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
-20
7
7
-3
-43
0
-8
0
-2
0
0
0
0
0
-3
-13
-59
27
-9
-3
1
-72
-44
-51
0
0
0
0
0
0
0
-8
-5
-14
-8
18
18
41
-3
4
0
0
0
0
0
0
0
0
2
17
-3
27
-6
1
-22
13
-4
-4
0
0
0
0
0
0
0
0
0
4
-1
10
10
7
-8
0
0
0
0
0
0
0
0
0
-2
-3
5
27
1
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
8
5
-1
0
-3
-5
0
0
0
0
0
0
0
0
0
1
-3
16
20
-3
-8
2
-7
1
2
0
0
0
0
0
0
0
0
9
30
-10
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
-6
0
18
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
5
-7
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-20
6
25
-26
57
-186
0
-97
-20
-2
-5
6
0
0
0
-1
13
-1
3
-42
-21
37
-128
-57
-42
-14
-5
-7
-5
-2
0
0
16
22
-10
-64
-25
53
-12
30
82
56
-5
8
-34
8
0
0
0
13
7
-33
11
-18
-90
21
67
54
22
-59
-2
7
3
0
0
0
23
6
-19
-53
-13
3
-41
2
-3
-2
19
-24
8
0
0
0
0
4
-10
41
25
-8
27
-28
-5
-37
17
-4
-7
0
0
0
0
0
0
-3
-13
2
-20
-5
12
-17
3
1
1
1
0
0
0
0
0
0
0
4
17
7
2
-6
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
-29
7
-47
59
0
-55
-41
-18
-18
1
0
0
0
0
0
13
26
0
-67
7
-12
35
-17
-46
-46
-12
-3
0
0
0
0
0
-12
2
-6
8
-30
-53
22
3
-9
24
-12
5
0
2
0
0
0
0
2
-71
-5
-43
7
-24
13
-11
-21
0
-2
0
0
0
0
0
-1
34
-9
19
-33
-1
46
10
23
-2
5
8
0
0
0
0
0
-3
0
-24
-4
-9
-14
-22
18
3
1
2
0
1
0
0
0
0
0
-9
-2
-8
-34
1
55
26
14
1
3
7
0
0
0
0
0
0
0
19
-4
15
27
-15
-8
-9
20
-6
-1
0
0
0
0
0
0
0
-1
-1
-2
7
29
-34
6
-12
-2
-1
0
0
0
0
0
-7
39
-85
-113
-20
-19
0
18
24
-21
43
0
0
0
0
0
0
12
18
99
-85
-27
-73
20
60
25
8
-19
7
0
0
0
0
0
-23
-43
-75
-19
-34
-57
62
-62
7
-32
0
-9
0
0
0
0
0
-12
-30
-28
-18
2
36
-76
-1
-25
18
0
8
-1
0
0
0
0
8
42
-11
-53
9
52
-56
-23
10
-8
-10
7
-2
0
0
0
0
0
-2
-14
-23
5
46
17
-16
13
10
-4
-3
0
0
0
0
0
0
-4
3
36
28
8
-11
-14
25
-21
0
-3
0
0
0
0
0
0
3
-48
12
-18
-40
-15
-13
-25
2
2
1
0
0
0
0
0
0
0
-6
1
5
5
-2
6
1
-2
0
0
0
0
0
16
30
-33
13
-15
-26
-50
-122
0
-61
-47
-26
1
-1
0
0
0
4
27
-87
-64
-19
-36
67
-38
-31
-80
-10
-8
-16
0
0
0
0
-6
24
-12
-60
-39
17
7
66
22
51
41
12
1
-1
-2
0
0
28
11
18
39
-78
38
2
-14
1
17
14
-39
8
0
0
0
0
-9
-51
16
8
-56
14
31
-1
32
-25
5
23
6
-4
1
0
0
-4
-31
11
31
9
25
21
-32
-14
2
-6
8
0
0
0
0
0
1
6
31
9
7
-5
-4
15
9
5
-17
-5
0
0
0
0
0
0
-2
-7
-8
-8
-7
-6
5
-4
-3
2
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
2
-8
8
-12
3
-25
-10
-32
0
7
-19
-8
1
0
0
0
0
-2
-6
2
6
16
38
-30
-18
-45
-25
3
0
3
0
0
0
0
3
-3
29
-1
45
1
46
14
-47
-10
-29
-2
0
0
0
0
0
-3
8
-31
-9
6
-32
7
-26
-27
-4
-1
-3
0
0
0
0
0
0
-7
15
21
-15
-20
-18
-40
24
8
0
0
0
0
0
0
0
0
1
-18
-12
-13
10
-13
-6
-6
1
-6
0
0
0
0
0
0
0
0
8
-1
8
13
-6
-12
9
4
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-13
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
3
-5
0
0
-10
-52
0
-14
-6
0
0
0
0
0
0
-1
-29
-41
-13
-10
15
-11
-13
-43
-18
-5
-5
0
0
0
0
0
5
1
16
2
0
12
-30
14
-11
-7
-12
3
-1
0
0
0
0
5
6
18
-17
22
8
3
25
-30
23
-2
1
0
0
0
0
0
4
-8
-7
5
-2
10
7
-9
-19
20
17
-10
0
0
0
0
0
-1
-1
1
2
-19
3
5
15
12
10
6
0
0
0
0
0
0
0
0
0
0
1
4
-14
-8
16
-5
2
2
0
0
0
0
0
0
-1
0
0
-1
-2
0
6
-36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-9
-5
-10
-3
0
0
0
0
0
0
0
0
0
0
0
4
13
0
18
-1
-9
5
0
0
0
0
0
0
0
0
0
0
1
41
-13
-19
0
-2
0
0
0
0
0
0
0
0
0
0
0
14
0
-10
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-1
6
13
-6
6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
17
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
10
8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
3
-6
-1
8
2
0
0
0
0
0
0
0
0
0
0
-2
15
15
1
8
13
-9
0
0
0
0
0
0
0
0
0
0
-5
-4
14
65
-9
7
0
0
-3
0
0
0
0
0
0
0
0
5
-9
-25
9
-1
-6
1
0
0
0
0
0
0
0
0
0
0
1
1
-21
19
7
-4
1
0
0
0
0
0
0
0
0
0
0
2
-1
-5
16
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
10
2
-5
6
0
0
0
0
0
0
0
0
0
0
0
18
40
-5
-31
-15
-5
0
0
0
0
0
0
0
0
0
0
2
-1
11
9
8
-10
1
1
-1
0
0
0
0
0
0
0
0
-1
0
2
11
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
2
-7
5
-16
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
3
3
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
13
4
12
7
-13
0
0
0
2
3
0
0
0
0
0
-6
-8
8
5
16
4
-3
0
0
0
1
0
0
0
0
0
0
6
4
6
27
43
-16
-18
-5
6
-4
0
0
0
0
0
0
0
12
43
40
-7
2
2
0
7
-6
0
0
0
0
0
0
0
0
0
6
-24
31
-7
5
8
3
3
0
2
0
0
0
0
0
0
-2
3
-13
24
10
-2
15
-3
2
0
0
0
0
0
0
0
0
0
4
29
1
-8
0
1
0
4
0
0
0
0
0
0
0
0
0
3
5
2
-3
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-10
0
-8
-3
0
0
0
0
-1
0
0
0
0
0
0
19
-10
65
5
1
16
-24
0
0
0
0
0
0
0
0
0
0
6
17
14
7
-2
-1
-2
-5
-16
9
0
0
0
0
0
0
0
4
5
8
18
-3
4
5
-10
9
0
0
0
0
0
0
0
0
19
34
42
51
16
20
5
2
0
-1
0
0
0
0
0
0
0
-9
2
29
-37
8
-3
-3
4
0
0
0
0
0
0
0
0
0
-3
8
33
42
16
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-4
0
-8
-2
5
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
16
-29
-14
28
18
0
0
0
-1
-39
22
1
1
1
0
13
9
0
-15
9
-31
49
0
0
0
-2
47
-14
-21
3
0
0
4
-15
49
-3
-15
121
85
71
32
-25
17
41
27
6
1
0
0
27
-14
-17
-63
-24
50
20
117
19
3
-20
11
-12
4
0
0
0
0
2
9
8
-5
50
26
14
1
14
43
-5
-5
0
0
0
0
0
-1
-1
-3
-17
15
-7
43
30
26
14
0
0
0
0
0
0
0
-1
-4
-4
-7
21
-12
-12
0
-15
-18
0
1
-1
0
0
0
0
6
3
-1
6
2
1
-7
7
-1
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-17
3
12
0
0
0
-20
-46
5
-2
-4
0
0
0
0
1
51
33
56
57
0
0
0
66
-12
52
35
4
-2
0
0
-1
-12
17
-4
-25
59
0
53
72
-46
-8
12
16
-1
-3
0
0
0
7
-12
8
-24
-4
35
1
-13
72
17
10
16
0
-2
0
0
0
-2
7
11
-21
28
-41
71
12
-19
48
6
16
-5
-3
0
0
0
0
-2
-30
9
-17
-28
-18
59
-43
16
20
12
-21
1
0
0
0
0
19
-13
9
-11
-11
81
76
13
43
-15
1
-2
2
0
0
0
0
9
-41
23
-7
-77
14
-25
41
4
-12
42
-6
-2
3
0
0
0
7
-9
9
0
17
-108
-19
-48
2
-1
-5
0
0
0
0
0
3
-1
27
30
77
0
0
0
55
-7
-17
-19
-3
0
0
0
0
19
24
30
-9
57
0
0
0
-43
31
11
-23
4
-4
0
0
0
38
65
-36
56
64
62
34
-6
39
20
10
6
-5
0
0
0
0
12
-1
-4
20
-18
19
9
39
5
-14
6
-12
2
-2
0
0
0
24
13
0
49
10
5
-38
46
28
-24
15
-13
-2
0
0
0
0
4
-5
-40
-6
88
-32
-32
86
14
-13
-42
-12
6
1
0
0
0
0
20
-33
34
-29
-31
29
7
12
17
-1
-5
-1
0
0
0
0
0
0
22
7
-27
18
-15
27
-47
-28
-7
-29
0
1
0
0
0
-2
-4
-5
9
13
-9
4
-2
-1
0
0
0
0
0
0
8
3
-13
-12
18
30
72
0
0
0
34
8
16
0
0
0
0
1
1
-59
7
42
95
18
0
0
0
20
2
-6
8
4
0
0
48
24
17
-50
-8
34
44
48
-39
44
-1
-12
-10
5
1
0
0
-8
12
35
-58
-19
21
-3
67
19
12
-2
-7
-21
0
0
0
0
10
13
17
-9
-56
63
29
56
2
44
-1
-6
-3
-2
0
0
0
0
19
3
14
-11
9
-4
-74
21
19
7
2
1
-2
0
0
0
-5
-17
10
-10
30
0
-15
-4
-18
-7
-2
0
1
0
0
0
0
0
-2
-12
-12
-16
4
12
-1
9
-6
2
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
-5
-9
40
-3
-18
0
0
0
-6
6
0
0
0
0
0
10
-2
15
-5
8
14
9
0
0
0
37
2
-1
0
0
0
0
9
6
-18
-2
-16
34
60
6
-45
64
-30
4
-1
0
0
0
0
-1
-12
-18
-44
13
27
-49
0
-1
18
8
-2
0
0
0
0
0
2
-4
12
41
17
8
23
10
9
1
4
2
0
0
0
0
0
-3
10
10
-2
15
18
29
22
-29
5
1
0
0
0
0
0
0
0
0
2
0
-8
10
-5
-9
17
7
0
0
0
0
0
0
0
0
0
0
1
-2
5
-4
0
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
4
-16
13
10
6
0
0
0
1
16
0
0
0
0
0
-7
3
22
8
-59
34
-34
0
0
0
42
-13
1
-1
0
0
0
12
-33
-3
13
14
-23
9
34
-41
15
-4
-8
6
0
0
0
0
1
21
23
-4
-16
18
1
14
7
95
7
5
-2
0
0
0
0
4
16
10
8
31
25
-11
51
23
43
-19
-7
1
-1
0
0
0
-1
-8
3
27
28
12
15
31
19
46
5
6
1
0
0
0
0
-1
6
18
9
-12
37
-2
18
32
-5
-2
4
0
0
0
0
0
0
0
-2
2
2
-13
7
-7
12
-4
15
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
14
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-6
-21
28
1
1
0
0
0
0
0
0
0
0
0
0
-16
19
-4
-10
8
1
0
0
0
0
0
0
0
0
0
0
0
-8
-18
-3
-4
19
-5
0
0
1
0
0
0
0
0
0
0
0
-1
0
6
-24
-2
3
0
0
1
0
0
0
0
0
0
0
0
-1
0
-16
1
3
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
6
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
30
-18
7
-3
0
0
0
0
0
0
0
0
0
0
0
-31
-15
12
-46
-8
15
-3
0
0
0
0
0
0
0
0
0
0
-6
-25
7
42
-3
-13
6
0
0
0
0
0
0
0
0
0
0
1
12
5
-17
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
6
-7
-16
14
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
17
5
0
3
0
0
0
0
0
0
0
0
0
0
2
-31
10
-9
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
3
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
17
9
-22
2
0
0
0
0
0
0
0
0
0
0
3
4
-4
-53
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
-4
-6
19
11
18
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-20
-5
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
8
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
5
-19
5
-2
0
0
0
0
-2
0
0
0
0
0
0
-4
-5
-7
-29
5
-16
0
0
0
-1
0
0
0
0
0
0
-5
-13
-38
1
31
-7
-18
-17
-1
1
0
0
0
0
0
0
0
0
-22
11
24
20
-15
-4
5
-3
0
0
0
0
0
0
0
0
0
8
19
-1
7
2
-4
0
0
0
2
0
0
0
0
0
0
0
-10
1
-12
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-2
1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
-16
-22
6
-13
-9
-15
18
0
0
0
0
0
0
0
0
0
0
3
-10
-25
5
9
-5
0
3
0
-1
0
0
0
0
0
0
0
2
-6
-36
2
-10
-7
-1
1
0
0
0
0
0
0
0
0
0
-1
-4
4
-1
0
4
8
1
1
0
0
0
0
0
0
0
0
1
1
0
14
-4
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
-14
-10
-8
25
-45
0
0
0
5
-29
-8
-7
0
-1
0
8
-1
-17
13
-10
-12
-79
0
0
0
-59
-9
-16
-22
-1
-1
0
16
-5
2
-42
-1
-25
-28
-35
-2
-34
-30
-20
-4
-10
0
0
0
-4
-29
-29
23
-8
3
-32
-57
-10
53
44
13
-6
-5
0
0
0
-3
-16
-24
19
6
-16
5
-25
-8
-2
41
27
-3
0
0
0
0
0
-6
3
5
-1
-2
34
4
-36
2
2
7
-2
0
0
0
0
0
10
-1
-5
17
-6
-19
13
13
-2
6
0
0
0
0
0
0
0
3
0
-6
-12
-1
-5
6
-4
-5
-1
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
20
9
0
0
0
5
34
28
-25
13
-1
0
0
0
2
5
-14
-18
-62
0
0
0
-52
16
5
-4
-10
3
-1
0
-2
-9
4
-14
3
-44
-44
-97
-68
53
-43
-31
28
-13
2
1
0
0
-3
0
-21
-17
-40
-13
8
-28
3
-6
-2
1
7
6
0
0
0
-1
-21
-7
-13
1
-32
-71
-20
-15
4
-3
-34
21
6
2
0
0
0
-12
-23
-40
-7
27
-16
15
10
45
-13
-2
-14
5
-1
0
0
-1
-6
-18
3
-1
-20
-58
-17
24
-5
35
-19
1
0
0
0
0
0
-3
1
-2
1
20
-52
-24
-20
26
36
9
4
-1
-1
0
0
0
0
24
-10
-9
-47
44
54
32
32
1
-10
-6
0
0
0
0
-9
-29
-42
-4
-11
0
0
0
-29
-33
-7
21
-2
0
0
0
0
-3
-44
-35
-44
12
0
0
0
39
-12
6
-33
-11
5
0
0
0
-4
-27
8
-15
-20
-3
19
23
16
16
18
-7
-25
0
0
0
0
-1
-14
-4
14
-28
-57
-5
-31
-2
27
10
-2
-1
2
0
0
0
-5
-20
1
-26
-45
28
4
15
-19
-6
30
6
1
0
0
0
0
0
-10
-5
-11
-59
1
-7
-76
26
-18
11
-8
3
0
0
0
0
0
0
-5
-45
28
16
52
-88
-10
8
4
4
1
1
0
0
0
0
1
-6
20
-17
-7
4
8
43
-6
-10
-7
-3
-2
0
0
0
0
0
5
-2
12
10
8
-1
0
0
0
0
0
0
0
-8
8
-10
5
-7
7
-48
0
0
0
1
-24
-5
1
0
0
0
8
-12
-26
-35
-65
-12
-61
0
0
0
81
-43
31
1
6
0
0
5
-54
-44
-45
-3
4
27
-15
12
-40
31
-23
7
-8
0
0
0
4
-17
-10
-28
14
-36
3
-15
18
-5
6
-4
-2
8
0
0
0
0
19
-31
-57
-30
-6
29
-25
-41
-19
-13
20
-5
-1
0
0
0
-2
1
6
-25
7
-37
2
-43
2
-14
5
1
-1
0
0
0
0
0
5
-14
9
-15
-20
9
20
4
-7
0
-2
0
0
0
0
0
0
0
2
4
-8
4
0
0
0
-2
-1
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
-5
-22
2
-13
0
0
0
15
-1
0
0
0
0
0
1
-5
6
-22
-40
19
-23
0
0
0
9
-9
4
0
0
0
0
1
-12
5
-14
33
13
-7
-27
4
12
0
9
0
0
0
0
0
-1
-4
-1
0
-7
-6
-16
35
-4
-4
-8
4
0
0
0
0
0
0
1
0
16
3
-22
-5
-6
-17
6
2
0
0
0
0
0
0
0
1
-3
-8
31
8
-41
-24
-5
9
0
0
0
0
0
0
0
0
0
-1
-1
-1
5
-4
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
1
-2
0
-2
-5
-24
0
0
0
21
-7
0
0
0
0
0
0
-4
-8
-10
-6
-4
-6
0
0
0
12
-4
-8
0
0
0
0
0
-1
1
-1
4
-9
10
-1
-9
3
-16
0
-2
2
0
0
0
0
2
0
1
8
-10
-17
17
9
9
-1
4
2
-2
0
0
0
0
-4
2
-2
1
18
6
6
-1
0
3
-2
0
0
0
0
0
0
0
-2
3
-8
7
13
6
-4
-3
-24
2
0
0
0
0
0
0
0
0
-1
3
-10
5
8
25
13
-3
0
0
0
0
0
0
0
0
2
0
3
-1
0
7
-5
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-64
-6
30
60
8
-26
147
96
111
24
0
0
0
0
0
0
89
-3
9
80
-7
25
-6
56
21
-7
0
0
0
0
0
0
17
-41
-13
73
-150
-26
78
33
86
129
0
0
0
0
0
0
-7
13
24
36
-187
-60
-18
-22
45
90
0
0
85
41
-60
-81
-15
28
0
28
46
-62
-72
-13
-19
68
0
0
20
-10
-18
-25
-71
-2
0
-145
74
-49
46
-2
-20
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-91
-118
51
7
-6
69
48
-128
-206
-200
-66
25
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-126
-67
-36
-39
-54
71
-44
-79
45
-151
-47
76
-40
0
0
-232
-145
-79
-19
1
-70
-8
14
-223
-115
-54
-18
32
67
0
0
-185
-71
-91
-15
39
18
-4
29
-122
-32
-29
-5
3
78
0
0
-211
-164
-76
-214
-46
-36
84
-79
-52
-145
-18
-114
-25
57
0
0
-134
-33
-127
-43
-61
65
29
-157
-15
-10
-58
-177
-54
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
60
40
21
77
-48
59
-9
24
55
-16
0
0
0
0
0
0
-9
7
-29
28
-12
1
-23
37
-54
16
0
0
0
0
0
0
39
-33
2
180
0
-88
-100
-17
47
72
0
0
0
0
0
0
2
-16
29
11
-114
-85
51
104
27
87
0
0
-32
0
0
0
20
65
0
-60
-61
-93
-73
-219
-29
56
0
0
-2
0
0
0
-176
51
0
-38
-23
-22
4
-40
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-75
-108
-40
93
92
-4
-28
-194
-215
-202
-54
28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-19
-71
-165
16
41
47
22
-181
-24
-138
-41
26
85
0
0
-135
-108
-68
-19
42
-25
-25
-14
-115
24
82
-10
18
51
0
0
-130
-90
-78
-34
111
75
-26
-35
-240
-53
-178
11
-1
-1
0
0
-86
-92
-148
-273
45
43
60
-62
-299
-337
-244
-130
-13
-26
0
0
-209
-4
-146
-158
-44
91
20
-192
-180
-141
-139
-176
35
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-36
30
122
95
-40
-36
50
179
-12
2
0
0
0
0
0
0
-8
23
23
28
-61
28
-29
94
75
-41
0
0
0
0
0
0
-82
-12
5
43
4
-123
-6
102
34
53
0
0
0
0
0
0
-44
-68
18
56
13
-67
15
82
84
21
0
0
-8
-44
-46
0
86
1
0
-81
1
-193
158
-10
161
56
0
0
-41
-13
-2
-68
57
16
0
-83
123
-37
-25
29
-58
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
112
48
-55
-86
-108
-51
-4
-35
-115
-73
-89
-156
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
75
-63
-13
21
-44
-75
-56
-10
196
-252
-87
-97
-219
0
0
-81
-128
46
-40
-27
-62
-1
-50
-180
-150
-20
-52
-158
-67
0
0
-4
-47
-39
-47
-57
-146
-3
-23
-75
-47
-45
-12
-60
47
0
0
-1
-65
-13
-81
-77
-112
-58
-156
4
-183
-2
-2
104
59
0
0
-78
17
-69
-14
-46
-51
-73
-114
4
-173
-25
-49
43
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-145
-17
-142
39
46
-37
-12
87
5
-3
0
0
0
0
0
0
-84
-41
2
-4
-75
-24
21
-6
-9
-41
0
0
0
0
0
0
62
-32
6
72
-70
-47
-24
56
-39
-136
0
0
0
0
0
0
40
-30
-41
77
-48
-111
-28
25
-58
-72
0
0
-9
0
0
0
-4
-58
0
-131
-65
-40
-23
-88
-82
-60
0
0
-5
0
0
0
-22
-43
0
8
-83
-13
-5
-40
-58
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-11
8
-38
-123
-34
13
50
-22
-66
-28
-16
-186
-199
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
27
55
26
1
-8
-152
-42
-49
-189
-116
12
-153
-44
0
0
-11
-47
25
33
-56
-116
-89
-148
-60
-52
65
-40
-198
-146
0
0
-4
-63
-43
-142
-35
-197
-3
-133
-2
-196
-13
186
-153
-186
0
0
-82
-5
-44
-52
4
-175
-58
-116
-57
-47
-44
8
109
-200
0
0
50
13
-3
-39
-53
-192
4
-85
-39
-168
-92
-44
-140
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
33
26
95
153
66
-4
-16
96
77
32
0
0
0
0
0
0
-43
-13
60
93
-17
-14
-55
178
60
89
0
0
0
0
0
0
4
-21
63
91
-87
-22
80
39
93
13
0
0
0
0
0
0
61
-14
23
43
37
-106
-65
58
37
102
0
0
-13
17
-69
-134
43
64
0
-56
-65
-318
-63
-78
-58
95
0
0
-33
-54
-54
-8
68
101
0
-74
-92
-47
56
-65
-48
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-139
-107
-48
-66
11
11
25
-65
-199
-189
-184
-131
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
6
-99
-9
16
6
64
-27
-125
42
-60
-35
22
63
0
0
-131
-71
-52
-105
17
7
10
-18
-165
3
-7
-26
27
56
0
0
-231
-140
-129
-137
-29
21
56
-55
-245
-134
-143
-108
6
28
0
0
-173
-47
-145
-91
-59
41
86
-146
-138
-336
-166
-120
8
36
0
0
-195
-167
-147
-147
66
114
149
-185
-102
-150
-187
-216
-24
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
70
23
87
178
-83
-115
-88
-5
-15
17
0
0
0
0
0
0
34
64
49
82
-26
-185
-132
-42
28
-29
0
0
0
0
0
0
-40
36
83
145
-98
-143
-143
-98
-25
32
0
0
0
0
0
0
-4
52
52
67
-45
-77
-37
-53
-137
-14
0
0
-177
2
-45
21
-36
-15
0
23
-226
-268
-214
-121
19
16
0
0
-23
1
1
0
-44
-18
0
-137
-116
-52
-189
-106
-85
-159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-181
-47
-123
-13
39
32
28
123
-298
-186
-46
20
-43
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-118
-40
-108
5
41
34
32
-152
17
-10
13
12
56
0
0
-7
-72
-91
-87
41
44
16
5
-63
32
49
-39
27
65
0
0
-125
-15
-78
-62
32
46
39
-4
-210
-106
4
100
-10
29
0
0
-208
-35
-139
-33
-5
50
89
-7
-229
-287
-131
-69
29
-14
0
0
-257
-110
-112
-102
-13
65
100
-206
-314
-223
-184
-116
43
47
0
0
0
0
0
0
0
0
0
0
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
0
0
0
34
8
61
-6
-6
34
16
23
10
-35
0
0
0
0
0
0
6
87
37
-14
15
-111
21
82
43
47
0
0
0
0
0
0
-8
47
72
20
26
-61
29
55
-35
87
0
0
-2
0
0
0
72
43
50
40
-11
-17
29
21
-9
111
0
0
11
-50
38
49
129
-68
0
-75
-57
-281
31
-36
120
92
0
0
-27
7
-112
-73
48
54
0
-87
-1
-153
25
-96
-68
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
141
106
65
9
-33
20
-61
-16
-121
4
-13
-152
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
55
31
14
-10
-2
-26
27
8
57
21
-27
-70
0
0
77
112
-7
13
3
-34
-3
36
43
-27
12
-13
-77
-79
0
0
49
121
12
-11
-30
-9
76
5
32
-110
-4
35
-94
-43
0
0
64
-68
127
39
29
-33
20
-40
23
-245
-48
5
50
-52
0
0
14
-93
-1
-67
-30
-43
-2
-125
13
-127
-20
-111
-120
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
10
41
2
-73
97
-98
-147
-105
-46
-58
0
0
0
0
0
0
-33
-14
26
-48
31
-149
-54
-94
-48
-15
0
0
0
0
0
0
-43
-108
-47
-120
-14
-118
-47
-127
-33
-94
0
0
0
0
0
0
54
-141
-46
-14
50
-109
-54
-139
-94
-51
0
0
-132
-3
-10
-1
-69
-116
0
-50
-124
-99
-94
-89
-12
-164
0
0
-90
1
-1
-1
-59
-75
0
-83
-69
-58
-80
-94
-192
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
9
66
-70
-113
-100
-72
14
55
-23
32
22
-96
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
27
60
107
20
8
-27
63
90
38
100
33
-45
-2
0
0
42
123
16
7
-17
-10
-13
16
47
-10
-20
-7
-61
-62
0
0
54
15
26
-60
-173
-58
-103
-17
79
-55
-13
23
-91
-90
0
0
3
-73
-45
-6
-16
-123
-137
-40
-33
-154
-9
12
23
-229
0
0
-92
-1
-91
-150
-28
-149
-154
-13
-130
-63
30
-72
-138
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
46
24
96
76
55
51
28
-18
63
57
0
0
0
0
0
0
5
57
67
75
28
5
-19
42
14
117
0
0
0
0
0
0
35
-80
67
123
10
-72
-1
15
34
111
0
0
0
0
0
0
22
44
57
-4
60
-79
29
73
4
-49
0
0
-13
2
-18
-101
140
68
0
-9
-20
-157
-40
-4
23
-29
0
0
-8
-48
-39
-15
19
49
0
16
-80
-94
17
55
-4
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
7
-7
43
-17
-17
21
-69
-69
-32
-12
-28
-47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
6
-32
-20
12
40
25
-20
32
6
40
17
20
46
0
0
30
-30
55
22
14
-5
-10
5
51
68
-13
15
27
26
0
0
-25
31
-31
-4
-28
0
65
-18
-20
22
-4
-3
-13
-2
0
0
-5
-56
-60
-29
11
38
96
30
-34
-183
-32
70
24
-78
0
0
-86
-34
-41
-60
24
2
120
49
-149
-22
-32
-55
14
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
13
-37
69
59
-15
-72
-85
-37
0
-15
0
0
0
0
0
0
-58
-53
47
60
-5
-137
-33
-44
-41
-10
0
0
0
0
0
0
-24
-26
64
26
-120
-59
-127
-42
-13
24
0
0
0
0
0
0
-88
-15
53
22
1
-65
-53
-97
-68
17
0
0
-101
2
-25
31
-36
-76
0
-6
-190
-154
-31
12
-42
-52
0
0
-83
1
1
0
-89
-91
0
-54
-107
28
-66
-116
-57
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-50
-32
-27
16
5
11
81
-46
-66
84
47
-33
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-68
-7
47
46
39
-7
-16
-6
4
82
22
21
74
0
0
12
4
31
-4
67
48
14
10
53
59
-8
30
47
58
0
0
2
-72
6
-5
-14
32
60
-21
-21
-61
21
69
-37
-29
0
0
-171
-6
-83
47
17
24
-14
18
-44
-182
-8
-23
16
-42
0
0
-57
-109
-17
-69
-32
-2
22
-35
-189
-115
-29
-47
-43
12
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-20
-25
10
-36
21
-37
17
65
26
33
0
0
0
0
0
0
93
25
33
10
-18
-95
31
10
-22
52
0
0
0
0
0
0
38
78
20
-8
101
-56
46
31
31
52
0
0
-2
0
0
0
88
43
27
12
76
-90
17
10
115
100
0
0
41
-12
8
3
-4
-9
0
-42
45
-35
103
31
77
-10
0
0
-11
-4
-42
2
107
91
0
-44
-37
-105
7
17
-47
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
122
105
46
27
30
-4
50
121
-30
69
4
-30
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
75
33
64
5
-2
54
27
31
39
69
48
47
20
0
0
44
-28
8
-13
21
13
20
89
141
37
65
57
34
-5
0
0
108
86
109
64
-58
61
33
65
110
-18
38
16
27
-21
0
0
130
-13
129
160
48
30
47
14
108
-199
128
147
22
-60
0
0
30
-80
150
-29
16
-109
-17
27
-3
-78
158
57
-36
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
-17
15
44
-74
-84
-73
-54
-89
12
12
0
0
0
0
0
0
22
-52
20
-109
-15
-57
-41
-59
-19
-6
0
0
0
0
0
0
-19
-51
-4
-86
-4
-80
13
-70
-43
-20
0
0
0
0
0
0
-15
-65
-31
-80
14
-35
-59
-115
-19
-40
0
0
-78
-3
-13
-2
-51
-57
0
-45
-31
-23
34
-66
7
-77
0
0
-84
1
-1
-1
-42
-8
0
-41
28
12
-77
-37
-96
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
14
-8
48
-30
-59
-11
-37
79
9
123
-18
-28
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
36
18
16
-22
4
60
39
166
72
40
-31
0
0
88
75
66
13
-3
-11
-9
-23
113
71
-37
20
-43
-31
0
0
19
63
34
8
-45
16
-138
6
87
3
64
-65
-14
-52
0
0
-62
-11
5
94
-64
-63
-109
57
-3
-76
65
4
3
-99
0
0
92
38
-47
-15
-23
-123
-207
16
-37
-80
84
-1
-62
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-58
33
6
-12
133
64
-41
34
17
0
0
0
0
0
0
4
-34
-5
-23
41
20
3
1
-22
19
0
0
0
0
0
0
-20
-4
1
0
44
-5
45
-15
-49
-21
0
0
0
0
0
0
-55
13
-1
-18
14
-6
28
-5
5
-16
0
0
3
8
-4
17
18
-10
0
24
45
29
-24
33
29
-13
0
0
-4
-1
1
2
2
21
0
90
24
-20
6
-18
-3
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
67
-4
87
-79
24
3
47
58
22
43
19
22
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-18
-16
19
7
24
-20
64
8
22
46
30
19
-24
0
0
40
54
60
20
137
-16
-48
-39
92
96
-31
16
-34
14
0
0
97
64
0
11
39
15
94
43
197
17
10
-1
12
55
0
0
107
5
-40
13
4
-9
-25
21
81
5
77
135
17
37
0
0
65
21
23
41
-21
-64
76
93
33
-4
58
97
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
16
43
-60
12
-25
60
-48
2
-69
0
0
0
0
0
0
-5
-48
-4
-19
22
-16
69
-82
16
35
0
0
0
0
0
0
8
7
46
-12
9
-2
15
8
16
-15
0
0
0
0
0
0
-31
29
8
-93
13
16
25
8
-16
-39
0
0
-8
0
3
1
-12
-58
0
-98
23
20
22
41
-24
9
0
0
0
1
0
0
-3
-48
0
-30
13
24
8
28
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
32
54
-3
-42
-73
-8
-48
128
-42
41
9
-85
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
-38
0
-6
0
-27
0
25
11
94
-22
-17
51
0
0
13
29
-58
-33
-17
81
41
-57
44
-11
-66
-38
17
12
0
0
93
-51
45
52
6
45
-2
-63
5
-9
35
-10
-3
-38
0
0
1
12
-37
-11
-33
-24
30
23
29
-2
27
-71
-78
-50
0
0
36
-5
-4
13
-40
-36
-38
-6
45
24
15
6
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-33
-52
-25
4
24
41
32
58
127
0
0
0
0
0
0
3
4
34
5
-17
7
-5
-62
22
20
0
0
0
0
0
0
16
-18
19
-48
9
-31
30
16
-8
34
0
0
0
0
0
0
-13
-13
5
8
-6
3
-1
27
58
-5
0
0
25
2
-3
7
-1
-44
0
34
31
10
39
73
-12
79
0
0
27
0
-1
-1
39
22
0
3
-5
2
7
42
35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
11
92
40
89
-68
-8
30
53
41
105
8
164
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
41
-21
7
-11
55
-19
110
18
13
86
0
42
73
0
0
-3
30
8
26
93
19
-16
-17
36
-15
59
48
86
169
0
0
41
30
99
45
20
-36
-32
106
92
-67
75
48
62
42
0
0
31
13
35
11
50
113
5
76
10
-12
40
40
52
-46
0
0
32
17
41
16
49
-56
-12
139
33
8
65
126
119
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-61
-21
-84
-22
7
-28
52
-2
50
0
0
0
0
0
0
-5
23
-2
-61
7
-16
48
38
10
-4
0
0
0
0
0
0
-19
20
-62
-43
11
3
21
26
56
1
0
0
0
0
0
0
-77
-6
-7
-8
16
-12
-8
-3
-6
11
0
0
0
-1
0
0
-1
-56
0
-7
4
40
15
-5
-2
17
0
0
1
0
0
0
-6
2
0
31
27
13
-10
-109
-37
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-25
-3
7
43
15
13
-32
-34
8
71
-53
-18
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-20
28
21
-12
-16
-2
-59
-55
-61
-13
33
21
-117
0
0
18
-47
-63
28
-8
64
-13
7
-16
30
59
-17
-31
-98
0
0
68
12
10
57
-72
21
-111
-20
-47
-4
-8
-37
2
-59
0
0
22
4
22
9
-69
7
-18
-30
15
-30
-5
13
17
-6
0
0
53
4
10
-5
21
3
-8
46
-15
-3
38
80
-112
-19
-1
-131
-149
-137
-73
-19
3
-4
-7
-2
16
87
151
121
103
47
0
0
7
-2
-12
38
11
-12
-9
5
21
0
-21
-59
0
0
8
2
0
61
-11
5
-16
-13
4
-6
-52
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-1
0
-6
-53
-1
0
0
0
0
0
0
0
6
-7
-1
0
-6
-47
-12
-89
86
-39
19
30
8
2
-3
-4
-21
0
0
0
0
0
0
0
0
0
4
-3
-32
-88
-1
-10
-33
-88
10
2
30
-9
0
0
-1
-2
5
13
-12
-44
-15
-27
4
-6
-52
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-1
0
-6
-53
-1
0
0
0
0
0
0
0
6
-7
-1
0
-6
-47
-12
-89
-69
-69
-135
-71
-40
-5
3
5
5
1
-8
-9
-27
-54
-76
-136
0
0
-2
-3
-3
33
1
-7
-3
12
0
0
0
-25
0
0
1
-4
-3
6
5
7
-1
10
1
-7
5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
9
-4
0
-11
-21
-57
0
0
0
0
0
0
0
-7
-11
8
0
-3
-60
5
-53
9
-29
-3
-8
2
2
-2
-1
-15
0
0
0
0
0
0
0
0
0
1
-3
-29
-36
-2
-1
-19
-115
10
3
-23
-48
0
0
1
-4
-15
-8
0
-34
-1
-31
1
-7
5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
9
-4
0
-11
-21
-57
0
0
0
0
0
0
0
-7
-11
8
0
-3
-60
5
-53
37
1
-54
-34
-19
-15
-12
-7
7
10
1
3
-39
-37
-97
-146
0
0
-1
-11
-5
-9
-6
-20
-8
-28
3
0
-3
-61
0
0
-5
-4
-6
-56
-7
-14
-8
-23
-9
-19
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-19
-82
0
-12
-60
-86
0
0
0
0
0
0
0
-23
-46
5
0
-7
-81
-5
-71
-2
-18
-39
-13
-2
-2
7
-2
-29
0
0
0
0
0
0
0
0
0
-4
-8
-22
-59
-6
-9
-40
-105
-4
-9
-40
-116
0
0
-4
-8
-23
-102
-5
-35
-1
-40
-9
-19
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-19
-82
0
-12
-60
-86
0
0
0
0
0
0
0
-23
-46
5
0
-7
-81
-5
-71
2
-2
77
-3
27
2
12
15
16
-13
6
-38
-11
-43
-50
9
0
0
-10
-38
-13
-82
-7
28
-44
-83
32
0
-29
-67
0
0
9
-31
10
-58
-25
-34
-36
-68
-24
-19
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-72
0
0
20
-10
-12
0
0
0
0
0
0
0
-2
-51
0
0
-11
-58
-35
-57
45
31
6
42
6
-11
-10
-18
-11
0
0
0
0
0
0
0
0
0
-8
18
-25
-100
26
-15
-67
-47
-14
-27
-78
-45
0
0
-17
-29
-12
1
-16
-10
-20
-48
-24
-19
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-72
0
0
20
-10
-12
0
0
0
0
0
0
0
-2
-51
0
0
-11
-58
-35
-57
-34
-8
0
-2
2
0
-12
20
-28
7
-10
-19
-6
-5
-60
0
2
13
22
-29
5
5
-4
10
1
0
10
6
-26
-10
21
33
8
-6
10
0
7
-2
-25
-30
-8
-54
-12
14
14
0
6
-39
45
11
3
-39
-13
-16
-26
0
21
-6
0
5
1
-24
8
-27
-8
10
76
-4
-12
-2
8
-2
-1
17
37
7
13
10
15
-24
-10
47
12
0
26
0
-11
6
47
22
10
34
0
27
4
0
4
4
39
34
4
6
12
-33
12
0
26
-11
-6
-9
11
27
-13
-24
2
0
0
-33
-25
-24
9
51
51
6
74
0
12
-6
28
-18
11
44
-7
3
12
0
2
-9
20
-7
0
-19
-4
-14
-43
8
-8
13
-22
-16
0
-12
-37
-15
-19
2
-25
5
-25
-25
-11
100
58
30
22
0
17
44
42
-1
19
11
55
44
79
0
-2
25
26
64
0
26
23
-18
39
0
12
-4
14
62
11
-27
-10
-19
-31
0
-31
-44
-32
-49
25
25
61
4
12
0
23
6
16
-46
17
12
-18
-1
26
0
36
-11
-25
6
3
-72
-42
2
-35
6
19
-18
-24
7
-14
-30
-64
-41
-64
-6
-77
-50
-55
-48
42
20
83
47
78
0
24
-2
13
71
-43
53
98
51
82
0
-16
84
33
24
49
-4
5
-37
9
0
26
6
38
9
18
-12
-8
-7
-51
0
-31
-1
-56
2
-15
36
-64
-4
-24
0
-1
12
32
5
15
-21
-27
-2
-11
0
13
12
36
-6
1
-32
49
11
-6
3
-10
-13
13
9
0
-44
-55
-46
-46
-8
-33
-27
-19
-56
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
7
-4
0
0
0
29
-6
0
0
0
26
7
0
-8
0
23
-21
22
16
12
-38
21
-18
20
38
-89
12
34
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-23
-5
0
0
0
-16
-12
13
-1
0
43
78
23
-10
0
11
-4
-40
40
0
-76
-40
-42
-18
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
-17
0
0
0
0
-3
0
-5
-1
0
-11
14
0
1
12
-50
-16
25
-9
8
18
22
25
-34
-90
-26
-34
-8
-16
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
18
-1
0
0
0
-3
-31
-2
0
0
33
-62
22
-2
0
20
37
52
-13
0
-4
-32
48
1
0
-82
31
-29
-37
0
0
0
0
0
55
0
0
0
0
23
0
0
0
0
-16
1
0
0
0
-62
4
-2
0
0
-41
-15
-6
-5
-1
-8
27
23
49
-13
-1
22
-3
23
-57
66
-24
45
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-2
4
1
0
0
0
0
-14
3
0
20
26
-101
1
0
-14
3
-21
-61
0
-22
5
-3
15
43
-5
0
0
0
6
0
0
0
0
1
0
0
0
0
30
0
-3
0
0
-7
3
0
-8
0
2
1
-33
21
-13
3
1
7
20
-9
-1
-6
20
-3
18
8
62
1
6
3
0
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
0
0
0
-7
4
2
0
0
-25
-26
-40
-6
0
27
5
-29
19
0
-20
0
-1
49
0
-49
59
-21
-19
0
0
0
0
0
-20
0
0
0
0
16
-1
-1
0
0
21
0
0
0
0
-11
5
-1
-1
0
-24
-6
-6
-6
13
-21
-6
9
12
13
17
9
-1
49
43
-49
-26
-19
0
11
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
2
0
0
0
13
-4
4
0
0
-41
13
-8
-16
0
-9
-10
52
-4
0
-60
-64
-19
-20
0
20
-24
50
11
0
0
0
0
0
4
0
0
0
0
42
0
-1
0
0
-2
0
0
0
0
25
-4
-4
-13
0
-28
-4
-50
18
13
9
19
-9
-10
6
-22
-24
-3
-38
-37
0
-23
17
2
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
5
5
-6
0
0
1
23
44
-27
0
-11
-51
37
24
0
27
11
-51
-55
0
56
-2
-41
20
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
9
5
1
0
0
48
-1
-3
2
0
41
-26
30
34
14
15
1
24
-18
2
-11
35
6
-6
-23
10
-11
7
-5
-2
0
0
0
0
0
-5
0
0
0
0
-8
0
0
0
0
0
-3
0
0
0
-7
17
-9
4
0
-16
-25
8
-9
10
14
42
20
-23
-3
9
-15
2
-11
-72
10
-11
7
-5
-2
1
1
0
0
0
-5
0
0
0
0
-40
0
-2
0
0
-22
0
1
0
0
-7
13
-2
5
-5
-38
-30
-45
6
13
1
63
-30
27
-19
10
-21
15
15
5
8
-5
-9
-42
-9
14
-2
0
0
0
-3
0
0
0
0
-25
0
-1
0
0
-5
-1
6
-1
0
-1
10
-1
16
0
-3
-19
34
-27
29
2
-28
15
16
-39
-34
31
-3
11
-11
8
-5
-9
-42
-9
0
0
0
0
0
59
20
20
5
0
13
0
-1
-16
-5
-36
10
-24
-16
-13
1
23
14
-38
2
-19
-81
1
-98
-48
48
19
-15
50
81
-67
-25
37
-18
23
10
47
27
24
-7
0
0
0
0
0
0
11
1
8
0
0
-9
-49
2
0
0
-30
-48
50
-2
0
5
-16
35
-3
0
-102
-38
-54
18
0
19
49
93
32
0
23
-13
-93
10
0
-11
80
29
-4
0
0
0
0
0
0
-4
1
0
-4
-30
-16
-2
-4
0
27
-67
-6
37
-12
-15
-65
-78
29
0
11
39
-12
17
14
16
11
21
74
5
1
37
10
18
15
-14
98
14
-17
-9
0
0
0
0
0
0
-26
12
3
0
0
42
7
9
3
0
50
-4
17
0
0
38
19
-43
4
0
8
-34
50
-27
0
-2
13
-5
-28
0
14
-29
7
28
0
-59
61
27
60
0
0
0
0
0
9
0
-1
1
6
5
-1
1
0
1
-3
47
32
-7
17
18
4
10
-34
-25
-47
-2
-52
-27
-3
21
3
26
56
11
-2
3
2
15
-21
-1
8
26
0
8
0
0
0
0
0
0
4
0
0
0
0
1
-1
1
0
0
10
34
-56
1
0
-68
-17
-22
28
0
-11
77
31
-14
0
47
4
27
6
0
2
6
7
-12
0
8
1
-2
-18
44
-71
-18
-8
-2
39
2
0
0
0
-83
13
4
-19
1
-6
-26
-93
-34
-12
-30
64
-10
-68
-20
3
14
-38
14
-50
14
-44
22
-30
40
-5
49
-15
0
-4
12
-24
-6
36
18
0
69
15
12
-4
0
3
-3
0
0
0
-15
-18
-13
0
0
45
8
-35
-13
0
18
-17
-2
-68
0
-48
-22
-26
6
0
3
10
-91
-10
0
-3
15
9
-24
0
-41
-88
15
5
0
0
0
0
0
12
-13
-16
0
0
5
24
-8
-5
1
-17
13
22
-83
-25
-30
2
61
21
52
-49
3
-79
12
-27
-7
69
16
-29
54
31
49
34
75
6
22
-6
14
1
-56
0
0
0
0
0
0
-25
14
-10
-4
0
36
-2
-28
1
0
2
-13
15
0
0
28
5
24
-13
0
-53
1
-9
-46
0
-45
-9
58
-28
0
-11
-46
40
28
0
65
31
-3
17
0
0
0
0
0
5
0
0
0
3
58
71
-3
19
0
-7
-37
-21
48
30
60
-15
-40
26
-42
-18
13
-70
-11
-11
17
87
-19
-19
-11
24
-15
29
44
84
-43
71
-26
-8
-35
0
0
0
0
0
0
-11
-4
0
0
0
13
105
-14
-1
0
22
-31
4
5
0
28
-45
9
-21
0
64
-8
7
-20
0
-39
-16
-45
0
0
-42
-34
47
54
0
-31
-1
-13
-5
0
0
0
0
0
-46
0
0
0
-2
10
6
12
-5
-3
3
-10
27
-5
10
21
19
4
-5
2
25
-39
53
61
-29
-15
-25
-5
-14
-71
10
48
-44
31
56
11
12
22
-31
-18
0
0
0
0
0
0
0
0
0
-2
44
0
-3
-2
-5
-2
-46
14
9
12
27
45
-12
31
10
-5
-5
8
-16
-2
-24
26
17
28
-11
6
4
-13
-6
-27
11
12
22
-31
-18
-13
-17
-1
-5
2
8
0
0
0
0
-2
-15
-41
5
-17
-21
-6
-35
-32
-30
-77
-37
-59
-14
-64
-10
-11
15
13
-16
-16
0
-12
19
10
-13
-2
-8
-28
5
11
-21
-20
-3
23
31
-86
42
5
1
37
7
0
0
0
-16
-49
-15
-3
-5
-27
-51
-30
-13
-55
-36
-1
58
-9
-5
10
1
49
-58
22
-9
-19
15
3
7
-16
-36
-28
-26
-68
11
-21
-20
-3
23
0
0
0
0
0
23
49
8
16
0
93
21
22
-33
-18
-6
15
-5
-6
-65
-105
2
-72
-54
-1
-50
-37
-25
-28
-30
38
-10
79
10
100
-20
2
69
5
47
-9
74
30
67
-8
0
0
0
0
0
0
21
28
19
-1
0
11
-1
16
0
0
-29
-49
11
4
0
17
46
5
-3
0
-87
24
-56
14
0
39
61
36
40
0
19
-17
-8
16
0
50
9
26
5
0
0
0
0
0
21
-4
1
0
-4
6
-8
-15
-3
0
19
-23
41
40
7
-10
-39
-45
65
35
-35
-56
41
-31
7
52
1
126
54
-8
-2
65
57
1
56
34
45
-32
-4
-6
0
0
0
0
0
0
-27
20
3
0
0
33
34
2
3
0
35
38
-2
1
0
50
19
-31
20
0
-65
-2
-41
-35
0
-28
-15
-6
50
0
18
-3
-14
6
0
37
12
49
58
0
0
0
0
0
-33
0
-1
1
6
-37
-19
1
0
1
-5
87
1
11
38
21
3
27
-68
-45
0
-66
-47
-28
67
27
5
89
78
-13
-18
8
-28
5
8
-2
52
28
-21
-22
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
10
-6
-98
1
0
-34
38
44
0
0
-65
-5
29
16
0
31
18
63
22
0
-23
-18
-37
-1
0
34
19
14
0
83
11
-46
-60
-29
52
2
0
0
0
-58
-19
4
10
1
22
-84
-71
30
4
-24
-20
-17
-55
-76
30
15
-14
-2
-96
0
6
0
-13
108
-39
68
-20
10
-56
20
-46
13
3
17
0
65
63
-3
-29
0
3
-3
0
0
0
-28
-69
-13
0
0
-2
-99
-70
-35
0
49
-51
-28
-101
0
-30
-20
-45
-14
0
0
-3
12
-44
0
-58
22
29
12
0
-18
-22
-1
-2
0
0
0
0
0
62
-13
1
10
-3
23
62
5
-2
6
-72
22
9
-148
-61
57
2
76
0
74
-21
-10
-84
-5
-23
-15
16
-36
32
2
-6
17
-16
38
-24
62
-31
57
31
11
0
0
0
0
0
0
-8
14
-31
-4
0
-14
-16
-24
1
0
27
-15
15
4
0
40
54
36
5
0
-22
-19
-47
-70
0
-9
-12
21
10
0
-53
-13
19
0
0
29
22
44
31
0
0
0
0
0
-37
0
0
0
3
10
46
-3
25
0
-5
-80
-4
7
31
54
44
-34
76
-50
25
-24
-31
19
-52
26
40
5
-13
24
46
-17
-36
63
29
-43
40
-11
-57
51
0
0
0
0
0
0
16
-4
0
0
0
57
96
-47
-1
0
18
-3
3
20
0
-18
-94
-26
-23
0
56
-13
39
-2
0
-64
-21
-16
-3
0
39
39
25
26
0
-39
4
-15
-5
0
0
0
0
0
-7
0
0
0
-2
-25
1
8
-34
8
27
-56
5
-32
22
13
16
16
-43
14
-11
-48
21
30
-26
4
-2
-13
-33
-60
9
-4
-36
44
38
33
5
-37
55
-1
0
0
0
0
0
-16
0
0
0
-2
8
-35
-7
-2
1
-1
-27
7
12
14
-18
55
-26
12
12
17
-4
0
40
29
29
-3
4
-34
26
-2
53
16
-41
-51
33
5
-37
55
-1
-58
-14
7
13
5
-9
0
0
0
0
3
-35
-38
10
-26
-31
45
-9
-15
-31
-61
-36
-78
-37
3
-24
5
54
14
-52
-33
18
-35
-27
0
12
-53
-44
-36
-32
17
12
-10
-15
-14
-10
-50
34
21
-1
22
16
0
0
0
-1
-65
3
25
-13
-34
-50
-30
18
-86
28
-36
68
1
17
-72
4
-8
1
3
-50
-22
-36
-29
-8
-27
-60
-110
-34
-24
17
12
-10
-15
-14
0
0
0
0
0
3
1
-2
-2
0
-6
7
-1
-9
-1
-8
8
3
1
-1
-3
1
-4
-3
8
27
0
0
19
-1
15
22
36
17
17
10
-7
15
28
7
13
-5
27
11
16
0
0
0
0
0
0
-3
5
1
0
0
-9
3
-8
0
0
-13
-24
4
1
0
13
-14
12
5
0
26
3
-7
-3
0
-1
21
35
5
0
-5
-10
17
16
0
30
25
-37
-4
0
0
0
0
0
-4
0
0
1
0
0
0
-1
1
0
-13
7
-13
-12
11
-16
-1
8
30
15
-14
-19
4
-12
-1
-10
5
25
33
7
28
41
81
-15
65
3
30
-21
38
-9
0
0
0
0
0
0
0
1
0
0
0
-4
3
3
0
0
-11
36
5
0
0
20
27
6
-4
0
-42
-28
-10
-3
0
32
6
-6
22
0
-31
28
-1
13
0
7
-31
19
5
0
0
0
0
0
-1
0
0
0
1
-6
-3
0
-2
0
-11
12
0
-7
-3
46
-5
15
-35
-3
4
-19
-9
-12
32
46
-24
12
9
-10
-29
34
1
22
-9
13
10
-20
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-29
0
0
-16
0
6
-8
0
-15
-26
19
6
0
41
30
-5
-8
0
-21
10
-24
-4
0
44
-20
57
23
6
13
-6
-5
-7
-1
0
0
0
0
-3
-2
1
5
0
10
-1
-1
5
-1
5
-8
-1
-32
-20
-65
24
-12
-37
-37
7
16
14
19
3
0
-35
3
4
16
19
-19
-26
1
-30
0
-12
44
-16
-13
0
0
0
0
0
0
-1
-3
-2
0
0
-6
-20
0
-12
0
2
-1
-20
-23
0
-23
17
18
18
0
19
-32
-17
-9
0
-13
-55
-19
32
0
-1
-3
-7
12
0
0
0
0
0
46
-2
-1
-5
0
32
9
1
-4
0
-19
-5
-2
-46
-7
-25
-10
42
6
-11
-31
2
0
2
6
12
21
-14
-12
-5
-14
10
-44
23
-2
-26
-13
-37
38
-6
0
0
0
0
0
0
2
1
-1
-1
0
0
0
-29
0
0
-12
-6
-16
0
0
6
12
0
29
0
-14
-9
10
-6
0
2
-6
3
6
0
35
-9
34
-7
0
-24
29
0
-28
0
0
0
0
0
-18
0
0
0
0
9
5
0
4
0
-14
-18
-10
-15
-18
-15
-8
-42
34
5
53
-6
6
-3
34
20
-23
52
-24
6
-16
36
-50
-24
-37
5
20
-6
13
6
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
18
15
-18
-1
0
-23
-18
12
4
0
2
1
13
-23
0
-11
-10
5
-14
0
40
22
-16
6
0
-37
15
9
3
0
0
0
0
0
-26
0
0
0
-1
-22
-5
0
-30
-3
12
-3
7
16
-2
-14
5
8
-8
18
-22
-36
9
25
-44
-18
-19
13
-7
10
17
0
4
18
1
43
-12
14
6
36
0
0
0
0
0
-27
0
0
0
-1
-10
-15
-1
-21
-4
22
-11
-4
7
-5
-47
9
-14
-10
9
35
12
-1
19
-1
7
7
10
-12
29
-14
-3
-17
-12
-32
43
-12
14
6
36
1
2
0
3
1
10
0
0
0
0
-4
3
-3
3
-12
18
18
-15
2
-4
26
22
-36
-7
-15
20
3
2
-22
-8
-19
-8
-40
-15
15
-4
-70
-18
-29
-27
-9
-6
34
-37
-2
2
9
-1
0
-1
12
-1
0
0
0
-21
-8
0
30
-9
13
-4
-22
25
-20
-9
5
10
-4
-14
-28
-13
32
-69
16
21
-29
-22
24
-26
-10
6
-86
-15
-13
-9
-6
34
-37
-2
5
0
0
0
0
-61
-21
-57
0
1
20
-51
-8
-39
-33
-54
-49
32
-5
-40
-17
-39
-19
-49
62
-45
-22
1
-58
-29
5
-28
-43
-62
-70
-9
-38
-32
-38
-41
4
2
-1
1
-4
45
36
48
34
23
63
31
52
56
91
22
29
62
77
52
47
1
31
34
93
3
-3
49
7
80
-27
80
7
-37
27
1
-15
-3
9
0
0
0
0
0
0
0
0
0
0
0
-15
-21
-18
-23
-56
2
0
0
0
0
22
9
28
25
21
30
23
17
19
31
-11
-22
-25
-28
-21
0
0
0
0
-1
13
44
42
27
59
75
52
9
8
7
2
-4
-12
-8
-29
1
0
0
0
-1
15
10
13
24
12
-57
-39
44
8
24
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-21
-49
2
0
0
0
-1
36
18
24
19
10
73
-29
68
96
-17
-4
-1
1
0
0
27
73
62
44
-16
0
-1
0
0
-1
60
25
39
50
16
40
14
-3
14
11
17
34
9
21
10
-23
-43
-34
34
1
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
3
15
-17
17
-18
57
-2
6
0
0
0
0
0
0
0
0
0
0
25
9
9
14
18
-25
62
3
-41
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
16
43
2
-12
-6
4
28
0
0
0
0
0
0
0
0
0
0
0
-10
-11
-9
-12
-1
0
13
17
5
-60
-11
-11
-4
-14
-14
-27
-14
-20
30
-1
81
19
-1
-3
1
-15
-45
59
42
-49
-14
11
-1
78
57
22
-5
26
45
35
4
11
12
12
49
-6
6
11
27
26
-6
2
-2
-3
20
9
5
-2
-7
-10
33
33
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
2
-14
-16
2
1
0
0
-1
-36
-17
-9
20
-14
-39
-44
-25
-9
31
2
-9
9
-17
3
3
0
0
-1
-1
-46
-15
-28
27
17
-125
-16
11
-43
65
-8
-36
6
-1
-41
2
0
0
0
0
-89
7
8
-38
56
46
-54
8
-40
29
0
0
0
0
0
0
0
0
0
0
-9
-10
-4
-6
4
3
0
0
0
-1
-41
0
3
21
39
25
57
-14
-6
-2
-19
0
0
-2
-10
-65
-36
14
-21
30
-7
-1
0
0
-1
-33
0
12
-43
6
40
14
-3
14
11
17
34
9
21
10
-23
-43
-34
34
1
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
3
15
-17
17
-18
57
-2
6
0
0
0
0
0
0
0
0
0
0
25
9
9
14
18
-25
62
3
-41
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
16
43
2
-12
-6
4
28
0
0
0
0
0
0
0
0
0
0
0
-10
-11
-9
-12
-1
0
13
17
5
-60
-11
-11
-4
-14
-14
-27
-14
-20
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-32
-22
7
8
0
-2
0
-15
-7
-33
-33
-6
39
-8
-7
-28
5
-2
-85
11
-6
-61
-9
-60
-27
-19
-15
-34
-14
8
-11
-2
54
9
18
22
-39
-16
16
-34
19
-10
0
20
-35
-14
-30
-27
52
41
-11
90
-2
-9
-11
-16
0
24
48
6
16
-11
-17
0
-1
-10
59
15
31
54
26
21
9
15
51
26
-1
-22
-10
43
9
41
37
14
13
-14
46
-16
-22
39
64
45
0
7
38
1
57
-30
25
74
62
0
0
-1
9
6
-10
-13
37
68
0
0
0
0
0
-27
-12
118
34
0
0
0
0
0
0
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
23
46
29
7
-4
-2
-18
1
-86
-8
-1
16
-11
3
-3
0
0
29
-8
-44
-95
13
-10
16
17
13
0
-2
2
6
1
-41
57
-5
-16
42
15
1
8
37
15
4
-9
-9
18
-36
13
17
3
16
-5
0
0
-21
16
-16
-44
-3
25
2
37
19
0
1
8
0
-10
-75
59
32
33
24
26
-9
-7
15
26
5
-17
-14
21
53
-11
1
4
5
-2
0
0
-12
-21
32
17
3
-29
-10
2
11
3
12
9
-8
16
-23
2
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
14
0
49
-47
-6
-1
46
13
-15
38
-27
-4
3
0
0
-12
4
53
-13
58
-3
22
23
18
0
6
-3
0
12
2
24
32
6
-87
26
-3
47
21
-5
-2
1
0
8
15
18
-6
-2
9
7
39
82
55
26
-7
-17
29
3
0
0
0
-3
4
-14
20
-13
-33
-30
40
48
-19
-6
43
55
75
37
24
8
0
-11
30
41
-14
-3
60
-16
-13
-3
4
-2
-4
16
-40
-8
-23
-8
29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
37
0
42
9
8
7
-38
4
1
7
11
8
10
8
-67
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-8
-26
21
48
48
0
-2
-1
0
-2
1
0
0
-24
26
-65
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
-5
2
21
10
-4
1
-29
0
-2
0
2
-1
-20
-7
-10
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
17
6
13
2
7
-6
-18
-10
-20
-1
20
9
-16
7
-25
-49
17
16
3
-19
51
-11
-8
-14
-7
0
2
-2
-5
-18
24
-74
-26
-80
2
38
-9
8
5
-2
-3
13
10
-20
13
22
-15
-8
-43
8
23
59
46
-36
14
-6
-4
50
-27
-3
14
-11
-24
-1
-43
42
2
-9
32
19
5
-54
26
-12
19
11
12
3
38
5
35
35
23
-19
-22
7
7
4
14
27
5
17
0
50
7
-2
-5
-1
1
-7
-22
75
-48
-10
0
-6
0
0
0
-1
-1
19
6
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-46
0
-46
-24
-21
16
-1
4
-38
27
-39
-23
-8
25
-12
0
-1
1
-4
1
-13
13
-12
-59
10
25
0
0
0
0
0
-12
12
-58
-5
-14
-33
13
30
4
20
-1
3
-5
-7
-11
-9
2
6
3
-2
0
0
-3
12
18
-58
-5
-51
-42
5
4
0
0
0
0
1
-5
-12
16
-48
65
15
28
4
10
23
6
-15
-18
-17
8
-4
-20
25
6
-5
0
0
-1
-2
1
41
-15
-43
-11
17
-9
0
0
0
0
0
4
-7
34
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
18
-7
34
6
-7
-7
0
13
-25
-9
-10
-91
10
1
-5
0
0
-2
-3
8
6
-28
-43
21
29
32
0
0
0
0
0
0
25
-23
6
-40
8
-5
-4
-22
-24
-25
-1
-2
0
0
0
-2
0
-32
-31
4
-28
0
1
0
-22
34
2
0
0
-1
0
0
-1
-3
-8
-9
-49
0
6
-19
-6
43
55
75
37
24
8
0
-11
30
41
-14
-3
60
-16
-13
-3
4
-2
-4
16
-40
-8
-23
-8
29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
37
0
42
9
8
7
-38
4
1
7
11
8
10
8
-67
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-8
-26
21
48
48
0
-2
-1
0
-2
1
0
0
-24
26
-65
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
-5
2
21
10
-4
1
-29
0
-2
0
2
-1
-20
-7
-10
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
17
6
13
2
7
-6
-18
-10
-20
-1
20
9
-16
7
-25
-49
17
16
3
-19
51
-11
-8
-14
-7
0
2
-2
-5
-18
24
-74
-26
-80
19
-33
0
0
0
-174
-49
21
63
-5
-76
-60
-69
38
76
-9
-6
-25
-15
50
11
-13
-7
-21
-29
-9
-26
-1
-13
3
-11
-7
4
4
12
18
3
0
8
7
4
2
1
10
3
4
-4
0
-4
-2
11
2
-4
-20
-22
10
10
-13
-29
2
20
12
-20
-17
19
15
-16
-33
-5
-3
9
-7
-93
-16
-72
-32
-7
-40
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
-10
-15
2
2
0
-1
0
-5
19
12
8
-11
22
18
40
0
57
-13
-18
-11
-12
-15
-23
-4
1
-1
-3
-1
4
15
19
10
12
64
44
34
3
16
9
3
-1
-16
-3
2
2
1
-1
-1
-16
6
10
9
20
-28
18
62
-6
9
0
0
0
0
0
0
0
0
0
0
-10
-9
-6
-12
-17
5
0
2
-4
-4
20
13
15
18
8
30
6
-15
40
29
-20
-5
1
-5
-3
-39
24
31
47
41
-7
-2
-3
-2
-3
-27
24
15
12
27
17
-4
-8
-10
-18
59
5
-9
-33
-52
59
-41
-14
-3
7
-13
4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-3
-20
-18
34
-4
34
-2
-41
0
-1
0
0
0
0
0
0
0
0
2
2
2
6
7
-13
42
-4
-8
-19
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-12
-15
-15
70
8
8
-6
-53
0
0
0
0
0
0
0
0
0
0
-7
-18
-9
-13
-13
12
-14
-9
13
35
-14
-15
-10
0
0
-29
-11
15
28
17
-61
36
-9
59
-25
-5
11
-3
23
-16
-39
9
12
-3
62
-26
-5
19
-7
17
-12
-3
4
8
16
10
1
0
0
7
1
2
2
-1
-9
-20
3
-2
-5
-11
12
3
3
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
3
-3
-12
-12
-1
-2
-17
-21
-14
-13
-17
-21
-40
-74
-30
17
-69
-23
6
2
2
-6
-26
10
-6
-7
-11
-12
11
-13
-28
-27
-16
30
-4
-20
-28
-48
-13
-5
5
4
-6
15
1
-3
-11
-4
28
-14
-42
-18
-45
-37
-35
8
-65
-45
0
0
0
0
0
0
0
0
0
0
-7
1
-4
-4
0
3
1
-5
-2
-3
-21
-14
-3
-9
3
62
31
17
-91
26
15
-4
-9
-21
-6
34
15
-51
-54
-18
3
-4
-3
-9
2
20
-2
-16
3
-21
17
-4
-8
-10
-18
59
5
-9
-33
-52
59
-41
-14
-3
7
-13
4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-3
-20
-18
34
-4
34
-2
-41
0
-1
0
0
0
0
0
0
0
0
2
2
2
6
7
-13
42
-4
-8
-19
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-12
-15
-15
70
8
8
-6
-53
0
0
0
0
0
0
0
0
0
0
-7
-18
-9
-13
-13
12
-14
-9
13
35
-14
-15
-10
0
0
-29
-11
15
28
17
0
0
0
0
0
0
0
2
12
0
41
0
-19
4
-8
11
70
-17
-15
-65
-55
34
-26
20
7
26
18
30
-31
-26
-83
-90
3
-27
-20
22
8
34
-26
-58
15
-6
13
-12
-3
35
-18
-27
10
14
-39
3
4
-14
53
48
45
-2
45
39
-25
-4
1
73
38
-12
52
46
-3
-5
3
-5
8
33
19
8
21
-3
6
3
-4
-11
60
43
22
34
14
-3
-7
-13
29
66
80
48
-7
-32
-14
-2
8
55
33
15
-70
10
-5
-6
-11
11
-20
115
17
-46
-22
-6
-26
-9
21
-7
-110
48
31
33
-105
25
20
38
0
0
-4
10
-43
-42
-53
5
5
0
0
0
0
0
-12
-11
42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
25
15
23
9
-5
-3
-6
-7
-59
26
11
7
22
12
-3
0
-3
-12
34
1
-8
-32
-18
-9
4
-7
-4
-79
60
-17
-39
34
23
18
6
28
29
-17
-9
-8
-7
-6
-1
-6
64
-24
17
9
-7
4
-11
-2
1
16
14
-4
-15
-37
-22
0
4
3
-23
80
59
43
45
19
23
3
31
17
-26
25
10
5
5
-1
-6
-16
-26
-6
7
3
8
-7
-5
1
0
-54
24
11
2
-28
-5
-14
-1
-3
-13
53
20
25
58
18
-33
6
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
11
-6
-12
23
1
-8
-16
19
-5
-3
10
11
-5
-4
-2
-2
-73
2
6
2
5
-11
1
7
2
5
6
12
-2
45
-1
-67
34
-19
-25
-12
11
37
30
-1
-9
-3
-3
45
54
117
-5
-2
-13
-1
10
10
-48
0
7
-12
1
-2
-14
2
-4
-8
87
23
87
-1
-14
2
21
21
10
56
42
47
30
15
3
-5
-18
12
52
5
-2
8
28
-22
-19
-29
0
29
6
30
-9
-33
-43
-57
-103
-1
-29
2
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
29
44
13
19
9
-8
-15
-11
42
-13
4
6
19
18
-35
-23
-73
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
13
1
23
-7
29
-4
3
-22
0
8
6
-19
-4
-21
-13
-42
2
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
24
36
-10
14
-1
-11
-20
-14
1
-24
19
10
-20
11
5
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
55
-5
11
0
1
-11
-10
-19
-29
-36
62
12
6
-4
-41
-11
-31
-13
-13
-3
1
-3
-16
-14
-6
-7
-7
-11
24
53
38
-18
-51
-53
-54
8
-2
-47
71
-15
-52
47
6
-9
25
-5
8
-20
48
-103
-27
-49
32
-13
66
4
7
12
-3
36
-35
-1
-28
-31
38
-14
9
16
-10
1
4
27
33
17
4
0
17
6
-1
-5
13
10
3
-17
-8
-4
-3
-1
-4
18
32
-15
27
-18
0
-19
0
0
-15
65
11
-34
26
1
-8
-1
-2
0
-2
5
-13
-25
22
-33
19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-7
0
-20
-39
5
1
-1
-2
-52
-32
-64
18
9
-8
-22
0
-2
-7
-44
44
-22
-7
5
-41
13
-9
0
0
0
0
9
-39
-62
57
-3
10
-34
27
0
20
-2
-9
3
-1
-5
18
3
17
-20
-9
-11
0
-4
-53
34
44
-22
-40
11
-28
-2
-8
0
0
0
-31
25
6
15
-18
24
-33
20
34
-35
14
1
-1
0
-9
38
51
11
-39
2
-13
-7
2
0
1
-20
26
0
-19
-30
-70
5
2
0
4
1
50
31
-15
-53
-17
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-23
36
-13
2
-8
-7
1
-5
-52
-46
-30
-26
-7
-2
-6
0
-3
18
5
55
15
-30
15
-16
-11
2
0
0
0
0
5
-7
-12
-45
51
-43
4
-49
-39
-12
-1
-15
-4
-12
-31
-51
-12
-50
-25
-27
-46
7
13
-59
23
21
28
-7
1
-13
-1
-7
8
-23
-57
-94
-33
-42
-17
15
0
10
56
42
47
30
15
3
-5
-18
12
52
5
-2
8
28
-22
-19
-29
0
29
6
30
-9
-33
-43
-57
-103
-1
-29
2
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
29
44
13
19
9
-8
-15
-11
42
-13
4
6
19
18
-35
-23
-73
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
13
1
23
-7
29
-4
3
-22
0
8
6
-19
-4
-21
-13
-42
2
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
24
36
-10
14
-1
-11
-20
-14
1
-24
19
10
-20
11
5
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
55
-5
11
0
1
-11
-10
-19
-29
-36
62
12
6
-4
-41
-11
-31
-13
-13
-3
1
-3
-16
-14
-6
-7
-7
-11
24
53
38
-18
-51
-53
-54
19
-7
0
0
0
-72
12
-20
64
-40
-42
28
-25
10
23
-9
-12
28
-14
65
22
-16
8
-11
18
-7
4
-1
8
14
-10
11
23
11
-8
15
7
16
15
11
26
0
12
-9
-5
8
-7
0
4
-13
6
0
-22
-21
-14
5
-4
-27
-16
-22
-8
-61
-16
8
19
38
-30
-75
9
45
-1
-70
-64
30
-65
-39
-27
-33
2
0
0
0
0
0
0
0
0
0
0
0
-4
2
-3
4
-25
-1
4
-8
-6
-6
14
-2
-5
-10
-5
47
0
-40
-6
62
-5
-6
-2
2
-5
-4
-4
-5
-9
-3
-16
5
-6
-24
-11
19
-4
17
18
0
24
11
7
5
-2
-10
1
-1
2
2
-26
-12
-3
-5
-10
-48
-10
-26
13
24
0
0
0
0
0
0
0
0
0
0
25
-2
7
-13
-3
5
0
-3
1
-3
-20
-6
-3
3
-22
-44
10
9
-39
25
-38
-11
-17
-7
-11
-13
-24
-5
4
15
-9
-16
-8
-12
-20
-78
-19
-18
12
32
6
-4
-18
-10
-25
37
4
-12
-15
-16
55
50
-33
-35
-5
0
-1
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-11
9
-9
20
-16
9
3
18
0
-1
0
0
0
0
0
0
0
0
3
10
-19
-13
-15
-20
-10
3
57
-33
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-9
-15
-24
-13
81
14
-27
-34
-36
0
0
0
0
0
0
0
0
0
0
-19
-14
-11
-18
5
-44
4
23
-1
5
-23
-19
-11
-19
6
-2
6
-14
26
-9
62
-59
-22
68
-57
-7
-24
5
58
16
-10
-16
-7
28
4
-16
-16
7
3
16
3
1
4
1
11
3
4
4
-5
5
-1
11
-3
-3
5
-4
1
-5
3
-15
13
0
3
-11
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-5
-4
-14
-4
-3
-1
-23
-18
-1
-29
7
-32
-19
18
23
-2
3
-146
14
-2
-5
-9
5
4
-4
-11
-26
-14
8
5
-17
-32
-44
14
20
-17
-65
-34
16
9
-12
-14
-6
28
-3
-8
-30
-9
48
-15
-26
-62
-47
48
-65
-127
-7
-46
0
0
0
0
0
0
0
0
0
0
10
2
-10
-1
-2
-2
-1
-2
-12
5
26
-9
-3
-16
-9
67
-4
-10
-61
9
15
-7
-8
-10
-13
35
-3
-24
-37
-45
-11
-3
-11
-10
6
-18
-2
-1
2
-12
6
-4
-18
-10
-25
37
4
-12
-15
-16
55
50
-33
-35
-5
0
-1
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-11
9
-9
20
-16
9
3
18
0
-1
0
0
0
0
0
0
0
0
3
10
-19
-13
-15
-20
-10
3
57
-33
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-9
-15
-24
-13
81
14
-27
-34
-36
0
0
0
0
0
0
0
0
0
0
-19
-14
-11
-18
5
-44
4
23
-1
5
-23
-19
-11
-19
6
-2
6
-14
26
-9
0
0
0
0
0
0
0
2
12
0
-4
-6
-9
49
-11
52
68
10
61
29
-11
28
-31
11
-53
10
57
-17
-69
-24
-29
-126
6
86
11
45
32
9
28
-2
-22
-18
8
7
7
14
32
-35
-42
39
11
12
14
2
82
41
36
38
44
-2
-8
11
1
81
22
5
55
38
4
-2
2
-8
58
83
64
-4
-5
22
-9
-1
6
-52
7
9
-8
1
-11
-4
-4
6
-37
1
78
-32
6
-23
-10
-6
-4
-78
-3
-64
-26
7
-25
1
-11
6
5
69
-23
-67
-51
-7
-13
2
18
5
-34
-43
0
-20
66
-18
-13
6
0
0
1
2
-68
-78
4
12
-10
0
0
0
0
0
-12
-19
23
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
4
-23
-7
6
5
7
-1
-7
38
29
41
30
13
7
-15
-1
-4
-14
15
-45
-14
-18
-6
-20
3
-8
-4
-19
62
-12
-22
-35
-19
1
30
21
-14
-6
-11
-13
6
-6
1
0
11
33
22
4
6
10
-6
-12
-5
41
-3
-13
2
-18
-7
-4
7
-29
-30
74
67
9
-36
-8
-17
-16
7
17
9
10
4
0
5
1
9
6
-5
-2
7
12
8
-10
-10
3
-6
-2
16
9
-5
-20
-5
-14
-5
-1
39
52
42
25
9
-41
-24
-14
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
23
-32
21
10
8
3
-1
5
13
3
17
-9
-10
-1
-1
0
-4
-37
0
-22
11
6
-9
-7
-7
-3
-13
-2
7
-10
36
11
-32
-26
-49
27
-71
-15
5
3
-7
-17
-1
-16
79
79
99
-8
-2
-19
-7
-20
-35
66
40
36
-10
-2
-10
-16
-3
-7
-74
34
34
12
-34
-27
-9
3
-30
93
22
10
8
27
2
-14
-13
-11
20
26
39
36
29
-7
-38
-10
-18
14
18
26
20
-1
-51
28
-42
-136
0
-7
0
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
47
24
9
12
-5
-10
-10
-30
-18
-7
-14
25
18
-27
3
-41
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
56
14
26
20
-15
-18
-14
0
6
4
2
20
-9
-21
-37
-19
-68
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
11
41
7
24
4
-32
-19
-23
6
24
-25
11
21
6
-13
-77
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
20
27
-3
4
-7
-11
-21
-3
26
14
4
-28
-7
-5
-21
-38
30
13
6
-1
2
-7
-9
-13
-19
1
-15
-18
0
42
-12
-38
-43
-48
-5
28
19
16
6
-32
66
-48
-2
14
-6
4
-17
52
-29
-12
-28
-41
65
32
29
12
9
-25
7
-11
-41
-65
-18
-27
-1
25
-1
3
-7
2
-44
32
-3
14
-24
2
7
-1
-11
-25
37
-45
-21
-26
-9
-3
9
-9
73
40
-20
10
-16
4
-17
-4
9
-35
-33
50
28
-37
11
-15
-2
12
0
-2
-4
-56
77
-50
-3
-3
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-20
-5
2
2
-6
-4
7
-35
-55
-42
-4
-34
-19
-16
3
-13
15
16
-57
-65
-16
27
-1
0
-20
0
0
0
0
-5
2
-42
9
33
-44
-13
25
18
-19
-4
-5
-6
-1
-10
46
12
-20
-19
-12
-12
-6
-13
-21
14
19
49
20
3
-51
0
-45
0
0
0
-33
94
39
-65
-2
-23
43
41
-9
-3
9
-19
0
-3
-2
106
60
4
-49
11
-6
-39
2
-9
-12
-34
42
-7
-51
-41
-25
5
-23
0
4
0
48
13
-27
-114
23
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-52
12
-27
-1
11
-6
4
1
-30
9
-29
-18
-16
1
-10
-2
-3
16
17
63
61
-22
-30
1
-4
-22
0
0
0
0
1
-26
26
-21
55
2
-35
-25
-6
-6
-15
-23
1
-7
3
-8
-9
-25
35
-3
-12
7
-25
7
-10
13
-18
-18
-4
-15
1
-5
-9
-1
-40
-73
-54
-27
12
19
-38
93
22
10
8
27
2
-14
-13
-11
20
26
39
36
29
-7
-38
-10
-18
14
18
26
20
-1
-51
28
-42
-136
0
-7
0
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
47
24
9
12
-5
-10
-10
-30
-18
-7
-14
25
18
-27
3
-41
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
56
14
26
20
-15
-18
-14
0
6
4
2
20
-9
-21
-37
-19
-68
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
11
41
7
24
4
-32
-19
-23
6
24
-25
11
21
6
-13
-77
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
20
27
-3
4
-7
-11
-21
-3
26
14
4
-28
-7
-5
-21
-38
30
13
6
-1
2
-7
-9
-13
-19
1
-15
-18
0
42
-12
-38
-43
-48
1
0
0
0
0
43
-30
-6
4
1
16
52
10
6
9
65
-11
-11
-6
-2
29
22
-1
-8
25
26
-10
24
-32
-2
33
-23
42
19
34
-7
6
8
4
-21
21
52
-21
-24
8
-59
0
7
12
-5
-30
-28
9
85
-20
-22
0
-6
-6
4
-56
19
-21
8
-4
-30
14
-7
-12
-44
5
-19
-33
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-9
-3
-19
-13
-27
15
-17
-21
9
25
-18
-16
17
-53
16
-6
-63
-12
-1
-6
-21
-11
15
-3
11
1
-17
-34
30
30
0
-61
-3
9
50
0
-25
7
-109
31
-2
-7
25
-3
18
-1
10
-14
-21
-10
-4
-23
0
15
-57
9
-29
10
36
0
0
0
0
0
0
0
0
0
0
10
3
-31
-6
53
-3
2
-6
11
-32
-2
9
6
-30
8
-67
14
-11
5
-6
-12
-2
-13
-6
-2
-80
-40
24
9
-15
-6
-31
-26
10
-42
42
5
-58
-34
-13
6
4
-27
1
-13
-10
-21
4
-3
0
-1
-21
-21
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-13
-23
7
19
-36
-36
7
-8
0
0
0
0
0
0
0
0
0
0
10
-39
-4
32
25
9
-28
13
14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-18
43
4
-42
-13
23
-8
-24
-18
0
0
0
0
0
0
0
0
0
0
0
-19
9
6
-32
-42
12
-10
10
-12
-22
-34
-35
2
-13
-82
7
1
1
46
35
-11
0
13
0
-6
31
5
-33
45
-35
-1
10
70
-27
-1
42
-4
14
14
24
6
5
14
27
-29
-18
11
-4
2
-15
-23
-11
-23
8
-5
19
0
-14
-53
69
-13
-58
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
10
-6
4
30
-35
-13
-2
0
-16
-1
5
-28
-19
-35
-39
0
-10
-10
2
7
8
2
-9
-9
-41
-23
48
34
30
1
-1
-23
-91
-13
27
-49
12
-21
-29
1
-9
28
0
56
-25
-43
-28
21
-70
35
3
16
-60
24
-5
-38
2
-10
0
0
0
0
0
0
0
0
0
0
4
4
-20
8
19
2
-7
-2
-8
-27
-17
19
-56
10
17
19
14
-22
3
1
14
11
19
-15
-65
6
0
27
-30
-8
14
35
-12
-33
-51
11
-38
20
-25
-15
6
4
-27
1
-13
-10
-21
4
-3
0
-1
-21
-21
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-13
-23
7
19
-36
-36
7
-8
0
0
0
0
0
0
0
0
0
0
10
-39
-4
32
25
9
-28
13
14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-18
43
4
-42
-13
23
-8
-24
-18
0
0
0
0
0
0
0
0
0
0
0
-19
9
6
-32
-42
12
-10
10
-12
-22
-34
-35
2
-13
-82
7
1
1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-5
13
0
0
-2
-2
29
13
-4
-32
60
0
7
20
5
-9
10
-43
3
-18
-11
-7
-39
16
-15
-1
56
4
-26
2
-34
9
-26
-21
-5
-41
4
29
34
21
-15
73
26
-30
-13
-13
17
-8
17
16
6
16
16
-8
31
-41
-21
-14
-5
-24
14
35
2
15
-38
17
5
15
-35
-55
-24
37
-32
13
1
-12
-26
-63
53
-15
26
-35
52
-12
-13
21
25
-78
-4
-5
34
8
0
-3
2
-3
6
10
-28
-4
39
0
-1
-3
-10
14
28
-49
-2
-14
0
0
0
0
0
-17
2
-13
-8
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-19
-10
20
-5
41
-23
-6
20
34
17
10
30
1
5
-1
-3
-51
-20
-10
19
-5
3
-17
-10
-14
9
-4
0
-5
-17
-48
-20
-39
52
-13
-13
42
-18
-39
28
3
-2
5
3
4
-11
16
-8
14
3
-2
9
-16
15
-17
-50
32
-8
2
-23
-14
3
0
6
17
-43
5
-26
-14
-11
-46
10
31
30
-26
6
0
-14
20
-26
26
8
-37
1
-2
24
-4
1
-16
-8
-29
15
47
6
-21
5
-38
-6
-4
6
-9
-12
16
-1
-26
-16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
19
6
9
3
-31
24
-8
22
33
23
-15
-2
-6
13
-4
-11
-24
-21
-65
10
-3
6
-25
25
24
0
0
0
-3
2
-13
-25
7
-35
8
4
15
-24
-10
6
-34
-8
9
-1
3
-9
-55
-31
37
47
-72
-41
15
15
24
2
18
-56
-36
-1
6
1
-7
16
14
-29
24
-16
-15
-63
-32
18
-1
-12
25
-7
-34
-7
18
11
13
46
24
2
2
-18
-58
-41
0
0
1
-8
12
-39
14
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
17
76
10
-17
-10
-26
-10
-30
1
0
-1
7
-8
-9
39
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
62
36
-4
14
-17
-2
-16
-42
1
-1
1
0
-21
5
-10
-22
24
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
28
36
-14
37
-1
-24
-35
-50
0
0
0
-7
-1
11
-7
-43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
34
65
-10
-20
-26
-23
-2
3
0
3
3
19
7
5
-33
-44
-24
0
23
13
-26
-12
-25
16
-11
-4
0
-1
1
-42
39
16
-27
-22
-18
0
0
1
-2
-2
3
30
-11
8
3
19
-8
-1
-21
12
-30
24
28
16
3
3
-4
56
5
25
-42
-58
-13
-10
8
13
14
8
14
-20
10
17
-38
-10
-3
14
-27
-13
28
32
7
-2
10
6
-52
28
-7
-20
17
-37
17
-4
12
6
47
16
-15
-58
2
0
-7
-15
20
-25
-2
1
11
0
0
1
-20
21
-7
-11
60
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
51
-29
30
-15
-11
8
-24
23
32
-69
17
34
25
16
-16
-31
-14
-2
10
-12
-48
-34
-9
-54
75
3
0
0
0
0
0
7
-4
-80
-12
-20
6
6
6
5
-15
-3
21
3
19
1
-5
-11
-1
37
-23
-29
21
6
-5
9
30
-25
-17
-11
-30
-14
0
0
0
-1
7
12
-42
-3
-21
-9
30
-3
11
20
-27
-17
10
-31
49
-19
-5
62
5
4
-24
-18
0
3
-6
16
-16
-38
19
-43
11
-33
0
0
0
8
8
-21
1
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-21
22
-26
6
21
-17
9
10
-8
2
-7
14
2
-2
4
-7
-7
6
2
-4
-7
21
-40
-24
31
-59
0
0
0
0
0
0
-9
4
13
28
5
-21
-26
18
-2
-22
2
-9
0
0
0
6
-6
30
-36
11
-46
1
-49
-16
-16
3
-5
-15
13
-31
0
0
3
24
-12
3
-23
-40
-25
-32
18
-1
-12
25
-7
-34
-7
18
11
13
46
24
2
2
-18
-58
-41
0
0
1
-8
12
-39
14
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
17
76
10
-17
-10
-26
-10
-30
1
0
-1
7
-8
-9
39
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
62
36
-4
14
-17
-2
-16
-42
1
-1
1
0
-21
5
-10
-22
24
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
28
36
-14
37
-1
-24
-35
-50
0
0
0
-7
-1
11
-7
-43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
34
65
-10
-20
-26
-23
-2
3
0
3
3
19
7
5
-33
-44
-24
0
23
13
-26
-12
-25
16
-11
-4
0
-1
1
-42
39
16
-27
-22
-18
0
5
0
0
0
-44
-32
-5
-24
-2
-26
-33
-47
60
-57
9
-95
-11
39
14
-48
-13
-33
-12
-1
-68
-21
-6
-23
-54
-4
-30
-39
-43
-25
-21
-37
-33
-30
-24
-2
0
1
-1
4
30
37
35
62
63
51
47
54
74
70
15
51
71
64
54
19
16
45
32
70
14
3
-14
29
74
18
41
-29
41
16
1
8
6
0
0
0
0
0
0
0
0
0
0
0
0
-28
-12
-24
-10
-44
-3
0
0
0
1
-1
13
43
33
16
35
49
21
30
45
-12
-13
-37
-33
-32
-1
0
-1
0
0
42
24
21
24
24
-88
58
58
70
84
-14
-7
-8
-17
11
1
0
0
0
1
6
6
16
10
44
-52
-37
4
52
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
-39
-44
-2
0
0
0
1
31
-5
36
21
42
76
7
23
36
32
-10
-1
-1
0
1
50
92
65
38
50
-8
-2
-1
0
0
19
56
22
35
80
12
17
12
20
-9
38
20
-24
-11
-19
1
-29
-20
17
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
10
-3
2
3
34
54
-33
-17
-8
0
0
0
0
0
0
0
0
0
0
-11
10
17
10
4
-1
47
-33
-53
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
43
0
-3
-10
-27
-9
51
-4
0
0
0
0
0
0
0
0
0
0
-1
-6
-20
-17
-9
28
5
-37
-43
11
7
-1
-22
-31
-43
-16
-31
-28
-44
29
19
35
35
12
-2
-66
56
20
-3
19
-20
61
28
12
84
-30
0
41
22
118
-24
5
14
34
80
9
3
12
8
13
12
-3
-1
7
-2
2
-8
-3
2
11
10
-5
11
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
5
0
-6
-3
-1
-1
-1
-1
15
14
-37
-28
-80
13
-8
-40
-104
17
12
-3
7
6
9
0
-1
-1
-1
0
30
2
-25
-21
6
-71
-46
69
4
-50
-44
1
-19
3
15
2
0
0
0
0
-7
6
-34
-1
-52
27
62
-50
-19
-31
0
0
0
0
0
0
0
0
0
0
-31
-5
5
-14
0
-1
0
-2
0
0
49
8
-3
-36
-23
48
10
0
-23
4
-15
-7
-2
0
0
10
-26
-64
6
-30
-14
-2
-2
-1
1
14
-26
2
9
75
12
17
12
20
-9
38
20
-24
-11
-19
1
-29
-20
17
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
10
-3
2
3
34
54
-33
-17
-8
0
0
0
0
0
0
0
0
0
0
-11
10
17
10
4
-1
47
-33
-53
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
43
0
-3
-10
-27
-9
51
-4
0
0
0
0
0
0
0
0
0
0
-1
-6
-20
-17
-9
28
5
-37
-43
11
7
-1
-22
-31
-43
-16
-31
-28
-44
29
0
0
0
0
0
0
0
1
0
0
-2
-2
0
1
-2
1
-46
-4
0
-9
-22
-6
5
21
-40
-5
-59
4
-27
-30
0
-69
15
12
-42
-93
-21
9
-6
-90
-65
-21
13
-45
3
4
-34
-20
-17
-15
-41
-16
-38
5
-64
-27
17
17
-6
-14
-10
-14
-9
94
2
5
42
-17
2
-1
-8
-9
14
26
-47
30
-24
-4
2
-1
0
-30
47
16
7
61
9
31
10
23
27
-20
27
-23
15
75
7
56
40
24
-11
15
25
-6
-26
62
47
48
7
7
2
-4
6
27
12
40
35
0
0
0
0
0
3
7
47
68
0
0
0
0
0
-3
-22
86
55
0
0
0
0
0
0
-1
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-24
-19
33
29
-3
-12
-10
-9
10
46
-9
-29
-46
6
3
0
0
-50
-76
-17
-19
22
-27
8
20
6
-8
7
5
-18
6
-16
-9
66
22
13
48
-13
18
-16
-9
-4
-15
-8
13
-88
5
-54
14
-22
5
0
0
-64
29
-29
-10
-31
32
-5
22
20
-5
-25
-10
-19
16
3
29
39
67
12
21
-32
-18
-3
31
11
-1
-5
-20
-52
11
-1
-1
-5
2
0
0
-23
-26
9
7
-15
-26
-3
20
21
-32
-2
-35
-38
-3
13
-12
33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-48
0
13
-46
16
-3
-10
-15
21
-28
-19
-2
15
-8
1
0
0
-66
-41
-29
-48
6
18
52
11
12
0
11
-6
25
-4
-20
-30
91
37
20
4
-5
-14
22
-3
5
2
0
-13
-5
5
21
-4
-18
13
43
80
-10
-46
-24
0
-11
-6
-3
0
0
-8
-3
-1
8
0
3
-46
39
-9
-13
-40
15
-3
-12
-22
14
6
13
3
-2
-14
-16
-4
32
-17
20
21
4
9
-6
-14
-20
-21
1
7
7
0
0
3
-2
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-38
42
-31
13
11
-3
-7
26
21
-7
-18
5
29
14
13
-16
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-14
-9
-4
-37
-18
11
-6
10
0
-3
0
0
-14
14
13
33
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
17
14
-32
-30
-34
-2
-2
17
0
4
-1
2
-3
-32
21
-59
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-3
-30
11
13
-1
-2
-9
-6
-31
-6
-13
-22
4
-33
6
-8
5
-13
-54
-19
-22
-41
-8
3
-14
-4
-12
24
0
-4
-6
-32
-1
-25
-51
0
21
20
22
3
-4
2
-14
3
-11
-2
-30
-40
13
103
-36
85
-33
-75
-45
-15
38
21
-39
11
18
27
-27
-51
-44
-26
-27
58
-17
18
41
26
12
-30
-62
-58
-10
-24
22
24
-38
-9
-4
27
-12
-40
0
1
4
39
12
-13
-15
-19
-3
14
-3
3
0
-9
0
9
44
-20
-8
-5
0
0
0
0
0
10
74
21
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-19
-48
-44
25
-15
7
3
-2
-70
-68
-30
-47
-64
-20
10
-1
-1
-5
-1
-5
5
16
2
19
9
-23
0
0
0
0
0
-1
-17
19
-62
19
32
-13
-3
21
13
-2
2
-11
-29
-59
-68
-66
-51
-4
6
0
0
-59
-22
-32
21
7
-34
-13
9
-5
0
0
0
-1
1
10
3
-7
-78
20
58
9
-16
6
39
17
-10
-22
-47
-76
2
-21
-13
-8
2
0
0
-62
4
30
31
-30
31
-24
9
14
6
21
5
-7
16
-40
-32
58
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-52
40
5
-2
-10
1
-2
1
-106
-22
-108
-34
-29
-11
3
0
0
-1
-4
-7
-14
22
26
-3
11
22
0
0
0
0
0
1
-25
-2
63
-67
-64
-2
3
-13
-43
5
0
-2
0
1
0
2
-19
31
28
-28
5
-17
-42
-18
-4
-2
-11
-6
0
0
0
0
-6
1
-13
12
-40
-8
-3
-13
-40
15
-3
-12
-22
14
6
13
3
-2
-14
-16
-4
32
-17
20
21
4
9
-6
-14
-20
-21
1
7
7
0
0
3
-2
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-38
42
-31
13
11
-3
-7
26
21
-7
-18
5
29
14
13
-16
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-14
-9
-4
-37
-18
11
-6
10
0
-3
0
0
-14
14
13
33
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
17
14
-32
-30
-34
-2
-2
17
0
4
-1
2
-3
-32
21
-59
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-3
-30
11
13
-1
-2
-9
-6
-31
-6
-13
-22
4
-33
6
-8
5
-13
-54
-19
-22
-41
-8
3
-14
-4
-12
24
0
-4
-6
-32
-1
-25
-51
0
33
5
1
0
-140
8
-31
41
1
1
-72
-83
60
-8
-26
1
-7
-22
38
-19
-37
-15
-26
33
24
-7
-22
-10
12
3
-1
8
0
-1
9
8
14
3
13
5
2
6
10
2
10
2
2
1
12
17
0
-3
-4
-5
4
-4
4
-29
19
44
-1
-25
-21
-33
-19
10
-26
-84
16
13
-10
-79
-51
-27
-20
-38
-15
-7
1
0
0
0
0
0
0
0
0
0
0
-4
-7
-3
-16
-11
0
-1
-3
0
-6
20
16
23
-1
7
89
6
23
8
7
-11
-10
-8
-15
-8
-3
1
-2
-2
-6
12
24
22
22
20
4
28
16
38
16
17
-3
-8
-4
-12
-1
-2
-1
1
2
-8
1
2
17
8
-69
7
11
38
53
0
0
0
0
0
0
0
0
0
0
-8
-3
-6
-6
-11
1
-2
0
-5
0
-1
12
25
9
10
22
66
19
-33
55
-18
-7
-2
-9
2
-12
24
40
51
43
-2
-4
-4
-9
-3
-35
14
16
12
41
39
1
-7
-11
-20
35
29
-14
-40
-46
30
24
-18
24
-65
-8
56
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
6
-18
-10
-7
-16
20
7
9
27
2
-3
0
-2
0
0
0
0
0
0
19
4
-9
-14
-26
3
-7
-8
10
-27
5
0
-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
-2
-5
-6
-6
-5
15
-32
24
5
-23
0
0
0
0
0
0
0
0
0
0
-20
-16
-11
-3
-10
2
-16
-2
18
5
-33
-23
-12
6
18
-4
-7
6
28
43
-70
42
48
-15
4
-22
28
37
10
-14
-12
4
-2
8
15
-6
-5
-14
18
16
-7
-2
-8
11
7
7
-4
1
8
13
18
-3
1
2
1
40
7
-2
-7
-10
25
-3
-25
-26
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
-12
8
-1
-10
-14
-21
31
-2
-22
-41
-37
100
-18
-59
-19
-21
3
2
-2
-3
-2
48
6
-17
-27
-32
95
3
-49
-77
-64
153
21
-89
-113
-66
-7
-4
4
16
10
48
1
-10
-7
-7
130
15
-43
-83
-92
172
-20
-106
-83
-109
0
0
0
0
0
0
0
0
0
0
-15
2
5
-9
0
-3
-3
2
-9
-5
42
7
-4
-23
-18
43
35
-38
-64
20
-2
-5
-9
-8
-6
21
-41
-18
-1
1
12
-1
-7
-15
-14
45
-22
-28
9
-1
39
1
-7
-11
-20
35
29
-14
-40
-46
30
24
-18
24
-65
-8
56
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
6
-18
-10
-7
-16
20
7
9
27
2
-3
0
-2
0
0
0
0
0
0
19
4
-9
-14
-26
3
-7
-8
10
-27
5
0
-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
-2
-5
-6
-6
-5
15
-32
24
5
-23
0
0
0
0
0
0
0
0
0
0
-20
-16
-11
-3
-10
2
-16
-2
18
5
-33
-23
-12
6
18
-4
-7
6
28
43
0
0
0
0
0
5
8
8
0
0
-10
-32
-42
16
42
7
-11
-16
-18
-27
-68
-25
-76
49
-34
44
6
-34
-22
-48
33
11
-11
6
-10
-20
-74
-10
-51
7
-66
-20
12
2
19
-36
-6
-7
-2
-14
-10
5
10
-2
-73
-63
14
-12
4
11
8
8
10
-73
-73
73
11
20
2
7
5
17
44
-46
23
43
-11
13
11
-4
5
58
-5
12
116
6
35
21
-7
1
15
81
51
13
35
12
3
-12
1
-68
93
31
26
25
32
5
-9
-8
49
35
13
-71
33
-26
-25
3
-19
-13
-24
11
-80
-37
-38
-43
-22
36
0
0
0
0
-2
-50
-59
5
42
0
0
0
0
0
0
-14
-43
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
66
24
16
10
0
-1
-2
-11
44
-27
18
9
-20
1
5
0
0
-40
-9
-25
-38
2
-9
20
6
-2
-82
-59
-33
3
-2
55
18
4
43
-37
-11
-26
2
-24
4
-1
0
-1
9
-44
25
-26
2
-2
7
-2
2
-41
11
-1
-10
5
3
10
4
3
-35
-37
-20
43
-17
9
10
27
48
54
-24
-12
-2
29
6
14
1
6
31
7
-5
-2
-8
9
6
-1
0
-17
23
-25
-6
-2
-4
3
8
19
-41
-50
6
-1
12
-36
25
19
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-26
26
13
13
-13
1
4
5
1
8
-16
-21
-5
-8
6
2
-3
-23
-32
-31
-22
-18
8
6
11
10
-55
0
-32
58
34
3
-29
43
79
32
19
-18
-18
32
6
5
1
-2
-32
35
64
3
-26
-28
-4
6
17
6
-17
3
23
6
-18
-6
2
-1
-37
20
-60
17
-15
-1
14
13
9
-59
-45
-34
19
-22
-18
-9
2
9
-48
-1
-10
-12
-30
-20
-1
15
45
47
-3
-14
-34
-32
-33
-3
41
153
0
0
6
0
-6
-8
8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-20
-15
-21
-28
-17
6
7
23
-13
-46
-12
-8
55
-30
31
-2
9
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-17
-15
-16
-28
-39
-15
0
10
26
0
17
-11
-7
-49
-74
-12
11
73
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-22
-22
-3
-35
-37
-7
10
23
-1
23
18
-19
-4
-44
-15
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
1
2
-10
-14
-6
-3
-5
-7
-80
-1
-5
24
-50
8
-5
-2
-5
-4
-4
-5
3
1
-18
-2
2
-12
-64
19
11
-5
2
-13
-19
12
17
-24
29
6
22
0
-66
-55
2
-3
-10
-23
-47
-32
-19
72
-26
47
88
-55
-7
3
20
14
9
-15
7
28
-79
-26
-6
-19
20
22
19
-5
13
-10
-28
18
-4
8
-2
4
-2
4
-57
42
-13
0
-13
-6
1
1
-1
32
-1
-25
-38
-62
12
12
2
4
23
-35
-7
81
105
-12
33
-2
7
0
0
0
0
-21
-45
23
-23
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
-70
-19
17
-40
-6
-15
5
3
3
-37
-13
-93
-23
-32
-3
7
0
-4
-54
-56
21
-7
-11
13
3
0
-17
0
0
0
4
62
-30
-72
-19
-33
-6
9
23
-11
18
-5
1
4
-3
3
-4
-13
-8
-22
-1
9
1
-6
-14
-24
-4
-12
-47
-44
-1
-13
-2
-1
12
9
-21
109
-41
-1
-30
-2
11
53
23
19
12
19
5
-2
-6
-38
-9
3
-48
-18
-17
3
3
3
-84
-24
-28
27
14
1
-7
-4
-8
51
-32
-48
-16
20
-9
-37
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-21
22
-18
6
-2
1
2
16
-17
3
-61
-17
-10
-10
3
1
4
-24
-135
-32
0
-39
-3
23
12
23
0
0
0
0
0
-4
-15
43
-5
-41
-42
6
-4
14
-26
-9
-1
-1
1
18
2
-12
-28
44
-24
-5
-36
17
2
22
8
13
-5
-7
-1
-4
-36
-46
-54
18
-61
-9
27
7
-33
-59
-45
-34
19
-22
-18
-9
2
9
-48
-1
-10
-12
-30
-20
-1
15
45
47
-3
-14
-34
-32
-33
-3
41
153
0
0
6
0
-6
-8
8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-20
-15
-21
-28
-17
6
7
23
-13
-46
-12
-8
55
-30
31
-2
9
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-17
-15
-16
-28
-39
-15
0
10
26
0
17
-11
-7
-49
-74
-12
11
73
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-22
-22
-3
-35
-37
-7
10
23
-1
23
18
-19
-4
-44
-15
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
1
2
-10
-14
-6
-3
-5
-7
-80
-1
-5
24
-50
8
-5
-2
-5
-4
-4
-5
3
1
-18
-2
2
-12
-64
19
11
-5
2
-13
-19
12
17
0
31
5
1
0
-52
6
15
22
-51
50
-49
25
5
-3
18
-29
7
-33
30
7
-17
-4
12
19
-3
11
10
-1
7
-5
11
14
10
3
18
3
13
15
15
19
3
7
-7
0
4
-6
2
11
2
-30
-11
1
-5
19
-19
-5
-5
-23
-31
-14
-40
-22
-8
-14
20
29
-19
-73
-2
-5
-32
-87
-16
-17
-34
-35
-32
-7
1
0
0
0
0
0
0
0
0
0
0
-11
-3
12
-20
7
10
-3
-5
-8
0
22
-8
-7
-7
-34
-5
33
-7
-10
3
-10
-9
-6
3
-1
-1
-7
0
1
-6
-10
-4
1
-11
-2
-16
9
5
3
11
30
13
7
11
16
11
-1
1
-2
0
-23
-7
-5
-4
9
-71
-16
0
14
32
0
0
0
0
0
0
0
0
0
0
-5
-5
6
14
6
-4
1
-2
-4
1
30
-14
-14
-21
1
36
-4
31
-55
-2
-22
-15
-11
0
-8
-21
-8
-6
-32
-20
-7
-10
-12
-8
0
-33
-19
-11
2
-1
20
8
-16
-27
-8
35
20
-29
-40
-22
66
34
-36
-63
3
5
5
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-16
-16
-20
4
8
1
-1
-27
43
2
-3
0
-2
0
0
0
0
0
0
26
5
-26
-15
-11
38
4
-57
-26
-3
5
0
-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
42
-16
-15
0
10
8
5
-9
-28
8
0
0
0
0
0
0
0
0
0
0
-17
-14
-17
-12
1
-18
5
-51
18
15
-43
-27
-4
15
4
-35
-15
2
18
33
70
-62
23
-49
18
1
-13
34
63
-49
-3
-6
-29
31
-8
-36
15
-11
10
-9
-11
-2
1
12
17
14
-1
-3
7
-4
21
-5
7
-3
2
5
8
5
-13
12
49
-14
-25
-19
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-8
4
-16
26
2
-1
-27
-22
10
1
-26
-41
-24
10
7
-27
-18
-70
28
7
-7
-4
-12
70
2
-25
-40
-21
141
-25
-49
-79
-32
134
-33
-102
-44
-39
29
5
-19
-5
19
98
4
-40
-42
-28
136
-2
-96
-96
-30
152
-75
-100
-100
-35
0
0
0
0
0
0
0
0
0
0
-8
3
-2
5
-12
-8
-2
0
-6
14
27
14
-5
-21
-32
-21
36
-72
-56
33
15
-9
-11
-3
-48
29
-14
-8
-33
-10
35
-9
-15
-14
-5
19
2
-35
-16
-31
20
8
-16
-27
-8
35
20
-29
-40
-22
66
34
-36
-63
3
5
5
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-16
-16
-20
4
8
1
-1
-27
43
2
-3
0
-2
0
0
0
0
0
0
26
5
-26
-15
-11
38
4
-57
-26
-3
5
0
-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
42
-16
-15
0
10
8
5
-9
-28
8
0
0
0
0
0
0
0
0
0
0
-17
-14
-17
-12
1
-18
5
-51
18
15
-43
-27
-4
15
4
-35
-15
2
18
33
0
0
0
0
0
5
8
7
0
0
-14
16
-2
6
78
23
19
-42
-29
-1
-52
-12
8
-19
4
89
24
-9
24
-7
6
-2
36
3
-27
5
10
21
-53
-19
5
-5
-31
12
27
-17
-46
-16
3
-28
-25
18
10
43
12
-48
62
-1
-2
6
8
3
16
-75
-24
24
12
1
17
30
-6
3
-11
34
-16
22
6
22
18
-2
4
50
35
5
37
-31
-3
-8
1
1
51
11
58
0
30
-29
0
-16
-7
-23
46
20
68
13
8
-23
-20
-30
20
-38
-73
-132
2
-2
-17
-4
12
8
11
12
7
-49
6
16
-126
8
0
0
0
-1
1
-56
-55
52
-7
0
0
0
0
0
0
-29
-29
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
15
34
5
-2
-4
-6
2
-4
0
-33
21
24
8
-7
-1
1
-5
17
11
-24
-21
-19
-4
11
-9
0
-4
9
2
-24
9
11
-24
-13
-1
2
-29
-20
3
-13
-7
2
1
-14
-45
-16
-6
-14
-23
-10
0
-3
3
-5
5
19
2
27
-4
9
-11
-11
50
70
-3
42
38
23
11
-17
-40
2
-15
-9
5
20
5
13
7
5
8
3
-6
-10
-5
12
12
-3
6
-17
-12
-10
-2
2
-4
-1
-9
-2
75
19
-8
25
3
-30
-23
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-45
-14
-24
-21
-17
8
16
6
-41
21
4
2
11
-3
3
-2
1
42
-24
18
-8
-1
5
-12
-9
0
-27
-47
-70
34
23
-17
81
-39
54
-10
5
8
14
-16
-21
1
-5
-4
2
47
37
-45
-26
-34
-9
-14
-24
16
40
24
2
12
-11
0
-6
-6
7
-1
-21
21
-25
-7
0
-18
30
-15
1
-30
-6
-23
-25
-12
-5
9
-42
-20
-20
15
-17
-16
-4
7
15
-8
-19
42
-52
-7
-3
1
2
43
0
0
5
-1
-5
-8
5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-39
13
-9
-10
-16
-5
-8
22
26
10
-25
7
28
-5
-7
-54
-11
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-36
-42
-5
-53
-3
-23
0
1
31
0
-16
8
20
-60
-30
-29
14
61
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-32
-6
-19
-26
-13
3
-2
29
-2
-5
-6
-7
-7
-28
12
-15
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
13
12
-10
4
-4
-9
-14
16
-38
-42
14
14
12
-5
-40
5
-2
6
-12
-2
-9
-11
-4
-8
-7
-21
15
34
-15
14
-54
0
28
12
-31
50
2
-6
44
-27
-24
-7
-11
36
-3
-21
10
20
28
-27
17
10
8
-48
-28
-2
24
2
-3
14
9
-28
-28
25
16
-26
9
-10
4
-5
-53
34
-3
0
10
-3
0
0
-13
1
-56
-11
-2
-3
5
11
-4
5
12
-19
-1
-12
11
-2
13
-5
16
6
4
-94
20
11
-19
9
-5
4
0
0
0
-12
-73
-17
-46
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
10
1
-21
-4
0
-1
-1
2
-24
-36
-57
-6
-16
-4
1
-3
-10
17
33
-79
-32
10
-14
-13
1
26
0
0
5
49
37
-29
-48
-16
-39
-7
17
12
-8
4
-17
4
-5
-1
36
-41
10
0
-1
-6
0
-6
-3
-45
-21
-14
33
-8
-46
-12
-29
2
-25
38
-19
-58
41
8
-63
31
0
-26
52
-7
29
-27
2
-4
0
1
11
29
0
-20
-10
-13
2
-11
-3
-4
-103
-14
-8
10
8
-5
-26
8
-5
-44
-62
45
17
-3
-11
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
14
-13
-1
7
10
-3
-3
-31
9
-12
-19
-13
-16
-5
-1
4
38
-107
-14
38
16
-37
8
11
-14
0
0
0
0
1
6
7
30
-39
-25
-23
18
-12
-13
-21
-2
-4
-1
9
7
-4
-4
1
-3
-16
-4
1
-13
21
23
-15
9
6
-7
-3
-3
0
-11
16
2
54
-5
-13
-27
-34
-15
1
-30
-6
-23
-25
-12
-5
9
-42
-20
-20
15
-17
-16
-4
7
15
-8
-19
42
-52
-7
-3
1
2
43
0
0
5
-1
-5
-8
5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-39
13
-9
-10
-16
-5
-8
22
26
10
-25
7
28
-5
-7
-54
-11
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-36
-42
-5
-53
-3
-23
0
1
31
0
-16
8
20
-60
-30
-29
14
61
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-32
-6
-19
-26
-13
3
-2
29
-2
-5
-6
-7
-7
-28
12
-15
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
13
12
-10
4
-4
-9
-14
16
-38
-42
14
14
12
-5
-40
5
-2
6
-12
-2
-9
-11
-4
-8
-7
-21
15
34
-15
14
-54
0
28
12
0
1
0
0
0
-2
15
6
-5
1
32
9
44
13
-10
12
12
3
12
4
49
-7
6
-9
27
46
7
-54
-19
11
30
10
12
-33
35
27
-17
38
10
-25
-40
21
-21
62
3
-21
11
-30
10
43
-27
-4
-31
54
15
-91
-15
97
-39
-39
-11
-3
-14
-18
7
-36
8
-24
23
-29
-40
1
-18
-7
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
50
-27
31
-4
23
-40
-5
-9
36
-37
-16
29
-41
-8
-47
-17
-39
35
-10
-31
31
-2
-12
20
-21
43
2
3
8
-4
-29
-16
-44
33
-22
-93
14
7
11
6
26
7
-15
-17
1
-7
15
24
-33
5
8
-18
16
-61
-29
34
45
-7
0
0
0
0
0
0
0
0
0
0
-13
-2
37
-10
10
-8
9
2
-8
6
14
-9
13
16
-19
-40
-27
-19
19
-3
-32
5
-28
-5
-26
-15
-34
8
-23
-31
-39
-16
-12
-16
-25
61
-15
-60
-45
7
22
8
-27
-3
-35
-18
-6
21
15
-41
8
0
-28
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
35
-12
-49
-19
19
-43
-14
-17
8
0
0
0
0
0
0
0
0
0
0
17
15
10
-26
25
11
-14
-8
19
-17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
50
-14
-16
22
-1
-44
-19
-4
0
0
0
0
0
0
0
0
0
0
5
-16
4
26
-2
-32
-44
-10
43
11
-22
-24
-18
10
3
-66
26
-3
-11
33
16
43
-15
-14
4
20
-4
-12
42
-10
10
-24
-12
7
-3
3
-4
20
13
15
-5
-2
0
47
36
-58
21
21
12
-17
-4
-7
15
-29
1
24
-5
-8
-12
-26
23
35
-51
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-20
6
35
-32
-20
15
14
13
-6
13
54
1
-61
-19
-47
3
-41
-10
-6
30
-7
-5
-8
-14
32
-17
-57
-10
39
91
-38
-56
-49
23
-28
19
-48
3
14
58
-19
-5
-18
42
31
-14
-26
-20
-37
-33
-4
-52
17
-4
0
-9
-15
15
-7
0
0
0
0
0
0
0
0
0
0
-36
31
4
-13
-22
11
-17
9
-12
2
-5
-21
-23
45
-2
0
14
-8
-16
-1
37
35
-25
-13
-48
-1
12
-25
7
-9
61
-6
6
-54
-14
2
-26
-36
-5
39
22
8
-27
-3
-35
-18
-6
21
15
-41
8
0
-28
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
35
-12
-49
-19
19
-43
-14
-17
8
0
0
0
0
0
0
0
0
0
0
17
15
10
-26
25
11
-14
-8
19
-17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
50
-14
-16
22
-1
-44
-19
-4
0
0
0
0
0
0
0
0
0
0
5
-16
4
26
-2
-32
-44
-10
43
11
-22
-24
-18
10
3
-66
26
-3
-11
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
13
0
0
1
2
1
21
-16
13
35
19
0
-12
20
-1
-16
-3
19
-18
-6
-1
32
-34
1
0
10
-23
-14
77
9
-17
-8
-10
-11
-3
-8
18
-30
-13
34
52
0
24
57
-19
22
-42
0
-25
-46
46
21
-13
32
-19
52
4
15
10
11
-35
39
7
9
-12
10
30
5
22
7
15
-23
21
-30
2
-17
26
-26
7
-20
25
-22
34
-10
14
-14
-9
7
9
-51
30
31
2
-5
18
-1
-35
-16
39
40
-3
0
0
-2
-10
-13
-17
59
-50
-24
0
0
0
0
-2
5
-16
23
-42
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
5
17
-27
-5
12
5
-2
10
51
-5
-50
-6
-4
-14
12
8
-16
-9
31
14
-1
24
-13
-21
-29
1
-15
-2
42
-7
-51
24
-64
-13
-12
26
-14
5
-7
-3
8
2
-25
-67
6
-31
3
-1
-7
20
-11
21
68
-19
54
8
-14
3
-16
-5
-44
8
28
-35
-36
44
-48
-13
-9
-24
8
27
-15
-47
-6
21
-3
39
8
-27
-7
37
-1
2
-23
4
-1
20
-10
-31
-28
25
-5
1
16
-19
31
41
26
25
24
32
-1
-63
-29
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
4
-13
20
-23
20
4
14
4
6
5
14
-1
6
-6
-4
-5
4
5
-6
-12
11
0
16
1
12
1
3
-3
-9
4
-24
-35
-4
-7
-7
-4
12
6
-37
-6
4
-13
-23
15
23
-5
-8
-31
0
-3
-19
-33
-1
59
34
-26
-9
-1
4
-10
-34
-7
6
10
14
-8
-41
-20
-24
-2
8
11
-17
-19
-2
-11
-12
-1
20
-1
5
3
24
-15
-10
-3
-5
-18
0
0
-1
1
23
28
9
-67
-32
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-41
22
12
-3
-4
-16
13
16
-1
-1
1
9
-15
3
-42
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-23
17
31
-15
-6
20
-29
79
0
1
0
0
-17
10
8
18
-39
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
2
-2
46
-5
-55
2
5
0
0
4
0
-12
-9
5
-37
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
51
12
5
-4
-1
-17
-6
3
8
6
-30
12
-17
6
-43
23
-16
35
-4
12
19
0
-16
-13
-2
4
-34
6
-27
-2
-45
16
32
10
0
2
-1
-2
-3
12
13
27
17
8
6
9
19
-1
6
-28
-12
16
-14
-21
14
29
43
17
-31
-53
16
4
-18
-3
0
-25
35
-10
10
-8
-10
44
-2
22
1
4
12
1
-37
-16
-50
9
-19
-19
-12
20
-2
16
-12
44
11
-50
19
-10
-20
21
51
1
0
-7
-12
9
-24
1
-1
8
0
0
0
0
-5
16
-11
36
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
50
20
-42
-5
3
4
-2
-7
5
-15
24
2
-14
-25
4
-3
13
-7
13
11
-16
4
25
21
-29
-43
0
0
0
-1
-12
-5
-2
-5
-40
-4
37
-13
15
7
-13
-11
14
30
-10
-4
25
43
1
19
-1
-9
-26
-2
-3
-38
-13
10
54
-2
-45
9
0
0
0
2
-3
-25
-23
17
-21
15
-19
4
-17
-36
9
9
0
4
-3
50
-24
-5
27
5
-22
-46
4
14
-38
-1
-1
-29
-34
13
-31
44
-1
1
6
48
13
13
-50
-19
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-1
-7
-32
-7
5
10
8
-6
6
16
16
11
-3
-31
9
2
-18
13
22
5
-13
2
25
-59
-30
45
0
0
0
0
0
-1
0
12
-25
7
14
8
-20
18
-1
-14
5
8
8
-5
7
17
-48
66
-18
9
-33
-37
10
11
55
-19
-45
-7
13
-26
-3
2
1
-23
-26
12
-6
-13
-26
8
11
-17
-19
-2
-11
-12
-1
20
-1
5
3
24
-15
-10
-3
-5
-18
0
0
-1
1
23
28
9
-67
-32
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-41
22
12
-3
-4
-16
13
16
-1
-1
1
9
-15
3
-42
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-23
17
31
-15
-6
20
-29
79
0
1
0
0
-17
10
8
18
-39
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
2
-2
46
-5
-55
2
5
0
0
4
0
-12
-9
5
-37
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
51
12
5
-4
-1
-17
-6
3
8
6
-30
12
-17
6
-43
23
-16
35
-4
12
19
0
-16
-13
-2
4
-34
6
-27
-2
-45
16
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
69
21
4
0
0
0
0
0
0
0
0
0
0
0
-24
-73
50
102
41
9
-4
-4
0
0
0
0
0
0
0
0
0
8
-94
38
47
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
-48
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-122
12
-33
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-100
-19
30
2
0
0
0
0
0
0
0
0
0
0
0
0
-85
-3
17
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-174
-48
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
-39
-86
70
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-69
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-20
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
53
31
1
0
0
0
0
0
0
0
0
0
0
0
0
2
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
45
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
48
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
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
0
0
0
0
0
0
0
-6
25
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
53
41
26
24
-7
0
0
0
0
0
0
0
0
0
0
-1
70
-6
66
-32
-78
-72
-7
-1
0
0
0
0
0
0
0
0
13
2
-28
45
-2
-54
-23
2
-2
0
0
0
0
0
0
0
0
0
10
-18
-14
73
96
-8
0
0
0
0
0
0
0
0
0
0
1
1
-27
-18
9
-8
-2
3
0
0
0
0
0
0
0
0
0
0
22
8
-1
4
3
-1
0
0
0
0
0
0
0
0
0
0
1
5
-9
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
29
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-4
19
-2
0
0
0
0
0
0
0
0
0
0
0
-9
7
17
6
15
-14
-4
0
0
0
0
0
0
0
0
0
1
-4
13
9
52
24
-25
-5
-5
0
0
0
0
0
0
0
0
0
9
12
-8
2
3
2
-9
0
0
0
0
0
0
0
0
0
0
-14
-1
-5
7
-12
-10
0
4
0
0
0
0
0
0
0
0
-3
-15
2
3
-10
-3
0
1
0
0
0
0
0
0
0
0
0
-2
-3
0
8
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-8
8
161
44
20
0
0
0
0
0
0
0
0
0
0
0
-13
4
112
150
24
41
43
-45
-12
0
1
0
0
0
0
0
0
29
-6
39
124
130
62
80
92
-6
0
0
0
0
0
0
0
0
-3
3
29
38
59
52
121
3
-4
0
0
0
0
0
0
0
0
41
2
36
49
-14
121
5
69
0
0
0
0
0
0
0
0
0
6
-5
10
7
-41
-31
3
1
0
0
0
0
0
0
0
0
13
2
-23
41
-25
-5
10
0
-3
0
0
0
0
0
0
0
0
0
-33
-2
0
-8
2
-1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
28
3
78
13
-36
-5
0
0
-3
0
0
0
0
0
0
0
-19
55
-65
-3
-19
-95
14
20
91
13
3
-1
-1
0
0
0
0
-11
-23
-3
6
24
-42
-11
-91
17
-29
16
-1
1
0
0
0
0
-4
-100
-35
-123
-37
-56
17
36
-43
9
7
-2
0
0
0
0
0
20
-63
-55
-111
-49
-9
-33
-35
-48
8
5
0
0
0
0
0
0
69
-113
-22
-92
-78
-38
-16
-81
-27
0
5
0
0
0
0
0
0
8
-95
-98
-87
-97
-16
-31
-93
3
1
-2
2
0
0
0
0
0
25
67
-58
-83
-109
-63
77
-14
-37
0
-7
0
0
0
0
0
0
46
-91
-93
-199
-81
-22
-65
1
16
2
-3
4
1
0
0
0
0
1
-12
-15
40
43
-25
-24
0
0
0
0
0
0
0
0
0
0
0
17
-30
19
17
39
-17
-110
-45
-42
2
0
0
0
0
0
0
0
8
81
52
106
90
162
-36
-43
-22
4
0
0
0
0
0
0
0
7
-23
2
7
48
62
23
-54
-9
-1
0
0
0
0
0
0
0
-33
24
9
-15
59
97
-27
-94
-3
0
0
0
0
0
0
0
1
-3
37
-83
36
5
11
73
17
-7
0
0
0
0
0
0
0
1
25
108
-90
-28
6
54
18
76
54
0
0
-1
0
0
0
0
0
16
-8
49
-52
152
-10
51
-27
-41
0
0
0
0
0
0
0
0
-14
16
-3
-7
21
-7
-81
-24
-1
0
0
0
0
0
0
0
0
33
-20
-42
90
-49
107
0
0
1
0
0
0
0
0
0
0
0
-36
58
68
-45
-68
5
9
-51
53
1
1
0
0
0
0
0
0
30
78
-20
-9
118
34
-5
-49
13
8
0
0
0
0
0
0
0
-3
32
57
38
93
70
24
90
-10
0
0
0
0
0
0
0
0
6
4
-31
67
59
107
-87
53
20
0
0
0
0
0
0
0
0
66
-20
75
-9
153
164
-35
63
10
-1
0
0
0
0
0
0
0
8
23
-7
-84
129
53
-100
10
-4
2
0
0
0
0
0
0
0
1
37
28
-60
-37
140
20
-24
0
0
0
0
0
0
0
0
0
52
-13
2
0
-3
2
2
0
0
0
0
0
0
0
0
0
0
-1
18
66
139
-11
59
0
0
0
0
0
0
0
0
0
0
0
-109
72
145
64
66
-83
-123
-29
-1
0
0
0
0
0
0
0
-22
86
46
130
95
-8
-66
74
8
-2
0
0
0
0
0
0
0
22
10
55
115
186
39
39
97
-7
0
0
0
0
0
0
0
0
7
13
118
-26
37
43
-28
11
10
-3
0
0
0
0
0
0
0
24
16
-13
-33
-56
37
-40
100
0
0
0
0
0
0
0
0
0
-20
27
13
-8
7
-54
13
2
0
0
0
0
0
0
0
0
0
0
-25
43
-53
-101
-17
-41
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
83
134
34
-65
0
0
0
0
0
0
0
0
0
0
0
5
22
11
44
42
143
-20
-5
-2
0
0
0
0
0
0
0
0
1
20
115
107
89
179
42
-12
0
0
0
0
0
0
0
0
0
-4
48
48
45
93
4
76
-34
0
0
0
0
0
0
0
0
1
0
0
14
13
-33
-78
67
0
0
0
0
0
0
0
0
0
0
1
-5
22
89
31
21
5
0
0
0
0
0
0
0
0
0
2
1
0
-4
-36
-55
-85
79
2
0
0
0
0
0
0
0
0
0
5
1
-29
-94
3
-90
29
9
0
0
0
0
0
0
0
0
0
0
0
-3
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-1
24
10
0
0
0
0
0
0
0
0
0
0
0
0
12
145
79
4
48
-62
8
-10
0
0
0
0
0
0
0
0
0
-17
-13
38
42
-7
-24
5
2
0
0
0
0
0
0
0
0
0
6
48
-20
58
56
74
51
0
0
0
0
0
0
0
0
0
0
56
55
34
87
84
44
-110
-5
0
0
0
0
0
0
0
0
0
24
38
26
55
-81
-5
6
0
0
0
0
0
0
0
0
0
0
51
76
-33
-23
15
-24
-152
-1
0
0
0
0
0
0
0
0
0
1
50
69
-121
21
-169
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-50
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
3
-29
0
-3
0
0
0
0
0
0
0
0
0
0
2
20
-53
-34
-26
-15
0
0
0
0
0
0
0
0
0
0
0
-17
43
43
-37
-11
0
0
0
0
0
0
0
0
0
0
0
0
12
8
6
-3
22
-1
-1
0
0
0
0
0
0
0
0
0
-2
-3
-19
-38
67
-3
5
0
-3
0
0
0
0
0
0
0
0
-5
47
0
-3
-19
-5
-1
-1
3
0
0
0
0
0
0
0
0
7
29
8
-31
-87
2
0
-3
0
0
0
0
0
0
0
0
0
-4
-45
12
11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
49
-7
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
11
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
30
22
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
85
-2
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
30
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-10
-3
75
24
0
0
0
0
0
0
0
0
0
0
0
0
15
30
51
2
19
0
0
0
1
0
1
0
0
0
0
0
-33
56
-29
-2
67
50
3
29
-5
0
0
1
0
0
0
0
0
4
-53
9
1
-43
20
-104
-54
-20
-1
0
0
0
0
0
0
0
-10
82
-2
-64
-100
-59
-28
40
8
-8
1
4
0
0
0
0
0
0
19
-9
2
-26
39
-68
8
31
0
0
0
0
0
0
0
0
6
9
46
-2
-26
-15
-48
61
55
2
0
0
0
0
0
0
0
0
-35
56
-105
-88
-24
132
-18
29
-22
-1
0
0
0
0
0
0
-6
8
-6
41
2
-7
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
33
-9
60
29
0
0
0
-7
-2
0
0
0
0
0
0
24
-28
-5
2
119
24
-87
-31
-6
2
-5
0
0
0
0
0
0
-8
22
-44
30
-1
11
-34
28
16
8
-3
0
0
0
0
0
0
0
-16
10
40
-37
-15
15
-4
-71
2
0
0
0
0
0
0
0
0
-13
2
-31
-1
-42
-3
26
-12
1
-1
0
0
0
0
0
0
0
-24
-62
-1
-1
0
28
16
-91
-9
0
0
0
0
0
0
0
0
14
48
-49
-35
-5
-49
13
16
0
0
0
0
0
0
0
0
6
0
0
0
0
-6
-6
0
0
0
2
0
0
0
0
0
0
14
-144
-70
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-28
2
5
0
0
0
0
0
0
0
0
0
0
0
0
21
10
-7
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
-51
34
20
5
7
0
0
0
0
0
0
0
0
0
0
0
0
74
-10
33
-3
-12
2
0
0
0
0
0
0
0
0
0
0
0
29
5
22
-24
34
-8
-8
0
0
0
0
-1
0
0
0
0
0
-59
9
-11
-24
-27
8
7
20
12
-3
-2
-1
0
0
0
0
0
-2
-37
23
-26
-44
-16
19
-22
32
-12
3
-1
0
0
0
0
0
-75
35
-32
5
15
-6
9
2
-5
-1
0
0
0
0
0
0
0
-108
-11
-6
63
79
22
0
0
0
0
0
0
0
0
0
0
0
-8
-91
-35
57
119
13
0
0
-2
0
0
0
0
0
0
0
0
-73
-85
-30
30
-45
-13
34
16
3
-1
0
0
0
0
0
0
0
-43
-36
-13
-71
-82
-16
-23
34
-12
8
0
0
0
0
0
0
0
-78
-20
5
16
-58
-48
-18
0
0
-4
-1
0
0
0
0
0
0
-69
-43
8
8
-5
-22
-10
-10
-7
0
0
0
0
0
0
0
0
-64
-23
-70
12
-52
23
-12
-4
-1
0
0
0
0
0
0
0
0
-6
-19
-33
-54
-8
14
0
-1
3
-2
0
0
0
0
0
0
0
45
3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-28
-16
15
150
146
0
0
0
0
0
0
0
0
0
0
0
-50
-18
-18
25
17
77
92
6
-12
8
-1
0
0
0
0
0
0
-43
-32
7
35
61
49
18
0
-24
-15
0
0
0
0
0
0
0
-4
-8
-6
20
40
10
13
-10
41
-20
-1
0
0
0
0
0
0
60
-1
11
18
31
-24
18
-50
-10
1
2
0
0
0
0
0
0
25
15
1
7
3
-38
-85
-117
-41
7
3
0
0
0
0
0
0
20
3
1
-18
-38
-18
-21
-49
-57
-19
-21
0
0
0
0
0
0
17
20
1
-17
-29
-84
-60
-104
-43
-39
-4
4
0
0
0
0
0
22
5
-13
-37
-62
-11
35
-8
2
20
-7
-3
0
0
0
0
0
350
311
187
273
236
67
0
0
0
0
0
0
0
0
0
0
0
197
151
179
82
198
222
10
-1
0
0
0
0
0
0
0
0
0
-25
99
53
16
91
33
8
-1
0
0
0
0
0
0
0
0
0
-33
0
31
32
-23
-2
4
0
0
0
0
0
0
0
0
0
0
-4
-30
-21
65
48
-38
0
0
0
0
0
0
0
0
0
0
0
-36
-1
-29
-24
12
-3
-2
-1
0
0
0
0
0
0
0
0
0
-59
-52
-29
-87
-48
0
0
0
0
0
0
0
0
0
0
0
0
-1
-81
-89
-101
-31
16
-5
0
0
0
0
0
0
0
0
0
0
-17
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
17
100
124
104
31
43
0
0
0
0
0
0
0
0
0
0
-30
-49
-48
59
93
0
-41
8
0
0
0
0
0
0
0
0
0
-16
-70
-59
3
-141
64
-50
-7
0
0
0
0
0
0
0
0
0
-34
-88
-63
-25
54
-8
-5
-3
0
0
0
0
0
0
0
0
0
-10
-44
-20
3
17
-1
2
0
0
0
0
0
0
0
0
0
0
-45
6
-63
-14
23
2
0
0
0
0
0
0
0
0
0
0
0
71
-2
-59
5
-39
0
-7
13
0
-1
0
0
0
0
0
0
0
9
21
-19
45
-24
-40
-22
2
0
0
0
0
0
0
0
0
0
-3
-123
22
11
17
-3
-3
0
-1
0
0
0
0
0
0
0
0
-89
-188
-115
116
163
48
0
0
0
0
0
0
0
0
0
0
0
-71
-85
-80
55
91
148
0
-9
0
0
0
0
0
0
0
0
0
-78
-100
-30
-1
49
-19
2
-8
-2
-1
0
0
0
0
0
0
0
-91
-67
-70
22
-2
63
-32
-22
1
0
0
0
0
0
0
0
0
-21
-33
6
-38
-53
-24
29
8
-1
-4
0
0
0
0
0
0
0
-40
-13
-24
-72
-42
0
3
-15
2
1
7
0
0
0
0
0
0
-6
-12
1
-37
94
-62
0
3
0
0
0
0
0
0
0
0
0
-18
50
44
-30
-127
-21
-8
4
-6
-1
0
0
0
0
0
0
0
-7
14
56
-49
-38
-14
3
-3
2
0
0
0
0
0
0
0
0
-54
34
43
36
98
89
41
0
0
0
0
0
0
0
0
0
0
0
-13
-30
-85
3
36
0
-12
0
-2
0
0
0
0
0
0
0
-13
-15
-15
5
-5
-41
12
-70
13
0
0
0
0
0
0
0
0
18
15
-8
1
13
-40
13
3
30
0
0
0
0
0
0
0
0
59
15
0
78
-3
-93
15
-7
0
0
0
0
0
0
0
0
0
19
6
-16
-1
56
-21
58
-3
-9
0
0
0
0
0
0
0
0
56
-14
-37
-65
33
-55
-20
-9
0
0
0
0
0
0
0
0
0
-8
-57
-36
-58
61
-4
-32
-28
3
0
0
0
0
0
0
0
0
11
1
-26
66
-1
0
3
0
0
0
0
0
0
0
0
0
0
-36
-41
39
-40
-18
-4
0
0
0
0
0
0
0
0
0
0
0
-61
-30
14
50
70
17
18
0
-12
-1
0
0
0
0
0
0
0
-53
-95
-47
16
18
-61
-30
-17
5
0
0
0
0
0
0
0
0
-35
-22
-64
17
-3
-47
-19
9
-10
1
0
0
0
0
0
0
0
-7
-49
-25
9
4
-40
-8
-29
-13
1
0
0
0
0
0
0
0
-16
-60
-7
-1
45
-40
-1
-4
-8
0
0
0
0
0
0
0
0
-63
-64
-29
15
-2
-25
-1
-3
10
0
0
0
0
0
0
0
0
-60
-53
-94
-37
-60
-37
-1
-32
-53
0
0
0
0
0
0
0
0
-7
-80
7
-46
-44
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
1
-1
-8
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-12
-63
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-41
-134
-50
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-110
25
30
2
0
0
0
0
0
0
0
0
0
0
0
2
-17
29
41
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
71
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-20
60
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-10
-77
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
-7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
16
65
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
46
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-5
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
50
77
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
40
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-72
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
30
66
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
-27
-45
-53
-42
-12
1
0
0
0
0
0
0
0
0
-1
41
-31
-32
-58
-31
-17
-7
0
0
0
0
0
0
0
0
0
0
-1
-5
65
17
113
-1
13
3
0
0
0
0
0
0
0
0
-2
24
23
28
45
71
7
-10
0
0
0
0
0
0
0
0
0
0
-2
66
59
15
-12
9
0
0
0
0
0
0
0
0
0
0
1
36
-1
32
-6
-8
6
0
0
0
0
0
0
0
0
0
0
0
-13
42
3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-6
-14
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
8
4
2
-5
-4
7
0
0
0
0
0
0
0
0
0
0
-5
22
29
14
14
3
-24
0
0
0
0
0
0
0
0
0
-1
-16
12
-9
16
8
1
-17
-12
0
0
0
0
0
0
0
0
0
-14
0
2
8
3
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
65
-17
5
-42
23
0
0
0
0
2
0
-1
-1
0
0
13
132
107
-26
122
-51
27
0
0
0
0
0
0
0
0
25
86
-19
15
117
118
51
11
69
0
0
0
0
0
0
0
-1
-3
34
32
61
90
178
27
13
64
0
0
0
0
0
0
-2
0
-2
8
16
18
-9
50
54
71
-8
0
0
0
0
0
0
-3
2
-15
1
9
19
14
86
-50
30
0
0
0
0
0
0
1
0
-2
-13
-42
-1
13
31
38
-23
2
0
0
0
0
0
0
0
0
0
12
49
13
6
25
-148
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
9
4
0
0
-28
-86
-173
-31
-128
48
1
0
0
0
0
0
2
29
28
124
-25
-131
-82
-60
-51
23
75
19
0
0
0
0
3
-1
-9
-31
-38
-54
-101
-71
-85
-78
5
109
-7
0
0
0
0
0
0
-3
5
-134
-30
12
-6
-11
1
46
28
47
0
0
0
1
4
-1
1
4
-133
0
-21
-2
-5
11
27
121
36
0
0
0
0
1
-1
1
-16
-7
-102
-15
-5
-60
-20
55
50
-34
0
0
0
0
0
0
24
8
24
-53
25
-61
-1
-49
19
-44
1
0
0
0
0
0
0
-10
-4
89
47
-54
-60
-65
-25
-80
78
-1
0
0
0
0
0
2
0
-3
14
86
62
-43
-62
-67
28
-87
0
0
0
0
0
0
0
0
0
0
0
11
93
-69
51
-5
24
-16
0
0
0
0
0
0
0
0
-7
23
162
1
113
200
-20
36
5
0
0
0
0
0
0
0
-1
-5
54
26
-39
-63
14
-31
-16
-116
0
0
0
0
0
0
0
0
1
42
-46
-21
-62
107
-24
-43
12
0
0
0
0
0
0
0
0
7
22
-31
5
-26
77
44
-5
-11
0
0
0
0
0
0
0
0
-6
6
41
37
17
62
66
-79
-76
0
0
0
0
1
0
0
0
-50
3
-51
33
66
-41
112
-9
-120
0
0
0
0
0
0
0
0
23
-74
9
14
61
35
-35
8
2
0
0
0
0
0
0
0
0
0
0
-4
-1
30
90
-18
-2
-89
0
0
0
0
-2
0
0
0
0
0
55
122
131
31
76
77
-46
0
0
0
0
0
0
0
0
24
62
0
43
23
278
15
7
-17
0
0
0
0
0
0
0
0
1
83
-85
-108
81
67
83
-36
-42
0
0
0
0
0
0
0
0
-1
28
6
86
37
117
23
6
-4
0
0
0
0
0
0
0
0
0
-48
32
10
-14
49
85
33
23
0
0
0
0
0
0
0
0
-2
6
-5
1
-89
97
44
92
-62
0
0
0
1
0
0
0
0
-10
29
-55
-8
-5
37
63
-28
-3
0
0
0
0
0
0
0
-8
-1
83
82
-84
-25
77
-15
8
-8
0
0
0
0
0
0
0
0
5
2
-7
1
-1
-4
72
0
0
0
0
0
0
0
0
0
0
0
0
-89
22
-48
-77
-83
23
0
0
0
0
0
0
0
0
0
-79
0
-42
-147
33
-33
-91
-72
-7
0
0
0
0
0
0
0
-2
-17
72
62
-19
-15
-23
127
35
-2
0
0
0
0
0
0
0
6
2
0
69
143
158
100
47
66
3
0
0
0
0
0
0
-1
0
22
45
105
109
74
102
74
-44
0
0
0
0
0
0
0
0
0
-1
57
156
122
139
42
-16
29
0
0
0
0
0
0
0
0
1
20
50
47
134
145
-31
-79
5
0
0
0
0
0
0
0
0
4
41
69
-18
-114
70
-237
-3
0
0
0
0
0
0
0
0
0
0
-2
8
-1
1
1
-4
-30
0
0
0
0
0
0
0
0
0
0
0
0
-122
67
102
46
34
0
0
0
0
0
0
0
0
0
0
6
0
-33
-3
94
98
52
68
-1
0
0
0
0
0
0
0
0
1
30
-42
13
35
35
141
-15
0
0
0
0
0
0
0
0
0
-5
7
3
57
98
49
143
-10
0
0
0
0
0
0
0
0
0
1
31
82
25
16
98
-36
-6
-7
0
0
0
0
0
0
0
0
1
0
1
48
-53
24
-32
3
1
0
0
0
0
0
0
0
0
0
-9
4
-17
65
-20
-18
5
0
0
0
0
0
0
0
0
0
5
0
8
25
-13
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
44
103
20
10
-38
-33
-30
0
0
0
0
0
0
0
0
0
0
82
134
47
-25
-41
0
38
0
0
0
0
0
0
0
0
0
0
-12
46
-16
75
-41
-67
29
0
0
0
0
0
0
0
0
0
0
-12
64
92
-32
30
-67
-1
0
0
0
0
0
0
0
0
0
2
47
90
68
-70
-48
-60
-8
0
0
0
0
0
0
0
0
0
1
14
-17
6
-30
41
-27
8
0
0
0
0
0
0
0
0
0
0
24
40
6
46
-79
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
10
4
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
5
16
-128
59
-3
0
0
0
0
0
0
0
0
-9
13
32
18
44
45
51
-11
30
-13
0
0
0
0
0
0
0
0
0
-3
1
-6
-59
28
94
5
5
0
0
0
0
0
0
0
0
0
0
-3
1
-1
3
-68
-5
9
0
0
0
0
0
0
0
0
0
0
0
-3
-19
34
126
-19
-57
0
0
0
0
0
0
0
0
0
0
0
0
-14
-92
38
116
119
0
0
0
0
0
0
0
0
0
0
0
-4
-1
79
100
27
-93
0
0
0
0
0
0
0
0
0
0
0
0
-27
18
9
-34
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-77
-52
-53
-75
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
4
36
26
27
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
34
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
25
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
39
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-9
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
57
21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-3
-6
0
0
0
0
0
0
0
0
0
0
0
2
-2
18
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
17
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
31
61
6
-47
-19
0
2
0
0
0
0
0
0
0
18
-10
-82
24
20
23
56
36
75
-5
0
0
0
0
0
0
1
8
-28
1
-30
-44
76
-6
-40
21
17
0
0
0
0
0
0
0
9
-4
-69
20
-28
-4
-2
13
45
-5
0
0
0
0
0
0
0
0
-12
-22
-31
-18
-20
-56
-26
44
2
0
0
0
0
0
0
0
0
-2
88
7
-9
-66
-4
-1
55
-8
0
0
0
0
0
0
0
0
1
6
-54
11
-52
-50
-47
-43
-4
0
0
0
0
0
0
0
0
7
66
-5
-11
12
7
56
1
0
0
0
0
0
0
0
0
0
23
-41
25
-3
0
-3
-16
-6
-7
0
0
0
0
0
0
0
0
0
0
3
-25
-5
-1
-3
-23
9
0
0
0
0
0
0
0
0
-1
-7
5
-3
-1
-18
5
-15
3
0
0
0
0
0
0
0
-2
3
-4
8
32
30
4
-34
-41
2
0
0
0
0
0
0
0
0
1
-1
-11
5
31
-22
-34
-3
20
0
0
0
0
0
0
0
0
1
-22
34
22
-3
47
-22
11
6
0
0
0
0
0
0
0
0
7
-8
33
-5
-12
35
-31
38
-13
0
0
0
0
0
0
0
-1
39
9
13
-19
-31
-20
13
-67
-23
0
0
0
0
0
0
0
-1
65
9
-51
-30
5
-45
52
-30
1
0
0
0
0
0
0
0
0
-1
-6
0
0
0
-10
-16
-30
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
16
0
0
-45
40
19
13
6
-2
0
0
0
0
0
0
8
-41
42
-140
-36
22
70
-20
-20
5
7
0
0
0
0
0
0
2
-2
18
-32
-4
-5
5
-69
8
4
16
0
0
0
0
0
0
0
3
-14
-25
-29
-6
82
19
-4
22
0
0
0
0
0
0
0
0
0
6
-59
-66
-2
-49
-14
15
1
17
0
0
0
0
0
0
0
-1
-6
-58
-64
11
15
-6
0
-1
0
0
0
0
0
0
0
0
0
-8
-29
-26
-48
-7
-8
2
-2
0
0
0
0
0
0
0
0
0
-2
-29
-44
-41
18
2
4
0
1
0
0
0
0
0
0
0
0
0
-8
-22
-7
0
0
0
0
0
0
0
0
1
-22
-3
-12
48
18
0
0
24
36
69
32
-35
3
0
0
0
0
-34
-40
18
-41
48
16
3
2
10
33
-56
6
0
0
0
0
-1
5
4
-1
-21
35
14
0
1
6
-1
52
-86
-8
0
0
0
0
1
-10
34
1
-4
-14
-1
0
6
27
39
107
-9
0
0
0
0
-3
0
12
17
-48
-8
-20
0
4
20
25
5
13
0
0
0
0
0
-3
2
-17
-30
-12
-4
-1
5
11
38
117
-40
0
0
0
0
8
-3
-2
-15
-55
6
-7
0
3
11
28
153
-13
0
0
0
-2
19
-13
-2
43
33
-13
0
-2
20
45
135
94
0
0
0
0
-1
46
-17
27
-74
7
-3
0
-10
4
34
-45
78
-4
0
0
0
0
0
0
0
-1
3
0
0
-3
-11
-26
44
-1
0
0
0
0
0
0
0
0
2
41
24
14
24
-50
-26
-15
0
0
0
0
0
0
0
0
0
-5
17
2
105
-33
54
-22
7
0
0
0
0
0
0
0
0
0
0
13
62
14
-22
35
61
25
0
0
0
0
0
0
0
0
0
0
0
50
-30
49
66
-22
8
0
0
0
0
0
0
0
0
0
0
0
68
130
159
118
91
179
0
0
0
0
0
0
0
0
0
0
13
-39
-47
43
87
95
25
22
0
0
0
0
0
0
0
0
0
-8
-53
-8
-12
56
184
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
5
-2
0
0
0
0
0
0
0
0
1
3
1
-31
0
0
-103
7
-38
41
1
0
0
0
0
0
0
-1
1
-3
-21
-22
-144
-21
-15
52
27
1
0
0
0
0
0
0
0
0
-1
-1
-6
-53
-32
-60
-21
-30
-12
0
0
0
0
0
0
1
0
5
-7
-14
-77
-19
92
160
49
3
0
0
0
0
0
0
0
0
0
1
31
12
21
24
-1
-8
1
0
0
0
0
0
0
0
0
3
-8
17
-73
-39
85
-9
9
0
0
0
0
0
0
0
0
2
0
-30
-9
1
35
72
-38
9
0
0
0
0
0
0
0
1
0
-1
-30
-62
23
46
21
-30
0
0
0
0
0
0
0
0
0
1
0
15
-10
-22
-10
0
-4
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-58
60
7
-16
-5
4
0
0
0
0
0
0
2
8
-58
-157
55
-16
-6
41
-23
-31
2
3
0
0
0
0
0
0
5
10
-53
12
-63
21
43
-33
-17
-1
0
0
0
0
0
0
0
13
-24
12
-60
-2
58
27
10
-5
-2
0
0
0
0
0
0
0
-2
-5
-65
-87
-49
22
16
41
10
1
0
0
0
0
0
0
0
0
-18
0
-25
-17
-22
-25
29
-3
0
-5
0
0
0
0
0
0
0
-25
-23
-64
-111
-55
42
75
-1
4
0
0
0
0
0
0
2
-1
-17
-8
-25
5
-38
17
17
-2
-16
0
0
0
0
0
0
0
0
0
-12
-31
-12
-7
5
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
-60
-4
41
-8
-13
-5
-1
0
0
0
0
0
0
-4
-30
-69
-104
-91
82
54
-27
-17
89
6
0
0
0
0
0
0
0
6
-153
29
-16
-48
83
-27
9
-24
-3
0
0
0
0
0
0
-4
1
-44
-42
-28
85
-14
-1
0
0
-1
0
0
0
0
0
0
0
-29
-39
-6
-20
-24
18
41
0
40
1
0
0
0
0
0
0
0
5
16
-1
-20
34
-37
-39
-6
-5
0
0
0
0
0
0
0
-2
82
10
0
-11
40
62
4
3
-7
-13
0
0
0
0
0
0
2
1
24
-1
40
145
4
1
-8
-4
0
0
0
0
0
0
0
0
-46
30
3
8
-3
29
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
22
-10
-6
-3
6
-3
0
0
0
0
0
0
16
53
-5
-27
-111
59
9
7
-9
-31
-17
0
0
0
0
0
0
16
-20
-38
-68
26
-35
45
-4
-20
6
-14
0
0
0
0
0
0
0
0
-47
-61
-22
-85
-54
-44
-1
1
-1
0
0
0
0
0
0
5
5
-80
-55
-88
26
-57
34
-7
-9
-25
0
0
0
0
0
0
-7
-43
-100
-46
75
-165
104
-146
0
3
7
0
0
0
0
0
-2
-65
-1
-41
-29
-81
-6
-63
21
-3
-23
0
0
0
0
0
3
9
17
-23
-3
-50
16
-26
-83
-17
40
27
0
0
0
0
1
0
1
-26
-6
32
4
-16
-62
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-43
161
118
58
-9
0
0
0
0
0
0
0
0
0
0
24
-59
39
124
64
10
-50
-2
1
0
0
0
0
0
0
0
0
42
88
66
3
47
37
-1
0
1
0
0
0
0
0
0
0
0
-45
74
21
-45
-27
-4
0
5
0
0
0
0
0
0
0
0
0
-44
-3
50
-2
19
-2
0
0
0
0
0
0
0
0
0
0
0
8
-19
-25
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-34
-6
-2
-54
-32
1
0
0
0
0
0
0
0
0
0
0
0
-61
-81
-10
25
47
0
0
0
0
0
0
0
0
0
0
0
0
-30
-79
31
4
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
54
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-18
22
62
16
3
0
0
0
0
0
0
0
0
0
0
0
-3
-94
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
108
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
25
-17
17
2
-1
0
0
0
0
0
0
0
0
0
0
54
18
34
21
2
12
0
0
0
0
0
0
0
0
0
0
0
-72
-3
32
18
5
0
1
0
0
0
0
0
0
0
0
0
0
23
51
-5
-20
8
4
0
0
0
0
0
0
0
0
0
0
0
-3
-16
39
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
47
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-12
-28
-41
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-77
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
25
21
1
33
-1
0
0
0
0
0
0
0
0
0
0
0
-50
-7
35
2
8
0
0
0
0
0
0
0
0
0
0
0
3
-71
-8
30
2
1
0
0
0
0
0
0
0
0
0
0
0
-10
-12
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
23
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
69
138
141
70
61
0
0
0
0
0
0
0
0
0
0
-3
-16
-33
131
18
67
31
31
2
0
0
0
0
0
0
0
0
42
17
-15
110
77
-46
55
-25
0
0
0
0
0
0
0
0
0
-20
25
-31
18
47
-64
20
-2
0
0
0
0
0
0
0
0
0
-5
50
18
7
20
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
55
23
8
-5
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
-47
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
16
66
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
32
8
18
27
6
16
0
0
0
0
0
0
0
0
0
0
0
-38
29
40
64
55
-5
-15
-2
-10
0
0
0
0
0
0
0
-6
-2
57
37
93
8
-8
-5
2
0
0
0
0
0
0
0
0
-1
-21
-1
-5
-1
19
8
-36
1
0
0
0
0
0
0
0
0
-2
-2
-9
-6
-8
-29
-6
0
5
0
0
0
0
0
0
0
0
-2
-29
0
1
-12
-10
-3
0
0
0
0
0
0
0
0
0
0
-3
-6
-12
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
-45
-58
229
101
42
0
0
0
0
0
0
0
0
0
0
31
-136
-49
214
163
112
154
74
-21
-44
-29
8
0
0
0
0
0
-10
3
-5
123
85
123
147
110
86
17
-10
0
0
0
0
0
0
48
-35
82
67
-43
65
173
131
-105
19
6
0
-1
0
0
0
0
10
14
23
-16
14
-47
74
6
-37
5
2
0
0
0
0
0
0
4
-3
-41
4
22
-1
1
18
5
0
0
0
0
0
0
0
0
10
-32
-5
25
-13
-12
0
0
-2
0
4
0
0
0
0
0
0
0
-76
23
31
-34
-1
-8
0
0
0
0
0
0
0
0
0
0
5
18
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-54
-49
-23
-38
-63
38
0
0
7
5
2
1
0
0
0
0
1
-4
-35
-12
-17
-99
22
80
132
119
58
5
-27
-1
0
0
0
-32
0
-26
-79
-55
-69
-26
5
24
-130
-20
45
-9
-1
0
0
0
123
-45
0
-55
-80
-46
0
-14
2
0
39
4
44
0
0
0
0
-29
-17
16
-24
-65
-34
9
21
-66
13
-30
42
-5
40
0
0
0
50
7
29
-78
-95
-23
-34
-25
-28
44
29
8
-22
0
0
0
0
-26
21
-6
-95
-60
-17
52
31
-25
57
-92
20
0
1
0
0
0
50
65
-54
-72
-70
18
31
-42
-92
4
53
4
0
0
0
0
0
85
5
-63
-33
-53
63
-51
31
41
14
-60
-21
3
0
0
0
0
0
8
-94
39
-16
-5
59
0
0
0
0
1
0
0
0
0
0
1
-7
55
-11
11
38
58
36
27
76
-11
-6
0
0
0
0
0
-1
10
117
34
25
-18
-20
-104
-111
-24
7
0
0
0
0
0
0
-5
51
0
-29
28
-34
34
10
26
-29
-7
4
0
0
0
0
0
-6
8
18
-21
46
-35
-21
25
123
-11
-17
4
0
0
0
0
0
1
-33
-55
-22
22
27
0
42
59
10
7
-3
0
-8
0
0
0
1
71
8
60
-28
-9
-17
19
25
16
0
0
-2
0
0
0
0
0
41
-25
-4
76
11
-2
16
8
5
-4
1
0
0
0
0
0
1
-16
36
0
-38
48
-14
26
-47
24
-5
0
0
0
0
0
0
0
47
-72
10
45
-1
24
0
0
2
6
0
0
0
0
0
0
0
-60
57
48
109
-31
141
91
-9
-1
22
-4
0
0
0
0
0
0
33
65
-21
82
50
121
116
-19
38
31
0
0
0
0
0
0
0
-19
15
4
-62
-29
1
46
39
-1
-1
16
0
0
0
0
0
0
7
3
-65
15
-30
46
1
-1
43
7
4
0
0
0
0
0
0
20
-36
105
18
-29
34
5
-45
-28
22
0
-1
0
0
0
0
0
30
52
-17
-82
-16
88
-129
-91
-23
-19
0
0
0
0
0
0
0
0
65
32
17
-80
-43
-107
-49
0
0
0
0
0
0
0
0
0
22
1
15
-20
19
4
2
0
0
2
0
0
0
0
0
0
27
24
68
-11
118
14
48
0
0
0
0
0
0
0
0
0
0
16
1
13
81
158
62
99
66
37
15
4
-3
0
0
0
0
0
-96
18
74
98
26
-24
84
-20
114
-14
0
1
0
0
0
0
0
-17
6
-11
-9
-17
-38
151
22
68
-5
5
0
-5
0
0
0
0
45
66
103
-46
27
-26
-4
9
58
0
3
0
0
0
0
0
0
56
30
-19
-28
-84
-45
-43
64
-14
0
-2
0
0
0
0
0
0
44
35
14
-43
26
-46
3
4
2
0
0
0
0
0
0
0
0
1
73
18
-20
1
-57
-28
-5
4
0
0
0
0
0
0
0
0
11
5
13
0
-8
2
0
0
0
0
1
0
0
0
0
0
0
2
9
48
170
106
108
41
0
0
0
0
0
0
0
0
0
0
0
8
45
87
85
62
76
-7
-13
-55
0
0
0
0
0
0
0
1
12
29
73
49
37
63
76
8
1
0
0
0
0
0
0
0
0
8
71
-1
-1
125
28
66
-18
2
0
0
0
0
0
0
0
2
1
2
-50
19
-25
8
119
1
2
0
0
0
0
0
0
0
0
1
1
54
-8
32
-39
-5
-1
1
0
0
0
0
0
0
0
1
2
-3
1
-2
1
-33
-2
2
0
0
0
0
0
0
0
0
0
4
-13
-4
61
-7
-146
7
2
0
0
0
0
0
0
0
0
0
0
1
-15
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
99
45
26
0
0
0
0
0
0
0
0
0
0
0
2
-10
72
129
86
141
-76
61
1
0
-2
0
0
0
0
0
0
0
-49
-78
17
-8
-2
23
42
-8
-2
0
0
0
0
0
0
0
1
-12
-54
69
20
56
-13
2
7
6
0
0
0
0
0
0
0
0
10
60
-5
4
131
77
-12
-8
0
0
0
0
0
0
0
0
0
-8
2
69
-5
16
5
4
0
1
0
0
0
0
0
0
0
0
-3
-25
-96
-67
-26
-14
107
-2
0
0
0
0
0
0
0
0
0
3
34
-58
-31
-14
-55
16
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-12
-31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
0
0
-40
-86
-3
-4
0
0
0
0
0
0
0
0
0
-2
39
87
-56
-82
-3
-38
1
0
0
0
0
0
0
0
0
0
4
9
-44
-28
13
20
52
8
-1
0
0
0
0
0
0
0
0
0
13
-19
-12
34
-33
-20
-1
1
0
0
0
0
0
0
0
0
-1
-33
-31
-57
-63
-29
26
-42
-6
0
0
0
0
0
0
0
0
-7
-33
-42
-67
-7
-39
-18
4
0
0
0
0
0
0
0
0
0
3
-29
-14
-36
3
-108
-15
34
1
7
0
0
0
0
0
0
0
-2
-126
1
-72
-10
-5
-1
0
0
0
0
0
0
0
0
0
0
0
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
135
0
0
-76
25
-2
-1
0
0
0
0
0
0
0
0
0
-8
-64
-18
-23
-18
8
1
0
0
0
0
0
0
0
0
0
0
0
7
15
22
-18
-16
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-16
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
13
-17
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-82
0
0
-19
-21
-4
0
0
0
0
0
0
0
0
0
0
-1
-62
12
-67
-61
-19
2
0
0
0
0
0
0
0
0
0
0
-10
-15
78
-45
-34
25
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-55
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-74
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
47
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
138
0
0
5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
33
43
11
16
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
34
-42
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
-35
138
14
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
9
-20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
5
-128
10
213
214
0
0
0
0
0
0
0
0
0
0
0
0
15
-39
76
122
-17
0
0
0
-45
-4
8
-5
0
0
0
0
-51
-13
9
-30
81
86
59
1
58
-8
14
1
-1
0
0
0
0
-32
-41
-36
52
-22
11
-109
-39
38
-23
-6
1
-1
0
0
0
0
42
32
-36
-48
-103
-58
-93
-61
-24
-7
-8
3
0
0
0
0
0
8
41
-9
-25
61
-24
-147
36
-83
-14
8
0
0
0
0
0
0
-19
-2
0
2
-88
-45
-34
10
6
22
-1
0
-1
0
0
0
0
0
-68
-10
-25
-22
17
54
7
-7
-14
0
3
0
0
0
0
0
46
-21
13
5
2
-34
-22
27
2
0
0
0
0
0
0
0
0
0
-1
-1
0
69
56
0
0
0
0
-2
3
0
0
0
0
0
-1
45
42
95
112
138
0
0
0
-35
30
4
0
0
0
0
0
-31
-54
60
-5
27
20
16
-56
-27
-17
-24
-6
0
0
0
0
0
29
-20
-60
13
-9
7
6
-16
94
43
-17
-4
0
0
0
0
0
0
15
-55
17
-86
-74
-40
91
-115
17
-9
-1
0
0
0
0
0
1
10
-7
-94
-7
-88
4
-18
-25
1
0
0
0
0
0
0
0
-6
-17
-33
-25
11
18
37
-26
-53
-42
-5
0
0
0
0
0
0
0
11
55
-27
-26
-47
-3
32
28
3
-4
0
-1
0
0
0
0
-9
1
0
0
0
-24
-12
-8
2
1
3
0
0
0
0
0
0
-7
-74
-41
8
123
-27
0
0
0
0
0
0
0
0
0
0
0
7
70
14
139
118
19
0
0
0
0
0
0
0
0
0
0
0
9
9
64
48
56
72
10
0
0
0
0
0
0
0
0
0
0
-75
20
-38
-3
28
45
3
18
0
0
0
0
0
0
0
0
0
106
15
28
-3
-23
1
43
-47
-22
0
0
0
0
0
0
0
0
26
-12
9
-61
68
-18
-71
89
96
43
0
-2
0
0
0
0
0
-7
26
-34
-25
-4
-43
-36
141
36
-43
-15
-5
6
0
0
0
0
-6
-33
-3
-42
89
-55
-2
-9
-12
30
3
-8
0
0
0
0
0
-52
-21
-58
-48
13
-29
-63
-19
-38
-38
0
0
-1
0
0
0
0
-88
-75
-50
96
184
177
0
0
0
0
0
0
0
0
0
0
0
-28
-2
-74
92
101
142
0
0
-31
-8
-19
0
0
0
0
0
0
59
-37
-64
-36
-85
30
78
-18
-22
-8
-1
0
0
0
0
0
0
-17
-34
-53
-46
-130
-45
-82
31
-70
35
-9
0
0
0
0
0
0
-46
31
-89
-92
-90
-69
-92
2
32
-17
-2
0
0
0
0
0
0
-43
-28
-10
14
-58
53
-53
-58
-32
-2
0
0
0
0
0
0
0
-24
-31
-59
-73
-12
-8
-53
-35
-38
0
2
14
0
0
0
0
0
-10
7
-2
-69
-43
4
-16
-83
-11
-8
0
0
0
0
0
0
0
-1
47
13
36
-3
0
-4
5
-3
2
0
0
0
0
0
0
0
-91
-81
-118
-20
173
342
0
0
0
-1
0
0
0
0
0
0
0
-3
-19
-3
2
75
176
145
-10
7
-1
38
0
0
0
0
0
0
3
1
-4
-2
21
18
-41
-108
-67
12
17
-7
0
0
0
0
0
-98
17
-15
-9
-35
-38
-34
-84
-9
-71
-16
1
0
0
0
0
0
-11
13
-12
-17
-37
-40
-43
-74
-73
-22
37
-6
0
0
0
0
0
-1
3
-9
-16
-20
-38
-56
-62
-110
36
36
-78
0
0
0
0
0
37
11
-3
-4
-41
-50
-63
-59
-37
-10
-54
-2
0
0
0
0
0
5
14
-5
-9
-35
-78
-74
-114
19
41
-2
56
0
0
0
0
0
-34
6
-1
-28
-30
-45
-103
-36
-28
12
15
-125
-2
0
0
0
0
148
199
230
284
312
311
0
0
0
0
0
0
0
0
0
0
0
125
104
145
200
263
163
96
-30
0
0
0
0
0
0
0
0
0
-43
-25
29
-8
17
-23
-51
-8
-6
2
0
0
0
0
0
0
0
-53
-12
-15
20
-47
-112
19
0
0
0
0
0
0
0
0
0
0
-31
-29
-57
-45
6
-34
0
-4
0
1
0
0
0
0
0
0
0
-45
-30
-52
12
0
-10
-1
0
-3
0
0
0
0
0
0
0
0
-58
-69
-13
-24
-46
12
0
0
0
0
0
0
0
0
0
0
0
-1
-157
-120
-55
-132
-48
-1
8
0
0
0
0
0
0
0
0
0
-55
-41
-25
-20
-3
-5
-4
-1
-1
0
0
0
0
0
0
0
0
-114
-82
-74
58
211
196
242
0
0
0
0
0
0
0
0
0
0
-43
0
33
82
145
0
43
62
3
-2
0
0
0
0
0
0
0
-46
12
-17
3
18
33
-14
-47
-9
7
-5
0
0
0
0
0
0
-83
0
-21
-52
-50
-51
-20
-21
1
0
0
0
0
0
0
0
0
-9
-11
30
-53
-39
-8
42
16
13
0
0
0
0
0
0
0
0
-3
1
51
-21
-57
-50
-30
5
4
0
0
0
0
0
0
0
0
102
2
17
22
-67
31
62
7
-8
20
0
0
0
0
0
0
0
-26
-26
-26
-104
41
-66
-13
59
-1
7
0
0
0
0
0
0
0
-24
-15
41
-27
11
-6
-27
10
0
-1
2
0
0
0
0
0
0
-102
-98
-56
9
299
266
0
0
0
-1
-1
0
0
0
0
0
0
-9
-24
-16
16
164
200
0
4
0
13
3
1
0
0
0
0
0
-30
-12
13
-25
19
-25
59
-66
-14
-39
15
0
0
0
0
0
0
-51
-26
-30
-11
-83
-16
27
-37
-31
24
-23
0
0
0
0
0
0
-26
33
-94
-53
-137
-3
0
52
17
-40
-10
0
0
0
0
0
0
5
-8
-4
-71
-58
-37
-59
49
-11
0
3
0
-2
0
0
0
0
27
-96
-35
21
-14
-38
-48
-17
21
-23
0
0
0
0
0
0
0
3
14
-52
-52
-52
-41
-46
1
-58
-6
-1
0
0
0
0
0
0
-43
-65
-95
48
-86
-93
5
-14
8
1
0
0
0
0
0
0
0
-82
6
-107
49
131
226
235
0
0
1
0
0
0
0
0
0
0
4
16
36
98
79
149
0
61
0
-91
0
0
0
0
0
0
0
-55
8
25
23
34
22
-6
-99
72
-24
3
0
0
0
0
0
0
-17
24
-22
-107
-23
-83
27
-67
36
-6
4
3
0
0
0
0
0
25
34
25
-34
-49
-26
-71
-38
-3
14
-5
0
0
0
0
0
0
86
59
-14
-22
-34
-23
9
-3
0
0
0
0
0
0
0
0
0
-42
-21
-14
5
-74
-162
-9
7
4
0
0
0
0
0
0
0
0
-31
-25
-54
-31
22
-29
70
20
16
0
0
0
0
0
0
0
0
20
5
28
-25
3
-16
21
1
0
0
0
0
0
0
0
0
0
34
-83
19
140
103
62
0
0
0
0
0
0
0
0
0
0
0
17
24
36
34
78
135
65
0
-78
-20
0
0
0
0
0
0
0
-1
-15
8
47
106
2
-16
-40
-27
3
0
0
0
0
0
0
0
47
18
4
44
-19
17
-1
0
-44
-4
1
0
0
0
0
0
0
13
12
19
11
9
25
-46
-55
-93
5
0
0
0
0
0
0
0
28
-2
0
12
-108
-33
-5
-52
-2
-12
0
0
0
0
0
0
0
42
14
46
-17
8
-7
-13
57
-17
0
0
0
0
0
0
0
0
7
4
49
43
-49
-5
-12
-31
-19
-8
0
0
0
0
0
0
0
30
-19
0
-3
-36
3
15
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
15
18
-13
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
3
66
53
172
31
-36
4
0
0
0
0
0
0
0
0
0
0
0
-16
5
24
13
44
2
0
0
0
0
0
0
0
0
0
0
0
13
-29
34
-73
-80
0
0
0
0
0
0
0
0
0
0
0
0
-40
10
14
-31
19
0
0
0
0
0
0
0
0
0
-2
0
0
-26
-6
3
-5
0
2
0
0
0
0
0
0
0
0
0
-1
3
20
22
-4
10
13
0
0
0
0
0
0
0
0
0
0
0
0
1
10
12
-11
-56
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
20
2
0
0
0
0
0
0
0
0
0
0
0
0
-18
32
32
41
3
0
0
0
0
0
0
0
0
0
0
0
3
-5
41
74
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
65
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
-12
-5
0
0
0
0
0
0
0
0
0
0
1
4
59
73
59
27
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-12
-35
-31
11
-8
0
0
0
0
0
0
0
0
0
0
0
2
2
9
-30
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-138
53
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
51
11
26
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-41
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
9
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-6
92
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
22
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
25
41
0
0
0
0
0
0
0
0
0
0
0
2
0
0
22
14
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-45
-72
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
56
-16
-36
5
3
0
0
0
0
0
0
-1
0
0
0
0
-19
-101
-67
23
-29
-7
0
0
0
0
0
0
0
0
-25
113
64
91
-22
29
20
-24
0
0
0
0
0
0
0
0
0
1
6
8
92
-53
137
31
20
5
0
0
0
0
-3
0
-1
-2
-3
73
52
117
95
77
-7
-17
0
0
0
0
0
0
0
0
-4
3
-26
57
98
10
13
15
0
0
0
0
0
0
0
0
0
0
-1
43
-1
108
9
-6
2
0
0
0
0
0
0
0
0
0
0
6
-77
63
16
-3
5
-7
0
0
0
0
0
0
0
0
0
0
-5
-70
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-32
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-27
15
-22
0
-10
-1
0
0
0
0
0
0
-1
-7
1
-13
-6
4
37
1
-8
2
-2
0
0
0
0
0
0
-1
-2
-2
-65
58
67
25
36
-6
-28
-3
0
0
0
0
0
0
0
5
-3
-19
47
-1
50
13
-8
-13
-8
0
0
0
0
0
0
0
0
0
-17
2
2
32
5
-4
-6
0
0
0
0
0
0
0
0
0
-2
3
0
14
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-88
114
168
38
-54
-13
118
0
0
0
-2
13
-1
4
24
0
0
18
33
88
-42
13
55
-1
0
0
1
0
0
1
-8
43
45
129
93
88
8
128
123
123
6
0
0
0
0
0
1
-8
2
-4
24
118
24
10
116
110
27
88
0
0
0
0
2
0
-3
15
-57
-31
41
121
-8
28
39
59
-14
0
0
0
0
0
0
-5
-3
-23
18
2
-57
147
108
2
-22
-7
0
0
0
0
0
1
-2
5
-53
-123
-9
140
29
31
103
43
1
0
0
0
0
0
-1
6
0
-22
19
-2
-4
-31
104
15
0
0
0
0
0
0
0
-7
-2
-3
3
29
5
0
0
3
0
0
0
0
0
0
1
6
-16
78
-2
0
0
-40
-82
-25
-24
13
52
2
0
0
0
0
12
83
44
56
-38
-15
-27
-26
-11
-19
41
65
48
0
0
-1
-1
10
-61
-51
-43
-107
-85
-32
-6
-29
-20
-9
97
60
0
0
0
-5
2
24
-8
-58
-10
-21
34
-54
-58
-50
53
81
51
0
0
0
3
5
9
-3
-41
5
4
-12
-19
-71
-28
-3
-12
26
0
0
0
0
40
4
-12
9
1
-20
-14
-83
-19
-15
60
40
-21
0
0
0
0
-18
10
73
-13
35
57
-30
16
-42
-14
-3
35
-39
0
0
0
0
-6
12
-49
-29
59
34
4
-77
-81
-7
41
10
-2
0
0
0
0
-5
-4
61
-22
-46
-30
6
-16
-133
-71
89
-29
0
0
0
0
0
0
-1
0
2
0
0
-1
77
-34
-26
82
-29
-9
0
0
0
0
-5
0
2
6
-2
-4
-2
38
54
91
8
-108
-2
0
0
0
0
0
0
0
-21
7
44
31
15
-38
68
186
58
-47
0
0
0
0
0
0
0
3
36
44
-14
-38
21
25
-25
-15
-12
0
0
0
0
0
0
0
-22
19
-10
19
15
-32
2
-34
15
-14
0
0
0
4
0
3
-4
2
1
-18
-2
-1
16
-32
60
44
3
0
0
0
0
2
0
0
2
-25
-15
19
86
38
-5
-42
-8
-90
0
0
0
0
0
0
0
1
25
-16
-9
-9
-38
1
-116
28
45
0
0
0
0
0
0
1
2
-6
20
-10
-45
103
52
-79
-71
28
0
0
0
0
-1
0
0
-8
0
0
136
111
160
96
91
-61
-42
0
0
0
0
0
-2
0
-31
-48
160
0
129
132
102
-8
56
31
0
0
0
0
0
-1
-4
17
-23
79
0
60
70
120
67
-46
-107
0
0
0
0
0
-3
-1
-1
-1
23
43
26
89
62
75
-8
-34
0
0
0
0
0
0
-4
-1
8
-61
9
-33
-23
45
-23
-49
121
0
0
0
-4
0
0
-3
7
-67
-98
-33
16
-11
76
25
8
-57
0
0
0
0
-2
0
3
2
-40
-74
-59
-41
-27
0
-3
-74
-8
0
0
0
0
0
0
-22
-3
-42
97
50
-56
34
12
19
-42
-8
0
0
0
0
0
-4
0
0
27
17
-11
-7
13
39
72
0
0
0
0
0
0
0
0
0
4
0
0
-59
46
-85
90
-121
-45
27
0
0
0
0
0
6
7
0
-27
0
-10
-2
-121
-2
42
-10
-39
0
0
0
0
0
0
1
76
87
180
102
73
-26
87
83
53
23
0
0
0
0
0
-1
14
43
60
128
45
61
92
114
84
157
38
0
0
0
0
3
0
4
-13
17
1
94
54
25
-10
67
-1
-1
0
0
0
0
0
-2
4
-7
-72
52
57
59
65
9
57
4
0
0
0
0
0
0
-4
-3
33
69
-3
27
188
-28
50
49
-13
-2
0
0
0
1
0
0
-42
56
14
30
20
-84
-44
-49
42
-13
0
0
0
0
0
0
0
0
5
-8
47
-31
9
-3
-4
-57
-1
0
0
0
0
0
0
0
0
0
0
0
-157
66
32
66
-17
-8
0
0
0
0
0
0
0
0
0
53
0
21
46
26
-52
4
61
0
0
0
0
0
0
0
0
0
25
68
-9
-59
-18
50
31
93
0
0
0
0
0
0
0
0
0
2
23
57
76
26
8
-8
26
-4
0
0
0
0
0
0
0
-3
4
83
90
98
-50
24
-4
-24
-6
0
0
0
0
0
0
0
2
1
13
55
-22
44
39
16
12
4
0
0
0
0
0
0
0
0
8
16
25
13
67
180
28
0
-3
0
0
0
0
0
0
0
-1
8
5
17
-31
44
-72
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
13
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
-2
14
-40
26
2
0
0
0
0
0
0
0
2
0
39
-15
131
31
24
22
-25
48
0
0
0
0
0
0
0
0
-9
-4
-24
78
-62
102
-53
-5
30
0
0
0
0
0
0
0
2
0
1
56
-19
27
-4
26
68
-20
0
0
0
0
0
0
0
0
0
0
52
-48
67
12
-48
54
-38
0
0
0
0
0
0
0
0
0
1
30
29
-37
-51
26
-22
1
0
0
0
0
0
0
0
0
0
0
6
48
28
69
-13
13
0
0
0
0
0
0
0
0
0
1
0
-1
0
40
-10
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
74
0
0
-1
-62
31
-73
-54
18
-25
0
0
0
0
0
0
2
-39
23
46
52
0
-14
-33
-79
-57
-4
0
0
0
0
0
0
0
-3
7
-1
-37
-54
-4
-82
-15
-59
-9
0
0
0
0
0
0
0
5
0
0
-28
-3
4
-7
-32
-13
53
0
0
0
0
0
0
0
0
0
0
-5
-4
-59
-34
25
-33
17
0
0
0
0
0
0
0
0
0
0
-1
-5
-27
9
-53
-38
59
0
0
0
0
0
0
0
0
0
0
-1
31
-19
3
-20
-6
-70
0
0
0
0
0
0
0
0
0
0
0
-52
3
-22
-54
37
-20
0
0
0
0
0
0
0
0
0
0
0
0
8
-94
-34
68
-38
0
0
0
0
0
0
0
0
0
0
0
-1
9
-24
19
27
-16
0
0
0
0
0
0
0
0
-1
0
-40
-21
16
33
-38
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-50
56
4
14
0
0
0
0
0
0
0
0
0
0
0
0
8
28
46
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-17
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
31
10
-48
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
13
-144
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-51
58
-12
-6
0
0
0
0
0
0
0
0
2
-3
-13
-5
91
-46
-126
45
-8
0
0
0
0
0
0
0
0
0
0
2
9
2
21
-45
-51
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-62
-27
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-78
50
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
36
-54
13
0
0
0
0
0
0
0
0
0
0
0
-15
-23
-4
-26
-27
1
17
0
0
0
0
0
0
0
0
0
2
0
0
0
5
78
-9
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
-34
-5
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
44
0
0
36
62
33
-25
-22
-33
-54
0
0
0
0
-1
2
8
26
-13
-107
47
-30
24
-4
-13
-27
16
0
0
0
0
0
5
5
68
63
-6
-27
20
49
48
2
24
49
0
0
0
0
0
0
1
57
-39
26
-94
-12
20
7
-21
66
8
0
0
0
0
0
0
0
9
-33
13
-2
-12
-5
13
-75
83
-5
0
0
0
0
0
0
0
0
-19
76
44
-99
-22
-29
-4
-15
-6
0
0
0
0
0
0
2
-4
-2
-5
-30
39
9
9
-22
-29
-25
0
0
0
0
0
0
0
0
-47
-144
-7
-24
-4
-70
63
-49
0
0
0
0
0
0
0
0
1
-5
8
-1
-1
3
-5
-21
-7
50
0
0
0
0
0
0
0
0
0
0
-28
-60
14
43
-6
-116
19
0
0
0
0
0
0
1
3
0
10
-25
89
48
9
0
-45
-17
0
0
0
0
0
0
0
-5
19
-53
32
-36
63
14
8
-51
44
0
0
0
0
0
0
0
0
13
15
-19
-96
93
-10
12
-68
-44
0
0
0
0
0
0
0
0
25
34
37
-21
-74
36
-115
-45
50
0
0
0
0
0
0
0
-1
-2
-57
28
7
-10
-80
-85
29
-25
0
0
0
0
0
0
0
1
56
62
23
-106
-49
9
1
-63
-7
0
0
0
0
0
0
0
-1
9
-53
-27
-23
-15
47
-48
-44
3
0
0
0
0
0
0
0
1
-31
-2
11
-9
6
-23
-29
46
40
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
13
59
0
0
-8
52
156
39
42
-25
0
0
0
0
0
-22
21
-3
-10
42
0
-42
-107
-19
-82
31
39
-2
0
0
0
3
-28
-19
-15
67
-14
-46
-19
-20
1
3
1
-30
-6
0
0
0
0
9
-6
54
82
-5
-13
29
-8
20
-76
28
30
-1
0
0
0
0
-4
0
4
35
17
-90
51
-58
-143
55
-84
27
-1
0
0
0
0
0
0
-1
-55
-120
-16
-7
5
-62
-7
24
-6
0
0
0
0
0
0
-8
-16
-22
21
-16
-22
-147
-43
28
2
2
0
0
0
0
0
0
0
0
-24
-19
-16
-6
9
4
-13
15
40
0
0
0
0
0
0
0
-5
-10
-70
-58
-29
-1
-1
-2
0
0
0
0
0
13
-124
1
9
54
-14
0
0
-6
54
64
100
-131
5
0
0
0
-49
8
-45
-26
-5
10
33
0
6
8
49
55
-32
-7
0
0
0
-34
21
44
-68
-62
-5
4
-5
-5
9
41
59
-24
-26
0
0
0
18
-5
-19
14
-23
-47
-11
-16
-7
-3
27
51
5
-22
0
0
0
3
-38
50
-30
-97
-35
-9
-15
-12
-22
16
55
12
-54
0
0
0
-13
-65
-23
-7
-41
-45
-1
-9
-14
-23
-14
28
48
-38
0
0
0
6
38
-51
6
-21
-5
-15
6
-9
-30
-20
17
38
7
0
0
0
-46
-1
28
25
2
7
-10
-7
-8
-21
-18
-26
20
0
0
0
0
-30
-98
24
51
-40
-37
3
-2
-5
-8
-77
-60
42
-3
0
0
0
0
0
-1
8
-7
-72
0
0
65
44
-31
111
-1
0
0
0
0
0
0
2
2
2
-21
-27
31
65
66
-13
42
-1
0
0
0
0
0
0
0
0
-40
47
20
20
35
2
28
-28
0
0
0
0
0
0
0
0
0
-9
29
13
58
-20
18
29
16
0
0
0
0
0
0
0
0
-2
10
5
16
-32
91
6
-39
9
0
0
0
0
0
0
0
0
0
2
-7
78
55
0
-35
26
36
0
0
0
0
0
0
2
0
-3
0
85
-12
-53
104
-78
36
-52
14
0
0
0
0
0
0
0
-8
2
-1
-13
-25
-1
61
5
-4
0
0
0
0
0
0
0
-6
0
-1
4
-6
48
-44
44
9
0
0
0
0
0
0
0
-9
-5
52
51
-88
0
0
74
108
59
58
1
0
0
0
0
0
-4
-17
38
-82
-13
40
8
10
46
-2
-52
6
0
0
0
0
0
0
64
6
73
22
30
83
20
-6
3
64
-27
0
0
0
0
0
0
25
12
75
-28
8
-23
-26
11
43
2
13
0
0
0
0
0
7
1
-1
-14
-31
41
31
5
-30
34
-24
-1
0
0
0
0
0
0
5
8
10
-49
-19
-47
-23
77
-35
8
0
0
0
0
0
0
-16
-10
-26
-34
-50
-25
-24
28
-35
-70
-3
-1
0
0
0
0
0
-8
22
0
46
-86
44
-35
-12
-13
3
-42
0
0
0
0
0
-1
0
-15
-19
-29
-21
-52
-65
-49
-13
2
24
0
0
0
0
0
-3
0
-1
3
-15
20
0
0
22
34
33
43
-51
11
42
0
0
0
0
-2
41
-14
-24
7
-26
14
20
-9
-20
15
-73
-16
0
0
0
0
6
-17
66
53
20
-62
-2
-30
-27
68
28
-43
-38
0
0
0
0
1
-5
-25
7
66
-75
16
47
124
130
-24
-106
-6
0
0
0
1
-2
0
-11
6
4
28
-6
14
-9
0
4
7
0
0
0
0
0
-1
6
-8
-58
-10
-104
-50
64
13
62
3
-3
-3
0
0
0
0
0
-2
-4
2
-75
-74
5
-63
37
2
-22
-5
7
0
0
0
3
3
0
-36
-50
-40
-93
7
-5
-5
34
-2
-62
0
0
0
0
0
0
2
3
-32
-55
-31
-59
-29
-56
-1
0
6
0
0
0
-1
0
0
-13
1
-29
0
0
59
26
91
-19
55
-31
16
0
0
0
0
0
0
8
1
-35
11
69
19
-53
15
-55
119
8
0
0
0
0
0
-13
-31
-24
26
-4
54
-9
-7
-3
6
-15
18
0
0
0
0
0
0
-22
32
-30
9
-16
54
40
-79
1
-29
-17
0
0
0
0
0
-1
48
-54
-13
-9
56
9
-18
184
42
75
1
0
0
0
0
1
-4
-45
-3
-46
-34
1
-7
-10
-68
3
17
0
0
0
0
0
1
13
-14
33
41
-3
-26
2
66
10
-4
4
-24
0
0
0
0
0
0
-19
13
-14
-32
9
35
11
41
-5
-15
0
0
0
0
0
0
3
32
17
-23
5
42
-15
44
0
0
0
0
0
0
0
0
1
6
16
64
0
0
21
86
-43
-23
12
44
23
0
0
0
-1
0
15
2
29
-47
74
-19
32
29
-6
-5
-57
-23
0
0
0
0
-1
-2
77
-1
23
64
-56
36
15
-17
-7
-58
-9
0
0
0
0
0
0
-6
31
5
-100
14
-17
-19
15
-81
-70
5
0
0
0
0
1
6
13
60
-4
-8
-25
18
-82
34
-41
25
-36
0
0
0
3
-12
-3
-27
11
91
40
12
-56
64
-4
4
-7
-6
0
0
0
1
6
-24
-10
15
32
17
28
34
42
13
10
0
-5
0
0
1
0
-18
48
-10
31
12
-25
-3
56
-42
29
-7
-3
0
0
0
1
27
-25
14
-29
-29
-36
47
63
-39
43
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
-31
95
151
96
-36
0
0
0
0
0
0
0
0
0
0
27
9
34
86
102
43
-26
3
1
0
0
0
0
0
0
0
0
38
-4
-47
-74
-15
50
-1
0
1
0
0
0
0
0
0
0
0
-90
36
2
-12
-36
-4
0
5
0
0
0
0
0
0
0
0
0
19
-41
-30
3
14
-2
0
0
0
0
0
0
0
0
0
0
0
58
26
-11
-61
-32
0
0
0
0
0
0
0
0
0
0
0
0
-50
-29
-27
-29
-44
2
0
0
0
0
0
0
0
0
0
0
0
-44
35
-16
14
63
0
0
0
0
0
0
0
0
0
0
0
0
6
9
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
21
12
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
38
17
3
0
0
0
0
0
0
0
0
0
0
0
-3
-71
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
91
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
20
-1
18
2
-2
0
0
0
0
0
0
0
0
0
0
56
42
71
-48
2
24
0
0
0
0
0
0
0
0
0
0
0
-75
45
46
1
5
0
1
0
0
0
0
0
0
0
0
0
0
23
76
-49
-42
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
-5
18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
-27
-32
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
35
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
23
18
3
14
-1
0
0
0
0
0
0
0
0
0
0
0
-14
9
23
3
-11
0
0
0
0
0
0
0
0
0
0
0
4
-49
-12
21
2
1
0
0
0
0
0
0
0
0
0
0
0
-17
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
22
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
42
94
112
156
-1
0
0
0
0
0
0
0
0
0
0
-3
-126
-24
54
129
86
80
23
2
0
0
0
0
0
0
0
0
24
4
-19
38
32
-8
51
-23
0
0
0
0
0
0
0
0
0
-17
30
-6
-42
20
-101
6
-2
0
0
0
0
0
0
0
0
0
-5
41
-5
4
19
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
43
25
9
-9
0
-2
0
0
0
0
0
0
0
0
0
0
1
-7
-54
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
5
49
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-24
-7
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
31
10
14
29
-1
3
0
0
0
0
0
0
0
0
0
0
0
-31
19
24
50
71
-2
-14
-2
-10
0
0
0
0
0
0
0
-7
-3
49
38
47
2
-3
-8
2
0
0
0
0
0
0
0
0
-1
-23
-4
0
0
13
6
-41
1
0
0
0
0
0
0
0
0
-2
-2
-8
-7
-13
-25
-6
0
5
0
0
0
0
0
0
0
0
-2
-30
0
1
-10
-10
-3
0
0
0
0
0
0
0
0
0
0
-3
-6
-12
10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
-30
-22
124
132
86
0
0
0
0
0
0
0
0
0
0
28
-41
-3
74
80
74
172
131
5
-12
-22
9
0
0
0
0
0
14
-10
-6
74
-30
3
0
35
-23
-41
-5
-6
0
0
0
0
0
48
-38
33
16
-70
9
44
18
-80
17
8
0
-1
0
0
0
0
13
6
-3
-30
18
-63
-15
11
-41
8
2
0
0
0
0
0
0
5
-6
-38
20
22
10
1
14
4
0
0
0
0
0
0
0
0
8
-30
6
4
-15
-6
1
0
-2
0
4
0
0
0
0
0
0
0
-26
37
26
-29
-2
-9
0
0
0
0
0
0
0
0
0
0
7
21
-2
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-34
-88
-83
18
5
-52
42
0
0
8
-8
24
1
0
0
0
0
-1
-59
-43
-11
4
-34
22
23
130
40
30
1
-5
-12
0
0
0
14
-10
-97
-38
-39
-54
-48
-80
37
20
-16
81
-3
-1
0
0
0
78
7
-50
-69
-46
-35
-37
-7
101
-12
-55
30
26
0
0
0
0
-34
57
-9
-79
-40
33
23
-9
29
5
-17
74
-17
29
0
0
0
51
-36
1
-16
4
-70
16
-20
41
19
-12
51
10
0
0
0
0
6
22
32
3
2
-52
-35
-1
-108
82
-95
41
0
1
0
0
0
29
14
-44
-51
3
11
63
-10
36
11
31
-2
-2
0
0
0
0
5
50
20
-59
-43
-51
-26
17
75
-23
-46
-23
3
0
0
0
0
0
11
-68
22
16
-15
29
0
0
0
0
1
0
0
0
0
0
1
-22
96
7
60
42
11
31
-79
86
-29
-14
0
0
0
0
0
-2
29
62
-33
14
-68
16
-31
-53
4
39
4
0
0
0
0
0
-2
47
22
-76
30
-4
30
1
-17
-40
-12
5
0
0
0
0
0
-5
7
-13
1
71
26
-13
33
67
-27
-32
3
0
0
0
0
0
1
-42
-52
57
57
30
24
33
-23
35
12
-3
0
-8
0
0
0
1
66
-59
25
-24
37
5
7
58
1
0
0
-2
0
0
0
0
0
40
13
4
2
23
-5
-32
34
70
-9
1
0
0
0
0
0
1
-17
31
-4
-58
15
-3
-5
-35
-16
-2
0
0
0
0
0
0
0
55
79
-9
-12
0
46
0
0
2
5
0
0
0
0
0
0
0
-49
112
-28
42
-1
53
99
24
3
1
-5
0
0
0
0
0
0
36
53
-7
22
-97
42
-8
10
31
27
0
0
0
0
0
0
0
4
0
13
-94
-8
49
77
61
3
-1
18
0
0
0
0
0
0
2
41
-49
0
-55
-16
-50
1
15
8
-2
0
0
0
0
0
0
15
-18
6
-15
-16
-13
-44
-31
-5
-14
0
-1
0
0
0
0
0
33
67
-9
-7
15
77
-43
-41
-43
-4
0
0
0
0
0
0
0
0
21
29
51
-41
-83
-48
-51
0
0
0
0
0
0
0
0
0
24
1
8
-21
8
6
2
0
0
2
0
0
0
0
0
0
29
13
26
-72
54
86
63
0
0
0
0
0
0
0
0
0
0
16
-7
4
193
44
60
144
164
-31
-15
0
-3
0
0
0
0
0
-69
-76
4
35
5
-44
-65
-71
24
-23
0
1
0
0
0
0
0
-25
14
3
-18
-80
-61
-39
4
-46
-4
7
0
-5
0
0
0
0
45
65
65
-8
46
-76
7
17
59
1
3
0
0
0
0
0
0
52
27
-13
30
-24
2
-27
31
-17
0
-2
0
0
0
0
0
0
40
8
15
12
-12
-41
1
4
2
0
0
0
0
0
0
0
0
1
78
40
17
10
-44
-33
-6
4
0
0
0
0
0
0
0
0
12
12
14
1
-9
2
0
0
0
0
1
0
0
0
0
0
0
1
8
41
103
49
163
102
0
0
0
0
0
0
0
0
0
0
0
10
14
71
82
79
48
-3
-20
-56
0
0
0
0
0
0
0
1
8
24
13
-2
5
-5
23
4
1
0
0
0
0
0
0
0
0
5
71
-17
-37
14
-8
27
0
2
0
0
0
0
0
0
0
2
0
1
-51
8
1
16
84
1
2
0
0
0
0
0
0
0
0
1
1
43
-4
7
25
-7
0
1
0
0
0
0
0
0
0
1
1
-2
23
-8
-3
-8
3
2
0
0
0
0
0
0
0
0
0
3
-13
-4
8
-3
8
13
2
0
0
0
0
0
0
0
0
0
0
1
-15
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
14
49
32
0
0
0
0
0
0
0
0
0
0
0
2
-1
30
51
59
30
-90
39
-6
0
-2
0
0
0
0
0
0
0
-47
-31
-5
-12
32
19
28
-5
-2
0
0
0
0
0
0
0
1
-8
-49
22
-27
-36
13
23
7
6
0
0
0
0
0
0
0
0
0
45
-15
-1
89
31
11
-8
0
0
0
0
0
0
0
0
0
8
43
1
0
-17
-13
-8
0
1
0
0
0
0
0
0
0
0
3
-14
-41
-23
-9
9
16
-2
0
0
0
0
0
0
0
0
0
3
38
-5
-8
-13
-98
22
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-12
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
0
0
-16
-67
-6
-4
0
0
0
0
0
0
0
0
0
-2
-16
16
-11
-35
3
-33
2
0
0
0
0
0
0
0
0
0
4
59
21
57
70
66
46
8
-1
0
0
0
0
0
0
0
0
0
10
9
16
-4
-33
-4
13
1
0
0
0
0
0
0
0
0
-1
-25
-15
29
-31
-15
14
-32
-6
0
0
0
0
0
0
0
0
-5
-7
-36
-81
-30
17
44
-16
36
0
0
0
0
0
0
0
0
3
48
53
47
19
-58
13
-10
1
7
0
0
0
0
0
0
0
-2
-90
-8
-94
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
85
0
0
-37
8
-6
-1
0
0
0
0
0
0
0
0
0
-8
-49
9
-40
3
-4
1
0
0
0
0
0
0
0
0
0
0
0
27
30
-62
-19
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
25
-2
1
0
0
0
0
0
0
0
0
0
0
0
13
-16
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
0
0
-15
-22
-4
0
0
0
0
0
0
0
0
0
0
-1
20
10
-12
-20
-17
2
0
0
0
0
0
0
0
0
0
0
-10
-9
15
-18
-37
15
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-40
-7
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
5
-74
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
106
0
0
5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
18
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
23
30
-41
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
60
19
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
13
-16
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-5
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
28
-26
5
87
140
0
0
0
0
0
0
0
0
0
0
0
0
-29
28
11
191
111
0
0
0
-9
-3
8
-5
0
0
0
0
-57
12
-60
-51
-32
52
16
-1
37
-9
9
1
-1
0
0
0
0
-18
54
15
31
50
-60
10
-54
-6
-25
-6
1
-1
0
0
0
0
12
43
-29
-61
-9
-45
-56
-28
-31
0
-7
3
0
0
0
0
0
7
50
-8
-43
21
-14
-46
42
-70
-13
9
0
0
0
0
0
0
-5
14
14
25
-61
-29
-21
-77
-37
18
-1
0
-1
0
0
0
0
0
-4
30
-40
-6
3
-9
72
10
-4
1
3
0
0
0
0
0
9
-4
1
13
2
-13
-5
19
2
2
0
0
0
0
0
0
0
0
0
0
0
34
57
0
0
0
0
-2
3
0
0
0
0
0
-1
31
41
87
78
77
0
0
0
-41
61
5
0
0
0
0
0
-96
-22
26
12
19
7
-16
-3
49
17
-55
-5
0
0
0
0
0
23
-8
-18
-21
3
11
4
17
59
3
-12
-4
0
0
0
0
0
0
0
-6
-25
-39
-40
-70
-29
-2
3
-28
-1
0
0
0
0
0
1
6
-7
-83
-6
-72
-23
-18
-28
2
0
0
0
0
0
0
0
-5
5
-27
-13
0
14
42
-74
-32
-35
-6
0
0
0
0
0
0
0
-9
30
-17
-6
-25
-41
0
-67
0
10
0
-1
0
0
0
0
-4
1
0
0
0
-15
-11
-19
0
1
3
0
0
0
0
0
0
-51
-19
47
-13
112
-49
0
0
0
0
0
0
0
0
0
0
0
28
20
68
82
156
95
0
0
0
0
0
0
0
0
0
0
0
-30
25
29
40
14
59
15
2
0
0
0
0
0
0
0
0
0
36
7
74
49
23
41
48
33
5
0
0
0
0
0
0
0
0
38
12
-15
-15
-44
-55
75
-29
-33
-4
0
0
0
0
0
0
0
10
33
56
59
-4
-62
-94
64
93
12
0
-2
0
0
0
0
0
-3
21
90
-33
-17
14
-37
52
-19
-20
-5
-5
6
0
0
0
0
-38
41
28
-68
11
-114
-32
22
-36
21
-3
-8
0
0
0
0
0
-70
-21
-71
-61
-14
25
-16
-36
-51
-9
0
0
-1
0
0
0
0
-38
-2
-42
71
72
258
0
0
0
0
0
0
0
0
0
0
0
25
-46
30
63
16
168
0
0
-70
32
5
0
0
0
0
0
0
19
-27
-47
-70
37
-47
-9
51
34
6
-2
0
0
0
0
0
0
71
35
32
10
-29
-20
-173
-8
-45
9
-10
0
0
0
0
0
0
-42
-51
-90
-83
-10
-33
-50
1
42
-1
-2
0
0
0
0
0
0
-56
-34
-53
-75
13
100
51
11
-45
-2
0
0
0
0
0
0
0
3
-13
-44
18
-19
-21
-18
-23
-36
-1
2
14
0
0
0
0
0
-8
17
-66
-43
-7
-33
-13
-42
-25
-6
1
0
0
0
0
0
0
-10
22
1
20
2
1
2
5
6
2
0
0
0
0
0
0
0
-35
-66
-60
-76
31
316
0
0
0
-1
-3
0
0
0
0
0
0
-21
13
-15
11
16
48
67
-3
34
-18
22
4
0
0
0
0
0
49
-8
5
10
6
-37
-73
-54
-17
59
50
11
0
0
0
0
0
14
-6
0
-8
-2
9
23
-26
-49
8
29
-18
0
0
0
0
0
-3
16
-4
-4
-22
-30
-44
1
-69
41
44
1
0
0
0
0
0
-8
-42
-5
11
-20
18
-64
-59
-60
-28
63
-63
0
0
0
0
0
14
-1
-5
-6
-16
-16
-37
-106
-31
-22
35
-13
0
0
0
0
0
29
-12
-4
-16
-35
-15
-15
-1
-36
-27
-36
47
0
0
0
0
0
54
7
17
-8
-58
-29
-35
-58
-29
-40
-51
-11
-2
0
0
0
0
-44
52
133
139
262
213
0
0
0
0
0
0
0
0
0
0
0
16
1
34
175
251
122
93
-33
0
0
0
0
0
0
0
0
0
-47
17
5
-24
-10
-19
-54
-32
-7
2
0
0
0
0
0
0
0
-40
-12
-39
22
10
-109
12
0
0
0
0
0
0
0
0
0
0
-29
-19
-59
-32
4
-30
0
-4
0
1
0
0
0
0
0
0
0
-44
-25
-28
-17
19
12
-1
0
-3
0
0
0
0
0
0
0
0
-57
-65
-30
2
-25
9
0
0
0
0
0
0
0
0
0
0
0
-1
-124
-91
-70
-103
-43
-3
8
0
0
0
0
0
0
0
0
0
-51
-40
-24
-19
-4
-3
-4
-1
-1
0
0
0
0
0
0
0
0
-74
-77
-65
44
77
54
304
0
0
0
0
0
0
0
0
0
0
-8
5
-51
-51
40
0
92
66
-5
-2
0
0
0
0
0
0
0
-41
44
-17
58
111
-61
-2
-58
-6
8
-5
0
0
0
0
0
0
-1
-53
-4
-60
1
-14
-39
21
-13
-4
0
0
0
0
0
0
0
-17
42
103
-35
-7
-23
57
17
-16
1
0
0
0
0
0
0
0
-3
8
1
-40
-43
13
-32
3
3
0
0
0
0
0
0
0
0
29
-27
13
-75
-51
14
62
5
-12
20
0
0
0
0
0
0
0
-24
-23
13
-74
9
-72
-32
25
1
7
0
0
0
0
0
0
0
-30
-159
49
3
16
2
-24
8
-2
-1
2
0
0
0
0
0
0
-118
13
10
5
26
190
0
0
0
-1
-1
0
0
0
0
0
0
8
-78
12
88
-49
229
0
45
0
75
6
1
0
0
0
0
0
-40
8
-7
-46
-6
-32
61
14
16
-10
24
-1
0
0
0
0
0
-25
90
39
-69
21
15
1
-4
-107
-12
-53
0
0
0
0
0
0
-5
-100
-36
-88
-110
20
21
71
-33
-18
-9
0
0
0
0
0
0
6
11
8
-31
37
-98
-124
43
-4
0
3
0
-2
0
0
0
0
-48
-20
-91
-81
4
25
-30
11
3
5
0
0
0
0
0
0
0
-4
-17
-87
-16
41
4
-51
-17
-32
-1
-1
0
0
0
0
0
0
-40
-95
-41
35
-41
-73
-18
-3
10
1
0
0
0
0
0
0
0
-27
-7
35
2
98
233
279
0
0
1
0
0
0
0
0
0
0
-1
-29
-47
77
111
184
0
169
0
-78
0
0
0
0
0
0
0
-13
11
90
66
20
60
25
40
90
-2
4
0
0
0
0
0
0
-2
17
-73
-16
-89
-31
1
-49
0
7
4
3
0
0
0
0
0
-38
6
58
19
-68
47
-9
-36
-10
15
-5
0
0
0
0
0
0
51
7
0
-31
-94
-33
-22
-2
10
0
0
0
0
0
0
0
0
-5
-46
10
43
-33
-51
-8
-17
5
0
0
0
0
0
0
0
0
-22
-22
-13
-47
-11
0
68
12
-7
0
0
0
0
0
0
0
0
-16
22
-27
62
-1
-13
33
1
0
0
0
0
0
0
0
0
0
-18
-78
10
103
146
114
0
0
0
0
0
0
0
0
0
0
0
-6
51
73
44
33
95
58
0
-58
-20
0
0
0
0
0
0
0
-9
35
16
46
52
-58
-49
-10
-85
4
0
0
0
0
0
0
0
36
32
14
-9
47
-4
20
-12
-38
-5
1
0
0
0
0
0
0
34
23
-29
-93
18
39
-15
44
-22
4
0
0
0
0
0
0
0
27
4
-9
17
-93
25
-3
-44
-44
-9
0
0
0
0
0
0
0
-5
18
-27
38
-27
-5
-16
32
-5
0
0
0
0
0
0
0
0
-16
9
-32
106
-60
-8
-8
17
44
-8
0
0
0
0
0
0
0
29
-23
17
9
10
14
30
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
101
0
0
0
0
0
0
0
0
0
0
0
12
29
10
0
0
7
0
0
0
0
0
0
0
0
0
0
1
-15
67
74
107
17
71
4
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-65
12
40
2
0
0
0
0
0
0
0
0
0
0
0
6
3
-3
-24
-16
0
0
0
0
0
0
0
0
0
0
0
0
2
53
15
-77
10
0
0
0
0
0
0
0
0
0
-2
0
0
-41
-46
12
-64
0
2
0
0
0
0
0
0
0
0
0
-1
4
16
-28
-30
-20
-59
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-6
13
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
-2
55
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
25
-1
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
1
4
47
71
1
49
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-54
-98
-4
-8
0
0
0
0
0
0
0
0
0
0
0
2
3
49
-21
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-53
40
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
-18
-12
52
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-34
77
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
9
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
0
0
-75
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
46
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
3
6
36
75
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
-5
50
0
0
0
0
0
0
0
0
0
0
0
2
0
0
19
47
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-37
-82
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
18
5
-36
8
3
0
0
0
0
0
0
-1
0
0
0
0
-29
-55
-22
16
-22
-7
0
0
0
0
0
0
0
0
-24
44
71
16
-22
-11
33
-9
0
0
0
0
0
0
0
0
0
1
5
62
54
2
46
45
8
5
0
0
0
0
-3
0
-1
-2
-3
52
-6
13
43
0
-6
-15
0
0
0
0
0
0
0
0
-4
3
-26
-46
55
2
9
15
0
0
0
0
0
0
0
0
0
0
-1
23
-27
74
18
-6
2
0
0
0
0
0
0
0
0
0
0
1
-27
47
14
-3
4
-6
0
0
0
0
0
0
0
0
0
0
-5
-72
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-27
-28
-16
1
-9
-1
0
0
0
0
0
0
-1
-7
1
-16
-28
7
41
3
-16
2
-1
0
0
0
0
0
0
-1
-2
-2
-52
30
42
12
25
3
-22
-2
0
0
0
0
0
0
0
5
-3
-20
45
20
34
8
-9
-7
-8
0
0
0
0
0
0
0
0
0
-17
3
2
31
5
-4
-6
0
0
0
0
0
0
0
0
0
-2
3
0
14
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-32
113
24
6
74
-7
75
0
0
0
-2
12
-1
5
24
0
0
10
-6
-25
31
21
-2
-31
0
0
1
0
0
1
-8
44
-9
108
103
-49
6
44
62
58
1
0
0
0
0
0
1
-8
-10
-11
8
102
17
12
4
33
101
48
0
0
0
0
2
0
-1
24
-69
29
-7
4
-18
-72
29
64
-13
0
0
0
0
0
0
-5
20
-1
-53
30
-19
35
44
-8
-12
-7
0
0
0
0
0
1
-2
1
-72
-44
31
31
62
34
58
44
1
0
0
0
0
0
0
7
2
-1
-26
-7
4
-46
89
-6
0
0
0
0
0
0
0
-6
-2
-4
5
29
5
0
0
3
0
0
0
0
0
0
1
40
-42
54
38
0
0
-86
-9
-8
17
-21
73
1
0
0
0
0
-12
36
10
-9
-100
100
-2
17
-15
42
17
53
28
0
0
-1
-1
20
-70
-36
-22
-57
-50
-50
-11
-15
-15
5
-22
42
0
0
0
-5
-13
21
14
8
-106
-57
-66
-23
2
-50
47
9
-48
0
0
0
3
5
26
-65
-39
27
-42
-47
-29
-20
28
15
29
39
0
0
0
0
1
42
-42
4
68
-18
25
9
-47
-61
26
-49
2
0
0
0
0
-18
14
36
13
-51
46
19
14
-25
-39
-20
56
-49
0
0
0
0
9
26
-9
-85
-19
82
-5
-32
1
-87
63
16
-1
0
0
0
0
-6
-33
48
-9
-56
26
87
-70
2
-6
72
1
0
0
0
0
0
0
-1
0
2
0
0
76
-33
-30
19
39
-28
-24
0
0
0
0
-5
0
2
8
7
65
5
-10
8
80
-40
-32
14
0
0
0
0
0
0
0
-25
0
2
67
2
1
69
43
31
20
0
0
0
0
0
0
0
3
32
63
27
-37
-2
44
-31
8
-5
0
0
0
0
0
0
0
-20
19
-10
26
40
-20
32
7
-28
-72
0
0
0
4
0
3
-4
2
3
-21
-43
15
21
-47
46
-4
28
0
0
0
0
2
0
0
2
-19
-18
-21
37
27
-18
-37
14
-10
0
0
0
0
0
0
0
2
18
-19
-13
43
-45
-9
-67
-84
18
0
0
0
0
0
0
1
2
-5
24
4
-32
62
29
7
-54
41
0
0
0
0
-1
0
0
-9
0
0
127
92
101
91
-35
0
3
0
0
0
0
0
-2
0
-41
8
78
0
61
56
82
69
81
2
0
0
0
0
0
-1
-5
24
-13
74
8
90
41
-3
-33
-7
-47
0
0
0
0
0
-4
-1
6
17
4
57
81
-5
-43
71
15
-27
0
0
0
0
0
0
-4
-1
22
-29
29
-13
13
-5
-67
-13
42
0
0
0
-4
0
0
-2
7
-73
-39
40
-20
-47
18
-8
44
-90
0
0
0
0
-2
0
3
-1
-39
51
-7
-3
-43
20
23
-118
0
0
0
0
0
0
0
-24
-5
-41
39
18
11
68
-73
17
-43
-20
0
0
0
0
0
-4
0
0
29
16
-1
-9
24
-20
32
0
0
0
0
0
0
0
0
0
5
0
0
0
90
-10
3
-38
-65
27
0
0
0
0
0
6
10
0
16
0
-84
-6
-101
85
100
32
-25
0
0
0
0
0
-1
4
90
167
122
69
57
-84
-124
20
112
17
0
0
0
0
0
-1
16
32
79
62
0
-29
-54
-41
-56
32
40
0
0
0
0
3
0
5
-17
-33
0
-3
16
2
-63
-7
11
-1
0
0
0
0
0
-2
4
-5
-51
52
79
30
-54
-2
5
0
0
0
0
0
0
0
-4
-2
29
94
-2
27
40
-21
-19
32
-16
-2
0
0
0
1
0
0
-41
54
45
44
19
-44
-7
18
0
-14
0
0
0
0
0
0
0
0
6
-4
50
-17
7
-3
-1
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-64
34
41
24
-19
-6
0
0
0
0
0
0
0
0
0
52
0
-5
46
-17
-42
0
32
0
0
0
0
0
0
0
0
0
25
56
-2
-31
-1
-58
21
83
0
0
0
0
0
0
0
0
0
0
10
-2
25
26
-52
22
16
-3
0
0
0
0
0
0
0
-3
1
70
85
69
-3
53
-38
-22
-6
0
0
0
0
0
0
0
2
1
8
40
-37
43
37
7
22
4
0
0
0
0
0
0
0
0
7
17
25
-5
34
150
58
0
-3
0
0
0
0
0
0
0
-1
8
5
14
-24
41
-22
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-21
-11
-62
9
-30
32
9
0
0
0
0
0
0
0
2
0
-12
3
41
66
-37
48
-49
-28
0
0
0
0
0
0
0
0
-9
2
7
21
-13
22
-5
-20
30
0
0
0
0
0
0
0
2
0
1
37
-32
-6
-64
57
6
-20
0
0
0
0
0
0
0
0
0
0
44
-17
32
-1
-15
12
-29
0
0
0
0
0
0
0
0
0
1
22
0
12
-33
13
-12
1
0
0
0
0
0
0
0
0
0
0
6
41
27
63
-24
13
0
0
0
0
0
0
0
0
0
1
0
-1
0
13
-10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
50
0
0
-1
-40
56
98
-56
31
-21
0
0
0
0
0
0
0
4
-10
53
32
8
18
6
-44
-33
6
0
0
0
0
0
0
0
22
13
-40
-8
-2
20
63
29
29
55
0
0
0
0
0
0
0
0
0
0
9
-1
-21
51
-27
0
41
0
0
0
0
0
0
0
0
0
0
-6
-4
-40
-17
-31
-15
23
0
0
0
0
0
0
0
0
0
0
-1
-5
-45
-5
68
-82
7
0
0
0
0
0
0
0
0
0
0
-1
29
-19
22
-28
19
44
0
0
0
0
0
0
0
0
0
0
0
-68
-9
-77
-11
-16
-16
0
0
0
0
0
0
0
0
0
0
0
8
0
-49
-21
14
4
0
0
0
0
0
0
0
0
0
0
0
-1
11
37
-11
4
-9
0
0
0
0
0
0
0
0
-1
0
1
-38
-24
46
-91
8
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
47
20
13
0
0
0
0
0
0
0
0
0
0
0
0
8
1
31
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-17
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-19
-42
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
10
-48
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
40
47
-12
-6
0
0
0
0
0
0
0
0
14
-3
8
-6
10
11
-57
50
-8
0
0
0
0
0
0
0
0
0
0
2
13
-13
1
-101
-51
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-66
10
68
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-50
26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
22
-51
14
0
0
0
0
0
0
0
0
0
0
0
-10
-28
23
10
-41
3
17
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
73
-14
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
3
-5
19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
16
0
0
27
69
8
20
-53
-14
-62
0
0
0
0
-1
2
3
28
61
6
23
30
27
85
-34
-61
-44
0
0
0
0
0
5
2
69
65
-7
-20
-9
28
49
45
13
52
0
0
0
0
0
0
1
25
-11
40
6
20
0
2
-67
50
16
0
0
0
0
0
0
0
8
-47
37
-52
-11
8
70
-24
28
-5
0
0
0
0
0
0
0
0
-18
16
32
-82
-8
-26
29
-4
-8
0
0
0
0
0
0
2
-7
15
-19
21
-5
-9
6
-17
-1
-7
0
0
0
0
0
0
0
-2
36
-41
2
-43
-9
-73
-5
-15
0
0
0
0
0
0
0
0
0
8
5
-9
-2
5
-5
-24
-6
12
0
0
0
0
0
0
0
0
0
0
-21
-41
13
24
62
-15
46
0
0
0
0
0
0
1
-1
22
-47
30
-21
-47
36
-2
31
-36
0
0
0
0
0
0
0
-5
27
-27
30
-6
41
1
21
-32
-12
0
0
0
0
0
0
0
0
8
23
-12
-56
66
9
-57
-24
-18
0
0
0
0
0
0
0
0
30
20
5
-31
-52
-69
-43
22
45
0
0
0
0
0
0
0
0
-1
-42
31
4
1
-62
-26
-6
17
0
0
0
0
0
0
0
2
10
7
0
-39
7
24
-34
17
29
0
0
0
0
0
0
0
-1
50
-54
-9
-4
-1
-42
-113
-83
-4
0
0
0
0
0
0
0
1
-32
7
-6
-3
0
-28
18
12
11
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
23
0
0
-31
-1
106
18
8
-22
0
0
0
0
1
0
35
62
94
-27
49
-4
20
-38
-103
-6
13
-2
0
0
0
3
-7
31
-58
-39
52
-41
25
-82
10
52
-3
-16
-7
0
0
0
0
16
-2
46
30
12
3
19
-22
-39
5
16
7
-1
0
0
0
0
-4
0
5
-16
-68
-10
41
-41
-41
48
-66
26
-1
0
0
0
0
0
0
-1
-47
-97
-1
0
19
-4
3
25
-6
0
0
0
0
0
0
0
-1
-18
24
-52
-24
-49
43
62
2
1
0
0
0
0
0
0
0
-3
-3
-20
-36
20
-4
43
-15
10
33
0
0
0
0
0
0
0
25
-8
-62
-65
-29
-1
-1
-2
0
0
0
0
0
22
-78
17
24
-7
5
0
0
-50
2
28
72
-37
-6
0
0
0
-22
-47
1
16
-30
5
20
5
10
2
53
26
50
5
0
0
0
-25
-7
39
-49
-28
19
-3
-28
-11
17
46
31
72
-40
0
0
0
23
9
58
-33
-28
-11
-13
-9
8
-7
22
-28
-46
-22
0
0
0
13
-28
-11
-28
-11
7
12
7
-14
19
-24
56
29
19
0
0
0
-5
-32
-11
-31
-24
9
-3
-4
-8
-10
-18
-75
-25
-12
0
0
0
-26
6
-8
-11
-37
18
-8
19
-12
-29
-14
63
-95
8
0
0
0
-36
-9
50
-35
-4
12
-4
0
-14
7
7
-1
-7
0
0
0
0
22
-43
12
-17
-29
-14
17
1
5
-15
-41
1
28
-3
0
0
0
0
0
-1
6
-9
-66
0
0
110
83
14
55
-1
0
0
0
0
0
0
4
3
-18
15
-79
-71
2
-19
-68
41
-1
0
0
0
0
0
0
0
2
-48
42
-50
-57
-18
-32
35
-32
0
0
0
0
0
0
0
0
0
-12
31
-22
10
-57
36
37
15
0
0
0
0
0
0
0
0
-2
10
-13
20
-49
63
-7
-8
17
0
0
0
0
0
0
0
0
0
2
-3
11
-11
-24
-6
25
14
0
0
0
0
0
0
2
0
-3
2
73
15
-14
29
-76
52
-41
14
0
0
0
0
0
0
0
-8
2
2
26
-19
-1
86
44
-3
0
0
0
0
0
0
0
-6
0
-1
2
-18
45
-41
35
6
0
0
0
0
0
0
0
0
-3
83
47
-4
0
0
29
35
78
100
1
0
0
0
0
0
1
-15
5
-105
29
-12
-17
27
0
-1
-13
5
0
0
0
0
0
0
40
9
2
27
-11
-27
134
43
62
53
-24
0
0
0
0
0
0
-24
22
41
-27
-39
28
-55
11
-59
40
10
0
0
0
0
0
7
1
0
-16
-11
-35
-29
37
-69
2
-11
-1
0
0
0
0
0
0
13
13
-14
-89
-58
-60
-59
-35
49
-3
0
0
0
0
0
0
3
-18
-24
-43
-55
-47
20
36
59
43
-16
-1
0
0
0
0
0
-11
7
9
-25
-49
36
13
-39
-47
-2
-97
0
0
0
0
0
0
-2
7
17
-13
-38
-36
-48
-48
-16
17
25
0
0
0
0
0
-3
0
-1
-3
0
-62
0
0
53
-54
51
-75
-11
-10
45
0
0
0
0
-2
-38
-45
61
77
71
50
13
9
53
49
-51
-24
0
0
0
0
20
-28
13
-39
-57
-18
58
18
-62
62
98
-55
-43
0
0
0
0
0
-6
-94
-7
-5
37
42
2
82
85
2
-105
-5
0
0
0
1
-2
4
-50
-21
1
59
-5
-17
-18
-2
-8
-12
0
0
0
0
0
-1
8
-9
-59
0
-13
-27
78
-44
10
15
-4
-3
0
0
0
0
0
-2
-3
2
-53
18
74
-71
21
-17
-21
3
6
0
0
0
3
4
-2
-38
-47
-7
-32
-50
-48
14
28
1
-42
0
0
0
0
0
0
2
3
-34
-52
-8
-87
-24
-34
-1
0
6
0
0
0
-1
0
0
-15
4
-3
0
0
72
-30
162
-11
52
5
52
0
0
0
0
0
0
16
-22
3
-3
11
133
-47
34
-10
3
-31
0
0
0
0
0
-17
-48
-8
48
62
82
75
36
54
6
30
13
0
0
0
0
0
0
-39
7
6
3
43
34
12
67
5
-19
-10
0
0
0
0
0
-1
48
-52
25
-27
-14
0
-32
99
41
-1
1
0
0
0
0
1
-4
-56
-44
-16
-67
45
-8
-2
-26
1
17
0
0
0
0
0
1
14
-3
-3
60
18
30
23
5
5
0
21
-12
0
0
0
0
0
0
-40
8
-46
-37
28
-14
9
49
-3
-9
0
0
0
0
0
0
2
40
-25
10
-87
42
-16
30
0
0
0
0
0
0
0
0
1
5
-15
-27
0
0
15
71
-62
6
42
50
25
0
0
0
-1
0
-2
18
-15
-44
38
-47
46
28
0
67
-5
-12
0
0
0
0
-1
8
108
-28
110
61
-93
36
0
-3
-47
-40
-1
0
0
0
0
0
-1
12
9
20
-35
-44
-25
71
33
-79
-63
5
0
0
0
0
0
4
8
45
54
-11
-3
-24
9
19
-38
32
-30
0
0
0
3
-16
13
-21
-1
77
46
-15
-47
22
45
7
-25
-5
0
0
0
1
-16
35
-39
8
-28
20
26
19
31
10
9
-22
-5
0
0
1
-7
10
15
-17
-15
-32
31
-8
73
-2
4
-48
8
0
0
0
0
6
-22
-67
-40
26
-22
28
-71
-21
26
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
9
12
4
0
0
0
0
0
0
0
0
0
0
0
4
-25
-10
7
-7
9
2
0
0
0
0
0
0
0
0
0
0
-14
17
-22
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
10
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-62
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-3
-14
15
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-17
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-24
0
-2
9
14
7
0
0
0
0
0
0
0
0
0
0
-3
1
-5
-4
1
-6
4
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-13
5
37
0
0
0
0
0
0
0
0
0
0
2
7
16
0
-17
-2
16
42
-5
-8
-4
1
0
0
0
0
0
6
-2
0
-6
27
15
-62
-26
-20
4
-2
-1
0
0
0
0
0
1
1
5
-2
-7
-7
-7
-7
-8
5
1
1
-1
0
0
0
0
0
9
-3
3
0
-2
0
0
1
3
0
0
0
0
0
0
0
1
-2
6
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
17
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
30
20
-57
-112
5
0
0
1
-1
0
0
0
0
0
0
1
-64
-14
51
-48
-28
-48
49
19
32
-8
-5
-1
0
0
0
0
29
-38
-103
2
35
23
-76
-29
57
32
17
-12
-1
0
0
0
0
7
6
5
42
1
36
-20
50
-7
-1
4
7
0
0
0
0
0
-2
14
32
-40
81
-17
-63
48
12
7
11
5
0
0
0
0
0
-1
4
5
-5
-24
19
13
-42
47
6
-2
0
0
0
0
0
0
2
8
-12
-13
-2
-22
17
-25
-20
13
0
0
0
0
0
0
0
0
-7
25
-13
-50
-13
7
-15
40
8
4
0
0
0
0
0
0
0
-6
19
-38
-51
2
-41
13
2
-4
0
0
0
0
0
0
0
0
0
-24
-16
14
-10
35
0
0
0
0
0
0
0
0
0
0
0
1
14
11
-5
-8
46
4
-35
8
-31
-7
0
0
0
0
0
0
0
-7
7
12
-12
-12
33
-6
3
17
2
0
0
0
0
0
0
0
-3
5
5
-8
-1
-2
24
-16
4
1
0
0
0
0
0
0
0
0
-4
9
5
1
-14
-12
-4
-12
0
0
0
0
0
0
0
0
-8
25
14
12
-3
5
-9
1
-1
0
0
0
0
0
0
0
2
0
-2
3
1
-1
-4
4
-2
-1
0
0
0
0
0
0
0
0
-1
-5
-1
2
-6
-8
6
6
-1
-2
0
0
0
0
0
0
0
0
-4
-5
0
1
-8
-3
-2
0
0
0
0
0
0
0
0
-2
-2
29
-30
-21
12
0
0
0
0
0
0
0
0
0
0
0
-1
27
6
45
-37
5
41
43
-29
-13
-1
0
0
0
0
0
0
1
14
-19
-10
-34
-16
-20
5
1
-1
-1
0
0
0
0
0
0
0
1
19
-2
-13
23
5
-1
1
0
0
0
0
0
0
0
0
1
2
-10
10
-16
0
33
3
-1
0
0
0
0
0
0
0
0
-1
-8
-5
-1
2
6
2
8
-24
-3
0
0
0
0
0
0
0
0
13
8
12
-7
-13
-24
7
-4
0
0
0
0
0
0
0
0
-1
-13
7
4
-7
-2
8
2
0
0
0
0
0
0
0
0
0
2
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
40
-5
2
13
56
48
0
0
0
0
0
0
0
0
0
0
0
5
12
5
7
21
-56
18
3
13
1
-1
0
0
0
0
0
-1
-24
-22
-5
5
-31
-3
-21
13
-5
1
0
0
0
0
0
0
-1
6
8
13
-7
8
9
-7
0
0
2
0
0
0
0
0
0
0
1
0
-4
0
-3
-16
0
0
0
1
0
0
0
0
0
0
2
0
5
1
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
-14
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-8
24
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
18
-1
-30
12
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
3
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
20
20
9
-2
0
0
0
0
0
0
0
0
0
0
0
-4
32
10
25
-12
-3
-1
0
0
0
0
0
0
0
0
0
0
-5
14
10
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
34
-15
-3
-1
1
-3
1
0
0
0
0
0
0
0
0
0
-9
25
-17
-3
1
1
-1
0
0
0
0
0
0
0
0
0
0
6
-14
-7
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
-10
14
13
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-25
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
17
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
17
-9
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-22
17
15
0
0
0
-3
0
0
1
0
0
0
0
-1
-8
0
-3
0
2
-13
2
-22
-3
0
0
0
0
0
0
0
0
-1
0
5
1
-13
22
-12
-9
0
0
0
0
0
0
0
0
-1
1
2
-1
12
-17
6
10
8
1
0
0
0
0
0
0
0
0
0
0
-9
-6
5
5
2
-12
-1
1
0
0
0
0
0
0
0
0
1
4
2
-1
-1
3
1
0
0
0
0
0
0
0
0
0
3
-7
-10
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-2
7
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
0
0
0
-11
9
1
0
0
0
0
0
0
0
-1
2
-1
7
-1
-10
4
25
3
0
0
0
0
0
0
0
0
0
2
-1
8
-15
12
2
-6
6
0
0
0
0
0
0
0
0
0
-2
0
0
8
-27
48
-5
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
-1
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-21
14
-1
18
9
-11
0
0
0
0
0
0
0
0
0
0
0
-2
-54
-20
-21
3
72
0
0
0
0
0
0
0
0
0
0
0
19
54
13
-21
48
20
6
1
0
0
0
0
0
0
0
0
0
18
-2
33
7
-26
32
12
19
1
0
0
0
0
0
0
0
0
-3
-19
-4
-33
7
8
16
-4
16
0
0
0
0
0
0
0
0
20
-28
-36
24
-50
-7
4
-2
25
0
0
0
0
0
0
0
0
-26
16
22
-18
20
-9
-8
-7
-6
2
0
0
0
0
0
0
0
-8
9
15
-34
5
-38
-15
1
-4
0
0
0
0
0
0
0
0
-2
-15
52
-8
7
5
8
-1
-4
-1
0
0
0
0
0
0
0
-15
-13
10
12
-2
7
0
0
0
0
0
0
0
0
0
0
0
23
15
12
-39
-22
37
0
0
-13
2
-6
0
0
0
0
0
0
-14
7
-2
-29
9
-5
-19
9
6
-5
0
0
0
0
0
0
0
-9
6
9
-9
20
-41
0
17
2
8
0
0
0
0
0
0
0
-4
-5
-2
9
7
-7
3
-8
3
0
0
0
0
0
0
0
0
5
5
7
-1
5
8
-1
-1
0
0
0
0
0
0
0
0
0
29
-24
-30
0
-5
-7
-1
0
-3
-1
0
0
0
0
0
0
0
0
-3
-8
-4
0
-1
1
-8
1
1
0
0
0
0
0
0
0
4
-1
-1
3
-4
0
1
0
-4
0
0
0
0
0
0
0
0
40
-14
4
-45
4
96
0
0
0
0
0
0
0
0
0
0
0
-18
0
-33
67
-88
-40
-22
-8
20
5
1
0
0
0
0
0
0
44
-48
7
8
35
35
-32
-8
-44
-23
19
0
0
0
0
0
0
-3
15
-26
-38
-43
-36
24
10
-2
30
-15
4
0
0
0
0
0
9
-18
23
15
48
36
-15
-5
6
-10
26
-1
0
0
0
0
0
17
12
5
0
-18
39
11
-44
27
14
-10
-2
0
0
0
0
0
-10
7
4
-7
46
19
-52
-15
13
26
-10
1
0
0
0
0
0
-6
-9
2
16
-14
34
19
62
-28
32
-12
1
0
0
0
0
0
16
-29
41
11
35
-72
-6
-12
-2
6
12
0
0
0
0
0
0
-22
24
10
-32
-14
38
0
0
0
0
0
0
0
0
0
0
0
1
30
8
1
20
-8
-3
0
0
0
0
0
0
0
0
0
0
1
-8
-25
-6
12
19
-7
-3
0
0
0
0
0
0
0
0
0
0
7
-3
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-1
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
5
-9
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
42
32
-20
0
44
0
0
0
0
0
0
0
0
0
0
0
-26
18
24
107
0
28
26
2
-2
-2
0
0
0
0
0
0
-1
-8
-44
-1
-6
-3
-2
-11
-3
0
0
0
0
0
0
0
0
0
12
-28
-15
30
11
-1
15
-1
0
0
0
0
0
0
0
0
-1
-18
-19
0
29
-3
-12
0
0
0
0
0
0
0
0
0
0
0
8
14
-34
-5
2
1
0
-1
0
0
0
0
0
0
0
0
7
-9
-3
-58
-1
1
1
0
-1
0
0
0
0
0
0
0
0
0
-25
-62
-3
-19
-7
0
0
0
4
0
0
0
0
0
0
0
-2
3
7
-13
-8
2
0
1
0
0
0
0
0
0
0
0
0
-8
-31
5
4
-3
59
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-18
-1
-51
63
0
8
0
25
0
1
0
0
0
0
0
-3
24
15
-4
8
-22
17
12
-15
0
6
0
0
0
0
0
0
8
-7
5
-8
-19
1
15
-18
-17
-8
0
0
0
0
0
0
0
-18
8
-10
8
-25
5
-10
4
-1
2
-1
0
0
0
0
0
0
-3
0
21
-5
7
-3
-9
12
-3
0
0
0
0
0
0
0
0
-24
-4
-14
-26
12
-7
-7
3
0
0
0
0
0
0
0
0
0
-2
-7
-16
-1
-3
-17
-5
0
-1
0
0
0
0
0
0
0
0
0
-10
-19
10
2
-6
1
0
0
0
0
0
0
0
0
0
0
-1
3
-9
-13
24
3
41
0
0
0
0
0
0
0
0
0
0
-1
0
16
6
3
6
0
46
0
4
0
0
0
0
0
0
0
6
-39
37
-4
49
-16
44
18
-2
0
0
0
0
0
0
0
0
-6
24
-27
-3
-24
-19
0
-7
-15
0
0
1
0
0
0
0
0
0
8
-4
24
-8
-3
24
-1
0
6
0
0
0
0
0
0
0
-2
-15
8
-1
-6
8
-1
0
0
0
0
0
0
0
0
0
0
1
5
13
-3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
2
2
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-8
-24
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
-17
12
-13
17
9
0
0
0
0
0
0
0
0
0
0
0
-1
57
31
76
-15
-10
5
0
-16
0
0
0
0
0
0
0
0
-17
22
-7
16
7
-21
12
19
-12
0
0
0
0
0
0
0
0
-10
-6
29
-13
4
6
-4
-10
0
-2
0
0
0
0
0
0
0
4
21
-26
-3
5
8
8
-6
3
0
0
0
0
0
0
0
0
8
-12
-10
3
5
-3
1
0
-6
0
0
0
0
0
0
0
0
7
-11
-18
34
2
0
0
7
2
0
0
0
0
0
0
0
0
-33
12
-5
0
-2
2
0
-8
8
0
0
0
0
0
0
0
0
-30
-25
-7
12
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
4
-23
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-30
-27
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
24
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
4
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-14
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
-29
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-1
-1
4
0
0
0
0
0
0
0
0
0
0
-5
-5
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
9
-4
38
-1
-12
-1
0
0
0
-1
0
0
1
0
0
0
21
-55
-14
14
-25
13
-17
0
0
0
0
0
1
-4
5
14
21
0
-33
-12
9
7
-29
0
0
0
0
0
0
0
-1
-1
17
-7
6
-17
-43
18
24
24
-4
0
0
0
0
0
0
0
3
-15
0
-7
-12
2
5
16
-3
-2
0
0
0
0
0
0
0
2
9
-7
5
4
1
-5
8
-5
0
0
0
0
0
0
0
0
0
-4
-13
6
4
1
4
12
0
0
0
0
0
-2
1
0
1
0
-1
-3
0
-2
-4
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-5
2
5
0
0
4
2
2
66
57
18
0
0
0
0
0
0
0
-8
50
-5
-47
36
-48
-8
-32
14
19
-5
0
0
0
0
0
0
2
12
21
-44
-7
-9
-37
-18
97
0
-8
0
0
0
0
0
16
-17
1
-51
-14
-13
7
11
23
-22
-16
-30
0
0
0
0
0
-4
16
0
19
9
9
-20
-32
-29
-32
7
13
0
0
0
0
-1
0
7
-10
35
-28
0
36
-23
-51
30
0
0
0
0
0
0
0
-1
-15
2
-13
39
-59
-57
-12
20
6
-14
0
0
0
0
0
0
3
-1
-6
4
94
-54
39
-49
9
30
-1
0
0
0
0
0
0
-1
5
10
14
61
10
-20
-7
-40
8
-3
0
0
0
0
0
0
0
0
0
0
0
26
-34
-20
-6
1
15
13
0
0
0
0
0
0
0
2
5
-19
34
33
-1
7
-22
-51
12
0
0
0
0
0
0
0
0
-8
-14
-19
9
-6
32
-31
-1
1
0
0
0
0
0
0
0
0
0
-2
22
-2
-8
2
-26
5
-2
0
0
0
0
0
0
0
-1
1
1
-6
20
2
24
3
-2
4
0
0
0
0
0
0
2
0
1
-4
0
-2
4
-5
7
-31
5
0
0
0
0
0
0
0
1
-1
-1
0
2
-7
4
-5
0
-8
0
0
0
0
0
0
0
-3
0
5
-8
14
2
4
-1
3
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
7
-3
-9
0
0
0
0
0
0
0
-6
0
0
34
41
22
2
-23
-14
2
0
0
0
0
0
0
0
8
12
-6
0
-26
41
-7
-32
58
-15
0
0
0
0
0
0
0
0
0
-17
9
30
-8
-21
-1
27
2
0
0
0
0
0
-2
-1
0
-8
-18
19
50
-7
-24
-8
8
3
0
0
0
0
0
0
0
2
2
-9
10
-7
0
-22
-25
-9
-4
0
0
0
0
0
0
2
-4
-3
0
8
4
-17
2
1
14
-1
0
0
0
0
0
0
0
-1
-4
16
-8
8
19
-5
9
0
0
0
0
0
0
0
0
-4
0
-3
0
1
2
4
-18
-4
-1
0
0
0
0
0
0
0
0
0
1
0
3
0
-2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
13
1
48
8
1
0
0
0
0
0
0
2
0
33
0
-45
-5
-9
35
-24
3
-2
0
0
0
0
0
0
1
8
49
-19
-2
-9
-34
30
2
20
1
0
0
0
0
0
0
4
-1
21
-1
-6
8
-8
-9
-19
-1
0
0
0
0
0
0
0
0
0
0
3
-13
-2
2
-14
-7
6
0
0
0
0
0
0
0
1
0
-8
22
-12
-4
4
0
-1
0
0
0
0
0
0
0
-1
0
1
-7
14
8
0
-5
4
1
0
0
0
0
0
0
0
0
-6
1
7
10
8
3
-1
-8
1
-2
0
0
0
0
0
0
0
0
0
0
8
-2
1
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
5
-9
0
0
0
0
0
0
0
0
0
0
6
0
-4
9
-24
-1
4
0
0
0
0
0
0
0
0
0
0
3
8
0
-8
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
-4
-1
0
0
0
0
0
0
0
0
0
-1
0
0
8
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-9
1
0
0
0
0
0
0
0
0
1
0
-8
3
-7
25
4
-20
-3
0
0
0
0
0
0
0
0
0
0
0
1
-3
19
0
6
0
-2
0
0
0
0
0
0
0
0
0
3
1
1
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
11
-29
-1
-3
0
0
0
0
0
0
0
0
0
-5
27
-13
29
3
8
30
1
0
0
0
0
0
0
0
0
0
-1
3
-3
22
36
7
29
13
0
0
0
0
0
0
0
0
0
0
-1
1
6
-15
68
-19
0
0
0
0
0
0
0
0
0
0
0
-2
4
15
-5
-4
4
9
0
0
0
0
0
0
0
0
0
0
-1
-8
-22
6
31
0
2
0
0
0
0
0
0
0
0
0
0
0
8
-12
4
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
42
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-13
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
23
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-10
12
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
24
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-14
1
2
8
0
-1
-1
0
0
0
0
0
0
-2
0
2
-5
18
19
0
30
-9
-6
1
0
0
0
0
0
-1
0
5
0
1
-16
1
0
-9
4
-6
-1
0
0
0
0
0
0
0
0
0
2
-1
2
6
-21
-5
15
-3
0
0
0
0
0
0
0
0
0
1
-6
8
-4
5
0
3
0
0
0
0
0
0
0
0
0
3
-2
0
-1
14
-4
5
0
0
0
0
0
0
0
0
0
0
-4
4
-1
0
5
1
-2
-5
0
0
0
0
0
0
0
0
0
-5
3
0
1
0
-3
8
7
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
7
5
12
-1
0
0
0
0
0
0
0
0
0
0
9
1
2
13
25
-7
-17
0
0
0
0
0
0
0
0
0
-1
14
7
16
-4
-19
-9
-15
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
19
-5
-14
-12
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-5
-12
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
9
1
0
0
0
0
0
0
0
0
4
-7
0
-3
-5
-23
-3
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
2
-6
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-3
-48
0
0
-22
4
-16
8
-7
0
0
0
0
0
0
0
-19
29
11
12
56
25
5
-5
-1
8
-2
0
0
0
0
0
-6
8
1
14
-8
-29
30
-2
15
-13
0
8
0
0
0
0
0
0
-4
-1
19
-17
-4
-3
0
-17
-5
0
16
0
0
0
0
0
0
0
0
18
8
-5
5
-4
6
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
-5
-1
-3
3
1
0
0
0
0
0
0
0
0
5
0
7
-5
0
2
7
3
3
0
0
0
0
0
0
0
0
0
-1
-8
4
-4
1
0
-5
0
-1
0
0
0
0
0
0
0
7
-1
-12
-16
0
0
0
0
0
0
0
0
0
3
-17
-10
-40
10
-11
0
0
-21
-43
-31
32
1
0
0
0
0
0
8
19
-7
-43
20
-49
16
-7
-5
21
-12
-8
-3
0
0
0
7
-23
2
12
-21
18
8
-4
1
-40
49
-63
-6
-13
0
0
0
6
-5
25
-9
22
3
-8
-20
-1
-4
-11
58
9
0
0
0
0
1
-18
17
-51
18
-18
-1
-13
62
-26
41
5
0
0
0
0
0
0
17
-17
38
4
-28
49
12
-4
2
1
26
-2
0
0
0
0
-9
7
13
-36
-21
21
10
-8
41
-16
5
38
-6
0
0
0
0
-3
-12
-15
-22
-10
10
12
-27
12
12
53
6
3
0
0
0
0
1
-9
-7
-22
55
-47
-24
23
15
62
-23
-22
0
0
0
0
0
0
0
0
-3
0
0
0
0
34
23
13
0
0
0
0
0
0
0
0
1
0
0
12
48
-5
19
-9
-17
13
0
0
0
0
0
0
0
0
1
-4
3
16
-45
-32
0
2
4
0
0
0
0
0
0
0
0
2
-3
3
-13
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
0
-2
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
7
-5
0
0
15
-20
-2
-4
0
0
0
0
0
0
0
0
1
-13
30
1
1
4
13
-1
-2
0
0
0
0
0
0
0
0
2
-8
-5
4
41
19
40
-6
-6
0
0
0
0
0
0
0
0
1
7
0
4
-30
14
22
2
-3
0
0
0
0
0
0
0
0
-1
0
19
-19
-23
30
0
8
-1
0
0
0
0
0
0
0
0
0
-9
-16
-26
-6
37
-2
8
0
0
0
0
0
0
0
0
0
-2
-2
-27
-20
4
-7
-8
-2
0
0
0
0
0
0
0
0
1
2
-13
-2
-12
38
-18
-8
8
-1
0
0
0
0
0
0
0
1
-1
0
0
5
-37
-26
10
9
0
0
0
0
0
0
0
0
0
-4
1
-38
0
0
-27
-2
12
-3
8
1
0
0
0
0
0
-2
0
-11
40
-43
17
17
-5
12
1
27
-20
-9
0
0
0
0
0
-8
0
-28
-49
5
13
7
5
8
-9
-24
-2
0
0
0
0
-1
0
-14
-19
-16
35
21
17
-3
-6
5
-16
-2
0
0
0
0
0
0
-3
-13
36
30
-4
-3
-7
-5
-6
4
0
0
0
0
0
0
0
-2
-2
-8
-5
-4
13
-7
-3
0
1
0
0
0
0
0
0
0
1
4
0
0
9
-12
12
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
-27
-7
3
13
2
0
0
0
0
0
0
0
0
0
-3
-9
8
-9
0
-2
0
0
0
0
0
0
0
0
0
1
3
6
0
0
9
-6
8
0
13
-3
2
0
0
0
0
0
0
15
-12
22
6
14
-9
2
8
-5
6
-2
0
0
0
0
0
-1
-4
0
-6
32
7
23
-10
7
6
7
0
0
0
0
0
0
0
-6
6
-4
-3
5
-2
-4
4
-2
0
0
0
0
0
0
0
0
0
10
2
34
-24
0
-6
-2
1
-2
0
0
0
0
0
0
-4
-3
8
-2
-3
4
4
-4
0
-2
1
0
0
0
0
0
0
-4
-8
6
-10
-2
-1
8
31
1
0
0
0
0
0
0
0
0
1
-9
-1
-9
14
-23
7
3
0
0
0
0
0
0
0
0
0
1
-3
-5
-35
-14
-3
1
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
4
0
1
23
2
2
0
0
0
0
0
-1
-23
0
-14
-3
0
0
0
-4
4
-6
2
0
0
0
0
0
3
7
-9
9
9
0
0
-17
8
3
-2
0
0
0
0
0
0
1
-2
10
-10
14
8
4
5
8
-8
-6
1
0
0
0
0
0
4
13
-14
-13
17
-9
-1
16
-1
-1
-3
0
0
0
0
0
-2
-1
2
12
-37
16
12
-2
1
-5
1
-3
0
0
0
0
0
-4
3
-8
22
13
17
18
0
-8
0
0
-1
0
0
0
0
0
7
5
-20
-8
-26
14
-8
18
-2
0
0
0
0
0
0
0
0
0
4
-19
36
-32
-9
-40
1
-1
0
0
0
0
25
-4
-6
0
0
21
-20
30
-1
0
-10
34
11
-8
0
-4
2
1
3
-1
73
-19
7
10
13
-3
16
6
-14
20
-8
7
-27
-5
24
4
1
2
-10
7
2
-2
0
0
-2
4
6
-5
0
0
10
19
33
-2
0
15
17
4
-2
0
20
32
24
10
0
-12
-19
-5
2
-3
-46
-9
19
25
2
21
-2
2
-16
20
4
0
0
-1
23
2
-2
0
0
-2
36
-8
2
0
0
-3
18
23
-1
0
6
9
-19
-3
0
-2
5
-19
8
-1
-12
-1
21
-8
-4
-7
-11
-16
21
-10
-6
1
6
-4
-17
2
1
0
0
36
2
-2
0
0
-2
-1
9
-3
0
0
-25
-39
41
0
0
14
17
3
-2
0
20
-9
18
1
0
9
17
33
-28
-2
-20
0
-1
2
17
3
-9
-1
-5
-2
8
0
0
2
2
2
-6
0
27
-1
34
13
-1
0
0
12
5
22
0
0
-3
13
24
-1
0
-7
-9
-22
-5
0
-16
27
21
1
10
-12
5
-19
43
15
-1
-1
3
-23
15
6
4
4
1
-10
1
7
1
-11
-2
37
15
-22
-4
0
7
35
-13
-1
0
-5
24
-11
-1
0
-2
5
27
7
0
-2
30
13
4
13
1
-21
-10
4
6
-2
-5
7
14
0
-2
0
1
0
1
2
8
-2
3
-2
37
15
-22
-4
0
-9
-22
-4
0
0
-1
-1
25
-1
0
-24
2
1
2
0
-2
30
-13
-7
1
-13
24
11
-14
4
-10
1
1
-1
-2
12
0
2
0
3
5
6
2
-4
-2
37
15
-22
-4
0
14
2
8
0
0
4
-5
8
-1
0
0
16
16
-10
0
-11
17
-16
-2
-13
0
-17
18
-26
15
-6
-3
-7
2
4
3
1
1
1
7
5
7
7
0
-5
45
10
3
0
0
6
-11
40
1
0
23
-17
-19
1
0
28
0
-29
-3
1
-32
35
18
-17
-10
-8
-11
48
-3
6
9
-1
0
-13
16
-14
0
-4
1
1
0
0
0
0
0
-16
9
3
0
0
-12
10
-17
0
0
17
54
8
1
0
-4
-3
3
-3
0
9
5
0
16
13
9
2
3
31
4
2
-5
-42
5
-4
5
0
0
1
4
0
0
0
0
0
2
19
-3
0
0
-1
-23
64
-1
0
1
4
-4
5
0
0
-26
-8
2
1
-2
25
-10
8
-8
-13
10
-19
-47
5
-70
-4
0
-1
14
-17
3
5
1
21
0
0
0
0
0
29
-6
2
0
0
11
13
4
0
0
-9
12
-1
-5
0
12
31
-19
-2
0
2
6
5
28
-7
-8
-16
10
-10
-22
-29
4
-5
-10
24
-2
0
7
-1
-16
35
-15
14
-7
0
1
-13
-1
-1
0
1
15
18
0
0
1
6
-3
1
0
1
2
26
1
0
2
10
-25
20
-3
26
-9
49
-50
-9
31
1
-4
21
-9
5
0
-4
-2
12
-18
-14
-21
3
-2
0
0
0
0
0
3
-34
49
-3
0
-6
-21
30
0
0
-28
-4
-10
-2
0
-17
-38
4
-13
-9
-25
28
6
30
28
4
37
24
-13
4
20
-7
9
-6
1
9
-53
2
0
2
0
0
0
0
0
18
16
29
-5
0
46
38
-7
0
0
-27
-15
-13
0
0
13
-31
34
20
-8
-59
-15
27
48
-8
2
-21
-40
-40
6
0
-9
2
-4
8
-95
7
-20
7
-2
0
0
0
0
0
0
1
39
-5
0
1
14
-4
3
0
0
-30
-23
7
0
2
2
25
24
13
1
4
-27
12
6
48
-5
1
-2
0
4
7
-6
0
-1
-1
-7
1
1
8
-41
13
3
0
0
-1
5
-2
0
0
5
7
14
0
0
8
-33
8
0
0
1
28
20
12
0
-3
-25
-26
35
0
-1
-28
2
13
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
10
-6
2
0
0
-13
-13
23
0
0
6
-4
1
1
0
-21
1
47
1
1
22
-34
-26
-34
-3
-11
11
-2
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-48
0
0
0
1
29
0
0
0
0
31
-6
0
1
-1
5
5
0
24
-35
14
35
8
18
-16
-3
-14
2
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
-10
48
3
-1
0
8
-8
-5
0
0
-24
-53
0
3
0
11
29
-27
29
12
8
1
-14
1
-7
-16
8
21
1
-48
-55
-4
6
-7
-21
4
22
-31
-45
2
0
0
-14
0
0
0
0
-10
0
0
-1
0
-7
0
0
0
0
16
2
0
0
0
5
-5
3
4
-4
-5
20
-13
-39
-11
20
9
4
-96
5
-1
10
2
0
16
-3
5
0
0
0
0
0
0
0
0
0
0
0
27
7
-8
-6
0
-1
2
2
5
0
9
-8
6
10
5
20
12
-15
8
-7
-30
-1
1
22
30
-19
-22
-7
-18
-34
-6
23
-3
-10
3
0
0
0
0
0
0
0
0
0
0
-12
-8
0
-9
0
22
6
2
0
0
-5
-5
5
-13
1
62
-41
14
-2
-34
15
-44
-1
-37
16
-48
-26
-38
-36
-25
-53
1
-13
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-8
0
0
1
-5
3
0
-2
0
-8
12
8
-33
13
-1
-37
-51
40
-12
5
11
-8
-76
-24
-25
-15
25
26
60
-7
-55
19
1
-1
0
0
0
15
4
-2
0
0
-3
1
-4
0
0
4
0
0
3
0
-2
-10
-2
1
-3
-6
-25
4
-6
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
10
-8
2
0
0
0
-28
-2
0
0
1
6
-4
0
0
-1
22
-3
-2
0
1
46
-7
-34
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
-8
0
0
0
0
-4
0
0
0
0
21
20
-4
14
-11
-23
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
4
-8
4
0
0
-3
-3
5
0
0
-8
21
5
1
0
8
-15
-4
4
0
-9
-76
-31
27
-2
-11
-23
-24
21
42
-37
2
-15
5
33
-72
-61
-15
0
2
1
0
0
0
0
0
-1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
2
2
-24
8
0
2
-3
17
31
34
10
44
-8
9
-1
18
18
-45
-43
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
-7
-5
-1
13
12
1
5
-2
-2
-64
-14
-68
-10
-10
14
21
-7
-22
-19
14
38
-12
-48
-28
-19
7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
27
0
0
-12
8
1
1
0
39
63
-65
-24
2
19
-4
30
71
16
-84
17
-55
-22
-79
19
-56
-20
-41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
0
0
0
0
-5
-6
-4
-15
-17
43
0
4
-57
21
12
4
42
0
-78
-2
-2
-5
-13
36
6
-17
0
2
0
0
0
-10
-1
1
0
0
-3
0
0
0
0
0
2
0
-1
0
-15
-7
-17
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
-2
0
0
0
-2
1
0
0
0
2
-45
0
0
0
38
7
-20
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-15
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
13
-18
0
0
0
-6
6
1
0
0
-2
1
0
0
0
-22
-25
-3
-1
2
13
-7
-16
-6
7
24
6
80
51
-24
-40
-32
-4
8
1
-48
-24
7
8
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-14
-2
-5
-3
-24
5
7
-48
-47
24
-40
18
3
12
-64
-32
13
-13
-6
-16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-16
12
-3
-23
-41
42
-42
-19
17
-14
-55
-5
3
51
-18
22
2
-11
-1
-6
-24
17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
25
-8
9
7
-30
-30
-27
-30
8
49
70
72
-12
-6
11
53
12
10
-24
-40
16
30
-42
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
7
0
0
0
20
41
17
-9
-24
-39
12
-7
22
-48
-20
2
8
-52
44
5
30
-33
-5
1
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
-30
15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-10
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
3
0
0
0
0
4
1
0
0
0
1
-2
0
0
0
1
8
-7
-7
0
2
-10
24
-25
0
-7
-61
-18
35
0
-53
-9
16
0
0
18
7
-4
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
-4
-43
0
-2
10
14
-17
0
-86
-5
-29
9
0
-50
5
-48
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
42
17
0
-1
-1
38
-1
0
38
-12
22
22
0
-57
39
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-40
2
11
7
4
95
6
41
6
-12
-41
24
-30
6
8
-95
12
42
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-14
-13
13
0
8
38
-4
-8
0
23
13
36
-9
0
3
-6
-1
-25
0
0
0
0
0
0
-1
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
1
0
0
-7
-2
6
0
0
0
-10
-25
0
0
8
-12
-34
0
0
6
-8
-28
0
0
-20
-5
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-7
0
0
-6
-55
7
0
0
-46
11
16
0
0
-15
-72
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-1
-20
0
0
-16
-26
37
0
0
27
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
51
127
-3
-19
-25
-36
23
-10
-6
1
-1
33
-23
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
77
31
0
0
-29
-18
-15
0
0
-6
-2
11
0
0
0
-1
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
-3
0
0
0
-1
29
0
0
0
32
-12
0
0
0
26
-19
0
0
0
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
65
0
0
0
21
27
0
0
0
29
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-48
0
0
0
-67
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-38
37
-42
-39
-4
9
34
-10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-25
0
0
0
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
-23
0
0
0
0
-11
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
24
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-77
-32
-88
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
41
-26
16
47
-4
18
-11
20
-42
21
-25
34
47
-36
-23
-3
17
-26
-10
19
-18
18
-9
-28
-50
9
13
10
-5
-17
-19
-13
-9
-4
8
3
1
-7
6
6
-1
-9
-1
-1
-3
36
21
34
-15
3
13
16
8
-43
-48
33
25
43
-7
6
3
21
21
-12
0
-11
-6
2
12
44
13
17
-2
7
4
4
-2
-2
11
6
-1
0
-4
3
22
-1
-9
-1
-1
-3
53
22
-1
-33
-2
17
35
30
18
-10
7
61
-20
11
15
-1
6
5
38
2
-8
16
14
25
13
3
-14
-3
-7
-7
-6
-1
-8
10
6
4
1
3
5
11
-1
-9
-1
-1
-3
28
19
15
18
0
2
2
28
8
-9
-1
14
13
5
8
20
2
26
10
-8
-7
6
9
33
-19
-6
13
-9
5
-7
-2
9
-9
-12
-13
10
3
-2
14
11
4
-28
-12
-11
-5
43
-7
41
22
3
3
34
1
-29
6
-11
28
9
1
24
1
14
7
-26
28
-9
11
-1
5
13
3
0
9
20
-23
-2
-8
1
-2
-2
3
0
7
1
3
3
-3
0
-18
-5
17
14
10
2
-5
43
-15
-24
-13
13
-11
26
-1
1
33
26
32
43
39
-2
-13
10
3
6
-6
2
11
-3
-1
26
-17
0
1
-1
-12
5
3
1
-4
3
8
8
-9
-6
0
17
14
10
2
-5
18
19
14
-20
-13
-27
48
30
-2
8
-7
3
8
20
10
-8
18
17
26
-19
1
28
5
-1
18
-3
3
-8
4
4
6
2
2
1
6
3
38
1
6
-1
17
14
10
2
-5
11
-2
38
-34
30
7
20
11
-3
7
-5
10
32
-62
-2
-8
14
38
13
35
7
30
4
-20
9
1
-3
-9
4
-15
1
-3
2
4
3
0
6
-4
-1
1
25
24
84
-42
0
50
-4
53
2
2
-18
24
-8
56
-7
-12
-1
-34
-21
17
18
19
2
-16
48
26
-19
-24
4
16
-12
8
6
13
13
-12
-1
-1
2
0
0
0
0
0
0
23
28
7
6
-13
24
3
18
-47
30
19
-2
-7
-27
12
-13
1
20
40
15
-18
19
3
24
-9
-5
-13
15
8
46
2
2
-2
2
-4
-1
-2
-2
1
-1
0
0
0
0
0
33
35
-14
10
2
-13
-9
64
-41
-11
-11
-13
29
3
30
-21
7
9
2
-26
-3
4
5
-22
-41
-13
18
-4
-51
-7
18
-6
-9
8
7
-24
-1
-1
1
-5
0
0
0
0
0
34
14
80
-26
2
-3
-17
-31
17
-26
28
20
-20
-38
-5
0
30
-31
-25
-14
29
15
-6
27
-9
-1
2
15
31
16
4
-14
0
8
12
6
0
8
18
2
-54
-6
-1
-16
0
-11
-22
11
-33
1
-11
-7
-6
-1
-64
52
5
59
6
-3
-5
15
-6
56
2
49
-1
-20
15
8
6
6
15
-12
25
-17
2
4
10
4
-20
3
-2
12
4
-12
0
-17
5
-14
0
0
0
0
0
-3
-2
28
-8
17
-1
-20
16
13
-11
-35
5
-14
-51
-34
-12
-6
-21
4
-7
18
5
-8
4
-17
10
-5
-3
-17
-6
9
1
0
23
5
37
23
7
7
-18
0
0
0
0
0
7
-11
9
-7
17
54
34
22
2
-29
9
47
29
-2
-22
40
1
31
41
12
35
7
6
13
24
1
16
10
17
2
10
7
5
6
19
12
-14
-14
-1
-4
0
0
0
0
0
19
1
-16
0
-22
1
25
20
57
-6
102
-3
-118
-8
19
40
5
-6
66
24
-18
0
-12
35
28
-9
3
8
-15
5
35
10
-6
25
7
41
4
5
-1
-11
-18
82
26
-36
0
-16
50
-45
-39
19
-3
26
-34
-7
3
7
53
59
4
15
-10
13
40
78
23
-50
30
-42
7
28
19
2
-2
-12
-6
0
0
0
0
0
0
0
0
0
0
-74
-31
-14
-18
-4
10
21
-17
46
-44
-1
13
57
-43
12
53
12
12
6
-9
-23
-9
32
-14
45
14
7
-22
24
-15
-22
-13
-3
-7
-12
0
0
0
0
0
0
0
0
0
0
-15
-12
18
41
3
-5
17
-28
-17
0
-3
35
15
67
-15
-3
-3
-15
-49
45
-6
4
-12
-13
-9
-22
10
13
3
23
-13
-31
12
-7
1
0
0
0
0
0
0
0
0
0
0
3
-15
-60
-27
-1
63
97
2
40
0
50
-75
77
-2
5
-4
-43
-51
3
-13
30
60
-49
-6
-4
-26
-11
-1
21
36
-14
36
13
13
-7
36
13
-3
5
29
-12
41
-9
15
-8
-2
-2
-44
1
0
-15
9
-7
53
6
32
-59
-36
-27
9
33
-31
-13
-11
-44
-28
85
0
10
12
83
13
-29
32
0
-8
-2
8
29
1
-12
-5
5
20
15
-20
60
-14
-7
13
0
0
0
0
0
0
0
0
0
0
14
19
11
-14
-6
-72
-30
33
15
2
-58
8
32
7
-7
-1
-10
-12
19
-33
14
19
-9
18
35
-43
-13
-5
20
-25
8
-3
-12
13
11
0
0
0
0
0
0
0
0
0
0
-27
-3
-11
5
24
52
-42
27
5
-2
-45
27
3
-44
36
7
-4
12
-39
-12
-31
-30
-7
-12
27
-51
-67
-47
-39
-45
-24
-6
-11
-26
-3
0
0
0
0
0
0
0
0
0
0
-12
-37
-6
-30
7
5
22
15
75
4
-78
-30
0
-59
28
-77
-7
19
-13
-83
10
-1
7
-1
44
-26
-28
-5
-17
7
-4
0
-6
12
39
-18
-30
-4
20
0
25
19
-29
-35
-4
-42
20
23
-12
13
39
-34
2
-25
-8
27
4
43
21
0
-37
5
4
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
60
66
3
2
-52
12
9
48
-2
-4
33
20
66
-20
-68
7
8
-13
0
-110
-41
-51
49
-16
-14
-8
3
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
12
0
0
3
-22
-15
-25
-2
19
13
-79
-18
5
0
-2
-36
0
4
-14
0
28
37
-14
-17
-34
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-13
27
48
-1
12
6
20
17
1
-42
99
-11
-13
-6
41
3
53
-30
20
27
5
4
12
11
26
-30
-23
-6
-37
31
-28
14
20
22
10
16
20
-4
10
-35
23
19
4
-50
4
10
0
2
-2
-1
10
4
2
-1
2
18
-35
-4
-5
-15
-3
29
6
41
8
-48
-12
32
33
-40
11
-13
-5
17
-24
19
0
0
-44
-7
-17
3
3
60
12
5
-51
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
-48
-20
32
-11
8
40
-12
0
0
8
26
-40
-24
40
-25
-2
9
-34
-65
-7
-21
-6
11
17
4
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
7
-17
-26
22
63
-31
-1
0
-8
7
-16
-70
31
15
-6
-11
-1
-38
-17
-61
-19
-23
-37
-3
-37
-6
-34
6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-23
-53
-22
-3
-7
-3
25
-5
-24
-70
-52
-92
42
-3
43
-69
-48
-12
-4
71
-44
-4
-6
-48
27
-10
-21
3
8
6
19
-58
0
0
-69
-99
-1
-8
0
22
-28
13
0
9
-16
22
43
-11
-42
-20
-50
-21
55
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-14
-8
2
0
16
-84
-33
-4
2
0
-31
-9
-10
0
74
-44
-6
5
-4
68
32
7
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
-1
0
0
0
52
1
1
0
0
-12
-2
0
-3
22
19
10
28
-14
34
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-20
-32
4
0
43
-94
-15
-2
30
-53
-9
-22
1
2
-63
-21
-8
10
10
-51
-60
-21
-58
33
-24
-4
-53
-106
-9
-18
18
-33
-14
-11
-12
12
11
7
-2
79
22
-1
22
-59
-1
5
0
0
0
-1
4
0
0
30
-2
0
0
0
-13
-10
0
-3
-13
-38
-59
-16
-19
10
-10
-18
-21
-31
-34
-9
20
73
2
-101
30
-54
0
-13
-40
-3
-9
38
14
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
-18
23
24
-2
-38
-57
-42
3
-4
-27
-3
27
-14
-22
-44
16
17
-4
0
-12
-31
12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-25
-19
10
36
-76
6
-55
-70
-3
-9
-58
10
-66
-16
-9
-32
46
24
-26
13
-64
-14
28
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
63
-39
-30
-16
-75
-4
-5
-4
11
-68
54
47
-22
11
-28
-9
-14
23
32
-49
-33
-56
3
1
-4
25
1
0
-24
-1
0
44
0
16
31
-16
10
0
-20
-27
-8
42
0
0
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
-6
-2
0
0
-6
7
6
1
0
-66
-6
-8
0
0
-61
2
-73
-50
4
0
0
0
0
0
0
0
0
0
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
0
0
0
5
-5
0
8
15
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-54
3
-1
0
6
42
-1
-40
0
-8
1
-21
27
0
10
43
-7
22
0
-44
59
38
44
0
-8
-19
50
-55
0
-12
47
36
29
0
-30
2
0
6
0
9
7
5
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
-18
0
8
17
24
47
0
-87
-18
-16
-85
0
-3
37
22
-26
0
-44
48
-40
-17
0
14
2
11
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-33
31
68
0
-4
-73
-11
-15
0
-44
-28
-25
27
0
29
-36
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-86
0
58
-55
64
-6
63
18
67
17
-14
-45
-78
4
31
-7
68
64
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-16
-21
-16
0
8
86
17
24
0
-71
-41
-60
12
0
9
-43
1
-28
0
0
3
-52
0
0
-8
5
-1
0
0
17
-48
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
-3
0
0
0
2
22
-29
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-27
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
52
-8
0
0
-11
0
31
0
0
0
6
37
0
0
1
48
48
0
0
57
-53
59
0
0
-48
-34
-11
0
0
31
57
5
0
0
-46
-5
-23
0
0
64
18
-13
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-1
-2
0
0
-5
-2
-6
0
0
-25
-57
72
0
0
23
-19
-38
0
0
10
-9
-12
0
0
2
14
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
10
-11
0
0
21
-29
-83
0
0
-99
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
8
-28
-9
18
-18
10
2
-63
-20
29
114
17
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-18
0
0
-4
34
3
0
0
-83
3
-2
0
0
36
-12
0
0
0
-30
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
24
4
-10
-16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
-1
-16
0
0
0
0
-43
0
0
0
-25
-25
0
0
0
-13
-63
0
0
0
66
30
0
0
0
-31
53
0
0
0
-82
4
0
0
0
59
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-15
0
0
0
-5
-20
0
0
0
59
112
0
0
0
13
-7
0
0
0
22
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
0
0
0
37
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-82
-8
-18
-41
-26
2
86
41
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-27
0
0
0
6
-39
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-37
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-73
0
0
0
0
1
0
0
0
0
-50
0
0
0
0
7
0
0
0
0
4
0
0
0
0
-32
0
0
0
0
-55
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-3
0
0
0
0
9
0
0
0
0
6
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
12
-20
34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
14
-57
10
53
-17
14
73
10
-42
-20
-3
41
3
5
-14
-14
10
10
-38
26
-31
-6
-11
-12
19
-16
6
-14
-13
-7
-6
-4
6
-13
6
3
1
-3
1
16
1
-7
-5
-2
-6
37
-2
19
-6
-3
35
6
34
-4
-15
54
4
38
-8
-2
26
10
5
43
9
5
7
2
13
-8
1
9
9
4
4
-1
9
-11
4
17
-1
4
16
-5
-13
1
-7
-5
-2
-6
54
47
37
-14
-10
16
21
44
-10
2
-3
12
-26
18
-6
-10
12
-10
32
39
-6
13
-26
-3
13
2
-3
5
-3
-3
-8
-12
5
11
12
7
2
8
7
35
1
-7
-5
-2
-6
69
27
-1
24
7
25
-14
-24
9
9
6
26
-15
15
-9
2
-9
14
16
-8
-38
32
-9
3
9
0
-2
14
-4
0
-2
-5
-17
9
-8
4
1
10
6
14
1
-11
1
-32
-21
16
20
19
1
-12
27
65
-34
-40
16
0
15
42
32
10
4
46
7
-10
37
-6
-1
1
28
-19
-4
11
-2
9
-3
-8
-9
-6
12
-8
-1
1
3
6
15
8
-6
-5
5
-31
7
10
15
13
-12
56
-4
4
-1
-45
-13
32
14
41
26
32
15
11
3
1
-1
-12
31
-4
-13
-2
21
0
3
34
-12
2
-12
-15
-12
-4
3
8
1
10
12
17
1
-9
-24
7
10
15
13
-12
33
-4
62
32
15
6
72
4
0
-22
-12
8
49
-6
14
-11
37
-6
-5
11
19
8
18
12
2
-1
-4
-2
5
-4
4
2
-4
2
2
6
9
0
-5
4
7
10
15
13
-12
4
47
43
-38
-13
5
42
-35
10
6
1
28
35
-15
4
6
31
-3
7
30
1
44
-4
4
-3
-3
-19
-15
0
0
3
-4
-3
9
5
4
-11
-15
5
14
46
60
46
-115
-4
82
-119
3
57
34
1
7
-15
0
7
-12
20
-25
-28
-20
-16
21
-11
-21
35
1
-3
-35
-1
1
-10
-14
-17
24
8
-17
0
0
3
6
0
0
0
0
0
60
14
13
-7
-34
-4
-4
28
-5
11
-25
3
7
-18
6
-6
13
21
-3
-4
-1
8
24
8
7
-1
6
6
15
-25
-2
-2
31
17
15
10
-4
-3
6
12
0
0
0
0
0
20
-13
-10
-8
21
-26
16
-17
-35
-26
6
4
46
-10
49
1
-2
-10
28
-65
46
1
3
7
-36
-12
20
9
-13
-7
-40
-7
-15
5
68
-47
-1
-6
0
1
0
0
0
0
0
6
18
72
-28
9
0
35
9
15
-92
-2
20
19
-1
-5
22
5
-18
-50
-6
25
-3
26
41
0
-21
-1
2
-12
19
-17
-8
18
15
14
8
3
10
46
8
-20
-18
-19
2
9
28
-67
41
3
-14
-47
1
-7
-14
-34
14
-5
42
14
-2
-52
-24
-10
7
-15
44
6
5
-15
74
-19
16
2
53
2
1
9
-6
12
-16
-15
1
14
32
5
-45
18
12
10
29
0
0
0
0
0
-25
14
-2
3
18
12
-20
11
-16
-11
-86
-6
-19
64
-34
26
28
-30
-16
5
-12
-2
-7
7
-25
18
-1
14
2
14
-23
0
-17
5
6
28
-15
-4
7
9
0
0
0
0
0
-18
5
-11
-17
-10
6
-4
25
8
-2
-51
11
-5
11
-6
31
-5
27
-19
8
-11
23
5
-37
-10
8
25
28
3
-4
11
9
13
-7
19
6
-14
-17
7
18
0
0
0
0
0
43
-11
-23
25
-9
28
6
38
58
-30
23
-12
-48
22
64
-14
5
-7
0
1
-17
-8
21
23
10
26
26
4
14
22
7
12
6
27
2
-24
-2
-7
12
-35
23
6
-11
-5
-4
-22
61
48
-42
-2
-22
25
-17
1
2
41
-34
29
8
44
17
23
3
83
10
-16
-72
11
25
15
-2
13
3
-6
-4
0
0
0
0
0
0
0
0
0
0
-86
18
-6
-1
7
-31
-11
-21
20
-83
6
21
7
-35
16
19
-1
0
-21
7
-18
20
12
40
39
12
-8
-44
8
-11
-9
-17
0
-3
-3
0
0
0
0
0
0
0
0
0
0
11
5
12
42
3
-34
9
17
14
4
-12
-18
4
46
-38
-6
-27
8
-29
52
-36
69
4
12
46
32
12
-16
-8
15
10
-18
16
-5
-7
0
0
0
0
0
0
0
0
0
0
-5
-67
-40
-12
-6
-6
5
-13
62
-1
29
-30
-14
42
-14
8
-23
18
1
-60
-52
-31
-32
-21
-22
57
-10
-27
-27
-16
5
-20
8
-31
53
-53
-8
6
-23
28
0
11
10
51
-14
-6
12
-9
-17
3
-22
-14
29
15
13
-8
-31
-71
-31
7
17
-23
-21
41
-36
70
86
-9
-8
-23
12
-90
3
-18
-18
31
62
10
18
25
-48
11
6
1
-3
-39
16
-21
16
7
0
0
0
0
0
0
0
0
0
0
19
20
-8
11
-24
-34
-21
22
-34
-12
-29
60
-13
50
5
42
-25
3
-32
-9
41
-33
9
14
17
-3
-21
-18
29
2
27
-8
-6
24
-25
0
0
0
0
0
0
0
0
0
0
12
-11
-6
17
-1
-4
-19
-7
-54
-32
-26
25
-66
12
49
1
8
-5
-13
-11
-38
13
-14
-10
36
-52
-45
1
13
-4
6
19
21
17
8
0
0
0
0
0
0
0
0
0
0
-21
-21
-25
-26
-6
12
-2
21
30
-71
-134
-62
-1
-56
-25
-39
26
-7
-12
-35
8
-30
5
1
18
-19
-45
9
-13
-6
-35
1
7
19
30
-41
12
7
61
0
40
21
-13
-50
-7
17
-97
-20
-48
12
22
-32
24
-11
-14
40
8
0
-5
-38
-2
8
5
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
48
63
-5
2
-27
22
-12
4
12
2
22
12
54
-4
-9
1
-35
-63
4
-118
-42
-33
44
1
-4
-4
-10
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-8
-6
7
0
-44
34
-18
-2
-5
23
-20
-15
-2
22
-45
-23
-7
0
-10
-30
5
1
-35
-34
-15
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-45
-8
22
8
134
27
-14
-8
-8
-22
61
-17
-10
-15
-8
-10
-10
-62
61
39
46
-1
6
-4
-11
50
-40
19
9
26
-54
-5
-46
10
12
-12
-35
-9
-38
-62
51
27
-12
-22
3
22
0
-5
-11
-12
-9
10
27
1
2
15
-58
60
0
23
5
5
14
35
-13
-13
4
8
12
19
-49
12
-42
14
-31
3
3
-12
29
-25
-26
-62
-1
-19
-20
-18
43
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
33
-12
-23
37
-37
-125
60
2
19
61
-40
10
-18
1
23
-47
6
26
11
-36
-31
-8
-11
-21
75
11
6
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
-17
14
18
24
-8
-35
25
-18
-67
-89
-58
-1
57
-33
-38
-4
-7
27
32
-15
-39
-15
-78
4
-20
-38
22
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-24
-53
-43
6
40
33
70
3
-3
-60
-24
-85
0
-26
-62
29
-8
-22
-21
11
-28
-19
7
4
18
-38
64
7
-9
7
-7
-29
0
-8
-10
-83
5
6
1
-17
-19
37
2
-24
-33
-11
4
54
-47
-9
-24
-12
29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-19
-25
30
0
33
-21
5
-35
-12
-12
-17
3
-11
-1
0
18
-27
11
-4
77
48
-42
-38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
-1
0
0
0
32
1
1
0
0
-11
-2
19
-5
-16
37
13
-9
-13
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
-9
0
18
-72
50
-2
62
-80
-75
54
24
10
-40
25
-54
17
25
-36
0
45
-62
15
-2
22
-15
-16
-11
22
-18
31
52
-1
-19
-17
-11
29
-11
-15
5
-22
-1
36
-1
5
0
0
12
-2
-26
0
0
-14
-2
5
0
0
-44
-12
-6
-2
-36
-66
-88
-81
-16
43
10
-26
68
-34
5
-5
-20
52
6
-96
26
-29
6
-69
-26
-17
-6
46
59
-4
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
37
-39
-10
29
-31
12
-31
28
-7
35
13
34
38
-3
-12
1
11
28
39
32
49
-22
-42
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-56
18
42
10
44
-1
-27
-4
6
3
45
5
10
-59
-170
0
11
51
48
112
52
-17
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
39
40
-24
-2
-116
-6
-43
17
9
-71
24
-8
2
-45
-2
-54
-58
-8
-44
-29
8
-45
-29
28
21
-13
1
0
-20
-1
0
45
0
16
42
27
29
0
-18
28
-24
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-2
0
0
-30
-2
-16
0
0
-17
-20
-8
0
0
-51
-86
14
-6
-26
0
0
0
0
0
0
0
0
0
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
0
0
-3
26
-8
0
47
-13
40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
-41
-1
0
-91
15
-5
6
0
17
5
-5
-3
0
24
4
26
20
0
-33
-33
5
32
0
-40
-46
3
-19
0
63
86
12
60
0
-23
-5
-53
-11
0
40
31
2
-7
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
-11
0
0
2
10
-57
0
17
6
17
-7
0
-22
-29
-15
53
0
-9
-27
77
30
0
-23
10
44
-17
0
53
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-12
-21
8
0
21
21
-29
-8
0
-103
-84
21
10
0
64
-7
-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
0
0
-39
-15
-21
33
-31
49
-58
-4
29
40
46
-90
-54
-75
1
22
-58
62
-42
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-4
-7
0
-28
-60
-19
18
0
-64
-29
-20
11
0
98
-25
28
-79
0
0
3
9
0
0
-8
9
-54
0
0
10
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
-3
0
0
0
-8
22
-45
60
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-26
0
0
6
26
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
8
-4
0
0
-1
-2
47
0
0
-9
0
7
0
0
-20
47
0
0
0
130
-23
2
0
0
-90
-53
6
0
0
31
-12
27
0
0
-10
6
-16
0
0
36
5
-1
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-1
15
0
0
-17
-1
-25
0
0
-22
-15
-17
0
0
-16
-12
-53
0
0
-18
-10
-37
0
0
97
18
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
-3
-25
-8
0
0
39
-14
-29
0
0
-55
-44
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-12
15
0
48
-23
-57
34
-23
-41
-8
-16
2
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-52
-58
0
0
31
7
28
0
0
-41
4
-4
0
0
-34
-42
0
0
0
-43
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
46
6
6
-7
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
0
0
0
-1
-36
0
0
0
0
-15
0
0
0
-29
-22
0
0
0
17
6
0
0
0
77
1
0
0
0
-29
68
0
0
0
15
-2
0
0
0
143
23
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
0
0
0
-5
-9
0
0
0
97
38
0
0
0
-21
-26
0
0
0
-22
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
32
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-11
-64
-10
4
5
26
23
110
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-82
0
0
0
-29
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-21
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-8
0
0
0
0
81
0
0
0
0
-38
0
0
0
0
-56
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
21
0
0
0
0
62
0
0
0
0
48
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
30
55
-58
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
20
-2
-1
21
-5
-18
32
-3
9
2
-11
2
-24
-4
4
-25
-44
24
-24
-8
20
1
-8
23
17
-3
33
-10
15
-14
4
17
2
7
22
-23
14
-18
-19
24
7
-1
-8
-1
-3
-4
-2
3
4
4
15
14
-3
-9
-17
0
22
1
-12
4
1
8
17
37
35
-10
-18
-5
9
6
-11
9
40
-13
-21
7
19
3
24
13
-5
5
-5
-4
-42
7
-1
-8
-1
-3
18
8
3
-2
-6
6
-2
17
-1
-14
9
16
-13
-7
-10
3
-15
-12
21
30
-36
24
-21
46
-30
10
-37
-18
-40
8
-7
20
-57
-8
16
16
3
15
19
-14
7
-1
-8
-1
-3
24
31
15
-6
-4
1
-22
-20
0
5
18
-2
10
-1
-8
-23
1
-6
35
2
-13
-3
-46
24
12
20
-3
11
2
-13
-13
2
18
-6
-30
9
6
-26
9
-19
11
21
-3
0
4
1
31
5
-7
-8
2
18
-5
2
6
22
28
8
3
-19
2
25
-22
-24
7
-20
-21
-4
35
-2
-5
15
7
2
27
4
-43
5
25
8
4
-5
2
-25
-8
17
-3
3
-49
39
7
0
19
-2
-13
-27
22
-3
3
-13
-38
1
-22
62
25
33
-32
12
-14
-14
-7
16
-6
-16
30
6
18
-11
1
-13
3
-19
-12
10
-3
21
-8
13
-5
8
35
10
-24
17
15
7
0
19
-2
-13
1
13
4
10
0
25
23
-23
22
-23
-11
18
-23
2
-3
-1
18
-17
13
25
0
2
7
-3
11
-6
10
-2
0
6
-5
-1
-27
11
13
13
-29
-9
3
-18
7
0
19
-2
-13
2
8
-15
-4
-2
33
15
-20
-12
0
3
15
-38
51
-2
-2
6
-42
23
14
-9
-2
0
20
23
-9
-20
17
-12
-19
1
-35
4
9
-7
-20
38
3
-48
30
3
9
4
-14
3
29
-30
4
-9
7
7
-9
-21
-8
7
10
8
22
5
-6
-8
-17
-7
36
1
9
-14
8
-44
-17
22
-5
-7
-2
4
21
-4
-1
2
-4
0
0
0
0
0
1
9
11
7
-7
21
-2
14
-1
15
7
-1
-12
24
8
-5
-21
11
6
-28
-1
7
38
6
7
-41
12
-7
13
24
-6
-26
-2
-8
-26
19
-1
-8
8
5
0
0
0
0
0
0
-28
5
-21
0
0
7
-37
-31
-6
0
20
11
-14
4
-11
-15
-23
-32
-25
22
-11
17
6
1
12
0
3
75
5
-14
-9
13
-8
18
-29
1
-16
0
-5
0
0
0
0
0
3
-17
-1
5
-1
-12
9
18
-5
-25
7
0
-17
16
16
-5
-27
-2
-38
5
-28
-22
21
17
7
-11
-18
8
-50
29
-19
1
18
-20
16
18
27
-5
-5
0
-81
-63
-33
-2
-11
1
-34
16
-5
-5
-1
-10
-15
-14
8
0
-2
-8
-3
22
-25
-10
-7
15
29
16
7
1
-9
17
-14
-25
-29
-7
-12
8
48
14
21
-4
36
3
23
9
-5
-5
9
47
46
7
0
0
0
0
0
15
-18
4
-5
17
18
34
-22
-15
-2
-69
3
7
50
11
2
-24
37
22
7
-23
-10
-12
-7
-5
-3
10
2
8
11
-16
11
-19
-18
-41
-5
-47
-12
-34
13
0
0
0
0
0
-22
0
-7
-4
-6
-22
-24
-21
17
-7
-28
2
31
-13
-18
-38
5
10
-2
-4
23
26
-7
-21
-17
12
32
17
6
-18
0
-32
28
5
-39
-49
15
-14
9
62
0
0
0
0
0
-11
-6
11
4
3
-2
12
5
11
-13
12
9
-21
-19
18
15
6
-1
-51
-7
33
-9
17
-7
-8
48
2
15
11
30
19
28
-13
-16
-14
29
-6
6
33
12
-2
1
-15
-4
-1
-11
6
7
-22
-1
-4
13
-8
-5
5
29
3
-59
2
18
-46
24
10
-14
1
-19
28
22
-26
4
-19
0
14
8
-1
0
0
0
0
0
0
0
0
0
0
5
6
-2
0
-5
-16
-8
10
11
0
21
5
14
-25
9
-4
30
-36
-3
-13
1
12
-19
6
-5
38
3
-13
6
6
12
-4
9
-11
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
1
0
0
21
9
1
0
-3
-7
14
-4
10
-3
39
10
-5
7
11
12
-6
48
0
24
-2
0
-5
17
20
24
20
-14
0
0
0
0
0
0
0
0
0
0
0
-9
1
7
-2
-5
10
17
-1
0
-6
11
-30
-4
-8
15
5
-6
-19
-20
8
9
-6
-57
-4
-6
17
-14
2
-43
-28
-10
28
52
39
19
-2
27
-17
-4
49
-2
4
33
-19
0
0
3
1
0
0
1
8
14
2
0
0
-16
9
-7
8
0
17
0
-1
18
-9
-8
-43
0
-3
-7
31
-41
-18
-6
25
10
-34
10
-24
-25
-5
-8
14
-32
6
45
27
31
0
0
0
0
0
0
0
0
0
0
25
0
19
-29
-12
-15
16
-20
-31
4
31
-1
-21
58
-15
-37
1
4
-48
20
3
-27
-8
-8
-8
-5
-27
-14
27
12
-74
-20
12
13
-3
0
0
0
0
0
0
0
0
0
0
20
13
16
-41
20
-6
22
-6
-11
-1
32
-23
0
14
4
9
-13
-10
10
17
14
-42
51
-6
23
20
80
-28
-54
13
-15
38
-16
32
13
0
0
0
0
0
0
0
0
0
0
-3
0
-6
-1
7
-3
-5
61
1
-35
-7
-19
-6
-54
31
38
31
-25
9
4
29
19
-7
23
1
-39
-22
12
-10
13
70
-39
0
35
-21
-1
0
0
-2
0
0
-2
1
9
0
17
1
0
9
-15
-27
3
5
7
-7
-7
25
8
15
1
15
-28
-23
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-1
-6
-6
7
0
2
-16
-8
4
0
17
7
-14
-85
1
-9
5
-20
8
3
-25
-25
-16
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-2
6
0
0
0
0
22
15
0
0
1
5
0
-2
-2
-10
-24
27
-19
10
-2
-15
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-8
12
2
12
-13
1
2
-1
16
1
-13
-1
-3
9
-18
6
5
4
71
11
-4
-11
3
-1
26
13
14
14
-9
-27
-34
-4
-26
-29
-5
-11
-1
43
-21
45
1
12
0
0
0
2
2
0
0
2
0
-1
1
2
0
12
6
-1
-1
-21
46
5
-5
-9
-23
56
17
7
7
2
-12
-3
5
23
15
-10
20
9
6
35
-2
-26
17
-7
-6
35
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
-23
13
-1
-16
34
-12
-16
10
25
-46
4
42
-28
27
-3
7
-5
-16
-67
8
-90
12
31
-25
-16
20
49
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-46
8
23
-6
28
-16
2
-21
4
-12
-16
9
0
-12
7
12
-34
40
-1
11
3
7
9
3
0
-39
-13
-9
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-46
-18
-23
1
8
-16
6
48
-10
-47
-36
-15
-34
-8
-32
22
-45
0
-2
-34
34
-34
-15
-39
0
-7
-6
6
-29
0
0
0
0
-4
2
0
0
0
0
1
0
0
0
-14
0
-2
-7
24
-12
39
-19
-9
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
3
-2
-2
1
-2
0
-20
0
-15
5
-1
8
-21
13
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
21
0
0
0
0
-14
0
0
-16
-29
-5
6
-42
-19
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
2
-1
1
0
10
-6
2
8
0
0
-13
-8
-19
9
-7
-5
12
31
15
16
-13
23
-23
10
-11
42
15
6
8
0
-24
3
54
-1
15
0
24
30
9
39
0
0
0
0
0
0
1
0
0
-30
0
0
0
0
-6
0
0
0
-13
-48
-8
-8
-1
0
8
-5
-13
-2
4
-17
-41
-25
-19
-30
-44
-22
-14
-6
4
7
8
-3
2
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
0
-24
-11
16
23
45
11
-3
24
1
16
-13
14
-33
-14
64
-53
-15
-53
47
26
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
13
18
5
-17
-44
42
5
-8
-10
30
19
26
-3
-47
4
17
-25
-22
36
-2
56
42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
36
23
-22
-7
5
-7
-34
-4
-13
6
5
16
16
-8
10
-42
-13
14
-1
-5
23
8
14
0
1
0
0
0
0
0
0
-4
0
0
1
27
-4
0
-13
5
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-2
4
0
0
0
-32
-66
20
20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
1
-5
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-2
1
9
0
0
2
0
0
0
4
0
34
-9
0
-18
-14
11
4
0
-17
-11
-45
0
0
43
-3
10
32
0
-36
-34
-10
-29
0
27
25
15
-29
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-13
0
4
7
3
-45
0
9
3
-32
26
0
-39
-12
5
36
0
-41
52
-5
-46
0
-9
28
-59
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-24
-42
-17
0
24
5
29
70
0
-12
-3
-16
-47
0
2
25
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-38
-19
-28
-4
-52
-13
-3
16
5
-58
-48
-43
-32
-3
29
41
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
18
-13
0
-23
-35
-19
-7
0
-15
4
-24
-4
0
6
-5
13
6
0
0
0
1
0
0
0
0
-3
0
0
-16
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
-13
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
6
0
0
5
-5
-30
0
0
-20
-10
-6
0
0
4
-4
-24
0
0
-43
28
-46
0
0
27
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-6
-1
-4
0
0
-1
-8
-12
0
0
-7
-9
-9
0
0
12
14
-62
0
0
21
5
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
21
25
0
0
-5
-35
7
0
0
19
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-19
-38
1
23
-5
-23
-5
32
0
5
-5
8
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
30
0
0
-6
30
-24
0
0
14
2
20
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
13
0
0
0
8
-10
0
0
0
-9
3
0
0
0
29
-35
0
0
0
5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-6
-23
0
0
0
5
-6
0
0
0
-15
30
0
0
0
19
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
61
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-45
4
75
16
0
-3
-9
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-46
0
0
0
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
6
0
0
0
0
5
0
0
0
0
-49
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
38
0
0
0
0
-21
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
5
-53
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
9
0
0
0
0
-34
49
14
0
0
21
16
14
-22
31
11
0
0
0
0
9
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-10
13
-6
2
0
1
-12
-25
-2
0
-15
40
-14
11
-1
0
-35
-16
-27
10
3
18
0
0
0
-39
0
0
0
0
8
0
0
0
0
8
0
0
0
0
25
0
0
0
0
34
32
13
-15
6
-4
-44
-44
-22
-21
-1
5
7
-22
1
8
12
-2
15
14
-19
-22
0
0
0
15
-3
0
0
0
25
0
0
0
0
5
4
0
0
0
33
38
1
-2
0
5
7
-34
-45
-16
-23
22
10
-7
53
-19
3
14
11
0
-25
36
17
-3
-13
11
4
-1
0
0
4
11
5
0
0
22
28
0
0
0
-12
-32
-1
0
0
-8
-6
9
-2
0
-181
-38
12
-23
-2
-5
12
-12
-14
19
-9
4
4
0
9
-42
-4
-7
-7
8
-20
2
0
0
0
28
-29
-8
0
0
-65
-41
-1
0
0
-7
28
7
0
0
-13
-26
15
-12
0
54
-42
-15
28
19
-22
5
23
26
-54
-15
-1
5
-3
-9
-30
21
6
-10
-3
-11
42
1
0
0
4
-1
-1
0
0
-21
41
0
0
0
-8
-38
-14
0
0
-15
38
20
25
-1
-25
6
75
70
-6
44
-41
-23
4
26
-49
-3
7
-6
-29
-26
8
3
1
-3
-6
-5
3
0
0
16
84
12
-1
0
22
41
0
0
0
-21
-20
33
0
0
3
-6
-5
-20
0
-17
11
29
-48
1
-14
-18
11
9
21
5
-3
-5
-6
8
-39
-4
-6
-5
0
13
-11
-1
0
0
7
4
-13
0
0
30
-14
-8
0
0
43
33
-33
1
0
-18
27
-29
3
-6
-32
-24
-9
27
-3
-32
-34
-15
18
78
-45
9
-6
4
-17
-62
-43
-3
-1
-5
22
-18
0
0
0
-14
-44
32
0
0
19
5
-14
6
0
-25
5
-44
5
0
33
30
28
-8
-1
43
-34
-1
-43
-10
-39
27
40
-31
16
-4
2
-29
5
-10
8
-30
3
3
2
1
-4
1
0
0
5
-12
-26
0
0
2
-21
-29
-4
0
22
-3
22
0
-2
8
7
1
-27
4
10
-20
-43
27
-22
31
46
30
-1
-34
-17
-9
-22
-8
12
-13
5
2
-5
10
4
7
-1
0
0
-2
-5
5
0
0
-12
-17
18
4
0
-6
26
26
0
0
-28
-17
-13
30
1
12
9
-97
-13
-2
35
6
14
16
26
-54
19
-26
1
12
49
-34
1
2
13
-2
0
-3
0
0
2
16
10
0
0
-9
-22
1
-3
0
1
-25
8
-16
0
15
-8
3
9
5
-29
-71
-18
11
-29
-3
17
54
76
2
-24
-68
-9
2
-17
-21
-45
-13
-18
33
0
1
0
0
0
-2
-4
3
0
0
-20
14
-10
-3
0
-5
54
24
8
0
-12
6
1
9
2
8
23
-33
6
39
37
93
43
76
-10
-6
-34
24
-31
-57
-10
-59
-91
-34
17
0
-1
0
0
0
-1
0
-6
0
0
0
-3
18
2
0
-3
-4
-31
3
0
1
13
8
4
-2
6
7
51
2
-7
-35
-2
56
47
-26
13
-37
-8
-50
-28
4
-2
-67
-3
46
0
-1
0
0
0
1
1
1
0
0
1
0
22
2
0
-2
-8
0
3
0
-4
2
-8
-7
-1
-2
-25
-13
-10
1
41
41
5
49
33
-17
-46
3
-41
-7
-25
-25
10
-17
-2
0
1
0
0
0
0
0
0
0
0
-1
0
-3
0
0
-1
-4
-1
-3
0
2
-13
-2
2
0
0
-14
1
-5
-17
5
-3
-14
-20
-29
25
64
-60
17
-1
10
0
-5
-53
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
-1
1
5
-1
0
0
2
-3
-10
-6
6
-40
-25
-7
5
0
-52
-5
-88
3
-6
0
29
-13
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
3
0
0
-12
0
-12
-5
1
7
-1
-29
-5
1
-33
34
66
-55
0
0
-1
1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-2
-5
7
-2
8
5
-4
25
0
0
-19
-15
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
2
0
0
0
3
2
4
0
6
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
0
0
0
0
172
0
-4
-4
0
96
-10
30
0
0
47
19
119
15
42
69
4
0
0
0
-8
0
0
0
0
12
0
0
0
0
-3
0
0
0
0
47
7
0
0
0
-39
94
-8
27
0
79
50
6
52
0
9
29
62
9
-42
-14
107
70
50
-31
6
-23
1
0
0
25
0
0
0
0
-9
0
0
0
0
87
2
-2
-1
0
52
-48
0
15
0
-17
114
67
-44
-8
54
77
2
-23
-15
-19
19
45
24
64
-25
35
18
28
-19
-18
-29
51
0
0
26
27
0
0
0
2
-5
0
0
0
-27
20
-10
0
0
12
50
7
32
0
21
27
-19
-5
-39
0
23
30
38
46
-15
12
35
16
55
-47
-4
16
12
14
-75
-52
-36
5
0
30
50
19
0
0
49
30
12
0
0
19
-28
41
7
0
-69
26
76
16
70
-30
50
48
32
18
-13
19
-31
38
36
-27
7
18
17
47
-26
10
16
20
-2
-5
42
-12
14
1
-49
15
-65
-4
1
3
-19
-34
-6
0
25
-31
20
24
-10
54
33
26
-46
-12
-38
32
-42
-21
32
13
0
-7
23
46
-12
1
-9
27
7
-8
-63
-1
6
8
-47
-9
-7
-17
0
83
9
-35
11
-8
2
22
19
-20
0
52
25
3
4
-5
-19
71
25
15
-84
-13
-37
9
13
-12
-17
-2
6
24
-10
32
5
-20
17
-20
-52
2
-5
-3
9
19
-14
101
-52
-3
69
30
73
23
-1
19
47
49
-14
1
25
-17
71
-15
-15
-19
27
-17
-60
-56
-36
-6
13
-73
-57
-4
11
14
25
-29
-30
-4
-9
11
-18
-36
-11
7
-11
-7
19
56
-28
2
0
80
6
-24
-11
-7
26
53
13
48
0
34
-14
50
41
45
20
-37
-41
-21
28
-38
-18
-10
-29
12
-38
-6
12
5
25
-37
-2
-19
2
-8
-25
23
-4
-9
19
40
-78
-23
21
-6
-51
-29
-1
-13
5
27
-46
-27
11
9
-2
-13
5
-26
-41
-6
52
11
84
-17
57
-8
-23
2
70
-8
16
26
-46
15
-50
-17
-7
3
-14
19
45
12
26
2
144
-60
-7
5
0
-19
31
76
33
34
106
-37
-33
-24
-40
-32
-59
1
35
-1
77
45
42
-22
23
-10
-44
-5
19
-41
-12
-6
-3
17
31
-67
-11
13
-10
3
19
0
10
7
5
-78
0
6
30
1
-11
-121
-3
-16
-40
-6
-29
36
46
29
-20
-22
15
47
-29
-14
-18
23
85
-14
-75
-42
-26
-1
12
-16
7
39
9
0
-80
7
-6
-26
5
-20
8
-12
-31
6
9
-69
-13
0
0
46
79
5
-6
-25
-47
-28
3
-80
29
-36
-106
-17
-11
1
-2
-18
-37
74
49
-9
-6
-41
-40
-74
-22
25
-13
8
9
-60
-8
6
-17
-17
76
27
25
28
-1
-4
77
0
-4
0
-35
-26
-14
-2
7
-69
73
-5
-1
-10
-64
74
-10
-55
64
15
34
7
-1
0
0
-52
37
-39
68
89
2
45
2
-47
43
-8
5
9
-49
-25
0
15
6
26
20
3
-1
0
0
6
12
-13
-62
-75
-26
67
2
-17
-18
-34
-76
-81
-48
-47
-10
-53
11
-29
48
9
-14
41
-53
-4
-21
35
5
-31
-32
63
-20
0
-27
-32
82
59
-10
10
6
0
-10
1
0
0
20
-5
14
48
23
68
-93
44
-7
-3
-75
66
-23
4
-36
-103
20
-18
-23
-4
-51
-162
53
-1
-86
40
-19
2
8
4
-85
60
-10
-24
47
12
1
-1
80
128
0
17
-1
0
0
-10
-13
8
15
13
-8
-47
20
8
0
-6
25
-22
-43
46
25
-29
-63
-31
21
12
-12
-30
-31
42
116
26
-75
-59
-45
33
4
-41
-68
-19
3
17
6
-2
1
0
0
0
0
0
-5
1
4
19
17
0
4
-44
28
-3
-2
32
-28
73
-6
36
37
16
-77
-4
-9
-84
-61
20
-9
-8
21
8
-10
28
-45
-87
-14
-46
-19
20
-30
9
-46
-40
0
0
0
0
0
0
-3
-1
3
0
2
4
3
69
-2
1
-22
-20
4
8
-6
-4
-5
-32
-27
0
-37
-6
-15
-33
9
-61
49
23
19
34
-58
18
22
10
21
-25
31
39
3
0
0
0
0
0
0
0
-2
0
0
0
1
-5
-32
-1
0
-21
30
1
-4
3
-12
53
20
-14
0
0
-1
-16
-81
-10
6
29
59
-18
1
59
38
-22
16
0
6
31
-83
-31
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
1
4
-8
6
0
-8
29
-7
-3
0
9
-26
32
29
0
5
51
1
94
2
-8
-42
-10
41
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
2
0
-1
25
3
-1
0
-2
8
26
13
0
3
49
12
37
0
-30
-61
34
-28
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-1
-7
1
0
0
-13
27
-1
0
0
-7
-9
-12
0
0
19
89
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
16
0
0
0
0
2
0
0
0
-1
-1
-43
0
0
-1
-5
0
0
0
0
0
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
153
0
-4
-4
0
44
-8
24
0
0
44
7
34
10
18
120
4
0
0
0
-4
0
0
0
0
19
0
0
0
0
-6
0
0
0
0
-5
7
0
0
0
9
83
-8
36
0
36
69
4
-3
0
5
129
53
44
-41
15
67
68
80
79
35
10
1
0
0
71
0
0
0
0
-36
0
0
0
0
40
2
-2
-1
0
22
-85
0
21
0
37
-37
26
-62
-14
28
-23
16
-13
-10
-29
30
56
73
96
-32
-11
69
16
-67
-83
12
37
2
0
-56
33
0
0
0
80
24
0
0
0
-30
5
-19
0
0
27
42
12
28
-4
-38
125
40
24
5
6
92
-28
26
78
-36
1
30
28
14
-27
2
25
79
-2
20
-91
-32
7
0
57
-20
9
0
0
20
38
2
0
0
21
8
46
12
-4
22
53
68
18
92
-15
-42
15
25
48
15
6
6
19
-32
27
5
27
1
23
-50
-14
10
-2
5
-45
17
-3
12
1
-111
7
-9
-7
13
-35
-43
-55
-38
0
-24
-18
44
22
7
34
-12
53
-38
2
-21
1
21
-1
52
10
15
38
51
-21
-17
-6
22
-16
-10
-5
33
-8
19
43
-23
-28
-23
-18
-8
66
40
-21
-56
-22
13
49
-3
8
0
32
3
-5
-7
-7
-31
37
-5
18
-59
-4
17
2
-13
-6
4
-13
20
-1
33
51
11
-11
19
0
-5
-37
-4
-7
48
59
-2
58
-80
-8
-34
40
65
26
-34
-6
-16
56
-53
1
45
24
-2
1
18
22
0
14
-20
-68
-10
2
-10
-21
25
-7
36
-6
20
58
38
22
-24
-22
69
-20
49
-5
41
56
1
30
-3
17
9
71
4
33
28
-6
-65
44
23
18
-16
-15
-22
51
48
-2
-56
-54
-28
7
22
-84
-1
3
-62
-14
39
16
18
-5
44
-5
0
18
-9
21
-36
-28
0
-12
15
-54
-57
14
32
-8
33
16
-12
55
8
-4
2
-20
36
4
13
-17
25
-13
-11
-12
85
17
40
15
-5
-25
-47
-10
-18
-7
22
-5
24
-5
-78
-4
-7
-12
-33
-11
23
3
15
-2
57
-29
-23
-27
-2
-56
-2
57
9
5
24
-38
21
36
-32
23
4
8
43
17
-18
-6
-46
-33
-17
-48
-58
-30
-21
-37
-34
-19
17
18
43
9
-7
-2
-3
-15
-11
14
-1
3
12
-73
-42
-31
17
-2
-8
-52
-56
-27
15
46
29
20
30
12
-92
-74
-57
30
-49
65
0
-28
5
31
-20
-86
-36
7
23
-7
4
-19
5
-42
11
-7
26
10
-8
1
27
23
21
54
-14
-18
19
-9
0
69
-52
17
-3
-10
46
11
-28
-21
-12
-12
-8
-44
-60
-18
37
-34
-23
62
39
-8
3
-14
-2
-5
-76
-1
4
-10
11
-66
-43
-14
0
-38
32
43
8
-37
1
10
19
-21
-1
0
3
-26
34
-48
24
-56
8
-12
-111
13
-28
35
-18
-57
9
-34
-50
30
-12
47
31
15
-7
36
20
3
-63
-33
3
-43
13
-6
2
-61
3
50
-19
-59
-8
2
18
2
-1
0
0
3
42
-12
-18
-29
-4
-13
-70
35
-26
-31
-17
9
-55
-42
-16
7
1
-39
34
-20
-41
10
-71
-4
16
-25
-56
-13
-14
-56
-14
-67
66
-33
63
2
35
22
52
0
-19
1
0
0
20
25
36
-11
-21
34
-78
-12
0
-13
-68
19
0
17
-26
-59
29
72
-24
-8
-37
-31
-11
-19
-129
29
3
13
-25
24
-2
-17
-39
-29
-5
53
-20
23
25
33
0
22
-1
0
0
-10
-17
10
34
-22
-5
-34
80
-11
7
-9
-13
4
-90
36
45
57
-97
-87
29
1
-18
-10
-15
19
44
-49
-33
17
8
-22
22
-22
-14
-76
-5
42
8
-35
-15
0
0
0
0
0
-5
-5
3
36
14
0
-17
-49
37
-2
0
11
-93
100
-7
44
54
-15
-24
-13
-9
-89
-37
-39
24
-21
9
63
-21
28
-65
3
-33
-73
45
27
61
-21
3
-32
0
0
0
0
0
0
-3
-1
3
0
2
3
-13
72
-1
1
-23
2
5
31
-4
-18
27
-59
-66
0
-7
12
6
-24
13
-38
1
2
11
41
-78
-29
15
23
25
-23
58
7
-15
0
0
0
0
0
0
0
-2
0
0
0
1
-4
-48
-1
0
-18
42
3
-1
3
-30
40
66
-4
0
12
15
-28
-100
-10
10
80
-21
-40
1
78
39
-14
2
0
7
50
-87
-33
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
1
6
-16
-7
0
-8
-20
25
-13
0
5
-43
13
36
0
6
98
11
118
2
-40
-1
37
8
0
0
1
5
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
5
0
-1
40
45
-3
0
-1
-1
7
13
0
3
55
47
43
0
-38
-61
20
-40
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
2
-8
-1
0
0
-14
41
-1
0
0
-7
-18
-6
0
5
13
83
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
17
0
0
0
1
4
0
0
0
-1
-1
-42
0
0
-1
-4
0
0
0
0
0
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
17
0
0
0
0
-12
0
0
0
0
23
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
1
0
0
0
0
-3
0
2
0
6
8
2
-1
0
-72
8
1
0
0
-8
3
-17
-9
-1
-1
0
0
0
0
9
0
0
0
0
-2
0
0
0
0
0
4
-2
0
0
28
-5
0
2
0
-49
0
3
-1
-1
-21
-22
20
9
1
41
-72
-13
-28
-12
-15
-4
-2
-55
4
4
-2
1
0
0
4
0
0
0
0
-2
0
0
0
0
7
0
4
0
0
-19
-7
-7
-2
0
51
-14
9
-37
5
-4
-27
-31
-9
5
39
-25
39
56
-31
-16
-12
116
-12
6
-3
1
0
0
1
-11
0
0
0
0
-3
2
0
-1
0
0
10
-2
2
0
-33
-5
-4
12
5
-30
38
25
7
-4
36
-3
49
-3
-14
34
18
67
7
60
0
-2
-14
30
-13
-2
-8
-1
-1
1
-5
12
0
0
0
8
3
0
-4
0
-18
-27
-10
2
2
14
48
39
-1
-8
26
32
31
1
15
-3
26
35
0
-32
-56
28
-55
18
1
11
-2
-40
-10
43
-4
7
0
-1
0
-11
-3
0
0
0
7
1
1
-16
0
-1
6
43
20
-7
26
-10
-11
-7
-21
-41
-13
-50
4
-6
-20
60
-31
23
10
-42
34
-1
-36
-11
-23
-4
57
69
-10
0
-3
2
-1
-2
9
2
1
2
-2
-11
-2
-3
19
1
-4
14
-17
6
9
14
-11
43
13
-5
-18
-41
-20
-20
-8
10
59
46
-38
34
13
13
32
-21
11
24
8
-28
37
-41
1
0
0
4
-1
-17
-5
-5
5
0
-12
-9
1
21
3
9
3
-24
-10
-1
-49
-8
23
20
25
7
-22
-22
16
14
76
-13
8
-19
27
-2
49
-47
-9
-10
-14
-3
10
-12
35
-1
0
13
2
-3
15
-19
-1
6
1
-5
-2
-3
2
-2
-5
-7
21
4
-1
-3
2
-17
26
19
30
8
26
4
3
4
10
46
77
23
-39
52
16
1
4
25
34
23
14
20
0
-6
-2
0
1
0
13
6
-24
2
14
-6
-29
12
-14
-15
27
-3
-2
0
-21
-21
-93
36
-41
-41
-13
-6
-47
-9
29
7
65
-13
26
-7
-96
42
14
-14
32
41
22
42
56
-2
-1
-1
0
1
1
2
18
0
-4
8
20
13
7
2
-19
-41
-41
21
-42
-15
14
18
-27
-12
-55
-18
-7
-2
10
18
7
-56
-18
-34
-20
2
38
58
-29
-20
-4
-3
1
-1
2
0
1
0
0
-1
-3
-5
-10
-2
1
-19
2
-2
-20
16
-50
-18
-22
-26
-5
6
13
11
32
27
-21
-7
19
-2
29
-18
-11
-2
-1
-80
-53
18
-9
-3
-36
-27
-68
-9
28
0
0
-3
-1
0
2
9
-6
-7
1
4
7
-7
-27
3
-9
4
2
-16
17
8
-37
-25
-12
2
6
20
-8
4
-10
-31
-13
-23
-7
-36
20
11
-41
20
-6
-5
13
-38
-5
-25
0
0
0
0
0
0
0
6
12
-2
0
-3
-5
-4
1
-17
9
3
-45
-22
3
49
-13
7
0
-9
-26
-13
9
-9
-6
-65
-1
12
18
-18
8
-18
-49
43
27
42
26
-31
1
0
0
0
0
0
0
0
3
-4
0
0
-14
-13
-10
-5
-7
-3
5
19
-10
1
11
0
6
14
-13
-4
32
6
-13
-20
13
-23
50
5
-15
28
19
-40
-8
8
4
12
-18
-39
0
0
0
0
0
0
1
1
14
2
0
0
20
5
0
1
-5
-6
-6
10
8
18
7
-20
36
-1
0
-15
-21
-15
-27
3
40
36
19
-5
-13
-41
-26
-13
-6
-4
32
27
-34
0
0
0
0
0
0
-1
0
2
0
0
0
-5
15
0
0
-8
-3
-10
-21
4
1
4
-61
-6
-3
-21
-18
-4
14
-10
8
9
12
21
-8
-34
-20
-20
0
1
9
4
-3
5
0
0
0
0
0
0
0
0
0
1
0
-1
1
8
0
2
4
-3
1
17
-1
-8
-2
-36
-9
0
-13
-13
-17
-20
2
22
-38
9
12
3
-67
-58
-26
-2
0
10
4
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
4
4
3
2
0
28
33
-8
0
-2
5
-30
-16
0
-10
-4
-16
-15
0
14
-28
-4
-4
0
0
8
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
6
1
0
-1
-4
5
4
0
-9
-6
-4
1
0
-1
17
-2
24
0
-9
-13
46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
1
0
0
13
4
0
0
0
3
2
-1
0
0
13
3
-6
0
-5
-2
-1
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-1
-2
0
0
-4
13
0
0
0
-1
-2
-3
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-29
-55
-141
-76
-60
-20
-85
48
20
0
0
-95
-15
14
30
84
45
42
68
0
15
0
-32
30
-7
24
7
48
38
0
70
40
0
-62
31
-2
-5
35
47
0
9
-4
-38
0
9
109
7
0
19
0
0
0
0
0
0
4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-28
21
29
-45
-20
-55
-56
2
21
0
0
-30
20
-4
-23
70
56
-66
59
0
23
0
-79
-45
23
-6
-2
18
69
0
7
-3
0
-8
-22
84
41
-10
32
0
0
0
0
0
0
0
5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
20
18
-28
-11
-41
-90
42
30
0
0
-7
25
-61
42
94
-29
-22
62
0
114
0
18
2
-23
10
148
-7
56
0
26
15
0
-21
-9
-38
17
86
77
0
0
0
7
0
16
5
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
47
4
-46
-48
-5
26
56
52
0
0
-16
33
9
-45
44
42
23
142
0
-39
0
30
15
-53
18
2
18
78
0
122
73
0
-36
-29
-19
78
68
45
0
-3
55
24
0
-39
-50
-1
0
-1
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
30
56
-22
-31
20
-4
24
66
51
0
0
-70
-34
-28
-3
33
-4
93
66
0
-9
0
-38
-8
-46
-5
5
-37
93
0
73
45
0
3
-24
-25
-32
54
18
0
6
124
14
0
-8
8
46
-38
9
0
0
24
46
72
0
8
-95
-14
23
0
-43
-25
11
51
67
0
-39
-113
-27
0
-6
-138
8
60
81
106
0
-56
-48
0
48
27
-32
-38
46
31
-12
0
4
0
-7
23
6
1
-21
-14
33
32
-7
0
0
-5
16
-12
-8
3
34
-18
-6
0
-2
0
-34
6
-21
3
15
4
-7
0
51
46
0
1
-28
-15
-38
56
-17
0
26
46
23
0
12
-25
25
-18
-46
0
37
17
22
20
0
-5
-61
-14
-42
0
-31
-37
17
12
26
0
-9
50
-53
0
56
10
40
7
-31
-50
0
-35
-24
0
-11
-40
10
5
-39
-21
-7
0
41
0
1
-12
17
-2
21
-27
0
0
0
0
0
5
43
0
-9
-13
0
3
12
0
-22
0
-3
43
25
-28
-5
0
43
0
-17
-12
0
37
3
-24
-7
-3
18
0
18
26
-38
0
24
-5
14
-6
27
0
-2
-67
-13
-2
0
23
-59
-28
2
0
16
45
-14
4
-3
0
-15
-45
-19
0
-62
21
-29
23
0
0
0
-184
-6
0
-48
-46
-4
-3
0
0
-32
0
-28
0
-20
81
-59
-137
-52
-94
-34
-13
17
0
0
18
-14
-69
-50
16
-65
-27
52
0
29
0
49
6
-108
-6
6
-27
86
0
47
51
0
0
45
-27
-24
-16
73
0
-3
-52
99
0
-5
-17
-120
38
24
0
12
-14
99
78
0
5
-118
-63
9
0
-117
-32
5
14
8
0
19
-66
-2
0
64
-33
6
1
4
5
0
23
-29
0
-82
-76
-25
-27
-9
-21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
4
-36
-76
113
-98
-5
-6
-111
0
-34
0
136
-113
-142
65
-70
-49
12
0
168
115
0
7
-40
-102
-18
-48
-26
0
49
103
-8
0
-39
-90
47
-125
25
0
24
67
63
-1
0
-22
-56
-62
18
0
136
21
76
-71
-59
0
3
-28
27
0
137
83
151
-4
-73
-14
0
9
80
0
340
219
146
69
-1
-15
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
0
28
0
12
-223
-162
-143
3
39
-40
0
49
68
0
9
-55
-43
-51
-78
-2
0
36
97
78
0
16
-20
-103
13
-31
0
-15
41
92
29
0
-33
-108
-8
-3
0
83
3
7
14
7
0
-5
-38
-51
0
-22
-18
-175
-96
-100
-15
0
-11
-33
0
-70
-75
-96
-10
-33
18
19
0
-43
0
-34
52
-47
-58
-66
-89
25
-7
21
0
0
152
49
-154
-32
-29
13
-19
78
0
0
0
17
-13
-8
2
-42
-48
125
0
30
150
0
24
4
-49
61
69
120
0
-29
57
102
0
-2
-25
10
63
38
0
-60
9
91
51
0
-3
-111
11
-1
0
-49
-91
-11
-2
1
0
-54
-63
-8
0
-48
-20
-13
-18
-17
-2
0
-28
-41
0
-54
-42
-93
-43
-56
-27
1
0
19
0
34
114
91
-6
-11
-9
-88
-39
87
0
0
109
91
48
45
-20
58
-31
48
0
69
0
67
0
48
13
111
115
29
0
5
51
0
20
-5
-35
-61
-8
7
0
15
11
-3
0
-11
-21
-70
-58
-29
0
-81
35
27
55
0
-6
-83
-9
-73
0
-9
-54
-64
-34
7
0
-19
-46
-87
0
-147
-146
-112
-1
-16
0
0
-91
-63
0
2
-86
-42
-13
-3
3
-53
0
27
0
-41
71
59
18
21
25
51
102
17
0
0
-11
20
-22
-16
17
17
48
88
0
4
0
-33
-22
-59
40
-28
-25
11
0
25
12
0
-59
-39
-46
-35
-26
-6
0
22
27
9
0
-32
-20
-19
-36
-8
0
4
24
-8
20
0
-6
-22
-58
-10
0
18
28
1
-2
-5
0
1
-67
-3
0
26
-4
-21
-11
-44
-41
0
7
0
0
23
14
5
-20
-43
-42
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
-64
-96
-118
-98
-8
-37
-89
-71
-26
0
0
-83
-70
-40
57
19
-10
-19
8
0
-2
0
-59
-22
33
31
29
6
34
0
39
-29
0
25
27
23
-27
-64
80
0
-50
27
23
0
-17
57
25
-31
34
0
0
0
-1
0
0
-1
0
-2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-23
0
-89
-39
-54
-1
-24
-1
38
0
0
-23
-35
-7
63
20
-89
-8
16
0
31
0
-4
3
60
-12
22
-25
45
0
32
-27
0
27
-9
139
-44
-62
7
0
0
0
0
0
-13
0
15
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-45
5
-33
-23
-1
2
23
-62
24
0
0
4
-76
29
-1
10
31
-27
47
0
-33
0
-12
-53
39
1
15
-31
14
0
-24
50
0
23
-50
48
86
29
40
0
0
1
-4
0
-10
25
-2
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
32
-22
-32
18
32
26
-52
44
30
0
0
-10
-5
13
32
31
-40
-41
46
0
60
0
5
-29
17
11
43
97
48
0
84
-14
0
-39
-31
26
119
15
20
0
-3
36
-1
0
45
19
-22
3
40
0
0
0
4
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-15
4
-8
20
21
-6
-25
-8
3
0
0
-10
-65
15
24
30
-10
-8
8
0
3
0
10
-5
5
-9
-21
-8
-8
0
52
41
0
-14
-13
5
5
-27
18
0
4
69
5
0
11
-10
34
-10
4
0
-41
-4
67
22
0
-4
-64
30
-15
0
18
-44
-15
57
16
0
-18
-69
-5
0
38
10
73
-41
32
-6
0
11
-24
0
-12
-46
6
61
25
56
24
0
1
0
-26
16
28
7
-5
6
8
34
-1
0
0
-64
0
4
-12
-13
13
-14
-2
0
9
0
-4
-6
-20
-16
2
26
-27
0
-54
19
0
-28
15
-1
1
12
-21
0
-29
23
22
0
-14
-23
-8
16
-39
0
38
47
36
5
0
-18
3
-13
-21
0
-5
33
10
12
-2
0
-12
-21
-41
0
-44
-15
4
52
5
-26
0
10
-23
0
24
9
18
-9
-22
-22
-47
0
33
0
7
14
23
-61
19
-31
-7
5
-8
0
0
-10
55
43
-2
-22
38
29
11
0
-20
0
31
-8
-2
59
31
-14
-1
0
3
1
0
26
-13
13
2
-10
-8
0
48
7
42
0
-2
-15
9
-33
0
0
-38
27
32
27
0
-11
-26
-2
-9
0
-42
-17
-3
1
1
0
-13
-52
-7
0
10
30
19
20
0
0
0
-36
-24
0
-46
-45
0
-28
1
11
16
0
-130
0
-27
-65
35
-102
-57
-63
-65
-134
-27
0
0
-26
-85
-66
-28
7
-20
-104
-29
0
33
0
38
-105
-86
-22
46
-66
-7
0
45
9
0
-4
-37
-37
-59
25
12
0
-65
3
-11
0
2
-11
25
-6
-1
0
26
-16
35
-37
0
2
-45
-25
-19
0
-42
-17
17
-4
-15
0
13
5
-8
0
1
-18
-4
-15
-10
-19
0
16
-25
0
-28
-22
14
-29
-23
-13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-276
0
0
77
-102
-68
2
12
-14
-12
-174
0
9
0
-48
-108
-29
17
-84
-40
-29
0
-60
22
0
-23
-53
-20
-51
-75
-22
0
-6
47
40
0
14
5
-13
33
-18
0
-2
-17
-5
-45
0
25
-31
-3
-20
0
5
-17
25
-79
-16
0
-14
39
32
0
61
0
57
-10
-128
-45
0
55
46
0
83
108
65
4
-10
-7
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-180
0
-27
0
27
-134
-102
1
-40
-82
-34
0
-53
-37
0
6
-10
-19
-36
19
18
0
-29
-27
-14
0
7
6
43
-14
-35
0
-25
-85
13
-20
0
18
-44
-41
-16
0
0
-14
-8
-11
-20
0
0
-13
-103
0
26
-22
19
-71
-52
-42
0
-18
-19
0
-21
2
-2
-15
-4
-7
9
0
-44
0
-14
-68
-78
-48
-34
-21
-85
-155
-18
0
0
2
-87
-50
13
-2
-33
-55
-19
0
-44
0
5
-40
-33
-51
-4
-124
15
0
72
-35
0
21
-6
-9
-30
-64
15
0
-1
-4
-24
0
0
4
-50
-3
-19
0
-23
-53
-2
-51
0
-8
-19
-34
-32
0
-6
-4
-4
-21
-16
0
8
7
-20
0
-2
-29
1
-25
-25
-13
0
-17
-21
0
-68
-19
10
-14
-8
-25
-18
0
-17
0
-5
55
5
-1
15
-6
-50
-16
-7
0
0
16
-48
-9
20
5
-44
-18
25
0
-21
0
10
-34
44
44
-2
-1
-4
0
-15
-15
0
6
-10
-4
16
-4
-28
0
10
-18
8
0
-7
-21
-5
24
-45
0
-83
-72
-15
-23
0
8
-54
-60
-72
0
-45
-59
-51
-31
-9
0
-2
-21
-81
0
-68
-70
-78
-39
-47
-8
0
10
-50
0
-95
-60
-50
-35
-15
-16
-18
0
41
0
-4
-2
-12
-8
3
17
30
65
10
0
0
-4
-5
-16
-4
1
20
16
19
0
80
0
-29
-42
-55
-33
-13
-28
-23
0
-20
50
0
-12
-21
-23
-43
-3
-26
0
-18
-22
23
0
12
-18
-52
-9
-31
0
-40
0
-23
-20
0
8
-22
4
-30
0
-43
-6
8
-11
-15
0
-14
-22
-20
0
-8
-14
-11
-35
-57
-26
0
4
-19
0
-3
-7
-8
-25
-56
-54
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-62
-73
-85
-26
-26
-39
-86
-116
-18
0
0
-43
-56
-48
1
-31
-46
-27
-16
0
-41
0
-32
-50
-7
-4
-22
-24
9
0
45
6
0
-61
-7
-36
34
5
105
0
2
-13
22
0
-36
1
21
-33
78
0
0
0
-1
0
0
11
0
-2
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-13
-80
-34
-47
72
-28
-69
-55
32
0
0
-3
-16
35
-12
6
27
-13
6
0
-103
0
29
16
31
49
23
9
-12
0
18
4
0
7
-10
78
-22
-8
47
0
0
0
0
0
-14
-5
15
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-39
-70
-17
47
-2
-13
-39
-56
4
0
0
-37
-48
16
53
42
18
1
21
0
-39
0
-64
-54
32
22
20
77
66
0
-27
8
0
8
-26
-3
48
5
0
0
0
1
-4
0
34
28
6
2
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
58
0
-3
-57
-76
1
-8
-23
-22
-44
25
0
0
21
-27
-5
2
25
24
-25
60
0
6
0
-37
4
10
14
16
42
18
0
56
-78
0
-12
10
72
23
47
89
0
0
24
-19
0
-6
7
-7
-3
-18
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-33
-25
-60
-29
15
-39
2
34
-9
0
0
9
-60
-6
-8
-13
-28
34
-5
0
16
0
30
-46
15
-20
-49
49
20
0
-9
12
0
-36
-2
35
49
-55
17
0
84
-39
65
0
1
4
-4
25
27
0
-9
6
33
-6
0
7
-8
-14
16
0
-68
-2
14
-38
-19
0
65
73
-28
0
-51
55
45
-33
60
-4
0
50
7
0
-30
-10
-80
30
43
97
-3
0
-4
0
-2
-31
-5
-2
-4
-9
-9
-1
2
0
0
-10
-30
-3
-21
-11
31
-14
0
0
-23
0
18
-24
-11
-5
1
-1
-2
0
-29
41
0
3
-20
1
11
-12
-12
0
6
0
-20
0
29
7
65
-15
-16
0
-17
59
3
3
0
-7
9
-21
-16
0
35
11
24
-75
-11
0
-29
34
-13
0
-31
-4
9
-18
1
0
0
-10
-7
0
-9
11
10
55
-28
-35
-45
0
34
0
10
70
51
-39
-41
-29
-24
10
-13
0
0
19
5
14
39
14
2
-2
-5
0
49
0
23
-12
6
22
46
-8
3
0
-69
37
0
3
6
7
-9
-43
-11
0
40
-44
37
0
7
-17
1
-7
-1
0
-4
-61
21
4
0
0
-8
-39
-15
0
6
21
22
8
1
0
-1
-9
-2
0
1
27
13
11
5
-1
0
2
-17
0
-23
12
-43
-13
-9
13
12
0
-73
0
7
-79
-9
-98
-46
-66
-55
-74
-36
0
0
-5
-89
-6
-44
-30
31
-16
-58
0
-26
0
-1
-9
-47
-62
-96
-86
-17
0
-63
-73
0
9
-23
-74
24
-10
-11
0
-33
44
-57
0
-31
-13
-17
-28
-15
0
-55
4
-10
-83
0
-23
-46
-32
-26
0
-103
-10
-43
-30
-32
0
-24
-30
-10
0
-12
-43
-32
8
-10
-41
0
8
-31
0
-60
-29
-20
-42
5
-5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-218
0
0
-10
-76
-43
-71
62
-15
-10
-173
0
17
0
-40
0
-99
-30
-8
-72
-54
0
-67
22
0
-20
-23
-43
107
-20
-18
0
-71
23
38
0
32
-46
-59
5
-45
0
-27
-69
33
-53
0
39
-57
24
-25
0
-188
-13
7
-62
2
0
6
12
-31
0
-67
76
23
-45
-82
4
0
-43
23
0
54
50
91
-11
-22
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
-47
0
-23
-39
-57
-22
-33
-106
-3
0
18
-76
0
-11
9
-35
-52
-9
14
0
-91
-4
-40
0
-3
-11
-32
-19
-37
0
-48
-91
-13
-37
0
-5
-44
-46
-6
0
52
-18
-44
-2
-44
0
-21
32
-78
0
-27
-127
-28
11
-34
-20
0
-30
-30
0
-41
-34
-20
-26
-18
-6
-50
0
-51
0
-6
-83
-136
-50
-26
-30
-57
28
-15
0
0
-37
-57
30
-52
13
19
-10
-31
0
34
0
-11
11
-41
-30
-70
4
-32
0
-31
-44
0
1
-45
4
-36
1
-19
0
-56
-1
-47
0
-9
-9
45
-9
-31
0
11
-67
-22
-93
0
-7
-17
42
-17
0
-59
-18
-31
-44
-11
0
26
25
-29
0
-15
-12
-22
-23
-3
-6
0
21
-17
0
-10
-87
-54
11
33
6
-17
0
-2
0
-24
28
31
15
16
32
24
-57
5
0
0
-28
-38
58
14
3
37
-2
20
0
-51
0
-23
-20
21
25
51
-86
8
0
3
-63
0
23
-26
28
10
-24
2
0
52
-86
9
0
-6
-7
28
-72
-23
0
-38
-97
-50
-32
0
-4
-32
53
-24
0
11
30
-57
-42
-45
0
32
-25
-36
0
-72
-86
-60
-25
-29
-34
0
11
-61
0
-85
-1
-70
-5
-32
-23
8
0
25
0
4
-45
-17
-11
1
-8
53
72
13
0
0
-5
36
12
-13
-14
12
27
-6
0
34
0
17
-21
-26
7
45
54
-7
0
-10
-18
0
27
9
-26
-56
-19
-11
0
-69
21
-22
0
14
-24
-46
-8
-19
0
-24
-18
-44
-46
0
0
28
4
-26
0
37
-52
-23
-32
5
0
-13
-24
-12
0
-12
-16
-2
-33
-57
-6
0
-10
-14
0
-17
-5
-9
-16
-57
-37
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
-39
-69
-9
-40
-27
-33
-6
5
0
0
16
-19
-27
5
-51
25
4
-3
0
26
0
-26
51
-58
17
-63
28
37
0
-6
-6
0
-10
-25
-1
18
1
-12
0
7
0
1
0
1
-6
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
5
-20
13
-78
2
-67
-10
-3
16
0
0
24
66
-46
-27
-24
4
-13
41
0
-41
0
25
-2
18
-1
20
-8
2
0
0
1
0
1
-21
20
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
-4
-14
39
27
11
40
5
18
34
0
0
12
-21
-6
32
-62
18
4
78
0
-30
0
-19
59
-10
-29
65
-41
51
0
0
2
0
-7
-24
-64
-11
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-13
36
39
-45
-54
8
23
-28
0
0
32
-5
72
-9
-45
76
15
-52
0
-14
0
-37
25
14
13
21
49
30
0
-4
-24
0
-18
-15
-25
8
51
54
0
1
0
-4
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
15
33
62
42
-73
10
17
-3
0
0
12
-11
-8
54
43
-53
-8
33
0
-15
0
-43
13
-15
92
-21
-34
47
0
2
-34
0
32
-4
21
7
-11
24
0
-5
31
-5
0
5
28
23
53
92
0
-7
29
8
-10
0
24
-3
-50
8
0
1
-10
3
65
2
0
13
31
5
0
-10
15
18
4
-20
-9
0
10
36
0
0
1
-48
-3
13
29
1
0
-12
0
10
14
-68
2
16
-19
61
-22
-16
0
0
31
29
-28
-4
-11
46
-13
-20
0
15
0
50
-13
-22
-7
25
-2
-20
0
5
0
0
31
7
-23
18
-11
41
0
10
-8
49
0
-17
-32
-9
6
46
0
-1
-6
-21
9
0
-25
-30
16
15
0
4
2
2
9
-9
0
5
-5
-23
0
-6
4
-4
21
-9
15
0
2
-6
0
-6
0
-1
-9
30
-15
-5
0
22
0
1
-1
8
12
-24
-7
-1
0
-16
0
0
8
0
6
6
-3
-8
0
-8
0
-3
0
10
-3
17
-9
0
6
-10
0
-34
22
0
8
-4
-33
19
10
7
0
29
-38
-6
0
7
21
-31
5
-4
0
6
5
22
-23
0
6
-6
5
-9
0
20
-33
30
25
-1
0
-16
-15
2
0
-44
-43
78
4
-5
-11
0
-9
2
0
-24
13
-6
6
-36
8
-21
0
-3
0
-12
17
-81
-96
8
-53
-63
-2
41
0
0
-36
4
-50
67
-66
-10
2
-20
0
-3
0
-49
15
3
28
33
-22
21
0
-41
-1
0
-16
23
33
-17
-71
18
0
-5
-18
-62
0
14
-46
52
12
25
0
-19
103
-53
-44
0
67
18
-44
-42
0
32
-11
42
4
18
0
15
-30
-15
0
76
-77
-60
56
-4
23
0
-11
-7
0
-53
2
-100
100
-59
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
-7
-14
-9
-11
-4
-2
0
-92
0
0
0
59
13
-15
-56
-22
12
0
0
-19
19
0
-9
-61
-37
64
-16
33
0
-29
-6
9
0
-34
-15
-6
-21
31
0
-28
-7
-29
50
0
25
-4
-27
-68
0
-1
-12
-3
-147
85
0
24
0
-75
0
-84
23
30
-32
-26
-17
0
16
-19
0
57
58
42
6
-53
34
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-4
0
-55
-7
-63
-8
-41
-26
-96
0
9
-61
0
46
3
7
-40
21
36
0
10
-30
-3
0
-26
-12
29
8
-18
0
-76
28
-43
28
0
-12
-29
3
-51
0
-56
-10
13
-55
-8
0
-48
13
-27
0
-7
-3
-20
-27
-5
-68
0
27
37
0
-72
-36
-14
-7
24
14
-33
0
-60
0
-8
-3
-27
-28
-101
40
-25
84
-7
0
0
-4
26
-9
-34
-13
-32
68
29
0
-38
0
5
-76
-40
-4
-9
11
48
0
-63
-1
0
-34
-20
18
22
-25
42
0
-25
4
-27
0
5
5
-95
31
49
0
-53
-52
11
-15
0
-41
24
-6
14
0
-108
-69
73
21
-10
0
-3
-12
15
0
21
14
2
-17
3
-30
0
1
24
0
-7
-4
38
-57
-18
-27
-15
0
12
0
-9
10
5
-30
0
77
5
-31
16
0
0
-54
-12
-3
43
37
-50
14
10
0
16
0
91
-49
-45
35
35
18
35
0
-40
5
0
-10
15
-12
21
-19
6
0
-5
-29
-2
0
36
2
-18
-40
6
0
-19
18
73
-79
0
-7
-39
44
33
0
36
-46
-63
11
-6
0
-24
38
-41
0
-14
27
-10
19
18
-81
0
-5
66
0
-5
25
7
15
-49
-54
2
0
-22
0
16
-19
-4
-23
0
3
36
-6
13
0
0
-27
36
-3
11
7
-57
21
5
0
-4
0
3
-27
-12
29
24
21
58
0
-4
5
0
-14
-10
-46
-30
-4
7
0
-2
-42
24
0
-7
1
-1
-8
16
0
-18
-30
-13
-20
0
26
10
0
-42
0
6
-19
-4
-26
23
0
38
-13
-33
0
39
-13
-21
31
21
5
0
11
1
0
-26
-8
22
32
18
-34
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-44
-4
0
0
-4
-39
-1
0
0
-18
40
8
-5
0
5
15
-7
5
1
-21
-4
-1
-4
0
-38
-14
37
-9
-26
1
-6
-6
-1
4
9
0
-6
7
16
8
-12
-1
3
2
28
-13
4
0
0
-19
-3
0
-1
-1
-11
29
-18
-5
0
-24
43
0
9
1
-15
-16
19
4
-7
3
-6
-1
-41
8
2
43
29
17
5
-3
-6
-24
2
-73
-2
-56
-31
-15
-2
30
-23
3
-1
0
-25
30
7
-3
0
39
25
7
2
0
-8
3
0
9
0
7
-6
0
7
-16
7
-31
-10
21
1
-45
-9
16
55
8
-36
-32
-32
-8
-2
-37
-10
-31
6
20
0
0
0
0
0
1
-1
5
0
0
-1
-23
0
-1
0
-2
1
-51
-1
0
5
11
5
-6
-2
-10
-12
23
3
24
8
11
12
7
-28
-3
1
4
-1
3
37
8
5
2
1
5
6
-2
0
0
1
-24
2
0
0
-5
-38
17
3
0
13
7
-9
3
-2
42
26
7
13
6
19
6
28
-1
-32
6
0
5
21
17
3
-4
2
-10
-13
4
-24
-4
10
4
26
6
-2
0
0
19
-30
6
0
0
23
-52
-22
-4
0
-22
30
-33
2
0
-43
10
3
18
16
-32
9
22
-24
-7
11
-3
-9
11
56
-21
0
2
-23
2
-4
-11
-3
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
-1
28
-4
13
23
-25
-18
23
-3
-3
-6
26
14
-2
11
1
54
-30
-4
-3
0
-3
0
0
0
1
5
6
0
0
1
1
4
0
0
-3
-1
11
-6
0
-20
-13
11
13
3
-77
42
-25
-7
15
-1
9
0
-34
32
24
6
3
0
14
38
12
8
-10
-3
0
-3
0
0
0
2
3
6
0
0
0
0
1
0
0
-13
-10
29
-8
0
38
-3
10
-8
3
18
15
0
-4
-14
-13
4
6
6
19
13
0
6
-7
5
21
7
2
-4
3
0
0
0
0
0
0
0
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
-13
-21
-12
0
39
33
-1
-22
0
-4
50
-32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
2
0
20
14
-6
61
12
73
3
-6
3
-25
50
12
13
1
-6
68
63
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-2
50
9
10
0
-4
15
21
2
37
12
9
-8
-16
-23
22
3
-4
0
-2
53
2
-3
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
47
-4
-3
0
44
-7
13
-7
0
-62
4
-10
23
16
8
-56
-65
-146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-19
22
28
-10
22
-25
0
-40
-53
16
-11
-20
-28
-14
-19
-57
24
-61
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-2
-2
2
0
0
-22
20
-6
0
0
0
-18
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-8
-12
0
2
-53
-49
-42
-2
29
-28
2
44
-28
-9
-6
-21
9
-2
27
-5
4
-29
37
-9
-3
-13
-21
-12
0
3
-8
6
13
10
2
2
6
1
4
11
1
3
-1
-63
40
35
-24
-8
-45
43
9
-20
-46
10
6
20
-23
-35
3
-27
-11
4
-36
1
-6
23
11
-18
14
-19
-3
-14
-4
3
0
5
5
16
-16
-7
-8
7
1
4
-19
-10
-6
-12
27
-12
40
16
-10
-10
41
15
-10
-50
-1
-17
5
-31
-6
15
-2
16
12
-41
20
-14
-1
8
-23
-10
-17
-14
8
-1
0
-3
9
5
17
-45
-27
-15
-5
-6
-29
-27
-7
-8
8
15
-27
16
0
0
-5
-19
23
-14
1
-1
-40
25
-25
2
25
28
-7
-11
35
-35
-16
34
21
-14
55
6
18
-4
11
12
5
5
-9
-7
8
1
-1
-3
-5
-58
-28
-6
9
3
21
-40
1
-12
-1
10
-81
-13
-15
-1
-20
21
5
14
27
4
18
12
7
24
39
8
-23
-1
-27
14
10
-19
5
-7
1
6
-4
-2
-9
15
0
1
-4
-4
6
1
3
4
7
-63
2
2
-21
-1
34
-64
16
20
5
3
14
-8
17
18
-39
16
-7
6
28
3
15
24
23
-2
-5
17
-2
4
-20
-2
11
2
6
4
5
1
4
2
-15
23
5
6
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
8
-4
3
-6
1
6
29
14
-33
43
5
-14
6
-9
2
28
11
4
14
2
-4
31
25
11
0
-5
0
0
0
4
1
11
-17
0
35
16
26
12
0
11
94
41
-21
18
-5
-10
32
71
10
9
-3
17
21
-18
9
1
-3
-5
29
16
2
5
7
-3
24
21
3
-3
7
0
-12
1
0
0
-62
-2
-40
-22
5
91
-14
36
-45
-2
22
-45
-6
-47
48
27
-18
-6
-11
29
65
3
5
22
7
0
6
-10
-9
1
29
6
9
-1
-2
15
19
-1
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-16
0
0
64
24
-7
6
0
-35
57
39
35
0
1
36
76
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
2
-2
43
4
12
10
50
64
20
39
32
58
32
10
-20
-24
1
-8
8
2
-5
-1
24
-16
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
52
-17
-16
1
-42
0
44
-19
27
-7
7
-4
-27
-27
2
3
-10
-14
-4
22
8
-1
-3
-12
6
15
-13
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-27
32
-66
45
4
31
-7
-34
5
17
-42
-6
13
0
17
21
5
-33
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
-3
13
18
-31
113
24
-33
-54
1
-103
44
-37
-10
-20
-4
46
-40
-41
10
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
-4
-12
0
0
-81
-14
-28
21
0
0
-8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-32
-14
39
17
-10
-5
-2
37
-8
-5
13
-1
18
-38
14
9
-8
-55
-33
-4
-7
-6
-2
22
8
-12
-20
-33
2
-6
13
-3
2
4
2
3
-4
-16
1
10
-19
-8
3
-30
-62
-40
-46
-24
21
-29
21
6
43
-127
-15
23
29
-2
-62
-7
-10
1
-9
-16
-25
-14
-7
-16
-17
-14
-14
5
0
8
11
-11
17
8
12
-9
-7
-7
-2
23
0
-30
-9
-1
-7
12
-34
-54
-4
27
-20
11
-4
4
-89
-9
27
2
-10
-55
-9
14
19
-22
-32
-4
18
-14
0
15
23
-1
-7
7
13
-8
-21
1
16
-2
-3
-2
2
1
23
-3
-12
-16
-4
-17
1
45
22
2
0
-4
-12
11
2
5
-2
-9
36
-45
10
-9
-10
3
-16
50
20
1
42
-14
-25
10
43
14
-1
-30
30
35
5
-12
-17
-35
5
-14
14
8
10
-18
8
3
-17
0
-36
9
16
-20
5
-17
-6
2
24
12
32
49
8
14
37
5
-9
-22
-15
23
25
13
-23
2
45
-2
4
1
-26
2
-13
-5
5
-2
2
3
8
-2
-8
4
-16
0
-4
-31
-15
31
16
18
-24
-11
-6
18
27
15
1
12
49
30
31
-20
6
5
-3
0
-5
-2
10
-14
-34
-36
-6
7
-11
-23
5
7
-3
-3
9
6
2
5
9
0
30
-5
8
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-10
0
0
-19
38
12
-2
1
-25
59
-21
-34
63
-23
-24
20
15
31
-20
16
4
43
2
5
0
44
44
0
-6
0
0
0
4
8
-14
4
0
26
13
0
-7
5
3
59
62
-21
1
20
7
12
11
-32
33
-1
-1
-13
-22
-18
23
0
-7
-22
14
5
-10
-1
-4
28
-27
-1
20
17
0
-7
1
0
0
-11
7
-23
6
3
68
-31
-5
-90
-2
-12
-58
-24
-64
7
18
-8
-12
15
12
24
2
-3
12
-27
0
-2
3
-11
-1
15
7
-7
-9
4
3
15
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
9
29
48
0
-53
41
-12
11
0
2
33
147
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-2
15
36
41
10
9
4
18
21
25
7
-32
31
19
-21
26
-1
12
35
-17
-7
122
3
4
48
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
34
-3
-5
1
6
30
57
6
63
66
-34
53
-23
-31
48
-43
0
7
-23
17
-12
-4
-5
-24
-1
27
-2
8
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-13
27
-18
30
4
14
-29
-7
87
9
-70
1
3
9
17
1
24
53
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
35
-20
-36
91
27
-25
-31
9
46
-15
-45
10
8
21
45
-17
56
97
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
-3
-1
0
-41
-12
-10
4
0
0
-8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
-4
11
2
1
-9
5
-3
7
12
25
-3
0
-10
12
-1
27
-24
-6
-50
-26
17
1
20
16
-12
9
18
-16
-18
-4
-14
17
4
-70
14
-10
4
-30
-48
-6
-17
-26
27
18
14
-13
-8
2
28
-14
13
-9
-35
-10
5
9
-29
-9
-9
-33
14
19
8
2
-21
16
-2
4
33
-19
-2
-7
27
-14
-16
1
-12
3
-26
12
-23
-22
-31
-10
-25
-8
-23
0
11
14
-20
3
2
19
-24
11
-40
-27
4
20
25
-11
-14
26
-17
-9
-5
4
-9
7
6
-10
-2
7
-33
12
11
33
-13
-11
-4
9
-6
-4
12
-8
2
-11
21
-12
1
1
-46
0
0
0
0
0
0
0
0
5
0
0
-1
0
-4
0
1
-13
-18
3
-5
-9
29
-15
-49
9
-4
-10
-11
23
-6
24
27
17
-14
-2
-49
-14
47
43
18
95
7
22
13
-29
0
0
1
0
-2
0
0
0
10
5
4
0
-2
-2
1
16
20
17
-13
-1
-60
-19
5
19
21
-79
14
18
-20
-4
-1
13
-2
-4
22
-21
-3
22
37
0
21
5
-8
23
8
0
1
1
0
-1
6
-1
-4
30
4
-5
-4
-2
7
15
9
19
25
6
9
-24
7
15
18
30
-35
3
-45
-12
-28
3
2
-8
-15
43
3
7
8
29
-1
7
30
4
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
-3
-2
-3
18
5
-36
29
-4
2
-55
15
-44
4
0
11
6
20
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
-11
7
0
5
0
-41
-19
0
16
-27
-16
-13
-15
14
-10
12
8
-12
51
-3
10
-24
-1
115
4
8
-31
18
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-6
-1
-1
-1
-2
8
0
3
-6
-53
13
11
5
-23
-12
3
8
42
-4
6
11
-21
24
8
10
-20
-12
84
-7
-7
-18
30
0
0
0
0
0
0
0
0
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
3
0
0
8
6
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
2
0
12
0
11
-22
-6
4
-14
-21
0
8
62
30
-33
20
-10
22
7
37
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
13
-6
6
6
29
1
-5
-36
-20
-8
-12
-32
-8
13
-22
5
-51
28
-8
-15
16
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
2
0
0
-8
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
0
-5
2
-3
3
2
3
-2
-14
3
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-30
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
13
0
44
0
-6
0
0
0
2
0
0
0
1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
17
0
-44
0
0
0
1
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-47
0
5
0
-6
0
-41
0
1
0
7
0
0
0
-5
0
-12
0
16
0
0
0
0
0
0
0
0
0
0
0
-11
0
7
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
37
0
-18
0
-9
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-69
0
69
0
12
0
-5
0
-23
0
1
0
0
0
34
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
5
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-29
0
6
0
-10
0
0
0
1
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
32
1
-17
0
0
0
34
0
1
0
0
0
0
0
-46
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
-6
0
-29
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
23
0
-5
0
0
0
-2
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
0
2
0
0
0
8
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
12
0
100
0
-67
0
-6
0
8
0
18
0
6
0
0
0
3
0
2
0
-42
0
0
0
4
0
0
0
0
0
-2
0
2
0
32
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
39
0
8
0
53
0
0
0
2
0
-1
0
-1
0
5
0
31
0
7
-1
7
0
0
0
-4
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-115
0
-73
1
-89
0
-105
0
-44
0
2
0
48
0
0
0
-24
0
10
0
-21
0
-7
0
-5
0
-2
0
3
0
0
0
1
0
-13
0
-4
0
0
0
1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
64
0
-7
0
-1
0
-1
0
-42
0
0
0
6
0
9
0
76
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-21
0
-9
0
100
0
20
0
-18
0
1
0
2
0
0
0
-27
0
-24
0
-7
0
48
0
15
0
0
0
0
0
0
0
-6
0
51
0
-17
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
5
4
47
0
-7
0
-29
0
2
0
12
0
0
0
0
0
-1
0
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-96
1
-65
-2
-60
0
7
0
57
0
-4
0
-18
0
0
3
-52
0
-42
-2
-42
0
1
0
18
0
0
0
0
0
0
0
17
0
3
0
7
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
13
0
40
0
0
0
83
0
0
0
0
0
0
0
48
0
-4
0
-3
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
45
0
20
0
-21
0
2
0
1
0
-7
-1
-14
0
0
0
-3
0
8
0
23
0
0
0
-1
0
0
0
1
0
24
0
13
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
24
0
-55
0
0
0
-25
0
-2
0
-8
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
38
1
-16
0
-50
0
-17
0
-55
-2
-89
0
8
0
-12
0
-8
0
7
0
-48
0
27
0
0
0
-4
0
0
0
5
0
-2
0
-13
0
-7
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-58
-1
-55
0
-29
0
-6
0
-20
0
8
0
0
0
-7
0
0
0
-26
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
26
0
25
0
60
-1
1
0
28
-1
6
0
-8
-1
-9
0
-13
0
4
0
-8
0
-5
0
-3
0
-3
0
0
0
0
0
-3
0
52
0
3
0
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
3
-3
56
0
10
0
-14
0
10
0
-8
0
-10
0
0
0
0
0
-22
0
-5
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-60
-17
-101
5
20
1
-25
-2
-34
-4
40
-3
18
0
0
0
-7
0
35
0
-97
0
0
0
-13
0
2
0
0
0
0
0
-57
0
-41
0
26
0
0
0
-41
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
-47
-2
-24
6
-73
2
3
1
-47
0
14
0
0
0
0
0
-7
0
15
0
32
0
0
0
-3
0
0
0
0
0
0
0
-48
0
2
0
-2
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-19
11
9
9
65
50
0
23
3
60
1
45
7
38
0
3
0
143
-4
99
3
55
0
-12
0
77
0
57
0
18
0
-81
0
101
0
36
-5
67
0
-25
0
-10
0
3
0
-13
0
-2
0
15
0
-33
0
22
0
3
0
1
0
0
0
0
0
27
-22
61
-1
1
5
30
0
-4
0
71
0
8
0
0
0
-47
0
65
-1
4
0
51
0
-3
0
22
0
-2
0
-1
0
10
0
168
0
43
0
-46
0
-2
0
-2
0
2
0
0
0
-3
0
-10
0
-6
0
10
0
0
0
0
0
0
0
0
-9
-153
77
22
-112
5
-53
15
-23
-34
-13
-64
25
5
8
29
-8
-29
17
29
-41
35
14
-71
0
-5
0
42
-1
109
0
-3
2
-6
-1
34
8
98
8
-36
0
-32
0
-5
0
94
0
0
0
-9
0
-31
-2
1
0
-1
0
0
0
0
0
0
0
0
-5
-31
-6
43
-59
24
-25
-116
0
1
0
-43
8
36
0
-2
1
-50
0
-3
15
101
0
-14
0
-28
0
5
0
36
0
0
0
-84
-2
19
-1
-4
0
-19
0
-20
0
4
0
0
0
0
0
-32
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
-105
42
31
98
65
27
143
19
-38
2
24
-2
84
0
-16
-9
-30
17
60
7
76
2
5
0
116
0
-82
0
65
0
2
-14
-29
2
-1
-2
35
8
-24
0
-7
0
-5
0
-18
0
0
0
-78
0
-23
0
15
0
0
0
-10
0
-1
0
0
0
0
6
-42
-39
74
-13
3
-62
52
5
-1
-1
19
2
28
0
7
0
35
1
72
0
-29
0
2
0
6
0
0
0
0
0
0
0
-32
5
83
0
-9
0
-20
0
-8
0
-5
0
0
0
0
0
14
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
-136
-25
-45
51
1
143
63
20
0
29
-2
70
-30
-50
0
-1
12
-28
-40
-102
-13
-67
0
1
-5
91
0
-24
0
0
0
0
23
-9
-34
-11
-11
-71
0
-12
0
-36
0
5
0
25
0
0
-9
31
0
-10
0
31
0
0
0
-4
0
0
0
0
0
0
46
33
28
-45
-39
43
9
-43
3
29
0
-58
0
-1
0
0
36
81
-3
0
-3
31
0
0
4
-71
0
0
0
1
0
0
-31
-15
1
33
0
24
0
0
0
-33
0
0
0
0
0
0
0
12
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
17
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-10
0
21
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-46
0
-13
0
1
0
-1
0
-6
0
0
0
0
0
4
0
-40
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
15
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
9
0
17
-1
58
0
-5
0
28
0
-8
0
1
0
-10
0
-22
0
-2
0
-10
0
-2
0
0
0
0
0
0
0
13
0
17
0
-7
0
-9
0
2
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
16
0
-13
0
-40
0
1
0
-22
0
3
0
-12
0
10
0
5
0
-35
0
3
0
0
0
0
0
0
0
0
0
-27
0
45
0
-8
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-22
0
4
1
45
0
-22
0
-90
0
6
0
-6
0
0
0
30
0
-73
0
25
0
0
0
0
0
0
0
0
0
0
0
61
0
61
0
-23
0
13
0
5
0
0
0
0
0
0
0
-6
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
-11
0
-14
0
64
0
27
0
-5
0
0
0
8
0
0
0
-18
0
-3
0
24
0
0
0
0
0
0
0
0
0
0
0
-59
0
10
0
-77
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
-50
0
79
0
34
0
-14
0
-66
0
98
0
2
0
45
0
33
0
30
0
1
0
6
0
4
0
0
0
0
0
-44
-3
-70
0
-21
0
-30
0
2
0
0
0
0
0
0
0
38
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-44
0
110
0
6
0
31
0
36
0
0
0
0
0
10
0
21
0
-8
0
0
0
0
0
0
0
0
0
0
0
-93
0
70
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
2
71
-5
40
0
0
0
28
0
6
0
-1
0
0
0
-112
0
13
0
-3
0
1
0
0
0
0
0
0
0
0
0
23
0
-4
0
-88
0
0
0
13
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
28
0
-17
0
2
0
-6
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
43
0
-9
0
-20
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-33
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
107
0
7
0
5
0
0
0
-8
0
0
0
-1
0
10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
29
0
6
0
24
0
0
0
-3
0
24
0
0
0
0
0
-7
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-3
0
72
0
-25
0
15
0
7
0
-2
0
0
0
24
0
12
0
-75
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
1
0
2
0
0
0
-23
0
0
0
0
0
0
0
-34
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
107
-2
45
5
78
0
9
0
17
0
2
0
52
0
22
0
-43
0
26
0
28
0
-13
0
27
0
13
0
-6
0
12
0
-24
0
121
0
-3
0
0
0
0
0
-9
0
0
0
0
0
-23
0
1
0
-4
0
0
0
0
0
0
0
0
0
50
0
4
-1
-5
0
15
0
-43
0
101
0
-44
0
24
0
40
0
4
0
56
-4
4
0
0
0
-3
0
0
0
0
0
2
0
1
0
44
0
13
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
45
6
61
10
-31
5
-41
0
-60
0
48
0
-36
0
-15
0
18
0
25
3
-59
2
6
0
-11
0
-21
0
58
0
0
0
-5
0
-41
0
-74
0
-5
0
3
0
0
0
-8
0
0
0
38
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
-36
0
-26
-14
-30
0
-30
0
21
0
0
0
-33
0
3
-1
20
0
-8
0
186
0
6
0
-103
0
-1
0
-2
0
0
0
-96
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
1
-83
-21
14
-6
15
27
-13
0
-27
0
-42
0
5
0
13
0
16
0
-29
0
-23
0
73
0
36
0
8
0
1
0
0
0
37
1
75
0
-15
0
7
0
0
0
-2
0
0
0
0
0
85
0
85
0
6
0
0
0
0
0
0
0
0
0
0
-1
-18
-16
-1
-12
-34
0
66
0
84
0
14
0
69
0
0
4
77
0
97
-8
-2
0
-1
0
-17
0
0
0
0
0
0
0
-36
0
-10
0
-2
0
0
0
5
0
0
0
0
0
0
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-46
-26
57
18
-13
50
1
-23
-4
56
0
-22
0
26
0
3
20
18
-1
30
14
-72
0
-6
0
25
0
1
0
-5
0
0
0
-88
0
-29
0
-29
0
0
0
-1
0
0
0
0
0
0
0
-21
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
-67
-46
-8
12
13
-17
0
-45
1
117
0
3
0
-20
0
0
-4
51
0
-31
10
38
0
0
0
-4
0
0
0
0
0
0
0
103
0
14
0
-40
0
0
0
3
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
0
62
0
-8
18
-85
0
2
0
-90
0
72
-14
-72
0
-34
0
64
0
94
3
60
0
5
0
10
0
2
0
11
0
24
0
3
0
-84
0
-78
0
6
0
0
0
7
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
51
-2
15
18
-238
0
12
0
-6
0
26
8
-4
0
-15
0
58
0
8
0
-142
0
0
0
-3
0
3
0
0
0
-1
0
-14
0
-17
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-1
34
19
-11
-2
-44
0
-48
-4
-24
-10
-13
0
-11
0
-94
0
-70
0
-42
0
-98
0
46
0
13
0
5
0
3
0
-90
0
41
0
-49
0
-27
0
21
0
4
0
70
0
0
0
-59
0
3
0
-23
0
0
0
0
0
0
0
0
0
0
-2
-91
0
86
-84
-78
8
21
0
2
0
-59
-1
-21
0
36
0
87
0
-52
8
10
0
-4
0
-31
0
-2
0
30
0
0
0
-77
0
-48
0
43
0
-3
0
-2
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-65
-29
0
-26
-41
1
0
-93
-28
-83
0
55
-4
33
0
32
11
-41
0
-28
0
-48
0
-89
0
-72
0
13
0
0
0
-99
0
45
0
-6
0
-11
0
29
0
-8
0
0
0
0
0
-9
0
15
0
3
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-12
0
-87
52
-7
-2
-34
19
-16
-1
56
0
0
0
-21
-1
10
0
28
0
-7
0
-2
0
-8
0
0
0
0
0
-9
0
8
0
-32
0
8
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-66
-109
-15
-84
11
56
0
-18
-4
-21
-6
-35
66
3
0
-1
35
-20
49
0
-36
-25
0
3
10
0
39
0
46
0
0
-2
-55
-1
-38
-2
21
0
15
0
16
0
-4
0
16
0
0
0
48
0
-8
0
-5
0
0
0
13
0
0
0
0
0
0
-62
-1
-18
-34
44
26
-3
15
91
-10
-12
97
1
61
0
-1
1
64
0
32
0
-33
0
0
0
-17
0
0
0
-9
0
0
0
-86
4
9
0
10
0
0
0
18
0
0
0
0
0
0
0
150
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-45
-174
-14
6
4
-12
-64
16
0
-143
21
-22
-25
-20
-8
-26
0
-96
-30
68
-8
51
2
-15
0
-15
-1
-3
0
14
-8
72
0
-131
44
5
5
-46
-21
22
0
-140
0
-36
0
53
0
37
0
-29
-1
117
0
62
-3
58
0
-5
0
4
0
-5
0
4
-10
-144
64
30
-80
-28
-42
24
0
-118
-4
27
-11
56
-23
93
-1
-101
-54
38
-24
-42
-16
76
0
-68
0
84
0
-33
0
10
0
-6
13
98
7
36
27
89
0
-32
0
41
0
33
0
2
0
-79
0
62
0
-42
0
85
0
0
0
-4
0
0
0
0
-27
-42
48
27
-105
7
-70
29
-32
-55
-74
38
-100
-16
38
-28
-45
-65
20
96
-76
7
27
-82
4
-89
0
32
36
31
0
5
-63
-31
0
86
-69
-18
26
102
0
-2
0
7
-9
53
0
2
-3
-4
0
-1
-62
-67
0
-76
0
-17
0
5
0
7
0
0
13
-43
-111
54
-148
-8
-16
9
45
-44
-55
34
29
18
8
-61
11
49
-5
37
-121
-25
0
-78
-1
-13
0
84
-1
140
0
0
-39
-70
-6
-13
-2
15
-4
-38
0
-93
0
-8
0
25
0
0
-2
22
0
-31
5
-4
0
-2
0
-1
0
0
0
0
0
0
-21
-54
-91
-6
36
20
-20
52
38
-36
-114
-68
-56
0
49
7
-60
-47
-51
13
54
-1
-28
69
2
-25
42
10
0
51
0
-16
-24
-102
-89
-5
-56
-53
21
-69
3
-50
-1
-19
0
-30
0
2
-1
-36
10
90
0
1
0
-7
0
-54
0
-3
0
0
0
0
12
-41
1
8
37
36
-62
20
45
-43
-7
6
37
77
0
20
-17
39
3
115
-61
67
-37
11
0
9
0
48
0
-2
0
2
3
26
7
-33
0
20
4
111
-4
-3
0
86
0
7
0
0
0
61
1
35
0
-91
0
0
0
1
0
0
0
0
0
0
-103
-9
-109
16
-15
64
3
-21
-62
-7
-57
-3
-40
24
12
-33
-47
-12
-49
54
-21
-18
34
0
-62
-13
3
-37
2
-20
0
0
-58
-2
-72
59
-2
-6
15
-19
-19
58
0
71
2
-12
0
0
14
79
-7
44
-12
6
0
0
0
12
0
0
0
0
0
0
-84
-27
-3
30
-76
59
28
-89
-39
27
5
7
-32
9
0
0
-20
34
-13
-67
15
7
0
-51
14
-10
0
-5
0
-24
0
0
-59
39
8
67
51
93
0
8
3
5
0
0
0
3
0
0
0
55
-1
-45
0
91
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
3
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-23
0
-5
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
8
0
3
0
-1
0
-6
0
0
0
0
0
4
0
-34
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
44
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-46
0
10
0
0
0
-3
0
0
0
0
0
0
0
18
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
84
0
-16
-1
5
0
-4
0
30
0
-3
0
-1
0
-3
0
-25
0
-41
0
4
0
-2
0
0
0
0
0
0
0
11
0
41
0
-35
0
-16
0
2
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-46
0
20
0
-41
0
1
0
-13
0
3
0
-12
0
13
0
4
0
-30
0
2
0
0
0
0
0
0
0
0
0
-41
0
-17
0
16
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
20
0
63
1
30
0
-22
0
-52
0
6
0
4
0
0
0
31
0
-42
0
-36
0
0
0
0
0
0
0
0
0
0
0
-8
0
-13
0
94
0
8
0
5
0
0
0
0
0
0
0
-6
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
-61
0
30
0
73
0
33
0
-2
0
0
0
10
0
0
0
-10
0
-3
0
24
0
0
0
0
0
0
0
0
0
0
0
-21
0
8
0
-29
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
29
0
10
0
-12
0
5
0
-22
0
113
0
2
0
-26
0
32
0
43
0
1
0
6
0
4
0
0
0
0
0
-11
-3
1
0
2
0
-48
0
2
0
0
0
0
0
0
0
41
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
-41
0
20
0
22
0
31
0
39
0
0
0
0
0
16
0
33
0
-8
0
0
0
0
0
0
0
0
0
0
0
-19
0
20
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-19
51
2
9
-6
-28
0
-4
0
27
0
25
0
-4
0
0
0
-86
0
-5
0
-1
0
1
0
0
0
0
0
0
0
0
0
15
0
20
0
-60
0
0
0
8
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
24
0
2
0
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
54
0
-7
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-56
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
85
0
17
0
5
0
0
0
-8
0
0
0
-1
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
56
0
7
0
25
0
0
0
-3
0
24
0
0
0
0
0
-5
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
22
0
77
0
-15
0
15
0
7
0
-5
0
0
0
75
0
6
0
-85
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
6
0
5
0
0
0
-16
0
0
0
0
0
0
0
-42
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
110
-2
93
6
30
0
-8
0
49
0
-40
0
-2
0
2
0
-39
0
54
0
-65
0
9
0
32
0
7
0
-6
0
14
0
-16
0
38
0
74
0
0
0
0
0
-9
0
0
0
0
0
-12
0
0
0
-4
0
0
0
0
0
0
0
0
0
92
0
-4
-1
43
0
72
0
-71
0
46
0
-48
0
1
0
6
0
18
0
-15
-4
50
0
0
0
-3
0
1
0
0
0
2
0
-5
0
21
0
16
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
14
6
10
15
9
8
-23
0
-70
0
59
0
-51
0
-19
0
18
0
-4
3
40
2
-17
0
-3
0
-18
0
79
0
0
0
-10
0
53
0
-14
0
-3
0
3
0
0
0
-8
0
0
0
41
0
-3
0
-15
0
0
0
0
0
0
0
0
0
0
0
37
0
-1
-19
40
0
-41
0
36
0
0
0
-4
0
3
-1
30
0
-26
0
98
0
6
0
8
0
-1
0
-3
0
0
0
-45
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
1
0
-67
6
-5
43
32
39
0
7
0
46
0
24
0
15
0
64
0
-20
0
88
0
18
0
9
0
20
0
0
0
0
0
21
1
64
0
-34
0
-7
0
0
0
-2
0
0
0
0
0
69
0
78
0
1
0
0
0
0
0
0
0
0
0
0
-1
-51
-42
-23
-12
-10
0
48
0
-53
0
29
0
74
0
0
4
56
0
154
-8
22
0
0
0
10
0
0
0
0
0
0
0
-94
0
-31
0
2
0
0
0
5
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-74
67
59
14
18
20
8
-21
-5
-7
0
-18
0
-7
0
3
10
-41
-3
97
18
-27
0
-5
0
13
0
2
0
-5
0
0
0
32
0
4
0
-44
0
0
0
6
0
0
0
0
0
0
0
-17
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
-124
58
-3
-20
19
-22
0
-57
1
95
0
5
0
-8
0
0
1
-2
0
-34
10
-12
0
0
0
-24
0
0
0
0
0
0
0
53
0
34
0
-31
0
0
0
3
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
16
0
-80
-5
18
0
-14
0
-10
0
64
-14
-50
0
-69
0
61
0
90
3
42
0
5
0
7
0
-24
0
3
0
22
0
34
0
-66
0
-48
0
6
0
0
0
5
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-38
0
-32
-2
22
18
-84
0
-29
0
68
0
53
8
-12
0
-14
0
16
0
5
0
-101
0
0
0
-3
0
3
0
0
0
-2
0
-8
0
-16
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-1
-4
13
-53
2
12
0
47
-4
7
-10
27
0
-119
0
-49
0
-42
0
-33
0
-28
0
35
0
18
0
-49
0
3
0
-27
0
77
0
-138
0
-68
0
23
0
4
0
39
0
0
0
-79
0
3
0
-27
0
0
0
0
0
0
0
0
0
0
-2
-61
0
-35
-58
-13
8
-4
0
-41
0
46
-2
-81
0
64
0
61
0
-27
8
124
0
-3
0
-38
0
-2
0
40
0
0
0
-38
0
-58
0
-15
0
-3
0
-2
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-46
28
0
-68
-54
-113
0
-4
-30
14
0
-26
-4
49
0
28
13
-23
0
-67
0
-33
0
-63
0
-67
0
10
0
0
0
-113
0
-40
0
27
0
-29
0
28
0
-7
0
0
0
0
0
-9
0
19
0
3
0
0
0
0
0
0
0
0
0
0
0
-16
34
-50
0
-56
16
-59
-2
-37
19
5
-1
87
0
-11
0
-50
-1
51
0
37
0
-6
0
-1
0
-8
0
0
0
0
0
-1
0
-27
0
-30
0
25
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
10
-96
62
-64
-31
42
-28
-41
-44
4
-81
-36
56
3
-2
0
-51
-24
-35
0
-38
-25
-1
3
-55
0
42
0
50
0
0
-4
29
-1
-19
-2
-33
0
14
0
114
0
-4
0
16
0
0
0
57
0
-8
0
-5
0
0
0
13
0
0
0
0
0
0
-48
-63
22
-120
55
24
-8
60
56
35
-12
91
1
24
0
-1
1
37
0
51
0
-66
0
0
0
1
0
0
0
-9
0
0
0
-21
4
-2
0
-39
0
0
0
8
0
0
0
0
0
0
0
102
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-48
-37
43
21
-106
23
-19
19
0
-65
26
-23
-25
19
14
27
0
-69
-44
-37
-9
15
1
14
0
-39
-1
-56
0
21
-8
-1
0
-129
37
-40
-6
-9
-28
-5
0
-31
0
41
0
83
0
-20
0
-40
-1
24
0
112
-3
9
0
-5
0
1
0
-5
0
4
-6
-67
18
0
-155
25
52
-36
0
-111
0
-96
-11
61
-13
-17
-1
-40
-41
51
-32
65
-43
85
0
-2
0
-49
0
-14
0
-1
0
-92
6
-10
8
-32
17
-16
0
-74
0
63
0
88
0
5
0
-46
0
68
0
4
0
44
0
0
0
-4
0
0
0
0
-129
6
-66
12
-10
4
11
20
-73
-11
-90
4
-167
-21
31
-12
3
2
52
-15
-106
-41
-26
28
6
-26
0
-7
68
-58
0
7
-31
16
-44
-31
-75
15
-11
61
0
18
0
30
-5
77
0
2
-3
83
0
30
-11
2
0
-46
0
-14
0
5
0
7
0
0
15
-13
-93
20
-14
-31
-51
-1
14
15
-51
11
-52
52
8
-92
-70
49
-20
28
-59
77
1
-62
-1
81
0
58
-1
145
0
0
-29
43
-1
-4
-65
20
-1
36
0
-1
0
0
0
18
0
0
-2
64
0
9
5
61
0
-2
0
-1
0
0
0
0
0
0
-5
-13
-8
18
-141
2
-12
-8
-15
-20
-35
-31
-46
4
1
-60
-22
-2
-83
28
-13
-23
-64
52
3
-5
37
105
0
14
0
24
-28
-39
33
-44
-45
72
72
-25
3
-93
-1
-26
0
-50
0
2
-1
-2
6
100
0
42
0
-40
0
-53
0
-3
0
0
0
0
-15
-8
-35
-5
27
23
-9
11
12
56
51
-89
8
31
0
63
-13
53
39
0
-75
70
-37
-7
0
38
0
50
0
-5
0
2
-7
40
-71
21
0
-46
4
-4
-4
-61
0
69
0
6
0
0
0
52
1
60
0
-33
0
0
0
1
0
0
0
0
0
0
-81
2
-67
5
-27
-19
-11
42
-129
10
-105
-25
43
21
8
-24
-92
-27
21
-28
4
-6
38
17
-68
-45
8
-35
2
-17
0
0
-104
-29
-18
-25
53
-31
18
28
-22
79
0
88
2
-15
0
0
-13
80
-10
-5
-8
-48
0
0
0
-2
0
0
0
0
0
0
-92
-5
-26
-25
-81
33
16
-166
-74
22
22
-45
-3
118
0
3
-15
31
-40
4
84
45
0
-21
5
61
0
-6
0
-19
0
0
-16
-24
52
1
75
41
0
28
4
82
0
1
0
3
0
0
4
-18
-1
-23
0
46
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
-4
0
-30
0
0
0
5
0
-4
0
0
0
-3
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-10
0
-5
0
-12
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-12
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
33
0
-8
0
-1
0
-8
0
0
0
4
0
0
0
7
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-18
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
-6
0
2
0
1
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
10
0
11
0
-13
0
13
0
-1
0
1
0
0
0
-8
0
-25
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
9
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
28
0
2
0
1
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-8
0
-6
0
0
0
10
0
3
0
6
0
0
0
-4
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
9
0
-7
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
0
2
0
10
0
1
0
-2
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
5
0
1
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
2
0
0
0
-1
0
0
0
-3
0
0
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-27
0
2
1
-44
0
-1
0
11
0
-10
0
-3
0
8
0
13
0
35
0
-40
0
-6
0
5
0
0
0
0
0
1
0
6
0
-4
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
9
0
53
0
67
1
15
0
-7
0
-1
0
7
0
0
0
-6
0
17
0
2
0
9
0
0
0
0
0
0
0
0
0
5
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
11
6
-62
4
16
0
6
0
19
0
1
0
-1
0
34
0
51
1
30
0
-41
0
-5
0
-1
0
1
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
12
-4
-24
0
15
0
6
0
0
0
5
0
0
0
11
0
-4
1
-17
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
-24
-1
-9
0
16
0
18
0
3
0
5
0
1
0
74
0
-48
0
1
0
5
0
-2
0
0
0
0
0
0
0
1
0
5
0
-2
0
0
0
1
0
0
0
0
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
40
0
-26
0
-8
0
-24
0
16
0
1
0
0
0
-16
0
17
0
-10
0
0
0
-1
0
0
0
0
0
0
0
-29
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
113
16
67
-6
-6
1
-6
0
-17
0
-12
0
1
0
0
1
73
0
0
0
-41
0
0
0
1
0
1
0
0
0
0
0
9
0
18
0
3
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
-19
-1
4
-1
-3
0
-1
0
28
0
0
0
0
0
0
4
9
0
-7
1
-13
0
0
0
-16
0
0
0
0
0
0
0
21
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
44
0
-8
0
61
0
-25
0
4
0
62
-1
-7
0
-8
0
31
0
5
0
-8
0
1
0
6
0
1
0
-4
0
-2
0
8
0
-7
0
6
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-12
0
-21
2
-26
0
6
0
14
0
25
0
-1
0
-1
0
-5
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
54
-1
1
1
-16
0
35
0
-14
1
43
0
-32
0
-5
0
-5
0
-12
0
-3
0
7
0
-1
0
0
0
8
0
2
0
6
0
-32
0
-3
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-49
0
-12
1
44
0
0
0
-14
0
5
0
-7
0
8
0
42
0
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
-5
36
0
-18
-7
24
0
-31
-7
8
0
-21
0
-3
0
13
0
-54
0
10
0
-6
0
-1
0
-2
0
1
0
0
0
1
0
-8
0
-5
0
-8
0
3
0
-3
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
23
0
5
0
15
0
19
6
-29
0
4
0
0
0
-5
0
4
0
3
0
0
0
-2
0
0
0
0
0
0
0
12
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
-2
43
-14
-68
4
50
-2
26
2
-7
-2
-15
0
-7
2
9
-4
-25
0
-19
0
1
-1
5
0
-2
0
3
0
0
0
43
0
3
0
-15
0
4
0
17
0
0
0
0
0
0
0
6
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
5
25
3
4
-3
-33
0
13
-1
-3
-1
-40
0
-8
0
0
0
3
1
-25
0
-17
0
0
0
3
0
0
0
0
0
0
0
-21
0
3
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
34
-40
-26
6
5
-55
0
15
-7
-38
3
24
-2
7
0
23
-8
-67
6
15
-8
-23
0
-92
0
3
0
11
0
7
0
-25
3
54
-1
-12
8
47
0
7
0
4
0
-1
0
7
0
-30
0
45
0
2
0
0
0
0
0
0
0
0
0
0
-2
37
5
0
-2
68
-60
42
0
-22
0
31
0
1
0
-6
0
-47
-1
27
1
31
4
6
0
17
0
2
0
-4
0
0
0
7
0
-28
0
18
0
-16
0
-1
0
1
0
-1
0
0
0
-4
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
23
64
-3
-20
-67
-17
11
101
-25
40
-30
-2
-57
45
2
7
12
30
4
-42
-2
-46
-32
10
2
29
0
2
0
46
0
2
0
-6
22
-55
-25
37
-1
0
0
-16
0
-5
0
-26
0
0
0
-3
0
0
0
53
0
0
0
-1
0
0
0
0
0
0
-12
-20
4
-112
62
8
-39
54
8
-5
-6
-33
-17
-44
0
-10
-9
-7
0
-6
-2
34
0
-4
0
46
0
-1
-1
15
0
0
-6
-73
0
15
-2
1
-2
23
0
-19
0
-1
0
1
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
-52
-42
-9
-51
18
6
8
-13
-2
1
49
5
-10
14
14
-2
-21
-17
41
13
40
12
22
0
55
8
-6
0
-7
0
0
13
-120
3
12
-3
24
1
29
0
-41
0
-14
0
2
0
2
0
35
2
12
0
-9
0
-2
0
0
0
0
0
0
0
0
2
-21
3
2
43
-38
21
-1
2
95
-1
-13
2
46
0
29
7
27
-5
-101
-8
-28
0
-20
0
8
0
8
0
0
0
0
-6
-40
9
-6
0
-11
1
-3
0
-19
0
-3
0
-1
0
0
1
-8
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-54
30
2
12
39
2
50
57
-64
-65
-38
21
-13
57
1
4
-33
-12
52
-80
-41
-34
12
20
-6
-24
0
-5
0
6
0
0
-27
-14
-9
-52
21
21
1
-13
1
-47
0
1
2
-1
0
0
17
-22
0
24
0
-5
0
0
0
0
0
0
0
0
0
0
-34
20
-49
55
-9
-28
-18
-2
-3
-36
18
19
-16
40
0
1
14
23
-3
-38
2
48
0
3
-2
13
0
-1
0
0
0
0
3
2
0
-21
13
55
0
0
0
-1
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
185
182
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
219
121
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
224
152
-24
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
179
-52
10
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
211
-5
16
8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
141
-53
-4
-34
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
221
111
-31
13
116
86
-10
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
171
154
58
32
41
86
6
28
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
85
-2
84
6
60
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
146
75
102
140
39
65
0
100
100
-130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
171
8
29
0
52
0
118
-3
41
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
166
-6
24
64
87
-54
33
43
-22
-33
65
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
123
0
37
0
23
0
50
0
-8
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
121
43
39
138
52
144
-20
16
-16
-113
-47
42
7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
0
45
16
71
5
-76
-32
19
18
-57
-6
-25
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
148
59
65
4
91
-55
-68
59
31
-62
27
-12
-68
44
-100
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
0
-40
6
29
0
-10
0
9
0
25
0
23
0
12
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
232
80
112
50
143
-44
1
54
88
19
66
-42
12
-5
-28
3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
154
0
-18
0
116
0
22
0
32
0
30
0
49
0
-22
0
56
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
151
110
144
81
82
-43
-23
18
45
2
64
-67
-3
-35
-16
-2
-14
-6
-85
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
0
57
0
78
0
71
0
27
0
-6
0
-5
0
-25
0
-7
0
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
126
78
13
57
45
19
66
50
31
6
28
48
74
-8
-1
5
70
0
53
-12
-43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
203
0
23
-1
69
0
54
3
7
0
60
0
129
0
56
10
47
0
6
0
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
156
1
85
64
93
-27
-46
64
-27
64
58
88
64
48
75
15
51
-48
89
-18
61
-4
34
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
68
0
8
0
52
0
32
0
88
0
41
0
-1
0
0
0
40
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
57
23
19
51
-40
-17
15
13
38
0
83
-25
49
-9
-4
-6
49
1
-15
-13
-24
1
-4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
122
0
22
0
90
0
113
0
54
0
0
0
64
0
33
0
62
0
52
0
-24
0
-19
0
46
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
71
8
11
2
44
5
98
4
-9
29
-40
-89
88
-2
25
-11
71
-22
-25
-34
-18
-6
40
15
9
-10
19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
38
0
15
0
-65
0
25
0
13
0
9
0
2
0
42
0
-3
0
30
0
-4
0
12
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
97
19
78
24
10
3
37
-7
29
-9
-7
-7
11
-6
10
-5
-21
1
13
-18
-8
-2
-8
-19
49
0
24
-1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
38
128
-72
80
13
-10
-123
72
-11
-87
-72
-9
-71
0
3
245
5
0
-90
-1
-74
0
-13
20
-108
0
-49
0
3
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
248
158
33
2
-13
-23
-3
5
-6
99
-58
-36
-118
-80
14
-101
46
28
-17
-19
-26
-43
2
-48
-105
20
114
-44
-152
5
-6
-65
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
163
0
52
3
73
0
-79
192
-30
1
-26
0
114
0
64
0
41
0
-30
0
76
0
-1
0
59
0
1
0
19
0
44
76
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
206
172
140
106
121
125
48
34
107
67
-30
0
32
24
-49
-80
27
-34
2
20
73
14
-18
-51
-23
33
72
-46
-34
-50
-23
-7
74
83
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
140
-12
83
89
29
0
-19
4
98
1
25
0
-11
0
23
0
17
0
41
0
72
0
-22
0
45
0
50
0
17
0
17
23
77
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
260
40
204
59
114
-20
18
17
13
-120
2
39
-26
43
89
-20
90
-20
73
13
110
-13
-7
-23
-59
28
-14
13
-36
30
-5
52
129
-7
47
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
0
-47
0
52
0
-2
-7
54
0
0
0
-17
0
7
0
77
0
-16
0
-1
0
51
0
17
0
8
0
6
0
3
0
32
0
50
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
154
49
36
160
90
-54
85
0
48
-3
32
-47
-53
16
54
9
116
-23
94
-69
9
41
-30
-47
26
2
-41
13
3
3
-27
29
33
-18
5
37
-21
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
202
44
56
51
96
-1
38
100
26
0
50
-5
40
0
-16
31
-1
0
7
0
23
0
9
-1
95
0
6
0
-13
0
10
140
36
24
-48
-21
119
-19
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
175
81
76
56
49
26
104
57
94
27
32
-27
-35
-43
-27
94
43
-43
104
-36
41
5
54
78
95
-12
37
-15
9
-6
-32
172
153
20
-178
43
63
28
-39
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
16
0
42
0
-17
0
12
0
0
0
62
0
65
0
120
0
7
0
-12
0
-19
0
10
0
0
0
6
0
0
3
65
0
82
0
-29
0
24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
113
3
51
18
54
40
-89
-6
94
-17
30
25
41
14
38
-52
51
-41
-4
-54
139
1
27
8
-18
8
22
8
-16
0
-33
0
54
-5
-56
-46
-38
-13
50
-5
-91
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
0
-30
0
144
0
34
0
82
0
46
0
31
0
5
0
102
0
-3
0
79
0
18
0
90
0
-13
0
36
0
1
0
57
0
13
1
48
0
26
0
-22
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
122
26
67
76
101
38
74
41
45
-73
26
29
-21
24
144
8
-30
21
52
11
57
10
-21
-35
39
20
24
-9
22
-4
-10
10
11
53
125
-4
-11
-66
70
46
16
-5
-66
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
1
0
3
0
46
0
4
0
24
0
-3
0
-1
0
4
0
15
0
-1
0
17
0
-4
0
-1
0
2
0
36
0
30
0
52
0
3
0
-41
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
74
4
41
-22
49
-8
51
-4
-44
19
79
58
-18
-19
-15
23
-28
25
58
1
33
2
4
-1
2
13
4
-22
6
0
13
-31
-10
0
25
-2
39
-8
89
-15
44
1
12
-17
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
131
0
133
0
150
0
52
0
-33
0
20
0
19
0
11
0
76
0
12
0
15
0
16
0
57
0
-25
0
29
0
8
-3
-45
0
-20
0
-22
0
0
0
2
0
9
0
-7
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
167
-29
106
57
131
57
82
59
-4
19
89
7
37
-52
3
-42
46
-16
56
27
77
-5
58
-47
21
-6
12
16
5
0
-5
10
89
13
-22
-28
-29
-16
-11
72
12
-6
-6
-5
89
25
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
3
0
45
0
8
0
74
0
5
0
48
0
8
0
3
0
0
0
3
0
0
0
-8
0
1
0
14
0
1
0
23
0
0
0
23
0
3
0
100
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
46
24
-1
-1
26
1
45
25
45
-1
27
-18
32
30
-32
6
25
2
13
-5
-22
-6
7
5
22
0
1
-8
33
0
-10
42
77
0
-15
0
-43
0
22
10
1
1
25
0
-5
0
18
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
-9
0
34
0
-13
0
48
0
47
0
19
0
31
0
5
0
0
0
3
0
2
0
41
0
-7
0
52
0
4
0
33
0
20
0
99
0
-12
0
-1
0
22
0
-25
0
-14
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
131
-4
51
44
128
28
11
11
95
14
-64
23
103
3
-40
38
79
10
-13
-46
-8
-1
6
-13
22
-20
41
7
33
8
24
20
73
7
-28
29
46
2
33
-75
43
14
11
10
75
12
3
-43
-102
1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-5
0
25
0
1
0
7
0
0
0
2
0
0
0
-14
0
0
0
12
0
0
0
5
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
-33
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
48
3
-17
-5
27
5
16
-25
-16
-1
28
-16
4
0
4
14
14
5
-6
4
-13
0
9
14
7
0
-1
1
2
-1
-1
12
-10
0
16
4
5
0
-10
10
14
-1
9
0
27
0
-3
12
42
0
4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
10
0
55
0
-46
0
71
0
-8
0
-5
0
-5
0
57
0
1
0
-14
0
9
0
-2
0
0
0
12
0
5
0
-32
0
-12
0
41
0
30
0
17
0
-1
0
49
0
10
0
19
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
126
8
37
2
50
-13
6
-7
63
5
-14
-14
59
18
14
29
38
-1
-20
-33
44
7
-9
18
13
0
0
10
32
0
-6
-40
2
2
20
-60
74
13
-18
-73
12
1
34
-41
74
-1
7
36
81
0
22
-24
2
1
-25
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
25
0
0
0
6
0
0
0
-23
0
0
0
3
0
0
0
40
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
4
1
-1
5
30
-1
24
0
4
-7
29
0
-9
1
-10
0
1
-1
1
0
16
2
-12
0
1
0
10
0
13
-1
-10
0
14
-8
-10
-5
23
0
-12
0
0
1
1
0
0
0
22
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-16
0
-21
0
-5
0
-10
0
4
0
10
0
3
0
22
0
0
0
9
0
0
0
30
0
-1
0
6
0
-1
0
30
0
0
0
18
0
-2
0
25
0
0
0
10
0
0
0
-3
0
3
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-16
10
6
7
60
0
48
-3
-13
8
-8
2
33
0
16
7
51
27
3
-8
-1
0
-8
-6
14
-1
8
-6
27
0
1
0
17
-1
20
-13
-17
10
3
12
-6
2
6
-5
-5
1
-20
16
7
0
3
0
17
0
6
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
0
-14
-1
16
1
16
-1
7
1
10
3
-3
-1
-6
0
-1
0
16
0
-8
0
-2
0
-5
0
0
0
-6
0
0
-3
27
2
5
2
38
3
4
-1
-1
0
4
-1
-7
0
2
0
-29
0
0
1
0
0
-1
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
158
2
-55
-5
-34
0
-77
40
26
0
-2
-12
-54
0
-80
0
16
0
-53
2
-44
0
-8
0
-7
0
-24
0
23
0
-18
285
68
0
2
-1
-23
0
-51
-5
78
0
46
0
-6
0
-8
0
-48
0
-8
0
-22
0
-2
0
20
0
-18
0
30
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
193
182
80
72
108
102
-113
28
115
81
-11
20
44
17
48
-188
21
23
56
69
66
3
10
-115
41
-7
-24
-33
-127
42
-10
-72
165
78
25
94
53
-52
-14
-75
-6
-68
-114
-62
-49
-5
-84
-55
-31
16
-1
-7
-68
83
14
-5
-88
-94
-9
-93
-22
-73
14
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181
0
73
0
76
0
-5
0
16
0
25
0
7
0
-45
0
53
0
0
0
22
0
15
0
-17
0
-2
0
-9
0
-13
0
129
0
93
0
41
0
-21
0
0
0
-7
0
46
0
1
0
70
0
0
0
8
0
2
0
-9
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
175
19
97
-1
120
9
69
44
37
14
38
49
22
24
-6
43
-7
12
70
-22
76
-8
60
48
-34
-4
6
-7
-48
0
-23
157
89
48
-25
102
23
-27
-51
26
-29
6
6
8
-49
-5
0
-19
-21
0
-20
-60
18
0
3
-17
-70
0
2
-20
6
0
-3
66
32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
213
1
52
0
123
14
-15
-4
-2
0
35
0
-66
0
14
0
-47
0
-55
0
-6
0
-3
0
-26
0
33
0
-10
0
-1
-1
129
0
77
0
97
0
-42
-19
1
0
-32
0
-27
0
-30
0
-155
0
47
0
-13
0
-8
0
13
0
-6
0
-30
0
-2
0
9
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
151
94
52
69
85
-75
29
70
61
-53
29
-6
2
38
79
57
79
21
-4
-91
14
13
7
44
45
-72
-24
24
-19
8
24
106
100
9
9
135
10
-9
-11
109
57
-55
7
-5
1
-29
-45
1
37
-5
11
40
0
1
3
-8
-40
-9
32
5
19
-1
6
79
19
-81
41
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
-22
0
61
0
-7
0
45
0
20
0
-38
0
0
0
44
0
2
0
-4
0
3
0
6
0
-1
0
0
0
0
0
1
0
1
0
101
0
-5
0
26
0
-2
0
9
0
-10
0
23
0
0
0
-6
0
0
0
-19
0
0
0
1
0
0
0
-62
0
1
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
150
11
70
108
27
-8
20
0
121
24
69
28
-29
49
38
7
81
-6
58
16
13
2
-46
22
-11
-3
-23
2
7
-2
-14
45
61
-56
116
41
21
5
28
7
-10
-4
7
13
9
1
-22
23
-12
-2
8
6
-10
0
-10
48
41
0
10
-7
-41
0
-23
12
25
0
20
-25
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
-2
0
19
0
45
0
36
0
34
0
-12
0
28
2
-52
0
21
0
-32
0
25
0
21
0
6
0
-8
0
5
0
82
0
7
0
-7
0
18
0
40
0
4
0
1
0
-13
0
97
0
-8
0
-21
0
-1
0
49
0
6
0
-6
0
0
0
-49
0
-4
0
24
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
137
152
1
37
3
78
-44
88
33
36
68
-1
35
2
5
-19
50
84
-50
77
41
35
-20
69
-5
46
-8
10
12
-78
-18
-16
75
97
-15
127
77
48
-9
-72
-39
144
-22
-68
24
20
-3
-17
55
29
12
75
12
-39
5
-30
3
17
-6
-10
-3
19
0
19
-53
27
-25
92
-4
34
3
-25
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
-5
0
-8
0
0
0
-23
0
4
0
10
0
0
0
19
0
5
0
0
0
0
0
-19
0
0
0
31
0
1
0
3
0
-3
0
50
0
2
0
-9
0
-1
0
9
0
1
0
12
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
42
0
66
43
42
1
11
-17
5
2
25
7
-13
-3
-34
-14
16
1
-10
-4
8
3
2
-18
-13
0
2
-9
-47
1
2
7
72
0
12
34
57
-2
51
12
14
-3
5
-8
3
-3
-22
7
19
0
-4
-3
13
-5
-2
8
0
0
3
0
-5
0
2
2
-5
0
-5
-3
-15
-2
34
-5
44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
58
0
89
0
-1
0
-8
0
18
0
-20
0
18
0
12
0
0
0
5
0
2
0
31
0
7
0
4
0
1
0
69
0
-3
0
46
0
3
0
43
0
12
0
-1
0
-2
0
15
0
5
0
-10
0
-1
0
20
0
-1
0
7
0
0
0
5
0
3
0
23
0
-10
0
22
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
12
15
43
-4
-10
23
45
-3
-61
-16
22
-9
-93
9
15
-9
81
0
13
-3
8
-17
-66
-7
33
-14
7
-6
-25
1
7
-2
68
-23
127
-8
-8
6
73
-48
-28
43
23
-8
-16
12
2
54
-3
15
48
2
29
6
34
8
27
0
12
-1
-25
0
-3
12
-7
0
41
14
45
-3
65
-13
50
2
-20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
13
0
-3
0
17
0
0
0
2
0
0
0
-7
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
14
0
0
0
10
0
0
0
13
0
-3
0
-5
0
0
0
6
0
-1
0
2
0
0
0
8
0
0
0
0
0
0
0
5
0
9
0
12
0
-8
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
-1
41
24
-6
1
13
25
12
0
-1
7
5
0
12
2
-6
12
-41
9
-20
8
0
17
-13
-3
16
-4
-7
0
-8
-1
-4
-1
60
33
-34
0
8
10
20
0
2
-9
-23
0
19
-1
27
-1
22
1
5
0
-4
-24
19
0
-4
3
-1
0
0
1
30
0
-2
0
1
5
13
0
-8
0
-8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
-24
0
18
0
5
0
-18
0
38
0
-16
0
-58
0
3
0
0
0
24
0
0
0
-74
0
0
0
-34
0
-9
0
19
0
-3
0
83
0
23
0
9
0
0
0
19
0
-19
0
-16
0
0
0
0
0
0
0
25
0
0
0
-17
0
1
0
23
0
1
0
6
0
-10
0
42
0
-2
0
-20
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
146
71
26
-20
102
32
77
31
108
16
30
-21
59
-8
-27
-5
41
-4
40
-4
-43
-7
-28
-17
37
-1
-70
-19
-5
-1
29
10
65
6
-31
29
-34
0
-5
23
41
7
22
-24
5
-54
13
-20
-3
-1
-25
-19
8
1
22
-24
-40
3
7
5
3
0
-29
50
-20
4
70
4
49
2
93
27
69
1
41
-5
-8
-2
36
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
0
4
0
-7
0
1
0
29
0
14
0
0
0
0
0
0
0
-1
0
-1
0
0
0
1
0
0
0
71
0
-2
0
42
0
0
0
-2
0
-1
0
-4
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
1
33
1
25
12
14
-13
48
0
10
-6
40
0
-17
-1
-7
0
3
12
-23
0
-1
1
34
0
-1
-3
16
0
-3
4
66
-2
-33
2
-26
-3
-12
7
4
0
-8
-2
17
0
-20
0
3
0
13
-5
-3
0
0
0
-1
0
0
-2
-14
0
0
0
-22
0
7
1
56
0
2
10
-14
0
-13
0
10
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
8
0
-13
0
-2
0
0
0
16
0
18
0
4
0
-6
0
0
0
24
0
0
0
5
0
1
0
-2
0
0
0
34
0
-9
0
18
0
9
0
-24
0
3
0
5
0
-3
0
53
0
0
0
3
0
-1
0
4
0
0
0
-5
0
0
0
3
0
10
0
-17
0
3
0
-47
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
20
68
40
9
25
-19
15
27
-7
2
-2
32
9
-5
17
-14
-4
10
2
-2
0
9
8
-5
-22
-2
1
5
0
8
6
21
13
21
13
25
3
6
5
6
-13
-8
-27
-51
-6
16
14
52
0
-17
3
-8
0
-25
19
-66
-3
32
0
-8
0
0
22
43
4
-8
-2
27
5
4
5
21
0
10
5
-6
0
-22
1
43
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
0
0
0
8
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
2
0
0
0
-1
0
2
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-6
0
1
0
14
-16
15
1
12
2
41
0
9
4
-8
0
-4
0
-12
0
0
4
3
0
-7
-1
-18
0
0
-4
17
-3
27
0
22
0
-7
9
16
0
-8
-14
5
0
20
3
22
0
-6
0
-7
0
0
-1
18
0
-1
0
1
0
0
1
24
3
4
0
8
0
-6
0
-12
0
3
0
-25
0
0
0
-12
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
20
0
-15
0
1
0
0
0
2
0
20
0
-1
0
-1
0
8
0
-1
0
2
0
0
0
7
0
-1
0
25
0
2
0
19
0
-8
0
41
0
0
0
8
0
4
0
15
0
0
0
-6
0
1
0
2
0
0
0
-1
0
0
0
10
0
-12
0
13
0
1
0
3
0
0
0
-1
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
40
-2
-31
5
22
4
8
16
36
2
15
6
-27
0
13
-1
-34
5
0
-1
-8
1
-14
-4
9
0
2
0
6
0
4
-5
-42
6
7
-8
-33
16
19
-5
65
0
-1
6
9
-1
16
30
18
3
16
-8
41
0
-2
-3
15
0
0
-1
-15
0
0
-1
70
-1
36
-5
58
2
5
-5
30
0
0
1
3
1
-49
2
-16
0
-1
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
-40
0
2
0
8
0
0
0
10
0
0
-1
8
0
5
0
-6
0
0
1
27
0
0
-3
1
0
0
0
3
0
0
0
-8
0
-5
0
-8
0
-1
0
-10
0
-6
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
27
0
-3
0
0
0
4
0
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
0
12
0
0
0
5
0
0
0
9
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
13
0
-5
0
3
0
3
0
-8
0
0
0
4
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
27
-31
-1
31
1
-34
18
-13
1
-12
1
-7
-5
-7
7
4
1
5
-5
2
0
2
13
12
0
2
2
-3
0
2
12
19
2
13
-1
34
-3
-2
33
8
0
-9
2
-3
0
-7
12
5
-6
-19
-6
-32
0
2
0
-20
0
2
0
8
0
0
-3
13
-1
5
2
8
-1
10
1
-24
0
3
0
20
0
-3
-1
24
0
6
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-10
0
6
0
-1
-3
16
0
0
2
2
0
0
0
-1
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
-4
16
-1
6
0
13
0
8
9
-1
0
0
0
3
0
0
0
-12
0
-3
0
7
0
0
0
-2
0
0
0
-1
0
0
0
6
0
-8
0
-2
0
0
1
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
139
0
17
2
66
0
22
3
115
0
42
0
27
0
-8
-1
103
0
54
0
25
0
-24
0
-31
0
-45
0
4
0
3
9
25
0
-6
5
12
0
0
5
47
0
-4
0
-29
0
0
0
88
0
0
0
1
0
0
0
54
0
0
0
3
0
0
-9
-47
0
4
0
32
0
1
0
-66
0
-2
0
-13
0
1
0
36
0
-1
0
-13
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
106
133
241
48
61
5
58
91
13
15
51
48
83
23
42
3
99
52
56
10
91
38
9
50
68
-2
-39
40
19
14
-8
97
27
31
60
0
34
24
27
-1
24
10
74
-46
20
9
30
-7
-10
4
-5
54
50
0
-1
-18
-3
-3
-9
-3
-25
0
-3
18
10
7
20
1
8
5
-32
-81
-13
4
-73
17
-45
0
-14
-94
-92
22
8
-25
-66
0
1
6
-4
0
0
2
1
0
-5
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-1
0
-12
0
-5
0
32
0
4
0
-15
0
-2
0
31
0
0
0
13
0
-1
0
13
0
0
0
47
0
8
0
-18
0
0
0
-4
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
-1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
0
58
12
-12
-4
67
41
-1
1
13
2
9
-2
6
-1
59
-8
-25
9
3
1
44
-4
39
2
2
29
-14
0
6
2
84
0
9
-1
6
-2
-34
-3
18
1
24
-3
20
2
2
-1
43
0
0
2
-34
0
-1
-1
25
0
-1
0
-7
0
1
-5
-5
0
78
1
-5
0
41
-1
-4
0
-1
4
-40
0
0
0
1
0
-2
2
-27
0
1
1
-5
0
0
0
-3
0
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
29
0
29
0
93
0
51
0
-12
0
43
0
-8
0
-18
0
-8
0
48
0
6
0
9
0
12
0
19
0
0
0
29
0
-2
0
-16
0
5
0
44
0
5
0
12
0
-1
0
10
0
4
0
1
0
0
0
9
0
1
0
2
0
0
0
-27
0
3
0
6
0
-2
0
-31
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
3
0
0
0
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
105
42
75
-19
72
-7
48
-28
15
-8
45
41
22
8
23
8
2
25
74
63
47
8
102
14
24
-8
-5
-17
-6
1
-3
1
-15
-29
3
49
120
4
68
-37
35
-7
28
-17
8
0
-17
4
64
-2
41
0
43
0
0
14
16
-5
23
3
-8
1
-4
1
34
13
42
-41
-18
-1
-44
-19
40
1
-67
8
-46
0
-14
6
-31
0
25
-3
-41
0
0
-7
-41
0
-9
-2
6
0
1
4
14
0
22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
1
0
0
0
3
0
-8
0
-3
0
30
0
0
0
4
0
1
0
6
0
6
0
9
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
0
2
0
2
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-28
1
29
4
43
1
13
-16
16
5
25
10
79
-2
42
-36
8
-1
17
20
9
1
-12
-23
-5
-1
15
14
13
0
0
0
48
-8
16
0
24
0
13
-3
-1
-1
-19
-1
23
0
2
1
34
0
41
2
27
0
0
0
-29
0
7
0
0
0
0
0
47
0
-3
-3
45
0
-16
0
-3
0
0
0
-17
0
-27
0
6
0
4
0
-2
0
4
-8
8
0
0
0
0
0
0
-1
1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-3
0
28
0
29
0
42
0
-12
0
8
0
-13
0
-13
0
0
0
30
0
10
0
29
0
-1
0
-9
0
0
0
16
0
1
0
29
0
2
0
-7
0
0
0
8
0
0
0
31
0
0
0
3
0
0
0
2
0
0
0
-1
0
0
0
6
0
0
0
-25
0
1
0
0
0
0
0
-5
0
9
0
-8
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
35
7
43
6
32
10
23
31
53
1
13
5
5
16
-24
29
-7
-3
-6
-7
46
8
38
3
-10
5
-8
30
29
20
-3
-13
41
1
30
25
54
0
40
53
13
-3
9
-6
-5
0
18
18
8
-2
9
-6
38
0
-3
0
-6
0
-2
0
-24
0
0
10
5
0
-5
27
30
-4
-3
17
9
0
16
-7
-43
0
-14
-7
5
-1
-2
1
-47
0
1
-8
0
0
0
0
-33
0
0
-6
49
0
0
1
13
0
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
20
0
0
0
3
0
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
10
0
20
-1
8
0
-2
2
0
0
1
0
3
0
3
2
3
0
12
0
-4
0
0
0
2
0
0
0
-2
0
0
1
-3
0
31
0
0
0
0
-6
-1
0
2
0
-2
0
0
0
-8
0
3
0
7
0
0
0
0
0
0
0
24
0
3
1
7
0
-12
0
3
0
0
0
10
0
0
0
-10
0
0
0
-14
0
0
-1
-3
0
0
0
0
0
0
0
-3
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
4
0
4
0
1
0
5
0
0
0
8
0
-18
0
-2
0
3
0
24
0
0
0
2
0
0
0
16
0
1
0
1
0
0
0
4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
9
0
1
0
25
0
0
0
4
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
-2
14
-23
-23
3
-6
-1
41
0
8
1
-21
0
-8
-10
68
2
1
15
40
1
2
-15
21
-1
17
3
27
0
-5
5
76
0
14
2
36
0
-14
5
20
0
6
-3
-20
0
-1
5
12
2
3
0
-14
0
-3
-6
-14
0
-1
1
16
0
0
0
-12
1
0
-5
27
2
-4
-9
9
0
13
0
-25
0
-2
-3
5
-1
8
4
-29
0
3
0
-9
0
0
0
7
0
0
0
4
0
-1
0
-6
0
0
7
-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
1
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
-1
7
0
0
0
2
0
0
0
-3
0
2
19
7
0
5
-1
-5
0
0
0
-5
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
-1
-13
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
-17
0
0
0
4
0
1
-5
15
0
0
0
2
0
0
0
25
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
-7
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
16
0
-1
0
16
0
3
0
33
0
7
0
20
0
0
0
42
0
0
0
22
0
0
0
0
0
0
0
21
0
0
0
-33
0
1
0
-5
0
0
0
-8
0
0
0
-1
0
0
0
6
0
1
0
0
0
0
0
-5
0
0
0
32
0
0
0
1
0
0
0
12
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-36
0
29
1
25
0
29
1
9
-6
12
3
-13
6
-29
7
12
0
10
8
-40
0
24
-18
-13
0
3
0
3
0
8
4
5
4
19
12
-4
-2
22
-18
26
-6
-3
1
0
2
0
0
-1
0
0
2
14
0
-29
-10
8
-1
0
0
0
0
0
0
-10
0
-6
0
-21
1
17
-9
-14
0
6
-2
43
0
5
3
-2
0
0
0
22
0
1
1
6
5
0
0
-1
0
0
22
27
0
4
0
-16
0
3
0
17
0
0
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
42
0
0
2
-1
0
0
3
3
0
0
-3
7
0
0
1
17
0
1
0
-4
0
0
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-48
0
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
1
0
-2
0
0
0
0
0
8
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
12
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
8
1
20
0
9
8
12
1
25
0
-19
1
-20
-4
3
0
-1
0
8
0
0
-1
12
0
-3
-1
-6
0
2
6
12
1
15
0
1
0
1
6
27
0
1
0
3
0
5
1
-1
0
-2
0
4
0
-1
3
-8
0
1
0
-1
0
0
-5
5
0
8
0
4
0
-2
-2
-14
0
-6
0
12
0
1
2
-5
0
0
0
-2
0
0
-1
-1
0
0
0
-2
0
0
0
8
0
0
0
0
0
1
0
8
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
0
0
0
2
0
0
-1
1
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
1
0
1
0
0
0
17
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-42
0
-1
0
-5
0
-2
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
0
-4
12
8
0
-3
-2
2
-1
0
1
16
0
5
0
2
0
0
29
12
0
5
0
17
0
0
0
-2
0
0
1
3
0
0
0
-8
0
-7
0
10
0
0
0
1
0
0
0
-4
0
0
0
-9
0
0
0
9
0
0
0
0
0
0
1
17
0
0
0
8
0
-2
-1
29
0
0
0
-8
0
0
4
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
16
0
5
0
-1
2
-7
0
0
0
2
0
-1
-2
-3
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
1
-2
0
-2
0
1
0
5
0
-8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
2
0
0
-1
12
0
-2
1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
155
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
39
1
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
86
-14
-65
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
62
0
25
-2
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
186
163
134
44
51
82
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
48
7
-104
28
-32
-1
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
100
-42
-30
22
20
-7
-67
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
169
0
-55
2
90
0
19
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
161
179
3
57
49
24
-17
25
42
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
73
0
-15
14
33
0
-13
0
-11
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181
142
82
37
138
77
25
29
63
79
23
22
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
53
0
28
0
37
0
39
0
31
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157
160
76
28
29
91
-2
59
6
56
-92
1
74
-29
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
76
0
10
-8
-44
4
-77
9
-46
7
-130
0
-44
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157
118
-56
-4
26
6
-67
-34
49
10
69
-34
-14
-35
-22
10
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
206
0
13
1
48
0
2
0
3
0
16
0
7
0
-57
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164
162
12
41
123
68
-75
32
203
89
-109
73
-3
-20
1
-25
117
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
110
0
14
0
113
0
-49
0
-13
0
38
0
15
0
-3
-7
43
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
157
63
44
173
95
35
-7
82
55
35
11
-42
9
-85
-94
69
47
42
-69
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
0
18
0
59
0
24
0
-14
0
18
0
6
0
-36
0
23
0
10
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
220
179
64
89
50
100
73
79
112
61
99
-15
3
59
37
25
148
44
-43
62
49
-20
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
0
61
-2
82
0
-25
-4
-26
0
83
0
43
0
18
12
83
0
-15
-4
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
261
153
78
2
129
76
123
56
48
79
-13
56
-11
63
34
29
-2
34
47
76
66
-4
31
19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
25
0
81
0
65
0
26
0
89
0
87
0
107
0
14
0
21
0
112
0
-19
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
155
79
53
10
18
-13
124
35
156
16
77
25
20
-14
-32
-25
53
41
71
-14
33
14
-33
-56
60
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
240
0
34
0
99
0
114
0
107
0
27
0
36
0
74
0
39
0
-35
0
57
0
-24
0
80
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
153
38
66
89
165
62
21
53
104
73
15
65
14
23
-19
-8
46
7
10
-20
-55
51
51
-35
-43
-18
6
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
74
0
59
0
13
0
67
0
29
0
92
0
50
0
57
0
10
0
76
0
32
0
3
0
12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
117
0
61
26
124
39
26
15
82
-11
68
90
30
20
-40
52
-4
47
-24
13
12
50
37
-8
6
-27
47
-72
1
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
43
5
38
1
-33
0
-41
18
36
-3
-12
-2
-107
0
-75
-15
-94
0
-151
0
-43
0
-96
8
-81
0
-120
0
-57
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
64
-13
-15
54
43
-33
-33
92
20
-58
-41
0
-33
17
-66
43
49
6
-137
-35
-41
-55
-68
-79
-45
25
-66
-83
-31
-15
37
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
136
0
29
4
-31
0
-65
0
34
0
39
0
-15
0
-14
0
-30
0
-22
0
-50
0
26
0
49
0
-12
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
155
17
-11
104
97
65
87
29
88
27
8
5
56
1
-8
-6
41
31
18
14
16
81
72
-43
18
76
-16
-73
-38
-39
54
-10
6
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
104
0
128
-12
36
0
-3
8
35
0
-14
0
-20
0
48
0
85
0
38
0
-18
0
-81
0
-13
0
16
0
27
0
-1
6
47
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
155
30
-1
94
48
129
35
100
100
76
11
36
46
-17
-33
128
86
34
68
46
28
10
54
17
17
-82
-23
-14
-18
-13
100
76
20
-32
10
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
62
0
90
0
70
-2
136
0
1
0
56
0
-4
0
154
0
-11
0
-25
0
98
0
4
0
-28
0
27
0
-4
0
42
0
-9
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
81
162
66
148
31
49
50
109
58
-14
23
13
79
-67
86
85
94
-7
72
26
27
28
79
-10
35
56
-46
-63
-18
-27
11
52
47
-8
34
19
46
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
173
1
-31
-20
49
0
-16
-12
-34
0
129
-1
51
0
96
18
28
0
-54
1
16
0
0
-2
89
0
33
0
55
0
25
36
72
-10
-48
-11
-39
-4
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
232
168
42
55
122
106
62
62
66
62
4
37
7
1
72
16
126
106
-84
22
59
74
11
29
-47
24
-80
81
22
37
6
27
43
29
50
56
61
13
63
-2
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
14
0
44
0
-12
0
163
0
-12
0
64
0
55
0
62
0
28
0
42
0
-3
0
42
0
20
0
60
0
-7
0
-1
0
20
0
-32
0
-1
0
-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
163
206
-8
47
112
90
77
15
73
68
-64
103
10
25
16
-1
13
59
3
-26
63
37
31
9
-12
-60
42
-21
-27
48
-54
24
115
99
-4
22
-14
1
-27
126
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
0
40
0
56
0
61
0
63
0
85
0
-40
0
35
0
115
0
-14
0
69
0
23
0
13
0
-45
0
-25
0
49
0
30
0
-2
0
74
0
52
0
-6
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
250
205
38
42
154
104
87
21
78
31
18
43
2
36
41
-7
114
114
84
72
11
49
-2
68
50
-7
40
37
-7
-49
-99
35
89
97
74
-81
68
66
-98
52
-50
4
-32
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
14
0
23
0
19
0
78
0
-1
0
-22
0
5
0
-39
0
40
0
44
0
31
0
35
0
17
0
-25
0
-24
0
62
0
48
0
88
0
-5
0
-47
0
-1
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
161
72
54
60
57
-45
67
108
62
-2
58
-4
18
-29
105
4
-22
85
39
42
-1
20
1
80
47
-32
62
-97
-93
-21
-33
-21
-30
-17
-55
-25
110
-8
72
-39
20
-2
21
-15
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
105
0
63
0
27
0
64
0
89
0
6
0
59
0
31
0
29
0
0
0
-9
0
12
0
105
0
-52
0
84
0
29
0
129
0
0
0
-36
0
-71
0
-10
0
35
0
24
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
152
99
36
99
73
73
39
46
120
130
84
131
69
-41
43
53
126
0
102
64
99
-71
20
55
19
-35
5
57
-49
21
106
237
51
90
50
-38
62
18
74
78
-37
26
83
32
70
5
6
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
0
4
0
74
0
-5
0
84
0
-6
0
74
0
-24
0
30
0
-1
0
116
0
-1
0
57
0
5
0
50
0
-13
0
12
0
0
0
10
0
3
0
65
0
0
0
-38
0
-10
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
254
7
70
32
48
41
22
103
96
-14
-21
32
-4
44
28
-39
29
-1
33
87
6
-5
38
-2
-81
-2
5
14
22
16
-20
51
115
0
10
-4
-56
-3
-43
4
-84
4
21
21
-55
-1
42
7
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
2
0
98
0
38
0
130
0
23
0
93
0
124
0
-4
0
67
0
-31
0
-42
0
122
0
2
0
138
0
-28
0
-39
0
33
0
139
0
-6
0
5
0
4
0
-7
0
-24
0
-68
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
188
-23
48
93
211
131
60
130
117
16
13
-38
22
117
-47
24
127
50
3
-80
96
35
10
-2
21
-38
69
40
21
-6
52
68
118
35
30
19
65
1
81
-62
24
-37
48
-13
-80
33
27
23
-20
-42
52
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
0
-1
0
47
0
30
0
48
0
54
0
-23
0
6
0
-24
0
20
0
-6
0
0
0
82
0
8
0
-40
0
10
0
-17
0
0
0
-8
0
0
0
-13
0
1
0
64
0
-2
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
143
8
28
77
81
21
17
37
-8
8
30
9
49
6
1
90
28
23
36
91
59
-20
65
66
-3
-24
2
36
30
4
-8
-21
59
0
27
8
-37
0
-34
15
-79
-6
-53
3
142
0
-116
29
-47
6
1
-18
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
0
83
0
69
0
-23
0
130
0
15
0
52
0
69
0
83
0
44
0
81
0
81
0
8
0
74
0
68
0
66
0
128
0
-54
0
88
0
93
0
68
0
22
0
121
0
61
0
31
0
-21
0
-10
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
143
25
78
8
105
110
102
98
151
10
-68
-12
14
87
143
86
116
18
-13
10
43
-10
102
24
14
-8
104
-9
5
6
12
45
163
24
-50
8
109
-26
33
-14
16
8
-22
-40
45
58
-8
41
68
22
108
-41
28
8
19
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
2
0
26
0
41
0
-11
0
-1
0
34
0
4
0
35
0
-3
0
30
0
-22
0
21
0
0
0
27
0
-4
0
41
0
0
0
29
0
-1
0
30
0
0
0
-18
0
0
0
-15
0
2
0
-9
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
95
4
90
84
92
42
80
65
-5
2
95
89
-4
8
-5
19
-43
-7
73
71
39
30
59
22
22
0
20
-54
19
5
-12
-13
45
0
-8
-7
84
-15
139
41
-153
0
-8
5
3
0
-5
10
-23
0
40
3
-90
0
-36
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
52
0
65
0
28
0
102
0
28
0
57
0
20
0
128
0
11
0
78
0
-1
0
68
0
27
0
7
0
-33
0
61
0
22
0
11
0
30
0
42
0
8
0
38
0
1
0
82
0
7
0
13
0
5
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
166
109
24
-15
0
-55
25
-38
-29
73
39
76
109
28
34
91
-30
56
66
94
53
67
24
14
-5
-17
46
38
70
49
-36
59
4
-38
74
16
-123
29
19
-19
-15
-22
-9
1
25
13
-5
-27
0
10
52
-1
13
-18
33
0
0
9
53
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
5
0
68
0
-16
0
74
0
0
0
8
0
3
0
21
0
4
0
-10
0
8
0
7
0
0
0
-44
0
2
0
3
0
0
0
-17
0
-1
0
23
0
0
0
1
0
0
0
-23
0
-1
0
-24
0
0
0
29
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
56
-8
7
-46
54
5
25
14
26
5
23
7
40
-12
-76
6
-52
-1
128
45
-23
4
121
50
2
23
20
23
29
2
8
16
46
2
65
12
24
4
25
14
1
4
48
-32
40
-3
-57
39
-88
0
-36
-5
38
0
-54
-36
66
-2
-14
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
61
0
-48
-1
38
0
0
-1
25
0
-65
-2
-37
0
-48
0
23
0
-47
0
2
0
-54
0
-19
0
-60
0
-64
0
-46
16
-31
0
-75
0
-32
0
-64
-3
-57
0
5
0
-59
0
47
0
-14
0
-59
0
-32
0
-12
0
-64
0
-75
0
21
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
131
5
4
-20
16
-17
-34
157
51
-104
-52
26
-13
-26
-13
109
72
-32
-22
62
-52
36
-75
71
-44
-73
-11
-75
-53
-21
-101
47
46
54
-26
11
42
86
-83
-2
11
-165
-34
-125
-71
-90
-85
-32
-44
2
-33
-98
-82
48
-97
-57
-65
-31
-16
-65
-163
-16
-104
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
0
51
0
122
0
120
0
89
0
13
0
15
0
38
0
60
0
-3
0
19
0
17
0
-92
0
-41
0
72
0
6
0
142
0
48
0
47
0
-5
0
10
0
-13
0
-27
0
-16
0
57
0
-2
0
36
0
5
0
4
0
0
0
45
0
-7
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
165
22
159
125
105
67
123
44
154
10
12
81
97
24
33
-90
119
-2
16
80
49
-30
49
51
50
-4
-58
-84
30
4
10
136
97
34
51
72
18
13
-127
-21
33
8
-66
7
-34
-6
-30
16
22
0
33
-82
11
-2
-15
-30
-135
3
-9
13
-26
1
69
159
63
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
103
0
4
0
37
13
-24
0
32
0
37
0
16
0
-37
0
61
0
-24
0
-1
0
65
0
33
0
-37
0
-19
0
-14
0
74
0
60
-2
167
0
-3
-6
13
0
-77
0
38
0
48
0
-67
0
-53
0
-30
0
-36
0
91
0
-39
0
-38
0
-19
0
61
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
173
67
20
134
89
-17
35
128
119
46
16
99
17
102
5
119
82
10
-23
39
18
69
-45
-35
54
14
-51
-55
-82
44
22
48
111
58
40
83
54
4
-17
9
4
-50
3
-82
-84
-51
-75
30
57
-124
-27
7
30
-6
-10
-9
-56
-25
40
-72
-37
-18
-15
73
24
-29
88
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
0
-7
0
52
0
21
0
39
0
6
0
-8
0
5
0
-11
0
-1
0
88
0
23
0
-23
0
58
0
-5
0
12
0
-61
0
-3
0
55
0
-17
0
93
0
-6
0
-12
0
-15
0
51
0
0
0
-30
0
0
0
-24
0
1
0
6
0
-4
0
-45
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
138
40
130
156
34
-13
16
10
62
0
41
-7
-31
43
82
91
126
4
46
91
14
5
8
-63
47
-50
-25
59
-33
-16
64
125
122
-36
9
8
-19
4
47
-5
51
-5
-22
34
-48
2
27
9
15
-24
64
32
-91
-3
-36
-33
-52
3
63
-7
-94
-4
-92
16
12
1
-15
-1
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
-9
0
78
0
24
0
-13
0
67
0
91
0
72
7
84
0
70
0
26
0
5
0
105
0
39
0
20
0
-47
0
82
0
21
0
12
0
8
0
-22
0
-44
0
0
0
-14
0
19
0
-9
0
25
0
-74
0
-7
0
25
0
-73
0
-15
0
80
0
-65
0
88
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
128
70
70
135
68
-84
-7
139
102
71
64
20
-5
1
5
78
95
70
4
46
3
22
60
54
48
-23
44
19
-6
-85
2
182
60
-5
70
27
24
6
4
-75
50
-62
-18
13
38
-27
17
18
-17
67
64
18
-6
58
-145
-27
-96
-15
47
64
-24
-33
-66
70
-4
-55
24
1
81
10
13
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
1
0
12
0
-3
0
32
0
4
0
-16
0
9
0
26
0
29
0
124
0
18
0
16
0
0
0
-64
0
-6
0
33
0
2
0
111
0
-4
0
50
0
2
0
-23
0
0
0
-62
0
1
0
10
0
0
0
18
0
1
0
-33
0
2
0
0
0
10
0
-6
0
-17
0
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
133
139
2
130
54
120
-8
57
-38
88
2
6
2
-60
-4
-64
-105
99
8
118
61
124
48
-82
12
0
2
-32
-66
101
12
-12
69
113
-3
-101
28
32
-5
-3
54
31
-4
43
-1
33
-9
-22
42
-11
-1
8
24
63
-48
-80
40
-18
-2
25
-23
-132
3
-1
9
-34
0
13
16
53
-1
15
-4
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
0
71
0
118
0
39
0
85
0
25
0
3
0
48
0
33
0
28
0
-17
0
13
0
14
0
6
0
78
0
30
0
16
0
59
0
96
0
-7
0
84
0
29
0
-17
0
1
0
148
0
44
0
26
0
-24
0
36
0
-23
0
58
0
-5
0
25
0
-4
0
-6
0
-17
0
-68
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
115
30
-19
110
84
33
136
36
93
-18
-33
18
33
4
46
112
73
87
28
35
72
-55
36
-4
59
-15
60
-20
-18
-12
-74
145
83
-76
114
24
-6
7
104
57
1
71
-3
-24
4
20
33
-12
-6
23
-95
-3
32
41
34
16
-83
-8
-56
-19
-96
-27
34
63
59
21
-52
66
41
-16
49
-44
-14
4
-10
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
1
0
49
0
-4
0
75
0
0
0
7
0
0
0
-1
0
5
0
-3
0
0
0
18
0
3
0
38
0
0
0
78
0
-3
0
8
0
-1
0
52
0
-14
0
13
0
1
0
-1
0
-8
0
-7
0
-1
0
5
0
1
0
1
0
0
0
5
0
0
0
3
0
-7
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
107
1
57
46
67
4
41
111
62
16
50
29
-17
2
-32
-23
64
18
-5
85
-23
-8
61
18
39
5
-51
-12
-17
-5
-9
61
87
-5
56
75
-43
-2
76
20
143
16
-13
-26
-35
0
39
17
-1
-3
-10
-22
-72
0
7
-90
16
-2
-77
22
54
0
45
14
93
-3
58
0
39
17
19
-1
-31
0
-30
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
79
0
33
0
41
-1
63
0
-2
0
-38
0
-77
0
43
0
4
0
-12
0
47
0
-43
0
13
0
8
0
20
0
20
0
19
0
82
0
86
0
28
0
20
0
31
0
13
0
-15
0
16
0
-21
0
-67
0
45
0
-9
0
3
0
22
0
-20
0
-1
0
-41
0
-5
0
-80
0
-24
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
188
89
153
40
144
54
46
75
101
36
2
10
39
-13
51
113
88
-31
-30
37
43
-41
-77
28
26
-66
-98
37
61
7
-65
166
120
94
22
-2
-59
-37
105
128
25
26
75
46
-20
-57
-11
17
68
-20
-68
2
26
16
123
-53
-58
-2
-56
-51
-9
-32
-40
55
10
13
-12
6
74
-24
2
48
22
2
101
-33
13
-7
-70
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
10
0
25
0
1
0
88
0
8
0
123
0
8
0
-22
0
-2
0
14
0
-5
0
38
0
0
0
-23
0
16
0
79
0
-12
0
60
0
-4
0
-19
0
-2
0
53
0
8
0
-7
0
-5
0
-5
0
5
0
-22
0
0
0
40
0
0
0
2
0
0
0
0
0
0
0
7
0
2
0
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
70
5
130
-5
168
18
39
29
84
-3
68
53
17
-5
58
55
-3
0
-52
52
-26
2
45
87
62
7
27
9
-31
3
-13
18
119
-2
-44
-21
27
-1
-113
12
-25
1
26
-3
73
0
-2
15
-28
0
-33
-4
46
0
4
-1
28
0
-3
-9
-73
1
-15
0
35
0
24
2
-48
-5
-50
8
22
0
-39
-13
-28
0
-19
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
9
0
-9
0
50
0
184
0
62
0
40
0
45
0
27
0
12
0
42
0
-27
0
65
0
25
0
100
0
-65
0
149
0
-25
0
78
0
48
0
25
0
5
0
-4
0
-50
0
68
0
16
0
48
0
-7
0
100
0
38
0
-14
0
16
0
3
0
18
0
0
0
24
0
-67
0
3
0
28
0
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
137
208
74
30
8
36
21
0
132
83
5
14
-37
60
52
14
16
88
59
27
16
66
10
-26
5
-56
28
-51
47
46
-20
117
63
92
-13
99
58
113
27
15
-3
57
-53
84
-77
-104
8
51
22
60
-36
72
12
12
0
-60
-115
6
27
-22
-54
-46
13
20
83
20
6
75
-5
47
31
9
-45
31
0
-47
40
-3
3
-128
-30
45
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
1
0
47
0
-1
0
46
0
-1
0
57
0
0
0
-2
0
0
0
24
0
-16
0
29
0
-1
0
16
0
-5
0
0
0
1
0
18
0
13
0
13
0
-12
0
17
0
-1
0
1
0
0
0
43
0
0
0
21
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
140
8
41
0
62
-1
73
-10
49
4
78
0
26
3
5
10
8
-1
-13
2
-10
0
3
44
-34
-25
34
-20
7
1
-32
9
90
-5
24
0
52
0
66
59
12
-2
5
9
-42
-1
35
33
-71
0
-15
-1
-24
0
-14
-5
27
0
28
2
-29
1
2
4
41
8
3
1
-3
-1
-31
6
-33
2
26
0
24
0
22
0
-43
0
-50
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
-12
0
104
0
-24
0
-5
0
-5
0
28
0
107
0
-4
0
-21
0
18
0
13
0
18
0
23
0
93
0
71
0
59
0
32
0
87
0
-68
0
101
0
-8
0
9
0
42
0
68
0
-18
0
-13
0
-6
0
17
0
0
0
-6
0
-5
0
13
0
-43
0
93
0
25
0
-13
0
0
0
-24
0
0
0
4
0
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
124
6
-34
158
87
79
46
53
110
29
132
21
22
33
29
16
-2
41
3
-15
31
41
-60
77
52
-22
58
-3
87
15
-48
202
150
13
20
-96
4
-12
84
113
94
4
133
50
19
-25
14
3
-60
1
-3
-94
-12
31
35
-99
47
0
44
-20
-41
12
93
-13
23
-3
68
73
114
4
-38
-32
-2
3
-7
0
10
5
-31
6
13
-1
86
3
24
-2
-46
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
13
0
-7
0
-13
0
-1
0
-29
0
14
0
42
0
-2
0
3
0
0
0
0
0
5
0
88
0
-7
0
41
0
3
0
21
0
12
0
-2
0
0
0
-7
0
0
0
-12
0
-4
0
21
0
0
0
5
0
0
0
9
0
0
0
-14
0
0
0
-8
0
-2
0
-1
0
0
0
10
0
0
0
2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
102
1
-11
29
-67
4
53
2
44
0
6
3
-2
-1
28
20
6
1
29
16
-7
-6
41
29
73
-8
-1
8
18
0
-30
30
37
0
18
19
14
0
67
1
39
0
29
0
-12
0
-82
7
-13
0
-16
-29
13
-1
3
14
-39
0
17
-25
11
-23
-4
25
9
0
10
-1
50
0
-32
-3
22
0
13
3
-40
0
22
0
0
0
-12
-1
33
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
38
0
30
0
4
0
87
0
29
0
96
0
15
0
118
0
-4
0
-1
0
-24
0
21
0
12
0
29
0
-31
0
42
0
-13
0
33
0
1
0
30
0
-1
0
118
0
-3
0
-3
0
0
0
-8
0
-5
0
29
0
-4
0
40
0
0
0
2
0
-5
0
-13
0
0
0
17
0
0
0
34
0
-9
0
-8
0
-8
0
13
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
185
53
-15
-38
55
-3
-8
-2
14
56
17
8
12
-5
-71
91
3
-5
-1
36
-2
-19
164
28
42
-18
39
2
34
-19
49
73
126
41
73
34
79
-22
8
79
46
13
25
6
2
1
66
0
17
-28
-55
7
-37
2
70
43
-34
-16
31
-5
16
-4
89
69
26
8
-7
7
8
-3
-11
32
-22
0
49
21
17
0
31
71
27
0
30
17
-50
0
-13
-9
-41
-3
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
0
0
0
2
0
48
0
0
0
-2
0
0
0
33
0
5
0
30
0
1
0
-27
0
0
0
10
0
0
0
75
0
2
0
13
0
0
0
4
0
-6
0
3
0
0
0
9
0
0
0
-30
0
1
0
5
0
0
0
3
0
0
0
-5
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
71
2
29
20
46
4
13
5
9
1
2
8
93
3
-29
15
45
-7
16
42
74
-1
-41
12
26
1
-21
7
24
0
17
40
53
-10
-49
-44
53
0
27
59
56
-1
-42
8
98
0
44
1
-4
-4
4
-3
-26
0
23
-13
24
0
-30
4
-23
0
-49
-4
14
-8
-32
0
7
0
23
4
6
0
6
0
-14
0
2
-2
-52
0
1
0
6
0
-13
2
25
0
-4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
114
0
15
0
83
0
49
2
60
0
7
0
19
0
-29
-1
53
0
101
0
33
0
-32
0
70
0
-22
0
38
0
-21
0
24
0
4
1
-1
0
2
3
-9
0
2
0
7
0
-2
0
-37
0
-1
0
-12
0
1
0
58
0
1
0
51
0
4
-5
-17
0
0
0
53
0
-3
0
-59
0
-1
0
42
0
13
0
-27
0
-2
0
-49
0
0
0
31
0
-5
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
194
118
86
65
83
159
11
39
109
190
45
139
109
50
118
30
98
102
92
49
104
93
9
63
83
47
-26
46
-54
31
6
-25
126
91
32
51
52
81
16
46
-65
38
16
18
-15
-35
30
-73
49
34
10
-76
66
71
-9
35
-48
19
-10
-30
-36
-56
5
-53
-10
-29
-7
73
-65
30
-1
-13
-129
-149
6
-23
34
15
-1
-97
-84
-96
17
-17
-24
-122
-4
17
23
-1
-1
19
41
-14
0
42
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
6
0
7
0
-1
0
66
0
12
0
31
0
2
0
30
0
1
0
83
0
0
0
42
0
-1
0
179
0
29
0
-5
0
0
0
4
0
0
0
-2
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
-16
0
0
0
7
0
0
0
30
0
0
0
0
0
0
0
17
0
0
0
1
0
0
0
-6
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
113
-2
26
22
131
-3
116
73
21
2
47
-90
22
-8
53
66
64
-33
11
37
-112
0
27
45
54
3
-31
10
-32
0
-38
5
88
2
4
-1
20
-5
-1
-5
69
-4
-43
-9
87
5
0
-1
59
-1
-30
15
-70
0
5
-10
70
0
-8
-4
-76
0
12
-7
87
0
73
0
38
0
5
-2
-86
0
2
8
-43
0
1
17
-58
0
2
6
46
0
6
5
-10
0
16
1
-77
0
-18
2
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
45
0
29
0
53
0
67
0
7
0
90
0
-25
0
41
0
39
0
102
0
24
0
-15
0
6
0
56
0
4
0
53
0
2
0
-33
0
-1
0
98
0
7
0
25
0
-1
0
-28
0
3
0
3
0
0
0
19
0
-5
0
-24
0
1
0
-29
0
3
0
0
0
1
0
-11
0
-2
0
24
0
1
0
-81
0
0
0
-1
0
0
0
-9
0
1
0
9
0
0
0
23
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
188
137
64
74
131
117
13
87
124
78
78
54
85
27
3
90
80
71
117
27
56
55
-40
103
92
133
29
-2
-124
61
-9
122
-4
28
-7
75
29
78
9
39
-44
47
-6
48
-24
-52
3
-15
26
-32
-1
89
2
93
0
70
-24
-41
-12
62
-45
49
2
-24
95
132
-1
40
44
-9
4
68
-26
-70
5
-18
-25
-38
0
-27
-28
53
-1
27
-10
24
4
14
-66
-45
-7
-53
-12
-13
0
-29
5
26
1
11
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
46
0
6
0
0
0
0
0
31
0
-7
0
54
0
-7
0
5
0
-5
0
18
0
9
0
-38
0
0
0
-29
0
1
0
5
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
-9
0
3
0
5
0
0
0
-5
0
0
0
-9
0
0
0
1
0
0
0
2
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
134
2
113
15
78
5
58
42
94
30
53
41
90
-7
79
6
52
-5
52
9
40
-3
-6
-20
-71
-27
73
-35
29
-3
93
1
109
-7
25
0
71
-3
20
-24
62
-5
-22
5
17
0
7
5
26
0
95
3
49
0
-1
-31
61
0
14
0
-43
0
-3
0
17
0
-12
-6
49
0
-24
-3
-17
-2
-17
-2
-46
0
-19
4
66
0
50
0
3
0
29
-24
20
-5
-1
-1
-10
0
-4
1
40
0
5
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
5
0
67
0
83
0
107
0
-41
0
26
0
-58
0
32
0
24
0
21
0
49
0
18
0
15
0
-21
0
-7
0
66
0
2
0
37
0
8
0
67
0
2
0
45
0
0
0
79
0
1
0
51
0
0
0
21
0
0
0
21
0
0
0
17
0
0
0
-47
0
7
0
3
0
-3
0
-8
0
10
0
12
0
0
0
-2
0
0
0
-3
0
0
0
-8
0
0
0
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
114
7
106
-45
74
0
-12
104
82
15
14
-17
78
27
-19
34
113
26
29
32
107
73
78
-4
14
-6
59
9
32
27
-10
-42
100
4
50
51
59
-1
122
37
83
-4
41
1
81
-2
-20
49
103
-17
77
-36
1
-1
-51
23
59
0
30
-5
-15
-4
-12
20
-34
7
41
13
-50
-4
69
56
-10
0
53
30
-47
-2
-94
-73
-76
7
23
3
-12
-13
-3
-7
-16
0
2
-48
-41
-3
7
-24
-19
0
-16
3
85
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
8
0
0
0
3
0
0
0
84
0
4
0
9
0
5
0
17
0
0
0
30
0
0
0
-1
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-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
41
24
0
46
18
73
1
95
-1
49
1
58
6
14
3
49
-14
-73
0
52
62
-5
-12
26
12
26
-10
41
3
11
0
31
2
-41
0
-1
1
4
0
68
4
-18
0
4
-8
19
0
6
0
-2
0
17
-2
-54
0
30
-1
4
0
-6
0
-17
0
-10
0
60
0
13
2
-4
0
-27
2
65
0
-1
12
31
0
0
-1
-36
0
1
-2
11
0
0
-1
-76
0
0
0
31
0
-2
0
-25
0
0
0
-23
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
37
0
13
0
48
0
29
0
45
0
2
0
178
0
10
0
29
0
-22
0
82
0
-22
0
-2
0
-6
0
56
0
1
0
-1
0
1
0
3
0
0
0
1
0
2
0
67
0
4
0
8
0
-1
0
6
0
4
0
10
0
4
0
31
0
2
0
50
0
0
0
17
0
0
0
-25
0
-2
0
20
0
3
0
10
0
0
0
-29
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
80
-13
114
-78
1
23
-14
28
61
-27
-42
-48
12
-5
12
65
71
-17
34
50
31
19
-24
-12
25
-18
82
0
83
1
25
58
98
3
-35
-7
44
1
-37
42
16
0
8
-13
31
0
-27
-73
71
31
64
9
-1
-2
40
38
57
1
39
38
35
-2
5
-3
74
3
12
-8
75
7
5
43
-4
-1
45
1
-41
-2
-40
-2
-49
-5
37
6
28
0
120
-1
19
-2
-20
-13
75
0
5
-6
10
0
-4
0
-9
0
1
13
-29
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
17
0
-1
0
-10
0
2
0
4
0
5
0
-6
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
0
25
-46
78
4
5
6
42
0
57
8
81
0
18
130
55
-24
-45
1
35
-7
87
6
-16
5
-19
0
-52
-1
-24
6
50
0
8
0
-5
0
1
2
47
0
1
-2
60
0
0
-13
48
0
13
2
-2
0
0
3
38
0
-4
0
-29
0
-2
0
-62
0
0
-1
40
0
25
-8
27
0
2
6
24
0
1
48
-29
0
-24
-3
87
0
-1
0
-76
0
0
0
-14
0
0
4
-5
0
0
0
0
0
0
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
54
0
27
0
43
0
17
0
98
0
66
0
106
0
-13
0
19
0
-5
0
40
0
-2
0
106
0
48
0
18
0
0
0
-2
0
14
0
-43
0
0
0
22
0
-1
0
5
0
-2
0
17
0
6
0
43
0
2
0
-4
0
-3
0
53
0
0
0
15
0
-1
0
69
0
3
0
68
0
5
0
10
0
0
0
-32
0
0
0
-4
0
0
0
5
0
-23
0
5
0
0
0
4
0
2
0
9
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
90
18
95
47
51
-9
139
78
32
41
12
46
-18
44
-53
119
93
1
91
-81
76
2
41
29
-17
8
108
69
-97
-9
5
24
17
9
69
68
-42
-5
74
27
76
-8
-8
0
48
8
68
-17
56
0
24
4
4
0
-36
-2
32
-4
-8
-1
11
0
5
-29
16
1
-1
1
42
2
9
24
45
0
79
-23
-53
-3
40
5
19
-1
-24
-4
8
0
48
12
-26
13
-29
-5
-10
-3
8
25
69
0
10
0
-35
0
-21
-13
10
0
-1
-1
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
6
0
3
0
0
0
-6
0
3
0
6
0
0
0
34
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
45
0
2
-3
97
-1
8
31
47
0
1
1
50
3
25
-9
33
0
-8
3
-25
-1
3
1
-39
0
22
-7
52
-4
-90
0
-4
0
0
1
31
0
-9
0
2
0
2
5
3
0
13
0
5
0
6
-15
15
0
0
0
29
0
0
0
28
0
13
0
14
0
1
-2
-41
0
0
-1
-32
0
-19
1
-14
0
-8
-1
19
0
-1
-1
56
0
0
0
34
0
-3
-1
20
0
-5
0
-1
0
0
0
-6
0
0
0
0
0
0
0
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
12
0
2
0
41
0
-16
0
4
0
5
0
92
0
40
0
-2
0
0
0
-3
0
15
0
-16
0
2
0
-4
0
-2
0
0
0
0
0
42
0
5
0
15
0
0
0
71
0
0
0
-4
0
0
0
-5
0
0
0
-14
0
-2
0
1
0
0
0
2
0
-3
0
51
0
-4
0
5
0
0
0
29
0
3
0
1
0
0
0
-5
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
81
12
22
15
126
-1
81
57
120
-22
17
49
42
9
-39
73
52
-14
46
36
7
0
-47
-65
35
10
47
22
0
0
17
32
110
1
7
4
-8
0
-2
63
41
0
12
3
-28
0
-13
12
-43
0
27
-2
64
0
-6
0
-37
1
43
-12
-23
0
-8
-33
25
0
5
0
56
0
4
-13
8
-5
-28
2
88
0
44
3
-28
0
-8
-1
-48
0
1
-49
-21
2
-38
13
90
0
5
0
38
0
7
0
-29
0
4
0
23
0
20
0
-65
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-20
0
-1
0
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
59
0
-48
7
46
0
1
-30
43
1
5
10
6
-5
-8
-12
22
0
13
-3
23
0
4
-13
4
0
5
0
18
8
2
0
38
0
0
0
-5
0
0
1
30
0
14
0
-1
0
1
1
-34
0
0
7
4
0
0
1
-31
0
0
1
-6
0
0
-1
4
0
4
0
0
0
1
0
-12
0
7
0
33
0
1
-1
8
0
0
0
25
0
-3
2
23
0
0
0
-22
0
3
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
14
0
-15
0
24
0
5
0
1
0
4
0
49
0
12
0
-20
0
5
0
41
0
-12
0
55
0
1
0
7
0
-42
0
2
0
0
0
36
0
0
0
2
0
0
0
6
0
5
0
8
0
0
0
30
0
6
0
0
0
0
0
8
0
-3
0
-3
0
6
0
-2
0
7
0
33
0
0
0
-1
0
3
0
13
0
0
0
-6
0
0
0
-13
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
96
73
17
2
54
48
3
22
14
81
-5
22
22
41
3
66
65
25
-5
22
46
39
7
30
3
27
0
56
-59
66
-23
59
17
-17
0
66
-5
7
0
-38
6
-21
0
16
17
72
0
5
20
-27
1
-31
5
-35
0
-47
5
71
0
-5
1
17
8
-25
41
10
0
36
10
106
2
-10
-30
-13
0
14
46
-75
1
3
-45
86
0
-32
9
43
2
0
0
14
0
-8
-2
30
0
-2
9
41
0
0
-17
55
0
10
0
-24
0
-1
0
78
0
-1
-6
3
0
0
3
15
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
89
0
3
2
21
0
41
-4
40
0
-30
1
-28
1
49
5
49
-2
3
-13
-32
0
-24
0
40
-1
7
2
-20
0
-10
0
34
0
0
1
30
0
1
0
2
0
-1
0
4
0
3
0
20
0
-3
-7
-42
0
-2
0
-13
0
0
0
20
0
0
-8
-4
0
0
-7
-1
0
1
0
31
0
0
0
-13
0
-1
0
21
0
0
1
-15
0
-5
2
-8
0
0
0
-15
0
0
7
1
0
0
0
-6
0
2
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
16
0
4
0
2
0
-1
0
16
0
2
0
-22
0
-3
0
-14
0
0
0
-1
0
1
0
-5
0
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
25
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
57
40
95
43
83
0
17
86
-29
0
57
30
30
1
2
28
39
-20
55
6
-10
-8
-15
-18
-7
20
-19
-38
40
0
18
15
20
0
14
-1
52
0
41
-18
16
0
-6
-7
24
0
-15
-9
58
-1
-20
4
31
0
-6
-19
7
0
-31
-8
34
0
-2
-5
13
-7
50
5
45
0
32
-5
17
1
-36
5
-26
4
-13
-33
-93
-1
-24
29
67
0
1
0
0
-1
-12
15
-13
0
1
4
-15
0
0
3
34
0
0
0
75
0
3
0
6
0
6
0
-42
0
-3
-4
-48
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
96
0
38
0
7
0
8
8
-10
0
65
0
-32
0
-6
9
-100
6
-34
24
8
0
-16
24
44
0
-36
0
31
0
1
0
13
0
-8
0
13
0
3
-1
2
0
0
-7
-4
0
0
0
-3
0
0
0
-3
0
0
0
6
0
0
0
13
0
-2
-1
52
0
8
7
9
0
4
0
43
0
1
0
-2
0
0
6
13
0
-1
0
-3
0
0
0
57
0
-7
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
-1
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-7
0
30
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-34
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
141
82
130
61
84
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-99
5
-43
2
4
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
-6
-7
41
49
-30
-33
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
109
0
1
2
94
0
29
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
50
77
36
17
48
-47
-46
-12
45
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
0
10
87
0
-34
0
48
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
41
22
44
-14
61
-2
13
15
45
-11
-32
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
5
0
18
0
53
0
2
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
67
42
17
-36
6
22
5
72
-34
-66
2
-55
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
-7
-8
-55
4
37
14
71
7
29
0
-28
0
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
33
-55
11
48
72
-2
-37
53
-7
24
9
-30
-29
-121
-36
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
36
1
25
0
19
0
58
0
-14
0
-7
0
-32
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
30
10
21
60
81
-1
1
55
44
-58
9
-32
70
-71
35
32
47
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
95
0
43
0
62
0
-33
0
70
0
16
0
35
0
-17
-7
22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
65
16
62
15
102
23
-51
54
38
-39
-10
31
-14
-25
10
-56
-57
-13
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
59
0
141
0
-8
0
103
0
4
0
56
0
-49
0
65
0
16
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
37
12
43
67
96
35
-48
136
26
80
7
-15
6
4
65
75
57
-45
5
-16
76
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
2
-2
85
0
40
-4
-15
0
54
0
52
0
-2
12
54
0
29
-4
33
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
69
-25
77
-18
46
47
20
103
58
-10
-5
-7
8
49
44
76
41
-35
7
72
10
-41
-17
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
19
0
52
0
72
0
85
0
95
0
-63
0
4
0
61
0
23
0
-32
0
10
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
79
66
42
50
27
-40
85
40
42
15
-50
43
71
9
-16
22
7
25
63
17
-15
32
-53
-69
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
103
0
77
0
27
0
22
0
46
0
-12
0
0
0
11
0
33
0
52
0
160
0
-44
0
-9
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
-18
26
152
113
83
-15
56
-10
46
76
19
37
46
59
24
32
12
-43
16
-17
59
11
-18
83
-10
-26
11
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
43
0
81
0
43
0
-1
0
24
0
48
0
57
0
43
0
39
0
-2
0
36
0
23
0
7
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
20
22
32
66
23
15
78
19
-28
12
64
70
36
80
83
35
66
31
-62
-4
50
-1
-54
18
-21
36
-83
38
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
34
0
65
1
-34
2
38
2
86
0
-2
-1
-10
0
-52
-16
-3
0
-72
0
45
0
-59
8
8
0
-104
0
-49
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
106
-53
15
-5
-18
-34
20
-24
-20
-77
20
-41
-29
-60
-9
-35
-14
-13
-75
-28
24
-41
-29
-35
-25
17
36
-30
-43
-52
-66
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
56
0
1
0
68
0
66
5
12
0
-5
0
7
0
29
0
-15
0
22
0
-42
0
-57
0
51
0
32
0
109
0
-5
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
44
13
-35
45
43
6
17
-31
-54
12
63
-4
16
-13
37
53
-78
3
-49
22
51
19
57
-12
-15
41
3
5
62
-27
32
-45
43
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
64
0
51
-2
80
0
-2
4
34
0
-5
0
-20
0
31
0
43
0
1
0
-15
0
-33
0
-2
0
-12
0
-45
0
-33
0
57
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
37
-11
26
79
120
70
34
-111
28
-10
-42
37
31
-11
22
63
77
3
-40
45
-9
5
-17
36
-12
-66
-26
-33
-16
-83
20
5
-30
-6
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
-23
0
48
0
9
-2
185
0
9
0
92
0
31
0
34
0
-27
0
34
0
69
0
-74
0
-57
0
-78
0
-8
0
0
0
3
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
132
70
40
48
94
7
1
46
40
29
-28
37
27
-24
50
-13
19
7
10
21
54
45
1
-3
-17
69
6
-1
126
-34
-54
7
50
22
31
-7
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
18
1
46
-5
46
0
90
-2
5
0
83
0
31
0
61
13
44
0
-31
1
45
0
12
-2
65
0
-12
0
3
0
60
6
-2
1
-55
4
-6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
44
0
43
-2
113
5
55
-52
52
-12
15
80
33
13
61
-13
54
0
6
0
8
-79
28
-81
-48
-95
52
69
-44
22
24
-25
31
23
82
13
-1
-38
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-10
0
-18
0
-5
0
121
0
-8
0
25
0
44
0
-27
0
32
0
46
0
6
0
66
0
20
0
-49
0
-14
0
-47
0
16
0
19
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
136
7
42
20
30
4
88
72
32
-29
12
43
0
16
37
-9
62
-12
78
53
-10
42
-58
-99
6
38
-6
-5
35
-52
64
24
90
-4
37
-21
-11
-10
43
-29
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
7
0
19
0
19
0
1
0
17
0
59
0
33
0
-10
0
-27
0
45
0
89
0
16
0
-77
0
-56
0
26
0
-33
0
-38
0
24
0
48
0
34
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
143
135
-14
8
-16
51
30
34
55
-2
16
75
24
45
-153
34
9
75
20
21
101
14
88
63
14
45
-26
-55
54
-39
141
43
104
28
-67
-27
-25
-21
-30
-34
-52
-42
-15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
23
0
24
0
25
0
62
0
1
0
-38
0
1
0
-38
0
37
0
38
0
23
0
9
0
20
0
-4
0
-29
0
42
0
38
0
60
0
4
0
-29
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
76
4
-47
36
69
-8
48
67
67
3
16
13
55
-30
46
7
61
29
-65
66
30
7
97
16
-75
-32
68
-88
48
-16
9
2
46
-17
-27
-17
34
-8
48
-6
39
-2
64
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
57
0
44
0
-7
0
25
0
58
0
-38
0
14
0
8
0
7
0
16
0
19
0
-10
0
46
0
-42
0
-17
0
-10
0
36
0
22
0
28
0
-67
0
39
0
-11
0
45
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
76
113
132
67
7
48
64
-46
37
67
74
23
46
-25
124
-34
15
-58
59
11
52
-3
78
-6
94
-26
-31
41
31
87
-20
163
-5
46
2
-9
64
-3
15
26
44
6
20
-30
34
25
46
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
3
0
50
0
-10
0
-34
0
0
0
-25
0
15
0
4
0
-1
0
32
0
-3
0
76
0
5
0
78
0
-13
0
5
0
0
0
36
0
2
0
51
0
0
0
-15
0
-5
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
77
2
53
24
111
32
63
41
35
-14
-9
14
2
48
-22
2
92
-1
-16
87
159
-1
29
-50
94
-2
-39
76
47
14
13
36
0
0
-22
1
-7
-3
-4
9
-3
4
39
25
11
-1
29
1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-7
0
48
0
21
0
65
0
14
0
46
0
47
0
40
0
39
0
-24
0
-40
0
-13
0
9
0
71
0
-13
0
-10
0
19
0
33
0
-8
0
36
0
-2
0
-11
0
-20
0
-13
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-10
53
-3
85
59
80
139
51
5
47
8
22
19
90
11
58
37
91
-102
43
30
9
28
-30
-11
-32
37
76
3
24
47
47
40
122
-11
102
-3
93
7
19
-38
-32
-73
-55
27
38
29
21
-44
52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
3
0
28
0
24
0
76
0
48
0
7
0
6
0
-48
0
19
0
6
0
-2
0
118
0
2
0
-42
0
9
0
-14
0
0
0
-9
0
0
0
-6
0
0
0
57
0
-2
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
30
4
22
20
65
16
29
48
-32
12
-64
-58
72
7
-2
100
-73
24
8
72
31
-24
4
11
-28
-24
39
17
63
4
-31
-19
76
0
23
4
22
0
-21
13
-15
-6
-56
8
58
0
-113
23
-69
6
-6
-18
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155
0
95
0
49
0
-2
0
49
0
42
0
63
0
92
0
42
0
101
0
124
0
119
0
21
0
24
0
23
0
5
0
24
0
-53
0
132
0
56
0
49
0
20
0
107
0
23
0
21
0
-18
0
-44
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
7
104
23
33
81
61
125
124
56
56
97
4
20
100
10
12
57
8
49
-13
6
-34
73
-16
6
-55
106
-46
4
9
169
31
-19
20
-27
1
31
3
57
-13
-39
6
-76
-42
-54
63
3
135
11
15
42
-38
75
-4
8
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
2
0
67
0
41
0
-15
0
-1
0
-5
0
9
0
4
0
-3
0
68
0
-20
0
25
0
0
0
55
0
-4
0
40
0
0
0
24
0
0
0
27
0
0
0
-20
0
0
0
-18
0
2
0
-24
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
46
4
106
98
90
40
30
70
-20
2
32
76
40
10
45
26
-12
-7
125
93
-7
30
11
2
-57
0
-48
-101
34
6
3
-7
44
0
-18
1
-37
-15
136
41
-54
0
-10
1
-2
0
-3
10
-70
0
38
5
-89
0
-17
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
0
33
0
38
0
22
0
82
0
44
0
92
0
4
0
55
0
16
0
37
0
17
0
-12
0
-9
0
42
0
11
0
46
0
9
0
6
0
32
0
32
0
9
0
7
0
2
0
45
0
10
0
37
0
5
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
99
86
99
11
29
-64
24
-33
14
20
50
132
71
36
-11
109
69
-46
64
80
101
145
106
11
-9
-63
50
69
40
58
6
92
-3
-19
2
9
4
27
18
18
-24
-25
-40
-31
-8
13
-6
-17
-12
9
5
4
-32
-19
84
46
-84
12
30
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
5
0
68
0
-17
0
116
0
0
0
6
0
5
0
16
0
4
0
-5
0
5
0
9
0
0
0
-50
0
2
0
4
0
0
0
-20
0
-1
0
24
0
0
0
1
0
0
0
-30
0
-1
0
-22
0
0
0
30
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
-7
44
-43
15
5
3
-12
44
5
-10
-7
96
-9
-21
15
42
2
60
47
32
4
67
4
-1
20
1
29
78
2
-25
7
71
2
80
9
-7
4
8
18
38
4
69
-30
58
-3
-48
32
-56
0
-6
-6
21
0
-66
-34
2
-2
-60
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
-11
-1
27
0
-6
1
37
0
-42
-2
-9
0
-9
0
-51
0
5
0
6
0
-43
0
-46
0
-91
0
-26
0
-7
-7
-84
0
-25
0
-29
0
-17
-3
-16
0
-6
0
-21
0
25
0
20
0
-71
0
-62
0
-5
0
-32
0
-59
0
-4
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-16
-19
12
17
33
46
55
10
20
-48
-21
-33
42
-47
29
105
25
-55
-9
-38
-27
3
-49
158
-8
-63
-42
-52
28
-42
-89
-44
10
41
-14
9
42
6
-34
3
23
-71
-8
-80
-65
-24
-61
16
6
36
-49
-31
5
52
-41
-13
29
-19
-25
-46
-39
-40
-92
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
41
0
62
0
79
0
39
0
7
0
61
0
46
0
60
0
-3
0
8
0
19
0
-63
0
-34
0
-14
0
30
0
59
0
31
0
16
0
3
0
-24
0
-12
0
27
0
-16
0
25
0
-2
0
16
0
4
0
-14
0
0
0
40
0
-4
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
55
6
78
44
-49
78
106
21
93
0
10
9
43
25
-2
-35
-14
-5
48
51
-39
-31
37
24
26
-3
-83
-76
19
5
-27
56
44
29
62
44
50
9
-88
-39
21
8
-25
-2
-1
-4
-9
-32
-9
0
62
-65
-12
-2
-59
2
10
4
-30
25
17
1
53
67
-3
-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
4
0
-18
0
12
13
-36
-2
25
0
35
0
4
0
5
0
-30
0
9
0
34
0
15
0
99
0
-48
0
-46
0
-23
0
20
0
36
-2
71
0
0
-6
9
0
-57
0
26
0
-3
0
-7
0
-53
0
2
0
-23
0
50
0
-47
0
-10
0
-20
0
56
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
137
-21
4
54
33
30
11
40
23
85
96
46
52
60
-37
97
74
9
3
37
-12
53
-55
40
-13
-30
-21
1
-86
1
-54
-54
52
52
2
-7
34
-27
13
14
-63
-2
12
-3
14
-41
-23
-14
-110
-43
-60
-24
71
-6
-16
-64
-14
-57
31
-53
-19
-15
43
45
12
29
-13
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
-12
0
25
0
-1
0
52
0
7
0
-28
0
3
0
14
0
3
0
45
0
22
0
-7
0
68
0
13
0
13
0
-6
0
-4
0
43
0
-7
0
34
0
-5
0
2
0
-13
0
56
0
0
0
-29
0
0
0
-65
0
2
0
6
0
-4
0
-18
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
33
26
59
74
53
16
51
-11
118
10
-67
-39
107
32
16
99
32
-9
7
43
7
7
-82
-50
-5
-40
27
10
77
-16
13
32
36
-7
19
23
-7
1
93
11
-35
-2
44
9
-9
2
5
-59
31
-20
17
24
-39
-3
-11
-47
-83
2
34
-12
-87
-4
-71
12
25
-1
5
-8
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
10
0
35
0
16
0
57
0
31
0
57
0
45
7
12
0
3
0
-21
0
-21
0
5
0
25
0
5
0
-59
0
62
0
0
0
39
0
62
0
35
0
-42
0
-6
0
-30
0
-39
0
-15
0
35
0
-60
0
-16
0
24
0
-7
0
-9
0
117
0
-49
0
74
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
64
30
93
65
80
-34
-41
78
92
5
20
5
45
-41
-34
48
-22
37
79
38
63
62
7
17
1
-32
33
-5
-16
-32
22
107
31
17
14
54
10
-13
64
12
-23
-65
63
-62
-92
-14
78
-46
38
32
26
78
44
51
45
2
-14
-12
36
40
78
-30
-33
3
86
-74
-51
22
78
2
-28
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
1
0
17
0
-4
0
-8
0
4
0
-12
0
9
0
45
0
24
0
83
0
17
0
28
0
0
0
-26
0
-7
0
10
0
2
0
48
0
0
0
47
0
2
0
-15
0
0
0
-44
0
1
0
33
0
-1
0
21
0
1
0
-34
0
2
0
2
0
10
0
3
0
-20
0
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
104
93
2
14
51
114
-7
70
2
44
5
-13
-21
-12
-4
-6
-52
-8
5
54
46
9
36
-82
-6
6
3
14
-34
94
12
-71
27
33
-3
-46
40
32
-5
-4
68
-8
-4
43
0
22
-9
-40
43
77
-1
17
0
-95
-48
-84
22
-50
-2
24
-21
-4
3
-17
6
29
0
2
17
14
-3
43
-3
30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
40
0
83
0
17
0
101
0
19
0
35
0
41
0
20
0
34
0
-47
0
13
0
12
0
-5
0
-20
0
24
0
-10
0
36
0
40
0
-10
0
78
0
18
0
-37
0
-1
0
31
0
32
0
12
0
-29
0
-34
0
-22
0
54
0
-5
0
2
0
-2
0
-1
0
-24
0
-74
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
88
52
77
24
143
13
106
88
62
-33
-12
-14
103
-4
26
74
108
52
-35
113
48
-59
26
62
-14
18
-32
-54
64
-7
13
113
146
5
88
-10
37
13
1
72
-24
65
23
-74
-94
24
14
-54
64
-56
53
-18
57
27
-58
-78
-42
-13
16
-22
11
-30
51
25
28
14
-22
56
17
-13
36
-9
-51
4
-41
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
43
0
-4
0
52
0
0
0
10
0
0
0
-47
0
-1
0
-26
0
0
0
21
0
3
0
35
0
0
0
15
0
-2
0
3
0
0
0
65
0
-14
0
8
0
1
0
-50
0
-8
0
-8
0
-1
0
11
0
1
0
0
0
0
0
2
0
0
0
2
0
-8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
145
0
-20
40
108
3
4
51
97
8
-2
41
-45
2
7
-10
30
8
-29
86
-4
-5
25
-4
-13
2
-65
-8
44
-2
-41
62
177
-5
106
79
50
-2
22
32
-26
18
13
-33
-69
0
44
20
25
-2
18
-33
93
0
8
-109
1
-1
-68
22
123
0
57
12
138
-3
45
0
7
17
24
-1
-79
0
-29
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
61
0
35
0
-2
-1
74
0
24
0
4
0
-19
0
44
0
6
0
34
0
31
0
66
0
48
0
33
0
-28
0
61
0
-29
0
9
0
45
0
120
0
9
0
94
0
21
0
-23
0
18
0
-4
0
-64
0
9
0
-8
0
-18
0
26
0
16
0
0
0
-6
0
-5
0
-57
0
-24
0
59
0
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
50
101
22
136
56
-7
34
39
8
17
55
54
44
40
15
76
78
96
-15
-45
-99
46
-24
-31
57
-40
-44
42
28
24
13
88
98
89
43
89
-24
68
-42
2
68
85
55
92
33
73
-39
-56
-4
-89
-17
-7
-18
-5
20
85
13
48
3
-24
-94
64
-40
24
37
18
10
-1
-29
27
-25
-77
-14
3
4
10
-34
16
-4
33
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
10
0
30
0
8
0
82
0
6
0
73
0
-1
0
-22
0
-2
0
22
0
-5
0
30
0
0
0
-14
0
13
0
65
0
-12
0
54
0
-3
0
-17
0
-2
0
76
0
8
0
-10
0
-5
0
-6
0
5
0
-18
0
0
0
36
0
0
0
2
0
0
0
6
0
0
0
3
0
2
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
5
108
-5
146
15
3
17
62
-3
12
33
36
0
39
55
-5
0
-49
39
49
2
22
90
17
7
32
5
-27
2
-10
13
114
-2
-53
-23
64
-1
-34
12
-3
1
59
2
50
0
18
15
-39
0
4
6
28
0
-28
4
1
0
0
-8
29
1
-50
0
27
0
19
1
-73
-5
-48
5
39
0
-34
-9
43
0
-18
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
27
0
45
0
157
0
50
0
118
0
42
0
29
0
18
0
15
0
-24
0
62
0
44
0
85
0
-76
0
49
0
-23
0
55
0
44
0
127
0
16
0
34
0
-48
0
63
0
8
0
37
0
-6
0
46
0
40
0
-44
0
18
0
-17
0
18
0
-3
0
19
0
-39
0
3
0
32
0
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
170
43
-1
-20
105
8
77
64
132
31
31
44
89
49
-11
-1
50
65
-45
13
0
10
-17
-12
87
32
65
20
-45
-20
55
112
11
-24
11
44
15
23
20
22
0
-45
30
-19
99
5
101
-83
-24
-34
91
5
24
0
-75
-74
-35
33
9
-45
13
15
-10
58
42
5
21
3
-10
30
-2
-72
47
-1
62
24
26
3
-88
-30
30
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
69
0
-1
0
41
0
-1
0
55
0
0
0
6
0
0
0
23
0
-16
0
29
0
-1
0
10
0
0
0
0
0
1
0
17
0
14
0
8
0
-13
0
12
0
-1
0
2
0
0
0
58
0
0
0
18
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
138
8
39
-1
67
-1
27
27
60
6
81
-5
56
4
-46
6
63
-1
32
-2
-25
0
12
37
-49
-30
45
-26
-12
1
0
4
47
-5
20
0
40
0
74
31
-58
-2
-5
4
-14
-1
33
24
-64
0
-50
-1
36
0
-25
12
-58
0
31
3
-4
1
-23
4
19
8
-3
1
19
-1
-25
6
-47
2
23
0
25
0
21
0
-52
0
-52
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
-5
0
66
0
-6
0
9
0
-2
0
38
0
27
0
69
0
24
0
-30
0
15
0
10
0
33
0
68
0
69
0
52
0
25
0
77
0
-41
0
53
0
-10
0
-11
0
41
0
18
0
-13
0
4
0
6
0
12
0
0
0
32
0
8
0
-15
0
-40
0
84
0
7
0
-1
0
0
0
-25
0
0
0
14
0
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
117
5
65
148
100
77
71
-35
51
14
117
49
87
32
33
-9
-11
22
-4
-42
106
39
-61
65
-3
-39
21
22
-36
8
-19
133
52
8
-8
-1
131
-24
-23
90
19
5
73
9
-9
-16
-26
-6
18
-1
-30
-138
-51
31
54
-96
67
0
-6
9
31
6
-5
-43
67
-6
-31
53
-49
2
-78
-24
-24
3
-16
-3
-5
5
-18
2
23
-1
53
6
49
-3
-67
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
25
0
-7
0
-10
0
-1
0
-42
0
14
0
59
0
-2
0
8
0
0
0
5
0
5
0
85
0
-7
0
41
0
3
0
25
0
8
0
-2
0
0
0
-6
0
0
0
-10
0
-4
0
28
0
0
0
5
0
0
0
13
0
0
0
-14
0
0
0
-8
0
-2
0
-1
0
0
0
10
0
0
0
2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
1
-10
30
-26
2
81
2
42
0
8
1
-36
0
-1
33
84
1
2
41
-18
-6
46
25
22
-8
-4
16
38
0
-76
36
20
0
23
14
75
0
64
1
94
0
32
10
21
0
-72
8
-54
0
-17
-29
61
-1
17
18
-90
0
17
-24
-88
-23
-11
25
25
0
12
-1
70
0
-30
-3
-1
0
8
3
-53
0
19
0
-39
0
-8
-1
4
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
40
0
26
0
3
0
60
0
26
0
90
0
20
0
99
0
-5
0
-40
0
-22
0
-47
0
8
0
71
0
-38
0
63
0
-25
0
26
0
0
0
23
0
-4
0
113
0
-4
0
25
0
-9
0
-17
0
4
0
54
0
-5
0
45
0
5
0
6
0
-5
0
-13
0
0
0
20
0
0
0
40
0
-9
0
-13
0
-7
0
14
0
-1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
191
13
48
-43
-52
-6
102
25
92
55
50
-5
-18
-5
21
41
-25
-20
-2
72
29
-16
81
24
-18
-18
13
7
1
-20
58
104
26
33
40
45
114
-29
75
51
-6
17
59
8
43
0
26
-23
-119
-29
-48
-4
49
7
65
22
71
-19
4
0
24
-5
77
92
-26
12
-3
-10
43
-3
-12
27
24
0
49
15
38
0
43
28
35
0
33
16
-58
0
-7
4
-13
-3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-2
0
0
0
2
0
48
0
0
0
-2
0
0
0
40
0
5
0
32
0
1
0
0
0
0
0
17
0
0
0
71
0
2
0
9
0
0
0
0
0
-6
0
3
0
0
0
7
0
0
0
-30
0
1
0
-1
0
0
0
2
0
0
0
-5
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
82
1
-12
21
-5
4
43
39
60
2
25
10
137
5
9
-31
59
-7
23
43
66
-1
-42
23
-2
1
-51
4
99
0
2
74
28
-8
-36
-45
51
0
30
53
71
-1
-31
8
104
0
57
5
-80
-4
30
-5
-65
0
-14
-21
48
0
-35
2
-89
0
-52
-2
-17
-8
-31
0
7
0
23
4
1
0
12
0
-11
0
2
-2
-53
0
-3
0
13
0
-12
2
-16
0
-7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
22
0
13
0
29
2
30
0
2
0
5
0
-12
-1
56
0
96
0
66
0
-38
0
109
0
-13
0
41
0
-23
0
10
0
2
1
2
0
0
3
2
0
2
0
10
0
-2
0
-31
0
-1
0
-30
0
0
0
45
0
1
0
28
0
4
-1
-6
0
-1
0
17
0
-1
0
-74
0
-1
0
9
0
12
0
-24
0
-2
0
-41
0
0
0
4
0
-5
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
2
9
28
-4
66
-7
60
5
76
27
85
26
43
26
15
53
20
24
60
44
9
12
-17
29
64
28
43
-59
55
5
-107
16
166
16
8
-12
25
8
48
-13
12
15
21
-2
42
29
-54
7
72
7
-48
48
-23
-8
-38
-29
27
-9
42
-34
41
5
-64
22
-28
1
24
-25
24
-1
-29
-124
27
6
-17
25
60
-1
-32
5
-47
17
-26
-31
-22
3
24
-8
-27
-1
32
41
37
0
60
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
6
0
6
0
0
0
41
0
9
0
8
0
2
0
31
0
1
0
52
0
0
0
12
0
-1
0
128
0
30
0
-8
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
-14
0
0
0
5
0
0
0
33
0
0
0
-2
0
0
0
7
0
0
0
1
0
0
0
-6
0
0
0
-4
0
0
0
-1
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
37
-2
14
18
101
-3
92
29
0
2
48
-38
-3
-8
17
73
-18
-34
-39
27
1
0
42
59
-1
2
-12
23
-13
0
-35
3
15
2
-2
-1
8
-5
0
-5
68
-4
-44
-9
71
5
3
-1
-12
-1
-30
15
-16
0
8
-10
29
0
-4
-4
-13
0
13
-7
15
0
68
-1
21
0
6
-4
7
0
0
10
-20
0
0
17
-32
0
-2
6
8
0
6
4
-10
0
21
0
-70
0
-19
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
48
0
14
0
43
0
7
0
13
0
31
0
-24
0
88
0
26
0
25
0
23
0
40
0
14
0
89
0
10
0
58
0
0
0
-22
0
-2
0
51
0
5
0
23
0
-1
0
-45
0
4
0
4
0
0
0
-19
0
-5
0
-29
0
1
0
3
0
3
0
1
0
1
0
-17
0
-2
0
31
0
1
0
-68
0
0
0
0
0
0
0
6
0
1
0
9
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
136
51
-4
89
106
8
55
69
106
32
29
40
-48
-4
47
-42
122
79
-18
10
73
-48
85
-30
7
71
-17
-89
-49
10
126
-34
90
-6
-12
29
66
6
25
-29
56
-3
49
-24
-71
3
-14
48
-22
-1
41
3
59
0
68
-72
52
-6
107
-45
6
2
-25
51
28
-2
38
17
-22
3
20
0
-35
4
8
-19
38
0
-45
-31
41
-1
5
-5
25
4
6
-49
-105
-7
-32
-13
-27
0
-28
2
26
1
9
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
41
0
2
0
0
0
0
0
34
0
-7
0
46
0
-7
0
-26
0
-4
0
16
0
9
0
-24
0
0
0
-30
0
1
0
1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
-9
0
3
0
5
0
0
0
-4
0
0
0
-8
0
0
0
1
0
0
0
2
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
46
2
80
8
61
4
48
-45
50
25
3
40
-27
-8
31
66
78
-8
97
-1
61
0
-13
3
97
-19
40
-34
-4
-3
59
1
3
-7
-1
0
32
-3
22
-22
57
-5
5
2
31
0
7
4
-46
0
98
2
47
0
-5
-29
64
0
21
0
-38
0
-5
1
70
0
-5
-6
52
0
-24
-4
-22
-2
-14
-2
-40
0
-16
10
63
0
48
0
-9
0
25
-24
7
-5
3
-1
-7
0
-5
1
41
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
0
24
0
73
0
85
0
-38
0
34
0
-58
0
10
0
20
0
93
0
33
0
-8
0
16
0
-12
0
-8
0
49
0
2
0
34
0
9
0
7
0
2
0
42
0
0
0
6
0
0
0
48
0
0
0
40
0
0
0
43
0
0
0
1
0
0
0
-41
0
7
0
9
0
-3
0
-5
0
10
0
17
0
0
0
3
0
0
0
10
0
0
0
-7
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
82
5
89
-52
90
19
-13
19
22
8
32
-47
35
23
-31
30
89
-45
74
-32
66
82
-2
-3
-9
-4
-16
-26
-72
17
6
-6
37
4
57
29
48
-1
51
19
43
-4
32
-4
27
-2
-26
7
22
-8
94
-39
-8
-2
-25
22
12
0
29
-3
1
-2
3
17
-5
8
25
11
-111
-3
26
41
41
0
57
31
-49
-2
-93
17
2
7
16
4
-11
-13
4
-6
12
0
2
-45
-47
-3
7
-23
-5
0
-19
3
42
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
75
0
4
0
3
0
5
0
15
0
0
0
32
0
0
0
-1
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-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
41
7
0
43
18
9
-1
77
-1
-8
1
74
4
-25
3
49
2
42
0
32
68
4
-12
1
10
16
-10
42
9
-26
0
23
2
-34
0
-1
1
3
0
54
4
-7
0
5
-8
12
0
6
0
-35
0
17
-2
-66
0
29
-1
2
0
-8
0
-21
0
-9
0
42
0
12
2
-1
0
-27
2
52
0
-1
12
27
0
0
-1
-16
0
1
-2
22
0
0
-1
-75
0
0
0
23
0
0
0
-23
0
0
0
-19
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
31
0
8
0
45
0
22
0
44
0
2
0
142
0
19
0
30
0
-21
0
59
0
-27
0
-6
0
-5
0
41
0
1
0
-1
0
1
0
-7
0
0
0
1
0
2
0
73
0
4
0
8
0
0
0
-10
0
4
0
12
0
4
0
29
0
2
0
41
0
0
0
8
0
0
0
-24
0
-2
0
9
0
3
0
9
0
0
0
-29
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
36
-7
76
-65
7
23
30
42
6
-24
9
-46
77
-5
51
63
86
-85
-9
38
63
20
-72
-3
29
-20
67
-9
37
3
51
51
12
3
-30
-6
43
1
-43
41
9
0
7
-13
25
0
-27
-8
-12
25
33
10
8
-2
40
41
-55
1
32
38
21
-2
8
-14
99
3
-1
-9
71
7
-5
54
25
-1
30
5
-55
-2
-30
-8
44
-5
9
5
-32
0
132
-4
-48
-2
-12
-10
88
0
8
-6
44
0
-4
0
-5
0
1
13
-40
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
13
0
-1
0
-9
0
2
0
1
0
5
0
-5
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
51
0
24
-45
42
4
1
5
41
0
58
8
60
0
20
107
-28
-21
-42
4
-40
-7
94
33
70
6
-35
0
-25
-1
-51
6
58
0
5
0
-5
0
1
2
55
0
1
-2
55
0
0
-10
8
0
10
2
-1
0
0
3
42
0
-1
0
-34
0
-2
2
-51
0
0
-1
34
0
24
-8
11
0
1
6
22
0
2
49
-58
0
-24
-3
91
0
-1
0
-80
0
0
0
-20
0
0
4
-5
0
0
0
0
0
0
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
0
27
0
23
0
42
0
15
0
111
0
50
0
48
0
-6
0
-31
0
0
0
20
0
-6
0
115
0
47
0
18
0
0
0
-2
0
12
0
-42
0
0
0
18
0
-3
0
10
0
-2
0
14
0
6
0
37
0
2
0
1
0
-3
0
48
0
0
0
8
0
-1
0
59
0
3
0
70
0
5
0
8
0
0
0
-36
0
0
0
-8
0
0
0
6
0
-23
0
4
0
0
0
4
0
2
0
8
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
77
18
56
37
65
-5
40
110
6
41
-47
34
47
44
1
56
-61
3
46
-101
-22
2
17
20
50
8
108
70
62
-10
22
15
90
9
55
70
-12
-5
56
24
34
-8
20
-5
88
8
34
-17
-21
0
22
-3
-6
0
-39
12
55
-4
-6
-4
-8
0
-23
-24
28
1
1
0
42
2
-6
22
71
0
73
-25
-4
-3
0
1
1
-1
-30
-4
-4
0
48
17
96
13
-34
-1
29
-3
12
20
54
0
13
0
-44
0
-8
-21
-45
0
-5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
6
0
3
0
0
0
-9
0
3
0
8
0
0
0
46
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
90
0
2
-3
69
-1
8
30
97
0
-3
-4
-20
2
16
-8
-43
0
-13
2
-5
-1
2
2
-38
0
27
-6
-4
-4
-82
0
7
0
0
1
13
0
-8
0
9
0
0
5
4
0
13
0
6
0
7
-15
22
0
0
0
27
0
0
0
46
0
15
0
25
0
1
-2
-52
0
1
-1
-32
0
-17
1
-13
0
-8
-1
16
0
-1
-1
51
0
0
0
23
0
-3
-1
15
0
-5
0
-1
0
0
0
-6
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
8
0
2
0
64
0
-17
0
4
0
2
0
90
0
34
0
-7
0
1
0
-39
0
14
0
-14
0
4
0
-6
0
-2
0
0
0
0
0
30
0
5
0
14
0
0
0
72
0
0
0
-4
0
0
0
-6
0
0
0
-10
0
-2
0
3
0
0
0
2
0
-3
0
52
0
-4
0
4
0
0
0
36
0
3
0
1
0
0
0
-9
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
67
8
88
8
82
-1
63
66
25
-24
39
52
130
8
-29
66
-8
-13
38
43
9
0
-75
-19
-41
9
27
48
-26
0
44
25
126
1
-5
4
-10
0
-2
53
-5
-1
-9
-2
-21
0
-24
13
-55
0
33
-2
72
0
-4
7
-35
1
43
-7
-11
0
-4
-38
27
0
-4
0
40
0
0
-13
18
-5
-19
2
29
0
46
9
2
0
-9
-1
-47
0
2
-41
32
2
-32
13
82
0
10
0
42
0
5
0
-25
0
4
0
8
0
15
0
-78
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-21
0
-1
0
29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
60
0
-44
7
55
0
2
-28
-13
1
7
12
2
-5
-5
-8
-7
0
4
-3
60
0
3
-19
52
0
23
1
-13
8
3
0
46
0
0
0
-16
0
0
1
25
0
13
0
-2
0
1
1
-36
0
0
7
3
0
0
1
-39
0
0
1
-3
0
1
-1
9
0
2
0
0
0
1
-1
-24
0
4
0
41
0
1
-1
6
0
0
0
29
0
-3
2
26
0
-1
0
-30
0
5
0
-4
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
-14
0
61
0
5
0
15
0
4
0
96
0
17
0
-10
0
5
0
38
0
-10
0
56
0
1
0
29
0
-46
0
2
0
0
0
31
0
0
0
3
0
0
0
5
0
5
0
8
0
0
0
30
0
6
0
8
0
0
0
18
0
-3
0
-3
0
6
0
-2
0
7
0
31
0
0
0
-9
0
3
0
12
0
0
0
-8
0
0
0
-14
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
71
51
13
8
64
138
1
-30
-43
63
-5
9
15
85
5
61
51
-14
-5
7
68
-60
8
47
-11
53
-3
65
-67
-23
-25
68
14
6
0
65
-8
-9
0
-29
4
-19
0
23
20
102
0
12
23
-7
1
-33
4
56
0
-72
8
-10
0
-8
1
-7
8
-31
40
6
0
32
12
69
2
-4
-31
-16
0
4
48
-52
1
23
-48
41
0
-34
-1
58
2
6
0
9
0
-6
-3
50
0
-21
9
40
0
0
-17
56
0
8
0
-28
0
-1
0
68
0
-1
-6
9
0
0
3
20
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
6
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
128
0
2
2
76
0
44
-4
41
0
-40
1
-83
1
51
5
49
-2
-2
-13
25
0
-24
1
-6
-1
2
2
-23
0
-14
0
33
0
0
1
26
0
1
0
2
0
-1
0
3
0
3
0
24
0
-3
-7
-35
0
-2
0
-20
0
0
0
19
0
0
-8
-4
0
0
-7
10
0
1
0
40
0
0
0
-21
0
0
0
29
0
0
1
-23
0
-5
2
-8
0
0
0
-22
0
0
7
1
0
0
0
-6
0
2
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
19
0
3
0
6
0
-1
0
20
0
2
0
-48
0
-3
0
-14
0
0
0
45
0
1
0
-2
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
25
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
75
42
44
45
77
0
-20
78
16
-1
58
27
-12
1
-5
15
98
-22
56
9
36
-7
-5
-20
-107
16
-112
-47
26
0
4
16
68
0
17
-1
16
0
42
-15
52
0
-13
-6
24
0
-16
-6
45
-1
-19
4
14
0
-5
-24
16
0
-36
-13
15
0
-2
-4
53
-7
47
5
48
0
32
-8
12
1
-34
4
-21
4
-14
-42
-44
-1
-40
31
57
0
-2
-5
39
-1
-8
16
-6
0
-2
4
-48
0
0
3
40
0
0
0
72
0
3
0
5
0
6
0
-38
0
-3
-4
-43
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
124
0
32
0
-13
0
10
8
8
0
59
0
-11
0
-7
5
-162
6
-47
23
-32
0
-17
16
45
0
-47
0
28
0
1
0
30
0
-8
0
14
0
5
-1
4
0
0
-7
-3
0
0
0
9
0
-2
0
-8
0
0
0
4
0
0
0
5
0
-2
-1
59
0
6
7
10
0
4
0
52
0
0
0
-2
0
0
6
3
0
0
0
-1
0
0
0
41
0
-7
0
5
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-21
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-8
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
-84
0
42
3
45
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
-12
1
-8
0
-2
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-1
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
45
0
10
-15
3
1
-16
1
-43
0
-33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-6
1
-2
0
3
0
-30
0
38
-1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
12
0
-4
0
9
0
25
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-11
-1
-5
10
-1
-1
28
38
90
23
-4
-25
-28
-10
25
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-6
0
0
0
17
0
1
0
19
0
10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
10
3
-31
1
-25
4
77
0
0
-8
25
0
-13
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
18
0
2
0
-21
0
5
0
-18
0
-33
0
-18
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-40
-3
57
-16
25
2
29
-8
7
-13
-34
12
16
-1
10
-6
66
-4
-6
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
-7
0
1
0
-2
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
2
14
0
29
0
-10
6
82
-2
3
-9
7
0
41
-2
-1
-5
-6
2
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
14
0
7
0
25
0
10
0
13
0
22
0
44
0
-1
0
-34
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
6
7
-8
17
5
-16
-8
-13
14
24
17
-19
-7
20
42
-51
-22
14
50
61
-8
27
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
32
0
1
0
41
0
0
0
-10
0
-4
0
6
0
0
0
-3
0
8
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-48
0
-1
1
7
-4
-7
23
13
0
-25
23
-25
-2
38
-6
24
2
19
13
-53
3
-35
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
25
0
-17
0
-8
0
-35
0
-5
0
-17
0
-9
0
2
0
4
0
5
0
0
0
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
2
26
-6
67
-3
3
21
15
8
20
29
25
-3
-4
1
-11
30
77
-4
83
-23
30
-30
-17
10
-30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
3
0
13
0
0
0
-22
0
1
0
2
0
4
0
-17
0
3
0
-6
0
6
0
-24
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-43
-3
-26
-22
61
-1
15
5
62
-2
-76
-4
-3
-2
51
12
-17
0
7
-4
-20
3
-4
1
-18
-3
-2
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
-6
0
-2
0
8
0
-1
0
0
0
-2
0
-30
0
0
0
6
0
-5
0
-1
0
7
0
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-5
0
31
0
0
2
-28
0
1
-6
52
-3
-2
-7
-54
5
-8
-8
-12
0
1
-17
27
-1
-23
-13
6
8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
2
0
-6
0
-1
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
13
0
0
0
-4
0
0
2
-5
1
-4
2
27
1
3
1
8
0
-1
2
-21
6
16
-1
25
0
-55
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
1
0
1
0
-2
0
-1
0
-12
0
-13
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
8
-2
-10
0
-2
-29
-11
-1
-14
-1
24
0
-17
-25
96
1
-19
4
-7
-3
-4
-1
-59
-22
-16
-3
15
0
-1
1
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-6
-1
-17
0
10
0
-2
0
8
-8
20
1
0
0
-8
0
-13
-8
9
5
-12
-8
-5
0
19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
3
0
16
0
5
0
21
0
-4
0
-13
0
16
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
29
0
-5
-8
-59
0
-27
-7
-34
0
30
-2
-2
25
-14
-55
30
-5
3
-2
-1
-4
42
33
-17
1
-20
0
8
0
25
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
8
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
-4
4
0
-14
2
-2
0
-4
0
3
0
3
4
-56
4
-2
-16
39
1
-17
-25
7
0
-3
0
-9
-1
34
0
2
0
0
0
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
3
0
0
0
-1
0
0
0
-15
0
-7
0
-10
0
-1
0
29
0
-3
0
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
1
3
-2
-19
-1
-3
-2
-11
0
-42
7
7
0
-24
-12
-71
-3
-8
-24
32
-10
29
25
-5
34
-7
20
60
-8
-29
-1
8
0
16
0
4
0
6
0
4
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
-1
0
-1
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
3
0
2
0
7
0
0
0
1
0
-7
-8
-47
0
-14
-1
-4
3
-9
-16
35
2
-15
8
55
0
-5
0
7
0
1
0
1
0
5
0
14
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
0
0
0
-15
0
-6
0
-1
0
-9
0
-13
0
1
0
40
0
6
0
26
0
1
0
26
0
-1
0
3
0
0
0
0
0
0
0
0
0
-1
0
-3
0
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
-15
-19
-5
8
-12
1
-2
12
8
-22
-17
12
10
-34
12
-7
-16
-109
-1
5
-2
-9
1
47
-5
57
-14
15
-4
11
6
-50
0
-17
0
-13
0
20
0
3
-10
8
0
9
4
-30
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
-2
0
0
0
5
0
0
0
7
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-6
14
0
6
-1
72
0
13
3
1
0
8
-3
-1
0
-2
3
27
0
14
-6
30
0
-13
48
60
0
8
0
-13
0
0
0
0
0
0
0
16
0
12
0
-7
0
17
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
0
-8
0
1
0
10
0
7
0
5
0
-4
0
-4
0
0
0
-13
0
-16
0
1
0
0
0
-1
0
0
0
-3
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
5
-4
-1
-3
0
-5
0
-30
8
-45
12
27
-4
-3
34
-79
3
16
6
25
2
3
-28
-2
-24
13
-16
141
7
28
0
-3
0
16
0
15
0
-1
7
7
0
-10
1
21
0
-4
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
2
0
0
0
-5
0
0
0
2
0
0
0
13
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
32
0
8
0
23
0
-3
6
-10
0
-27
10
22
0
-5
2
-35
0
-12
0
16
0
-6
-14
-4
-2
18
-5
-30
0
5
-1
9
0
0
0
-23
0
0
-7
13
0
3
3
5
0
-17
-1
-8
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
13
0
-8
0
-30
0
1
0
30
0
-2
0
-17
0
-1
0
-22
0
13
0
0
0
-4
0
91
0
-22
0
1
0
0
0
4
0
1
0
0
0
-1
0
9
0
-1
0
-5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-36
6
1
19
38
-13
5
10
24
-20
72
-6
-59
-3
-16
10
34
4
49
-19
37
-17
18
-6
26
1
19
-50
60
-24
33
0
-62
0
-7
-4
16
-2
29
1
4
0
8
4
-87
6
-10
-9
-8
1
-4
-1
27
-12
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
-2
0
-1
0
-3
0
4
0
-7
0
0
0
3
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
13
4
7
0
-41
4
-31
0
15
7
15
0
-12
13
40
-3
27
4
-9
-2
-11
-2
-2
0
-41
-24
-17
0
4
0
24
0
3
0
-5
0
-2
0
14
0
-2
0
13
0
1
0
-22
0
12
0
-26
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
14
0
0
0
8
0
3
0
16
0
-2
0
0
0
2
0
-38
0
-8
0
-3
0
4
0
-3
0
6
0
4
0
0
0
-1
0
0
0
4
0
-1
0
-3
0
0
0
7
0
4
0
8
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
7
39
22
-3
0
-15
34
11
-6
-24
8
24
0
-54
0
-52
5
10
27
69
7
-14
-11
77
-3
19
16
19
0
37
-12
19
-1
-19
1
22
0
10
22
-53
0
18
-4
43
0
15
8
-9
9
13
2
5
-1
-17
-8
-18
3
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
7
0
0
0
7
0
-1
0
-5
0
0
0
-32
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
-9
-2
2
0
2
-2
-3
0
-8
-4
36
0
-7
-8
7
2
1
-1
30
0
1
8
65
8
-14
3
22
0
-7
1
2
0
10
0
-40
0
-6
4
1
0
6
0
-2
0
3
0
28
0
5
0
-4
0
-5
0
43
-1
-17
3
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
0
1
0
0
0
-4
0
2
0
-2
0
-2
0
8
0
0
0
-56
0
0
0
-13
0
6
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
-1
0
0
0
-15
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-5
0
5
1
-1
-1
-53
-1
-9
-1
-12
0
0
1
-6
0
-5
-7
-37
0
-9
3
47
0
-5
4
-34
-6
-11
1
1
0
0
0
9
0
-3
0
-13
0
8
-2
39
0
-10
-3
-14
0
7
5
29
0
-3
4
-28
0
3
8
-7
-5
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
2
12
0
1
0
-6
0
0
0
-24
0
6
-2
1
0
-6
-2
-23
0
-10
4
20
0
-5
-3
0
2
-16
0
-2
0
0
-1
0
0
0
0
-1
0
0
0
3
0
-3
0
3
0
3
0
8
0
-7
-3
8
0
-6
5
-10
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
-1
0
-5
0
-1
0
5
0
0
0
2
0
0
0
-6
0
-24
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
3
0
1
0
-12
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-1
-2
16
0
3
0
-2
1
32
0
3
0
-4
-16
-66
0
1
-7
2
1
-41
2
10
-3
-12
10
9
0
3
0
4
0
2
0
4
0
0
1
-20
0
-8
1
-17
0
12
1
7
-1
-16
2
21
0
12
1
46
0
-28
1
22
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
0
4
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
8
0
1
-1
13
0
-1
0
24
0
8
1
0
-2
-1
-1
-25
0
-14
7
38
0
-12
-3
27
0
2
0
0
0
0
0
0
0
0
-1
-5
0
-1
0
3
0
-1
-3
32
0
-2
0
-17
0
0
0
-10
0
5
0
-16
0
2
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
-12
0
0
0
-25
0
-4
0
3
0
0
0
13
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
5
0
-1
0
-6
0
1
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
0
10
1
-28
0
4
1
17
-2
-41
0
16
0
18
25
-29
2
-4
-6
18
0
8
-7
-43
2
-23
1
-26
8
21
-1
4
0
9
0
-8
1
2
0
-7
0
2
-1
6
1
0
2
5
3
-5
8
30
0
-13
-14
-20
1
-25
-25
19
-5
-22
0
-9
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
3
0
0
0
3
0
1
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-3
0
7
0
16
-1
22
0
0
0
-3
0
41
0
37
0
10
4
-25
0
-3
2
-53
2
8
0
-5
0
-13
0
2
0
0
0
0
0
-3
0
-3
0
0
0
-1
0
0
0
-8
0
2
-2
6
0
-9
0
-40
0
7
0
7
0
2
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
1
0
0
0
0
0
0
0
-4
0
-2
0
-7
0
0
0
-17
0
-3
0
-36
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-12
0
-25
0
29
0
25
9
32
0
-6
2
26
0
-32
10
49
4
-8
-1
-28
0
36
-1
2
-3
-8
-2
39
-6
-31
1
4
0
0
0
14
1
-16
0
19
0
-4
1
-22
0
-8
7
-17
-1
8
-7
-3
-3
-13
1
-21
-1
25
-3
28
-3
16
0
33
0
1
2
0
0
-3
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
-5
0
0
0
2
0
15
1
0
0
0
0
10
2
17
2
-1
0
23
-1
-6
0
-6
0
-19
1
2
0
-24
2
9
0
9
0
9
0
-6
0
-17
3
2
0
-8
0
0
-2
-1
0
5
0
41
0
9
-7
-7
0
-2
0
42
0
15
0
6
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
0
2
0
-3
0
-1
0
8
0
0
0
-6
0
3
0
0
0
7
0
19
0
17
0
-2
0
-1
0
2
0
1
0
16
0
3
0
18
0
2
0
-3
0
0
0
-6
0
-1
0
-11
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
2
0
-1
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
0
4
1
10
-4
-45
3
-5
-15
9
6
36
3
29
0
-11
-15
-25
0
18
22
39
0
61
9
-39
-4
44
0
-8
0
-20
1
-8
0
-6
22
23
2
-8
9
35
1
8
-8
-72
0
34
-8
40
0
5
6
29
0
-8
-40
-45
-5
87
0
-1
0
-1
0
25
0
-6
2
-24
0
8
-3
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
-29
0
12
-1
22
-1
-1
1
-12
0
20
1
-1
0
4
-3
22
0
10
7
26
6
0
-6
-45
0
19
0
0
0
-1
-6
6
0
-3
-1
2
0
1
3
19
0
13
1
15
0
2
0
-5
0
-5
0
2
0
4
-4
48
0
2
0
4
0
0
0
-1
0
0
0
-6
0
-2
0
12
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
2
0
8
0
0
0
-5
0
0
0
-1
0
0
0
-11
0
4
0
-5
0
-10
0
-2
0
0
0
1
0
0
0
14
0
2
0
-1
0
1
0
8
0
0
0
2
0
1
0
16
0
-1
0
13
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
64
0
-13
-2
-15
-1
6
25
9
-3
16
10
-4
0
-5
-6
55
1
14
-8
6
0
-12
-15
17
-2
41
-22
-16
-3
-30
2
19
-1
-16
-2
2
0
-4
5
-12
-2
8
5
37
0
-1
3
14
0
14
-4
-31
0
-4
-7
-6
1
-13
-4
15
-1
-8
0
-9
0
6
0
-6
0
8
-1
33
0
-5
0
-18
0
-17
0
14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
9
0
14
0
4
3
47
0
8
0
6
0
-2
-2
-3
0
3
-1
-21
0
1
5
-44
-6
9
-2
17
0
-8
-1
8
0
4
0
-5
0
1
2
-21
-1
3
0
14
0
-24
0
23
0
-7
0
-7
0
-8
2
4
0
14
0
8
-1
-1
0
6
0
0
0
4
0
0
0
-17
0
0
0
6
0
0
0
-6
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
30
0
0
0
0
0
2
0
-14
0
-13
0
7
0
4
0
7
0
10
0
-4
0
1
0
-26
0
-3
0
0
0
0
0
0
0
0
0
5
0
-4
0
1
0
3
0
-16
0
0
0
4
0
4
0
-32
0
-1
0
-4
0
4
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
12
12
49
0
5
-41
7
0
30
5
60
0
-4
-13
29
-1
0
-34
13
-7
-6
-3
20
-10
22
-8
-88
-5
-14
-3
-12
0
15
-3
45
-1
-6
13
22
0
23
0
41
-5
-23
-8
3
-4
2
5
-9
-3
10
0
7
0
-48
13
70
-1
-5
-1
2
0
-8
0
19
0
4
2
-8
0
0
-2
48
0
23
-1
35
1
0
0
-1
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
-6
0
48
0
3
1
13
0
4
0
-4
0
8
-2
16
0
2
7
28
-8
1
6
-9
-4
-1
2
13
0
-57
0
0
0
-1
-2
3
0
24
1
24
0
1
-1
33
1
4
2
-11
0
0
-5
4
0
-10
0
-7
0
9
-5
-34
-2
0
0
3
0
0
0
-8
0
0
0
-7
0
0
0
-12
0
1
0
-13
0
0
0
-17
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
-16
0
1
0
2
0
1
0
24
0
-16
0
-9
0
0
0
-6
0
-3
0
15
0
3
0
-1
0
0
0
0
0
1
0
7
0
0
0
3
0
2
0
1
0
1
0
-14
0
1
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
7
-2
19
-7
2
0
14
22
9
0
-6
-6
37
0
42
-17
23
-2
-7
36
-19
1
-17
-21
-83
-12
20
0
-6
-2
-2
24
2
0
13
2
49
0
10
-6
7
0
25
0
28
0
7
9
-40
0
-8
9
8
0
2
34
66
-4
-40
-1
-3
0
24
14
12
0
-43
-4
2
0
1
-1
-26
0
5
1
20
0
-1
-8
-34
0
-22
10
-16
0
-10
1
-40
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
-1
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
0
9
0
-32
1
8
0
25
0
13
0
33
0
12
-8
-1
-1
-3
4
-4
0
3
0
33
1
-8
0
30
0
0
10
-21
0
-15
-1
7
0
0
2
8
-1
-19
1
29
0
8
1
-45
-1
6
-1
-29
0
-8
-1
-22
0
-14
0
-8
0
-13
0
-4
0
6
0
6
0
-1
0
2
0
0
0
2
0
0
0
-3
0
1
0
4
0
-1
0
21
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
-4
0
0
0
14
0
2
0
-12
0
1
0
1
0
-9
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
9
0
1
3
-45
1
-1
0
5
0
1
3
10
-2
-19
-1
-4
0
0
0
44
0
25
7
14
4
-5
0
0
0
0
0
0
0
0
0
-3
0
1
0
6
0
0
0
-15
0
-3
0
-7
0
3
0
-34
0
8
0
23
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
1
10
-1
0
0
8
0
2
0
3
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-7
0
0
0
-7
0
-1
0
-4
0
-1
0
12
0
-1
0
38
0
-1
0
-8
0
-2
0
0
0
0
0
-1
0
0
0
1
0
-8
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
3
0
10
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
-7
0
0
0
-3
0
-2
0
1
0
1
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
17
0
19
0
1
3
58
0
1
0
-9
0
8
-12
1
0
-17
0
-48
-1
-16
-30
-7
2
13
-1
-11
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
-2
0
-1
0
5
1
3
2
-8
0
3
0
-2
-1
3
0
0
0
-1
0
0
0
8
0
0
0
2
0
1
-1
-6
0
0
0
5
0
2
0
17
0
-3
0
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
-2
0
-3
0
1
0
-3
0
9
0
3
0
14
0
2
-7
48
0
-14
-4
-40
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-2
3
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
-1
0
-2
0
0
0
-1
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
1
0
1
0
4
0
1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
5
-1
-16
-1
12
-1
17
0
8
0
-25
0
8
9
-23
-5
32
5
7
2
-25
-5
-50
-2
0
0
13
0
-5
-1
-4
0
0
0
-7
0
1
0
1
0
0
0
-4
0
-6
3
-13
0
14
3
-12
0
2
-1
15
0
-13
0
8
-4
-4
0
4
0
0
0
1
0
2
0
-3
0
0
0
-6
0
-3
0
21
2
0
1
-3
-1
4
-1
-40
0
0
0
12
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
-3
0
0
0
-2
0
1
0
-5
0
5
0
-6
-1
-16
3
12
0
-2
1
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
-6
0
1
0
6
0
0
0
-23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
2
0
-1
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
3
0
0
0
-30
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
2
-1
24
0
-9
0
-8
0
-1
-2
36
0
6
13
65
0
-37
-8
-9
3
-19
10
-63
0
0
-5
-13
0
2
2
0
0
-1
0
4
0
-2
0
0
0
0
0
12
0
0
0
-7
2
8
0
8
0
6
0
-4
0
4
0
1
0
2
0
8
0
0
0
1
0
1
0
-16
0
-1
0
-3
0
0
6
23
1
-14
-1
-7
0
-4
1
-16
0
2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
8
0
3
0
-3
0
7
0
10
0
0
2
4
-1
-24
0
-19
0
6
4
32
1
-29
0
-1
0
-17
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
4
0
-7
0
0
0
9
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
4
0
0
0
19
0
1
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
-1
0
2
0
0
0
-19
0
1
0
13
0
-3
0
9
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-3
3
14
0
-12
4
5
0
-10
-1
54
0
46
-2
-13
0
-7
-6
-8
-3
29
25
-36
4
19
16
46
-1
-17
0
8
0
0
0
-1
0
1
0
-3
0
3
0
-15
1
3
0
-2
0
5
1
-5
0
-10
-1
10
0
5
1
37
0
13
0
3
0
0
0
9
0
0
0
0
0
1
-1
4
0
-3
0
-30
0
-3
0
-8
0
1
-1
12
0
-8
0
59
-1
12
0
0
0
0
0
0
0
0
0
-2
0
4
0
22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
30
0
0
-1
-5
0
0
-1
6
0
0
-1
-14
0
0
0
17
0
24
-7
-17
0
-13
0
0
0
0
0
0
0
0
0
2
0
0
2
-1
0
-1
0
-5
0
2
0
1
0
0
0
8
0
0
0
8
0
4
0
1
0
0
0
-13
0
0
0
-1
0
0
1
-4
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
3
0
0
0
1
0
0
0
-37
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
36
0
6
0
10
0
-3
-7
2
0
8
-1
33
0
-1
7
-10
0
-14
10
-13
0
-38
-14
-45
2
-3
7
13
0
3
0
13
0
0
0
0
0
1
-1
-6
0
-7
0
5
0
4
0
-6
0
4
0
8
0
1
8
40
0
-3
2
-6
0
-3
0
15
0
-1
0
1
0
0
0
-1
0
2
0
18
0
2
0
3
0
1
0
-4
0
0
-1
6
0
-9
0
65
0
3
0
0
0
0
0
0
0
0
0
-15
0
1
0
-29
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
2
0
0
0
-4
0
7
0
-10
0
0
0
19
0
2
0
31
0
0
-1
24
0
-8
5
15
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-1
0
1
0
-4
0
0
0
5
0
0
0
-27
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
-2
0
0
0
0
0
-2
0
-8
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
7
0
1
0
-2
0
1
0
-6
0
3
0
-3
0
0
0
25
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
4
0
-11
0
-7
0
-18
0
-4
-2
35
0
29
10
-6
0
-13
7
2
0
3
-17
-19
0
19
0
-22
-10
-15
1
50
0
1
0
24
0
-7
0
41
0
3
0
-5
0
3
2
23
0
-3
0
33
0
-22
0
8
0
-6
0
3
5
2
-4
7
0
0
0
2
0
-5
-1
-27
0
0
0
-31
0
12
-8
-17
0
-8
-2
30
0
7
-2
13
0
-1
0
25
0
-13
0
0
0
0
-4
6
0
0
0
3
0
0
0
-8
0
0
0
-3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
0
0
1
7
0
0
0
-8
0
10
0
17
0
-4
-2
13
0
-7
0
-6
0
0
0
29
0
-6
0
2
0
0
0
1
0
0
0
-1
0
0
0
1
0
0
0
7
0
0
0
8
0
-1
0
-10
0
0
0
-2
0
0
0
3
0
0
-1
2
0
2
0
0
0
0
0
-7
0
0
0
13
0
0
0
-18
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
-1
0
2
0
1
0
-13
0
-2
0
-5
0
0
0
44
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
-30
5
16
0
1
3
14
0
-13
-1
-11
0
-5
-8
16
2
-7
0
-10
0
13
-7
-20
5
-56
8
-6
0
8
1
12
0
8
0
-9
0
-3
0
25
0
-4
0
14
0
0
4
7
0
-1
-1
-12
0
5
-2
-15
0
-20
0
8
0
-1
-2
-2
0
0
-1
0
0
2
3
5
0
0
0
16
0
0
2
-12
0
-13
0
-6
0
0
0
-10
0
-7
1
4
0
0
0
-8
0
0
0
2
0
0
0
5
0
1
0
2
0
3
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
0
13
0
2
0
0
0
10
0
3
0
-1
0
-7
-3
-24
1
-23
2
1
0
-2
0
8
0
-22
0
-12
0
0
0
0
0
-1
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
8
0
0
0
-8
0
-1
0
25
0
1
0
0
0
4
0
5
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
-1
13
-6
-3
-6
40
14
43
-27
-31
6
-20
73
39
11
39
20
4
31
72
24
19
44
-46
4
9
3
-19
66
1
-4
-9
0
13
-14
-12
15
-11
33
18
-12
-8
18
-5
32
-2
15
6
1
17
-39
-37
-7
24
24
7
48
9
16
-20
56
-57
-18
-36
-3
25
9
15
41
-61
-7
85
9
63
-32
48
14
14
-5
-24
67
22
-32
-5
29
-6
6
-19
33
18
-3
5
-13
4
40
-34
12
11
-9
-4
26
23
-65
13
22
-21
-14
56
-47
-21
40
66
-1
3
-9
-22
19
9
8
-12
14
18
13
25
-7
36
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
26
35
2
49
-4
-2
17
0
-68
28
8
24
-10
-1
28
-63
8
5
9
1
29
1
-7
-29
1
-14
-24
31
-29
-20
8
-17
-37
21
22
-13
-16
0
19
-1
11
8
15
-7
42
-24
18
20
19
2
-20
3
8
-3
1
25
-19
12
-9
-3
59
25
-1
3
-8
-2
29
-3
10
2
14
4
12
20
23
-8
1
-8
-7
1
-1
-2
2
2
0
1
8
14
0
-12
0
2
4
8
-7
-10
-48
23
28
0
-7
0
0
-7
15
12
5
12
-12
-4
-1
12
-12
-4
-13
-1
1
0
-24
-5
-8
-1
-1
-2
7
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
-31
46
20
47
2
-10
-59
-20
36
-5
-51
5
7
5
-1
-4
1
-1
5
0
-13
1
11
12
-7
-50
28
-21
20
0
-9
25
-8
-18
59
-3
5
7
25
7
-12
19
-10
-18
-19
2
2
-3
2
-14
-2
22
-30
40
-5
12
2
0
-11
-1
5
4
40
-26
-2
53
-16
-5
1
-3
8
1
8
-1
-3
0
1
-8
1
-21
18
1
3
38
-7
-11
-4
-90
-19
-87
6
7
-45
35
42
11
-29
-6
-16
24
-1
-9
5
8
3
-12
-2
0
2
0
-8
-13
-8
14
-1
-1
22
43
-66
-41
33
-95
37
-23
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-36
-20
13
49
24
30
-25
-9
4
-2
-10
-17
2
-20
-19
-12
-8
4
47
-7
-41
-27
-3
3
16
13
-7
6
13
7
-18
8
-7
-29
6
24
1
12
-2
10
-6
12
-1
-13
-2
0
-20
-56
39
-53
21
22
10
-119
-3
1
-11
18
20
-18
27
-32
12
0
-10
-2
-4
1
0
1
1
8
-2
19
1
-1
0
0
-37
-29
8
16
12
-24
-15
16
2
27
-14
43
32
-30
-34
-11
32
-16
18
-3
-2
0
0
0
-8
0
-4
-7
0
0
0
-6
-58
-7
-13
53
-29
-5
-7
10
7
5
0
-10
3
52
53
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
23
-10
-20
29
-23
-20
49
26
23
16
20
-22
-5
17
-35
33
-7
-2
-26
11
-49
44
15
38
-37
-18
-24
4
7
-6
5
7
5
-6
7
8
9
13
0
19
38
-33
4
49
11
-54
58
-16
2
8
-11
27
36
-16
28
3
-10
22
6
-63
22
-7
49
-26
74
20
-5
22
-41
-14
12
-3
-12
-5
13
-3
19
0
26
42
-41
47
41
9
-22
5
79
8
5
23
27
68
-58
-4
-37
6
5
7
84
-111
48
-39
40
-18
-43
-1
60
31
13
26
-8
47
57
-12
-8
20
5
13
-16
80
-19
7
5
8
8
-20
-4
-16
25
44
-27
50
41
11
-10
17
17
3
16
-1
-42
-17
-14
33
22
10
12
-23
-1
-14
32
15
5
32
29
4
-4
-18
5
-30
20
-2
43
8
-30
19
-13
17
23
18
-5
-13
-1
9
-6
22
4
-18
-2
9
4
3
-1
-20
9
8
15
24
10
32
16
-24
-4
-15
9
5
0
24
21
17
-1
7
-6
5
13
10
-7
-3
-1
-4
0
0
0
1
0
-3
-8
0
1
1
-4
-27
8
-4
7
19
48
37
-19
8
-18
10
36
-8
1
-17
-3
8
16
-22
1
10
-25
5
-1
-8
5
-4
12
24
7
16
0
-17
-34
31
-2
55
25
48
8
-3
15
28
-6
-1
15
-13
-8
6
-42
41
25
23
4
-16
0
-4
9
-17
10
14
4
7
10
42
15
36
3
4
33
46
6
0
3
-25
-4
22
15
-3
-1
4
-3
-27
-8
6
-24
-10
6
3
8
-8
-3
-15
-25
-7
-1
53
-7
-40
-25
-59
-6
-8
0
1
4
51
-1
0
0
0
2
3
13
-8
0
3
2
-1
-1
-6
-5
3
0
3
8
8
0
-3
-16
25
-16
-1
15
-5
0
20
8
16
3
4
-4
0
-1
5
-6
8
1
-14
-16
-1
2
0
-12
-8
0
5
2
-3
0
5
-29
44
14
11
-5
4
0
24
-5
3
0
-2
2
1
-2
1
-7
5
-3
-7
22
8
0
-3
-1
-16
4
3
0
8
-3
-14
24
-6
4
-19
-6
2
0
2
8
-19
-7
3
0
0
0
2
-16
-6
3
8
-1
5
0
0
3
5
1
0
-1
2
1
25
58
55
32
33
-2
13
0
-4
-4
-8
1
-6
0
0
0
5
-9
-13
-2
19
3
0
0
0
-2
1
1
0
-2
1
-1
-70
-5
-6
-65
40
-23
-12
-2
3
-14
1
-4
12
-2
1
0
3
43
-48
4
-52
14
0
-1
-1
-2
2
0
-2
25
-2
-6
41
10
1
3
9
-17
-1
7
5
37
-16
13
-50
-5
-5
0
8
-1
1
-4
2
-5
-8
29
-7
7
-2
-1
-8
6
-65
-28
1
43
9
-2
23
5
9
2
3
3
3
-7
3
-17
25
-2
-5
-5
-6
-10
-6
-13
-44
-3
-4
14
-6
-3
24
25
-15
-40
-3
25
65
25
-7
2
-4
1
20
4
17
-1
2
-10
-14
-6
13
0
-13
-19
-9
40
57
-30
-40
22
-28
-15
-75
-4
0
-17
11
-6
24
20
-88
-16
8
0
17
4
-23
2
-19
-1
0
0
-20
-2
-17
8
-15
-40
2
42
-15
-9
-24
0
13
46
9
20
1
24
-4
-29
11
-10
25
0
-12
-2
7
2
6
6
-4
0
24
9
18
12
-21
-24
40
-102
22
-41
40
-12
-6
24
-10
31
-43
7
-15
6
4
-1
2
0
-1
13
0
-1
1
0
2
0
8
-8
-52
42
16
13
9
-8
-3
-22
1
-8
-6
41
-13
3
-7
16
-34
-1
-24
0
4
0
-3
0
0
0
0
0
0
0
0
2
-3
24
-79
37
6
-13
-22
5
-10
25
-13
-8
-6
34
50
8
2
17
-3
-4
0
0
-2
1
1
0
-3
0
1
-1
0
-16
-40
-25
-26
-61
10
4
-16
-32
9
30
10
2
9
17
-5
27
44
24
1
-23
29
-9
26
-5
12
-1
9
1
8
-5
5
30
-36
46
-27
12
40
28
-22
-1
4
2
-13
-4
-2
10
1
21
-50
-4
12
29
-44
-24
32
-1
-8
5
8
-1
1
1
6
-2
16
21
8
-9
7
-14
58
0
-14
23
6
-25
5
30
-4
6
-43
3
13
2
-8
0
-6
0
-1
0
-5
0
1
-1
2
-19
-21
10
6
4
20
7
44
-2
13
18
4
-23
-20
46
-22
-47
-4
-25
15
17
5
0
-1
0
0
0
-3
0
0
0
0
-69
48
-22
-54
29
-3
5
14
-7
36
14
37
43
31
13
54
6
51
9
41
-16
-9
12
9
25
7
-8
5
-1
0
3
-4
17
16
-15
12
27
-5
-6
-43
14
59
-45
-27
15
-10
-42
61
25
33
16
-5
0
10
0
-6
2
-4
0
-2
1
0
-1
-2
-45
-48
-11
-24
19
-14
10
-3
-8
0
36
-30
-21
16
22
28
2
-15
2
17
0
15
1
-2
10
-8
0
-4
0
1
0
1
6
2
18
-3
53
13
10
19
16
1
-4
-16
-50
25
-9
58
3
-7
-57
-37
-2
-24
11
-28
15
-26
23
4
-6
37
13
16
-10
-14
-1
0
-13
11
-5
43
0
1
22
28
20
64
15
51
12
5
29
-1
39
11
31
-11
22
27
33
24
-3
21
17
14
-50
1
-9
40
-27
3
-2
21
-17
54
-41
34
3
-23
42
0
21
2
-30
17
-27
18
-18
1
7
11
14
-11
-4
5
-29
-32
66
-18
68
-46
-19
15
-1
-38
46
79
-18
-3
23
-4
-3
-6
4
-15
14
69
13
21
-3
-22
-5
17
18
14
48
16
6
6
-10
-7
-23
-8
-5
5
5
7
47
10
-6
-13
18
30
9
-4
-6
13
36
14
29
26
18
26
23
20
-27
-71
-31
68
-10
12
1
-39
12
44
23
8
3
12
-17
3
8
-16
33
4
-40
-4
3
-22
13
14
-1
6
6
-10
3
-12
-14
17
-4
0
-10
3
-14
27
-1
-23
5
-6
0
-23
25
12
16
7
6
8
-3
-14
42
-25
-6
-13
20
32
16
-8
29
5
8
19
0
4
1
10
4
0
0
4
-17
-8
0
-1
-5
-24
1
1
-12
6
-2
33
38
21
18
-14
2
-13
-1
5
3
7
8
-5
0
-8
0
4
-1
-2
0
-1
0
0
-4
-4
2
0
-1
-2
1
-1
0
-30
-16
25
-8
53
-2
-10
2
23
8
-2
29
-47
8
-1
-1
-33
19
12
-2
-16
-30
14
-17
13
0
-15
5
8
-18
16
25
1
31
29
-8
-34
-1
24
8
14
29
8
7
41
-3
-6
-6
27
-9
-7
4
16
-3
3
-8
-6
6
12
-3
-13
-6
-2
6
-20
29
25
-45
54
-1
10
-1
24
8
-4
-3
23
6
0
1
-1
4
-13
2
0
4
0
0
2
2
-6
0
5
0
0
-8
-8
5
9
14
-40
16
-20
1
0
1
-8
-1
2
1
-1
-1
7
0
9
0
9
-1
-1
0
3
-3
-3
3
6
3
1
2
-22
20
4
40
-66
6
4
6
10
7
20
4
4
0
-1
0
8
-7
8
1
0
-6
2
0
3
-8
4
0
2
0
0
9
-26
-18
-13
-12
-44
3
1
0
8
-4
-2
-7
1
0
0
0
4
6
-10
2
-1
0
4
1
-2
-4
0
0
0
0
0
0
9
20
14
-17
-17
0
9
0
1
2
-9
-2
0
0
0
0
0
-19
3
-1
-6
0
0
0
0
0
0
0
0
-8
1
0
0
16
-32
-12
-3
0
8
0
-4
-7
0
-1
3
0
0
-2
0
7
0
0
1
2
0
0
1
5
-7
0
0
0
-2
1
20
7
-26
-13
61
0
-6
0
-8
4
-24
-20
-13
3
1
12
-7
-8
41
6
16
0
-17
0
0
-22
-8
4
-3
6
29
5
93
-15
-10
10
-13
2
24
0
0
-5
-6
4
33
-1
-3
0
3
0
-2
3
-8
-9
22
-5
7
4
-27
-46
-11
-9
4
2
2
-78
0
48
17
-5
0
-10
29
8
5
5
27
4
-4
-8
-2
-2
2
13
-3
6
-7
-15
19
-25
-4
-17
-30
-17
5
12
-2
17
24
-1
-7
3
0
0
-8
2
4
-1
0
1
0
0
-8
3
11
3
-24
21
62
-34
-10
-19
23
-9
-26
28
-70
2
6
-13
41
-2
-30
12
-3
-2
-1
9
5
0
0
0
0
-1
-14
-6
4
-16
-8
5
23
64
-46
14
-5
21
-31
-14
-3
13
16
-23
-9
-8
25
-1
8
-1
22
-6
-4
0
8
0
0
1
-2
-3
-24
52
31
53
24
23
-5
31
12
-4
55
-21
-41
-32
9
49
-28
1
-16
4
2
2
-8
1
1
2
0
-2
-1
1
5
9
-9
12
-47
-41
-35
5
9
63
29
29
-12
8
-20
32
-14
-13
1
3
-25
0
8
0
3
0
0
0
0
0
0
0
0
-11
-9
48
56
12
-48
-2
-26
37
41
-25
-8
30
-13
32
40
-5
-9
16
7
14
0
0
3
2
-2
0
0
0
1
1
7
-7
-27
-25
-125
44
-27
41
-9
12
18
39
4
5
41
-21
17
2
15
9
-22
-9
24
1
-10
0
1
-5
2
6
-10
-7
14
1
-7
-10
47
-47
42
-20
-27
0
-2
16
-13
-21
-35
-21
8
27
8
3
15
-2
9
0
14
15
3
-7
2
-3
-1
0
4
-7
-21
23
-46
42
-12
-5
13
0
16
33
-2
26
18
36
11
-8
-31
-17
-34
-10
8
0
-5
0
9
1
-5
1
0
0
2
-4
-16
17
39
-1
36
-14
-11
-10
-8
2
88
6
59
-25
35
40
-5
-29
40
4
-1
6
8
1
2
3
3
0
0
0
0
-37
-11
31
17
-8
7
-6
-16
-1
17
-47
-67
-37
4
-34
13
7
-27
-21
30
-1
40
0
5
0
12
1
-8
0
-1
0
-1
-26
22
-10
52
-1
17
-3
39
31
-9
-15
2
14
7
-2
-6
40
1
41
12
-3
-4
-1
1
5
5
0
-1
-2
1
0
0
-24
-96
0
7
0
-14
-15
-8
-6
15
63
-57
-27
72
-13
52
41
47
6
-91
2
5
0
5
-14
-9
-1
8
-1
0
0
2
1
-26
-10
-40
41
25
-16
16
26
-21
-17
69
-14
-4
-50
17
6
1
14
2
-17
-13
47
-12
-39
-12
-6
-10
-4
-14
10
33
1
-4
-3
5
8
-14
-18
25
-5
0
-10
-14
7
-7
33
5
1
8
15
-17
0
30
106
-17
-38
-2
56
6
4
47
-3
17
32
21
4
7
9
8
-1
4
17
12
0
24
-27
-3
32
-26
-6
-8
-13
-16
18
3
1
2
12
67
10
20
-3
-8
34
-53
20
-13
-5
-9
28
19
0
-9
11
-3
3
-75
3
50
-27
-6
-3
-19
31
31
-54
10
-7
17
0
0
53
-30
32
-6
-14
8
8
-9
41
18
-19
15
-20
14
38
9
20
27
-29
26
-8
6
31
-18
11
-30
-12
9
-37
-12
32
-14
55
-22
57
-5
-8
-21
13
92
6
-7
-6
-2
-2
-16
19
25
-17
25
2
-29
27
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
19
-27
84
32
25
4
-25
-6
37
3
10
5
0
-3
-22
0
-21
-34
58
18
0
-3
14
44
17
-8
-17
-36
6
-25
1
32
-17
4
-19
26
-1
13
-44
-5
-1
5
0
16
-14
-1
-16
19
-71
-1
13
41
20
4
1
39
34
0
12
-13
-8
3
1
2
49
8
17
18
17
9
10
7
8
8
10
14
2
-5
-9
-13
8
-40
-12
-14
-3
-2
3
-10
-1
9
-3
14
-13
-2
7
-19
-12
32
-6
-6
22
-8
5
5
-41
13
8
7
-1
0
-3
-1
13
-16
-33
0
8
1
14
1
-6
-4
-5
-1
-18
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
19
21
-31
65
9
4
24
64
-2
18
8
-53
13
10
8
-2
-4
3
6
-8
9
4
8
-7
-25
-1
17
-3
6
66
0
9
22
59
-9
2
23
8
25
-12
-6
-9
16
13
-3
9
-10
-7
4
4
-11
1
-54
26
11
26
31
-66
16
-12
-27
1
7
12
-1
13
29
-1
8
1
8
15
29
0
-48
5
-2
0
20
12
-6
34
9
-37
1
-2
-32
17
11
2
-27
-106
24
-40
-16
-5
-44
-13
57
1
2
-9
8
-15
-20
38
7
-1
13
-14
-8
-2
-12
-6
-32
-23
-10
4
-61
-26
11
12
6
4
-11
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-74
-13
-12
4
40
-1
7
-29
42
4
8
15
-30
6
2
30
72
-26
-34
18
-52
-21
-17
-3
2
4
-9
7
-25
-36
3
57
-47
6
24
-13
4
1
8
27
3
-7
20
4
5
8
34
20
10
-2
-98
17
13
-35
-26
-1
-41
-9
3
-23
13
27
-9
0
-15
-1
-8
-17
2
0
-1
9
0
-12
8
-22
-1
3
-8
0
-37
51
32
77
38
-16
-8
-18
-3
-74
-10
0
51
5
-29
-6
7
0
-7
-2
-7
2
6
-5
8
-3
10
29
-38
-8
7
-24
-59
13
29
8
9
-24
-24
-16
-72
12
15
62
49
-43
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
5
18
54
-17
26
15
-12
-30
20
0
-2
26
-4
12
25
4
28
26
23
33
-41
20
-11
-2
16
-46
-14
6
-22
-10
2
1
26
-13
-4
-8
32
41
36
49
-12
-13
36
-1
38
15
20
15
7
-13
-35
-8
-5
18
-6
-3
19
-19
-2
0
-7
-16
2
-25
8
27
72
30
-31
32
43
-2
48
18
3
-2
-12
-15
-16
6
-34
21
0
1
18
-2
23
38
1
3
-25
34
30
12
-23
7
-5
-1
25
-15
60
18
-17
-4
13
3
21
-15
-14
0
-3
6
30
22
42
-1
0
-29
8
-9
-1
-2
20
-38
24
-45
-23
0
96
40
-1
51
-2
39
43
9
6
16
8
2
1
15
7
-24
5
-15
8
-15
6
3
-1
7
0
7
-15
5
0
-43
-19
6
-6
-14
25
2
-28
26
8
40
-1
16
-5
-8
-8
-8
-10
-62
6
-17
8
18
0
-2
24
34
0
2
-1
9
2
-9
-7
15
-14
-34
5
28
12
16
2
1
-9
-6
8
6
0
-5
13
-6
-2
-25
-1
-1
-1
0
-2
-1
1
0
0
-1
1
12
-1
18
-23
11
-18
19
20
-31
13
-15
5
2
8
23
12
9
-20
-17
19
17
0
-16
3
-2
-8
6
1
-1
-25
-8
0
5
19
58
40
-7
-31
69
10
20
-7
23
14
25
-4
9
-7
-3
5
8
13
2
-19
0
0
-6
45
5
13
4
17
0
-5
29
59
-10
50
16
-13
27
-29
-13
-30
36
1
6
-31
14
-4
3
7
-22
0
0
5
-3
0
-1
14
6
-3
-1
-29
13
-3
13
-30
-10
34
-68
3
14
8
-6
-2
4
-1
-9
2
-5
0
-8
9
1
-2
3
0
0
0
0
1
2
0
1
5
0
-1
14
23
-8
-4
-54
4
12
2
-5
19
10
24
30
2
-9
3
-20
6
7
-1
8
3
0
0
0
-4
1
1
10
-13
-2
0
6
34
7
-1
22
13
10
-10
8
18
-38
1
5
7
9
0
-5
0
-5
2
-1
2
2
0
-1
4
0
0
0
-2
0
0
-29
4
5
-14
40
-4
41
1
-3
-15
-24
2
0
13
0
0
0
5
8
1
2
0
-1
0
0
5
5
-1
0
0
3
0
-1
28
-25
10
48
3
27
1
6
-4
-8
0
-1
-1
0
0
1
16
5
-7
-12
0
0
0
0
0
-8
-1
0
-1
0
0
-30
-32
-83
27
-29
-14
17
2
0
-28
12
22
-1
0
0
0
0
-40
-1
-2
12
-8
-1
-1
-1
-2
19
0
-2
8
0
0
19
-2
71
7
-7
24
36
-2
-38
8
12
7
15
-2
0
10
0
-2
0
6
-12
6
17
31
-4
-11
-21
-6
29
35
-31
16
-5
52
1
0
-10
-26
-6
-9
-1
2
-5
-5
13
-4
-6
-10
10
-1
-4
15
5
7
-38
9
13
-8
-5
-6
-42
55
-6
-15
-26
0
32
-23
41
4
-7
1
8
0
3
3
0
0
0
-1
-3
-1
7
5
10
81
51
0
-25
-35
-19
41
-58
8
13
-4
-33
14
-12
19
8
9
-23
3
-40
-8
0
-1
-15
-3
5
0
-8
-4
-6
13
6
62
19
18
-5
-10
-27
-45
-34
-84
-54
-35
28
19
-18
8
16
13
30
0
-4
22
2
1
0
0
5
0
-1
8
-14
51
1
38
-14
-41
-50
11
6
-14
2
-45
25
41
19
21
0
-5
-14
-8
-7
0
24
0
3
0
0
0
-2
0
0
27
-11
-42
-28
24
-18
-57
-10
-19
19
-4
7
13
29
2
-25
6
13
-2
-24
-5
0
-2
0
0
0
0
0
-1
0
0
0
25
-1
4
5
-29
40
38
-53
-69
41
30
2
-42
6
19
38
6
-29
-7
-19
7
24
-1
-3
1
0
0
-1
3
0
0
0
-4
-27
-10
-17
-17
-14
-49
-22
-2
32
5
-7
-23
-10
-14
-3
-14
13
8
45
-12
2
0
-10
-4
-40
5
-8
0
-1
0
0
3
3
26
-33
-75
-6
-36
48
-1
2
2
-20
-7
-20
57
2
7
-18
-8
34
40
-10
8
-9
-8
-12
7
5
-1
-3
1
-3
-9
-97
7
15
-2
15
-7
7
-4
-12
16
18
13
7
-40
-4
-1
8
-13
22
-1
1
0
-1
2
-10
-1
0
0
0
0
1
24
33
-68
-45
3
8
-4
14
-2
6
-9
14
3
1
-35
28
-34
20
-15
10
-2
1
0
-2
-8
13
0
-2
0
0
0
0
7
-39
-34
1
14
5
-2
10
-11
0
33
30
0
83
-47
10
46
43
14
-19
-22
-17
1
30
7
52
0
10
-3
0
0
0
11
10
-8
20
-12
2
23
-5
29
9
23
-12
1
-19
39
-14
25
-20
25
23
-8
31
0
1
12
0
0
3
0
-10
1
0
-3
13
-13
13
-21
8
-2
-3
-20
-48
3
-17
28
22
-7
26
-6
35
-17
0
12
36
-5
-8
-2
2
-1
1
0
-4
1
0
8
43
-4
-19
-10
6
20
8
-5
22
-2
40
-9
-7
-22
52
-12
-6
-15
-7
39
20
6
-19
-1
55
-18
0
16
-5
15
-48
-4
-15
-43
-26
-9
-7
-6
-3
5
-23
-4
28
-2
7
24
-16
3
-4
-50
12
5
41
-10
3
18
31
39
16
-23
31
-2
-3
18
41
5
-35
42
-24
1
-8
23
20
27
-21
29
2
30
17
5
-1
23
30
17
44
8
-40
-3
-4
12
16
32
-15
8
33
63
-43
2
23
-25
12
-22
-3
2
70
-5
-48
-42
-4
-4
5
-28
3
44
41
11
40
-17
50
21
13
-9
-20
15
24
10
4
-30
7
14
-5
-5
14
0
29
3
5
-25
10
-12
8
3
14
5
4
-33
-14
17
11
-23
52
71
-20
7
8
0
-16
-4
-18
-8
21
-5
-30
-6
6
8
10
-7
17
-1
10
-8
33
-5
26
30
24
18
-38
12
-15
-3
-40
-3
19
-6
0
0
7
0
-5
17
19
3
-6
0
-5
-2
3
3
-9
2
-3
33
-4
1
-18
-29
-19
24
-29
34
65
-6
-2
-18
23
3
10
0
-14
0
8
-25
-8
-3
3
5
-1
-1
0
6
0
0
2
1
0
0
-2
46
-12
8
0
-7
10
0
0
22
-24
-2
7
1
-3
0
0
-2
-5
0
0
0
0
0
0
3
-5
0
-1
0
0
1
-16
60
-11
-21
39
18
7
8
-30
-10
2
-14
-1
8
-10
0
-2
38
-29
2
8
-1
-1
0
1
-12
-24
-3
-7
18
0
-2
-11
9
4
9
28
-33
22
3
20
-11
5
18
-6
13
24
-3
-4
-28
-7
0
8
4
4
0
-3
12
-1
-1
2
7
-19
0
-41
13
26
33
-6
-8
43
0
5
-1
-19
-2
8
2
-12
0
-2
-23
-6
2
4
1
-3
0
0
7
2
2
0
-10
-4
0
-8
4
58
-2
-18
-17
5
3
-1
1
-1
23
2
-1
1
-1
1
4
4
-1
0
5
1
0
-2
19
-7
0
0
-1
1
0
-24
-1
-15
2
-4
13
13
-1
17
-25
25
-1
2
-1
-7
0
0
25
13
0
-3
2
7
1
1
5
0
1
0
4
0
0
-24
-2
-47
15
-41
4
-9
2
-1
23
0
0
0
0
3
0
1
5
-12
3
-1
0
0
0
0
-1
8
0
0
0
2
-2
-14
3
-11
24
-8
16
6
1
4
0
5
0
-1
0
0
0
0
0
-12
-1
0
1
0
0
0
9
-16
0
0
0
-2
0
-21
-24
-17
48
27
-12
0
-2
-4
-2
-6
0
1
0
0
0
0
19
-16
0
0
0
-1
0
-1
-1
-7
0
0
-1
0
0
17
-1
27
21
40
-5
5
-1
-8
-8
5
1
2
0
1
0
0
-14
47
22
-4
-7
-3
0
0
7
-8
3
0
-16
-6
0
-8
14
-33
12
44
24
-28
19
-18
-12
-25
6
3
-6
-18
-4
-8
0
-4
17
-5
-1
-12
-17
-25
-11
19
9
5
6
-10
-34
-11
-3
-11
72
-22
22
-13
-8
26
34
7
25
-10
-5
17
-6
-25
-1
-2
-6
-18
-12
7
-8
-20
32
-16
-9
-13
-39
-29
-1
-20
-8
-4
15
6
23
3
-4
-6
14
2
2
0
3
-4
0
1
1
4
28
12
17
-16
-47
-9
-20
8
15
-6
40
40
82
-10
-14
36
-5
-30
14
14
1
-7
7
-14
0
8
5
4
0
1
-5
0
8
10
-6
-12
-4
-49
20
-72
-21
5
5
-12
-27
73
6
27
-16
8
9
-18
0
8
0
-6
2
8
2
0
2
-1
-8
43
17
9
54
30
-7
-5
23
6
-51
44
4
-20
-19
0
11
6
13
12
-3
4
1
3
-22
32
0
1
0
0
1
-4
6
6
-6
-23
5
-10
13
-3
-31
-3
-6
-4
17
-4
19
-41
3
-40
-5
-8
6
-2
0
0
4
0
0
0
0
0
0
0
13
1
-29
19
18
19
-20
31
-25
3
6
14
20
0
0
2
53
-12
-6
-44
-17
5
-1
3
-3
5
-1
0
6
-4
0
0
-5
3
10
3
79
30
31
12
-77
-13
9
7
5
1
-12
-13
17
20
12
-14
-5
-2
-9
12
8
-4
-6
5
10
-2
-1
-8
8
-34
-30
24
-29
34
-14
55
0
4
17
15
-11
-7
-8
5
14
28
32
-17
1
-20
0
3
-16
16
0
1
0
-1
0
1
-1
-5
18
57
23
10
-13
-10
2
-8
-7
-9
-35
6
32
-16
-16
6
-5
3
7
-5
-1
3
1
-6
-1
0
0
0
0
0
2
22
-19
27
-50
21
25
-29
0
21
73
26
-18
-4
63
-29
-1
-7
8
14
-1
19
0
-1
0
13
0
-3
-2
-1
0
-2
58
40
4
-29
-27
25
3
-1
-8
-6
14
3
-21
-27
-24
-19
-42
1
10
21
-14
10
2
3
15
-10
0
-2
0
0
2
2
-12
74
28
46
-69
42
1
-42
2
25
-57
41
-15
20
-10
22
50
-7
40
6
6
-41
-2
0
10
17
-1
0
0
0
0
0
-36
46
-48
13
4
6
-19
1
15
5
-59
3
-15
2
29
-11
7
33
8
8
-12
9
-1
1
-14
7
0
0
-1
1
0
0
-25
-72
77
32
-49
24
16
-29
26
-13
3
21
-24
-2
-9
-56
2
-6
-19
-9
19
11
46
-7
-13
17
45
-1
40
-22
25
-25
0
-12
1
-12
15
-11
5
3
-2
-20
-2
0
15
10
-13
-4
-5
-2
15
-19
0
0
0
0
15
-38
13
30
0
0
0
0
26
-14
32
-12
0
0
0
0
-22
-16
10
9
0
0
0
0
2
-3
8
4
0
0
0
0
-19
-14
40
8
0
0
0
0
120
-1
29
43
0
0
0
0
-40
28
-2
24
0
0
0
0
21
-16
46
33
0
0
0
0
-36
37
25
-6
0
0
0
0
31
19
-8
-18
0
0
0
0
3
7
29
19
0
0
0
0
16
-28
59
-42
0
0
0
0
49
26
25
-24
0
0
0
0
-2
12
-17
-13
0
0
0
0
-15
18
-9
-19
0
0
0
0
5
36
21
5
0
0
0
0
36
-28
25
-30
0
0
0
0
10
20
0
3
0
0
0
0
43
-2
7
-5
0
0
0
0
-18
-21
-28
12
0
0
0
0
4
17
38
1
0
0
0
0
2
-10
-3
-13
0
0
0
0
22
38
7
6
0
0
0
0
2
-1
4
10
0
0
0
0
7
6
2
7
0
0
0
0
-16
16
-6
-2
0
0
0
0
0
-2
-1
0
0
0
0
0
-12
-5
-15
1
0
0
0
0
-3
30
-6
8
0
0
0
0
17
3
8
-17
0
0
0
0
5
4
1
-1
0
0
0
0
2
64
-2
3
0
0
0
0
-4
33
19
0
0
0
0
0
52
27
10
41
0
0
0
0
19
16
9
23
0
0
0
0
-11
-12
24
32
0
0
0
0
-10
42
8
13
0
0
0
0
0
-15
8
-12
0
0
0
0
13
-7
-2
10
0
0
0
0
7
15
14
27
0
0
0
0
22
-4
-19
6
0
0
0
0
-25
-11
-5
22
0
0
0
0
-18
33
-13
-2
0
0
0
0
47
44
6
-21
0
0
0
0
-17
-1
5
-4
0
0
0
0
4
-11
9
33
0
0
0
0
-8
8
3
-4
0
0
0
0
-5
81
13
7
0
0
0
0
-28
-12
-9
8
0
0
0
0
10
1
7
-3
0
0
0
0
5
8
-8
1
0
0
0
0
52
-53
8
0
0
0
0
0
3
-2
-2
1
0
0
0
0
-5
42
-5
4
0
0
0
0
-41
23
-4
7
0
0
0
0
13
-6
-6
87
0
0
0
0
-4
-1
1
-6
0
0
0
0
-27
40
8
5
0
0
0
0
2
-8
-12
-8
0
0
0
0
59
-55
-31
30
0
0
0
0
8
12
-5
-25
0
0
0
0
-29
1
-8
-31
0
0
0
0
25
-19
-10
-2
0
0
0
0
19
7
56
31
0
0
0
0
-16
7
2
-6
0
0
0
0
-1
-4
6
10
0
0
0
0
13
28
1
-3
0
0
0
0
29
7
-14
-37
0
0
0
0
-2
7
-4
0
0
0
0
0
-1
-1
-2
2
0
0
0
0
-21
-1
-28
17
0
0
0
0
15
21
12
14
0
0
0
0
17
-17
-4
16
0
0
0
0
-8
-1
14
13
0
0
0
0
4
56
5
7
0
0
0
0
42
-78
13
24
0
0
0
0
58
-77
-41
9
0
0
0
0
-2
-7
14
-6
0
0
0
0
3
26
-21
10
0
0
0
0
14
13
-7
1
0
0
0
0
-17
29
10
-3
0
0
0
0
-5
15
-7
-17
0
0
0
0
25
21
-23
45
0
0
0
0
-18
-9
-19
9
0
0
0
0
16
17
-2
-2
0
0
0
0
5
-35
21
-25
0
0
0
0
-35
51
21
-34
0
0
0
0
-13
16
-16
6
0
0
0
0
-9
-16
0
-3
0
0
0
0
-13
9
-2
15
0
0
0
0
58
-43
0
27
0
0
0
0
29
-20
-8
-27
0
0
0
0
-4
23
-2
4
0
0
0
0
25
12
3
-84
0
0
0
0
-10
-21
-29
-31
0
0
0
0
-14
29
-29
51
0
0
0
0
-14
-7
-5
24
0
0
0
0
-2
-5
18
-79
0
0
0
0
-1
-1
5
-16
0
0
0
0
9
7
18
-8
0
0
0
0
25
79
-8
-6
0
0
0
0
-6
-1
42
-32
0
0
0
0
-10
19
15
-4
0
0
0
0
13
75
20
-51
0
0
0
0
-2
-38
-7
-4
0
0
0
0
8
-41
8
22
0
0
0
0
-25
-15
31
18
0
0
0
0
8
-2
-2
25
0
0
0
0
-2
32
4
-14
0
0
0
0
-1
6
-35
-41
0
0
0
0
-4
29
-20
11
0
0
0
0
28
14
31
10
0
0
0
0
66
2
-9
2
0
0
0
0
14
-11
3
10
0
0
0
0
20
21
-25
37
0
0
0
0
2
14
51
24
0
0
0
0
18
-16
16
-19
0
0
0
0
24
13
-42
-13
0
0
0
0
-35
-114
36
-40
0
0
0
0
-18
19
5
25
0
0
0
0
20
-29
2
-3
0
0
0
0
35
4
-51
-9
0
0
0
0
40
17
-21
-7
0
0
0
0
-9
1
-11
-2
0
0
0
0
-2
-1
-20
-2
0
0
0
0
-8
-7
5
-32
0
0
0
0
3
-25
20
-33
0
0
0
0
6
-16
44
19
0
0
0
0
-24
15
5
-13
0
0
0
0
-25
-15
23
-12
0
0
0
0
-13
5
21
-1
0
0
0
0
-7
0
37
9
0
0
0
0
39
-12
41
21
0
0
0
0
26
1
-12
25
0
0
0
0
-52
43
8
14
0
0
0
0
-4
15
-4
17
0
0
0
0
59
-4
-15
-29
0
0
0
0
-13
-7
8
4
0
0
0
0
51
-3
10
4
0
0
0
0
17
-22
-25
7
0
0
0
0
22
0
12
25
0
0
0
0
2
9
-10
-21
0
0
0
0
-1
-7
-1
36
0
0
0
0
49
-2
-20
-20
0
0
0
0
-22
-6
9
3
0
0
0
0
-37
27
3
1
0
0
0
0
44
30
0
3
0
0
0
0
42
-18
-1
8
0
0
0
0
-3
36
0
12
0
0
0
0
-3
12
-2
10
0
0
0
0
2
3
0
0
0
0
0
0
-1
23
-3
-8
0
0
0
0
17
13
-3
-2
0
0
0
0
4
-2
-5
0
0
0
0
0
2
0
0
0
0
0
0
0
-22
-26
23
-7
0
0
0
0
-20
-9
6
13
0
0
0
0
5
49
4
-16
0
0
0
0
-13
0
-2
1
0
0
0
0
14
22
-2
59
0
0
0
0
-13
7
-8
17
0
0
0
0
0
-5
5
0
0
0
0
0
0
-7
1
0
0
0
0
0
30
9
-19
56
0
0
0
0
35
24
13
-29
0
0
0
0
12
-7
0
0
0
0
0
0
-7
-24
2
0
0
0
0
0
-21
49
-12
28
0
0
0
0
-6
10
-22
-14
0
0
0
0
-3
29
-3
3
0
0
0
0
1
-4
-1
-1
0
0
0
0
-9
15
-8
-25
0
0
0
0
-20
22
42
16
0
0
0
0
20
21
2
3
0
0
0
0
-2
1
2
-4
0
0
0
0
-35
-7
8
-9
0
0
0
0
18
15
1
0
0
0
0
0
-8
20
0
0
0
0
0
0
2
-6
0
-1
0
0
0
0
23
-44
20
13
0
0
0
0
-7
-21
2
0
0
0
0
0
-3
8
2
0
0
0
0
0
3
-2
0
0
0
0
0
0
57
1
8
1
0
0
0
0
-25
-20
3
-2
0
0
0
0
-18
9
-7
-8
0
0
0
0
9
-1
1
0
0
0
0
0
37
25
8
-24
0
0
0
0
-8
24
19
8
0
0
0
0
26
-16
8
-27
0
0
0
0
4
10
0
1
0
0
0
0
-5
5
5
-49
0
0
0
0
50
-53
-4
2
0
0
0
0
1
-2
0
-8
0
0
0
0
-11
-36
-18
-51
0
0
0
0
13
-6
-10
35
0
0
0
0
3
29
-8
-2
0
0
0
0
0
-5
-6
-6
0
0
0
0
20
-41
49
-6
0
0
0
0
9
6
7
8
0
0
0
0
14
-8
1
-2
0
0
0
0
7
-21
14
-13
0
0
0
0
-19
-8
-24
35
0
0
0
0
0
7
17
-13
0
0
0
0
7
20
-5
-6
0
0
0
0
-3
2
12
-13
0
0
0
0
-6
-29
-3
21
0
0
0
0
13
21
42
10
0
0
0
0
-30
-5
-3
0
0
0
0
0
22
2
-14
41
0
0
0
0
22
32
-15
3
0
0
0
0
-11
6
2
5
0
0
0
0
-6
-5
-2
0
0
0
0
0
-11
16
-20
-17
0
0
0
0
51
21
-9
-2
0
0
0
0
20
-36
5
-4
0
0
0
0
-1
3
0
0
0
0
0
0
13
6
1
-2
0
0
0
0
58
46
12
-24
0
0
0
0
-14
-21
36
-5
0
0
0
0
14
5
1
8
0
0
0
0
1
-7
-28
-3
0
0
0
0
-6
-13
-32
10
0
0
0
0
22
-13
42
-10
0
0
0
0
16
-12
6
6
0
0
0
0
9
24
1
-1
0
0
0
0
0
2
-8
-8
0
0
0
0
-4
18
-12
39
0
0
0
0
-5
-38
1
-1
0
0
0
0
-7
-14
37
18
0
0
0
0
0
2
36
-20
0
0
0
0
-7
-17
7
19
0
0
0
0
-3
-6
-1
0
0
0
0
0
-18
15
-1
8
0
0
0
0
7
32
-12
18
0
0
0
0
34
-18
0
-43
0
0
0
0
10
42
1
14
0
0
0
0
4
29
-69
34
0
0
0
0
-4
-41
-44
41
0
0
0
0
-14
26
-5
8
0
0
0
0
8
-16
13
6
0
0
0
0
41
-28
-49
2
0
0
0
0
10
-3
32
-8
0
0
0
0
18
50
-9
12
0
0
0
0
13
45
-3
2
0
0
0
0
3
-46
-30
79
0
0
0
0
-22
-35
-40
-6
0
0
0
0
-51
8
65
13
0
0
0
0
15
-5
-8
3
0
0
0
0
4
7
-17
1
0
0
0
0
-27
-9
20
-26
0
0
0
0
1
1
0
-13
0
0
0
0
-20
-22
36
-8
0
0
0
0
1
0
10
-1
0
0
0
0
-1
-16
37
-29
0
0
0
0
3
12
17
37
-4
43
-23
27
43
28
-18
18
33
70
-2
-1
-15
35
5
35
-27
-3
54
81
9
-4
28
24
27
33
68
12
19
12
5
19
6
0
3
48
-6
-6
-12
-37
-50
16
10
17
22
21
6
26
-13
40
51
81
23
20
43
-6
0
24
-79
18
-25
23
-21
-4
-51
67
8
60
-12
17
35
-64
68
-32
2
29
46
8
7
38
-39
85
40
73
14
-14
-4
8
-25
-35
-36
33
-8
8
-25
-34
-2
-30
-15
-9
14
22
21
14
58
-26
13
-12
21
-7
6
-50
-16
-47
-23
-6
46
-2
-17
30
-4
13
45
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
0
0
0
0
0
0
0
0
0
0
0
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
10
-27
19
61
10
8
3
26
20
93
-27
-1
-11
-43
29
-12
62
52
-40
147
33
21
14
-18
43
27
119
35
29
-14
50
11
-49
-30
28
45
-24
13
-37
24
22
4
-7
40
48
-21
-11
1
-4
-13
-30
16
-5
-78
23
-17
-9
55
-20
38
86
-7
24
-34
-16
-5
21
50
48
-22
27
-8
63
-45
29
21
-14
-17
-13
47
-19
29
-13
41
-24
32
-67
28
3
10
-24
28
45
72
-18
64
-38
6
-1
-53
-5
13
13
-1
-73
-53
7
96
-23
-59
-62
21
53
68
-38
-49
-5
-9
-86
78
61
45
10
4
-38
17
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-52
35
9
-9
54
19
-8
95
-7
50
24
23
34
1
53
7
8
11
3
16
6
-9
-14
6
18
-9
-7
-11
20
-7
0
1
-31
51
-10
82
51
-58
62
86
-29
41
44
44
13
13
13
-3
-7
0
16
12
-12
-6
-15
19
-7
22
2
-2
-44
9
-1
68
-34
-43
-52
-37
78
-4
14
88
9
1
-45
-48
-8
-19
27
4
4
-3
0
3
9
-8
24
39
-22
10
40
16
29
-27
0
47
47
-4
-89
-36
-38
42
-25
29
14
-38
42
-47
47
-53
-38
-15
-6
-30
6
-19
52
-32
10
-8
59
8
-15
-31
12
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
27
-31
91
133
6
12
-12
-26
28
-1
56
-9
30
-63
12
10
38
-11
71
-20
13
1
4
-3
-7
-3
-1
-5
-12
-8
15
-56
-52
52
126
19
55
53
-25
26
-6
-31
49
-45
-15
-12
-25
-8
7
-32
-10
13
41
-38
-3
-10
-3
-39
-24
-30
-8
-1
-56
-19
-33
29
28
-90
-31
4
46
42
48
39
29
-40
-32
-22
-44
-34
-22
-8
-46
-134
-66
15
-10
11
-9
-35
10
21
22
-28
-14
19
23
-68
2
-39
31
-134
-24
-67
-44
-97
-10
12
32
20
-48
22
-39
-114
-2
17
-64
-17
-2
-19
-11
15
-58
-18
-1
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-9
27
50
19
24
35
14
-8
35
21
13
-6
24
-12
12
15
-29
58
-54
44
9
42
17
92
43
93
7
18
-23
21
32
16
0
12
-43
7
42
51
32
23
2
3
-7
-8
4
-22
-21
51
41
-11
7
-10
-3
-14
5
53
70
-7
-3
20
3
-6
33
24
0
11
49
-18
-14
-15
-47
-10
13
73
4
-39
-20
26
15
45
-37
87
-54
-5
20
70
123
43
-17
15
14
73
-18
10
28
9
17
-27
28
-22
23
23
79
32
34
-7
22
11
25
-15
-17
35
-88
-8
59
24
19
26
18
52
8
-12
-11
-22
-54
26
1
4
37
30
49
59
107
-51
34
41
-23
-34
58
39
13
7
0
39
-10
15
22
-18
-17
48
49
111
37
37
58
-5
50
0
18
25
-3
-13
96
91
2
-5
27
18
14
27
32
-49
15
30
-2
3
92
-22
3
118
-18
-30
5
0
-40
4
-38
-37
44
-14
50
6
12
-15
42
28
29
18
33
47
-19
74
6
19
-3
-10
2
71
-8
-61
12
-7
1
-27
45
-39
-37
66
-14
11
-37
10
17
0
4
20
13
72
-41
-22
78
-30
37
-25
-2
-90
23
7
17
17
1
-40
5
12
-20
2
-78
-52
24
43
47
28
48
-18
15
22
-60
29
101
70
64
73
17
62
-39
28
37
68
26
23
48
41
166
51
-22
33
19
-10
-73
-65
4
112
48
12
61
16
-15
33
69
-1
-12
69
-19
20
35
-41
25
-3
30
51
13
-6
54
-35
24
-24
20
-8
-46
11
107
-29
17
-39
-48
56
13
9
-2
58
6
-31
65
8
-30
32
15
-21
-15
-9
27
23
-21
-19
26
-44
-2
-83
74
-89
-7
-36
22
36
-45
2
47
43
88
-77
20
16
-11
21
12
-14
-70
28
52
73
3
-18
-56
66
-2
61
43
-37
-15
-61
-40
-16
20
9
2
-71
-100
47
9
-25
-52
-35
-38
6
4
9
-25
32
51
21
2
10
6
3
-16
18
33
61
11
37
41
51
92
-12
12
41
-2
10
44
16
30
50
23
-9
-7
32
47
-21
-10
-8
-2
14
12
-12
30
-38
7
62
40
36
-12
-62
29
-76
51
-22
16
-16
-56
20
33
-31
-45
21
8
-32
30
1
24
46
-18
-21
25
-24
-45
-7
-12
-6
-25
12
10
40
82
-22
31
-2
-83
-54
-23
-52
64
-88
-8
-15
-58
78
-8
-54
22
-48
30
67
41
12
-65
-1
-5
37
24
-88
0
-32
-66
-25
122
-8
-53
-7
9
15
26
-66
24
-32
46
-60
11
-19
-2
-32
4
24
-4
40
1
38
124
22
-64
-18
17
-1
28
43
-40
47
4
2
-7
-10
-3
3
7
-8
10
-9
10
22
-10
19
-14
10
80
-16
-51
-32
40
61
32
55
26
-40
-33
-36
12
46
13
-28
1
-6
0
-13
-9
13
-13
-7
-7
13
-4
-31
13
-15
9
-4
32
28
30
-49
11
45
-24
19
39
10
-10
-2
23
-68
-2
35
-5
-9
-2
3
10
33
-3
0
-3
-19
-16
34
-22
-29
27
-5
-20
-38
39
-17
19
-5
-9
-2
23
-43
57
4
34
-83
-72
-73
-4
-11
-11
-9
-17
-53
-8
-48
-12
7
8
44
17
-5
16
-20
2
32
-93
70
-40
64
15
35
45
54
26
21
72
36
84
86
-7
3
-8
-6
-40
2
-6
56
28
-34
45
-35
29
21
-110
-15
5
14
-17
26
46
30
-3
-23
18
46
24
9
-13
48
2
-25
1
-5
-29
-14
8
-32
-13
-35
-63
-10
-69
-31
21
-85
-59
-3
51
-79
-13
-74
-4
-28
-6
32
41
-7
-4
-22
2
-3
0
-3
25
31
-10
-11
-2
-44
-10
-55
-19
43
-28
-112
-59
-58
44
1
12
-79
2
-87
44
-4
-29
7
81
75
-10
-18
-30
-8
-5
-52
-19
5
-40
2
-27
7
-63
-112
30
-69
55
16
-69
-86
-35
-47
11
5
68
53
-8
40
2
-73
19
19
42
67
15
18
12
23
-15
32
3
20
32
78
-20
8
4
5
-1
-25
9
10
18
6
38
-14
38
-5
75
-27
-75
19
-24
-8
31
-20
5
8
-82
-4
23
-42
24
41
-38
-68
-42
-22
-3
-7
9
-40
18
29
61
-20
150
-12
24
-29
-71
1
1
-39
3
5
-5
48
24
43
-38
1
-40
-38
61
-7
61
30
-50
-4
-13
19
-8
0
-17
-16
10
-40
-17
-3
24
15
14
0
-9
-16
-34
20
-24
-63
22
-42
2
-45
22
-39
-18
-36
-3
-9
-25
-24
-10
-3
-11
3
21
-48
-46
-44
37
-44
85
-36
3
-53
36
39
109
4
-41
-15
26
-41
2
-38
-13
30
29
22
-17
-26
-50
-36
-23
-13
-2
-14
38
24
-88
0
1
-37
91
14
-43
-46
-34
-27
11
35
26
-4
1
-31
22
-24
33
-57
1
-23
-25
31
-11
-51
22
-23
2
-26
6
-9
-22
-37
-11
-28
33
-12
14
64
10
-66
24
-64
-21
-17
58
-4
-9
-75
-9
-16
15
-51
5
-26
37
-5
7
13
3
31
58
-67
29
41
18
24
-17
-13
31
-14
-19
-37
26
-50
4
-1
67
-12
2
-26
12
-14
-15
4
-28
-85
-19
-56
-12
-11
1
-13
2
-13
-32
-39
30
4
4
6
45
7
37
48
-3
-5
40
34
51
51
-4
7
10
41
26
35
-20
28
-25
42
14
62
-28
15
10
41
1
1
13
10
5
8
16
24
-10
7
25
-19
2
-20
58
66
9
-27
68
1
85
-65
-17
66
11
24
5
41
-13
-38
-14
28
-2
-10
33
-9
-67
32
45
75
-11
-19
30
84
32
47
31
-31
-29
-24
-15
-30
-90
42
19
46
122
82
-2
-21
-24
-22
17
45
-41
18
22
12
19
44
10
-46
-5
-10
0
34
8
-48
-11
43
17
9
49
83
66
10
17
-32
21
-22
-17
-10
31
6
57
39
-27
-18
-51
44
-17
-6
-11
44
63
73
23
-29
65
-2
42
-31
-10
50
2
144
21
-62
26
-1
28
-24
51
34
34
29
49
16
16
15
-22
-14
66
47
-23
-40
28
-36
107
-6
4
12
46
12
20
-11
43
-9
-15
0
23
-33
14
-31
12
-77
3
44
5
27
24
10
43
-15
61
10
32
-31
-7
42
-95
18
30
9
2
23
13
80
32
-51
14
-22
19
0
8
-61
70
30
12
-32
-24
33
-7
-1
41
-31
10
-3
16
14
-1
70
72
-16
21
-9
4
37
-23
-65
29
-16
-2
6
-65
51
15
-5
51
-32
-2
33
-54
91
-44
-46
-8
-6
-23
10
61
90
-6
-44
-2
34
21
90
-22
-36
27
-34
31
35
18
34
64
7
-52
23
-8
31
-38
-81
58
42
12
47
-16
-25
-31
28
-49
72
3
29
57
64
-16
-25
-31
67
52
-11
-33
59
16
-44
5
27
19
-2
-7
37
34
-54
73
11
43
-22
13
5
41
34
5
-2
0
42
-50
2
3
13
41
30
-9
-7
7
81
-2
25
-42
-12
-41
-31
26
36
62
-18
28
28
-4
-4
-10
29
29
4
66
16
41
-9
-28
31
-48
-17
40
8
49
138
48
-5
-5
-47
-74
-20
-1
21
-36
20
-40
-36
73
-2
18
-4
57
-32
39
-28
-39
16
5
24
43
52
18
9
3
-3
4
50
62
-31
-2
-7
7
-53
-9
56
-37
42
-21
49
29
-16
-30
31
-23
-12
-54
-28
20
36
-12
108
30
37
-25
28
18
-18
13
-24
-47
19
2
-25
-40
-2
-4
-58
50
14
1
-19
-9
2
15
5
-12
20
57
16
81
44
-40
13
-29
-1
-21
-24
1
31
-19
-19
23
-3
38
25
35
-4
-21
48
64
-50
-30
2
-10
-1
11
-11
40
8
-17
18
19
-7
10
-51
86
-43
-46
-114
-24
63
-6
-43
20
30
17
-33
-7
-8
-4
14
24
22
68
36
2
8
25
-19
-24
10
62
39
-21
82
32
27
-26
21
-8
58
-25
13
-16
1
3
2
4
1
-6
0
-4
12
0
18
4
14
2
-5
16
5
13
-27
66
2
-21
56
-6
18
13
-12
-1
31
110
-36
0
-53
2
-4
1
-1
-2
37
27
8
3
-57
-1
-14
-10
2
2
1
72
-19
20
9
34
-14
8
49
46
-24
6
26
-28
-16
27
45
-14
-13
-14
-57
26
-5
-47
-13
9
61
13
-28
-1
-18
17
-2
43
12
10
-19
46
-34
-19
0
12
-23
-21
-41
-12
-2
-33
-18
-15
-10
13
-34
-11
-11
-45
-40
15
50
-5
23
14
79
-25
11
55
29
-49
39
17
-64
-12
-10
-44
50
-73
27
22
19
-5
-23
-12
-18
-59
-20
-9
54
49
6
-13
46
3
34
-58
-28
-75
14
70
-12
-2
-73
55
-8
-23
-9
30
-30
-3
11
-2
-41
25
10
12
-13
-10
41
-28
-16
-5
-66
72
-3
-12
-64
-55
-69
41
0
-5
11
-2
44
5
46
-6
-29
24
24
-29
-40
-4
-5
10
-16
-6
-5
-28
66
-28
-39
-46
-51
-17
46
-65
-25
-64
-80
-11
-10
-11
6
23
-16
63
52
-42
-30
72
-43
-49
-20
7
-2
-2
-43
0
-40
-39
-15
28
-51
-58
1
-27
-9
-53
7
44
37
-6
19
-32
21
-22
-5
-37
-12
1
-17
30
-36
28
-6
58
-70
24
-17
-20
-11
4
65
20
-10
36
-18
3
-11
-5
5
6
11
-19
3
7
-37
3
-12
107
-25
8
-24
51
34
-22
-18
-16
-16
5
9
1
-32
-8
34
10
30
-9
-93
-3
-19
-5
-22
10
27
0
-17
-1
15
-15
-10
-53
29
9
-13
-40
-27
11
-7
5
-8
-4
4
19
37
22
9
-14
4
2
-10
-1
-26
-18
-1
-5
-47
-26
-7
19
10
-49
-52
77
-108
43
-22
-2
20
14
-8
-8
-32
1
7
-13
18
-52
13
92
2
-9
-79
-8
-25
15
-47
-26
-3
-53
21
-19
20
-13
20
-22
22
-7
40
13
-33
16
-7
-10
-25
-39
-26
0
-8
-29
1
23
8
28
79
-18
-31
3
72
14
-71
-46
-6
29
24
87
-22
-50
32
41
-28
44
-3
26
19
14
22
-19
-19
17
-35
20
17
-30
-101
-25
-53
-3
-18
5
-14
25
19
50
-23
14
14
-22
-40
-23
-3
26
88
44
20
26
35
22
-47
-62
40
-13
-19
-74
-4
-35
14
-6
-9
-6
-14
-12
14
6
5
-28
-12
14
9
-20
7
18
-4
4
-35
9
29
31
5
-21
-12
-17
-1
6
-2
-15
-5
-3
-6
-25
-4
4
-9
-8
-16
-4
-20
-13
-23
2
11
-8
0
40
37
13
26
5
55
32
30
-44
-13
101
-16
17
30
57
23
55
65
50
32
56
30
16
57
45
136
74
11
13
14
5
12
20
28
15
-30
-9
43
91
-8
-33
40
16
-44
-22
36
0
15
47
9
21
-49
-24
12
0
9
-5
6
-14
6
6
-9
8
25
-17
2
-24
29
23
5
-24
11
-20
44
-5
-54
65
26
-13
56
52
-27
-14
38
60
-6
10
40
-47
19
-69
0
-17
-9
7
-13
-16
-1
-26
-49
15
-43
8
2
30
-39
99
-20
66
1
-23
-22
17
11
-41
-60
-9
6
-52
-35
-11
-3
101
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-7
67
-27
14
24
-29
18
-15
20
63
1
43
44
-18
18
-37
-45
62
-19
14
77
50
73
26
6
-28
26
60
-23
39
45
-19
31
-15
70
-12
-29
1
12
27
15
14
-6
-49
37
-26
-61
5
13
61
100
-27
-37
91
9
5
56
-46
-23
0
12
18
8
33
4
45
94
-30
-15
16
121
29
-10
-10
100
20
-15
-34
31
39
-41
-63
-15
-27
5
-25
-11
44
-58
14
25
-50
-26
-19
75
0
47
-50
11
43
-17
19
-14
11
33
3
27
28
-38
-25
74
-45
-5
3
29
-74
-39
15
22
-55
11
-81
-16
-45
-67
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
-23
12
21
55
155
-3
20
51
-48
45
39
63
25
1
3
4
-14
17
37
2
-9
7
-13
12
41
9
-18
23
-16
2
5
67
-14
57
45
-95
-97
26
15
-12
10
5
-45
-29
-10
3
-4
-10
-11
15
4
-3
-3
35
-21
-13
-6
17
-41
-12
-22
24
7
1
66
-73
41
-32
-53
84
4
-26
-15
-42
58
12
15
-5
7
9
22
18
-21
15
-13
2
40
-16
-6
-7
-3
-6
-16
46
-37
55
35
67
-86
-128
33
-16
31
-44
44
-8
36
-6
-83
-3
-16
-3
-1
27
9
-42
-60
18
22
-52
-7
-110
-67
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-21
25
11
-16
-74
35
97
-8
-31
-22
61
11
-31
-36
-47
33
19
43
56
-3
27
4
-24
3
-5
-1
-41
3
-14
-16
-2
47
-31
92
26
-62
26
4
37
32
-18
22
45
63
-15
-33
48
17
36
-40
-87
-3
25
-25
-28
-12
-17
-15
-31
-2
-17
4
-24
45
-48
45
49
-69
-44
1
-34
47
-44
25
-26
116
-107
-46
-13
39
1
36
21
3
-37
13
-32
-27
-28
14
-13
7
-33
-1
-16
-10
-11
-51
-77
-4
-66
2
25
-40
-5
-42
-4
9
-68
-68
-43
-54
-2
71
-47
-24
-36
-67
-3
0
-13
-4
-1
15
-20
-74
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-12
22
-2
44
-47
12
-16
20
48
58
21
48
34
15
16
20
36
45
30
85
6
110
10
-11
63
88
38
5
-14
-5
30
33
-6
-3
36
2
-19
-10
6
19
4
-1
26
31
31
5
16
-5
-6
0
-11
-17
34
12
-1
-12
10
33
-5
-27
20
7
7
15
-2
-11
-15
31
-2
47
112
-17
73
49
-42
-1
10
23
-9
-70
-38
-2
-18
80
12
27
64
26
-10
50
44
35
14
11
7
-19
-1
44
6
-29
16
-22
-8
33
-2
71
-19
60
-1
28
51
0
55
23
34
12
-73
22
96
4
-47
-13
20
6
31
24
16
9
51
-3
-31
8
54
75
43
2
19
-16
46
51
101
29
-38
-15
11
-42
74
-53
10
44
-12
19
47
76
-63
27
76
-1
72
-19
59
1
-55
-42
-22
23
22
52
29
19
-30
-35
29
-33
10
34
92
9
37
8
-10
48
51
39
-6
41
64
-9
21
-49
22
-16
51
-28
28
9
16
127
91
15
-26
42
26
-6
32
-87
43
2
-23
-50
40
-62
13
-5
59
-35
-21
-84
-50
-9
-6
91
-3
1
15
13
43
8
-41
46
100
-78
34
1
67
3
25
-46
56
-10
-37
-1
18
-3
-11
7
-26
19
-50
-35
-35
-19
-29
-29
30
51
20
44
0
59
64
41
4
25
20
24
-18
8
48
35
32
2
68
70
24
141
-28
-39
21
-13
11
-17
-42
37
60
12
17
14
20
90
-11
-41
-87
3
-13
27
63
-1
-42
7
-19
13
108
-24
8
47
75
9
8
-16
-15
3
9
-19
-3
-13
19
9
2
-9
-2
-46
29
-32
-5
18
21
33
0
50
-43
-41
15
-11
9
12
-50
8
68
-22
30
-4
-46
-15
5
-86
71
39
-85
18
11
-3
57
5
-43
36
-26
3
-2
-29
109
-10
3
1
-8
-58
8
-17
-59
51
-8
-22
4
50
7
-14
4
8
20
-52
18
-27
37
12
7
39
65
53
7
74
37
16
-13
30
74
6
-49
38
-9
-25
22
13
51
85
-8
-52
94
12
9
36
41
42
-14
-82
-10
-5
9
-35
4
64
-3
13
10
-13
-11
9
51
-65
-19
-113
27
15
7
-39
-13
-13
1
29
139
29
-16
-16
-47
-24
7
3
1
-33
14
21
21
19
4
-4
-3
-72
7
13
-66
-11
18
17
33
4
4
-46
6
-14
2
-8
-85
-18
-13
-20
-36
5
-29
26
20
-44
-46
1
13
42
-14
17
28
36
51
-26
17
-47
-34
-18
27
19
23
-1
24
-26
-60
-41
-42
33
-78
-39
104
-30
-10
-29
-9
11
53
10
70
-36
48
-100
-107
148
156
-45
-40
-5
42
-10
-2
1
1
-9
14
-9
18
-10
10
11
19
3
-3
6
-15
-31
43
-66
49
-8
1
58
53
24
46
-17
-34
23
15
32
-47
-68
1
-8
2
1
-4
14
28
10
-7
-21
40
-16
21
7
3
16
-35
53
-22
-48
99
-1
23
-17
23
26
-32
-44
31
116
-22
10
2
-12
1
-12
4
81
25
-15
8
32
-11
-35
4
7
-36
16
95
30
54
5
78
30
-36
56
54
-35
-53
-68
94
-9
-15
-25
-5
1
-13
-10
-25
-4
-36
-16
7
-65
8
1
-45
-138
-43
29
-38
-46
71
34
33
26
15
22
35
-1
34
-13
28
1
-25
1
13
3
33
-13
15
-35
-12
-47
-20
-69
-50
26
14
-14
-4
1
68
78
-3
29
1
-24
-17
6
16
68
-24
-25
30
-51
-29
35
12
3
14
-12
-30
-41
-56
-15
-55
4
-8
-68
9
47
-52
-20
45
74
49
-44
-46
-48
7
-28
4
0
-8
-3
-8
5
-2
10
-19
15
-5
-2
6
-27
47
-94
-36
2
-15
-13
-30
-3
54
-26
44
-103
-40
-24
-35
67
29
-13
39
13
-29
-6
-45
-5
31
-37
7
6
20
-6
3
-51
-1
14
-22
-12
-56
-72
-38
-108
-17
-44
-3
14
-65
39
0
-63
42
-14
32
41
58
-11
72
-2
-23
47
11
-8
0
-1
29
-4
7
-14
0
-3
14
4
21
1
-9
0
13
56
70
10
129
30
-31
-46
-3
-12
-43
39
87
23
-62
-62
22
35
17
25
73
10
22
-15
-14
2
31
-24
-11
-7
18
-49
26
10
-22
58
-30
-21
6
-7
10
30
-61
-29
5
-3
-3
21
5
50
-14
-48
21
-23
-12
23
7
-6
-37
-9
42
-46
-12
18
82
13
0
48
-26
32
-8
-42
62
8
-46
-4
-16
-6
27
-49
6
65
-11
-58
-37
-106
-50
8
-4
-7
-79
-4
3
-9
-41
-49
-16
-20
13
-44
29
-5
46
-18
21
109
-13
-6
23
71
-11
20
-17
-2
-34
-31
-50
3
6
-39
-6
21
8
4
-2
54
-34
0
-28
19
21
21
7
-1
-28
-2
37
-35
23
-64
-8
-24
29
-13
-4
35
-39
-8
28
-29
14
-21
-2
-5
-34
-39
-114
-15
-77
-13
26
10
18
-11
36
55
20
28
-29
-25
-18
66
37
-28
-62
-13
28
23
6
-8
-58
-64
-40
47
5
-4
-41
38
-8
-62
3
-22
8
-13
1
-2
80
-14
-48
-15
-6
-45
-25
34
17
-26
33
-42
-10
5
-35
-28
-2
-34
24
-81
1
-24
-10
-29
-5
-27
-17
-11
23
7
-24
0
36
8
29
18
29
34
-6
52
-1
66
41
41
-37
-6
-38
34
53
41
-41
57
-62
30
30
60
61
24
79
-8
13
15
20
24
4
27
21
14
12
-14
16
-33
71
10
-9
52
47
2
28
50
-15
27
37
-16
6
19
-15
4
-52
-6
-2
9
-1
14
11
35
-28
14
-17
41
101
-15
-50
-40
12
17
4
52
-21
-24
1
-1
6
0
10
39
44
56
46
4
-42
78
26
33
19
-21
6
-3
-58
31
98
-24
-3
-38
18
3
-42
23
60
-29
52
43
55
-15
-10
8
-5
6
-13
40
-31
-1
71
-33
13
13
-19
5
25
75
13
19
45
-9
-21
16
18
134
15
-53
51
48
-6
70
33
-2
101
-31
-7
11
6
-26
-2
36
39
15
91
-3
1
0
-20
52
45
37
-55
22
110
66
-12
41
20
41
37
-67
46
59
-71
10
9
-69
2
17
-8
-30
29
9
-9
31
-71
19
75
12
12
39
-24
-49
-3
22
29
-36
-69
46
37
-25
73
-34
-6
-39
-6
-58
-15
43
0
20
-22
-38
1
-4
10
14
50
-17
15
-12
72
42
-18
0
39
-8
43
-5
85
-6
-42
2
78
-24
53
-9
57
17
39
5
16
-9
-78
5
-39
-151
19
-2
-16
-22
36
11
59
68
-32
86
-28
30
20
-49
24
4
67
4
-13
-12
-21
-14
31
-55
-11
89
-4
17
14
-6
6
49
-55
-20
23
59
-15
-19
51
36
-13
26
56
-29
33
-1
13
75
1
5
23
-22
17
-11
8
24
64
27
-5
11
78
10
23
-12
19
0
-52
-9
10
28
25
33
-20
23
-57
46
11
22
9
29
-28
-24
-28
40
17
46
-8
-31
19
28
27
-11
54
16
1
-20
11
8
9
-26
17
17
64
-16
-35
5
-52
68
28
63
8
37
26
-55
-12
23
3
51
-33
3
5
-15
12
-48
-21
-3
-3
-26
3
-7
16
-27
64
-21
2
32
14
-12
-44
-4
47
46
13
-4
14
40
-25
17
16
-18
3
46
25
-55
9
-6
30
27
32
11
-39
33
-11
-46
54
-32
46
33
42
27
-24
6
11
28
-1
19
-13
65
8
-41
26
75
17
24
-21
-9
4
0
47
-64
-41
-13
9
-15
-41
-37
27
-22
46
-22
3
50
-2
-2
2
6
17
47
73
32
19
-13
32
1
12
-30
-8
-27
-5
-3
4
12
-31
-18
-64
44
-43
17
20
7
59
31
32
32
30
23
33
-47
-24
3
-16
-49
-12
2
39
19
33
-47
66
-22
-6
-52
16
11
58
-68
-42
-16
-19
1
27
31
56
-21
53
21
89
7
8
45
76
-60
-54
-140
-52
64
2
0
-7
-13
-9
-20
3
-26
-6
8
9
-13
8
-47
25
-14
12
2
32
-5
68
-21
-84
17
4
17
17
-33
32
54
-19
-38
13
6
-7
-12
-19
23
1
-16
6
-26
-11
-14
-39
41
3
15
23
76
36
-3
68
90
16
-20
15
-36
19
-65
-9
-5
-1
-30
0
-16
-13
0
6
14
-12
-24
-10
10
2
-34
35
-12
26
6
36
-11
-103
8
-20
23
13
80
-33
-69
19
27
-3
-23
-7
-73
4
13
-7
-12
-15
-15
41
-34
0
-33
-19
8
15
-4
-8
-7
12
-7
12
55
30
-78
6
40
5
56
10
-21
14
-24
3
23
-12
-28
-17
-24
29
-11
10
-18
-2
80
-38
-5
-28
-25
-39
-39
-29
22
-46
24
70
6
13
-109
3
58
70
-11
-23
17
-40
-50
7
4
17
3
41
-6
-37
2
-19
28
-34
-51
19
-81
-54
-45
45
-75
2
-24
36
-2
-23
14
63
43
-15
-113
24
-27
-8
-4
-2
-10
9
-4
15
-41
-63
-50
-6
-10
-1
-72
-2
16
-79
-88
43
68
-44
-5
19
-27
36
34
17
52
-41
-15
-10
-69
-8
-53
-3
-39
10
-36
90
57
32
-46
-3
1
-23
7
-21
-85
-45
-83
-35
13
57
-18
-7
-6
-28
32
-35
31
50
39
31
41
-16
47
-1
6
-22
25
78
2
-49
-18
2
-16
-5
7
-11
8
11
16
27
-14
5
25
82
33
-11
-23
-4
27
9
61
20
-55
30
-42
31
-14
-40
19
-13
-25
17
-84
1
4
-23
-14
-39
-14
0
-4
-30
-9
-39
-39
54
-18
-21
74
28
64
16
28
1
23
-32
-83
2
-7
16
-12
-8
-21
-43
37
-12
-10
-8
-22
-18
-87
3
-14
-10
32
-1
12
10
-25
-72
-37
53
-91
-45
-27
-36
-14
9
-5
-18
9
-4
-14
48
-74
-37
-17
-2
19
0
18
24
-36
-30
8
-92
32
-38
-42
-56
4
46
8
5
-13
27
-32
1
47
-19
2
-18
31
-41
4
-19
-8
110
-13
28
-6
-31
0
86
14
0
-2
46
15
-19
17
20
-48
12
-44
63
-9
-21
-29
17
-48
23
-57
3
-17
-18
-27
7
28
29
20
6
-29
-16
-44
58
-5
-59
-20
50
11
-9
-92
-21
-17
-31
-3
-31
31
21
6
45
39
43
11
-1
-5
-34
-79
-34
-3
-41
1
-7
23
5
0
-7
-11
-11
-47
16
5
4
-17
4
-5
-30
-5
18
-18
15
-21
44
27
20
-41
7
-4
3
-19
8
-49
-8
-16
1
-29
5
-38
0
8
5
-18
24
-4
15
-7
0
0
0
0
33
-3
-55
-15
0
0
0
0
16
59
86
-22
0
0
0
0
63
-10
32
-21
0
0
0
0
16
31
13
-18
0
0
0
0
8
34
17
-16
0
0
0
0
-6
6
-25
-18
0
0
0
0
-9
-8
86
30
0
0
0
0
19
-31
32
-6
0
0
0
0
-32
69
55
49
0
0
0
0
49
15
-32
-4
0
0
0
0
-4
7
30
-14
0
0
0
0
26
6
-3
-30
0
0
0
0
-4
4
28
-3
0
0
0
0
6
-25
29
-30
0
0
0
0
36
8
-63
-62
0
0
0
0
25
39
-20
-22
0
0
0
0
53
-13
55
-34
0
0
0
0
70
32
-72
116
0
0
0
0
49
-80
77
18
0
0
0
0
39
19
-4
31
0
0
0
0
72
4
46
-39
0
0
0
0
-27
12
-56
-5
0
0
0
0
19
-32
29
30
0
0
0
0
38
-14
57
-6
0
0
0
0
35
-17
-16
30
0
0
0
0
22
6
-59
33
0
0
0
0
56
-24
20
-48
0
0
0
0
3
-4
-39
-46
0
0
0
0
-7
-22
-52
35
0
0
0
0
57
1
18
-75
0
0
0
0
-84
70
-5
-3
0
0
0
0
16
30
12
-21
0
0
0
0
39
38
46
33
0
0
0
0
34
59
56
45
0
0
0
0
47
39
-3
-28
0
0
0
0
18
20
35
58
0
0
0
0
0
51
-65
-24
0
0
0
0
-22
-14
53
-46
0
0
0
0
17
14
-6
11
0
0
0
0
26
13
-7
13
0
0
0
0
58
-35
40
-43
0
0
0
0
-4
-41
6
-26
0
0
0
0
-25
-5
-11
7
0
0
0
0
34
-3
13
1
0
0
0
0
35
83
-9
-22
0
0
0
0
41
-40
13
-86
0
0
0
0
29
-7
-32
-38
0
0
0
0
23
29
6
-7
0
0
0
0
50
-20
-8
-5
0
0
0
0
68
25
102
-7
0
0
0
0
52
36
8
32
0
0
0
0
-45
-14
40
-14
0
0
0
0
27
47
14
27
0
0
0
0
14
20
-83
-37
0
0
0
0
-7
-1
-26
-1
0
0
0
0
-10
-35
-31
-59
0
0
0
0
46
-54
-9
27
0
0
0
0
4
21
16
27
0
0
0
0
-11
-48
-54
-4
0
0
0
0
4
-11
45
41
0
0
0
0
8
40
-64
26
0
0
0
0
-35
-3
-27
42
0
0
0
0
10
-10
-90
-56
0
0
0
0
28
-43
79
93
0
0
0
0
4
12
-33
-18
0
0
0
0
-1
4
4
0
0
0
0
0
9
19
-7
-16
0
0
0
0
24
-7
10
-33
0
0
0
0
-35
15
-37
19
0
0
0
0
5
2
-5
-6
0
0
0
0
43
36
-34
1
0
0
0
0
111
30
31
52
0
0
0
0
27
-48
61
-38
0
0
0
0
-6
0
8
-1
0
0
0
0
22
-32
14
8
0
0
0
0
83
34
-70
45
0
0
0
0
27
-52
-1
-48
0
0
0
0
-15
-9
-3
-20
0
0
0
0
-26
1
-25
-70
0
0
0
0
55
-15
-7
-46
0
0
0
0
7
53
42
32
0
0
0
0
15
25
-4
-16
0
0
0
0
28
29
54
-36
0
0
0
0
-24
12
-21
44
0
0
0
0
8
-82
5
11
0
0
0
0
2
-3
11
-30
0
0
0
0
27
23
-16
-48
0
0
0
0
44
9
-62
-109
0
0
0
0
1
4
17
-1
0
0
0
0
1
9
15
2
0
0
0
0
12
-56
7
23
0
0
0
0
16
-6
-50
-54
0
0
0
0
39
69
-19
-10
0
0
0
0
-3
-25
-7
-45
0
0
0
0
17
-20
-57
-63
0
0
0
0
22
54
70
97
0
0
0
0
24
-26
34
6
0
0
0
0
23
16
58
6
0
0
0
0
-2
-5
-7
-13
0
0
0
0
80
34
11
-28
0
0
0
0
2
62
-10
-11
0
0
0
0
-11
18
-11
30
0
0
0
0
-13
-24
-8
-41
0
0
0
0
83
55
-12
-75
0
0
0
0
94
3
25
25
0
0
0
0
-12
-14
-13
15
0
0
0
0
-5
-2
-1
-4
0
0
0
0
-25
14
0
14
0
0
0
0
-49
22
-31
-31
0
0
0
0
62
-73
11
-41
0
0
0
0
-11
-7
10
-26
0
0
0
0
2
26
-33
-28
0
0
0
0
61
-14
-50
33
0
0
0
0
-4
57
-16
-8
0
0
0
0
-16
26
-18
29
0
0
0
0
24
55
26
-11
0
0
0
0
16
27
6
-50
0
0
0
0
-16
52
-8
10
0
0
0
0
-40
-99
-20
-11
0
0
0
0
-6
50
7
50
0
0
0
0
-19
-40
53
-17
0
0
0
0
14
-7
-17
16
0
0
0
0
-27
9
-17
14
0
0
0
0
2
-11
15
-5
0
0
0
0
19
0
51
-46
0
0
0
0
0
-57
3
-27
0
0
0
0
-8
-27
-14
-41
0
0
0
0
13
26
19
19
0
0
0
0
13
41
12
-60
0
0
0
0
-9
1
45
24
0
0
0
0
22
-8
-23
-4
0
0
0
0
3
10
17
6
0
0
0
0
28
14
27
26
0
0
0
0
-13
16
15
79
0
0
0
0
-85
9
1
-57
0
0
0
0
-6
-6
-22
4
0
0
0
0
62
1
21
17
0
0
0
0
1
105
6
0
0
0
0
0
-72
6
16
14
0
0
0
0
-7
-2
41
-32
0
0
0
0
22
12
41
-25
0
0
0
0
19
13
-39
-53
0
0
0
0
-55
-48
-7
30
0
0
0
0
15
63
16
29
0
0
0
0
102
-1
96
91
0
0
0
0
33
73
1
-45
0
0
0
0
14
87
-39
-36
0
0
0
0
53
5
-12
4
0
0
0
0
8
42
30
-20
0
0
0
0
-10
2
61
-5
0
0
0
0
16
34
-28
37
0
0
0
0
28
60
32
-5
0
0
0
0
-21
53
-13
5
0
0
0
0
21
-11
8
18
0
0
0
0
53
16
-1
-65
0
0
0
0
7
7
9
12
0
0
0
0
-61
14
-23
-13
0
0
0
0
32
49
-28
-43
0
0
0
0
-43
-59
-39
45
0
0
0
0
20
47
-26
-4
0
0
0
0
5
-6
90
4
0
0
0
0
24
16
-6
-42
0
0
0
0
-55
26
68
-7
0
0
0
0
43
44
-6
27
0
0
0
0
41
11
55
-9
0
0
0
0
53
1
-35
-2
0
0
0
0
-3
23
9
-118
0
0
0
0
10
52
40
76
0
0
0
0
-21
-41
-88
-77
0
0
0
0
31
37
36
-14
0
0
0
0
16
35
-4
44
0
0
0
0
77
-2
6
46
0
0
0
0
49
31
-35
-3
0
0
0
0
50
-40
26
1
0
0
0
0
68
4
-32
-66
0
0
0
0
46
15
71
-26
0
0
0
0
95
72
-8
-24
0
0
0
0
40
8
1
-14
0
0
0
0
27
-8
17
2
0
0
0
0
44
2
18
-18
0
0
0
0
-16
28
19
-56
0
0
0
0
-29
2
2
-8
0
0
0
0
31
36
-3
1
0
0
0
0
36
-43
36
-12
0
0
0
0
-65
-1
-6
31
0
0
0
0
41
37
-9
-54
0
0
0
0
2
43
-14
25
0
0
0
0
53
-33
49
-16
0
0
0
0
38
-10
-46
58
0
0
0
0
-1
-7
-12
19
0
0
0
0
-6
-14
13
24
0
0
0
0
-14
26
-28
-49
0
0
0
0
48
-48
-27
31
0
0
0
0
4
2
-10
-2
0
0
0
0
-11
45
-24
-18
0
0
0
0
47
34
16
68
0
0
0
0
10
7
19
-24
0
0
0
0
5
2
0
-4
0
0
0
0
-36
-27
3
-43
0
0
0
0
86
33
-22
24
0
0
0
0
60
13
18
-4
0
0
0
0
9
2
-3
2
0
0
0
0
22
6
-22
18
0
0
0
0
38
45
52
23
0
0
0
0
36
-10
15
-77
0
0
0
0
1
2
-3
3
0
0
0
0
7
11
-13
-31
0
0
0
0
0
13
3
37
0
0
0
0
-45
-40
3
-16
0
0
0
0
17
-9
23
-6
0
0
0
0
49
-12
-65
20
0
0
0
0
46
-45
-23
18
0
0
0
0
-9
6
-3
-13
0
0
0
0
12
-4
-10
-8
0
0
0
0
-29
32
-29
-19
0
0
0
0
16
-38
-39
-8
0
0
0
0
-11
-44
-41
-27
0
0
0
0
-4
-19
2
-28
0
0
0
0
5
-35
-32
-91
0
0
0
0
5
-5
2
-144
0
0
0
0
41
-54
15
57
0
0
0
0
16
-1
8
-20
0
0
0
0
53
-40
-59
-40
0
0
0
0
122
-103
9
-1
0
0
0
0
12
24
20
-6
0
0
0
0
11
27
13
7
0
0
0
0
2
-13
-20
-5
0
0
0
0
20
26
25
-18
0
0
0
0
-1
-50
28
6
0
0
0
0
4
7
-40
27
0
0
0
0
4
-26
6
-19
0
0
0
0
-3
25
44
-75
0
0
0
0
35
-50
10
3
0
0
0
0
2
0
6
-2
0
0
0
0
3
-23
-1
-50
0
0
0
0
-1
13
-2
-75
0
0
0
0
47
20
-53
39
0
0
0
0
28
45
12
-42
0
0
0
0
-9
18
-4
5
0
0
0
0
25
47
23
-5
0
0
0
0
0
2
50
22
0
0
0
0
3
-35
21
-20
0
0
0
0
6
5
-16
-18
0
0
0
0
27
7
9
-34
0
0
0
0
3
30
-39
14
0
0
0
0
2
22
17
2
0
0
0
0
9
-16
-31
-37
0
0
0
0
-31
26
-74
68
0
0
0
0
32
20
4
14
0
0
0
0
3
-31
29
1
0
0
0
0
-28
-17
-34
-46
0
0
0
0
8
2
5
-15
0
0
0
0
-3
-5
23
-16
0
0
0
0
2
2
-4
-19
0
0
0
0
-2
-31
7
-38
0
0
0
0
13
23
42
35
-11
42
-49
3
48
31
49
25
28
48
10
24
32
38
7
41
38
-1
6
39
46
25
54
1
69
116
-16
9
38
19
42
36
15
18
23
-2
47
-35
-12
-45
-2
-17
14
-8
0
94
-15
-25
41
-29
-13
9
0
16
-13
46
-19
3
17
5
-5
-37
30
-41
86
48
-25
3
-20
14
51
31
-23
-81
-2
27
-25
61
27
-54
-42
-33
15
22
40
-71
-91
56
31
33
-22
32
30
22
22
-30
46
16
28
47
1
42
-36
-31
0
7
-36
-4
53
1
-43
-20
-69
-2
-44
-44
-11
0
21
-13
-72
-1
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
36
-33
33
58
11
86
-19
19
24
62
58
-3
-14
5
29
-14
-18
-82
-9
-6
-25
47
13
80
44
17
147
70
55
6
3
84
62
-71
43
-54
-10
-15
-49
7
16
-54
-62
64
43
27
18
11
-9
-6
-12
47
-67
34
2
9
-15
87
-118
23
32
9
10
17
-13
-10
54
71
32
-96
-11
-32
18
-46
33
66
20
-96
10
75
-12
8
-8
-5
-40
108
13
-22
-4
63
-91
-28
20
-29
-5
94
-9
-54
-4
-80
-22
5
29
39
-48
-27
4
50
18
-157
-61
29
12
92
-55
-79
-30
-15
-22
63
52
16
-32
-27
-89
-49
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-14
27
-3
-17
14
0
32
42
50
90
32
-12
34
-19
33
15
16
33
11
27
9
-24
-19
-5
33
20
16
38
-14
13
4
42
-11
16
9
11
1
0
28
-31
-47
19
-61
0
-1
8
-4
6
-17
10
-22
26
5
1
-6
23
13
46
39
19
-43
-36
-8
36
6
-32
-17
11
43
-19
55
28
-16
27
-68
18
6
51
-24
-8
-9
-15
-10
-18
-53
-33
25
18
9
27
44
11
11
-11
-4
-29
-60
-82
-34
-49
-74
77
-41
-3
76
-50
9
-84
37
-41
6
6
1
15
-12
-48
-16
-48
-12
-7
-5
-29
30
-56
-58
51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-48
22
5
26
8
-13
-50
-3
44
80
22
39
25
-3
1
26
-38
2
37
7
-3
25
42
10
10
-8
-8
-12
19
-29
-9
57
51
-64
-41
160
11
57
32
48
0
-86
-34
40
-59
-21
-53
-16
-2
4
-102
37
17
97
-39
3
-20
-50
-1
3
-4
-28
8
-27
8
-6
65
24
-28
-52
16
4
20
27
18
27
-41
-5
-99
-53
27
-2
-27
-57
-36
-23
10
-25
-20
6
-19
-11
-16
-4
4
6
17
-18
-41
-31
-30
26
-73
4
-72
-51
0
-6
9
32
-61
-71
-12
-23
-39
-40
-30
-32
-73
-24
-22
-18
-14
-57
-5
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-22
9
33
3
26
46
55
31
20
-3
66
-24
53
41
65
-8
38
16
30
12
55
60
34
-6
30
84
-5
7
54
8
6
4
21
7
-1
53
10
30
46
-30
24
41
-15
-16
-55
90
6
-35
36
66
8
-18
-23
-31
4
-24
16
33
-1
12
51
32
53
50
-16
30
29
44
-37
21
31
-54
-44
14
34
47
-5
-37
-12
11
50
4
-19
-40
-40
47
4
66
28
-22
10
32
55
-7
18
19
7
-11
-19
-8
-11
2
14
-7
76
105
1
46
-4
-63
-14
-31
92
-78
44
-79
2
57
71
58
-26
61
10
53
-23
-45
5
76
40
-3
1
57
31
124
-31
54
75
-38
-8
-25
1
42
55
-15
0
-59
66
-46
8
-50
56
-66
-6
23
-52
69
-17
78
52
-23
17
-8
-3
56
36
-21
-36
-42
9
-13
45
29
19
-13
14
44
7
28
-34
44
74
-6
-36
-2
34
-52
-8
22
-34
61
-29
30
62
-46
49
38
-20
-2
15
8
3
-7
20
-25
12
-16
-47
53
69
-23
-40
6
-47
3
16
78
-53
-6
92
-52
18
-32
-46
26
30
34
7
27
81
-51
-36
134
-54
19
-9
-76
-29
-77
-63
42
-1
-3
32
-55
-7
-23
-24
9
-19
-3
16
-8
43
-24
10
-25
-8
-17
72
84
8
55
44
-39
83
22
45
74
106
87
11
18
8
81
64
-39
49
53
41
-13
3
-11
-5
70
-5
78
-7
5
-3
31
50
-57
-5
-24
80
36
18
61
55
39
24
45
-62
43
52
31
-18
45
-28
-59
-53
-9
-12
-39
-29
-27
-7
30
-5
81
38
97
21
84
-33
-52
-19
40
-62
-60
-89
36
58
-48
16
26
-44
-3
-125
54
-138
-20
-83
21
-20
-46
31
16
0
83
-20
106
75
38
40
50
29
-53
6
44
5
0
53
-55
45
-27
-26
44
-31
33
-2
-23
-17
26
-24
42
-42
-159
23
-99
-52
-79
-7
35
-4
-32
3
31
-6
66
-5
23
37
-7
8
32
21
36
87
30
17
-11
37
54
-42
-24
102
-49
27
63
-17
3
51
-5
-18
7
61
4
-35
-34
-2
7
-41
25
0
38
-90
19
58
40
44
-9
-58
38
-127
86
-45
6
-25
-95
-14
1
-45
-65
53
-55
-4
44
-1
-23
-25
13
-17
32
-25
36
-8
-8
38
-8
23
-11
57
35
-16
-16
56
-101
32
-47
-109
58
-85
-45
-41
-70
86
-40
-9
95
3
20
-11
78
27
-4
-18
0
-22
32
-53
46
-88
-58
-37
12
14
-3
25
42
-23
51
-96
29
10
-19
-71
1
-92
-101
-42
-12
-25
-23
18
27
52
127
39
-30
-40
78
33
29
27
54
-28
-13
-24
9
11
3
23
5
9
3
-4
6
21
8
27
23
22
21
-24
25
57
-5
-9
-17
-76
13
-38
-71
-26
27
11
10
36
4
1
-10
-13
16
31
20
12
-4
-47
-39
-33
2
-39
6
4
0
8
-29
-33
17
43
-29
5
23
11
-17
40
-6
-96
-6
-19
-2
-4
-47
-61
-1
-4
-17
-6
34
49
24
-11
-61
-46
-44
18
12
-6
32
15
-11
4
34
7
-6
-35
24
-67
15
-114
-84
-33
1
5
-55
-38
-18
-49
-30
-64
-17
20
3
5
39
-15
-53
-43
-9
48
30
12
-20
3
37
62
20
64
75
2
73
4
77
143
-9
18
6
-1
1
-13
-31
26
-23
-36
7
-72
-1
-30
-30
-12
6
28
-26
0
58
49
-2
-58
49
23
18
-27
-24
32
-30
-56
1
50
13
-37
-30
-96
12
-9
-11
-30
-94
-19
-31
-95
-77
-21
41
-43
26
-45
-6
-54
-5
41
77
1
13
-33
10
0
0
-23
25
-10
2
56
15
-87
-9
10
17
-13
-31
-75
-13
-82
0
-14
6
-49
7
-37
18
43
-30
-15
47
110
49
-31
-50
-18
-5
-147
42
-53
53
-49
-71
-77
-48
-88
-6
-95
34
-48
-3
-89
-16
6
42
-2
126
22
-44
-65
-4
26
0
38
19
105
-34
17
-4
162
0
-2
-68
-18
-14
18
-38
0
9
25
19
16
38
32
53
12
-12
46
-31
-9
32
-52
-95
-29
-17
0
12
-58
49
77
-26
-25
26
7
-46
27
42
-53
-20
-45
-4
1
17
-29
46
-42
16
-39
21
-34
-26
31
-73
7
-64
-49
15
-1
5
55
32
25
-56
6
-4
29
-30
-40
61
-13
-75
-20
2
-31
2
6
-24
35
22
9
-28
45
-5
-33
-24
-16
-41
16
-21
-5
-46
-74
21
-52
14
-20
74
29
-55
-51
-28
-38
-33
-38
24
-5
-16
-22
21
8
-16
-26
23
33
26
14
11
2
-1
0
-54
-48
-56
-8
-8
-2
-14
-5
1
-8
33
-2
-37
-34
-25
28
-34
13
26
48
34
34
-46
-21
0
-6
21
-5
-50
-61
-31
-12
26
4
-4
-29
9
-15
65
-46
20
-57
-1
6
-8
19
11
-14
13
-26
39
-1
28
-89
-94
-19
28
18
-6
-67
-1
74
50
-59
-7
-62
-72
-47
56
-127
-43
-140
52
34
6
-69
-43
-2
-46
-14
25
42
45
-14
-24
13
-45
1
45
57
1
30
19
14
-37
1
48
44
-29
5
48
-30
-22
-32
15
-34
22
-10
-12
-24
-5
-27
14
1
-22
-9
0
-29
-27
-24
-4
15
26
16
47
72
-1
37
6
11
31
51
52
29
36
51
-22
-6
94
46
-31
-9
63
13
38
-59
7
-59
51
73
51
37
-15
53
25
0
29
47
52
34
-13
21
-24
24
20
56
18
6
24
1
-8
0
12
0
16
15
-3
-1
-53
36
42
46
-4
3
3
-8
-2
12
30
49
-22
8
37
43
-19
-12
16
-58
-34
4
-1
22
-67
-12
21
31
61
126
-44
-2
-21
-61
37
47
-6
1
1
-3
-14
19
12
7
3
3
-83
28
40
0
59
33
17
-8
74
49
55
-79
21
-41
14
4
94
-14
59
-30
31
-14
-21
33
-1
-20
12
-14
51
-11
10
58
-41
-13
53
4
27
-27
16
62
-8
56
16
-5
26
2
45
-18
82
-3
46
23
35
8
15
24
33
-21
64
-23
19
-49
4
-3
78
16
-37
-14
12
23
46
-39
23
8
-22
9
-4
23
37
-44
26
-50
-16
55
-29
24
54
-27
28
-12
10
-35
3
30
-27
20
-56
20
-18
38
2
14
8
71
39
-73
13
-56
24
8
10
-14
80
32
15
-33
-34
43
9
60
65
3
36
58
-45
49
-45
-11
38
4
33
-5
6
11
-39
10
49
-45
-2
51
55
20
25
-39
34
-72
-40
-10
-61
-1
-34
-8
44
48
25
45
70
94
8
53
-74
71
19
31
-51
-26
56
-58
98
53
15
25
66
33
-27
25
-13
84
44
-42
5
30
24
47
2
-4
-57
-20
19
27
8
21
19
48
-23
-74
-22
59
91
14
-21
43
8
-39
7
17
33
57
-99
28
43
-71
106
33
-28
-19
17
32
33
-35
8
-56
-10
-33
9
-43
25
128
24
50
-39
-1
23
77
0
9
-70
-5
-48
-19
43
47
86
-114
-1
22
-1
18
-49
51
-7
51
34
14
-23
-11
0
-38
-31
-37
64
28
-2
77
23
10
39
-60
-119
-47
12
-21
-40
65
-54
34
73
-21
1
1
63
20
34
42
-29
-18
6
34
-7
49
31
-16
8
0
-14
15
27
0
-17
3
11
-82
-9
-24
-25
32
-30
22
19
-38
-26
22
19
-24
-33
-65
-16
38
-31
91
45
31
-42
22
22
-18
4
-26
7
45
5
-19
-38
4
-4
-95
89
15
1
-36
-12
18
14
-27
34
21
10
0
57
41
-55
20
10
7
-24
-55
-3
18
-25
4
18
-12
40
-7
34
11
-45
39
60
-55
-8
-1
-17
-13
-6
-31
77
34
52
12
2
-56
-59
-147
70
21
-5
-29
6
61
30
-63
57
82
-16
25
-24
-53
-13
-45
-10
21
-34
2
-66
-26
-12
-32
-42
20
31
71
-25
31
73
-13
-14
48
19
95
-18
7
-26
43
-12
5
-6
8
-31
14
-8
35
-6
21
5
78
13
31
1
30
2
22
-40
-23
-79
96
12
44
-16
-13
7
-12
74
-37
7
-40
-26
5
-2
-17
-50
-24
25
-17
10
52
29
-44
52
-12
-18
17
77
-6
-10
-43
16
-6
5
59
0
-49
15
8
-30
-8
12
-15
-27
-23
-22
-59
-8
-31
-33
-16
9
-20
50
24
-2
55
33
8
21
-36
19
44
32
-39
-5
-22
11
23
-57
-5
-16
-19
-48
86
11
-34
-13
-15
-53
-42
8
-29
20
2
-27
41
-7
8
10
-8
25
20
-19
21
-3
-77
4
-11
-9
-16
-79
5
22
41
1
-58
-40
38
-21
7
-11
-1
13
-30
-33
-26
25
-30
-47
48
2
13
110
-4
-39
-24
54
-9
-21
94
50
-28
-4
-39
-2
-34
26
-7
-11
25
12
-6
-16
-6
-18
-25
9
-23
-92
-55
-40
-48
1
-7
22
61
-2
1
4
81
-5
-27
1
-3
-50
-69
-6
-4
16
-50
16
-11
-16
-58
-15
-14
-28
-12
-50
-22
-114
39
-69
-22
-30
23
36
-31
2
33
43
81
-82
5
72
-81
8
-6
-20
-13
-47
-60
0
-38
-3
41
-3
18
-48
-43
22
16
-35
27
13
-48
-106
-2
-20
-6
-33
3
-57
-13
16
14
77
-9
-8
10
34
-19
-13
32
-29
23
-43
3
-44
-16
24
41
-27
-25
-5
14
39
22
14
-2
-64
-3
-8
-35
44
-75
47
-50
48
35
-14
14
-17
5
5
-20
56
0
-24
11
17
46
0
-28
-11
21
17
3
-33
11
-18
30
24
-12
29
39
-36
22
3
-16
-36
-40
-8
-9
5
-4
-10
13
4
35
-80
47
25
8
-5
15
8
4
-13
-14
4
-12
-7
-19
35
-26
-61
-17
92
-104
66
-91
9
-39
19
9
-7
-21
-18
-16
11
18
-58
-77
36
2
-51
-66
9
16
16
-12
0
6
-81
-21
20
76
13
58
20
-24
-8
-37
55
-30
56
4
-8
-18
-30
-12
15
-8
-72
-36
36
9
-32
-8
-4
33
18
3
15
-10
-19
-11
17
10
8
39
2
22
20
-50
19
-3
17
-8
31
-44
1
-91
-15
7
-52
-5
-41
-102
1
-40
42
5
-30
-2
16
-28
22
-26
115
23
42
5
-30
-19
44
38
-14
25
42
-9
44
-69
-92
17
30
-43
-15
-17
-41
8
-81
-36
57
-2
-53
-10
45
-88
7
-52
31
22
16
-17
48
-30
26
-51
-1
6
2
-35
37
28
-16
-12
10
4
2
2
1
-12
-16
-1
28
-10
5
-9
-7
-11
-28
-12
16
-1
-18
-1
43
-5
-23
-32
30
29
53
-10
14
16
48
-60
33
15
73
96
56
-19
74
34
33
14
39
41
55
57
91
-6
-6
32
18
57
-34
-3
-32
-32
21
3
17
15
2
-2
5
-21
25
-9
27
-28
101
42
83
-4
-31
32
-2
-2
6
4
-39
5
-3
-13
29
-12
1
8
10
62
61
17
-87
-69
30
-20
-40
-9
20
50
-135
11
-24
-36
5
37
9
-4
10
-17
19
33
-20
30
0
-23
15
-18
41
-19
73
36
19
-19
-56
-39
-14
-32
35
12
50
23
-36
-42
68
60
-96
-58
-42
8
-37
-56
-100
30
-16
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-23
-4
-27
9
-1
-25
-39
53
68
6
-10
20
70
33
37
44
-47
51
-14
6
60
78
21
65
-11
-8
-53
-3
-18
-22
3
46
26
-46
-27
30
50
-65
-38
25
59
-21
-9
-4
-1
-10
4
20
60
-26
62
100
42
-25
92
-1
31
58
-65
-16
-12
2
-18
-47
-19
21
11
2
-24
-15
33
59
24
24
-25
53
29
-63
26
56
-45
49
5
-26
-46
-1
-38
46
31
-45
-45
-16
-63
-16
-14
58
94
11
-10
-22
-33
-3
-81
-47
19
-71
-11
-5
-21
11
-32
60
-28
29
-18
16
-106
-34
16
-1
9
-15
-68
10
-34
-51
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
6
33
-1
56
37
57
45
18
91
101
-76
91
-13
100
-28
14
13
-2
-11
24
-8
-21
-17
16
-28
-7
10
6
-20
-4
24
43
5
-93
11
40
-19
-139
-60
63
29
-25
-37
-20
-14
-22
11
7
25
0
0
5
17
-34
19
21
-36
17
32
27
-16
-16
5
50
14
-6
113
-75
20
-102
-29
-9
45
-59
-46
-68
107
-27
-15
15
-6
-16
-2
0
-39
-31
-27
-57
10
34
10
-6
5
-1
-2
86
-51
-23
31
83
-59
-156
-43
147
-12
-86
12
-63
-72
-14
-38
-8
-20
-30
-21
-9
21
-55
-26
10
-72
-20
-19
4
-9
12
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
-22
64
33
-2
-62
22
47
50
-41
10
23
55
-38
2
-69
14
13
13
-7
47
9
-16
8
8
14
9
-14
4
-25
-9
-15
36
5
66
-14
-73
-7
20
88
56
-42
-15
60
32
-11
-37
-22
34
-1
25
-9
17
0
8
-55
21
42
-49
-35
-49
-17
-33
-36
52
-34
49
28
-85
-13
21
-19
49
-68
32
-11
28
-80
-160
47
57
-49
1
7
-10
-37
31
-32
-26
-69
23
-24
-17
16
1
-6
-14
58
-30
-19
-43
-88
-42
4
-48
-20
-39
-7
-13
-74
5
-68
-12
9
-56
-16
-80
-76
-25
6
-18
-64
3
-18
-30
25
-36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
23
15
-11
62
63
5
26
45
18
36
17
-22
46
-1
-26
2
-9
28
-11
-33
128
143
-19
80
75
48
5
63
5
28
27
5
44
-24
40
60
-20
31
-13
35
74
27
-2
31
5
9
-10
-4
-15
97
-31
-12
26
-21
71
-33
-7
1
1
38
4
-15
9
-12
11
26
18
-18
-81
35
34
-2
40
56
-15
15
-34
32
22
-74
60
-48
-6
104
27
71
35
17
-4
36
20
-22
15
-6
9
33
-30
13
-41
-7
-24
23
7
55
1
13
-11
17
3
100
53
6
-27
46
-69
-10
-7
-18
13
-11
11
43
-87
-8
68
55
-50
26
-35
1
4
-56
50
114
8
-7
35
25
36
19
51
-23
-2
-3
32
-33
86
-16
-2
19
-32
53
-6
75
-58
-8
87
37
58
-48
84
-23
-46
-26
11
5
-19
-48
44
-33
0
-96
4
5
1
52
93
21
31
3
-2
26
37
6
1
36
63
-26
-30
-4
28
-49
27
97
65
-96
-40
86
66
17
-35
65
6
-20
44
-66
20
31
-25
-51
47
-61
-8
-15
29
-47
-7
-65
-29
-3
-14
54
30
-2
44
22
70
-1
-96
-26
53
-48
29
-3
33
2
13
-38
73
20
-45
16
-74
-16
-37
2
38
-58
-17
11
-4
-24
-83
70
43
117
-21
6
48
13
49
-92
14
-61
32
9
57
55
53
75
23
10
0
75
-4
124
-57
-80
-16
-1
31
87
37
32
25
43
61
21
-60
20
-10
-34
-22
50
43
-17
39
33
-20
2
-29
-10
91
61
9
17
112
10
8
-25
-81
2
48
-42
-26
-53
-51
5
30
29
58
33
-22
-49
-56
43
8
-66
10
51
-21
-37
35
-10
0
8
13
0
69
-24
16
-7
-76
-29
10
-92
-19
25
-111
-31
72
38
113
-24
-38
9
-20
-53
17
-17
-7
3
33
-18
-35
-76
-14
-48
-56
13
-41
-11
6
60
25
-65
37
23
-20
14
-5
23
28
-29
7
60
101
59
-4
72
26
56
0
29
32
-19
-66
-7
-14
-28
19
-25
26
94
-2
-25
50
-11
49
45
61
5
25
-35
64
3
-16
17
28
67
-13
-12
-41
45
-29
26
18
-75
-30
-124
82
26
-21
-34
-19
-24
1
65
142
-71
-14
-51
-48
-30
-7
-46
24
29
29
-14
-40
-33
31
1
16
-80
18
-9
-51
-5
51
24
56
-19
-34
-71
-14
-37
6
-22
-60
-49
-17
-56
19
-6
-33
-13
71
18
-32
85
-3
10
-58
-14
30
10
-86
-30
79
-114
-30
9
54
-2
14
-40
5
-39
-50
-7
-19
-58
-82
-47
0
60
8
-62
-1
31
-15
27
-36
-58
45
10
36
77
96
-17
-36
56
86
-6
7
3
11
-4
16
25
9
-6
22
36
22
49
-6
-19
28
-28
49
10
30
15
57
-4
48
33
53
61
-19
-20
-19
84
-65
-16
14
2
-7
-4
-11
9
-21
-25
19
16
10
-63
-31
7
-22
-44
3
50
11
-34
33
38
4
-69
22
12
-19
-52
73
124
-40
-62
-4
-2
-16
-12
7
12
-11
-14
1
22
17
-51
12
-11
-51
15
69
-42
-13
-47
34
7
-35
19
88
2
-83
-73
87
-39
64
-30
9
-23
-21
-42
-34
-29
-28
-44
-6
-33
-24
-56
-42
9
-23
-17
-14
-38
57
34
16
24
9
13
7
-9
51
-68
-2
-23
-12
-8
17
-6
23
21
22
-72
30
26
-61
-26
30
42
-4
-39
-4
23
57
10
-7
15
-10
-2
-55
-22
27
70
-25
-36
10
-97
1
73
1
-51
-32
30
37
-62
-50
-43
7
32
2
-80
0
-40
-100
-6
57
65
45
45
-20
-16
8
-32
19
0
-13
-13
-10
3
-2
-1
21
3
-12
-29
-44
-129
-27
-6
-41
-25
-6
-43
-16
-35
26
-17
27
39
-51
23
-27
64
65
15
46
14
-11
36
-49
-13
56
-17
6
-32
-17
-45
33
-45
-32
-24
-34
-99
-68
-97
20
-140
-103
-46
3
7
-7
-13
36
-90
53
-23
-18
96
-22
81
8
46
52
9
19
48
15
-19
122
21
-40
6
-6
5
7
-1
20
0
6
9
15
58
82
-46
76
22
-27
-68
38
10
-20
-38
75
25
-85
-106
48
36
-8
23
-49
-15
4
-11
-5
-5
13
-41
15
11
-58
20
-68
10
23
58
-31
-39
23
4
38
71
-44
-32
44
-6
-62
40
4
-48
-20
-16
-13
13
-33
40
1
27
-31
0
7
22
-32
5
66
63
23
15
-12
-14
-20
-55
113
18
-63
-38
0
-21
31
-63
29
62
-96
-12
-57
-75
-6
-67
8
-21
-29
-22
9
-28
-13
-27
52
-15
-28
-53
10
-19
-5
-52
0
24
-6
0
-27
110
-24
-19
1
5
24
-6
-3
-25
-74
0
52
5
52
-41
-42
-46
-22
16
-1
22
-67
-28
-2
-15
-78
-27
44
18
-5
-97
-38
-3
21
-54
38
-5
-55
-6
12
10
21
-8
43
22
-13
-36
-80
-42
-1
-70
40
34
-10
8
12
13
49
69
-46
-34
-43
-41
-13
-9
-128
-16
8
-5
-23
-38
2
-59
16
1
-31
50
-20
-46
38
28
16
-31
6
16
14
25
-3
12
28
26
-10
-16
-11
-22
-10
-36
22
-25
13
-6
-4
11
0
-19
-24
-35
21
-8
-1
-26
11
-55
2
-31
13
29
21
-17
-49
78
27
10
14
-35
-16
62
-19
55
23
74
-37
-9
4
126
39
43
-87
70
-42
52
67
88
-46
24
80
54
-1
-25
20
32
21
8
-11
27
10
17
14
-1
37
38
-42
4
48
62
-4
66
-21
-15
60
-62
47
14
-15
52
-8
36
37
1
-7
-9
-40
36
-63
-1
19
15
-3
-53
-29
22
-33
7
-32
4
-15
-15
46
-13
52
-48
43
-1
59
-11
46
-8
79
51
45
35
-1
13
47
-29
63
-19
80
60
10
-26
-28
-45
-16
24
64
57
-17
-33
-11
-27
11
39
-19
50
-30
-31
-7
-40
71
-31
-20
68
10
-17
-13
79
11
15
22
2
16
9
-10
67
7
-101
54
18
35
3
3
23
16
-19
-6
26
-14
-26
-15
13
86
5
117
50
54
12
-37
37
-18
-13
11
62
28
45
-17
-4
-31
52
49
-59
52
67
-77
-47
3
-31
10
-12
-22
13
0
20
11
27
-90
-24
26
-39
35
78
13
-80
-12
41
48
-31
-65
-13
55
-49
102
-11
-6
-9
-5
-87
-9
49
0
27
-22
-23
14
-46
-22
33
31
-13
22
-23
53
5
54
-56
12
-32
52
-11
60
-22
-18
-53
64
-9
64
23
-20
-26
59
-4
23
63
56
10
22
-136
-15
10
-6
-11
44
29
4
51
40
39
-20
37
48
-35
-7
-46
55
-5
44
37
66
-41
88
-37
-22
121
-4
-32
72
55
-5
55
-16
24
41
54
-7
-42
17
-10
-29
16
29
-47
80
42
33
68
11
20
10
-22
-6
5
8
14
73
2
-6
-56
82
0
21
-28
-24
-8
-114
25
-15
30
59
20
-35
19
-84
11
-3
36
8
-36
-46
-35
41
1
2
32
-15
-18
-8
45
33
-19
58
29
-4
-37
-4
-3
19
-2
-23
3
-7
57
-32
5
-20
-56
43
41
-21
32
76
-51
1
43
-1
0
-89
-42
21
41
13
-37
-42
-33
-4
-24
-43
41
-12
-28
89
44
35
-5
12
-6
-53
-49
21
42
48
44
10
40
-27
-47
-37
-16
-5
40
2
-50
8
7
17
-18
32
15
-70
31
-29
-58
59
14
48
-26
0
-2
-34
-17
65
21
-26
48
-22
45
5
-40
53
90
0
10
-32
16
6
0
24
6
-47
-16
8
2
-20
-36
20
-21
6
0
-27
60
-54
16
4
8
6
53
93
-8
-9
26
34
-29
-12
-26
-22
-5
-5
-3
36
-11
-32
-23
-17
44
-18
-42
-16
18
29
12
26
54
84
-1
65
-3
-25
-55
-41
-50
-4
-27
19
1
9
-34
112
-36
-11
-58
-19
8
-33
-72
-28
-34
-6
-19
58
-5
52
28
11
-16
1
37
7
46
59
11
-50
-22
21
104
1
-23
-11
7
10
6
19
12
22
-11
13
6
11
13
6
30
20
-1
-42
48
-28
-36
-70
-41
-2
58
30
-13
-4
34
-50
-48
9
-12
-32
-7
9
-23
9
30
9
-5
9
-19
29
53
25
-1
33
71
-32
-7
44
86
9
-15
40
-76
21
-55
18
-5
18
-47
-10
-34
-16
-25
-22
-69
-14
-19
-3
13
-49
27
-27
-44
57
-7
65
-19
-94
-2
40
-39
-27
57
-56
-74
-6
-51
-29
-27
-6
-38
-4
17
8
35
-58
-11
12
0
17
-33
25
17
8
-86
-29
-28
-14
20
64
45
42
-36
15
29
18
54
-54
-68
-24
-36
-16
-19
12
7
-52
-29
-25
16
14
-7
60
68
-17
-44
-37
-8
-42
-37
28
-20
-9
14
69
-17
8
-127
56
50
75
36
-1
18
-87
-100
2
6
-21
13
-8
-11
-54
54
20
-66
-92
-57
43
-44
-57
-40
25
7
-13
-15
18
-3
-5
40
-18
41
-20
-190
21
-22
-2
19
8
2
-4
-11
11
-34
-70
-21
-11
-105
-8
-75
-14
-33
2
-52
-23
-20
-26
11
5
-30
20
51
38
9
-39
-35
0
-43
-50
-36
10
-10
1
5
-53
-51
-62
-91
2
-43
31
80
-29
-100
-83
-15
63
-3
90
33
-11
-76
-121
57
-9
-31
50
61
-2
59
1
-12
24
-20
-9
-1
3
44
-8
-40
-1
-14
7
-15
0
-28
0
11
39
5
-55
69
7
13
-13
-8
5
-10
58
33
2
-24
48
-70
42
13
-80
-59
-14
-37
18
-10
-10
-3
38
-11
2
20
5
-8
17
51
-13
-61
-9
-75
6
-3
53
71
19
-3
6
63
-29
-94
41
9
6
2
-36
-66
-52
2
-26
-4
-11
-18
11
-35
-47
18
75
35
11
-17
13
-42
8
9
-4
-63
9
-156
-44
-67
-42
3
23
-4
1
26
-3
-42
-74
0
-2
15
-7
12
-36
19
-38
-47
-18
11
-43
-49
6
28
-5
-48
-31
7
-6
-66
48
100
-72
10
-5
-54
21
-29
65
-17
66
42
1
37
-28
-19
-26
-32
-101
14
-5
27
-44
-33
-14
57
-30
-36
59
-6
-46
-42
28
-38
47
-10
27
-7
-5
-27
-36
-49
-28
-4
37
-20
-20
-69
-28
-20
-65
10
64
24
71
-16
6
-48
-17
-6
-42
6
-22
28
53
34
39
31
20
-8
-47
-27
10
-46
-25
-18
3
75
2
-5
-69
-79
-67
24
28
32
32
18
-7
-16
-32
15
48
30
11
-3
8
-35
-52
-86
23
15
8
-14
8
-19
-23
-18
-4
-7
-12
-46
-3
-33
-20
-31
35
42
-17
5
0
0
0
0
31
14
43
-51
0
0
0
0
-11
27
-17
-4
0
0
0
0
30
77
39
-16
0
0
0
0
29
2
-4
-26
0
0
0
0
25
32
9
-34
0
0
0
0
2
8
41
36
0
0
0
0
52
-26
104
-1
0
0
0
0
22
-6
29
13
0
0
0
0
-39
-2
66
-63
0
0
0
0
4
-47
1
-30
0
0
0
0
27
39
-24
-31
0
0
0
0
-8
29
-19
-5
0
0
0
0
-69
-55
55
40
0
0
0
0
2
22
-7
21
0
0
0
0
-19
-43
-27
0
0
0
0
0
24
18
9
57
0
0
0
0
45
-37
57
58
0
0
0
0
101
-16
-74
73
0
0
0
0
11
-175
54
-79
0
0
0
0
35
-4
15
-7
0
0
0
0
2
-24
24
12
0
0
0
0
-72
55
-95
-22
0
0
0
0
51
-14
11
-70
0
0
0
0
21
-1
30
-53
0
0
0
0
-5
-13
4
-33
0
0
0
0
43
25
-47
36
0
0
0
0
76
-42
56
-52
0
0
0
0
-7
24
6
-3
0
0
0
0
-65
-4
-19
6
0
0
0
0
12
64
-64
-66
0
0
0
0
-45
46
-4
-30
0
0
0
0
39
61
8
-1
0
0
0
0
49
63
-31
2
0
0
0
0
19
52
73
14
0
0
0
0
31
98
-15
-36
0
0
0
0
20
32
-44
24
0
0
0
0
0
35
-7
-5
0
0
0
0
-19
46
38
-18
0
0
0
0
-17
65
28
-24
0
0
0
0
29
-38
2
-5
0
0
0
0
36
-7
13
-9
0
0
0
0
17
0
-34
-6
0
0
0
0
-81
-63
-7
-26
0
0
0
0
45
14
-8
28
0
0
0
0
59
31
-33
0
0
0
0
0
13
-46
8
-16
0
0
0
0
36
-52
-48
21
0
0
0
0
49
-26
-1
-53
0
0
0
0
42
47
48
23
0
0
0
0
88
39
17
12
0
0
0
0
62
-7
31
23
0
0
0
0
-14
-11
-20
49
0
0
0
0
-49
38
-42
-13
0
0
0
0
14
-33
-81
-64
0
0
0
0
-21
57
-60
-14
0
0
0
0
42
23
-42
-61
0
0
0
0
52
-51
-36
-15
0
0
0
0
-15
-26
28
-36
0
0
0
0
-29
-5
-66
-25
0
0
0
0
17
-1
28
44
0
0
0
0
-46
49
-84
32
0
0
0
0
-34
1
-57
-63
0
0
0
0
11
33
-38
-54
0
0
0
0
44
28
32
-82
0
0
0
0
42
23
97
29
0
0
0
0
15
8
-8
-19
0
0
0
0
18
24
-12
-112
0
0
0
0
-1
51
-36
-61
0
0
0
0
37
20
40
-72
0
0
0
0
6
14
18
-5
0
0
0
0
-10
-1
-15
32
0
0
0
0
79
-3
-39
28
0
0
0
0
9
-3
-56
-45
0
0
0
0
8
-3
-2
6
0
0
0
0
-15
-98
-4
-41
0
0
0
0
-34
-18
-22
-69
0
0
0
0
0
-25
-48
-28
0
0
0
0
-14
-22
-6
-40
0
0
0
0
-34
-49
-29
-65
0
0
0
0
18
4
-51
-51
0
0
0
0
95
21
55
17
0
0
0
0
69
26
-33
16
0
0
0
0
-13
-5
44
-16
0
0
0
0
42
11
-10
-37
0
0
0
0
-8
-96
-46
57
0
0
0
0
21
-19
-10
-52
0
0
0
0
15
31
-41
-86
0
0
0
0
33
-26
19
-104
0
0
0
0
95
70
4
14
0
0
0
0
-8
-24
-2
-19
0
0
0
0
-18
8
-34
16
0
0
0
0
-16
51
2
0
0
0
0
0
23
67
-58
-45
0
0
0
0
-31
-44
-1
-38
0
0
0
0
9
-5
4
-54
0
0
0
0
55
53
-19
37
0
0
0
0
35
41
77
-30
0
0
0
0
-4
43
33
36
0
0
0
0
13
18
-28
-25
0
0
0
0
56
-3
-46
-9
0
0
0
0
13
-26
17
16
0
0
0
0
30
-9
-15
-80
0
0
0
0
6
-8
-10
-35
0
0
0
0
52
-7
-14
16
0
0
0
0
69
-18
9
-28
0
0
0
0
-18
3
-2
49
0
0
0
0
-32
-11
-13
13
0
0
0
0
3
26
-25
12
0
0
0
0
13
-44
-65
-54
0
0
0
0
40
-58
52
-19
0
0
0
0
-24
-12
8
-25
0
0
0
0
47
63
-50
-54
0
0
0
0
18
-16
-60
-32
0
0
0
0
0
-17
21
-43
0
0
0
0
-16
-28
3
-32
0
0
0
0
39
16
-25
-18
0
0
0
0
4
-7
-23
-72
0
0
0
0
-10
-11
47
-36
0
0
0
0
25
-46
-83
-9
0
0
0
0
-39
-14
66
-11
0
0
0
0
-52
-60
15
-28
0
0
0
0
14
-14
8
26
0
0
0
0
-18
-50
-22
8
0
0
0
0
3
-11
26
20
0
0
0
0
35
-14
17
-39
0
0
0
0
3
-15
-1
-34
0
0
0
0
-15
-25
15
17
0
0
0
0
43
20
-18
42
0
0
0
0
31
49
17
17
0
0
0
0
23
24
33
68
0
0
0
0
14
-7
-28
-9
0
0
0
0
6
4
0
14
0
0
0
0
36
-5
63
-13
0
0
0
0
33
2
-31
0
0
0
0
0
-5
22
-52
-30
0
0
0
0
-19
7
8
0
0
0
0
0
9
-26
-37
8
0
0
0
0
-2
43
-8
-19
0
0
0
0
-63
-84
-30
-3
0
0
0
0
49
12
33
43
0
0
0
0
22
-41
33
-28
0
0
0
0
-14
-10
35
-37
0
0
0
0
11
-91
-5
-36
0
0
0
0
-13
-12
31
88
0
0
0
0
38
-9
72
88
0
0
0
0
93
62
-13
-40
0
0
0
0
-1
70
-48
-50
0
0
0
0
39
-25
10
-15
0
0
0
0
-6
31
57
-7
0
0
0
0
11
8
94
29
0
0
0
0
14
6
-16
-2
0
0
0
0
72
11
89
17
0
0
0
0
40
26
-35
-1
0
0
0
0
23
21
-58
-56
0
0
0
0
92
9
-18
-52
0
0
0
0
48
-5
-14
24
0
0
0
0
-26
-38
-23
122
0
0
0
0
40
22
-35
-19
0
0
0
0
-49
-28
-21
-59
0
0
0
0
10
33
4
0
0
0
0
0
79
38
130
24
0
0
0
0
92
45
-86
-50
0
0
0
0
39
105
120
13
0
0
0
0
61
-8
78
-42
0
0
0
0
63
-1
44
23
0
0
0
0
29
10
-47
-11
0
0
0
0
-40
1
16
-109
0
0
0
0
11
-22
-16
35
0
0
0
0
28
-42
-19
-63
0
0
0
0
11
-29
53
-28
0
0
0
0
-9
69
-45
59
0
0
0
0
93
-2
2
7
0
0
0
0
-1
27
-18
-96
0
0
0
0
-53
4
-2
-23
0
0
0
0
36
-2
3
-44
0
0
0
0
49
-15
93
0
0
0
0
0
14
32
-32
-44
0
0
0
0
23
-35
-17
-44
0
0
0
0
10
0
6
-11
0
0
0
0
4
14
12
4
0
0
0
0
-16
46
-46
-18
0
0
0
0
43
-2
-17
-19
0
0
0
0
-30
56
-2
22
0
0
0
0
60
-40
-7
20
0
0
0
0
-46
-47
-1
-55
0
0
0
0
29
5
10
7
0
0
0
0
-18
47
-45
22
0
0
0
0
-61
7
11
-22
0
0
0
0
-51
14
14
-20
0
0
0
0
51
19
-39
-27
0
0
0
0
-26
-41
7
-47
0
0
0
0
23
-14
-3
-15
0
0
0
0
-12
-15
75
11
0
0
0
0
6
6
22
8
0
0
0
0
-8
18
46
31
0
0
0
0
8
25
-57
-3
0
0
0
0
-21
-31
-7
-66
0
0
0
0
14
20
-13
2
0
0
0
0
-7
27
-6
7
0
0
0
0
100
18
8
-50
0
0
0
0
51
2
2
-33
0
0
0
0
5
9
-7
-31
0
0
0
0
83
-52
5
4
0
0
0
0
105
73
21
13
0
0
0
0
35
14
-2
-13
0
0
0
0
-14
-3
-15
-17
0
0
0
0
-24
-55
-4
-61
0
0
0
0
75
1
-57
-23
0
0
0
0
-65
-28
8
-16
0
0
0
0
10
-5
20
-15
0
0
0
0
66
-55
-43
-11
0
0
0
0
-23
4
-20
-51
0
0
0
0
-9
-32
-7
-29
0
0
0
0
26
9
10
5
0
0
0
0
-39
-9
-84
-41
0
0
0
0
19
50
22
-37
0
0
0
0
22
-39
-78
-48
0
0
0
0
40
-53
-26
-52
0
0
0
0
-25
-52
-130
-101
0
0
0
0
-8
28
3
-32
0
0
0
0
68
-81
-14
-16
0
0
0
0
18
41
-33
-87
0
0
0
0
-4
-13
-28
-34
0
0
0
0
42
-57
13
-18
0
0
0
0
20
13
-58
-7
0
0
0
0
57
0
11
-11
0
0
0
0
12
-4
-18
-35
0
0
0
0
7
-4
-4
-28
0
0
0
0
-1
24
55
49
0
0
0
0
-30
31
-11
6
0
0
0
0
22
-46
-15
-46
0
0
0
0
-13
36
19
-105
0
0
0
0
1
1
-54
-84
0
0
0
0
2
-42
-7
-5
0
0
0
0
12
25
-1
22
0
0
0
0
2
-1
11
-31
0
0
0
0
24
-24
-102
52
0
0
0
0
44
36
-35
-60
0
0
0
0
8
-6
-20
-2
0
0
0
0
54
11
-7
-35
0
0
0
0
19
18
54
55
0
0
0
0
-2
0
21
-20
0
0
0
0
17
-22
-11
12
0
0
0
0
3
34
-17
-38
0
0
0
0
-22
7
-10
4
0
0
0
0
15
26
4
-48
0
0
0
0
-68
6
18
-33
0
0
0
0
13
-9
-35
23
0
0
0
0
-32
28
-19
-30
0
0
0
0
8
18
23
-11
0
0
0
0
20
-37
0
-46
0
0
0
0
14
0
5
-29
0
0
0
0
64
21
21
2
0
0
0
0
15
-2
-7
-14
0
0
0
0
1
-31
-11
-38
0
0
0
0
50
52
31
-11
-6
-11
3
-17
41
0
32
40
-6
-21
7
15
41
-2
-21
-16
-6
23
5
7
36
9
43
-3
0
47
54
14
4
21
-40
38
41
3
-14
28
22
-39
20
-7
-24
2
-9
4
-1
7
15
20
-27
-16
-11
12
0
-1
26
-23
50
-11
10
21
-11
-36
36
-15
72
28
-9
-14
-43
25
28
31
5
-43
-17
-34
43
24
-60
20
8
-17
1
-49
0
-14
-27
11
-48
39
-49
-13
47
20
20
46
11
6
48
-5
-6
56
19
-14
-31
3
5
-47
-21
15
-4
6
14
0
1
22
-25
-56
29
-6
15
-38
-7
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
-18
-21
16
6
0
-17
19
46
8
8
0
23
27
-46
-32
4
-2
11
-56
-6
32
-22
23
22
-2
44
36
-20
-13
81
27
17
-9
-11
-15
19
-7
-6
3
-3
9
-14
30
14
-21
2
-4
-19
6
-16
13
-14
7
-24
8
47
-16
-19
26
6
23
-34
12
12
2
0
-5
0
-43
-6
-36
-11
17
17
29
13
42
3
33
-6
-5
9
-8
-10
17
-15
-42
-2
34
-22
-17
-13
-11
-78
17
-5
-26
38
-24
-32
-4
14
-20
-26
-15
-78
-5
9
-11
-28
7
-14
-5
0
-4
20
-7
24
13
3
9
6
-34
-8
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
15
-4
-4
-9
4
-4
55
-28
13
32
12
9
6
29
-10
46
-11
77
-10
10
7
-1
10
60
7
5
-9
1
25
15
13
6
-26
-11
29
-18
2
17
3
3
-32
-4
-10
-32
-40
-11
23
-16
-12
6
-43
-2
19
-33
16
11
47
3
43
-35
12
-3
50
-5
-9
-3
5
-13
1
-7
4
3
1
-11
-12
-13
8
27
-27
31
3
-4
14
24
-40
-69
-9
30
-4
-4
-59
-28
-43
1
2
-18
-8
12
-50
14
-30
7
-12
-12
-4
25
30
-3
-2
-9
-29
-23
11
34
-18
-30
-31
72
-11
-35
-2
5
34
-24
-63
-39
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
18
18
-10
-42
-5
-15
-34
4
9
52
-31
16
13
-7
44
45
40
2
-17
29
13
3
-13
-26
-34
21
-40
8
67
-16
-21
35
-16
-18
-2
31
15
2
11
41
-8
-7
7
-6
6
6
-27
-20
-54
9
0
24
-7
-33
24
27
63
-19
-11
10
13
-8
-16
2
10
8
-11
20
1
-9
-1
-6
-5
19
20
-1
-7
-31
-14
-4
40
2
-37
5
-39
21
-10
-50
10
33
-22
57
5
-44
-3
8
-12
-51
20
-8
-24
-12
-6
2
0
28
26
2
3
0
0
-9
-17
-4
43
-9
31
2
-44
16
1
-25
-19
7
-9
-48
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-7
-3
-44
4
29
5
37
5
-44
20
-14
-29
-17
27
52
10
-21
4
8
27
8
23
14
1
2
15
-12
32
9
11
62
2
-9
-3
-24
15
1
14
-23
-3
-12
26
25
15
15
14
56
4
41
40
-15
21
15
-11
-11
-26
12
4
-7
20
22
7
13
-13
8
-9
6
19
0
1
43
-30
8
30
72
5
-10
-16
-14
15
4
27
5
-21
-11
18
4
-34
10
11
-31
-2
-19
31
15
-14
47
-50
32
-4
28
-3
28
60
23
34
0
-1
35
-7
34
-13
12
-26
23
-10
35
-22
6
-1
20
-1
36
20
8
-3
-23
23
8
-29
12
19
-7
15
-12
-3
8
31
7
-17
3
7
-22
-2
3
-43
18
-11
1
-5
-3
-22
-27
19
-21
27
25
21
-15
15
4
11
-9
30
-22
-5
-29
-25
-4
-6
16
7
6
5
22
10
-24
-9
-4
5
-2
2
12
13
-5
-12
13
-7
7
3
27
7
-23
-4
47
2
-12
0
3
-4
1
7
-11
-8
0
0
-16
0
17
7
-3
4
-9
2
-6
21
-8
5
33
-8
5
-22
-81
-12
14
33
4
-6
-4
-2
-38
39
5
-2
-12
-10
24
-55
-24
15
-12
8
-8
-23
4
25
-18
2
46
4
-15
9
1
4
-24
-1
-28
32
1
7
-12
17
-13
2
31
7
19
-9
22
-11
-32
0
13
-5
12
29
-7
15
14
-15
29
24
-11
1
-2
53
-4
-6
-9
-4
-14
-11
-23
5
3
-13
3
-5
-13
-7
-2
-3
10
18
1
-5
-2
22
-3
-4
12
-3
-25
4
-8
24
17
-21
-8
17
-22
16
-8
17
0
-1
13
5
-11
7
-16
7
-13
3
1
-25
-13
-10
-12
38
-39
-1
-14
11
-1
-20
11
4
-39
15
-26
35
10
-10
-17
10
-4
-17
-7
-13
-13
7
5
-4
-2
10
-11
15
-11
6
17
-25
-11
5
-6
6
14
-24
-19
-31
-38
-23
-21
12
35
-31
26
22
-2
-10
-8
-15
27
-17
9
-3
14
17
-3
8
0
-8
24
-2
1
12
23
-5
-4
3
13
-9
6
12
35
18
1
20
5
8
-4
1
-7
4
-16
5
-24
4
4
2
-29
12
10
2
-8
3
-2
0
-7
-6
6
-13
-21
5
2
-41
-17
11
14
-1
34
5
12
6
-12
7
3
4
7
0
-1
-14
-9
1
14
-5
8
-9
-15
-5
-24
16
-16
-14
-3
-10
1
-6
48
17
52
-39
-11
-3
-7
-4
-16
-10
-4
-11
2
16
-33
-4
-27
2
40
-20
44
-5
1
-8
23
-27
-4
-70
-23
44
-52
-42
-20
9
-20
5
-25
6
9
0
14
0
-5
9
15
0
-1
27
-48
-16
0
18
-4
-32
34
63
51
-11
40
27
-7
22
42
12
31
18
0
10
22
-7
21
-5
-20
13
-8
-6
-20
-5
-2
17
-2
-26
-43
-14
-30
14
29
25
62
0
-16
14
15
-7
-78
13
27
0
1
-14
-33
-4
-2
-2
-23
-1
-14
-1
13
-3
-7
5
-34
20
-5
12
-7
50
-16
-41
-43
15
12
11
-1
-37
10
-26
-38
-12
-7
4
13
30
17
6
35
-19
6
7
2
-1
-20
-8
-13
-18
-12
-40
18
18
-14
9
-68
-60
-7
10
39
43
3
-59
21
29
4
16
8
-3
1
1
-2
8
-3
23
2
2
0
4
11
-14
-7
44
-21
19
1
-15
14
32
30
27
-42
-23
-23
21
-21
-4
15
-20
-3
7
8
0
-26
8
10
-12
13
-8
4
9
27
-26
22
4
-18
-5
-32
-6
13
8
12
-28
6
5
-28
-17
-12
36
-2
3
-1
0
-5
0
1
2
-2
-3
-3
0
0
0
2
19
13
39
7
0
4
0
-9
-1
-19
-14
-24
23
-13
-23
-4
4
6
-1
-8
8
3
-3
-4
-1
19
34
-9
-9
-3
-9
-43
28
-8
11
-24
22
-23
-2
-50
-22
12
9
-5
-2
16
-12
-10
19
-9
75
11
-24
13
-9
47
-11
1
3
10
3
12
41
13
3
-24
-13
-21
4
-23
9
-3
2
-73
58
-13
62
-2
11
51
19
8
-8
-6
-28
1
6
-1
5
2
17
-18
5
-1
-13
-1
-56
-72
-21
-14
20
-1
8
13
-12
50
24
39
-15
7
8
-20
-12
2
-2
15
3
-31
-2
-13
0
-2
1
19
0
-1
-3
9
-16
11
14
1
-5
-25
-5
-7
-42
49
4
2
-49
-15
-25
-66
-6
11
7
-45
5
-16
2
-1
-1
-1
-13
-8
8
2
8
2
11
-9
-18
2
-7
13
-3
-19
34
-18
7
-7
-20
36
-42
-14
41
35
-17
-6
7
8
-1
-20
-26
10
19
-3
2
8
6
-66
3
9
1
-17
-44
-35
35
-28
10
17
-42
-2
-16
53
23
8
0
22
-10
55
-14
-12
-8
4
15
-16
5
-22
-2
8
-6
-15
2
4
3
7
-15
-2
-41
-35
36
-19
20
-15
-25
-38
2
16
12
-5
2
-50
-32
-5
-1
-10
-14
14
-6
-7
8
-20
-3
-20
83
19
22
-25
-34
25
-67
-51
30
-7
56
-35
-26
9
-18
1
48
26
-6
96
-70
-4
-29
-17
16
38
0
1
11
-5
-32
-1
38
-17
-2
-25
-56
32
-41
-13
86
22
-42
-22
22
-3
-10
-27
48
-14
-22
-19
36
45
3
30
18
-21
16
-8
-16
6
49
16
-24
-16
20
15
-2
-1
27
33
-6
7
-26
-7
40
-16
10
14
-12
2
-18
-32
5
-1
8
-47
3
-4
16
45
0
10
-30
32
19
2
-7
11
19
1
21
-21
37
-3
3
-1
41
9
6
18
-29
-30
4
-13
-2
-13
-3
-33
12
10
5
-16
3
13
-5
-21
4
-2
-13
8
10
1
8
47
-13
21
-13
5
1
19
9
2
-1
19
7
-6
6
-1
-25
36
-12
-4
46
-23
-6
-13
2
-44
31
1
24
-20
1
42
-40
0
33
-12
-4
11
46
25
6
59
-15
-25
-13
9
21
-8
3
16
-14
2
22
-6
-2
-8
24
32
-29
9
2
-2
-10
-1
0
-4
-5
6
-5
-6
2
3
6
-3
24
17
5
16
34
-40
-1
18
9
-4
-7
-10
-2
12
16
-14
2
7
0
0
-8
12
-3
8
-4
-1
-14
7
-6
-7
-4
-39
0
8
-12
41
8
-9
-1
20
-10
0
-34
-2
1
0
0
-9
5
0
1
-5
12
-3
8
-9
13
-1
-1
-30
-1
19
-3
-16
31
23
20
-2
3
12
-8
-22
9
-1
29
16
3
-1
-6
31
-22
-5
2
15
-19
-18
10
46
-2
-13
-4
-12
3
-24
-25
-13
16
-3
5
-19
2
3
-8
12
-15
-5
14
4
2
-9
2
-6
13
-13
-5
-5
-2
4
25
16
-22
-2
3
23
5
15
13
87
18
4
-7
8
19
2
2
-15
-6
0
-25
6
-14
6
0
11
-5
16
0
1
-5
-8
-8
20
-18
3
19
-16
7
2
-5
-28
8
34
6
10
5
8
-1
-51
-9
10
-4
24
4
-5
-5
-22
-3
-8
-7
-42
-10
1
-2
-24
9
-14
0
-5
-3
-5
3
56
-13
-28
-12
-20
0
-23
2
-25
10
-9
20
20
-4
6
8
-7
-1
7
7
-3
-7
-19
-7
5
5
-1
-25
31
-6
-9
-9
-33
-4
1
3
-4
-40
0
0
16
-10
1
6
7
0
-2
-17
-8
-5
-3
4
7
1
-17
-1
-13
8
3
-8
8
3
-4
-7
-1
-24
43
2
5
2
1
-5
16
6
6
-2
-7
-2
-3
-6
4
0
-4
0
0
-4
-1
0
-12
10
2
3
-14
-21
-3
6
-2
13
-17
9
2
2
7
-1
7
11
23
-20
-29
0
1
1
-1
21
3
9
9
0
8
-16
-5
-8
-1
3
-6
2
-29
-6
-3
25
26
-5
5
-28
-18
-24
-16
14
25
8
-7
3
25
6
7
21
-1
-3
3
-16
-6
12
16
1
19
1
-11
-19
0
-39
36
-19
5
-6
9
0
3
10
4
6
7
8
-14
-5
0
8
-9
-60
-13
46
-25
34
12
21
2
-1
8
57
25
-26
-24
35
-8
17
12
-9
-7
-22
-1
2
23
-19
-3
-5
19
8
-6
14
-8
-45
-6
19
-4
5
-19
-7
-6
-6
17
-40
-12
8
29
37
-15
13
-8
-18
8
1
1
5
14
-4
-3
-1
-2
0
-6
-2
-17
-7
-31
-2
-31
-17
-2
40
-54
-25
-24
23
-10
12
11
-6
-8
-11
-23
-10
12
-2
-1
-6
-5
-8
-19
5
8
2
0
-5
16
12
10
-45
-43
-16
7
21
-8
-41
8
12
-24
25
-20
-17
-27
24
0
13
-15
4
-30
-4
-3
2
-8
6
3
-1
5
7
-5
-28
7
35
-29
22
-42
-21
0
3
-39
-3
-1
34
-21
-22
1
23
-4
-16
-4
-16
36
-7
21
5
-6
4
-2
1
-6
-7
-12
-12
22
48
-62
-8
40
-25
12
74
15
2
-44
-14
0
-11
-23
17
9
4
-10
2
0
0
-41
2
6
-9
-6
-1
0
5
-9
-10
5
7
5
7
-10
-2
18
14
-5
-22
-33
-8
-8
-43
-39
34
-24
2
11
-18
4
-14
-8
-6
-1
15
35
-3
-16
-20
-34
15
8
-12
46
12
6
-15
-6
-34
-21
16
-13
11
13
-18
28
31
2
-9
-8
18
7
0
-1
13
-7
31
-2
-5
-2
20
0
-28
-29
2
9
-6
-24
-28
-14
-2
9
-23
5
48
17
14
82
-16
0
-24
9
-5
1
2
-4
7
24
6
12
1
2
5
8
-7
15
-21
-39
6
-17
23
10
12
-23
45
22
-63
-8
-10
-13
-9
2
-7
18
1
-10
-5
-11
-1
5
-5
21
0
-1
4
8
17
-23
-14
31
13
-22
6
-14
23
-9
36
-31
1
-4
13
45
22
16
9
1
15
-17
-8
-17
12
-4
7
24
5
-23
5
-36
19
16
-39
41
-20
-20
-2
-26
-15
35
3
-11
10
-2
-31
-18
26
-9
39
27
18
-8
2
-4
-3
-4
10
-4
-6
-1
-8
-6
45
-20
-29
-29
3
-5
-20
-13
-19
19
17
-7
13
39
-17
-6
3
-2
15
-24
15
-1
0
-8
3
21
10
-8
7
6
3
11
10
16
-7
-13
-7
-27
-19
-13
-28
37
-22
31
-19
-23
-8
24
14
38
16
-38
-10
0
-4
18
-4
13
-6
-23
2
-1
12
-22
50
-19
8
-19
11
17
-15
-7
27
15
5
-23
-20
-2
-52
-18
65
36
-4
29
-34
20
20
34
37
-8
18
-24
23
49
-27
-37
50
4
15
36
11
-4
-6
-21
33
62
34
-13
-47
-24
2
-33
18
32
45
19
25
34
-1
-11
19
-8
-7
-16
65
28
-12
9
62
-14
-46
13
2
-42
-19
13
-6
3
0
-8
97
-8
70
-6
59
-12
10
44
28
-30
36
-24
-22
11
-18
-12
5
-8
-3
-32
29
23
-17
29
-19
6
-2
46
14
37
25
28
-22
30
-30
-33
22
27
27
19
-34
0
-29
13
17
-5
-27
-8
-23
-51
12
-14
-16
21
-22
65
-23
11
12
26
6
-9
-12
30
-12
-31
-70
-37
43
16
32
55
28
18
46
21
23
13
-30
-17
-44
-4
21
-40
21
2
13
-99
-22
19
-5
1
-8
4
-32
-67
-18
10
-3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-32
20
16
4
-3
8
4
49
36
-3
-8
-4
4
-16
54
-20
29
-22
34
-3
3
-12
58
-10
-17
-37
-45
-3
24
9
0
8
3
-16
0
1
-10
3
6
-4
6
16
-10
41
-2
21
-2
-9
-6
11
2
-15
1
5
10
-29
22
-51
13
-40
-9
25
-15
-31
-14
2
-21
-28
-20
-11
41
-17
11
6
-32
-36
2
46
31
-10
1
27
19
-13
-5
-15
-19
7
-15
-25
-17
21
25
5
7
-1
-17
-26
4
-14
17
1
-31
-15
-41
1
7
-1
8
-15
11
-41
5
-29
6
-7
-24
0
-12
-9
-23
-19
-13
18
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
12
6
5
1
-1
-55
76
1
-15
-19
76
-25
34
-27
-5
1
-10
50
-15
24
0
-35
47
62
-71
15
38
38
24
3
26
5
-68
-37
2
-40
-18
-1
-17
33
-6
26
2
-13
-13
15
23
36
7
-10
-4
-47
-49
-5
18
17
53
6
18
-31
-37
-13
45
-11
-4
-12
-17
0
-9
-9
13
-31
-7
66
19
29
-56
-26
-26
-22
25
-33
-50
-14
-5
-6
18
0
17
-37
-9
-17
6
10
12
-10
11
-6
14
-26
9
5
15
0
-55
-37
2
-14
-37
1
-27
-35
-26
38
-44
-2
16
-61
6
-52
-13
4
10
-4
-37
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
13
-5
-5
-4
11
-19
-4
49
27
-37
-37
37
5
21
-32
21
58
-23
3
8
6
-13
-25
26
-62
-9
23
18
22
-17
-16
43
-21
-25
-17
-7
2
3
14
-26
-10
-9
24
36
-32
40
-11
13
16
-2
3
34
-33
-9
12
40
-16
14
-11
-18
33
-47
-19
-19
4
-10
8
13
14
1
12
27
-32
6
-8
-16
-2
-48
19
-4
-12
8
-31
14
20
-26
-36
14
3
35
10
-38
38
-42
15
-5
15
11
-7
-14
-10
-9
-40
4
-4
-29
-49
12
23
55
-27
24
-56
-12
-16
-9
-31
-2
0
4
-12
-5
2
2
-32
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-18
14
-57
19
50
68
5
-10
43
31
16
-13
21
14
6
3
4
5
3
-18
-3
5
23
38
41
-5
22
-16
39
-24
29
48
-10
-24
-10
-6
-41
-5
-5
13
-14
3
-7
13
1
1
-2
70
34
-1
14
14
33
3
18
32
7
21
28
4
29
-22
-13
-18
-19
26
5
18
-10
-14
6
-36
9
-12
28
10
10
48
42
14
13
24
-15
-5
20
-4
9
-21
9
0
-19
-29
-21
16
-5
-13
10
-42
133
48
26
7
70
-17
1
31
10
5
1
25
59
-8
-20
1
1
-11
6
-15
-4
-36
0
-10
53
-5
-8
26
-5
-10
15
-47
-7
-2
46
6
1
8
3
-4
-39
47
7
-26
-26
32
-18
5
15
7
-14
5
-22
-16
-1
-6
0
52
-17
11
-35
5
5
23
26
-14
19
2
12
-42
-19
13
6
-5
-9
-7
39
8
-7
0
21
7
-12
-3
-3
3
-24
-2
-6
11
4
4
8
6
10
-18
10
-14
-22
-42
30
21
-16
26
20
2
-8
6
-7
4
17
-8
-12
9
-1
-1
1
5
2
-4
-25
-6
-2
-17
-39
29
10
23
-60
-1
36
-15
-43
15
-5
-4
-9
-16
1
-9
4
28
-32
4
-15
1
15
-21
-8
28
-51
-16
2
-6
8
41
23
-11
-3
-28
48
17
1
5
-12
-9
12
19
17
60
15
23
-50
-11
-2
2
0
6
9
-12
-3
3
12
6
2
66
-5
-38
42
10
-31
-17
-12
-29
-4
-6
13
46
36
-4
4
-4
-6
-17
-16
1
-8
1
7
-5
-8
5
-5
-14
13
8
0
6
-44
-39
60
9
-14
30
29
17
-2
-6
40
-6
-53
-3
-6
9
-14
14
-19
-14
-12
-5
5
-8
-1
4
-8
-29
-17
18
-20
-30
-18
14
-33
31
28
31
-17
-2
-36
-2
-4
32
-18
-48
-35
16
-14
5
-27
3
-19
1
-6
-8
0
0
18
14
1
-19
7
-41
-20
23
-40
37
-6
17
12
5
8
-4
2
30
12
3
13
12
7
4
9
-8
-2
0
-6
6
6
-4
1
14
-2
4
-4
32
14
1
11
39
5
7
-3
16
12
1
-36
15
33
-23
-2
-8
-33
-1
-12
11
-39
6
2
10
-24
1
6
10
-2
2
-7
12
-14
-10
-39
34
57
11
16
-16
0
14
-9
8
-22
30
-17
-2
-10
9
-6
9
4
-20
3
7
-23
9
0
-26
31
-5
-6
-14
-8
-13
-9
-1
42
3
-3
14
-46
-2
-8
18
21
-22
-9
-4
-18
-13
-49
31
32
2
-9
14
-44
-24
-8
-1
-5
-2
-1
-38
18
2
-50
6
16
5
-9
3
-24
5
15
26
1
0
-8
15
5
-7
-58
-8
-3
-1
-14
-56
22
21
8
40
64
21
-2
26
46
52
-10
19
5
-15
4
-4
-18
5
8
-3
-1
-6
-29
-5
19
10
8
41
17
42
21
-42
-7
-54
4
40
-19
3
-12
25
6
-32
-50
-8
5
2
-25
-3
0
-24
-29
9
-5
-16
3
8
3
-8
18
64
17
-22
15
-19
24
-26
-27
19
-3
-13
-2
-22
-11
-89
-16
9
7
-16
14
-3
-9
-2
11
5
9
-24
28
8
-22
20
7
-30
41
-41
-23
-49
-41
27
6
-17
3
-17
51
-32
21
-8
5
26
-17
8
15
9
-12
0
-4
-3
12
1
-1
6
-18
-5
-3
28
-71
45
-20
21
-18
25
-26
-7
-1
3
-7
18
20
23
8
21
1
0
13
-1
1
-4
-15
5
-3
-8
-7
4
-30
-6
22
7
7
-23
20
-14
-5
-31
-37
0
6
19
2
-13
4
5
0
7
29
8
24
-3
3
1
-6
1
-3
-4
-1
0
-1
-3
-6
18
14
80
-3
-31
-4
19
-10
-23
-6
0
8
-2
-13
-20
-46
16
0
6
-4
-8
1
2
17
-6
-5
-10
-6
-25
4
19
10
10
64
-42
-57
-20
20
-30
-40
-3
-18
-31
-1
1
-17
-11
18
-4
-12
-3
-3
20
-5
5
-13
-7
25
-28
55
10
10
2
0
-6
29
-14
-28
23
10
-11
-7
47
33
-11
0
-48
55
35
32
6
-1
2
-26
13
-35
-5
-9
-5
-13
-8
37
1
22
-6
-8
16
2
-14
-32
-12
-2
-12
-15
51
24
-29
37
-8
-21
-74
46
4
-3
6
-7
-8
-9
3
-7
42
16
-9
-6
-16
7
-48
10
-8
-42
16
-28
4
-25
-24
16
42
2
-46
-46
-9
-2
-11
-9
6
-7
17
18
4
-5
0
5
14
-19
-25
-8
-5
-30
8
-2
-4
23
-36
28
-17
-13
-8
-21
33
-7
52
-47
62
12
-33
-21
82
13
-17
-37
0
-4
-3
-35
-1
11
-19
17
-17
16
1
-41
14
1
4
1
4
5
-3
-19
24
21
-63
7
26
-12
23
-7
13
-6
9
-26
-9
-22
-12
-24
8
31
-15
14
-13
-28
-17
16
9
-49
-11
45
-3
17
-1
-6
58
-31
19
-39
1
-31
3
-60
28
-27
-4
-19
8
2
13
4
9
-20
4
-62
40
-7
3
4
-9
-33
-78
-37
13
-21
-16
-1
8
-26
-11
-70
41
30
7
20
71
30
5
7
-28
13
34
-3
41
-7
-21
-50
-32
9
-35
-21
12
12
44
63
65
-47
36
-4
-4
-50
22
-46
-6
9
-95
-10
-31
13
0
-34
-1
11
45
-12
16
2
21
25
29
24
1
31
-2
-13
13
11
-2
37
-26
-2
4
0
40
2
15
29
-16
-3
10
-4
-9
-12
17
-26
-4
-22
52
-16
7
-16
15
6
23
22
1
8
5
-8
0
2
13
-2
28
-38
5
17
-9
72
13
21
43
-4
-8
-7
-31
-15
14
23
-30
22
34
-32
-13
-11
6
-18
-4
6
3
-5
-14
-14
18
0
0
-21
7
8
21
21
-13
19
-2
8
15
-11
-4
-11
-13
62
14
21
-19
-22
18
7
7
14
3
-10
5
27
-9
2
-4
11
0
14
5
-18
13
-12
42
28
-1
-15
9
-8
14
-2
-1
9
-9
-23
16
39
5
-24
6
-5
-29
-2
2
8
0
2
2
2
-38
-3
26
8
-7
-1
16
-17
25
18
-13
-3
-1
-2
-8
25
-3
-6
-4
-32
-10
25
8
-3
8
-2
-5
-2
3
-10
2
1
10
30
-13
1
2
1
-6
-15
12
-1
-3
10
-6
1
0
0
0
-2
1
-13
8
-18
4
-5
19
-2
0
-5
0
5
0
-1
-10
-5
0
1
7
0
19
-29
-3
0
6
44
3
4
9
9
14
-14
13
-13
-4
-7
-3
-7
1
4
1
-1
-5
-6
-2
10
20
1
-2
-26
-31
17
17
5
17
-9
-14
-31
30
5
-13
24
-5
30
22
-10
7
0
33
54
-2
-24
-5
-2
-17
-8
0
-3
8
4
9
3
4
13
9
34
5
-25
6
16
5
-26
-7
31
31
-43
4
35
0
14
6
23
-12
-2
0
6
0
3
-3
-9
3
0
7
-8
-6
-11
-15
12
22
36
15
1
-18
-7
-21
-43
-4
42
-24
-1
7
-14
13
-8
4
-19
5
-8
3
-8
13
-2
-1
-2
-8
-14
-11
4
5
8
0
24
-8
-20
-17
-4
-8
-7
10
-4
-34
-4
13
7
5
38
-16
-20
-10
15
-2
0
0
6
-4
4
-24
-20
-24
-15
-4
-8
8
-4
0
-6
-12
6
-14
-15
-8
19
0
40
0
3
1
1
6
-10
4
0
2
-20
1
-2
-9
-8
6
-9
-33
-5
-3
-21
4
24
12
-6
0
9
0
-8
31
10
-10
17
1
-8
5
-8
8
29
-3
-15
-5
12
0
-6
-12
-1
-14
0
-8
-10
2
-24
43
-6
-21
11
-1
6
-25
0
20
-8
-1
-2
8
-17
-13
-5
2
-5
32
-22
9
0
6
-3
18
-25
16
-5
0
-14
31
-64
25
10
-9
13
42
1
15
-30
-3
25
-9
-40
6
-10
5
-35
46
16
-42
23
30
16
-19
1
31
27
-26
-11
16
7
-27
-10
17
10
4
-11
4
-6
3
-8
6
13
-6
15
-28
-3
6
28
-49
-12
1
-23
5
4
46
8
5
9
-30
31
49
25
-12
72
-8
-17
2
-1
1
0
-1
-17
24
18
-12
18
-6
0
-6
10
-48
4
2
43
-14
-34
20
-5
5
32
-7
-6
-18
-4
9
13
20
-7
-25
13
-3
5
2
9
-2
-15
4
-2
9
3
3
-24
-34
-17
22
8
-47
-17
-6
-38
-3
9
13
-26
3
-11
23
-20
-12
-24
-14
-9
-13
-6
-1
-1
4
-20
-17
-10
13
-8
5
-12
-81
40
11
-10
-33
-5
-27
7
9
-6
36
-17
38
0
-14
-7
24
-30
24
-13
4
-5
3
9
-6
2
-25
-2
8
-12
-14
-42
34
-42
8
8
-8
0
-44
-36
18
-7
-9
-22
1
43
-9
10
24
-31
-3
3
6
-7
1
-13
40
6
8
8
3
-6
-15
-38
26
52
-11
-36
-14
-2
5
-11
10
-16
-16
14
-8
12
-18
15
2
27
0
-27
3
-8
-5
-9
0
22
-20
-9
3
-5
3
0
2
26
24
17
-4
2
-18
-3
-17
-11
-14
2
-35
-8
-15
-52
4
-43
6
-12
6
-10
7
15
-14
-16
8
-4
-19
1
-12
25
55
6
-30
-26
-45
-6
-14
-30
79
11
13
-52
13
-28
21
22
41
9
17
32
27
21
-1
21
-30
-20
-3
-5
3
10
7
3
57
-19
-22
-18
33
13
6
5
-14
12
-40
1
-18
13
20
48
-7
-11
-16
35
-3
-4
17
27
0
-5
-7
0
-7
0
-7
-15
14
-14
-3
0
10
-29
1
-21
40
-68
-61
4
43
74
1
8
0
-11
25
10
-17
8
6
-30
7
-8
13
-8
3
15
0
-10
-18
-16
13
49
-48
-13
-1
33
2
48
18
-11
46
10
0
-8
32
50
-3
20
-15
1
12
-26
-23
-13
-4
-42
-4
-19
-13
-5
-30
13
-1
1
20
4
-49
-6
9
-12
22
-30
53
4
-37
-44
5
44
-7
-19
25
6
-5
-16
-6
15
-7
17
3
31
-26
-4
32
16
22
-30
-23
-23
-6
-11
7
-37
19
14
-14
-25
-6
7
30
52
-6
-16
-7
5
-25
1
35
-14
-42
-9
-7
-11
4
6
23
11
-2
-22
30
-18
-28
0
19
45
-12
-43
-13
-4
4
-23
11
19
2
45
29
-23
8
-32
-6
21
-33
2
24
-3
13
-12
50
-27
4
9
-13
-10
-14
9
54
13
-2
-10
-47
-31
-48
-19
53
31
52
52
-1
-15
4
-2
28
37
-46
9
-38
-1
-19
-75
86
1
-57
2
14
23
8
20
20
-25
10
27
-17
-35
-26
28
47
20
-55
-2
0
0
0
0
6
3
26
-12
0
0
0
0
63
4
-50
1
0
0
0
0
16
44
8
-1
0
0
0
0
-19
41
19
-7
0
0
0
0
5
6
3
-49
0
0
0
0
32
25
24
6
0
0
0
0
13
28
4
6
0
0
0
0
58
31
18
27
0
0
0
0
29
-35
-9
-45
0
0
0
0
5
-2
8
-23
0
0
0
0
-7
15
-34
-5
0
0
0
0
20
11
90
83
0
0
0
0
-6
-7
66
43
0
0
0
0
-23
18
11
-22
0
0
0
0
-29
14
-2
32
0
0
0
0
35
-10
-20
37
0
0
0
0
5
-3
10
19
0
0
0
0
19
-20
-27
-23
0
0
0
0
33
-54
12
-23
0
0
0
0
-4
-14
42
30
0
0
0
0
-32
41
-27
6
0
0
0
0
-1
3
-13
10
0
0
0
0
11
-16
8
-22
0
0
0
0
9
-32
-18
-24
0
0
0
0
-6
4
-30
-23
0
0
0
0
3
-7
-10
17
0
0
0
0
17
2
30
10
0
0
0
0
8
-19
26
-13
0
0
0
0
-16
19
24
3
0
0
0
0
-17
-14
-44
10
0
0
0
0
-11
10
4
-10
0
0
0
0
76
-7
-11
21
0
0
0
0
-7
-12
1
-16
0
0
0
0
56
-7
-24
-30
0
0
0
0
51
43
14
-7
0
0
0
0
-19
45
-25
27
0
0
0
0
13
-29
5
14
0
0
0
0
-19
-10
-38
-18
0
0
0
0
-18
-1
16
-34
0
0
0
0
18
-31
-15
13
0
0
0
0
11
-21
-21
8
0
0
0
0
-19
17
-23
-14
0
0
0
0
-6
-27
-3
4
0
0
0
0
26
-39
-21
-6
0
0
0
0
9
8
-22
6
0
0
0
0
-34
-40
7
-12
0
0
0
0
17
-47
16
-34
0
0
0
0
8
-20
3
24
0
0
0
0
33
27
24
11
0
0
0
0
10
22
-6
9
0
0
0
0
54
22
-29
30
0
0
0
0
15
-35
-23
29
0
0
0
0
-12
20
-11
3
0
0
0
0
21
-4
7
-25
0
0
0
0
10
51
-17
-74
0
0
0
0
3
23
19
23
0
0
0
0
-2
8
-24
-34
0
0
0
0
37
-34
9
25
0
0
0
0
-13
30
10
-1
0
0
0
0
-1
11
-57
-32
0
0
0
0
21
14
-49
43
0
0
0
0
-22
-41
-43
-14
0
0
0
0
12
-28
10
12
0
0
0
0
2
9
1
-14
0
0
0
0
27
-16
32
-12
0
0
0
0
10
-7
0
38
0
0
0
0
15
-14
43
-87
0
0
0
0
-30
27
0
-11
0
0
0
0
7
9
-18
8
0
0
0
0
31
45
-18
-30
0
0
0
0
-50
35
-47
-4
0
0
0
0
3
1
-47
-11
0
0
0
0
-35
7
-24
-7
0
0
0
0
-33
19
26
-4
0
0
0
0
-9
-53
-17
-6
0
0
0
0
10
12
18
-43
0
0
0
0
-44
3
49
23
0
0
0
0
-69
6
5
40
0
0
0
0
38
11
-42
4
0
0
0
0
7
15
-20
-13
0
0
0
0
43
10
2
8
0
0
0
0
62
30
-36
-45
0
0
0
0
5
6
-17
9
0
0
0
0
1
19
-7
-2
0
0
0
0
4
18
-10
18
0
0
0
0
22
20
-78
-26
0
0
0
0
-55
4
6
31
0
0
0
0
18
14
21
-20
0
0
0
0
8
8
-15
-25
0
0
0
0
-13
-40
4
49
0
0
0
0
8
-1
7
-17
0
0
0
0
1
5
35
-2
0
0
0
0
-3
-42
-7
-16
0
0
0
0
8
16
-25
-9
0
0
0
0
-15
-63
-2
34
0
0
0
0
-15
31
-16
-11
0
0
0
0
59
28
-8
-13
0
0
0
0
32
-42
-30
-61
0
0
0
0
22
9
25
19
0
0
0
0
54
-45
4
26
0
0
0
0
-31
-52
-6
-4
0
0
0
0
34
-48
64
-31
0
0
0
0
-23
43
-22
-23
0
0
0
0
-5
-38
-9
53
0
0
0
0
-4
-21
18
-22
0
0
0
0
-9
-41
-26
-46
0
0
0
0
-35
-28
-3
6
0
0
0
0
15
22
-21
18
0
0
0
0
-20
3
1
-30
0
0
0
0
-41
-17
15
-50
0
0
0
0
41
47
-5
-35
0
0
0
0
15
44
-11
-28
0
0
0
0
38
26
-34
-3
0
0
0
0
-15
-36
-3
-41
0
0
0
0
8
-11
21
29
0
0
0
0
11
2
-59
-61
0
0
0
0
-11
28
-3
-12
0
0
0
0
-9
3
66
-53
0
0
0
0
-3
3
-16
-37
0
0
0
0
5
-21
-13
-22
0
0
0
0
-9
-22
-4
-20
0
0
0
0
29
-75
28
6
0
0
0
0
11
8
4
-34
0
0
0
0
42
-11
-18
-5
0
0
0
0
18
-31
-10
-75
0
0
0
0
-6
11
5
18
0
0
0
0
28
-34
-30
21
0
0
0
0
18
36
-16
-16
0
0
0
0
29
24
26
8
0
0
0
0
28
30
10
-8
0
0
0
0
-4
-2
-11
8
0
0
0
0
20
12
17
-7
0
0
0
0
6
6
17
11
0
0
0
0
18
4
2
-43
0
0
0
0
11
34
-20
-4
0
0
0
0
-9
0
-28
27
0
0
0
0
-5
5
-53
-30
0
0
0
0
-15
-3
-9
2
0
0
0
0
48
5
8
13
0
0
0
0
54
22
-12
58
0
0
0
0
-26
5
16
7
0
0
0
0
-2
-40
22
-22
0
0
0
0
5
-2
17
10
0
0
0
0
1
6
13
22
0
0
0
0
-26
-17
31
4
0
0
0
0
-12
-7
-4
-8
0
0
0
0
-36
6
5
13
0
0
0
0
-26
-8
12
31
0
0
0
0
2
21
14
-30
0
0
0
0
43
-1
-8
-31
0
0
0
0
4
7
-1
-8
0
0
0
0
20
-10
18
18
0
0
0
0
-13
-17
-9
1
0
0
0
0
34
6
-5
-9
0
0
0
0
31
1
0
-14
0
0
0
0
51
-11
39
-9
0
0
0
0
41
-8
-29
31
0
0
0
0
8
10
0
16
0
0
0
0
-42
-43
21
-3
0
0
0
0
37
29
18
28
0
0
0
0
40
-17
28
-16
0
0
0
0
3
15
-6
-8
0
0
0
0
-3
29
21
-10
0
0
0
0
0
-11
-4
12
0
0
0
0
-7
-21
-16
20
0
0
0
0
0
4
-1
2
0
0
0
0
10
7
3
-16
0
0
0
0
11
-5
-54
4
0
0
0
0
1
30
16
-10
0
0
0
0
-5
-26
15
-10
0
0
0
0
-7
15
1
4
0
0
0
0
10
-75
-7
-47
0
0
0
0
6
-3
-10
10
0
0
0
0
-9
4
-16
8
0
0
0
0
14
2
12
-7
0
0
0
0
-6
-2
-9
-13
0
0
0
0
-4
-7
5
-16
0
0
0
0
20
-17
-3
8
0
0
0
0
-28
0
2
1
0
0
0
0
-19
-7
31
15
0
0
0
0
11
41
-18
-8
0
0
0
0
-25
-6
-7
-7
0
0
0
0
0
2
0
-1
0
0
0
0
25
-8
17
3
0
0
0
0
5
-3
4
-34
0
0
0
0
13
-8
4
7
0
0
0
0
-4
7
-1
2
0
0
0
0
10
-6
3
47
0
0
0
0
-15
-15
25
-45
0
0
0
0
16
27
5
0
0
0
0
0
16
3
15
-41
0
0
0
0
15
-8
-3
-9
0
0
0
0
23
-21
24
2
0
0
0
0
-54
-16
47
31
0
0
0
0
-68
89
22
5
0
0
0
0
1
0
-25
9
0
0
0
0
-8
-29
0
-2
0
0
0
0
18
13
13
12
0
0
0
0
-5
-67
12
5
0
0
0
0
25
-2
-5
4
0
0
0
0
-2
-25
3
8
0
0
0
0
-13
-33
-37
14
0
0
0
0
13
8
6
-46
0
0
0
0
-5
9
-6
-15
0
0
0
0
-15
7
-1
-5
0
0
0
0
-13
-73
-30
-12
0
0
0
0
-38
-21
2
28
0
0
0
0
-11
29
-26
-45
0
0
0
0
-16
-6
8
-7
0
0
0
0
39
-32
-19
-14
0
0
0
0
-31
-37
-6
3
0
0
0
0
23
-12
-4
-13
0
0
0
0
14
7
4
-6
0
0
0
0
45
44
23
-19
0
0
0
0
-42
-21
-10
-10
0
0
0
0
-1
21
-22
4
0
0
0
0
-2
3
-17
-29
0
0
0
0
-22
-33
-50
-4
0
0
0
0
14
4
-22
-18
0
0
0
0
24
12
-27
86
0
0
0
0
3
31
-25
-32
0
0
0
0
-13
12
-46
-23
0
0
0
0
36
-44
8
18
0
0
0
0
10
31
-10
-9
0
0
0
0
44
5
-27
-16
0
0
0
0
24
40
-6
-5
0
0
0
0
-20
-6
13
9
0
0
0
0
17
12
-29
16
0
0
0
0
3
-4
-7
2
0
0
0
0
64
11
-20
-51
0
0
0
0
-17
10
-32
-43
0
0
0
0
10
-9
-18
-2
0
0
0
0
19
14
-12
-12
0
0
0
0
17
2
-12
32
0
0
0
0
39
17
1
-1
0
0
0
0
-2
-43
10
1
0
0
0
0
12
-32
-32
3
0
0
0
0
-1
-14
9
-4
0
0
0
0
19
20
-62
8
0
0
0
0
27
-3
0
-61
0
0
0
0
29
15
-8
0
0
0
0
0
55
5
-46
-17
0
0
0
0
-6
-80
38
20
0
0
0
0
40
17
17
6
0
0
0
0
18
-8
-10
-8
0
0
0
0
13
-41
-29
-52
0
0
0
0
55
44
-26
-22
0
0
0
0
21
-9
23
-32
0
0
0
0
-13
10
-1
-14
0
0
0
0
46
17
7
-10
0
0
0
0
-32
13
-39
-7
0
0
0
0
32
58
-18
5
0
0
0
0
-3
5
3
-23
0
0
0
0
4
11
24
-29
0
0
0
0
24
-4
-44
1
0
0
0
0
0
0
8
11
10
0
0
-1
65
22
0
0
25
-15
28
0
0
-2
17
0
0
0
-11
0
-5
0
0
56
42
-22
0
0
-43
14
5
0
0
9
0
40
0
0
20
70
5
0
0
-12
-2
-6
0
0
21
15
6
0
0
16
54
-5
0
0
5
-25
5
0
0
3
-8
4
0
0
12
73
-7
0
0
43
-48
-16
0
0
1
-4
14
0
0
15
13
-15
0
0
-5
2
0
0
0
-1
-14
0
0
0
5
21
-4
0
0
-7
0
-12
0
0
1
2
-3
0
0
-5
-13
4
0
0
7
-6
19
0
0
0
2
7
0
0
1
-15
8
0
0
34
-10
0
0
0
11
-24
-8
0
0
3
50
3
0
0
-8
-20
0
-18
7
22
-1
-29
0
0
12
-9
23
0
0
6
14
-9
0
0
40
4
-5
0
0
-20
21
-67
0
0
-6
46
37
0
0
8
50
32
0
0
-13
-13
-10
0
0
11
-34
-27
0
0
28
-49
14
0
0
-22
44
3
0
0
25
7
0
0
0
34
-5
19
0
0
13
-2
1
0
0
2
-1
-5
0
0
-26
-1
1
0
0
-25
-11
-10
0
0
-8
20
-5
0
0
-1
19
-1
0
0
0
-8
1
0
0
-17
-8
6
0
0
1
17
6
0
0
41
-56
-1
0
0
3
-5
2
0
0
-9
6
1
0
0
0
26
5
0
0
-7
8
15
0
0
0
0
-1
0
0
1
-9
1
0
0
13
25
1
0
0
0
24
-24
0
0
3
8
-9
-2
-3
-9
19
13
0
0
-35
50
9
0
0
-11
-39
18
0
0
19
50
-14
0
0
22
-39
-33
0
0
13
-5
16
0
0
-10
-1
20
0
0
27
12
3
0
0
22
-10
9
0
0
-18
40
-2
0
0
13
6
1
0
0
-4
8
-3
0
0
-5
0
2
0
0
0
9
0
0
0
-2
5
0
0
0
-1
2
0
0
0
-15
-10
4
0
0
0
24
1
0
0
0
0
0
0
0
3
-8
0
0
0
0
2
0
0
0
18
-5
0
0
0
-3
-6
0
0
0
0
-4
1
0
0
5
-3
0
0
0
0
45
4
0
0
1
-17
0
0
0
0
15
4
0
0
3
7
0
0
0
2
-3
-1
0
0
-1
-1
0
0
0
55
3
0
31
14
-33
-16
0
0
0
-20
23
17
0
0
10
-38
12
0
0
52
29
29
0
0
10
-13
7
0
0
28
3
-20
0
0
54
2
-29
0
0
24
-2
5
0
0
7
-2
3
0
0
-22
2
-1
0
0
21
8
2
0
0
-8
6
0
0
0
5
4
-4
0
0
0
1
0
0
0
0
-5
0
0
0
2
-12
0
0
0
-20
5
-5
0
0
0
-8
2
0
0
4
-6
3
0
0
-2
1
-3
0
0
-8
2
0
0
0
1
-10
-2
0
0
0
20
0
0
0
-3
-5
1
0
0
4
1
2
0
0
0
-7
1
0
0
0
-4
0
0
0
0
2
0
0
0
5
-17
1
0
0
6
-3
0
0
0
-5
12
-1
0
0
3
0
-2
24
-1
-40
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
10
19
0
0
49
-18
13
0
0
25
7
-25
0
0
14
27
-10
0
0
-4
0
0
0
0
-15
-10
1
0
0
3
1
0
0
0
8
10
-1
0
0
7
-9
-1
0
0
9
-3
2
0
0
9
4
3
0
0
-33
3
7
0
0
2
3
1
0
0
0
0
-1
0
0
-2
1
0
0
0
6
4
-2
0
0
14
28
-8
0
0
-5
-2
5
0
0
1
-1
0
0
0
6
0
0
0
0
-8
-6
0
0
0
-2
0
0
0
0
0
1
2
0
0
9
8
0
0
0
0
16
0
0
0
0
-4
1
0
0
0
-1
0
0
0
-5
0
0
0
0
3
-9
1
0
0
0
0
7
0
0
2
-4
0
28
-2
12
3
-4
0
0
1
-18
-2
0
0
23
-25
5
0
0
-20
4
-2
0
0
-1
5
0
0
0
8
3
0
0
0
32
8
5
0
0
5
1
0
0
0
-25
-6
-2
0
0
23
17
-3
0
0
4
13
16
0
0
3
-4
0
0
0
-10
8
7
0
0
-2
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
3
1
-3
0
0
0
9
-1
0
0
-5
20
-4
0
0
0
2
1
0
0
-2
1
-3
0
0
2
4
-2
0
0
1
7
0
0
0
-2
1
0
0
0
-6
12
0
0
0
0
-10
-2
0
0
2
3
-2
0
0
0
-1
0
0
0
1
0
2
0
0
-2
-25
-1
0
0
5
3
2
0
0
-2
-3
1
25
-29
13
9
0
0
0
-1
-25
0
0
0
15
23
0
0
0
-16
-23
1
0
0
24
3
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
8
-2
-1
0
0
33
0
3
0
0
-15
1
-1
0
0
8
6
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
12
-5
0
0
0
1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
-26
56
3
0
0
0
0
-2
2
-2
0
0
-2
-1
3
0
0
-8
-4
4
0
0
5
-2
-1
0
0
1
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-1
-1
0
0
0
15
0
-4
0
0
8
-8
-1
0
0
-15
-6
0
0
0
10
-7
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
6
-1
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
2
0
6
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
-19
0
0
27
-5
-7
0
0
1
-6
-4
0
0
-5
1
-14
0
0
-29
-29
2
0
0
-9
0
2
0
0
0
0
0
0
0
25
13
4
0
0
24
-8
0
0
0
6
0
0
0
0
0
5
0
0
0
6
3
0
0
0
-6
12
-1
0
0
5
2
0
0
0
17
-15
2
0
0
16
-6
3
0
0
1
2
-6
0
0
8
1
19
0
0
-12
37
23
0
0
18
-5
-4
0
0
-57
50
-1
0
0
-77
23
6
0
0
14
-26
-30
0
0
-94
14
-13
0
0
76
-5
-22
0
0
-79
-64
68
0
0
-39
-12
19
0
0
36
-43
34
0
0
67
8
-57
0
0
-38
14
8
0
0
-25
49
15
2
-1
25
-94
-3
0
0
8
23
22
0
0
14
9
22
0
0
-1
16
-3
0
0
-18
-1
-4
0
0
10
-7
1
0
0
5
-3
8
0
0
-6
-1
0
0
0
20
8
-8
0
0
-2
-10
0
0
0
-4
5
0
0
0
3
0
-2
0
0
2
0
-2
0
0
6
-3
0
0
0
9
-18
0
0
0
16
3
0
0
0
-32
12
1
0
0
-1
-11
-24
0
0
11
-12
-12
0
0
0
17
2
0
0
3
-2
5
0
0
48
-31
-8
0
0
16
2
-12
0
0
-3
17
-40
0
0
-29
-1
6
0
0
22
-40
87
0
0
43
26
18
0
0
9
-23
23
0
0
8
3
-14
0
0
-25
0
11
0
0
-30
49
-41
0
0
-29
-22
-23
-9
-2
-33
-54
6
0
0
-4
23
0
0
0
-13
-7
0
0
0
-14
12
0
0
0
27
-2
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
0
0
3
8
7
0
0
35
5
66
0
0
20
-4
-72
0
0
5
19
52
0
0
32
-25
7
0
0
20
-36
45
0
0
-19
31
0
0
0
-44
40
-32
0
0
25
-46
12
0
0
-63
-1
16
0
0
-47
-34
72
0
0
-70
-24
-16
0
0
-71
3
-24
0
0
13
-13
-5
0
0
-70
-30
-9
3
9
46
42
-94
0
0
-8
-9
3
0
0
-32
5
6
0
0
5
1
0
0
0
10
-2
-3
0
0
-1
1
0
0
0
1
4
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
-8
0
0
0
9
-32
17
0
0
-2
78
-7
0
0
-25
-77
50
0
0
-4
-32
-75
0
0
-103
41
11
0
0
34
9
4
0
0
-33
-11
1
0
0
14
15
62
0
0
12
-50
-76
0
0
47
-30
8
0
0
39
50
-85
0
0
44
27
-12
0
0
-1
23
-2
0
0
-2
8
5
0
0
9
3
-9
9
-7
-7
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
2
0
0
-14
-8
9
0
0
24
-6
2
0
0
7
-6
-1
0
0
17
6
0
0
0
3
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-12
-6
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
3
0
0
0
21
-8
2
0
0
71
-67
25
0
0
5
-25
12
0
0
-16
16
-20
0
0
-71
68
1
0
0
-19
-18
16
0
0
15
-5
-70
0
0
33
4
46
0
0
1
-1
-2
0
0
-3
-3
-4
0
0
10
2
1
0
0
11
9
17
0
0
-22
-47
-26
0
0
7
16
-19
0
0
-59
-10
44
5
3
-17
-7
-38
0
0
-2
4
2
0
0
23
-6
-8
0
0
1
-6
0
0
0
-33
22
0
0
0
9
0
0
0
0
8
1
0
0
0
0
0
0
0
0
-4
1
0
0
0
2
-4
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
9
-5
0
0
0
-13
-4
-45
0
0
-26
16
-12
0
0
-32
0
24
0
0
8
-53
25
0
0
2
32
0
0
0
0
44
-20
0
0
0
3
3
0
0
-41
-7
-9
0
0
-6
30
1
0
0
-17
38
-9
0
0
20
21
3
0
0
-53
-33
33
0
0
2
-16
-17
0
0
-21
-50
-4
0
0
-9
-7
25
-12
-19
-127
26
2
0
0
9
-2
0
0
0
-2
6
0
0
0
2
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
36
-9
0
0
-21
28
1
0
0
61
5
-22
0
0
1
-2
-4
0
0
7
-8
2
0
0
-24
-6
-3
0
0
6
1
0
0
0
-43
4
4
0
0
-16
26
23
0
0
55
-30
10
0
0
-64
-31
14
0
0
-2
7
-6
0
0
14
45
9
0
0
6
-22
22
0
0
1
-7
-75
21
44
-11
14
-48
0
0
-1
3
0
0
0
1
4
0
0
0
1
0
0
0
0
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
15
0
0
2
-9
0
0
0
-22
6
11
0
0
-2
24
5
0
0
0
1
-3
0
0
0
-8
1
0
0
-2
0
0
0
0
-6
-1
1
0
0
4
8
-28
0
0
-19
-9
38
0
0
-78
46
-20
0
0
-3
-29
25
0
0
-15
-12
54
0
0
35
15
-20
0
0
6
23
22
-20
-17
-29
-42
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
13
0
0
10
92
1
0
0
29
-4
-2
0
0
1
-49
23
0
0
24
-7
-1
0
0
42
-2
4
0
0
17
0
2
0
0
-9
27
40
0
0
7
18
-2
0
0
-9
-21
14
0
0
5
15
2
0
0
-10
15
19
0
0
1
-23
14
0
0
-10
-6
8
0
0
-18
7
-24
0
0
9
19
-40
0
0
4
21
8
0
0
-2
27
3
0
0
7
0
-1
0
0
22
-10
2
0
0
-25
36
-29
0
0
26
-5
-22
0
0
8
-7
0
0
0
8
8
3
0
0
22
-15
41
0
0
-8
25
12
0
0
-30
6
4
0
0
31
-6
-7
0
0
-31
-21
-12
0
0
5
8
12
0
0
3
14
-23
-6
6
-7
25
8
0
0
3
31
30
0
0
-4
7
11
0
0
18
15
35
0
0
-5
67
-112
0
0
-2
-28
7
0
0
37
48
17
0
0
-5
2
8
0
0
34
5
-27
0
0
-19
-40
-5
0
0
79
18
6
0
0
7
30
9
0
0
2
2
-8
0
0
-5
0
2
0
0
7
-3
4
0
0
0
-15
5
0
0
-59
-33
-2
0
0
23
73
10
0
0
-23
-8
-4
0
0
-10
4
-2
0
0
-32
8
-1
0
0
1
-17
1
0
0
2
-23
-4
0
0
-1
-14
-5
0
0
16
-28
5
0
0
32
61
6
0
0
4
-24
16
0
0
-8
21
-9
0
0
4
-1
0
0
0
5
12
-12
0
0
-41
7
3
0
0
13
12
29
-14
2
-35
-43
-25
0
0
-22
17
39
0
0
19
-3
12
0
0
21
51
5
0
0
12
22
-23
0
0
11
0
-4
0
0
25
5
-3
0
0
2
-2
0
0
0
43
-13
6
0
0
0
6
0
0
0
4
8
7
0
0
-6
4
0
0
0
-12
4
-5
0
0
1
-2
-3
0
0
0
3
-5
0
0
1
16
0
0
0
21
-7
2
0
0
13
8
1
0
0
-2
-5
3
0
0
0
1
0
0
0
-3
-2
0
0
0
1
-2
-1
0
0
-2
7
0
0
0
0
-1
1
0
0
-2
1
0
0
0
0
0
0
0
0
8
0
2
0
0
0
-1
-3
0
0
4
-2
1
0
0
5
-3
6
0
0
16
8
1
0
0
6
6
-1
14
9
-56
-30
1
0
0
-36
42
13
0
0
-20
-19
50
0
0
83
8
-15
0
0
-45
5
2
0
0
4
13
5
0
0
-21
0
-15
0
0
-8
15
1
0
0
-15
48
-8
0
0
8
-7
0
0
0
9
12
-2
0
0
4
-25
0
0
0
5
31
-2
0
0
0
4
2
0
0
0
0
-5
0
0
-1
5
2
0
0
34
-8
-5
0
0
13
-21
0
0
0
-16
5
-4
0
0
0
-1
4
0
0
-22
-2
-3
0
0
2
8
1
0
0
-1
-2
0
0
0
0
-8
0
0
0
-14
-8
1
0
0
-3
29
0
0
0
-1
-5
0
0
0
0
0
-2
0
0
12
-17
3
0
0
-6
-14
4
0
0
-2
-5
-12
0
0
-2
-19
0
-12
-5
-31
19
0
0
0
-33
45
-13
0
0
-21
18
-48
0
0
58
-12
0
0
0
-30
32
10
0
0
-1
4
0
0
0
1
0
0
0
0
1
2
0
0
0
5
17
2
0
0
1
1
0
0
0
4
2
4
0
0
-2
3
1
0
0
-3
5
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
0
0
0
-14
-3
0
0
0
-8
-7
0
0
0
8
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-5
12
2
0
0
0
-5
2
0
0
1
-1
0
0
0
-5
0
0
0
0
-12
2
0
0
0
0
-1
0
0
0
0
0
0
-12
10
18
-3
0
0
0
34
-5
20
0
0
33
-50
4
0
0
-28
48
15
0
0
26
51
-4
0
0
6
0
0
0
0
5
9
0
0
0
-4
1
0
0
0
8
-14
0
0
0
6
8
0
0
0
9
6
0
0
0
3
0
-1
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
24
0
0
0
-19
1
-1
0
0
-3
-2
0
0
0
0
2
-4
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
24
-2
0
0
20
-4
-1
0
0
-1
0
1
0
0
0
0
0
0
0
6
4
0
0
0
-1
7
0
0
0
0
-4
0
12
7
-5
1
0
0
0
24
24
3
0
0
20
-44
-13
0
0
-23
7
0
0
0
1
-3
-10
0
0
5
-1
0
0
0
-8
0
0
0
0
0
1
0
0
0
4
8
-1
0
0
1
0
0
0
0
-1
2
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
2
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
18
-13
-3
8
0
0
0
33
-65
15
0
0
22
61
-16
0
0
-5
-4
2
0
0
26
6
2
0
0
-8
1
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-4
9
1
0
0
-9
25
0
0
0
3
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
0
0
0
2
0
0
0
0
0
-1
0
0
0
-6
-1
0
0
0
0
14
-1
0
0
9
5
-3
0
0
-2
-2
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-9
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-3
-1
0
0
0
-22
43
9
0
0
-9
55
-6
0
0
-23
3
-10
0
0
76
8
-4
0
0
-27
-8
0
0
0
1
-7
0
0
0
-5
-1
0
0
0
32
-16
0
0
0
2
-3
-2
0
0
2
2
3
0
0
-4
-7
-1
0
0
4
-25
4
0
0
2
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
3
2
0
0
0
-6
2
0
0
0
8
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
1
-1
0
0
0
-3
1
-3
0
0
-3
14
1
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
1
0
0
-1
0
0
20
-10
25
0
-1
0
0
2
64
13
0
0
-16
-3
-7
0
0
-3
-5
2
0
0
-30
-18
-2
0
0
3
7
0
0
0
12
0
0
0
0
2
1
0
0
0
31
-16
0
0
0
29
-1
0
0
0
-5
1
-1
0
0
-2
-2
0
0
0
22
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
-8
3
0
0
0
-3
5
-2
0
0
-7
8
-2
0
0
2
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
0
0
0
0
1
0
0
0
3
16
-1
0
0
-8
2
0
0
0
-5
1
0
0
0
0
1
0
0
0
1
0
0
0
0
-3
5
0
0
0
-1
-1
-1
0
0
0
3
0
62
-28
25
0
0
0
0
24
33
2
0
0
18
-9
-3
0
0
-34
-4
-1
0
0
4
4
-3
0
0
-14
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
1
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
36
1
0
0
0
0
-5
-10
2
0
0
8
-7
-25
0
0
10
-24
0
0
0
15
5
2
0
0
0
3
0
0
0
3
1
0
0
0
0
1
0
0
0
2
-3
0
0
0
0
-2
0
0
0
1
0
0
0
0
2
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-1
0
-1
8
-2
0
0
0
0
-7
24
4
0
0
44
8
15
0
0
15
22
1
0
0
2
-13
-2
0
0
0
2
0
0
0
-1
0
0
0
0
1
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-4
0
0
0
-1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
1
0
0
0
0
3
4
-3
0
0
-10
-5
9
0
0
0
4
-1
0
0
-32
3
0
0
0
-2
1
0
0
0
-1
0
0
0
0
0
-1
0
0
0
4
-4
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
0
0
0
0
0
-7
2
-8
0
0
42
0
16
0
0
4
0
-1
0
0
10
5
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
-5
0
0
0
0
-15
-1
-13
0
0
47
-3
-8
0
0
1
-18
-3
0
0
10
0
8
0
0
0
-2
0
0
0
2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
-10
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
0
0
0
0
0
-10
31
1
2
0
0
0
11
-21
1
0
0
1
56
41
0
0
19
-12
-1
0
0
-11
20
5
0
0
2
1
0
0
0
0
-13
-5
0
0
1
0
0
0
0
25
-9
0
0
0
1
3
0
0
0
-19
2
0
0
0
1
4
0
0
0
-10
0
0
0
0
8
8
0
0
0
4
-3
0
0
0
8
4
2
0
0
-13
-7
0
0
0
7
1
11
0
0
9
-4
4
0
0
-7
-23
40
0
0
-22
0
-3
0
0
-6
-15
3
0
0
-41
-20
0
0
0
-40
10
76
0
0
-41
0
-39
0
0
-59
26
5
0
0
-55
-26
-10
0
0
11
-23
-25
0
0
-10
32
-103
0
0
-47
-13
-35
0
0
22
-23
-58
0
0
-5
-81
-12
5
0
-70
-87
-64
0
0
-18
59
-14
0
0
52
-7
-30
0
0
7
-6
-2
0
0
37
-11
1
0
0
8
3
0
0
0
2
-4
2
0
0
0
0
0
0
0
-25
-2
0
0
0
-8
6
0
0
0
0
-3
0
0
0
-5
2
0
0
0
0
5
1
0
0
-9
-2
0
0
0
0
-16
0
0
0
0
-6
0
0
0
16
12
1
0
0
-4
-15
3
0
0
-12
8
-12
0
0
2
-49
-14
0
0
16
-31
19
0
0
-1
2
-38
0
0
-24
-23
42
0
0
-61
14
-25
0
0
-75
-23
-56
0
0
51
-9
-86
0
0
-8
12
47
0
0
-52
-11
5
0
0
39
-58
12
0
0
-34
46
-30
0
0
-30
57
18
0
0
-109
35
-33
-11
-4
18
-27
-25
0
0
26
3
-5
0
0
2
16
10
0
0
4
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
5
0
0
0
-1
0
-22
0
0
27
21
51
0
0
31
-6
-84
0
0
45
-52
90
0
0
-82
11
26
0
0
-1
46
20
0
0
8
-5
-23
0
0
-85
19
48
0
0
2
-96
25
0
0
14
-60
38
0
0
-23
23
3
0
0
-15
-12
22
0
0
1
27
-7
0
0
-9
10
-12
0
0
9
69
-32
-19
0
35
-33
5
0
0
-15
-13
0
0
0
41
4
4
0
0
3
-2
-1
0
0
-8
10
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-1
0
0
1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
2
0
0
0
-2
13
-14
0
0
-12
44
-14
0
0
-5
25
-22
0
0
-31
-23
-5
0
0
-2
-26
-18
0
0
-16
-23
8
0
0
9
-10
-23
0
0
25
-41
39
0
0
-52
-64
12
0
0
24
-15
-8
0
0
-11
7
17
0
0
-14
27
0
0
0
8
-18
1
0
0
-2
13
8
0
0
6
-23
31
-13
-6
-33
-27
-2
0
0
14
18
0
0
0
5
-9
7
0
0
-7
-6
0
0
0
3
-5
-1
0
0
-1
0
-1
0
0
2
0
4
0
0
0
0
0
0
0
-3
4
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
35
3
0
0
21
74
52
0
0
-32
56
5
0
0
-18
13
-23
0
0
12
-74
-2
0
0
3
-5
-14
0
0
-7
-2
-63
0
0
0
74
25
0
0
38
-4
9
0
0
-17
9
0
0
0
9
-4
12
0
0
14
-29
-7
0
0
0
18
8
0
0
0
10
3
0
0
9
1
12
17
-22
8
5
4
0
0
-10
-16
0
0
0
0
-24
1
0
0
-2
1
0
0
0
-23
0
2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
28
-9
-82
0
0
-54
-7
61
0
0
7
-39
12
0
0
6
-25
8
0
0
30
-13
5
0
0
10
19
12
0
0
0
3
0
0
0
5
31
-7
0
0
21
49
9
0
0
2
0
0
0
0
-2
41
7
0
0
-2
1
0
0
0
0
6
0
0
0
0
4
0
0
0
5
8
0
2
-14
40
12
0
0
0
6
6
0
0
0
-19
-2
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-131
-1
0
0
31
73
-44
0
0
-48
47
-13
0
0
40
-29
-2
0
0
-9
15
4
0
0
0
12
4
0
0
0
-10
0
0
0
-1
16
1
0
0
-33
19
20
0
0
0
0
0
0
0
0
15
-3
0
0
1
-3
0
0
0
0
-8
-4
0
0
0
1
0
0
0
0
7
0
38
21
7
-14
0
0
0
5
-13
0
0
0
0
1
0
0
0
0
4
1
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-30
12
0
0
-1
-58
-71
0
0
9
28
-32
0
0
4
-15
7
0
0
2
9
25
0
0
-4
5
-10
0
0
4
2
0
0
0
8
-24
0
0
0
-18
33
2
0
0
0
-1
1
0
0
7
16
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
-2
-1
0
0
0
9
1
9
-1
-1
4
0
0
0
15
-42
4
0
0
-40
-9
16
0
0
2
-1
0
0
0
-20
5
0
0
0
-4
-4
0
0
0
-2
5
3
0
0
0
0
0
0
0
-14
2
0
0
0
9
-2
0
0
0
-2
3
0
0
0
3
1
0
0
0
2
0
0
0
0
0
1
0
0
0
4
0
0
0
0
-2
-2
0
0
0
24
1
0
0
0
20
-9
-37
0
0
-30
11
47
0
0
-32
-11
87
0
0
90
-41
-11
0
0
-21
56
3
0
0
-14
-11
3
0
0
82
6
-24
0
0
31
-21
-14
0
0
1
-1
-1
0
0
-2
-2
7
0
0
-35
8
6
0
0
-49
0
9
0
0
-10
-35
-8
0
0
-1
57
24
0
0
-94
39
-47
0
6
-58
-6
-37
0
0
19
9
-13
0
0
23
2
-1
0
0
5
1
1
0
0
25
-5
0
0
0
29
-14
0
0
0
-7
0
-3
0
0
-6
0
0
0
0
-3
1
0
0
0
-1
-3
1
0
0
-3
-1
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
-6
-2
0
0
-38
3
-28
0
0
-60
61
41
0
0
74
3
28
0
0
-56
20
-7
0
0
-1
8
-7
0
0
19
-5
4
0
0
12
1
0
0
0
-21
-6
3
0
0
-3
10
-4
0
0
5
-24
-1
0
0
44
-7
-9
0
0
35
56
-19
0
0
47
7
39
0
0
7
-35
-41
0
0
42
-8
62
-21
-2
-57
159
46
0
0
-3
10
0
0
0
4
-6
0
0
0
-1
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-37
-71
12
0
0
18
-23
9
0
0
5
2
-30
0
0
34
43
1
0
0
13
-30
3
0
0
5
-7
0
0
0
0
-8
0
0
0
5
8
10
0
0
-5
2
27
0
0
-18
71
75
0
0
72
6
-27
0
0
11
2
-5
0
0
25
-79
-60
0
0
-30
0
6
0
0
-4
-36
6
-2
3
40
4
-37
0
0
3
-27
-4
0
0
-18
-5
-1
0
0
5
2
-1
0
0
7
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-61
13
-58
0
0
27
6
12
0
0
6
-3
13
0
0
-25
-5
0
0
0
7
7
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
23
37
-86
0
0
21
69
48
0
0
-46
22
20
0
0
7
-20
-25
0
0
-60
10
50
0
0
29
-14
12
0
0
0
31
-30
11
2
31
-13
-8
0
0
18
13
2
0
0
-6
1
-2
0
0
-16
3
1
0
0
-8
-10
-5
0
0
8
1
0
0
0
-5
0
2
0
0
0
0
0
0
0
19
-1
0
0
0
9
3
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-60
17
-2
0
0
-49
0
-65
0
0
-2
-14
-26
0
0
55
-17
-38
0
0
-3
6
5
0
0
0
7
2
0
0
0
14
1
0
0
0
-7
1
0
0
-33
37
-8
0
0
8
-12
-64
0
0
-17
12
-52
0
0
26
-54
52
0
0
8
0
-5
0
0
13
3
0
0
0
-25
-11
-14
45
-3
14
-23
31
0
0
-8
2
3
0
0
20
-12
-6
0
0
-3
12
2
0
0
-2
10
-9
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
-4
0
0
0
0
2
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
14
20
-16
0
0
-42
-4
-5
0
0
0
-8
-10
0
0
1
-17
2
0
0
-5
-2
8
0
0
0
1
0
0
0
0
-1
-1
0
0
0
-4
0
0
0
-50
69
-18
0
0
3
45
-31
0
0
-3
-66
41
0
0
13
-30
-15
0
0
14
20
-8
0
0
3
-3
3
0
0
0
1
5
17
15
4
-3
2
0
0
13
5
-7
0
0
8
10
-2
0
0
-2
0
-1
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-4
-15
0
0
75
-49
30
0
0
23
1
-13
0
0
-38
9
-2
0
0
5
-4
4
0
0
0
-3
1
0
0
0
3
0
0
0
4
-1
0
0
0
2
-32
-65
0
0
61
29
-19
0
0
2
53
-30
0
0
-23
-41
15
0
0
-19
2
14
0
0
41
-2
-4
0
0
0
30
-7
53
0
-5
20
14
0
0
-4
6
7
0
0
-29
4
6
0
0
14
-8
-3
0
0
-5
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
30
0
1
0
0
66
-69
29
0
0
-41
-16
34
0
0
29
38
3
0
0
0
-23
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
22
-23
-24
0
0
-26
55
0
0
0
58
-81
8
0
0
13
0
9
0
0
15
15
6
0
0
0
0
1
0
0
0
7
-3
-19
43
1
-8
-1
0
0
5
53
11
0
0
-2
-10
24
0
0
14
46
17
0
0
26
12
-11
0
0
8
-5
1
0
0
53
16
-3
0
0
-30
15
3
0
0
-6
25
19
0
0
2
-1
1
0
0
2
22
5
0
0
3
-5
0
0
0
5
40
0
0
0
1
-27
5
0
0
-9
-17
-16
0
0
-7
20
-4
0
0
25
10
5
0
0
13
-1
11
0
0
-21
-10
6
0
0
0
7
-4
0
0
-23
-1
1
0
0
-20
21
13
0
0
27
12
-7
0
0
-3
-2
2
0
0
-5
-2
4
0
0
4
-19
-3
0
0
-2
7
8
0
0
-9
33
-13
0
0
19
21
14
0
0
23
-41
6
0
0
2
-5
-19
0
0
5
10
5
8
13
-21
-30
2
0
0
16
-9
-26
0
0
-2
11
-17
0
0
-12
-4
55
0
0
-10
-18
31
0
0
-8
-16
13
0
0
25
-4
-22
0
0
4
-31
-5
0
0
27
-1
6
0
0
17
5
8
0
0
5
30
5
0
0
-23
-24
3
0
0
-44
33
15
0
0
-30
30
0
0
0
15
8
5
0
0
-32
8
9
0
0
-17
-1
-8
0
0
-32
69
-5
0
0
7
22
-29
0
0
2
6
1
0
0
4
-1
-1
0
0
-11
-7
-8
0
0
-3
-48
0
0
0
1
-16
1
0
0
-18
-14
6
0
0
38
4
6
0
0
15
25
7
0
0
-10
-16
-8
0
0
-3
-5
-8
0
0
-33
-3
6
0
0
5
29
6
0
0
38
31
-3
3
4
-13
-4
-6
0
0
-23
18
-10
0
0
23
-36
-17
0
0
19
14
-7
0
0
24
66
4
0
0
-7
-14
-2
0
0
21
2
-8
0
0
8
-5
1
0
0
-15
-16
-3
0
0
-5
-22
-1
0
0
-15
-36
0
0
0
-8
41
0
0
0
17
7
-2
0
0
0
4
0
0
0
0
-2
0
0
0
2
2
-8
0
0
-22
-10
-3
0
0
4
13
0
0
0
3
1
0
0
0
2
-5
0
0
0
-3
0
0
0
0
-9
1
-1
0
0
-2
-1
0
0
0
0
0
3
0
0
4
-2
0
0
0
3
40
8
0
0
20
-16
2
0
0
0
1
1
0
0
-6
-38
0
0
0
1
-5
0
0
0
1
32
1
0
0
5
10
-3
3
11
13
-25
0
0
0
-3
-13
23
0
0
-6
49
42
0
0
74
-35
-18
0
0
50
38
-27
0
0
46
21
1
0
0
-22
70
10
0
0
-7
14
0
0
0
46
-22
4
0
0
-4
23
-5
0
0
45
16
0
0
0
12
0
-6
0
0
-6
-13
-4
0
0
1
-23
1
0
0
0
-2
0
0
0
-19
-3
0
0
0
56
-6
0
0
0
-6
0
1
0
0
-12
7
0
0
0
4
-2
0
0
0
8
-4
0
0
0
27
1
2
0
0
-5
0
0
0
0
4
-20
0
0
0
5
-4
0
0
0
25
-29
-1
0
0
5
-6
1
0
0
2
-5
-1
0
0
7
-7
1
0
0
16
5
0
0
0
-9
1
0
0
0
-13
-48
3
27
0
-61
10
2
0
0
5
19
17
0
0
-27
1
20
0
0
48
-8
8
0
0
-7
5
-31
0
0
0
5
0
0
0
17
-1
10
0
0
-1
0
0
0
0
5
13
0
0
0
5
0
0
0
0
7
1
-4
0
0
-5
0
0
0
0
3
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-4
1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
1
0
0
0
7
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
-17
13
2
0
0
0
0
14
4
-5
0
0
3
-5
-1
0
0
-8
9
-20
0
0
-41
-8
-1
0
0
-4
1
0
0
0
5
1
3
0
0
1
-2
0
0
0
-4
-7
-2
0
0
10
5
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
7
0
0
0
0
9
1
0
0
0
1
0
2
0
0
0
1
0
0
0
1
5
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
-13
4
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
1
1
0
-14
13
-14
-5
0
0
0
-13
9
12
0
0
-5
10
12
0
0
-8
1
1
0
0
16
14
-29
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
-2
2
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
14
12
1
0
0
0
0
-32
-41
23
0
0
-36
48
14
0
0
-13
41
5
0
0
27
25
0
0
0
-15
-5
-1
0
0
5
2
2
0
0
0
3
0
0
0
37
0
-8
0
0
7
5
0
0
0
0
0
2
0
0
2
-9
0
0
0
4
0
0
0
0
0
3
0
0
0
0
1
0
0
0
2
0
0
0
0
-41
0
-1
0
0
6
-8
-2
0
0
-6
0
0
0
0
-3
-5
0
0
0
2
0
0
0
0
1
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
-8
0
0
0
-2
0
1
0
0
0
3
4
-9
6
-29
4
1
0
0
20
39
4
0
0
-36
20
8
0
0
12
19
0
0
0
-30
8
2
0
0
-4
0
0
0
0
7
-2
1
0
0
1
1
0
0
0
15
1
-1
0
0
22
1
0
0
0
4
0
0
0
0
3
0
0
0
0
7
-2
3
0
0
-1
0
0
0
0
0
2
0
0
0
0
1
0
0
0
13
0
0
0
0
-5
-2
1
0
0
8
0
-1
0
0
0
1
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
-4
5
0
0
0
7
2
0
0
0
1
3
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-1
0
-27
-15
-4
1
0
0
0
25
25
0
0
0
-10
7
17
0
0
14
0
2
0
0
-26
27
1
0
0
-4
-1
0
0
0
0
2
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-12
23
0
0
0
-9
2
0
0
0
-8
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
-12
1
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
8
0
0
0
-1
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-35
-31
33
7
0
0
0
-5
16
8
0
0
46
20
-8
0
0
0
-6
2
0
0
-12
-30
-7
0
0
8
-1
0
0
0
-2
0
0
0
0
1
0
0
0
0
18
2
0
0
0
0
0
-3
0
0
2
-1
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-9
-27
-4
0
0
0
0
-2
23
1
0
0
11
-29
3
0
0
-10
8
16
0
0
1
-29
-33
0
0
-2
4
0
0
0
4
-1
0
0
0
0
1
0
0
0
-31
-12
0
0
0
19
-7
0
0
0
16
7
0
0
0
0
0
0
0
0
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
0
0
4
-1
0
0
0
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-31
-39
4
-3
0
0
0
-39
-9
-2
0
0
-1
-17
-1
0
0
5
20
0
0
0
-16
-5
0
0
0
-2
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
35
0
0
0
0
0
68
14
25
0
0
-42
13
8
0
0
15
-15
-6
0
0
41
6
3
0
0
-6
-4
0
0
0
7
-1
0
0
0
-3
0
0
0
0
-1
-1
0
0
0
-5
0
0
0
0
-1
1
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
6
9
-4
0
0
0
0
17
24
10
0
0
6
-9
-12
0
0
9
-12
0
0
0
15
-22
5
0
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-8
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
30
10
0
0
0
0
0
-17
36
-10
0
0
3
32
-2
0
0
9
17
8
0
0
44
-1
-1
0
0
16
-2
0
0
0
-1
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
5
15
0
0
0
-3
2
0
0
0
0
2
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
7
-29
0
0
0
3
3
-1
0
0
0
4
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
15
65
14
-4
0
0
0
-38
-5
-5
0
0
28
8
18
0
0
-3
-24
0
0
0
-4
3
-8
0
0
-9
-3
0
0
0
3
-1
6
0
0
0
0
0
0
0
29
0
-1
0
0
4
-7
0
0
0
10
6
-2
0
0
-1
5
1
0
0
0
0
0
0
0
2
4
0
0
0
1
-1
3
0
0
1
6
0
0
0
3
4
-2
0
0
0
3
10
0
0
6
-7
-3
0
0
-12
-1
0
0
0
8
-1
-2
0
0
-41
-18
54
0
0
-37
4
-5
0
0
-104
13
-36
0
0
-28
-5
-21
0
0
23
29
-66
0
0
-3
-68
47
0
0
-20
-30
-9
0
0
-45
6
1
0
0
-51
58
-83
0
0
-6
-18
-16
0
0
-7
-11
-39
-3
0
-68
-65
-21
0
0
-23
-18
25
0
0
35
-7
-7
0
0
3
-3
0
0
0
-22
23
0
0
0
7
6
0
0
0
-8
2
-3
0
0
-9
-1
0
0
0
5
22
1
0
0
6
-2
0
0
0
12
-6
0
0
0
1
0
0
0
0
5
-3
0
0
0
-10
0
0
0
0
0
-1
0
0
0
20
-15
0
0
0
29
3
-2
0
0
7
-5
20
0
0
5
-3
-28
0
0
-25
-13
25
0
0
-17
-20
7
0
0
-14
19
-119
0
0
-53
-33
17
0
0
-13
24
28
0
0
25
16
-66
0
0
27
-19
5
0
0
-40
0
-55
0
0
-5
-11
-30
0
0
39
-22
20
0
0
-15
7
5
0
0
-45
-15
4
0
0
-50
-55
-20
-3
-3
44
-102
1
0
0
14
5
-9
0
0
48
10
8
0
0
-7
0
1
0
0
-5
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
18
21
13
0
0
12
51
19
0
0
57
-24
-22
0
0
-14
33
9
0
0
-14
-27
-19
0
0
-64
28
10
0
0
18
-28
11
0
0
-104
-17
48
0
0
-27
-74
41
0
0
8
6
7
0
0
-77
47
29
0
0
-2
-5
-34
0
0
-3
11
4
0
0
-6
49
-15
0
0
2
26
7
2
10
-22
-37
-83
0
0
32
13
0
0
0
-52
9
-1
0
0
7
-1
-2
0
0
1
-2
0
0
0
-5
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-1
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
0
0
6
16
20
0
0
44
-14
16
0
0
27
3
-60
0
0
-12
1
-22
0
0
-57
35
-23
0
0
26
10
1
0
0
8
0
10
0
0
-72
-17
31
0
0
23
-41
-8
0
0
0
-15
23
0
0
47
-20
18
0
0
42
16
4
0
0
0
-33
31
0
0
0
14
10
0
0
24
11
10
-12
0
58
40
-3
0
0
-37
13
-9
0
0
24
-19
-7
0
0
-5
-5
2
0
0
7
1
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
1
0
0
39
-19
31
0
0
65
-56
40
0
0
-9
81
45
0
0
-25
69
-38
0
0
58
-8
4
0
0
9
-26
18
0
0
-7
-13
3
0
0
6
63
-4
0
0
30
1
0
0
0
14
5
7
0
0
22
-5
-10
0
0
-4
14
0
0
0
0
3
-13
0
0
-2
-48
-6
0
0
3
7
-1
-10
4
-27
1
0
0
0
48
-18
-24
0
0
27
10
3
0
0
0
24
0
0
0
7
3
0
0
0
3
-2
1
0
0
-4
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
8
7
-10
0
0
-28
26
34
0
0
21
23
41
0
0
-42
-24
-7
0
0
-34
8
15
0
0
-20
-4
-1
0
0
0
-50
-1
0
0
3
11
-5
0
0
1
25
9
0
0
-3
-13
0
0
0
16
33
12
0
0
2
-8
0
0
0
0
31
-2
0
0
0
-4
0
0
0
4
23
3
-54
-5
41
-33
0
0
0
-14
22
0
0
0
27
-6
2
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
-34
-50
0
0
-54
11
-1
0
0
-63
-4
77
0
0
57
-32
59
0
0
18
-1
8
0
0
-3
10
4
0
0
6
0
0
0
0
29
16
2
0
0
-51
-1
10
0
0
-7
24
10
0
0
12
0
-16
0
0
0
0
-1
0
0
0
-8
0
0
0
0
4
-8
0
0
0
-4
6
-15
3
-3
9
-2
0
0
-5
1
-7
0
0
-23
4
3
0
0
7
-1
0
0
0
8
5
-2
0
0
3
-4
0
0
0
-1
0
0
0
0
0
-2
0
0
0
16
0
0
0
0
0
3
0
0
0
-2
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-14
-62
-12
0
0
3
9
-107
0
0
-34
9
45
0
0
23
-117
-4
0
0
-28
-7
1
0
0
7
-10
0
0
0
2
8
-7
0
0
-6
-9
2
0
0
20
-40
26
0
0
-7
27
0
0
0
-26
25
2
0
0
7
-22
0
0
0
-9
13
-14
0
0
0
-8
2
0
0
-5
24
-12
25
12
-2
15
1
0
0
-4
-24
24
0
0
13
29
-5
0
0
12
1
-18
0
0
-16
-4
4
0
0
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-5
3
0
0
0
2
-3
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
2
0
0
0
-12
-3
0
0
0
-18
21
7
0
0
28
-12
33
0
0
52
-29
0
0
0
91
-64
24
0
0
-24
-51
32
0
0
29
-29
19
0
0
73
46
-65
0
0
30
-30
-19
0
0
-1
1
-1
0
0
-4
-3
8
0
0
-48
-9
-38
0
0
-21
-10
-11
0
0
21
-15
23
0
0
30
29
-60
0
0
-52
48
11
2
12
22
-21
-47
0
0
55
12
-14
0
0
11
-2
-7
0
0
-25
3
14
0
0
-5
6
5
0
0
3
0
1
0
0
-4
-4
4
0
0
0
0
0
0
0
-16
6
0
0
0
-1
4
0
0
0
-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
-1
-1
0
0
0
-6
71
-81
0
0
41
-5
42
0
0
-11
1
19
0
0
-44
8
0
0
0
22
-18
12
0
0
4
27
2
0
0
7
6
-2
0
0
-34
17
7
0
0
-4
-23
-1
0
0
15
-17
-25
0
0
-7
48
23
0
0
11
66
28
0
0
-2
-91
-27
0
0
-43
-30
73
0
0
-17
21
-42
-2
-1
-1
30
-36
0
0
-30
-29
5
0
0
30
-2
4
0
0
-5
1
0
0
0
5
0
-5
0
0
-7
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
2
-5
0
0
0
0
1
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-41
9
-41
0
0
10
-13
18
0
0
4
4
52
0
0
45
-1
-40
0
0
-24
-15
45
0
0
-2
1
6
0
0
0
-1
-16
0
0
4
6
9
0
0
15
-22
22
0
0
-8
-42
81
0
0
69
-27
1
0
0
15
-4
-7
0
0
0
3
-3
0
0
-42
61
29
0
0
-34
53
-50
-45
16
-54
42
12
0
0
1
9
-1
0
0
-7
0
1
0
0
-12
2
-5
0
0
8
-5
3
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
-6
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
25
-71
0
0
-55
2
-41
0
0
44
-1
3
0
0
-53
-2
9
0
0
6
9
-3
0
0
0
0
0
0
0
0
-1
0
0
0
8
2
-2
0
0
12
16
19
0
0
-26
-58
-32
0
0
92
-39
-9
0
0
-22
-37
-25
0
0
11
-8
13
0
0
-13
-27
-8
0
0
6
14
-24
15
-67
-29
-31
12
0
0
19
13
3
0
0
-2
2
8
0
0
8
0
-7
0
0
34
3
-8
0
0
2
-2
-1
0
0
0
-1
1
0
0
0
0
0
0
0
5
-5
0
0
0
2
3
1
0
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-54
-2
0
0
-49
39
-27
0
0
-37
-48
88
0
0
51
-3
-7
0
0
-29
-5
0
0
0
5
-8
3
0
0
6
10
-2
0
0
18
48
-3
0
0
-1
-66
-34
0
0
-58
23
139
0
0
-39
48
9
0
0
22
-17
-47
0
0
57
-12
-31
0
0
46
5
23
0
0
-25
-90
15
3
25
40
13
-20
0
0
16
-2
5
0
0
-14
-30
1
0
0
22
0
0
0
0
33
-6
3
0
0
12
4
0
0
0
1
2
1
0
0
0
0
0
0
0
12
2
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
0
0
0
27
-26
-25
0
0
12
5
-56
0
0
-83
9
-23
0
0
-24
20
-5
0
0
-6
34
1
0
0
0
-9
-5
0
0
0
-3
-1
0
0
1
7
0
0
0
25
-63
-61
0
0
38
-40
52
0
0
-2
79
-4
0
0
-41
46
4
0
0
-52
-30
-3
0
0
30
25
8
0
0
1
7
-5
-9
-4
1
5
9
0
0
31
12
0
0
0
42
-8
-18
0
0
-8
5
0
0
0
-22
3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
1
1
-53
0
0
13
57
56
0
0
-31
-12
-48
0
0
11
-69
-24
0
0
25
-8
2
0
0
2
10
-9
0
0
0
9
-1
0
0
7
-23
1
0
0
-53
8
3
0
0
13
4
6
0
0
-7
-8
25
0
0
-43
57
15
0
0
25
18
27
0
0
-3
0
-18
0
0
5
-46
0
7
2
10
53
-5
0
0
6
30
6
0
0
-8
-8
-28
0
0
8
6
-6
0
0
-15
8
1
0
0
-7
-4
0
0
0
1
-1
2
0
0
0
0
0
0
0
-25
0
1
0
0
-5
-1
0
0
0
-3
0
-1
0
0
0
-1
0
0
0
2
-8
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
-34
-45
-123
0
0
-1
-12
23
0
0
104
-40
-21
0
0
-20
23
-10
0
0
7
15
5
0
0
-1
6
-2
0
0
-1
-6
0
0
0
-3
1
2
0
0
-46
-80
1
0
0
5
89
-34
0
0
-8
-23
71
0
0
31
44
32
0
0
-21
13
-2
0
0
71
13
5
0
0
3
-16
24
35
-14
-30
20
-1
0
2
-6
5
-19
0
1
9
-20
2
0
25
5
3
-30
0
16
46
4
26
0
-10
51
22
-14
0
-16
30
-21
8
0
-54
45
14
10
0
-16
23
-11
24
0
9
20
39
5
0
-7
-32
-16
-5
0
4
2
15
0
0
-2
21
7
-4
0
-25
-39
48
5
0
0
28
33
-6
0
27
-2
19
-1
0
40
25
5
5
0
41
48
4
22
0
34
22
-6
19
0
0
14
12
0
0
8
-8
-4
0
0
2
8
-22
2
0
0
-2
-5
0
0
0
-3
2
0
0
4
7
2
0
0
-8
-2
31
-8
0
0
-19
40
-5
0
0
9
14
0
0
0
-7
4
0
0
14
0
9
0
0
5
7
9
0
0
11
7
-8
0
-18
84
-16
-3
-2
0
17
1
-19
-7
0
-9
39
-26
3
0
99
-7
11
-9
0
15
-16
-23
3
0
33
41
57
15
0
41
-29
60
-9
0
51
-27
7
7
0
-14
-11
22
27
0
-14
6
56
13
0
31
3
15
-5
0
-3
40
-4
-2
0
34
28
-5
4
0
-1
57
29
-4
0
2
-21
-25
17
0
-1
26
-29
-2
0
-5
-3
-16
1
0
3
6
10
0
0
-20
-25
23
4
0
0
-3
0
-1
0
-43
-2
6
2
0
-2
4
17
0
0
0
1
8
1
0
0
2
6
0
0
1
8
1
0
0
0
49
3
5
0
0
13
9
-4
0
0
13
3
1
0
-2
-38
1
-3
0
15
14
-14
-1
0
2
8
13
-1
0
41
-17
-7
-1
-2
-26
-42
13
0
0
-4
90
30
28
0
41
16
-7
-2
0
-20
-47
39
8
0
80
-6
4
11
0
22
2
-15
-7
0
-19
-3
-4
-15
0
11
6
-14
1
0
-14
-14
39
-2
0
-1
-21
-13
0
0
14
-14
23
8
0
0
3
-6
-1
0
-9
-2
-1
0
0
3
-29
2
0
0
4
9
3
1
0
1
16
-9
0
0
3
-14
4
0
0
4
8
12
0
0
0
2
0
0
0
-1
-3
6
0
0
4
6
0
1
0
0
9
-4
-1
0
0
-1
4
0
0
0
0
-3
0
0
1
-5
0
0
0
0
6
1
0
0
0
8
-2
0
0
0
0
0
0
0
0
-1
-1
-1
0
-1
0
3
-2
0
0
57
-5
1
0
3
1
3
0
31
-25
-3
3
0
0
38
-15
12
-2
0
4
18
-7
-19
0
37
27
16
5
0
-19
-19
5
-4
0
11
61
-15
6
0
-38
14
-30
25
0
80
-27
-5
-3
0
-21
2
-9
-13
0
34
51
5
-2
0
-5
-2
32
4
0
8
38
-22
1
0
-47
-8
-12
-2
0
-1
7
13
0
0
3
-9
7
-5
0
3
-4
45
0
0
6
27
16
-8
0
6
-13
6
1
0
0
-5
14
0
0
-1
1
0
0
0
-5
-12
-13
0
0
0
0
2
0
0
0
3
-7
0
0
0
5
-4
0
0
0
0
3
0
0
0
22
4
0
0
0
0
-19
0
0
0
-27
-9
0
0
2
-2
-4
-4
0
-1
-4
2
0
0
3
10
6
1
0
5
7
9
0
24
-38
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
43
18
3
0
22
-25
-8
-2
0
-40
-15
-1
0
0
35
60
-4
1
0
-29
6
10
-3
0
-16
-23
27
8
0
3
6
0
0
0
20
7
-23
-7
0
23
-40
-13
-4
0
8
-16
6
-6
0
-3
18
7
-3
0
0
-6
2
0
0
-9
-3
-4
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
-42
11
-6
-14
0
6
10
-1
8
0
17
-20
10
0
0
29
4
3
0
0
-4
-7
-4
1
0
-16
3
2
0
0
0
0
2
0
0
2
-4
-1
0
0
7
15
-17
-1
0
-13
-3
2
5
0
-3
0
-4
0
0
32
0
0
0
0
-3
30
28
1
0
0
-2
1
0
0
2
-8
0
0
28
-15
1
0
0
0
26
16
-44
8
0
-7
7
-5
-8
0
-8
39
13
6
0
12
-16
14
10
0
-2
2
22
-8
0
-19
3
18
1
0
3
15
-1
0
0
0
18
15
-2
0
7
-8
6
-4
0
-24
-6
14
6
0
0
-6
-1
0
0
1
-1
0
0
0
0
0
1
1
0
-2
0
12
0
0
0
2
-3
0
0
0
-7
0
0
0
-31
17
-2
-6
0
-45
-10
-5
4
0
-4
24
-1
0
0
-43
-6
5
-2
0
4
4
0
0
0
1
-12
7
0
0
0
-4
-3
0
0
7
0
0
0
0
60
-8
-5
-3
0
7
18
18
3
0
-1
-4
-8
0
0
3
2
5
0
0
2
0
-13
-2
0
2
-6
1
1
0
-2
7
-6
0
25
-8
3
-1
0
0
-4
19
-15
0
0
-8
25
25
8
0
-1
29
1
2
0
14
12
-1
1
0
1
6
4
0
0
16
6
14
0
0
0
0
1
-1
0
0
-16
-1
-1
0
-1
-3
6
0
0
6
-4
-1
-1
0
0
-4
-1
0
0
0
1
2
0
0
1
23
-3
0
0
0
-2
-2
0
0
0
0
0
0
0
-10
-1
-2
0
0
8
0
2
0
0
2
2
-1
1
0
0
-1
0
0
0
0
-6
-8
0
0
2
3
-3
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
10
7
1
0
0
-6
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
0
3
0
-26
0
1
0
0
0
-4
19
1
0
0
19
-18
6
-9
0
-19
10
7
-1
0
-13
-24
-2
-3
0
-7
-2
1
1
0
-2
9
2
0
0
0
0
0
0
0
8
1
1
0
0
0
-2
1
-3
0
-6
0
-1
0
0
0
6
0
0
0
-2
-2
1
0
0
10
-8
-3
0
0
0
1
1
0
0
0
-4
0
0
0
-7
-1
0
0
0
12
-18
-9
0
0
3
5
-10
0
0
0
-2
0
2
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
-4
2
4
0
0
-5
-1
0
-1
0
-1
0
0
0
0
-1
0
1
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
-1
-1
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-16
-13
-8
0
66
17
22
-25
0
-3
23
6
1
0
-3
1
0
-14
0
41
-6
-1
0
0
5
5
-5
0
0
6
2
0
0
0
-1
29
0
-1
0
54
57
-10
0
0
-41
7
-36
16
0
1
1
9
0
0
14
-6
0
2
0
-1
-10
-6
2
0
-1
4
0
0
0
-5
6
-1
0
0
-8
-23
1
0
0
1
2
1
4
0
2
7
-8
5
0
-6
46
31
33
0
9
-2
24
35
0
30
47
-44
42
0
43
8
-23
3
0
110
-144
-14
22
0
43
39
-23
-30
0
119
-46
-52
26
0
-6
-73
-48
44
0
4
17
15
33
0
42
-7
-50
9
0
24
-24
-30
37
0
-1
55
29
-33
0
56
52
8
-13
2
19
30
-20
-110
0
-12
-13
-2
25
0
-42
38
27
0
0
1
7
25
2
0
32
5
12
-1
0
13
-9
7
0
0
-41
8
-2
1
0
3
0
2
0
0
5
6
-3
-4
0
5
5
-15
-3
0
-14
-10
8
-6
0
-8
-25
13
-4
0
-5
9
-12
2
0
-7
0
4
1
0
1
2
8
0
0
0
2
6
-1
0
-6
-36
3
-7
0
-2
12
-5
-13
0
18
2
11
-16
0
3
-20
-8
19
0
-11
16
29
63
0
-55
-42
75
2
0
-20
-40
16
31
0
54
-21
-1
-15
0
-37
-24
-26
20
0
36
-47
20
-34
0
27
-42
23
-38
0
-2
1
-14
1
0
-75
27
34
-19
0
10
49
60
24
0
5
-27
42
-7
0
9
8
-18
-5
-9
-27
10
-51
47
0
29
5
-1
0
0
1
8
0
-2
0
-4
3
1
-1
0
-1
2
0
0
0
-1
-3
0
0
0
-7
2
1
0
0
-4
0
0
0
0
10
0
2
0
0
-8
-5
0
0
0
1
5
0
0
0
0
-3
0
0
0
-7
-7
0
-1
0
-1
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
21
22
-19
18
0
34
10
-29
28
0
6
-52
-33
0
0
-43
-39
31
-104
0
54
-7
49
-34
0
-1
-29
31
15
0
5
-59
4
-20
0
-28
-61
-18
-19
0
13
31
-32
20
0
41
-11
38
-41
0
5
-49
3
0
0
-16
-6
-42
16
0
0
50
-32
-38
0
0
23
10
4
0
51
-74
-31
13
3
9
-24
-41
-1
0
-9
-8
-1
3
0
8
-8
3
0
0
0
2
2
0
0
9
3
3
0
0
0
0
0
0
0
-5
-1
2
0
0
0
-5
0
0
0
-4
-5
0
0
0
3
5
1
0
0
-13
5
-1
0
0
0
0
0
0
0
10
8
0
0
0
-3
1
1
0
0
0
0
0
1
0
0
-4
-1
-2
0
0
-4
0
0
0
4
31
-17
-17
0
4
19
59
-28
0
4
-106
-45
8
0
-23
7
-57
-8
0
4
80
13
-90
0
-30
-31
21
-62
0
-37
22
-49
-41
0
-119
45
28
-3
0
-99
-79
6
5
0
-29
-3
9
33
0
-7
-21
-40
24
0
-44
-21
42
-1
0
8
-15
38
5
0
0
1
-29
7
0
-65
37
-10
23
9
-77
-15
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-19
24
0
0
-4
-12
-19
5
0
-16
0
-1
0
0
-25
3
0
0
0
33
41
-6
1
0
7
0
0
0
0
0
0
1
0
0
22
-13
0
0
0
2
21
-5
-10
0
12
-3
10
0
0
-2
2
2
0
0
-2
-3
0
0
0
16
28
-14
-2
0
-4
-6
0
0
0
9
-8
-1
0
0
17
-2
-3
2
0
57
-40
-13
27
0
35
-15
-55
-4
0
-11
19
36
-20
0
-97
-1
73
-31
0
24
38
-1
22
0
-13
10
9
22
0
-34
32
-40
-4
0
-92
-40
-12
-9
0
-8
1
-1
-3
0
0
-5
0
8
0
-32
-37
94
-22
0
-24
-32
9
65
0
64
9
27
18
0
-47
27
-5
22
0
-29
-17
-7
-78
5
48
2
-35
-46
0
-25
13
13
4
0
8
-6
-15
-8
0
2
16
-3
0
0
5
6
-3
0
0
-3
8
-8
0
0
1
5
1
1
0
0
0
0
0
0
9
5
1
0
0
8
-13
3
-4
0
-11
23
7
-2
0
0
7
0
0
0
6
5
0
0
0
-1
5
-7
0
0
0
5
2
-1
0
4
-4
0
0
0
5
-3
0
0
0
36
-47
-48
-20
0
-22
-3
5
37
0
55
-14
33
6
0
-74
3
57
3
0
-26
-34
43
46
0
-3
-45
-17
9
0
-54
2
0
0
0
-57
1
46
-16
0
3
-1
1
10
0
17
-19
14
-9
0
49
25
36
15
0
3
-23
-24
-22
0
3
-160
55
28
0
-25
-33
7
-37
0
13
94
-38
5
-12
-131
14
-5
19
0
9
-9
0
0
0
-5
-1
-1
0
0
0
0
0
0
0
-2
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
-1
0
0
0
-1
0
0
0
-5
-3
0
0
0
0
3
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
-6
0
0
0
-1
-4
0
0
0
1
3
14
17
0
58
7
17
-12
0
-16
25
22
-1
0
-14
17
3
0
0
14
-33
8
-7
0
2
-22
18
14
0
19
-18
-16
-4
0
-8
-34
-22
0
0
-47
48
32
11
0
-14
27
10
-12
0
-12
-35
-55
-4
0
-4
-7
-54
1
0
20
82
-19
-18
0
38
-23
24
-25
0
42
10
-51
13
21
30
-32
12
-18
0
3
0
1
0
0
-1
0
3
0
0
0
3
0
0
0
-6
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-3
1
-6
0
0
-6
7
-46
32
0
-21
-4
0
3
0
33
-1
-10
0
0
10
-13
4
0
0
8
8
4
9
0
-9
-14
2
1
0
2
5
-5
-2
0
8
-8
-8
1
0
64
-10
-13
-14
0
-117
3
15
-1
0
15
-49
10
51
0
-22
22
-49
0
0
-6
-3
14
25
0
-2
-16
-4
-5
0
0
-71
-13
12
-20
-83
40
-34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
24
62
-35
0
5
-18
0
35
0
-41
34
52
3
0
13
-2
-30
48
0
14
59
50
2
0
40
-24
0
-10
0
-6
1
-8
-5
0
51
-11
-42
-3
0
-65
-7
51
11
0
48
-8
-4
-4
0
2
-22
15
1
0
4
43
-13
-8
0
2
27
13
-12
0
0
10
-17
-10
0
-4
11
14
-8
0
52
-46
-22
8
0
-1
12
2
20
0
-4
7
14
20
0
-1
-30
3
0
0
7
-18
-1
2
0
-2
20
29
1
0
1
3
8
0
0
0
-2
-4
0
0
4
2
2
0
0
-7
-4
6
-14
0
3
31
17
-22
0
1
4
-8
0
0
0
-41
-3
-1
0
42
1
-19
1
0
1
37
6
8
0
0
-10
2
3
-6
27
2
-16
-10
0
-7
7
-20
43
0
1
4
38
13
0
0
-84
-6
-51
0
30
-5
35
-46
0
0
-19
-25
5
0
-25
47
-1
14
0
17
44
1
20
0
-21
54
2
16
0
17
72
-77
9
0
-26
34
10
9
0
-2
2
15
0
0
27
-10
-30
13
0
9
-53
47
-1
0
3
6
17
-8
0
12
-30
7
-4
0
-48
-5
3
-6
0
30
39
17
-1
0
5
2
-6
7
0
3
5
5
-4
0
15
-9
-13
0
0
-12
17
-4
0
0
1
8
-7
-2
0
0
-2
-2
-4
0
2
4
0
1
0
0
14
7
-2
0
-8
12
-26
17
0
0
-9
24
0
0
-1
3
-2
-5
0
15
11
20
5
0
6
-6
5
-17
0
21
21
-4
-3
-14
-22
-61
27
1
0
45
18
-17
-6
0
42
37
112
13
0
-30
16
1
2
0
-25
11
-3
26
0
13
75
38
-1
0
0
14
7
-2
0
-1
-44
9
-2
0
8
25
-8
1
0
7
-24
8
-5
0
0
-3
8
-2
0
-4
6
7
-8
0
-1
0
0
-2
0
0
-5
-7
-1
0
0
0
0
2
0
0
-1
-10
-1
0
-8
8
-1
0
0
4
-13
2
2
0
0
-1
-6
0
0
0
6
-1
0
0
0
1
10
0
0
0
-2
1
0
0
0
0
1
-1
0
0
5
-2
0
0
1
0
0
0
0
0
7
4
0
0
1
-2
2
0
0
0
-25
-3
0
0
-1
0
-1
0
0
-8
-2
-7
0
0
1
14
-2
0
0
0
-14
0
0
14
-3
-13
0
-1
0
9
-48
46
7
0
40
-19
-12
-6
0
35
0
11
13
0
5
-16
16
9
0
9
42
0
-3
0
-18
16
6
20
0
43
-17
-22
4
0
-17
-2
42
-18
0
-1
20
9
-25
0
-2
2
1
2
0
-5
-24
-18
1
0
-47
17
-3
-2
0
0
13
-3
0
0
0
-2
8
1
0
3
23
33
-1
0
-6
-5
-2
0
0
1
0
4
1
0
-8
-4
-9
0
0
0
5
1
0
0
-6
-6
-4
6
0
0
-1
4
0
0
0
0
-1
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
-1
0
0
3
-1
0
-3
0
0
-2
7
0
0
4
-2
-5
-1
0
0
-3
-16
1
0
0
12
-5
-1
0
2
-12
0
-1
-12
-23
1
1
3
0
12
-54
25
-2
0
9
-1
15
1
0
41
-34
24
-3
0
46
-13
-8
-3
0
-10
37
-13
0
0
42
7
-1
-10
0
8
-9
1
0
0
4
-13
2
5
0
2
-5
-10
0
0
-10
-4
1
8
0
0
1
0
0
0
1
2
1
0
0
0
3
9
1
0
0
-2
-1
0
0
0
2
1
0
0
-4
5
0
0
0
4
40
-5
1
0
-25
-3
2
0
0
-1
-5
6
0
0
-9
3
3
0
0
8
-7
0
0
0
0
1
-2
0
0
0
0
2
0
0
1
-1
0
0
0
0
-14
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
-12
-2
-6
0
0
0
-4
1
0
0
1
5
0
0
-12
-4
4
0
0
0
1
0
-39
6
0
-6
3
40
-29
0
0
-14
3
1
0
-22
16
-5
-13
0
-8
42
26
0
0
-15
15
-21
13
0
24
-10
-5
1
0
-1
-8
19
7
0
30
17
1
0
0
26
-1
2
-2
0
0
0
3
0
0
3
-1
0
0
0
-9
8
-2
0
0
12
0
8
0
0
0
0
1
-1
0
10
-4
2
0
0
-2
15
5
-2
0
1
3
4
1
0
0
2
-1
0
0
-1
-6
0
0
0
-2
2
-6
0
0
2
-4
0
0
0
0
0
2
0
0
0
2
0
0
0
0
4
7
0
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
3
12
0
0
12
0
-16
3
0
0
53
-10
13
0
0
21
-16
28
-54
0
8
7
17
-1
0
24
25
-23
-6
0
12
-1
7
0
0
-17
0
-23
0
0
-3
8
-3
-1
0
-4
-8
2
2
0
0
0
1
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
2
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-1
0
0
18
0
0
0
0
0
47
-11
29
-5
0
43
15
-24
-2
0
-8
26
-37
8
0
28
16
-6
10
0
5
23
-7
0
0
34
3
6
-5
0
19
-2
10
2
0
-44
13
10
4
0
-6
9
0
1
0
-15
7
1
1
0
0
-3
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
1
1
-2
0
0
0
-1
0
0
-3
-9
1
-2
0
-6
1
4
-12
0
-2
6
1
0
0
-9
0
0
0
0
0
0
-9
0
0
1
-1
-1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-1
0
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
-13
-1
0
0
0
0
43
-14
16
15
0
-10
41
53
9
0
46
17
6
-2
0
-18
27
-4
-2
0
-3
9
0
0
0
-8
-3
0
-1
0
1
5
2
0
0
-5
-2
-1
-1
0
-7
-6
6
-7
0
-40
-14
9
10
0
2
22
-7
-3
0
-13
-3
10
-1
0
-1
-3
-19
0
0
0
1
-3
-1
0
0
8
-2
0
0
1
-8
0
0
0
-3
-21
-7
-1
0
0
0
0
-1
0
1
0
0
0
0
-4
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
1
1
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
7
-3
0
0
-2
7
0
0
1
-1
-3
0
20
3
-8
-1
0
0
-58
70
-5
23
0
-7
49
-21
-9
0
-19
15
-2
0
0
21
5
5
0
0
16
-4
0
0
0
-9
0
12
0
0
-1
4
0
0
0
4
3
-4
-2
0
16
-25
41
2
0
38
-23
25
6
0
7
9
0
-1
0
1
-6
-13
0
0
-3
-4
-6
0
0
0
-7
15
0
0
0
0
0
0
0
0
12
1
0
0
0
8
0
0
0
-10
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
7
0
0
0
-13
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
29
-1
0
-2
4
1
0
0
0
0
0
0
62
1
-2
0
0
0
38
-7
-3
-1
0
-4
-12
-5
4
0
13
4
25
-1
0
23
-9
3
-6
0
0
5
1
0
0
0
0
0
0
0
0
-1
0
0
0
8
3
0
0
0
-10
11
2
0
0
-32
5
4
0
0
-7
4
2
0
0
-1
7
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
8
0
0
0
1
-2
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
2
-4
0
-25
25
-31
-15
0
0
17
-13
0
0
-13
-13
22
-7
0
0
2
4
0
0
-1
2
1
0
0
0
-1
0
0
0
5
1
0
0
0
8
33
3
0
0
38
-20
-4
1
0
5
-9
-7
0
0
2
1
6
-1
0
0
1
1
0
0
0
-4
0
0
0
0
0
2
0
0
0
-2
3
0
0
-3
1
1
0
0
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
-1
1
-3
0
0
0
15
-7
-8
16
0
-6
41
20
2
0
-6
23
14
0
0
6
5
0
3
0
-1
-4
1
0
0
-1
0
-3
0
0
0
1
1
0
0
9
-7
0
0
0
8
25
1
0
0
-4
1
-8
-2
0
0
0
-1
0
0
-2
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
8
-4
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
-14
13
21
4
0
45
-20
-23
-8
0
-3
4
1
0
0
4
0
1
6
0
-3
5
0
0
0
-41
12
2
0
0
3
0
-2
0
0
8
0
1
1
0
1
-8
2
-1
0
-3
-8
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
4
-1
0
0
0
-6
4
0
0
0
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
17
-7
8
-8
0
5
-2
6
-4
0
-2
9
-4
2
0
-48
-3
1
2
0
-3
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
12
-25
10
-9
0
17
11
0
-6
0
-2
27
-13
0
0
-8
0
-2
6
0
0
2
-3
0
0
1
-3
0
0
0
0
1
-2
0
0
8
-1
0
0
0
1
-3
-3
0
0
-1
0
-3
0
0
1
0
0
0
0
-10
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
5
-1
0
0
17
-16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
15
-7
1
13
0
11
9
-25
12
0
-18
5
-5
0
0
-16
6
-1
-3
0
-13
-19
14
0
0
-19
-1
23
0
0
-5
-1
2
0
0
-2
-19
8
-1
0
40
10
-8
0
0
-2
4
-1
0
0
0
8
1
0
0
0
0
0
0
0
-6
-4
-2
3
0
2
12
3
0
0
7
9
-1
0
0
-28
-25
0
0
0
2
1
-1
-2
0
1
4
7
-13
0
-7
37
0
-34
0
-4
1
0
-16
0
44
-20
-23
-1
0
17
-50
-10
56
0
55
11
4
-31
0
21
44
-1
-17
0
25
49
57
-47
0
-6
-21
-14
-3
0
26
-6
26
13
0
-6
-44
-40
16
0
92
8
-26
-31
0
1
7
8
-27
0
-59
9
2
7
5
-40
9
-47
-35
0
32
4
-16
-6
0
-6
142
-74
-8
0
-17
19
-5
-3
0
11
6
14
0
0
4
-7
5
0
0
-31
-15
-8
0
0
-7
-1
1
0
0
-29
8
-4
-4
0
6
-7
12
0
0
0
-13
18
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
-2
0
0
0
-4
7
8
0
0
6
-5
0
0
0
19
-18
-1
4
0
-1
-5
5
3
0
7
2
9
14
0
5
23
9
-10
0
5
-24
7
60
0
-31
13
-48
30
0
-4
-28
37
9
0
39
6
-63
8
0
-46
-18
7
-20
0
19
-117
31
22
0
22
-88
-22
-9
0
-2
-4
11
4
0
30
-22
18
-22
0
34
37
-52
-22
0
23
44
3
-11
0
124
-4
-65
-9
-11
-66
-28
-18
-8
0
7
23
25
0
0
30
2
0
0
0
-3
-17
-13
0
0
-5
9
5
3
0
7
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
6
-1
0
0
0
0
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
-1
0
0
0
4
-13
-4
0
0
1
-25
21
10
0
16
-27
-14
-10
0
0
-1
-29
63
0
-1
-42
-12
-38
0
81
11
-2
6
0
-62
15
-11
3
0
-22
-27
27
-30
0
-20
15
-28
-9
0
15
-5
13
28
0
-5
-14
12
2
0
-24
-24
-25
3
0
-64
6
2
0
0
2
12
64
1
0
0
17
-29
2
0
-65
23
-1
19
-19
74
-16
-44
1
0
-4
47
-5
-1
0
-13
-17
7
0
0
3
0
2
0
0
15
30
2
-3
0
3
-7
2
0
0
-5
-8
2
1
0
0
-1
0
0
0
17
-4
-1
-2
0
0
1
0
0
0
0
-2
0
0
0
0
1
1
0
0
4
0
-1
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
-4
25
3
19
0
-8
42
-20
-34
0
56
-11
-54
-18
0
-29
1
8
35
0
22
-96
-11
-14
0
-13
16
-12
-19
0
11
-19
-53
-7
0
-29
-62
16
30
0
-8
53
-18
5
0
5
-12
22
-9
0
-23
-29
-5
27
0
-32
-15
-23
2
0
0
-44
-7
41
0
0
-2
0
3
0
23
-52
3
-4
-13
-49
8
43
4
0
-20
10
7
5
0
-7
-10
-3
-3
0
1
-19
6
0
0
23
6
-1
0
0
14
0
-6
0
0
2
3
2
0
0
0
0
0
0
0
0
3
0
-2
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
45
-3
-14
17
0
17
2
-32
-6
0
-40
31
39
6
0
40
48
4
41
0
17
7
21
39
0
-57
-44
26
-13
0
-108
-22
23
-2
0
-37
17
-21
-30
0
12
-56
-49
-7
0
8
3
0
0
0
0
0
17
1
0
-1
3
0
-7
0
8
18
43
25
0
0
1
-4
2
0
10
4
16
-5
17
-66
3
-5
-2
0
25
-30
6
2
0
-9
7
-18
1
0
0
-4
1
0
0
-3
2
-2
0
0
-15
-2
-5
0
0
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
36
0
-44
-4
-15
32
0
-20
70
-43
22
0
-12
45
34
-2
0
60
-22
31
24
0
93
-72
13
-19
0
-13
10
19
1
0
-19
1
17
-29
0
-2
-2
20
-2
0
-1
-2
-8
0
0
0
0
4
0
0
0
0
1
2
0
0
-32
29
-8
0
0
18
0
0
0
-5
17
1
0
2
12
-7
-6
2
0
-23
6
0
1
0
-1
1
0
0
0
-2
1
0
0
0
0
1
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-13
-28
22
-32
0
39
26
-17
8
0
68
-58
-34
1
0
31
39
16
-24
0
10
42
0
4
0
-25
-22
7
9
0
48
-16
-7
0
0
-58
-23
8
0
0
-2
-10
-32
0
0
0
2
0
0
0
-2
0
-6
0
0
0
0
3
0
0
2
-1
23
1
0
0
-1
0
1
0
0
0
17
0
38
-22
0
0
0
0
16
-14
-3
0
0
-2
-3
2
0
0
0
-1
0
0
0
-25
-1
-2
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-63
3
17
4
0
21
65
-1
-48
0
49
-3
-69
-33
0
5
0
2
-5
0
21
-21
34
-10
0
5
0
-1
-5
0
-4
-2
-20
7
0
-7
6
-8
3
0
-1
-10
-4
3
0
3
-1
1
0
0
0
2
10
2
0
0
0
1
0
0
0
-8
5
-2
0
0
0
1
0
0
13
0
-8
0
9
0
-1
1
0
0
29
-9
-1
-3
0
-17
23
-43
13
0
6
-10
-9
1
0
1
-3
0
0
0
13
8
0
0
0
0
0
4
-2
0
0
1
0
0
0
-4
-22
1
0
0
19
4
8
0
0
-4
-9
-30
0
0
0
2
2
0
0
-2
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-23
-15
33
-1
0
32
3
31
43
0
56
-99
-36
1
0
-80
-51
44
-5
0
16
8
41
-9
0
-23
-13
-25
8
0
13
-34
4
-6
0
45
-7
-9
4
0
8
1
-2
-1
0
19
-5
-3
-13
0
43
-31
27
24
0
-3
-23
-4
-33
0
36
-36
66
41
0
-58
29
-43
15
0
-5
-6
-52
-27
0
-13
16
-66
-18
0
-37
3
-14
-13
0
-1
5
-4
-19
0
-5
22
-2
1
0
25
-3
0
2
0
1
5
1
0
0
22
0
3
-2
0
0
-4
-1
0
0
-6
10
0
0
0
22
-8
-8
0
0
-29
8
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
1
1
0
0
0
0
0
-1
0
0
2
3
1
0
0
-25
-60
8
-2
0
74
-58
-1
-5
0
-66
14
28
-1
0
-23
-39
30
10
0
51
-58
0
-4
0
8
8
2
1
0
-2
7
15
0
0
5
19
0
0
0
-7
24
20
-7
0
-19
-23
-5
49
0
-16
12
-3
6
0
57
-29
8
55
0
-11
30
40
-30
0
21
-48
-31
-8
0
54
30
-17
13
-21
25
53
-17
-1
0
3
7
2
0
0
10
3
-3
0
0
-3
12
1
0
0
5
3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-44
16
-31
-3
0
-12
-8
-6
-2
0
48
-86
31
6
0
-12
-31
-25
-2
0
-32
2
2
0
0
0
-5
3
0
0
8
5
3
0
0
-1
3
-1
1
0
58
10
19
-1
0
25
12
-41
55
0
-38
7
6
-29
0
-64
-9
31
41
0
10
3
-53
-24
0
0
0
16
-2
0
-18
-34
6
25
-2
-3
42
-7
-15
0
-9
22
-24
1
0
25
-7
1
0
0
-1
-4
0
0
0
4
-6
6
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
26
54
6
-25
0
-14
-55
2
12
0
6
-30
-18
3
0
-3
-17
43
4
0
1
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
-24
4
4
0
19
-17
-35
4
0
-13
61
0
5
0
-41
4
55
4
0
9
-27
4
16
0
0
2
24
5
0
6
14
-2
-4
11
0
45
20
-31
0
36
-5
-10
-6
0
-34
7
-16
-6
0
2
8
-2
1
0
0
25
0
0
0
8
-27
1
0
0
1
0
-1
0
0
0
0
0
0
0
-6
-13
0
0
0
1
6
7
-1
0
-2
-1
-2
-1
0
0
1
1
0
0
0
-6
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
32
40
-50
-28
0
70
-32
-2
-65
0
-55
-18
-43
-7
0
-73
-10
20
29
0
-46
-37
8
-30
0
7
-4
29
-5
0
0
1
-29
1
0
2
3
-3
-1
0
53
-14
-27
-55
0
-3
-48
35
-11
0
22
4
21
42
0
-6
-32
3
4
0
-14
0
-7
24
0
-3
25
24
-10
0
-24
11
-13
17
45
8
-71
-9
-40
0
-29
-16
19
-2
0
8
-3
-3
-8
0
-1
38
-2
-1
0
-3
-22
-2
1
0
1
0
1
0
0
17
13
2
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
-1
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
-45
-42
23
0
-10
-20
15
-65
0
-18
8
14
2
0
5
-25
-22
-4
0
-8
16
1
1
0
7
-10
6
-2
0
0
0
0
0
0
0
-1
0
0
0
-33
0
13
-38
0
-34
16
69
53
0
0
1
-6
5
0
3
24
-16
-2
0
2
-9
-18
5
0
22
1
14
-15
0
-3
-10
4
1
17
0
-31
13
2
0
16
-10
-7
-6
0
-10
20
3
-8
0
0
23
0
0
0
12
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
4
-12
0
8
33
-18
16
0
29
3
-27
13
0
6
-5
-23
-8
0
6
-8
25
-8
0
0
1
1
-2
0
3
-6
3
0
0
0
0
-5
0
0
17
61
3
-43
0
-16
-29
-26
-55
0
-17
-4
-43
13
0
-2
-23
-9
4
0
2
8
36
-8
0
0
0
22
-4
0
1
-19
5
-15
53
-5
-3
-2
2
0
-18
23
-18
15
0
34
6
23
9
0
1
-3
6
-1
0
8
-38
-1
-4
0
0
1
-6
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
75
-44
-30
0
66
26
-15
64
0
-52
-2
-22
-2
0
-1
-8
14
3
0
3
36
1
0
0
0
1
-7
-2
0
0
-1
-1
0
0
-1
-2
0
0
0
-25
19
-30
-52
0
-10
-43
11
22
0
14
5
-1
4
0
8
25
-8
-3
0
-1
-13
-2
14
0
0
0
31
-4
0
0
5
19
7
-19
1
-4
0
-1
0
6
38
51
-29
0
-2
38
30
11
0
-31
13
-30
7
0
16
1
-55
9
0
-5
43
35
-10
0
15
66
-30
-5
0
-10
-14
3
8
0
35
16
-28
30
0
28
-11
1
-10
0
40
-76
1
17
0
5
-1
-20
-1
0
-10
6
14
7
0
-8
-46
18
-12
0
2
26
29
2
0
6
1
17
1
0
-23
26
25
4
0
-17
37
34
8
0
-33
-6
65
22
0
20
-9
-2
1
0
-3
1
-8
5
0
-17
6
-4
1
0
0
6
9
-4
0
2
-1
1
0
0
3
-14
1
0
0
7
41
1
6
0
12
-20
5
7
0
0
8
-1
1
0
1
-13
-1
-3
0
-16
5
8
4
0
0
10
15
-3
0
24
-13
-16
5
8
31
-27
-1
-14
0
-7
20
8
25
0
7
4
23
19
0
10
-19
-3
-41
0
-2
30
-58
-8
0
0
26
19
10
0
-24
0
-3
36
0
84
-19
-2
8
0
-7
-30
6
-30
0
11
-12
14
15
0
-38
63
27
23
0
-3
-10
4
0
0
4
39
5
5
0
6
-4
20
-1
0
-4
-28
8
8
0
13
6
-27
-7
0
18
6
-32
-19
0
7
-10
-21
-3
0
52
20
-73
-21
0
0
22
24
-3
0
2
-4
-15
8
0
-23
2
2
0
0
10
-12
-8
0
0
0
2
0
-4
0
-7
-5
7
1
0
13
-9
45
-1
0
-22
0
18
24
0
2
-14
4
0
0
-8
-7
-5
-1
0
4
10
13
-2
0
6
31
9
13
0
-4
-13
-1
-4
3
7
-39
13
8
0
27
17
18
-43
0
-21
48
-8
-7
0
48
-6
36
-1
0
-38
29
47
-16
0
20
24
-16
1
0
41
13
0
-13
0
-21
10
-16
2
0
42
22
-32
25
0
20
25
-1
-2
0
-21
-8
30
-1
0
0
3
-2
1
0
-8
-12
-3
-1
0
-2
-12
8
1
0
7
-9
18
0
0
0
14
14
0
0
9
-6
-14
-1
0
17
-30
15
0
0
-23
-14
34
0
0
0
6
0
0
0
8
0
0
1
0
-4
4
1
-1
0
-2
0
9
0
0
0
0
-3
0
0
12
5
0
0
0
0
32
-4
-5
0
-6
10
-8
0
0
0
-15
0
0
0
0
-9
-2
-1
0
-13
8
0
1
0
0
3
-3
1
0
3
0
1
0
3
-7
-24
-8
0
0
6
16
2
13
0
14
20
0
-16
0
-24
57
-8
5
0
41
-23
10
-18
0
-41
67
1
1
0
-65
-14
44
10
0
37
-35
-2
-1
0
-46
8
30
2
0
-30
34
22
5
0
19
9
25
-9
0
4
-23
0
0
0
-12
30
-32
0
0
-8
27
7
0
0
8
9
-14
-2
0
0
8
-20
-2
0
-10
-24
23
0
0
20
43
-48
-9
0
-36
-2
0
14
0
-5
-1
5
1
0
-49
-10
-2
-2
0
10
7
-9
0
0
0
0
16
0
0
0
0
-3
0
0
-8
14
0
0
0
-4
27
-4
0
0
-2
-10
8
1
0
0
-8
19
0
0
-3
2
3
1
0
32
28
-2
0
0
16
5
6
0
0
0
-2
-1
0
27
-18
-12
-14
0
0
42
8
-9
17
0
17
27
7
20
0
-31
35
-9
-6
0
38
24
20
-25
0
-8
-8
4
1
0
17
-8
-3
1
0
1
-1
0
0
0
-5
-5
3
-1
0
2
33
2
8
0
0
7
-8
1
0
0
2
1
0
0
-1
1
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-3
0
0
0
-9
-3
-1
0
0
0
0
7
0
0
3
-1
0
0
0
-12
0
0
0
0
2
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
6
-2
0
-1
2
-6
0
0
0
0
-1
0
0
2
-1
-1
0
0
-4
-6
0
0
0
0
-1
0
0
0
0
0
0
0
-17
0
6
0
0
0
-49
18
28
-18
0
18
-115
-19
54
0
-27
25
13
-7
0
-5
-35
6
1
0
49
13
-22
0
0
47
-2
-3
0
0
0
4
-1
0
0
1
30
0
-1
0
-6
41
9
3
0
-2
31
-6
3
0
1
-7
0
0
0
4
-5
0
0
0
0
-4
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
-1
0
-5
20
-9
-2
0
3
-6
-4
0
0
0
-3
0
0
0
0
3
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
8
0
0
0
-25
-8
10
0
0
0
4
0
0
0
0
-1
0
0
0
2
-4
0
0
0
4
1
0
0
0
-2
1
1
0
-14
-2
-6
7
0
0
-6
-37
-9
41
0
33
18
22
-23
0
-23
-7
9
0
0
2
3
3
0
0
-14
0
2
0
0
-5
5
-5
-1
0
0
0
3
0
0
-25
4
0
0
0
9
8
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
14
0
0
1
0
0
27
-8
11
19
0
-22
26
41
-35
0
-42
-5
5
14
0
-20
-55
5
20
0
-13
-9
-5
0
0
0
3
44
-1
0
-4
5
0
0
0
16
-40
-5
-1
0
-10
-5
-5
0
0
7
-3
0
-1
0
-1
0
-7
0
0
20
-3
-4
0
0
-1
20
-4
0
0
5
0
1
0
0
1
0
0
-1
0
-1
0
0
0
0
-4
23
-7
2
0
-4
8
-1
1
0
1
-1
4
0
0
0
1
0
0
0
0
-1
-14
0
0
0
-1
-1
0
0
0
1
-2
0
0
0
0
0
0
0
1
-1
8
0
0
0
3
1
0
0
0
0
-10
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
-3
-3
0
-9
-3
-5
-2
0
0
48
-33
43
8
0
23
35
-10
4
0
8
10
-9
2
0
16
12
27
1
0
-21
2
7
-2
0
-22
-7
22
3
0
5
-1
12
0
0
-21
6
0
0
0
-14
16
4
3
0
-18
-2
5
1
0
-2
10
0
0
0
2
0
-3
0
0
1
-3
2
2
0
0
2
0
1
0
0
-3
-1
0
0
-4
-5
1
0
0
-4
13
2
0
0
0
3
2
0
0
0
0
0
0
0
1
0
0
0
0
2
7
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
1
0
0
0
-4
-3
0
0
5
0
0
0
-27
3
1
1
0
0
69
-27
4
13
0
-49
-10
27
9
0
1
11
4
0
0
-74
7
1
1
0
17
-5
4
0
0
-16
29
3
0
0
3
7
0
0
0
25
-9
1
0
0
8
3
8
0
0
16
-33
0
1
0
0
34
3
0
0
1
8
0
1
0
0
1
6
0
0
0
0
-3
-2
0
0
-2
0
0
0
-3
14
4
0
0
0
-14
-6
0
0
1
0
0
0
0
0
3
0
0
0
3
-5
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
0
0
1
0
1
0
0
0
-5
0
0
-35
-9
-1
0
0
0
-28
19
-19
24
0
19
25
29
-8
0
-5
25
-5
-1
0
-13
-23
18
-3
0
4
12
-12
-3
0
1
1
31
-3
0
7
0
3
0
0
-2
48
0
0
0
6
-3
0
0
0
2
-1
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
-5
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
-24
10
9
6
0
41
-14
-38
-24
0
-3
-23
24
-2
0
-69
19
-8
-17
0
-30
21
4
0
0
2
9
3
2
0
0
4
-4
0
0
2
1
2
0
0
4
-6
-9
0
0
-1
-2
3
0
0
0
0
0
0
0
2
0
1
0
0
0
-4
0
0
0
0
2
-1
0
0
0
-1
0
0
0
2
2
-1
0
0
-2
-9
5
0
0
-7
-6
-2
0
0
0
0
0
0
0
-6
-4
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
5
0
0
0
-3
0
0
0
0
4
1
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
-31
0
7
-1
0
0
30
-14
3
-15
0
42
2
-53
14
0
7
23
-1
2
0
10
0
-3
0
0
-2
3
2
0
0
-4
-4
2
-1
0
0
0
0
0
0
14
-4
-4
-1
0
0
6
5
0
0
0
7
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-12
0
0
0
-8
3
1
0
0
-10
0
0
0
0
0
-1
0
0
0
1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
-10
17
5
8
0
-63
-17
9
10
0
22
-7
20
3
0
-4
17
-7
-1
0
6
0
-1
2
0
5
0
0
1
0
0
8
0
0
0
4
-3
-2
0
0
-1
-8
0
-1
0
-2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-3
0
0
13
0
-2
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
3
-14
6
5
0
17
9
-14
-10
0
6
34
-7
-1
0
-6
8
2
6
0
-1
-41
-5
0
0
3
0
2
1
0
0
5
0
0
0
-8
7
0
1
0
3
-13
1
-1
0
0
1
0
2
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
0
0
3
2
1
0
0
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
43
10
-8
7
0
-8
28
64
10
0
8
18
-41
-1
0
29
27
-3
-2
0
-7
-6
8
0
0
-13
-8
-12
0
0
2
0
0
0
0
7
-2
7
1
0
0
12
4
-1
0
1
12
-8
-1
0
0
-5
0
0
0
-1
-1
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
13
-1
0
4
-4
-13
1
0
0
5
0
0
0
-2
-1
2
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
-26
20
-29
6
0
11
-24
-24
0
0
30
-43
25
-7
0
11
9
12
-9
0
4
-3
12
-2
0
10
8
-13
4
0
-1
0
0
0
0
-51
16
2
-2
0
17
-37
6
4
0
-3
-19
-3
0
0
0
7
0
0
0
-1
6
0
0
0
-23
7
-4
2
0
3
-8
0
-4
0
-17
2
0
0
0
33
-3
-3
1
0
2
-1
0
2
0
3
6
-1
-16
0
3
-4
2
-2
0
-12
-22
13
-20
0
18
12
-44
33
0
24
-32
-46
24
0
-22
34
7
13
0
-59
-44
9
-33
0
37
16
-4
23
0
26
-10
-5
37
0
-30
9
30
32
0
-43
13
3
8
0
31
34
-8
-2
0
-15
6
-53
-13
0
-10
11
-7
-26
-3
-44
-46
-49
-59
0
61
-26
-5
13
0
2
-2
1
-5
0
64
25
10
0
0
52
-36
4
-3
0
11
19
1
-4
0
13
8
1
0
0
0
2
4
0
0
-8
-10
-2
0
0
8
42
-5
0
0
-17
-21
0
0
0
0
-12
-1
0
0
9
-6
0
0
0
0
7
-8
0
0
4
12
-6
3
0
-1
2
-2
0
0
-10
-24
-2
-2
0
1
7
-2
-2
0
10
16
5
-18
0
-18
11
27
-4
0
-25
3
6
55
0
-23
-24
41
-16
0
-81
-27
41
34
0
60
-12
-32
-22
0
-51
67
2
-14
0
60
-59
-4
69
0
-13
-38
-36
-14
0
4
-32
-3
18
0
4
-25
-7
-20
0
58
-22
59
-7
0
-10
31
-6
-19
0
12
7
-43
-58
-3
-52
9
-49
-14
0
-49
-6
9
7
0
-20
41
-24
-8
0
-42
2
0
0
0
10
6
7
0
0
19
-1
2
0
0
19
0
4
-2
0
0
0
0
0
0
-1
0
2
-1
0
4
3
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-5
3
1
0
0
3
9
-33
6
0
46
16
14
-7
0
20
-5
29
52
0
-24
-41
72
-18
0
27
-7
2
5
0
23
-36
40
-3
0
45
-23
-32
-23
0
5
-83
59
-41
0
48
14
-9
-31
0
5
-55
12
-15
0
1
5
-2
14
0
-6
-10
0
-16
0
5
61
-20
41
0
0
12
29
4
0
22
-6
-9
66
2
-54
-52
-1
33
0
11
-3
-22
-4
0
23
-4
0
0
0
25
8
3
0
0
11
3
1
0
0
7
3
-1
0
0
-23
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
10
0
-7
0
0
3
-5
2
0
0
0
0
0
0
0
-4
0
0
0
0
-1
-3
0
0
0
1
1
3
0
0
0
0
2
0
0
-25
-22
0
0
0
-13
4
11
16
0
5
25
-15
40
0
23
-57
0
24
0
-51
-40
113
10
0
42
-59
-7
-63
0
42
20
-14
-28
0
5
-58
-4
-9
0
-90
62
-70
23
0
-18
12
8
-15
0
-10
14
-8
-1
0
-5
-9
-47
-1
0
0
0
-17
1
0
4
43
8
-29
0
0
-7
-6
0
0
-33
35
5
5
-12
-13
19
25
4
0
31
3
-9
4
0
-15
32
-1
-5
0
19
-8
-4
1
0
5
-6
1
1
0
5
1
0
0
0
0
0
-1
-2
0
0
0
0
0
0
8
-20
2
0
0
-2
8
1
-2
0
-1
2
1
0
0
0
1
2
0
0
-3
-5
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
-5
21
-35
0
-58
63
24
98
0
71
37
-10
-5
0
57
62
-79
-12
0
34
-40
48
24
0
4
-46
48
6
0
27
-29
-22
4
0
23
-31
-47
1
0
-41
6
43
-9
0
-22
23
-3
2
0
-13
5
-18
-5
0
-7
8
0
1
0
-1
27
30
-1
0
0
4
-14
0
0
-6
29
-22
0
-10
53
0
14
0
0
12
25
21
-33
0
49
29
-19
-3
0
3
16
1
0
0
18
12
0
0
0
-4
-1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
5
0
0
0
-3
-5
-2
-2
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
1
0
0
0
-3
0
0
0
0
-33
-26
28
83
0
-2
-45
10
5
0
23
29
-52
-48
0
-25
11
45
14
0
8
18
33
14
0
8
8
-17
-5
0
-17
8
14
-1
0
-1
24
10
1
0
41
-9
-19
2
0
-5
8
-16
1
0
0
-4
8
2
0
0
0
-2
0
0
1
-12
-3
9
0
0
-6
-4
1
0
-5
6
19
0
-54
27
1
-4
0
0
-28
-7
8
0
0
49
-12
-1
6
0
0
5
0
0
0
12
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
17
27
42
0
67
14
-4
-49
0
-21
-94
-1
57
0
14
1
-7
20
0
5
9
-14
8
0
4
-14
27
1
0
-1
8
-4
-9
0
-5
14
14
1
0
42
31
-76
-54
0
-23
25
-4
-4
0
2
-3
-1
12
0
0
10
6
0
0
0
-25
1
4
0
0
0
0
0
0
3
-6
7
0
-15
-8
7
0
0
0
54
25
0
0
0
-9
1
-10
-9
0
9
0
-4
-3
0
-24
8
0
1
0
0
-25
2
0
0
-1
0
1
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
8
3
1
0
-3
1
-5
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-41
-35
-56
-35
0
-27
-45
51
91
0
-19
51
-57
28
0
23
-5
-21
-37
0
-7
-1
-3
12
0
-1
-1
8
3
0
-10
-8
14
5
0
20
-10
8
1
0
-55
-7
-8
-45
0
20
30
-29
0
0
-4
7
-19
-3
0
-4
0
13
0
0
0
6
1
-8
0
0
-5
7
-2
0
-7
-7
13
0
25
13
-22
1
1
0
2
4
1
-5
0
-34
10
-45
14
0
9
43
6
0
0
18
-30
-1
-25
0
-3
15
3
1
0
40
-29
-12
2
0
-10
2
2
0
0
24
-4
-1
0
0
-7
16
1
0
0
-3
7
3
0
0
0
0
2
0
0
0
0
-2
0
0
4
7
-3
0
0
0
0
0
0
0
0
-1
1
0
0
-1
-3
-5
0
0
1
18
-17
35
0
37
-56
50
-79
0
36
28
11
-35
0
-27
37
90
22
0
2
-109
-1
-7
0
-33
-5
-32
-9
0
47
8
-30
-14
0
-2
-13
-21
-4
0
5
1
0
-1
0
-2
-6
0
4
0
28
2
-6
-5
0
-37
-35
-15
33
0
-34
-67
6
29
0
-19
56
-24
-23
0
38
5
0
-45
2
-10
-29
-21
-56
0
7
24
-16
7
0
-19
49
8
-25
0
-4
9
6
-1
0
39
-4
1
10
0
17
-22
3
1
0
-79
-7
4
1
0
0
-4
0
0
0
-9
18
0
1
0
-1
-50
9
0
0
8
9
0
-1
0
0
0
0
0
0
3
-7
1
0
0
0
-1
-1
0
0
0
2
0
0
0
0
-3
1
0
0
1
0
0
0
0
4
29
7
-15
0
-27
-49
-17
16
0
-7
17
24
-25
0
59
-59
36
10
0
33
23
15
-2
0
-16
4
7
1
0
-14
14
-7
-2
0
13
8
1
0
0
-10
2
23
0
0
27
-6
-39
68
0
28
-68
-64
8
0
-49
-55
24
-16
0
44
28
22
20
0
6
-13
-1
-3
0
19
-28
-49
20
-2
-21
31
-5
-8
0
0
-46
-3
1
0
22
0
-8
5
0
1
20
1
1
0
-17
-3
-1
5
0
0
3
0
0
0
1
7
-3
0
0
-4
1
0
0
0
4
4
0
0
0
-4
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-11
12
-7
-13
0
72
27
-28
-13
0
28
-41
-1
-23
0
-23
8
-9
-8
0
-41
-48
29
15
0
-29
6
8
-7
0
0
23
17
-2
0
-3
-9
-7
-7
0
-21
9
-12
59
0
5
38
56
-20
0
32
11
1
-5
0
8
-19
22
36
0
32
16
-45
2
0
6
6
29
0
0
7
6
12
12
-45
25
49
-5
10
0
-31
-30
27
-7
0
-14
-25
22
22
0
17
-8
4
0
0
13
-15
-3
-1
0
7
42
-7
0
0
8
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
8
1
0
0
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-3
1
0
0
40
38
7
-85
0
33
-31
34
6
0
-120
65
-5
-8
0
-48
21
-24
10
0
-8
-13
16
-5
0
7
8
1
0
0
0
7
0
0
0
0
1
0
-1
0
-22
-23
3
14
0
-12
-16
-45
-58
0
-76
17
49
7
0
34
15
-6
-8
0
34
-9
-89
-29
0
0
1
-28
7
0
4
18
-30
7
15
6
-22
-4
5
0
-6
44
-16
1
0
-25
25
7
-16
0
1
0
6
1
0
18
8
-6
14
0
14
7
-2
0
0
0
0
1
0
0
-1
1
0
0
0
-5
8
0
0
0
7
5
0
1
0
-4
-7
3
-1
0
0
0
2
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
13
-42
-20
-6
0
9
69
-40
50
0
-11
4
23
2
0
10
61
-12
4
0
30
-108
-17
25
0
25
7
3
16
0
-5
-6
8
2
0
-18
9
-4
0
0
6
7
-44
45
0
-13
-14
14
-50
0
-13
48
51
-14
0
-21
35
73
12
0
9
-28
45
-13
0
-8
23
29
-14
0
-10
-33
3
-3
3
12
100
-15
19
0
14
18
14
-6
0
11
-32
-28
-7
0
5
52
7
-1
0
8
23
0
6
0
-2
1
1
-1
0
-15
8
-1
1
0
0
-1
0
0
0
3
1
0
0
0
0
7
6
-1
0
-2
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
68
-8
-107
0
-75
-1
7
15
0
48
-21
-25
-23
0
25
17
-5
3
0
-1
-30
2
-3
0
-1
0
-2
1
0
0
-1
4
0
0
17
-15
0
0
0
-8
-26
-16
-29
0
35
-8
67
-7
0
25
-50
3
-13
0
-8
-14
5
26
0
-1
1
-25
-19
0
0
-3
22
1
0
0
13
20
-6
-9
-9
74
3
6
0
4
62
-13
3
0
-5
32
2
-22
0
-12
-29
-3
2
0
14
-7
9
10
0
0
3
-3
0
0
1
0
0
0
0
-2
-2
0
0
0
5
-1
0
0
0
0
-13
0
1
0
0
0
1
0
0
0
0
-1
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
34
-43
-18
10
0
50
21
-84
-38
0
-47
8
32
10
0
12
39
8
-68
0
-9
-18
1
-22
0
-5
12
-10
0
0
8
1
0
1
0
0
9
-6
0
0
-23
-16
38
25
0
3
-40
-79
-1
0
-6
35
40
23
0
0
13
3
-13
0
-23
-23
31
-2
0
0
-5
32
-18
0
0
-36
-17
10
7
0
2
-13
-15
0
-16
10
-6
-8
0
1
-9
14
-23
0
5
2
-16
6
0
-34
-16
4
-3
0
-3
-2
0
0
0
22
-10
3
0
0
0
0
0
0
0
1
-7
-1
0
0
0
4
-4
0
0
-1
-1
-3
-1
0
0
1
-1
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
-29
-64
-89
0
-2
88
25
-42
0
-29
-17
23
-8
0
-13
-7
-8
13
0
29
8
-24
20
0
0
0
-8
5
0
0
-10
5
0
0
-1
-7
0
0
0
10
9
-4
-39
0
3
-83
-43
33
0
-3
-51
29
40
0
6
21
16
8
0
0
-13
62
25
0
0
-8
8
6
0
1
18
-1
17
35
-19
19
-13
8
-18
13
-14
40
11
-6
-5
18
28
17
31
-11
-13
-39
22
61
42
-5
-33
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-15
1
-6
-4
-8
-11
22
2
0
-3
15
-5
0
-2
17
4
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
12
-16
-5
-1
53
-84
10
-4
1
-8
6
-5
0
1
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-19
-24
-1
0
1
12
2
-3
0
-1
24
-2
0
0
-7
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
17
-11
-52
30
-69
1
7
15
-45
40
2
30
-29
-1
97
-26
-23
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
72
-41
-18
0
-40
7
16
9
0
0
4
12
-3
1
3
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
-24
9
18
-47
30
8
23
-6
0
28
0
-6
0
-5
-33
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
-7
-6
0
-7
15
0
-8
0
2
-20
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-20
28
19
27
-9
-30
12
-14
19
84
48
58
24
-1
-23
64
-20
42
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
-5
-5
2
-1
-1
24
-4
1
0
8
-20
1
0
-1
-8
20
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
12
2
-17
1
-17
13
-5
2
0
9
-2
-1
0
1
-7
-19
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
0
0
0
-1
2
0
0
0
6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
28
-31
81
-39
-15
-79
6
32
-6
18
19
10
-6
5
-17
-2
-11
-9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
-8
8
0
0
35
-34
-10
-8
0
3
9
0
0
0
27
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
4
34
-3
-8
6
1
-25
-5
0
1
2
1
0
31
2
-9
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-2
3
2
0
0
-2
7
1
0
0
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
50
-10
-31
16
29
-46
-9
86
-26
7
8
5
0
-6
16
-4
17
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
2
47
0
-1
0
12
-13
0
-2
0
6
8
4
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
0
5
0
0
-13
8
1
4
0
0
8
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-23
-9
-3
0
-8
-3
0
0
0
-5
-2
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-8
38
55
-6
49
-19
-77
1
23
-19
38
-12
43
16
-1
28
95
-18
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-36
28
5
23
-7
-6
30
-5
-15
0
9
-1
0
0
0
10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
5
0
0
2
0
8
2
0
0
0
1
-1
0
0
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
3
0
0
28
-17
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
43
32
-28
4
37
-23
21
-10
2
2
1
-5
1
-10
5
-19
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
-1
0
2
0
0
0
1
-2
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
0
0
-2
1
-1
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
33
-28
-10
26
61
16
-24
10
-12
1
14
20
-6
-8
-31
15
19
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
-22
10
-8
-2
-18
-5
19
3
1
-4
17
3
0
-1
1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
14
6
0
0
0
1
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-48
8
7
2
-29
53
15
14
2
20
-5
18
1
1
-10
-3
8
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
8
-1
19
0
-2
-23
40
14
0
4
8
-3
0
-2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-9
24
-15
57
5
-28
-13
-2
0
9
16
4
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-25
13
-4
-9
-1
27
29
-8
0
0
3
-6
0
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-50
89
5
1
6
105
-39
19
-2
5
-17
-23
6
2
-3
-31
31
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
29
-8
0
-6
5
14
6
3
0
-2
2
14
0
0
-17
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-24
10
-8
-1
14
-9
-9
1
-1
1
12
-8
0
-2
-3
-3
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
12
3
0
-4
-23
-22
9
0
0
0
-1
0
0
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
41
-2
-14
40
-21
-2
-3
-10
30
16
-2
0
20
0
8
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
-1
0
4
0
13
-6
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
-10
4
0
8
-15
5
6
0
0
-2
1
0
0
0
8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-2
0
0
-2
0
3
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-27
31
-3
-1
-12
-7
-1
13
8
-21
-2
-16
19
2
0
40
30
-10
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
-1
0
0
-2
0
0
-1
2
0
0
0
-1
-6
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
15
-14
0
0
-6
10
9
-1
0
-17
-13
2
0
-1
-5
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
2
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
0
19
7
-14
-7
27
-23
9
-6
8
29
24
0
3
34
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
10
0
0
0
-6
0
0
0
0
-6
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
3
-2
-1
-4
3
13
5
0
0
-3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
13
-2
1
4
1
6
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
21
1
-5
-8
-2
-19
14
-5
0
-7
-38
8
0
0
-2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
0
0
3
-2
-9
0
0
-3
4
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
1
1
4
1
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
-4
0
0
-3
0
5
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
5
-19
-3
-17
24
24
-5
4
0
-14
-6
-6
0
-2
-8
-16
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
19
4
0
-2
-4
4
7
8
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
5
0
0
1
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-5
-6
-5
-28
-31
25
-1
5
-3
7
3
-9
-6
-3
1
16
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
1
0
0
0
2
2
0
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
6
5
-4
4
15
15
4
3
0
2
0
0
0
0
-1
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
1
1
2
1
-1
2
0
0
0
1
2
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
36
16
-44
3
-3
20
-21
16
-8
-6
27
4
3
0
-16
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
-2
15
17
29
-30
8
31
-2
6
-6
-8
-5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
4
0
2
-17
-5
4
-6
-26
-41
-16
15
-36
1
17
-12
6
-29
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
64
52
-7
93
-8
-5
-52
38
64
0
48
-75
11
-9
0
-24
2
-2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-13
7
-12
33
-10
25
10
2
-2
-5
7
-22
0
-12
38
13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
0
-6
-10
2
-23
41
8
3
0
16
0
0
2
4
24
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-5
-6
6
9
-12
18
-17
-16
-62
-23
-8
13
-5
3
-30
-9
-52
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
72
-16
1
29
-8
26
-8
5
-20
0
0
-91
4
-33
0
8
-28
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-18
-19
20
-1
-7
-8
4
9
8
4
25
6
6
0
1
14
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
2
-1
0
-12
3
-1
-4
0
0
0
-3
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-3
20
-1
-7
-28
-1
-2
2
40
15
26
-21
52
17
-35
35
1
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
-5
-25
12
-2
-13
13
-16
-1
0
14
-6
20
4
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-30
14
-8
0
2
-29
-13
19
1
0
-2
0
2
0
18
58
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
14
0
-16
10
0
-4
-1
0
1
-1
-2
0
-8
-16
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-10
2
-27
43
-104
-28
-14
-23
-26
47
56
-6
52
-45
-60
18
-9
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
17
-19
16
2
-69
-7
7
5
0
5
7
2
-1
5
3
6
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-42
10
1
-5
-27
2
25
0
0
-3
-5
-27
-4
0
-1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-4
2
2
0
25
-1
-3
0
-3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-21
-35
1
-32
-9
-13
-14
32
83
-11
6
43
-68
-17
-80
-24
5
81
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-22
9
0
-11
4
-50
-2
8
37
-5
41
16
19
-8
-37
6
-25
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
-4
-6
3
8
14
-19
-8
7
0
-3
0
-2
0
2
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
0
0
6
8
0
7
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-42
7
28
15
0
-78
-9
108
-30
-20
88
-45
-7
-4
8
17
44
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
2
-20
-61
41
-9
27
47
46
0
29
-12
23
-22
6
-16
-17
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
19
1
0
2
-6
4
0
0
0
0
-3
1
0
1
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
49
-51
-17
-33
-65
-26
76
19
25
15
14
-28
-58
5
43
-49
45
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-33
52
3
14
-16
-9
-9
1
0
3
-13
8
0
2
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
14
0
0
3
-6
-7
1
0
2
3
-1
0
-2
1
-10
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-6
13
0
0
2
2
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
4
-61
-10
20
-7
47
-52
21
23
30
-46
5
16
-17
-7
-27
-10
-21
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
136
-28
-96
5
-32
1
-5
19
-2
0
30
9
1
-2
7
-24
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
7
39
-1
10
-14
-10
2
-1
5
3
-12
-4
-9
0
5
-7
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-29
-17
18
-22
-5
24
3
-8
1
0
0
-17
0
0
0
-7
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
27
72
24
34
-10
30
48
70
2
-33
77
-9
-31
-22
-28
27
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
1
-2
-3
-19
11
-6
-24
16
-82
-14
-65
-9
106
84
55
-45
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
25
21
-23
-8
40
1
-4
-17
0
8
2
8
0
0
5
-5
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-21
18
6
6
-9
34
0
-1
0
13
4
-2
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-54
45
-9
90
-37
45
22
30
4
-8
-27
-26
1
8
-9
45
-58
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-21
16
3
4
-18
17
-58
-20
45
8
19
-5
41
-50
-66
2
72
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-10
0
0
16
6
-2
2
-1
0
12
4
3
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
-16
0
1
1
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-39
19
-38
54
-14
-48
-42
6
-54
0
46
-28
19
15
0
83
-12
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-44
-6
19
60
-19
42
-23
-11
-11
54
-43
80
-90
2
-3
-41
90
-4
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
23
0
7
9
-12
-29
1
-4
13
7
0
0
25
17
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-8
-7
0
0
10
0
10
0
0
1
0
1
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-43
-6
-8
34
-34
48
-8
5
-10
6
-2
4
-4
-1
-1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-19
-27
-17
-53
-11
43
130
-32
16
-18
15
52
-15
-41
-23
-36
-14
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
9
7
-6
8
7
7
-29
1
0
3
-22
6
-2
1
1
14
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-19
-9
-3
6
5
-8
-1
4
0
1
1
5
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
38
-54
35
9
-12
27
-92
-67
-18
-2
10
2
-73
-46
-9
-56
30
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-6
46
-43
54
-25
-32
104
5
-25
39
88
-30
-147
-24
-36
51
-28
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
2
-8
0
33
8
-1
-4
-7
1
31
-10
2
0
-19
-6
-15
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
1
-10
0
2
-4
-7
-6
-2
0
-1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-55
37
28
10
-17
-14
29
-9
-19
6
-8
-44
-25
12
-20
1
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-18
-23
3
-53
-1
15
-19
28
13
4
3
-30
66
45
-1
32
53
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
34
-6
7
0
29
-32
19
7
-1
0
-4
0
0
0
0
8
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
26
17
-42
14
25
-3
20
-39
-3
-5
-13
-6
2
-8
0
-4
3
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
4
111
-72
26
-1
49
-92
-28
-4
-20
-26
12
-20
4
25
42
-33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
10
20
-8
32
7
6
-33
0
3
-9
-5
0
0
8
13
25
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-3
0
0
0
7
0
-2
-2
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
36
25
-35
-21
-8
31
50
-37
22
-34
0
25
38
8
-41
1
-6
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-31
-20
-44
64
-9
15
-19
24
12
-8
-19
19
39
-69
-14
-6
48
-12
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
10
57
26
-13
-8
-23
4
55
-6
42
4
4
-11
12
25
12
9
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
23
41
22
-3
-6
9
-16
32
0
15
-20
13
-1
0
5
-9
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
-37
13
4
2
-10
-30
-5
-7
0
9
3
10
0
6
13
-12
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
4
-28
-2
-1
-24
7
1
-2
0
8
-1
6
-3
0
5
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-14
-30
20
7
3
6
-2
-19
48
-7
38
-1
48
14
7
0
-27
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
26
-7
21
-8
-20
-4
-15
-6
-3
-7
13
-6
-6
0
-4
9
-12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
40
8
23
-8
12
-12
-39
-7
8
0
12
-19
2
0
6
2
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
5
-10
-5
16
-28
29
10
6
0
-2
-9
1
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
14
13
24
-39
28
21
68
13
77
-12
13
-15
-16
-3
-39
55
-18
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
-5
40
-15
7
39
-5
4
1
-2
5
16
8
-4
0
4
1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-13
-14
-1
1
0
-8
-16
-2
0
3
5
-5
0
-2
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
4
0
0
-5
0
3
0
0
0
-2
-1
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
12
63
-4
27
8
10
2
27
-10
11
-1
17
57
-11
17
0
-63
-29
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
3
-35
-4
-17
-47
42
37
-5
1
0
16
-7
0
42
-29
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
20
12
-4
-1
-22
8
14
2
0
-25
23
8
0
-3
-40
27
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-40
-31
0
1
1
6
-22
-1
0
2
-2
1
0
-2
6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
44
42
8
41
3
-35
10
-3
-20
-41
40
-8
9
-7
9
-36
19
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
19
0
-5
0
-5
0
1
-3
0
6
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
3
0
5
5
14
14
-2
4
0
0
0
0
0
-1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
2
0
0
0
0
3
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
15
18
15
-22
29
0
-5
22
1
8
16
-6
9
-32
44
14
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-27
14
2
-1
-3
-1
-5
-2
4
0
1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
26
5
-8
8
-18
-18
-3
-3
0
-1
-4
-1
0
3
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
-12
9
12
8
46
6
12
0
-12
-83
-8
13
-3
-20
6
4
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-8
3
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
-6
7
0
0
0
1
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
41
19
-29
-14
12
12
46
8
-6
10
-33
-7
12
-3
-3
-40
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
10
0
0
1
20
-1
1
1
-1
0
-1
0
1
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-55
-5
0
16
2
-13
3
2
0
2
3
0
0
0
1
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
6
0
0
0
1
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
25
76
-10
29
33
-24
-31
48
1
6
40
-22
22
5
23
21
-1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-15
-1
12
0
-40
16
8
-10
-2
-42
9
18
1
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-74
25
-1
0
0
8
4
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
24
1
0
0
-4
-2
0
0
0
1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-9
5
33
5
29
-37
-19
19
33
-13
7
10
2
-1
-6
29
12
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-4
-1
-13
-7
-5
-33
49
0
0
-12
8
-2
-1
0
-25
5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-4
0
-25
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
3
4
-8
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-57
-3
-2
7
8
2
6
-8
-1
-2
41
3
20
-17
4
-13
19
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
6
12
0
1
-4
19
0
0
-1
7
15
-6
0
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
19
0
0
0
4
7
-2
2
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-1
-1
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
14
-4
-3
12
-15
-18
-8
3
-3
-19
3
12
-1
-19
0
-47
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
24
0
0
-2
48
-25
5
-9
0
0
16
1
0
1
30
10
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-3
0
1
-2
29
0
1
0
1
6
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
-1
-7
4
3
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
18
-37
7
1
6
-12
3
-22
-2
2
7
8
1
-1
1
7
27
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
2
-1
0
8
5
-18
1
0
0
1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
41
-30
3
-1
0
-8
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
1
0
0
0
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
31
33
9
8
-29
16
-19
29
30
-6
34
-8
1
0
22
-48
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-6
-2
-4
0
14
-2
-3
0
0
0
1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
20
-9
0
0
-13
13
-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
-2
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
42
21
-7
-13
5
8
22
5
5
4
-7
19
-8
-1
5
8
9
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-36
2
0
0
-2
-17
0
-2
0
2
-5
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
5
1
-2
0
2
-14
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
77
14
45
-25
-15
35
22
47
20
9
8
-13
-24
0
27
-3
25
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
29
2
0
-2
0
25
6
0
0
1
-8
-1
0
-5
-4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
7
-7
2
0
-13
3
20
-3
0
1
-1
1
0
-1
-1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-1
0
0
2
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
18
-17
18
5
-34
38
45
8
-2
2
-3
0
-30
-1
9
-5
8
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
15
-21
4
8
-1
2
-12
-9
0
-4
0
1
-1
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
1
6
15
3
5
-3
-6
-18
-26
12
-9
17
-35
-14
-10
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-20
-5
29
-18
1
-60
-57
48
26
0
43
-67
-9
-8
0
-87
-62
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
23
39
18
-42
33
-20
-27
-7
-4
55
22
2
0
-8
35
20
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-5
0
2
41
14
-3
-8
-6
0
-1
-6
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
7
-2
9
-26
4
16
-11
21
21
-4
-7
-26
-14
-9
-37
-27
-37
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
29
-1
-15
32
-18
-52
-32
26
5
0
52
-58
41
-3
-1
7
6
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
32
13
-14
2
13
-44
19
6
1
-4
7
29
0
0
-1
13
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
0
0
0
-8
1
0
1
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
12
46
-2
-20
-17
2
60
39
39
83
1
12
-22
-24
2
1
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-14
-41
26
7
-35
-22
41
28
-15
-6
-17
8
-24
-62
-18
4
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
51
-17
52
-6
-10
3
-27
19
0
5
-34
4
1
0
-7
14
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
1
-4
3
0
0
-1
4
-1
0
-6
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
20
10
3
10
-16
-4
-3
19
-29
21
-32
-25
-10
30
-44
-13
16
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
39
-37
7
9
6
-6
-43
-12
26
-19
23
-20
8
24
1
1
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
78
1
-29
9
4
30
-21
8
-13
17
-19
13
9
0
7
0
-9
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
2
-5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
46
-17
0
-68
40
58
47
91
-5
-37
-9
10
-10
-27
13
67
-29
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
40
27
0
0
17
4
-7
-1
0
1
0
-3
1
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
57
24
-32
-8
89
-4
-17
0
-1
17
23
7
-1
0
23
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
0
0
7
-3
1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
17
-5
-83
43
-25
-14
9
38
64
-16
-78
27
31
-5
-23
-57
-11
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
73
3
-15
4
-15
-13
12
4
0
2
7
12
0
0
-1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
-3
15
-1
-2
-1
0
2
0
-3
-6
-4
8
0
0
7
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-44
-17
21
55
-17
-32
-98
70
-41
-72
36
27
-30
-8
-7
-13
-14
37
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
45
-73
-17
-2
33
22
-18
24
2
-52
25
-3
1
0
-30
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
-22
9
0
12
23
-17
-14
5
0
8
32
-8
0
7
-44
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
-8
5
-1
1
4
-4
2
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-11
11
10
9
64
-75
-48
-15
50
-31
108
-15
-37
-43
-6
-1
-59
-28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-40
-22
-28
-102
0
-93
-29
37
0
-1
40
-2
-9
-5
1
36
4
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
-26
-23
7
-10
41
-24
2
1
9
-30
13
-3
0
7
-30
5
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-36
17
-14
0
3
0
3
-6
0
0
4
2
0
0
0
-4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-6
16
24
52
11
12
-34
-91
-19
-16
-37
22
-14
41
69
-1
10
34
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
1
-1
-2
35
22
-18
13
-9
16
-21
21
7
-1
-44
73
-10
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-13
1
44
7
20
-41
-24
42
10
-4
10
24
-4
0
-7
52
8
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
-5
2
-13
-20
-4
1
0
0
3
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-33
-14
70
8
-108
21
74
-57
-25
17
26
-78
7
15
29
-57
30
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
-8
-2
3
-62
35
15
5
10
-30
74
8
50
46
15
-27
-51
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-14
-4
5
10
20
7
-22
-3
2
-8
-17
3
1
-2
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
4
0
0
1
-4
5
0
0
0
-1
1
-6
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
-18
-20
-16
-71
-20
65
-3
21
-26
-15
0
-13
42
-26
21
83
8
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-34
3
10
23
-43
-9
-12
-6
-9
-31
86
-50
27
-44
-34
11
47
-7
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
-5
29
1
-2
-23
22
-2
7
0
-8
3
1
0
-1
23
-24
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
7
-3
0
0
0
0
3
0
0
-13
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-59
-41
-4
-51
19
-76
84
8
-17
9
2
23
15
-28
-29
-26
3
-24
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-5
-17
-31
6
-34
23
16
27
47
43
-2
3
-28
4
67
29
27
-21
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-48
70
-12
-8
-5
7
0
-7
-10
0
29
-27
4
0
-13
36
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
2
25
-1
-9
3
8
10
4
0
0
0
-1
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-19
-29
6
-38
-51
63
-31
-59
8
12
-6
6
20
41
-3
-3
-45
27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-34
2
4
48
-46
-53
53
33
-37
15
-48
81
-10
-31
1
-19
-47
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
15
3
8
12
1
70
13
-17
8
-16
-24
15
-1
-8
9
12
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-9
-6
2
14
25
33
-8
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
68
-5
-58
-45
10
-61
74
4
-57
-16
36
-18
18
-18
5
14
-42
21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-18
-55
14
-12
-90
-43
61
-45
29
-14
-20
-12
9
-54
-6
-3
9
20
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
8
-4
-5
-4
9
-8
-15
-10
0
-5
1
-4
0
0
30
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
8
-3
2
0
4
8
4
0
0
0
2
4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-29
-39
-18
38
54
8
-26
-24
-7
-31
54
8
6
-27
-3
-32
58
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-31
-46
-1
11
49
3
-12
12
-73
-24
-11
-1
-23
61
-3
-32
-12
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
60
-6
-10
-19
30
-24
-3
6
1
0
12
-19
-4
0
-1
-58
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
17
-6
0
-1
-2
13
-8
0
0
-1
0
1
0
1
-2
-6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-6
-71
12
-67
-6
10
-31
-51
-32
-25
90
-6
-7
-29
2
17
4
34
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-55
-36
-30
-2
-44
-22
2
29
-1
0
-49
12
21
16
-31
-2
48
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
33
0
0
23
-3
-4
0
0
15
2
-23
0
0
11
-14
-28
0
0
11
109
14
0
0
13
53
50
0
0
-77
52
25
0
0
28
7
-22
0
0
12
117
6
0
0
-61
36
32
0
0
38
-17
9
0
0
31
61
58
0
0
70
24
-5
0
0
4
64
23
0
0
97
85
-16
0
0
-11
-60
31
0
0
11
-36
14
0
0
62
-67
-8
0
0
-3
72
4
0
0
24
13
3
0
0
46
-47
22
0
0
-41
11
58
0
0
6
-7
45
0
0
-38
35
46
0
0
52
-3
63
0
0
-42
-47
32
0
0
-13
35
43
0
0
57
15
-29
0
0
53
15
43
0
0
13
51
-27
0
0
28
23
18
12
21
20
-61
-32
0
0
15
33
29
0
0
16
8
17
0
0
-11
12
36
0
0
14
-3
16
0
0
62
5
83
0
0
77
67
-6
0
0
5
-24
40
0
0
28
-7
52
0
0
5
-47
19
0
0
-12
19
-43
0
0
-1
38
43
0
0
58
9
65
0
0
-1
50
18
0
0
7
7
-5
0
0
-2
51
1
0
0
-14
51
-22
0
0
33
78
-64
0
0
78
23
77
0
0
-2
-48
18
0
0
-27
12
14
0
0
-10
-27
2
0
0
3
-51
-38
0
0
25
-27
-11
0
0
-47
-14
43
0
0
-24
72
-34
0
0
27
102
3
0
0
0
-56
-14
0
0
-51
-10
63
0
0
3
-22
14
0
0
-3
55
12
0
0
-23
0
-67
-3
11
51
18
81
0
0
-19
27
-17
0
0
28
-22
-23
0
0
-31
23
10
0
0
11
40
9
0
0
-11
13
0
0
0
4
53
119
0
0
17
61
-2
0
0
46
47
-24
0
0
85
-39
24
0
0
-19
9
-2
0
0
62
8
-12
0
0
23
-7
-8
0
0
-1
4
0
0
0
-24
37
-6
0
0
49
15
-16
0
0
-29
31
-7
0
0
10
-2
52
0
0
2
1
6
0
0
-10
-17
-58
0
0
26
21
-5
0
0
61
40
3
0
0
-19
5
-22
0
0
-2
-44
-9
0
0
3
-52
33
0
0
-18
50
-22
0
0
2
-82
-29
0
0
0
66
-42
0
0
11
41
28
0
0
-74
-6
-79
0
0
2
14
30
0
0
57
-44
-44
-6
5
-22
-34
-31
0
0
-4
72
84
0
0
-27
-22
11
0
0
37
19
-65
0
0
40
-15
-55
0
0
22
3
46
0
0
46
20
-20
0
0
11
30
17
0
0
-5
5
19
0
0
5
31
-3
0
0
74
-16
25
0
0
5
4
54
0
0
-17
29
3
0
0
-5
14
-8
0
0
-2
19
-25
0
0
-7
-83
3
0
0
-3
55
-48
0
0
3
-3
-23
0
0
-51
53
53
0
0
-13
-27
8
0
0
-32
-7
22
0
0
-52
-35
-16
0
0
-9
-23
-2
0
0
-6
7
-1
0
0
-25
-59
10
0
0
2
-9
-7
0
0
-4
26
-30
0
0
0
40
4
0
0
23
1
-28
0
0
23
9
17
0
0
-37
-5
-16
0
0
68
-27
-17
2
0
-61
-49
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
20
0
0
-7
-25
-15
0
0
61
-18
-49
0
0
-31
47
15
0
0
59
38
-24
0
0
-35
-40
35
0
0
-12
-5
2
0
0
-39
-33
4
0
0
-20
71
-50
0
0
-4
-12
37
0
0
76
14
29
0
0
14
14
16
0
0
-24
103
21
0
0
29
3
1
0
0
-46
21
0
0
0
-9
75
-24
0
0
74
17
14
0
0
-15
56
28
0
0
13
-56
8
0
0
-36
-4
4
0
0
28
18
17
0
0
8
-1
25
0
0
-2
-9
-8
0
0
76
16
10
0
0
17
54
20
0
0
5
14
25
0
0
0
44
-9
0
0
-25
-25
8
0
0
19
0
41
0
0
-6
26
-34
0
0
-94
39
31
-11
-8
-22
95
6
0
0
64
-6
25
0
0
-58
-49
17
0
0
14
46
11
0
0
16
52
-27
0
0
46
-43
-10
0
0
20
8
21
0
0
25
-23
6
0
0
-20
7
-41
0
0
28
82
-18
0
0
20
77
27
0
0
78
-57
-33
0
0
-16
-11
58
0
0
-3
6
49
0
0
19
-31
-41
0
0
-30
-5
5
0
0
27
-40
-12
0
0
12
-53
-18
0
0
-65
24
-19
0
0
-8
5
-5
0
0
-39
-9
5
0
0
14
20
21
0
0
29
45
-9
0
0
-6
12
6
0
0
3
36
-14
0
0
-5
-69
-15
0
0
-2
-45
5
0
0
0
-13
-1
0
0
5
-20
1
0
0
25
3
21
0
0
28
-3
4
0
0
30
9
13
48
-45
-33
74
-9
0
0
21
-53
-5
0
0
-44
90
5
0
0
-8
15
60
0
0
-24
48
38
0
0
5
4
2
0
0
-5
17
-1
0
0
5
-2
-12
0
0
-10
-50
-1
0
0
-17
-2
8
0
0
26
-48
22
0
0
-23
45
-19
0
0
16
-3
-23
0
0
19
12
-2
0
0
3
-6
0
0
0
-15
29
-42
0
0
-11
-23
12
0
0
-30
6
2
0
0
-10
24
9
0
0
14
6
-1
0
0
-47
17
-2
0
0
8
-20
-5
0
0
0
-3
1
0
0
1
-6
0
0
0
19
-41
5
0
0
1
13
1
0
0
0
-17
0
0
0
7
-13
7
0
0
-6
-3
3
0
0
29
45
6
0
0
0
20
-3
0
0
6
25
8
10
-17
27
-79
10
0
0
-26
-23
-16
0
0
7
-33
-27
0
0
-32
58
-50
0
0
-49
44
-8
0
0
73
5
-3
0
0
-13
16
15
0
0
-5
-17
-2
0
0
-108
-8
6
0
0
42
6
-82
0
0
71
-14
1
0
0
19
-10
-21
0
0
59
-12
54
0
0
-1
-5
-4
0
0
-5
-3
29
0
0
2
-1
-7
0
0
35
7
-5
0
0
-15
38
5
0
0
16
-28
-7
0
0
-1
13
-2
0
0
14
34
1
0
0
0
-5
0
0
0
0
2
-1
0
0
1
0
0
0
0
19
-8
8
0
0
-1
-28
1
0
0
-1
33
3
0
0
0
1
-1
0
0
7
44
-5
0
0
25
-60
-10
0
0
-15
3
0
0
0
-8
21
0
-21
-36
-18
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
69
0
0
12
1
-48
0
0
82
33
50
0
0
-3
1
-11
0
0
-24
-33
7
0
0
-17
41
3
0
0
-40
7
-4
0
0
33
42
26
0
0
129
9
-25
0
0
15
-5
12
0
0
-15
65
-2
0
0
53
-6
15
0
0
24
38
-29
0
0
14
9
-29
0
0
29
8
3
0
0
12
-4
0
0
0
6
4
4
0
0
2
-3
5
0
0
15
47
33
0
0
16
-7
11
0
0
1
22
56
0
0
67
-15
9
0
0
27
37
-29
0
0
-37
-69
-51
0
0
11
-8
49
0
0
-84
10
36
0
0
-40
-46
39
0
0
-30
-72
-21
0
0
-14
-40
-35
0
0
-110
63
6
0
0
-62
0
5
2
2
-35
-5
-25
0
0
-18
-5
2
0
0
33
79
62
0
0
29
53
-8
0
0
-14
43
15
0
0
-28
-25
31
0
0
59
17
21
0
0
-21
-36
9
0
0
30
15
-19
0
0
21
12
-6
0
0
-2
39
-1
0
0
-28
-64
27
0
0
-6
-12
3
0
0
2
64
1
0
0
3
-22
29
0
0
18
106
9
0
0
-35
22
25
0
0
-34
-14
-13
0
0
-6
3
-9
0
0
-15
-23
48
0
0
22
5
-18
0
0
27
-63
-43
0
0
13
36
-10
0
0
-29
-46
-27
0
0
-49
-23
-41
0
0
37
5
53
0
0
53
43
32
0
0
-20
-28
20
0
0
-5
-12
-22
0
0
62
-47
-5
0
0
-98
17
13
0
0
51
-5
-22
4
-2
-42
-11
-99
0
0
-5
39
17
0
0
-11
53
-9
0
0
-37
15
-7
0
0
-51
-20
22
0
0
48
-41
-7
0
0
14
2
13
0
0
-9
8
3
0
0
22
36
1
0
0
-24
24
0
0
0
-24
0
0
0
0
-2
-17
2
0
0
2
1
0
0
0
-5
7
0
0
0
0
-18
1
0
0
-41
41
12
0
0
53
-7
-15
0
0
4
-16
15
0
0
4
5
3
0
0
-19
1
-1
0
0
9
-25
-40
0
0
3
-32
-67
0
0
-71
10
-6
0
0
88
-40
-49
0
0
4
45
46
0
0
41
16
2
0
0
3
-10
-49
0
0
-21
31
16
0
0
35
-77
-139
0
0
54
55
23
0
0
29
-41
-9
0
0
-65
-54
83
22
-7
-62
-29
-78
0
0
-50
-48
-36
0
0
-33
33
-41
0
0
2
17
10
0
0
23
4
-27
0
0
-12
2
29
0
0
-18
3
-4
0
0
0
30
0
0
0
-34
-4
13
0
0
0
-16
0
0
0
12
-13
-2
0
0
-25
-12
-7
0
0
-41
2
29
0
0
-25
4
-1
0
0
0
20
0
0
0
-3
-59
1
0
0
16
11
17
0
0
-4
2
9
0
0
-16
-19
-11
0
0
10
44
-70
0
0
34
-15
1
0
0
-35
-57
82
0
0
13
-25
-39
0
0
0
-48
-38
0
0
58
6
28
0
0
-37
-10
-33
0
0
63
-47
82
0
0
-32
-44
30
0
0
36
23
-3
0
0
-43
44
51
0
0
17
-64
41
0
0
68
26
-89
-14
-23
-21
-28
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
57
0
0
6
-84
-2
0
0
7
-62
-2
0
0
-42
-49
35
0
0
33
-32
14
0
0
64
-14
3
0
0
-6
-22
0
0
0
62
21
-25
0
0
-59
-27
2
0
0
5
-29
2
0
0
-2
-5
-9
0
0
-28
42
-13
0
0
29
-18
4
0
0
-6
1
-8
0
0
23
-18
2
0
0
18
-72
-19
0
0
2
-31
24
0
0
7
-26
54
0
0
-60
33
0
0
0
22
-48
0
0
0
-43
58
3
0
0
-32
-36
-74
0
0
42
38
-57
0
0
-22
35
9
0
0
6
7
-1
0
0
13
-1
-23
0
0
-15
5
26
0
0
1
18
-27
0
0
30
16
27
0
0
41
-38
24
0
0
51
9
-22
4
-1
-20
-17
44
0
0
-54
65
29
0
0
26
-46
-42
0
0
-30
-25
-2
0
0
-20
4
-7
0
0
4
-26
-7
0
0
36
-48
5
0
0
0
33
0
0
0
-28
24
-9
0
0
-3
-27
8
0
0
-37
-6
33
0
0
12
14
10
0
0
-45
20
-20
0
0
3
3
1
0
0
8
17
2
0
0
1
-18
2
0
0
4
24
2
0
0
9
-15
12
0
0
94
-57
14
0
0
8
47
65
0
0
-29
-21
90
0
0
-38
9
-9
0
0
23
-8
-38
0
0
-49
-44
12
0
0
-53
-7
-27
0
0
-5
-13
-17
0
0
-16
-18
0
0
0
-8
-43
17
0
0
-10
21
-25
0
0
62
6
-33
0
0
60
49
-2
0
0
-42
32
32
-17
-5
-77
-47
68
0
0
1
-14
25
0
0
0
11
-5
0
0
31
11
3
0
0
-49
34
10
0
0
-16
5
3
0
0
-8
0
0
0
0
8
-22
-2
0
0
2
10
3
0
0
12
5
0
0
0
1
4
0
0
0
3
-44
5
0
0
3
-10
4
0
0
1
-8
0
0
0
0
-8
0
0
0
2
6
1
0
0
14
-24
-1
0
0
-24
6
-23
0
0
-109
16
-58
0
0
-7
-13
-80
0
0
21
4
16
0
0
-3
-67
-9
0
0
-3
-71
-36
0
0
-46
-76
13
0
0
-94
33
-20
0
0
-7
20
10
0
0
6
-6
73
0
0
24
13
-52
0
0
39
-32
34
0
0
-28
-29
12
0
0
-25
-5
9
0
0
-30
8
-36
6
6
-10
-56
-37
0
0
-25
-15
4
0
0
8
-18
-6
0
0
-31
14
-21
0
0
46
6
-8
0
0
-3
-8
-3
0
0
-8
-14
5
0
0
-8
5
0
0
0
-48
13
-15
0
0
-4
19
1
0
0
0
0
0
0
0
-2
13
2
0
0
-72
-25
31
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-9
10
3
0
0
3
-88
-30
0
0
-37
-2
-15
0
0
-3
60
-37
0
0
-45
-6
-68
0
0
12
26
-3
0
0
2
-20
12
0
0
-44
32
-32
0
0
-10
-11
-41
0
0
15
-10
-38
0
0
5
27
-42
0
0
-32
-4
-74
0
0
10
-30
24
0
0
2
-54
74
0
0
55
26
45
0
0
19
15
-15
-47
-12
-83
-52
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
19
35
0
0
0
-9
28
0
0
52
75
-15
0
0
47
47
-10
0
0
53
12
-19
0
0
42
30
-6
0
0
-12
17
13
0
0
8
-49
76
0
0
41
116
-37
0
0
-41
24
-39
0
0
12
60
-4
0
0
14
48
95
0
0
77
-27
40
0
0
-8
5
3
0
0
50
12
-22
0
0
37
85
32
0
0
55
8
13
0
0
-43
51
120
0
0
45
-54
2
0
0
10
10
76
0
0
-103
92
16
0
0
-16
35
4
0
0
28
-44
25
0
0
4
76
-4
0
0
102
-69
74
0
0
-20
68
49
0
0
-10
8
28
0
0
38
-17
-43
0
0
-52
-36
-32
0
0
19
8
-15
0
0
-41
6
-29
6
21
-26
29
98
0
0
25
16
-13
0
0
12
49
41
0
0
50
43
0
0
0
26
53
13
0
0
-56
-30
0
0
0
-9
87
11
0
0
10
52
20
0
0
46
-26
59
0
0
31
-18
32
0
0
47
44
-17
0
0
-41
34
34
0
0
62
0
24
0
0
-7
55
-13
0
0
37
-17
4
0
0
49
-40
8
0
0
-14
20
59
0
0
59
47
-43
0
0
-78
74
45
0
0
6
41
11
0
0
-18
1
-24
0
0
1
-17
2
0
0
16
-29
10
0
0
-8
-9
-1
0
0
25
-23
43
0
0
-22
25
32
0
0
48
37
10
0
0
-20
68
-22
0
0
73
33
2
0
0
6
8
-16
0
0
-10
-1
51
0
0
30
-13
29
6
20
-11
-101
-3
0
0
19
-12
50
0
0
35
89
-29
0
0
80
58
-22
0
0
-22
38
-46
0
0
-30
7
18
0
0
-16
25
27
0
0
70
-31
-1
0
0
-18
94
28
0
0
1
46
-14
0
0
-6
-9
45
0
0
-14
18
4
0
0
24
55
-27
0
0
-13
-6
-5
0
0
-1
18
-25
0
0
23
40
-8
0
0
39
50
-1
0
0
53
34
2
0
0
53
-62
28
0
0
8
3
-7
0
0
20
5
-13
0
0
-36
1
15
0
0
-43
0
-1
0
0
2
-29
8
0
0
49
-35
56
0
0
2
17
21
0
0
27
-54
10
0
0
0
-5
-29
0
0
16
-16
6
0
0
18
1
15
0
0
18
-20
10
0
0
97
-28
-15
35
29
-141
-47
10
0
0
-29
-6
-6
0
0
8
47
48
0
0
48
19
-10
0
0
-16
-41
-18
0
0
-39
67
33
0
0
12
-12
-33
0
0
-36
18
8
0
0
6
19
-50
0
0
34
14
32
0
0
23
28
-22
0
0
44
-69
30
0
0
51
71
-4
0
0
16
55
-2
0
0
-4
-1
-4
0
0
33
8
-8
0
0
72
-52
-36
0
0
35
7
13
0
0
-88
74
30
0
0
2
-10
-24
0
0
7
6
-7
0
0
-6
44
-18
0
0
-2
-12
16
0
0
2
-22
-6
0
0
-4
-24
49
0
0
14
-48
2
0
0
2
-12
-9
0
0
7
-45
-6
0
0
57
-3
46
0
0
-36
-7
7
0
0
-15
0
-4
0
0
-27
-80
-56
-11
-2
3
9
65
0
0
20
29
20
0
0
25
38
-3
0
0
-27
-39
-7
0
0
-20
19
7
0
0
-21
45
7
0
0
11
-2
25
0
0
24
-8
0
0
0
9
36
34
0
0
12
42
-4
0
0
5
-19
-5
0
0
50
-7
-5
0
0
-50
38
4
0
0
-4
-4
0
0
0
0
13
-3
0
0
-3
13
12
0
0
-22
19
5
0
0
31
-30
-1
0
0
28
8
9
0
0
-8
-4
-1
0
0
4
-15
-1
0
0
17
25
1
0
0
20
16
10
0
0
5
-5
-1
0
0
-8
-25
-6
0
0
22
-12
16
0
0
40
-72
-14
0
0
0
16
7
0
0
-20
-63
-12
0
0
-17
76
1
0
0
7
-10
2
0
0
-4
9
-1
4
2
-37
39
2
0
0
-36
-10
4
0
0
15
62
-39
0
0
-93
87
28
0
0
57
4
36
0
0
60
-55
23
0
0
29
-28
-4
0
0
-9
0
-1
0
0
-9
-30
-2
0
0
84
-2
-10
0
0
66
-19
22
0
0
-26
20
-8
0
0
-47
-19
13
0
0
-6
-3
-1
0
0
5
7
-2
0
0
4
30
0
0
0
-15
63
3
0
0
-54
33
-25
0
0
19
13
24
0
0
-2
15
-2
0
0
25
-13
-1
0
0
1
-14
0
0
0
-8
-41
0
0
0
0
2
-1
0
0
-12
-42
0
0
0
-9
-28
-4
0
0
46
-18
6
0
0
-25
39
-25
0
0
30
-12
-10
0
0
17
-17
-6
0
0
-74
20
-32
0
0
-8
67
-2
-14
10
-1
-56
8
0
0
38
11
30
0
0
77
-47
-50
0
0
-43
-8
-23
0
0
106
54
-42
0
0
21
3
3
0
0
-8
5
-5
0
0
7
9
-2
0
0
35
26
-12
0
0
19
5
1
0
0
-19
9
-3
0
0
0
-6
8
0
0
7
-10
0
0
0
0
8
2
0
0
0
5
0
0
0
0
-7
0
0
0
-23
5
-2
0
0
15
33
-5
0
0
-39
1
-2
0
0
4
-2
0
0
0
-31
6
0
0
0
5
3
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-10
-2
0
0
11
3
0
0
0
5
7
0
0
0
-1
-4
-6
0
0
-7
4
6
0
0
5
-29
2
0
0
-5
-3
2
0
0
-6
-15
1
21
-30
18
-21
-3
0
0
-11
52
58
0
0
36
-4
-1
0
0
-42
50
-20
0
0
-27
62
19
0
0
-4
-9
21
0
0
42
16
-24
0
0
-6
41
4
0
0
4
-11
-25
0
0
52
33
5
0
0
-1
32
-13
0
0
-5
0
-8
0
0
103
-16
5
0
0
-9
8
5
0
0
1
-5
0
0
0
0
27
-12
0
0
-34
-10
-7
0
0
-31
6
-10
0
0
-35
-23
6
0
0
-7
2
1
0
0
85
12
0
0
0
0
16
-9
0
0
0
5
0
0
0
-1
9
0
0
0
8
30
-1
0
0
1
-12
9
0
0
-19
-14
14
0
0
-3
21
2
0
0
8
5
6
0
0
-23
8
28
0
0
-6
29
-30
0
0
19
-7
5
-29
5
-4
-6
-10
0
0
-7
33
14
0
0
41
37
-22
0
0
69
4
-33
0
0
-30
-41
60
0
0
-44
-49
6
0
0
88
0
-13
0
0
-23
8
2
0
0
80
-4
9
0
0
-26
19
-20
0
0
40
22
27
0
0
47
-45
7
0
0
99
-70
-5
0
0
32
-27
22
0
0
2
0
24
0
0
29
3
9
0
0
-56
64
-49
0
0
-55
23
3
0
0
-36
-7
-41
0
0
34
-3
1
0
0
-46
-14
14
0
0
20
28
0
0
0
-1
41
10
0
0
-2
38
7
0
0
38
-45
6
0
0
4
64
-7
0
0
-2
-16
-4
0
0
-3
4
6
0
0
0
22
-17
0
0
-19
77
9
0
0
1
29
6
0
0
10
43
-6
16
2
-41
-6
5
0
0
-17
60
29
0
0
-10
25
-7
0
0
-19
41
-3
0
0
9
-29
-21
0
0
1
14
8
0
0
100
-24
29
0
0
5
5
0
0
0
-20
4
-3
0
0
50
-8
13
0
0
14
-56
13
0
0
45
-23
-14
0
0
-2
3
5
0
0
0
19
-4
0
0
-4
-3
-3
0
0
-7
-8
0
0
0
-23
30
29
0
0
39
16
-8
0
0
-32
27
-8
0
0
-22
-9
-3
0
0
1
-17
0
0
0
25
5
1
0
0
-1
10
-4
0
0
-2
-22
-2
0
0
48
-4
-7
0
0
-22
70
-25
0
0
-28
53
5
0
0
0
32
-7
0
0
-4
27
-18
0
0
14
-20
-6
0
0
-5
-13
11
0
0
0
25
14
4
-17
16
-1
1
0
0
59
-59
28
0
0
1
15
32
0
0
-44
32
16
0
0
-4
0
10
0
0
-18
7
6
0
0
31
9
-3
0
0
-6
-1
0
0
0
23
30
5
0
0
8
-38
6
0
0
5
-14
4
0
0
-21
22
-1
0
0
41
-17
8
0
0
3
12
-1
0
0
-1
0
-1
0
0
-3
2
0
0
0
-38
-6
0
0
0
29
-15
1
0
0
4
20
6
0
0
-1
8
5
0
0
-4
-2
-6
0
0
21
-24
-5
0
0
-2
-3
-25
0
0
0
1
-4
0
0
-6
6
8
0
0
0
40
-16
0
0
19
-4
2
0
0
0
7
1
0
0
-1
-22
-3
0
0
1
-13
1
0
0
2
5
0
0
0
16
7
0
6
-43
24
-35
-24
0
0
22
-25
31
0
0
33
36
-79
0
0
-22
-22
5
0
0
82
5
7
0
0
20
90
-8
0
0
-6
-22
19
0
0
-5
-13
-6
0
0
26
31
8
0
0
-16
54
-4
0
0
22
2
19
0
0
30
5
-6
0
0
3
12
4
0
0
0
3
0
0
0
-2
7
0
0
0
-3
13
6
0
0
-34
-19
-19
0
0
-4
42
0
0
0
7
-49
-8
0
0
-8
-31
0
0
0
-46
-15
4
0
0
15
-12
1
0
0
0
5
-5
0
0
-3
-9
3
0
0
-3
17
2
0
0
13
9
1
0
0
-8
13
-3
0
0
1
-9
-5
0
0
-82
23
9
0
0
-2
-46
1
0
0
-1
8
-5
0
0
-13
-49
-1
33
-1
-86
-68
-34
0
0
15
25
19
0
0
2
-2
40
0
0
-9
69
1
0
0
-35
-15
-18
0
0
50
-14
4
0
0
-32
0
1
0
0
9
-8
5
0
0
-44
27
0
0
0
-8
9
0
0
0
-9
9
-1
0
0
13
19
2
0
0
-34
4
10
0
0
0
-1
1
0
0
0
0
0
0
0
0
-5
4
0
0
46
8
0
0
0
-6
-22
-16
0
0
41
10
25
0
0
2
-6
-6
0
0
15
20
1
0
0
-21
3
-3
0
0
2
-5
0
0
0
0
9
0
0
0
-29
-16
-20
0
0
10
34
0
0
0
-3
6
5
0
0
0
-7
1
0
0
-3
8
-8
0
0
4
-25
0
0
0
-3
-6
1
0
0
25
5
-1
6
-6
8
27
-6
0
0
-39
-32
59
0
0
-37
-11
-9
0
0
21
-32
25
0
0
20
-4
-12
0
0
-6
3
-18
0
0
29
42
0
0
0
-3
-2
1
0
0
-48
47
-2
0
0
48
-4
12
0
0
5
-21
2
0
0
4
-24
0
0
0
-82
-40
2
0
0
0
29
0
0
0
-2
14
0
0
0
1
5
0
0
0
16
0
0
0
0
-9
-27
0
0
0
23
-7
-1
0
0
8
-3
1
0
0
-45
10
5
0
0
0
-7
4
0
0
1
0
-5
0
0
0
1
0
0
0
3
2
0
0
0
7
36
-10
0
0
7
-23
1
0
0
-2
-4
3
0
0
-9
-19
0
0
0
-6
21
-3
0
0
6
-29
-1
0
0
9
10
-2
1
-7
41
1
4
0
0
97
114
-14
0
0
10
15
-8
0
0
1
-11
-44
0
0
-21
77
67
0
0
5
48
-2
0
0
18
18
-4
0
0
4
1
-2
0
0
11
-28
-2
0
0
-10
-2
-2
0
0
13
2
-16
0
0
-23
29
4
0
0
-12
2
13
0
0
0
-1
0
0
0
0
2
0
0
0
-1
7
0
0
0
8
-8
0
0
0
12
6
-5
0
0
-36
-20
0
0
0
-4
6
0
0
0
-6
19
-2
0
0
-14
0
-1
0
0
-1
-1
-5
0
0
0
-6
0
0
0
-8
-25
-4
0
0
-1
8
7
0
0
12
1
2
0
0
-2
-9
0
0
0
-2
-3
3
0
0
5
-40
0
0
0
2
19
0
0
0
-16
5
-1
-5
-2
20
-22
20
0
0
-48
34
-23
0
0
52
63
-24
0
0
8
25
39
0
0
26
-4
10
0
0
-44
-38
24
0
0
30
-30
-6
0
0
-8
5
-5
0
0
16
24
-9
0
0
-8
-18
8
0
0
17
-43
2
0
0
9
13
-3
0
0
6
-18
-2
0
0
-7
-40
0
0
0
-3
0
0
0
0
0
0
-7
0
0
27
-17
-2
0
0
7
27
44
0
0
-17
-33
-10
0
0
8
34
-4
0
0
-47
73
-1
0
0
-3
18
-7
0
0
-5
-1
-5
0
0
-1
1
1
0
0
-19
-72
-14
0
0
1
3
-1
0
0
-28
4
-1
0
0
0
8
1
0
0
12
-18
-1
0
0
42
13
2
0
0
-3
-22
0
0
0
-19
-24
13
-5
23
8
-48
-6
0
0
-38
55
-23
0
0
40
44
6
0
0
9
-112
-15
0
0
31
88
8
0
0
-3
39
-4
0
0
28
-55
-7
0
0
-48
7
0
0
0
25
-49
1
0
0
-36
57
4
0
0
-6
-16
2
0
0
-50
10
8
0
0
-76
5
-17
0
0
-31
103
-12
0
0
24
5
3
0
0
-26
11
3
0
0
-17
25
-1
0
0
18
-3
7
0
0
23
11
11
0
0
17
-27
4
0
0
22
-11
-19
0
0
37
23
17
0
0
-3
20
15
0
0
-2
52
-39
0
0
26
4
6
0
0
29
10
-33
0
0
26
8
-7
0
0
5
16
-40
0
0
-38
20
-25
0
0
-86
17
-21
0
0
31
-3
41
0
0
-35
7
14
11
2
-83
-14
-16
0
0
-29
22
-1
0
0
3
60
-41
0
0
-12
32
11
0
0
35
5
42
0
0
56
-42
-3
0
0
4
69
34
0
0
-6
-5
0
0
0
-16
6
-26
0
0
-8
-33
1
0
0
4
-36
-3
0
0
-1
57
17
0
0
26
27
18
0
0
-62
47
-6
0
0
-5
7
-31
0
0
-37
127
-27
0
0
56
-87
-46
0
0
-1
0
-4
0
0
23
17
-15
0
0
1
13
20
0
0
-17
6
-22
0
0
-1
-20
9
0
0
-54
17
-7
0
0
-11
-34
52
0
0
-63
52
17
0
0
11
-65
-9
0
0
-61
9
-2
0
0
-17
-93
27
0
0
-1
-14
14
0
0
50
-8
-28
0
0
-52
-30
4
0
0
-21
-4
-15
-6
-5
4
-22
66
0
0
20
76
-17
0
0
6
48
28
0
0
-57
13
-3
0
0
-9
4
7
0
0
4
-31
1
0
0
-41
3
-2
0
0
0
-1
-1
0
0
49
-16
3
0
0
-1
-5
0
0
0
-12
5
0
0
0
-2
8
-2
0
0
-6
-3
3
0
0
3
-6
0
0
0
-4
-1
1
0
0
5
-21
0
0
0
26
2
-10
0
0
8
0
12
0
0
-19
30
-19
0
0
21
42
32
0
0
-14
-7
25
0
0
-82
24
8
0
0
25
-53
20
0
0
-8
-32
-72
0
0
-152
-16
27
0
0
11
-31
-41
0
0
-47
-69
67
0
0
-36
-27
-20
0
0
-28
8
5
0
0
-13
-15
-62
0
0
-70
-34
3
0
0
-44
-21
-22
-7
1
30
7
-22
0
0
33
-29
-11
0
0
21
3
6
0
0
43
-9
-50
0
0
-49
12
-7
0
0
-1
12
-4
0
0
8
1
-2
0
0
-5
4
2
0
0
55
1
0
0
0
-29
48
0
0
0
10
1
-1
0
0
3
-23
6
0
0
6
-1
5
0
0
-2
5
-2
0
0
2
-22
0
0
0
-2
6
1
0
0
-16
45
30
0
0
-14
-41
-68
0
0
-35
-9
-22
0
0
-29
-11
9
0
0
-24
11
-50
0
0
-24
-9
-60
0
0
-66
-43
-34
0
0
39
17
-6
0
0
-92
-53
17
0
0
-77
-34
28
0
0
40
0
-54
0
0
-49
68
6
0
0
-19
27
35
0
0
53
15
19
0
0
-67
-19
53
0
0
-50
4
-57
-14
-19
-36
10
-8
0
0
3
71
34
0
0
54
-15
10
0
0
0
-44
-10
0
0
-22
-15
11
0
0
40
-13
1
0
0
4
-7
-1
0
0
2
0
0
0
0
21
8
-1
0
0
19
-41
0
0
0
13
1
0
0
0
-1
-23
-2
0
0
-12
-13
7
0
0
15
3
0
0
0
0
-19
0
0
0
-4
2
3
0
0
75
19
2
0
0
-28
0
-16
0
0
-11
1
10
0
0
-44
53
46
0
0
-11
-12
-7
0
0
-48
-19
-90
0
0
24
-41
4
0
0
-41
-14
-15
0
0
64
47
-15
0
0
37
30
-19
0
0
-35
-5
2
0
0
-10
23
60
0
0
87
-29
26
0
0
-5
23
69
0
0
-2
1
8
0
0
-28
-10
-27
-3
0
26
-23
-26
0
0
30
-10
6
0
0
19
0
31
0
0
72
18
-24
0
0
-79
23
22
0
0
12
-15
0
0
0
-8
0
-3
0
0
-2
2
0
0
0
6
8
0
0
0
41
7
-1
0
0
-20
34
0
0
0
-1
20
4
0
0
-45
40
0
0
0
0
-22
-1
0
0
0
0
0
0
0
0
-12
1
0
0
-62
-11
24
0
0
-28
-30
-7
0
0
-17
70
-15
0
0
-21
-35
-39
0
0
-37
-21
8
0
0
-11
-104
38
0
0
60
33
49
0
0
-33
70
-8
0
0
23
31
-74
0
0
12
9
-10
0
0
35
10
12
0
0
-79
-10
-9
0
0
-4
14
4
0
0
25
-10
-19
0
0
26
59
-12
0
0
20
-16
20
1
-10
-31
-69
6
0
0
39
50
5
0
0
-3
-9
-32
0
0
5
16
0
0
0
68
-80
3
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
20
-1
1
0
0
0
14
0
0
0
-1
0
0
0
0
1
4
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-9
3
0
0
-12
-27
1
0
0
39
-33
-80
0
0
-37
18
3
0
0
-29
16
32
0
0
31
12
15
0
0
11
-37
-67
0
0
-16
-3
-46
0
0
12
30
24
0
0
-97
-26
-11
0
0
4
12
8
0
0
-28
-19
-55
0
0
-38
-45
-50
0
0
5
-12
-21
0
0
1
33
-8
0
0
-5
-4
15
-19
-8
-6
-44
12
0
0
-23
-45
23
0
0
-13
-25
-19
0
0
38
-5
16
0
0
-20
33
2
0
0
2
3
1
0
0
0
-2
1
0
0
0
1
0
0
0
-4
5
0
0
0
-4
-15
0
0
0
0
0
0
0
0
-24
-10
0
0
0
-25
42
1
0
0
0
-6
0
0
0
7
0
0
0
0
-2
-4
0
0
0
-4
-14
-3
0
0
-24
-10
59
0
0
-20
-41
-86
0
0
-7
-52
12
0
0
9
35
-44
0
0
9
10
19
0
0
26
-8
-90
0
0
13
-104
-3
0
0
-33
-9
-31
0
0
-17
3
30
0
0
-48
24
-32
0
0
52
30
-36
0
0
52
12
-48
0
0
-8
7
31
0
0
2
3
-25
0
0
-9
-57
-45
-10
-23
-56
65
17
0
0
2
-14
3
0
0
-49
-80
107
0
0
47
21
13
0
0
-20
8
-21
0
0
-21
-27
-14
0
0
-48
13
62
0
0
14
1
1
0
0
-19
15
1
0
0
66
-12
-1
0
0
14
-6
7
0
0
10
-36
-9
0
0
29
-58
8
0
0
46
15
-10
0
0
2
-5
7
0
0
10
1
4
0
0
43
73
-6
0
0
21
-59
33
0
0
12
12
-18
0
0
31
12
23
0
0
45
19
12
0
0
120
19
-17
0
0
-70
78
11
0
0
21
-35
8
0
0
-76
39
-12
0
0
11
10
-4
0
0
21
11
24
0
0
3
13
7
0
0
-15
5
3
0
0
-12
-27
22
0
0
-9
-6
76
0
0
-15
11
46
9
-3
-48
-2
-68
0
0
-24
52
-3
0
0
27
13
-15
0
0
22
12
-28
0
0
-58
21
23
0
0
80
-4
-1
0
0
-38
-32
13
0
0
-27
5
0
0
0
-48
19
9
0
0
8
16
-18
0
0
36
5
-3
0
0
40
-4
-2
0
0
2
-3
-5
0
0
-14
3
2
0
0
2
-4
5
0
0
-6
19
2
0
0
6
-48
-36
0
0
28
65
1
0
0
-9
-30
20
0
0
2
-2
108
0
0
22
-37
-65
0
0
-41
-20
11
0
0
40
-13
18
0
0
58
-75
-24
0
0
-4
17
-41
0
0
-5
8
12
0
0
21
40
30
0
0
-21
-8
-21
0
0
-96
13
-24
0
0
14
-4
37
0
0
63
2
-55
0
0
35
15
41
-37
-11
-7
40
90
0
0
20
51
6
0
0
11
-4
-35
0
0
30
53
16
0
0
-136
19
-1
0
0
30
-14
3
0
0
17
-6
-1
0
0
0
-3
0
0
0
1
20
-8
0
0
-2
-9
0
0
0
5
2
0
0
0
-5
2
1
0
0
-3
9
-2
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-3
0
0
0
46
-3
1
0
0
-25
-29
-79
0
0
16
-57
-13
0
0
-77
-23
-3
0
0
-41
-68
53
0
0
-45
-27
-13
0
0
3
-26
-25
0
0
0
-24
-50
0
0
7
-17
-1
0
0
-23
14
39
0
0
-4
4
-21
0
0
138
-5
8
0
0
16
-42
7
0
0
-17
37
-10
0
0
2
38
95
0
0
52
-59
6
-6
-15
23
12
115
0
0
-28
-38
11
0
0
17
-7
3
0
0
1
37
10
0
0
-11
-75
30
0
0
41
-29
30
0
0
-4
10
24
0
0
0
2
-1
0
0
-51
-18
-5
0
0
-19
14
1
0
0
-12
0
2
0
0
-8
3
1
0
0
-22
38
-1
0
0
-1
-3
0
0
0
2
0
0
0
0
-1
2
0
0
0
26
-38
0
0
0
-37
-35
-53
0
0
-7
8
21
0
0
-95
41
-58
0
0
30
-7
2
0
0
7
5
-7
0
0
1
-30
8
0
0
22
-57
-3
0
0
-44
32
-6
0
0
-12
17
-42
0
0
-36
11
30
0
0
-27
-19
-17
0
0
53
-18
8
0
0
-20
-39
65
0
0
58
-9
16
0
0
12
66
-89
-20
-26
56
-95
-46
0
0
60
54
-4
0
0
43
-23
15
0
0
27
-2
6
0
0
-18
32
-65
0
0
-28
50
5
0
0
-27
-4
-31
0
0
1
-6
-2
0
0
90
-20
3
0
0
-10
45
-19
0
0
18
8
3
0
0
-9
-2
-1
0
0
16
14
-15
0
0
-14
5
0
0
0
-7
6
-2
0
0
-13
0
1
0
0
-5
-8
-29
0
0
-40
-11
45
0
0
-23
-3
-52
0
0
-6
7
9
0
0
20
-11
-31
0
0
-21
10
-58
0
0
21
-5
-8
0
0
10
-21
23
0
0
-3
20
-30
0
0
23
-21
-9
0
0
31
-19
-10
0
0
-4
22
-36
0
0
6
-34
11
0
0
45
8
27
0
0
-45
44
-22
0
0
-6
-89
10
3
-17
-3
35
61
0
0
67
-50
49
0
0
9
-46
-45
0
0
0
32
23
0
0
14
28
0
0
0
42
-25
0
0
0
6
-4
-41
0
0
-2
-1
0
0
0
-63
-9
1
0
0
12
18
-8
0
0
-26
-8
29
0
0
-1
22
0
0
0
10
-42
3
0
0
3
1
-1
0
0
-6
3
3
0
0
1
1
2
0
0
-57
12
1
0
0
-54
-26
4
0
0
-40
-24
-5
0
0
-55
-15
12
0
0
-41
-2
10
0
0
74
-10
1
0
0
13
-28
0
0
0
2
23
-47
0
0
-71
1
1
0
0
-8
-2
60
0
0
-15
15
17
0
0
17
-95
17
0
0
-76
-9
-76
0
0
73
66
-39
0
0
-5
-66
18
0
0
8
44
13
-16
1
-13
19
29
0
0
46
-75
15
0
0
-14
-24
29
0
0
11
-3
15
0
0
50
34
-38
0
0
8
25
0
0
0
14
4
8
0
0
4
4
0
0
0
-82
-12
-4
0
0
-44
2
-2
0
0
-41
16
9
0
0
0
-19
3
0
0
-4
8
-3
0
0
0
-6
1
0
0
0
1
0
0
0
-1
-24
3
0
0
-17
-14
-14
0
0
-2
-68
55
0
0
7
30
-59
0
0
-77
22
-77
0
0
39
-47
-41
0
0
1
-90
-34
0
0
-8
-8
3
0
0
0
-28
48
0
0
-11
18
-11
0
0
-15
-22
25
0
0
27
-35
-20
0
0
-42
-12
-59
0
0
9
-11
-20
0
0
-10
18
-41
0
0
26
-12
-21
0
0
-17
-16
0
11
13
-38
-7
-96
0
0
-53
56
17
0
0
26
-58
25
0
0
-14
0
-5
0
0
-12
-32
-41
0
0
9
-5
3
0
0
-24
4
-3
0
0
1
-23
0
0
0
6
-29
-17
0
0
-12
-32
17
0
0
-13
-8
-2
0
0
3
-7
-5
0
0
-19
-3
13
0
0
8
-5
3
0
0
0
-8
0
0
0
9
-1
1
0
0
-8
-15
-22
0
0
-22
-43
2
0
0
19
-39
21
0
0
-62
-29
-43
0
0
52
-7
22
0
0
-77
-31
-54
0
0
-29
-5
-41
0
0
-8
2
-6
0
0
-24
-51
-1
0
0
-37
16
25
0
0
61
-8
-68
0
0
-12
-11
51
0
0
-21
3
-53
0
0
-15
-1
39
0
0
-64
-56
14
0
0
33
-58
-88
9
-6
-15
-64
-123
0
0
29
-6
-33
0
0
31
72
12
0
0
36
13
-3
0
0
57
21
89
0
0
8
26
17
0
0
11
40
21
0
0
-20
-34
20
0
0
-34
21
17
0
0
4
22
-6
0
0
-36
-50
5
0
0
-20
31
44
0
0
24
90
4
0
0
29
-25
10
0
0
0
12
37
0
0
-20
69
26
0
0
33
54
30
0
0
-66
40
-52
0
0
6
2
73
0
0
-9
26
-2
0
0
-25
16
31
0
0
4
73
-2
0
0
75
-3
-10
0
0
-17
9
8
0
0
37
-36
55
0
0
24
-27
-7
0
0
-16
28
19
0
0
-45
68
-18
0
0
4
25
7
0
0
71
31
-16
0
0
13
32
-2
0
0
-2
-4
-20
20
13
-29
29
23
0
0
13
21
15
0
0
-4
53
16
0
0
52
59
12
0
0
24
33
4
0
0
27
1
85
0
0
30
17
-35
0
0
-20
62
17
0
0
7
-56
27
0
0
76
15
17
0
0
17
56
16
0
0
17
-24
20
0
0
-26
72
6
0
0
-51
73
-6
0
0
7
10
31
0
0
15
-45
42
0
0
1
-33
35
0
0
13
-40
-20
0
0
5
65
10
0
0
-4
46
-6
0
0
-3
50
-7
0
0
-27
-21
61
0
0
25
-51
-19
0
0
-2
11
42
0
0
15
-43
16
0
0
42
16
-12
0
0
20
31
29
0
0
-17
8
-33
0
0
85
-17
-20
0
0
50
17
0
0
0
67
-14
20
0
0
38
27
-40
12
-1
-27
-10
69
0
0
10
-14
112
0
0
-25
18
-39
0
0
10
-9
-21
0
0
24
50
15
0
0
-2
-6
30
0
0
88
28
31
0
0
-7
41
6
0
0
-6
51
5
0
0
-26
9
9
0
0
-43
-34
17
0
0
28
-4
-33
0
0
30
7
26
0
0
-4
40
-3
0
0
-2
11
-29
0
0
8
57
-59
0
0
-87
30
-25
0
0
71
39
-9
0
0
16
5
23
0
0
35
-42
-8
0
0
-29
4
25
0
0
10
16
0
0
0
-27
0
0
0
0
-1
16
4
0
0
-47
24
40
0
0
37
28
11
0
0
31
26
-13
0
0
-11
3
-6
0
0
8
-67
30
0
0
-59
21
-4
0
0
24
22
20
0
0
-68
29
5
28
-5
61
-57
26
0
0
11
17
-44
0
0
39
-26
36
0
0
28
-14
-24
0
0
32
13
-16
0
0
13
2
26
0
0
-11
56
15
0
0
-33
-14
-7
0
0
-7
-21
87
0
0
-43
54
-5
0
0
52
28
-19
0
0
-26
102
49
0
0
41
26
-42
0
0
-8
-24
3
0
0
-7
30
9
0
0
-50
29
-4
0
0
-59
81
15
0
0
33
-7
46
0
0
-48
-22
28
0
0
-8
31
-8
0
0
8
2
-9
0
0
87
22
-5
0
0
-53
-33
-2
0
0
4
-23
1
0
0
-88
-31
25
0
0
39
-2
-44
0
0
14
-7
-20
0
0
8
9
-41
0
0
23
-60
9
0
0
69
-21
2
0
0
-17
50
21
0
0
98
-110
-38
10
9
-43
-69
-47
0
0
6
17
-4
0
0
59
-9
-26
0
0
49
17
-22
0
0
-36
64
-6
0
0
-5
-20
3
0
0
-25
42
56
0
0
2
1
1
0
0
59
9
-1
0
0
8
9
-1
0
0
-31
13
6
0
0
13
-9
-2
0
0
-13
4
30
0
0
-8
5
-3
0
0
-6
0
10
0
0
-1
-1
8
0
0
-2
20
5
0
0
-18
5
0
0
0
-13
16
5
0
0
19
-13
0
0
0
29
0
5
0
0
0
7
0
0
0
-8
-4
0
0
0
0
0
0
0
0
-8
-2
2
0
0
-19
16
19
0
0
58
14
-28
0
0
1
-8
-2
0
0
9
17
-19
0
0
19
-26
2
0
0
0
-22
6
0
0
-14
1
-8
9
0
-43
5
-20
0
0
38
22
-1
0
0
26
23
-46
0
0
10
-13
16
0
0
-24
-25
1
0
0
-6
2
-25
0
0
-38
16
3
0
0
11
-10
0
0
0
1
-30
-41
0
0
42
43
2
0
0
20
13
-7
0
0
-14
16
-2
0
0
-9
-3
-6
0
0
8
14
0
0
0
0
13
1
0
0
25
-6
-6
0
0
-27
30
1
0
0
37
-5
-1
0
0
5
24
4
0
0
-17
-1
-3
0
0
-25
30
0
0
0
-40
4
0
0
0
-1
31
8
0
0
0
4
0
0
0
-6
-2
-2
0
0
-13
24
17
0
0
-18
-7
1
0
0
3
-24
0
0
0
-32
20
-13
0
0
60
-82
-14
0
0
13
-13
-6
0
0
21
-1
0
9
21
-73
-56
16
0
0
13
96
26
0
0
-27
-20
24
0
0
-18
-19
15
0
0
52
47
-1
0
0
40
18
4
0
0
-30
16
24
0
0
-16
0
-2
0
0
86
-8
-4
0
0
-24
-27
1
0
0
-2
5
-2
0
0
4
-6
-1
0
0
4
-10
-1
0
0
0
0
0
0
0
0
-6
-2
0
0
-4
2
-1
0
0
45
-15
-4
0
0
20
23
0
0
0
-4
-15
3
0
0
-10
2
1
0
0
-9
1
0
0
0
-9
0
0
0
0
3
-3
-7
0
0
-1
-3
0
0
0
-12
-9
0
0
0
1
8
2
0
0
0
30
0
0
0
0
6
0
0
0
-4
15
-3
0
0
-1
2
0
0
0
-4
16
-5
0
0
3
7
0
-30
-12
12
-9
-13
0
0
48
87
17
0
0
-7
6
44
0
0
-53
53
-1
0
0
0
10
-65
0
0
-45
47
-5
0
0
83
-27
-3
0
0
-8
-26
6
0
0
58
-8
15
0
0
-11
74
7
0
0
11
8
3
0
0
62
-42
0
0
0
-16
-15
-1
0
0
0
12
0
0
0
5
25
1
0
0
8
18
-3
0
0
-42
-21
1
0
0
-43
-22
-5
0
0
-25
4
23
0
0
20
-14
2
0
0
28
1
8
0
0
0
-7
1
0
0
-5
30
1
0
0
0
1
0
0
0
-5
-18
-9
0
0
-11
-39
9
0
0
9
-22
-4
0
0
0
-29
0
0
0
16
-16
0
0
0
55
-5
-8
0
0
15
-30
4
0
0
-5
47
8
26
-31
-137
-56
41
0
0
23
-9
15
0
0
6
27
-1
0
0
-16
21
44
0
0
-26
55
-8
0
0
20
2
-2
0
0
42
-8
5
0
0
-6
-6
0
0
0
35
-32
-22
0
0
46
-12
4
0
0
98
-11
8
0
0
14
28
0
0
0
20
-57
25
0
0
-14
-6
0
0
0
2
2
-1
0
0
1
18
4
0
0
30
-13
-7
0
0
-29
18
1
0
0
7
40
-12
0
0
12
5
-5
0
0
10
13
-1
0
0
-6
9
8
0
0
0
18
3
0
0
-3
-23
2
0
0
13
24
29
0
0
15
1
-7
0
0
10
25
-9
0
0
-3
-4
8
0
0
-18
-26
-1
0
0
-24
32
-5
0
0
-1
6
7
0
0
-23
19
2
-10
-14
32
40
7
0
0
39
11
7
0
0
31
-86
-3
0
0
67
73
-12
0
0
-9
15
13
0
0
32
-29
-1
0
0
24
12
6
0
0
-3
-12
0
0
0
-11
-7
0
0
0
21
-7
5
0
0
10
47
3
0
0
-35
-6
-5
0
0
9
-19
-13
0
0
2
9
0
0
0
-5
-8
9
0
0
1
25
8
0
0
-34
0
-7
0
0
18
-6
0
0
0
-15
-1
-2
0
0
0
2
0
0
0
-33
-1
-4
0
0
-10
-30
0
0
0
3
-4
0
0
0
-2
-5
0
0
0
-40
24
0
0
0
-8
-29
0
0
0
-9
-1
7
0
0
-2
2
0
0
0
-44
25
-3
0
0
6
7
10
0
0
-17
41
-3
0
0
-15
0
5
10
6
-22
22
3
0
0
19
96
13
0
0
6
3
18
0
0
17
66
37
0
0
-6
-29
-41
0
0
48
-4
2
0
0
5
-2
-1
0
0
1
-8
1
0
0
-31
50
6
0
0
-35
14
-25
0
0
44
-29
17
0
0
8
-15
15
0
0
2
-23
42
0
0
-1
8
7
0
0
0
-19
1
0
0
0
9
-2
0
0
26
-16
-27
0
0
30
-18
0
0
0
4
22
-5
0
0
-2
0
0
0
0
33
-15
-1
0
0
-5
14
-9
0
0
-3
8
-2
0
0
0
-4
2
0
0
5
-4
-9
0
0
-12
46
-5
0
0
-7
-34
8
0
0
3
-7
0
0
0
8
-7
5
0
0
4
32
1
0
0
0
2
8
0
0
8
-33
6
10
32
-45
23
17
0
0
-39
-19
47
0
0
12
-39
36
0
0
28
42
-61
0
0
16
-18
-63
0
0
0
-10
-3
0
0
-15
21
10
0
0
5
13
0
0
0
4
18
-7
0
0
97
-46
2
0
0
8
5
5
0
0
-35
-3
-23
0
0
5
-10
-9
0
0
1
8
-2
0
0
0
-4
2
0
0
1
-8
-5
0
0
18
-29
-1
0
0
37
29
8
0
0
-35
40
1
0
0
5
5
-3
0
0
-18
3
0
0
0
-12
-7
-13
0
0
0
-1
0
0
0
0
-6
-2
0
0
38
5
24
0
0
-7
-5
0
0
0
3
-4
9
0
0
-1
-8
-5
0
0
-16
-25
4
0
0
-22
46
2
0
0
-1
-5
0
0
0
1
-17
-2
9
3
-101
-16
-25
0
0
34
27
-22
0
0
25
7
-3
0
0
-20
52
7
0
0
-30
18
-4
0
0
-5
2
-13
0
0
-8
-1
-5
0
0
0
1
0
0
0
-76
15
5
0
0
-8
1
-4
0
0
29
-9
0
0
0
24
-4
5
0
0
15
-3
2
0
0
-4
-2
2
0
0
0
7
0
0
0
-1
2
0
0
0
16
-2
2
0
0
-3
2
-8
0
0
51
-1
-7
0
0
0
-4
-1
0
0
8
-14
2
0
0
1
17
-1
0
0
0
1
-4
0
0
0
-10
4
0
0
0
-5
-4
0
0
6
1
-2
0
0
0
-2
-2
0
0
0
7
-3
0
0
13
-8
-2
0
0
0
-8
7
0
0
0
-4
-4
0
0
14
1
0
1
-26
-20
-2
-1
0
0
15
18
-3
0
0
46
-22
4
0
0
21
-38
-4
0
0
-20
6
4
0
0
-6
19
0
0
0
1
12
-1
0
0
16
1
0
0
0
45
-6
-1
0
0
-14
9
0
0
0
48
33
0
0
0
-5
-1
0
0
0
12
10
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
6
0
0
0
10
7
0
0
0
-4
-35
-6
0
0
7
2
5
0
0
-3
-10
4
0
0
3
-17
0
0
0
0
3
0
0
0
-8
-3
-1
0
0
-2
4
0
0
0
-5
3
-14
0
0
-25
34
0
0
0
5
6
0
0
0
-3
-1
-2
0
0
-1
-7
1
0
0
1
-4
5
0
0
-5
12
-2
0
0
-3
8
4
-25
25
-86
8
-1
0
0
-59
-16
32
0
0
7
60
21
0
0
10
51
14
0
0
31
49
46
0
0
0
-30
5
0
0
20
5
7
0
0
-6
-3
1
0
0
-28
48
-24
0
0
-28
14
-8
0
0
-11
-5
-25
0
0
-3
8
-24
0
0
14
12
-10
0
0
0
5
0
0
0
0
-5
1
0
0
6
-16
0
0
0
69
-5
6
0
0
61
-15
0
0
0
-2
13
-7
0
0
5
6
-1
0
0
13
-5
-7
0
0
0
-21
6
0
0
1
-10
-2
0
0
0
-3
0
0
0
8
-1
0
0
0
-9
-14
2
0
0
-12
1
1
0
0
-8
-6
-3
0
0
-7
15
1
0
0
-1
8
0
0
0
0
-13
-2
0
0
-14
-20
-3
25
-3
27
-29
-9
0
0
32
3
18
0
0
43
50
-50
0
0
81
-6
20
0
0
-12
35
-4
0
0
43
-23
-5
0
0
0
-31
-12
0
0
6
44
-2
0
0
-44
22
-15
0
0
58
-30
2
0
0
-16
0
8
0
0
19
-21
9
0
0
21
40
-13
0
0
10
-18
2
0
0
1
-3
-2
0
0
-1
-32
1
0
0
-38
2
4
0
0
-15
27
48
0
0
25
16
-3
0
0
-40
-10
-1
0
0
-2
1
-4
0
0
8
19
-19
0
0
-1
16
2
0
0
0
1
-9
0
0
21
-31
8
0
0
1
10
16
0
0
5
-45
16
0
0
5
30
0
0
0
9
10
-7
0
0
-25
-2
-9
0
0
5
9
-8
0
0
-9
-8
-3
-11
27
-10
-47
-29
0
0
35
12
-2
0
0
31
25
64
0
0
-33
-4
-11
0
0
21
50
-43
0
0
-24
-6
5
0
0
32
-44
17
0
0
-5
1
2
0
0
12
25
14
0
0
48
13
-18
0
0
-27
12
-13
0
0
-10
5
2
0
0
-21
-17
10
0
0
6
75
-9
0
0
7
-24
20
0
0
-18
-11
-2
0
0
-2
5
-18
0
0
7
-4
10
0
0
-9
18
-6
0
0
14
13
5
0
0
-1
6
20
0
0
0
-13
-51
0
0
-26
1
-3
0
0
-47
7
-6
0
0
41
16
9
0
0
-34
-2
-14
0
0
-65
-34
42
0
0
-15
-12
-21
0
0
-5
-30
-4
0
0
19
-20
10
0
0
-15
-47
-28
0
0
-42
5
-38
8
4
-44
-6
12
0
0
-15
-28
46
0
0
-4
7
-44
0
0
-53
10
11
0
0
-30
50
49
0
0
44
2
18
0
0
-19
3
-3
0
0
-25
-10
1
0
0
-34
29
3
0
0
-9
31
-2
0
0
66
-9
2
0
0
-36
22
4
0
0
-4
-8
10
0
0
-30
18
1
0
0
-4
20
-14
0
0
23
15
-7
0
0
-49
13
-14
0
0
4
-8
-7
0
0
19
10
-3
0
0
35
15
-44
0
0
18
6
-16
0
0
-28
27
1
0
0
50
-5
74
0
0
-45
4
10
0
0
-55
-20
4
0
0
-1
-57
80
0
0
-7
-4
-62
0
0
-1
41
-8
0
0
27
-83
9
0
0
42
-35
52
0
0
-44
-47
63
0
0
30
-18
-41
4
2
-41
-4
-58
0
0
10
31
19
0
0
48
87
-77
0
0
-20
-3
0
0
0
113
-35
-6
0
0
3
3
0
0
0
-1
2
-4
0
0
0
5
0
0
0
50
1
4
0
0
9
-29
0
0
0
-18
7
-1
0
0
4
-4
2
0
0
-5
8
0
0
0
-2
2
0
0
0
0
-17
2
0
0
-4
15
0
0
0
93
49
-1
0
0
-16
-8
-3
0
0
-45
-58
-7
0
0
-6
-46
-1
0
0
19
-6
29
0
0
-91
4
-8
0
0
1
-13
3
0
0
-7
-49
-35
0
0
-129
-1
-39
0
0
23
-39
-21
0
0
38
-68
88
0
0
-60
-17
-35
0
0
-7
-3
-25
0
0
-8
-10
-29
0
0
-42
24
-10
0
0
-57
71
-47
-4
-2
3
6
-68
0
0
-31
14
6
0
0
-57
47
-12
0
0
29
45
-29
0
0
37
-12
-1
0
0
-36
-33
2
0
0
3
1
-3
0
0
3
4
0
0
0
8
-36
-4
0
0
-21
23
-5
0
0
-14
-1
0
0
0
-3
9
0
0
0
-38
8
0
0
0
-8
1
0
0
0
-1
2
-1
0
0
2
-5
0
0
0
-22
-16
4
0
0
2
-10
8
0
0
36
-57
-35
0
0
-32
-36
-25
0
0
-24
7
24
0
0
9
25
-25
0
0
0
-10
-78
0
0
30
-6
17
0
0
-5
16
-45
0
0
-22
22
13
0
0
132
-35
50
0
0
-37
11
26
0
0
63
25
47
0
0
-52
-28
-11
0
0
-7
34
-11
0
0
11
-63
31
-5
-15
4
61
-24
0
0
11
47
-24
0
0
-1
-5
34
0
0
-46
-42
23
0
0
-60
1
16
0
0
27
7
-25
0
0
69
-40
10
0
0
0
4
0
0
0
-96
16
-7
0
0
-7
28
-3
0
0
23
4
24
0
0
-1
-21
1
0
0
-14
13
19
0
0
2
-8
-1
0
0
1
0
0
0
0
-9
0
0
0
0
35
-18
-40
0
0
16
-8
19
0
0
-22
17
53
0
0
32
-26
-19
0
0
-35
9
-74
0
0
44
-51
-34
0
0
50
0
-92
0
0
-1
4
-10
0
0
100
-20
-43
0
0
62
-9
46
0
0
-15
1
31
0
0
-2
4
-38
0
0
9
103
-41
0
0
40
28
-5
0
0
24
-58
9
0
0
-58
-68
20
-18
-5
27
48
78
0
0
27
-13
25
0
0
37
38
56
0
0
59
3
25
0
0
-44
50
24
0
0
33
24
1
0
0
-19
-24
-30
0
0
0
4
4
0
0
47
-3
-20
0
0
-21
-5
5
0
0
-19
-4
5
0
0
-3
2
1
0
0
-2
-17
-2
0
0
5
-24
-4
0
0
-2
0
-2
0
0
0
5
3
0
0
41
-41
-8
0
0
2
-37
-5
0
0
-41
-29
35
0
0
26
-11
-66
0
0
-22
16
9
0
0
85
-38
-25
0
0
12
-24
-16
0
0
-12
37
14
0
0
-84
-22
-6
0
0
-20
29
0
0
0
-64
37
-19
0
0
44
-37
4
0
0
42
-25
-45
0
0
8
13
-11
0
0
-18
-27
24
0
0
76
-47
4
44
13
59
45
-32
0
0
-44
-27
6
0
0
-21
-32
17
0
0
16
2
-8
0
0
13
15
2
0
0
10
-2
1
0
0
3
0
1
0
0
2
4
0
0
0
7
6
-4
0
0
5
7
-1
0
0
20
3
-1
0
0
-12
1
0
0
0
-8
-4
-4
0
0
0
4
0
0
0
0
0
0
0
0
2
-22
-2
0
0
9
6
-2
0
0
-5
-42
21
0
0
6
-17
20
0
0
7
-18
29
0
0
-6
-6
-97
0
0
-78
62
-25
0
0
-50
-19
13
0
0
13
7
-64
0
0
3
1
4
0
0
-74
-35
27
0
0
-12
34
-28
0
0
0
-34
-23
0
0
-4
-13
-12
0
0
7
-10
9
0
0
2
-36
-2
0
0
-11
11
-3
-43
5
-20
-16
-41
0
0
9
42
-28
0
0
3
17
23
0
0
42
21
-7
0
0
9
37
-11
0
0
-3
5
-8
0
0
30
-8
-6
0
0
-5
-27
-1
0
0
-12
48
-1
0
0
-4
51
1
0
0
2
24
-30
0
0
-3
-49
-3
0
0
-50
-4
-10
0
0
26
-5
-3
0
0
0
-6
-3
0
0
4
13
0
0
0
1
7
0
0
0
-10
-27
-18
0
0
22
-28
-5
0
0
26
-30
32
0
0
-30
-12
-101
0
0
16
-34
-25
0
0
-5
-44
42
0
0
-22
-49
-78
0
0
-94
39
26
0
0
4
-45
62
0
0
-85
-54
8
0
0
0
50
-57
0
0
27
1
-10
0
0
30
56
20
0
0
-12
16
16
0
0
-38
14
-15
-27
-5
2
10
-29
0
0
-30
-17
27
0
0
27
-1
5
0
0
-22
9
-14
0
0
-24
-5
39
0
0
-10
-12
-1
0
0
-10
14
-20
0
0
-5
7
0
0
0
65
-10
7
0
0
17
21
-6
0
0
-52
11
7
0
0
-23
0
34
0
0
-84
-1
11
0
0
8
-1
0
0
0
0
-5
0
0
0
0
31
8
0
0
-23
5
17
0
0
0
17
-37
0
0
7
13
-12
0
0
51
-72
15
0
0
44
18
-20
0
0
-22
-34
7
0
0
61
-63
-2
0
0
11
-15
-3
0
0
-61
-72
-42
0
0
5
8
9
0
0
-2
-17
-24
0
0
-1
-8
58
0
0
5
-2
7
0
0
0
40
19
0
0
2
8
-11
0
0
-34
12
4
18
-4
30
-21
43
0
0
30
-3
34
0
0
-17
23
1
0
0
-12
-12
6
0
0
28
-37
40
0
0
-21
7
-7
0
0
27
-49
-10
0
0
2
0
-5
0
0
-54
26
-10
0
0
4
30
7
0
0
34
-4
1
0
0
20
29
-2
0
0
-3
-30
8
0
0
2
1
-3
0
0
0
0
-1
0
0
7
-19
2
0
0
2
0
3
0
0
48
52
-32
0
0
-1
13
-9
0
0
-42
14
6
0
0
-48
-48
-4
0
0
4
-25
46
0
0
-14
45
46
0
0
33
0
6
0
0
-41
43
-3
0
0
-6
6
4
0
0
3
-13
-7
0
0
-44
23
-33
0
0
2
-63
-21
0
0
2
-32
23
0
0
-27
-12
7
0
0
46
4
-16
-7
-8
-17
-13
-14
0
0
-6
-28
43
0
0
60
28
-3
0
0
-11
6
-10
0
0
22
29
-39
0
0
-1
16
-1
0
0
9
5
3
0
0
0
-4
-3
0
0
13
-2
13
0
0
-25
-29
-9
0
0
-1
0
6
0
0
8
7
1
0
0
-5
10
2
0
0
3
1
0
0
0
1
10
-2
0
0
-2
5
-2
0
0
50
-28
-2
0
0
6
27
44
0
0
-14
-6
-13
0
0
-16
-13
66
0
0
-30
-78
10
0
0
28
-20
27
0
0
-81
18
-36
0
0
28
-5
-32
0
0
-9
-3
-113
0
0
20
-4
-25
0
0
26
-31
133
0
0
-16
-21
30
0
0
27
-50
4
0
0
-18
6
-3
0
0
-21
28
-8
0
0
-26
-14
-27
-21
-17
-8
25
18
0
0
-6
12
-9
0
0
-2
22
-50
0
0
-56
-26
7
0
0
3
-36
14
0
0
25
-16
10
0
0
25
8
-5
0
0
0
5
2
0
0
20
-2
-4
0
0
-45
31
-9
0
0
-61
8
-3
0
0
-6
-22
0
0
0
1
29
-3
0
0
0
0
0
0
0
-1
1
-2
0
0
0
-4
0
0
0
20
-1
0
0
0
-32
26
-1
0
0
-61
7
-18
0
0
-78
51
-53
0
0
-22
-112
44
0
0
31
-37
30
0
0
17
15
2
0
0
-2
1
2
0
0
-8
13
-56
0
0
6
3
48
0
0
10
66
-15
0
0
67
-29
7
0
0
-43
9
-15
0
0
41
-19
50
0
0
15
-57
17
0
0
24
28
-54
-19
3
62
-26
24
0
0
16
-24
-22
0
0
-34
0
67
0
0
4
57
-4
0
0
16
3
-41
0
0
38
-10
-15
0
0
30
-7
0
0
0
-2
-1
4
0
0
35
5
-42
0
0
75
-6
13
0
0
-10
-35
14
0
0
5
-3
-8
0
0
16
-9
5
0
0
3
-4
-3
0
0
0
9
-8
0
0
3
0
-6
0
0
24
-26
10
0
0
-37
36
-11
0
0
-23
23
-47
0
0
-106
28
19
0
0
18
-2
66
0
0
-96
-24
19
0
0
-24
-51
15
0
0
4
-19
-37
0
0
-67
16
0
0
0
-12
21
-19
0
0
-14
44
-25
0
0
-8
38
3
0
0
-12
-31
93
0
0
13
10
-10
0
0
38
90
-15
0
0
31
-119
71
-13
-13
110
-3
25
0
0
40
66
-28
0
0
-6
53
-28
0
0
21
35
9
0
0
42
-62
11
0
0
9
14
10
0
0
-33
17
24
0
0
7
5
1
0
0
-10
18
9
0
0
-15
51
18
0
0
-39
20
4
0
0
16
28
-8
0
0
-7
-1
25
0
0
-9
-1
6
0
0
0
6
-3
0
0
0
9
-4
0
0
32
-7
-4
0
0
-19
35
-19
0
0
47
-9
-47
0
0
-94
69
39
0
0
-2
-39
33
0
0
-34
-6
-19
0
0
-40
-35
-43
0
0
2
-56
-14
0
0
43
-75
-18
0
0
20
-20
-3
0
0
31
8
46
0
0
-30
-16
10
0
0
20
45
-55
0
0
-25
-63
-36
0
0
-21
53
-52
0
0
6
8
39
-14
7
-31
-59
-8
0
0
-51
6
98
0
0
12
15
-26
0
0
-20
2
1
0
0
25
21
-22
0
0
-2
-1
2
0
0
-34
4
3
0
0
2
-6
-3
0
0
32
-36
-10
0
0
41
46
-13
0
0
58
-29
-3
0
0
12
-42
3
0
0
0
30
-14
0
0
-4
-8
-1
0
0
-7
1
0
0
0
5
-12
2
0
0
66
32
-4
0
0
-9
-2
9
0
0
-38
-52
24
0
0
-20
-65
12
0
0
-33
10
-21
0
0
10
16
-33
0
0
35
-45
-16
0
0
-1
-2
-1
0
0
4
-2
25
0
0
-38
-14
-2
0
0
31
26
-96
0
0
-56
12
24
0
0
-56
-40
46
0
0
-2
-36
0
0
0
4
-50
47
0
0
20
-58
-6
-23
-16
18
17
-4
0
0
43
-49
50
0
0
-26
-51
-27
0
0
-9
52
-46
0
0
-65
-31
-15
0
0
56
-7
1
0
0
-25
16
45
0
0
18
34
-2
0
0
-21
44
15
0
0
31
-6
-5
0
0
29
16
9
0
0
27
13
-30
0
0
18
-35
0
0
0
48
-10
0
0
0
-10
13
-1
0
0
-8
-23
-16
0
0
-39
16
8
0
0
-24
-25
-18
0
0
-28
-42
-16
0
0
-149
-52
31
0
0
-66
83
-1
0
0
7
16
-5
0
0
-50
-84
-94
0
0
6
-24
-55
0
0
50
-53
93
0
0
-17
-11
-44
0
0
2
-20
17
0
0
24
31
-7
0
0
-37
14
-22
0
0
72
-15
27
0
0
25
-15
4
0
0
25
-7
9
-12
-9
-112
-107
9
0
4
-7
26
33
0
-4
39
4
-17
0
18
20
-1
9
0
47
12
-22
-6
0
41
28
75
-42
0
10
58
34
5
0
126
77
13
24
0
48
-9
-47
-3
0
-68
32
36
-22
0
92
-22
58
13
0
4
-17
-7
74
0
-29
-24
-44
18
0
-10
20
57
12
0
2
40
-43
-20
0
9
-1
21
46
0
2
34
26
-26
0
22
-7
71
70
0
35
-23
77
69
0
10
102
-82
1
0
-26
68
58
21
0
40
69
36
10
0
-1
-2
20
0
0
0
-34
26
-5
0
6
22
-58
2
0
24
66
75
-43
0
7
36
56
-3
0
0
21
67
7
0
3
-1
15
30
0
26
47
25
-9
0
7
66
4
15
0
32
16
-14
32
12
-10
-36
-2
2
0
-32
25
26
29
0
11
33
-17
4
0
28
48
14
39
0
55
49
17
37
0
-21
-12
13
61
0
74
59
13
22
0
84
28
8
-12
0
14
-48
-9
66
0
-29
16
16
66
0
9
20
104
-14
0
2
40
-12
-9
0
17
66
60
4
0
53
41
-16
-32
0
-16
78
-56
69
0
-2
38
-71
8
0
-20
21
34
-12
0
24
-70
3
-20
0
23
-48
15
32
0
-24
15
-59
-2
0
-36
-7
26
-29
0
-1
17
-13
18
0
-2
19
6
18
0
0
5
32
1
0
5
27
44
25
0
-2
48
8
-19
0
64
-16
-5
18
0
1
29
-38
0
0
6
-4
66
-14
0
49
-2
-57
3
0
10
41
54
30
0
-1
-86
25
-2
-3
-161
-5
17
-21
0
55
4
41
26
0
22
57
-30
10
0
26
25
22
53
0
1
38
-42
-16
0
-21
32
14
-31
0
5
35
17
-28
0
33
-54
-32
40
0
6
-23
40
8
0
-8
13
59
37
0
25
47
2
17
0
16
-9
1
-79
0
-51
-16
38
-16
0
10
-30
14
1
0
7
49
22
-12
0
-62
-30
27
18
0
8
20
32
-16
0
19
33
47
-2
0
8
55
-49
-2
0
-50
-9
6
3
0
18
-34
2
1
0
-2
6
25
-15
0
-4
6
-26
-12
0
6
-2
21
-4
0
-1
-26
-12
7
0
30
34
13
5
0
-18
41
-3
-9
0
-3
16
21
4
0
8
-47
5
2
0
28
-23
54
-59
0
1
37
-27
10
0
37
35
0
-2
-6
-52
19
0
-34
0
2
4
-8
-23
0
2
74
-61
-99
0
40
29
13
-17
0
13
37
-16
40
0
-28
1
-39
17
0
31
52
-18
38
0
75
-26
27
8
0
-6
-1
19
-18
0
38
69
-2
11
0
15
-60
52
18
0
-82
40
52
-23
0
-4
-49
41
17
0
-8
20
15
52
0
44
-57
-17
-42
0
23
10
54
25
0
36
-39
79
-89
0
41
-37
15
8
0
-8
-14
45
12
0
6
-40
33
-2
0
45
-25
32
3
0
0
2
19
0
0
3
7
-59
-1
0
2
-29
-40
-4
0
-21
-7
-15
0
0
-19
44
31
1
0
14
-30
-40
-8
0
-2
-71
4
-29
0
-15
28
-31
-30
0
-4
-58
-41
-39
0
-25
11
-19
6
0
44
45
58
-8
2
-98
-7
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-18
32
62
0
0
21
36
-11
0
-13
-4
14
-11
0
-6
11
3
-25
0
70
11
63
-17
0
-29
25
24
82
0
28
-9
-24
2
0
38
42
-62
-18
0
103
-72
47
11
0
-87
-6
3
-18
0
15
45
-12
28
0
67
52
8
-40
0
68
17
-2
-44
0
-19
3
29
13
0
0
0
12
-7
0
-17
-5
-11
-4
0
-8
0
83
16
0
-59
36
31
-51
0
43
5
7
-3
0
3
6
0
-8
0
69
-33
-19
6
0
-45
20
90
-7
0
-7
0
16
2
0
33
-27
1
5
0
48
-7
-11
44
0
39
51
3
84
0
-19
52
17
25
0
79
-60
-6
5
0
-3
76
42
71
0
-13
21
-9
23
0
-67
21
16
-16
-11
-21
-10
18
-20
0
6
15
-1
28
0
-31
66
2
-23
0
-57
77
-17
11
0
18
-49
-31
57
0
31
-53
86
-10
0
-58
-35
-11
53
0
7
-19
8
-7
0
-39
-19
-6
-18
0
40
44
13
-44
0
38
-45
58
2
0
-43
47
-34
18
0
5
21
-14
22
0
10
20
-10
4
0
-5
7
69
13
0
0
-21
1
0
0
-34
22
8
-7
0
-5
12
-20
-2
0
71
-77
-54
8
0
-23
40
-29
0
0
10
57
35
-16
0
47
66
3
1
0
-19
1
-18
0
0
0
-8
-8
-3
0
-23
41
23
6
0
8
-38
32
1
0
-10
58
-52
12
0
12
-2
44
5
0
30
18
-25
-4
0
51
-3
-5
-33
0
63
-36
44
2
0
14
17
-72
-12
48
-5
-29
20
-34
0
-32
-50
31
-3
0
-119
24
0
83
0
-11
31
2
17
0
12
-2
-10
-7
0
36
1
12
3
0
48
-43
75
-3
0
8
-29
33
-7
0
12
-47
-29
-8
0
5
10
45
6
0
57
5
27
-45
0
5
-10
-9
-5
0
-1
-13
29
3
0
-9
66
20
-9
0
-12
-8
-4
3
0
0
10
-7
1
0
-43
-1
-38
0
0
-30
-35
-7
4
0
-15
-19
14
15
0
2
3
13
0
0
10
-17
-33
7
0
27
0
-25
0
0
-7
-7
-9
0
0
-1
21
-8
0
0
0
-10
10
2
0
6
2
24
4
0
14
7
-22
27
0
10
-20
-1
-30
0
40
25
13
-2
0
1
-43
2
-6
0
7
17
-4
-1
0
20
17
-27
1
10
-30
68
-2
8
0
44
1
-29
-5
0
-16
14
65
-68
0
13
65
45
4
0
27
40
-31
22
0
-5
-24
5
13
0
-4
7
-43
3
0
-9
-28
46
2
0
41
-74
19
-20
0
7
58
41
-47
0
-50
-4
8
6
0
22
82
-48
-16
0
-10
-23
-50
-6
0
-4
-21
18
8
0
0
-27
13
0
0
-2
61
-32
-12
0
-20
-36
31
28
0
-15
-26
-5
7
0
-27
-20
-26
17
0
4
-58
25
-1
0
-24
-1
29
19
0
-2
-13
-9
0
0
1
5
5
0
0
0
-8
1
1
0
5
-16
20
-2
0
-34
17
30
-3
0
-15
-24
-16
-13
0
-25
31
4
-2
0
24
43
8
-14
0
2
5
-1
8
0
-4
-47
6
14
0
-6
2
-31
1
-21
13
104
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
12
-20
-7
0
48
-33
26
-18
0
-23
32
5
23
0
54
-16
-22
3
0
11
29
-27
13
0
-6
-1
5
7
0
44
10
12
-3
0
-27
57
-15
4
0
129
21
4
-7
0
-12
16
-43
81
0
-37
23
-23
-26
0
70
-2
29
24
0
20
-23
18
38
0
8
62
-8
-2
0
-45
40
15
23
0
-5
4
-2
-40
0
2
1
5
13
0
-5
10
16
-1
0
-11
2
13
34
0
-3
-6
34
9
0
15
44
-17
8
0
-45
-10
30
-16
0
33
-83
-13
-59
0
-83
-45
18
-4
0
10
51
-31
12
0
-38
-25
55
-7
0
-25
-21
14
-38
0
-32
71
-57
-61
0
26
-13
34
-66
0
21
6
4
-65
0
6
-2
-26
39
2
-4
-21
-51
4
0
-39
20
45
44
0
43
34
16
-23
0
7
-31
-12
-21
0
19
2
25
71
0
22
-48
-22
20
0
-43
64
18
-25
0
-2
31
-8
-7
0
15
0
27
-36
0
50
-37
49
29
0
-13
-13
26
14
0
21
-34
43
-16
0
52
-1
-25
44
0
-31
12
17
9
0
1
11
47
-5
0
-9
7
4
-1
0
-46
23
-5
3
0
3
-4
9
3
0
6
8
-22
-18
0
13
13
-13
38
0
7
25
-2
0
0
-38
-28
73
-54
0
-2
-30
23
-83
0
-80
-4
-59
50
0
-100
-19
11
77
0
67
44
64
-44
0
-63
-26
-3
59
0
-82
33
-35
20
0
-47
2
59
-9
0
10
38
-20
50
0
55
57
53
-8
0
46
-77
0
-101
4
-47
-65
-4
-88
0
55
-7
51
0
0
-62
-22
26
-40
0
-77
39
5
10
0
27
-7
4
29
0
-54
-22
5
8
0
5
-3
-8
0
0
-5
-5
4
0
0
58
-7
-8
-9
0
-3
34
-1
3
0
-22
31
9
-9
0
-7
-25
-4
19
0
-14
-30
51
3
0
8
-16
1
-2
0
0
-43
25
-1
0
-8
-6
-20
-2
0
15
1
-6
-10
0
-20
15
-4
-24
0
-23
22
-13
-22
0
41
-18
-37
6
0
6
-16
-27
8
0
35
-21
51
-7
0
-1
-14
-62
24
0
0
15
39
-3
0
41
-45
-31
-17
0
36
48
47
35
0
-19
-26
18
-65
0
-52
-87
32
-72
0
-21
39
3
-40
0
-44
-11
5
-12
0
12
10
-46
48
0
4
7
-57
35
22
30
-133
-107
12
0
-43
5
1
-40
0
-27
-51
25
-43
0
2
7
-2
5
0
-18
40
16
47
0
32
5
6
0
0
-25
-32
48
-16
0
10
-30
-7
0
0
-96
39
-13
6
0
-48
12
18
41
0
-49
56
-46
-9
0
12
2
-20
21
0
53
-78
69
-8
0
-1
-4
-7
-5
0
-13
23
-31
3
0
-7
13
13
-10
0
21
36
-66
21
0
-13
-20
-14
-25
0
12
-40
-39
-38
0
-63
-10
-35
12
0
-5
-32
-70
-41
0
52
74
-7
6
0
-3
19
-34
-16
0
23
-51
-38
-111
0
-72
39
-63
-64
0
-110
-102
31
18
0
-35
32
3
92
0
65
-36
-29
53
0
-19
-40
36
37
0
5
-7
-37
31
0
-24
-32
-10
15
0
-77
56
-56
-39
-14
-55
-83
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
37
10
50
0
6
61
-54
39
0
-37
31
8
24
0
-6
22
1
-5
0
53
26
-6
0
0
-31
13
-4
-21
0
68
3
-7
0
0
55
-60
12
-3
0
69
25
-26
16
0
9
24
-19
59
0
-8
39
47
-24
0
-5
-23
6
2
0
59
72
30
-14
0
64
35
20
-8
0
71
-44
-18
8
0
10
15
12
-12
0
20
-4
8
-17
0
-33
-22
-40
69
0
25
-27
102
18
0
-95
43
12
-82
0
-71
-1
8
34
0
-15
-49
-38
5
0
-35
-56
-9
-28
0
-93
-55
-9
38
0
20
16
-1
2
0
-6
-12
4
-4
0
-13
1
33
32
0
-106
-22
5
-22
0
40
4
-28
-18
0
-99
-5
24
-22
0
-147
11
6
-17
4
-58
-8
-21
-4
0
-26
-33
58
6
0
14
15
-16
-15
0
-42
77
-22
-2
0
16
-9
-19
-8
0
-30
24
10
-8
0
8
3
-30
4
0
17
-13
7
3
0
-3
37
23
0
0
-42
-8
1
-16
0
29
-14
55
-9
0
-7
22
-41
3
0
-40
42
1
-16
0
-9
52
-47
-6
0
18
5
-4
-13
0
2
-21
-32
-4
0
4
47
-40
19
0
-12
13
-54
28
0
38
-42
28
43
0
72
-26
31
36
0
-46
-70
-29
8
0
6
23
-23
21
0
44
-46
-42
47
0
3
-9
44
40
0
-81
-3
15
-18
0
10
-1
4
7
0
22
-18
-38
28
0
44
6
53
-26
0
-28
-41
24
21
0
-15
-8
48
-39
0
-77
-17
-16
-22
0
18
29
-16
6
-17
-79
-13
14
25
0
35
29
16
18
0
-10
-59
-19
-1
0
2
3
13
-1
0
32
-28
-7
-7
0
4
7
-4
-1
0
2
1
36
0
0
25
-1
6
0
0
-40
10
6
1
0
29
51
-15
0
0
2
-29
6
7
0
17
-29
1
4
0
26
-23
-7
-5
0
28
1
8
-12
0
-40
1
27
-3
0
-24
-8
-12
-1
0
-90
18
-36
-13
0
-107
42
30
46
0
64
-81
-12
-58
0
-54
53
-18
-68
0
-50
3
20
-32
0
24
5
77
-46
0
-12
15
20
-46
0
1
-37
72
-25
0
31
-42
-33
-9
0
-16
18
13
79
0
-62
-66
6
-68
0
-3
-15
-3
19
0
20
-13
-40
60
0
27
-37
3
-49
0
-9
-39
-19
-15
0
79
75
-27
-51
6
-1
41
-33
-78
0
-29
-40
-10
0
0
26
-76
69
19
0
-6
-1
-18
-4
0
27
-42
0
-12
0
-31
-5
1
0
0
48
-13
24
2
0
-19
-30
-2
-3
0
-15
6
23
0
0
1
-13
-30
3
0
16
25
-21
2
0
-2
7
-31
-2
0
-4
4
36
6
0
20
23
3
0
0
-17
7
-1
-4
0
-24
-14
-3
0
0
22
38
-43
19
0
-46
-3
-96
-18
0
-14
-18
-11
-9
0
-41
70
8
-25
0
-134
-42
6
17
0
-64
-31
57
-5
0
40
-94
10
-15
0
52
-41
13
23
0
-59
-23
8
-78
0
14
-32
9
-17
0
-56
-49
-10
16
0
-27
18
-53
-20
0
11
22
-39
-30
0
20
-10
26
72
0
33
-45
71
-66
0
10
-9
-20
23
-47
-65
-35
-7
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
-1
-3
0
9
53
25
-4
0
4
27
-65
-32
0
74
-4
-21
26
0
10
65
14
57
0
43
88
16
74
0
-59
16
6
33
0
35
36
4
-30
0
-63
32
-34
-17
0
62
-2
56
-8
0
8
28
42
62
0
9
52
-35
39
0
41
14
-15
12
0
0
25
-14
-46
0
-7
-25
27
25
0
78
-62
23
9
0
30
-38
9
33
0
4
-13
41
42
0
-1
6
3
8
0
66
-14
24
10
0
-26
45
92
23
0
4
16
-2
2
0
0
-2
0
5
0
0
13
40
-6
0
-61
65
95
-48
0
8
25
22
38
0
3
45
29
7
0
-2
-11
12
21
0
-13
63
17
-24
0
-1
-33
43
76
0
21
-58
48
69
6
19
50
-3
-6
0
24
6
36
31
0
22
27
19
36
0
22
14
99
-41
0
70
22
52
-52
0
51
34
-34
19
0
53
32
30
72
0
15
47
-9
46
0
-46
97
-2
30
0
85
97
-51
17
0
-4
64
103
20
0
-30
-2
24
-1
0
63
-24
-29
152
0
19
-35
52
21
0
3
77
52
25
0
14
-12
-30
-8
0
11
44
37
-15
0
126
4
18
5
0
-26
-64
7
53
0
5
-13
-7
-8
0
-50
75
27
-1
0
-12
19
32
6
0
3
28
72
3
0
1
-15
7
-6
0
-5
-20
6
-4
0
-5
-39
39
-25
0
23
6
-101
25
0
1
-48
88
-3
0
-13
-45
20
6
0
52
29
-10
10
0
29
-25
17
20
0
-4
50
-40
-16
6
-106
-34
21
-25
0
13
32
2
-25
0
4
5
57
-3
0
16
12
64
27
0
-20
49
-24
42
0
58
82
29
-13
0
24
20
21
15
0
42
-46
23
9
0
20
14
16
-5
0
38
-13
-9
-23
0
8
4
12
-2
0
-2
37
106
12
0
-16
42
49
-7
0
3
13
9
12
0
-1
-8
-16
-16
0
8
-28
-50
13
0
-39
16
5
8
0
46
-40
21
19
0
13
13
-25
-13
0
1
-16
-72
0
0
-9
4
31
-6
0
-5
11
13
-3
0
0
-10
-7
-2
0
3
-1
46
-4
0
0
-24
-9
4
0
16
-16
-52
10
0
8
-17
-18
5
0
-2
-75
4
-27
0
14
23
-1
13
0
15
5
-49
6
0
1
54
-8
5
0
5
17
-2
25
35
-43
-4
-33
-10
0
-23
-9
12
36
0
-14
-39
55
-4
0
7
-15
115
-19
0
15
43
-12
35
0
18
-32
29
12
0
-8
-58
-28
33
0
4
-7
-16
-32
0
20
21
-44
-18
0
-13
30
15
-18
0
83
44
-8
-19
0
-5
-12
-42
-19
0
10
17
16
-49
0
-5
23
-23
-4
0
10
44
8
15
0
-2
35
23
-14
0
-4
40
-23
20
0
3
-13
66
12
0
-38
13
-63
-7
0
-3
-13
-10
0
0
-33
85
-32
17
0
0
1
-4
3
0
0
2
-18
-2
0
9
-1
1
-3
0
0
-4
19
-4
0
-3
-12
17
-3
0
-17
27
23
1
0
0
-5
25
-21
0
-6
-8
24
8
0
5
13
-11
-12
0
-16
49
-57
-16
0
44
8
-39
40
-11
-94
-25
77
62
0
2
-53
37
49
0
32
-24
34
84
0
3
-15
40
-9
0
-21
20
-12
-9
0
-43
23
-1
2
0
84
2
-15
16
0
105
-39
4
5
0
104
-61
31
-2
0
85
9
-7
8
0
20
-2
-42
27
0
15
4
6
4
0
40
-18
-17
1
0
-13
77
61
2
0
0
9
-27
25
0
1
-43
4
-1
0
-28
8
-2
24
0
-23
8
11
24
0
39
29
-37
-18
0
-5
-8
8
2
0
-40
25
1
-3
0
13
44
18
1
0
0
0
9
-2
0
0
0
-3
0
0
1
-18
7
0
0
-7
-23
51
1
0
-7
5
24
-3
0
0
4
-14
0
0
0
-1
5
0
0
-48
52
24
-12
0
1
10
28
-2
0
22
16
-30
0
4
41
42
21
3
0
7
9
20
7
0
-15
18
-18
-1
0
36
35
-50
32
0
16
7
48
-6
0
13
18
-2
-25
0
32
-17
-67
30
0
119
-37
-10
14
0
5
-17
-30
5
0
4
4
74
25
0
-18
-33
-4
28
0
7
12
15
-3
0
-54
-1
29
-1
0
10
43
35
-13
0
54
24
33
-7
0
-3
18
-20
-6
0
-7
28
51
4
0
-28
12
-38
-6
0
8
13
49
14
0
-8
-1
6
0
0
52
-4
-19
-4
0
-41
12
-51
0
0
6
-31
50
3
0
0
0
-4
0
0
-4
8
0
1
0
-4
-9
21
13
0
13
3
51
-27
0
0
-1
-30
0
0
-2
0
-7
-2
0
46
-14
-41
0
0
-12
11
-1
10
0
6
10
2
0
-14
21
-70
-8
0
0
61
22
-25
-23
0
-7
-69
51
-44
0
-30
61
17
14
0
57
54
74
-63
0
40
38
-37
-7
0
-30
6
24
-15
0
-6
26
16
1
0
-4
-55
24
10
0
-29
59
10
-2
0
-14
12
-12
1
0
24
9
-25
3
0
-8
-13
-7
2
0
2
-17
3
-7
0
0
1
-24
-1
0
3
-5
13
-2
0
-10
-2
0
-8
0
-5
24
30
-2
0
-8
-50
12
-1
0
0
0
-2
0
0
7
-2
-3
0
0
2
0
10
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
1
-1
0
0
13
-24
2
0
0
1
2
-1
0
-8
0
0
3
0
0
-7
-31
1
0
0
21
-8
3
0
-6
3
-14
-2
21
-21
-14
-3
-1
0
30
1
62
35
0
79
-29
40
-46
0
-26
28
-16
79
0
41
-48
-23
7
0
58
30
-4
-5
0
-61
38
100
4
0
31
0
71
2
0
34
38
-39
1
0
-15
54
-11
25
0
-62
-57
6
-42
0
-12
-1
10
16
0
-7
-46
-3
-10
0
-2
12
-9
0
0
18
34
3
-12
0
-4
9
8
-9
0
-11
2
-17
-6
0
28
-20
-62
16
0
11
21
5
-9
0
12
-21
41
9
0
31
39
47
-3
0
3
4
-20
3
0
-1
-20
0
8
0
0
3
0
0
0
-7
41
0
0
0
-8
-15
-7
-3
0
-4
-3
-1
1
0
0
1
13
0
0
4
-13
0
-10
0
2
-17
28
2
0
-2
-25
2
9
0
-8
-41
21
0
-29
-3
33
0
0
0
-31
43
58
50
0
26
4
33
18
0
72
60
16
16
0
17
50
-20
56
0
-47
2
13
40
0
-8
-28
5
24
0
48
6
2
-17
0
2
1
23
3
0
-40
-8
-1
64
0
-28
-20
60
-37
0
38
14
36
-6
0
-13
72
12
-32
0
10
-23
-20
20
0
-1
36
87
5
0
2
78
-25
-14
0
7
22
1
-3
0
-55
-33
-19
-5
0
8
-5
25
-52
0
8
-6
-23
0
0
12
-1
2
0
0
-5
-16
0
5
0
0
4
-3
-1
0
0
2
1
-2
0
1
-27
2
0
0
79
-17
16
-4
0
-16
40
74
-13
0
0
6
-5
0
0
-5
-8
40
-4
0
28
-3
-33
5
0
0
2
45
-5
0
-24
34
-18
4
16
-14
-77
-3
19
0
-16
-8
-3
116
0
14
21
-41
-4
0
78
18
-93
1
0
36
21
1
-5
0
-5
51
-15
5
0
2
18
52
-30
0
-49
14
23
0
0
69
10
9
6
0
-11
16
104
30
0
-28
9
29
46
0
63
-10
-54
-24
0
13
-34
29
-23
0
25
44
-19
-7
0
-40
52
14
-16
0
-29
13
-16
-5
0
42
-37
-52
8
0
13
4
34
1
0
-44
-81
18
-6
0
1
6
-4
0
0
-27
15
-4
-3
0
2
-2
9
2
0
0
5
13
-8
0
0
-1
1
0
0
13
4
0
-2
0
-9
86
65
-4
0
-2
-30
-12
38
0
0
-24
7
-1
0
-40
17
-1
5
0
-4
85
76
-10
0
36
-24
4
-22
0
5
-31
30
0
4
-23
29
-3
-29
0
110
24
-40
14
0
14
1
25
47
0
52
-23
-39
12
0
49
-11
40
-6
0
-65
52
25
8
0
-25
-8
3
-3
0
12
-18
-12
0
0
2
11
-8
4
0
-29
-24
14
18
0
-15
90
16
27
0
-30
52
-48
1
0
18
101
77
-29
0
0
-6
-19
4
0
0
15
-10
0
0
-16
0
31
25
0
17
34
6
-8
0
55
40
2
1
0
-32
-3
1
-1
0
-5
3
3
2
0
-27
-1
3
-3
0
-1
0
2
0
0
-2
0
-2
0
0
0
-1
0
-1
0
0
0
-2
0
0
1
13
8
-2
0
-9
3
4
-2
0
-1
-10
6
3
0
-9
-3
-4
3
0
6
1
-18
-2
0
-8
-8
24
-7
0
42
-13
-6
-8
6
-14
21
-14
-23
0
-50
-7
88
-48
0
-29
-6
-22
-58
0
-58
30
-38
36
0
30
36
44
-26
0
-39
-52
14
-7
0
24
-27
18
2
0
42
-4
9
1
0
99
-10
41
-3
0
12
43
-15
-15
0
64
-30
8
-11
0
80
-37
-46
-5
0
19
-38
-70
49
0
-8
30
4
5
0
20
8
-41
7
0
5
23
-27
-1
0
-19
3
-10
-22
0
-8
-1
5
3
0
-9
2
-1
-7
0
0
-24
-8
0
0
-106
-1
12
-2
0
-7
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
30
-2
0
0
-2
29
13
3
0
14
1
-2
-6
0
1
8
0
0
0
-11
-5
-25
4
0
5
-35
23
0
0
-7
-25
12
-6
0
-27
-14
-16
0
33
-4
5
-23
-30
0
-25
7
27
28
0
-15
42
-6
16
0
-85
33
65
5
0
0
0
-7
11
0
66
-51
-15
-8
0
-5
13
-25
-3
0
25
-4
40
0
0
28
-26
9
4
0
18
34
34
-1
0
-66
31
2
-2
0
-6
44
29
2
0
-87
21
-8
0
0
41
35
-12
1
0
6
-20
0
0
0
-3
-29
8
2
0
3
-14
32
1
0
-40
4
3
7
0
109
-5
-44
-3
0
-5
-5
23
2
0
5
3
1
1
0
-6
24
-8
4
0
0
-1
4
0
0
-2
2
1
1
0
0
-24
-2
0
0
8
46
25
-8
0
0
6
3
0
0
0
2
-2
0
0
-2
-8
1
0
0
3
-22
-21
-9
0
1
15
0
9
0
-5
-1
0
0
6
-11
-13
-6
-1
0
0
-12
75
42
0
-9
5
14
14
0
-67
18
70
-8
0
-49
32
-3
9
0
-21
-1
6
4
0
0
-1
-33
6
0
48
-5
-8
0
0
27
-55
-28
6
0
19
-32
1
-34
0
9
17
43
-4
0
23
-6
-57
5
0
12
0
-16
-8
0
13
-47
45
-3
0
-13
-32
-5
-4
0
0
-7
-9
1
0
3
-27
-7
5
0
11
-14
51
-14
0
-46
11
-8
17
0
0
-2
-3
0
0
-32
-13
-13
6
0
10
-4
10
0
0
1
-8
-25
-4
0
0
5
0
0
0
0
0
-1
1
0
2
18
-23
4
0
-7
22
-9
-1
0
0
5
-4
-6
0
4
2
1
0
0
5
18
-20
0
0
2
0
3
2
0
0
6
-4
2
1
10
-4
0
-4
0
24
55
67
-18
0
27
28
65
-1
0
11
45
-15
28
0
28
-43
28
12
0
-42
30
95
21
0
12
-2
33
-4
0
12
0
-31
-1
0
-33
40
-6
1
0
-31
-12
66
13
0
-14
-20
20
-10
0
3
-52
14
-2
0
-6
-3
20
-6
0
-3
18
-27
0
0
0
-7
29
0
0
-1
-21
9
2
0
-40
4
18
0
0
32
66
-15
8
0
13
-7
18
-31
0
-14
-5
-24
2
0
9
-1
4
-5
0
0
0
-4
-1
0
0
0
-19
1
0
2
0
-1
0
0
1
0
4
0
0
3
-15
10
-14
0
-1
1
-10
-6
0
0
1
-23
-1
0
5
1
0
3
0
3
27
-22
-7
0
0
0
-4
0
0
-5
-10
5
0
-5
34
-6
1
3
0
40
-18
64
12
0
-10
-7
5
-8
0
-41
31
-6
8
0
-53
12
29
1
0
-14
-4
14
25
0
18
3
-43
-13
0
-17
13
-8
0
0
26
-13
17
4
0
25
-14
22
-13
0
51
-37
-15
41
0
-13
25
-58
4
0
43
-50
-1
4
0
0
-15
-25
2
0
-9
-40
-17
0
0
-4
9
-8
0
0
-37
23
13
-10
0
55
15
-15
-27
0
-17
57
-61
3
0
-9
41
14
-8
0
-27
-52
21
-8
0
8
10
8
4
0
-6
-16
34
-3
0
0
-7
4
0
0
-19
12
-18
2
0
1
33
4
-10
0
9
-20
-16
17
0
1
24
3
1
0
3
-18
4
-7
0
0
13
-21
-4
0
3
1
-2
1
0
2
5
-9
-1
-5
-19
2
-41
14
0
-10
25
-1
44
0
21
-59
23
-37
0
-5
18
6
-27
0
38
8
-30
14
0
-6
-17
94
-2
0
-2
37
2
-13
0
28
-20
-6
1
0
0
4
28
19
0
43
3
-8
0
0
-6
29
-3
1
0
1
14
-8
0
0
4
0
-5
8
0
-7
-67
1
48
0
-1
4
12
2
0
12
-24
-47
6
0
16
-74
64
26
0
8
1
-1
21
0
10
6
15
42
0
9
47
3
-37
0
-12
-28
36
-45
0
6
25
38
22
0
17
52
7
30
0
-1
-34
-2
-35
0
-42
0
3
-32
0
25
-21
18
-33
0
-19
74
-1
1
0
52
38
65
6
0
101
-5
33
-41
0
96
23
-39
-46
0
-7
-38
-5
-20
0
-22
47
-66
-58
11
-53
-3
-21
-9
0
24
-34
30
4
0
8
60
-62
-2
0
-33
-27
0
-1
0
57
17
-16
29
0
-11
64
10
-5
0
-7
51
-2
1
0
3
-14
8
1
0
34
30
1
-22
0
7
1
9
4
0
0
8
59
-9
0
0
-3
-3
1
0
25
10
22
-14
0
-48
2
7
1
0
-17
41
2
-1
0
-23
0
40
5
0
-25
-11
-1
29
0
-16
-6
-21
-6
0
-8
-3
17
-5
0
-54
30
-47
-8
0
-11
-61
21
-67
0
-30
-3
36
-40
0
19
-47
-79
92
0
-1
27
-13
-42
0
6
16
-25
-47
0
-48
-84
-9
54
0
56
-70
56
-40
0
-15
107
-77
-6
0
52
-13
76
-7
0
28
4
-74
8
0
20
74
19
-9
0
69
-14
-46
14
-6
-51
-15
76
46
0
-64
-21
85
-3
0
-25
33
-5
-3
0
-10
53
-73
0
0
38
-17
5
14
0
-5
-43
-8
12
0
25
-2
10
-17
0
-25
-2
7
-1
0
-35
-13
-34
-13
0
25
3
4
3
0
0
3
-7
0
0
-1
-13
5
4
0
2
1
3
0
0
3
24
-3
0
0
6
-8
24
-3
0
29
5
-12
0
0
23
10
-27
5
0
-10
-19
-5
-26
0
-5
22
101
-57
0
6
1
-6
-72
0
-8
-86
-18
18
0
-4
37
40
7
0
21
-6
-20
35
0
52
-37
-70
70
0
-25
2
-1
0
0
45
11
-18
12
0
-24
-25
81
29
0
-27
45
-53
-13
0
-127
66
-67
28
0
-21
-37
-40
77
0
2
21
12
-24
0
-52
-72
-23
-39
-7
-47
-52
16
3
0
-12
31
24
-5
0
-44
1
9
3
0
0
-7
24
-3
0
-5
-4
12
-9
0
4
-64
59
2
0
-67
-50
41
8
0
-4
22
-18
4
0
-15
-45
-6
-18
0
1
5
-3
4
0
7
16
1
-6
0
0
-1
-1
0
0
17
49
12
-22
0
-5
7
8
-1
0
5
23
-4
0
0
1
-18
-13
1
0
18
73
-44
5
0
-32
-14
-31
-63
0
-11
-46
-4
-28
0
-15
1
-66
-13
0
-12
-31
-55
-36
0
-43
-69
-55
87
0
-44
-1
-22
-111
0
-42
41
-61
-76
0
-53
-112
-6
-31
0
100
36
58
23
0
22
-66
50
-65
0
-16
17
-10
75
0
-80
-17
-11
59
0
-25
-164
7
45
0
7
-15
-10
11
0
14
13
-73
-27
-14
-14
-50
39
-15
0
-67
33
26
-22
0
45
-13
-41
-3
0
60
-21
-12
-1
0
24
20
-48
8
0
10
-57
17
-2
0
47
4
13
10
0
0
3
-2
0
0
0
4
-12
-3
0
32
11
-29
-1
0
0
3
2
4
0
0
40
2
0
0
8
-8
4
-2
0
7
21
2
-2
0
-2
4
0
-2
0
-2
-5
-2
0
0
3
-2
-3
0
0
1
14
41
-15
0
40
44
-19
-72
0
-57
27
-22
25
0
48
-41
-93
2
0
-1
-17
68
-7
0
-109
-86
28
73
0
10
-106
3
13
0
4
-71
-33
-31
0
20
-39
80
14
0
-31
38
-86
8
0
0
7
-29
4
0
-7
8
-28
-5
0
-32
59
36
20
0
7
-3
-12
6
0
-64
45
22
-84
-3
-60
24
-50
-13
0
39
35
31
7
0
-83
76
-9
9
0
27
29
4
7
0
36
11
5
1
0
-57
-44
16
0
0
-22
-33
30
0
0
-5
-9
0
1
0
20
-6
3
1
0
4
17
-7
5
0
6
-13
-2
7
0
0
-6
0
0
0
0
-2
4
-5
0
1
33
8
0
0
8
-10
-9
4
0
5
14
3
0
0
12
36
6
-24
0
-12
-39
33
4
0
-37
0
-40
82
0
-28
91
-30
33
0
21
-31
23
30
0
21
-15
-53
5
0
-8
-24
-5
-10
0
-12
-17
66
-29
0
74
-2
-25
-13
0
4
28
45
-15
0
0
46
-51
8
0
0
-8
30
-4
0
-4
-48
34
-17
0
10
3
101
-19
0
-7
2
-10
-31
0
-24
-2
-36
-8
1
103
-2
-63
34
0
-18
23
39
6
0
19
7
18
8
0
21
-8
-10
-2
0
-28
30
-52
3
0
20
5
-5
0
0
0
1
-8
0
0
-2
0
1
2
0
-17
-4
-3
3
0
8
-16
2
-10
0
0
4
2
0
0
0
4
3
3
0
-3
1
-2
0
0
-3
0
2
0
0
0
2
0
0
0
5
-1
5
0
0
-2
-3
3
-1
0
-6
-15
26
-60
0
43
3
-39
-59
0
-50
-14
-109
49
0
-9
-16
-7
0
0
8
-3
-40
51
0
-84
-89
-37
33
0
-46
22
32
-12
0
44
-70
-33
-3
0
-23
-2
-28
-21
0
-2
5
42
-2
0
-7
-3
-44
-23
0
2
2
14
-1
0
2
45
8
-67
0
-3
25
-49
-2
0
24
12
26
19
-19
-99
-52
10
-8
0
-55
53
-1
8
0
36
-33
-3
1
0
1
31
-8
-7
0
-45
21
1
5
0
4
-30
5
2
0
-2
17
25
-3
0
1
-1
8
0
0
-40
27
-5
-5
0
-3
-5
-4
-1
0
-6
-2
-8
0
0
0
0
1
0
0
0
-3
2
1
0
0
0
-14
0
0
0
5
-2
0
0
0
-1
-1
0
0
5
-13
20
1
0
-31
-2
2
-29
0
-108
-62
-15
6
0
13
-66
-62
-40
0
-58
2
30
29
0
84
-75
-19
3
0
-8
-88
-13
-72
0
19
-29
-70
-30
0
-48
-12
-31
51
0
8
-38
-65
19
0
9
-7
-19
4
0
3
14
-21
-14
0
-9
41
-12
-9
0
-3
-32
-37
-24
0
0
-10
-32
3
0
65
48
27
-8
-10
-48
-42
-27
-19
0
16
80
-14
-26
0
19
41
22
-17
0
46
-10
-44
30
0
-35
44
40
24
0
71
34
-23
-16
0
-5
6
12
-6
0
13
2
-2
0
0
48
-2
4
13
0
-54
-9
-6
8
0
-7
-51
-25
6
0
-19
15
-6
14
0
5
-31
50
-5
0
46
45
16
-19
0
-2
10
16
0
0
-12
30
-27
12
0
33
-4
-4
-19
0
-4
21
47
84
0
-14
17
45
52
0
-46
-42
-32
65
0
-34
-20
-50
-44
0
-42
-39
24
-75
0
28
-55
-25
-49
0
81
-52
-37
30
0
-84
16
14
23
0
29
15
1
-4
0
36
-2
19
-1
0
23
-17
25
1
0
-33
0
18
14
0
-12
17
17
-63
0
-46
-25
59
56
0
-41
12
-4
69
9
-45
16
-10
70
0
0
-69
-12
12
0
28
75
8
-5
0
-39
80
88
2
0
-9
13
-33
-7
0
70
-26
7
6
0
-32
24
27
-7
0
-16
-35
13
-2
0
-59
63
-3
-5
0
12
-51
-38
-2
0
-52
-14
48
20
0
3
18
-3
-13
0
22
-9
13
-7
0
4
-35
30
-4
0
5
-17
3
-1
0
-2
17
-5
1
0
49
-6
-35
-13
0
-17
-26
30
31
0
12
56
47
-20
0
-21
-27
14
-7
0
-43
-61
27
2
0
75
-23
-28
9
0
22
-11
44
8
0
-20
-43
58
-12
0
-124
28
19
-1
0
-18
29
-4
30
0
12
9
-2
58
0
-36
52
24
-19
0
26
7
-22
7
0
7
8
5
68
0
61
-5
32
-84
0
6
13
55
-17
-37
-16
17
-15
63
0
-27
72
18
-4
0
35
-26
-21
5
0
38
14
43
15
0
-38
60
-9
-13
0
32
14
-2
-1
0
-8
-5
3
3
0
7
17
-2
3
0
-53
-37
-1
-6
0
40
-30
14
3
0
-53
42
3
0
0
2
20
-1
0
0
-7
0
-10
0
0
-3
23
0
0
0
1
0
0
-1
0
1
10
-7
0
0
-52
-3
4
0
0
-6
-61
44
51
0
12
14
-23
10
0
-33
-9
12
14
0
-13
-83
-46
-18
0
41
-18
-15
-51
0
-8
-5
-3
-17
0
101
51
-12
-5
0
4
-6
8
6
0
-54
49
37
32
0
49
-11
46
100
0
-24
-29
-21
20
0
-12
-28
4
-39
0
-21
-31
-10
46
0
8
-37
11
-15
0
-130
-4
-78
28
-6
-91
81
-70
-5
0
-1
72
-38
71
0
58
34
-8
-9
0
10
-59
-49
16
0
-29
16
7
9
0
14
15
-1
1
0
-1
-3
6
-7
0
3
-10
-1
1
0
-99
9
8
12
0
9
4
23
-5
0
9
-28
-1
-2
0
-18
-17
4
-1
0
-10
-51
7
9
0
0
3
-1
0
0
-1
4
-6
-3
0
-2
4
-1
-1
0
-1
-16
-3
-1
0
-88
-12
-1
-40
0
-6
-61
-27
-2
0
51
-89
-54
15
0
34
-97
-9
0
0
-59
40
17
-1
0
-2
44
0
1
0
5
-29
5
-1
0
-19
-41
29
-2
0
23
-13
36
9
0
-52
-13
-39
-8
0
-38
-43
4
37
0
10
10
-30
-13
0
-9
15
-57
26
0
3
-8
-54
12
0
55
75
-53
-67
-20
-19
-1
-85
-66
0
70
-15
-8
11
0
-12
2
7
-39
0
-64
102
14
-28
0
-33
18
-9
-11
0
27
-118
34
-2
0
6
81
-4
8
0
5
-8
22
-1
0
-22
-39
0
-8
0
50
6
23
-9
0
7
-38
28
-13
0
-14
46
48
-14
0
21
-40
-13
20
0
73
0
-1
-1
0
0
-8
48
-3
0
2
2
2
-2
0
50
18
-15
-16
0
14
-14
-10
-29
0
-73
-88
17
9
0
-15
23
-36
-3
0
13
-65
-3
42
0
-63
-83
-36
-37
0
-28
-50
15
-32
0
-46
-26
-12
9
0
-54
69
-39
-3
0
50
14
-24
26
0
-76
21
30
10
0
13
25
61
-34
0
5
31
-24
22
0
-45
-16
17
59
0
-62
54
-26
52
0
20
-9
-48
14
3
-11
2
6
-69
0
-8
19
-18
-36
0
-1
33
-37
-22
0
-3
34
-40
-10
0
53
-26
-29
43
0
-39
-3
56
-14
0
42
-46
-40
6
0
3
-4
-15
0
0
21
-38
-6
5
0
51
-65
-12
41
0
45
-7
-36
6
0
2
11
-3
-17
0
-31
-26
16
-13
0
0
9
-31
3
0
-2
-8
32
-13
0
-1
-7
3
3
0
-71
28
-15
1
0
0
20
-4
-6
0
-32
-15
25
-103
0
-21
-58
35
8
0
-14
-64
-67
-17
0
-1
-13
5
40
0
55
10
41
-30
0
-9
12
4
-1
0
-4
-23
12
1
0
-67
36
10
15
0
-22
1
-9
99
0
20
-48
27
-48
0
68
-33
-52
-25
0
11
-16
-7
13
0
-2
-28
25
-28
0
-5
15
88
7
-16
7
-66
-16
27
0
78
37
-75
-21
0
3
23
56
32
0
-32
3
-18
-13
0
-77
-35
20
-11
0
-5
51
8
-1
0
0
4
6
2
0
6
14
0
-1
0
-14
-1
7
-1
0
-75
64
-17
10
0
12
-45
17
9
0
13
-89
-21
-2
0
29
1
22
0
0
4
15
-1
4
0
0
0
0
-8
0
-8
-5
-12
8
0
-6
-5
7
7
0
-17
-97
2
21
0
11
-10
-67
-24
0
-51
34
-4
-31
0
72
-65
-58
-10
0
-66
57
-14
-55
0
-20
44
-33
-23
0
13
-75
41
-32
0
19
-76
-63
-12
0
6
2
-11
66
0
-8
42
-6
-5
0
-36
-20
19
-27
0
-15
17
-97
-10
0
17
-38
44
-53
0
16
-3
-141
-63
0
18
-90
39
-14
11
-51
-81
-23
-68
0
22
-3
-39
20
0
-44
13
103
42
0
-19
-28
-1
3
0
50
-71
9
-25
0
19
26
28
-6
0
7
-9
-9
-4
0
-6
40
8
0
0
-44
-71
22
4
0
8
31
0
-8
0
-33
-29
-29
-31
0
-14
3
-4
-2
0
-3
8
-48
1
0
0
-51
-17
1
0
0
-19
5
3
0
-22
2
4
2
0
-59
-13
-6
-19
0
-86
-28
35
-32
0
10
-27
-102
-12
0
-21
-5
12
-37
0
-11
-1
-75
-19
0
54
-46
-19
-37
0
-48
-8
-82
-40
0
-13
-14
34
12
0
-26
-57
7
-12
0
2
-12
-11
-32
0
-64
71
-50
9
0
7
-34
44
29
0
-33
-64
-75
-28
0
48
-120
-49
-34
0
19
-14
-15
-37
0
29
10
-5
20
9
-31
32
-67
-102
0
21
23
-4
-6
0
41
-4
28
39
0
7
36
29
36
0
103
82
21
-15
0
12
-22
56
49
0
37
93
18
63
0
13
-20
20
25
0
93
-9
-11
-45
0
13
43
17
-25
0
34
-20
54
27
0
1
-12
25
-52
0
-83
67
91
55
0
-27
-51
-10
-24
0
4
93
86
2
0
-29
-43
-3
-13
0
78
32
58
35
0
-25
54
-26
26
0
-15
7
29
81
0
6
0
-71
5
0
-75
26
56
10
0
-49
2
-20
15
0
23
-45
76
-16
0
9
-48
20
-14
0
12
-58
65
41
0
-48
16
47
-18
0
87
22
-59
60
0
3
72
24
3
0
-41
42
51
29
0
49
25
-2
-9
0
3
-2
-8
4
0
-8
8
-1
60
20
-16
-9
0
13
0
23
26
16
-32
0
13
11
9
20
0
-2
83
-3
79
0
42
47
-26
-17
0
-20
-36
19
54
0
20
54
32
-7
0
69
-5
-7
40
0
14
59
24
-30
0
-28
10
-25
41
0
60
20
-71
13
0
19
5
-11
22
0
55
-5
41
34
0
52
-3
32
0
0
-19
53
79
46
0
-3
3
-14
14
0
-56
77
-1
9
0
40
-8
0
6
0
79
-21
12
-16
0
5
-9
-32
8
0
-32
-34
20
0
0
-73
50
13
19
0
25
-32
-22
30
0
4
-1
9
3
0
5
-35
35
-27
0
44
45
60
-37
0
-72
42
18
41
0
6
-57
127
-9
0
5
36
-73
-7
0
-35
22
25
-40
0
7
65
-70
48
0
26
-19
44
-35
12
34
-4
1
27
0
36
-9
25
-43
0
9
45
0
-36
0
-6
23
-37
10
0
-25
76
1
49
0
94
81
1
1
0
79
-13
31
-30
0
17
51
3
27
0
73
-10
18
14
0
-17
-14
14
44
0
33
-33
64
28
0
-3
36
10
3
0
-38
20
15
0
0
-27
46
8
-6
0
19
-56
8
30
0
-27
14
37
9
0
-23
10
27
3
0
114
-61
18
0
0
-17
-28
-35
22
0
-10
46
6
-4
0
39
32
32
-40
0
-54
10
24
0
0
-48
-20
55
-8
0
-3
-2
-3
0
0
2
-66
13
1
0
11
-25
57
-23
0
0
-47
28
23
0
-1
-33
4
-17
0
1
-42
-15
21
0
12
-27
8
3
0
4
1
-6
53
0
18
50
-45
12
28
-1
-7
29
-39
0
19
43
-32
-10
0
25
14
-44
-24
0
65
-4
0
47
0
19
111
-30
-21
0
23
29
32
-5
0
-60
23
50
8
0
52
-61
5
13
0
17
-42
28
26
0
-45
11
38
50
0
106
4
-10
-28
0
19
5
18
-5
0
-44
-47
33
-23
0
-12
-20
77
7
0
4
82
-66
24
0
13
-26
6
0
0
10
-31
72
-21
0
-19
21
37
-34
0
-96
-13
44
-14
0
-18
54
-43
6
0
56
-85
33
-4
0
1
58
-4
-6
0
1
40
7
-5
0
6
-9
2
-3
0
-25
-4
-41
-5
0
-35
33
56
-5
0
4
40
-19
9
0
1
37
-17
7
0
1
-13
58
17
0
43
66
-18
-15
0
30
-30
-14
-10
0
20
11
-84
1
10
17
-78
28
6
0
-12
57
55
3
0
17
23
54
6
0
45
56
23
23
0
-51
46
3
22
0
21
-6
27
-10
0
33
-13
33
19
0
3
5
2
1
0
7
-24
19
5
0
47
62
7
31
0
-32
23
-13
8
0
7
44
12
-3
0
-24
-5
-17
6
0
-5
-10
-5
1
0
0
6
3
-13
0
-3
-4
-13
3
0
40
3
0
12
0
-56
27
-12
-4
0
2
-19
-1
23
0
38
-7
-10
0
0
-50
14
2
1
0
8
-5
4
-2
0
0
-1
2
2
0
0
-5
4
0
0
-8
1
0
-3
0
-1
27
-17
22
0
8
22
-25
-64
0
-5
-33
-12
0
0
15
-24
8
10
0
14
3
2
-3
0
0
13
-4
0
0
29
-9
-2
0
9
5
-15
15
-23
0
70
6
14
1
0
-16
-23
11
16
0
-5
16
29
-57
0
74
-42
93
3
0
21
50
-10
-3
0
60
66
-29
-2
0
14
-10
-6
6
0
-37
79
2
-5
0
-23
73
56
2
0
-87
-5
-18
32
0
4
-2
2
-2
0
114
-19
-45
0
0
-5
33
31
-4
0
-4
-18
-13
-14
0
1
-19
14
1
0
8
60
-32
-25
0
50
30
18
9
0
-4
-46
2
7
0
18
-40
24
1
0
-42
-8
5
-2
0
0
15
23
2
0
-3
0
17
1
0
-2
-6
10
0
0
4
7
1
1
0
2
9
-22
6
0
-23
-25
-22
45
0
-7
17
-7
-1
0
-41
-42
25
0
0
6
9
-60
0
0
6
-6
-6
-5
0
-10
19
-46
-6
9
-45
-35
6
1
0
32
78
-9
24
0
10
-35
39
-11
0
-30
-4
7
1
0
74
-31
-28
29
0
-21
29
6
0
0
-26
29
-44
-3
0
2
-6
6
0
0
11
-26
-28
2
0
-22
47
9
-5
0
-21
-17
-5
-5
0
-7
-25
12
-7
0
-14
8
8
5
0
0
29
3
1
0
0
5
-3
-7
0
2
0
7
5
0
-53
0
22
2
0
28
75
-5
0
0
-1
-2
0
10
0
3
-2
-1
0
0
0
-5
3
-2
0
-1
8
-2
0
0
0
0
9
0
0
0
0
0
0
0
6
0
0
-1
0
7
-56
-5
-7
0
5
5
-13
-15
0
0
-10
-13
0
0
-30
0
0
2
0
3
7
-4
0
0
0
-6
-3
1
0
-1
1
10
0
-30
8
-5
23
-4
0
10
-10
80
125
0
-9
73
55
1
0
-4
4
25
2
0
0
20
-22
62
0
-12
-2
-26
-10
0
50
3
21
-6
0
-59
3
36
6
0
17
-4
-3
-6
0
23
10
4
0
0
37
53
-15
-7
0
-5
86
-27
12
0
34
-41
-33
-13
0
-6
-16
7
0
0
16
-20
22
-6
0
2
84
7
-4
0
-40
-46
28
-2
0
-25
45
7
14
0
-34
62
-3
31
0
2
5
7
3
0
-10
-33
5
1
0
1
-66
27
3
0
-6
2
-30
1
0
1
0
1
-1
0
-9
25
-9
-1
0
-68
-12
-67
8
0
13
12
16
-8
0
-2
8
-48
0
0
-38
-3
13
-9
0
-3
-2
21
-6
0
10
5
24
7
0
47
-56
-7
5
26
-79
1
-33
-3
0
35
-43
42
48
0
24
12
-12
20
0
-12
91
-10
14
0
52
-20
58
-13
0
-13
9
11
-6
0
-13
38
2
39
0
7
-37
34
0
0
22
43
-11
-6
0
60
12
81
-23
0
-22
-44
84
-12
0
-38
52
58
0
0
39
20
-44
-7
0
71
-21
11
-1
0
-1
-2
6
-8
0
0
-7
-32
3
0
-57
-2
5
15
0
-43
-49
11
-7
0
5
23
3
-2
0
-7
30
-3
0
0
-21
8
5
5
0
27
38
-13
0
0
7
10
-7
-4
0
-6
-1
3
-4
0
30
3
2
-4
0
55
-5
-31
1
0
0
4
-3
0
0
0
3
1
0
0
0
-6
18
9
0
22
21
-32
7
0
2
-19
21
7
0
29
7
-5
-2
-10
8
63
-19
18
0
10
-18
32
34
0
-19
-4
36
-8
0
22
-40
26
10
0
49
-10
27
33
0
81
8
77
-30
0
-12
30
-65
-8
0
5
43
21
-5
0
33
-66
-18
4
0
44
34
-58
9
0
20
-37
96
-24
0
-3
11
-23
8
0
-14
63
29
5
0
-13
10
-4
3
0
0
40
2
-8
0
-4
-11
-5
-1
0
-38
66
-17
0
0
34
45
-48
1
0
34
-32
-18
3
0
-1
29
4
0
0
2
9
-6
-4
0
-18
63
5
-2
0
5
8
-34
3
0
-4
0
0
1
0
29
15
7
0
0
-22
30
2
2
0
-13
-67
19
7
0
0
-6
5
2
0
4
-8
-4
0
0
12
14
2
0
0
2
7
-2
8
0
-1
-65
-2
0
10
-13
-48
-7
-2
0
-18
15
-29
67
0
16
-16
49
-1
0
4
-2
43
-14
0
56
-89
65
-1
0
-68
28
3
17
0
98
18
28
-21
0
-14
4
-32
-7
0
11
72
19
-8
0
38
-3
3
-4
0
20
77
-46
-24
0
-8
-43
36
8
0
19
2
-1
-8
0
2
3
-12
-1
0
0
10
4
-1
0
5
-43
-21
14
0
-2
18
8
-24
0
-1
-15
51
0
0
-32
-40
-3
-3
0
-9
1
2
0
0
41
33
-27
8
0
30
1
-4
-3
0
9
3
-10
0
0
-3
0
-2
0
0
6
-1
40
2
0
25
9
24
2
0
3
-17
24
-21
0
0
-2
-9
-1
0
6
8
-5
-1
0
-8
25
-4
4
0
-1
3
10
15
0
-8
18
-42
-10
10
0
-6
-31
2
0
-56
28
41
2
0
39
45
-13
5
0
51
60
1
5
0
-18
37
-39
-102
0
-13
-39
-13
-4
0
74
-24
35
15
0
48
-36
3
4
0
-24
1
-28
-5
0
26
-8
22
5
0
-17
2
49
5
0
3
-20
-47
-6
0
41
-43
16
-5
0
7
18
-81
2
0
-3
-4
49
7
0
-5
-21
18
3
0
21
-26
-13
-4
0
18
6
63
0
0
-78
1
-19
-1
0
-5
-25
-10
2
0
-25
-21
1
2
0
23
6
-2
2
0
-5
13
14
-1
0
0
-5
-3
0
0
-14
-27
-17
0
0
-6
37
23
2
0
1
25
9
-1
0
0
-6
8
0
0
-14
-32
-5
-1
0
-2
-26
6
-14
0
-5
-11
27
-7
0
8
-8
-14
0
9
-31
-4
-31
-36
0
36
7
7
-16
0
-7
26
22
19
0
-6
-1
40
30
0
-12
-60
10
-18
0
-42
58
21
-3
0
-24
-4
2
0
0
-8
-16
0
0
0
1
-4
-25
-7
0
63
-39
21
8
0
-14
29
-1
-1
0
1
2
0
-1
0
-19
3
12
5
0
2
-5
0
0
0
0
-2
5
0
0
-2
-3
-27
6
0
7
24
-1
-3
0
-13
-16
16
-10
0
17
36
8
5
0
2
17
-40
0
0
-8
10
-2
0
0
7
14
-6
1
0
-1
-1
-13
0
0
0
0
0
0
0
-3
-12
-2
0
0
-23
-11
-13
-1
0
30
13
-14
1
0
3
5
0
0
0
0
8
2
1
0
-2
-9
-2
-8
0
-2
-8
3
0
0
2
5
-1
-3
1
-18
2
25
-1
0
28
49
9
8
0
-13
-16
2
-45
0
9
24
23
25
0
24
65
-32
-12
0
-85
7
35
17
0
-49
3
-6
-1
0
7
-7
-15
0
0
22
24
-31
-7
0
-18
13
-16
7
0
41
-53
49
8
0
0
1
6
2
0
33
3
-22
-5
0
0
-12
0
0
0
0
3
6
0
0
0
8
-1
-4
0
-9
0
-8
2
0
67
-36
0
2
0
122
7
-2
2
0
-7
-8
5
-6
0
-19
25
6
0
0
-2
8
-2
3
0
10
2
-2
-3
0
0
-4
0
-1
0
-19
1
3
0
0
9
19
22
-6
0
17
-41
-2
-2
0
0
5
-7
0
0
-8
-3
-6
0
0
0
-13
-16
0
0
-5
0
-10
-6
0
-24
8
0
0
-25
-22
-3
5
5
0
20
24
40
57
0
39
2
18
19
0
-10
25
-5
-15
0
32
9
16
-27
0
7
7
-47
5
0
7
-39
17
40
0
-4
-5
1
3
0
-26
48
-29
12
0
10
-59
9
-19
0
-19
41
5
17
0
0
-13
5
6
0
31
-16
2
-4
0
5
-32
31
1
0
4
2
-1
-5
0
1
0
0
-1
0
-25
-41
10
1
0
17
-7
-10
-4
0
52
-7
7
-41
0
-3
-18
5
3
0
-25
-2
-3
1
0
6
12
6
0
0
4
0
-24
3
0
-2
2
0
-1
0
-6
3
5
0
0
-34
73
-48
0
0
-10
25
-36
-1
0
0
-1
-1
-5
0
2
0
4
-7
0
-1
-13
-5
0
0
0
-2
-13
-1
0
-1
3
-1
0
25
-38
-25
6
-3
0
-43
37
-2
-5
0
-17
-4
54
13
0
49
29
-62
0
0
47
18
-40
9
0
1
-47
37
1
0
-26
6
1
3
0
17
-2
-7
0
0
56
24
-6
30
0
36
39
44
-13
0
41
7
-105
-30
0
33
-9
-6
-31
0
7
73
5
-5
0
2
-3
-13
7
0
-22
4
4
0
0
0
25
19
2
0
29
-40
41
-17
0
11
12
55
26
0
-11
5
41
26
0
-14
-37
95
3
0
-62
-13
-78
0
0
6
16
-14
-6
0
0
-1
-13
5
0
1
-1
-4
0
0
-25
-4
-34
0
0
7
-9
-23
-10
0
-15
40
35
0
0
0
-3
-6
-1
0
-19
8
-52
0
0
-5
-31
8
-13
0
7
-18
-2
-1
0
-6
-3
6
1
-11
5
38
-33
-36
0
-24
13
32
9
0
-22
-16
4
20
0
-19
-41
25
8
0
-29
-30
-25
-52
0
23
-26
34
12
0
73
-5
-3
-1
0
-36
5
8
-5
0
-34
56
27
5
0
61
-3
-10
6
0
7
-15
25
9
0
6
13
0
2
0
11
-13
-37
8
0
11
73
-15
5
0
13
-63
-42
-6
0
43
80
-8
-7
0
90
9
-4
34
0
11
11
2
-9
0
17
4
-36
-42
0
-2
2
-3
12
0
5
-21
-26
14
0
-22
-14
13
-25
0
20
7
19
13
0
-21
20
17
11
0
-23
-22
-32
41
0
22
-5
-17
53
0
11
-3
-3
-42
0
17
33
-10
12
0
9
13
93
-18
0
34
12
-8
-7
0
-12
39
-25
18
0
-14
-38
-33
-20
8
-21
-31
-14
17
0
-9
19
-10
43
0
4
-10
77
14
0
24
4
84
-45
0
78
-41
-18
0
0
-61
-13
35
-23
0
-29
-14
-43
-5
0
12
-25
23
6
0
84
-4
-1
1
0
51
73
-5
5
0
-9
-18
-2
-5
0
1
-2
-69
-3
0
24
-47
9
16
0
25
-19
-3
10
0
-9
60
-55
2
0
-46
-6
50
2
0
27
-10
5
-6
0
7
-2
10
-23
0
23
5
12
-44
0
-1
-10
-8
-7
0
-20
-38
3
-27
0
-22
-12
-37
15
0
-23
-7
-95
37
0
-27
26
-17
-5
0
45
-53
35
19
0
6
48
-3
19
0
-103
12
-9
44
0
-95
11
-24
56
0
-68
-11
30
10
0
45
-18
12
-36
0
-28
41
35
-49
0
-53
12
20
-49
4
-69
-11
25
-13
0
-18
17
19
9
0
-50
41
22
13
0
-77
57
-23
0
0
-49
2
14
7
0
14
3
8
1
0
92
-7
31
-10
0
18
5
1
-1
0
13
-19
13
0
0
52
5
18
0
0
21
19
-20
-4
0
1
30
3
0
0
9
4
24
-2
0
-2
53
-41
5
0
8
2
3
-2
0
17
-6
-1
1
0
-100
-25
25
-1
0
-6
-4
-47
-21
0
-5
20
4
12
0
-7
-69
-42
-34
0
-16
-33
-76
-6
0
-7
-68
-7
-25
0
-73
10
30
21
0
-45
-4
-20
-9
0
-52
-59
24
-48
0
76
3
-42
-86
0
-59
-48
5
7
0
7
31
22
48
0
61
5
-9
-7
0
48
43
-88
24
0
13
-27
60
-58
0
-18
50
-16
74
-4
-32
-10
6
12
0
23
-43
-18
22
0
-8
8
63
-39
0
46
-20
-47
-8
0
-43
-16
47
0
0
41
-42
1
0
0
30
-10
13
-2
0
1
-6
1
-1
0
-16
-57
-5
0
0
6
10
22
5
0
-36
11
17
-3
0
0
16
-20
0
0
-9
-8
38
-2
0
-9
-49
17
-5
0
7
-22
-18
-1
0
5
-6
-3
0
0
-32
-10
-12
-3
0
-2
-3
-31
23
0
-25
-1
0
-28
0
-12
-44
-31
4
0
-20
15
-86
-55
0
15
13
-11
-40
0
24
9
-33
-27
0
-60
-110
20
64
0
-167
45
36
-17
0
-34
15
-43
-12
0
-29
56
11
8
0
-32
-12
-27
12
0
9
58
-7
-33
0
-15
18
5
17
0
-13
4
-12
10
0
-55
-47
16
-17
-5
-62
12
3
-84
0
7
7
-37
23
0
16
53
55
-21
0
-19
-62
10
-3
0
66
10
-34
31
0
-46
-13
5
-17
0
-44
13
3
-14
0
-1
8
-7
8
0
17
-29
0
-1
0
-42
-13
-14
-10
0
40
3
-15
4
0
4
40
-3
0
0
28
-40
-8
-15
0
-1
63
-5
-1
0
0
-5
3
0
0
-22
-13
3
0
0
61
30
-70
-2
0
-3
3
8
5
0
-8
-83
-32
24
0
-31
-38
25
-31
0
-40
31
-6
-2
0
-1
-6
63
74
0
-18
1
50
19
0
14
-23
-67
-24
0
-75
-50
-45
69
0
-29
16
-10
-64
0
-80
58
16
42
0
12
90
-28
-20
0
-25
4
-6
13
0
-39
76
-12
-28
0
-1
-24
-39
-43
0
14
58
4
-5
-18
-38
7
26
-5
0
-12
21
41
8
0
46
51
27
-7
0
27
-11
-32
12
0
8
64
-49
24
0
-43
25
-23
2
0
13
14
44
0
0
11
0
-3
4
0
6
-16
-41
-5
0
-48
17
-9
8
0
23
28
25
6
0
0
25
-1
0
0
44
-9
-9
0
0
1
17
-34
-2
0
-1
7
-9
1
0
4
5
-8
4
0
-55
103
-12
-9
0
-10
9
23
2
0
12
-75
-52
46
0
-61
6
7
21
0
-27
-19
-40
-12
0
53
-53
-33
10
0
-100
-75
-3
-7
0
-50
48
-5
-45
0
-21
15
19
26
0
-21
15
-12
9
0
30
-41
-47
-9
0
5
51
-10
8
0
20
-1
-8
-5
0
2
-23
-15
-12
0
8
-6
-110
2
0
-82
50
-5
-71
44
-66
-1
-34
-50
0
-32
-29
80
10
0
25
24
-58
35
0
-5
53
-5
2
0
-16
23
-3
20
0
8
6
-19
0
0
-1
-15
10
0
0
3
-3
0
1
0
68
-8
-20
-12
0
-42
20
-3
0
0
-40
34
10
-7
0
-2
-24
3
2
0
25
12
-3
-10
0
0
-6
0
0
0
-2
-1
-3
1
0
-3
5
0
1
0
24
-24
1
3
0
-15
-33
18
83
0
19
-33
-66
-32
0
-4
-10
-27
31
0
16
-63
-100
1
0
-51
65
51
-53
0
78
-104
54
-36
0
19
-36
73
-55
0
-38
-43
19
-3
0
19
-11
-35
-51
0
-96
60
-3
0
0
41
41
-34
-6
0
30
-55
-28
-15
0
-5
-93
9
0
0
3
40
-25
0
0
34
-78
-2
-46
-43
-12
-12
-7
-15
0
17
-5
31
-45
0
44
41
-34
-6
0
13
-21
-48
-6
0
-23
16
42
-12
0
57
-9
52
-4
0
-22
18
14
-4
0
25
-30
8
-7
0
-76
18
21
-4
0
-4
44
11
-9
0
-102
88
32
9
0
-16
8
-53
2
0
23
-37
-3
-3
0
31
31
6
2
0
13
-2
-41
0
0
-2
10
-13
-3
0
15
13
-3
5
0
-25
6
-4
-21
0
-34
-44
-8
-15
0
-28
1
-48
-45
0
-14
-36
-65
-29
0
29
-35
-12
0
0
32
-82
25
16
0
-59
-86
14
-14
0
-15
-19
-47
-1
0
-7
4
-45
38
0
12
30
-109
-3
0
-46
-40
-8
8
0
-16
-53
42
-2
0
11
-1
16
-132
0
-8
16
-13
-30
0
-51
-54
-1
22
-27
-3
-102
-60
23
0
-30
-31
20
44
0
-41
72
-3
40
0
70
46
56
-2
0
25
-13
18
-10
0
-1
2
-10
-4
0
41
-9
46
-4
0
-2
5
-3
0
0
-49
19
42
-8
0
8
26
-62
-32
0
87
39
18
6
0
5
20
-10
18
0
-51
6
9
18
0
11
-21
-5
-9
0
-42
2
3
-3
0
-6
10
30
-1
0
33
-16
-5
0
0
-15
5
40
32
0
-6
36
-3
20
0
6
0
19
-106
0
-35
4
134
-29
0
27
-19
59
-32
0
-58
-35
-15
-40
0
35
-29
-72
59
0
-27
-37
4
-14
0
48
10
5
1
0
-8
-8
-1
22
0
-9
19
24
-18
0
1
6
4
51
0
89
-35
0
-12
0
2
7
18
-20
0
27
23
-25
-20
18
-41
-13
-60
1
0
-32
-15
50
58
0
9
71
21
-24
0
39
49
-42
-1
0
47
-3
-22
49
0
161
38
66
0
0
-36
-25
25
19
0
-14
33
-42
-5
0
4
45
-48
8
0
61
-83
24
-8
0
-47
-4
54
-63
0
-1
-28
21
6
0
-42
-23
10
8
0
-26
59
5
0
0
8
-13
16
0
0
4
-15
-41
0
0
-40
7
-21
4
0
-1
-15
34
88
0
4
4
49
-45
0
-3
-26
-4
-43
0
15
-110
47
-16
0
-73
40
74
-18
0
-38
-36
-30
21
0
52
8
-68
1
0
-58
-35
12
-1
0
12
15
-14
5
0
-12
-13
48
1
0
-32
7
-51
56
0
10
-5
37
2
0
42
17
-21
10
0
-27
-10
4
17
0
1
73
-40
-47
-7
17
24
8
32
0
-3
46
46
-38
0
17
13
29
49
0
-9
69
28
-20
0
-14
2
8
-7
0
3
0
49
0
0
-56
67
-22
2
0
9
14
-1
0
0
-35
9
-5
13
0
-12
40
3
0
0
38
-45
6
18
0
8
-8
-5
-6
0
-13
-7
3
6
0
4
-16
5
0
0
0
0
25
0
0
1
9
-3
-3
0
14
0
-3
-29
0
-15
-35
-6
-7
0
26
-30
-26
2
0
-28
34
-9
3
0
-24
-53
-31
-1
0
-21
19
-42
-25
0
-19
21
-12
-7
0
44
-18
-2
-47
0
47
-22
-48
-34
0
-23
22
3
-27
0
40
-35
-9
44
0
42
-34
7
-7
0
1
-17
42
17
0
-9
22
-28
-24
0
-25
73
7
-75
0
46
-20
-20
78
-21
-2
18
-29
-13
0
55
-10
38
99
0
-62
9
39
-3
0
-33
0
9
-5
0
-4
-37
9
-14
0
33
96
2
3
0
20
-92
76
-23
0
18
4
5
-2
0
-31
-27
13
-1
0
-10
84
23
18
0
-8
-51
-32
13
0
8
19
-14
-9
0
17
28
2
0
0
10
-8
-14
-3
0
1
17
9
-4
0
-1
-8
8
-1
0
-12
-47
1
0
0
-37
-4
21
-39
0
66
-74
-30
3
0
-52
-10
-39
21
0
-24
48
-56
-6
0
-59
-17
43
-67
0
-84
-27
-13
0
0
5
49
3
-8
0
64
23
-62
-29
0
6
-3
-11
3
0
7
17
30
2
0
-61
10
8
25
0
53
-2
-19
22
0
40
-28
11
-15
0
30
8
54
-11
0
-52
47
-30
20
-19
-23
34
11
-8
0
25
37
62
-22
0
25
36
60
-27
0
-32
33
0
-37
0
12
27
-51
18
0
-14
-10
-7
-3
0
-28
24
-23
19
0
19
-11
20
-1
0
-7
27
-4
-6
0
-7
2
-36
27
0
-71
22
15
6
0
-8
30
-22
41
0
-15
24
-4
42
0
16
4
4
-7
0
0
-30
24
12
0
0
-3
-14
-10
0
6
-56
13
-13
0
-8
5
-21
-15
0
-27
-11
49
0
0
-21
6
-47
38
0
-16
-29
-9
-33
0
54
-51
-95
4
0
-2
10
-2
-7
0
-90
-82
64
59
0
-26
-14
-88
-8
0
6
29
4
26
0
-3
22
71
-75
0
13
-40
41
-48
0
89
11
-24
-13
0
-14
20
21
-6
0
-45
-1
22
28
0
35
31
-33
20
-13
-18
-5
11
53
0
60
8
31
29
0
42
26
-5
-16
0
-12
-33
49
47
0
-15
2
11
18
0
12
-29
20
5
0
35
39
41
-6
0
-4
-14
8
5
0
-37
6
-5
7
0
-13
-46
28
58
0
16
37
-24
5
0
-7
-21
38
0
0
-24
6
3
-20
0
-1
-1
24
0
0
4
11
-3
8
0
2
15
2
-8
0
-11
2
-10
2
0
-32
-13
24
-18
0
-58
29
6
61
0
-18
0
-42
-38
0
28
24
-59
-13
0
-40
30
-8
19
0
-85
30
-34
-41
0
-3
-23
-44
-22
0
-8
11
-56
-1
0
30
2
13
5
0
51
-12
1
25
0
4
-36
-37
-94
0
-22
1
-78
-1
0
-22
-2
40
67
0
-9
51
13
-29
0
2
-52
35
-83
-14
-29
33
8
30
0
108
33
19
22
0
55
1
-67
59
0
-31
-15
22
-1
0
7
-3
5
31
0
35
21
-7
-6
0
-55
4
-2
-8
0
-1
17
17
2
0
22
19
-34
-28
0
-31
45
6
-6
0
26
-44
15
24
0
6
15
-58
23
0
-12
21
33
4
0
-3
28
-25
4
0
8
0
-25
-1
0
0
7
0
0
0
6
-1
-17
14
0
-34
19
35
5
0
3
-14
-26
4
0
16
-38
11
3
0
-53
9
-51
-46
0
-45
8
-76
29
0
-62
-36
-38
15
0
19
-41
-55
-7
0
19
43
43
-22
0
-59
29
-21
34
0
36
-35
1
-2
0
8
-58
4
-21
0
1
-83
14
-15
0
-5
-8
-20
67
0
7
-94
14
-34
0
-10
31
-2
12
-23
-83
87
53
-109
0
6
-19
30
40
0
-22
69
22
-68
0
-84
45
-32
15
0
-36
40
-33
-1
0
47
0
12
0
0
-32
17
24
41
0
-20
73
-16
-27
0
8
-62
12
5
0
72
-20
51
-11
0
59
-48
40
31
0
3
36
-29
-13
0
-53
-35
-22
12
0
-48
73
2
-7
0
-3
-1
-5
-10
0
-12
-5
-25
2
0
-18
-26
-51
-22
0
-14
-19
6
-2
0
-93
8
8
7
0
-65
-56
2
5
0
13
-53
39
-66
0
102
-29
15
4
0
16
14
-28
-53
0
7
11
20
-20
0
-43
-83
-17
-53
0
10
1
15
2
0
30
27
-43
51
0
13
-18
-80
11
0
-49
-18
-43
8
0
-69
-34
-80
12
0
30
-84
25
23
0
24
-38
-5
-36
-12
-36
-6
-79
1
-27
30
10
35
-12
30
22
0
10
53
69
-9
-16
-11
18
32
-8
7
16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
69
-8
-40
-13
-32
24
27
32
68
4
38
15
27
15
21
13
19
-52
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
34
45
38
13
12
-20
12
33
38
-3
-24
5
-14
1
12
4
54
-21
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
54
-81
-4
-28
0
-5
65
2
15
0
15
-5
-37
1
0
-19
-4
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
7
-5
-17
33
-5
38
21
28
11
5
5
106
-20
26
27
16
18
7
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
30
50
-15
54
51
6
16
45
4
2
2
13
62
12
2
-44
-7
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
-89
44
90
-6
49
-52
20
17
5
81
28
-28
0
4
-64
44
39
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-21
-9
8
7
4
-46
98
-10
0
58
2
28
0
4
6
16
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-12
44
55
22
10
9
30
-2
66
-46
-42
36
31
47
5
-26
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
45
-12
13
-10
48
52
73
-21
-20
12
13
-3
-27
24
-10
-23
-38
41
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
22
-40
2
3
47
21
-1
29
-1
4
36
-24
6
20
40
-27
-8
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-68
8
-52
7
0
12
63
5
0
0
47
-17
9
-3
0
12
-24
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
19
-6
8
-45
-2
-12
40
-51
28
99
-15
14
49
-16
-16
37
57
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
82
-6
61
-1
6
24
-48
23
35
13
37
13
7
4
-49
29
-26
-36
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-74
110
43
-30
-3
-42
-22
-39
2
30
-18
-16
21
12
-12
54
25
-98
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
30
35
1
0
-9
-9
0
17
0
6
-3
-12
1
-4
-89
62
-34
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
11
41
10
77
40
23
57
56
29
33
26
12
59
2
-5
-18
24
-13
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
23
-54
25
31
49
46
14
17
-50
5
-4
30
-4
12
-13
38
-30
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-17
3
-21
32
0
25
-2
-12
8
-4
-69
0
0
3
-1
-2
-10
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
46
19
17
-22
0
-60
-25
-40
0
0
1
-4
-8
-1
0
16
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
32
6
-11
53
61
45
-59
7
0
20
46
-60
19
3
-12
-31
46
-7
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-46
61
46
-11
39
30
73
-62
27
-8
1
-33
-42
8
-1
14
4
15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-44
21
4
-6
-14
10
59
3
19
2
-23
25
-24
0
1
-43
-14
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
16
43
-12
0
19
-93
-6
-18
0
-33
-15
-24
0
0
-49
-13
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
81
16
6
-26
-13
18
-11
8
-44
18
26
26
26
0
-22
19
-26
-5
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
42
-12
-12
-5
-34
20
-10
-7
-2
-16
1
-8
-9
-5
-8
14
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-29
-36
-5
2
-1
-7
40
5
-2
1
1
-16
0
0
0
14
-13
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
24
-23
-2
0
-5
3
0
-1
0
7
0
1
0
0
4
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
48
0
34
27
-9
12
60
-4
7
-8
-24
19
-1
-91
12
-31
42
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
-28
60
7
22
22
40
91
-67
42
52
-1
15
9
0
-43
35
-7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
-29
47
23
6
-47
51
-41
5
-9
11
9
-13
0
19
6
-21
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-17
20
12
1
48
-30
4
13
0
-29
13
3
-6
0
-29
-8
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
31
66
45
75
10
-49
-4
33
31
-64
5
37
8
-21
-7
-20
-8
28
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
43
43
3
34
4
-33
19
86
43
14
48
44
60
-8
-8
-30
51
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-38
-5
9
37
46
42
46
29
-16
-46
19
39
48
1
8
-24
-25
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-25
5
47
-6
11
85
2
-11
42
2
-29
27
-44
-14
21
25
-83
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
30
48
10
6
53
46
52
-25
-13
-6
8
-17
0
-13
38
-3
93
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
20
33
25
35
12
59
23
57
-49
-4
-52
-1
10
-2
-27
61
8
32
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-33
6
33
-33
-41
-79
55
52
54
10
-3
-53
19
10
-34
6
-9
27
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
123
-22
-33
-42
-20
-85
62
-13
16
-1
-27
26
-8
5
29
-4
-49
27
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-90
41
72
45
55
92
33
-12
-9
-15
16
93
-8
-15
32
1
11
41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
57
38
-45
21
18
53
-13
-21
0
0
-31
-4
25
9
-1
23
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-62
-19
53
24
10
-48
-55
-31
25
-12
0
-22
-10
30
-44
-76
67
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
45
-18
-33
4
-47
16
44
9
1
30
14
-9
7
-13
0
5
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-11
50
44
19
-43
-65
-47
-13
62
16
37
-16
38
6
30
63
15
-50
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
24
69
-48
12
12
14
5
8
4
0
3
-47
-6
80
-27
45
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
3
-12
-84
13
23
-76
12
-6
-45
-29
3
-39
53
-2
-32
-28
-14
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
9
-13
1
6
12
15
8
-13
3
-5
-58
0
0
-48
47
7
-25
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-25
-4
55
-24
35
-10
25
11
7
-3
-3
-10
50
-5
42
-82
34
-57
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
5
77
-10
-44
23
-69
4
41
13
44
58
-27
-3
20
-40
45
-46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
21
-9
68
-8
-56
43
17
14
-2
-4
-2
-13
12
-1
-14
18
2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
59
-51
-10
-5
64
45
-2
28
-7
-2
19
31
-34
13
-6
-1
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
20
9
29
8
16
-31
-29
39
29
31
80
-14
-71
15
21
0
24
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
39
46
-13
12
-59
-2
25
-55
15
9
45
1
61
-10
-20
18
46
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-41
17
-7
1
24
-12
-59
-10
3
0
9
-8
27
-4
-7
9
-31
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-73
-9
-6
-5
-7
-16
1
7
3
0
-25
12
-13
-15
5
-31
-47
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-47
53
-4
28
-88
70
62
-37
25
66
11
-78
43
-17
-101
-8
-42
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
18
40
5
4
10
-3
0
0
-4
-67
-15
25
-3
-24
17
13
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
12
-50
26
-13
-31
57
-18
27
24
4
14
13
13
2
-1
-12
37
-45
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-3
46
22
-32
49
-75
51
-34
-5
19
-47
-9
10
3
-24
8
4
29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-22
-11
-45
-16
-2
-58
-13
32
-15
-34
11
-6
-31
-22
-23
41
49
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
17
-18
25
14
2
-6
-16
25
17
-22
-5
40
-43
15
28
5
22
-41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
66
32
-23
44
58
-38
-1
-21
10
-51
-48
22
8
-13
-31
-59
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
75
-28
-21
4
-4
37
-41
-10
10
-22
0
42
14
-2
0
-82
-13
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
17
-31
0
-29
17
-63
35
63
2
11
16
33
-34
-4
-30
70
37
29
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
7
-6
-29
55
-7
-60
37
39
7
43
18
-21
-25
12
-8
19
-8
58
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
11
2
-10
18
7
42
39
19
-30
9
5
9
4
12
3
-24
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
41
35
-22
51
-43
47
-13
76
59
1
3
-35
1
8
-21
44
-2
-5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
23
-4
-8
27
-1
42
-7
33
64
-25
-42
77
10
-1
-2
-5
-67
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
13
19
-10
-8
-23
38
41
44
8
7
-29
9
19
3
39
57
-24
-46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-17
-1
19
8
-18
-11
-13
-16
-11
2
-30
-10
14
-1
-76
-31
2
-13
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
73
28
-6
37
9
62
18
-9
-40
0
16
17
38
-137
10
43
-106
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
6
-1
19
17
9
-27
-31
49
32
-72
71
67
10
-13
5
93
-90
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-92
22
13
-11
9
-38
10
-12
1
-8
7
0
-6
-4
-10
1
-31
41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-7
-10
-1
8
-14
4
-4
18
-36
52
7
8
0
23
63
-21
2
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-66
-20
7
-5
19
-69
-17
-73
-25
-2
24
-17
0
49
4
-47
30
77
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-21
57
-71
0
-48
78
-3
52
17
-18
16
74
-6
-9
-25
73
-27
34
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
9
-28
31
3
-15
-26
12
7
-30
-4
-10
-39
-9
10
40
-79
-46
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-17
-38
29
-30
-24
-19
3
-5
-4
-69
3
-35
-6
-53
-17
-56
19
-3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
16
25
41
-6
-39
36
-25
49
8
-15
-29
32
-15
0
20
12
5
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-9
-29
-4
9
-8
-30
64
-8
-6
-11
26
21
0
0
17
-60
-15
-21
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-44
3
1
10
4
39
20
-44
1
-18
39
-2
33
1
4
-14
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
47
25
57
44
11
29
38
-42
-24
-39
14
-12
-8
-95
-104
21
-55
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-37
-46
-16
21
8
3
-17
-84
46
-56
-29
-75
70
-46
-22
20
32
-13
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
7
-15
-65
21
33
53
-12
-41
-20
-13
78
-15
-6
-9
29
41
-13
54
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-33
2
61
-4
-42
29
-34
16
10
-3
-8
44
-5
-1
-14
15
-38
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-15
41
44
1
73
-33
11
-3
45
-63
-55
-11
-37
-13
-74
-18
-15
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
26
21
37
60
-52
-27
82
-36
44
-33
0
-50
-37
-22
-10
-24
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-5
44
34
4
-97
-46
26
-19
-12
-20
-31
-4
13
-5
-10
1
34
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
18
-6
2
25
-7
20
-24
-3
-1
-17
4
6
0
-3
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
33
-54
18
-45
-74
-19
107
-54
-22
-65
-43
-93
-31
-9
88
-115
-2
-7
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-61
17
50
22
-23
-109
-14
-39
-5
6
3
-26
53
-70
33
-26
-56
-98
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
67
20
0
-60
-58
-41
-49
1
-12
7
-20
15
4
39
-29
-32
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
26
-28
-61
8
18
6
16
9
0
-2
-8
-39
-10
1
19
23
-28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
22
-17
20
-26
-93
-5
-47
-31
-41
-2
-63
19
-38
21
-23
-125
-6
-21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-36
30
6
-48
-18
25
-35
-88
-18
-27
-73
-60
27
8
-6
61
-24
-43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
48
28
28
-7
-4
-23
28
52
11
19
38
3
-69
-8
-21
15
21
-30
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
-7
64
61
54
11
-32
-61
38
72
-47
7
-12
-14
1
11
11
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-9
-10
-4
3
25
-20
27
60
-13
-27
-34
17
-32
-97
27
-22
-16
66
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
16
9
10
-1
-40
19
-27
4
-26
-9
7
37
-16
23
4
-8
41
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
5
17
8
51
13
51
17
0
-8
28
29
15
-8
19
-25
-18
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-18
-23
-32
38
16
-14
59
46
-9
-23
-1
-1
47
-17
-4
-7
25
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
16
-4
1
-59
49
60
5
-7
-61
31
7
27
-37
17
-127
-61
62
-20
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-25
-22
12
-11
21
9
-25
33
16
-44
-16
44
35
31
-25
-105
-23
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-35
-44
7
-14
40
7
8
63
9
7
-14
-59
-3
-13
-24
-13
27
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-54
-34
23
34
24
18
-42
-47
-1
-13
-6
49
-66
55
44
4
6
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-35
-20
6
33
-34
-9
-62
13
-1
0
-25
39
7
10
-97
-115
-96
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
16
9
89
15
23
17
6
-46
-52
-43
32
-57
65
10
2
16
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-33
0
46
-20
103
-61
-28
-92
46
-20
22
-22
28
47
46
-20
2
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
-49
-75
5
-21
-37
6
-2
-13
16
-9
-52
-34
-22
-59
-28
-15
25
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-18
80
34
57
-24
-37
-23
-96
-62
44
-100
-16
14
19
21
-52
-127
-65
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
7
23
38
50
-102
42
-31
-13
14
0
15
-5
3
-1
13
0
-66
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
37
-26
23
24
-34
72
59
-16
42
-40
-10
39
1
-57
53
-26
-25
95
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-42
5
43
-23
66
-25
-47
17
-7
-20
29
70
-9
13
16
-25
18
16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-17
-11
-9
-113
-83
27
15
45
4
35
-58
39
-43
-84
-83
-6
-122
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-10
-4
17
-12
-4
2
9
-22
-36
-3
43
48
8
-27
-83
-38
40
-60
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
30
18
11
18
-3
27
-29
-16
24
25
52
-22
0
-5
47
-39
43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
24
4
25
46
1
-48
3
6
-14
-24
-57
-15
15
-20
29
-14
-38
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-19
25
25
35
-52
-30
-98
-85
-37
-9
4
-34
16
-37
9
-37
-59
-56
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
4
15
-9
40
15
13
-13
44
6
-1
-82
-56
-22
75
-49
-20
18
-29
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
46
0
-23
44
35
24
49
44
33
-59
-64
3
-51
-8
-22
9
-31
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
84
12
-25
-6
7
55
-23
-8
-13
-30
-43
-2
31
3
0
-40
13
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-13
1
-20
-14
91
37
2
-51
-18
-24
-63
6
19
-47
49
1
-62
22
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
32
-56
-31
32
-24
-43
-23
13
-65
-40
-13
-16
-87
-10
-61
-18
-70
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
52
29
-29
25
22
11
7
23
17
-30
32
72
30
10
28
25
43
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
95
12
51
-10
-38
-42
-6
-66
-31
-2
-32
2
-11
-8
-89
-69
-5
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-12
-44
10
-9
1
-17
-89
13
-62
-101
-12
-71
-197
6
-21
-61
-81
-58
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-69
-32
-12
-29
-47
-12
9
-105
-54
31
-34
-51
-28
-20
-53
-43
12
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
20
5
5
69
9
6
-9
11
116
67
51
4
63
-21
15
16
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-4
19
45
51
-16
-37
-8
11
39
-1
-26
7
57
7
-8
30
-15
74
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-43
-65
20
20
9
-68
34
-1
62
0
51
12
-33
6
34
47
-10
75
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-6
54
-15
5
-5
70
-5
1
-38
1
29
-11
6
-5
0
-4
-19
31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
38
-16
-5
30
39
13
-26
-31
51
54
-38
90
-16
69
27
10
34
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
84
-3
7
12
-50
12
36
115
19
-21
52
22
-68
33
-30
108
33
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
22
50
-15
-50
-78
-1
-49
-38
-13
-43
19
26
4
19
38
35
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-54
41
28
-5
86
-145
30
-16
-1
0
-16
-35
-4
2
0
28
-6
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
31
31
35
94
30
-1
5
39
52
81
65
6
-14
-37
38
-4
80
25
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
75
-19
77
9
21
-43
-37
-4
-9
-5
-50
-4
7
19
45
39
-75
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-7
6
12
-19
5
-17
14
7
30
4
-18
-65
27
8
-31
5
24
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
-24
19
38
-1
36
57
-30
9
0
-24
-58
1
-3
0
24
-49
49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
30
-16
27
33
2
45
46
-39
-42
-2
22
-13
20
-1
18
8
-38
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
41
8
25
-44
11
29
47
-35
-13
13
53
-28
23
114
-28
6
12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
107
4
11
-4
-97
-4
-16
21
-2
-32
22
-38
9
3
-87
-11
-61
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-72
9
-2
35
0
59
-8
20
-41
1
-4
-40
24
-4
40
6
-23
-81
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
47
40
8
-5
-34
47
45
7
-39
-2
-66
56
27
-37
-25
-22
69
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
58
4
42
-11
91
76
-45
6
-27
0
41
-33
-7
6
-1
-23
-8
-33
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
56
26
-14
39
66
93
-3
5
0
-5
29
-2
-2
7
5
-29
1
-27
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
68
-5
-6
0
-3
93
33
38
0
-5
6
8
3
0
1
-2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-10
18
4
38
-15
24
27
2
-2
-38
9
-28
-42
24
-30
18
-6
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
42
-37
29
37
9
50
-4
4
-11
5
-29
20
27
0
17
-2
-23
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
61
-10
-6
99
33
-20
-52
-72
13
-13
-28
29
0
-1
-30
-38
38
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
35
74
-6
19
18
-3
5
16
0
-4
-9
0
1
0
3
17
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
35
44
-22
6
52
-60
52
47
6
41
-85
-20
29
11
-8
-28
-28
43
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
61
20
14
2
6
-8
13
13
8
-1
16
-5
-9
2
-4
-1
13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-19
52
10
4
8
-47
-18
28
10
-7
27
-31
-9
0
0
3
19
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
51
-1
-1
3
-29
8
-2
0
3
-7
-2
1
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
79
42
-7
6
-11
-3
27
90
23
-31
-31
66
29
13
2
64
-43
-17
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-11
45
-82
42
42
5
2
-41
42
4
-8
-12
36
0
24
-73
64
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-59
-27
70
-13
21
-8
59
59
5
-19
-16
-22
-12
-3
23
17
-71
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
-16
-3
-5
2
-34
-24
44
0
0
-5
1
-24
4
1
-38
-13
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-3
56
-49
29
50
5
-3
57
1
-49
-43
38
4
-1
25
10
-1
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
51
-27
110
-12
31
-25
-19
62
-15
18
-9
29
7
31
3
-21
94
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
53
-15
9
-29
71
7
-1
14
-7
41
18
27
-4
0
-10
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-26
20
25
-12
0
-36
-6
15
8
4
5
27
-10
-5
0
1
-13
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
33
72
31
45
14
-10
11
-3
102
-25
104
-25
60
-20
48
-23
41
-20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
20
18
51
56
37
20
-54
42
7
8
-6
49
-2
16
-16
-21
-27
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
-10
-5
3
-79
52
20
16
0
-5
5
6
-5
0
18
-18
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
20
-46
1
1
-17
8
-16
20
0
13
-7
0
0
-1
-17
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
13
28
20
53
8
17
0
8
-11
29
65
20
-3
-13
37
-21
-3
33
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
58
28
-25
41
10
70
-34
11
-60
-55
7
19
-36
-44
-1
-33
-32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
34
42
42
-6
49
17
22
14
35
24
57
-56
1
3
5
49
8
-37
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
47
-15
26
-3
-2
-16
22
-15
-8
0
9
42
-2
-7
-2
-8
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
34
40
-12
-3
-2
35
-11
-37
-50
3
15
-65
1
-18
34
18
-40
-28
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-29
29
5
54
-20
-30
37
-18
17
-34
0
46
-28
-47
-10
-74
66
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
20
8
-13
4
-5
-15
43
28
-22
3
-40
44
-24
3
13
47
41
-73
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
29
-15
-5
-4
-19
28
9
10
1
8
-51
27
3
2
3
-50
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
27
48
23
15
-27
4
-3
10
-28
57
62
15
-13
14
-22
27
-7
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
32
27
43
-8
-26
30
29
15
-1
-5
1
-17
-8
3
7
-6
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
79
28
-25
-2
3
-53
8
8
-3
0
-29
-1
-3
-3
0
-4
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
16
-8
-3
0
-5
13
-8
1
0
2
2
13
-2
0
-1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-2
55
35
8
-41
71
11
2
87
-12
21
-12
63
-44
42
-3
-39
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-61
-9
17
-10
11
30
18
52
19
4
14
-25
-22
1
-9
-5
-15
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
70
-59
21
-18
17
-14
-25
22
-1
8
-2
4
-3
12
-12
41
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
33
7
4
-22
3
-16
-31
2
0
-2
-7
-3
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
29
13
-22
11
2
21
-10
9
29
22
-11
4
-11
-4
76
28
12
61
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-28
-58
-17
-2
52
0
15
-16
-17
60
3
20
-20
2
-108
21
20
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
25
32
15
-16
-66
42
-57
-36
52
-1
-9
9
13
-9
6
0
-9
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-29
-9
1
1
14
2
16
2
-2
-24
7
-5
-1
0
3
-4
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
72
60
-13
-77
-3
10
71
-37
54
22
37
38
-46
51
-63
-42
63
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
16
66
-7
-24
3
56
1
-12
36
19
-39
-38
-12
-38
42
-30
-25
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
31
51
5
-44
42
26
6
-5
-10
-23
31
1
-14
36
-87
-21
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
30
60
-30
12
28
-16
-54
-4
3
-4
25
-22
0
1
20
-29
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-14
-1
56
11
-13
16
95
65
-49
-21
13
29
0
-41
27
47
-8
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-23
22
-87
-22
48
13
14
-33
-8
24
-22
20
16
-2
-4
-76
41
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
7
-2
21
10
-10
13
2
19
6
-5
-35
-3
-24
-10
-2
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
26
-37
15
-38
32
-20
23
-44
-26
4
30
3
-6
-61
-2
0
-71
31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
39
-12
42
17
-19
3
17
17
34
-17
59
32
4
-20
-7
14
-32
76
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
-45
30
24
66
77
26
-22
-21
-16
-5
-43
-7
-5
-5
92
6
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-9
4
20
3
-7
-13
-8
19
-10
-23
-27
-36
-5
-21
-24
-44
-59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
2
35
-66
-47
40
-3
-62
-18
-41
0
-39
-15
63
0
-9
28
23
-68
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
7
-16
67
-24
15
82
39
8
4
-7
38
103
16
-24
26
49
-5
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-2
38
53
-5
17
-34
22
-11
-22
9
34
-14
-36
-4
-5
5
14
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
7
1
20
4
-99
1
4
2
-54
-8
-11
-9
15
-33
-34
-8
-17
-60
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
15
-31
-1
48
-75
-22
-57
6
-58
-48
36
4
-22
8
-48
-17
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
4
-12
7
5
36
-10
99
5
-47
-28
-37
39
-2
6
1
22
-13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-62
24
-23
-7
30
17
-17
-24
5
0
-27
8
22
0
-11
-12
-37
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-2
-7
-6
-27
-35
-1
-11
32
-50
-34
5
39
6
-62
-14
-33
-25
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-26
-11
-13
40
-32
51
-22
-55
-13
-25
-61
-57
6
-8
-15
-51
38
-30
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
63
-25
-33
39
6
-7
62
-10
14
1
-52
-14
-27
-7
25
40
-3
57
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
89
56
-51
-26
14
6
-38
-39
-29
-5
-4
41
-5
1
-7
-12
25
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
22
40
39
-28
-16
27
34
20
25
-1
27
58
5
-124
-77
53
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
28
48
-20
25
75
13
-63
-19
2
-18
-21
-58
21
0
-68
-4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
52
48
12
-1
36
53
-24
-93
32
-4
131
86
-50
-32
23
-14
-26
13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
17
-29
-28
24
-53
47
13
-24
-8
-9
0
3
1
0
3
-7
-32
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
60
-44
-6
-53
-14
-31
-35
50
-13
-27
13
-15
-3
-11
-70
-41
53
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
50
24
-60
-73
55
59
-44
-12
-8
0
-27
-28
32
-40
7
12
-21
-39
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
41
1
1
4
-3
5
-38
1
18
23
-29
29
33
-17
-6
-23
-14
-9
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
37
-30
115
-41
13
-54
-24
15
-10
0
-27
8
-9
8
2
-5
-13
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
-9
-9
-35
-14
1
41
-21
-24
-46
3
14
-15
-73
-33
-53
22
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
76
-53
-61
-37
-6
58
43
-27
-39
25
-49
-16
-3
14
10
-25
12
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
4
55
-29
-11
33
-43
58
53
-43
-48
78
67
2
-22
32
4
-15
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
53
-6
-72
21
9
-4
1
29
-72
-2
5
-18
-8
-12
-71
-93
22
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
1
-13
15
-8
-47
-28
-27
45
-56
-3
-20
-23
-88
35
-66
-80
-25
-55
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-46
-33
21
-9
36
-44
-2
-125
-15
37
-9
-34
22
19
16
-3
-52
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
30
-7
2
39
11
22
-30
30
-24
75
0
-17
4
-27
-10
59
73
-33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
-70
57
-14
35
40
40
-20
-1
32
-34
2
1
46
-1
30
5
9
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
22
12
9
-62
-2
-11
5
-28
12
65
-7
0
-86
-37
9
-61
-10
-3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
5
10
26
5
-18
-5
-11
28
-1
39
2
-5
-50
-6
-31
0
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-55
41
87
39
-4
39
22
6
-19
52
61
-21
39
-26
-2
-28
45
-60
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
119
-16
-82
15
13
-23
-10
-17
-2
5
16
-10
12
3
24
-38
-22
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
13
5
20
-86
-10
9
29
-23
52
-18
-5
-44
-30
-58
21
-29
-62
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-13
-5
0
33
-3
-43
5
33
62
25
22
-23
-14
-1
-112
-68
19
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-34
49
-22
-9
26
-45
59
47
37
-27
-27
15
23
26
-7
-58
41
-11
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
2
4
-8
16
7
14
45
-8
-5
6
7
84
-11
-14
-14
19
-24
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-4
-68
-14
-19
-1
17
-3
0
-51
-13
-39
19
36
-98
-18
88
-10
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
12
4
2
61
66
-77
-29
59
-59
33
24
3
-6
-18
-146
6
0
26
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
16
-59
69
27
15
2
24
35
35
20
-55
-24
-21
-2
33
74
-56
-72
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
74
51
77
-13
-42
39
6
-15
16
-16
-4
-13
2
0
-54
-39
30
57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-64
4
17
31
57
-85
32
53
6
-39
89
120
28
-28
-43
-96
-106
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-57
65
-34
6
-17
-65
-9
-4
7
-27
7
-41
-22
-2
96
36
-35
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
36
-28
72
9
57
18
47
-45
17
16
54
-7
58
48
-97
-29
10
84
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-58
-3
-8
25
-39
17
30
-21
-1
10
3
-5
-24
-3
43
-22
30
48
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
-14
21
37
-33
-23
-110
-8
29
-8
3
-54
-33
-68
-121
-58
-84
11
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
31
-13
-8
-22
-61
-2
-7
28
-13
-13
32
32
-18
-85
0
10
-87
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-15
59
8
-1
42
17
31
29
-40
-3
-2
2
2
13
-6
58
-66
7
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
57
38
-39
-5
23
38
20
59
4
-15
10
-3
-1
21
-4
-26
-10
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-14
23
-32
-10
78
-1
-27
35
-78
-147
8
55
53
-9
-24
-6
64
-9
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-3
29
32
-38
-11
-34
-3
35
0
73
17
-65
-22
-110
-125
14
35
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
20
32
-24
13
54
-40
-5
50
28
-56
44
4
0
-27
-7
14
-41
46
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
22
48
1
29
-34
7
-3
-12
-1
19
-43
11
42
-17
21
-7
33
-41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-26
-10
-6
-26
-6
-35
-27
-55
-85
-51
-45
29
-4
-40
-151
-33
23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
4
-24
13
45
-19
16
-21
-42
-44
-53
47
-55
72
-30
-47
-3
-38
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-43
57
35
-25
-15
-21
23
-8
-22
33
9
-14
5
53
-66
-9
-7
-30
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
2
79
63
-26
-7
-33
56
-1
56
18
-15
-33
28
8
-11
-4
14
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
12
-47
-63
-19
-106
13
22
-44
37
-80
-47
-56
-65
-14
93
-5
-43
43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-19
-28
-48
-11
-90
-101
56
0
-10
56
-56
-29
29
21
7
-60
-5
80
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
45
50
0
0
45
-11
-15
0
0
81
59
63
0
0
11
37
30
0
0
48
43
23
0
0
9
2
61
0
0
8
70
2
0
0
16
-34
-3
0
0
28
84
9
0
0
-62
55
16
0
0
47
-73
18
0
0
38
48
46
0
0
49
28
4
0
0
0
42
-23
0
0
98
12
-24
0
0
-68
29
55
0
0
35
32
-33
0
0
44
-63
-8
0
0
-8
62
1
0
0
42
44
5
0
0
71
-44
-27
0
0
-22
-8
85
0
0
5
-13
31
0
0
-64
-10
82
0
0
-6
60
21
0
0
-43
-70
42
0
0
-10
-27
41
0
0
-16
16
-68
0
0
17
49
33
0
0
-19
10
6
0
0
56
-16
21
15
9
-69
-10
-64
0
0
22
9
-40
0
0
-26
21
38
0
0
37
36
35
0
0
5
27
9
0
0
72
-85
59
0
0
54
-15
-1
0
0
15
18
17
0
0
-30
18
36
0
0
48
33
-8
0
0
15
31
-21
0
0
-34
29
10
0
0
-19
66
63
0
0
26
-2
-2
0
0
-53
27
16
0
0
32
50
-16
0
0
-1
50
-37
0
0
21
55
-52
0
0
57
44
25
0
0
-2
-42
15
0
0
-31
-23
7
0
0
60
-69
44
0
0
-24
-31
-4
0
0
25
-19
-30
0
0
-38
-15
-14
0
0
-17
16
-7
0
0
24
10
71
0
0
0
-54
-9
0
0
-20
43
52
0
0
45
-23
-20
0
0
62
-5
1
0
0
-28
49
-39
-4
24
123
4
42
0
0
16
-56
5
0
0
23
-29
-62
0
0
4
37
40
0
0
-22
13
4
0
0
-22
53
5
0
0
-13
41
101
0
0
-4
2
-19
0
0
-1
78
-34
0
0
70
-24
16
0
0
5
8
5
0
0
84
19
8
0
0
21
-9
-15
0
0
-5
-3
0
0
0
-25
11
-7
0
0
16
-14
-17
0
0
44
-4
-6
0
0
6
-27
43
0
0
3
1
5
0
0
-1
30
-67
0
0
31
14
-9
0
0
-14
13
17
0
0
-24
41
-32
0
0
-2
-29
-4
0
0
-10
5
49
0
0
-10
-8
-30
0
0
1
-55
-43
0
0
0
56
-52
0
0
10
45
32
0
0
-23
-10
-62
0
0
-29
75
12
0
0
3
-2
-64
-4
9
22
-32
1
0
0
-47
39
110
0
0
-17
16
-8
0
0
-20
0
-85
0
0
-24
31
-12
0
0
13
5
62
0
0
19
12
16
0
0
25
-2
4
0
0
19
63
39
0
0
-44
43
-19
0
0
13
-3
-9
0
0
-14
-1
59
0
0
-31
29
20
0
0
-5
3
-8
0
0
-5
13
-33
0
0
9
-94
-5
0
0
0
95
-28
0
0
5
-7
-23
0
0
-32
18
54
0
0
-14
-30
8
0
0
54
-28
37
0
0
-65
-54
-12
0
0
-7
-13
8
0
0
-6
-3
-5
0
0
-25
-21
20
0
0
2
26
-21
0
0
-6
31
-13
0
0
0
44
5
0
0
23
48
-28
0
0
19
-11
14
0
0
7
0
-25
0
0
25
-11
-16
-19
-24
-32
-2
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
21
0
0
1
-6
40
0
0
-16
45
-62
0
0
-58
47
5
0
0
39
19
-13
0
0
-5
-63
12
0
0
6
21
2
0
0
-16
8
0
0
0
9
54
-6
0
0
69
-45
16
0
0
135
48
0
0
0
66
-15
73
0
0
-35
128
11
0
0
19
-29
-11
0
0
-51
11
3
0
0
45
25
-26
0
0
55
-4
30
0
0
-83
86
29
0
0
11
-128
5
0
0
-10
-5
5
0
0
1
-3
9
0
0
10
-4
16
0
0
-26
16
-7
0
0
29
49
19
0
0
-7
-6
20
0
0
5
25
9
0
0
0
38
-13
0
0
-26
-37
9
0
0
-7
33
6
0
0
-6
56
-60
0
0
-65
4
80
28
8
-2
1
11
0
0
14
-17
41
0
0
-26
16
59
0
0
13
14
-14
0
0
27
49
-32
0
0
18
-82
-15
0
0
-3
33
38
0
0
14
-24
5
0
0
-76
27
-44
0
0
54
82
16
0
0
52
60
15
0
0
19
-35
-53
0
0
0
-68
47
0
0
13
11
48
0
0
1
-5
-60
0
0
-31
16
5
0
0
7
-7
8
0
0
49
3
5
0
0
-54
-25
5
0
0
-5
-5
-4
0
0
-16
-15
5
0
0
39
32
20
0
0
33
18
-31
0
0
-6
31
8
0
0
-40
48
-80
0
0
-8
-47
-21
0
0
-1
6
-10
0
0
0
-15
0
0
0
-3
-43
2
0
0
26
18
6
0
0
1
-48
-10
0
0
2
16
7
18
-33
-50
60
-13
0
0
8
-15
0
0
0
-12
5
5
0
0
-9
-46
61
0
0
2
-2
33
0
0
-1
7
2
0
0
-5
12
-1
0
0
7
-2
-13
0
0
-7
-32
-2
0
0
-20
26
-1
0
0
-17
-69
14
0
0
27
3
-22
0
0
44
50
-61
0
0
18
15
-2
0
0
3
-6
0
0
0
-42
20
-41
0
0
31
3
17
0
0
-31
43
4
0
0
-18
33
24
0
0
17
1
-1
0
0
-47
14
-3
0
0
7
-14
-4
0
0
0
-3
1
0
0
1
-13
0
0
0
43
-19
3
0
0
-1
-11
2
0
0
0
-21
0
0
0
8
-30
7
0
0
-7
-11
4
0
0
33
28
7
0
0
0
26
-5
0
0
20
47
5
0
17
9
-63
7
0
0
16
21
-20
0
0
48
-41
-10
0
0
-31
38
-66
0
0
-38
29
-24
0
0
70
9
-3
0
0
-14
2
14
0
0
-5
-18
-1
0
0
-7
-20
-1
0
0
37
26
-23
0
0
12
34
28
0
0
34
-12
-8
0
0
-3
-3
44
0
0
-1
-15
-5
0
0
-5
-3
36
0
0
3
-27
-14
0
0
-7
-85
-6
0
0
-14
30
5
0
0
15
-35
-7
0
0
-1
13
-2
0
0
46
23
5
0
0
0
-5
0
0
0
0
0
-1
0
0
1
0
0
0
0
13
-6
-6
0
0
-1
-37
1
0
0
-1
37
3
0
0
0
4
-1
0
0
-2
9
0
0
0
23
-61
-14
0
0
-16
-26
0
0
0
-20
33
-1
-26
-58
13
-5
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
75
51
0
0
53
31
-63
0
0
20
23
88
0
0
7
11
-13
0
0
-27
15
17
0
0
-5
-11
-20
0
0
3
33
-10
0
0
-59
34
38
0
0
126
10
-25
0
0
5
-7
12
0
0
1
67
-5
0
0
62
-8
22
0
0
24
-35
-23
0
0
22
15
-40
0
0
21
32
12
0
0
-8
36
-3
0
0
15
2
-6
0
0
23
57
-14
0
0
15
-2
5
0
0
17
-14
12
0
0
15
-16
-62
0
0
14
38
23
0
0
35
-21
-4
0
0
21
-28
15
0
0
-12
45
45
0
0
-83
50
-22
0
0
-25
-36
-10
0
0
-116
-49
-6
0
0
9
40
-4
0
0
-62
4
2
0
0
24
-42
73
11
7
7
-29
25
0
0
-15
-5
12
0
0
-9
-20
24
0
0
11
23
4
0
0
39
0
26
0
0
-30
-24
35
0
0
24
16
-1
0
0
-16
-24
7
0
0
-15
14
-32
0
0
19
3
-4
0
0
21
37
-15
0
0
-42
-88
35
0
0
19
20
-30
0
0
-13
6
0
0
0
-1
16
34
0
0
-15
77
6
0
0
18
28
-12
0
0
-23
11
51
0
0
10
-12
-41
0
0
-36
-4
29
0
0
35
-48
-31
0
0
-15
26
-9
0
0
45
-27
-32
0
0
0
-1
-70
0
0
59
-4
47
0
0
-5
41
53
0
0
26
33
12
0
0
98
-44
50
0
0
-6
25
2
0
0
1
-19
-21
0
0
-35
-5
80
0
0
-54
-51
-87
-6
4
-20
-22
-102
0
0
8
4
17
0
0
-10
12
-9
0
0
-39
-17
-10
0
0
-38
7
18
0
0
63
-54
-13
0
0
17
3
13
0
0
-16
8
3
0
0
51
-10
-9
0
0
-71
13
0
0
0
-18
0
0
0
0
-4
12
1
0
0
-1
1
0
0
0
-11
5
0
0
0
0
-26
1
0
0
-36
38
10
0
0
72
-46
4
0
0
-18
68
7
0
0
-27
-19
-11
0
0
-11
-21
-3
0
0
6
47
-35
0
0
-5
-4
-43
0
0
-48
99
-15
0
0
84
-6
-15
0
0
-3
-88
15
0
0
-11
-4
7
0
0
-16
-24
-12
0
0
-42
-1
-59
0
0
39
50
-83
0
0
46
19
26
0
0
1
-23
11
0
0
-62
-57
14
1
-15
57
-73
-49
0
0
-26
-36
-34
0
0
21
-30
-47
0
0
-22
1
-15
0
0
41
59
-21
0
0
-13
-16
29
0
0
0
-6
-7
0
0
-1
29
0
0
0
21
37
4
0
0
5
-32
0
0
0
16
-16
-2
0
0
-25
-23
-7
0
0
-21
-18
45
0
0
-34
5
-1
0
0
-1
20
0
0
0
-5
-65
1
0
0
-43
36
37
0
0
-13
-10
2
0
0
-65
-31
46
0
0
-25
6
30
0
0
-5
-42
17
0
0
-24
-40
24
0
0
-4
-22
-90
0
0
4
-21
-13
0
0
37
0
-75
0
0
-5
-9
-12
0
0
31
33
20
0
0
-29
-21
36
0
0
35
28
-38
0
0
-57
-12
17
0
0
20
-57
32
0
0
69
-37
-61
-25
-27
-18
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-30
25
0
0
16
-51
-46
0
0
43
-37
-31
0
0
-58
-47
3
0
0
24
-7
15
0
0
31
-24
10
0
0
23
-15
0
0
0
-26
-9
-10
0
0
9
2
-2
0
0
-8
-36
3
0
0
11
-25
17
0
0
-13
63
-9
0
0
31
-22
4
0
0
-6
2
-8
0
0
35
-15
2
0
0
16
-89
-47
0
0
22
21
46
0
0
71
32
-26
0
0
8
29
-82
0
0
24
-122
-26
0
0
-45
41
40
0
0
-41
-19
-36
0
0
15
33
-15
0
0
-2
-17
39
0
0
14
20
30
0
0
-26
77
3
0
0
11
-48
-6
0
0
-46
35
-11
0
0
39
2
-3
0
0
-22
-9
-9
0
0
-22
15
0
2
2
-53
4
38
0
0
18
80
22
0
0
18
-2
16
0
0
-76
-55
-3
0
0
10
-30
-41
0
0
-1
13
-5
0
0
22
-35
-6
0
0
0
29
-1
0
0
-20
56
-13
0
0
0
31
8
0
0
-67
-31
26
0
0
15
15
15
0
0
-39
41
-20
0
0
3
5
1
0
0
8
18
2
0
0
3
-18
4
0
0
-11
23
-5
0
0
-10
-27
44
0
0
-40
-5
-20
0
0
18
39
5
0
0
-72
29
69
0
0
-22
41
-5
0
0
-7
-75
-23
0
0
-16
-45
-7
0
0
-104
-27
-7
0
0
-22
20
29
0
0
31
-17
4
0
0
15
-19
12
0
0
11
6
-23
0
0
21
-30
-42
0
0
65
32
18
0
0
-7
24
-14
9
7
-9
-32
14
0
0
-15
54
30
0
0
-20
8
-5
0
0
33
1
12
0
0
-63
54
10
0
0
-35
10
3
0
0
-5
0
0
0
0
9
-48
-2
0
0
39
13
1
0
0
12
33
0
0
0
1
4
0
0
0
2
-110
5
0
0
-12
-16
-8
0
0
1
-8
0
0
0
0
-8
0
0
0
2
6
1
0
0
23
-67
-1
0
0
-38
-23
-6
0
0
-21
-40
3
0
0
-13
-56
-36
0
0
-56
-18
-16
0
0
4
-40
-18
0
0
14
-69
-53
0
0
-71
-49
-22
0
0
-8
32
-23
0
0
6
-11
-1
0
0
-8
1
-27
0
0
23
-18
27
0
0
-25
41
41
0
0
-57
22
-42
0
0
-5
11
3
0
0
-18
56
-2
-1
-16
-52
-18
55
0
0
-18
-43
5
0
0
-30
-3
2
0
0
5
-8
-26
0
0
-64
27
-5
0
0
-3
-5
-3
0
0
-8
-24
5
0
0
-8
7
0
0
0
-66
5
6
0
0
-5
19
2
0
0
1
-2
0
0
0
0
14
2
0
0
-62
-36
30
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-45
-25
-3
0
0
-41
-69
-21
0
0
16
7
-29
0
0
-6
59
-53
0
0
-31
-11
-83
0
0
5
4
-3
0
0
3
-22
12
0
0
-50
20
-32
0
0
-69
11
-44
0
0
17
-28
-28
0
0
21
-57
-36
0
0
0
61
-57
0
0
20
7
47
0
0
-14
84
80
0
0
9
17
-14
0
0
37
-32
17
-26
-9
-63
-61
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-26
0
0
30
-3
25
0
0
65
98
-15
0
0
59
104
-16
0
0
0
-25
10
0
0
86
38
4
0
0
29
30
-7
0
0
19
-62
28
0
0
71
88
-6
0
0
-2
29
-13
0
0
-51
29
29
0
0
42
37
96
0
0
60
37
32
0
0
-3
12
-12
0
0
40
-63
-11
0
0
1
58
55
0
0
94
14
11
0
0
-21
-29
51
0
0
47
-45
8
0
0
-12
8
36
0
0
-58
11
28
0
0
-16
1
29
0
0
21
-30
19
0
0
-15
62
11
0
0
72
50
35
0
0
-31
-36
12
0
0
-26
20
65
0
0
43
14
-54
0
0
-40
-6
-44
0
0
14
-43
50
0
0
-40
-65
-7
21
62
-21
20
44
0
0
28
11
42
0
0
-34
19
13
0
0
5
-32
32
0
0
-59
17
2
0
0
-56
-33
-1
0
0
-13
23
8
0
0
27
42
20
0
0
-23
9
41
0
0
76
14
17
0
0
12
14
-58
0
0
-47
-8
25
0
0
-38
22
6
0
0
-6
33
-12
0
0
20
-9
-22
0
0
34
6
-13
0
0
69
2
42
0
0
35
5
-23
0
0
-46
46
30
0
0
19
51
5
0
0
33
-15
-23
0
0
-14
41
-3
0
0
-16
-6
35
0
0
-9
41
-1
0
0
47
43
12
0
0
-3
-56
-6
0
0
71
35
-2
0
0
-8
6
-12
0
0
43
31
10
0
0
-10
-10
17
0
0
52
37
63
0
0
-25
62
-2
37
2
17
-80
58
0
0
38
-31
18
0
0
23
46
-37
0
0
15
38
-16
0
0
28
45
-27
0
0
-12
-2
14
0
0
-72
26
10
0
0
39
-18
0
0
0
-38
52
22
0
0
3
6
-13
0
0
-1
-3
26
0
0
-3
7
-2
0
0
19
28
-6
0
0
-13
-7
-2
0
0
-1
15
-34
0
0
-18
13
-4
0
0
17
-8
26
0
0
12
23
-5
0
0
16
-41
38
0
0
8
-3
-7
0
0
2
-6
-20
0
0
-17
15
20
0
0
-40
5
-8
0
0
2
-20
8
0
0
0
3
55
0
0
-10
-6
22
0
0
16
-11
6
0
0
-1
13
-24
0
0
26
-29
21
0
0
10
29
1
0
0
10
-38
40
0
0
68
-1
-2
23
-1
-39
-9
11
0
0
41
1
-5
0
0
-25
11
-32
0
0
-1
42
34
0
0
6
3
-28
0
0
-68
75
52
0
0
2
-34
9
0
0
-49
-4
4
0
0
53
47
-42
0
0
-18
48
6
0
0
-12
4
-20
0
0
89
-38
69
0
0
67
118
19
0
0
20
14
-2
0
0
-4
-17
-7
0
0
12
-1
-9
0
0
43
-73
-21
0
0
40
-32
10
0
0
-43
102
32
0
0
0
2
-29
0
0
35
-40
-4
0
0
-5
-3
-2
0
0
0
0
22
0
0
1
-18
-6
0
0
32
14
55
0
0
19
88
1
0
0
-26
-2
-8
0
0
12
-74
-6
0
0
-4
52
62
0
0
2
11
20
0
0
-1
-21
-12
0
0
-63
-22
-80
-15
17
3
-11
20
0
0
1
-24
-19
0
0
47
-12
27
0
0
-50
-29
10
0
0
44
22
29
0
0
-11
56
5
0
0
8
-23
40
0
0
22
-7
0
0
0
15
24
45
0
0
1
86
-2
0
0
-41
11
8
0
0
7
22
-6
0
0
-35
29
13
0
0
-3
-11
0
0
0
0
16
-3
0
0
-3
13
13
0
0
35
-5
7
0
0
8
-13
-3
0
0
0
7
8
0
0
-6
-3
-1
0
0
22
-22
-1
0
0
22
5
1
0
0
21
22
10
0
0
5
5
-1
0
0
23
-45
-8
0
0
16
-38
12
0
0
-12
-66
-21
0
0
0
37
5
0
0
-7
-52
-22
0
0
10
112
1
0
0
7
-56
3
0
0
-3
31
-1
0
59
-3
7
10
0
0
27
-5
44
0
0
55
-22
-11
0
0
-62
51
-8
0
0
-29
12
0
0
0
61
-76
30
0
0
10
-32
0
0
0
-12
-6
-1
0
0
-23
-11
-5
0
0
23
-16
-15
0
0
51
-35
16
0
0
-23
28
-4
0
0
7
-23
-1
0
0
-5
0
-1
0
0
5
7
-2
0
0
3
12
0
0
0
2
46
5
0
0
-19
31
-24
0
0
38
1
25
0
0
-1
16
-1
0
0
24
-15
-1
0
0
0
-21
1
0
0
-6
-34
0
0
0
0
2
0
0
0
-39
-32
0
0
0
3
-37
-7
0
0
-8
-29
16
0
0
-21
-3
-25
0
0
45
-33
-15
0
0
20
-34
-5
0
0
-16
19
-33
0
0
-12
96
-2
3
-62
25
-10
27
0
0
-41
22
46
0
0
29
43
-12
0
0
-6
-2
-50
0
0
91
63
-43
0
0
45
1
3
0
0
-12
7
-5
0
0
0
9
-2
0
0
19
24
-10
0
0
9
3
1
0
0
-21
8
-3
0
0
1
-13
9
0
0
28
-8
-1
0
0
0
8
2
0
0
0
5
0
0
0
0
-7
0
0
0
0
21
0
0
0
14
33
-6
0
0
-35
0
-4
0
0
5
-2
0
0
0
-41
6
0
0
0
5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-15
-9
-2
0
0
0
-45
0
0
0
0
4
3
0
0
-1
-4
-7
0
0
-4
5
9
0
0
-7
-25
2
0
0
-5
8
1
0
0
-5
-13
1
36
-50
79
-15
-3
0
0
14
46
60
0
0
14
-1
28
0
0
-11
24
-63
0
0
-16
63
4
0
0
-22
-33
21
0
0
38
8
-29
0
0
-2
34
4
0
0
2
10
-31
0
0
48
62
1
0
0
-7
-2
-10
0
0
-11
5
-16
0
0
3
-30
3
0
0
-9
6
5
0
0
1
-5
0
0
0
0
29
-13
0
0
-28
21
-7
0
0
-51
40
-7
0
0
-26
-32
7
0
0
-7
5
1
0
0
73
14
0
0
0
0
8
-9
0
0
0
4
0
0
0
-1
12
0
0
0
48
25
-1
0
0
-14
24
6
0
0
-29
-20
13
0
0
-3
25
2
0
0
21
32
5
0
0
-52
14
16
0
0
7
31
-34
0
0
19
-17
8
-21
24
-38
-34
16
0
0
7
-16
18
0
0
67
-26
-3
0
0
39
-11
2
0
0
-54
-12
49
0
0
14
-6
4
0
0
46
-24
-17
0
0
6
8
2
0
0
-32
9
15
0
0
7
35
-9
0
0
60
45
30
0
0
68
-33
31
0
0
55
-22
-27
0
0
31
-31
22
0
0
3
0
24
0
0
25
4
9
0
0
15
58
-83
0
0
-43
26
6
0
0
-36
-13
-40
0
0
44
-3
1
0
0
-72
-16
17
0
0
11
-2
-6
0
0
0
42
10
0
0
-5
34
7
0
0
33
6
-16
0
0
37
46
-11
0
0
-17
28
-4
0
0
2
7
12
0
0
10
7
-24
0
0
-22
55
6
0
0
0
8
-22
0
0
10
54
-9
12
10
-13
-26
45
0
0
-19
-3
-4
0
0
-11
2
24
0
0
-18
32
-7
0
0
9
-27
-56
0
0
3
29
8
0
0
38
-28
32
0
0
2
5
0
0
0
-63
50
-4
0
0
35
28
12
0
0
31
-17
7
0
0
57
-3
-17
0
0
8
25
21
0
0
0
15
-4
0
0
-4
-2
-5
0
0
-7
-2
-6
0
0
9
4
34
0
0
64
-9
-8
0
0
8
14
-8
0
0
-29
-9
-3
0
0
7
-20
1
0
0
14
4
3
0
0
-3
12
-4
0
0
-2
-18
-1
0
0
3
-52
-6
0
0
6
-9
-27
0
0
-4
63
5
0
0
0
30
-7
0
0
1
35
-16
0
0
29
-28
-1
0
0
-10
-9
-21
0
0
-6
-3
13
0
24
-51
-11
21
0
0
48
-57
42
0
0
-5
-25
-14
0
0
9
19
23
0
0
-45
4
55
0
0
-2
14
10
0
0
25
10
-10
0
0
-6
-3
2
0
0
-6
25
-1
0
0
6
-50
5
0
0
28
-22
5
0
0
-17
8
-1
0
0
40
-24
9
0
0
3
10
-1
0
0
-1
0
-1
0
0
-4
5
0
0
0
-29
-1
0
0
0
46
1
2
0
0
-8
23
1
0
0
-1
8
5
0
0
-30
-6
-6
0
0
16
-32
-5
0
0
-2
-4
-25
0
0
0
3
-4
0
0
-30
69
3
0
0
0
37
-18
0
0
25
-5
2
0
0
0
5
1
0
0
1
-33
-3
0
0
-3
-21
1
0
0
2
-4
-3
0
0
20
7
0
22
-3
29
-49
-42
0
0
32
50
3
0
0
56
23
-53
0
0
28
-9
-1
0
0
49
10
-9
0
0
-14
67
-12
0
0
-28
-15
16
0
0
-5
-12
-6
0
0
-6
11
8
0
0
-4
-4
-6
0
0
42
-8
22
0
0
38
-9
-6
0
0
56
12
13
0
0
0
4
0
0
0
-2
6
0
0
0
-3
14
7
0
0
-23
-19
-21
0
0
2
120
0
0
0
18
-47
-7
0
0
-9
-30
3
0
0
-9
-23
4
0
0
13
-3
1
0
0
0
2
-4
0
0
-3
-18
3
0
0
-47
7
6
0
0
13
5
0
0
0
-8
21
-3
0
0
1
-17
-5
0
0
-91
1
9
0
0
-1
-45
-3
0
0
-1
8
-6
0
0
-15
-46
-1
-3
-4
-10
-31
-40
0
0
-6
3
32
0
0
7
-12
25
0
0
-23
1
-9
0
0
-27
-46
-8
0
0
28
-22
5
0
0
-31
4
2
0
0
9
-17
5
0
0
21
-8
0
0
0
-5
-15
0
0
0
-4
20
0
0
0
8
16
2
0
0
-28
6
14
0
0
0
-1
1
0
0
0
-3
0
0
0
0
-4
4
0
0
-34
7
-1
0
0
-24
-3
-16
0
0
53
-2
27
0
0
2
-5
-6
0
0
4
17
1
0
0
-40
4
-3
0
0
2
-5
0
0
0
0
9
0
0
0
-33
-28
-25
0
0
-2
49
0
0
0
-4
-3
5
0
0
0
-6
0
0
0
-3
3
-9
0
0
4
-28
0
0
0
-3
-5
2
0
0
24
-3
-1
12
-32
24
15
4
0
0
-15
63
1
0
0
-29
-10
3
0
0
3
-38
14
0
0
-27
-26
-14
0
0
-22
0
-22
0
0
42
47
0
0
0
-3
-4
1
0
0
-65
27
-2
0
0
64
-22
8
0
0
42
-42
1
0
0
6
-42
0
0
0
-103
-46
3
0
0
0
25
0
0
0
-2
8
0
0
0
1
3
0
0
0
-2
-5
3
0
0
-25
6
0
0
0
5
-18
-1
0
0
8
-5
1
0
0
-67
10
5
0
0
3
-13
5
0
0
1
-2
-5
0
0
0
1
0
0
0
9
4
0
0
0
8
65
-18
0
0
2
4
1
0
0
-2
-1
3
0
0
-10
-8
0
0
0
-6
24
-3
0
0
6
-22
-1
0
0
9
3
-2
-10
7
15
25
5
0
0
27
76
-17
0
0
-14
36
-9
0
0
-43
-26
-33
0
0
-52
29
35
0
0
-3
51
-2
0
0
28
19
-4
0
0
4
1
-2
0
0
32
-40
-5
0
0
7
40
-2
0
0
5
2
-13
0
0
-20
41
3
0
0
-8
0
13
0
0
0
-1
0
0
0
0
3
0
0
0
-1
7
0
0
0
18
-28
0
0
0
34
-12
0
0
0
-58
-13
8
0
0
-5
5
0
0
0
-3
17
-2
0
0
-21
3
-1
0
0
-1
-3
-4
0
0
0
-8
0
0
0
-40
-30
-3
0
0
1
18
7
0
0
13
18
2
0
0
-2
-13
0
0
0
-1
-5
4
0
0
6
-58
0
0
0
2
24
0
0
0
-27
5
-1
-22
15
49
-52
5
0
0
43
27
-10
0
0
33
-17
46
0
0
-25
9
59
0
0
58
54
14
0
0
-4
-27
24
0
0
28
-45
-4
0
0
-8
5
-5
0
0
-55
43
-15
0
0
-15
-2
6
0
0
16
-52
2
0
0
6
45
-3
0
0
-14
-14
0
0
0
-7
-54
0
0
0
-3
0
0
0
0
0
-2
-7
0
0
19
-39
-2
0
0
46
8
62
0
0
-96
-15
18
0
0
14
-25
-5
0
0
-66
104
1
0
0
5
5
-8
0
0
-3
-8
-5
0
0
-1
1
1
0
0
-42
-90
-10
0
0
-6
-13
3
0
0
-31
41
-2
0
0
0
9
3
0
0
19
-14
-1
0
0
46
0
2
0
0
5
-19
0
0
0
-13
-16
13
19
-4
-6
-81
-12
0
0
-4
3
8
0
0
4
-21
3
0
0
20
-107
5
0
0
2
46
-7
0
0
33
26
-4
0
0
18
-42
-1
0
0
-48
13
0
0
0
0
-40
-2
0
0
24
-13
5
0
0
-33
-22
2
0
0
-4
1
5
0
0
-21
-26
-43
0
0
-17
54
-9
0
0
29
5
3
0
0
-20
-21
7
0
0
-45
46
21
0
0
16
-39
-93
0
0
48
47
-37
0
0
14
-15
38
0
0
24
9
-30
0
0
-102
44
-39
0
0
-1
32
-42
0
0
33
26
26
0
0
-14
45
63
0
0
-19
84
-11
0
0
51
85
-18
0
0
33
-65
24
0
0
-17
63
44
0
0
-40
10
-20
0
0
-34
-9
56
0
0
-4
4
4
31
13
-29
-30
57
0
0
-64
59
-9
0
0
70
25
-4
0
0
3
22
10
0
0
-44
-17
53
0
0
44
-73
-3
0
0
-13
75
29
0
0
-6
4
0
0
0
25
-27
-26
0
0
-21
-29
1
0
0
29
-4
-2
0
0
-10
42
6
0
0
-5
16
18
0
0
-58
-8
-5
0
0
-4
13
-31
0
0
-17
95
-18
0
0
45
-22
-34
0
0
62
8
-22
0
0
22
30
-17
0
0
29
-6
40
0
0
-36
7
-7
0
0
-60
-17
53
0
0
26
-21
3
0
0
97
-11
27
0
0
-25
11
-6
0
0
-101
-84
-1
0
0
-44
6
-41
0
0
-58
51
-9
0
0
-88
60
-89
0
0
-54
2
36
0
0
5
39
6
0
0
22
-66
-9
2
0
-53
19
40
0
0
32
50
-11
0
0
-64
-11
29
0
0
-5
13
-1
0
0
-20
-6
5
0
0
2
-22
1
0
0
-38
2
-2
0
0
0
-1
-1
0
0
-12
-19
3
0
0
6
-2
0
0
0
-2
3
0
0
0
-2
13
-3
0
0
-33
-2
4
0
0
-1
-10
0
0
0
-4
0
1
0
0
5
-19
0
0
0
-1
12
-14
0
0
-12
10
-16
0
0
62
-34
-11
0
0
-25
-11
7
0
0
-31
-15
32
0
0
66
-131
-30
0
0
-38
22
9
0
0
-16
-18
-50
0
0
-10
15
38
0
0
35
-24
-54
0
0
-48
-25
11
0
0
18
44
-22
0
0
62
-33
-7
0
0
-22
23
-32
0
0
-49
-10
36
0
0
-64
-24
3
5
5
-8
12
-61
0
0
56
54
-18
0
0
15
41
1
0
0
3
59
-50
0
0
17
22
-3
0
0
-1
2
-4
0
0
8
1
2
0
0
-6
1
2
0
0
46
-15
0
0
0
-52
24
0
0
0
18
4
-1
0
0
2
-10
7
0
0
-23
6
5
0
0
-2
7
-2
0
0
2
-29
0
0
0
-1
-3
1
0
0
-12
7
32
0
0
-15
-37
-25
0
0
-48
-3
24
0
0
-5
-49
-21
0
0
15
-20
-42
0
0
-17
-10
-6
0
0
-96
-58
-8
0
0
23
-4
-21
0
0
-33
-19
36
0
0
-4
-61
-3
0
0
-10
-29
-28
0
0
-2
13
-8
0
0
-69
23
5
0
0
59
-29
-36
0
0
-71
1
53
0
0
-61
-3
-45
-42
-13
-40
20
-66
0
0
-6
24
32
0
0
52
-1
14
0
0
11
-33
-8
0
0
5
5
7
0
0
32
-3
0
0
0
4
-8
-2
0
0
2
0
0
0
0
1
21
-4
0
0
20
-20
0
0
0
15
1
0
0
0
1
-40
0
0
0
4
-20
4
0
0
12
0
0
0
0
0
-25
0
0
0
-3
2
3
0
0
119
44
2
0
0
-6
-19
36
0
0
30
46
17
0
0
-16
-25
15
0
0
3
2
-30
0
0
21
-6
-61
0
0
24
1
49
0
0
-43
36
15
0
0
61
-59
-54
0
0
-40
10
-63
0
0
-23
-63
4
0
0
-33
-2
44
0
0
-1
-5
46
0
0
-6
60
28
0
0
-2
-21
-20
0
0
-63
14
-2
-3
-2
-11
36
-64
0
0
5
24
1
0
0
13
-11
11
0
0
114
-16
-27
0
0
-37
32
10
0
0
9
-8
0
0
0
-7
1
-5
0
0
-2
2
0
0
0
23
17
0
0
0
45
15
-1
0
0
-36
29
0
0
0
9
-6
4
0
0
-40
45
-1
0
0
0
-19
-1
0
0
0
0
0
0
0
0
-13
1
0
0
-104
7
30
0
0
-31
7
8
0
0
8
-16
38
0
0
31
-66
-51
0
0
-68
-35
16
0
0
-58
-15
26
0
0
38
-4
68
0
0
-40
89
-5
0
0
27
-30
-87
0
0
9
-24
1
0
0
47
-16
5
0
0
-6
-53
14
0
0
0
33
13
0
0
24
-20
-41
0
0
18
47
-8
0
0
-2
4
10
-21
-9
-83
-44
-4
0
0
1
70
3
0
0
-1
13
-35
0
0
7
30
0
0
0
58
-83
4
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
14
0
0
0
-1
0
0
0
0
1
3
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
16
-38
3
0
0
-56
14
72
0
0
11
-15
-54
0
0
-75
-47
18
0
0
24
14
33
0
0
-43
46
-29
0
0
2
-64
-108
0
0
-16
2
-45
0
0
-6
-40
41
0
0
-18
11
-25
0
0
9
5
8
0
0
-3
-69
-73
0
0
-52
-43
-58
0
0
4
-25
-17
0
0
1
11
-12
0
0
-3
-51
-3
-47
-22
-1
-60
6
0
0
7
-31
30
0
0
-60
-30
-18
0
0
31
-25
18
0
0
31
33
-2
0
0
3
4
1
0
0
0
-5
1
0
0
0
1
0
0
0
8
4
0
0
0
-3
15
0
0
0
-5
4
0
0
0
-24
-13
0
0
0
-34
42
1
0
0
0
-9
0
0
0
7
0
0
0
0
-2
-4
0
0
0
-57
-28
-3
0
0
-35
-33
46
0
0
15
-16
-46
0
0
-25
54
8
0
0
28
0
-69
0
0
12
5
-28
0
0
28
9
-152
0
0
16
-76
6
0
0
-13
-39
-46
0
0
-54
-33
52
0
0
-52
42
-52
0
0
18
53
14
0
0
48
-13
-68
0
0
-13
3
30
0
0
2
22
-20
0
0
-4
-8
-48
-3
-14
-66
40
-24
0
0
-23
116
21
0
0
22
-111
38
0
0
21
27
44
0
0
6
8
1
0
0
-29
-33
-13
0
0
-28
-38
34
0
0
5
16
0
0
0
68
63
18
0
0
40
23
-1
0
0
19
-5
4
0
0
0
-48
-15
0
0
36
-63
37
0
0
58
-4
-13
0
0
1
-8
12
0
0
11
24
10
0
0
-18
33
-4
0
0
26
-31
55
0
0
29
16
-61
0
0
-49
-27
32
0
0
7
-35
27
0
0
57
45
3
0
0
-22
56
-22
0
0
-24
-63
19
0
0
7
-27
21
0
0
13
11
-6
0
0
17
68
-29
0
0
-24
-1
52
0
0
-32
25
36
0
0
22
-6
-10
0
0
16
-20
15
0
0
-3
26
82
24
-5
23
-3
7
0
0
-10
12
-8
0
0
3
47
4
0
0
-23
1
-53
0
0
-75
52
32
0
0
58
-64
-2
0
0
-4
-56
9
0
0
-9
-8
0
0
0
-59
0
10
0
0
16
27
-19
0
0
43
9
-5
0
0
48
-7
-4
0
0
14
-5
-8
0
0
-13
4
2
0
0
2
0
8
0
0
-3
13
2
0
0
-38
-6
-40
0
0
26
-53
47
0
0
-87
36
8
0
0
9
-56
16
0
0
0
7
-46
0
0
47
45
12
0
0
-32
-4
20
0
0
-30
-71
-30
0
0
-33
63
-59
0
0
19
21
-15
0
0
32
7
81
0
0
68
15
-38
0
0
-8
7
69
0
0
25
0
74
0
0
-46
-34
-17
0
0
48
-17
21
-1
-28
8
-57
28
0
0
13
-8
6
0
0
39
12
-29
0
0
19
93
17
0
0
-141
42
11
0
0
40
-35
3
0
0
30
-4
-3
0
0
0
-4
0
0
0
29
8
1
0
0
-5
-5
0
0
0
5
2
0
0
0
-4
2
1
0
0
-4
8
-5
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-2
0
0
0
47
5
1
0
0
-12
-62
16
0
0
6
28
-21
0
0
-61
1
-38
0
0
-36
-11
12
0
0
-18
-22
-9
0
0
3
-18
-28
0
0
-1
6
-102
0
0
11
29
-37
0
0
-20
3
45
0
0
-32
14
-28
0
0
73
-10
0
0
0
-47
-4
14
0
0
-31
-22
-6
0
0
35
48
119
0
0
67
-8
63
2
-8
-92
38
41
0
0
16
-12
29
0
0
62
-13
40
0
0
-31
26
9
0
0
-90
-76
32
0
0
29
-48
32
0
0
-8
6
14
0
0
0
1
2
0
0
-47
-12
-5
0
0
-30
17
1
0
0
-18
3
2
0
0
-8
3
1
0
0
-34
48
0
0
0
-1
-5
0
0
0
2
0
0
0
0
-1
3
0
0
0
46
-10
0
0
0
25
-37
-7
0
0
-60
71
6
0
0
-70
17
-74
0
0
-25
-30
-23
0
0
-11
-20
-13
0
0
5
-60
8
0
0
23
-102
-1
0
0
1
23
-31
0
0
-16
3
49
0
0
39
-16
-63
0
0
-10
-21
17
0
0
1
-21
-20
0
0
1
-8
3
0
0
103
-2
-36
0
0
64
-65
-13
-36
-17
-24
5
-12
0
0
51
-34
0
0
0
-39
10
96
0
0
49
42
11
0
0
-52
38
-3
0
0
-17
30
7
0
0
-3
6
-33
0
0
1
-6
-3
0
0
39
-5
28
0
0
-33
40
-30
0
0
21
-38
-17
0
0
-13
-34
-9
0
0
16
7
-15
0
0
-15
5
0
0
0
-7
7
-1
0
0
-38
-7
1
0
0
27
-17
-22
0
0
-35
0
12
0
0
33
4
-24
0
0
-16
-54
60
0
0
-12
-79
20
0
0
4
-28
-29
0
0
-1
19
-34
0
0
4
-7
2
0
0
14
26
27
0
0
19
-7
45
0
0
-6
48
30
0
0
31
14
-37
0
0
22
-38
-28
0
0
77
46
-9
0
0
-93
-12
-4
0
0
-6
28
5
-12
-8
38
-44
22
0
0
-35
-1
60
0
0
-54
57
-29
0
0
22
-22
58
0
0
57
16
-45
0
0
48
-53
0
0
0
11
15
-48
0
0
-1
-2
0
0
0
-46
-15
0
0
0
22
-7
-11
0
0
6
-14
47
0
0
3
3
1
0
0
-4
-27
0
0
0
3
2
-1
0
0
-6
3
5
0
0
1
-1
4
0
0
-57
6
-33
0
0
-27
40
46
0
0
4
-43
-5
0
0
-83
-8
42
0
0
-7
15
27
0
0
91
20
-4
0
0
18
-42
1
0
0
3
6
-55
0
0
-101
-7
13
0
0
42
-30
-12
0
0
6
-50
41
0
0
-18
-15
-27
0
0
-16
-36
-51
0
0
28
51
-18
0
0
17
-90
-41
0
0
-9
22
25
-37
10
-18
14
19
0
0
48
-64
-7
0
0
3
28
28
0
0
24
20
14
0
0
-5
21
-26
0
0
17
31
-1
0
0
-18
10
6
0
0
4
4
0
0
0
-71
4
-7
0
0
-52
48
-3
0
0
-67
40
7
0
0
1
-13
4
0
0
-2
10
-3
0
0
0
-6
1
0
0
0
-1
0
0
0
4
-25
3
0
0
27
-40
-16
0
0
-13
-16
8
0
0
-18
21
-3
0
0
-62
55
-107
0
0
18
-78
-7
0
0
-33
-80
-14
0
0
-6
22
-20
0
0
-1
-73
52
0
0
-30
12
-46
0
0
4
-14
54
0
0
5
-25
-2
0
0
-8
-44
-92
0
0
-8
-66
-7
0
0
1
33
-56
0
0
-1
-13
-7
0
0
-26
-19
-62
-1
-5
-41
-84
-119
0
0
11
-8
22
0
0
33
9
12
0
0
-19
-5
-63
0
0
24
-56
-19
0
0
-8
36
1
0
0
-3
-14
-10
0
0
0
-24
-2
0
0
27
-67
-30
0
0
-42
-10
43
0
0
-2
-7
8
0
0
4
-15
13
0
0
12
-12
13
0
0
6
-6
4
0
0
0
-7
0
0
0
7
-2
1
0
0
-23
-31
-70
0
0
20
-30
3
0
0
-31
-49
-13
0
0
-126
45
-65
0
0
47
13
-11
0
0
-55
-44
-57
0
0
-41
-10
-16
0
0
-8
11
-18
0
0
-9
-104
-30
0
0
-39
12
85
0
0
60
26
-16
0
0
-35
-3
-47
0
0
13
22
-29
0
0
-23
15
19
0
0
-82
3
31
0
0
48
-36
-105
3
-23
-7
20
-132
0
0
-4
-2
-30
0
0
37
35
56
0
0
13
6
33
0
0
0
84
101
0
0
30
20
18
0
0
13
70
2
0
0
42
-57
9
0
0
32
25
26
0
0
24
91
-9
0
0
42
1
-4
0
0
-27
49
45
0
0
68
8
-6
0
0
18
0
8
0
0
-1
15
-15
0
0
-5
24
11
0
0
89
30
53
0
0
-64
32
-30
0
0
13
-31
41
0
0
-5
17
1
0
0
9
23
10
0
0
3
32
5
0
0
49
18
-2
0
0
-18
8
12
0
0
-3
-7
58
0
0
-9
3
-2
0
0
-26
-50
-47
0
0
-21
20
14
0
0
17
-36
-65
0
0
24
69
20
0
0
1
39
32
0
0
64
-31
14
30
52
36
47
-8
0
0
3
5
-52
0
0
77
11
-28
0
0
56
7
-80
0
0
37
23
-3
0
0
62
27
7
0
0
-45
-29
-8
0
0
24
17
3
0
0
-14
53
-3
0
0
75
51
29
0
0
-4
40
4
0
0
46
2
63
0
0
5
70
-3
0
0
-13
61
-1
0
0
-1
43
-8
0
0
18
-14
28
0
0
-30
-4
54
0
0
-5
-24
-15
0
0
-24
40
-8
0
0
3
55
-7
0
0
0
8
-3
0
0
44
-47
66
0
0
16
-18
36
0
0
-4
65
45
0
0
0
-51
-4
0
0
-4
44
-30
0
0
3
62
7
0
0
-10
-11
-26
0
0
57
4
13
0
0
114
23
2
0
0
0
-13
17
0
0
-52
78
-51
-1
24
-31
-20
67
0
0
17
-1
52
0
0
73
56
-32
0
0
30
-20
14
0
0
-21
57
-34
0
0
-7
-18
46
0
0
56
26
46
0
0
-16
29
7
0
0
-55
64
11
0
0
-29
-20
-4
0
0
-32
-84
17
0
0
-1
43
-54
0
0
-17
48
17
0
0
-4
21
-2
0
0
-2
3
-30
0
0
4
46
-50
0
0
-35
26
-24
0
0
40
-7
0
0
0
-49
-13
23
0
0
40
-48
-5
0
0
-1
-15
27
0
0
6
11
0
0
0
-23
-17
-2
0
0
-1
17
5
0
0
-54
9
44
0
0
71
-48
2
0
0
1
4
-17
0
0
-11
12
2
0
0
-31
-28
48
0
0
-47
68
-6
0
0
6
-47
28
0
0
-44
23
-11
7
-17
14
-42
35
0
0
26
19
-44
0
0
40
-57
18
0
0
27
-6
-42
0
0
-22
39
24
0
0
-38
47
25
0
0
21
-28
26
0
0
-24
-55
-5
0
0
69
26
49
0
0
-70
35
-3
0
0
15
51
-22
0
0
-27
56
65
0
0
25
20
-25
0
0
12
2
2
0
0
-7
32
1
0
0
-57
19
2
0
0
-42
79
30
0
0
68
-36
52
0
0
-38
4
33
0
0
-20
15
-8
0
0
-19
-29
-15
0
0
74
-43
-1
0
0
-32
-41
2
0
0
6
9
1
0
0
-60
6
19
0
0
61
18
-30
0
0
50
7
-29
0
0
8
34
-41
0
0
6
-31
27
0
0
53
-30
-3
0
0
26
3
20
0
0
56
13
-46
8
27
-81
-2
-16
0
0
-1
-7
2
0
0
11
-41
-19
0
0
-1
20
-16
0
0
-48
45
4
0
0
39
-8
9
0
0
-25
35
31
0
0
1
2
1
0
0
78
17
7
0
0
14
-2
-1
0
0
-30
29
14
0
0
10
-16
-2
0
0
-9
9
22
0
0
-8
3
-3
0
0
-6
0
12
0
0
-1
2
14
0
0
-3
25
11
0
0
-24
7
-2
0
0
-19
15
5
0
0
19
-8
0
0
0
31
-1
5
0
0
-1
3
1
0
0
-8
-5
-5
0
0
0
0
0
0
0
22
-7
3
0
0
-29
18
6
0
0
47
6
-27
0
0
1
-8
-2
0
0
5
7
-15
0
0
8
-43
1
0
0
0
-16
3
0
0
-20
1
-12
31
5
-11
40
-39
0
0
28
23
42
0
0
32
47
15
0
0
-79
-2
30
0
0
14
-29
-10
0
0
19
21
-11
0
0
-11
-2
-11
0
0
17
-13
0
0
0
-7
-13
-32
0
0
41
67
2
0
0
-3
12
-9
0
0
-39
-14
-6
0
0
-4
-11
-6
0
0
15
2
0
0
0
-1
14
1
0
0
24
0
-8
0
0
-21
37
1
0
0
18
1
-1
0
0
15
34
-3
0
0
-17
0
-3
0
0
-33
20
0
0
0
3
-56
0
0
0
-1
33
12
0
0
0
4
0
0
0
28
-5
-2
0
0
0
-18
20
0
0
3
-6
2
0
0
2
-34
0
0
0
-39
22
-13
0
0
47
-72
-17
0
0
12
-19
-8
0
0
14
-4
0
6
-22
-61
-117
24
0
0
42
29
18
0
0
12
4
2
0
0
-15
-13
5
0
0
-6
45
22
0
0
9
17
4
0
0
-27
13
22
0
0
-16
0
-2
0
0
44
4
-8
0
0
-16
-26
1
0
0
-2
5
-2
0
0
-8
-8
-1
0
0
3
-9
-1
0
0
0
0
0
0
0
0
-7
-2
0
0
-4
2
-1
0
0
4
-16
-4
0
0
22
32
0
0
0
-5
-14
3
0
0
-10
2
1
0
0
-10
3
0
0
0
-6
0
0
0
0
1
-6
-7
0
0
-1
-3
0
0
0
-18
-14
0
0
0
-5
11
1
0
0
-3
30
0
0
0
0
5
0
0
0
-1
13
-3
0
0
-1
2
0
0
0
-5
19
-4
0
0
5
9
0
-11
-7
-16
-25
-27
0
0
21
30
37
0
0
47
-19
19
0
0
-23
74
27
0
0
-33
16
-63
0
0
-74
-37
-4
0
0
55
27
-1
0
0
-11
4
6
0
0
-21
-17
18
0
0
24
71
7
0
0
13
10
0
0
0
43
-69
0
0
0
-5
-22
-2
0
0
0
-9
0
0
0
6
25
1
0
0
8
-1
-3
0
0
-44
-53
5
0
0
-47
25
-4
0
0
-18
-4
22
0
0
23
-13
2
0
0
22
-5
13
0
0
-4
12
2
0
0
-5
29
1
0
0
0
1
0
0
0
-9
-9
-9
0
0
-3
-15
9
0
0
12
-6
-4
0
0
1
-25
0
0
0
10
-20
-1
0
0
58
6
-12
0
0
17
-2
2
0
0
6
57
8
29
-28
-52
-50
75
0
0
23
-38
5
0
0
1
0
8
0
0
9
32
43
0
0
29
-1
-17
0
0
-25
1
-3
0
0
41
-5
6
0
0
-7
-8
0
0
0
-15
-12
-22
0
0
-5
-54
5
0
0
67
9
2
0
0
27
47
-1
0
0
-4
8
16
0
0
-23
-7
0
0
0
2
-2
-1
0
0
2
39
4
0
0
42
9
9
0
0
17
16
2
0
0
-6
40
-14
0
0
9
5
-5
0
0
26
13
-2
0
0
-6
18
7
0
0
0
24
1
0
0
-3
-9
-1
0
0
23
35
52
0
0
11
32
-7
0
0
5
29
-9
0
0
-3
-3
8
0
0
34
-21
-1
0
0
9
34
-14
0
0
-1
-28
10
0
0
-29
14
1
-12
-15
30
-1
44
0
0
3
-43
21
0
0
91
-34
3
0
0
63
60
-25
0
0
-12
25
14
0
0
30
-25
0
0
0
34
2
6
0
0
-6
-10
0
0
0
10
-1
0
0
0
32
-8
1
0
0
3
38
2
0
0
-18
-28
-5
0
0
-31
-17
-16
0
0
2
12
0
0
0
-5
-8
9
0
0
0
33
13
0
0
3
1
-8
0
0
26
9
0
0
0
-26
-1
-2
0
0
-1
2
0
0
0
-13
-1
-4
0
0
-8
-49
-1
0
0
4
-13
0
0
0
-2
-3
0
0
0
-34
9
2
0
0
2
-32
0
0
0
-7
-4
8
0
0
-4
3
0
0
0
-72
21
-6
0
0
5
-4
15
0
0
-14
60
4
0
0
-13
-1
5
17
31
6
-29
-14
0
0
-10
91
43
0
0
-77
-18
40
0
0
1
81
-23
0
0
19
-61
-45
0
0
13
7
1
0
0
0
-2
-1
0
0
-5
-18
1
0
0
9
31
7
0
0
-15
7
-27
0
0
48
-19
17
0
0
6
-32
18
0
0
31
-18
40
0
0
-1
22
7
0
0
0
-22
1
0
0
0
12
-4
0
0
16
-26
-26
0
0
26
-5
0
0
0
6
24
-5
0
0
-2
0
0
0
0
40
-18
-2
0
0
-5
2
-9
0
0
-3
12
-1
0
0
0
-4
2
0
0
81
-3
-10
0
0
-11
40
-6
0
0
-7
-50
8
0
0
3
-13
0
0
0
-2
-21
1
0
0
7
27
3
0
0
0
13
7
0
0
24
-25
5
13
-29
-26
50
49
0
0
4
-52
16
0
0
3
13
33
0
0
-49
44
-94
0
0
-7
46
-7
0
0
19
-34
-3
0
0
-32
20
6
0
0
8
17
0
0
0
-1
21
-5
0
0
47
23
2
0
0
-24
-10
9
0
0
-27
22
-20
0
0
6
-25
-6
0
0
1
4
-2
0
0
0
-3
3
0
0
1
-30
-6
0
0
58
-17
-1
0
0
20
28
8
0
0
-66
34
0
0
0
4
5
-3
0
0
-35
7
0
0
0
-8
-29
-14
0
0
0
-7
0
0
0
0
-4
-2
0
0
-16
30
22
0
0
-5
-9
3
0
0
14
-8
13
0
0
-3
-14
-4
0
0
-34
-45
5
0
0
-28
34
1
0
0
-2
1
0
0
0
-2
-24
-2
25
13
20
-41
-26
0
0
50
42
-23
0
0
5
0
-10
0
0
-3
18
7
0
0
9
19
-3
0
0
-9
-1
-10
0
0
-8
-1
-7
0
0
0
1
0
0
0
-9
-2
5
0
0
-47
0
-4
0
0
29
-15
0
0
0
8
0
5
0
0
21
-7
3
0
0
-3
-2
2
0
0
0
7
0
0
0
-1
2
0
0
0
36
0
2
0
0
10
2
-8
0
0
59
-2
-6
0
0
0
-5
-1
0
0
8
-15
2
0
0
1
17
-1
0
0
1
1
-4
0
0
0
-12
4
0
0
2
-12
-8
0
0
4
-3
-3
0
0
1
-5
-2
0
0
0
7
-3
0
0
13
-12
-2
0
0
0
-8
7
0
0
0
-5
-4
0
0
18
1
0
8
3
6
-8
-2
0
0
41
91
8
0
0
56
4
10
0
0
3
-8
-3
0
0
-24
-20
-4
0
0
-18
-14
0
0
0
-3
13
-2
0
0
16
3
0
0
0
28
-5
-1
0
0
47
-22
0
0
0
45
33
0
0
0
-2
-5
0
0
0
17
10
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
6
0
0
0
-4
2
0
0
0
8
-31
-5
0
0
17
-8
1
0
0
-3
-13
4
0
0
-4
-14
0
0
0
0
2
0
0
0
-8
2
-1
0
0
-2
4
0
0
0
2
-2
-14
0
0
-7
59
0
0
0
5
4
0
0
0
-3
-1
-2
0
0
1
-3
1
0
0
-3
7
20
0
0
4
16
-2
0
0
-6
13
4
-25
-13
-46
67
-1
0
0
56
-36
52
0
0
-16
46
27
0
0
-14
28
40
0
0
-48
40
39
0
0
33
-23
5
0
0
21
6
4
0
0
-6
-3
2
0
0
-15
48
-25
0
0
-19
35
-7
0
0
-23
-11
-23
0
0
7
2
-37
0
0
-8
10
-7
0
0
0
-3
0
0
0
0
-8
1
0
0
8
-17
0
0
0
126
-13
6
0
0
46
-3
-5
0
0
-2
18
-9
0
0
6
6
-1
0
0
-2
-14
-8
0
0
1
-51
6
0
0
1
-3
-3
0
0
0
-2
0
0
0
0
10
1
0
0
-27
-8
2
0
0
3
-7
2
0
0
-6
-5
-4
0
0
-7
15
0
0
0
-4
8
-4
0
0
0
-18
-2
0
0
-23
-20
-2
35
-11
17
-25
-14
0
0
11
60
15
0
0
-10
53
17
0
0
69
31
-1
0
0
-60
21
-15
0
0
60
-33
-9
0
0
-3
-61
-14
0
0
-7
48
-1
0
0
-65
14
-6
0
0
51
-67
4
0
0
6
10
8
0
0
57
-44
9
0
0
49
54
-15
0
0
8
-29
1
0
0
1
-4
-2
0
0
13
-40
1
0
0
-18
11
-20
0
0
-11
36
49
0
0
24
12
3
0
0
-42
-32
-1
0
0
42
-11
2
0
0
-13
42
-29
0
0
-1
7
1
0
0
0
-1
-10
0
0
20
0
2
0
0
7
15
21
0
0
13
-44
25
0
0
6
41
-1
0
0
18
39
-1
0
0
-14
22
-17
0
0
-1
10
-8
0
0
-21
34
-4
-6
18
-75
-44
3
0
0
17
34
-12
0
0
37
-18
40
0
0
-46
12
10
0
0
20
89
-47
0
0
21
-21
3
0
0
41
-42
12
0
0
-5
1
2
0
0
-7
14
7
0
0
38
9
-15
0
0
-43
10
-15
0
0
2
12
2
0
0
-34
-22
17
0
0
1
34
-8
0
0
8
3
18
0
0
-3
-42
-4
0
0
-2
6
16
0
0
-5
5
-39
0
0
41
-28
-34
0
0
-23
-15
-10
0
0
73
-8
31
0
0
-50
30
-7
0
0
-22
0
-22
0
0
19
69
-4
0
0
21
3
-39
0
0
-9
-49
27
0
0
33
18
-49
0
0
19
-1
40
0
0
30
-40
84
0
0
-7
39
31
0
0
-9
-48
-1
0
0
28
-29
75
16
6
4
22
68
0
0
15
-49
23
0
0
43
5
-16
0
0
-22
8
4
0
0
-48
-8
42
0
0
11
-37
16
0
0
-8
5
0
0
0
-24
-7
1
0
0
-13
8
3
0
0
0
15
-1
0
0
48
-2
-2
0
0
-32
14
3
0
0
7
-2
14
0
0
-15
8
1
0
0
-3
50
-17
0
0
24
20
7
0
0
-29
32
-12
0
0
14
-45
-61
0
0
-14
-13
36
0
0
39
-51
-1
0
0
5
41
-43
0
0
-10
25
92
0
0
30
-25
-42
0
0
18
-28
-51
0
0
68
-26
35
0
0
37
-58
37
0
0
-25
70
15
0
0
-54
25
36
0
0
-30
-28
-32
0
0
-5
-8
124
0
0
-33
13
1
0
0
-35
-61
-55
2
-3
92
-43
-76
0
0
75
45
11
0
0
-12
37
-74
0
0
-5
-5
1
0
0
105
-59
-7
0
0
2
2
0
0
0
-1
0
-4
0
0
0
5
0
0
0
24
5
0
0
0
8
-31
0
0
0
-19
5
-1
0
0
1
-4
2
0
0
4
10
0
0
0
-2
-1
0
0
0
0
-17
2
0
0
-4
18
0
0
0
82
24
1
0
0
-18
49
29
0
0
38
-24
-53
0
0
16
-60
-16
0
0
-43
3
14
0
0
15
-33
-3
0
0
-57
0
8
0
0
-41
-35
0
0
0
-57
-17
-5
0
0
-13
-45
-29
0
0
-66
19
29
0
0
-3
-64
-52
0
0
-28
14
-7
0
0
-26
-6
-68
0
0
-28
25
52
0
0
-11
7
-95
3
6
-29
-20
-39
0
0
-16
-23
18
0
0
6
-1
-21
0
0
36
-28
-29
0
0
18
11
-1
0
0
-28
-23
1
0
0
0
1
-5
0
0
3
0
0
0
0
-12
-16
-4
0
0
-23
31
-5
0
0
-21
0
0
0
0
-5
2
0
0
0
-52
8
0
0
0
-6
-2
0
0
0
-1
0
-1
0
0
6
-3
0
0
0
-6
26
1
0
0
6
-56
9
0
0
-53
9
11
0
0
0
-13
-60
0
0
-22
-5
20
0
0
-21
2
-25
0
0
-46
-17
-71
0
0
7
22
50
0
0
1
-3
12
0
0
-47
41
62
0
0
63
-70
17
0
0
32
-23
-40
0
0
-5
-5
23
0
0
-40
-18
-46
0
0
7
-32
-22
0
0
51
-5
-18
-8
0
20
20
-41
0
0
-1
44
-11
0
0
-35
20
29
0
0
-53
-27
28
0
0
-39
-14
30
0
0
21
2
-22
0
0
47
-39
15
0
0
0
4
0
0
0
-38
36
21
0
0
6
22
-2
0
0
11
9
17
0
0
-3
-19
5
0
0
-11
1
24
0
0
2
-9
-1
0
0
1
1
0
0
0
-8
2
0
0
0
43
15
-53
0
0
-4
-34
-9
0
0
-81
20
-24
0
0
-5
-49
-14
0
0
-3
-24
-11
0
0
74
-59
-71
0
0
100
-52
-127
0
0
16
-15
-15
0
0
32
-7
-16
0
0
8
-99
23
0
0
-31
-21
-3
0
0
31
-1
-34
0
0
-1
78
-66
0
0
40
-26
-9
0
0
25
-52
17
0
0
-26
-41
8
-11
-1
98
26
106
0
0
20
8
31
0
0
-37
7
44
0
0
87
-34
31
0
0
1
-12
25
0
0
35
34
0
0
0
-5
-38
-29
0
0
0
5
4
0
0
59
-2
-18
0
0
-16
3
5
0
0
-24
-4
8
0
0
-5
-2
1
0
0
0
-16
-4
0
0
-1
-30
-4
0
0
-2
0
-2
0
0
0
3
3
0
0
19
-25
-14
0
0
-30
50
3
0
0
-45
70
-24
0
0
-4
-53
16
0
0
38
-35
29
0
0
55
-31
-48
0
0
4
-41
29
0
0
-12
68
3
0
0
-119
60
-16
0
0
-33
-58
8
0
0
-67
11
-24
0
0
22
-15
7
0
0
-34
-11
-46
0
0
16
-36
-13
0
0
-30
6
28
0
0
1
-58
-6
5
16
-67
-24
-19
0
0
-27
56
8
0
0
8
-49
8
0
0
25
-5
-9
0
0
18
10
-7
0
0
6
-2
1
0
0
-1
0
1
0
0
2
5
0
0
0
-3
5
-2
0
0
-11
8
-1
0
0
33
-16
-1
0
0
-12
-1
0
0
0
-5
-8
-5
0
0
0
4
0
0
0
0
0
0
0
0
2
-29
-2
0
0
5
6
-2
0
0
-10
-20
-25
0
0
26
-41
58
0
0
-63
53
1
0
0
-47
-31
-138
0
0
-56
43
-4
0
0
-68
22
-50
0
0
13
-16
-21
0
0
39
-19
-44
0
0
6
-7
0
0
0
30
38
-23
0
0
-14
3
-46
0
0
-25
17
-3
0
0
6
2
12
0
0
8
-85
30
0
0
-33
-13
9
1
6
-33
-23
-72
0
0
-18
10
-20
0
0
19
-4
26
0
0
44
2
10
0
0
24
38
-5
0
0
-9
-9
8
0
0
56
-8
-5
0
0
-3
-27
1
0
0
-58
45
-1
0
0
1
4
5
0
0
79
11
-42
0
0
-2
-56
-4
0
0
-111
14
-3
0
0
6
-12
-4
0
0
0
-6
-5
0
0
0
-1
0
0
0
-63
-13
-5
0
0
5
3
-10
0
0
-91
-2
1
0
0
29
-55
35
0
0
-12
6
-78
0
0
-6
-2
-72
0
0
30
12
15
0
0
20
-35
-29
0
0
-18
-60
27
0
0
69
-51
-14
0
0
-78
-43
49
0
0
27
-32
-109
0
0
21
15
-4
0
0
19
31
13
0
0
-5
-9
10
0
0
-79
-20
-9
1
-19
-50
11
4
0
0
66
9
-5
0
0
-16
38
12
0
0
-32
-39
4
0
0
70
-10
-7
0
0
-9
11
-1
0
0
13
8
-26
0
0
-8
8
0
0
0
51
-15
24
0
0
10
48
-5
0
0
-102
-31
7
0
0
-26
-28
32
0
0
-72
-13
10
0
0
8
2
0
0
0
0
-7
0
0
0
-1
24
12
0
0
-7
4
41
0
0
9
33
-28
0
0
36
30
-18
0
0
3
-44
39
0
0
-21
-54
-7
0
0
23
-12
-1
0
0
23
8
-13
0
0
-10
-25
-50
0
0
-2
51
-77
0
0
-14
-2
0
0
0
-7
15
3
0
0
25
44
50
0
0
-21
33
72
0
0
22
-12
-27
0
0
-11
70
41
0
0
35
37
-14
-3
2
-2
4
35
0
0
2
-33
30
0
0
-48
39
-13
0
0
31
-12
5
0
0
-28
-50
22
0
0
-27
4
-7
0
0
5
-69
-13
0
0
3
1
-3
0
0
-36
-31
-8
0
0
5
6
4
0
0
62
-11
2
0
0
25
24
-2
0
0
0
15
8
0
0
1
1
-4
0
0
0
0
-1
0
0
7
-18
2
0
0
-14
-11
2
0
0
49
-10
-5
0
0
18
-20
-3
0
0
21
-13
-15
0
0
34
-47
-18
0
0
-61
58
47
0
0
-15
45
48
0
0
-15
-11
-3
0
0
-24
4
16
0
0
-35
23
1
0
0
14
34
32
0
0
88
11
-7
0
0
20
3
-21
0
0
24
9
44
0
0
14
7
-43
0
0
25
-43
27
10
14
-23
14
-1
0
0
48
-33
2
0
0
-51
50
16
0
0
-19
27
0
0
0
13
80
-27
0
0
5
30
0
0
0
6
4
4
0
0
0
-5
-3
0
0
8
-10
13
0
0
14
3
-8
0
0
12
3
6
0
0
8
6
9
0
0
1
14
-14
0
0
-1
1
0
0
0
1
12
-2
0
0
-2
5
-2
0
0
-26
-38
-2
0
0
4
-22
-60
0
0
-24
-33
90
0
0
-70
65
6
0
0
26
-4
-27
0
0
3
-15
42
0
0
-97
-34
-10
0
0
12
-13
-31
0
0
-5
73
-39
0
0
9
24
37
0
0
-18
-3
19
0
0
7
-40
-31
0
0
-5
-48
-16
0
0
-26
21
23
0
0
-5
-2
-97
0
0
-38
-8
-3
11
-15
26
-46
-41
0
0
-7
39
-10
0
0
13
6
-12
0
0
-44
-63
13
0
0
-21
-16
5
0
0
25
-1
16
0
0
34
3
-1
0
0
0
5
2
0
0
21
-62
-6
0
0
-42
42
-9
0
0
-15
-1
0
0
0
-10
-37
0
0
0
51
36
-2
0
0
0
-1
0
0
0
-1
1
-2
0
0
0
-6
0
0
0
-41
4
-5
0
0
21
-4
-4
0
0
-2
-29
21
0
0
-63
10
-5
0
0
-29
-71
24
0
0
2
-50
21
0
0
28
-22
29
0
0
5
-14
-4
0
0
-14
-6
-65
0
0
7
28
22
0
0
31
35
-23
0
0
-19
1
27
0
0
7
38
-35
0
0
-21
-121
7
0
0
17
-8
45
0
0
-13
-22
-85
-1
14
-64
45
-65
0
0
-6
49
-6
0
0
-23
31
51
0
0
47
7
-3
0
0
8
-13
26
0
0
60
9
-12
0
0
19
-10
-15
0
0
-1
-2
3
0
0
-26
-4
-63
0
0
38
-31
14
0
0
-8
-47
23
0
0
7
4
-11
0
0
18
28
53
0
0
3
-5
-3
0
0
0
8
-8
0
0
2
-3
-7
0
0
-12
-57
35
0
0
-14
2
10
0
0
25
-5
-55
0
0
3
19
-53
0
0
-140
85
61
0
0
-86
17
1
0
0
-14
-29
5
0
0
-2
-46
-50
0
0
-81
-70
20
0
0
22
19
66
0
0
-31
17
-63
0
0
-9
-33
35
0
0
6
27
132
0
0
51
29
-34
0
0
5
54
-56
0
0
56
-11
119
2
-15
12
-27
27
0
0
10
57
-9
0
0
74
4
7
0
0
30
31
4
0
0
-41
27
-2
0
0
-12
40
14
0
0
-22
9
31
0
0
8
3
1
0
0
-104
2
25
0
0
-26
97
14
0
0
-38
2
8
0
0
18
27
-7
0
0
-6
-27
21
0
0
-10
-1
7
0
0
0
6
-3
0
0
5
12
-4
0
0
-4
-17
-2
0
0
11
-10
-42
0
0
20
10
5
0
0
-59
-17
-5
0
0
-13
3
32
0
0
-66
46
-11
0
0
-20
-32
-50
0
0
5
-30
-6
0
0
45
-138
-29
0
0
12
-3
52
0
0
11
40
3
0
0
15
-38
-5
0
0
-11
4
-51
0
0
69
-63
2
0
0
-25
26
-55
0
0
34
-88
71
-13
-3
19
52
-54
0
0
-45
91
86
0
0
56
-12
8
0
0
-7
65
8
0
0
9
7
-13
0
0
2
26
2
0
0
-31
2
8
0
0
2
-6
-3
0
0
3
-14
-14
0
0
18
38
-15
0
0
26
-24
2
0
0
13
-70
8
0
0
-7
8
11
0
0
-4
-10
-1
0
0
-7
2
0
0
0
7
-22
2
0
0
9
-17
5
0
0
-20
-33
38
0
0
6
-24
35
0
0
39
-21
8
0
0
-79
20
-16
0
0
15
46
-33
0
0
25
-6
26
0
0
-12
-4
-10
0
0
-14
-33
-7
0
0
23
11
-8
0
0
8
0
-16
0
0
-12
-10
-64
0
0
55
-40
-8
0
0
-60
-43
-22
0
0
-12
-80
-5
0
0
-6
4
-27
-27
-5
-87
-65
-23
0
0
15
-6
83
0
0
6
14
-18
0
0
-48
14
-25
0
0
-3
-56
26
0
0
-4
-33
16
0
0
-35
12
51
0
0
31
55
-4
0
0
-62
33
7
0
0
51
65
4
0
0
47
14
21
0
0
44
30
-66
0
0
16
-83
-16
0
0
48
-45
2
0
0
-10
27
0
0
0
-23
-37
-15
0
0
-74
-6
14
0
0
32
-38
79
0
0
14
65
-68
0
0
-73
27
25
0
0
-17
-24
-20
0
0
-54
-48
-15
0
0
-44
-140
-103
0
0
15
14
-72
0
0
-8
-58
86
0
0
-3
65
-3
0
0
-13
-36
41
0
0
-62
-21
-22
0
0
-11
-79
-30
0
0
-31
8
-38
0
0
-71
-19
-6
0
0
-13
-26
-20
-29
3
-6
-118
20
0
7
4
23
8
0
5
42
-17
13
0
-33
25
39
83
0
69
42
-51
22
0
81
14
58
-49
0
29
-10
28
12
0
50
-5
98
0
0
15
5
-36
-1
0
87
-24
55
-117
0
52
93
61
50
0
38
-87
-54
62
0
-33
-21
-5
20
0
1
74
28
-21
0
3
86
-14
-38
0
7
-6
-16
84
0
-9
-10
23
-31
0
1
-7
72
65
0
53
1
-10
43
0
36
8
-62
0
0
-47
37
16
7
0
27
70
44
15
0
-1
3
17
1
0
0
-34
-4
-6
0
-17
-3
-72
4
0
-18
78
56
16
0
6
64
46
23
0
0
1
10
10
0
4
5
-3
27
0
48
52
0
-6
0
9
37
-38
7
0
7
-6
-6
74
15
-76
-40
111
-47
0
-33
46
50
23
0
0
-24
17
27
0
139
5
66
17
0
35
16
45
-3
0
10
-7
19
-22
0
-8
68
-90
-3
0
-6
24
-30
-15
0
33
-33
5
63
0
24
-8
44
79
0
39
34
21
-30
0
-6
38
-52
-24
0
31
35
10
-4
0
32
9
-27
-8
0
-14
20
42
30
0
17
50
-4
11
0
34
15
21
-15
0
10
3
-18
2
0
41
72
42
-22
0
-25
37
-46
-4
0
20
-22
6
-40
0
-1
3
-13
19
0
-2
-12
-3
41
0
0
4
30
0
0
12
43
56
38
0
3
8
-15
-23
0
12
7
33
-48
0
1
19
-89
2
0
-8
35
19
-33
0
35
-13
-54
0
0
-17
-15
-8
70
0
-29
-64
61
-4
-4
-52
-25
3
-9
0
29
25
24
91
0
1
85
-16
12
0
52
24
-17
-26
0
20
39
-19
-22
0
-27
15
9
-14
0
10
46
0
13
0
31
-9
-9
32
0
-2
-21
-16
9
0
-15
45
12
25
0
12
-10
-27
21
0
9
-21
24
-87
0
-36
-16
49
-34
0
5
1
45
-3
0
4
32
24
-18
0
-64
-77
65
41
0
-19
-37
16
-39
0
-17
37
22
-1
0
-7
36
-15
2
0
-58
20
1
3
0
-4
-37
-21
-5
0
-2
4
34
-18
0
-4
7
-30
-13
0
6
0
19
-4
0
1
-33
-18
8
0
27
8
-36
5
0
-18
28
-15
-2
0
-2
5
27
5
0
48
-53
-9
0
0
20
4
116
-85
0
1
-7
24
47
0
61
23
28
-4
-4
-8
5
12
-48
0
-12
11
80
44
0
0
-28
-33
1
0
44
-3
-16
-11
0
42
50
-34
41
0
23
64
-56
22
0
74
-9
52
26
0
71
33
47
8
0
-9
-46
12
-11
0
-42
76
21
41
0
0
-92
26
-34
0
-124
89
58
-52
0
-9
39
7
5
0
-7
-27
-24
53
0
41
-89
25
-26
0
-6
30
9
40
0
56
-29
22
-39
0
41
-102
-12
7
0
-3
-21
35
16
0
9
-40
64
-4
0
-5
-1
5
-21
0
0
2
26
0
0
3
16
-47
-5
0
2
-29
-29
-4
0
-26
19
32
27
0
-18
-4
18
5
0
18
-45
-18
-8
0
-4
-49
39
-28
0
-25
3
3
-10
0
-20
-43
-26
-37
0
-20
31
1
-1
0
12
4
11
22
-19
-40
-50
15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
4
84
4
0
-28
9
46
34
0
7
-50
-24
-22
0
-37
-2
-15
-8
0
88
-42
-50
1
0
-97
6
16
93
0
-4
12
-22
3
0
-29
35
-86
-34
0
27
51
65
14
0
5
-15
6
37
0
55
-24
8
-32
0
87
43
55
-65
0
76
11
51
-5
0
-21
6
8
4
0
-8
5
1
4
0
-9
3
-31
-5
0
49
75
9
-12
0
-21
23
26
11
0
-3
13
17
-6
0
-24
-1
-5
-11
0
85
9
-63
2
0
-22
5
77
-10
0
7
-7
13
3
0
70
-15
-15
3
0
13
-1
25
6
0
20
71
6
89
0
7
-11
22
38
0
-4
-70
-20
1
0
13
23
12
29
0
-18
79
-5
38
0
-76
11
7
-9
28
-76
-100
25
-66
0
13
-5
45
48
0
91
120
-39
-43
0
-65
22
-15
8
0
-36
-11
-12
29
0
64
-59
76
-25
0
-51
-24
31
87
0
6
-45
6
-4
0
-89
-26
-16
2
0
-41
73
38
-26
0
21
-25
62
31
0
-40
55
-96
11
0
-11
0
-25
20
0
10
19
-5
4
0
10
48
64
44
0
0
-30
-7
3
0
-41
40
16
-20
0
24
37
-18
-5
0
56
34
12
19
0
17
13
-23
0
0
-1
56
51
-19
0
8
48
30
1
0
4
-42
30
-2
0
0
-7
-6
-3
0
-30
28
26
5
0
-24
0
15
-21
0
-1
36
-110
18
0
4
-48
22
8
0
16
23
4
-12
0
63
-66
79
-71
0
58
-70
-14
-15
0
8
-15
-82
-13
18
-38
1
-13
-65
0
7
-35
45
-5
0
-101
-28
-29
70
0
-1
21
18
18
0
-32
-29
-10
-21
0
76
-34
5
3
0
-9
-21
72
-6
0
6
-3
-9
-7
0
59
-52
-42
-16
0
-1
42
6
-8
0
86
24
-34
-63
0
5
-49
9
-4
0
-19
-38
4
12
0
4
48
35
-13
0
-13
1
16
-5
0
-1
15
-35
1
0
-72
14
-19
6
0
-7
-52
3
5
0
34
-27
36
1
0
5
1
-20
2
0
-5
-25
-7
-5
0
27
-1
-10
0
0
-12
-7
-50
0
0
-1
24
-13
0
0
-16
-6
9
2
0
42
-2
34
1
0
-42
29
-15
40
0
-14
-25
27
-41
0
22
84
-7
1
0
-3
-42
-39
-14
0
7
35
27
-2
0
8
29
-37
3
0
-46
89
10
0
0
33
-31
0
1
0
35
36
107
-51
0
-13
-5
0
2
0
-7
17
-10
7
0
20
-23
12
10
0
1
29
-22
11
0
-23
-55
43
2
0
13
-36
-28
-68
0
-4
1
40
-48
0
-47
-8
6
39
0
22
108
-44
-23
0
15
1
-46
-26
0
-13
18
23
8
0
-4
-61
13
-19
0
-4
42
-35
-14
0
18
-39
33
19
0
-36
12
-29
7
0
-26
-14
-42
14
0
6
-76
47
0
0
-2
29
-33
14
0
-2
-12
-7
0
0
0
4
28
0
0
6
-5
2
1
0
3
33
-45
2
0
-48
-4
42
-5
0
1
-28
5
-15
0
-25
9
-1
-13
0
-28
41
3
-26
0
1
44
-57
10
0
-25
-10
-2
13
0
-5
-8
-69
1
-26
-23
64
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
20
1
-35
0
24
-53
2
-8
0
10
-46
39
16
0
59
25
-24
10
0
7
62
-23
19
0
-11
-1
-8
8
0
24
3
15
-4
0
-1
29
-16
1
0
8
46
54
-7
0
-11
18
-29
59
0
-39
31
-42
-26
0
-5
-4
46
25
0
6
-6
8
38
0
10
71
-49
1
0
-9
21
10
6
0
-11
7
13
-55
0
11
11
10
0
0
-12
19
14
-58
0
-21
-18
-13
25
0
-26
10
19
1
0
23
31
33
46
0
-114
-3
-83
-9
0
9
-1
-20
-74
0
-64
-97
10
46
0
-14
65
35
66
0
-21
26
40
-46
0
1
-7
-24
-37
0
-46
51
28
-12
0
60
-36
52
-3
0
-5
-24
-29
-42
0
7
60
-38
41
11
-86
0
2
50
0
-50
42
35
33
0
-35
46
19
-55
0
12
-12
-31
-1
0
-43
16
5
56
0
-22
-46
-23
22
0
-12
54
-5
-6
0
-9
47
-10
-10
0
2
-2
17
-17
0
-2
-9
6
46
0
-25
9
79
16
0
21
-2
5
5
0
103
62
-74
42
0
2
24
-19
4
0
19
-20
50
-16
0
-8
2
33
33
0
-8
46
24
-17
0
0
31
-2
-14
0
-5
18
-12
10
0
14
35
-4
13
0
-4
-49
2
30
0
-26
-20
-7
-29
0
-47
-17
0
-97
0
-31
-33
-20
74
0
-75
17
-49
-26
0
104
-22
56
-26
0
14
8
-45
101
0
-37
-44
-14
37
0
-85
38
35
-30
0
-25
63
-20
-16
0
23
17
-68
10
0
-39
-87
-93
30
-6
-20
18
49
-83
0
69
-49
23
1
0
40
-37
4
-22
0
-6
48
15
7
0
0
-41
9
29
0
-37
-5
-1
10
0
-6
-4
-8
-2
0
-7
-1
4
0
0
19
-28
-18
-15
0
6
73
-18
-10
0
-34
35
-2
-12
0
-5
-44
-44
18
0
-2
-19
46
-3
0
5
-15
-2
-2
0
0
-51
29
-1
0
-10
-8
-25
-2
0
26
6
3
-5
0
-34
9
48
-25
0
11
-32
-17
12
0
-8
20
43
-15
0
-9
0
-6
-35
0
-19
-22
-29
-1
0
3
-27
-33
2
0
-44
70
-55
-53
0
-27
-109
-33
0
0
51
20
-40
39
0
16
-10
-20
-2
0
-30
8
-13
-51
0
-7
1
-22
-40
0
-28
-57
79
-17
0
10
-17
1
-7
0
41
-19
-7
13
1
70
-76
-113
5
0
-75
31
28
-39
0
22
-4
5
-36
0
-21
20
30
2
0
-75
104
-24
46
0
60
-7
14
0
0
-17
-29
42
-16
0
12
-22
-8
-1
0
-104
45
-5
9
0
-65
23
6
42
0
-15
22
-28
-6
0
39
-25
-30
24
0
33
-101
110
-49
0
0
5
-8
-6
0
-13
23
-74
2
0
-8
9
11
-8
0
2
8
-83
65
0
-42
33
-57
38
0
-54
-18
1
-37
0
16
-40
-73
-11
0
-26
-19
-10
-12
0
-38
2
23
3
0
57
44
-30
8
0
26
-91
17
-91
0
20
-2
12
-105
0
-46
-86
-5
-32
0
-3
-39
-15
79
0
70
-6
-46
-1
0
-17
4
11
6
0
5
-96
-17
50
0
-8
-17
-66
16
0
3
-38
-29
18
-25
17
5
12
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
39
39
58
0
43
-6
-7
-15
0
-49
30
-5
29
0
13
18
3
-2
0
-38
18
10
-12
0
-13
-1
-25
-31
0
99
-8
-20
1
0
32
-61
31
-4
0
74
69
-78
-27
0
-30
45
-9
55
0
-7
24
93
-21
0
-4
-19
4
1
0
85
29
32
27
0
49
14
61
-20
0
22
-95
-22
20
0
2
45
-12
-21
0
8
31
71
28
0
16
20
-16
-11
0
19
-92
-1
21
0
-14
-25
6
-65
0
-61
12
5
5
0
-20
90
-39
-91
0
-30
-17
-21
1
0
-28
-89
21
70
0
0
15
-4
23
0
-3
-15
-1
20
0
-31
12
10
19
0
-86
5
5
46
0
14
22
-10
7
0
-67
55
-37
33
0
-50
-5
37
-8
2
-37
46
-46
-72
0
23
-24
76
9
0
13
26
-65
16
0
-46
39
-17
-1
0
-9
-22
-26
-20
0
-46
-46
4
-12
0
22
2
29
2
0
13
-17
8
3
0
-3
36
8
0
0
37
26
3
12
0
28
20
-4
-3
0
-8
9
-25
7
0
-19
50
36
-25
0
-62
4
-65
-13
0
2
53
19
-26
0
-19
22
-74
1
0
-48
24
-98
67
0
22
32
50
66
0
29
9
-49
15
0
130
-123
11
15
0
-101
-61
6
7
0
72
46
16
26
0
73
10
-40
59
0
48
33
52
16
0
-118
22
-28
-15
0
-33
22
14
-16
0
11
-18
4
36
0
-31
15
3
53
0
-30
-67
0
-9
0
0
-33
17
-114
0
7
-17
28
-58
0
40
-6
-29
-10
9
-38
-5
-34
36
0
40
13
19
13
0
37
-119
2
-2
0
-18
21
2
-1
0
44
-67
-12
-7
0
0
33
-27
0
0
9
1
34
0
0
32
-3
8
0
0
-2
11
2
2
0
49
-17
-1
0
0
-31
-33
5
8
0
20
-30
-16
3
0
6
-23
-10
-5
0
15
-9
18
-14
0
-43
7
28
-3
0
-17
-20
18
1
0
-87
81
-55
-7
0
-52
37
-90
25
0
-65
-38
-27
-5
0
0
23
-60
-57
0
41
1
-25
-41
0
-77
-12
-1
-29
0
-9
-55
-5
-65
0
-26
-44
80
-25
0
3
54
-30
4
0
3
-27
32
35
0
-70
-33
19
-27
0
42
57
19
-48
0
-9
-30
-20
34
0
3
33
5
6
0
43
-39
-49
-37
0
3
112
-36
-63
-1
-1
-32
-38
5
0
-49
11
-6
1
0
-20
-52
69
23
0
-7
-3
-27
-4
0
56
-54
-15
-14
0
-44
-12
1
0
0
18
-46
7
2
0
-20
-30
-3
-3
0
-16
27
22
0
0
2
-13
-40
3
0
23
11
-41
2
0
-3
6
-61
-2
0
-22
31
18
-22
0
-13
67
-3
0
0
-14
-19
-9
-1
0
-24
14
-7
-1
0
-25
-18
-12
6
0
-63
-28
-65
-45
0
31
-68
2
-9
0
-124
-7
34
-25
0
-22
-53
4
44
0
-56
-37
26
-47
0
30
-70
0
-13
0
50
-10
-13
31
0
-20
-17
2
-93
0
18
-27
-20
22
0
15
-41
-48
20
0
24
53
-50
-8
0
-47
4
28
-38
0
-39
-30
-9
7
0
35
22
21
-55
0
60
-13
44
-48
-26
-52
-17
59
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
31
-5
-50
0
33
66
-44
18
0
66
49
0
28
0
-9
-9
6
-7
0
12
79
-3
36
0
49
-2
103
6
0
-12
-14
-3
31
0
29
17
-15
-56
0
-23
59
-58
-36
0
43
59
65
36
0
8
30
27
49
0
4
50
42
28
0
34
-19
51
34
0
0
-2
43
-52
0
3
-39
-24
30
0
77
4
4
-21
0
22
-16
1
-2
0
5
-21
20
13
0
6
20
-23
8
0
40
6
7
8
0
-27
-3
91
-2
0
4
18
-24
0
0
0
5
-21
5
0
7
23
40
-8
0
-41
36
34
11
0
4
-32
-1
5
0
3
-47
3
10
0
-2
31
3
10
0
-31
83
50
-19
0
1
-27
7
95
0
-47
-72
57
81
21
43
31
-12
26
0
51
-11
9
17
0
10
-33
27
35
0
106
32
59
-12
0
71
0
-44
-10
0
12
12
-20
-6
0
-6
23
34
30
0
-64
54
21
18
0
30
130
-33
26
0
18
69
41
0
0
54
98
-3
0
0
-31
56
27
7
0
24
10
44
138
0
17
19
2
48
0
-4
3
22
24
0
-12
61
7
-10
0
22
-20
20
14
0
87
-11
44
2
0
25
-71
1
6
0
5
-5
1
-7
0
-42
67
17
3
0
-1
-10
29
8
0
2
0
84
11
0
1
-14
11
-6
0
0
-25
16
-17
0
-7
-18
37
-15
0
-13
-25
-5
32
0
1
-47
61
-1
0
-13
-49
-22
11
0
88
-7
28
-13
0
50
-42
-1
57
0
-15
40
-34
-33
37
-124
87
51
-25
0
-22
43
-29
11
0
51
19
-14
-48
0
11
0
55
22
0
37
107
15
-59
0
-40
68
-6
-22
0
26
-16
-5
17
0
5
-60
-15
5
0
105
82
-29
-20
0
-8
-20
0
-44
0
10
-16
36
-2
0
-1
-3
64
34
0
-17
50
41
-9
0
3
66
-1
8
0
-1
-6
-27
-13
0
8
-51
-73
25
0
-78
33
5
3
0
-20
-10
17
20
0
13
17
-1
-13
0
0
-15
-37
0
0
-13
7
0
-7
0
-5
10
23
-4
0
0
-9
-8
-3
0
3
1
56
-3
0
1
-27
-3
4
0
14
-56
-43
13
0
8
-18
5
4
0
-2
-62
22
-29
0
16
29
-3
1
0
45
-12
-19
13
0
1
43
-9
1
0
16
9
50
29
23
-71
-30
-15
16
0
79
-18
-23
94
0
1
88
68
-55
0
20
-29
24
-48
0
15
-1
-7
24
0
-24
-58
28
5
0
-20
-55
4
39
0
-9
43
21
-34
0
35
-8
8
3
0
-68
29
-28
-9
0
70
33
-27
1
0
0
44
16
-22
0
21
2
4
-8
0
-6
56
-47
-4
0
10
10
15
18
0
0
-14
-1
-16
0
36
68
43
44
0
-3
0
42
6
0
-21
4
-29
-10
0
-3
-21
-26
0
0
-1
48
-44
9
0
0
-21
17
2
0
0
4
-22
-2
0
9
-1
3
-3
0
-2
25
35
-3
0
-6
-2
-9
-5
0
-21
20
-13
2
0
0
-3
31
-20
0
-34
-77
73
27
0
9
-17
6
-13
0
-11
54
-64
-13
0
55
45
-28
44
-15
-116
-7
72
30
0
44
-64
-31
1
0
31
-21
41
64
0
27
23
10
20
0
-11
69
24
-12
0
11
30
-11
0
0
13
-21
39
67
0
74
-24
7
6
0
68
-37
66
49
0
45
44
17
1
0
8
-12
-46
27
0
14
-53
21
2
0
38
-20
-18
0
0
-18
81
50
1
0
0
8
-54
27
0
2
-39
-5
-1
0
-62
6
10
27
0
-54
-4
-29
30
0
58
56
-36
-28
0
0
-3
5
2
0
-20
13
-2
-6
0
15
11
14
1
0
1
0
4
-2
0
0
0
-1
0
0
1
-7
5
0
0
-8
-34
73
2
0
-5
4
0
-2
0
0
6
-14
0
0
0
-1
10
0
0
-54
46
23
-13
0
1
14
20
-5
0
23
1
-27
0
0
21
-1
25
0
0
-26
50
5
39
0
-26
108
-48
29
0
41
5
-35
44
0
72
-19
32
-45
0
-56
-18
-18
-20
0
17
37
-33
5
0
32
-51
-37
16
0
8
3
-7
-2
0
-1
-50
50
27
0
-19
-3
-3
22
0
7
12
3
-3
0
-58
13
30
0
0
-16
39
46
-15
0
12
37
38
-9
0
-3
8
-19
-6
0
7
15
31
-3
0
-3
-27
-9
-8
0
60
-41
25
34
0
-13
-2
8
1
0
41
0
-25
-6
0
4
-6
-29
0
0
-6
2
40
3
0
0
0
-4
0
0
-7
5
1
1
0
0
8
-17
13
0
12
-9
55
-29
0
0
-1
-32
0
0
-2
0
-7
-2
0
25
-9
-89
0
0
-13
12
5
16
0
-12
6
7
0
3
2
-13
-53
-1
0
80
47
42
-22
0
7
10
16
-47
0
-69
49
23
21
0
-45
27
111
-16
0
51
-3
-40
-1
0
-28
30
2
-21
0
-44
7
8
0
0
19
-103
-8
5
0
-38
75
11
-2
0
-14
10
-8
1
0
21
0
-34
2
0
-6
-20
-5
1
0
2
-16
5
-7
0
0
1
-24
-1
0
3
-8
13
-2
0
-5
0
3
-8
0
-4
20
30
-2
0
0
-48
17
-1
0
0
-1
-3
0
0
7
-2
-3
0
0
1
-2
13
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
4
3
-1
0
0
13
-23
2
0
0
1
3
-1
0
-8
0
0
3
0
0
-4
-36
1
0
0
7
-7
3
0
-3
3
-16
-2
36
-17
-19
2
-1
0
-2
13
99
60
0
14
-10
13
-8
0
43
-71
-36
41
0
26
-56
-20
25
0
86
41
-50
-8
0
-51
32
79
-3
0
-18
-14
64
0
0
52
-25
-45
-5
0
-36
45
-6
22
0
-23
-57
8
-47
0
-14
4
11
16
0
-16
-28
8
-14
0
-2
13
-7
0
0
18
30
14
-17
0
-4
12
15
-7
0
-46
13
-68
3
0
11
27
-58
25
0
95
1
16
-36
0
-3
11
42
9
0
50
20
51
-7
0
3
7
-17
6
0
-1
-22
-8
8
0
0
2
0
0
0
-5
48
7
2
0
-8
-33
10
-3
0
-4
-1
-1
1
0
0
1
14
0
0
6
-7
-1
-12
0
2
-16
50
0
0
-5
-34
5
12
0
-7
-49
34
0
-21
22
8
21
4
0
-60
105
41
47
0
51
-8
23
60
0
56
-14
29
26
0
62
54
-16
46
0
-28
-24
-22
39
0
22
-65
4
20
0
51
21
5
-15
0
-85
32
19
-1
0
-11
-7
7
53
0
2
-22
5
-5
0
-2
-4
-53
-26
0
-51
135
4
-37
0
-50
24
53
28
0
-1
60
141
-3
0
18
59
-29
-17
0
6
48
-32
-7
0
-23
-6
15
-3
0
14
-4
35
-48
0
8
-6
-23
0
0
0
3
1
0
0
-3
-34
6
5
0
0
4
-4
-1
0
0
2
1
-2
0
1
-40
-2
0
0
27
22
25
-5
0
-14
42
61
-14
0
0
3
-28
0
0
-8
-8
53
-3
0
-2
3
-46
-29
0
0
33
47
-7
0
-44
30
-31
5
12
9
-63
-27
19
0
19
-41
-60
83
0
-19
16
24
61
0
1
35
-71
1
0
27
-8
32
4
0
48
14
-9
5
0
-22
-10
32
-41
0
-42
8
17
0
0
52
46
15
6
0
-11
21
92
20
0
8
-25
23
13
0
69
-5
-102
-23
0
11
-19
4
-12
0
55
15
-50
-1
0
-47
82
14
-12
0
-30
23
-10
-5
0
64
-38
-33
8
0
10
-5
29
1
0
-6
-39
17
-7
0
1
8
-4
0
0
-21
14
-4
-1
0
2
-6
9
2
0
0
4
14
-13
0
0
-1
1
0
0
15
4
0
0
0
-9
48
73
-4
0
9
-22
-12
15
0
0
-23
8
-1
0
-37
18
-4
9
0
-6
49
16
-14
0
22
-9
-14
-6
0
0
-40
18
1
0
4
36
-33
-29
0
13
12
1
13
0
11
15
14
49
0
12
17
-12
-2
0
-1
14
-4
-9
0
-20
19
-3
8
0
-26
1
-7
-2
0
63
-10
-17
0
0
22
-12
-9
6
0
66
12
42
32
0
-3
7
-26
46
0
-12
7
25
-15
0
48
76
20
-14
0
-3
19
-26
-1
0
0
13
-13
8
0
-16
0
63
30
0
-14
30
25
-8
0
38
14
-4
2
0
-33
-2
1
-1
0
-6
9
0
2
0
-12
-1
3
-3
0
-1
0
2
0
0
-2
0
-2
0
0
0
-1
0
-1
0
0
0
-2
0
0
1
-5
5
-4
0
-9
3
3
-3
0
-1
-9
1
4
0
-29
-3
-1
3
0
2
16
2
-7
0
-7
-11
31
-9
0
44
-32
0
-12
22
-27
26
-7
-30
0
-2
16
42
-14
0
-30
-18
12
-34
0
-71
16
24
43
0
7
-6
-8
-13
0
23
-47
41
-7
0
0
-31
15
1
0
46
6
13
1
0
50
-37
47
-2
0
-2
-4
0
-37
0
32
14
19
-20
0
71
-32
-29
-6
0
57
13
-24
-20
0
-13
27
-4
2
0
25
18
-31
8
0
4
37
-29
-1
0
-44
16
-12
-12
0
-14
-42
8
3
0
-13
4
0
-7
0
0
-24
-5
0
0
-106
-8
21
-2
0
-7
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
41
-2
0
0
-3
30
3
3
0
15
1
-11
-5
0
1
5
-1
0
0
9
4
-16
5
0
6
-67
14
0
0
-7
-40
0
-5
0
-29
-17
-11
0
-3
1
55
-39
-41
0
-21
16
20
41
0
-16
5
-46
-11
0
-21
-2
29
1
0
29
2
-42
20
0
22
-3
-34
-8
0
15
8
19
-4
0
25
-7
31
0
0
53
-50
8
4
0
-35
52
18
7
0
-78
52
7
3
0
-6
35
33
-1
0
-51
18
-6
0
0
35
21
-20
0
0
6
-21
-16
0
0
-2
-29
-2
2
0
-5
11
32
0
0
-66
41
19
13
0
80
39
-77
-2
0
-3
-7
29
-1
0
1
3
1
1
0
-4
27
-13
4
0
0
-1
0
0
0
-2
2
1
1
0
0
-40
-2
0
0
-8
15
61
-7
0
0
5
-13
0
0
0
2
-2
0
0
-3
-8
1
0
0
5
-39
-33
-12
0
1
18
-1
10
0
-5
-3
-3
-1
12
-20
-8
-3
0
0
-8
34
82
-6
0
-39
20
43
5
0
-49
-4
49
-7
0
-56
-6
-2
39
0
-17
1
25
3
0
68
-64
-72
17
0
51
-4
-14
0
0
-10
-56
12
6
0
-11
-15
27
-40
0
7
18
69
-33
0
24
-3
-54
6
0
-48
0
-29
-8
0
18
-39
23
-2
0
-9
-49
-10
-7
0
0
-8
-14
1
0
-33
-13
-9
5
0
26
18
48
-13
0
41
-35
-5
14
0
2
0
-2
0
0
-30
-14
-17
6
0
10
-5
5
0
0
1
-8
-36
-4
0
0
5
0
0
0
0
0
-2
1
0
-1
32
-34
5
0
-5
12
-11
-1
0
0
5
-4
-6
0
4
2
3
0
0
4
22
-11
0
0
10
12
9
4
0
0
5
0
2
-10
11
5
-8
-8
0
3
38
115
15
0
-56
70
49
-1
0
5
55
6
25
0
54
-8
18
-7
0
-68
-2
94
22
0
-11
7
1
-4
0
17
5
-36
-1
0
-41
25
-8
-2
0
-13
-1
46
19
0
3
-32
49
-15
0
5
-72
24
-2
0
-15
-1
14
-6
0
-3
23
-47
0
0
0
-7
34
0
0
0
-18
16
2
0
-37
0
20
0
0
72
72
-45
10
0
4
-10
-26
-22
0
-16
-15
-22
3
0
48
-2
2
-5
0
0
0
-1
-1
0
0
0
-23
1
0
2
0
-1
0
0
0
0
5
0
0
-8
-20
16
-15
0
-1
1
-13
-2
0
0
1
-30
-1
0
5
1
0
3
0
4
-6
-11
-6
0
0
0
-4
0
0
-5
-13
5
0
-22
40
-43
3
5
0
11
24
38
24
0
30
-8
32
4
0
-29
10
40
8
0
-51
-20
38
18
0
-11
-39
7
42
0
13
49
-29
-15
0
-14
7
-29
0
0
11
-13
23
3
0
67
21
-23
-7
0
2
-54
-35
42
0
-20
75
-78
6
0
65
-78
-57
10
0
0
-18
-8
2
0
-16
-46
-28
0
0
-4
13
-6
0
0
10
33
-4
-17
0
28
17
-35
11
0
-48
53
6
-16
0
-6
23
40
-10
0
-61
-46
0
-9
0
8
16
25
4
0
-6
-21
38
-3
0
0
-7
7
0
0
-19
25
-40
2
0
-4
50
-47
-13
0
12
-29
-58
19
0
1
25
0
1
0
28
-24
6
-8
0
0
39
-38
-5
0
3
1
3
1
0
2
8
-10
-1
19
-35
-5
-14
13
0
-41
28
3
52
0
87
-107
-31
-17
0
-1
14
0
-17
0
89
-28
-18
2
0
25
9
32
8
0
-3
32
-29
-16
0
22
-30
-7
1
0
19
30
26
25
0
45
18
-6
-1
0
-7
31
-2
1
0
2
12
-16
0
0
4
-9
-7
7
0
-16
-49
5
19
0
4
-10
61
7
0
-25
13
-23
27
0
-28
-20
76
29
0
22
32
-56
-14
0
11
15
32
13
0
-22
32
-20
5
0
-2
-19
5
-26
0
-3
15
-56
12
0
-35
40
22
-7
0
11
13
51
26
0
-21
37
74
-40
0
31
-44
21
-79
0
2
62
-39
50
0
46
54
46
-13
0
35
51
-38
-1
0
38
-46
12
-22
0
-13
-4
-13
41
0
12
-20
26
-50
31
-96
28
7
0
0
32
16
1
-2
0
75
-51
-1
29
0
-22
-23
-15
-4
0
3
52
-11
22
0
67
-6
10
-5
0
-40
48
-79
8
0
2
-21
9
1
0
-12
31
32
-25
0
-9
4
0
3
0
0
68
75
-15
0
0
-6
5
1
0
24
-9
16
-17
0
-30
4
2
3
0
6
52
8
4
0
16
-33
46
5
0
-87
-36
-11
58
0
-4
11
67
-46
0
0
46
-43
26
0
-76
-7
53
-25
0
-21
0
-23
-95
0
-33
-31
6
43
0
12
9
-36
7
0
34
-1
-5
-57
0
49
-22
-48
-77
0
-4
-30
40
-15
0
59
26
35
-55
0
-10
32
-61
-38
0
53
-22
41
7
0
-3
-14
15
37
0
-2
56
-28
-15
0
-11
-64
36
26
2
-89
-7
5
34
0
-22
-44
46
0
0
20
6
-13
1
0
22
84
-61
-2
0
15
-9
-4
19
0
4
13
-7
12
0
27
-2
15
-17
0
-33
-4
6
-1
0
-10
-28
-44
-15
0
34
-19
3
2
0
0
3
-7
0
0
-1
-16
5
4
0
4
1
3
0
0
5
16
2
0
0
5
-9
28
-3
0
28
-5
-14
1
0
-15
-20
-24
0
0
7
10
-65
-26
0
8
-40
63
-29
0
-6
-25
-41
-53
0
-21
-119
46
-1
0
-32
17
-13
43
0
46
-37
-35
3
0
54
-81
-24
27
0
-19
3
10
-44
0
29
64
-39
-29
0
30
23
67
23
0
2
5
-58
-21
0
-115
45
-56
10
0
-23
1
-33
24
0
2
-15
34
-13
0
-48
-9
-2
-13
5
23
65
67
-8
0
53
-28
68
-2
0
-49
-10
46
1
0
-31
30
-15
-5
0
16
-1
-22
-9
0
-14
-23
70
2
0
-30
-41
41
8
0
-2
23
-23
4
0
-84
-2
-13
-19
0
2
5
3
4
0
7
13
1
-6
0
0
-1
-2
0
0
3
64
2
-21
0
-6
-6
10
-1
0
5
15
-7
0
0
1
-17
-8
4
0
41
70
-46
13
0
-1
-92
-30
-39
0
-46
29
9
-26
0
50
-11
-84
-32
0
-42
-31
-36
-33
0
-103
7
-8
-2
0
22
-46
-15
-66
0
-58
43
-11
-61
0
-9
-4
-1
-31
0
100
-10
6
16
0
20
-70
9
-55
0
-3
-2
-11
54
0
-85
-12
-14
77
0
-24
-115
18
7
0
8
-23
-42
25
0
20
-2
-104
-31
-42
47
-2
35
-26
0
-47
42
12
-34
0
34
-37
-17
-2
0
42
24
-31
0
0
-28
22
-39
9
0
25
-37
22
-2
0
54
0
13
13
0
1
2
-2
0
0
-14
-35
-27
-3
0
13
3
-34
-1
0
0
21
1
5
0
0
41
2
0
0
19
-8
5
-2
0
21
-31
-3
-2
0
-2
5
2
-4
0
-2
-13
-1
0
0
-19
-30
2
-1
0
-1
24
9
-26
0
-47
26
23
-7
0
47
31
-72
6
0
0
-35
21
11
0
51
-7
29
-26
0
-69
-68
23
48
0
65
17
-35
12
0
10
-12
-49
-11
0
103
35
54
12
0
-49
32
-83
20
0
0
8
18
7
0
-5
8
-13
-3
0
-37
20
39
36
0
4
-19
15
-33
0
-78
55
7
-41
-3
-36
2
-7
-14
0
23
11
7
8
0
-62
57
-2
-2
0
24
49
3
7
0
-1
17
5
6
0
-32
-2
26
0
0
15
-23
-16
-1
0
-6
-8
0
1
0
-34
5
7
2
0
5
16
-6
5
0
7
-2
-2
7
0
0
-7
0
0
0
-2
-2
4
-5
0
1
25
8
0
0
7
-33
-9
5
0
6
17
3
0
0
17
26
7
-29
0
-8
45
21
26
0
-25
-59
-12
52
0
13
20
-73
41
0
-43
57
-42
77
0
19
-18
-38
-45
0
-19
-2
-24
-6
0
7
-34
-14
-42
0
80
-83
-53
1
0
-7
28
56
-23
0
8
15
-25
3
0
0
-9
23
-4
0
-4
-55
30
-14
0
19
-56
81
-4
0
-33
67
-36
-89
0
-22
-45
-23
-1
-21
40
19
-8
30
0
29
25
57
4
0
21
12
6
8
0
21
-8
-9
-2
0
-3
23
-48
4
0
2
16
-4
0
0
-2
1
-9
0
0
-2
0
1
2
0
-31
-4
-3
3
0
8
-13
2
-10
0
0
4
2
0
0
0
5
3
3
0
-5
1
-2
0
0
-3
1
1
0
0
0
2
0
0
0
5
-1
5
0
0
-10
-2
1
-1
0
-8
-28
13
52
0
-46
-36
3
3
0
-73
3
-50
24
0
25
-53
-42
-13
0
39
-54
-92
-15
0
-56
-76
7
5
0
-23
-26
37
-69
0
64
-47
-30
7
0
-21
-17
-10
-17
0
-1
5
23
-4
0
-6
-24
2
-24
0
2
2
17
-2
0
3
33
-37
-48
0
-3
24
-57
-2
0
36
26
-41
24
-47
-62
-7
15
-21
0
12
-3
34
8
0
8
-13
16
2
0
6
45
-10
-6
0
-83
33
-6
3
0
38
-61
-21
2
0
-22
9
26
-3
0
1
-2
9
0
0
-53
51
-8
-4
0
-2
-5
-6
-1
0
-6
-2
-8
0
0
0
0
0
0
0
-2
1
3
1
0
0
2
-16
0
0
0
9
-2
0
0
0
-1
-1
0
0
11
-15
18
1
0
-28
-17
18
-50
0
-62
-28
15
-13
0
-28
-54
5
-6
0
-63
-117
39
-25
0
45
-33
-5
8
0
-8
-21
-40
-49
0
2
-15
-62
-44
0
-58
1
-24
28
0
-3
-60
-68
46
0
8
-40
-18
5
0
3
15
-47
-24
0
-27
36
-10
-9
0
-3
-69
-35
-27
0
0
-13
-30
-6
0
44
5
50
-7
-3
-2
-26
-58
-36
0
1
16
-17
5
0
-12
28
70
0
0
5
9
17
46
0
-31
4
39
17
0
-30
31
-13
-20
0
0
-11
3
-5
0
10
-8
-1
0
0
11
61
0
7
0
-66
8
-57
12
0
-18
-18
-30
13
0
-12
4
-55
8
0
-33
-10
74
-12
0
7
10
33
-21
0
-2
11
31
-2
0
-12
41
-22
14
0
-44
10
27
6
0
15
38
28
28
0
1
81
61
-5
0
-18
15
7
21
0
-60
-51
-38
0
0
-41
-68
-22
-52
0
0
33
-18
-25
0
38
-27
-57
40
0
-110
1
26
17
0
37
29
-21
-27
0
-34
20
30
31
0
-26
40
39
32
0
-47
31
-6
53
0
-70
20
21
-37
0
-20
73
-31
29
0
-27
11
-31
-5
24
-11
-48
17
51
0
36
41
18
27
0
-6
9
67
-50
0
-60
53
83
1
0
-62
58
-38
-17
0
77
-6
6
6
0
-57
1
40
0
0
-13
-16
8
-2
0
-59
56
-6
-6
0
0
32
-32
-2
0
-22
4
2
13
0
5
14
-1
-14
0
4
-48
12
-10
0
5
-40
19
-4
0
6
-35
-20
-1
0
-1
24
-8
0
0
56
-24
-74
-8
0
-19
-26
52
66
0
-15
31
73
46
0
-109
-74
20
-4
0
18
-1
25
1
0
27
2
-40
26
0
23
-8
15
-3
0
-17
-51
70
-13
0
-95
10
-37
-5
0
45
45
-8
26
0
-23
63
-7
48
0
24
-12
-22
4
0
16
-6
18
-67
0
-27
33
21
-9
0
9
35
-11
-16
0
-16
-27
-27
48
-1
49
-46
16
-6
0
-34
72
22
-4
0
-6
-40
-11
6
0
55
-17
59
13
0
-22
41
-11
-17
0
39
-53
-2
-1
0
-16
-6
2
3
0
7
12
-2
3
0
11
-40
-2
-6
0
36
-36
26
3
0
-52
46
2
0
0
10
27
-1
1
0
-10
0
-16
-1
0
-3
23
0
0
0
1
0
0
-1
0
2
17
-8
-1
0
-21
-18
5
-1
0
-31
33
-18
66
0
-4
12
-23
26
0
-47
9
68
-14
0
23
-98
-8
-21
0
4
32
-4
-53
0
-4
5
-4
-18
0
48
50
-6
-6
0
3
-23
24
2
0
-16
-22
16
40
0
-73
54
65
83
0
6
13
11
-33
0
-48
-51
51
49
0
-35
-37
34
-34
0
49
-22
-35
-12
0
-40
-49
-70
-11
2
-112
-10
-55
-8
0
-66
39
19
47
0
76
32
7
34
0
4
-19
-82
20
0
18
18
-2
16
0
23
25
-9
1
0
-7
-14
5
-7
0
1
-7
-1
1
0
-116
42
10
8
0
16
11
18
-5
0
-3
-43
-9
-2
0
-24
-14
12
-1
0
-47
-34
-7
18
0
0
4
-1
0
0
-1
3
-6
-3
0
-1
7
-1
-1
0
20
-54
-19
0
0
27
4
15
-39
0
-35
-59
-41
40
0
-36
-107
-43
21
0
3
-15
-58
42
0
-59
51
17
1
0
0
47
-6
-6
0
5
-31
2
-1
0
-31
-79
33
-4
0
-36
18
27
0
0
-18
-28
17
19
0
-45
-26
15
-56
0
0
7
-57
-7
0
-9
11
-104
65
0
13
-8
-2
-13
0
51
33
-18
-33
-36
-69
39
-1
-80
0
2
-7
50
11
0
-2
-23
2
-32
0
-61
35
7
-35
0
-39
-71
-66
5
0
22
-97
31
-1
0
29
92
-41
9
0
5
-12
16
-2
0
-23
8
2
-8
0
56
90
-4
-5
0
11
-49
31
-6
0
-13
-9
51
-16
0
52
-36
-29
19
0
126
2
-20
-2
0
0
-8
57
-4
0
6
18
4
-4
0
38
-5
-38
17
0
-25
-12
31
12
0
-70
-5
-34
12
0
22
33
-3
-19
0
69
-54
-2
-31
0
-104
9
-38
7
0
-27
-70
-23
-6
0
-41
-64
-7
31
0
-86
72
-3
48
0
58
26
-5
91
0
-15
-31
-37
60
0
62
41
-24
4
0
-27
15
36
-12
0
-15
-30
14
15
0
-47
-21
57
3
0
-4
84
-7
-85
-12
-72
74
-83
-60
0
-34
47
15
-12
0
-29
25
-7
16
0
-18
-42
-44
-8
0
13
-32
-9
41
0
-42
11
15
-16
0
12
-61
-58
5
0
2
-4
-14
0
0
-3
-28
-5
6
0
11
-33
-24
27
0
40
-33
-27
28
0
2
-3
-15
-19
0
28
-2
42
-24
0
1
6
-42
3
0
-10
15
25
-31
0
-1
-7
3
3
0
-59
48
-35
0
0
-39
46
42
-15
0
-47
73
-9
-49
0
0
-77
33
-4
0
25
-23
-50
9
0
-11
1
-23
7
0
101
-56
28
-27
0
-10
17
-10
0
0
-33
-30
-15
8
0
-28
35
67
-4
0
-15
-10
20
66
0
16
-46
12
7
0
-5
-75
0
-48
0
37
-19
-65
5
0
20
-43
30
-57
0
-16
77
119
-28
-37
-62
12
-5
46
0
18
56
35
-44
0
-11
-6
52
22
0
-41
-69
-10
-23
0
-91
-2
24
-26
0
15
59
4
-1
0
5
4
2
2
0
6
15
0
-1
0
-26
-2
13
-1
0
-52
52
-33
13
0
6
-45
-7
6
0
13
-132
-51
-2
0
7
1
22
1
0
5
25
7
4
0
0
-2
3
-8
0
-5
-5
-13
8
0
-1
6
5
1
0
-15
-14
-18
-7
0
-58
-74
-9
30
0
-40
-40
45
-38
0
2
-43
-31
-43
0
-57
12
57
-43
0
-72
53
-12
-23
0
15
-27
5
-5
0
28
-89
-70
-29
0
-61
8
25
42
0
38
21
-43
-15
0
-48
-6
-21
29
0
-31
-48
-22
-105
0
50
-9
-10
-52
0
18
-25
-103
-43
0
76
-21
-38
-27
-1
-27
-64
-70
19
0
16
-22
-52
-28
0
-78
-9
14
53
0
-46
5
34
-7
0
36
4
-29
-47
0
11
38
21
-22
0
13
21
-6
-5
0
-12
29
14
1
0
-24
-61
52
16
0
-3
72
37
12
0
-16
-25
-69
-18
0
-23
3
-2
-6
0
29
16
-79
-8
0
-1
-67
-13
2
0
0
-27
-19
-1
0
-22
0
5
2
0
-72
-7
-1
-41
0
-91
33
-34
49
0
-47
23
-72
-42
0
-67
-56
-15
-59
0
-111
21
-43
3
0
91
-37
15
-45
0
-23
-1
-83
-68
0
-20
-30
49
8
0
25
-78
-3
-14
0
-32
-7
16
-1
0
39
1
-30
14
0
-32
-10
-42
45
0
-18
-27
-43
-29
0
42
-4
59
8
0
-41
-5
-60
-20
0
12
-45
-49
40
3
-19
-81
-94
-148
0
57
-3
20
-1
0
70
2
-34
38
0
30
70
11
69
0
35
35
11
11
0
63
-18
74
31
0
65
24
-28
53
0
22
-12
49
30
0
50
17
28
-53
0
-30
55
74
-65
0
72
-2
15
-14
0
38
49
11
-50
0
20
73
23
7
0
20
-5
-6
23
0
10
67
3
22
0
-45
8
47
-7
0
52
36
75
35
0
0
-40
-24
7
0
-1
8
10
9
0
10
-29
-69
5
0
-61
50
42
8
0
-39
-7
-22
12
0
20
-22
50
-12
0
8
-38
1
-15
0
-47
-44
43
42
0
-41
-34
40
6
0
58
26
-44
8
0
3
38
40
5
0
-53
35
-9
19
0
10
-1
49
-30
0
-1
40
-18
16
0
-13
-17
45
62
30
-72
54
30
81
0
-23
52
4
-52
0
48
-1
-17
-29
0
41
36
14
41
0
85
71
12
8
0
5
12
7
33
0
10
99
41
-73
0
61
-15
17
23
0
68
53
80
-64
0
-37
-41
13
7
0
41
25
-53
38
0
13
18
15
16
0
61
32
9
10
0
18
14
71
24
0
-13
42
48
62
0
-5
-64
18
50
0
-80
67
2
-7
0
57
-17
15
-5
0
8
-57
56
1
0
18
7
-54
8
0
-11
-17
7
10
0
-58
20
23
15
0
-2
-5
38
7
0
5
-10
9
5
0
14
20
9
-19
0
-2
86
62
-5
0
-49
37
48
56
0
6
-70
46
-2
0
5
37
-24
-6
0
-25
4
56
-24
0
41
38
-24
46
0
9
-14
46
-32
-1
50
76
-85
-6
0
15
26
-14
-26
0
84
3
-45
3
0
38
32
-66
7
0
13
30
-62
30
0
60
40
13
-6
0
21
36
27
-28
0
-16
14
17
30
0
20
8
36
41
0
-59
3
29
17
0
37
-53
44
10
0
10
-28
42
4
0
22
3
-15
3
0
5
6
24
-8
0
23
-29
10
33
0
-28
-1
60
29
0
-74
27
-1
-5
0
31
-4
7
2
0
13
-38
-2
23
0
-4
33
-12
-4
0
56
17
26
-49
0
-21
4
91
0
0
-42
-14
2
-12
0
-3
0
-1
0
0
-48
-76
18
3
0
-16
42
62
-23
0
13
-15
-43
27
0
-2
-35
-14
-13
0
8
-65
-9
14
0
-7
-25
11
3
0
4
-37
-54
46
0
11
37
-85
10
7
-34
-26
84
-43
0
0
6
-29
-52
0
25
0
130
42
0
4
22
30
34
0
-42
64
-47
25
0
58
2
6
-2
0
43
14
10
-5
0
-34
27
18
14
0
58
51
-13
-3
0
2
16
8
66
0
90
53
-19
-2
0
-29
35
-74
-6
0
-75
-1
41
-28
0
-3
50
26
12
0
13
13
7
36
0
17
24
-10
0
0
-8
-35
-8
-32
0
-21
-41
35
-15
0
-3
19
27
-27
0
0
-28
-12
6
0
-19
-45
-3
9
0
-9
23
-17
-5
0
-8
27
56
-6
0
6
-8
7
-4
0
-19
13
-28
-5
0
-3
-52
32
-5
0
5
2
-36
5
0
1
35
-5
6
0
-41
-12
14
24
0
40
50
23
-22
0
-9
-47
19
-9
0
-40
-21
-39
14
8
42
-61
70
4
0
0
85
23
4
0
27
99
55
-11
0
63
-20
50
-1
0
25
33
-24
19
0
29
10
-3
-9
0
3
-17
29
18
0
4
1
3
1
0
-2
-42
40
15
0
65
7
10
27
0
-53
-16
-22
12
0
5
3
20
-3
0
-37
19
28
7
0
-5
1
-8
2
0
0
5
4
-10
0
-3
-2
-7
1
0
49
-4
-19
11
0
-37
41
-8
-5
0
-2
-14
-8
24
0
32
-6
-12
0
0
-21
15
2
1
0
5
-3
5
-2
0
0
-1
4
2
0
0
-5
4
0
0
-9
2
0
-3
0
-61
10
-13
30
0
24
16
14
-47
0
-5
-44
-6
0
0
-20
-31
33
11
0
15
-3
5
-5
0
0
8
2
1
0
23
-11
0
0
31
0
-23
22
-47
0
-26
19
66
52
0
32
44
16
25
0
71
14
-39
-44
0
25
-6
21
37
0
-43
28
-45
-6
0
19
12
-12
-1
0
8
-24
-8
4
0
-12
104
-3
-3
0
-15
14
52
2
0
-43
-29
27
24
0
0
-47
-10
0
0
89
26
-46
-2
0
-6
25
14
-3
0
-4
-13
-2
-15
0
2
-34
14
1
0
14
51
-27
-25
0
36
65
19
17
0
-1
-45
-16
1
0
19
-41
15
1
0
-60
-22
22
-3
0
-2
-11
23
2
0
-3
0
28
1
0
-2
-5
8
0
0
5
12
2
1
0
-14
16
-55
1
0
-46
-41
-20
45
0
-7
22
-14
-1
0
-44
-22
32
-1
0
12
12
-18
3
0
-8
6
7
-8
0
3
27
-63
-5
6
-10
-24
12
-1
0
-6
11
34
2
0
53
-90
29
-15
0
2
49
-1
1
0
40
-1
16
34
0
44
29
-6
0
0
2
29
-62
-3
0
2
-8
6
0
0
15
-30
-50
3
0
-39
53
9
-5
0
-29
-6
-3
-5
0
-7
-36
14
-7
0
-15
6
15
3
0
0
34
4
1
0
0
6
-3
-5
0
2
1
8
5
0
-42
0
27
2
0
8
84
-1
0
0
-2
-1
1
10
0
3
-2
-1
0
0
7
-4
3
-2
0
-1
9
-2
0
0
0
0
9
0
0
0
0
0
0
0
6
0
0
-1
0
3
-31
-5
-8
0
-4
4
-18
-20
0
0
-13
-36
0
0
-35
0
0
1
0
2
-71
6
0
0
0
-5
-3
1
0
2
0
8
0
-11
-15
11
12
-5
0
33
11
36
98
0
3
94
-14
-14
0
7
-19
46
53
0
-11
-35
-18
31
0
-52
40
-44
-5
0
26
-13
7
-7
0
-66
-7
24
6
0
-18
23
-31
-18
0
4
-7
95
0
0
35
49
43
-4
0
-2
86
-64
15
0
0
-56
4
-12
0
-5
-29
8
0
0
16
-20
-12
-6
0
2
77
13
-4
0
-8
-5
62
0
0
42
41
-16
14
0
-41
12
-32
30
0
2
31
-6
3
0
18
-28
-9
1
0
1
-53
61
3
0
-6
0
-54
1
0
1
0
-3
-1
0
-6
24
6
-1
0
-71
7
-19
6
0
20
-14
-25
-7
0
-2
6
-70
-2
0
-52
-2
7
-14
0
-13
-12
-25
-5
0
10
-10
50
8
0
52
-112
2
5
29
-127
44
-9
-6
0
16
-21
35
8
0
-26
9
-5
20
0
-4
55
-58
22
0
123
-71
45
-40
0
-21
7
50
-12
0
-45
36
-41
45
0
7
-38
33
0
0
-4
-20
57
6
0
70
-3
30
-46
0
-11
-55
63
20
0
-25
60
71
3
0
48
-9
-3
-30
0
32
6
22
-6
0
-1
-11
40
-9
0
7
1
-30
3
0
-61
13
42
21
0
-10
10
23
-5
0
21
15
5
-4
0
-5
31
-7
0
0
-27
11
5
5
0
5
21
-13
0
0
19
12
8
-4
0
-5
-1
3
-4
0
26
-23
3
-4
0
-1
44
21
0
0
0
6
7
-1
0
0
3
-2
-2
0
0
-7
27
8
0
-5
-15
-19
7
0
2
-10
21
26
0
21
12
-8
-4
-12
24
124
-71
15
0
6
22
-10
22
0
23
47
16
-13
0
34
-38
-41
8
0
98
-10
-2
42
0
40
24
57
-30
0
-22
19
-39
-7
0
-7
21
15
-5
0
23
-46
-18
5
0
40
19
-5
5
0
-4
1
87
-19
0
-4
-63
-28
8
0
-76
43
44
1
0
-21
25
3
2
0
0
45
13
-8
0
-5
2
-8
0
0
-30
46
-32
0
0
13
25
-52
1
0
-30
-18
-6
5
0
-1
27
4
0
0
-18
12
-5
-4
0
-20
67
5
-2
0
1
14
-37
5
0
-4
1
0
1
0
34
14
7
0
0
17
20
-6
3
0
-19
-58
27
5
0
0
-6
5
2
0
5
-8
-4
0
0
14
5
-67
-2
0
-3
-3
-13
10
0
2
-35
-18
0
17
5
-47
-1
2
0
14
12
-64
72
0
80
2
43
3
0
21
-25
56
4
0
27
-73
-3
-22
0
-13
17
-58
10
0
13
-10
67
-18
0
14
6
-40
-7
0
68
10
0
-1
0
-41
95
-19
-4
0
36
134
-72
-24
0
-17
-67
54
8
0
-7
21
-31
-15
0
1
-3
-11
-2
0
0
14
14
-1
0
5
-45
-48
31
0
19
-3
26
-44
0
-29
-23
65
0
0
-47
-39
1
-5
0
-12
0
9
0
0
4
36
-30
9
0
48
-1
-7
-3
0
9
4
2
-2
0
-5
0
0
0
0
19
7
36
2
0
23
0
45
2
0
2
-13
22
-25
0
0
-3
-12
-1
0
5
8
-10
-1
0
-13
-12
35
4
0
-1
-1
-17
19
0
-29
15
-40
-10
13
-56
-21
-55
7
0
40
-12
-18
-23
0
-49
65
41
60
0
95
-17
-103
10
0
-34
-32
9
-84
0
46
-32
0
-4
0
32
-38
38
17
0
69
-53
-2
4
0
1
-25
-32
-4
0
7
-15
59
9
0
6
-29
9
8
0
5
-11
-111
-8
0
-21
22
19
-7
0
5
7
-36
3
0
-3
-8
64
7
0
-5
-23
23
15
0
0
28
-21
-6
0
14
36
23
0
0
-78
1
1
-1
0
-5
-21
-16
2
0
-63
-20
-14
3
0
5
-4
32
2
0
2
18
21
-2
0
0
-4
-1
0
0
-31
-20
-23
0
0
-12
29
-4
2
0
-4
2
-13
-1
0
0
-5
4
0
0
-26
-20
-6
-1
0
-8
-64
-19
-20
0
-2
3
6
-6
0
2
-23
-51
0
25
17
-73
-52
-22
0
-1
-4
23
-20
0
-26
43
10
26
0
-5
9
25
30
0
-4
-40
26
-13
0
-47
25
21
-4
0
-4
-8
3
-2
0
4
-7
-1
0
0
-39
-14
-53
-7
0
68
-18
8
8
0
-7
23
-3
1
0
1
3
-1
-1
0
-9
8
2
5
0
2
-5
2
-1
0
0
-2
3
0
0
-2
0
-27
7
0
2
19
9
-6
0
-36
2
14
-13
0
37
54
8
5
0
3
17
-41
0
0
-2
12
-2
0
0
7
16
-6
2
0
0
-1
-16
0
0
0
0
2
0
0
3
-10
-3
0
0
-48
-23
-16
-2
0
30
12
-18
1
0
3
9
0
0
0
0
9
3
5
0
-2
-14
4
-12
0
-2
-8
-1
0
0
1
12
-1
-3
8
-29
3
25
-1
0
65
60
41
-18
0
-65
31
69
-29
0
-25
37
70
19
0
41
32
-21
-19
0
-89
-28
30
16
0
-34
6
10
-6
0
8
-5
-13
0
0
40
12
-23
-6
0
23
37
-54
7
0
44
-45
58
6
0
0
9
5
2
0
37
23
-17
-5
0
0
-13
-2
0
0
0
1
6
0
0
0
6
-1
-4
0
-18
-8
-9
3
0
83
-62
5
1
0
94
22
-5
2
0
-12
-22
10
-6
0
-35
24
5
0
0
-2
8
-3
3
0
10
2
-2
-3
0
0
-4
0
-1
0
-22
0
3
0
0
9
19
17
-6
0
35
-40
19
-6
0
0
1
-7
0
0
-8
1
-6
0
0
0
28
-25
0
0
-6
1
-10
-5
0
-24
5
0
0
-25
-41
-5
7
5
0
51
53
56
56
0
56
43
-33
14
0
-12
-34
10
21
0
-38
-26
7
-26
0
34
13
-69
4
0
19
-42
44
49
0
-17
8
-12
3
0
-73
70
-39
6
0
48
-63
41
-20
0
-50
57
14
10
0
0
-14
3
6
0
30
-31
29
-2
0
6
-27
31
1
0
4
-3
-1
-7
0
1
1
0
-1
0
-21
-34
16
-1
0
38
40
9
-2
0
54
-2
10
-50
0
-4
-20
7
3
0
-18
-2
-9
0
0
3
31
-5
0
0
4
0
-27
3
0
-2
2
0
-1
0
-12
8
5
0
0
-40
75
-53
0
0
-18
23
-18
-1
0
0
-1
1
-7
0
2
-2
1
-7
0
-3
-59
42
0
0
0
-1
18
0
0
2
8
6
0
35
-61
-66
13
-3
0
-29
-1
77
-15
0
-1
-23
87
-1
0
24
-18
1
-36
0
35
-3
-24
19
0
13
1
-11
2
0
-36
24
-5
4
0
11
-26
-4
-1
0
53
15
-58
30
0
1
27
32
-1
0
4
-19
-52
-28
0
36
-10
-4
-30
0
-10
22
13
-8
0
1
60
-2
6
0
-21
4
6
0
0
0
50
33
2
0
8
-36
38
-16
0
6
10
-6
24
0
-4
33
-10
44
0
-27
-45
121
3
0
-44
-6
-77
5
0
10
24
-7
-7
0
3
3
-35
5
0
1
2
-4
0
0
-33
14
-51
-2
0
59
20
40
-8
0
-20
41
59
0
0
0
-6
-15
-1
0
-19
5
-45
2
0
-10
17
20
-15
0
20
-2
-29
13
0
-13
-48
7
0
-6
-24
32
-21
-2
0
-12
-1
-26
21
0
-15
-24
14
1
0
23
6
20
-4
0
-39
-22
-24
-18
0
-15
-2
-15
11
0
61
-3
7
-14
0
-3
8
7
-6
0
-29
27
35
21
0
-42
50
-39
5
0
16
-6
16
8
0
8
-29
-7
1
0
-3
-78
25
10
0
46
29
17
-5
0
29
-32
11
-4
0
7
74
-4
-5
0
-47
-33
35
55
0
14
19
12
-10
0
-25
32
-53
-5
0
26
-33
15
-3
0
24
-26
24
-22
0
-7
-28
-20
15
0
-25
54
12
29
0
58
49
-9
-31
0
53
128
12
7
0
21
52
-16
40
0
58
15
-29
13
0
1
-22
25
6
0
16
3
29
8
0
31
54
-8
-7
0
6
-49
-6
69
0
-72
3
37
5
16
19
20
-47
43
0
-26
67
3
53
0
-39
-41
39
14
0
41
-52
66
-42
0
-35
56
-20
12
0
-93
-12
52
-24
0
-35
-10
-76
-4
0
8
-29
22
6
0
32
6
-3
1
0
63
11
21
4
0
25
50
3
-13
0
2
18
-55
-3
0
41
-3
-5
13
0
0
-4
0
5
0
10
45
-64
-2
0
-9
-54
68
3
0
25
2
-3
8
0
14
-20
-54
-25
0
50
-50
-41
-23
0
-4
-33
-66
24
0
-5
-5
-20
-64
0
-31
-26
-13
22
0
18
-33
-2
5
0
-41
-9
19
19
0
73
-19
-36
-5
0
-23
44
21
3
0
-46
24
63
50
0
-8
-23
10
30
0
-46
43
-32
-4
0
20
-9
-29
-9
0
-41
70
8
-7
0
-90
36
8
49
2
-32
52
8
-50
0
10
38
-4
10
0
-19
20
14
-16
0
-65
46
-29
0
0
2
-9
9
4
0
25
0
6
2
0
51
-5
24
-8
0
4
5
1
-1
0
-22
-20
13
0
0
19
14
6
0
0
29
12
-23
-5
0
1
20
-1
0
0
18
7
28
-1
0
0
49
-42
5
0
8
16
10
-2
0
13
-15
1
1
0
-42
-45
61
2
0
2
-20
13
9
0
-15
-21
-61
-8
0
-82
-16
-59
27
0
-12
-24
-59
-77
0
-37
9
-12
-21
0
-3
-16
-11
-58
0
-55
-18
8
80
0
-42
22
9
-8
0
38
31
4
-27
0
28
-2
-32
26
0
11
16
-54
0
0
37
57
3
-19
0
29
-9
-35
29
0
12
-50
17
-58
0
37
19
9
14
3
61
7
46
3
0
38
-18
1
5
0
8
12
37
-45
0
-12
4
-7
-8
0
-16
7
-2
4
0
49
21
10
0
0
28
-14
9
-2
0
-5
1
1
-1
0
1
-101
-5
0
0
47
-34
18
5
0
-68
11
14
-3
0
1
11
-31
-1
0
4
-27
27
-1
0
-5
-52
22
-5
0
4
-41
-29
-1
0
7
10
-12
0
0
-2
-37
-18
-8
0
-14
20
-9
14
0
4
-17
17
-8
0
42
-43
-8
-10
0
-1
5
-88
-14
0
38
-51
-55
17
0
-8
54
-38
-25
0
-19
-68
-63
23
0
-39
-15
8
-9
0
26
33
3
-39
0
-23
31
22
-10
0
-25
28
18
3
0
5
-7
36
-29
0
-7
-44
-56
70
0
-13
-18
-38
4
0
-27
-19
-62
-11
-8
-143
5
-36
-135
0
-10
19
9
30
0
36
-15
37
1
0
-50
-6
11
8
0
-42
21
-28
48
0
-49
-3
1
-20
0
-7
10
1
-10
0
-2
7
-5
8
0
-6
-32
-2
-1
0
-5
16
-19
-2
0
35
16
-11
2
0
5
21
-6
1
0
9
-49
-10
-23
0
-2
31
-8
-3
0
0
-7
2
0
0
-23
-8
3
1
0
44
65
-83
8
0
7
-15
22
20
0
21
15
23
-82
0
-45
12
-22
2
0
-69
-2
-55
10
0
40
-40
-16
-6
0
-61
-4
1
20
0
71
7
-46
-5
0
-137
-53
0
71
0
61
5
-57
-72
0
-65
51
-44
18
0
24
45
0
-11
0
-60
56
-8
-18
0
20
0
-44
-42
0
-1
-15
-43
-44
0
20
35
12
-9
-11
-44
-32
51
-9
0
15
54
69
-4
0
-75
66
0
5
0
57
-42
-13
10
0
-28
43
-52
27
0
-42
12
-14
2
0
-30
21
25
0
0
14
0
-4
5
0
-14
0
-42
-5
0
-55
46
-18
-4
0
32
32
17
7
0
1
18
1
-5
0
73
-5
-15
0
0
-1
8
-51
-1
0
-1
14
-13
1
0
4
7
-14
2
0
-43
92
-45
-13
0
2
-60
57
70
0
6
-11
41
35
0
10
-97
-18
-34
0
-15
-81
8
17
0
-40
-57
-49
-49
0
-122
-134
22
-18
0
18
21
-12
-59
0
25
-22
3
27
0
-67
-17
45
47
0
-19
-72
-19
-15
0
14
31
-59
20
0
7
-52
7
-5
0
5
-55
27
-19
0
5
16
-73
3
0
40
-22
-31
-69
5
42
-46
-20
-70
0
-4
-7
91
9
0
-11
5
-19
15
0
3
25
-2
3
0
43
42
-7
20
0
0
5
-13
0
0
6
-18
8
0
0
5
-3
0
1
0
95
-13
-22
-12
0
-43
10
4
1
0
-27
56
-30
-16
0
-2
-25
5
2
0
27
13
0
-12
0
0
-5
-13
0
0
-2
-1
-2
0
0
-3
5
0
1
0
15
11
1
4
0
-14
21
8
-58
0
-64
-58
24
16
0
-52
8
50
-11
0
-16
16
-35
-49
0
-95
-8
26
-19
0
88
-81
-11
-28
0
2
-33
98
-54
0
-42
-52
20
9
0
35
-53
0
-52
0
2
48
-27
-33
0
32
55
3
-7
0
21
-36
-28
-45
0
-5
-5
-43
-1
0
2
40
9
2
0
21
-54
-29
-13
1
12
-66
-50
-7
0
-20
-38
46
-38
0
-22
8
-66
-19
0
-15
-7
-49
-7
0
-55
6
36
-33
0
91
-54
29
-4
0
-1
13
3
-5
0
25
-27
12
-7
0
-42
-4
16
-3
0
23
77
4
-13
0
-100
63
6
31
0
-28
-23
-58
3
0
7
-19
-3
23
0
41
49
15
2
0
13
3
-41
0
0
-2
0
-46
-3
0
4
40
-31
7
0
-27
57
-4
-9
0
-25
-13
35
21
0
-32
-75
-45
-106
0
-88
18
-88
-22
0
-45
-53
-33
-7
0
58
-5
-22
-7
0
-59
-47
29
-47
0
-23
-47
-23
-10
0
-29
-43
16
-7
0
3
-126
3
-4
0
-34
-31
0
0
0
-31
-3
12
3
0
7
-26
16
-87
0
-7
55
3
-44
0
-54
-53
-16
45
1
7
-43
-29
-8
0
-18
21
3
-12
0
27
1
37
51
0
59
-21
65
16
0
-1
-25
16
-45
0
43
-53
-58
-3
0
-12
-2
26
19
0
35
56
-16
0
0
-1
-9
71
-7
0
19
91
-60
-37
0
-17
23
-6
3
0
4
11
-5
23
0
-35
30
27
18
0
-22
-71
-19
-7
0
-40
-21
19
0
0
10
6
16
-1
0
35
-12
-1
-6
0
-4
6
-24
3
0
42
33
41
-23
0
14
-8
71
-39
0
1
-26
27
5
0
89
-25
-6
-30
0
-37
33
16
-16
0
3
-89
20
57
0
-41
-32
-24
-19
0
-22
21
38
37
0
-27
9
-7
20
0
28
24
32
-9
0
-1
33
17
16
0
-2
21
36
-88
0
-9
-8
-46
20
0
7
-13
5
-13
-3
-54
63
23
22
0
17
63
26
57
0
4
-20
25
10
0
-3
16
-41
-11
0
76
-8
-54
42
0
104
7
11
-1
0
-1
2
45
16
0
-15
45
-53
-5
0
-40
40
-9
9
0
7
-6
9
-12
0
-55
4
30
-68
0
-1
-46
9
8
0
-49
-43
14
9
0
-50
41
-1
0
0
7
9
7
0
0
4
-19
-53
0
0
-11
6
-41
1
0
17
-30
7
-1
0
28
-9
-29
0
0
-10
-11
74
-28
0
20
-72
24
-31
0
6
25
19
13
0
-90
-1
-49
6
0
42
-6
-55
0
0
-51
-71
81
40
0
-59
41
38
8
0
35
79
-10
-66
0
26
70
-41
10
0
91
33
-28
13
0
-17
-29
11
54
0
-18
19
-69
61
0
11
104
16
-29
10
-41
-57
43
13
0
77
53
46
-53
0
26
-32
32
79
0
-5
61
36
-16
0
-40
42
37
-26
0
26
1
-27
1
0
-63
25
-5
2
0
57
17
3
0
0
-53
2
-6
13
0
-14
53
-18
1
0
50
-86
0
20
0
14
-14
-3
-7
0
-31
-19
7
5
0
-8
-5
29
0
0
0
-10
20
0
0
2
10
-3
-3
0
12
-6
-7
-38
0
-2
5
-25
-29
0
-30
-6
11
-45
0
-28
15
28
-42
0
2
-100
-1
19
0
-10
24
-44
-56
0
-100
-8
-9
-16
0
42
-30
-11
-3
0
27
-16
-82
-67
0
-4
10
36
20
0
27
-1
7
62
0
3
-30
-15
23
0
4
-24
-1
-63
0
-45
-30
11
41
0
9
79
39
-56
0
79
-7
-12
5
11
-43
9
8
-64
0
-34
10
4
118
0
16
0
-29
-25
0
-70
23
40
-17
0
-11
-27
-21
-32
0
13
26
45
6
0
50
-105
49
-23
0
10
3
15
-1
0
-45
-26
23
1
0
-9
52
-41
8
0
-15
-35
-45
5
0
8
51
16
-8
0
-32
26
1
-2
0
2
-15
4
-4
0
1
13
12
0
0
-1
-23
2
-1
0
-6
-20
-21
0
0
-14
-51
-39
-17
0
-9
38
0
61
0
-36
-64
-32
19
0
22
4
-19
-8
0
-42
15
-8
-62
0
-75
-39
-51
29
0
-1
30
-19
1
0
50
40
-81
-21
0
9
3
20
16
0
-21
-27
-2
2
0
24
-3
2
-24
0
-27
-40
17
-18
0
16
48
8
-5
0
43
32
67
-31
0
-66
52
-22
16
-1
-39
-56
-104
-55
0
43
25
44
-10
0
50
12
28
-42
0
-57
49
-26
-42
0
42
-7
-41
13
0
-8
8
-36
-3
0
25
-2
-12
22
0
7
-16
20
-3
0
-55
58
-5
-18
0
-48
8
-7
25
0
-38
29
16
26
0
-5
30
-28
38
0
-76
-9
-2
43
0
12
-16
10
-7
0
0
-45
19
10
0
-4
-6
-12
-8
0
-71
-48
31
-19
0
3
26
32
-6
0
2
8
-66
-20
0
-14
5
-38
28
0
-65
9
64
-32
0
-26
-8
-49
33
0
-3
-17
-13
17
0
-50
-19
68
50
0
37
-29
-97
10
0
28
27
-8
2
0
69
13
21
39
0
57
10
-25
-40
0
-6
-20
40
4
0
-10
-19
17
-70
0
-41
14
49
3
0
42
-67
-104
-21
2
25
-93
-6
25
0
-13
16
30
52
0
-48
28
3
13
0
16
-23
11
16
0
-73
20
31
21
0
28
-43
30
15
0
53
13
47
-3
0
-3
-22
5
5
0
-14
-19
-7
17
0
-5
15
7
74
0
23
3
7
-10
0
-14
-14
51
0
0
15
-23
2
-21
0
-1
10
30
0
0
4
21
11
8
0
2
15
3
-7
0
-21
0
-15
6
0
-10
13
-13
17
0
-60
-53
36
45
0
21
-27
-81
-22
0
77
-76
-47
4
0
-19
13
-29
21
0
-67
16
-52
-44
0
-6
-1
-85
-33
0
-44
10
-92
-5
0
58
51
0
6
0
19
26
-16
-4
0
-92
-33
29
-51
0
-87
2
-38
9
0
35
-49
48
98
0
15
4
-12
-61
0
0
-77
26
13
-13
-19
58
-46
5
0
53
47
73
54
0
-26
43
21
62
0
-39
21
23
11
0
-2
46
17
25
0
45
12
22
-5
0
-39
-57
5
-13
0
-8
14
20
1
0
-43
11
-49
-29
0
-5
-5
5
-17
0
8
-26
26
17
0
10
2
-63
20
0
-11
27
18
3
0
-3
-4
-28
4
0
8
-2
-45
-1
0
0
8
-4
0
0
-6
-27
-61
33
0
5
42
-4
25
0
-70
68
38
36
0
-12
-29
-23
-21
0
-39
-66
-19
37
0
-52
28
-2
1
0
-28
-50
-67
-11
0
31
-50
-64
29
0
22
-2
11
-54
0
49
-30
19
-15
0
9
11
-10
25
0
42
-44
-61
-17
0
2
-31
-14
17
0
-42
-17
18
-75
0
6
-81
-49
-47
0
-35
61
-11
-29
-27
-94
40
78
-60
0
54
-12
81
34
0
-17
-11
54
65
0
-86
40
-19
38
0
-77
71
-57
-6
0
40
-37
-1
-4
0
-52
-9
19
48
0
-57
53
7
-31
0
-53
-19
22
4
0
53
26
-32
40
0
46
-7
29
47
0
15
29
-11
-50
0
-64
-27
-10
18
0
-82
78
-17
-16
0
-7
0
-5
-29
0
-24
-14
-45
2
0
-5
-24
-74
-56
0
4
13
4
-1
0
9
44
35
18
0
-39
-84
40
-8
0
-42
-34
30
-54
0
-22
6
36
-4
0
26
41
-18
-64
0
6
61
-4
-15
0
-77
-40
-40
-23
0
67
18
-35
34
0
-25
-35
14
65
0
-46
-43
-62
-1
0
-43
-63
27
25
0
-23
-2
-37
-40
0
55
-58
-16
-44
0
57
-40
-65
-73
-29
-28
-43
5
17
38
9
44
-11
53
18
26
15
71
-3
-11
-33
65
3
-38
0
8
10
37
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
74
-1
-16
-18
-38
-5
37
43
66
3
59
-17
5
17
23
-20
13
-89
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
52
32
-16
66
12
-21
25
-26
29
-3
70
-56
-9
-10
5
46
44
-16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
43
-45
18
-43
0
-23
59
25
31
0
24
-9
-18
1
0
-19
-1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
38
32
8
5
44
15
54
30
17
0
-71
23
3
-82
19
31
57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
15
31
24
-24
-8
0
29
-1
44
5
33
13
5
-48
10
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-3
79
16
103
-17
-28
-49
63
10
65
62
-27
0
4
-84
52
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
7
12
26
33
-10
-7
-17
0
34
-3
9
0
4
8
-19
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-13
19
-10
49
-40
74
15
21
-30
50
13
11
38
5
33
-24
26
-18
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
42
5
11
5
52
88
0
-49
-37
24
-54
27
-21
24
-16
-30
-62
11
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
15
-16
3
-17
-45
-56
9
0
11
-46
-19
2
3
0
-19
8
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-17
-20
3
0
17
43
23
0
0
43
-15
10
-3
0
9
-25
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
39
51
13
32
44
42
29
-18
20
-7
-17
63
52
-27
12
14
-29
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
5
-45
17
3
39
-24
-4
-29
7
12
60
41
60
15
-45
74
-32
25
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-114
77
20
-25
4
-31
32
-23
34
31
39
-46
4
17
-24
36
64
-33
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
20
42
1
-3
-25
5
20
17
0
12
-17
-6
3
-10
-31
78
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
49
28
69
30
46
19
36
23
8
0
-1
62
17
78
-5
59
18
58
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-6
28
-1
34
38
27
0
11
-48
2
-5
11
-30
13
-8
20
-50
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
15
14
39
0
43
-11
-5
8
-7
-59
-9
-2
1
-1
-5
-7
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
63
11
12
0
-14
-23
-50
1
0
5
2
-24
-2
0
22
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
88
68
-57
-2
67
101
35
-1
-16
48
12
45
26
-21
-28
-68
-25
-8
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
13
22
-2
1
5
-15
19
-76
27
-8
-5
-8
-17
14
-8
-13
-48
22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
38
-15
-8
-10
-60
71
-8
9
2
-25
26
-18
0
0
-17
25
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-6
67
-16
0
19
-36
-86
-21
0
-41
-18
-28
0
0
-91
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
9
13
-13
39
-4
41
4
35
-38
-16
0
8
28
10
-41
30
-33
26
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
0
-22
-14
-2
-23
17
-12
-7
-4
-29
6
4
-6
-5
-6
-9
23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-68
-21
-14
4
-1
-6
21
3
-2
1
3
-18
1
0
0
16
-29
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
8
-18
-2
0
-5
5
0
-1
0
8
1
1
0
0
5
13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
27
-31
10
22
-37
61
-19
17
15
14
12
29
44
22
-60
66
-1
28
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-30
-17
38
27
23
-4
79
96
-64
48
51
0
3
0
17
-44
14
-12
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
-90
54
10
4
-55
47
24
8
-12
24
15
39
0
16
-15
-13
-20
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
-27
29
8
1
46
-36
12
10
0
-29
8
5
-6
0
-29
-17
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
36
39
35
98
38
11
73
-20
8
8
13
7
3
-12
-29
-22
49
44
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-30
56
21
13
-25
15
7
84
76
-8
21
16
31
-19
-20
-5
52
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
59
-31
-33
22
-18
45
91
31
-5
-35
-64
34
69
0
90
-39
-26
-7
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
0
55
-13
27
37
-19
2
70
5
-94
84
-27
-13
24
40
-103
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-10
-9
-26
-10
20
-22
44
-13
22
0
27
22
-44
-16
60
27
65
-13
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
42
98
-16
48
-6
37
-6
20
-41
-2
-15
-3
-1
4
-25
47
-12
64
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
2
44
61
-10
-31
-98
-45
68
60
31
23
-43
23
9
-42
-13
-37
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
75
-23
-24
-46
3
-48
44
-63
36
-1
-14
27
-5
7
19
52
-52
28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-15
99
-6
107
1
-10
9
41
-54
73
18
69
-52
-66
45
-26
-61
43
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
68
10
24
-48
10
16
29
37
-7
8
41
-65
26
30
-21
-31
1
-13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-7
48
47
39
-45
-36
14
-16
9
-13
14
-51
-31
34
-46
-59
32
-46
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
-5
6
-53
-9
-83
9
49
13
0
57
3
-13
8
-18
-16
64
-26
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-11
-1
60
31
-5
9
9
-63
60
2
-61
-37
23
12
-7
15
3
23
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
22
9
56
-35
-25
-16
61
-23
24
3
2
-10
-24
-9
72
-29
43
28
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
20
-105
14
28
-52
-50
-24
-85
-39
18
-10
37
-1
-48
13
-18
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
13
-7
1
39
-2
28
-23
-25
3
12
-81
4
0
-27
53
32
-20
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
40
53
18
-12
20
13
-40
5
-16
13
21
-89
50
-9
84
-89
-12
-72
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
8
-15
29
-5
-78
19
-49
-16
51
-1
40
88
-60
-5
32
-52
64
-49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-10
35
11
-3
-46
-12
40
0
0
-6
-16
-21
10
-1
-16
5
2
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
22
-64
27
-11
106
-11
29
73
-10
-10
22
9
-38
25
-11
-1
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
11
-57
45
-16
-12
53
-8
0
-59
8
-53
6
-58
21
47
46
36
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
69
43
-3
-2
-43
-46
5
-3
6
7
24
-6
30
-12
-26
56
41
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-57
54
0
1
44
-31
-33
-29
0
0
27
-15
25
-5
9
28
-66
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-70
-15
27
-22
-41
-31
31
1
13
5
-8
20
-28
-13
4
-34
-44
32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
1
26
40
32
22
-47
68
-23
37
47
3
-72
70
-22
-93
-33
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
7
48
5
12
13
-9
-1
-2
-26
-70
-5
43
-3
-32
54
7
50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
33
-31
52
-25
-26
-11
6
-37
9
-5
4
8
14
2
-28
33
12
-69
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
49
41
25
-13
32
-72
85
-46
7
6
-114
-15
-17
4
-27
41
21
18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-39
-10
19
-13
19
-80
-27
-7
17
-5
63
51
-77
1
-56
56
57
-17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
31
18
-28
14
-16
-29
3
38
37
-5
14
-2
-12
8
-7
-6
16
-75
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
12
10
9
-11
-11
30
-68
-34
25
-45
-42
-15
5
-26
-26
-98
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
35
-69
11
10
44
-45
29
6
-4
28
53
21
3
24
-115
-13
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-20
42
33
14
73
44
-56
29
-33
-18
13
1
-1
20
92
-23
34
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-5
31
-61
27
-3
-27
90
4
10
48
43
-23
-3
9
7
-4
25
54
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
30
25
-3
15
17
11
11
32
-10
-40
22
2
-11
55
-65
29
12
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-42
11
37
-25
-16
-3
-48
55
36
1
17
74
5
0
-22
92
36
13
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
13
2
3
-6
24
-47
4
4
-52
-18
79
29
-1
-24
-38
-2
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-54
-5
51
-54
21
11
42
-8
8
-40
-53
10
6
33
2
-29
-43
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
20
80
-44
97
15
-7
3
-5
-66
-10
36
8
-39
-28
-38
41
57
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
33
18
2
-13
34
38
5
3
-70
0
-11
-6
62
-42
17
16
-67
-104
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
25
27
12
3
8
-4
42
8
20
-49
20
-8
-25
-5
14
30
-81
-37
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-71
70
16
-1
5
-41
-31
-8
2
-8
42
20
-3
-8
5
20
-37
60
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
12
25
33
36
-28
-28
-11
-45
10
-35
6
-21
-57
3
11
-9
-29
4
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
31
-36
-45
26
-42
-34
-34
-38
-2
-2
29
-32
17
5
-42
13
58
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
30
43
-8
3
-48
16
9
45
5
6
47
54
-5
-7
-40
19
9
14
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-9
-5
-14
0
23
-16
-39
13
-23
1
-50
0
15
9
22
-33
-48
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-8
23
3
-16
-137
13
-6
4
31
-33
-71
-54
29
-25
48
-18
-40
-4
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-1
9
-9
-1
-29
54
-40
79
8
-31
10
-7
-53
-19
-18
-34
-58
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-11
-43
4
-44
39
-12
79
28
-11
0
-93
-11
-14
5
69
-16
-44
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
21
23
-23
14
14
43
3
-45
1
-19
57
1
10
1
5
-14
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
15
10
4
3
-78
26
48
58
27
-23
-111
23
-6
10
-22
-53
-44
-4
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
2
-2
-59
32
-48
-100
-71
-27
80
-45
-35
-16
72
22
9
28
36
11
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
43
-21
-76
23
22
-49
66
-10
-7
-13
96
-27
-15
-17
6
78
-4
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
-7
35
-3
-64
37
-14
54
15
-3
-5
41
-4
-1
-13
22
-29
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
25
-4
-5
46
31
-6
87
50
-25
-37
-170
-53
44
15
-30
-111
3
1
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
39
3
35
-4
-31
-66
-9
-28
51
-11
33
-8
-75
-19
-18
-22
-33
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
43
-6
54
5
-28
-7
14
-23
-12
-9
-27
28
31
-5
-13
-14
24
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
18
21
2
23
-4
30
-25
-3
1
-36
6
5
0
-3
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-6
-13
22
-74
-80
-37
-65
-58
5
-7
-37
-95
-8
-20
5
-73
-62
-31
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-34
20
-49
26
-51
-90
-18
-2
0
-6
32
5
22
-87
31
11
-80
-119
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-51
35
27
0
-83
-24
-61
-32
-5
-46
94
-20
23
8
-73
-34
-7
33
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-13
-40
-81
7
28
-9
-23
46
2
-2
-51
-36
-18
1
-27
41
-23
-29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-10
20
-12
-69
-20
-24
-54
67
-16
12
10
2
-98
50
10
18
-89
-24
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-36
-51
9
-38
-2
-69
82
20
-85
-33
-57
-136
4
8
9
-7
-4
-49
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
8
43
-22
20
-30
2
73
53
15
1
16
-1
-86
-1
-11
-1
-21
-22
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
36
108
36
55
-8
59
14
6
66
4
6
-71
-19
6
-16
-1
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-26
0
-27
-56
15
24
-18
-44
-5
-65
15
-58
10
-31
-2
28
-30
76
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
2
19
9
5
67
32
46
25
-19
-104
34
30
32
51
-15
-23
-31
52
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-16
37
2
69
25
33
-52
13
25
-28
32
5
-9
10
-30
-3
45
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-11
-14
-60
29
79
-15
20
29
-42
-2
4
9
37
-18
10
-1
42
-24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-44
20
-21
19
26
-42
-20
-12
-19
44
-28
34
-90
3
-154
-15
-11
-51
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
40
-12
4
18
24
29
-29
6
18
14
-70
0
62
-18
-94
-31
-2
-40
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
64
-9
-14
-20
41
-15
25
63
17
13
-13
-97
38
-9
26
5
-13
36
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-99
-44
37
4
33
-8
-9
-13
-18
-23
-30
91
-30
65
52
19
17
-17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
2
6
3
22
-18
-12
21
-2
-2
-1
20
14
-22
-42
-115
57
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-8
13
53
17
-35
3
10
-5
-4
-3
5
25
-25
15
15
-33
-2
-3
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
-6
65
-16
77
-87
20
-57
107
-35
-27
-55
14
45
60
30
-17
-39
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
-8
-4
7
-4
-43
-95
-6
-25
25
-47
-50
-74
-17
-104
-81
30
43
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-22
-23
36
56
-69
0
62
-64
-7
76
-36
10
-8
25
9
-27
-57
-48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-20
65
-4
48
-46
-2
-18
10
43
-11
35
16
4
0
-2
17
-41
-16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
43
16
22
81
-43
48
48
76
83
49
51
-25
-54
-76
73
-87
-78
99
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-20
13
74
15
79
4
-30
-12
-41
-62
40
17
27
-24
2
-39
23
38
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-16
4
22
16
15
2
29
-76
1
-24
12
-38
-6
19
-93
-4
43
-83
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
22
-14
9
-17
10
17
-49
56
9
-18
-57
-11
-41
-5
-55
7
55
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
48
36
18
10
-12
-7
18
23
-6
-6
21
-35
-9
-14
-12
-69
76
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
5
-50
1
4
-5
-30
58
17
-9
-32
-64
-51
-61
17
1
1
-2
-11
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
38
-16
-18
-8
-6
-48
-56
-14
-112
44
24
67
-53
46
-77
12
-61
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-20
-19
21
20
-27
4
-1
-4
-50
-66
8
-18
-16
65
5
-116
-12
-24
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-20
-33
-16
4
-31
-29
43
-20
35
-37
-32
36
-41
-3
-19
-49
-52
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
51
0
-20
10
19
56
-1
23
-25
-74
-42
-1
34
2
-3
-32
2
37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-12
-81
-36
-1
-48
1
7
38
20
-41
-48
37
0
-102
22
27
-61
-31
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-57
-3
-10
12
-2
-51
5
-63
-37
-68
7
6
-88
-126
-49
-29
-14
-39
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
35
25
-24
-46
-5
8
30
-17
-30
-27
122
68
-22
-26
-38
56
-18
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
30
8
26
17
-61
-3
-108
-48
-5
6
-40
1
-50
-11
-44
-72
33
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-169
-27
30
23
65
41
-62
-31
48
-66
-55
-14
-63
-69
-47
-11
-38
-21
-66
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-64
-23
-32
5
-26
-1
-25
-71
-28
62
-75
-50
-31
35
-56
-15
-15
-24
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
62
-20
-12
61
120
-18
42
9
22
58
39
35
44
29
16
58
39
9
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-46
59
-1
40
1
28
39
71
17
0
-5
17
61
-24
-8
29
14
72
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
-53
-111
-18
22
9
-10
83
2
75
0
7
40
-28
-9
29
0
-14
78
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
43
-40
51
-8
-5
95
-25
-24
-26
1
-27
22
-49
-5
0
4
-22
38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-37
2
29
61
77
41
17
9
23
41
8
65
18
-28
84
108
69
-22
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
103
33
34
-1
-31
3
51
44
-7
-17
61
6
-52
37
-19
86
2
-43
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
39
43
-36
-24
-19
-36
5
-12
-12
5
3
2
3
8
-91
13
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
21
11
31
-3
75
-83
20
18
7
0
-6
-21
-5
2
0
20
-4
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-22
3
48
-5
-2
6
55
-3
58
32
22
-2
23
80
91
22
44
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
86
6
14
-20
16
-101
-2
-2
5
-11
-68
1
17
5
41
67
-104
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
25
14
-25
-7
5
0
-25
-9
30
4
18
-75
10
10
-30
-18
49
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-34
15
-26
36
-1
77
5
-45
9
0
-68
-84
30
8
0
45
-69
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-8
37
-17
55
20
20
-26
52
14
18
40
82
-12
-13
-75
27
21
41
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-18
44
10
33
-20
-2
-6
23
-30
-27
22
20
30
22
73
-28
33
-33
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
24
-9
-29
-9
18
-41
-42
-17
3
-5
27
-24
-13
8
-64
-71
-12
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
27
58
18
3
80
23
-72
-31
1
-17
-15
22
-4
13
-16
-54
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
17
18
58
-11
-12
16
14
52
-18
6
18
-34
62
24
-72
46
-15
67
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
14
31
68
-19
53
46
-46
51
-27
0
42
-11
-8
6
-1
-27
-14
-32
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
6
18
-31
41
47
43
-5
5
-15
-5
22
-2
-4
4
6
-27
-6
-26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
27
-6
-17
0
1
103
42
41
0
-5
5
12
3
0
1
-5
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
2
74
25
24
17
44
10
-22
18
-37
-51
6
-24
43
17
-21
27
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
83
-4
27
21
-11
5
-5
-7
-22
5
-38
-3
40
0
15
3
-40
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-21
65
-10
5
47
-64
35
21
-63
13
-15
-37
33
0
-5
-4
-79
26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
-24
61
-7
-10
5
47
11
14
0
-4
1
0
1
0
2
25
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-7
54
-26
-54
-19
-9
-26
72
5
36
-61
59
1
42
48
-4
-41
63
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
84
19
-4
24
12
-9
13
20
8
-1
13
-43
-16
2
-5
-1
15
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-22
52
31
5
6
-17
-3
32
8
-8
20
-34
-14
0
0
0
19
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-23
45
-3
-1
2
-33
15
-2
0
3
-6
-2
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
51
14
-35
-4
13
86
-26
-6
46
-75
3
66
10
17
-30
12
4
-56
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-52
22
-31
16
15
-6
28
-49
51
5
-11
-24
29
1
59
-24
82
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-25
43
60
-8
-7
-37
66
6
6
-17
37
12
-12
-3
0
-6
-115
-1
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
-15
7
-24
2
-40
10
37
-7
0
-27
-16
-31
4
1
-67
-35
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
6
7
6
59
52
-18
24
-23
-27
-82
9
57
13
9
60
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
-9
49
58
16
2
-24
-71
58
36
12
32
30
23
29
-25
-14
43
16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
46
-3
-5
-25
37
-3
4
12
-18
21
15
35
-5
0
-14
5
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
17
17
-12
0
-16
30
34
13
4
-19
67
-6
-5
0
1
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
24
43
58
49
14
-8
37
-75
61
-5
98
-22
21
-18
38
25
-18
-36
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-72
81
42
17
46
-36
7
-10
-27
22
34
20
-17
20
-27
39
3
-59
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
55
-52
-5
3
-59
14
18
-11
1
-5
8
6
-6
0
17
18
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
58
-26
1
-3
-24
30
-8
15
0
12
-8
0
0
-1
-22
-17
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
14
29
-13
96
-34
-15
38
70
-21
38
9
-17
-46
-6
-16
-35
-56
30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-42
83
-45
-7
60
-24
71
-11
-11
-23
-43
26
-26
8
-37
-42
22
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-32
87
31
-8
61
37
-26
3
33
35
40
-61
-17
3
-13
80
22
-59
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
11
-20
47
-4
-5
-17
20
-14
-4
0
6
22
-2
-4
-2
5
-19
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
40
-7
24
-20
-13
33
-45
19
-20
67
76
-78
11
-32
4
-37
-28
-50
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-2
0
18
29
78
-68
16
-23
20
6
-37
3
84
-38
-22
-63
-46
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
40
-49
-61
4
-60
36
8
-28
-10
3
-30
35
-15
3
-12
0
69
-101
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-16
-16
-5
-4
12
15
6
14
1
10
-33
25
3
-1
35
-35
42
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
17
30
57
-3
-38
41
42
-29
-13
34
30
-25
-19
30
5
-10
-6
34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
34
5
-2
31
14
-47
19
-19
17
-1
-8
9
-16
-8
3
6
15
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
53
27
-7
0
-1
16
25
-9
-5
2
-17
4
-3
-3
0
-2
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
47
-14
-39
0
-3
45
-8
1
0
5
2
13
-2
0
-1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-22
50
41
52
8
17
38
-1
43
-16
65
32
24
-48
11
9
-1
72
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-78
25
5
-10
-8
33
-23
107
4
4
29
-24
-28
1
-2
0
1
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
49
-40
14
-36
-68
7
-42
20
-1
7
-5
5
-3
13
-8
41
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
42
9
4
-35
-20
-10
-9
3
0
-3
-7
-3
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
39
36
6
14
-3
44
9
-9
-43
63
52
-50
-18
5
34
-1
-10
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-27
16
-4
2
51
3
24
-25
-28
100
-36
41
-92
-13
-117
-14
5
33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-30
39
52
-44
-76
-22
2
0
65
-2
16
42
19
-12
9
6
-16
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
-33
5
-1
2
12
-23
29
2
-2
-28
-5
-7
-1
0
3
-8
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-19
16
-24
-82
21
7
43
9
58
-40
6
-8
-14
15
-38
28
-22
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
-19
52
9
-17
-2
42
23
-16
23
-18
2
6
-12
-59
76
-23
-7
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-27
74
50
-1
-52
-36
52
44
52
27
-46
-42
-11
-16
36
-16
-15
-50
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
30
94
63
-44
23
12
-7
-49
-3
1
2
17
-43
0
0
50
-55
35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
31
-30
116
13
31
-14
47
24
-38
-9
31
40
-42
-45
24
37
16
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-60
36
-27
-21
47
2
4
-81
-21
24
36
18
43
2
-5
-80
44
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
5
18
50
-22
-5
13
-30
28
-29
14
15
-35
-15
20
-5
7
21
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-13
-25
3
6
40
-23
6
-44
23
4
-14
53
-10
2
-2
57
-14
34
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
49
55
25
27
45
-18
1
57
7
-14
-23
-4
20
-15
43
-62
-46
26
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-46
-58
15
74
53
-4
-30
-8
-21
-17
-56
-25
-5
-9
86
-3
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
15
8
3
-1
37
-5
-15
0
23
-18
-5
-38
42
-6
0
0
-2
-40
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-112
20
-31
-41
60
4
27
6
-76
0
55
-12
8
18
-8
68
77
-185
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
18
57
-33
-5
71
-20
2
5
-13
-15
89
16
-25
12
-14
-14
11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-16
2
49
0
27
-10
15
24
-22
9
32
15
-40
-20
-5
13
12
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
35
-31
12
-62
-22
26
17
-13
-55
9
-15
-35
38
-77
-25
61
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-63
36
14
17
52
-14
-80
-96
36
-15
-13
22
42
20
32
-5
-92
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
52
6
-44
13
-30
58
5
18
18
-84
-25
-8
44
-7
22
3
14
-12
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-27
-9
7
-8
22
42
-25
-14
5
0
-16
1
25
0
-51
-29
-12
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
33
-27
-4
6
27
39
-24
-30
-39
-8
-123
29
8
-2
52
-3
2
-133
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-3
-63
17
57
-52
-32
-90
-45
-31
34
11
-52
-17
26
52
-41
9
-20
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
46
58
26
64
-13
-13
27
-16
15
2
5
-17
-66
0
-3
-34
-21
52
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
86
7
-49
-33
1
8
-28
-53
-31
-6
0
41
-2
1
-5
-13
18
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-4
30
-28
-14
14
6
-10
6
-36
11
-32
3
-11
17
-102
-23
-21
5
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
24
20
13
-44
28
51
-20
-44
-9
2
-50
-16
-34
23
0
-94
27
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
28
26
22
0
79
-44
40
-67
42
-20
98
-8
-75
-33
27
-5
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-66
-10
-13
46
-33
51
-83
-29
-16
-10
0
2
1
0
8
-4
-42
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-5
-1
-13
-29
-31
-34
20
-31
-6
-30
-36
-41
8
-27
-120
32
-28
8
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
27
-33
-30
-11
63
84
-10
20
-54
0
-27
38
46
-68
7
30
-92
-41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
62
-40
8
-7
-20
56
-44
8
9
-2
-32
37
40
-6
1
-46
-17
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
-29
165
-38
17
-41
1
44
-25
0
-30
53
-7
8
2
-3
-13
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
-8
8
-49
-19
-1
-22
-28
-14
-108
-79
-34
3
-1
-15
-36
-49
-42
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
39
17
-48
-45
64
22
8
56
-59
30
36
-25
-52
-34
12
36
19
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
77
-37
44
-3
-39
31
14
21
65
-26
-35
-57
76
-7
-1
-30
56
-38
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
59
-75
-32
-6
46
6
14
9
-97
-6
41
-20
-7
-13
-23
-78
5
24
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
28
-24
-34
-29
-38
59
-41
-45
-23
-36
1
85
-6
-105
-80
-48
-50
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-22
21
-16
34
1
-11
29
6
-72
-21
24
-39
-68
28
32
-77
2
-31
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
33
32
0
5
37
5
-8
34
-81
35
75
31
32
5
-47
46
-7
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
-14
25
25
-3
60
-2
24
41
-41
21
-16
48
0
41
-28
5
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
31
21
1
-25
41
-33
47
-18
-24
35
7
-19
-30
-56
-28
-41
-18
28
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
13
-4
-9
19
-31
-45
20
39
0
-41
9
-30
21
3
-72
-50
5
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
39
55
0
10
-31
37
16
-31
-64
23
60
-54
-14
-8
-20
15
18
-54
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
54
-41
-65
31
33
43
-19
-22
5
4
20
5
14
5
23
-36
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
18
33
53
-34
32
13
-5
-81
23
50
31
-14
0
-13
-91
-59
-10
-4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-7
44
5
53
20
-68
-15
17
6
14
-33
5
12
-14
-101
-32
42
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-26
44
-10
-11
-30
-14
42
62
33
-34
-137
46
22
0
62
-59
-25
-39
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
54
-41
17
23
-41
66
59
-17
-3
-2
42
40
3
-21
-21
6
-16
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
36
22
-7
-44
21
6
-45
-76
34
20
28
-34
77
-34
-43
-61
-88
44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
37
9
21
40
-23
-28
24
21
14
-5
-6
5
-10
-26
-28
-47
-10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
40
-53
-5
49
7
31
0
-21
-2
27
-81
5
37
3
-60
45
-25
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
76
104
64
-21
-102
16
-35
-9
14
-26
-31
-7
-25
0
-17
-49
31
45
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
39
-11
43
-84
28
0
64
8
-21
-40
-33
47
-17
1
-112
31
-25
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
31
18
36
10
-45
51
-77
68
-64
3
-24
16
-1
13
-36
-18
-6
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
29
-20
36
66
18
31
77
-104
18
69
30
-31
40
29
-120
-45
-24
58
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
-28
-41
-18
48
-53
37
-15
40
-21
12
-14
-49
-57
30
51
-46
25
76
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
17
-25
-17
46
-8
-13
18
67
16
-34
-44
-6
17
-30
-62
-19
26
-62
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
19
-33
-7
-35
-16
-20
26
-61
67
-32
-54
56
10
65
-79
-46
-19
-98
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
37
40
50
-7
29
-68
98
-11
-9
8
-51
55
-29
-18
-35
-13
-71
48
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
44
48
58
-54
18
16
-25
64
62
-13
-36
10
-4
-2
9
19
-34
-44
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
40
-36
-27
0
-17
-49
16
4
-113
37
25
-63
19
-73
-12
-10
-63
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-52
-4
21
37
-67
0
0
83
-2
48
105
-28
-70
-18
-105
-123
-14
35
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-44
41
-28
51
-3
27
4
48
32
10
87
-66
-5
-20
-23
-27
-36
73
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
51
22
-63
-2
-17
15
-4
12
36
-8
-49
-16
3
5
-23
-51
-6
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
-8
-16
1
-27
53
17
10
5
33
-53
-20
7
13
18
-131
-31
-9
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
8
15
-9
-12
26
-79
-50
83
-5
-71
-34
-6
-52
-35
-38
-53
13
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
66
-2
51
2
-11
110
-32
27
8
26
12
26
2
-75
2
18
-17
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
22
19
34
-44
-32
-43
101
-9
110
-19
-19
-43
6
8
12
-4
-6
11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-44
21
-16
29
-25
-44
-28
-32
-67
-36
-14
9
8
-37
19
-15
-65
-61
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
21
-6
-8
-5
1
-21
-33
-63
-14
-20
-23
-9
-1
7
14
-33
-30
48
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
5
0
0
20
39
5
0
0
19
29
13
0
0
27
12
16
0
0
18
6
5
0
0
3
-8
15
0
0
12
9
-1
0
0
23
-18
-8
0
0
1
1
-1
0
0
-4
11
-1
0
0
16
-19
-3
0
0
0
10
6
0
0
-1
-6
0
0
0
0
-5
-4
0
0
7
-12
-15
0
0
9
7
-22
0
0
-2
14
4
0
0
0
1
-8
0
0
0
0
-3
0
0
5
-6
1
0
0
8
5
-17
0
0
3
1
2
0
0
0
-3
1
0
0
-3
6
10
0
0
0
10
0
0
0
-1
-8
5
0
0
0
-8
8
0
0
-13
31
1
0
0
7
3
4
0
0
0
-1
4
0
0
0
-8
9
33
-7
-52
22
8
0
0
23
29
5
0
0
-19
-42
8
0
0
-1
-26
1
0
0
6
-8
30
0
0
16
-2
12
0
0
-11
8
12
0
0
-6
-13
-1
0
0
-15
25
19
0
0
15
-3
-7
0
0
0
18
-5
0
0
-8
5
-2
0
0
-25
11
-10
0
0
-1
3
2
0
0
-6
-1
-5
0
0
-2
8
0
0
0
-7
21
-7
0
0
0
-8
-4
0
0
7
-12
-4
0
0
0
1
0
0
0
-2
1
1
0
0
-4
-3
-3
0
0
-13
-12
2
0
0
0
0
-4
0
0
1
8
2
0
0
0
-3
2
0
0
-1
8
8
0
0
0
-7
3
0
0
8
-2
-6
0
0
2
-19
8
0
0
3
-7
-6
0
0
17
-13
-8
7
72
-4
36
-10
0
0
60
-49
-1
0
0
18
-46
0
0
0
-11
-19
39
0
0
-29
18
-8
0
0
-2
-1
-1
0
0
20
27
18
0
0
-7
5
-2
0
0
-13
-6
1
0
0
14
-13
-5
0
0
-8
-4
0
0
0
6
10
4
0
0
-7
24
3
0
0
-3
-16
0
0
0
-1
8
-3
0
0
1
-3
-3
0
0
14
-8
0
0
0
1
-12
20
0
0
0
1
3
0
0
1
-6
-6
0
0
2
0
2
0
0
6
7
-2
0
0
-3
-1
-3
0
0
0
-10
0
0
0
-6
-2
-2
0
0
0
-24
2
0
0
0
-10
-6
0
0
-2
2
-6
0
0
2
4
-12
0
0
-1
15
0
0
0
-1
6
13
0
0
-10
10
-13
-40
11
19
4
9
0
0
29
-6
4
0
0
-40
67
1
0
0
-1
0
-25
0
0
1
41
22
0
0
17
1
2
0
0
19
-5
7
0
0
4
7
4
0
0
1
16
1
0
0
19
6
-1
0
0
-6
21
3
0
0
-1
1
6
0
0
-21
-26
-6
0
0
0
1
-1
0
0
0
6
-5
0
0
1
-20
0
0
0
-14
15
13
0
0
2
-2
-2
0
0
-4
-1
0
0
0
0
1
3
0
0
36
-12
8
0
0
-8
-5
10
0
0
0
-8
4
0
0
0
4
-1
0
0
-7
41
1
0
0
0
16
-3
0
0
0
-7
-3
0
0
0
1
-1
0
0
7
25
-6
0
0
-2
-5
0
0
0
4
-9
-6
0
0
0
8
0
-2
-9
11
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-2
0
0
13
9
10
0
0
13
-4
2
0
0
-55
-14
-8
0
0
-16
-7
1
0
0
-19
5
-8
0
0
6
-7
0
0
0
57
4
-4
0
0
11
-31
16
0
0
20
4
20
0
0
18
11
7
0
0
36
0
24
0
0
-9
15
-3
0
0
10
3
-8
0
0
-9
-7
3
0
0
5
15
-19
0
0
-4
9
-2
0
0
6
-4
2
0
0
2
-5
0
0
0
1
2
0
0
0
1
-24
1
0
0
-1
8
6
0
0
3
-2
0
0
0
-9
-30
-9
0
0
0
11
-6
0
0
-1
6
0
0
0
0
9
-4
0
0
-1
-10
0
0
0
-2
5
8
0
0
-1
0
-27
0
0
-14
3
2
33
56
-4
-5
-5
0
0
7
-2
13
0
0
28
6
-7
0
0
14
7
-7
0
0
18
2
-5
0
0
-23
-9
-1
0
0
-3
40
3
0
0
0
-1
0
0
0
9
-3
1
0
0
-25
16
-7
0
0
38
-32
8
0
0
5
-8
-1
0
0
-14
-22
0
0
0
-2
2
0
0
0
-2
-12
-1
0
0
-2
0
0
0
0
3
-5
0
0
0
-12
-8
-4
0
0
-10
-14
3
0
0
0
-5
-2
0
0
-1
-8
0
0
0
-1
2
0
0
0
10
-1
-5
0
0
0
5
2
0
0
13
49
-18
0
0
1
-6
-1
0
0
0
5
1
0
0
0
-2
0
0
0
-4
-6
-1
0
0
1
0
-3
0
0
-8
-6
-9
0
0
-4
2
0
26
17
-9
4
-11
0
0
-16
32
4
0
0
10
0
-3
0
0
-5
-2
2
0
0
12
-1
5
0
0
2
-6
0
0
0
0
2
0
0
0
-6
-5
-1
0
0
4
-17
-1
0
0
4
-17
5
0
0
12
-22
-2
0
0
-5
23
-10
0
0
-1
14
8
0
0
3
3
-1
0
0
0
-1
0
0
0
-6
13
0
0
0
-17
7
5
0
0
2
10
-1
0
0
0
2
0
0
0
2
4
0
0
0
1
-1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
-3
0
0
0
-8
-1
0
0
0
0
1
0
0
0
0
3
0
0
0
7
2
0
0
-3
0
0
0
0
0
5
1
0
0
4
-3
-2
10
-30
1
-14
-15
0
0
-6
17
-4
0
0
26
-5
-6
0
0
2
-2
-2
0
0
4
-8
5
0
0
0
3
0
0
0
-5
-16
-1
0
0
-1
1
1
0
0
24
-2
0
0
0
-4
-1
-2
0
0
-32
13
14
0
0
-23
5
-2
0
0
-35
-23
2
0
0
0
-2
-1
0
0
-1
0
7
0
0
0
0
0
0
0
-3
-23
-1
0
0
-1
-1
0
0
0
6
-4
0
0
0
-1
9
-2
0
0
7
17
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
-6
3
0
0
-1
-9
-2
0
0
0
1
0
0
0
0
-1
0
0
0
2
-3
5
0
0
-1
-10
0
0
0
-2
-4
-1
0
0
0
-2
0
-3
-48
2
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
8
0
0
19
10
0
0
0
-21
5
22
0
0
-4
12
2
0
0
-2
1
7
0
0
10
-8
-6
0
0
0
8
-6
0
0
21
-2
3
0
0
9
0
-10
0
0
1
1
1
0
0
2
5
0
0
0
1
-3
0
0
0
2
-15
0
0
0
0
-2
1
0
0
-2
10
-2
0
0
-45
3
3
0
0
-44
21
24
0
0
-41
70
-37
0
0
67
-42
-1
0
0
-1
24
1
0
0
28
-8
15
0
0
6
12
11
0
0
-14
4
-2
0
0
-2
-1
-25
0
0
2
-8
3
0
0
6
-8
-8
0
0
17
-10
22
0
0
28
-20
19
0
0
-4
10
13
0
0
-8
3
2
0
0
-4
26
20
14
-7
-20
-32
-27
0
0
-7
4
0
0
0
3
-37
4
0
0
-30
5
-2
0
0
-5
1
4
0
0
-6
-5
9
0
0
24
-16
-14
0
0
3
0
1
0
0
6
8
-2
0
0
8
16
0
0
0
2
-13
0
0
0
0
-47
17
0
0
15
5
-6
0
0
-4
-8
-2
0
0
0
-9
0
0
0
-2
-2
0
0
0
22
9
0
0
0
16
34
-3
0
0
34
-4
-8
0
0
-38
-10
23
0
0
-1
-41
-43
0
0
-3
-18
-53
0
0
-12
-25
24
0
0
5
-8
-15
0
0
17
-13
-7
0
0
-3
22
-5
0
0
6
18
7
0
0
4
28
8
0
0
0
3
-17
0
0
-7
-7
14
0
0
-10
17
-7
0
0
-7
-11
5
-30
8
10
-16
-1
0
0
8
-1
2
0
0
-5
5
5
0
0
14
-18
0
0
0
-3
15
-3
0
0
2
-24
0
0
0
2
0
0
0
0
-1
1
1
0
0
5
-8
4
0
0
-3
5
0
0
0
-3
1
0
0
0
-3
4
2
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-6
5
6
0
0
28
0
-2
0
0
-3
23
-44
0
0
24
-12
1
0
0
-11
-2
6
0
0
-41
9
-17
0
0
48
-39
16
0
0
-41
19
-17
0
0
7
-16
5
0
0
-41
-25
7
0
0
-28
0
-12
0
0
13
1
-8
0
0
33
10
-27
0
0
9
3
-15
0
0
2
2
20
0
0
13
-42
-12
0
0
-12
37
13
-28
34
28
0
5
0
0
0
-10
-4
0
0
-6
3
0
0
0
3
5
4
0
0
-11
6
6
0
0
-4
2
0
0
0
-8
-3
-4
0
0
1
1
0
0
0
3
-6
2
0
0
0
-2
0
0
0
1
1
0
0
0
-2
1
0
0
0
0
-8
7
0
0
0
2
-2
0
0
-1
1
0
0
0
0
-2
0
0
0
-7
-5
-4
0
0
16
5
2
0
0
9
4
17
0
0
-20
-7
-11
0
0
-19
-45
12
0
0
-72
16
2
0
0
-5
2
17
0
0
2
1
-14
0
0
42
-2
-1
0
0
-7
-23
-16
0
0
-22
-14
8
0
0
6
4
14
0
0
34
-29
3
0
0
-5
10
-8
0
0
0
-4
-12
0
0
2
-8
-13
-22
4
-14
24
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
25
0
0
4
-16
4
0
0
14
9
-1
0
0
-8
-4
7
0
0
-32
0
1
0
0
5
6
-3
0
0
-2
-8
0
0
0
-17
-5
-19
0
0
10
12
1
0
0
13
2
1
0
0
3
-12
-2
0
0
-7
2
-1
0
0
-1
-25
0
0
0
0
0
0
0
0
0
3
0
0
0
-21
-1
-1
0
0
12
-36
-1
0
0
7
7
0
0
0
-2
15
-13
0
0
-9
-10
4
0
0
-10
14
6
0
0
4
-20
5
0
0
-12
-2
6
0
0
48
-35
-15
0
0
34
5
-25
0
0
-86
29
-13
0
0
6
-6
32
0
0
32
-39
1
0
0
-9
48
-11
0
0
23
6
19
0
0
-8
-38
-11
8
16
-44
18
64
0
0
23
6
-2
0
0
-9
-8
2
0
0
-16
8
-6
0
0
8
-7
3
0
0
-13
8
0
0
0
14
-6
1
0
0
0
5
0
0
0
-11
7
0
0
0
3
16
1
0
0
-16
7
1
0
0
0
16
8
0
0
8
8
0
0
0
0
4
0
0
0
4
2
0
0
0
0
-1
0
0
0
-2
14
-2
0
0
9
22
-8
0
0
-83
-28
-5
0
0
0
12
-7
0
0
-8
12
4
0
0
-12
16
0
0
0
-1
-18
-6
0
0
-1
-4
3
0
0
-8
15
-5
0
0
-6
14
24
0
0
39
24
4
0
0
11
-21
-19
0
0
4
-34
26
0
0
8
-42
-35
0
0
14
-12
12
0
0
1
-7
-23
24
-20
-91
71
12
0
0
5
6
4
0
0
-10
2
0
0
0
3
3
-2
0
0
-9
6
1
0
0
5
4
-1
0
0
-1
0
0
0
0
0
-5
-2
0
0
15
5
1
0
0
0
4
0
0
0
0
1
0
0
0
0
-9
4
0
0
0
1
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
10
-4
-1
0
0
6
-16
5
0
0
25
0
2
0
0
1
5
-6
0
0
-42
-20
-2
0
0
9
5
-1
0
0
-1
0
-3
0
0
2
-5
8
0
0
5
-20
-8
0
0
-59
-2
38
0
0
3
-5
-16
0
0
38
8
31
0
0
-15
23
-15
0
0
46
-3
9
0
0
1
23
-18
0
0
-16
-52
8
-45
1
-70
-20
25
0
0
5
6
1
0
0
-44
1
2
0
0
14
6
-1
0
0
-6
6
2
0
0
2
-1
-1
0
0
0
4
-1
0
0
-4
0
0
0
0
-41
13
-2
0
0
0
-2
0
0
0
-2
0
0
0
0
0
8
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-8
-31
-4
0
0
-29
25
-4
0
0
8
15
-3
0
0
18
-4
-7
0
0
17
-3
-2
0
0
0
0
-2
0
0
0
-2
0
0
0
-4
1
-1
0
0
-26
-6
-15
0
0
-3
7
30
0
0
23
-30
4
0
0
40
13
-78
0
0
17
23
-7
0
0
-29
22
31
0
0
-18
-13
-12
0
0
6
3
16
-17
-8
53
-46
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
-8
0
0
4
23
-20
0
0
31
-9
5
0
0
-11
22
2
0
0
13
9
4
0
0
8
13
3
0
0
5
6
-2
0
0
31
1
-5
0
0
17
-5
0
0
0
14
3
-8
0
0
-2
5
3
0
0
-1
-6
-10
0
0
1
5
0
0
0
0
0
-6
0
0
-1
-8
-4
0
0
5
-2
6
0
0
4
5
24
0
0
-1
-3
-1
0
0
6
5
5
0
0
-42
-1
0
0
0
-5
6
1
0
0
0
-1
0
0
0
-1
-2
2
0
0
5
-19
6
0
0
8
14
-6
0
0
0
-8
-2
0
0
0
-3
-9
0
0
7
21
0
0
0
5
-20
-1
0
0
1
27
6
0
0
-8
-9
17
36
4
22
8
16
0
0
-5
8
2
0
0
2
1
5
0
0
41
-8
-4
0
0
3
13
-3
0
0
-7
-22
-3
0
0
3
0
8
0
0
0
3
0
0
0
-14
4
2
0
0
-5
-3
0
0
0
-8
2
-4
0
0
17
5
6
0
0
-24
-2
12
0
0
-1
2
-2
0
0
0
20
-3
0
0
-2
6
1
0
0
2
1
22
0
0
2
-8
-3
0
0
19
-2
1
0
0
0
2
0
0
0
2
-3
0
0
0
-4
-20
-2
0
0
0
-3
0
0
0
0
-6
-1
0
0
-29
9
-1
0
0
0
-9
-6
0
0
6
9
-2
0
0
0
-10
1
0
0
8
-5
4
0
0
1
-7
-1
0
0
24
5
-5
0
0
-3
4
6
14
-12
-3
34
1
0
0
-4
-18
-16
0
0
7
-6
-2
0
0
2
3
-10
0
0
33
-12
29
0
0
-1
6
-6
0
0
-12
-5
-3
0
0
2
3
0
0
0
-8
8
-1
0
0
2
-3
0
0
0
-1
-4
0
0
0
0
17
0
0
0
3
6
6
0
0
0
1
-1
0
0
0
2
0
0
0
-3
-5
0
0
0
-24
0
0
0
0
2
-16
0
0
0
0
4
8
0
0
0
-10
1
0
0
-12
3
1
0
0
-2
8
0
0
0
0
-6
2
0
0
0
0
1
0
0
7
16
7
0
0
-3
-12
0
0
0
-3
0
-2
0
0
0
10
0
0
0
3
-9
0
0
0
9
3
0
0
0
0
-8
-3
0
0
0
0
-2
36
-4
-2
10
-6
0
0
4
-24
0
0
0
2
18
-1
0
0
-34
0
-4
0
0
-10
15
0
0
0
-18
8
-1
0
0
7
3
8
0
0
0
-5
5
0
0
4
13
-3
0
0
7
0
0
0
0
-16
-1
-4
0
0
2
25
5
0
0
12
12
-6
0
0
1
0
0
0
0
0
0
0
0
0
1
-5
-3
0
0
18
-5
1
0
0
-1
2
-1
0
0
-4
8
2
0
0
0
1
0
0
0
16
0
0
0
0
3
-13
0
0
0
-1
-1
0
0
0
0
2
-8
0
0
8
6
0
0
0
-5
13
0
0
0
5
0
0
0
0
1
0
0
0
0
4
31
4
0
0
-4
-8
2
0
0
0
5
-2
0
0
-1
3
-4
-16
20
-1
9
-11
0
0
-3
0
2
0
0
7
0
-24
0
0
-30
-18
-6
0
0
14
6
7
0
0
2
4
1
0
0
0
1
8
0
0
0
0
0
0
0
-5
-3
4
0
0
5
1
0
0
0
-3
6
0
0
0
1
5
-1
0
0
-10
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
1
1
0
0
5
8
-1
0
0
3
8
0
0
0
0
-2
0
0
0
-1
0
-4
0
0
0
-3
0
0
0
0
3
0
0
0
0
4
1
0
0
0
-1
0
0
0
3
-6
-1
0
0
0
2
2
0
0
1
-7
-7
0
0
0
-6
1
0
0
-3
-34
1
0
0
1
6
0
0
0
0
8
0
0
0
-1
3
-2
-30
15
-25
4
3
0
0
21
-7
-3
0
0
-2
-12
7
0
0
-8
19
4
0
0
-42
-15
-1
0
0
5
-3
1
0
0
-5
-3
0
0
0
0
0
0
0
0
-4
-1
0
0
0
3
-6
-2
0
0
-5
-4
2
0
0
-1
-17
-1
0
0
6
8
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
4
0
0
3
-4
0
0
0
0
1
-1
0
0
4
-2
0
0
0
0
3
0
0
0
0
-3
0
0
0
0
0
-1
0
0
-1
2
1
0
0
7
10
0
0
0
-8
3
1
0
0
2
-2
-2
0
0
0
21
1
0
0
-1
-6
0
0
0
-4
-1
-1
0
0
-2
4
-3
10
5
6
5
1
0
0
17
-2
-2
0
0
-1
-1
-10
0
0
6
9
-3
0
0
0
0
-1
0
0
0
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
10
-1
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
-3
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
2
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
8
0
-1
0
0
0
-1
0
0
0
1
5
3
0
0
0
2
0
0
0
0
1
0
0
0
1
-3
0
-5
-13
23
-20
-2
0
0
4
18
6
0
0
-15
-6
7
0
0
19
-4
13
0
0
41
-5
-1
0
0
-2
-3
3
0
0
4
-3
-1
0
0
0
2
1
0
0
19
-6
-3
0
0
7
6
0
0
0
5
8
-1
0
0
-8
-14
-5
0
0
-17
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
-4
0
0
-13
0
0
0
0
-5
-8
0
0
0
-3
0
0
0
0
3
3
0
0
0
1
0
-1
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-3
18
3
0
0
0
4
2
0
0
0
0
0
0
0
-2
-9
-2
0
0
0
7
0
0
0
1
-1
-3
0
0
-2
-5
1
-3
-14
-13
6
0
0
0
-10
11
-6
0
0
10
4
13
0
0
-1
-6
1
0
0
-9
28
13
0
0
5
0
4
0
0
6
1
0
0
0
0
1
0
0
0
-5
1
-8
0
0
5
2
0
0
0
26
2
-1
0
0
2
-18
3
0
0
-6
-3
-3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
4
14
-6
0
0
5
-14
1
0
0
5
0
0
0
0
1
0
0
0
0
5
3
6
0
0
0
0
4
0
0
1
-1
5
0
0
-1
-1
0
0
0
15
-23
-3
0
0
0
-7
-14
0
0
1
13
0
0
0
2
2
2
0
0
-1
-6
0
0
0
-10
9
3
0
0
-1
-3
1
0
0
0
4
-2
8
45
-19
6
12
0
0
-2
-8
-5
0
0
7
3
-7
0
0
3
8
-4
0
0
-19
5
-4
0
0
-8
5
2
0
0
-6
-13
0
0
0
1
0
0
0
0
-21
3
0
0
0
-8
9
-5
0
0
-16
-9
5
0
0
0
8
5
0
0
0
5
10
0
0
0
0
-2
0
0
0
0
-2
0
0
-1
0
0
0
0
6
7
0
0
0
1
2
2
0
0
0
-7
-1
0
0
1
0
0
0
0
5
-5
-1
0
0
0
3
1
0
0
0
3
-1
0
0
0
2
0
0
0
8
-11
0
0
0
0
-22
-2
0
0
2
7
-2
0
0
0
1
-1
0
0
-2
14
0
0
0
1
8
7
0
0
5
8
-2
0
0
-4
-2
0
11
-20
-10
-1
-13
0
0
14
-17
6
0
0
-13
-15
2
0
0
21
19
6
0
0
11
-19
-8
0
0
0
0
5
0
0
0
0
-1
0
0
0
-1
0
0
0
6
10
1
0
0
-7
-5
2
0
0
6
-3
2
0
0
-14
-1
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
3
0
0
0
0
0
0
0
7
-3
2
0
0
-2
1
0
0
0
-1
1
1
0
0
2
0
2
0
0
-4
0
0
0
0
-1
0
-1
0
0
-2
0
-2
0
0
0
1
1
0
0
4
22
1
0
0
1
5
0
0
0
-1
0
0
0
0
0
-4
0
0
0
-4
-9
0
0
0
0
1
2
0
0
0
-5
-2
0
0
1
-2
0
-22
-23
2
12
-4
0
0
41
8
0
0
0
30
-21
-4
0
0
-17
-7
0
0
0
3
-2
-3
0
0
8
3
-2
0
0
-2
-10
0
0
0
-1
-1
-3
0
0
-33
6
0
0
0
3
13
-2
0
0
9
1
2
0
0
3
5
0
0
0
20
12
0
0
0
4
0
0
0
0
-2
-2
0
0
0
0
-3
2
0
0
-3
-8
0
0
0
8
16
0
0
0
0
5
-1
0
0
0
-4
0
0
0
8
-3
1
0
0
3
6
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-5
0
1
0
0
2
-5
0
0
0
-2
3
0
0
0
-1
-4
-2
0
0
-7
-7
0
0
0
-2
0
2
0
0
0
0
0
0
0
-1
-15
1
4
4
18
8
-1
0
0
7
20
3
0
0
9
-4
13
0
0
0
-24
-1
0
0
6
5
-1
0
0
3
-1
0
0
0
-1
-1
0
0
0
-1
-2
0
0
0
13
-8
-1
0
0
-10
10
0
0
0
0
8
0
0
0
3
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
2
0
0
0
-4
-5
-1
0
0
1
-10
-2
0
0
1
0
-1
0
0
9
4
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
6
0
0
0
-8
1
-4
0
0
-1
1
0
0
0
-2
6
3
0
0
0
-2
0
0
0
0
0
2
0
0
0
-5
-1
0
0
-2
0
0
0
0
8
0
0
-5
13
-5
4
5
0
0
31
13
3
0
0
-2
-17
0
0
0
19
8
-4
0
0
-1
4
-7
0
0
-2
-1
0
0
0
6
3
0
0
0
0
0
0
0
0
-7
-4
0
0
0
-1
5
1
0
0
0
-9
-1
0
0
-1
8
0
0
0
-10
-3
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-3
0
0
0
-1
1
0
0
0
0
-3
1
0
0
-3
-3
0
0
0
1
-1
0
0
0
-7
4
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
1
6
0
0
0
-1
4
0
0
0
-4
1
0
0
0
1
-6
0
0
0
0
5
0
0
0
1
-13
-1
0
0
0
5
0
-28
19
-2
-2
2
0
0
8
-10
-1
0
0
13
-7
8
0
0
-24
6
0
0
0
-12
-10
13
0
0
-1
5
0
0
0
7
1
0
0
0
1
0
-1
0
0
4
-20
0
0
0
3
5
0
0
0
4
1
1
0
0
3
0
0
0
0
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
16
-6
1
0
0
0
-3
3
0
0
7
-14
2
0
0
-2
4
0
0
0
-8
5
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-12
0
0
0
1
3
0
0
0
-2
0
0
-40
70
2
-15
10
0
0
2
48
13
0
0
12
2
1
0
0
-21
7
6
0
0
-2
7
5
0
0
-8
-4
1
0
0
4
2
-3
0
0
-1
-2
-2
0
0
7
23
4
0
0
19
13
-3
0
0
30
-10
1
0
0
-5
-4
1
0
0
30
3
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
3
-5
0
0
4
0
-2
0
0
5
21
-5
0
0
-13
8
-6
0
0
-2
-4
-4
0
0
-20
0
0
0
0
1
-8
-4
0
0
-1
-1
0
0
0
0
0
1
0
0
5
-16
-1
0
0
-4
7
0
0
0
0
-8
1
0
0
0
-1
1
0
0
1
-24
-1
0
0
16
5
1
0
0
-2
-2
0
0
0
-15
0
-1
6
-60
-11
-14
-3
0
0
6
-8
1
0
0
0
-5
0
0
0
0
0
9
0
0
-1
6
-8
0
0
-2
-4
-3
0
0
0
0
0
0
0
1
8
0
0
0
13
3
-2
0
0
-5
5
1
0
0
-1
0
0
0
0
0
-4
2
0
0
1
-6
0
0
0
5
0
0
0
0
0
3
0
0
0
-4
1
0
0
0
0
-9
-8
0
0
-17
-44
-31
0
0
33
-2
-57
0
0
20
-22
39
0
0
16
0
-21
0
0
-14
33
-6
0
0
-17
-10
-3
0
0
-6
15
15
0
0
27
23
-30
0
0
5
-15
-1
0
0
8
9
-3
0
0
18
11
26
0
0
26
19
42
0
0
-7
1
9
0
0
-2
12
3
0
0
6
43
46
51
54
16
22
9
0
0
-5
2
-1
0
0
13
-5
7
0
0
2
1
3
0
0
-25
8
2
0
0
-1
-5
0
0
0
0
3
3
0
0
0
0
0
0
0
-7
1
0
0
0
3
-10
0
0
0
-6
-1
0
0
0
3
6
4
0
0
-1
-6
0
0
0
-2
-2
-2
0
0
0
12
0
0
0
0
7
2
0
0
-13
12
6
0
0
-13
-7
-14
0
0
29
8
0
0
0
15
-9
-14
0
0
5
34
-22
0
0
-43
-9
13
0
0
-5
1
19
0
0
1
5
9
0
0
-13
-25
-23
0
0
-46
4
3
0
0
2
-6
-12
0
0
-7
-5
-17
0
0
-8
-30
-5
0
0
-8
13
12
0
0
-26
11
-21
0
0
25
-5
-8
47
-3
14
-35
15
0
0
10
-3
1
0
0
17
-3
0
0
0
-4
-8
0
0
0
-13
-8
-4
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
-1
0
0
0
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
1
0
0
0
5
0
0
0
-29
-3
-10
0
0
-3
38
15
0
0
-1
-11
8
0
0
-29
-13
-20
0
0
-40
-3
-2
0
0
6
6
1
0
0
16
-8
-8
0
0
7
-13
-14
0
0
13
-5
-4
0
0
24
2
-10
0
0
5
-4
-1
0
0
5
7
24
0
0
29
3
-1
0
0
-6
-6
-12
0
0
2
-7
-3
0
0
5
-2
5
-30
-9
-23
-5
-27
0
0
17
8
-1
0
0
2
-8
-2
0
0
6
-1
-3
0
0
10
3
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
2
0
0
17
-3
1
0
0
-5
-12
0
0
0
8
0
0
0
0
1
6
-1
0
0
9
5
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
8
-2
0
0
6
-25
-6
0
0
-10
-2
27
0
0
-3
-10
-3
0
0
2
-24
-20
0
0
56
-9
8
0
0
-6
13
18
0
0
9
3
-8
0
0
-47
4
5
0
0
-27
-12
-12
0
0
-2
1
1
0
0
4
5
-8
0
0
4
-2
6
0
0
2
-2
-5
0
0
-6
-17
0
0
0
-6
31
-4
-11
20
5
1
-4
0
0
-1
3
1
0
0
2
6
1
0
0
0
-8
-1
0
0
3
5
-2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-8
-1
-2
0
0
-5
-8
-1
0
0
0
0
0
0
0
0
-5
-3
0
0
-1
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
1
7
1
0
0
2
0
-5
0
0
-1
15
-9
0
0
22
-5
13
0
0
-5
-8
-17
0
0
3
2
5
0
0
-16
5
20
0
0
0
-22
6
0
0
-13
-56
2
0
0
7
24
3
0
0
8
-13
7
0
0
-13
-25
-3
0
0
-5
23
-7
0
0
0
8
-10
0
0
0
-3
0
0
0
-8
-9
-6
21
-27
-5
11
3
0
0
25
6
0
0
0
3
2
0
0
0
3
-3
-1
0
0
-13
8
1
0
0
0
2
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-9
0
0
0
0
2
-8
0
0
0
2
-2
0
0
0
0
1
-2
0
0
0
8
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
16
8
2
0
0
-10
37
-5
0
0
7
-13
9
0
0
9
4
16
0
0
-10
-17
4
0
0
9
10
0
0
0
3
2
6
0
0
0
25
-4
0
0
-2
-8
5
0
0
-8
-5
-8
0
0
-8
1
5
0
0
8
-7
8
0
0
8
5
4
0
0
-1
3
5
0
0
1
0
-3
0
0
-5
-1
0
-24
2
-10
2
-12
0
0
5
25
1
0
0
13
5
-4
0
0
0
7
0
0
0
10
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
1
0
0
-13
19
22
0
0
-50
25
-5
0
0
13
8
-2
0
0
-2
-20
10
0
0
-8
-23
-8
0
0
5
-31
1
0
0
-2
-13
2
0
0
0
9
3
0
0
12
-9
-12
0
0
-3
2
0
0
0
15
-7
0
0
0
-4
-24
-10
0
0
1
5
5
0
0
-1
-20
-5
0
0
2
-6
-5
-1
-4
0
-17
-3
0
0
-4
4
7
0
0
-7
-14
-1
0
0
3
3
1
0
0
9
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
12
1
0
0
0
-1
2
0
0
0
1
-1
0
0
0
0
-1
1
0
0
-14
9
1
0
0
0
1
0
0
0
1
0
0
0
0
-1
1
0
0
0
3
-8
2
0
0
-10
-4
-16
0
0
-2
-7
-2
0
0
-17
-6
9
0
0
-28
23
-13
0
0
8
1
2
0
0
-7
-14
-13
0
0
-7
7
0
0
0
-1
1
-7
0
0
-9
-6
9
0
0
-15
4
1
0
0
5
-4
6
0
0
2
-18
-16
0
0
-3
-9
1
0
0
-1
8
8
0
0
0
22
-8
16
-8
9
7
6
0
0
-18
45
0
0
0
31
0
1
0
0
13
18
16
0
0
7
23
1
0
0
-20
-29
-1
0
0
-5
8
0
0
0
-1
-1
-1
0
0
45
0
-1
0
0
6
-3
-3
0
0
2
1
-4
0
0
-2
-1
-1
0
0
2
0
6
0
0
3
-6
0
0
0
-1
-7
0
0
0
8
1
3
0
0
-10
18
0
0
0
47
-9
-1
0
0
-19
10
6
0
0
-9
-3
-6
0
0
6
-14
27
0
0
-7
-17
-5
0
0
4
8
-5
0
0
-15
-4
16
0
0
31
1
1
0
0
39
12
0
0
0
18
30
-40
0
0
-14
22
4
0
0
-30
42
18
0
0
-1
3
0
0
0
33
-7
1
0
0
-6
0
4
18
-16
-19
50
52
0
0
4
-21
8
0
0
-10
-7
-6
0
0
-21
-2
-2
0
0
-5
8
1
0
0
-29
-2
-1
0
0
1
3
0
0
0
1
-6
0
0
0
-23
10
0
0
0
5
0
-3
0
0
6
-7
0
0
0
6
1
-1
0
0
8
-6
-7
0
0
0
3
0
0
0
0
1
1
0
0
2
0
0
0
0
11
10
0
0
0
24
-15
-4
0
0
-12
-33
10
0
0
23
-13
-10
0
0
-18
-7
3
0
0
-4
-2
6
0
0
-3
8
0
0
0
0
-7
-7
0
0
16
23
-14
0
0
14
2
-1
0
0
-17
-48
22
0
0
47
16
16
0
0
77
-11
-1
0
0
1
7
0
0
0
-4
-10
-16
0
0
22
-5
16
65
-7
-26
15
-9
0
0
7
6
0
0
0
-12
25
1
0
0
4
7
1
0
0
5
10
1
0
0
31
-7
0
0
0
5
3
-3
0
0
0
0
0
0
0
-6
-10
0
0
0
2
2
0
0
0
1
1
0
0
0
-1
-1
1
0
0
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
-3
3
7
0
0
-41
8
0
0
0
22
4
3
0
0
16
8
-5
0
0
-21
12
-3
0
0
-5
-14
-2
0
0
1
2
-3
0
0
16
8
-18
0
0
-18
-21
25
0
0
23
-46
40
0
0
12
21
-7
0
0
8
47
-31
0
0
-2
-19
6
0
0
5
-3
12
0
0
-1
-3
-8
27
18
-71
-18
7
0
0
27
-16
1
0
0
5
16
1
0
0
-5
3
-3
0
0
-48
-8
2
0
0
-1
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
-9
2
0
0
0
-3
-4
0
0
0
-3
0
0
0
0
-1
1
0
0
0
1
-23
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
-5
-3
0
0
0
62
3
-20
0
0
-4
5
-2
0
0
-20
-4
-4
0
0
-4
8
-3
0
0
-6
-2
0
0
0
6
-1
0
0
0
0
-12
0
0
0
-10
-24
-3
0
0
-14
28
59
0
0
2
-30
-37
0
0
18
60
-1
0
0
8
-19
44
0
0
-5
-63
-6
0
0
5
0
-40
0
0
-30
13
27
-15
-39
7
-12
20
0
0
7
27
25
0
0
-25
13
9
0
0
10
12
-5
0
0
-5
-17
3
0
0
-16
3
1
0
0
0
14
-13
0
0
0
-1
0
0
0
-9
-8
0
0
0
-12
-4
3
0
0
8
0
3
0
0
-2
-4
1
0
0
-5
0
-1
0
0
-1
-6
-1
0
0
0
1
1
0
0
-1
3
0
0
0
11
-5
-14
0
0
-42
56
-16
0
0
13
3
-3
0
0
-18
16
2
0
0
8
3
10
0
0
3
-19
-2
0
0
6
1
-8
0
0
6
8
15
0
0
19
1
4
0
0
22
-25
11
0
0
-13
15
7
0
0
44
7
-49
0
0
-2
-34
-22
0
0
7
-7
14
0
0
-1
17
3
0
0
-13
13
9
-21
25
-9
-59
-18
0
0
-2
17
7
0
0
15
17
15
0
0
20
-5
2
0
0
30
-8
-3
0
0
14
-4
0
0
0
6
-4
-4
0
0
0
0
0
0
0
11
-7
0
0
0
-3
7
-3
0
0
-17
9
-5
0
0
2
4
2
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
-1
1
0
0
-55
20
14
0
0
1
-30
-8
0
0
-20
-6
1
0
0
-2
4
-3
0
0
18
2
-16
0
0
1
-12
-1
0
0
0
-8
-2
0
0
-8
-5
-1
0
0
1
41
-7
0
0
38
17
-4
0
0
13
-14
-2
0
0
-20
-9
-21
0
0
-5
0
-6
0
0
18
-24
-9
0
0
1
-2
4
-3
12
-12
0
18
0
0
-4
-26
-1
0
0
-21
25
-5
0
0
-6
-13
1
0
0
-17
6
-2
0
0
-1
8
0
0
0
2
0
1
0
0
1
2
0
0
0
21
4
4
0
0
13
-9
-1
0
0
-8
15
2
0
0
0
0
1
0
0
-2
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
1
0
0
8
-9
0
0
0
-7
28
41
0
0
1
12
-5
0
0
11
9
-13
0
0
16
-34
-5
0
0
-17
24
-17
0
0
-1
7
4
0
0
0
-43
-2
0
0
-9
3
0
0
0
13
-51
2
0
0
-12
34
-27
0
0
9
42
-42
0
0
26
-3
-24
0
0
5
12
-36
0
0
13
-7
2
0
0
1
-20
-6
-26
-16
-11
-9
17
0
0
4
14
-1
0
0
-6
7
15
0
0
-14
36
-5
0
0
-34
22
-1
0
0
-13
-18
-1
0
0
4
9
-5
0
0
0
-7
0
0
0
-12
-3
-4
0
0
6
-28
4
0
0
0
9
0
0
0
1
-3
4
0
0
6
-19
1
0
0
1
-1
1
0
0
2
-2
0
0
0
0
0
0
0
0
-7
14
-6
0
0
-5
24
6
0
0
-1
-1
-5
0
0
-18
13
-24
0
0
7
-23
-5
0
0
-6
-49
-32
0
0
-7
15
8
0
0
-1
-8
-3
0
0
-4
-4
-5
0
0
-4
36
29
0
0
-10
6
11
0
0
-16
-10
8
0
0
-12
-35
22
0
0
4
64
9
0
0
-40
-36
14
0
0
2
-42
-26
-22
6
-16
-13
-31
0
0
24
31
2
0
0
13
-3
9
0
0
-2
-21
3
0
0
-5
17
1
0
0
6
16
-4
0
0
-8
19
0
0
0
9
-2
0
0
0
33
5
-1
0
0
8
-13
0
0
0
0
0
-9
0
0
-6
2
9
0
0
-3
2
-16
0
0
0
5
-3
0
0
0
-9
2
0
0
-3
1
0
0
0
0
15
12
0
0
-2
-9
-3
0
0
-3
3
0
0
0
0
3
0
0
0
3
-2
2
0
0
-3
5
1
0
0
1
5
0
0
0
-4
2
0
0
0
7
-5
6
0
0
0
16
-6
0
0
-1
-17
-4
0
0
3
-8
-8
0
0
-6
4
-22
0
0
-1
2
10
0
0
0
9
3
0
0
-10
1
4
-4
10
24
-8
-3
0
0
6
-21
-7
0
0
23
2
0
0
0
-3
-7
0
0
0
-3
4
-5
0
0
-4
-16
0
0
0
-1
14
15
0
0
1
4
0
0
0
-21
14
0
0
0
13
-2
1
0
0
23
4
-1
0
0
32
27
7
0
0
-10
1
14
0
0
-1
-1
-1
0
0
-1
3
1
0
0
-3
7
5
0
0
5
-2
6
0
0
-1
6
0
0
0
6
-9
0
0
0
0
1
0
0
0
3
0
-1
0
0
4
4
0
0
0
-1
-8
0
0
0
1
2
0
0
0
-17
1
0
0
0
12
17
-8
0
0
0
0
-3
0
0
5
5
0
0
0
3
-1
8
0
0
4
-3
3
0
0
2
-6
-2
0
0
1
14
-3
2
39
-17
22
12
0
0
-1
-12
0
0
0
25
-35
-6
0
0
5
7
-8
0
0
-20
8
-3
0
0
2
-8
3
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
12
-2
0
0
-2
-5
0
0
0
-13
3
0
0
0
-5
5
-3
0
0
-3
2
3
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-7
-8
-3
0
0
-1
-16
3
0
0
2
-9
0
0
0
0
-6
0
0
0
-8
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
-13
6
0
0
2
-13
2
0
0
-16
2
-8
0
0
-1
4
1
0
0
-7
36
-2
0
0
9
25
0
0
0
0
-16
2
0
0
-4
-1
-6
-19
4
5
20
-1
0
0
-9
-5
-13
0
0
-10
-5
3
0
0
15
-5
-5
0
0
5
-4
4
0
0
-8
6
1
0
0
10
2
0
0
0
0
-1
-1
0
0
4
-8
-1
0
0
15
-15
-2
0
0
-16
25
0
0
0
-4
15
9
0
0
-2
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
-2
-1
0
0
0
-2
17
-3
0
0
0
-1
13
0
0
-1
4
3
0
0
0
22
2
0
0
-5
-9
-8
0
0
-1
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
17
0
0
0
1
3
-2
0
0
6
-1
-5
0
0
1
8
-1
0
0
-1
-21
8
0
0
0
-19
2
0
0
0
-2
-1
0
0
-8
-6
0
71
-33
-5
39
3
0
0
-14
25
-3
0
0
18
-8
-9
0
0
-2
-3
-14
0
0
6
3
0
0
0
20
-12
-1
0
0
-1
9
4
0
0
0
1
0
0
0
8
1
2
0
0
1
0
0
0
0
-1
3
0
0
0
0
7
0
0
0
0
-2
0
0
0
-1
-2
-1
0
0
-2
0
0
0
0
0
0
1
0
0
2
3
4
0
0
-1
0
0
0
0
-1
1
0
0
0
2
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
4
1
0
0
0
1
0
0
0
2
0
0
0
0
0
1
-1
0
0
2
-1
-8
0
0
-2
7
0
0
0
0
4
1
0
0
-1
1
5
-9
-7
5
28
0
0
0
22
10
12
0
0
-22
-5
4
0
0
0
-9
0
0
0
-5
-9
8
0
0
9
-10
0
0
0
-8
-17
-9
0
0
1
-1
0
0
0
19
1
-1
0
0
-3
13
0
0
0
-2
0
0
0
0
-1
1
1
0
0
-2
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-13
19
2
0
0
0
2
0
0
0
4
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
-7
0
0
0
5
-5
-2
0
0
0
-2
0
0
0
0
4
0
0
0
1
4
-1
-19
2
-22
-10
0
0
0
-6
-3
1
0
0
9
6
1
0
0
0
-1
-4
0
0
22
-2
3
0
0
0
1
0
0
0
-1
-2
1
0
0
0
0
0
0
0
3
0
0
0
0
-2
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-2
0
0
2
3
0
0
0
0
0
0
0
0
0
3
1
0
0
1
0
0
0
0
2
-1
0
0
0
0
0
-2
0
0
-1
0
0
0
0
-1
-2
0
0
0
1
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-7
-14
-3
0
-1
0
0
32
-3
-4
0
0
1
-4
-9
0
0
-20
9
0
0
0
6
18
-2
0
0
0
-3
0
0
0
1
0
-2
0
0
0
2
3
0
0
-13
2
-1
0
0
2
6
1
0
0
0
1
-1
0
0
2
-8
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
-1
0
0
0
-5
-8
-2
0
0
0
7
-1
0
0
8
0
0
0
0
-2
-5
1
0
0
0
2
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
-2
-1
0
0
0
8
-1
0
0
4
2
-2
0
0
0
-4
0
0
0
1
-7
-1
0
0
-2
-9
0
0
0
-3
-2
0
0
0
-2
1
0
24
-29
-16
-4
1
0
0
36
-7
1
0
0
6
-4
0
0
0
20
3
2
0
0
-6
-13
-9
0
0
1
1
-2
0
0
4
1
1
0
0
-1
0
1
0
0
10
-5
5
0
0
-5
-5
2
0
0
-3
-4
-1
0
0
-1
1
1
0
0
-3
2
-10
0
0
-3
1
0
0
0
0
0
0
0
0
0
5
1
0
0
-5
2
5
0
0
2
1
0
0
0
4
-5
0
0
0
-1
0
-2
0
0
-2
-3
0
0
0
0
3
1
0
0
0
2
3
0
0
0
0
0
0
0
8
-3
18
0
0
-1
-2
0
0
0
-5
-1
0
0
0
0
-5
1
0
0
5
0
1
0
0
0
6
2
0
0
-1
-4
5
0
0
-1
-5
-1
31
52
23
7
-7
0
0
-9
6
-1
0
0
-6
-9
-5
0
0
10
4
-1
0
0
-14
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-12
-4
0
0
0
4
-1
-1
0
0
4
-13
2
0
0
0
-7
-2
0
0
8
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
0
-1
0
0
0
-1
-1
0
0
8
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
9
-1
0
0
0
-8
0
0
0
0
3
1
0
0
0
0
0
0
0
-5
-1
-1
0
0
-3
5
2
0
0
4
3
0
0
0
0
3
0
6
-29
-19
-10
-3
0
0
13
-6
7
0
0
-14
1
13
0
0
-3
23
4
0
0
10
-5
7
0
0
2
4
0
0
0
0
-1
0
0
0
-5
-2
0
0
0
5
-12
0
0
0
9
8
-6
0
0
3
-5
0
0
0
-2
-3
6
0
0
22
10
14
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
5
-7
1
0
0
0
-2
0
0
0
1
-5
-1
0
0
-1
0
0
0
0
13
-18
0
0
0
-2
0
-2
0
0
-1
2
0
0
0
0
3
1
0
0
-8
-3
-8
0
0
-1
7
0
0
0
-1
-20
0
0
0
1
-8
0
0
0
2
4
-2
0
0
1
6
-1
0
0
-1
1
-2
0
0
2
0
-3
7
-6
-9
-1
8
0
0
-5
5
-5
0
0
1
18
1
0
0
-19
-4
-6
0
0
-32
-8
-1
0
0
5
-4
0
0
0
-2
3
0
0
0
3
0
0
0
0
5
4
0
0
0
-12
30
0
0
0
6
-7
6
0
0
-6
-5
-7
0
0
9
-5
-1
0
0
1
-2
0
0
0
0
0
0
0
0
0
-12
-1
0
0
-1
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
-4
-1
0
0
7
1
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
6
6
0
0
4
7
0
0
0
9
5
1
0
0
0
1
-1
0
0
7
0
0
0
0
-4
2
0
0
0
-1
1
0
0
0
0
-18
0
-7
28
-11
5
-6
0
0
-13
0
-5
0
0
-1
7
0
0
0
2
0
0
0
0
-7
-5
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
6
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
0
0
-1
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
8
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
21
2
1
-1
0
0
0
7
-8
-1
0
0
10
36
-8
0
0
1
8
1
0
0
-4
2
0
0
0
1
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
13
-8
0
0
0
7
0
0
0
0
1
-8
0
0
0
-3
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
5
6
0
0
0
1
-1
0
0
0
0
-1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-1
0
0
-1
-1
-1
0
0
0
1
-1
0
0
-2
-1
-2
0
0
1
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
-1
-6
1
0
0
-1
5
0
0
0
1
3
2
-39
31
6
12
-1
0
0
23
-9
25
0
0
-35
-36
4
0
0
-8
17
-1
0
0
-4
12
6
0
0
17
-2
0
0
0
15
7
0
0
0
-1
-1
0
0
0
-8
5
-1
0
0
4
1
0
0
0
-1
2
1
0
0
2
2
-20
0
0
-5
2
1
0
0
0
-4
0
0
0
0
0
0
0
0
1
2
0
0
0
16
2
0
0
0
6
1
0
0
0
12
0
0
0
0
0
0
0
0
0
6
2
-2
0
0
-1
-8
1
0
0
0
1
-1
0
0
0
1
0
0
0
2
-8
1
0
0
-4
-1
-2
0
0
0
1
0
0
0
0
3
0
0
0
-2
4
0
0
0
-2
0
2
0
0
0
-5
-1
0
0
9
2
0
10
-31
-4
-6
8
0
0
-4
7
6
0
0
13
8
19
0
0
1
14
-2
0
0
-38
6
-7
0
0
-21
3
0
0
0
-16
0
0
0
0
-2
-5
-2
0
0
-7
8
0
0
0
20
-16
0
0
0
5
4
-2
0
0
1
-5
6
0
0
0
13
-5
0
0
0
-1
1
0
0
0
1
0
0
0
-2
-3
-1
0
0
9
3
-6
0
0
7
48
1
0
0
2
-13
1
0
0
-2
-8
0
0
0
-4
-2
1
0
0
8
13
-9
0
0
-1
0
0
0
0
0
1
-1
0
0
8
-15
3
0
0
1
-3
3
0
0
4
10
0
0
0
1
-1
5
0
0
1
-8
5
0
0
2
9
-5
0
0
0
2
-5
0
0
-13
10
-4
3
40
-38
-11
-10
0
0
-23
0
0
0
0
6
12
-5
0
0
0
0
-3
0
0
13
-5
0
0
0
-1
-9
0
0
0
1
-7
2
0
0
0
0
0
0
0
-3
5
2
0
0
1
1
0
0
0
-5
0
1
0
0
1
-3
1
0
0
-5
-1
0
0
0
5
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
-19
-15
-2
0
0
-36
7
-22
0
0
11
3
-15
0
0
1
-29
8
0
0
49
-12
6
0
0
-20
3
16
0
0
4
-18
11
0
0
0
-10
2
0
0
33
16
-7
0
0
3
-28
-8
0
0
18
-12
-12
0
0
22
8
15
0
0
22
19
32
0
0
-1
-13
-24
0
0
-23
-3
-23
0
0
20
16
12
6
23
22
4
14
0
0
-5
3
0
0
0
-2
9
9
0
0
-8
6
0
0
0
-14
-2
0
0
0
0
-2
0
0
0
1
-2
-5
0
0
0
0
0
0
0
8
-1
0
0
0
-4
-4
-2
0
0
3
0
0
0
0
-2
0
0
0
0
7
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
6
1
0
0
2
6
0
0
0
-12
-20
-13
0
0
-12
-13
27
0
0
-23
-13
1
0
0
7
7
0
0
0
8
6
10
0
0
8
27
-9
0
0
-1
21
3
0
0
30
-8
-20
0
0
13
4
-8
0
0
8
-2
22
0
0
-40
-12
-2
0
0
-12
2
-10
0
0
1
5
8
0
0
8
3
-8
0
0
-16
-2
2
6
-55
47
-4
-3
0
0
13
7
0
0
0
4
1
-4
0
0
-4
-5
0
0
0
6
-5
1
0
0
1
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-2
1
0
0
1
-4
0
0
0
-1
0
0
0
0
-1
-2
0
0
0
1
2
0
0
0
0
2
0
0
0
0
-3
0
0
0
-1
4
0
0
0
9
-24
0
0
0
18
24
20
0
0
11
17
-3
0
0
0
19
-6
0
0
-44
25
-38
0
0
30
-20
1
0
0
-27
10
8
0
0
6
0
-6
0
0
-20
-16
-19
0
0
-8
-23
4
0
0
-4
2
3
0
0
23
-22
-1
0
0
-10
0
8
0
0
2
-6
9
0
0
5
2
7
0
0
5
8
-15
-40
2
3
-24
8
0
0
14
-8
-2
0
0
-5
-3
0
0
0
3
1
-1
0
0
0
8
0
0
0
-2
-7
1
0
0
1
0
0
0
0
1
0
0
0
0
3
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
-4
-3
0
0
0
-8
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
17
3
1
0
0
-24
-47
36
0
0
-25
6
7
0
0
-9
-5
-15
0
0
-6
-29
3
0
0
-29
0
4
0
0
-20
-32
4
0
0
2
4
-8
0
0
6
-5
1
0
0
11
14
8
0
0
-1
-5
2
0
0
4
0
-29
0
0
25
-8
1
0
0
-8
14
0
0
0
0
8
-12
0
0
5
19
-8
-23
36
15
-11
-8
0
0
18
-4
0
0
0
7
7
-1
0
0
4
5
0
0
0
-15
3
7
0
0
-8
-7
1
0
0
-3
-16
1
0
0
0
1
0
0
0
-30
7
-5
0
0
-5
0
0
0
0
0
0
-1
0
0
-1
2
2
0
0
1
0
2
0
0
2
-6
-1
0
0
0
0
0
0
0
0
0
2
0
0
-5
12
-6
0
0
-7
35
-40
0
0
-13
-5
5
0
0
2
-9
9
0
0
-44
6
6
0
0
40
-7
-9
0
0
7
-16
-8
0
0
2
4
0
0
0
-4
-7
4
0
0
3
-18
0
0
0
-25
-7
1
0
0
-6
-7
14
0
0
-13
14
-9
0
0
3
3
2
0
0
0
-8
0
0
0
3
-5
4
28
1
25
-1
3
0
0
-1
2
18
0
0
14
-9
0
0
0
-1
-9
0
0
0
13
8
2
0
0
-14
10
-6
0
0
14
0
-2
0
0
-1
0
0
0
0
-9
0
3
0
0
4
0
1
0
0
-18
0
-1
0
0
-1
0
0
0
0
1
0
-2
0
0
-1
-4
0
0
0
0
0
0
0
0
0
-1
1
0
0
-22
0
0
0
0
-16
29
-31
0
0
-17
-4
-3
0
0
2
8
18
0
0
8
-11
2
0
0
5
-7
-19
0
0
8
-12
34
0
0
-4
8
2
0
0
17
9
-23
0
0
-16
20
6
0
0
-8
3
1
0
0
12
-30
-8
0
0
-8
-17
-6
0
0
1
-12
-9
0
0
-18
-5
3
0
0
-2
-13
-6
24
-5
-18
-4
-10
0
0
12
14
1
0
0
18
6
1
0
0
-2
9
0
0
0
-7
-7
-4
0
0
0
-1
0
0
0
1
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
3
3
1
0
0
-2
-1
1
0
0
-10
-1
-1
0
0
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
8
-1
0
0
19
-3
7
0
0
-10
4
-15
0
0
45
-16
8
0
0
39
8
-8
0
0
-3
-5
-14
0
0
-25
-4
-10
0
0
0
-7
0
0
0
-5
5
3
0
0
-10
-7
22
0
0
23
4
0
0
0
10
-13
-4
0
0
-7
0
-2
0
0
-2
7
1
0
0
0
-34
9
0
0
-8
-8
0
-46
12
3
10
-16
0
0
44
-8
1
0
0
-24
8
0
0
0
8
29
5
0
0
6
-3
-2
0
0
-5
15
-8
0
0
5
7
-1
0
0
0
0
0
0
0
31
1
0
0
0
-13
-3
0
0
0
13
-13
3
0
0
-2
7
0
0
0
-13
8
5
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-8
0
0
0
-15
1
-1
0
0
7
-15
5
0
0
-30
18
1
0
0
13
-15
-22
0
0
5
30
7
0
0
-2
3
-1
0
0
3
15
-10
0
0
2
-3
-1
0
0
-2
-11
2
0
0
-53
-16
-13
0
0
-7
-2
-6
0
0
8
-29
3
0
0
19
-13
-13
0
0
0
2
19
0
0
-8
3
-5
0
0
-13
-4
1
3
8
-27
-22
-17
0
0
14
2
0
0
0
31
14
-6
0
0
-3
-5
-7
0
0
30
-4
14
0
0
-4
4
1
0
0
2
1
-1
0
0
0
3
0
0
0
-12
-5
0
0
0
-9
1
0
0
0
-9
-8
0
0
0
-3
4
7
0
0
-7
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
-1
3
1
0
0
8
-5
13
0
0
23
10
-25
0
0
-7
-20
-4
0
0
18
-7
-2
0
0
-32
-20
-22
0
0
9
-5
5
0
0
0
25
-3
0
0
-18
0
13
0
0
29
22
-35
0
0
13
-5
4
0
0
45
-36
27
0
0
-11
38
3
0
0
-11
-1
23
0
0
40
6
-24
0
0
30
29
5
0
0
-40
-9
12
24
-15
-28
70
28
0
0
3
2
6
0
0
7
-19
7
0
0
29
0
-8
0
0
-9
-8
5
0
0
-7
1
0
0
0
3
-13
0
0
0
0
-1
0
0
0
-3
-6
-2
0
0
2
0
2
0
0
1
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-5
0
0
0
-1
6
0
0
0
25
-15
-8
0
0
10
-7
0
0
0
-31
-3
-6
0
0
2
-4
-8
0
0
-17
8
1
0
0
-3
7
0
0
0
-2
-6
3
0
0
13
0
-5
0
0
8
4
2
0
0
-7
-1
-18
0
0
20
22
23
0
0
33
-11
3
0
0
4
6
-10
0
0
22
23
-40
0
0
5
10
28
-37
8
-9
43
12
0
0
-7
-12
-2
0
0
-27
29
2
0
0
-5
2
3
0
0
-21
19
3
0
0
-2
8
0
0
0
-5
-1
-1
0
0
0
0
-3
0
0
14
-1
1
0
0
-2
17
-3
0
0
3
-1
4
0
0
1
1
2
0
0
2
-1
4
0
0
1
-1
0
0
0
1
4
-2
0
0
0
3
0
0
0
-2
-17
1
0
0
3
55
-21
0
0
-11
-14
9
0
0
4
16
-19
0
0
7
32
13
0
0
-5
5
8
0
0
-3
6
-9
0
0
9
-8
3
0
0
3
40
-8
0
0
-42
-2
39
0
0
-7
10
-32
0
0
37
20
-11
0
0
16
-3
-29
0
0
-5
-12
7
0
0
28
-4
-34
0
0
3
-8
-6
-1
34
-10
-46
13
0
0
20
-3
16
0
0
-15
-2
21
0
0
-9
-10
7
0
0
6
0
7
0
0
0
0
3
0
0
0
3
-4
0
0
0
-1
0
0
0
18
-12
-5
0
0
3
27
-1
0
0
3
-2
1
0
0
-1
-4
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-2
-2
0
0
0
-17
0
0
0
0
-42
15
7
0
0
13
-3
-5
0
0
-26
13
-23
0
0
-4
-3
-7
0
0
4
-17
-4
0
0
3
-21
2
0
0
-4
-8
-2
0
0
-8
-15
-2
0
0
-23
-10
17
0
0
5
14
12
0
0
-27
49
-18
0
0
28
-21
-10
0
0
-23
-36
5
0
0
9
-14
7
0
0
8
-41
2
-30
-3
-38
-9
-1
0
0
7
19
9
0
0
-14
33
-8
0
0
1
-10
0
0
0
2
40
38
0
0
0
2
0
0
0
1
-4
-1
0
0
-1
-1
0
0
0
13
2
-15
0
0
-5
-20
2
0
0
-6
3
-5
0
0
-2
2
0
0
0
-12
-1
1
0
0
0
-2
-1
0
0
0
-8
0
0
0
0
1
3
0
0
11
-24
-6
0
0
26
11
18
0
0
-48
34
-30
0
0
14
-9
-24
0
0
-25
8
-8
0
0
7
1
4
0
0
8
-6
0
0
0
0
-12
-6
0
0
-16
-40
14
0
0
34
-19
-10
0
0
-41
2
-16
0
0
-30
17
44
0
0
-13
54
12
0
0
-7
5
19
0
0
-3
11
-4
0
0
-3
1
-2
-6
-52
-15
-6
3
0
0
-22
12
-6
0
0
9
10
-10
0
0
21
-3
16
0
0
-3
22
-16
0
0
5
-5
0
0
0
3
-7
2
0
0
0
-2
0
0
0
-34
0
-1
0
0
7
-1
1
0
0
0
8
1
0
0
3
3
-1
0
0
4
-10
1
0
0
2
0
-1
0
0
-1
0
0
0
0
0
2
0
0
0
0
7
-1
0
0
27
-5
-4
0
0
-10
27
8
0
0
-19
-2
12
0
0
-22
-15
1
0
0
-12
2
4
0
0
-1
-1
7
0
0
-1
-25
1
0
0
13
19
-24
0
0
-30
-5
-4
0
0
-1
24
-1
0
0
-11
-11
1
0
0
-8
3
22
0
0
31
-2
-9
0
0
-18
-27
32
0
0
29
7
7
10
-7
21
20
-47
0
0
-5
43
5
0
0
28
3
2
0
0
-2
28
9
0
0
7
-4
-10
0
0
-8
-2
0
0
0
-13
2
-4
0
0
0
-6
0
0
0
7
-9
3
0
0
8
4
0
0
0
3
-1
1
0
0
3
-15
1
0
0
-9
8
-4
0
0
0
-2
1
0
0
0
1
0
0
0
-3
-4
0
0
0
-14
-14
-4
0
0
1
27
25
0
0
31
-3
14
0
0
-11
22
1
0
0
-28
-22
4
0
0
-5
-5
-7
0
0
0
6
13
0
0
-4
-14
2
0
0
-16
15
0
0
0
27
14
23
0
0
-26
-11
5
0
0
38
39
-43
0
0
22
-45
2
0
0
-15
9
-12
0
0
-23
-24
-6
0
0
5
-32
-13
43
18
-43
-63
-1
0
0
-10
69
-5
0
0
17
4
25
0
0
-4
-12
3
0
0
10
-5
-8
0
0
8
-19
1
0
0
1
12
0
0
0
1
8
1
0
0
-4
10
2
0
0
-19
8
1
0
0
4
8
4
0
0
7
19
-4
0
0
-13
-27
-13
0
0
2
2
-2
0
0
-1
7
1
0
0
0
6
-4
0
0
11
-4
-8
0
0
-25
1
10
0
0
22
-12
-3
0
0
39
0
12
0
0
3
-32
-1
0
0
-45
-23
-24
0
0
-18
-45
12
0
0
6
16
-10
0
0
-21
-46
20
0
0
17
86
-31
0
0
-6
-1
13
0
0
76
1
-4
0
0
19
-8
-16
0
0
-10
-2
-7
0
0
-11
-28
7
0
0
-10
-12
9
-18
-8
-6
-67
18
0
35
15
-4
4
0
7
5
4
24
0
10
32
9
15
0
4
35
15
7
0
10
-9
50
-12
0
0
13
20
1
0
-13
2
28
4
0
26
-14
-19
14
0
25
6
10
-15
0
19
15
-9
-9
0
3
5
-11
8
0
-27
6
5
8
0
4
10
-8
-3
0
0
-2
-21
-9
0
-9
-10
2
17
0
-4
-8
12
-12
0
-9
-4
4
4
0
-3
2
-3
-13
0
1
0
-1
0
0
-10
0
-23
1
0
-5
-4
12
5
0
0
-2
-10
-2
0
0
0
2
-4
0
-2
3
-8
1
0
-5
-6
6
12
0
3
16
3
-8
0
0
-4
10
3
0
0
-1
-3
2
0
4
-1
37
-1
0
0
1
2
-1
0
-39
14
13
12
33
-45
-5
13
11
0
11
22
-8
2
0
23
6
5
-8
0
6
10
44
13
0
-14
-24
-3
12
0
10
23
-21
9
0
33
-6
-47
-17
0
-9
-5
-5
5
0
-22
-1
24
8
0
3
-29
-30
5
0
14
25
-4
8
0
-8
-22
12
-4
0
-13
14
-4
0
0
0
-2
9
2
0
-10
-2
9
2
0
0
1
18
-14
0
0
12
-13
-15
0
0
-7
0
0
0
-7
-1
14
10
0
-1
-3
-4
-1
0
5
0
6
-5
0
0
1
0
2
0
1
0
-3
3
0
0
0
-3
0
0
-1
13
4
3
0
-1
-9
5
1
0
3
-15
20
-24
0
0
-5
-31
0
0
8
7
-4
0
0
-2
0
16
0
0
4
-6
-10
-7
0
9
-8
-2
0
7
9
19
-17
-14
0
-51
26
11
24
0
15
60
13
-9
0
20
-39
8
-8
0
41
67
-21
19
0
2
-13
-16
-7
0
-4
14
-7
0
0
-7
-7
-25
2
0
14
-13
-7
-4
0
-2
13
-4
2
0
-34
-5
-20
2
0
10
-16
-3
-7
0
0
-7
-2
-8
0
-1
2
9
3
0
0
2
8
-3
0
-17
22
10
0
0
-34
-17
7
5
0
5
-5
-4
0
0
-1
-1
5
-1
0
0
0
-2
4
0
8
-4
-8
0
0
0
1
7
-8
0
0
1
-25
0
0
0
1
-3
1
0
-2
2
8
0
0
4
-8
8
0
0
0
-1
-1
0
0
0
6
8
2
0
7
-7
2
0
0
1
9
20
-7
0
2
-12
-24
13
0
-1
-5
7
-2
-40
22
34
-19
2
0
7
11
3
10
0
-27
26
5
-6
0
41
-30
7
-5
0
6
33
18
21
0
-26
10
21
1
0
50
-23
36
1
0
-11
7
31
10
0
12
4
31
-4
0
-7
15
6
2
0
-18
-5
-6
-4
0
-32
2
20
8
0
-44
13
-12
-9
0
-2
-7
-14
0
0
3
-5
4
-1
0
-2
0
-7
4
0
44
2
1
-2
0
2
-5
4
0
0
0
6
-6
3
0
2
-3
8
0
0
-14
1
-20
-2
0
-1
-4
-2
0
0
3
1
-13
2
0
1
-1
0
0
0
0
-10
2
5
0
-6
-2
8
0
0
2
-2
-5
-3
0
-1
0
-5
-3
0
0
5
-8
-8
0
0
0
8
-5
0
0
-10
20
-7
0
16
16
-5
7
-2
-6
-9
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-14
-2
-3
0
55
-12
6
2
0
20
3
-8
-3
0
33
0
-2
0
0
7
-5
1
2
0
-17
2
-8
3
0
-1
1
2
0
0
-22
-4
5
-6
0
-13
42
1
-5
0
12
17
-38
25
0
8
8
-5
-5
0
-7
18
2
-12
0
10
12
14
-7
0
-7
0
6
-1
0
-1
3
-8
0
0
-20
1
-3
-6
0
45
-14
2
2
0
-13
-4
17
1
0
-8
9
9
0
0
-14
-3
1
0
0
15
19
-10
0
0
-3
-1
17
-1
0
-2
-2
0
0
0
9
-10
0
1
0
-10
2
82
-8
0
-2
13
12
-6
0
3
12
1
-2
0
11
-10
-4
-5
0
-9
-9
-13
-2
0
2
4
-8
0
0
-7
13
-24
1
33
-12
-21
6
5
0
-5
15
-9
5
0
17
28
9
2
0
-8
-5
-9
-9
0
-8
-10
-6
-4
0
15
2
1
-14
0
-18
-8
18
3
0
0
-4
0
0
0
-34
24
0
4
0
-21
-20
-9
-6
0
18
19
-39
7
0
-1
0
-29
1
0
0
12
3
5
0
2
-3
-2
-2
0
5
-5
5
3
0
0
-8
-2
0
0
-7
-1
3
-1
0
5
-5
-9
0
0
-13
30
-8
-10
0
-1
0
1
1
0
15
4
-3
5
0
0
-5
4
0
0
2
-6
10
0
0
0
0
0
0
0
0
1
1
1
0
-29
20
-6
-1
0
5
-20
8
-2
0
-2
-13
1
0
0
7
8
8
-6
0
5
-9
50
-10
0
17
2
-2
-7
0
5
0
-8
-2
26
1
14
-20
-5
0
-7
16
20
-4
0
-28
-3
-23
2
0
-1
-28
-5
3
0
-21
11
8
-7
0
3
-15
15
0
0
-5
-4
-1
1
0
-5
-8
-10
0
0
13
-4
-10
-1
0
7
1
4
-10
0
29
1
-9
-2
0
3
-15
-1
2
0
-4
-7
5
4
0
-4
3
12
-3
0
0
0
6
-1
0
-6
1
0
0
0
-9
4
-3
7
0
8
-14
0
3
0
-12
-6
-1
-5
0
0
-1
-8
0
0
1
-4
24
2
0
0
0
1
0
0
1
1
-1
0
0
0
0
0
0
0
-3
5
5
0
0
8
3
-6
-1
0
-9
-3
17
0
0
2
8
-15
-8
0
6
8
-2
0
0
12
7
-21
-13
0
0
2
9
0
0
1
0
-6
-3
10
-2
17
8
-5
0
24
1
5
0
0
-2
7
-12
-1
0
-14
-10
6
-6
0
12
6
-11
-2
0
18
-8
1
0
0
-2
1
13
1
0
3
0
-7
0
0
-14
10
0
-6
0
-13
-2
14
-3
0
14
-8
5
-2
0
3
1
-16
0
0
8
14
0
-8
0
-7
3
2
0
0
3
-25
-2
3
0
-2
-3
9
2
0
12
-21
21
0
0
-1
-5
-10
2
0
-13
13
-4
-4
0
0
-7
1
-2
0
-12
5
-28
1
0
0
-2
3
0
0
1
-1
2
0
0
0
2
-1
-2
0
3
3
-13
-1
0
-5
-15
-6
-1
0
11
-2
-13
-2
0
1
10
-4
-1
0
-16
-9
0
0
0
0
0
-10
0
0
0
8
7
2
0
-8
0
-27
1
-3
-25
-17
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
12
8
0
-32
2
6
-7
0
-6
-5
20
-1
0
20
4
3
5
0
3
0
18
0
0
-3
1
-2
0
0
-1
2
1
0
0
2
-13
-6
1
0
23
32
-12
25
0
18
-7
0
8
0
-8
-11
-30
-23
0
-9
-20
6
-1
0
-6
3
0
1
0
-1
8
-7
-6
0
9
-13
19
4
0
7
0
5
-3
0
6
-19
37
2
0
1
27
15
-14
0
-37
5
-44
-25
0
27
-34
-11
25
0
39
19
15
24
0
-20
-31
10
15
0
0
22
24
-17
0
-1
-13
-3
6
0
-5
6
42
-9
0
-36
20
5
-8
0
-6
-31
-21
-41
0
-29
8
-18
20
0
24
-2
29
69
0
-6
4
16
13
0
-39
17
14
24
14
9
-36
-53
-10
0
-10
7
-15
5
0
-13
17
19
-5
0
-4
-8
0
-4
0
-3
-25
-12
2
0
-8
2
2
-2
0
-3
-5
2
0
0
0
-1
1
1
0
5
-5
1
0
0
4
17
-4
19
0
-40
23
-3
10
0
14
18
-3
-1
0
8
31
6
-6
0
7
13
-4
1
0
0
-15
-6
-8
0
0
2
7
12
0
4
6
-22
-1
0
14
30
1
-23
0
-18
-44
20
-12
0
68
-3
-15
21
0
-56
47
10
22
0
9
7
-57
-22
0
-3
15
-13
-29
0
-6
-32
3
-5
0
45
-4
9
-14
0
30
12
5
-5
0
24
-7
-15
5
0
-9
-13
4
23
0
-12
7
54
-25
0
-1
1
-22
0
0
-25
0
-24
-19
0
-35
-20
-56
-1
-30
-8
-8
23
-8
0
-17
-8
-5
1
0
10
-13
-8
1
0
8
5
25
5
0
-15
-24
-3
2
0
-3
4
-3
2
0
0
-1
-17
0
0
-1
-1
2
0
0
-15
0
-23
-3
0
0
4
-5
-2
0
-13
-6
7
-1
0
13
-9
-7
0
0
1
-7
-9
0
0
0
-2
2
0
0
0
0
10
0
0
-1
-3
-1
-1
0
-15
-3
-7
-1
0
-3
18
0
5
0
-7
-26
47
-12
0
-31
48
0
-7
0
-36
-49
4
-11
0
44
-2
-25
12
0
6
-40
-23
6
0
-5
18
-14
-24
0
-44
14
-43
4
0
9
8
-17
-5
0
1
-4
6
2
0
-4
-23
-5
-7
0
10
-3
2
-5
0
-2
17
-8
9
0
-2
32
13
8
0
13
-22
18
6
-28
-14
36
61
-13
0
4
3
5
1
0
-7
12
-7
0
0
4
7
2
8
0
-3
6
8
4
0
3
0
0
0
0
6
-9
0
-4
0
1
-2
4
0
0
25
20
5
3
0
-3
-19
-1
3
0
-13
-14
-16
0
0
0
5
0
0
0
-10
-22
2
-9
0
0
2
4
0
0
-3
-8
-7
0
0
0
-6
3
-4
0
-24
28
-35
-4
0
-5
15
5
2
0
-31
10
-10
7
0
40
5
-9
-26
0
0
28
-17
17
0
-72
8
-16
14
0
2
-24
20
8
0
8
13
19
-19
0
-46
22
13
-31
0
-11
-23
6
5
0
-3
-7
-40
5
0
7
-31
-42
3
0
-14
-4
-21
-14
0
2
-48
10
-1
0
-8
-11
37
3
0
-16
-4
-27
3
-22
46
-4
-11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
34
-4
16
0
-8
17
1
-4
0
4
-4
13
8
0
-9
-5
-2
1
0
10
-4
6
0
0
-7
-3
-1
-6
0
-1
5
2
0
0
-16
14
-1
-3
0
1
8
7
3
0
0
5
-3
0
0
7
17
8
-6
0
10
-6
0
-2
0
25
17
0
2
0
19
3
-12
3
0
-23
-8
1
3
0
11
21
5
-4
0
11
-23
-11
14
0
59
-24
6
8
0
-36
-38
5
17
0
14
19
-10
0
0
-10
-5
-1
1
0
19
-13
-49
0
0
-12
-9
4
12
0
0
-12
-10
3
0
27
56
16
2
0
-14
6
3
-30
0
-6
-44
-5
-28
0
-32
23
-9
0
0
-11
-26
3
10
0
-2
42
6
17
0
30
-24
-16
17
8
-20
-16
-31
-16
0
43
11
9
-1
0
-31
14
4
1
0
-18
-1
2
0
0
-11
6
22
-1
0
-4
-25
8
-4
0
-3
2
3
0
0
0
-1
0
1
0
-4
-5
1
0
0
8
-5
-3
-1
0
-6
9
2
1
0
-1
-10
-25
1
0
-32
-11
16
1
0
-6
-5
-4
0
0
-6
16
-6
2
0
-2
13
3
8
0
-24
8
-37
9
0
-22
23
-6
13
0
41
-18
28
5
0
57
-30
-6
0
0
6
-10
2
3
0
17
-18
-2
20
0
16
-22
3
-15
0
13
0
9
-5
0
0
4
-20
6
0
-45
12
34
-30
0
7
-1
40
12
0
-11
-7
-12
7
0
-11
1
29
-11
0
-5
0
14
-17
0
13
2
8
-5
0
19
-32
20
-29
24
-6
-10
-5
41
0
6
-9
17
2
0
0
-5
3
1
0
-5
1
-13
-2
0
6
-16
7
-1
0
6
3
4
0
0
8
0
14
-1
0
25
2
0
0
0
-14
5
0
0
0
7
-1
4
0
0
-2
-9
0
0
0
0
-6
0
1
0
5
-7
-4
2
0
1
-6
19
-5
0
-2
0
0
0
0
8
-4
0
1
0
10
13
-23
8
0
22
30
-41
-14
0
-73
6
-9
8
0
0
-36
-4
-1
0
-32
1
-9
-22
0
10
30
-17
-3
0
6
4
-7
-14
0
-4
4
32
-6
0
-10
11
6
8
0
-7
-8
-58
42
0
21
-4
-53
-4
0
-28
8
-10
17
0
5
5
26
17
0
-43
41
-52
-5
0
1
-34
2
21
0
27
-11
35
7
-45
1
-51
40
-31
0
-7
-5
0
0
0
-2
2
0
1
0
4
-8
0
0
0
26
-6
-20
-1
0
-15
0
0
0
0
-23
-10
5
0
0
-2
0
-1
-3
0
-13
5
13
0
0
9
9
-7
-1
0
-8
-24
-12
1
0
0
5
0
0
0
-44
-16
-11
-5
0
-12
7
-1
0
0
5
1
-31
1
0
-1
18
0
2
0
32
-24
4
-13
0
-72
-26
17
-15
0
15
-20
14
-7
0
-14
15
6
-4
0
-22
-3
2
-4
0
18
-9
-9
3
0
30
-6
1
-12
0
0
9
4
0
0
-32
3
4
-11
0
-43
9
23
50
0
-7
-7
-47
28
0
-15
27
29
-36
0
-13
-16
37
-25
0
85
-8
-43
25
0
8
-15
24
-31
0
30
16
4
-37
-17
-13
20
32
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
7
-21
3
0
39
31
7
-23
0
17
-14
1
-10
0
7
0
3
2
0
-12
13
2
-14
0
3
10
8
14
0
4
5
19
0
0
-23
22
6
0
0
2
-8
-22
-8
0
2
0
0
14
0
1
-14
0
5
0
-4
2
-4
12
0
2
3
6
-2
0
0
0
18
-4
0
6
-2
14
4
0
6
12
-13
-1
0
6
0
8
-1
0
0
-3
1
0
0
-2
1
-4
0
0
1
0
0
1
0
0
13
4
-8
0
0
0
-8
1
0
0
5
4
0
0
0
19
3
0
0
0
2
-3
2
0
0
-3
9
0
0
0
0
3
0
0
0
-2
1
0
0
5
16
11
-13
0
0
0
5
6
0
-5
1
-15
6
36
-4
1
22
4
0
29
4
-33
0
0
6
-8
-3
20
0
2
22
13
1
0
-10
-6
8
-18
0
0
-27
12
-8
0
-5
7
13
-7
0
-14
0
0
3
0
10
1
-3
8
0
2
-4
-5
-1
0
-3
17
-15
-2
0
2
6
-5
1
0
-1
-3
19
0
0
2
12
-5
5
0
0
-2
-1
-3
0
1
13
6
4
0
17
-8
29
4
0
0
-5
-2
0
0
4
0
12
0
0
0
0
0
0
0
0
9
0
-1
0
0
1
1
2
0
0
2
6
2
0
0
0
1
-2
0
0
0
3
3
0
0
-3
-12
-1
0
1
-6
5
-4
0
0
0
-9
0
0
0
0
-1
1
0
-4
-3
9
1
0
24
-5
1
7
0
-23
0
8
-8
14
2
14
-4
0
0
49
-9
-22
13
0
-33
-10
-3
-16
0
3
14
21
-6
0
-31
16
-13
-5
0
-23
7
-18
0
0
3
-2
-5
-1
0
-8
-4
-8
7
0
34
-15
-6
-3
0
-4
4
-6
-3
0
3
-6
0
6
0
-2
27
3
-2
0
-2
0
14
0
0
0
2
3
1
0
0
2
0
0
0
0
2
-3
3
0
-2
4
-4
-8
0
-4
2
5
1
0
0
2
-1
-1
0
0
-3
9
0
0
-1
0
-3
0
0
0
1
1
0
0
0
-1
0
0
0
0
1
2
0
0
0
0
6
0
0
1
-10
-5
0
0
0
1
-1
0
0
-1
2
8
1
0
2
8
0
-1
0
0
-2
-10
1
0
2
0
8
0
0
17
-3
6
2
36
-4
-20
-19
10
0
-18
-61
-2
2
0
44
20
-4
-13
0
5
-31
20
3
0
56
39
27
4
0
9
-8
13
0
0
-2
5
-1
-5
0
-19
0
6
-1
0
0
-2
11
2
0
4
5
5
1
0
0
7
-8
-1
0
-1
25
9
-5
0
-14
-20
8
6
0
0
2
4
0
0
1
-1
-4
1
0
-1
-1
12
0
0
-8
22
19
4
0
-2
-5
-2
-1
0
1
-1
1
-2
0
1
3
-4
0
0
-2
3
-5
2
0
0
-7
0
1
0
0
-1
4
0
0
0
3
-1
-1
0
-1
8
9
0
0
-1
0
1
2
0
0
0
-14
0
0
0
-1
3
-1
0
0
5
-1
0
0
-2
7
-3
0
0
-3
5
-5
0
0
-7
3
7
0
-16
-7
-7
15
-18
0
24
-5
5
1
0
7
8
13
2
0
-7
13
7
-8
0
29
-1
5
-5
0
6
-4
-8
0
0
9
-1
-6
1
0
4
-3
3
1
0
-32
-8
10
0
0
-24
15
7
0
0
-8
-7
-19
2
0
0
-3
3
3
0
0
-2
-10
-3
0
0
7
0
3
0
0
0
3
5
0
1
0
-2
0
0
-2
0
3
-2
0
7
-24
-12
3
0
4
-1
-2
-5
0
0
-1
0
0
0
1
0
1
-2
0
0
0
13
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
-2
0
0
1
-3
0
0
0
0
1
-1
1
0
0
0
1
0
0
0
0
0
0
0
-5
2
6
-1
0
0
-1
-7
-3
0
-1
-1
-8
0
-30
-1
-2
5
-1
0
-7
1
7
8
0
-7
-6
-29
5
0
10
-12
12
0
0
51
5
10
-3
0
13
-7
14
2
0
43
8
-12
-2
0
-1
-1
-1
0
0
14
15
11
0
0
0
-5
-3
0
0
-8
-2
12
1
0
1
-3
-1
-1
0
-13
1
4
0
0
-7
0
9
0
0
2
2
-7
-2
0
1
0
-2
0
0
-5
-1
5
0
0
9
-16
-17
1
0
-14
0
-7
-1
0
-2
-1
0
1
0
-5
2
0
0
0
1
-2
0
0
0
0
2
-8
2
0
0
0
0
0
0
-6
1
0
0
0
0
3
-2
3
0
2
-3
0
-3
0
0
-1
-2
0
0
0
0
-5
0
0
-3
-4
1
0
0
-4
1
10
1
0
-6
0
1
0
10
4
2
0
0
0
18
6
5
-13
0
12
2
-1
0
0
-5
5
-25
1
0
-12
20
22
-8
0
-2
-3
-6
0
0
3
-2
2
-1
0
-8
-9
0
0
0
22
-1
-2
0
0
0
24
2
0
0
0
0
0
0
0
0
8
-1
1
0
0
-1
0
1
0
0
-1
1
-1
0
0
0
0
0
0
1
0
0
0
0
-1
0
-4
0
0
-1
0
-1
0
0
-1
6
1
-1
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-1
0
0
-1
0
-4
0
-5
-5
8
5
-2
0
18
8
12
4
0
-44
35
-4
2
0
20
11
-3
-3
0
-11
-16
11
12
0
25
15
6
0
0
10
-19
-4
-1
0
-3
1
0
0
0
-27
7
-17
-2
0
-1
-13
8
1
0
-1
-5
2
-1
0
-1
1
0
0
0
-3
2
4
-3
0
-3
0
0
0
0
0
-1
0
-2
0
-1
0
6
-2
0
-10
-3
-18
1
0
0
-6
6
1
0
12
-3
-14
-7
0
2
5
0
0
0
1
7
-3
-2
0
0
-7
-6
0
0
0
2
4
2
0
0
1
0
0
0
-2
6
-2
0
0
0
-6
3
1
0
0
2
0
0
0
0
0
1
0
0
1
-4
-3
-1
0
0
1
-7
1
0
0
-8
1
1
0
0
3
3
0
-3
27
-1
14
0
0
-6
25
-8
-1
0
10
-4
2
-4
0
-2
-34
-3
2
0
-11
-6
2
7
0
-1
-1
24
1
0
1
-12
-20
0
0
-2
-3
0
0
0
-5
1
3
1
0
-9
-11
-4
19
0
57
6
-3
-5
0
2
-12
4
5
0
9
29
5
-3
0
-2
8
20
4
0
0
6
8
-2
0
-3
5
6
-1
0
11
16
-2
8
0
15
0
-8
0
0
4
-2
3
0
0
0
1
1
0
0
0
-3
1
0
0
2
0
-3
6
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-8
-3
-3
-1
0
-5
-1
1
0
0
0
0
10
0
0
2
-1
6
-1
0
-3
5
-4
8
0
0
5
-1
-4
0
1
15
-4
2
8
0
5
-13
2
0
37
-13
4
8
0
-36
-1
-5
2
0
-4
0
0
1
0
-20
-6
9
0
0
-23
8
10
-1
0
2
-19
-7
-1
0
-4
0
5
0
0
25
-4
2
0
0
18
5
-4
-7
0
32
13
-8
7
0
1
-16
-8
0
0
-41
17
14
-2
0
4
1
-17
-1
0
-9
12
2
-6
0
-4
1
5
-1
0
8
-7
8
-1
0
-1
0
1
0
0
5
3
0
0
0
1
0
-1
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-1
0
4
-6
0
1
0
0
0
1
0
0
-3
0
1
2
0
-1
8
1
0
0
6
3
6
-7
0
-4
-5
0
-1
11
8
14
-13
13
0
-9
43
12
3
0
-13
24
-27
3
0
-13
-3
-5
10
0
23
5
-8
1
0
18
-5
-8
1
0
-3
3
-1
-1
0
8
4
-2
0
0
0
2
10
1
0
22
-11
3
7
0
-32
-2
5
4
0
13
-21
6
-8
0
10
-18
-1
-2
0
0
3
-9
1
0
0
-3
0
4
0
-4
5
19
8
0
-10
4
-9
-1
0
0
8
0
-1
0
-1
1
0
-2
0
0
-1
1
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-1
0
0
-1
-7
3
-3
0
-1
0
0
-1
0
2
-4
-4
0
0
0
-1
0
1
0
0
0
15
-5
0
0
-6
0
1
0
10
-7
-5
0
-22
6
1
6
-7
0
0
31
0
3
0
-20
23
5
4
0
15
7
14
4
0
19
-16
1
6
0
-2
-8
5
-3
0
-10
-13
2
3
0
29
-3
1
0
0
-8
8
-1
1
0
1
5
8
-3
0
-5
14
-4
-2
0
3
3
-13
-3
0
-15
7
-16
-6
0
0
2
1
0
0
6
7
-12
2
0
0
5
-8
0
0
7
-5
-7
-8
0
0
1
2
2
0
-3
2
0
0
0
0
-1
0
0
0
-7
2
-1
1
0
0
0
0
-1
0
0
1
-1
0
0
0
0
0
0
0
0
8
-2
0
0
0
5
1
1
0
4
0
0
-2
0
0
3
1
0
0
10
-1
-22
0
0
0
-6
0
0
0
0
-1
18
0
0
0
-3
-14
0
4
-14
10
-13
-8
0
27
-33
3
6
0
-22
7
10
-23
0
17
10
-22
8
0
2
14
-6
2
0
1
8
1
0
0
-7
-2
13
0
0
0
-1
1
0
0
-12
-1
-1
-1
0
21
24
8
-2
0
-17
10
-1
3
0
-2
3
18
1
0
2
-4
-4
0
0
-1
12
-4
0
0
5
0
-2
1
0
-1
-1
1
-1
0
-4
6
1
1
0
1
10
2
-2
0
5
4
13
-6
0
0
-1
1
0
0
-2
0
1
0
0
0
-1
1
1
0
0
0
-2
0
0
-1
0
0
0
0
0
1
2
-1
0
-2
-7
14
-1
0
0
2
2
0
0
0
0
-3
0
0
2
-4
1
0
0
0
0
-12
-2
0
0
1
3
2
0
-1
0
1
2
-5
-4
1
-6
0
0
-3
20
24
-1
0
11
-7
12
5
0
5
5
0
-2
0
6
-5
-8
5
0
-1
-3
3
0
0
3
-1
5
1
0
1
1
-2
0
0
-13
0
6
0
0
5
-3
-1
-2
0
1
19
-1
0
0
0
-4
-25
2
0
-38
1
8
0
0
2
-5
0
-1
0
1
-10
-6
-3
0
0
-2
3
0
0
2
-4
-13
0
0
2
-3
3
0
0
-9
0
4
0
0
0
-1
0
0
0
3
0
-1
0
0
1
0
1
0
0
0
0
-6
-1
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
-1
4
6
-1
0
0
4
1
0
0
1
0
0
0
0
1
2
6
0
0
-2
-3
-1
2
0
0
0
0
1
-28
13
-1
0
3
0
-9
6
6
3
0
-10
45
1
9
0
23
-2
7
0
0
43
-10
2
2
0
-1
-24
3
-1
0
-4
0
-5
0
0
5
0
-17
0
0
-10
-2
-15
0
0
-22
29
0
1
0
-1
0
-19
-2
0
1
-9
4
-1
0
-3
-3
7
0
0
0
1
0
1
0
0
0
-3
0
0
0
3
0
0
0
-5
-5
9
0
0
7
5
-6
1
0
9
-5
-4
0
0
-5
5
-5
2
0
9
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
1
0
1
0
0
0
-3
-1
0
0
0
0
1
0
0
0
-1
-7
-1
0
1
0
0
1
0
0
-8
0
-1
0
0
0
-3
0
0
2
-2
10
0
-40
-7
-5
2
3
0
14
8
-12
-23
0
5
-10
17
5
0
28
8
22
4
0
3
-13
0
0
0
9
-20
8
-1
0
-17
19
-3
-4
0
-1
3
1
0
0
13
-3
8
-1
0
0
-44
-3
-8
0
-5
5
-15
1
0
-19
8
-3
1
0
-30
5
-21
3
0
0
-6
2
0
0
0
1
5
0
0
0
0
0
0
0
-10
5
5
-1
0
-51
-1
2
-2
0
-10
-14
41
1
0
2
3
7
0
0
1
-1
6
-4
0
1
3
-2
0
0
2
-2
5
0
0
0
-1
-10
0
0
-4
2
0
0
0
-3
9
-6
7
0
5
0
-5
1
0
1
10
2
0
0
2
2
-2
-3
0
0
0
2
-2
0
-2
-1
5
-1
0
2
2
-2
0
6
-14
-5
-25
2
0
-2
5
-4
6
0
66
5
8
1
0
-4
0
1
-4
0
0
-4
3
0
0
8
3
-2
0
0
0
1
-2
-2
0
0
3
0
0
0
12
8
3
1
0
-3
-7
7
0
0
-2
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
-5
-5
-6
3
0
0
-1
0
1
0
-3
-1
0
1
0
4
9
6
5
0
44
-23
-25
-30
0
5
2
-25
-32
0
2
55
19
22
0
-25
71
-3
40
0
2
7
-39
7
0
6
7
16
-21
0
16
-16
45
-10
0
23
-5
-2
-18
0
10
-14
21
0
0
-5
20
-5
6
0
1
14
-12
-27
0
-4
4
6
-7
0
5
-6
39
22
0
0
-2
-9
14
0
-33
12
51
46
51
-5
15
-5
-8
0
13
5
2
0
0
0
0
16
6
0
-4
-2
3
3
0
-8
5
-2
5
0
5
-6
-5
0
0
3
0
-5
-1
0
0
0
0
0
0
-13
-3
7
-2
0
0
2
-5
-1
0
-3
0
-1
0
0
0
0
0
-1
0
-5
-2
1
-1
0
-2
-8
4
0
0
1
24
-19
0
0
-2
-10
1
1
0
-5
4
3
0
0
108
-8
-6
-26
0
-29
72
5
-20
0
14
-4
21
13
0
1
1
8
-13
0
-27
-13
-16
2
0
8
-24
18
5
0
0
0
-13
13
0
13
-27
21
-4
0
8
-16
23
-4
0
13
-4
-2
-20
0
0
-20
-27
1
0
0
-2
5
0
0
-2
-17
-23
32
0
-6
26
13
7
0
-8
-26
15
-17
47
-17
-25
-23
-10
0
8
0
-6
-2
0
6
4
-8
2
0
-2
4
-2
0
0
-8
-2
-1
-1
0
-2
3
-4
1
0
-1
0
1
0
0
-2
1
0
0
0
-3
-3
-6
1
0
4
-5
0
0
0
-1
0
0
0
0
0
-1
0
0
0
3
0
1
0
0
1
0
-2
0
0
0
0
0
-1
0
4
-13
3
2
0
-4
27
2
-2
0
11
-76
48
4
0
32
-9
-16
-1
0
31
-5
-69
-7
0
-2
-7
6
-8
0
19
-6
13
7
0
4
-4
-1
-7
0
-9
14
23
-38
0
-5
36
-17
-9
0
-8
-12
-5
-2
0
0
5
-5
2
0
-2
18
26
-8
0
-14
1
-5
-1
0
0
-10
18
13
0
-1
5
16
-1
0
6
-9
-34
-7
-30
-5
41
-16
4
0
-5
4
4
0
0
0
8
-2
0
0
-13
5
-4
0
0
0
-8
-1
4
0
-8
0
25
0
0
2
5
3
-1
0
0
-4
-1
1
0
-18
0
-3
0
0
1
-4
0
0
0
2
1
-1
0
0
0
0
-1
0
0
0
6
2
0
0
0
-2
-1
0
0
0
-1
-1
-1
0
0
0
0
1
0
22
2
-27
6
0
-31
-23
-24
-14
0
9
21
7
22
0
48
-13
-29
-13
0
-74
9
0
34
0
-13
-14
7
-3
0
6
-12
-6
-7
0
10
-8
-8
9
0
15
8
-12
-21
0
0
9
6
1
0
0
-5
-23
-10
0
2
-32
-3
0
0
-3
1
86
6
0
-1
22
19
-13
0
0
22
3
0
0
4
-19
-33
-5
-11
40
8
33
-9
0
-7
25
-6
-2
0
8
-7
7
-8
0
-4
-3
-2
0
0
13
8
-7
2
0
2
-4
1
0
0
1
1
5
0
0
0
0
0
0
0
3
-3
-4
0
0
0
-1
-7
-2
0
-1
0
-1
2
0
0
1
0
0
0
0
-1
1
0
0
0
0
3
0
0
1
0
2
-2
0
0
0
-3
0
0
-15
-3
3
1
0
-23
4
-10
5
0
-4
-35
-36
5
0
14
-3
-34
-4
0
-48
-6
10
1
0
31
2
0
1
0
-8
3
7
1
0
8
-8
-13
5
0
4
-13
-28
9
0
23
24
6
-9
0
2
-2
-9
3
0
0
2
8
1
0
0
1
-3
0
0
1
-11
-11
-17
0
0
5
18
-2
0
-5
0
-1
0
21
18
-25
45
8
0
12
12
-1
-1
0
1
14
-3
-2
0
3
0
0
1
0
0
10
3
-1
0
5
-8
-2
0
0
-4
6
1
-2
0
0
1
-2
0
0
-13
1
-7
0
0
0
1
0
1
0
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-1
0
1
0
1
0
0
0
-7
-1
0
0
1
2
0
0
0
-16
4
-1
-2
0
-25
31
-5
27
0
6
-30
7
13
0
1
-13
0
0
0
1
3
-25
13
0
10
-10
-18
-12
0
-12
-16
30
0
0
-2
5
6
-3
0
1
-4
9
19
0
2
3
14
0
0
0
2
-2
-1
0
0
0
-4
0
0
0
-1
2
2
0
0
-16
20
9
0
6
1
24
-20
0
0
13
-28
-4
-24
-9
-4
25
8
0
-14
0
3
-1
0
16
2
2
1
0
3
-5
-4
0
0
-5
2
-2
0
0
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
0
0
1
-4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-2
0
0
0
0
25
-12
-2
0
0
-69
-41
32
10
0
2
21
24
-2
0
38
-25
-2
-1
0
11
6
-21
3
0
-5
-25
-10
5
0
-2
4
22
-15
0
-6
3
-12
-2
0
-1
-1
-20
-3
0
0
0
-1
0
0
0
-7
-8
-7
0
0
0
0
0
0
-1
23
-25
-19
0
1
3
-2
-1
0
6
-4
-20
5
-1
-8
-14
3
-3
0
-7
8
15
0
0
3
3
-5
3
0
3
6
-3
-1
0
-24
-5
-1
8
0
-4
1
-3
0
0
-1
-3
3
0
0
1
-1
0
0
0
-9
1
3
-1
0
0
-1
0
0
0
-2
0
-4
0
0
0
0
0
0
0
3
0
4
0
0
0
-1
-2
0
0
0
3
-2
0
0
-2
1
0
0
0
6
-3
9
1
0
-8
-4
10
19
0
29
26
8
7
0
-72
25
-8
-16
0
17
-63
15
-17
0
-2
7
-7
8
0
-22
-21
-16
12
0
-17
7
2
-7
0
-21
-14
-9
13
0
-2
-13
-3
2
0
0
-5
-16
0
0
0
0
12
-6
0
0
6
-7
-3
0
-1
-39
21
1
0
0
-6
2
0
0
2
-8
5
5
16
24
1
-16
-8
0
8
24
4
-2
0
5
5
17
2
0
-8
-5
9
0
0
-41
4
2
0
0
0
13
1
0
0
0
4
-2
0
0
0
0
0
0
0
8
4
0
-5
0
18
6
-25
-1
0
5
-6
-2
2
0
-1
2
-25
0
0
8
0
18
1
0
1
8
9
-4
0
-1
1
8
0
0
-3
-1
-12
5
0
7
-25
4
3
0
35
23
-33
11
0
34
-19
29
3
0
15
-6
13
3
0
-20
-30
-5
-5
0
5
1
-5
-2
0
6
0
-42
4
0
-6
0
-4
13
0
-13
-2
2
6
0
7
77
33
-49
0
15
63
16
17
0
-6
-51
39
36
0
-25
-1
27
-11
0
-9
-14
24
-32
0
1
13
4
32
0
0
24
44
-5
18
-38
-34
12
46
0
-7
33
-8
8
0
30
-6
13
-6
0
-2
2
10
0
0
22
-1
-25
-4
0
7
4
0
0
0
-8
-19
-7
0
0
0
-1
1
-1
0
-17
-3
-4
0
0
1
23
-2
1
0
19
-4
-7
-4
0
1
-5
0
0
0
10
4
0
2
0
3
-1
0
-1
0
0
-14
-4
0
0
0
2
0
-2
0
-6
-5
-6
-2
0
13
28
-14
7
0
48
-44
1
2
0
-8
-13
7
-2
0
-21
27
7
0
0
-5
9
-19
8
0
-2
4
-1
0
0
0
-2
2
-2
0
-2
-8
-4
1
0
32
1
-16
5
0
-8
44
16
-2
0
-9
-46
-8
7
0
-2
60
-10
-9
0
-33
20
31
7
0
-30
11
-48
7
0
2
17
-14
-21
65
-2
7
-21
-1
0
-7
12
7
-1
0
7
5
12
0
0
15
-29
8
2
0
-14
-8
-1
-1
0
4
-6
-1
0
0
-1
-3
0
-1
0
0
0
0
3
0
-14
1
0
0
0
-3
3
0
1
0
-1
0
-1
0
0
3
15
-5
1
0
-10
0
-7
-1
0
1
3
2
-1
0
1
0
0
0
0
2
0
2
0
0
-6
-2
-3
0
0
0
29
24
18
0
30
-4
5
-1
0
-33
-10
12
-7
0
-29
-5
-3
1
0
-4
2
-19
1
0
4
15
-10
-4
0
9
8
9
0
0
4
0
-8
-2
0
7
13
-11
51
0
-14
12
13
13
0
-13
25
-47
-33
0
32
47
-14
10
0
34
-23
-6
-9
0
8
-19
28
-6
0
1
-40
20
-6
27
2
-71
25
-15
0
8
1
6
0
0
8
4
2
-4
0
3
-1
-16
0
0
42
5
-1
1
0
2
1
0
0
0
1
-2
-1
0
0
-2
0
-1
0
0
-16
9
1
3
0
1
-8
-2
0
0
-7
-16
-2
0
0
-8
-6
1
0
0
-8
-6
2
0
0
0
0
-1
0
0
-2
3
-1
-2
0
0
1
0
0
0
2
1
0
2
0
-17
23
6
1
0
-9
5
10
-4
0
-8
2
-4
0
0
5
-11
-18
7
0
0
0
-1
-1
0
1
0
0
-1
0
0
0
0
0
0
-14
5
25
0
0
-4
12
41
30
0
-20
2
9
-1
0
-15
2
-26
-22
0
-16
-50
-22
6
0
23
17
-12
28
0
5
-10
-4
25
0
7
4
-26
-17
-15
-50
-33
-8
-48
0
-44
25
34
16
0
4
-5
7
1
0
-13
-25
-5
0
0
-1
-20
-24
0
0
15
1
8
-3
0
23
9
-23
2
0
0
-1
9
-1
0
6
-8
-3
-2
0
28
31
4
8
0
14
-18
-1
7
0
0
-19
10
-5
0
13
-9
-4
7
0
8
12
0
0
0
0
1
22
0
0
0
6
0
0
0
5
-14
-14
-1
0
18
-31
24
-26
0
36
14
-9
16
0
-15
-4
-17
-7
0
-36
-25
7
-4
0
20
9
1
16
0
1
-8
-8
-2
0
0
18
-3
-7
0
-20
3
22
-1
0
-37
-4
39
30
0
10
-2
7
-5
0
6
-1
-52
10
0
-31
-29
31
14
0
9
34
-23
3
0
0
-11
22
-5
0
20
-4
5
-16
-21
-23
53
-14
-5
0
1
29
7
1
0
28
-9
-21
7
0
-13
-5
7
0
0
-41
26
-16
1
0
0
-1
3
-1
0
-22
-7
-6
1
0
-4
0
0
0
0
4
1
-5
0
0
-15
7
4
2
0
2
-2
-8
-3
0
1
2
-3
0
0
16
3
-13
-2
0
0
-5
5
4
0
-5
-5
4
0
0
-1
-5
1
0
0
0
7
-4
-3
0
14
8
29
-6
0
-49
-5
11
-10
0
2
-24
-3
-8
0
29
-4
0
0
0
8
-6
-4
-1
0
17
12
-10
-6
0
0
-1
-2
-1
0
7
-1
-10
2
0
2
11
30
9
0
24
-45
20
19
0
34
-20
14
-9
0
-34
-30
23
-7
0
25
3
-7
-9
0
-12
18
-11
-23
0
2
21
7
7
-3
-8
25
-18
8
0
-37
35
1
5
0
7
-37
-4
10
0
-6
-4
-4
2
0
-27
0
24
-6
0
5
19
4
-1
0
-1
0
6
0
0
0
1
0
0
0
1
5
7
0
0
-36
27
-12
-7
0
13
-29
-13
-1
0
3
-6
4
1
0
24
2
4
1
0
1
4
0
0
0
0
-4
0
0
0
-5
-1
-1
0
0
2
5
3
3
0
-47
22
28
-2
0
-45
-29
10
28
0
-57
-47
4
-16
0
38
-28
-3
0
0
14
19
-1
-2
0
8
0
2
-4
0
-6
-15
8
3
0
8
-1
-43
-4
0
-35
51
29
-46
0
-15
-63
-18
6
0
2
9
20
-13
0
9
-24
-19
-43
0
17
0
19
4
0
0
-8
-6
-6
0
24
21
-27
-22
-26
-2
-23
7
7
0
30
2
-14
-9
0
-36
5
11
8
0
-47
-4
35
-5
0
41
-3
-14
13
0
-12
0
4
0
0
2
-1
23
-2
0
-4
0
2
0
0
-12
-11
17
3
0
12
8
12
8
0
-1
19
-18
3
0
3
-30
-1
-2
0
-33
-1
-18
-1
0
0
-8
-19
1
0
-1
2
-1
0
0
-1
1
0
1
0
-16
-8
4
-4
0
-47
17
-24
4
0
14
-14
2
2
0
27
-48
5
-13
0
-8
25
-22
1
0
2
-8
10
1
0
-1
-38
-19
0
0
-2
-10
7
-1
0
-16
25
-12
-9
0
16
-24
-10
47
0
22
-39
-17
-21
0
-52
-3
6
13
0
19
24
7
-34
0
1
-23
-1
16
0
-6
-14
-9
-17
0
6
-43
-39
7
-22
20
-47
6
-15
0
8
3
5
5
0
-5
-16
18
4
0
6
24
8
-5
0
4
14
-12
-5
0
8
20
-16
-6
0
29
-7
-7
5
0
0
1
22
5
0
-7
-17
-21
-18
0
8
3
4
-2
0
10
9
-8
-4
0
5
17
5
-10
0
5
6
-3
1
0
1
-1
-7
4
0
0
1
-1
-1
0
-12
1
32
-5
0
-7
10
-14
5
0
12
-10
-3
0
0
8
1
-2
0
0
-1
1
1
0
0
-8
0
-8
0
0
3
2
-1
3
0
1
-10
8
0
0
0
-6
1
-3
0
-1
-5
-5
-1
0
-5
0
3
0
0
2
1
20
0
0
0
1
-8
0
0
-4
5
-8
5
0
2
-1
16
-16
0
0
8
6
-3
0
-8
5
33
3
-4
0
17
6
15
0
-1
24
-17
-3
0
14
12
-30
-1
0
12
-24
5
14
0
0
-1
29
6
0
0
-4
33
2
0
40
3
-16
-14
0
0
-19
14
-3
0
-6
-1
17
-1
0
0
-9
-2
3
0
-8
-15
-8
-2
0
-1
4
0
-1
0
2
14
-7
-9
0
0
4
14
0
0
0
10
4
6
0
-3
0
30
10
0
22
20
-2
5
0
3
-5
-8
0
0
-10
-10
4
1
0
1
-2
-3
1
0
-8
3
5
0
0
0
6
-5
-1
0
0
0
16
0
0
0
-1
-3
0
0
7
19
1
1
0
-2
-2
-1
-2
0
3
-8
0
-6
0
0
2
-20
0
0
2
5
-6
-1
0
2
-4
31
2
0
8
5
-7
7
0
2
2
5
0
2
-10
31
-9
14
0
24
14
-25
19
0
9
-13
-3
-10
0
-25
8
12
-1
0
-16
1
-25
10
0
12
-23
3
-1
0
-5
0
0
-4
0
-10
-17
22
2
0
9
3
4
-3
0
-2
7
5
-3
0
21
-3
-8
5
0
12
5
-8
-3
0
20
-12
-3
-2
0
-8
-2
3
0
0
0
-2
-7
-1
0
-3
-7
13
4
0
-25
8
-7
-5
0
-7
-6
-5
1
0
6
0
-9
0
0
-1
0
-4
0
0
5
0
1
-4
0
-3
8
0
0
0
-1
-1
-5
0
0
-1
1
0
0
0
-5
0
-13
0
0
1
8
1
-1
0
3
-5
-3
2
0
0
-1
-6
0
0
1
-3
-7
0
0
-3
-4
-13
1
0
0
-7
1
3
0
8
0
-1
-2
-19
-2
-6
33
-4
0
9
-46
6
0
0
-38
-7
25
1
0
-25
8
7
0
0
6
6
-8
4
0
19
-23
1
-12
0
19
2
29
-5
0
12
17
-12
0
0
4
25
7
-8
0
0
2
-32
1
0
10
0
-4
16
0
-8
10
17
-1
0
-1
-31
8
-3
0
1
1
8
0
0
0
0
0
3
0
-2
8
18
1
0
7
8
-6
-1
0
-5
-2
0
1
0
-12
31
7
-2
0
0
-3
-8
0
0
0
13
-4
2
0
-3
-5
0
3
0
0
3
0
0
0
0
3
0
-1
0
-1
-6
2
2
0
-7
-14
-6
5
0
-7
0
-6
0
0
0
0
-13
-1
0
0
0
0
1
0
0
2
13
5
0
-2
5
31
-2
0
5
-17
-20
9
71
8
4
0
4
0
-13
-12
1
0
0
41
9
-5
-10
0
23
0
14
-3
0
-22
16
5
-3
0
0
-1
5
0
0
4
0
0
0
0
1
1
0
0
0
-3
-8
5
1
0
3
-17
-1
0
0
-27
13
-5
-1
0
0
-1
3
0
0
-5
14
-2
0
0
0
0
6
0
0
0
0
2
0
0
0
2
2
0
0
8
0
-8
5
0
4
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
2
3
1
0
0
0
-1
-1
0
0
0
1
0
0
0
0
2
0
0
-1
0
0
0
0
-4
7
-14
2
0
-1
2
-2
0
0
0
-3
4
0
0
-6
1
17
1
0
-1
-2
6
1
0
-1
0
-3
-4
0
0
-12
-3
0
-9
-14
1
20
-3
0
-3
4
18
8
0
26
-9
-16
1
0
8
16
-8
0
0
5
8
-13
2
0
-10
0
-3
0
0
-2
-1
4
0
0
0
2
-2
0
0
9
10
0
0
0
-6
-13
0
0
0
-7
9
-9
0
0
2
3
-4
1
0
-11
1
3
0
0
0
3
-2
-1
0
0
-1
0
1
0
2
0
-2
1
0
-7
1
0
0
0
1
-2
0
0
0
8
2
-9
-1
0
3
0
0
0
0
-8
-1
4
0
0
0
-1
4
0
0
0
0
5
1
0
0
-1
0
0
0
0
0
0
0
0
6
-8
17
0
0
29
-6
2
0
0
-1
-2
-19
0
0
-13
-8
6
0
0
0
3
0
-1
0
-1
1
0
-1
0
-5
0
-6
-4
-19
-6
-17
7
9
0
-3
3
12
-1
0
5
16
-7
1
0
6
-6
-6
-1
0
0
-12
5
6
0
-1
0
0
0
0
0
2
-4
-2
0
0
-1
0
0
0
5
-1
-9
2
0
-1
-7
8
0
0
4
2
1
0
0
0
0
1
0
0
4
-3
1
0
0
0
1
0
1
0
0
0
-1
0
0
0
0
1
0
0
-9
0
10
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
1
2
-1
1
0
0
-1
-3
0
0
1
-1
2
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
1
0
-7
6
-8
0
-3
0
28
30
-30
1
0
-9
5
3
-3
0
14
5
24
6
0
18
-2
17
-1
0
-5
4
2
2
0
8
0
-14
0
0
-4
-2
1
0
0
-28
0
5
-1
0
2
5
3
1
0
-3
-1
6
0
0
0
7
-7
0
0
8
-1
6
-3
0
0
-9
1
-1
0
2
-3
-5
0
0
-1
-2
4
0
0
-22
3
-9
-1
0
14
2
6
-6
0
0
-3
8
0
0
0
6
-4
0
0
20
-3
2
0
0
-1
-1
4
1
0
0
0
-9
0
0
0
0
-1
0
0
-1
0
-3
0
0
3
-6
5
1
0
6
2
-13
1
0
-2
1
7
0
0
-3
0
-2
-1
0
2
0
-3
-2
0
3
1
3
0
0
-6
-6
-7
1
24
-7
4
-6
4
0
-13
36
-1
-6
0
-14
40
-16
-5
0
22
-38
-14
0
0
17
-15
5
-4
0
0
4
-3
2
0
-13
4
-25
7
0
-3
-2
0
0
0
23
8
10
7
0
2
-1
-8
1
0
13
-8
4
5
0
-1
8
8
0
0
-5
-29
16
-3
0
0
1
0
-1
0
2
1
13
-2
0
0
0
1
0
0
8
-3
0
1
0
-7
2
3
0
0
2
-2
0
-1
0
-5
2
-2
0
0
-5
0
1
3
0
0
4
2
0
0
8
-4
0
0
0
0
0
0
0
0
1
-5
-1
1
0
-1
0
0
0
0
0
-2
12
0
0
0
0
-3
0
0
0
-1
3
3
0
-8
5
-15
1
0
1
4
18
5
0
1
1
-4
-3
31
19
17
-14
2
0
-26
-10
-8
3
0
5
-14
-2
-1
0
7
0
2
1
0
23
6
20
5
0
-5
-4
14
-2
0
-4
-9
-7
-1
0
0
3
-5
0
0
24
-5
0
0
0
14
13
0
3
0
1
-4
0
-6
0
0
-8
-8
0
0
-14
0
5
-3
0
0
8
-6
0
0
0
4
14
0
0
-1
-4
4
0
0
-1
1
-16
0
0
-8
1
-1
0
0
-4
-1
-4
0
0
0
2
0
0
0
1
1
2
0
0
0
8
-1
0
0
0
2
6
0
0
-1
0
0
0
0
1
0
1
0
0
-1
8
-3
0
0
0
-1
0
0
0
0
0
3
0
0
-2
-1
0
0
0
0
-1
0
-2
0
0
-4
-2
2
0
-1
-1
-3
-1
6
6
0
-13
1
0
25
-11
19
3
0
-9
35
13
4
0
40
-28
6
-1
0
2
-8
-12
1
0
1
-1
8
-2
0
0
9
-2
1
0
0
1
-24
0
0
-1
-4
33
-5
0
6
10
-2
0
0
10
27
-25
-7
0
3
-7
6
1
0
-32
7
-2
2
0
0
1
-2
0
0
0
0
-5
-2
0
2
1
-2
1
0
3
0
4
0
0
-4
-1
4
0
0
-21
-5
-4
-2
0
0
-2
5
0
0
2
1
-9
3
0
3
2
-1
-1
0
0
1
-13
0
0
-1
0
0
0
0
-3
8
2
0
0
-5
4
3
1
0
1
1
6
-2
0
1
-1
0
0
0
0
1
-2
0
0
0
-2
12
0
0
1
1
-8
3
0
3
-2
-10
-1
7
-23
-10
-12
8
0
41
-38
12
-8
0
25
26
13
15
0
8
25
-8
2
0
-25
-3
-10
7
0
-8
-2
0
0
0
-1
-8
4
5
0
8
-1
2
0
0
1
4
-3
0
0
1
9
22
1
0
-13
-10
-5
-3
0
-2
-1
-25
-3
0
-41
8
-7
-2
0
0
5
0
-1
0
0
-7
-4
-1
0
-4
-8
24
2
0
6
8
-4
-5
0
7
8
-15
0
0
-29
3
-2
0
0
1
-2
0
0
0
-2
1
0
-1
0
0
-9
5
0
0
3
0
-6
0
0
0
0
0
0
0
3
3
-2
0
0
-2
-1
8
1
0
0
0
2
0
0
0
0
0
0
0
3
-2
0
0
0
1
-10
5
-7
0
-8
2
5
-7
0
4
1
-7
0
-7
26
0
-5
-10
0
-7
-22
6
0
0
30
-1
5
-18
0
-1
-2
2
1
0
10
-16
-1
-7
0
-8
-5
2
0
0
1
1
1
0
0
-2
0
-1
0
0
-10
0
-6
0
0
12
-3
-24
2
0
1
1
-1
0
0
1
0
0
0
0
0
2
10
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
-1
2
0
1
5
8
-1
0
-10
7
0
0
0
0
1
2
-3
0
0
0
1
0
0
0
0
-1
0
0
-1
0
-1
0
0
-1
0
-4
0
0
0
0
-1
0
0
0
-1
1
0
0
4
-2
-5
0
0
0
-1
-1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
2
-1
0
1
1
-3
0
0
1
3
0
-1
21
-4
0
2
0
0
7
-12
7
-8
0
-15
24
23
-4
0
-7
8
-10
-1
0
9
4
-2
0
0
0
-3
1
1
0
2
0
1
0
0
1
-3
0
0
0
8
4
0
0
0
19
23
-8
3
0
12
-5
8
0
0
-1
3
0
-2
0
0
-2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
2
1
0
0
-5
0
-6
-1
0
7
-9
0
2
0
5
0
2
0
0
0
0
1
0
0
-5
0
-1
0
0
1
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
-3
0
2
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
-7
1
0
0
-39
0
6
-5
0
0
23
34
-8
16
0
-4
-5
-1
3
0
3
-8
-9
-3
0
20
-12
9
2
0
4
-13
0
0
0
-9
0
4
3
0
0
0
-16
1
0
-28
0
-1
0
0
6
-12
1
-1
0
-6
17
-6
-3
0
0
-1
2
0
0
8
-1
5
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
2
0
0
-9
16
14
-1
0
4
3
0
-1
0
1
-1
2
0
0
-1
-4
-4
0
0
0
-2
3
0
0
1
0
6
4
0
0
0
0
-1
0
-3
3
0
0
0
-7
40
7
-1
0
-1
0
-5
-1
0
0
1
0
1
0
0
-1
2
-2
0
0
9
2
0
0
0
-1
-3
-1
0
0
0
-7
1
10
-4
-12
-8
-3
0
43
36
-11
4
0
15
10
36
-5
0
36
-29
21
-17
0
9
-7
19
4
0
-5
-3
7
0
0
2
0
13
0
0
0
-1
4
0
0
-8
1
-16
5
0
-1
-27
2
-7
0
-12
4
2
2
0
1
5
-16
-1
0
-8
-24
1
2
0
1
3
-4
-1
0
-3
-3
-8
2
0
0
2
-1
0
0
-7
-13
-1
-7
0
-1
-4
4
4
0
7
-4
16
1
0
-5
-13
10
0
0
-5
-3
-21
4
0
-1
-5
8
5
0
2
0
5
1
0
0
2
0
0
0
-16
1
-16
0
0
0
-2
4
3
0
-8
4
9
-1
0
0
-14
19
-1
0
0
-1
-2
0
0
0
-23
3
-3
0
1
0
-2
-3
0
-3
-4
-8
-1
3
-25
25
-17
0
0
-5
25
-8
1
0
13
-5
4
0
0
9
1
9
-1
0
-17
-10
12
-1
0
-7
-6
2
0
0
3
-1
1
-3
0
0
2
0
0
0
5
5
0
-2
0
-2
10
-1
0
0
3
6
-2
0
0
-1
-14
-6
0
0
-2
-7
12
3
0
-7
12
1
1
0
0
9
-5
1
0
7
5
-6
0
0
-15
15
-5
13
0
45
-39
-16
6
0
4
39
-9
-30
0
9
-22
-46
9
0
-1
10
-14
0
0
-9
-6
-23
24
0
-8
-48
-1
-4
0
8
11
43
-27
0
20
46
8
-4
0
-2
-22
19
-36
0
-17
5
-18
-17
0
-14
-4
-24
-25
0
-8
-24
2
1
0
23
8
-4
41
0
-1
-14
23
23
0
1
-13
23
22
6
26
31
-16
1
0
-5
-8
2
0
0
-19
8
7
0
0
-10
3
0
0
0
-14
-5
-4
4
0
-2
1
-1
-2
0
-7
1
0
0
0
0
2
0
0
0
-20
-8
1
-1
0
18
-1
3
-1
0
27
2
-2
1
0
0
-2
-7
-1
0
0
8
-9
1
0
0
-2
10
-1
0
2
7
-4
0
0
-1
0
17
0
0
1
5
23
9
0
2
-5
-26
-23
0
3
-47
-16
-29
0
-9
33
-41
17
0
-15
14
1
15
0
-7
-29
-25
7
0
-9
6
-4
-6
0
-2
10
33
13
0
12
3
-1
-6
0
-13
17
7
-8
0
-3
-9
12
9
0
-3
1
25
2
0
0
3
9
1
0
0
2
-32
2
0
0
5
26
0
0
8
-10
32
-7
6
7
-7
-19
7
0
5
13
-17
0
0
3
4
9
-3
0
2
7
2
0
0
-12
9
-5
0
0
-10
2
-5
0
0
-4
2
-2
0
0
3
3
0
0
0
5
-2
0
0
0
-1
4
0
0
0
-4
-1
-2
-1
0
2
2
-2
0
0
8
3
10
0
0
3
-2
-8
0
0
0
-1
5
0
0
1
-4
0
0
0
-33
-6
-8
4
0
-27
-12
3
11
0
41
-40
-1
-20
0
44
8
20
15
0
-29
10
9
-3
0
7
-8
-1
-19
0
4
1
-21
-2
0
-12
-10
20
5
0
-8
0
-3
-20
0
2
-4
4
-4
0
-6
13
-13
2
0
0
-3
-24
-2
0
8
0
-5
-4
0
0
8
8
-17
0
0
16
1
4
0
-2
-3
8
25
-40
-4
3
14
5
0
23
-3
0
3
0
-5
-13
-12
1
0
2
2
6
0
0
-16
9
0
-1
0
-1
13
-1
0
0
-3
0
0
0
0
0
-3
0
0
0
15
-10
0
0
0
-4
2
1
1
0
-16
-2
0
-1
0
0
0
-4
0
0
-2
0
3
0
0
0
0
0
0
0
0
-2
-1
0
0
8
4
0
0
0
40
8
5
0
0
-27
-47
16
-8
0
42
-42
-32
9
0
9
8
27
3
0
-7
37
-16
8
0
9
-2
-33
8
0
6
-10
13
4
0
5
-5
-13
-8
0
17
13
-2
-6
0
19
5
-22
-3
0
-22
8
8
-3
0
0
2
9
0
0
5
-8
7
-2
0
-8
-17
-10
13
0
0
-3
17
-1
0
1
13
-39
-20
-23
-8
12
-18
-19
0
0
22
6
6
0
25
-5
1
5
0
-12
-5
-1
-1
0
-9
3
-23
4
0
-3
-2
0
0
0
4
-1
-3
-3
0
0
0
-2
0
0
8
0
-13
0
0
8
-4
4
-1
0
-6
0
-2
2
0
2
8
-1
0
0
8
-14
-6
-6
0
1
1
-1
0
0
0
-1
0
0
0
-4
0
0
0
0
0
-7
-18
-3
0
3
-38
-9
12
0
45
-3
-5
-25
0
26
14
-9
-25
0
-38
-18
-11
30
0
-2
8
-7
-4
0
-23
-7
-1
1
0
1
5
1
0
0
-10
-20
-3
20
0
24
12
12
7
0
6
-9
14
2
0
4
2
-2
0
0
-24
21
9
-10
0
-3
-16
-7
0
0
0
-1
12
2
0
-24
-7
7
5
28
4
-14
13
-6
0
-7
42
-7
4
0
3
2
-6
-7
0
-5
-12
1
2
0
24
16
0
-2
0
-1
0
0
1
0
-8
2
0
0
0
-2
-1
0
0
0
-16
12
0
0
0
1
-1
-4
7
0
-1
1
2
0
0
0
-4
0
0
0
8
0
-7
1
0
1
0
-3
0
0
-1
0
-4
0
0
0
-8
2
0
0
-2
13
-5
-2
0
28
-29
46
13
0
6
21
4
18
0
15
-10
-12
-13
0
2
-49
-16
-25
0
-31
15
-5
-25
0
-12
-13
-3
2
0
9
24
-5
-4
0
2
-18
2
4
0
-27
-4
17
2
0
12
-12
-12
-6
0
3
6
-25
-1
0
19
7
-7
0
0
-3
-10
9
-15
0
-1
10
2
1
0
0
-22
-1
-5
24
11
-34
4
-4
0
9
9
13
-3
0
-5
4
10
3
0
1
-4
0
0
0
-14
-13
-1
0
0
2
-1
0
0
0
2
-2
0
0
0
0
0
0
0
0
8
0
4
-3
0
-1
-5
7
1
0
-2
10
-3
0
0
0
-16
0
0
0
8
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
-1
-8
0
-1
0
-14
82
1
-12
0
0
-2
25
12
0
40
-8
-8
-6
0
-33
43
7
3
0
18
-6
-23
-1
0
10
-12
-1
-17
0
13
-10
-12
2
0
-8
0
2
-1
0
3
10
-8
23
0
10
7
-3
-1
0
-20
-1
10
1
0
14
-6
3
-1
0
0
6
-2
-24
0
0
-5
-5
0
0
-9
5
-16
4
-46
-12
-2
-18
5
0
4
21
15
-8
0
-21
0
1
-5
0
9
-15
-2
-5
0
-30
3
1
-7
0
12
1
0
1
0
-14
-1
9
0
0
1
-2
2
-1
0
-24
-3
-3
-2
0
-18
42
-4
12
0
-27
5
9
6
0
-4
-12
-3
3
0
-7
4
-3
-5
0
3
4
-7
-1
0
8
-8
-2
0
0
0
-1
-3
-1
0
22
16
-13
2
0
39
60
-10
16
0
58
41
24
-2
0
-34
-49
17
-30
0
-65
-40
30
-2
0
14
4
3
6
0
4
1
8
-5
0
-1
-3
-5
-13
0
-19
-4
-42
6
0
31
5
26
-1
0
-1
-22
14
1
0
25
-8
-3
4
0
-24
8
-8
-8
0
3
-28
-40
10
0
-2
-1
5
-6
0
-2
-31
5
7
3
17
-16
-14
-9
0
0
14
8
1
0
-18
13
4
-3
0
12
-40
16
3
0
13
-9
10
10
0
9
7
2
-3
0
3
-6
-3
1
0
12
1
0
1
0
-1
2
-14
4
0
-8
4
-13
-4
0
15
1
4
-1
0
3
8
-4
0
0
-4
-4
9
2
0
1
-14
0
3
0
-4
1
8
0
0
0
0
-1
2
0
6
-8
8
2
0
71
10
-58
-12
0
-13
-2
8
17
0
1
-10
7
-8
0
25
-16
-18
-15
0
23
-4
20
-2
0
12
40
-3
-5
0
-23
0
30
-1
0
-4
1
-1
-7
0
-46
27
24
18
0
9
65
-16
0
0
22
-22
14
-26
0
-41
-1
6
28
0
-17
25
-35
4
0
-17
-10
21
15
0
16
4
50
47
24
26
77
64
-11
0
5
-4
-12
5
0
-11
-3
0
12
0
-4
6
-2
1
0
28
1
0
1
0
4
-8
3
0
0
-20
23
0
0
0
-6
6
0
0
0
52
-6
4
0
0
-7
20
0
-4
0
-12
-14
-2
-4
0
1
-5
3
0
0
6
7
-1
0
0
-4
-10
0
0
0
1
5
-4
0
0
0
-2
-25
0
0
-1
16
7
0
0
22
20
-6
-1
0
-9
-15
17
7
0
56
-17
8
-8
0
-6
-5
-2
1
0
8
8
-2
0
0
17
-8
-24
-2
0
0
-1
-4
0
0
-13
-9
20
0
0
-42
2
14
15
0
38
22
7
-11
0
-13
2
1
-13
0
6
86
-24
-6
0
3
-13
40
9
0
-2
-3
-25
1
0
0
0
-7
-17
-37
0
10
49
-15
0
-7
17
12
-4
0
19
-20
-13
5
0
4
6
9
5
0
-1
7
10
-12
0
5
0
8
0
0
-11
-6
14
0
0
2
0
4
0
0
-44
7
0
0
0
3
-1
13
0
0
22
-22
-1
-1
0
1
3
8
0
0
15
-2
2
1
0
2
1
2
0
0
0
0
-9
1
0
3
0
-1
-1
0
-27
3
-5
-8
0
6
-11
-3
-3
0
0
-23
41
-12
0
-35
-2
7
8
0
67
-22
12
5
0
17
21
-14
6
0
-15
5
-20
7
0
12
-18
7
-16
0
5
5
-6
10
0
-10
71
0
26
0
53
-31
-6
25
0
-20
12
36
-27
0
16
-43
3
-33
0
-9
-6
10
-3
0
-7
1
35
-5
0
33
29
18
-34
-1
-47
-19
14
-12
0
-43
8
15
10
0
33
0
-21
-5
0
-36
5
-7
9
0
17
-2
-8
3
0
14
-10
0
-1
0
8
-8
16
-6
0
33
-1
5
0
0
-51
12
1
2
0
0
-9
-24
2
0
-22
-6
-7
1
0
2
17
-1
5
0
-52
0
3
0
0
1
-3
4
0
0
1
0
-9
0
0
0
-2
-5
-1
0
17
-6
7
0
0
6
-65
-7
-27
0
20
13
21
21
0
-15
-26
2
-4
0
42
-8
4
-10
0
20
-15
-18
-8
0
2
-8
-2
-4
0
0
-1
-17
-3
0
-8
22
14
-5
0
-7
-33
16
39
0
-47
71
-55
11
0
42
10
-42
-24
0
6
-111
43
-5
0
65
41
-17
26
0
6
28
30
-17
0
-30
18
-62
-13
-30
-45
-34
22
9
0
17
40
5
-13
0
25
26
3
12
0
-41
4
8
2
0
6
-9
6
-2
0
3
7
0
1
0
17
0
-23
2
0
-4
-4
10
-1
0
-22
6
-2
-4
0
-14
-17
2
2
0
12
-9
-8
2
0
0
-5
0
3
0
-28
1
0
22
0
0
9
-1
0
0
1
0
4
8
0
1
1
0
-8
0
8
-19
4
-4
0
10
-1
51
-5
0
1
-13
-3
-8
0
-14
19
3
-2
0
21
5
-9
-4
0
-25
3
-18
1
0
0
-27
8
-10
0
0
5
2
-1
0
13
-5
-1
-3
0
27
-1
21
-8
0
-14
-15
-5
-6
0
-3
-48
2
27
0
-7
-17
50
2
0
-13
-10
-5
2
0
0
-9
-22
10
0
0
3
-18
-18
-6
-21
-27
-8
15
0
-22
-9
3
23
0
11
0
7
1
0
-13
0
-6
5
0
-33
27
0
-17
0
-4
12
1
1
0
13
-1
23
-1
0
-8
0
0
0
0
-8
0
10
0
0
-8
29
1
9
0
23
-10
-38
0
0
-3
-27
0
-1
0
-13
8
-1
-5
0
0
4
2
-1
0
2
-2
-1
1
0
0
0
-1
0
0
-8
-1
-2
5
0
-9
50
-10
25
0
-24
-43
34
-6
0
21
-11
13
-4
0
42
-25
-8
6
0
-7
9
7
4
0
-2
-9
-24
0
0
-2
9
-12
3
0
-8
1
-9
0
0
28
2
3
3
0
17
16
47
-12
0
-48
-10
-4
1
0
-5
27
4
-19
0
-2
-17
25
10
0
-1
1
-11
-1
0
8
-24
-8
12
10
-1
-5
-22
-16
0
11
10
20
-2
0
12
-4
7
-7
0
24
15
-1
0
0
38
19
-9
-2
0
24
-1
16
0
0
-17
-22
10
-1
0
-14
0
1
0
0
15
0
-14
-8
0
13
23
-7
-6
0
-5
-5
-5
8
0
2
4
-5
1
0
-5
12
1
7
0
0
6
8
2
0
2
0
-25
-1
0
2
2
-1
0
0
-19
-18
-2
0
0
-1
21
21
-5
0
-44
11
-3
10
0
-19
-8
-9
5
0
-78
-19
-4
24
0
32
-2
9
8
0
4
-1
-17
1
0
4
-30
9
12
0
12
-2
-13
-9
0
78
-48
44
-5
0
10
-16
12
-7
0
-2
40
-33
-10
0
-34
5
-46
17
0
15
12
-15
-28
0
1
1
-44
-2
0
-13
2
-13
-2
43
-21
-39
5
-6
0
-2
43
22
8
0
-25
17
5
47
0
-16
39
0
-12
0
3
11
-28
12
0
23
-27
14
-2
0
-28
-24
8
2
0
-18
-5
-10
-3
0
-13
1
-1
-6
0
-48
6
-6
-5
0
12
19
-13
16
0
5
-14
6
-1
0
-1
-1
-25
-3
0
-4
2
11
-1
0
0
-8
-4
-1
0
0
0
-13
5
0
41
-3
0
-9
0
-6
-27
47
1
0
-29
22
31
24
0
-58
3
-34
-18
0
-21
3
-30
-6
0
-14
7
-3
2
0
10
12
-4
16
0
-15
9
-12
-7
0
-22
-8
-1
4
0
8
41
-27
-27
0
-50
-62
-4
6
0
-47
-37
26
15
0
2
38
28
12
0
4
38
57
-4
0
41
-29
-5
-13
0
67
10
-80
-27
-18
36
-31
-7
22
29
-24
71
25
5
37
-3
41
38
0
-13
-4
6
-4
16
-4
17
-9
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-7
-1
-5
0
3
4
-3
-13
0
-4
8
7
-2
2
-4
-6
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
6
5
8
1
-2
25
33
4
-1
6
-12
22
0
0
4
-7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
12
-4
0
1
5
-2
2
0
-4
-10
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
23
-3
-22
1
44
-15
8
-23
17
-17
16
-40
20
2
-7
25
21
34
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
4
-27
-14
0
3
-14
-6
-6
1
-2
-8
8
5
1
-17
-18
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
25
14
0
20
-22
9
-2
-1
1
4
8
-12
-1
1
-19
-2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-3
3
0
8
-5
13
-5
0
0
0
1
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
48
10
-21
3
-8
5
-2
-10
-4
5
9
41
4
8
35
-33
4
18
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
9
-2
7
0
9
-5
-10
0
-5
-7
-2
0
-1
-5
-3
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-2
16
18
0
-10
-17
0
-3
0
-3
-17
-19
-3
1
1
-5
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-3
0
0
1
3
0
0
2
0
-2
0
0
1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
6
-2
3
-7
-1
43
-10
42
13
-25
14
27
42
-17
59
-30
24
10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
-7
3
0
-4
1
8
5
-7
1
-5
3
24
-1
0
3
12
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-16
3
0
1
-3
2
-1
6
3
22
-19
4
1
-16
-5
8
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
-5
-5
0
3
0
0
1
6
1
0
8
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-3
22
-4
-6
1
0
-1
17
-7
0
11
-21
-3
-5
32
-8
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
0
5
8
4
17
-6
-5
-5
0
0
-8
-3
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
10
-7
0
0
5
-1
-13
0
0
-12
-8
-6
-3
0
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
23
3
0
-16
3
-5
1
0
8
-4
-1
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
30
-5
-9
-2
40
-20
-11
9
31
7
3
8
6
2
0
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-30
-1
-4
14
4
6
-8
1
-1
-24
-5
-1
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-1
-8
-9
-2
8
0
-1
3
2
0
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
7
-1
0
-8
0
5
1
0
-1
-1
-2
0
0
-8
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
26
-7
2
-12
3
4
5
0
-9
-4
-12
24
-29
8
-29
7
1
20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-6
-3
0
0
0
-1
-1
0
-2
0
6
0
5
6
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
3
-9
0
-2
0
3
0
-1
0
0
-2
1
0
0
-1
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
3
0
-1
0
-9
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
9
9
33
5
2
-27
6
-17
-7
9
14
17
4
17
-23
3
1
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-10
6
-13
9
-6
16
14
5
-9
12
9
-10
-9
7
9
6
-22
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-25
6
-1
0
-6
0
-1
0
-3
7
-1
8
0
3
-8
8
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
5
0
0
5
2
-1
1
0
-9
7
3
-4
0
-2
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
30
9
-1
24
5
-10
5
14
3
-5
16
-39
23
0
-24
-4
20
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-13
5
-3
4
46
3
15
-8
6
2
-3
13
33
-3
-13
9
-4
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
14
-12
19
-58
-5
21
1
-4
3
-17
1
8
0
2
-16
-1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
2
2
23
-13
13
-1
-3
5
1
-13
23
-4
2
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-22
18
-13
23
28
8
-21
-6
13
8
0
22
-6
16
16
11
44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
20
22
-1
-14
-24
2
-5
-2
-1
-3
0
-29
-1
-10
-1
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-11
-30
25
-4
32
-12
-5
5
3
-3
-14
-9
-16
0
12
1
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
1
-4
17
-11
-15
-2
2
0
3
-1
-1
4
-1
13
-10
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
18
20
14
-8
-18
-5
7
2
-7
27
-10
-5
-23
1
17
-28
-4
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
9
0
4
21
3
-1
-2
0
5
-12
-8
16
-8
4
5
-18
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
28
26
-12
0
-10
1
-1
-19
3
4
-14
-20
-1
7
-16
-28
-5
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-8
-16
-17
5
-19
-3
27
1
0
19
-5
-4
1
-8
6
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
-13
1
7
7
-24
-25
-17
7
-21
-13
38
-24
6
14
33
-11
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
10
3
1
-17
-5
36
-6
-3
0
7
-20
14
-9
12
-20
17
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
4
-12
0
-6
1
-10
-15
-23
2
47
16
14
2
-17
24
7
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
10
-4
-1
4
-28
2
10
0
-3
12
-18
6
-1
1
4
23
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
13
19
6
-27
-4
-11
16
-6
-3
-18
-16
-8
-7
13
-47
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
-3
7
-3
-15
6
-8
0
14
0
8
30
-32
-5
24
-8
6
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
16
9
0
-22
-2
5
1
-1
3
0
-5
1
-1
-4
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
18
7
20
-8
30
-1
23
19
1
-1
-2
-8
-16
0
0
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
33
-5
12
-1
-24
10
17
-32
-3
-16
-21
-7
-14
-2
12
5
-2
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
10
-10
1
8
14
-7
34
3
4
-24
1
-10
0
2
19
-6
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
0
0
17
-2
-12
-6
0
0
0
3
-1
0
-1
-1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
10
8
13
-17
35
6
-3
-13
-2
2
1
0
-2
-2
-20
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-13
-3
-2
4
30
-12
0
4
2
12
13
2
-16
7
5
-25
27
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
6
0
6
-1
4
0
0
-6
-1
-3
10
2
-24
14
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-13
9
-2
-2
-17
-5
-6
-16
-6
3
-24
-19
3
0
-51
54
1
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
27
1
-5
9
-8
8
24
-7
7
2
-7
-25
-14
1
6
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-4
-51
19
0
13
-42
13
18
-13
-7
-39
24
-6
-9
-60
-15
-11
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
29
13
0
3
-6
13
23
0
-9
-8
-7
8
-3
-7
17
10
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-18
-14
-1
-24
11
14
-2
-20
-1
-22
-7
-6
7
18
20
-18
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
1
-29
10
-14
-8
7
-3
9
-1
19
-3
3
-8
-7
-43
-18
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
5
16
12
5
23
4
-1
2
-5
-9
5
-7
0
1
9
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
1
-2
5
-14
12
8
-5
-4
1
5
5
3
1
7
-1
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
67
9
33
-7
46
-8
22
-23
23
4
-73
7
-46
11
-26
17
10
39
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-31
28
19
4
-7
28
-12
-7
4
0
25
9
-7
0
0
7
16
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
6
-14
8
-5
29
-3
2
0
0
18
-1
4
-3
7
-6
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-10
6
5
-46
26
10
24
-3
2
-1
-4
6
6
-1
-13
-9
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-1
-69
21
5
55
94
45
9
-19
-14
-23
-15
-10
-1
-11
-46
-34
24
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-25
-23
-44
16
-16
11
-6
1
0
5
4
-1
0
0
-12
-2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
4
-18
-3
8
-13
3
-1
-2
-9
-12
2
-24
-3
-1
31
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
7
5
-15
-1
-6
-3
-4
0
0
8
5
-13
0
2
-14
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
20
42
43
9
-34
-3
-18
3
-21
16
-12
32
-44
13
8
0
-50
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
30
-7
-5
3
-8
-43
2
-10
0
14
-5
-7
8
2
-8
-8
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
14
8
0
10
-5
17
8
-1
23
39
6
-1
1
-25
-42
16
-27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
-1
-5
0
4
-6
-14
-4
4
2
13
1
16
3
-11
-3
13
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
28
13
-13
-1
-43
6
-31
5
8
-7
-29
20
34
16
51
43
-32
-22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-12
13
-5
-1
-10
7
9
8
4
-2
-3
0
0
-8
21
3
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
-3
-12
-3
7
-5
0
-6
0
-2
2
-23
6
-8
3
-18
-10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
5
17
0
19
4
-5
0
0
0
1
3
5
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-55
37
-45
6
3
37
4
-6
4
-66
-37
6
-6
3
-50
2
1
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
6
-29
29
25
56
-41
-17
7
-13
17
-14
-31
1
3
-16
19
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
2
-8
6
2
-1
23
16
-6
-9
-5
27
8
1
-1
1
25
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-5
-3
-1
-12
-2
-1
14
2
-7
5
1
0
-1
3
-5
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
14
-17
26
23
-23
40
17
-9
5
14
-70
-1
-6
-7
3
-55
-8
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-6
15
-6
17
-21
28
-10
11
-10
12
-13
27
4
-12
7
-13
-13
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
-9
-2
7
14
-4
-3
-2
-1
0
9
9
-1
0
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
4
7
1
1
-1
0
-2
1
-1
0
-2
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-2
27
-1
1
9
-40
-46
11
-3
39
22
-22
1
-24
-3
30
23
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-27
-40
17
10
-38
-7
-1
5
4
-16
-11
-12
7
-5
5
-2
-5
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
-1
3
0
7
7
-3
-1
1
-3
15
-2
8
9
-1
-15
9
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
4
0
-1
1
-10
-2
-1
1
-10
-9
1
0
-8
5
10
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
14
-18
-27
21
-30
14
-12
18
-21
-22
5
8
-1
-14
30
-45
-20
-31
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-21
-7
19
-8
-53
7
10
-2
-14
-40
-33
-10
19
34
-6
1
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
2
7
-5
13
12
8
19
4
-8
-5
-3
-16
-1
-5
8
1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
15
28
15
16
13
0
3
5
17
2
-7
-5
-2
-24
7
-25
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-47
45
24
-41
-33
27
5
13
2
33
-2
-13
-5
9
5
-24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
5
-27
-3
-17
70
-28
21
76
5
8
53
28
10
12
-48
21
1
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
8
14
4
9
32
-16
-27
-5
9
-3
6
-10
-3
0
25
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
32
-5
-23
-19
-11
-6
-34
-10
0
-4
-1
10
4
-5
5
5
-13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
16
-4
0
-6
-57
34
28
2
31
42
-12
-13
8
-45
-2
2
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
27
-22
-20
73
3
-11
3
-15
47
-40
33
-17
23
20
10
39
-17
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
6
3
0
16
1
6
7
4
9
-23
-34
2
0
12
-1
5
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-45
-11
12
0
-1
5
19
9
-14
-1
-3
19
-19
13
7
3
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
21
13
4
24
14
-16
1
1
6
7
28
-12
-3
-31
-43
40
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
9
30
-31
-12
36
2
-26
16
31
43
-18
-24
-2
-28
28
-14
-11
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-4
-7
6
-6
13
6
-2
3
8
8
-15
-3
0
23
-24
8
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
-4
-20
5
-9
-23
-22
-8
-9
0
-1
-23
-14
0
-7
-7
-5
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
4
-13
0
-35
1
18
-1
-13
17
-53
-18
20
6
33
-22
6
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
41
19
-47
65
3
21
27
-30
-19
-50
-32
-15
55
9
-35
-11
-18
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
11
-3
30
14
-13
-2
-3
14
6
8
-4
6
-41
-9
0
-40
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
8
-36
21
21
-4
4
-9
10
-6
-1
-38
7
4
-5
1
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
-37
17
-33
49
-7
10
-30
-8
-76
65
-1
-11
1
-8
-3
-9
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
-9
78
-25
-27
12
1
-4
7
13
15
47
-49
-5
0
-39
-8
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
3
18
0
5
4
27
-1
3
-13
-41
1
4
-5
-30
-9
-17
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
-7
-2
-13
-9
-48
23
13
-5
-1
-21
5
-1
0
-21
1
6
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-39
-4
9
6
36
29
3
-25
1
-7
4
21
-2
-28
-4
-3
-8
-22
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
24
19
5
7
8
4
-18
-2
8
-10
12
-8
12
15
7
23
-8
-27
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
17
10
-3
-15
12
-32
-8
5
-11
-60
31
-33
2
-45
3
-12
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
11
-3
-6
1
8
-7
-1
-6
-8
21
1
3
-5
0
-17
9
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-18
20
7
-56
5
3
0
33
-44
23
-5
42
-20
-27
15
13
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-15
-43
47
-23
-4
-30
-4
11
-42
-56
-50
32
-17
-31
-47
-68
42
1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-41
26
-5
1
-87
-4
-39
24
1
-31
-5
-14
21
-4
-15
5
-12
40
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-3
-36
18
5
-24
6
-11
-8
10
8
6
0
-31
0
-9
-46
-2
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
-30
-57
1
61
5
28
-15
-22
-43
10
-22
17
-9
7
-15
-14
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-7
65
-33
31
-39
14
-61
6
-25
-18
-18
-8
-8
18
-4
2
-34
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
47
37
-8
12
-5
5
5
6
-15
21
-31
-3
17
-15
40
-19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
1
-13
-5
20
5
8
-5
0
0
3
18
-4
-1
2
16
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-4
-1
24
0
-2
25
9
9
0
2
-13
-10
-2
0
0
-8
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
9
1
-1
19
-12
1
-3
0
-8
2
-8
2
0
-7
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
9
-21
4
21
45
22
2
24
-24
32
-13
30
-10
6
-24
22
31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-1
3
4
1
16
4
-17
-7
0
1
2
3
6
0
-8
-5
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
5
-3
22
-2
-7
-3
5
0
3
-5
-8
0
1
-25
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
4
0
0
0
3
3
1
0
0
1
1
2
0
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
-5
5
-2
-29
21
13
-3
6
5
10
-14
-2
3
41
-7
4
12
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-13
-13
-8
-2
-4
5
-16
0
0
-3
4
-27
5
1
6
-13
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
-18
-14
0
5
-4
-6
3
0
8
-16
5
-4
0
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
30
-2
7
0
1
5
-7
3
0
-8
-20
15
4
0
-8
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-24
31
-13
-12
26
14
-8
2
19
-7
-27
31
23
2
-3
29
-8
63
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
6
10
-14
-2
1
-29
1
-3
3
-1
5
-17
9
1
-3
7
4
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-8
-2
-3
2
-8
-18
0
-4
0
8
-2
6
0
5
-18
-31
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-6
-1
0
8
-6
-7
-2
0
-1
-5
-2
0
1
7
-6
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-27
15
-12
4
-14
17
25
-4
-2
3
24
27
6
-20
27
12
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-10
-13
4
-1
2
-4
8
0
0
3
0
12
0
0
-6
1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-13
-8
-5
13
-19
-4
-8
3
0
5
1
1
0
-1
-5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-5
-2
0
-2
24
4
2
0
-1
-1
8
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
7
-8
-12
1
21
-3
-29
6
-5
-39
3
12
3
-11
-16
31
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
5
3
0
6
31
-12
-5
-4
0
2
-12
6
0
-1
2
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
3
-4
2
25
-15
-6
3
-6
0
1
-3
1
0
-3
1
-15
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
-2
0
-1
1
5
2
0
-2
3
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
5
5
-2
-3
-1
-25
10
0
1
-3
9
-5
-2
14
-16
17
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
1
0
0
4
0
1
0
2
-2
-2
1
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
2
12
-1
-4
0
-2
4
1
-3
5
4
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
-1
0
-3
0
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
32
0
-6
4
21
-19
-7
1
-12
-3
37
4
4
-2
33
-57
13
-26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-7
8
-2
-15
-12
0
2
0
0
-20
12
5
-1
9
-19
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
22
1
-1
-12
-1
3
6
-7
-2
10
-15
23
0
-10
-1
8
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
-11
-2
0
-4
2
3
-1
0
0
-2
-5
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
44
18
-5
20
22
-5
5
-8
-6
-5
6
-8
1
-1
10
-40
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
22
32
-5
15
7
4
29
-19
3
0
5
-14
3
2
-2
-5
2
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-9
-2
4
-2
1
5
0
0
0
1
-3
0
-1
0
-7
-1
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-5
0
0
-2
-3
29
0
0
2
4
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
19
-5
13
1
-1
-45
-7
-22
0
13
14
-8
6
0
6
53
-5
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-55
-7
32
3
20
-3
5
-18
-7
7
-7
-10
-10
-1
0
-15
13
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-4
2
-1
-7
4
20
-12
0
0
-2
0
2
0
1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
0
0
7
16
-1
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
4
15
14
-6
41
9
4
-8
13
-10
10
-61
-3
14
-18
-3
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-21
32
4
-9
18
-1
16
6
-2
-1
-9
5
0
10
-6
-1
-3
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-34
12
6
1
-1
20
-15
5
3
-1
3
-14
4
0
2
13
5
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
13
8
-3
-3
1
-17
-20
3
0
6
10
7
0
0
3
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-9
-7
-9
3
-23
-11
-6
0
-2
4
18
-4
-14
-7
-17
35
-14
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-22
16
-9
0
-12
0
15
0
-6
-1
-15
-2
18
-14
-8
1
12
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
6
0
9
-11
4
-2
-9
0
-5
0
-3
0
1
41
8
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
12
-1
0
0
-20
0
15
-3
1
0
-6
4
1
0
39
-6
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-33
4
7
-3
-7
8
-12
5
-18
7
20
-9
-3
2
-33
1
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
5
-4
5
25
3
6
-8
-8
0
-2
-1
-1
-4
-1
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
27
-1
-7
1
-22
-7
-7
5
1
0
0
-1
-1
0
0
-2
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
6
2
0
-1
6
0
0
0
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
2
7
-4
4
5
4
-6
0
-8
9
8
-8
-1
-12
4
18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-8
17
-5
-7
6
13
7
46
8
0
16
-7
-5
0
0
-5
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-4
-1
-8
5
3
-7
0
-1
-4
2
0
0
1
-3
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
1
0
-2
6
-6
0
1
0
0
-1
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-1
16
2
8
13
-20
2
-11
-12
-10
18
1
-5
8
-8
-10
3
20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-24
10
15
7
-30
0
5
-6
0
8
12
14
-1
-4
-17
1
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-17
12
20
-13
-18
-14
9
-4
1
1
0
0
0
-2
2
-2
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-10
-22
-5
0
0
2
1
1
-2
-8
13
-6
-1
0
3
-10
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
62
-2
-27
-6
-1
13
-1
12
6
39
-49
-25
17
10
-8
0
-10
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
0
-4
-6
8
-13
-20
-5
-6
-10
4
8
25
2
5
20
-45
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
14
3
-6
-1
18
-5
5
-1
-6
-28
9
-1
5
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
42
13
-3
1
-9
-3
-5
-1
1
-9
6
9
-4
1
17
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
24
-13
0
8
11
-14
-2
-1
0
7
25
-5
-3
-2
-14
-14
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-1
-13
2
4
2
-5
-5
0
2
5
-1
-1
0
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
47
-12
6
0
-29
11
-28
-45
16
5
26
70
-32
6
7
-38
5
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-10
14
12
3
40
-2
8
-2
3
22
-12
-21
1
0
-8
18
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
4
4
-3
38
-6
5
5
-1
-3
-17
8
5
-2
19
2
-5
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
-1
-6
-5
6
-18
4
2
0
0
1
-3
0
-2
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-17
-9
50
16
-16
31
-8
-1
-22
-8
44
-13
-46
-5
-7
-82
0
48
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
26
3
-8
1
-19
15
-1
-2
0
15
14
-18
0
-2
8
-24
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
15
-1
-2
-16
32
-2
5
-1
-18
-28
1
-13
3
7
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-5
-8
1
6
0
-2
-4
-3
0
5
2
-9
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
61
42
-46
-2
9
-31
7
-8
20
-6
-56
6
15
-11
-26
21
43
20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
-40
6
13
0
5
-3
1
-10
-16
-13
6
-4
12
1
-7
-14
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-12
-6
3
-14
25
-1
4
0
0
21
2
-1
0
-3
-2
-12
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
8
-5
-2
7
-12
-3
-3
-1
0
4
0
8
0
-2
-9
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
1
2
-19
-5
-16
19
3
-27
-8
-2
11
16
-15
-6
29
7
-39
-23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
-9
2
8
-6
-3
-11
2
-13
5
23
-4
-5
0
4
16
33
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
8
0
2
8
-9
-22
13
10
9
41
-5
-30
-10
-8
10
-20
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
1
-23
5
9
2
-9
-2
3
-1
5
1
0
0
-1
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-43
8
-12
20
12
17
18
38
-40
-19
30
-54
-21
20
-29
18
-1
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-15
-7
-11
-2
0
-9
-12
5
5
0
3
3
-16
1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-14
-4
17
0
10
4
-3
-9
8
-1
1
-21
3
10
-16
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-13
16
3
-22
7
-13
5
2
-2
1
0
-1
0
3
4
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
-14
-19
5
5
24
15
-4
-2
-44
52
8
10
-8
-14
-9
-31
-22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
8
-8
-4
3
-25
-13
34
-8
0
-9
3
-12
-2
6
5
8
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
6
13
-1
-4
2
8
-1
0
21
-19
3
-5
-5
-14
7
-16
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-2
34
-6
-12
-7
7
2
-3
-1
-1
1
-5
1
0
2
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-36
47
23
-1
-17
-44
0
16
-15
-24
18
-73
-38
8
41
66
36
-43
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
50
0
7
1
-14
-6
-1
-8
4
18
15
-12
-8
9
-8
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-21
8
41
-7
11
-26
2
23
2
-24
-44
-22
24
3
30
8
20
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
35
-22
3
9
-16
-25
-9
-6
1
2
-1
-14
-10
-16
6
-11
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
16
-29
8
9
5
17
-44
5
-62
-1
-1
40
-16
-6
17
-26
-45
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
-32
39
-10
10
6
-3
-31
-10
13
7
0
-17
14
-5
-43
22
21
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
13
5
-1
19
-3
15
-14
4
-17
25
-17
29
2
-18
8
-8
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
50
0
5
0
5
13
-5
-2
-1
-10
-9
-2
7
-1
15
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
35
34
15
0
7
4
11
4
33
-4
10
-13
14
-3
19
-25
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
14
-51
12
32
33
3
7
16
-22
-36
33
6
27
-22
3
8
44
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
13
-10
-7
-30
6
27
-16
13
5
-4
-9
-23
1
-31
-2
1
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-4
-4
-2
45
3
-6
5
-3
0
0
0
-1
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
18
-17
10
-20
-13
-5
40
2
-17
5
-8
22
-9
-28
-1
17
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
40
-1
14
5
-4
-57
49
71
3
18
4
-4
-29
-4
14
0
13
-50
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-5
8
12
13
10
1
-9
-6
7
-12
-19
22
14
-7
30
-2
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-16
-5
3
-3
-1
10
-7
-2
-1
7
-5
0
-2
-7
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
42
-84
76
3
30
-38
-2
-43
-15
-63
-26
63
4
-12
-5
28
-42
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
28
-11
-15
3
74
16
-39
-30
-51
26
-9
10
-33
-24
-73
15
46
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
7
-27
-9
12
-17
-27
14
-32
-14
-3
-14
5
7
3
-70
10
-12
9
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
12
12
1
-19
-9
2
-5
4
-13
-5
-8
2
0
1
3
8
15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
33
-61
-38
3
-50
79
27
-7
-3
15
-72
-11
8
-6
23
-4
-10
-21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
52
-26
-8
17
18
-35
-19
1
26
-43
-35
-5
-9
26
-7
-19
2
-18
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
8
12
29
13
37
29
2
-24
-1
-9
-29
1
-7
-7
-20
-17
8
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-18
32
30
7
34
-13
4
3
0
-29
-8
-25
10
9
-30
4
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
30
6
25
11
15
5
-36
-1
-21
-7
-18
-7
-18
-5
-30
-4
15
-11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-51
-19
4
-15
-1
17
-41
9
6
-23
18
38
8
-4
-21
38
-19
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
18
21
3
1
39
-14
-24
13
-9
5
-17
45
-5
2
17
-21
-21
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
25
13
-8
-9
-2
30
30
-5
3
-5
1
-7
-3
7
5
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
51
23
-9
27
-54
-11
7
-4
-3
0
-8
-12
9
-9
-31
-81
7
-22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
34
5
25
8
63
-44
-7
18
-1
0
16
-37
-1
4
-12
-25
7
9
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
20
6
-9
15
16
9
21
-7
-16
-17
24
0
-12
0
-33
-49
8
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-27
-31
10
4
-10
-8
23
7
12
-9
-14
2
-6
-5
4
-6
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
-14
26
8
-19
33
23
-14
2
29
-36
-12
-11
-8
16
-48
19
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-39
18
38
-8
34
8
42
-40
28
-13
-4
-58
9
4
-17
1
-69
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
7
19
9
13
5
33
15
13
-16
4
10
-13
5
22
17
-1
-60
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
11
-21
-16
0
-45
-24
14
-21
25
-12
-30
9
10
-1
29
-4
-6
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-52
27
61
5
29
32
7
-2
-9
7
-13
6
42
21
-26
-62
-24
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
1
19
-2
-49
-29
-26
-39
2
14
-24
-13
15
11
2
-86
-12
20
-24
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-3
5
4
0
0
0
0
1
13
-4
-14
-1
0
0
0
0
0
-13
-8
12
3
0
0
0
0
0
5
46
-21
-1
0
0
0
0
-8
12
30
15
-30
0
0
0
0
0
-8
26
-4
-34
0
0
0
0
0
-8
-8
29
11
0
0
0
0
-5
3
7
3
12
0
0
0
0
8
13
-12
48
-15
0
0
0
0
0
5
-2
-20
-14
0
0
0
0
3
-2
-25
-26
33
0
0
0
0
1
0
-17
-41
19
0
0
0
0
-3
10
14
-44
-7
0
0
0
0
0
0
7
0
50
0
0
0
0
-9
-1
-12
42
5
0
0
0
0
0
12
-1
32
-21
0
0
0
0
-15
3
-21
23
49
0
0
0
0
0
-2
1
-24
21
0
0
0
0
-4
0
-9
40
4
0
0
0
0
0
1
15
-5
31
0
0
0
0
9
-13
19
40
11
0
0
0
0
0
-1
6
-5
46
0
0
0
0
2
3
8
-16
17
0
0
0
0
0
-8
3
1
51
0
0
0
0
-1
-62
2
-14
46
0
0
0
0
0
-4
8
-1
7
0
0
0
0
6
-3
5
-8
6
0
0
0
0
1
0
-6
-23
47
0
0
0
0
1
9
-2
-38
4
0
0
0
0
-2
-1
2
31
13
0
0
0
0
1
8
25
-7
-34
0
0
0
0
8
31
-12
4
-12
0
0
0
0
0
1
0
-22
-5
0
0
0
3
4
0
8
-5
5
0
0
0
0
0
0
7
-20
2
0
0
0
6
0
1
-7
15
-6
0
0
0
0
0
1
0
-46
22
0
0
0
1
-3
0
-15
4
3
0
0
0
0
0
0
0
-16
2
0
0
0
1
0
0
13
-28
43
0
0
0
0
0
0
-2
8
30
0
0
0
-4
-4
0
-2
-23
53
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-1
10
3
0
0
0
0
0
0
0
0
-11
0
0
0
-1
0
0
14
23
-31
0
0
0
0
0
0
0
7
-16
0
0
0
2
0
-6
-2
7
18
0
0
0
0
0
0
6
-1
9
0
0
0
41
0
0
12
-49
-8
0
0
0
0
0
0
0
18
-8
0
0
0
-2
0
0
-6
-16
0
0
0
0
0
0
0
0
14
-38
0
0
0
6
0
0
0
-9
-6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-3
3
12
0
0
0
0
0
0
0
16
-26
0
0
0
16
0
0
-2
-13
18
0
0
0
0
0
0
0
-3
5
0
0
0
2
0
0
-2
-12
6
0
0
0
0
0
0
1
-13
-16
0
0
0
-5
1
1
0
4
21
0
0
0
0
0
0
0
-13
-37
0
0
0
-15
0
9
-1
5
-17
0
0
0
0
0
0
-16
-16
-23
0
0
0
0
0
0
1
-4
6
0
0
0
0
-2
-2
1
-22
13
0
0
0
0
0
0
1
29
-57
0
0
0
0
0
0
0
-29
26
0
0
0
0
0
0
-1
18
24
0
0
0
0
0
0
0
-5
-27
0
0
0
0
0
0
8
-8
-10
0
0
0
0
0
1
-6
-3
59
0
0
0
0
0
-3
0
5
20
0
0
0
0
0
0
-3
17
61
0
0
0
0
0
0
0
-24
14
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-17
38
0
0
0
0
0
0
0
-9
17
0
0
0
0
0
0
-3
-4
-12
0
0
0
0
0
0
2
-5
-33
0
0
0
0
0
0
0
15
65
0
0
0
0
0
0
0
-7
40
0
0
0
0
0
0
-1
1
-19
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
19
-15
0
0
0
0
0
0
1
-8
1
0
0
0
0
0
0
0
16
9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-4
2
0
0
0
0
0
1
1
5
-19
0
0
0
0
0
0
0
-23
-4
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
-3
-4
3
33
0
0
0
0
0
0
-4
-44
-11
0
0
0
0
0
0
-2
-15
11
0
0
0
0
0
0
-1
12
5
0
0
-11
-4
0
0
-4
-21
-18
0
0
0
0
0
0
-1
3
-12
0
0
0
0
0
0
-7
-21
51
0
0
0
0
0
0
0
-14
24
0
0
-21
0
0
0
-9
-60
19
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
-2
5
9
0
0
0
0
0
0
0
12
-24
0
0
-15
0
0
0
0
-16
5
0
0
0
0
0
0
0
1
48
0
0
0
1
0
0
0
-2
-48
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
4
-7
28
0
0
0
0
0
0
-1
0
50
0
0
0
0
0
0
-1
-10
9
0
0
0
0
0
0
0
-8
13
0
0
-19
0
0
0
0
-5
28
0
0
0
0
0
0
-1
-2
-18
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
8
-5
-6
0
0
0
0
0
0
0
8
-29
0
0
0
0
0
0
0
25
-16
0
0
0
0
0
0
0
9
8
0
0
8
1
0
0
1
-19
10
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
24
0
0
8
3
0
0
-8
12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
3
64
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
13
3
0
0
0
0
0
1
2
-7
21
0
0
0
0
0
0
1
0
31
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
8
-2
0
0
0
0
8
-2
-2
6
-9
0
0
0
0
0
0
0
-29
-41
0
0
0
0
0
2
0
-19
25
0
0
0
0
0
2
-1
26
-21
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-10
0
0
33
0
0
0
0
0
1
-1
3
12
0
0
0
0
-10
4
-13
-1
-20
0
0
0
0
0
0
-1
4
17
0
0
0
0
0
0
2
-15
1
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
1
1
0
-16
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-4
0
0
0
0
2
-3
0
5
-22
0
0
0
0
0
0
0
2
-3
0
0
0
0
1
0
0
-2
-23
0
0
0
0
0
0
0
-2
-19
0
0
0
0
1
1
0
-1
23
0
0
0
0
0
0
-1
1
-21
0
0
0
0
1
0
0
2
-17
0
0
0
0
-2
-2
-8
-9
12
0
0
0
0
0
0
0
-5
-17
0
0
0
-18
0
0
0
-7
17
0
0
0
0
0
0
0
-14
50
0
0
0
0
0
0
1
15
-22
0
0
0
0
0
0
0
2
-12
0
0
0
2
0
0
0
-4
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
8
8
0
0
0
0
0
0
0
-1
-2
0
0
0
-8
0
0
0
-44
59
0
0
0
0
0
0
0
-14
24
0
0
0
0
0
0
-1
13
2
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
-2
16
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
17
-9
0
0
0
0
0
0
0
-4
31
0
0
0
3
0
0
0
0
15
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
5
-6
0
0
0
0
0
0
-1
-2
25
0
0
0
1
0
0
0
-8
-16
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
-1
-5
0
0
0
8
0
0
0
2
30
0
0
0
0
0
0
0
-1
25
0
0
0
-6
0
0
0
16
-1
0
0
0
0
0
0
0
-15
22
0
0
0
0
0
0
0
-17
-14
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-8
40
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-12
-37
0
0
0
0
0
0
0
6
9
0
0
-8
0
0
0
0
7
30
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
4
8
0
0
5
0
0
0
0
4
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
12
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
5
-3
10
0
0
0
0
0
0
9
-9
-2
0
0
0
0
0
0
2
-47
12
0
0
0
0
0
0
6
-5
25
0
0
0
0
2
2
3
-8
14
0
0
0
0
0
-2
-2
2
51
0
0
0
0
0
1
-2
1
-3
0
0
0
0
0
0
-10
-4
9
0
0
0
0
-8
7
-3
6
-44
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
8
2
24
0
0
0
0
0
0
0
-16
19
0
0
0
0
0
-5
0
-4
-6
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
-9
24
0
0
0
0
0
1
0
-8
26
0
0
0
0
-9
-18
1
-29
36
-1
0
0
0
-1
0
-5
4
66
-3
0
0
0
-3
0
1
9
-28
1
0
0
0
0
1
-5
9
33
-3
0
0
0
-1
-4
7
-4
-21
8
0
0
0
0
0
4
9
-9
-3
0
0
0
3
0
-8
-1
-18
0
0
0
0
4
0
2
-8
5
-4
0
0
0
15
24
10
13
9
-5
0
0
0
0
0
0
-8
-6
16
0
0
0
0
2
-2
8
-31
4
0
0
0
0
0
1
3
9
-35
0
0
0
0
3
0
16
-22
15
0
0
0
0
0
0
1
-24
-33
0
0
0
0
1
0
-15
32
8
0
0
0
18
-12
-12
8
57
0
0
0
0
0
0
0
-38
45
0
0
0
43
-1
0
-3
-25
22
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
4
-31
0
0
0
0
0
0
0
0
4
71
0
0
0
1
0
-4
0
27
-36
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
7
12
-29
0
0
0
0
0
0
0
-5
33
0
0
0
-1
0
0
0
-22
20
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
8
-6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-7
-34
2
0
0
-18
0
0
-1
6
-26
-2
0
0
0
0
0
2
5
7
-1
0
0
0
0
0
-6
2
9
-12
0
0
0
0
0
0
-9
-12
-2
0
0
-5
0
0
2
-8
0
16
0
0
0
0
0
0
-14
12
-23
0
0
0
0
0
4
5
30
20
0
0
0
0
0
0
-2
24
-11
0
0
-15
0
0
1
-10
40
-17
0
0
0
0
0
0
6
16
-15
0
0
0
0
0
0
-1
-4
-20
0
0
0
0
0
0
-1
5
-5
0
0
-4
0
0
0
1
0
-10
0
0
0
0
0
0
12
4
-8
0
0
-15
0
-3
5
-5
-23
11
0
0
0
0
0
0
12
8
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
4
29
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-8
6
-1
0
0
0
0
0
0
4
-14
-23
0
0
0
0
0
-2
5
34
17
0
0
0
0
0
0
5
23
-14
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-2
1
-6
0
0
0
0
0
0
0
-5
-62
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
-1
-2
-1
-73
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
0
0
-8
-31
0
0
0
0
0
2
-7
6
37
0
0
0
0
0
0
25
5
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
-1
-14
-8
0
0
-1
0
0
0
2
-15
10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
-10
-13
-6
0
0
0
0
0
0
-17
-8
-11
0
0
0
0
0
0
0
-12
4
0
27
0
0
0
-3
-23
17
-1
0
0
0
0
0
0
4
-2
-3
0
0
0
0
0
1
0
5
-1
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
30
0
0
0
0
0
0
1
-29
-23
0
0
0
0
0
0
-1
4
-49
0
0
0
0
0
0
0
1
40
0
-10
0
0
0
0
-2
3
-48
0
0
0
0
0
0
-1
0
35
0
0
0
0
0
0
0
6
-27
0
0
0
0
0
0
-1
3
-12
0
8
0
0
0
-3
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-25
8
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
-8
-8
-23
0
0
0
0
0
0
8
-29
-4
0
0
0
0
1
-2
0
3
0
0
0
0
0
0
0
1
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
0
0
0
0
5
-17
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
1
7
-3
6
-40
-9
0
0
0
0
0
0
-12
-25
14
0
0
0
0
0
2
0
6
-15
0
0
0
0
0
0
10
-23
-5
0
0
0
-1
0
0
-4
24
16
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
-3
-55
0
0
0
0
0
0
5
-3
-44
0
0
0
-2
-10
-8
-16
45
-1
-3
0
0
0
0
0
6
-1
-38
3
0
0
0
0
-7
-23
27
23
14
0
0
0
1
2
-8
17
75
2
0
0
-1
0
0
6
-22
-23
-8
0
0
0
0
-1
0
-9
-4
-1
0
0
-1
0
0
1
14
-6
0
0
0
1
1
14
-52
39
20
6
0
0
0
0
0
-2
-13
0
0
0
19
0
0
0
-5
-10
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
4
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-3
8
-15
0
0
3
0
0
0
8
-25
-16
0
0
0
0
0
0
6
-14
34
0
0
0
0
0
0
-25
2
-21
0
0
0
0
0
0
1
4
5
0
0
1
0
0
0
-2
3
13
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
1
-1
-4
-99
0
0
0
0
0
0
0
23
52
-2
0
25
0
0
0
-3
-25
36
2
0
0
0
0
0
-5
-18
-30
17
0
0
0
0
0
-9
25
-24
13
0
0
0
0
0
0
27
-8
-13
0
0
0
0
0
7
13
-78
5
0
0
0
0
0
-4
10
-5
9
0
3
0
0
-2
5
1
-47
-12
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-49
0
0
0
0
0
0
0
-12
-12
0
0
0
0
0
0
1
6
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-27
-12
3
0
0
0
0
0
0
8
-13
36
0
0
0
0
0
-10
24
-9
-30
0
0
0
0
0
-10
-5
5
45
0
0
0
0
0
0
0
30
-7
0
0
0
0
0
-1
0
-7
-20
0
0
0
0
0
0
0
-30
12
0
0
0
0
0
0
-9
59
-28
0
0
0
0
0
4
23
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
1
8
0
0
5
0
0
0
0
-16
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-25
0
0
0
0
0
0
-1
16
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
55
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
-2
-2
28
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
0
0
8
-60
41
-4
0
0
0
1
2
-10
22
-15
0
0
0
0
0
-1
0
-23
38
0
0
0
0
0
0
2
-9
64
0
0
0
0
0
0
-2
18
34
0
0
0
0
0
-12
25
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
1
9
-30
21
0
0
0
0
0
1
29
8
14
0
0
0
0
0
1
-5
-53
20
0
0
0
0
0
0
45
-41
-2
0
0
0
0
2
8
13
-18
-46
0
0
0
0
-1
0
8
51
-30
0
0
0
0
1
0
-8
-21
8
0
0
0
0
0
-1
0
-41
7
0
0
0
0
-8
22
-9
20
19
0
0
0
0
0
-2
-7
2
28
0
0
0
0
2
-4
-18
-3
21
0
0
0
0
0
0
-9
61
-34
0
0
0
0
0
4
0
1
34
0
0
0
0
0
-1
6
19
-60
0
0
0
0
-3
1
1
-5
22
0
0
0
0
0
-3
5
3
13
0
0
0
0
-7
-37
2
-4
-14
0
0
0
0
0
0
-1
-22
59
0
0
0
0
-1
0
-17
-3
21
0
0
0
0
0
0
-3
-4
10
0
0
0
0
1
-13
3
-7
-12
0
0
0
0
0
0
5
-4
17
0
0
0
0
-1
0
-3
-12
-1
0
0
0
0
0
0
14
-6
28
0
0
0
0
26
-20
5
16
-33
0
0
0
0
0
1
3
5
20
0
0
0
0
0
3
13
-9
-29
0
0
0
0
0
0
-7
-12
-18
0
0
0
0
-8
-1
0
8
-39
0
0
0
0
0
1
2
7
-14
0
0
0
0
-8
-4
13
-6
-4
0
0
0
0
21
-4
-9
-7
-11
0
0
0
0
0
0
-1
-18
6
0
0
0
21
0
0
-2
-31
6
0
0
0
0
0
0
-1
36
-5
0
0
0
1
0
0
-2
21
-6
0
0
0
0
0
0
0
-13
5
0
0
0
-7
0
0
0
-36
32
0
0
0
0
0
0
1
3
-23
0
0
0
0
0
0
0
21
-29
0
0
0
0
0
0
0
-14
15
0
0
0
9
0
0
-2
-16
47
0
0
0
0
0
0
0
4
43
0
0
0
0
0
0
0
-14
-23
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
16
28
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
7
-61
0
0
0
0
0
0
0
8
32
0
0
0
8
0
0
0
-54
16
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
1
-10
20
0
0
0
0
0
0
0
9
-22
0
0
0
0
0
0
-2
0
16
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
10
-23
0
0
0
0
0
0
0
22
-5
0
0
0
14
0
0
0
4
2
0
0
0
0
0
0
0
-9
-13
0
0
0
1
0
0
2
-18
16
0
0
0
0
0
0
0
-8
17
0
0
0
8
0
0
0
7
-77
0
0
0
0
0
0
0
0
31
0
0
0
-58
-5
6
-23
25
-8
0
0
0
0
0
0
0
-17
56
0
0
0
0
0
0
0
-59
-4
0
0
0
0
0
0
0
32
38
0
0
0
0
0
0
-2
51
-30
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
-24
44
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-2
-40
12
0
0
0
0
0
0
0
-36
27
0
0
0
0
0
0
-2
-23
40
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-6
38
0
0
0
0
0
0
2
-17
48
0
0
0
0
0
0
-2
-17
-8
0
0
0
0
0
0
0
-24
33
0
0
0
0
0
0
0
14
15
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
13
43
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
8
-14
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
44
0
0
0
0
0
0
0
-17
-43
0
0
0
0
0
2
-20
23
-14
0
0
0
0
0
0
3
-4
-15
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-2
-17
17
0
0
1
0
0
0
-10
26
-14
0
0
0
0
0
0
0
-5
68
0
0
0
0
0
0
1
-44
-46
0
0
0
0
0
0
0
14
22
0
0
0
0
0
0
1
-53
26
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-25
-9
0
0
1
0
0
0
-1
15
8
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
1
-18
28
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
1
-13
31
0
0
0
0
0
0
4
-25
5
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
7
31
0
0
-9
0
0
0
-1
-1
7
0
0
0
0
0
0
0
16
-40
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
2
5
-2
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
4
74
0
0
0
0
0
0
-1
-8
-2
0
0
20
0
0
0
0
-18
0
0
0
0
0
0
0
0
-30
24
0
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-1
-9
6
0
0
0
0
1
1
4
-32
15
0
0
0
0
0
0
1
6
-30
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
-4
32
-5
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
3
49
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
7
-4
0
0
0
0
0
-5
0
-1
-3
0
0
0
0
0
0
0
2
5
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
-2
-10
-8
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-2
2
-9
0
0
0
0
-1
0
0
-1
-7
0
0
0
0
0
0
1
-1
29
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
13
-7
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
-1
2
20
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
-2
9
-49
37
0
0
0
0
0
0
0
-4
15
0
0
0
1
0
0
-1
-19
-3
0
0
0
0
0
0
0
-10
22
0
0
0
0
0
0
-2
-15
20
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
2
3
7
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-1
-8
21
0
0
0
0
0
0
0
-7
19
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
0
0
1
0
0
0
2
-21
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
-2
2
0
0
0
-2
0
0
-4
16
18
0
0
0
0
0
0
0
-24
34
0
0
0
0
0
0
0
-3
-28
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
1
20
-23
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-25
10
0
0
0
0
0
0
1
22
-10
0
0
0
0
0
0
1
-28
-12
0
0
0
0
0
0
-2
10
-26
0
0
0
0
0
0
22
-55
43
0
0
0
0
0
0
-1
8
20
0
0
0
0
0
0
0
-8
43
0
0
0
0
0
0
4
-8
-7
0
0
0
0
0
0
2
-12
18
0
0
0
0
0
0
-6
-8
8
0
0
0
0
0
0
-1
12
3
0
0
0
0
0
0
-3
-2
42
0
0
0
0
0
0
2
-5
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
-5
1
18
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
-2
-22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
-15
15
-11
0
0
0
0
-4
-2
1
19
-33
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
-2
0
-17
9
0
0
0
0
0
0
-5
-2
50
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
2
43
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
-12
4
-8
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
4
0
0
0
0
0
2
0
-2
-25
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
-13
29
0
0
0
0
0
-1
-1
0
13
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-7
0
0
0
0
2
-1
10
10
22
0
0
0
0
0
0
-2
10
14
0
0
0
-2
0
0
0
10
13
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
-3
-46
45
0
0
0
0
0
0
0
-6
38
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
8
0
0
0
-3
0
0
0
-10
-15
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
6
3
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
2
-1
0
-3
-1
26
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
-8
-12
0
0
0
0
0
0
0
-5
-14
0
0
0
0
0
0
0
-32
-6
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-8
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
13
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-14
40
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
-5
29
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
17
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
18
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-1
53
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
8
46
0
0
0
0
0
0
0
9
42
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-43
0
0
0
0
0
0
-1
8
19
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
2
-8
-36
0
0
0
0
0
0
0
40
6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
-13
-6
0
0
0
0
0
0
-1
1
8
0
0
0
0
0
0
-2
-22
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
-4
0
0
1
0
0
0
-2
9
9
0
0
0
0
-4
-6
-2
-14
56
0
0
0
0
0
-5
-3
40
-28
0
0
0
0
0
0
-1
-34
12
0
0
0
0
0
0
8
-15
14
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
-3
-4
4
6
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
3
-8
5
0
0
0
0
-7
-2
-4
-2
30
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
-48
2
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
-1
0
-1
3
0
0
0
0
0
-1
1
4
1
0
0
0
0
10
1
-2
3
29
-1
0
0
0
0
0
0
-4
35
1
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
-1
8
2
4
0
0
0
0
0
0
0
19
-4
0
0
0
0
0
0
3
-8
-3
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
-3
0
-7
-7
0
0
0
-3
7
1
-5
25
9
0
0
0
0
1
0
-1
-9
2
0
0
0
0
0
-1
-1
3
-5
0
0
0
0
0
0
1
-8
-7
0
0
0
2
0
0
0
-47
10
0
0
0
0
0
0
1
-18
-55
0
0
0
-1
0
0
2
14
-32
0
0
0
-5
2
8
-28
-9
2
0
0
0
0
0
0
2
25
0
0
0
-16
0
0
0
5
40
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
-3
-10
10
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
4
-8
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
-5
3
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
5
8
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
0
0
0
14
-4
0
0
6
0
0
0
8
1
-8
0
0
0
0
0
0
1
-4
-8
0
0
0
0
0
-1
14
-40
-1
0
0
0
0
0
0
0
-6
-16
0
0
1
0
0
0
1
18
-64
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
6
-18
22
0
0
-3
0
0
0
0
20
-12
0
0
0
0
0
0
0
5
-9
0
0
-1
0
0
0
2
24
3
0
0
0
0
0
0
3
8
6
0
0
-4
0
0
0
0
-5
-16
0
0
0
0
0
0
-1
-7
-19
0
0
3
0
1
0
-67
-41
-1
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
10
42
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
15
-17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
7
-28
-9
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
2
38
0
0
0
0
0
0
0
1
49
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
1
-46
0
0
0
0
0
0
2
10
16
0
0
0
0
0
0
8
-7
-23
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
-3
-72
0
0
0
0
0
0
-4
-5
27
0
0
0
0
0
0
3
0
-16
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
8
11
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
3
7
0
0
-3
0
0
0
0
-22
-16
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
1
-6
29
-3
0
0
0
0
0
0
1
-38
-13
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
-3
0
-37
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
-3
-8
14
0
0
0
0
0
0
-5
-5
-3
0
0
0
0
0
0
-2
-5
8
0
0
0
0
0
0
1
0
38
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
0
0
13
0
23
0
0
0
1
12
14
-8
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
-5
-15
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-12
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-14
13
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
8
5
-40
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
3
39
0
0
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
6
-46
0
0
0
0
0
0
-3
-4
55
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
-3
0
-16
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-1
1
-13
0
0
0
0
0
0
0
0
29
0
0
0
0
1
0
-13
3
-43
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
1
-43
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
-1
30
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
2
8
-23
-1
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-10
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
-15
62
0
0
0
0
0
0
12
-14
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
0
0
0
0
0
0
2
2
-50
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-30
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
-2
0
23
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
1
1
-7
13
0
0
0
3
2
0
-8
21
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
-1
0
2
-24
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
20
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-2
-5
-12
45
0
0
0
0
0
0
-6
-18
9
0
0
0
0
0
0
1
3
28
0
0
0
0
0
2
5
-4
-33
0
0
0
0
1
0
1
-29
27
0
0
0
0
0
0
-1
8
22
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
4
-41
0
0
0
0
0
0
0
-16
-5
-1
0
0
0
0
0
0
-14
-86
4
0
0
0
0
0
0
0
-91
9
0
0
0
0
0
-1
-3
-41
-1
0
0
0
0
0
0
-29
-55
15
0
0
0
0
0
0
4
-45
3
0
0
0
0
0
0
16
-20
-13
0
0
1
1
1
-7
-18
-2
5
0
0
0
0
0
5
5
0
0
0
0
0
0
0
8
-35
0
0
0
0
0
0
-3
-5
6
0
0
0
0
0
0
5
-10
0
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
3
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-9
-6
15
0
0
4
0
0
0
-3
9
-22
0
0
0
0
0
0
0
13
5
0
0
0
0
0
0
1
1
32
0
0
0
0
0
0
-3
3
8
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
0
7
-28
0
0
1
0
0
0
3
0
-129
-2
0
0
0
0
0
0
0
-17
23
0
0
0
0
0
0
-2
32
-10
0
0
0
0
0
0
5
-24
-44
0
0
0
0
0
0
4
-9
7
0
0
0
0
0
0
5
19
-6
0
6
0
0
0
-7
-15
14
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
-16
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-85
7
0
0
0
0
0
0
2
42
1
0
0
0
0
0
0
0
-24
33
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
9
-23
0
0
0
0
0
0
0
10
-24
0
0
0
0
0
0
0
-3
62
0
0
0
0
0
-1
4
-2
-16
0
0
0
0
0
-5
-27
0
0
0
0
0
0
0
-41
23
0
0
0
0
0
0
0
-14
-3
0
0
-1
0
0
0
0
2
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-78
0
0
0
0
0
0
-7
9
40
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
-40
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-120
-3
0
0
0
0
0
0
0
24
3
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
-24
62
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
3
1
2
0
0
0
0
-1
3
19
28
0
0
1
0
-2
-16
37
0
0
0
0
0
0
0
10
18
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-12
28
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
1
-1
0
-5
0
0
0
0
1
1
0
1
-12
12
0
0
0
0
0
0
1
20
15
0
0
0
0
0
0
0
4
-22
0
0
0
0
0
0
-4
8
6
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
-8
12
5
0
0
0
0
0
-1
3
-16
76
0
0
0
0
0
1
1
14
-50
0
0
0
0
0
0
1
-13
-23
0
0
0
0
0
1
0
16
-4
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-4
0
14
-62
0
0
0
0
-1
2
13
39
-16
0
0
0
0
0
1
17
0
0
0
0
0
0
0
8
31
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-12
13
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-66
0
0
-1
0
0
0
0
-8
-34
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-6
-5
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
-12
25
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
-3
52
-2
-31
0
0
0
0
0
-10
21
0
0
0
0
0
0
1
1
-24
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-29
-17
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
3
2
-15
85
0
0
33
41
14
-3
-9
0
0
0
32
0
8
-3
-41
-7
0
0
0
0
-17
-16
3
-38
5
0
0
-9
0
0
-22
43
-78
-8
0
0
0
0
0
7
-17
-25
29
0
0
0
3
-1
-1
-12
27
-43
0
0
0
0
1
-1
6
7
12
0
0
-8
0
-9
-3
0
17
-3
0
0
0
0
19
-29
-8
-11
46
0
0
0
-40
-4
1
3
-5
0
0
0
0
0
-1
-7
-3
31
11
0
0
-12
-2
0
-5
-3
-7
30
0
0
0
0
0
-1
6
1
-14
0
0
0
0
0
0
1
10
8
0
0
0
0
0
4
1
-1
-8
0
0
0
1
0
0
-4
-13
-4
0
0
0
0
-30
27
16
27
-37
-12
0
0
0
0
0
-13
22
-21
-6
0
0
0
-4
0
-9
-4
-8
0
0
3
0
0
0
7
-5
9
-7
0
0
0
0
2
-8
-17
16
-23
0
0
-2
2
0
-5
-30
34
-8
0
0
0
4
0
-1
6
-14
7
0
2
0
6
0
3
-1
2
6
0
0
0
1
-27
5
-13
-10
33
1
0
0
-1
-5
2
-8
35
-28
6
0
0
2
-2
-3
0
30
-27
23
-30
1
0
0
-2
-12
-10
-4
60
0
0
7
1
0
2
21
-61
15
0
5
-1
2
-3
1
33
-30
39
0
0
0
8
0
3
-4
-41
33
-1
-5
1
12
0
-3
-18
42
-22
0
0
-4
0
0
-10
20
0
0
0
0
0
0
0
52
-14
0
0
0
0
0
0
0
27
7
0
0
0
0
0
0
17
-25
7
0
0
0
0
0
0
0
-4
42
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
2
6
-21
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-7
21
0
0
0
0
0
1
0
-4
40
0
0
0
0
0
0
3
-30
36
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
6
5
-7
0
0
0
0
-2
-1
0
1
-39
0
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
9
6
0
0
0
0
0
0
0
3
-31
0
0
0
0
0
0
-1
-4
12
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
1
21
0
0
0
0
-1
-3
0
-1
-7
0
0
0
0
0
0
0
-12
56
0
0
0
0
0
0
0
3
-47
0
0
0
0
0
0
3
-3
19
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
6
-38
0
0
0
0
0
0
-1
-2
31
0
0
0
0
-2
-2
3
10
7
0
0
0
0
0
0
0
-6
31
0
0
0
4
0
0
0
-20
1
0
0
0
0
0
0
0
-32
-5
0
0
0
0
0
0
0
18
4
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
0
0
-4
-25
0
0
0
0
0
0
0
8
-10
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
-3
24
0
0
0
0
0
0
0
-3
14
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
-9
-18
0
0
0
0
0
0
1
4
-39
0
0
0
0
0
0
0
-2
63
0
0
0
21
0
0
0
-2
-13
0
0
0
0
0
0
0
2
46
0
0
0
0
0
0
0
-23
2
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
13
2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-16
-18
0
0
0
0
0
0
0
18
22
0
0
0
21
0
0
0
6
16
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-31
28
0
0
0
0
0
0
0
30
-23
0
0
0
1
0
0
0
0
-23
0
0
0
0
0
0
0
-2
-1
0
0
0
-2
0
0
-4
-9
-5
0
0
0
0
0
0
0
24
-10
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
-30
25
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-9
32
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
-1
-5
6
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
-18
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-3
57
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-7
-12
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-2
10
-11
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
-11
25
0
0
0
0
0
0
-3
7
24
0
0
1
0
0
0
-5
1
-2
0
0
0
0
0
0
0
-17
43
0
0
0
0
0
0
1
-36
50
0
0
0
0
0
0
0
27
13
0
0
0
0
0
0
-14
9
16
0
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
-8
36
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
-8
39
-64
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
7
38
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
-2
-4
-2
0
0
0
0
0
0
0
-30
2
0
0
0
0
0
0
0
16
-5
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
-1
-22
-1
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-17
22
0
0
0
0
0
0
0
-10
-20
0
0
2
-1
0
0
-7
-43
-5
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-4
-24
34
0
0
0
0
0
0
0
-7
42
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-38
38
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
31
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
14
11
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-40
0
0
0
0
0
0
0
-13
-13
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
8
7
26
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
-2
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
-13
7
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-3
-2
4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-12
-20
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
0
-13
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-6
-16
-19
26
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
1
5
10
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-24
5
0
0
0
0
0
0
0
-5
39
0
0
0
1
0
0
0
2
-7
0
0
0
0
0
0
0
-2
-23
0
0
0
0
0
0
1
13
25
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-1
-34
20
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
-30
-4
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
22
5
0
0
0
0
0
0
0
-41
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-1
14
-2
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
1
-22
-3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-7
-24
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
-3
-40
4
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
5
34
13
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-5
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
-1
5
0
0
0
0
0
0
0
-3
48
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
-9
69
0
0
0
0
5
2
0
-1
-17
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-14
0
0
0
0
1
1
0
0
31
0
0
0
0
0
0
0
2
6
-4
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
-2
-5
12
-9
0
0
0
0
0
0
0
9
-7
0
0
0
0
0
0
-5
16
16
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
-2
1
-7
6
0
0
0
0
0
0
0
-31
7
0
0
0
0
0
0
1
4
-36
0
0
0
0
0
0
0
-13
-42
0
0
0
0
0
-1
2
-4
-5
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-13
7
0
0
0
0
4
5
-27
-12
2
0
0
0
0
0
0
-20
-53
0
0
0
-5
0
0
0
0
33
0
0
0
0
0
0
0
13
27
0
0
0
0
0
0
-2
-18
40
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-4
9
-2
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
1
9
16
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
20
0
0
0
0
0
0
7
-10
-13
0
0
1
0
0
0
-1
-41
36
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
2
-56
0
0
0
0
0
0
-4
4
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-1
0
0
-4
0
1
-1
-13
40
0
0
0
0
0
0
0
-10
24
0
0
0
0
0
0
0
9
14
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
-15
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
-18
4
0
0
0
0
0
0
0
-23
18
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
3
-29
0
0
0
0
0
0
-1
15
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
-6
4
6
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-12
16
-7
0
0
0
0
0
0
2
-9
7
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
3
0
-17
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
1
0
29
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-1
6
15
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
-39
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
8
0
1
0
0
0
-1
0
84
4
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
22
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-20
-17
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
15
-2
8
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
3
10
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
-1
0
-49
0
0
0
0
0
0
0
-1
-39
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
2
34
0
0
2
0
0
0
8
6
-27
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
-3
43
0
0
0
0
0
0
-16
13
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
1
-3
-6
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-100
0
0
0
0
0
0
0
-1
44
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
1
2
13
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
-2
-13
0
3
0
0
0
0
0
-25
20
0
0
0
-1
1
0
1
2
0
0
0
0
0
0
0
-15
24
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
3
-30
5
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-25
21
0
0
0
0
0
0
-2
-40
47
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
-2
-2
10
31
0
0
0
0
0
0
0
-36
-10
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
0
5
-24
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
29
-98
0
0
0
0
0
0
0
-2
-43
0
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
1
1
-39
-9
0
0
0
0
0
0
-1
-48
-14
0
0
0
0
0
0
4
-49
-14
0
0
0
0
0
0
4
-122
17
0
0
3
1
0
42
41
27
1
0
0
0
0
0
13
11
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
0
-6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
13
-38
0
0
0
0
0
0
2
-3
23
0
0
0
0
0
0
-1
-3
-43
0
0
0
0
0
0
2
8
16
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-32
1
0
0
0
0
0
0
10
-33
20
0
0
0
0
0
0
0
-15
31
0
0
0
0
0
-1
0
8
-1
0
0
0
0
0
0
0
-22
29
0
-1
0
0
0
0
1
-10
41
0
0
0
0
0
0
0
14
26
0
-1
0
0
0
-9
-49
50
19
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
17
-44
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-3
43
-11
0
0
0
0
0
0
-1
-40
14
0
0
0
0
0
0
2
-13
30
0
0
0
0
0
0
0
41
47
0
0
0
0
0
0
0
31
-37
0
0
0
0
0
0
-1
19
51
0
0
0
0
0
0
0
-31
1
0
0
0
0
0
-5
8
-11
43
0
0
0
0
0
3
27
0
0
0
0
0
0
0
-24
-2
0
0
0
0
0
0
0
-10
-10
0
0
1
0
0
0
0
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-46
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
-2
24
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
2
0
17
-1
0
0
0
0
0
0
0
-58
49
0
0
0
0
0
0
0
-12
-31
0
0
0
0
0
-1
1
-14
-41
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
2
8
-8
0
0
0
0
0
-1
0
-19
-9
1
0
0
0
0
-17
-4
18
10
0
0
0
0
0
1
7
0
0
0
0
0
0
0
20
-51
0
0
0
0
0
0
0
-15
6
0
0
0
0
0
0
-1
-3
32
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
2
-7
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-35
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
12
-19
24
0
0
0
0
0
0
-2
-24
2
0
0
0
0
0
0
0
22
-33
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-14
15
0
0
0
0
0
0
0
10
-9
0
0
0
0
0
0
0
16
-9
0
0
0
-1
0
-16
34
23
-21
0
0
0
0
0
-1
40
0
0
0
4
0
0
0
-12
-8
0
0
0
0
0
0
0
2
34
0
0
0
0
0
0
1
-10
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
-28
0
0
0
0
0
0
0
8
-86
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
-23
2
0
-2
0
0
0
0
1
3
31
0
0
0
0
0
0
1
42
8
0
0
0
0
0
0
0
1
-70
0
0
0
0
0
0
-2
7
-34
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
-8
-5
0
-1
0
0
0
15
-2
21
22
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-8
43
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-23
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
-19
0
0
0
0
0
0
0
1
-40
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
45
7
0
0
0
0
0
-1
1
29
-35
0
0
0
0
0
0
0
5
-32
0
0
0
0
0
0
0
-9
74
0
0
0
0
0
0
0
-23
12
0
0
0
0
0
0
4
6
-16
0
0
-1
0
0
0
0
-7
-14
0
0
0
0
0
-1
-8
47
-53
0
0
-23
19
-9
-66
12
0
0
0
33
0
2
26
-26
4
0
0
0
0
-2
-13
30
32
10
0
0
13
-3
0
-5
3
62
-8
0
0
0
0
8
29
9
-33
-16
0
0
0
15
0
-33
-7
15
-30
0
0
0
0
3
-17
-1
-3
18
0
0
-25
1
-12
-2
52
-5
-24
0
0
0
0
22
-59
-17
16
-18
0
0
0
-5
-3
3
0
-59
23
0
0
0
0
10
-12
-7
-3
10
0
0
-17
0
0
1
-9
-22
17
0
0
0
0
-2
-2
4
-45
37
0
0
0
-2
0
-8
24
-14
-13
0
0
0
0
-7
10
-10
10
-12
0
0
0
1
2
-10
8
16
-4
0
0
0
0
-7
33
-22
-3
-7
1
0
0
26
-3
4
-34
44
10
-2
0
0
0
-19
-5
-5
16
-17
-5
0
17
-4
1
2
-1
8
-10
3
0
0
0
1
-11
13
3
-4
7
0
0
6
2
5
6
-53
78
-26
0
0
0
7
6
1
-3
3
-17
0
8
0
7
-8
27
13
29
-8
0
0
0
25
-44
3
9
-16
-9
-2
0
1
0
-8
22
27
-53
-26
3
0
0
17
1
-5
-15
25
9
-25
-19
6
0
4
-4
-15
-19
-16
-6
0
0
9
16
-5
-34
8
13
-7
0
-4
-1
4
-6
14
13
-23
-24
0
0
-6
20
34
-7
3
3
7
-24
0
17
36
8
-15
-9
-8
21
0
0
-4
-9
1
-54
9
0
0
0
0
8
-32
33
59
2
0
0
0
0
-6
4
-16
16
-7
0
0
0
0
0
-3
-3
15
-9
0
0
0
0
8
20
8
-24
-15
0
0
0
0
0
0
-10
-1
24
0
0
0
0
-1
2
24
1
55
0
0
0
0
0
1
-7
15
-31
0
0
0
0
-21
3
8
24
-31
0
0
0
0
0
0
10
-24
-1
0
0
0
0
0
-2
-1
18
21
0
0
0
0
0
0
-1
-5
-2
0
0
0
0
-2
3
4
-2
-1
0
0
0
0
0
1
0
-2
49
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
22
-15
0
0
0
0
-26
-4
6
14
45
0
0
0
0
-1
14
-5
43
-3
0
0
0
0
0
1
6
-11
6
0
0
0
0
0
0
1
-29
38
0
0
0
0
0
-4
-4
-30
42
0
0
0
0
0
-1
8
-3
-8
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
-1
1
0
-3
0
0
0
0
16
13
-6
8
-32
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
15
-1
-20
-13
0
0
0
0
0
0
0
-7
-5
0
0
0
0
-3
-1
3
-3
44
0
0
0
0
6
5
-23
-29
-28
0
0
0
0
0
0
26
45
-18
0
0
0
-26
-4
0
9
-32
0
0
0
0
0
0
0
10
-42
11
0
0
0
6
-1
-1
0
-9
-8
0
0
0
0
0
0
-3
-7
32
0
0
0
15
0
-1
4
-36
16
0
0
0
0
0
-3
0
29
-33
0
0
0
1
0
-3
15
14
-37
0
0
0
0
0
0
-1
-20
22
0
0
0
19
0
0
2
31
14
0
0
0
0
0
0
0
-5
9
0
0
0
-2
0
0
6
-21
8
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
-25
26
0
0
0
0
0
0
0
-8
26
0
0
0
0
0
0
-1
-52
15
0
0
0
0
0
0
8
-3
25
0
0
0
11
2
3
0
-1
-29
0
0
0
0
0
0
-2
0
-5
0
0
0
2
0
-1
-4
3
-43
0
0
0
0
0
0
0
9
13
0
0
0
8
0
0
0
3
4
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
-1
0
25
-22
0
0
0
38
0
-1
-3
-4
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-13
-38
0
0
0
0
0
0
1
16
-13
0
0
0
-5
0
0
0
13
36
0
0
0
0
0
0
0
-12
-12
0
0
0
3
0
-1
-6
17
1
0
0
0
0
0
-1
5
-39
-9
0
0
0
0
0
-1
-3
69
-18
0
0
0
0
0
1
0
2
8
0
0
0
0
-1
2
-5
-30
52
0
0
0
0
0
8
0
-15
-41
0
0
0
0
0
-1
0
-41
56
0
0
0
0
0
0
2
-8
-12
0
0
0
0
0
0
3
-20
10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
7
31
0
0
0
0
0
0
0
-15
-11
0
0
0
0
0
0
-2
6
16
0
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
6
27
0
0
0
0
0
0
0
-2
22
0
0
0
0
-1
1
3
-7
-19
0
0
0
0
0
0
1
-2
25
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
-5
19
0
0
0
0
0
0
0
-16
30
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
3
27
0
0
0
0
0
0
-1
-23
-18
0
0
0
0
0
0
0
-2
37
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
-2
18
-8
0
0
0
0
0
1
-25
27
15
0
0
0
0
0
0
-10
-9
-13
0
0
0
0
0
0
3
-20
17
0
0
-30
0
-2
0
9
10
-12
0
0
0
0
0
0
0
23
-10
0
0
0
1
0
0
6
-1
-13
0
0
0
0
0
0
0
-73
24
0
0
-9
0
0
0
-10
-14
-22
0
0
0
0
0
0
1
-9
42
0
0
0
0
0
0
0
-7
-21
0
0
0
0
0
0
-1
6
45
0
0
-5
0
0
0
-1
14
-39
0
0
0
0
0
0
0
1
51
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
4
-4
0
0
-1
0
0
0
0
-8
7
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
-1
-5
71
0
0
0
0
0
0
0
-10
22
0
0
12
-1
0
0
5
-7
-8
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-12
18
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
-1
4
0
0
8
0
0
0
0
8
-13
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
2
20
0
0
12
1
0
0
-3
-15
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-22
-6
0
0
0
0
0
0
1
5
8
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
24
36
0
0
0
0
0
13
-2
29
-24
0
0
0
0
0
0
2
-8
15
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-14
4
0
0
0
0
2
-5
0
-4
-18
0
0
0
0
0
0
0
4
28
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
-20
-8
10
-6
22
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
-31
-6
0
0
0
0
0
0
0
5
49
0
0
0
0
0
-3
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
6
1
0
0
0
0
4
12
-1
-12
31
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
10
-24
0
0
0
0
0
0
0
3
-8
0
0
0
0
1
-1
4
-4
-42
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
-12
0
0
0
0
-2
-1
-3
-7
-4
0
0
0
0
0
0
-1
10
36
0
0
0
8
0
0
1
-12
-14
0
0
0
0
0
0
0
-24
32
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-14
29
0
0
0
0
0
0
-1
43
-45
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-19
-8
0
0
0
0
0
0
0
-3
-8
0
0
0
3
0
0
0
-6
3
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-12
41
0
0
0
-46
-2
0
0
9
7
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
1
7
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-1
44
0
0
0
14
0
0
0
5
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
7
8
0
0
0
0
0
1
0
-2
13
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
-5
-2
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-13
40
0
0
2
0
0
0
0
-3
13
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
6
13
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
-1
8
4
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
-12
-25
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
-10
0
0
-28
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
-1
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-55
-10
-13
14
0
0
0
0
0
0
10
-63
50
0
0
0
0
0
-1
3
8
14
0
0
0
0
0
1
9
-33
-10
0
0
0
0
1
0
8
12
20
0
0
0
0
0
0
-1
-2
7
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
1
-2
-4
6
0
0
0
0
13
10
0
-13
-3
0
0
0
0
0
0
-3
-27
25
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
-1
5
9
0
0
0
0
0
0
-1
-10
-49
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
-3
15
0
0
0
0
9
15
6
4
23
-2
0
0
0
0
0
-4
24
5
-4
0
0
0
0
1
0
16
34
4
0
0
0
0
0
-1
9
44
5
0
0
0
-1
-3
2
9
12
-18
0
0
0
0
0
0
-3
-24
31
0
0
0
0
0
0
1
-8
13
0
0
0
0
0
0
0
-3
12
0
0
0
-25
5
-5
-25
10
-8
0
0
0
0
0
-1
-7
-27
21
0
0
0
0
0
-1
-2
0
9
0
0
0
0
0
0
10
-4
9
0
0
0
-2
-17
-4
41
-5
-14
0
0
0
0
0
1
0
20
4
0
0
0
5
0
0
4
18
30
0
0
0
3
1
-23
-1
-21
7
0
0
0
0
-2
2
0
-8
0
0
0
24
-1
4
-3
3
13
0
0
0
0
0
0
1
24
16
0
0
0
0
0
0
-1
-26
13
0
0
0
0
0
0
0
-2
6
0
0
0
1
0
0
-1
6
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
8
-12
0
0
0
1
0
0
1
-16
-6
0
0
0
0
0
0
0
8
-23
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
-3
22
24
-7
0
0
-25
0
0
-1
-99
19
6
0
0
0
0
0
0
24
13
3
0
0
0
0
0
1
-15
2
-8
0
0
0
0
0
0
3
-5
0
0
0
-2
0
0
0
-15
-28
-24
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
-5
-20
47
0
0
1
0
0
0
2
30
-12
0
0
0
0
0
0
-17
-8
-41
0
0
0
0
0
0
10
-9
7
0
0
0
0
0
0
4
-8
9
0
0
-6
0
0
0
-7
14
-23
0
0
0
0
0
0
7
-14
5
0
0
-8
0
0
1
9
31
-21
0
0
0
0
1
-2
-1
5
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
1
-33
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-1
-22
19
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
-1
1
31
0
0
0
0
0
0
7
-13
4
0
0
0
0
0
0
0
-3
-37
0
0
0
0
0
0
-1
-5
18
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
-25
0
0
0
0
0
0
-2
-7
9
0
0
0
0
0
0
-1
10
-21
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
5
-126
0
0
0
0
0
0
-1
-1
29
0
0
0
0
0
0
2
0
-41
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
-30
-6
0
0
0
0
0
0
0
-13
-5
0
0
26
1
0
0
0
8
7
0
0
0
0
0
0
0
-2
1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
10
10
0
0
3
0
0
0
0
20
-31
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
14
16
-3
0
0
0
0
0
0
-29
-22
-4
0
0
0
0
0
0
2
0
-9
0
-19
0
0
0
-1
-23
17
-12
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
0
8
-19
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
3
-76
0
0
0
0
0
0
-5
4
-25
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
1
-2
17
0
-2
0
0
0
0
-1
3
-5
0
0
0
0
0
0
-3
1
7
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
-8
12
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
30
-28
1
0
0
0
0
0
0
-4
-23
-20
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
4
-2
8
0
0
0
0
0
0
0
-10
32
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
-6
-7
-3
-24
12
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
1
-10
-9
18
-6
23
0
0
0
0
0
-1
2
8
66
0
0
0
0
0
3
-5
5
-21
0
0
0
0
0
0
0
0
-30
0
0
0
0
1
-1
15
16
9
0
0
0
0
0
0
-16
1
-31
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
-1
12
-31
0
0
0
-10
15
1
7
20
-18
-2
0
0
0
0
0
-16
1
-5
-1
0
0
0
0
-1
-8
8
10
5
0
0
0
0
0
0
-1
-41
-9
0
0
1
2
-5
34
-10
-21
16
0
0
0
0
0
7
-2
2
-48
0
0
0
0
0
-10
-14
-44
-13
0
0
3
0
1
-8
7
-25
-1
0
0
0
0
0
5
40
0
0
0
13
0
0
1
-3
-40
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
5
-1
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-8
24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
-1
-7
25
-1
0
0
5
0
0
0
-7
5
21
0
0
0
0
0
1
-4
-4
9
0
0
0
0
0
0
-5
-1
-76
0
0
0
0
0
0
-3
13
2
0
0
-1
0
0
0
9
-25
46
0
0
0
0
0
0
-2
-12
-9
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
4
1
1
0
12
0
0
0
-8
-5
-92
-27
0
0
0
0
0
-2
1
10
-12
0
0
0
0
0
2
0
-16
12
0
0
0
0
0
-24
40
-37
-13
0
0
0
0
0
-18
-7
1
18
0
0
0
0
0
2
4
2
15
0
3
0
0
0
6
-8
-23
-14
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
12
-7
-11
0
0
0
0
0
0
-2
10
-31
0
0
0
0
0
0
1
2
28
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
0
1
-6
77
0
0
0
0
0
0
0
-4
55
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
6
-6
-9
0
0
0
0
0
0
-1
-23
-12
0
0
0
0
0
0
0
-20
-60
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
22
38
-24
0
0
0
0
0
0
7
-47
108
0
0
0
0
0
0
0
-27
54
0
0
0
0
0
1
10
-48
-15
0
0
0
0
0
2
12
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-20
3
4
0
0
0
0
0
0
0
-1
-54
0
0
0
0
0
0
0
0
7
0
7
0
0
0
0
0
0
27
0
0
0
0
0
0
0
14
-6
0
0
0
0
0
0
-4
-6
34
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-51
-5
0
0
0
0
0
0
1
-34
-67
0
0
0
0
0
0
0
-8
21
-4
0
0
0
0
0
0
8
2
0
0
0
0
0
0
12
19
33
0
0
0
0
0
0
13
8
29
0
0
0
0
0
-1
0
0
-40
0
0
0
0
0
-3
-5
-27
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-38
33
-46
9
0
0
0
0
-1
-16
-5
-32
-1
0
0
0
0
0
7
5
-6
20
0
0
0
0
0
-1
-8
-15
9
0
0
0
0
-8
-4
5
51
7
0
0
0
0
0
0
-1
-24
-20
0
0
0
0
-1
-1
2
1
-12
0
0
0
0
0
2
10
23
-26
0
0
0
0
-10
-23
-3
6
20
0
0
0
0
0
0
2
-3
-30
0
0
0
0
0
0
3
6
5
0
0
0
0
0
0
-3
-13
5
0
0
0
0
-1
9
0
-12
1
0
0
0
0
0
0
0
33
-4
0
0
0
0
0
0
1
8
-24
0
0
0
0
0
0
1
2
-3
0
0
0
0
-7
0
-27
32
3
0
0
0
0
0
1
-1
22
-22
0
0
0
0
0
0
8
-7
14
0
0
0
0
0
0
1
0
23
0
0
0
0
0
18
0
5
-2
0
0
0
0
0
-2
-1
3
32
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
2
8
0
0
0
0
0
-9
7
-30
-26
0
0
0
0
0
0
-1
-46
21
0
0
0
0
0
0
-4
5
24
0
0
0
0
0
0
0
-8
-13
0
0
0
0
8
4
8
-4
-34
0
0
0
0
0
-1
0
-20
12
0
0
0
0
2
0
1
-4
-20
0
0
0
0
2
-7
-10
-61
13
0
0
0
0
0
3
-2
2
-2
0
0
0
5
0
-1
-27
31
-3
0
0
0
0
0
0
0
14
2
0
0
0
-1
0
0
3
-25
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
1
19
10
0
0
0
0
0
0
0
9
8
0
0
0
0
0
0
0
8
27
0
0
0
-4
0
0
1
5
41
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
14
-26
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
-17
18
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
-1
-36
36
0
0
0
-33
0
0
0
8
53
0
0
0
0
0
0
0
-13
23
0
0
0
1
0
0
1
-8
-20
0
0
0
0
0
0
0
-8
-30
0
0
0
0
0
0
1
-7
-14
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
1
4
0
0
0
20
0
0
0
-17
-22
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
-32
22
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
-7
-13
0
0
0
-9
0
0
1
43
-7
0
0
0
0
-1
4
-19
-10
16
0
0
0
0
0
0
1
-98
10
0
0
0
0
0
0
4
21
-24
0
0
0
0
0
0
8
-22
16
0
0
0
0
0
0
-2
-7
73
0
0
0
0
0
0
0
13
-11
0
0
0
0
0
0
0
-25
33
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
0
9
32
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
1
-9
8
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
-4
-14
-2
0
0
0
0
0
0
0
7
17
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-16
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
12
-10
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
13
-7
0
0
0
0
0
0
17
-1
-21
0
0
0
0
0
0
5
28
-5
0
0
0
0
0
0
5
-17
-3
0
0
-32
0
0
0
0
21
23
0
0
0
0
0
0
1
5
26
0
0
0
0
0
0
0
-52
55
0
0
0
0
0
0
0
5
42
0
0
1
0
0
0
-3
-64
55
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
1
7
-14
0
0
0
0
0
0
0
-8
30
0
0
2
0
0
0
1
2
-23
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
2
-6
-7
0
0
0
0
0
0
-1
-20
29
0
0
0
0
0
0
0
-6
19
0
0
22
0
0
0
0
-12
25
0
0
0
0
0
0
0
20
27
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
3
1
0
0
-2
0
0
0
0
1
-20
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
1
5
0
0
-3
0
0
0
0
2
8
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-29
-7
0
0
0
0
0
0
0
-4
24
0
0
-5
1
0
0
-4
-14
-17
0
0
0
0
1
-8
-23
22
-49
0
0
0
0
0
-1
8
-22
-18
0
0
0
0
0
0
1
-29
111
0
0
0
0
0
0
-1
25
-1
0
0
0
0
0
0
8
-14
8
0
0
0
0
0
0
0
6
44
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
-2
5
32
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
2
4
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
7
-21
-1
-14
9
0
0
0
0
0
2
0
-16
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
-1
0
5
-6
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
-2
-19
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
-4
-10
0
0
0
0
0
0
0
-17
-6
0
0
0
1
0
0
-2
1
5
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
-1
14
-22
0
0
0
0
0
0
-1
1
32
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
8
17
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
-8
2
0
0
0
-15
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
0
5
-25
0
0
0
0
0
0
0
16
-6
0
0
0
0
0
0
1
0
-31
0
0
0
0
0
0
0
-50
18
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-7
32
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
7
-14
14
0
0
0
0
0
0
2
-15
-7
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
-9
-6
-2
0
0
0
0
0
0
4
-16
20
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
4
-15
-21
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
-12
-10
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
0
13
5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
-1
-12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-2
0
0
0
0
-3
-42
-12
16
42
0
0
0
0
0
0
0
-23
35
0
0
0
0
0
0
-5
5
28
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-5
0
-22
0
0
0
0
0
0
1
3
48
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
21
0
0
0
0
0
14
-3
-6
-20
0
0
0
0
0
0
0
9
13
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
1
6
12
0
0
0
0
0
-1
0
2
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
-8
0
0
0
0
3
1
0
-1
-5
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
2
0
22
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
-4
1
72
0
0
0
-6
0
0
0
-15
21
0
0
0
0
0
0
0
2
40
0
0
0
0
0
0
2
2
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
-8
34
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-22
6
0
0
0
1
0
0
0
-29
29
0
0
0
0
0
0
0
-22
19
0
0
0
0
0
0
-1
3
4
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
-2
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-22
-24
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
1
0
-4
0
0
-6
0
0
0
1
-10
-10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
1
0
31
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
-32
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
20
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
48
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-1
2
27
0
0
0
0
0
0
0
-17
-15
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
17
27
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-6
2
8
-54
0
0
0
0
0
0
0
-17
-66
0
0
0
0
0
0
0
-20
41
0
0
0
0
0
0
-2
-4
-8
0
0
0
0
0
0
-1
1
-9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-31
0
0
0
0
0
0
0
-27
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
1
9
0
0
0
0
9
-7
-27
1
43
0
0
0
0
0
0
0
29
39
0
0
0
0
0
0
2
15
-12
0
0
0
0
0
0
0
-28
10
0
0
0
0
0
10
-7
-10
12
0
0
0
0
0
-1
-2
3
28
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
10
-56
0
0
0
0
-3
3
-3
-9
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-1
-4
7
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
13
0
0
0
0
-9
12
-12
-25
28
-2
0
0
0
0
0
-2
-5
-29
1
0
0
0
0
1
2
8
-34
7
0
0
0
0
-2
0
-25
-15
-9
0
0
0
-1
-1
0
-4
6
6
0
0
0
0
0
0
-5
4
7
0
0
0
0
0
0
0
4
32
0
0
0
0
0
0
0
-4
-3
0
0
0
-8
-1
2
0
-22
-8
0
0
0
0
0
0
-2
21
-30
0
0
0
0
0
0
2
-52
18
0
0
0
0
0
0
2
3
26
0
0
0
1
0
0
2
1
15
0
0
0
0
0
0
2
-1
-41
0
0
0
0
0
0
-1
7
19
0
0
0
0
-1
-1
-7
-29
-2
0
0
0
0
0
0
6
36
0
0
0
0
0
0
-3
12
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-23
25
0
0
0
0
0
0
-1
-3
-25
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
2
85
-1
0
0
-22
0
0
0
20
32
-4
0
0
0
0
0
0
9
23
7
0
0
0
0
0
0
-8
16
1
0
0
0
0
0
0
2
8
1
0
0
0
0
0
0
-1
-25
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
-2
17
0
0
0
0
0
0
15
1
0
0
0
1
0
0
0
2
-14
-3
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
-2
-39
0
0
0
0
0
0
0
3
44
0
0
-1
0
0
0
-7
2
27
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
-52
-13
2
0
0
0
0
-2
0
5
-11
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
0
29
4
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
17
-1
0
0
0
0
0
0
-4
-8
2
0
0
0
0
0
0
9
7
3
0
0
0
0
0
0
8
-1
10
0
0
0
0
0
0
0
-2
85
0
0
0
0
0
0
-1
1
44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-2
-22
0
0
0
0
0
0
2
-7
-15
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
1
-53
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
-10
8
-44
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
7
0
0
5
0
0
0
0
-24
14
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
-13
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
1
0
5
-5
0
0
0
0
0
-1
4
12
-17
0
0
0
0
0
0
-14
-4
12
0
-3
0
0
0
0
24
0
8
0
0
0
0
0
0
0
-4
62
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
-1
-2
38
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
4
-9
0
0
0
0
0
0
1
1
-10
0
0
0
0
0
0
-1
0
-27
0
2
0
0
0
0
-2
0
-25
0
0
0
0
0
0
-3
0
-66
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
-31
0
2
0
0
0
0
4
0
-9
0
0
0
0
0
-1
-8
31
0
0
0
0
0
0
0
-8
-19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-12
3
10
0
0
0
0
0
0
-17
-19
-8
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
7
5
11
0
0
0
0
0
0
-1
-23
16
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
1
0
1
-55
0
0
0
0
0
1
0
-7
35
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
0
0
0
0
0
0
-1
-3
32
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
27
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
-6
-30
0
0
0
0
0
0
0
-5
43
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-1
-55
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
-2
-3
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
6
-43
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
50
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
-1
-59
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
-1
40
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-16
-9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-34
0
0
0
0
0
1
1
0
-24
0
0
0
0
0
0
0
6
-75
0
0
0
0
0
0
1
6
-36
0
0
0
0
0
0
0
-4
-48
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
-1
0
0
0
2
4
-1
8
-9
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-2
3
8
17
4
0
0
0
0
0
0
6
-40
17
0
0
0
0
0
0
-2
1
46
0
0
0
0
0
0
1
-2
-43
0
0
0
0
0
0
1
2
-75
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
-1
45
0
0
0
3
7
0
17
3
14
-1
0
0
0
0
1
5
48
18
6
0
0
0
0
0
0
-15
-9
5
0
0
0
0
0
0
40
-4
-28
0
0
0
0
0
-1
-6
-27
16
0
0
0
0
0
-1
-19
-10
-17
0
0
0
0
0
0
-7
-59
69
0
0
1
0
0
-1
-4
-7
4
0
0
0
0
0
12
-12
0
0
0
-5
0
0
1
6
-27
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
3
8
16
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
5
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
3
-9
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
13
-19
0
0
3
0
0
0
-8
-40
-27
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
20
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
29
-56
-8
0
4
0
0
0
-1
77
15
-23
0
0
0
0
0
0
6
-23
33
0
0
0
0
0
4
-8
7
17
0
0
0
0
0
0
-2
12
7
0
0
0
0
0
-1
-3
13
-14
0
0
0
0
0
0
1
19
-74
0
4
0
0
0
-13
-8
48
-43
0
0
0
0
0
1
4
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
3
-6
0
0
0
0
0
0
-3
10
28
0
0
0
0
0
0
-2
-1
-66
0
0
0
0
0
0
-5
0
-26
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
-7
60
-3
0
0
0
0
0
-1
-8
9
3
0
0
0
0
0
-2
-3
24
-25
0
0
0
0
0
-1
-1
6
-18
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-34
8
0
0
0
0
0
0
0
-23
42
0
0
0
0
0
-6
-17
0
0
0
0
0
0
0
-12
31
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-5
0
0
0
0
0
0
-2
2
-49
0
0
0
0
0
0
0
-1
-23
0
2
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
42
-75
-7
0
0
0
0
0
-19
-17
-47
37
0
0
0
0
0
0
1
-30
46
0
0
0
0
0
-1
3
-8
32
0
0
0
0
0
0
0
15
-8
0
0
0
0
0
0
0
-1
101
0
0
0
0
0
0
0
2
-50
0
0
0
0
0
-1
5
10
6
0
0
2
0
3
-9
59
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
-4
-2
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
-16
26
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
5
-14
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
9
29
18
0
0
0
0
0
0
14
13
-18
0
0
0
0
0
0
0
-24
37
0
0
0
0
0
0
-1
3
-19
0
0
0
0
0
0
-2
2
-5
0
0
0
0
0
0
0
25
-40
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
5
-15
-16
0
0
0
0
0
3
28
0
0
0
-5
0
0
0
5
-15
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-11
0
0
0
0
0
0
0
-16
-17
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
-4
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-10
-25
0
0
0
0
0
0
-10
-30
-13
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
-1
6
-18
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
24
-2
-34
0
0
0
0
0
16
-6
0
0
0
0
0
0
2
-4
18
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-6
0
0
0
0
0
0
3
3
33
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
4
-25
0
0
0
0
0
0
0
1
-10
26
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
6
30
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
13
-41
0
0
0
0
0
2
0
-41
86
0
0
13
14
18
-122
10
0
0
0
-25
-4
-34
25
-42
12
0
0
0
0
1
-10
-8
20
1
0
0
8
0
-6
1
-6
-6
-7
0
0
0
0
20
17
3
5
-10
0
0
0
-3
0
-1
4
8
42
0
0
0
0
0
0
-1
-8
8
0
0
-1
2
0
-1
2
6
-17
0
0
0
0
13
-2
3
-6
-9
0
0
0
9
-1
0
3
19
0
0
0
0
0
0
0
2
4
-27
0
0
3
0
0
0
0
1
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
1
16
-2
0
0
0
1
0
0
-2
-44
14
0
0
0
0
-15
-9
-10
78
-15
-2
0
0
8
-1
-1
-5
7
-4
-19
0
0
0
0
0
0
19
1
-72
0
-58
0
0
0
2
-40
29
-15
0
0
0
3
-16
6
14
-7
-15
0
0
-2
0
0
0
-9
-4
2
0
0
0
0
0
0
-31
5
12
0
0
0
0
1
0
-2
-1
11
0
0
0
3
17
-16
-1
8
-18
4
0
10
0
-1
0
-2
-13
-44
-16
0
0
0
0
0
-8
-1
-5
5
9
0
0
0
0
0
-5
17
-15
0
0
-14
-3
7
44
10
17
-39
0
-9
0
0
1
-14
5
-42
39
0
0
-1
-1
-3
-4
21
5
-16
-3
0
2
0
-5
-5
13
-10
-6
0
0
-25
9
9
16
1
0
0
0
0
0
1
-2
2
5
0
0
0
0
0
0
0
18
-53
0
0
0
0
0
0
7
49
-18
0
0
0
0
0
0
3
-2
6
0
0
0
0
0
-1
0
2
37
0
0
0
0
0
-2
0
-4
-7
0
0
0
0
0
0
7
-17
7
0
0
0
0
-1
1
0
-8
9
0
0
0
0
0
0
0
25
10
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
2
-10
9
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-7
10
0
0
0
0
-3
-9
3
-5
38
0
0
0
0
0
0
1
-8
45
0
0
0
0
0
0
0
-20
8
0
0
0
0
0
0
1
-24
-17
0
0
0
0
0
0
1
-3
29
0
0
0
0
0
0
0
5
-40
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
8
-15
0
0
0
0
1
0
1
-1
13
0
0
0
0
0
0
1
0
-1
0
0
0
0
1
0
0
4
18
0
0
0
0
0
0
-10
-22
37
0
0
0
0
0
0
2
-3
11
0
0
0
-32
0
0
0
-23
2
0
0
0
0
0
0
0
14
17
0
0
0
0
0
0
0
-7
28
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
-9
35
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
0
-4
-28
0
0
0
0
0
0
0
23
-20
0
0
0
4
0
0
0
2
-5
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
-12
-12
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-5
31
0
0
0
0
0
0
-2
-6
58
0
0
0
5
0
0
0
10
-45
0
0
0
0
0
0
0
-16
21
0
0
0
0
0
0
0
-12
29
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
-19
15
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
-4
5
0
0
0
13
0
0
0
14
31
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
7
-36
0
0
0
0
0
0
0
-8
-30
0
0
0
-1
0
0
0
-17
18
0
0
0
0
0
0
0
-6
4
0
0
0
9
0
0
0
19
7
0
0
0
0
0
0
0
-18
-26
0
0
0
0
0
0
0
106
-36
0
0
0
0
0
0
0
-18
58
0
0
0
0
0
0
-1
-7
50
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
5
26
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
27
13
0
0
0
0
0
0
-1
-3
10
0
0
0
0
0
0
0
-10
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-4
-16
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-14
-1
0
0
0
0
0
0
0
-29
39
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
-8
7
0
0
0
0
0
0
0
-8
21
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
11
-2
0
0
0
0
0
0
3
-4
7
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
-19
-30
0
0
-6
0
0
0
0
10
4
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-2
22
10
0
0
0
0
0
0
0
-12
70
0
0
0
0
0
0
1
-36
19
0
0
0
0
0
0
0
-13
22
0
0
1
0
0
0
-1
-8
3
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-1
-5
5
0
0
0
0
0
0
-3
-7
-14
0
0
0
0
0
0
0
6
25
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
-6
-12
0
0
0
0
0
0
-2
5
-8
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
5
8
0
0
0
0
0
0
8
-9
-4
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
14
9
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-4
-23
41
0
0
0
0
0
0
7
3
9
0
0
0
0
0
0
1
-22
50
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
-3
16
-33
0
0
0
0
0
0
2
3
-10
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
2
-43
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
14
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
0
-16
-7
0
0
0
-1
0
0
0
-10
5
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
9
24
0
0
0
0
0
0
0
-13
8
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
2
-8
55
28
0
0
0
0
0
0
-7
-44
31
0
0
0
0
0
0
6
-2
-54
0
0
0
0
0
0
-1
-36
72
0
0
0
0
0
0
-2
-4
10
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
-8
-19
0
0
0
0
0
0
-3
8
-19
0
0
0
0
0
0
0
19
-13
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-4
22
4
0
0
0
0
0
0
0
-25
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-6
-10
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
1
0
0
0
0
1
-2
0
-1
7
0
0
0
0
0
0
-1
-10
24
0
0
0
0
0
0
0
25
-16
0
0
0
0
0
0
1
2
10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
2
20
0
0
0
0
0
-3
0
2
-8
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
-1
-13
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
1
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-43
0
0
0
0
0
0
0
1
9
0
0
0
-1
0
0
1
-5
-6
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
5
29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
-3
0
0
0
1
0
0
0
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-13
13
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
3
51
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-2
8
3
0
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
-2
-14
0
0
-2
0
0
0
0
-30
28
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
-19
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
-2
-2
23
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-4
-14
0
0
0
0
0
0
0
-10
-22
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
6
0
-8
12
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
3
-3
22
0
0
0
0
0
0
0
22
6
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
3
-3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
4
0
0
0
0
6
-7
0
5
37
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
-10
31
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
1
-8
0
0
0
0
-2
1
-2
1
-5
0
0
0
0
0
0
0
-8
-14
-4
0
0
0
0
0
0
-1
12
16
0
0
0
0
0
0
8
5
-4
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-2
-25
-6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
-1
5
5
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
5
10
-15
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
2
-34
0
0
0
0
-1
0
-32
6
-10
0
0
0
0
0
-2
7
-2
0
0
0
-6
0
0
-1
-7
21
0
0
0
0
0
0
0
-6
71
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
2
34
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
6
31
-1
0
0
0
0
0
0
-14
44
-2
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
4
-3
-17
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
1
-40
0
0
0
0
0
0
7
-4
40
0
0
0
0
0
0
-4
5
-33
0
0
0
0
0
0
-2
-8
34
0
0
0
0
0
0
-7
5
-13
0
0
0
0
0
0
3
-5
-34
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
-1
-4
0
0
-7
0
0
0
1
-50
4
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
2
12
2
0
0
0
0
0
0
0
4
27
0
0
0
0
0
0
0
-3
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-15
5
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
-1
56
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
-6
3
1
0
0
0
0
0
-1
-14
-9
0
0
0
0
0
0
0
-13
46
0
0
0
0
0
0
-2
1
-2
0
0
-8
0
0
0
0
-10
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
17
12
-14
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
-43
0
0
0
0
0
0
-12
10
31
0
0
0
0
0
0
2
-1
-78
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
-20
0
1
0
0
0
0
1
25
38
0
0
0
0
0
-1
9
-5
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
0
0
0
0
0
0
-2
-30
42
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
3
1
30
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
12
26
0
0
0
0
0
0
1
2
-17
0
0
0
0
0
0
0
1
-40
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
19
-30
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
9
9
0
0
0
0
0
0
0
-9
21
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
-41
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
18
0
0
1
0
0
0
-6
-8
-19
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
2
-28
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
2
8
29
0
0
0
0
0
0
1
8
-18
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
-7
-17
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-6
0
0
0
0
0
0
3
-3
-2
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-77
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
-1
-12
0
0
0
0
-2
0
0
41
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-1
-25
20
0
0
0
0
0
0
-2
5
-13
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
1
0
1
6
-2
0
0
0
0
0
0
-20
-14
-13
0
0
0
0
0
0
0
-23
-24
0
0
0
0
0
0
3
1
16
0
0
0
0
0
0
0
-34
17
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
60
0
0
0
0
1
0
0
5
6
0
0
0
0
0
0
-1
-8
80
-2
0
0
0
0
0
0
1
-75
21
0
0
0
0
0
0
1
9
6
0
0
0
0
0
0
6
-46
-6
0
0
0
0
0
0
-5
-6
-8
0
0
0
0
0
0
-2
-3
-12
0
0
2
0
0
29
1
-52
2
0
0
0
0
1
-6
8
0
0
0
0
0
0
0
-32
55
0
0
0
0
0
0
0
7
19
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
9
-40
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
7
29
-20
0
0
2
0
0
0
1
-18
20
0
0
0
0
0
0
-1
8
2
0
0
0
0
0
0
3
8
49
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
12
33
2
0
1
0
0
0
1
-9
-76
0
0
0
0
0
0
-1
0
24
-11
0
0
0
0
0
0
0
-19
11
0
0
0
0
0
0
1
-25
-30
0
0
0
0
0
0
1
-3
17
0
0
0
0
0
0
0
0
18
0
-2
0
0
0
-8
-14
30
-2
0
0
0
0
0
-10
-7
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
0
0
0
0
0
0
6
8
12
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
-1
38
-6
0
0
0
0
0
0
-2
-14
5
0
0
0
0
0
0
0
-13
70
0
0
0
0
0
0
0
25
3
0
0
0
0
0
0
0
-28
2
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
8
57
0
0
0
0
0
0
-4
1
-33
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
26
0
0
0
0
0
0
8
-4
23
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
-38
0
0
0
0
0
0
0
1
-38
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
-47
-7
0
0
0
0
0
1
0
-33
-7
0
0
0
0
0
0
0
-14
28
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
-1
-1
-17
-2
0
0
0
0
0
-1
0
0
-17
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
-10
14
7
-29
0
0
0
0
0
-1
-33
0
0
0
0
0
0
-1
-6
-8
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
-22
29
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-33
0
0
0
0
0
0
8
22
47
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
1
-75
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
-4
6
15
0
0
0
0
0
0
9
-18
33
0
0
0
0
0
0
0
5
-63
0
0
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
-16
3
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
-4
-1
44
8
0
0
0
0
0
-1
47
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
-8
40
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-53
0
0
-1
0
0
0
-2
-20
75
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
22
2
0
0
0
0
0
0
1
38
-40
0
0
0
0
0
0
0
-13
-24
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
4
-6
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
1
32
0
-1
0
0
0
0
-1
1
-20
0
0
3
-1
1
6
-40
0
0
0
0
0
0
0
7
23
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
-34
0
0
0
0
0
0
1
7
-62
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
1
-49
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
1
10
7
0
0
0
0
0
0
-1
-3
14
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
25
-46
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
4
-19
-35
0
0
17
-27
-20
-20
2
0
0
0
26
-3
-49
74
25
-5
0
0
0
0
9
-5
15
-2
-26
0
0
0
1
-6
-17
-8
17
-12
0
0
0
0
8
7
17
-11
10
0
0
0
-5
-1
4
18
16
12
0
0
0
0
0
-2
13
34
-9
0
0
-3
4
0
-8
5
-21
-7
0
0
0
0
18
8
16
-42
-27
0
0
0
15
-1
-4
-3
-4
13
0
0
0
0
0
2
7
17
-6
0
0
7
0
0
0
3
-1
-23
0
0
0
0
2
8
2
0
8
0
0
0
1
0
0
6
-9
-23
0
0
0
0
0
-1
0
-8
60
0
0
-2
0
0
1
-1
-26
16
0
0
0
0
-24
19
16
17
-93
0
0
0
-31
0
8
-22
-1
16
-7
0
0
0
4
5
-10
62
13
0
0
-44
3
3
-5
9
-16
43
-10
0
0
0
2
-22
-6
0
28
13
0
0
-4
0
3
-10
-2
-24
-2
0
0
0
0
1
5
-47
-32
38
0
9
0
0
2
6
-12
-13
-1
0
0
0
14
42
15
12
-22
-21
-1
0
41
-1
-5
0
-26
48
8
-34
0
0
-2
0
5
-41
8
31
0
23
0
-2
4
-8
12
3
-21
-42
0
0
-2
8
8
13
20
-16
31
0
-19
0
1
-6
-30
26
-28
28
0
0
-1
-5
-8
-8
10
48
-28
14
9
2
0
-29
17
31
-29
-13
0
0
-40
-31
0
-47
-4
0
0
0
0
0
-13
42
27
-9
0
0
0
0
-3
19
-14
36
20
0
0
0
0
0
0
7
-34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
23
-2
0
0
0
0
0
0
0
12
-38
0
0
0
0
0
-1
0
-8
22
0
0
0
0
0
0
0
20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-7
-2
-10
-5
0
0
0
0
0
0
7
-8
-13
0
0
0
0
0
0
4
-9
29
0
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-18
-18
10
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
0
0
1
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
4
3
65
-2
0
0
0
13
5
8
6
-7
-7
0
0
0
0
0
1
-1
29
-1
0
0
0
1
0
-1
1
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
0
0
-8
0
0
0
10
-10
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
111
0
0
0
-33
-2
0
0
28
-2
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
-1
4
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
24
0
0
0
-8
13
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-22
41
15
0
0
0
0
0
2
3
-27
-17
0
0
0
0
0
0
12
-45
61
0
0
0
0
0
0
-20
-51
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
0
8
11
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
19
0
0
0
0
0
0
0
-12
16
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-26
24
0
0
0
0
0
-2
13
-34
2
0
0
0
0
0
1
-1
62
-18
0
0
-6
0
0
0
-13
-28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
60
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
1
1
15
0
0
-1
0
0
0
0
24
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
10
0
0
0
0
0
0
-1
-9
17
0
0
0
0
0
0
0
3
-20
0
0
32
0
0
0
-1
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-11
-3
-6
0
0
0
0
0
0
-4
37
5
0
0
0
0
0
0
-1
-1
12
0
0
0
0
0
0
3
12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
-3
-10
46
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
3
-6
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
26
0
0
0
0
0
0
-1
-1
-13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-27
0
0
0
1
0
0
-13
-38
1
0
0
0
0
0
0
0
-25
-6
0
0
0
0
0
0
0
-7
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
-3
15
0
0
0
-24
0
0
0
5
41
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
8
-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
1
2
0
0
0
0
0
0
2
-10
-10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
5
-9
-3
0
0
0
0
0
0
4
-10
8
0
0
0
0
0
0
-3
-21
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
5
1
0
0
0
0
0
0
10
-20
6
0
0
0
0
0
0
-8
-40
29
0
0
-2
0
0
0
22
24
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-11
0
0
0
0
0
0
1
-3
28
0
0
0
0
0
0
0
9
-23
0
0
1
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
27
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
6
-1
21
0
0
0
0
0
0
-3
6
54
0
0
0
0
0
0
1
-22
5
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-10
0
0
0
0
0
0
0
10
22
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-2
2
31
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
3
6
0
0
0
0
0
0
0
-6
22
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
25
0
0
0
10
0
0
0
-22
8
0
0
0
0
0
0
1
-25
30
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
0
0
0
-13
0
0
0
-7
-4
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
2
0
0
0
7
-31
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
-10
26
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
-13
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
18
-30
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
5
0
0
0
0
0
0
0
4
43
0
0
0
0
0
0
-1
7
-5
0
0
0
0
0
0
-4
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
13
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-24
0
0
0
0
0
0
0
1
71
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
14
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
0
0
0
0
0
0
-1
5
-51
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
-1
9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
14
15
0
0
0
0
0
0
-2
-37
8
0
0
0
0
0
0
-3
7
-16
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
40
-27
-39
45
0
0
0
0
0
0
-5
13
-15
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-1
5
-55
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
4
-3
-27
-1
0
0
0
0
-3
0
-13
28
-4
0
0
0
0
0
0
-6
10
7
0
0
0
0
0
0
5
9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
6
-28
-8
22
0
0
0
0
0
0
-22
3
31
0
0
0
0
0
-1
10
-16
-4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
-2
0
0
-2
-8
34
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
-22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
33
0
0
0
-2
0
0
-1
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
65
-1
0
0
22
0
0
0
15
1
-1
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
-5
-22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
-15
0
0
0
0
0
0
-12
20
-4
0
0
0
0
0
0
0
4
-27
0
0
0
0
0
0
0
-23
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
-5
0
0
0
0
0
0
0
27
-3
0
0
0
0
0
0
0
-9
12
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
10
0
0
0
0
0
0
2
6
52
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
-1
-4
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
21
-28
0
0
0
0
0
0
1
-34
-32
0
0
0
0
0
0
0
1
6
0
0
20
0
0
0
-1
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
20
0
0
0
0
0
0
0
-41
-23
0
0
0
0
0
0
0
-20
-14
0
0
1
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-1
0
0
0
0
0
0
-8
29
-10
0
0
0
0
0
0
1
0
10
0
12
0
0
0
0
-24
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-29
0
0
0
0
0
0
-5
14
-2
0
0
0
0
0
0
2
-2
-21
0
-2
0
0
0
0
-5
-1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
-14
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-12
-4
0
0
0
0
0
0
1
0
27
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
12
-6
0
0
0
0
0
0
-7
-18
26
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-8
31
0
0
0
0
0
0
-15
9
2
0
0
0
0
0
0
-1
-5
-15
0
0
0
0
0
0
1
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-12
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
0
0
1
0
0
0
2
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
10
0
0
1
0
0
0
-1
-58
2
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
1
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-73
0
0
1
0
0
0
8
28
15
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
60
0
0
0
0
0
0
0
6
-66
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
1
-7
-4
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
5
0
0
0
0
0
0
-2
6
4
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
2
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-15
0
0
0
0
0
0
6
1
-30
0
0
0
0
0
0
-3
0
-41
0
-1
0
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-7
17
-19
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
9
-25
-15
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
-1
-23
27
0
0
0
0
0
0
1
-20
-22
17
0
0
0
0
0
0
25
3
-44
0
0
0
0
0
0
1
-1
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
16
-13
0
-1
0
0
0
0
0
3
-8
-18
0
0
0
0
0
0
5
-7
17
-5
0
0
0
0
0
0
-1
-112
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
5
0
-2
1
6
-5
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
0
0
0
3
0
0
0
6
48
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-23
23
0
0
5
0
0
-1
-8
10
-24
0
0
0
0
0
0
-1
-2
36
0
0
0
0
0
-2
-3
-14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-31
-8
0
2
0
0
0
3
-16
-37
15
0
0
0
0
0
-2
2
-3
9
0
0
0
0
0
-1
-1
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
0
16
41
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-13
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-14
-23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
4
0
0
0
0
0
0
-1
-29
-8
0
0
0
0
0
0
4
-5
18
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
38
-28
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
-66
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-19
20
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-9
0
0
0
0
0
0
-13
2
17
0
0
0
0
0
0
2
-1
-45
0
0
0
0
0
0
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-84
6
0
0
0
0
0
-2
0
-28
41
0
0
0
0
0
0
0
-13
-9
1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
5
6
9
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
25
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
65
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
1
-10
14
0
0
0
0
0
0
-10
32
-33
0
0
0
0
0
-2
6
-16
2
0
0
0
0
0
0
1
-6
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
29
-29
35
0
0
0
0
0
1
-12
7
-14
0
0
0
0
0
-4
2
38
-28
0
0
0
0
0
1
3
19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
-4
0
0
0
-7
23
0
0
0
0
0
0
0
-3
60
0
0
0
1
0
0
-1
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
20
0
0
-2
0
0
0
2
5
11
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-49
-25
0
-1
0
0
0
-5
-47
-71
29
0
0
0
0
0
0
-2
2
26
0
0
0
0
0
0
0
12
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-3
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
3
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
12
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
14
23
0
0
0
0
0
0
3
4
3
0
0
0
0
0
0
-2
1
-72
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
1
20
30
0
0
0
0
0
7
0
-43
20
0
0
0
0
0
0
3
2
-64
0
0
0
0
0
1
-2
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
11
-9
-17
0
0
0
7
-5
-7
-10
76
-10
0
0
0
0
5
1
9
-61
0
0
0
-1
-1
-5
0
9
-35
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
5
-3
0
0
0
16
0
0
-1
-16
10
0
0
0
0
0
2
-1
0
-14
0
0
2
0
0
0
0
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-10
10
-13
36
-7
0
0
-7
-1
2
-9
0
-6
12
0
0
0
-4
0
0
-33
-3
18
0
-29
1
0
0
0
-7
7
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
8
33
-15
-8
1
0
-7
-1
0
-1
-9
-4
-67
-10
0
0
0
0
0
-6
9
16
8
12
0
0
0
-1
-34
-19
-8
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-5
-15
17
0
0
0
0
0
-3
12
13
-14
0
0
0
0
-2
0
5
33
12
0
0
0
0
0
0
7
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
-5
-38
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
1
-19
26
0
0
0
0
0
0
-1
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-8
-24
0
0
0
0
0
0
0
-10
-11
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
-1
0
0
0
7
0
2
2
61
-8
0
0
0
0
0
0
-1
-40
61
0
0
0
0
0
0
0
32
-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
-12
37
0
0
0
-4
0
0
-3
5
5
0
0
0
0
0
0
0
-16
40
0
0
0
0
0
0
1
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
0
0
0
5
0
0
1
-4
-13
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-23
0
0
0
3
0
0
0
-22
28
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
17
2
0
0
0
0
0
0
0
37
1
0
0
0
0
0
0
1
-20
11
0
0
0
0
0
0
0
-13
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
40
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-26
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
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
-2
-6
36
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
19
4
0
0
0
0
0
0
-9
-20
1
0
0
0
0
0
0
3
-41
6
0
0
-2
0
0
0
2
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
-1
4
15
0
0
0
0
0
0
-1
-2
23
0
0
1
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
26
0
0
0
0
0
0
2
4
8
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
-1
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-13
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
-1
52
0
0
0
0
0
0
3
5
-11
0
0
0
0
0
0
0
18
-44
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
-6
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
48
0
0
0
0
0
0
0
-29
13
0
0
0
0
0
0
0
-16
12
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
0
-1
0
0
1
-9
24
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-30
0
0
0
0
0
0
0
24
-4
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
-1
-4
-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
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
1
-25
0
0
0
0
0
-1
-5
-30
-11
0
0
0
0
0
0
-4
-8
24
0
0
0
0
0
0
8
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
8
0
0
0
0
0
0
4
9
13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
16
-22
0
0
0
0
0
-1
0
-8
27
0
0
0
0
0
0
0
-24
40
0
0
0
0
0
0
0
5
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-8
-14
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
0
0
0
0
0
0
1
-18
12
0
0
0
0
0
0
0
-20
19
0
0
0
0
0
0
0
4
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
0
0
1
0
0
0
9
4
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
0
10
32
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
-9
-16
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
0
0
0
0
0
-1
-6
29
0
0
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-3
25
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
0
-15
36
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
-2
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
-45
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
38
0
0
0
0
0
0
-3
-7
-41
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
62
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-15
48
0
0
0
0
0
-5
4
-13
35
0
0
0
0
0
1
0
0
23
0
0
0
0
0
0
-1
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
-18
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
23
0
0
0
0
0
0
0
3
-41
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
4
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-20
29
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-7
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
3
-54
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-3
-8
-32
1
0
0
0
0
0
0
1
93
-4
0
0
0
0
0
-4
-5
7
1
0
0
0
0
0
0
6
8
-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
-2
-4
-8
-5
0
0
0
0
0
0
5
7
-43
0
0
0
0
0
0
2
-12
-6
0
0
0
0
0
0
0
-8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
21
0
0
0
-9
0
0
-2
2
-16
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
1
0
0
0
-3
32
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
49
0
0
0
-18
0
0
0
37
0
-5
0
0
0
0
0
0
25
-2
-12
0
0
0
0
0
-3
-18
13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
10
0
0
0
0
0
0
-42
5
-14
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
-25
24
0
0
0
0
0
0
0
23
-14
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
30
7
0
0
0
0
0
0
8
-3
-3
0
0
0
0
0
0
-3
-13
16
0
0
0
0
0
0
6
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-23
0
0
0
0
0
0
1
-4
6
0
0
0
0
0
0
1
1
-16
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
10
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
3
14
0
0
-5
0
0
0
-1
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
6
-1
0
0
0
0
0
0
-23
33
-1
0
0
0
0
0
2
4
-3
4
0
3
0
0
0
-1
7
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
-13
0
0
0
0
0
0
1
-4
-39
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
9
25
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
23
0
0
0
0
0
0
8
-41
3
0
0
0
0
0
0
2
3
-14
0
0
0
0
0
0
-1
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
6
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-8
0
0
1
0
0
0
-8
34
-5
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
2
1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
19
0
0
0
0
0
0
-6
4
8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-37
0
0
0
0
0
0
1
-16
-14
0
0
0
0
0
0
0
4
27
0
0
3
0
0
0
-1
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
4
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
25
-15
0
0
0
0
0
0
-3
-9
-3
0
0
0
0
0
0
1
1
-28
0
0
0
0
0
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-25
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
24
-10
0
0
0
0
0
0
0
-16
25
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
1
14
0
0
0
0
0
0
-9
-12
32
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-13
-5
0
0
0
0
0
1
2
44
4
0
0
0
0
0
0
-1
-8
-42
5
0
0
0
0
0
2
12
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
-3
0
0
1
-15
41
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
-5
39
0
0
0
0
0
0
-5
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
25
-8
1
0
6
0
0
0
7
6
-11
-3
0
0
0
0
0
0
2
28
2
0
0
0
0
0
5
7
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
31
-24
0
0
0
0
0
0
2
-1
9
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
71
4
0
0
0
0
0
5
-3
-8
30
0
0
0
0
0
1
-5
44
-34
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-23
8
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
-13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-22
0
0
0
0
0
0
-8
1
47
0
0
0
0
0
0
-3
2
-60
0
0
0
0
0
0
-8
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
-38
-4
0
0
0
0
0
7
1
-24
-34
0
0
0
0
0
0
2
-32
-36
0
0
0
0
0
-6
-5
19
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
-32
18
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
1
0
0
0
0
0
0
0
-8
-12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
33
23
0
0
0
0
0
0
-5
1
-24
0
0
0
0
0
0
0
1
-73
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
5
0
0
0
0
0
2
-7
13
4
0
0
0
0
0
-1
0
43
16
0
0
0
0
0
0
5
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
26
0
0
0
3
0
0
0
-18
34
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
4
0
0
0
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
-8
0
0
0
-2
12
-40
0
0
0
0
0
0
1
0
-39
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-74
28
0
0
0
0
0
-9
-10
8
-46
0
0
0
0
0
0
0
7
-38
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
-20
-45
0
0
0
0
0
0
0
-18
34
0
0
0
0
0
0
0
3
46
0
0
0
0
0
0
1
-14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
8
-4
0
0
0
0
0
0
0
-12
32
0
0
0
0
0
0
1
-16
-14
0
0
0
0
0
0
0
2
-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
6
-35
-17
0
0
0
0
0
0
7
17
-26
0
0
0
0
0
-1
-1
-27
31
0
0
0
0
0
0
-1
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
6
3
5
-2
0
0
0
-13
0
-3
60
30
-3
0
0
0
0
1
30
24
3
-14
0
0
4
-10
-8
-12
-30
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
14
-12
-29
0
0
0
9
-2
-5
-4
-21
-3
0
0
0
0
0
-2
8
-8
26
0
0
-14
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-44
10
44
-4
1
0
0
31
-8
8
-13
-99
-55
0
0
0
0
-6
6
4
-25
53
7
0
20
1
2
0
-8
-15
-26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-9
-23
15
-15
0
0
-11
-1
2
0
15
8
-72
-5
0
0
1
-1
-8
-19
29
-1
34
-8
2
0
0
-2
-58
-5
-71
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-6
13
-59
8
0
0
0
0
-8
26
-3
-46
6
0
0
0
0
-58
39
-6
-26
10
0
0
0
0
2
49
56
-23
7
0
0
0
0
-20
12
63
-61
5
0
0
0
0
-41
-21
41
16
41
0
0
0
0
-2
1
-21
0
0
0
0
0
0
-7
29
3
-1
4
0
0
0
0
37
-23
1
-41
42
0
0
0
0
0
49
18
6
-18
0
0
0
0
35
-48
5
-65
38
0
0
0
0
2
58
-49
-18
23
0
0
0
0
-29
72
51
-16
2
0
0
0
0
8
-57
39
23
95
0
0
0
0
33
-54
15
70
25
0
0
0
0
-30
-37
-59
18
26
0
0
0
0
-14
-21
-3
-49
62
0
0
0
0
-1
27
39
-75
-5
0
0
0
0
-36
20
-1
-15
68
0
0
0
0
0
-9
33
24
-24
0
0
0
0
-4
-52
8
-45
15
0
0
0
0
7
-73
15
-18
5
0
0
0
0
3
18
-18
-8
57
0
0
0
0
21
28
59
-41
26
0
0
0
0
48
-24
-46
34
26
0
0
0
0
1
-59
82
-7
62
0
0
0
0
-6
-42
25
14
-17
0
0
0
0
8
67
5
-33
5
0
0
0
0
34
-56
24
-33
32
0
0
0
0
13
-40
70
-55
5
0
0
0
0
31
143
66
-13
-87
0
0
0
0
13
24
-2
-1
-13
0
0
0
0
0
20
-20
43
-1
0
0
0
4
-30
54
5
9
7
0
0
0
0
0
-15
-17
-13
40
0
0
0
-16
0
-25
-2
23
16
0
0
0
0
33
38
40
-42
-1
0
0
0
33
-16
-9
12
47
-2
0
0
0
0
0
3
-13
-22
37
0
0
0
-5
0
-4
90
-22
22
0
0
0
0
0
-20
1
-22
34
0
0
0
-33
-7
-2
-29
6
59
0
0
0
0
0
-16
-9
-7
-15
0
0
0
25
0
-45
-41
-43
40
0
0
0
0
0
-2
0
-88
30
0
0
0
20
0
-8
-23
70
-14
0
0
0
0
0
5
-18
2
-24
0
0
0
31
0
-29
33
26
11
0
0
0
0
0
3
39
-37
11
0
0
0
66
-2
-8
-6
-18
0
0
0
0
0
0
1
-8
32
-22
0
0
0
-29
0
0
-30
25
38
0
0
0
0
0
2
-43
-59
41
0
0
0
-6
5
9
-13
90
-57
0
0
0
0
0
4
5
-3
18
0
0
0
21
0
5
45
-26
20
0
0
0
0
0
3
-48
30
34
0
0
0
17
0
14
3
-40
-7
0
0
0
0
0
2
7
-43
60
0
0
0
15
0
-3
13
7
-7
0
0
0
0
-1
22
-64
17
22
0
0
0
20
-29
-1
51
20
10
0
0
0
0
0
-91
16
-91
56
0
0
0
8
9
58
81
-30
-1
0
0
0
0
12
-40
11
-60
-2
0
0
0
0
0
1
-1
45
9
0
0
0
0
16
-1
8
12
-13
0
0
0
0
0
-12
14
35
9
0
0
0
0
-1
5
0
11
-56
0
0
0
0
0
-2
14
-57
53
0
0
0
0
2
-2
20
-11
-6
0
0
0
0
0
-55
20
-13
40
0
0
0
0
8
62
-47
-51
-16
0
0
0
0
0
-5
8
-43
6
0
0
0
0
6
-49
65
-18
7
0
0
0
0
0
4
-19
-35
-30
0
0
0
0
0
4
-19
-9
95
0
0
0
0
0
-5
-2
-74
48
0
0
0
0
2
27
41
-55
-7
0
0
0
0
-4
2
27
-10
13
0
0
0
0
0
3
33
-14
-46
0
0
0
0
0
1
3
-33
11
0
0
0
0
2
-16
-34
-38
22
0
0
0
0
0
3
-24
34
13
0
0
0
0
0
15
-4
-34
-3
0
0
0
0
0
1
-25
0
80
0
0
0
0
0
2
21
28
-1
0
0
0
0
-2
8
43
-5
34
0
0
0
0
22
-5
89
-112
19
0
0
0
0
0
1
-18
9
9
0
0
0
0
9
15
-44
-50
46
0
0
0
0
0
-6
10
44
16
0
0
0
0
12
40
14
26
-131
0
0
0
0
5
13
-24
-17
-65
0
0
0
0
13
-15
7
-76
43
0
0
0
0
-3
39
1
-20
15
0
0
0
0
0
13
-32
-27
-16
0
0
0
8
-1
-5
-8
-13
14
0
0
0
0
0
-4
-55
-11
8
0
0
-3
-53
2
17
-41
6
-3
0
0
0
0
0
1
19
-53
12
0
0
0
0
0
-7
-9
-80
18
0
0
0
0
0
-16
6
-28
28
0
0
2
-1
-9
4
-9
10
-30
0
0
0
0
0
0
-13
53
-11
0
0
0
15
0
-1
55
-35
1
0
0
0
0
0
41
-22
-27
2
0
0
-30
-1
-1
10
75
-75
-14
0
0
0
0
0
-3
3
3
13
0
0
0
-2
0
-2
12
-6
-33
0
0
0
0
0
1
-13
-17
-2
0
0
100
-2
4
40
-15
-13
-89
0
0
0
0
0
1
59
-63
17
0
0
0
0
0
0
-19
-49
73
0
0
0
0
0
-2
-16
28
35
0
0
-19
-39
1
-4
-4
-6
12
0
0
0
0
0
-3
-42
-16
48
0
0
0
0
0
4
11
-26
-51
0
0
0
0
0
0
0
-61
16
0
0
19
0
3
-36
60
-3
-34
0
0
0
0
0
1
4
26
11
0
0
0
-25
0
0
-4
21
-31
0
0
0
0
0
-4
-29
-34
53
0
0
19
5
0
-36
0
26
16
0
0
0
0
0
8
-17
-58
64
0
0
0
-2
0
0
-18
-10
47
0
0
0
0
0
13
18
-52
61
0
0
-38
63
-45
11
8
27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-26
-33
-18
42
0
0
0
0
0
0
-14
-19
8
0
0
0
0
-2
-23
19
25
-19
0
0
0
0
0
10
-1
-16
67
0
0
0
0
3
34
0
7
27
0
0
0
0
0
0
-14
8
-16
0
0
0
0
1
-1
9
-5
-10
0
0
0
0
-1
-2
-3
-54
69
0
0
0
0
84
-14
23
3
6
0
0
0
0
0
4
0
0
25
0
0
0
0
2
18
46
-46
3
0
0
0
0
0
16
42
-9
-49
0
0
0
0
1
-14
29
-35
34
0
0
0
0
0
-7
-7
-3
30
0
0
0
0
29
-71
9
-15
-13
0
0
0
0
-5
41
-39
-3
14
0
0
0
0
-32
-32
15
-34
30
0
0
0
0
0
0
-1
-42
103
0
0
0
0
2
-15
30
-18
45
0
0
0
0
0
-8
-24
-30
68
0
0
0
0
5
8
-9
-20
119
0
0
0
0
0
1
3
-13
44
0
0
0
0
4
15
42
-38
-23
0
0
0
0
-8
-9
12
39
-49
0
0
0
0
-13
-117
7
-9
54
0
0
0
0
0
5
2
2
-24
0
0
0
0
3
5
42
-18
-14
0
0
0
0
-2
-9
21
31
48
0
0
0
0
-19
-26
66
24
-8
0
0
0
0
1
4
-15
28
26
0
0
0
0
-1
9
-58
-8
24
0
0
0
0
-36
66
50
31
-32
0
0
0
0
0
0
-7
16
19
0
0
0
-45
0
0
-7
5
7
0
0
0
0
0
0
-5
-23
-3
0
0
0
6
0
0
2
-14
-50
0
0
0
0
0
0
-3
8
36
0
0
0
3
0
0
-15
7
12
0
0
0
0
0
0
2
1
21
0
0
0
-1
0
0
32
-16
-38
0
0
0
0
0
2
-21
-19
10
0
0
0
34
0
-3
15
-36
3
0
0
0
0
0
0
2
-54
46
0
0
0
-1
0
0
-67
28
36
0
0
0
0
0
-1
-5
-5
44
0
0
0
3
0
3
-12
12
20
0
0
0
0
0
0
3
-28
-6
0
0
0
-2
0
-13
25
-7
-35
0
0
0
0
0
0
5
-19
5
0
0
0
-53
0
1
0
-96
70
0
0
0
0
0
0
-3
-15
23
0
0
0
0
0
-1
2
-13
-16
0
0
0
0
0
0
-3
-5
13
0
0
0
25
0
3
-1
3
-22
0
0
0
0
0
0
0
-65
4
0
0
0
-2
0
0
-13
-63
49
0
0
0
0
0
3
9
-88
5
0
0
0
-9
0
-3
1
-23
22
0
0
0
0
0
0
0
71
-3
0
0
0
-1
0
1
0
-65
21
0
0
0
0
0
3
4
-5
55
0
0
0
37
-2
2
1
-20
-14
0
0
0
0
-1
0
0
-38
3
0
0
0
-38
1
-43
-14
2
8
0
0
0
0
-1
-5
-3
-82
34
0
0
0
0
0
2
-5
-29
-22
0
0
0
0
0
1
1
-36
-17
0
0
0
0
0
3
1
31
25
0
0
0
0
0
0
1
-18
26
0
0
0
0
0
0
-2
30
2
0
0
0
0
0
-2
-1
-10
8
0
0
0
0
0
0
-5
41
-2
0
0
0
0
0
3
-27
-68
66
0
0
0
0
0
-2
-3
-59
160
0
0
0
0
0
19
-10
-38
-32
0
0
0
0
0
8
-3
26
-18
0
0
0
0
0
4
-2
3
-51
0
0
0
0
0
-1
0
-6
-5
0
0
0
0
-7
-22
1
-1
46
0
0
0
0
-8
-54
74
-15
-26
0
0
0
0
0
-2
4
8
30
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
0
-2
30
-8
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
2
-16
32
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-1
-2
9
0
0
0
0
0
-1
6
-4
-23
0
0
0
0
1
0
-4
13
28
0
0
0
0
0
0
0
0
14
0
0
0
0
-4
9
0
36
-50
0
0
0
0
0
3
-5
-96
51
0
0
0
0
1
-2
4
23
-3
0
0
0
0
0
1
-4
-17
82
0
0
0
0
7
10
4
-16
75
0
0
0
0
-19
11
-81
7
-9
0
0
0
0
0
7
3
4
20
0
0
0
0
0
-1
-8
-40
-19
0
0
0
0
0
0
0
-27
32
0
0
14
0
0
3
-42
29
33
0
0
0
0
0
0
8
-3
-46
0
0
0
0
0
1
4
-23
5
0
0
0
0
0
-1
0
-3
21
0
0
1
0
0
2
-14
3
11
0
0
0
0
0
-5
38
-64
31
0
0
0
2
0
0
2
-37
-52
0
0
0
0
0
-3
-24
-20
-13
0
0
48
2
0
6
-20
-41
8
0
0
0
0
0
0
2
2
43
0
0
0
0
0
0
-4
-1
-25
0
0
0
0
0
0
-6
-38
0
0
0
-23
5
-1
-41
-15
-9
67
0
0
0
0
0
-1
8
22
-16
0
0
0
0
0
0
0
-4
40
0
0
0
0
0
-2
0
-7
43
0
0
40
0
0
1
4
-45
3
0
0
0
0
0
0
7
-8
-38
0
0
0
0
0
0
1
-7
-6
0
0
0
0
0
0
-5
-3
2
0
0
-9
0
0
2
-47
-4
-43
0
0
0
0
0
0
3
-12
69
0
0
0
0
0
0
2
8
23
0
0
0
0
0
0
-2
3
3
0
0
-10
-4
-1
-1
25
-53
70
0
0
0
0
0
1
0
2
23
0
0
0
-2
0
0
7
23
-78
0
0
0
0
1
-2
13
15
-27
0
0
35
-9
0
20
-20
-34
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
11
110
46
-40
0
0
0
0
0
-13
74
-51
-49
0
0
0
0
-4
18
-22
22
46
0
0
0
0
0
16
39
-16
-1
0
0
0
0
-6
-73
23
28
20
0
0
0
0
1
-9
-4
30
84
0
0
0
0
0
5
-20
20
-11
0
0
0
0
-1
-21
-13
29
-24
0
0
0
0
-58
84
83
-44
12
0
0
0
0
0
2
4
9
3
0
0
0
0
5
-9
-10
-22
75
0
0
0
0
0
-13
5
-48
44
0
0
0
0
-12
-30
-14
7
57
0
0
0
0
0
5
2
-24
-23
0
0
0
0
30
25
23
-50
13
0
0
0
0
-23
7
35
17
7
0
0
0
0
63
-11
-33
-22
20
4
0
0
0
0
-25
-60
-23
-71
13
0
0
0
-15
46
8
7
-2
2
0
0
0
1
-17
39
-11
53
7
0
0
0
-11
-49
-19
-3
24
15
0
0
0
-4
-13
-24
-8
26
4
0
0
0
55
7
-37
-89
21
0
0
0
0
64
20
25
-58
9
-26
0
0
0
-18
-6
37
39
11
17
0
0
0
0
-4
45
-50
-32
16
0
0
0
12
-8
-20
-20
33
0
0
0
0
0
-18
18
-37
28
-11
0
0
0
-41
33
36
26
7
-10
0
0
0
17
-41
52
-47
27
8
0
0
0
-46
-3
19
76
81
-36
0
0
0
24
-27
12
-13
49
2
0
0
0
0
4
-33
-41
-9
0
0
0
-22
-2
9
1
-58
12
0
0
0
0
0
0
29
25
-34
0
0
0
1
0
-2
31
-72
21
0
0
0
0
0
4
-40
58
60
0
0
0
18
0
-12
66
-29
-17
0
0
0
0
0
-1
0
-59
-2
0
0
0
0
1
-5
36
-36
25
0
0
0
0
0
2
6
-22
53
0
0
0
-55
0
1
0
-47
31
0
0
0
0
0
1
-4
1
45
0
0
0
17
0
-6
7
28
11
0
0
0
0
0
0
1
-30
42
0
0
0
49
0
4
-17
22
12
0
0
0
0
0
6
-2
-18
25
0
0
0
30
1
-40
12
25
0
0
0
0
0
0
0
25
-2
8
-5
0
0
-19
-6
1
3
22
24
-1
0
0
0
0
1
38
-38
-10
-2
0
0
0
0
0
-27
0
16
-6
0
0
0
0
0
21
-59
-22
10
0
0
-59
-1
-1
8
-81
80
19
0
0
0
0
-1
0
-18
9
-12
0
0
-17
1
9
6
0
2
-10
0
0
0
0
3
5
5
-15
8
0
0
-23
0
0
-2
-59
-12
36
0
0
0
0
0
8
-25
29
-8
0
0
10
0
-2
-40
-75
85
26
0
0
0
3
-2
-9
19
108
-33
0
0
86
-3
0
-33
-44
7
11
0
0
0
3
-4
-6
12
40
-12
0
0
-56
-14
-21
3
-13
13
3
0
0
0
2
2
-3
2
42
0
0
0
0
0
0
1
-53
41
0
0
0
0
2
16
41
-88
-39
0
0
0
0
0
1
12
-74
50
0
0
0
0
0
0
-14
-26
2
0
0
0
0
0
3
-1
-11
41
0
0
0
0
0
1
0
16
0
0
0
0
0
0
5
15
-104
63
0
0
0
0
0
-1
-3
30
15
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
5
1
15
-23
0
0
0
0
0
-4
1
-24
0
0
0
0
0
0
0
0
8
-9
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
-5
22
30
-53
0
0
0
0
1
1
22
-21
-4
0
0
0
0
1
0
-7
-59
131
-8
0
0
0
0
0
1
68
-23
-5
0
0
0
-8
-22
-58
-22
21
-1
0
0
0
0
-3
46
-12
-22
-16
0
0
0
0
0
3
3
-78
15
0
0
0
0
0
-8
-19
4
7
0
0
0
-4
-17
-14
5
22
5
0
0
0
5
32
-5
-13
39
-19
0
0
0
1
-1
72
-61
71
1
0
0
0
0
1
-2
-49
31
14
0
0
0
1
-9
-19
-29
-18
33
0
0
0
0
0
-24
6
57
-30
0
0
0
-2
-1
4
25
17
10
0
0
0
-1
-2
13
14
44
-22
0
0
0
3
16
8
-42
-29
10
0
0
0
-21
-13
8
-2
32
5
0
0
0
0
-3
9
57
13
0
0
0
0
0
-1
14
7
19
0
0
0
0
0
-1
25
-22
48
0
0
-3
3
1
-6
-9
-66
-20
0
0
0
0
0
2
6
-31
-11
0
0
0
0
0
3
3
-71
24
0
0
0
0
0
0
1
5
8
0
0
-1
0
-1
29
8
-35
10
0
0
0
0
0
2
-4
-9
52
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
3
-7
-40
19
0
0
25
0
0
14
0
16
15
0
0
0
0
0
0
-4
6
-34
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-2
3
-5
0
0
-8
0
-1
-13
-9
-62
6
0
0
0
0
0
2
23
3
70
-25
0
0
0
0
0
14
-94
29
-9
0
0
0
0
-2
0
-59
-15
-20
0
-8
2
2
-6
-36
17
87
-4
0
0
0
0
-1
-20
86
-19
-14
0
0
0
0
0
32
5
5
18
0
0
0
0
0
8
-22
-13
6
0
12
0
3
-10
-49
15
6
5
0
0
0
0
0
1
22
-3
-17
0
0
-2
0
0
5
7
71
-32
0
0
0
0
0
3
-35
32
8
0
1
-4
0
0
17
-16
-19
33
0
0
0
0
0
7
-60
-16
22
0
0
7
0
0
0
-9
37
-23
0
0
0
0
-3
24
-20
8
7
0
11
4
7
-3
-84
-32
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-9
-93
54
0
0
0
0
0
0
-47
-14
44
0
0
0
0
2
4
74
-17
-19
0
0
0
0
0
5
74
-80
-16
0
0
0
0
0
-45
-9
15
112
0
0
0
0
0
0
22
12
21
0
0
0
0
0
-5
5
-2
3
0
0
0
0
0
-25
-39
30
56
0
0
0
0
-33
-12
-4
65
-35
0
0
0
0
0
2
2
-52
-25
0
0
0
0
-1
-9
-17
57
10
0
0
0
0
0
-12
-48
40
17
0
0
0
0
2
-15
5
9
-18
0
0
0
0
-2
3
-1
1
-37
0
0
0
0
8
19
-7
-32
32
0
0
0
0
22
-5
-11
-15
-37
0
0
0
0
-1
58
90
-39
38
-36
0
0
0
0
0
18
-8
-28
30
0
0
0
0
5
79
-28
42
3
0
0
0
0
1
34
-68
36
-9
0
0
0
20
40
-32
-4
-7
24
0
0
0
-1
3
12
-5
-20
2
0
0
0
0
8
-10
76
-14
-34
0
0
0
-3
57
37
-41
-1
-11
0
0
0
-42
-11
-23
53
13
-38
2
0
0
0
20
23
8
0
-7
-1
0
0
-8
7
-39
-74
22
-22
10
0
0
0
17
-11
-65
22
-25
2
0
0
-71
-7
32
-1
40
7
0
0
0
26
-47
-28
7
42
-30
-14
0
0
3
16
2
-20
79
-10
-11
0
0
-5
39
40
-40
-11
-32
-2
0
0
0
0
5
-32
33
0
0
0
36
0
2
-2
-113
-17
0
0
0
0
0
0
-12
-13
9
0
0
0
3
0
-3
13
-2
46
0
0
0
0
0
0
-1
-12
77
0
0
0
2
0
0
-7
5
3
0
0
0
0
0
0
4
19
3
0
0
0
0
0
0
28
-28
43
0
0
0
0
0
0
3
-7
-26
0
0
0
-28
0
-2
0
3
52
0
0
0
0
0
0
0
-13
-1
0
0
0
-6
0
-5
34
0
-14
0
0
0
0
0
3
0
-9
40
0
0
0
-25
0
0
-8
-21
55
0
0
0
0
0
0
5
-5
-7
0
0
0
-2
0
2
13
-16
29
0
0
0
0
0
0
5
-83
28
11
0
0
-20
0
2
5
-16
-8
-2
0
0
0
0
0
1
-34
17
4
0
0
0
0
0
-8
-54
9
9
0
0
0
0
0
-8
22
7
-30
0
0
-9
0
-3
16
28
6
14
0
0
0
0
0
0
38
65
-56
0
0
0
0
-1
3
-92
55
11
0
0
0
0
-1
44
-30
29
24
-17
0
86
0
-24
-70
53
48
-28
-11
0
0
0
0
-24
27
-29
0
-24
0
-2
0
-5
9
24
-46
-42
-30
0
0
5
-3
8
5
-38
-78
31
0
-17
0
0
-7
9
-26
-20
-12
0
0
0
-10
-8
-83
15
-73
43
0
109
-4
-16
-36
-81
8
30
-28
0
0
0
4
0
-3
-28
0
0
0
0
0
0
-3
-48
41
0
0
0
0
0
0
18
4
-12
0
0
0
0
0
2
0
16
40
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-2
-10
-1
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
17
-5
13
0
0
0
0
1
0
0
-38
16
0
0
0
0
0
0
0
4
-3
0
0
0
0
-1
-2
-9
59
-7
0
0
0
0
0
-2
2
-56
48
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-15
-6
0
0
0
0
-1
-1
0
-4
-8
0
0
0
0
4
-5
-42
8
17
0
0
0
0
0
-4
5
-25
-16
-15
0
0
0
0
0
1
-20
-6
1
0
0
0
0
0
3
6
42
-71
0
0
0
0
-1
0
26
-43
-11
0
0
0
0
0
-8
-5
15
-40
0
0
0
0
-3
0
-6
2
-58
0
0
0
0
0
0
7
-4
-52
0
0
0
0
-20
25
-49
29
17
0
0
0
-2
-1
-13
37
-23
34
0
0
0
0
0
0
-69
-50
-7
56
0
0
-7
27
7
-43
60
-6
-20
0
0
-3
2
-22
-17
-68
-9
6
0
0
-8
1
-1
16
33
-40
4
0
0
0
-2
-3
-9
-19
11
32
0
0
-16
4
14
57
45
-52
18
0
0
-12
-17
-61
-50
-71
-21
22
0
0
0
0
6
17
-86
0
0
0
0
0
0
-10
-36
51
0
0
0
0
0
0
-15
7
27
0
0
-6
0
0
0
-22
-98
-23
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
-60
-13
1
0
0
0
0
0
-2
3
-3
4
0
0
0
0
0
0
-1
-23
1
0
0
0
0
0
0
5
-6
-22
0
0
-8
0
0
22
-16
15
-48
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
2
0
0
-1
-1
0
-2
-9
12
-10
0
0
0
0
0
1
-9
-82
62
-36
0
0
0
0
0
-24
-43
41
45
0
0
0
0
0
5
9
8
-76
0
-71
0
0
-2
-29
-33
27
6
0
0
0
0
-1
0
0
-9
23
0
0
0
0
0
-4
-2
3
31
0
0
0
0
0
-2
1
1
-73
0
44
0
0
-38
32
-48
-5
11
0
0
0
0
8
-32
64
-12
-49
-5
0
0
0
0
30
68
-43
-47
-39
0
0
0
0
5
-5
75
-37
-19
58
1
0
-55
21
11
-83
17
1
0
0
0
-7
-4
-72
25
-3
10
0
0
0
-2
25
7
-24
-65
27
0
0
-1
1
-8
15
28
10
23
-53
20
0
-20
-35
8
21
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-50
24
-49
34
0
0
0
0
-1
13
78
-103
19
0
0
0
0
36
-50
-21
-37
-7
0
0
0
0
0
70
-2
57
-20
0
0
0
0
20
-22
88
-39
51
0
0
0
0
-16
-8
57
21
-31
0
0
0
0
-2
8
-6
-7
6
0
0
0
0
1
-20
17
-15
12
0
0
0
0
-38
8
29
-5
12
0
0
0
0
0
3
16
-59
6
0
0
0
0
29
-25
-35
27
34
0
0
0
0
-1
37
-36
9
25
0
0
0
0
-46
63
-34
-9
47
0
0
0
0
0
-5
9
55
-24
0
0
0
0
37
38
8
-23
-3
0
0
0
0
10
-59
13
12
3
0
0
0
0
-3
-97
-31
-30
89
0
0
0
0
2
8
-107
44
24
0
0
0
0
-2
-2
-23
-32
43
0
0
0
0
0
1
6
-29
88
0
0
0
0
-21
-54
-64
32
32
0
0
0
0
0
3
14
-17
5
0
0
0
0
-7
17
-43
-78
52
0
0
0
0
6
0
5
-25
9
0
0
0
0
0
-1
43
-13
20
0
0
0
0
0
15
28
24
33
0
0
0
0
-20
5
29
-88
81
0
0
0
0
1
-17
70
-54
1
0
0
0
0
-62
43
20
4
7
0
0
0
0
7
-72
19
50
-25
0
0
0
0
1
-42
30
21
-10
0
0
0
0
20
65
-33
8
21
0
0
0
0
0
6
75
-22
10
0
0
0
3
-3
1
2
8
19
0
0
0
0
0
0
1
-7
16
0
0
0
5
0
-6
-12
18
9
0
0
0
0
0
-1
0
-33
-46
0
0
0
-7
0
1
-8
-8
1
0
0
0
0
0
-1
3
7
-12
0
0
0
-1
0
-2
3
6
-19
0
0
0
0
5
-3
-41
-44
22
0
0
0
-14
0
3
-13
15
53
0
0
0
0
0
5
-3
25
8
0
0
0
0
0
-1
2
15
-2
0
0
0
0
0
0
19
-2
-8
0
0
0
-6
0
-7
0
-38
51
0
0
0
0
0
-4
0
-1
-13
0
0
0
5
0
22
-56
-18
-2
0
0
0
0
0
0
-28
-62
15
0
0
0
13
0
0
6
-90
39
0
0
0
0
0
-1
9
-25
32
0
0
0
-4
0
3
19
-39
47
0
0
0
0
0
0
5
-7
19
0
0
0
-42
0
0
-8
-9
50
0
0
0
0
0
0
6
2
13
0
0
0
-1
0
-25
43
1
-24
0
0
0
0
0
-2
-40
-17
13
0
0
0
10
0
3
-5
13
23
0
0
0
0
0
-9
3
29
-26
0
0
0
-3
0
-7
-17
-47
34
0
0
0
0
0
-1
-11
-87
31
0
0
0
36
-1
-1
14
6
-32
0
0
0
0
0
-5
-4
-8
-46
0
0
0
-47
9
40
-40
-42
18
0
0
0
0
1
1
-30
11
16
0
0
0
0
0
0
-17
-4
40
0
0
0
0
1
-3
19
31
-53
0
0
0
0
0
-1
27
-25
-29
0
0
0
0
0
0
13
20
-7
0
0
0
0
0
-2
-1
-31
34
0
0
0
0
0
0
-2
-5
-11
0
0
0
0
0
-12
52
6
-53
0
0
0
0
0
2
-16
-67
30
0
0
0
0
0
0
-5
-24
-2
0
0
0
0
0
8
5
-17
-25
0
0
0
0
0
0
-19
24
38
0
0
0
0
0
3
1
22
-61
0
0
0
0
0
0
-7
-17
-22
0
0
0
0
0
4
30
-46
-5
0
0
0
0
0
3
-13
30
-7
0
0
0
0
0
1
10
-85
32
0
0
0
0
0
0
2
-10
17
0
0
0
0
0
1
-19
-36
43
0
0
0
0
0
6
5
-37
73
0
0
0
0
0
0
-2
-2
-51
0
0
0
0
0
0
-1
-48
43
0
0
0
0
0
0
0
-8
32
0
0
0
0
0
2
20
-23
46
0
0
0
0
0
0
26
41
-9
0
0
0
0
0
1
0
-1
-24
0
0
0
0
0
0
2
-31
-19
0
0
0
0
0
3
3
-44
13
0
0
0
0
0
0
16
-9
-10
0
0
0
0
0
-2
5
-1
-2
0
0
0
0
2
5
-1
-31
-1
0
0
0
0
-32
-36
-43
-6
31
0
0
0
0
3
3
-3
-12
11
0
0
0
0
0
0
23
19
5
0
0
0
0
0
0
18
-43
14
0
0
-15
-19
0
0
18
-21
41
0
0
0
0
0
0
-30
-17
28
0
0
0
0
0
-4
-23
-20
-18
0
0
0
0
0
0
2
14
-26
0
0
19
0
0
-2
-14
4
12
0
0
0
0
0
0
-8
-1
48
0
0
0
0
0
0
7
-38
11
0
0
0
0
0
1
38
-87
53
0
0
-19
0
0
0
34
-57
17
0
0
0
0
0
-8
-8
-18
46
0
0
0
0
0
1
29
-44
2
0
0
0
0
0
-1
7
67
-7
0
0
0
0
0
-7
10
-62
36
0
0
0
0
0
-1
-6
-40
20
0
0
0
0
0
0
24
11
-26
0
0
0
0
0
0
0
-60
-8
0
0
-62
1
0
0
-14
49
41
0
0
0
0
0
-1
29
-5
43
0
0
0
0
0
1
-9
60
-16
0
0
0
0
0
0
10
-43
2
0
0
2
0
0
-6
-2
13
24
0
0
0
0
0
1
43
-57
16
0
0
0
0
0
0
25
-55
51
0
0
0
0
0
1
-40
26
20
0
0
16
0
0
0
21
-15
-14
0
0
0
0
0
3
48
-45
-22
0
0
0
1
0
0
27
-10
-16
0
0
0
0
0
5
2
-54
-23
0
0
81
47
-3
10
-4
4
11
0
0
0
0
19
1
-5
-38
8
0
0
0
0
0
-1
37
-72
18
0
0
0
0
0
0
3
62
1
0
0
0
0
0
1
85
-29
12
0
0
0
0
0
-5
-3
-23
86
0
0
0
0
0
3
-12
-11
54
0
0
0
0
0
0
-2
45
21
0
0
0
0
0
-1
43
-59
-12
0
0
0
0
0
-13
-26
12
33
0
0
0
0
0
-3
0
44
-37
0
0
0
0
0
2
-21
-21
17
0
0
0
0
0
4
-58
-25
23
0
0
0
0
-1
-4
2
1
70
0
0
0
0
0
0
-10
-5
59
0
0
0
0
0
-13
0
6
11
0
0
0
0
-1
30
-1
-46
-2
0
0
0
0
0
-4
63
-77
-10
0
0
0
0
0
-2
-8
-23
67
0
0
0
0
0
-2
-33
10
8
0
0
0
0
0
0
35
49
-44
0
0
0
0
0
6
-18
1
42
0
0
0
0
0
-1
15
7
-18
0
0
0
0
0
1
5
-10
-22
0
0
0
0
0
-12
-10
7
44
0
0
0
0
-34
-5
-18
12
65
0
0
0
0
0
0
6
-4
59
0
0
0
0
0
1
-34
4
40
0
0
0
0
0
23
-12
3
-9
0
0
0
0
0
1
3
28
-6
0
0
0
0
0
0
10
-4
-28
0
0
0
0
-4
-20
40
43
-23
0
0
0
0
43
-19
48
-92
1
0
0
0
0
0
0
-3
-9
23
0
0
0
32
0
0
-5
6
6
0
0
0
0
0
0
-4
-107
59
0
0
0
0
0
0
-16
-22
7
0
0
0
0
0
0
5
17
17
0
0
0
0
0
0
41
20
26
0
0
0
0
0
0
-2
8
-2
0
0
0
0
0
0
9
-56
31
0
0
0
0
0
0
7
-21
18
0
0
0
-2
0
0
2
-20
18
0
0
0
0
0
-1
9
-16
7
0
0
0
0
0
0
10
11
4
0
0
0
0
0
0
-1
-6
63
0
0
0
1
0
0
0
-2
-44
0
0
0
0
0
0
5
-5
39
0
0
0
0
0
1
44
-2
-11
0
0
0
0
0
0
-6
-18
13
0
0
0
25
0
-1
-41
-7
45
0
0
0
0
0
0
2
18
-20
0
0
0
0
0
0
-18
-36
12
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
-5
25
41
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
-5
-5
0
0
0
0
0
0
0
1
-37
0
0
0
-5
0
0
10
8
-24
0
0
0
0
0
-2
-8
-57
64
0
0
0
-2
0
0
-23
-51
74
0
0
0
0
0
0
-30
8
6
0
0
0
-33
0
0
-1
10
-68
0
0
0
0
-2
0
-38
6
39
0
0
0
-9
0
16
-43
-20
0
0
0
0
0
1
-3
2
-9
23
0
0
0
0
0
0
0
-21
4
0
0
0
0
0
0
-9
-19
51
0
0
0
0
0
0
9
-19
-37
0
0
0
0
0
-1
1
2
41
0
0
0
0
0
0
1
-3
-23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
15
-7
1
0
0
0
0
0
0
0
13
-20
0
0
0
0
0
0
1
-4
30
0
0
0
0
0
0
1
12
-26
0
0
0
0
0
0
30
2
43
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
19
0
0
0
0
0
5
-23
-3
-42
0
0
0
0
0
-4
6
-14
5
0
0
0
0
0
0
0
-30
75
0
0
0
0
0
0
2
8
-8
0
0
0
0
0
0
0
-67
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-4
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-16
1
0
0
0
0
0
1
3
2
-15
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
-8
0
-12
0
0
0
0
0
0
-1
33
-3
0
0
0
0
0
0
-13
-8
34
0
0
0
0
0
-4
0
1
41
0
0
0
0
-1
0
1
3
6
0
0
0
0
5
-24
31
3
18
0
0
0
0
0
-31
112
-61
22
0
0
0
0
0
3
1
-31
-19
0
0
0
0
0
5
3
19
-10
0
0
-3
0
0
5
53
33
-11
0
0
0
0
0
0
-3
-32
18
0
0
0
0
0
0
49
-7
30
0
0
0
0
0
0
37
17
-69
0
0
0
0
0
-22
3
-24
13
0
0
0
0
0
-7
46
1
7
0
0
0
0
0
0
10
-37
7
0
0
0
0
0
3
-31
-5
20
0
0
0
0
0
-7
10
-20
14
0
0
0
0
0
-1
1
-2
22
0
0
0
0
0
3
-17
-4
-6
0
0
0
0
0
-2
-13
-23
44
0
0
0
0
0
-57
-53
73
16
0
0
0
0
0
3
-59
61
-20
0
0
0
0
0
0
-8
-15
42
0
0
0
0
0
-2
-9
-15
33
0
0
4
0
0
-2
-8
0
12
0
0
0
0
0
5
13
-45
25
0
0
0
0
0
-1
12
2
-6
0
0
0
0
0
0
-29
17
-6
0
0
0
0
0
-31
25
-33
29
0
0
0
0
0
-1
-36
-19
5
0
0
0
0
0
2
8
-48
-38
0
0
0
0
0
-1
2
-29
45
0
0
2
0
0
-7
-6
25
27
0
0
0
0
0
7
-27
31
-6
0
0
0
1
0
-2
1
54
-17
0
0
0
0
-4
30
-28
-10
33
0
0
-42
4
0
-40
-18
4
5
0
0
0
0
3
-9
-15
39
23
0
0
0
0
0
0
-13
-10
53
0
0
0
0
0
3
-13
-62
6
0
0
0
0
0
8
38
-91
5
0
0
0
0
0
9
24
18
-33
0
0
0
0
0
5
-13
-68
85
0
0
0
0
0
4
-27
-17
73
0
0
0
0
0
23
-32
10
18
0
0
0
0
39
-9
-30
0
25
0
0
0
0
0
6
-1
41
-50
0
0
0
0
-1
8
-19
-76
21
0
0
0
0
0
-8
-6
-47
68
0
0
0
0
0
0
-2
3
6
0
0
0
0
0
1
7
-3
2
0
0
0
0
5
6
-7
-7
58
0
0
0
0
-1
-8
39
28
-41
0
0
0
0
-22
39
-28
-10
16
0
0
0
0
0
8
-5
4
19
0
0
0
0
0
2
13
37
39
0
0
0
0
0
-2
18
19
6
0
0
0
0
1
-23
-4
-15
36
0
0
0
0
0
1
16
13
-8
0
0
0
0
0
0
1
-5
39
0
0
0
0
1
-41
63
-53
17
0
0
0
0
-20
-4
-1
5
22
0
0
0
0
0
-1
2
-17
-63
0
0
0
0
0
-4
-2
-28
53
0
0
0
0
0
-7
33
-9
64
0
0
0
0
12
-10
3
-24
-15
0
0
0
0
0
-4
-5
-43
73
0
0
0
0
-9
-19
31
59
-12
0
0
0
0
59
38
14
-25
-7
0
0
0
0
0
0
-30
-22
20
0
0
0
-23
0
4
-5
5
24
0
0
0
0
0
0
0
5
39
0
0
0
7
0
0
-3
11
4
0
0
0
0
0
0
5
-32
77
0
0
0
4
0
0
1
-8
65
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
0
45
-7
-10
0
0
0
0
0
0
-8
12
58
0
0
0
-30
0
0
0
-3
-21
0
0
0
0
0
2
6
-19
5
0
0
0
-3
0
2
-38
-41
43
0
0
0
0
0
0
0
-4
-10
0
0
0
-2
0
0
0
3
40
0
0
0
0
0
-4
1
-4
28
0
0
0
-1
0
3
5
-40
7
0
0
0
0
0
0
8
-3
28
0
0
0
7
0
1
-1
-35
-24
0
0
0
0
0
0
0
17
10
0
0
0
0
0
0
7
-57
-15
0
0
0
0
0
0
1
-10
-1
0
0
0
3
0
0
0
-22
-17
0
0
0
0
0
0
0
-33
17
0
0
0
0
0
0
-1
6
34
0
0
0
0
0
0
1
-4
71
0
0
0
23
0
-1
1
-23
-33
0
0
0
0
0
0
1
-29
56
0
0
0
0
0
0
-8
-10
-8
0
0
0
0
0
-2
-2
-18
-18
0
0
0
9
0
-1
2
44
-36
0
0
0
0
0
-1
0
-18
33
0
0
0
21
-5
41
20
-30
-22
0
0
0
0
1
6
5
-18
-10
0
0
0
0
0
0
2
-6
41
0
0
0
0
0
-2
-2
-37
6
0
0
0
0
0
0
-33
23
-29
0
0
0
0
0
0
0
13
35
0
0
0
0
0
0
-6
19
-10
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
-24
24
42
0
0
0
0
0
3
-3
10
15
0
0
0
0
0
0
0
-58
74
0
0
0
0
1
0
1
2
-13
0
0
0
0
0
0
-7
-6
10
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-14
6
0
0
0
0
0
3
-7
-5
10
0
0
0
0
0
0
8
-5
27
0
0
0
0
0
0
2
-61
1
0
0
0
0
0
-2
0
16
0
0
0
0
0
0
0
-6
-40
-8
0
0
0
0
0
0
0
5
38
0
0
0
0
0
0
0
-4
-48
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-30
-3
20
0
0
0
0
1
-1
0
6
-15
0
0
0
0
0
0
-1
14
10
0
0
0
0
0
-1
-1
7
-3
0
0
0
0
0
1
-5
-17
1
0
0
0
0
-1
0
0
-22
48
0
0
0
0
0
0
5
-40
61
0
0
0
0
-2
0
1
4
27
0
0
0
0
-10
-8
-67
-47
-21
0
0
0
0
0
3
18
-8
-33
0
0
0
0
0
0
-19
56
-49
0
0
0
0
0
0
4
-1
2
0
0
49
0
0
0
-16
-46
56
0
0
0
0
0
-1
5
10
0
0
0
0
0
0
0
-3
0
-15
0
0
0
0
0
0
-5
0
-21
0
0
0
0
0
5
18
45
-36
0
0
0
0
0
0
13
-33
66
0
0
0
0
0
0
0
24
40
0
0
0
0
0
0
10
-49
52
0
0
2
0
0
0
17
-10
-20
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
2
-10
40
0
0
0
0
0
-1
8
0
-10
0
0
0
0
0
0
-22
48
1
0
0
0
0
0
1
-4
-3
13
0
0
0
0
0
0
5
-7
-11
0
0
0
0
0
0
1
-54
12
0
0
11
0
0
0
1
-58
-9
0
0
0
0
0
-2
-6
7
-7
0
0
0
0
0
0
-20
-42
40
0
0
0
0
0
0
2
30
-2
0
0
1
0
0
8
6
2
-32
0
0
0
0
0
0
0
-22
26
0
0
0
0
0
0
5
-47
-5
0
0
0
0
0
0
8
-46
-42
0
0
25
0
0
0
-10
1
6
0
0
0
0
0
0
13
-15
29
0
0
0
1
0
0
-3
-25
-7
0
0
0
0
0
0
8
-42
5
0
0
1
-19
3
-1
-10
-31
34
0
0
0
0
0
3
-8
-8
-17
0
0
0
0
0
2
-8
0
25
0
0
0
0
0
0
0
-58
55
0
0
0
0
0
0
28
-34
-33
0
0
0
0
0
-3
0
2
3
0
0
0
0
0
0
-4
1
33
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
27
-8
-33
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
1
-2
-20
0
0
0
0
-1
-2
0
1
-8
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
1
0
-8
1
3
0
0
0
0
2
-8
18
8
-43
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
1
0
32
0
0
0
0
0
0
1
11
12
0
0
0
0
0
-1
0
-4
79
0
0
0
0
0
0
3
-13
-5
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
24
13
-48
0
0
0
0
3
0
0
-2
28
0
0
0
0
0
0
1
3
-10
0
0
0
0
0
0
7
-7
1
0
0
0
0
0
0
6
-14
29
0
0
0
0
1
2
7
2
11
0
0
0
0
0
-1
2
-1
39
0
0
0
0
-1
0
3
-8
17
0
0
0
0
-29
-7
23
-66
-16
0
0
0
0
0
0
1
-42
52
0
0
0
0
0
0
-5
-8
19
0
0
0
0
0
0
5
-42
70
0
0
0
0
0
0
-29
-18
26
0
0
0
0
0
0
-5
-7
8
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
10
17
-15
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
7
-19
0
0
0
0
0
0
0
-9
18
0
0
0
0
0
0
4
-23
6
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
-1
0
23
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
40
0
0
0
0
0
0
4
-16
-1
0
0
0
-1
0
0
-3
-33
3
0
0
0
0
0
0
-3
-6
27
0
0
0
0
0
0
-9
-5
-9
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
-4
5
0
0
0
0
0
0
0
-29
8
0
0
0
0
0
0
-2
2
25
0
0
0
0
0
0
-2
3
13
0
0
0
0
0
0
2
-13
1
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
-2
1
8
-5
0
0
0
0
0
0
0
-5
23
0
0
0
10
2
-21
-22
-9
4
0
0
0
0
-40
0
3
72
2
0
0
0
0
0
0
0
-11
18
0
0
0
0
0
0
0
-21
25
0
0
0
0
0
-1
-3
-8
41
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
1
2
23
0
0
0
0
0
4
-30
-16
2
0
0
0
0
0
-2
1
0
-7
0
0
0
0
0
0
0
-3
33
0
0
0
0
-2
0
1
8
-13
0
0
0
0
0
0
-1
12
-5
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
2
-1
15
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
1
0
41
0
0
0
0
3
0
-4
-19
34
0
0
0
0
0
0
0
-7
-25
0
0
0
0
0
0
-1
-8
37
0
0
0
0
0
-1
-3
5
9
0
0
0
0
0
0
-1
-2
-43
0
0
0
0
0
0
-5
-2
-48
0
0
0
0
0
0
-1
9
-4
0
0
0
0
0
1
-5
-33
3
0
0
0
0
0
0
-1
1
34
0
0
0
0
0
-3
0
-5
-25
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
-5
-9
0
0
0
0
-1
3
-1
-8
2
0
0
0
0
0
-2
0
13
16
0
0
0
0
-7
0
1
20
-23
0
0
0
0
7
13
22
-66
-10
0
0
0
0
0
8
-4
47
-56
0
0
0
0
0
0
-48
-10
-3
0
0
0
0
0
0
6
34
-6
0
0
-1
0
0
0
12
28
36
0
0
0
0
0
2
3
-8
11
0
0
0
0
0
0
2
18
-33
0
0
0
0
0
0
31
-50
9
0
0
0
0
0
0
45
-33
-5
0
0
0
0
0
-16
7
5
-13
0
0
0
0
0
0
4
-9
49
0
0
0
0
0
2
-6
36
-5
0
0
0
0
0
-1
-3
7
-12
0
0
0
0
0
-5
0
1
22
0
0
0
0
0
-1
-1
4
13
0
0
0
0
2
-8
-2
-2
5
0
0
0
0
3
8
20
-52
6
0
0
0
0
0
13
0
16
48
0
0
0
0
0
0
27
-87
-8
0
0
0
0
0
4
-4
-17
9
0
0
0
0
0
1
19
-46
-31
0
0
0
0
0
-6
0
-3
-13
0
0
0
0
0
1
25
-4
-42
0
0
0
0
0
0
-6
20
-1
0
0
0
0
0
-7
25
-30
-14
0
0
0
0
0
5
-18
-23
40
0
0
0
0
0
0
7
-64
34
0
0
0
0
0
12
-16
20
-30
0
0
4
0
0
3
-15
-16
-22
0
0
0
0
0
4
-15
10
106
0
0
0
0
0
3
-7
-36
20
0
0
0
0
0
-4
6
-8
-19
0
0
19
3
-17
-48
15
-20
4
0
0
0
0
-58
31
19
-30
28
0
0
0
0
0
-6
2
-29
49
0
0
0
0
-1
0
8
-40
7
0
0
0
0
0
8
8
-33
1
0
0
0
0
-3
-25
18
8
1
0
0
0
0
-1
-3
24
-19
6
0
0
0
0
1
5
-15
5
5
0
0
0
0
-2
-19
30
31
-7
0
0
0
0
-33
-15
-51
12
69
0
0
0
0
0
0
2
-21
-11
0
0
0
0
-3
-7
-12
26
14
0
0
0
0
0
9
44
-71
22
0
0
0
0
14
-6
0
5
-19
0
0
0
0
-2
2
0
6
31
0
0
0
0
6
-24
5
39
-43
0
0
0
0
-29
-33
95
-26
55
0
0
0
0
-38
-47
10
-24
2
2
0
0
0
0
4
-3
-5
82
-2
0
0
0
8
-9
12
18
39
-5
0
0
0
0
-8
2
22
5
-10
0
0
0
25
8
-41
6
41
-1
0
0
0
0
0
-8
37
64
-2
0
0
0
1
-6
-2
62
-49
11
0
0
0
6
18
11
-14
-2
-9
0
0
0
-13
27
6
-25
49
15
0
0
0
0
1
-16
-5
2
22
0
0
0
-8
-2
-5
-67
37
18
0
0
0
0
16
15
26
2
24
0
0
0
69
-17
-24
-19
-9
-5
0
0
0
0
-3
1
17
55
18
0
0
0
3
24
-4
-48
76
-23
0
0
0
37
45
45
-87
12
9
0
0
0
0
1
13
35
-1
0
0
0
-22
0
0
1
-3
36
0
0
0
0
0
0
5
-36
-15
0
0
0
7
0
0
-20
-93
-13
0
0
0
0
0
0
-2
-25
17
0
0
0
1
0
0
-1
2
51
0
0
0
0
0
0
-1
2
2
0
0
0
-4
0
0
21
20
-6
0
0
0
0
0
-1
1
-9
25
0
0
0
-16
0
-3
0
-104
50
0
0
0
0
0
0
0
-51
3
0
0
0
0
0
1
-6
15
-8
0
0
0
0
0
0
0
9
-11
0
0
0
4
0
0
0
23
-37
0
0
0
0
0
0
0
-15
30
0
0
0
1
0
-29
-7
-2
6
0
0
0
0
0
0
3
-59
24
3
0
0
31
0
0
0
-36
39
-7
0
0
0
0
0
0
-29
3
-2
0
0
0
0
-2
-5
34
-132
9
0
0
0
0
0
0
-62
10
16
0
0
15
0
0
0
-39
93
-21
0
0
0
0
0
-2
3
3
5
0
0
0
0
0
-8
30
14
-31
0
0
0
-1
0
2
62
-30
-1
0
0
-15
0
0
-3
4
63
-6
0
0
0
0
0
-2
-15
5
4
0
0
-27
0
-1
-8
-95
84
4
0
0
0
0
0
0
22
34
8
0
0
35
0
-1
2
-1
-43
18
0
0
0
3
0
0
-34
88
-16
0
0
104
-2
-25
20
-15
-32
-4
0
0
0
2
0
0
-46
25
0
0
0
0
0
0
0
-38
28
0
0
0
0
0
-1
0
37
-11
0
0
0
0
0
0
0
13
-33
0
0
0
0
0
0
-2
7
-2
0
0
0
0
0
0
0
7
5
0
0
0
0
0
-3
0
-6
2
0
0
0
0
0
2
-43
0
9
0
0
0
0
0
0
4
3
21
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
4
8
0
0
0
0
0
-3
-4
-9
10
0
0
0
0
0
0
0
-25
9
0
0
0
0
0
-1
1
-17
-15
0
0
0
0
0
-4
0
8
-7
0
0
0
0
1
-1
-5
-18
62
0
0
0
0
6
0
1
-41
36
-2
0
0
0
0
0
0
-1
19
-15
0
0
0
0
0
-3
20
-9
5
0
0
0
0
0
-3
-21
25
2
0
0
0
0
0
0
8
-8
-6
0
0
0
0
0
1
8
23
-9
0
0
0
0
0
-1
-8
0
24
0
0
0
0
0
-29
24
2
-12
0
0
0
0
-1
0
-46
119
-32
0
0
0
0
0
0
12
0
-46
0
0
0
0
1
0
-1
17
-51
0
0
0
0
-1
-5
-18
5
14
0
0
0
0
0
0
4
-22
23
0
0
0
0
0
5
-29
28
-28
0
0
0
0
-6
0
24
-4
6
0
0
0
21
12
30
-19
22
-14
0
0
0
0
0
5
-33
-6
0
0
0
0
0
-2
4
-75
33
0
0
0
0
0
0
7
10
7
0
0
-29
0
0
-1
1
7
32
0
0
0
0
0
-1
17
-28
-9
0
0
0
0
0
0
-8
5
14
0
0
0
0
0
1
4
-13
0
0
0
0
0
0
-1
-7
-24
40
0
0
0
0
0
-2
4
-12
8
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
2
1
10
13
0
0
3
0
0
4
3
18
-7
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-40
-2
0
0
-2
0
0
-6
-16
-61
11
0
0
0
0
0
0
30
-17
70
-11
0
0
0
0
0
-8
-81
-32
12
0
0
0
0
2
-3
-83
-6
23
0
-8
0
0
1
10
-38
8
-13
0
0
0
0
0
-2
-54
22
15
0
0
0
0
0
5
-25
-29
10
0
0
0
0
0
0
8
0
-23
0
65
0
0
0
-24
-79
-6
-5
0
0
0
0
0
-10
39
-49
16
0
0
0
0
0
3
-20
11
-3
0
0
0
0
0
8
6
-15
26
0
3
0
0
-1
3
35
-42
12
0
0
0
0
0
-2
35
30
-66
0
0
0
0
0
3
10
10
-47
0
0
0
0
0
-4
-64
20
48
0
63
-2
1
-40
-3
40
122
-33
0
0
0
6
2
-43
-50
88
0
0
0
0
0
0
0
8
32
0
0
0
0
-1
-3
-29
13
-18
0
0
0
0
0
6
-25
-7
79
0
0
0
0
0
-2
0
-2
-31
0
0
0
0
0
0
-7
-2
43
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
-46
8
5
0
0
0
0
3
0
1
-13
33
0
0
0
0
0
0
-1
-4
39
0
0
0
0
0
0
-3
2
14
0
0
0
0
0
2
9
8
-34
0
0
0
0
0
-2
4
0
25
0
0
0
0
0
0
0
2
-5
0
0
0
0
2
0
-2
3
8
0
0
0
0
-4
-13
48
7
-26
0
0
0
0
-2
1
-7
-3
-42
4
0
0
0
0
0
2
-16
28
-5
0
0
0
0
0
13
2
-19
7
0
0
0
0
-8
-3
14
61
-63
0
0
0
0
-4
0
-3
-48
22
0
0
0
0
2
-1
0
-8
-15
0
0
0
-6
-1
1
3
-3
-3
0
0
0
0
6
12
-32
-8
10
0
0
0
0
1
2
-6
55
18
0
0
0
0
0
2
-23
19
32
0
0
0
0
0
3
5
9
25
0
0
0
0
-4
-3
-19
-45
57
0
0
0
0
0
0
4
5
23
0
0
0
0
0
1
-40
15
22
0
0
0
-5
0
0
-5
6
-55
0
0
0
-10
61
45
-53
38
-18
0
0
0
0
-1
8
10
-3
0
0
0
10
0
0
2
-54
62
0
0
0
0
0
0
-10
2
41
0
0
0
0
0
0
-4
-45
64
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-15
-1
5
0
0
0
0
0
0
3
6
-9
0
0
0
0
0
0
0
-20
58
0
0
0
0
0
0
5
-3
21
0
0
0
0
0
0
-2
10
5
0
0
0
0
0
0
0
-5
-6
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
2
3
-1
-18
0
0
0
0
0
0
0
-3
31
-11
0
0
0
0
0
0
9
28
8
0
0
0
0
0
-1
-6
16
-41
0
0
0
0
0
3
-9
-13
12
0
0
0
0
0
1
0
-18
3
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
8
-41
0
0
0
0
1
-1
0
0
-94
0
0
0
0
0
0
24
-79
8
0
0
3
0
0
-10
-6
3
-15
0
0
0
0
0
-2
-5
-48
67
0
0
0
0
0
0
6
-14
-14
0
0
0
0
0
0
0
-17
-14
0
0
-4
0
0
1
0
-13
-55
0
0
0
0
0
2
-5
7
-49
0
0
23
1
0
9
-10
61
-10
0
0
0
-2
0
-1
-25
13
0
0
0
0
0
0
2
-29
-31
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-3
-58
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
1
0
0
0
0
0
0
2
-4
12
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
3
-12
0
0
0
0
0
0
1
0
14
11
0
0
0
0
0
-1
2
-36
30
0
0
0
0
0
0
3
-27
-14
0
0
0
0
0
0
24
0
-30
0
0
0
0
0
0
0
6
-26
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
5
0
-54
0
0
0
2
0
1
2
-6
-9
0
0
0
0
0
0
1
-8
43
0
0
0
0
0
0
-1
4
-42
0
0
0
0
0
-4
-1
-1
-78
0
0
0
0
0
0
-8
2
-75
0
0
0
0
0
0
-1
-2
7
0
0
0
1
0
0
3
0
12
0
0
0
-8
4
-18
-13
-41
14
0
0
0
0
5
-15
30
-28
0
0
0
0
0
0
0
-58
-26
0
0
0
0
0
-1
9
-32
2
0
0
-1
0
0
0
12
-43
6
0
0
0
0
0
3
-3
0
1
0
0
0
0
0
0
3
-2
13
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-50
7
7
0
0
0
0
0
1
-4
16
13
0
0
0
0
0
0
4
7
6
0
0
0
0
0
1
-10
-8
15
0
0
0
0
0
4
-15
1
0
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
-7
1
4
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
3
18
-38
8
0
0
0
0
1
2
1
16
52
-46
0
0
0
0
0
0
-23
64
13
0
0
0
0
-2
2
-8
-14
14
0
-1
0
0
1
-6
26
2
13
0
0
0
0
0
1
3
-15
-50
0
0
0
0
0
0
5
-2
21
0
0
0
0
1
0
-2
0
-48
0
0
0
0
0
5
2
1
-66
0
0
0
0
0
1
-16
47
-9
0
0
0
0
0
1
-14
5
-20
0
0
0
0
0
4
-2
-6
-19
0
-2
0
0
0
8
-6
3
-13
0
0
0
0
-1
2
-4
-15
-66
0
0
0
0
0
6
-24
-4
-12
0
0
0
0
0
4
0
3
-33
0
-28
-1
0
-8
-22
13
34
-52
0
0
0
5
-48
19
6
32
0
0
0
0
0
0
-2
-38
32
0
0
0
0
0
-2
9
-55
17
0
0
0
0
1
0
55
-64
31
0
0
0
0
1
-48
-17
59
-2
0
0
0
0
0
-1
-25
12
48
0
0
0
0
0
12
0
-6
-5
0
0
0
0
0
12
9
-66
-1
0
0
0
0
-3
0
23
-18
-47
0
0
0
0
0
3
0
33
23
0
0
0
0
0
-6
-1
2
-6
0
0
0
0
0
1
10
6
25
0
0
0
0
0
1
-8
-3
46
0
0
0
0
0
0
-5
8
7
0
0
0
0
-2
0
1
0
-6
0
0
0
0
13
36
1
-4
-4
0
0
0
0
55
7
-15
-86
68
-3
0
0
0
0
0
3
-9
35
39
0
0
0
0
0
-2
12
-10
1
0
0
0
0
-4
45
6
1
-1
0
0
0
5
8
12
8
-57
25
0
0
0
-1
4
2
-2
25
13
0
0
0
0
4
0
-13
-10
-19
0
0
0
0
34
32
-18
-40
-16
0
0
0
10
-44
5
-9
42
-5
-1
0
0
0
0
3
-25
86
20
-4
0
0
0
2
-6
-8
31
-27
-5
0
0
0
-5
-20
-47
-25
-44
3
0
0
-53
-13
-2
8
11
-12
14
0
0
3
-1
27
-13
125
-65
-1
0
0
-5
2
0
2
42
17
9
0
0
6
58
21
43
6
-36
13
0
0
0
0
-6
27
23
0
0
0
-13
0
2
1
-24
5
0
0
0
0
0
0
-7
-6
34
0
0
0
0
0
0
41
-6
-23
0
0
0
0
0
0
4
47
-8
0
0
0
1
0
0
3
-24
1
0
0
0
0
0
0
2
-15
-30
0
0
0
0
0
-1
27
-58
59
0
0
0
0
0
-3
1
-4
20
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
2
-4
-23
19
0
0
0
0
0
0
1
-32
29
0
0
0
0
0
0
0
-25
34
0
0
0
16
0
-3
1
-3
-36
0
0
0
0
0
4
0
-6
14
0
0
0
4
0
0
-3
48
-50
0
0
0
0
0
0
5
-23
48
20
0
0
-7
0
0
0
-40
-21
16
0
0
0
0
0
-1
-40
36
19
0
0
0
0
1
-7
-10
5
48
0
0
0
0
0
-4
3
34
-69
0
0
-6
0
0
-10
22
-7
13
0
0
0
0
0
-1
-7
21
-50
0
0
0
0
0
4
-55
32
-11
0
0
0
0
3
2
70
22
-21
-6
0
69
0
0
0
9
24
-142
-8
0
0
0
0
-7
16
56
-9
-17
0
-2
0
0
-2
-1
-18
-84
10
0
0
0
0
0
40
26
-89
-10
0
34
0
1
3
4
-16
20
-14
0
0
0
0
0
-4
16
92
-13
0
28
5
-4
-46
-54
-32
4
-18
0
0
0
1
-1
1
76
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-7
19
4
0
0
0
0
0
0
-1
-60
-2
0
0
0
0
0
0
-4
-13
9
0
0
0
0
0
-8
2
1
0
0
0
0
0
0
0
-40
-51
22
0
0
0
0
0
-4
5
5
-5
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
5
-16
-1
0
0
0
0
0
4
-6
4
5
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
-2
0
-8
-2
0
0
0
0
0
0
-1
-13
-48
3
0
0
0
0
0
-4
34
-80
18
0
0
0
0
0
-1
-16
24
6
0
0
0
0
-2
-1
3
-4
38
0
0
0
0
0
0
-9
10
42
0
0
0
0
0
0
-5
12
4
0
0
0
0
0
0
-3
-5
-33
0
0
0
0
0
0
14
-8
-27
0
0
0
0
3
0
-2
40
-76
-12
0
0
0
0
0
8
-14
49
8
0
0
0
0
0
29
-3
-23
4
0
0
0
0
-1
-40
-5
28
9
0
0
0
0
0
1
-3
-26
13
0
0
0
0
1
-2
5
-19
0
0
0
-1
0
0
-4
8
-43
31
0
0
-1
32
24
19
-82
-47
2
0
0
0
0
-27
-38
26
0
0
0
0
0
0
0
-23
-9
0
0
0
0
0
0
8
18
-17
0
0
59
0
0
1
-12
5
-2
0
0
0
0
0
0
-12
-9
31
0
0
0
0
0
3
-8
-5
13
0
0
0
0
0
0
-1
5
-1
0
0
-4
0
0
1
-2
-10
16
0
0
0
0
0
0
3
-18
-8
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-1
-1
5
0
0
-4
0
0
-1
4
-40
0
0
0
0
0
0
-1
1
0
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
3
1
-8
0
0
0
0
0
0
2
-4
-4
3
0
0
0
0
0
0
0
27
46
-58
0
0
0
0
0
3
-41
53
4
0
0
0
0
-6
-6
-4
24
-33
0
32
0
0
3
-25
-34
27
16
0
0
0
0
0
-1
23
-10
28
0
0
0
0
0
1
1
10
10
0
0
0
0
0
0
-22
1
-63
0
-2
0
0
0
2
0
-1
-28
0
0
0
0
0
-6
29
1
-124
-11
0
0
0
0
3
-13
19
-54
23
0
0
0
3
0
0
0
-35
-13
56
0
0
0
-2
-55
17
13
-6
0
0
0
0
0
0
-5
28
-1
0
0
0
0
0
-5
-7
37
0
0
0
0
0
3
7
0
-79
-10
-85
-5
2
-25
44
-80
-7
24
-14
0
0
69
21
-30
-61
21
0
0
0
0
0
0
0
-26
-5
0
0
0
0
-1
-3
33
-17
33
0
0
0
0
0
4
-9
-42
8
0
0
0
0
0
1
-6
-20
9
0
0
0
0
0
0
9
-1
-48
0
0
0
0
0
-2
-6
15
5
0
0
0
0
0
-20
70
-14
0
0
0
0
0
-19
2
2
19
0
0
0
0
0
0
0
1
-25
75
0
0
0
0
3
-8
-8
43
-43
0
0
0
0
0
-9
2
16
-9
0
0
0
0
0
-4
-2
0
5
0
0
0
0
0
2
-6
-2
20
0
0
0
0
1
-18
0
12
8
0
0
0
0
-1
40
-60
9
-47
0
0
0
0
1
5
27
15
-27
-11
0
0
0
0
0
1
2
24
19
0
0
0
1
0
3
7
-13
-13
0
0
0
0
0
29
-45
53
-18
0
0
0
-4
-6
0
-29
10
45
0
0
0
0
-1
0
-23
12
44
0
0
0
7
4
0
-8
2
-7
0
0
0
-4
8
1
-8
20
-106
0
0
0
13
0
2
8
-80
0
8
0
0
0
0
-3
5
40
-56
-23
0
0
-3
0
0
-8
-19
-76
44
0
0
0
3
-3
4
41
-45
-21
0
0
-5
1
0
1
37
12
37
0
0
0
-1
-9
25
22
-33
26
0
0
2
2
-3
-9
3
-97
45
0
0
-19
25
-19
-2
37
-19
-34
0
0
0
-2
0
1
3
0
0
0
-15
0
0
-4
-77
39
0
0
0
0
0
0
-6
44
16
0
0
0
0
0
5
-28
-28
51
0
0
0
0
0
0
-4
-30
46
0
0
0
0
0
0
-2
-24
-18
0
0
0
0
0
-3
-3
0
-3
0
0
0
0
0
0
-9
-10
-3
0
0
0
0
0
1
0
0
-20
0
0
0
-5
0
0
0
14
27
0
0
0
0
0
0
3
-13
48
0
0
0
0
0
0
0
16
-43
0
0
0
0
0
0
0
-1
6
0
0
0
-3
0
0
-3
1
17
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-6
19
-1
-16
0
0
0
0
0
0
0
1
38
-15
0
0
-22
0
0
-1
-18
14
30
0
0
0
0
0
-2
-2
-1
-31
0
0
0
0
0
8
-1
-4
-54
0
0
0
0
0
-2
-7
-14
22
0
0
5
0
0
-2
-3
16
16
0
0
0
0
0
0
2
3
-27
0
0
0
0
0
0
-14
8
-12
0
0
0
0
0
0
-17
29
-31
-27
0
-23
0
0
0
42
19
-80
36
0
0
0
-1
0
1
8
-8
-6
0
6
0
0
-3
-1
-24
-19
-24
0
0
0
0
0
-3
21
3
-20
0
28
0
3
0
0
-3
-40
-2
0
0
-7
0
1
-4
-3
-52
11
0
-54
1
-9
-2
-59
41
3
-13
0
0
0
-8
-13
-22
67
0
0
0
0
0
0
-1
-41
-5
0
0
0
0
0
0
0
-14
55
0
0
0
0
0
-1
-22
-60
12
0
0
0
0
0
5
-6
19
-14
0
0
0
0
0
0
-8
1
55
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
-32
62
-35
-2
0
0
0
0
2
1
0
-8
27
0
0
0
0
0
0
2
-22
1
0
0
0
0
2
0
-2
9
-54
0
0
0
0
0
2
4
-16
-13
0
0
0
0
2
-1
0
1
-1
0
0
0
0
0
0
0
-8
-20
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
-21
16
20
-53
0
0
0
0
-3
1
-3
5
32
-20
0
0
0
0
0
-1
-15
20
-11
0
0
0
0
0
3
-2
-7
39
0
0
0
0
0
-5
-13
5
-70
0
0
0
0
0
0
-15
5
-15
0
0
0
0
0
-1
6
-29
-34
0
0
0
0
1
0
-1
4
24
0
0
0
-3
8
1
5
1
-43
0
0
0
5
0
0
-8
4
-14
-7
0
0
0
-1
-1
-6
63
-27
-13
0
0
0
-1
-12
6
31
-33
-4
0
0
0
-1
5
-7
9
1
-20
0
0
0
0
0
-1
4
-62
55
0
0
1
0
-3
-2
2
-79
15
0
0
10
-4
0
2
0
-9
14
0
0
-5
-29
-9
9
-12
3
20
0
0
41
-12
-22
23
33
0
0
0
47
-6
59
-16
-29
0
0
0
0
0
-103
-29
35
22
69
0
0
27
-52
15
-76
-4
-26
59
0
0
0
0
64
28
2
-54
-6
0
0
0
15
29
-44
-19
-14
18
0
0
0
0
9
-58
-34
34
10
0
0
-35
47
20
7
-22
25
15
0
0
0
0
6
23
37
-23
-15
0
0
0
-21
-5
4
38
-42
-44
0
0
0
0
18
-19
27
-14
-34
0
0
18
17
0
-29
-26
-40
43
0
0
0
0
-63
-26
69
16
56
0
0
0
-23
3
-31
23
15
-34
0
0
0
0
-6
-1
-5
10
-9
0
0
75
20
-17
10
-44
-26
-38
0
0
0
0
4
91
42
6
-37
4
0
0
-12
-37
-13
21
51
-20
19
0
0
0
-43
51
50
2
-45
-7
0
-2
51
7
-4
5
26
-3
-7
0
0
0
-19
32
6
-20
38
-41
0
0
-13
16
34
-36
-84
-44
-43
0
0
0
47
-16
9
21
-49
-15
0
13
-33
8
61
20
-68
-16
-21
0
0
0
34
-122
-53
-41
14
-54
8
0
21
-1
-41
46
11
24
-29
-10
0
0
27
-2
-7
-22
14
-80
10
-84
39
6
-15
-61
-8
-17
-22
6
0
0
15
58
2
86
-2
-45
-8
0
-21
-10
-8
-26
-52
-7
18
-21
0
0
66
-19
8
-58
-17
-67
5
13
-26
-86
41
24
-53
4
-61
-27
0
0
44
-28
-9
-22
18
0
0
0
0
0
0
-12
15
12
0
0
0
0
-1
0
9
-16
-1
0
0
0
0
0
0
-3
-63
27
0
0
0
0
0
0
0
-14
7
0
0
0
0
0
0
2
-5
5
0
0
0
0
0
-8
-12
1
92
0
0
0
0
0
41
26
20
-18
0
0
0
0
-13
17
-2
-20
22
0
0
0
0
0
1
-2
-44
28
0
0
0
0
1
-7
-2
6
30
0
0
0
0
0
2
-10
-23
24
0
0
0
0
-2
1
0
0
37
0
0
0
0
0
0
-1
4
7
0
0
0
0
0
13
0
-10
9
0
0
0
0
3
-19
73
-25
-26
0
0
0
0
27
-39
9
2
-12
0
0
0
0
0
0
0
-18
64
0
0
0
0
0
4
2
33
-38
0
0
0
0
0
13
-15
17
-11
0
0
0
0
-29
6
-1
-49
39
0
0
0
0
-1
0
5
17
30
0
0
0
0
5
-5
-24
19
11
0
0
0
0
-2
-2
25
-29
66
0
0
0
0
-3
4
43
-17
20
0
0
0
0
0
2
2
-2
55
0
0
0
0
-3
-32
6
-27
34
0
0
0
0
0
3
7
-1
22
0
0
0
0
-16
34
1
43
-62
0
0
0
0
4
-1
17
-3
-15
0
0
0
0
27
-30
-5
-44
45
0
0
0
0
-48
26
11
-46
-22
0
0
0
0
0
0
0
2
6
0
0
0
9
0
0
0
-38
24
0
0
0
0
0
0
-1
-31
22
0
0
0
1
0
0
0
45
-27
0
0
0
0
0
0
-5
-2
32
0
0
0
0
0
1
-3
36
8
0
0
0
0
0
0
0
13
-23
0
0
0
0
0
0
-5
-32
51
0
0
0
0
0
0
2
-16
31
0
0
0
-11
0
2
0
2
-5
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-1
-21
11
0
0
0
0
0
0
0
1
38
0
0
0
1
0
-1
0
19
25
0
0
0
0
0
0
-1
27
27
0
0
0
0
0
-1
-6
-38
23
0
0
0
0
0
0
3
39
3
0
0
0
-52
0
0
-3
-57
91
0
0
0
0
0
0
7
39
24
0
0
0
0
0
0
0
-9
-22
0
0
0
0
0
0
-1
-38
8
0
0
0
-24
0
0
2
73
11
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
-1
-5
-4
21
0
0
0
0
0
0
-2
-4
-2
0
0
0
61
0
0
0
-11
-44
0
0
0
0
0
0
-3
-71
48
0
0
0
-4
0
0
2
-45
-4
0
0
0
0
0
0
0
20
-49
0
0
0
48
0
-1
3
50
-63
0
0
0
0
0
0
0
-35
-2
0
0
0
4
7
-30
-13
-60
14
0
0
0
0
0
1
0
11
8
0
0
0
0
0
0
1
2
26
0
0
0
0
0
0
-2
-103
28
0
0
0
0
0
0
-63
13
61
0
0
0
0
0
0
0
-8
49
0
0
0
0
0
0
-7
32
16
0
0
0
0
0
0
-4
-5
21
0
0
0
0
0
-7
9
-17
-10
0
0
0
0
0
0
6
-20
-4
0
0
0
0
0
0
0
15
27
0
0
0
0
0
-3
1
-69
43
0
0
0
0
0
-1
-36
51
2
0
0
0
0
0
0
2
-1
36
0
0
0
0
0
0
2
-43
1
0
0
0
0
0
0
0
-5
-27
0
0
0
0
0
-1
1
-12
-10
0
0
0
0
0
-2
1
-47
53
0
0
0
0
0
0
3
-74
14
0
0
0
0
0
0
-6
-43
-7
0
0
0
0
0
0
-4
4
48
0
0
0
0
0
0
0
12
-9
0
0
0
0
0
0
-3
5
10
0
0
0
0
0
0
2
-2
36
0
0
0
0
0
-2
28
-6
12
0
0
0
0
0
0
-2
-21
21
0
0
0
0
0
0
-1
-47
41
0
0
0
0
0
0
-10
-73
65
0
0
0
0
0
0
-52
-58
99
0
0
0
0
0
0
3
16
6
0
0
0
0
0
-1
0
-2
62
0
0
0
0
-7
1
0
-13
-9
0
0
0
0
1
-19
-5
44
-15
0
0
0
0
-1
-2
19
-36
25
0
0
0
0
0
0
28
20
-8
0
0
0
0
0
0
-16
13
-6
0
0
38
0
0
0
-13
32
-19
0
0
0
0
0
0
-36
6
42
0
0
0
0
0
0
16
-30
-31
0
0
0
0
0
0
-19
-10
21
0
0
0
0
0
-1
7
-12
-13
0
0
0
0
0
2
31
-6
-5
0
0
0
0
0
0
-19
-14
12
0
0
0
0
0
0
-10
52
-21
0
0
7
0
0
2
3
28
-129
0
0
0
0
0
0
-1
-8
13
0
0
0
0
0
0
-13
62
4
0
0
0
0
0
0
-8
59
-10
0
0
0
0
0
4
-1
19
-1
0
0
0
0
0
-1
-4
8
28
0
0
0
0
0
0
28
6
7
0
0
0
0
0
0
0
-62
78
0
0
-21
0
0
0
30
9
10
0
0
0
0
0
0
2
7
1
0
0
0
0
0
0
-70
-24
68
0
0
0
0
0
0
4
-12
16
0
0
-15
0
0
-3
3
-1
28
0
0
0
0
0
0
23
-36
-15
0
0
0
2
0
0
-5
-17
37
0
0
0
0
0
0
23
-48
71
0
0
1
0
0
0
44
-12
-5
0
0
0
0
0
0
-9
18
28
0
0
0
0
0
0
22
-33
12
0
0
0
0
0
0
38
-6
-27
0
0
21
-13
-16
-18
6
-26
20
0
0
0
0
0
4
0
-40
-1
0
0
0
0
0
0
-9
-35
40
0
0
0
0
0
0
-2
29
-9
0
0
0
0
0
8
4
-44
-13
0
0
0
0
0
0
-1
-1
-41
0
0
0
0
0
0
-4
31
41
0
0
0
0
0
0
1
3
-11
0
0
0
0
0
8
2
-37
54
0
0
0
0
0
0
-2
1
15
0
0
0
0
0
0
0
-23
44
0
0
0
0
0
0
0
2
38
0
0
0
0
0
0
-7
-18
-7
0
0
0
0
0
0
-1
4
18
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
-2
1
-5
9
0
0
0
0
0
-5
-26
23
57
0
0
0
0
0
-3
1
5
12
0
0
0
0
0
0
2
-27
71
0
0
0
0
0
0
6
7
0
0
0
0
0
0
-2
19
-62
-2
0
0
0
0
0
0
0
-1
-43
0
0
0
0
0
0
-8
22
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
1
-24
4
0
0
0
0
0
0
5
5
-13
0
0
0
0
0
0
0
1
67
0
0
0
0
0
0
2
-8
8
0
0
0
0
0
0
2
-48
9
0
0
0
0
3
0
0
-7
30
0
0
0
0
0
0
4
-7
-39
0
0
0
0
0
0
5
-1
-26
0
0
0
0
-32
3
-11
38
43
0
0
0
0
0
0
7
-13
-32
0
0
0
10
0
0
3
-77
2
0
0
0
0
0
0
2
-12
51
0
0
0
0
0
0
-26
-17
48
0
0
0
0
0
0
0
22
-42
0
0
0
0
0
0
-18
-8
-2
0
0
0
0
0
0
-4
-2
24
0
0
0
0
0
1
-3
-6
-12
0
0
0
0
0
-1
1
-4
57
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
1
4
7
6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
6
0
0
0
0
0
2
0
5
4
0
0
0
0
0
0
2
2
-3
0
0
0
0
0
0
-1
-6
3
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-19
10
0
0
0
0
0
0
0
-13
33
0
0
0
0
0
0
0
8
-24
0
0
0
0
0
0
2
3
13
0
0
0
0
0
0
-2
-25
17
0
0
0
0
0
0
0
4
36
0
0
0
-1
0
0
-2
-4
-31
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-4
-1
22
0
0
0
0
0
0
0
-3
-7
0
0
0
-4
0
0
0
6
-15
0
0
0
0
0
0
-2
-7
16
0
0
0
34
4
-19
5
-52
4
0
0
0
0
0
0
0
-36
89
0
0
0
0
0
0
-2
-11
28
0
0
0
0
0
0
0
45
-51
0
0
0
0
0
0
-3
-10
13
0
0
0
0
0
0
1
0
19
0
0
0
0
0
0
0
-14
28
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
13
16
11
0
0
0
0
0
-4
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-18
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
4
3
-1
-11
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-13
2
5
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-34
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
8
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-1
5
-12
0
0
0
0
0
0
3
-2
25
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
0
-4
4
3
0
0
0
0
-3
0
0
2
8
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
9
40
-45
0
0
0
0
0
0
29
-45
14
0
0
0
0
0
5
-22
20
-15
0
0
0
0
0
1
-6
23
-11
0
0
0
0
0
-10
20
32
-25
0
0
0
0
0
-4
49
-18
21
0
0
0
0
0
-4
22
-34
22
0
0
0
0
0
2
32
-1
-53
0
0
0
0
0
16
11
-1
49
0
0
0
0
0
6
-28
5
33
0
0
0
0
0
-2
-7
-1
25
0
0
0
0
0
8
-5
-17
71
0
0
0
0
0
24
25
-55
-28
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
2
20
-10
29
0
0
0
0
0
19
-7
0
-11
0
0
0
0
0
-26
-84
45
-2
0
0
0
0
0
-7
41
-41
19
0
0
0
0
0
0
-5
1
-41
0
0
0
0
0
0
5
-8
-1
0
0
-4
0
0
-2
44
-17
5
0
0
0
0
0
-5
-42
16
-27
0
0
0
0
0
0
10
9
-13
0
0
0
0
0
0
-18
10
-15
0
0
0
0
0
-40
47
-47
31
0
0
0
0
0
8
8
16
-18
0
0
0
0
0
-5
-19
-9
65
0
0
0
0
0
2
3
-2
20
0
0
0
0
0
-2
-23
-13
64
0
0
0
0
0
0
28
-50
-26
0
0
0
0
0
-18
51
5
34
0
0
0
0
2
10
-24
-29
-22
0
0
2
-4
0
-34
-32
-37
18
0
0
0
0
1
-15
2
-16
23
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
3
0
24
-31
0
0
0
0
0
-2
40
-20
-48
0
0
0
0
0
-1
0
2
31
0
0
0
0
0
0
9
-3
33
0
0
0
0
0
-2
1
-4
2
0
0
0
0
0
12
13
-31
-1
0
0
0
0
0
-8
-6
-1
18
0
0
0
0
0
0
1
-8
29
0
0
0
0
-2
-5
-1
16
27
0
0
0
0
0
1
-8
11
55
0
0
0
0
0
-3
-3
0
-7
0
0
0
0
0
-6
0
3
0
0
0
0
0
0
-30
3
4
8
0
0
0
0
0
-8
-36
10
-17
0
0
0
0
0
-9
0
0
20
0
0
0
0
0
0
-2
-4
42
0
0
0
0
0
0
1
-6
7
0
0
0
0
0
-6
9
4
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
7
9
0
0
0
0
0
0
0
0
-50
0
0
0
0
-1
15
-25
40
-42
0
0
0
0
0
-40
0
0
-48
0
0
0
0
0
0
-2
8
-22
0
0
0
0
-4
0
0
4
-11
0
0
0
0
0
0
1
-50
-25
0
0
0
0
0
1
0
3
-2
0
0
0
0
1
0
0
-1
48
0
0
0
0
8
3
0
6
8
0
0
0
0
12
3
3
-37
21
0
0
0
0
0
0
0
-31
31
0
0
0
-4
0
0
-1
-63
37
0
0
0
0
0
0
0
-40
4
0
0
0
0
0
0
-8
-31
51
0
0
0
0
0
0
2
-3
-65
0
0
0
0
0
0
0
8
50
0
0
0
0
0
0
1
2
2
0
0
0
0
0
-2
4
6
0
0
0
0
0
0
0
4
-14
69
0
0
0
-1
0
0
-2
2
29
0
0
0
0
0
0
-6
14
-14
0
0
0
0
0
0
-4
-3
-12
0
0
0
0
0
0
2
-7
-23
0
0
0
1
0
0
0
12
21
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
1
4
-4
-8
0
0
0
0
0
0
1
10
-2
0
0
0
-4
0
0
-3
2
29
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
-6
0
30
0
0
0
0
0
0
0
-6
44
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
1
6
-22
0
0
0
-15
0
0
0
-10
50
0
0
0
0
0
0
0
4
3
0
0
0
2
0
-1
0
-21
-9
0
0
0
0
0
0
0
0
40
0
0
0
3
0
0
0
-3
10
0
0
0
0
0
0
0
3
-7
0
0
0
14
0
9
-23
-59
3
0
0
0
0
0
3
0
33
-2
0
0
0
0
0
0
1
-2
12
0
0
0
0
0
0
1
6
9
0
0
0
0
0
0
-3
-73
86
0
0
0
0
0
0
0
-17
22
0
0
0
0
0
0
-1
-5
23
0
0
0
0
0
0
0
12
-5
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-2
0
-2
14
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
-1
-2
-7
37
0
0
0
0
0
0
-2
-8
23
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
1
5
22
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
-5
34
-5
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
-2
-5
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
-38
5
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
0
12
10
0
0
0
0
0
0
-1
47
-18
0
0
0
0
0
-1
0
12
10
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
-5
-14
0
0
0
0
31
45
-28
-51
-8
0
0
0
0
0
3
-17
33
-25
0
0
0
0
0
0
9
-34
9
0
0
0
0
0
0
-6
36
4
0
0
-10
0
0
0
4
6
-16
0
0
0
0
0
1
-3
-6
29
0
0
0
0
0
0
0
12
-15
0
0
0
0
0
0
0
-10
18
0
0
0
0
0
-3
18
0
-17
0
0
0
0
0
-1
3
-2
-19
0
0
0
0
0
0
2
-10
20
0
0
0
0
0
-2
0
-58
43
0
0
0
0
0
-2
-25
39
-11
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
1
2
-2
14
0
0
0
0
0
25
41
-16
-5
0
0
0
0
0
1
8
-4
13
0
0
0
0
0
0
-1
-22
28
0
0
0
0
0
-1
-4
-2
18
0
0
0
0
0
3
-14
-13
0
0
0
0
0
0
0
0
-6
-20
0
0
0
0
0
0
1
4
-3
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
-3
3
-43
31
0
0
0
0
0
0
-12
-20
12
0
0
0
0
0
0
2
4
17
0
0
0
0
0
-2
0
-41
3
0
0
1
0
0
0
6
-25
-9
0
0
0
0
0
0
1
-1
3
0
0
0
-1
0
0
3
13
-47
0
0
0
0
0
1
-3
-5
5
0
0
-45
1
1
-23
18
-81
46
0
0
0
0
0
6
0
-1
44
0
0
0
0
0
0
0
-30
-11
0
0
0
0
0
0
0
9
-15
0
0
0
0
0
0
-8
-17
9
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
5
-37
0
0
0
0
0
-1
0
-2
41
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
-1
-48
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
2
1
-9
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
1
-55
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
24
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
3
-8
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
34
-18
-28
-10
3
0
0
0
0
0
-2
-3
-2
7
0
0
0
1
0
0
0
-9
4
0
0
0
0
0
0
2
-6
-41
0
0
0
0
0
0
-8
-9
2
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
9
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
1
4
6
8
0
0
0
0
0
0
0
-7
43
0
0
0
0
0
0
-1
-1
24
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
-1
-3
29
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
-1
-2
5
0
0
0
0
0
0
0
6
-38
0
0
0
0
0
0
1
12
-21
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
-1
-1
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-10
-4
0
0
0
0
0
0
0
0
27
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
-3
-2
4
0
0
0
3
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
18
-1
0
-90
-23
37
0
0
0
0
-16
-3
0
-7
14
0
0
0
0
0
0
-4
14
7
0
0
0
0
0
-1
-1
15
24
0
0
0
0
0
0
2
15
-12
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
-1
4
46
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-8
-8
31
0
0
0
0
0
3
0
0
-55
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
4
0
-2
-8
0
0
0
0
0
0
2
-5
-13
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-24
37
0
0
0
0
0
0
0
5
9
0
0
0
0
0
-1
-6
5
7
0
0
0
0
0
1
1
-3
5
0
0
0
0
0
0
0
0
-22
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
0
5
16
0
0
0
0
1
-1
0
0
59
0
0
0
0
0
0
0
4
-7
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
3
-4
-4
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
-1
0
0
10
0
0
0
0
7
0
-5
-3
-3
0
0
0
0
-26
-13
-13
25
9
0
0
0
0
-1
30
0
48
-9
0
0
0
0
0
0
3
-40
-7
0
0
0
0
0
-8
6
-36
-24
0
0
1
0
0
0
9
22
-6
0
0
0
0
0
9
-9
-27
50
0
0
0
0
0
-4
-4
6
29
0
0
0
0
0
-8
1
0
7
0
0
0
0
0
-19
-17
-11
-4
0
0
0
0
2
49
24
-8
7
0
0
0
0
0
-2
-5
-29
8
0
0
0
0
0
10
1
-3
-40
0
0
0
0
0
-7
33
-76
-20
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
-2
2
-10
36
0
0
0
0
0
23
1
-1
-3
0
0
0
0
0
-29
4
-52
65
0
0
0
0
0
-25
18
-39
18
0
0
0
0
0
-5
14
-32
30
0
0
0
0
0
-1
-1
-6
61
0
0
0
0
0
0
22
1
-61
0
0
0
0
0
-12
-17
29
-23
0
0
0
0
0
0
19
4
-20
0
0
0
0
0
-1
-1
2
15
0
0
0
0
0
65
-15
0
-40
0
0
0
0
-3
4
7
-9
18
0
0
0
0
0
-2
0
-8
5
0
0
0
0
0
34
-17
-41
31
0
0
4
0
0
-13
-17
44
-8
0
0
0
0
-3
-7
1
13
-16
0
0
0
0
-1
-9
-1
27
28
0
0
0
0
-1
17
10
-20
29
0
0
4
0
3
-22
60
-29
19
0
0
0
0
-2
3
0
-16
13
0
0
0
0
0
0
0
-39
5
0
0
0
0
0
-1
2
-13
35
0
0
0
0
0
0
68
-67
-1
0
0
0
0
-1
-3
1
1
2
0
0
0
0
0
0
8
4
-8
0
0
0
0
0
0
0
3
3
0
0
0
0
0
22
-48
-1
44
0
0
0
0
-4
-4
0
-4
27
0
0
0
0
0
0
0
17
-12
0
0
0
0
0
2
-1
-13
-15
0
0
0
0
0
0
5
26
-7
0
0
0
0
0
-8
9
0
-20
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
3
0
0
-5
0
0
0
0
-4
17
21
7
-27
0
0
0
0
-2
4
0
-24
68
1
0
0
0
0
0
-2
-13
52
0
0
0
0
0
0
2
-10
47
5
0
0
0
0
0
0
-22
1
-8
0
0
0
-1
0
0
-21
7
-7
0
0
0
-4
-1
-16
-40
26
24
0
0
0
0
3
-1
-4
-17
1
0
0
0
0
4
15
30
-41
4
0
0
0
0
-2
0
14
-40
11
0
0
0
0
0
0
43
13
-24
0
0
0
1
-1
0
-11
-7
15
0
0
0
0
1
14
70
32
-11
0
0
0
1
-3
-8
0
-8
16
0
0
0
3
0
-25
-5
46
0
0
0
0
-28
-3
1
-29
-22
28
0
0
0
95
-11
50
-13
29
6
0
0
0
0
0
2
-43
44
0
0
0
-2
0
1
0
-34
30
0
0
0
0
0
0
-2
44
42
0
0
0
0
0
0
-24
-31
42
0
0
0
0
0
0
2
-16
-7
0
0
0
0
0
0
-3
24
-6
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
1
4
-20
29
0
0
0
0
0
0
0
24
-14
0
0
0
-1
0
0
0
-17
12
0
0
0
0
0
0
0
-8
-12
0
0
0
5
0
0
0
-20
1
0
0
0
0
0
0
0
5
34
0
0
0
4
0
0
0
-1
-16
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
-3
-2
10
-19
0
0
0
0
0
0
-1
-14
28
-2
0
0
7
0
0
0
6
-34
0
0
0
0
0
0
0
28
19
-3
0
0
0
0
0
4
-15
-34
6
0
0
0
0
0
0
-55
45
-2
0
0
6
0
0
0
-8
-42
44
0
0
0
0
0
0
4
9
-8
0
0
0
0
1
0
-38
-36
31
0
0
0
0
0
3
10
-18
14
0
0
-6
0
0
0
-13
-66
3
0
0
0
0
0
0
15
-4
-7
0
0
-14
0
0
0
-17
-43
40
0
0
0
0
0
0
-22
-8
9
0
0
0
0
0
0
-5
43
-3
0
0
0
0
0
0
-49
88
-27
0
0
-8
-2
33
-13
-5
14
-4
0
0
0
0
2
0
6
27
0
0
0
0
0
0
0
13
-43
0
0
0
0
0
0
0
-37
18
0
0
0
0
0
0
2
-46
47
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
4
29
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
0
0
-13
-8
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
-1
0
-3
8
0
0
0
0
0
-8
0
1
98
0
0
0
0
0
-4
-4
25
-29
-6
0
0
0
0
0
-2
-26
-7
12
0
0
0
0
0
0
32
-12
-25
0
0
0
0
0
3
-71
2
7
0
0
0
0
0
0
7
0
2
0
0
0
0
0
-1
-24
-13
39
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
2
-16
6
8
0
0
0
0
0
0
10
48
-16
0
0
0
0
0
-1
16
-15
28
0
0
0
0
1
1
-9
3
18
0
0
0
0
-1
0
-13
6
-19
0
0
0
0
0
0
-8
24
12
0
0
0
0
0
0
13
25
-107
0
0
0
0
0
0
2
0
1
0
0
0
-2
41
26
3
9
-11
0
0
0
0
1
-24
17
-7
0
0
0
0
0
0
-18
21
-25
0
0
0
0
0
0
8
-28
-5
0
0
-6
0
0
0
55
-12
-8
0
0
0
0
0
0
6
-3
-2
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
9
-3
0
0
0
0
0
0
0
0
-20
8
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
-1
9
14
-55
0
0
0
0
0
-3
14
-76
16
-8
0
0
0
0
0
-3
-5
-7
0
0
0
0
0
0
2
1
8
16
0
-2
0
0
0
1
7
-30
-21
0
0
0
0
0
-1
-5
4
3
0
0
0
0
0
2
-43
8
10
0
0
0
0
0
0
0
0
-49
0
-1
0
0
0
-2
-1
-7
-18
0
0
0
0
0
7
-40
31
-32
0
0
0
0
0
0
17
-13
51
0
0
0
0
0
-4
34
8
-19
0
33
0
0
0
10
-33
-7
-44
0
0
0
0
0
1
-13
41
-24
0
0
0
0
0
-1
1
15
7
0
0
0
0
0
0
-48
2
-43
0
-3
12
0
-46
-55
-6
44
16
0
0
0
0
0
-4
9
19
0
0
0
0
0
0
2
16
4
0
0
0
0
0
0
0
-35
-8
0
0
0
0
0
0
17
-52
79
0
0
0
0
0
0
-2
1
7
0
0
0
0
0
0
8
-39
17
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
-1
11
-28
28
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
7
22
0
0
0
0
0
0
-5
3
-13
0
0
0
0
0
0
15
0
14
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
6
-57
18
2
0
0
0
0
0
0
3
-30
-44
12
0
0
0
0
0
0
2
-58
-3
0
0
0
0
0
-6
9
2
-31
0
0
0
0
0
0
18
-10
13
0
0
0
0
0
0
0
14
-49
0
0
0
0
0
-1
3
13
-5
0
0
0
0
0
0
-6
-1
22
0
0
0
0
2
-1
-12
5
-24
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
1
45
-10
0
0
0
0
0
0
9
-4
-30
0
0
0
0
0
-2
10
10
-13
0
0
0
-2
0
0
2
-17
-33
0
0
0
0
0
1
-23
3
-7
0
0
0
0
0
0
9
7
-100
0
0
0
6
-17
-29
-5
-21
9
0
0
0
0
1
2
10
41
0
0
0
-1
0
0
-2
-33
54
0
0
0
0
0
0
1
-46
34
0
0
0
0
0
0
-1
-53
-2
0
0
0
0
0
0
0
9
27
0
0
0
0
0
0
0
-17
16
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
1
-3
12
-23
0
0
0
0
0
0
0
-2
43
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
5
0
-19
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
1
19
0
0
0
0
0
0
2
-4
24
0
0
0
0
0
0
0
-24
-19
13
0
0
0
0
0
0
-17
43
-40
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
5
12
3
0
0
0
0
0
0
-6
-4
-8
0
0
0
0
0
3
4
25
-50
0
0
0
0
0
0
-1
0
-32
0
0
0
0
0
0
-4
-42
35
0
0
0
0
0
-2
4
13
54
0
0
5
0
0
0
14
-13
27
0
0
0
0
0
0
5
2
13
0
0
0
0
0
0
1
-5
-30
0
0
0
0
0
-2
6
-25
-20
0
0
0
0
0
0
-9
0
35
0
0
0
0
-2
0
2
-5
15
0
0
28
-7
-5
41
-37
-6
19
0
0
0
0
0
0
-25
29
0
0
0
0
0
0
0
9
26
0
0
0
0
0
0
0
-9
12
0
0
0
0
0
0
-4
-57
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-2
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
-4
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
-1
51
-23
0
0
0
0
0
0
-3
6
-21
0
0
0
0
0
0
-1
0
-25
0
0
0
0
0
0
1
1
57
0
0
0
0
0
0
-3
-1
-10
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
2
-4
-45
0
0
0
0
0
0
1
3
-72
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-6
-4
54
0
0
0
0
0
0
-2
1
-35
0
0
0
0
-2
0
1
-8
10
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
-3
-18
-2
0
0
0
1
0
0
0
-6
-47
0
0
0
-33
13
13
-60
-24
4
0
0
0
0
8
5
-30
-39
0
0
0
0
0
0
-7
8
30
0
0
0
0
0
0
3
16
17
0
0
0
0
0
0
57
-71
16
0
0
0
0
0
1
-13
29
15
0
0
0
0
0
0
6
-1
20
0
0
0
0
0
-2
0
-7
1
0
0
0
0
0
-8
54
-47
2
0
0
0
0
0
0
18
17
-20
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
2
-1
-4
-19
0
0
0
0
0
0
-31
-53
47
0
0
0
0
0
0
-2
-2
-4
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
4
2
-1
8
0
0
0
0
0
1
16
-6
-45
0
0
0
0
0
-3
16
18
49
-22
0
0
0
0
0
1
-17
19
-7
0
0
0
0
-2
6
-7
0
-9
0
0
0
0
0
0
-11
8
-13
0
0
0
0
0
-19
27
-3
43
0
0
0
0
0
0
-9
2
2
0
0
0
0
1
0
-13
0
-20
0
0
0
0
2
-7
-3
6
38
0
0
0
0
0
-4
4
9
-73
0
0
0
0
0
5
-13
23
-12
0
0
0
0
-1
0
-12
-5
-32
0
0
0
0
0
10
1
4
-23
0
0
0
0
0
-3
3
25
24
0
0
0
0
0
-2
0
-1
12
0
0
0
1
2
0
-2
-1
-20
0
29
2
4
10
27
-35
-103
18
0
0
0
12
8
0
26
-42
0
0
0
0
0
0
1
-29
20
0
0
0
0
0
0
0
-12
17
0
0
0
0
0
0
21
-66
6
0
0
0
0
0
0
0
7
6
0
0
0
0
0
-1
-4
-46
49
0
0
0
0
0
2
0
1
-14
0
0
0
0
0
3
-46
-18
36
0
0
0
0
-2
0
0
-20
39
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
1
0
5
23
0
0
0
0
0
-2
-5
-20
2
0
0
0
0
-2
1
0
-2
30
0
0
0
0
0
0
2
-2
-50
0
0
0
0
-1
-6
3
2
5
0
0
0
0
4
-13
19
-2
-53
0
0
0
0
-2
-1
-4
3
19
-7
0
0
0
0
0
0
-14
-30
38
0
0
0
0
0
0
-3
45
-7
0
0
0
0
0
23
50
45
-36
0
0
0
0
0
0
8
-5
-12
0
0
0
0
0
1
-60
24
30
0
0
0
0
-1
0
0
23
-30
0
0
0
1
1
1
15
58
-63
0
0
0
3
1
0
-2
2
-1
1
0
0
0
0
0
-13
8
32
-17
0
0
0
4
0
-18
-7
-39
-4
0
0
0
1
-3
15
15
-22
8
0
0
0
0
2
2
2
-71
5
0
0
0
-1
1
-42
62
-56
16
0
0
2
0
3
27
57
-70
-13
0
0
-2
16
37
76
33
-5
-7
0
0
0
0
1
-19
19
0
0
0
-9
0
0
-3
-9
-18
0
0
0
0
0
0
0
-10
22
0
0
0
0
0
-1
22
-17
-9
0
0
0
0
0
0
-1
7
64
0
0
0
0
0
0
0
-15
19
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
-3
-30
-23
48
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
9
18
0
0
0
0
0
0
3
-17
-3
0
0
0
0
0
2
0
3
-10
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
1
22
15
-6
0
0
-26
0
0
0
-21
15
-18
0
0
0
0
0
0
18
1
-32
0
0
0
0
0
-3
-5
30
2
0
0
0
0
0
0
-30
61
-2
0
0
-2
0
0
0
13
-4
-29
0
0
0
0
0
0
-6
21
-61
0
0
0
0
0
0
8
18
-70
0
0
0
0
0
-3
-13
11
28
-1
0
13
0
0
-1
20
42
-49
-29
0
0
0
0
0
1
-9
22
-7
0
-4
0
0
0
13
21
-40
-15
0
0
0
0
0
-12
4
11
-14
0
29
0
0
0
-6
-13
10
46
0
0
0
0
0
-34
-14
-4
6
0
-58
-7
10
-3
-48
-36
2
-12
0
0
0
0
-2
1
20
0
0
0
0
0
0
5
-16
19
0
0
0
0
0
0
0
41
-58
0
0
0
0
0
0
-13
19
-36
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-1
4
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
8
-23
5
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
2
-24
0
0
0
0
1
0
0
7
-24
0
0
0
0
0
0
1
8
-9
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-7
14
0
0
0
0
2
2
0
0
-11
0
0
0
0
0
2
0
-6
-1
22
0
0
0
0
0
3
18
-7
-7
0
0
0
0
0
0
18
-60
57
0
0
0
0
0
-10
-31
30
-21
0
0
0
0
0
0
8
18
-83
0
0
0
0
0
0
-5
12
-1
0
0
0
0
0
0
-2
1
3
0
0
0
0
-1
-2
-12
25
-49
0
0
0
0
0
0
2
-44
-39
-2
0
0
0
0
0
1
14
-134
1
0
0
0
0
0
-30
-5
1
-14
0
0
0
0
0
21
-7
-43
1
0
0
0
0
0
-1
2
-22
0
0
0
0
0
0
2
-19
-9
-12
0
0
0
0
0
8
0
-51
-10
0
0
-8
28
29
-80
8
11
-1
0
0
0
-4
-8
64
-54
0
0
0
0
0
0
2
-31
32
0
0
0
0
0
0
1
1
-45
0
0
-15
0
0
0
16
-62
63
0
0
0
0
0
0
6
6
15
0
0
0
0
0
0
-5
-23
-3
0
0
0
0
0
0
6
-12
22
0
0
0
0
0
0
4
26
-18
0
0
0
0
0
-1
9
-25
20
0
0
0
0
0
0
0
10
16
0
0
0
0
0
0
5
-13
6
0
0
-17
0
0
-1
8
5
13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
-1
15
0
0
0
0
0
-1
2
10
-1
22
0
0
0
0
0
1
-29
65
-39
0
0
0
0
0
0
-29
0
11
0
61
0
0
0
1
-21
7
-25
0
0
0
0
0
-5
2
5
27
0
0
0
0
0
-1
8
12
-18
0
0
0
0
0
0
5
-3
36
0
-3
0
0
0
-14
-30
-7
-53
0
0
0
0
0
2
-5
50
-54
-1
0
1
0
0
1
-24
-18
-36
14
0
0
0
0
0
29
-12
17
-42
-13
0
0
0
0
3
-13
-32
-32
0
0
0
0
0
2
8
-11
-10
0
0
0
0
-1
8
8
-14
-36
0
0
0
0
0
0
-17
-19
-40
-1
4
-1
-71
-60
-40
19
30
43
0
0
6
0
-1
-35
24
0
0
0
0
0
0
-1
-2
-4
0
0
0
0
1
0
0
1
-7
0
0
0
0
0
0
-33
23
-3
0
0
0
0
0
2
5
-41
4
0
0
0
0
0
0
3
-10
24
0
0
0
0
0
0
1
-4
5
0
0
0
0
0
0
30
-9
2
0
0
0
0
0
-1
-1
24
-15
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-4
39
0
0
0
0
0
0
-8
-28
22
0
0
0
0
0
0
-4
-1
8
0
0
0
0
0
0
0
13
-25
0
0
0
0
0
-2
1
0
6
0
0
0
0
-3
17
-29
0
6
0
0
0
0
0
1
7
-14
17
12
0
0
0
0
0
0
-41
0
33
0
0
0
0
0
1
3
-21
8
0
0
0
0
-2
-1
-5
-5
27
0
0
0
0
0
-2
0
3
-7
0
0
0
0
0
0
7
-8
13
0
0
0
0
1
0
0
-7
29
0
0
0
0
-1
2
-29
52
4
0
0
0
0
-1
0
0
17
-36
22
0
0
0
0
0
15
-29
-131
13
0
0
0
0
0
1
17
-32
-28
0
0
0
-1
-3
-36
41
-20
57
0
0
2
0
0
3
6
-39
-2
0
0
0
-1
0
7
-15
-4
-72
0
0
-8
-2
0
4
-12
32
17
0
0
-18
-33
35
6
63
-28
24
0
0
0
0
8
3
-1
0
0
0
13
0
0
0
-13
43
0
0
0
0
0
0
2
-6
30
0
0
0
2
0
0
-28
-15
31
0
0
0
0
0
1
1
-14
-10
0
0
0
0
0
0
3
7
-6
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
32
-50
-8
0
0
0
0
0
0
0
2
39
0
0
0
-4
0
0
0
0
-17
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-2
0
-13
4
0
0
0
0
0
0
0
2
-4
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
-6
-8
0
0
0
2
0
-2
-27
3
9
0
0
0
0
0
0
-7
-4
51
26
0
0
12
0
0
0
9
15
-57
0
0
0
0
0
0
-9
8
36
0
0
0
0
-1
-1
19
-2
-13
0
0
0
0
0
0
-4
-1
12
0
0
-8
0
0
2
4
1
-61
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
2
7
-9
-32
0
0
0
0
0
-1
2
-48
-33
16
0
-53
0
0
0
0
-40
44
36
0
0
0
0
0
-3
4
-6
19
0
-10
0
0
-1
0
4
-14
18
0
0
0
0
0
2
-5
3
9
0
28
0
0
0
-7
-3
4
22
0
0
-5
0
-1
8
6
31
-37
0
-21
14
-13
4
-25
-8
-25
-4
0
0
-19
0
-1
-3
56
0
0
0
0
0
0
-2
1
-17
0
0
0
0
0
-4
3
-13
-24
0
0
0
0
0
0
8
-53
2
0
0
0
0
0
-3
1
-12
7
0
0
0
0
0
0
-6
1
-22
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
10
-8
29
0
0
0
0
1
-1
0
7
17
0
0
0
0
0
1
0
5
21
0
0
0
0
-3
0
0
10
-16
0
0
0
0
0
-1
-5
30
9
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-1
4
0
0
0
0
3
-10
0
0
-10
0
0
0
0
2
-3
-20
27
29
0
0
0
0
-5
2
0
-8
31
-13
0
0
0
0
0
-1
-20
9
-19
0
0
0
0
0
0
5
-8
-41
0
0
0
2
0
-8
-23
-3
-14
0
0
0
0
0
0
-2
4
18
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
-1
0
1
-28
0
0
0
1
-3
4
10
-6
-10
0
0
0
-18
1
0
0
25
-23
-8
0
0
0
0
0
-9
21
-27
21
0
0
3
-1
0
0
5
-2
-46
0
0
0
0
-3
-5
1
4
0
0
0
-1
0
0
1
-8
-4
-11
0
0
-1
0
3
-7
0
-6
23
0
0
-20
0
-1
2
7
-63
37
0
0
6
-4
25
-36
-24
-20
25
0
0
12
3
0
-30
10
0
0
0
20
-13
-20
0
-54
18
0
0
0
0
-25
-23
37
-63
9
0
0
-17
-22
-17
0
-50
44
7
0
0
0
0
37
-46
63
-36
-16
0
0
0
28
-24
-11
-11
-5
-2
0
0
0
0
-8
-67
-21
36
-10
0
0
-42
-10
-15
-43
13
20
-35
0
0
0
0
-14
-15
-6
36
-10
0
0
0
-29
1
78
82
26
5
0
0
0
0
52
-59
-32
8
37
0
0
2
92
-3
-33
-27
-16
-24
0
0
0
0
-50
29
12
-63
-8
0
0
0
9
27
-52
-7
30
-16
0
0
0
0
15
21
38
12
-38
0
0
42
57
-18
-95
64
1
-39
0
0
0
0
32
58
-14
-55
59
3
0
0
-14
-27
-38
-94
-28
-6
1
0
0
0
-21
23
34
2
66
-17
0
10
-53
87
-5
-4
-3
55
-16
0
0
0
26
28
9
-41
22
-4
0
0
20
72
6
-6
-39
15
-34
0
0
0
40
20
28
-118
-38
-8
0
81
7
49
49
50
-1
-70
-16
0
0
0
39
-81
-31
-1
-10
-7
11
0
1
-48
-57
103
-8
-29
12
-5
0
0
48
88
-29
29
-10
-16
-18
0
42
13
-23
13
-50
-47
24
-18
0
0
-9
54
0
-43
42
-33
19
0
-33
27
-8
-33
14
-25
-16
-11
0
0
41
21
106
15
-5
-25
8
-67
2
-71
105
0
45
46
-28
-38
0
0
11
-39
-24
-3
16
0
0
0
0
-46
-13
-19
0
7
0
0
0
0
-79
24
5
-6
20
0
0
0
0
-47
45
46
-52
9
0
0
0
0
36
79
-18
-28
5
0
0
0
0
13
44
-24
-58
35
0
0
0
0
-14
12
23
-37
-4
0
0
0
0
-4
-12
4
13
-13
0
0
0
0
23
-41
-6
-2
14
0
0
0
0
0
23
78
-37
29
0
0
0
0
33
-20
34
8
-22
0
0
0
0
-4
-17
41
29
-40
0
0
0
0
-27
16
-14
-51
-9
0
0
0
0
0
-1
-48
-52
62
0
0
0
0
1
57
49
-59
41
0
0
0
0
1
-25
-19
8
-10
0
0
0
0
-22
-6
-14
-8
38
0
0
0
0
22
29
-41
42
-9
0
0
0
0
-5
5
27
5
-2
0
0
0
0
-1
4
85
-39
-41
0
0
0
0
46
58
0
-22
17
0
0
0
0
-1
0
30
-59
62
0
0
0
0
40
29
-40
60
-94
0
0
0
0
-1
-18
5
68
-14
0
0
0
0
18
-20
85
-8
-4
0
0
0
0
0
-10
36
-58
57
0
0
0
0
-37
33
-6
4
37
0
0
0
0
0
24
43
-63
11
0
0
0
0
44
-7
-44
33
16
0
0
0
0
42
-8
62
-6
24
0
0
0
0
-35
4
70
-77
66
0
0
0
0
0
17
52
-8
7
0
0
0
0
0
-7
-46
-20
10
0
0
0
1
33
34
-40
-40
6
0
0
0
0
29
27
-13
-13
-2
0
0
0
34
13
-16
64
-1
-5
0
0
0
0
0
-3
-6
-64
58
0
0
0
3
0
5
-26
-20
34
0
0
0
0
0
-15
47
13
-6
0
0
0
6
0
3
3
23
-41
0
0
0
0
0
2
16
-72
17
0
0
0
-14
1
31
-8
-21
64
0
0
0
0
0
13
38
-23
15
0
0
0
-24
0
10
-18
-45
6
0
0
0
0
0
0
22
-96
20
0
0
0
44
0
-25
30
0
38
0
0
0
0
0
4
31
-81
-1
0
0
0
-3
0
-16
0
10
-11
0
0
0
0
0
-20
19
-23
-25
0
0
0
-35
-5
-4
47
5
63
0
0
0
0
1
-1
2
-34
77
0
0
0
2
0
-2
-25
-17
-15
0
0
0
0
0
0
5
25
-7
0
0
0
51
0
5
-49
15
-8
0
0
0
0
0
-3
-8
43
-35
0
0
0
-1
0
1
4
1
22
0
0
0
0
0
-7
-9
71
-24
0
0
0
36
-32
20
1
-3
23
0
0
0
0
0
1
25
1
-31
0
0
0
4
0
1
-13
14
-28
0
0
0
0
0
0
57
7
-42
0
0
0
19
0
0
-6
-7
20
0
0
0
0
3
0
-17
-25
28
0
0
0
47
3
-83
-78
-5
-6
0
0
0
0
7
82
59
-51
-13
0
0
0
0
0
-64
-22
-63
15
0
0
0
0
-5
18
39
-9
6
0
0
0
0
33
-30
-27
29
23
0
0
0
0
95
-15
43
-52
-28
0
0
0
0
0
-15
34
-30
-16
0
0
0
0
-7
14
-29
-54
42
0
0
0
0
4
44
-17
15
-10
0
0
0
0
0
29
16
-5
-27
0
0
0
0
0
1
2
-34
-1
0
0
0
0
14
-36
-35
72
0
0
0
0
0
0
-36
77
-15
35
0
0
0
0
-6
31
-41
-22
46
0
0
0
0
0
-2
-13
54
2
0
0
0
0
3
-2
4
-26
15
0
0
0
0
-1
-6
-21
-27
2
0
0
0
0
-1
2
40
-24
-11
0
0
0
0
-1
1
8
-28
-9
0
0
0
0
-9
0
-28
-96
78
0
0
0
0
2
2
-25
-53
43
0
0
0
0
-2
46
36
-33
-2
0
0
0
0
0
-5
-15
-46
18
0
0
0
0
3
-6
-3
-8
17
0
0
0
0
0
-10
4
4
58
0
0
0
0
0
0
2
17
26
0
0
0
0
0
0
4
-56
41
0
0
0
0
-1
-2
-46
29
50
0
0
0
0
-4
-1
31
1
21
0
0
0
0
-51
36
-47
23
-3
0
0
0
0
1
-3
25
-19
-15
0
0
0
0
1
-40
29
-48
-3
0
0
0
0
20
21
32
-14
-46
0
0
0
0
1
74
-77
7
-24
0
0
0
5
-4
-48
-61
77
-5
0
0
0
0
18
19
17
-103
0
0
0
-56
-44
-4
60
51
16
-5
0
0
0
0
0
-1
-13
-26
1
0
0
0
4
-2
23
102
26
-48
0
0
0
0
3
10
22
-40
-15
0
0
22
1
1
-21
26
-29
-49
0
0
0
0
0
-3
11
7
34
0
0
0
0
0
-14
58
-35
0
0
0
0
0
0
-25
-20
-16
50
0
0
56
-45
0
-5
-40
69
-1
0
0
0
0
0
-3
-6
-16
52
0
0
0
2
0
-2
-24
3
-4
0
0
0
0
0
-6
48
61
-18
0
0
44
0
-1
-3
26
-34
-44
0
0
0
0
3
8
-11
-57
56
0
0
0
4
0
-7
36
-10
-1
0
0
0
0
2
1
-54
19
65
0
0
18
-8
1
-24
-20
-8
27
0
0
0
0
0
4
19
-32
49
0
0
0
21
0
0
29
-55
-24
0
0
0
0
1
-3
1
-13
26
0
0
86
0
2
-6
-44
-39
-59
0
0
0
0
0
1
9
-18
-9
0
0
0
0
0
1
3
-4
17
0
0
0
0
0
0
-54
-39
75
0
0
-63
2
0
29
-33
-11
10
0
0
0
0
0
-1
-38
-47
102
0
0
0
16
0
-2
-6
-62
2
0
0
0
0
-5
3
-22
-19
105
0
0
5
47
-9
-58
-41
-47
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
19
17
7
-8
0
0
0
0
0
1
-7
-28
31
0
0
0
0
0
5
-19
-62
52
0
0
0
0
0
0
17
-14
-10
0
0
0
0
-25
-3
-28
69
-71
0
0
0
0
0
-1
-1
0
1
0
0
0
0
2
-2
-25
-63
97
0
0
0
0
2
-5
21
-37
33
0
0
0
0
-5
50
-2
20
-11
0
0
0
0
0
0
-10
-16
-14
0
0
0
0
0
-1
18
12
-9
0
0
0
0
0
0
-2
17
32
0
0
0
0
0
-5
5
-6
-27
0
0
0
0
-1
0
1
12
-16
0
0
0
0
0
0
-1
10
22
0
0
0
0
0
-1
-16
22
-5
0
0
0
0
-35
8
55
-92
59
0
0
0
0
0
-2
-15
-115
55
0
0
0
0
0
-14
-2
-6
-31
0
0
0
0
0
5
0
-52
72
0
0
0
0
-27
-68
43
-31
44
0
0
0
0
-8
-6
-2
24
7
0
0
0
0
0
0
12
18
30
0
0
0
0
0
2
4
38
3
0
0
0
0
74
-17
90
-29
6
0
0
0
0
0
-1
-11
47
-11
0
0
0
0
-1
12
28
17
-57
0
0
0
0
0
5
-4
-62
28
0
0
0
0
43
-72
74
16
-15
0
0
0
0
-1
17
-7
-22
76
0
0
0
0
-3
-33
-13
-26
13
0
0
0
0
-28
27
29
-1
23
0
0
0
0
0
0
3
-4
33
0
0
0
22
0
0
3
-48
5
0
0
0
0
0
0
-2
-15
32
0
0
0
0
0
0
-27
30
-2
0
0
0
0
0
-1
-7
8
38
0
0
0
9
0
-17
-21
21
-7
0
0
0
0
0
0
8
-74
32
0
0
0
0
0
8
-4
-61
6
0
0
0
0
0
1
10
-8
16
0
0
0
-29
0
0
6
-37
36
0
0
0
0
0
0
-3
-18
25
0
0
0
1
0
0
3
7
-19
0
0
0
0
0
0
0
0
21
0
0
0
-5
0
0
-1
-11
-6
0
0
0
0
0
-1
0
-8
33
0
0
0
-3
0
-1
-3
-29
41
0
0
0
0
0
0
-15
-40
-14
0
0
0
-6
0
-6
12
-59
12
0
0
0
0
0
0
7
-31
19
0
0
0
1
0
4
-4
-38
42
0
0
0
0
0
0
2
-22
65
0
0
0
-15
0
1
3
-2
-16
0
0
0
0
0
0
-3
-2
18
0
0
0
0
0
0
13
13
52
0
0
0
0
0
2
17
-57
0
0
0
0
16
1
-30
-47
29
21
0
0
0
0
0
0
-3
-2
59
0
0
0
0
0
-1
2
-10
-53
0
0
0
0
0
0
21
-53
8
0
0
0
18
0
-4
3
5
-40
0
0
0
0
-2
5
-4
14
-10
0
0
0
-7
0
6
-68
-5
34
0
0
0
0
8
-2
-24
-9
48
0
0
0
0
0
0
0
4
46
0
0
0
0
-2
-5
2
2
11
0
0
0
0
0
9
4
-19
-5
0
0
0
0
-1
7
-2
51
11
0
0
0
0
0
-8
2
-23
-5
0
0
0
0
-1
0
2
-18
-13
0
0
0
0
0
3
25
-45
17
0
0
0
0
-1
0
2
-3
78
0
0
0
0
0
0
3
18
-19
0
0
0
0
0
0
-1
5
-5
0
0
0
0
0
3
-6
-40
58
0
0
0
0
2
18
12
7
14
0
0
0
0
0
0
-25
2
56
0
0
0
0
1
4
-5
0
-11
0
0
0
0
0
8
3
-11
-13
0
0
0
0
-1
-2
-2
-31
26
0
0
0
0
1
-1
3
-28
97
0
0
0
0
0
0
1
-47
14
0
0
0
0
0
-1
29
-9
-68
0
0
0
0
14
5
9
-18
-22
0
0
0
0
0
0
0
-18
-17
0
0
0
0
0
0
-2
40
-20
0
0
0
0
0
-6
-23
-16
16
0
0
0
0
4
-10
-17
45
-32
0
0
0
0
0
0
-5
-29
80
0
0
0
0
-1
1
2
-57
9
0
0
0
0
1
-1
2
5
6
0
0
0
0
3
20
-7
-53
49
0
0
0
0
0
-1
-5
8
-13
0
0
0
0
2
-4
-5
16
23
0
0
0
0
-6
-6
-4
-1
5
0
0
0
0
0
-2
-1
39
-1
0
0
0
0
0
0
-3
15
-32
0
0
0
0
0
-2
1
-53
67
0
0
8
-6
0
-5
14
-75
5
0
0
0
0
0
1
-4
-6
10
0
0
0
1
0
0
-13
50
-24
0
0
0
0
0
0
0
-46
-7
0
0
-2
0
0
-8
-43
28
18
0
0
0
0
0
0
-4
5
-57
0
0
0
8
0
-1
-17
-40
34
0
0
0
0
0
0
1
-33
85
0
0
13
0
0
-1
9
-19
10
0
0
0
0
0
-2
-3
42
-10
0
0
0
-1
0
0
13
-20
1
0
0
0
0
0
0
-7
-41
42
0
0
-1
0
0
0
46
-12
-5
0
0
0
0
0
3
-3
3
47
0
0
0
0
0
3
-32
-14
6
0
0
0
0
0
4
7
5
-46
0
0
-8
0
0
-5
6
4
1
0
0
0
0
0
0
-4
-10
19
0
0
0
0
0
0
-2
-32
-9
0
0
0
0
0
-3
2
-9
12
0
0
15
0
0
0
-3
-19
20
0
0
0
0
0
4
4
-16
-27
0
0
0
-1
0
-2
3
-10
-52
0
0
0
0
0
-2
-2
-4
11
0
0
61
0
0
1
-58
-78
13
0
0
0
0
0
2
8
1
-24
0
0
0
-9
0
0
25
-45
11
0
0
0
0
0
2
-2
-5
-31
0
0
-31
-1
0
-1
-7
-36
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-42
-13
39
5
0
0
0
0
0
-13
23
-67
32
0
0
0
0
2
-77
3
15
6
0
0
0
0
-1
25
-13
-66
29
0
0
0
0
-13
15
7
-50
31
0
0
0
0
1
-2
-20
-29
61
0
0
0
0
-1
-10
48
47
-17
0
0
0
0
0
-18
103
27
9
0
0
0
0
86
-46
-13
-29
-3
0
0
0
0
0
13
-6
-14
-47
0
0
0
0
0
4
-10
-62
54
0
0
0
0
0
-12
-42
24
-5
0
0
0
0
-4
-24
84
14
-12
0
0
0
0
0
0
20
-22
12
0
0
0
0
38
18
13
12
-8
0
0
0
0
0
5
11
-14
50
0
0
0
0
-47
-20
17
0
56
3
0
0
0
0
0
8
-88
2
5
0
0
0
0
-8
65
30
26
1
0
0
0
-2
13
13
-41
18
-7
0
0
0
-8
70
52
58
52
2
0
0
0
-1
0
22
-51
44
31
0
0
0
-3
-28
3
-14
93
2
0
0
0
0
2
5
-11
-43
-10
0
0
0
-46
-4
-48
-44
21
22
0
0
0
0
12
14
-124
-20
45
0
0
0
-40
23
-7
-24
-15
26
0
0
0
0
17
7
13
26
-15
0
0
0
7
79
-52
104
73
-15
0
0
0
2
-15
-42
-9
-47
43
0
0
0
33
-32
11
36
24
0
0
0
0
-9
-11
-44
-9
-23
1
0
0
0
0
12
13
-35
-9
0
0
0
-27
6
35
15
1
32
0
0
0
0
0
-2
-15
13
50
0
0
0
19
0
-2
-16
-58
52
0
0
0
0
0
-4
5
13
52
0
0
0
-10
0
-2
3
10
24
0
0
0
0
0
0
17
-17
-35
0
0
0
0
0
0
-44
-17
-8
0
0
0
0
0
3
26
-78
46
0
0
0
5
0
13
-25
11
18
0
0
0
0
-5
-1
-43
-3
45
0
0
0
3
0
1
40
-27
26
0
0
0
0
0
0
-8
-25
52
0
0
0
6
0
-15
17
-96
36
0
0
0
0
0
-7
12
16
-45
0
0
0
8
0
6
-1
-17
-5
0
0
0
0
0
5
16
71
-10
1
0
0
30
-17
-25
0
-36
3
-3
0
0
0
0
0
5
6
102
-20
0
0
4
0
0
49
20
2
-20
0
0
0
0
0
-8
24
-47
18
0
0
3
1
0
-9
0
-24
14
0
0
0
0
-2
0
-18
49
-7
0
0
0
0
2
-4
30
-15
-15
0
0
0
0
0
14
-19
35
1
0
0
-47
-6
-1
-56
-40
67
30
0
0
0
3
-2
-8
-34
23
-1
0
0
1
0
-1
0
105
-57
-39
0
0
0
0
2
18
-3
-17
41
0
0
-38
0
-3
-18
-40
3
11
0
0
0
0
15
-1
-66
10
11
0
0
-46
-6
-29
10
-19
40
14
0
0
0
-1
13
-9
-12
-7
0
0
0
0
0
0
18
-38
63
0
0
0
0
10
-8
2
-43
23
0
0
0
0
1
8
-20
3
52
0
0
0
0
-2
-4
-14
-26
-16
0
0
0
0
0
0
-10
28
-2
0
0
0
0
0
2
-5
2
-1
0
0
0
0
0
-32
-2
-45
12
0
0
0
0
0
0
-5
34
13
0
0
0
0
0
-5
1
-55
23
0
0
0
0
-5
-8
3
-56
45
0
0
0
0
2
2
-31
-21
17
0
0
0
0
0
-1
30
-33
19
0
0
0
0
0
3
2
1
10
0
0
0
0
-1
-9
-25
16
8
0
0
0
0
-5
6
16
-65
31
0
0
0
0
-1
17
18
0
-15
-12
0
0
0
0
0
43
-13
35
6
0
0
0
-1
0
0
-64
-25
6
0
0
0
0
0
-12
2
-6
15
0
0
0
1
-4
30
-58
68
0
0
0
0
0
0
-8
-8
-76
15
0
0
0
0
0
-22
-5
-5
20
0
0
0
1
-1
1
-46
44
-17
0
0
0
1
-8
-20
24
31
-5
0
0
0
0
0
2
41
67
-13
0
0
0
-2
0
0
-9
11
-19
0
0
0
-4
-3
-17
46
-22
19
0
0
0
-1
-1
48
-8
11
-20
0
0
0
0
-1
-1
-27
49
-27
0
0
0
-1
-3
6
24
-1
-22
0
0
0
-8
5
-44
-24
-56
9
0
0
0
0
-1
3
-1
27
0
0
0
0
0
2
8
-55
19
0
0
0
0
3
9
-29
34
-19
0
0
-13
19
0
7
12
-15
20
0
0
0
0
0
0
7
-12
18
0
0
0
-2
0
-1
-25
-37
9
0
0
0
0
0
0
-17
-31
0
0
0
17
0
-2
-4
9
-36
13
0
0
0
0
0
0
9
31
-48
0
0
0
0
0
0
20
0
33
0
0
0
0
0
-12
-15
-5
13
0
0
-20
-3
0
7
34
25
-14
0
0
0
0
0
0
3
-18
11
0
0
0
0
0
0
-29
22
10
0
0
0
0
0
-15
-2
-40
42
0
0
-20
0
-1
-14
-8
-16
1
0
0
0
0
1
1
1
67
26
-12
0
0
0
0
-2
57
-48
-21
-16
0
0
0
0
7
-6
-54
-4
-5
0
50
-1
0
4
-10
-19
48
8
0
0
0
0
0
2
3
43
15
0
0
4
0
0
6
-9
46
-38
0
0
0
1
2
0
-42
-5
8
0
-57
0
0
-9
1
-25
25
-35
0
0
0
0
1
7
15
42
-6
0
0
0
0
-4
-9
-1
-15
61
0
0
0
1
0
20
-19
-30
-31
0
19
0
0
-1
-67
-44
28
36
0
0
0
0
-7
0
-54
-38
-6
0
0
-4
0
1
-20
-5
2
-50
0
0
0
2
-8
-28
-49
107
-14
0
5
4
0
-22
27
-38
-40
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
48
37
-70
-22
0
0
0
0
0
0
-15
-55
21
0
0
0
0
1
3
19
-79
53
0
0
0
0
0
0
5
-14
8
0
0
0
0
-18
13
9
19
-20
0
0
0
0
0
-3
-10
-55
16
0
0
0
0
0
2
1
16
-16
0
0
0
0
0
0
1
19
81
0
0
0
0
-15
30
36
-43
-1
0
0
0
0
0
-5
1
-73
12
0
0
0
0
0
4
45
-29
-14
0
0
0
0
0
4
-2
49
-21
0
0
0
0
39
1
3
-43
-12
0
0
0
0
0
0
-11
-26
-5
0
0
0
0
-3
27
6
-36
-33
0
0
0
0
10
-30
-7
-24
-17
0
0
0
0
9
-2
12
51
67
22
0
0
0
0
3
23
43
20
-39
0
0
0
0
5
31
-35
18
27
0
0
0
0
0
8
47
-29
-5
0
0
0
13
-1
57
33
-12
-30
0
0
0
-1
3
-21
-26
90
-8
0
0
0
-8
7
-3
-24
33
-35
0
0
0
-1
6
-29
-25
1
-23
0
0
0
-22
-9
62
-13
-24
1
3
0
0
0
-1
8
-29
-17
28
-5
0
0
0
-24
-68
-5
106
-19
2
0
0
0
-6
16
51
-12
-50
-25
0
0
-6
-73
66
18
4
-9
10
0
0
-1
-6
10
-23
41
-44
-11
0
0
13
42
-45
-12
-42
-17
6
0
0
6
43
-12
15
11
4
2
0
0
0
0
5
43
-17
0
0
0
28
0
2
-16
16
-18
0
0
0
0
0
0
0
53
-23
0
0
0
0
0
0
-15
-10
16
0
0
0
0
0
0
-30
-5
58
0
0
0
6
0
-4
45
-53
-1
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
16
3
-3
0
0
0
0
0
-2
21
-12
33
0
0
0
22
0
-1
-16
-32
27
0
0
0
0
0
0
0
-11
3
0
0
0
-3
0
-1
18
-28
16
0
0
0
0
0
-1
-5
-21
76
0
0
0
2
0
0
-8
-46
14
0
0
0
0
0
0
1
-43
5
0
0
0
-5
0
2
-4
-2
65
0
0
0
0
0
0
-3
-88
-10
58
0
0
30
2
-29
-14
-7
46
22
0
0
0
0
0
0
-66
35
12
0
0
0
0
-1
-13
-3
-13
-19
0
0
0
0
0
-8
18
-14
-6
0
0
-42
-2
-2
17
-8
56
16
0
0
0
0
1
3
-2
-32
29
0
0
0
0
2
0
-18
-37
15
0
0
0
0
0
-73
-68
73
3
-7
0
-13
0
13
-24
-7
34
-39
-30
0
0
0
-2
6
-25
11
-10
-18
0
-6
0
-2
-13
-41
5
-66
-14
0
0
0
-3
-6
-3
14
-15
22
0
-21
0
0
40
-39
30
-19
-61
0
0
-1
2
5
-45
28
-28
-11
0
21
-2
-18
-9
-55
21
-41
-15
0
0
-1
1
-7
-6
22
0
0
0
0
0
0
0
7
-26
0
0
0
0
0
1
18
15
8
0
0
0
0
0
1
0
-9
27
0
0
0
0
2
2
-6
-7
-69
0
0
0
0
0
-1
1
10
-8
0
0
0
0
0
-7
0
-4
8
0
0
0
0
0
1
-42
-9
3
0
0
0
0
6
0
-8
0
5
0
0
0
0
0
0
4
-73
8
0
0
0
0
-2
-5
2
-5
20
0
0
0
0
0
1
5
-71
28
0
0
0
0
1
2
0
27
54
0
0
0
0
0
0
-9
-8
10
0
0
0
0
-1
0
-22
-13
44
0
0
0
0
1
6
15
-9
-19
0
0
0
0
-9
-13
5
53
21
-1
0
0
0
0
0
-7
-15
22
6
0
0
0
-1
-1
3
6
-19
37
0
0
0
0
0
-12
-30
6
63
0
0
0
-5
2
4
-38
-33
21
0
0
0
0
-1
-2
14
-46
-7
0
0
0
0
-2
0
0
44
-34
0
0
0
0
-3
7
-59
1
21
0
0
0
-20
-48
0
-35
4
21
-3
0
0
0
-3
1
-65
-19
-62
30
0
0
0
6
-12
-30
-10
-114
36
0
0
-6
1
0
-17
-22
-44
-1
0
0
-10
-1
-23
26
47
-38
7
0
0
0
2
0
1
36
-77
1
0
0
-6
5
-6
45
8
-16
0
0
0
-3
13
-13
-2
-18
-50
17
0
0
0
-2
-2
-8
56
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
3
-14
-28
0
0
-12
6
0
1
-43
-69
28
0
0
0
0
0
0
-3
5
-6
0
0
0
0
0
0
-24
-24
23
0
0
0
0
0
-1
2
3
3
0
0
2
0
0
-4
-14
32
8
0
0
0
0
0
0
-5
-19
-13
0
0
0
0
0
0
-7
32
-23
0
0
0
0
0
-8
0
-8
-33
0
0
43
0
0
-4
15
-4
-13
0
0
0
0
0
0
-32
4
27
0
0
0
-3
0
0
-16
-47
26
0
0
0
0
0
-10
-5
-16
-5
0
0
-29
0
0
2
-29
31
8
0
0
0
0
0
0
-1
-108
0
-26
0
0
0
0
-1
3
32
26
-53
0
0
0
0
1
-24
-11
9
43
0
-35
0
0
-2
15
9
-13
-6
0
0
0
0
0
0
-3
18
-27
0
0
0
0
0
-2
-49
44
-26
0
0
0
0
0
-4
7
-65
12
0
30
0
0
-2
55
-7
0
-46
0
0
0
0
-3
2
1
6
9
-3
0
-1
0
-2
-25
40
1
-99
-9
0
0
0
-2
-3
-5
31
-87
-18
-60
0
0
-7
-15
4
24
-5
1
0
0
0
2
1
-41
105
-9
-49
0
5
0
0
1
22
-39
-13
2
0
0
0
-6
0
-65
-53
-14
-10
8
-4
-1
-8
-61
3
3
-84
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-43
-29
-3
31
0
0
0
0
-19
-95
-56
-29
52
0
0
0
0
0
31
-121
-40
-12
0
0
0
0
-3
11
43
-97
19
0
0
0
0
-7
3
-42
18
1
0
0
0
0
0
28
38
-5
8
0
0
0
0
-7
-39
-12
38
-53
0
0
0
0
0
8
59
-29
-30
0
0
0
0
34
-35
-35
-49
31
0
0
0
0
0
0
2
20
30
0
0
0
0
30
-61
11
34
13
0
0
0
0
1
5
7
-7
15
0
0
0
0
3
22
-8
-60
11
0
0
0
0
0
2
10
-3
-11
0
0
0
0
25
1
53
28
-26
0
0
0
0
1
6
-8
-47
30
0
0
0
0
-22
41
-19
-18
35
0
0
0
0
0
-3
53
-59
49
0
0
0
0
-5
-10
49
-83
111
0
0
0
0
0
9
-9
-10
14
0
0
0
0
-4
55
37
-6
-36
0
0
0
0
0
-8
-11
50
71
0
0
0
0
-7
2
7
-6
-46
0
0
0
0
0
8
4
-1
83
0
0
0
0
-10
-59
46
-39
38
0
0
0
0
0
0
6
-44
35
0
0
0
0
-22
20
11
39
22
0
0
0
0
0
16
3
50
-9
0
0
0
0
-44
16
-40
17
42
0
0
0
0
4
-8
5
5
-27
0
0
0
0
-4
-30
53
-50
0
0
0
0
0
-36
-22
30
-27
23
0
0
0
0
0
29
-4
5
13
0
0
0
-20
38
-28
17
25
27
0
0
0
0
0
-4
-3
-67
34
0
0
0
-8
0
-14
-29
37
-16
0
0
0
0
6
-46
-30
25
43
0
0
0
-17
0
29
77
-12
-30
0
0
0
0
0
-7
14
-48
33
0
0
0
-8
0
1
-11
43
-24
0
0
0
0
0
-23
10
-33
30
0
0
0
8
1
0
12
-25
17
0
0
0
0
0
-1
1
29
-35
0
0
0
4
0
-3
-19
-21
36
0
0
0
0
0
0
-9
13
-18
0
0
0
29
0
1
3
-54
22
0
0
0
0
0
-2
-4
-23
25
0
0
0
10
0
8
-20
10
10
0
0
0
0
0
0
-2
12
4
0
0
0
-64
5
-8
8
18
54
0
0
0
0
0
0
0
-13
16
0
0
0
1
0
0
22
-76
2
0
0
0
0
0
0
-17
-40
-8
0
0
0
43
0
0
19
-46
-43
0
0
0
0
0
0
3
6
-25
0
0
0
-1
0
0
3
-3
22
0
0
0
0
0
0
-4
-114
46
0
0
0
-6
0
2
-5
-43
42
0
0
0
0
0
0
1
-10
12
0
0
0
5
0
0
-3
-17
24
0
0
0
0
0
-1
-28
-58
8
0
0
0
-37
0
0
13
-2
-7
0
0
0
0
1
3
-13
-64
32
0
0
0
-18
5
-7
-70
6
28
0
0
0
0
8
48
-110
34
13
0
0
0
0
0
1
-18
-28
33
0
0
0
0
1
30
25
8
-32
0
0
0
0
0
-2
36
-43
-12
0
0
0
0
1
1
4
-58
34
0
0
0
0
0
0
14
-40
12
0
0
0
0
0
-2
8
-65
68
0
0
0
0
0
-4
3
37
16
0
0
0
0
0
-5
29
17
18
0
0
0
0
0
0
0
-14
15
0
0
0
0
0
-1
18
19
53
0
0
0
0
0
1
15
23
-18
0
0
0
0
0
0
-16
-27
0
0
0
0
0
0
0
-3
-40
14
0
0
0
0
0
0
15
-26
23
0
0
0
0
0
1
10
45
-43
0
0
0
0
0
-3
8
-33
-6
0
0
0
0
0
0
4
13
-78
0
0
0
0
0
3
23
-45
-30
0
0
0
0
0
0
-10
-54
39
0
0
0
0
0
1
3
-58
27
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
-7
-8
10
0
0
0
0
0
0
2
-12
68
0
0
0
0
0
0
55
11
-48
0
0
0
0
0
0
0
28
-31
0
0
0
0
0
-1
-30
70
-4
0
0
0
0
0
0
47
16
-15
0
0
0
0
0
0
5
-18
43
0
0
0
0
0
0
-1
33
4
0
0
0
0
0
2
6
-54
99
0
0
0
0
-1
21
-28
0
-2
0
0
0
0
0
25
17
-32
2
0
0
0
0
0
4
4
-60
12
0
0
0
0
0
1
-66
44
17
0
0
-41
29
1
3
94
20
12
0
0
0
0
0
0
-27
-26
22
0
0
0
0
0
-7
-27
-67
31
0
0
0
0
0
0
-13
-2
25
0
0
1
0
0
1
-14
-54
16
0
0
0
0
0
5
9
11
-54
0
0
0
0
0
0
13
-12
-20
0
0
0
0
0
1
13
32
-52
0
0
69
1
0
0
39
-15
9
0
0
0
0
0
0
-3
-77
46
0
0
0
0
0
0
3
7
96
0
0
0
0
0
1
8
-37
11
0
0
19
0
-1
-2
30
-14
8
0
0
0
0
0
3
77
-33
-12
0
0
0
0
0
1
16
-3
-20
0
0
0
0
0
-2
10
-28
57
0
0
-29
-2
0
-5
-31
79
15
0
0
0
0
0
0
-30
-14
27
0
0
0
0
0
0
12
-27
3
0
0
0
0
0
0
-12
-16
-28
0
0
19
0
0
3
31
-28
-12
0
0
0
0
0
0
20
-40
75
0
0
0
0
0
0
-8
-3
40
0
0
0
0
0
1
-1
-42
30
0
0
-18
0
0
-2
31
-7
16
0
0
0
0
0
-4
-3
-5
18
0
0
0
0
0
0
3
-16
20
0
0
0
0
0
3
13
-44
32
0
0
48
17
-1
-25
-2
41
-46
0
0
0
0
11
-15
-26
-35
54
0
0
0
0
0
-23
87
-44
4
0
0
0
0
0
49
50
-67
6
0
0
0
0
0
0
26
3
-37
0
0
0
0
-1
5
-2
-48
13
0
0
0
0
0
1
-62
2
63
0
0
0
0
0
0
20
13
-40
0
0
0
0
0
2
24
40
-16
0
0
0
0
4
-6
-16
-21
49
0
0
0
0
0
-4
-10
-51
32
0
0
0
0
0
2
22
15
-49
0
0
0
0
0
0
-21
-7
26
0
0
0
0
-1
-4
-33
-2
73
0
0
0
0
0
0
-4
13
-5
0
0
0
0
0
-1
4
2
49
0
0
0
0
-2
0
0
-45
77
0
0
0
0
25
-13
-2
-22
-9
0
0
0
0
0
4
7
14
-45
0
0
0
0
0
-1
0
2
12
0
0
0
0
0
4
-15
-3
-25
0
0
0
0
-2
-15
13
35
-10
0
0
0
0
0
2
-2
-64
-15
0
0
0
0
0
0
1
2
19
0
0
0
0
0
-1
25
0
-1
0
0
0
0
-22
57
8
-27
-16
0
0
0
0
0
0
-3
-10
6
0
0
0
0
0
0
2
50
-3
0
0
0
0
0
2
-2
7
8
0
0
0
0
1
-58
28
-48
8
0
0
0
0
0
0
5
-19
25
0
0
0
0
-1
-3
-8
17
40
0
0
0
0
1
-28
43
-41
4
0
0
0
0
0
0
30
-8
46
0
0
0
9
0
0
-68
26
34
0
0
0
0
0
0
3
-19
79
0
0
0
0
0
1
1
-4
-11
0
0
0
0
0
0
41
-97
-9
0
0
0
0
0
-2
14
-70
-36
0
0
0
0
0
0
2
-13
17
0
0
0
0
0
0
66
-21
-30
0
0
0
0
0
-1
17
-29
-6
0
0
0
3
0
0
-8
12
39
0
0
0
0
0
0
0
-13
44
0
0
0
0
0
-1
-2
18
-36
0
0
0
0
0
0
5
25
-35
0
0
0
0
0
-2
-13
1
-11
0
0
0
0
0
0
-2
-3
39
0
0
0
0
0
0
-30
-14
35
0
0
0
0
0
0
-2
-4
-16
0
0
0
80
2
0
-14
-39
24
0
0
0
0
0
0
0
-24
71
0
0
0
0
0
1
-2
-19
12
0
0
0
0
0
0
-1
-8
14
0
0
0
0
0
2
-24
14
19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
6
12
0
0
0
0
0
0
-4
2
27
0
0
0
-15
0
0
5
-58
49
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
-4
-5
23
9
0
0
0
0
0
0
8
-25
71
0
0
0
1
0
-6
7
-36
7
0
0
0
0
0
0
0
-13
27
0
0
0
1
0
18
-43
-26
-17
0
0
0
0
0
6
5
60
-37
0
0
0
0
0
0
-10
-19
10
0
0
0
0
0
3
54
-23
-25
0
0
0
0
0
0
13
-75
-24
0
0
0
0
0
0
20
20
-59
0
0
0
0
0
0
-2
-3
34
0
0
0
0
0
-1
1
-42
69
0
0
0
0
0
1
0
42
41
0
0
0
0
0
0
-3
-4
57
0
0
0
0
0
-6
0
13
3
0
0
0
0
0
-2
-6
2
-14
0
0
0
0
0
0
2
41
-24
0
0
0
0
0
0
-10
-2
22
0
0
0
0
0
0
1
3
-24
0
0
0
0
0
0
-1
-1
23
0
0
0
0
0
-4
1
-24
-12
0
0
0
0
2
-2
5
-23
7
0
0
0
0
0
2
5
-29
-7
0
0
0
0
0
1
0
-20
4
0
0
0
0
0
0
0
-12
20
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
-1
0
-3
29
0
0
0
0
0
1
1
12
-26
0
0
0
0
0
0
-4
-10
16
0
0
0
0
0
0
0
-18
-13
0
0
0
0
0
1
-10
-6
19
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
1
8
-8
0
0
0
0
-4
7
25
35
21
0
0
0
0
0
-12
44
22
-2
0
0
0
0
0
-3
86
-21
-29
0
0
0
0
0
-25
27
55
20
0
0
-2
0
0
9
56
-7
-61
0
0
0
0
0
5
38
-32
4
0
0
0
0
0
-3
34
25
-48
0
0
0
0
0
-8
-26
18
19
0
0
0
0
0
-19
40
-9
10
0
0
0
0
0
3
83
-49
8
0
0
0
0
0
-2
-38
12
-47
0
0
0
0
0
-3
-15
-29
79
0
0
-1
0
0
5
-20
-18
-4
0
0
0
0
0
0
5
7
46
0
0
0
0
0
3
10
-24
9
0
0
0
0
0
2
-2
12
2
0
0
0
0
0
-14
-34
50
-29
0
0
0
0
0
22
33
-62
40
0
0
0
0
0
-2
-20
23
-3
0
0
0
0
0
6
5
-68
10
0
0
-7
0
0
1
-2
-44
32
0
0
0
0
0
-3
-11
6
36
0
0
0
0
0
0
-22
-10
34
0
0
0
0
0
0
-7
8
7
0
0
0
0
0
-17
-4
32
0
0
0
0
0
0
29
-45
-23
4
0
0
0
0
0
-1
-16
-56
119
0
0
0
0
0
-2
0
-20
9
0
0
-4
0
0
0
2
-1
-15
0
0
0
0
0
2
-58
-30
24
0
0
0
0
0
-4
20
25
-59
0
0
0
0
0
-2
-32
-12
31
0
0
-5
0
-1
1
-39
22
24
0
0
0
0
45
-13
-2
-42
45
0
0
0
0
0
25
7
-64
-24
0
0
0
0
0
-4
-59
32
44
0
0
0
0
0
-14
-29
44
2
0
0
0
0
0
5
1
-28
-7
0
0
0
0
0
-6
16
-35
50
0
0
0
0
0
-6
0
8
12
0
0
0
0
0
2
25
-20
-3
0
0
0
0
28
-25
-27
25
-8
0
0
0
0
0
-1
-1
-3
21
0
0
0
0
0
12
-10
-4
10
0
0
0
0
0
4
3
0
19
0
0
0
0
-4
-33
20
55
21
0
0
0
0
0
1
-6
5
27
0
0
0
0
-1
19
15
-53
47
0
0
0
0
0
-4
5
21
-15
0
0
0
0
56
-57
13
-26
2
0
0
0
0
0
0
7
-60
45
0
0
0
0
0
0
-7
-22
17
0
0
0
0
0
2
5
-19
1
0
0
0
0
0
1
-1
-8
13
0
0
0
0
0
0
0
7
42
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
-3
0
-16
-17
0
0
0
0
-18
27
-7
3
23
0
0
0
0
0
-2
-3
-19
13
0
0
0
0
0
-1
1
-30
35
0
0
0
0
0
3
-8
3
6
0
0
0
0
-54
14
69
-54
1
0
0
0
0
0
-2
0
-3
59
0
0
0
0
5
-8
-1
44
-6
0
0
0
0
14
-9
3
-2
6
0
0
0
0
0
0
-18
16
65
0
0
0
-20
0
0
-53
4
22
0
0
0
0
0
0
1
-30
54
0
0
0
0
0
0
29
-39
4
0
0
0
0
0
0
-7
1
-18
0
0
0
-17
0
2
-5
-39
-12
0
0
0
0
0
0
0
-14
-47
0
0
0
0
0
2
1
-27
21
0
0
0
0
0
-1
8
-75
-2
0
0
0
0
0
0
5
-23
40
0
0
0
0
0
0
0
-6
73
0
0
0
4
0
2
6
-35
-6
0
0
0
0
0
0
1
-46
7
0
0
0
8
0
-1
-12
26
-17
0
0
0
0
0
1
0
-41
34
0
0
0
-6
0
1
-20
7
49
0
0
0
0
0
0
0
45
-12
0
0
0
-13
0
2
-8
-41
28
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
5
-1
0
0
0
2
0
0
1
-10
23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
-4
-2
0
0
0
0
0
0
0
7
-54
0
0
0
3
0
-1
3
-13
18
0
0
0
0
0
0
0
-12
17
0
0
0
0
0
0
5
14
-23
0
0
0
0
0
0
2
2
-51
0
0
0
-12
0
0
4
-32
48
0
0
0
0
0
0
0
-12
29
0
0
0
79
0
0
-21
-21
-45
0
0
0
0
0
6
8
2
-9
0
0
0
0
0
0
2
-26
-28
0
0
0
0
0
-1
18
-9
21
0
0
0
0
0
0
-3
2
-1
0
0
0
0
0
0
-7
2
13
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
2
-20
2
0
0
0
0
0
0
-16
-16
52
0
0
0
0
1
2
-20
15
16
0
0
0
0
0
0
0
-47
94
0
0
0
0
-2
1
-2
-9
30
0
0
0
0
0
-3
6
8
6
0
0
0
0
0
0
3
-5
-18
0
0
0
0
0
0
0
4
-15
0
0
0
0
2
4
0
-81
62
0
0
0
0
0
0
-8
-2
9
0
0
0
0
0
1
-1
-34
37
0
0
0
0
0
0
0
-12
0
0
0
0
0
-1
0
0
-8
3
0
0
0
0
0
0
2
-1
-2
0
0
0
0
0
0
0
7
46
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-6
11
3
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
4
-6
15
13
0
0
0
0
0
0
0
-42
-1
0
0
0
0
0
-1
-14
28
51
0
0
0
0
0
0
-3
24
17
0
0
0
0
0
0
-5
2
-5
0
0
0
0
-3
3
-8
11
18
0
0
0
0
0
-2
8
6
-42
0
0
0
-1
0
1
-5
63
-31
0
0
0
0
0
0
13
-3
-2
0
0
17
1
0
0
-25
-12
41
0
0
0
0
0
0
1
5
-7
0
0
0
0
0
0
1
-3
22
0
0
0
0
0
-1
0
-2
13
0
0
5
0
0
0
31
-18
-19
0
0
0
0
0
2
7
-24
0
0
0
0
0
0
1
8
-27
-3
0
0
0
0
0
0
-1
13
88
0
0
-14
0
0
1
13
7
3
0
0
0
0
0
0
-3
-11
38
0
0
0
0
0
1
-10
-9
47
0
0
0
0
0
1
-5
10
18
0
0
0
0
0
0
-29
0
-17
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
-1
-33
53
0
0
0
0
0
0
2
-1
-3
0
0
25
0
0
0
13
-20
8
0
0
0
0
0
0
-2
5
-6
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
7
-8
6
0
0
0
0
0
0
0
12
-21
0
0
0
0
0
0
1
-11
-1
0
0
28
0
0
0
1
-9
7
0
0
0
0
0
-4
-1
13
24
0
0
0
-5
0
0
-5
-17
7
0
0
0
0
0
0
-4
-30
25
0
0
26
-4
0
-4
19
-4
-4
0
0
0
0
0
3
14
-4
-27
0
0
0
0
0
0
-2
-61
53
0
0
0
0
0
0
8
-8
4
0
0
0
0
0
0
0
9
-21
0
0
0
0
0
0
-16
3
47
0
0
0
0
0
2
5
-14
62
0
0
0
0
0
2
-1
0
-2
0
0
0
0
0
0
1
-3
26
0
0
0
0
0
15
5
0
-17
0
0
0
0
0
0
2
-14
-10
0
0
0
0
0
0
10
-10
1
0
0
0
0
0
0
0
-41
56
0
0
0
0
0
-6
13
-3
46
0
0
0
0
0
0
2
-7
9
0
0
0
0
0
-1
2
-4
-38
0
0
0
0
0
0
0
8
10
0
0
0
0
-9
-32
3
8
0
0
0
0
0
0
1
0
-20
9
0
0
0
0
0
1
3
-21
9
0
0
0
0
0
0
-2
6
1
0
0
0
0
0
1
1
0
9
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-4
0
-2
-14
0
0
0
0
3
-4
2
2
40
0
0
0
0
0
-1
-1
-25
35
0
0
0
0
0
0
8
-1
2
0
0
0
0
0
0
0
-3
1
0
0
0
0
1
-1
-18
-2
35
0
0
0
0
0
1
1
10
-7
0
0
0
0
3
0
0
-6
9
0
0
0
0
-1
-14
8
-9
-68
0
0
0
0
0
0
0
-43
13
0
0
0
-1
0
-2
0
-26
14
0
0
0
0
0
0
-6
-39
84
0
0
0
0
0
0
-16
8
24
0
0
0
0
0
0
0
-2
47
0
0
0
0
0
0
7
28
8
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
14
3
0
0
0
0
0
0
-3
-21
94
0
0
0
2
0
0
25
-21
-28
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
-2
-13
37
0
0
0
0
0
0
0
-2
58
0
0
0
0
0
-2
0
-15
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-18
-30
0
0
0
0
0
0
0
-21
16
0
0
0
4
0
-1
-1
-35
31
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
-1
8
-15
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
8
58
0
0
0
-3
0
0
0
8
36
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
3
-40
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
-4
-25
-44
65
0
0
0
0
-30
8
2
6
-2
0
0
0
0
0
0
6
-48
-4
0
0
0
0
0
0
16
-34
-7
0
0
0
0
0
-1
-8
-33
63
0
0
0
0
0
0
-1
3
40
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
5
-2
0
-8
0
0
0
0
0
0
-2
-3
50
0
0
0
0
8
1
2
-13
-15
0
0
0
0
0
0
-4
-18
-27
0
0
0
0
0
0
-3
-3
19
0
0
0
0
0
0
-1
6
30
0
0
0
0
-2
0
2
0
-22
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-2
-4
-1
3
0
0
0
0
1
-3
-3
8
30
0
0
0
0
0
0
0
-10
-17
0
0
0
0
0
8
0
-2
2
0
0
0
0
0
0
0
6
-47
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
4
-13
-21
0
0
0
0
0
-4
0
2
-13
0
0
0
0
0
0
1
-17
13
0
0
0
0
0
2
0
-2
-7
0
0
0
0
2
0
0
-3
-43
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-2
1
0
0
0
0
0
3
-3
-5
-13
46
0
0
0
0
4
-30
-6
-4
7
0
0
0
-1
0
-1
-49
-13
-23
0
0
0
0
0
-2
29
-118
20
0
0
1
0
0
4
66
-80
-28
0
0
0
0
0
-1
-40
-5
65
0
0
0
0
0
-3
-3
1
32
0
0
0
0
0
0
5
-36
25
0
0
0
0
0
0
13
-27
18
0
0
0
0
0
0
-8
27
-4
0
0
0
0
0
0
31
-69
17
0
0
0
0
0
-2
0
64
-42
0
0
-1
0
0
-8
-9
-3
11
0
0
0
0
0
4
-5
31
-5
0
0
0
0
0
0
-10
4
-5
0
0
0
0
0
-8
6
-20
30
0
0
0
0
0
3
9
-2
-13
0
0
0
0
-1
19
32
19
-59
0
0
0
-5
0
-3
0
-35
38
0
0
0
0
0
3
-13
4
28
0
0
2
0
0
-1
-4
-15
-5
0
0
0
0
0
15
-5
-20
-18
0
0
0
0
0
0
-10
1
3
0
0
0
0
0
1
0
-8
3
0
0
0
0
0
0
-13
18
-4
0
0
0
0
0
-13
8
-15
4
0
0
0
0
0
0
-8
31
12
0
0
0
0
0
0
1
-49
24
0
0
-2
0
0
0
-5
-6
-10
0
0
0
0
0
-7
-3
40
29
0
0
0
0
0
0
6
-13
34
0
0
0
0
0
-1
-3
-3
5
0
0
6
0
-1
-23
-30
9
5
0
0
0
0
21
-17
-53
17
39
0
0
0
0
0
0
-4
43
-2
0
0
0
0
5
2
-28
14
19
0
0
0
0
-1
-1
21
-69
10
0
0
0
0
-33
93
-51
8
37
0
0
0
0
-1
-3
-32
74
-32
0
0
0
0
0
4
12
-31
27
0
0
0
0
-1
8
-7
-16
-87
0
0
0
0
35
-36
16
-30
-25
0
0
0
0
0
0
-8
-39
100
0
0
0
0
0
-13
-5
82
2
0
0
0
0
0
5
-5
-41
9
0
0
0
0
-12
-5
-19
-49
26
0
0
0
0
0
-1
7
-16
20
0
0
0
0
9
0
-6
29
-56
0
0
0
0
-2
-19
22
6
8
0
0
0
0
-78
-8
10
-138
43
-2
0
0
0
0
-7
-28
49
30
6
0
0
0
1
-1
17
38
-75
1
0
0
0
-3
-6
0
-10
13
-7
0
0
0
-5
-15
85
0
63
4
0
0
0
1
3
9
-25
70
-13
0
0
0
0
0
3
7
13
12
0
0
0
0
6
33
-9
-31
-11
0
0
0
-43
-2
-42
59
43
13
0
0
0
0
-1
-5
-58
25
28
0
0
0
10
0
40
65
-45
14
0
0
0
0
22
-15
10
33
-10
0
0
0
47
28
1
16
19
-18
0
0
0
3
2
8
53
-6
-7
0
0
0
14
25
-13
-3
77
-19
0
0
0
2
-23
38
-32
-19
6
0
0
0
0
0
21
-2
-11
0
0
0
-14
0
0
-19
-54
53
0
0
0
0
0
0
0
9
2
0
0
0
1
0
-4
-30
10
-32
0
0
0
0
0
3
29
-24
-29
0
0
0
-3
0
0
-5
22
46
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
-6
4
12
-47
0
0
0
0
0
0
-2
-13
57
0
0
0
-32
0
1
0
-20
22
0
0
0
0
0
0
0
-18
3
0
0
0
-7
0
0
-4
8
41
0
0
0
0
0
-1
2
0
15
0
0
0
0
0
-1
0
9
16
0
0
0
0
0
0
0
-13
-14
0
0
0
2
0
-1
-2
-56
19
0
0
0
0
0
0
7
3
50
2
0
0
9
4
-5
0
6
2
-12
0
0
0
0
0
0
-41
6
1
0
0
0
0
0
-3
27
19
-11
0
0
0
0
-1
7
-46
21
-1
0
0
70
0
0
0
-40
-8
15
0
0
0
0
0
0
-23
29
31
0
0
0
0
0
1
-23
-31
11
0
0
0
0
0
0
-26
10
18
0
0
14
0
0
-2
-8
-8
17
0
0
0
0
0
0
-13
17
42
0
0
1
0
0
0
-10
-18
25
0
0
0
0
1
4
-24
-19
22
0
0
70
0
0
-8
29
35
-17
0
0
0
0
0
0
-45
-8
39
0
0
44
0
-4
-30
-32
43
1
0
0
0
0
-3
-13
-54
27
0
0
0
0
0
0
0
16
-17
0
0
0
0
0
1
1
-45
17
0
0
0
0
0
-2
-5
27
-11
0
0
0
0
0
-1
2
2
31
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
-2
-3
-20
42
0
0
0
0
0
0
-1
29
-5
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-4
0
-20
0
0
0
0
0
0
1
3
-27
0
0
0
0
0
0
-2
0
-32
46
0
0
0
0
0
0
0
-9
66
0
0
0
0
0
-1
-1
-5
29
0
0
0
0
0
3
-1
-32
42
0
0
0
0
4
0
4
5
69
-4
0
0
0
0
0
0
2
21
-21
0
0
0
0
0
5
51
46
-7
0
0
0
0
-1
0
33
-29
-10
0
0
0
0
0
0
-32
0
26
0
0
0
0
0
1
0
31
43
0
0
0
1
0
2
29
-6
-1
0
0
0
0
-1
3
10
3
-43
0
0
0
0
0
0
-30
44
13
0
0
0
0
0
0
-9
25
-5
0
0
0
0
0
-7
37
0
-4
0
0
0
0
-3
-1
-21
-16
13
0
0
0
0
0
3
-1
53
-45
0
0
0
0
0
-4
-14
-1
31
0
0
0
1
0
3
-33
-7
-8
0
0
0
-2
1
31
-38
2
3
0
0
0
0
-3
7
11
46
0
0
0
0
0
-2
7
40
-13
0
0
0
0
0
0
-2
38
12
0
0
-16
-2
0
1
13
-24
84
0
0
0
0
0
0
3
-36
106
0
0
0
0
0
-1
3
-22
-2
0
0
0
0
0
0
4
-3
8
0
0
1
0
0
-13
25
-5
-9
0
0
0
0
0
0
2
36
-5
0
0
0
0
0
0
5
-45
0
0
0
0
0
0
0
0
-18
0
0
0
-7
0
0
-1
4
-8
-20
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-2
7
30
0
0
0
0
0
0
5
-7
-24
0
0
-17
0
0
-2
7
-8
-28
0
0
0
0
0
0
-6
-135
25
-5
0
0
0
0
0
-2
-27
58
-8
0
0
0
0
0
-12
17
-45
-2
0
-2
0
0
3
-41
100
-38
-1
0
0
0
0
1
0
-30
-29
44
0
0
0
0
0
-4
-16
5
23
0
0
0
0
0
2
-31
25
4
0
19
0
0
0
-7
-29
-42
44
0
0
0
0
0
-22
19
61
-5
0
0
0
0
0
-13
-11
-36
-14
0
0
0
0
5
-9
-38
8
48
0
74
0
0
-1
-10
-66
-20
13
0
0
0
0
0
-5
-20
33
-51
0
0
0
0
1
19
-48
6
-112
0
0
0
0
0
-1
18
40
-38
0
65
0
1
-1
-15
-30
0
-4
0
0
0
14
-1
-24
-54
20
0
0
0
0
0
-4
-3
14
-45
0
0
0
0
0
0
12
15
17
0
0
0
0
0
2
1
5
29
0
0
0
0
3
6
-16
34
-5
0
0
0
0
0
0
0
-28
46
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
0
-41
-14
53
0
0
0
0
-1
0
-2
-2
35
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
-5
2
2
0
0
0
0
0
0
1
8
-27
0
0
0
0
0
0
-5
4
-5
0
0
0
0
0
-1
0
-2
22
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
2
12
-8
-10
0
0
0
0
-30
10
-19
10
56
6
0
0
0
0
0
0
-43
47
25
0
0
0
0
1
5
28
10
1
0
0
0
0
1
5
-48
4
20
0
0
0
-19
9
-3
17
74
-38
0
0
0
0
0
-12
-52
-5
21
0
0
0
0
0
-5
7
16
2
0
0
0
0
-9
3
-13
6
-82
0
0
0
0
-1
-9
14
-48
1
0
0
0
0
-1
0
-2
1
-11
0
0
0
0
0
0
-12
-4
-40
0
0
0
0
-1
1
-1
7
-11
0
0
0
9
-1
9
-10
74
-45
0
0
0
-1
0
7
-24
-3
-17
0
0
0
0
0
0
9
16
-15
0
0
0
-13
-19
69
75
-22
-23
0
0
0
3
1
1
13
4
0
0
0
28
0
0
0
23
23
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
5
-69
93
0
0
0
0
0
0
0
13
-44
0
0
0
0
0
0
1
-23
42
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
-3
46
0
0
0
0
0
0
3
8
-4
0
0
0
5
0
0
-1
-5
-8
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
-13
-2
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
-3
-19
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
17
6
9
0
0
0
0
0
0
19
-18
57
5
0
0
-22
0
0
0
-5
-43
45
0
0
0
0
0
1
4
0
62
0
0
0
0
0
-3
19
5
-88
0
0
0
1
0
-1
-5
-34
12
0
0
13
0
0
15
-14
15
-29
0
0
0
0
0
0
4
-25
-65
0
0
0
0
0
-5
6
9
-34
0
0
0
0
0
-2
10
-27
23
0
0
-1
0
0
2
8
-6
-44
0
0
0
0
0
-1
2
3
-5
0
0
0
0
0
1
0
-6
-20
0
0
0
0
0
6
21
55
-63
0
0
4
0
0
4
7
7
11
0
0
0
0
0
5
18
-13
-49
0
0
-2
1
0
15
-78
58
-23
0
0
0
0
-3
-2
14
34
0
0
0
0
0
0
0
41
15
0
0
0
0
0
7
1
4
18
0
0
0
0
0
0
-6
-36
21
0
0
0
0
0
0
-3
-4
-2
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
8
1
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
3
-1
3
2
0
0
0
0
-1
0
2
7
-27
-14
0
0
0
0
0
1
-25
22
-2
0
0
0
0
-2
-1
-10
8
3
0
0
0
0
0
-2
-2
1
10
0
0
0
1
0
-7
0
-31
27
0
0
0
0
0
0
4
-30
1
0
0
0
2
0
0
-8
4
56
0
0
0
0
0
2
-2
-2
-38
0
0
0
0
-3
0
1
-30
37
0
0
0
0
0
0
-3
-2
-16
0
0
0
0
0
-2
3
0
-12
0
0
0
0
0
0
-1
0
-38
0
0
0
1
0
0
2
-12
-42
0
0
0
0
0
0
1
8
-16
0
0
0
0
0
6
12
4
-41
0
0
0
0
1
-14
-21
-27
0
0
0
0
-1
-1
-13
-1
41
0
0
0
0
0
0
-8
-80
4
0
0
0
0
0
0
-1
11
-40
0
0
-3
0
0
0
14
-67
30
0
0
0
0
0
-1
3
-1
-29
0
0
0
0
0
0
7
4
59
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-8
0
-24
30
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
-3
4
-9
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
0
1
12
0
0
0
0
0
2
25
-20
5
0
0
0
0
0
0
22
104
-11
-8
0
0
0
0
-1
-1
-7
-12
26
0
0
0
0
0
-6
-4
24
-42
0
-5
0
0
3
5
-10
9
13
0
0
0
0
0
5
-2
27
-82
0
0
0
0
0
22
-25
11
-45
0
0
0
0
2
7
-6
-9
14
0
-2
0
-1
-1
-13
42
-8
-14
0
0
0
0
0
13
-4
-4
-22
0
0
0
0
0
0
-6
19
-18
0
0
0
0
0
-10
-1
6
-80
0
0
0
0
0
-19
2
-1
-17
0
0
0
0
0
-4
3
-38
-33
0
0
0
0
2
4
-31
-5
-21
0
0
0
0
-2
19
-24
-1
-51
0
-6
-1
0
12
-35
-41
43
21
0
0
0
-26
7
35
-26
-19
0
0
0
0
0
-4
-3
6
60
0
0
0
0
0
-1
-9
-43
41
0
0
0
0
0
-1
8
-43
53
0
0
0
0
2
-48
32
-15
-8
0
0
0
0
0
0
-12
-27
6
0
0
0
0
-1
-7
0
2
12
0
0
0
0
0
0
2
-31
27
0
0
0
0
33
32
-38
-1
-11
0
0
0
0
0
0
-8
-44
37
0
0
0
0
0
-1
13
27
-1
0
0
0
0
1
0
20
-1
-20
0
0
0
0
0
-9
5
6
22
0
0
0
0
0
0
1
-4
-12
0
0
0
0
2
2
1
-25
8
0
0
0
0
1
1
-4
2
-11
0
0
0
0
-25
49
26
-60
5
10
0
0
0
0
0
-15
21
-14
10
0
0
0
0
2
-7
-63
29
26
0
0
0
0
0
0
-11
-16
13
0
0
0
17
-1
46
15
-1
-106
0
0
0
0
0
0
-1
30
-19
0
0
0
2
-3
0
0
13
5
0
0
0
0
0
-2
1
-20
-26
0
0
0
31
-50
18
7
5
-26
3
0
0
0
-3
36
16
35
-28
-7
0
0
0
5
13
-28
61
5
9
0
0
0
-4
39
41
80
-77
5
0
0
-17
-4
13
3
-16
-44
16
0
0
0
-1
0
-99
40
32
-11
0
0
-8
0
9
-18
39
-19
0
0
0
-13
52
65
31
-52
-91
-3
0
0
0
0
-4
45
6
0
0
0
4
0
-1
-6
17
6
0
0
0
0
0
0
0
13
19
0
0
0
0
0
2
-4
-76
39
0
0
0
0
0
-8
0
23
78
0
0
0
0
0
-3
-5
-25
44
0
0
0
0
0
0
0
-3
-25
0
0
0
0
0
0
-13
30
-46
0
0
0
0
0
0
0
-18
17
0
0
0
26
0
0
-7
17
-53
0
0
0
0
0
0
0
-48
13
0
0
0
2
0
-1
-3
30
-16
0
0
0
0
0
0
0
-9
53
0
0
0
1
0
0
-4
0
19
0
0
0
0
0
0
0
-3
-27
0
0
0
3
0
4
14
-46
-24
0
0
0
0
0
0
2
0
6
-8
0
0
10
0
-3
-3
18
-13
18
0
0
0
0
0
0
5
-28
1
0
0
0
0
0
-8
-16
50
-5
0
0
0
0
0
-4
-5
28
35
0
0
0
0
1
1
1
-38
11
0
0
0
0
0
0
2
2
18
0
0
0
0
0
0
0
14
5
0
0
0
0
2
3
26
11
-28
-20
0
26
0
-3
8
-23
27
-36
-21
0
0
0
0
2
-61
95
-83
3
0
0
0
3
-36
-48
-1
-61
4
0
0
0
0
0
-17
-32
-26
-2
0
-41
0
0
-19
11
35
20
-24
0
0
0
2
0
-25
-29
6
27
0
11
0
-2
-21
-85
56
-82
-32
0
0
2
-3
-3
14
54
0
0
0
0
0
0
-2
-45
63
0
0
0
0
0
0
4
-62
53
0
0
0
0
0
0
0
20
49
0
0
0
0
0
-1
-2
20
-33
0
0
0
0
0
0
-4
-21
4
0
0
0
0
0
-2
3
1
2
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
3
0
-28
0
0
0
0
0
0
0
3
18
0
0
0
0
0
1
-1
-5
-8
0
0
0
0
0
-1
-2
3
-5
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
-3
5
-14
0
0
0
0
0
0
2
-3
4
0
0
0
0
-2
0
-1
7
-6
-3
0
0
0
0
0
0
-31
61
18
0
0
0
0
0
1
-16
8
-21
0
0
0
0
0
0
-31
-26
27
0
0
0
0
0
-2
6
21
-23
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
2
-41
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
3
-98
11
-32
16
0
0
0
0
-1
66
-28
-51
-22
0
0
0
-8
0
-34
-29
-18
-12
0
0
0
0
-3
32
7
-34
-37
0
0
0
2
3
7
0
-34
15
0
0
0
0
0
3
-13
-40
-20
0
0
2
0
0
8
-23
-33
12
0
0
0
13
-24
5
-41
-8
10
0
0
0
3
13
38
-36
0
0
0
0
0
0
1
-35
37
0
0
0
0
0
0
0
30
-19
0
0
23
0
0
-1
-3
-12
80
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-7
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-46
10
0
0
0
0
0
8
1
14
-13
0
0
0
0
0
0
-2
-38
44
0
0
0
0
0
-4
1
-41
0
0
0
5
0
0
2
-2
-31
8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
8
-3
0
0
0
0
0
0
0
9
2
0
0
0
0
0
1
1
-1
-31
0
0
0
0
0
0
3
14
40
-21
0
0
3
0
0
-8
46
63
-59
0
0
0
0
0
0
-7
5
-17
0
45
0
0
0
-24
-74
5
-1
0
0
0
0
0
0
0
1
-43
0
0
0
0
0
-1
-8
0
30
0
0
0
0
0
0
0
3
-60
0
0
0
0
0
0
-8
0
71
0
0
0
0
-1
29
-21
41
-40
-7
0
0
0
3
-60
-14
-30
-43
20
0
0
0
0
-3
-3
-59
12
-47
-48
0
0
-2
-3
-41
51
-34
3
0
0
0
1
3
42
-6
-71
12
0
0
0
0
-3
-17
-7
-46
79
0
0
0
2
0
10
0
14
-69
-46
-3
2
-22
-30
-69
54
11
-7
0
0
12
-17
17
-48
-13
0
0
0
0
0
2
-24
-45
24
0
0
0
0
-3
-3
-9
-61
80
0
0
0
0
0
1
3
-16
-45
0
0
0
0
-5
3
4
6
43
0
0
0
0
0
-7
-3
40
-20
0
0
0
0
-1
1
-1
6
10
0
0
0
0
0
-2
-4
17
-16
0
0
0
0
13
30
24
-14
-20
0
0
0
0
0
-4
4
8
90
0
0
0
0
0
2
-12
-33
20
0
0
0
0
0
0
-10
13
30
0
0
0
0
2
3
-8
-43
9
0
0
0
0
0
0
1
-1
49
0
0
0
0
0
4
-1
16
5
0
0
0
0
0
8
-1
-20
-5
0
0
0
0
2
-25
50
35
29
-11
0
0
0
0
-1
8
-17
39
-39
0
0
0
-1
0
-1
-8
6
19
0
0
0
0
0
6
7
-9
-29
0
0
0
-14
-2
-3
-1
-9
-9
0
0
0
0
0
0
-14
-18
-6
0
0
0
0
7
-1
-1
-8
-15
0
0
0
0
1
-3
-12
-8
-9
0
0
0
6
2
5
13
-29
-44
15
0
0
0
0
-1
42
3
10
-22
0
0
0
1
0
-42
19
-59
47
0
0
0
0
-2
29
25
-33
-7
0
0
5
5
13
3
-11
-11
-4
0
0
2
0
8
10
-19
3
39
0
0
-1
-3
0
-12
-42
40
-30
0
0
10
2
-52
-26
57
2
-14
0
0
-1
-1
-2
-2
8
0
0
0
-33
0
1
1
-36
81
0
0
0
0
-5
0
2
-13
9
0
0
0
6
0
0
-34
7
0
0
0
0
0
0
1
-4
13
-35
0
0
0
0
0
0
-14
-15
28
0
0
0
0
0
0
-1
-3
-40
0
0
0
0
0
-3
4
-28
39
0
0
0
0
0
0
-1
23
10
0
0
0
-41
0
4
-3
8
24
0
0
0
0
0
0
0
-23
18
0
0
0
-5
0
0
6
-42
-20
0
0
0
0
0
0
0
4
-1
0
0
0
-2
0
0
0
-8
9
0
0
0
0
0
-2
-3
9
5
0
0
0
0
0
0
-8
0
42
0
0
0
0
0
0
0
24
-43
-11
0
0
36
0
3
0
9
34
-86
0
0
0
0
0
1
-21
14
-3
0
0
0
0
2
2
18
-17
-5
0
0
0
0
0
5
-8
35
-19
0
0
-13
0
0
2
0
22
-39
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
-7
1
-8
3
0
0
0
0
0
-1
4
36
-13
-4
0
3
0
0
3
-30
49
-65
-7
0
0
0
0
-1
-8
0
-68
54
0
0
0
0
-5
-30
-13
16
24
0
0
0
0
-1
4
0
-54
42
0
-1
0
0
3
-29
52
-18
-42
0
0
0
0
-2
25
-23
-20
-41
0
-14
0
-7
-19
-11
90
-20
-43
0
0
2
-56
27
21
56
0
0
0
0
0
-8
-2
25
8
0
0
0
0
0
0
-15
-8
17
0
0
0
0
0
0
-16
44
-10
0
0
0
0
0
-3
24
-8
-10
0
0
0
0
0
-1
5
-22
40
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
-10
12
-1
8
0
0
0
0
-5
-9
2
7
-15
0
0
0
0
0
0
0
-16
17
0
0
0
0
0
0
1
5
-29
0
0
0
0
0
0
-3
-29
33
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-5
-1
6
0
0
0
0
0
0
0
10
-32
0
0
0
0
0
0
0
8
-7
0
0
0
0
6
23
-6
-2
57
11
0
0
0
-1
1
-6
21
45
3
0
0
0
0
-4
1
-8
23
0
0
0
0
0
-1
4
0
29
-73
0
0
0
5
-1
5
3
8
-59
0
0
0
-1
0
0
-10
-21
7
0
0
0
-2
0
0
6
1
-27
0
0
0
0
-9
1
-4
7
4
0
0
0
32
3
-18
-50
-23
18
3
0
0
0
-2
-2
-27
74
40
-39
0
0
0
-5
-2
5
-19
-64
44
0
0
0
0
-1
-6
-22
-33
65
0
0
9
-2
6
-4
5
-21
-39
0
0
0
0
-4
3
1
-26
-25
0
0
0
3
3
-7
2
-10
-18
0
0
-13
-41
-9
35
-67
-23
31
0
0
30
26
36
-23
-13
0
0
0
16
-10
-24
43
18
8
0
0
0
0
-10
-32
13
-47
31
0
0
23
1
-53
-27
-14
-22
31
0
0
0
0
57
37
51
62
-40
0
0
0
33
1
-28
-41
6
-15
0
0
0
0
-21
20
15
-9
-65
0
0
-11
-4
5
-14
-63
-14
39
0
0
0
0
-22
-30
10
-34
-4
0
0
0
-16
0
-34
7
-33
-27
0
0
0
0
21
25
-33
-54
6
0
0
74
-23
-2
1
-2
-43
-6
0
0
0
0
1
53
48
-25
-54
0
0
0
-25
0
-12
-13
-46
52
0
0
0
0
-27
-19
22
5
22
0
0
23
22
4
-34
11
-58
-34
0
0
0
0
-12
-23
-33
116
51
-17
0
0
10
22
3
-35
-67
-4
19
0
0
0
3
33
-2
-14
10
-45
0
-19
19
5
28
10
-63
27
-40
0
0
0
83
31
39
-41
-14
-16
0
0
-30
-8
9
-18
3
-23
-15
0
0
0
25
25
-59
19
5
2
0
52
9
-10
-14
-63
-21
-7
-10
0
0
0
33
3
-31
71
-1
-39
8
0
2
19
-27
5
-50
-3
-68
-23
0
0
-42
-46
-33
-9
45
-51
-13
-18
-8
-8
21
26
-118
21
-29
-17
0
0
-27
-21
35
-18
56
-27
-26
0
13
8
-15
6
-30
-1
5
-53
0
0
-10
-37
-19
-49
0
5
16
-95
-8
49
4
6
-59
-21
-49
-8
0
0
38
34
30
30
-4
0
0
0
0
0
-5
-45
-35
29
0
0
0
0
0
41
-38
-35
10
0
0
0
0
0
-7
-7
23
-1
0
0
0
0
16
-10
-17
4
30
0
0
0
0
0
13
-1
18
6
0
0
0
0
-1
-5
-2
-3
62
0
0
0
0
0
2
65
-153
61
0
0
0
0
62
22
-38
-30
4
0
0
0
0
0
-3
7
44
-3
0
0
0
0
0
5
1
15
-42
0
0
0
0
0
3
12
38
-8
0
0
0
0
-2
1
27
9
-7
0
0
0
0
0
0
20
43
7
0
0
0
0
-2
6
-7
-59
37
0
0
0
0
0
-7
34
-65
46
0
0
0
0
-64
6
32
-75
45
0
0
0
0
0
2
-6
-31
44
0
0
0
0
0
1
5
-93
26
0
0
0
0
0
0
53
-74
-5
0
0
0
0
-15
15
17
-17
15
0
0
0
0
0
0
-3
-16
-7
0
0
0
0
0
0
-13
-8
9
0
0
0
0
0
-3
2
5
36
0
0
0
0
-5
-51
-3
-21
2
0
0
0
0
0
1
-3
23
15
0
0
0
0
1
0
-6
-15
29
0
0
0
0
0
2
-6
44
11
0
0
0
0
46
-61
1
24
24
0
0
0
0
0
-1
22
-8
34
0
0
0
0
20
-8
-12
38
17
0
0
0
0
19
-31
-40
-45
38
0
0
0
0
0
-2
-12
32
5
0
0
0
-58
0
0
1
-27
0
0
0
0
0
0
0
1
-9
12
0
0
0
0
0
1
12
0
18
0
0
0
0
0
0
5
-50
8
0
0
0
42
0
0
-1
9
45
0
0
0
0
0
0
-2
-29
19
0
0
0
0
0
5
-13
0
3
0
0
0
0
0
0
0
27
-1
0
0
0
-55
0
0
2
-22
21
0
0
0
0
0
0
-1
32
-6
0
0
0
-1
0
-3
2
-30
10
0
0
0
0
0
0
-4
41
6
0
0
0
0
0
0
1
-44
16
0
0
0
0
0
0
6
-40
-6
0
0
0
0
0
1
-12
43
16
0
0
0
0
0
0
5
55
-31
0
0
0
-18
0
0
2
-41
13
0
0
0
0
0
0
1
-57
35
0
0
0
0
0
0
0
-22
68
0
0
0
0
0
0
-1
9
-9
0
0
0
48
0
0
1
-88
42
0
0
0
0
0
0
0
36
-41
0
0
0
0
0
0
1
-48
35
0
0
0
0
0
0
0
3
17
0
0
0
35
0
0
-1
18
-35
0
0
0
0
0
0
0
3
-56
0
0
0
0
0
-1
-1
39
-26
0
0
0
0
0
0
0
-90
10
0
0
0
-62
0
0
-7
-5
50
0
0
0
0
0
0
3
-5
3
0
0
0
47
0
-25
-18
-10
7
0
0
0
0
0
1
27
-52
27
0
0
0
0
0
0
19
32
12
0
0
0
0
0
0
34
-84
71
0
0
0
0
0
-5
2
-16
9
0
0
0
0
0
0
-7
-56
39
0
0
0
0
0
0
15
-78
25
0
0
0
0
0
0
6
-57
13
0
0
0
0
0
-2
-24
37
19
0
0
0
0
0
0
-14
34
58
0
0
0
0
0
0
-1
-37
31
0
0
0
0
0
0
-7
41
-79
0
0
0
0
0
-1
-4
9
-24
0
0
0
0
0
0
2
-67
83
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
16
-28
0
0
0
0
0
-2
-9
-17
50
0
0
0
0
1
0
12
-66
13
0
0
0
0
0
0
8
-60
27
0
0
0
0
0
0
1
-3
-18
0
0
0
0
0
0
-16
-8
26
0
0
0
0
0
1
-8
9
-16
0
0
0
0
0
0
-5
-5
22
0
0
0
0
0
0
0
15
-16
0
0
0
0
0
0
3
5
-13
0
0
0
0
-1
2
16
-46
5
0
0
0
0
0
0
0
1
72
0
0
0
0
0
0
-17
-15
55
0
0
0
0
0
0
4
-32
16
0
0
0
0
0
1
-1
-25
-13
0
0
0
0
0
0
9
-24
34
0
0
0
0
0
0
-1
16
15
0
0
0
0
3
-9
-41
-2
37
0
0
0
0
0
-4
-23
-25
34
0
0
0
0
0
0
2
-42
18
0
0
0
0
0
0
48
-34
-28
0
0
-15
0
0
0
-30
7
41
0
0
0
0
0
0
23
-12
-66
0
0
0
0
0
0
8
17
39
0
0
0
0
0
0
8
27
52
0
0
-8
0
0
0
22
-18
-47
0
0
0
0
0
-1
30
44
-9
0
0
0
0
0
0
23
-45
-10
0
0
0
0
0
0
-27
46
10
0
0
29
0
0
1
12
-21
-64
0
0
0
0
0
0
-15
-7
-10
0
0
0
0
0
0
12
-18
9
0
0
0
0
0
0
8
-62
109
0
0
-7
0
0
0
-54
23
-12
0
0
0
0
0
0
57
-11
-1
0
0
0
1
0
0
8
-20
35
0
0
0
0
0
-1
7
47
17
0
0
19
0
0
-1
-6
21
-45
0
0
0
0
0
0
-21
5
-5
0
0
0
0
0
0
-24
-33
72
0
0
0
0
0
0
-23
-14
37
0
0
3
0
0
0
-5
-4
24
0
0
0
0
0
1
7
-33
37
0
0
0
0
0
0
-9
48
5
0
0
0
0
0
0
-21
7
12
0
0
-54
0
0
-3
2
47
2
0
0
0
0
0
0
8
2
-10
0
0
0
0
0
0
16
19
-47
0
0
0
0
0
2
9
2
16
0
0
31
5
1
-5
-17
-26
5
0
0
0
0
-4
0
-22
15
23
0
0
0
0
0
1
-10
-40
30
0
0
0
0
0
0
24
-25
43
0
0
0
0
0
0
30
-70
59
0
0
0
0
0
-1
-3
-8
21
0
0
0
0
0
0
15
4
7
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
19
-12
-25
0
0
0
0
0
0
-10
-48
64
0
0
0
0
0
0
-2
-25
65
0
0
0
0
0
0
-1
-15
45
0
0
0
0
0
1
5
-4
62
0
0
0
0
0
0
-3
7
-1
0
0
0
0
0
0
-6
-12
13
0
0
0
0
0
0
1
16
-20
0
0
0
0
0
2
-7
-8
46
0
0
0
0
3
-4
2
-47
4
0
0
0
0
0
2
0
0
9
0
0
0
0
0
3
1
-15
6
0
0
0
0
0
3
-8
12
-6
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
1
-13
-15
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
7
-6
-4
0
0
0
0
0
1
-7
-12
-3
11
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
1
0
41
-22
0
0
0
0
0
0
8
43
-46
0
0
0
0
0
0
5
-2
-5
0
0
0
0
0
0
2
-13
19
0
0
0
0
0
0
5
0
24
0
0
0
0
0
0
48
27
-31
0
0
0
0
0
0
27
11
-27
0
0
0
9
0
0
-5
20
-26
0
0
0
0
0
0
7
-3
-10
0
0
0
0
0
-2
10
-24
39
0
0
0
0
0
0
1
-1
82
0
0
0
0
0
0
1
-15
8
0
0
0
0
0
0
-3
1
-40
0
0
0
0
0
1
-5
-5
3
0
0
0
0
0
0
1
0
32
0
0
0
0
0
2
-1
13
38
0
0
0
0
0
0
2
4
3
0
0
0
0
0
0
-3
1
24
0
0
0
0
0
0
-3
1
18
0
0
0
0
0
0
-5
-3
49
0
0
0
0
0
0
0
4
18
0
0
0
0
0
5
15
-22
-23
0
0
0
0
0
0
7
27
-16
0
0
0
1
0
0
1
6
-13
0
0
0
0
0
0
-2
-9
-8
0
0
0
0
0
0
-1
-24
17
0
0
0
0
0
0
3
-5
9
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
1
1
2
0
0
0
0
0
1
-2
-11
-18
0
0
0
-5
0
0
2
-46
18
0
0
0
0
0
0
-4
7
18
0
0
0
0
0
0
-2
-20
24
0
0
0
0
0
0
0
-9
-12
0
0
0
1
0
0
2
-8
29
0
0
0
0
0
0
-4
0
-41
0
0
0
1
0
3
1
-59
4
0
0
0
0
1
0
4
16
36
0
0
0
0
0
0
-5
-14
59
0
0
0
0
0
1
0
-6
18
0
0
0
0
0
-1
-3
48
-27
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-2
3
-55
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
4
4
0
-10
0
0
0
0
1
-3
0
25
-32
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-24
8
0
0
0
0
0
2
2
-25
16
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
1
0
4
36
0
0
0
0
0
0
0
-3
7
0
0
0
0
3
0
0
13
-4
0
0
0
0
0
0
-1
-21
10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-6
-8
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
-4
0
15
-24
0
0
0
0
0
1
3
-12
-19
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
-1
0
-8
19
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
3
14
3
0
0
0
0
0
0
0
-10
-54
0
0
0
0
0
-18
5
-31
41
0
0
0
0
0
-4
-91
24
28
0
0
0
0
0
4
27
-27
29
0
0
-1
0
0
25
2
0
-3
0
0
0
0
0
1
24
-78
20
0
0
0
0
0
0
-10
-23
11
0
0
0
0
0
3
13
-2
-12
0
0
0
0
0
3
20
-8
0
0
0
0
0
0
3
32
19
-35
0
0
0
0
0
0
-41
-2
30
0
0
0
0
0
0
24
0
43
0
0
0
0
0
4
29
12
-39
0
0
0
0
0
1
-4
-21
20
0
0
0
0
0
-2
9
-10
54
0
0
0
0
0
0
43
-2
22
0
0
0
0
0
-15
9
-1
-23
0
0
0
0
0
22
34
41
-12
0
0
0
2
0
-6
-1
-34
40
0
0
0
0
0
2
-5
14
22
0
0
-1
0
0
7
-39
21
1
0
0
0
0
0
4
23
10
-29
0
0
0
0
0
4
24
-19
-9
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-8
-3
36
-6
0
0
0
0
0
31
9
-101
-1
0
0
0
0
0
-8
-15
48
-10
0
0
0
0
0
0
-21
-2
1
0
0
-1
0
0
-1
-41
-73
2
0
0
0
0
0
-10
29
13
-20
0
0
0
0
0
1
-19
-4
-3
0
0
0
0
0
-17
-5
-16
19
0
0
4
0
-1
5
-47
34
-31
0
0
0
0
77
-22
20
8
-34
0
0
0
0
0
-3
5
-52
41
0
0
0
0
-1
-9
-13
115
-11
0
0
0
0
-4
7
37
-33
31
0
0
0
0
0
5
-9
-7
-64
0
0
0
0
0
0
1
11
1
0
0
0
0
0
0
3
-16
10
0
0
0
0
0
-3
-9
29
7
0
0
0
0
1
-22
-3
1
-14
0
0
0
0
0
0
-4
-67
-19
0
0
0
0
0
-9
-1
2
29
0
0
0
0
0
-3
6
-4
-8
0
0
0
0
0
-3
0
-2
35
0
0
0
0
0
-2
-12
7
17
0
0
0
0
0
-1
-1
-1
-4
0
0
0
0
-2
0
1
-2
29
0
0
0
0
-8
-20
-10
18
51
0
0
0
0
0
0
-4
-7
18
0
0
0
0
0
0
1
24
-2
0
0
0
0
0
1
3
-19
-30
0
0
0
0
0
3
2
-1
-19
0
0
0
0
0
0
-3
9
39
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
4
-8
-8
0
0
0
0
4
18
-2
15
-11
0
0
0
0
0
0
-2
-20
23
0
0
0
0
0
0
0
-15
4
0
0
0
0
0
0
1
36
5
0
0
0
0
-5
-16
-2
-4
-10
0
0
0
0
0
0
0
-24
0
0
0
0
0
1
1
0
-17
30
0
0
0
0
9
-4
59
-51
36
0
0
0
0
0
0
-1
-97
46
0
0
0
9
0
0
4
-67
32
0
0
0
0
0
0
-1
34
5
0
0
0
0
0
0
-4
52
9
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
-2
2
3
4
0
0
0
0
0
0
0
-13
30
0
0
0
0
0
1
-3
-52
19
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
0
-45
54
0
0
0
0
0
0
-1
-30
43
0
0
0
0
0
0
-5
4
56
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-6
36
0
0
0
0
0
0
1
-12
13
0
0
0
0
0
0
-2
-32
49
0
0
0
16
0
-1
2
-12
-16
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
-8
11
17
0
0
0
0
0
0
-1
0
40
0
0
0
-3
0
0
0
-8
32
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-14
-7
0
0
0
0
0
0
5
-8
39
0
0
0
-2
0
0
0
2
16
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-8
25
0
0
0
4
0
0
3
-39
10
0
0
0
0
0
0
-2
5
-6
0
0
0
-32
0
0
6
24
-18
0
0
0
0
0
3
8
27
27
0
0
0
0
0
-2
0
22
11
0
0
0
0
0
7
0
-12
-15
0
0
0
0
0
0
29
-53
-6
0
0
0
0
0
0
0
13
-22
0
0
0
0
0
0
8
-44
39
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
-1
-6
21
11
0
0
0
0
0
1
-4
-19
63
0
0
0
0
0
0
-1
8
9
0
0
0
0
0
0
0
-6
21
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
2
14
0
0
0
0
0
-1
0
-2
-23
0
0
0
0
0
-1
2
9
14
0
0
0
0
-2
-5
-1
-7
46
0
0
0
0
0
1
1
19
-1
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
-7
-8
14
0
0
0
0
-2
1
0
-14
34
0
0
0
0
0
0
-6
-12
44
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-2
-3
-8
0
0
0
0
0
0
1
4
29
0
0
0
0
0
1
-2
-10
29
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-4
-5
21
11
0
0
0
0
0
0
1
9
8
0
0
0
0
0
-2
-30
14
-28
0
0
0
0
0
-4
-36
32
45
0
0
0
0
0
3
1
-48
29
0
0
0
0
0
4
-7
32
7
0
0
-13
0
0
0
18
-12
13
0
0
0
0
0
0
-3
-12
-18
0
0
0
0
0
-7
-20
10
29
0
0
0
0
0
0
1
-10
-5
0
0
0
0
0
0
13
20
-6
0
0
0
0
0
2
16
9
-21
0
0
0
0
0
1
13
-11
24
0
0
0
0
0
-2
1
-34
17
0
0
2
0
0
-2
4
28
-15
0
0
0
0
0
0
-3
23
-4
0
0
0
0
0
0
-6
1
7
0
0
0
0
0
-2
0
-18
8
0
0
0
0
0
0
1
0
20
0
0
0
0
0
3
2
-15
-2
0
0
0
0
0
0
6
-49
75
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
4
16
-34
-5
0
0
0
0
0
1
3
-5
-4
0
0
0
0
0
0
5
-36
29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
-33
4
0
0
0
0
0
-8
-9
29
-30
0
0
0
-3
0
0
-2
30
1
0
0
0
0
0
0
0
-8
10
0
0
1
0
0
1
0
-12
1
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
-8
8
32
0
0
0
0
0
0
1
-30
0
0
0
-45
1
0
9
0
-19
29
0
0
0
0
3
-2
-2
-8
19
0
0
0
0
0
6
0
-5
-32
0
0
0
0
0
0
0
-8
35
0
0
0
0
0
0
-3
-7
40
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
0
0
18
-59
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
5
-10
0
0
0
0
1
1
0
1
29
0
0
0
0
0
0
0
8
34
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-1
0
36
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
0
-2
8
-43
0
0
0
0
0
1
1
1
-34
0
0
0
0
0
0
-2
-41
44
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
-2
-41
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-7
2
0
0
0
0
0
1
-1
-2
12
22
0
0
0
0
0
0
0
-13
27
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-2
0
-4
0
0
0
0
0
0
0
5
3
0
0
0
0
0
-1
0
-2
-5
0
0
0
0
0
-18
-19
-8
15
0
0
0
0
0
0
1
-23
82
0
0
0
1
0
0
-1
-65
12
0
0
0
0
0
0
0
-6
59
0
0
0
0
0
0
0
-21
55
0
0
0
0
0
0
4
0
30
0
0
0
0
0
0
0
12
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
-5
30
0
0
0
0
0
4
0
-4
33
0
0
0
0
0
0
1
-6
6
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-2
1
29
0
0
0
-1
0
0
2
2
58
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
4
-1
21
0
0
0
0
0
0
-3
6
9
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-1
-3
0
-12
0
0
0
3
0
0
0
-2
-9
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
1
-1
-2
0
0
0
5
-1
0
-61
-30
53
0
0
0
0
11
-1
-9
-2
1
0
0
0
0
0
-2
3
-40
18
0
0
0
0
0
-3
-2
-12
57
0
0
0
0
0
0
0
-21
15
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-9
42
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
-17
28
0
0
0
0
0
-1
-2
-14
-19
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
5
2
4
-21
0
0
0
0
0
0
-1
-3
40
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-2
12
0
0
0
0
-1
-1
1
0
8
0
0
0
0
-23
1
0
0
42
0
0
0
0
0
0
3
-5
13
0
0
0
0
0
0
-1
4
6
0
0
0
0
0
0
-10
-8
22
0
0
0
0
0
0
3
0
-29
0
0
0
0
0
0
0
3
-21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
1
-5
0
0
0
0
34
2
1
0
-22
0
0
0
0
0
0
0
-7
51
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
-1
1
-5
0
0
0
0
2
-4
3
-4
18
0
0
0
0
-2
0
0
-5
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
32
-19
5
-14
0
0
0
0
-5
50
1
-98
59
0
0
0
6
0
5
-8
0
-15
0
0
0
0
0
8
-7
-37
78
0
0
4
0
0
0
-23
51
-46
0
0
0
0
0
14
14
-15
25
0
0
0
0
0
29
-20
4
-9
0
0
0
0
0
-3
3
4
12
0
0
0
0
0
-8
8
-34
51
0
0
0
0
0
-36
1
34
7
0
0
0
1
0
-4
4
-13
-33
0
0
0
0
0
2
3
5
-20
0
0
1
0
0
-6
-12
-3
28
0
0
0
0
0
28
-8
7
-43
0
0
0
0
0
-1
6
0
-10
0
0
0
0
0
3
2
3
7
0
0
0
0
-1
-3
7
-12
8
0
0
0
0
2
1
77
-26
-5
0
0
0
4
0
1
21
-39
-28
0
0
0
0
0
0
-10
-13
30
0
0
-2
0
0
0
19
-20
-31
0
0
0
0
-3
25
1
7
6
0
0
0
0
0
-33
-3
-2
12
0
0
0
0
0
-2
-3
0
4
0
0
0
0
0
1
4
2
-25
0
0
0
0
-5
-24
32
43
14
0
0
0
0
0
-4
8
-6
11
0
0
0
0
0
-24
7
5
20
0
0
-7
0
0
-8
-5
6
-5
0
0
0
0
-5
-18
-4
1
-41
0
0
0
-1
0
-8
8
-14
-28
0
0
0
0
0
-18
8
-41
41
0
0
-3
-1
0
-3
49
-45
38
0
0
0
0
32
-34
-5
-16
60
0
0
0
0
0
1
3
-42
26
0
0
0
0
2
1
-1
5
31
0
0
0
0
0
1
-12
-50
21
0
0
0
0
0
25
-10
-25
73
0
0
0
0
0
0
-3
24
14
0
0
0
0
0
1
5
8
4
0
0
0
0
0
0
10
-11
5
0
0
0
0
-39
4
0
-3
38
0
0
0
0
0
0
1
-1
14
0
0
0
0
0
2
2
30
1
0
0
0
0
0
4
22
-26
-36
0
0
0
0
0
-2
-1
-2
11
0
0
0
0
0
0
0
-19
-67
0
0
0
0
2
3
0
0
-37
0
0
0
0
-2
0
40
14
-6
0
0
0
0
32
17
-9
22
5
5
0
0
0
0
0
4
-39
12
4
0
0
0
0
1
6
-16
40
-13
0
0
0
0
0
1
-19
34
-16
0
0
0
0
1
-2
-3
21
-9
0
0
0
0
0
-5
5
20
12
0
0
0
-4
-1
0
0
-4
-9
0
0
0
0
1
-4
-5
-8
-21
0
0
0
-44
4
-16
25
14
-3
0
0
0
0
0
0
0
-7
11
0
0
0
0
-1
0
-17
52
-12
0
0
0
0
2
-14
-4
7
-22
0
0
0
-5
0
-9
-1
82
-3
0
0
0
0
0
5
10
-44
-22
0
0
0
-2
-1
0
-56
29
21
0
0
0
-7
-30
44
-10
-10
-6
0
0
0
0
2
-16
21
-7
0
0
0
2
0
0
-6
-46
50
0
0
0
0
0
0
-1
-18
61
0
0
0
0
0
1
-2
0
-22
0
0
0
0
0
2
0
83
-10
0
0
0
3
0
0
1
0
-2
0
0
0
0
0
0
1
-39
9
0
0
0
0
0
-2
7
-13
-7
0
0
0
0
0
0
-1
28
-17
0
0
0
3
0
0
0
-56
33
0
0
0
0
0
0
0
14
-7
0
0
0
0
0
0
-4
-48
20
0
0
0
0
0
0
7
-2
-10
0
0
0
0
0
-1
-3
13
-8
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
-1
-3
-17
21
0
0
0
0
0
0
0
-8
-32
7
0
0
-6
0
0
0
-20
77
4
0
0
0
0
0
0
-68
89
-8
0
0
0
0
0
-1
-66
-54
17
0
0
0
0
0
2
-41
16
-15
0
0
3
0
0
1
9
-39
33
0
0
0
0
0
0
-17
14
-3
0
0
0
0
-1
2
3
25
-8
0
0
0
0
2
5
1
44
-13
0
0
14
0
0
3
-39
-14
-1
0
0
0
0
0
0
-16
10
-3
0
0
0
0
0
0
21
8
-27
0
0
0
0
0
-3
63
-30
-41
0
0
-65
0
0
0
33
38
27
0
0
0
0
0
0
9
27
-16
0
0
23
0
4
-40
-36
-4
-3
0
0
0
3
0
-7
8
-19
0
0
0
0
0
0
0
29
7
0
0
0
0
0
-3
0
-11
24
0
0
0
0
0
-1
0
-41
11
0
0
0
0
0
-1
-4
13
24
0
0
0
0
0
0
-2
-1
56
0
0
0
0
0
0
1
15
-3
0
0
0
0
0
0
-3
-8
3
0
0
0
0
-1
-1
2
14
-8
0
0
0
0
0
0
-2
-1
-14
0
0
0
0
0
-1
0
-2
20
0
0
0
0
0
0
-3
-33
-4
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-1
-5
-42
0
0
0
0
-6
-2
1
2
0
5
0
0
0
0
0
1
3
-12
-10
0
0
0
0
0
-4
5
-4
-15
0
0
0
0
0
-5
-24
13
-22
0
0
0
1
4
0
-1
-13
10
0
0
0
0
0
-1
-5
-24
14
0
0
0
0
0
0
4
-3
-19
0
0
0
0
0
0
1
2
-3
0
0
0
1
-4
0
-50
33
19
0
0
0
0
0
-1
24
30
-26
0
0
0
0
0
-2
-6
-10
9
0
0
0
0
0
0
-23
8
-22
0
0
0
-2
0
0
0
35
5
0
0
0
0
0
0
6
21
-46
0
0
0
0
0
0
18
22
-60
0
0
0
0
4
9
-30
1
-12
0
0
0
0
7
-11
-1
-23
0
0
0
0
0
0
18
-65
29
0
0
0
0
0
-6
-10
-30
-6
0
0
-42
0
0
0
22
-5
53
0
0
0
0
0
0
-16
-4
25
0
0
0
0
0
0
-4
-13
41
0
0
0
0
0
0
-3
-4
1
0
0
0
0
0
0
20
38
17
0
0
0
0
0
0
10
-37
-16
0
0
0
0
0
0
-2
-46
-17
0
0
0
0
0
0
4
-27
9
0
0
1
0
0
0
-6
25
-4
0
0
0
0
0
0
-3
-5
5
0
0
0
0
0
0
-13
40
-17
0
0
0
0
0
0
8
-12
-8
0
0
0
0
0
2
13
-66
-6
0
0
0
0
0
0
13
-4
37
6
0
0
0
0
0
-1
28
104
-25
0
0
0
0
0
0
15
7
-42
0
-18
0
0
0
2
13
8
-23
0
0
0
0
0
-25
-3
-9
46
0
0
0
0
0
3
-12
5
-14
0
0
0
0
0
2
7
3
7
0
-3
0
0
0
0
-13
0
-10
0
0
0
0
0
0
-43
6
36
0
0
0
0
1
0
-7
-33
6
0
0
0
0
0
5
-13
2
-61
0
11
0
0
0
2
29
-8
-28
0
0
0
0
0
0
-18
-10
-18
0
0
0
0
0
0
-43
-1
33
0
0
0
0
-4
-7
-65
27
45
0
28
8
0
-27
-16
-1
20
-2
0
0
0
6
-28
-31
-19
47
0
0
0
0
0
0
0
-35
20
0
0
0
0
0
-1
1
-25
-12
0
0
0
0
0
-2
9
-4
4
0
0
0
0
0
0
7
-5
-11
0
0
0
0
0
0
2
-5
-52
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
7
-6
33
0
0
0
0
0
0
2
-8
19
0
0
0
0
0
0
-1
1
42
0
0
0
0
0
0
-4
-30
42
0
0
0
0
0
0
-23
-4
19
0
0
0
0
0
0
1
-2
14
0
0
0
0
0
0
1
-4
-7
0
0
0
0
-1
0
-3
0
-10
0
0
0
0
0
0
-16
-17
60
0
0
0
0
1
0
3
22
-49
-3
0
0
0
0
0
0
-35
-87
11
0
0
0
0
0
0
-40
-13
51
0
0
0
0
0
1
30
-3
-17
0
0
0
0
0
6
8
7
-28
0
0
0
0
0
0
2
0
-50
0
0
0
0
0
0
-2
8
-21
0
0
0
0
3
1
5
-1
-73
0
0
0
-5
-1
2
31
-4
-37
0
0
0
0
0
0
-8
74
-11
0
0
0
0
0
0
-5
-1
-40
0
0
0
0
0
-3
17
-9
-21
0
0
0
0
0
-1
9
-10
-27
0
0
0
0
0
0
-2
7
-27
0
0
0
0
0
0
1
-4
-24
0
0
0
0
-5
2
-41
30
-21
0
0
0
0
0
-7
5
-29
0
0
0
-38
0
0
5
37
17
0
0
0
0
0
0
0
-46
27
0
0
0
0
0
4
12
19
-31
0
0
0
0
0
0
1
-15
21
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
5
-5
25
0
0
0
0
0
0
-12
-5
3
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
2
19
19
0
0
0
0
0
0
0
-6
47
0
0
0
0
0
0
3
9
-3
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
1
-1
-14
-27
0
0
0
0
0
0
-1
-49
59
7
0
0
0
0
0
-2
-7
5
7
0
0
0
0
0
1
1
-2
22
0
0
0
0
0
8
10
-6
-16
0
0
0
0
0
0
-7
12
-3
0
0
1
0
0
2
2
1
-4
0
0
0
0
0
0
-5
-6
-2
0
0
0
0
0
-2
3
0
-1
0
0
0
0
0
-2
-5
22
-29
0
0
4
0
0
0
-34
-12
70
0
0
0
0
0
1
-23
-10
-17
0
0
0
0
0
-1
3
-1
-42
0
0
0
0
0
0
10
7
-27
0
0
-2
0
0
0
-3
4
-35
0
0
0
0
1
1
-16
-8
35
0
0
-4
-2
3
-3
-10
6
-33
0
0
0
-9
-1
0
-5
67
0
0
0
0
0
0
-1
-31
-32
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
-13
-36
39
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
4
15
0
0
0
0
0
0
0
24
13
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
3
-32
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
6
-8
0
0
0
0
0
0
0
6
9
3
0
0
0
0
0
0
-9
7
19
0
0
0
0
0
0
5
-4
-10
0
0
0
0
0
-4
-3
-3
15
0
0
0
1
0
0
-1
0
10
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
2
-69
0
0
0
0
0
0
-1
0
-46
0
0
0
0
0
-2
-11
0
-33
0
0
0
0
0
0
9
-4
-19
0
0
0
0
0
0
-23
-2
20
0
0
0
0
0
0
-8
0
-14
0
0
0
-4
0
0
0
-13
16
0
0
0
0
0
-1
0
2
20
0
0
0
0
0
0
0
0
-96
0
0
0
0
1
-4
0
-19
-25
0
0
0
1
1
-20
60
-8
0
0
0
0
0
1
-12
44
-2
0
0
0
0
0
1
29
-52
-6
0
0
-3
0
0
1
0
15
-14
0
0
0
0
0
4
-62
35
3
0
0
0
0
0
1
12
-13
-5
0
0
0
0
0
-1
-3
-4
-7
0
0
0
0
0
-4
-2
-48
42
0
0
0
0
0
15
24
2
-10
0
0
0
1
0
0
-3
-16
43
0
0
0
0
0
0
-1
-58
24
0
0
0
0
0
0
-27
4
-18
0
0
0
0
0
0
1
-22
22
0
0
0
0
0
0
-15
-5
-8
0
0
0
0
0
2
1
2
25
0
0
0
0
0
4
-30
-19
13
0
0
0
0
-1
5
13
18
-41
-9
0
0
0
0
0
2
-24
9
-14
0
0
0
0
-1
-6
-17
6
19
0
10
0
0
0
7
-31
0
-58
0
0
0
1
-1
0
0
-3
95
0
0
0
0
0
0
-6
1
49
0
0
0
0
2
-2
0
0
-35
0
0
0
0
0
4
-1
0
-1
0
0
0
0
5
29
-8
10
1
0
0
0
0
0
-32
-7
-28
80
0
0
0
0
0
-6
-22
0
-24
0
0
0
0
0
30
2
-10
23
0
0
0
0
-1
8
14
-9
-22
0
0
-1
0
0
-1
-7
8
1
0
0
0
0
-1
3
0
5
-35
0
2
4
0
8
19
-49
4
-120
0
0
0
9
-21
12
7
-6
0
0
0
0
0
2
5
0
21
0
0
0
0
0
-3
17
15
20
0
0
0
0
1
0
-7
-43
16
0
0
0
0
0
-2
-9
29
-7
0
0
0
0
0
3
-32
27
45
0
0
0
0
3
-2
-6
3
-29
0
0
0
0
0
3
19
5
-5
0
0
0
0
58
-19
-6
-44
28
0
0
0
0
0
0
8
-32
16
0
0
0
0
0
0
4
-38
33
0
0
0
0
0
-3
5
-13
19
0
0
0
0
0
3
1
-1
25
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
2
1
-1
-28
0
0
0
0
1
8
-6
-12
22
0
0
0
0
-10
9
-25
32
0
-15
0
0
0
0
1
-3
1
25
-1
0
0
0
0
-2
0
20
11
-23
0
0
0
0
1
30
23
-6
-18
0
0
0
0
4
-1
-8
8
32
0
0
0
0
0
0
-19
72
-49
0
0
0
-1
0
0
0
-9
-33
0
0
0
0
-1
-6
13
-15
-2
0
0
0
0
5
-36
13
1
6
3
0
0
0
-1
0
-47
21
29
-18
0
0
0
0
0
-13
42
-125
-8
0
0
0
2
-4
-12
5
52
0
0
0
1
-1
-1
-24
31
10
-12
0
0
0
-2
0
1
-57
-16
19
0
0
-2
0
1
0
12
-18
-14
0
0
22
2
-9
-39
-3
-13
17
0
0
0
-1
-12
-51
44
0
0
0
-39
0
0
4
-55
43
0
0
0
0
0
0
2
-7
38
0
0
0
0
0
0
5
38
-14
0
0
0
0
0
0
-1
6
50
0
0
0
-1
0
0
7
-16
-15
0
0
0
0
0
0
-1
6
8
0
0
0
0
0
0
-2
15
-21
0
0
0
0
0
0
-3
-46
50
0
0
0
1
0
0
-4
-20
10
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
7
30
0
0
0
0
0
0
0
-1
24
0
0
0
1
0
0
0
0
-26
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
1
12
-55
0
0
0
0
0
0
1
31
-39
9
0
0
-53
0
0
-1
0
49
22
0
0
0
0
0
3
-62
0
12
0
0
0
0
0
-6
22
59
-46
0
0
0
0
0
0
1
34
-35
0
0
0
0
0
0
-12
-28
51
0
0
0
0
0
0
2
-4
-11
0
0
0
0
0
-1
-4
-8
-31
0
0
0
0
0
-1
-16
23
44
-11
0
29
0
0
-6
12
48
-8
-27
0
0
0
0
0
-24
-30
-23
-16
0
0
0
0
0
-33
4
-33
13
0
0
0
0
0
15
26
-143
3
0
-8
0
0
0
-25
16
-5
-36
0
0
0
0
0
16
16
-64
3
0
5
0
-2
-6
-46
18
-21
16
0
0
0
-6
1
-37
37
0
0
0
0
0
0
-1
-28
3
0
0
0
0
0
5
0
-43
-5
0
0
0
0
0
0
-2
-46
10
0
0
0
0
0
-1
-2
7
18
0
0
0
0
0
0
8
-33
9
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
-9
37
5
0
0
0
0
2
0
3
-5
27
0
0
0
0
0
0
0
11
32
0
0
0
0
0
0
0
29
-17
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
-1
14
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
4
-40
-10
0
0
0
0
-1
0
16
4
69
-16
0
0
0
0
0
0
29
54
-27
0
0
0
0
0
2
-15
44
-25
0
0
0
0
0
-5
24
-48
6
0
0
0
2
-1
0
8
-56
27
0
0
0
0
0
-1
0
-10
5
0
0
0
0
0
0
0
2
-28
0
0
0
0
-3
2
8
0
-9
0
0
0
-3
0
2
-18
-27
-2
11
0
0
0
0
-1
-13
-41
-60
21
0
0
0
0
0
-7
15
-20
-21
0
0
0
0
0
-27
-2
-44
-19
0
0
0
1
0
5
6
-85
-13
0
0
0
0
0
-8
-9
-16
-13
0
0
0
0
0
4
0
-17
27
0
0
1
1
3
-31
-49
30
-17
0
0
0
1
-12
23
6
0
0
0
-1
0
0
5
46
-5
0
0
0
0
0
-7
-8
-16
48
0
0
64
0
0
0
60
-41
-21
0
0
0
0
0
0
-9
7
8
0
0
0
0
0
0
-8
-64
55
0
0
0
0
0
4
5
-43
12
0
0
4
0
0
-1
-33
-13
-2
0
0
0
0
0
2
10
-28
21
0
0
0
4
0
-1
-2
-55
-10
0
0
0
0
0
0
0
-2
-36
0
0
-16
0
0
0
1
5
23
0
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
2
-8
2
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
9
-31
25
0
0
0
0
1
-2
4
20
-2
-22
0
0
0
0
0
-8
11
32
-9
0
0
0
0
-2
-12
2
46
-20
0
7
0
0
0
9
-5
-9
-49
0
0
0
0
0
9
14
24
-48
0
0
0
0
0
-1
8
-13
-34
0
0
0
0
0
0
-1
-6
30
0
-3
0
0
0
1
-19
16
-4
0
0
0
0
-2
-5
-7
18
-28
9
0
-2
0
0
-5
22
-17
46
-2
0
0
0
0
1
20
-5
-20
-17
1
0
0
-1
3
-14
-2
41
-9
0
0
0
0
0
-31
18
-27
35
0
0
0
1
-2
7
-6
-17
-20
0
0
0
-2
0
-2
-6
-15
-33
10
-2
2
3
-8
-62
28
98
-14
0
0
23
-51
29
-42
-46
0
0
0
0
0
0
7
34
-22
0
0
0
0
0
1
-7
-64
74
0
0
0
0
0
0
-20
-26
29
0
0
0
0
-2
7
-6
2
-16
0
0
0
0
0
0
-3
-39
42
0
0
0
0
0
0
3
-8
5
0
0
0
0
0
0
8
-15
20
0
0
0
0
0
0
2
-28
52
0
0
0
0
0
0
5
18
-41
0
0
0
0
0
-1
-2
-3
24
0
0
0
0
0
0
-8
35
-22
0
0
0
0
-1
-2
0
-12
33
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
-3
3
-12
4
0
0
0
0
0
1
8
7
-13
0
0
0
0
0
-1
8
10
-20
-8
0
0
0
0
-1
0
29
17
-1
0
0
0
0
0
1
-13
8
-7
0
0
0
0
0
2
-14
14
-4
0
0
0
-1
0
1
-2
-12
-32
0
0
0
0
0
-2
-10
-14
10
0
0
0
0
0
0
1
3
32
0
0
0
0
-2
8
7
1
-65
0
0
0
-1
-5
1
-6
-13
36
8
0
0
0
0
-2
5
-9
-60
10
0
0
0
0
0
-6
0
-51
-16
0
0
0
0
3
-14
-10
-34
12
0
0
0
0
6
0
16
-30
51
0
0
0
0
1
-6
5
-61
35
0
0
2
-1
-2
-1
-6
-37
82
0
0
6
-19
20
1
0
-4
-8
0
0
-1
0
-5
18
16
0
0
0
-9
0
1
-1
-46
45
0
0
0
0
0
1
-8
-5
-1
0
0
0
0
0
-6
-22
4
42
0
0
0
0
0
0
1
-5
41
0
0
0
-28
0
0
-7
-45
19
0
0
0
0
0
0
1
16
-24
0
0
0
0
0
2
-4
-4
-24
0
0
0
0
0
2
0
-8
56
0
0
0
-10
0
0
2
-14
9
0
0
0
0
0
0
-1
17
-25
0
0
0
1
0
0
1
-34
-9
0
0
0
0
0
0
0
-2
-8
0
0
0
-2
0
0
0
8
-41
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-5
-2
-2
0
0
0
0
0
0
-2
-33
60
-1
0
0
-40
0
0
-2
-9
8
53
0
0
0
0
0
1
-9
16
-37
0
0
0
0
0
0
-3
15
-39
0
0
0
0
0
1
-17
-17
72
0
0
21
0
0
-1
-8
0
-4
0
0
0
0
0
-2
6
6
2
0
0
0
0
0
0
-1
1
32
0
0
0
0
-2
3
-4
25
22
-17
0
-54
0
0
0
15
-24
-46
28
0
0
0
0
0
2
-2
-138
57
0
2
0
0
0
-24
-5
-33
23
0
0
0
0
0
-13
5
45
42
0
14
0
0
0
1
8
-34
10
0
0
0
0
-2
1
-2
-22
-25
0
7
-2
-6
22
-9
-19
-51
-21
0
0
31
-6
9
8
-38
0
0
0
0
0
2
-1
16
14
0
0
0
0
0
0
0
-46
-15
0
0
0
0
0
-4
-60
0
8
0
0
0
0
0
0
-4
-8
13
0
0
0
0
0
-8
0
6
13
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
-19
-5
12
0
0
0
0
-15
0
0
8
20
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
-1
-8
-6
9
0
0
0
0
0
0
3
-28
50
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
1
0
0
32
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
-6
4
25
-25
0
0
0
0
-2
0
-1
-2
56
-13
0
0
0
0
0
0
-20
23
24
0
0
0
-1
0
-2
-3
-21
10
0
0
0
0
0
-3
-23
-8
-36
0
0
0
0
1
1
-12
3
-33
0
0
0
0
0
1
0
6
12
0
0
0
0
0
0
0
-1
-75
0
0
0
0
-5
0
0
0
19
0
0
0
11
1
4
-5
21
-1
9
0
0
0
0
0
-1
62
-80
-26
0
0
2
0
0
-8
2
-23
17
0
0
0
0
0
-7
-19
6
-8
0
0
-15
0
-2
-1
-5
-48
110
0
0
0
0
0
-24
-10
14
11
0
0
-2
1
0
-4
0
25
-16
0
0
-19
-3
-3
-16
18
-62
-6
0
0
7
-14
-5
17
2
0
0
0
10
-41
-68
11
5
19
0
0
0
0
45
-30
28
23
-13
0
0
3
60
-26
38
-44
-73
11
0
0
0
0
-21
16
63
-4
-8
0
0
0
-44
-19
26
17
0
-22
0
0
0
0
-12
-62
30
-25
-12
0
0
45
15
13
-11
-37
22
-41
0
0
0
0
-34
29
25
3
16
0
0
0
1
-4
15
56
-48
-7
0
0
0
0
82
-21
-23
-63
39
0
0
-5
-52
-4
12
52
-8
-43
0
0
0
0
6
42
3
-36
12
0
0
0
1
5
-20
-56
-11
20
0
0
0
0
-30
-43
48
-46
45
0
0
9
41
5
-33
-1
-40
-3
0
0
0
0
-6
-3
-2
-20
54
5
0
0
-14
40
-24
75
17
-9
-7
0
0
0
-26
72
0
34
50
-7
0
-26
72
58
-39
-19
-51
-30
-17
0
0
0
67
-23
28
6
53
-8
0
0
7
20
-23
-19
-28
-63
-7
0
0
0
0
48
-32
29
-29
0
0
36
-8
-52
-23
33
-71
-39
9
0
0
0
-5
-1
85
18
19
-2
11
0
26
-5
26
-73
-87
2
-15
-3
0
0
-94
-94
-53
-1
-22
18
20
45
15
7
99
-80
-57
16
-37
-30
0
0
-8
52
-41
54
30
-18
-5
0
31
16
-11
-17
14
-35
4
-43
0
0
31
-34
-16
-30
27
8
-46
-91
32
17
14
-80
-15
14
-66
-9
0
0
-31
10
-38
19
28
0
0
0
0
8
-47
16
-20
0
0
0
0
0
-24
-21
63
-11
9
0
0
0
0
0
23
3
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-51
86
14
27
0
0
0
0
0
0
12
-2
-36
0
0
0
0
15
-49
47
-104
8
0
0
0
0
0
-1
5
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-69
27
27
0
0
0
0
0
4
6
-5
19
0
0
0
0
0
10
49
2
31
0
0
0
0
0
15
12
-66
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
36
-27
-6
53
0
0
0
0
0
1
-31
16
22
0
0
0
0
0
4
8
-12
24
0
0
0
0
0
-4
3
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
0
-45
22
0
0
0
-33
1
-10
23
16
11
0
0
0
0
47
5
-33
59
-12
0
0
0
36
2
-23
-23
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
7
0
0
0
24
0
0
13
-4
-4
0
0
0
0
0
0
2
-9
23
0
0
0
-1
0
2
0
20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-86
-8
0
0
0
-16
-13
-46
21
70
23
0
0
0
0
0
-1
4
-77
42
0
0
0
0
0
-5
-43
-31
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-9
0
0
0
-1
0
-40
-22
-40
29
0
0
0
0
0
0
-6
22
13
0
0
0
-1
0
-1
10
49
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
97
-12
14
7
0
0
0
0
-3
-5
27
-5
-33
0
0
0
0
4
12
67
37
-19
0
0
0
0
-4
-3
-2
-28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-9
0
0
0
0
0
0
-3
-12
50
0
0
0
0
0
2
-5
19
33
0
0
0
0
0
1
-25
-6
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
37
-6
61
0
0
0
0
0
1
3
23
-27
0
0
0
0
0
18
-40
-17
47
0
0
0
0
1
-5
38
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-42
-29
0
0
0
0
0
0
0
-56
57
0
0
0
0
0
0
-4
2
8
0
0
0
0
1
0
0
-70
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
-5
22
0
0
0
0
0
-4
11
-16
-13
0
0
0
0
0
-38
50
-22
9
0
0
-25
-6
-4
18
16
30
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-76
57
0
0
0
0
0
0
-13
-7
58
0
0
0
0
0
5
3
20
4
0
0
-2
0
0
0
16
-44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
61
-66
0
0
0
0
0
1
-26
-4
37
0
0
0
0
-2
-3
47
3
-31
0
0
-21
-3
0
8
78
-74
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
47
0
0
0
0
0
5
5
4
-20
0
0
0
0
0
0
0
-43
-7
0
0
59
0
0
3
13
-94
-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
42
-32
11
26
5
0
0
0
0
0
31
30
11
23
0
0
0
0
0
-1
-24
-20
-6
0
0
0
0
0
-5
20
44
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-14
22
48
0
0
0
0
0
0
-25
0
42
0
0
0
0
0
3
0
-10
9
0
0
0
0
0
2
0
-52
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
-4
-19
93
0
0
0
0
0
0
22
-10
-13
0
0
0
0
0
1
1
-42
-13
0
0
0
0
0
0
5
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
-15
10
-13
0
0
0
0
0
0
7
-84
10
0
0
0
0
-1
-3
-1
-4
30
0
0
0
0
0
-1
0
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
54
-95
16
0
0
0
27
0
2
-26
-20
8
0
0
0
0
-3
7
51
-71
21
0
0
0
-1
0
3
27
52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-6
38
0
0
0
-6
2
0
8
-56
17
0
0
0
0
0
-5
-9
-17
39
0
0
0
-2
0
0
-2
8
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
-21
-24
0
0
0
1
0
-2
32
-58
48
0
0
0
0
0
-1
-5
-7
-23
0
0
0
0
0
-1
-10
-30
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
40
0
0
0
-8
0
-4
-40
59
-41
0
0
0
0
0
0
-2
-2
15
0
0
0
0
0
-1
1
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
83
41
-25
0
0
0
0
0
-3
46
14
-10
0
0
0
0
0
4
6
-49
-1
0
0
0
0
-2
2
24
-83
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-8
0
0
0
0
0
0
-1
-30
15
0
0
0
0
-4
0
0
-26
32
0
0
0
0
0
-1
-2
-21
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
9
-12
-6
0
0
0
0
0
0
6
1
-15
0
0
0
0
0
0
1
-27
-8
0
0
0
0
0
2
-2
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
43
-6
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
-2
0
49
5
0
0
0
0
0
0
-7
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
30
7
0
0
0
0
0
-15
-5
-16
9
0
0
0
0
3
9
-58
-46
9
0
0
-80
0
-5
-59
75
12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
3
30
0
0
0
0
0
2
7
-5
-36
0
0
0
0
0
-16
-7
-6
-8
0
0
-13
0
0
23
19
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-23
35
0
0
0
2
0
-1
-5
-29
5
0
0
0
0
-1
-9
47
-5
-4
0
0
0
0
0
-51
4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-8
-69
0
0
0
0
0
0
19
11
33
0
0
0
0
0
1
-40
9
43
0
0
0
0
0
0
16
25
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-12
52
-92
36
0
0
0
0
0
8
15
46
-8
0
0
0
0
-2
15
19
-11
-8
0
0
0
0
0
0
23
-115
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
16
23
-19
-9
0
0
0
0
0
0
-6
45
5
0
0
0
0
0
-1
-1
3
80
0
0
0
0
0
0
-6
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-66
7
-13
17
0
0
0
0
0
0
40
-47
64
0
0
0
0
0
4
48
-49
17
0
0
0
0
-1
6
-41
-44
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
39
55
-24
12
0
0
0
0
0
-2
-4
39
11
0
0
0
0
-3
-17
1
48
2
0
0
0
0
0
-9
-7
-18
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-135
32
0
0
0
-11
-1
59
-65
-25
46
0
0
0
0
0
12
1
5
-22
0
0
0
0
0
-5
-27
22
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-53
34
0
0
0
9
0
0
2
3
-3
0
0
0
0
0
0
-1
-17
-41
0
0
0
0
0
0
-12
-45
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
-9
0
0
0
31
-14
5
23
-1
-19
0
0
0
0
0
0
-8
21
13
0
0
0
0
0
-2
-7
30
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
11
-11
0
0
0
53
0
0
27
0
-71
0
0
0
0
0
-2
-2
-8
8
0
0
0
0
0
1
10
-69
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-25
-8
-67
57
0
0
0
0
0
1
-15
-42
50
0
0
0
0
0
1
-11
12
2
0
0
0
0
1
-2
13
-18
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
90
0
0
0
0
0
0
-1
-92
50
0
0
0
0
0
3
-4
13
37
0
0
0
0
0
0
-3
-14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-23
59
-43
0
0
0
0
0
9
-12
-44
13
0
0
0
0
-4
-8
-2
32
13
0
0
0
0
1
3
14
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
-27
-2
0
0
0
0
0
0
-2
-45
63
0
0
0
0
-2
5
3
-22
-30
0
0
0
0
0
0
7
-3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-23
29
0
0
0
-8
0
1
21
-7
7
0
0
0
0
0
0
3
5
-17
0
0
106
0
0
0
48
31
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
45
-57
0
0
0
0
0
1
-6
36
30
0
0
0
0
0
0
13
-51
2
0
0
23
0
0
8
-8
-25
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-47
73
0
0
0
0
0
2
-8
-28
-7
0
0
0
0
0
-1
7
22
-11
0
0
-15
-1
0
-3
-3
-54
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
32
0
0
0
0
0
0
-8
-49
95
0
0
0
0
0
-1
-2
8
-16
0
0
5
0
0
0
-4
-48
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
15
32
-44
25
0
0
0
0
0
-3
10
9
4
0
0
0
0
0
6
-6
-104
83
0
0
0
0
0
0
-2
-16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-22
2
-17
-14
0
0
0
0
0
0
4
-2
-46
0
0
0
0
-1
8
0
-10
-50
0
0
0
0
0
0
-1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
58
16
5
0
0
0
0
0
-2
5
-17
10
0
0
0
0
0
-2
-7
-3
49
0
0
0
0
0
0
16
-47
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
66
-9
-29
0
0
0
0
0
0
3
12
26
0
0
0
0
-5
3
-6
16
-2
0
0
0
0
0
0
2
-2
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-99
33
0
0
0
8
0
0
-27
25
1
0
0
0
0
0
0
0
-53
37
0
0
0
0
0
0
-29
33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
33
0
0
0
0
0
0
8
-13
47
0
0
0
0
0
0
-3
-53
70
0
0
0
1
0
-3
2
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
0
0
0
1
0
-1
-15
-37
87
0
0
0
0
0
0
2
-25
-9
0
0
0
0
0
0
-9
-22
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-36
22
0
0
0
16
0
0
0
-37
-17
0
0
0
0
0
0
-1
-20
-31
0
0
0
0
0
0
-17
-23
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
-39
21
9
-23
-5
0
0
0
0
0
-3
14
-53
-43
0
0
0
0
1
-6
-1
-15
14
0
0
0
0
0
5
-41
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-1
0
0
0
0
0
-1
0
-25
20
0
0
0
0
0
-1
-2
-3
30
0
0
0
0
0
4
6
5
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
-4
0
-7
6
-6
0
0
0
0
0
0
7
-51
9
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
-14
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
10
-71
44
0
0
0
0
0
1
1
-55
0
0
0
0
0
0
-1
-1
-15
9
0
0
0
0
0
3
-20
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
36
-20
-11
-5
0
0
0
2
0
-12
-11
-28
34
0
0
0
0
-2
-9
66
-7
-43
0
0
-13
1
0
5
49
-44
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-1
-6
25
0
0
0
0
0
-1
-4
-31
67
0
0
0
0
0
-19
-16
-33
46
0
0
4
0
0
5
29
-42
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
31
-102
6
0
0
0
0
0
10
-21
26
-6
0
0
0
0
-1
0
-8
-37
32
0
0
-2
0
0
-16
-2
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
54
-1
-13
-63
0
0
0
-3
0
-8
17
-18
7
0
0
0
0
-1
0
-41
-16
-2
0
0
16
0
0
-20
-54
65
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-4
-84
43
12
0
0
0
0
0
1
14
-29
-76
0
0
0
0
-1
20
26
-32
23
0
0
0
0
2
3
4
-10
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-118
34
-28
75
2
0
0
0
0
0
0
20
-50
28
0
0
0
0
-2
-5
-3
-49
20
0
0
0
0
-3
9
5
-89
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-45
-41
29
30
3
0
0
0
0
-2
66
43
-28
4
0
0
0
3
-4
22
-3
52
-4
0
0
0
0
-2
-16
-3
68
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-47
4
42
20
3
0
0
0
0
-20
-9
33
-45
39
0
0
0
0
15
-23
-8
-26
7
0
0
0
0
0
3
-59
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
48
-45
31
0
0
0
-30
0
-14
13
-57
62
0
0
0
0
0
-2
7
-4
-35
0
0
0
2
0
2
-42
-47
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
24
0
0
0
-9
0
0
-34
-27
15
0
0
0
0
0
1
0
8
-27
0
0
0
0
0
0
0
-14
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-30
-5
19
2
0
0
118
2
-8
-4
39
-24
1
0
0
0
-1
-1
-5
-39
-9
-1
0
0
0
0
0
6
18
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
47
52
0
0
111
0
-5
25
-62
-75
49
0
0
0
0
0
3
-22
-38
-22
0
0
1
0
0
-5
23
-53
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-20
14
51
0
0
0
0
0
0
6
-23
15
0
0
0
0
-8
1
-8
-29
53
0
0
0
0
8
-4
7
5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
-5
46
0
0
0
0
0
-1
0
-52
13
0
0
0
0
2
5
5
-1
26
0
0
0
0
0
-6
-5
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
83
58
-6
0
0
0
0
-1
1
57
18
-5
0
0
0
-1
1
6
35
-5
-4
0
0
0
0
0
7
32
37
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-76
139
6
0
0
0
0
-1
-1
-65
-6
4
0
0
0
-2
2
-8
-57
82
-32
0
0
0
-3
-1
18
-23
18
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
18
29
0
0
0
0
0
-6
52
-44
25
0
0
0
0
1
-8
-41
-33
21
0
0
66
0
0
8
19
-16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-67
36
0
0
0
0
0
-1
-17
-39
45
0
0
0
0
0
0
12
2
-21
0
0
-17
0
-1
-16
42
32
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-42
-4
-35
-7
0
0
0
0
1
9
5
35
-6
0
0
0
0
4
1
-59
22
7
0
85
0
0
23
-44
-106
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-69
6
14
0
0
0
0
-4
-3
12
48
-10
0
0
0
-3
5
5
-44
-5
19
0
26
0
0
-2
-41
-21
-44
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
31
17
56
-63
0
0
0
0
0
-3
8
-59
46
0
0
0
0
0
-4
-27
-7
6
0
0
0
0
0
-1
-9
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
32
-63
50
0
0
0
0
0
0
1
8
37
0
0
0
0
1
0
1
7
15
0
0
0
0
0
0
-4
-3
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
10
4
59
4
0
0
0
0
1
-7
-20
-6
24
0
0
0
-2
-7
0
-2
30
-3
0
0
0
0
0
-5
0
33
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-23
26
-18
28
8
0
0
0
0
1
-8
7
29
-57
0
0
0
-3
-2
-3
-30
29
6
0
0
0
0
-2
9
20
-45
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
8
19
0
0
0
49
0
0
-41
6
-14
0
0
0
0
0
0
14
-23
-4
0
0
0
0
0
-1
-5
-18
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
22
-90
0
0
0
-59
0
2
6
5
-2
0
0
0
0
0
0
2
-14
-15
0
0
0
1
0
0
10
-48
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
-12
0
0
-5
0
-3
-1
-18
27
-2
0
0
0
0
0
3
7
-25
16
0
0
0
0
0
-6
4
41
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
47
-58
0
0
29
0
1
-5
14
24
7
0
0
0
0
0
1
-23
23
-24
0
0
-3
0
0
7
45
-37
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-10
31
-14
0
0
0
0
0
-2
-6
-1
54
0
0
0
0
0
1
-3
-74
1
0
0
0
0
0
-1
-33
-16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
21
-38
0
0
0
0
0
0
1
3
-29
0
0
0
0
0
5
0
30
-5
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-24
-11
-5
0
0
0
0
0
0
18
17
-18
0
0
0
0
0
0
-4
9
20
0
0
0
0
0
2
2
-15
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
10
-21
-7
17
0
0
0
0
0
-2
-9
10
-55
0
0
0
0
-3
0
28
-20
36
0
0
0
0
0
3
8
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
40
-59
46
0
0
0
0
0
2
10
-66
54
0
0
0
0
-1
1
-8
-58
14
0
0
7
0
0
-8
-20
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
14
-24
63
0
0
0
-1
0
-1
-14
-2
73
0
0
0
0
3
-1
-29
-4
-8
0
0
-4
0
0
-5
29
-15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-24
26
-20
0
0
0
0
5
17
-52
-5
-26
0
0
0
1
-2
-6
-19
29
-16
0
-3
0
0
5
-19
6
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
9
-26
16
0
0
0
0
1
5
27
-25
-15
0
0
0
0
2
-24
-53
22
-38
0
-74
0
0
9
-3
53
16
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
35
48
-30
-25
0
0
0
0
0
3
10
-9
46
0
0
0
0
-1
3
-24
4
25
0
0
0
0
0
0
-10
7
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
34
82
-48
-11
0
0
0
0
0
5
16
-95
-8
0
0
0
0
0
13
24
-29
-3
0
0
0
0
0
-8
-4
-19
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-71
32
53
48
-6
0
0
0
0
0
18
-31
1
33
0
0
0
0
17
3
20
32
-14
0
0
0
0
2
8
1
56
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-36
21
12
34
-21
2
0
0
0
8
6
-23
-5
-4
-6
0
0
2
-25
5
-85
-50
-58
22
0
0
0
-17
3
-8
31
-7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
39
-6
0
0
0
42
0
-25
13
-2
-4
0
0
0
0
0
-8
0
-4
39
0
0
0
0
0
0
-14
-13
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-9
-27
0
0
0
52
0
0
-22
-12
38
0
0
0
0
0
0
-5
43
-40
0
0
0
1
0
1
7
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-51
8
-4
0
0
63
1
-3
-65
-27
-10
10
0
0
0
0
0
0
-18
47
6
0
0
0
0
2
8
-9
-2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-20
42
-28
-10
0
-36
0
17
-32
3
63
5
-26
0
0
0
6
-7
-32
-5
-32
-2
0
2
0
0
-6
-7
27
-10
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
15
11
32
0
0
0
0
0
-1
0
7
44
0
0
0
0
1
1
-4
-22
15
0
0
0
0
0
-1
-7
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
33
48
-63
0
0
0
0
0
-1
0
-4
14
0
0
0
0
0
0
-2
-34
41
0
0
0
0
0
-3
1
40
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-7
-73
49
3
0
0
0
0
-2
7
-24
25
-58
0
0
0
-4
-5
-30
-25
-38
52
0
0
0
-6
0
-3
-52
-32
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-3
-15
-10
-36
-6
0
0
0
-2
-10
-55
42
11
-15
0
0
-3
0
0
18
-8
-29
7
0
0
0
3
1
-10
7
-132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-30
-31
0
0
0
0
0
2
-7
-25
12
0
0
0
0
0
3
-3
-24
36
0
0
37
0
0
3
-43
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
-40
0
0
0
0
0
1
-16
-48
109
0
0
0
0
0
-2
4
-33
10
0
0
36
0
0
0
5
-19
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
29
52
-26
0
0
0
0
0
20
-90
25
29
0
0
0
0
3
19
3
25
-70
0
19
0
0
-8
-27
1
22
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-23
-28
9
0
0
0
-3
-37
-42
75
-85
-13
0
0
0
-4
29
9
5
30
6
-87
0
0
2
-58
-19
3
-75
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-25
19
27
-59
0
0
0
0
0
2
30
14
-42
0
0
0
0
0
-1
9
-5
-31
0
0
0
0
0
0
-32
-22
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
45
17
5
0
0
0
0
0
0
2
-29
8
0
0
0
0
-4
-23
2
-15
20
0
0
0
0
0
0
2
-17
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
105
46
5
-42
5
0
0
0
0
-1
-3
-38
71
41
0
0
0
0
-20
13
-7
1
11
0
0
0
0
0
-4
-9
-43
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
9
56
44
59
-63
38
0
0
0
0
1
-17
-29
2
-24
0
0
2
-8
-14
20
80
-28
-19
0
0
0
0
-25
-48
8
50
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
4
-16
0
0
0
34
0
5
-19
-88
101
0
0
0
0
-2
0
1
19
18
0
0
0
-47
0
0
-28
-7
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
12
0
0
0
29
0
-4
6
-13
27
0
0
0
0
0
0
-7
8
4
0
0
0
-3
0
0
-1
25
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-14
-4
0
0
0
-62
0
8
-47
-42
108
9
0
0
0
1
0
4
3
31
-35
0
0
2
0
0
-1
-5
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
45
-98
-13
0
-49
0
3
13
-70
12
-65
3
0
0
-1
0
-2
-50
65
-42
-14
0
4
0
-5
-17
15
-28
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-44
10
-23
90
0
0
0
0
0
2
-34
-13
66
0
0
0
0
-1
-8
9
-48
44
0
0
0
0
1
-3
22
20
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
4
-8
-43
-7
0
0
0
0
0
-3
-4
24
-49
0
0
0
0
-2
0
-3
15
9
0
0
0
0
0
-9
3
48
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
59
61
-22
15
-4
0
0
0
-2
-8
7
-32
39
20
0
0
0
0
-40
-14
-29
28
9
0
0
0
-1
22
4
-5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-40
-7
3
-16
-114
5
0
0
-3
0
19
-79
89
12
-12
0
0
-2
-5
10
-43
28
23
-1
0
0
0
0
-29
49
-9
-59
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
5
17
-7
-15
0
0
0
24
-47
-84
-27
52
-18
0
0
0
0
-7
13
-25
-19
-4
0
0
25
-48
-6
-8
43
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-100
36
-24
77
0
0
0
-55
0
-7
-42
15
12
0
0
0
0
-2
26
-62
37
14
0
0
-37
-16
0
39
-4
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
10
48
-29
-14
-5
0
0
-33
-44
-11
-7
10
46
-17
0
0
0
12
-6
-26
-9
-2
0
0
-28
83
4
-5
-13
-132
4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-46
13
-19
-37
-43
1
0
-6
-2
10
-25
13
56
-65
-17
0
0
-8
-22
-42
-47
50
-11
3
31
-3
0
15
-24
-90
-34
-45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-31
-20
22
0
0
0
0
0
5
-8
3
22
0
0
0
0
45
43
3
48
-21
0
0
0
0
2
5
-10
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-30
-9
-22
16
0
0
0
0
0
0
-3
74
-5
0
0
0
0
-1
4
5
-97
52
0
0
0
0
0
-2
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-53
24
-70
21
0
0
0
0
0
-3
5
-23
-11
0
0
0
0
4
-8
23
-2
12
0
0
0
0
0
3
7
-40
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
-17
23
35
0
0
0
0
0
0
23
-43
6
0
0
0
0
0
-3
-10
-48
56
0
0
0
0
0
0
8
-21
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
4
0
0
0
-1
1
-18
38
24
4
0
0
0
0
0
0
5
-32
3
0
0
0
1
0
-1
-7
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-46
-2
0
0
0
-12
0
-1
0
4
1
0
0
0
0
0
0
0
-26
48
0
0
0
1
0
0
-20
14
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
37
-26
0
0
0
76
1
0
-4
-67
-3
0
0
0
0
0
0
-1
4
14
0
0
0
0
0
2
-10
39
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-40
-69
0
0
0
0
0
-2
3
-24
-6
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
0
-5
3
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
14
-53
14
0
0
0
0
0
-2
29
-46
11
0
0
0
0
12
7
8
-116
28
0
0
0
0
0
2
-17
-41
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-18
33
-16
0
0
0
0
0
0
3
-33
-3
0
0
0
0
0
0
-8
-33
24
0
0
0
0
0
0
-3
-21
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
24
-15
-26
0
0
0
0
0
0
-1
-26
119
0
0
0
0
3
-4
-21
16
8
0
0
0
0
0
0
-2
-24
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-20
17
0
0
0
0
0
0
-48
15
32
0
0
0
0
0
-4
3
1
2
0
0
0
0
0
0
1
-17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-41
4
0
0
0
0
0
3
-22
9
6
0
0
0
0
0
-3
26
47
-7
0
0
33
4
-1
12
-18
30
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
22
-26
0
0
0
0
0
0
-9
-41
-1
0
0
0
0
0
0
-2
50
8
0
0
-5
0
0
2
23
20
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
28
40
0
0
0
0
0
0
18
-4
2
0
0
0
0
0
0
13
-37
1
0
0
-1
0
0
2
-23
-104
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-39
-46
0
0
0
4
0
-3
-36
40
-24
0
0
0
0
0
0
2
-6
-14
0
0
19
0
0
0
30
-17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
-24
-31
-21
0
0
0
0
0
-3
2
24
25
0
0
0
0
0
0
-3
10
4
0
0
0
0
0
1
89
-37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
9
7
0
0
0
0
0
-2
-3
24
-8
0
0
0
0
0
3
0
-22
70
0
0
0
0
0
3
3
-3
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
20
-23
24
0
0
0
0
0
5
30
-22
49
0
0
0
0
0
-2
9
-41
8
0
0
0
0
0
0
-13
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
10
20
24
0
0
0
0
0
0
2
-12
81
0
0
0
0
0
-2
5
25
-4
0
0
0
0
0
1
5
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-8
15
0
0
0
29
0
1
-23
-7
13
0
0
0
0
0
0
0
-29
-4
0
0
0
0
0
0
-13
-7
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-38
36
0
0
0
3
0
2
2
-13
14
0
0
0
0
0
0
0
7
9
0
0
0
0
0
-2
5
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
-36
27
0
0
0
-29
0
0
7
-15
7
0
0
0
0
0
0
-2
12
18
0
0
0
0
0
0
43
-10
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
-34
-2
0
0
0
-9
0
0
8
1
32
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
4
43
-50
0
0
0
0
0
0
-2
44
0
0
0
0
0
0
0
2
-35
17
0
0
0
0
0
5
25
-33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-12
-2
26
0
0
0
0
0
1
0
4
34
0
0
0
0
0
0
0
-20
10
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
5
25
0
0
0
0
0
-2
-2
7
1
0
0
0
0
0
0
-3
10
-16
0
0
0
0
0
2
-2
25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
33
0
0
0
0
0
-1
-4
-4
6
0
0
0
0
-2
0
0
-2
5
0
0
0
0
0
0
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
67
14
2
0
0
0
2
0
-55
-45
38
-7
0
0
0
0
0
-5
33
-5
26
0
0
2
0
0
-21
62
-34
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-57
31
48
0
0
0
0
0
5
-39
-21
29
0
0
0
0
0
-3
7
-5
3
0
0
0
0
0
3
-11
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-23
-2
36
0
0
0
-1
0
28
4
-7
28
0
0
0
0
0
25
7
-7
-46
0
0
-8
0
0
-28
40
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
17
-6
-37
0
0
0
0
0
5
-12
-14
8
0
0
0
0
0
3
-12
-4
0
0
0
0
0
0
-10
13
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-64
0
23
47
0
0
0
0
0
-29
14
37
15
0
0
0
0
1
7
11
-81
21
0
0
0
0
0
8
-2
-32
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-10
47
-22
-31
0
0
0
0
0
0
3
18
-35
0
0
0
0
0
-2
3
40
-7
0
0
0
0
0
-1
-10
52
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-40
12
-3
0
0
0
0
0
2
9
-48
13
0
0
0
0
0
3
3
-27
3
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-17
-36
11
0
0
0
0
0
0
-3
6
13
0
0
0
0
0
0
2
3
22
0
0
0
0
0
-5
1
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
24
-9
0
0
0
-4
0
6
20
-70
78
0
0
0
0
0
-1
-2
-78
73
0
0
0
6
0
-2
-13
-30
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
29
0
0
0
32
0
-1
-3
-2
-17
0
0
0
0
0
0
0
47
-2
0
0
0
0
0
0
7
-71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
39
0
0
0
-48
0
-2
1
-46
94
0
0
0
0
0
0
-3
-14
-5
0
0
0
0
0
0
-1
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-44
44
0
0
0
24
0
1
0
-20
-6
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-8
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
-41
-3
35
0
0
0
0
0
0
-1
39
12
0
0
0
0
-1
13
41
-31
23
0
0
0
0
0
0
-3
24
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
2
4
0
0
0
0
0
0
-1
-54
-13
0
0
0
0
0
-30
30
-22
-38
0
0
0
0
0
0
8
-89
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
23
0
0
0
0
0
-1
-7
-24
50
0
0
0
0
0
-1
0
-15
5
0
0
0
0
0
0
-3
16
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
29
0
0
0
0
0
0
-1
-22
29
0
0
0
0
0
6
0
4
-25
0
0
0
0
0
0
0
38
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
55
40
-40
0
0
0
-1
0
0
-12
-27
15
0
0
0
0
0
0
-14
-41
59
0
0
8
0
-2
-12
9
35
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-5
62
0
0
0
2
0
1
25
-34
30
0
0
0
0
0
1
-4
-48
27
0
0
-38
-1
0
16
8
-53
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
24
-46
0
0
0
0
0
1
-18
-6
-18
0
0
0
0
0
-1
1
-13
8
0
0
-1
0
0
-8
-11
8
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
28
11
0
0
0
0
0
-5
6
-51
60
0
0
0
0
0
0
0
-19
19
0
0
2
0
0
-2
-17
-66
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-28
25
-4
0
0
0
0
0
0
-5
-39
64
0
0
0
0
0
0
-5
41
31
0
0
0
0
0
0
-8
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
34
5
0
0
0
0
0
0
2
23
11
0
0
0
0
0
-1
-2
-9
23
0
0
0
0
0
0
-1
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
8
25
-18
0
0
0
0
0
0
-4
-1
33
0
0
0
0
0
0
-2
0
33
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
25
-43
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
-3
1
12
0
0
0
0
0
0
4
0
-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
1
-2
-42
-3
80
0
0
0
38
0
-2
-3
-18
-42
0
0
0
0
0
0
16
-32
38
0
0
0
0
0
1
-25
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
7
0
0
0
-1
0
2
-16
-3
58
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-8
-2
-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
-1
0
-4
1
11
0
0
0
-1
0
0
4
-25
33
0
0
0
0
0
0
1
-5
10
0
0
0
0
0
0
-2
23
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
52
0
0
0
2
0
0
0
-19
46
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
52
9
-26
46
0
0
0
0
0
1
-1
-46
11
0
0
0
0
-5
8
1
-10
0
0
0
0
0
0
0
44
-29
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
-7
-12
-3
0
0
0
0
0
0
0
-18
27
0
0
0
0
1
2
-6
4
29
0
0
0
0
0
0
0
-51
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
5
4
13
-53
0
0
0
0
0
0
4
22
-21
0
0
0
0
-2
-2
-5
9
8
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
3
-8
14
0
0
0
0
0
0
0
-6
48
0
0
0
0
-6
5
1
1
0
0
0
0
0
0
-1
-13
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
87
-22
74
0
0
0
3
0
35
-28
-72
-2
0
0
0
0
0
-57
19
-8
51
0
0
-4
3
-2
30
-48
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
60
-12
-5
0
0
0
1
0
-13
7
-47
-10
0
0
0
0
-2
48
-20
9
-57
0
0
0
0
0
24
16
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
38
-27
-5
0
0
0
1
0
-5
-25
73
-31
0
0
0
0
0
-13
43
-78
44
0
0
-13
0
0
-2
23
22
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
44
-4
-17
-40
0
0
0
-4
0
-42
14
-49
35
0
0
0
0
-1
5
0
-9
12
0
0
9
0
0
-7
13
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
3
-53
44
0
0
0
0
0
3
13
-14
-11
0
0
0
0
-2
0
-13
-11
-56
0
0
0
0
0
0
13
-40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
51
25
27
-16
0
0
0
0
0
0
3
-36
-3
0
0
0
0
0
0
2
-17
-7
0
0
0
0
0
-1
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
38
30
-2
7
4
0
0
0
0
3
29
22
11
-3
0
0
0
-5
16
-29
-22
98
1
0
0
0
0
-2
-4
29
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-17
-14
36
33
-9
0
0
0
0
0
1
84
-11
-10
0
0
0
0
1
-2
8
-21
16
0
0
0
0
0
16
-14
-39
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
-21
-4
0
0
0
-2
0
4
-5
-19
-7
0
0
0
0
0
0
-2
-22
55
0
0
0
0
0
0
7
99
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
-1
0
0
0
-25
0
1
5
-69
88
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-40
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
-62
-1
11
0
0
74
0
0
-43
13
-12
2
0
0
0
0
0
5
41
-15
0
0
0
0
0
0
-5
-82
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-54
-17
29
0
0
30
0
-1
4
-35
30
-5
0
0
0
0
0
0
-4
34
-16
0
0
-4
0
0
3
48
-46
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
-58
77
0
0
0
0
0
0
-2
-81
91
0
0
0
0
0
-2
-6
-3
-37
0
0
0
0
0
-4
0
-18
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
7
14
0
0
0
0
0
0
0
-23
31
0
0
0
0
0
0
-4
-5
14
0
0
0
0
0
0
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
6
72
-18
6
0
0
0
0
0
0
-24
-1
27
0
0
0
2
-8
-17
7
35
-5
0
0
0
0
0
0
9
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
16
-3
39
-9
0
0
0
0
0
-1
32
-27
9
0
0
0
0
-5
0
18
-31
-22
0
0
0
0
0
-2
40
4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
13
40
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
-22
1
71
0
0
32
4
1
12
-7
-28
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
6
18
0
0
0
0
0
0
6
-57
36
0
0
0
0
0
0
0
19
-22
0
0
14
0
0
0
9
-49
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
33
-4
7
1
0
0
0
0
0
54
7
5
-6
0
0
0
0
0
16
-91
-4
12
0
4
0
0
-4
23
-17
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
20
47
-12
0
0
1
0
-1
-14
23
23
5
0
0
0
0
0
0
-22
-13
13
0
-47
0
0
1
-30
17
24
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-6
-5
1
-49
0
0
0
0
0
-1
23
-48
-8
0
0
0
0
0
0
-10
-23
59
0
0
0
0
0
0
-12
30
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-5
-32
8
0
0
0
0
0
0
-1
-48
52
0
0
0
0
0
0
0
19
-16
0
0
0
0
0
0
1
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
13
46
38
-15
6
0
0
0
0
0
-48
-31
31
14
0
0
0
0
0
-1
-5
21
13
0
0
0
0
0
-6
13
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
62
4
-29
0
0
0
0
0
0
-24
-14
2
0
0
0
0
0
0
18
12
-98
0
0
0
0
0
-3
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
7
0
0
0
2
0
0
9
-59
-18
0
0
0
0
0
0
1
6
-35
0
0
0
0
0
0
9
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
19
0
0
0
4
0
0
-1
-8
2
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
30
-45
-1
4
0
0
4
0
-3
15
-75
35
8
0
0
0
0
0
2
-17
-25
35
0
0
0
0
0
-25
-4
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-3
14
0
0
3
0
4
0
-12
-15
50
0
0
0
0
0
0
0
1
-73
0
0
0
0
0
0
-17
16
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-1
2
-5
9
0
0
0
0
0
0
0
-52
27
0
0
0
0
0
3
0
-13
-23
0
0
0
0
0
0
-6
-52
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-7
0
0
0
0
0
0
-3
5
-22
0
0
0
0
0
1
0
-17
-6
0
0
0
0
0
0
3
7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-8
-35
149
-14
0
0
0
0
0
0
-31
-10
3
0
0
0
0
2
0
-22
-5
-13
0
0
0
0
-2
-1
0
23
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
0
0
-10
0
0
0
0
-2
-2
-2
-16
30
0
0
0
0
0
0
-8
-2
34
0
0
0
0
0
-4
0
5
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
21
-2
-21
0
0
0
-3
0
6
-43
-12
21
0
0
0
0
0
0
-1
-48
23
0
0
24
0
0
-17
-11
-122
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
51
-36
16
0
0
0
-1
0
-1
-8
-18
-1
0
0
0
0
0
-2
-5
21
18
0
0
0
0
0
0
-12
11
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
43
15
-1
0
0
2
0
8
-24
-28
12
3
0
0
0
0
-5
-14
-3
5
0
0
0
0
-1
42
-26
-36
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
-3
-7
1
0
0
1
0
0
51
-44
-39
-1
0
0
0
1
1
19
-29
-13
-53
0
0
0
0
0
-13
23
-1
-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
-20
32
42
64
15
0
0
0
0
0
2
9
-96
42
0
0
0
0
-1
6
10
-71
24
0
0
0
0
0
14
-4
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-53
13
-11
0
0
0
0
0
0
2
-16
32
0
0
0
0
0
-2
1
30
-18
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-55
-29
34
18
0
0
0
0
1
-8
-26
-44
47
0
0
0
-2
8
29
13
43
-14
0
0
0
0
1
-7
10
30
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
12
52
2
14
-34
4
0
0
0
-4
13
-20
78
-16
-12
0
0
0
5
-21
-30
8
-21
-6
0
0
2
1
-24
45
12
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
-56
33
0
0
0
11
0
2
5
-31
-14
0
0
0
0
0
0
4
41
-69
0
0
0
0
0
0
-41
-40
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
68
0
0
0
-26
0
-2
-2
-14
-53
0
0
0
0
0
0
0
-6
26
0
0
0
0
0
0
1
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-30
-6
19
0
0
-48
0
-3
-19
2
41
23
0
0
0
0
0
0
-2
-38
7
0
0
0
0
-1
14
-53
48
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
20
-32
-4
0
25
0
-17
9
-46
20
-22
-28
0
0
0
0
-6
-29
29
-5
-5
0
0
0
2
-8
39
-1
-74
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-18
-22
20
0
0
0
0
0
-1
0
29
3
0
0
0
0
-6
2
-1
-5
39
0
0
0
0
0
0
-2
-51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-56
0
0
0
0
0
0
0
-71
1
0
0
0
0
-1
0
0
-10
41
0
0
0
0
0
0
-1
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-65
10
14
0
0
0
0
0
0
4
5
-10
0
0
0
4
-4
4
-14
-10
22
0
0
0
0
1
-6
-20
40
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
24
17
-60
-64
18
0
0
0
0
12
0
-27
-18
-24
0
0
0
0
7
8
2
-42
-4
0
0
0
0
1
7
3
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-29
18
7
25
0
0
0
0
0
0
27
-81
62
0
0
0
0
0
0
-1
25
-25
0
0
-16
0
-3
-13
5
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
4
24
0
0
0
0
0
0
5
17
47
0
0
0
0
0
0
-1
-30
-5
0
0
9
0
0
-5
-7
38
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-27
6
6
0
0
-3
0
0
23
3
23
-2
0
0
0
0
0
3
-26
18
12
0
-40
0
-3
1
-14
-84
28
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-43
1
-3
-7
0
14
0
-1
-75
8
54
-66
4
0
0
0
0
-5
-27
-53
-25
31
47
0
0
-5
-19
-12
-33
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-10
61
-84
12
0
0
0
0
0
3
30
-29
63
0
0
0
0
0
1
10
-9
9
0
0
0
0
0
0
-40
-21
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
9
-18
16
0
0
0
0
0
-8
-2
-4
-4
0
0
0
0
0
0
-1
-5
63
0
0
0
0
0
0
-2
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-5
46
68
-24
0
0
0
0
4
-18
39
-66
-8
0
0
0
0
0
3
50
-20
-29
0
0
0
0
0
14
-31
22
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
25
-66
-26
-18
31
0
0
0
0
-19
-30
-6
21
0
0
0
-2
-2
-2
6
-2
26
-38
0
0
0
0
5
-34
-12
47
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
-44
23
0
0
0
-6
1
-6
22
-8
1
0
0
0
0
-1
4
3
-43
59
0
0
0
-8
0
-5
-41
2
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
8
0
0
0
-7
0
1
-8
17
5
0
0
0
0
0
0
0
18
-34
0
0
0
0
0
0
-4
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
-26
7
0
0
-58
0
-1
10
-36
62
16
0
0
0
0
-1
0
0
22
-48
0
0
0
0
0
7
-25
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-49
13
20
21
0
34
0
-1
-2
-41
-84
-5
-13
0
0
0
0
-1
-41
-3
-7
-5
0
0
0
0
-5
-24
1
-42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-19
25
-5
-5
0
0
0
0
0
0
-10
18
11
0
0
0
0
-3
-3
0
-27
17
0
0
0
0
0
1
10
-67
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
5
58
0
0
0
0
0
0
0
-4
40
0
0
0
0
10
-13
-1
5
5
0
0
0
0
0
0
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-7
-1
-92
21
16
0
0
0
0
-4
5
-3
-27
-11
0
0
0
0
0
-3
19
11
4
0
0
0
0
0
-8
-23
68
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
4
31
-14
-78
-24
0
0
0
1
1
-7
-24
-2
-2
0
0
-25
2
4
13
30
-66
30
0
0
0
0
-3
-10
19
-37
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
9
4
-7
0
0
0
19
19
-50
8
-14
-6
0
0
0
0
18
81
11
7
-18
0
0
15
13
-49
-30
-11
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-45
36
-43
28
0
0
0
35
29
-2
-108
-57
47
0
0
0
0
7
71
-52
-43
15
0
0
41
10
5
-44
-18
45
-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
-4
18
27
-15
43
-3
0
0
37
-46
37
43
-2
16
1
0
0
0
38
-17
64
-12
-5
-10
0
62
45
62
-33
50
-16
-39
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-7
4
60
-2
-12
4
0
-69
37
-7
-27
-39
44
3
-20
0
0
9
-38
-22
-27
29
-5
2
-104
47
12
-111
-91
-71
-8
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-36
73
-76
26
0
0
0
0
-2
8
-30
-37
20
0
0
0
0
-1
9
-6
-26
27
0
0
0
0
-3
39
78
-30
-19
0
0
0
0
-3
72
-22
-49
-2
0
0
0
0
-28
16
-22
37
-1
0
0
0
0
-21
-28
-21
-47
50
0
0
0
0
-16
86
-23
-3
-28
0
0
0
0
14
4
52
-69
49
0
0
0
0
0
39
4
-18
3
0
0
0
0
-21
13
-1
8
14
0
0
0
0
2
9
-67
12
22
0
0
0
0
-16
14
38
40
11
0
0
0
0
14
-24
14
18
28
0
0
0
0
61
-69
32
34
-4
0
0
0
0
4
-77
19
-58
61
0
0
0
0
-15
-12
42
-36
61
0
0
0
0
-1
31
-14
-69
17
0
0
0
0
20
6
-14
-30
28
0
0
0
0
0
-19
32
-7
-5
0
0
0
0
23
1
-18
-10
22
0
0
0
0
7
-27
31
-31
-33
0
0
0
0
-6
12
6
-21
6
0
0
0
0
42
-18
19
-17
-5
0
0
0
0
-6
-21
26
-14
60
0
0
0
0
1
-33
18
1
17
0
0
0
0
-3
25
60
-54
-4
0
0
0
0
-23
27
-2
-8
-4
0
0
0
0
34
-30
-25
-7
18
0
0
0
0
12
-11
121
-68
28
0
0
0
0
-70
123
24
-65
10
0
0
0
0
30
1
51
12
-24
0
0
0
0
0
47
-23
-31
38
0
0
0
5
-11
85
-5
13
5
0
0
0
0
0
-2
-1
8
23
0
0
0
21
0
-21
42
37
14
0
0
0
0
3
18
45
-5
-43
0
0
0
73
-5
-10
-7
10
-2
0
0
0
0
0
3
-20
-2
23
0
0
0
16
0
-19
20
-69
22
0
0
0
0
0
-18
29
1
32
0
0
0
-13
-7
4
-27
8
25
0
0
0
0
0
-27
-8
-27
13
0
0
0
-3
0
-41
-24
-40
32
0
0
0
0
0
-2
-1
-69
27
0
0
0
31
0
-8
-27
-27
33
0
0
0
0
0
3
-8
-41
40
0
0
0
-29
0
-56
51
65
-5
0
0
0
0
0
5
19
-56
33
0
0
0
44
0
-4
-10
24
95
0
0
0
0
0
1
-8
3
-42
0
0
0
6
0
0
-31
12
-44
0
0
0
0
0
4
-20
-6
21
0
0
0
-22
5
9
-10
-23
-13
0
0
0
0
0
4
4
-25
-41
0
0
0
22
0
-9
17
-46
-3
0
0
0
0
0
2
-6
11
-1
0
0
0
-34
0
24
-4
-69
55
0
0
0
0
0
2
-6
-80
66
0
0
0
-24
0
-6
35
26
20
0
0
0
0
-1
-7
-108
15
51
0
0
0
-21
-2
-3
19
-20
27
0
0
0
0
0
-46
3
-36
73
0
0
0
-7
11
-39
58
7
0
0
0
0
0
22
-59
-17
-12
1
0
0
0
0
0
1
-2
-31
-15
0
0
0
0
-31
46
14
30
-6
0
0
0
0
0
-18
-33
1
15
0
0
0
0
-1
7
18
7
4
0
0
0
0
0
-2
36
-68
53
0
0
0
0
1
1
42
-77
-7
0
0
0
0
-1
-42
33
-36
33
0
0
0
0
-22
77
-30
-49
7
0
0
0
0
0
-5
9
-31
-21
0
0
0
0
30
-40
87
-24
4
0
0
0
0
0
5
2
11
-24
0
0
0
0
0
2
-22
-26
5
0
0
0
0
0
-5
-15
-26
3
0
0
0
0
2
9
69
-85
1
0
0
0
0
-4
1
11
-32
55
0
0
0
0
3
3
30
-79
-22
0
0
0
0
0
1
3
-4
18
0
0
0
0
1
-18
-45
33
34
0
0
0
0
0
4
-39
21
-25
0
0
0
0
0
13
-14
-60
6
0
0
0
0
0
1
-29
-44
24
0
0
0
0
0
2
16
26
6
0
0
0
0
-2
16
25
-22
47
0
0
0
0
31
-21
73
-103
45
0
0
0
0
0
1
-18
-23
-6
0
0
0
0
13
18
-47
-60
-45
0
0
0
0
0
-6
-38
55
46
0
0
0
0
-3
52
35
5
-61
0
0
0
0
7
17
-14
12
-16
0
0
0
0
25
-71
19
-114
128
0
0
0
0
2
-46
33
-28
10
0
0
0
0
0
22
-51
46
11
0
0
0
8
-1
-5
-19
-15
13
0
0
0
0
0
-4
-40
14
35
0
0
-27
-40
2
43
59
-57
15
0
0
0
0
0
1
39
-64
23
0
0
0
0
0
-8
0
-9
39
0
0
0
0
0
-15
19
-26
53
0
0
-3
-1
-9
31
46
8
-14
0
0
0
0
0
-1
5
12
-23
0
0
0
5
0
-1
42
-40
10
0
0
0
0
0
21
4
-22
-61
0
0
-33
5
-2
21
45
-44
-24
0
0
0
0
0
-3
23
2
-72
0
0
0
-2
0
-2
-9
7
24
0
0
0
0
0
1
-43
-15
-25
0
0
30
-8
4
77
-85
-28
-3
0
0
0
0
0
1
59
-27
-9
0
0
0
0
0
0
-17
-16
41
0
0
0
0
0
-2
-17
-4
15
0
0
32
-16
1
-5
15
3
3
0
0
0
0
0
-3
-89
15
8
0
0
0
1
0
4
2
-48
11
0
0
0
0
0
0
-8
-62
47
0
0
24
0
3
-13
40
5
-74
0
0
0
0
0
1
-2
-10
-13
0
0
0
-9
0
-1
14
-20
-24
0
0
0
0
0
-4
-41
13
43
0
0
19
5
0
-25
-29
2
-3
0
0
0
0
0
8
-78
-6
1
0
0
0
-16
0
-1
-37
-35
82
0
0
0
0
0
13
10
-32
60
0
0
10
13
-72
-5
14
33
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-41
-21
-34
21
0
0
0
0
0
0
-14
29
17
0
0
0
0
-1
-38
-55
34
45
0
0
0
0
0
-16
34
-13
59
0
0
0
0
3
62
-15
-2
4
0
0
0
0
0
0
6
-8
5
0
0
0
0
1
-2
42
-8
32
0
0
0
0
-1
0
-16
-43
52
0
0
0
0
8
34
1
-20
20
0
0
0
0
0
4
1
34
-8
0
0
0
0
1
19
74
-96
6
0
0
0
0
0
40
29
-21
14
0
0
0
0
4
-25
16
-21
51
0
0
0
0
0
-15
-5
21
2
0
0
0
0
7
11
5
-44
-10
0
0
0
0
-16
31
-28
62
-32
0
0
0
0
-25
-62
-14
-4
15
0
0
0
0
0
0
-8
-58
36
0
0
0
0
2
-12
7
-63
14
0
0
0
0
0
-8
-11
11
45
0
0
0
0
12
-3
-74
-42
94
0
0
0
0
0
1
10
-15
-11
0
0
0
0
2
29
19
-65
21
0
0
0
0
-13
-27
-4
43
-10
0
0
0
0
30
-45
-3
26
63
0
0
0
0
0
5
18
-23
-5
0
0
0
0
-4
-5
62
-35
17
0
0
0
0
-2
0
16
38
42
0
0
0
0
-4
-31
61
20
35
0
0
0
0
1
21
-2
-2
29
0
0
0
0
10
16
-55
-10
12
0
0
0
0
-14
-17
-1
11
-18
0
0
0
0
0
0
-3
51
53
0
0
0
26
0
0
-12
-34
51
0
0
0
0
0
0
-4
1
-79
0
0
0
6
0
0
5
-5
-23
0
0
0
0
0
0
-6
-39
23
0
0
0
-1
0
0
-14
12
3
0
0
0
0
0
0
-3
12
7
0
0
0
-1
0
0
41
-13
-41
0
0
0
0
0
2
-48
-19
31
0
0
0
28
0
-3
16
9
-25
0
0
0
0
0
0
0
-21
11
0
0
0
-1
0
-1
-73
0
17
0
0
0
0
0
-1
-5
1
21
0
0
0
-5
0
3
-15
40
17
0
0
0
0
0
0
3
-34
40
0
0
0
5
0
-8
35
0
-24
0
0
0
0
0
0
5
3
-15
0
0
0
26
0
1
0
-111
34
0
0
0
0
0
0
-3
6
15
0
0
0
0
0
-1
34
10
-26
0
0
0
0
0
0
-3
6
21
0
0
0
33
0
3
5
-16
-82
0
0
0
0
0
0
1
-34
52
0
0
0
5
0
0
-41
-30
27
0
0
0
0
0
3
9
-90
25
0
0
0
0
0
-3
0
10
-9
0
0
0
0
0
0
0
61
-9
0
0
0
-8
0
1
-4
-66
50
0
0
0
0
0
3
6
-8
16
0
0
0
51
-2
1
0
-61
-27
0
0
0
0
-1
0
1
-31
-8
0
0
0
-23
1
-76
-12
-3
27
0
0
0
0
-1
-5
-2
-67
21
0
0
0
0
0
2
-5
-45
-20
0
0
0
0
0
1
7
-6
-20
0
0
0
0
0
3
5
-36
78
0
0
0
0
0
0
2
-17
14
0
0
0
0
0
0
-3
19
-6
0
0
0
0
0
-2
3
-16
-18
0
0
0
0
0
0
-23
19
25
0
0
0
0
0
5
-40
-41
54
0
0
0
0
0
-2
-3
-28
65
0
0
0
0
10
39
-14
-18
-77
0
0
0
0
0
5
10
18
-41
0
0
0
0
0
4
-2
4
-29
0
0
0
0
0
-1
1
-5
0
0
0
0
0
-6
-24
-27
-45
44
0
0
0
0
-22
-9
48
-31
-13
0
0
0
0
0
-2
4
7
22
0
0
0
0
0
0
0
17
-21
0
0
0
0
0
0
-4
19
-37
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-14
49
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
-1
0
25
0
0
0
0
0
-1
7
18
5
0
0
0
0
1
0
-4
9
-19
0
0
0
0
0
0
0
6
1
0
0
0
0
-6
13
9
38
-48
0
0
0
0
0
1
-9
-83
44
0
0
0
0
5
-2
4
9
-36
0
0
0
0
0
1
-4
-19
37
0
0
0
0
-16
-12
17
-60
83
0
0
0
0
-9
-3
-91
-7
26
0
0
0
0
0
7
-6
6
43
0
0
0
0
0
-1
-9
4
-14
0
0
0
0
0
0
1
-58
4
0
0
41
0
0
3
-62
23
33
0
0
0
0
0
0
13
-10
-46
0
0
0
0
0
1
-2
-49
27
0
0
0
0
0
-1
0
-3
20
0
0
1
0
0
1
17
12
23
0
0
0
0
0
-5
32
-28
23
0
0
0
2
0
0
25
-62
1
0
0
0
0
0
-3
-15
8
-31
0
0
-12
2
0
-3
-3
43
-10
0
0
0
0
0
0
2
14
-2
0
0
0
0
0
0
-16
4
15
0
0
0
0
0
0
-5
-71
-5
0
0
-7
0
-1
-36
-42
6
61
0
0
0
0
0
-1
8
25
-28
0
0
0
0
0
0
0
-24
21
0
0
0
0
0
-2
0
-8
61
0
0
1
0
0
1
-3
-39
19
0
0
0
0
0
0
7
-7
-40
0
0
0
0
0
0
1
-7
-3
0
0
0
0
0
0
-5
-5
15
0
0
33
0
0
1
-67
-2
-4
0
0
0
0
0
0
3
-14
59
0
0
0
0
0
0
2
-2
63
0
0
0
0
0
0
-2
-30
9
0
0
40
-4
-1
-3
28
-91
46
0
0
0
0
0
1
2
-6
40
0
0
0
-2
0
0
8
15
-79
0
0
0
0
1
-2
10
5
-66
0
0
42
-51
1
23
53
-51
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-4
13
-21
0
0
0
0
0
-3
-20
-46
18
0
0
0
0
-3
48
-29
6
2
0
0
0
0
0
24
-14
-26
13
0
0
0
0
-3
-74
83
17
-9
0
0
0
0
1
-24
16
-12
5
0
0
0
0
1
-3
-63
19
38
0
0
0
0
-1
-24
-23
6
44
0
0
0
0
-72
1
79
3
3
0
0
0
0
0
2
-1
46
34
0
0
0
0
6
0
1
7
59
0
0
0
0
0
14
17
-20
-2
0
0
0
0
-33
-27
-15
5
58
0
0
0
0
0
7
9
-5
-16
0
0
0
0
20
-43
51
-62
34
0
0
0
0
14
5
20
25
-32
0
0
0
0
124
54
-35
30
38
0
0
0
0
-5
-23
34
-38
-31
25
0
0
0
-48
59
-23
46
63
5
0
0
0
-3
-15
76
-4
113
-15
0
0
0
18
-10
46
-16
-3
12
0
0
0
2
-25
1
-32
-6
-2
0
0
0
29
22
-59
-81
41
0
0
0
0
66
-18
47
-39
-34
-3
0
0
0
-14
24
48
-39
-44
14
0
0
0
0
-4
10
-26
-12
48
0
0
0
50
6
-15
-58
72
34
0
0
0
7
-14
-27
-33
78
10
0
0
0
-46
37
107
-9
33
10
0
0
0
4
-84
87
-58
17
-6
0
0
0
-18
30
-2
89
4
1
0
0
0
36
-40
-3
44
49
1
0
0
0
0
9
-27
-1
-5
0
0
0
-64
-2
9
-26
-39
53
0
0
0
0
0
0
50
14
-53
0
0
0
1
0
-2
-4
-30
51
0
0
0
0
0
4
-55
44
34
0
0
0
2
0
-16
87
-82
-12
0
0
0
0
0
-1
0
-29
41
0
0
0
0
1
-2
36
-27
-12
0
0
0
0
0
3
3
-35
28
0
0
0
21
0
1
-4
-60
-2
0
0
0
0
0
1
-5
-29
61
0
0
0
18
0
-6
-7
-61
21
0
0
0
0
0
0
1
-13
-7
0
0
0
33
0
4
-22
2
2
0
0
0
0
0
6
-2
-42
24
0
0
0
25
1
-57
46
35
-10
0
0
0
0
0
0
7
49
44
2
0
0
-67
-3
1
-18
-65
4
26
0
0
0
0
1
66
-3
3
-20
0
0
0
0
0
-1
-14
22
-19
0
0
0
0
0
29
-44
14
14
0
0
12
-1
0
48
-17
48
-4
0
0
0
0
-1
0
3
31
-48
0
0
7
1
33
10
-9
2
-9
0
0
0
0
3
5
-20
-11
9
0
0
78
0
0
-21
-1
-62
34
0
0
0
0
0
8
-21
34
-22
0
0
13
0
-2
-44
-39
97
17
0
0
0
3
-2
-7
18
-22
29
0
0
23
-3
0
-36
12
-22
44
0
0
0
4
-19
-20
-13
-34
-11
0
0
-3
-33
-16
2
22
18
-23
0
0
0
2
2
-8
-40
39
0
0
0
0
0
0
1
-24
42
0
0
0
0
2
18
25
-18
-54
0
0
0
0
0
1
21
-67
29
0
0
0
0
0
0
-13
-19
5
0
0
0
0
0
3
-1
-20
41
0
0
0
0
0
-1
0
3
5
0
0
0
0
0
8
20
-9
56
0
0
0
0
0
-10
-3
16
21
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
17
1
-1
-21
0
0
0
0
0
-17
0
-59
4
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
19
42
-45
0
0
0
0
1
-8
9
-10
-17
0
0
0
0
1
0
-1
-35
-1
-26
0
0
0
0
0
0
48
-30
-7
0
0
0
-8
-25
-67
-26
-29
10
0
0
0
0
-3
79
-57
-71
-9
0
0
0
0
0
-9
7
-16
2
0
0
0
0
0
-9
5
-22
-15
0
0
0
-4
-14
-25
9
-9
3
0
0
0
5
20
-9
-9
31
-34
0
0
0
14
-7
12
-25
53
-15
0
0
0
0
1
-2
-23
-15
42
0
0
0
1
-16
-24
-27
69
22
0
0
0
0
0
-25
-53
63
30
0
0
0
-2
-1
5
13
12
-16
0
0
0
-1
-2
14
-51
18
4
0
0
0
-31
-3
13
-57
-49
44
0
0
0
0
-44
-2
-36
78
6
0
0
0
0
-5
16
11
-6
0
0
0
0
0
-1
-2
-29
-22
0
0
0
0
0
-1
29
-59
-5
0
0
-20
3
1
-12
-44
-6
5
0
0
0
0
0
2
10
-48
-10
0
0
0
0
0
2
26
-64
-20
0
0
0
0
0
0
3
10
9
0
0
0
0
-1
51
-21
-47
25
0
0
0
0
0
2
-9
-27
55
0
0
0
0
0
0
8
1
11
0
0
0
0
0
4
-4
-56
22
0
0
-11
0
0
4
16
6
31
0
0
0
0
0
0
-7
6
-33
0
0
0
0
0
0
1
-18
2
0
0
0
0
0
0
-4
0
-4
0
0
-7
0
-1
-25
16
-21
21
0
0
0
0
0
2
8
24
96
-9
0
0
0
0
0
5
17
-3
-13
0
0
0
0
-2
-40
-28
-4
0
0
-34
0
2
-18
-54
-85
85
20
0
0
0
0
-3
-5
64
-16
-21
0
0
0
0
0
12
-2
11
-16
0
0
0
0
0
9
-51
-6
4
0
10
0
3
-20
-34
3
14
-33
0
0
0
0
0
-2
38
47
-52
0
0
-2
0
0
3
-15
84
-74
0
0
0
0
0
0
-52
35
-20
0
41
2
0
-13
9
58
-1
-24
0
0
0
0
-1
10
-62
-29
-8
0
0
7
0
0
-3
-26
5
-29
0
0
0
0
-3
29
-26
48
0
0
-9
-1
5
24
-57
-56
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-41
0
-35
27
0
0
0
0
0
0
-21
11
16
0
0
0
0
2
5
86
-62
-6
0
0
0
0
0
5
16
-17
13
0
0
0
0
0
-39
-12
-7
58
0
0
0
0
0
0
22
-1
-54
0
0
0
0
1
-8
11
-13
1
0
0
0
0
0
-7
-50
-11
31
0
0
0
0
-20
17
12
20
-48
0
0
0
0
0
2
2
-68
46
0
0
0
0
-1
-10
-18
38
67
0
0
0
0
0
-23
-49
69
5
0
0
0
0
1
-6
7
1
35
0
0
0
0
-2
4
-2
13
-3
0
0
0
0
24
-7
-13
-30
46
0
0
0
0
23
-17
11
-41
26
0
0
0
0
10
55
46
-42
-13
3
0
0
0
0
0
8
-34
-25
28
0
0
0
1
6
84
-14
42
-57
0
0
0
0
1
3
14
34
-36
0
0
0
1
34
-27
24
7
-44
0
0
0
-1
0
45
-8
4
-11
0
0
0
0
9
-25
73
2
0
0
0
0
4
48
60
-45
17
-11
0
0
0
-58
31
51
10
10
-25
8
0
0
0
15
-9
-48
11
-4
23
0
0
4
-57
-37
20
-51
-41
12
0
0
0
24
-47
-60
-25
-20
20
0
0
-83
-9
-2
2
-4
-29
0
0
0
-13
-59
-12
14
89
-43
17
0
0
13
33
-14
-2
12
-39
-17
0
0
60
39
44
-7
-28
12
-5
0
0
0
0
-6
-15
51
0
0
0
-18
0
2
-1
18
-1
0
0
0
0
0
0
-9
-21
12
0
0
0
3
0
-3
27
-110
71
0
0
0
0
0
0
3
-18
97
0
0
0
0
0
0
4
-44
44
0
0
0
0
0
0
4
19
5
0
0
0
0
0
0
34
-27
33
0
0
0
0
0
0
5
-16
26
0
0
0
20
0
-2
0
-28
-4
0
0
0
0
0
0
2
-24
-52
0
0
0
-6
0
-5
19
-27
31
0
0
0
0
0
3
0
-16
56
0
0
0
-41
0
0
-12
-14
57
0
0
0
0
0
0
5
-3
-5
0
0
0
1
0
4
-5
0
-24
0
0
0
0
0
0
10
-46
10
1
0
0
-25
0
2
5
-45
-1
32
0
0
0
0
0
1
-54
-1
19
0
0
0
0
0
-16
-54
-19
-49
0
0
0
0
0
-20
43
38
0
0
0
-41
0
-3
20
48
16
23
0
0
0
0
0
0
62
75
-51
0
0
0
0
-8
23
-79
41
-12
0
0
0
0
-6
42
-4
20
-36
-11
0
32
0
-58
-59
-1
10
24
3
0
0
0
0
-36
14
-45
-46
-11
0
-29
0
-5
-10
2
-25
-31
15
0
0
5
-5
-2
-17
-13
-7
-13
0
7
0
26
6
3
-18
-8
-10
0
0
0
-8
-9
-44
-40
14
33
0
80
-4
27
6
-51
-28
37
-10
0
0
0
3
0
-40
1
0
0
0
0
0
0
-3
-51
59
0
0
0
0
0
0
13
36
-10
0
0
0
0
0
2
1
10
57
0
0
0
0
0
0
1
-5
-4
0
0
0
0
0
0
-2
-12
-1
0
0
0
0
0
0
-2
-30
0
0
0
0
0
0
0
52
-11
13
0
0
0
0
1
0
0
-41
8
0
0
0
0
0
0
0
12
-3
0
0
0
0
-12
-3
-25
75
-1
0
0
0
0
0
-2
2
-62
55
0
0
0
0
0
0
0
4
4
0
0
0
0
0
-1
0
-16
-6
0
0
0
0
-1
2
0
-7
-7
0
0
0
0
6
-53
-62
3
28
0
0
0
0
0
-4
5
-46
-13
-8
0
0
0
0
0
1
-28
20
28
0
0
0
0
0
3
19
2
-74
0
0
0
0
-1
1
-21
-22
-36
0
0
0
0
0
-9
1
19
-92
0
0
0
0
-3
0
-3
1
14
0
0
0
0
0
0
8
-4
8
0
0
0
0
-15
14
-37
25
38
0
0
0
-1
-4
-17
-10
-10
-1
-1
0
0
0
0
2
-20
-9
-72
25
0
0
-23
69
23
-95
19
-35
16
0
0
-3
-10
-38
21
-60
30
18
0
0
-8
1
-1
57
46
-82
-27
0
0
0
-2
-3
-36
-19
12
36
0
0
-27
8
8
23
95
-16
-9
0
0
-18
-23
-93
-51
-43
-24
18
0
0
0
0
7
39
-87
0
0
0
0
0
0
-10
-16
36
0
0
0
0
0
0
-13
-21
35
0
0
-21
0
0
0
-49
-5
-11
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
-6
13
5
0
0
0
0
0
0
0
7
2
0
0
0
0
0
4
-53
6
5
0
0
0
0
0
-2
3
-1
8
0
0
0
0
0
0
-1
-30
-7
0
0
0
0
0
0
6
-9
-9
0
0
19
0
0
20
-35
23
-27
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
2
0
0
-2
-1
0
-9
-31
13
-10
0
0
0
0
0
1
-13
-71
47
-18
0
0
0
0
0
-27
15
52
-43
0
0
0
0
0
5
-17
-10
-23
0
-6
0
0
-2
-33
-53
-13
43
0
0
0
0
-1
0
1
-12
42
0
0
0
0
0
-8
3
3
32
0
0
0
0
0
-1
2
1
-77
0
-16
0
0
-71
26
-59
-8
38
0
0
0
0
16
-22
57
4
-66
-4
0
0
0
0
54
3
-36
-20
-41
0
0
0
1
8
-17
-19
3
-19
6
1
0
-82
29
-74
-56
-64
4
0
0
0
-8
4
-92
8
-41
43
0
0
0
-2
28
37
-72
-34
26
0
0
-1
1
-9
29
-14
28
22
-86
26
4
-54
-37
-48
53
-40
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-3
3
-66
15
0
0
0
0
-2
7
-54
-5
-4
0
0
0
0
3
-20
10
9
-4
0
0
0
0
0
35
-16
17
-16
0
0
0
0
31
6
-36
-48
45
0
0
0
0
-8
0
76
-77
51
0
0
0
0
6
-2
20
-22
47
0
0
0
0
1
9
-22
30
-15
0
0
0
0
1
-19
53
-1
12
0
0
0
0
0
2
22
-54
29
0
0
0
0
23
-3
-35
22
-12
0
0
0
0
-1
3
-23
34
39
0
0
0
0
2
58
-18
-7
-23
0
0
0
0
0
-3
18
12
14
0
0
0
0
32
40
35
-23
-6
0
0
0
0
24
-14
15
12
25
0
0
0
0
-18
-39
-27
-40
54
0
0
0
0
2
4
-40
31
13
0
0
0
0
-2
-5
-41
6
70
0
0
0
0
0
-31
2
-48
46
0
0
0
0
-2
-12
-6
15
4
0
0
0
0
0
-8
3
-30
71
0
0
0
0
1
17
9
-55
59
0
0
0
0
6
-11
-9
37
-15
0
0
0
0
-47
-26
42
-11
32
0
0
0
0
0
2
-11
-18
65
0
0
0
0
-11
29
47
-97
90
0
0
0
0
1
-5
-4
-19
-28
0
0
0
0
-36
29
-18
9
20
0
0
0
0
7
-38
31
8
14
0
0
0
0
9
-25
-11
1
57
0
0
0
0
9
-36
11
55
24
0
0
0
0
0
6
72
-5
-40
0
0
0
-34
2
1
12
58
5
0
0
0
0
0
0
1
-9
-23
0
0
0
-1
0
-6
-1
-19
-3
0
0
0
0
0
-1
0
-3
31
0
0
0
16
0
1
-25
-19
27
0
0
0
0
0
-1
3
-42
20
0
0
0
-1
0
-2
16
-68
33
0
0
0
0
5
0
-38
-34
-1
0
0
0
10
0
3
-12
9
8
0
0
0
0
0
-4
-4
5
35
0
0
0
8
0
-1
-7
-14
10
0
0
0
0
0
0
19
2
-17
0
0
0
-30
0
-7
0
-67
50
0
0
0
0
0
-5
1
17
28
0
0
0
-28
0
-19
-34
9
66
0
0
0
0
0
0
-28
-38
-12
0
0
0
26
0
0
6
-30
-1
0
0
0
0
0
-1
7
-9
45
0
0
0
-1
0
3
23
19
-15
0
0
0
0
0
0
6
8
-29
0
0
0
-28
0
0
-5
-78
11
0
0
0
0
0
0
6
-25
-9
0
0
0
-1
0
-17
39
-19
-12
0
0
0
0
0
-39
-62
-41
29
0
0
0
8
0
3
-4
7
-7
0
0
0
0
0
-9
3
-27
-17
0
0
0
-53
0
-9
-19
57
9
0
0
0
0
0
0
-18
-65
-12
0
0
0
28
-1
-1
19
-22
14
0
0
0
0
0
-8
-5
4
40
0
0
0
52
24
34
-5
-72
42
0
0
0
0
1
0
-44
-1
56
0
0
0
0
0
0
-12
-4
-1
0
0
0
0
1
-3
16
20
-52
0
0
0
0
0
-1
16
-32
43
0
0
0
0
0
0
8
41
1
0
0
0
0
0
-2
-3
-10
6
0
0
0
0
0
0
-3
-42
61
0
0
0
0
0
-17
5
49
-21
0
0
0
0
0
2
-23
-69
41
0
0
0
0
0
0
-3
-21
-15
0
0
0
0
0
7
6
18
-60
0
0
0
0
0
0
-53
55
11
0
0
0
0
0
3
1
16
-28
0
0
0
0
0
0
-7
-10
2
0
0
0
0
0
10
29
-31
-46
0
0
0
0
0
-4
-49
-1
25
0
0
0
0
0
1
15
-27
-26
0
0
0
0
0
0
3
4
52
0
0
0
0
0
1
-19
-37
63
0
0
0
0
0
6
-12
-36
30
0
0
0
0
0
0
-2
-40
22
0
0
0
0
0
0
-3
-25
29
0
0
0
0
0
0
0
5
29
0
0
0
0
0
2
10
-26
16
0
0
0
0
0
0
36
12
5
0
0
0
0
0
1
-1
-29
-11
0
0
0
0
0
0
1
-13
1
0
0
0
0
0
3
-4
-52
37
0
0
0
0
0
0
14
-23
47
0
0
0
0
0
-2
6
26
-4
0
0
0
0
2
5
-5
8
-16
0
0
0
0
-32
-63
17
-55
56
0
0
0
0
3
3
-29
-77
54
0
0
0
0
0
0
13
55
-43
0
0
0
0
0
0
9
-28
-14
0
0
-44
-20
0
0
61
-17
60
0
0
0
0
0
0
2
-38
-29
0
0
0
0
0
-4
-53
33
-17
0
0
0
0
0
0
5
33
-17
0
0
13
0
0
-1
61
-44
-4
0
0
0
0
0
0
24
-109
22
0
0
0
0
0
0
2
3
9
0
0
0
0
0
1
19
3
7
0
0
-20
0
0
0
56
-16
-16
0
0
0
0
0
-8
-9
-12
54
0
0
0
0
0
1
30
-41
-36
0
0
0
0
0
-1
5
-10
-32
0
0
-11
0
0
-24
25
-25
3
0
0
0
0
0
-1
-36
-54
66
0
0
0
0
0
0
22
-30
75
0
0
0
0
0
0
14
-21
-24
0
0
20
1
0
0
-19
81
-21
0
0
0
0
0
-1
-9
-49
19
0
0
0
0
0
1
-36
35
5
0
0
0
0
0
0
8
-10
3
0
0
37
0
0
-6
8
30
15
0
0
0
0
0
2
13
-32
31
0
0
0
0
0
0
16
-58
9
0
0
0
0
0
1
-10
53
-1
0
0
2
0
0
0
2
13
-9
0
0
0
0
0
-1
63
-30
7
0
0
0
1
0
0
30
-34
23
0
0
0
0
0
5
-30
-52
48
0
0
20
27
-19
-4
-23
4
1
0
0
0
0
7
-4
62
3
23
0
0
0
0
0
-1
29
-21
80
0
0
0
0
0
0
39
-6
-32
0
0
0
0
0
1
66
-46
1
0
0
0
0
0
-9
10
-13
41
0
0
0
0
0
3
-2
-4
-24
0
0
0
0
0
0
1
43
6
0
0
0
0
0
5
-1
-47
19
0
0
0
0
2
-8
-24
5
27
0
0
0
0
0
-3
0
33
2
0
0
0
0
0
2
-3
-51
15
0
0
0
0
0
5
-72
7
44
0
0
0
0
-1
-4
2
-3
24
0
0
0
0
0
0
-9
0
12
0
0
0
0
0
-3
-1
4
29
0
0
0
0
-1
8
-5
-10
32
0
0
0
0
-5
-40
52
-46
-8
0
0
0
0
0
-2
-2
-16
17
0
0
0
0
0
-2
-44
11
-6
0
0
0
0
0
0
38
54
-44
0
0
0
0
0
-11
-18
5
1
0
0
0
0
0
-1
10
9
-1
0
0
0
0
0
1
3
-12
-14
0
0
0
0
0
0
-1
-15
35
0
0
0
0
-29
-13
-25
-68
26
0
0
0
0
0
0
3
-46
25
0
0
0
0
0
0
-40
27
19
0
0
0
0
0
25
-11
8
-60
0
0
0
0
0
10
-11
30
-11
0
0
0
0
0
0
2
-25
-13
0
0
0
0
13
-20
69
13
-6
0
0
0
0
27
11
34
-10
-6
0
0
0
0
0
0
-1
7
-16
0
0
0
-4
0
0
-5
-29
35
0
0
0
0
0
0
-2
-99
52
0
0
0
0
0
0
-11
-46
38
0
0
0
0
0
0
5
14
-10
0
0
0
0
0
0
25
16
15
0
0
0
0
0
0
-2
8
1
0
0
0
0
0
0
6
-51
31
0
0
0
0
0
0
1
-39
-6
0
0
0
0
0
0
3
-3
1
0
0
0
0
0
-1
10
-12
-37
0
0
0
0
0
0
9
12
-3
0
0
0
0
0
0
-4
-6
46
0
0
0
1
0
0
0
-2
-8
0
0
0
0
0
0
6
-1
7
0
0
0
0
0
0
43
-18
-50
0
0
0
0
0
0
-5
-5
37
0
0
0
22
0
-1
-46
14
10
0
0
0
0
0
0
0
18
-25
0
0
0
0
0
0
-18
-31
13
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
0
-5
20
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
-18
7
0
0
0
0
0
0
2
-29
-17
0
0
0
-29
0
0
12
-6
53
0
0
0
0
0
-2
-10
-48
33
0
0
0
-2
0
0
-49
-7
50
0
0
0
0
0
0
-8
5
-2
0
0
0
-21
0
0
-1
27
-74
0
0
0
0
-2
0
-38
8
39
0
0
0
-30
0
5
-62
-13
29
0
0
0
0
1
-3
2
-7
29
0
0
0
0
0
0
0
-47
59
0
0
0
0
0
0
-8
-13
5
0
0
0
0
0
0
23
8
0
0
0
0
0
0
-1
1
5
47
0
0
0
0
0
0
1
-4
-33
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
13
-4
-29
0
0
0
0
0
0
0
14
-44
0
0
0
0
0
0
1
-4
-7
0
0
0
0
0
0
3
8
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
19
0
0
0
0
0
5
-6
6
-63
0
0
0
0
0
-4
7
-13
16
0
0
0
0
0
0
0
-25
69
0
0
0
0
0
0
3
8
-8
0
0
0
0
0
0
0
-57
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-11
-4
0
0
0
0
0
1
3
5
24
0
0
0
0
0
0
0
-5
-18
0
0
0
0
0
0
-8
1
-7
0
0
0
0
0
0
-1
27
2
0
0
0
0
0
0
-13
-8
14
0
0
0
0
0
-4
0
0
39
0
0
0
0
-1
0
0
2
6
0
0
0
0
4
-19
-24
-18
-26
0
0
0
0
0
-21
69
-51
43
0
0
0
0
0
3
-12
-17
18
0
0
0
0
0
5
-5
-30
70
0
0
-3
0
0
4
23
33
-12
0
0
0
0
0
0
28
-33
-32
0
0
0
0
0
0
91
-39
40
0
0
0
0
0
0
6
32
-42
0
0
0
0
0
-23
-10
1
16
0
0
0
0
0
-5
53
-8
36
0
0
0
0
0
0
12
-35
12
0
0
0
0
0
3
17
-4
-40
0
0
0
0
0
-7
-6
-29
66
0
0
0
0
0
-1
1
-4
-34
0
0
0
0
0
3
-20
-7
4
0
0
0
0
0
-1
-30
-33
68
0
0
0
0
0
-72
-35
60
-11
0
0
0
0
0
7
-45
49
-26
0
0
0
0
0
0
-5
-42
36
0
0
0
0
0
-2
-27
-11
31
0
0
4
0
0
-2
26
-22
11
0
0
0
0
0
5
16
-50
24
0
0
0
0
0
-1
7
-11
17
0
0
0
0
0
0
-30
21
-13
0
0
0
0
0
-58
22
10
19
0
0
0
0
0
-5
-12
24
-9
0
0
0
0
0
2
28
-49
-39
0
0
0
0
0
0
1
15
5
0
0
2
0
0
-6
-6
16
8
0
0
0
0
0
13
-40
-23
13
0
0
0
1
0
-4
30
49
-27
0
0
0
0
-4
45
-53
-25
28
0
0
27
7
1
-61
62
-65
-13
0
0
0
0
9
13
11
-4
-33
0
0
0
0
0
0
-10
-10
7
0
0
0
0
0
3
1
-9
-18
0
0
0
0
0
8
51
-47
15
0
0
0
0
0
8
34
4
-67
0
0
0
0
0
-1
13
-53
-2
0
0
0
0
0
3
-22
-26
66
0
0
0
0
0
-4
26
-12
27
0
0
0
0
14
15
-34
4
-7
0
0
0
0
0
6
-3
67
-6
0
0
0
0
-1
30
-24
-31
39
0
0
0
0
0
-13
-22
-15
75
0
0
0
0
0
0
-2
3
31
0
0
0
0
0
1
9
-2
44
0
0
0
0
5
16
-8
-8
63
0
0
0
0
-1
-2
30
10
-17
0
0
0
0
-53
9
-41
-8
83
0
0
0
0
0
-4
-6
30
-8
0
0
0
0
0
2
13
40
-6
0
0
0
0
0
-3
24
48
1
0
0
0
0
1
-25
-4
-1
-5
0
0
0
0
0
1
11
17
-7
0
0
0
0
0
2
1
-3
47
0
0
0
0
3
-39
61
-25
23
0
0
0
0
-11
4
-3
-18
59
0
0
0
0
0
-1
2
-19
23
0
0
0
0
2
-4
0
-40
23
0
0
0
0
0
-13
37
-38
29
0
0
0
0
18
-43
5
14
36
0
0
0
0
0
-4
-7
-85
82
0
0
0
0
11
-43
28
52
-20
0
0
0
0
-2
-48
39
-9
4
0
0
0
0
0
0
-40
-6
21
0
0
0
-13
0
4
-6
-12
13
0
0
0
0
0
0
-5
29
-2
0
0
0
7
0
0
0
-18
25
0
0
0
0
0
0
5
-55
32
0
0
0
16
0
0
0
-5
2
0
0
0
0
0
0
0
-15
6
0
0
0
0
0
0
40
7
4
0
0
0
0
0
0
-9
9
95
0
0
0
-10
0
0
0
1
30
0
0
0
0
0
2
8
-22
36
0
0
0
-3
0
2
-54
-32
74
0
0
0
0
0
0
0
-4
12
0
0
0
-2
0
0
0
4
12
0
0
0
0
0
-4
1
-6
47
0
0
0
2
0
1
5
-37
-56
0
0
0
0
0
0
8
-13
36
0
0
0
7
0
1
-1
4
23
0
0
0
0
0
0
0
14
18
0
0
0
0
0
0
10
-38
-28
0
0
0
0
0
0
1
-12
29
0
0
0
10
0
0
0
-38
-26
0
0
0
0
0
0
0
-43
5
0
0
0
0
0
0
-3
-49
1
0
0
0
0
0
0
1
-4
-4
0
0
0
48
0
-1
1
-55
-49
0
0
0
0
0
0
1
-33
14
0
0
0
3
0
0
-8
-34
26
0
0
0
0
0
-2
-2
-21
18
0
0
0
-7
0
-1
2
28
-39
0
0
0
0
0
-1
0
19
-5
0
0
0
4
-5
33
7
16
-23
0
0
0
0
1
6
5
-14
-8
0
0
0
0
0
0
2
15
-20
0
0
0
0
0
-2
6
9
46
0
0
0
0
0
0
-44
25
16
0
0
0
0
0
0
0
4
35
0
0
0
0
0
0
-7
31
-62
0
0
0
0
0
0
0
-13
-6
0
0
0
0
0
0
-28
23
13
0
0
0
0
0
3
-3
5
6
0
0
0
0
0
0
0
-45
45
0
0
0
0
1
0
1
4
-43
0
0
0
0
0
0
-8
-56
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-18
-9
0
0
0
0
0
-20
-10
-5
30
0
0
0
0
0
0
7
4
16
0
0
0
0
0
0
2
-49
-8
0
0
0
0
0
-2
0
8
-1
0
0
0
0
0
0
-8
-58
-9
0
0
0
0
0
0
0
5
32
0
0
0
0
0
0
0
-5
-66
0
0
0
0
0
0
-1
2
8
0
0
0
0
0
0
-38
13
32
0
0
0
0
1
-1
0
0
4
0
0
0
0
0
0
-1
18
-10
0
0
0
0
0
-1
-1
12
-4
0
0
0
0
0
1
-7
-13
-6
0
0
0
0
-1
0
0
-31
29
0
0
0
0
0
0
5
-44
50
0
0
0
0
-2
0
1
3
39
0
0
0
0
-18
-40
-43
-1
-9
0
0
0
0
0
4
41
-20
38
0
0
0
0
0
0
-21
4
30
0
0
0
0
0
0
4
-18
52
0
0
-5
0
0
0
-17
23
59
0
0
0
0
0
-1
5
20
3
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
0
-5
23
-28
0
0
0
0
0
6
9
18
-17
0
0
0
0
0
0
12
-21
15
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
16
-67
25
0
0
13
0
0
0
32
2
-35
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
2
-8
47
0
0
0
0
0
-1
8
2
-19
0
0
0
0
0
3
-27
14
-15
0
0
0
0
0
1
-7
3
7
0
0
0
0
0
0
8
8
-32
0
0
0
0
0
0
1
-43
13
0
0
-13
0
0
0
7
-57
-6
0
0
0
0
0
-2
-9
-3
-1
0
0
0
0
0
0
-29
-35
38
0
0
0
0
0
0
2
38
-6
0
0
0
0
0
8
17
-16
-9
0
0
0
0
0
0
-2
-4
58
0
0
0
0
0
0
5
-63
22
0
0
0
0
0
0
8
-81
-44
0
0
-12
0
0
0
0
18
4
0
0
0
0
0
0
-9
-45
-3
0
0
0
1
0
0
-3
5
-46
0
0
0
0
0
0
9
-42
-1
0
0
53
-22
3
-10
26
-18
8
0
0
0
0
0
3
-13
-6
53
0
0
0
0
0
2
-8
-38
25
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
45
-62
22
0
0
0
0
0
-3
0
2
21
0
0
0
0
0
0
1
3
9
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
14
-4
-49
0
0
0
0
0
0
0
-3
20
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
1
-1
-16
0
0
0
0
-1
-2
0
1
5
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
-1
10
0
0
0
0
1
1
-7
1
50
0
0
0
0
2
-5
19
5
-28
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
12
-9
12
0
0
0
0
0
-1
0
3
53
0
0
0
0
0
0
4
-22
-4
0
0
0
0
0
1
-1
5
1
0
0
0
0
0
0
48
22
-40
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
1
-4
17
0
0
0
0
0
0
6
-7
-1
0
0
0
0
0
0
10
-54
40
0
0
0
0
1
2
7
2
-34
0
0
0
0
0
-1
2
-1
15
0
0
0
0
-1
0
3
-9
-3
0
0
0
0
-31
-4
33
-73
19
0
0
0
0
0
0
0
-44
95
0
0
0
-1
0
0
-5
-23
20
0
0
0
0
0
0
5
-65
80
0
0
0
0
0
0
-29
-37
38
0
0
0
0
0
0
-5
-7
6
0
0
0
0
0
0
0
1
-30
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
5
17
-23
0
0
0
0
0
0
0
7
46
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
6
-17
-51
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
21
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
46
0
0
0
0
0
0
4
-16
-4
0
0
0
-1
0
0
-3
-35
-14
0
0
0
0
0
0
-3
-4
47
0
0
0
0
0
0
-9
-27
-16
0
0
0
0
0
0
0
10
22
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
4
-2
-13
0
0
0
0
0
0
0
-29
4
0
0
0
0
0
0
-2
8
11
0
0
0
0
0
0
-2
1
7
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
-10
-23
0
0
0
2
0
-2
1
13
30
0
0
0
0
0
0
0
-5
-6
0
0
0
29
2
-32
-3
40
-4
0
0
0
0
-33
0
3
74
-20
0
0
0
0
0
0
0
-12
11
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
-20
-31
26
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
-8
32
0
0
0
0
0
0
1
2
24
0
0
0
0
0
10
5
-17
-20
0
0
0
0
0
-2
1
0
39
0
0
0
0
0
0
0
-2
23
0
0
0
0
-2
0
1
8
-9
0
0
0
0
0
-7
-1
15
24
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
2
-1
9
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
18
1
-2
51
0
0
0
0
2
0
-4
-16
18
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
-1
-19
6
0
0
0
0
0
-1
-4
20
45
0
0
0
0
0
0
-1
-3
-82
0
0
0
0
0
0
-5
-5
19
0
0
0
0
0
0
-1
9
-4
0
0
0
0
0
1
-4
-45
10
0
0
0
0
0
0
-1
1
15
0
0
0
0
0
-3
0
-6
-7
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
-5
-10
0
0
0
0
-1
2
-1
-8
16
0
0
0
0
0
-2
0
18
14
0
0
0
0
-8
0
1
19
-24
0
0
0
0
-9
19
58
-35
-21
0
0
0
0
0
-2
5
87
-17
0
0
0
0
0
2
-65
6
21
0
0
0
0
0
0
17
-11
13
0
0
-1
0
0
0
-6
-8
19
0
0
0
0
0
-5
22
-10
28
0
0
0
0
0
0
-17
32
-24
0
0
0
0
0
0
32
-48
9
0
0
0
0
0
11
9
-6
-17
0
0
0
0
0
-27
8
-7
22
0
0
0
0
0
0
4
-2
33
0
0
0
0
0
2
-9
43
-32
0
0
0
0
0
5
-12
4
8
0
0
0
0
0
-5
0
1
41
0
0
0
0
0
-1
-2
5
-4
0
0
0
0
2
-8
0
0
7
0
0
0
0
3
-15
18
-72
18
0
0
0
0
0
15
-16
-21
7
0
0
0
0
0
0
20
-54
-10
0
0
0
0
0
4
-10
-39
73
0
0
0
0
0
1
-21
-2
-40
0
0
0
0
0
-4
1
26
-17
0
0
0
0
0
1
49
-35
-58
0
0
0
0
0
0
-6
20
21
0
0
0
0
0
-27
50
-64
5
0
0
0
0
0
3
2
-46
65
0
0
0
0
0
0
6
2
34
0
0
0
0
0
10
-2
22
-38
0
0
3
0
0
-5
-49
4
2
0
0
0
0
0
5
-74
9
90
0
0
0
0
0
4
-12
-57
39
0
0
0
0
0
-26
10
-24
-47
0
0
12
-3
-40
-16
-9
-37
-11
0
0
0
0
-56
-51
20
7
56
0
0
0
0
0
-6
3
-33
-4
0
0
0
0
0
-4
14
-21
3
0
0
0
0
0
7
-2
-3
22
0
0
0
0
-3
-6
9
21
15
0
0
0
0
-1
-3
31
-40
34
0
0
0
0
1
4
-16
9
5
0
0
0
0
-2
-25
-16
30
45
0
0
0
0
-40
14
-25
-21
88
0
0
0
0
0
0
2
-39
-56
0
0
0
0
-3
-16
5
33
38
0
0
0
0
0
14
13
-37
5
0
0
0
0
2
-9
0
5
-1
0
0
0
0
-2
2
0
8
-37
0
0
0
0
4
3
5
19
-11
0
0
0
0
-53
-3
75
-59
49
0
0
0
0
-1
-21
47
-25
-4
-13
0
0
0
0
4
-3
-3
23
-19
0
0
0
-5
-9
12
35
25
3
0
0
0
0
-7
-3
45
47
-7
0
0
0
41
4
-42
3
46
-6
0
0
0
0
0
-12
34
-6
24
0
0
0
1
-7
-1
47
-54
27
0
0
0
8
11
36
-62
34
7
0
0
0
-19
28
33
-18
45
7
0
0
0
0
1
-3
20
54
1
0
0
0
-10
-5
1
-74
38
15
0
0
0
3
29
-32
14
58
13
0
0
0
43
28
-37
-31
7
5
0
0
0
0
-3
-1
19
24
25
0
0
0
8
22
18
-95
90
17
0
0
0
90
45
6
7
81
20
0
0
0
0
1
16
11
-67
0
0
0
-7
0
0
1
-22
-14
0
0
0
0
0
0
7
-31
45
0
0
0
7
0
0
-10
-24
23
0
0
0
0
0
0
-3
-26
7
0
0
0
1
0
0
2
-39
51
0
0
0
0
0
0
-1
3
1
0
0
0
-4
0
0
-9
-12
-11
0
0
0
0
0
-1
1
4
7
0
0
0
-13
0
-3
0
-49
15
0
0
0
0
0
0
0
-45
-17
0
0
0
0
0
1
-4
35
-1
0
0
0
0
0
0
0
14
-3
0
0
0
5
0
0
0
20
-13
0
0
0
0
0
0
0
-10
22
0
0
0
5
0
-12
-2
-19
78
0
0
0
0
0
0
3
-35
-3
1
0
0
19
0
0
0
-26
37
-7
0
0
0
0
0
0
-31
-3
-9
0
0
0
0
-2
-6
16
-45
-19
0
0
0
0
0
0
-43
100
2
0
0
-9
0
0
1
-13
67
-5
0
0
0
0
0
-2
10
10
15
0
0
0
0
0
-10
46
14
16
0
0
0
-1
0
3
58
-5
-12
0
0
-21
0
0
-4
0
-49
40
0
0
0
0
0
-2
-34
-25
-20
0
0
-1
0
-2
-7
-111
60
17
0
0
0
0
0
0
18
20
8
0
0
34
0
-1
2
-12
-3
-35
0
0
0
3
0
0
17
-12
-27
0
0
61
1
-8
6
-44
-12
15
0
0
0
2
0
0
-39
1
0
0
0
0
0
0
0
-38
39
0
0
0
0
0
-1
0
-9
-19
0
0
0
0
0
0
2
-39
-10
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
23
-12
0
0
0
0
0
-3
0
-7
2
0
0
0
0
0
3
-56
6
9
0
0
0
0
0
0
4
-1
16
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
1
12
8
0
0
0
0
0
-3
-4
-18
13
0
0
0
0
0
0
0
-29
7
0
0
0
0
0
-1
1
-10
-21
0
0
0
0
0
-4
0
12
-11
0
0
0
0
1
-9
-5
-12
16
0
0
0
0
6
0
1
-40
42
-5
0
0
0
0
0
0
-27
-23
31
0
0
0
0
0
-3
24
-10
-42
0
0
0
0
0
-3
-95
26
9
0
0
0
0
0
0
8
-5
-20
0
0
0
0
0
1
7
16
-12
0
0
0
0
0
-1
-15
0
-5
0
0
0
0
0
-30
24
1
-7
0
0
0
0
-1
1
-35
52
32
0
0
0
0
0
0
26
-2
10
0
0
0
0
1
0
-2
28
-19
0
0
0
0
-1
-5
-20
24
-34
0
0
0
0
0
0
-4
12
-28
0
0
0
0
0
5
-83
7
32
0
0
0
0
-6
0
15
-1
-61
0
0
0
38
6
54
10
19
-8
0
0
0
0
0
11
-25
10
0
0
0
0
0
-2
5
-53
22
0
0
0
0
0
0
15
16
-15
0
0
-55
0
0
-1
4
63
24
0
0
0
0
0
-1
21
-42
-9
0
0
0
0
0
0
-5
-12
20
0
0
0
0
0
1
4
-17
0
0
0
0
0
0
-1
-22
-14
36
0
0
0
0
0
-2
1
-23
8
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
2
3
-47
13
0
0
-20
0
0
4
8
-15
-8
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
0
-58
-1
0
0
-1
0
0
-6
-19
7
-3
0
0
0
0
0
0
13
38
50
-3
0
0
0
0
0
-8
-86
12
13
0
0
0
0
2
-3
-102
-12
-23
0
-28
0
0
1
12
-71
10
4
0
0
0
0
0
-2
-63
9
31
0
0
0
0
0
5
-28
-19
-36
0
0
0
0
0
0
13
1
-52
0
41
0
0
0
-23
-70
-8
10
0
0
0
0
0
4
-18
-10
6
0
0
0
0
0
5
2
19
-16
0
0
0
0
0
7
11
-13
-25
0
66
0
0
-1
4
40
-46
-82
0
0
0
0
0
-5
41
15
-39
0
0
0
0
0
2
31
22
-68
0
0
0
0
0
-5
-85
8
-4
0
6
2
1
-41
-50
-15
19
-23
0
0
0
8
2
-29
-19
53
0
0
0
0
0
0
0
-6
65
0
0
0
0
-1
-3
-34
-17
65
0
0
0
0
0
6
-64
-13
49
0
0
0
0
0
-2
0
-2
-18
0
0
0
0
0
0
-9
1
23
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
7
6
-2
0
0
0
0
3
0
1
-14
14
0
0
0
0
0
0
-1
-7
48
0
0
0
0
0
0
-4
3
49
0
0
0
0
0
2
6
-17
-25
0
0
0
0
0
-2
4
0
25
0
0
0
0
0
0
0
2
-5
0
0
0
0
2
0
-2
3
5
0
0
0
0
-4
-13
57
13
4
0
0
0
0
-3
1
-7
2
47
-20
0
0
0
0
0
3
-12
43
1
0
0
0
0
0
13
-2
-18
17
0
0
0
0
-8
2
24
61
-67
0
0
0
0
-4
0
-3
-55
36
0
0
0
0
2
-1
0
-3
-10
0
0
0
-6
-1
1
5
-3
11
0
0
0
0
6
14
-30
-5
-41
0
0
0
0
1
2
-14
16
15
0
0
0
0
0
2
-43
-6
73
0
0
0
0
0
3
-6
29
-12
0
0
0
0
-5
-10
10
-73
48
0
0
0
0
0
0
4
13
8
0
0
0
0
0
1
-41
11
-17
0
0
0
-2
0
0
-10
6
2
0
0
0
15
6
61
-22
5
-31
0
0
0
0
-1
8
30
-52
0
0
0
3
0
0
2
-6
-6
0
0
0
0
0
0
-10
2
-14
0
0
0
0
0
0
3
-41
64
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-30
-1
4
0
0
0
0
0
0
3
5
17
0
0
0
0
0
0
0
-21
53
0
0
0
0
0
0
5
-3
17
0
0
0
0
0
0
-5
17
-6
0
0
0
0
0
0
0
-5
-5
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
1
1
1
-4
-6
0
0
0
0
0
0
0
-4
44
-10
0
0
0
0
0
0
13
9
63
0
0
0
0
0
-1
-6
13
-44
0
0
0
0
0
4
-14
-9
7
0
0
0
0
0
1
1
-20
-21
0
0
0
0
0
0
0
-8
-34
0
0
0
0
0
0
0
8
-6
0
0
0
0
1
-1
0
3
-66
0
0
0
0
0
0
17
-39
-56
0
0
4
0
0
-10
-8
9
-53
0
0
0
0
0
-2
-3
-47
17
0
0
0
0
0
0
-3
-1
18
0
0
0
0
0
0
0
-18
-55
0
0
-12
0
0
1
0
-8
-30
0
0
0
0
0
2
-5
6
-44
0
0
27
1
8
-27
-59
60
-18
0
0
0
-2
0
-1
-11
-27
0
0
0
0
0
0
2
-42
7
0
0
0
0
0
0
1
-4
3
0
0
0
0
0
0
-3
-42
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
2
0
0
0
0
0
0
2
-4
13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
4
-5
0
0
0
0
0
0
1
2
8
-1
0
0
0
0
0
-1
2
-28
-10
0
0
0
0
0
0
6
-25
-20
0
0
0
0
0
0
24
0
2
0
0
0
0
0
0
0
6
-22
0
0
0
0
0
0
0
-1
-59
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
1
0
0
0
2
0
1
2
-21
54
0
0
0
0
0
0
1
-9
14
0
0
0
0
0
0
-1
4
-26
0
0
0
0
0
-4
-1
-1
-60
0
0
0
0
0
0
-8
2
-19
0
0
0
0
0
0
-5
-3
-3
0
0
0
1
0
0
3
0
-31
0
0
0
8
-7
15
-5
25
-21
0
0
0
0
9
-18
5
-17
0
0
0
0
0
0
-1
-6
-2
0
0
0
0
0
-1
10
-6
-2
0
0
-8
0
0
0
45
-58
28
0
0
0
0
0
3
-5
-2
2
0
0
0
0
0
0
3
1
12
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-56
12
6
0
0
0
0
0
1
-2
13
7
0
0
0
0
0
0
5
7
7
0
0
0
0
0
1
-14
-18
16
0
0
0
0
0
4
-24
0
-3
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
-6
1
4
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
5
25
-81
-14
0
0
0
0
1
2
1
25
48
-7
0
0
0
0
0
0
-37
45
8
0
0
0
0
-2
2
-7
-13
76
0
-1
0
0
1
-5
23
2
-43
0
0
0
0
0
1
3
-16
-49
0
0
0
0
0
0
6
-2
-67
0
0
0
0
1
0
-2
0
-27
0
0
0
0
-1
4
2
1
-42
0
0
0
0
0
3
0
29
-67
0
0
0
0
0
0
-19
6
2
0
0
0
0
0
5
-5
-6
-14
0
8
0
0
0
13
-15
3
-18
0
0
0
0
-1
5
-2
-14
-50
0
0
0
0
0
8
-41
-13
-34
0
0
0
0
0
5
0
2
-48
0
3
-1
-2
14
16
34
-34
-5
0
0
0
13
-30
39
-46
69
0
0
0
0
0
0
-3
-14
11
0
0
0
0
0
-2
20
28
11
0
0
0
0
1
0
59
-59
18
0
0
0
0
2
-50
-45
33
-4
0
0
0
0
0
-1
-71
-12
7
0
0
0
0
0
4
2
-25
-9
0
0
0
0
0
13
26
18
-15
0
0
0
0
-23
41
23
-14
-44
0
0
0
0
0
3
0
27
-4
0
0
0
0
0
-7
0
13
-15
0
0
0
0
0
0
32
-9
9
0
0
0
0
0
1
-13
-7
47
0
0
0
0
0
0
-5
10
12
0
0
0
0
-2
-5
1
1
-11
0
0
0
0
17
24
3
-10
52
0
0
0
0
57
10
-21
-56
-10
45
0
0
0
0
0
3
-2
24
-13
0
0
0
0
0
-5
-20
3
-57
0
0
0
0
-4
73
-3
-3
-38
0
0
0
5
13
13
4
-28
-23
0
0
0
-1
4
12
-1
30
-14
0
0
0
0
4
0
-3
9
-64
0
0
0
0
-12
18
-27
-30
-26
0
0
0
-22
10
-5
-15
17
32
-21
0
0
0
0
3
-30
50
16
-3
0
0
0
2
-5
-39
26
11
-8
0
0
0
-7
-57
-58
17
31
30
0
0
-44
-23
1
17
70
23
-17
0
0
3
-3
18
-51
101
82
3
0
0
-11
9
0
-20
21
27
15
0
0
14
40
-1
45
-14
-40
21
0
0
0
0
-8
6
3
0
0
0
-15
0
2
1
-1
33
0
0
0
0
0
0
-7
-42
41
0
0
0
0
0
0
30
-42
-11
0
0
0
0
0
0
2
25
-3
0
0
0
1
0
0
3
-12
-5
0
0
0
0
0
0
2
-31
-41
0
0
0
0
0
-1
45
-50
6
0
0
0
0
0
-3
1
5
20
0
0
0
0
0
0
0
6
10
0
0
0
0
0
2
-3
-11
22
0
0
0
0
0
-2
2
-58
31
0
0
0
0
0
0
0
-25
33
0
0
0
18
0
-3
1
-5
12
0
0
0
0
0
4
0
-5
21
0
0
0
4
0
5
-3
43
-73
0
0
0
0
0
0
5
-24
10
15
0
0
32
0
0
0
-55
3
29
0
0
0
0
0
0
-31
-8
-12
0
0
0
0
1
-7
-29
9
5
0
0
0
0
0
-4
-4
51
11
0
0
-11
0
0
-9
29
-73
45
0
0
0
0
0
-1
-5
15
1
0
0
0
0
0
7
-85
35
16
0
0
0
0
3
2
45
50
-60
10
0
33
0
0
0
13
0
-87
-23
0
0
0
0
-7
16
55
-15
11
0
-19
0
0
-3
-30
9
-38
-2
0
0
0
0
0
36
9
-47
0
0
-32
0
1
3
-23
-42
-24
10
0
0
0
0
0
-19
15
17
32
0
14
5
-32
-52
-59
-13
-55
25
0
0
0
1
-1
-18
20
0
0
0
0
0
0
0
-9
-30
0
0
0
0
0
0
0
-24
6
0
0
0
0
0
0
-5
60
-2
0
0
0
0
0
0
-1
-44
-10
0
0
0
0
0
0
-4
-3
2
0
0
0
0
0
-8
2
-30
0
0
0
0
0
0
0
-44
-42
22
0
0
0
0
0
-4
5
5
-5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
5
-15
-1
0
0
0
0
0
4
-6
9
5
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
4
1
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
-1
-23
-30
43
0
0
0
0
0
-4
23
-57
30
0
0
0
0
0
-1
-11
23
-40
0
0
0
0
-2
-1
51
-21
-4
0
0
0
0
0
0
-10
9
4
0
0
0
0
0
-1
-4
0
21
0
0
0
0
0
0
-2
-6
-44
0
0
0
0
0
0
5
-3
-29
0
0
0
0
3
0
-2
20
-42
5
0
0
0
0
0
-14
-43
2
-2
0
0
0
0
0
40
-2
-30
-15
0
0
0
0
0
-48
-8
8
18
0
0
0
0
0
3
-5
-44
68
0
0
0
0
1
0
8
8
14
0
0
-1
0
0
-1
9
-92
52
0
0
4
58
16
13
-39
1
-11
0
0
0
0
-15
-78
44
0
0
0
0
0
0
0
-35
33
0
0
0
0
0
0
5
14
-31
0
0
21
0
0
1
-16
-45
22
0
0
0
0
0
0
27
-22
-5
0
0
0
0
0
3
-5
-26
13
0
0
0
0
0
0
-2
-8
1
0
0
-4
0
0
1
-2
2
14
0
0
0
0
0
0
5
-25
-5
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-1
3
3
0
0
-21
0
0
-1
5
-51
0
0
0
0
0
0
-1
1
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
1
-7
-1
0
0
2
0
0
3
-5
16
7
0
0
0
0
0
0
13
17
3
15
0
0
0
0
0
5
0
25
-15
0
0
0
0
-6
-6
-50
26
-7
0
52
0
0
3
-41
-76
25
35
0
0
0
0
0
-2
41
-21
-44
0
0
0
0
0
-1
6
4
4
0
0
0
0
0
0
-32
1
-80
0
-8
0
0
0
-1
8
-2
-46
0
0
0
0
0
-8
60
-13
-3
9
0
0
0
0
3
-20
18
-67
-1
0
0
0
3
0
19
0
-62
-28
43
0
0
0
-2
-92
20
0
-1
0
0
0
0
0
-4
-6
38
-24
0
0
0
0
-1
-13
-5
28
14
0
0
0
0
3
7
0
-74
37
-109
-5
2
-43
-31
65
15
-57
-14
0
0
51
23
-65
-15
6
0
0
0
0
0
0
0
-60
62
0
0
0
0
-1
-3
4
10
-1
0
0
0
0
0
4
22
9
1
0
0
0
0
0
2
-8
-8
3
0
0
0
0
0
0
13
-4
-15
0
0
0
0
0
-2
-5
7
3
0
0
0
0
0
-50
93
-43
-4
0
0
0
0
-40
-4
4
19
-10
0
0
0
0
0
0
1
-57
46
0
0
0
0
3
-8
-8
48
-79
0
0
0
0
0
-15
-1
23
-15
0
0
0
0
0
-4
-2
0
13
0
0
0
0
0
2
-5
-2
27
0
0
0
0
-2
-27
0
10
22
0
0
0
0
-1
63
-108
0
14
0
0
0
0
6
7
22
15
-11
-22
0
0
0
0
0
1
27
51
-54
0
0
0
1
0
3
17
-14
12
0
0
0
0
0
6
-27
38
-36
0
0
0
-4
1
0
-13
73
-28
0
0
0
0
-1
0
-35
15
25
0
0
0
7
4
0
-9
-7
-7
0
0
0
-4
23
-6
-33
40
-21
0
0
0
12
0
2
9
-49
-82
26
0
0
0
0
-3
-14
52
-7
-20
0
0
-3
0
0
-5
0
-70
28
0
0
0
3
-6
5
44
15
-6
0
0
-7
1
0
-3
32
-17
76
0
0
0
-1
-9
34
23
-31
8
0
0
-22
-5
-1
-18
-5
22
71
0
0
-18
19
33
-57
-16
17
-43
0
0
0
-2
-21
12
24
0
0
0
-5
0
0
-4
-11
39
0
0
0
0
0
0
-22
61
8
0
0
0
0
0
5
-4
-22
36
0
0
0
0
0
0
-4
-33
50
0
0
0
0
0
0
-2
-16
-48
0
0
0
0
0
-3
-3
0
3
0
0
0
0
0
0
-22
-5
-11
0
0
0
0
0
1
0
-8
19
0
0
0
-13
0
0
0
6
-3
0
0
0
0
0
0
3
-20
35
0
0
0
0
0
1
-5
-7
-12
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
-3
1
20
0
0
0
0
0
0
0
0
33
0
0
0
-32
0
-8
17
-1
-8
0
0
0
0
0
0
0
9
-24
-11
0
0
-6
0
0
-1
-37
41
16
0
0
0
0
0
-2
-13
-31
-6
0
0
0
0
0
9
8
1
-11
0
0
0
0
0
-2
-7
-1
11
0
0
1
0
0
-2
-4
17
-11
0
0
0
0
0
0
0
4
-42
0
0
0
0
0
0
-19
16
-4
0
0
0
0
0
0
-30
13
-84
29
0
-13
0
0
0
49
8
-42
-7
0
0
0
-1
0
-3
14
3
35
0
5
0
0
-3
-13
-25
-29
9
0
0
0
0
0
-5
15
5
-4
0
-8
0
3
0
0
6
-52
-37
0
0
-7
0
1
-3
-5
-6
-95
0
-102
0
17
-33
-48
17
19
-1
0
0
0
-11
-17
-24
100
0
0
0
0
0
0
-2
-49
56
0
0
0
0
0
0
5
-19
41
0
0
0
0
0
-1
-29
-8
-20
0
0
0
0
0
5
-9
9
-16
0
0
0
0
0
0
-10
9
44
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
-60
59
4
-7
0
0
0
0
-4
1
0
-18
26
0
0
0
0
0
0
2
-6
-8
0
0
0
0
2
0
-2
17
-71
0
0
0
0
0
2
5
-39
-21
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
-8
-25
0
0
0
0
0
1
-1
0
-5
0
0
0
0
1
-45
16
8
-51
0
0
0
0
-5
1
-3
17
56
29
0
0
0
0
0
-1
-41
59
16
0
0
0
0
0
3
-4
-5
5
0
0
0
0
0
-5
-10
3
-52
0
0
0
0
0
0
-15
12
-35
0
0
0
0
0
-1
8
-24
-1
0
0
0
0
1
0
-5
2
-34
0
0
0
-6
-1
4
8
0
-19
0
0
0
6
0
0
-16
-8
-33
17
0
0
0
-1
-1
-7
61
-31
40
0
0
0
-1
-12
6
34
-38
13
0
0
0
-3
5
-6
13
-14
-14
0
0
16
0
0
1
4
-43
-34
0
0
1
0
-3
-8
5
-70
78
0
0
-20
23
0
1
2
14
-48
0
0
-1
-49
-45
-62
-19
-13
33
0
0
47
-47
-27
21
54
0
0
0
43
4
31
-5
11
18
0
0
0
0
-60
-24
19
18
21
0
0
63
-4
15
-72
-25
17
15
0
0
0
0
52
43
-13
-79
8
0
0
0
48
19
-50
32
-59
52
0
0
0
0
-20
-87
28
28
-11
0
0
-22
14
14
24
9
-45
8
0
0
0
0
-40
-5
77
49
-9
0
0
0
55
-7
6
25
-19
-20
0
0
0
0
25
-35
-36
-63
26
0
0
13
-16
-1
15
-17
-27
8
0
0
0
0
-32
-3
74
-40
30
0
0
0
-3
9
-43
22
11
-51
0
0
0
0
17
11
-20
0
-42
0
0
13
-14
-20
-44
-56
30
-9
0
0
0
0
52
118
38
16
-29
-28
0
0
-33
-19
-25
-15
20
-7
19
0
0
0
11
7
17
4
-26
4
0
-34
-3
-4
-7
18
-57
-39
40
0
0
0
-22
-19
-39
2
20
11
0
0
17
-6
31
-53
-55
11
-19
0
0
0
6
-34
-4
6
50
-59
0
12
24
13
10
-4
-6
-48
-53
0
0
0
64
-26
35
2
24
-17
4
0
24
2
-21
-26
56
11
-45
31
0
0
-5
-3
-21
-44
43
-59
32
-54
-26
-38
-10
13
23
47
-4
-32
0
0
-20
42
32
89
-37
-14
23
0
-27
0
-21
-27
-25
-32
-4
4
0
0
50
-28
35
-88
-15
-43
-17
-12
-57
-104
0
-16
-92
40
-5
-8
0
0
7
-1
-13
-9
-4
0
0
0
0
0
0
-12
-57
37
0
0
0
0
-1
0
8
-51
46
0
0
0
0
0
0
17
11
5
0
0
0
0
0
0
-7
19
-33
0
0
0
0
0
0
-15
23
80
0
0
0
0
0
-8
-14
-3
55
0
0
0
0
0
56
38
-21
9
0
0
0
0
-14
-16
-3
-11
45
0
0
0
0
0
1
-4
24
23
0
0
0
0
1
4
0
38
-10
0
0
0
0
0
-13
3
-1
64
0
0
0
0
-2
16
0
1
20
0
0
0
0
0
2
0
42
-16
0
0
0
0
-3
11
0
-8
37
0
0
0
0
4
38
67
-73
0
0
0
0
0
3
-12
2
-12
1
0
0
0
0
0
0
-1
2
-27
0
0
0
0
0
4
2
46
-10
0
0
0
0
0
-4
33
14
-6
0
0
0
0
-5
6
-1
-53
49
0
0
0
0
-1
0
0
-4
24
0
0
0
0
5
-4
0
8
84
0
0
0
0
-3
-4
-8
0
26
0
0
0
0
-20
9
14
4
45
0
0
0
0
0
2
2
-39
-22
0
0
0
0
-1
-24
6
-49
54
0
0
0
0
0
-40
-17
-27
29
0
0
0
0
10
9
2
53
-42
0
0
0
0
5
8
29
-43
18
0
0
0
0
8
-56
-5
-4
89
0
0
0
0
54
8
38
25
-44
0
0
0
0
0
0
0
-10
-9
0
0
0
-16
0
0
0
5
43
0
0
0
0
0
0
-1
6
16
0
0
0
1
0
0
-18
-35
25
0
0
0
0
0
0
-5
50
2
0
0
0
0
0
1
-5
44
11
0
0
0
0
0
0
0
-14
56
0
0
0
0
0
0
3
-59
81
0
0
0
0
0
0
2
-67
34
0
0
0
-14
0
2
0
51
-11
0
0
0
0
0
0
0
-10
-47
0
0
0
0
0
0
-1
13
-3
0
0
0
0
0
0
0
-8
32
0
0
0
2
0
-1
0
-1
51
0
0
0
0
0
0
-1
55
-14
0
0
0
21
0
8
-34
-17
46
0
0
0
0
0
0
3
-5
0
0
0
0
-10
0
0
-3
-20
39
0
0
0
0
0
0
7
17
-51
0
0
0
0
0
0
1
43
-29
0
0
0
0
0
0
-1
-30
58
0
0
0
-10
0
0
2
-18
-23
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
-7
-7
24
0
0
0
0
0
0
-2
-20
-13
0
0
0
9
0
0
0
-44
-2
0
0
0
0
0
0
-3
-6
-20
0
0
0
-9
0
0
2
24
13
0
0
0
0
0
0
0
2
10
0
0
0
45
0
-1
3
14
-26
0
0
0
0
0
0
0
-12
-1
0
0
0
15
13
10
-54
-41
18
0
0
0
0
0
1
0
-25
21
0
0
0
0
0
0
1
-12
19
0
0
0
0
0
0
1
-22
-14
0
0
0
0
0
0
-50
-10
86
0
0
0
0
0
0
0
-2
54
0
0
0
0
0
0
-7
21
6
0
0
0
0
0
0
-4
-4
4
0
0
0
0
0
-7
11
-13
7
0
0
0
0
0
0
6
-10
9
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
2
-42
16
0
0
0
0
0
-1
-40
23
-6
0
0
0
0
0
0
2
-1
11
0
0
0
0
0
0
2
-36
-3
0
0
0
0
0
0
0
-8
-50
0
0
0
0
0
-1
-4
-29
47
0
0
0
0
0
-2
4
-31
41
0
0
0
0
0
0
3
-45
7
0
0
0
0
0
0
-6
-44
-6
0
0
0
0
0
0
-9
-25
42
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
-5
9
22
0
0
0
0
0
0
2
-3
25
0
0
0
0
0
-2
59
31
-19
0
0
0
0
0
0
-1
-36
4
0
0
0
0
0
0
-1
-37
41
0
0
0
0
0
0
-13
1
3
0
0
0
0
0
0
-81
11
62
0
0
0
0
0
0
5
-5
43
0
0
0
0
0
-1
-1
-31
55
0
0
0
0
-8
1
-5
-8
-25
0
0
0
0
7
-12
-40
12
-8
0
0
0
0
-1
-2
-22
-9
29
0
0
0
0
0
0
13
-14
15
0
0
0
0
0
0
-1
-38
13
0
0
22
0
0
0
-38
45
3
0
0
0
0
0
0
-26
11
-18
0
0
0
0
0
0
15
5
-11
0
0
0
0
0
0
-15
-28
40
0
0
0
0
0
0
-1
-46
20
0
0
0
0
0
2
8
-34
-41
0
0
0
0
0
0
-13
-5
19
0
0
0
0
0
0
28
23
-18
0
0
26
0
0
2
-26
40
-71
0
0
0
0
0
0
-1
-5
12
0
0
0
0
0
0
-27
43
25
0
0
0
0
0
0
-7
12
23
0
0
0
0
0
-3
-1
14
-10
0
0
0
0
0
-1
7
0
42
0
0
0
0
0
0
27
-32
24
0
0
0
0
0
0
0
-38
60
0
0
-4
0
0
0
19
-46
-2
0
0
0
0
0
0
-2
37
-14
0
0
0
0
0
0
-81
-13
42
0
0
0
0
0
0
2
-25
32
0
0
-10
0
0
-3
-25
19
35
0
0
0
0
0
0
51
12
4
0
0
0
2
0
0
-17
-24
28
0
0
0
0
0
0
21
9
18
0
0
-15
0
0
0
-4
-18
35
0
0
0
0
0
0
-8
2
24
0
0
0
0
0
0
-4
-40
54
0
0
0
0
0
0
80
-23
-28
0
0
32
24
27
-16
-16
-48
15
0
0
0
0
0
4
0
-44
62
0
0
0
0
0
0
-7
-60
2
0
0
0
0
0
0
-2
58
-23
0
0
0
0
0
8
-4
-45
26
0
0
0
0
0
0
0
-2
-37
0
0
0
0
0
0
-1
15
-27
0
0
0
0
0
0
1
3
-16
0
0
0
0
0
8
-17
-34
32
0
0
0
0
0
0
-3
0
-12
0
0
0
0
0
0
0
-20
54
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
-5
-4
-35
0
0
0
0
0
0
-1
4
17
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
-2
1
-3
48
0
0
0
0
0
0
-21
16
47
0
0
0
0
0
-3
0
7
-4
0
0
0
0
0
0
2
-21
35
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-2
33
-17
-2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-8
24
-23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
23
-14
-1
0
0
0
0
0
0
5
5
-23
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
2
-8
4
0
0
0
0
0
0
25
-72
9
0
0
0
0
3
0
0
-7
24
0
0
0
0
0
0
4
-8
-33
0
0
0
0
0
1
7
-1
-13
0
0
0
0
-24
-62
27
18
51
0
0
0
0
0
0
-1
-20
1
0
0
0
2
0
0
3
-71
-7
0
0
0
0
0
0
2
-8
57
0
0
0
0
0
0
-17
-29
3
0
0
0
0
0
0
0
20
14
0
0
0
0
0
0
-22
-5
6
0
0
0
0
0
0
-4
-5
16
0
0
0
0
0
1
-14
-1
17
0
0
0
0
0
-1
1
-2
35
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
1
5
6
-8
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
11
0
0
0
0
0
1
0
6
-13
0
0
0
0
0
0
2
3
16
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
1
-12
9
0
0
0
0
0
0
1
-5
12
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
2
3
10
0
0
0
0
0
0
-2
-30
20
0
0
0
0
0
0
5
1
31
0
0
0
3
0
0
-2
-4
-20
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
-2
-2
17
0
0
0
0
0
0
2
-2
-40
0
0
0
-4
0
0
0
8
-16
0
0
0
0
0
0
-4
-8
43
0
0
0
20
4
-46
6
-87
9
0
0
0
0
0
0
0
-40
66
0
0
0
0
0
0
-2
-18
50
0
0
0
0
0
0
0
43
-54
0
0
0
0
0
0
-4
-4
-29
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
-15
41
0
0
0
0
0
0
0
-22
-1
0
0
0
0
0
0
10
15
-19
0
0
0
0
0
-4
0
-4
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-2
0
1
-25
0
0
0
0
0
0
2
0
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
3
-1
-13
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-13
1
2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-36
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
8
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-2
1
-12
0
0
0
0
0
0
3
-2
25
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
0
-5
-4
5
0
0
0
0
-3
0
0
2
8
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
1
14
36
17
0
0
0
0
0
-11
47
-14
25
0
0
0
0
0
5
-40
-16
23
0
0
0
0
0
3
-22
25
4
0
0
0
0
0
32
63
49
-54
0
0
0
0
0
-1
41
-24
-17
0
0
0
0
0
-4
15
-8
36
0
0
0
0
0
2
27
-13
-31
0
0
0
0
0
7
-46
36
27
0
0
0
0
0
-5
-33
6
37
0
0
0
0
0
-2
-5
0
35
0
0
0
0
0
5
8
-20
31
0
0
0
0
0
-3
28
-47
8
0
0
0
0
0
0
2
0
-46
0
0
0
0
0
2
24
-12
11
0
0
0
0
0
16
-21
-1
7
0
0
0
0
0
-33
-19
16
35
0
0
0
0
0
-8
65
-21
-17
0
0
0
0
0
0
-13
14
-58
0
0
0
0
0
0
2
-37
-1
0
0
-4
0
0
-2
4
-33
8
0
0
0
0
0
-9
-24
9
40
0
0
0
0
0
0
-9
8
-21
0
0
0
0
0
5
-22
13
-16
0
0
0
0
0
-72
36
-43
26
0
0
0
0
0
6
32
19
-55
0
0
0
0
0
-5
-1
-20
21
0
0
0
0
0
-3
-18
-19
8
0
0
0
0
0
3
-33
-9
39
0
0
0
0
0
0
23
-72
-19
0
0
0
0
0
-18
25
-26
26
0
0
0
0
2
34
-44
12
-12
0
0
3
-4
-15
-25
13
-2
15
0
0
0
0
4
-18
2
-25
42
0
0
0
0
0
0
0
1
51
0
0
0
0
0
3
0
-5
29
0
0
0
0
0
-2
69
-21
-13
0
0
0
0
0
-1
0
2
32
0
0
0
0
0
0
19
-5
19
0
0
0
0
0
-2
1
-6
1
0
0
0
0
0
13
33
-35
51
0
0
0
0
0
1
-6
0
-26
0
0
0
0
0
0
1
-6
72
0
0
0
0
-2
7
-1
17
-8
0
0
0
0
0
4
-5
-34
74
0
0
0
0
0
-3
-3
0
7
0
0
0
0
0
-6
-1
6
10
0
0
0
0
0
-1
3
4
1
0
0
0
0
0
-19
-32
17
-22
0
0
0
0
0
-1
0
0
28
0
0
0
0
0
0
-3
11
33
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
-6
13
-2
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
13
13
0
0
0
0
0
0
0
-3
-23
0
0
0
0
-1
20
-20
43
-38
0
0
0
0
0
-2
0
0
-48
0
0
0
0
0
0
-2
13
-13
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
14
-21
-28
0
0
0
0
0
1
0
3
-31
0
0
0
0
1
0
-2
1
23
0
0
0
0
-8
15
1
8
-23
0
0
0
0
-2
26
43
-7
-7
0
0
0
0
0
0
0
12
-6
0
0
0
0
0
0
-1
-49
29
0
0
0
0
0
0
0
-17
-24
0
0
0
0
0
0
-5
-59
47
0
0
0
0
0
0
2
-8
5
0
0
0
0
0
0
0
7
12
0
0
0
0
0
0
1
2
4
0
0
0
0
0
-2
6
-2
5
0
0
0
0
0
0
4
-18
41
0
0
0
-1
0
0
-2
-1
38
0
0
0
0
0
0
-6
4
-15
0
0
0
0
0
0
-8
10
-28
0
0
0
0
0
0
2
-7
-21
0
0
0
1
0
0
0
12
29
0
0
0
0
0
0
0
-2
72
0
0
0
0
0
1
5
1
-45
0
0
0
0
0
0
1
8
-9
0
0
0
-4
0
0
-3
9
34
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-6
-1
36
0
0
0
0
0
0
0
-6
42
0
0
0
0
0
0
0
17
20
0
0
0
0
0
0
1
-18
-62
0
0
0
-18
0
0
0
-11
32
0
0
0
0
0
0
0
5
5
0
0
0
2
0
-1
0
-18
-8
0
0
0
0
0
0
0
3
64
0
0
0
20
0
0
0
-7
21
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
6
-5
-44
19
0
0
0
0
0
3
0
44
-26
0
0
0
0
0
0
1
-10
16
0
0
0
0
0
0
1
-26
-5
0
0
0
0
0
0
1
-46
-5
0
0
0
0
0
0
0
-20
35
0
0
0
0
0
0
-1
-17
2
0
0
0
0
0
0
0
14
-6
0
0
0
0
0
-3
10
-10
-36
0
0
0
0
0
1
0
-2
44
0
0
0
0
0
0
0
-7
-16
0
0
0
0
0
-1
-2
-6
33
0
0
0
0
0
0
-2
21
48
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
2
30
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
-3
-2
-11
19
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
1
2
13
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
-6
21
-6
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
8
0
-45
7
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
-2
41
-49
0
0
0
0
0
-1
0
12
10
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-3
2
0
0
0
0
-19
32
3
-49
16
0
0
0
0
0
3
-24
-24
3
0
0
0
0
0
0
10
35
-29
0
0
0
0
0
0
-2
5
-15
0
0
2
0
0
0
19
11
38
0
0
0
0
0
1
-2
-8
26
0
0
0
0
0
0
-5
7
-1
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
-7
32
-2
-21
0
0
0
0
0
-1
5
-35
-6
0
0
0
0
0
0
2
-15
2
0
0
0
0
0
-2
0
-42
75
0
0
0
0
0
-2
-27
15
14
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-22
8
0
0
0
0
0
1
2
-3
10
0
0
0
0
0
2
43
-22
-10
0
0
0
0
0
1
8
12
-2
0
0
0
0
0
0
-1
-14
11
0
0
0
0
0
-1
-4
-3
22
0
0
0
0
0
3
-14
-9
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
1
4
-5
0
0
0
0
0
1
-3
1
1
0
0
0
0
0
-3
10
-41
8
0
0
0
0
0
2
-8
-38
16
0
0
0
0
0
0
0
10
34
0
0
0
0
0
-2
0
-45
2
0
0
24
0
0
0
5
17
-4
0
0
0
0
0
0
1
10
12
0
0
0
-1
0
0
3
12
-54
0
0
0
0
0
1
-2
-5
7
0
0
-34
-7
-3
-16
10
-33
28
0
0
0
0
0
6
0
-1
39
0
0
0
0
0
0
0
-23
37
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
-8
12
50
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
5
-57
0
0
0
0
0
-1
0
-2
6
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
-4
6
-2
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
2
3
-8
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
2
-65
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
-12
19
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
8
-8
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-2
0
-1
0
0
0
0
5
-27
-19
30
12
0
0
0
0
0
-2
-3
0
44
0
0
0
-3
0
0
0
3
-15
0
0
0
0
0
0
2
-5
-14
0
0
0
0
0
0
-9
-55
21
0
0
0
0
0
0
6
0
-21
0
0
0
0
0
0
0
9
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
4
5
5
0
0
0
0
0
0
0
-7
58
0
0
0
0
0
0
-1
-1
29
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
-1
-3
28
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
-2
6
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
1
13
-3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
-1
-1
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-10
-4
0
0
0
0
0
0
0
0
29
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
-3
-2
5
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
-26
-1
11
-56
1
34
0
0
0
0
7
-3
0
-6
27
0
0
0
0
0
0
-4
0
21
0
0
0
0
0
-1
-1
8
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
-1
3
42
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-2
-3
35
0
0
0
0
0
3
0
0
-12
0
0
0
0
0
0
0
-8
50
0
0
0
0
0
0
0
-9
-10
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
4
0
-2
-5
0
0
0
0
0
0
2
-5
5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
0
0
8
13
0
0
0
0
0
-1
-6
6
6
0
0
0
0
0
1
1
-3
-3
0
0
0
0
0
0
0
0
-16
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
0
5
15
0
0
0
0
-2
-1
0
0
79
0
0
0
0
0
0
0
5
-15
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
3
-4
6
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
0
0
22
0
0
0
0
6
0
-5
-5
-3
0
0
0
0
-2
-75
65
-24
-23
0
0
0
0
-1
55
1
72
-44
0
0
0
41
0
0
2
-8
-17
0
0
0
0
0
-40
11
23
-1
0
0
1
0
0
1
9
-32
9
0
0
0
0
0
9
-13
-32
36
0
0
0
0
0
-4
-19
-4
4
0
0
0
0
0
-6
1
-8
0
0
0
0
0
0
-29
-97
-14
4
0
0
0
0
2
36
24
-5
-18
0
0
0
0
0
-3
8
-25
56
0
0
0
0
0
-1
1
-2
-12
0
0
0
0
0
13
71
-56
-21
0
0
0
0
0
0
6
0
4
0
0
0
0
0
-1
0
-16
17
0
0
0
0
0
23
5
-1
11
0
0
0
0
0
-42
14
-51
54
0
0
0
0
0
12
29
-20
-14
0
0
0
0
0
-5
14
-15
29
0
0
0
0
0
-2
-1
-15
41
0
0
0
0
0
3
47
-26
-29
0
0
0
0
0
-17
-29
31
3
0
0
0
0
0
0
10
3
-42
0
0
0
0
0
0
-1
2
12
0
0
0
0
0
8
-56
-1
-3
0
0
0
0
-3
-37
13
4
21
0
0
0
0
0
-1
0
-18
-19
0
0
0
0
0
48
-18
-54
30
0
0
4
0
0
-4
-27
-6
25
0
0
0
0
-3
20
3
22
-32
0
0
0
-2
-1
0
-3
2
-3
0
0
0
0
-1
-7
13
-43
30
0
0
1
-31
-9
19
35
35
-46
0
0
0
0
-30
3
0
-28
42
0
0
0
0
0
0
0
-15
13
0
0
0
0
0
-1
3
10
3
0
0
0
0
0
0
99
-19
-14
0
0
0
0
-1
-3
1
1
2
0
0
0
0
0
0
10
-24
9
0
0
0
0
0
0
0
3
3
0
0
0
0
0
23
9
-8
-22
0
0
0
0
0
-12
0
-4
12
0
0
0
0
0
0
0
22
-9
0
0
0
0
0
2
-1
-10
-3
0
0
0
0
0
0
1
55
9
0
0
0
0
0
-8
9
0
7
0
0
0
0
0
0
0
1
12
0
0
0
0
0
3
0
1
3
0
0
0
0
-3
56
11
4
-10
0
0
0
0
1
1
0
-20
12
-12
0
0
0
0
0
-2
-23
16
1
0
0
0
0
0
2
-12
35
1
0
0
0
0
0
23
1
-29
-6
0
0
0
-1
0
0
-36
40
-25
0
0
0
-4
-1
-15
-37
0
39
0
0
0
0
3
-1
-5
-19
10
0
0
0
0
18
26
-12
-20
29
0
0
0
-6
1
0
13
75
-15
0
0
0
0
0
0
17
27
-53
0
0
0
1
-1
0
-30
-23
29
0
0
0
0
1
23
82
2
8
0
0
0
-5
-2
-8
-4
-10
28
0
0
0
3
0
-30
-4
82
16
0
0
0
-40
3
0
-36
12
12
0
0
0
40
-25
46
61
69
18
0
0
0
0
0
2
-59
30
0
0
0
39
0
1
0
-4
17
0
0
0
0
0
0
-2
8
7
0
0
0
0
0
0
-30
-38
49
0
0
0
0
0
0
2
-6
-31
0
0
0
0
0
0
-3
49
13
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
1
-5
-11
42
0
0
0
0
0
0
0
13
-38
0
0
0
-1
0
0
0
-16
8
0
0
0
0
0
0
0
-8
-8
0
0
0
5
0
0
1
-30
5
0
0
0
0
0
0
0
7
20
0
0
0
-15
0
0
0
5
-20
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
-2
-5
17
27
0
0
0
0
0
0
-1
3
-14
-15
0
0
26
0
0
0
12
-74
-16
0
0
0
0
0
0
19
21
-20
0
0
0
0
0
4
23
-63
-22
0
0
0
0
0
0
-53
49
-27
0
0
-2
0
0
0
-7
-89
22
0
0
0
0
0
0
2
16
4
0
0
0
0
1
0
-54
-58
21
0
0
0
0
0
3
-2
0
-21
0
0
-21
0
0
0
-20
-10
23
0
0
0
0
0
0
3
-11
33
0
0
-2
0
0
0
-1
-16
-8
0
0
0
0
0
0
-22
41
16
0
0
-28
0
0
0
14
-5
25
0
0
0
0
0
0
-78
57
-11
0
0
45
0
40
-14
-14
23
-13
0
0
0
0
2
0
10
31
0
0
0
0
0
0
0
-40
13
0
0
0
0
0
0
0
-40
19
0
0
0
0
0
0
4
-78
6
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
-4
29
0
0
0
0
0
0
0
10
-12
0
0
0
0
0
0
0
-19
-8
0
0
0
0
0
-1
0
-3
4
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
-1
0
-3
8
0
0
0
0
0
-8
1
-19
54
0
0
0
0
0
-4
-4
26
-46
-25
0
0
0
0
0
-2
-35
8
-12
0
0
0
0
0
0
46
-12
-44
0
0
0
0
0
7
-83
2
3
0
0
0
0
0
0
9
-2
7
0
0
0
0
0
-1
-29
-14
-7
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
-18
2
21
0
0
0
0
0
0
8
77
-61
0
0
0
0
0
-1
-20
-42
47
0
0
0
0
1
1
-4
12
22
0
0
0
0
-1
0
5
6
45
0
0
0
0
0
0
-13
20
11
0
0
0
0
0
0
12
24
-1
0
0
0
0
0
0
2
0
7
0
0
0
-2
40
-18
16
21
-20
0
0
0
0
1
-4
23
-26
0
0
0
0
0
0
-21
8
-23
0
0
0
0
0
0
8
-17
1
0
0
-17
0
0
0
67
-1
18
0
0
0
0
0
0
7
-5
-4
0
0
0
0
0
0
1
-12
-14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
15
7
0
0
0
0
0
0
0
0
-24
8
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
-2
-30
6
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
20
41
-27
0
0
0
0
0
-3
12
13
44
-16
0
0
0
0
0
-4
-2
5
-10
0
0
0
0
0
2
-6
-5
-34
0
-5
0
0
0
2
-5
-27
-2
0
0
0
0
0
-4
2
4
-53
0
0
0
0
0
2
-60
7
9
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
-1
-13
-3
5
0
0
0
0
0
9
-44
51
-28
0
0
0
0
0
0
36
-16
9
0
0
0
0
0
-4
20
14
-19
0
10
0
0
0
8
-52
-8
8
0
0
0
0
0
1
-10
45
-89
0
0
0
0
0
-1
-24
16
17
0
0
0
0
0
0
-47
2
-3
0
18
7
0
-27
-14
-87
28
24
0
0
0
0
0
-4
14
5
0
0
0
0
0
0
2
-6
33
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
13
-62
85
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
7
-41
-16
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
13
-19
24
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
-5
10
-33
0
0
0
0
0
0
20
-15
3
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
13
-61
20
-15
0
0
0
0
0
0
3
-30
-36
25
0
0
0
0
0
0
12
41
-39
0
0
0
0
0
-6
13
3
-27
0
0
0
0
0
-2
16
-20
29
0
0
0
0
0
0
0
13
-56
0
0
0
0
0
-1
2
21
-50
0
0
0
0
0
0
-14
-1
14
0
0
0
0
2
-5
11
2
-30
0
0
0
0
0
0
-2
-39
3
0
0
0
0
0
0
2
24
-39
0
0
0
0
0
0
16
-4
-51
0
0
0
0
0
-2
10
10
-27
0
0
0
-2
0
0
1
-17
-10
0
0
0
0
0
1
-25
2
59
0
0
0
0
0
0
5
8
-69
0
0
0
-11
-2
-33
-44
-15
19
0
0
0
0
1
4
-1
68
0
0
0
-7
0
0
-2
-5
38
0
0
0
0
0
0
1
-44
4
0
0
0
0
0
0
-2
-74
38
0
0
0
0
0
0
0
8
16
0
0
0
0
0
0
2
-31
13
0
0
0
0
0
0
3
-5
-2
0
0
0
0
0
1
0
13
-30
0
0
0
0
0
0
0
-2
61
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
-1
3
-4
0
0
0
0
0
0
5
-5
-14
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
1
13
0
0
0
0
0
0
2
-8
32
0
0
0
0
0
0
0
-32
-9
5
0
0
0
0
0
0
-25
61
-6
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
2
13
-19
0
0
0
0
0
0
-6
-4
-15
0
0
0
0
0
3
4
25
-28
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-5
-30
66
0
0
0
0
0
-2
7
16
-16
0
0
3
0
0
0
14
-25
10
0
0
0
0
0
0
5
2
-17
0
0
0
0
0
0
3
-4
-23
0
0
0
0
0
-2
8
-28
-7
0
0
-5
0
0
0
-7
-5
54
0
0
0
0
-2
0
2
-4
-33
0
0
29
-8
-13
37
-66
-20
7
0
0
0
0
0
0
-17
21
0
0
0
0
0
0
0
15
40
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
-4
-31
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
-2
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-1
49
-13
0
0
0
0
0
0
-3
6
-24
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
-3
-1
-11
0
0
0
0
0
0
0
-10
12
0
0
0
0
0
0
2
-4
-56
0
0
0
0
0
0
1
3
-47
0
0
0
0
0
0
0
-2
-51
0
0
0
0
0
0
-13
-4
58
0
0
0
0
0
0
-2
1
-69
0
0
0
0
-2
0
1
-6
47
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
-3
-14
12
0
0
0
1
0
0
-2
-6
-17
0
0
0
-24
59
21
-66
-10
2
0
0
0
0
19
-16
-7
44
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
-8
14
-6
0
0
0
0
0
0
77
-22
-30
0
0
0
0
0
1
1
29
9
0
0
0
0
0
0
38
-5
13
0
0
0
0
0
-2
-5
-8
1
0
0
0
0
0
-8
25
-42
0
0
0
0
0
0
0
17
17
3
0
0
0
1
0
0
0
-12
-12
0
0
0
0
0
2
-1
-3
-10
0
0
0
0
0
-2
-30
-79
52
0
0
0
0
0
0
-4
-1
-4
0
0
0
0
0
0
4
0
-10
0
0
0
0
0
4
2
-1
7
0
0
0
0
0
-18
50
17
-93
0
0
0
0
0
-3
29
9
32
-16
0
0
0
0
0
1
-27
10
13
0
0
0
0
-2
8
-7
2
28
0
0
0
0
0
-1
17
14
-41
0
0
0
0
0
-18
28
8
-13
0
0
0
0
0
-2
-7
2
46
0
0
0
0
1
0
-12
0
-5
0
0
0
0
2
-13
-7
6
-5
0
0
0
0
0
0
7
-24
-8
0
0
0
0
0
2
-15
12
34
0
0
0
0
-1
-5
-12
-6
-10
0
0
0
0
0
14
6
0
-66
0
0
0
0
0
-4
13
29
-57
0
0
0
0
0
-2
0
5
-57
0
0
0
1
1
0
-2
1
-42
0
36
-5
4
33
-27
-7
-37
-31
0
0
0
-29
0
0
-7
55
0
0
0
0
0
0
1
23
-36
0
0
0
0
0
0
0
-7
-44
0
0
0
0
0
0
11
-19
8
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
-1
-5
-23
33
0
0
0
0
0
2
0
1
3
0
0
0
0
0
29
-22
-25
12
0
0
0
0
-2
2
0
-21
71
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
4
17
0
0
0
0
0
-1
-4
-38
9
0
0
0
0
-2
1
0
-2
31
0
0
0
0
0
0
2
-2
-46
0
0
0
0
-1
-5
3
3
6
0
0
0
0
4
-9
28
1
-5
0
0
0
0
-2
-1
-7
-2
60
-26
0
0
0
0
0
0
12
13
24
0
0
0
0
0
0
-15
22
-21
0
0
0
0
0
24
30
56
-66
0
0
0
0
0
0
13
10
-63
0
0
0
0
0
1
-63
39
22
0
0
0
0
-1
0
0
16
15
0
0
0
1
1
-8
11
69
33
0
0
0
3
2
0
-4
-70
6
-15
0
0
0
0
0
-12
28
-24
-21
0
0
0
4
0
-30
-47
-7
8
0
0
0
0
-3
14
42
-11
11
0
0
0
0
2
-1
-1
-22
-6
0
0
0
-1
1
-50
71
-7
9
0
0
13
2
3
23
36
63
-10
0
0
21
-4
22
21
31
-23
23
0
0
0
0
1
-35
-30
0
0
0
4
0
0
-3
-34
11
0
0
0
0
0
0
0
7
15
0
0
0
0
0
-1
17
-12
-49
0
0
0
0
0
0
-1
-8
64
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
-3
-21
-7
15
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
12
10
0
0
0
0
0
0
3
-16
-4
0
0
0
0
0
2
0
5
20
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
-2
-1
0
-11
0
0
0
0
0
0
1
51
28
-4
0
0
-16
0
0
0
-52
97
-65
0
0
0
0
0
0
17
25
-34
0
0
0
0
0
-3
-24
0
-21
0
0
0
0
0
0
-29
62
-7
0
0
-2
0
0
0
15
-41
17
0
0
0
0
0
0
-8
22
-54
0
0
0
0
0
6
15
38
-76
0
0
0
0
0
-3
-36
38
16
0
0
-1
0
0
-1
22
37
20
-41
0
0
0
0
0
-13
20
-45
41
0
-4
0
0
0
14
42
-89
27
0
0
0
0
0
-13
-8
17
-44
0
7
0
0
0
-2
-18
15
-15
0
0
0
0
0
-34
-37
16
15
0
-46
-7
27
23
-60
21
12
35
0
0
0
0
-2
-7
52
0
0
0
0
0
0
5
-67
36
0
0
0
0
0
0
0
63
-51
0
0
0
0
0
0
-11
40
10
0
0
0
0
0
0
0
-10
-6
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-25
0
5
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
8
-29
0
0
0
0
1
0
0
8
-22
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-7
14
0
0
0
0
2
3
0
0
-16
0
0
0
0
0
2
0
-9
-42
8
0
0
0
0
0
3
33
-28
49
0
0
0
0
0
0
18
-115
3
0
0
0
0
0
-9
-56
44
35
0
0
0
0
0
0
8
20
-70
0
0
0
0
0
0
-8
20
-35
0
0
0
0
0
0
-2
1
-7
0
0
0
0
0
-1
-13
29
-6
0
0
0
0
0
0
2
-27
4
9
0
0
0
0
0
-5
1
-107
42
0
0
0
0
0
-28
-1
48
-15
0
0
0
0
0
43
-10
-69
-12
0
0
0
0
0
-1
1
-6
25
0
0
0
0
0
-4
-25
-37
40
0
0
0
0
0
8
-1
-16
-26
0
0
17
15
20
-52
70
-23
-26
0
0
0
-4
-9
70
-20
0
0
0
0
0
0
0
-27
2
0
0
0
0
0
0
-14
-38
5
0
0
-16
0
0
0
18
-4
18
0
0
0
0
0
0
13
3
8
0
0
0
0
0
0
-7
-21
-5
0
0
0
0
0
0
6
-9
22
0
0
0
0
0
-1
6
-22
-19
0
0
0
0
0
-1
13
-25
50
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
6
-20
34
0
0
-33
0
0
-1
7
4
6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
1
-5
-4
7
0
0
0
0
0
-1
2
-5
-34
55
0
0
0
0
0
1
-57
60
-8
0
0
0
0
0
0
-10
-4
15
0
25
0
0
0
1
-44
-12
10
0
0
0
0
0
-5
13
-1
-12
0
0
0
0
0
-1
3
14
10
0
0
0
0
0
0
5
-3
-6
0
-17
0
0
0
-1
-28
-7
-18
0
0
0
0
0
2
-10
45
8
4
0
1
0
0
1
-44
-1
-17
27
0
0
0
0
0
36
-10
-18
-27
34
0
0
0
0
-1
-19
-6
-44
0
0
0
0
0
-13
13
-13
56
0
0
0
0
-1
14
14
-40
-38
0
0
0
0
0
1
-18
-32
12
-45
25
-7
-106
-62
-65
-11
30
2
0
0
6
0
-2
-38
55
0
0
0
0
0
0
-1
13
46
0
0
0
0
1
0
0
14
-14
0
0
0
0
0
0
-34
74
0
0
0
0
0
0
2
6
-36
13
0
0
0
0
0
0
4
-12
-21
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
4
19
6
-48
0
0
0
0
0
-1
-1
22
-20
0
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
-9
39
0
0
0
0
0
0
-8
-44
13
0
0
0
0
0
0
-4
-1
15
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
-2
1
0
3
0
0
0
0
-3
1
-33
27
-19
0
0
0
0
0
1
-5
-15
45
30
0
0
0
0
0
0
-54
18
23
0
0
0
0
0
1
-10
-32
12
0
0
0
0
-2
5
-56
-3
-18
0
0
0
0
0
-2
0
-1
1
0
0
0
0
0
0
12
-17
10
0
0
0
0
1
0
0
-8
-16
0
0
0
0
-1
5
-52
60
-71
0
0
0
0
-1
0
0
-8
-20
59
0
0
0
0
0
15
5
-85
9
0
0
0
0
0
2
25
-68
13
0
0
0
-1
-3
-50
51
3
-61
0
0
2
0
0
3
4
-46
11
0
0
0
-1
0
6
-24
-30
27
0
0
-14
-2
0
4
-20
38
25
0
0
-12
-20
-23
0
55
-16
35
0
0
0
0
7
-4
21
0
0
0
10
0
0
0
-23
41
0
0
0
0
0
0
2
4
-3
0
0
0
2
0
0
-4
22
40
0
0
0
0
0
1
1
-16
12
0
0
0
0
0
0
3
6
-18
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
45
-38
-5
0
0
0
0
0
0
0
1
39
0
0
0
-1
0
0
0
0
-11
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
-2
0
-9
2
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
-5
-6
0
0
0
-6
0
-2
-24
4
-9
0
0
0
0
0
0
-8
-4
9
26
0
0
29
0
0
0
20
-32
-28
0
0
0
0
0
0
-13
5
-4
0
0
0
0
-1
-2
25
1
-81
0
0
0
0
0
0
-2
-8
20
0
0
-9
0
0
2
4
5
-38
0
0
0
0
0
0
0
-10
-20
0
0
0
0
0
2
6
-5
-32
0
0
0
0
0
-1
3
-36
-15
42
0
-21
0
0
0
0
-55
26
39
0
0
0
0
0
-5
-1
-19
-21
0
-14
0
0
-1
-1
7
-1
7
0
0
0
0
0
2
-13
26
25
0
7
0
0
0
-8
-5
-9
44
0
0
-5
0
-1
8
3
8
0
0
-19
25
-37
-13
-44
-21
26
5
0
0
-2
0
-1
18
80
0
0
0
0
0
0
-2
37
-15
0
0
0
0
0
-4
4
-45
43
0
0
0
0
0
0
5
-16
26
0
0
0
0
0
-3
1
-14
6
0
0
0
0
0
0
-4
1
-52
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
-1
4
-6
26
0
0
0
0
1
-1
0
9
-9
0
0
0
0
0
1
0
6
46
0
0
0
0
-3
0
0
9
-19
0
0
0
0
0
-1
-6
54
3
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-3
5
0
0
0
0
18
-10
0
0
-17
0
0
0
0
-1
-2
-25
31
45
0
0
0
0
9
2
0
-8
3
14
0
0
0
0
0
-1
-51
-12
19
0
0
0
0
0
0
4
1
2
0
0
0
2
0
-8
-9
-5
-34
0
0
0
0
0
0
-2
5
18
0
0
0
0
0
0
1
-11
18
0
0
0
0
0
-1
0
1
-78
0
0
0
1
-2
4
10
-5
-38
0
0
0
-29
1
0
0
39
-42
20
0
0
0
0
0
-13
50
-72
20
0
0
4
-1
0
0
12
-21
-8
0
0
0
0
-3
-8
3
5
-13
0
0
-3
0
0
1
-8
12
-14
0
0
0
0
3
-5
4
-30
-4
0
0
-23
0
-1
4
7
1
-26
0
0
-13
-33
29
-3
-12
-27
29
0
0
42
-16
21
-21
28
0
0
0
31
-17
0
-55
34
25
0
0
0
0
-30
2
32
-52
34
0
0
-18
27
-2
-42
-45
-7
15
0
0
0
0
46
-69
30
-25
21
0
0
0
-6
-24
25
-13
-73
24
0
0
0
0
-42
-32
78
5
-28
0
0
-14
-31
-15
-45
0
-10
-8
0
0
0
0
-38
2
-28
10
9
0
0
0
40
24
49
119
15
-54
0
0
0
0
5
-47
-42
2
42
0
0
-13
-11
-11
-18
-10
-12
-38
0
0
0
0
12
29
5
4
32
0
0
0
29
-12
-17
-31
63
0
0
0
0
0
44
67
26
-125
-33
0
0
-5
6
-6
-41
29
27
-8
0
0
0
0
38
58
3
-17
38
-1
0
0
-37
-32
-18
-70
-67
23
18
0
0
0
-19
-63
19
-20
102
-7
0
-28
-88
16
-18
19
42
-18
4
0
0
0
30
16
16
-24
-33
12
0
0
51
24
-65
60
-52
4
-21
0
0
0
4
15
-1
3
54
-17
0
66
74
14
41
-19
26
-46
-13
0
0
0
17
-33
40
-35
-13
-3
19
0
51
-28
-27
-46
29
-18
-11
13
0
0
54
63
-31
-28
14
-4
-17
19
-32
-28
20
37
-78
-26
15
-11
0
0
28
-29
23
-16
36
-27
2
0
-70
17
-48
2
4
-16
-9
24
0
0
-23
53
37
-24
13
-26
-4
-29
36
-8
-7
33
20
8
-36
-19
0
0
26
-41
-9
-17
26
0
0
0
0
-67
-9
-24
19
20
0
0
0
0
-19
15
72
-2
4
0
0
0
0
-11
1
46
-30
2
0
0
0
0
-1
72
94
-70
19
0
0
0
0
26
51
-22
-58
2
0
0
0
0
-4
49
0
-8
-58
0
0
0
0
2
-24
15
-28
-34
0
0
0
0
17
-16
17
-8
-14
0
0
0
0
0
-17
18
9
-5
0
0
0
0
24
-50
9
45
0
0
0
0
0
-4
1
29
48
-54
0
0
0
0
-28
25
28
-32
23
0
0
0
0
0
-1
3
-11
29
0
0
0
0
1
74
53
-51
-1
0
0
0
0
1
-12
-69
5
-8
0
0
0
0
-32
10
-5
57
42
0
0
0
0
-2
53
-53
11
-13
0
0
0
0
-8
40
21
-42
13
0
0
0
0
-1
1
50
-23
51
0
0
0
0
19
45
50
-24
21
0
0
0
0
-1
0
-2
-61
40
0
0
0
0
16
28
-30
58
-28
0
0
0
0
-8
-13
-20
41
18
0
0
0
0
32
-52
19
-31
61
0
0
0
0
0
25
-20
-50
40
0
0
0
0
-31
59
2
-79
84
0
0
0
0
0
-35
42
-28
5
0
0
0
0
17
-6
42
7
-30
0
0
0
0
58
-7
67
3
-25
0
0
0
0
29
-23
51
-95
62
0
0
0
0
-4
9
59
21
0
0
0
0
0
0
-15
-59
-65
19
0
0
0
-19
22
66
-30
8
19
0
0
0
0
14
52
-27
-41
18
0
0
0
17
0
-6
60
-24
27
0
0
0
0
0
-3
-14
-41
8
0
0
0
27
0
10
-59
12
0
0
0
0
0
0
-15
24
-16
-21
0
0
0
-6
0
-6
28
18
-54
0
0
0
0
0
-6
43
12
10
0
0
0
29
1
5
21
-48
-13
0
0
0
0
0
17
51
-73
-33
0
0
0
8
0
22
-81
-33
59
0
0
0
0
0
0
11
-67
10
0
0
0
-32
0
-25
43
20
5
0
0
0
0
0
2
56
-10
-57
0
0
0
-36
0
-24
21
14
4
0
0
0
0
0
7
38
-79
34
0
0
0
-66
-17
-24
-6
-25
127
0
0
0
0
1
-2
43
-30
37
0
0
0
4
0
-2
-87
-12
67
0
0
0
0
0
0
25
-8
53
0
0
0
6
0
6
-39
32
48
0
0
0
0
0
-3
-14
62
25
0
0
0
2
0
4
1
-38
23
0
0
0
0
0
-7
-4
-21
23
0
0
0
23
-3
10
-19
14
15
0
0
0
0
0
1
41
-61
8
0
0
0
-1
0
2
-17
24
-52
0
0
0
0
0
0
33
-40
35
0
0
0
103
0
-8
-11
-46
-5
0
0
0
0
3
0
-23
-28
-6
0
0
0
-1
3
-146
-7
27
-12
0
0
0
0
-5
75
6
21
-38
0
0
0
0
0
-35
-13
-28
23
0
0
0
0
39
14
50
14
-8
0
0
0
0
29
-2
-17
-35
19
0
0
0
0
59
-34
-27
-46
17
0
0
0
0
0
7
-3
21
-31
0
0
0
0
-6
-10
-47
47
23
0
0
0
0
1
49
-10
-35
10
0
0
0
0
0
55
26
-35
-6
0
0
0
0
0
1
8
-32
0
0
0
0
0
-11
-64
-42
45
18
0
0
0
0
0
-62
19
-47
78
0
0
0
0
-6
39
-47
-8
17
0
0
0
0
0
-2
-16
-11
3
0
0
0
0
1
-30
40
-23
-30
0
0
0
0
-1
-2
12
-1
-13
0
0
0
0
-1
-25
38
-48
-6
0
0
0
0
-1
4
8
1
-6
0
0
0
0
-12
-3
-38
-97
44
0
0
0
0
2
0
-15
-13
5
0
0
0
0
-4
24
21
-131
30
0
0
0
0
0
-5
-11
-22
-15
0
0
0
0
2
-6
22
-32
31
0
0
0
0
0
-20
1
8
49
0
0
0
0
0
-1
3
-8
40
0
0
0
0
0
0
5
-5
-41
0
0
0
0
0
-3
-51
47
75
0
0
0
0
-4
-6
30
-41
29
0
0
0
0
-20
6
6
-35
56
0
0
0
0
1
-3
29
-18
-33
0
0
0
0
-27
-69
43
-11
41
0
0
0
0
40
1
37
-54
-4
0
0
0
0
1
73
-77
-33
-3
0
0
0
-8
-4
-30
-74
2
18
0
0
0
0
13
65
38
-1
-48
0
0
-42
-31
-4
63
63
19
-13
0
0
0
0
0
-5
54
-21
0
0
0
0
-10
-2
19
78
-22
-45
0
0
0
0
3
12
76
19
-24
0
0
11
1
1
-32
5
3
6
0
0
0
0
0
0
15
21
-3
0
0
0
0
0
-15
39
-12
-12
0
0
0
0
0
-16
-27
-52
39
0
0
48
-12
0
3
-43
8
41
0
0
0
0
0
-3
9
26
-29
0
0
0
2
0
-5
-29
-6
26
0
0
0
0
0
-9
58
45
-49
0
0
55
0
-1
-11
24
-39
-16
0
0
0
0
3
8
-44
-16
67
0
0
0
4
0
-8
78
29
-68
0
0
0
0
2
0
-106
64
43
0
0
-2
-6
1
-30
0
-18
32
0
0
0
0
0
4
41
-37
15
0
0
0
47
0
2
45
-60
-30
0
0
0
0
1
-3
-16
-25
-1
0
0
44
0
2
2
-22
-52
2
0
0
0
0
0
1
5
-15
-31
0
0
0
0
0
1
3
-9
29
0
0
0
0
0
1
-88
22
54
0
0
-33
2
0
48
-42
7
-4
0
0
0
0
0
-2
-48
-5
32
0
0
0
10
0
-1
4
-52
22
0
0
0
0
-8
2
-48
-7
35
0
0
9
20
-26
-65
-100
-45
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
34
43
-6
0
0
0
0
0
1
-8
-30
19
0
0
0
0
0
5
-17
-79
46
0
0
0
0
0
0
19
-19
-57
0
0
0
0
-30
-42
2
50
-10
0
0
0
0
0
-1
-2
-44
9
0
0
0
0
2
-2
-27
-27
15
0
0
0
0
2
-7
-14
-8
11
0
0
0
0
-12
57
37
25
-8
0
0
0
0
0
0
-14
35
30
0
0
0
0
0
7
2
-30
12
0
0
0
0
0
0
-3
-15
42
0
0
0
0
0
-3
-7
1
-16
0
0
0
0
-1
0
1
13
14
0
0
0
0
0
-1
-1
6
38
0
0
0
0
0
0
-18
64
-26
0
0
0
0
-64
14
81
-41
65
0
0
0
0
0
-10
-25
-56
26
0
0
0
0
0
-21
-18
37
28
0
0
0
0
0
6
-3
-57
46
0
0
0
0
-26
-90
50
-86
119
0
0
0
0
-8
4
-11
1
38
0
0
0
0
0
0
16
19
14
0
0
0
0
0
-3
30
43
11
0
0
0
0
100
-27
33
2
-1
0
0
0
0
0
-1
-8
8
-10
0
0
0
0
-3
-8
12
-10
2
0
0
0
0
0
8
-17
-64
3
0
0
0
0
44
-57
-9
24
2
0
0
0
0
-1
16
-36
-27
-10
0
0
0
0
20
-22
10
-67
18
0
0
0
0
0
-14
-6
-23
50
0
0
0
0
0
0
3
-47
76
0
0
0
55
0
0
3
14
10
0
0
0
0
0
0
-2
-29
-23
0
0
0
0
0
0
-44
28
9
0
0
0
0
0
-1
-6
19
-1
0
0
0
-2
0
-21
-40
16
76
0
0
0
0
0
0
8
-62
8
0
0
0
0
0
6
-17
-64
-13
0
0
0
0
0
1
10
-20
26
0
0
0
-4
0
0
7
-38
2
0
0
0
0
0
0
-4
-28
1
0
0
0
1
0
0
9
29
-40
0
0
0
0
0
0
0
-7
9
0
0
0
-4
0
0
0
-9
40
0
0
0
0
0
-1
0
-6
5
0
0
0
-3
0
-1
-5
-10
37
0
0
0
0
0
0
-10
-5
19
0
0
0
60
0
-5
13
13
-46
0
0
0
0
0
0
7
-79
41
0
0
0
1
0
4
6
27
41
0
0
0
0
0
0
7
-4
17
0
0
0
-19
0
1
26
43
29
0
0
0
0
0
0
-3
-9
46
0
0
0
0
0
0
2
39
38
0
0
0
0
0
2
-2
6
-42
0
0
0
45
1
-49
-28
60
27
0
0
0
0
0
0
-3
-57
75
0
0
0
0
0
-1
-16
-97
33
0
0
0
0
0
0
21
-15
-24
0
0
0
12
0
-5
-6
5
-24
0
0
0
0
-2
5
-5
1
-16
0
0
0
-17
0
8
-54
-5
-20
0
0
0
0
8
-25
-32
-11
13
0
0
0
0
0
0
0
-72
41
0
0
0
0
-2
-4
-1
3
30
0
0
0
0
0
9
-9
-42
24
0
0
0
0
-1
8
-4
47
-9
0
0
0
0
0
-8
2
-8
-19
0
0
0
0
-1
0
3
-18
-14
0
0
0
0
0
7
65
-46
-24
0
0
0
0
-1
1
2
-41
36
0
0
0
0
0
0
6
19
-13
0
0
0
0
0
0
-1
35
-38
0
0
0
0
0
3
-13
-23
78
0
0
0
0
2
41
37
-20
23
0
0
0
0
0
0
-29
10
54
0
0
0
0
1
5
-6
-11
-63
0
0
0
0
0
25
24
-14
-8
0
0
0
0
-1
-2
-13
-3
34
0
0
0
0
1
-1
3
-59
67
0
0
0
0
0
0
2
-3
32
0
0
0
0
0
-2
14
-2
-23
0
0
0
0
0
4
10
-10
-16
0
0
0
0
0
0
7
-25
-34
0
0
0
0
0
0
-4
38
-17
0
0
0
0
0
-6
-21
-14
20
0
0
0
0
5
-8
-31
38
16
0
0
0
0
0
0
-5
17
12
0
0
0
0
-1
1
-1
-77
42
0
0
0
0
1
4
0
48
-36
0
0
0
0
-4
13
4
-80
22
0
0
0
0
0
-1
2
-3
4
0
0
0
0
3
-12
0
33
26
0
0
0
0
6
-11
25
-1
-27
0
0
0
0
0
-2
1
16
21
0
0
0
0
0
0
-2
11
62
0
0
0
0
0
-3
-8
14
-1
0
0
30
-6
0
-5
52
-21
-13
0
0
0
0
0
1
-5
-24
19
0
0
0
1
0
0
-44
34
-41
0
0
0
0
0
0
0
-50
-8
0
0
-12
0
0
-48
-58
17
41
0
0
0
0
0
0
4
-12
-33
0
0
0
8
0
-1
-23
-33
33
0
0
0
0
0
0
-3
-61
-9
0
0
17
0
0
-1
-1
-34
11
0
0
0
0
0
-2
-8
9
9
0
0
0
-1
0
0
10
22
-50
0
0
0
0
0
0
-9
-51
77
0
0
-4
0
0
5
54
-44
3
0
0
0
0
0
3
1
49
-33
0
0
0
0
0
1
-49
-29
50
0
0
0
0
0
4
5
4
-5
0
0
64
0
0
-9
8
-70
37
0
0
0
0
0
0
-4
-8
20
0
0
0
0
0
0
-4
-33
5
0
0
0
0
0
-3
0
-13
12
0
0
-12
0
0
6
74
-36
-28
0
0
0
0
0
4
-1
-21
-46
0
0
0
-1
0
-2
4
-9
-3
0
0
0
0
0
-1
-7
-11
24
0
0
5
0
0
1
-65
-32
21
0
0
0
0
0
2
10
-26
10
0
0
0
-75
0
0
68
-35
2
0
0
0
0
0
3
-9
-25
-14
0
0
-26
-2
0
9
-1
8
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-67
-37
8
77
0
0
0
0
0
-15
28
-18
6
0
0
0
0
1
-32
-4
-22
39
0
0
0
0
-1
26
-34
-38
12
0
0
0
0
-24
0
15
-12
101
0
0
0
0
1
-2
-60
-6
82
0
0
0
0
-5
-8
34
40
-16
0
0
0
0
0
-33
74
-2
-24
0
0
0
0
51
0
36
-42
-15
0
0
0
0
0
14
5
-7
58
0
0
0
0
0
23
14
-5
40
0
0
0
0
0
-8
-74
35
17
0
0
0
0
16
-88
60
3
71
0
0
0
0
0
0
22
-74
29
0
0
0
0
51
12
15
29
-19
0
0
0
0
0
-23
43
11
-4
0
0
0
0
10
-47
46
-6
76
14
0
0
0
0
0
16
-68
-55
17
0
0
0
0
1
51
-44
32
11
0
0
0
-2
10
-11
-45
-17
10
0
0
0
-8
75
22
46
23
3
0
0
0
-1
-4
31
-68
30
-14
0
0
0
-2
-23
3
14
111
-38
0
0
0
0
-13
29
14
14
-36
0
0
0
-44
-30
21
41
24
22
0
0
0
0
-1
7
-87
-23
13
0
0
0
-30
56
4
-8
-12
-1
0
0
0
0
22
10
6
7
-37
0
0
0
50
99
-61
35
13
-15
0
0
0
-8
-13
-39
19
7
-4
0
0
0
-12
-31
14
-51
-41
26
0
0
0
-20
43
-3
47
15
9
0
0
0
0
13
4
-45
29
0
0
0
-31
6
46
6
-61
45
0
0
0
0
0
-2
-34
-75
65
0
0
0
23
0
-2
-25
-46
29
0
0
0
0
0
-4
5
37
-17
0
0
0
9
0
-4
3
1
-18
0
0
0
0
0
0
13
-29
-55
0
0
0
0
0
3
-57
27
-26
0
0
0
0
0
3
11
-67
17
0
0
0
-12
0
28
-29
8
22
0
0
0
0
-5
6
-50
26
-16
0
0
0
3
0
2
21
-24
-19
0
0
0
0
0
0
-13
-7
13
0
0
0
-25
0
-29
45
-82
73
0
0
0
0
0
-20
-1
-21
15
0
0
0
37
0
15
28
-78
21
0
0
0
0
0
5
-10
43
-23
12
0
0
4
-6
-37
12
-49
68
24
0
0
0
0
0
1
-72
26
-4
0
0
4
0
0
82
-29
11
-16
0
0
0
0
0
-7
45
-57
16
0
0
21
1
0
1
50
13
-49
0
0
0
0
-2
0
-18
-15
-7
0
0
-2
0
2
0
46
-6
-15
0
0
0
0
0
51
-62
-36
34
0
0
-57
-2
-6
-21
-34
57
16
0
0
0
3
-2
-4
23
-20
-8
0
0
2
0
0
14
141
-42
-73
0
0
0
0
2
20
31
-17
13
0
0
32
0
-2
-38
-16
10
-7
0
0
0
-1
27
18
-41
-25
-23
0
0
10
-5
-28
51
16
40
-19
0
0
0
-1
-1
22
-10
0
0
0
0
0
0
-1
13
32
15
0
0
0
0
9
-17
3
-10
8
0
0
0
0
1
12
3
-10
103
0
0
0
0
-1
-11
0
-26
-15
0
0
0
0
0
0
-12
3
-7
0
0
0
0
0
3
-5
4
-3
0
0
0
0
0
-41
32
-7
9
0
0
0
0
0
-1
-13
22
-6
0
0
0
0
0
-5
0
-9
40
0
0
0
0
-8
-20
10
-81
80
0
0
0
0
2
-3
-39
-8
3
0
0
0
0
0
-1
29
-49
14
0
0
0
0
0
3
1
8
29
0
0
0
0
-1
-13
-31
29
-17
0
0
0
0
-5
20
28
-53
27
0
0
0
0
-1
44
17
32
-56
-11
0
0
0
0
0
43
-43
65
-11
0
0
0
2
0
0
-38
-74
-2
0
0
0
0
0
-24
-45
-4
5
0
0
0
1
1
27
-25
35
-13
0
0
0
0
0
-7
-25
-48
17
0
0
0
0
0
-24
-8
6
0
0
0
0
1
-9
2
-46
39
-15
0
0
0
1
9
-25
-3
0
9
0
0
0
0
0
2
6
-11
-6
0
0
0
-2
-1
-8
-1
-6
27
0
0
0
-4
-8
4
-16
25
38
0
0
0
-5
-28
-4
-8
30
14
0
0
0
0
-1
-1
-22
53
-35
0
0
0
-4
-2
14
-12
14
-15
0
0
0
-9
10
-41
0
-15
-8
0
0
0
0
-4
17
28
33
0
0
0
0
0
3
-1
3
-1
0
0
0
0
3
9
-33
-17
18
0
0
10
2
0
15
13
-10
-5
0
0
0
0
0
0
4
-12
23
0
0
0
-4
0
-1
-24
-35
44
0
0
0
0
0
0
-4
-41
1
0
0
-2
0
-2
-16
15
-52
5
0
0
0
0
0
0
49
53
-5
0
0
0
0
0
-4
22
-1
-2
0
0
0
0
0
-39
0
-29
22
0
0
-34
-3
0
15
29
-26
-12
0
0
0
0
0
0
6
-41
-5
0
0
0
0
0
0
-48
26
-6
0
0
0
0
0
-4
21
-42
8
0
0
-33
0
-1
-9
14
0
-10
0
0
0
0
1
1
-2
48
22
-11
0
0
0
0
-2
63
-50
29
-23
0
0
0
0
8
-7
-58
1
-21
0
-13
0
0
4
10
-14
48
-7
0
0
0
0
0
0
1
21
-11
0
0
4
0
0
6
-13
46
0
0
0
0
1
2
-1
-53
-6
-19
0
-45
0
0
-8
-1
-33
41
13
0
0
0
0
1
3
1
26
-54
0
0
0
0
-4
-12
-25
-23
71
0
0
0
1
0
15
5
-18
-17
0
11
0
0
-3
-42
-46
41
27
0
0
0
0
-7
-8
10
-64
74
0
0
-4
0
0
7
1
44
-4
0
0
0
2
-4
-53
-31
170
-42
0
22
13
0
-11
-14
-64
-39
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
36
51
22
-1
0
0
0
0
0
0
-14
-62
5
0
0
0
0
1
5
23
-41
39
0
0
0
0
0
0
7
12
19
0
0
0
0
-48
8
29
40
-18
0
0
0
0
0
-3
-18
-42
-1
0
0
0
0
0
2
-5
42
-21
0
0
0
0
0
0
45
-2
63
0
0
0
0
65
21
14
-70
-10
0
0
0
0
0
-5
-13
-21
-26
0
0
0
0
0
5
-11
-13
32
0
0
0
0
0
5
-28
19
20
0
0
0
0
68
-7
-18
-35
39
0
0
0
0
0
-1
-29
-29
27
0
0
0
0
-5
41
-7
-3
-32
0
0
0
0
2
-97
32
-29
-25
0
0
0
0
-25
8
-11
94
5
12
0
0
0
0
3
-14
-47
49
19
0
0
0
0
-5
-6
-12
57
-18
0
0
0
0
1
-21
12
-13
-2
0
0
0
21
20
64
77
-6
-2
0
0
0
-1
5
-7
5
2
-28
0
0
0
-8
5
5
-42
18
-33
0
0
0
-1
18
-29
-29
13
26
0
0
0
-17
-35
112
-61
29
-1
17
0
0
0
-1
-24
-11
2
-14
25
0
0
0
-26
-55
22
69
-11
17
0
0
0
-8
20
14
-14
6
-8
0
0
-29
-25
137
-5
-4
-22
-10
0
0
-1
-2
5
-28
19
-81
31
0
0
31
48
-43
7
-15
-29
6
0
0
4
-12
-19
-44
-14
-21
0
0
0
0
0
8
45
-29
0
0
0
56
0
2
-19
14
-25
0
0
0
0
0
0
0
28
-26
0
0
0
0
0
0
-5
-15
27
0
0
0
0
0
0
-46
-10
77
0
0
0
8
0
-5
51
-69
-16
0
0
0
0
0
0
0
7
21
0
0
0
0
0
0
35
19
12
0
0
0
0
0
-3
66
-18
-1
0
0
0
13
0
-16
-5
-24
55
0
0
0
0
0
0
0
-2
-22
0
0
0
-3
0
-1
21
42
-2
0
0
0
0
0
-1
-6
-23
66
0
0
0
7
0
0
-3
-50
-8
0
0
0
0
0
0
1
-89
35
0
0
0
19
0
-17
1
-21
49
0
0
0
0
0
0
-34
-52
72
7
0
0
-19
2
-3
25
-67
-3
67
0
0
0
0
0
-4
-19
57
-14
0
0
0
0
0
4
-37
28
49
0
0
0
0
0
-26
-27
-36
62
0
0
-42
-2
-2
33
-46
62
-51
0
0
0
0
1
3
19
-24
30
0
0
0
0
0
21
-21
-23
-25
0
0
0
0
0
-76
20
82
-31
21
0
-30
0
10
-25
-39
34
-26
13
0
0
0
-2
0
-5
-37
-81
-19
0
-6
0
-2
-13
-49
34
-68
-11
0
0
0
-4
-17
-15
15
-9
13
0
-61
0
2
14
-9
26
-22
-32
0
0
-1
5
13
-90
5
-26
-14
0
-22
-2
-21
-17
-16
50
-54
-34
0
0
-1
1
-5
19
36
0
0
0
0
0
0
0
-46
-21
0
0
0
0
0
1
19
11
5
0
0
0
0
0
1
4
-44
46
0
0
0
0
2
1
-8
-8
-57
0
0
0
0
0
-1
2
-2
-3
0
0
0
0
0
-7
0
1
13
0
0
0
0
0
1
-47
0
8
0
0
0
0
7
13
-12
-31
2
0
0
0
0
0
0
4
-65
-4
0
0
0
0
-2
-5
4
-25
41
0
0
0
0
0
1
8
-54
20
0
0
0
0
1
0
-3
29
25
0
0
0
0
0
0
-10
-8
-4
0
0
0
0
-1
0
-27
-40
43
0
0
0
0
1
33
16
-39
-6
0
0
0
0
-9
-27
5
47
83
-31
0
0
0
0
0
-3
-15
6
8
0
0
0
-1
-1
3
-35
6
32
0
0
0
0
0
-29
-33
4
80
0
0
0
-5
-1
12
-9
-5
-9
0
0
0
0
-1
-2
-8
-40
41
0
0
0
0
-2
0
14
48
-29
0
0
0
0
-2
21
-45
-11
-3
0
0
0
-23
-54
1
-16
37
13
15
0
0
0
-3
1
-121
-28
-34
-10
0
0
0
7
-13
-39
-7
-92
38
0
0
-6
1
-3
-27
-25
-108
2
0
0
-24
9
-13
10
76
-65
25
0
0
0
2
11
52
53
-67
-26
0
0
-28
9
-1
73
33
-67
1
0
0
-6
-2
-16
-71
15
-45
24
0
0
0
-2
-4
-6
24
0
0
0
0
0
0
0
-14
42
0
0
0
0
0
0
1
-39
-12
0
0
13
6
0
1
-17
-68
30
0
0
0
0
0
0
-3
5
-12
0
0
0
0
0
0
-42
-31
11
0
0
0
0
0
-1
3
5
3
0
0
9
0
0
-4
-45
24
12
0
0
0
0
0
0
-3
-55
61
0
0
0
0
0
0
-8
41
-46
0
0
0
0
0
-8
2
-12
-12
0
0
39
0
0
2
9
-42
10
0
0
0
0
0
0
-33
7
17
0
0
0
-3
0
0
-14
-41
54
0
0
0
0
0
-15
-3
-14
35
0
0
-45
0
0
16
-4
-12
-9
0
0
0
0
0
0
-1
-34
-43
19
0
0
0
0
-1
4
17
4
-41
0
0
0
0
1
-17
-34
12
-32
0
21
0
0
-5
34
19
-13
-22
0
0
0
0
0
0
-2
-88
-16
0
0
0
0
0
-27
-79
58
19
0
0
0
0
0
-4
3
-73
60
0
-33
0
0
-21
11
19
-23
55
0
0
0
0
-3
2
2
15
-80
5
0
-1
0
-1
-13
17
23
-38
-41
0
0
0
1
-7
-6
29
-42
-7
-98
0
0
-26
-2
26
32
-32
-7
0
0
0
4
27
-20
27
-63
11
0
4
0
0
8
-23
-36
18
-20
0
0
0
-5
-6
-141
-52
-58
51
2
-5
-1
-7
-76
36
-10
-62
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-52
-93
1
46
0
0
0
0
-7
-57
-62
-98
67
0
0
0
0
22
27
-26
43
-10
0
0
0
0
-3
19
19
-46
-8
0
0
0
0
-11
-66
-58
23
56
0
0
0
0
0
40
16
-4
4
0
0
0
0
-6
27
-32
0
22
0
0
0
0
0
-34
68
16
-48
0
0
0
0
-3
-15
16
-68
51
0
0
0
0
0
0
-16
1
54
0
0
0
0
3
-53
21
-19
42
0
0
0
0
1
24
-1
5
-9
0
0
0
0
15
8
-22
-53
21
0
0
0
0
0
2
6
-60
13
0
0
0
0
23
6
42
21
-26
0
0
0
0
1
10
-17
10
-8
0
0
0
0
-57
36
-56
15
22
0
0
0
0
0
14
52
-91
37
0
0
0
0
2
-11
35
-117
60
0
0
0
0
0
2
-16
38
-44
0
0
0
0
-16
45
73
-21
-39
0
0
0
0
0
-13
-16
16
3
0
0
0
0
-6
0
9
-10
35
0
0
0
0
0
8
24
-13
85
0
0
0
0
-5
-72
-44
-23
109
0
0
0
0
0
0
-5
34
26
0
0
0
0
-8
19
1
19
-1
0
0
0
0
0
7
25
28
-3
0
0
0
0
-31
-38
-14
35
18
0
0
0
0
4
-8
0
-9
14
0
0
0
0
14
-5
11
-32
48
0
0
0
0
-16
-43
30
34
11
0
0
0
0
0
22
-2
41
-29
0
0
0
-26
8
-12
68
-40
8
0
0
0
0
0
-4
-7
19
33
0
0
0
18
0
-13
10
-21
-24
0
0
0
0
6
-41
23
-3
26
0
0
0
-57
0
41
58
-41
48
0
0
0
0
0
-7
17
-33
13
0
0
0
5
0
-5
8
6
11
0
0
0
0
0
-16
9
-15
3
0
0
0
37
1
2
4
9
6
0
0
0
0
0
-1
1
31
34
0
0
0
7
0
-3
-21
-3
46
0
0
0
0
0
0
-12
-13
-21
0
0
0
6
0
1
0
-23
31
0
0
0
0
0
-2
-4
4
-4
0
0
0
-13
0
10
-7
-10
26
0
0
0
0
0
0
-7
4
-3
0
0
0
1
-5
-10
11
-40
40
0
0
0
0
0
0
0
-13
8
0
0
0
2
0
0
24
-2
16
0
0
0
0
0
0
-15
-87
-5
0
0
0
-9
0
0
21
-49
30
0
0
0
0
0
0
4
-1
-15
0
0
0
-1
0
-1
3
-3
-26
0
0
0
0
0
0
0
-48
48
0
0
0
-52
0
2
-6
-32
39
0
0
0
0
0
0
1
-7
-15
0
0
0
0
0
0
0
-29
-3
0
0
0
0
0
0
-28
-28
9
0
0
0
-8
0
2
19
24
-7
0
0
0
0
1
0
-14
-42
-11
0
0
0
-6
3
-16
-28
-22
31
0
0
0
0
8
13
-58
40
15
0
0
0
0
0
1
-21
11
14
0
0
0
0
0
20
-9
-21
-12
0
0
0
0
0
-2
-18
-1
38
0
0
0
0
1
1
-8
6
40
0
0
0
0
0
0
19
-73
32
0
0
0
0
0
-2
-17
-108
22
0
0
0
0
0
-5
-1
-1
22
0
0
0
0
0
-5
34
23
-34
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-1
24
-16
28
0
0
0
0
0
1
13
6
10
0
0
0
0
0
0
-9
-15
28
0
0
0
0
0
0
-3
-53
44
0
0
0
0
0
0
15
-15
-36
0
0
0
0
0
1
0
13
4
0
0
0
0
0
-3
18
3
-3
0
0
0
0
0
0
2
-18
-43
0
0
0
0
0
5
27
-21
25
0
0
0
0
0
0
-4
-45
9
0
0
0
0
0
1
5
-40
39
0
0
0
0
0
0
0
4
33
0
0
0
0
0
0
-10
-7
20
0
0
0
0
0
0
1
-10
74
0
0
0
0
0
0
17
23
-45
0
0
0
0
0
0
1
0
2
0
0
0
0
0
-2
-34
34
38
0
0
0
0
0
0
45
-24
8
0
0
0
0
0
0
5
-5
-29
0
0
0
0
0
0
2
18
-36
0
0
0
0
0
0
6
-20
59
0
0
0
0
-25
16
-34
14
2
0
0
0
0
0
29
-23
-43
4
0
0
0
0
0
4
29
11
30
0
0
0
0
0
0
-14
10
-21
0
0
30
-11
1
-3
101
-22
-10
0
0
0
0
0
0
-31
-23
8
0
0
0
0
0
-7
-54
-30
88
0
0
0
0
0
0
-5
0
-35
0
0
-9
0
0
5
10
0
-23
0
0
0
0
0
8
-12
-38
50
0
0
0
0
0
0
2
-19
30
0
0
0
0
0
1
15
13
-29
0
0
-8
1
0
-2
16
18
-28
0
0
0
0
0
0
-6
-52
19
0
0
0
0
0
0
-1
8
-2
0
0
0
0
0
1
7
-48
4
0
0
33
0
-1
-3
76
19
-6
0
0
0
0
0
0
29
-24
-3
0
0
0
0
0
1
27
8
0
0
0
0
0
0
-2
6
-27
26
0
0
-56
-2
0
-6
-7
60
61
0
0
0
0
0
0
-29
-33
1
0
0
0
0
0
0
15
-30
-10
0
0
0
0
0
0
-14
-10
8
0
0
11
0
0
3
31
-35
-9
0
0
0
0
0
0
17
-26
35
0
0
0
0
0
0
-25
-3
23
0
0
0
0
0
1
6
8
1
0
0
-39
0
0
-3
63
-3
41
0
0
0
0
0
-6
22
-57
-10
0
0
0
0
0
0
32
0
-35
0
0
0
0
0
3
32
-26
56
0
0
78
16
-5
-50
-12
17
-22
0
0
0
0
7
-71
10
-46
28
0
0
0
0
0
-9
29
-3
24
0
0
0
0
0
30
40
-68
-32
0
0
0
0
0
1
-1
15
10
0
0
0
0
-1
5
3
-43
22
0
0
0
0
0
1
-31
29
-37
0
0
0
0
0
0
25
13
-42
0
0
0
0
0
2
21
40
-23
0
0
0
0
3
-4
-10
-37
-7
0
0
0
0
0
-4
-23
2
-4
0
0
0
0
0
10
19
-10
-31
0
0
0
0
0
0
-24
-31
73
0
0
0
0
-1
-2
-36
-4
66
0
0
0
0
0
0
-2
5
5
0
0
0
0
0
-1
2
-1
17
0
0
0
0
-2
0
-13
-63
43
0
0
0
0
53
-3
-2
2
-16
0
0
0
0
0
-2
5
24
-49
0
0
0
0
0
-1
23
-2
6
0
0
0
0
0
5
-20
5
-8
0
0
0
0
-2
-13
24
33
14
0
0
0
0
0
2
41
-43
-36
0
0
0
0
0
0
1
2
14
0
0
0
0
0
-1
3
-1
-4
0
0
0
0
-55
38
19
-3
-26
0
0
0
0
0
0
-4
-1
23
0
0
0
0
0
0
2
50
-15
0
0
0
0
0
2
-2
6
8
0
0
0
0
2
-46
11
-64
22
0
0
0
0
0
0
5
-73
18
0
0
0
0
-1
-1
-20
28
41
0
0
0
0
-10
-51
46
-15
32
0
0
0
0
0
0
7
-25
95
0
0
0
-9
0
0
-57
-10
50
0
0
0
0
0
0
3
9
50
0
0
0
0
0
1
-10
-5
-10
0
0
0
0
0
0
48
-81
-24
0
0
0
0
0
-2
6
4
-33
0
0
0
0
0
0
2
-9
-14
0
0
0
0
0
0
46
-20
-8
0
0
0
0
0
-1
17
-44
-19
0
0
0
7
0
0
-6
-30
-10
0
0
0
0
0
0
-1
-13
55
0
0
0
0
0
-1
-5
18
-56
0
0
0
0
0
0
5
20
18
0
0
0
0
0
-2
-17
-15
-36
0
0
0
0
0
0
-2
7
4
0
0
0
0
0
0
-27
-4
71
0
0
0
0
0
0
-3
-12
5
0
0
0
37
2
0
-14
-7
17
0
0
0
0
0
0
0
-19
65
0
0
0
0
0
1
1
-1
6
0
0
0
0
0
0
-2
-9
17
0
0
0
0
0
2
-24
3
39
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
7
6
0
0
0
0
0
0
-4
5
4
0
0
0
-19
0
0
5
-47
25
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
-4
-5
21
13
0
0
0
0
0
0
9
-20
61
0
0
0
1
0
-6
3
-14
8
0
0
0
0
0
0
0
-18
12
0
0
0
-5
0
15
-20
-20
-7
0
0
0
0
-1
5
8
46
-18
0
0
0
0
0
0
-6
-64
8
0
0
0
0
0
3
36
-4
-19
0
0
0
0
0
0
25
0
25
0
0
0
0
0
0
20
18
-31
0
0
0
0
0
0
-2
-9
-61
0
0
0
0
0
-1
1
-30
0
0
0
0
0
0
1
0
37
23
0
0
0
0
0
0
-2
-4
16
0
0
0
0
0
-6
0
14
-6
0
0
0
0
0
-2
-7
16
-3
0
0
0
0
0
0
1
42
-13
0
0
0
0
0
0
-10
-2
3
0
0
0
0
0
0
1
3
-58
0
0
0
0
0
0
-1
-1
40
0
0
0
0
0
-4
5
-24
-1
0
0
0
0
2
-2
5
-23
8
0
0
0
0
0
2
5
-29
-9
0
0
0
0
0
1
0
-17
5
0
0
0
0
0
0
0
-18
30
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
-1
0
-5
29
0
0
0
0
0
1
1
18
-33
0
0
0
0
0
0
-4
-12
14
0
0
0
0
0
0
0
-22
-12
0
0
0
0
0
1
-12
-8
8
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
3
9
-8
0
0
0
0
-4
8
13
33
-14
0
0
0
0
0
35
42
-10
-38
0
0
0
0
0
-12
42
-5
-28
0
0
0
0
0
-13
14
-2
48
0
0
-2
0
0
4
17
-30
32
0
0
0
0
0
5
66
-27
-2
0
0
0
0
0
-3
33
-9
-37
0
0
0
0
0
-10
-12
22
-20
0
0
0
0
0
-41
29
-4
18
0
0
0
0
0
3
61
-40
3
0
0
0
0
0
-2
-45
-21
4
0
0
0
0
0
-3
-26
6
39
0
0
-1
0
0
4
-11
0
3
0
0
0
0
0
0
9
8
3
0
0
0
0
0
3
28
-29
1
0
0
0
0
0
2
-2
11
11
0
0
0
0
0
1
-36
52
-42
0
0
0
0
0
48
34
-28
5
0
0
0
0
0
-3
-4
44
3
0
0
0
0
0
6
6
-87
33
0
0
-2
0
0
-29
-18
0
55
0
0
0
0
0
-3
-4
9
-19
0
0
0
0
0
0
-19
-4
20
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-17
-10
26
1
0
0
0
0
0
27
-35
-12
48
0
0
0
0
0
-1
-22
-39
69
0
0
0
0
0
-1
3
6
0
0
0
-4
0
0
1
9
-12
4
0
0
0
0
0
14
-56
-41
61
0
0
0
0
0
-4
62
-5
-60
0
0
0
0
0
1
-71
-21
41
0
0
-5
11
-1
45
-10
-17
75
0
0
0
0
31
42
18
-37
-15
0
0
0
0
0
29
13
-18
9
0
0
0
0
0
-6
-26
0
5
0
0
0
0
0
-16
-19
20
5
0
0
0
0
5
8
8
-1
1
0
0
0
0
0
-6
52
-44
20
0
0
0
0
0
-5
-2
8
8
0
0
0
0
0
7
31
-45
-47
0
0
0
0
1
-8
3
0
23
0
0
0
0
0
-1
-6
-7
-68
0
0
0
0
0
-15
-6
5
15
0
0
0
0
0
10
-6
7
31
0
0
0
0
-4
-3
36
60
35
0
0
0
0
0
0
-7
-11
24
0
0
0
0
-1
21
5
-40
4
0
0
0
0
0
-17
14
60
-11
0
0
0
0
11
-49
59
-13
-3
0
0
0
0
0
0
8
-2
35
0
0
0
0
0
0
-8
-27
13
0
0
0
0
0
2
4
-3
1
0
0
0
0
3
0
-5
-33
50
0
0
0
0
0
0
0
8
43
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
-4
0
-15
-13
0
0
0
0
-20
6
-9
-38
45
0
0
0
0
0
-1
-4
-20
42
0
0
0
0
0
2
2
-35
10
0
0
0
0
0
3
-9
29
13
0
0
0
0
-45
-14
90
3
17
0
0
0
0
0
-2
-8
-13
76
0
0
0
0
-20
-1
-3
15
8
0
0
0
0
55
-11
-12
59
8
0
0
0
0
0
0
-16
35
72
0
0
0
4
0
-1
-41
21
13
0
0
0
0
0
0
1
-44
-24
0
0
0
0
0
0
23
-55
-39
0
0
0
0
0
0
-5
3
18
0
0
0
19
0
2
1
-27
-19
0
0
0
0
0
0
0
-13
-14
0
0
0
0
0
2
16
-24
16
0
0
0
0
0
-1
8
0
-1
0
0
0
-6
0
0
2
-11
-10
0
0
0
0
0
0
0
22
24
0
0
0
4
0
2
-35
-52
99
0
0
0
0
0
0
1
-26
3
0
0
0
8
0
-1
-14
-2
13
0
0
0
0
0
1
0
-52
45
0
0
0
-6
0
1
-10
-28
42
0
0
0
0
0
0
0
38
-8
0
0
0
-5
0
2
-9
-1
14
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
4
-2
-1
0
0
0
0
0
0
0
5
-3
0
0
0
2
0
0
2
-10
22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
-1
-5
0
0
0
0
0
0
0
-14
-93
0
0
0
-9
0
-1
3
28
1
0
0
0
0
0
0
0
-13
30
0
0
0
0
0
0
13
-8
-21
0
0
0
0
0
0
2
-41
-31
0
0
0
5
0
0
3
-70
24
0
0
0
0
0
0
0
-36
0
0
0
0
39
0
2
-42
-64
-6
0
0
0
0
0
15
3
27
-33
0
0
0
0
0
0
2
-26
25
0
0
0
0
0
-1
17
33
17
0
0
0
0
0
0
-8
-9
77
0
0
0
0
0
0
-8
7
-23
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
2
-17
-9
0
0
0
0
0
0
-9
-23
66
0
0
0
0
1
1
-16
-26
61
0
0
0
0
0
0
0
-84
32
0
0
0
0
-2
1
-14
-17
40
0
0
0
0
0
-3
14
-6
61
0
0
0
0
0
0
4
4
-50
0
0
0
0
0
0
0
5
4
0
0
0
0
2
4
-5
-83
41
0
0
0
0
0
0
0
-23
43
0
0
0
0
0
3
-1
-41
47
0
0
0
0
0
0
0
-13
4
0
0
0
0
-1
0
0
-9
5
0
0
0
0
0
0
2
13
-2
0
0
0
0
0
0
0
5
48
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
-13
-3
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
4
-6
13
8
0
0
0
0
0
0
0
-30
-1
0
0
0
0
0
-1
-23
17
11
0
0
0
0
0
0
-3
16
2
0
0
0
0
0
0
-5
-3
-25
0
0
0
0
-3
0
-37
14
-7
0
0
0
0
0
0
46
-39
16
0
0
0
-1
0
1
-6
60
-21
0
0
0
0
0
0
13
-21
41
0
0
-34
1
0
0
-10
-16
71
0
0
0
0
0
0
0
6
-12
0
0
0
0
0
0
-2
3
15
0
0
0
0
0
-1
0
-5
19
0
0
5
0
0
-3
26
-27
-26
0
0
0
0
0
2
24
-7
-11
0
0
0
0
0
1
7
-61
4
0
0
0
0
0
0
-3
-8
44
0
0
-8
0
0
4
20
11
-15
0
0
0
0
0
0
-5
34
47
0
0
0
0
0
1
8
-8
-4
0
0
0
0
0
1
-5
18
3
0
0
0
0
0
-5
-10
-25
-6
0
0
0
0
0
4
2
-4
-5
0
0
0
0
0
0
-3
-43
46
0
0
0
0
0
0
2
-1
-3
0
0
-7
0
0
0
16
-60
9
0
0
0
0
0
0
-2
5
-6
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
7
-32
6
0
0
0
0
0
0
-1
-13
-36
0
0
0
0
0
0
1
15
-1
0
0
48
0
0
0
4
-19
3
0
0
0
0
0
-4
0
12
33
0
0
0
-5
0
0
2
12
53
0
0
0
0
0
0
-5
-102
24
0
0
31
-4
0
-2
36
13
-7
0
0
0
0
-8
4
5
-21
8
0
0
0
0
0
0
-2
-44
-7
0
0
0
0
0
0
9
-35
5
0
0
0
0
0
0
-2
2
11
0
0
0
0
0
0
-16
3
97
0
0
0
0
0
2
4
-13
44
0
0
0
0
0
2
-3
0
-16
0
0
0
0
0
0
2
-1
18
0
0
0
0
0
30
8
-46
-21
0
0
0
0
0
0
2
-10
42
0
0
0
0
0
0
13
-24
19
0
0
0
0
0
0
-1
-67
58
0
0
0
0
0
-6
16
-3
20
0
0
0
0
0
0
2
-16
-10
0
0
0
0
0
-1
2
-4
-43
0
0
0
0
0
0
-1
8
-3
0
0
0
0
-17
-18
21
26
-1
0
0
0
0
0
1
0
-67
36
0
0
0
0
0
1
3
-23
6
0
0
0
0
0
0
-1
4
10
0
0
0
0
0
1
1
0
3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-1
1
-1
1
0
0
0
0
0
-4
0
-2
-16
0
0
0
0
10
-4
1
-14
31
0
0
0
0
0
-1
-1
-12
32
0
0
0
0
0
0
8
-1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-30
1
42
0
0
0
0
0
1
1
14
-30
0
0
0
0
3
0
0
-8
20
0
0
0
0
5
-13
52
-12
-49
0
0
0
0
0
0
0
-37
76
0
0
0
-2
0
-2
0
13
-38
0
0
0
0
0
0
-6
-30
30
0
0
0
0
0
0
-28
28
38
0
0
0
0
0
0
0
-2
90
0
0
0
0
0
0
4
28
32
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-18
19
16
0
0
0
0
0
0
-3
-25
48
0
0
0
2
0
0
25
-19
-13
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-62
79
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
-2
0
-25
4
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-1
-17
-40
0
0
0
0
0
0
0
-16
33
0
0
0
4
0
-1
-1
-26
49
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-1
7
-16
24
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
1
8
102
0
0
0
-3
0
0
0
8
-4
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-3
-1
-7
0
0
0
0
0
0
0
2
-34
0
0
0
2
0
0
0
-41
3
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
-7
-44
-20
17
0
0
0
0
-29
-9
-1
-10
30
0
0
0
0
0
0
6
15
7
0
0
0
0
0
0
18
-16
-29
0
0
0
0
0
-1
-6
-50
46
0
0
0
0
0
0
-1
9
-22
0
0
0
0
0
0
1
-4
-47
0
0
0
0
0
5
-2
0
8
0
0
0
0
0
0
-2
-8
48
0
0
0
0
1
13
2
-25
-2
0
0
0
0
0
0
-5
-18
-3
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-1
16
38
0
0
0
0
-2
0
2
1
-23
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
2
37
0
0
0
0
0
-2
-7
1
-19
0
0
0
0
2
-3
-5
13
51
0
0
0
0
0
0
0
-14
-17
0
0
0
0
0
8
0
-12
23
0
0
0
0
0
0
0
20
-57
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-3
-5
9
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-3
3
-8
29
0
0
0
0
0
-4
0
5
-4
0
0
0
0
0
0
1
-22
13
0
0
0
0
0
2
0
-5
-7
0
0
0
0
2
0
0
-5
-29
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-2
0
-1
0
0
0
0
3
3
3
-24
12
0
0
0
0
4
-12
-5
41
3
0
0
0
-1
0
-1
-4
-26
11
0
0
0
0
0
-1
44
-126
14
0
0
1
0
0
4
19
-9
44
0
0
0
0
0
-5
-58
-11
110
0
0
0
0
0
-3
-19
7
24
0
0
0
0
0
0
6
-32
-2
0
0
0
0
0
-3
40
-2
-25
0
0
0
0
0
-4
-36
23
15
0
0
0
0
0
1
34
-38
-35
0
0
0
0
0
1
6
-10
-66
0
0
-1
0
0
-15
-15
-3
15
0
0
0
0
0
4
-8
42
18
0
0
0
0
0
0
-19
-3
-6
0
0
0
0
0
-8
7
-22
32
0
0
0
0
0
26
20
14
-21
0
0
0
0
-1
4
6
-14
18
0
0
0
-16
0
-1
-5
-30
36
0
0
0
0
0
3
-16
-13
49
0
0
18
0
0
-15
0
-37
2
0
0
0
0
0
24
3
-23
-44
0
0
0
0
0
0
-10
4
7
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
-23
18
-8
0
0
0
0
0
-7
2
-20
17
0
0
0
0
0
0
17
1
-35
0
0
0
0
0
0
-3
-94
26
0
0
-29
0
0
3
-32
18
5
0
0
0
0
0
-26
31
31
-14
0
0
0
0
0
0
8
-3
55
0
0
0
0
0
1
0
4
10
0
0
4
-1
-1
-44
-14
-2
-19
0
0
0
0
-15
-57
-25
58
15
0
0
0
0
0
0
-4
17
-15
0
0
0
0
5
7
-85
-28
50
0
0
0
0
-1
-3
27
-30
21
0
0
0
0
-57
41
-22
-24
48
0
0
0
0
-2
-3
-53
27
4
0
0
0
0
0
4
12
-34
4
0
0
0
0
-1
8
20
-54
20
0
0
0
0
63
-47
53
-41
-7
0
0
0
0
0
0
-8
-48
96
0
0
0
0
0
-14
-12
78
-1
0
0
0
0
0
4
-6
-41
6
0
0
0
0
-6
29
-47
-73
52
0
0
0
0
0
-1
7
-12
76
0
0
0
0
17
-5
-9
9
10
0
0
0
0
-3
-44
38
-10
37
0
0
0
0
-31
-73
20
14
41
5
0
0
0
0
-7
-21
40
51
15
0
0
0
2
-1
3
12
-59
5
0
0
0
-3
-5
-21
-6
5
-2
0
0
0
-7
-17
77
-53
86
-8
0
0
0
1
3
9
-26
62
1
0
0
0
-1
0
4
25
5
-7
0
0
0
0
-4
67
-26
50
-26
0
0
0
7
18
2
56
-22
19
0
0
0
0
-1
-5
-15
28
70
0
0
0
-8
0
52
23
-10
24
0
0
0
0
40
-51
0
40
44
0
0
0
41
15
-12
5
-21
2
0
0
0
3
2
24
31
-27
-26
0
0
0
26
38
28
0
68
-6
0
0
0
6
-8
53
4
-18
-28
0
0
0
0
0
20
40
-29
0
0
0
10
0
0
-27
9
18
0
0
0
0
0
0
0
13
5
0
0
0
1
0
-4
-46
16
17
0
0
0
0
0
3
25
-23
3
0
0
0
1
0
0
-8
-40
21
0
0
0
0
0
0
0
-5
29
0
0
0
0
0
-3
3
-24
0
0
0
0
0
0
0
-2
10
30
0
0
0
5
0
1
0
-3
19
0
0
0
0
0
0
0
-7
3
0
0
0
-7
0
0
-3
-21
29
0
0
0
0
0
-1
2
0
-15
0
0
0
-1
0
-1
0
13
34
0
0
0
0
0
0
0
-40
-5
0
0
0
2
0
-1
-5
-46
54
0
0
0
0
0
0
7
-9
-23
14
0
0
-18
4
-5
-1
53
-48
18
0
0
0
0
0
0
-47
-23
28
0
0
0
0
0
-1
-45
65
-5
0
0
0
0
-1
7
-30
0
-10
0
0
32
0
0
0
-28
-10
2
0
0
0
0
0
0
-25
25
-2
0
0
0
0
0
-5
-22
-21
-37
0
0
0
0
0
1
-56
25
20
0
0
6
0
0
-2
-18
38
16
0
0
0
0
0
0
-26
39
4
0
0
1
0
0
0
-19
-36
-11
0
0
0
0
1
5
-31
26
-37
0
0
62
0
0
-3
61
52
-60
0
0
0
0
0
0
-15
18
-24
0
0
-25
0
-3
-31
18
-16
17
0
0
0
0
-2
-12
-59
29
0
0
0
0
0
0
0
21
-9
0
0
0
0
0
1
1
-40
26
0
0
0
0
0
-2
-10
37
-24
0
0
0
0
0
-1
2
-7
8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-2
-2
-7
0
0
0
0
0
-2
-6
-39
15
0
0
0
0
0
0
-1
32
-9
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-4
0
-33
0
0
0
0
0
0
1
3
-22
1
0
0
0
0
0
-2
0
-28
44
0
0
0
0
0
0
0
-16
77
0
0
0
0
0
-1
-1
-10
18
0
0
0
0
0
3
-1
-52
8
0
0
0
0
4
0
7
-20
50
-7
0
0
0
0
0
0
-68
22
21
0
0
0
0
0
5
1
29
-17
0
0
0
0
-1
0
29
-44
-18
0
0
0
0
0
1
-24
33
18
0
0
0
0
0
1
-1
25
13
0
0
0
1
0
2
25
-5
-18
0
0
0
0
-1
5
4
-2
-18
0
0
0
0
0
3
-40
59
22
0
0
0
0
0
0
6
23
0
0
0
0
0
0
-7
58
-28
-15
0
0
0
0
-3
-1
-4
-14
-16
0
0
0
0
0
3
-32
62
-10
0
0
0
0
0
-4
-15
-7
48
0
0
0
1
0
3
-81
2
15
0
0
0
-2
1
20
-8
-12
-11
0
0
0
0
-4
6
-20
76
0
0
0
0
0
-2
9
-32
-14
0
0
0
0
0
0
-2
2
6
0
0
-35
-2
0
1
30
-52
36
0
0
0
0
0
0
2
-29
51
0
0
0
0
0
-1
15
-25
-21
0
0
0
0
0
0
4
3
8
0
0
-2
0
0
-10
41
-6
-24
0
0
0
0
0
0
2
54
-2
0
0
0
0
0
0
5
-6
1
0
0
0
0
0
0
0
-27
0
0
0
-4
0
0
-1
8
17
-23
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
-2
5
31
0
0
0
0
0
0
5
6
-2
0
0
-28
0
0
-2
10
-29
-14
0
0
0
0
0
0
26
-72
25
-3
0
0
0
0
0
-3
-41
31
-12
0
0
0
0
0
-8
21
-61
-8
0
-45
0
0
3
-27
-9
-54
-12
0
0
0
0
1
-2
-57
-34
44
0
0
0
0
0
-3
-20
8
-33
0
0
0
0
0
2
-30
23
30
0
17
0
0
0
9
-51
-44
18
0
0
0
0
0
-20
41
55
-36
0
0
0
0
0
-8
-25
25
-9
0
0
0
0
5
-13
-20
10
-3
0
74
0
0
-1
-19
-85
-7
-22
0
0
0
0
0
-5
1
22
-20
0
0
0
0
1
22
-42
3
-29
0
0
0
0
0
-1
14
38
-35
0
70
1
1
-1
-39
-52
-18
-34
0
0
0
2
0
-24
-23
-2
0
0
0
0
0
-4
-3
-39
25
0
0
0
0
0
0
12
0
17
0
0
0
0
0
2
0
4
21
0
0
0
0
3
6
-14
30
-35
0
0
0
0
0
0
0
-27
29
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
0
-48
-10
45
0
0
0
0
-1
0
-2
-8
15
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
-5
-1
2
0
0
0
0
0
0
1
9
-30
0
0
0
0
0
0
-5
5
6
0
0
0
0
0
-1
0
-2
31
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
12
-8
-10
0
0
0
0
-44
8
-38
6
12
9
0
0
0
0
0
0
-33
21
25
0
0
0
0
1
4
25
17
-13
0
0
0
0
1
6
-52
15
12
0
0
0
2
1
25
13
60
-27
0
0
0
0
0
-3
-54
-35
-21
0
0
0
0
0
-4
4
13
10
0
0
0
0
-9
6
-13
10
12
0
0
0
0
-1
-13
12
-5
-59
0
0
0
0
-1
0
0
5
-9
0
0
0
0
0
0
-14
-5
-2
0
0
0
0
-1
1
-1
7
-10
0
0
0
24
0
17
-11
89
-60
0
0
0
-1
0
8
-25
-17
-14
0
0
0
0
0
-2
6
7
-5
0
0
0
-2
-18
91
82
-23
-47
0
0
0
3
1
1
17
6
0
0
0
-3
0
0
0
6
-24
0
0
0
0
0
0
-3
-4
36
0
0
0
0
0
0
1
-60
69
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
0
7
-26
15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
-3
53
0
0
0
0
0
0
3
8
-5
0
0
0
5
0
0
-1
-4
-5
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
1
-16
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
18
5
26
0
0
0
0
0
0
14
-2
54
-50
0
0
-12
0
0
0
-20
-11
0
0
0
0
0
0
1
5
0
31
0
0
0
0
0
-1
10
1
-9
0
0
0
1
0
-4
2
23
19
0
0
9
0
0
24
-28
41
-101
0
0
0
0
0
0
4
-23
-63
0
0
0
0
0
-40
9
-15
-18
0
0
0
0
0
-5
12
18
53
0
0
-1
0
0
5
9
-13
-36
0
0
0
0
0
-1
2
3
-14
0
0
0
0
0
1
-1
-6
-22
0
0
0
0
0
5
21
32
-44
0
0
17
0
0
3
-2
-50
-29
0
0
0
0
0
5
21
-19
-49
0
0
4
1
-1
-11
-96
21
-6
0
0
0
0
-3
-2
21
9
0
0
0
0
0
0
0
30
10
0
0
0
0
0
7
1
0
16
0
0
0
0
0
0
-6
6
16
0
0
0
0
0
0
-3
-5
-4
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
8
4
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
3
-1
2
4
0
0
0
0
-1
0
2
23
14
1
0
0
0
0
0
1
-29
29
-15
0
0
0
0
-2
-1
-2
8
-12
0
0
0
0
0
-2
34
1
-91
0
0
0
1
0
-6
0
-39
-11
0
0
0
0
0
0
4
-44
-55
0
0
0
2
0
0
-8
5
-16
0
0
0
0
0
2
-2
-5
12
0
0
0
0
-3
0
1
-49
26
0
0
0
0
0
0
-3
0
-29
0
0
0
0
0
-2
3
0
6
0
0
0
0
0
0
-2
0
-57
0
0
0
1
0
0
2
-13
-24
0
0
0
0
0
0
1
8
-55
0
0
0
0
0
6
14
4
-34
0
0
0
0
2
-12
-63
15
-3
0
0
0
-1
-1
-17
-10
80
0
0
0
0
0
0
-9
-24
69
0
0
0
0
0
0
-1
19
-53
0
0
-2
0
0
1
9
-23
23
0
0
0
0
0
-1
3
-1
-30
0
0
0
0
0
0
1
4
47
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
-8
-10
-20
34
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
1
0
0
0
5
0
0
-2
6
-2
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
1
13
0
0
0
0
0
3
21
-16
5
0
0
0
0
0
0
51
105
-22
-20
0
0
0
0
-1
-3
-12
11
-17
0
0
0
0
0
-5
-29
23
-46
0
14
0
0
3
-22
-44
13
-7
0
0
0
0
0
13
-3
8
-20
0
0
0
0
0
35
-17
-14
-16
0
0
0
0
2
10
-9
-9
-43
0
-40
0
-1
3
-9
51
-22
1
0
0
0
0
-1
18
-1
-52
49
0
0
0
0
0
-3
-16
19
-41
0
0
0
0
0
-15
-1
6
-38
0
-14
0
0
0
-21
6
0
1
0
0
0
0
0
8
5
-41
44
0
0
0
0
2
3
-50
-8
-40
0
0
0
0
-2
21
-30
-2
-56
0
0
-1
0
48
-23
-80
35
20
0
0
0
19
31
-27
-57
65
0
0
0
0
0
-4
0
-33
55
0
0
0
0
0
-2
-5
-11
46
0
0
0
0
0
-1
8
-47
11
0
0
0
0
2
-44
21
-7
20
0
0
0
0
0
0
-10
-2
-4
0
0
0
0
-1
-6
-1
4
14
0
0
0
0
0
0
-9
-22
3
0
0
0
0
47
60
-50
-73
2
0
0
0
0
0
0
-7
20
10
0
0
0
0
0
-1
12
-6
-57
0
0
0
0
1
0
34
41
-28
0
0
0
0
-1
-24
5
3
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
2
1
1
-13
12
0
0
0
0
1
5
-7
22
-46
0
0
0
0
-37
48
17
-63
-37
9
0
0
0
0
0
-13
36
-16
50
0
0
0
0
2
-5
-40
62
4
0
0
0
0
0
2
-25
33
-41
0
0
0
9
-2
36
17
44
23
0
0
0
0
0
0
-2
12
6
0
0
0
2
-3
0
-1
13
-26
0
0
0
0
0
-6
1
-15
2
0
0
0
-8
-61
26
40
27
-42
35
0
0
0
-3
25
22
-2
-26
28
0
0
0
8
1
4
95
-23
1
0
0
0
-5
61
10
75
-113
-2
0
0
-10
29
-6
-61
-27
-23
16
0
0
0
-1
2
-77
40
-18
13
0
0
-6
1
7
-42
47
12
-26
0
0
-32
-5
65
-14
-40
-37
3
0
0
0
0
-5
1
56
0
0
0
-5
0
-1
-7
5
33
0
0
0
0
0
0
0
13
29
0
0
0
0
0
2
-4
-83
36
0
0
0
0
0
-8
0
32
18
0
0
0
0
0
-3
-5
-20
45
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
-22
26
-43
0
0
0
0
0
0
0
-35
64
0
0
0
30
0
0
-7
51
-27
0
0
0
0
0
0
0
-41
12
0
0
0
2
0
-1
-5
31
-50
0
0
0
0
0
0
0
-9
62
0
0
0
1
0
0
-6
1
19
0
0
0
0
0
0
0
-3
-41
0
0
0
3
0
4
14
-80
-29
0
0
0
0
0
0
2
19
7
3
0
0
-40
0
-3
-3
-20
24
6
0
0
0
0
0
0
-17
-15
0
0
0
0
0
0
-13
-2
44
24
0
0
0
0
0
-4
-27
32
-64
0
0
1
0
1
1
7
-43
-24
0
0
0
0
0
0
2
1
22
0
0
0
0
0
0
-5
14
24
0
0
0
0
2
4
30
-1
-16
29
0
39
0
-2
27
-47
-1
-39
-23
0
0
0
0
2
-110
111
-137
55
0
0
0
3
-71
-48
3
-58
-5
0
0
0
0
-1
-11
14
-14
-19
0
-101
0
0
-16
7
15
53
14
0
0
0
2
0
-29
-49
-62
1
0
39
0
-3
9
-43
31
-68
-4
0
0
2
-3
-3
-12
-11
0
0
0
0
0
0
-2
-28
46
0
0
0
0
0
0
3
-33
76
0
0
0
0
0
0
5
-30
70
0
0
0
0
0
-1
-2
23
-40
0
0
0
0
0
0
-4
-22
4
0
0
0
0
0
-2
4
1
2
0
0
0
0
0
0
-18
16
0
0
0
0
0
0
0
3
23
-53
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
1
-1
16
-5
0
0
0
0
0
-1
-2
35
-5
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
6
-19
0
0
0
0
0
0
4
-8
0
0
0
0
0
-2
0
-1
11
-47
24
0
0
0
0
0
0
-61
47
-15
0
0
0
0
0
0
-22
-28
-3
0
0
0
0
0
0
18
-48
-10
0
0
0
0
0
-2
5
21
-74
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
2
2
-51
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
2
-61
-21
-41
6
0
0
0
0
-1
54
32
-20
-22
0
0
0
-8
1
-10
-69
-30
2
0
0
0
0
-3
22
3
-24
7
0
0
0
2
3
-4
-4
-14
-20
0
0
0
0
0
1
-13
-15
38
0
0
2
-1
1
13
-14
-88
5
0
0
0
36
-58
-40
-16
-25
12
0
0
0
3
13
-30
-1
0
0
0
0
0
0
1
-30
85
0
0
0
0
0
0
0
37
-22
0
0
35
0
0
-1
-43
-38
96
0
0
0
0
0
0
2
3
22
0
0
0
0
0
0
-7
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
2
-66
21
0
0
0
0
0
8
1
25
-24
0
0
0
0
0
0
-2
-44
40
0
0
0
0
0
-4
1
-49
0
0
0
5
0
0
2
-5
-35
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
10
-3
0
0
0
0
0
0
0
9
2
0
0
-2
0
0
1
-4
0
-40
0
0
0
0
0
0
2
15
-3
35
0
0
3
0
0
-8
48
49
-61
0
0
0
0
0
0
-12
3
-96
0
72
0
0
0
-22
-102
26
13
0
0
0
0
0
0
-1
1
-37
0
0
0
0
0
-1
-16
1
50
0
0
0
0
0
0
0
3
-34
0
0
0
0
0
-5
-9
0
27
0
0
0
0
-1
12
68
-16
1
0
0
0
0
3
-53
-19
-18
-23
14
0
0
0
0
-7
23
-60
-22
0
-52
0
0
-1
18
-34
19
-52
-6
0
0
0
1
1
83
-10
-91
-4
0
0
0
0
-17
11
-1
-50
23
0
0
0
2
0
-29
-2
-9
44
-94
-3
2
-30
-36
46
123
-7
-14
0
0
-3
-8
47
39
-13
0
0
0
0
0
1
-1
-16
9
0
0
0
0
-3
-3
-24
-31
46
0
0
0
0
0
1
-21
-25
-39
0
0
0
0
-5
3
-10
-24
52
0
0
0
0
0
-7
-67
38
-13
0
0
0
0
-1
1
0
6
8
0
0
0
0
0
-2
5
7
-45
0
0
0
0
5
13
19
-71
25
0
0
0
0
0
-4
5
-15
32
0
0
0
0
0
2
3
-61
36
0
0
0
0
0
0
-12
-3
42
0
0
0
0
2
3
-9
-40
30
0
0
0
0
0
0
1
-5
93
0
0
0
0
0
0
-1
14
8
0
0
0
0
0
15
23
-44
-31
0
0
0
0
2
-26
22
36
50
0
0
0
0
0
-1
8
-22
73
-23
0
0
0
-1
0
0
1
11
17
0
0
0
0
0
7
-13
-13
60
0
0
0
-21
-2
-2
-3
-19
2
0
0
0
0
0
0
-6
-12
-51
0
0
0
0
7
-1
-1
-13
-78
0
0
0
0
3
-3
-18
-7
17
0
0
0
-4
-8
29
30
-12
-28
35
0
0
0
0
-3
6
13
-43
17
0
0
0
1
0
-39
28
-5
-7
0
0
0
0
-1
-9
24
-41
31
0
0
-10
-17
11
11
10
17
16
0
0
2
0
8
17
5
-5
-32
0
0
0
-5
0
-16
-43
-9
41
0
0
39
4
0
-47
53
-36
-11
0
0
-1
-1
-8
-32
68
0
0
0
-5
0
1
14
-64
26
0
0
0
0
-5
0
2
-29
-31
0
0
0
6
0
0
-40
23
10
0
0
0
0
0
1
-6
1
24
0
0
0
-4
0
0
-22
-15
27
0
0
0
0
0
0
-1
-7
-43
0
0
0
0
0
-3
-19
-30
45
0
0
0
0
0
0
-1
26
13
0
0
0
-41
0
4
-3
5
50
0
0
0
0
0
0
0
-25
31
0
0
0
-5
0
0
5
-13
-20
0
0
0
0
0
0
0
7
-16
0
0
0
-9
0
0
-1
-8
-4
0
0
0
0
0
-2
-3
9
1
0
0
0
0
0
0
-11
-8
34
0
0
0
0
0
0
0
29
7
-13
0
0
19
0
3
0
-4
0
-39
0
0
0
0
0
1
-24
24
1
0
0
0
0
2
4
37
-25
-40
0
0
0
0
0
5
-8
16
-14
0
0
-41
0
0
6
10
44
-15
0
0
0
0
0
0
2
-2
-27
0
0
0
0
0
-5
2
-8
-7
0
0
0
0
0
-1
-6
55
-10
-17
0
27
0
0
4
14
-1
-46
-10
0
0
0
0
-1
-7
1
-69
115
0
0
0
0
-5
-20
-13
20
-39
0
0
0
0
-1
-4
14
-43
33
0
14
0
0
5
-28
51
-15
-98
0
0
0
0
-2
25
-25
36
-38
0
-53
0
10
-17
12
16
-49
0
0
0
39
-37
50
-5
-1
0
0
0
0
0
-7
-2
-1
44
0
0
0
0
0
-1
-23
-23
47
0
0
0
0
0
0
-28
19
33
0
0
0
0
0
-3
24
-8
-11
0
0
0
0
0
-1
4
-17
20
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
-12
12
33
8
0
0
0
0
-8
-10
2
12
-4
0
0
0
0
0
0
0
-27
-22
0
0
0
0
0
0
1
2
-55
0
0
0
0
0
0
-3
-64
32
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-1
-5
-2
14
0
0
0
0
0
0
0
17
-40
0
0
0
0
0
0
0
8
-7
0
0
0
0
8
28
-36
32
49
-28
0
0
0
-1
1
-6
-18
49
-19
0
0
0
0
-4
1
3
16
-14
0
0
0
0
-1
6
-41
23
-47
0
0
0
8
-1
5
4
12
-6
0
0
0
-1
0
0
-30
-3
14
0
0
0
-2
0
0
3
1
1
0
0
0
0
-9
2
-4
8
-23
0
0
0
24
-3
-24
-53
-24
-19
-14
0
0
0
-2
-2
-14
114
-32
-12
0
0
0
-5
-2
-18
-43
31
10
0
0
0
0
-1
5
-24
-39
43
0
0
17
-2
12
-12
5
-31
33
0
0
0
0
-4
1
12
-22
51
0
0
12
3
3
-10
5
-15
-7
0
0
-63
-84
-31
27
-42
21
6
0
0
14
-17
39
-16
32
0
0
0
-7
-43
-1
-13
40
60
0
0
0
0
-7
32
-2
-86
26
0
0
30
28
-27
-30
99
-4
-17
0
0
0
0
14
21
33
11
-34
0
0
0
113
30
-15
-89
-32
0
0
0
0
0
-14
1
-6
77
-45
0
0
3
-5
6
-56
-64
2
19
0
0
0
0
19
-37
51
-16
-33
0
0
0
-8
0
-25
5
43
-19
0
0
0
0
-19
-14
-82
-10
10
0
0
39
9
-8
16
2
-110
-17
0
0
0
0
-10
4
62
-27
-36
0
0
0
-68
0
-7
-17
-3
11
0
0
0
0
-40
20
29
-75
51
0
0
47
-5
8
-37
-21
-58
18
0
0
0
0
31
0
56
36
7
5
0
0
30
7
18
-74
-25
-25
26
0
0
0
-4
6
11
33
45
-21
0
66
-22
5
5
-13
-98
61
-29
0
0
0
74
70
40
49
-90
-36
0
0
-29
-8
-7
10
27
23
-25
0
0
0
4
46
-24
-2
-33
6
0
-20
15
-9
-29
-72
35
35
2
0
0
0
54
5
10
-35
64
-72
14
0
-21
1
-37
27
2
-54
41
-15
0
0
-31
11
-58
-78
64
-80
0
-70
3
-8
-24
38
-35
1
-26
-8
0
0
-34
47
12
-42
6
33
-27
0
-8
-2
-69
-84
41
5
6
8
0
0
-14
-85
20
-57
-19
-22
39
-94
-21
12
3
-16
-32
-17
-36
-21
0
0
78
9
-29
29
-18
0
0
0
0
0
-5
-36
7
40
0
0
0
0
0
24
3
-21
11
0
0
0
0
0
-8
-52
-35
29
0
0
0
0
-4
-3
-12
11
-4
0
0
0
0
0
13
-6
35
46
0
0
0
0
-1
-2
-10
-1
13
0
0
0
0
0
-33
35
-65
83
0
0
0
0
11
22
-12
-30
0
0
0
0
0
0
-3
9
25
-52
0
0
0
0
0
4
-5
19
-48
0
0
0
0
0
6
-7
79
-20
0
0
0
0
-2
-8
27
6
-27
0
0
0
0
0
0
41
-3
20
0
0
0
0
-1
-5
-13
-43
38
0
0
0
0
0
21
40
-70
60
0
0
0
0
-52
-20
27
-20
42
0
0
0
0
0
2
-8
-17
-23
0
0
0
0
0
1
4
-52
39
0
0
0
0
0
-2
34
7
26
0
0
0
0
-6
13
22
-14
27
0
0
0
0
0
0
9
-42
11
0
0
0
0
0
0
-13
-8
-23
0
0
0
0
0
-1
-20
5
53
0
0
0
0
-9
-49
2
-9
33
0
0
0
0
0
1
0
10
32
0
0
0
0
1
2
-3
-42
52
0
0
0
0
0
12
-1
37
42
0
0
0
0
0
-66
26
1
-26
0
0
0
0
0
-2
11
-10
31
0
0
0
0
31
-14
-27
12
24
0
0
0
0
-25
14
2
38
23
0
0
0
0
0
-2
-17
30
-8
0
0
0
-76
0
0
0
-52
37
0
0
0
0
0
0
1
-10
4
0
0
0
0
0
1
16
-65
19
0
0
0
0
0
0
7
-25
22
0
0
0
0
0
0
-3
20
31
0
0
0
0
0
0
-2
-45
7
0
0
0
0
0
5
-10
-21
30
0
0
0
0
0
0
0
15
10
0
0
0
-3
0
0
2
24
6
0
0
0
0
0
0
-1
-14
16
0
0
0
-1
0
-3
1
14
21
0
0
0
0
0
0
-4
-4
35
0
0
0
0
0
0
1
-3
29
0
0
0
0
0
0
6
-35
-35
0
0
0
0
0
1
-5
37
-54
0
0
0
0
0
0
5
19
-2
0
0
0
43
0
0
2
-31
33
0
0
0
0
0
0
1
-31
6
0
0
0
0
0
0
0
-7
57
0
0
0
0
0
0
-1
7
-27
0
0
0
17
0
0
1
-72
44
0
0
0
0
0
0
0
30
-23
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
19
39
0
0
0
23
0
0
-1
-18
-25
0
0
0
0
0
0
0
17
-47
0
0
0
0
0
-1
-1
41
30
0
0
0
0
0
0
0
-56
40
0
0
0
-79
0
0
-6
-30
106
0
0
0
0
0
0
3
23
-2
0
0
0
48
0
-20
-73
-8
13
0
0
0
0
0
1
11
4
-9
0
0
0
0
0
0
11
-27
28
0
0
0
0
0
0
16
-21
-27
0
0
0
0
0
-5
15
-64
24
0
0
0
0
0
0
24
-66
10
0
0
0
0
0
0
11
-11
-4
0
0
0
0
0
0
6
-28
19
0
0
0
0
0
-2
-65
17
-4
0
0
0
0
0
0
-16
-7
19
0
0
0
0
0
0
-1
-22
-7
0
0
0
0
0
0
-6
-33
18
0
0
0
0
0
-1
-15
29
17
0
0
0
0
0
0
2
-64
74
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
7
-29
0
0
0
0
0
-2
-11
-15
24
0
0
0
0
0
0
-25
-26
28
0
0
0
0
0
0
9
-49
34
0
0
0
0
0
0
1
5
12
0
0
0
0
0
0
-17
5
17
0
0
0
0
0
1
-13
10
15
0
0
0
0
0
0
-19
-11
6
0
0
0
0
0
0
0
17
-10
0
0
0
0
0
0
-1
14
-57
0
0
0
0
-1
2
19
-41
4
0
0
0
0
0
0
0
-60
37
0
0
0
0
0
0
-19
-4
69
0
0
0
0
0
0
-2
-29
5
0
0
0
0
0
1
1
-12
49
0
0
0
0
0
0
7
-2
-12
0
0
0
0
0
0
0
19
17
0
0
0
0
3
-62
-45
-16
101
0
0
0
0
0
-8
26
7
-16
0
0
0
0
0
0
4
-67
55
0
0
0
0
0
0
54
-63
37
0
0
-31
0
0
0
-89
-10
68
0
0
0
0
0
0
24
16
15
0
0
0
0
0
0
-28
1
25
0
0
0
0
0
0
7
47
13
0
0
-5
0
0
0
43
-11
26
0
0
0
0
0
-1
59
30
-53
0
0
0
0
0
0
16
-3
-35
0
0
0
0
0
0
0
-57
20
0
0
11
0
0
1
-1
-96
-6
0
0
0
0
0
0
-19
-16
26
0
0
0
0
0
0
21
-35
17
0
0
0
0
0
0
23
-42
97
0
0
9
0
0
0
-39
68
-22
0
0
0
0
0
0
-1
-27
-22
0
0
0
1
0
0
-5
-23
2
0
0
0
0
0
-1
-9
13
8
0
0
26
0
0
-1
8
-49
-16
0
0
0
0
0
0
5
6
20
0
0
0
0
0
0
-12
-36
75
0
0
0
0
0
0
-25
-17
42
0
0
8
0
0
0
14
-9
16
0
0
0
0
0
1
-25
-53
24
0
0
0
0
0
0
-9
3
-6
0
0
0
0
0
0
-36
7
12
0
0
-71
0
0
-3
-6
65
-26
0
0
0
0
0
0
3
-8
28
0
0
0
0
0
0
-3
40
-62
0
0
0
0
0
2
1
-6
-10
0
0
88
10
1
-7
-10
-15
-7
0
0
0
0
-4
-22
-46
-14
95
0
0
0
0
0
1
-9
16
0
0
0
0
0
0
0
18
-33
7
0
0
0
0
0
0
38
-43
74
0
0
0
0
0
-1
14
-7
9
0
0
0
0
0
0
11
-16
28
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
28
-30
-4
0
0
0
0
0
0
12
-47
35
0
0
0
0
0
0
-2
-18
28
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
1
13
-11
19
0
0
0
0
0
0
-3
7
2
0
0
0
0
0
0
-6
-14
-2
0
0
0
0
0
0
1
12
-26
0
0
0
0
0
2
-16
2
34
0
0
0
0
3
-4
19
-7
-24
0
0
0
0
0
2
0
-14
-8
0
0
0
0
0
3
1
-10
6
0
0
0
0
0
3
-3
7
-6
0
0
0
0
0
0
0
12
14
0
0
0
0
0
0
1
-10
-17
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
7
-5
-1
0
0
0
0
0
1
21
-5
-20
-2
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
1
0
35
-18
0
0
0
0
0
0
11
30
-56
0
0
0
0
0
2
4
3
-1
0
0
0
0
0
0
2
-19
47
0
0
0
0
0
0
7
11
15
0
0
0
0
0
11
26
35
-4
0
0
0
0
0
0
9
9
18
0
0
0
-3
0
0
-5
23
-9
0
0
0
0
0
0
8
-8
-10
0
0
0
0
0
-2
6
-29
87
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
1
-18
-13
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
1
-5
-4
12
0
0
0
0
0
0
1
-17
-24
0
0
0
0
0
2
-5
3
-7
0
0
0
0
0
0
2
5
-28
0
0
0
0
0
0
-5
-16
20
0
0
0
0
0
0
-3
1
-23
0
0
0
0
0
0
-5
-3
49
0
0
0
0
0
0
0
4
13
0
0
0
0
0
5
30
-21
-31
0
0
0
0
0
0
7
24
-9
0
0
0
1
0
0
1
4
6
0
0
0
0
0
0
-2
-10
-8
0
0
0
0
0
0
-1
-41
21
0
0
0
0
0
0
3
-5
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
5
1
2
0
0
0
0
0
1
-4
-9
17
0
0
0
-13
0
0
1
-11
17
0
0
0
0
0
0
-4
5
9
0
0
0
0
0
0
-2
-16
17
0
0
0
0
0
0
0
-8
30
0
0
0
1
0
0
1
-2
40
0
0
0
0
0
0
-5
5
-42
0
0
0
-15
0
3
24
-37
14
0
0
0
0
1
0
4
-17
19
0
0
0
0
0
0
-6
1
-22
0
0
0
0
0
1
0
-10
14
0
0
0
0
0
-1
-2
2
40
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
-2
3
-77
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
4
4
-2
0
0
0
0
0
1
-3
0
25
-19
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
2
1
-27
13
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
1
0
4
38
0
0
0
0
0
0
0
-1
12
0
0
0
0
3
0
1
17
-8
0
0
0
0
0
0
-1
-17
10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-9
-10
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
-4
0
10
0
0
0
0
0
0
1
3
-34
-6
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
-1
0
-8
22
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
3
13
2
0
0
0
0
0
0
-3
-29
13
0
0
0
0
0
27
41
-58
23
0
0
0
0
0
-10
-64
-35
53
0
0
0
0
0
-2
18
-14
33
0
0
-1
0
0
77
-40
50
-80
0
0
0
0
0
3
15
-14
38
0
0
0
0
0
0
-4
-91
19
0
0
0
0
0
3
35
0
-35
0
0
0
0
0
4
10
-34
4
0
0
0
0
0
10
-1
0
-36
0
0
0
0
0
0
-38
15
35
0
0
0
0
0
0
-4
-5
51
0
0
0
0
0
-23
56
2
-29
0
0
0
0
0
7
13
-21
5
0
0
0
0
0
-2
21
-16
29
0
0
0
0
0
-3
30
-8
36
0
0
0
0
0
-41
47
-24
26
0
0
0
0
0
6
46
54
-25
0
0
0
2
0
-9
-12
-7
42
0
0
0
0
0
-6
-1
5
18
0
0
-1
0
0
2
-42
23
1
0
0
0
0
0
5
52
12
-32
0
0
0
0
0
4
46
-20
-9
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-8
5
38
-5
0
0
0
0
0
44
9
-54
16
0
0
0
0
0
-12
-1
56
-11
0
0
0
0
0
0
-21
28
10
0
0
-1
0
0
-1
-46
-73
2
0
0
0
0
0
-39
-10
9
-15
0
0
0
0
0
1
4
6
-18
0
0
0
0
0
19
-6
-56
23
0
0
-3
0
-1
10
-24
15
-18
0
0
0
0
69
-19
17
-8
-2
0
0
0
0
0
-3
4
-19
17
0
0
0
0
-1
-8
-14
54
-4
0
0
0
0
-4
7
47
-26
7
0
0
0
0
0
-7
-8
0
14
0
0
0
0
0
0
3
-12
-11
0
0
0
0
0
0
4
-18
19
0
0
0
0
0
-1
8
31
-23
0
0
0
0
-1
25
-3
-7
19
0
0
0
0
0
0
-4
-59
4
0
0
0
0
0
-9
-1
0
15
0
0
0
0
0
-3
2
-6
-3
0
0
0
0
0
-3
0
-2
6
0
0
0
0
0
-2
-13
8
29
0
0
0
0
0
-1
-1
0
17
0
0
0
0
-2
1
-14
8
26
0
0
0
0
-7
-2
-5
13
51
0
0
0
0
0
0
-5
-11
10
0
0
0
0
0
0
1
21
-5
0
0
0
0
0
1
6
-12
-34
0
0
0
0
0
16
0
0
-31
0
0
0
0
0
0
-5
12
40
0
0
0
0
0
0
2
-4
-2
0
0
0
0
0
-1
-3
-8
-13
0
0
0
0
-5
0
9
17
39
0
0
0
0
0
0
-2
4
56
0
0
0
0
0
0
0
-14
7
0
0
0
0
0
0
-1
36
2
0
0
0
0
-7
-2
-7
-1
-1
0
0
0
0
0
0
1
-24
8
0
0
0
0
1
1
-1
-21
45
0
0
0
0
16
16
80
-56
-5
0
0
0
0
0
0
-1
-51
16
0
0
0
-29
0
0
4
-24
27
0
0
0
0
0
0
-1
31
-7
0
0
0
0
0
0
8
28
-27
0
0
0
0
0
0
0
-16
11
0
0
0
0
0
-2
5
-8
11
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
1
-3
-46
-11
0
0
0
0
0
0
0
4
29
0
0
0
0
0
0
0
-43
68
0
0
0
0
0
0
-1
-22
53
0
0
0
0
0
0
-5
0
55
0
0
0
0
0
0
1
0
24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
28
0
0
0
0
0
0
1
-13
20
0
0
0
0
0
0
-2
-37
51
0
0
0
29
0
-1
2
-6
-29
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
-8
-1
16
0
0
0
0
0
0
-1
0
45
0
0
0
-3
0
0
0
-14
10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-18
-8
0
0
0
0
0
0
5
-2
33
0
0
0
-1
0
0
0
1
10
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
-11
4
0
0
0
0
0
0
0
-4
-4
0
0
0
29
0
0
3
-25
8
0
0
0
0
0
0
-2
-6
-7
0
0
0
-24
0
0
30
45
-5
0
0
0
0
0
3
19
-6
-17
0
0
0
0
0
-2
0
-12
-9
0
0
0
0
0
7
1
-8
3
0
0
0
0
0
0
30
-22
2
0
0
0
0
0
0
0
19
-41
0
0
0
0
0
0
9
-48
-14
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-5
29
-37
0
0
0
0
0
1
-3
-17
-10
0
0
0
0
0
0
-1
10
54
0
0
0
0
0
0
0
-8
11
0
0
0
0
0
0
0
-12
6
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
2
14
0
0
0
0
0
-1
0
-5
-33
0
0
0
0
0
-1
2
12
-22
0
0
0
0
-3
-6
-1
-15
33
0
0
0
0
0
1
3
-6
14
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
-7
-8
19
0
0
0
0
-2
1
0
-16
33
0
0
0
0
0
0
-8
-7
57
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-2
-3
-16
0
0
0
0
0
0
1
-3
45
0
0
0
0
0
1
-2
-14
24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
-4
-5
-2
27
0
0
0
0
0
0
1
13
8
0
0
0
0
0
24
-32
13
-21
0
0
0
0
0
-4
-53
43
31
0
0
0
0
0
3
1
-5
15
0
0
0
0
0
4
-17
-6
8
0
0
18
0
0
0
16
57
22
0
0
0
0
0
0
-4
-42
15
0
0
0
0
0
-7
-23
21
9
0
0
0
0
0
0
1
8
-6
0
0
0
0
0
0
23
-17
-16
0
0
0
0
0
2
18
7
-3
0
0
0
0
0
1
23
10
-1
0
0
0
0
0
-2
1
-58
35
0
0
2
0
0
-2
8
49
8
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
-8
-3
16
0
0
0
0
0
-2
-1
-17
18
0
0
0
0
0
0
-4
-6
19
0
0
0
0
0
3
-2
-41
0
0
0
0
0
0
0
5
-60
48
0
0
0
0
0
0
1
-15
-2
0
0
8
0
0
4
17
-87
-5
0
0
0
0
0
1
3
-8
-3
0
0
0
0
0
0
8
-29
30
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
-33
5
0
0
0
0
0
-8
-8
39
-25
0
0
0
-3
0
0
-2
17
1
0
0
0
0
0
0
0
-20
16
0
0
2
0
0
1
0
-10
2
0
0
0
0
0
0
-3
1
-17
0
0
0
0
0
0
-8
19
58
0
0
0
0
0
0
2
-41
5
0
0
-29
1
0
-13
-3
-14
10
0
0
0
0
3
1
-1
-5
49
0
0
0
0
0
6
0
5
20
0
0
0
0
0
0
0
-12
22
0
0
0
0
0
0
-5
-9
-6
0
0
0
0
0
0
-2
1
-5
0
0
0
0
0
0
0
19
-61
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
-1
5
-24
0
0
0
0
1
1
0
1
-2
0
0
0
0
0
0
0
8
37
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
1
-15
29
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
-1
0
40
0
0
0
0
0
0
0
2
-26
0
0
0
0
0
0
-3
6
-54
0
0
0
0
0
1
1
1
-80
0
0
0
0
0
0
-2
-40
72
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
-2
-43
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-8
2
0
0
0
0
0
1
-1
-2
12
18
0
0
0
0
0
0
0
-11
8
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-2
-2
-30
0
0
0
0
0
0
0
3
5
0
0
0
0
0
-1
0
-2
-10
0
0
0
0
0
-16
-47
-28
51
0
0
0
0
0
0
1
-10
74
0
0
0
-8
0
0
-1
-60
44
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
0
-71
68
0
0
0
0
0
0
4
0
21
0
0
0
0
0
0
0
13
-43
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
-5
10
0
0
0
0
0
4
0
-5
71
0
0
0
0
0
0
1
-7
49
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
-6
29
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
-2
6
26
0
0
0
-4
0
0
2
4
54
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
4
-1
20
0
0
0
0
0
0
-3
6
6
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-1
-3
0
3
0
0
0
3
0
0
0
-2
5
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
-12
-7
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
1
0
-2
0
0
0
-3
-1
-1
-47
19
41
0
0
0
0
21
-1
-8
-35
39
0
0
0
0
0
-2
3
-55
12
0
0
0
0
0
-3
-1
-2
-3
0
0
0
0
0
0
0
-40
24
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-4
24
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
1
-18
29
0
0
0
0
0
-1
-2
-16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
4
-29
0
0
0
0
0
0
-1
-7
30
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-2
7
0
0
0
0
-1
-1
1
-2
17
0
0
0
0
-5
1
0
1
32
0
0
0
0
0
0
3
-14
-11
0
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
-13
-6
23
0
0
0
0
0
0
3
0
-24
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
1
-1
0
0
0
0
13
2
1
0
-19
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
-1
1
-8
0
0
0
0
3
-5
3
-4
32
0
0
0
0
-2
0
0
-1
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
5
-13
-10
-18
0
0
0
0
-32
47
5
-78
9
0
0
0
20
0
7
5
2
11
0
0
0
0
0
-4
-4
-7
27
0
0
4
0
0
12
-29
-2
-17
0
0
0
0
0
2
21
-2
-1
0
0
0
0
0
22
-22
-5
33
0
0
0
0
0
3
2
4
13
0
0
0
0
0
-23
-16
-45
74
0
0
0
0
0
-25
-10
43
22
0
0
0
1
0
-4
5
-34
-2
0
0
0
0
0
2
-4
10
-41
0
0
1
0
0
-8
-15
-14
22
0
0
0
0
0
-21
-14
7
-10
0
0
0
0
0
-1
6
0
-33
0
0
0
0
0
3
4
4
11
0
0
0
0
-1
7
-9
-23
26
0
0
0
0
2
-1
97
0
-67
0
0
0
5
0
-7
46
-69
-6
0
0
0
0
0
1
-5
-4
-12
0
0
-2
0
0
22
38
-43
-59
0
0
0
0
-3
58
9
12
-9
0
0
0
0
0
-41
-1
-2
24
0
0
0
0
0
-2
-3
-1
7
0
0
0
0
0
-11
6
5
-15
0
0
0
0
-5
-34
40
20
-15
0
0
0
-5
0
-30
8
-7
6
0
0
0
0
0
-30
3
-1
17
0
0
-9
0
0
-6
-1
-2
-8
0
0
0
0
-5
-2
-3
-2
20
0
0
0
-1
0
24
8
-21
-40
0
0
0
0
0
-28
6
-41
44
0
0
18
-8
-8
-1
18
22
-29
0
0
0
0
16
-24
13
-7
52
0
0
0
0
0
1
2
-48
21
0
0
0
0
2
1
5
18
32
0
0
0
0
0
1
-22
6
26
0
0
0
0
0
22
5
-25
18
0
0
0
0
0
0
-2
3
-27
0
0
0
0
0
1
5
5
2
0
0
0
0
0
1
37
-18
19
0
0
0
0
-38
3
-2
9
-5
0
0
0
0
0
0
1
-11
34
0
0
0
0
0
2
1
41
1
0
0
0
0
0
7
23
-2
-45
0
0
0
0
0
-4
-1
-2
45
0
0
0
0
0
0
0
-9
2
0
0
0
0
2
2
0
23
6
0
0
0
0
-2
15
46
37
-2
0
0
0
0
27
52
-3
14
7
-6
0
0
0
0
0
4
-34
-17
-22
0
0
0
0
1
6
-30
5
-16
0
0
0
0
0
-1
-67
5
15
0
0
0
0
1
-2
-2
30
0
0
0
0
0
0
-4
5
7
-10
0
0
0
-4
-1
0
0
5
4
0
0
0
0
1
-5
-5
10
10
0
0
0
-11
5
-7
30
19
13
0
0
0
0
0
0
-13
43
-6
0
0
0
0
-1
0
-15
81
-11
0
0
0
0
5
-20
-61
45
-2
0
0
0
-10
-5
-10
3
2
19
0
0
0
0
0
1
28
-24
15
0
0
0
-2
0
0
-93
25
40
0
0
0
-8
-44
66
51
38
-9
0
0
0
0
2
-17
-3
9
0
0
0
16
0
0
-6
-13
7
0
0
0
0
0
0
-1
-28
-1
0
0
0
0
0
1
8
-58
45
0
0
0
0
0
2
0
44
-57
0
0
0
3
0
0
1
10
-43
0
0
0
0
0
0
1
-41
9
0
0
0
0
0
-2
3
-22
-22
0
0
0
0
0
0
-1
29
-13
0
0
0
5
0
0
0
-3
48
0
0
0
0
0
0
0
47
-20
0
0
0
0
0
0
-6
-36
32
0
0
0
0
0
0
7
13
-14
0
0
0
0
0
-1
-3
18
20
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
-1
-6
16
7
0
0
0
0
0
0
0
6
1
-7
0
0
13
0
0
0
-71
68
10
0
0
0
0
0
0
-43
26
-16
0
0
0
0
0
2
-22
-7
-8
0
0
0
0
0
2
-47
-14
22
0
0
3
0
0
1
-4
-65
42
0
0
0
0
0
0
-17
14
2
0
0
0
0
-1
2
-5
24
7
0
0
0
0
2
5
10
18
12
0
0
-34
0
0
3
7
-42
17
0
0
0
0
0
0
8
53
-32
0
0
0
0
0
0
8
31
-35
0
0
0
0
0
-3
61
14
-23
0
0
-17
0
0
0
65
-2
-4
0
0
0
0
0
0
14
42
-26
0
0
63
0
5
-55
-78
-8
7
0
0
0
3
0
-7
8
12
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-3
0
-21
11
0
0
0
0
0
-1
0
-43
17
0
0
0
0
0
-1
-5
12
19
0
0
0
0
0
0
-2
1
50
0
0
0
0
0
0
1
13
-3
0
0
0
0
0
0
-6
-22
5
0
0
0
0
-1
-1
2
22
-1
0
0
0
0
0
0
-2
-6
-29
0
0
0
0
0
-1
0
-9
19
0
0
0
0
0
0
-3
-26
-4
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
-1
-58
-8
0
0
0
0
-6
-2
1
2
56
-9
0
0
0
0
0
1
-3
-38
5
0
0
0
0
0
-4
5
-23
-1
0
0
0
0
0
-10
-34
4
-23
0
0
0
1
4
0
1
-12
-33
0
0
0
0
0
-1
-5
-23
-23
0
0
0
0
0
0
3
-3
-12
0
0
0
0
0
0
4
1
21
0
0
0
1
-4
0
-41
-21
28
0
0
0
0
0
-1
-7
50
-29
0
0
0
0
0
-2
-13
-20
-1
0
0
0
0
0
0
-36
15
18
0
0
0
-2
0
0
-8
32
-8
0
0
0
0
0
0
8
18
-49
0
0
0
0
0
0
25
24
-47
0
0
0
0
2
21
-85
43
13
0
0
0
0
7
9
-51
43
0
0
0
0
0
0
17
-60
-12
0
0
0
0
0
-6
-22
-32
7
0
0
-19
0
0
0
25
-34
12
0
0
0
0
0
0
-14
14
22
0
0
0
0
0
0
-5
7
-5
0
0
0
0
0
0
-3
-4
1
0
0
0
0
0
0
47
25
8
0
0
0
0
0
0
32
-37
-29
0
0
0
0
0
0
-4
-37
13
0
0
0
0
0
0
4
-35
9
0
0
1
0
0
0
-12
-18
-5
0
0
0
0
0
0
-3
-10
2
0
0
0
0
0
0
-13
30
-22
0
0
0
0
0
0
8
-7
-13
0
0
0
0
0
2
13
-43
2
0
0
0
0
0
0
14
12
60
-7
0
0
0
0
0
-1
32
44
-15
0
0
0
0
0
0
18
11
-44
0
-21
0
0
0
-5
26
11
11
0
0
0
0
0
-32
-3
-12
3
0
0
0
0
0
3
-8
5
-27
0
0
0
0
0
2
7
2
-13
0
-3
0
0
0
-2
-15
0
66
0
0
0
0
0
20
0
-37
4
0
0
0
0
1
0
-47
-42
40
0
0
0
0
0
5
16
8
-28
0
19
0
0
0
1
30
-6
-29
0
0
0
0
0
-1
-5
8
-68
0
0
0
0
0
0
-26
-1
-50
0
0
0
0
-4
-8
-109
29
76
0
42
8
0
-28
13
-66
45
-48
0
0
0
21
-27
-55
-54
68
0
0
0
0
0
0
0
-22
26
0
0
0
0
0
-1
15
-12
36
0
0
0
0
0
-2
21
-68
35
0
0
0
0
0
0
12
-7
-5
0
0
0
0
0
0
1
-3
-27
0
0
0
0
0
0
1
3
6
0
0
0
0
0
0
9
-6
7
0
0
0
0
0
0
2
-13
45
0
0
0
0
0
0
-1
11
23
0
0
0
0
0
0
-5
-29
17
0
0
0
0
0
0
-28
-9
16
0
0
0
0
0
0
1
-6
5
0
0
0
0
0
0
1
-3
-17
0
0
0
0
-1
0
-3
0
-17
0
0
0
0
0
0
-9
-42
67
0
0
0
0
1
0
4
31
-20
24
0
0
0
0
0
0
-30
-18
17
0
0
0
0
0
0
-41
-10
-1
0
0
0
0
0
-1
-2
-1
-19
0
0
0
0
0
6
7
10
-100
0
0
0
0
0
0
2
5
-19
0
0
0
0
0
0
-2
8
-7
0
0
0
0
3
1
5
-1
-61
0
0
0
-5
-1
5
29
31
-48
0
0
0
0
0
0
-44
42
24
0
0
0
0
0
0
-7
-3
-2
0
0
0
0
0
-1
46
-15
-56
0
0
0
0
0
-1
8
-19
-22
0
0
0
0
0
0
1
7
7
0
0
0
0
0
0
1
-5
-13
0
0
0
-13
9
-10
-14
42
-28
0
0
0
0
0
-10
15
-9
0
0
0
-25
0
0
5
38
-58
0
0
0
0
0
0
-1
-14
46
0
0
0
0
0
4
29
-20
-18
0
0
0
0
0
0
1
-14
38
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
5
-5
23
0
0
0
0
0
0
-13
-8
2
0
0
0
0
0
0
0
-16
48
0
0
0
0
0
0
2
34
-17
0
0
0
0
0
0
0
-4
41
0
0
0
0
0
0
3
42
-3
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
-1
-2
-14
0
0
0
0
0
1
-1
-18
-29
0
0
0
0
0
0
-1
-46
51
1
0
0
0
0
0
-4
-3
52
-3
0
0
0
0
0
1
3
-5
-24
0
0
0
0
0
8
-6
-13
9
0
0
0
0
0
0
-8
13
-48
0
0
1
0
0
2
1
1
-11
0
0
0
0
0
0
-5
-6
-7
0
0
0
0
0
-2
3
0
35
0
0
0
0
0
3
6
-5
44
0
0
4
0
0
0
-50
12
49
0
0
0
0
0
1
-67
-18
25
0
0
0
0
0
-1
0
3
-55
0
0
0
0
0
0
12
31
5
0
0
-2
0
0
0
-5
7
0
0
0
0
0
1
1
-21
-8
1
0
0
-5
-2
3
-10
4
9
-50
0
0
0
-33
-1
0
-13
61
0
0
0
0
0
0
-1
-33
52
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
-13
-43
71
0
0
0
0
0
0
1
-5
19
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
1
0
0
4
-10
0
0
0
0
0
0
0
23
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
-65
-16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
7
-8
0
0
0
0
0
0
0
12
11
3
0
0
0
0
0
0
-13
14
28
0
0
0
0
0
0
5
-4
-24
0
0
0
0
0
-4
9
-3
-38
0
0
0
1
0
0
-1
0
-18
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
2
-54
0
0
0
0
0
0
-1
0
-36
0
0
0
0
0
-2
-38
-8
42
0
0
0
0
0
0
18
-4
-65
0
0
0
0
0
0
-30
-2
3
0
0
0
0
0
0
-3
0
-24
0
0
0
-4
0
0
0
-13
26
0
0
0
0
0
-1
1
2
-35
0
0
0
0
0
0
0
0
-34
0
0
0
0
2
-5
6
-73
2
0
0
0
2
14
-32
-8
23
0
0
0
0
0
1
-21
1
-15
0
0
0
0
0
1
36
-13
-12
0
0
-8
0
0
1
-8
28
-8
0
0
0
0
0
4
-42
37
2
0
0
0
0
0
1
11
-10
-11
0
0
0
0
0
-1
-2
-4
-7
0
0
0
0
0
-3
10
-27
53
0
0
0
0
0
25
48
33
-48
0
0
0
1
0
0
-6
4
-1
0
0
0
0
0
0
1
-50
38
0
0
8
0
0
0
-54
15
-47
0
0
0
0
0
0
2
-20
7
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
2
0
6
4
0
0
0
0
0
-6
-1
-27
18
0
0
0
0
-1
5
16
9
-66
9
0
0
0
0
0
2
2
-45
13
0
0
0
0
-1
-8
-18
6
-20
0
10
0
0
0
8
-58
0
0
0
0
0
1
-1
0
0
-4
-77
0
0
0
0
0
0
-8
3
-69
0
0
0
0
2
-2
0
0
-84
0
0
0
0
0
2
-1
0
-47
0
0
0
0
6
42
11
-5
-21
0
0
0
0
0
-52
6
-23
33
0
0
0
0
0
-6
-41
-3
34
0
-5
0
0
0
48
-9
-10
54
0
0
0
0
-1
7
17
-13
-40
0
0
-1
0
0
-6
-5
30
-73
0
0
0
0
-1
8
-8
8
-56
0
17
4
0
5
-32
-27
53
-62
0
0
0
-17
-14
25
43
44
0
0
0
0
0
2
5
37
-26
0
0
0
0
0
-3
19
21
21
0
0
0
0
1
-1
2
-7
28
0
0
0
0
0
-43
-9
42
45
0
0
0
0
0
3
-48
-15
3
0
0
0
0
3
-2
-6
3
-47
0
0
0
0
0
8
48
-11
-5
0
0
0
0
14
4
-7
-35
47
0
0
0
0
0
0
8
-45
7
0
0
0
0
0
0
4
-32
16
0
0
0
0
0
-5
5
-14
29
0
0
0
0
0
2
1
-1
-20
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
2
1
-1
-32
0
0
0
0
1
5
-8
-23
23
0
0
0
0
-6
2
12
32
38
13
0
0
0
0
1
-4
12
30
-67
0
0
0
0
-2
-5
1
65
-39
0
0
0
0
0
38
-5
-24
-19
0
0
0
0
5
0
-8
-16
-5
0
0
0
0
0
0
-10
63
-2
0
0
0
-1
0
0
0
-15
6
0
0
0
0
-1
-9
17
-23
-17
0
0
0
-3
8
-68
7
55
-37
4
0
0
0
-1
0
-34
83
-60
3
0
0
0
0
0
-18
-1
12
-6
0
0
0
1
-6
5
-21
-22
-12
0
0
1
-2
-1
-24
-23
-43
26
0
0
0
-2
0
-17
-83
17
1
0
0
-4
0
1
-8
35
55
-12
0
0
21
-9
-40
-94
-15
-34
32
0
0
0
-1
12
-28
14
0
0
0
-62
0
0
4
6
49
0
0
0
0
0
0
2
-44
50
0
0
0
0
0
0
2
47
21
0
0
0
0
0
0
0
-6
9
0
0
0
-1
0
0
5
-12
8
0
0
0
0
0
0
-1
4
-1
0
0
0
0
0
0
-2
6
-27
0
0
0
0
0
0
-3
-71
63
0
0
0
1
0
0
-4
-14
-28
0
0
0
0
0
0
0
6
35
0
0
0
0
0
0
0
-11
33
0
0
0
0
0
0
0
-1
13
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
22
-96
0
0
0
0
0
0
0
19
34
-31
0
0
-52
0
0
-1
-25
28
31
0
0
0
0
0
3
-70
21
13
0
0
0
0
0
-7
1
33
-67
0
0
0
0
0
0
-1
35
-43
0
0
0
0
0
0
-30
-26
17
0
0
0
0
0
0
2
-3
-4
0
0
0
0
0
-2
-3
-20
40
0
0
0
0
0
-1
-32
-18
-4
34
0
88
0
0
-6
-30
30
-17
-17
0
0
0
0
0
-25
-29
34
18
0
0
0
0
0
-14
6
-37
0
0
0
0
0
0
20
-21
-87
22
0
9
0
0
0
-19
48
-29
-29
0
0
0
0
0
19
18
-50
-37
0
-13
0
-3
4
-45
39
1
-8
0
0
0
-6
1
-32
53
0
0
0
0
0
0
-1
-41
58
0
0
0
0
0
5
-1
-19
0
0
0
0
0
0
0
-4
-90
12
0
0
0
0
0
-1
-2
4
-21
0
0
0
0
0
0
7
-22
-26
0
0
0
0
0
2
0
0
14
0
0
0
0
0
0
-62
42
12
0
0
0
0
2
0
3
-5
16
0
0
0
0
0
0
0
20
35
0
0
0
0
0
0
0
29
-13
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
-2
23
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
4
-41
-10
0
0
0
0
-1
0
14
-4
32
42
0
0
0
0
0
0
20
38
-14
0
0
0
0
0
2
-5
70
-35
0
0
0
0
0
-5
26
-51
19
0
0
0
2
-1
0
17
-72
14
0
0
0
0
0
-1
-7
-9
-25
0
0
0
0
0
0
0
2
-44
0
0
0
0
-3
3
10
0
-72
0
0
0
-3
0
2
-40
-7
-22
12
0
0
0
0
-1
-23
-57
16
4
0
0
0
0
0
-5
16
-20
-19
0
0
0
0
0
-18
-2
-87
-17
0
0
0
1
0
1
-6
-33
-30
0
0
0
0
0
-9
-19
14
6
0
0
0
0
0
4
-2
-110
67
0
0
1
-8
17
29
-1
-13
19
0
0
0
1
-3
20
49
0
0
0
2
0
0
8
6
-3
0
0
0
0
0
-7
-2
-23
18
0
0
44
0
0
0
87
-83
6
0
0
0
0
0
0
-31
29
35
0
0
0
0
0
0
-22
-61
48
0
0
0
0
0
4
4
-36
11
0
0
4
0
0
-1
-24
20
0
0
0
0
0
0
2
15
-14
-38
0
0
0
4
0
-1
-2
-34
-5
0
0
0
0
0
0
0
11
-30
0
0
-65
0
0
0
13
-41
13
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
2
-6
10
0
0
0
0
0
0
-3
0
3
0
0
-4
0
0
0
13
-42
25
0
0
0
0
1
-2
30
23
-29
32
0
0
2
0
0
-8
-5
42
14
0
0
0
0
-2
-14
2
47
5
0
16
0
0
0
13
-27
-13
48
0
0
0
0
0
13
-8
27
-46
0
0
0
0
0
-1
-9
-14
-25
0
0
0
0
0
0
-1
-6
1
0
-7
0
0
0
0
-21
16
13
0
0
0
0
-2
-5
-15
17
32
-1
0
-3
0
0
-6
33
-20
7
24
0
0
0
0
1
23
-6
-69
3
-1
0
0
-1
3
-1
-5
44
-21
0
0
0
0
0
-56
14
-37
-5
0
0
0
1
-2
10
-7
-32
24
0
0
0
-2
0
-6
-6
-37
12
-4
-2
2
44
-38
-71
-10
23
-12
0
0
8
-26
7
7
0
0
0
0
0
0
0
7
-9
-26
0
0
0
0
0
1
-8
-61
41
0
0
0
0
0
0
-24
-5
32
0
0
0
0
-2
16
-6
2
-4
0
0
0
0
0
0
-3
-24
56
0
0
0
0
0
0
4
-2
-24
0
0
0
0
0
0
-12
19
-20
0
0
0
0
0
-1
2
-29
1
0
0
0
0
0
0
5
13
-34
0
0
0
0
0
-1
-2
-9
29
0
0
0
0
0
0
-10
24
-39
0
0
0
0
-1
-2
0
-8
38
0
0
0
0
0
0
-3
-2
65
0
0
0
0
0
-3
3
-12
-4
0
0
0
0
0
0
8
10
-13
0
0
0
0
1
-10
-40
12
59
9
0
0
0
0
-1
0
20
-46
-14
0
0
0
0
0
1
-10
13
9
0
0
0
0
0
2
-4
5
-30
0
0
0
-1
0
1
-2
6
37
0
0
0
0
0
-2
-14
-51
34
0
0
0
0
0
0
1
3
-21
0
0
0
0
-2
13
6
1
-45
0
0
0
-2
-4
1
-12
14
-61
9
0
0
0
0
-2
19
-8
31
-14
0
0
0
0
0
1
0
-122
15
0
0
0
0
3
-20
-8
-28
4
0
0
-1
0
6
0
-3
-59
-20
0
0
0
0
1
-10
0
-43
9
0
0
2
-1
-2
-1
-8
-100
58
0
0
11
-18
52
-9
-36
5
6
0
0
-1
0
-9
1
4
0
0
0
14
0
1
-1
-38
9
0
0
0
0
0
1
-8
-25
-7
0
0
0
0
0
-6
-26
64
-10
0
0
0
0
0
0
1
-13
52
0
0
0
-1
0
0
-7
-38
71
0
0
0
0
0
0
1
19
-45
0
0
0
0
0
3
-6
-2
-31
0
0
0
0
0
2
0
-27
80
0
0
0
-16
0
0
2
-43
38
0
0
0
0
0
0
-1
17
-46
0
0
0
1
0
0
2
-33
5
0
0
0
0
0
0
0
-2
-11
0
0
0
-2
0
0
0
8
-55
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-5
-5
-5
0
0
0
0
0
0
-4
-27
36
24
0
0
-10
0
0
-2
-25
50
15
0
0
0
0
0
1
-13
16
7
0
0
0
0
0
1
-7
16
-27
0
0
0
0
0
1
-18
-25
54
0
0
24
0
0
-1
-8
-4
-28
0
0
0
0
0
-2
6
6
-26
0
0
0
0
0
0
0
1
30
0
0
0
0
-2
3
-4
-7
-66
32
0
-48
0
0
0
16
-48
-48
84
0
0
0
0
0
3
-2
-20
-25
0
2
0
0
0
-29
-5
-32
-44
0
0
0
0
0
-13
23
58
-43
0
25
0
0
0
1
8
-61
8
0
0
0
0
-2
2
-1
-24
-13
0
0
-2
-12
6
-26
11
-48
28
0
0
4
-49
21
25
28
0
0
0
0
0
3
0
33
12
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
-4
-58
16
36
0
0
0
0
0
0
-4
-8
51
0
0
0
0
0
-8
-1
4
20
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
-25
-25
7
3
0
0
0
0
2
0
0
5
-6
0
0
0
0
0
0
0
-42
4
0
0
0
0
0
-1
-8
-9
13
0
0
0
0
0
0
2
-69
61
0
0
0
0
-2
0
0
0
14
0
0
0
0
0
1
0
-3
40
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
4
8
30
-28
0
0
0
0
-15
0
-1
8
8
14
0
0
0
0
0
0
-2
35
-37
0
0
0
-1
0
-2
-20
-14
-7
0
0
0
0
0
-4
-13
-14
36
0
0
0
0
1
1
-14
8
61
0
0
0
0
0
1
0
2
-10
0
0
0
0
0
0
0
-1
-78
0
0
0
0
-5
0
0
0
21
0
0
0
15
1
3
-6
-5
-6
43
0
0
0
0
0
14
69
-24
-67
0
0
2
0
0
-17
2
-96
62
0
0
0
0
0
-10
-16
15
-32
0
0
16
0
-2
-1
-1
-105
109
0
0
0
0
0
-21
-22
-23
19
0
0
-32
1
0
-4
0
4
-28
0
0
-48
9
2
-2
49
6
0
0
0
32
4
8
30
0
0
0
0
50
-50
-6
-15
-27
52
0
0
0
0
33
39
40
21
-3
0
0
-1
58
18
-8
-23
34
-34
0
0
0
0
-16
5
-28
-6
53
0
0
0
31
18
-40
-33
-30
-7
0
0
0
0
-5
-42
-1
33
-50
0
0
19
36
23
-21
-59
-20
2
0
0
0
0
54
28
5
-17
11
0
0
0
2
1
-7
45
-15
26
0
0
0
0
17
23
-27
-51
4
0
0
20
44
-10
133
-3
-48
-27
0
0
0
0
-17
-5
-3
-22
2
0
0
0
-36
-2
-24
9
-10
-45
0
0
0
0
-66
-13
32
-64
11
0
0
3
6
-2
-45
-17
-60
15
0
0
0
0
-16
60
22
11
35
19
0
0
-89
-9
-13
-21
2
9
25
0
0
0
-26
40
12
2
56
5
0
0
-45
44
-94
4
-16
84
-36
0
0
0
75
-39
13
-12
79
-16
0
0
-21
-12
-29
33
-48
-20
2
0
0
0
-62
6
-36
3
32
-14
0
-37
-23
-53
13
56
-60
-2
-1
0
0
0
33
-33
23
-23
24
-8
37
0
19
-2
-59
-84
2
4
20
-12
0
0
-129
-33
-22
20
13
-21
-7
-11
1
14
51
-96
-59
24
-53
11
0
0
18
38
50
-4
0
-21
13
0
-28
16
-82
46
-15
-15
-18
10
0
0
29
0
13
-4
8
-31
-6
-88
-13
49
-42
-8
10
3
-41
-47
0
0
10
41
-46
13
31
0
0
0
0
17
-39
-17
5
35
0
0
0
0
-16
-57
87
-58
20
0
0
0
0
0
52
-56
37
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
12
113
-81
50
0
0
0
0
0
0
7
15
-4
0
0
0
0
31
-75
52
-33
30
0
0
0
0
0
-1
1
2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
-45
42
-2
0
0
0
0
0
4
10
8
-4
0
0
0
0
0
-27
3
-34
37
0
0
0
0
0
32
7
-68
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
40
-28
39
1
0
0
0
0
0
1
-48
26
87
0
0
0
0
0
2
-8
-13
45
0
0
0
0
0
-4
3
-19
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
54
15
13
0
0
0
-19
-57
-9
66
-48
26
0
0
0
0
56
13
-44
17
-34
0
0
0
38
2
-49
4
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
22
0
0
12
-31
2
0
0
0
0
0
0
2
-23
9
0
0
0
-7
0
2
6
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-64
15
0
0
0
6
-5
-34
27
46
31
0
0
0
0
0
-1
9
-34
96
0
0
0
0
0
-7
-12
15
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
33
0
0
0
28
0
-40
-28
-15
32
0
0
0
0
0
0
-6
25
7
0
0
0
-1
0
-1
13
10
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-10
-12
-9
0
0
0
0
-3
-18
12
-52
63
0
0
0
0
18
-7
3
3
20
0
0
0
0
-6
11
-40
35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
65
-32
0
0
0
0
0
0
-3
-29
34
0
0
0
0
0
2
-5
-4
24
0
0
0
0
0
1
-34
9
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
44
-20
44
0
0
0
0
0
1
-8
-7
-23
0
0
0
0
0
24
-41
-5
68
0
0
0
0
1
-4
37
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
-37
0
0
0
0
0
0
0
-18
31
0
0
0
0
0
0
-5
-16
5
0
0
0
0
1
0
-2
-80
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
28
-22
12
0
0
0
0
0
-32
43
7
-27
0
0
0
0
-1
-44
47
-48
5
0
0
-42
-15
-4
12
44
26
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
3
-21
0
0
0
0
0
0
-15
-111
91
0
0
0
0
0
5
0
43
-29
0
0
19
0
0
0
38
-93
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
2
0
0
0
0
0
1
-15
44
33
0
0
0
0
-2
-4
61
-57
-25
0
0
-16
0
0
5
49
14
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
24
-2
0
0
0
0
0
5
3
-54
-18
0
0
0
0
0
0
-4
-32
-14
0
0
95
0
0
3
-6
-61
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-27
2
6
23
0
0
0
0
0
46
39
28
-28
0
0
0
0
0
2
18
23
-15
0
0
0
0
0
-8
37
33
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-78
-17
53
32
0
0
0
0
0
0
-24
34
-13
0
0
0
0
0
10
46
-33
-25
0
0
0
0
0
2
2
-36
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-76
31
25
85
0
0
0
0
0
0
-8
8
-41
0
0
0
0
0
-2
8
-10
-25
0
0
0
0
0
0
5
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
83
-5
-54
-9
0
0
0
0
0
0
5
-100
11
0
0
0
0
-1
-3
-3
-9
36
0
0
0
0
0
0
-1
-3
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
1
3
15
-55
58
0
0
0
33
0
-8
-104
3
43
0
0
0
0
-3
8
55
-47
11
0
0
0
0
0
5
23
35
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
-24
15
0
0
0
-31
2
-1
-28
-9
8
0
0
0
0
0
-5
-8
-11
11
0
0
0
-2
0
1
-16
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-28
-6
0
0
0
1
0
0
53
-23
3
0
0
0
0
0
-1
-6
-6
-40
0
0
0
0
0
-1
-10
-47
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
70
0
0
0
0
0
-3
-31
78
-32
0
0
0
0
0
0
-2
3
10
0
0
0
0
0
-1
3
-23
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-29
107
63
-31
0
0
0
0
0
-3
-10
70
-61
0
0
0
0
0
21
-12
-42
12
0
0
0
0
-2
-7
67
-72
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
0
0
0
0
0
-1
-23
34
0
0
0
0
-4
0
0
-4
26
0
0
0
0
0
-1
-5
-25
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
19
-24
1
0
0
0
0
0
0
7
5
-6
0
0
0
0
0
0
2
-34
-8
0
0
0
0
0
2
6
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
57
14
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
-2
0
50
8
0
0
0
0
0
0
-6
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
19
-22
-21
0
0
0
0
0
-16
19
1
16
0
0
0
0
3
2
-71
61
-15
0
0
-1
0
-5
-51
78
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-13
-40
-31
0
0
0
0
0
2
1
14
-24
0
0
0
0
0
-1
-51
-2
31
0
0
-5
0
0
38
17
-6
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-37
5
0
0
0
2
0
0
16
-77
70
0
0
0
0
-1
-8
-9
-30
4
0
0
0
0
0
-82
2
29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-6
-25
0
0
0
0
0
-1
51
-20
36
0
0
0
0
0
-2
-29
13
39
0
0
0
0
0
-2
36
9
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-33
31
-66
82
0
0
0
0
0
5
64
15
-31
0
0
0
0
-2
25
-5
14
11
0
0
0
0
0
-2
46
-84
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
42
5
40
0
0
0
0
0
0
-4
37
10
0
0
0
0
0
-13
-1
29
-12
0
0
0
0
0
0
-7
8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-32
-19
-27
33
0
0
0
0
0
-2
69
-20
25
0
0
0
0
0
-18
59
-46
21
0
0
0
0
-1
5
-25
-49
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
61
87
-9
-42
0
0
0
0
0
-2
19
53
25
0
0
0
0
-4
-34
6
64
3
0
0
0
0
0
-10
-9
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-66
31
0
0
0
36
-1
53
-73
14
16
0
0
0
0
0
13
-2
-19
-44
0
0
0
0
0
-6
-60
34
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
19
0
0
0
2
0
0
2
14
-22
0
0
0
0
0
0
0
-42
19
0
0
0
0
0
0
-21
-32
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-5
10
0
0
0
21
-3
21
12
-52
-15
0
0
0
0
0
0
-8
42
-14
0
0
0
0
0
-2
-8
-26
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-25
3
0
0
0
32
0
0
40
-26
-15
0
0
0
0
0
-2
-2
-1
20
0
0
0
0
0
1
16
-102
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
26
-57
41
0
0
0
0
0
1
-18
-71
39
0
0
0
0
0
-6
-2
-4
35
0
0
0
0
1
-19
-52
46
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
93
0
0
0
0
0
0
-1
-83
67
0
0
0
0
0
3
-5
21
0
0
0
0
0
0
0
-5
-16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-41
11
10
0
0
0
0
0
19
-42
-17
35
0
0
0
0
-5
-12
-5
92
-39
0
0
0
0
1
-10
27
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-2
6
0
0
0
0
0
0
-2
-68
35
0
0
0
0
-2
5
3
-34
-28
0
0
0
0
0
0
7
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-33
45
0
0
0
-10
0
-5
30
5
7
0
0
0
0
0
-7
-10
-23
17
0
0
80
0
0
-5
56
28
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
42
-19
0
0
0
0
0
1
-7
20
4
0
0
0
0
0
0
12
-61
-22
0
0
26
0
0
9
-20
-71
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
26
-52
50
0
0
0
0
0
4
4
-4
-7
0
0
0
0
0
-1
20
27
-43
0
0
-58
-14
0
37
19
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-28
21
0
0
0
0
0
0
-4
-61
66
0
0
0
0
0
-1
10
-41
-19
0
0
-12
0
0
0
7
-34
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
6
-29
65
0
0
0
0
0
-3
1
-35
-12
0
0
0
0
0
7
-7
-93
38
0
0
0
0
0
0
-2
-43
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
29
-31
-34
0
0
0
0
0
0
4
0
-28
0
0
0
0
-1
16
8
-7
-46
0
0
0
0
0
0
-1
-3
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
78
-8
21
0
0
0
0
0
-2
8
5
-3
0
0
0
0
0
-2
-7
-51
45
0
0
0
0
0
0
20
-41
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
64
-56
15
0
0
0
0
0
0
-16
15
4
0
0
0
0
-5
3
-13
-17
80
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-115
36
0
0
0
14
0
0
-47
-4
24
0
0
0
0
0
0
0
-52
-17
0
0
0
0
0
0
-38
32
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
11
0
0
0
0
0
0
8
4
-1
0
0
0
0
0
0
0
-54
32
0
0
0
1
0
-3
-8
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
16
0
0
0
0
0
-1
-21
-5
55
0
0
0
0
0
0
2
-21
-15
0
0
0
0
0
0
-18
-45
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-27
49
0
0
0
7
0
0
-2
-17
-17
0
0
0
0
0
0
-1
-34
-12
0
0
0
0
0
0
16
-47
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
25
-4
39
0
0
0
0
0
-3
19
-13
-19
0
0
0
0
0
-6
-5
-48
31
0
0
0
0
0
7
-40
56
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
3
0
0
0
0
0
-1
0
-27
38
0
0
0
0
0
-2
-2
0
16
0
0
0
0
0
0
6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-25
-5
-11
0
0
0
0
0
0
20
-50
-50
0
0
0
0
0
0
0
2
37
0
0
0
0
0
0
-7
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-5
-65
37
0
0
0
0
0
1
1
-40
21
0
0
0
0
0
-1
-1
-16
20
0
0
0
0
0
13
-28
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
31
19
-60
31
0
0
0
2
0
-16
-9
-12
7
0
0
0
0
-3
-16
47
-5
-20
0
0
-32
1
0
29
33
17
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-3
-50
46
0
0
0
0
0
-1
-4
-11
57
0
0
0
0
0
-20
-42
-40
31
0
0
8
0
0
-9
29
-41
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
-16
-13
0
0
0
0
0
5
-11
-27
27
0
0
0
0
-1
3
-7
-31
39
0
0
-12
0
0
-48
-37
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
40
-32
37
-34
0
0
0
-15
0
7
25
-16
23
0
0
0
0
-1
-16
-29
2
27
0
0
39
0
0
-50
-64
90
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-32
56
-1
0
0
0
0
0
1
3
-67
27
0
0
0
0
-1
42
13
-21
-13
0
0
0
0
2
17
-23
-37
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-36
34
21
45
0
0
0
0
0
0
-14
-56
94
0
0
0
0
-2
-5
6
-29
43
0
0
0
0
-3
9
-24
-68
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
36
3
17
21
20
0
0
0
0
-2
31
89
-10
5
0
0
0
3
-10
28
16
0
-17
0
0
0
0
-2
-21
-13
78
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
12
20
75
43
-11
0
0
0
0
-24
5
16
7
36
0
0
0
-1
-3
-24
41
-5
-7
0
0
0
0
0
6
-92
-5
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
-42
22
0
0
0
31
0
-27
-4
25
11
0
0
0
0
0
-6
10
-68
-11
0
0
0
2
0
2
-54
-34
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-43
63
0
0
0
19
0
-2
-3
53
-81
0
0
0
0
0
1
1
4
26
0
0
0
0
0
0
9
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-50
-20
8
0
0
77
4
-8
-27
-47
49
16
0
0
0
-1
-1
-5
19
-49
1
0
0
0
0
0
7
12
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-34
63
3
0
0
0
0
4
31
-57
-20
40
0
0
0
0
0
0
-28
-62
-2
0
0
1
0
0
-5
91
-28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-13
-7
81
0
0
0
0
0
0
8
-54
25
0
0
0
0
-9
-5
-14
-76
13
0
0
0
0
8
-4
11
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-69
-34
69
0
0
0
0
0
-1
0
-12
18
0
0
0
0
2
5
5
-53
-21
0
0
0
0
0
-6
-9
29
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-15
65
42
6
0
0
0
0
-1
1
63
-19
-17
0
0
0
-1
1
12
0
30
-6
0
0
0
0
0
9
9
28
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
-44
37
-6
0
0
0
0
-1
-2
-127
-10
48
0
0
0
-2
2
-8
-66
95
-17
0
0
0
-3
-1
23
-29
22
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
-44
39
0
0
0
0
0
-6
44
-49
15
0
0
0
0
1
-8
-36
-10
38
0
0
-9
0
0
13
39
-80
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-84
63
0
0
0
0
0
-1
-47
-22
86
0
0
0
0
0
0
14
-34
-19
0
0
-12
0
-1
-17
72
13
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-64
50
-13
-8
0
0
0
0
1
7
-40
11
-28
0
0
0
0
4
-7
-67
12
21
0
102
0
0
30
-20
-51
-62
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
9
-8
0
0
0
0
-4
14
11
70
-107
0
0
0
-3
5
10
-54
-22
43
0
13
0
0
-4
-36
-26
-45
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
6
25
-9
0
0
0
0
0
-3
10
-21
-10
0
0
0
0
0
-7
-14
-34
6
0
0
0
0
0
-1
-12
-21
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-23
50
-51
71
0
0
0
0
0
0
1
0
-7
0
0
0
0
1
0
1
8
31
0
0
0
0
0
0
-4
1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
48
61
44
44
6
0
0
0
0
1
-7
4
37
-17
0
0
0
-2
-7
-2
-12
-13
-18
0
0
0
0
0
-14
-4
36
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-54
46
15
21
2
0
0
0
0
1
-2
-24
71
-59
0
0
0
-3
-2
5
11
50
-14
0
0
0
0
-2
10
-8
-37
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
13
89
0
0
0
59
0
0
-36
3
-33
0
0
0
0
0
0
16
-24
-34
0
0
0
0
0
0
15
-57
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-46
0
0
0
-11
0
2
10
-52
-8
0
0
0
0
0
0
2
-16
-21
0
0
0
1
0
0
16
-6
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
-1
-6
0
0
-5
0
-3
5
-15
33
-24
0
0
0
0
0
3
6
-45
-6
0
0
0
0
0
-10
5
34
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
28
-11
-66
0
0
23
0
1
-19
-13
5
45
0
0
0
0
0
1
7
11
-90
0
0
-3
0
0
-33
9
6
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-13
13
-3
0
0
0
0
0
-2
-6
-19
18
0
0
0
0
0
1
-2
-58
-2
0
0
0
0
0
-1
-42
-27
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
22
-34
0
0
0
0
0
0
1
7
-1
0
0
0
0
0
5
0
32
-8
0
0
0
0
0
0
-1
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-38
9
-20
0
0
0
0
0
0
2
19
-60
0
0
0
0
0
0
-7
13
4
0
0
0
0
0
2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
20
-27
-6
-26
0
0
0
0
0
-2
25
1
-36
0
0
0
0
-3
0
10
-40
2
0
0
0
0
0
2
-6
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-39
34
0
0
0
0
0
2
9
-52
47
0
0
0
0
-1
2
10
-27
13
0
0
7
0
0
9
-2
31
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
21
-13
49
0
0
0
-1
0
-1
-13
-2
70
0
0
0
0
3
-1
-46
-11
-15
0
0
18
0
0
-8
56
-35
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-24
-52
65
-46
0
0
0
0
1
15
-20
-56
-41
0
0
0
1
-7
-6
-23
32
4
0
3
0
0
2
-7
-1
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-28
-1
0
0
0
0
1
18
12
-66
40
0
0
0
0
4
0
-69
12
-23
0
-109
0
0
6
-13
44
60
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
89
8
12
-14
0
0
0
0
0
3
12
-26
26
0
0
0
0
-1
5
-27
-18
-32
0
0
0
0
0
0
-10
-36
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-11
40
20
11
0
0
0
0
0
5
50
-40
-10
0
0
0
0
-1
19
41
-29
34
0
0
0
0
0
-8
-14
-8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
-24
8
53
-15
0
0
0
0
0
-4
-45
25
35
0
0
0
0
17
6
-18
-36
24
0
0
0
0
2
5
14
52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-47
34
59
51
-5
25
0
0
0
9
-25
-26
2
20
18
0
0
2
-41
8
-47
-35
-35
-4
0
0
0
-17
9
-24
30
-16
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
-3
0
0
0
-5
0
-30
17
-4
-12
0
0
0
0
0
-8
0
-23
-5
0
0
0
0
0
0
-6
-10
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-32
2
0
0
0
60
0
-1
-23
-67
-17
0
0
0
0
0
0
-5
53
-30
0
0
0
1
0
1
4
-45
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-52
64
-13
0
0
76
1
-3
-37
-41
-20
44
0
0
0
0
0
0
-19
13
11
0
0
0
0
2
7
-7
-16
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-62
-9
-20
35
0
-115
0
23
-24
-29
40
-115
23
0
0
0
6
-7
-28
29
-25
-40
0
2
0
0
5
-5
24
-34
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
48
-29
0
0
0
0
0
-1
1
-26
28
0
0
0
0
1
1
-2
-5
-13
0
0
0
0
0
-1
-27
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
30
15
-39
0
0
0
0
0
-1
-1
-21
23
0
0
0
0
0
0
0
-39
51
0
0
0
0
0
-3
1
-17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
1
43
47
-55
0
0
0
0
-2
7
-10
-7
-20
0
0
0
-4
-5
-41
38
-43
29
0
0
0
-6
3
22
-67
-37
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-5
6
-60
-34
7
0
0
0
-2
-12
-37
18
-22
1
0
0
-3
0
0
2
-9
-59
6
0
0
0
3
1
-33
9
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-23
-24
0
0
0
0
0
2
-10
-15
59
0
0
0
0
0
3
4
23
-32
0
0
27
0
0
3
-43
-4
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
23
30
0
0
0
0
0
1
-23
-51
30
0
0
0
0
0
-2
2
-13
-18
0
0
2
0
0
0
-23
-18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
12
53
-43
0
0
-4
0
0
37
-83
50
24
0
0
0
0
3
22
-8
47
-12
0
25
0
0
-41
-2
-33
39
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
11
-48
-29
-2
0
0
0
-3
-23
28
95
-73
-40
0
0
0
-4
31
-17
13
-12
3
-110
0
0
2
-99
-35
1
-77
-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
44
33
23
13
-59
0
0
0
0
0
2
48
15
-21
0
0
0
0
0
-16
8
-22
-11
0
0
0
0
0
0
-30
-33
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
9
42
23
-44
0
0
0
0
0
0
-2
-45
34
0
0
0
0
-2
-41
-7
-12
42
0
0
0
0
0
0
0
-50
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
80
77
73
43
-33
0
0
0
0
-2
1
20
11
20
0
0
0
0
-29
1
-6
23
37
0
0
0
0
0
0
-72
-10
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-3
3
22
-7
-8
25
0
0
0
0
0
-20
4
-50
-20
0
0
-5
-5
-29
0
74
-6
18
0
0
0
-3
-33
-16
38
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-15
14
0
0
0
-9
0
5
-18
-56
24
0
0
0
0
-2
-1
-33
1
6
0
0
0
-44
0
0
-10
-23
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-38
48
0
0
0
11
0
-4
13
-8
-40
0
0
0
0
0
0
-7
17
-35
0
0
0
-30
0
0
-6
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-47
3
5
0
0
-50
0
13
-60
-44
106
-53
0
0
0
1
-4
4
42
57
-70
0
0
2
0
0
-20
-26
-3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
4
-24
-16
12
0
-36
0
1
27
2
-21
-21
-16
0
0
-1
0
3
-25
43
-23
-47
0
-5
0
-5
-28
15
0
39
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-54
39
-30
37
0
0
0
0
0
2
-40
-22
44
0
0
0
0
0
-8
8
-31
70
0
0
0
0
1
-15
14
-7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
5
-3
-85
-13
0
0
0
0
0
-3
-7
-3
-1
0
0
0
0
-2
0
-3
23
32
0
0
0
0
0
-12
8
60
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
73
66
-43
-13
-16
0
0
0
-2
-12
8
-23
16
12
0
0
0
0
-75
-22
-45
44
41
0
0
0
-1
64
-2
-6
8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-73
-27
28
-13
-22
19
0
0
-3
0
12
-60
31
-46
-15
0
0
-3
-21
-3
-72
1
8
24
0
0
0
-6
-27
0
21
-68
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
40
-10
-15
0
0
0
-34
-9
-44
-52
17
-6
0
0
0
0
-18
4
-59
9
23
0
0
46
-20
-24
9
64
-20
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-37
-19
42
8
0
0
0
-23
0
-12
11
62
-40
0
0
0
0
-20
23
36
-28
-3
0
0
-12
-41
0
35
-52
-55
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
18
43
41
-53
-12
0
0
5
-23
-30
-68
-26
27
10
0
0
0
12
-17
-77
38
-1
-21
0
-82
69
4
-61
-11
-124
47
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-45
36
-22
31
-68
-1
0
22
-2
0
-40
-31
6
7
-29
0
0
0
-16
-12
0
37
-60
23
-7
3
0
17
-16
-30
-25
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
34
14
53
22
0
0
0
0
0
-9
28
25
21
0
0
0
0
24
14
-14
-36
21
0
0
0
0
2
35
0
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
-4
-23
62
0
0
0
0
0
0
-25
120
-3
0
0
0
0
-1
4
29
-66
11
0
0
0
0
0
-3
12
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-37
8
-87
65
0
0
0
0
0
-3
-4
20
11
0
0
0
0
4
-6
-7
12
9
0
0
0
0
0
2
-12
-10
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
16
-27
13
24
0
0
0
0
0
0
22
-48
21
0
0
0
0
0
-10
-12
-53
62
0
0
0
0
0
0
8
-33
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
40
5
0
0
0
43
1
-21
-26
1
17
0
0
0
0
0
0
4
1
9
0
0
0
3
0
21
-22
-47
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-26
4
0
0
0
16
0
-1
0
-50
-11
0
0
0
0
0
0
0
29
33
0
0
0
1
0
0
-23
18
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
41
-5
0
0
0
23
1
0
-4
-9
-6
0
0
0
0
0
0
-1
-20
4
0
0
0
0
0
2
-10
34
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-29
0
0
0
2
0
-2
3
-12
0
0
0
0
0
0
0
-2
-18
18
0
0
0
0
0
0
-5
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
36
-38
-2
0
0
0
0
0
-2
44
-124
51
0
0
0
0
5
-14
2
-26
28
0
0
0
0
0
2
-56
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
5
28
-44
0
0
0
0
0
0
13
-32
-11
0
0
0
0
0
0
-17
8
-30
0
0
0
0
0
0
5
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
11
-55
5
0
0
0
0
0
0
-1
-36
91
0
0
0
0
3
-5
-33
20
26
0
0
0
0
0
0
-4
-28
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-42
15
2
0
0
0
0
0
0
-53
2
18
0
0
0
0
0
-4
3
-1
-27
0
0
0
0
0
0
2
-34
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
21
13
30
0
0
0
0
0
5
-33
12
7
0
0
0
0
0
-3
-21
-15
24
0
0
89
-4
-1
30
-22
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-47
34
0
0
0
-9
0
0
-16
-8
-28
0
0
0
0
0
0
-11
30
19
0
0
-33
0
0
2
28
40
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
19
16
0
0
0
0
0
0
33
7
-18
0
0
0
0
0
0
18
-42
-1
0
0
11
0
0
4
-43
-61
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
32
-29
0
0
0
4
0
-3
-49
-21
21
0
0
0
0
0
0
4
-17
7
0
0
-5
0
0
0
27
2
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
45
-57
-12
20
0
0
0
0
0
-4
42
-22
-16
0
0
0
0
0
-3
2
27
24
0
0
0
0
0
1
94
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
25
-10
-30
0
0
0
0
0
-2
-2
55
-69
0
0
0
0
0
3
5
-29
45
0
0
0
0
0
3
4
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-28
41
-58
32
0
0
0
0
0
-24
46
-4
21
0
0
0
0
0
-2
11
-45
14
0
0
0
0
0
0
-20
-17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-13
43
-1
0
0
0
0
0
0
1
-3
44
0
0
0
0
0
-2
5
27
-4
0
0
0
0
0
1
6
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
25
-48
15
0
0
0
11
0
1
-52
23
14
0
0
0
0
0
0
-4
-23
18
0
0
0
0
0
0
-9
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
54
0
0
0
3
0
2
-4
16
-3
0
0
0
0
0
0
0
8
9
0
0
0
0
0
-2
5
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-23
29
0
0
0
-9
0
0
-5
-80
75
0
0
0
0
0
0
-2
20
22
0
0
0
0
0
0
51
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-35
-12
0
0
0
-12
0
0
6
16
-16
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
25
-9
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
2
-52
59
0
0
0
0
0
5
25
-12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-13
3
54
0
0
0
0
0
1
0
5
50
0
0
0
0
0
0
0
-40
5
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
17
18
0
0
0
0
0
-2
-2
16
37
0
0
0
0
0
0
-4
4
-20
0
0
0
0
0
2
0
23
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-4
33
0
0
0
0
0
-1
-5
-3
10
0
0
0
0
-2
0
0
-5
6
0
0
0
0
0
0
7
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
28
-24
25
0
0
0
2
0
-38
7
7
-3
0
0
0
0
0
1
15
-6
10
0
0
3
0
0
-34
52
44
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
18
30
27
0
0
0
0
0
4
-77
4
-5
0
0
0
0
0
-4
3
8
6
0
0
0
0
0
8
8
44
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-15
55
47
0
0
0
-1
0
33
41
-84
21
0
0
0
0
0
51
1
-24
-52
0
0
-4
0
0
24
-2
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
14
7
-51
0
0
0
0
0
-12
19
-61
38
0
0
0
0
0
5
1
-26
5
0
0
0
0
0
-12
-27
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-64
17
-20
31
0
0
0
0
0
-17
33
25
-24
0
0
0
0
-1
22
-10
-64
18
0
0
0
0
0
8
-8
7
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
17
34
47
-8
-2
0
0
0
0
0
0
4
3
43
0
0
0
0
0
-3
7
56
9
0
0
0
0
0
-1
-16
46
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
49
21
-1
-8
0
0
0
0
0
2
14
-41
11
0
0
0
0
0
2
0
-32
2
0
0
0
0
0
1
2
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
11
41
0
0
0
0
0
0
-3
35
7
0
0
0
0
0
0
2
3
5
0
0
0
0
0
-5
1
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-5
24
0
0
0
7
0
9
-11
-4
-1
0
0
0
0
0
-1
-4
-13
64
0
0
0
5
0
-2
-17
-36
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
44
0
0
0
34
0
-1
4
-12
-21
0
0
0
0
0
0
0
31
-8
0
0
0
0
0
0
7
-56
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
21
0
0
0
-23
0
-2
2
-7
52
0
0
0
0
0
0
-3
-5
-6
0
0
0
0
0
0
-1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
-18
0
0
0
-3
0
1
0
-21
-3
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-8
-18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
34
-11
6
0
0
0
0
0
0
-4
-6
-26
0
0
0
0
-1
17
0
-22
-10
0
0
0
0
0
1
-20
13
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
16
-11
0
0
0
0
0
0
-1
-38
-26
0
0
0
0
0
-30
46
-38
3
0
0
0
0
0
0
8
-54
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
6
39
0
0
0
0
0
-1
-9
0
-22
0
0
0
0
0
-1
0
-16
-5
0
0
0
0
0
0
-5
14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-32
16
0
0
0
0
0
0
-1
-16
64
0
0
0
0
-1
6
1
32
-48
0
0
0
0
0
0
0
38
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
59
30
-24
0
0
0
0
0
-2
-42
12
12
0
0
0
0
0
0
-7
-19
54
0
0
31
0
-2
-19
10
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
7
55
0
0
0
2
0
1
61
-37
19
0
0
0
0
0
1
-16
-22
-8
0
0
-25
-1
0
13
-24
-102
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
20
-47
0
0
0
0
0
1
-12
21
8
0
0
0
0
0
-1
1
-41
9
0
0
5
0
0
-9
8
25
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
17
0
0
0
0
0
-5
7
-30
76
0
0
0
0
0
0
-1
-49
24
0
0
8
0
0
0
13
-70
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
18
-47
53
-8
0
0
0
0
0
0
-5
-18
36
0
0
0
0
0
0
-5
44
5
0
0
0
0
0
0
-7
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-6
2
-39
0
0
0
0
0
0
2
9
-5
0
0
0
0
0
-1
-2
-12
11
0
0
0
0
0
0
-1
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
9
20
-22
0
0
0
0
0
0
-4
-10
31
0
0
0
0
0
0
-2
3
17
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-4
30
-70
0
0
0
0
0
0
3
5
-19
0
0
0
0
0
0
-3
-1
12
0
0
0
0
0
0
4
0
-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
1
-3
-40
17
15
0
0
0
8
0
-2
-3
-24
-10
0
0
0
0
0
0
14
-44
42
0
0
0
0
0
1
-27
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-38
27
0
0
0
-1
0
2
-5
-6
51
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
6
70
0
0
0
-9
0
0
3
-25
68
0
0
0
0
0
0
1
-3
17
0
0
0
0
0
0
-2
24
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
50
0
0
0
2
0
0
0
-15
75
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
59
19
-56
30
0
0
0
0
0
1
-4
-56
42
0
0
0
0
-19
7
3
-95
1
0
0
0
0
0
0
47
-31
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-42
-19
1
73
0
0
0
0
0
0
0
-12
-11
0
0
0
0
4
1
-8
20
-2
0
0
0
0
0
0
1
-73
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
17
5
2
-56
0
0
0
0
0
0
4
-4
-56
0
0
0
0
-2
-3
-5
16
7
0
0
0
0
0
0
1
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
6
-14
-1
0
0
0
0
0
0
0
-6
51
0
0
0
0
-6
6
1
1
0
0
0
0
0
0
-1
-13
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-59
68
-28
-30
0
0
0
0
0
20
-15
-29
12
0
0
0
0
0
-15
58
-10
-27
0
0
-20
3
-2
6
-75
14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
-9
-14
5
0
0
0
1
0
-21
10
-58
44
0
0
0
0
-2
73
-31
26
-14
0
0
0
0
0
38
7
-31
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
27
31
-54
24
0
0
0
35
0
-16
-11
23
2
0
0
0
0
0
-29
24
-74
25
0
0
-3
0
0
-12
51
36
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
44
-52
14
-14
0
0
0
-5
0
-26
40
-76
9
0
0
0
0
-1
40
-13
-6
23
0
0
9
0
0
-32
37
-14
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
73
-55
35
0
0
0
0
0
2
-2
-9
-26
0
0
0
0
-2
-3
-8
-7
-38
0
0
0
0
0
0
4
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
40
-9
22
-7
0
0
0
0
0
0
12
-49
22
0
0
0
0
0
0
2
-18
46
0
0
0
0
0
-1
0
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
82
1
56
24
4
0
0
0
0
5
84
46
-52
-6
0
0
0
-7
17
14
-21
24
23
0
0
0
0
13
-34
56
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-38
-4
-9
7
10
0
0
0
0
0
6
7
96
-78
0
0
0
0
2
-2
52
10
15
0
0
0
0
0
19
-56
21
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-22
-21
0
0
0
-1
0
3
-20
-43
22
0
0
0
0
0
0
-2
-45
25
0
0
0
0
0
0
-8
27
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-35
-12
0
0
0
14
0
1
7
-100
17
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
-50
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
42
3
12
0
0
83
0
0
-51
-4
-7
15
0
0
0
0
0
6
5
37
-12
0
0
0
0
0
-16
-7
23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-25
-45
48
0
0
-18
0
-1
3
55
-4
-4
0
0
0
0
0
0
2
53
-63
0
0
-4
0
0
3
43
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
-51
89
0
0
0
0
0
0
-2
-29
30
0
0
0
0
0
-2
-2
17
-4
0
0
0
0
0
-4
1
-31
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-12
26
0
0
0
0
0
0
0
-17
8
0
0
0
0
0
0
-4
-37
30
0
0
0
0
0
0
3
-26
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-10
-17
13
15
0
0
0
0
0
0
-22
17
-10
0
0
0
2
-8
-31
16
5
6
0
0
0
0
0
1
-10
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
18
-29
87
22
0
0
0
0
0
-1
37
-30
-31
0
0
0
0
-5
0
0
-38
-26
0
0
0
0
0
-2
8
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
27
-33
74
0
0
0
0
0
0
11
-16
-8
0
0
0
0
0
0
-29
-3
59
0
0
-1
4
1
8
-19
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-1
36
0
0
0
0
0
0
8
-20
22
0
0
0
0
0
0
0
16
-18
0
0
-9
0
0
0
9
-20
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
58
-27
-32
0
0
0
0
0
0
68
3
-25
-12
0
0
0
0
0
30
-37
13
-23
0
35
0
0
-5
36
-18
36
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-62
20
41
0
0
1
0
-1
-6
-8
53
-66
0
0
0
0
0
0
-51
-15
52
0
-18
0
0
1
-56
30
18
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-8
-5
10
24
0
0
0
0
0
-1
28
-59
-14
0
0
0
0
0
0
-11
-80
43
0
0
0
0
0
0
-5
-21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-56
44
0
0
0
0
0
0
-1
-50
53
0
0
0
0
0
0
0
18
-6
0
0
0
0
0
0
1
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
33
-15
46
40
5
0
0
0
0
3
-43
-59
55
-6
0
0
0
0
0
-9
13
28
-13
0
0
0
0
0
1
-20
-27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
62
-46
7
0
0
0
0
0
-1
-2
-19
-24
0
0
0
0
0
0
28
19
-74
0
0
0
0
0
-2
13
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-10
7
0
0
0
36
0
0
16
-32
-4
0
0
0
0
0
0
0
-6
-31
0
0
0
0
0
0
7
-43
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-53
49
0
0
0
4
0
0
-2
-44
9
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
0
-1
-18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
92
-46
-20
-3
0
0
11
0
-4
21
-58
-38
0
0
0
0
0
0
2
-5
-6
-8
0
0
0
0
0
-20
-48
13
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-38
6
4
0
0
-9
0
4
2
-19
-27
40
0
0
0
0
0
0
1
1
-124
0
0
0
0
0
0
-18
16
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-1
2
-51
16
0
0
0
0
0
0
0
31
27
0
0
0
0
0
3
0
-11
6
0
0
0
0
0
0
-7
-65
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
30
-18
0
0
0
0
0
0
-3
6
-27
0
0
0
0
0
1
0
-17
-30
0
0
0
0
0
0
3
7
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-41
189
-26
0
0
0
0
0
-1
-46
2
-27
0
0
0
0
2
1
-39
0
18
0
0
0
0
-2
-1
-10
25
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-4
27
-23
0
0
0
0
-2
-2
1
-25
23
0
0
0
0
0
0
-13
-2
5
0
0
0
0
0
-4
0
5
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
18
-24
31
0
0
0
-3
0
6
-45
16
66
0
0
0
0
0
1
3
-31
6
0
0
13
0
0
-33
2
-77
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
66
-35
5
0
0
0
-5
0
-1
-34
-17
-10
0
0
0
0
0
-2
-6
14
15
0
0
5
0
0
0
-23
-27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
29
54
-6
10
0
0
2
0
30
-72
29
-53
27
0
0
0
0
-1
-16
47
13
-42
0
-1
0
-1
34
-31
-50
-39
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
38
10
51
-56
0
0
1
0
-2
119
-47
-53
16
0
0
0
1
1
19
-66
-9
-14
0
4
0
0
-14
-34
36
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
7
69
-18
24
0
0
0
0
0
2
13
-72
33
0
0
0
0
-1
16
1
-11
9
0
0
0
0
0
13
-19
-5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-103
22
20
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
1
-1
-30
0
0
0
0
0
0
0
-17
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
21
-23
11
66
25
0
0
0
0
1
-6
-3
-10
15
0
0
0
-2
8
41
-3
-16
5
0
0
0
0
1
-5
-21
26
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-43
59
-4
-3
-42
22
0
0
0
-1
13
-23
39
-11
-18
0
0
-2
-2
-41
-17
88
-3
-23
0
0
2
2
-23
2
22
-19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-39
44
0
0
0
3
0
4
8
-51
-11
0
0
0
0
0
0
4
0
-32
0
0
0
5
0
0
-42
-41
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-14
0
-2
-3
-1
42
0
0
0
0
0
0
0
-7
38
0
0
0
0
0
0
0
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-115
40
10
0
0
-36
0
-3
-23
-29
0
22
0
0
0
0
0
0
8
-70
40
0
0
0
0
-1
20
-47
100
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
6
12
10
0
-4
0
37
7
-63
-50
-17
-29
0
0
0
0
-8
-24
34
-79
-26
0
0
0
2
-18
-12
-3
-7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
-59
55
7
0
0
0
0
0
-1
0
58
-13
0
0
0
0
-6
2
1
-18
33
0
0
0
0
0
0
-1
-63
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-55
0
0
0
0
0
0
0
-34
6
0
0
0
0
-1
1
1
-19
17
0
0
0
0
0
0
-1
15
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
-105
29
37
0
0
0
0
0
0
-47
21
-22
0
0
0
4
-5
4
-9
-21
-6
0
0
0
0
1
-6
-22
48
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
28
36
40
10
-90
-20
0
0
0
0
33
16
-52
44
-5
0
0
0
0
28
-16
-36
-31
13
0
0
0
0
0
57
6
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
8
-4
35
0
0
0
1
0
0
18
-80
10
0
0
0
0
0
0
6
-6
30
0
0
-24
0
-3
-23
48
2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
20
1
0
0
0
0
0
0
8
-26
11
0
0
0
0
0
0
0
-44
-14
0
0
44
0
0
-3
14
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-38
-21
58
24
0
0
-3
0
0
23
-13
-12
24
0
0
0
0
0
1
-31
15
-17
0
-59
0
-3
-1
-42
-108
19
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
-17
-48
-52
24
7
4
0
18
0
-1
-54
-11
-44
-13
20
0
0
0
2
-9
-9
-50
-50
32
8
0
0
-7
-27
-69
-11
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
13
10
-4
0
0
0
0
0
3
46
-44
-37
0
0
0
0
0
-9
27
-3
17
0
0
0
0
0
0
-25
-19
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-4
-20
-29
0
0
0
0
0
-8
-2
-1
6
0
0
0
0
0
0
-1
-3
51
0
0
0
0
0
0
-3
23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
-13
37
-33
-18
0
0
0
0
4
-6
69
59
-56
0
0
0
0
0
3
27
-30
-9
0
0
0
0
-1
13
-23
30
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-28
-11
-63
-2
-5
20
0
0
0
1
-32
-21
9
-41
-3
0
0
-2
-2
-6
20
28
-21
-44
0
0
0
0
5
-44
6
8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-32
2
0
0
0
2
1
-6
25
-9
7
0
0
0
0
-1
7
-1
-26
19
0
0
0
-16
0
-5
-51
15
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-42
17
0
0
0
-12
0
1
-13
34
-25
0
0
0
0
0
0
0
16
-8
0
0
0
0
0
0
-5
2
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
45
-50
14
0
0
10
0
-1
17
-4
11
-20
0
0
0
0
-1
0
-10
27
-15
0
0
0
0
0
1
-58
1
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-93
-56
25
6
0
27
0
-1
-22
-50
-47
32
1
0
0
0
0
-1
-49
9
-39
45
0
0
0
0
17
-26
35
-49
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-38
36
46
-12
0
0
0
0
0
-6
-18
9
10
0
0
0
0
-4
-10
5
-17
13
0
0
0
0
0
2
9
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
-27
-1
39
0
0
0
0
0
-1
2
39
20
0
0
0
0
18
-13
-6
10
3
0
0
0
0
0
0
-10
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-13
17
-48
51
-6
0
0
0
0
-4
0
-23
-9
5
0
0
0
0
1
-3
8
21
-17
0
0
0
0
0
-10
-54
75
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
22
14
59
-1
-74
-31
0
0
0
-1
3
-48
20
-65
2
0
0
-41
2
2
4
21
2
52
0
0
0
0
-3
-55
3
-15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
43
-6
-10
11
0
0
0
-2
7
20
0
-26
-8
0
0
0
0
89
-21
15
0
-4
0
0
13
3
-66
36
18
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-24
22
-4
11
0
0
0
61
-22
-2
-79
-5
20
0
0
0
0
16
59
-14
-73
-1
0
0
49
-14
4
-53
4
16
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
46
60
71
18
5
0
0
2
4
-27
-75
-5
31
6
0
0
0
34
-41
3
10
-3
-9
0
-34
21
17
-52
76
-25
28
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
21
-10
24
22
-16
7
0
-13
33
-2
-29
-63
27
6
-7
0
0
-17
-87
30
13
20
-21
14
-97
-2
14
-143
-53
9
-34
-19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
2
-3
67
0
0
0
0
0
1
-6
18
16
0
0
0
0
0
-16
9
9
31
0
0
0
0
0
0
25
1
-37
0
0
0
0
0
2
-1
-29
12
0
0
0
0
0
0
-6
18
-28
0
0
0
0
1
0
4
8
-6
0
0
0
0
-1
3
-6
-3
-3
0
0
0
0
-3
9
4
3
9
0
0
0
0
0
0
-3
-12
13
0
0
0
0
3
-7
-10
16
20
0
0
0
0
0
6
11
-5
11
0
0
0
0
0
-4
-3
-2
8
0
0
0
0
0
2
-8
15
-20
0
0
0
0
7
12
-1
-34
28
0
0
0
0
-8
-21
51
-20
1
0
0
0
0
1
-8
12
-25
41
0
0
0
0
0
0
-2
4
-7
0
0
0
0
1
0
-5
1
-5
0
0
0
0
0
0
-8
-29
14
0
0
0
0
-8
-3
2
5
-13
0
0
0
0
-2
-1
23
5
-28
0
0
0
0
0
1
-13
20
-4
0
0
0
0
12
-2
-9
0
5
0
0
0
0
-7
13
9
-6
16
0
0
0
0
0
0
0
27
-27
0
0
0
0
8
-2
12
-5
19
0
0
0
0
0
1
-16
-10
10
0
0
0
0
2
27
-12
-24
16
0
0
0
0
2
0
20
-50
52
0
0
0
0
-25
26
0
-12
29
0
0
0
0
9
-32
-14
11
38
0
0
0
0
0
0
7
-9
-2
0
0
0
11
0
8
3
-12
-14
0
0
0
0
0
-2
8
-4
-34
0
0
0
1
0
0
24
2
13
0
0
0
0
1
0
10
7
1
0
0
0
8
0
-1
-6
14
-15
0
0
0
0
0
0
0
-33
10
0
0
0
0
0
4
0
-31
28
0
0
0
0
0
0
2
2
12
0
0
0
2
0
0
-9
-26
-9
0
0
0
0
0
0
0
8
7
0
0
0
9
0
-9
-8
-35
40
0
0
0
0
0
-1
0
-23
-6
0
0
0
4
0
-1
-10
9
19
0
0
0
0
0
-2
-2
8
-3
0
0
0
-7
0
14
-31
22
-6
0
0
0
0
0
0
1
2
2
0
0
0
13
0
-3
-8
-1
11
0
0
0
0
0
1
2
1
7
0
0
0
0
0
0
2
14
-8
0
0
0
0
0
0
2
-4
-27
0
0
0
-13
0
-1
-8
-5
18
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
2
5
-41
51
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
3
1
-27
17
0
0
0
0
0
0
5
13
11
0
0
0
1
0
0
8
-6
-34
0
0
0
0
0
-1
-16
17
22
0
0
0
1
0
0
-14
-7
7
0
0
0
0
0
1
1
3
4
0
0
0
6
1
-50
36
0
-3
0
0
0
0
0
1
-6
7
4
0
0
0
0
0
1
2
-10
-17
0
0
0
0
-1
-1
19
-12
19
0
0
0
0
0
3
14
24
-29
0
0
0
0
0
2
10
10
35
0
0
0
0
0
-1
5
-8
36
0
0
0
0
0
-1
4
-9
8
0
0
0
0
0
-1
-5
-10
7
0
0
0
0
0
20
0
-8
-50
0
0
0
0
0
0
5
7
3
0
0
0
0
4
19
5
-9
6
0
0
0
0
0
-1
7
14
20
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
1
-4
-31
0
0
0
0
3
2
3
9
-33
0
0
0
0
-1
-5
-10
-36
40
0
0
0
0
0
0
1
6
30
0
0
0
0
0
0
0
5
16
0
0
0
0
0
1
-31
-5
0
0
0
0
0
0
2
-3
22
-5
0
0
0
0
0
2
-4
-1
19
0
0
0
0
0
0
-3
-6
-2
0
0
0
0
0
1
13
-3
12
0
0
0
0
-1
3
-1
-34
-2
0
0
0
0
0
5
7
-38
5
0
0
0
0
0
0
-3
-3
-12
0
0
0
0
2
2
-25
-8
-1
0
0
0
0
0
-2
-8
6
5
0
0
0
0
2
-8
5
-8
-17
0
0
0
0
0
1
4
7
17
0
0
0
0
-5
-6
5
-10
2
0
0
0
0
-11
-38
3
-35
24
0
0
0
0
0
1
8
-14
36
0
0
0
1
0
2
-10
-8
16
0
0
0
0
0
-3
-6
18
6
0
0
2
0
0
7
10
13
-1
0
0
0
0
0
0
-14
1
28
0
0
0
0
0
0
-18
22
3
0
0
0
0
0
-1
2
3
15
0
0
1
0
0
-9
15
-10
-11
0
0
0
0
0
-4
6
4
-14
0
0
0
2
0
-2
23
13
15
0
0
0
0
0
2
6
-15
13
0
0
-20
-1
0
3
-19
29
11
0
0
0
0
0
0
5
1
-39
0
0
0
-1
0
0
0
4
-1
0
0
0
0
0
0
0
1
7
0
0
-1
1
1
22
-49
-45
23
0
0
0
0
0
-1
-8
2
-10
0
0
0
0
0
0
-1
-12
19
0
0
0
0
0
-1
-1
14
-4
0
0
6
0
2
-4
2
-6
4
0
0
0
0
0
-2
-25
2
28
0
0
0
0
0
1
-1
-27
29
0
0
0
0
0
0
-1
3
2
0
0
20
0
2
-15
17
-3
1
0
0
0
0
0
0
2
-18
-4
0
0
0
0
0
0
2
-18
-19
0
0
0
0
0
0
-9
35
-1
0
0
12
0
0
-8
4
4
-15
0
0
0
0
0
2
-1
9
4
0
0
0
1
0
0
-8
-15
16
0
0
0
0
0
2
-5
-9
6
0
0
-14
-17
-25
-47
45
12
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
14
0
0
0
0
0
0
0
-6
22
15
0
0
0
0
0
-1
-27
7
11
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
1
-4
-6
-2
0
0
0
0
0
0
0
-8
13
0
0
0
0
-1
0
6
-3
8
0
0
0
0
0
-2
-9
-13
1
0
0
0
0
6
2
-1
5
4
0
0
0
0
0
0
0
14
13
0
0
0
0
0
-2
22
-16
-5
0
0
0
0
0
2
-13
1
10
0
0
0
0
0
-4
6
7
-19
0
0
0
0
0
0
-6
17
15
0
0
0
0
6
7
3
13
-27
0
0
0
0
-3
-18
-16
24
-32
0
0
0
0
2
-6
-2
-25
2
0
0
0
0
0
0
-2
1
15
0
0
0
0
0
1
3
-14
9
0
0
0
0
0
0
-2
8
4
0
0
0
0
0
-2
-3
-29
-5
0
0
0
0
0
0
1
6
-8
0
0
0
0
0
0
-5
8
19
0
0
0
0
-3
3
-4
-2
-11
0
0
0
0
5
-17
5
5
2
0
0
0
0
0
0
2
-3
18
0
0
0
0
-3
0
-4
3
5
0
0
0
0
0
0
5
8
23
0
0
0
0
1
1
14
3
-15
0
0
0
0
2
-1
3
1
-40
0
0
0
0
8
-1
-2
-12
4
0
0
0
0
8
-4
22
-3
57
0
0
0
0
0
0
0
-3
32
0
0
0
3
0
0
-1
2
9
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
2
5
-23
0
0
0
0
0
0
0
-20
5
0
0
0
0
0
0
8
1
3
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
-1
0
-8
-7
0
0
0
0
0
0
1
-4
5
0
0
0
0
0
-1
0
2
6
0
0
0
0
0
0
1
5
11
0
0
0
0
0
2
-10
8
-6
0
0
0
0
0
0
-2
2
27
0
0
0
1
0
2
-3
1
29
0
0
0
0
0
0
0
-12
-3
0
0
0
1
0
-5
15
-24
1
0
0
0
0
0
0
0
-7
-5
0
0
0
-1
0
0
-1
-14
-16
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
-2
2
-6
-10
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
-9
-5
-11
0
0
0
0
0
0
-1
-14
8
0
0
0
5
0
0
0
4
25
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-40
23
0
0
0
0
0
1
0
5
8
0
0
0
-1
0
0
-1
-26
42
0
0
0
0
0
0
1
1
2
0
0
0
-28
0
-10
-9
-38
35
0
0
0
0
0
-1
0
8
14
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
8
5
7
0
0
0
0
0
0
5
-23
12
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
-1
-1
-8
5
0
0
0
0
0
1
-6
-2
-13
0
0
0
0
0
0
-1
1
-5
0
0
0
0
0
9
7
-8
-6
0
0
0
0
0
7
5
-6
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
4
0
0
0
0
2
6
-5
13
21
0
0
0
0
4
-14
4
2
3
0
0
0
0
0
-1
0
8
12
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-2
-3
5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
-4
8
2
0
0
0
0
0
1
3
-23
-5
0
0
0
0
0
0
0
-6
-24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
5
-3
14
7
0
0
0
0
0
1
5
-12
-7
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-6
-6
0
0
0
0
7
0
3
-4
-23
0
0
0
0
-6
3
3
-38
-47
0
0
0
0
0
5
0
3
4
0
0
0
0
0
0
-1
14
8
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
-1
-16
8
23
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
-5
-19
5
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
-3
0
-1
23
0
0
0
0
0
-2
-1
-2
-9
0
0
0
0
0
0
1
-13
-8
0
0
0
0
0
0
5
-5
-11
0
0
1
0
0
-2
2
-39
-36
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
1
-17
3
0
0
0
1
-1
-11
-21
40
-14
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-1
0
-1
-2
0
0
3
0
0
0
1
-14
6
0
0
0
0
0
0
2
-7
-5
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
-4
2
9
0
0
0
0
0
-2
-6
7
10
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
6
0
0
0
5
0
0
0
3
-21
30
0
0
0
0
0
0
0
-25
8
0
0
0
0
0
0
5
7
-27
0
0
0
0
0
1
3
3
3
0
0
16
-14
0
-16
-7
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-14
5
15
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
2
0
8
-22
0
0
0
0
0
0
1
-5
-2
0
0
0
0
1
-4
14
-8
10
0
0
0
0
0
-2
5
-7
4
0
0
0
0
0
-4
2
22
-12
0
0
0
0
0
3
22
-3
9
0
0
0
0
0
-4
5
-10
-22
0
0
0
0
0
0
-1
4
3
0
0
0
0
2
-1
3
14
-3
0
0
0
0
0
0
-3
12
-1
0
0
0
0
0
-2
2
-1
-2
0
0
0
0
0
-2
-2
-4
21
0
0
0
0
1
-8
5
-25
36
0
0
0
0
-4
5
-5
0
-19
0
0
0
0
15
4
3
-1
50
6
0
0
0
0
0
17
-3
-4
-29
0
0
0
0
3
24
-8
40
13
0
0
0
0
1
7
-9
2
-26
0
0
0
5
12
9
6
5
-28
0
0
0
1
-9
-1
-7
0
28
0
0
0
-3
1
-6
-18
15
-1
0
0
0
9
-3
-3
21
-14
0
0
0
0
7
10
8
-7
-8
59
0
0
0
0
-1
2
-5
19
-16
0
0
0
-9
2
29
-26
8
14
0
0
0
0
4
-3
-29
-13
44
0
0
0
-2
-13
5
5
0
-8
0
0
0
0
-3
7
-3
23
5
0
0
0
-30
18
18
21
-6
1
0
0
0
-11
7
10
-25
31
-14
0
0
0
0
0
2
-6
9
0
0
0
21
0
0
-1
-16
-17
0
0
0
0
0
0
2
5
-20
0
0
0
0
0
2
0
-5
23
0
0
0
0
0
4
-1
-8
-5
0
0
0
2
0
0
7
-9
1
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
-2
-3
0
8
0
0
0
0
0
3
3
3
-4
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
-8
5
0
0
0
0
0
0
4
-29
11
0
0
0
0
0
0
0
-2
-18
0
0
0
2
0
2
-5
-19
-8
0
0
0
0
0
0
-1
-10
-6
0
0
0
8
0
4
7
-4
14
0
0
0
0
0
0
6
4
-11
5
0
0
2
0
0
0
-5
8
-16
0
0
0
0
0
0
-12
-21
43
0
0
0
0
0
9
-7
-4
-39
0
0
0
0
0
0
15
28
-11
0
0
-5
0
-3
-6
28
20
-9
0
0
0
0
0
0
-14
10
-49
0
0
0
1
0
-12
-5
-5
20
0
0
0
0
0
1
-24
22
10
0
0
8
0
1
-7
8
5
32
0
0
0
0
0
0
5
15
-2
0
0
-1
0
-2
5
-10
26
31
0
0
0
0
0
-4
0
-27
-11
0
0
2
0
0
-13
-1
17
11
0
0
0
1
-13
-3
18
7
-10
0
0
17
-1
6
21
24
-4
5
0
0
0
0
0
-6
-5
7
0
0
0
0
0
0
0
-8
3
0
0
0
0
4
-1
-5
-1
-8
0
0
0
0
0
0
-2
7
-2
0
0
0
0
0
1
-4
-12
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
14
-1
0
0
0
0
0
0
12
2
-2
0
0
0
0
0
0
-4
5
-2
0
0
0
0
0
0
0
-7
1
0
0
0
0
-1
-3
0
-4
-5
0
0
0
0
0
-4
0
-12
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
-2
0
0
0
0
0
-5
-3
5
-13
0
0
0
0
1
0
-7
3
-1
39
0
0
0
0
0
-3
-2
-9
21
0
0
0
-1
-1
6
-20
-25
43
0
0
0
0
0
5
-5
-10
0
0
0
0
0
0
-4
1
-5
19
0
0
0
0
0
-1
-7
1
-34
0
0
0
-3
0
2
-5
-2
-61
0
0
0
4
7
-6
-8
12
-29
0
0
0
-2
0
3
0
8
-1
0
0
0
0
0
0
-8
2
1
0
0
0
1
-1
-3
6
14
-5
0
0
0
0
0
-3
-5
2
-45
0
0
0
0
0
-2
1
0
-5
0
0
0
0
0
0
-18
-8
-22
0
0
0
0
5
-5
-7
-6
6
0
0
0
5
-12
-28
4
15
4
0
0
0
0
0
6
-6
-8
0
0
0
0
0
-1
-3
-12
9
0
0
0
0
0
0
2
8
-1
0
0
-1
0
0
-8
-24
-10
7
0
0
0
0
0
0
0
5
3
0
0
0
0
0
1
-8
-12
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
29
-17
-13
5
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
4
9
0
0
0
0
0
8
-2
7
-1
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
-11
11
7
-4
0
0
0
0
0
0
4
-25
-15
16
0
0
0
0
0
-8
9
-33
36
0
0
0
0
0
0
31
3
10
0
19
0
0
2
-10
-26
-5
17
0
0
0
0
-1
-2
3
13
12
0
0
0
0
0
18
3
3
-62
0
0
0
0
0
4
-23
0
77
0
1
0
0
8
15
-20
-5
-30
0
0
0
0
0
-1
8
22
-61
0
0
0
0
0
8
3
-1
-6
0
0
0
0
0
2
-4
9
5
0
8
0
1
2
-3
5
4
-5
0
0
0
0
0
3
-1
-15
-7
0
0
-1
0
0
1
-4
-10
-50
0
0
0
0
-1
18
-21
5
-48
0
-7
-2
0
-19
-25
8
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
20
0
0
0
0
0
0
-1
16
-12
0
0
0
0
1
-1
8
1
-1
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
-3
-8
-2
0
0
0
0
0
0
0
-5
2
8
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-5
-5
17
-3
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
1
0
-7
17
0
0
0
0
0
-1
-1
8
40
0
0
0
0
0
0
-4
-4
-17
0
0
0
0
0
-2
0
1
13
0
0
0
0
-1
1
1
0
3
0
0
0
0
0
-1
-4
-1
13
0
0
0
0
2
-2
0
6
32
0
0
0
0
2
4
12
-13
-4
15
0
0
0
0
0
-4
-8
13
39
0
0
0
-1
1
2
5
-5
-24
0
0
0
0
0
-1
4
10
-36
0
0
0
0
-7
0
19
-9
16
0
0
0
0
-1
-3
-2
33
-1
0
0
0
0
0
2
1
6
-30
0
0
0
-5
3
13
15
9
-37
0
0
0
-7
13
2
1
-4
-14
-12
0
0
0
-3
8
7
-9
-8
-31
0
0
2
8
20
-10
-64
22
11
0
0
0
4
-7
-14
-2
-8
-13
0
0
-18
-6
-10
-1
30
-9
45
0
0
-1
-1
6
24
-3
28
22
0
0
20
6
3
-14
-12
-16
22
0
0
-8
-34
42
-45
-44
-11
26
0
0
0
0
0
13
16
0
0
0
1
0
0
3
-8
-29
0
0
0
0
0
0
4
-14
-5
0
0
0
0
0
0
3
-7
-2
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
2
-9
21
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
10
4
0
0
0
0
0
0
2
2
12
0
0
0
-2
0
-1
0
-3
1
0
0
0
0
0
0
2
8
-22
0
0
0
0
0
-2
8
-4
12
0
0
0
0
0
2
0
-5
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-15
-24
0
0
0
0
0
0
-2
5
-27
-3
0
0
-2
0
1
7
-23
-6
-48
0
0
0
0
0
0
-5
6
-3
0
0
0
0
0
-12
14
7
-15
0
0
0
0
0
-3
-4
4
18
0
0
-1
0
0
9
-9
5
-9
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
16
8
11
-22
0
0
0
0
-2
22
16
8
-34
13
0
-3
0
-3
-13
5
46
33
18
0
0
0
0
-8
-5
-11
17
-12
0
1
0
0
-47
0
30
-27
9
0
0
1
1
-2
11
51
-31
-50
0
11
0
1
-21
-29
10
-2
45
0
0
-1
0
4
-23
-17
-33
65
0
-28
0
0
4
-39
-49
46
20
0
0
0
0
0
1
-7
0
0
0
0
0
0
-1
-8
24
0
0
0
0
0
0
2
-14
10
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-4
3
-1
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
-2
2
25
8
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
-2
-5
-2
0
0
0
0
0
-4
8
-17
7
0
0
0
0
0
0
1
1
9
-7
0
0
0
0
0
0
-1
40
-3
0
0
0
0
-1
1
7
-9
-14
0
0
0
0
0
0
-16
3
-15
0
0
0
0
0
-8
1
8
-4
0
0
0
0
0
2
0
-1
-8
0
0
0
0
0
0
4
-2
16
0
0
0
0
0
0
-10
1
-17
0
0
0
-2
0
-9
7
8
-88
3
0
0
0
0
0
-15
39
-2
-19
0
0
3
5
25
-68
43
-3
-8
0
0
0
1
-11
0
-26
9
40
0
0
0
0
0
-4
12
15
42
0
0
0
-2
0
8
-14
19
7
0
0
-14
-2
0
25
9
18
-64
0
0
-7
-20
-4
-1
12
-9
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
17
0
0
0
0
0
0
-7
-13
-10
0
0
1
0
0
1
2
0
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-8
-5
0
0
0
0
0
0
-1
2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
-3
5
0
0
1
0
0
13
-12
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
-1
1
-13
6
0
0
0
0
0
0
0
-8
10
-11
0
0
0
0
0
-4
5
-9
-5
0
0
0
0
0
2
3
-4
-3
0
3
0
0
-1
8
7
-5
21
0
0
0
0
0
1
0
-2
-2
0
0
0
0
0
2
-1
0
30
0
0
0
0
0
0
1
1
-16
0
-3
0
0
4
3
5
-3
-14
0
0
0
0
1
-1
-15
31
-37
9
0
0
0
0
-1
24
-1
-17
-5
0
0
0
0
0
-25
-33
39
12
-16
0
-1
-24
16
-10
8
-49
15
0
0
0
-2
0
-1
13
30
-49
0
0
0
-1
7
0
-33
0
-2
0
0
0
1
-1
-9
3
-8
-10
-6
5
1
11
-8
-50
2
20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-2
-2
35
0
0
0
0
0
0
-3
8
-27
0
0
0
0
1
0
2
2
4
0
0
0
0
0
2
0
3
-44
0
0
0
0
2
3
-2
-9
8
0
0
0
0
0
-1
-10
-1
28
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
1
7
-13
35
0
0
0
0
0
-3
3
-8
3
0
0
0
0
0
0
0
-15
-25
0
0
0
0
3
2
9
-20
10
0
0
0
0
0
-1
-17
-11
6
0
0
0
0
0
1
0
0
-31
0
0
0
0
0
0
-1
4
-13
0
0
0
0
-1
0
-3
0
17
0
0
0
0
3
-9
15
4
29
0
0
0
0
4
-6
8
-5
12
0
0
0
0
0
0
6
1
-25
0
0
0
0
0
1
6
-1
6
0
0
0
0
0
-1
-3
0
13
0
0
0
0
-2
-1
-4
17
15
0
0
0
0
0
0
13
6
-6
0
0
0
0
0
0
7
-7
8
0
0
0
0
1
2
6
9
-4
0
0
0
0
2
2
-2
-6
2
0
0
0
0
0
0
1
1
9
0
0
0
0
-2
9
1
5
-6
0
0
0
0
-1
1
-4
-1
-3
0
0
0
0
0
4
0
-19
35
0
0
0
0
0
-3
13
-4
6
0
0
0
0
-3
-1
0
-13
27
0
0
0
0
7
0
11
18
23
0
0
0
0
0
0
0
-8
2
0
0
0
4
0
-1
0
1
-13
0
0
0
0
0
-1
1
4
-3
0
0
0
0
0
-4
-1
-9
-15
0
0
0
0
0
0
0
-6
17
0
0
0
-1
0
1
-4
-3
14
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
-2
-8
-8
1
0
0
0
0
0
0
-7
6
-12
0
0
0
0
0
1
0
6
-13
0
0
0
0
0
0
-1
16
20
0
0
0
0
0
1
6
-9
20
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
-1
0
-5
17
0
0
0
0
0
0
0
-8
18
0
0
0
1
0
6
-5
8
20
0
0
0
0
0
0
-1
-19
30
0
0
0
2
0
0
0
8
2
0
0
0
0
0
-1
0
8
34
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
1
-8
39
0
0
0
-3
0
0
-1
-5
10
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
-1
17
-22
1
0
0
0
0
0
0
-3
-6
-11
0
0
0
-2
0
1
-1
0
6
0
0
0
0
0
-1
1
-16
14
0
0
0
0
0
0
1
6
-3
0
0
0
0
0
0
-4
7
10
0
0
0
4
0
0
4
-16
24
0
0
0
0
0
-1
0
1
4
0
0
0
-1
1
-7
-3
-2
3
0
0
0
0
0
0
-1
6
-4
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
2
6
-19
0
0
0
0
0
0
1
-13
14
0
0
0
0
0
0
1
5
18
0
0
0
0
0
0
3
7
-5
0
0
0
0
0
0
1
-13
10
0
0
0
0
0
-6
0
20
28
0
0
0
0
0
1
0
2
-22
0
0
0
0
0
0
1
1
4
0
0
0
0
0
1
0
-8
34
0
0
0
0
0
0
2
8
55
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
-2
3
-13
0
0
0
0
0
-2
2
-8
-5
0
0
0
0
0
0
1
5
8
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
9
10
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
-1
-24
7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
-5
19
-3
0
0
0
0
0
0
0
-13
-13
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-7
-32
2
0
0
0
0
0
-5
3
-3
6
0
0
0
0
0
-1
0
-8
-18
0
0
0
0
0
1
5
14
6
0
0
0
0
-1
-10
16
2
2
0
0
0
0
0
0
6
-29
-3
0
0
0
0
0
0
0
9
33
0
0
0
0
0
0
9
-13
-43
0
0
1
0
0
0
-4
30
-7
0
0
0
0
0
0
-8
3
1
0
0
0
0
0
1
2
17
1
0
0
0
0
0
0
-1
-5
-4
0
0
0
0
0
-2
17
2
-15
0
0
0
0
0
-1
18
2
11
0
0
0
0
0
0
8
-6
8
0
0
0
0
0
-2
5
7
24
0
0
-2
0
0
1
-6
-2
12
0
0
0
0
0
-1
-1
-3
-2
0
0
0
0
0
0
7
17
0
0
0
0
0
0
0
0
-7
-8
0
0
-2
0
0
0
13
-1
12
0
0
0
0
0
0
-9
6
2
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
-6
0
-8
0
0
8
0
0
0
2
13
-8
0
0
0
0
0
0
3
-29
22
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
1
-6
-15
0
0
3
0
0
0
-1
-38
12
0
0
0
0
0
0
3
-25
24
0
0
0
0
0
0
-4
9
6
0
0
0
0
0
0
-4
6
-3
0
0
9
0
0
0
5
13
-8
0
0
0
0
0
0
2
21
-12
0
0
0
0
0
0
5
-23
17
0
0
0
0
0
2
-8
0
11
0
0
-11
0
0
-12
31
51
-65
0
0
0
0
0
-2
-5
3
13
0
0
0
0
0
-1
0
-6
26
0
0
0
0
0
0
5
-30
-14
0
0
0
0
0
-2
13
-5
4
0
0
0
0
0
2
1
-1
8
0
0
0
0
0
1
0
1
-22
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
-6
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
3
6
0
0
0
0
0
0
-8
-6
17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
8
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
1
-13
-1
6
0
0
0
0
0
0
6
-4
-1
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-4
-7
-3
0
0
0
0
0
0
2
3
2
0
0
0
0
0
1
-1
1
-7
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
-1
3
-4
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
-1
6
-16
30
0
0
0
0
0
0
4
-5
-31
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-2
0
8
-1
14
0
0
0
0
3
-16
15
-11
-16
0
0
0
0
0
0
1
-12
26
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
3
17
-25
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
-5
-22
-4
0
0
0
0
0
0
-2
-1
-9
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
2
5
-8
0
0
0
0
0
0
4
10
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
-6
-2
-4
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-1
0
-13
10
0
0
0
0
0
-1
0
8
13
0
0
0
0
0
0
-4
0
-12
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
-9
0
3
0
0
0
0
1
-2
-3
-32
33
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
1
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
2
-2
-13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
12
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
29
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-17
-3
-32
-16
0
0
0
0
0
1
2
-25
-1
0
0
0
0
0
1
-5
8
2
0
0
0
0
0
-1
-7
22
13
0
0
0
0
0
3
-23
20
3
0
0
0
0
0
-1
-3
1
7
0
0
0
0
0
0
7
5
-6
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
-4
0
-24
-5
0
0
0
0
0
0
-4
6
15
0
0
0
0
0
0
1
6
0
0
0
0
0
0
8
0
-3
-27
0
0
0
0
0
2
-4
-6
-2
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
-6
0
19
0
0
0
0
0
0
-4
-2
-13
0
0
0
0
0
7
-5
6
-31
0
0
0
0
0
0
2
4
2
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
-1
2
4
3
0
0
0
0
0
-2
0
-3
1
0
0
0
0
0
-1
0
1
-4
0
0
0
0
0
0
3
-8
5
0
0
0
0
0
0
0
8
1
0
0
0
0
0
-7
2
-2
-4
0
0
0
0
0
1
-3
5
-5
0
0
0
0
0
1
8
8
5
0
0
0
0
0
1
0
2
4
0
0
-1
0
0
-2
5
-2
-4
0
0
0
0
0
-5
13
-3
-3
0
0
0
0
0
0
7
0
2
0
0
0
0
0
7
13
-16
-3
0
0
0
0
0
-3
-3
-60
40
0
0
0
0
1
-1
-1
0
-7
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
2
15
9
0
0
0
0
0
1
-3
3
-2
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
-1
-8
-4
0
0
0
0
0
0
-3
3
7
0
0
0
0
0
-1
3
-13
2
0
0
0
0
0
-1
0
7
15
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
-9
-4
19
0
0
0
0
0
1
3
-8
22
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-1
-1
25
0
0
0
0
0
4
1
0
-10
0
0
0
0
0
-3
-3
-6
-8
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
-1
2
14
0
0
0
0
0
0
0
-1
4
14
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
1
1
17
0
0
0
0
0
4
7
-1
6
0
0
0
0
-2
3
0
-5
-6
0
0
0
0
0
0
1
9
8
0
0
0
0
0
0
-1
10
-1
0
0
0
0
0
-2
-6
-6
8
0
0
0
0
0
2
0
0
-17
0
0
0
0
0
-2
-1
-12
8
0
0
0
0
4
-4
1
17
18
0
0
0
0
-8
-31
10
11
-22
0
0
0
0
0
0
-2
-2
-5
0
0
0
-1
0
1
0
8
-15
0
0
0
0
0
0
2
-3
5
0
0
0
1
0
0
2
-5
-14
0
0
0
0
0
0
3
-8
-10
0
0
0
1
0
0
0
-5
-6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
3
15
0
0
0
0
0
1
1
1
-12
0
0
0
0
0
0
-8
-4
-5
0
0
0
0
0
0
0
-2
-7
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
-1
0
-3
5
0
0
0
0
0
0
1
-17
14
0
0
0
0
0
0
2
4
2
0
0
0
1
0
0
-2
-10
3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
1
7
12
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
-14
-13
0
0
0
0
0
0
1
-14
12
0
0
0
0
0
0
-1
2
-4
0
0
0
0
0
-1
-1
2
33
0
0
0
9
0
0
0
3
2
0
0
0
0
0
-3
0
-10
-11
0
0
0
-2
0
1
-10
4
-2
0
0
0
0
0
2
0
-2
4
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
8
-39
13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
1
-9
7
8
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
-1
-2
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
-1
0
-17
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
7
-5
1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
1
-14
-19
0
0
0
0
-2
0
1
4
2
0
0
0
0
-1
-13
-31
33
-17
0
0
0
0
0
1
5
13
13
0
0
0
0
0
0
-4
-1
21
0
0
0
0
0
0
0
-14
9
0
0
0
0
0
0
-8
-2
-10
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
2
-5
1
3
0
0
0
0
0
0
7
-8
-5
0
0
0
0
0
-1
0
-7
-6
0
0
0
0
0
0
8
-25
7
0
0
0
0
0
0
3
10
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-2
8
-2
-1
0
0
0
0
0
-1
-1
-9
-3
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
1
-8
-5
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-6
8
-2
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
4
-16
-1
0
0
0
0
0
0
0
9
16
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
3
-16
-20
0
0
2
0
0
0
-13
10
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
-14
-8
0
0
0
0
0
0
-1
-3
-9
0
0
4
0
1
-4
-14
-40
18
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-14
40
0
0
0
0
0
0
1
-5
-19
0
0
0
0
0
0
4
-6
11
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
4
0
0
0
0
1
1
0
-2
4
0
0
0
0
0
0
6
-1
7
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
1
12
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
7
2
-16
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
1
2
2
-13
0
0
0
0
0
-2
2
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
18
1
23
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
1
2
9
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
-3
7
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
-3
-18
0
0
0
0
1
-12
-5
15
-8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
1
0
14
15
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
1
17
4
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-7
-1
-1
0
0
0
0
0
-1
0
0
13
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-1
1
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-1
-6
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-3
0
1
-8
0
0
0
0
2
0
0
-6
-3
0
0
0
0
0
0
0
-2
2
0
0
0
0
-1
1
0
1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
1
-2
0
0
0
0
2
5
20
5
19
0
0
0
0
0
2
-1
5
14
0
0
0
0
0
0
-1
20
12
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
1
-19
-1
18
0
0
0
0
0
0
-4
0
-8
0
0
0
0
0
0
-8
4
-3
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
-5
-9
0
10
0
0
0
0
0
0
-3
4
-17
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
5
-24
0
0
0
0
0
-1
5
12
-7
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
-1
-1
0
-8
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
-7
10
-8
-7
0
0
0
0
1
0
0
-5
13
0
0
0
0
0
0
-2
8
18
0
0
0
0
0
3
2
-8
-35
0
0
0
0
0
0
0
31
5
0
0
0
0
0
-2
4
5
-12
0
0
0
0
0
1
12
-7
-7
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
-8
9
-3
16
0
0
0
0
0
2
-2
-7
2
0
0
0
-1
0
0
4
-9
6
0
0
0
0
0
2
-13
-8
-13
0
0
2
0
0
2
0
-16
9
0
0
0
0
0
-3
0
2
33
0
0
0
0
0
1
-7
-14
13
0
0
0
0
0
0
-1
1
-13
0
0
0
0
-7
0
1
-42
39
0
0
0
0
-3
0
4
-1
6
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-6
-15
6
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-2
5
-4
14
0
0
0
0
0
-5
-2
0
8
0
0
0
0
0
0
0
-1
-7
0
0
0
0
-1
0
0
-2
9
0
0
0
0
0
1
-5
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-2
0
0
0
0
0
-1
0
1
6
0
0
0
0
-20
0
2
-13
2
0
0
0
0
4
0
7
0
-34
-4
0
0
0
0
0
0
5
2
1
0
0
0
0
0
0
-4
14
4
0
0
0
0
0
-1
-14
8
1
0
0
0
0
0
-5
1
-9
-12
0
0
0
0
-2
-7
13
-2
28
0
0
0
2
0
-1
9
-2
69
0
0
0
3
3
17
-4
8
40
0
0
0
1
-5
12
2
-5
-17
0
0
0
0
-1
0
1
20
17
0
0
0
1
-1
-2
1
2
21
0
0
0
0
4
-9
-19
22
-7
0
0
0
0
3
0
-6
13
13
0
0
0
0
1
0
-9
-5
49
0
0
0
4
3
-2
-9
36
10
0
0
0
16
-7
3
8
-6
24
0
0
0
0
0
0
-1
8
0
0
0
7
0
0
0
-2
-18
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
4
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
2
-8
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-1
4
-1
-5
0
0
0
0
0
0
0
0
12
-35
0
0
0
0
0
0
7
-12
-40
0
0
0
0
0
0
1
5
-19
0
0
0
0
0
0
-8
-20
-12
0
0
0
0
0
0
-1
31
-17
0
0
0
0
0
0
0
23
9
0
0
0
0
0
0
4
1
12
0
0
0
0
0
-1
6
-4
62
0
0
0
0
0
0
5
9
-14
0
0
-1
0
0
0
-16
6
17
0
0
0
0
0
-1
-25
-5
48
0
0
0
0
-1
-3
-13
26
26
0
0
0
0
0
0
-2
0
-4
0
0
4
0
-1
1
-5
-11
-48
0
0
0
1
0
0
6
0
-19
0
0
-5
0
-1
-2
-4
-19
55
0
0
0
0
0
-2
-9
6
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-29
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
3
3
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-3
-19
0
0
0
0
2
0
0
-1
8
7
0
0
0
0
0
0
-8
-13
38
0
0
0
0
0
-1
5
1
6
0
0
0
0
0
0
-5
1
4
0
0
0
0
0
0
1
0
37
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
0
-1
0
-52
0
0
0
0
0
-12
0
0
-20
0
0
0
0
0
0
-3
-3
16
0
0
0
0
0
0
8
5
-9
0
0
0
0
1
0
6
14
-24
0
0
0
0
0
0
-29
1
5
0
0
0
0
0
0
3
-12
-20
0
0
0
0
0
2
6
0
6
0
0
0
0
0
0
-4
-2
-2
0
0
0
5
-7
-7
-55
48
-28
0
0
0
0
0
-2
4
-8
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
8
1
0
0
1
0
0
0
1
-5
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
24
3
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
2
-1
-4
7
0
0
0
0
0
2
3
-12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-2
-3
18
-24
0
0
0
0
0
-1
0
5
-16
-16
0
0
0
0
0
0
-2
-1
-10
0
0
0
0
0
-1
-3
-1
-35
0
2
0
0
1
2
-8
0
4
0
0
0
0
0
-1
-1
5
17
0
0
0
0
0
1
-6
0
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
-65
0
0
0
0
0
1
-19
13
-50
0
0
0
0
0
2
4
8
-20
0
0
0
0
0
2
10
3
12
0
8
0
0
-1
0
8
-6
3
0
0
0
0
0
0
-14
0
62
0
0
0
0
0
1
-2
5
-20
0
0
0
0
0
-1
4
3
-50
0
2
0
0
-8
-16
-16
-27
46
0
0
0
0
1
0
4
14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
6
8
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
2
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-3
0
13
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
0
0
0
0
0
0
1
3
3
8
0
0
0
0
0
0
0
0
9
-29
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
3
0
1
39
0
0
0
0
0
-3
-2
6
-8
0
0
0
0
-1
0
0
-3
21
0
0
0
0
1
0
0
1
-12
0
0
0
-2
-1
1
1
0
-6
0
0
0
0
0
4
-5
0
3
0
0
0
0
1
2
-4
23
-5
0
0
0
0
0
1
1
7
24
0
0
0
0
0
0
0
12
7
0
0
0
0
-1
-4
7
-6
-42
0
0
0
0
0
0
1
1
-15
0
0
0
0
0
0
-8
-6
4
0
0
0
0
0
-1
0
2
39
0
0
0
0
-10
35
-2
-19
-56
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
-1
-5
-8
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
4
0
14
0
0
0
0
0
0
0
-2
-3
-10
0
0
0
0
0
0
1
1
11
0
0
0
0
0
0
0
1
3
0
0
0
0
0
1
1
-2
-20
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
1
5
3
-15
0
0
0
0
0
-3
5
13
-13
0
0
0
0
0
0
0
7
-27
0
0
0
0
0
0
-2
2
4
0
0
0
0
0
0
0
0
-15
0
0
1
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
0
-12
0
0
-2
0
-1
8
-15
-5
-2
0
0
0
0
0
-1
1
18
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
-1
0
-1
18
0
0
0
0
0
0
0
-1
40
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
-2
2
4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-2
-2
0
-22
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
-2
7
-5
-20
5
-20
0
0
0
0
-1
-2
4
3
0
0
0
0
0
0
4
-10
19
0
0
0
0
0
-3
0
4
3
0
0
0
0
0
0
-1
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
2
8
0
0
0
0
0
1
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
8
5
-13
-6
0
0
0
0
1
-1
-1
0
2
11
0
0
0
0
0
0
-8
5
22
0
0
0
0
-1
1
-4
1
8
0
0
0
0
0
-1
0
1
-12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
0
-37
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
1
0
8
19
0
0
0
0
0
0
3
1
6
0
-1
0
0
0
3
-2
0
-1
0
0
0
0
-1
-1
-3
-1
-8
0
0
0
0
0
1
0
0
-13
0
0
0
0
1
1
0
-1
-14
0
-1
0
0
13
-3
-38
-2
-8
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
7
-13
0
0
0
0
1
0
0
22
19
0
0
0
0
0
0
22
-19
-2
0
0
0
0
2
0
-9
-3
-7
0
0
0
0
0
0
-6
-2
20
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
-3
5
7
4
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
0
2
-3
0
0
0
0
0
0
2
-10
8
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
1
5
15
0
0
0
0
1
-6
6
-17
13
0
0
0
0
0
0
0
1
-10
9
0
0
0
0
0
0
-25
1
-1
0
0
0
0
0
2
-18
3
18
0
0
0
0
0
4
-5
-7
10
0
0
0
0
-1
4
-5
7
-5
0
0
0
-1
0
-2
1
-9
-15
0
0
0
0
-1
0
0
1
-5
0
0
0
0
8
-4
3
-3
-21
0
0
0
-1
-2
-2
-24
7
7
24
0
0
0
0
2
-8
22
-47
-53
0
0
0
3
2
-7
17
33
7
0
0
0
0
0
-25
7
-27
-11
0
0
-3
-9
1
1
10
2
40
0
0
0
-2
2
8
2
0
-11
0
0
-4
-3
0
7
8
-28
20
0
0
-9
-3
-4
6
-1
-11
57
0
0
0
0
-1
-5
22
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
1
-25
6
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
1
-25
5
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
1
-12
10
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
-4
8
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
-2
-6
0
0
0
1
0
1
0
4
-7
0
0
0
0
0
0
0
-16
-32
0
0
0
0
0
0
0
-6
-37
-5
0
0
0
0
0
0
3
1
-23
0
0
0
0
0
0
3
-8
-15
0
0
0
0
0
-1
8
-8
25
0
0
0
0
0
-1
2
0
4
0
0
0
0
0
0
0
2
2
0
0
0
0
0
2
-7
14
-11
0
0
0
0
1
0
4
-16
-11
9
0
0
0
0
0
5
2
34
8
0
0
0
0
-2
0
5
-39
38
0
0
0
0
-1
2
-2
1
32
0
0
0
0
0
-2
2
-4
-6
0
-1
0
1
2
-2
-8
17
-14
0
0
0
0
0
2
-20
-7
11
0
-23
0
-12
5
-1
40
-47
15
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
-25
31
0
0
0
0
0
0
0
14
-5
0
0
0
0
0
0
-2
16
-8
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-1
-5
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
3
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-1
0
4
-5
0
0
0
0
0
0
0
-2
5
-18
0
0
0
0
0
-2
5
-2
16
0
0
0
0
0
0
-2
2
9
0
0
0
0
0
0
5
-2
1
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
2
-3
-22
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
5
-2
-12
0
0
0
0
4
0
-1
16
-68
-8
0
0
0
0
0
2
-24
8
52
0
0
0
0
0
-3
-1
19
-1
0
0
0
0
3
5
2
-9
7
0
0
0
0
0
0
0
4
-53
0
0
0
0
0
1
0
-1
-7
0
0
0
1
0
-2
-2
-47
20
0
0
-5
5
-3
-39
3
13
-44
0
0
0
0
-3
-20
36
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
0
12
-4
0
0
1
0
0
0
7
-30
-7
0
0
0
0
0
0
-6
17
1
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
-1
1
0
0
0
-2
0
0
-1
-2
4
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
-5
1
0
0
-1
0
0
0
2
-9
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
5
-29
2
9
0
0
0
0
0
1
5
9
-9
0
0
0
0
-1
-2
-2
3
-3
0
1
0
0
1
1
-2
1
6
0
0
0
0
0
-2
6
0
5
0
0
0
0
0
3
7
-3
2
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
-2
8
0
-21
0
0
0
0
-2
0
30
-8
11
25
0
0
0
0
2
3
0
-17
-22
0
0
0
0
0
1
0
2
-19
-6
0
0
0
-1
-30
1
-2
11
0
0
0
0
0
2
-1
-7
-19
0
0
0
0
0
3
2
5
8
0
0
0
0
2
-4
0
10
-39
-17
0
0
-17
2
-11
16
-48
44
0
0
0
0
3
1
17
0
0
0
0
0
0
2
-8
23
0
0
0
0
0
-2
-1
-20
-3
0
0
0
0
0
1
9
12
-7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
3
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
-3
4
17
0
0
0
0
1
0
0
7
-2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
5
0
0
2
0
0
0
0
0
5
-36
-5
-14
0
0
0
0
0
0
3
-9
23
-26
0
0
0
0
0
0
-3
18
-8
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
1
-7
1
-1
0
0
0
0
0
0
-4
6
-41
0
0
0
0
0
0
-4
3
-24
0
0
0
0
0
0
0
0
32
0
0
0
0
0
-5
-5
1
-19
0
0
0
0
0
0
7
2
-29
24
0
0
0
0
0
0
7
-9
7
0
0
0
0
0
3
-4
-10
-38
0
0
0
2
1
-1
-1
24
-14
0
0
0
0
0
-1
18
-26
9
0
0
0
0
-5
12
-1
31
14
0
0
0
0
-1
8
-4
8
31
0
0
4
-7
0
-22
4
-6
77
0
0
0
0
-3
10
3
0
0
0
3
0
0
-1
0
33
0
0
0
0
0
0
1
-5
-14
0
0
0
0
0
0
7
40
8
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
0
5
-21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
-9
4
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
0
-3
-7
-13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-3
-9
15
0
0
4
0
0
-1
8
15
-12
0
0
0
0
0
0
-6
2
20
0
0
0
0
0
-1
2
-3
1
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
0
0
2
-36
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
-10
13
-5
42
0
-5
0
0
0
3
5
-14
-42
0
0
0
0
0
1
1
15
-14
0
0
0
0
-1
-4
-4
-13
21
0
0
0
0
0
-2
-3
-5
-5
0
1
0
0
0
-1
1
-9
-9
0
0
-2
0
2
-2
-3
8
1
0
-10
0
-5
10
5
-3
30
7
0
0
0
0
0
7
14
0
0
0
0
0
0
-1
8
-13
0
0
0
0
0
-2
2
-8
24
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
-1
-2
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
8
6
-2
0
0
0
0
-2
2
0
-6
-19
0
0
0
0
0
0
0
8
7
0
0
0
0
3
0
1
1
-40
0
0
0
0
0
4
0
7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
-7
8
-5
-3
0
0
0
0
0
0
0
19
-16
69
0
0
0
0
0
-1
7
-1
6
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
-8
-1
-28
0
0
0
0
0
0
-7
3
-31
0
0
0
0
-1
0
0
1
21
0
0
0
0
0
0
-6
0
-41
0
0
0
-2
1
2
-8
0
-44
0
0
0
2
0
2
-2
5
17
8
0
0
0
0
0
-1
-4
16
-31
0
0
1
0
0
-2
3
0
43
0
0
0
0
0
-1
2
-9
-23
0
0
-3
0
0
0
-4
-30
-13
0
0
3
0
-2
-2
2
-33
37
0
0
1
-3
0
0
6
-9
22
0
0
8
6
8
-31
25
-28
-35
0
0
4
-12
16
14
25
0
0
0
8
0
5
-13
15
10
0
0
0
0
-1
9
-6
-2
2
0
0
5
0
0
20
42
-5
43
0
0
0
0
2
9
-57
-16
-2
0
0
0
-2
0
1
34
-27
-17
0
0
0
0
-3
-1
-3
-6
-9
0
0
0
0
2
9
10
-18
-25
0
0
0
0
1
31
-3
-16
2
0
0
0
16
0
2
-14
-23
48
0
0
0
0
10
-34
-16
15
-3
0
0
18
9
0
17
-2
-39
6
0
0
0
0
0
-8
-8
-21
31
0
0
0
0
0
3
3
-17
-2
0
0
0
0
1
17
-21
-19
2
0
0
-1
-3
-9
-23
-20
3
43
0
0
0
0
1
-8
3
-28
24
36
0
0
-6
0
-2
10
-5
5
-29
0
0
0
2
-2
-8
7
-2
-7
0
-13
0
0
0
18
-23
5
-33
0
0
0
2
-14
15
2
-46
4
0
0
-6
-3
0
25
25
39
-23
0
0
0
-3
-9
-9
-44
51
-25
0
-6
0
0
-4
-25
-3
-37
26
0
0
0
6
19
26
8
22
5
5
0
8
0
0
-11
-9
1
-20
71
0
0
-3
0
-30
-34
-20
-5
21
-14
-9
1
-27
-2
-13
20
-2
1
0
0
-2
27
-31
22
-1
-29
50
0
-8
1
-1
3
8
21
-22
14
0
0
20
10
36
-35
-15
3
-67
7
-8
-27
-44
-37
6
-37
14
-16
0
0
0
0
0
3
43
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
2
-29
-14
0
0
0
0
0
0
-5
-12
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
3
34
0
0
0
0
0
-1
0
1
7
0
0
0
0
0
0
13
2
9
0
0
0
0
0
0
-1
5
19
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
1
8
-3
0
0
0
0
0
0
-7
4
-9
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
5
3
0
0
0
0
1
-1
0
1
37
0
0
0
0
0
-4
8
-15
21
0
0
0
0
0
-1
0
-4
-9
0
0
0
0
0
0
-1
10
-23
0
0
0
0
0
1
0
3
5
0
0
0
0
0
0
6
8
1
0
0
0
0
-1
0
0
-10
11
0
0
0
0
-1
-1
8
6
-2
0
0
0
0
0
0
1
0
25
0
0
0
0
3
-1
-17
17
16
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
1
10
-5
0
0
0
0
0
-2
3
2
-20
0
0
0
0
-1
1
-8
-7
23
0
0
0
0
2
5
0
7
9
0
0
0
0
2
0
13
-23
-14
0
0
0
0
-1
-2
0
2
9
0
0
0
0
4
8
2
24
-26
0
0
0
0
0
0
0
-16
7
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
-1
8
-7
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
1
-31
-9
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
0
5
-20
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-2
-3
-21
0
0
0
-1
0
3
2
3
25
0
0
0
0
0
0
0
5
8
0
0
0
1
0
0
-1
5
5
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-3
26
0
0
0
-1
0
0
0
5
7
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
0
-2
-8
3
0
0
0
0
0
0
0
4
30
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-1
6
-3
0
0
0
0
0
0
0
24
-17
0
0
0
0
0
0
0
0
21
0
0
0
5
0
0
0
-13
7
0
0
0
0
0
0
0
-8
15
0
0
0
6
1
3
-3
-40
31
0
0
0
0
0
0
-1
-4
-15
0
0
0
0
0
0
0
-9
-22
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
5
-10
-8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
-4
-1
3
-9
0
0
0
0
0
0
2
6
-5
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-19
14
0
0
0
0
0
0
-8
-8
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
-1
-1
-23
-1
0
0
0
0
0
0
1
-6
29
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-12
1
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
-1
7
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
8
-8
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
-1
8
1
0
0
0
0
0
0
-3
-2
8
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
-9
30
0
0
0
0
-2
0
-2
4
-8
0
0
0
0
1
-2
10
-7
-8
0
0
0
0
0
0
-8
-16
27
0
0
0
0
0
0
4
-5
18
0
0
0
0
0
0
7
1
-6
0
0
-1
0
0
0
-8
12
-3
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-4
8
6
0
0
0
0
0
0
0
-29
6
0
0
0
0
0
-2
-5
10
6
0
0
0
0
0
1
-2
-12
-7
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
7
15
14
0
0
-1
0
0
0
1
-5
-9
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
-1
5
-4
0
0
0
0
0
0
-3
13
-31
0
0
0
0
0
0
7
12
2
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
0
-5
12
5
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
8
10
0
0
0
0
0
0
0
-25
0
0
0
1
0
0
0
-9
3
5
0
0
0
0
0
0
-2
8
23
0
0
0
0
0
0
-13
-10
7
0
0
0
0
0
0
4
-19
10
0
0
2
0
0
0
19
-28
-4
0
0
0
0
0
0
-8
35
8
0
0
0
0
0
0
1
3
30
0
0
0
0
0
0
8
4
1
0
0
5
-1
-1
0
-13
23
9
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
-1
-17
-5
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
-1
3
16
-8
0
0
0
0
0
0
-1
-5
20
0
0
0
0
0
0
1
1
-10
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
3
-5
9
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
1
13
-3
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
0
6
-13
0
0
0
0
-1
9
18
-20
-5
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-5
6
15
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
-3
0
-12
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
5
1
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
-1
1
-15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
0
-3
-2
10
0
0
0
1
1
-7
8
-31
-1
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
-1
1
13
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
19
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-4
0
0
0
0
0
0
1
7
9
5
0
0
0
0
0
2
-14
-1
27
0
0
0
0
0
0
-2
5
8
0
0
0
0
0
0
3
1
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
3
7
-4
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
-14
8
-7
0
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
7
0
-5
6
0
0
0
0
0
3
4
-3
8
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
1
-2
0
1
0
0
0
0
0
1
0
-2
14
0
0
0
0
0
0
-4
-4
-2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-2
-10
0
7
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
6
25
-1
10
0
0
0
0
0
1
1
-3
-7
0
0
0
0
0
-4
3
7
-6
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-3
-7
-6
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
-5
10
3
7
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
2
-2
-9
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
3
-2
5
3
0
0
0
0
0
0
-4
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
8
12
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
-4
-10
-3
9
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
6
0
0
0
0
0
4
-2
3
4
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
0
0
0
0
1
1
0
-1
-6
0
0
0
0
-2
0
0
7
56
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
-1
-6
4
0
0
0
0
0
0
-1
-5
2
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
-2
-2
7
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
-4
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
1
1
-3
-15
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
1
2
28
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
8
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-5
-4
1
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
-1
-1
16
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
-4
8
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
7
16
-9
46
0
0
0
0
0
0
-1
-8
3
0
0
0
0
0
0
2
19
-48
0
0
0
0
0
0
-6
-2
4
0
0
0
0
0
0
0
-31
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
1
-13
4
0
0
0
0
0
0
1
-7
-4
0
0
0
0
0
0
4
1
-5
0
0
0
0
0
-1
0
-6
21
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
2
0
3
0
0
0
0
0
3
2
-2
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
5
-19
0
0
0
0
0
0
0
0
-9
12
0
0
0
0
0
0
1
5
2
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
6
8
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-5
0
0
0
-7
0
0
1
-13
5
-20
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
-4
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-13
-2
-11
29
0
0
0
0
0
0
-2
2
-16
0
0
0
0
0
0
0
-4
41
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
-6
-2
18
0
0
0
0
0
-1
0
-1
9
0
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
0
0
-16
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-8
-11
21
-6
-6
0
0
0
0
0
8
-5
-1
9
0
0
0
0
0
0
1
2
14
0
0
0
0
0
-2
5
2
8
0
0
0
0
0
0
-6
-17
6
0
0
0
0
0
1
-3
-8
-7
0
0
0
0
0
-1
1
1
-8
0
0
0
0
0
-1
0
-2
-8
0
0
0
0
0
-10
-9
2
5
0
0
0
0
0
-2
6
2
-2
0
0
0
0
0
-1
0
0
16
0
0
0
0
0
10
3
-4
-2
0
0
0
0
0
-2
6
-3
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-13
13
0
7
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
-3
2
0
-1
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
1
7
-10
0
0
0
0
0
0
-7
2
-2
0
0
0
0
0
-1
2
1
-8
0
0
0
0
0
1
1
1
8
0
0
0
0
0
-4
5
0
12
0
0
0
0
-1
-8
3
-3
22
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
2
0
-4
4
0
0
3
0
0
1
1
-7
7
0
0
0
0
-2
0
-2
0
1
0
0
0
0
0
-2
1
-4
9
0
0
0
0
-4
-1
2
-20
-2
0
0
1
-2
-2
-30
36
20
33
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
8
5
-8
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-7
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
3
-1
-3
0
0
0
0
0
-1
0
0
-8
-12
-36
0
0
0
0
0
0
-9
-2
-13
0
0
0
0
0
1
0
17
40
0
0
0
0
0
2
-6
2
-37
0
0
0
0
0
0
-7
30
16
0
0
0
0
0
0
-2
1
13
0
0
0
0
0
0
-1
-4
29
0
0
0
1
-2
8
1
-1
-7
0
0
0
0
0
0
2
10
-25
0
0
0
0
0
0
-4
7
-1
0
0
0
0
4
0
-2
13
21
0
0
0
0
2
5
5
4
-21
0
0
0
0
-1
-3
0
6
-17
0
0
0
0
0
-5
-2
-4
12
0
0
0
4
-1
0
-4
-4
33
0
0
0
8
-19
-24
6
-3
-2
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-6
-1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
-8
3
0
0
0
0
0
0
0
8
-10
-33
0
0
1
0
0
0
-2
-3
-10
0
0
0
0
0
0
-1
-25
55
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
-6
0
11
0
0
0
0
0
0
-1
-12
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-5
0
0
0
0
0
0
-6
1
-16
0
0
0
0
0
0
-12
19
13
0
0
0
0
0
0
-4
-8
-30
0
0
0
0
0
0
-9
0
-5
0
0
0
0
0
0
-3
7
-3
0
0
-1
0
0
0
1
16
4
0
0
0
0
0
0
-2
-3
47
0
0
3
0
-3
-7
10
4
-8
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
-3
5
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
5
0
0
0
0
0
0
-1
-1
-22
6
0
0
0
0
0
0
0
5
-36
0
0
0
0
0
0
14
0
-14
0
0
0
0
0
0
-7
0
-23
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-4
-2
3
0
0
0
0
0
0
0
0
46
0
0
0
0
0
-1
-8
1
-52
0
0
0
0
0
-1
-1
8
-35
0
0
0
0
0
0
5
-25
-12
0
0
0
0
1
0
1
3
-5
0
0
0
0
0
0
-5
0
-19
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
-8
-3
-48
37
0
0
0
0
-1
-6
-8
4
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
1
-13
-1
0
0
0
0
0
0
10
-10
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-4
8
0
0
0
0
0
0
0
2
12
2
-1
0
0
0
0
0
0
-4
1
17
0
0
0
0
0
2
-7
2
-42
0
0
0
0
0
1
-17
-4
-5
0
0
0
0
0
0
-3
1
-12
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
0
1
-22
2
-12
0
0
0
0
0
0
13
7
-16
0
0
0
0
0
-1
6
6
3
0
0
0
0
0
0
-3
0
-16
0
0
0
0
0
1
-5
7
2
0
0
0
0
0
0
-8
0
-14
0
0
0
0
0
0
-23
0
1
0
-4
0
0
-3
0
-19
17
-30
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
-21
1
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
1
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
4
-17
6
4
0
0
0
0
0
0
0
-4
-5
-20
0
0
0
0
0
0
0
4
1
0
0
0
0
0
-1
0
0
30
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
-1
6
-42
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
2
-3
0
-8
0
0
0
0
0
0
-1
-7
8
0
0
0
0
0
0
-1
-24
-17
0
0
0
0
0
0
6
0
-29
0
0
0
0
0
-1
-1
-1
1
0
0
0
-1
0
0
2
-1
29
0
0
0
0
0
0
-5
0
-6
0
0
0
0
0
-2
1
1
-16
0
0
0
-1
2
15
-9
-2
6
0
0
0
0
1
0
1
6
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
2
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-8
-6
4
0
0
0
0
0
0
1
1
23
0
0
0
0
0
0
-1
0
42
0
0
0
0
0
0
-1
1
-49
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
1
4
12
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
5
12
28
0
0
0
0
0
0
3
-6
8
0
0
0
0
0
0
2
1
3
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
-2
4
-2
-8
0
0
2
0
0
0
0
0
8
0
0
0
0
-1
0
0
1
-8
0
0
-1
-4
-2
7
-6
18
-2
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
1
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
-2
0
0
0
-5
-20
0
0
0
-1
6
0
-44
-3
-1
0
0
0
0
0
2
0
22
0
0
0
0
0
0
-1
-8
-14
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
5
-8
-10
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
-1
4
-16
0
0
0
0
0
0
1
2
-2
-20
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-1
8
0
0
0
0
0
0
-2
-7
23
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
-4
-5
-3
-2
0
0
0
0
0
-1
4
16
1
21
0
0
0
0
0
0
0
-3
-6
0
0
0
0
-2
2
-6
0
-4
0
0
0
0
0
1
7
0
14
0
0
0
0
0
-5
12
2
-14
0
0
0
0
0
0
2
3
-6
0
0
0
0
0
0
-3
0
-5
0
0
0
0
1
-5
0
0
24
0
0
0
-1
0
0
2
18
-41
0
0
0
0
0
0
0
0
-21
0
0
0
0
-1
6
-4
-4
10
0
0
0
0
0
-5
-1
3
-8
0
0
0
0
0
2
0
4
-31
0
0
0
0
0
-1
3
-3
18
0
0
0
2
0
0
5
3
-22
0
-1
0
-1
-1
5
3
-30
24
0
0
0
0
0
0
1
30
0
0
0
0
0
0
-1
-8
-4
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
5
1
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-8
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
2
1
1
8
0
0
0
0
0
1
0
-2
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
-5
1
1
1
0
0
0
0
1
-8
1
3
-4
0
0
0
0
0
0
0
-1
9
-19
0
0
0
0
0
0
13
-5
-33
0
0
0
0
0
0
12
0
-8
0
0
0
0
0
2
4
21
-27
0
0
0
0
0
0
7
-3
-10
0
0
0
0
0
0
-1
4
-10
0
0
0
0
-1
0
-1
1
-7
0
0
0
-1
1
4
-6
3
6
0
0
0
1
0
0
-1
-21
-48
21
0
0
0
0
0
-4
-6
2
19
0
0
0
0
0
-4
-4
8
-14
0
0
0
1
0
-24
-1
20
5
0
0
0
0
0
2
19
-7
14
0
0
0
-1
1
-6
-1
32
-3
0
0
1
-1
0
1
4
5
3
0
0
-6
-5
-4
19
36
34
28
0
0
0
0
1
2
-24
0
0
0
0
0
0
-1
-8
1
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
-1
1
5
-3
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
1
4
-6
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
1
0
1
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-5
8
1
0
0
0
0
0
0
-1
15
5
0
0
0
0
0
0
-4
8
-14
0
0
0
0
0
0
-6
-10
-14
0
0
0
0
0
0
1
8
-6
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
1
3
3
-12
0
0
0
0
0
-1
-8
31
-32
35
0
-1
0
0
-1
-4
8
1
-48
0
0
0
0
0
-7
2
2
45
0
0
0
0
0
9
-6
-9
47
0
0
0
0
0
-4
-7
-8
-31
0
1
0
0
0
0
4
5
-30
0
0
0
0
0
-5
-2
43
-33
0
-6
0
-2
-6
-9
-10
27
17
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-2
5
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
1
4
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-1
4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-1
1
-8
0
0
0
0
0
0
0
-2
9
-17
0
0
0
0
0
1
-5
-2
-29
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
4
3
3
15
0
0
0
0
0
0
1
1
12
0
0
0
0
0
0
-1
-4
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
0
7
-16
16
0
0
0
0
0
-1
-2
-5
2
0
0
0
0
0
-6
-2
17
14
0
0
0
0
0
25
-5
-27
-17
0
0
0
0
0
0
0
1
18
0
0
0
0
-2
0
-8
-4
10
0
0
0
0
0
-4
0
10
-1
0
0
0
0
26
-15
13
-6
11
0
0
0
0
0
4
23
0
0
0
0
0
0
2
6
-3
0
0
0
0
0
0
0
2
1
0
0
2
0
0
0
7
-2
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
-12
0
0
0
0
0
-1
2
-9
15
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
3
0
0
0
0
0
0
-3
1
-2
26
0
0
0
0
0
0
-7
12
-3
0
0
0
0
0
0
2
-4
-31
0
3
0
0
0
0
2
0
38
0
0
0
0
0
-3
8
-3
-31
0
0
0
0
0
0
-1
4
-24
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
-7
-5
0
-7
0
0
0
0
0
0
-7
3
-9
2
0
0
0
0
0
5
-9
3
23
0
0
0
0
0
7
-3
13
-26
3
0
0
0
0
-1
8
8
-34
0
0
0
0
0
1
4
-30
17
0
0
0
0
-1
3
1
-4
-19
0
0
0
0
0
0
-6
-12
-7
-22
0
-2
-38
-44
28
-10
-16
8
0
0
0
0
-1
-4
27
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
16
10
-8
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
2
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
-3
-4
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
-2
-12
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
-4
-5
-1
1
0
0
0
0
0
0
0
-3
13
35
0
0
0
0
0
0
-24
-24
18
0
0
0
0
0
0
1
-1
-10
0
0
0
0
0
-2
-1
-1
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
13
-34
0
0
0
-1
0
0
-1
1
21
-31
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
3
3
15
-15
0
0
0
-1
0
1
16
-3
-28
0
0
0
0
0
0
-1
-6
24
0
0
0
0
0
0
2
-8
66
0
0
0
0
0
0
1
-24
5
0
0
0
-12
0
-8
-24
24
8
0
0
0
0
0
-7
15
0
0
0
-1
0
0
0
-6
14
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
17
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-5
0
0
0
0
0
0
0
0
0
-6
-8
31
0
0
0
0
0
0
-6
0
6
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-1
13
-1
-13
0
0
0
0
0
0
1
-1
6
0
0
-3
0
0
0
0
2
-9
0
0
0
0
0
0
0
-1
-12
0
0
0
0
-1
0
0
-4
-1
0
0
0
0
0
0
0
7
-3
-32
0
-1
0
0
0
0
-5
12
16
0
0
0
0
0
-3
3
-40
23
0
0
0
0
0
0
-4
5
49
0
0
0
0
0
-1
1
-6
-24
0
0
0
0
0
0
0
-6
6
0
0
-3
0
-1
1
0
8
-5
0
-5
0
-9
-17
-38
28
-3
34
0
0
-1
0
0
1
12
0
0
0
0
0
0
0
29
16
0
0
0
0
0
-1
1
1
14
0
0
0
0
0
0
-1
-16
-5
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
5
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
20
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
1
0
3
-8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
-4
3
-5
0
0
0
0
0
1
0
-1
14
18
0
0
0
0
0
0
-2
6
-4
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
-22
-1
5
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
3
0
-12
0
0
0
0
1
0
0
3
-1
20
0
0
0
0
0
1
9
12
-4
0
0
0
0
0
0
0
-13
22
0
0
0
0
-4
0
2
-5
-24
0
0
-2
0
0
0
-3
6
-19
0
0
2
0
2
0
0
-23
13
0
0
1
0
-1
-1
1
-5
-15
0
0
11
1
-3
-46
51
-8
10
0
0
-2
3
8
8
37
0
0
0
22
0
0
-6
27
5
0
0
0
0
4
-19
-39
27
5
0
0
10
1
-4
14
18
-1
-23
0
0
0
0
9
9
-44
-19
6
0
0
0
0
0
6
6
0
7
0
0
0
0
-4
0
5
13
-19
0
0
0
0
6
-3
10
-12
37
0
0
0
0
8
45
-39
19
-6
0
0
0
8
0
0
30
-33
-3
0
0
0
0
10
-6
-7
-10
24
0
0
4
7
-8
26
-42
-43
41
0
0
0
0
0
-23
-3
11
26
0
0
0
3
-1
7
-4
21
18
0
0
0
0
13
20
6
-53
-23
0
0
-2
-4
-2
-45
-6
6
-4
0
0
0
0
21
-7
44
-31
38
39
0
0
12
0
0
-7
4
-4
-11
0
0
0
-5
-3
-12
-14
-21
27
0
13
0
0
-6
28
-23
13
6
0
0
0
-8
-9
31
6
1
6
0
0
-6
-2
-14
51
-38
46
4
0
0
0
1
-7
-20
35
55
-57
0
-13
0
1
10
-64
18
-15
7
0
0
0
-3
28
35
-49
5
-29
45
0
-7
0
0
4
17
56
12
-22
0
0
11
-11
-40
-51
24
85
9
-3
-18
0
-9
-18
-63
2
42
11
0
0
-3
9
10
-34
3
-36
-3
0
10
6
3
17
-17
-21
-13
4
0
0
2
14
26
42
-22
-41
12
17
7
8
-54
46
-5
-25
-62
-24
0
0
0
5
56
-9
4
0
0
0
0
0
8
-12
-16
41
0
0
0
0
-2
7
-2
-11
45
0
0
0
0
0
0
-13
-5
11
0
0
0
0
0
16
13
-53
41
0
0
0
0
2
-1
-10
13
24
0
0
0
0
1
18
-3
6
-18
0
0
0
0
0
-2
25
-10
-39
0
0
0
0
-1
-6
5
46
-18
0
0
0
0
0
-1
2
-7
-9
0
0
0
0
3
-9
-18
10
6
0
0
0
0
-2
6
21
-35
-8
0
0
0
0
-1
2
-11
12
45
0
0
0
0
0
0
-4
0
36
0
0
0
0
-9
1
3
-2
9
0
0
0
0
2
-29
-25
32
47
0
0
0
0
-8
3
12
-14
48
0
0
0
0
0
3
-7
-9
-8
0
0
0
0
-1
3
-1
-13
-10
0
0
0
0
0
0
-8
5
9
0
0
0
0
4
3
2
12
-16
0
0
0
0
0
0
3
-36
-5
0
0
0
0
1
0
-8
0
7
0
0
0
0
1
-1
-2
16
-1
0
0
0
0
8
4
2
-9
-12
0
0
0
0
0
1
-17
-1
8
0
0
0
0
0
3
3
-18
22
0
0
0
0
0
-1
4
-8
2
0
0
0
0
8
6
0
0
56
0
0
0
0
1
0
9
-5
-4
0
0
0
0
-25
6
1
17
49
0
0
0
0
-2
-20
-3
13
19
0
0
0
0
0
-3
2
5
58
0
0
0
18
0
3
4
-5
-21
0
0
0
0
1
8
3
7
-25
0
0
0
0
0
12
22
-4
8
0
0
0
0
0
0
13
1
-5
0
0
0
0
0
1
-9
4
-29
0
0
0
0
0
-2
4
17
7
0
0
0
0
0
0
-1
-40
3
0
0
0
0
0
-1
5
-39
-11
0
0
0
5
0
-2
10
-22
24
0
0
0
0
0
0
1
-38
0
0
0
0
1
0
3
-34
-26
14
0
0
0
0
0
0
-2
-12
16
0
0
0
3
0
-3
1
-4
-8
0
0
0
0
0
3
0
24
-16
0
0
0
-2
0
-2
-8
-16
0
0
0
0
0
0
0
0
-4
22
0
0
0
-2
0
-1
4
-13
30
0
0
0
0
0
-2
0
-5
8
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
-4
4
-5
0
0
0
-6
0
0
-2
-1
18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
5
10
8
0
0
0
0
0
0
1
-8
18
0
0
0
-8
0
3
-1
22
2
0
0
0
0
0
0
4
-3
21
0
0
0
0
0
0
-8
50
-12
0
0
0
0
0
0
-1
-15
-1
0
0
0
33
0
-1
2
-4
11
0
0
0
0
0
0
-20
-1
7
0
0
0
-19
0
-22
7
-14
-13
0
0
0
0
0
-8
-1
3
32
0
0
0
0
0
-5
13
-5
29
0
0
0
0
9
7
-14
5
11
0
0
0
0
0
-15
-15
14
26
0
0
0
0
0
4
-9
5
-29
0
0
0
0
0
-2
4
-10
-4
0
0
0
0
-1
-1
-14
0
8
0
0
0
0
0
5
12
-11
5
0
0
0
0
0
2
8
-24
17
0
0
0
0
0
0
0
-19
9
0
0
0
0
0
-8
-7
-11
-5
0
0
0
0
0
-2
-7
-10
16
0
0
0
0
0
0
1
-34
-1
0
0
0
0
0
-1
-8
-10
-25
0
0
0
0
2
0
-5
-15
35
0
0
0
0
-1
-2
-3
-24
17
0
0
0
0
0
1
-1
-16
-2
0
0
0
0
0
0
3
1
1
0
0
0
0
2
1
-7
-13
-4
0
0
0
0
1
0
19
13
9
0
0
0
0
0
1
-4
-16
-2
0
0
0
0
0
0
-3
7
6
0
0
0
0
2
-1
-6
8
16
0
0
0
0
0
0
15
13
1
0
0
0
0
0
1
-1
-3
-1
0
0
0
0
0
0
3
-8
-9
0
0
0
0
-1
0
-5
-1
-8
0
0
0
0
-2
0
8
14
12
0
0
0
0
3
2
2
-25
31
0
0
0
0
1
-1
7
-17
-16
0
0
0
0
-2
-5
4
-8
-22
0
0
0
0
-4
3
16
-20
-21
0
0
0
0
1
-8
-13
-20
67
0
0
0
0
0
1
-5
6
14
0
0
0
0
2
-9
2
12
-8
0
0
-1
0
0
13
16
3
-4
0
0
0
0
0
1
6
-2
19
0
0
0
0
0
-1
-1
15
-2
0
0
0
0
1
2
4
39
-9
0
0
1
0
0
-2
19
13
-6
0
0
0
0
0
-2
-3
9
-7
0
0
0
0
0
-4
-5
7
14
0
0
0
0
0
1
11
14
-40
0
0
17
0
0
-3
6
-6
-6
0
0
0
0
0
-2
-2
-1
-30
0
0
0
0
0
0
-16
12
-5
0
0
0
0
0
-4
12
-2
7
0
0
2
0
0
-30
-17
-24
39
0
0
0
0
1
2
-4
-2
10
0
0
0
0
0
-1
8
17
-12
0
0
0
0
0
0
-18
30
20
0
0
-4
0
1
-8
-44
-47
13
0
0
0
0
0
0
0
-8
-9
0
0
0
1
0
0
5
-10
25
0
0
0
0
1
0
-2
0
3
0
0
-1
0
0
6
4
-18
3
0
0
0
0
0
1
-8
-2
5
0
0
0
0
0
1
1
4
-12
0
0
0
0
0
-2
-7
-11
-10
0
0
-46
0
0
8
-5
-51
24
0
0
0
0
0
1
-8
14
-14
0
0
0
0
0
-2
3
-11
13
0
0
0
0
-1
2
3
-14
12
0
0
10
2
-3
-5
12
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-12
1
0
0
0
0
0
0
-1
-7
26
0
0
0
0
0
0
1
1
-15
0
0
0
0
0
0
0
7
15
0
0
0
0
-5
-14
10
10
24
0
0
0
0
0
-3
8
-2
-5
0
0
0
0
0
-1
-1
-1
13
0
0
0
0
1
0
-14
10
27
0
0
0
0
-5
8
-4
13
-13
0
0
0
0
0
0
5
23
29
0
0
0
0
0
0
3
-5
14
0
0
0
0
0
0
-2
-10
17
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
-3
3
-20
0
0
0
0
0
-2
0
1
7
0
0
0
0
0
0
-3
13
-20
0
0
0
0
7
-3
33
-9
12
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
-1
2
22
16
0
0
0
0
0
0
-3
-15
-10
0
0
0
0
-3
7
1
-1
24
0
0
0
0
0
0
-8
-3
-6
0
0
0
0
0
0
0
6
-8
0
0
0
0
1
0
0
-5
-9
0
0
0
0
5
10
15
-17
11
0
0
0
0
0
-1
0
9
-23
0
0
0
0
1
0
3
-29
29
0
0
0
0
0
4
-7
-1
-32
0
0
0
0
19
-6
-31
22
-28
0
0
0
0
0
1
3
-1
5
0
0
0
0
1
3
6
-3
-6
0
0
0
0
5
-26
19
7
1
0
0
0
0
0
0
0
-20
16
0
0
0
0
0
0
1
-9
35
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
-5
-1
-1
0
0
0
0
0
0
2
2
-8
0
0
0
0
0
0
-5
-12
29
0
0
0
0
0
0
0
-10
8
0
0
0
0
0
1
2
-29
13
0
0
0
0
0
0
4
7
-1
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
3
-18
32
0
0
0
0
0
0
0
-1
-5
0
0
0
-1
0
1
1
-7
54
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
-2
0
0
24
0
0
0
0
0
0
1
20
-20
0
0
0
18
0
1
1
-31
-5
0
0
0
0
0
0
0
-25
14
0
0
0
0
0
1
-6
3
7
0
0
0
0
0
0
3
-10
8
0
0
0
-1
0
-2
0
-1
-1
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
8
-8
-4
0
0
0
-3
0
0
-1
15
-24
0
0
0
0
0
0
-2
12
-1
0
0
0
2
0
-1
0
-32
1
0
0
0
0
0
0
1
7
12
0
0
0
-8
0
0
-1
-34
4
0
0
0
0
0
0
-1
5
5
0
0
0
-7
0
-2
-12
22
15
0
0
0
0
1
-1
-5
0
7
0
0
0
0
0
0
0
-14
-9
0
0
0
0
-1
-1
0
13
-19
0
0
0
0
0
1
12
-31
-11
0
0
0
0
0
-1
0
4
-17
0
0
0
0
0
0
2
-4
-7
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
0
6
-8
-8
0
0
0
0
0
0
0
4
26
0
0
0
0
0
0
-2
2
-16
0
0
0
0
0
-1
0
-13
41
0
0
0
0
0
-1
-2
-4
24
0
0
0
0
0
9
0
-5
-20
0
0
0
0
0
0
-3
4
-22
0
0
0
0
1
2
1
3
-12
0
0
0
0
0
3
33
2
-24
0
0
0
0
0
0
-1
5
12
0
0
0
0
0
-1
9
-5
-9
0
0
0
0
1
0
3
-17
4
0
0
0
0
0
0
8
8
10
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
2
0
9
0
0
0
0
0
-1
1
1
-1
0
0
0
0
0
-4
2
-14
2
0
0
0
0
2
-2
-3
-20
5
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
2
0
-28
2
0
0
0
0
0
-1
2
-8
-4
0
0
0
0
6
-1
13
-6
-19
0
0
0
0
0
0
0
0
23
0
0
0
0
3
-1
-4
9
17
0
0
0
0
0
3
-6
5
13
0
0
0
0
0
0
2
3
7
0
0
0
0
0
-2
0
14
-7
0
0
0
0
0
0
-9
16
-10
0
0
0
0
0
1
-10
-15
5
0
0
0
0
0
0
-3
5
8
0
0
0
0
0
0
-3
-2
-9
0
0
0
0
0
0
1
-17
14
0
0
0
0
0
-10
1
4
31
0
0
0
0
0
0
1
1
-12
0
0
0
1
0
0
-1
-7
2
0
0
0
0
0
0
1
-2
-21
0
0
-5
0
0
0
-4
18
-5
0
0
0
0
0
0
0
0
27
0
0
0
0
0
1
9
-5
-6
0
0
0
0
0
0
-6
9
-3
0
0
0
0
0
0
19
-8
-25
0
0
0
0
0
1
-2
9
-2
0
0
0
0
0
1
-9
1
-6
0
0
0
0
0
-2
1
-10
0
0
0
13
0
0
-7
14
-38
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-3
-1
-8
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
-1
-6
-1
0
0
0
0
0
3
-2
0
-18
0
0
0
0
0
0
1
23
-24
0
0
0
0
0
0
-1
-29
7
0
0
-13
0
0
1
-38
10
13
0
0
0
0
0
0
-9
-4
10
0
0
0
-2
0
0
10
6
-2
0
0
0
0
0
1
9
-29
5
0
0
15
1
-2
-22
-15
-8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
14
-5
0
0
0
0
0
0
-5
4
-5
0
0
0
0
0
1
-3
-24
10
0
0
0
0
0
-1
-16
3
17
0
0
0
0
0
-2
4
-6
7
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
-2
2
-3
-6
0
0
0
0
0
-5
4
-12
-9
0
0
0
0
-10
10
13
24
28
0
0
0
0
0
0
12
-15
4
0
0
0
0
0
4
-7
-5
-4
0
0
0
0
0
-10
-9
-6
12
0
0
0
0
-2
7
20
19
15
0
0
0
0
0
0
-7
-18
-1
0
0
0
0
3
1
8
21
-2
0
0
0
0
0
-3
-9
1
-5
0
0
0
0
7
10
-1
8
20
-20
0
0
0
0
-1
-1
-16
-8
19
0
0
0
0
0
0
-5
0
-7
0
0
0
-1
5
0
13
-8
33
0
0
0
4
2
5
-9
23
-28
0
0
0
0
0
8
-17
24
-19
0
0
0
-1
-1
0
5
10
-12
0
0
0
0
-1
0
2
0
-50
0
0
0
16
1
13
27
-31
20
0
0
0
0
0
7
3
44
-6
0
0
0
-1
0
8
-12
4
-74
0
0
0
0
0
4
-13
-6
38
0
0
0
-7
14
25
8
40
-9
0
0
0
0
-1
1
5
-8
41
0
0
0
1
3
28
-50
-40
31
0
0
0
-12
10
-1
-2
26
-32
0
0
0
0
0
7
-3
18
0
0
0
-3
0
5
1
-9
20
0
0
0
0
0
0
-1
-42
-1
0
0
0
0
0
2
-13
-8
-16
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
-1
-25
3
-9
0
0
0
0
0
0
-2
3
-10
0
0
0
0
0
-3
-9
17
-3
0
0
0
0
0
0
2
-28
19
0
0
0
-5
0
0
-1
4
33
0
0
0
0
0
0
-12
16
-13
0
0
0
0
0
2
-11
18
5
0
0
0
0
0
0
-3
7
-13
0
0
0
0
0
-1
-2
-14
2
0
0
0
0
0
-2
-13
-11
21
0
0
0
0
0
4
5
-25
33
0
0
0
0
0
1
5
4
6
32
0
0
23
0
1
-4
24
22
-3
0
0
0
0
0
-1
-16
1
9
0
0
0
0
0
12
-3
-15
-13
0
0
0
0
0
0
-3
-32
24
0
0
0
0
0
3
8
2
-53
0
0
0
0
0
0
0
-7
-42
0
0
0
0
0
-7
14
-17
-11
0
0
0
0
0
-1
-63
40
49
0
0
15
0
-3
1
-8
20
-6
0
0
0
0
-3
-1
16
2
36
0
0
0
0
0
5
12
-20
2
0
0
0
0
0
5
6
15
-7
0
0
9
0
0
-7
16
-5
-29
0
0
0
0
-2
5
-28
-18
5
0
0
23
-1
5
10
-33
5
-7
0
0
0
0
2
1
20
0
0
0
0
0
0
0
-2
-9
18
0
0
0
0
4
0
1
-3
-8
0
0
0
0
0
0
2
12
-18
0
0
0
0
0
1
-13
-8
4
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
2
-4
0
0
0
0
0
0
1
4
7
0
0
0
0
0
-2
0
-23
-4
0
0
0
0
-2
1
1
-27
9
0
0
0
0
0
0
30
11
25
0
0
0
0
0
-1
4
2
4
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
-2
-7
3
-19
0
0
0
0
-1
2
-12
2
-23
0
0
0
0
-1
1
-1
2
-21
-19
0
0
0
0
0
0
-5
-21
-9
0
0
0
1
1
0
-9
-18
24
0
0
0
0
1
-7
-8
-6
-18
0
0
0
0
-1
10
-4
-6
-36
0
0
0
0
0
0
-2
-8
3
0
0
0
1
0
-5
-3
5
-13
0
0
0
0
-1
-2
-19
7
4
0
0
0
0
-1
-6
2
8
25
0
0
0
0
0
0
-1
-6
15
0
0
0
0
-1
-8
2
1
37
0
0
0
0
-3
-2
-21
-1
-4
0
0
0
-1
-5
-2
2
5
-1
0
0
0
0
0
0
0
8
-23
0
0
0
0
3
8
14
3
-54
0
0
0
-2
9
-29
-20
6
18
0
0
0
0
0
-5
3
13
0
0
0
0
0
0
-2
-2
-4
0
0
0
0
0
0
0
8
-5
0
0
-1
0
0
1
-19
8
5
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
-25
3
5
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
21
-18
6
0
0
0
0
0
0
0
0
24
-17
0
0
0
0
0
0
9
-3
1
0
0
0
0
0
0
5
-42
-13
0
0
-4
0
0
-5
-4
-9
12
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-6
-6
6
0
0
0
0
0
1
3
-9
-16
0
0
0
0
0
-1
9
-1
-3
0
0
0
0
1
0
0
10
9
-38
0
0
0
0
0
8
-9
-19
7
0
0
0
-1
1
0
-19
-17
-4
0
21
0
0
4
22
19
-5
8
0
0
0
0
0
2
1
2
-45
0
0
0
0
0
0
-7
-1
17
0
0
0
0
1
0
-3
2
11
0
-2
0
0
3
-1
-16
-9
-34
0
0
0
0
2
-2
7
-7
25
0
0
0
0
-4
5
-22
-8
13
0
0
0
0
1
25
-13
-16
-1
0
0
0
0
-28
5
4
24
-21
0
0
0
0
-4
1
9
-8
4
0
0
0
0
0
-12
14
3
1
0
0
0
0
-7
-2
-19
13
-34
0
0
0
0
-15
12
12
21
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
9
24
6
0
0
0
0
0
0
-1
2
17
0
0
0
0
0
0
2
-1
5
0
0
0
0
0
0
0
-3
6
0
0
0
0
-2
0
14
0
-13
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
2
-6
14
0
0
0
0
5
-4
11
13
5
0
0
0
0
0
-1
-4
10
3
0
0
0
0
0
2
-3
-17
-11
0
0
0
0
0
0
0
-3
-10
0
0
0
0
4
7
16
0
-1
0
0
0
0
0
0
12
-10
13
0
0
0
0
0
21
-4
-4
14
0
0
0
0
-4
-8
15
-16
-10
0
0
0
0
-2
7
-20
1
14
-13
0
0
0
0
0
-1
-1
31
35
0
0
0
0
2
-1
-2
8
-38
0
0
0
0
1
1
4
-7
1
0
0
0
10
2
-3
30
25
-29
0
0
0
-2
-1
5
18
-18
-9
0
0
0
-2
1
1
5
-9
2
0
0
0
-1
-7
-7
32
10
-45
0
0
0
-18
-11
-7
-3
0
22
29
0
0
0
0
-4
-14
-14
-83
24
0
0
0
-13
0
-14
-7
12
-4
0
0
0
2
2
-10
1
24
6
0
0
4
7
38
5
-12
12
-65
0
0
0
-1
9
-3
39
-14
32
0
0
5
-6
4
35
12
-19
-19
0
0
-8
-28
6
-50
-12
-16
28
0
0
0
0
1
-3
25
0
0
0
16
0
0
0
-5
-37
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
-6
1
-5
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
-1
5
-2
-30
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
24
-3
0
0
0
0
0
-1
5
-9
-28
0
0
0
-7
0
0
-8
-13
17
0
0
0
0
0
0
2
-5
-9
0
0
0
0
0
-2
5
9
7
0
0
0
0
0
-1
3
1
35
0
0
0
0
0
0
0
6
-31
0
0
0
0
0
0
-1
1
56
0
0
0
-2
0
1
-4
-28
48
0
0
0
0
0
0
-4
-1
27
-13
0
0
-9
0
-5
7
-8
21
12
0
0
0
0
0
0
-8
-9
14
0
0
0
0
0
5
0
15
-10
0
0
0
0
0
-14
-2
22
46
0
0
-2
0
-1
-1
-19
-1
-2
0
0
0
0
0
2
-8
-2
-4
0
0
0
0
2
2
-1
8
-16
0
0
0
0
0
-9
7
16
-1
9
0
-7
0
0
-5
-62
6
9
4
0
0
0
0
1
-22
27
1
-14
0
0
0
1
-25
-12
-5
-4
1
0
0
0
-2
8
20
-8
-72
32
0
0
0
0
-14
-8
18
13
64
0
0
0
0
7
-21
-44
-46
7
0
-18
0
-6
0
30
-4
-3
-13
0
0
0
0
-2
-24
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-1
4
5
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
2
-6
0
16
0
0
0
0
0
0
0
-19
-4
0
0
0
0
0
-2
2
-8
-2
0
0
0
0
0
2
2
-6
-8
0
0
0
0
1
0
-6
7
-3
0
0
0
0
0
0
-2
-1
19
0
0
0
0
0
-1
-10
-6
5
0
0
0
0
-1
0
16
-9
5
0
0
0
0
-1
-3
2
1
20
-22
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
2
3
8
-1
0
0
0
0
0
-25
-23
2
15
0
0
0
-3
0
1
-4
2
18
0
0
0
0
0
-1
-8
2
13
0
0
0
0
0
0
-19
-4
-6
0
0
0
0
0
2
8
1
-13
0
0
0
-4
-4
2
-4
9
3
5
0
0
0
0
0
-13
10
33
-25
0
0
0
4
0
-5
-6
-20
32
0
0
-2
4
-5
17
0
-29
19
0
0
-2
-8
0
14
46
-27
-27
0
0
0
-2
1
12
-6
4
16
0
0
-3
0
-13
-1
-3
-11
-34
0
0
5
4
8
-37
14
-27
19
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
-13
15
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
-1
-5
-12
16
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-10
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
7
-1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
1
6
-8
-16
0
0
0
0
0
-3
2
-22
-5
0
0
-7
0
0
-1
-7
-17
-5
0
0
0
0
0
0
-7
4
1
0
0
0
-1
0
0
-15
6
24
0
0
0
0
0
0
2
7
8
0
0
-6
0
0
-3
27
-33
-12
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-25
-13
16
0
0
0
0
0
-5
-3
5
-5
0
6
0
0
0
-6
24
-1
-36
0
0
0
0
0
0
-4
-16
6
0
0
0
0
0
-1
-18
8
7
0
0
0
0
0
0
9
-16
13
0
-5
0
0
-5
-2
-7
0
45
0
0
0
0
-2
2
-5
-1
-31
7
0
0
0
-2
-7
-19
-3
51
-29
0
0
0
0
-4
5
1
31
-24
-9
0
0
0
-5
-13
23
-4
-2
0
0
0
0
7
-25
2
-50
54
0
0
0
0
-5
6
-13
-13
-6
0
0
0
0
-19
0
-5
-46
36
-11
-1
0
14
24
6
-26
7
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-8
-24
-24
0
0
0
0
0
0
-10
-12
7
0
0
0
0
0
0
-19
0
15
0
0
0
0
-1
1
-2
-4
-62
0
0
0
0
0
1
0
6
3
0
0
0
0
0
2
0
9
23
0
0
0
0
0
0
-4
3
45
0
0
0
0
0
0
7
-16
23
0
0
0
0
1
-21
4
-9
21
0
0
0
0
0
0
-2
6
42
0
0
0
0
0
-5
8
-6
7
0
0
0
0
0
-5
2
7
9
0
0
0
0
4
1
0
-25
-6
0
0
0
0
0
1
-1
-7
26
0
0
0
0
2
-5
4
0
9
0
0
0
0
0
2
-13
28
-18
0
0
0
0
0
1
4
8
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
1
0
0
-4
17
0
0
0
0
0
-2
-2
10
-5
0
0
0
0
-1
1
8
-16
-9
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-2
2
7
0
0
0
0
-1
0
0
3
12
0
0
0
0
3
-5
14
8
17
0
0
0
0
0
0
-1
14
12
0
0
0
0
0
0
8
-4
-9
0
0
0
0
0
0
3
-14
8
0
0
0
0
5
6
-2
-13
-25
0
0
0
0
0
0
0
19
14
0
0
0
0
-10
-7
20
-9
-14
0
0
0
0
-8
12
29
-2
0
0
0
0
0
0
0
2
-2
29
0
0
0
12
0
-1
-1
-29
-2
0
0
0
0
0
-1
0
-3
-12
0
0
0
0
0
-2
-13
-22
35
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-2
-10
-22
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
6
-3
-12
0
0
0
0
0
0
0
2
5
0
0
0
-4
0
1
2
0
-15
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
-1
-12
21
0
0
0
3
0
1
-2
10
-3
0
0
0
0
0
0
-2
1
11
0
0
0
0
0
1
-2
-19
26
0
0
0
0
0
0
0
8
44
0
0
0
-2
0
0
5
9
32
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
7
-3
0
0
0
0
0
0
-4
14
3
0
0
0
-4
0
0
0
19
9
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
2
-1
2
4
0
0
0
0
0
0
0
-7
37
0
0
0
-14
0
0
-1
4
14
0
0
0
0
0
0
0
5
6
0
0
0
3
0
-1
0
19
-2
0
0
0
0
0
-1
0
-4
-7
0
0
0
7
0
0
8
-19
6
0
0
0
0
0
0
-5
-14
7
0
0
0
20
0
-7
-6
-28
-1
0
0
0
0
1
-8
-3
13
-4
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
4
-9
17
4
0
0
0
0
0
0
-9
1
5
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
4
-25
4
0
0
0
0
0
-4
7
3
3
0
0
0
0
0
-1
2
10
-32
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
0
5
1
-22
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
2
9
0
0
0
0
0
0
-1
-4
22
0
0
0
0
0
0
2
9
53
0
0
0
0
0
0
2
13
17
0
0
0
0
0
1
2
6
6
0
0
0
0
0
0
-1
-2
13
0
0
0
0
0
0
6
1
5
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
10
5
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-2
-9
-4
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-1
1
6
-1
0
0
0
0
0
0
3
-19
-1
0
0
0
0
0
0
3
0
-24
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
3
-9
13
0
0
0
0
-1
0
-9
11
-2
0
0
0
0
0
0
-2
-7
2
0
0
0
0
0
1
4
1
9
0
0
0
0
0
0
7
-20
-12
0
0
14
0
0
-7
10
85
-2
0
0
0
0
0
0
-1
14
23
0
0
0
0
0
0
-5
2
5
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
1
25
12
11
0
0
0
0
0
1
-1
0
-8
0
0
0
0
0
0
6
7
-9
0
0
0
0
0
0
1
16
-12
0
0
0
0
0
0
11
-24
19
0
0
0
0
0
0
-1
-9
16
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
2
-3
8
4
0
0
0
0
0
-1
-7
54
27
0
0
0
0
0
0
-7
-1
1
0
0
0
0
0
0
2
-24
-12
0
0
0
0
0
0
1
0
-3
0
0
-2
0
0
0
-5
-1
6
0
0
0
0
0
0
-2
-5
-3
0
0
0
0
0
0
2
4
-3
0
0
0
0
0
0
-3
1
0
0
0
-2
0
0
0
16
-24
8
0
0
0
0
0
1
0
-41
13
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
1
-7
1
0
0
-3
0
0
0
17
21
8
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
3
5
16
0
0
0
43
0
0
-20
9
21
-31
0
0
0
0
0
-1
-1
-14
3
0
0
0
0
0
0
2
-15
22
0
0
0
0
0
0
2
-42
-20
0
0
0
0
0
0
-8
2
3
0
0
0
0
0
1
5
4
-16
0
0
0
0
0
0
0
10
21
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
3
6
5
0
0
0
0
0
-2
16
-9
6
0
0
0
0
0
-1
13
-5
-8
0
0
0
0
0
0
8
-8
-14
0
0
0
0
0
1
-2
-19
-6
0
0
0
0
1
0
-2
0
46
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
-3
0
0
-12
0
0
0
0
0
0
7
7
-10
8
0
0
0
0
0
-2
4
-5
-8
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
-3
13
0
0
0
0
-1
0
2
2
-4
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
-4
0
-1
7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
5
19
0
0
0
0
0
0
0
-17
-3
0
0
0
0
-1
0
1
6
-2
0
0
0
0
-2
-13
-14
6
-11
0
0
0
0
0
0
-3
5
6
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
-2
10
8
0
0
0
0
0
0
3
8
6
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-2
-22
13
0
0
0
0
0
0
3
-3
-23
0
0
0
0
0
0
-5
-12
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
-1
-9
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
12
13
0
0
0
0
0
0
-1
0
1
0
0
0
3
0
0
-1
-5
-19
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
7
1
2
0
0
0
0
0
0
0
1
2
0
0
0
0
0
1
-2
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
-1
-3
1
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
-8
9
0
0
0
0
0
0
8
-2
-8
0
0
0
0
0
0
0
-8
19
0
0
0
0
0
0
-6
-4
-1
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
1
1
-12
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-5
-19
0
0
0
0
0
0
1
3
9
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
-1
3
-13
0
0
0
0
0
-1
-1
7
7
0
0
0
0
0
0
2
20
-7
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
1
-3
4
2
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
19
8
-28
0
0
0
0
0
3
12
-12
11
0
0
0
0
0
0
-3
-20
13
0
0
0
0
0
0
-5
28
-5
0
0
0
0
0
5
13
-34
-13
0
0
0
0
0
0
6
0
-8
0
0
0
0
0
-1
4
38
3
0
0
0
0
0
0
-3
3
-8
0
0
0
0
0
-14
-19
-13
11
0
0
0
0
0
0
7
-2
7
0
0
0
0
0
-1
3
-9
9
0
0
0
0
0
0
1
12
-3
0
0
0
0
0
5
-8
2
-3
0
0
0
0
0
0
-4
-5
-10
0
0
0
0
0
0
6
-4
-23
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-1
-23
29
5
0
0
0
0
0
10
3
8
-1
0
0
0
0
0
0
-2
-2
-24
0
0
0
0
0
-1
4
-1
13
0
0
0
0
0
-4
-4
-20
15
0
0
0
0
0
-2
0
1
-2
0
0
0
0
0
0
5
-5
8
0
0
0
0
0
0
-1
-4
-6
0
0
0
0
0
1
1
8
0
0
0
0
0
0
4
0
-6
12
0
0
0
0
0
-1
-3
-2
-10
0
0
0
0
0
-1
0
-9
1
0
0
0
0
0
2
-1
-1
3
0
0
0
0
0
2
5
-22
-4
0
0
0
0
0
-1
14
6
-8
0
0
0
0
0
6
14
1
5
0
0
-1
0
0
9
-13
-30
45
0
0
0
0
9
-2
-2
-1
-23
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
6
-23
0
0
0
0
0
0
2
32
0
0
0
0
0
0
-1
8
5
3
0
0
0
0
0
-2
0
0
8
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
7
-13
-21
0
0
0
0
1
0
-3
-7
-6
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
-1
-7
15
8
0
0
0
0
0
6
-1
-27
29
0
0
0
0
-1
0
6
-2
45
0
0
0
0
0
0
-2
-4
15
0
0
0
0
-1
2
-13
5
17
0
0
0
0
0
-6
-14
21
-38
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
4
-5
0
-9
0
0
0
0
0
0
1
-6
7
0
0
0
0
0
-1
0
-5
7
0
0
0
0
0
-1
-1
1
0
0
0
0
0
-5
2
5
14
47
0
0
0
0
0
0
0
-7
-4
0
0
0
0
-1
0
-6
3
-23
0
0
0
0
1
-8
4
16
0
0
0
0
0
0
0
2
9
-2
0
0
0
5
0
0
-1
-1
-34
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
-2
-1
-7
0
0
0
0
0
0
-3
0
-2
-20
0
0
0
0
0
0
3
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
10
0
0
0
0
0
0
0
15
9
0
0
0
0
0
0
2
30
15
0
0
0
0
0
0
0
-12
22
0
0
0
0
0
2
2
-10
28
0
0
0
0
0
0
0
3
-17
0
0
0
3
0
0
-9
-2
11
0
0
0
0
0
0
0
-13
-1
0
0
0
-1
0
0
-6
-14
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
2
-8
1
0
0
0
0
0
0
0
-16
16
0
0
0
5
0
0
3
-32
-14
0
0
0
0
0
0
0
-5
-41
0
0
0
3
0
-1
-6
-1
48
0
0
0
0
0
0
3
-5
-6
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
-3
2
4
18
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
7
12
0
0
0
0
0
1
2
8
-6
0
0
0
0
0
0
0
-50
10
0
0
0
0
-1
0
-6
12
5
0
0
0
0
0
-2
1
2
-2
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
2
7
-9
-3
0
0
0
0
0
0
1
-22
2
0
0
0
0
1
0
-1
-2
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
22
-18
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-1
10
-4
0
0
0
0
-1
-5
-1
11
-21
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
-1
-1
29
2
0
0
0
0
0
0
2
-7
25
0
0
1
0
0
-1
-3
-6
7
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
2
2
-14
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
13
-13
-1
0
0
0
0
0
0
17
17
-2
0
0
0
0
0
0
17
-30
-2
0
0
0
0
0
0
-1
-14
-8
0
0
3
0
0
2
-24
-15
-4
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
1
-1
-5
3
0
0
0
0
0
1
-1
13
-9
0
0
0
0
0
-2
9
-27
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-2
0
0
0
0
0
0
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-9
-1
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
-4
0
8
-18
0
0
0
0
0
0
-1
-5
12
0
0
0
0
0
0
1
11
1
0
0
0
0
0
-1
5
-17
-32
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
7
-2
-2
9
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
2
-3
4
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
-2
2
-2
6
0
0
0
0
0
0
1
0
5
0
0
0
0
-2
0
-2
1
1
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
1
0
2
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
2
-6
2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
-2
1
8
0
0
0
0
0
1
1
2
5
0
0
0
0
2
0
0
-2
0
0
0
0
0
-1
-3
-1
3
8
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-3
0
5
3
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
-6
-17
17
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
2
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
-1
9
0
0
0
0
0
0
1
-5
-14
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
-1
0
-3
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
-7
-2
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-1
-27
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
0
0
0
-2
-20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-15
45
-31
0
0
0
0
0
1
-2
-4
28
0
0
0
0
0
0
1
17
40
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
-3
14
5
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
-1
0
1
1
12
0
0
0
0
0
0
-3
2
-10
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
-7
2
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
-1
9
0
0
0
0
0
-1
-1
0
9
0
0
0
0
0
0
-2
-1
9
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
-1
-2
-24
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
0
0
0
0
0
0
0
7
2
0
0
0
0
0
-1
0
1
5
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
-2
0
-5
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
-2
-2
-1
0
0
0
0
1
1
5
-45
22
0
0
0
0
0
-7
0
3
1
0
0
0
-1
0
0
0
-16
39
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
4
8
-19
2
0
0
0
0
0
0
0
0
20
0
0
0
0
0
1
-30
-4
-10
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-24
20
-4
0
0
0
0
0
0
15
-8
10
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
1
-3
7
-17
0
0
0
0
0
-9
-9
-16
33
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
2
0
-19
0
0
0
0
0
-2
2
-3
-8
0
0
0
0
0
-8
3
-15
-4
0
0
0
0
0
5
5
0
17
0
0
0
-1
0
-1
0
6
23
0
0
0
0
0
0
-1
3
16
0
0
0
0
0
1
-10
1
5
0
0
0
0
0
0
-1
2
8
0
0
0
0
0
0
-4
4
-24
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
6
1
-8
-21
0
0
0
0
0
-1
3
8
-31
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
1
-18
4
22
0
0
0
0
0
-3
0
-5
-6
0
0
0
0
0
-2
3
-1
12
0
0
0
0
0
0
1
4
6
0
0
0
0
0
-17
5
-14
5
0
0
0
0
1
-6
6
10
4
0
0
0
0
0
0
0
-5
12
0
0
0
0
3
0
-3
-22
5
0
0
0
0
0
0
4
-8
0
0
0
0
0
-2
1
1
0
15
0
0
0
0
0
-3
0
2
-9
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
3
-5
-13
17
0
0
0
0
-2
7
6
14
-14
0
0
0
0
0
0
-2
-5
4
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
3
8
0
0
0
0
0
-1
3
3
8
0
0
0
0
0
2
-4
7
6
0
0
0
0
0
-1
5
-41
4
0
0
0
0
1
-2
6
-8
-17
-4
0
0
0
0
0
-1
-4
-2
8
0
0
0
0
0
0
5
17
-6
0
0
0
0
1
-5
0
10
-19
0
0
0
0
0
3
-2
-7
-44
0
0
0
0
0
0
-6
7
10
0
0
0
0
0
0
-1
-8
22
0
0
0
0
-2
5
0
1
4
0
0
0
3
-5
6
2
10
45
0
0
0
0
0
0
0
13
53
0
0
0
0
-1
2
2
3
14
0
0
0
0
-1
-8
-12
-5
48
0
0
0
3
0
-5
5
2
47
0
0
0
0
1
1
7
1
16
0
0
0
8
3
-1
8
31
1
0
0
0
-5
-13
13
13
13
-22
0
0
0
0
0
1
8
3
0
0
0
16
0
0
0
7
-24
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-2
5
19
0
0
0
0
0
1
0
-2
-7
0
0
0
0
0
0
2
-3
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
-3
-7
13
0
0
0
0
0
0
0
-3
9
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
6
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-8
35
0
0
0
0
0
0
0
8
-2
27
0
0
13
0
0
0
23
-8
-6
0
0
0
0
0
0
-12
-13
71
0
0
0
0
0
0
4
-3
21
0
0
0
0
-1
0
-17
-1
-24
0
0
0
0
0
-1
-1
8
-8
0
0
0
0
0
0
1
0
-51
0
0
0
0
0
5
3
-8
7
0
0
0
0
0
-3
5
-15
41
0
0
-12
0
0
0
-40
9
19
0
0
0
0
0
0
-5
3
11
0
0
0
0
0
0
0
-7
-11
0
0
0
0
0
0
8
29
-15
0
0
-1
0
0
1
18
4
-14
0
0
0
0
0
-1
6
7
-28
0
0
-3
0
0
3
-19
-12
22
0
0
0
0
0
-3
-8
4
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-1
-10
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
-9
13
0
0
0
0
2
0
0
2
0
69
0
0
0
0
0
0
-4
5
13
0
0
0
0
0
2
-16
-8
-13
0
0
0
0
0
0
-5
-8
24
0
0
0
0
0
2
-3
1
-17
0
0
0
0
0
0
1
0
15
0
0
0
-1
0
0
-2
0
-15
0
0
0
0
0
2
1
0
-26
0
0
0
0
0
0
-4
-12
38
0
0
0
0
0
0
-1
-1
13
0
0
0
0
0
0
5
1
-12
0
0
0
0
0
0
-5
4
9
0
0
0
0
0
2
-2
6
-19
0
0
0
0
0
0
-6
1
-3
0
0
0
1
0
1
-7
0
-54
0
0
0
0
0
-8
5
-14
-17
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
-1
0
0
-3
0
0
0
-4
-4
15
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
-5
-7
0
0
0
0
0
0
0
-3
2
-12
0
0
0
0
0
0
-14
-2
44
0
0
0
0
0
-2
17
-5
-38
0
-2
0
0
1
-5
24
-1
-32
0
0
0
0
0
-1
-2
0
-38
0
0
0
0
0
3
-4
0
-40
0
0
0
0
0
1
-4
0
35
0
1
0
0
0
-1
9
0
1
0
0
0
0
-1
1
-5
-3
6
0
0
0
0
-2
-1
-5
-2
25
0
0
0
0
0
-2
-2
0
-13
0
7
0
0
2
2
12
0
0
0
0
0
0
0
-2
-18
25
-59
0
0
0
0
0
1
-16
1
14
0
0
0
0
-1
0
5
12
-13
0
12
0
0
6
-16
-13
-24
27
0
0
0
0
0
-4
8
25
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-2
2
-1
8
0
0
0
0
-1
0
-2
1
-4
14
0
0
0
0
0
0
-3
4
-61
0
0
0
0
0
1
-1
0
45
0
0
0
0
0
-5
-7
5
-13
0
0
0
1
1
-1
0
-5
6
0
0
0
0
0
-2
1
0
-28
0
0
0
0
0
0
8
-1
8
0
0
0
0
-1
2
0
-4
-2
0
0
0
0
-1
-4
-1
2
-1
0
0
0
0
0
0
-1
5
9
0
0
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
-1
-2
1
28
-17
0
0
0
0
0
0
-1
2
2
0
0
0
0
1
0
3
1
5
0
0
0
0
-1
14
26
13
-35
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
6
8
-15
0
0
0
0
0
0
0
0
-31
0
0
0
0
-1
-1
-8
1
16
0
0
0
0
0
0
-3
-7
2
0
0
0
0
0
7
3
7
-27
0
0
0
0
0
0
0
0
-43
0
0
0
0
-1
-2
4
-1
-19
0
0
0
0
0
0
3
6
1
0
0
0
0
0
0
2
3
-8
0
0
0
0
0
0
0
0
19
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
6
8
-22
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
1
3
4
-5
0
0
-1
0
1
2
-18
6
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
30
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
-2
10
0
0
0
0
0
-1
0
3
17
0
0
0
0
0
-1
2
0
66
0
0
0
0
0
0
-3
0
-7
0
0
0
1
0
-3
-1
8
-27
0
0
0
0
0
0
2
-1
6
0
0
0
2
0
0
-1
0
26
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
-2
-25
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
1
2
2
-34
0
0
0
0
0
3
-43
27
-34
0
0
0
0
-1
1
-3
24
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-7
5
0
0
-1
0
0
3
5
-9
12
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
-2
3
0
0
0
0
0
0
2
1
0
-10
0
0
0
0
0
1
-2
8
33
0
0
0
0
1
0
-7
0
-41
0
0
0
0
2
-12
-2
1
-53
0
0
0
0
0
-1
0
-5
-15
0
0
0
0
0
6
-4
3
20
0
0
0
0
0
0
-5
0
-28
0
-1
0
0
0
-4
17
0
-37
0
0
0
0
0
0
-5
0
29
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
-1
0
0
-24
0
0
0
0
0
0
3
0
7
0
0
0
0
-1
0
1
-3
-7
0
0
0
0
1
1
-2
2
17
0
0
0
0
-1
2
-7
3
15
0
0
0
0
9
5
-31
6
23
0
0
0
-1
1
-18
-13
7
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-1
4
-8
0
0
0
0
0
-2
2
-5
8
0
0
0
0
1
0
-1
2
10
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-4
0
0
0
0
0
1
-18
5
9
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
4
-24
-10
0
0
0
0
0
0
8
8
9
0
0
0
0
-1
-2
3
0
14
0
0
0
0
0
0
0
1
-3
0
0
0
0
1
0
0
-8
-6
0
0
0
0
0
-3
7
-3
10
0
0
0
0
-3
8
-6
0
-6
19
0
0
0
0
0
-1
0
4
28
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
2
-6
1
-13
0
0
0
0
0
4
2
2
31
0
0
0
0
0
1
-2
1
5
0
0
0
1
-1
1
0
1
-19
0
0
0
0
0
-1
1
1
-14
0
0
0
0
-3
-2
25
-19
-21
43
0
0
0
-1
2
9
17
-15
2
0
0
0
5
1
-16
29
-28
7
0
0
0
0
2
-20
-7
50
-27
0
0
-3
-1
6
-10
-28
-94
39
0
0
0
0
1
-13
-3
35
-7
0
0
-1
-2
0
0
18
25
-9
0
0
-6
-10
38
1
33
-5
8
0
0
0
0
-1
-13
29
0
0
0
-6
0
0
0
4
10
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-2
-7
-7
0
0
0
0
0
-1
0
5
-2
0
0
0
0
0
1
-3
-20
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-13
8
0
0
0
0
0
-1
-1
6
-13
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
0
-8
-3
0
0
0
0
0
0
-1
6
-2
11
0
0
1
0
0
0
-7
10
-1
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
-1
6
-15
-11
0
0
0
0
0
-1
-5
-5
1
0
0
-1
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
0
-1
13
0
0
0
0
1
1
7
6
-35
63
0
1
0
0
0
7
-37
11
37
0
0
0
0
1
-47
5
-1
-11
0
0
0
2
-1
4
7
-11
28
0
0
0
-1
0
6
-9
-15
10
0
-14
0
0
-12
13
2
14
3
0
0
0
1
0
-16
13
-37
-34
0
-1
0
-1
18
14
41
-12
-5
0
0
0
0
0
5
3
0
0
0
0
0
0
-2
-5
18
0
0
0
0
0
0
-1
9
2
0
0
0
0
0
0
0
-11
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
1
-3
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
2
6
0
0
0
0
0
2
-1
-4
-2
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-13
0
0
0
0
0
0
-25
-12
2
0
0
0
0
1
0
2
-13
10
0
0
0
0
0
0
-5
-10
-2
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
3
0
4
0
0
0
0
0
-13
8
-22
16
0
0
0
1
1
-16
4
14
-41
0
0
0
0
-2
7
3
-54
4
0
0
0
0
0
7
2
5
-51
0
0
0
0
0
1
-5
-1
29
0
0
0
0
0
5
-1
-15
-9
0
0
-1
-2
-22
-5
22
-12
6
0
0
0
0
3
-17
15
0
0
0
0
0
0
0
-25
7
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
-1
7
-8
29
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
4
0
0
0
0
0
3
0
7
-2
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
1
-8
0
0
0
0
0
0
2
0
6
-24
0
0
0
0
0
-1
16
12
-11
0
0
0
0
0
0
-3
1
-28
0
4
0
0
0
0
-5
-1
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-1
0
3
0
0
0
0
0
12
13
-1
-31
11
0
0
0
0
-8
-2
11
-13
-8
0
0
0
0
-2
18
-4
14
21
-34
0
0
0
-4
-69
-8
-7
29
0
0
0
1
2
32
3
-23
13
0
0
0
0
0
24
0
-4
1
0
0
0
-3
0
1
0
7
-17
-24
0
0
-7
13
6
8
-9
-24
0
0
-3
17
10
2
39
0
0
0
0
0
1
2
-2
13
0
0
0
0
0
0
-12
-19
18
0
0
0
0
0
0
-7
-13
-9
0
0
0
0
0
0
-3
-4
4
0
0
0
0
0
1
-6
8
-2
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
2
2
-19
0
0
0
0
5
3
2
-3
-4
0
0
0
0
0
-1
-2
2
8
0
0
0
0
0
1
-2
-13
-3
0
0
0
0
0
0
-6
4
12
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
5
7
0
0
0
0
0
3
-8
-1
2
0
0
0
0
0
1
8
0
14
-3
0
0
0
0
0
2
8
8
-8
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
1
9
-3
16
0
0
0
-3
0
-1
1
11
6
0
0
0
0
0
0
1
7
8
0
0
0
0
1
0
0
2
-11
0
0
0
0
0
0
0
0
-9
0
0
0
-6
0
5
17
-10
-3
39
0
0
0
0
0
5
11
-36
41
0
0
0
0
0
-5
8
-6
-64
0
0
0
0
-1
-7
0
2
27
0
0
5
2
-5
-6
6
29
-10
0
0
0
0
0
5
8
-18
8
0
0
0
0
0
-6
-14
-5
36
0
0
9
5
10
-8
4
-28
23
0
0
0
0
3
-7
19
0
0
0
-6
0
0
0
-16
19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
6
-8
-15
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-5
-12
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
-1
13
-1
0
0
0
-4
0
0
0
10
32
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
-16
0
0
0
0
0
0
-3
0
1
0
0
0
-1
0
0
-1
-1
14
0
0
0
0
0
0
0
2
5
-17
0
0
-10
0
0
1
-3
4
-24
0
0
0
0
1
1
0
0
-3
0
0
0
0
0
0
8
-5
48
0
0
0
0
0
1
-2
4
-1
0
0
0
0
0
-1
-2
25
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
1
-5
-16
0
0
0
0
0
0
-2
-10
14
55
0
3
0
0
1
-7
5
4
-57
0
0
0
0
0
3
-2
-13
21
0
0
0
0
-2
-7
-3
0
-12
0
0
0
0
0
1
-9
-21
22
0
8
0
0
1
-2
-10
-4
8
0
0
0
0
0
1
0
19
-22
0
-10
0
0
-4
43
-28
-15
-24
0
0
1
-8
0
-1
29
0
0
0
0
0
0
-2
7
-10
0
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
-8
-14
6
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
2
7
9
5
0
0
0
0
-3
0
0
13
6
0
0
0
0
0
0
0
-1
-18
0
0
0
0
-2
0
0
-4
-4
0
0
0
0
0
0
-2
-32
-7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
1
1
0
4
-6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
-2
3
15
-41
0
0
0
0
0
1
7
-18
-12
0
0
0
0
1
0
-9
-16
-59
0
0
0
0
0
3
-17
2
-21
0
0
0
2
-2
1
0
1
4
0
0
0
0
0
0
-2
-3
0
0
0
0
-2
0
0
2
-1
-3
0
0
0
0
-1
0
-2
0
1
0
0
0
1
1
-3
-12
-12
44
-15
0
0
0
-1
0
17
-8
10
-39
0
0
0
-3
0
-14
0
2
0
0
0
0
0
0
2
-1
-23
-40
0
0
4
0
4
-3
-2
10
13
0
0
0
0
0
-2
13
-7
26
0
0
-3
1
1
-6
-4
-5
34
0
0
-1
-2
-2
-3
8
9
10
0
0
-13
-6
34
3
48
0
0
0
9
0
8
-15
15
7
0
0
0
0
24
16
-5
-37
10
0
0
-6
0
0
0
31
4
-22
0
0
0
0
-3
1
1
-22
3
0
0
0
2
0
-1
-10
-12
40
0
0
0
0
0
4
12
33
-27
0
0
0
0
1
-3
-17
30
-11
0
0
0
0
1
18
-8
-4
16
0
0
0
-2
0
-3
20
-43
-9
0
0
0
0
-1
-10
-23
-17
14
0
0
-2
0
0
-2
28
-72
-10
0
0
0
0
-2
-13
-9
24
-33
0
0
0
-6
0
-1
-4
-7
27
0
0
0
0
-1
5
-16
6
-30
0
0
5
-3
-5
-15
14
3
-14
0
0
0
0
3
-1
9
-23
42
-10
0
0
-6
0
8
-14
-24
-5
46
0
0
0
-2
0
-8
-5
7
47
0
19
0
-1
13
-4
17
43
-31
0
0
0
4
15
25
16
-32
26
0
0
-8
0
-7
3
-28
-31
12
0
0
0
0
2
1
-27
3
24
0
2
0
1
6
-6
6
3
-32
0
0
0
13
-6
-7
-52
43
-26
3
0
-8
0
1
3
-28
-52
-23
30
0
0
0
6
13
-38
5
-12
23
-31
0
-1
-22
-44
53
-19
-22
11
0
0
10
-12
-28
17
17
31
-43
0
20
0
-12
-35
30
33
-39
18
0
0
-8
-21
-41
-71
8
-28
15
-7
-9
-9
5
-6
-29
14
0
-10
0
0
14
-2
-7
-12
-33
0
0
0
0
0
-3
-1
5
12
0
0
0
0
0
1
-1
-5
13
0
0
0
0
0
0
-12
-8
1
0
0
0
0
0
0
-2
-2
3
0
0
0
0
0
2
-8
0
18
0
0
0
0
0
0
4
1
20
0
0
0
0
0
-3
-4
8
-6
0
0
0
0
-1
1
-2
-2
13
0
0
0
0
0
-2
0
-8
4
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
0
1
5
6
0
0
0
0
0
1
5
-4
27
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
1
-1
-24
26
0
0
0
0
0
-9
22
5
-1
0
0
0
0
-4
0
-1
2
1
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
1
10
-1
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-6
33
0
0
0
0
0
0
0
2
-17
0
0
0
0
-1
-2
3
12
3
0
0
0
0
0
1
0
9
-14
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
1
4
13
0
0
0
0
1
1
9
8
-7
0
0
0
0
0
0
13
15
15
0
0
0
0
1
1
0
5
-25
0
0
0
0
-6
2
-4
12
-9
0
0
0
0
0
0
0
1
6
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
-32
20
0
0
0
0
0
1
-1
-26
15
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
-4
-30
3
0
0
0
0
0
0
0
10
31
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
-2
3
-3
7
0
0
0
0
0
0
-2
-7
30
0
0
0
0
0
0
1
6
-5
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
1
0
27
-15
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
-3
0
0
0
-2
0
0
0
16
11
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
1
2
20
0
0
0
0
0
0
-1
-15
-2
0
0
0
4
0
0
-2
7
29
0
0
0
0
0
0
0
3
24
0
0
0
4
0
1
0
-14
12
0
0
0
0
0
-4
4
8
32
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
2
1
-10
0
0
0
0
0
-2
2
-3
-17
0
0
0
0
0
0
-2
-4
-16
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-8
4
23
0
0
0
0
0
0
-3
-30
-2
0
0
0
0
0
0
3
-3
17
0
0
0
0
0
0
1
-4
19
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-8
1
0
0
0
0
0
0
0
-12
10
0
0
0
0
0
-1
1
-12
-1
0
0
0
0
0
0
1
2
-7
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
-2
0
0
14
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
6
7
-8
0
0
0
0
0
0
-1
-7
3
0
0
0
0
0
-1
6
-7
16
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
-8
6
7
0
0
0
0
0
0
2
-7
24
0
0
-2
0
0
0
-10
-5
10
0
0
0
0
0
0
3
1
-1
0
0
0
0
0
0
-3
-8
-4
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
3
14
39
0
0
0
0
0
0
5
-11
16
0
0
0
0
0
0
8
2
8
0
0
0
0
0
0
-3
-31
10
0
0
-1
0
0
0
0
-11
-3
0
0
0
0
0
0
-17
7
27
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
-7
25
-8
0
0
0
0
0
0
4
9
0
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
-4
5
-10
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
1
8
6
5
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
-1
-8
4
0
0
0
0
0
0
-10
0
7
0
0
1
0
0
0
2
5
1
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
-3
5
2
0
0
1
0
0
0
-9
10
-8
0
0
0
0
0
0
8
-1
2
0
0
0
0
0
0
-9
-6
5
0
0
0
0
0
0
8
0
16
0
0
12
-1
0
-1
-14
0
-10
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
-2
0
-15
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
6
-6
3
0
0
0
0
0
0
2
-5
-8
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
6
5
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
6
0
0
0
0
0
0
-6
14
3
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
-19
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
2
12
0
0
0
0
0
-1
4
-1
3
0
0
0
0
0
0
2
-3
-18
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
6
6
-1
-9
0
0
0
0
0
0
1
-3
23
0
0
0
0
0
0
-1
4
12
0
0
0
0
0
0
1
-3
-16
0
0
0
0
0
0
-3
-9
13
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
1
0
3
5
0
0
0
0
0
0
0
1
-12
0
0
0
-1
0
0
0
-5
5
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-2
-5
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
1
1
21
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
-3
-5
15
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
24
-5
-25
0
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
-1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
1
-5
-2
5
0
0
0
0
0
3
7
-5
-7
0
0
0
0
0
2
-4
1
8
0
0
0
0
0
0
5
8
-2
0
0
0
0
0
3
-11
20
5
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
2
-3
-7
12
0
0
0
0
0
1
2
2
-5
0
0
0
0
0
3
2
1
8
0
0
0
0
0
3
4
4
-9
0
0
0
0
0
-1
2
-20
-7
0
0
0
0
0
0
12
-3
2
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-3
-2
-14
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
-3
6
-2
0
0
0
0
0
0
-4
1
-1
7
0
0
0
0
0
9
-7
1
6
0
0
0
0
0
-1
-2
-5
13
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
3
5
-10
0
0
0
0
0
0
0
-9
2
1
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
3
-2
0
0
0
0
0
-2
5
5
0
0
0
0
0
0
-5
-5
5
7
0
0
0
0
0
0
-2
6
-1
0
0
0
0
0
2
-8
4
0
0
0
0
0
0
-8
-18
5
-6
0
0
0
0
0
2
9
-2
-14
0
0
0
0
0
-1
3
-8
0
0
0
0
0
0
-5
-16
8
39
0
0
0
0
0
4
-9
-3
11
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
0
7
-7
-33
0
0
0
0
0
1
1
2
13
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
-8
8
25
0
0
0
0
0
1
1
-4
-11
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
-2
0
12
5
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-3
2
5
0
0
0
0
0
-1
0
2
22
0
0
0
0
0
0
1
2
29
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-2
1
-9
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
-5
-4
12
0
0
0
0
0
0
1
-6
9
0
0
0
1
0
0
0
-8
-10
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
13
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
8
11
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
-1
5
17
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-1
-2
1
0
0
0
1
0
0
0
-3
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-14
0
0
0
-2
0
0
2
-1
4
0
0
0
0
0
0
-1
-2
-3
0
0
0
1
0
0
-6
1
4
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
-1
0
2
33
0
0
0
0
0
2
0
5
-13
0
0
0
0
0
-1
6
-8
1
0
0
0
0
0
0
0
3
-29
0
0
0
0
0
0
1
-6
-13
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-4
-6
-13
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
0
-8
42
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
-1
3
4
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-6
3
4
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
-1
-1
-12
14
2
0
0
0
0
0
0
-2
-6
16
0
0
0
0
0
0
1
13
-1
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
0
6
-3
-15
0
0
0
0
0
0
-5
-6
-6
0
0
0
0
0
-1
-2
4
-12
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
-8
-24
0
0
0
0
0
-1
1
6
-5
0
0
0
0
0
0
-3
9
5
0
0
0
0
0
0
-2
-4
17
0
0
0
0
0
-3
-1
-4
7
0
0
0
0
0
0
-5
8
16
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-6
4
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-19
0
0
0
-2
0
0
2
-3
-2
0
0
0
0
0
0
0
2
2
-28
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
1
-9
2
0
0
-2
0
0
6
41
-29
-20
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
-2
0
6
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
-9
21
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
2
0
0
16
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
1
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-4
-4
-3
0
0
0
0
0
0
0
6
21
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
-1
-1
7
-22
0
0
0
0
0
0
-1
-9
15
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-2
-5
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
2
1
1
-17
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
2
3
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
-5
-8
-20
4
0
0
0
0
-1
1
2
-15
31
0
0
0
-1
0
-2
-1
-14
40
0
0
0
0
0
-1
-5
2
4
0
0
1
0
0
-1
0
-2
2
0
0
0
0
0
7
4
2
12
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-4
-5
8
0
0
0
0
0
-3
0
10
-6
0
0
0
0
0
-2
0
0
10
0
0
0
0
0
2
-4
1
-4
0
0
0
0
0
-6
-2
-22
0
0
0
0
0
0
1
0
3
-3
0
0
0
0
0
-1
1
0
-4
0
0
0
0
0
1
4
-3
12
0
0
0
0
0
-2
7
-9
0
0
0
0
0
0
-5
24
2
17
0
0
0
1
0
-1
9
1
-1
0
0
0
0
0
1
0
-9
-24
0
0
0
0
0
1
6
6
-15
0
0
0
0
-2
-1
0
5
8
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
2
2
2
-5
0
0
0
0
0
-3
13
-2
-3
0
0
0
0
0
1
1
1
5
0
0
0
0
0
-3
0
-14
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
-4
-3
8
0
0
0
0
0
-2
3
2
-2
0
0
0
0
0
-8
-6
-4
17
0
0
1
-1
0
-22
23
9
7
0
0
0
0
0
7
5
-2
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
-2
-1
3
0
0
0
0
0
-1
-6
-8
2
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
1
4
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
-1
0
0
0
0
0
-1
0
-3
7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
2
9
16
-5
0
0
0
0
0
-2
0
-1
-5
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
-2
10
22
0
0
0
0
1
0
0
1
2
-56
0
0
0
0
0
1
-2
4
-5
0
0
0
0
0
1
-3
-13
1
0
0
0
0
0
0
-18
3
-9
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-2
8
-10
0
0
0
0
-1
-1
1
5
24
0
0
0
0
0
0
0
3
18
0
0
0
0
-3
2
8
2
-11
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
-17
6
-32
0
0
0
0
0
1
-12
0
34
0
0
0
0
0
-1
3
27
10
0
0
0
0
0
0
3
-19
33
0
0
0
0
2
0
-18
14
-17
0
0
0
1
1
10
-1
8
36
0
0
0
0
0
1
-7
-7
0
0
0
0
0
0
-1
-10
-5
0
0
0
0
0
0
0
-12
10
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
1
-14
-3
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
18
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
2
1
-12
0
0
0
-1
0
0
-1
-3
2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
1
0
-24
-32
0
0
1
0
0
-1
-7
5
17
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
3
0
37
0
0
0
0
0
1
-1
1
-19
0
0
0
0
0
1
0
-16
-4
0
0
0
0
0
0
-13
1
29
0
0
0
0
0
0
1
-3
2
0
0
0
0
1
0
-6
-5
1
0
0
0
0
0
0
4
41
-21
0
0
0
0
0
0
1
-3
-20
0
0
0
0
0
0
-7
-5
16
0
0
0
0
0
-1
12
6
-40
0
0
-1
0
0
0
-8
-5
-2
0
0
0
0
0
0
0
3
17
0
0
6
0
0
-1
-5
-6
7
0
0
0
1
0
1
2
8
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-17
0
0
0
0
-1
0
0
1
-8
-35
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
1
1
14
0
0
0
0
0
-4
-3
0
27
0
0
0
0
0
0
0
-3
-45
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
1
0
-52
0
0
0
1
-1
0
-3
-5
4
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
-3
-1
-4
13
0
0
0
0
0
1
-2
-3
-7
0
0
0
-1
0
0
-8
20
-15
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
10
0
-23
0
0
0
0
1
5
-21
-31
-3
0
0
0
0
-1
0
-8
2
0
0
0
0
0
0
1
-16
-5
0
0
0
0
0
-1
-3
-1
-5
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
5
-8
1
0
0
0
0
0
0
2
-13
-1
0
0
0
0
0
0
7
-25
-1
0
0
0
0
0
0
-1
-13
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
1
1
4
0
0
0
0
0
0
-2
-24
2
0
0
0
0
0
0
0
4
0
-86
0
0
0
0
0
0
-7
7
26
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
1
2
-26
0
0
0
0
0
-5
-3
2
-10
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
1
-33
0
-2
0
0
0
0
1
0
20
0
0
0
0
0
1
-23
-5
33
0
0
0
0
0
0
-3
4
-8
0
0
0
0
0
1
-15
0
20
0
1
0
0
0
1
1
-1
-2
0
0
0
0
0
-1
16
15
-8
0
0
0
0
0
0
-9
-1
31
0
0
0
0
-2
0
-22
8
-2
0
0
0
0
-4
25
-8
6
-38
0
0
0
0
1
-1
-1
23
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
-1
3
14
0
0
0
0
0
-1
1
-4
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
7
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
-6
17
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-6
-6
-6
0
0
0
0
0
0
0
6
-1
24
0
0
0
0
0
0
1
-13
-29
0
0
0
0
0
0
-4
-6
39
0
0
0
0
0
0
1
0
13
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
-2
-20
0
0
0
-1
0
0
8
-3
0
0
0
0
0
0
0
-9
-1
-3
0
0
0
0
0
0
-7
-2
6
0
0
0
0
0
-1
12
-8
-7
0
0
0
0
0
0
1
-4
-15
0
0
0
0
0
0
1
5
17
0
0
0
0
0
0
0
0
-16
0
0
0
0
1
-1
-18
42
-34
0
0
0
0
0
-2
1
18
0
0
0
-1
0
0
0
-2
-11
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
22
9
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
2
0
0
-34
0
0
0
0
0
1
0
-2
-1
21
0
0
2
0
0
0
-1
7
37
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
2
-1
0
-41
0
0
0
0
0
0
-2
-1
-14
0
0
0
0
0
1
0
2
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
-3
26
0
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
4
-1
6
0
0
0
0
0
0
2
-1
-9
0
0
0
0
0
0
1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-15
43
-2
0
0
0
-4
0
0
8
3
0
0
0
0
0
0
-1
4
21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
-6
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-1
0
0
3
-6
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
2
3
4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
-1
28
0
0
0
0
0
-2
2
0
7
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
-3
25
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-2
-1
8
0
0
0
0
0
0
1
-1
-25
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-28
0
0
0
0
0
-1
-10
-7
-45
0
0
0
0
-2
-8
-14
21
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
1
0
12
0
0
0
0
0
0
1
-6
-6
0
0
0
0
0
0
1
-4
10
4
0
0
0
0
0
0
4
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-7
1
0
0
0
0
0
4
-3
3
-9
0
0
0
-1
0
0
0
4
-5
0
0
0
0
0
0
1
-7
4
0
0
0
0
0
0
-16
15
-2
0
0
0
0
0
0
3
-10
-13
0
0
0
0
0
0
-2
-2
5
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
1
2
-8
25
0
0
0
0
-1
0
1
2
1
33
0
0
0
0
0
0
-6
-6
21
0
0
0
0
0
0
1
0
-41
0
0
0
0
0
0
-9
0
-27
0
0
0
0
-1
0
0
0
-48
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
-1
0
0
-14
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
16
4
-5
53
0
0
0
0
0
1
0
-14
4
0
0
0
0
0
-2
-1
0
4
0
0
0
0
0
1
5
0
-42
0
0
0
0
1
2
0
0
12
0
0
0
0
0
2
0
5
-30
0
0
0
0
-1
7
1
1
-3
0
0
0
0
13
20
12
2
-13
0
0
0
1
0
0
5
22
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
1
10
4
0
0
0
0
0
2
-9
12
21
0
0
0
0
0
-1
3
0
26
0
0
0
0
0
1
-1
2
18
0
0
0
0
1
0
-2
2
-8
0
0
0
0
0
2
0
9
-2
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
1
0
0
-2
0
0
0
0
1
-7
7
1
-5
0
0
0
0
0
1
0
-13
28
22
0
0
0
0
0
0
8
0
-42
0
0
0
0
0
0
-5
6
-36
0
0
0
0
1
6
-3
-5
-38
0
0
0
0
1
0
2
3
30
0
0
0
0
0
0
-8
0
18
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
-5
0
19
1
0
0
0
0
1
-3
2
-6
13
-26
0
0
0
0
0
-13
31
-67
48
0
0
0
0
0
-5
-4
0
-29
0
0
0
-2
-1
0
5
-26
30
0
0
0
-1
2
-1
-8
-24
1
0
0
0
-2
0
-7
-23
31
-4
0
0
-2
0
1
-4
6
-9
1
0
0
-1
1
-4
4
7
57
11
0
0
0
0
1
-5
-9
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
8
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
12
4
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-6
8
0
0
0
0
0
0
0
6
11
-29
0
0
0
0
0
0
-4
-1
-6
0
0
0
0
0
0
-9
3
30
0
0
0
0
0
0
3
-12
9
0
0
0
0
0
-1
-8
7
1
0
0
0
0
0
0
-6
6
-24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
-9
-8
-22
67
0
1
0
0
-1
-15
12
6
-49
0
0
0
0
0
0
-10
-9
-31
0
0
0
0
0
-12
-1
-15
28
0
0
0
0
0
6
-1
29
0
0
0
0
0
0
5
2
3
25
0
0
0
0
0
2
-5
8
-18
0
0
0
-1
-8
-5
25
1
-13
0
0
0
-2
-2
-4
15
0
0
0
0
0
0
0
-22
15
0
0
0
0
0
3
0
5
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
1
-1
-18
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
1
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-8
6
0
0
0
0
0
0
0
3
-24
-2
0
0
0
0
0
0
-24
-2
15
0
0
0
0
0
1
5
3
-1
0
0
0
0
0
-2
13
-3
39
0
0
0
-2
0
1
-3
-12
-22
0
0
0
0
0
-1
2
18
-22
0
0
0
0
0
0
3
1
-20
0
0
0
0
0
3
4
0
-12
0
0
0
0
0
0
-8
-13
29
-17
0
0
0
0
0
0
-4
-5
43
0
0
0
0
0
-2
2
8
5
0
0
0
0
0
-2
0
-2
-18
0
0
0
0
0
2
-8
13
18
0
0
0
0
0
-1
-2
15
11
0
0
0
0
0
4
-1
2
0
0
0
0
5
5
9
-4
-80
7
0
0
0
-2
3
0
31
0
0
0
0
0
0
0
-10
36
0
0
0
0
0
-1
3
13
-20
0
0
-2
0
0
0
4
-2
19
0
0
0
0
0
0
-8
-1
2
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
-18
-13
-5
0
0
0
0
0
0
2
6
-17
0
0
0
1
0
0
-1
3
-13
0
0
0
0
0
0
0
-12
4
0
0
0
0
0
0
2
-25
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-1
-12
6
0
0
0
0
0
0
0
1
15
-42
0
0
0
0
0
0
16
25
-22
0
0
0
0
0
-4
3
0
6
0
6
0
0
0
0
-8
-8
17
0
0
0
0
0
0
2
-2
11
0
0
0
0
0
-1
-4
2
6
0
0
0
0
0
0
-2
-4
-29
0
0
0
0
0
5
-7
3
-25
0
0
0
0
0
-8
2
-8
-15
37
0
0
0
0
-2
0
-1
20
-19
0
0
0
0
0
4
0
13
16
0
0
0
0
-1
3
1
0
-23
0
0
0
0
0
-4
3
14
-9
0
0
0
0
-1
0
-7
-7
45
0
0
0
-2
0
-13
0
-8
-22
3
0
-1
-2
-4
6
-47
-39
6
0
0
0
0
-5
15
-12
0
0
0
0
0
0
0
2
44
0
0
0
0
0
0
0
-14
13
0
0
0
0
0
0
-10
-9
3
0
0
0
0
-1
0
0
3
3
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
2
6
6
-8
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
-2
5
4
0
0
0
0
0
-1
0
-8
-1
0
0
0
0
0
0
2
10
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
29
0
0
0
0
0
-1
0
-6
-1
0
0
0
0
0
1
6
2
-2
0
0
0
0
-1
0
-1
3
1
23
0
0
0
0
0
-1
4
-18
7
0
0
0
0
0
1
-3
0
3
0
0
0
0
0
1
-4
7
-29
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
1
0
-12
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
7
1
1
-18
0
0
0
1
-1
0
3
0
13
-22
0
0
0
0
0
0
-6
-29
-1
0
0
0
0
0
0
0
4
8
0
0
0
0
1
-8
2
7
14
0
0
0
0
0
0
-13
2
-9
0
0
0
0
0
-1
-6
-7
-12
0
0
1
0
-3
2
0
-12
1
0
0
1
-13
1
-4
-19
5
49
0
0
0
0
0
5
12
0
0
0
5
0
0
0
-12
42
0
0
0
0
0
0
-2
-1
7
0
0
0
0
0
-2
-2
13
-14
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
-3
-3
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
2
0
4
27
0
0
0
-1
0
0
0
2
-7
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-2
9
0
0
0
0
0
0
0
-1
13
12
0
0
-5
0
0
0
3
0
25
0
0
0
0
0
0
-6
-5
19
0
0
0
0
0
0
5
-3
-10
0
0
0
0
0
3
-2
0
19
0
0
-1
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-2
-1
0
9
0
0
0
0
0
0
-1
8
-22
24
0
-8
0
0
0
1
-10
-12
57
0
0
0
0
0
-3
0
-4
1
0
2
0
0
0
-1
-3
4
-42
0
0
0
0
0
-4
8
-13
6
0
3
0
0
0
0
-4
-10
8
0
0
0
-1
-1
1
-2
8
0
0
-8
0
-3
0
-8
23
-48
17
0
0
0
-1
0
0
18
0
0
0
0
0
0
1
5
8
0
0
0
0
0
0
-1
-8
8
0
0
0
0
0
1
-6
15
13
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
-5
4
-9
0
0
0
0
-1
0
0
2
-4
0
0
0
0
0
0
0
4
16
0
0
0
0
0
0
-5
-7
-3
0
0
0
0
0
0
2
-2
8
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
-1
-2
6
16
0
0
0
0
0
0
-7
7
-41
0
0
0
0
0
0
-1
-1
10
0
0
0
0
0
0
2
-1
5
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
-2
0
10
0
0
0
6
0
1
1
0
5
25
0
0
0
0
0
5
2
8
-12
0
0
1
0
0
-2
0
-10
22
0
0
0
0
0
0
-4
16
-25
0
0
-4
0
0
-1
1
-28
12
0
0
0
0
0
-3
-2
-20
9
0
0
2
1
0
-2
0
-10
-19
0
0
-15
13
-12
-3
28
20
-34
0
0
-13
-9
20
24
41
0
0
0
34
0
4
-14
-30
20
0
0
0
0
34
47
-7
-30
14
0
0
16
-3
-1
4
3
-7
8
0
0
0
0
0
4
-4
-7
-4
0
0
0
5
2
-29
-48
-11
56
0
0
0
0
-1
1
0
13
-33
0
0
0
2
0
7
27
-32
-17
0
0
0
0
5
11
-6
20
-7
0
0
0
8
0
3
50
-15
-3
0
0
0
0
-13
-9
-27
19
-23
0
0
14
6
-3
26
23
-22
-25
0
0
0
0
-3
-7
-3
11
-31
0
0
0
-4
0
6
-3
-7
5
0
0
0
0
-6
-1
-20
12
3
0
0
-7
-23
-28
-19
-37
15
26
0
0
0
0
14
28
9
-4
78
35
0
0
-30
-2
13
-6
1
4
30
0
0
0
1
-15
-19
-17
16
-48
0
20
-1
0
-19
10
22
30
-64
0
0
0
8
24
-3
16
-3
-17
0
0
4
0
-8
50
-14
-32
21
0
0
0
-9
-11
10
-3
-4
0
0
12
0
1
20
10
-9
-9
-20
0
0
0
11
15
-12
-80
39
-26
52
0
5
0
0
-5
20
-64
58
-5
0
0
-5
-4
27
-24
-7
-5
0
-34
3
0
-9
-34
12
6
15
29
0
0
7
-31
12
9
45
-17
-5
0
-4
0
-9
-25
-29
72
-54
-7
0
0
1
-33
-21
-21
-40
-2
10
-13
12
-2
-18
62
-38
-7
-21
-34
0
0
16
30
-12
-24
57
0
0
0
0
2
7
28
8
-10
0
0
0
0
1
-24
5
-42
-8
0
0
0
0
0
-2
-6
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-6
0
0
0
0
0
0
0
-8
5
0
0
0
0
1
2
13
-13
22
0
0
0
0
0
2
0
-6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
35
15
-13
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
-3
-10
-25
5
0
0
0
0
0
1
-5
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
15
16
-12
0
0
0
0
0
1
5
5
32
0
0
0
0
0
0
-5
13
13
0
0
0
0
0
-1
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
-27
0
0
0
5
0
5
-13
-7
30
0
0
0
0
0
8
8
-11
8
0
0
0
0
0
-10
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
0
0
0
3
0
0
0
-1
8
0
0
0
0
0
1
1
3
-4
0
0
0
-1
0
0
0
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
33
0
0
0
15
0
-5
-2
-4
14
0
0
0
0
0
0
-1
-6
13
0
0
0
0
0
-4
-3
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
-8
0
-3
0
2
29
0
0
0
0
0
0
-3
-5
1
0
0
0
0
0
0
3
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
13
13
0
0
0
0
0
-1
3
15
13
0
0
0
0
5
2
-2
6
-4
0
0
0
0
0
-8
-4
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
0
0
0
0
0
0
0
-24
-9
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-4
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-24
29
0
0
0
0
0
1
0
-2
-12
0
0
0
0
0
-5
-5
19
2
0
0
0
0
0
-2
-3
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-13
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
5
8
0
0
0
0
0
1
32
7
-21
0
0
0
0
1
-10
5
30
47
0
0
37
0
0
-2
34
15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
-4
-15
8
0
0
0
0
0
0
12
0
-2
0
0
0
0
0
-1
32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-20
8
0
0
0
0
0
0
-10
8
22
0
0
0
0
-2
-1
24
2
-13
0
0
-3
0
0
-5
-11
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
-3
0
0
0
0
0
1
6
1
-10
0
0
0
0
0
0
-1
-4
1
0
0
5
0
0
1
-7
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
31
4
-13
0
0
0
0
0
0
6
0
-25
0
0
0
0
0
5
-7
-15
-13
0
0
0
0
0
1
5
-10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
22
-5
5
0
0
0
0
0
0
1
-19
13
0
0
0
0
0
-1
3
3
8
0
0
0
0
0
-1
3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
15
0
0
0
0
0
-1
-1
-3
-4
0
0
0
0
0
1
-2
-19
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
17
-6
-2
0
0
0
0
0
0
0
-29
0
0
0
0
0
-1
-1
0
-5
7
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-8
9
0
0
0
0
0
2
-32
2
3
0
0
0
0
-1
2
3
4
34
0
0
0
0
0
-1
5
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-4
0
0
0
10
0
-1
8
-19
25
0
0
0
0
0
-2
-2
4
-17
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-3
0
0
0
0
0
0
-1
-10
7
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
17
0
0
0
0
0
-1
-4
-1
5
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
2
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
8
12
-16
0
0
0
0
0
0
-6
1
-23
0
0
0
0
0
0
-10
-9
12
0
0
0
0
-1
2
10
-14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
-1
-5
-6
0
0
0
0
0
0
-1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
5
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-11
-3
5
0
0
0
0
0
-6
17
14
-27
0
0
0
0
0
-1
36
-10
14
0
0
0
0
0
-17
5
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
-8
-13
0
0
0
0
0
-1
0
2
23
0
0
0
0
0
3
-3
4
19
0
0
0
0
0
8
-3
9
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-12
-16
0
0
0
0
0
1
4
6
-12
0
0
0
0
0
3
-8
-36
9
0
0
0
0
0
-10
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-10
9
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-16
-3
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
0
-3
33
0
0
0
0
0
0
-8
-2
10
0
0
0
0
0
-1
-6
15
-5
0
0
0
0
0
0
10
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
-11
24
0
0
0
0
0
0
1
15
-26
0
0
0
0
0
1
0
2
-5
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
5
20
-15
0
0
0
0
0
-1
5
-10
9
0
0
0
0
0
0
0
-5
-15
0
0
0
0
0
1
-23
-23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
11
13
26
0
0
0
0
0
0
12
24
-7
0
0
0
0
-2
-1
2
-1
22
0
0
0
0
0
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-6
0
0
0
-2
0
5
9
-9
21
0
0
0
0
0
0
-13
-1
7
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-15
0
0
0
2
0
0
0
-13
-24
0
0
0
0
0
-3
0
-13
18
0
0
0
0
0
0
1
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
-23
0
0
0
15
0
1
-6
-31
4
0
0
0
0
0
0
-7
-10
-9
0
0
0
0
0
-2
-3
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-2
0
0
0
2
0
0
4
-5
-13
0
0
0
0
0
0
-1
-1
10
0
0
0
0
0
-1
3
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-3
-6
0
0
0
0
0
0
-3
-18
11
0
0
0
0
-1
2
-8
-10
5
0
0
0
0
1
0
9
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
13
0
0
0
0
0
0
2
-33
-4
0
0
0
0
0
1
-5
-9
-7
0
0
0
0
0
0
-2
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
2
-13
0
0
0
0
0
0
2
-10
5
0
0
0
0
-1
-4
-1
6
-5
0
0
0
0
1
-1
15
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
29
5
0
0
0
0
0
0
0
-8
3
0
0
0
0
-3
2
1
1
-3
0
0
0
0
-1
0
7
15
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
12
0
0
0
-1
0
2
-16
-41
10
0
0
0
0
0
-1
2
-17
-7
0
0
1
0
0
-15
0
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
17
0
0
0
0
0
0
-1
-4
25
0
0
0
0
0
0
6
-19
-5
0
0
2
0
0
2
-12
-13
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-1
-25
0
0
0
0
0
-2
8
-27
-6
0
0
0
0
0
1
-2
1
4
0
0
-5
0
0
7
7
9
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
6
4
0
0
0
0
0
-1
-3
-4
-43
0
0
0
0
0
0
2
2
-1
0
0
-9
0
0
0
-1
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
19
0
0
0
0
0
-1
1
-12
-8
0
0
0
0
0
1
1
-8
-6
0
0
0
0
0
0
1
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
7
0
0
0
0
0
0
0
1
-3
24
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
-1
-2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
12
-3
8
0
0
0
0
0
-1
2
4
6
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-4
42
0
0
0
0
0
0
3
4
9
0
0
0
0
-1
0
-4
-1
-13
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
0
0
0
-1
0
0
-1
-6
-15
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
1
3
9
0
0
0
0
0
0
0
-5
-3
0
0
0
1
0
-4
-5
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
0
0
1
0
0
-10
13
2
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-4
0
0
0
-2
0
0
0
6
23
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
-2
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
13
-20
13
0
0
0
0
0
0
6
-5
19
0
0
0
0
1
-1
-10
17
12
0
0
0
0
2
0
-3
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
-2
-1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
3
-6
28
0
0
0
0
0
0
-2
7
-16
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
-1
-3
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-7
-15
0
0
0
0
0
0
2
0
19
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
-4
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-14
-7
9
0
0
0
0
0
-2
10
-7
-10
0
0
0
0
-1
-21
-37
12
-2
0
0
-1
0
0
15
-14
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-10
26
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
-8
-4
-10
3
0
0
-1
0
0
0
5
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-9
-13
0
0
0
0
0
5
-12
-29
-23
0
0
0
0
0
-1
-2
-12
-6
0
0
0
0
0
-17
-7
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-10
24
16
0
0
0
-3
0
-3
4
-25
4
0
0
0
0
0
-9
-10
-9
34
0
0
3
0
0
-1
4
21
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
2
-1
0
0
0
0
0
1
-32
3
29
0
0
0
0
0
0
7
1
-1
0
0
0
0
1
3
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
34
9
-10
0
0
0
0
0
0
-8
-13
22
0
0
0
0
0
-7
3
8
16
0
0
0
0
0
1
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-13
13
5
9
0
0
0
0
0
6
7
35
-15
0
0
0
1
-1
2
-23
-19
10
0
0
0
0
0
1
-4
24
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
16
-4
20
8
0
0
0
0
-2
-9
-2
3
1
0
0
0
0
0
0
12
10
23
0
0
0
0
0
2
-36
1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
-10
0
0
0
10
0
-4
3
0
5
0
0
0
0
0
-1
0
-8
5
0
0
0
0
0
1
-10
-15
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
13
0
0
0
6
0
1
8
20
-32
0
0
0
0
0
0
0
6
-19
0
0
0
0
0
0
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
8
38
0
0
14
0
-1
-4
-21
10
35
0
0
0
-1
-1
0
-9
-3
-9
0
0
0
0
0
1
14
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
-46
0
0
2
0
0
2
15
28
2
0
0
0
0
0
0
-15
0
-14
0
0
-1
0
0
-1
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
2
-8
-5
0
0
0
0
-1
2
-2
-25
1
0
0
0
0
3
0
-6
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
5
0
0
0
0
0
0
0
-9
15
0
0
0
0
2
1
0
-7
-5
0
0
0
0
0
-1
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
10
16
-54
0
0
0
0
0
0
13
4
5
0
0
0
-1
0
0
-6
-16
32
0
0
0
0
0
0
-9
-6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
5
9
0
0
0
0
-1
0
-41
-8
16
0
0
0
0
0
-2
-21
16
1
0
0
0
-1
0
4
-12
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
6
0
0
0
0
0
-1
1
5
7
0
0
0
0
0
-1
-3
3
13
0
0
7
0
0
2
-4
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-11
0
0
0
0
0
0
0
-7
-1
22
0
0
0
0
0
0
8
5
0
0
0
-2
0
0
-7
13
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
15
-5
-51
0
0
0
0
0
5
-23
-19
23
0
0
0
0
1
-2
12
-8
10
0
13
0
0
10
3
17
-25
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-1
7
11
0
0
0
0
-4
-2
-19
8
40
0
0
0
-1
1
4
-24
-1
-39
0
7
0
0
0
-8
-20
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-17
-5
20
0
0
0
0
0
-2
1
4
6
0
0
0
0
0
-4
6
-5
-7
0
0
0
0
0
-3
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
7
6
6
0
0
0
0
0
0
-1
1
5
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
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
1
33
3
15
23
0
0
0
0
0
-2
-1
15
16
0
0
0
-1
0
1
0
-8
-31
0
0
0
0
1
0
-2
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
-12
11
18
-2
0
0
0
0
1
-1
17
1
-9
0
0
0
-2
2
-2
7
0
-12
0
0
0
0
0
2
1
3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
13
0
0
0
1
0
0
-8
-2
19
0
0
0
0
0
0
3
3
-17
0
0
0
0
0
0
-8
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-8
0
0
0
0
0
2
5
0
5
0
0
0
0
0
0
1
-6
-1
0
0
0
0
0
0
4
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-2
13
0
0
0
0
0
-1
-5
10
26
0
0
0
0
0
2
2
-3
-70
0
0
0
0
0
-2
-2
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-11
-48
0
0
-4
0
0
-8
14
40
-44
0
0
0
0
0
0
-3
-6
6
0
0
0
0
0
-3
13
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
1
10
0
0
0
0
0
0
-1
-8
27
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
-1
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
2
-12
0
0
0
0
0
0
-5
4
-44
0
0
0
0
0
0
-5
0
27
0
0
0
0
0
0
1
2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
5
-6
9
0
0
0
0
0
0
-1
9
5
0
0
0
0
0
0
14
8
-31
0
0
0
0
0
6
-6
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
2
0
0
0
0
0
0
-3
-8
16
0
0
0
0
-1
3
3
-7
20
0
0
-1
0
0
-8
23
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-10
17
0
0
0
0
0
0
-6
1
-3
0
0
0
0
1
-1
1
-5
-2
0
0
0
0
0
-1
30
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
8
-5
0
0
0
0
3
13
-2
-1
-11
0
0
0
1
1
-3
-3
10
-2
0
-2
0
0
5
-13
5
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-23
-14
-3
0
0
0
0
1
2
-16
-9
-27
0
0
0
0
1
-2
7
-3
-8
0
3
0
0
5
-17
-9
8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
-5
-21
0
0
0
0
0
0
1
20
19
0
0
0
0
0
-1
-3
-1
-5
0
0
0
0
0
0
-4
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
30
21
-6
0
0
0
0
0
0
17
-13
19
0
0
0
0
-1
5
3
-17
10
0
0
0
0
0
-2
-7
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
13
17
8
27
3
0
0
0
0
0
-10
1
22
-42
0
0
0
3
0
0
-7
-25
-18
0
0
0
0
-1
-1
-7
10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
27
-11
13
-34
11
0
0
0
3
5
2
3
-10
-34
0
0
1
0
-1
-13
5
6
17
0
0
0
-6
5
-22
6
63
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
40
0
0
0
-3
0
-6
-5
-4
-26
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
-1
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-12
0
0
0
-12
0
-2
-1
-21
-6
0
0
0
0
0
0
-2
8
-6
0
0
0
0
0
0
5
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
-4
0
0
0
5
0
0
-4
4
-23
-11
0
0
0
0
0
-4
17
12
18
0
0
0
0
0
5
19
-19
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-35
-21
-21
39
0
-31
0
7
-9
-23
29
-8
64
0
0
0
2
0
-8
23
-21
-20
0
1
0
0
-1
-3
0
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
7
0
0
0
0
0
0
1
-14
-10
0
0
0
0
1
-1
-1
12
0
0
0
0
0
-1
0
4
20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
1
0
0
0
0
0
0
-4
-1
20
0
0
0
0
0
2
1
-15
3
0
0
0
0
0
-2
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-16
-15
0
0
0
0
0
-1
-4
-18
-18
0
0
0
-1
-1
-4
8
13
-42
0
0
0
-3
1
-6
-15
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-22
10
-66
0
0
0
0
-8
9
4
-29
-5
0
0
-1
0
0
-20
-9
4
34
0
0
0
2
6
0
0
-28
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
2
0
1
1
-2
14
0
0
0
0
0
3
9
-5
-13
0
0
-3
0
0
5
1
-14
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-1
15
-8
0
0
0
0
0
-1
2
2
-12
0
0
-8
0
0
-1
-18
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
-56
0
0
0
0
-1
5
4
-2
-13
0
0
0
0
0
4
-13
0
22
0
-12
0
0
-3
7
-24
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-5
-2
-5
52
0
0
0
-3
7
36
18
-19
-44
0
0
0
-2
-3
5
1
-1
-4
-20
0
0
0
-15
-11
-6
-26
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
4
7
-6
10
0
0
0
0
0
0
1
-1
-7
41
0
0
0
0
0
0
-13
0
14
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-4
23
0
0
0
0
0
0
6
2
26
0
0
0
0
0
-4
0
6
-15
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
-6
8
15
-38
0
0
0
0
0
-2
8
-1
-24
0
0
0
0
-3
7
-8
8
2
0
0
0
0
0
-1
-21
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-6
24
-2
-19
9
0
0
0
0
-6
-51
7
3
27
0
0
0
5
-5
-13
22
16
23
0
0
0
-1
-10
13
-6
4
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
9
0
0
0
9
0
0
3
25
-42
0
0
0
0
0
0
6
-22
-36
0
0
0
0
0
0
-10
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
7
0
0
0
5
0
-2
6
6
6
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
-1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
19
-57
0
0
-15
0
-1
-4
-20
2
40
0
0
0
0
0
2
-1
14
36
0
0
0
0
0
-5
2
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
34
-5
-14
0
-4
0
0
-10
3
-6
-3
19
0
0
-1
0
-1
1
12
-28
9
0
0
0
0
-5
-10
-5
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
14
-8
21
0
0
0
0
0
0
0
-6
-7
0
0
0
0
-1
0
6
-23
2
0
0
0
0
0
0
-7
-15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-10
1
3
0
0
0
0
0
0
-5
1
-10
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
2
7
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
-4
-9
14
0
0
0
-1
-7
-1
0
12
-61
0
0
0
0
-7
-2
8
-3
23
0
0
0
-6
8
8
1
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
16
-1
-15
20
-10
0
0
0
0
1
9
-25
-42
35
0
0
1
-2
2
-25
-5
-4
46
0
0
2
1
4
-22
17
-46
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
39
-10
21
0
0
0
-10
2
-10
3
-36
11
0
0
0
0
2
0
-17
-34
14
0
0
8
5
0
-13
-55
11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-43
49
-10
0
0
0
-21
0
-1
6
-7
-9
0
0
0
0
12
9
-10
-25
-9
0
0
-3
-3
0
7
-66
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
56
-49
10
-8
0
0
34
-2
0
20
-11
15
8
0
0
0
7
-10
-6
59
12
-54
0
20
-1
0
-2
-16
-23
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
5
-4
-16
28
4
18
0
4
0
6
13
-29
-81
26
21
0
0
-1
5
-30
-4
-28
0
-11
-23
-5
0
3
-19
-12
-13
56
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
-5
29
2
2
-4
0
0
0
0
0
-7
0
10
17
0
0
0
0
3
-21
12
-19
9
0
0
0
0
0
2
8
-11
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
22
-5
19
0
0
0
0
0
0
1
0
21
0
0
0
0
0
0
4
-10
9
0
0
0
0
0
1
3
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
16
6
0
0
0
0
0
0
-1
3
19
2
0
0
0
0
3
3
2
-3
4
0
0
0
0
0
-1
-15
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
3
23
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
-1
-4
-17
20
0
0
0
0
0
0
1
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
9
0
0
0
-1
0
2
-6
-1
5
0
0
0
0
0
0
0
-11
12
0
0
0
1
0
2
-6
-42
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-26
0
0
0
0
0
0
0
-22
17
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
17
0
0
0
-3
0
0
1
-5
5
0
0
0
0
0
0
0
-13
9
0
0
0
0
0
1
-3
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
8
0
0
0
-2
0
0
1
-5
33
0
0
0
0
0
0
-1
8
-16
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-14
17
0
0
0
0
0
0
5
-38
21
0
0
0
0
0
-5
-3
-15
2
0
0
0
0
0
1
-5
27
-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
1
-5
1
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
-1
4
-35
0
0
0
0
0
0
-2
-7
-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
-38
14
0
0
0
0
0
0
1
-14
12
0
0
0
0
0
-3
0
-3
14
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
24
0
0
0
0
0
0
-9
9
3
0
0
0
0
0
-2
1
1
-16
0
0
0
0
0
0
-3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-7
37
0
0
0
-1
0
0
-4
33
-14
0
0
0
0
0
0
-20
-9
43
0
0
17
0
0
7
5
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-4
0
0
0
0
0
0
-4
1
6
0
0
0
0
0
0
6
18
-3
0
0
1
0
0
0
1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
22
0
0
0
0
0
0
6
-12
-15
0
0
0
0
0
0
7
5
5
0
0
-2
0
0
-1
-11
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
-13
-29
34
0
0
0
0
0
0
1
5
3
0
0
0
0
0
0
-13
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-12
-16
0
0
0
0
0
-2
18
-1
-9
0
0
0
0
0
-1
-7
12
14
0
0
0
0
0
2
13
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-33
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
1
5
-4
1
0
0
0
0
0
0
2
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-33
5
0
0
0
0
0
0
3
-7
6
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
2
-5
3
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-12
0
0
0
0
0
1
-10
-12
8
0
0
0
0
0
0
-4
8
-10
0
0
0
0
0
0
-16
8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
2
6
16
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
-3
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
5
9
0
0
0
0
0
0
7
-14
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-6
-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
1
2
-3
6
0
0
0
1
0
0
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
4
0
0
0
0
0
0
-1
-8
-6
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
3
2
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
9
8
0
0
0
0
0
-1
1
5
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
23
28
23
0
0
0
0
0
-5
-9
0
5
0
0
0
0
0
16
-8
2
16
0
0
0
0
0
-5
2
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
8
10
0
0
0
0
0
-1
4
-8
0
0
0
0
0
0
2
-10
6
-16
0
0
0
0
0
3
12
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-1
3
-5
0
0
0
0
0
8
-7
-1
16
0
0
0
0
0
6
-8
4
-3
0
0
-3
0
0
0
13
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-9
-7
0
0
0
0
0
5
-6
-24
-7
0
0
0
0
0
2
8
7
2
0
0
0
0
0
-8
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
-2
0
0
0
0
0
0
2
9
-2
0
0
0
0
0
14
-6
-10
37
0
0
0
0
0
-3
-8
21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-3
33
-4
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
-8
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
7
1
0
0
0
0
0
0
1
-6
13
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
3
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-5
-3
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
-13
0
-2
0
0
0
0
0
0
1
2
-13
0
0
0
0
0
-2
9
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
1
0
0
0
-7
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
18
5
0
0
0
0
0
0
-1
-8
7
0
0
0
0
-1
-3
0
-10
-7
0
0
0
0
0
-1
-8
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
7
9
0
0
0
0
0
0
0
-12
32
0
0
0
0
1
-3
22
-13
12
0
0
0
0
0
0
-3
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
-1
0
-4
3
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-10
0
0
0
0
0
0
-3
-6
16
0
0
0
0
0
2
0
1
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-13
22
0
0
0
0
0
1
10
-23
-49
0
0
0
0
0
-1
-3
5
-3
0
0
-4
0
0
-16
6
-17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
10
17
0
0
0
0
0
1
-1
7
-19
0
0
0
0
0
1
10
-25
-7
0
0
-1
0
0
-8
0
-12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
0
0
0
0
0
1
-5
1
14
0
0
0
0
0
0
0
-7
1
0
0
1
0
0
-2
0
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
-3
3
-7
1
0
0
0
0
0
1
0
2
0
0
0
-1
0
0
0
-8
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-13
-3
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
-3
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
8
-20
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-1
-13
0
0
0
0
0
-1
0
-8
3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
1
-10
-4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
3
2
1
19
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-18
0
0
0
0
0
0
1
5
-3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
4
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
1
12
-21
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
2
1
-13
6
0
0
0
0
0
-1
4
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-2
9
21
0
0
0
0
0
0
0
5
13
0
0
0
0
0
1
-2
12
-13
0
0
0
0
0
0
-1
-24
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
2
3
0
0
0
0
0
0
1
5
-13
0
0
0
0
-1
0
0
2
5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-3
0
0
0
0
0
0
0
1
-1
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
-1
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
24
-22
22
0
0
0
-2
0
2
7
-2
-4
0
0
0
0
0
3
9
0
-14
0
0
-1
0
-1
-10
-9
42
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-8
13
0
0
0
0
0
-6
0
-13
3
0
0
0
0
-1
1
0
0
26
0
0
-1
0
0
-16
-4
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
1
3
13
0
0
0
0
0
-1
-17
-5
46
0
0
0
0
0
-6
8
-1
3
0
0
0
0
0
-14
10
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-5
8
0
0
0
0
0
-8
1
-13
14
0
0
0
0
-3
1
0
2
2
0
0
5
0
0
-4
16
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
8
-12
25
0
0
0
0
0
1
2
-3
-14
0
0
0
0
0
-1
-3
9
1
0
0
0
0
0
0
1
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
24
-4
0
0
0
0
0
0
2
-24
-8
0
0
0
0
0
0
2
-2
5
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-22
19
31
-50
0
0
0
0
1
-13
-18
7
-3
0
0
0
1
6
-7
-5
-3
38
0
0
0
0
4
7
13
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-1
-23
-16
-13
0
0
0
0
0
1
-22
29
57
0
0
0
0
1
0
-2
32
-26
0
0
0
0
0
5
-20
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-10
0
0
0
-2
0
1
3
-3
30
0
0
0
0
0
0
-1
-6
-3
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-24
-5
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-9
-11
45
0
0
24
0
1
0
0
30
-10
0
0
0
0
0
2
6
-2
6
0
0
0
0
0
-1
-12
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
6
-15
0
0
2
0
1
2
1
-53
2
0
0
0
0
0
0
3
10
-5
0
0
-1
0
0
1
7
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
22
-17
0
0
0
0
0
0
-3
13
-5
0
0
0
0
0
-1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
-6
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-25
16
0
0
0
0
0
0
-8
0
-47
0
0
0
2
-3
-12
-15
-10
27
0
0
0
0
1
-1
3
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
2
18
-15
0
0
0
0
0
0
6
3
-8
0
0
0
0
2
0
-5
-23
0
0
0
0
0
0
-1
-5
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
8
-12
0
0
0
0
0
0
-6
-13
25
0
0
0
0
0
0
-3
-9
4
0
0
1
0
1
2
17
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
8
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
13
2
-50
0
0
0
0
-1
4
-26
-12
-37
0
0
0
0
0
-1
-33
-5
2
0
-4
0
0
2
3
-32
15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-1
-8
0
0
0
0
0
1
1
6
-10
0
0
0
0
0
0
-21
3
19
0
0
0
0
2
-3
-3
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-6
4
0
0
0
0
0
0
5
-1
14
0
0
0
0
0
0
-1
-16
-7
0
0
0
0
0
0
6
-21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-8
6
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
15
2
20
5
0
0
0
-1
0
-16
-13
15
-11
0
0
0
0
0
5
13
-6
-2
0
0
0
0
0
-3
-3
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-12
-21
0
0
0
0
0
0
-2
-19
-8
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
-2
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
14
0
0
0
-1
0
0
1
-2
2
0
0
0
0
0
-2
0
3
-12
0
0
0
0
0
0
5
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
1
-1
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-9
-6
13
0
0
-2
0
-2
13
24
-29
48
0
0
0
0
0
1
-3
-8
31
0
0
0
0
0
0
-8
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-5
-26
0
0
1
0
2
2
-3
-1
-18
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-9
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
8
-36
0
0
0
0
0
0
-8
6
-37
0
0
0
0
0
0
-13
-1
-10
0
0
0
0
0
0
-8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
15
0
0
0
0
-1
0
0
-5
17
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
-2
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-5
3
17
0
0
0
0
0
1
0
0
10
0
0
0
0
0
0
1
-25
-5
0
0
0
0
0
-9
35
15
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-7
4
0
0
0
0
0
-1
8
-2
29
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
2
7
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
22
-3
16
0
0
0
0
9
10
14
-24
3
0
0
0
0
2
-24
-9
-4
-20
0
0
0
-2
17
-30
-25
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
12
5
0
0
0
0
-1
7
-4
2
-47
0
0
0
1
1
2
-12
-2
12
0
0
0
0
0
-6
-8
5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
5
-16
8
0
0
0
0
0
2
2
-1
27
0
0
0
0
-1
0
-1
2
9
0
0
0
0
0
0
-1
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
9
9
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
10
9
-15
-6
0
0
0
0
0
-1
19
17
-1
0
0
0
0
0
15
6
-4
-19
0
0
0
0
2
0
-8
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
16
-23
8
2
-4
0
0
0
0
5
-15
15
9
-13
0
0
0
-4
-7
-4
14
24
0
0
0
0
2
-6
-3
-15
-17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
17
0
0
0
4
0
-2
-3
-4
20
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
-2
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
-1
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
9
44
0
0
0
0
-3
-3
2
-9
9
0
0
0
0
0
0
-1
1
-9
0
0
0
0
-1
6
8
5
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
7
-43
0
-21
0
-2
4
-3
-3
37
-2
0
0
0
0
-2
-34
5
-25
38
0
0
0
3
0
-12
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
3
0
0
0
0
0
0
0
10
-4
0
0
0
0
-2
1
-3
-8
7
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
0
-1
-25
0
0
0
0
0
0
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
2
25
0
0
0
0
0
-1
-12
7
31
0
0
0
1
0
0
5
-9
-15
0
0
0
0
1
-1
21
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
21
15
-18
-6
0
0
0
0
3
-12
-31
-41
69
0
0
-3
2
1
-47
-9
-11
28
0
0
0
0
10
-9
-9
22
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
-7
-2
0
0
0
0
0
0
3
-26
-20
0
0
0
0
0
0
3
-3
15
0
0
23
0
-1
-13
15
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
13
0
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
-4
-2
-5
0
0
1
0
0
-2
3
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
17
-25
0
0
0
0
0
3
4
-7
-8
0
0
0
0
0
1
6
0
-10
0
0
0
0
1
-28
7
-9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
30
-20
6
0
1
0
-1
-17
22
2
16
-5
0
0
0
0
-3
-7
-5
-32
3
-5
0
0
-1
8
-31
2
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-12
27
-2
0
0
0
0
0
2
2
-11
-10
0
0
0
0
0
0
7
-12
-6
0
0
0
0
0
1
-7
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
14
0
0
0
0
0
0
-1
6
4
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
-2
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
5
10
-36
31
0
0
0
0
0
2
5
-7
11
0
0
0
0
0
0
3
-8
-45
0
0
0
0
0
1
-8
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
-14
5
28
-4
13
0
0
0
0
-10
5
15
-45
-38
0
0
-1
-1
0
4
18
2
21
0
0
0
0
4
7
5
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
19
0
0
0
1
0
-1
7
-19
24
0
0
0
0
0
1
-1
-9
18
0
0
0
-1
0
-2
-4
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
0
0
0
-10
0
0
-8
0
7
0
0
0
0
0
0
2
8
-25
0
0
0
0
0
0
-1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
10
-14
17
0
0
2
0
-2
-3
3
-36
-10
0
0
0
0
-1
0
2
0
-17
0
0
0
0
0
5
-5
-24
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-4
10
32
0
3
0
0
-9
-9
2
35
2
0
0
-2
0
0
-8
-5
-7
13
0
0
0
0
-5
-14
14
-7
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-7
27
3
0
0
0
0
0
-2
-3
-2
7
0
0
0
0
-1
3
0
-3
23
0
0
0
0
0
1
5
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-8
2
0
0
0
0
0
0
0
10
7
0
0
0
0
3
0
0
0
5
0
0
0
0
0
1
-1
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
5
-8
13
24
0
0
0
0
-1
-1
0
34
-13
0
0
0
0
0
-1
-1
5
3
0
0
0
0
0
-7
-8
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
2
16
-16
-21
-26
0
0
0
1
0
3
13
-64
54
0
0
0
2
2
-1
14
-7
-31
0
0
0
0
-3
-28
7
27
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
10
-12
5
21
0
0
0
41
5
-9
39
17
15
0
0
0
0
16
-20
4
-18
2
0
0
5
-6
-12
8
-36
-37
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-30
44
-44
0
0
0
18
0
-15
-3
-35
10
0
0
0
0
18
18
-13
24
-48
0
0
22
-8
-4
-38
24
11
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
44
73
-67
20
-20
0
0
23
0
1
-23
-25
-1
31
0
0
0
8
-18
-11
27
5
-17
0
12
-8
-13
1
25
40
-18
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-18
12
4
-27
17
26
0
-18
0
0
26
-35
6
-29
36
0
0
-6
-27
-28
-5
53
16
-44
-31
-6
-5
23
7
-17
4
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
3
0
0
24
2
-5
3
0
-17
41
-3
1
0
3
-16
9
1
0
-10
-18
1
0
2
-5
-32
-17
7
-2
15
-58
-14
-29
-6
-133
-135
-99
-11
0
-119
-62
-142
1
19
-8
-28
0
0
0
8
5
-5
0
0
-23
40
20
1
0
-4
25
10
1
0
7
1
0
7
-12
6
-9
12
-13
-2
32
12
2
43
12
-113
-42
10
2
7
-1
29
-4
26
49
0
1
0
0
0
1
-1
-1
0
0
-1
2
1
0
0
-1
7
-4
0
0
2
15
8
5
0
10
-4
31
1
-14
-7
-26
3
38
-12
-29
-27
10
9
-31
31
24
25
44
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
38
-11
-11
-1
-4
-11
50
65
10
8
-4
34
13
-39
0
41
37
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-24
0
0
92
-22
-8
-2
0
-4
36
-11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
7
0
0
0
0
0
0
28
5
2
0
0
-41
6
0
0
0
-13
-2
-5
-1
0
10
11
6
5
0
14
-14
6
0
-1
-5
-30
-34
20
5
-44
-39
15
14
-13
-44
-16
-39
-21
-25
-55
-15
-47
-31
51
0
-5
-1
0
0
-7
-2
-2
0
0
4
5
-5
0
0
5
14
-26
6
0
-6
5
-11
-8
12
-16
6
32
-13
-5
53
0
16
57
48
-43
-11
5
13
-24
17
2
-4
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
14
-1
-8
1
30
-65
5
-17
21
16
-3
-2
27
9
-3
12
34
4
-32
20
48
16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-32
8
14
3
-15
1
-33
3
-3
27
8
3
-17
0
59
7
-19
0
0
0
0
0
0
0
0
0
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
-5
-1
0
-9
-31
18
5
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
-4
-8
-1
0
0
-4
5
14
-2
0
-2
-7
30
13
-5
-29
-1
-5
32
-7
14
20
-29
-72
47
-15
33
-39
-32
14
11
-3
-14
-46
-15
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-4
-8
-6
0
0
-1
20
14
2
-4
-13
-32
-39
15
1
31
13
-1
-1
14
-14
8
47
22
-22
61
9
7
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
1
41
9
-3
0
32
21
-18
21
-16
59
14
13
2
19
-23
47
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
13
1
-8
0
33
-79
-13
11
0
-1
-97
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-13
-8
3
0
-25
22
-29
16
-13
22
2
-2
29
12
26
3
67
-111
33
60
-43
-83
-47
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-46
5
2
-5
22
3
23
0
-24
23
-3
18
16
-3
46
-37
4
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
-1
1
0
5
-13
14
20
0
-34
-43
-69
9
0
0
53
-56
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
8
-8
-1
5
-44
2
55
21
-1
17
32
-58
49
68
41
-17
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
6
-4
2
0
-31
18
-30
-53
-1
0
40
-24
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-8
-1
0
0
0
77
-3
0
0
0
3
-19
-1
0
0
-14
-7
-2
-3
0
-22
-21
-12
-4
-1
-31
8
-21
-7
3
61
-100
-53
-24
-5
-103
-1
-131
-12
-31
0
0
0
0
0
2
-4
0
0
0
0
1
0
0
0
2
-7
-1
0
0
-24
13
-5
0
0
-20
-17
16
-43
1
19
-5
9
-11
9
-21
-42
-32
-22
-44
-14
-16
-30
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
-2
-30
-10
3
-28
15
30
18
-4
-45
3
-11
-4
-18
-24
-5
-11
-32
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-1
0
28
29
-9
7
0
13
11
-9
-17
0
6
-79
-18
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
16
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
-2
0
0
0
-8
17
0
0
0
11
3
7
-5
0
0
27
-47
-30
1
-2
28
27
8
27
-38
-10
14
-27
-24
-4
-12
-36
-15
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
7
-12
7
-1
0
28
-32
28
14
-17
-31
-5
19
35
18
-13
3
-9
-12
-43
11
-41
-25
-51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
-12
8
7
-13
55
41
-5
23
-31
10
-6
-6
-2
-63
23
-7
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-32
8
-1
0
-77
-73
-32
14
0
1
-18
-25
26
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
-2
-3
0
23
69
34
-22
-16
7
2
-28
61
4
-36
0
-21
-30
-11
2
-46
-86
-27
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
-27
54
9
1
6
19
17
-27
0
2
0
-3
15
4
-11
-6
12
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
24
45
-47
-13
-38
-64
21
-26
-36
0
-9
-45
56
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
7
-2
-33
0
-20
1
88
2
23
-21
26
-21
-16
-2
24
-34
5
-88
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
6
4
-12
7
6
-18
-5
9
-30
-62
5
28
21
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-3
1
1
0
0
57
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-13
-5
-5
-8
0
-13
-5
21
-36
0
-40
-4
-120
42
-8
-64
8
-18
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-14
2
0
-21
29
-16
-13
15
5
-22
-12
4
8
4
14
-20
-25
21
0
0
0
0
0
0
0
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
-10
-6
0
40
4
1
-1
-25
19
14
0
-13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
42
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-29
17
-7
0
14
-9
-8
-5
-13
1
18
-43
-5
-41
17
-18
53
-6
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
4
3
0
-45
-7
49
10
-44
14
12
3
14
-25
1
-44
-4
-58
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
9
-8
0
2
-4
-18
-13
-32
0
0
61
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-18
0
0
-4
6
-42
20
-4
13
-36
-29
24
-5
-25
8
-4
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
1
0
43
30
-57
-98
-13
-38
-1
5
-2
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-16
0
-2
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-6
0
0
0
-12
25
-22
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
3
0
0
25
-22
26
-12
2
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
4
8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
45
12
0
0
0
4
99
16
0
-78
-35
0
0
0
-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
-1
0
0
0
0
75
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
11
-37
0
9
46
18
4
32
48
-25
63
-25
-9
6
-9
-23
2
-6
-38
-45
31
-23
20
12
-42
-9
-30
13
62
0
-79
-12
11
46
-113
-108
-54
-25
4
-126
-59
-61
-28
-7
-28
-25
13
-12
3
-48
0
-39
-21
-1
-18
11
-1
-7
-9
13
-6
-2
-2
-26
70
26
15
-3
-3
-26
-16
-86
-33
18
-26
15
6
-16
-13
-38
-35
-35
-24
-20
-22
6
-3
-7
29
2
21
0
0
0
24
-28
37
0
1
1
-34
4
-15
2
-4
2
21
3
3
3
71
52
27
-8
24
-4
17
-38
-51
60
29
3
10
-44
28
5
22
-20
-15
-38
41
-12
17
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
34
52
-1
0
26
31
-14
-15
28
36
1
30
-43
-12
30
24
7
-14
1
-8
-5
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
13
36
-14
17
0
73
22
2
44
0
2
0
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
81
23
32
28
0
33
15
9
1
-27
-24
-29
7
-16
-13
35
-11
-24
18
-27
29
-22
0
17
-45
-4
5
16
31
44
-3
13
-21
-1
36
-39
-3
30
30
-5
40
-24
13
-1
-14
47
-29
-30
-5
-1
77
-19
-7
13
-5
-15
-10
8
56
4
-21
12
25
22
24
69
-8
-12
2
12
26
3
-17
14
-15
8
24
0
4
52
-8
0
4
0
0
19
13
3
10
2
0
0
0
0
0
0
0
0
-1
0
0
-21
0
-5
0
0
-21
-9
10
-3
-25
-15
-39
7
-15
57
37
-3
-1
-9
7
25
4
-2
-4
-41
17
21
-4
-10
93
-4
13
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
57
0
-16
-24
5
9
6
24
33
-5
-29
34
12
-36
0
-35
22
34
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-50
11
-4
0
-30
-41
13
-7
0
0
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-22
2
0
0
-17
14
-34
0
0
-21
-13
-20
4
0
40
86
-18
13
-24
-22
18
13
86
-19
3
27
16
30
5
-34
-10
-25
35
-11
-37
-7
11
13
-7
32
4
43
-16
-50
0
0
0
0
0
0
0
1
0
0
3
7
5
13
0
8
53
-57
-8
5
37
15
93
-13
44
16
-23
43
-20
-7
48
-6
16
14
-2
-23
12
22
1
-27
2
9
-2
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
3
4
3
-39
-106
-25
-11
43
10
19
-46
35
0
1
19
12
11
-7
47
43
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
4
0
-34
101
11
2
0
66
35
2
9
0
-1
26
15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
0
2
-3
63
-35
91
-21
35
8
-21
12
-6
57
-65
34
-6
27
9
17
-27
-18
-34
70
46
63
-50
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
27
15
1
20
-20
2
-15
-6
72
26
-14
42
-19
78
18
9
-29
-8
3
-11
32
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
10
7
0
-9
-11
-14
11
1
66
-59
-72
-20
0
-2
42
-64
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-3
1
-14
48
46
-5
1
47
50
19
38
-23
-45
70
54
40
54
27
7
-52
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-21
0
0
-6
-32
1
15
0
-68
22
-57
-79
-1
0
-31
-31
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
26
1
0
0
-10
24
54
20
0
76
-44
-31
-4
0
-16
-32
40
-4
-1
-71
1
-16
-12
30
-84
-71
0
-7
-67
26
-48
30
-6
56
-10
-43
-48
53
65
-19
60
-28
22
85
-8
1
0
0
0
49
6
4
6
0
33
-4
0
-7
0
-51
-77
19
-19
3
-20
21
8
9
24
-11
-62
-69
-66
-15
19
-25
-16
18
10
-44
-30
-19
14
4
32
-1
2
1
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
9
-13
5
0
-44
-90
26
30
-30
20
-10
-5
58
39
-13
5
4
-8
5
-62
37
19
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
6
-7
5
13
-40
-32
14
0
36
-73
-49
-26
0
62
-27
-19
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
1
25
-28
2
0
0
8
-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
-10
1
0
0
0
-59
-21
3
3
0
25
41
3
3
0
-67
-20
-16
14
6
29
-27
51
33
-11
-40
16
14
-37
-36
7
22
15
-3
6
0
10
-15
-5
36
17
21
50
37
15
0
0
0
0
0
0
0
0
0
0
9
-38
-1
-6
0
3
-73
-29
1
-3
4
-41
-52
-40
-1
-3
-22
-74
27
4
2
13
-16
11
-15
-42
11
-1
4
15
24
3
16
7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-17
77
-33
24
21
-23
-11
0
22
74
-2
3
2
-2
17
59
68
19
46
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
9
0
0
12
-51
-8
31
0
-26
32
17
21
0
5
-19
-31
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-16
0
4
0
0
83
-1
-55
-10
8
-12
18
-14
-69
-38
25
22
39
-13
78
18
21
29
22
-17
8
-59
59
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
-25
-1
-1
-64
-29
46
-42
-55
-41
26
40
36
34
-23
15
-11
-1
12
-12
5
8
39
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-7
0
-8
46
-3
-12
-67
-20
-35
-124
-60
39
-1
-4
-18
29
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-35
-9
-20
-4
-6
23
22
-33
-20
-6
33
19
47
-46
39
-29
-66
-18
-51
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
12
0
3
28
-4
-28
6
-23
-42
-111
-49
25
-14
15
-26
125
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
-1
1
-1
0
-1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
-4
0
0
0
28
-13
1
-8
-2
7
-22
-123
-42
19
-16
-65
-2
36
-14
25
-46
16
-57
62
85
21
6
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
0
25
-24
-38
-21
0
30
-72
-41
-37
20
-6
13
-40
-88
59
40
64
-29
73
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
29
-46
18
46
0
8
3
-41
30
19
8
-14
-5
78
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
-41
-15
36
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
0
0
0
-55
-46
58
-1
-2
5
-28
9
-21
-40
8
39
-32
-72
-17
37
6
33
-49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
50
-2
-8
0
-34
-20
-52
24
-36
-33
34
6
-48
-11
58
-59
6
-35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-90
-1
-4
0
6
-11
25
21
-73
0
-1
6
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-71
-48
0
0
5
-21
-17
-12
19
17
42
23
16
27
18
81
62
-27
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-19
52
-7
-5
-1
34
-27
30
-3
-1
27
-2
-26
-12
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
-5
-2
2
0
0
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
-36
13
0
0
0
-2
-41
-16
1
1
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
5
0
0
-19
111
20
-13
17
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
73
61
0
0
-1
14
13
3
0
-80
11
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
0
-29
-28
43
8
12
15
46
-32
-9
-42
16
15
-10
-24
-2
44
-6
1
5
-18
43
4
-25
1
-5
-45
44
-12
10
2
35
77
-38
1
0
79
32
-34
2
-16
8
73
-32
-52
-6
-2
24
-58
9
-9
41
-16
-71
55
-16
33
-15
12
-13
-6
-49
-46
-29
-2
-7
16
-8
-25
-38
-5
-9
10
-30
5
-8
14
4
-27
-7
-5
-23
-21
-11
-38
-35
-15
-33
1
56
8
0
0
13
-1
13
-9
1
-5
-34
26
-9
2
-10
-48
3
-11
18
34
50
71
-59
-24
4
23
19
-16
-73
34
31
7
1
-7
-11
20
22
5
-4
-79
3
-27
24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
42
40
-1
0
13
19
10
8
49
9
-7
74
10
-21
-27
15
-1
4
1
10
-50
75
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-20
15
26
42
0
3
14
-26
30
0
2
6
72
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
25
-28
-26
10
3
78
-27
-15
-4
-57
42
1
49
-40
-28
-13
20
2
42
-7
1
-2
14
-40
-20
5
27
-5
36
46
6
-13
11
-1
-1
-6
6
41
12
58
1
13
31
21
23
-7
-30
-11
19
-1
54
4
-4
10
27
5
13
27
14
-8
34
9
34
19
28
-15
19
-19
16
5
16
-17
-11
16
20
19
13
-8
2
-3
8
21
22
3
-3
15
20
7
18
-27
0
0
0
0
0
0
0
0
-1
0
0
2
0
-14
0
0
7
-9
-2
-1
8
-36
-86
-11
-10
6
-1
50
-8
22
13
36
21
-10
-29
19
7
-30
4
22
61
69
20
19
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
22
36
-38
-39
3
-28
50
40
-26
-2
2
53
27
11
0
18
-33
-28
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-40
1
1
0
-27
-20
1
-3
0
0
1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
2
0
0
-5
4
-7
1
0
-24
-24
5
22
0
8
96
-4
1
-51
-4
-21
3
-15
-22
-11
1
16
6
13
24
-14
-34
18
-12
-36
22
-10
-18
-6
34
-7
64
11
-48
0
0
0
0
0
0
0
1
0
0
3
-2
-2
-18
0
5
33
-5
-35
-24
39
28
47
-31
12
-4
17
19
-26
-36
-1
19
15
28
-5
3
2
21
-5
-43
-13
-2
63
12
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
3
4
4
-98
-63
-6
3
14
86
26
-2
43
-6
3
-40
21
23
53
56
59
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
4
0
-10
40
-12
7
0
43
21
-49
8
0
-2
83
70
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
22
2
-6
14
-2
62
2
19
47
-64
12
-2
-1
-75
61
-46
-6
-26
39
-18
-3
-30
51
3
8
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
28
1
-5
-4
-5
25
-4
-3
-59
-76
9
-51
86
-56
19
15
15
-61
92
70
52
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
8
7
0
38
16
13
20
1
-18
6
23
-8
0
0
-43
-57
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-3
1
-39
29
47
2
-5
21
61
33
27
-20
55
15
48
-84
38
7
-2
-57
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
-8
-28
8
16
0
-9
2
-40
-23
-1
0
-31
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
24
1
0
0
-22
9
7
-27
0
56
18
-51
-8
0
-27
30
18
-12
21
-30
45
-33
30
46
48
-2
-37
1
-87
14
19
-33
-11
1
-13
25
-35
-42
54
48
74
-11
17
82
5
1
0
0
0
16
11
3
6
0
10
-30
3
-5
0
-18
-7
41
-34
3
1
-47
-36
26
9
-63
-48
-15
-7
-2
-9
-6
0
-36
29
-19
30
-55
-45
18
59
-13
31
16
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
-2
5
25
0
-35
-39
17
36
-44
68
-40
-43
38
22
-32
14
-32
-46
-42
37
27
9
18
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-18
-7
0
3
-110
-57
18
0
-25
-24
-52
-4
0
10
35
3
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
1
24
-2
0
0
0
8
-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
-1
1
0
0
0
-54
5
3
3
0
13
46
5
-5
0
-53
0
-12
0
4
-9
-53
-5
18
-36
-69
11
-47
-53
-28
18
14
21
25
-5
33
-45
21
-35
-16
53
14
-36
7
17
0
0
0
0
0
0
0
0
0
0
9
-6
-1
-6
0
3
-50
-66
-8
-3
36
30
-36
-24
-4
-13
-22
-74
-18
17
21
22
38
-22
-8
19
20
-13
13
39
54
3
7
21
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
-17
39
15
20
7
-30
62
-4
50
19
32
-24
5
16
24
-12
1
52
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-8
-33
-23
29
0
-56
5
7
18
0
7
-14
-20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
1
0
0
14
23
-38
31
9
41
-40
19
-5
-65
-91
-4
-15
-6
62
6
-33
29
-42
-35
-35
-39
30
-55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
-1
-1
2
-23
-5
-10
-38
14
-21
15
13
4
-42
-16
-36
-54
21
84
-72
-103
15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-2
0
-3
-19
19
-7
-48
-24
8
-46
-12
-11
-1
-7
-20
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
-24
-2
-7
0
75
-21
-15
-32
-22
27
68
13
9
-6
43
-10
-29
-50
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
0
3
10
22
-13
6
5
44
-64
-34
62
-5
17
34
92
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
-1
1
0
0
-1
44
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
-4
0
0
0
17
-4
1
-27
-2
14
-22
-124
-24
17
-39
-81
-22
-4
-14
37
-114
41
-18
62
-7
48
34
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
0
24
-40
-2
-22
0
52
-63
-10
-1
63
-90
7
-68
-51
6
40
37
-26
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
32
-57
87
19
-6
20
-35
36
19
7
8
2
17
50
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
-23
-7
21
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
-74
-26
18
27
-3
58
7
48
-5
-11
-4
-19
37
-66
-37
18
21
24
-9
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
29
3
-5
0
-42
30
-36
49
-20
-18
54
-41
-41
-16
-95
-28
6
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-48
-2
-2
0
6
-36
29
-19
-54
0
0
14
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-14
-24
1
0
-16
-12
4
-16
34
-4
8
73
-29
-1
-13
73
46
-16
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-25
41
-8
-2
-1
2
-36
16
-8
0
15
-2
-19
-9
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
3
-5
-2
-2
0
0
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-31
-8
0
0
0
9
-5
-5
1
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
5
0
0
-8
32
42
1
10
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
50
56
0
0
-1
25
12
1
0
-69
15
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
52
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-25
19
-27
-6
-31
26
-10
4
-1
-7
-4
-23
13
11
-34
-14
-23
-13
-3
6
-17
-16
17
-38
9
3
16
-7
-20
11
24
36
23
0
-32
27
6
21
26
-38
24
-22
-8
32
9
1
1
5
1
3
-9
9
-26
-10
5
19
11
15
-16
15
-45
-17
-29
-13
-13
-40
5
18
-18
-14
2
-4
4
34
1
4
4
45
3
-29
13
4
19
-11
-29
17
-27
-23
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
1
-19
-18
15
-1
-10
25
3
-24
-4
-1
-13
-24
34
-7
0
15
6
-6
19
-14
-30
52
26
-4
48
23
13
49
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
-6
8
0
22
10
5
-2
-2
0
-49
27
-63
1
0
13
9
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
0
8
6
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
2
2
17
3
-2
2
-4
-7
-4
1
-36
6
6
4
11
32
6
22
18
3
-21
3
21
-22
30
9
12
-14
-42
17
-40
-10
-33
0
-21
-38
-6
44
-51
27
10
-23
0
0
0
0
0
0
0
-2
3
7
0
2
-4
0
2
-6
43
23
-19
21
-57
17
47
-3
15
11
-8
47
19
-3
31
10
-18
25
9
-3
20
-5
-6
-10
-1
7
6
4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
-2
2
3
-30
-8
0
2
-19
25
-47
-3
9
9
44
17
-15
-18
45
13
19
-27
60
-3
34
-20
-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
2
-6
0
-2
0
-21
21
-12
-1
6
2
15
-2
0
1
-7
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-2
8
0
-7
22
-72
-15
15
1
-56
3
-19
-61
0
-10
4
17
-6
18
52
17
7
-4
17
14
6
-22
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-3
0
0
0
-13
-2
7
2
20
-42
17
-20
-20
-16
8
3
35
32
24
-20
-1
41
47
42
7
51
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-2
0
0
5
31
10
-15
16
10
3
0
-24
24
2
8
-3
41
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
-4
-4
-4
-45
0
-5
5
25
10
-13
14
-9
45
33
8
28
-22
8
0
-10
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
9
-8
-3
-19
17
-13
0
-6
41
27
-16
7
-5
8
20
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
-1
-3
1
1
1
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
-3
-2
0
-2
1
7
8
-2
13
0
12
8
3
-10
8
8
25
5
-12
29
-4
-34
-15
-19
-30
-4
40
-51
41
2
19
-48
-5
9
4
-6
27
39
17
-25
0
0
0
0
0
0
0
0
4
0
0
-3
1
-1
0
2
-7
9
4
1
16
-20
-6
-1
1
10
-47
12
-3
-13
-50
-6
-9
-24
7
-16
42
7
-34
-21
-50
-31
21
-41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
3
7
12
15
4
26
44
4
11
-2
-8
-39
59
30
22
-19
6
23
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
1
0
-3
2
2
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
2
0
-8
3
-2
5
4
-1
42
7
31
14
-13
38
-33
-12
-8
35
3
7
2
3
45
-20
-49
-22
-23
6
27
-11
1
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
0
-2
-1
-2
1
8
0
0
-20
-40
0
-16
14
5
21
10
12
-4
16
48
-15
7
-33
63
-29
0
5
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
4
1
0
-12
-12
-1
7
-6
-10
-6
5
-7
10
0
-5
16
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-9
12
5
-2
17
3
4
-1
-13
-43
1
-2
9
-17
0
-17
-17
-12
-2
3
5
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-9
14
-5
0
8
9
-10
-2
0
20
19
-18
-23
-16
27
-20
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
14
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
-1
-2
0
0
1
-7
-1
1
4
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
1
0
3
-1
-5
-25
-15
-18
0
33
1
7
7
-1
20
-17
-10
1
-7
-10
1
7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
3
-1
-1
18
9
0
-15
0
-33
12
5
-3
8
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
-8
-6
-13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
31
-1
3
0
8
1
-2
-2
0
11
-24
-1
-8
-2
0
-1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
-1
-29
3
-4
2
-7
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
-8
0
0
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-44
-6
0
0
0
-31
0
2
0
0
19
-2
5
0
0
0
-19
2
-1
0
-8
42
-5
-22
0
-29
-4
-8
-16
-13
-35
27
23
57
37
-15
-25
-14
3
-9
7
2
0
0
0
-20
-4
-1
0
0
-5
-4
1
0
0
8
-12
0
0
0
-19
-24
19
-8
-7
-41
-8
-48
0
5
10
-67
38
-21
-8
-33
9
-6
16
21
-15
-25
-14
3
-9
3
2
0
0
0
-41
-2
0
0
0
-27
-6
0
0
0
-15
-3
-8
0
0
-5
-24
29
0
0
-58
-18
-28
-34
-9
10
-6
-30
24
23
34
-4
-6
18
101
-15
-25
-14
3
-9
-3
-1
0
0
0
-20
-3
0
0
0
-36
-24
3
0
0
-5
-2
-3
0
0
-19
-9
9
2
-1
-9
6
-58
-6
-4
0
-26
23
23
-7
-35
28
-8
-59
-31
0
63
35
1
-32
3
-1
0
0
0
-29
-4
0
0
0
-28
-7
3
0
0
-13
-17
-3
0
0
-4
-41
13
4
0
-60
8
11
-30
2
-11
-54
-12
18
1
-36
0
-38
-17
-32
-10
-6
-25
-53
30
-1
0
0
0
0
-2
0
0
0
0
-6
0
-2
0
0
-20
-8
4
0
0
6
-26
14
0
0
-8
13
-18
-41
-5
-27
-31
-19
-77
-14
-68
-21
-10
-13
-7
0
12
0
-27
-61
-1
0
0
0
0
-1
0
0
0
0
-6
-1
-2
0
0
5
-17
-1
0
0
-3
2
2
-6
0
-28
-26
-45
-15
-17
-5
0
-61
-57
15
-45
-8
3
-19
-4
-14
-36
-17
-67
-116
-1
0
0
0
0
-29
0
0
0
0
-29
-1
0
0
0
-8
-2
3
0
0
-5
-3
-8
-4
0
-65
11
-17
1
-8
-30
-23
48
0
-9
-4
-42
-31
-8
-26
-5
-2
-39
-31
-57
3
0
0
0
0
2
0
0
0
0
0
-4
0
0
0
-9
-1
-1
0
0
2
-17
12
3
0
-45
-30
-7
-7
12
5
-18
55
8
-14
-38
-58
-43
-44
-16
0
0
0
0
0
-25
0
0
0
0
-1
-1
0
0
0
-3
4
0
0
0
-20
-1
-6
0
0
2
4
-4
3
0
-31
-14
2
-1
-13
-4
-10
-48
12
19
-20
-53
-24
-13
6
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
-18
5
0
0
0
-33
0
0
0
3
5
1
-18
-7
8
-22
-31
-12
-2
-139
-3
-53
-2
-14
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
2
1
0
0
-3
0
-1
0
0
19
-22
8
-3
0
-52
-1
-2
-5
-3
4
-99
-62
-25
2
-2
10
-19
-39
33
-61
28
-42
-21
36
0
-1
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
14
-7
0
0
0
-7
13
0
0
3
-16
-46
-8
-4
-15
8
-13
-18
30
-24
-22
-13
21
-14
-27
11
41
-2
-1
0
0
0
0
0
-29
-5
4
0
0
0
-1
1
0
0
1
-5
0
0
0
3
-14
10
-4
0
-10
-43
-13
41
-8
-41
97
-20
35
32
15
-41
-48
-87
-33
-53
-20
-60
-60
13
0
0
0
0
0
-29
-6
4
0
0
2
1
0
0
0
-10
-5
0
0
0
0
-30
3
-4
0
-14
9
12
-2
6
-1
-19
14
24
-5
-48
-45
-15
-50
-13
-71
8
-34
-59
-16
0
0
0
0
0
0
-4
-5
0
0
0
-4
3
0
0
0
-13
-4
0
0
0
-48
22
0
-1
-7
-5
-46
8
-7
-6
0
5
8
-16
-14
2
-13
-32
-54
-91
-45
10
4
-79
0
3
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-2
1
0
0
0
12
9
0
0
-2
-2
-8
3
-25
4
-57
-61
-10
24
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
1
0
0
2
3
1
0
0
0
0
9
2
0
1
-10
9
-12
2
-19
-25
-54
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
3
1
0
0
0
-24
22
-1
-13
27
32
-24
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
-2
-1
0
0
0
2
19
1
0
8
1
17
-1
-2
-5
75
-23
-6
3
-72
-108
-25
18
-14
-11
-16
-16
89
-10
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
4
0
0
0
0
2
0
0
1
-2
-30
23
0
-12
-8
-9
21
-16
-5
-39
-85
23
0
-49
-10
45
29
-22
0
0
0
0
0
0
0
0
0
0
-10
-4
4
0
0
0
0
-1
0
0
0
4
5
0
0
-7
-57
6
-10
-4
21
-70
15
11
5
-30
45
-21
-27
-47
-18
-84
-51
-62
-78
0
0
0
0
0
0
0
0
0
0
-13
-6
3
0
0
2
0
0
0
0
0
3
8
-1
0
-5
-8
3
0
-9
-8
-18
58
-20
-4
-55
52
-56
33
-51
16
-55
-69
-41
-50
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
16
1
0
0
-8
5
-24
2
-3
-12
-54
-27
-24
-44
-25
-63
-14
57
3
1
-5
-5
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-37
-35
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
0
-2
1
-24
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
-3
0
0
-1
-48
12
-16
-2
-5
13
30
0
-8
-45
-92
-17
-56
-55
-42
-6
-38
-206
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
12
-4
-2
-22
-16
-36
-20
-23
-20
-14
-85
40
-5
-29
-41
-60
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-7
0
0
0
0
0
-1
0
-6
-5
-14
1
0
23
1
26
42
-15
40
-42
-109
21
-3
-13
-2
3
51
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
2
0
0
0
-1
0
0
0
0
19
-41
-4
0
36
19
25
49
-16
-43
-14
-43
38
50
-45
16
31
-19
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
26
-42
-22
5
15
-15
-32
37
-12
6
-46
8
12
43
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-8
-1
-24
-9
25
9
-1
9
-54
-64
-67
-19
-2
-24
-263
-80
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
13
-13
25
-15
5
47
-22
-7
-39
2
-3
-75
-108
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-9
-12
1
0
0
-5
-8
-19
6
-10
-46
-18
4
-20
-5
-96
5
-2
8
-77
8
32
-46
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
22
8
0
0
-3
-1
6
0
2
-46
-10
-19
22
18
-56
-106
-139
2
-2
-1
42
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
-7
1
0
10
-8
78
-32
12
70
3
-5
10
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
5
0
-6
2
-5
5
0
7
-9
-50
35
0
0
-163
1
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
1
24
-19
0
0
-5
1
-19
0
0
-42
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
54
-5
0
0
1
19
26
-11
0
-1
-40
-16
79
0
-12
13
-24
-166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
-7
-5
3
2
-46
16
29
-1
3
38
-10
23
-8
30
4
42
28
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
0
13
7
10
0
-2
85
17
5
0
-8
1
-98
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-16
0
0
0
-16
-58
0
0
-15
-27
-129
0
0
-109
-49
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-12
3
0
0
4
8
-45
0
0
-3
4
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
8
-8
0
0
15
-57
-37
0
0
-43
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
6
5
-14
0
-31
6
-18
-8
0
2
8
8
-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
12
-1
8
0
0
1
-49
-52
0
0
-2
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
16
0
0
0
1
-30
0
0
0
-20
-122
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
2
-104
0
0
0
-34
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-55
0
0
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
10
8
-49
3
0
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-17
-25
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
2
13
1
-94
-8
91
-22
0
26
-14
-22
11
3
1
7
29
45
22
83
57
-31
-21
6
-57
6
32
-27
-28
7
49
13
13
-37
23
33
56
21
42
9
-18
-21
-26
-9
-29
33
35
19
0
22
-15
-72
-15
2
-57
-22
37
1
3
46
-90
-46
5
-9
-29
10
39
-18
-72
58
-22
7
-24
18
65
9
12
77
5
-8
10
-1
64
4
9
-18
-21
-26
-9
33
34
-9
0
0
-40
-45
-11
59
10
-7
-21
47
-15
-3
-20
8
-28
-9
13
-69
-22
-6
-41
12
-61
26
-14
-57
46
-22
50
6
15
38
24
6
-8
-8
-26
9
-18
-21
-26
-9
48
-7
3
10
2
9
-53
56
4
0
-17
-39
19
28
2
-8
-12
29
-2
6
-7
52
7
12
-16
41
-9
-29
36
26
26
25
9
-11
-30
34
24
20
-5
60
24
62
72
53
54
82
-14
0
16
1
38
-30
-19
3
0
32
-13
17
0
12
-19
38
-2
24
44
-25
-23
9
26
24
18
-14
26
30
-20
5
10
12
19
2
-24
43
21
9
-24
30
27
34
57
100
-19
-2
15
7
3
13
-6
-32
3
0
-20
32
-1
2
-2
-42
30
7
5
-10
-31
13
-33
26
-20
-64
37
12
15
-5
2
-18
-11
-35
-7
-4
-15
-47
-23
-53
10
-4
20
-31
-33
-19
-2
15
7
3
13
-29
-42
-9
-2
21
1
23
-20
0
-20
27
16
-4
18
22
75
34
-63
10
12
-35
10
-8
-49
11
49
-10
-10
-28
39
3
9
-43
-5
24
16
-12
-11
-29
-19
-2
15
7
3
12
-19
2
-23
4
-28
-9
17
-15
-1
-6
-7
12
-18
-29
-36
-23
8
-26
-41
-41
17
-49
16
-45
-33
-21
0
-11
-29
16
-17
-16
-34
-20
-5
19
-45
-44
-24
-1
-49
-27
-9
0
56
-42
-33
-9
0
-83
0
-11
8
0
42
-54
31
-51
-4
-50
-91
60
-29
16
-88
-18
-17
66
50
7
-10
32
24
27
-10
-25
-66
-45
-70
0
0
0
0
0
-82
-79
1
-8
0
-6
-11
11
5
0
-4
-29
-17
19
-6
-53
-38
-11
-14
1
-12
-58
13
-12
0
-101
-78
5
-9
8
-6
3
-49
-7
-1
41
-23
-18
-56
-22
0
0
0
0
0
0
-40
-7
-3
1
0
10
19
-28
0
-2
18
37
4
1
2
-11
-30
-28
9
59
-2
-32
42
-47
44
-56
15
-20
-20
5
1
-12
-24
-5
-44
-20
-36
-30
-22
0
0
0
0
0
-58
92
29
-2
0
17
58
-7
5
-1
43
63
27
-32
1
-53
68
-5
25
9
40
-3
1
-49
20
-96
24
-24
16
18
42
-42
-44
-1
-9
-38
-5
-21
-15
-38
80
-12
61
48
50
0
-15
-6
-3
0
1
29
18
0
1
-1
7
-7
-7
-6
1
-10
26
-11
-20
25
43
0
-54
1
-52
-44
-22
-125
-24
-78
-46
9
-22
-20
2
-18
-32
-15
2
-60
14
-18
3
2
0
0
0
0
0
-20
-11
76
-20
22
0
-49
46
0
-3
-41
-79
-26
-36
-4
123
-3
22
-2
17
13
-59
-29
-44
16
34
8
2
26
79
-10
-13
9
-46
-31
-27
-6
-38
-19
-41
0
0
0
0
0
-16
20
111
-37
5
8
13
52
24
0
11
-18
-50
-19
3
40
-95
-45
11
-23
31
-7
1
-55
32
-10
-6
5
16
21
-37
-13
-33
-17
17
-72
-52
-16
-20
-18
0
0
0
0
0
14
6
23
3
-5
-4
-11
37
32
0
0
22
20
4
-6
5
-21
-20
-3
-39
-13
17
-19
30
15
48
-8
-66
41
2
-19
-23
-23
-1
-24
0
-1
-13
33
-33
0
20
14
-2
0
5
0
-55
-1
2
63
-20
-2
-19
0
-107
20
13
-5
2
-6
-5
-49
13
-1
-14
15
-26
-22
-23
5
-30
-34
-18
2
0
0
0
0
0
0
0
0
0
0
22
-8
1
1
0
-8
26
39
-5
5
-20
13
35
-7
0
-12
0
63
-24
-12
-67
-39
-28
-24
42
-50
-58
22
12
5
-28
3
-10
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
26
0
-3
1
0
-29
4
0
0
-1
-18
24
-14
2
5
27
13
16
-22
1
-26
16
-6
24
-122
-4
7
-17
0
0
0
0
0
0
0
0
0
0
-1
-1
-11
0
0
41
-6
-19
9
-1
46
-25
51
10
0
-19
-42
-69
-21
7
23
-65
17
-25
-4
25
-39
-57
-14
2
-45
6
-4
-11
45
-56
-37
-18
31
-74
38
-83
-21
-42
-73
0
0
-7
0
0
0
0
-1
0
3
0
0
70
-1
0
1
-1
-47
-31
-1
1
-5
35
11
11
-82
16
-73
26
9
4
-30
-12
31
0
-89
-21
-8
-17
-38
-29
-68
-76
3
-51
0
0
0
0
0
0
0
0
0
0
-10
-20
14
7
0
-5
6
41
-15
-5
-91
-1
-35
44
-30
-15
-64
-56
43
2
93
-14
14
30
-68
6
-29
1
-11
-38
59
-78
7
-19
41
0
0
0
0
0
0
0
0
0
0
-60
-37
-21
-16
2
-20
-51
-13
-2
-1
-51
-45
65
45
9
-44
-16
-11
12
-41
-23
9
13
5
78
27
-19
-21
69
-38
-41
-16
-40
-52
-30
0
0
0
0
0
0
0
0
0
0
-3
5
1
-7
-1
0
-1
-47
2
5
-3
-9
17
7
45
-10
-28
6
11
20
-32
28
17
-71
-3
-54
-47
6
29
-30
-42
-84
-14
-46
20
3
-5
0
0
0
-17
0
0
8
0
-8
52
0
-5
0
8
-18
3
-31
0
2
47
1
-16
16
84
-36
-25
20
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
31
0
0
0
-13
0
-5
0
-4
52
45
-2
3
0
-2
-8
-11
-3
1
15
37
-33
-29
1
-56
48
-77
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-21
0
0
0
0
23
0
0
0
0
-4
0
0
0
0
-7
-9
17
-25
0
45
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
-3
-1
-10
-25
31
5
1
-19
-3
-19
14
-3
26
-61
-26
-18
-2
-13
-6
-49
26
3
-52
-136
63
-38
-29
-39
-3
33
1
-9
49
-26
-2
-66
-56
-20
-65
-143
-130
-113
0
0
0
-2
0
0
0
0
-41
0
0
0
0
-9
-2
0
0
0
-22
3
0
-77
6
5
4
-8
12
7
38
-33
3
-8
21
-5
-61
54
-19
-48
-8
-53
-32
-77
-40
-119
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-66
-8
9
-5
-59
56
-98
10
34
-71
35
58
31
-8
19
29
14
-10
106
11
17
-6
46
16
-4
3
-30
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
10
-4
6
-36
-22
-28
-30
-5
-50
1
-75
36
19
31
-53
40
18
-95
-75
-29
-80
29
-8
-109
-17
-58
-40
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
12
-35
31
-2
-1
-3
-46
-11
5
-15
18
-48
-13
84
49
27
-1
-24
14
19
12
9
50
9
-42
-6
-34
3
0
3
0
0
0
-12
0
0
0
-2
0
0
0
0
0
0
0
-4
14
-8
-41
-123
33
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
19
0
0
0
0
-4
0
-1
0
0
-5
85
0
0
0
87
-20
23
-4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
6
-15
5
25
-21
14
-41
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-60
-9
0
0
-19
-8
0
0
-8
-1
0
-1
1
0
-25
17
3
0
1
-16
-3
-32
-16
-5
15
-50
-33
-18
-47
29
7
94
-73
-25
-44
-106
-115
-73
-63
-5
-62
-46
-89
-118
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
-24
0
2
-5
0
-33
-8
-22
-42
-7
57
-6
36
-24
10
24
-34
-41
-80
-88
-74
-44
18
-154
-72
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-26
-12
-40
36
-41
-46
-44
-52
-33
10
-14
-50
-56
-21
-54
-32
-34
0
-5
-46
5
-34
-42
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-38
-15
19
17
-51
-33
-5
17
-29
6
-62
-1
-1
7
38
-64
-22
-66
-11
-11
-11
24
-44
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
47
-34
14
41
0
-40
-29
-12
-17
49
47
44
-1
52
-11
-8
-87
-9
-84
-61
36
-8
8
-10
0
0
0
0
0
0
0
0
0
0
0
1
1
5
0
12
2
-75
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
-19
9
-14
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
-1
0
0
1
0
0
0
2
1
0
-1
0
2
-31
-21
9
0
-6
0
25
2
0
-49
-28
4
4
0
-2
-67
-15
-67
0
23
-144
-118
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-38
0
2
0
21
25
0
-5
17
-2
-51
0
56
-144
-118
-72
0
5
-23
-56
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
81
-1
-46
0
25
93
-18
91
0
-7
-4
-26
-12
0
-86
-1
-112
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-26
27
-11
25
-21
-94
0
37
16
-31
9
-26
34
4
23
-37
15
-44
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-41
0
-13
0
-1
-56
105
27
0
-49
-74
-4
-50
0
-50
-29
-13
6
0
0
0
0
0
0
0
1
-2
0
0
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
56
0
0
-1
-31
-64
0
0
18
-29
-29
0
0
-28
-86
-110
0
0
-121
-91
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-34
0
0
0
-13
50
0
0
-13
-42
-16
0
0
65
23
-21
0
0
-61
18
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
38
48
0
0
-4
-14
-36
0
0
-68
-7
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
6
13
-30
25
-1
-1
-31
-43
-48
-13
-1
-24
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
54
26
0
0
-8
-31
-58
0
0
-8
1
2
0
0
3
-24
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
-22
0
0
0
-19
9
0
0
0
-52
-93
0
0
0
-87
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-8
0
0
0
1
70
0
0
0
-36
-21
0
0
0
-83
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
35
0
0
0
50
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
36
13
-46
-87
24
-13
-8
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
25
0
0
0
9
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-8
0
0
0
0
7
0
0
0
0
-34
0
0
0
0
38
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
29
0
0
0
0
-42
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
33
23
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
51
-47
8
3
1
-2
29
-13
16
-2
-3
-43
-39
-9
-10
-62
-12
1
-4
2
75
13
-27
-2
41
-19
-39
12
9
-41
-9
1
8
2
-31
10
15
31
84
22
19
6
-12
-4
-8
3
28
-23
24
0
90
-16
-117
-34
0
-75
-34
-5
-23
5
-18
70
13
59
-38
88
-21
10
48
-47
71
37
35
-5
35
33
54
15
48
40
26
8
12
82
45
19
6
-12
-4
-8
26
-3
-38
1
0
-27
-58
4
49
22
-18
11
31
-34
-9
-13
62
-20
24
35
-69
-3
-28
1
72
-6
10
-17
69
-30
-17
-2
21
33
76
0
7
-5
-39
-56
19
6
-12
-4
-8
20
-30
5
8
2
57
-22
-2
48
16
18
18
15
38
21
-11
28
-12
55
7
8
56
28
35
36
-6
24
51
29
44
20
14
-6
-10
-3
24
-13
29
23
35
17
31
51
48
25
29
3
0
22
1
41
-43
-5
-14
-2
36
-26
40
25
8
-9
75
29
46
74
-23
-18
24
46
64
32
27
43
28
-40
20
0
2
-23
-9
-5
6
-7
27
31
15
29
57
32
108
-23
4
-14
-8
-4
-33
2
7
3
0
-4
12
1
-36
4
-30
-5
29
-8
-44
35
45
-72
35
-38
16
23
-13
37
-40
9
-4
-23
-22
9
-11
-6
-18
-25
-16
23
-44
-49
-51
10
-23
4
-14
-8
-4
-15
-6
-20
-4
-2
23
11
14
-15
1
21
46
19
9
28
65
-12
37
38
59
28
28
13
1
-29
27
56
15
0
14
34
10
-6
10
18
24
-9
-20
28
-54
-23
4
-14
-8
-4
30
-20
-54
-66
4
-22
-28
17
-3
-3
-5
-41
-21
22
-27
-18
-6
-20
16
-19
-11
37
-12
-6
-25
-6
6
17
2
0
-7
-5
-17
-18
6
21
-15
-55
-2
-17
6
4
-29
-14
0
-9
-59
-12
2
21
-50
4
-4
23
0
27
-7
71
-65
5
-49
-26
38
0
4
-60
19
-50
46
-15
7
-26
10
-30
61
5
3
-15
-27
-30
0
0
0
0
0
-60
-37
17
-17
0
-40
-8
18
19
25
25
-5
-6
12
-30
21
-26
-55
-30
22
18
-44
89
-17
-5
-63
-81
-12
2
1
43
15
5
-36
-49
-52
-2
-16
-34
-5
0
0
0
0
0
0
-4
-1
19
1
0
61
-15
-8
-1
-2
-8
10
-18
5
6
-29
-42
-93
18
28
-46
-19
55
-83
4
-45
-11
-3
20
-22
13
27
5
-29
6
-3
-7
3
-4
0
0
0
0
0
-23
33
17
-2
0
-40
27
-10
-45
-4
9
70
26
-32
0
-24
0
39
63
-5
11
9
6
-23
30
12
15
-17
-19
-50
-42
2
50
-23
27
-4
7
-12
-4
2
-50
31
28
23
-14
0
-21
-55
8
0
1
68
-5
17
-1
-1
13
20
-10
-7
-16
-6
16
-49
8
22
10
-1
-20
-1
-64
-23
-56
-5
19
-59
-7
47
11
-26
-32
6
-41
30
-52
76
-67
16
-9
-65
0
0
0
0
0
34
-1
-33
-8
44
19
-91
47
15
-6
-56
-15
-20
-65
11
92
-42
49
61
-11
43
29
-51
10
10
82
1
-11
32
47
-17
-19
-19
-10
0
63
7
9
-1
29
0
0
0
0
0
-6
24
10
-45
9
9
12
50
11
-2
-16
-18
-50
-46
11
-21
39
-20
-14
-21
-7
41
31
-46
-9
43
-1
10
-8
29
7
-37
6
-12
1
-30
7
-7
-19
-19
0
0
0
0
0
9
19
-3
54
12
-4
-8
12
28
0
0
50
24
32
0
11
-17
-13
-30
-4
-47
6
15
19
10
-39
-22
-13
4
43
14
-4
27
-8
-43
46
-5
-5
3
-4
0
-1
2
-3
0
-2
-14
-31
-2
-11
23
-5
11
-8
0
-82
2
-26
17
0
-55
-31
-30
-4
-1
-27
-6
-1
-8
4
37
23
-11
11
-15
0
0
0
0
0
0
0
0
0
0
-13
-28
1
1
0
0
-8
9
-9
-7
11
46
22
-12
-2
-48
-97
79
-47
-11
-120
-11
-5
-43
64
-14
-40
11
-17
-33
-119
-25
-24
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-39
0
-3
1
0
-5
23
-8
0
-5
3
81
-28
1
20
45
24
28
-28
6
-16
-92
39
24
-34
-24
-35
12
0
0
0
0
0
0
0
0
0
0
-2
-23
-33
0
0
34
-12
-13
9
-1
37
-57
32
-9
-9
-51
-47
-48
-21
9
-21
-72
25
39
-24
42
-41
-95
-16
-19
-32
-28
11
0
2
-22
-34
-26
-35
-36
-1
-15
-2
-45
-37
0
0
-4
0
0
0
0
-34
1
3
0
-19
-4
-32
0
1
-1
-64
-24
-1
1
-16
-48
-3
29
-97
-13
-20
-61
-23
4
6
-19
-37
13
-6
-24
-4
-73
40
-2
36
-124
-73
1
0
0
0
0
0
0
0
0
0
0
-31
21
8
-10
-23
7
-19
14
8
17
-105
-14
0
49
-2
-52
-42
-27
-21
-25
36
-25
33
-2
-29
-26
18
-44
24
-41
-60
33
29
-13
-2
0
0
0
0
0
0
0
0
0
0
-43
-40
-3
-5
-24
-55
-59
-17
-34
1
-33
-63
21
51
31
-43
-67
-68
49
-21
-17
-19
-16
-11
26
-58
-22
-28
-36
3
-102
66
36
-16
3
0
0
0
0
0
0
0
0
0
0
17
2
8
-38
-40
0
-1
-11
-21
1
-12
-13
4
13
41
-4
24
-29
-20
-9
-31
84
10
-29
30
-40
-33
37
28
8
31
19
8
37
1
-1
-3
0
0
0
-13
2
0
-2
0
2
33
-1
-26
-14
20
-34
-3
35
0
2
54
1
8
12
27
-10
-2
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
0
0
0
-1
2
-13
0
-4
11
-2
3
-7
0
1
-12
-23
0
1
-28
-28
-64
-31
1
-118
-10
-40
19
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
-32
0
0
0
0
24
0
0
0
0
0
0
0
0
0
-22
-60
-5
12
-35
22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
0
-3
-1
4
-1
-4
-5
1
-36
-22
-33
3
-3
56
-21
-27
-42
4
-30
26
-32
8
1
-88
-106
-41
-73
-7
-23
-26
-13
-34
-7
23
-31
-48
15
-65
-33
36
-45
14
-15
0
0
0
-3
0
0
0
0
-16
0
0
0
0
-9
-2
0
0
0
-9
1
0
-2
30
10
-8
-4
2
-4
-12
-34
2
-25
84
17
4
43
30
-33
-37
-89
-4
-70
-47
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-49
34
16
5
-57
7
-97
55
-5
-38
12
77
35
7
14
23
2
-16
104
-21
-21
-2
-71
66
-26
-14
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-20
9
40
-22
14
-39
-55
-31
-7
-71
-97
-40
42
50
24
-49
40
-13
-57
-30
-25
-47
-30
-80
-12
-101
-28
-15
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-18
3
-48
53
-2
1
8
-14
-46
-7
-44
24
6
-16
43
10
54
-10
5
48
29
67
-26
-24
-110
-66
8
-24
-25
0
-2
0
0
0
5
1
0
0
-2
0
0
0
0
-17
0
0
-2
7
5
1
-104
-24
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
5
0
0
0
-4
-17
-1
0
0
-23
34
5
-2
0
55
37
-34
36
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-8
0
0
6
-46
2
44
18
5
-38
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
-1
-1
0
0
2
-1
-17
1
1
0
-6
18
3
-5
-5
-18
16
-52
-19
16
27
-39
-7
6
-31
37
10
5
-37
-36
-81
37
-56
-110
-34
24
-60
-24
-101
-87
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
-1
0
0
0
-1
-56
-1
2
-6
0
-40
-8
-7
-48
-18
65
-7
-48
-49
-55
-2
-68
-70
6
-66
-5
-35
23
-118
39
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
13
-1
-60
28
-90
-42
-1
-31
-11
-21
45
-2
-64
13
-2
-57
-4
-40
-15
-66
-14
57
58
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-23
-18
-14
-3
-49
-9
-30
13
-31
-16
27
48
34
-22
-11
7
-12
36
-13
-13
2
29
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
29
-69
20
70
0
-44
-43
15
11
47
-5
41
5
-14
-8
-62
-80
12
-92
-50
61
5
16
39
0
0
0
0
0
0
0
0
-3
0
0
1
21
9
0
8
44
-29
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
1
0
0
0
0
2
0
0
0
0
-13
11
-10
-10
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-43
0
0
5
0
0
-1
0
0
0
2
1
-1
-6
0
-4
-56
-51
14
0
-5
-2
13
38
0
-35
12
-27
-17
0
-12
-17
-49
-103
0
36
-91
-58
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-66
0
4
0
-3
69
0
-17
22
-18
-5
0
24
-34
-41
-102
0
7
-8
-17
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-36
16
-33
0
27
56
30
118
0
-6
4
-36
1
0
-24
26
19
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-9
-8
-58
-32
-37
-79
-59
-6
20
-39
0
3
-16
13
15
-11
9
-12
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-27
8
-22
0
2
-61
43
32
0
-52
28
-29
38
0
-46
-33
-50
-58
0
0
0
0
0
0
0
1
-2
0
0
40
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-20
-13
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
27
0
0
-1
-28
-34
0
0
21
-44
40
0
0
-23
20
-85
0
0
-51
-55
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-43
0
0
0
-8
29
0
0
-18
9
-13
0
0
35
-54
-38
0
0
-3
27
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
37
91
0
0
-24
-16
6
0
0
-66
-8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-26
-7
-25
8
-3
-32
-31
-7
-47
-19
-4
-48
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
52
48
0
0
49
-22
-26
0
0
-10
1
44
0
0
3
3
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-47
0
0
0
-55
-39
0
0
0
-65
-60
0
0
0
-51
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-43
0
0
0
0
30
0
0
0
-42
6
0
0
0
-114
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
65
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
42
-57
-92
-56
24
-13
-1
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-61
0
0
0
53
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-20
0
0
0
0
13
0
0
0
0
-54
0
0
0
0
-39
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
36
0
0
0
0
-47
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
42
44
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
-1
-1
0
0
0
-3
6
-6
0
-1
-5
-9
-14
7
2
-20
-30
-12
-7
-14
-7
1
-7
-40
13
-19
-5
-10
-8
-32
18
-8
-16
40
9
-26
-22
14
-9
4
7
-2
18
13
23
0
0
1
-2
0
8
6
-2
-14
-1
3
5
2
-7
-4
-2
49
31
5
20
23
-5
41
20
20
-15
-14
6
8
19
6
3
51
1
55
55
33
4
-5
-14
7
-2
18
13
23
6
0
0
-2
0
-15
-5
0
2
0
-13
9
-1
0
-1
5
-8
2
4
8
-53
6
-50
-31
8
10
-5
37
5
-11
4
-8
-48
17
-6
22
12
0
-6
14
7
-2
18
13
23
0
0
0
-2
1
4
0
3
0
0
2
13
13
-1
-1
1
15
-7
40
0
-12
0
-20
1
11
-32
40
48
20
-3
36
-5
63
24
31
23
54
9
5
21
24
-38
-21
63
52
2
1
0
0
1
-8
0
0
0
1
-16
-6
2
-4
-4
7
19
10
13
12
-34
-1
4
20
19
21
12
13
-14
5
28
14
-3
32
28
11
-7
67
-9
6
-21
11
40
4
4
1
-13
-2
-13
-16
0
-2
0
1
0
-12
5
2
5
-1
-1
-3
30
-8
-15
21
-15
-27
-29
-15
31
7
-21
-17
15
-9
5
-42
20
13
3
19
29
-21
5
-32
-52
42
-38
-16
1
-13
-2
-13
-16
0
1
0
0
-1
5
9
0
13
0
17
6
21
11
12
33
-6
-1
28
17
18
49
29
-3
44
36
44
53
7
25
19
0
48
22
32
26
11
-2
29
7
1
-13
-2
-13
-16
-7
0
-2
-2
0
-13
-2
1
-6
0
19
4
-10
38
-32
-34
39
-14
-13
2
-23
-9
-40
-33
5
-8
-45
-12
5
-10
-12
2
17
68
6
-9
-55
6
19
26
0
-4
0
-1
-1
0
-4
0
2
3
-7
11
-5
-9
-1
20
-5
26
-15
-6
-28
-22
13
14
1
-8
-14
-9
-11
-2
-8
-11
16
2
12
47
25
-3
8
19
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
-1
0
7
2
-6
-5
0
3
-12
-14
15
-15
-31
-9
2
2
-6
-11
2
-2
-19
-3
28
-12
-46
27
1
-55
-46
13
11
25
0
0
0
0
0
0
-12
0
1
0
0
3
0
-3
0
0
-2
12
-23
0
2
13
-42
-19
-1
3
-42
10
13
1
5
-8
2
-17
2
18
-9
19
18
9
-6
-6
13
12
5
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-5
-1
-3
-9
-4
5
-1
-5
-39
45
-19
3
-23
10
-12
-14
19
3
-48
-7
-31
16
-33
50
25
-7
-30
1
-30
-43
46
18
-19
-31
-3
-16
-9
0
-2
0
-4
0
0
3
0
0
0
0
3
4
6
1
0
-7
18
0
6
2
-8
-8
-20
28
-24
18
25
-9
-4
19
24
16
28
-18
16
1
43
54
-19
15
-31
11
2
22
0
0
0
0
0
-7
-6
-15
-39
36
-5
5
11
-3
-1
-13
-17
14
13
5
14
-8
-3
18
18
-26
-1
-4
-13
-35
-33
-4
2
38
6
-13
4
-40
69
18
47
32
89
46
61
0
0
0
0
0
-17
-4
-9
-38
18
-15
-2
8
-7
0
6
-7
8
-10
0
-48
68
45
1
8
-6
-13
-7
14
-29
40
-10
-33
0
-17
4
51
-2
18
-26
18
8
31
17
60
0
0
0
0
0
-1
-6
3
-25
23
0
-4
-12
17
-1
-1
15
-10
3
4
7
-43
-35
-46
3
31
-29
29
14
-16
17
18
34
38
46
68
17
11
-59
-24
11
69
17
-24
7
0
0
0
-1
0
-1
0
0
-1
0
0
-1
3
-10
0
-1
1
-5
40
2
-25
-5
7
-5
-1
-9
31
1
-26
3
31
27
-3
6
6
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
-2
1
1
-2
0
0
0
0
-12
-16
5
16
1
-17
-2
-24
-36
7
12
9
-13
4
-7
-21
1
-4
14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
1
-2
0
0
-5
4
0
0
-1
43
43
-9
1
0
-8
-6
14
-5
0
-18
-5
0
-3
32
-1
5
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
0
3
-18
0
1
6
-20
-4
1
3
-7
10
-7
-10
23
-2
-8
10
-13
9
-25
4
57
19
21
-21
7
-27
16
1
20
6
-12
-10
0
0
0
0
1
0
0
-10
0
1
0
0
-8
2
0
1
0
-3
2
-2
1
0
-16
0
3
-7
-21
-14
-27
-25
2
-41
1
-7
1
1
-27
-44
14
42
-10
9
39
-26
10
0
0
0
0
0
0
0
0
0
0
8
-17
-12
-9
-3
0
2
-20
-9
9
-8
7
28
27
-1
-29
28
5
-15
-2
19
15
9
-13
-5
0
17
0
34
-39
-32
-18
-16
56
24
0
0
0
0
0
0
0
0
0
0
-7
-4
-9
-22
-4
-20
-12
-8
6
0
-2
-24
-28
3
0
-64
-53
-48
4
-9
-34
-5
8
5
18
7
-33
20
-6
15
-27
4
-1
-4
-15
0
0
0
0
0
0
0
0
0
0
1
4
-1
-3
-7
0
0
40
3
3
0
-6
7
-10
2
-5
9
9
-12
5
47
40
-10
-8
35
-35
-34
-38
12
24
-3
-5
64
4
-14
0
0
0
0
0
-1
0
0
0
0
-3
0
1
1
-1
0
0
0
4
0
0
7
0
12
19
1
-16
22
37
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
-1
2
-6
0
0
0
0
-4
-8
-2
0
3
-23
-20
-18
1
-15
-11
-9
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
7
0
0
0
1
-3
0
0
0
0
-19
2
-21
-5
-14
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
-1
2
-2
4
3
-16
-6
0
-3
8
-5
17
0
-14
-15
-15
-26
-17
-32
8
-35
-39
8
-32
18
-7
-4
-3
10
-1
35
13
-31
0
0
0
0
0
0
0
0
-24
0
0
0
0
2
-1
0
0
0
-1
1
0
-8
8
29
0
-10
33
9
7
6
-5
-12
13
-5
9
54
-89
21
-28
-1
16
0
-5
28
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
15
0
0
-6
-20
-38
17
1
-4
-11
49
1
45
-14
-20
-29
-14
15
-34
-77
-4
-14
22
19
24
-43
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
8
-9
-15
16
-23
-3
-10
1
-8
-9
24
2
-8
-8
8
-3
8
-10
-13
-10
-56
-3
6
-21
-47
-20
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-26
17
1
-2
2
15
11
-2
17
0
15
-12
2
-4
8
-12
-38
1
76
9
-13
-24
-25
-25
-18
28
-25
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
-4
0
26
-8
-36
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
-3
0
0
-17
23
-8
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-2
14
1
7
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
1
0
-6
-1
5
-14
-2
18
13
3
-8
-8
-13
13
-12
-19
-4
-6
-48
14
-17
-15
-11
8
5
30
-14
35
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-18
0
2
1
0
-14
-1
-24
-10
-4
0
-9
-36
-25
-21
9
-36
53
-1
6
-23
-5
4
-5
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
12
18
0
8
-2
5
14
-3
-6
4
13
16
-14
33
1
-5
20
-4
20
-7
19
32
58
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-50
-41
-52
6
-13
-20
8
-10
-8
4
-2
5
16
-7
-9
-41
-22
-8
-5
3
1
2
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
8
41
8
0
-8
-13
18
5
7
6
10
5
4
8
-62
-2
9
13
8
23
-7
19
33
0
0
0
0
0
0
0
0
1
0
0
0
1
12
0
1
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-2
8
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-5
-5
-3
0
0
2
-13
11
0
22
-5
-12
0
0
2
10
0
11
0
5
15
39
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-25
0
0
0
-7
14
0
-7
-9
-14
5
0
-5
25
-5
-17
0
0
-12
-29
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-50
-6
-23
0
22
9
46
37
0
-13
0
-8
-13
0
-34
-14
-46
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-17
-15
-17
-17
-2
-27
-8
-3
2
-3
-25
-17
-12
-9
-2
8
5
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
7
-17
0
0
-17
-12
26
0
-3
25
-6
-7
0
2
-7
-15
-9
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
0
0
-3
-8
-15
0
0
6
-14
-12
0
0
3
-26
-7
0
0
22
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
2
0
0
-3
16
-1
0
0
10
32
-30
0
0
18
40
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
25
0
0
-6
-46
21
0
0
2
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
13
-21
-5
5
1
17
-5
8
-2
0
-3
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
6
0
0
8
11
-4
0
0
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-4
0
0
0
-29
-14
0
0
0
24
-18
0
0
0
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
0
-8
4
0
0
0
-13
35
0
0
0
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
0
0
0
48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
23
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
0
0
0
16
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-3
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
0
0
0
0
-47
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
31
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
13
0
0
0
0
8
-24
-2
0
0
-1
-18
1
0
0
21
2
5
0
0
-9
-9
-1
6
1
4
1
-5
-49
-35
-10
-9
-44
12
56
16
-12
2
16
14
-1
-4
-6
3
-4
2
1
0
0
0
8
-27
3
0
0
-25
3
-4
0
0
-8
-8
14
-2
0
-15
-28
-6
-6
-3
6
-19
33
4
6
0
17
-14
27
28
15
-3
0
-20
-64
-1
-4
-6
3
-4
1
0
0
0
0
8
-14
-2
0
0
-6
-6
1
0
0
2
6
-7
0
0
-7
33
-7
-6
0
-34
-11
-15
-15
-6
-6
-1
-22
-13
-1
-26
-10
2
29
3
-1
-4
-6
3
-4
-22
0
0
0
0
-16
-8
-4
0
0
-1
-23
0
0
0
-1
-4
-3
2
0
-15
15
0
-8
-2
-4
-29
-45
-32
-20
-2
-19
12
10
2
32
-22
-21
-11
2
0
66
7
3
-20
-8
5
0
0
0
1
0
0
0
0
-10
-12
-1
0
0
-4
-8
1
0
0
-7
-15
7
-8
1
-12
-65
-58
-31
-14
-4
13
-22
-43
8
-13
-12
-13
-4
-10
-9
-18
-6
8
-13
14
15
1
0
0
-4
-2
-1
0
0
-13
0
0
0
0
-7
1
39
0
0
-13
9
-7
-4
-2
2
12
-88
-25
4
21
9
-11
-19
17
-13
-4
9
1
11
-14
-40
-8
0
28
14
15
1
0
0
10
-4
-2
0
0
-2
-8
1
0
0
18
-1
0
0
0
-7
-12
-8
-6
1
39
-21
-37
-64
1
-11
-2
-8
-5
-13
-21
-4
-10
3
-1
-8
-57
-5
34
0
14
15
1
0
0
9
-6
-4
0
0
-6
0
0
0
0
0
6
14
0
0
-8
-8
-4
-4
-1
-35
58
-15
-21
5
4
-10
-1
-22
-8
20
3
4
-7
9
5
-1
-27
1
27
13
0
0
0
0
8
-2
1
0
0
-3
10
-1
0
0
2
-1
-10
0
0
24
-8
6
-17
0
-9
8
-7
13
15
-55
-11
-41
-18
-7
-61
-4
13
-2
8
0
0
0
0
0
15
0
0
0
0
-1
-2
0
0
0
-5
-14
-1
0
0
2
6
-4
0
0
4
7
-4
3
4
-10
-10
-57
-19
-14
-2
5
-33
-12
-2
-49
-5
-6
11
-5
0
0
0
0
0
0
-7
0
0
0
0
4
7
0
0
0
-8
0
0
0
0
-22
0
0
0
0
-47
3
-7
-1
-1
-4
-2
-8
6
20
0
-16
-6
6
-20
15
-1
1
-5
0
0
0
0
0
0
1
0
0
0
-1
-5
3
0
0
-6
14
1
0
0
-1
25
-5
0
0
-7
-27
-12
-3
0
-32
6
-48
-10
8
-37
14
-28
-24
19
-12
25
9
-8
19
6
-59
5
18
-12
0
-11
0
0
0
0
-5
0
0
0
0
-2
1
0
0
0
-2
-8
0
0
0
2
-8
-8
0
23
60
-5
-26
6
28
-19
-28
-15
20
27
-1
-2
-7
-10
-5
-28
-4
0
-20
0
0
0
0
0
5
-40
8
0
0
-2
-4
2
0
0
-2
-1
0
0
0
17
-1
1
-9
0
-22
5
3
40
8
-38
10
36
23
-43
-26
-10
-13
-17
0
4
-17
4
13
-3
0
0
0
0
0
-22
4
10
0
0
-7
3
0
0
0
-5
8
0
0
0
2
17
0
-9
0
-78
33
-18
2
-23
42
-10
-21
-11
14
31
-11
14
-19
-29
8
8
8
-2
13
0
0
0
0
0
-1
-40
27
-1
0
0
-8
-8
0
0
0
-29
-8
0
0
0
-9
9
0
-1
26
-66
-17
10
-10
-34
0
-34
-9
6
-129
-12
0
8
-43
-6
5
-8
-15
-9
0
0
0
0
0
1
0
-2
0
0
2
-3
-1
0
0
1
-3
2
0
0
-16
-2
4
0
0
-3
-29
-28
-8
-3
18
8
9
-25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
2
1
0
0
2
-7
1
0
0
-2
4
0
2
0
-12
-23
-41
-15
6
-14
-32
-30
-42
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
7
0
0
0
0
6
0
0
0
0
-8
0
0
-2
0
-36
-8
-16
-6
25
-11
-37
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-24
17
0
0
9
-4
1
4
0
-8
22
2
-9
0
13
-20
8
-16
11
-79
-3
1
-16
-11
-33
-81
-8
-30
-24
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
12
0
0
0
0
-13
0
0
-9
0
-29
41
-1
-4
70
66
20
-6
1
-17
4
10
-43
5
-5
33
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-6
5
-2
0
0
2
-6
0
0
-3
-2
-7
0
0
-4
-24
-38
5
-2
-45
52
46
-49
-46
69
-7
-30
-54
-99
-16
44
-32
-118
-2
0
0
0
0
0
0
0
0
0
0
-14
-4
2
-1
0
-13
5
0
0
0
-4
-15
10
0
0
3
-39
-13
23
-17
4
-12
-36
-49
13
-53
-8
24
-69
-2
32
-38
9
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-7
0
0
0
0
-41
-4
1
-3
-20
-71
-47
-17
12
9
-16
20
4
-31
-19
-27
-3
-111
-74
-31
9
48
-23
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-29
-28
-51
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
-1
-3
0
-39
15
-56
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
8
-7
-48
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
0
0
0
1
-2
-5
0
-10
6
-20
17
-1
4
-26
-51
-36
-28
-8
-28
-14
5
-78
-46
-23
-3
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
3
16
2
15
-13
-26
-7
-9
23
0
20
6
39
10
-9
-33
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-21
-14
-4
0
0
-9
0
-1
1
-5
-35
-15
-23
1
6
-78
-41
-25
9
16
-29
-61
-14
-94
13
5
2
-130
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
13
2
0
1
-8
-2
1
0
-5
-20
-17
0
5
8
-16
-21
-23
11
-45
-6
5
-41
74
-21
23
-91
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
17
0
-3
-70
-50
-38
-23
5
-60
-32
1
-27
-8
-9
-69
-46
-17
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
14
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
2
0
0
4
-18
-3
0
-2
1
-74
18
5
-21
-16
-50
-7
-88
-12
-4
-74
-4
-53
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
12
-20
-15
-18
-9
4
-6
-56
-79
-21
-14
12
-49
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
-14
1
0
0
5
8
-24
-16
36
-54
-80
-4
19
37
-12
-103
-40
-112
-9
36
-21
-190
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-16
-3
1
6
-34
-2
16
0
-7
8
-10
-12
-6
-3
25
29
-80
-23
-48
18
-5
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
2
-3
29
-3
-24
0
9
-41
-86
-4
-26
-90
-13
-8
7
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-16
0
14
-24
1
-39
0
-58
-13
-65
-36
0
-21
-3
18
-152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-25
0
0
-7
14
-25
0
-5
2
-16
-57
0
-6
20
88
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
8
3
0
-41
-35
-73
-38
0
-5
-9
-124
-114
0
-26
-36
-19
-125
0
0
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
28
-9
-19
7
-4
-51
40
-15
5
4
26
-28
-16
4
-18
-7
13
-95
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-14
0
0
-1
-19
4
-6
0
0
-56
-30
-23
0
-53
-2
21
-18
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
26
-57
0
0
-11
-46
-30
0
0
3
-43
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-16
14
0
0
-23
-16
6
0
0
-7
65
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-9
-22
0
0
-59
0
-211
0
0
22
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
46
5
19
-30
8
-28
-52
-8
0
14
-5
-23
-29
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
44
-4
0
0
0
-84
-56
0
0
40
0
-49
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-5
0
0
0
0
26
0
0
0
-15
-47
0
0
0
-70
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
0
0
0
-1
-151
0
0
0
45
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-28
0
0
0
-93
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-22
-97
-23
-44
-5
-14
8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-115
0
0
0
-54
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
9
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-9
-15
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
30
-10
44
0
-3
28
-12
6
-44
0
49
55
-14
-41
3
52
28
-39
-2
0
-27
19
9
-2
-19
62
25
39
32
10
27
5
10
-1
10
26
29
8
-34
6
12
8
2
3
8
-39
-13
5
-4
0
-30
-33
81
9
-9
-30
77
60
-24
-7
-32
-4
-14
-32
-43
37
-68
-16
-51
-10
25
-27
23
20
6
27
-32
-1
-3
-5
1
11
-8
-8
-26
12
8
2
3
8
-62
-56
-26
-2
0
28
-28
16
-2
4
34
42
-18
-13
-2
-5
64
61
-15
13
-26
26
21
43
-24
22
24
37
1
-12
-11
8
13
40
-14
12
11
12
9
-27
12
8
2
3
8
-32
63
1
2
-2
-2
-34
-16
6
6
-1
18
6
-52
-8
7
10
-75
-4
13
-3
-50
-46
12
-56
6
-15
-1
-71
-44
4
3
-4
0
-24
-30
7
12
9
25
-11
-47
13
8
13
-21
-10
9
1
0
21
-32
-28
-13
0
-4
12
-11
-41
-14
-21
17
-1
-78
-2
-20
-26
-28
-29
11
-14
21
18
-30
-40
-1
-1
3
-29
8
-17
5
19
10
-9
4
1
4
-27
-13
22
-5
-16
-17
-1
-29
-10
-27
4
1
-28
15
17
-3
0
-52
29
35
11
-38
87
31
1
29
-1
15
10
-38
5
-20
19
19
-1
12
-13
25
23
6
32
38
37
-1
33
32
-5
22
-5
-16
-17
-1
6
-64
-2
-8
-1
-22
6
-48
-31
-3
79
-22
35
-35
-71
15
56
2
-45
-26
-16
-51
-4
-6
-32
-29
6
-29
-8
-4
7
9
6
12
2
-1
-5
-6
0
-1
22
-5
-16
-17
-1
43
-3
24
-8
5
34
-40
-60
-6
2
-32
50
35
-23
-32
1
20
48
-17
21
15
-6
14
5
-57
-3
7
7
-25
6
31
15
31
24
21
23
14
23
16
-20
7
79
-54
-1
1
5
-21
49
0
-18
-73
-18
18
23
-4
10
-43
-72
39
-4
36
1
20
-27
21
-13
17
-7
-2
4
-14
25
0
2
23
10
-6
8
-4
-2
0
0
0
0
0
37
-7
-30
-4
0
-20
4
-23
-13
-1
13
-2
-124
-52
-3
-37
-79
4
-2
1
-41
44
80
21
-51
33
-35
-36
-16
53
49
-5
46
23
-20
50
-7
2
-7
11
0
0
0
0
0
3
-48
30
3
0
-2
-20
56
-40
1
1
-4
10
-43
0
4
-4
-12
-7
-23
19
-18
4
-25
1
-48
-23
-20
-11
29
-2
-22
13
-34
-7
21
-6
8
1
-8
0
0
0
0
0
10
-99
-1
0
0
-22
-19
-27
-5
-6
-22
11
-5
-49
4
-67
-18
-23
-43
1
-22
-3
7
-47
3
14
-36
-50
-2
40
34
-10
-1
-40
32
23
7
-11
-9
32
6
31
17
9
3
0
-9
-18
2
0
-1
-28
1
4
0
-1
50
6
-20
8
8
6
-16
-9
-8
40
-4
-26
-19
-42
14
-76
-61
23
43
-23
22
-19
-1
4
45
6
4
13
8
11
5
21
-19
35
0
0
0
0
0
23
-22
44
-48
-39
55
35
-74
-47
0
-25
-13
-20
5
-1
-35
-41
18
-101
-47
25
30
-8
71
-61
37
3
19
54
37
-5
-6
-17
-13
-32
42
-6
20
19
15
0
0
0
0
0
5
-5
6
-24
-25
47
17
-21
0
0
-1
28
-12
21
3
63
26
17
-43
8
-76
0
-44
15
23
48
-8
-7
-21
2
-4
-2
-3
-36
-21
39
-1
2
-8
20
0
0
0
0
0
-5
-33
-41
-7
-29
-1
27
-46
-16
-2
1
-9
-49
-51
32
21
18
-10
-25
-54
96
-16
-38
1
-17
-19
-9
0
46
-16
-64
5
-37
-27
-26
-31
15
16
19
30
11
-56
-33
5
0
-49
45
-4
-4
0
44
-22
-24
-65
0
-20
52
-9
-4
4
22
23
-22
5
-12
-57
-63
-30
2
-44
3
-35
-23
-25
-19
0
0
0
0
0
0
0
0
0
0
-3
1
-5
4
1
-25
-3
12
-8
1
-65
-61
58
-33
1
-3
30
-11
-4
2
32
-8
-7
4
-5
-61
-13
-58
14
-23
-32
11
-27
-28
-18
0
0
0
0
0
0
0
0
0
0
0
5
-14
4
0
0
0
-48
8
0
0
5
-15
-4
0
1
4
-43
-64
5
17
21
-41
-32
-9
16
-22
-40
22
-65
10
-64
-64
-6
-11
0
0
0
0
0
0
0
0
0
0
51
-3
1
0
0
46
-5
40
5
0
41
-49
-15
-28
5
-91
11
47
12
-24
17
40
-2
37
-14
-61
24
-41
-11
-29
9
13
16
-43
8
34
-31
21
6
-27
15
22
26
8
-16
0
1
10
-1
0
2
0
39
0
2
0
0
-25
-70
0
1
-3
-25
-9
1
-8
3
23
-77
1
43
24
-14
37
-55
2
-1
27
-32
-27
24
3
6
-36
-7
9
40
-27
-13
4
0
0
0
0
0
0
0
0
0
0
-12
5
-9
-67
-16
-31
-19
-40
-23
-9
-34
4
11
8
-24
-68
-25
23
-41
-31
38
-4
-36
-13
-48
-73
-30
-22
16
-17
-15
0
17
-50
-46
0
0
0
0
0
0
0
0
0
0
-19
20
-14
-79
-10
-64
32
-13
8
8
10
-78
0
18
14
28
41
-15
-18
-28
3
3
29
22
20
23
26
-27
-88
-10
9
14
16
-11
31
0
0
0
0
0
0
0
0
0
0
-25
40
25
-94
-13
0
0
-29
21
-1
-17
-4
-28
-55
-5
-79
-57
-39
-51
14
62
79
-3
-22
36
-29
-70
-44
-2
-38
-105
2
-7
-31
10
-41
-30
0
0
0
15
5
-6
30
0
-22
-3
-20
-13
3
-13
7
1
-39
0
3
-12
-13
-26
-31
-31
-15
-57
-65
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
45
18
0
0
23
-14
-8
0
0
32
-55
-5
23
-1
5
-8
-8
-22
0
20
-36
-19
14
1
-8
28
-46
-81
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
1
0
-1
0
-26
-4
0
3
-3
4
0
0
1
-7
-57
23
-22
-36
-83
-11
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
18
0
0
0
-22
-13
-8
16
0
34
23
1
14
-2
24
7
-51
-19
-5
-9
-66
2
-32
-8
-61
-10
-2
40
-26
17
-22
-39
20
-8
30
-60
-40
-17
-32
28
42
-14
-30
-30
0
0
0
3
0
0
0
0
-33
0
0
1
0
5
-3
0
0
13
46
-7
1
-5
6
-3
-2
-9
-23
9
55
-5
21
4
-66
19
-30
3
-14
-90
-49
48
45
53
-47
45
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-8
-37
-36
11
-15
2
-40
-57
33
14
-50
-81
-64
31
19
70
-7
-31
8
6
-45
-40
-22
-88
-61
-30
-55
-51
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-54
-35
-13
15
26
-51
28
-16
-5
-87
-54
-53
-57
-1
53
14
24
22
-95
-60
-13
4
7
14
-9
-31
-32
-1
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-49
-4
-6
-28
0
1
8
-28
-19
2
-24
23
3
-1
-17
-6
-56
17
-38
-31
-32
-20
-20
-42
-38
-36
-57
-27
11
1
-1
0
0
0
1
-1
0
-6
0
-4
0
0
0
0
-4
-7
40
-66
-30
-12
-44
-26
-35
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-2
0
0
7
-1
-1
0
0
-1
1
-10
0
0
-1
24
2
1
-1
7
56
-32
-79
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
-1
0
0
0
0
1
0
0
0
0
2
0
0
-4
27
-20
5
-41
-8
11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-46
3
0
4
-6
-16
0
-11
-4
8
-40
4
0
-13
-20
5
0
-8
0
5
1
8
37
-4
-53
3
6
-6
50
18
-21
-12
-72
54
36
-55
-45
-49
31
-41
-7
-6
-36
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
-25
3
2
3
4
-27
7
12
-3
-88
-2
14
13
61
16
5
-11
-57
1
11
-4
58
33
-9
8
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
23
18
-18
-68
1
-38
-3
-8
-14
-46
-41
9
-17
-73
-110
-119
-90
-68
-29
20
-49
-15
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-33
-29
-34
-54
44
-2
-37
-4
-29
75
22
13
-42
34
-44
5
-35
-37
99
1
-34
46
-34
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-61
-26
-13
-5
-5
16
-49
13
-27
11
-43
-25
-32
9
-28
-86
19
11
-113
38
-46
-78
-40
-4
1
0
-1
0
0
0
0
0
-3
0
3
-1
7
-7
0
-68
-50
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
-54
3
-37
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
-5
-14
-8
4
0
0
0
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
0
0
0
-7
0
0
-32
0
0
-3
0
0
0
-1
-6
1
12
0
3
56
-24
-39
0
-21
5
-94
2
0
24
-44
41
0
0
-32
-77
-71
-19
0
-39
28
-11
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
4
0
0
17
0
0
-20
-51
-71
0
-45
-10
-9
30
0
26
-28
-15
-39
0
4
-43
5
4
0
0
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
-104
38
-74
0
-74
-73
-17
-54
0
-99
-92
-14
-88
0
-84
-84
-58
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
37
3
-66
-16
22
-1
59
-9
36
48
-91
39
-31
48
37
47
-82
77
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
52
-53
3
0
5
-69
36
1
0
-25
-2
-61
-28
0
-24
-42
-138
-44
0
0
0
0
0
0
0
-2
-5
0
0
-12
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
48
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
1
0
0
14
8
10
0
0
0
-21
24
0
0
-13
-34
-52
0
0
-111
-80
-9
0
0
-80
-23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-24
7
0
0
36
16
-46
0
0
35
14
-63
0
0
12
-45
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-87
-39
0
0
-66
-111
5
0
0
-83
-31
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
2
12
-15
-31
0
35
-48
20
26
-23
-65
-28
55
-133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
57
-20
0
0
27
-62
-155
0
0
-7
-1
-47
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-23
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-69
0
0
0
2
-11
0
0
0
-17
24
0
0
0
-23
-53
0
0
0
-31
-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
17
0
0
0
0
-11
0
0
0
34
6
0
0
0
-16
-18
0
0
0
-15
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-102
0
0
0
-148
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-87
31
47
-19
-4
5
75
-70
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-3
0
0
0
-85
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
5
0
0
0
0
7
0
0
0
0
13
0
0
0
0
-49
0
0
0
0
19
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
7
0
0
0
0
-23
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
57
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
75
-56
7
-3
-3
3
26
28
-45
-5
2
44
-22
-3
-3
34
-32
-33
29
-11
-5
-21
-7
4
38
44
53
27
37
58
40
69
46
7
16
40
34
42
29
50
10
36
2
18
5
-31
20
14
-27
0
-37
26
79
-2
-5
-12
28
44
-17
-1
1
56
5
-14
-28
-21
55
-5
-28
-34
40
-8
-9
6
22
55
-35
-25
-17
-41
27
10
-7
15
42
10
36
2
18
5
-35
13
-9
-2
0
-1
-97
18
-12
30
13
-8
-9
28
-24
2
44
70
-41
-16
-37
12
17
72
-1
3
38
27
0
51
4
24
16
18
-14
28
27
29
34
-27
10
36
2
18
5
49
-2
5
2
-2
90
-3
-38
11
13
-2
0
19
-67
-23
46
-5
-65
-7
28
-25
-57
-13
-42
-28
-1
3
5
-65
-16
2
15
-14
-18
-7
-35
2
4
-21
-19
6
-5
-33
-37
-8
-58
9
12
1
0
25
-40
-43
-21
-13
-10
-37
14
60
-33
-9
11
-11
-80
-16
-25
6
-6
4
34
-16
9
11
-14
2
-16
-1
12
-27
24
14
-3
19
-43
2
3
27
-4
-8
-44
21
42
4
-19
-12
-39
3
-40
-5
1
6
-24
47
9
0
-49
-5
-2
39
-45
51
-12
-13
11
-17
17
26
30
-2
-16
2
12
-7
39
-19
4
16
-18
19
32
9
-1
35
19
49
21
42
4
-19
-12
22
-14
-28
9
-1
-38
-2
-44
-19
-8
-47
-67
41
-34
-97
-23
58
-44
-62
-43
20
-31
-21
-20
-51
-14
-23
-43
-22
-47
14
3
-32
-20
-29
21
-35
-11
-1
16
21
42
4
-19
-12
43
15
25
30
5
32
9
-52
21
2
-3
12
28
-7
-54
5
23
25
27
-14
7
17
27
27
-8
21
31
2
-1
-6
39
19
9
47
-8
26
73
-36
14
81
6
64
-16
-5
1
-36
-58
48
-5
-9
-72
-46
29
30
-6
-26
-29
-40
33
-23
-38
28
-5
-44
44
-35
27
-20
57
31
-6
1
-15
5
22
25
-6
-4
-1
-11
0
0
0
0
0
98
5
2
-4
-5
-40
-7
-14
-14
-1
-28
0
-56
-26
-2
-19
-20
36
-5
7
13
-39
66
-3
-16
-27
44
43
-49
43
28
12
-35
16
85
66
-5
7
3
5
0
0
0
0
0
3
-33
24
5
0
-2
71
13
-23
1
3
-10
37
-41
-5
19
1
15
-3
-22
31
-25
66
15
7
-6
-2
9
39
-18
27
4
1
8
49
15
-26
-25
0
6
0
0
0
0
0
1
-43
11
0
0
-34
67
-1
-43
-32
11
24
0
-20
-1
-111
-64
24
-49
-6
-50
-12
-6
-15
-5
17
-21
18
21
5
53
12
12
12
-29
25
-6
-19
-10
47
-16
-4
39
13
94
0
-8
-46
4
0
-2
67
10
-20
0
2
22
3
-30
8
10
4
13
-24
3
22
-18
-26
-24
1
-75
17
16
34
10
34
49
1
6
-29
68
5
18
-11
8
4
51
76
-8
26
0
0
0
0
0
25
15
30
-42
-25
60
61
-82
-27
0
-18
28
-13
21
10
36
-38
-44
-99
-12
43
-13
-9
23
-44
13
23
-4
5
27
43
-15
-5
-9
-6
59
20
22
70
14
0
0
0
0
0
-9
25
4
-51
-7
27
41
-10
16
0
56
36
-41
15
19
3
31
-6
10
51
19
-43
-13
38
29
17
23
30
63
53
17
1
26
-18
71
25
8
48
-37
26
0
0
0
0
0
-28
-1
-47
-61
-27
-1
7
11
-10
-3
2
32
-12
-14
51
51
0
-46
-32
-77
9
13
30
-17
21
10
-20
0
12
26
38
-16
-13
22
6
93
21
28
43
39
6
-2
-8
5
0
-31
39
-5
-4
1
83
6
-10
-37
-1
8
29
68
-24
12
6
53
18
24
-13
6
-46
-1
-48
-22
-21
-63
-21
-13
2
0
0
0
0
0
0
0
0
0
0
-20
-4
-5
4
1
5
27
4
15
1
-33
-85
45
-15
2
-7
-20
-32
7
-32
33
7
63
-6
-16
-16
0
-25
-16
-15
-6
-3
5
-15
-12
0
0
0
0
0
0
0
0
0
0
0
5
-22
2
0
0
0
-13
12
-13
0
5
-26
-23
0
2
3
-29
-21
40
20
-13
-51
-33
-18
62
17
-45
13
-19
1
-40
-18
-31
-13
0
0
0
0
0
0
0
0
0
0
-8
-41
3
0
0
-18
10
-5
-17
0
12
-29
-42
16
-2
-78
49
16
35
-44
19
62
4
37
45
25
1
-25
-52
-19
20
19
12
11
26
13
-44
-8
7
-15
-19
25
82
28
-22
0
1
18
-1
0
2
0
27
-3
-2
0
0
-24
-79
0
-11
-10
-47
37
1
-9
-14
15
-11
-9
30
17
-30
-4
-12
-20
6
-17
-21
-7
6
-2
-3
34
11
25
-14
-1
8
26
0
0
0
0
0
0
0
0
0
0
-70
-8
10
-8
-62
-46
-26
-6
-21
-16
-30
34
40
28
-25
20
-30
30
-10
-56
60
-21
16
-9
-4
48
-49
20
-27
-77
11
5
10
47
0
0
0
0
0
0
0
0
0
0
0
4
-29
29
-11
-45
-35
30
-29
1
11
13
-44
-17
27
45
-51
31
51
-10
-20
37
17
-19
-15
-7
11
15
54
13
-10
-15
8
-37
50
80
0
0
0
0
0
0
0
0
0
0
-39
9
3
-49
-50
0
0
-24
19
2
-28
-7
19
-74
20
-63
-59
-10
-1
-6
-14
36
-3
-67
10
-60
-13
-27
-35
12
58
4
10
-9
18
-17
-2
0
0
0
21
-3
-7
2
0
3
6
-19
-45
5
-4
-5
5
-2
0
2
2
-21
37
-2
-26
-56
-39
-64
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
22
10
0
0
7
-11
-5
-1
0
38
-31
-6
8
-1
18
9
-21
-27
0
60
-15
-51
-3
1
43
-17
-53
-30
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-64
1
0
-1
0
5
-2
0
3
-3
-1
0
0
1
-13
-57
45
-72
1
-52
-25
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
5
0
0
-52
-47
-9
18
0
38
-8
5
-1
-2
35
53
-24
-16
6
4
-47
13
21
-9
-28
-29
-16
72
49
123
44
23
34
22
19
61
33
-8
-54
40
21
55
24
30
0
0
0
3
0
0
0
0
17
0
0
1
0
8
-3
0
0
15
33
-3
1
-15
-21
-42
-1
-2
-59
13
4
39
6
26
-30
25
-9
-37
24
57
26
4
20
29
28
32
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
8
1
-39
22
-25
23
41
40
46
5
-62
-47
-65
27
120
11
-47
-24
34
-22
-41
9
-24
-92
23
-15
2
-48
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-3
-11
30
13
50
-56
3
-10
-8
-60
-36
-45
-23
8
81
8
-28
-17
-14
36
15
8
-1
-42
36
-16
1
-14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-40
-14
-14
-41
0
-8
24
22
67
7
-20
17
-22
-4
-55
55
-1
-31
-10
-32
15
-17
-43
-11
-30
12
0
3
22
1
-1
0
0
0
2
-1
0
1
0
-4
0
0
0
-7
-4
-6
8
-58
-25
76
-84
45
-17
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-2
0
0
17
-1
-4
0
0
-1
2
1
0
0
-27
33
4
1
-1
-48
38
-60
-8
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
-1
0
0
0
0
1
0
0
0
0
-1
0
0
-5
34
-19
-1
-32
15
-32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-44
3
0
-2
-12
-6
0
15
-4
-10
-8
4
0
6
-30
-1
0
2
-41
21
36
-1
22
-23
-14
1
24
-36
52
17
80
-22
-12
49
-7
35
21
1
22
7
48
25
-6
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
-43
5
0
16
5
-47
-3
34
-7
-93
9
-8
-23
25
-7
3
-25
-41
-38
-14
-5
29
23
51
65
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-33
37
10
-22
-93
-42
-42
14
51
-50
17
-32
-30
-24
-42
-16
-51
3
-63
20
28
10
-3
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-97
62
11
-79
15
61
-35
-28
-12
110
76
43
-9
25
-20
34
-28
5
29
38
4
25
48
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-51
26
-6
-5
-6
-16
-36
-77
-40
18
-31
-57
-31
-8
-51
-30
-35
-22
-50
-13
-43
-30
-10
-50
1
0
-1
0
0
0
0
0
-7
0
3
-1
1
6
0
-5
5
-49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
-35
-67
-17
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
8
-35
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
14
0
0
-4
0
0
0
-1
-6
4
-8
0
4
36
-8
-20
0
-17
7
-58
-52
0
-9
-19
-30
-62
0
-7
34
-22
15
0
-10
-28
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
0
4
3
0
32
0
7
-23
-77
-27
0
-39
-12
40
0
0
-21
4
4
56
0
16
11
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
36
-62
0
-1
30
63
-24
0
-114
-65
17
0
0
-74
-60
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
1
-32
8
-10
-4
-2
16
-17
-4
58
-35
8
34
41
31
38
2
33
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-19
-44
12
0
2
-74
-52
37
0
-25
-21
-52
5
0
16
-34
-101
-58
0
0
0
0
0
0
0
8
-5
0
0
28
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
49
-29
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
4
0
0
32
10
-30
0
0
0
-45
-42
0
0
-12
-22
-27
0
0
7
-14
1
0
0
7
64
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
-35
-16
0
0
15
-28
-64
0
0
31
-15
2
0
0
23
-39
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-76
-53
0
0
58
-61
12
0
0
-52
-36
-4
0
0
0
0
0
0
0
0
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
39
47
-24
19
-7
13
-17
90
23
-36
-68
12
48
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-61
-49
0
0
75
-84
-71
0
0
-27
-1
3
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-41
0
0
0
2
25
0
0
0
31
-9
0
0
0
49
38
0
0
0
-24
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
-12
0
0
0
44
-21
0
0
0
-40
6
0
0
0
-41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-50
0
0
0
-95
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-15
21
24
-30
4
33
52
10
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
-142
40
0
0
0
-76
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
5
0
0
0
0
29
0
0
0
0
18
0
0
0
0
-38
0
0
0
0
119
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
21
0
0
0
0
-18
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
71
107
58
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
1
0
0
0
-2
-9
0
4
-4
0
-6
5
-2
25
0
-7
-7
-5
9
6
20
28
6
44
25
-20
-6
22
13
30
-25
22
-23
22
5
13
16
33
32
20
14
-6
-14
-6
16
0
0
0
2
0
7
5
-2
-2
0
-5
12
-1
7
-4
7
4
-15
-15
1
5
15
0
31
-9
-27
-3
-38
19
-13
-41
-45
31
-15
-3
24
-2
-21
45
-24
14
-6
-14
-6
16
4
0
0
-1
0
-1
-2
-1
3
0
10
-10
-16
2
0
38
8
31
-11
5
-33
-8
7
58
12
-29
4
26
0
-13
43
10
-6
6
-7
-21
-7
22
55
-23
14
-6
-14
-6
16
1
0
0
0
0
-1
-3
0
2
1
19
4
-5
-16
-4
-4
-23
-24
-8
12
-15
-1
19
-7
-16
-26
-6
-29
39
-25
-7
3
5
21
22
21
9
-48
24
-40
-15
-7
15
28
-8
4
2
0
0
0
-4
0
-3
1
1
15
8
6
-12
-8
16
-29
-13
-15
7
-8
6
7
17
3
12
-4
-25
25
44
-5
-2
4
20
19
-37
-9
-54
36
-20
-3
36
34
9
-29
7
-5
9
-8
-7
-8
2
0
0
0
8
3
-6
14
1
28
1
-12
13
-34
-34
21
-12
-5
7
-26
-22
-1
19
-6
20
8
17
7
39
9
55
-19
53
10
48
1
9
23
-8
7
-5
9
-8
-7
0
0
2
-1
0
-6
0
-9
7
-1
33
-30
-22
-22
-10
-3
-24
-46
13
1
-36
-50
-29
-11
-36
0
-60
-22
8
-32
-29
-15
-62
-17
-33
5
47
35
-21
-3
7
-5
9
-8
-7
1
5
0
-1
0
16
0
-2
-11
1
39
-2
-7
27
-6
6
30
-13
35
19
14
-2
19
5
-3
20
-24
47
-3
25
-13
-9
23
-26
-50
15
14
21
2
32
-1
0
0
0
0
0
1
-4
0
7
0
-2
-6
2
-3
10
-13
-4
10
-9
-32
-1
-22
11
20
-18
-39
-9
1
-18
0
-13
-16
-11
44
6
-6
-6
19
-6
0
0
0
0
0
1
0
0
-1
0
1
0
2
-2
-1
-6
-5
-24
5
0
13
-11
37
24
7
15
21
-1
6
7
2
32
6
-53
23
9
12
-17
6
8
-47
47
16
11
0
0
0
0
0
0
0
-22
0
1
0
0
3
-9
2
1
0
-5
7
-2
0
2
-18
-23
-14
4
21
48
47
4
-3
29
-15
-24
41
6
9
17
25
50
45
33
7
-3
3
4
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
9
-11
-10
-2
0
-5
-65
9
-25
-8
-29
29
0
3
15
-24
21
-27
-13
7
-1
-6
33
-43
-17
-30
8
-31
38
-36
28
-6
-45
17
37
0
-1
-1
0
0
0
-8
0
1
1
0
-19
-28
24
10
7
17
0
-2
2
-36
-4
-6
21
-8
-6
8
2
47
-15
18
1
-2
0
-7
28
3
-7
-24
-25
-1
-32
-45
41
11
0
0
0
0
0
14
-1
-6
-4
-5
1
14
-8
-18
1
4
-18
4
-2
21
39
25
-26
18
-1
-2
-9
3
-8
-1
-23
-26
5
-18
-2
35
-16
-24
5
12
11
16
-1
14
16
0
0
0
0
0
-7
-2
-19
6
-2
-4
-6
-3
2
0
-8
16
13
-3
13
-22
72
28
-30
13
13
-10
8
58
-6
-14
82
50
32
13
-4
-1
32
47
37
10
-44
-1
0
26
0
0
0
0
0
-2
-5
-5
-6
0
0
-16
-18
0
-2
0
2
-1
1
13
13
18
11
-12
-9
-17
12
-24
31
52
25
50
-27
-5
3
27
-48
-44
61
18
-22
2
17
-6
-11
0
0
0
1
0
4
0
-1
0
0
3
0
-19
-2
0
12
-1
-7
-27
3
-12
24
46
-9
-5
-18
29
-9
-16
3
21
-1
44
-8
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
1
0
6
-9
15
0
1
6
-43
-14
0
-9
0
-6
32
17
0
24
10
-14
14
-1
8
27
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
2
-24
22
0
0
0
-5
13
4
3
4
-16
-6
0
6
1
-33
3
11
-63
-1
-10
-37
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
-7
1
-9
4
5
7
19
-15
5
-7
-5
-5
2
10
-6
-13
-22
16
1
-17
0
-5
9
31
-4
-53
4
7
-40
55
23
4
57
6
22
0
0
0
0
0
0
0
-18
0
0
0
0
-10
4
0
0
0
-10
-1
0
-4
0
12
6
5
18
7
23
-49
-8
3
2
6
-13
37
2
-9
14
33
18
1
4
6
-48
28
0
0
0
0
0
0
0
0
0
0
-6
-16
-7
20
-2
0
0
-39
-11
-2
9
7
2
-2
-4
6
-19
-31
-17
-19
2
-5
-32
39
-20
-25
-22
28
2
-37
-92
-35
1
-6
6
0
0
0
0
0
0
0
0
0
0
15
3
0
6
-5
-2
-7
-1
7
0
9
9
4
20
2
-6
-2
12
-24
13
-10
-3
44
-28
10
13
88
-3
-5
-22
2
23
-19
1
-3
0
0
0
0
0
0
0
0
0
0
0
4
-5
31
9
0
0
-21
-11
3
-12
9
11
-10
1
5
-26
-29
21
-24
-27
-5
30
-23
4
10
-1
10
-47
14
11
8
21
4
10
0
0
0
0
0
0
1
0
-1
0
-1
1
-1
-5
3
2
0
1
1
0
-1
13
4
42
-10
15
-23
-56
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
2
-1
0
2
-8
-10
-2
-20
-10
-5
3
0
-35
-56
-6
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
7
-1
0
3
-2
-9
0
0
0
-2
12
-6
-20
-20
-25
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
20
0
18
16
-4
8
-2
9
3
5
-1
-2
12
-15
24
12
22
22
23
-15
9
-13
-14
2
4
40
24
22
8
53
-11
13
0
0
0
0
0
0
0
0
-13
0
0
1
0
1
-2
0
0
-1
30
0
1
6
-8
14
2
-3
-11
-8
-4
-17
27
-1
31
-21
-4
-1
33
17
9
0
2
0
3
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
27
-7
12
-8
-2
6
22
13
9
3
2
-16
8
3
-6
-11
-3
21
-30
25
12
10
13
4
-11
25
-16
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-17
-17
5
1
8
-14
-5
-17
-4
-14
-7
-13
5
9
11
-18
4
-7
-5
19
28
5
0
1
29
-1
-28
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-18
-14
0
-1
2
46
-1
-12
-24
-4
-35
-4
-7
20
-14
16
-15
-39
48
-18
32
11
6
-13
-32
-5
5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
-4
1
-5
27
-33
-4
-35
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
-1
-5
4
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
3
0
0
-1
1
-7
-4
-11
-21
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
2
1
-1
-3
-2
4
-8
2
19
0
1
3
8
0
40
3
8
-2
15
32
30
73
-3
19
12
11
64
18
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-12
0
0
-2
0
9
0
11
-3
-10
-18
-7
1
6
15
-28
-6
2
-7
-5
17
1
7
65
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
44
16
-1
-3
-13
-16
25
7
-13
11
0
-10
-5
-34
-63
-25
-29
-7
15
-12
7
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
36
51
2
7
14
5
-18
0
31
1
26
7
8
-8
-7
54
-5
-24
22
-15
-7
33
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
3
-5
-3
-3
3
-6
-49
-29
5
6
-5
-1
-1
-18
56
-5
32
-20
0
-9
20
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
-9
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-5
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
4
0
0
-4
3
42
0
-4
-2
-32
-52
0
-8
-4
3
-20
0
3
15
16
-26
0
6
-8
11
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
-18
0
1
-4
-14
-1
0
-13
-19
-3
26
0
-6
40
-24
-32
0
0
-5
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-13
-1
0
-9
10
5
26
0
-3
0
-1
5
0
-5
-1
23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-38
9
5
10
18
-10
-1
-1
0
-9
-33
-5
18
7
-5
0
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-22
5
14
0
-1
-24
-41
14
0
-1
25
-6
26
0
29
-2
-11
0
0
0
0
0
0
0
0
1
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-3
0
0
0
-15
-24
0
0
0
4
17
0
0
34
15
3
0
0
-24
-15
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-7
-19
0
0
-5
-3
-1
0
0
-8
-5
12
0
0
8
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
43
0
0
-6
15
0
0
0
9
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
44
5
-6
40
-1
-18
7
20
0
-2
-2
14
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
18
0
0
12
14
9
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
25
0
0
0
-3
26
0
0
0
4
-20
0
0
0
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-30
0
0
0
12
6
0
0
0
0
-17
0
0
0
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
-3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
12
20
-2
-1
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
-18
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
-5
0
0
0
0
16
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
12
0
0
0
0
16
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
15
-14
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
-8
0
0
0
0
12
-7
-11
-43
0
0
0
0
-2
13
69
4
-75
-5
0
0
0
5
14
83
-12
21
-5
0
0
0
-9
-65
86
-66
-7
-1
0
0
0
-47
172
7
-8
-12
16
0
0
0
-2
204
38
-28
-45
-81
6
0
0
5
137
26
15
5
-58
0
0
0
-9
23
-35
9
-95
1
0
0
0
-47
0
62
-12
-30
-27
-18
0
0
-2
0
87
-14
-49
-58
-15
0
0
5
0
63
-42
5
2
-13
0
0
-9
0
7
-53
-80
-8
-4
0
0
-47
-2
-15
-36
-47
-34
-33
-20
0
0
0
-46
-68
-96
-59
-27
-68
1
0
0
0
8
-4
-7
-13
28
18
4
1
0
0
-17
-37
-76
-92
59
8
-7
0
0
0
46
54
18
71
-11
30
2
2
0
0
24
59
19
44
41
0
0
0
0
0
28
51
-4
41
31
-2
0
0
0
0
14
76
74
10
7
0
0
0
0
0
16
-38
28
24
0
0
0
0
0
0
21
24
13
-1
0
0
0
0
0
0
16
-12
-13
1
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-9
20
12
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
25
-12
-2
-47
5
0
0
0
-4
22
14
22
-3
-17
-1
0
0
0
56
61
43
-27
20
25
-3
0
0
0
95
44
55
0
21
13
0
0
0
0
50
64
11
40
8
22
8
0
0
0
156
31
22
13
1
7
0
0
0
0
-21
74
-33
25
7
0
0
0
0
0
104
44
-40
4
2
0
0
0
0
0
4
41
-20
2
1
0
0
0
0
0
50
-4
4
-1
0
0
0
0
0
0
-1
-10
9
0
0
0
0
0
0
0
20
6
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-12
4
56
9
-22
1
0
0
0
-49
-53
-31
-20
-36
-2
0
0
0
0
24
30
1
14
-25
4
1
0
0
0
21
-7
23
57
-6
-12
0
0
0
0
26
43
64
42
-8
1
0
0
0
0
56
32
75
29
3
0
0
0
0
0
72
114
52
9
0
0
0
0
0
0
62
117
36
0
0
0
0
0
0
0
-13
63
-13
0
0
0
0
0
0
0
15
17
8
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
23
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
47
53
47
19
6
1
0
0
0
66
82
86
75
42
14
0
0
0
0
78
128
96
75
19
-1
0
0
0
0
85
116
116
8
4
1
0
0
0
0
3
90
128
44
3
1
1
0
0
0
168
80
74
16
-1
0
0
0
0
0
73
45
44
22
0
0
0
0
0
0
51
57
31
0
0
0
0
0
0
0
32
-1
8
0
0
0
0
0
0
0
38
15
1
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
75
40
-62
6
0
0
0
0
0
43
46
83
17
0
0
0
0
0
0
95
47
100
13
1
0
0
0
0
0
140
92
71
59
0
0
0
0
0
0
51
85
49
0
0
0
0
0
0
0
130
39
42
3
0
0
0
0
0
0
7
29
19
0
0
0
0
0
0
0
63
-9
2
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
103
84
31
2
0
0
0
0
0
53
76
98
19
0
0
0
0
0
0
213
25
26
-9
0
0
0
0
0
0
187
90
29
8
0
0
0
0
0
0
125
27
4
1
0
0
0
0
0
0
80
-7
10
0
0
0
0
0
0
0
42
-2
7
0
0
0
0
0
0
0
23
-7
0
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
94
-5
-8
0
0
0
0
0
0
192
72
55
0
0
0
0
0
0
0
5
-91
-38
0
0
0
0
0
0
0
88
67
27
0
0
0
0
0
0
0
18
8
7
0
0
0
0
0
0
0
76
15
1
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-31
1
1
0
0
0
0
0
0
98
8
-13
0
0
0
0
0
0
0
71
19
-6
0
0
0
0
0
0
0
24
24
-1
0
0
0
0
0
0
0
92
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
8
0
0
0
0
0
0
0
0
17
1
-1
0
0
0
0
0
0
0
66
3
2
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
3
6
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
8
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-123
-89
-132
-137
-97
-52
7
44
-7
1
-176
-158
-159
-108
-38
-69
45
-10
13
0
-19
-25
-21
-1
58
-8
-11
43
8
0
-52
-43
-19
-27
47
34
57
52
3
0
6
27
50
56
61
70
40
9
-1
0
31
54
70
57
77
99
42
-13
0
0
55
61
55
109
89
85
90
1
0
0
59
59
60
72
109
68
5
2
0
0
98
62
42
7
8
40
1
0
0
0
105
70
61
66
13
23
1
0
0
0
40
110
-3
97
76
1
0
0
0
0
50
63
36
28
-10
1
0
0
0
0
-5
68
50
-15
1
0
0
0
0
0
11
53
25
-14
0
0
0
0
0
0
-45
3
34
-3
0
0
0
0
0
0
1
10
1
0
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-48
-44
-1
-12
19
22
22
0
0
-89
-72
-39
56
2
-10
40
12
0
0
8
42
70
58
11
156
27
-2
-3
0
27
57
90
83
62
69
8
-23
0
0
47
103
86
31
87
114
64
13
0
0
60
111
64
63
164
78
60
0
0
0
100
38
78
50
52
42
43
0
0
0
138
62
123
131
88
-24
8
0
0
0
55
58
57
99
58
30
0
0
0
0
44
132
54
-3
42
-7
0
0
0
0
-35
-6
-16
88
41
1
0
0
0
0
95
113
-7
-13
-4
-1
0
0
0
0
-22
43
-5
16
0
0
0
0
0
0
-10
3
-41
-3
0
0
0
0
0
0
26
-5
29
-1
0
0
0
0
0
0
4
9
-4
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-55
-46
-26
106
-1
48
2
0
0
-107
-21
15
40
51
-49
24
1
0
0
6
23
34
55
-3
62
14
0
0
0
1
29
76
66
67
19
24
1
0
0
56
65
84
54
69
42
-1
0
0
0
106
103
151
178
30
65
-3
0
0
0
47
73
126
96
45
7
0
0
0
0
98
89
139
16
56
31
0
0
0
0
52
118
29
8
5
0
0
0
0
0
136
47
119
74
16
2
0
0
0
0
-6
113
31
6
0
0
0
0
0
0
24
41
22
-24
0
0
0
0
0
0
-17
42
30
0
0
0
0
0
0
0
40
7
10
0
0
0
0
0
0
0
24
-10
0
0
0
0
0
0
0
0
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
13
54
18
107
71
12
0
0
0
-10
24
-21
47
75
89
-4
0
0
0
77
75
80
134
202
29
3
3
0
0
103
92
76
108
50
11
-24
0
0
0
105
125
128
110
84
70
12
0
0
0
163
166
84
72
0
29
1
0
0
0
107
47
69
53
-19
9
0
0
0
0
88
70
118
3
42
2
0
0
0
0
74
16
86
72
-25
0
0
0
0
0
99
89
62
-42
0
0
0
0
0
0
2
26
-20
15
0
0
0
0
0
0
14
14
2
1
0
0
0
0
0
0
54
9
4
-2
0
0
0
0
0
0
25
6
3
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-64
20
-27
0
0
0
0
0
5
-32
59
1
-2
-3
6
0
0
0
48
31
48
-64
95
8
0
0
0
0
-5
33
75
84
17
8
0
0
0
0
79
32
77
15
1
-2
0
0
0
0
69
61
-33
119
-9
2
0
0
0
0
30
38
34
10
-1
0
0
0
0
0
36
56
90
-13
-1
0
0
0
0
0
83
27
-62
-2
0
0
0
0
0
0
73
0
20
3
0
0
0
0
0
0
84
-27
2
0
0
0
0
0
0
0
14
-19
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
32
-37
-106
77
-4
-4
0
0
0
37
-33
106
-8
5
-3
0
0
0
0
66
125
65
29
-6
25
0
0
0
0
96
79
86
137
5
5
0
0
0
0
105
4
119
30
-1
-5
0
0
0
0
96
87
32
15
-3
0
0
0
0
0
-9
143
53
55
-1
0
0
0
0
0
110
-17
32
9
-3
0
0
0
0
0
-30
36
3
1
0
0
0
0
0
0
26
50
10
1
0
0
0
0
0
0
-37
73
8
0
0
0
0
0
0
0
-7
-36
0
0
0
0
0
0
0
0
18
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-25
-69
-12
0
0
0
0
0
10
-8
6
-42
0
0
0
0
0
0
11
-24
59
-5
-3
0
0
0
0
0
124
20
69
15
1
0
0
0
0
0
33
62
-6
-7
0
0
0
0
0
0
1
-14
35
0
0
0
0
0
0
0
124
14
41
0
0
0
0
0
0
0
76
-9
-7
0
0
0
0
0
0
0
34
58
0
0
0
0
0
0
0
0
58
-31
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-42
5
-27
-2
0
0
0
0
0
-31
8
58
3
0
0
0
0
0
0
116
89
5
-17
0
0
0
0
0
0
12
-15
-33
2
0
0
0
0
0
0
-6
4
-17
-8
0
0
0
0
0
0
-18
-68
-70
2
0
0
0
0
0
0
57
-68
-21
0
0
0
0
0
0
0
58
43
2
0
0
0
0
0
0
0
22
-9
1
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-14
-7
7
0
0
0
0
0
0
-12
-2
-8
0
0
0
0
0
0
0
106
85
25
2
0
0
0
0
0
0
-36
-52
3
0
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
0
1
-48
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
4
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-27
38
-3
0
0
0
0
0
0
0
-33
20
1
0
0
0
0
0
0
0
57
-19
1
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
-14
1
4
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-180
-168
-84
-70
-37
26
65
-30
1
-157
-178
-117
-106
-32
-14
66
66
26
0
-73
-71
-51
4
27
38
59
75
12
0
-126
-69
-19
16
0
69
109
77
5
0
-90
-16
42
11
136
83
32
6
-1
0
4
22
66
70
47
20
26
50
0
0
-4
27
56
62
77
112
109
0
0
0
7
85
100
110
68
61
21
0
0
0
-7
32
84
113
115
65
1
0
0
0
46
109
49
117
36
48
0
0
0
0
56
45
29
45
36
0
0
0
0
0
86
64
49
94
21
1
0
0
0
0
-20
-10
-55
-20
0
0
0
0
0
0
22
90
-3
-24
0
0
0
0
0
0
-44
47
45
-5
0
0
0
0
0
0
16
14
2
0
0
0
0
0
0
0
-4
4
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-119
-120
-90
-43
0
23
49
0
0
-61
-176
-86
-60
-42
20
125
-24
0
0
31
-23
-2
72
93
133
110
-4
-3
0
-44
-46
48
114
30
85
6
2
0
0
27
32
81
78
91
101
108
63
0
0
-5
43
116
111
115
52
167
-4
0
0
1
41
61
70
32
106
52
1
0
0
39
109
86
106
105
-9
8
0
0
0
87
55
86
113
52
77
0
0
0
0
81
77
101
7
10
-9
0
0
0
0
23
33
17
78
23
1
0
0
0
0
48
57
39
-29
-4
-1
0
0
0
0
-67
-13
-37
5
2
0
0
0
0
0
-45
52
-48
0
0
0
0
0
0
0
-5
31
0
-2
0
0
0
0
0
0
8
15
-5
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-34
-55
-30
37
29
70
2
0
0
-55
8
-20
4
4
4
31
1
0
0
-4
-6
-18
-45
-1
3
8
0
0
0
-30
7
-11
30
85
27
45
1
0
0
55
-2
32
34
148
66
-4
0
0
0
43
50
58
110
102
79
24
0
0
0
52
16
85
101
88
-14
0
0
0
0
64
52
103
61
66
65
0
0
0
0
27
53
76
-24
16
0
0
0
0
0
0
50
78
110
48
2
0
0
0
0
-15
56
2
0
0
0
0
0
0
0
31
0
-41
-25
0
0
0
0
0
0
-10
82
55
-1
0
0
0
0
0
0
47
44
8
0
0
0
0
0
0
0
29
-13
0
0
0
0
0
0
0
0
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-52
-63
-6
-2
-22
-4
0
0
0
-68
-81
-23
-83
87
117
-2
0
0
0
40
-20
24
92
83
-23
30
3
0
0
27
-22
53
48
88
19
13
0
0
0
76
46
52
64
85
67
16
0
0
0
1
45
43
106
18
-2
-4
0
0
0
89
74
12
-7
65
17
0
0
0
0
27
58
107
19
82
2
0
0
0
0
-7
37
85
8
-54
0
0
0
0
0
70
79
201
-34
2
0
0
0
0
0
36
24
-40
-11
0
0
0
0
0
0
-34
16
-36
1
0
0
0
0
0
0
128
27
3
-2
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
10
12
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-88
-89
-79
0
0
0
0
0
-3
-59
-38
-25
-1
-8
6
0
0
0
85
-14
-76
-47
94
13
0
0
0
0
14
-1
-24
-40
83
29
0
0
0
0
0
-25
-8
69
33
-2
0
0
0
0
-38
4
18
167
14
3
0
0
0
0
19
24
14
75
0
0
0
0
0
0
-19
41
156
-61
2
0
0
0
0
0
25
12
-81
-5
0
0
0
0
0
0
40
61
20
2
0
0
0
0
0
0
75
17
-1
0
0
0
0
0
0
0
12
-41
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
-38
-4
101
-5
-4
0
0
0
41
-20
-75
-57
-5
-3
0
0
0
0
72
-12
-36
-48
-5
29
0
0
0
0
-10
4
-23
183
-32
5
0
0
0
0
48
49
64
100
-3
-7
0
0
0
0
-29
15
56
-20
-6
0
0
0
0
0
-44
56
7
46
-1
0
0
0
0
0
67
-63
80
2
-3
0
0
0
0
0
19
7
-22
2
0
0
0
0
0
0
63
110
9
1
0
0
0
0
0
0
-9
75
14
0
0
0
0
0
0
0
-17
-48
0
0
0
0
0
0
0
0
31
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-75
-25
-106
-12
0
0
0
0
0
-18
-37
7
-55
0
0
0
0
0
0
63
-44
38
11
-3
0
0
0
0
0
18
15
94
5
1
0
0
0
0
0
11
-65
46
-15
0
0
0
0
0
0
-14
-39
75
1
0
0
0
0
0
0
37
4
65
0
0
0
0
0
0
0
82
-17
-8
0
0
0
0
0
0
0
34
65
0
0
0
0
0
0
0
0
58
-40
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-60
-10
-56
-2
0
0
0
0
0
-32
-31
66
4
0
0
0
0
0
0
-35
15
-12
-48
0
0
0
0
0
0
3
-43
-36
5
0
0
0
0
0
0
-44
-15
-7
-13
0
0
0
0
0
0
-27
-50
-100
2
0
0
0
0
0
0
31
-58
-14
0
0
0
0
0
0
0
57
95
2
0
0
0
0
0
0
0
30
-8
1
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-31
-7
7
0
0
0
0
0
0
-13
-7
-8
0
0
0
0
0
0
0
52
63
23
2
0
0
0
0
0
0
-41
-46
4
0
0
0
0
0
0
0
-18
-6
-7
0
0
0
0
0
0
0
-2
-52
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
4
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-27
30
-3
0
0
0
0
0
0
0
-31
22
1
0
0
0
0
0
0
0
55
-17
1
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
-14
1
4
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-32
-50
-67
18
-17
19
-2
0
-10
-70
-62
23
47
36
50
27
5
0
-8
-94
52
22
130
84
22
20
1
0
-8
-51
-6
29
69
22
35
17
0
0
-5
-46
41
115
97
3
-4
0
0
0
-16
26
42
58
-17
-40
40
-1
0
0
-79
-46
37
-47
32
23
9
0
0
0
44
13
5
7
-25
37
24
0
0
0
29
-22
11
72
3
6
1
0
0
0
17
15
-1
93
-6
18
0
0
0
0
45
-22
16
0
-25
0
0
0
0
0
58
40
-24
55
-17
0
0
0
0
0
-29
-44
-62
24
3
0
0
0
0
0
-14
35
13
-8
0
0
0
0
0
0
-24
9
41
-2
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-16
-13
-10
36
40
-2
2
0
-9
-67
-90
-35
41
61
57
17
0
0
-15
2
-56
9
66
30
-7
5
0
0
-29
2
44
10
79
37
-13
21
0
0
47
20
11
-10
33
-6
77
20
0
0
-1
42
27
-42
-11
29
48
-2
0
0
-42
-12
-33
11
29
38
6
0
0
0
-27
21
-2
-10
7
27
6
0
0
0
21
-16
12
-34
14
10
0
0
0
0
-14
-3
1
-16
-60
-14
0
0
0
0
19
-30
68
36
-1
0
0
0
0
0
-53
-53
-1
11
-5
0
0
0
0
0
10
-83
36
2
4
0
0
0
0
0
4
4
-14
-3
0
0
0
0
0
0
-3
-19
28
2
0
0
0
0
0
0
2
10
-5
0
0
0
0
0
0
0
0
-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
-2
5
-62
-78
-2
4
0
0
0
-2
-43
-39
12
30
-1
15
-2
0
0
-13
3
-64
92
-32
22
-5
0
0
0
-2
-16
16
-26
-1
21
-7
1
0
0
-14
4
4
102
98
5
-1
0
0
0
13
-55
41
11
15
48
-9
0
0
0
-3
-40
6
-4
67
-4
0
0
0
0
46
13
39
42
-16
5
0
0
0
0
-38
-44
17
-5
14
0
0
0
0
0
0
23
-4
-8
22
3
0
0
0
0
17
17
4
-9
1
0
0
0
0
0
-10
-9
-14
-16
0
0
0
0
0
0
-25
-11
12
-1
0
0
0
0
0
0
-13
-8
1
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
41
-61
-88
-15
6
0
0
0
0
8
-14
-11
-65
-6
27
-2
0
0
0
-4
13
-60
54
4
-25
14
2
0
0
12
7
-46
13
69
-16
-7
0
0
0
-23
8
-32
22
-4
33
2
0
0
0
-13
9
11
39
75
6
1
0
0
0
-41
-40
4
12
26
-3
0
0
0
0
21
-28
23
-24
8
-1
0
0
0
0
-52
30
25
29
-19
0
0
0
0
0
-18
0
22
-19
-13
0
0
0
0
0
20
25
45
14
0
0
0
0
0
0
-59
15
-23
2
0
0
0
0
0
0
-15
21
0
-3
0
0
0
0
0
0
12
5
4
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-28
1
4
2
0
0
0
0
-1
10
-15
32
-7
-2
4
0
0
0
-14
12
-84
9
12
3
0
0
0
0
-22
-24
14
-60
4
-6
0
0
0
0
-24
-26
-17
15
14
0
0
0
0
0
-11
-41
-18
13
5
3
0
0
0
0
24
35
22
53
1
0
0
0
0
0
4
9
35
-4
0
0
0
0
0
0
-20
-43
-39
0
0
0
0
0
0
0
16
-16
-8
0
0
0
0
0
0
0
8
5
4
0
0
0
0
0
0
0
-8
-6
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-43
-15
4
0
-2
0
0
0
0
-2
-15
-36
-17
-1
0
0
0
0
4
-7
3
43
-1
1
0
0
0
0
3
-41
-17
-19
-5
3
0
0
0
0
0
45
-51
12
-13
0
0
0
0
0
2
-32
26
-17
-4
0
0
0
0
0
-13
-12
51
16
0
0
0
0
0
0
-26
23
-15
3
-3
0
0
0
0
0
18
-13
-13
0
0
0
0
0
0
0
32
20
3
1
0
0
0
0
0
0
9
8
-1
0
0
0
0
0
0
0
-4
-24
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
0
0
0
0
0
0
-3
-2
-10
1
0
0
0
0
0
0
0
10
-1
12
-1
0
0
0
0
0
-2
29
28
0
3
0
0
0
0
0
-6
-58
-4
-9
1
0
0
0
0
0
-25
1
23
0
0
0
0
0
0
0
0
19
12
0
0
0
0
0
0
0
-7
-8
-1
0
0
0
0
0
0
0
0
13
2
0
0
0
0
0
0
0
13
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-6
0
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
0
-9
9
1
-38
0
0
0
0
0
0
-3
-8
13
8
0
0
0
0
0
0
4
-8
9
-7
0
0
0
0
0
0
3
-10
-14
1
0
0
0
0
0
0
27
-43
-16
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
-51
-114
82
-32
-107
-2
0
-51
-71
25
-40
11
10
-60
34
-12
-18
-36
-35
24
-89
-64
-100
-19
-7
-3
-7
-10
-10
12
-33
-5
-75
-51
-25
-3
-15
-37
-26
-36
28
-68
0
13
-10
-25
-21
-23
-5
-27
-38
-5
-45
-23
-20
-27
-27
-18
-22
-13
-5
0
-6
-14
-18
-30
23
-9
-56
0
0
-40
-27
-33
3
-43
25
-3
0
2
18
-45
-5
-12
-37
-29
-9
0
-39
14
-129
-11
1
-3
-5
-1
0
-1
-27
-19
-19
-18
29
8
0
0
-9
-28
29
-7
-9
1
0
0
0
-5
-17
-28
0
0
-1
0
0
0
0
-2
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-33
-73
-8
70
-28
-26
-38
-3
70
1
-3
-6
-70
-58
23
-33
-51
-9
-16
-45
-27
-11
19
-28
-80
4
26
0
-19
3
-23
-5
-17
-25
28
-11
4
-14
17
11
-7
-53
-15
-43
-4
-15
8
-3
-14
-4
27
12
-75
-10
-31
-18
-23
-49
-22
-23
-15
-43
0
-1
-7
-17
0
-16
7
-27
-27
0
-16
-15
3
-64
37
55
-28
24
-104
-100
-8
4
-9
-48
13
-41
-1
-50
10
-49
-111
3
70
-51
20
-2
-49
-31
9
1
-42
92
1
24
8
53
-7
-39
-61
28
19
-3
9
0
26
-61
-17
19
-39
20
-5
17
4
-3
-47
43
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-17
-12
53
-73
15
20
-49
-3
49
-28
-27
23
12
-34
13
-20
-56
-3
-5
-14
53
5
62
-2
-11
22
35
0
3
31
-16
27
-12
24
-29
30
-3
-15
-31
-18
-48
-40
44
-31
-23
17
-10
21
-46
14
-27
52
-85
24
36
6
-27
-5
4
27
5
-53
0
-12
-11
-38
18
54
0
-52
-40
0
-63
-12
-38
11
-28
-84
-9
6
8
-19
-33
-24
8
0
32
-50
-1
-113
-26
36
-29
-12
11
6
14
-2
-86
26
3
6
-13
-5
-21
32
8
52
12
-7
-38
-8
30
-49
5
0
-15
-23
32
23
-11
3
-34
17
4
7
-68
37
22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-33
50
-9
-49
-28
0
0
0
-50
20
11
10
-30
-44
-22
-19
0
39
62
85
-11
51
45
3
7
-3
68
3
-5
8
-140
-37
-73
8
-8
-65
-4
-27
4
-75
44
-12
-30
-15
96
6
11
-93
20
46
1
-35
-18
25
4
-5
-55
-4
53
18
-33
-4
0
4
20
52
6
2
-5
-42
-8
0
-36
61
5
-20
35
-28
-29
1
57
72
-48
16
42
-17
-6
-9
0
-50
-8
40
18
34
9
13
-2
-1
4
16
-13
2
-4
-23
-12
-1
0
-5
-8
-26
16
2
-8
0
0
0
-5
-3
-6
8
-1
-1
0
4
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
59
27
29
74
11
-67
13
0
15
22
84
34
7
131
-77
5
6
-18
-1
37
45
26
41
34
5
-13
-15
-13
-26
-13
2
-2
-2
-68
-18
-46
-16
-42
-19
0
2
-27
8
-6
-31
-7
-17
-11
-16
-27
42
-15
-14
0
-3
-16
-17
-11
-33
-97
-27
-10
0
-9
-25
-4
-43
-65
-36
-73
0
0
20
-15
51
-19
26
-13
-16
0
0
-28
-24
41
-5
8
-1
0
0
13
48
56
-5
-1
-9
0
0
0
-13
2
12
47
-7
-16
-1
0
0
-31
-43
21
-12
-2
0
0
0
0
-4
7
-1
0
-4
-4
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-59
-50
32
31
67
-81
40
-2
-17
-5
27
-27
-1
41
-90
-24
-5
-45
-8
29
3
51
-2
-28
41
-59
-8
15
11
3
-3
16
18
87
-52
-12
-32
-12
2
-11
11
-9
-74
-18
-24
-29
-20
-15
-7
-22
-61
-69
-65
0
-31
-11
-2
8
-11
-4
-13
-49
0
-18
12
0
-20
22
-62
-129
-29
0
-4
-8
3
-20
39
-25
-69
0
0
44
64
-1
23
2
8
5
-2
33
18
33
20
41
-25
-58
5
-1
-51
72
-30
44
14
1
-15
2
0
-60
-126
-59
39
74
1
9
3
0
28
9
-96
-47
-56
40
-16
0
0
0
1
-12
-14
-5
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
39
-18
32
-32
-5
-5
-1
-2
-42
-31
10
-36
41
-48
41
-41
6
38
31
-14
12
-32
49
-41
100
-38
17
32
60
20
8
38
33
-2
-48
64
54
23
23
-5
-6
23
31
-12
5
6
-8
34
4
51
-6
34
-36
0
9
15
-5
25
19
-47
-28
-53
0
-26
-29
39
68
-54
-66
-12
-25
0
-13
-9
23
77
75
-1
-46
0
0
-5
12
21
-38
59
-15
-21
-2
24
-4
-3
49
-64
-68
-47
5
-1
-37
112
-55
36
-43
63
-21
2
0
-32
-88
-20
-61
93
-65
11
3
0
-13
-15
-19
-34
-36
1
-29
0
0
0
4
-26
0
-5
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
11
-31
35
30
-4
0
-1
-59
-36
25
30
51
7
-7
4
37
47
70
-23
7
-40
-43
32
-16
61
70
54
15
13
-44
-12
-11
-5
-11
38
-27
7
68
-9
-49
-10
-1
25
56
-20
-87
-49
28
6
-16
6
0
115
8
111
-51
-39
-19
-53
-8
0
-3
-12
92
-11
34
6
14
-1
0
-36
7
10
6
-3
-31
-1
0
0
64
-16
47
-10
-11
-28
3
0
-24
-92
19
-10
44
-18
-2
0
0
-6
7
-7
50
9
-3
2
0
0
-13
-18
-21
4
1
-4
0
0
0
-3
5
0
-3
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
-18
-20
-24
-22
-17
-11
-6
-2
4
9
11
8
5
0
2
-21
-13
-45
-29
21
-17
12
-13
20
4
5
28
25
13
45
53
39
44
-91
-200
-120
-72
-60
-54
-43
-26
-17
-10
2
6
8
17
25
29
9
-12
-14
5
-58
-22
-46
-26
-24
-13
-1
-12
3
4
12
20
8
30
69
-92
-17
-16
-43
-15
-44
-28
-23
-32
-4
8
8
42
30
23
112
72
-12
-67
-24
-37
3
3
-17
-14
-29
4
6
1
-4
4
10
71
17
-10
19
-77
-70
26
-20
1
14
4
-57
21
7
68
46
24
35
-28
1
-13
-3
-91
15
-17
4
68
47
-60
23
-15
34
7
72
38
3
-53
5
-26
-14
-28
27
-61
7
29
-102
6
19
-18
-19
-13
-61
54
30
10
-54
-31
2
-4
-5
-11
-33
33
52
-40
82
-36
17
-11
-9
-4
-60
-34
31
31
82
-34
-7
-9
6
6
-28
14
13
10
54
-16
-17
-4
5
14
-41
-21
78
22
59
-28
3
-2
-3
4
28
-1
-2
21
94
-41
-10
-9
0
-10
-13
39
42
-16
13
-30
-1
-10
1
-7
-25
24
48
27
56
0
-5
-11
-7
-23
-18
42
-21
-10
4
-24
5
-7
6
2
-17
23
42
37
-1
68
6
-11
-7
-2
-18
38
40
-25
17
6
1
-7
5
3
-28
10
28
38
46
27
-4
3
33
47
-22
21
-30
81
3
-16
-1
-3
10
-1
-31
7
66
-2
22
16
-22
22
25
47
107
-18
93
13
6
-48
6
-10
2
3
26
10
1
-15
-36
-65
-5
-5
73
13
74
33
-8
30
19
29
1
-19
-3
-12
21
13
-46
-4
29
-22
-2
-5
-18
-27
-63
20
14
-5
-26
2
10
-28
-13
-19
7
8
48
25
34
-14
-13
-17
-18
-6
-1
13
13
-7
26
-17
-2
-13
-11
-13
-26
14
-1
16
38
-2
-4
-15
-25
-19
3
30
-17
16
19
3
-9
-6
-13
-5
-11
-4
27
11
36
35
-12
-4
-12
-3
8
-3
13
14
57
2
-4
-11
-1
-1
46
7
5
7
16
22
7
-16
8
-2
0
-10
10
10
19
10
-1
-7
-12
7
21
16
-4
-12
17
6
5
-9
-12
-25
-2
7
21
-2
4
1
2
-1
-14
-20
-4
15
12
14
-10
10
-1
3
-8
2
17
-4
-16
46
42
39
12
14
-6
-5
-19
6
16
5
-13
52
15
-23
-28
18
13
14
-12
39
19
10
17
-2
2
-3
9
1
41
33
-25
55
-2
12
25
-12
56
7
23
28
-29
17
51
-13
-36
-58
-11
28
-38
11
9
-21
6
-32
-18
-21
-21
-5
39
-27
26
-11
-1
23
19
-15
25
14
-17
54
34
6
2
3
-25
-5
15
7
0
19
62
-5
12
-29
2
-10
-36
-8
-55
41
58
-4
-1
7
-19
21
-7
12
5
-18
18
6
2
16
12
-24
-24
-5
12
11
6
13
24
22
-4
-5
17
1
0
22
11
-14
3
12
6
-3
-27
-7
34
17
50
22
-7
-16
7
-3
-6
15
18
17
-11
-8
-6
0
12
22
-17
2
29
16
15
28
25
8
10
-6
-24
14
-16
42
7
-18
-11
10
-3
7
-9
-2
21
2
-18
17
14
-6
28
30
-40
30
8
8
38
14
3
-16
5
26
-3
12
21
-24
3
-10
9
24
24
-41
0
-3
9
8
36
11
14
-28
1
13
15
38
-15
5
19
14
-28
5
6
16
13
-17
-8
-4
44
-26
-9
-9
-24
-9
-78
-48
-20
-8
6
-59
-33
7
13
-20
-24
-55
-41
37
-10
-14
24
-23
-32
-6
54
-27
7
-20
5
-10
-44
42
63
-8
-60
-11
28
52
5
-29
-41
15
33
71
-63
18
71
38
6
-22
17
28
-1
18
-25
7
-7
49
-6
-4
16
22
-18
16
23
0
6
48
0
39
3
-47
-37
51
26
-11
32
-7
36
-23
34
0
4
6
18
-11
-37
41
1
23
-53
-11
18
61
47
0
33
-13
-77
7
5
-21
13
17
41
-11
-33
31
13
-7
59
-4
-47
-14
63
9
-29
-50
38
-23
-40
-20
47
48
7
21
14
-23
-28
-9
17
12
33
-2
-18
29
-12
46
11
-14
-34
28
28
-41
-13
24
17
-1
-27
-30
43
-13
-11
20
-9
-53
19
15
-2
47
33
-18
10
-24
-29
6
20
28
-4
-13
-3
-7
-6
-41
-7
55
13
0
10
74
-2
-1
141
14
-9
-56
6
-48
59
0
-35
5
7
-95
-7
-54
-2
-3
53
1
10
-36
-16
19
16
-24
36
28
-5
-31
23
44
-32
-73
-99
9
-64
-24
18
13
3
-40
1
-32
101
-25
-2
51
38
28
-73
-55
-16
-9
-9
9
-53
-30
-13
0
2
-31
-4
44
-9
59
4
-10
-14
-14
26
29
15
6
37
-22
1
-20
-9
-56
22
42
47
-17
8
-19
24
26
-30
23
13
-20
-14
-90
-11
-25
-2
18
-1
21
-44
-1
-6
-18
0
-17
35
24
88
-44
-10
-25
-14
-1
2
-10
23
22
-4
43
24
57
46
13
44
98
-40
35
-50
-40
-1
-12
-13
17
-18
5
41
26
60
-3
-72
56
-9
39
31
27
-1
-16
9
30
-4
0
12
-8
35
0
19
-15
27
15
8
41
38
-3
-21
-14
15
6
-23
5
17
-27
-12
25
53
45
120
37
3
22
19
-20
-14
-6
10
83
-3
12
-1
-3
0
28
10
40
20
18
4
12
35
1
68
-1
29
-43
-17
-21
12
-8
-5
41
31
22
40
0
-15
10
-39
-8
1
13
29
69
-1
17
-9
30
-14
-27
-38
94
19
92
-9
25
-1
40
15
4
18
-19
-28
-9
5
21
22
-5
4
14
-4
95
64
11
46
49
13
-5
11
103
-6
25
-36
7
12
26
13
27
45
10
-2
-88
72
16
-10
36
38
22
-15
45
-4
1
32
31
12
53
22
62
23
-12
-56
0
-1
7
12
3
2
-10
-14
-8
-8
-49
66
29
-13
-7
-1
63
13
-63
9
25
12
-44
-29
-18
39
11
44
-16
6
41
1
-4
-47
55
63
-6
-8
-19
-20
-5
-18
-65
6
-30
9
27
-39
-12
3
-41
-6
61
-13
-40
-33
-75
0
0
-23
-23
22
-53
17
-18
-33
-9
-17
-19
-24
37
47
-77
48
-13
-14
-5
-10
-39
12
10
7
19
3
9
36
-48
22
27
-35
52
-24
30
15
-11
-13
-14
40
-58
-6
6
53
29
-1
-19
-16
53
13
-70
-22
4
-6
11
-12
-34
60
29
23
-27
-4
37
-20
-52
-49
6
1
23
-27
14
-5
-21
-8
-16
5
9
1
11
66
-37
-21
78
-56
28
74
-3
-7
9
3
-5
-13
-23
31
14
15
-9
26
42
-3
-38
-2
-1
16
-37
-29
-16
2
1
-6
-17
23
10
17
-18
8
-6
17
-48
41
17
-6
9
2
-12
-12
-17
2
-14
32
29
10
-17
-15
54
-16
52
41
25
25
62
22
15
14
-18
-19
-5
4
5
25
28
-24
24
-3
-8
41
9
5
-70
-2
-18
13
-12
-1
5
25
26
2
-42
44
-26
-7
60
36
21
6
-60
-31
3
6
-8
-7
-1
21
13
11
1
37
0
-16
43
-28
14
-15
-3
-21
-9
20
20
-13
13
11
-6
-35
4
24
22
23
58
15
11
28
-75
-5
-13
23
-9
3
30
14
71
17
49
-4
34
15
5
-2
14
-53
6
91
-9
12
-83
-19
4
4
-34
38
64
25
34
-42
45
-17
3
3
16
5
6
22
8
-17
28
-12
54
-14
29
3
73
33
62
7
2
-27
60
18
14
29
-18
-15
75
10
0
-15
29
-13
-1
149
-6
-31
43
0
-62
23
26
-6
-25
44
-1
29
29
-3
-11
-13
24
4
77
53
-103
40
72
47
0
-6
-54
-31
-57
-82
49
-43
26
-40
-35
41
-1
-85
-27
-58
-12
31
-20
-6
-79
20
-25
-38
1
-40
14
9
-56
12
-18
-11
-25
5
98
39
-8
6
-35
-45
-13
-14
-9
41
33
-53
54
8
-41
11
-16
0
-32
-9
34
-6
12
1
16
6
-6
18
25
-7
-9
-41
27
-9
8
32
7
30
19
13
1
-22
-38
5
44
0
26
39
46
-39
-5
-6
39
-33
22
-41
-13
16
8
7
32
20
20
4
52
-21
8
11
-49
-14
24
38
-26
-13
42
18
-3
-46
-45
-4
34
-1
11
86
-14
8
-23
-51
-1
27
10
15
34
-13
52
12
-14
1
39
10
25
-7
44
10
8
18
17
24
49
-66
-14
13
38
21
-8
4
19
32
36
71
-28
-8
-19
3
25
8
25
-30
23
-1
-38
19
5
2
12
32
31
6
-29
16
-25
-14
-10
4
7
-4
4
16
12
11
5
21
7
15
47
-25
-7
50
39
47
33
34
98
-7
-13
-5
-3
1
-49
-3
12
44
22
9
47
-59
28
-27
27
-9
-23
-50
-64
5
-47
-2
38
36
-9
46
17
40
-34
-47
-63
5
23
29
-28
16
-27
-13
97
27
14
19
-15
33
-23
-8
31
82
-5
20
17
-22
-67
-6
26
-31
90
6
29
32
-62
-33
-23
10
87
63
21
-13
57
34
-27
5
-21
-39
-48
-20
44
25
28
3
-71
33
44
-9
1
-1
46
-29
-11
5
-20
-56
37
-19
91
1
-10
9
-54
-14
133
-28
22
34
-12
-3
50
-7
-14
56
65
15
-20
29
-17
4
0
53
11
45
-8
0
-9
-2
-1
-9
5
-2
-14
-16
-19
-23
-17
-7
-5
-27
-47
4
-10
-13
-5
1
-1
-10
-10
-1
-18
-25
-24
-30
-25
-15
-5
13
-22
2
-10
-13
-10
3
6
-27
-41
-2
-8
22
12
35
-17
-44
8
13
6
-5
0
-2
35
-29
-5
-33
31
33
-11
-31
39
27
-24
14
-3
0
-5
-2
5
-10
21
0
-9
10
2
23
-19
3
25
-13
6
14
45
3
-9
21
14
-1
-8
14
5
-14
6
6
7
52
-46
12
7
-34
12
-1
-14
14
0
19
-11
-24
20
-1
0
-3
24
9
15
27
-7
35
-24
6
13
3
-7
22
0
-12
-5
-13
3
-26
4
-8
54
28
8
26
3
6
-23
-4
3
-3
6
0
7
-13
28
13
-15
-34
28
-24
64
16
0
-11
20
-12
-2
-18
-17
22
-25
1
-2
-18
-3
50
34
-48
30
22
28
-48
0
8
1
-1
59
43
13
8
3
17
-30
-26
-33
21
-16
2
-23
53
15
13
8
-2
22
16
0
-29
1
8
-18
22
-19
-39
58
-41
0
7
30
12
0
0
25
31
8
-12
4
-34
-1
46
-57
-34
45
-44
46
9
-13
2
0
3
31
34
45
7
-54
-2
28
-23
-14
72
-32
-10
-14
21
-20
-1
5
0
-33
21
-16
0
0
3
23
-20
6
49
-42
36
-20
-35
-2
7
-6
-7
-13
-1
7
29
26
6
-27
-37
14
-9
-78
33
22
-21
25
-9
14
1
-3
-22
5
-6
-22
2
1
46
26
-47
6
46
-3
23
6
0
-1
0
-23
-18
-4
19
-24
6
4
5
-32
-37
37
89
-45
43
11
9
-7
-4
29
14
-69
-36
-25
-14
-22
-19
-1
-4
3
-13
6
-16
-5
-6
0
31
-18
-17
-28
-14
-16
3
10
15
1
0
31
37
16
29
60
27
-23
-29
-12
-8
-16
-6
-14
-2
-8
9
22
17
7
13
14
8
28
-43
-32
7
-4
-3
5
0
-1
0
-1
7
7
1
-1
21
11
5
5
-20
6
1
-5
-3
-4
1
3
-1
10
-4
-9
-2
21
-16
-40
16
-13
-10
6
0
-4
-3
-1
0
7
1
8
2
15
17
11
25
2
8
-20
0
-4
-3
3
6
1
12
5
-1
0
-4
-15
12
2
-96
1
-4
0
-3
4
10
7
3
-8
25
19
29
115
1
-4
-28
-2
-69
-61
-14
-23
29
14
14
13
-38
28
10
-28
13
5
0
0
-17
1
-25
7
23
5
-16
-11
-22
12
33
-6
-39
9
6
-26
0
15
32
12
-12
-11
0
-21
-23
-27
-10
19
5
11
44
4
94
25
64
-97
4
-6
-11
-16
13
-10
3
2
-21
-11
30
-14
-10
19
-47
-78
10
-8
-36
-21
-10
-4
4
-2
21
14
25
10
15
27
-13
-12
-19
-16
-33
-13
-30
-8
-3
2
-3
9
5
22
20
10
-4
-1
3
-62
-27
-38
-33
-11
-3
-1
1
18
-4
0
-5
28
9
31
4
41
-34
-63
-37
-36
9
2
6
6
2
-4
-12
13
31
23
26
-22
8
-28
-107
-90
-9
14
4
25
16
6
37
17
19
4
32
45
55
-47
-5
-17
-23
64
2
-17
27
47
-24
-33
21
78
-10
9
68
4
0
57
4
-15
-19
18
18
-1
-28
39
25
-11
-15
74
-7
-31
32
0
-15
11
29
34
0
20
27
-7
-19
-15
-32
14
-3
6
-25
13
44
-6
-20
-17
10
-9
11
3
26
3
-4
30
-12
-5
4
10
2
52
-2
30
-11
-76
14
-32
-19
24
9
19
22
29
35
54
71
54
12
0
10
14
57
64
5
-6
24
-54
-1
-42
-11
-22
22
65
-3
57
-2
-65
22
-11
9
-33
12
-14
3
-19
19
14
9
43
-8
52
2
2
101
-30
28
-26
34
-11
-43
8
10
-24
-5
3
-48
-1
-7
-59
-4
6
14
-39
-73
-23
-18
-24
-19
6
9
55
22
32
-29
24
0
-1
-63
15
73
21
-20
-12
-56
-31
-19
39
-12
38
-26
20
4
0
0
16
13
-26
4
21
-40
28
39
4
-19
-20
2
-2
0
0
0
-3
-7
12
-36
0
-27
23
20
24
-45
-26
41
16
51
-1
0
-1
0
3
6
-5
17
-4
-10
-2
5
52
-29
-3
-18
10
14
-4
-2
0
0
-14
8
38
38
13
-4
21
44
-17
-16
0
2
-11
2
3
0
0
2
-9
11
25
43
-23
-2
-46
11
12
-3
8
18
20
-21
0
-1
-6
-5
-8
3
3
58
-5
14
28
12
4
-49
2
-8
-7
0
-2
-8
17
-36
10
25
-14
-25
-32
9
8
-13
14
-5
3
1
0
-2
-13
8
4
-13
3
-6
0
-15
50
-24
16
-16
-7
-1
0
0
1
-3
8
-3
-27
5
-11
-16
8
23
-1
0
0
0
0
0
-42
-32
-26
-23
-21
-33
12
-50
41
-50
4
-37
-1
19
19
3
-7
-19
-35
-12
-42
-71
-58
9
6
-3
51
-66
-16
27
34
20
-10
-4
-17
43
-15
1
-43
10
-2
-11
-15
-39
-62
-22
56
48
-5
-6
10
-8
-46
-45
-35
2
-42
-42
7
0
2
0
-2
-34
-65
8
-49
-15
6
-14
-3
10
-111
-56
-32
-25
20
-6
0
-4
5
-71
-43
17
-41
10
-19
-13
-92
-47
-20
-30
1
-101
-51
26
6
-3
-59
-41
-48
-54
-47
11
0
-9
-3
-21
-63
-64
-25
-81
23
-5
-1
0
14
-13
13
-32
-13
13
3
-17
-15
-31
-2
-13
-3
20
52
4
-22
-8
-25
9
-4
8
44
-22
-11
-3
-13
-22
-21
30
50
26
5
2
4
-5
-18
52
18
-64
-18
-8
4
11
-10
-8
-61
-18
-12
30
-12
9
9
6
8
10
-7
-1
10
14
-5
3
-51
-65
-12
-5
-39
-12
-60
6
-10
-5
-24
39
-39
-21
-18
1
-6
2
2
11
-23
21
0
-43
-8
-4
8
7
12
-9
31
35
-24
-6
13
-9
-2
-15
12
-9
15
-14
6
-9
-4
-48
-39
7
-56
-54
-19
-26
-7
-21
34
33
62
-27
27
14
-1
-4
-4
2
5
19
32
-7
-11
-11
-11
-10
8
13
-40
73
7
-15
2
13
1
6
-16
22
0
5
4
-18
3
5
12
-37
17
-37
-84
-8
-47
-16
-30
27
-43
-6
-48
-10
20
1
7
-1
4
14
18
6
-13
-48
-11
5
-3
2
14
-44
44
29
-44
6
5
0
-3
-3
16
-13
-10
-16
15
35
-10
11
12
-25
-8
-146
-55
-2
-28
-14
72
9
-21
-9
-2
-7
-14
2
11
0
-18
39
27
-23
-50
-8
-5
4
3
-3
-33
24
0
-6
19
-20
-6
0
-6
4
-13
-13
-24
2
5
20
42
-9
33
44
-38
54
-79
0
-1
2
-27
-51
14
4
-19
-5
-2
5
4
19
4
49
21
-9
-16
-3
-6
-8
-14
-58
-7
22
-27
0
2
13
-6
11
4
-6
-14
1
-8
8
21
0
14
0
-41
-26
-46
-40
-5
28
55
-22
20
35
-25
-12
-15
-4
-9
9
17
53
-20
70
-15
-20
5
-11
-6
-9
12
-10
39
-31
-19
2
-24
4
6
50
-30
-37
6
-58
7
-27
20
25
-12
16
40
-9
-42
0
-20
-5
-22
-54
15
-2
1
1
2
3
-5
-6
37
-2
11
-14
-15
4
-9
-12
-1
-44
19
3
-6
-7
-16
-2
11
-3
-3
0
-14
-22
-11
-7
21
0
3
9
-2
-12
3
-4
29
30
44
86
8
-59
-41
-14
0
5
-3
16
33
4
18
-1
8
19
1
-6
-18
-32
-24
29
41
-18
-17
-18
24
-10
16
-2
11
-15
11
27
-17
-9
19
2
34
-30
57
6
-40
-54
44
0
-1
-28
15
3
-3
-9
2
-32
5
6
47
19
0
-8
-2
-9
-3
-8
-9
12
2
-29
-17
-21
6
-11
16
4
13
9
15
7
-1
7
-50
-15
-4
-1
-24
19
15
-30
92
-28
-19
6
-1
-3
1
-25
-2
-13
2
26
39
26
27
21
-24
36
23
-1
1
-22
30
47
76
-4
10
-2
-17
16
4
21
15
2
29
8
3
36
-21
95
10
-13
0
28
-38
-55
-16
-15
15
39
-14
35
24
-1
7
3
3
-17
-7
24
29
21
-10
-13
-13
9
-25
18
9
15
-29
-15
3
1
24
3
4
23
15
26
-6
-37
-15
7
-33
0
-21
46
8
48
-6
31
25
-30
1
0
-24
6
6
19
-8
-22
25
9
90
34
23
-17
24
-3
0
16
2
37
-19
-52
2
43
47
57
50
4
46
-5
27
4
-9
48
24
71
-33
-7
-30
-53
-42
-43
12
17
65
79
-2
37
2
4
9
-7
14
44
80
39
37
-54
7
12
-10
2
-29
1
-30
11
-34
-26
35
19
27
43
-14
38
13
12
-20
4
22
39
38
0
-27
-2
24
102
-24
-20
-77
30
1
0
96
95
4
18
-6
9
8
-5
19
0
4
-2
-18
-13
-12
-22
-4
139
39
0
5
42
22
22
18
0
29
37
72
0
-41
-30
36
-19
-88
-44
-60
30
32
50
70
-1
-68
28
28
17
25
32
-16
-22
-42
-82
100
-14
-28
-21
-32
-11
-51
1
-19
82
5
-18
41
-23
-9
1
31
-151
13
17
-21
-4
102
39
-40
-12
7
41
15
-21
13
-23
-21
38
5
1
75
8
-27
6
-35
24
-2
-16
-21
41
14
14
-53
-7
-3
24
-44
6
4
18
18
-7
-3
-48
-4
38
79
49
-4
-1
-18
-17
8
-48
15
-32
81
-10
52
-45
-53
-14
-4
-31
5
23
6
18
45
28
28
-16
-28
-49
27
4
-17
60
-40
2
-4
-16
-25
-13
-18
6
17
19
-17
4
17
3
71
29
3
-33
-69
-55
8
-1
96
7
-3
49
-59
-9
0
15
4
-30
54
-14
-25
-34
-26
-8
-19
0
21
21
32
-29
13
-33
-5
-33
0
8
3
8
5
22
-10
-26
-15
-9
4
-59
22
16
-71
-18
16
-4
-9
60
16
-39
78
34
-8
-13
21
-14
-41
-43
3
-3
21
10
-2
7
-17
12
-27
-18
-8
-60
32
-1
14
3
7
42
6
-3
-39
34
-69
-8
4
50
-20
14
19
-62
-66
21
38
29
32
5
7
-74
-17
18
41
30
-22
-27
11
33
-6
-10
15
-7
-2
1
27
-3
6
-6
20
-1
12
13
-17
31
18
-1
-2
-24
1
-35
-5
1
41
-2
4
-21
-34
25
9
8
14
18
71
38
-9
-50
8
-3
-5
19
8
72
48
-29
-55
12
-4
-1
17
9
51
9
29
-19
12
-12
1
0
37
-9
26
-50
-10
3
-23
-12
16
63
6
11
-19
31
43
-10
-27
20
3
57
-5
46
-27
11
-42
2
41
19
65
2
4
-8
2
-1
-2
-3
12
9
14
-1
-24
28
1
11
-7
33
7
-11
-22
28
1
3
-9
5
-23
18
14
-9
-12
40
29
9
-33
20
-10
131
-38
-24
48
-2
-12
18
30
66
46
-6
22
-2
6
-2
10
23
44
-4
7
8
-7
-2
5
2
45
1
14
46
37
12
3
-13
-11
1
11
9
3
7
-19
9
-1
-4
50
-3
11
-80
32
37
34
-6
12
20
5
38
9
-7
13
-24
7
9
-15
23
33
22
-67
-11
4
4
12
-1
29
8
-12
18
-14
0
4
-6
2
49
18
25
-41
-30
-13
13
4
36
50
-40
4
19
49
26
13
-12
15
129
-26
5
0
-8
-25
-6
0
6
26
34
14
-66
-8
-23
0
12
-21
21
0
25
-52
-2
19
2
1
28
1
18
18
55
15
-6
-2
-21
-34
1
54
-5
-6
1
3
20
32
-29
26
-4
14
29
14
1
-7
-3
-17
-4
-1
33
-11
12
-6
-8
-5
-4
28
15
34
-16
-29
-14
-5
15
20
116
-1
-16
75
-58
-18
15
12
22
80
49
-19
-4
-76
49
-17
-5
46
45
-15
0
10
20
-27
-25
5
17
11
24
21
-18
-24
-48
-30
9
-6
-19
25
32
7
0
-47
7
3
5
-5
49
-10
-45
37
-22
-30
-18
44
-12
1
38
-15
-5
37
-6
-16
33
-76
43
8
42
1
11
-20
-2
11
81
-21
3
84
-10
6
1
-9
-19
10
-13
31
0
-3
7
-20
33
29
-58
26
55
1
72
47
-44
55
-16
3
46
38
29
-4
42
-28
15
-2
5
15
21
-10
10
33
-20
25
30
47
-30
-49
11
40
40
30
-24
18
6
12
20
-2
-21
42
0
36
-19
32
36
-17
4
-27
-36
10
51
65
-21
-3
-15
46
37
96
-68
35
73
10
19
64
45
50
6
8
2
-3
-40
79
11
20
-5
-41
19
2
4
9
0
-41
45
10
12
-1
71
7
43
39
52
7
-27
-77
0
-22
36
-68
102
0
10
-17
41
25
23
7
-19
20
8
1
18
15
-6
0
-9
-56
46
-13
41
37
-4
15
30
40
49
9
3
1
-24
7
8
18
40
111
6
-25
5
5
16
-2
10
-12
0
22
45
54
21
22
10
-47
-42
84
0
30
-42
60
-57
-1
15
-21
5
-65
0
-59
47
13
49
14
31
25
5
58
0
39
-73
-21
14
17
11
46
-47
-5
0
-69
24
9
30
16
-12
7
-10
-37
74
36
-27
-13
76
14
-50
10
69
-9
27
-46
-23
44
23
-18
29
-20
-2
10
-103
59
-26
-63
22
24
-3
15
-10
23
-5
2
-12
-17
3
12
-18
-4
-13
1
24
-48
-32
-8
14
2
-1
6
2
57
65
-49
-42
17
7
2
-7
-38
110
13
51
14
-42
-47
-49
-58
-38
-32
69
-13
-27
23
0
34
-23
44
72
36
-13
-39
-63
30
-44
-3
16
35
0
7
-37
-28
-15
54
41
-59
61
-13
42
27
-66
-15
12
14
-59
76
16
17
-7
-43
-20
-13
4
-1
-28
1
35
23
33
-63
-10
22
21
-27
-44
94
-11
16
-34
-46
22
15
-31
50
14
31
2
-1
23
-22
-14
104
-1
-31
2
-4
-44
-48
7
27
32
-16
-18
-24
47
23
16
-36
22
47
32
56
-60
-23
-30
21
-38
-31
23
-26
47
45
6
-33
7
60
-35
-22
-32
15
27
-5
56
-21
-54
5
21
-20
-26
3
13
20
-43
25
10
-29
5
-27
-1
39
-7
-52
27
-19
44
28
-12
-70
-11
70
12
28
-9
-68
20
64
-3
7
35
-21
18
-25
-9
-81
23
-41
74
-9
23
40
14
71
-50
1
11
25
-2
-2
13
-18
22
50
7
-18
13
-22
21
9
6
42
-14
22
-53
15
-34
0
3
-39
-26
-53
40
9
4
25
4
18
46
-67
-27
-39
27
67
3
9
23
-9
25
-16
6
8
26
-5
20
0
10
49
-36
-8
30
28
-2
-1
-19
6
28
30
-5
-27
24
18
21
-10
7
29
2
-43
11
6
7
22
-13
6
12
35
-1
36
-72
16
12
1
-65
-5
-8
60
-6
-24
-2
45
19
-12
33
-88
19
1
31
-11
30
5
9
17
-50
0
-15
8
6
26
1
24
-33
44
-18
-31
-7
-24
-15
23
108
68
-70
-3
19
-4
10
-31
28
-52
-58
-6
-12
-6
11
20
-4
18
-35
0
1
23
1
2
-13
23
0
4
5
35
-31
47
-10
-17
20
12
8
22
1
-2
-6
-32
-37
-24
30
65
-21
-4
-28
-22
-2
0
63
-16
61
7
-21
-5
-6
-21
59
-9
-32
9
10
-43
50
-34
29
11
3
-19
15
-30
5
23
54
42
-5
-10
4
-44
-43
45
18
35
11
-96
6
-20
68
-3
-28
30
11
5
-18
-10
3
26
32
-13
4
-4
-21
-17
9
-12
-18
-3
-6
19
-2
30
45
8
-23
19
25
12
26
-13
16
-21
2
23
2
67
67
-58
1
-49
-14
66
-38
47
12
5
25
0
32
67
-54
20
-79
37
43
44
-9
13
1
6
-21
-9
-54
77
12
-7
57
-60
27
20
41
-15
36
3
-12
75
14
16
-15
13
23
-34
39
24
35
29
25
-37
-72
-17
68
-24
-55
38
-51
26
2
26
24
63
-37
-31
59
-4
7
-14
-29
35
8
-8
25
-30
-13
71
-43
-5
33
-42
44
13
43
-26
23
-37
-10
22
-52
23
1
42
-16
12
-8
55
18
-6
-27
-5
-58
37
75
-29
26
54
-21
24
14
-1
-40
39
-15
-48
-2
-3
-86
61
25
88
-39
5
-28
2
-3
-34
3
-45
6
0
48
102
7
13
12
-27
-5
-54
-4
38
58
-13
36
0
53
-61
3
7
-46
38
74
-25
21
17
8
-74
9
-77
7
-28
-31
-9
1
82
51
-74
65
-26
-26
-34
-2
35
34
-31
68
9
26
-26
39
59
26
8
-31
-25
12
-15
-5
20
-25
-9
-7
18
49
-6
-13
29
41
-49
59
-22
-42
-9
-9
2
63
-45
-14
5
52
29
-24
-17
-5
15
6
-41
53
68
-15
1
-88
38
31
39
-35
-6
-45
-6
4
25
-42
-26
26
-7
-1
13
6
46
-23
-48
46
27
60
-13
1
-1
15
28
-8
25
-85
56
-90
66
3
71
28
-64
91
54
17
-13
-6
45
-19
-45
18
37
65
3
-5
-24
-16
35
-9
-58
0
-35
73
34
-13
-98
-59
84
11
23
0
-43
16
9
-7
18
10
-3
-23
-12
0
11
-33
0
70
-13
-3
40
-69
-1
0
-45
12
5
65
-7
30
-20
-3
38
0
30
40
-38
-37
2
-14
-1
0
0
-2
0
-2
1
11
-6
2
-2
4
6
1
-4
-2
0
0
0
0
0
0
1
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-4
12
-2
-5
-12
18
-14
3
-3
0
0
-2
-1
-6
-12
8
-4
3
21
-1
0
0
0
1
0
7
1
4
-6
-3
16
-4
-6
10
6
-7
1
-1
-13
0
1
1
0
1
0
-2
1
2
-3
-9
-3
2
-7
13
19
0
-8
-19
36
3
-15
-2
1
1
-5
7
-5
-12
9
-12
3
-9
6
-3
-5
-2
-5
-4
-6
-1
-1
0
-2
-1
1
1
1
0
23
-14
-6
13
-15
25
-1
-17
-16
-29
9
-14
4
10
-7
-35
27
-22
8
18
-1
-2
-4
-13
6
21
-6
3
14
6
17
-17
13
11
16
4
-3
11
-1
5
5
-14
-3
1
-11
2
-14
-7
27
3
-1
0
-28
-3
-7
14
41
-11
-33
1
-20
-2
-32
14
-1
10
2
1
0
-4
-9
7
19
2
3
1
-5
-1
7
15
-4
2
9
3
5
0
6
-5
-9
29
12
1
-10
10
14
-6
-25
4
-9
9
-9
2
-2
-39
-11
9
34
17
-18
31
-1
16
-17
-21
5
-1
24
37
13
0
-13
-1
-9
0
6
-12
-12
6
13
8
2
-18
23
-1
6
3
-31
4
3
6
3
10
9
-1
0
-16
6
18
5
-4
7
-16
16
-12
5
-3
4
19
-2
-1
-23
24
12
-10
-9
-14
14
0
9
-2
-9
-6
27
-6
0
-8
-4
0
-3
13
-3
-25
2
1
14
5
13
-7
15
4
0
14
1
-6
11
40
-40
-22
7
-17
7
11
1
-16
10
-53
4
-6
3
-15
-14
2
-7
-9
3
15
7
28
13
-3
1
-18
29
-3
-9
0
-20
9
6
-8
10
-28
21
-21
-7
13
-1
1
1
-30
12
11
39
-19
-13
3
20
-14
-7
1
22
-1
-22
2
-2
6
-17
1
-1
23
-2
4
3
-2
-10
4
-7
-7
26
7
0
0
-1
2
2
7
8
4
2
-18
21
-12
-14
7
-25
12
-22
4
-18
0
-15
8
25
13
-6
7
-18
16
-10
1
2
13
19
-4
-3
-22
10
8
9
11
7
-1
-21
-10
21
1
-1
4
0
-4
4
-4
8
-8
-8
8
-13
-20
17
-9
50
-29
14
-2
-9
-7
2
13
-8
0
-9
10
15
-2
-16
15
-14
9
19
5
-12
10
13
17
0
4
3
-13
26
-30
4
-7
0
0
-2
-1
-1
3
-1
53
7
21
-16
21
-13
30
-23
-9
-2
5
3
-5
4
6
-17
-3
-1
-6
-11
6
-1
-1
-22
-1
12
3
17
-4
-3
-2
-1
14
6
1
-16
-4
8
0
-1
3
-1
0
-17
-10
2
19
-14
-1
-3
-21
-3
-43
35
26
32
7
6
-9
-40
33
-10
-43
-11
1
3
15
19
22
5
0
1
7
6
12
3
-6
7
15
-39
9
0
-2
0
-1
-1
7
-2
-2
5
8
2
11
5
-14
-10
14
-18
16
-6
7
0
0
0
0
-1
11
-3
-8
-8
3
5
6
0
27
-2
8
-2
6
-3
1
0
5
-1
3
0
1
1
-3
-4
-3
6
1
2
-10
19
-23
-2
2
11
17
-9
-16
-35
-8
11
-9
20
-3
1
5
-4
31
3
24
-9
6
1
-16
6
20
5
-10
-7
3
3
3
-5
15
-11
-22
0
0
0
0
0
0
0
0
0
0
2
-3
1
5
-2
15
14
-3
0
2
0
0
1
-1
0
1
-1
-4
2
-4
0
0
-1
6
10
-5
0
0
0
0
0
0
-1
3
2
6
8
-16
4
14
10
7
-22
25
17
-9
-10
6
-20
1
-11
51
11
-16
18
3
-11
0
8
7
-2
-1
10
5
5
-20
3
-3
12
9
-21
-1
8
-7
7
-12
-6
15
-8
-14
0
1
1
1
-1
2
-1
-13
2
-8
0
3
11
-4
4
-9
-9
13
-2
-19
0
8
-3
-26
16
-9
25
6
-3
-3
0
-6
6
7
21
-36
-9
-7
-4
-5
0
9
1
-2
-8
0
0
7
1
0
-14
48
-3
0
-14
-6
19
-60
0
-60
-51
0
0
-7
0
-5
0
-111
-2
0
-90
3
-94
-14
2
-93
57
0
0
1
0
0
0
-113
-45
0
20
42
35
-17
-4
9
-84
0
0
8
0
0
1
-1
0
0
35
10
21
54
-18
9
-13
0
0
-15
1
-6
0
-4
-14
0
-76
-32
60
-80
20
10
-25
0
0
-7
36
-16
-74
-39
-8
0
-30
-1
-46
7
-62
-75
-99
0
0
0
-3
-3
-9
-131
-48
0
-57
20
27
48
-45
-83
-11
0
0
-71
0
-2
5
-125
-104
0
81
51
84
63
21
63
50
0
0
-66
-11
-21
-3
3
0
0
-26
88
56
45
-75
28
-46
0
0
-101
-5
-21
-62
-93
-127
0
-73
-50
-37
-101
-111
-151
-30
0
0
-79
35
10
-75
-29
-8
0
-23
15
17
15
-16
-38
-35
0
0
-25
5
-49
-15
-55
-66
0
-18
60
47
70
12
-48
55
0
0
-16
0
-4
5
-66
-99
0
-5
71
120
59
-4
110
-43
0
0
-11
-32
-29
-31
3
1
0
-20
88
18
6
-13
-51
-23
0
0
-125
-6
-20
-69
-61
-74
0
-80
-47
30
-104
-137
-192
-38
0
0
-24
0
-1
0
-19
0
0
0
28
8
10
3
-30
-20
0
0
1
0
0
0
-10
-3
0
-84
83
26
1
-18
51
-29
0
0
13
0
-1
2
-1
-12
0
-77
66
67
30
-1
-34
-20
0
0
-3
0
0
-2
-1
0
0
-32
9
26
13
-18
-13
3
0
0
-6
-4
-2
0
-7
-2
0
-7
-18
-37
30
-63
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-8
10
3
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
1
0
0
0
0
-12
3
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-54
-108
2
0
0
0
3
-6
-19
-54
-65
-30
0
64
-31
10
2
0
0
0
42
-40
-30
-24
0
0
0
34
-6
-65
-38
0
0
0
-15
86
-32
0
-1
0
0
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-38
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
-164
-74
-29
0
0
56
-10
-87
-27
36
8
0
46
-65
-58
-28
-5
0
0
-21
42
-11
-9
-22
0
0
-30
-28
29
-41
19
0
0
-3
-41
-72
-50
8
0
0
7
47
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-30
0
0
0
0
0
-25
-3
4
0
0
0
0
0
0
0
0
0
0
0
8
-22
8
3
0
0
0
49
12
-21
-46
-9
0
0
40
-1
-41
-4
0
0
0
4
-93
3
-27
-6
0
0
-16
45
-46
12
3
0
0
34
1
-49
4
0
0
0
62
-177
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
0
0
0
0
0
78
-45
-1
0
0
0
0
36
-4
0
0
0
0
0
57
-1
0
0
0
0
0
-21
2
0
0
0
0
0
10
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-81
0
0
0
0
0
14
3
-96
3
4
0
0
34
13
9
-13
0
0
0
-101
55
-36
1
0
0
0
-52
133
-14
-3
0
0
0
69
-43
-2
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-27
-9
-1
0
0
31
0
0
0
0
0
0
-35
0
0
-1
0
0
0
-31
1
-4
3
0
0
0
-21
8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-69
-108
3
-6
0
0
24
-43
-14
-132
-138
-46
0
-1
-118
20
6
0
0
0
77
-41
-25
24
0
0
0
21
-61
-90
-84
6
0
0
-51
69
-80
-3
-10
0
0
-51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
-62
-8
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-139
-84
87
-27
0
0
24
-115
-42
-12
128
38
0
43
0
-77
97
-36
0
0
15
-30
39
9
24
0
0
-22
-99
-51
-104
115
5
0
7
-73
-97
6
-9
0
0
44
17
-47
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
-31
4
0
0
0
0
-20
-18
5
0
0
0
0
0
0
0
0
0
0
0
25
68
65
9
0
0
0
6
41
49
1
71
0
0
63
37
-88
5
0
0
0
55
-1
-59
21
0
0
0
31
-21
82
50
0
0
0
100
-105
80
-2
0
0
0
-25
18
-28
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-25
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-17
7
0
0
0
0
2
97
-16
-1
0
0
0
25
4
-1
0
0
0
0
51
1
-3
-1
0
0
0
-112
-23
0
0
0
0
0
35
3
0
0
0
0
0
-30
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
-50
-4
2
0
0
0
0
0
0
0
0
0
1
-2
-4
0
0
0
0
1
0
0
0
0
0
0
-59
1
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-105
10
0
0
0
0
-33
-6
-50
18
-20
5
0
-51
-37
22
-10
0
0
0
-15
13
-92
-5
0
0
0
-47
36
-32
-3
0
0
0
-37
-53
-3
0
0
0
0
-21
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-7
-23
-17
0
0
0
6
0
0
0
0
0
0
29
0
0
-1
0
0
0
-35
1
-4
3
0
0
0
-16
8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-49
-6
3
-6
0
0
37
-43
-46
-70
-34
-38
0
0
-13
18
6
0
0
0
40
-64
-11
40
0
0
0
10
7
-2
-63
6
0
0
59
-29
-65
-3
-10
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
4
0
0
0
0
0
-2
0
0
0
0
0
0
-33
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
-27
-7
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-215
-38
6
-23
0
0
-6
-9
24
50
101
61
0
49
-5
0
73
-11
0
0
56
7
-7
2
24
0
0
-3
-29
-57
-73
79
5
0
17
-51
-86
-14
-19
0
0
70
16
-41
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
-24
4
0
0
0
0
-14
-30
5
0
0
0
0
0
0
0
0
0
0
0
-18
-50
26
14
0
0
0
26
-4
46
90
57
0
0
22
54
21
12
0
0
0
11
95
-14
-7
0
0
0
9
1
82
52
0
0
0
106
-8
29
-2
0
0
0
-62
38
-29
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
-11
0
0
0
0
0
0
-26
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
12
8
0
0
0
0
1
64
25
-5
0
0
0
11
6
-1
0
0
0
0
7
-1
-3
-1
0
0
0
-43
-3
0
0
0
0
0
-43
3
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-8
-48
-3
2
0
0
0
0
0
0
0
0
0
2
-2
-4
0
0
0
0
1
0
0
0
0
0
0
5
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-7
-4
0
0
0
0
-37
12
78
-22
-27
5
0
-23
53
27
-19
0
0
0
-36
10
-15
-5
0
0
0
-61
-50
-8
-3
0
0
0
-98
-64
-5
0
0
0
0
-28
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-2
0
0
0
0
-4
-19
17
30
0
0
0
-2
6
5
0
0
0
0
31
-12
-12
0
0
0
0
8
4
-10
0
0
0
0
1
-5
-1
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-81
-25
-6
0
0
0
13
98
-22
48
-3
0
0
-4
51
-4
-4
0
0
0
-9
-22
-14
8
-1
0
0
-38
62
-25
13
-2
0
0
53
5
-3
-1
0
0
0
3
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-37
-1
2
0
0
0
52
-8
-6
8
0
0
0
70
-32
15
0
0
0
0
-11
43
-1
0
0
0
0
-10
-13
5
0
0
0
0
-4
-14
0
0
0
0
0
-10
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-8
1
0
0
0
0
-27
6
12
0
0
0
0
6
4
0
0
0
0
0
2
9
0
0
0
0
0
-18
10
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
17
1
0
0
0
0
0
-25
34
-1
-1
0
0
-35
0
0
0
0
0
0
-11
31
8
0
0
0
0
-47
-22
0
1
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
-32
-12
-8
1
3
12
6
17
28
-37
-13
1
-5
-3
7
-33
-27
37
-24
-27
-15
-2
0
8
15
-12
1
-37
-29
-28
-12
-12
-4
12
9
10
-19
-35
-16
-14
-2
-5
-9
-2
1
-71
-35
-17
-24
-9
-10
-6
-42
16
-36
-62
-16
18
39
-19
-21
26
-11
-31
-52
-13
16
4
0
44
0
-33
0
0
-6
0
0
0
0
0
0
9
-16
-16
-23
-58
0
48
0
0
9
0
8
-8
0
6
0
10
52
43
116
43
0
158
0
0
-8
0
-8
-36
0
-2
0
-6
-3
-41
19
-86
0
-53
0
0
-78
0
-75
90
0
-4
0
74
40
-6
78
38
0
178
0
0
-32
0
0
0
0
0
0
-82
40
-72
67
-10
0
-86
0
0
-97
1
-8
56
0
8
0
46
44
-37
59
104
0
53
0
0
21
0
12
-67
0
-1
0
-20
-26
-1
-33
4
0
34
0
0
-4
0
-111
138
0
-65
0
-21
2
28
40
39
0
106
0
0
-15
0
0
0
0
0
0
9
47
-20
94
7
0
-64
0
0
-99
-1
-9
98
0
6
0
20
-76
18
-39
52
0
42
0
0
-9
0
2
-70
0
-1
0
18
38
-17
-83
-13
0
60
0
0
-19
0
-38
70
0
-58
0
1
9
15
34
-39
0
104
0
0
0
0
0
0
0
0
0
-5
20
1
-5
-4
0
6
0
0
-1
0
0
-1
0
0
0
22
23
0
-8
24
0
4
0
0
0
0
0
1
0
0
0
-8
-25
0
-18
0
0
-2
0
0
15
0
0
1
0
0
0
-15
9
-2
29
29
0
1
-24
28
69
35
4
12
61
10
-71
1
50
-17
-59
2
0
3
72
-47
-2
0
71
-49
-8
0
0
8
49
-3
99
-1
74
7
58
2
0
2
76
-23
-13
0
64
-19
28
0
0
17
-25
-5
0
0
-3
21
45
48
0
77
-72
50
32
0
20
-32
48
3
0
-10
-29
8
0
0
8
0
0
0
0
6
34
51
3
0
8
51
36
2
0
-6
25
5
0
0
1
0
0
0
0
0
0
0
0
0
9
19
0
0
0
-25
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
28
-28
-34
0
103
22
4
-20
0
26
8
-98
-16
0
25
10
-8
0
0
7
-2
0
0
0
-24
-13
-22
9
0
48
17
66
23
0
47
23
-13
-4
0
6
21
0
0
0
23
-2
0
0
0
34
-53
48
0
0
2
-55
58
-1
0
52
5
13
0
0
25
-5
0
0
0
0
0
0
0
0
28
5
20
0
0
17
19
6
0
0
-15
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
92
4
1
0
52
49
34
0
0
28
-5
19
0
0
-2
-2
0
0
0
-1
0
0
0
0
-47
-31
8
0
0
-17
15
21
0
0
4
-13
8
0
0
10
10
0
0
0
0
0
0
0
0
41
29
-7
0
0
48
22
-8
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
0
0
0
-9
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
12
0
0
9
5
0
0
0
13
16
0
0
0
-5
0
0
0
0
0
0
0
0
0
74
16
0
0
0
20
4
0
0
0
13
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
9
0
0
0
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
46
53
15
0
70
-15
38
-15
0
15
23
30
2
0
-1
68
-8
0
0
-1
0
0
0
0
70
11
-13
-18
0
66
6
-26
-22
0
26
18
-29
1
0
-3
-7
-3
0
0
0
0
0
0
0
111
-15
2
0
0
125
-5
-12
0
0
3
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
0
0
0
-13
17
0
0
0
-8
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-12
-41
-2
0
83
-40
-10
0
0
-13
-9
14
0
0
65
12
1
0
0
0
0
0
0
0
-7
-47
3
-1
0
-5
24
9
0
0
0
-5
7
0
0
22
4
0
0
0
0
0
0
0
0
-14
12
-4
0
0
5
16
0
0
0
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
8
0
0
0
-19
2
0
0
0
-12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
-8
0
0
15
27
-3
0
0
14
6
0
0
0
17
0
0
0
0
0
0
0
0
0
29
19
-1
0
0
36
16
0
0
0
22
1
0
0
0
2
0
0
0
0
0
0
0
0
0
15
8
0
0
0
8
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-8
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
9
-6
1
0
17
-6
-5
0
0
8
8
4
0
0
-4
2
0
0
0
0
0
0
0
0
21
-20
0
0
0
20
-25
1
0
0
31
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
17
17
0
0
0
-3
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-26
-3
0
0
15
7
-1
0
0
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
0
0
0
-2
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
67
-39
-7
0
54
-42
-42
6
0
-7
78
-58
-8
0
-33
-21
-28
0
0
-25
-10
0
0
0
55
5
9
7
0
57
18
11
-5
0
108
44
-31
-2
0
-23
-46
-8
0
0
-20
-7
0
0
0
25
25
11
1
0
-26
-16
14
0
0
20
3
8
0
0
-16
-16
0
0
0
0
0
0
0
0
36
-8
9
0
0
39
9
6
0
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
78
-52
20
0
28
-32
15
12
0
-22
97
-48
0
0
2
26
-1
0
0
0
0
0
0
0
85
-23
-44
4
0
8
-66
-26
0
0
-28
-49
-36
0
0
-29
-4
0
0
0
0
0
0
0
0
-1
-41
17
0
0
-19
34
4
0
0
4
14
0
0
0
-4
0
0
0
0
0
0
0
0
0
13
1
0
0
0
-4
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
105
-18
0
0
8
29
-5
0
0
33
16
1
0
0
8
0
0
0
0
0
0
0
0
0
28
24
0
0
0
-18
-10
-6
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
1
0
0
0
-20
-7
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-19
0
0
0
-5
-10
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
19
98
-10
0
93
30
40
-1
0
109
34
-2
0
0
2
-1
0
0
0
0
0
0
0
0
95
-25
16
0
0
-20
-46
-9
0
0
54
-23
-13
0
0
10
0
0
0
0
0
0
0
0
0
-24
6
16
0
0
7
22
10
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-23
7
0
0
-50
28
3
0
0
7
13
-1
0
0
2
-1
0
0
0
0
0
0
0
0
27
25
6
0
0
-18
24
1
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
0
0
0
-1
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-1
0
0
-15
6
0
0
0
9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-3
0
0
16
10
0
0
0
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
0
0
0
7
10
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
0
0
0
-10
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
47
48
0
0
11
27
25
0
0
59
-13
9
0
0
-46
-8
0
0
0
0
0
0
0
0
33
28
31
0
0
5
-1
22
0
0
23
-18
0
0
0
-41
-1
0
0
0
0
0
0
0
0
78
-34
3
0
0
44
-19
0
0
0
-25
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
1
12
0
0
68
-29
13
0
0
13
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-19
2
0
0
5
-8
1
0
0
-13
-8
0
0
0
-2
-1
0
0
0
0
0
0
0
0
17
-7
0
0
0
-2
6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
9
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
6
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
2
0
0
-1
6
4
0
0
-5
17
0
0
0
9
2
0
0
0
0
0
0
0
0
32
-2
1
0
0
-43
5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-8
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
35
29
-21
7
20
2
-19
43
38
-1
-47
10
1
24
-43
-32
-47
0
21
35
-10
0
0
8
30
2
37
-47
19
0
-19
35
3
-1
-10
36
-29
-2
-71
26
-1
-15
0
5
-3
-7
0
0
-3
-25
-68
89
0
30
-19
84
20
0
-6
-18
-55
65
0
-50
-12
56
-1
0
23
-12
0
0
0
-9
7
19
8
0
-17
55
90
5
0
-33
-14
31
0
0
-20
-29
0
0
0
-1
0
0
0
0
-23
9
-2
0
0
-15
-5
3
0
0
47
14
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-30
-19
-3
33
-12
-5
57
1
22
-11
25
72
0
-6
-8
79
-5
0
-10
23
1
0
0
9
-6
-20
-63
0
42
-39
45
24
0
-31
28
-57
-33
0
-9
12
10
-1
0
32
-14
0
0
0
9
25
-9
-54
0
-44
49
42
-81
0
60
11
-37
-7
0
31
-20
-8
0
0
125
-1
0
0
0
19
-53
-41
0
0
39
31
30
1
0
-28
40
-10
0
0
-16
2
0
0
0
0
0
0
0
0
0
77
0
0
0
-2
14
0
0
0
26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
6
-40
0
22
8
52
17
0
1
-43
49
15
0
-72
2
29
0
0
60
1
0
0
0
1
12
55
27
0
-17
34
-7
48
0
-19
1
-34
-3
0
2
78
37
0
0
-1
-5
0
0
0
-5
-77
20
8
0
17
-53
-27
2
0
-98
-109
-53
0
0
53
1
-5
0
0
2
0
0
0
0
2
-25
38
0
0
-14
38
60
0
0
-6
-11
1
0
0
3
-1
0
0
0
0
0
0
0
0
-28
0
0
0
0
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
-39
0
0
-41
10
-71
0
0
-57
57
-48
0
0
-65
-34
-1
0
0
0
0
0
0
0
6
39
-100
0
0
-7
19
-38
0
0
-27
36
-5
0
0
-49
-2
0
0
0
0
0
0
0
0
-32
114
8
0
0
33
24
8
0
0
-51
-25
10
0
0
-12
-2
0
0
0
0
0
0
0
0
-35
3
0
0
0
-22
0
0
0
0
-7
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
13
0
0
0
-19
-1
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
34
56
0
0
0
-1
40
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
43
0
0
0
23
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
66
9
48
0
35
16
34
-42
0
3
-41
30
-15
0
-37
-5
-8
-1
0
22
3
0
0
0
55
-8
-9
-27
0
37
-25
42
-9
0
14
-53
-23
-5
0
5
-94
-39
0
0
25
-5
0
0
0
38
-52
4
8
0
-12
17
-57
2
0
-52
-65
-27
0
0
59
32
-2
0
0
-8
0
0
0
0
34
69
-58
0
0
-78
58
-16
0
0
104
-39
-5
0
0
1
0
0
0
0
0
0
0
0
0
-29
-30
0
0
0
-11
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-7
-24
-10
0
41
-6
-54
-49
0
-19
8
-30
-32
0
-16
-77
-25
0
0
-49
-2
0
0
0
17
-35
51
-16
0
-39
-57
40
-15
0
15
5
-1
-4
0
27
-2
-12
0
0
1
-1
0
0
0
-49
61
-13
-4
0
62
19
-14
-1
0
13
20
1
0
0
1
19
-2
0
0
0
0
0
0
0
20
-30
-57
0
0
-7
-4
-6
0
0
30
-15
0
0
0
-5
1
0
0
0
0
0
0
0
0
4
-1
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
15
100
-4
0
-10
26
-27
-2
0
-3
38
15
0
0
10
-44
-8
0
0
0
0
0
0
0
-44
-30
30
-5
0
-8
56
21
-2
0
27
22
-26
0
0
22
-7
-5
0
0
0
0
0
0
0
-34
-8
42
0
0
-20
-40
19
0
0
30
30
-5
0
0
31
2
0
0
0
0
0
0
0
0
-27
-44
0
0
0
10
3
0
0
0
20
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-20
-1
0
0
-56
28
-25
0
0
38
12
-7
0
0
9
0
0
0
0
0
0
0
0
0
17
18
-30
0
0
-15
3
-12
0
0
5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-18
32
-1
0
0
13
6
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
1
0
0
0
-24
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-5
0
0
0
-27
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
-13
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
13
-62
-3
0
-17
26
-23
-5
0
-14
8
3
0
0
-5
18
3
0
0
1
0
0
0
0
-27
37
-7
-1
0
38
38
15
0
0
103
-15
-5
0
0
-10
2
0
0
0
0
0
0
0
0
-45
94
-2
0
0
-48
-51
0
0
0
39
-40
0
0
0
-4
0
0
0
0
0
0
0
0
0
13
-8
0
0
0
26
-9
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-13
69
0
0
83
9
19
0
0
-98
18
-5
0
0
-1
1
0
0
0
0
0
0
0
0
-79
43
33
0
0
-9
13
-5
0
0
-24
0
-6
0
0
18
2
0
0
0
0
0
0
0
0
-27
-30
7
0
0
-67
-17
2
0
0
17
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
4
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-30
-9
0
0
45
-8
-3
0
0
3
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
51
48
-1
0
0
83
41
1
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
18
25
0
0
0
-18
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-3
0
0
0
-9
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
13
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-4
-49
1
18
-7
-16
-59
-1
7
-3
44
37
0
-25
19
47
-26
0
-31
-50
-16
0
0
23
17
1
-10
-6
53
-30
-51
-50
0
0
-19
-40
35
0
43
35
-40
1
0
0
-14
0
0
0
21
-25
10
-20
0
-9
7
-58
-4
0
-19
-35
-67
16
0
65
7
0
0
0
-25
-1
0
0
0
-31
34
16
3
0
13
-45
14
0
0
-23
40
7
0
0
46
2
0
0
0
0
0
0
0
0
44
-2
-2
0
0
-8
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-7
9
10
0
38
-8
14
9
0
15
-24
23
32
0
-17
-6
18
0
0
-4
10
0
0
0
0
-46
9
-80
0
-20
-56
25
0
0
-42
-15
-56
4
0
-89
20
-18
0
0
7
7
0
0
0
-25
-8
20
-18
0
-55
-57
-79
4
0
-24
-88
-49
0
0
-29
12
0
0
0
1
0
0
0
0
2
5
-31
0
0
-100
-31
-33
0
0
48
72
0
0
0
-8
-3
0
0
0
0
0
0
0
0
7
8
0
0
0
-4
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-9
-42
-36
0
22
-13
-84
-3
0
32
-23
-12
0
0
-13
-61
-1
0
0
1
0
0
0
0
10
45
93
-5
0
-38
-15
-24
3
0
-60
-15
-49
0
0
-30
-45
0
0
0
1
0
0
0
0
-47
6
39
1
0
30
-15
9
0
0
-20
10
-2
0
0
-6
-2
0
0
0
0
0
0
0
0
3
-33
8
0
0
-10
13
3
0
0
-34
8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
72
18
0
0
-36
-53
5
0
0
-42
57
4
0
0
-23
-1
0
0
0
0
0
0
0
0
41
10
-37
0
0
-55
-59
-8
0
0
-14
2
0
0
0
-5
-1
0
0
0
0
0
0
0
0
-39
-50
0
0
0
8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
-22
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-9
0
0
0
-8
-12
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-23
8
-11
0
35
-43
-26
-38
0
9
-34
14
1
0
-12
87
6
0
0
20
0
0
0
0
15
-44
48
-9
0
-41
-10
-11
-13
0
79
8
58
1
0
28
-40
13
0
0
6
0
0
0
0
-30
40
2
0
0
31
77
-1
0
0
47
80
-13
0
0
9
6
0
0
0
0
0
0
0
0
35
25
-6
0
0
26
-16
0
0
0
21
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
-26
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-55
-35
-5
0
-17
40
-85
-8
0
24
-20
-52
0
0
23
-46
2
0
0
-1
0
0
0
0
-75
12
-42
-1
0
-68
68
-66
0
0
-38
15
-3
0
0
-29
-51
3
0
0
1
0
0
0
0
-21
3
-71
0
0
38
-28
-20
0
0
28
-12
-1
0
0
14
0
0
0
0
0
0
0
0
0
6
-6
2
0
0
-24
-6
0
0
0
56
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-18
-4
0
0
-16
24
5
0
0
-21
15
-3
0
0
16
2
0
0
0
0
0
0
0
0
46
66
-24
0
0
74
29
5
0
0
10
0
-1
0
0
-23
0
0
0
0
0
0
0
0
0
-42
15
-6
0
0
11
5
-4
0
0
-11
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
-6
-13
0
0
0
16
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-6
-2
0
0
-2
4
-2
0
0
50
0
0
0
0
2
0
0
0
0
0
0
0
0
0
10
40
-1
0
0
29
6
0
0
0
18
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
12
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
-36
0
0
-76
9
-12
0
0
15
-46
-5
0
0
43
1
0
0
0
0
0
0
0
0
-10
-21
-17
0
0
25
-12
-15
0
0
-58
-78
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-65
-8
-5
0
0
-20
-13
-6
0
0
-21
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
9
30
0
0
23
17
-5
0
0
43
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
-56
1
-8
0
0
-28
-18
-9
0
0
-28
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
28
-29
0
0
0
-37
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
10
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
0
0
0
9
6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
25
0
0
0
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-23
-31
18
0
39
-16
68
17
0
-26
-39
4
0
0
-45
13
-1
0
0
-2
0
0
0
0
28
-16
34
2
0
18
4
13
0
0
-13
-3
-12
0
0
36
25
0
0
0
4
0
0
0
0
-9
4
-5
0
0
-5
-6
-6
0
0
-23
-13
-2
0
0
-105
3
0
0
0
0
0
0
0
0
-34
-46
0
0
0
-40
9
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-10
19
0
0
-30
-29
7
0
0
-39
29
-21
0
0
52
11
0
0
0
0
0
0
0
0
-1
41
45
0
0
-29
39
42
0
0
34
46
1
0
0
22
4
0
0
0
0
0
0
0
0
-25
104
7
0
0
-8
71
1
0
0
47
40
0
0
0
1
1
0
0
0
0
0
0
0
0
4
-28
0
0
0
-40
9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-42
32
0
0
-39
-65
0
0
0
62
-44
0
0
0
41
0
0
0
0
0
0
0
0
0
-59
10
0
0
0
30
-5
2
0
0
-11
-34
0
0
0
9
0
0
0
0
0
0
0
0
0
8
4
0
0
0
-1
5
0
0
0
14
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-24
-4
0
0
0
-20
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
17
0
0
0
-31
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
20
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
74
18
0
0
14
-15
-1
0
0
42
54
-5
0
0
7
-1
0
0
0
0
0
0
0
0
72
31
-14
0
0
-52
-16
-42
0
0
-32
30
0
0
0
21
-3
0
0
0
0
0
0
0
0
4
-9
0
0
0
-7
-10
0
0
0
22
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
22
5
0
0
0
-9
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
8
0
0
0
13
0
0
0
22
6
0
0
0
-55
0
0
0
0
0
0
0
0
0
-24
-8
-2
0
0
53
30
0
0
0
-7
8
0
0
0
1
0
0
0
0
0
0
0
0
0
22
-8
0
0
0
35
-17
0
0
0
13
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
6
0
0
0
18
28
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
49
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
-24
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
0
0
0
15
2
0
0
0
50
0
0
0
0
4
0
0
0
0
0
0
0
0
0
48
2
0
0
0
35
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
-19
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
7
-17
-43
-39
2
2
-4
41
17
-6
-11
-43
-2
0
2
-24
16
7
0
-69
4
-7
0
0
2
1
4
57
-14
1
-25
-29
50
4
32
-5
26
-22
-2
13
3
-1
48
0
-96
-40
-6
0
0
-11
-33
-52
3
0
7
34
107
-52
0
-33
34
-23
18
0
-16
-17
11
-1
0
-24
-15
0
0
0
-15
-47
-16
4
0
-45
-15
59
-2
0
-26
-72
26
0
0
91
0
-1
0
0
-1
0
0
0
0
-53
-54
-1
0
0
15
-49
3
0
0
68
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
5
15
-57
9
-10
22
-1
4
40
1
-18
48
73
35
0
-50
53
66
2
0
28
45
1
0
0
4
-1
52
17
0
23
1
34
52
0
-16
-7
7
-29
0
-33
-21
-2
-1
0
32
-7
0
0
0
4
-13
26
-14
0
14
11
-7
-93
0
-16
-24
-74
-30
0
-88
6
5
0
0
89
-1
0
0
0
-7
-24
-38
-15
0
-12
-46
5
1
0
-2
38
8
0
0
5
46
0
0
0
0
0
0
0
0
-57
94
0
0
0
2
23
0
0
0
22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-27
-112
-30
0
18
-14
7
35
0
-1
33
30
8
0
13
-44
-15
0
0
128
2
0
0
0
11
-12
17
69
0
-8
-1
5
52
0
-5
0
-24
-6
0
8
9
4
0
0
3
-5
0
0
0
-17
22
2
10
0
14
-25
10
2
0
-24
-35
-9
0
0
62
31
-5
0
0
2
0
0
0
0
19
36
25
0
0
6
46
72
0
0
15
11
1
0
0
3
-1
0
0
0
0
0
0
0
0
-62
-3
0
0
0
-39
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-70
-14
0
0
21
14
-6
0
0
5
-6
-7
0
0
-18
-30
-1
0
0
0
0
0
0
0
-14
-36
-51
0
0
-28
30
36
0
0
-4
-33
26
0
0
-42
-9
0
0
0
0
0
0
0
0
-19
12
8
0
0
-3
-32
10
0
0
-70
-48
10
0
0
-17
-2
0
0
0
0
0
0
0
0
41
15
0
0
0
7
0
0
0
0
3
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-17
0
0
0
-66
-4
0
0
0
41
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
89
75
0
0
0
-18
51
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
-32
-13
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
27
-1
-15
0
24
-16
-24
-14
0
25
-26
-11
-15
0
54
2
21
-1
0
12
-30
0
0
0
31
-8
7
-50
0
16
26
-27
-4
0
-15
-14
63
-14
0
23
-68
-6
0
0
37
-6
0
0
0
9
37
10
33
0
-12
-32
-47
28
0
-4
-36
30
0
0
27
45
5
0
0
8
0
0
0
0
-23
-1
-70
0
0
-18
26
-42
0
0
35
-48
5
0
0
-25
0
0
0
0
0
0
0
0
0
-26
-25
0
0
0
24
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
21
17
0
9
-33
19
-1
0
-16
23
5
-9
0
-1
11
5
0
0
-67
-2
0
0
0
15
-2
39
-6
0
-25
-32
4
11
0
0
-42
17
4
0
7
0
-3
0
0
4
-1
0
0
0
-49
1
7
25
0
68
-4
2
-1
0
33
5
18
0
0
-1
24
-2
0
0
0
0
0
0
0
-31
-71
-95
0
0
-42
-53
-6
0
0
36
-10
0
0
0
-11
1
0
0
0
0
0
0
0
0
-1
8
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-4
7
-5
0
17
-26
-49
-4
0
-68
3
13
0
0
7
-43
-7
0
0
0
0
0
0
0
12
35
9
-5
0
-3
59
-21
-2
0
-40
-31
-37
0
0
-3
-21
-5
0
0
0
0
0
0
0
-32
-4
6
0
0
-16
-39
13
0
0
21
43
-5
0
0
36
2
0
0
0
0
0
0
0
0
-100
-25
0
0
0
16
16
0
0
0
23
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-13
0
0
-32
-39
-28
0
0
44
-9
-7
0
0
1
0
0
0
0
0
0
0
0
0
86
37
-32
0
0
-65
-2
-13
0
0
-3
-13
-6
0
0
-9
0
0
0
0
0
0
0
0
0
-32
32
-1
0
0
-15
8
0
0
0
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
0
0
0
-23
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
33
0
0
0
-52
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
0
0
0
-24
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-45
-6
-3
0
-24
8
25
-5
0
-37
-18
-2
0
0
3
4
3
0
0
1
0
0
0
0
-42
-66
-12
-1
0
-12
31
13
0
0
21
-85
-16
0
0
-36
-19
0
0
0
0
0
0
0
0
-99
67
5
0
0
-14
3
2
0
0
48
-34
0
0
0
-10
0
0
0
0
0
0
0
0
0
50
0
0
0
0
40
-10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-58
66
0
0
11
-43
-14
0
0
-33
-37
-20
0
0
-22
-19
0
0
0
0
0
0
0
0
-45
0
21
0
0
-2
-16
-30
0
0
-24
-54
-6
0
0
-6
0
0
0
0
0
0
0
0
0
20
-12
7
0
0
33
2
2
0
0
36
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
3
-6
0
0
0
5
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-22
0
0
-38
-22
-20
0
0
-20
-45
0
0
0
-16
0
0
0
0
0
0
0
0
0
76
118
-1
0
0
6
41
1
0
0
-30
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
18
55
0
0
0
-11
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
0
0
0
-28
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
0
0
0
6
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
17
32
3
2
-11
49
14
0
13
-16
14
22
0
-58
52
-10
-7
0
0
3
-16
0
0
2
-21
-17
46
-6
12
-11
-1
11
0
19
9
8
24
0
64
-6
-36
1
0
-34
-5
0
0
0
-7
12
20
4
0
3
27
1
19
0
-35
80
1
16
0
21
0
-15
0
0
-31
-1
0
0
0
-60
-22
18
3
0
62
-97
-18
0
0
-36
5
0
0
0
33
31
0
0
0
0
0
0
0
0
-28
-5
-2
0
0
-27
-9
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-4
5
-11
0
16
10
-10
0
0
13
9
-3
-4
0
-27
-48
-31
0
0
-13
10
0
0
0
12
-31
-33
-56
0
-1
18
-41
3
0
-40
-22
-34
-13
0
24
-11
-25
0
0
-4
7
0
0
0
0
53
40
11
0
-28
-34
-22
5
0
-6
-55
-45
0
0
-10
23
1
0
0
1
0
0
0
0
3
85
23
0
0
-22
-16
-28
0
0
83
86
7
0
0
-8
-1
0
0
0
0
0
0
0
0
-35
16
0
0
0
5
4
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-13
-25
0
-4
36
0
-12
0
39
-4
-7
0
0
26
-112
-2
0
0
1
0
0
0
0
-48
-32
80
-5
0
18
12
17
-4
0
-43
-7
-67
0
0
-8
-68
-1
0
0
1
0
0
0
0
-18
-25
27
1
0
0
-35
46
0
0
27
18
-2
0
0
-5
-4
0
0
0
0
0
0
0
0
-4
-51
2
0
0
-11
-11
3
0
0
-13
25
0
0
0
3
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
40
22
0
0
-18
38
52
0
0
-46
70
4
0
0
6
-1
0
0
0
0
0
0
0
0
60
-17
-25
0
0
-20
-14
28
0
0
-33
1
0
0
0
11
-1
0
0
0
0
0
0
0
0
28
-16
0
0
0
-42
-25
0
0
0
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
0
0
0
-33
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-45
0
0
0
-9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
0
0
0
9
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
25
-25
43
0
42
-52
-42
5
0
-35
2
-44
-1
0
-80
65
31
0
0
-9
0
0
0
0
1
-20
36
10
0
-21
-10
-57
-2
0
-16
14
72
1
0
13
-50
17
0
0
5
0
0
0
0
-53
2
-18
0
0
-7
22
-40
0
0
23
52
-16
0
0
-11
8
0
0
0
0
0
0
0
0
-7
1
-24
0
0
-19
-65
-5
0
0
1
-12
0
0
0
-2
0
0
0
0
0
0
0
0
0
-24
4
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
32
4
0
-44
1
-74
-6
0
-19
-14
-5
0
0
-28
-28
4
0
0
-4
0
0
0
0
-9
-23
-28
-8
0
-30
20
-92
0
0
-14
3
17
0
0
-40
-49
3
0
0
1
0
0
0
0
-43
6
-109
0
0
-23
-17
-66
0
0
75
9
0
0
0
18
0
0
0
0
0
0
0
0
0
10
-7
2
0
0
-23
-25
0
0
0
73
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
20
14
0
0
16
99
40
0
0
4
57
3
0
0
0
17
0
0
0
0
0
0
0
0
-49
-1
12
0
0
24
20
27
0
0
-23
-8
-1
0
0
-34
4
0
0
0
0
0
0
0
0
-14
4
-7
0
0
-2
-15
-3
0
0
-15
5
0
0
0
-7
0
0
0
0
0
0
0
0
0
14
-16
0
0
0
14
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-2
0
0
-19
4
-2
0
0
48
2
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
54
-1
0
0
-13
11
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-22
1
0
0
0
6
0
0
0
0
13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
26
-32
0
0
-48
-10
-14
0
0
10
-67
-5
0
0
42
1
0
0
0
0
0
0
0
0
17
0
-9
0
0
43
5
-13
0
0
-56
-71
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-77
-11
-5
0
0
-13
12
-6
0
0
-60
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
38
47
0
0
23
17
-7
0
0
12
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
-55
-3
-8
0
0
-43
-27
-9
0
0
-58
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
-30
-30
0
0
0
-48
-6
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
11
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
33
0
0
0
27
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
0
0
0
-9
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
34
-102
-20
0
-22
13
-22
7
0
4
39
15
0
0
-58
30
-1
0
0
-1
0
0
0
0
1
98
42
4
0
-18
-21
-9
0
0
-15
-58
-14
0
0
39
35
0
0
0
4
0
0
0
0
2
-42
-52
0
0
-68
0
-11
0
0
-52
-25
-2
0
0
-48
3
0
0
0
0
0
0
0
0
-35
-32
-2
0
0
42
22
0
0
0
-14
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
21
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
2
4
0
12
-34
-15
0
0
-13
29
-15
0
0
27
7
0
0
0
0
0
0
0
0
-46
47
47
0
0
-26
-14
19
0
0
0
12
4
0
0
36
13
0
0
0
0
0
0
0
0
-45
48
-30
0
0
27
48
0
0
0
-3
22
0
0
0
16
1
0
0
0
0
0
0
0
0
-15
-18
0
0
0
2
12
0
0
0
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
42
45
0
0
36
-72
-3
0
0
77
-44
0
0
0
41
0
0
0
0
0
0
0
0
0
5
28
9
0
0
64
-36
2
0
0
-10
-53
0
0
0
15
0
0
0
0
0
0
0
0
0
37
-26
0
0
0
3
-49
0
0
0
31
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-17
-4
0
0
0
-4
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
15
0
0
0
-66
-8
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
6
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
-9
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-32
-4
0
0
46
-11
-30
0
0
19
46
-5
0
0
-51
-3
0
0
0
0
0
0
0
0
0
48
-25
0
0
-6
-12
-47
0
0
-28
15
0
0
0
-2
-3
0
0
0
0
0
0
0
0
10
-35
-1
0
0
15
-31
0
0
0
26
-4
0
0
0
-7
0
0
0
0
0
0
0
0
0
21
3
0
0
0
-24
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
60
-16
0
0
0
-8
-4
0
0
22
-2
0
0
0
-80
0
0
0
0
0
0
0
0
0
-27
-17
-15
0
0
34
1
0
0
0
-14
-2
0
0
0
-18
0
0
0
0
0
0
0
0
0
33
-36
0
0
0
43
-21
0
0
0
6
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
20
0
0
0
1
4
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-9
0
0
0
33
-6
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-17
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-11
0
0
0
-20
-1
0
0
0
57
0
0
0
0
4
0
0
0
0
0
0
0
0
0
40
-3
0
0
0
40
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-4
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-9
-49
0
-10
5
-55
-6
1
-50
0
11
15
0
-30
-63
-6
-3
0
-28
-3
0
0
0
2
-47
17
-12
-1
-8
-23
-30
6
0
-19
-52
9
2
0
-46
-21
-6
-2
0
-21
-16
0
0
0
-30
-7
0
-51
0
2
8
-19
-31
0
-33
2
2
1
0
-4
-13
-17
0
0
2
-6
0
0
0
-42
52
-6
-1
0
-47
2
2
0
0
-7
-25
-7
0
0
-19
13
0
0
0
0
0
0
0
0
-111
-60
0
0
0
-32
-42
0
0
0
-8
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
45
-16
-46
-82
0
-24
-9
-59
-26
0
-52
2
31
3
0
-3
30
-5
0
0
-5
-3
0
0
0
-17
-16
2
-33
0
-29
0
20
-16
0
2
-20
20
-1
0
35
6
-8
0
0
14
-1
0
0
0
-25
-29
-8
-25
0
-23
-33
-9
-5
0
-9
-24
-8
1
0
-41
-19
-2
0
0
8
0
0
0
0
-13
52
2
-1
0
29
-10
-7
0
0
-11
-15
-4
0
0
-31
3
0
0
0
0
0
0
0
0
-70
-18
0
0
0
-6
-18
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
4
-4
0
-55
5
37
8
0
1
-29
30
4
0
-94
-14
-3
0
0
21
2
0
0
0
12
32
13
9
0
-53
10
20
13
0
7
-55
-3
1
0
-61
-11
-2
0
0
10
0
0
0
0
-17
61
16
-3
0
17
13
-2
-2
0
60
3
0
0
0
-19
7
-1
0
0
0
0
0
0
0
-22
52
9
0
0
18
33
7
0
0
6
-12
0
0
0
-3
1
0
0
0
0
0
0
0
0
-23
-6
0
0
0
2
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-32
17
0
0
10
20
34
0
0
38
-46
-8
0
0
36
-12
0
0
0
0
0
0
0
0
45
-10
-8
0
0
28
-6
19
0
0
5
-55
2
0
0
-7
-6
0
0
0
0
0
0
0
0
-6
-55
6
0
0
22
-48
7
0
0
30
-41
1
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-6
0
0
0
10
2
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
40
0
0
0
8
16
0
0
0
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
21
17
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
-16
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-4
-4
-60
0
-5
31
45
-6
0
23
8
-4
7
0
45
-31
19
0
0
-22
-4
0
0
0
-19
-66
-2
-42
0
16
21
21
-16
0
10
24
17
1
0
13
-38
10
0
0
1
-3
0
0
0
0
-60
12
-13
0
8
-14
20
-2
0
8
13
-14
0
0
0
7
-3
0
0
-2
0
0
0
0
-30
-1
-8
0
0
0
17
0
0
0
-31
-41
-3
0
0
-5
2
0
0
0
0
0
0
0
0
-36
-12
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
21
-4
-42
0
-20
24
-20
-10
0
-32
16
22
-1
0
-18
-8
8
0
0
-7
-2
0
0
0
1
12
3
-30
0
3
31
-3
-19
0
24
22
7
-2
0
29
-3
2
0
0
1
-2
0
0
0
-14
-41
-4
-4
0
4
-10
-9
0
0
15
17
-8
0
0
14
5
-1
0
0
0
0
0
0
0
-41
4
-6
0
0
16
33
-3
0
0
10
-23
0
0
0
4
2
0
0
0
0
0
0
0
0
-10
-1
0
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-50
-8
-12
0
-1
11
13
-3
0
-17
1
-2
0
0
-30
-6
-1
0
0
0
0
0
0
0
-32
-19
0
-4
0
-25
-5
7
0
0
0
-15
-14
0
0
-24
-1
-1
0
0
0
0
0
0
0
36
24
6
0
0
-31
5
1
0
0
25
14
-2
0
0
9
3
0
0
0
0
0
0
0
0
-11
32
0
0
0
26
34
0
0
0
4
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
-5
0
0
-5
-3
8
0
0
-22
-17
-5
0
0
-3
0
0
0
0
0
0
0
0
0
62
-1
-12
0
0
6
1
-4
0
0
-20
-20
-4
0
0
-2
0
0
0
0
0
0
0
0
0
24
11
0
0
0
4
5
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
10
-2
0
15
38
13
0
0
-14
8
-2
0
0
-3
-1
0
0
0
0
0
0
0
0
-86
7
12
0
0
-18
59
12
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
4
0
0
33
9
1
0
0
27
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
-10
0
0
0
23
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
3
0
0
-47
-33
3
0
0
-21
-10
-2
0
0
-3
0
0
0
0
0
0
0
0
0
29
18
8
0
0
-6
13
0
0
0
-4
-11
0
0
0
-3
0
0
0
0
0
0
0
0
0
22
1
2
0
0
23
-3
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
5
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-13
1
0
0
-10
-21
1
0
0
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
7
1
0
0
-33
14
2
0
0
-37
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
12
0
0
0
-12
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-19
6
-10
2
17
24
22
14
0
-22
22
-13
9
0
-11
-29
-2
0
0
-7
-5
0
0
0
2
-36
-42
18
0
51
21
-20
17
0
-6
11
13
4
0
38
-2
15
0
0
-6
-4
0
0
0
-33
48
-11
7
0
-3
-8
-26
7
0
-34
-21
1
5
0
-16
-17
-3
0
0
-2
0
0
0
0
-34
-16
19
0
0
-37
19
15
0
0
-13
-9
0
0
0
-27
-1
0
0
0
0
0
0
0
0
-31
-22
0
0
0
-3
-6
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
33
-56
-33
0
5
12
-26
-14
0
7
-10
-6
-1
0
2
-41
-12
0
0
-12
-4
0
0
0
29
28
-22
-15
0
2
4
8
-4
0
2
4
5
0
0
30
-17
2
0
0
0
-2
0
0
0
0
-11
-14
3
0
-19
-52
-4
1
0
-51
-48
-3
0
0
6
-9
0
0
0
0
0
0
0
0
27
6
15
0
0
-9
25
1
0
0
15
4
-1
0
0
-28
-2
0
0
0
0
0
0
0
0
-12
-5
0
0
0
2
-2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-40
45
-1
0
-11
67
39
2
0
-11
-6
9
0
0
3
-1
0
0
0
0
0
0
0
0
27
-40
2
1
0
-16
36
10
1
0
-23
-6
-22
0
0
16
0
0
0
0
0
0
0
0
0
-100
-36
14
0
0
-13
-12
6
0
0
-3
-15
-2
0
0
-7
-2
0
0
0
0
0
0
0
0
-78
-30
1
0
0
-35
1
0
0
0
-3
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-8
12
0
0
-47
-3
19
0
0
-10
-4
0
0
0
16
-2
0
0
0
0
0
0
0
0
60
27
-6
0
0
24
21
2
0
0
-19
-13
0
0
0
5
-2
0
0
0
0
0
0
0
0
53
-2
0
0
0
-1
-9
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-17
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
16
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-8
-18
0
17
5
10
8
0
-39
57
7
-1
0
-6
-4
4
0
0
-3
0
0
0
0
42
15
-12
-7
0
29
28
-10
2
0
-20
93
43
0
0
10
-1
4
0
0
0
-1
0
0
0
-45
1
-21
0
0
-22
23
-14
0
0
2
22
-3
0
0
5
-1
0
0
0
0
0
0
0
0
-25
-16
-2
0
0
-21
-3
0
0
0
-40
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
22
2
-10
0
-5
19
32
-1
0
18
36
34
0
0
-2
-28
3
0
0
-2
0
0
0
0
39
36
7
-2
0
6
20
-1
0
0
11
36
29
0
0
14
-22
5
0
0
0
0
0
0
0
9
44
-19
0
0
3
22
-9
0
0
18
12
0
0
0
5
0
0
0
0
0
0
0
0
0
-9
-19
0
0
0
-1
-4
0
0
0
4
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-19
-1
0
0
32
-1
2
0
0
15
5
0
0
0
10
2
0
0
0
0
0
0
0
0
-7
-44
-4
0
0
-2
-31
-4
0
0
-10
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
18
-4
-2
0
0
-8
-2
-1
0
0
4
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-1
0
0
-1
-1
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
23
14
0
0
0
11
6
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
33
0
0
0
0
7
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-28
-6
0
0
-35
-24
-1
0
0
-28
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-8
-5
0
0
12
-5
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
11
-12
-1
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
11
-6
-2
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
32
-2
0
0
0
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
-2
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
0
0
0
2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
-14
-76
0
0
0
-36
-22
0
0
16
-25
2
0
0
10
-16
0
0
0
2
0
0
0
0
-53
-8
-49
0
0
-27
2
-8
0
0
15
10
-1
0
0
5
-4
0
0
0
0
0
0
0
0
38
-26
-27
0
0
-8
-14
-1
0
0
-21
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
-18
-27
0
0
0
-2
-8
0
0
0
-5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-26
-51
0
0
-10
-47
-13
0
0
30
-28
-5
0
0
9
-3
0
0
0
0
0
0
0
0
-69
-23
-20
0
0
10
-28
6
0
0
11
-2
-1
0
0
8
1
0
0
0
0
0
0
0
0
19
-19
-7
0
0
-11
-25
0
0
0
-12
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
-17
-30
0
0
0
-20
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
-7
0
0
35
7
0
0
0
43
-25
0
0
0
-4
0
0
0
0
0
0
0
0
0
-20
5
1
0
0
-14
3
0
0
0
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-33
-3
0
0
0
-10
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-21
-6
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
0
0
-2
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-30
-6
0
0
4
-6
0
0
0
-28
-21
-1
0
0
-30
-2
0
0
0
0
0
0
0
0
34
-13
-4
0
0
-6
-11
1
0
0
-13
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
-10
0
0
0
6
-1
0
0
0
4
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
29
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
2
0
0
-19
-6
0
0
0
-2
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
35
-12
-2
0
0
-4
-19
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
2
0
0
0
1
-2
0
0
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
29
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
34
0
0
0
45
30
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
0
0
0
2
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-20
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
13
2
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
55
33
12
0
-1
19
29
-6
0
40
-68
4
7
0
46
69
8
0
0
-8
-2
0
0
0
27
-120
10
-30
0
-10
66
20
-13
0
78
44
-14
-4
0
-19
18
16
0
0
-6
0
0
0
0
22
15
-3
1
0
-49
10
-3
-1
0
-24
6
4
0
0
-2
6
0
0
0
0
0
0
0
0
-1
30
-3
0
0
-23
16
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-14
12
-5
0
60
-9
-7
8
0
-17
39
-15
0
0
19
-2
1
0
0
-2
0
0
0
0
94
25
-2
-10
0
-7
23
20
0
0
13
31
-8
0
0
9
6
0
0
0
0
0
0
0
0
3
-12
-1
0
0
-22
-15
-3
0
0
-10
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-31
-2
1
0
68
20
-4
0
0
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-18
-6
-7
0
0
-8
5
-2
0
0
-19
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
25
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
39
21
5
0
-38
-44
20
3
0
47
-13
-14
0
0
-2
-13
0
0
0
0
0
0
0
0
0
43
29
1
0
57
20
16
0
0
1
6
-2
0
0
4
0
0
0
0
0
0
0
0
0
14
-16
0
0
0
38
-9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-44
-4
0
0
57
15
8
0
0
8
3
-1
0
0
4
0
0
0
0
0
0
0
0
0
6
8
5
0
0
20
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
24
0
0
0
33
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
3
0
0
7
10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
22
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
-41
17
-3
0
-74
63
8
-9
0
26
-20
19
0
0
26
-2
2
0
0
-2
0
0
0
0
-60
-5
24
1
0
16
-7
23
-1
0
53
4
2
0
0
9
-1
0
0
0
-1
0
0
0
0
-10
-17
-3
0
0
33
20
4
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
25
8
0
0
0
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-25
48
-1
0
-42
65
38
-1
0
2
-5
1
0
0
17
0
0
0
0
0
0
0
0
0
50
1
6
0
0
16
-5
3
0
0
-4
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
16
-12
0
0
0
20
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-29
-5
0
0
-1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
92
29
0
0
-43
44
25
0
0
42
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
45
-8
4
0
0
20
-4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
-17
9
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-24
9
0
0
-8
-24
1
0
0
30
13
0
0
0
2
0
0
0
0
0
0
0
0
0
16
15
2
0
0
27
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
8
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
39
-53
7
2
-6
-41
11
2
12
11
-9
3
0
-61
55
88
0
0
23
29
1
0
0
59
12
-39
-65
-1
13
-2
20
-36
0
3
-33
-14
-46
0
-100
-23
81
-1
0
-3
6
0
0
0
57
10
-58
-2
0
-11
-55
-7
15
0
-10
-34
-30
-5
0
-19
40
5
0
0
16
0
0
0
0
79
-1
-26
-7
0
-33
-51
2
-3
0
29
37
0
0
0
-14
13
0
0
0
0
0
0
0
0
1
-56
0
0
0
-9
-29
0
0
0
-42
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-12
-22
-23
0
15
-40
28
-20
1
12
21
-62
11
0
-28
-9
12
0
0
19
0
0
0
0
56
-43
-73
16
0
-44
25
37
-1
0
20
13
-19
-17
0
77
-16
6
0
0
41
3
0
0
0
-8
-26
-27
-41
0
-27
31
-59
-6
0
32
22
-32
0
0
-7
22
-1
0
0
6
0
0
0
0
0
1
-13
-2
0
13
-26
-1
0
0
10
36
0
0
0
-22
0
0
0
0
0
0
0
0
0
-6
-34
0
0
0
4
-12
0
0
0
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-20
-4
-13
0
-15
17
7
6
0
28
49
3
0
0
-56
45
-2
0
0
17
0
0
0
0
33
28
-64
30
0
8
18
-47
8
0
-37
26
-4
0
0
22
-17
-3
0
0
2
0
0
0
0
-57
-71
-42
0
0
-28
16
-16
0
0
-33
-5
5
0
0
-25
4
0
0
0
0
0
0
0
0
-32
-61
-7
0
0
-18
-52
-2
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-30
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-42
41
0
0
4
-4
48
0
0
-47
-30
-5
0
0
28
-5
0
0
0
0
0
0
0
0
-40
-35
-9
0
0
14
-28
7
0
0
3
3
-5
0
0
10
-5
0
0
0
0
0
0
0
0
-47
-2
-8
0
0
-32
-2
-9
0
0
-28
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
-8
9
0
0
0
-7
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
0
0
0
-48
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
0
0
0
-31
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
45
67
88
0
-15
-61
5
32
0
47
36
-4
2
0
3
-26
46
0
0
15
-3
0
0
0
86
49
40
14
0
-68
-48
23
4
0
-37
22
48
1
0
13
44
23
0
0
-6
-2
0
0
0
18
5
10
-1
0
-5
32
25
0
0
-119
42
12
0
0
24
19
0
0
0
-3
0
0
0
0
5
60
13
0
0
27
56
16
0
0
-6
-7
0
0
0
6
0
0
0
0
0
0
0
0
0
8
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-30
23
49
0
-10
9
53
25
0
-33
1
30
1
0
1
-26
-5
0
0
-2
-1
0
0
0
-25
24
83
6
0
-64
46
36
1
0
-3
43
48
0
0
24
-2
-5
0
0
-2
0
0
0
0
3
41
8
0
0
-30
61
0
0
0
-33
7
-1
0
0
45
0
0
0
0
0
0
0
0
0
-7
40
7
0
0
9
1
1
0
0
4
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
29
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
87
4
3
0
-120
-3
-34
0
0
-5
3
-14
0
0
4
-10
0
0
0
0
0
0
0
0
32
-21
33
0
0
13
13
-18
0
0
36
-8
-10
0
0
29
-1
0
0
0
0
0
0
0
0
-9
-10
2
0
0
0
3
1
0
0
14
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
18
3
0
0
22
-2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-10
2
0
0
8
2
3
0
0
-27
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
-15
-3
0
0
6
-1
-3
0
0
-8
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-15
-23
0
0
0
-17
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-10
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
2
0
0
0
-25
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
9
43
0
0
110
22
40
0
0
-11
-9
-1
0
0
13
2
0
0
0
0
0
0
0
0
31
41
30
0
0
-26
31
10
0
0
-20
13
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
1
0
0
-44
23
0
0
0
16
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
17
0
0
0
0
9
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-30
7
0
0
3
-15
2
0
0
-37
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
9
-13
2
0
0
30
13
0
0
0
-40
0
0
0
0
1
0
0
0
0
0
0
0
0
0
18
0
0
0
0
-29
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
0
0
0
10
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
-10
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
55
-6
-50
4
-5
-56
-43
-14
0
-5
-38
23
-40
0
26
-45
-16
-1
0
-3
5
0
0
0
29
-4
8
13
0
-52
10
27
6
0
53
-49
10
-9
0
-60
-42
-9
0
0
-24
-3
0
0
0
-30
91
-24
5
0
-17
70
-17
2
0
36
-45
0
0
0
4
13
-1
0
0
3
0
0
0
0
2
0
8
0
0
73
-8
8
0
0
-47
1
3
0
0
16
-2
0
0
0
0
0
0
0
0
18
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
6
56
-38
0
-19
54
112
-22
0
1
14
53
0
0
15
-48
-6
0
0
4
-1
0
0
0
-67
0
21
0
0
40
47
11
-2
0
-21
22
36
0
0
-37
-75
1
0
0
-3
-2
0
0
0
-2
-51
1
0
0
37
27
-34
0
0
99
-7
2
0
0
5
-7
0
0
0
0
0
0
0
0
-27
2
1
0
0
2
12
0
0
0
1
32
0
0
0
4
-2
0
0
0
0
0
0
0
0
33
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
4
-12
-1
0
25
-67
-14
-1
0
47
-44
-8
0
0
21
2
0
0
0
0
0
0
0
0
-11
58
17
0
0
33
-39
-8
0
0
21
-2
-3
0
0
19
-2
0
0
0
0
0
0
0
0
43
42
18
0
0
62
25
-1
0
0
0
-7
0
0
0
-9
0
0
0
0
0
0
0
0
0
-23
-10
0
0
0
1
-9
0
0
0
-8
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
6
0
0
47
5
3
0
0
14
3
0
0
0
13
0
0
0
0
0
0
0
0
0
-13
8
-2
0
0
3
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
0
0
0
8
0
0
0
0
-9
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
51
5
8
0
-40
-5
56
8
0
24
-24
4
0
0
-5
-48
1
0
0
-5
0
0
0
0
-61
0
-7
0
0
-6
40
11
0
0
27
41
13
0
0
47
-8
0
0
0
-4
0
0
0
0
-29
-48
-22
0
0
20
-60
-7
0
0
-9
20
0
0
0
-9
0
0
0
0
0
0
0
0
0
-33
-20
2
0
0
-16
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
-63
-2
0
-36
1
-25
0
0
-40
-57
17
0
0
9
-36
0
0
0
-3
0
0
0
0
54
-19
-31
0
0
-21
51
-42
0
0
-3
-3
0
0
0
1
-10
0
0
0
-4
0
0
0
0
-33
17
-7
0
0
-42
14
-4
0
0
-15
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
-14
-12
0
0
0
-25
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
23
-24
0
0
-20
-7
-8
0
0
7
8
0
0
0
13
0
0
0
0
0
0
0
0
0
56
-28
-9
0
0
67
-29
-3
0
0
-3
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
28
7
2
0
0
-13
-7
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
-6
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-3
0
0
0
-7
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
41
1
0
0
45
13
0
0
0
-27
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
63
17
1
0
0
-2
14
0
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
0
0
0
39
12
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
0
0
0
27
5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
9
88
-8
0
-68
-51
44
0
0
44
41
-22
0
0
42
-25
0
0
0
0
0
0
0
0
11
-76
69
0
0
3
-20
54
0
0
3
0
-2
0
0
69
0
0
0
0
0
0
0
0
0
0
-53
-43
0
0
-3
-20
0
0
0
-29
-23
0
0
0
3
0
0
0
0
0
0
0
0
0
14
4
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
36
59
0
0
-47
41
-16
0
0
40
14
0
0
0
30
-1
0
0
0
0
0
0
0
0
12
-22
24
0
0
35
23
-7
0
0
-24
1
0
0
0
30
0
0
0
0
0
0
0
0
0
-7
22
-1
0
0
17
30
0
0
0
-15
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-11
5
0
0
7
-13
0
0
0
48
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-43
-13
0
0
0
-56
-8
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-1
-3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
9
-5
0
0
-38
-19
0
0
0
-34
-29
0
0
0
1
-3
0
0
0
0
0
0
0
0
15
7
1
0
0
-48
13
2
0
0
-22
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-19
-20
0
0
0
-44
-8
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
-1
0
0
-3
-4
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-25
0
0
0
-12
5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
-17
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
0
0
-5
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
39
62
0
17
1
-3
-60
22
2
-10
-10
-28
10
0
-21
29
86
6
0
-10
1
1
0
0
64
30
29
-18
-1
13
-27
-11
-11
0
6
-14
-22
-45
0
-12
-20
31
-1
0
-44
-10
0
0
0
22
-7
16
-47
0
11
-21
12
-35
0
0
12
-72
-5
0
-12
9
-16
0
0
12
0
0
0
0
-26
23
9
-7
0
-37
5
31
-3
0
-8
16
-3
0
0
34
25
0
0
0
0
0
0
0
0
-12
-89
0
0
0
26
-40
0
0
0
-40
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-2
-36
-10
0
19
-21
-21
12
1
19
-37
10
53
0
25
9
-33
0
0
22
4
0
0
0
32
-26
-29
12
0
-12
-3
14
20
0
-10
-41
31
-3
0
38
-7
-9
0
0
20
3
0
0
0
0
-21
51
-99
0
-10
-29
-63
-15
0
17
0
-29
0
0
-66
55
-1
0
0
7
0
0
0
0
25
21
7
-2
0
0
-37
10
0
0
-31
14
0
0
0
4
0
0
0
0
0
0
0
0
0
-5
-10
0
0
0
1
-2
0
0
0
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-30
15
13
0
-29
21
52
29
0
4
30
13
0
0
28
49
-1
0
0
23
0
0
0
0
-14
19
13
34
0
-32
-21
-24
10
0
5
52
-26
0
0
31
-49
-3
0
0
2
0
0
0
0
11
59
-24
0
0
-18
-7
-37
0
0
13
50
1
0
0
-72
0
0
0
0
0
0
0
0
0
-45
41
-5
0
0
-43
-49
-3
0
0
-26
-13
0
0
0
-2
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-19
-7
0
0
-16
48
43
0
0
-41
-61
-8
0
0
87
-8
0
0
0
0
0
0
0
0
-10
2
-12
0
0
-8
37
17
0
0
34
11
-5
0
0
32
-5
0
0
0
0
0
0
0
0
-21
21
-10
0
0
-10
13
-9
0
0
27
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
-13
21
0
0
0
5
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
54
0
0
0
-117
13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
32
0
0
0
-59
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
-38
62
61
0
10
16
-27
24
0
13
4
43
6
0
62
-3
49
0
0
19
-3
0
0
0
39
-8
27
28
0
-37
-11
-18
4
0
-51
38
112
1
0
-11
69
16
0
0
-4
-2
0
0
0
-35
1
34
0
0
-4
-2
27
0
0
-105
10
18
0
0
-21
10
0
0
0
-3
0
0
0
0
15
42
12
0
0
94
60
16
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
34
1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
16
54
0
-42
32
72
27
0
-17
-2
74
1
0
10
-42
-7
0
0
-3
-1
0
0
0
-70
-13
42
5
0
-4
39
-4
-2
0
17
20
46
0
0
6
10
-5
0
0
-2
0
0
0
0
-13
-5
30
0
0
-1
15
10
0
0
39
-45
-1
0
0
16
-3
0
0
0
0
0
0
0
0
59
15
7
0
0
67
-4
1
0
0
23
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
54
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
78
-5
4
0
-42
-32
-57
0
0
41
2
-22
0
0
4
-13
0
0
0
0
0
0
0
0
11
-42
25
0
0
30
-15
-29
0
0
13
-17
-12
0
0
5
-2
0
0
0
0
0
0
0
0
-18
-21
-3
0
0
13
-28
1
0
0
43
-8
0
0
0
-5
-1
0
0
0
0
0
0
0
0
26
18
3
0
0
42
-5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-11
-5
0
0
10
-6
2
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-23
-4
0
0
6
-10
-3
0
0
3
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-30
-30
0
0
0
-22
-14
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
2
0
0
0
-50
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
-14
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-23
45
0
0
41
-2
35
0
0
17
-40
-2
0
0
14
2
0
0
0
0
0
0
0
0
59
89
21
0
0
-7
55
10
0
0
19
12
1
0
0
-2
0
0
0
0
0
0
0
0
0
22
22
1
0
0
-49
41
0
0
0
15
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
49
0
0
0
0
17
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
-7
6
0
0
-66
-32
1
0
0
10
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
9
46
2
0
0
39
18
0
0
0
-11
0
0
0
0
1
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
-33
2
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-18
0
0
0
-33
-22
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
0
0
0
-36
4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
30
-46
6
4
24
-17
11
-7
0
-5
10
-1
-23
0
-1
-56
-11
-1
0
-3
5
0
0
0
30
-36
-1
26
0
-42
-4
44
12
0
13
-40
-42
-8
0
-25
3
-7
0
0
-35
-3
0
0
0
-21
-13
-28
-8
0
24
16
-19
-1
0
-39
-43
-1
0
0
13
24
-1
0
0
3
0
0
0
0
-47
-26
12
0
0
48
-50
9
0
0
-132
5
3
0
0
15
-2
0
0
0
0
0
0
0
0
-2
3
0
0
0
-12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-13
-3
-58
0
-48
31
36
-22
0
-14
35
41
1
0
-11
-59
-4
0
0
-6
-1
0
0
0
-53
11
29
0
0
-19
73
7
-5
0
-22
37
46
0
0
-52
-57
1
0
0
-4
-2
0
0
0
23
-29
14
0
0
9
39
-29
0
0
5
-49
6
0
0
15
2
0
0
0
0
0
0
0
0
27
19
5
0
0
7
9
0
0
0
-39
36
0
0
0
4
-2
0
0
0
0
0
0
0
0
16
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-26
-3
0
34
-29
-2
-1
0
40
-62
-11
0
0
-3
-8
0
0
0
0
0
0
0
0
-11
51
5
0
0
33
-44
-5
0
0
6
-4
-5
0
0
-8
-2
0
0
0
0
0
0
0
0
-16
22
13
0
0
3
2
-2
0
0
-1
-16
0
0
0
-18
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
-4
0
0
0
-9
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
31
5
0
0
51
48
4
0
0
-2
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
11
17
0
0
0
18
11
0
0
0
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
0
0
0
-22
2
0
0
0
-5
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
32
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
24
-31
1
0
-12
-6
-20
3
0
-36
-1
14
0
0
-45
-41
1
0
0
-5
0
0
0
0
-35
-35
-34
-2
0
-22
23
-35
0
0
-30
66
15
0
0
23
-8
0
0
0
-4
0
0
0
0
-33
-63
-34
0
0
31
-43
-13
0
0
-4
27
0
0
0
-12
0
0
0
0
0
0
0
0
0
-91
-45
2
0
0
8
-26
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-27
-84
-5
0
-30
66
-26
0
0
21
-33
25
0
0
-23
-44
0
0
0
-3
0
0
0
0
11
-18
-84
0
0
-11
54
-79
0
0
19
8
0
0
0
-20
-10
0
0
0
-4
0
0
0
0
-31
23
-9
0
0
-33
46
-4
0
0
20
3
0
0
0
1
0
0
0
0
0
0
0
0
0
7
-13
0
0
0
11
-14
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-21
-21
0
0
11
8
-7
0
0
72
31
0
0
0
9
0
0
0
0
0
0
0
0
0
7
-81
-10
0
0
29
-69
-3
0
0
-18
0
0
0
0
2
0
0
0
0
0
0
0
0
0
52
7
2
0
0
-31
-3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
11
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-11
0
0
0
3
-1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-10
0
0
0
-10
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
11
0
0
0
18
-1
0
0
0
-37
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
65
17
1
0
0
-23
13
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
-20
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
48
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
4
0
0
0
22
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
7
27
-8
0
-49
-28
2
0
0
58
-42
-23
0
0
67
-27
0
0
0
0
0
0
0
0
-30
-73
41
0
0
50
-22
49
0
0
-48
-39
-2
0
0
59
-1
0
0
0
0
0
0
0
0
47
-65
-48
0
0
19
26
0
0
0
-115
-22
0
0
0
3
0
0
0
0
0
0
0
0
0
-44
5
0
0
0
-20
2
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-3
0
0
-30
-40
-51
0
0
48
-37
0
0
0
29
0
0
0
0
0
0
0
0
0
-17
-29
6
0
0
35
9
-13
0
0
-17
-4
0
0
0
26
0
0
0
0
0
0
0
0
0
24
31
-1
0
0
46
54
0
0
0
-57
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
-54
-5
0
0
0
-51
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
11
6
0
0
-40
-40
0
0
0
47
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
17
13
0
0
0
-56
-20
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
68
6
0
0
0
13
-6
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-8
0
0
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-12
0
0
7
29
-3
0
0
-54
-33
0
0
0
0
-3
0
0
0
0
0
0
0
0
34
-9
3
0
0
-18
4
2
0
0
-51
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
27
-10
0
0
0
7
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
22
-10
0
0
3
17
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
0
0
0
21
14
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
41
25
0
0
0
27
13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
-35
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-18
0
0
0
-15
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
34
-4
-20
4
53
10
10
12
1
3
89
-18
13
0
51
-4
-19
-2
0
11
-2
0
0
0
36
12
9
34
0
21
13
20
33
0
-21
10
-12
6
0
1
-27
-19
-1
0
-8
-2
0
0
0
-5
-56
-34
-48
0
5
8
-35
-21
0
-43
3
-11
0
0
-7
3
-4
0
0
0
0
0
0
0
-14
16
17
-4
0
6
-2
12
-1
0
2
14
1
0
0
26
4
0
0
0
0
0
0
0
0
-36
-31
0
0
0
5
-7
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
71
33
-20
-41
1
24
3
-18
-7
0
52
13
-18
2
0
64
24
-2
0
0
18
-3
0
0
0
-44
22
-14
-9
0
-27
23
31
0
0
-23
14
-7
0
0
-20
-11
-4
0
0
7
-2
0
0
0
7
-20
-3
-18
0
-18
9
-12
0
0
12
-7
-1
0
0
-12
-4
-1
0
0
3
0
0
0
0
-1
9
14
-3
0
20
-32
3
0
0
9
9
0
0
0
5
-1
0
0
0
0
0
0
0
0
-12
-8
0
0
0
13
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-57
33
1
0
24
-22
42
10
0
37
-41
13
0
0
-33
-11
-2
0
0
3
0
0
0
0
-10
11
18
8
0
-32
8
10
4
0
-14
-48
-17
0
0
-34
-27
-1
0
0
0
0
0
0
0
60
80
11
0
0
11
28
-3
0
0
42
13
3
0
0
-13
0
0
0
0
0
0
0
0
0
-44
20
3
0
0
-20
-6
1
0
0
17
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
17
10
0
0
-45
32
14
0
0
-8
-35
-6
0
0
41
-4
0
0
0
0
0
0
0
0
29
-4
1
0
0
-29
6
3
0
0
-16
-41
-4
0
0
7
-4
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-1
-10
-2
0
0
19
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
-5
6
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
0
0
0
-9
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
-8
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
-14
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
18
-28
0
-27
-49
50
4
0
-32
6
35
3
0
8
-19
8
0
0
-3
-1
0
0
0
50
-37
5
-6
0
12
-47
13
5
0
-23
11
38
2
0
-7
-16
0
0
0
-2
-1
0
0
0
-30
-6
14
-1
0
-14
-1
12
0
0
-16
-2
0
0
0
-9
2
0
0
0
-1
0
0
0
0
5
33
9
0
0
20
30
3
0
0
-2
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
13
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
84
-6
-5
0
24
-11
-2
9
0
17
6
17
0
0
20
-10
-2
0
0
-2
0
0
0
0
-38
8
-6
-3
0
26
-4
0
0
0
12
14
5
0
0
16
-3
-2
0
0
-2
0
0
0
0
-57
13
12
0
0
-5
8
1
0
0
28
0
0
0
0
16
0
0
0
0
0
0
0
0
0
39
33
2
0
0
39
17
0
0
0
9
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
27
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-60
-5
-1
0
-19
-42
0
0
0
-6
-24
0
0
0
14
-2
0
0
0
0
0
0
0
0
-18
-62
0
0
0
18
-35
-4
0
0
22
-29
-5
0
0
1
0
0
0
0
0
0
0
0
0
-34
8
-2
0
0
-15
-2
3
0
0
54
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
5
21
0
0
0
12
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
2
0
0
-20
-2
2
0
0
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-19
-1
0
0
-12
-5
-1
0
0
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
-13
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
10
8
0
0
49
17
6
0
0
47
5
0
0
0
4
1
0
0
0
0
0
0
0
0
17
15
7
0
0
-5
46
1
0
0
20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
-6
9
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
5
0
0
1
-14
1
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
2
0
0
-20
9
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
-17
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-13
0
0
0
0
-10
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
0
0
0
-22
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-23
-13
-5
1
29
-5
12
0
0
23
42
-27
-3
0
5
-8
-5
0
0
-7
-3
0
0
0
-23
-2
-41
-1
0
8
25
-27
3
0
-43
-24
-26
-2
0
13
-2
3
0
0
-2
-1
0
0
0
10
5
-15
-1
0
21
7
-4
0
0
22
-7
2
0
0
2
-4
-1
0
0
0
0
0
0
0
12
-9
8
0
0
-25
-11
6
0
0
-13
-6
0
0
0
5
-2
0
0
0
0
0
0
0
0
13
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-27
-26
-20
0
-28
-25
-3
-9
0
35
4
-13
0
0
10
-30
-2
0
0
-1
-2
0
0
0
-52
30
5
-13
0
-34
13
-2
-4
0
-16
-9
-10
0
0
-4
-26
2
0
0
-3
-2
0
0
0
5
-2
20
0
0
2
1
13
0
0
15
-16
0
0
0
14
-5
0
0
0
0
0
0
0
0
42
20
1
0
0
-18
5
2
0
0
6
5
0
0
0
3
0
0
0
0
0
0
0
0
0
27
3
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-33
26
0
0
19
-9
26
0
0
41
2
13
0
0
30
4
0
0
0
0
0
0
0
0
39
-49
-19
0
0
-17
-28
-17
0
0
-3
-14
-1
0
0
20
-2
0
0
0
0
0
0
0
0
-25
-9
3
0
0
-13
-8
0
0
0
20
-17
0
0
0
2
-1
0
0
0
0
0
0
0
0
-65
-19
0
0
0
-40
-10
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
14
4
0
0
-43
-1
1
0
0
-16
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
41
28
0
0
0
3
16
0
0
0
-25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
0
0
-4
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
-10
-1
0
-10
-7
21
0
0
-49
4
13
0
0
5
-30
0
0
0
-6
0
0
0
0
-43
-26
-9
0
0
-29
-1
-8
0
0
-55
29
5
0
0
7
-13
0
0
0
-3
0
0
0
0
30
34
-14
0
0
15
34
-5
0
0
46
24
0
0
0
1
0
0
0
0
0
0
0
0
0
-32
-13
0
0
0
-12
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
4
0
0
43
37
27
0
0
42
21
20
0
0
19
-20
0
0
0
-2
0
0
0
0
0
2
3
0
0
17
27
-3
0
0
8
7
0
0
0
10
-8
0
0
0
-1
0
0
0
0
39
51
-5
0
0
5
35
-5
0
0
41
9
0
0
0
4
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
-15
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-44
-8
0
0
8
-30
-2
0
0
28
8
0
0
0
14
0
0
0
0
0
0
0
0
0
15
-46
-10
0
0
10
-30
-3
0
0
-2
-8
0
0
0
3
0
0
0
0
0
0
0
0
0
20
10
0
0
0
-24
-2
0
0
0
27
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
-7
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
8
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-25
1
0
0
-12
-10
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
-16
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
5
1
0
0
37
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
-41
-1
0
-30
4
-8
0
0
2
-41
-1
0
0
6
-5
0
0
0
0
0
0
0
0
-76
-22
-8
0
0
-71
-8
-3
0
0
-29
-11
0
0
0
3
-1
0
0
0
0
0
0
0
0
47
1
-9
0
0
-20
7
0
0
0
-29
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
-9
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
14
-25
0
0
-4
-16
-3
0
0
25
-15
0
0
0
9
0
0
0
0
0
0
0
0
0
-26
23
1
0
0
-18
-16
-1
0
0
-22
-9
0
0
0
8
0
0
0
0
0
0
0
0
0
48
8
0
0
0
-6
1
0
0
0
-14
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
-18
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
26
-1
0
0
21
9
0
0
0
32
0
0
0
0
1
0
0
0
0
0
0
0
0
0
27
6
1
0
0
-7
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
24
-1
0
0
0
-16
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
2
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-5
0
0
-5
22
2
0
0
3
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
9
-14
1
0
0
7
0
0
0
0
-3
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
8
-7
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
6
0
0
0
0
5
0
0
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
0
0
0
29
-4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
20
0
0
0
12
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
8
-57
-3
-3
-4
-8
-1
-4
-21
-25
-1
-62
-52
-15
3
1
-16
-44
-12
-83
-21
26
-32
-5
0
16
-20
-18
-13
-21
-10
-14
-5
0
-34
-16
13
27
-8
-20
4
3
0
5
-24
3
-18
25
0
-3
-2
0
0
0
4
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-7
-5
0
0
0
0
0
-72
-11
-28
-8
-13
-1
0
0
0
-41
-26
-24
-85
5
2
0
0
0
8
-79
55
-65
-16
-8
0
0
0
15
17
-17
-30
-5
9
0
0
0
0
0
-8
-34
8
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-22
55
-2
17
-3
41
14
26
-3
-38
35
-94
4
-14
-47
-4
48
-2
-26
0
-40
-1
8
45
0
-73
-22
35
53
29
-30
-25
-25
-3
-54
-5
32
105
22
0
-3
3
0
0
-15
-1
33
4
-2
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-7
-47
3
0
0
0
0
-31
-8
-36
29
2
-2
0
0
0
-19
-69
41
-58
9
-1
1
0
0
-32
-44
-3
7
-15
-3
0
0
0
-1
12
11
44
-7
-5
0
0
0
0
0
-7
2
-5
0
0
0
0
0
0
0
0
-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
47
28
4
40
1
-6
8
2
7
33
55
45
-3
-11
-14
-1
-8
-42
45
40
-4
7
23
13
-15
-30
-6
14
106
13
1
-3
10
-2
-8
-1
-20
-3
29
-5
5
-5
-7
0
4
0
0
-3
30
-2
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
71
-33
30
2
1
0
0
0
10
14
8
32
-3
-3
-1
1
0
3
-7
36
35
-12
10
-2
-1
0
1
-5
19
47
0
0
-1
0
0
0
2
13
6
4
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
43
-10
5
-1
-1
-3
2
3
100
15
0
9
-4
1
-8
9
3
24
-39
6
19
-3
12
7
4
-2
24
5
23
-4
18
0
5
1
0
0
-6
9
14
8
2
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-15
10
17
0
0
0
0
0
27
32
36
24
-2
0
0
0
0
2
67
10
8
-1
0
0
0
0
1
5
1
12
-2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
19
-18
10
0
0
0
0
0
11
-19
-6
7
1
0
0
0
0
8
66
-14
14
0
0
0
-1
0
0
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
53
12
0
0
0
0
0
0
36
6
-20
4
0
0
0
0
0
1
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
22
5
0
0
0
0
0
0
25
-12
0
0
0
0
0
0
0
-3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
-3
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
-18
41
-23
-6
54
-39
-6
10
6
6
-14
-17
10
-47
-12
-10
28
18
31
6
-2
-22
3
-21
3
-43
-3
-20
46
-21
21
-20
4
1
8
-22
3
21
3
10
-1
-2
0
-1
8
-41
-8
-3
-1
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
30
-55
-8
2
0
0
0
0
23
13
-26
-22
0
0
0
0
0
-21
57
-8
-33
9
0
0
0
0
54
74
-48
-1
10
0
0
0
0
0
1
-31
44
-3
-2
0
0
0
0
0
-10
6
-4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
61
-32
13
-23
-12
-10
41
2
64
67
12
8
-49
10
26
25
47
57
46
31
-25
-19
-17
9
-44
-3
16
2
22
-1
4
-3
-10
-26
-14
-16
65
19
16
-30
-8
-1
8
0
0
-1
-8
19
8
3
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
141
-27
-3
1
0
0
0
0
49
87
-21
-3
-7
0
0
0
0
54
21
24
37
8
-3
0
1
0
-1
-39
38
0
3
1
0
0
0
0
4
-2
10
3
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
55
42
-75
0
-5
-30
20
44
16
70
-19
57
5
-27
62
26
-20
74
41
-32
-3
21
-6
2
26
20
-3
63
16
13
-14
-3
13
3
-5
0
0
19
7
0
-3
1
-2
-2
0
0
2
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
72
27
38
0
-1
0
0
0
57
20
32
-5
-4
1
0
0
0
-3
16
-5
8
4
-1
0
0
0
0
5
9
13
-1
1
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
45
-51
-13
9
-9
-9
-7
6
51
61
23
-8
-6
4
32
-13
20
-14
-10
45
5
13
-1
-2
-17
-1
1
-29
45
7
0
1
-1
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
73
29
6
0
0
0
0
0
24
73
-24
2
0
0
0
1
0
-5
-27
5
-2
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-17
3
0
1
0
1
0
22
-15
48
9
0
0
0
-2
0
-4
-23
-2
3
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
29
13
0
0
0
0
0
0
13
-6
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
6
-3
4
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-27
34
-4
-5
-2
3
2
13
-12
-26
7
-6
10
-2
4
1
41
-40
15
25
2
-8
13
5
0
-18
-20
24
54
10
0
0
0
0
0
30
-2
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
-21
-5
-1
0
0
0
0
-57
-34
37
-23
5
1
0
0
0
-89
91
-55
10
-9
0
0
0
0
51
-63
-11
-40
0
0
0
0
0
-4
12
-3
-36
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
27
-8
8
25
-2
2
3
8
31
32
26
39
18
-4
-5
1
24
1
42
10
2
8
20
-6
-1
-16
64
7
27
-8
-5
-1
-1
0
2
-33
13
29
-7
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
33
4
-5
1
0
0
0
0
-38
77
-26
30
-6
1
0
0
0
29
3
46
15
17
0
0
0
0
16
31
23
-1
-5
0
0
0
0
0
-8
22
-12
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
68
56
-19
-3
4
3
4
0
-19
33
52
54
2
7
-7
8
2
36
48
49
-14
16
-7
-5
13
0
25
9
-7
5
20
-2
0
0
0
0
-2
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
106
10
29
0
0
1
0
0
66
22
-8
0
-2
0
0
0
0
6
0
40
33
4
0
0
0
0
1
3
16
8
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
29
45
8
0
0
-1
-2
0
41
57
62
5
0
0
4
-8
0
19
14
25
2
0
0
0
0
0
1
-2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
45
1
1
0
0
0
0
0
52
52
24
4
-1
0
0
0
0
5
15
2
0
1
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-32
10
0
0
0
0
0
0
31
16
4
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
0
0
14
5
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-27
-8
30
8
-32
31
4
71
61
-19
-46
-2
15
7
-8
-3
9
86
-27
29
-2
9
0
7
2
-9
94
-12
-1
0
2
0
0
0
3
-9
-4
16
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-15
0
0
0
0
0
0
-2
67
-30
25
0
0
0
0
0
-11
31
63
7
-1
0
0
0
0
23
46
41
-8
-1
0
0
0
0
0
1
25
2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
80
27
47
3
-50
-22
8
-29
45
83
50
32
-21
-17
54
10
-8
62
67
39
13
-16
16
7
-36
0
-17
48
67
4
-9
0
0
1
0
0
10
8
3
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
126
-48
9
-2
0
0
0
0
134
10
24
1
-4
0
0
1
0
51
81
4
4
5
-1
0
0
0
1
10
4
-6
-1
-1
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
12
46
30
8
3
0
-14
-22
118
74
10
3
-2
-3
-15
4
-4
13
118
20
-6
4
-1
0
18
-1
0
8
10
1
1
1
0
0
2
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
95
38
-1
0
0
0
0
0
49
72
0
-1
0
0
0
0
0
73
-40
48
7
0
0
0
0
0
0
2
2
1
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-7
2
1
1
-1
5
0
25
34
12
4
4
5
0
-3
1
12
33
-7
1
0
0
-2
1
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
23
25
0
0
0
0
0
0
30
30
6
0
0
0
0
0
0
-2
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
57
12
0
0
0
0
-1
0
-5
15
-2
-1
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
27
-34
2
0
0
-6
-7
0
87
26
-46
-2
0
0
3
0
0
46
26
17
-1
0
0
0
0
0
-25
-4
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-57
-3
0
0
0
0
0
-29
72
18
-22
-1
0
0
0
0
16
-6
19
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
56
50
2
0
-1
0
0
-4
79
12
28
-14
0
-3
4
3
0
54
7
54
8
0
-1
-1
0
0
17
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
39
74
-3
0
0
0
0
0
104
-1
30
-5
0
0
0
0
0
18
8
31
9
-1
0
0
0
0
0
29
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
49
9
1
0
-4
0
2
-2
95
-14
19
0
0
0
1
2
0
3
54
5
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
60
23
0
0
0
0
0
0
29
33
-3
1
0
0
0
0
0
0
41
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-16
9
0
0
0
0
0
0
12
27
-5
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
108
-20
0
0
0
0
0
0
-3
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
28
-14
0
0
0
-3
3
34
28
12
-4
-1
0
-3
1
0
76
40
-21
-1
0
0
0
1
0
10
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-3
1
0
0
0
0
0
-9
70
26
1
0
0
0
0
0
43
27
7
4
-1
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
155
73
4
0
0
-2
-1
-6
31
-30
25
-9
-2
1
4
2
0
-6
9
-12
-2
0
0
0
1
0
1
-18
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
111
40
0
0
0
0
0
0
-19
128
20
-2
0
0
0
0
0
13
33
-17
1
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
59
36
2
0
0
-1
-5
1
38
40
-25
1
0
0
0
2
0
0
-3
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
83
7
0
0
0
0
0
0
33
-40
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
2
0
0
0
0
-1
0
13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
40
5
0
0
0
0
0
0
-7
58
-3
0
0
0
0
0
0
-2
16
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
56
-22
0
0
0
0
0
0
4
68
-3
-1
0
0
0
0
0
3
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
44
2
0
0
0
0
2
0
-60
-18
0
0
0
0
0
0
0
-3
-40
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
39
5
-1
0
0
0
0
0
40
29
-4
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
49
0
0
0
0
0
0
0
3
13
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
51
0
0
0
0
0
0
0
-1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-3
-3
0
0
0
0
0
0
-8
-35
1
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
114
1
0
0
0
0
0
0
-13
18
-1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
73
1
0
0
0
0
0
0
40
-13
3
0
0
0
0
1
0
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
0
-6
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-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
1
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
45
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
48
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
34
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-122
-195
-55
-7
-8
-5
-44
-1
-99
-145
-180
-130
-79
-124
-117
14
-2
-58
-86
-92
-57
-70
-24
-100
-64
-42
-30
-41
-22
-78
-27
-128
-65
-98
-30
-12
-10
-34
30
-60
-40
-31
84
-78
25
-30
-12
69
9
-78
-4
-13
0
0
-16
-59
-62
32
55
-4
-3
0
0
0
0
13
-8
-6
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-81
-68
-93
-40
0
0
0
0
0
-43
-105
-154
21
-27
-4
-1
0
0
-11
-44
-60
-79
-19
-25
-5
0
0
90
8
-74
-67
-36
-6
-5
0
0
55
6
-41
8
-92
49
-3
2
0
-12
90
-14
-54
-34
-12
-8
-2
0
0
0
43
39
-61
-6
-3
0
0
0
0
0
0
17
-8
4
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-30
-72
-133
-45
-7
0
-13
33
-22
-10
-42
-68
-79
7
-4
-40
-73
-49
-17
-17
-20
4
-118
-96
0
-12
-13
3
18
3
2
-62
-23
-60
-56
-12
20
-16
-25
29
-15
-11
14
-6
26
-9
51
90
-1
2
2
-68
11
3
-1
5
20
-54
-37
29
-5
2
0
0
0
0
18
4
-4
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-12
-103
-51
30
0
0
0
0
4
-6
-37
9
-53
-31
4
-1
-3
-1
38
-20
-26
-86
-3
-52
-16
4
72
16
19
-32
-80
-19
-50
15
2
69
103
-9
31
-44
-56
-16
4
0
4
6
21
4
-14
-1
1
-1
0
0
0
33
52
-22
-19
8
1
0
0
0
-2
8
-10
29
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
52
24
-57
13
-80
49
-69
28
-35
55
19
-1
26
-68
25
-27
45
-91
24
31
34
-6
-9
-42
5
-71
-31
49
66
44
96
-64
-9
-22
-15
-71
-46
118
22
78
88
47
-9
-59
4
-1
-1
-4
-27
40
4
94
-53
1
0
0
3
48
19
-19
4
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
40
-31
56
-33
1
1
-1
-3
22
40
-18
-3
-19
-30
-11
12
3
23
60
42
-38
10
12
-24
3
3
23
68
17
61
-19
-18
5
-4
0
5
100
40
-33
4
47
23
0
0
2
-2
1
85
-42
43
0
0
0
0
0
-8
0
40
15
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
12
-11
-58
22
-28
9
4
4
21
35
-6
25
-36
-54
40
61
-5
10
66
16
-23
16
-16
-1
-23
11
61
13
99
57
5
-66
11
47
-2
50
13
12
13
82
40
-19
-11
-1
0
9
10
6
19
24
-5
3
0
0
0
0
3
30
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
61
11
43
3
2
-2
-1
0
21
59
11
22
-38
2
8
-7
0
68
95
-5
50
-78
63
-22
0
0
2
94
-4
89
-52
-3
-4
0
0
-3
40
44
-35
76
26
1
0
0
0
0
0
41
9
3
1
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
42
31
89
-3
7
-8
42
3
120
72
29
12
32
47
-35
-110
8
-1
114
30
42
18
8
-21
-7
13
-46
7
-49
51
52
25
-3
-3
0
-10
3
34
15
-10
8
2
1
0
0
0
3
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
86
31
33
15
1
0
-7
0
-5
67
35
4
21
20
0
-2
0
-4
53
25
-10
14
30
0
0
0
36
53
12
-3
-74
-7
5
0
0
0
1
2
-10
-14
-3
1
0
0
0
0
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
30
43
-4
0
0
0
0
0
31
58
-21
44
-1
0
0
0
0
-44
32
-5
1
17
0
-2
4
0
-3
66
46
14
13
-1
-6
0
0
0
-7
5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
48
-12
-13
0
0
0
0
0
57
31
-19
1
29
0
0
0
0
-9
46
25
-17
-8
2
0
0
0
0
10
1
3
13
0
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
78
-18
3
0
0
0
0
0
52
40
4
-5
-4
1
0
0
0
-49
5
-5
2
14
0
0
0
0
0
18
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
44
-4
0
0
0
0
0
0
27
48
-8
-5
0
0
0
0
0
0
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
2
0
0
0
0
0
0
29
10
-16
1
0
0
0
0
0
7
14
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-1
0
0
0
0
0
0
2
-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
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-27
10
37
-14
-25
27
-157
-50
-12
-43
-103
-72
-25
-20
-91
-24
38
-16
-7
-51
-7
-16
-61
41
-88
-23
-7
2
-14
-23
-81
11
-42
-49
88
-61
54
2
29
-66
41
-81
70
33
-3
32
10
32
29
-16
0
-5
0
0
-4
-13
38
-27
14
5
0
0
0
0
0
-10
1
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-72
-140
-13
5
0
0
0
0
14
5
-121
-21
-34
0
0
0
0
-13
30
-49
-66
-23
13
1
0
0
74
50
-64
1
2
-71
0
-2
0
71
17
-62
25
3
-15
3
0
0
5
5
-32
11
-25
-20
4
0
0
0
0
0
14
18
-6
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
16
-70
17
-99
3
-58
77
-9
46
39
-35
-49
-61
14
-50
11
-31
30
55
-2
13
25
22
10
-2
-16
5
98
34
26
-14
23
18
-98
-17
-21
41
47
39
-94
-36
15
61
-25
-13
-6
48
64
48
28
-24
41
-12
0
-3
66
0
-36
-4
8
-1
0
0
0
0
8
-8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
24
-50
-75
10
0
0
0
0
40
87
-1
-50
29
-56
-7
-1
-1
9
86
16
0
26
-39
-16
2
-1
45
96
92
-39
-54
-8
9
3
0
-23
154
-46
8
-40
37
4
-1
0
0
1
16
61
16
-11
-3
4
0
0
0
0
-15
19
2
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
58
-43
-77
10
-12
-8
-6
-34
50
60
5
-5
-85
-100
18
-47
-86
24
77
11
77
15
-43
24
-73
8
67
101
75
10
-55
-58
32
-36
7
48
46
87
10
-21
-38
-19
27
24
0
7
70
79
39
55
-47
-13
1
0
0
-1
-2
30
7
-1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
125
-55
-38
-19
-6
0
0
0
31
98
-14
-17
25
38
-1
-1
0
112
134
30
3
-44
-14
-29
-1
0
85
41
13
10
-15
-19
7
0
0
-8
15
77
14
48
14
-22
1
0
0
0
34
-17
15
5
2
0
0
0
0
4
-14
40
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
79
-45
37
-16
-38
-9
-32
52
92
105
-42
-59
-5
101
-14
-40
-42
-12
129
30
86
62
30
-22
1
22
39
52
14
95
68
22
58
-13
-62
-25
98
16
1
40
-13
15
30
7
0
-16
8
25
-21
-1
1
1
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
53
28
8
40
-8
0
-2
0
33
124
40
11
17
-10
-3
6
0
78
35
48
34
-2
5
-6
7
1
51
30
73
-42
20
-1
7
6
0
0
-6
48
17
13
2
0
0
0
0
0
-2
-16
8
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
45
5
-28
-18
2
16
21
-29
63
10
55
67
-43
-9
60
43
26
2
36
53
49
-9
-33
60
52
11
17
25
10
81
25
27
30
-10
-9
-14
16
18
-19
40
16
0
-1
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
42
-48
47
-7
0
0
0
0
47
65
9
18
2
4
-1
2
0
22
93
-3
22
-3
8
1
0
0
2
-9
19
5
5
5
-2
0
0
-2
0
-12
-7
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
20
12
0
0
-3
-57
0
23
86
31
-14
-3
-13
1
-20
1
-51
13
-17
46
6
-4
-1
2
0
18
-22
21
30
6
0
2
0
0
0
1
8
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
64
-15
-17
0
0
0
0
0
-16
83
-3
47
-5
0
0
0
0
-6
48
-27
-8
2
0
0
0
0
0
0
-14
-2
9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-3
-55
-2
0
0
0
0
0
28
19
1
-10
0
0
0
0
0
22
30
-40
-8
0
1
0
0
0
1
3
4
-2
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-40
-10
5
0
0
0
0
0
-9
1
12
1
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
19
0
0
0
0
0
0
0
-22
40
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-97
-5
29
-3
-4
-4
-4
5
-26
-65
-75
-12
-32
-58
-2
37
5
-38
-47
-52
-5
-29
-41
68
2
1
-40
-107
11
51
39
39
-1
3
-8
43
-30
5
34
21
-2
-1
-1
0
-6
-16
59
26
-17
-2
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
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
-55
-22
-6
-1
0
0
0
0
-25
-34
-10
18
8
4
-3
0
0
-33
-28
67
45
-29
-1
2
0
0
-69
-40
44
43
-15
2
1
0
0
21
-16
-35
23
-9
1
0
0
0
0
19
-15
-34
-41
-3
0
0
0
0
0
1
2
7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-15
65
50
8
93
-119
35
-6
-3
-54
58
134
-10
25
-9
56
-43
18
24
75
48
100
-70
-22
-16
31
4
37
0
41
-20
-33
-19
-1
-25
15
11
34
-3
-44
5
-1
0
0
-32
7
39
8
-7
-3
0
0
0
1
2
-10
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
4
-57
-18
3
1
0
0
0
38
27
-2
23
20
-23
0
2
-2
61
26
13
63
-44
-29
0
1
0
7
47
14
37
2
8
1
1
0
31
-18
36
20
-37
13
3
0
0
0
-8
-13
62
-21
16
-4
0
0
0
0
0
-3
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
14
47
67
-27
26
-21
54
7
8
39
32
62
19
88
-11
-6
-4
23
16
58
35
52
-14
-33
90
29
76
-18
-65
112
76
-2
44
-36
1
-5
50
-5
32
23
13
-13
1
0
0
0
15
0
-20
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
52
26
110
-6
4
4
-17
0
58
54
23
22
-14
45
-5
-2
0
16
110
-10
62
15
64
7
0
0
29
74
55
17
-33
56
17
0
0
0
49
23
-21
-18
-1
3
0
0
0
4
8
-2
48
-2
0
0
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
37
4
40
0
10
-5
-8
7
9
54
-38
149
-11
-54
34
-22
-4
8
-6
-39
74
24
47
38
23
4
10
31
-5
37
-25
1
-4
8
0
-1
19
-48
-9
7
-1
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-2
7
-1
2
1
5
0
117
92
-2
-13
-17
-10
3
-1
0
30
57
-34
3
74
31
0
0
0
87
-80
-13
36
21
13
-1
-4
0
0
-3
-13
43
4
1
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
76
-11
-3
0
0
3
0
0
88
29
54
15
1
-3
0
1
0
48
20
-71
18
4
-1
0
-5
0
0
46
-8
2
-9
-1
0
0
0
0
-3
-2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
40
-20
29
0
0
0
0
0
126
2
-5
9
2
-1
-1
0
0
15
91
41
0
-9
1
0
0
0
0
47
5
4
6
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
28
-41
0
0
0
0
0
0
50
57
10
0
0
0
0
0
0
25
29
-7
-6
2
3
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
-21
1
0
0
0
0
0
6
74
-10
-2
-6
0
0
0
0
-8
30
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-44
-1
0
0
0
0
0
0
19
25
-1
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-8
0
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
-72
-6
-28
21
12
53
-11
15
-18
-13
33
-21
-2
-20
-92
-35
-44
39
0
121
-19
36
-29
12
-25
-17
-8
-51
8
50
-8
30
13
3
-22
50
34
26
32
-13
-3
-1
0
-13
9
9
-2
-3
0
-1
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-108
-2
-1
0
0
0
0
27
25
14
-3
-3
0
0
0
0
-19
23
-20
-40
28
0
1
0
0
37
2
67
16
-49
0
0
-1
0
-1
-12
25
-11
20
20
0
0
0
3
0
0
36
-2
2
1
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
23
-50
-4
107
9
28
12
-25
50
55
-7
102
42
-36
-23
3
-1
25
99
-19
104
-87
31
-22
-66
-62
-43
27
-15
86
-16
23
50
54
8
14
83
28
18
8
-24
1
-1
0
0
3
-12
41
1
-4
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
42
-36
22
-6
0
-1
0
0
28
66
-13
33
-58
-4
-6
13
0
14
65
33
37
-17
-7
-2
-3
0
87
2
25
53
-69
7
0
-1
0
10
-19
42
-7
-9
-6
2
0
0
0
0
0
2
8
-1
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
64
40
47
-27
44
-57
78
24
36
51
-3
26
69
46
118
-18
35
19
93
-30
43
43
32
-4
123
32
-67
100
-15
35
46
38
15
41
5
-38
-2
-6
50
19
13
0
-3
0
0
0
0
8
4
-2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
83
-10
-13
-1
-1
0
4
0
82
139
-1
-52
3
-7
2
3
0
33
18
30
40
26
1
-3
0
0
-1
49
2
27
20
20
0
0
0
-3
0
-1
15
-13
4
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-69
47
8
34
15
96
5
52
78
-65
83
-21
20
17
-46
42
-28
50
-7
31
20
71
-14
34
8
2
65
23
-11
-38
23
10
0
0
-2
-27
0
17
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
52
32
-2
-3
0
0
0
0
72
53
48
16
-8
-6
0
-1
0
30
28
63
1
-23
2
4
0
0
5
-27
-13
20
27
0
0
0
0
0
0
9
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
-57
13
0
0
10
-5
3
29
73
28
5
19
9
0
-47
-2
31
20
52
8
5
-2
2
1
0
-3
41
31
-20
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
38
44
-1
0
0
0
0
0
-54
103
22
24
1
-2
0
0
0
21
-23
41
24
2
-2
0
0
0
0
-3
-25
2
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-49
-5
-1
0
0
0
0
0
-19
41
-13
8
0
0
0
0
0
23
-21
13
-6
0
0
0
0
0
-2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
40
-49
0
0
0
0
0
0
20
-27
25
2
0
0
0
0
0
1
25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
39
0
0
0
0
0
0
0
13
-40
-1
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
5
-2
2
0
0
-13
-9
0
-23
-51
-16
-4
0
0
7
0
0
-14
-25
33
-13
0
1
0
-1
0
-20
8
4
-2
-2
-1
0
0
0
3
-14
4
-2
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
-12
-2
0
0
0
0
0
26
6
-24
-61
-1
0
0
0
0
35
3
-35
36
-5
-1
0
0
0
48
-12
-8
-2
-1
0
0
0
0
0
5
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-39
69
20
0
-4
-3
0
-8
-58
-7
61
44
-4
-8
19
2
0
58
-49
18
-7
4
-3
-2
-4
2
6
-27
-50
-11
1
2
-2
0
0
6
36
2
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
12
-25
0
0
0
0
0
99
-20
-32
56
-2
0
1
0
0
35
25
-24
34
-8
0
0
0
0
4
59
35
-51
1
-1
0
0
0
0
1
14
42
-4
-1
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
5
-36
2
1
-14
-4
-2
-1
33
-48
66
-40
2
2
3
9
6
45
46
-21
-15
8
0
-8
3
3
6
16
22
22
-1
1
0
1
0
0
3
-2
-4
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
101
-15
2
0
0
0
0
0
31
29
-1
43
-8
0
0
-1
0
15
63
-56
-28
0
0
0
0
0
3
73
3
-8
-6
-9
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-5
22
5
0
0
8
0
0
-2
1
-4
29
0
-1
-2
0
0
-13
-39
58
-13
4
0
0
0
0
5
13
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
80
-43
0
1
0
0
0
0
65
71
-29
-8
1
0
0
0
0
30
13
40
4
2
0
0
0
0
-2
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
22
13
0
0
0
0
0
0
50
-19
-24
0
-2
0
0
0
0
-38
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
34
0
0
0
0
0
0
0
-5
3
-8
0
0
0
0
0
0
1
3
0
0
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-2
0
0
0
0
0
0
-42
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
52
7
-19
0
-3
-3
-3
3
10
-43
-13
-19
-3
-9
-2
4
3
-51
-14
-84
17
-2
3
-1
6
0
-119
-13
-8
16
1
-1
0
0
0
-2
14
-3
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-24
7
0
0
0
0
0
-30
61
-41
-1
0
0
0
0
0
48
44
-46
34
-5
0
0
0
0
-23
40
4
-20
0
0
0
0
0
-3
-4
-6
0
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
-24
-7
127
-19
6
0
-3
44
5
3
24
-54
80
1
0
24
40
-2
13
-13
-11
15
-6
0
5
4
5
-68
7
21
30
0
-1
0
0
0
1
5
0
-8
0
0
-7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-18
50
3
0
0
0
0
0
-56
104
-43
24
0
0
0
0
0
60
26
-63
18
0
0
0
0
0
33
26
-44
9
4
1
0
0
0
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
48
-20
15
2
0
3
-46
10
4
51
-30
28
-10
0
-2
2
-18
-62
124
20
60
2
1
0
2
1
27
-33
14
-8
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
-20
-25
8
0
0
0
0
69
123
-18
6
-2
3
0
0
0
-6
31
41
-18
0
4
0
0
0
-6
1
-13
-1
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
26
70
-7
0
0
-2
1
-1
57
22
55
7
5
0
1
2
0
30
-10
-22
5
1
0
1
-3
0
14
5
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
88
-9
-3
2
0
0
0
0
10
49
-47
2
0
0
0
0
0
-18
-5
19
0
4
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
24
0
0
0
-1
0
0
-21
30
10
0
0
0
2
5
0
-29
18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-35
-3
0
0
0
0
0
0
68
-3
-8
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
2
1
0
0
0
0
0
19
33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-125
-11
-2
0
0
0
0
0
0
-51
16
-12
0
0
0
0
0
0
-19
14
-4
-1
0
0
0
0
0
-8
-1
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
-4
-4
0
0
0
0
0
-59
-23
6
1
0
0
0
0
0
-49
50
13
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
31
1
0
1
0
0
4
0
-59
-18
24
4
0
0
0
0
0
14
53
12
0
0
0
0
0
0
-1
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
34
18
0
0
0
0
0
0
110
-37
-31
-4
0
0
0
0
0
-43
60
41
-2
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
64
-2
0
0
0
0
-1
0
-42
62
0
0
0
0
0
0
0
-10
11
0
2
1
0
0
0
0
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-25
-8
0
0
0
0
0
0
49
2
-17
0
0
0
0
0
0
-12
22
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
102
2
0
0
0
0
0
0
8
29
1
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
3
-3
-3
0
0
0
0
0
13
-31
8
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
6
1
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
-70
-1
3
0
0
0
0
0
-38
-11
12
0
0
0
0
0
0
60
-74
-3
-1
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
3
0
0
0
0
0
0
33
25
-5
0
0
0
0
0
0
9
-29
25
5
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
78
-4
2
5
0
0
0
-1
-10
-55
59
0
-1
0
1
0
0
32
-49
-23
3
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-24
0
3
0
0
0
0
0
-2
-24
1
1
0
0
0
0
0
2
-23
5
-4
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-1
1
0
0
0
6
0
10
96
-22
0
1
0
0
0
0
-56
10
25
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-15
0
0
0
0
0
0
0
-8
-46
8
-2
0
0
0
0
0
0
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
0
0
0
0
0
0
0
8
-64
2
0
0
0
0
0
0
-1
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
0
0
3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
58
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
52
0
0
0
0
0
0
0
16
19
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-3
-48
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
0
0
0
0
0
0
-5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
1
0
0
0
0
0
0
0
-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
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
-77
-9
-5
-6
0
-9
-1
-43
-105
-96
-39
-63
-63
-9
3
0
-39
-75
-36
-4
-107
-15
-95
-65
-15
-20
-14
-4
-8
-113
-44
-66
-98
-29
45
-59
-108
39
-34
-70
-59
79
-16
50
-22
4
69
-34
-105
10
-9
0
0
-13
-58
8
-16
50
2
-3
0
0
0
0
17
-6
13
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-49
-86
-14
0
0
0
0
0
-53
-117
-66
14
-47
-3
-1
0
0
-26
-38
-77
-15
0
-27
-6
0
0
-3
-1
-2
3
-11
-24
-17
0
0
-4
21
-2
13
-122
43
-13
2
0
-13
85
-33
27
-2
-11
-46
-2
0
0
0
51
17
20
-38
7
0
0
0
0
0
0
48
-20
4
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-76
-49
-42
-41
14
-18
0
-44
43
-59
-73
-70
-19
-21
-5
-37
-53
-94
21
-30
-12
18
-64
-36
-71
-45
-47
38
-9
-12
29
-63
-67
-48
-64
39
39
19
-16
-11
-52
21
-13
41
17
28
69
16
51
34
-40
-50
0
-5
-1
5
12
-20
23
22
-5
2
0
0
0
0
48
7
-13
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-36
-104
-25
-2
0
0
0
0
-28
16
-49
-64
-84
-4
8
-1
-3
52
-1
-4
16
-95
-20
-85
-8
4
-22
20
-11
27
3
37
-12
47
4
18
42
27
-19
-25
-27
-19
-2
0
5
38
59
-34
-5
10
-6
-1
0
0
0
29
62
1
24
-19
1
0
0
0
-2
12
-23
36
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
26
-14
-65
-48
44
-42
-12
-44
2
10
8
1
-42
41
25
-49
-60
15
19
14
-5
-61
-62
10
-22
-8
17
57
-2
24
12
-9
46
-36
-40
88
61
18
27
46
67
34
6
34
4
29
-3
-38
6
33
58
-7
1
0
0
7
50
-26
-28
3
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
22
-46
-28
-65
1
1
-1
-3
66
43
-19
-35
-96
-42
9
12
3
13
38
51
-33
-22
-8
3
-6
3
42
68
33
36
-48
-3
31
-8
0
-22
127
3
50
5
49
7
-1
0
2
0
25
-28
-16
22
41
0
0
0
0
-12
-6
61
10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
25
20
12
33
-52
-16
30
-12
7
25
9
-24
4
-75
12
-24
-48
33
52
36
33
-32
-44
21
13
27
5
52
79
54
12
-44
44
46
-14
9
67
-9
29
18
45
-6
-17
-1
0
12
70
-11
7
16
-5
3
0
0
0
0
-2
32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
86
26
7
44
2
-2
-1
0
12
38
13
18
10
-25
9
-6
0
1
48
52
27
0
56
4
-36
0
9
31
6
76
53
31
24
0
0
-4
63
37
-51
77
-32
8
0
0
0
0
4
75
-33
5
1
0
0
0
0
0
4
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
45
2
25
0
7
-2
16
3
7
12
65
56
3
39
1
-51
-33
-21
66
46
18
66
-8
47
-22
29
-28
-17
5
114
32
23
-11
18
0
-9
35
67
15
-7
9
2
1
0
0
0
3
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-35
53
18
14
1
0
-7
0
-10
54
13
41
7
24
0
-2
0
60
-26
9
32
15
14
0
0
0
36
47
-10
6
-56
-5
5
0
0
0
1
-8
29
-5
31
1
0
0
0
0
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
94
58
-4
0
0
0
0
0
-57
36
-20
65
-1
0
0
0
0
1
-24
11
50
8
-5
-2
4
0
-34
10
51
27
16
-2
-6
0
0
0
-8
5
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
51
-3
-15
0
0
0
0
0
36
79
-16
-2
18
0
0
0
0
-51
69
74
-32
-10
8
0
0
0
0
6
7
4
13
0
0
0
0
0
0
0
2
-5
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
80
-14
3
0
0
0
0
0
-45
32
-7
4
-4
1
0
0
0
-94
33
-15
4
14
0
0
0
0
-1
14
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
52
-12
0
0
0
0
0
0
12
73
-8
-8
0
0
0
0
0
0
18
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
2
0
0
0
0
0
0
36
43
-22
1
0
0
0
0
0
1
20
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-1
0
0
0
0
0
0
2
-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
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
62
-30
-1
1
-14
12
-45
-59
-45
-32
-194
-49
-12
-7
-24
-22
28
-54
-34
-15
-5
-69
-42
-16
-90
-69
-11
5
-36
-5
-66
-14
-58
-47
-35
-54
99
-13
17
1
-57
-65
39
21
29
-27
-9
56
10
34
0
-42
-6
0
-6
-4
-25
15
-1
4
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-20
-61
-6
5
0
0
0
0
-35
-55
-30
-31
-25
0
0
0
0
-55
-62
24
-61
-12
0
1
0
0
10
-5
-14
-47
-9
-54
4
-2
0
85
23
-47
-36
-45
-21
4
0
0
5
7
-41
-22
5
-15
16
0
0
0
0
1
8
52
-3
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
12
-55
69
-84
0
-70
35
80
-11
-29
-67
58
-79
35
-64
-35
-28
19
17
1
-8
23
-42
0
-34
-31
9
60
-5
50
-13
41
30
51
-9
-23
48
-4
25
-50
-17
53
52
15
-5
29
-3
52
22
24
-10
50
-13
0
-3
77
37
-28
-4
6
-1
0
0
0
0
7
-12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-31
-35
7
0
0
0
0
20
22
-17
23
34
-54
-7
-1
-1
31
15
39
23
2
-35
-30
8
-1
103
67
-27
0
-20
73
-6
29
0
-34
71
31
-35
-33
4
-11
-4
0
0
1
-5
39
19
49
2
4
0
0
0
-1
-14
-18
10
-1
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-19
10
-21
63
-13
4
46
-7
14
38
-20
59
-52
-69
-23
-26
-74
16
47
40
56
4
-11
-7
-36
-87
34
82
37
18
9
16
34
-19
75
42
86
68
24
56
-105
-5
28
0
0
50
78
39
46
5
-86
-13
7
0
0
1
9
33
8
-1
1
0
0
0
0
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
-10
-15
-10
-5
0
0
0
28
49
-4
3
9
37
-16
-1
0
81
74
31
44
-25
62
-44
-38
0
74
146
-32
-13
11
40
-3
12
0
-7
55
81
2
36
28
-40
1
0
0
0
57
-20
-55
23
2
0
0
0
0
4
-14
84
14
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
8
23
62
-17
-42
-7
-7
34
-2
60
16
-32
-41
88
66
-80
10
39
49
37
58
-53
30
-11
63
1
5
112
70
91
42
-11
-31
-37
-20
-65
74
-16
-2
34
4
50
40
13
0
-19
3
72
-4
20
1
1
0
0
0
0
-5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
42
-37
-25
41
-8
0
-2
0
74
62
58
15
-16
-15
-3
6
0
72
7
9
45
71
25
-18
-12
1
108
38
7
-36
-7
21
10
8
0
0
-4
36
29
-1
22
0
0
0
0
0
-2
-24
62
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
43
33
22
0
5
36
-44
-27
-6
43
57
77
-27
15
34
-7
-6
-129
69
62
54
-17
43
92
17
25
6
40
-24
70
43
76
47
-31
-2
-17
32
7
-34
91
17
0
-1
0
0
0
0
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
41
-77
46
-7
0
0
0
0
52
28
11
23
19
3
-1
2
0
48
125
-18
-4
9
11
1
0
0
2
3
4
41
13
3
-2
0
0
-2
0
-22
-10
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
45
23
12
0
0
-3
-3
0
8
95
9
3
-7
-22
2
-47
1
-93
91
-24
24
24
0
-7
2
0
23
-33
-6
65
5
0
2
0
0
0
1
9
-4
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
21
-6
-21
0
0
0
0
0
1
54
-14
46
-6
0
0
0
0
-5
72
-31
-14
2
0
0
0
0
0
1
-16
0
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
17
-47
-2
0
0
0
0
0
24
-1
-41
-5
0
0
0
0
0
0
63
-29
-53
0
1
0
0
0
1
5
4
-1
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-12
5
0
0
0
0
0
-8
28
11
-1
0
0
0
0
0
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
-21
60
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-55
24
-13
-3
-3
-5
2
5
-85
-28
4
2
-31
-7
-7
10
5
-56
24
-71
11
-20
-49
43
3
0
-29
-2
-54
-13
57
40
-1
4
-8
20
-44
-39
18
25
13
-1
-1
0
-6
-15
58
76
-30
-2
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-28
37
-16
-1
0
0
0
0
3
-35
22
-34
18
4
-3
0
0
52
-45
-12
-31
-17
0
2
0
0
4
14
-44
42
-12
-5
1
0
0
0
-55
-49
64
18
6
0
0
0
0
19
-19
-5
-61
29
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
-2
-5
15
10
2
-5
1
-80
-10
-29
12
115
6
-73
-22
10
31
-22
-45
10
75
25
-56
-22
-9
10
3
-13
-36
46
-24
-30
-23
-1
29
2
-15
60
4
-48
2
-1
0
0
-40
4
25
5
0
-4
0
0
0
1
2
-12
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-59
-31
12
5
1
0
0
0
-79
29
14
8
64
5
0
2
-2
2
10
6
43
12
-32
0
1
0
-15
67
-4
0
18
-5
1
1
0
32
-7
4
-11
31
50
3
0
0
0
-8
-17
109
-48
28
-4
0
0
0
0
0
-4
36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
44
35
45
-16
15
22
32
-8
32
10
-20
25
21
2
-15
12
8
-41
11
56
16
35
26
-39
77
-4
24
-5
19
7
40
-1
57
7
1
-19
127
-53
50
39
21
-25
1
0
0
0
15
5
-13
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-6
13
85
0
4
4
-17
0
22
49
-29
19
-34
38
-5
-2
0
75
26
-13
-26
-36
14
7
0
0
68
24
55
-23
11
30
13
0
0
0
79
1
75
-58
27
1
0
0
0
4
10
53
37
-7
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
42
-9
4
0
13
-7
-8
-9
-19
14
61
82
-38
-55
-2
-48
0
-3
-22
-121
66
52
89
40
8
4
34
78
-28
34
-47
8
-4
9
0
-1
56
-79
-3
16
-1
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
38
7
19
0
2
1
5
0
-30
75
-11
-2
-16
-6
3
-1
0
6
-29
-27
46
101
28
0
0
0
152
-71
-1
-23
2
21
-1
-4
0
0
-3
-13
60
9
0
0
0
0
0
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
37
0
0
0
3
0
0
-10
-13
53
41
1
-3
0
1
0
39
-10
-18
39
5
-1
0
-5
0
-8
43
-4
1
-9
0
0
0
0
0
-3
-2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
34
-46
25
0
0
0
0
0
24
68
-34
19
2
-1
-1
0
0
-9
97
50
30
-14
1
0
0
0
-2
53
-14
5
5
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
66
-41
0
0
0
0
0
0
-4
54
26
3
0
0
0
0
0
7
5
-33
-5
2
3
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
34
-24
1
0
0
0
0
0
22
61
-45
-3
-6
0
0
0
0
-10
13
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-49
-1
0
0
0
0
0
0
43
28
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
16
0
0
0
0
0
0
0
2
3
-3
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-25
-71
25
-2
12
0
-5
7
-32
-73
-10
49
-62
-38
29
-46
-4
-65
-63
-17
55
-10
60
-13
-27
-13
-26
-28
39
4
52
-20
13
-18
9
-29
27
-26
6
72
-19
-3
2
0
-13
13
12
-41
-5
0
-1
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-10
-67
-3
-1
0
0
0
0
-22
-26
20
-25
-3
0
0
0
0
67
0
-55
-10
-22
0
1
0
0
-39
27
5
38
-70
1
0
-1
0
7
-12
-31
11
50
45
0
0
0
3
0
3
27
1
3
1
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
28
-81
-23
5
7
7
3
-11
-11
-7
32
0
17
-27
-11
3
-31
-9
22
-10
52
-20
-22
6
-57
-8
-13
69
-22
37
12
6
1
24
3
34
12
28
-4
-5
-41
18
7
0
0
0
-29
-9
3
-7
8
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-17
40
40
-6
0
-1
0
0
-17
88
-54
-21
-93
-2
-6
13
0
-24
37
-4
73
14
-43
-2
-3
0
92
8
83
-42
-63
-16
0
-1
0
9
3
67
21
-13
-38
2
0
0
0
0
0
2
20
-2
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
58
26
6
33
-33
77
-42
-41
0
47
32
23
42
1
47
39
-21
-11
-24
126
-12
73
0
64
39
-91
24
-5
38
57
42
35
23
5
-29
-2
-26
63
2
44
0
-3
0
0
0
-1
5
5
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-13
8
1
-2
-1
0
4
0
-38
57
15
-68
13
54
2
3
0
0
83
-17
20
54
-2
-3
0
0
28
136
36
3
4
-2
0
0
0
-3
5
-32
22
-11
14
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
-79
58
40
3
-16
62
18
-5
49
1
84
-88
9
84
46
39
18
85
-74
-29
-6
72
0
31
7
-22
57
12
-26
-86
41
13
0
0
-2
-27
-5
14
10
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
46
-8
-16
-3
0
0
0
0
54
84
-26
-2
1
-6
0
-1
0
100
11
-7
19
-20
3
4
0
0
5
-52
16
13
35
0
0
0
0
0
0
8
2
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-42
13
0
0
13
-5
3
-4
66
18
40
24
-1
0
-4
-2
40
-19
67
-21
6
-1
2
1
0
-7
64
-16
-30
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
55
11
0
0
0
0
0
0
-88
69
-34
44
1
-2
0
0
0
18
-1
57
29
2
-2
0
0
0
0
-3
-28
2
4
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
42
-15
-1
0
0
0
0
0
-24
17
-10
8
0
0
0
0
0
70
-125
46
-8
0
0
0
0
0
-3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-55
0
0
0
0
0
0
-28
22
44
2
0
0
0
0
0
-1
32
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
0
0
0
0
0
0
0
35
-40
-1
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
26
4
2
0
0
-13
-9
0
16
-33
-22
-5
0
0
7
0
0
-31
-49
29
-12
0
1
0
-1
0
-58
-24
-38
-3
-2
-1
0
0
0
2
-13
5
-2
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-4
-2
0
0
0
0
0
-58
24
-14
-59
-1
0
0
0
0
-15
23
-94
27
-5
-1
0
0
0
5
19
14
-21
-1
0
0
0
0
0
5
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
17
13
20
0
-4
-3
2
-8
-72
23
29
-11
-4
-8
19
2
0
-63
-4
-19
-16
4
0
-2
-4
2
-34
36
-60
-8
1
2
-2
0
0
-2
28
17
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-19
-25
0
0
0
0
0
37
2
-42
57
-3
0
1
0
0
-17
-44
-6
36
0
0
0
0
0
-7
50
-14
-96
0
-1
0
0
0
0
1
15
49
-3
-1
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
-45
2
1
-14
-4
-2
-1
0
-4
1
-42
2
0
3
9
6
-16
63
-56
-21
8
0
-10
3
3
-26
52
28
8
-1
1
0
1
0
0
5
-1
-1
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
6
-58
2
0
0
0
0
0
24
34
13
10
-9
0
0
-1
0
50
71
-37
-31
-2
0
0
0
0
5
96
-2
7
-5
-9
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
-4
5
0
0
8
0
0
-40
-4
-16
29
0
-1
-2
0
0
-17
-8
30
-19
4
0
0
0
0
9
14
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
32
-54
0
1
0
0
0
0
89
18
-35
-9
1
0
0
0
0
81
18
19
7
3
0
0
0
0
-2
0
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
10
0
0
0
0
0
0
21
41
-24
0
-2
0
0
0
0
-32
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
14
-2
0
0
0
0
0
0
29
-17
24
0
0
0
0
0
0
2
8
0
0
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
12
-2
0
0
0
0
0
0
-29
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-41
25
-14
0
-3
-3
-3
3
5
-63
-21
-16
-3
-7
-2
4
3
-59
-40
-61
17
-2
3
-1
6
0
-64
6
37
14
1
-1
0
0
0
-2
15
-3
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
45
-41
6
0
0
0
0
0
-60
88
-13
-1
0
0
0
0
0
-7
-62
-5
14
-5
0
0
0
0
-25
45
-7
-16
0
0
0
0
0
-3
-4
-6
0
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
-2
67
32
-33
-3
0
-3
0
-3
-20
-93
-21
27
4
0
12
0
-2
-77
9
-41
31
-6
0
5
4
5
-87
47
11
31
0
-1
0
0
0
1
5
-3
-5
0
0
-7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
48
13
3
0
0
0
0
0
-17
-2
-37
26
0
0
0
0
0
94
-7
-93
8
0
0
0
0
0
38
27
-50
13
5
1
0
0
0
-2
0
-1
0
-3
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-8
16
2
0
3
-12
13
-3
-7
-4
55
-10
-1
-2
2
1
-58
57
27
54
0
1
0
2
1
15
-21
35
-13
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
60
-41
-24
8
0
0
0
0
53
90
-14
8
-2
3
0
0
0
-28
54
7
-25
1
4
0
0
0
-6
-3
-31
-7
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
76
35
-6
0
0
-2
1
-1
76
-17
-17
7
5
0
1
2
0
-10
41
-32
1
1
0
1
-3
0
14
8
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
69
-13
-3
2
0
0
0
0
-8
45
-45
2
0
0
0
0
0
-13
8
18
0
4
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
40
22
0
0
0
-1
0
0
-55
4
6
0
0
0
2
5
0
-29
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-48
-3
0
0
0
0
0
0
90
18
-12
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
2
1
0
0
0
0
0
23
45
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-2
0
0
0
0
0
0
-37
3
-12
0
0
0
0
0
0
7
-8
-4
-1
0
0
0
0
0
-8
-1
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-8
-4
-4
0
0
0
0
0
-70
24
1
1
0
0
0
0
0
-47
14
14
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
39
0
0
1
0
0
4
0
-52
-46
33
4
0
0
0
0
0
19
20
15
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-18
13
0
0
0
0
0
0
94
-28
-36
-4
0
0
0
0
0
-16
-9
50
-2
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
-2
0
0
0
0
-1
0
-34
-51
2
0
0
0
0
0
0
-8
29
0
2
1
0
0
0
0
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-49
-8
0
0
0
0
0
0
27
58
-15
0
0
0
0
0
0
-12
30
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
48
2
0
0
0
0
0
0
11
16
1
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-2
-3
-3
0
0
0
0
0
8
-2
9
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
7
1
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-42
-1
3
0
0
0
0
0
-30
-12
8
0
0
0
0
0
0
50
-67
-3
-1
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
0
0
0
0
0
0
9
9
-5
0
0
0
0
0
0
10
-40
25
5
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-28
-3
2
5
0
0
0
-1
-60
-6
50
0
-1
0
1
0
0
71
-32
-21
3
0
0
0
0
0
-5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
3
0
0
0
0
0
-14
-34
3
1
0
0
0
0
0
3
-14
6
-4
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-82
-1
1
0
0
0
6
0
-10
74
-18
0
1
0
0
0
0
-52
32
32
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
-17
-22
8
-2
0
0
0
0
0
0
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-12
0
0
0
0
0
0
0
18
-47
2
0
0
0
0
0
0
1
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
0
0
0
0
3
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
51
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
25
0
0
0
0
0
0
0
14
22
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-3
-48
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
0
0
0
0
0
0
-5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
1
0
0
0
0
0
0
0
-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
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
-8
0
0
0
0
0
0
-31
25
-21
3
1
0
-1
1
0
45
-69
-24
-3
-3
0
-1
0
0
10
3
-50
28
-9
-25
-1
-1
-3
5
39
24
-22
-24
-5
0
0
0
0
-1
-23
-16
-4
20
1
0
0
0
0
0
6
3
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-24
2
-4
0
0
0
0
0
-45
16
-12
-8
-7
0
-1
0
0
10
-23
-6
49
9
1
-1
0
0
-18
81
21
5
-11
-21
0
1
0
-2
4
16
28
-12
13
0
0
0
0
0
2
13
23
1
-2
0
0
0
0
0
-1
28
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-50
-57
-6
9
0
0
-1
-7
0
50
-26
-3
37
-2
-17
-8
-3
-5
44
30
26
1
-23
6
4
-5
3
66
-7
17
30
-8
7
-19
8
-1
-4
21
-21
65
-2
21
-9
0
0
-1
1
1
9
7
-3
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-3
1
0
0
0
0
0
-35
30
-7
-16
-32
-2
0
0
0
10
-22
15
42
-45
-12
0
-2
0
-31
45
20
5
-13
3
-10
0
1
14
5
-7
39
20
0
-15
1
0
1
-22
-1
17
-8
29
4
-1
0
0
0
9
30
5
6
0
0
0
0
0
-1
4
-21
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-31
6
19
-2
-1
0
0
0
0
19
-81
-44
5
12
4
8
8
0
34
-15
7
36
-6
4
-17
13
7
21
55
-11
63
9
8
7
18
0
-21
52
80
-20
-18
42
3
8
1
-2
-13
32
-17
-15
7
10
-1
0
0
0
0
1
-3
1
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
-44
3
2
0
0
0
0
-1
28
-5
-6
10
-3
-3
-1
0
-4
41
-20
61
8
-4
-1
0
1
11
-24
69
-39
27
-2
26
-2
0
0
-24
-15
39
7
-43
-5
0
0
1
0
4
-33
9
-4
-4
0
0
0
0
1
13
29
1
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-46
-3
-4
6
-1
0
0
0
-35
-18
25
1
0
-15
5
-5
0
-39
27
51
-4
-5
0
40
1
0
-34
-18
-3
19
-2
14
21
-4
-1
-12
45
12
14
15
0
2
-1
0
0
4
1
2
13
-9
-1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
99
-47
0
1
-1
0
0
0
-19
29
-2
37
-43
-8
1
0
0
-39
50
2
8
10
6
0
1
0
63
32
-42
5
27
-2
-13
0
0
0
6
2
-16
-17
0
0
0
0
0
0
4
8
-24
10
0
0
0
0
0
0
1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
8
3
17
2
1
0
0
0
-47
4
-29
13
0
14
5
0
0
19
16
-16
-6
12
-17
16
-1
0
17
48
-11
31
-10
2
-4
0
0
-5
5
13
14
4
1
1
0
0
0
0
2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
-13
-3
2
0
0
0
0
1
-25
30
-26
13
8
0
0
0
15
24
-47
-2
2
18
0
0
0
32
12
5
-6
7
12
3
0
0
0
0
4
-10
-15
-4
1
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
41
5
4
0
0
0
0
0
-17
-26
8
5
3
0
-1
0
0
-14
5
-9
17
3
-2
0
0
0
2
-19
17
18
2
0
0
0
0
0
-10
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
13
4
-1
0
0
0
0
0
43
-12
14
-10
20
0
0
0
0
-18
5
10
-13
-7
0
0
0
0
0
-8
24
-4
17
1
0
0
0
0
0
0
1
-3
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-14
3
1
0
0
0
0
0
-43
-4
-9
-4
-2
0
0
0
0
-39
-19
-3
-7
3
0
0
0
0
0
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
19
0
0
0
0
0
0
0
17
13
-5
-2
1
0
0
0
0
1
25
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
1
0
0
0
0
0
0
10
-8
2
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
38
-8
0
0
0
0
1
0
22
-58
-7
11
-7
10
-1
-1
-4
14
8
-11
-14
8
4
-18
-3
-1
8
11
-39
4
30
5
8
0
2
0
7
-15
10
-17
44
0
-1
0
0
-1
2
6
7
6
3
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
-15
-8
0
0
0
0
0
-12
-53
10
-16
-23
1
0
0
0
14
22
-4
-10
-43
0
0
-1
0
34
14
-19
22
-12
5
0
0
0
2
0
-4
44
1
12
-1
0
0
0
0
0
18
19
-5
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-12
1
3
0
0
0
0
0
26
-40
-4
25
0
-9
-5
-25
-8
21
17
-49
-11
-4
-9
-15
-8
-2
52
-12
-23
-17
18
15
23
10
-4
-15
53
-16
47
20
6
6
-3
-3
1
30
0
-41
-18
33
-2
2
0
0
-2
-7
12
-8
-13
2
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
1
-1
0
0
0
0
0
46
2
-16
-8
-17
-3
-1
0
0
-8
30
21
12
-7
13
0
0
0
-8
-10
-30
-1
6
23
5
0
0
17
11
85
-16
5
-17
6
0
0
1
0
-15
26
4
3
0
4
0
0
0
0
-8
-26
12
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
14
-6
1
5
1
1
1
23
-31
19
31
-10
23
-7
2
-7
-50
75
13
-12
-6
4
11
12
-5
4
-34
-29
37
-32
10
-7
-3
34
-32
8
30
99
16
-13
-9
5
3
-2
6
9
-34
17
20
-3
0
0
0
0
-2
20
19
5
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-41
8
-12
-3
0
0
0
0
11
14
0
13
2
5
0
0
0
-4
40
15
-18
7
13
1
-1
0
8
23
-10
-27
15
-9
2
1
0
4
13
4
-13
-23
2
-6
0
0
0
0
-7
0
41
6
0
0
0
0
0
0
-5
41
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-99
31
-14
1
0
1
1
0
-48
-57
78
13
0
12
-22
-9
-4
-8
28
-10
-4
-13
-11
6
11
12
18
7
4
6
24
-4
-6
-14
0
-19
57
-23
1
13
12
3
1
0
2
-14
24
52
-16
5
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
25
-25
-4
2
-3
0
0
0
-11
5
-1
42
0
-2
0
0
0
19
-65
12
21
-35
16
0
2
0
18
-3
-27
-5
-16
17
1
0
0
0
-1
14
19
-10
-5
1
0
0
0
0
0
-6
26
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
24
0
-2
0
2
0
0
-42
26
-27
3
-8
-4
4
-2
0
18
19
-20
-14
1
8
7
4
-1
-14
5
-43
44
-5
13
2
0
0
-4
2
11
-2
8
10
-1
0
0
0
0
1
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
4
0
0
0
0
0
-43
11
25
-3
8
0
1
0
0
-8
20
16
3
-1
5
0
0
0
2
-19
-16
3
13
2
-3
0
0
0
0
-25
-9
-12
0
0
0
0
0
0
0
0
-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
40
-27
4
8
0
0
0
0
0
-47
-15
-7
-2
-1
1
0
0
0
10
65
-10
35
7
0
-1
0
0
15
-17
-10
45
0
0
0
0
0
0
2
8
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
-5
-4
0
0
0
0
0
-2
-27
-27
5
-3
0
0
0
0
-14
14
-5
2
-3
0
0
0
0
0
2
-6
-1
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
-8
0
0
0
0
0
0
-12
-41
0
-2
0
0
0
0
0
5
45
-6
-18
0
1
0
0
0
2
-5
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
-7
-7
8
0
0
0
0
0
0
-3
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-31
7
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
32
-27
-2
2
0
0
0
0
0
17
-26
-3
-29
-1
0
-2
0
0
1
-42
-1
-10
-5
0
1
0
0
-1
-1
4
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
-3
-6
0
0
0
0
0
20
-34
-44
1
0
0
0
0
0
45
5
-24
20
-20
-3
0
0
0
1
1
-12
9
18
1
0
0
0
0
0
-4
0
-5
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
-7
-30
19
-6
1
2
0
3
0
-22
-63
-27
48
1
-1
-3
0
0
4
29
9
20
7
8
0
0
-1
-5
-6
-26
-10
4
2
1
0
0
-1
1
0
-7
-3
-1
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
1
0
0
0
0
0
0
5
5
-20
-10
-4
0
0
0
0
-2
12
4
9
35
-3
-1
0
0
17
-29
-10
8
-11
-4
1
0
0
12
3
10
-20
2
22
-1
0
0
0
0
-5
22
1
-7
-1
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
2
1
-1
0
0
-2
0
21
-31
-17
7
4
1
0
0
0
23
75
-58
13
-30
18
0
0
-2
41
72
-13
8
17
-6
4
0
0
8
27
-16
56
6
7
-1
0
0
0
-1
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
-8
-1
0
0
0
0
0
-20
9
-13
3
-12
2
0
-1
0
29
47
17
-39
-9
9
-3
0
0
6
-10
-25
-15
31
22
4
0
0
0
6
7
-2
-9
7
1
0
0
0
0
1
4
8
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
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
-2
-9
-3
0
0
0
0
0
40
-20
-27
-5
-1
0
-3
-2
0
0
9
-43
-5
19
7
-1
1
0
17
43
-20
-17
-18
0
-1
1
0
0
23
8
-10
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
73
-22
5
0
0
0
0
0
-14
20
12
-24
-6
-1
0
0
0
9
46
-18
-33
35
4
0
0
0
33
25
-6
2
-9
6
0
0
0
0
-3
-19
7
1
2
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
-19
-1
0
0
0
0
0
-69
-38
40
0
-1
-1
0
0
0
-4
1
24
14
1
-3
1
0
0
16
4
-5
3
-5
-1
0
0
0
0
-5
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
-14
0
0
0
0
0
0
-32
56
5
10
3
-1
0
0
0
-30
41
9
4
-30
0
0
0
0
1
5
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-4
0
0
0
0
0
0
25
-3
4
-2
1
0
0
0
0
7
-3
-6
-2
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-4
0
0
0
0
0
0
9
7
-20
2
-4
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
3
-21
-1
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
-8
-3
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
20
-8
0
-1
0
0
0
0
-29
13
-47
-13
0
0
0
0
0
-11
-23
-24
0
3
-1
0
2
0
-8
20
-17
1
3
0
0
0
0
-2
0
5
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-8
-15
3
0
0
0
0
0
40
-4
-19
-13
0
0
0
0
0
-43
13
-6
12
-7
-2
0
0
0
-1
-4
-16
2
-8
1
0
0
0
1
0
-1
-1
1
1
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
22
-4
0
0
0
0
-1
0
-19
26
-2
6
-13
-1
-1
1
-1
4
-44
-1
3
-12
6
-2
-10
-3
12
-10
-27
8
26
3
9
-1
0
-1
-8
-16
14
1
-3
0
0
0
0
-3
4
-15
1
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
-3
0
0
0
0
0
0
6
-39
-2
-10
0
2
0
0
0
12
-55
-2
-5
14
1
0
0
0
-16
14
45
-7
-6
-4
1
0
0
-2
13
33
26
-6
4
2
0
0
0
0
0
-1
8
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-5
1
-1
0
0
2
0
-20
23
21
-3
-3
-19
-3
-2
0
-47
3
-48
20
-9
15
4
6
-1
-31
5
29
17
8
-1
0
4
0
-17
7
-4
-4
1
2
0
-1
0
0
0
0
4
-2
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
5
0
0
0
0
0
0
-24
29
11
5
-12
-3
0
0
0
-4
63
-25
8
-17
0
-1
0
0
13
-11
28
24
-2
-7
-1
0
0
-1
4
3
22
7
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-3
0
0
0
0
-1
0
-27
-23
7
3
0
-1
1
0
2
64
50
-53
-8
-10
-1
-5
0
3
6
19
18
-14
-15
6
1
0
0
-4
-8
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
15
8
-1
-1
0
0
0
0
-32
47
-14
-16
1
0
0
0
0
27
-7
9
9
7
2
-1
0
0
1
-9
-9
10
-8
-1
0
0
0
0
0
6
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-45
-13
-2
0
0
0
0
0
5
57
-17
7
2
0
0
0
0
62
-17
-2
-16
2
0
0
0
0
29
29
-3
-7
1
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-23
-2
0
0
0
0
0
-3
16
-20
17
0
0
0
0
0
11
-17
40
-1
-5
-2
0
0
0
0
-2
-8
2
-3
0
0
0
0
0
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
43
1
-1
0
0
0
0
0
-2
10
8
-2
0
0
0
0
0
42
-28
9
-2
0
0
0
0
0
-2
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
-23
0
0
0
0
0
0
-9
33
17
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
8
2
-1
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-12
-12
-2
0
0
0
0
0
0
-8
30
-7
-2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
17
-1
0
0
0
0
0
0
-17
2
-1
1
0
0
0
0
0
7
2
5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-25
22
0
0
0
0
0
0
0
-74
40
-15
-2
0
-1
0
0
0
2
30
-16
-3
0
0
-1
0
0
3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
0
0
0
0
0
0
-14
-13
-6
2
-1
0
0
0
0
-12
14
-5
14
1
0
0
0
0
-17
-4
3
-14
-1
-1
0
0
0
0
0
7
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
2
0
0
0
0
0
0
-72
11
24
-2
0
-3
0
2
0
-14
-16
-6
0
4
0
0
0
0
13
7
-5
0
-1
0
0
0
0
0
1
2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
4
0
0
0
0
0
0
-16
-9
-6
22
-1
0
0
0
0
10
-2
-32
-12
-1
0
0
0
0
12
18
-13
-5
-2
-1
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
-1
2
0
0
0
0
0
-24
43
0
-1
0
0
0
0
0
10
-10
15
-7
0
0
0
0
0
7
17
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-5
0
0
0
0
0
0
30
-15
13
2
0
1
0
0
0
0
27
-7
6
1
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
1
0
0
0
0
0
0
-7
-12
-5
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
-1
0
0
0
0
0
0
-6
1
-8
0
0
0
0
0
0
2
2
0
0
-1
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
-17
0
-17
0
0
0
0
0
0
-24
-7
6
-3
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-2
0
0
0
0
0
0
4
-1
-7
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-1
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-40
0
33
0
-1
0
0
0
-1
-52
33
7
8
1
0
1
0
0
15
19
-15
6
0
0
0
-1
0
1
1
-1
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-1
0
0
0
0
0
0
-10
-9
-25
2
1
0
0
0
0
9
4
-19
-9
0
0
0
0
0
1
1
-18
-1
3
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
7
0
0
0
0
0
0
15
37
-17
14
0
0
0
0
-1
-46
10
-5
0
-1
0
0
0
0
13
16
-2
3
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
-2
0
0
0
0
0
-17
13
-4
-1
-1
0
0
0
0
22
-5
-3
8
-1
1
0
0
0
0
2
-2
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
10
0
-1
0
0
0
0
0
0
-12
3
3
4
0
0
0
0
20
26
-14
4
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
1
-2
0
0
0
0
0
13
-13
23
1
0
0
0
0
0
-8
-15
4
0
1
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
3
0
0
0
0
0
0
-37
31
2
0
0
0
0
0
0
-10
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
-3
0
0
0
0
0
0
12
4
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
48
-8
1
-1
0
0
0
0
0
1
8
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-22
-33
0
0
0
0
0
0
0
-10
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
7
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-8
6
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
1
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
14
-8
-5
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-17
23
-4
0
1
0
0
0
0
-5
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-6
12
1
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
0
0
0
0
0
0
0
-12
-22
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-26
-8
91
0
0
0
0
0
0
11
-40
-3
95
0
0
0
0
0
34
9
-18
-1
166
0
0
0
0
23
11
17
-56
-25
28
0
0
0
-18
-50
-5
43
-118
-75
-39
0
0
-44
-47
-64
-67
-64
54
10
99
0
35
3
33
-57
-16
-102
-139
260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
31
132
0
0
0
0
0
0
0
59
-24
-27
0
0
0
0
0
0
93
43
-6
71
0
0
0
0
0
54
76
-4
74
-49
0
0
0
0
50
102
72
55
-15
7
0
0
0
48
7
-5
32
-6
18
-46
0
0
10
-23
-5
78
87
115
57
120
0
-58
-40
-91
-18
-39
35
16
218
-16
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
-16
39
0
0
0
0
0
0
0
-48
-75
27
0
0
0
0
0
0
-28
-119
-87
73
0
0
0
0
0
-59
-44
-39
36
-22
0
0
0
0
-11
6
-83
-82
-71
93
0
0
0
-90
6
-68
-42
-43
-161
75
0
0
10
-54
-20
-153
-82
4
-187
187
0
3
5
-28
-58
-73
-79
-137
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-6
-21
0
0
0
0
0
0
0
-89
-36
-25
0
0
0
0
0
0
1
-19
28
-19
0
0
0
0
0
-7
-31
-35
68
31
0
0
0
0
13
4
-88
-17
-64
70
0
0
0
6
72
-70
-48
100
9
-22
0
0
2
35
-31
-23
-49
-10
5
1
57
0
0
0
0
0
0
0
0
0
9
72
0
0
0
0
0
0
0
0
43
24
-4
0
0
0
0
0
0
0
-11
2
1
0
0
0
0
0
0
0
150
37
57
-58
-14
0
0
0
0
0
121
94
59
48
-71
2
0
0
0
0
89
63
143
3
11
-49
-85
0
0
0
49
56
79
2
-63
-24
-41
-77
0
0
46
35
50
63
-148
-116
-182
-175
-156
0
123
142
145
-60
-54
-139
-122
-86
40
-25
0
0
0
0
0
0
0
0
0
0
0
130
0
0
0
0
0
0
0
0
0
-67
51
0
0
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
30
2
-96
-7
0
0
0
0
0
0
8
107
0
1
-74
0
0
0
0
0
36
-27
-22
15
19
-39
0
0
0
0
-34
-58
4
-28
3
-29
46
0
0
0
-68
-73
-34
-1
-16
47
-21
0
0
0
13
-49
-6
60
79
-10
-55
-79
-40
0
0
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
0
0
0
55
72
0
0
0
0
0
0
0
0
39
54
36
0
0
0
0
0
0
0
23
86
-25
10
0
0
0
0
0
0
-32
39
-22
-22
-4
0
0
0
0
0
47
38
-12
-1
36
-34
0
0
0
0
37
55
-57
-4
19
-16
-35
0
0
0
13
94
121
-2
-25
-61
137
4
0
0
62
-3
-17
4
10
-26
38
40
43
0
0
0
0
0
0
0
0
0
0
0
0
128
0
0
0
0
0
0
0
0
0
-17
53
0
0
0
0
0
0
0
0
32
-36
-33
0
0
0
0
0
0
0
65
21
-71
5
0
0
0
0
0
0
67
35
56
69
29
0
0
0
0
0
-66
9
52
12
15
-4
0
0
0
0
164
40
49
-8
22
12
-1
0
0
0
16
-19
-64
-69
27
13
12
3
0
0
45
-37
-95
3
-21
-9
-1
25
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
164
0
0
0
0
0
0
0
0
2
81
0
0
0
0
0
0
0
-39
-21
107
0
0
0
0
0
0
-24
-50
-62
70
0
0
0
0
0
-32
-27
-46
-73
74
0
0
0
0
-36
-47
-95
-42
-54
-17
0
0
0
-85
-148
-48
46
-152
9
-14
0
0
-29
-59
-88
-82
-113
11
-41
1
0
29
30
-105
-25
-83
-107
-132
237
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
82
23
21
0
0
0
0
0
0
29
67
-27
-53
0
0
0
0
0
1
16
-43
-57
127
0
0
0
0
12
-73
105
95
73
3
0
0
0
-33
47
-31
-5
-21
-2
22
0
0
-10
-64
-14
55
4
-35
119
14
0
-74
-51
-21
-37
-2
-26
54
105
8
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
39
29
0
0
0
0
0
0
0
-6
-14
15
0
0
0
0
0
0
-70
4
-17
54
0
0
0
0
0
-40
-55
-45
7
31
0
0
0
0
-48
-14
-61
-42
-59
-10
0
0
0
-36
-30
-56
-54
-51
-49
66
0
0
50
-70
-26
-55
-79
-81
-109
41
0
46
-8
-49
-59
-72
-42
-105
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-51
-26
0
0
0
0
0
0
0
-16
-69
-11
0
0
0
0
0
0
-4
-58
38
27
0
0
0
0
0
-34
-28
-67
-24
46
0
0
0
0
3
6
-49
19
57
-13
0
0
0
-21
-49
8
75
57
13
92
0
0
7
-28
-13
-16
51
68
-40
50
31
0
0
0
0
0
0
0
0
0
60
143
0
0
0
0
0
0
0
0
28
37
96
0
0
0
0
0
0
0
-55
-2
-8
0
0
0
0
0
0
0
36
-4
55
0
-13
0
0
0
0
0
48
-13
50
-4
-9
-100
0
0
0
0
78
60
-8
7
-21
-118
-108
0
0
0
48
19
44
-10
-69
-57
-34
-19
0
0
73
47
37
16
-150
-99
-117
-84
-116
0
62
71
38
8
-98
-17
-80
-22
-88
-53
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
-15
49
0
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
0
-70
-49
23
16
0
0
0
0
0
0
60
40
-92
-52
30
0
0
0
0
0
35
-48
-29
21
36
-42
0
0
0
0
27
25
47
68
34
83
51
0
0
0
18
2
-6
47
11
6
-11
-130
0
0
21
22
2
28
33
11
-22
-21
-36
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
48
69
0
0
0
0
0
0
0
0
56
83
57
0
0
0
0
0
0
0
-12
38
-94
-23
0
0
0
0
0
0
14
-2
-12
-32
11
0
0
0
0
0
-13
19
-18
-7
63
-35
0
0
0
0
106
71
-75
-12
-30
-57
25
0
0
0
66
-13
34
-14
1
8
-50
13
0
0
16
-59
-11
-8
-11
-71
-37
-24
43
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
63
-41
0
0
0
0
0
0
0
0
53
33
11
0
0
0
0
0
0
0
67
87
-17
37
0
0
0
0
0
0
-1
38
0
-5
70
0
0
0
0
0
44
37
35
43
54
9
0
0
0
0
0
54
52
-10
-50
67
-2
0
0
0
-5
5
38
81
64
31
128
-2
0
0
29
7
-101
1
11
-21
5
75
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
12
-66
48
0
0
0
0
0
0
9
-53
7
-57
0
0
0
0
0
-26
-36
-30
-46
11
0
0
0
0
12
-15
-8
-67
-35
22
0
0
0
-119
-77
-29
29
-69
26
34
0
0
-45
-52
-50
-117
-39
-53
-35
60
0
-23
53
-97
-7
-59
-105
-87
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-32
-18
0
0
0
0
0
0
0
86
9
48
0
0
0
0
0
0
-56
40
131
-34
0
0
0
0
0
16
13
-6
-34
69
0
0
0
0
25
21
66
92
50
-37
0
0
0
10
31
41
-43
-18
6
-31
0
0
-24
-27
13
47
51
-23
96
1
0
-60
-52
59
-56
2
48
-53
17
-6
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-72
-30
0
0
0
0
0
0
0
-52
-96
-5
0
0
0
0
0
0
-11
-60
-5
8
0
0
0
0
0
-9
-12
-68
49
39
0
0
0
0
-37
-75
27
-20
-29
11
0
0
0
-84
-121
14
-104
-67
-72
57
0
0
13
-8
-34
-50
-86
-97
-111
65
0
18
75
-28
-67
-22
-4
-80
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-21
16
0
0
0
0
0
0
0
79
-34
-7
0
0
0
0
0
0
-33
-26
13
13
0
0
0
0
0
13
21
-38
26
14
0
0
0
0
10
65
54
93
34
27
0
0
0
25
54
-2
-27
16
-57
108
0
0
-8
24
27
21
23
-52
-42
-21
-17
0
0
0
0
0
0
0
0
0
21
91
0
0
0
0
0
0
0
0
-15
70
82
0
0
0
0
0
0
0
2
-22
18
0
0
0
0
0
0
0
-1
5
-1
29
-24
0
0
0
0
0
115
77
11
-16
-9
-48
0
0
0
0
50
42
-3
-17
-47
-117
-107
0
0
0
42
36
38
39
-42
12
7
3
0
0
50
43
58
0
-30
-1
-48
-158
3
0
43
7
21
-19
-31
-39
9
-44
-82
30
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
101
10
0
0
0
0
0
0
0
0
-14
58
49
0
0
0
0
0
0
0
46
-21
44
75
0
0
0
0
0
0
44
1
-102
-83
25
0
0
0
0
0
44
40
39
88
45
-15
0
0
0
0
6
-14
83
69
-69
54
-9
0
0
0
14
-21
-53
49
93
14
-22
-86
0
0
62
17
-60
-41
-70
39
-9
23
-3
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
34
71
0
0
0
0
0
0
0
0
51
-17
-28
0
0
0
0
0
0
0
44
79
11
3
0
0
0
0
0
0
-24
-33
-44
-21
-54
0
0
0
0
0
17
43
49
13
31
-48
0
0
0
0
-66
-24
-53
-13
5
5
100
0
0
0
11
-86
-36
-5
0
3
-59
34
0
0
43
-44
33
-6
0
-37
-29
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
96
7
0
0
0
0
0
0
0
0
-22
7
92
0
0
0
0
0
0
0
-48
57
-6
-9
0
0
0
0
0
0
35
-13
-5
83
20
0
0
0
0
0
27
-1
1
51
42
14
0
0
0
0
-32
95
13
-2
-20
39
-2
0
0
0
-24
45
-40
103
23
24
65
0
0
0
-98
5
-5
7
51
-9
3
15
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-28
-41
0
0
0
0
0
0
0
14
14
49
0
0
0
0
0
0
38
7
5
-55
0
0
0
0
0
14
24
57
-4
57
0
0
0
0
5
15
27
-29
-52
5
0
0
0
-21
-1
2
0
-43
12
-32
0
0
31
7
-12
-25
-6
-33
9
48
0
11
6
23
-9
6
-1
-48
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-23
6
0
0
0
0
0
0
0
6
5
-1
0
0
0
0
0
0
-17
-7
5
0
0
0
0
0
0
1
-2
0
1
1
0
0
0
0
13
-3
0
4
-6
-1
0
0
0
29
4
12
-2
0
0
0
0
0
-35
-53
62
10
-20
-25
-4
-9
0
-19
-3
52
6
-43
-30
-36
-5
-6
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-20
-2
-44
0
0
0
0
0
0
13
3
-36
-65
0
0
0
0
0
0
8
25
20
-5
0
0
0
0
22
-15
9
11
-10
-94
0
0
0
-7
-43
-43
-77
22
-24
13
0
0
-9
-3
42
-47
-21
13
-52
15
0
-51
-35
-11
28
24
-15
-61
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
4
3
1
2
0
0
0
0
0
-2
12
-1
14
0
0
0
0
0
-1
42
-5
18
0
13
0
0
0
-36
3
18
-42
-1
-23
5
0
0
26
15
8
-26
47
-46
14
0
-39
0
0
0
0
0
0
0
0
0
23
-26
0
0
0
0
0
0
0
0
-2
-24
30
0
0
0
0
0
0
0
12
-1
7
0
0
0
0
0
0
0
46
26
-9
0
-5
0
0
0
0
0
9
-2
40
5
-12
0
0
0
0
0
16
22
19
6
-6
-1
-2
0
0
0
1
75
20
5
-10
-7
-5
5
0
0
12
-13
0
40
24
-1
2
-41
-19
0
46
-101
-28
-21
1
-1
-8
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
-70
-21
0
0
0
0
0
0
0
0
-2
42
3
0
0
0
0
0
0
0
-8
6
-32
8
0
0
0
0
0
0
9
12
-18
-24
0
0
0
0
0
0
4
-3
18
29
18
2
0
0
0
0
8
6
34
-31
-19
-13
-1
0
0
0
47
-76
-11
55
35
-3
-11
15
0
0
67
60
18
-18
51
37
-24
-2
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
44
11
0
0
0
0
0
0
0
0
10
-16
-27
0
0
0
0
0
0
0
-1
44
0
48
0
0
0
0
0
0
-32
34
-8
-1
-2
0
0
0
0
0
47
38
-3
0
-3
8
0
0
0
0
23
-13
17
0
3
3
36
0
0
0
46
2
3
0
-1
0
-7
-1
0
0
-1
0
-16
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-58
23
0
0
0
0
0
0
0
0
39
27
40
0
0
0
0
0
0
0
-27
-9
-26
-5
0
0
0
0
0
0
-10
-5
12
2
-2
0
0
0
0
0
-50
2
2
-7
9
0
0
0
0
0
6
37
8
-4
0
0
0
0
0
0
8
5
-18
-4
-1
-1
0
0
0
0
22
4
-1
4
0
1
0
0
0
0
0
-4
0
0
1
-2
0
0
-64
-14
4
106
-29
52
0
0
0
-33
-2
6
0
-4
0
0
3
-13
14
73
-30
43
0
0
0
40
8
1
0
-42
0
0
-54
-14
-3
19
-76
-25
0
0
0
-31
-13
-13
0
10
0
0
79
5
-8
29
46
-18
0
0
0
22
6
-41
7
-9
0
0
-70
163
48
-116
-21
-10
0
0
0
41
-33
-86
31
47
0
0
-61
159
-7
-92
-25
41
0
0
0
-199
0
-85
-7
70
0
0
-76
126
-51
-139
-80
-109
0
0
0
13
0
-27
8
-82
0
0
14
126
-25
-87
-25
71
0
0
0
-23
-8
0
12
2
0
0
-67
-16
-103
69
2
131
0
0
0
19
0
-5
-1
61
0
0
-46
-50
-41
-8
-1
31
0
0
0
-46
12
4
0
-52
0
0
-44
8
7
13
-86
21
0
0
0
-103
-9
8
6
55
0
0
44
82
7
-96
17
-46
0
0
0
39
16
-95
28
6
0
0
-124
15
22
-28
-114
-9
0
0
0
57
6
-106
62
20
0
0
-43
25
-53
7
8
255
0
0
0
-24
1
-73
15
93
0
0
-93
103
16
-20
-40
-66
0
0
0
-39
3
-24
38
-21
0
0
-88
70
-38
6
-11
-44
0
0
0
-21
-8
0
9
2
0
0
-44
72
-48
37
82
47
0
0
0
11
1
-5
-2
5
0
0
-16
15
-39
-8
-73
43
0
0
0
-28
9
4
0
-34
0
0
20
9
2
-15
-97
4
0
0
0
-65
-13
-5
6
19
0
0
-48
99
6
-60
7
-24
0
0
0
78
23
-51
27
120
0
0
19
30
13
0
-87
64
0
0
0
79
4
-3
5
73
0
0
-45
-45
-13
-16
-138
81
0
0
0
-45
0
-43
2
38
0
0
-95
-76
16
15
-83
49
0
0
0
-43
2
-41
16
11
0
0
-69
7
-42
39
-110
-100
0
0
0
0
-1
0
0
1
0
0
-15
59
0
8
-9
1
0
0
0
7
0
0
0
0
0
0
30
-23
0
4
-1
-2
0
0
0
-1
0
0
0
3
0
0
25
-3
0
0
33
0
0
0
0
1
0
0
0
0
0
0
-8
-3
0
-5
-4
-1
0
0
0
4
1
-2
0
10
0
0
3
-27
0
-23
-14
41
0
0
0
-5
1
1
-2
9
0
0
-16
67
14
-3
-10
-4
0
0
0
-4
0
0
0
7
0
0
-3
-37
0
-13
-22
13
0
0
0
1
0
0
0
1
0
0
1
-45
-5
-4
-6
-1
0
0
0
0
0
-2
0
-22
0
0
-43
3
-26
-50
-37
4
-27
0
0
0
0
0
0
-59
-18
0
-179
-86
-89
-44
-82
-97
-62
0
0
-4
0
0
0
-1
0
0
25
-26
7
19
35
0
-25
0
0
22
-1
12
-5
-28
-1
0
-54
3
-83
-46
-63
-20
-29
0
0
-53
0
8
3
-47
-43
0
-108
-20
-101
-154
-133
-24
-138
0
0
6
1
13
-17
-1
0
0
-53
-15
-58
-37
43
20
-42
0
0
-44
-1
7
-6
-9
2
0
26
7
21
-27
-63
-151
-46
0
0
-43
0
6
3
-29
19
0
-88
8
-22
-59
-79
12
-117
0
0
40
-17
-1
-8
-1
0
0
-45
-38
-106
24
70
20
-47
0
0
-4
0
0
0
-8
-1
0
-49
19
-32
49
-57
3
-25
0
0
7
0
-1
2
1
1
0
-45
-59
-22
24
-70
-22
18
0
0
0
0
0
-1
0
0
0
-11
13
-11
-3
6
-1
-8
7
5
10
-4
19
22
0
-5
8
-17
8
15
4
-11
-3
-16
47
3
56
-1
-26
4
-26
30
-27
19
10
-8
33
29
-27
29
4
-6
-3
-10
11
17
18
28
23
-1
26
0
2
19
2
39
-40
5
43
-15
-1
-36
14
4
-32
41
17
-12
-28
-26
-6
2
13
25
5
0
5
11
-3
7
-4
-14
-2
-57
-31
-2
-25
-1
14
18
25
-13
45
4
6
42
-27
-5
5
0
-20
-13
-8
1
-5
1
4
8
-4
-4
-8
0
-9
-3
0
5
-41
19
20
8
-19
28
-25
-8
35
-5
1
-8
42
69
-9
53
6
15
-1
-8
2
5
-5
-22
9
4
0
-3
-4
-11
-5
-11
6
-26
2
-32
-63
17
-20
29
-35
-14
55
-9
-41
17
-29
10
-24
27
10
16
3
1
17
-15
3
3
-8
-7
6
13
4
8
8
5
5
-15
15
-20
34
-40
-49
-1
-6
0
-55
18
-44
-24
-26
15
3
-4
5
-25
-8
3
1
-15
2
8
8
-51
-4
-6
-34
-16
2
-84
-8
25
-18
-8
-15
7
15
8
51
0
49
1
26
-4
28
2
5
-33
-5
15
-2
-19
9
-7
8
-34
-7
-18
-16
-9
-9
7
-9
-22
10
21
14
-16
-2
2
15
-4
-8
17
-16
-3
-1
-1
10
13
-18
-9
-16
11
-10
7
6
2
-4
10
10
1
6
5
21
-7
-34
19
10
6
-16
-1
-36
-76
-1
16
3
11
-41
29
-5
-2
-10
-6
-20
9
-3
10
-4
-14
-6
-1
4
12
19
1
33
48
81
9
40
1
11
41
13
-20
-5
-25
36
0
12
-15
-18
12
-15
-10
-16
1
-18
-18
5
12
-7
-1
5
-9
-22
-3
38
-35
37
5
-45
-16
-22
41
32
-15
-58
43
6
-9
3
14
-16
-7
-51
-45
11
-25
-28
-16
9
-13
-23
6
7
-1
0
-8
17
-4
-19
-21
-14
-11
-6
-7
2
-3
27
-5
22
-4
-8
42
-15
29
8
-30
5
-3
-12
1
-7
8
10
-8
0
5
5
10
14
48
62
14
5
16
53
-6
-37
-48
7
-2
27
-9
-1
-5
-14
-8
-6
-13
-5
-4
0
-1
0
-7
15
37
9
5
30
3
9
-48
-25
-23
-8
15
-17
-18
-19
-7
-57
-4
-7
-24
34
10
-33
10
-12
18
-38
-14
10
14
-13
-9
-12
-29
-5
8
-7
-25
34
79
-17
-5
-17
23
-8
0
-19
35
-4
30
-14
13
1
-8
22
-36
-73
-40
15
-36
-18
1
4
17
4
-19
12
18
-47
28
13
12
4
9
0
-2
5
7
0
-3
14
10
5
12
9
-1
4
-35
37
6
29
13
22
-29
15
8
23
-18
28
12
44
32
36
61
2
51
4
-1
-36
15
-16
11
-27
5
-39
40
21
-32
-20
6
-32
43
5
-18
5
-10
17
-18
23
17
-7
-16
51
-5
12
7
-15
0
20
-3
-23
21
45
39
31
-9
63
-6
-17
4
-20
-58
-43
65
-19
29
1
-10
50
43
20
12
-20
84
-21
-30
-3
20
32
28
-6
-13
25
-17
24
-23
9
51
-1
37
-19
-2
22
-52
50
-7
-32
13
-43
71
41
6
5
-31
-28
0
-9
36
-11
2
-4
39
-16
33
3
-21
-16
-17
52
-26
127
2
44
22
11
15
-27
-35
-19
-18
-28
12
27
21
28
16
47
3
21
-54
26
2
-53
17
3
-6
-22
9
1
-1
3
29
-6
-16
-12
-28
-10
-15
-11
-24
-21
3
-5
-14
15
11
34
30
34
-16
33
10
45
2
-47
4
27
11
7
-8
65
-16
31
37
36
-17
91
8
-23
-26
-5
-25
-16
-8
-9
1
-67
21
-12
-34
-2
19
4
0
-2
33
-15
-13
21
17
4
-5
-17
10
76
-22
-4
26
25
18
14
-33
5
15
-10
4
5
10
33
-13
2
-3
25
-5
20
-13
19
-9
7
54
-25
2
2
12
4
-5
8
10
9
-4
-1
-6
17
27
14
-7
-67
7
19
13
-14
10
-31
33
-25
10
2
20
11
20
45
-14
32
-18
28
17
24
-20
12
-3
23
42
45
15
15
-8
-30
34
21
30
-24
62
24
-8
-46
-43
4
-28
6
20
20
20
-23
15
19
18
47
11
15
27
31
-14
6
32
0
-32
30
-4
-25
-26
30
-17
-32
18
-2
16
-6
-37
2
58
15
-14
36
12
-37
31
26
16
24
35
-1
-25
15
-30
-41
48
51
27
-37
-5
16
-18
-5
16
-4
4
10
16
-14
35
16
23
53
62
14
19
9
19
23
-5
9
-13
17
50
38
-11
11
-2
25
18
-43
22
0
-3
-14
51
24
92
-27
34
-1
23
23
33
5
31
30
49
-22
27
-80
32
4
-4
1
-18
21
62
14
-17
36
26
3
60
2
-58
31
9
41
-34
-1
77
-6
-8
-33
15
56
15
15
31
23
-44
-4
-66
8
-1
12
62
21
5
47
-22
37
-13
-22
-5
14
13
9
20
31
-6
25
17
36
-13
7
-17
-7
-8
8
23
-5
45
49
-24
-16
-31
4
9
22
7
2
-5
33
-3
22
14
0
2
9
6
-15
8
-5
10
-8
-6
-3
25
-5
-3
-12
-14
41
16
39
-8
9
-6
44
-1
30
21
-39
7
22
-2
4
8
7
5
13
5
2
8
6
1
-1
-13
-6
-10
6
1
-10
4
-9
8
-2
8
-25
-6
31
27
-27
-59
-30
-17
13
-16
9
-5
0
4
-5
5
-4
-20
-3
7
2
7
-1
-4
0
-52
-53
-52
9
10
8
25
-3
25
7
-19
8
17
15
-3
-1
21
2
7
0
1
-3
-7
1
4
1
-1
4
-6
-15
-17
-31
-24
-27
20
3
41
-30
-34
30
-8
41
5
30
22
11
15
25
-3
2
-4
-1
21
-15
-3
-20
-8
-8
22
32
2
-15
1
-1
10
22
4
-27
-1
53
-15
-24
-12
42
-3
-28
33
18
99
19
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
19
57
16
-7
7
-4
0
-4
-3
2
-1
-2
2
10
14
-2
38
5
10
48
19
21
-15
-15
6
61
5
-10
16
-9
-1
-33
-15
0
-12
-1
16
19
9
9
-15
-29
1
5
-30
23
1
-20
-2
6
-14
38
-3
25
-9
41
-7
94
-24
-25
-8
-7
-6
-13
30
21
-1
-10
11
9
4
15
-13
-7
-10
-23
-15
24
14
53
61
-6
-8
8
-21
117
11
-17
28
6
-13
10
4
48
-12
-9
5
4
6
-9
15
-4
4
31
11
-4
-35
12
-7
11
-11
79
-14
-10
-28
1
66
70
13
-27
-51
28
19
25
-44
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
20
5
-6
1
8
10
-27
38
-35
14
60
1
23
-16
0
62
14
61
5
29
9
26
-13
-27
41
18
45
4
31
39
-7
3
44
41
24
-1
-47
14
14
20
9
52
4
-13
44
-3
46
-4
22
28
11
44
16
-13
-2
32
-51
-10
42
40
23
-15
-3
-21
-71
-13
34
5
72
-8
-13
22
-9
48
-46
27
10
53
-37
-6
-5
-31
15
0
-39
-7
-22
86
-11
1
0
40
47
3
16
30
-24
17
74
-23
-15
3
-13
-58
17
66
-47
-24
-37
23
123
-12
65
7
24
-6
-1
24
16
5
12
18
39
29
-40
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-9
23
6
5
-7
-11
-15
32
-15
39
-9
7
37
11
8
2
-4
-26
-47
-5
32
-2
18
-18
33
30
1
-15
14
55
22
1
-22
39
-28
32
-41
4
8
43
1
-82
-1
-28
33
-5
2
36
-20
7
-4
-6
9
-23
-42
34
-9
44
10
-60
65
65
6
14
34
0
16
-15
4
29
-20
-23
-49
-2
37
-57
24
-3
9
-44
-28
54
21
-1
-46
33
49
60
34
3
9
22
1
20
16
41
-16
-11
23
-21
22
5
29
4
0
-52
-65
4
8
-3
-6
13
7
31
7
46
-22
-18
35
96
19
28
53
-14
41
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
9
13
0
0
0
0
6
0
5
0
0
0
0
0
25
-12
0
-18
0
0
0
0
-29
-20
18
-8
0
0
0
0
5
-1
-2
0
0
0
0
0
6
10
2
-20
0
0
0
0
49
4
-7
13
0
0
0
0
41
25
-28
-28
0
0
0
0
6
0
2
-4
0
0
0
0
7
10
0
-47
0
0
0
0
-5
29
-6
-10
0
0
0
0
-5
-32
-34
33
0
0
0
0
1
-4
-13
-13
0
0
0
0
34
23
12
20
0
0
0
0
-14
-2
0
-23
0
0
0
0
-3
-13
15
35
0
0
0
0
5
17
-1
-5
0
0
0
0
4
-11
2
-29
0
0
0
0
17
-30
46
3
0
0
0
0
13
6
-33
5
0
0
0
0
1
1
-14
-29
0
0
0
0
-4
-17
2
-22
0
0
0
0
11
28
36
-13
0
0
0
0
4
-42
2
-41
0
0
0
0
4
-8
2
8
0
0
0
0
-1
-13
-7
36
0
0
0
0
2
30
10
-14
0
0
0
0
45
33
81
-40
0
0
0
0
3
-2
-23
16
0
0
0
0
-15
-4
-17
24
0
0
0
0
-12
17
13
12
0
0
0
0
16
-22
-1
-2
0
0
0
0
11
12
18
6
0
0
0
0
3
3
5
-16
0
0
0
0
-9
0
48
-25
0
0
0
0
-22
11
3
45
0
0
0
0
9
14
-20
-14
0
0
0
0
10
14
2
-4
0
0
0
0
-8
-5
42
54
0
0
0
0
0
-29
38
49
0
0
0
0
5
-1
7
10
0
0
0
0
3
-1
-10
-29
0
0
0
0
-7
39
18
72
0
0
0
0
-7
8
-18
-17
0
0
0
0
-10
10
0
22
0
0
0
0
-26
-10
40
-6
0
0
0
0
55
31
-13
-26
0
0
0
0
9
-5
-7
18
0
0
0
0
-5
-3
-14
-14
0
0
0
0
-7
-5
-16
15
0
0
0
0
-22
-13
13
-3
0
0
0
0
1
-5
-4
21
0
0
0
0
3
-4
-14
-43
0
0
0
0
-10
-2
-12
-47
0
0
0
0
13
-6
-17
45
0
0
0
0
20
-12
-11
28
0
0
0
0
2
-6
-37
-47
0
0
0
0
10
-13
-12
19
0
0
0
0
9
41
-1
74
0
0
0
0
-2
32
-15
-16
0
0
0
0
2
-4
-14
25
0
0
0
0
1
22
-4
11
0
0
0
0
-37
-19
55
-26
0
0
0
0
8
-14
1
-17
0
0
0
0
53
-13
-10
31
0
0
0
0
-9
5
-14
15
0
0
0
0
5
-27
12
-4
0
0
0
0
22
33
14
62
0
0
0
0
5
-1
16
7
0
0
0
0
61
24
28
-80
0
0
0
0
51
-7
7
-31
0
0
0
0
21
11
0
30
0
0
0
0
-3
-12
-45
7
0
0
0
0
11
-41
7
16
0
0
0
0
50
42
-14
29
0
0
0
0
52
-13
39
26
0
0
0
0
-16
47
27
10
0
0
0
0
14
33
-3
4
0
0
0
0
50
36
-21
7
0
0
0
0
-24
11
2
-12
0
0
0
0
-13
29
-41
-33
0
0
0
0
14
19
19
-17
0
0
0
0
30
-1
41
-4
0
0
0
0
-66
10
-6
3
0
0
0
0
-35
-32
16
-24
0
0
0
0
-1
-24
25
-30
0
0
0
0
-6
36
15
-6
0
0
0
0
8
12
52
17
0
0
0
0
82
-40
-45
16
0
0
0
0
57
-42
18
10
0
0
0
0
38
11
-13
5
0
0
0
0
-25
48
-59
-54
0
0
0
0
-27
29
-12
-15
0
0
0
0
15
34
53
19
0
0
0
0
50
-5
18
32
0
0
0
0
54
-53
42
-31
0
0
0
0
-68
-17
10
18
0
0
0
0
16
4
-55
9
0
0
0
0
24
-8
8
-23
0
0
0
0
15
12
-19
20
0
0
0
0
-15
57
3
8
0
0
0
0
13
20
-6
54
0
0
0
0
96
31
-13
-49
0
0
0
0
33
-13
42
-15
0
0
0
0
4
-26
50
-24
0
0
0
0
-11
3
-12
74
0
0
0
0
30
39
-3
6
0
0
0
0
11
23
-45
18
0
0
0
0
23
-15
13
30
0
0
0
0
2
49
-2
0
0
0
0
0
58
9
-44
67
0
0
0
0
37
-11
-17
7
0
0
0
0
-28
30
-21
2
0
0
0
0
-15
3
-61
37
0
0
0
0
8
65
-27
15
0
0
0
0
8
31
15
16
0
0
0
0
12
-72
42
29
0
0
0
0
-26
87
22
32
0
0
0
0
-6
45
-21
23
0
0
0
0
7
-43
30
-59
0
0
0
0
-63
-29
22
6
0
0
0
0
-23
27
0
10
0
0
0
0
-6
24
36
-7
0
0
0
0
46
8
19
2
0
0
0
0
-7
15
-7
25
0
0
0
0
-14
39
-36
-10
0
0
0
0
7
60
-41
89
0
0
0
0
0
-10
26
45
0
0
0
0
-2
-3
-4
-2
3
0
4
-6
-1
4
-9
-22
-10
-9
4
-37
-13
22
63
-25
-27
19
-2
1
-1
43
0
49
29
8
-7
14
-3
-17
-6
-6
-6
-21
2
-23
8
-32
-9
-36
15
14
5
-8
-14
40
49
4
-62
16
14
5
-11
45
-12
19
4
-21
25
-1
14
-8
3
-7
-1
-10
-14
24
21
12
-4
-27
-23
5
-20
-12
43
1
3
-5
20
15
-15
-2
-44
25
22
20
20
-32
16
3
-7
14
3
-9
-14
-6
-11
36
-24
9
-23
-26
-29
-34
9
98
54
-18
47
2
-18
22
10
24
25
2
-22
8
28
-7
9
-1
-3
4
12
13
-3
-13
-1
-13
13
11
8
-5
-8
-2
12
-10
24
37
8
48
-1
-29
1
-2
-4
-2
32
-24
75
-2
-14
5
-10
7
-5
2
-9
1
-9
17
8
15
-12
-6
-5
-12
-10
-32
-16
26
3
-13
-25
17
0
-4
8
16
7
-7
-4
-24
-14
12
-2
-3
5
2
-9
-7
-1
6
-3
-1
0
-23
-7
0
4
7
1
0
-1
25
77
-8
-30
-8
-48
21
-6
1
53
10
41
0
-8
6
2
9
-4
-11
-8
-17
11
26
23
14
9
-10
27
-3
33
0
-1
-7
-29
-8
-8
8
20
-4
2
8
-4
17
-10
27
0
1
10
-46
10
-7
35
12
18
-12
-4
-43
0
-5
-6
39
1
-9
0
-38
0
-4
-1
41
50
30
26
25
-8
12
-21
31
-31
-16
-31
26
18
5
-18
-36
4
15
-13
-21
-1
-2
-40
-34
-21
25
21
22
13
-18
5
-8
6
-12
24
-23
34
-20
4
-12
29
-8
-16
-85
12
-1
-14
-39
-3
4
-16
-32
6
3
-36
-43
9
-12
20
-28
-21
6
-12
3
18
8
-13
-5
20
3
16
-14
-25
-58
23
-11
-7
-1
26
74
-19
-39
40
17
-26
-17
7
2
5
-8
29
-1
52
-12
46
25
20
-23
-9
31
29
-4
26
-5
-8
-46
-40
-13
0
2
-28
-9
6
3
2
-13
1
6
-9
-35
10
21
3
56
-25
7
13
0
-16
-2
63
46
19
17
-31
19
-2
-35
17
-60
15
8
-18
-6
6
10
-8
-16
-20
-12
-14
11
5
-16
-7
19
-13
-17
-5
-5
-1
-11
31
-7
-3
4
-16
-1
-8
17
-2
0
8
-8
-7
-32
6
-11
-3
-8
7
11
-4
8
33
-38
23
-13
-10
-7
-28
25
6
9
53
1
7
36
26
-24
15
6
27
-31
18
9
34
-3
19
24
1
-6
31
21
53
55
26
4
61
17
16
-5
-5
2
40
-16
13
-22
-20
0
9
-8
-10
42
40
10
26
20
-20
4
16
-14
26
-22
-31
-19
-24
-5
5
76
-41
53
56
1
9
-8
-1
23
56
25
-48
-12
-16
3
-2
0
19
-4
53
-23
-9
-3
-23
46
-7
-3
7
-7
14
15
1
6
-56
5
-1
-16
-8
3
50
22
-42
32
30
0
-4
2
-56
-3
-13
-1
5
-9
1
3
1
14
11
1
17
22
21
-8
31
21
24
-8
24
-3
14
-8
0
2
10
-17
-4
-8
39
-1
-5
-9
14
-10
18
-6
5
-13
-15
8
7
-31
-1
14
6
-8
-5
-7
40
-8
6
14
0
1
52
52
17
44
4
-5
19
-1
-13
6
-7
-12
3
27
-15
-9
5
-1
21
-21
4
-21
16
15
32
31
-3
-9
-2
28
10
-2
14
50
-1
44
-6
-21
-10
25
14
14
-8
19
0
2
-4
-8
6
-9
-9
-2
23
-10
-5
3
-9
-1
2
33
22
0
6
-1
13
48
34
-9
20
28
5
-8
14
24
14
9
-4
1
-16
13
8
-58
42
16
8
7
3
-5
0
25
8
14
-15
-1
11
-7
7
-17
-12
6
40
-3
-33
2
22
3
-1
-29
12
-6
-8
17
-8
1
10
79
9
43
-8
5
-22
-13
-1
24
17
4
-7
1
-6
25
15
-22
12
-2
18
-13
35
-4
-23
-19
-46
-1
8
-1
1
23
26
71
49
11
-15
-8
0
15
-6
14
46
-12
98
0
-39
4
22
52
12
-37
3
16
7
-9
0
3
48
-5
8
-1
-7
-6
45
13
-33
8
39
9
49
47
2
0
34
-1
-38
-8
-8
21
9
27
5
-16
3
41
0
-41
-13
6
-22
-12
-1
-9
-12
25
-4
-26
-51
31
-16
2
26
-18
23
-4
-14
13
15
20
-18
65
12
-17
10
-8
-40
-13
-4
-4
-7
4
-10
0
6
1
-28
-19
-43
29
-5
58
1
0
-7
14
-1
17
-8
-7
43
6
2
1
42
16
33
3
-14
17
-7
21
5
0
-11
-1
-7
-1
50
-26
84
22
-28
4
5
3
-14
15
-2
-14
17
32
-41
6
11
4
-12
-17
-11
40
9
9
-40
0
5
0
-5
-1
1
-4
4
43
7
16
36
-17
21
4
31
-18
5
2
11
19
10
5
29
37
32
-8
1
10
47
29
-3
-1
-18
13
-20
-1
-12
0
3
-5
40
13
-5
4
-10
-2
31
-7
-31
-3
-25
4
-44
12
23
-20
2
-20
-49
17
44
54
0
-7
5
2
0
-8
1
-3
0
20
-2
47
13
1
15
4
-40
-3
-10
5
7
-27
27
17
-4
23
-22
4
-3
20
3
-16
-2
-7
-2
5
9
-10
-8
-9
-1
-30
1
6
0
42
-27
53
50
0
-40
1
43
-23
50
77
19
35
40
-95
50
-45
-1
-66
7
4
-2
-5
21
-16
15
23
-15
12
-5
-31
-20
-19
36
16
15
15
40
-41
-15
-101
-66
-5
-15
-16
16
-22
37
-30
-2
-17
6
48
11
40
1
31
24
25
-7
-6
18
-10
-5
8
25
15
46
0
32
-2
1
-43
56
86
9
-73
-25
-17
-105
96
-104
79
5
1
-1
34
11
-5
14
39
13
-33
7
-47
-12
79
-25
32
-28
-2
22
-11
99
61
-5
24
17
51
111
0
-50
-17
17
-46
12
1
14
21
2
0
12
19
17
0
53
9
12
-8
38
15
10
29
-43
42
49
14
123
30
13
43
55
148
39
59
-16
42
-3
-17
0
-24
8
6
21
19
-25
-44
-8
-15
44
40
-9
7
-16
-94
22
-93
-52
-56
13
8
26
51
18
11
-15
7
52
-58
3
24
-2
29
3
11
-1
19
0
-2
-2
0
13
53
-20
23
-30
-49
31
-12
-75
98
-10
46
-24
51
-9
-12
1
74
52
49
5
35
6
5
30
16
21
33
1
74
-20
33
-15
-37
5
46
-11
-48
-18
82
-7
-21
-21
-36
56
-9
11
101
3
-65
-10
-63
15
12
-9
6
16
-16
25
29
8
2
-9
18
13
16
19
4
17
23
70
-11
57
-34
43
65
70
114
42
30
66
65
17
32
-19
10
-58
55
20
50
19
18
0
-27
-14
2
10
6
2
-25
39
40
87
-14
74
-5
-24
-11
28
70
55
22
59
49
-7
35
-26
3
-45
38
-4
2
-5
21
-3
6
4
-37
18
32
12
45
89
-43
117
1
-19
-18
-34
28
29
86
-37
91
55
44
5
-12
22
31
11
116
-25
40
-14
67
-11
-20
-33
63
5
17
1
-12
90
75
5
45
-13
2
14
-12
53
96
71
43
12
131
54
14
12
5
16
-12
-31
-14
-25
35
12
-16
-16
-1
20
24
6
11
-8
-15
85
39
59
-62
51
1
14
7
75
-8
46
64
-68
-11
-7
30
-7
43
-9
1
-8
19
16
1
3
-28
-4
25
1
-6
37
-99
62
-15
35
68
27
8
-47
12
48
93
59
35
113
13
2
-10
5
23
-3
-19
3
13
18
-13
-4
-15
4
6
12
15
0
58
-11
103
-45
38
64
75
-31
55
25
148
-65
9
15
155
9
25
-44
60
-17
-10
-25
19
12
32
10
-37
24
2
20
-33
80
-35
-1
-10
34
-17
25
-20
45
-10
31
61
43
34
-6
37
23
-61
36
-42
26
9
91
-44
61
70
62
23
-12
69
-8
-32
15
41
66
16
34
-26
43
5
17
30
38
-71
14
-31
-11
-97
49
20
0
7
18
-48
1
49
31
-3
-6
11
-4
-7
-5
-7
45
42
47
-4
22
-6
-27
-10
2
21
58
-13
-9
-51
10
-30
3
41
-25
141
-10
107
55
-55
-12
82
-5
-53
11
16
41
42
30
32
52
20
55
10
-29
80
-3
48
14
28
-30
13
55
-18
6
-28
138
52
-10
-23
-24
89
11
-36
53
50
82
-68
-5
113
5
74
-45
89
-1
11
49
58
-40
26
20
-63
35
30
78
30
-44
39
103
14
52
-29
24
71
34
114
15
27
65
37
35
13
-2
-54
-67
131
31
33
-15
52
-5
23
7
-6
39
3
51
58
35
-42
41
98
-39
-64
52
75
6
83
107
-26
-28
43
57
4
48
8
50
-40
-14
-65
-86
-20
20
41
-18
15
66
14
2
3
42
-27
20
15
19
27
-13
-64
50
22
-14
19
-36
36
6
37
-2
30
18
46
-69
19
-50
8
40
77
3
79
0
80
6
7
12
22
19
-10
-38
-16
20
115
-11
49
145
-45
0
33
42
19
10
-40
-1
75
23
53
47
-17
9
30
128
60
33
71
-55
61
54
1
-13
-106
-22
7
39
-21
61
35
36
87
29
-4
14
31
23
108
56
-8
42
44
24
55
27
33
31
-38
31
-1
46
-63
2
-7
123
-72
42
54
-5
16
52
79
32
-67
-9
30
3
15
42
9
-18
39
123
34
2
33
3
-20
19
45
51
-4
-5
-9
48
47
9
9
10
-29
-71
25
-14
51
40
-50
42
-34
21
-14
1
-1
6
2
22
71
-7
73
-3
-4
-29
47
32
-23
21
11
0
14
16
30
-52
-55
37
89
8
78
20
3
65
2
109
115
4
91
-5
163
52
66
0
70
7
-75
-17
26
-8
74
32
-42
32
30
24
-3
-36
130
68
91
-22
111
6
45
-4
27
27
-36
28
-28
48
18
13
33
46
8
11
-4
-18
-27
31
16
54
41
93
54
-51
84
57
29
32
-56
-1
71
8
82
-6
-10
81
10
-8
-15
67
-38
-55
43
124
51
-14
-24
-32
-27
-5
-22
38
-5
-36
-3
-39
112
-4
69
27
35
30
-1
-15
26
-10
19
40
38
-19
-35
4
31
-3
15
-2
22
1
7
29
79
21
-10
14
2
56
-30
-31
75
-27
4
-21
-31
-35
2
-29
66
-12
22
20
-41
96
17
-12
14
123
1
-73
3
30
-22
17
22
90
50
14
52
2
4
14
23
10
-2
19
3
16
15
20
22
8
2
23
29
4
-92
-5
27
-23
-29
24
46
15
29
42
87
-22
24
31
83
1
-8
-4
3
8
-17
13
0
14
3
14
13
3
29
-3
-16
-42
15
-10
24
-11
-19
53
115
26
7
25
66
-1
-54
84
15
9
10
-4
8
11
8
3
5
10
25
-21
26
24
47
-17
-33
-17
-16
4
46
48
46
-14
-30
21
72
5
48
-9
19
-49
-3
16
-15
11
-7
6
-8
-15
6
53
18
3
90
43
44
25
-10
40
-7
58
-23
56
10
-19
-65
85
27
44
23
128
141
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
9
54
21
-5
-7
19
-2
2
11
17
16
-6
-2
-13
13
15
-11
5
4
30
3
98
13
28
41
-28
-11
2
17
-15
3
-8
2
-1
0
-23
12
-34
-5
-14
21
-18
-2
0
32
12
5
10
21
46
42
-8
44
45
35
46
82
53
52
13
6
124
13
-10
-6
-30
10
4
-17
10
2
-9
-1
35
-9
17
-13
8
-1
-1
8
4
41
90
31
122
-40
43
-15
42
48
5
3
-23
5
-18
10
-30
22
9
-2
13
0
19
5
64
24
-10
-30
40
26
25
35
-29
17
75
87
53
0
60
18
36
44
-19
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-5
13
27
-35
-25
103
57
4
33
22
25
13
-40
70
-45
-42
21
10
-11
-3
8
63
42
-37
-19
55
28
-6
9
42
-10
-39
24
-10
-1
-4
0
51
-5
25
53
22
34
53
42
92
-5
-40
6
87
20
11
29
42
0
45
10
74
11
-1
54
87
-43
6
-15
7
46
48
44
40
17
42
18
43
55
17
27
169
-28
19
-28
26
-15
-37
-1
53
-14
-41
-14
89
-18
0
46
-8
48
63
20
5
110
-42
-11
58
-27
16
93
152
40
9
25
56
12
-42
26
20
89
30
49
109
23
85
50
23
66
13
25
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
34
-9
26
-39
19
36
23
49
-27
98
-15
2
42
65
8
-9
51
15
51
-14
-10
7
3
27
-21
25
3
-1
-5
1
29
40
18
48
-5
7
-51
44
19
37
56
59
-27
38
29
17
49
0
-11
69
-14
0
47
50
-4
-43
20
59
-1
-34
53
92
35
-26
30
61
3
77
-24
19
43
45
3
62
-18
11
-15
134
3
26
-12
71
14
-9
-62
24
22
55
7
23
3
27
-26
44
50
0
59
43
82
18
138
61
39
55
-14
13
-29
40
70
-31
-5
35
0
22
15
18
-51
68
5
36
-24
-29
-2
-15
35
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
8
24
0
0
0
0
-4
-6
-19
6
0
0
0
0
-11
-19
10
5
0
0
0
0
-9
5
-7
32
0
0
0
0
-13
-41
3
23
0
0
0
0
-1
-8
12
25
0
0
0
0
5
23
21
-2
0
0
0
0
9
-38
38
63
0
0
0
0
21
10
15
-2
0
0
0
0
9
-18
-15
21
0
0
0
0
-41
67
6
52
0
0
0
0
12
24
3
85
0
0
0
0
22
-3
11
-52
0
0
0
0
32
21
-19
-21
0
0
0
0
18
62
-58
38
0
0
0
0
20
57
102
6
0
0
0
0
1
-11
2
-9
0
0
0
0
-5
-2
-30
-34
0
0
0
0
-3
12
2
103
0
0
0
0
-12
41
54
11
0
0
0
0
-8
-19
-4
-18
0
0
0
0
-11
-22
-17
10
0
0
0
0
16
-71
13
-4
0
0
0
0
22
26
21
-60
0
0
0
0
14
15
2
22
0
0
0
0
16
8
9
0
0
0
0
0
-26
23
-27
-13
0
0
0
0
-28
8
11
16
0
0
0
0
3
-27
11
37
0
0
0
0
21
25
-1
-12
0
0
0
0
-36
17
-17
1
0
0
0
0
43
93
35
6
0
0
0
0
29
15
42
26
0
0
0
0
-4
-3
-6
41
0
0
0
0
-12
-40
34
11
0
0
0
0
9
-21
-19
70
0
0
0
0
3
-2
20
16
0
0
0
0
-6
-16
24
6
0
0
0
0
3
-2
90
66
0
0
0
0
-53
25
76
73
0
0
0
0
16
10
11
-6
0
0
0
0
8
20
-18
6
0
0
0
0
6
95
31
105
0
0
0
0
31
18
-11
-34
0
0
0
0
30
45
25
53
0
0
0
0
28
-5
2
-24
0
0
0
0
58
99
91
-1
0
0
0
0
47
9
17
56
0
0
0
0
15
16
5
44
0
0
0
0
1
-2
-12
-9
0
0
0
0
40
33
23
28
0
0
0
0
13
24
61
63
0
0
0
0
-1
-7
15
7
0
0
0
0
0
-16
0
21
0
0
0
0
71
15
31
85
0
0
0
0
22
-15
39
12
0
0
0
0
2
26
4
54
0
0
0
0
-10
-23
-6
39
0
0
0
0
65
39
-14
-10
0
0
0
0
40
56
-47
82
0
0
0
0
52
38
12
60
0
0
0
0
59
-9
6
5
0
0
0
0
54
101
62
13
0
0
0
0
76
-1
-9
-13
0
0
0
0
-31
-29
-33
10
0
0
0
0
14
43
-1
25
0
0
0
0
-67
6
-25
-16
0
0
0
0
41
23
22
24
0
0
0
0
-27
-11
58
57
0
0
0
0
40
4
44
-39
0
0
0
0
18
-12
-53
28
0
0
0
0
31
6
37
13
0
0
0
0
-27
-10
-41
-22
0
0
0
0
52
46
31
45
0
0
0
0
7
34
67
42
0
0
0
0
1
39
-14
30
0
0
0
0
55
-17
-15
23
0
0
0
0
52
86
40
18
0
0
0
0
36
78
2
-5
0
0
0
0
46
66
-14
5
0
0
0
0
-2
62
-40
-18
0
0
0
0
-21
50
48
7
0
0
0
0
35
-44
42
35
0
0
0
0
13
-12
-7
81
0
0
0
0
-50
-36
45
24
0
0
0
0
93
-72
-7
12
0
0
0
0
-14
-6
52
-21
0
0
0
0
-77
-17
73
64
0
0
0
0
2
0
-23
-35
0
0
0
0
11
29
2
73
0
0
0
0
71
67
10
2
0
0
0
0
49
29
68
18
0
0
0
0
-58
-20
37
46
0
0
0
0
44
61
59
84
0
0
0
0
86
59
20
33
0
0
0
0
49
63
43
-70
0
0
0
0
-16
64
-38
57
0
0
0
0
-22
103
40
81
0
0
0
0
-18
-10
1
75
0
0
0
0
2
-4
-3
-6
0
0
0
0
-28
33
110
68
0
0
0
0
-67
-44
115
-5
0
0
0
0
2
2
71
80
0
0
0
0
-1
16
13
44
0
0
0
0
3
83
-49
-40
0
0
0
0
41
16
11
69
0
0
0
0
0
-9
-3
49
0
0
0
0
27
23
-30
-65
0
0
0
0
78
0
-15
34
0
0
0
0
25
58
-28
12
0
0
0
0
39
58
-43
74
0
0
0
0
20
7
79
68
0
0
0
0
-31
53
0
32
0
0
0
0
8
-10
2
2
0
0
0
0
51
55
18
34
0
0
0
0
20
11
-29
-9
0
0
0
0
39
-13
86
27
0
0
0
0
2
6
43
116
0
0
0
0
12
6
49
50
0
0
0
0
18
10
15
22
0
0
0
0
58
53
40
87
0
0
0
0
30
-10
1
4
0
0
0
0
22
33
-21
51
0
0
0
0
-9
27
-29
-2
0
0
0
0
85
117
-10
144
0
0
0
0
66
68
-113
-24
0
0
0
0
17
7
30
146
0
0
0
0
-5
-21
74
-12
0
0
0
0
0
10
4
9
-1
-1
5
14
20
-13
-8
21
7
18
0
-2
8
57
-30
-3
-12
1
-19
1
-13
40
24
14
5
-53
-18
-15
-2
-1
-3
-2
-9
-13
24
71
8
-4
11
84
-8
-38
5
-46
31
30
21
-29
-62
-14
23
-104
-92
16
-2
48
-56
-2
-13
5
-7
0
6
22
24
-12
-2
16
19
-6
-23
-13
20
-26
-30
47
-15
29
-55
9
44
-81
-31
49
-9
14
14
-11
21
-2
52
43
1
4
21
30
25
14
31
34
-38
-17
-6
24
17
-2
8
27
3
3
47
43
-27
-30
71
23
-5
-32
7
24
-55
-26
28
28
-4
-2
8
13
3
-23
-9
-14
17
14
2
-28
-6
-45
-6
52
21
-5
-42
25
-3
-19
106
1
30
-10
35
-64
34
77
4
70
-3
-10
34
27
3
-5
16
10
15
3
19
72
15
3
30
15
32
3
62
9
-29
-55
93
-35
-7
30
-21
57
-19
-47
4
-12
11
-19
4
-5
9
-2
-7
-17
6
2
-13
-21
-1
10
0
-30
-23
-18
51
-12
2
-40
50
21
93
32
79
28
54
-56
46
-40
-8
14
54
26
16
-3
-18
11
-4
4
-9
-16
-2
0
-48
24
52
81
14
-50
1
57
-42
52
50
-40
34
44
46
57
31
69
37
23
8
-54
8
12
-60
23
9
15
13
10
13
-7
-11
-19
-11
4
27
-57
121
13
-35
111
26
37
57
30
40
5
15
73
44
-51
41
18
-16
31
35
20
5
-12
-11
-29
34
16
1
27
-2
28
13
6
47
13
10
28
-42
37
36
60
5
-24
57
-19
-25
7
-23
13
26
-11
17
-68
14
23
1
39
-2
-6
-30
-33
38
-54
78
0
77
103
43
19
-39
28
15
-29
27
21
-39
64
15
-2
99
11
40
55
31
21
34
-13
76
2
27
-20
10
-8
-50
-37
19
34
-30
27
13
85
-10
6
74
16
33
16
4
-4
42
-27
-5
30
-6
5
-10
48
0
17
-11
32
-13
-9
-25
9
18
8
30
63
33
-42
24
-17
2
50
-38
24
76
12
1
47
-100
-20
34
61
-12
-25
54
33
0
23
5
21
-14
-22
13
14
59
12
13
8
-49
22
-6
70
-16
4
-9
6
39
17
18
-1
-30
-32
9
22
-22
23
-41
-26
-4
-1
-6
22
-41
-21
-31
-45
-5
-39
16
20
20
44
19
52
33
8
37
-14
-47
38
3
-42
-13
-52
60
85
6
-18
18
-51
-5
-39
14
38
20
-32
2
-16
-18
60
56
18
68
-48
54
30
11
-22
21
-14
31
10
1
0
21
48
-30
-1
-37
1
-43
-82
-42
74
-10
-14
-24
13
-47
37
25
24
27
55
-25
-1
-13
38
68
14
3
-23
-27
52
27
-32
6
-10
169
53
3
-40
6
9
19
32
37
-7
-38
7
72
85
2
75
35
88
-70
10
6
-17
23
-27
32
86
51
40
-34
36
-43
19
-56
43
76
17
16
-33
-55
-23
-17
-6
72
9
42
10
0
15
26
-27
-20
23
45
-30
22
-38
-21
83
51
55
87
-15
-12
31
78
38
52
110
43
-85
52
56
82
0
64
-82
20
-14
2
33
-50
-9
4
-4
74
0
55
46
-6
5
41
42
42
77
47
39
-10
-35
16
-15
48
19
26
0
46
9
22
31
0
14
13
59
14
31
15
26
53
-16
19
48
77
30
31
70
5
47
25
18
-47
57
-43
-3
13
9
2
39
15
75
-10
-50
-20
90
-50
9
-5
55
29
17
-37
6
27
74
40
-3
-35
72
16
-4
-24
96
23
62
-2
40
-30
22
18
-58
108
135
55
92
20
84
1
94
25
33
-7
34
8
15
23
62
37
67
74
54
-54
-10
3
-25
-78
-1
53
-64
3
46
73
70
64
-16
62
19
1
33
32
-72
46
69
45
114
20
30
53
37
36
-48
57
38
81
-42
-12
-36
-76
-10
20
30
62
-36
12
1
-23
-23
46
45
-68
-2
27
112
-7
28
21
-13
-7
-7
66
48
15
30
13
4
-13
100
52
30
55
51
1
1
-10
7
43
36
42
-18
0
24
127
21
10
14
-11
17
8
-10
-5
13
-15
-14
38
86
-75
23
56
137
-6
-10
1
-23
-47
48
42
-35
62
-2
-26
42
9
36
53
-15
26
6
44
24
68
-42
-87
62
41
16
23
45
79
7
-8
13
-63
21
42
-22
37
-28
21
69
19
96
-26
36
19
72
85
-10
29
-33
10
33
-21
25
53
45
17
40
-69
15
39
85
37
72
-78
24
-16
17
-27
33
50
17
4
43
101
-17
66
-4
20
34
46
10
25
32
35
58
-65
-49
34
62
33
13
-31
17
-52
34
3
-2
36
20
-2
-71
-63
-15
30
-22
58
134
55
63
141
8
25
-47
80
105
57
10
25
-41
40
11
65
-8
0
47
131
-20
-12
23
14
54
1
8
-11
2
72
70
-8
-24
-3
124
45
20
-47
-30
9
-60
28
21
-26
-27
35
15
-8
32
-75
72
15
-14
-97
-38
-72
-29
-32
-97
24
27
24
15
19
43
97
47
27
11
-62
15
61
50
73
-68
88
90
-15
54
-2
45
36
31
27
-41
6
10
-1
29
13
12
-58
-56
12
13
-16
-17
-27
-33
-27
-11
48
37
-4
2
36
-65
57
12
-43
60
28
-74
3
-114
-88
-69
35
22
-11
20
6
-7
-41
-23
1
-50
-7
6
-16
-3
-63
-42
22
59
-34
-25
9
-7
-56
-29
30
-9
-12
-15
40
-36
44
-27
-4
64
11
27
-5
24
2
38
15
-5
26
26
4
95
27
51
-30
14
23
103
-11
-12
-50
25
-58
16
-97
-29
-93
102
-53
77
10
67
20
63
40
55
26
100
15
-13
48
9
33
2
29
90
-25
41
-20
21
77
79
-59
8
4
47
63
-46
-18
-17
4
-25
7
-39
31
46
-7
-17
34
14
-27
-26
35
28
8
-30
63
3
22
-20
-58
-11
-61
-66
62
58
-8
17
20
128
-29
-32
-50
21
-21
33
43
3
-20
-8
20
65
-5
-5
-13
76
-5
-52
-41
46
-25
-97
-4
-12
-23
-71
20
-22
-15
89
51
-29
53
-9
27
-47
0
19
17
90
-20
51
-2
75
-32
-23
51
-48
-55
9
-57
-27
-8
1
51
-1
-79
102
23
52
-39
55
-38
-52
37
74
31
70
0
35
-10
41
46
10
30
97
0
-26
8
-10
30
-39
22
59
6
-45
-63
54
27
17
-52
-28
-16
-26
22
47
62
-1
-47
-20
-4
-19
-10
-63
2
22
-17
-41
12
-8
-11
-39
16
9
21
-32
-3
68
87
-48
16
6
-14
29
99
69
-70
39
40
122
56
-21
-12
-21
-25
54
27
-40
-39
44
-22
-8
0
12
4
-11
5
-6
117
-27
-11
-11
76
-10
-4
-69
28
134
-29
9
69
8
-17
12
-24
27
-22
64
32
16
-24
41
-12
11
-23
50
26
-10
-16
51
-60
6
124
9
19
2
4
48
68
19
7
135
27
18
-8
0
-5
61
39
79
-6
67
24
87
-4
-26
3
47
-26
15
8
18
89
-13
5
28
-9
23
39
-31
21
46
69
44
45
94
1
70
-5
-38
9
-14
-17
-21
-37
37
13
-27
8
26
46
-4
10
24
-11
-30
60
2
87
-12
20
24
48
65
51
45
-3
64
30
20
5
-32
-35
-10
-38
-1
-14
-5
7
-24
-17
8
-3
2
-7
-18
88
-130
74
38
-20
42
43
32
-50
6
67
55
35
40
101
6
-2
-31
-84
13
-54
-16
-19
-41
-22
16
-41
59
42
29
15
-10
-37
-78
-7
121
4
14
92
26
38
-6
49
137
-22
9
23
114
-30
46
-37
-57
46
62
18
23
-3
-47
18
-16
38
8
46
-36
69
15
4
-16
31
-49
-16
-38
45
-7
-8
87
34
-12
8
37
40
21
50
16
21
-50
-31
-52
92
14
38
-2
-3
47
-66
12
8
34
-27
-82
52
-36
-23
-18
46
34
20
-86
27
-50
-50
-67
48
-4
19
-25
51
-10
76
97
98
7
-40
31
46
-30
-6
10
28
86
51
-24
25
40
6
-74
22
-22
47
6
-22
-126
-24
-5
7
-20
-18
14
13
96
63
90
-30
15
-20
-96
11
-9
-23
22
-63
20
2
18
24
14
-39
44
12
63
-11
48
61
-24
9
31
-10
19
97
23
63
46
29
46
-37
-61
69
21
68
-40
-10
20
-11
129
32
7
43
-16
-5
95
-41
65
-68
-5
-21
-6
10
-20
7
4
52
81
6
-65
-63
-25
34
-2
10
40
-11
-42
78
48
-22
-14
-13
90
18
10
3
10
-18
71
59
8
30
18
-8
88
-52
-5
63
-13
-26
-58
7
110
0
24
68
-58
-17
-5
-17
-14
0
0
40
4
-46
-53
0
58
-37
-9
12
-5
9
93
-8
-6
-85
32
34
29
10
32
58
-20
30
-1
32
49
-67
14
15
-24
-51
9
24
17
-56
37
-91
-30
54
54
41
141
36
55
9
60
-23
45
94
14
-11
-32
60
86
-83
8
90
22
11
35
26
-39
64
-79
32
37
39
-36
-32
-55
20
66
53
86
56
33
-31
65
21
-17
-65
-133
-36
72
4
10
36
47
53
10
5
0
40
21
74
1
48
6
128
33
17
65
-8
43
31
-47
-16
27
67
-73
38
54
-8
40
44
-49
-29
-99
-25
15
73
-3
23
46
64
-1
62
20
27
28
65
-30
24
66
19
-41
5
26
12
-22
21
20
46
23
-16
14
-81
-78
-52
42
-87
41
-2
12
64
5
-14
2
-18
-20
-34
6
62
31
49
35
-12
38
42
8
50
-11
9
34
-22
36
23
7
24
-4
9
85
1
49
21
0
31
-25
-2
45
-55
67
19
35
36
79
13
61
53
-33
16
49
-17
37
39
-2
-57
-79
25
34
-53
116
-7
65
-32
2
35
-21
30
58
50
-22
78
4
11
21
82
22
101
-2
17
-12
71
69
20
44
55
93
-33
0
-62
68
-17
49
-4
17
-47
10
11
47
22
-12
69
-25
62
-69
115
35
-23
57
53
23
65
8
-12
27
2
13
68
51
-33
-54
19
96
22
52
-2
31
55
71
-8
47
15
46
-8
24
-46
-49
78
12
41
59
31
28
4
-10
46
7
-24
54
-43
16
64
53
-38
63
-27
-5
-33
-26
11
-31
-33
55
27
24
-7
-73
100
29
-44
17
30
72
16
71
72
17
-22
-26
97
32
24
-30
-10
-7
22
16
-9
-25
13
23
-1
-10
22
12
44
-7
1
3
-17
-62
14
-11
39
-69
5
-49
67
-20
57
140
94
97
43
44
-13
-66
35
59
-32
-54
17
-2
-11
-16
34
54
11
23
21
70
-59
-33
5
38
-18
-26
45
86
-11
30
32
117
31
-43
68
75
-15
51
4
22
0
73
-8
31
3
27
-18
20
19
42
21
71
-17
16
31
-17
-93
12
-36
60
-28
82
-30
44
-2
47
-33
-9
77
33
15
56
10
17
-3
14
0
86
27
11
143
9
11
36
-20
16
12
-37
80
-35
57
-61
59
48
-5
-15
71
12
45
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
-12
70
8
-25
-25
-9
-21
16
26
10
22
12
0
-4
-10
12
-13
66
71
9
-21
96
15
-14
38
-24
56
30
-2
-13
-22
-7
19
32
12
-48
6
-25
-27
-27
37
43
12
13
-15
-6
-2
-16
10
84
15
-53
44
-4
-17
64
77
84
54
26
42
65
15
60
-10
41
-24
-14
-7
-5
-11
-13
-46
32
-31
6
-46
-29
-5
66
-32
16
6
82
-9
100
-54
32
-20
8
67
-14
45
29
30
0
36
57
31
16
-19
72
21
-26
-47
77
-58
-49
-1
-7
-3
20
81
-37
76
44
59
-25
-13
104
13
41
13
48
57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-14
-44
54
8
-5
70
47
12
-32
34
64
29
25
-19
64
-18
-44
-54
53
-28
-57
20
21
-8
20
2
-3
-4
23
15
52
-19
-25
28
72
-41
41
20
-52
-25
-13
44
32
66
85
49
35
2
-77
4
5
-24
-61
39
83
8
25
11
98
-9
-25
50
77
-40
61
-21
53
33
60
29
23
33
79
39
63
15
26
-10
19
-56
-16
-1
92
-8
37
-44
40
-46
11
41
-18
-23
66
-7
57
-7
83
-28
-21
39
-15
47
75
6
61
59
107
87
-1
-1
82
-33
69
-46
-27
57
-14
25
58
31
87
35
28
6
-52
30
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
33
33
-36
16
-24
31
10
60
-28
16
11
-27
41
19
46
80
27
29
64
12
12
49
28
28
-34
-29
6
62
-25
-15
-20
14
-16
67
37
36
-52
61
56
31
9
40
33
75
-36
-6
34
50
17
27
-6
-37
-16
6
31
56
-46
23
92
40
54
42
55
19
22
-49
74
36
42
34
24
7
66
-32
68
18
10
11
76
-58
99
4
19
31
44
1
71
4
-15
-51
23
8
27
-20
32
-13
16
68
80
20
-4
75
112
-14
24
38
38
40
17
33
18
27
34
-48
-28
54
-10
20
19
80
-24
-5
-5
17
46
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
-26
-8
0
0
0
0
13
1
-45
-1
0
0
0
0
-19
-25
-13
12
0
0
0
0
4
-22
-5
34
0
0
0
0
-46
-54
18
27
0
0
0
0
-16
-3
14
27
0
0
0
0
-35
-16
78
45
0
0
0
0
-56
41
-41
33
0
0
0
0
20
45
11
38
0
0
0
0
1
32
-9
-16
0
0
0
0
-6
47
-38
72
0
0
0
0
15
43
-57
22
0
0
0
0
29
16
70
-22
0
0
0
0
-32
42
-9
-7
0
0
0
0
13
38
-24
96
0
0
0
0
18
34
96
57
0
0
0
0
5
-9
9
-1
0
0
0
0
-3
-21
-5
24
0
0
0
0
-16
-6
-25
34
0
0
0
0
51
-8
33
-3
0
0
0
0
-31
-50
18
9
0
0
0
0
-12
-36
20
0
0
0
0
0
-88
-39
39
44
0
0
0
0
-41
38
36
-51
0
0
0
0
15
17
6
34
0
0
0
0
-14
15
-12
-19
0
0
0
0
12
60
5
-41
0
0
0
0
-10
4
-43
63
0
0
0
0
18
-16
0
56
0
0
0
0
9
-6
-18
-2
0
0
0
0
-19
-34
27
80
0
0
0
0
22
65
91
48
0
0
0
0
10
-5
5
28
0
0
0
0
0
9
-5
-3
0
0
0
0
25
-32
-47
71
0
0
0
0
38
-37
11
58
0
0
0
0
-23
-39
-1
-1
0
0
0
0
-38
-48
-10
23
0
0
0
0
6
-28
36
48
0
0
0
0
-4
10
136
58
0
0
0
0
-2
30
-17
27
0
0
0
0
6
15
-15
5
0
0
0
0
29
71
46
8
0
0
0
0
13
33
-8
19
0
0
0
0
21
34
26
63
0
0
0
0
-21
26
19
-12
0
0
0
0
94
-14
80
-38
0
0
0
0
9
50
18
87
0
0
0
0
44
14
74
49
0
0
0
0
33
18
-15
8
0
0
0
0
41
26
7
5
0
0
0
0
44
-12
3
36
0
0
0
0
8
2
25
62
0
0
0
0
11
-15
6
26
0
0
0
0
46
-9
49
65
0
0
0
0
4
31
5
34
0
0
0
0
7
94
-21
28
0
0
0
0
-12
-14
-65
1
0
0
0
0
98
33
13
-11
0
0
0
0
-5
25
-6
-5
0
0
0
0
40
13
-7
-22
0
0
0
0
-5
41
-40
-30
0
0
0
0
89
20
79
31
0
0
0
0
113
-4
84
-9
0
0
0
0
-8
-21
-42
-52
0
0
0
0
28
-18
-2
78
0
0
0
0
-36
-36
-22
-31
0
0
0
0
29
31
-4
45
0
0
0
0
-65
-40
-1
74
0
0
0
0
-11
-62
39
63
0
0
0
0
-32
-42
-37
78
0
0
0
0
28
2
59
41
0
0
0
0
-40
69
-20
-93
0
0
0
0
-12
86
23
26
0
0
0
0
-30
1
-9
-9
0
0
0
0
23
71
4
-51
0
0
0
0
59
19
12
20
0
0
0
0
30
62
55
42
0
0
0
0
52
19
-3
44
0
0
0
0
41
42
33
1
0
0
0
0
7
-26
-72
7
0
0
0
0
42
-7
69
35
0
0
0
0
-18
-57
-47
-9
0
0
0
0
44
22
23
72
0
0
0
0
-9
-41
42
92
0
0
0
0
70
-49
82
60
0
0
0
0
-86
-53
42
38
0
0
0
0
-78
-33
57
91
0
0
0
0
-23
3
51
-31
0
0
0
0
111
62
2
8
0
0
0
0
54
24
35
-17
0
0
0
0
49
62
-1
64
0
0
0
0
23
30
38
-44
0
0
0
0
65
14
33
0
0
0
0
0
57
75
-28
-32
0
0
0
0
-62
35
39
-26
0
0
0
0
-30
6
41
10
0
0
0
0
16
25
2
67
0
0
0
0
-23
60
15
73
0
0
0
0
-3
49
-20
14
0
0
0
0
-5
-100
111
116
0
0
0
0
-17
-20
102
49
0
0
0
0
4
-43
60
24
0
0
0
0
25
5
6
10
0
0
0
0
-8
-29
8
86
0
0
0
0
33
21
-22
-16
0
0
0
0
45
70
89
-33
0
0
0
0
39
-7
-73
-49
0
0
0
0
83
110
-3
-50
0
0
0
0
-32
43
14
25
0
0
0
0
86
129
108
-4
0
0
0
0
3
52
24
46
0
0
0
0
36
59
29
49
0
0
0
0
107
-3
-53
9
0
0
0
0
37
58
66
15
0
0
0
0
-12
31
-4
14
0
0
0
0
25
5
59
-20
0
0
0
0
2
-25
25
75
0
0
0
0
17
12
32
-1
0
0
0
0
-24
23
79
34
0
0
0
0
12
8
-41
31
0
0
0
0
64
-1
-2
44
0
0
0
0
47
37
-23
90
0
0
0
0
66
-6
-12
1
0
0
0
0
1
78
-11
112
0
0
0
0
106
-20
19
-39
0
0
0
0
-37
16
89
70
0
0
0
0
74
1
-10
-61
0
0
0
0
-4
22
-6
-6
-13
-9
0
1
16
9
-5
1
-1
-28
-26
-3
5
-2
24
1
-55
43
-51
-37
-5
17
16
30
-19
-36
36
-19
-3
11
17
3
-45
-59
59
27
13
-5
28
103
-49
-83
-71
-35
25
1
-42
-67
-42
-37
85
-97
17
0
27
20
-141
-18
-17
-28
6
11
-6
41
3
53
12
10
17
-18
-17
35
19
-17
-49
-15
11
21
-7
20
60
-30
-8
14
26
-72
9
-22
41
46
47
38
-17
-49
25
39
17
53
39
35
-32
-49
55
39
-5
-28
-14
-32
-29
-3
1
42
-24
-1
104
6
10
-24
54
45
-23
-10
14
44
7
-19
22
11
-17
23
-13
-4
17
5
-26
11
15
-22
11
46
-3
31
-3
-19
79
-26
92
-15
25
24
-63
-5
-6
51
34
48
-60
-20
-6
58
12
-16
52
91
-13
23
54
0
19
9
7
-5
-29
42
-3
-26
55
-73
101
-39
-5
35
-29
62
-70
-33
9
25
-40
-12
-8
15
-11
5
21
29
-38
-37
-2
-91
-18
8
58
19
-41
50
8
-7
56
-9
98
7
81
65
10
100
34
-51
1
-16
-32
-72
67
66
48
26
42
37
-41
-68
77
-55
27
20
-13
41
1
-39
32
-24
37
29
21
24
74
-58
7
63
16
18
7
51
19
54
-99
-28
-7
-15
49
12
4
29
28
-38
32
8
18
-57
41
41
29
41
56
32
-7
-1
37
51
-1
72
35
-11
-30
21
-10
38
68
78
-38
-50
69
95
-3
-49
29
-32
-7
-39
23
30
12
4
8
44
13
-12
-5
33
-16
105
38
36
-4
13
8
15
3
-23
-47
7
110
44
-36
-102
-18
-2
15
89
-49
27
11
1
-33
-78
5
-10
45
86
20
6
-46
55
36
-33
47
-2
-20
4
-21
-39
39
86
18
129
8
36
-7
-37
10
26
88
18
-3
14
-6
-40
28
27
-15
-9
-29
44
37
-22
5
43
12
43
-41
34
59
-35
-27
-10
73
2
28
59
-14
7
43
69
6
26
-39
-46
13
-4
12
33
54
-2
16
7
-2
52
36
31
3
-9
10
-1
-59
-42
38
102
-27
-15
56
-7
13
6
74
50
-27
-7
29
-43
26
-16
16
13
-16
50
-22
49
22
2
-15
32
-22
17
24
23
-38
-14
86
49
45
-2
-25
9
-19
-26
6
-17
44
49
10
28
-7
-28
7
37
-9
103
26
38
11
25
28
9
44
-13
15
30
-57
-61
-22
17
-2
-16
125
-13
-64
-17
18
48
-5
-41
-6
-82
-60
93
13
31
-12
-19
35
7
0
-67
0
12
12
32
22
27
13
1
51
-5
-22
25
-37
-17
109
3
-7
-39
12
47
-36
44
84
33
25
40
63
-35
-103
62
1
21
-16
-23
54
-43
-73
-50
-14
-39
85
114
-36
-82
-4
11
-10
50
-8
71
46
41
28
50
-12
21
18
84
-12
-14
21
-23
16
21
5
47
11
-39
-34
57
-15
11
-46
33
60
-13
-52
-29
-66
-21
-30
29
49
-39
-32
26
37
26
-9
13
-5
60
-68
-4
4
-51
41
47
131
82
46
-29
-25
-44
1
31
90
131
-9
-43
34
18
46
22
62
-108
-4
-2
-28
2
-73
-1
-70
7
110
8
15
8
11
-10
77
65
56
60
52
-79
-54
-57
18
-14
50
-8
-32
-52
20
-19
142
-43
-2
19
53
79
-25
42
-31
-27
-10
1
55
89
106
-10
11
75
73
0
-41
21
51
1
-49
-51
87
63
-33
-2
24
64
3
-35
19
97
-10
39
125
-5
-8
-44
-2
37
20
26
21
-6
14
39
-13
-26
-97
32
55
-25
-7
27
-6
-18
81
-4
-5
25
31
31
-58
47
-13
79
-2
21
-14
9
-22
-38
36
50
46
32
65
85
-59
-13
-65
21
-4
57
40
-2
19
89
94
28
118
-13
58
12
19
-24
29
-94
34
50
52
106
-29
3
47
19
84
-18
29
26
87
18
-7
-41
-104
21
-21
-16
51
-90
20
-51
-30
-11
12
59
-39
57
7
-37
-5
35
10
-11
-61
17
-5
21
10
-45
76
-31
11
78
-28
50
115
28
-39
3
-24
-3
9
28
26
-9
18
5
28
18
-81
20
19
17
20
36
27
-5
-4
11
9
86
66
27
31
54
-20
-14
65
-49
-29
5
27
-7
68
-48
22
39
13
14
41
-16
26
13
-9
7
55
10
35
40
65
-1
11
4
13
-1
46
7
-70
45
-16
-5
9
-11
42
63
-27
78
66
21
16
11
-22
-29
30
-11
-49
4
-40
22
58
25
-23
15
-92
-31
-12
2
35
19
-60
39
115
24
-23
-8
-25
32
50
-25
-67
1
21
10
51
36
-32
-51
14
33
-23
32
9
-45
29
11
24
12
4
70
40
16
-49
44
-10
42
34
-76
-86
22
83
-28
35
67
13
66
95
43
-22
-19
29
42
27
-37
41
1
55
21
42
-15
0
34
50
5
10
17
13
-23
58
10
-93
6
12
28
-68
-15
92
89
58
-1
-11
-27
14
6
58
15
-28
15
-11
-1
25
42
12
47
3
-7
-61
-26
-47
-66
7
-96
7
3
39
-39
-5
57
84
85
27
-1
-64
-12
18
38
50
-67
70
71
-25
35
5
66
56
6
21
-3
13
10
1
-49
48
48
-44
-89
66
-2
10
48
-32
-39
18
-39
-62
33
55
-41
-12
-15
-1
1
-45
-9
-19
4
-32
-4
-14
-14
28
23
20
-51
-36
-56
-49
-62
31
7
5
135
-35
-5
3
-35
-43
7
4
-8
6
51
-20
4
15
-4
-4
-13
8
-18
7
0
32
31
67
40
-16
12
-35
-1
-56
11
-22
-19
14
50
16
-6
-21
-45
20
14
-7
-28
-5
30
-24
10
-20
2
1
13
2
0
-10
79
88
112
6
-5
-24
-29
46
-37
20
24
1
19
15
5
-6
43
7
30
12
28
0
-4
6
8
-9
-21
0
10
-2
0
-4
-72
-14
-20
22
18
-11
40
-41
-16
-49
6
-19
-34
15
-37
-5
-52
-14
2
25
-13
10
12
-27
-14
16
-8
-12
-15
-15
8
-63
-6
-63
-20
-22
-63
37
14
-20
27
3
17
-13
8
58
9
34
-7
-7
-8
-17
3
8
-5
-28
-1
1
0
2
7
0
-2
-9
31
46
46
39
44
44
78
-6
45
5
5
29
-2
3
2
20
-12
38
-4
-7
-10
7
12
-26
1
5
-8
-6
6
16
3
-7
59
27
-8
-3
56
21
63
17
-4
-13
-38
14
21
-8
8
10
21
-22
1
3
8
0
-4
-18
0
4
0
-1
-1
3
7
1
-10
-41
-21
-34
33
-22
2
13
-43
49
-19
28
-4
5
46
4
-42
33
6
6
-3
-6
-13
-30
21
-19
14
36
43
15
-6
-37
35
-8
20
8
-32
-1
-53
-54
-28
-7
-20
-18
42
35
20
14
-32
12
-25
13
0
7
-2
21
27
4
0
20
-19
2
8
-102
-31
1
11
-31
30
13
-18
-46
18
-11
-26
-42
6
-19
58
-14
24
3
-8
-23
-8
0
-9
-28
4
8
3
14
5
-5
-2
36
-29
6
0
23
-8
17
-7
-14
48
21
-3
1
-23
45
3
5
6
19
16
-8
-9
5
-3
10
-7
2
-8
5
-9
-1
16
1
-62
-50
-19
15
-42
12
46
17
-73
20
-7
3
5
25
54
-24
32
6
-5
4
19
3
-7
16
17
0
8
-15
0
10
-19
-10
-46
15
32
-20
-40
59
-26
5
-69
34
47
50
39
-21
-3
-22
-6
0
4
6
4
3
0
-25
-5
0
7
10
9
8
-5
-17
0
26
3
16
21
-21
-4
-80
40
9
-2
-6
42
42
-72
4
-29
-2
6
-9
12
-6
7
-6
2
6
7
-3
-7
6
25
12
37
-10
-4
28
1
61
43
-24
-22
3
26
-26
23
4
17
7
-1
-5
5
4
-1
3
5
-3
1
-9
14
2
3
0
-3
14
-18
-3
-12
-4
-21
-32
-22
31
-35
20
-5
-12
-5
-4
9
-19
23
-46
-20
-6
-12
-22
-13
42
-7
-23
-13
-23
-23
1
-12
19
-4
-26
-46
-32
30
32
-28
-29
13
-12
-14
19
10
-10
8
40
-25
-14
25
64
17
-49
-8
24
-29
-10
17
-1
-6
-10
5
-10
-47
-56
28
20
16
15
57
-56
9
2
-8
21
-3
2
15
-45
28
-9
-18
-39
3
-13
15
-6
16
-20
3
7
-6
-6
4
20
7
-7
37
28
-22
1
1
-8
8
-12
7
0
1
-13
-16
-17
66
17
-27
-5
3
15
14
2
8
7
-2
-9
17
-8
15
-83
-26
-47
16
32
-5
39
-8
18
-7
-2
2
5
15
6
-4
25
14
-15
21
-24
13
-7
-21
-1
4
32
-11
7
5
-5
25
14
52
20
5
12
-5
-7
32
10
8
10
-9
-5
0
-19
-25
-11
-16
-19
19
-24
-37
-5
6
11
-4
7
-8
-15
-2
1
-2
-15
25
0
-7
-26
18
13
25
5
23
17
12
4
-4
7
-8
-21
-5
28
-4
0
-10
4
0
-29
7
12
2
-3
7
-16
8
-5
25
-10
15
7
5
5
24
-8
12
-1
14
-1
17
-1
-3
-7
-8
-5
-7
8
0
-12
-12
-14
4
-2
0
-5
-9
-2
7
-34
28
-58
-8
3
-7
9
7
-14
18
2
-9
-6
-4
-13
14
30
8
43
4
10
2
-30
25
7
35
8
14
-14
-14
5
-8
3
-23
0
13
44
-9
0
-7
3
-1
-8
0
-11
-4
16
-5
53
5
0
-21
13
0
-12
13
47
24
23
6
-8
16
15
-14
3
25
-23
-1
22
0
0
-13
-22
-19
-23
-5
-13
5
12
17
-1
4
-29
1
-6
-16
7
7
21
0
30
5
-2
-5
10
1
21
24
0
-2
0
-6
0
-5
1
-8
-10
13
-24
-2
-3
-4
-18
5
-6
10
9
9
10
7
1
-22
16
-13
0
4
-10
-9
-51
-4
43
-3
-41
8
-1
6
-19
-23
-24
-3
21
-1
13
29
18
10
-21
0
25
17
-8
-2
31
24
25
3
84
16
49
2
-31
22
6
2
-8
-8
-4
-3
8
6
-7
-1
0
-16
25
-13
5
3
20
32
-16
5
4
7
4
12
10
18
32
17
-5
-5
-3
-21
9
4
-6
-9
6
0
-2
0
5
-2
-8
2
2
6
4
-8
12
3
17
-6
10
-13
22
24
33
-9
-7
24
37
12
23
7
-8
27
-4
2
2
3
-4
-10
1
17
15
1
-7
1
-8
6
-13
-2
-6
0
9
12
9
13
-1
0
32
-6
2
-4
26
-24
-43
14
-15
-48
62
44
-73
-59
-78
9
17
3
-35
2
-9
-6
5
24
-32
17
-15
-1
-17
-16
27
14
49
19
17
-11
44
21
18
66
-24
-72
52
44
15
-53
0
16
4
4
38
17
-46
-47
9
37
-54
-7
-6
15
-27
16
13
-6
40
-27
29
23
-20
125
-35
50
-81
115
34
35
23
47
-47
47
-83
22
42
7
-44
-7
7
-5
-38
-11
45
-2
-38
5
14
3
5
3
3
8
-7
29
51
36
-5
51
45
31
-44
27
22
-1
-13
10
14
0
-10
-1
20
51
10
-31
38
-2
-15
16
10
5
-10
14
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-65
-3
-41
-26
-26
-4
-48
24
28
-52
-48
35
45
-25
26
21
-43
-28
20
28
-3
-9
-6
5
19
4
3
8
4
50
11
-48
-55
17
-39
12
-80
14
-11
16
-48
-46
14
37
24
18
22
14
-30
16
-14
23
-54
-26
-15
51
-33
-4
8
31
5
-5
1
33
10
41
1
-47
21
-18
-6
-9
41
25
38
-29
-25
-26
50
-49
18
28
12
-11
5
36
19
-37
11
2
-7
-13
2
-8
-16
52
-37
4
49
-22
-25
5
2
20
3
-44
38
9
-21
-33
26
6
14
24
18
8
22
6
-3
-59
14
-2
6
13
0
-10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-16
-15
43
-43
-8
11
1
-55
28
-76
10
-25
0
28
13
17
-29
-38
-12
-9
-2
19
-18
32
32
-1
12
55
-12
16
-9
-25
-79
41
84
-20
-45
61
-23
16
-44
-13
15
-4
8
7
2
9
-25
-36
11
0
-38
18
14
51
-44
16
4
-41
11
5
8
-2
34
25
-2
-47
-26
-8
47
-23
12
10
-3
-19
14
-9
8
-35
-20
-29
21
18
18
-27
-2
-63
24
-9
-8
-27
5
29
8
30
72
-36
43
1
-5
27
24
-12
13
4
4
14
0
18
-4
-34
32
-12
21
24
-13
-9
-25
16
15
13
-17
8
-10
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-9
-12
11
-48
-8
15
1
68
-12
15
-3
18
-17
-36
29
-11
43
-12
20
-10
18
20
13
43
43
-31
6
65
28
-32
1
-35
0
-19
44
-6
-5
35
-17
16
7
-20
2
33
-8
-23
-22
-37
-16
-48
13
12
-4
-1
4
-3
30
7
-19
16
45
-4
29
-35
-2
-33
5
8
7
-6
25
27
-37
-44
14
7
-6
5
1
-54
48
-22
-31
7
44
11
-1
20
5
-25
13
19
15
34
3
-41
-28
31
58
22
16
8
12
26
-12
42
-28
0
-8
8
14
15
32
-7
-25
26
3
-10
29
26
12
-3
-38
15
4
13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-85
-6
57
0
0
0
0
49
23
-1
-1
0
0
0
0
13
8
-12
24
0
0
0
0
-13
-6
-44
22
0
0
0
0
-1
-1
65
4
0
0
0
0
0
4
27
-7
0
0
0
0
-24
-79
5
18
0
0
0
0
-5
-5
-14
18
0
0
0
0
-6
64
-2
19
0
0
0
0
-35
8
-53
7
0
0
0
0
35
-12
-30
50
0
0
0
0
-22
17
3
2
0
0
0
0
74
64
19
1
0
0
0
0
-5
22
-1
-48
0
0
0
0
-2
41
21
31
0
0
0
0
42
4
17
24
0
0
0
0
11
-11
-13
-22
0
0
0
0
40
-31
98
-30
0
0
0
0
-63
1
-16
-42
0
0
0
0
32
10
-8
-15
0
0
0
0
-27
22
40
32
0
0
0
0
-35
-69
41
-41
0
0
0
0
-88
-46
-58
15
0
0
0
0
-29
-7
1
14
0
0
0
0
2
49
-26
7
0
0
0
0
-12
-37
0
10
0
0
0
0
5
0
23
-40
0
0
0
0
-40
-6
29
24
0
0
0
0
-24
-14
79
-4
0
0
0
0
-18
38
-20
41
0
0
0
0
2
12
11
44
0
0
0
0
-24
6
-8
27
0
0
0
0
35
-55
-49
-17
0
0
0
0
28
-2
-7
-14
0
0
0
0
29
-34
-4
23
0
0
0
0
0
11
-2
3
0
0
0
0
-29
-72
-21
50
0
0
0
0
-37
-32
42
-3
0
0
0
0
-56
-13
9
27
0
0
0
0
-10
3
34
-2
0
0
0
0
2
39
-49
32
0
0
0
0
-10
45
-66
30
0
0
0
0
-3
49
-29
-17
0
0
0
0
43
7
4
27
0
0
0
0
22
12
47
29
0
0
0
0
1
53
-2
7
0
0
0
0
-9
-15
1
2
0
0
0
0
14
-7
26
-8
0
0
0
0
49
52
39
-35
0
0
0
0
10
12
17
14
0
0
0
0
33
15
8
-18
0
0
0
0
15
11
-36
16
0
0
0
0
2
5
28
1
0
0
0
0
19
-41
16
-23
0
0
0
0
10
3
17
3
0
0
0
0
17
15
-5
-12
0
0
0
0
5
63
-25
36
0
0
0
0
-52
56
-18
-4
0
0
0
0
13
-10
-8
5
0
0
0
0
0
40
-4
-30
0
0
0
0
-50
4
-26
-4
0
0
0
0
-34
-18
22
-12
0
0
0
0
35
14
-25
3
0
0
0
0
23
-9
-5
17
0
0
0
0
-29
13
-25
-54
0
0
0
0
-17
-12
0
-10
0
0
0
0
-36
-14
-10
-6
0
0
0
0
28
-12
4
-2
0
0
0
0
18
-62
21
41
0
0
0
0
-4
-26
35
37
0
0
0
0
-32
-33
8
13
0
0
0
0
5
10
17
40
0
0
0
0
-65
56
9
14
0
0
0
0
-23
-2
40
6
0
0
0
0
66
-27
-25
21
0
0
0
0
-9
49
-31
-23
0
0
0
0
5
-2
36
4
0
0
0
0
30
-39
3
4
0
0
0
0
25
-21
14
42
0
0
0
0
35
-1
20
12
0
0
0
0
-49
16
-15
30
0
0
0
0
44
5
-40
1
0
0
0
0
-8
-26
-23
-19
0
0
0
0
0
-20
-13
-32
0
0
0
0
47
-36
-17
38
0
0
0
0
-72
-70
-14
-1
0
0
0
0
-32
4
-5
3
0
0
0
0
-19
-10
4
34
0
0
0
0
-44
37
55
-13
0
0
0
0
8
3
-10
13
0
0
0
0
-10
-23
-6
3
0
0
0
0
11
-2
-7
-9
0
0
0
0
36
31
3
36
0
0
0
0
-29
-7
0
47
0
0
0
0
-4
-14
-1
-12
0
0
0
0
-7
-11
11
29
0
0
0
0
-12
-10
20
38
0
0
0
0
61
-19
-32
10
0
0
0
0
14
40
-9
4
0
0
0
0
16
17
-12
22
0
0
0
0
23
-14
17
31
0
0
0
0
12
-16
4
2
0
0
0
0
-19
-4
13
-3
0
0
0
0
-27
-18
9
30
0
0
0
0
-7
-6
-46
8
0
0
0
0
-9
-7
-6
-25
0
0
0
0
3
34
1
-28
0
0
0
0
-9
9
2
4
0
0
0
0
-26
41
6
-18
0
0
0
0
7
-40
3
33
0
0
0
0
7
38
6
-10
0
0
0
0
-14
-22
-4
14
0
0
0
0
-13
43
-2
-4
0
0
0
0
43
30
9
-1
0
0
0
0
22
14
18
13
0
0
0
0
45
-27
12
-22
0
0
0
0
-5
5
0
15
0
0
0
0
13
35
9
3
0
0
0
0
-1
3
-6
8
0
0
0
0
10
2
5
17
0
0
0
0
12
3
-7
0
0
0
0
0
-35
30
-12
-5
0
0
0
0
29
44
-23
19
0
0
0
0
48
-11
14
3
0
0
0
0
1
1
16
13
0
0
0
0
33
-34
15
-6
0
0
0
0
-4
-4
13
-4
0
0
0
0
39
11
0
13
0
0
0
0
37
82
-12
36
-17
-4
-30
35
3
-11
15
18
3
3
7
-3
44
18
-28
46
-89
4
-6
-4
20
30
-30
10
22
36
8
44
9
82
9
48
-8
-98
79
-15
-57
-33
16
14
-11
-91
-5
-1
-19
-5
9
-6
-6
-4
-6
-11
3
-15
5
-4
-13
1
0
7
2
-17
15
46
-29
49
-33
-48
2
-28
36
18
-65
-4
26
0
-74
33
5
9
-6
-6
1
12
37
-25
-16
-8
26
-5
12
2
-56
12
18
24
65
26
49
-4
-28
-2
-38
6
-40
-6
-20
3
14
50
1
-6
0
1
9
13
1
1
-15
7
-14
-8
8
9
25
73
-2
77
20
-10
-10
-31
-9
-42
-47
23
8
-33
-50
22
6
25
-44
40
-2
-9
26
6
-3
-6
-52
-6
2
-1
7
0
-18
-61
1
28
-34
-55
39
26
-13
-7
-1
47
-36
-1
21
23
-5
18
-1
25
-3
-15
11
13
15
-21
5
6
-17
-12
19
0
-112
-14
25
20
-11
7
-37
37
-31
-19
53
-59
-15
22
3
-6
-2
7
-8
0
9
5
7
6
7
-5
-3
0
-2
-8
-2
-2
8
-10
-11
-13
-5
-27
37
22
48
34
17
1
43
62
16
-7
-47
-16
-10
-9
-3
13
-2
-11
-4
0
-13
5
1
-1
8
1
52
-65
-16
-28
8
-59
55
-12
11
62
-9
-37
30
-24
11
-66
59
39
-25
2
-23
-17
-24
2
68
16
-11
13
6
15
-20
0
-79
57
-10
-29
4
-80
52
5
19
-11
-52
21
-31
-56
26
-40
-7
-5
-1
13
14
-10
0
4
13
-8
7
10
12
23
-12
14
11
7
4
-50
-22
-3
14
32
1
-27
51
28
-28
23
42
-21
-50
-14
-6
-8
22
5
7
-1
-3
10
-5
-22
7
-22
1
12
-1
-41
-2
29
-76
-14
-19
32
43
-7
-36
-5
49
55
24
32
11
-12
17
5
-17
6
5
-4
-7
-9
20
-6
36
44
-16
8
8
-28
-24
-4
-22
-32
-13
7
-6
55
-1
28
44
62
-12
-11
-13
21
13
8
-21
0
6
5
29
-5
30
-8
2
10
20
-6
-11
-54
10
29
-44
10
-5
1
27
34
19
5
29
11
6
2
-23
-11
17
-8
-33
-13
0
3
5
8
-1
-9
-29
-14
4
1
-23
-48
1
25
-17
3
-2
3
-63
41
9
1
-3
8
-16
-35
-33
-4
-8
-1
1
13
6
5
-18
18
24
15
12
4
25
10
-17
-14
-18
13
10
20
12
17
-11
26
20
-5
0
-21
-2
25
-5
-1
-7
-3
-3
7
3
14
-3
-3
0
2
4
1
-8
4
24
4
27
-44
41
-11
-13
8
66
6
-2
-15
5
31
-12
-2
67
57
50
-42
10
-42
-28
10
2
-5
-2
-30
9
-3
-20
2
-23
-33
4
59
-27
-6
-20
5
-4
-15
20
-3
9
13
5
4
4
11
-20
0
19
-16
21
13
0
6
-18
0
16
8
1
9
-6
-20
-27
20
14
12
-12
1
-48
-15
36
5
-10
0
-14
5
-23
-9
-8
-5
26
-8
-14
-4
13
-1
-22
8
2
8
1
8
-36
-2
-32
-6
23
19
-17
-3
5
2
8
3
6
-21
-6
-9
5
-24
8
18
-41
-32
3
19
0
14
-7
12
-5
6
5
-10
-43
-25
43
-7
-26
20
17
-24
-4
-8
7
3
5
-3
4
-10
22
24
-35
10
-25
-13
19
0
-14
10
4
-5
19
40
-5
-12
-46
-31
25
-3
1
-3
13
2
-4
-5
-23
-6
8
-22
8
5
0
-39
49
14
-12
-12
-8
-17
5
17
-9
-4
15
-2
4
0
-10
-12
-2
-12
15
-1
6
10
-5
4
12
-8
16
-5
-9
0
4
0
25
-9
12
0
-28
2
-1
5
-21
8
8
25
-17
-14
-26
21
15
12
-9
5
27
8
9
-7
6
3
25
0
4
-24
-2
8
3
1
6
-5
7
8
-2
-16
7
9
-4
-6
5
7
-11
-14
-15
5
-2
-3
-6
-23
28
-4
1
7
6
-3
-2
7
18
-17
27
23
5
4
-5
-4
5
6
5
-8
9
-18
16
-5
-20
7
7
-7
-27
-23
-1
-5
3
-13
1
8
-7
0
-3
3
-1
-8
7
15
5
8
-8
0
-10
-7
4
4
30
-20
8
-23
-1
8
17
13
40
-4
0
-5
6
-14
1
-8
29
-3
17
0
-36
5
1
-13
0
15
-8
-5
22
10
-2
-9
-5
2
21
-2
-1
-4
-6
34
2
19
2
8
-1
-4
12
4
0
-10
0
-1
24
-5
-28
24
-15
1
4
-4
-31
-9
14
1
22
15
8
4
-57
4
-6
3
8
2
-9
4
2
0
8
-6
30
-4
4
-2
-18
-43
-16
6
6
9
0
-7
-2
-24
-1
20
19
16
5
13
-7
8
-3
-3
19
-1
-8
4
5
2
-3
-6
8
8
-3
9
-47
-14
5
8
1
-8
10
1
-6
-10
-4
12
6
2
6
-9
-31
5
-2
-8
7
1
-3
-1
-13
-5
-17
1
24
4
15
5
-9
-2
8
-1
13
5
9
4
14
-16
23
-7
4
24
-5
1
6
7
-7
-7
0
-10
-1
-10
-7
6
5
6
7
10
-3
9
-1
-13
1
16
4
-3
3
13
5
23
8
36
-24
-2
8
-3
0
5
42
-6
-6
0
0
80
-1
-89
0
0
-3
3
3
0
0
-4
-42
23
0
0
56
-10
-6
0
0
10
25
-9
0
0
40
-49
1
0
0
-4
9
-40
0
0
18
-45
-38
0
0
-37
-73
14
0
0
-59
54
23
0
0
-24
10
-29
0
0
-83
10
-57
0
0
32
-24
24
0
0
-39
-42
-16
0
0
-9
-16
-40
0
0
-4
23
1
0
0
-14
-41
3
0
0
2
-27
0
0
0
-9
7
-1
0
0
-8
-22
-3
0
0
-18
-2
-1
0
0
1
2
0
0
0
5
-3
0
0
0
-19
5
7
0
0
0
0
0
0
0
-8
19
1
0
0
1
-5
0
0
0
-6
8
0
0
0
0
-6
0
0
0
-1
3
-1
0
0
0
1
0
0
-27
76
5
-29
0
0
3
14
4
0
0
-60
7
-41
0
0
-18
-109
-1
0
0
-2
55
-29
0
0
9
-13
-103
0
0
-5
-17
1
0
0
-10
-83
-1
0
0
155
-8
-59
0
0
-49
-51
-12
0
0
-36
-11
23
0
0
-26
-3
0
0
0
-93
28
-32
0
0
60
-4
-15
0
0
-41
-23
31
0
0
-71
31
-2
0
0
-26
16
3
0
0
-2
5
0
0
0
3
14
0
0
0
-1
-4
0
0
0
2
3
1
0
0
2
8
2
0
0
4
1
0
0
0
-7
1
0
0
0
0
-10
1
0
0
0
0
0
0
0
-6
-2
0
0
0
2
-2
0
0
0
13
-3
0
0
0
1
0
0
0
0
-16
0
0
0
0
-3
0
0
0
8
22
17
-33
0
0
-38
-14
63
0
0
5
-33
6
0
0
2
-2
-15
0
0
-1
-28
5
0
0
-9
-1
9
0
0
30
-19
-8
0
0
36
-36
1
0
0
33
-17
-8
0
0
-52
-5
-7
0
0
-37
-18
-7
0
0
-96
35
7
0
0
-25
47
-92
0
0
119
-28
35
0
0
-17
19
-37
0
0
-53
3
28
0
0
-1
3
8
0
0
24
8
0
0
0
0
-1
1
0
0
-13
8
0
0
0
2
-8
-2
0
0
6
1
0
0
0
-1
0
0
0
0
0
25
0
0
0
-8
-3
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
-1
0
0
0
-3
2
0
0
0
-5
1
0
0
0
-17
0
1
0
0
-3
-2
0
0
5
-27
3
-81
0
0
-59
-86
33
0
0
-3
-31
-98
0
0
-2
-7
25
0
0
-74
-58
17
0
0
-4
-54
2
0
0
-33
27
0
0
0
37
-83
-12
0
0
62
-72
18
0
0
4
-42
8
0
0
-119
5
-3
0
0
-14
-7
0
0
0
-50
18
-2
0
0
-31
34
-3
0
0
3
18
0
0
0
5
13
-7
0
0
24
-9
0
0
0
3
2
1
0
0
3
2
0
0
0
9
0
0
0
0
5
-2
0
0
0
6
6
0
0
0
-5
0
0
0
0
3
-24
0
0
0
-12
-4
0
0
0
0
0
0
0
0
0
5
0
0
0
9
1
0
0
0
5
0
0
0
0
0
0
0
0
0
8
1
0
0
0
1
1
0
0
1
44
7
-5
0
0
-38
15
-143
0
0
-28
3
-46
0
0
28
-35
-49
0
0
14
18
-29
0
0
-23
14
-71
0
0
3
-32
4
0
0
-35
-3
-5
0
0
7
26
-15
0
0
-102
5
-17
0
0
-60
42
-7
0
0
-29
-56
30
0
0
-27
-41
-56
0
0
-34
-89
4
0
0
-82
-102
53
0
0
5
-119
31
0
0
-2
5
24
0
0
0
12
0
0
0
0
0
0
0
0
0
6
0
0
0
2
10
-2
0
0
0
-2
0
0
0
-4
-5
1
0
0
0
1
0
0
0
-5
1
1
0
0
0
1
-1
0
0
-5
0
-3
0
0
0
0
0
0
0
-8
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
31
0
5
0
0
-25
-12
-58
0
0
-134
0
-20
0
0
-21
-13
-26
0
0
0
15
-35
0
0
7
37
-34
0
0
11
18
-14
0
0
-13
12
9
0
0
60
-101
-1
0
0
-171
35
-7
0
0
-150
-59
17
0
0
-59
-31
7
0
0
-66
-27
-7
0
0
11
7
-29
0
0
-52
59
-32
0
0
-75
5
70
0
0
17
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
1
0
0
0
1
1
0
0
0
2
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-2
0
0
2
20
-40
-17
0
0
-9
5
-58
0
0
-8
-38
-24
0
0
4
-12
-117
0
0
-38
-77
-57
0
0
6
-2
-56
0
0
-40
-29
2
0
0
16
30
8
0
0
-8
-46
45
0
0
-47
-44
-13
0
0
-81
-6
2
0
0
24
6
26
0
0
15
-29
-32
0
0
40
-47
-90
0
0
-20
-35
8
0
0
-39
35
6
0
0
17
-8
0
0
0
0
-3
0
0
0
0
0
1
0
0
12
-5
0
0
0
5
0
0
0
0
-1
0
0
0
0
-4
-1
-1
0
0
0
-1
0
0
0
4
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
28
-10
-50
0
0
-34
-50
-44
0
0
7
-14
-115
0
0
21
-33
-2
0
0
5
58
-75
0
0
7
-38
-51
0
0
5
-17
12
0
0
15
-21
37
0
0
79
-8
-67
0
0
-42
30
-20
0
0
-91
5
45
0
0
-60
8
8
0
0
-93
24
38
0
0
6
47
-10
0
0
-16
-16
-30
0
0
66
-15
-17
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
6
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
2
13
39
38
0
0
30
2
-50
0
0
10
92
44
0
0
26
5
-7
0
0
25
16
-25
0
0
-91
12
-58
0
0
-14
-51
40
0
0
5
9
18
0
0
65
-63
6
0
0
-7
-74
17
0
0
22
-5
56
0
0
27
-59
-125
0
0
53
21
-16
0
0
-16
-13
68
0
0
-88
-10
28
0
0
-43
-34
-12
0
0
19
-2
30
0
0
-9
-6
15
0
0
-1
8
-12
0
0
-3
-10
0
0
0
-32
-40
1
0
0
0
1
0
0
0
13
-8
-2
0
0
-7
1
-2
0
0
-23
-5
-28
0
0
0
-4
1
0
0
1
25
-5
0
0
5
-2
0
0
0
25
15
-2
0
0
0
6
1
0
0
13
-6
2
0
0
1
0
0
0
11
3
-24
-7
0
0
-29
12
18
0
0
68
37
-17
0
0
17
41
16
0
0
-60
4
-24
0
0
-114
7
-68
0
0
-58
10
-57
0
0
-68
15
-15
0
0
47
-12
-16
0
0
18
-54
17
0
0
-21
36
26
0
0
54
-67
-46
0
0
7
-35
-22
0
0
18
-3
37
0
0
24
-18
-43
0
0
0
-61
-19
0
0
26
0
-1
0
0
1
6
1
0
0
1
7
6
0
0
-4
-3
1
0
0
1
-9
0
0
0
0
3
0
0
0
-22
-2
0
0
0
3
0
0
0
0
6
-5
3
0
0
-1
-1
-1
0
0
7
-3
7
0
0
1
-2
-2
0
0
-7
0
-13
0
0
4
8
0
0
0
-6
0
0
0
0
3
0
0
0
-16
0
-6
-55
0
0
-37
-5
-35
0
0
29
-25
-13
0
0
-10
8
10
0
0
-54
-7
-31
0
0
-87
12
-27
0
0
-26
8
48
0
0
-18
-11
8
0
0
45
-16
17
0
0
-32
-20
11
0
0
-14
46
-33
0
0
69
-14
7
0
0
-50
-32
26
0
0
16
31
12
0
0
15
-46
19
0
0
59
-28
-28
0
0
0
20
-10
0
0
0
2
-12
0
0
-2
-2
9
0
0
-1
14
-2
0
0
2
16
0
0
0
-8
0
5
0
0
27
-12
-6
0
0
2
1
-1
0
0
17
0
-24
0
0
4
0
1
0
0
13
3
1
0
0
-1
-7
0
0
0
4
10
5
0
0
-2
1
0
0
0
3
0
-8
0
0
-4
0
0
0
-20
-20
37
2
0
0
-5
-6
10
0
0
-2
-3
-25
0
0
-6
27
1
0
0
-15
-60
0
0
0
-42
1
13
0
0
10
-81
20
0
0
3
1
5
0
0
-10
-51
-39
0
0
-25
-27
56
0
0
13
-33
-84
0
0
17
-42
-38
0
0
-4
44
8
0
0
1
24
16
0
0
-31
39
-6
0
0
-28
-35
-9
0
0
8
-12
3
0
0
-2
0
0
0
0
4
0
-12
0
0
-17
-1
1
0
0
-9
0
-2
0
0
-7
5
-1
0
0
8
-10
0
0
0
53
2
1
0
0
-4
0
-5
0
0
-13
0
0
0
0
-3
0
-1
0
0
-12
-5
0
0
0
24
5
0
0
0
4
1
0
0
0
10
-1
0
0
0
-7
0
0
0
-23
41
87
83
0
0
-33
62
14
0
0
65
-5
19
0
0
-55
1
-8
0
0
-30
-15
-58
0
0
-5
-9
-33
0
0
-1
-41
-151
0
0
-5
6
24
0
0
-74
-49
22
0
0
63
-9
17
0
0
40
21
46
0
0
30
11
-26
0
0
-18
27
4
0
0
1
-21
-46
0
0
-21
19
-31
0
0
30
66
-12
0
0
-6
-24
-13
0
0
0
-6
-1
0
0
30
3
5
0
0
0
-4
0
0
0
12
-2
-8
0
0
-1
7
0
0
0
16
7
3
0
0
-1
0
0
0
0
40
-3
25
0
0
-1
-6
5
0
0
-1
3
-9
0
0
0
0
0
0
0
-8
-6
-7
0
0
-4
-6
0
0
0
10
-10
2
0
0
-5
3
-1
0
-22
21
4
3
0
0
-94
-4
43
0
0
67
-43
33
0
0
-46
4
-16
0
0
-29
-6
-82
0
0
-48
-44
-21
0
0
-22
-9
-59
0
0
15
-1
-86
0
0
-12
-70
3
0
0
-24
-27
35
0
0
8
-33
38
0
0
-1
-74
-1
0
0
39
-22
18
0
0
46
-45
-27
0
0
4
84
-35
0
0
-14
-25
-3
0
0
-14
1
-7
0
0
0
0
0
0
0
-4
0
0
0
0
-2
8
0
0
0
3
0
0
0
0
-2
-4
0
0
0
3
0
0
0
0
8
2
0
0
0
-2
0
4
0
0
0
-3
0
0
0
0
0
-21
0
0
-4
0
0
0
0
5
0
13
0
0
-1
0
0
0
0
21
-2
0
0
0
5
0
0
0
-17
113
-27
-59
0
0
10
3
-79
0
0
-5
-9
3
0
0
32
-2
-31
0
0
-37
-71
-44
0
0
2
11
21
0
0
4
5
59
0
0
-12
5
42
0
0
29
36
-48
0
0
-57
38
-53
0
0
13
-99
-24
0
0
82
-36
16
0
0
2
-79
57
0
0
90
-22
-59
0
0
10
-44
14
0
0
2
30
-17
0
0
0
0
0
0
0
2
-1
-4
0
0
0
0
1
0
0
2
0
0
0
0
-2
0
-2
0
0
0
0
3
0
0
6
-5
-1
0
0
0
1
0
0
0
7
0
-1
0
0
0
1
-1
0
0
0
0
-1
0
0
0
2
0
0
0
14
1
-2
0
0
0
0
0
0
0
8
8
-2
0
0
-7
0
0
0
-10
17
-7
28
0
0
-5
18
-17
0
0
-14
-58
5
0
0
-22
-4
27
0
0
-1
-20
-22
0
0
46
-23
-2
0
0
38
42
-18
0
0
17
18
6
0
0
4
4
4
0
0
-20
40
10
0
0
-30
21
-82
0
0
-28
9
-3
0
0
-23
-55
37
0
0
-54
12
-26
0
0
-7
12
29
0
0
22
-53
20
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
-1
0
0
0
1
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-23
30
13
2
0
0
-30
11
10
0
0
27
76
-19
0
0
-4
10
-2
0
0
29
83
-6
0
0
-17
8
2
0
0
2
12
0
0
0
-6
6
-2
0
0
-33
-51
0
0
0
10
-4
0
0
0
7
21
-5
0
0
1
10
0
0
0
32
-5
0
0
0
23
-25
0
0
0
4
-5
0
0
0
42
3
0
0
0
-10
-17
-45
0
0
-30
8
7
0
0
4
12
8
0
0
-2
2
-3
0
0
-2
43
25
0
0
-12
-13
-6
0
0
-18
-14
-1
0
0
0
-4
0
0
0
-8
-16
-28
0
0
1
-9
-2
0
0
-5
-34
5
0
0
6
0
0
0
0
-40
-32
8
0
0
0
25
3
0
0
-4
9
0
0
0
-8
22
-5
0
12
-20
-17
-10
0
0
-10
25
1
0
0
-20
18
2
0
0
-25
16
-3
0
0
2
2
-2
0
0
25
2
0
0
0
1
7
0
0
0
14
-13
0
0
0
42
-12
1
0
0
2
25
0
0
0
10
6
0
0
0
5
-9
0
0
0
14
-25
0
0
0
-5
-8
0
0
0
17
-12
0
0
0
-1
0
0
0
0
7
-2
-7
0
0
5
-2
1
0
0
0
27
0
0
0
0
-1
-1
0
0
-5
12
-4
0
0
22
14
1
0
0
3
4
0
0
0
0
0
0
0
0
-4
10
15
0
0
0
-5
0
0
0
29
-22
1
0
0
0
6
0
0
0
-6
10
0
0
0
0
-1
1
0
0
-1
10
0
0
0
0
-8
2
0
26
-5
42
-1
0
0
-2
-2
-1
0
0
-8
34
-4
0
0
25
10
0
0
0
6
24
-7
0
0
7
16
-1
0
0
3
3
0
0
0
-3
2
-2
0
0
51
38
4
0
0
0
5
1
0
0
-2
5
4
0
0
2
13
0
0
0
6
19
0
0
0
3
-6
0
0
0
2
14
0
0
0
4
30
0
0
0
12
-22
-19
0
0
0
-9
0
0
0
-3
-8
-1
0
0
0
17
-5
0
0
2
-6
10
0
0
-2
-5
17
0
0
5
-9
0
0
0
-1
8
0
0
0
-20
14
-13
0
0
0
12
0
0
0
-7
8
-2
0
0
3
-15
0
0
0
5
51
-8
0
0
0
-5
0
0
0
-5
-22
4
0
0
25
-29
0
0
44
-6
-5
-3
0
0
2
1
0
0
0
-4
5
0
0
0
8
-8
0
0
0
19
-1
0
0
0
-2
-2
0
0
0
3
-2
0
0
0
5
-6
0
0
0
10
-9
0
0
0
4
2
0
0
0
-27
5
0
0
0
3
-13
0
0
0
50
12
0
0
0
-1
0
0
0
0
-10
-19
0
0
0
6
1
0
0
0
5
-2
0
0
0
0
1
-2
0
0
0
1
0
0
0
-9
0
0
0
0
4
0
-1
0
0
5
7
0
0
0
7
-2
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
2
0
0
1
-9
0
0
0
-7
3
1
0
0
-1
-5
0
0
0
0
-1
-1
0
0
-3
1
0
0
-21
5
10
10
0
0
5
-13
0
0
0
0
-26
-3
0
0
0
-22
0
0
0
1
13
1
0
0
-1
1
0
0
0
-5
8
0
0
0
-1
2
0
0
0
-33
-12
-1
0
0
3
22
0
0
0
15
14
0
0
0
8
0
0
0
0
-21
-8
0
0
0
-1
-12
0
0
0
-29
16
0
0
0
4
-12
0
0
0
-1
-5
-4
0
0
0
-2
-1
0
0
2
8
1
0
0
-1
2
0
0
0
5
-13
2
0
0
2
0
0
0
0
-8
8
0
0
0
0
-2
-1
0
0
-1
9
-18
0
0
-1
-25
-3
0
0
7
5
7
0
0
-6
-4
1
0
0
-18
24
-12
0
0
-1
6
-3
0
0
-16
29
-1
0
0
-1
7
-3
0
-34
-14
41
2
0
0
0
1
0
0
0
-1
2
0
0
0
12
13
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
-8
0
0
0
2
8
0
0
0
1
-3
0
0
0
-6
30
0
0
0
-3
1
4
0
0
-3
0
0
0
0
13
7
0
0
0
-2
8
0
0
0
-18
8
0
0
0
0
-7
0
0
0
-1
2
1
0
0
1
1
0
0
0
-1
2
0
0
0
-2
0
0
0
0
-7
1
0
0
0
1
1
0
0
0
-6
7
-5
0
0
-1
1
-1
0
0
2
0
0
0
0
2
-3
0
0
0
-3
-1
-6
0
0
0
18
-2
0
0
-3
1
-1
0
0
-1
3
0
0
21
-8
-28
-2
0
0
0
-1
0
0
0
-4
6
0
0
0
0
1
-1
0
0
8
0
-2
0
0
0
0
0
0
0
-2
0
1
0
0
0
-6
0
0
0
1
7
-1
0
0
1
0
0
0
0
8
1
-3
0
0
16
-1
0
0
0
-3
1
0
0
0
-4
2
-1
0
0
-5
-7
0
0
0
0
8
0
0
0
3
-3
1
0
0
1
-8
0
0
0
4
0
3
0
0
3
2
-2
0
0
-3
-1
1
0
0
0
0
0
0
0
13
-10
0
0
0
1
-2
-1
0
0
24
-3
19
0
0
0
0
0
0
0
20
0
0
0
0
0
8
0
0
0
0
-8
-2
0
0
0
-3
0
0
0
-5
-6
0
0
0
0
22
3
0
43
-6
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
8
1
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
2
0
0
0
13
8
0
0
0
2
-18
0
0
0
1
1
0
0
0
13
18
0
0
0
21
0
0
0
0
-10
0
0
0
0
3
0
0
0
0
-1
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
1
1
0
0
-16
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
-2
0
0
0
0
-19
0
4
0
0
0
0
0
0
0
2
0
0
0
0
2
-1
-2
0
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
-53
20
27
9
0
0
-5
-9
-8
0
0
3
9
8
0
0
-2
18
0
0
0
8
-14
0
0
0
-2
2
-3
0
0
5
41
0
0
0
0
-4
0
0
0
-32
-9
-10
0
0
-22
-21
1
0
0
25
5
0
0
0
12
-32
-3
0
0
-23
17
-1
0
0
5
-14
1
0
0
-13
35
0
0
0
4
40
0
0
0
-7
7
-15
0
0
-1
29
9
0
0
1
40
-12
0
0
7
-41
-8
0
0
-4
19
9
0
0
0
-17
3
0
0
-23
72
13
0
0
0
-17
1
0
0
3
11
-21
0
0
23
-27
5
0
0
-5
33
7
0
0
-7
1
-1
0
0
-5
27
41
0
0
27
22
-2
0
0
-24
45
21
0
0
20
18
4
0
-11
10
19
0
0
0
-2
2
0
0
0
0
-20
0
0
0
-10
6
0
0
0
-2
0
0
0
0
-1
25
0
0
0
8
11
0
0
0
-1
-7
0
0
0
18
-24
1
0
0
-10
-3
0
0
0
-13
28
-1
0
0
19
-5
0
0
0
-15
-9
0
0
0
17
9
0
0
0
25
20
0
0
0
-1
-13
1
0
0
70
45
-2
0
0
-13
-1
-7
0
0
-3
1
13
0
0
13
12
1
0
0
7
-2
6
0
0
5
9
-2
0
0
5
9
3
0
0
-1
17
1
0
0
33
-13
24
0
0
-13
13
7
0
0
-17
-3
-5
0
0
1
21
20
0
0
-9
3
14
0
0
-2
22
-13
0
0
-2
33
-8
0
0
-6
12
0
0
-61
19
-7
1
0
0
-5
16
1
0
0
1
3
1
0
0
-1
-16
0
0
0
14
-22
0
0
0
1
-24
-1
0
0
-9
18
0
0
0
0
-1
0
0
0
2
7
0
0
0
-7
33
0
0
0
5
6
-1
0
0
55
25
0
0
0
-15
10
0
0
0
-9
58
0
0
0
2
9
0
0
0
-5
34
0
0
0
22
17
27
0
0
0
-23
8
0
0
0
25
-2
0
0
-24
13
7
0
0
9
1
-5
0
0
1
-8
3
0
0
6
-16
-8
0
0
-2
41
-1
0
0
-6
-12
-38
0
0
2
-3
-6
0
0
5
47
-3
0
0
-8
-17
5
0
0
18
1
-3
0
0
18
-3
13
0
0
12
18
20
0
0
3
12
-1
0
52
-25
-5
0
0
0
2
3
0
0
0
0
-2
1
0
0
1
8
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
1
0
0
0
37
9
0
0
0
-10
13
0
0
0
9
-49
0
0
0
26
27
0
0
0
26
10
0
0
0
15
-1
0
0
0
3
8
0
0
0
-6
-2
-1
0
0
44
-19
2
0
0
3
24
-5
0
0
-7
3
5
0
0
20
2
-10
0
0
19
-2
0
0
0
-1
1
2
0
0
-10
7
-4
0
0
2
6
0
0
0
-5
-1
-1
0
0
-3
20
4
0
0
4
-8
-1
0
0
13
5
1
0
0
-6
-1
-1
0
0
-4
-14
4
0
0
-19
6
0
0
0
4
5
-1
0
7
-48
-29
7
0
0
0
4
0
0
0
-10
-4
-2
0
0
4
-18
0
0
0
-8
-11
0
0
0
0
19
0
0
0
9
-36
1
0
0
0
48
0
0
0
77
-2
-2
0
0
-10
20
0
0
0
3
48
-1
0
0
68
-27
0
0
0
-18
6
7
0
0
3
-4
0
0
0
1
6
0
0
0
-10
37
0
0
0
16
-9
-13
0
0
0
4
6
0
0
0
-33
-7
0
0
0
13
3
0
0
1
-6
12
0
0
-2
6
-1
0
0
1
19
0
0
0
-1
0
0
0
0
-2
-2
-9
0
0
33
-3
4
0
0
-25
-19
14
0
0
20
29
5
0
0
-1
-13
8
0
0
22
-9
1
0
0
13
-8
-24
0
0
-17
-5
3
0
-36
7
13
-1
0
0
-3
-1
0
0
0
0
5
0
0
0
-1
-4
0
0
0
6
5
0
0
0
-1
-6
0
0
0
-4
5
0
0
0
0
1
0
0
0
8
18
0
0
0
-18
-2
0
0
0
-3
6
0
0
0
45
-52
0
0
0
-2
22
-3
0
0
12
-1
0
0
0
74
-5
0
0
0
3
-9
0
0
0
2
0
0
0
0
0
5
-1
0
0
1
3
2
0
0
0
0
0
0
0
-12
0
2
0
0
3
-1
-1
0
0
-22
2
-5
0
0
-3
1
1
0
0
-19
5
-12
0
0
-12
16
-3
0
0
8
0
8
0
0
3
-8
-6
0
0
1
-13
-10
0
0
-1
8
1
0
0
4
0
-1
0
0
12
-5
-1
0
-38
-6
8
0
0
0
0
27
1
0
0
10
5
-1
0
0
0
10
0
0
0
-9
-5
0
0
0
0
1
0
0
0
-4
27
0
0
0
0
-1
0
0
0
-11
2
0
0
0
-3
-5
0
0
0
-4
2
0
0
0
-15
6
0
0
0
44
-9
1
0
0
-13
-8
2
0
0
7
14
0
0
0
-2
24
0
0
0
-25
1
-6
0
0
0
-3
-2
0
0
0
0
-3
0
0
0
14
0
0
0
9
4
-4
0
0
0
-5
0
0
0
-13
0
1
0
0
-1
-7
0
0
0
-7
10
5
0
0
-4
-2
-1
0
0
-8
-2
8
0
0
-4
1
-3
0
0
-1
42
-30
0
0
-5
13
5
0
0
7
-8
8
0
0
-2
5
9
0
50
-8
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-4
0
0
0
1
3
0
0
0
0
-3
0
0
0
2
0
0
0
0
9
-10
0
0
0
-3
-2
0
0
0
-6
2
0
0
0
-5
-7
1
0
0
-2
-1
0
0
0
24
0
0
0
0
-6
-1
0
0
0
6
7
0
0
0
0
1
0
0
0
2
0
2
0
0
0
0
1
0
0
4
4
0
0
0
3
0
-1
0
0
-1
-1
0
0
0
20
0
3
0
0
-4
2
0
0
0
-7
3
-12
0
0
12
0
1
0
0
0
0
0
0
0
6
-7
3
0
0
3
-1
1
0
0
8
-3
1
0
0
12
9
3
0
0
-1
-1
-2
6
54
8
-25
29
0
-18
16
-15
-29
0
-7
11
14
21
0
-30
0
-31
21
0
8
-4
5
-12
0
4
18
-6
-3
0
2
-10
15
-14
0
5
22
-4
4
0
-7
74
-1
34
0
26
-64
7
-13
0
19
15
-16
1
0
6
10
18
22
0
-26
-33
-11
-25
0
-28
-40
-1
-73
0
-89
18
-19
-1
0
11
7
-8
-4
0
-50
33
-14
-38
0
-24
16
40
13
0
-44
17
46
-31
0
51
-8
0
1
0
-2
6
-30
-2
0
1
-56
13
0
0
29
16
6
5
0
-9
1
0
1
0
-31
34
4
-2
0
7
-28
-32
2
0
-4
-30
-1
-8
0
12
6
-9
1
0
-13
-21
-5
15
0
27
47
-4
-3
0
-15
-18
0
0
0
-13
1
0
0
8
14
-3
4
43
0
-90
3
14
-53
0
-31
-1
-49
0
0
-29
5
-7
0
0
-18
-34
6
10
0
2
-5
-2
-27
0
6
-14
-4
-22
0
11
-23
2
4
0
38
-26
14
-72
0
22
9
11
14
0
-29
74
3
-65
0
7
81
30
-26
0
-44
18
-2
-100
0
-51
-82
-50
-49
0
-23
10
-16
-35
0
51
45
-94
6
0
1
-41
-2
-7
0
9
-5
-15
1
0
-8
14
-19
-2
0
-12
22
5
0
0
-51
2
13
1
0
0
5
16
2
0
-24
-8
-1
0
0
-5
32
-3
0
0
30
-41
7
-9
0
5
21
7
0
0
-8
-12
-5
6
0
-2
-5
2
-1
0
-15
24
17
1
0
-4
-23
-13
0
0
-9
-6
1
0
0
-8
-11
6
0
-10
15
-11
12
8
0
-10
-2
0
29
0
-15
-4
-31
2
0
6
-26
-83
-2
0
15
-26
7
31
0
-31
-3
-11
-18
0
-1
21
-6
21
0
-31
15
-29
-16
0
-69
-10
17
-18
0
-78
3
18
12
0
-89
14
-18
13
0
-49
24
16
27
0
-11
30
-54
-40
0
11
-48
-59
-80
0
3
-97
-44
-49
0
14
-20
-4
-6
0
-2
-18
-4
-3
0
23
-27
10
-6
0
16
-6
-5
-8
0
-4
22
1
1
0
-7
-2
5
5
0
3
0
0
-3
0
-29
18
0
-2
0
-9
-3
0
0
0
-5
-3
-12
0
0
-3
0
-10
0
0
17
32
17
14
0
0
8
-4
1
0
-8
0
-5
0
0
12
-7
31
0
0
28
4
-8
2
0
-1
-1
-1
0
-10
25
4
-15
6
0
-33
-62
-26
-28
0
-72
-37
-51
-15
0
-1
-65
-86
-14
0
43
-99
-6
0
0
2
-3
-24
-29
0
20
18
43
2
0
19
9
-20
-58
0
40
64
45
-30
0
-32
5
-21
16
0
-7
0
82
3
0
9
44
-13
-6
0
48
-8
55
-13
0
58
-9
-36
-4
0
5
-40
30
3
0
58
-16
-5
-3
0
1
-8
7
0
0
-4
5
-3
0
0
-1
5
5
0
0
0
-15
3
-2
0
-14
-2
0
0
0
-8
-4
0
0
0
19
-13
0
0
0
-2
-7
0
0
0
0
8
-5
0
0
7
-10
6
0
0
3
-18
0
0
0
0
3
0
0
0
-1
0
0
0
0
1
32
-9
0
0
0
-1
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
26
-4
-107
0
-72
16
15
-31
0
11
8
20
-68
0
37
-14
36
13
0
22
5
3
2
0
25
2
-14
-36
0
25
-18
14
-22
0
30
-13
4
-90
0
-19
25
1
2
0
-56
-38
2
24
0
-32
-15
3
28
0
-32
-67
44
10
0
-19
7
16
32
0
-19
-15
35
1
0
8
19
11
2
0
41
21
57
-100
0
8
-1
-21
7
0
-3
-8
19
-2
0
39
12
40
-8
0
1
7
-14
-1
0
-52
12
5
2
0
2
5
6
0
0
-44
39
-25
6
0
13
2
0
1
0
-51
2
-2
30
0
47
-17
30
-6
0
52
-3
31
22
0
20
10
-22
1
0
10
-7
-32
-17
0
-94
-5
32
-2
0
-34
5
6
-18
0
48
-5
-6
1
-22
22
44
-45
-13
0
-92
14
-88
-15
0
36
-44
-1
-14
0
59
0
-27
-44
0
9
-4
-42
29
0
38
11
-18
3
0
4
2
-56
-46
0
38
6
15
-46
0
-117
-8
-2
-20
0
4
-41
-16
-5
0
14
-64
-18
-27
0
44
-112
-42
-18
0
-27
-5
45
-2
0
-34
20
0
27
0
9
-25
47
-26
0
33
-29
69
21
0
0
-7
-2
-1
0
5
27
-16
3
0
-4
14
8
1
0
4
-15
7
1
0
-43
-1
-9
-1
0
-3
-14
16
0
0
-60
10
-1
0
0
2
-1
0
0
0
6
-42
65
-1
0
-48
22
38
0
0
-29
48
1
0
0
21
3
0
0
0
-36
-6
15
0
0
11
15
-5
0
0
63
-8
-8
0
0
-8
19
8
0
-8
-25
-12
-6
3
0
7
10
16
19
0
-21
-53
45
-14
0
11
37
33
1
0
20
-20
-40
14
0
-15
-7
-8
-89
0
8
11
20
-69
0
17
10
19
90
0
-42
-98
-25
24
0
30
-8
-20
-8
0
-3
-68
-14
-30
0
-23
-115
-71
56
0
-8
-7
-1
-18
0
53
-28
32
-34
0
32
-53
12
-109
0
65
-49
54
9
0
-13
13
-25
2
0
-1
25
6
0
0
30
0
46
0
0
8
8
-12
2
0
9
5
-19
3
0
17
-3
-2
0
0
57
-20
15
4
0
43
-20
4
0
0
-59
-25
-22
-7
0
-20
23
5
4
0
6
-8
88
-4
0
9
-6
-21
0
0
-90
-2
5
0
0
55
6
-2
0
0
3
-17
6
0
0
7
4
-19
0
-18
-8
-7
-2
-65
0
25
-20
-39
-2
0
-54
22
-113
1
0
23
9
18
-5
0
30
-19
4
-49
0
21
-18
6
-26
0
-24
-12
63
-21
0
21
31
-22
-4
0
-56
-77
-12
-13
0
-46
32
2
-22
0
-11
0
35
-7
0
23
73
-22
25
0
-9
-58
14
-64
0
21
-24
-55
-47
0
23
-1
31
-11
0
-5
16
22
7
0
-6
6
-7
0
0
-5
-2
-7
0
0
9
-3
-1
0
0
4
-1
0
-2
0
-7
0
0
0
0
0
-25
-1
0
0
1
16
-4
0
0
-20
25
1
0
0
0
-33
13
0
0
-24
-9
17
0
0
10
17
4
0
0
3
-12
0
0
0
36
-8
-18
0
0
-2
7
16
0
0
-10
4
-1
0
0
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
11
15
-18
0
-25
-21
46
19
0
-4
-8
30
13
0
3
-3
-5
0
0
0
-39
25
-8
0
16
4
-1
-1
0
-5
20
-6
24
0
-3
5
19
-2
0
-46
21
4
34
0
3
1
-23
-13
0
-43
29
-4
14
0
71
32
-1
-4
0
-3
-8
-27
-12
0
-3
32
-2
6
0
-14
44
-3
-8
0
-1
-42
-4
0
0
15
-5
53
-2
0
7
46
44
8
0
0
42
15
14
0
24
-3
20
4
0
15
-32
27
27
0
1
23
13
3
0
33
20
-19
4
0
9
24
-1
0
0
45
22
-15
1
0
-5
89
23
15
0
-50
3
6
1
0
-14
24
12
1
0
-33
6
30
-22
0
-1
7
-41
8
0
-1
-22
58
-8
0
14
30
-12
2
-14
-14
30
-29
-3
0
7
-5
-1
3
0
14
21
-15
1
0
-20
8
-4
-1
0
-6
-20
8
3
0
8
70
-12
0
0
25
-5
-32
0
0
-5
34
-2
0
0
16
-7
-8
12
0
-5
16
8
0
0
5
-13
14
0
0
21
-16
24
-1
0
-11
31
-9
-2
0
-5
43
4
-1
0
39
24
1
0
0
-40
-8
-4
0
0
5
-7
9
-4
0
1
31
4
-4
0
4
22
6
8
0
0
31
-5
-3
0
-13
-6
-32
-3
0
-1
22
20
-3
0
2
-17
-20
1
0
-6
8
0
-2
0
-9
-18
-15
-29
0
-4
-19
36
12
0
2
-4
35
-15
0
40
13
-1
-2
0
25
22
-22
40
0
57
-28
19
-4
0
24
-10
27
40
0
21
13
2
1
26
25
-1
13
24
0
-6
30
-3
0
0
4
-25
38
-5
0
8
-8
10
-1
0
-9
-45
41
-7
0
-8
-6
-4
0
0
22
-10
1
-2
0
-8
23
3
0
0
17
42
-34
-4
0
12
-24
-12
1
0
-8
-10
-13
-2
0
7
-23
2
-10
0
-14
24
1
-4
0
-22
21
4
1
0
25
-10
5
10
0
50
21
0
0
0
-6
77
33
3
0
-6
-5
8
1
0
-12
-16
22
-7
0
-4
1
-13
-3
0
5
-31
6
-21
0
0
-2
29
0
0
-8
4
-24
1
0
-8
3
0
0
0
9
26
-27
8
0
21
-36
30
0
0
8
4
25
18
0
-9
-23
27
0
0
-5
9
-6
26
0
0
-17
29
1
0
13
22
46
1
0
-30
-30
3
0
-15
-7
2
10
0
0
-10
23
-3
0
0
23
-8
-13
7
0
-38
35
-1
-3
0
-9
-4
0
0
0
-1
8
-6
0
0
-2
-8
4
-1
0
31
-8
0
-1
0
-19
-6
2
0
0
7
3
3
0
0
0
23
1
-1
0
-25
58
2
-1
0
-17
-23
0
4
0
-2
29
-1
-5
0
15
21
0
0
0
-11
-12
0
0
0
3
-8
-8
-1
0
1
0
-1
0
0
10
10
0
0
0
0
0
0
0
0
-7
0
0
1
0
-3
-7
-3
0
0
5
0
0
0
0
12
0
2
0
0
19
-30
29
-1
0
-7
-7
3
2
0
-15
35
-7
-1
0
-4
80
-6
0
0
5
52
-36
-1
0
3
28
-13
1
0
6
-5
0
0
0
34
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-52
-54
99
44
0
53
-38
-4
-6
0
18
-1
6
0
0
-6
-4
14
0
0
49
-32
-18
9
0
-9
-3
29
2
0
1
73
2
-5
0
17
-8
2
0
0
19
-30
-21
-5
0
26
8
-20
-8
0
37
-4
13
1
0
30
-57
23
-3
0
7
55
24
6
0
64
-20
17
38
0
36
-7
-30
1
0
28
-30
-2
0
0
-33
-42
-30
-22
0
-1
73
-22
9
0
-40
50
77
-25
0
-14
-18
-49
7
0
-8
-33
-33
-30
0
8
4
-6
-4
0
60
48
-14
-2
0
45
-6
1
8
0
-61
73
53
7
0
-7
-7
40
-19
0
18
47
59
-12
0
20
22
49
3
0
-3
-3
8
21
0
-10
14
25
-26
0
-5
-45
96
0
0
-8
-17
4
0
1
-9
31
41
3
0
10
12
-8
8
0
-1
-5
-5
-3
0
-7
4
-25
0
0
-17
22
-8
-3
0
4
-7
-2
0
0
-5
30
-1
1
0
2
3
0
0
0
-2
2
5
-9
0
-11
31
3
17
0
41
-2
-9
5
0
33
-35
-18
3
0
-21
-11
16
23
0
-52
22
4
28
0
-14
-8
1
2
0
-5
-13
5
2
0
35
-6
30
22
0
6
3
-10
-6
0
20
2
-15
25
0
5
1
7
-2
0
23
-4
-6
1
0
1
-8
2
0
0
18
6
-12
-1
0
-13
-19
-6
0
0
-68
5
82
-30
0
-6
-5
15
1
0
3
47
-40
-11
0
17
-6
30
-3
0
15
19
18
9
0
-17
-1
8
-3
0
-8
15
48
7
0
-17
13
-8
0
27
17
-1
-30
2
0
15
-13
1
0
0
-1
-15
7
4
0
12
-5
-3
6
0
50
-7
40
1
0
-13
-6
-3
0
0
30
17
-12
7
0
-1
19
1
0
0
10
-3
-44
0
0
12
-25
-14
14
0
11
26
-16
5
0
16
5
0
1
0
-3
21
-15
40
0
-50
1
-29
-8
0
-14
20
5
-14
0
-42
4
4
2
0
-33
2
25
9
0
-2
-1
64
-5
0
1
-24
28
-3
0
-18
31
13
-8
0
42
-3
-23
5
0
4
-22
44
-6
0
2
8
7
-9
0
-3
7
20
1
0
12
-20
-3
52
0
21
23
35
-23
0
28
31
-42
-6
0
32
44
-13
6
0
11
36
-3
10
0
1
50
-1
-16
0
-6
63
-45
1
0
43
-7
-8
-10
-14
-2
25
15
-6
0
-14
-5
-6
0
0
1
5
0
-6
0
7
-5
2
0
0
2
0
-1
0
0
-10
-13
-1
0
0
9
-19
-3
0
0
-5
4
0
0
0
83
37
9
0
0
-41
70
1
5
0
-12
-8
4
-1
0
-24
17
7
-19
0
25
-6
-1
3
0
8
-8
3
-8
0
-13
-7
0
1
0
-8
1
-3
0
0
-20
-3
5
0
0
2
-5
1
0
0
-6
-1
25
-5
0
18
3
-6
-3
0
-1
-18
6
-3
0
0
32
-15
0
0
-25
-19
10
0
0
-24
-8
2
0
0
-43
-12
18
12
0
-2
-24
22
21
0
-83
3
-17
18
0
4
3
13
20
0
9
-24
8
-6
0
-17
-14
22
-5
0
16
13
4
-4
0
24
21
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
6
-8
-21
-18
2
27
6
8
-11
-11
14
0
19
-41
37
-41
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
28
1
-35
13
40
-12
18
-46
-44
-17
49
9
-14
22
106
-41
44
-61
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-11
9
-29
1
-3
-30
17
44
-2
73
-33
-43
-5
-19
-19
26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
20
1
3
23
-20
-7
9
5
-10
-6
15
15
8
-14
-29
23
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-27
-5
7
-23
-7
7
-41
-12
17
42
-42
-37
-33
7
52
-40
25
-36
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
76
-21
-27
-13
10
71
1
-64
-69
-43
-18
3
89
-72
-25
39
8
-47
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
24
-5
23
-4
-10
-27
34
-3
5
-22
-9
-22
12
-4
4
-1
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-51
14
-6
-3
-8
5
-3
18
-3
-9
-4
-31
3
-3
-6
1
15
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-61
19
-34
-25
13
16
-16
-19
-9
9
14
15
1
-2
-2
-9
31
-62
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-18
-9
-31
-82
-9
-11
-29
-7
-41
86
-14
15
-11
-51
-14
-62
76
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
5
40
4
17
14
7
13
-14
-10
-14
-13
-1
-18
-5
-17
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-6
8
2
-13
23
-40
6
1
5
12
-16
12
-3
29
-8
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-74
1
-7
-27
36
15
-18
-49
-30
-9
-5
-15
27
-2
-28
39
-4
-11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-11
-33
-17
12
76
-21
-86
-23
4
-53
-37
-32
10
5
-29
34
-16
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
16
22
3
4
12
24
0
4
-3
3
-27
14
1
4
30
-7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-8
8
4
5
34
37
-8
0
5
-1
17
-29
0
-4
6
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
4
-3
10
-5
7
9
-12
-10
-17
-30
-13
7
-1
-29
48
-10
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-27
-14
-47
-13
9
-14
8
-9
-118
-5
-47
4
-74
6
-76
15
-3
-16
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-17
9
-9
23
-3
44
-22
-12
2
8
44
-2
13
0
-1
33
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-15
-3
-9
14
0
10
-4
7
-4
-25
-102
12
-16
-1
5
-8
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-33
-4
-7
35
-46
7
17
-17
17
-22
-51
9
3
-17
-31
0
-23
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-40
-16
-14
-45
-96
-1
-16
-43
50
-16
41
5
-16
-140
-34
-100
-44
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-34
14
2
4
4
14
-41
-5
3
-2
24
35
-5
0
-8
-29
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
18
12
0
5
-23
6
1
-1
14
22
2
1
0
1
-12
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-61
2
18
-4
-37
11
-21
-38
-4
-5
-39
6
2
12
-49
-4
-26
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-47
-82
16
-56
23
15
-35
-4
-103
-54
-93
-57
-67
-29
12
0
-74
117
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-22
-2
24
-2
0
-5
24
-15
0
9
14
0
23
0
0
-3
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-40
3
3
6
-5
-25
-8
8
0
15
31
-16
2
0
1
5
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-48
-5
-13
5
-45
32
-14
-22
-4
52
-77
26
8
-20
-41
2
-22
19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-47
-59
17
-5
-30
-19
-11
8
-37
-28
-1
-16
3
15
-16
-30
-30
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
5
0
0
-2
8
-1
0
6
-2
-14
-3
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
8
-3
-3
-3
0
-1
0
-1
-2
2
0
0
-6
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
13
-53
3
-80
-2
1
-45
30
-26
-102
9
-61
-1
-43
16
-1
-138
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-2
32
17
18
56
9
2
6
-5
53
31
13
-1
23
57
-3
9
19
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-13
-5
5
5
0
12
70
-45
-15
53
-59
8
13
6
0
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
59
-16
-1
-3
8
18
1
-19
-7
7
36
-16
18
5
5
-39
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-13
-39
-22
-49
18
8
-85
-4
55
-80
-27
-136
17
-36
-1
-5
-38
-19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
29
6
-18
-33
19
-2
9
-37
-9
64
13
-9
-22
6
56
-13
3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
19
28
27
4
1
-5
31
3
-4
-1
-8
29
16
8
-1
-41
41
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
37
3
46
-14
-5
-3
19
-27
-2
-2
48
13
5
-9
6
-2
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-46
-27
-5
-123
-7
-66
18
-17
-65
19
-72
-27
6
-25
16
28
-38
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-18
26
-1
19
26
11
47
-60
-7
72
-19
34
-27
12
13
-10
15
-31
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-31
5
0
-5
-6
8
16
-8
8
31
31
-21
-3
4
-16
10
10
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-33
-32
55
-9
30
18
14
-8
-2
-58
55
-21
-6
0
43
-47
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
-62
-68
35
-2
-25
-3
-22
39
-53
27
-24
-4
-10
36
9
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
63
-27
29
-13
1
3
-11
18
29
57
-1
-19
5
15
-28
-3
-23
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-22
1
-5
3
24
-17
12
3
47
8
-4
6
-5
-9
-1
27
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
4
32
-6
-5
-6
-2
-11
-7
-3
3
-6
2
-7
0
0
5
17
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
28
-28
16
-91
-21
-25
-38
16
-5
-1
2
-19
4
-58
0
1
-63
-16
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
2
13
-8
-43
-16
-1
-9
19
-62
31
6
-8
7
13
-46
-31
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
50
15
75
-9
6
2
-41
8
-8
13
-41
-3
5
-4
16
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-8
-19
-19
27
-40
7
6
2
65
-15
20
-10
21
-48
-8
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-4
-19
2
-37
-56
-11
-84
2
1
-71
-26
-30
-10
6
3
-87
-59
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-32
26
3
-6
-29
-23
-56
9
10
54
-97
-15
-60
-8
-48
22
-38
-31
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
25
-11
-25
8
-3
23
-43
14
8
-7
-1
9
-15
0
-3
-23
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-40
30
-5
-3
-3
14
-12
4
0
23
-2
10
-3
3
-8
-3
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
-71
19
-82
-25
6
-19
9
-142
-16
-1
0
20
-27
-51
-34
-64
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-81
-41
-16
0
-41
-50
-36
-45
-76
2
-72
5
1
5
-33
-56
-23
-74
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
47
9
-16
0
1
14
-2
0
14
-4
-18
-25
0
-7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
44
4
9
2
16
6
43
-3
0
28
-9
7
-2
0
5
13
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-61
51
4
17
2
6
-110
3
-35
-47
-17
-20
29
-2
-21
23
22
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-36
15
-43
-22
-26
10
-110
-42
9
-38
-49
-30
-22
-9
-7
43
9
-28
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
-3
7
2
0
5
2
0
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-7
-3
5
-13
8
-2
0
-6
-3
6
4
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
8
6
48
9
-13
30
5
-25
5
19
3
15
-22
0
1
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
6
-20
47
2
6
22
-15
-8
-1
47
1
19
7
-2
-12
-8
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
-22
23
-1
-6
-60
67
8
-5
-41
-29
-11
-30
-16
3
71
62
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
32
-20
8
4
17
22
-25
-37
-12
2
43
1
3
-18
10
1
66
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
41
-2
-19
4
35
-52
-8
6
48
10
-21
15
-6
-1
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
43
-1
4
-24
-1
-9
-24
1
22
-1
-4
20
0
-5
62
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
40
-6
-4
-8
-42
52
-7
0
-10
-1
84
-13
-4
-1
-7
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
41
-37
-1
10
9
37
3
0
0
16
-51
13
-15
-3
-8
-8
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
22
-15
2
8
-16
-3
8
0
-4
22
12
-13
2
2
-12
-14
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
17
30
-28
-7
-10
-40
11
8
0
42
-48
20
-15
0
-10
-6
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-36
22
-44
15
4
28
5
5
-29
2
-2
6
1
25
-1
24
24
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
-4
59
3
-38
-6
13
-4
9
-21
-1
77
-9
-6
-3
12
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-18
-7
1
-4
9
31
-4
1
-3
28
4
7
0
4
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
42
-3
0
0
16
4
6
-2
0
-12
-25
5
-1
1
-17
25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
33
54
6
2
-5
24
-10
5
-1
4
-4
-17
4
0
-1
5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
79
-1
48
-1
-5
31
5
-1
0
7
-23
13
17
-5
-13
13
-10
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
11
-32
20
10
0
28
28
-7
0
0
-7
12
6
0
0
14
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
22
12
-36
16
-6
29
9
-3
0
-40
-10
14
23
-6
3
-24
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
10
27
12
18
0
-40
100
40
0
8
101
-14
6
3
3
-2
9
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-30
-19
37
27
-22
14
-20
25
-25
-9
64
-56
51
-15
15
3
-22
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
1
14
0
2
11
2
-5
-1
-2
-13
-18
4
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-40
-9
14
-1
5
-6
8
0
0
-22
-22
17
9
1
-24
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-11
1
10
0
22
14
6
6
0
0
-14
44
-2
0
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
37
11
-18
-21
25
-37
2
3
8
-14
16
14
-25
-1
1
2
6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-42
16
1
2
0
7
0
-2
0
0
13
-16
-3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
58
-5
7
4
-1
-20
4
29
0
2
-26
-16
-6
-4
-6
46
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
6
1
6
0
13
13
-7
0
6
-19
10
36
1
-1
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-41
-20
-2
1
-5
21
-12
0
-16
-42
-8
-23
0
5
-9
7
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
13
-1
0
0
13
17
0
0
-1
10
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
4
-3
1
1
24
4
0
0
23
13
0
5
-1
-2
18
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-16
0
1
-12
1
-2
0
0
4
-8
1
0
0
9
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
12
-1
4
-23
-3
5
0
3
14
-2
-7
0
3
-25
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
23
-12
-10
0
-55
12
52
0
3
-5
72
-3
9
0
55
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
-103
28
-1
-8
-30
-25
30
5
14
29
31
14
-2
-24
16
27
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
23
-21
-6
7
31
45
11
21
-34
38
20
51
-24
3
-2
-15
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
17
-11
23
11
-37
6
57
39
3
16
-68
72
31
5
21
19
23
-3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
58
36
15
2
0
-73
45
8
0
2
-10
31
-6
0
2
8
-34
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
50
-21
-14
2
-5
-7
13
45
0
-21
43
3
-7
-2
74
-37
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-22
-18
31
25
16
-15
-10
14
25
8
-8
1
22
-4
6
-19
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
59
-42
30
-4
22
7
-1
18
45
10
13
58
-11
9
20
25
20
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-35
36
19
0
52
-3
-22
0
-4
15
21
-13
3
1
-8
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
3
20
-34
-19
-9
83
13
-41
4
-23
-42
9
26
3
-29
22
-5
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
25
-21
79
65
-7
44
-28
-22
3
-13
9
-49
19
8
8
8
-23
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
7
57
5
-45
43
17
55
-22
27
41
-1
-15
31
28
36
-6
40
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-41
5
-3
-1
-6
3
8
0
0
-2
2
-4
0
0
24
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
8
-3
4
-4
94
23
-2
-3
4
0
46
-5
0
2
25
24
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
27
-18
12
-8
13
-40
4
3
-8
-6
-4
3
10
-5
5
23
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
69
-43
17
6
15
-22
18
4
-32
13
13
-32
-5
0
31
1
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
44
-75
-18
-2
0
24
29
0
-2
-1
28
5
3
-1
0
6
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-47
65
61
5
-3
31
-58
22
0
3
1
13
16
-3
-8
6
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-1
87
-9
-3
-7
6
23
41
-3
-3
-14
-14
7
7
-2
0
50
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-34
-14
52
1
-15
-57
-3
71
35
3
22
55
-32
-31
-2
1
21
91
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
19
5
-2
-16
-27
34
1
0
0
43
-24
-7
1
1
48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
67
-6
50
1
22
0
-1
0
-1
-15
8
-14
5
0
8
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-23
15
17
17
-2
14
-9
-8
-8
-2
-1
46
-4
-4
-8
8
24
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-23
-11
63
6
-24
-1
8
-25
0
33
6
2
3
13
-7
-17
-20
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
8
-10
1
0
-1
-7
0
0
-2
4
3
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
66
24
-35
0
-10
-3
1
0
0
0
38
-15
3
0
6
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
25
23
4
0
-2
20
-45
2
4
-20
-30
53
5
0
-13
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
8
30
17
9
22
-14
-3
14
6
-17
20
-7
13
-12
6
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
15
5
1
0
0
0
0
0
0
0
21
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
-9
1
-10
20
-7
8
0
-7
24
-2
4
0
-12
-19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
33
-7
3
0
-6
-17
-2
0
2
5
-13
12
0
2
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-1
30
-6
16
5
43
-5
1
-3
-16
-25
55
10
1
2
-2
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-81
-65
20
10
6
73
32
-86
-24
-10
12
22
10
-4
-18
-11
-9
-19
-39
-72
0
10
-47
-73
-68
-100
13
-6
-56
8
-23
-35
1
15
8
-50
5
-15
19
1
-4
7
-35
-12
-53
-5
-1
-88
-5
-21
-15
-89
0
42
-13
-32
9
-10
-66
-15
53
35
-12
20
-12
44
-39
7
-24
-71
17
-45
10
-23
-9
-82
-102
-59
41
-36
23
-10
-18
-30
34
56
-22
-10
8
-6
8
-30
-5
19
-4
9
3
2
1
31
3
1
-12
-6
-3
6
4
2
1
-12
17
-6
5
5
4
-8
2
0
0
12
71
53
22
23
-8
52
5
36
-4
-8
-7
22
20
29
-13
-16
8
1
-2
15
44
2
65
-5
22
-14
-13
9
1
1
4
13
-9
-2
5
-15
7
0
0
4
35
37
-33
-91
55
-37
-28
-52
-30
7
-8
9
38
16
13
-13
6
14
1
-109
-53
-15
-36
-68
-84
-109
11
40
-53
-12
-75
23
13
1
-40
-18
58
39
-21
44
-13
-7
24
36
28
-15
-54
-27
-64
-25
6
27
15
31
-2
-20
-26
-15
-13
-75
-19
-36
-19
-15
-6
2
-31
-4
-29
0
-38
-55
14
-16
-7
-34
44
-35
-25
-12
-1
-12
-9
-1
16
-9
-25
8
20
-15
-46
-4
17
5
-28
-13
1
-3
0
8
1
2
-13
-4
-10
9
8
-2
-5
0
8
1
-1
0
-1
24
-2
-1
0
7
65
9
-8
-12
24
-15
3
-14
8
0
-23
8
-6
25
16
-2
-10
5
-8
0
7
3
18
-14
-20
30
-8
5
-2
-1
-17
2
0
1
0
5
-1
0
0
6
-43
69
-9
-46
-13
-22
6
27
-40
3
-14
-20
-1
-14
-40
-68
4
-67
0
-5
-13
45
-57
-79
20
-10
-29
-25
-84
-14
-25
10
-2
-13
-4
-27
-34
19
-37
28
-47
-72
-7
17
10
-73
-59
31
-48
63
-32
-46
-9
-28
-10
-20
-41
17
-1
-18
-36
-64
-40
-11
-23
-32
-69
-2
-17
-18
-69
-46
-6
-47
-4
13
8
-19
6
2
-55
49
20
-7
13
-65
-5
-1
0
-24
-8
7
0
-13
0
24
-1
2
0
-1
22
32
-41
1
-4
8
-5
0
0
-7
-1
-3
0
0
22
0
1
1
0
6
-49
13
2
0
18
-40
7
25
4
-38
24
-6
-4
24
0
-3
8
8
2
-15
20
13
19
0
-2
-31
14
4
0
8
18
-9
0
0
-2
4
0
0
0
27
-103
55
-118
6
23
17
-15
29
6
-4
64
-24
-43
7
26
-51
7
35
17
6
-44
38
-63
-4
-42
2
23
6
-50
-37
54
-16
-30
-66
-8
36
21
4
-26
6
-47
-95
-30
0
-57
-98
-12
18
23
-2
-64
43
-15
-25
-6
-71
-21
21
-7
-45
-1
-1
20
-31
6
-64
-81
8
-11
55
-13
-5
23
-90
-2
-8
7
34
-12
-18
43
8
13
0
5
29
-3
-1
0
-7
31
20
0
1
-5
-3
16
0
0
3
-33
2
27
1
8
-44
6
0
0
0
8
2
2
0
0
0
0
2
0
4
1
-1
2
0
-25
27
9
1
2
-7
8
-8
-7
-1
1
-22
-5
-6
1
0
24
-8
0
0
5
-13
-6
0
0
0
1
-3
0
1
0
3
-1
0
0
-28
-34
-61
-8
-75
12
-42
-55
-19
-16
39
-54
8
9
4
6
-32
2
5
-25
-7
18
-24
-30
0
-40
6
-11
0
28
21
15
-9
-13
8
-50
19
-1
-18
16
36
16
-40
17
-10
-16
3
-16
-33
-31
-14
6
31
-17
-96
-14
-2
23
3
-13
-49
17
-4
7
0
-74
-23
-2
2
-15
-10
8
-13
2
8
-7
47
-101
2
24
27
-65
3
38
-3
-2
12
38
-9
1
0
6
-10
1
-4
-3
-1
-7
-1
-1
-66
-37
23
7
0
2
-35
13
-1
-8
16
-52
30
-1
-2
1
2
0
0
0
-12
-22
-22
-32
19
-17
8
-15
9
-1
-3
34
10
10
16
-7
1
5
-1
-1
61
2
-12
10
9
-6
19
0
0
2
9
13
-25
1
0
0
1
12
0
0
11
-47
33
19
-21
-27
-30
-46
-12
-11
7
-42
-12
-6
23
21
-47
14
26
18
-59
-5
-28
1
20
-34
13
-6
-41
-7
38
-3
-21
-20
6
-38
1
-14
16
-3
29
26
1
-16
40
50
12
26
-90
-23
-5
1
-13
27
8
0
14
11
-23
46
-31
14
-21
-11
-37
41
-22
-69
7
-62
-5
-31
-15
26
-7
-6
-47
-85
-2
-45
23
47
-13
7
-8
8
4
-10
-14
1
-9
3
-8
4
0
5
1
-8
-4
0
3
-33
-14
4
-1
-2
29
-1
-1
0
0
-2
0
0
0
-1
1
0
0
0
8
40
-19
3
-7
-14
30
-1
-3
-3
-5
-8
43
1
-2
7
-1
6
0
-4
10
42
0
0
-18
14
-10
-3
-2
0
0
-8
-2
0
0
0
4
0
0
0
0
33
-33
3
-41
-83
-54
-63
-8
3
-35
-67
10
-14
-9
1
21
-5
-30
-14
-45
20
-2
5
-14
2
4
-9
4
-14
-72
-17
-1
6
-11
-6
-38
-30
3
-39
-5
17
16
-45
-50
-4
-3
4
-114
-92
-35
7
-13
10
-12
15
-12
1
-40
-3
-29
-24
-82
12
-34
-39
-59
-38
13
-96
23
-38
-14
-54
-48
-6
1
-12
-69
-21
-4
-25
8
-1
0
5
-11
0
2
0
8
-31
8
-1
-1
0
-5
7
-2
0
-1
45
-29
3
0
1
-23
0
4
-1
4
-18
5
-2
0
0
3
0
-1
0
-7
-48
3
-1
1
-2
-8
22
-8
1
-17
-33
48
3
1
0
13
-3
3
-1
17
83
2
10
1
6
4
-2
-6
0
1
1
-3
-1
0
0
-1
0
0
0
-16
87
-2
-25
8
-110
52
-69
-9
33
-108
8
0
-65
5
-10
-23
-16
-2
7
-63
55
3
2
-44
10
34
-14
6
-6
-61
-7
5
-39
-31
8
31
-25
9
-54
-9
26
4
7
12
-13
-46
-32
-16
-6
-25
-60
58
56
31
13
-38
56
-38
-5
30
51
8
-22
-27
8
81
54
24
-93
8
18
15
-15
17
-1
-66
42
-24
0
0
4
8
0
0
0
-24
10
0
0
1
3
-3
-1
0
-10
42
9
2
0
1
-19
5
-5
0
-2
3
-3
0
0
0
2
0
0
0
0
0
0
0
0
1
5
0
1
0
9
27
0
0
0
-3
14
0
0
0
-6
7
0
0
1
-1
-1
-6
0
1
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
53
-23
23
-7
18
-18
-26
-2
-21
-26
-45
5
44
-46
-81
-23
-77
-11
25
27
-15
-80
15
21
-119
-1
-24
18
-16
-34
-26
-13
0
24
-41
-22
-3
-30
36
11
25
14
-4
-30
-45
-12
11
4
-7
-32
-50
11
-20
6
-7
18
43
-27
20
30
30
-5
3
22
-17
44
9
-23
-14
-27
-39
-10
-17
20
-8
5
-17
-32
32
-20
15
24
32
-38
-1
16
-4
-49
6
-1
6
-57
-16
-12
-1
1
5
0
0
0
19
35
8
-10
6
4
16
-2
2
0
4
8
-33
-10
0
-3
6
1
0
0
39
-2
44
5
0
-9
30
-14
48
0
31
-13
-6
7
-6
8
2
-5
0
0
-6
-6
-26
-41
-1
-12
11
-5
0
0
13
-26
-1
13
0
-1
13
-1
0
0
50
-1
-25
-36
-6
63
-25
-51
44
8
9
3
43
-22
-28
5
52
3
-13
-8
-9
-94
18
-3
-63
-18
-96
13
69
-3
-4
-93
14
-51
-64
-36
-68
14
49
-13
-24
10
18
-9
-16
-15
-19
-17
-27
-19
-45
4
-40
1
7
-19
17
-37
-50
-4
10
-15
-1
-42
3
-51
16
-64
-12
5
-68
4
-36
3
-22
6
-13
-70
19
3
-8
4
3
-17
0
-6
-18
-2
1
0
25
28
7
0
-1
-1
19
0
0
0
0
-8
0
6
0
-1
6
0
-1
0
3
48
-2
0
-2
10
0
0
0
0
17
4
33
28
-1
3
12
-2
-17
0
-16
-22
8
8
0
15
5
-2
-3
0
3
6
5
28
0
-6
71
0
-2
0
0
0
0
1
0
-3
4
-2
6
0
-31
-26
23
-5
-6
-21
-73
5
16
10
2
-23
9
2
-41
-11
55
8
-32
3
-29
-12
7
-12
-94
-17
-12
9
108
-6
-67
11
9
-24
55
-36
-45
1
-33
33
-30
14
12
-42
-15
-65
-31
-41
-6
7
-81
-5
-18
-32
29
-3
18
0
14
-39
-58
-4
23
5
10
-38
9
-43
0
31
18
-4
-36
-19
-15
-15
53
-101
-33
27
14
5
-8
1
0
0
10
3
-5
0
12
-22
30
-5
8
-1
24
-9
0
0
9
15
-9
2
1
1
6
7
0
0
-8
-20
0
1
0
4
-7
-1
0
0
-3
-16
-25
14
2
0
-48
-1
2
0
-5
48
-7
-21
-1
-1
8
-9
18
6
-2
-14
-5
-30
0
0
5
2
-3
0
0
48
0
-3
0
-2
1
0
-1
0
-46
39
-23
42
3
-71
6
11
-27
8
12
-7
11
3
3
-15
20
-2
8
8
-2
-27
-16
26
16
-96
0
25
-82
67
-50
30
-29
2
-4
-23
49
29
47
2
-9
38
-16
21
-35
-3
7
-68
4
13
17
-33
2
-1
-26
10
-50
13
6
27
-42
-4
11
25
-4
-11
14
-61
25
44
1
-40
-27
-44
-75
0
4
28
18
-62
0
6
3
-6
0
-1
35
-2
0
0
0
13
1
3
-2
0
-17
0
0
0
4
44
3
-2
0
5
12
4
1
0
0
-22
2
0
0
0
0
0
0
0
3
-13
12
7
0
1
-70
-2
-3
0
10
-9
-19
-25
0
9
-14
-6
14
0
-1
-10
12
3
-1
3
7
-1
1
0
0
-1
-5
6
0
0
7
0
0
0
-22
-12
16
5
-15
-33
-21
-10
-32
-4
22
-18
16
-69
-6
27
-36
4
-15
-5
15
-157
10
-6
-86
-42
6
9
-15
-61
-17
-111
4
9
-37
27
-76
-17
41
-5
9
5
21
-16
-20
5
1
-2
1
3
-25
5
1
-6
-33
-32
-18
-49
-8
-31
-18
-52
-14
22
-49
-88
30
-16
15
-23
-35
-12
9
15
-12
-28
6
-45
52
-40
0
-28
-2
59
-4
-1
22
7
10
0
-3
-33
2
-5
0
0
-2
0
2
0
1
38
17
-2
0
0
19
-14
2
0
0
-25
-6
0
2
0
12
0
0
0
1
-12
19
-22
4
8
40
-15
1
1
2
63
-16
-2
0
8
24
-8
0
0
35
-26
58
5
4
0
-40
19
-2
0
0
-56
-12
1
0
0
0
2
0
0
39
-26
-17
-57
41
-51
-13
-8
-98
10
-42
-70
-30
10
-7
21
-15
-44
-8
0
-44
-55
-8
-13
-20
30
-16
-1
-54
28
32
-75
26
-35
15
8
-32
-9
-23
6
10
0
13
-1
-5
-1
-29
-10
15
-43
4
8
-19
-7
14
-8
-80
-17
-48
74
29
-39
3
3
6
-54
-30
-6
-5
13
5
-59
27
27
-72
0
-117
29
47
-10
0
-6
-3
7
0
0
10
-4
2
0
2
74
2
-2
0
2
30
0
0
0
0
-8
-7
4
0
0
-17
-1
0
0
0
-7
0
1
0
-3
1
-1
-1
0
0
2
9
1
-4
-2
-1
-19
-1
0
-1
-1
2
1
0
1
2
2
0
0
0
-5
0
18
0
-1
9
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-11
-30
14
-27
-44
-31
-100
17
9
-25
0
-36
38
-73
-26
2
3
-44
25
18
-41
-119
5
-52
-1
-74
-47
-2
-97
4
18
-90
-30
47
4
10
3
29
-40
21
-15
-3
22
21
-48
17
-1
-9
17
-47
-7
-1
-40
-31
-1
5
17
-33
-47
29
-4
14
-1
-2
5
97
-15
-35
6
-9
-31
-92
2
31
41
-8
-101
8
-51
-19
-4
34
27
25
0
0
10
-19
0
0
-10
-45
24
-8
0
0
9
-2
2
0
0
19
8
4
0
-1
3
0
-1
0
0
-5
1
-3
1
0
0
1
0
0
3
2
3
-8
-6
2
-10
-4
-2
0
-2
18
33
-5
5
3
-2
3
0
0
0
-30
13
-15
0
0
-5
-1
8
0
3
-4
-4
4
0
0
0
0
0
0
-6
73
15
-46
0
9
55
-10
42
-2
54
0
-49
40
0
-18
51
-49
6
0
0
-32
16
-91
57
-116
-14
17
-60
27
48
-91
-9
-32
1
1
-20
17
-5
-1
4
7
-10
34
-46
-9
-17
21
22
-102
-22
-29
38
-19
-32
-10
19
29
-13
-15
-24
-64
-19
9
-43
-17
47
-49
51
-43
-8
4
-45
0
-18
7
-2
51
-9
-22
-1
0
0
0
0
0
8
0
1
0
0
-8
7
0
0
1
19
0
0
0
0
-30
2
0
0
0
10
-1
0
0
0
1
-1
0
0
0
-3
0
0
0
3
1
-2
-1
4
-1
9
4
-1
0
-1
5
0
-1
0
1
3
1
0
0
0
4
-1
4
0
0
0
19
-1
0
0
0
-2
-2
0
0
0
1
0
0
30
10
-45
14
-13
22
-34
16
-8
0
35
-36
3
43
-3
22
3
-38
0
0
-11
-15
-29
-41
8
0
5
-2
-7
0
-1
-6
4
-4
0
-1
6
-6
-10
0
-26
-16
20
5
3
-3
-10
15
8
12
11
58
-34
4
-1
-2
-23
51
-8
0
-6
16
-40
21
9
1
13
41
-1
1
94
-28
-20
-4
2
-42
29
-3
0
0
-15
50
41
21
1
-5
-7
94
-20
1
21
-33
31
5
-3
10
0
-7
19
0
-20
27
25
68
-13
7
16
53
-3
8
-16
-6
2
1
1
2
-16
5
3
0
-5
18
30
61
-5
10
-27
-5
-23
-2
-1
-8
34
42
15
20
31
7
-17
5
-4
40
-12
21
-15
-25
15
-10
22
6
-12
-27
73
14
8
7
2
-9
3
0
31
14
13
-14
0
-8
-1
-12
4
1
4
-9
-2
3
3
-3
23
-6
-7
0
9
44
-10
-5
0
-13
-17
2
-2
0
-3
12
0
2
0
-1
-2
0
-1
0
-4
6
-23
-8
0
20
-43
31
2
-1
3
-29
11
2
-3
32
2
-46
2
0
-19
17
45
-14
3
-14
2
-42
0
0
7
13
8
3
0
5
0
0
0
0
8
76
-4
2
-4
-2
46
-22
-24
0
5
-42
17
-1
-1
27
-8
-13
-3
0
0
44
8
13
1
2
-13
-4
8
0
0
37
-5
-8
2
0
-14
8
0
0
-8
2
1
6
28
13
18
41
-4
19
30
28
-34
6
-12
-6
0
27
-6
-7
-13
-1
16
74
-13
-13
14
-9
29
-2
-8
41
17
-20
22
-8
5
1
-4
0
16
37
5
0
-1
24
9
3
3
0
3
-6
-7
1
-1
17
-9
-9
-3
0
-15
-22
-6
5
-2
0
-5
5
0
0
3
-21
-8
12
0
0
2
0
0
0
-31
-15
22
40
-8
-18
41
-1
-2
0
11
34
-2
5
0
11
5
-13
3
-2
65
-43
-5
-12
-8
31
-6
4
1
0
16
-4
8
-1
3
-3
0
0
0
0
3
11
18
-48
1
0
-32
18
8
-13
27
-10
41
0
2
-7
-25
3
5
-1
-8
33
-64
-3
8
2
-33
-20
4
0
-1
-28
14
0
1
0
-3
0
-5
0
-14
-4
57
20
-5
7
-22
19
-14
-12
35
-63
-42
30
-3
8
8
-20
-29
7
3
62
-18
26
22
-25
-26
1
42
8
8
-2
6
-6
3
0
5
-4
0
1
-2
-8
15
-1
0
-4
-9
-2
-1
0
6
-5
4
0
0
-10
-7
-6
-3
0
0
12
-3
3
0
10
-20
-3
-1
0
0
-13
2
0
0
-2
17
-1
0
0
-13
24
22
-1
0
-7
2
16
0
0
2
29
-25
4
-1
-9
-15
-3
3
0
13
8
0
1
0
9
0
-10
-4
0
0
-1
-2
4
0
2
0
0
-1
0
0
38
-17
8
0
-3
16
4
0
1
5
-1
-5
12
0
-20
3
33
3
0
-1
12
-8
17
0
-7
-7
29
10
0
-1
0
-6
0
0
1
22
-1
0
0
-24
41
24
-1
24
2
-27
41
-1
-4
-8
51
16
-5
12
-13
30
-8
-5
25
15
-31
8
18
-17
0
-9
-1
-3
8
0
13
4
-13
-2
-1
10
-14
-4
-2
-29
-25
62
-3
5
-31
8
8
-1
0
30
23
-13
-8
2
19
7
7
-8
0
-24
-21
32
-12
0
3
-7
0
4
0
-2
1
-40
1
0
1
-4
-5
0
0
21
-3
54
-36
1
63
4
16
-8
0
-12
-45
-5
10
3
-7
5
-20
0
0
13
-47
56
-10
3
-10
2
-4
1
0
-3
13
-4
8
-3
0
2
1
1
0
93
2
-92
5
-10
0
-7
58
5
-3
-8
-6
0
16
-8
6
20
-22
-2
0
-17
-9
35
-24
12
4
37
-8
-13
5
-6
20
12
4
-3
2
-8
1
0
0
28
65
-49
-27
47
5
19
6
-6
-3
4
60
-6
2
-4
-32
-9
49
10
5
-36
-47
8
-9
13
66
-13
-29
-10
0
4
46
-21
-7
13
-8
0
41
2
0
0
7
43
-23
0
-3
-17
-2
-6
-1
-8
0
5
-1
-1
0
-4
-16
-2
0
-1
2
9
0
0
-6
27
1
-10
0
2
-9
1
0
0
0
-13
0
0
0
-7
-15
29
-2
-1
-9
32
-14
0
0
-3
-6
-17
0
2
-4
1
-9
0
0
6
7
5
-1
-1
1
-3
17
1
0
-8
-1
4
0
0
0
2
0
0
0
-25
39
8
8
-1
2
-13
-24
19
0
-1
-38
15
-7
-1
-1
24
-5
3
0
-5
14
-4
5
1
0
15
-2
3
-1
0
7
3
0
0
-3
6
0
0
0
18
29
42
10
-30
8
25
-32
13
22
40
23
-32
-8
12
-41
36
-16
27
-17
0
20
8
-4
-6
2
-15
-6
-8
-13
-2
-4
-20
8
0
0
-4
0
0
0
-9
24
5
3
-1
4
9
0
7
0
-23
16
2
3
1
0
-8
2
4
0
0
44
15
-4
0
1
-14
3
0
0
32
-10
-3
0
0
0
-1
0
0
0
-24
23
-5
4
3
1
12
-22
0
0
6
5
0
-1
3
-8
2
-1
0
0
23
9
-5
-3
0
-1
0
-10
-3
0
-2
5
8
0
2
1
1
-1
0
0
6
64
13
-38
-3
-1
13
3
1
0
17
-7
8
-1
17
-1
-4
1
1
-3
-8
-5
-15
8
0
-2
-14
13
0
0
-5
29
-5
6
0
0
3
0
0
0
-5
-6
-33
38
8
43
29
-19
4
-23
20
-3
40
-7
-7
13
40
-3
3
2
-24
22
-8
-3
10
9
41
13
0
-8
4
3
-32
1
3
0
-1
-13
0
0
0
22
0
0
0
0
5
1
0
0
1
-8
3
0
0
0
-1
-4
0
0
-1
0
2
0
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
0
3
0
0
14
1
21
1
0
13
-1
29
0
0
8
-1
-5
-2
0
6
0
0
0
0
-2
6
19
0
0
0
1
0
0
0
0
0
1
2
0
0
30
-10
-8
0
0
-10
0
0
0
0
-5
-5
1
0
0
-5
0
0
0
5
3
16
1
0
0
-9
-1
0
0
0
-1
-1
0
0
0
14
0
0
0
1
2
-2
9
0
-4
-18
12
2
5
7
-8
13
-8
18
0
0
-1
-8
-3
-1
-8
13
1
-1
13
-9
0
-1
-1
0
0
10
0
0
0
-2
0
0
1
-27
44
-36
1
-3
6
-43
7
2
0
-5
-22
23
5
-1
0
-3
0
4
0
-6
-30
-9
2
-1
1
-42
15
0
0
3
23
1
-3
0
0
0
-1
1
0
-23
41
41
-24
8
10
-1
3
43
-4
29
-9
-19
59
2
0
0
41
6
0
-16
-33
21
0
9
-6
6
17
-8
0
-8
-43
6
6
-1
1
2
-6
-4
0
-32
13
-66
0
23
7
-33
110
-31
-8
-22
37
29
-32
3
0
-6
-19
36
0
-33
21
33
45
-6
1
49
4
32
0
5
20
-26
12
-5
0
6
3
1
0
-58
2
35
28
41
-31
-11
42
44
-12
-5
7
27
13
6
30
25
-41
-1
19
-6
45
17
22
3
16
59
45
-9
-18
-28
54
-30
58
6
-1
-1
8
24
0
0
5
-1
1
0
-23
32
8
1
0
0
-13
3
-1
0
0
40
3
0
0
1
21
-2
2
1
0
-13
-9
6
0
0
-5
2
0
0
0
-4
0
0
0
-1
-7
-24
-23
0
0
4
-21
0
-3
0
10
24
-4
4
4
-2
43
-3
-3
6
0
-43
-5
3
2
2
20
0
1
0
19
0
15
0
-1
-3
6
5
0
-3
53
22
43
-7
2
113
-42
7
0
-7
-43
7
7
0
-1
-25
8
-1
1
0
39
23
-3
0
0
-50
-7
7
0
0
-34
-8
-3
1
-2
-10
16
-3
0
-8
-29
1
23
2
3
43
-11
19
12
7
6
-34
61
-5
5
-3
9
9
3
1
-48
43
-16
12
-7
-17
54
22
0
-2
5
15
-8
-8
-1
-5
-2
13
1
-3
-33
-15
30
-6
0
-2
-3
-1
0
-2
4
-31
5
0
3
-2
-6
0
0
-13
-7
0
0
-1
0
-55
-2
0
0
-1
46
-4
3
0
1
0
0
0
0
-2
67
-10
-21
-4
10
-16
1
1
-2
-45
-7
3
0
1
57
3
-19
-5
0
12
-22
-1
10
0
3
9
-14
-3
0
8
3
7
-1
-1
0
-3
0
5
0
0
29
32
-15
3
-3
18
2
9
0
13
21
-41
2
0
0
68
-4
-5
0
4
-10
-8
11
-5
-1
71
-5
-17
0
-4
-13
-13
49
0
0
14
1
0
0
29
-42
24
-2
-2
1
74
11
27
7
19
29
-27
34
-6
-6
3
61
-29
-4
2
69
17
34
3
-12
8
-15
29
8
-9
40
-2
-25
-8
-1
-14
-19
9
0
0
-6
-1
2
0
0
-4
2
0
0
0
1
0
0
0
2
1
3
0
0
0
0
-2
2
0
0
-15
0
4
0
0
-2
2
0
0
0
7
0
0
0
-1
12
-1
-1
0
0
-8
-10
-1
-1
1
0
-1
-2
0
0
5
3
0
0
-1
1
-18
4
0
0
-3
42
2
0
-1
1
5
0
1
0
3
0
0
0
1
-12
5
6
0
-1
-7
-4
-1
0
2
36
-12
-4
0
0
-9
-1
4
0
0
25
-3
24
0
0
13
-7
-5
0
0
3
5
1
1
0
-2
0
0
0
-4
78
-42
-5
4
3
-31
-8
-29
-1
-2
22
19
-12
-3
0
15
-8
-19
-3
-1
4
38
4
2
-2
-9
-8
13
1
0
-8
-10
30
0
6
-2
-3
-4
0
42
-13
-49
10
0
-15
-8
9
-1
0
-1
-1
-20
2
0
0
0
-5
1
0
-1
-49
7
3
1
4
-7
-3
2
0
-2
5
4
-4
0
0
-2
0
0
0
13
8
-35
40
0
0
-24
48
3
5
-1
16
13
8
0
-4
-1
-21
2
0
8
23
8
-13
1
-9
-2
1
1
0
-8
4
0
0
0
0
1
3
-1
0
12
14
37
-30
15
-2
-13
62
26
-1
-1
8
-2
-8
-14
2
65
54
6
0
16
-7
38
-38
-4
0
31
13
15
12
-1
29
-10
-30
-8
0
-1
4
0
0
-13
8
47
23
-42
7
-7
12
-12
6
13
25
-29
-1
20
7
5
21
-8
-1
-18
-31
14
30
-14
8
-13
73
12
3
9
-58
83
1
-27
1
-4
-20
5
-4
-1
13
-28
-3
0
-1
-30
-6
0
0
0
0
0
0
0
0
4
0
2
0
0
-14
8
0
3
0
0
-1
3
0
0
1
3
0
0
0
0
1
0
0
-7
-12
16
2
3
1
17
0
-5
0
0
-8
7
1
0
-32
1
35
-4
0
6
-1
13
1
-1
0
-5
-13
0
0
0
18
6
-1
0
0
0
3
0
0
0
47
-27
13
0
0
5
-15
-14
1
0
51
25
-22
-1
0
-2
6
0
0
0
-22
-2
13
0
0
-5
-4
-17
1
0
-5
8
-2
0
0
-1
-20
2
0
3
30
0
22
7
1
20
46
15
3
0
12
19
15
-7
15
6
-4
-3
-2
-3
1
-13
9
-8
0
-19
-22
7
-1
0
8
22
-10
2
0
-3
-14
42
1
0
-42
4
-2
0
3
4
0
0
0
-1
8
-5
0
0
1
2
-7
0
0
1
3
0
0
0
0
0
2
0
0
-3
19
-1
1
0
0
0
-1
0
0
-17
5
-22
5
0
2
3
28
-1
0
4
25
50
-19
0
0
-6
8
0
0
-3
1
-41
13
0
-2
1
7
0
0
-2
-10
-2
-6
0
0
0
5
0
0
7
-45
47
28
-1
0
-31
-9
13
0
-8
17
20
-28
0
1
16
7
0
0
0
-36
-17
-7
8
0
31
24
13
-2
0
6
6
3
1
0
-1
-3
3
0
-12
8
-27
49
4
0
-16
-13
28
-2
-22
30
-26
51
2
-5
8
13
8
0
-22
7
19
30
1
0
16
40
8
3
1
5
-23
26
2
0
0
6
-7
0
0
5
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
-2
0
0
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
4
-1
-7
4
0
-3
0
29
0
0
1
1
8
0
0
10
4
2
2
0
-2
0
12
0
0
0
0
-6
0
0
0
0
7
0
0
0
-2
0
0
0
0
-25
-6
5
0
0
-8
0
0
0
1
10
-3
-1
-3
0
5
0
0
0
0
15
-19
-2
0
0
6
-6
2
0
0
-1
-1
0
0
0
1
2
0
0
0
-14
20
-4
-15
-3
7
-1
0
1
0
-7
5
-2
-2
-1
-4
-8
3
2
0
-5
3
-1
2
0
2
-8
-7
0
0
4
-9
-2
1
0
1
2
-5
-1
0
42
16
15
4
0
0
-19
-4
11
0
0
-41
-19
-39
0
0
-21
-18
34
0
0
12
3
-38
0
0
17
-20
-70
0
0
20
-53
3
0
0
0
-45
24
0
0
-22
3
-72
0
0
-15
-38
38
0
0
-25
0
82
0
0
-35
-28
-66
0
0
74
4
-10
0
0
119
-45
-42
0
0
25
-75
-8
0
0
18
23
-59
0
0
4
50
17
0
0
16
-75
-2
0
0
19
-23
-72
0
0
-7
19
-6
0
0
18
20
-20
0
0
-18
-23
10
0
0
15
23
-21
0
0
15
-28
-7
0
0
-2
43
18
0
0
40
-10
-7
0
0
-68
64
35
0
0
15
-31
0
0
0
-22
45
-51
0
0
7
24
-3
0
0
-14
23
-22
0
0
-9
-54
0
0
-13
-16
10
46
0
0
-1
15
-22
0
0
-12
20
33
0
0
-94
1
-21
0
0
-15
24
13
0
0
18
10
-53
0
0
-26
41
20
0
0
-13
19
24
0
0
-47
3
34
0
0
74
-7
87
0
0
24
-61
-34
0
0
114
-10
-31
0
0
32
-72
-65
0
0
37
44
-2
0
0
25
-133
21
0
0
31
-33
-85
0
0
9
34
20
0
0
31
22
22
0
0
-7
-29
4
0
0
56
-8
-2
0
0
-38
-31
16
0
0
-6
30
5
0
0
63
-2
-2
0
0
-15
-5
0
0
0
-7
-105
14
0
0
-5
25
-12
0
0
-55
-3
1
0
0
-10
-40
-1
0
0
39
-8
29
0
0
3
-8
-6
0
0
-41
-13
0
0
0
-11
-13
2
0
5
19
-3
-1
0
0
56
20
-46
0
0
10
75
12
0
0
16
-47
12
0
0
11
-34
25
0
0
27
36
8
0
0
2
42
24
0
0
30
-53
56
0
0
-13
34
45
0
0
-39
19
16
0
0
-21
-26
-2
0
0
-29
-34
5
0
0
32
70
-11
0
0
-36
-44
19
0
0
-21
33
35
0
0
0
14
-30
0
0
23
-59
-15
0
0
80
-24
-58
0
0
16
20
13
0
0
25
35
-3
0
0
-39
-19
-4
0
0
-67
-20
42
0
0
-23
-8
-31
0
0
14
49
0
0
0
-13
-42
0
0
0
3
-8
0
0
0
18
28
-42
0
0
4
9
0
0
0
-32
-43
-2
0
0
-5
25
-2
0
0
-11
13
0
0
0
20
-2
0
0
37
21
-15
3
0
0
-34
97
-47
0
0
23
40
13
0
0
34
98
78
0
0
34
-30
-7
0
0
10
-45
-12
0
0
4
33
35
0
0
3
73
38
0
0
88
-39
29
0
0
-26
-8
18
0
0
-89
42
8
0
0
-16
-1
-41
0
0
-9
24
-43
0
0
-48
45
54
0
0
39
-7
9
0
0
10
25
-3
0
0
-12
20
-13
0
0
1
14
13
0
0
61
21
-4
0
0
50
-22
6
0
0
-13
13
-4
0
0
42
24
0
0
0
-7
7
0
0
0
23
-34
0
0
0
-137
27
-15
0
0
-8
18
0
0
0
-13
-6
7
0
0
70
-14
0
0
0
-1
0
-1
0
0
6
2
0
0
0
43
29
1
0
0
14
-9
0
0
-3
-3
-23
-54
0
0
43
11
-62
0
0
19
14
-4
0
0
2
26
6
0
0
18
8
-36
0
0
-4
21
17
0
0
19
39
18
0
0
3
15
-8
0
0
22
-43
38
0
0
-69
-1
0
0
0
18
54
7
0
0
22
46
-93
0
0
-9
-19
0
0
0
36
-55
-11
0
0
-34
54
26
0
0
-5
-15
10
0
0
-41
-24
20
0
0
-23
-19
-10
0
0
12
36
9
0
0
-18
31
2
0
0
21
-14
17
0
0
1
-71
-13
0
0
-12
-27
5
0
0
0
48
0
0
0
-20
-10
22
0
0
-24
13
7
0
0
-13
-8
-4
0
0
0
-1
-5
0
0
-52
-16
25
0
0
6
-21
-1
0
0
45
-36
4
0
0
-1
2
1
0
-4
10
-12
-96
0
0
-11
-48
-31
0
0
19
6
-8
0
0
15
-23
62
0
0
14
23
23
0
0
-7
46
-24
0
0
-1
44
31
0
0
56
-2
17
0
0
-19
-9
32
0
0
-17
78
-32
0
0
-12
-2
14
0
0
36
14
-82
0
0
-21
-64
46
0
0
7
53
-17
0
0
-68
-40
-21
0
0
36
-77
-32
0
0
97
-1
8
0
0
-35
-4
-4
0
0
-29
-5
-3
0
0
7
-56
1
0
0
-3
-1
5
0
0
13
22
0
0
0
-30
-22
3
0
0
0
-73
0
0
0
-13
5
8
0
0
-1
-8
0
0
0
12
-7
0
0
0
-21
2
0
0
0
-12
15
0
0
0
-9
9
2
0
0
13
1
0
0
0
-14
-4
-2
0
1
32
-18
-43
0
0
-33
47
1
0
0
5
46
3
0
0
14
21
85
0
0
29
58
20
0
0
0
-67
-2
0
0
-16
17
-7
0
0
34
25
-15
0
0
3
23
-37
0
0
69
0
18
0
0
-23
-40
35
0
0
-30
-6
-33
0
0
-48
24
18
0
0
58
8
-38
0
0
-89
13
-15
0
0
-41
13
-80
0
0
47
-23
-2
0
0
-1
-4
18
0
0
-4
5
-17
0
0
48
-45
0
0
0
3
4
13
0
0
-5
8
5
0
0
-14
-40
4
0
0
-13
-21
5
0
0
38
25
-7
0
0
-5
-2
-1
0
0
17
-13
1
0
0
-4
4
0
0
0
2
-13
30
0
0
1
8
0
0
0
2
26
-5
0
0
-2
12
0
0
13
108
-14
-11
0
0
14
58
30
0
0
-8
-7
14
0
0
10
48
62
0
0
-1
21
-88
0
0
27
6
-22
0
0
10
47
-7
0
0
-29
56
3
0
0
37
-6
-42
0
0
-17
7
47
0
0
29
-20
13
0
0
-38
13
-5
0
0
46
44
32
0
0
71
-23
-23
0
0
5
-25
-55
0
0
28
-55
-2
0
0
-22
-62
7
0
0
-16
13
0
0
0
9
2
-1
0
0
-62
14
1
0
0
53
-8
0
0
0
-22
5
0
0
0
-62
-10
0
0
0
19
19
0
0
0
-57
-2
2
0
0
5
0
-1
0
0
13
-12
5
0
0
32
-6
0
0
0
0
4
2
0
0
7
5
-2
0
0
0
14
0
0
0
1
29
1
0
-21
65
46
-11
0
0
-18
42
-10
0
0
34
9
-54
0
0
-51
-42
-35
0
0
-55
25
12
0
0
49
8
29
0
0
-36
35
-46
0
0
-14
39
-98
0
0
-4
-5
47
0
0
12
-32
15
0
0
36
-45
-7
0
0
1
6
-24
0
0
70
-12
27
0
0
115
-42
-61
0
0
108
-30
-39
0
0
-72
-7
32
0
0
15
-17
29
0
0
-28
15
48
0
0
19
27
-25
0
0
31
-31
3
0
0
-105
-1
31
0
0
-24
43
12
0
0
-30
-19
1
0
0
-13
24
-9
0
0
47
46
-24
0
0
14
2
-20
0
0
48
-29
27
0
0
27
-19
5
0
0
17
40
-12
0
0
11
-2
4
0
0
37
-48
5
0
0
-5
-15
-1
0
-37
-18
-1
-23
0
0
33
-25
-6
0
0
3
15
36
0
0
-25
17
58
0
0
-55
49
66
0
0
-30
-13
48
0
0
-4
6
-15
0
0
-12
-31
-102
0
0
104
-21
29
0
0
33
-19
4
0
0
-10
-20
21
0
0
47
-20
-37
0
0
29
-34
2
0
0
43
-34
-51
0
0
17
-51
-7
0
0
15
-17
19
0
0
-38
76
5
0
0
1
-30
2
0
0
-10
-10
-13
0
0
-9
-21
-1
0
0
4
-89
6
0
0
0
-9
-2
0
0
-25
26
0
0
0
49
-15
-1
0
0
66
-43
15
0
0
13
3
29
0
0
-14
13
-20
0
0
48
18
7
0
0
-4
33
-5
0
0
-47
20
-5
0
0
-6
2
2
0
0
44
-19
-7
0
-6
6
-27
-31
0
0
-29
-41
3
0
0
50
-11
-30
0
0
53
18
41
0
0
-33
16
64
0
0
-7
-2
15
0
0
4
50
44
0
0
-3
43
16
0
0
-36
-24
21
0
0
46
63
-18
0
0
1
-20
-58
0
0
24
26
0
0
0
16
12
7
0
0
-23
36
17
0
0
10
50
30
0
0
50
-13
-36
0
0
-22
52
-8
0
0
-4
26
-32
0
0
-10
-6
12
0
0
24
50
-8
0
0
-62
-43
14
0
0
74
9
9
0
0
-10
3
-2
0
0
29
-32
0
0
0
-2
5
33
0
0
17
3
7
0
0
17
14
4
0
0
23
-8
4
0
0
4
18
26
0
0
8
-23
2
0
0
-13
-3
-32
0
0
30
24
0
0
16
70
-132
10
0
0
28
-69
77
0
0
54
14
-54
0
0
78
-62
25
0
0
-3
11
-73
0
0
13
10
6
0
0
53
-25
-12
0
0
54
-35
11
0
0
27
16
-92
0
0
-22
-28
-2
0
0
-32
43
-19
0
0
36
35
-20
0
0
-16
59
21
0
0
6
-26
-19
0
0
39
4
35
0
0
-55
-52
32
0
0
13
-30
5
0
0
37
5
-2
0
0
25
5
1
0
0
6
16
-1
0
0
43
-1
-6
0
0
-22
59
0
0
0
15
10
-1
0
0
-63
59
-2
0
0
23
5
-16
0
0
-14
0
-10
0
0
-8
0
13
0
0
-20
8
-3
0
0
-35
21
-4
0
0
42
30
5
0
0
27
-25
0
0
0
-12
51
0
0
-17
-24
20
11
0
0
-46
-65
11
0
0
-13
-23
32
0
0
36
67
-26
0
0
-52
-49
18
0
0
-55
44
25
0
0
13
57
3
0
0
-37
4
36
0
0
35
52
-7
0
0
77
-23
48
0
0
-28
-42
13
0
0
-61
17
34
0
0
27
-56
6
0
0
-5
-20
-60
0
0
47
-7
19
0
0
-30
-36
-54
0
0
73
-37
-18
0
0
-4
-25
7
0
0
87
11
40
0
0
-4
-13
-3
0
0
86
27
-4
0
0
-14
-2
5
0
0
54
-31
29
0
0
-10
34
0
0
0
33
18
62
0
0
-6
-17
4
0
0
-3
-3
26
0
0
16
0
4
0
0
20
-74
-2
0
0
-23
-16
-14
0
0
5
-7
13
0
0
-1
41
-25
0
0
8
-50
54
0
0
-40
-8
30
0
0
-64
-8
-44
0
0
59
43
6
0
0
-27
-8
-1
0
0
-46
18
5
0
0
-40
16
6
0
0
-31
35
-11
0
0
-3
29
26
0
0
-5
19
-10
0
0
36
-51
-16
0
0
23
-6
-3
0
0
-26
-43
-14
0
0
-24
9
8
0
0
-59
-62
2
0
0
-67
23
3
0
0
-41
22
-29
0
0
-4
25
10
0
0
-5
-5
2
0
0
8
-14
0
0
0
10
17
0
0
0
17
-18
0
0
0
32
-7
0
0
0
24
2
0
0
0
4
12
8
0
0
5
-16
16
0
0
13
6
-28
0
0
-39
27
3
0
0
29
-5
21
0
0
-3
4
-1
0
0
-9
4
1
0
0
34
25
5
0
7
53
-45
-18
0
0
-34
-49
42
0
0
-64
-34
-21
0
0
96
-10
-71
0
0
-46
37
14
0
0
-20
23
-49
0
0
19
-28
-58
0
0
-5
-24
37
0
0
-7
30
19
0
0
7
2
10
0
0
-88
19
23
0
0
28
23
46
0
0
6
20
-4
0
0
29
35
-9
0
0
-79
-2
-2
0
0
-52
-11
-54
0
0
-21
33
-24
0
0
3
-18
3
0
0
-15
-6
-30
0
0
13
-6
0
0
0
25
1
-13
0
0
3
9
8
0
0
23
-12
2
0
0
-5
75
2
0
0
-8
17
0
0
0
0
8
-1
0
0
2
-5
5
0
0
17
31
1
0
0
18
4
-8
0
0
0
-9
-29
0
0
65
-7
-32
0
0
-55
12
0
0
25
-95
-70
-36
0
0
-28
-97
70
0
0
5
18
-1
0
0
84
15
-79
0
0
-29
32
27
0
0
18
-15
-14
0
0
-21
-53
-1
0
0
-19
46
-72
0
0
-6
-18
43
0
0
18
46
-33
0
0
50
-13
25
0
0
17
-32
-4
0
0
44
18
-9
0
0
-51
34
-36
0
0
-12
-3
-22
0
0
51
-21
33
0
0
3
0
0
0
0
23
1
-4
0
0
1
0
0
0
0
12
-5
-8
0
0
6
-4
0
0
0
47
-30
-2
0
0
44
2
3
0
0
82
20
0
0
0
2
0
0
0
0
6
0
0
0
0
-8
-1
-13
0
0
-46
-13
0
0
0
-18
3
0
0
0
-28
-18
0
0
0
-8
25
-1
0
0
-49
5
-1
0
-1
6
71
94
0
0
-23
-40
18
0
0
-10
-13
66
0
0
-66
28
-3
0
0
-42
-1
-17
0
0
-38
43
-38
0
0
-32
-49
23
0
0
13
56
-8
0
0
34
66
28
0
0
25
20
8
0
0
100
74
-76
0
0
88
-15
9
0
0
1
31
-8
0
0
43
-90
-5
0
0
52
-33
-4
0
0
0
0
0
0
0
-6
-33
35
0
0
53
-3
-19
0
0
4
5
48
0
0
-19
-15
12
0
0
58
50
72
0
0
37
-51
-12
0
0
-23
51
8
0
0
-5
-1
-1
0
0
34
-30
34
0
0
-2
71
26
0
0
10
98
-55
0
0
-8
9
28
0
0
-46
48
-58
0
0
-42
65
-98
0
0
-68
-59
-28
0
0
-23
24
-10
0
4
75
15
-11
0
0
-48
-5
12
0
0
-8
-6
-1
0
0
-19
42
-29
0
0
-22
-18
53
0
0
15
-32
21
0
0
-33
87
4
0
0
32
42
-5
0
0
87
-68
31
0
0
40
50
0
0
0
-19
3
-4
0
0
45
-1
-2
0
0
-11
-92
2
0
0
-8
29
-2
0
0
45
23
-2
0
0
0
-9
-2
0
0
53
100
39
0
0
8
65
49
0
0
21
63
-1
0
0
-15
2
-8
0
0
-65
80
-20
0
0
-19
11
9
0
0
45
-11
-3
0
0
18
-48
-4
0
0
-39
5
48
0
0
2
-4
-1
0
0
26
1
-2
0
0
-18
-17
-4
0
0
34
11
-43
0
0
1
-31
-21
0
0
10
-21
5
0
0
8
11
-2
0
12
-6
7
-27
0
0
-12
-8
-18
0
0
-28
33
-15
0
0
15
5
8
0
0
-27
19
-41
0
0
105
65
-19
0
0
-10
49
-3
0
0
-9
-2
13
0
0
-6
41
22
0
0
6
0
7
0
0
-43
81
22
0
0
22
-50
0
0
0
34
23
5
0
0
-11
23
5
0
0
32
11
-1
0
0
28
0
0
0
0
49
23
-44
0
0
2
67
-25
0
0
-14
32
44
0
0
5
27
-5
0
0
41
-28
-2
0
0
3
-10
-20
0
0
-46
-64
4
0
0
3
10
4
0
0
25
-11
-5
0
0
1
-18
16
0
0
34
23
11
0
0
-5
-40
0
0
0
-74
76
72
0
0
0
-23
-7
0
0
21
4
33
0
0
95
-49
-1
0
73
-17
-1
32
0
0
29
-22
18
0
0
29
51
30
0
0
-26
-31
-25
0
0
85
-26
-8
0
0
28
68
-42
0
0
-50
6
5
0
0
11
-13
-12
0
0
-8
-25
-14
0
0
-7
7
0
0
0
-33
45
0
0
0
55
0
4
0
0
9
9
0
0
0
-5
6
-2
0
0
2
-31
0
0
0
27
5
1
0
0
24
38
8
0
0
-16
23
8
0
0
-7
-4
10
0
0
76
-20
0
0
0
-16
-4
20
0
0
86
-3
-2
0
0
11
-7
3
0
0
49
-45
6
0
0
-19
44
-13
0
0
-23
6
-4
0
0
-3
34
-8
0
0
34
-30
-2
0
0
-37
-17
6
0
0
-14
46
-3
0
0
-30
-5
3
0
0
36
29
4
0
-45
20
-53
48
0
0
40
-11
-4
0
0
59
57
-59
0
0
-14
46
15
0
0
53
-30
30
0
0
8
-27
-1
0
0
2
2
6
0
0
0
38
0
0
0
-45
7
16
0
0
-8
20
4
0
0
-16
29
8
0
0
-12
16
2
0
0
11
12
-1
0
0
-5
38
0
0
0
45
-21
4
0
0
-18
0
-1
0
0
28
20
6
0
0
-3
48
-10
0
0
-59
3
-39
0
0
9
-13
-5
0
0
-45
4
41
0
0
-14
86
-28
0
0
-42
37
24
0
0
2
-22
0
0
0
1
42
-61
0
0
7
-26
1
0
0
44
30
64
0
0
-23
-33
8
0
0
-38
65
-37
0
0
-4
13
-34
0
0
-19
87
48
0
0
6
18
-9
0
-62
19
89
9
0
0
-22
-5
-13
0
0
-14
-18
14
0
0
15
-2
-19
0
0
-6
-6
0
0
0
6
-27
18
0
0
9
-22
0
0
0
10
-55
2
0
0
-13
31
-3
0
0
40
4
1
0
0
21
8
-3
0
0
-53
18
3
0
0
-9
-23
1
0
0
47
17
0
0
0
31
16
0
0
0
12
5
3
0
0
-26
-23
3
0
0
-1
-2
-17
0
0
-23
29
-6
0
0
-18
-21
-10
0
0
-18
20
-14
0
0
-11
7
-8
0
0
29
-22
1
0
0
16
18
2
0
0
-32
11
11
0
0
-1
29
0
0
0
-22
17
-1
0
0
46
-33
-8
0
0
-43
22
-14
0
0
-8
15
12
0
0
-13
6
-5
0
0
-44
44
0
0
23
-18
-7
3
0
0
-8
-15
-3
0
0
11
14
19
0
0
-12
10
-4
0
0
7
25
-16
0
0
6
-12
8
0
0
1
30
-19
0
0
-41
5
6
0
0
111
11
-25
0
0
-14
9
-2
0
0
24
31
-8
0
0
30
6
-1
0
0
2
45
18
0
0
6
-19
-8
0
0
-47
-50
3
0
0
-8
4
1
0
0
-31
6
20
0
0
1
-8
-12
0
0
21
-8
22
0
0
13
26
0
0
0
17
2
16
0
0
6
-5
6
0
0
6
-52
1
0
0
10
-23
-5
0
0
-54
41
-5
0
0
8
-9
13
0
0
-23
-20
20
0
0
28
-20
1
0
0
99
-3
-16
0
0
-4
-14
-8
0
0
-28
-21
-22
0
0
-15
83
7
0
11
31
-51
-6
0
0
44
-3
-2
0
0
-1
1
0
0
0
10
5
1
0
0
-27
0
3
0
0
8
-1
3
0
0
12
13
0
0
0
23
36
0
0
0
54
7
0
0
0
34
-14
0
0
0
7
5
3
0
0
39
4
0
0
0
38
-5
-1
0
0
19
15
-1
0
0
-5
22
0
0
0
26
66
0
0
0
-33
-2
1
0
0
0
2
-12
0
0
2
-2
-4
0
0
-25
12
0
0
0
0
-8
-1
0
0
1
5
0
0
0
-24
14
0
0
0
20
-1
-2
0
0
-25
2
40
0
0
-1
-16
0
0
0
25
2
-10
0
0
13
9
6
0
0
-21
-22
7
0
0
-4
0
41
0
0
-22
-13
0
0
0
-31
53
0
0
-4
-13
71
-38
0
0
-41
2
-2
0
0
-24
-34
-2
0
0
-2
-44
0
0
0
46
27
-8
0
0
-10
-14
30
0
0
24
31
1
0
0
-2
43
1
0
0
3
-8
-23
0
0
-37
23
0
0
0
57
20
17
0
0
-56
24
-1
0
0
12
88
28
0
0
21
46
-3
0
0
7
4
5
0
0
-58
18
1
0
0
-13
-40
45
0
0
-14
77
6
0
0
1
12
57
0
0
50
0
0
0
0
-6
-19
90
0
0
14
-22
-7
0
0
20
-34
-4
0
0
-13
-27
13
0
0
18
39
-7
0
0
17
-28
0
0
0
17
105
27
0
0
-6
-27
40
0
0
55
62
-27
0
0
46
-45
26
0
0
40
55
-7
0
0
-73
34
22
0
-36
56
7
33
0
0
-25
12
7
0
0
4
44
-1
0
0
-5
-43
2
0
0
-19
30
-5
0
0
4
20
-3
0
0
10
3
0
0
0
-8
-68
0
0
0
45
-18
-4
0
0
-2
11
0
0
0
-51
39
-12
0
0
6
11
0
0
0
11
-14
7
0
0
-25
36
0
0
0
13
50
0
0
0
7
38
1
0
0
64
-14
25
0
0
-40
-73
0
0
0
-43
-24
43
0
0
104
43
-15
0
0
-4
-4
8
0
0
30
21
-43
0
0
65
46
10
0
0
-6
176
0
0
0
43
-95
-39
0
0
-26
11
31
0
0
-70
-14
34
0
0
49
-18
25
0
0
-14
41
15
0
0
11
6
-16
0
0
-13
49
48
0
0
24
-6
9
0
11
-29
31
18
0
0
-64
30
-24
0
0
-19
43
9
0
0
45
-31
1
0
0
37
-32
-6
0
0
-6
0
-14
0
0
53
-30
-7
0
0
29
32
1
0
0
-21
-8
-18
0
0
9
25
-6
0
0
18
20
-32
0
0
12
114
-4
0
0
-12
-1
-4
0
0
-31
81
7
0
0
47
6
5
0
0
21
71
-6
0
0
-27
19
0
0
0
8
-23
17
0
0
10
19
-14
0
0
-48
60
14
0
0
-17
97
41
0
0
-7
-18
14
0
0
1
-7
1
0
0
-14
-3
3
0
0
-9
14
-13
0
0
48
-14
-11
0
0
11
15
-5
0
0
-30
47
36
0
0
-42
8
-13
0
0
79
-11
46
0
0
-57
67
55
0
0
95
46
-15
0
-17
47
-95
0
0
0
44
7
3
0
0
-8
-18
6
0
0
18
-40
-14
0
0
-9
8
-3
0
0
0
15
-10
0
0
-9
-5
-1
0
0
-32
81
19
0
0
36
45
3
0
0
-20
60
0
0
0
-8
-47
-1
0
0
-31
107
-13
0
0
-38
18
0
0
0
56
40
0
0
0
54
7
3
0
0
-12
-81
-4
0
0
24
-9
4
0
0
-4
46
8
0
0
12
24
-13
0
0
-54
53
-6
0
0
14
13
2
0
0
11
29
14
0
0
26
19
-22
0
0
-18
21
6
0
0
-27
-8
22
0
0
-7
58
4
0
0
19
-34
11
0
0
39
30
13
0
0
56
-45
7
0
0
10
14
33
0
0
57
8
67
0
0
22
-15
-4
0
9
36
75
-29
0
0
-47
34
12
0
0
-42
-3
2
0
0
4
-62
-1
0
0
35
0
-8
0
0
-3
-11
1
0
0
35
-6
-8
0
0
0
46
0
0
0
11
-4
5
0
0
-23
-11
0
0
0
-19
42
-17
0
0
87
24
1
0
0
22
7
43
0
0
-37
-18
0
0
0
-53
17
1
0
0
-42
45
0
0
0
-13
-21
-17
0
0
8
26
25
0
0
-18
70
49
0
0
11
42
4
0
0
55
-54
6
0
0
-15
12
18
0
0
36
22
-18
0
0
5
32
0
0
0
66
26
-19
0
0
-59
-7
51
0
0
-43
3
-5
0
0
39
-17
44
0
0
2
46
-3
0
0
37
62
-4
0
0
24
-19
19
0
0
-6
22
49
0
48
10
73
-7
0
0
-3
1
-1
0
0
-3
4
-1
0
0
-8
8
1
0
0
27
58
0
0
0
-4
-26
0
0
0
-5
9
0
0
0
23
7
0
0
0
-18
17
-2
0
0
19
41
0
0
0
53
-6
4
0
0
-10
-13
-4
0
0
-14
51
-13
0
0
-16
-29
0
0
0
50
13
0
0
0
-11
-49
3
0
0
27
32
5
0
0
-4
-33
-5
0
0
18
-10
4
0
0
-2
-7
-4
0
0
-59
13
-25
0
0
13
13
2
0
0
-63
37
-9
0
0
13
16
4
0
0
-23
-15
-23
0
0
1
48
51
0
0
47
-56
66
0
0
5
6
-50
0
0
-8
-71
-83
0
0
-31
6
11
0
0
44
31
0
0
0
34
59
8
0
-25
23
-6
-13
0
0
-4
9
5
0
0
10
35
4
0
0
33
-13
0
0
0
-7
-36
0
0
0
10
33
0
0
0
-15
73
-3
0
0
22
7
0
0
0
33
6
-5
0
0
30
-36
0
0
0
41
-19
-6
0
0
8
20
0
0
0
-13
30
5
0
0
1
17
3
0
0
33
-26
-1
0
0
23
45
1
0
0
-15
-34
-41
0
0
-22
3
-22
0
0
-1
8
-8
0
0
-15
-14
2
0
0
19
16
-14
0
0
8
-8
0
0
0
-24
14
15
0
0
22
3
4
0
0
-46
-1
8
0
0
-29
30
41
0
0
-19
20
12
0
0
20
-26
-29
0
0
10
32
26
0
0
-9
19
45
0
0
-21
27
46
0
0
13
-10
33
0
25
34
-49
-1
0
0
-52
6
-1
0
0
2
2
0
0
0
-4
-2
0
0
0
2
-14
0
0
0
4
-18
2
0
0
-1
5
0
0
0
63
-11
0
0
0
65
-6
0
0
0
-6
2
0
0
0
21
24
0
0
0
-2
15
3
0
0
36
-8
0
0
0
49
9
2
0
0
24
-24
-5
0
0
22
69
-2
0
0
-53
12
-4
0
0
19
22
4
0
0
-1
-6
-1
0
0
31
51
8
0
0
-7
9
-7
0
0
-25
17
-2
0
0
-24
0
4
0
0
-51
17
0
0
0
-4
23
-10
0
0
105
43
-29
0
0
9
-16
1
0
0
16
-27
-7
0
0
-1
15
11
0
0
1
-24
20
0
0
0
-2
5
0
0
-28
34
13
5
-19
17
-12
14
0
-36
16
-56
-1
0
-1
21
28
6
0
-49
46
15
35
0
1
13
5
18
0
-3
22
-3
-22
0
5
-2
-7
21
0
-20
37
-7
-14
0
21
36
-28
-48
0
3
16
25
-7
0
4
-7
61
-69
0
50
-9
1
20
0
36
-21
30
-17
0
-5
-2
-8
-25
0
8
-48
-7
16
0
-13
-15
-35
38
0
-10
21
16
5
0
-53
-48
47
-26
0
-32
-41
23
13
0
91
-14
115
-24
0
11
2
9
10
0
-99
-63
7
4
0
-15
13
60
-14
0
-30
-27
-1
8
0
14
20
-44
-29
0
-13
-62
-32
-52
0
7
-39
124
23
0
0
-57
2
22
0
-30
-52
27
19
0
-11
27
60
9
0
26
26
-10
11
0
10
-42
52
5
-2
14
-6
-10
-33
0
-83
-36
-24
25
0
-23
2
13
56
0
-49
16
115
-27
0
-3
6
17
-6
0
-7
1
-19
-6
0
-1
-1
-10
79
0
7
4
10
-16
0
-19
-66
-5
-44
0
-34
61
30
17
0
19
31
57
-7
0
-6
36
-18
12
0
-40
-38
-5
-94
0
-11
29
-17
-32
0
16
16
-4
-19
0
4
73
-12
11
0
3
-23
-67
-42
0
-13
-14
56
4
0
-8
28
17
10
0
58
-25
25
-51
0
-26
-26
11
44
0
-20
-72
8
45
0
-27
28
52
-9
0
-65
40
50
52
0
-13
-24
4
-9
0
-37
4
-72
19
0
58
-35
27
5
0
57
-47
27
34
0
6
43
14
13
0
11
-67
13
-6
0
31
36
-14
12
0
-21
-3
62
0
-12
-5
21
-7
14
0
19
20
-63
-20
0
25
3
31
11
0
47
-12
15
28
0
25
-19
-6
10
0
-10
-16
3
15
0
-22
-14
24
32
0
-8
21
29
-24
0
-57
11
-78
-101
0
24
-47
26
23
0
7
-23
15
16
0
22
10
-1
61
0
28
30
1
-14
0
6
21
30
-31
0
-49
-45
-35
36
0
42
5
15
-67
0
-10
22
12
-5
0
92
-20
8
-28
0
-28
-41
-11
6
0
-21
94
-13
-21
0
-72
29
-30
39
0
-31
29
45
4
0
-24
-61
24
-5
0
-8
-35
4
-19
0
5
-23
16
32
0
64
37
-18
8
0
41
-48
18
1
0
-2
44
31
29
0
54
-19
30
-3
0
-10
79
51
-1
0
-28
69
-40
-16
0
12
24
18
-1
28
24
-73
11
0
0
1
-4
13
0
0
39
-31
4
-7
0
17
-32
0
80
0
26
33
10
5
0
-23
-51
-7
-44
0
40
-24
28
18
0
0
-10
-35
43
0
-21
92
-103
-4
0
86
22
-16
18
0
54
-15
-2
11
0
2
49
70
-57
0
-13
100
-9
-6
0
14
35
-12
-36
0
-92
8
16
-36
0
11
-2
17
20
0
-43
39
55
2
0
54
49
-47
25
0
40
115
12
-44
0
-13
29
-32
-7
0
-1
4
-2
-8
0
-20
-36
7
-9
0
11
-26
5
0
0
21
6
-23
-1
0
-19
37
15
3
0
55
44
-15
1
0
-29
-73
22
0
0
-21
29
-16
0
0
62
31
-31
-19
0
-51
93
8
-5
0
17
57
-7
3
0
30
-3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
11
36
11
0
-48
-32
-32
-28
0
51
25
15
-47
0
13
-32
13
-34
0
-7
10
19
-29
0
-15
16
55
-31
0
-2
35
-10
-5
0
-10
35
16
10
0
-2
-11
14
6
0
21
-47
5
12
0
6
17
12
-5
0
35
-18
-21
-50
0
30
-24
29
0
0
21
-44
8
-8
0
43
-26
-1
15
0
49
-13
-18
42
0
14
-11
59
-37
0
1
62
43
7
0
65
-19
18
8
0
-1
-8
45
45
0
19
82
42
7
0
44
-12
4
-5
0
75
-58
-32
87
0
41
-57
0
3
0
3
-39
-15
40
0
-63
-26
76
-3
0
43
27
60
8
0
79
-1
-33
1
0
14
-8
40
-55
0
-66
-6
-16
-24
0
-26
61
82
-52
0
31
4
-10
-13
-25
32
-38
-10
-47
0
9
-68
-20
-11
0
29
4
-38
-87
0
66
-16
-54
28
0
-45
-16
47
20
0
-6
16
4
14
0
14
-18
-3
-24
0
9
-21
-32
3
0
-9
-26
1
10
0
-3
-9
6
-10
0
43
56
9
-25
0
24
-3
-32
-20
0
-19
-68
20
47
0
-20
-37
23
-30
0
53
-20
6
-72
0
71
-47
-30
-101
0
-39
-23
-44
10
0
-66
41
35
35
0
-1
29
43
14
0
23
80
-39
30
0
57
-47
30
-13
0
33
-28
33
6
0
-43
64
14
1
0
-22
12
43
-1
0
55
24
-10
22
0
-108
-4
58
-6
0
-36
110
36
-9
0
44
0
23
0
0
-36
38
45
19
0
-13
6
-5
-3
0
65
-5
-28
4
0
-15
78
58
-2
22
-20
-1
19
32
0
-34
-8
71
-16
0
-2
-46
67
-41
0
20
-21
121
-71
0
-18
6
-40
-63
0
-39
-14
-38
39
0
-4
-6
14
24
0
-40
9
0
10
0
-16
20
-7
24
0
-25
28
21
-8
0
-10
76
-38
29
0
-16
-15
2
-11
0
-31
15
4
24
0
-8
-18
13
4
0
-31
21
10
-18
0
43
22
-75
-14
0
-19
-14
-17
-1
0
-14
0
-9
1
0
82
27
2
-13
0
24
83
-12
-2
0
-10
-2
-21
5
0
28
-8
-19
6
0
-40
-38
-34
29
0
78
6
2
2
0
-43
-4
-22
-14
0
-29
83
8
15
0
1
26
26
-25
0
32
-1
-45
-2
0
-56
-13
21
25
0
62
-25
34
0
0
87
-36
37
-16
0
-11
18
-47
-3
-8
16
-82
-36
-68
0
-107
11
11
50
0
23
-40
6
26
0
80
86
-4
-52
0
27
5
-74
-69
0
-24
12
52
-82
0
-7
-40
23
-30
0
-38
19
29
30
0
13
51
-45
12
0
-19
4
11
-16
0
17
1
-23
5
0
26
-47
-28
26
0
9
-52
24
-47
0
22
-51
44
27
0
3
8
2
-21
0
34
11
-5
-24
0
45
18
-29
2
0
1
83
-50
-4
0
92
-27
59
-3
0
-65
23
50
-34
0
-12
-32
18
4
0
-23
28
8
-4
0
19
43
-9
-1
0
17
37
28
-3
0
52
-32
29
1
0
31
-25
3
2
0
40
-10
-7
0
0
41
-43
-27
10
0
57
-36
-13
23
0
17
-38
26
1
0
-39
33
-51
5
0
31
-36
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
99
2
26
-72
0
-12
-21
-44
36
0
26
-6
-24
18
0
27
2
59
43
0
-12
57
26
-67
0
18
-23
10
-49
0
-88
39
17
-1
0
-40
-24
2
-1
0
31
11
65
58
0
9
56
27
-74
0
36
2
51
53
0
13
34
64
4
0
18
51
20
-25
0
20
11
45
54
0
29
-13
65
26
0
51
33
-28
-12
0
-22
-20
-22
31
0
-69
38
41
-56
0
-69
66
-2
-35
0
51
-18
-15
1
0
8
34
26
63
0
-54
-21
17
-18
0
-37
94
20
-20
0
27
72
13
-12
0
15
31
41
13
0
-56
-32
12
63
0
-91
1
21
41
0
-109
57
38
6
0
-34
4
5
14
0
33
-19
14
-54
0
42
-42
6
19
0
69
133
-69
-1
11
64
-23
-5
-18
0
20
-52
-27
19
0
79
39
-49
-39
0
-9
6
19
32
0
46
15
-61
66
0
-5
-1
-14
27
0
48
56
-96
5
0
-24
18
72
4
0
-54
28
37
-7
0
39
27
45
5
0
49
-27
48
1
0
38
2
45
16
0
-4
-42
7
30
0
-49
16
-28
-2
0
13
-52
57
5
0
-59
68
10
-4
0
28
-33
33
-23
0
28
99
34
-22
0
-29
-17
88
24
0
67
29
7
9
0
-28
15
50
-46
0
-20
52
27
23
0
25
11
-26
-12
0
-7
-13
-13
-8
0
-37
-17
-18
-9
0
-66
8
6
30
0
-25
8
-4
5
0
20
39
50
-5
0
36
-12
-6
88
0
74
10
-36
-36
0
-7
-6
36
48
0
38
93
-4
5
-7
-23
5
93
-20
0
31
87
-48
48
0
-74
34
50
-40
0
36
-7
-33
-15
0
-28
-47
0
26
0
-13
5
0
14
0
33
-23
-28
39
0
37
-7
5
2
0
-2
41
3
-51
0
93
11
-18
23
0
13
29
-16
13
0
0
41
9
-15
0
12
4
3
77
0
2
47
23
5
0
85
2
71
25
0
28
-6
44
0
0
-28
65
-28
4
0
-48
-18
-66
39
0
-52
6
-15
30
0
50
34
-9
20
0
-13
-24
21
-80
0
25
14
13
-9
0
-8
8
-11
9
0
-25
73
-17
-1
0
60
20
18
106
0
62
-5
2
-35
0
-48
-36
102
-1
0
-7
3
-7
1
0
-31
42
-5
-6
0
44
-24
-29
24
0
-14
12
-47
-4
0
-17
24
21
-5
-22
70
4
23
-15
0
-139
33
9
5
0
3
-11
-3
58
0
9
46
42
40
0
-16
4
6
2
0
-29
52
-48
18
0
36
-40
1
12
0
94
-17
26
3
0
-17
7
7
-15
0
34
9
-10
1
0
-14
30
41
5
0
7
5
-18
-15
0
34
33
-46
17
0
-1
-19
49
-10
0
3
0
-1
2
0
3
8
30
0
0
18
-27
51
-48
0
-8
43
33
5
0
-40
38
-5
-33
0
-15
-13
-1
14
0
-45
18
14
54
0
3
31
37
-34
0
24
-17
7
7
0
-37
25
5
0
0
40
-10
71
77
0
51
3
27
0
0
14
55
-1
-24
0
-88
48
48
1
0
35
39
19
-16
0
3
-27
-10
-1
0
85
11
-6
-3
0
46
93
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
49
0
-15
0
90
-43
4
17
0
69
-63
14
6
0
-27
65
74
-19
0
0
14
-37
6
0
-16
31
56
14
0
18
57
1
14
0
88
-30
-10
4
0
51
12
-66
73
0
1
55
-96
5
0
-3
32
61
45
0
34
24
56
-18
0
54
-36
-68
3
0
9
13
4
34
0
20
36
23
-43
0
-50
4
29
5
0
-15
75
0
20
0
48
51
42
-8
0
-68
87
-15
4
0
8
2
-6
-29
0
-17
-60
47
45
0
-32
-26
29
52
0
-19
3
-15
-33
0
51
-8
53
30
0
-62
9
33
44
0
-54
-3
-26
-4
0
41
-24
34
49
0
63
50
36
40
0
62
46
22
35
0
-50
30
50
-63
0
26
-2
112
26
0
40
4
-31
3
-35
57
15
20
19
0
-26
2
-23
12
0
7
19
-2
3
0
1
-1
-42
6
0
5
-69
34
-6
0
61
50
35
4
0
23
23
20
-2
0
45
51
11
-3
0
4
82
57
-44
0
-107
42
24
76
0
22
80
-12
16
0
-16
91
57
16
0
-14
-24
111
1
0
-36
-37
56
66
0
-18
31
-14
-5
0
12
-14
10
-19
0
26
-4
-20
29
0
29
-19
32
-2
0
173
35
-35
1
0
46
73
-1
0
0
-4
43
0
60
0
32
-61
3
0
0
-2
-7
6
-28
0
107
26
27
8
0
-34
2
-48
14
0
-93
36
51
-25
0
-36
64
14
-8
0
25
12
13
40
0
-55
49
14
3
0
-6
20
-23
-7
0
17
15
-13
-4
0
31
-18
-18
57
-14
42
86
-26
-7
0
44
-51
25
16
0
-57
41
67
2
0
12
56
14
16
0
53
24
52
-17
0
-32
47
-53
-2
0
18
18
-13
21
0
99
26
-13
0
0
28
2
4
3
0
4
70
-31
-1
0
-70
51
-17
12
0
34
34
46
27
0
-12
15
45
62
0
34
23
-52
8
0
44
63
47
-95
0
-78
-18
-12
-18
0
-15
-4
86
18
0
1
77
7
8
0
-28
-21
1
93
0
-6
47
13
43
0
92
-16
1
0
0
45
6
41
-32
0
31
-37
2
17
0
-36
12
26
17
0
-25
-11
17
19
0
-14
-11
16
-13
0
2
-5
45
16
0
-1
63
-17
-20
0
-1
-79
10
58
0
76
-2
11
13
0
-67
27
6
63
0
-37
18
61
6
37
23
77
-3
-4
0
60
-2
-9
-9
0
-2
33
26
-10
0
95
-30
61
2
0
0
7
-12
21
0
1
-50
21
1
0
10
-8
-22
-3
0
-9
22
21
1
0
13
129
79
-8
0
-21
87
15
2
0
-22
-17
35
14
0
27
25
1
-12
0
39
13
-52
39
0
6
0
47
-13
0
41
24
-33
-31
0
-64
32
3
7
0
-108
4
69
3
0
26
7
64
-13
0
4
-4
-31
-9
0
-27
70
-10
-23
0
6
-69
63
-12
0
5
29
-23
5
0
-62
36
17
-1
0
-75
-61
31
-1
0
-46
-11
40
-2
0
68
-2
-13
44
0
41
-27
-21
1
0
-13
17
39
26
0
-35
-6
56
-62
0
32
2
59
5
0
4
-27
67
-40
0
-25
-8
27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
16
13
-8
-1
-13
6
-15
-9
36
2
29
-3
22
4
13
-34
-8
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-18
-37
17
-3
41
-4
7
-28
16
-5
-46
6
-42
15
26
2
26
-102
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
12
24
-48
10
-10
-38
-63
36
10
-108
18
44
-21
-47
-4
-31
9
37
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
13
-5
17
-23
34
-5
-15
50
53
12
-13
51
75
40
-57
-21
56
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
11
37
7
3
18
2
34
-5
-11
40
4
28
-5
17
-27
28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-48
-14
-21
-21
22
-23
-12
-42
-3
39
43
-6
-5
-22
23
-31
29
8
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-19
4
88
-36
16
-42
38
-24
34
-9
48
7
-51
-26
-48
57
73
24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-17
31
19
-32
-6
0
-2
38
17
93
-37
-89
4
38
-43
3
28
42
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-33
9
41
31
24
4
14
37
-36
-4
16
14
2
-38
-24
13
39
26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-18
-30
-25
49
40
-2
0
-53
29
17
-7
-79
16
-52
75
32
-117
46
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-51
59
55
-14
-12
24
60
14
-32
-7
-10
-34
1
8
44
11
-49
29
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-10
-2
37
-52
55
28
51
51
0
15
-20
49
25
33
-8
77
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-17
2
16
28
16
-31
20
8
52
98
-12
60
-20
25
50
-19
22
-9
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
88
-12
39
10
7
-4
3
29
-2
-82
-3
6
4
-24
-47
-85
-95
21
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-51
13
30
-2
-8
33
-25
11
14
-44
42
-28
144
-33
-26
32
23
-36
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-15
2
-1
2
151
102
-29
-27
-1
-22
17
106
-19
3
-14
22
-89
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-11
13
1
-7
5
29
10
-28
2
-4
-20
-18
-3
13
-16
37
35
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-13
-16
0
4
9
-19
-18
56
30
46
-3
15
-22
-29
1
-57
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
35
28
57
-43
18
113
-74
-55
-30
-8
63
7
23
19
30
54
31
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-5
52
4
83
8
50
24
39
28
-31
-1
-44
65
11
57
-74
62
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-41
4
21
-1
-4
-11
-1
-30
50
29
-2
21
15
55
-36
-7
1
52
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
34
-20
31
-74
-29
-21
5
-99
-43
21
36
73
-86
-45
7
-104
26
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-42
24
-29
42
22
-110
20
-46
13
-30
136
-54
-7
29
9
-41
33
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
3
-24
-4
-6
-22
-2
76
-82
-40
40
5
28
41
14
17
-150
62
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-21
13
2
-3
30
6
13
5
6
19
-4
6
13
11
47
46
-8
-15
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
-23
-79
-18
-14
28
-11
16
21
-52
17
-1
-27
-65
-62
-1
-71
3
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
43
-28
59
5
-20
-22
52
-28
19
24
-11
34
-61
15
-23
-15
9
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-119
45
4
33
-55
-96
8
26
0
-67
36
0
-20
-3
69
55
30
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
18
7
19
-5
-6
-11
12
75
-39
-15
-30
3
16
35
45
84
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
16
-18
-13
-4
-9
19
-35
18
-70
-41
1
-45
32
62
27
-60
-3
29
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-81
6
37
20
-8
-15
-36
23
5
17
51
-7
-43
8
-24
-17
-6
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
22
-3
41
-56
4
-15
30
-25
13
-47
-61
0
14
3
13
-9
-22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
0
26
10
-24
8
22
17
-23
-119
33
-35
-27
2
-13
34
-39
27
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-14
11
-3
6
-52
-26
-1
-20
-12
50
-7
9
-2
14
-2
17
26
2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-29
28
56
-37
-14
4
9
4
-9
137
-98
6
-14
47
67
-32
-72
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
27
22
12
10
27
-20
20
42
-33
-76
24
49
11
68
27
-21
-10
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
6
69
-11
-24
-17
-55
-7
-33
27
18
-14
1
-8
-35
5
-46
-12
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-8
8
-4
-19
-68
-36
4
-44
13
15
-39
24
-39
18
102
-58
-45
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
10
22
7
-24
-41
50
-35
-53
2
43
-9
-11
58
-12
5
-35
61
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
104
41
82
-44
-66
-18
73
64
35
44
43
26
61
-30
47
-20
30
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-20
40
63
-70
-4
59
-23
-48
-124
20
-24
5
-65
25
-18
7
-10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
21
2
24
-58
19
8
0
30
-46
-27
-23
6
5
37
40
10
-33
-43
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
61
10
10
90
70
-26
-10
37
17
89
36
-17
-5
-16
29
38
24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
63
11
-46
32
39
25
5
-13
88
55
28
-57
1
54
11
-86
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
-18
-14
-2
31
-64
-23
45
-28
133
-62
6
49
36
-50
65
7
-14
-6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
59
-26
4
-64
-12
10
8
16
-22
39
-18
-15
15
-22
25
14
-2
22
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
36
-35
28
6
38
51
22
-55
31
104
77
32
-15
-8
-82
104
80
3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
32
5
21
-58
-52
14
79
3
50
-23
3
-34
-24
72
21
21
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-33
18
-9
39
41
41
25
2
-96
41
6
15
-21
-11
-11
25
-27
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-14
7
11
26
-23
8
18
12
6
14
-66
9
-2
-12
41
-23
-36
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
66
55
-7
-48
-25
-21
16
54
19
48
-61
-19
55
-2
-2
36
-12
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
23
43
11
-41
-26
-9
18
-21
43
51
97
11
-5
16
-15
8
11
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
7
16
16
-38
17
-10
33
3
-37
13
-56
-19
6
39
5
30
-69
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
35
37
-32
-106
-15
22
4
-27
-43
-49
22
-65
-25
-129
-80
36
-48
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
4
1
-24
26
15
23
24
42
9
-25
-28
85
-46
4
-35
-17
106
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-94
19
6
23
-31
-3
80
-34
-7
36
55
22
-3
-8
6
24
12
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-11
12
20
-20
2
11
-3
-36
-103
-48
28
-15
29
9
-46
69
-20
4
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-7
2
13
30
-4
-22
15
41
70
-58
-21
-22
-28
65
-16
-86
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
37
26
83
-65
-2
-15
58
53
7
14
-49
-9
-55
-6
-11
46
60
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
31
45
13
-11
23
-53
100
34
8
27
-91
9
7
-24
88
12
35
72
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-26
24
-17
-40
13
11
39
15
-96
17
-73
48
-38
-59
-6
103
-70
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
30
-60
7
71
30
6
-12
5
-64
59
-56
7
-27
-22
-57
-23
-30
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
-7
17
1
-6
10
70
58
-8
40
31
-19
3
1
-10
-7
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
53
-62
21
29
19
-9
38
0
-2
19
64
41
13
2
15
32
-69
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
3
-30
-38
-15
31
3
41
9
-19
-53
38
-60
37
33
15
-27
28
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
39
50
-17
-5
40
48
-39
14
-18
35
21
69
-20
-30
62
5
43
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-32
25
32
14
-42
74
-1
29
5
26
-6
-32
-51
4
39
103
-41
-32
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
21
-4
-26
135
-18
25
-8
18
-35
-5
-1
23
-50
21
-18
51
7
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
-16
-2
-30
-79
8
-14
3
23
-49
-14
63
19
54
-59
-53
32
-41
29
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
36
4
58
14
-23
-23
10
31
3
62
-9
56
9
-41
23
6
-15
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
25
10
23
-15
53
-15
-89
-48
-41
37
102
18
-14
39
-128
-38
-28
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-20
-8
-18
16
-48
-11
7
48
-1
-10
-2
59
10
-3
2
-50
5
61
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
63
-26
-4
-6
-25
7
24
4
83
-6
-25
-25
9
0
-33
-2
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
30
29
-64
-23
-7
-3
-2
-11
-20
95
6
-43
-37
-25
-49
-7
-13
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
80
-31
46
1
5
10
25
-40
41
29
28
-33
28
-30
62
46
37
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
62
51
85
-30
70
-93
-27
46
2
19
47
-61
17
-10
47
29
46
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
30
-4
-1
1
-15
89
5
15
27
42
6
29
-65
-41
66
64
13
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
-55
-30
40
32
-24
10
49
-2
-9
-6
11
25
4
8
68
1
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
49
-7
33
-27
17
72
35
46
-20
-21
25
5
-1
-13
-29
-10
20
76
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
33
59
65
-8
-27
15
55
69
-27
-11
-11
12
62
-24
4
10
73
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-42
-7
53
41
8
-55
-15
40
88
41
32
42
-9
12
13
-13
44
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
8
26
-56
7
-9
76
-4
-22
9
85
26
10
49
-3
-20
-13
20
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-47
-4
30
-38
-33
48
105
-49
-26
61
92
-18
36
40
-2
35
46
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-12
-17
73
25
-34
14
0
19
-105
37
43
-36
63
-53
72
57
-45
29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
50
-14
-12
30
33
-27
25
11
-14
-31
-17
42
27
8
8
33
19
-6
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
78
20
-21
-13
-52
11
-25
-41
5
9
-55
35
47
30
-38
1
59
28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
98
-31
34
20
-31
-10
27
-41
5
4
-53
25
12
15
22
-27
-23
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
-1
-21
-27
58
-54
23
-15
14
5
77
11
-61
30
-9
4
-6
68
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
92
24
-23
-14
-13
44
-45
-8
9
53
-56
66
31
-34
1
-5
12
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-17
-26
15
7
-4
50
1
27
2
112
50
-8
7
-8
47
-21
12
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
89
-17
-45
-29
8
35
-10
7
29
-8
69
-13
-12
6
-5
31
39
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
34
24
-18
78
-24
66
17
31
6
-36
15
26
-65
71
-90
5
19
8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-43
49
52
7
-4
44
6
17
-31
12
1
-19
17
1
0
2
-22
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
13
-10
34
-15
15
75
0
-33
2
17
-4
71
13
-4
-38
6
43
50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
50
19
8
39
27
-46
14
25
-4
-22
36
8
-7
-1
60
-12
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-7
61
-14
-40
12
-21
-41
-5
-8
-40
23
-18
49
3
-10
16
37
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
28
4
-72
88
3
49
-10
141
-8
46
-21
101
-76
6
-25
35
11
67
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
13
68
44
69
93
-11
-24
41
44
-78
71
18
23
51
-37
78
-8
7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-23
42
-20
-6
32
-10
58
-19
43
-184
-82
26
29
17
-56
-40
-36
24
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
7
20
-7
19
68
83
24
26
7
-15
18
47
78
37
57
8
-2
9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
62
-15
51
6
10
70
-17
45
-19
26
-45
61
-13
3
65
49
-48
-68
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
40
-50
24
-33
-13
28
3
63
16
7
128
3
2
7
113
14
3
49
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
31
18
-15
28
31
-4
14
45
27
-65
-28
39
95
7
29
11
-22
46
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
23
54
65
52
-4
-4
37
-17
26
122
-7
59
12
27
-18
-14
-7
33
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-24
-4
42
50
4
76
-87
13
-33
-31
-48
43
27
-5
2
35
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
30
-21
44
-11
48
46
19
-58
3
21
-11
-7
19
12
25
2
46
22
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
42
21
27
21
63
23
-19
1
34
-10
-15
6
-15
27
36
69
42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
52
7
35
33
98
-50
21
54
2
8
45
-33
32
-12
-6
-17
54
39
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
48
45
11
34
5
-65
36
30
0
1
5
36
-20
-25
5
-11
42
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
15
-1
31
-27
49
-11
-32
14
25
22
5
48
4
10
13
5
6
29
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
39
63
48
35
40
8
57
-43
20
93
-20
1
3
32
61
-110
81
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
38
28
-44
24
6
54
30
-18
15
72
16
65
-42
132
43
71
-28
37
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
41
35
11
-33
0
34
34
-7
-41
23
-43
-41
18
-7
-1
30
46
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
24
2
22
-11
88
6
-1
-19
-7
84
31
50
7
7
25
52
-16
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
-63
92
-10
-26
14
8
-42
44
13
-40
-73
8
80
-3
-3
27
35
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
28
-3
15
-1
86
18
45
15
-16
-18
18
-6
53
-24
9
-28
48
84
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
-42
79
-33
-23
8
10
47
6
0
-4
95
-14
5
5
94
14
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
62
37
74
15
3
40
51
22
-5
-51
-15
93
-34
23
26
13
51
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
-33
98
31
9
33
64
37
-16
-11
13
-8
17
-3
10
0
57
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
173
48
42
25
20
54
17
-33
52
-22
-21
34
45
7
-55
26
-11
8
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
48
29
-3
-1
0
33
15
28
-1
-26
7
-38
23
21
-3
-8
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
49
-22
67
43
-39
71
-29
22
-5
41
-47
-42
-30
43
2
33
9
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
27
43
68
-20
-18
125
14
29
34
-26
24
27
18
0
18
1
46
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-6
-27
-7
17
29
81
35
-29
71
3
-79
-18
-44
78
48
113
-22
-69
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
53
-3
0
20
-64
14
1
0
3
-5
-32
2
3
42
15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
59
49
-6
-3
16
55
-3
6
2
-79
90
-55
1
24
-26
16
-22
-79
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
35
23
-29
-2
-5
12
6
-20
-9
6
-24
35
1
5
-11
-41
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
67
-55
-12
41
69
20
-1
61
-35
32
-17
16
50
4
-19
-1
23
2
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-16
12
55
43
-6
-21
0
1
4
7
-35
7
12
56
45
-16
16
27
-12
-46
-20
22
2
21
15
-17
43
23
-17
-27
-24
35
-32
-8
-39
113
68
41
-38
12
26
-7
17
3
-38
38
-49
-75
72
60
30
-11
18
-30
21
-17
-81
-43
-128
-82
43
41
67
64
-63
-63
106
-8
-22
-21
-71
-26
-53
-57
2
18
-21
-20
-9
0
70
-15
-32
13
-40
89
-10
59
-40
-46
37
10
-19
33
18
-42
-44
14
-43
16
-25
-2
-6
-8
-26
-26
-10
37
26
139
-9
-71
21
35
8
17
12
45
-15
11
43
70
-40
-42
-21
31
42
123
1
21
-56
30
78
9
-20
24
66
37
29
38
16
-4
40
-24
15
14
-45
96
-43
23
44
-4
-5
-19
-3
31
-17
-29
-7
-13
-32
2
-9
-22
-49
-19
40
60
38
-3
-18
13
17
-13
37
-57
40
-16
38
50
-11
37
-8
22
33
-10
32
35
0
60
3
77
-41
5
89
96
-52
4
-55
2
17
-49
-67
-28
-21
21
19
23
-42
105
43
-14
-24
-43
14
46
47
-19
44
43
5
8
-8
-43
-58
-56
46
-9
-16
-51
-20
-23
42
52
-25
-32
80
-63
38
-18
47
17
60
-68
48
24
-22
63
22
35
70
14
47
42
-17
-47
27
20
-29
55
-66
-35
46
-49
-22
18
38
16
-40
-41
1
40
-13
5
19
-80
13
-40
1
-37
55
8
-57
46
100
4
-45
-60
67
14
39
40
3
36
-42
43
-67
32
-1
-15
4
46
6
-41
-11
54
-6
22
-4
-23
10
41
-6
5
5
43
-40
0
-1
-2
-10
22
7
-14
24
-59
23
69
2
34
-21
19
-28
-14
26
46
17
-11
-8
-5
-28
27
15
36
-26
-8
53
12
28
1
-21
35
-13
50
33
44
10
29
-10
-36
7
-47
-12
1
-98
-22
-47
-24
0
-69
17
68
11
-116
19
17
31
-14
-54
-29
7
4
-32
-16
-38
-24
52
-49
26
24
0
7
-37
47
2
-59
4
4
48
-30
-24
60
2
22
56
39
-32
79
-45
-5
4
13
-22
-17
13
141
-22
-2
-15
5
22
65
23
4
-77
-7
5
44
7
8
105
-118
-74
4
-18
0
2
14
2
2
23
-43
54
16
26
67
38
11
-20
-96
-27
27
30
61
0
-33
57
13
-7
51
5
1
72
10
-65
-34
36
-8
23
83
-85
-42
13
-2
-8
-2
0
0
0
26
-5
1
44
31
20
21
40
105
-7
120
23
64
-19
-12
-26
-49
-26
-15
47
10
-14
37
5
25
-6
65
64
46
-18
-16
-16
12
25
27
-16
-29
16
54
-8
39
10
8
-40
2
-12
-4
-45
34
29
18
3
-43
-53
-34
46
-55
-5
-8
29
-51
-48
-39
-24
-17
-6
15
36
-58
-49
86
-85
-45
83
-39
35
-1
40
88
-57
-43
-62
23
90
24
47
106
5
-15
-16
-76
76
63
73
8
59
20
59
34
9
4
-77
-14
24
21
69
22
-17
-15
4
-12
42
70
-4
2
-40
10
-8
13
2
-44
-12
84
3
-14
-60
-2
17
20
-4
12
46
-18
5
-10
68
-90
81
-40
45
-13
45
30
-30
0
39
66
-82
0
21
27
-33
5
8
14
2
22
4
8
1
-13
-9
-7
15
25
-15
16
-2
-49
5
36
-39
10
53
-1
-13
-21
31
31
64
12
5
-7
14
41
55
10
4
-19
-18
1
-34
0
25
13
34
-49
19
1
28
11
14
25
-7
26
-58
3
-30
-13
-46
63
8
-71
34
-28
23
28
22
-64
30
-41
-1
-25
3
-36
-2
31
-65
11
-57
38
-23
-50
-45
-31
6
34
-42
-40
67
47
24
26
59
44
-1
4
-35
14
-10
44
-64
27
-24
42
-26
-41
4
68
9
-69
8
-2
26
4
24
-34
13
-48
24
49
103
21
-43
-24
-3
6
-23
7
0
20
23
-18
-3
12
44
60
-13
8
3
69
-7
-16
14
25
-41
-23
-7
-46
19
4
51
36
-51
12
-42
36
28
-18
4
-66
87
15
4
24
13
14
3
0
0
-6
-38
-23
-38
1
21
-6
12
-12
-3
20
21
31
7
24
-12
-4
95
54
-20
21
22
13
-4
1
34
-24
25
69
-9
102
-22
52
0
18
26
1
-7
16
-4
-30
-12
-20
-27
22
-8
-18
-75
-46
31
15
-4
-2
57
-9
111
-30
-30
-54
10
-38
-5
-53
52
24
27
-54
14
-11
-61
-30
-2
-6
64
-17
-44
32
4
59
-52
15
23
13
28
17
42
-15
5
-35
-32
-28
107
-2
-21
-15
107
-59
16
-19
-14
-17
7
-36
31
2
-4
-48
-25
-40
0
18
-62
17
31
2
-5
-12
1
-13
-1
58
-6
-12
-13
-11
-6
47
-13
1
20
50
-27
11
31
-34
7
22
-13
13
-5
76
144
-27
-25
-7
25
-42
9
-10
8
-6
-1
-46
0
0
21
7
0
0
0
22
2
7
-26
41
47
-17
31
24
-48
16
5
28
-3
41
-118
-37
-18
-3
49
-29
5
7
-31
7
58
-3
6
9
-14
-32
-13
8
3
41
-7
-21
10
29
33
21
3
-23
-62
57
-58
-7
21
35
27
-84
15
-48
-33
0
-70
7
-13
0
-41
-41
-77
20
-17
-11
-1
-32
9
-36
17
68
-81
-87
40
18
-13
6
-94
-29
-11
39
87
58
-13
-21
-1
-44
-23
-35
8
96
-19
5
8
-25
10
23
16
-17
2
2
96
6
-10
-7
3
-9
32
-10
5
10
-77
68
38
5
4
28
-10
-13
0
-20
-12
29
26
11
-41
19
64
-20
1
-4
14
15
-43
5
-11
67
-8
15
4
50
67
25
38
-13
16
14
-22
-5
-6
-50
-7
60
-8
3
-2
1
-1
-5
-6
37
-13
28
-13
-16
50
-7
15
-39
-12
23
29
66
24
36
-5
-77
49
20
84
41
-52
18
9
25
69
4
5
-13
76
-24
-27
24
17
51
-93
-76
17
30
60
31
-11
-3
-50
-16
-82
-5
-8
72
40
-24
-18
36
-19
-24
-44
11
-24
63
5
7
15
-29
10
-55
-53
-12
38
-18
-18
26
21
-108
-106
70
2
88
90
17
-23
-50
62
12
20
-25
23
59
20
-34
-8
-9
-20
73
-51
-5
-20
61
80
-40
-5
-8
10
11
-18
0
14
27
14
27
0
-6
31
-50
1
3
18
22
-5
21
-2
-8
-4
-29
14
-3
70
69
-28
-2
3
17
-10
-16
-1
-5
-35
75
-10
3
0
-2
-5
-33
13
2
13
-26
2
-1
2
-1
1
-3
-2
0
0
-10
9
8
8
-43
-1
44
37
95
9
-37
22
42
18
-8
-23
33
-42
-12
-14
9
-47
-76
-40
4
28
26
3
23
-4
-79
5
63
6
31
1
-41
-57
-32
21
10
14
-8
-36
1
2
0
22
-17
-89
-11
-22
20
7
-21
-10
-59
-54
12
32
-68
-15
29
17
-12
-32
33
-24
-4
-32
-28
-36
19
18
-16
-5
17
4
-53
21
-96
-7
20
-17
-3
17
4
-34
-26
-27
-30
9
1
0
107
-37
-62
-65
43
24
22
13
-15
-1
50
53
102
15
34
-31
48
-15
16
7
7
36
-101
-11
2
-3
41
1
-41
-1
33
104
18
42
-9
31
25
0
-6
-2
64
61
7
46
-5
32
5
-31
1
-2
22
49
-116
93
-24
-2
62
-19
21
12
30
55
-51
31
13
-27
6
5
2
0
-4
-34
34
-33
23
-98
-51
17
-51
5
72
-6
1
24
-28
-3
99
56
13
-85
36
-21
5
-11
29
-25
38
-3
-54
-7
11
2
1
-79
-99
-16
33
-20
23
48
23
-18
-39
-29
-12
32
-38
-35
-24
-13
-26
-46
-29
-65
43
-36
6
92
-24
-30
1
-8
-2
-64
-30
30
-22
14
1
-32
-66
-50
-8
-28
36
-32
17
-59
-3
53
10
48
5
-57
9
-41
32
6
-13
-4
96
-22
-24
-8
1
-23
68
-11
-10
2
75
104
-33
6
-4
9
59
-7
32
0
8
28
15
1
-2
25
-3
8
-2
-1
4
28
30
12
-20
49
69
15
37
-2
-75
46
44
44
-8
25
47
-3
-8
2
24
74
77
-10
2
7
7
7
-9
-5
-8
4
0
20
0
-2
7
-13
24
0
-11
10
-12
15
-8
20
14
-37
-28
25
34
20
15
-50
31
26
15
67
34
-5
-17
29
13
-37
-43
-22
-46
-1
0
3
4
22
-65
1
14
-18
-24
5
-74
-14
-4
-7
-14
-44
14
-18
-3
-19
5
-11
77
2
-63
18
-16
61
-3
-58
-63
44
-54
-12
21
-26
-12
62
-24
45
-31
-29
18
-66
7
-41
-33
-69
-116
-50
37
57
140
-7
-10
-43
-7
22
34
-76
-7
-1
-29
20
-5
27
16
-31
94
-27
8
-3
21
89
17
11
-5
29
-11
14
3
4
-30
18
2
-4
2
13
28
0
-2
0
-38
57
-65
-39
10
-3
14
46
-16
7
7
44
73
24
-9
50
3
-9
34
9
91
-2
24
-33
-6
-2
93
-15
0
2
-30
22
1
-36
2
-2
4
-27
-10
0
32
-26
24
8
27
-60
77
-9
-80
-63
-50
26
23
4
99
-20
-54
98
14
-26
-19
-53
18
23
51
39
-126
-11
55
45
-41
41
26
85
-15
-59
101
-20
52
12
10
-8
-14
-52
-35
-3
-49
45
19
-81
-38
14
-16
-26
0
60
-32
5
6
-40
88
-48
77
-1
-55
-41
-70
-34
10
-16
18
-61
-23
-59
-29
-7
-34
-6
38
-36
-45
-27
-13
-30
-2
-17
-11
21
-2
-10
-4
-6
-6
-18
3
5
-15
8
-3
-3
-5
-47
-9
32
0
-16
119
-5
-15
1
-1
-41
34
1
-2
-23
-13
8
13
0
13
-29
7
40
0
-4
-8
-30
-5
8
27
-17
9
-41
-13
27
26
-22
15
7
12
38
-12
5
-1
5
-3
5
22
0
0
-4
-34
4
1
0
24
3
-5
-10
11
-43
-4
-16
-4
-1
-4
61
-2
-51
-95
2
-9
-37
-57
-37
-32
-43
-10
29
41
3
12
23
-32
-114
1
-2
56
60
-49
25
15
-54
20
-40
-79
0
51
-16
31
10
-40
20
-17
-37
-2
0
27
-20
12
7
-10
6
-69
-6
-22
-49
-13
53
-4
42
7
1
14
-72
23
-4
21
-7
-71
-4
-18
-7
-22
-6
5
-5
-54
6
-67
87
68
-20
23
11
0
35
50
4
-25
-23
-29
45
-3
2
78
6
14
0
42
84
66
-12
-9
21
-62
41
0
0
-19
-34
-29
-7
21
-5
20
-17
9
0
10
11
-40
43
-5
51
-21
-30
37
4
49
48
23
11
6
30
39
-3
34
0
42
44
5
-11
6
3
5
70
-9
-8
-2
-33
-1
18
2
0
9
-5
0
-4
46
-12
27
-78
-89
-40
-26
33
-74
-50
-32
10
-25
56
19
-1
-4
69
-4
8
-10
31
17
-35
-49
19
-56
-14
-9
-39
41
41
-74
34
-18
-3
18
15
-47
-25
-26
-3
11
-55
-32
44
24
-1
-33
-6
-76
0
-45
30
-12
24
26
25
-28
16
117
-38
-11
22
36
-100
19
-44
-18
-57
-18
19
-29
-59
37
23
16
-19
-9
-84
11
15
22
78
-2
-48
-5
78
-8
-2
20
15
-9
-8
1
-28
-37
28
-16
0
-18
12
15
-8
6
25
16
-45
0
-1
-3
-15
32
15
1
-12
19
13
-3
0
-27
13
-17
2
-8
-61
64
31
-6
5
-13
-6
1
-12
2
4
-57
25
0
-10
-1
-21
97
42
6
-1
29
2
24
0
-1
38
-1
-8
0
17
8
1
-2
0
-16
36
22
-148
-40
58
-1
-68
55
0
-37
27
-9
29
-13
15
-14
-30
-12
-3
-62
6
8
11
-91
20
1
4
3
34
-45
12
10
-17
-48
34
14
-60
-9
20
-61
29
-4
-32
-98
96
-23
-37
-8
-95
4
-6
-12
3
4
-9
-5
6
-6
-88
-43
-28
-32
6
32
41
13
54
-6
-9
-30
-19
-6
5
-55
37
-2
-60
-10
-49
-31
24
40
30
0
-13
23
-42
-28
0
-21
-20
-1
12
2
5
65
-5
-5
3
-9
-5
29
21
1
-5
9
39
-2
0
60
10
18
-16
48
0
-4
21
10
0
15
-14
11
25
2
3
-3
-40
21
0
5
-68
90
4
15
4
-16
7
6
-1
-3
0
10
79
9
0
-8
13
12
-10
40
-11
33
-8
-18
1
2
-6
-3
1
27
-3
-9
-29
-3
77
-23
-12
-20
-18
-26
13
13
48
1
31
10
-60
77
-1
-69
4
5
0
-10
-94
79
62
-18
-36
-17
37
15
-56
28
-10
-26
41
4
-3
-54
15
-13
-11
-12
9
2
-51
-2
-11
-51
44
-89
22
59
-11
56
-38
20
37
17
-8
31
-17
12
-136
-26
17
62
35
31
-12
-3
8
-12
28
-41
-15
-80
-76
0
-20
9
-14
0
6
27
27
-6
0
-6
21
30
0
0
23
45
4
13
1
-2
33
11
8
5
9
-30
9
0
0
0
1
-13
4
0
-3
-5
2
-4
-1
5
-44
30
3
14
-11
10
5
-3
-3
1
58
-54
-7
-3
55
-2
25
7
1
0
22
-2
4
-4
-7
1
35
3
1
0
-1
5
4
0
0
-4
-8
-16
0
46
39
-37
31
-8
-16
-9
49
-22
13
26
60
32
-46
47
92
37
-19
-20
-19
50
0
30
-36
13
26
-43
13
-58
-2
40
-29
6
-56
-19
29
-23
-44
-19
0
-18
5
39
37
25
52
4
-19
6
24
73
130
-4
-4
-17
125
-5
-3
-4
30
-35
-56
5
79
12
24
51
55
-9
9
71
34
-22
-12
-26
-37
45
42
10
0
46
49
12
40
11
4
-41
16
3
22
41
-19
47
65
4
46
-59
66
1
-36
7
-14
-4
-19
-28
43
16
1
14
12
-10
28
-22
9
-7
-13
-27
54
41
-3
48
103
2
42
-3
23
43
-37
-9
48
0
-12
93
15
36
61
31
-8
-18
-13
-37
20
-11
18
58
-60
84
-24
-12
23
-2
66
41
36
-9
51
43
4
-17
-5
38
52
52
-10
-3
-61
16
-33
-6
30
44
65
33
1
44
28
14
-75
20
19
14
73
104
-18
-24
-30
61
10
-7
-21
-2
13
15
2
18
8
-42
29
-51
0
-7
36
-14
106
-17
-9
-22
46
49
23
63
-29
-16
29
-16
-23
21
5
28
-4
-75
96
19
-8
48
12
-51
-51
-2
1
-19
76
3
13
8
-2
-7
3
2
5
-1
-5
9
87
0
-123
88
45
-8
9
10
71
-11
-16
39
70
-13
4
16
4
72
16
-62
-104
0
-14
68
-24
2
2
37
60
-35
13
7
-10
-14
21
-8
0
30
67
-26
16
57
10
15
58
16
16
28
45
26
50
-53
67
21
15
48
-9
-18
-47
46
1
-5
7
9
15
4
9
-55
71
26
-10
10
-11
18
-8
-27
-5
-10
-48
16
15
5
0
27
53
20
-2
18
-62
-35
23
6
-39
-3
18
-12
8
-39
32
-68
-19
13
53
74
21
-3
3
-9
-26
84
56
-7
-9
4
-45
-3
0
-63
21
23
110
8
24
43
65
13
0
-4
27
128
18
-4
21
-44
-4
28
-6
-14
14
-8
-47
9
150
11
-17
-19
1
57
36
23
1
-9
4
1
18
-7
0
28
53
24
-18
-7
-27
-4
34
66
-55
-16
46
20
37
-53
5
-55
-28
16
7
18
-4
-14
34
-6
25
35
-20
-18
-1
32
26
3
-30
2
13
37
4
-8
-4
-8
53
62
27
40
8
60
44
-25
-9
50
-4
21
29
-38
74
44
12
-66
-6
5
9
27
42
21
7
36
49
10
22
68
-47
46
-21
40
2
35
-6
13
8
49
54
-13
-18
-14
31
-14
-33
-17
3
-33
14
47
-21
-1
-36
44
-48
42
3
54
3
-33
13
-4
59
-72
38
5
7
-9
-48
-5
9
1
-10
57
8
-8
0
22
37
39
-14
1
-14
10
19
56
4
-39
22
13
4
6
43
39
-46
35
-10
42
19
-4
2
0
-3
31
18
-42
-40
8
0
15
13
0
3
-20
0
-4
0
-30
81
-23
-2
16
-8
32
78
-38
-2
18
26
-43
-19
-14
-39
13
76
0
-9
32
51
31
64
-6
-29
41
14
41
14
-13
30
2
2
2
1
47
-15
-8
0
18
-76
44
20
25
20
50
-10
-17
-24
-93
-25
172
23
35
-61
47
81
52
39
66
-67
-19
80
-17
-7
21
25
-10
35
-9
-9
61
-18
21
-5
31
-17
-25
-6
-26
-4
20
49
42
62
25
-25
-12
29
15
66
24
20
-45
15
1
116
-83
3
56
102
-45
-62
-6
-30
11
-52
32
2
28
-43
-69
0
-1
51
-47
-4
-9
0
97
30
-2
60
-30
108
-1
24
20
-8
28
3
35
58
14
27
-53
-24
42
-6
1
34
-15
-29
13
-7
43
15
-7
-8
-55
16
28
-3
-9
0
8
2
12
0
110
22
9
-19
-56
-7
12
2
59
14
71
-21
-5
11
22
-46
108
-23
29
-3
56
-30
-22
46
35
-92
63
60
-18
13
-23
-5
9
9
-2
8
-13
-6
29
1
-13
27
35
61
48
59
62
47
21
-1
38
92
-17
33
-18
21
-68
66
33
-12
22
-17
108
78
-7
93
-75
101
-17
43
-1
-34
9
-44
93
5
-16
81
17
8
34
4
-7
-60
28
5
-17
-39
-8
-15
-56
-59
96
-39
-3
35
25
36
-33
-2
-6
18
20
40
5
-66
41
-77
-14
-2
11
-12
-2
-8
6
15
-48
7
-3
-1
23
-58
17
19
-12
-8
24
4
1
-4
-28
52
-62
-3
4
50
-6
1
-12
-4
38
17
-15
-17
-6
-39
27
6
9
0
-42
42
32
-1
0
2
7
-13
1
0
-62
0
18
20
-53
74
-62
-11
84
-19
-7
59
66
-13
22
-55
85
-20
91
-18
20
-27
44
-1
27
-41
-4
21
6
-3
-3
29
72
-44
-7
2
5
14
-2
-1
48
-14
36
5
74
44
6
-62
76
24
72
145
-22
30
-6
-60
5
-7
30
-17
11
-19
26
-39
-12
45
31
43
-5
-7
16
-16
-9
21
1
4
-9
8
31
0
68
93
-10
-44
-47
-112
-14
69
-1
3
-31
32
52
19
7
-5
-29
8
6
0
40
84
5
15
6
11
21
13
-13
-1
126
-44
-55
-11
-2
8
8
3
5
1
-40
64
23
47
6
1
-27
7
-1
0
0
25
61
-21
13
22
33
11
-2
0
5
77
17
-57
8
22
-8
20
29
0
-16
44
49
9
20
1
3
-4
0
0
94
63
-54
-73
-28
-23
-16
20
23
-1
64
1
-47
58
33
-3
29
48
32
-4
23
11
-39
1
-14
19
-17
7
-38
0
-36
52
37
-27
24
7
5
7
-29
0
11
34
1
42
18
31
-18
-17
18
-42
33
19
0
101
-35
54
14
-6
-31
26
-18
-45
21
66
34
-5
90
57
2
-18
-61
-31
15
-1
34
3
-33
-13
4
15
15
50
10
-10
0
20
1
16
-21
2
33
-70
-21
-17
0
49
31
-18
-36
0
3
42
-24
-19
0
-18
20
46
-1
1
1
21
-4
4
0
-3
-2
5
-3
0
6
55
35
3
-1
100
33
-91
-4
0
9
-23
97
-8
-1
4
-49
3
5
0
32
-5
-13
0
1
-20
75
-3
-2
0
-1
43
-4
0
0
-2
-18
7
1
-6
34
49
-15
0
-10
18
-37
18
-28
0
1
26
17
25
5
0
-4
5
-2
0
13
26
50
10
-2
-5
-3
50
5
2
1
-1
7
-5
2
0
26
-6
0
0
20
-32
15
15
20
-21
-82
3
1
-15
22
-46
30
9
73
-21
27
-6
3
-12
2
7
-49
3
3
-21
-8
26
15
0
-1
-3
59
-3
-13
-1
-12
-3
7
-2
2
30
-67
57
-50
24
99
-7
-25
10
-27
59
-53
11
8
58
-50
3
7
2
0
-83
29
28
48
66
-58
18
5
2
70
-37
-60
-4
-2
-6
6
-9
6
0
43
46
44
-29
-56
-3
52
1
16
-17
-6
23
-25
52
-3
-35
44
95
-8
0
-20
-18
26
32
-18
-16
-42
6
7
2
-40
-42
-19
69
-8
3
3
-13
-1
0
-17
62
52
45
-7
-29
32
64
81
22
9
-4
18
-34
45
-27
11
13
59
0
16
42
44
26
-65
15
-29
44
-29
2
31
-2
44
-35
-18
-5
12
24
-22
0
2
61
49
-14
77
27
54
97
39
-13
-8
15
37
-6
63
47
-4
-28
31
29
43
29
16
10
-24
76
20
57
43
-28
-39
50
14
-6
55
-22
68
45
47
-24
45
-4
9
44
-13
6
-35
57
-24
13
-2
-16
30
5
7
17
-11
9
0
-2
8
51
41
-42
0
-13
-48
-4
33
9
7
22
-12
-6
3
-2
-4
-7
-4
-2
31
76
0
9
18
6
20
15
30
-9
32
-30
-50
-9
9
52
1
23
-24
1
14
34
30
-34
0
6
-20
32
-8
3
31
-22
13
11
0
-6
-6
1
9
0
-11
9
-33
27
-9
-13
20
-12
46
4
11
35
-36
84
4
-15
49
24
-2
8
-10
52
-36
22
9
71
-93
-23
-6
1
0
19
19
7
3
-6
10
31
4
3
-55
11
62
1
72
-1
25
20
48
-49
2
28
-43
73
11
4
-45
21
9
29
-7
26
-24
17
27
-43
-20
7
64
-22
-8
39
-1
49
11
-12
8
18
-16
-8
26
27
-18
15
-7
60
20
-23
-6
5
-16
0
-17
32
-1
52
17
-10
13
0
-55
106
40
31
-8
-7
-45
39
1
0
-35
-13
51
-6
10
3
4
0
-1
0
-2
50
65
-21
-8
43
42
13
-5
-4
-33
-35
33
-26
-3
45
36
13
-1
2
17
41
-11
83
-13
-32
57
43
-9
0
58
51
21
1
-8
1
-2
-22
10
8
-10
25
46
-7
19
34
21
-7
-11
-3
27
82
-36
-32
-20
8
-5
-8
49
0
8
26
-46
55
-21
8
-10
16
-9
-8
-55
6
-3
25
-6
-2
14
13
12
-2
27
40
16
-29
55
-13
89
21
40
29
-64
46
14
24
21
0
-1
-7
55
21
54
66
20
16
62
-57
2
46
6
14
45
12
33
-13
16
15
-12
-59
29
-6
-22
-11
-4
0
0
-6
43
40
-8
-3
0
24
-37
7
0
11
-22
-21
-17
0
2
26
9
14
-5
17
38
0
8
1
0
-8
15
-5
0
-5
49
0
-16
0
-13
24
-11
5
2
-3
-7
14
7
-2
13
5
-15
-22
-3
10
5
41
-6
0
0
-4
4
-2
-1
8
15
83
6
4
-5
29
13
-3
1
8
40
-4
4
-2
-24
18
5
-5
-4
36
-7
-9
20
-1
-3
52
28
-6
10
3
-15
3
-4
0
-7
8
-12
87
-8
-2
17
-37
-25
24
1
12
54
-3
2
-1
-4
0
7
3
-55
-21
93
-11
20
6
-8
44
6
-6
83
7
-28
-33
-24
50
-38
34
-70
13
-22
24
-17
-31
-11
8
-22
11
58
9
9
14
3
99
33
-6
36
1
24
10
-6
11
54
-47
-13
-4
-4
25
5
12
22
1
-45
0
4
2
1
-14
2
2
35
22
-27
11
-8
39
-40
3
3
4
-7
-4
83
-16
-2
6
-3
-6
0
0
-22
92
-48
-13
19
26
-8
30
74
-10
-26
-18
51
60
1
-44
24
5
1
0
51
46
-1
28
27
-6
-24
3
-2
4
-6
-4
-23
7
6
0
8
-11
-8
1
-6
92
12
58
45
-33
121
37
-43
-11
-20
43
15
13
-50
-5
-34
72
75
0
18
41
26
32
-42
1
25
33
31
24
13
40
-60
10
-38
3
-22
9
19
-2
10
72
56
-31
12
118
26
50
-15
-8
10
49
22
20
69
9
78
23
-78
32
-30
-54
31
40
8
69
32
107
-7
34
-13
-1
38
-7
-64
4
33
17
32
1
-4
-17
-24
-28
-7
25
40
-40
7
1
0
3
18
0
-2
-29
32
-14
-9
-1
3
-33
25
13
1
2
-13
14
-18
0
-1
0
-16
5
0
-3
-9
-19
-3
0
-10
-17
49
58
4
3
87
2
-17
-13
4
9
63
23
0
4
8
-1
14
0
3
42
77
34
-3
5
-16
1
46
1
3
0
29
-1
0
-6
25
-1
-1
3
-32
47
20
32
20
44
-2
-33
-22
20
5
110
51
-21
-6
3
-36
49
18
-1
7
23
58
-20
8
-3
69
21
-19
10
2
0
50
34
19
5
10
-23
13
0
18
30
-1
37
-17
33
12
11
-34
63
8
29
-55
2
-23
77
45
20
1
-42
-14
27
6
40
-59
4
-9
28
61
-5
-8
39
-63
63
34
-2
-2
24
43
-11
-13
34
21
24
-6
31
-17
6
-1
0
-16
13
26
-22
2
-4
23
-13
8
1
-4
38
-42
15
4
0
-4
7
-2
1
-35
21
17
16
-7
3
-3
4
-3
-1
-2
-63
49
56
2
-26
8
29
-13
0
2
58
67
29
-16
7
8
-8
1
1
-2
-37
-54
5
24
-5
8
40
53
0
32
-17
-28
65
1
5
-3
-13
7
-2
28
69
32
25
-19
-6
13
-9
-28
-2
41
-72
48
-33
6
7
35
0
40
1
-7
-64
-35
29
60
2
15
36
15
12
45
-15
17
24
5
0
-27
10
15
-6
-11
17
-17
19
23
2
-44
12
59
-21
-15
18
-34
36
3
0
-17
32
-7
-2
-22
-30
-6
49
16
8
64
8
-7
-1
36
-3
-22
26
39
0
9
11
18
8
0
33
0
-48
-3
1
16
-3
-2
0
0
0
8
1
0
-2
-22
-23
0
0
0
0
-5
-7
0
0
6
-2
0
0
0
0
-40
34
2
0
-6
5
0
0
4
-19
-1
42
-4
5
41
26
-40
3
8
-31
1
1
1
14
-6
23
5
0
-4
-7
32
0
3
4
-9
-28
-3
0
8
12
68
15
0
4
11
4
2
0
1
10
-84
3
-1
0
-12
-77
5
-1
5
12
17
-13
-7
6
33
2
-25
0
0
76
0
27
3
-3
53
-52
12
-8
-6
22
10
-5
8
2
21
8
18
0
-25
15
86
-22
-28
3
17
-40
26
14
-17
-66
56
33
-33
3
-35
52
-6
5
0
1
45
-34
10
14
35
-53
-33
16
0
27
6
-24
22
0
7
27
-54
15
0
5
27
41
48
0
0
-16
-41
-27
0
0
-82
-24
40
0
0
-29
-128
-9
0
0
16
-5
9
0
0
-45
-42
-40
0
0
-27
-44
-53
0
0
-44
13
-9
0
0
-24
16
-12
0
0
52
-54
28
0
0
-7
-1
46
0
0
-7
25
-41
0
0
52
-99
-22
0
0
47
-19
-12
0
0
-8
-23
-1
0
0
-21
-41
-33
0
0
25
-19
19
0
0
-2
-29
-23
0
0
-19
-13
-47
0
0
-44
20
-3
0
0
-38
-15
28
0
0
-27
41
-3
0
0
65
-1
-24
0
0
0
-30
-7
0
0
3
60
-38
0
0
15
-4
-8
0
0
-8
72
11
0
0
5
-26
0
0
0
29
-4
-66
0
0
-16
14
-2
0
0
13
-36
-21
0
0
-15
-42
0
0
-23
22
-41
40
0
0
35
57
21
0
0
-35
39
54
0
0
-13
58
26
0
0
-14
2
-2
0
0
-12
23
61
0
0
-35
-22
-89
0
0
-46
-15
-9
0
0
3
-6
-8
0
0
-15
0
20
0
0
-22
-3
-27
0
0
49
-35
-62
0
0
-22
-13
-16
0
0
32
39
-16
0
0
74
-101
3
0
0
1
-63
-56
0
0
34
51
-8
0
0
20
-7
28
0
0
-4
-53
3
0
0
61
-67
-2
0
0
-61
-76
27
0
0
-20
-5
11
0
0
39
3
-2
0
0
-5
-29
0
0
0
-35
-72
16
0
0
-5
27
-14
0
0
-55
0
1
0
0
-1
-38
-1
0
0
24
-1
25
0
0
9
-21
-6
0
0
-31
-13
0
0
0
-9
-13
2
0
0
30
12
71
0
0
27
19
-70
0
0
5
-48
61
0
0
44
51
10
0
0
-58
40
55
0
0
15
-26
64
0
0
-55
58
42
0
0
2
-27
34
0
0
-13
11
24
0
0
1
64
-2
0
0
-18
-21
9
0
0
-27
-50
-4
0
0
39
50
9
0
0
-58
-50
39
0
0
-18
9
40
0
0
21
17
-26
0
0
8
-54
-64
0
0
51
-53
-68
0
0
-3
71
44
0
0
40
29
-5
0
0
-38
4
-4
0
0
-32
-19
52
0
0
24
-34
-35
0
0
28
36
0
0
0
-48
-13
1
0
0
1
-8
0
0
0
13
19
-41
0
0
1
13
0
0
0
-13
-24
-6
0
0
-8
29
-2
0
0
-23
-13
0
0
0
36
-3
0
0
26
41
3
-30
0
0
16
48
-40
0
0
31
40
9
0
0
4
6
-3
0
0
41
90
59
0
0
-41
13
0
0
0
4
-44
-2
0
0
52
-27
22
0
0
-7
40
-3
0
0
7
35
8
0
0
-41
6
37
0
0
3
-8
7
0
0
33
-2
-27
0
0
52
-28
33
0
0
27
11
-3
0
0
18
45
-8
0
0
-8
11
-1
0
0
7
11
14
0
0
65
13
-8
0
0
62
11
8
0
0
-25
3
-4
0
0
34
5
0
0
0
-13
8
0
0
0
20
-6
0
0
0
-39
27
-18
0
0
-8
22
0
0
0
-22
-8
5
0
0
56
-11
0
0
0
-4
0
-1
0
0
-5
3
0
0
0
12
17
1
0
0
9
-27
0
0
-5
59
-21
-11
0
0
-42
-37
-28
0
0
-33
27
17
0
0
74
-20
-39
0
0
20
4
26
0
0
-36
-21
39
0
0
5
30
-38
0
0
-32
21
-22
0
0
-62
99
62
0
0
-47
28
-25
0
0
-29
-3
54
0
0
64
136
-38
0
0
58
4
-27
0
0
106
-82
-34
0
0
-11
31
-11
0
0
-3
-20
53
0
0
25
-38
-6
0
0
-19
-16
-29
0
0
1
82
17
0
0
-12
16
2
0
0
-5
-17
1
0
0
1
-66
-14
0
0
-10
-12
1
0
0
0
50
0
0
0
-15
-34
32
0
0
-22
11
8
0
0
-6
-29
-5
0
0
0
-1
-5
0
0
-41
22
28
0
0
6
-24
-1
0
0
12
-34
4
0
0
5
0
1
0
-11
2
-39
-46
0
0
13
0
-85
0
0
28
62
48
0
0
41
29
29
0
0
-29
-8
-18
0
0
-39
18
55
0
0
40
17
1
0
0
-3
41
62
0
0
-28
70
16
0
0
2
-53
42
0
0
144
-24
-23
0
0
-36
52
50
0
0
-41
-3
25
0
0
22
-21
-11
0
0
9
-59
61
0
0
-10
-57
-36
0
0
-1
16
-18
0
0
-43
-39
-3
0
0
-30
-4
-6
0
0
-23
-28
-2
0
0
-15
2
5
0
0
12
12
0
0
0
-6
-25
3
0
0
0
-48
0
0
0
-30
7
8
0
0
1
-9
0
0
0
14
-6
0
0
0
-19
2
0
0
0
-13
17
0
0
0
-7
14
2
0
0
9
1
0
0
0
-9
-3
-2
0
3
-61
-74
-5
0
0
6
104
-16
0
0
-16
71
44
0
0
37
108
106
0
0
12
-7
-10
0
0
-10
2
-26
0
0
-33
21
-13
0
0
45
23
110
0
0
15
-1
-57
0
0
30
40
-47
0
0
31
-68
-15
0
0
-1
4
-55
0
0
-22
-38
-14
0
0
20
18
8
0
0
-69
44
56
0
0
60
22
-20
0
0
-15
-16
6
0
0
-1
-10
17
0
0
-3
-6
-16
0
0
41
-20
-3
0
0
-8
5
5
0
0
-4
10
3
0
0
9
-46
5
0
0
-15
-16
5
0
0
52
16
-8
0
0
-3
4
-1
0
0
8
-13
1
0
0
-4
-5
0
0
0
-1
-7
41
0
0
1
8
0
0
0
-37
23
-5
0
0
-2
13
0
0
22
6
-78
-13
0
0
8
-11
-30
0
0
-23
-15
3
0
0
8
33
21
0
0
-56
75
-38
0
0
-8
30
37
0
0
0
102
-15
0
0
27
21
121
0
0
4
5
-3
0
0
35
-12
41
0
0
27
-24
12
0
0
-22
-11
-13
0
0
50
28
20
0
0
30
-48
-20
0
0
10
-52
-57
0
0
25
-41
3
0
0
62
-94
9
0
0
-20
18
0
0
0
7
2
-1
0
0
33
-4
1
0
0
30
-9
0
0
0
-18
9
0
0
0
-87
-9
0
0
0
27
18
0
0
0
-45
-3
2
0
0
6
0
-1
0
0
9
-6
5
0
0
33
-20
0
0
0
0
4
2
0
0
7
5
-2
0
0
0
13
0
0
0
2
9
1
0
-17
3
3
52
0
0
83
53
57
0
0
2
5
-77
0
0
-28
-33
-81
0
0
96
-46
-67
0
0
-12
8
13
0
0
-16
42
-36
0
0
-24
17
-84
0
0
-2
33
53
0
0
12
-9
-38
0
0
20
23
-5
0
0
13
-25
-42
0
0
4
-46
21
0
0
-13
-47
2
0
0
43
-66
29
0
0
-38
-7
18
0
0
-11
-10
-9
0
0
-17
10
40
0
0
2
-27
-23
0
0
18
-9
2
0
0
-84
-50
49
0
0
-25
49
9
0
0
-36
71
1
0
0
-5
30
-13
0
0
30
45
-1
0
0
12
-21
-14
0
0
18
-20
17
0
0
15
-8
5
0
0
46
54
-5
0
0
36
-1
5
0
0
31
-41
-2
0
0
3
-17
-3
0
-60
-28
-42
73
0
0
41
-14
-45
0
0
-72
-6
27
0
0
-86
-36
10
0
0
54
-29
-42
0
0
-1
9
-39
0
0
37
-5
22
0
0
-42
6
-43
0
0
-11
37
35
0
0
-29
-44
12
0
0
-23
-45
7
0
0
31
33
-44
0
0
24
-3
-100
0
0
37
39
-6
0
0
37
-10
15
0
0
100
33
-36
0
0
-29
27
1
0
0
1
-30
3
0
0
-10
-30
-10
0
0
-1
-52
0
0
0
-26
-51
12
0
0
0
-14
-2
0
0
-37
28
0
0
0
27
-12
-1
0
0
22
-32
13
0
0
12
-1
26
0
0
-22
-1
-19
0
0
48
-1
7
0
0
4
19
2
0
0
-30
16
-5
0
0
0
1
2
0
0
19
-23
-8
0
10
-59
-78
19
0
0
-47
67
-5
0
0
62
36
36
0
0
62
-23
29
0
0
-60
61
89
0
0
-37
16
20
0
0
-1
-40
-1
0
0
-31
31
9
0
0
31
18
-17
0
0
24
-8
36
0
0
-26
-56
34
0
0
18
0
-22
0
0
21
14
71
0
0
52
56
4
0
0
85
-32
-43
0
0
16
17
-68
0
0
-45
8
-46
0
0
-3
2
-26
0
0
6
-8
4
0
0
21
40
-8
0
0
-32
-46
10
0
0
57
-28
5
0
0
-24
-14
8
0
0
1
9
0
0
0
-34
-1
1
0
0
8
6
0
0
0
1
-6
9
0
0
27
40
5
0
0
-58
-1
7
0
0
9
-28
1
0
0
6
-10
-25
0
0
34
-32
0
0
6
-41
-127
6
0
0
-18
34
28
0
0
41
42
-26
0
0
65
-55
14
0
0
-31
28
-8
0
0
28
59
14
0
0
92
-27
-8
0
0
-19
-7
33
0
0
-1
14
-93
0
0
-17
-23
-29
0
0
-39
105
26
0
0
-20
39
3
0
0
26
4
29
0
0
55
-1
-31
0
0
60
-62
11
0
0
-5
18
16
0
0
-34
-30
4
0
0
35
7
-2
0
0
30
4
-1
0
0
36
33
2
0
0
-3
-1
-6
0
0
4
61
0
0
0
19
3
-1
0
0
-55
55
-2
0
0
22
-4
-17
0
0
-8
-2
-7
0
0
-8
-4
21
0
0
-31
-10
-3
0
0
-37
14
-4
0
0
43
20
5
0
0
3
-24
0
0
0
-26
86
0
0
-16
87
-103
-58
0
0
-28
-6
83
0
0
-70
29
20
0
0
-9
13
-7
0
0
-61
79
-9
0
0
-44
22
31
0
0
-6
77
15
0
0
40
-4
11
0
0
61
0
37
0
0
-62
17
-79
0
0
17
-27
-1
0
0
-18
-5
49
0
0
21
-17
33
0
0
-4
-68
-8
0
0
36
-38
-5
0
0
44
-52
-38
0
0
81
-21
-66
0
0
-2
-18
8
0
0
72
9
10
0
0
-3
-13
-3
0
0
122
80
7
0
0
-9
-4
18
0
0
18
-25
27
0
0
-8
29
0
0
0
-34
12
28
0
0
-5
-20
0
0
0
-10
18
12
0
0
18
-6
4
0
0
-6
-75
18
0
0
-14
5
-22
0
0
44
43
10
0
0
2
46
-22
0
-5
45
-41
3
0
0
-54
-22
-4
0
0
-100
-24
-63
0
0
-4
26
-66
0
0
-70
-3
-27
0
0
-57
-11
-10
0
0
14
-15
6
0
0
-24
27
26
0
0
77
-5
38
0
0
-75
11
6
0
0
16
-41
73
0
0
-9
71
42
0
0
24
7
-30
0
0
-34
-21
-19
0
0
-15
-44
43
0
0
48
31
-11
0
0
2
28
-29
0
0
-4
23
4
0
0
-4
-3
3
0
0
12
-16
0
0
0
-25
22
1
0
0
-25
14
0
0
0
18
-4
0
0
0
31
19
0
0
0
-29
8
-5
0
0
0
-16
18
0
0
14
5
-13
0
0
-31
13
1
0
0
24
-5
40
0
0
-5
-3
0
0
0
8
4
1
0
0
40
-1
4
0
33
-123
-5
35
0
0
-36
-76
57
0
0
-21
-7
-5
0
0
40
26
-19
0
0
8
11
-85
0
0
41
16
-21
0
0
18
45
-46
0
0
-66
-4
1
0
0
31
-30
2
0
0
11
20
42
0
0
-33
58
-42
0
0
-47
11
43
0
0
-4
8
-37
0
0
-6
27
8
0
0
-63
-58
-3
0
0
3
-28
0
0
0
-35
38
-32
0
0
3
-19
7
0
0
-17
-7
-30
0
0
9
-8
0
0
0
60
5
-17
0
0
3
8
6
0
0
-19
-19
-10
0
0
-9
36
2
0
0
-26
20
1
0
0
0
6
-1
0
0
1
-6
5
0
0
8
4
1
0
0
26
-4
-12
0
0
0
-10
-27
0
0
79
-9
6
0
0
-9
7
0
0
58
-73
-74
-53
0
0
-3
-62
67
0
0
0
-15
-6
0
0
46
51
-113
0
0
19
31
28
0
0
-44
-12
6
0
0
8
5
0
0
0
60
42
-73
0
0
2
19
4
0
0
12
45
4
0
0
26
-35
77
0
0
3
9
31
0
0
-1
24
-5
0
0
16
-63
-16
0
0
-17
103
-29
0
0
-85
-25
3
0
0
8
0
0
0
0
24
0
-4
0
0
1
0
0
0
0
5
2
-8
0
0
2
-4
0
0
0
39
-5
-2
0
0
-22
1
3
0
0
15
22
0
0
0
29
0
0
0
0
3
0
0
0
0
-8
-1
-13
0
0
-52
-4
0
0
0
-13
3
0
0
0
-22
20
0
0
0
-17
25
-1
0
0
-50
18
-1
0
0
-4
28
51
0
0
32
31
-2
0
0
50
-60
64
0
0
-52
4
33
0
0
5
-28
-3
0
0
-62
-2
-18
0
0
-50
20
16
0
0
25
8
-14
0
0
79
89
5
0
0
6
46
7
0
0
50
32
-80
0
0
73
20
8
0
0
-59
27
-5
0
0
29
-63
-5
0
0
34
-78
-9
0
0
6
-37
0
0
0
-41
123
85
0
0
100
39
-31
0
0
0
24
31
0
0
-7
-32
16
0
0
35
18
50
0
0
-11
18
-25
0
0
-13
18
10
0
0
-8
-2
-1
0
0
27
-6
13
0
0
-20
82
20
0
0
15
54
-45
0
0
0
-6
14
0
0
-14
66
-19
0
0
7
39
-63
0
0
-53
-34
-43
0
0
-48
15
-22
0
-83
12
65
82
0
0
-36
-37
-5
0
0
-12
11
-9
0
0
3
-48
-55
0
0
2
20
60
0
0
40
-59
40
0
0
-31
83
5
0
0
17
30
-8
0
0
43
-60
38
0
0
42
45
0
0
0
-26
5
-5
0
0
19
-3
-2
0
0
21
-75
2
0
0
-8
-51
-2
0
0
39
25
-2
0
0
8
-8
-2
0
0
51
106
24
0
0
0
94
57
0
0
24
-3
-13
0
0
-14
-38
-4
0
0
-14
31
-16
0
0
63
1
21
0
0
25
-2
-5
0
0
-7
-59
-2
0
0
-56
-32
29
0
0
1
-14
0
0
0
51
-5
-1
0
0
-33
-46
-2
0
0
-5
33
-45
0
0
-1
-51
-13
0
0
9
-28
5
0
0
8
4
0
0
36
7
-19
-49
0
0
-12
30
-71
0
0
3
-10
-37
0
0
-43
-14
36
0
0
-2
83
-17
0
0
72
4
-27
0
0
-43
25
-9
0
0
-9
27
21
0
0
-66
28
-8
0
0
9
9
7
0
0
-37
42
22
0
0
47
-59
0
0
0
4
50
5
0
0
-5
27
2
0
0
13
-6
-1
0
0
10
-37
0
0
0
19
-57
-72
0
0
0
47
-18
0
0
17
0
42
0
0
0
-7
23
0
0
-15
9
12
0
0
22
-15
-34
0
0
-45
15
-1
0
0
3
-37
3
0
0
75
51
-33
0
0
4
5
23
0
0
-29
-15
5
0
0
19
-34
0
0
0
-50
24
91
0
0
-2
-3
-11
0
0
40
-17
19
0
0
9
1
-1
0
48
-1
3
37
0
0
47
-21
7
0
0
-20
34
27
0
0
-60
-8
-20
0
0
20
-15
-14
0
0
31
42
-53
0
0
-48
23
5
0
0
17
-34
-5
0
0
13
-32
-14
0
0
34
14
0
0
0
-21
40
0
0
0
8
22
4
0
0
-3
9
0
0
0
14
28
-2
0
0
39
-16
0
0
0
42
-38
1
0
0
1
48
6
0
0
-7
20
9
0
0
-7
-4
12
0
0
69
-13
0
0
0
-3
3
28
0
0
74
-18
-4
0
0
12
-28
3
0
0
30
-9
8
0
0
-55
33
-13
0
0
-41
4
-4
0
0
0
14
-7
0
0
9
-11
-1
0
0
-25
-5
6
0
0
-5
36
2
0
0
-8
1
3
0
0
-9
37
3
0
-20
-10
-10
-49
0
0
21
-13
0
0
0
41
49
-71
0
0
-11
5
13
0
0
-50
-17
16
0
0
9
-26
-1
0
0
14
13
3
0
0
2
22
0
0
0
27
-2
25
0
0
-31
-14
3
0
0
-8
27
8
0
0
25
21
1
0
0
59
34
-1
0
0
-10
13
0
0
0
62
-40
5
0
0
-9
-16
-1
0
0
51
-16
-3
0
0
-3
3
16
0
0
-31
15
-9
0
0
7
-2
-7
0
0
-125
-4
17
0
0
-20
63
-20
0
0
14
-19
9
0
0
5
-9
0
0
0
-29
38
-60
0
0
-6
41
-41
0
0
38
-16
39
0
0
-30
7
8
0
0
-56
4
-6
0
0
-2
-50
-12
0
0
-25
27
48
0
0
13
1
-7
0
-29
-22
78
18
0
0
-19
-5
-13
0
0
-5
-22
13
0
0
-2
1
-22
0
0
16
-12
0
0
0
5
-43
16
0
0
9
-30
0
0
0
-4
-61
3
0
0
-6
16
-3
0
0
3
27
1
0
0
-16
10
-3
0
0
-70
13
3
0
0
-14
-19
1
0
0
17
24
0
0
0
31
25
0
0
0
17
-5
5
0
0
-26
-42
-2
0
0
0
-9
-15
0
0
-29
30
-6
0
0
-30
1
-15
0
0
22
34
-5
0
0
-10
-7
-6
0
0
-1
0
1
0
0
-22
18
2
0
0
3
33
11
0
0
-1
28
-1
0
0
-12
-1
5
0
0
47
0
-7
0
0
-38
-36
-29
0
0
-12
0
10
0
0
-19
-1
-5
0
0
-22
31
0
0
-6
19
5
-17
0
0
-6
-10
-1
0
0
34
18
19
0
0
-8
31
-5
0
0
-4
30
-24
0
0
7
-14
8
0
0
-33
29
-24
0
0
-25
18
6
0
0
122
6
-24
0
0
-17
6
-2
0
0
11
24
-6
0
0
43
-9
-1
0
0
-25
22
0
0
0
9
-17
-8
0
0
-14
-37
5
0
0
-2
6
1
0
0
-55
2
-8
0
0
1
-3
-17
0
0
-6
-17
20
0
0
5
30
-2
0
0
-33
-12
19
0
0
-8
-1
10
0
0
-52
-44
2
0
0
9
-45
-5
0
0
-61
26
-7
0
0
14
-18
19
0
0
13
14
17
0
0
21
-22
1
0
0
55
-6
4
0
0
-5
-12
-8
0
0
-18
-12
-16
0
0
-16
70
4
0
-39
81
-68
-6
0
0
21
-3
-2
0
0
0
-1
0
0
0
3
4
1
0
0
-15
0
3
0
0
8
-2
3
0
0
6
16
0
0
0
-30
17
0
0
0
-8
5
0
0
0
30
-15
0
0
0
6
7
3
0
0
49
-12
0
0
0
58
-5
-1
0
0
25
16
-1
0
0
-6
25
0
0
0
-24
48
0
0
0
11
1
1
0
0
0
2
-9
0
0
5
-2
-4
0
0
13
7
0
0
0
-17
-9
-1
0
0
0
0
0
0
0
-50
12
0
0
0
22
6
-3
0
0
-25
2
32
0
0
3
-15
0
0
0
14
1
-10
0
0
14
10
5
0
0
-24
-28
8
0
0
-1
2
41
0
0
-4
4
0
0
0
-28
42
0
0
-6
-10
55
-19
0
0
27
53
-15
0
0
-67
-16
2
0
0
1
-33
0
0
0
-5
-9
13
0
0
-9
-5
30
0
0
3
21
0
0
0
-3
68
1
0
0
4
16
-26
0
0
-35
55
0
0
0
20
30
15
0
0
-15
48
-1
0
0
11
0
42
0
0
13
-6
-1
0
0
66
-60
5
0
0
-45
-20
1
0
0
12
-41
37
0
0
-12
18
-18
0
0
-15
-20
3
0
0
44
-11
-1
0
0
-1
-36
41
0
0
15
-17
-24
0
0
11
-18
-7
0
0
-14
9
17
0
0
26
56
5
0
0
10
-28
6
0
0
40
49
-13
0
0
-18
-38
21
0
0
73
21
-52
0
0
-4
-30
21
0
0
-1
74
7
0
0
-81
42
15
0
9
69
2
16
0
0
-21
-21
10
0
0
1
-23
-1
0
0
-4
-58
3
0
0
5
40
-3
0
0
2
22
0
0
0
8
-17
0
0
0
-8
-47
0
0
0
-26
6
-6
0
0
-8
28
0
0
0
24
23
-9
0
0
13
29
0
0
0
9
46
7
0
0
-18
35
0
0
0
3
43
0
0
0
-18
8
1
0
0
-8
-22
6
0
0
-38
-75
13
0
0
-36
-5
41
0
0
74
40
-16
0
0
14
31
1
0
0
11
26
-40
0
0
58
31
7
0
0
5
109
0
0
0
46
-22
-22
0
0
-26
40
13
0
0
-27
-65
19
0
0
59
-33
-3
0
0
-26
44
-5
0
0
-9
-22
21
0
0
-35
58
57
0
0
15
14
-8
0
17
-64
6
46
0
0
-43
4
-27
0
0
-12
58
7
0
0
59
30
1
0
0
23
-9
-7
0
0
-7
3
-14
0
0
-8
-33
-10
0
0
20
34
2
0
0
-9
1
-23
0
0
34
17
-7
0
0
48
23
-30
0
0
-13
66
-3
0
0
46
31
-1
0
0
-38
47
7
0
0
-36
24
4
0
0
2
59
-4
0
0
-24
13
-3
0
0
6
14
27
0
0
2
-17
-15
0
0
-38
18
9
0
0
10
50
18
0
0
-12
-41
10
0
0
6
12
-19
0
0
-6
23
3
0
0
7
-25
-36
0
0
15
17
-7
0
0
41
11
59
0
0
-46
61
29
0
0
-56
-21
-16
0
0
33
-12
38
0
0
-8
13
68
0
0
64
12
-4
0
13
47
-94
-1
0
0
-25
17
3
0
0
-8
-16
6
0
0
12
-52
-15
0
0
35
11
-2
0
0
0
2
-5
0
0
16
2
-1
0
0
27
57
18
0
0
24
21
3
0
0
-6
45
0
0
0
-10
-25
-1
0
0
17
60
-12
0
0
-27
6
0
0
0
35
29
0
0
0
34
-4
3
0
0
33
-45
-3
0
0
41
-6
-1
0
0
-3
17
13
0
0
2
19
-16
0
0
-38
29
-5
0
0
-51
14
2
0
0
4
19
15
0
0
7
11
-19
0
0
-13
-11
6
0
0
-52
4
32
0
0
34
17
-5
0
0
17
-29
14
0
0
-12
3
19
0
0
-41
-46
12
0
0
0
-5
28
0
0
63
-15
65
0
0
32
-1
1
0
-18
100
61
-21
0
0
-54
19
15
0
0
-30
-5
1
0
0
0
-33
-1
0
0
33
8
-16
0
0
5
7
1
0
0
50
19
-10
0
0
-1
8
0
0
0
-29
-23
4
0
0
-31
-47
-5
0
0
-32
92
-19
0
0
17
49
-5
0
0
-3
70
40
0
0
-58
4
0
0
0
29
52
1
0
0
-16
58
0
0
0
38
-49
-10
0
0
8
12
-3
0
0
-21
41
-3
0
0
7
60
3
0
0
-34
-84
31
0
0
-12
-9
9
0
0
7
49
-17
0
0
2
-12
3
0
0
6
28
14
0
0
18
24
35
0
0
-49
-21
32
0
0
24
-2
21
0
0
42
81
-16
0
0
16
54
-39
0
0
30
31
7
0
0
-4
5
49
0
-20
21
49
-6
0
0
-5
0
-1
0
0
-3
13
-1
0
0
-3
-8
1
0
0
18
52
0
0
0
-3
-14
0
0
0
1
4
0
0
0
-6
13
0
0
0
6
-13
-3
0
0
10
33
0
0
0
-11
14
5
0
0
-34
-22
-3
0
0
-23
55
-12
0
0
-17
-55
0
0
0
-13
63
0
0
0
-35
6
0
0
0
-23
14
4
0
0
-5
-37
-5
0
0
16
-9
3
0
0
-4
1
-1
0
0
-77
15
-29
0
0
23
12
2
0
0
-16
41
-9
0
0
-5
3
4
0
0
40
0
17
0
0
7
18
82
0
0
-7
-37
58
0
0
-23
14
-10
0
0
20
-70
-47
0
0
-15
-11
3
0
0
16
0
-8
0
0
18
48
9
0
47
26
24
-5
0
0
-15
-3
5
0
0
26
44
5
0
0
29
-27
0
0
0
-12
-41
0
0
0
12
27
0
0
0
-23
52
-3
0
0
8
11
0
0
0
36
-46
-5
0
0
32
-10
0
0
0
49
-6
-5
0
0
44
15
0
0
0
-40
34
3
0
0
18
9
3
0
0
4
1
-1
0
0
17
-4
1
0
0
-71
-53
-46
0
0
-24
5
-25
0
0
-2
11
-6
0
0
-8
-9
2
0
0
53
3
-14
0
0
8
-2
0
0
0
42
12
13
0
0
10
18
2
0
0
10
-40
30
0
0
-17
-6
16
0
0
-58
14
4
0
0
4
-12
-30
0
0
11
-55
16
0
0
-6
21
50
0
0
-42
58
49
0
0
-12
9
29
0
31
36
-43
-1
0
0
-47
5
-1
0
0
2
2
0
0
0
3
1
0
0
0
2
-14
0
0
0
5
-16
2
0
0
0
4
0
0
0
31
-18
0
0
0
36
-13
0
0
0
-5
30
0
0
0
6
8
0
0
0
39
25
3
0
0
45
-10
0
0
0
30
9
2
0
0
65
4
-5
0
0
10
42
-2
0
0
-74
8
-4
0
0
46
24
4
0
0
-1
-7
-1
0
0
31
9
6
0
0
-26
9
-7
0
0
-16
6
-2
0
0
-26
-2
4
0
0
8
25
0
0
0
-15
17
-8
0
0
51
42
-30
0
0
5
-7
4
0
0
-12
-8
-7
0
0
-4
30
16
0
0
-6
16
13
0
0
1
-12
5
0
0
-18
16
18
2
33
-21
-2
29
0
-10
-43
-57
-30
0
-11
50
9
11
0
13
27
26
-53
0
24
-9
-22
41
0
-13
-13
-9
-32
0
8
24
1
7
0
-7
39
8
-10
0
4
1
-48
-11
0
2
11
21
-26
0
17
-9
58
5
0
-26
7
21
13
0
22
-4
22
6
0
-56
-55
60
-69
0
5
-28
11
-98
0
58
-7
82
1
0
55
-14
21
34
0
-13
-26
-10
-26
0
17
-40
-67
-16
0
-60
-9
49
-41
0
-9
-16
-9
14
0
-62
-7
-11
40
0
-29
-14
59
-51
0
15
-48
-33
14
0
3
-87
11
46
0
22
3
-27
-39
0
15
9
19
31
0
-3
-18
-32
33
0
-23
38
60
-19
0
-62
33
58
9
0
14
29
-48
39
0
34
-80
46
6
-19
-32
15
39
12
0
-35
-9
-19
-62
0
78
66
32
-11
0
-37
51
28
11
0
-3
-25
52
-51
0
-36
-7
-28
-59
0
-4
30
10
21
0
42
38
-54
99
0
-52
-58
-48
33
0
-103
14
45
11
0
35
8
60
44
0
-21
-8
25
123
0
-30
6
26
69
0
-19
-27
-13
-33
0
35
45
-47
-7
0
59
8
38
-4
0
-25
31
-62
-50
0
-44
-62
27
-44
0
-73
-26
30
18
0
52
-47
39
-12
0
-20
-77
-24
14
0
-83
-55
-12
67
0
-18
-20
58
-9
0
-40
43
17
52
0
60
-95
-33
-6
0
-38
-37
-38
16
0
46
-20
87
-11
0
79
1
8
38
0
15
16
40
16
0
-35
-33
-35
-7
0
36
-33
1
13
0
-14
5
35
0
24
-34
-20
-34
-25
0
-24
54
44
22
0
18
23
4
15
0
19
18
83
2
0
-2
-32
26
4
0
-12
0
30
2
0
-14
-40
1
10
0
14
26
30
0
0
8
3
-1
-68
0
-19
2
19
-11
0
-12
6
-89
8
0
-4
14
38
25
0
8
65
37
5
0
39
-34
-47
-45
0
15
-2
9
7
0
-35
80
-50
-17
0
-13
16
30
-23
0
-4
34
-18
1
0
32
-40
8
19
0
2
-15
7
-23
0
-37
-2
-64
29
0
-23
11
82
5
0
-3
-34
5
-12
0
9
-37
10
-21
0
5
-34
16
29
0
59
42
44
-2
0
24
-50
-24
13
0
-42
-14
26
25
0
-9
23
35
3
0
34
31
47
0
0
-36
11
10
-16
0
1
67
18
-1
31
-40
-69
-21
-9
0
77
34
-7
-12
0
47
-14
7
16
0
-28
-10
-38
55
0
10
87
38
-17
0
-42
-16
-61
16
0
11
-18
108
23
0
-78
57
30
59
0
-23
-14
-77
-13
0
92
65
-52
16
0
5
-15
15
-12
0
51
43
89
-44
0
71
44
8
-5
0
89
21
-31
34
0
-17
56
-68
-3
0
17
2
55
22
0
-53
-16
22
-58
0
40
48
-88
28
0
6
73
-16
-60
0
-25
75
-9
-17
0
-34
29
2
-8
0
6
-43
-37
-12
0
-47
-15
0
0
0
11
-38
-1
-1
0
38
31
15
5
0
44
38
22
1
0
25
-19
28
0
0
-58
13
-17
0
0
44
15
-32
-19
0
-20
3
-2
-4
0
22
37
-5
3
0
26
-11
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
11
-12
-13
0
-68
0
-22
-28
0
6
-56
19
-58
0
-93
-13
55
-25
0
-35
32
-61
-18
0
-12
6
-1
-4
0
-10
-18
1
-5
0
-23
4
-63
9
0
-19
-46
22
10
0
8
12
-35
-31
0
20
-56
-1
-34
0
19
-91
-82
-16
0
-5
51
8
19
0
-39
0
31
25
0
26
-7
47
-5
0
94
-15
-27
14
0
49
87
49
-54
0
47
19
43
51
0
27
-15
15
29
0
-27
20
79
53
0
53
31
-1
21
0
27
-21
-46
-6
0
18
0
-53
33
0
-5
18
-18
3
0
-17
62
22
-5
0
-39
8
35
1
0
38
-45
69
2
0
33
-14
-60
-1
0
-26
53
85
-44
0
-22
26
-32
-7
0
-15
-25
51
-29
0
41
14
-7
-13
-38
-50
1
0
-52
0
-61
11
-13
-36
0
96
18
-23
2
0
7
54
44
54
0
-56
28
0
110
0
-41
1
-41
28
0
23
-68
29
29
0
33
-37
-74
3
0
21
-8
24
-68
0
0
-108
-19
-134
0
71
81
-30
-4
0
35
1
-3
-2
0
47
-8
7
-16
0
-32
22
7
-39
0
21
-82
-15
-47
0
21
-51
-47
-38
0
-92
23
-30
14
0
-75
-60
32
20
0
30
-12
-46
5
0
54
72
-88
40
0
-43
-39
36
-7
0
42
-33
33
7
0
3
119
0
-3
0
-46
0
-7
0
0
-8
-20
12
16
0
-33
-33
24
-10
0
-16
25
55
-15
0
9
31
-5
-1
0
-41
44
14
19
0
-30
-41
-2
-3
0
24
20
-8
5
0
-18
29
-10
-2
0
12
-44
5
16
0
-97
18
30
52
0
-46
-58
3
-42
0
104
75
-72
-23
0
-108
-12
-54
-22
0
18
-13
-1
71
0
-50
3
-7
-25
0
-18
-41
15
-5
0
1
31
-23
68
0
86
-14
-14
-31
0
1
-92
-14
74
0
11
-9
-7
-21
0
-19
15
10
-68
0
51
29
34
-38
0
-52
29
15
-20
0
-21
4
25
-25
0
-64
21
21
-26
0
-11
-20
36
5
0
59
-29
33
-7
0
58
24
-1
-6
0
44
25
-1
-5
0
47
-27
31
6
0
-53
-33
0
33
0
50
60
-14
2
0
-94
14
-3
-27
0
12
55
-16
12
0
-62
43
-52
7
0
79
1
-47
-1
0
-77
-18
67
32
0
-2
-29
21
0
0
3
72
28
3
0
70
25
-36
-3
-11
-21
-30
7
-52
0
-80
-14
-3
28
0
-81
-44
29
52
0
60
35
-34
-58
0
-21
-12
56
-50
0
-2
17
30
-84
0
27
-5
-17
-9
0
-47
-4
10
33
0
20
4
45
60
0
9
-27
16
-23
0
-18
85
-32
19
0
73
23
-16
11
0
4
-87
-15
-2
0
40
-26
-8
5
0
-38
15
-21
43
0
-19
30
-20
-31
0
62
50
-8
6
0
26
71
-35
-3
0
43
-6
44
-2
0
-28
58
53
-41
0
51
-27
12
4
0
-31
37
24
-2
0
-8
12
-12
-2
0
-34
57
25
-2
0
-6
-8
4
-7
0
42
-50
26
3
0
-4
-26
-35
0
0
4
-22
-43
16
0
3
-52
-7
23
0
55
-51
-5
1
0
3
38
-49
4
0
27
-3
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-54
38
-21
-50
0
-67
-10
-47
43
0
0
-5
-19
20
0
78
-30
68
28
0
22
15
-37
-52
0
-10
-44
55
-48
0
-23
25
2
-7
0
6
-24
-34
-6
0
32
28
-47
37
0
20
7
32
-88
0
-17
14
-12
83
0
7
22
71
-1
0
105
19
47
-24
0
-3
-7
50
60
0
20
47
95
36
0
55
30
26
-9
0
-63
24
6
-40
0
-81
94
-72
-28
0
-116
47
39
-37
0
2
-18
12
28
0
-90
53
-10
22
0
-39
-56
-17
-55
0
-21
18
9
9
0
-18
36
8
28
0
-27
2
-11
-79
0
-22
-41
104
17
0
-39
23
3
24
0
-82
49
53
26
0
18
3
15
20
0
31
-39
24
-31
0
36
12
-13
67
0
13
42
-26
-5
-30
-52
-23
-22
-15
0
-9
-51
-14
-14
0
9
-2
-18
18
0
68
10
-22
24
0
85
10
-11
19
0
-39
16
23
7
0
70
15
-52
11
0
-47
-25
53
2
0
-71
20
-19
-10
0
-11
30
0
3
0
19
-27
-26
-13
0
-57
7
-4
16
0
-12
18
-12
10
0
-33
1
-17
-9
0
45
-29
52
5
0
-20
9
-29
-4
0
43
-13
-2
-19
0
19
-11
-21
19
0
-8
67
59
-6
0
74
-21
-21
44
0
-18
14
6
-47
0
-33
20
23
-20
0
-11
23
-64
-26
0
57
-28
-16
-13
0
-1
81
-29
3
0
-52
58
24
27
0
15
58
-5
-8
0
36
158
33
6
0
-20
-46
34
41
0
28
-15
49
-63
0
18
-23
31
14
0
48
-24
15
5
-11
14
-24
-21
-36
0
112
86
-64
58
0
-104
-46
53
-57
0
23
50
-45
-25
0
-60
-7
6
63
0
-8
31
-42
15
0
14
-25
-22
42
0
27
-5
-53
1
0
59
-25
9
-2
0
78
20
-23
21
0
24
11
44
4
0
19
-6
9
-14
0
1
-9
-21
52
0
58
79
-1
6
0
62
11
55
-7
0
-18
-6
40
0
0
-11
-32
-57
28
0
-74
59
-8
33
0
-34
-50
-34
54
0
78
12
26
17
0
-77
-15
-30
-52
0
48
-5
18
-13
0
7
-56
-19
-11
0
-59
54
-10
-1
0
-17
-13
33
82
0
51
23
-38
-38
0
0
40
48
-12
0
41
55
-5
-2
0
16
33
-26
-13
0
45
-7
-65
17
0
24
38
-24
-29
0
42
69
14
-4
-29
7
3
34
-29
0
-117
46
14
30
0
32
36
-10
23
0
-6
72
81
28
0
9
19
-17
-5
0
-39
19
15
22
0
-8
-25
-12
10
0
43
30
61
6
0
-5
52
20
-12
0
31
29
-6
1
0
-13
54
48
5
0
33
-16
-27
-13
0
77
29
-35
10
0
26
-13
-5
-6
0
19
-5
-2
8
0
21
10
32
0
0
-66
-38
100
-69
0
2
81
-19
7
0
-75
47
5
-29
0
-24
15
8
31
0
-48
-11
-3
48
0
4
41
13
-48
0
1
15
-3
7
0
-38
27
-1
2
0
37
7
52
59
0
23
-5
-28
0
0
-31
-8
13
-19
0
-86
-51
25
0
0
-4
38
20
-13
0
-10
-23
8
-2
0
68
25
-7
-2
0
9
70
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
-56
-74
16
0
17
5
17
20
0
93
44
12
46
0
-32
69
-11
-23
0
2
36
50
-71
0
-40
1
57
15
0
-19
52
45
25
0
30
-25
1
8
0
1
33
42
28
0
-33
9
-63
12
0
40
40
7
-2
0
29
21
12
-12
0
-1
37
-24
-6
0
3
51
16
9
0
76
-33
31
-20
0
5
-19
46
5
0
-31
23
67
-1
0
63
-33
-14
-18
0
-54
92
40
19
0
-2
17
37
-47
0
-43
3
26
57
0
-23
26
19
44
0
-15
-33
54
-16
0
-19
-14
89
29
0
-41
47
20
-7
0
-51
-21
-26
22
0
-8
-21
68
-14
0
39
20
-13
50
0
9
-21
68
-17
0
-68
16
-17
-24
0
-36
7
-1
-4
0
74
59
-40
-7
-8
113
43
-4
1
0
-58
16
-19
13
0
-7
25
4
5
0
-24
35
-19
-3
0
54
-77
27
-30
0
79
37
25
4
0
0
7
24
-2
0
22
35
4
-4
0
4
39
-31
-40
0
-84
-22
0
66
0
63
60
4
6
0
16
51
31
20
0
-67
-11
114
49
0
10
-36
38
80
0
-22
3
-34
-3
0
15
-2
-3
-24
0
-19
24
6
89
0
-52
4
56
-28
0
164
51
-13
-90
0
18
57
19
-32
0
53
42
40
-11
0
-7
-34
-46
22
0
63
22
0
-42
0
87
-6
47
8
0
30
-14
-22
59
0
-50
-17
74
-39
0
-44
34
27
44
0
31
25
24
20
0
-36
26
10
27
0
-24
8
6
31
0
-6
-1
-7
-5
0
0
7
47
54
-55
106
43
32
-45
0
82
-1
21
26
0
-74
8
-24
5
0
-12
34
61
23
0
9
46
96
-24
0
32
39
-79
-2
0
20
-29
-16
33
0
88
37
-8
0
0
17
23
3
-52
0
0
57
-4
7
0
-63
65
-34
1
0
71
48
42
24
0
-25
43
8
37
0
43
-5
-44
5
0
27
11
38
-82
0
-34
15
-4
-15
0
-67
-74
53
61
0
30
24
7
4
0
40
-40
-25
49
0
73
21
65
35
0
113
6
-48
-5
0
29
-17
40
-25
0
-54
-40
23
53
0
-11
-14
8
16
0
-57
12
-12
11
0
-59
15
12
17
0
-87
-20
46
12
0
-18
-19
17
5
0
26
-31
2
72
0
56
-23
46
40
0
-5
19
-72
59
0
-94
20
62
4
21
-34
38
14
-5
0
-11
-30
-3
-6
0
8
11
25
-12
0
53
17
65
1
0
0
9
-14
21
0
0
-27
17
0
0
-4
-5
-9
-3
0
13
31
-15
1
0
-23
58
80
-1
0
-7
71
8
3
0
-1
54
11
22
0
36
8
31
7
0
74
0
-38
39
0
-4
-20
39
-7
0
-16
-10
-41
-30
0
11
-5
9
7
0
-64
-4
43
25
0
-5
16
33
-13
0
-34
0
-12
-15
0
-36
13
-36
-23
0
-12
-74
78
-4
0
29
-39
13
0
0
-39
62
14
0
0
-23
-8
48
-1
0
-39
-53
27
27
0
49
43
-20
56
0
21
-13
-3
-21
0
43
-35
-16
5
0
-55
9
83
-44
0
38
33
26
20
0
37
-5
19
-15
0
-69
0
45
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-11
4
41
5
9
31
-1
12
-18
-6
-38
-3
11
-1
0
51
-15
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-35
-2
-55
51
40
14
-22
-42
-40
-16
-30
-10
-54
-21
9
-44
-20
30
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-11
-27
-51
-53
-109
13
-18
21
-1
-86
21
86
24
-44
35
-26
43
13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
93
-4
30
-26
33
-28
-24
-21
-23
68
111
-65
18
93
37
-67
6
36
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-16
18
-10
-25
-11
51
-59
0
12
-12
31
20
41
3
47
30
-23
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
-40
-3
-45
14
-4
32
-15
19
81
1
49
-45
8
-50
-29
27
73
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-69
12
43
23
-17
9
-8
27
-3
12
3
7
-13
8
-1
60
90
-15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-64
-36
83
-75
16
-2
19
42
21
-3
-67
-68
-29
19
12
59
-4
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-23
36
-27
-9
42
-21
34
-42
23
42
-13
2
43
26
61
-31
17
-4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-22
0
-18
-6
100
15
-56
-53
-19
-86
74
8
72
15
13
28
-57
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
8
-63
-32
3
-15
66
-13
0
8
-31
-64
78
20
56
-12
-68
8
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-83
-7
-18
-5
3
9
49
34
35
-19
-76
2
60
24
34
7
27
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
31
34
30
-7
-17
-67
42
81
35
76
-40
-23
40
79
24
58
108
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
26
-21
9
35
-31
29
-27
-31
15
12
55
-40
-14
-19
35
-20
-63
2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-39
32
-5
-8
37
17
-40
-18
7
8
28
-9
50
-39
-43
-12
13
18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-40
23
28
22
26
58
4
-7
0
-69
5
125
-10
3
36
-20
-18
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
38
-15
-23
-9
26
2
-12
23
28
45
35
-12
46
-51
15
27
-26
27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-15
11
-31
21
-61
-53
-38
20
-46
37
18
79
36
-6
-32
4
18
33
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
17
32
48
-82
16
27
-23
-35
-95
-78
2
51
63
7
19
46
-12
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-8
34
-44
96
1
-20
66
7
29
24
-14
-104
48
28
-5
-30
13
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
-3
-21
20
13
-54
76
-1
94
-24
66
35
43
81
-30
66
30
52
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
-30
-57
-21
-10
0
-22
64
-76
16
6
-3
84
-12
-50
48
-27
1
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-94
31
-26
-17
9
-84
6
17
19
-28
83
-6
16
5
5
-52
33
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-57
-40
-8
-34
51
21
-116
-36
-16
6
28
36
9
-73
-90
76
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-10
-21
17
7
5
7
65
-36
30
57
-5
33
12
-3
-7
5
51
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-10
35
5
-51
-4
3
-66
21
-8
72
53
63
21
-49
-35
-77
-37
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
104
-17
37
-19
-25
-3
43
-15
23
-6
-1
45
-45
5
-31
15
41
47
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-87
37
-10
38
-37
-52
70
30
-1
-70
26
28
16
-17
73
55
-13
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
-5
30
18
93
-106
-24
50
17
-5
-6
19
-1
1
62
-8
0
30
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
-2
-22
-10
30
6
-70
-22
-10
12
-44
82
-15
-1
55
-7
39
21
28
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-83
52
38
25
-7
-27
-28
25
7
-13
58
6
10
5
25
-20
5
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-6
34
-49
19
-8
23
-18
12
-49
8
-4
23
-2
60
-6
-8
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
16
25
-27
-45
-2
-111
-11
16
-56
29
-46
4
3
16
-8
-34
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-34
16
47
-43
-44
3
23
-44
-25
-31
-22
14
-11
-24
97
-42
-32
-25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-23
22
81
-49
-10
51
16
58
-34
21
-77
-16
-17
24
57
23
-35
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
35
38
7
26
45
17
71
20
-51
-42
8
-19
43
56
8
-109
20
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
23
-24
-44
-26
-78
5
-44
-30
-109
33
15
29
16
53
-47
-41
9
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
19
-36
-29
57
82
-20
41
-13
-42
53
-78
4
-11
-27
72
34
3
-17
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-77
6
9
-4
-80
34
-50
-5
-14
48
13
-26
27
-28
-49
16
57
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
121
46
-55
-26
-29
55
98
19
51
-26
92
64
-26
13
-4
31
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
49
64
52
58
8
5
39
-34
36
46
2
13
-27
-21
-10
70
74
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
38
-7
16
-22
-32
7
59
-16
-5
-51
18
-26
-6
25
-63
-1
-37
-12
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-35
60
-6
12
107
90
14
-20
29
-21
-14
67
-28
0
-24
-11
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
54
-14
-23
8
-18
3
48
-8
59
-31
-30
-1
14
7
43
-30
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
5
14
68
6
-27
-69
28
-5
70
35
-46
-33
84
-23
-9
26
-27
22
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
36
78
-21
-5
-11
-3
-44
2
-16
34
32
-34
-6
-19
51
-40
-3
-4
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-15
16
25
14
26
35
66
-95
13
111
78
61
-29
-2
-3
26
48
14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
23
-14
-14
23
-86
-30
30
54
4
-9
16
-15
-32
-24
108
6
19
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
32
-9
81
27
-40
47
-51
2
-12
-31
21
52
-27
6
-36
11
84
-48
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-27
43
32
-15
91
-54
24
-47
15
37
-54
1
-39
8
4
7
5
-51
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
89
-90
-32
-20
18
26
5
36
43
-23
13
17
5
-9
36
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-26
10
12
-25
-6
2
46
-19
57
33
72
-78
-14
31
-5
13
-7
31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
28
13
29
-42
-3
18
27
41
-40
52
27
67
-39
45
16
34
-52
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-25
-26
-6
-17
-97
-42
-39
-45
11
-9
-64
-9
-16
-69
-110
-121
20
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
34
14
-12
30
7
-13
59
4
5
-26
-8
10
-63
4
-14
-31
75
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
81
-27
18
7
-93
36
-26
-5
43
4
2
4
-8
13
0
18
28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
30
-46
-62
12
-5
72
-19
29
-21
-48
-59
7
61
20
9
30
-22
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
17
16
-51
36
73
-2
49
32
-58
11
-10
-22
-21
28
-7
-43
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-52
12
23
-47
-2
-30
2
52
7
16
29
-30
-44
-17
-13
10
28
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-32
2
9
-18
18
-22
46
26
7
43
-50
43
-5
0
75
1
25
56
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
5
-17
-89
-12
-6
-2
39
-9
-11
10
-31
-24
45
-37
-43
-58
113
-91
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-94
17
15
-26
7
63
-18
30
-7
-15
-57
-27
15
-18
1
-100
-20
-5
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
13
21
1
-6
24
35
25
-9
30
10
-7
2
-1
-17
26
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
58
-12
16
16
21
49
10
-12
-2
35
19
50
8
1
12
4
-68
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
-6
-39
-50
6
-34
-11
-1
-20
-53
30
0
-26
-24
56
-53
-14
20
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-21
2
9
-39
20
2
59
-72
-7
-57
-7
28
10
-16
-64
48
-10
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-76
57
14
0
-64
4
22
8
-64
20
87
-71
-66
25
0
46
23
15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
22
38
22
-27
-34
57
-31
24
81
-28
-21
-20
21
-27
-2
-12
-38
65
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-38
44
-90
-101
7
-2
-62
65
1
-65
35
39
-12
7
7
56
3
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-11
-19
23
5
49
-40
8
31
-3
38
24
71
49
-49
10
29
-1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-23
68
-30
13
-22
-21
-25
-66
-42
49
-24
34
-13
-63
73
-89
-30
-15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
37
33
70
-10
20
-14
31
7
54
-10
100
1
5
11
55
-16
47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-11
11
37
-23
-13
24
24
47
45
115
-68
-23
-49
5
-8
5
5
-44
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
1
24
-70
-39
-1
50
31
11
-20
22
14
-83
10
-3
-17
-7
-7
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
51
75
-3
22
-12
-43
-20
19
21
23
-12
-24
11
50
-46
18
67
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
8
36
-17
33
44
8
-19
-3
21
40
24
21
-29
-19
-23
-20
27
-8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
29
112
41
-3
-2
-51
84
21
-15
28
26
28
35
-41
-86
103
17
45
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-13
-107
-38
47
78
-88
88
50
-1
-4
68
27
1
0
5
-27
1
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
105
20
52
-54
10
51
60
-33
-55
12
43
15
-43
-19
-2
-74
79
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
36
45
-11
-7
32
42
18
-23
-30
7
-23
24
-23
3
-5
61
14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-78
15
72
-45
-30
15
-33
16
102
-17
-20
28
4
-10
9
24
94
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
26
97
-23
2
33
58
-22
-68
18
94
-105
-11
75
20
-4
13
32
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-40
-29
13
25
-35
-5
3
51
-50
9
24
78
-63
44
33
16
-17
49
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-63
3
28
29
-48
-2
-5
76
-91
30
14
34
20
-38
61
84
-11
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
24
-19
-4
40
-11
10
-17
6
-3
-15
-76
25
59
-4
1
27
22
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
145
10
-30
-6
-50
17
-41
-53
4
33
-1
-11
38
30
-50
-14
73
28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-13
-2
16
19
-33
-34
-27
-19
13
19
-30
10
7
16
23
19
24
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-102
9
-21
-29
27
8
35
-1
0
6
51
35
-83
51
5
60
16
14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-7
100
-10
0
-14
75
-33
-2
13
6
-52
83
-4
-4
1
32
21
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
14
-8
12
-29
45
-17
28
2
57
25
-16
-8
7
13
2
24
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
35
-9
4
-24
12
43
18
5
36
-28
76
-9
-51
80
-8
-22
30
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-41
55
19
12
-47
33
-29
36
8
23
-12
-6
-49
51
-48
3
14
43
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
4
45
14
2
39
-11
8
-30
10
44
14
-5
1
0
-23
-42
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
7
33
37
-9
34
42
13
-41
2
-50
-37
80
4
-4
-54
24
-2
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
8
-15
35
18
20
53
-45
38
21
-13
-25
62
-12
-16
-4
14
5
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
17
1
17
-43
24
-31
-39
2
-9
-3
32
6
73
1
-47
-29
33
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
40
8
12
39
3
12
45
9
23
29
57
6
-52
-5
-27
-17
-6
45
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
57
-21
40
-5
-19
7
50
53
9
-67
77
29
39
16
36
-10
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-30
24
55
1
74
-4
5
-81
37
-100
44
-63
-6
31
-42
-37
-30
12
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
30
69
34
-17
83
20
10
77
21
-32
93
-44
96
47
50
-21
92
44
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
104
-67
-17
9
21
20
0
22
-12
15
-38
27
-45
3
47
13
12
-71
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
66
-36
17
-63
0
4
1
64
18
82
73
6
-5
5
117
92
4
9
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
6
31
-27
12
-53
9
9
-13
-45
-22
49
76
-13
39
9
20
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
7
20
-11
68
-25
46
30
-18
13
47
-37
6
48
42
-83
-50
-32
30
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
45
-51
-3
22
4
-53
-36
15
-41
-18
59
-22
47
-14
2
19
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
55
-30
63
1
47
1
55
-25
5
65
-4
-1
-27
-5
54
-21
22
19
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-3
19
57
18
43
22
44
15
-9
45
19
3
27
-19
-5
50
6
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-17
82
28
51
83
-5
3
11
3
-52
11
1
-17
-21
12
31
-26
23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
49
35
35
52
0
-34
2
17
6
1
8
42
8
-29
5
-13
6
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
66
-18
0
-27
-2
45
4
37
27
7
1
3
-6
17
-32
31
-10
48
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
-4
41
52
30
19
31
-55
10
2
-7
-18
7
30
42
27
17
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
34
-42
-1
31
-53
40
36
24
54
11
51
79
-42
72
17
99
-13
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
13
28
30
1
0
22
12
51
-31
22
-48
-12
19
13
-1
11
13
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
46
11
44
27
58
43
-40
-19
-9
18
23
63
-32
-15
81
5
-7
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-89
23
-23
-5
26
21
-39
-17
9
-25
-25
36
46
25
-5
20
39
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
23
28
36
-16
51
145
23
21
-48
-33
42
39
-7
-30
3
-53
34
72
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
72
46
-24
-23
28
-6
52
4
0
-13
53
-6
3
5
42
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
38
24
6
10
-38
64
6
44
-3
-20
-40
63
-18
24
39
52
47
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
51
-85
90
-19
0
-13
47
25
10
-13
13
53
52
-4
9
4
19
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
50
1
101
46
32
39
38
10
66
9
18
-5
15
6
-60
-3
36
15
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
47
30
-18
-13
0
9
23
18
-1
-26
-5
-36
2
12
-3
-8
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
42
-9
101
16
-12
52
25
-1
-4
60
-34
-27
-11
5
-29
48
24
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-33
-38
102
-14
-2
81
9
24
8
-22
39
-48
29
0
5
11
52
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
4
10
57
52
26
84
22
-51
66
19
-34
-9
7
63
33
65
2
-43
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
24
-6
0
7
-15
13
1
0
-8
-5
-36
3
3
8
12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
79
52
-21
-3
25
15
-31
-15
3
-27
56
-64
-5
17
13
40
-7
-92
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
46
2
-36
-2
5
-14
23
-20
-22
18
-37
31
0
5
-46
20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
40
-78
49
17
-1
0
-30
45
-13
5
-21
59
18
18
-26
41
10
32
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
10
28
47
-5
-17
-31
59
60
41
54
35
12
-37
14
14
-53
30
17
65
41
10
-34
19
-12
48
90
25
5
13
13
0
-19
-30
-73
18
74
-29
85
0
-72
24
4
-13
8
-27
-16
27
47
-22
2
42
-44
-1
-27
40
-40
34
-62
-46
29
-10
-65
-78
8
-4
-45
-48
-66
-22
27
-69
-34
-150
14
-16
-79
-2
-16
-72
-47
24
42
-2
111
15
-18
-1
59
2
-67
62
-13
-31
90
7
-43
7
36
-38
-92
57
53
-21
-1
-4
-70
-15
47
3
44
-48
-38
-35
32
-89
54
-26
54
-15
95
-76
-22
39
7
9
55
41
-20
2
29
-47
89
10
-41
-29
17
53
56
30
-33
-88
39
42
-41
24
8
-47
69
-44
7
37
-20
-43
-31
6
31
3
-28
-8
-23
-5
60
41
79
-6
-39
30
42
-16
61
-27
45
13
86
33
6
-13
43
59
0
15
6
14
-12
77
2
46
-37
66
63
-18
7
3
2
52
-12
41
-27
24
-95
9
-22
-89
7
-63
21
67
7
-61
68
-24
-13
60
-12
29
137
-30
-42
53
19
-93
-34
-42
-60
6
-31
5
-2
-108
-65
-86
31
27
53
-14
16
31
-92
43
-28
33
24
76
-117
75
25
-56
56
-42
22
5
-11
17
-1
21
-22
2
43
-41
42
7
-38
-52
-37
-41
10
24
40
-23
-9
-8
63
-12
8
48
-90
30
-42
-1
-11
14
-26
-44
32
104
9
-48
-19
63
72
25
2
18
29
5
64
-31
10
-5
11
-46
-22
-59
-40
-53
-1
8
22
-4
-22
5
8
-13
1
8
39
-32
-2
-1
-1
-18
26
20
46
-52
-18
32
2
8
-18
35
60
29
0
58
-20
13
43
10
-9
50
9
13
12
11
-25
15
-15
20
-20
-17
-16
81
38
-4
48
51
105
-1
34
1
-45
-25
14
17
-16
-56
72
-49
-104
-2
2
-28
-53
40
14
-2
7
-49
-27
-42
46
-114
88
-43
53
50
-40
42
15
21
-97
-95
33
-12
7
-8
10
0
-63
32
-11
28
-7
-43
66
3
84
-29
99
71
-52
-36
-5
71
39
-5
14
-13
-50
81
32
52
7
-37
-4
-3
50
4
29
79
-65
-80
4
-14
30
9
13
2
0
47
-11
5
5
-11
7
25
-3
-35
-19
-32
20
-14
29
-6
-13
20
17
-5
-2
35
31
43
9
-58
-21
10
-26
24
93
-113
-20
9
-3
-8
-19
-2
0
0
21
40
1
47
-6
-44
3
-39
40
-11
8
-34
23
-40
-1
-54
-16
64
74
56
51
21
32
2
-4
-52
6
16
100
8
26
-59
45
-19
26
0
-13
60
51
30
-15
55
-32
-65
9
43
62
9
40
-20
28
37
-3
-24
6
23
-14
9
-10
33
-30
-7
-34
18
13
-12
-27
23
18
0
81
-30
-79
-4
-12
-9
-79
-19
89
-46
8
-101
19
58
8
67
11
-7
45
-28
-93
53
16
101
7
68
17
62
7
7
15
-96
-7
28
24
31
24
0
-36
20
7
18
68
-4
2
-35
8
18
0
2
-45
-53
24
15
-9
48
1
-3
25
-12
-3
28
-7
-17
-8
63
-15
25
-46
48
-8
30
25
-41
2
40
39
-47
5
19
-5
-24
4
8
13
-7
14
0
8
1
0
-24
-34
14
7
25
-19
-23
-3
38
9
-2
10
16
31
3
-76
-52
-53
102
-23
2
24
-12
1
-25
55
35
5
35
30
30
19
0
-8
54
-19
-31
54
30
-6
-22
-32
7
49
25
-7
-51
23
-23
-8
-9
-1
4
-14
7
17
-6
-42
24
6
55
-51
-46
-75
38
11
-33
0
-4
4
-33
-13
6
-47
10
-21
21
-29
31
-16
17
-19
80
62
17
-77
-6
17
29
-37
5
37
-17
14
3
12
-4
63
4
33
17
32
14
-9
-4
-63
13
-52
29
50
60
31
-77
-15
-9
8
-26
7
0
59
-13
7
15
-52
-9
23
-2
42
9
24
-19
-27
-26
-6
-23
-29
22
-41
25
-32
36
27
-77
-15
-51
-11
20
-16
2
-8
91
15
3
24
12
12
0
0
0
-32
-48
33
3
20
28
-57
13
21
-37
-41
-12
40
4
56
54
68
54
50
-56
71
-20
15
25
-12
-11
46
99
16
30
85
35
10
100
10
55
6
57
119
-22
-46
1
1
38
-26
63
34
-30
-58
-85
73
-29
-2
54
46
94
21
-54
-85
-30
-27
-15
21
39
-4
7
-63
57
43
33
0
70
-22
-54
-44
-39
29
73
56
-11
37
-45
-19
37
12
27
-8
-10
-1
-14
18
-6
8
13
1
65
-18
55
-34
-20
-13
-6
-2
26
5
-14
30
-31
-51
-5
14
-19
19
29
2
-3
2
1
-18
-1
17
20
-6
-20
0
-1
16
-76
2
10
25
-14
-45
29
-32
-32
44
0
16
-8
69
48
-30
-29
-10
3
-43
25
-12
10
-2
-1
-42
0
-2
2
8
3
0
0
54
44
-32
-8
-20
-5
9
10
59
21
9
59
-2
-18
63
31
48
44
15
-62
-53
-31
54
-3
88
-24
-14
29
25
17
-19
98
0
27
72
21
11
60
-8
60
42
-53
-25
-36
-51
-62
-46
5
-13
53
-7
-37
72
-23
-6
-12
-51
25
23
-42
-5
19
-96
-65
-69
9
-110
0
-26
65
-56
-30
-20
-21
-5
2
-33
-45
19
5
-7
-16
32
-15
-27
28
0
-6
-2
7
84
26
35
4
-29
5
3
22
3
2
-1
-3
10
-9
-5
5
-17
30
-17
5
-6
10
51
46
9
1
37
-6
-16
0
-2
9
0
5
13
-29
7
48
-21
1
41
17
37
-41
12
-8
50
-13
6
1
1
-5
3
11
-17
15
-12
-21
-2
-8
-5
-6
9
-8
3
-2
1
-2
-3
-6
23
24
-45
-36
-20
51
-21
14
-48
-71
30
-6
21
73
10
48
-7
46
7
49
10
44
60
44
37
48
12
57
25
24
-36
65
73
-8
35
-56
9
12
-9
38
-19
-33
34
-72
23
-54
5
-23
55
38
22
-15
68
58
-13
-57
-2
32
28
8
26
-19
-7
-4
-29
-15
-69
44
-29
53
12
-37
-14
29
39
5
48
12
18
-4
-14
-7
-7
29
-28
60
-4
7
-30
-8
-18
-11
95
11
-2
17
26
52
-35
-9
-8
10
5
-12
0
20
-3
3
38
0
-5
49
-47
-2
2
30
41
-2
6
-2
-7
13
-30
13
-3
15
45
-29
-5
3
5
-14
-8
-2
-5
-57
83
-7
0
3
-2
6
-38
14
2
3
-8
2
0
2
-2
-1
-5
-2
-1
1
-5
8
5
8
7
31
-16
22
51
45
-13
22
7
76
15
-6
-8
-47
-32
39
-14
-10
-66
-7
-32
-11
-22
-41
-34
-50
-17
-20
40
3
-31
16
57
4
-42
25
-61
-36
39
-11
-22
-18
4
19
17
-50
8
-26
-20
-5
-42
17
-5
-74
-21
1
-54
40
9
19
-17
34
-4
-57
-18
-43
-35
47
-6
-13
-15
-30
14
42
-78
30
-81
-4
11
-60
24
-46
38
-32
-14
65
-4
44
-60
2
87
32
-43
-55
22
5
31
27
-44
-1
0
41
48
-70
11
-50
35
-15
30
11
-29
8
-53
-20
-2
-4
30
-24
-43
-1
23
14
0
58
9
76
49
2
-33
-13
29
100
-27
-16
-6
39
40
-29
-20
-5
10
86
-53
45
-15
-6
12
-40
-24
10
8
72
-39
12
13
-19
7
0
2
0
31
-15
-7
-60
65
28
21
-17
-15
-60
27
-17
73
-17
25
-14
13
4
64
12
46
37
-74
34
-6
-23
22
13
7
-30
35
12
29
-11
-41
-9
-34
-12
6
9
23
-23
-20
89
-87
-3
5
23
-70
4
-13
24
-63
-16
35
-3
-78
69
55
-22
-14
-50
38
42
40
-32
-45
-35
30
29
27
-2
-19
-20
-41
-9
-47
-1
-115
52
4
4
48
-69
8
-51
30
3
-13
-5
82
-35
-82
-8
3
-15
14
10
-16
2
58
52
-37
5
-7
10
-29
-3
25
1
5
26
17
2
-2
13
-3
12
-3
-1
-8
54
13
-1
-17
43
28
15
25
-1
-15
63
-3
28
-8
11
58
-19
-7
2
31
52
30
-9
4
7
-15
16
-5
-5
-8
-3
0
16
0
-3
-1
-13
23
0
31
-16
-50
-29
28
-52
-35
55
12
-4
43
14
19
-22
5
37
27
62
-49
-14
23
83
-17
16
-50
-36
-56
30
-54
90
62
-56
30
-22
-7
73
-84
-53
-14
-29
-32
-1
-38
-51
-65
98
-12
4
-13
13
47
-84
-24
58
-29
48
57
-70
-47
5
-87
-9
68
-4
48
-9
-39
39
33
6
-9
0
-51
-35
3
-22
-82
-24
62
28
106
24
-39
-68
-2
36
-81
-47
-1
-1
-17
9
-8
-2
8
-37
64
-16
16
-3
20
50
40
-24
-5
31
3
13
7
5
-20
43
-1
2
1
26
22
0
-4
0
0
19
-32
-29
3
-2
63
43
-9
6
22
-49
51
11
-10
13
-14
5
15
9
58
-28
31
-1
-6
-3
51
-14
-8
2
18
-15
7
-40
2
-4
4
-24
-10
0
-5
-35
-4
-8
11
-74
53
8
-13
48
32
-120
68
79
53
-13
49
12
36
-1
-25
-78
-15
-39
-41
3
-10
-53
107
64
-44
28
26
89
-13
-33
75
5
25
6
32
-92
11
-15
-66
-1
-1
-29
-92
-34
17
50
-83
-23
10
62
16
26
16
-54
-7
21
18
24
-10
0
-59
-18
35
-48
8
18
19
-7
11
-8
-21
-1
-20
-13
-46
-28
-26
-15
-2
-6
66
1
-1
-10
0
-17
-14
-6
-1
8
-32
26
-2
-3
-5
-52
-13
30
0
-11
58
-6
-13
1
-1
-36
41
1
-2
-22
-15
8
15
0
9
-34
20
34
0
5
12
-36
-5
6
39
-19
24
-23
-12
4
28
-28
3
6
21
9
-27
5
-1
5
31
7
27
1
0
-9
-31
4
1
-2
25
1
-3
-10
-48
-17
-18
43
10
151
-11
7
-46
-97
-20
-30
18
23
-41
-52
-36
-29
27
36
-17
-4
10
42
-3
-44
-45
-20
20
59
-60
-9
63
16
15
-46
-11
-36
20
13
-58
-29
12
44
28
-59
39
52
35
25
-12
-18
-21
-28
101
60
-72
22
-20
15
11
-1
15
-26
15
-73
55
-27
35
-25
-17
-26
51
17
6
-43
42
-81
7
3
35
-23
21
-2
17
32
-15
36
20
4
21
-35
-41
28
-4
9
22
25
11
0
32
-26
29
-55
-13
6
-34
29
-5
0
-8
-71
-7
12
19
-4
5
-17
9
0
-63
9
50
16
-8
39
-11
-12
43
5
32
47
28
-19
2
20
47
-6
40
0
22
-1
-5
-29
5
3
38
3
-8
-8
-1
-25
-13
16
2
0
7
-5
0
-4
-20
3
24
-127
-20
-4
3
10
-8
-82
74
19
-15
60
18
-47
15
26
42
15
-22
-60
23
16
-20
0
-20
-4
-25
-40
35
18
6
0
-1
27
12
-39
-60
20
66
24
-40
-50
8
55
-49
-68
22
-44
-107
15
-15
10
-3
43
-38
46
-73
49
42
-12
-36
12
40
-9
-63
31
-12
1
-43
33
-70
91
38
44
31
8
-74
-94
-7
-5
10
83
-2
-18
23
54
-23
-2
19
-40
-22
-9
2
-6
-29
19
-18
0
-18
38
2
-7
6
17
-1
-44
0
-1
-3
11
29
13
1
-9
19
-13
-2
0
-12
1
4
-7
-9
-48
46
2
-7
6
-13
5
1
-8
2
4
-41
23
4
-25
-1
-22
60
21
5
-3
30
2
21
0
-1
40
-1
-6
0
0
9
5
-3
0
58
22
-69
-70
-17
9
-83
-12
-53
23
-22
82
-38
37
8
4
15
37
-20
-1
63
49
15
65
-41
63
-40
-75
-29
-3
-2
22
15
-47
-81
44
56
-25
24
9
-26
29
-3
-40
-67
64
5
58
-82
-79
-48
-4
-18
8
-12
2
16
-51
55
-67
-83
-11
32
72
-31
21
41
35
36
-32
1
-8
9
24
27
33
-61
107
-50
10
-25
-21
61
11
0
-14
34
-48
-75
0
-18
-3
-39
1
7
4
28
-7
-10
3
-8
-9
4
31
1
-14
-5
22
-2
0
8
-34
63
-12
41
0
-3
21
9
0
16
14
10
51
3
1
-5
-9
43
0
-19
6
55
10
22
-7
-17
5
6
-1
-4
-16
-40
41
4
0
-8
-7
14
-10
16
-16
34
-24
-20
1
2
-5
-3
1
49
88
-20
-42
-22
63
20
-69
-64
-9
-21
39
-11
35
0
43
-59
50
14
-2
-46
-18
-19
36
-7
-25
72
67
7
-27
6
7
22
-92
25
-8
5
61
-4
-15
-24
-15
-57
13
-70
5
-30
-39
-58
80
-4
2
50
29
35
-27
53
-24
27
6
10
-7
9
13
-31
-95
-37
8
-38
40
33
-60
39
-28
2
18
-93
32
-18
4
-3
0
14
-16
0
5
11
29
-3
0
-5
29
25
1
0
4
32
2
9
0
-2
23
3
8
5
5
-30
6
0
0
0
0
-13
4
0
-2
-4
8
-4
-1
5
-38
23
5
14
-11
-4
-3
-2
-3
2
41
-57
-7
-3
41
-4
25
5
0
0
4
-3
3
-4
-6
3
-20
4
1
0
-2
4
4
0
0
-4
-6
-16
1
-18
-9
26
25
45
-37
-40
23
-20
-26
42
-7
113
-110
64
81
71
-43
-8
-29
1
17
-8
-19
9
18
-10
18
-13
-7
50
-45
29
-41
-16
14
20
-67
-42
0
21
34
32
85
48
39
-43
58
39
-8
43
63
-17
-31
1
104
-4
-21
12
29
66
4
-39
22
12
32
17
67
-15
13
74
29
-69
29
-24
-17
42
22
10
0
49
-29
63
46
29
-11
-13
23
-5
-22
39
-15
22
34
-27
62
-2
36
-28
-43
9
-11
13
-48
16
-22
47
-42
56
13
-21
-21
-8
0
-4
-19
-28
77
39
-3
-11
48
17
26
58
27
48
-28
-3
79
-22
9
-4
13
45
3
70
-54
-23
-28
62
83
8
4
57
-52
50
39
14
10
-8
45
36
19
-12
33
43
31
-36
-3
49
-44
83
44
-16
7
7
-17
-31
-15
60
63
7
30
43
47
-44
-33
51
25
-30
74
71
-10
-24
-91
77
32
-27
-29
7
-14
24
-7
9
-1
-9
-15
-40
0
-9
24
-25
115
-50
3
-28
49
44
27
108
-2
-56
45
-9
-30
3
-22
19
-1
-48
56
-12
51
52
17
-50
-58
-6
0
-34
-14
-6
5
8
8
0
5
3
0
11
-22
59
-33
-11
-96
-57
86
15
3
-40
61
-3
19
2
81
54
25
2
5
96
2
-42
-17
-6
-26
23
-10
13
-1
51
48
-57
42
7
-44
-12
24
0
0
-34
59
-4
-3
18
15
-8
67
88
11
12
-36
9
22
-36
68
1
30
28
-9
-20
3
59
-7
10
-3
58
-28
-20
-5
-33
38
34
-37
-2
2
1
-3
-29
-6
23
-78
54
18
40
32
-38
-7
48
-1
26
-42
-73
-13
5
8
-7
11
-16
9
-8
-10
-18
-54
-2
39
15
-1
-5
3
-37
-24
45
63
-7
-8
-29
-2
-3
0
-1
-8
22
85
11
-23
0
35
17
0
-17
-21
93
50
-3
50
-20
11
14
-5
15
4
18
-34
13
104
35
-6
-21
0
6
35
48
6
-6
-2
0
15
-7
0
9
-34
13
-26
32
-22
55
1
114
-50
-59
4
-6
26
-7
28
5
-7
39
6
78
-44
30
-15
-14
48
21
-7
-7
-1
-29
-37
-9
11
0
12
7
1
7
-4
51
28
2
-6
48
-2
56
56
-36
-12
72
30
23
15
-21
9
40
50
-20
-7
52
-1
114
-14
25
20
95
44
4
23
25
-14
17
3
41
2
7
-20
6
7
40
45
-30
11
-7
38
-29
-18
-31
-8
29
-14
96
-42
1
-30
-4
-23
19
1
31
22
-14
-5
-4
26
-7
72
13
7
-9
-43
-6
8
1
-7
15
13
-13
0
-7
-12
45
-6
1
4
23
18
43
4
-1
4
-43
8
6
21
26
-33
16
-8
26
12
2
2
0
-10
40
6
-43
-41
8
0
17
12
0
-3
-14
-12
-10
0
-73
16
-56
13
-1
2
36
65
-43
1
22
8
-38
-18
-13
-45
43
36
-17
-12
15
29
4
47
-8
-8
60
20
47
17
-9
16
-1
9
2
1
23
-25
-16
0
29
-31
13
-2
11
-15
23
5
-7
-17
-61
-30
74
28
10
-86
7
57
35
43
24
-6
-37
61
1
14
24
0
-3
22
-18
6
53
-19
14
-4
23
-16
-10
-8
-3
3
5
22
83
48
59
-36
-56
32
68
-52
-7
35
-76
46
-1
45
-69
4
100
-8
-33
-88
2
17
-10
-32
25
2
-23
-28
-2
-1
-1
40
-47
1
-8
0
87
-20
77
-5
-48
85
-5
2
7
-8
26
16
20
24
9
5
-43
-3
50
-6
-5
40
-34
-38
17
14
-9
1
-9
-8
-31
20
13
-16
-8
0
12
7
12
0
75
49
42
2
-16
-27
-16
20
15
62
62
7
9
-44
-33
-42
63
50
16
9
10
8
-38
95
30
-112
-10
48
-30
7
-14
0
-4
3
-3
5
-3
-5
26
0
27
96
94
51
-6
52
52
18
-3
-13
61
69
-11
14
12
15
-72
-3
40
17
74
-33
66
106
31
94
-25
116
-21
24
6
-12
36
9
63
-5
-29
56
14
8
32
-32
-40
-75
13
23
-1
-4
33
-11
-50
-26
63
20
-8
64
-48
54
-35
-2
13
-34
-12
48
4
-59
32
-63
2
-2
21
-13
14
2
6
17
-38
23
-4
-1
5
5
3
10
-12
-47
20
-3
1
-4
-7
28
0
-1
4
32
-39
-7
-7
-4
25
-8
-28
-17
-5
-47
25
-12
8
0
-15
2
26
-1
0
1
4
-14
1
0
-70
12
4
75
-45
62
13
-10
8
-24
55
55
40
6
39
-60
110
-42
32
-21
-20
-41
56
-14
7
-39
9
71
-25
-7
-1
17
55
-39
-7
3
-2
17
-3
-5
22
54
-17
-14
74
15
9
-21
62
-10
15
96
15
27
-27
-12
-19
2
5
6
-3
68
-3
-26
-8
7
7
35
-12
-6
5
5
15
0
-6
6
-3
-3
33
0
85
-35
-20
-72
-44
-120
97
42
-19
3
38
-22
18
12
8
-45
-52
-1
2
0
54
27
-42
39
0
-4
42
8
-7
-1
127
-26
-35
-1
0
5
8
0
8
1
-53
75
14
15
5
0
-23
52
-1
0
-46
37
50
-19
8
-5
49
13
-4
0
-4
78
-10
-49
10
27
-6
-3
7
0
7
26
45
9
14
1
3
-2
0
0
73
-37
-38
-48
-23
-14
26
46
15
-1
-20
-54
0
72
15
-5
-13
20
47
-4
73
1
-53
1
-18
20
-9
-11
-35
0
-48
-9
54
-1
29
7
0
-1
-40
0
39
70
-14
43
-39
3
1
-6
19
-29
-54
47
32
120
-22
38
2
9
0
13
-10
-14
30
80
13
-5
83
23
5
-18
-75
15
-20
-22
15
2
-24
-2
3
13
14
5
13
-16
-12
25
32
22
-16
2
-2
-23
-8
-15
0
46
50
-34
-40
0
3
14
-25
-14
0
0
-2
48
-2
1
1
23
-3
3
0
-3
-8
5
-2
0
6
50
17
4
-3
52
-5
-93
-4
0
46
-29
76
-5
-1
-8
-31
9
6
0
27
-7
-16
-1
1
-14
15
9
-2
0
-1
44
2
0
0
-2
-14
9
-1
-7
31
52
-15
-4
-10
14
-22
21
-36
0
-1
6
20
44
8
2
-1
0
-4
0
9
-12
50
-38
-2
5
1
72
15
3
1
0
-4
-4
2
0
-13
-9
0
0
18
-31
18
36
22
8
-50
-1
-3
-10
24
-48
24
17
83
-9
48
-11
17
-8
2
24
-18
4
-1
-15
-7
14
11
-5
-1
-2
54
0
-15
-2
-16
-1
7
3
-73
27
-17
82
-33
-23
67
21
7
16
-35
14
-29
18
6
32
-7
21
-4
2
37
-74
22
-56
49
46
-34
-3
6
3
33
-19
-53
-23
0
-7
6
-15
6
0
47
74
27
-38
-46
23
-3
-3
10
-18
27
55
3
14
-3
-28
49
42
-10
0
25
-3
28
22
0
-28
12
16
-13
2
-2
-15
3
68
-8
3
4
-12
-1
0
-39
2
-54
144
2
-42
-8
65
51
30
-39
-9
6
17
-4
-5
-1
63
48
-2
41
17
10
28
-12
18
-41
32
-58
2
24
-1
-31
51
-22
-5
11
5
-15
0
9
15
-32
3
44
-11
41
-7
20
8
14
72
8
1
59
23
-51
39
19
24
16
83
-13
45
8
27
-17
37
31
-32
10
0
0
26
9
-18
46
56
49
-24
27
-17
7
29
-13
2
-48
46
-18
9
-2
1
99
10
8
2
-10
2
6
-3
-10
47
9
-46
-2
22
-12
-3
27
8
7
22
-17
-3
3
-2
-4
-8
-5
-2
-20
87
2
15
17
6
29
45
24
-9
25
-47
-16
-12
9
44
-13
20
-25
0
13
23
64
-12
3
5
-2
21
-3
5
23
-3
-2
9
0
-6
-4
-14
7
0
-3
56
-67
-95
-10
-57
107
-35
33
3
-11
-13
9
21
7
12
107
5
-17
7
4
21
8
59
6
72
-78
-23
-38
1
1
23
33
-5
1
-5
1
21
3
3
-39
20
105
-15
66
44
-6
27
-5
-40
-11
19
-13
20
24
-7
-2
50
-23
41
-15
52
-46
33
35
-40
-37
7
88
-27
-4
-19
4
81
21
-13
8
19
5
-8
10
-1
-33
-47
-5
55
34
-32
-1
-2
20
18
-2
1
-1
33
21
-13
15
0
-41
67
19
34
-8
-7
-41
14
2
0
-2
-12
-13
-21
15
4
4
0
-3
0
-8
10
-4
11
-2
19
30
-38
1
0
-6
2
45
-28
1
22
25
19
4
1
20
2
-10
58
-13
-32
53
18
-8
0
49
47
1
-2
-7
1
-2
-22
10
8
59
-12
21
0
0
24
-31
43
-8
-7
4
18
35
-29
-26
2
-41
-6
25
0
46
55
-11
69
-29
-2
41
-11
19
-7
-3
3
7
37
-8
-7
10
9
10
-2
-19
36
13
14
68
30
102
10
-3
17
-23
38
-23
20
22
6
-12
-39
48
27
70
71
-30
37
39
-63
-15
61
30
6
47
18
68
42
44
0
-3
-23
-2
-6
-18
-53
33
-18
0
5
25
41
-12
-3
0
6
-44
5
0
-8
-25
-27
-19
0
-3
40
9
22
-5
17
24
-1
7
1
0
-7
6
-1
0
-5
40
0
-19
0
-15
38
-18
2
2
-6
-12
4
8
0
8
3
24
-22
-3
5
3
29
-1
0
0
-5
5
-2
-1
5
1
53
6
4
-5
25
10
-1
1
8
41
-4
5
-2
-20
32
-6
-33
-4
26
-40
7
27
-1
-3
-8
27
-19
10
8
-12
-2
-15
0
-7
-31
5
60
-8
1
23
-51
-48
25
1
16
58
13
2
1
-5
1
10
2
-59
18
35
19
-6
1
-45
66
20
-10
41
-32
-49
-14
-21
41
-20
12
-38
14
-24
33
20
-6
-8
6
-4
50
38
5
7
-4
20
30
32
-11
49
-1
22
3
-4
-16
86
-54
-26
8
-9
-18
9
10
15
11
-1
42
7
-1
17
-15
5
2
18
16
-21
-36
-10
75
-39
2
-1
4
-10
-5
55
-1
-1
6
-2
-1
0
0
-2
12
-2
19
11
8
-42
60
28
-22
-7
-4
4
46
-6
-20
40
2
3
0
14
-3
-17
27
35
-22
0
12
-20
4
1
18
-41
15
5
0
8
-6
-7
1
16
30
-26
3
11
-14
82
32
-90
-8
8
39
12
56
-42
-3
-49
8
88
0
-34
70
22
35
-22
0
27
93
15
25
7
62
-12
16
-40
3
-9
-5
13
-2
7
24
20
7
0
67
-46
23
11
28
3
65
34
67
51
15
78
15
-57
24
-50
23
15
11
44
62
46
24
33
32
-6
66
64
-30
-18
3
-2
25
30
4
-5
-18
-62
-24
-6
38
40
-44
3
1
0
10
27
-4
-2
-26
40
-32
-25
-1
-1
-33
9
7
0
2
-21
15
-22
0
-1
1
-24
5
0
-3
-8
-14
1
0
-8
-24
124
54
4
-14
55
10
-22
-13
3
15
46
13
0
-7
-7
2
16
0
-1
40
21
27
-3
4
-14
21
47
1
3
0
27
-4
0
-3
24
-8
3
2
-29
42
-3
-11
12
11
-11
-34
24
24
5
69
12
-51
-5
2
-53
19
20
0
3
21
37
7
6
-3
46
13
15
9
2
-4
9
12
20
5
9
-36
4
-2
36
60
62
2
10
1
-21
77
-49
61
6
5
-34
39
-14
53
47
-49
62
-23
-10
32
66
18
-36
4
0
47
76
1
-8
43
-69
88
32
0
2
-5
14
12
-7
32
-3
48
-5
33
-12
6
-2
0
4
24
31
-13
2
-4
23
-13
9
1
7
10
-7
12
4
0
-1
8
-1
1
-38
18
-21
21
-7
3
-3
1
-5
-1
-5
-32
44
12
2
-36
8
40
-12
0
7
39
1
28
-21
5
9
-9
-1
1
-15
-32
26
-9
24
-3
7
9
55
0
10
-38
25
43
1
5
-3
-8
7
-2
58
77
9
-31
-17
-6
18
-23
-30
-2
19
-63
54
-19
-1
7
-21
-10
13
1
-18
-32
34
-21
47
1
27
-24
15
14
32
-38
12
45
4
0
-18
5
1
-6
-12
-18
-38
-4
30
5
-42
-7
62
-18
-29
40
-24
-1
9
0
9
11
-21
-2
-19
1
23
45
4
6
48
35
0
-4
48
-27
11
-24
-27
0
9
6
30
6
0
38
-10
-52
-3
0
13
-1
-2
0
0
0
8
1
0
-2
-16
-24
1
0
0
0
-5
-9
0
0
4
-4
0
0
0
1
-36
40
2
0
-14
6
0
0
-2
-16
-16
40
-4
5
41
6
-41
3
10
-33
5
0
1
-3
10
9
5
0
-4
-7
17
0
3
4
-9
-9
-4
0
8
13
61
13
0
4
9
3
2
0
0
33
-77
-5
-1
1
-17
-62
1
-1
5
31
15
-5
0
-4
5
8
-26
0
0
40
-4
26
3
-3
61
-41
11
-1
-6
22
12
-6
8
2
12
8
33
-1
-30
-34
83
-12
-24
-4
23
23
-21
15
0
-71
47
67
-29
-5
21
8
-13
7
0
48
6
13
10
13
28
2
-27
23
0
16
11
-40
11
0
0
-31
-51
14
4
32
-34
-5
16
0
0
4
24
39
0
0
9
-11
-77
0
0
8
-87
26
0
0
5
7
-9
0
0
-13
76
22
0
0
4
-35
-1
0
0
26
1
-42
0
0
-12
-10
-3
0
0
-2
-32
13
0
0
3
43
5
0
0
-8
35
6
0
0
33
18
-5
0
0
-3
-22
0
0
0
-25
6
-3
0
0
15
-17
-3
0
0
81
-48
-18
0
0
8
25
-10
0
0
-9
2
-5
0
0
-24
6
0
0
0
-7
-10
1
0
0
-5
6
8
0
0
10
-1
0
0
0
-6
2
0
0
0
9
-10
-18
0
0
0
-4
-6
0
0
-1
17
0
0
0
3
0
0
0
0
-1
-1
1
0
0
5
-3
0
0
0
-13
-14
0
0
0
-1
0
0
0
-55
70
18
14
0
0
33
45
9
0
0
-2
-7
43
0
0
-17
10
-8
0
0
15
57
66
0
0
-11
-48
4
0
0
-44
2
-52
0
0
24
-31
-27
0
0
7
-47
-30
0
0
-16
-12
16
0
0
-44
13
0
0
0
-24
17
-6
0
0
-27
-2
5
0
0
-19
8
0
0
0
-8
-13
3
0
0
10
2
-16
0
0
-16
41
-3
0
0
-2
-22
2
0
0
-2
8
1
0
0
-1
-5
-1
0
0
-8
-4
0
0
0
0
-29
1
0
0
0
-2
-1
0
0
0
1
0
0
0
-12
9
-1
0
0
0
0
0
0
0
-3
0
0
0
0
1
-8
0
0
0
10
-1
0
0
0
1
0
0
0
0
-2
1
0
0
0
-2
-2
0
0
33
-18
-15
-16
0
0
-27
-39
-5
0
0
-23
25
35
0
0
47
23
0
0
0
0
7
4
0
0
2
-29
17
0
0
-36
3
24
0
0
23
-4
5
0
0
8
-1
-31
0
0
31
1
-8
0
0
40
4
18
0
0
32
-22
-3
0
0
26
-7
2
0
0
-27
2
0
0
0
-9
16
4
0
0
-12
25
-13
0
0
-10
13
-18
0
0
1
-5
-4
0
0
-7
8
3
0
0
1
7
0
0
0
-16
7
0
0
0
0
-4
2
0
0
2
-6
-2
0
0
3
14
0
0
0
-8
8
-4
0
0
0
1
0
0
0
-1
0
-1
0
0
1
0
0
0
0
-3
-1
0
0
0
-2
1
-1
0
0
-3
-4
0
0
0
0
0
0
0
30
40
-38
-20
0
0
28
9
-5
0
0
-14
16
4
0
0
-24
50
26
0
0
104
13
-7
0
0
8
31
-5
0
0
-10
-18
11
0
0
4
-5
-3
0
0
-4
-28
-3
0
0
-10
-12
-7
0
0
-26
-1
2
0
0
-27
11
0
0
0
34
0
0
0
0
13
-4
0
0
0
2
2
0
0
0
7
10
-2
0
0
-9
-1
1
0
0
0
23
13
0
0
2
0
0
0
0
6
8
0
0
0
-5
5
-1
0
0
0
-10
0
0
0
-8
1
0
0
0
-1
5
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
-1
2
0
0
0
23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-39
-4
2
-55
0
0
-42
-78
-21
0
0
12
-18
3
0
0
-25
-32
12
0
0
-4
17
55
0
0
2
-5
-51
0
0
-58
82
20
0
0
-64
-14
13
0
0
15
45
-13
0
0
-39
-29
13
0
0
8
-25
24
0
0
6
5
-1
0
0
-6
-29
-10
0
0
21
-6
0
0
0
-13
-3
13
0
0
3
-6
38
0
0
40
2
-28
0
0
-6
-2
-2
0
0
2
8
0
0
0
0
3
0
0
0
-5
-8
-8
0
0
0
7
-2
0
0
2
8
-3
0
0
0
1
0
0
0
4
8
-8
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
0
0
0
5
0
0
0
-1
0
0
0
0
3
0
0
0
-65
41
47
-23
0
0
-22
0
-20
0
0
30
-9
5
0
0
16
26
13
0
0
-13
-16
-38
0
0
-49
17
-26
0
0
23
-13
8
0
0
-9
1
-2
0
0
7
8
-16
0
0
-34
-33
-24
0
0
11
4
-1
0
0
-8
-8
17
0
0
3
-10
8
0
0
22
15
1
0
0
29
-9
13
0
0
-1
-4
0
0
0
-8
5
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-6
0
0
0
2
-1
0
0
0
1
2
0
0
0
4
-1
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-23
-57
-7
0
0
26
-25
13
0
0
4
-56
-2
0
0
41
50
-1
0
0
-17
60
8
0
0
-49
28
-9
0
0
-2
-2
-32
0
0
47
55
32
0
0
-3
4
0
0
0
6
5
1
0
0
27
-3
2
0
0
-9
-10
-2
0
0
0
14
-4
0
0
-9
0
1
0
0
-22
27
-5
0
0
8
-8
4
0
0
-13
0
1
0
0
0
-3
0
0
0
-1
-1
0
0
0
1
-1
0
0
0
5
1
0
0
0
0
1
1
0
0
-1
0
0
0
0
-1
-1
0
0
0
14
0
0
0
0
0
-1
-1
0
0
-2
1
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
47
-74
13
22
0
0
27
22
12
0
0
39
-48
-1
0
0
-21
11
-7
0
0
-60
26
-29
0
0
-1
44
23
0
0
19
40
-7
0
0
31
-13
31
0
0
19
-5
4
0
0
-1
8
-1
0
0
2
8
1
0
0
-8
5
-1
0
0
7
2
1
0
0
8
0
0
0
0
0
-31
-17
0
0
0
8
-7
0
0
31
-17
0
0
0
0
2
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
-2
3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-7
34
-47
-13
0
0
25
11
13
0
0
-43
41
-2
0
0
-4
7
-4
0
0
24
-50
-16
0
0
7
4
14
0
0
-22
-24
-5
0
0
-12
15
-12
0
0
-20
-10
24
0
0
-7
2
-23
0
0
8
-36
21
0
0
-10
4
0
0
0
-17
-4
-32
0
0
0
7
7
0
0
-7
-35
-1
0
0
2
8
-8
0
0
4
-11
5
0
0
0
0
-8
0
0
3
-4
1
0
0
-3
9
0
0
0
19
-13
9
0
0
-7
-1
-3
0
0
-5
4
0
0
0
1
0
0
0
0
10
4
-6
0
0
-1
3
1
0
0
3
-4
-4
0
0
0
16
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
2
-1
0
0
3
-2
0
0
-58
16
6
14
0
0
-7
2
-34
0
0
-20
-20
-4
0
0
-32
18
1
0
0
21
-13
-16
0
0
-9
-7
-8
0
0
-7
32
-9
0
0
-18
3
-16
0
0
1
-1
-21
0
0
-4
8
8
0
0
-3
0
-13
0
0
-4
14
3
0
0
28
16
-8
0
0
17
-6
3
0
0
10
-12
7
0
0
20
19
12
0
0
2
-1
6
0
0
0
2
-1
0
0
0
-6
0
0
0
0
-2
0
0
0
0
2
1
0
0
0
-4
0
0
0
1
1
0
0
0
2
-7
0
0
0
6
-5
0
0
0
4
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
-6
-25
-27
9
0
0
-5
1
12
0
0
10
10
2
0
0
-6
1
1
0
0
1
-12
20
0
0
0
-47
-8
0
0
45
-2
8
0
0
-8
-14
0
0
0
-1
-4
-9
0
0
-4
-13
9
0
0
-4
12
1
0
0
-28
-1
1
0
0
-2
-41
3
0
0
29
0
-2
0
0
16
13
-8
0
0
14
4
-22
0
0
-8
-1
-3
0
0
0
3
-1
0
0
2
8
0
0
0
0
2
0
0
0
-1
8
1
0
0
0
-1
0
0
0
1
-2
0
0
0
5
-16
0
0
0
-10
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
4
1
0
0
1
6
0
0
0
0
-2
0
0
0
2
0
-3
0
0
0
-2
0
0
22
-5
13
1
0
0
5
-8
2
0
0
8
-3
-4
0
0
7
-6
-3
0
0
-23
29
16
0
0
8
18
3
0
0
-13
-2
0
0
0
-24
-7
-2
0
0
-5
-7
-13
0
0
23
-4
0
0
0
25
6
1
0
0
-20
1
1
0
0
30
-3
-2
0
0
0
-6
-13
0
0
5
-8
-2
0
0
-13
-8
-5
0
0
-5
1
0
0
0
0
-2
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-5
-1
0
0
8
3
0
0
0
2
13
0
0
0
6
1
-1
0
0
0
1
0
0
0
-2
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
4
0
0
25
28
-21
-3
0
0
0
-7
-31
0
0
-16
29
-8
0
0
-12
-20
3
0
0
-6
14
-3
0
0
5
-9
-6
0
0
-19
15
-1
0
0
3
-6
3
0
0
-10
-14
-3
0
0
-5
26
-44
0
0
21
3
7
0
0
4
25
4
0
0
-14
48
11
0
0
7
-5
18
0
0
37
5
57
0
0
-23
-14
-1
0
0
-20
5
-8
0
0
0
0
0
0
0
4
-3
-2
0
0
1
-8
0
0
0
0
0
-3
0
0
0
2
0
0
0
-2
-5
0
0
0
1
3
0
0
0
0
15
-1
0
0
-1
1
0
0
0
-1
8
0
0
0
2
0
0
0
0
7
0
1
0
0
0
-2
0
0
0
12
-5
0
0
0
0
0
-1
0
43
19
-13
-14
0
0
-67
-9
8
0
0
-4
4
8
0
0
-2
-6
3
0
0
-11
-14
-5
0
0
-48
34
16
0
0
76
-9
1
0
0
-16
-21
0
0
0
-8
-16
3
0
0
-25
-8
-8
0
0
12
-7
19
0
0
0
20
-2
0
0
32
-6
-2
0
0
16
1
16
0
0
-6
-4
-4
0
0
42
21
-5
0
0
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
0
0
-8
1
-1
0
0
-3
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
1
0
0
0
2
-8
2
0
54
4
-5
12
0
0
24
-25
-3
0
0
24
8
2
0
0
10
5
0
0
0
-6
3
-14
0
0
32
34
-2
0
0
-20
1
-1
0
0
-1
-9
-1
0
0
-23
-19
6
0
0
-17
-8
-14
0
0
-5
24
-2
0
0
22
4
9
0
0
2
34
-31
0
0
1
19
-8
0
0
-32
28
41
0
0
-29
-37
-10
0
0
-8
0
-1
0
0
0
-1
2
0
0
-1
-3
0
0
0
0
-1
0
0
0
-4
-2
-2
0
0
0
0
0
0
0
1
0
0
0
0
1
7
0
0
0
-4
1
1
0
0
0
-1
1
0
0
2
0
0
0
0
-1
3
0
0
0
0
1
0
0
0
0
0
0
0
0
3
5
0
0
0
0
-1
-1
0
13
-10
-16
-2
0
0
-14
9
1
0
0
0
-1
-5
0
0
-1
14
-9
0
0
28
-5
0
0
0
18
-1
0
0
0
23
-12
0
0
0
49
-6
-1
0
0
-15
-1
1
0
0
4
0
0
0
0
-14
5
2
0
0
16
24
0
0
0
-9
-14
-10
0
0
-1
3
-3
0
0
-20
-34
6
0
0
-6
24
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
-1
0
0
-1
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
15
-41
-13
16
0
0
-1
6
-10
0
0
-7
-22
7
0
0
-1
-5
5
0
0
34
-4
-3
0
0
7
-44
9
0
0
-8
7
8
0
0
17
-26
1
0
0
18
31
7
0
0
-4
3
1
0
0
-1
-3
2
0
0
0
0
0
0
0
-16
-1
-1
0
0
-5
1
0
0
0
-1
-8
1
0
0
3
0
0
0
0
-5
18
29
0
0
12
12
-8
0
0
1
-3
-13
0
0
0
-5
1
0
0
-19
-4
-42
0
0
-7
2
-2
0
0
-5
-17
1
0
0
-2
1
0
0
0
22
-5
-6
0
0
-2
-6
-2
0
0
1
-1
-7
0
0
3
2
-2
0
0
-2
6
1
0
0
3
-22
-1
0
0
-5
-4
-2
0
0
2
3
0
0
-27
3
40
30
0
0
-6
1
-8
0
0
4
5
-1
0
0
29
3
-3
0
0
-33
13
5
0
0
-6
5
6
0
0
-7
9
0
0
0
1
-5
0
0
0
-3
-3
2
0
0
2
1
0
0
0
-1
-4
0
0
0
-10
-4
0
0
0
30
-3
0
0
0
0
-3
-1
0
0
0
4
0
0
0
0
1
-1
0
0
33
31
2
0
0
2
14
6
0
0
2
-6
-3
0
0
-10
-9
0
0
0
0
11
-5
0
0
-3
-14
8
0
0
0
-8
0
0
0
-1
1
0
0
0
-8
-17
-1
0
0
1
-2
0
0
0
-2
17
0
0
0
0
-2
0
0
0
-13
2
-7
0
0
0
-10
-1
0
0
0
-5
0
0
0
-1
-8
0
0
-14
-1
4
4
0
0
6
-15
-5
0
0
4
-15
-6
0
0
-12
3
8
0
0
-29
-6
13
0
0
14
-16
-5
0
0
0
-5
0
0
0
-1
-12
2
0
0
-22
-6
-8
0
0
0
1
0
0
0
1
3
0
0
0
8
-7
0
0
0
-4
-1
0
0
0
0
1
0
0
0
1
-4
-2
0
0
0
2
0
0
0
3
5
-9
0
0
0
-2
-1
0
0
4
-7
4
0
0
0
-2
1
0
0
-20
6
19
0
0
8
13
-10
0
0
-12
5
-3
0
0
0
-1
0
0
0
1
3
3
0
0
0
5
0
0
0
5
-8
-16
0
0
-1
-1
0
0
0
-6
-6
8
0
0
0
3
0
0
0
-2
6
0
0
0
0
0
-2
0
37
0
-5
-2
0
0
-8
6
6
0
0
0
18
3
0
0
-15
-10
-2
0
0
23
-3
-3
0
0
-4
13
-2
0
0
1
0
1
0
0
0
-2
-1
0
0
2
-6
0
0
0
6
2
0
0
0
0
0
0
0
0
10
-3
0
0
0
-2
0
0
0
0
8
-8
-2
0
0
2
0
0
0
0
1
-19
1
0
0
-18
-1
-1
0
0
0
0
3
0
0
-2
1
0
0
0
0
-4
0
0
0
-9
2
-1
0
0
14
-10
4
0
0
4
-1
1
0
0
2
0
0
0
0
-5
3
0
0
0
5
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
1
2
0
0
0
1
-1
0
0
0
-2
5
0
0
-35
-27
7
-44
0
0
-7
-5
-1
0
0
0
6
-10
0
0
0
2
2
0
0
-16
-9
7
0
0
3
7
-5
0
0
5
8
2
0
0
-4
-3
0
0
0
-5
21
19
0
0
8
-12
0
0
0
-5
4
-2
0
0
-4
-1
0
0
0
-2
8
1
0
0
2
7
0
0
0
5
-2
1
0
0
0
0
0
0
0
36
-7
2
0
0
0
-4
-3
0
0
4
0
-5
0
0
-1
-3
0
0
0
-40
-9
8
0
0
-5
18
-12
0
0
5
-18
1
0
0
1
0
1
0
0
10
-1
8
0
0
-2
8
-3
0
0
1
-1
0
0
0
0
-5
1
0
0
-14
7
1
0
0
2
-8
4
0
0
5
-1
0
0
0
-3
0
0
0
-4
-21
5
-2
0
0
-1
4
-8
0
0
0
2
0
0
0
-4
-3
-1
0
0
-3
4
1
0
0
1
-6
0
0
0
3
-3
0
0
0
1
2
0
0
0
-6
4
0
0
0
-1
7
0
0
0
-7
5
0
0
0
7
1
0
0
0
6
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
-5
0
0
0
-1
0
0
0
0
-5
0
-1
0
0
7
-6
5
0
0
-6
-5
-1
0
0
-5
-1
0
0
0
-2
-4
0
0
0
0
0
1
0
0
-3
5
-1
0
0
4
-3
0
0
0
2
-2
-1
0
0
-6
7
-3
0
0
-6
2
4
0
0
0
0
1
0
0
-4
4
0
0
7
-4
10
-2
0
0
0
-1
0
0
0
0
-13
1
0
0
-3
1
-1
0
0
-21
2
-2
0
0
1
0
0
0
0
2
8
-4
0
0
-3
2
2
0
0
7
-7
1
0
0
0
1
0
0
0
0
2
0
0
0
5
2
0
0
0
9
-5
2
0
0
1
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-13
0
-4
0
0
0
-2
-1
0
0
0
-1
5
0
0
0
-1
0
0
0
-6
-1
4
0
0
-3
0
0
0
0
2
-7
1
0
0
0
2
3
0
0
-5
6
-1
0
0
-3
-4
1
0
0
-6
0
0
0
0
-3
7
0
0
0
6
5
-3
0
0
0
2
-2
0
0
2
-3
1
0
0
1
2
1
0
5
27
-5
0
0
0
4
0
1
0
0
0
-2
0
0
0
3
2
1
0
0
8
0
0
0
0
-1
0
0
0
0
2
8
0
0
0
-5
-1
0
0
0
-3
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
-7
0
0
0
5
0
0
0
0
3
1
0
0
0
1
0
0
0
0
-3
14
0
0
0
-13
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
-1
0
0
-4
0
0
0
0
0
-7
-1
0
0
2
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
2
0
0
0
0
-1
3
0
0
0
0
3
0
0
1
2
0
0
0
2
-1
0
0
-9
22
-14
-6
0
0
6
7
-1
0
0
-7
14
-6
0
0
0
-1
-2
0
0
-24
13
4
0
0
0
3
2
0
0
-2
10
0
0
0
0
1
0
0
0
27
39
-8
0
0
-4
21
0
0
0
-1
-6
1
0
0
1
-7
0
0
0
29
10
1
0
0
17
-13
2
0
0
-7
-19
0
0
0
0
6
0
0
0
29
-38
4
0
0
-2
5
0
0
0
-6
2
2
0
0
6
-2
1
0
0
-13
-23
-3
0
0
0
12
-1
0
0
-4
-8
1
0
0
0
-2
0
0
0
17
11
8
0
0
-6
-21
5
0
0
7
44
-8
0
0
2
1
4
0
0
1
-26
-13
0
0
-14
-8
7
0
0
8
-4
20
0
0
7
-1
-3
0
23
-16
9
2
0
0
-4
-2
0
0
0
0
5
0
0
0
0
-4
0
0
0
2
-3
1
0
0
0
7
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
10
0
0
0
-5
-5
0
0
0
29
-9
0
0
0
-1
-5
0
0
0
7
-4
0
0
0
8
0
0
0
0
31
-1
0
0
0
0
4
0
0
0
-29
3
0
0
0
-3
-1
0
0
0
-3
-4
2
0
0
8
5
-2
0
0
14
13
-1
0
0
6
-4
2
0
0
0
0
0
0
0
-1
1
0
0
0
8
16
0
0
0
5
-2
3
0
0
0
-7
12
0
0
8
-19
1
0
0
4
2
-15
0
0
-10
3
1
0
0
-1
10
-2
0
0
1
13
0
0
-61
-8
8
-2
0
0
-1
0
0
0
0
-4
2
0
0
0
5
-2
0
0
0
-8
9
3
0
0
-1
6
-1
0
0
4
1
-1
0
0
0
-6
0
0
0
-16
-3
-4
0
0
12
0
0
0
0
-2
-9
-3
0
0
7
4
-2
0
0
14
-4
0
0
0
3
3
0
0
0
2
14
1
0
0
0
6
0
0
0
2
6
-2
0
0
-2
-2
1
0
0
-3
-5
-2
0
0
5
-2
-1
0
0
-6
5
0
0
0
1
-4
0
0
0
2
-23
1
0
0
0
1
1
0
0
0
-14
7
0
0
0
-10
-2
0
0
5
-1
5
0
0
24
10
0
0
0
-5
16
-6
0
0
-1
5
4
0
0
-2
0
27
0
0
15
-12
0
0
33
-5
-6
-3
0
0
-2
0
1
0
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
1
1
0
0
0
15
1
1
0
0
6
0
0
0
0
-20
6
0
0
0
-4
5
0
0
0
-26
0
0
0
0
-14
0
0
0
0
17
0
0
0
0
-1
-9
0
0
0
4
-8
0
0
0
0
2
0
0
0
-1
0
0
0
0
1
4
2
0
0
2
0
0
0
0
-2
7
0
0
0
-8
1
0
0
0
2
-1
0
0
0
1
0
3
0
0
1
-4
-2
0
0
-6
-6
0
0
0
2
-2
-2
0
0
8
0
-3
0
0
-1
8
-2
0
0
-1
-5
1
0
0
3
9
0
0
-35
8
-8
-10
0
0
-4
2
0
0
0
1
13
0
0
0
1
-2
0
0
0
16
3
-4
0
0
0
-8
0
0
0
0
-1
0
0
0
0
2
0
0
0
-5
3
3
0
0
-2
0
1
0
0
-9
-2
0
0
0
1
5
0
0
0
6
20
3
0
0
-2
-16
0
0
0
24
5
0
0
0
1
25
0
0
0
7
-3
-8
0
0
0
8
0
0
0
0
-8
6
0
0
0
7
0
0
0
6
-12
4
0
0
1
-3
-3
0
0
-4
8
0
0
0
1
-5
0
0
0
6
12
10
0
0
0
-7
-3
0
0
1
-20
2
0
0
0
-6
2
0
0
17
40
8
0
0
-8
12
-2
0
0
-20
9
5
0
0
-10
0
-4
0
-20
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
0
5
-2
0
0
0
-20
0
0
0
0
-3
25
0
0
0
-3
-7
0
0
0
-20
-7
0
0
0
22
4
0
0
0
-4
1
0
0
0
-2
6
-1
0
0
0
-3
3
0
0
0
-1
0
0
0
0
2
0
0
0
-9
4
0
0
0
1
-1
0
0
0
23
1
0
0
0
0
-2
0
0
0
-4
0
3
0
0
0
-16
-3
0
0
-2
-1
0
0
0
-2
10
0
0
0
2
-2
7
0
0
2
5
0
0
0
-2
-8
0
0
0
-12
10
0
0
9
-5
-1
0
0
0
0
0
0
0
0
2
2
2
0
0
1
-1
0
0
0
-1
-8
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
2
0
0
0
-2
-13
0
0
0
0
-5
0
0
0
-5
3
0
0
0
5
-10
0
0
0
-8
-1
0
0
0
1
0
0
0
0
16
10
0
0
0
1
-3
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
1
-2
0
0
0
1
0
0
0
20
-5
16
0
0
0
12
2
0
0
0
7
1
0
0
-6
5
-1
0
0
15
-22
8
0
0
-2
20
6
0
0
6
33
6
0
0
-5
4
1
0
54
24
-1
0
0
0
4
0
0
0
0
0
1
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
1
0
0
0
19
2
0
0
0
18
-4
0
0
0
4
-4
0
0
0
4
-3
0
0
0
-3
7
0
0
0
-15
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
2
-3
0
0
0
-16
0
0
0
0
0
8
0
0
0
-1
-1
-1
0
0
-2
-4
0
0
0
-7
-3
1
0
0
-8
3
0
0
0
4
5
1
0
0
0
-3
0
0
0
0
-8
2
0
0
8
-9
0
-13
-9
1
10
-38
0
23
26
9
-12
0
37
-4
-12
3
0
11
5
20
26
0
-13
-40
35
-20
0
-22
41
1
-54
0
-8
-24
-28
8
0
-21
27
42
42
0
21
-15
4
-15
0
-17
-50
2
-5
0
-15
-24
-15
-27
0
-16
-15
24
-3
0
-1
11
46
-11
0
8
2
-18
-18
0
35
34
-18
-18
0
-3
-2
0
-2
0
16
-21
-10
-8
0
3
0
48
-23
0
-41
-19
-76
5
0
-28
-10
-8
-5
0
-62
-39
12
4
0
-12
40
-13
12
0
5
-27
0
-7
0
35
4
8
0
0
-11
12
-6
3
0
8
-28
-5
-1
0
3
7
11
3
0
-13
-1
1
-2
0
-9
12
-1
16
0
-7
20
8
-4
0
11
12
-13
1
0
-5
-3
-7
1
-26
-10
-18
63
-24
0
4
-36
-2
9
0
41
38
36
2
0
52
15
-44
50
0
4
-24
-44
5
0
-51
-29
-11
12
0
28
43
34
-2
0
14
72
-71
4
0
-6
-62
-15
9
0
-77
44
-17
-15
0
-15
30
-30
6
0
7
13
-4
20
0
87
-21
8
43
0
10
-53
25
19
0
42
40
-16
2
0
35
4
7
-5
0
5
-10
-43
18
0
18
-24
5
-34
0
10
10
20
-5
0
-18
8
15
-1
0
8
-36
-5
-9
0
-8
-2
-20
8
0
25
-1
2
-7
0
-2
1
1
7
0
-10
20
-22
-2
0
-8
6
-3
1
0
3
8
12
0
0
16
22
5
3
0
4
-1
8
1
0
-22
-12
3
0
0
7
-1
19
0
0
18
-7
1
1
-10
16
-8
25
30
0
-5
-9
46
-23
0
10
-37
-15
6
0
39
7
19
-10
0
-49
14
0
-22
0
-53
29
42
20
0
4
9
-20
17
0
-18
6
5
2
0
-3
-6
21
16
0
13
-6
9
-6
0
8
-10
-24
-8
0
55
7
-12
-12
0
2
-19
58
-9
0
22
13
2
10
0
-29
4
32
1
0
25
-4
1
-1
0
-26
11
2
-30
0
20
44
-18
7
0
-6
-7
3
8
0
25
27
-16
0
0
-9
-8
-8
5
0
3
-7
1
-1
0
-7
30
1
8
0
-6
-6
-1
-3
0
-10
-4
-8
5
0
9
13
0
0
0
-32
-25
3
6
0
-1
-17
2
0
0
6
6
-4
-1
0
-3
0
-4
0
0
-7
3
7
2
0
5
17
7
0
54
3
-20
10
34
0
-4
52
-10
4
0
33
-8
6
26
0
-29
-2
27
21
0
-3
7
0
-6
0
30
11
32
-10
0
-49
19
-9
6
0
-9
-6
28
-6
0
17
-1
-15
-9
0
10
4
7
-7
0
2
14
4
-8
0
19
5
-1
-16
0
13
-29
5
-24
0
10
0
-5
-1
0
-18
4
2
29
0
8
-3
8
1
0
-39
21
-31
-6
0
4
12
5
9
0
10
29
-4
1
0
-13
5
-6
-1
0
21
3
0
0
0
3
0
-1
-3
0
-18
5
3
0
0
0
4
1
-1
0
18
-2
13
-1
0
24
3
0
0
0
6
-5
0
0
0
-5
-3
5
0
0
1
-1
-3
-1
0
-1
2
2
0
0
0
1
0
0
0
1
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
23
-15
-53
0
-33
-19
-55
29
0
-25
19
0
-30
0
-11
2
17
-30
0
-5
5
10
-4
0
-3
22
-25
21
0
32
-34
4
-1
0
38
-20
-8
-19
0
7
7
-31
-11
0
22
-36
59
-5
0
-59
41
-24
40
0
-40
-21
-17
-17
0
20
-16
-4
-5
0
8
55
41
3
0
2
-51
34
-17
0
-8
42
-22
-11
0
35
-7
2
-15
0
-8
13
12
14
0
24
-19
0
1
0
14
20
15
3
0
9
6
-5
-13
0
-8
-20
-3
2
0
-7
1
-29
3
0
-4
2
-6
0
0
4
-1
-3
-13
0
5
14
19
13
0
-14
-25
-9
-3
0
20
2
14
-2
0
7
7
1
-8
0
24
-1
-15
12
0
-7
-1
2
5
0
10
-5
7
0
-15
-49
63
29
50
0
-36
6
42
-13
0
21
28
35
31
0
-7
12
23
-6
0
-9
-65
-12
43
0
-8
-14
-29
-8
0
-7
3
8
-9
0
38
9
-23
16
0
-29
-7
20
-49
0
-79
-9
-71
-30
0
22
-2
-7
-14
0
56
-3
17
0
0
-16
-5
24
-22
0
15
20
-47
-3
0
58
-8
-28
3
0
-14
-1
-8
-6
0
-12
23
-24
10
0
-24
-14
0
-5
0
0
9
-4
1
0
10
-6
-34
2
0
-4
9
-8
-3
0
-3
-25
-22
0
0
-5
6
8
-1
0
-9
-7
-17
0
0
-7
15
-7
-8
0
2
-16
8
-2
0
7
-7
-8
0
0
1
8
-14
0
0
17
2
9
-2
0
-9
-3
12
0
0
-3
7
1
0
0
-5
-13
5
0
32
-16
32
-14
-1
0
-19
24
0
2
0
-29
-6
21
-16
0
6
11
-50
2
0
-101
-8
40
27
0
25
-29
-23
-3
0
-71
26
16
-16
0
36
-64
5
2
0
-16
-8
-44
1
0
19
24
-12
-9
0
29
-22
-13
4
0
21
-6
0
5
0
60
23
17
23
0
-4
2
-11
-7
0
25
-16
-3
-9
0
52
-19
17
-2
0
5
5
4
3
0
-1
-18
10
0
0
6
5
14
-6
0
0
7
0
-2
0
4
-8
5
-7
0
0
-7
-5
-1
0
0
-13
6
8
0
13
5
-16
0
0
-19
1
-12
-3
0
0
-8
1
1
0
6
13
-24
5
0
2
-1
-5
0
0
-15
-6
23
7
0
5
1
-2
0
0
-29
24
0
5
0
-3
12
-1
0
16
-4
-55
7
-10
0
-22
-23
-30
-3
0
-19
-4
6
14
0
-2
22
-15
0
0
-33
21
-13
-5
0
-2
-13
2
-13
0
12
3
-1
0
0
15
-12
-6
10
0
4
-23
-27
17
0
25
5
6
-18
0
-41
-13
29
12
0
-8
21
8
13
0
32
7
-17
-10
0
-17
-31
-8
22
0
-12
-29
21
-7
0
3
-2
6
2
0
-5
4
1
-4
0
0
7
24
0
0
2
1
0
-4
0
10
3
3
-1
0
7
-1
0
-2
0
-4
5
5
0
0
9
0
1
-1
0
8
22
6
0
0
2
-2
3
-8
0
1
24
-3
0
0
-2
-3
-8
1
0
6
7
8
1
0
-1
-5
2
0
0
8
-17
-9
0
0
-3
-4
0
0
0
13
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-9
4
-13
21
0
-1
-20
-12
28
0
38
-4
-14
-6
0
13
-18
27
-5
0
-28
1
-19
-2
0
-15
-20
15
-5
0
23
-9
6
-2
0
3
1
-2
1
0
11
14
-40
-7
0
-2
-14
5
0
0
-11
-3
-7
-8
0
-6
-19
3
0
0
-20
23
-20
-3
0
-8
6
-2
1
0
-11
16
9
7
0
19
2
3
-1
0
4
-18
32
25
0
-20
-17
-38
1
0
-20
8
-8
-1
0
4
3
13
5
0
-48
10
22
-8
0
-3
-38
1
7
0
-1
-1
-5
-4
0
-4
-8
-8
1
0
-2
-3
-13
-1
0
-17
-3
6
-8
0
22
17
-10
8
0
2
4
15
3
0
-4
71
6
-2
0
6
-4
15
-9
0
14
8
-8
20
0
24
-8
-8
-1
35
2
16
8
-22
0
-23
-36
7
-10
0
-40
6
8
4
0
25
26
7
12
0
61
-4
-18
-12
0
-7
-19
-9
-2
0
17
0
-1
0
0
-6
-4
25
1
0
-50
-13
26
-31
0
2
21
-24
-3
0
13
6
-7
0
0
-5
6
-5
1
0
-4
3
-9
-2
0
3
10
1
1
0
-21
0
3
1
0
8
3
-2
0
0
-5
3
-8
-8
0
-3
-4
-26
8
0
-10
-4
10
-7
0
-7
-21
4
1
0
1
10
-29
13
0
2
-9
12
-4
0
-19
-6
4
-6
0
5
-6
-14
-2
0
10
-3
43
6
0
-20
19
-13
1
0
8
24
5
-7
0
9
15
10
0
0
25
-13
-24
-8
0
-8
14
7
-3
0
14
17
4
-2
0
2
-3
4
0
-27
4
16
-30
-5
0
17
5
2
10
0
-9
6
-8
-31
0
-12
7
1
3
0
-11
-5
25
-3
0
-7
2
-25
-1
0
16
4
-17
12
0
5
4
-5
0
0
-17
-2
25
0
0
3
-10
0
2
0
8
-8
-10
1
0
9
-17
-1
0
0
13
-12
-12
2
0
0
-1
1
0
0
10
-4
-8
0
0
-7
-4
1
0
0
6
-54
-37
5
0
-6
12
-8
5
0
3
-13
1
12
0
8
12
2
0
0
1
17
-31
4
0
5
-9
-3
-1
0
-9
-9
-2
4
0
-6
15
2
-1
0
0
0
-9
8
0
4
16
-9
-4
0
8
1
1
-8
0
2
3
0
0
0
12
-14
7
-2
0
3
-2
-16
0
0
-6
-3
0
-2
0
12
0
-1
0
10
20
-3
7
4
0
-13
27
-14
-6
0
-9
0
9
7
0
-14
6
11
1
0
8
-5
2
-8
0
-8
1
13
4
0
-23
0
-5
2
0
-4
5
13
-2
0
-8
3
3
0
0
0
3
-6
0
0
-5
3
2
1
0
4
-8
-3
0
0
12
0
0
0
0
-1
-2
-7
0
0
16
3
2
0
0
2
-7
2
0
0
1
6
19
-7
0
0
14
-20
1
0
0
3
4
-3
0
0
0
5
5
0
-10
10
6
-3
0
2
12
0
-3
0
6
1
-2
0
0
-20
4
0
2
0
-1
8
-2
-2
0
2
-7
4
0
0
-20
0
4
0
0
-1
-19
2
0
0
4
0
7
-2
0
0
-4
-2
0
0
6
1
4
-1
0
-4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
18
32
-55
-2
0
25
-10
-14
5
0
1
2
4
-5
0
0
5
21
-6
0
18
9
-2
-9
0
0
5
-19
-1
0
-12
16
15
2
0
-1
-9
-6
1
0
14
17
-5
13
0
-6
6
24
1
0
66
5
-12
8
0
-23
40
1
0
0
20
7
13
-1
0
6
-11
0
0
0
-22
1
2
-7
0
10
10
2
0
0
43
7
-19
-18
0
9
-32
20
-8
0
8
-19
-3
12
0
-1
-2
-6
-4
0
-16
-10
12
10
0
3
-5
0
-2
0
10
7
29
2
0
-4
-2
16
-1
0
-34
33
35
18
0
-12
-19
32
13
0
-29
6
14
-21
0
-5
-19
-12
-6
0
-31
8
3
13
0
4
3
23
-3
0
-12
-5
-6
-7
0
13
43
-12
0
-4
11
-4
-44
-2
0
-13
8
5
3
0
-3
-1
3
0
0
7
-10
33
-2
0
29
-7
6
-2
0
1
10
12
0
0
-3
-5
0
0
0
0
-5
4
0
0
-12
12
-10
-5
0
-19
8
5
8
0
2
2
-13
0
0
2
0
0
-3
0
-2
10
4
1
0
8
-13
5
5
0
13
-2
5
-1
0
-17
-3
-6
-1
0
2
13
-46
3
0
-2
3
-5
-8
0
24
8
-5
-10
0
24
-8
8
0
0
10
-4
-4
8
0
-5
10
10
-3
0
17
-25
5
-6
0
8
-4
-2
-4
0
-5
11
0
29
0
21
-17
-2
-10
0
-25
-6
13
9
0
3
-50
-2
-4
0
-18
0
0
6
0
-24
-1
14
4
0
-2
6
-24
7
0
-19
27
24
29
-13
2
3
9
-16
0
-1
9
-6
0
0
3
-6
-8
-1
0
-6
1
12
-2
0
0
0
9
-2
0
3
1
-19
0
0
0
-8
3
3
0
2
-8
2
0
0
-7
31
-8
-3
0
8
5
9
5
0
-1
-2
5
0
0
7
1
1
0
0
-44
17
-7
1
0
5
6
0
-2
0
8
5
-1
-9
0
-17
7
0
0
0
-15
-10
12
-14
0
-1
3
9
6
0
-9
-24
9
14
0
4
-2
0
-1
0
0
-7
-7
-5
0
2
-8
9
6
0
-24
7
2
-3
0
8
1
-12
1
0
-3
2
-18
-2
0
0
9
-4
4
0
-4
7
-3
-1
0
2
9
6
1
0
9
6
8
1
0
3
-13
2
5
0
5
-23
23
3
0
-7
5
-25
5
-31
6
-8
-7
4
0
-1
-10
34
-1
0
1
4
-3
0
0
0
1
9
0
0
-3
0
-3
1
0
-1
2
5
0
0
4
0
2
-4
0
3
5
3
0
0
-1
-2
1
5
0
1
4
3
0
0
24
8
3
4
0
-12
6
2
-3
0
9
5
-1
0
0
-8
-7
0
0
0
8
-3
-8
0
0
2
8
3
0
0
-2
-2
13
9
0
-5
5
12
-2
0
-13
-6
-2
-5
0
-7
1
-8
-8
0
4
-9
14
-1
0
9
4
-1
4
0
-17
0
0
0
0
0
20
0
-1
0
-6
2
14
7
0
8
30
8
5
0
4
-1
9
4
0
-2
2
-4
-2
0
-5
-23
8
1
0
9
19
-21
1
0
19
-18
5
3
0
10
-2
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-65
-22
22
-1
-27
52
-20
6
-11
-84
41
50
-2
-9
-25
-10
40
-30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
24
-24
-15
28
-108
-12
-45
19
11
10
-6
-43
26
-36
19
-40
-8
30
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-53
-25
-5
37
-5
-10
-9
-21
-31
0
-13
20
29
-7
12
-9
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
33
-3
42
-15
-10
27
-14
-11
-5
-19
-52
-17
-26
42
-12
-28
4
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
5
-10
-56
-43
19
11
83
-39
6
47
51
4
37
13
-23
13
-13
25
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-52
-17
43
13
-32
-41
6
15
1
13
5
-13
-25
41
-22
5
23
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-40
-8
-28
24
-13
-69
2
13
-24
6
-3
-26
7
3
36
31
19
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-35
-11
25
-22
31
-5
-4
-6
-7
7
-21
-14
-2
1
0
-1
3
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
34
-20
-65
-47
17
23
20
-32
24
-3
-48
0
45
4
-11
-22
27
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
27
45
-5
-47
66
-60
-57
-15
0
-31
-19
52
10
15
25
-3
-8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-12
-10
-37
43
13
22
24
-9
2
28
14
-29
17
-3
-5
-17
2
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
11
-32
-7
1
25
-13
-7
15
6
-8
-23
3
8
-2
13
17
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-7
10
2
33
-49
0
50
3
24
25
-25
17
-17
-1
22
12
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-18
-3
-21
-2
-5
-18
-9
19
-19
24
28
7
-20
-1
4
-25
13
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
10
-7
5
4
18
22
-17
25
1
-3
-6
40
-23
-6
-2
42
11
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
1
16
1
9
2
13
3
-1
-24
4
12
3
0
-1
7
8
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
11
-22
-37
-3
26
-16
19
28
11
-42
22
-1
-7
20
19
-14
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
55
-16
-35
5
42
-12
-13
-14
25
1
21
-8
48
-12
-40
8
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
7
-24
7
-9
18
-16
-20
-15
-7
-44
-9
-8
16
2
16
-8
0
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
18
-13
-8
-5
-7
-4
-16
3
25
-14
-18
0
1
5
-1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
40
-30
-13
15
54
12
-16
-50
49
14
123
-7
-19
28
0
7
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-52
-33
38
-14
-35
-60
-10
-29
-6
28
14
15
20
-2
-31
20
-18
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
4
9
-18
0
17
-12
-19
-6
0
-8
-5
-15
-22
4
-12
-5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-23
12
2
-29
7
-2
-9
-4
-16
2
6
6
-1
-5
0
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
53
15
13
74
2
29
30
16
-22
78
10
-14
22
-51
3
-27
46
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-46
-5
3
-3
-14
22
-13
-5
10
3
3
13
-17
-14
-2
13
13
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-7
-2
1
-1
6
9
8
-2
-3
6
-1
-23
4
0
1
5
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-16
10
-8
-3
1
7
17
3
0
-9
12
-7
0
1
2
8
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-9
-32
29
-39
-17
5
48
7
-16
-7
8
65
47
8
0
2
-12
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
-13
1
10
2
14
-3
-25
-8
-19
16
3
-4
1
8
0
-1
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
12
25
1
1
-2
-3
-8
-1
-1
8
4
-8
10
-4
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
-4
0
-4
-7
0
-2
1
-3
4
2
-1
0
7
-19
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-89
11
-6
-31
-26
5
20
45
-38
-45
-17
-2
15
12
-10
-34
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
3
13
-14
-4
-47
21
43
53
-40
15
28
-49
41
1
40
3
-9
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-9
-12
4
-2
18
13
-1
1
-25
17
-10
8
-7
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
20
-10
-4
-1
32
14
-7
5
18
7
-4
30
-1
-12
14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-29
48
34
-21
-9
15
-23
-3
-32
6
10
7
2
-11
3
28
9
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
16
-46
-32
-16
11
52
8
-16
-4
-4
20
11
35
4
27
-6
1
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-5
-5
0
-3
-9
2
1
-2
3
-7
2
-5
7
0
9
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-9
5
-12
2
8
-4
2
0
-15
-38
14
1
0
-18
-5
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
-61
38
-2
10
58
10
-33
6
23
-40
-24
4
11
-27
33
25
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
-54
-13
32
-7
-8
42
-26
12
-9
19
6
-38
-40
-7
41
-75
48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
-8
13
-8
15
5
0
3
-2
-1
-2
-5
-4
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
5
-8
-9
-12
5
6
-2
-5
1
-6
-16
2
9
-3
14
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
-3
-13
12
8
-4
-1
-3
5
5
42
-15
-2
5
-3
-7
18
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
32
24
-14
4
13
1
-25
-10
14
5
18
13
-3
0
2
0
4
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
3
-3
0
2
5
-4
-20
2
5
-4
-1
-4
-2
0
-4
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-16
2
2
-2
-5
0
4
0
-2
1
2
8
0
-5
2
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
13
-20
4
16
-15
-46
24
11
-17
-48
-36
16
-1
8
3
-17
10
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
47
7
32
-23
40
-64
36
-24
30
13
-69
-25
-25
-44
0
29
-58
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
30
47
-18
-6
1
8
2
6
1
1
-2
-1
-9
4
-4
3
-3
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
8
5
-13
5
19
-7
-9
5
20
7
-29
0
3
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
13
2
4
3
-22
23
-10
-25
30
14
-6
-8
50
-20
17
5
-8
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-18
-13
-13
-13
-33
-10
-7
47
-25
-5
7
18
-50
25
1
6
-14
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-10
6
6
0
-1
9
-2
-7
3
1
0
-1
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
5
2
1
-12
6
-2
-5
-3
0
2
-2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
-16
-17
-2
-14
10
2
7
25
6
-22
0
-4
3
-5
5
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
10
-70
-15
11
15
45
-53
16
-23
-14
-5
13
3
1
-24
10
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
8
-8
0
0
0
4
5
2
0
0
0
-3
-2
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-2
-1
-1
-2
0
-1
0
4
-2
5
-6
1
-3
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
16
-6
-5
5
6
2
-21
-10
-4
-24
2
-12
0
-5
-3
4
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
8
-3
-7
7
52
-1
-15
8
-2
7
-5
3
-5
-1
-6
12
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
-1
8
-1
10
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
4
0
0
-2
2
1
0
0
-2
4
1
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-30
1
24
-15
-6
27
-6
-11
-4
-39
1
5
-11
4
23
-36
-18
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
29
12
-14
-33
-2
-30
61
-2
-10
8
-13
7
-44
-16
-2
23
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-22
3
-11
-23
6
-2
38
16
-16
-6
28
3
2
0
-4
-14
-8
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
-3
-34
21
-29
-10
-21
2
25
25
-44
1
-4
-13
13
-1
-39
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
13
-35
2
-13
-1
-52
-8
2
-41
-24
10
11
5
-9
-1
0
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-11
15
-13
7
20
9
-12
-9
-6
4
31
22
0
-7
9
-12
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
25
16
4
-9
12
-2
-11
-13
6
29
6
-15
-9
-5
-6
8
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
8
2
6
-16
14
-3
-3
10
-1
-3
23
17
8
22
26
14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
3
-2
57
-1
-9
9
14
-15
23
4
11
-4
-6
5
13
-7
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-13
-5
-7
-5
13
-6
-4
-1
12
1
2
12
0
5
-4
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
23
4
30
-5
-8
-5
3
-15
-1
5
-24
-27
-2
2
-4
-3
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
-6
-12
-9
13
-25
-32
18
-2
-28
12
-17
-1
-8
1
-3
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
47
30
6
-8
-8
31
3
-2
7
0
-2
21
-8
-5
59
10
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
-3
-13
1
29
-40
7
-1
-8
-13
16
0
-8
-1
3
-4
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
-9
10
-5
1
11
13
-3
-5
3
0
-6
-5
2
-3
10
6
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
25
6
-3
1
-10
-8
-3
-8
-2
1
-2
0
2
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
16
-2
11
-24
-17
42
-31
-3
5
-6
-17
0
10
-8
1
0
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
50
39
4
2
31
6
7
-16
2
13
-19
-31
12
6
0
4
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
25
-4
-6
-7
-14
0
-8
-5
-7
17
-3
-4
3
-1
-6
6
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-21
-3
14
-1
-10
2
14
0
-8
10
-3
-2
-8
4
8
-5
2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
16
0
0
-3
32
-12
-7
0
4
-9
0
-12
-5
1
-5
-4
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
8
-10
1
-4
-17
-13
-16
0
5
24
-20
7
0
0
-4
10
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
4
-22
-4
-3
-21
-12
9
3
0
1
4
-4
3
0
-1
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
10
-9
5
5
-6
-32
-5
0
17
2
6
-5
7
4
9
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-2
2
-8
0
3
-9
4
2
2
8
10
23
1
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
2
6
-2
1
-5
-17
3
0
-7
8
9
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-20
7
9
-1
18
0
-8
1
0
-3
-4
-10
3
0
-9
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
2
-8
-1
-4
6
-6
15
-6
23
-20
0
6
2
-10
1
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-12
-1
3
0
-12
8
5
8
1
-2
2
-1
1
0
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-2
6
1
0
3
4
2
0
3
-2
20
-4
0
-7
3
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
10
2
-1
14
8
1
0
3
0
6
-4
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
6
-1
1
-8
3
6
-3
0
0
4
1
1
0
-8
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
-47
20
-2
2
-39
17
-14
2
3
-3
-3
-23
1
0
-25
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
39
-1
16
-2
-34
27
5
10
1
2
-23
7
-3
0
-12
-32
-4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
4
6
14
20
-3
-1
-16
12
-29
14
-5
-48
0
8
-3
-1
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
63
14
-2
-10
-4
25
-3
-6
-19
20
0
9
2
9
5
-3
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
3
-7
0
-1
-6
-3
-2
6
0
-1
0
0
0
1
5
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
32
7
4
-7
13
-20
-17
-10
0
10
22
-8
0
0
-8
6
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
-2
9
0
-2
-3
-1
-7
-13
8
5
6
7
-3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
-26
4
3
-1
7
25
-23
4
9
4
-1
-4
-7
-18
-24
1
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
-4
-8
1
-8
-12
-6
1
-1
25
0
7
-5
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
29
-7
20
4
0
-17
15
-12
1
9
4
-7
-16
2
-2
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
3
-15
-14
0
-3
-3
4
5
-4
-1
-12
0
1
-6
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
3
-39
8
6
8
-13
23
-1
16
6
-9
-40
5
-22
16
4
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-14
0
0
-4
-10
-6
3
0
1
-1
22
0
0
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
9
0
-2
-6
1
-3
2
-7
7
5
0
4
7
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
10
0
2
4
5
0
4
0
-2
-9
0
0
5
-6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-1
30
3
3
-3
13
4
17
6
5
2
-6
-8
-10
-1
2
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-2
0
0
3
-8
38
1
0
-4
5
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-1
42
12
8
30
-8
8
-1
2
-21
1
-1
-1
6
22
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
7
5
-13
3
-5
-27
8
1
0
1
5
-8
1
0
4
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
39
55
17
6
7
-5
-18
20
-4
-18
36
-8
18
-2
-8
-8
14
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
-2
-1
9
8
-5
2
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
4
1
-8
16
9
-2
15
0
-3
-5
5
0
4
8
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-24
-10
-2
0
-2
12
20
-1
0
0
0
2
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
16
0
-21
25
-9
22
17
9
5
7
29
-3
-8
3
5
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
-2
3
0
0
0
-2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
7
2
0
9
0
-2
-1
10
-24
-8
8
0
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
5
5
0
0
3
4
2
1
6
15
-10
1
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
2
16
2
-3
10
-13
-10
3
3
13
17
5
7
-3
0
0
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
-2
0
0
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
1
-2
0
0
-12
-8
-2
0
-1
5
-1
-6
2
-4
6
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-2
0
1
0
0
3
2
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
8
3
0
-22
-2
3
1
-1
3
29
2
4
-4
8
-15
16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
43
-6
35
21
-10
45
102
-26
5
8
14
59
4
-4
30
-61
12
10
-16
-8
29
18
20
11
-36
-8
27
16
9
-29
39
25
1
-33
21
10
-31
10
25
18
-29
56
-9
16
-29
-9
42
-17
-30
25
26
-49
-70
-7
18
28
5
-32
3
-15
-89
-50
-7
30
-11
13
-66
24
-14
14
-27
-30
-53
-3
-4
-8
2
-9
-8
3
12
30
28
-56
1
-11
12
-15
5
6
3
-13
-18
-3
-28
14
9
28
-7
-64
4
-1
9
3
16
24
-13
10
0
3
-41
-10
-6
8
-4
-7
-8
0
0
35
-21
-5
5
8
11
-1
18
-15
-6
-2
19
13
-9
0
9
8
1
15
2
6
-24
0
30
0
3
6
8
3
-1
-10
0
-7
8
-4
0
0
0
-3
0
-58
29
11
-37
-4
21
7
0
10
-12
22
29
-8
47
0
34
19
-28
48
-7
41
-6
-23
-3
2
6
-3
-44
-24
6
32
-24
33
18
30
-7
7
4
6
-3
-33
-35
-16
-22
-24
16
-18
42
-6
10
-23
2
-4
8
8
-1
22
-27
-8
0
-25
2
-28
7
-3
7
-7
-28
-4
-10
5
-20
-1
6
0
-1
24
12
-5
3
-2
3
34
-12
-27
-10
12
-8
7
-10
-23
2
-15
13
7
15
-20
15
16
-8
-27
8
10
-12
5
13
-8
1
1
4
9
0
-3
3
0
-1
-5
15
-2
-1
1
21
-12
-5
0
-12
-25
0
-1
6
10
13
2
1
1
8
9
-9
2
6
-1
13
-4
-9
-6
-7
0
0
7
2
0
-2
1
-1
0
0
-1
0
4
0
3
-39
-12
56
52
11
9
8
-59
-8
41
26
-9
5
22
49
2
23
32
21
24
-9
-14
-53
17
-3
-11
-23
-13
-11
70
17
3
-1
2
0
-24
14
0
0
-32
38
-21
-12
-23
28
-44
7
5
0
22
-14
-1
-8
-8
12
8
4
-7
1
0
-11
-24
-44
-22
3
-14
2
6
13
2
0
3
-17
10
1
2
-8
4
-1
-59
21
-18
17
-11
-16
-5
-9
25
0
-16
3
-19
0
-4
-13
-1
4
-12
-1
-8
-17
-9
14
-17
4
-3
7
-7
1
-2
-2
-2
-4
1
-3
4
-1
0
0
-2
-2
3
-21
8
4
-6
1
-14
-9
0
-20
-4
-5
-1
0
3
-4
0
0
2
9
23
6
-1
0
2
0
-2
0
0
-1
5
-1
0
0
0
0
0
0
-19
-3
21
-7
-19
30
-43
-6
-19
-5
-18
38
-13
-19
-6
27
19
19
18
8
23
-29
67
14
15
-16
11
-17
-7
4
-24
12
13
0
-5
0
-8
1
-10
10
0
6
-15
-22
-6
0
18
-24
17
6
-8
2
-5
-8
-1
13
-1
-14
2
8
9
-11
-12
-4
8
6
7
-5
10
-1
-1
-19
10
-4
0
0
-4
-5
9
-1
16
-56
-15
12
2
20
-22
-16
13
-4
-8
25
-16
5
2
9
25
10
10
0
8
-7
2
10
2
-8
12
9
9
4
4
2
1
-1
0
-1
-10
3
-1
1
3
-8
1
-1
0
24
0
-2
4
0
0
0
7
-29
2
-1
1
0
0
5
0
-5
0
1
0
0
3
-7
5
0
0
1
0
0
0
1
6
1
0
1
50
48
-37
4
-27
-41
-50
-94
70
38
-4
27
21
-6
-75
49
-34
-46
3
0
-20
58
48
-82
-31
27
-14
-21
33
19
-13
9
18
-56
13
-15
-3
-13
50
29
-3
0
-27
0
31
-3
27
-18
5
-8
-24
12
-27
-12
-13
9
-4
-2
1
9
25
37
9
-43
-8
13
-5
-13
8
-4
-2
8
6
-20
4
-1
3
16
-1
1
9
-54
2
-54
44
-28
14
14
2
11
-54
-2
13
-2
14
18
-3
13
12
1
6
38
6
7
-4
10
-19
6
-6
-5
-2
8
4
-8
-2
0
2
3
0
0
-17
-26
23
2
7
3
-7
7
9
0
0
-15
-2
-18
-2
1
5
-4
-2
0
-25
-14
-24
9
2
1
-7
0
0
1
2
1
2
2
-1
0
0
0
0
0
-23
-31
7
-6
21
29
-11
-47
-5
-36
48
-8
2
2
-5
-5
-8
4
-4
-4
2
13
17
10
12
28
-16
-9
-48
26
-14
43
-1
52
56
6
6
13
31
-27
2
-14
19
-3
5
18
16
6
-17
-14
20
48
15
-8
4
5
20
-23
-18
2
-16
-34
-29
9
-9
-13
-12
-36
3
19
0
5
-19
-18
-7
-4
10
5
0
1
-11
5
4
-16
0
-15
-8
-3
44
8
20
-14
2
8
0
-10
-8
5
10
-2
-8
27
8
-8
0
-2
7
-6
-1
1
0
6
4
5
1
1
-2
-1
1
0
9
-17
7
-5
-1
2
0
-22
-1
-4
1
4
-8
6
1
0
0
7
0
0
3
1
-1
0
0
-2
-5
-1
0
1
0
1
-7
0
0
0
0
0
0
0
-49
-49
-2
24
-56
-40
10
-29
55
5
28
-44
0
11
12
-6
23
23
-51
0
-46
-48
24
26
16
-19
13
53
-36
-3
6
5
23
26
6
-8
-6
23
13
-1
13
31
-1
-45
0
21
-28
-15
10
0
-24
-28
13
24
20
0
2
-24
5
-6
-16
24
-14
13
-8
0
-23
4
18
1
-9
23
1
-2
6
0
17
-9
12
1
-17
-1
-9
-5
2
0
20
7
0
1
2
20
-5
-3
-1
-2
-4
-4
0
0
-3
-12
27
8
-1
0
-8
3
-1
0
-6
-9
-5
27
0
0
1
1
-3
0
0
4
-5
-2
0
2
-1
0
0
0
1
0
-1
-3
-1
0
0
0
0
0
1
-2
3
-9
0
0
0
0
-2
0
3
1
3
-1
0
0
0
0
0
0
20
-89
0
-15
12
-44
-14
21
-14
9
-26
-5
2
3
0
-20
-10
15
5
-17
3
52
-6
79
-7
29
0
-21
30
6
2
36
-5
-4
-21
-1
-13
92
24
-8
7
43
-4
9
1
-6
0
12
-5
12
-6
7
29
5
-5
0
13
-4
-8
1
2
75
9
-4
3
5
29
-19
23
15
0
2
6
29
1
0
-6
2
-17
-5
3
-17
5
-7
-2
-9
0
8
-7
2
7
10
6
-1
2
2
-2
3
-3
0
0
0
0
0
-3
8
-20
2
6
-1
0
6
-1
0
0
0
1
4
-1
-2
0
3
-1
2
-1
0
0
0
0
2
0
-8
0
1
0
-2
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
3
47
8
54
3
-7
-55
31
62
-31
22
-10
7
-49
36
-20
24
46
-6
-13
-13
1
34
-59
-45
-19
-72
39
-20
-2
-2
32
-30
4
19
20
-2
-2
-3
10
-20
39
-76
-12
33
23
-6
32
-47
12
16
-2
-47
9
-2
6
-20
-23
13
-3
6
-4
42
12
7
2
-9
7
8
-16
2
-6
-17
-16
-2
-15
-19
-8
-12
-13
-9
10
4
2
5
6
10
8
-5
-7
-3
-8
-7
-5
-7
0
-1
-1
5
-4
0
-9
-3
-9
-13
1
7
-8
3
-3
1
-5
-7
-12
3
0
0
3
0
0
-1
-1
-9
-5
13
2
0
33
-1
-1
0
2
-7
0
-9
0
0
1
0
-5
1
-6
8
-7
-6
0
0
0
0
7
0
0
-3
1
1
0
-1
-1
0
0
0
-29
-10
-47
-21
21
48
77
8
-18
-14
-16
0
23
-30
10
-19
8
14
-5
-5
7
5
48
11
-14
38
28
24
-9
-29
20
8
0
29
7
5
-2
4
-27
8
-12
-2
1
4
29
-24
-3
10
-17
-5
-13
-7
-44
40
-3
-1
17
24
13
-7
10
-16
9
-67
-13
-41
10
7
0
-48
6
47
29
10
15
5
-4
-20
-40
-8
-41
-4
-1
1
0
-1
8
0
-1
0
-2
0
-1
0
-2
0
3
0
-1
0
15
5
2
0
-1
1
0
-7
6
0
0
5
0
1
0
0
0
1
0
0
-2
24
2
4
0
0
2
-1
6
0
0
2
-3
0
-2
0
1
0
0
0
0
1
-2
-3
0
1
2
3
1
0
-4
0
0
0
0
0
0
0
0
0
-90
-10
3
6
23
55
16
2
-30
-8
9
-62
4
-6
-4
-1
28
-21
-5
-10
-19
-46
5
-11
-16
-6
-16
16
-18
4
-5
1
6
-10
-14
6
8
-13
2
2
24
58
-39
38
-40
-16
18
-4
-1
-15
18
-18
-7
29
4
1
0
-5
-8
2
24
-33
-3
6
-15
6
-25
-1
30
14
2
19
8
0
8
-8
14
-8
-1
4
5
-20
19
-8
-2
2
-13
5
3
0
8
0
-3
-3
-1
-22
0
1
3
0
-5
0
25
0
0
3
-1
-2
2
0
-1
1
0
10
0
0
0
0
0
0
-7
-1
6
3
0
0
4
1
0
0
0
-2
0
2
-2
0
-4
0
-1
0
-3
-3
4
-1
0
0
2
0
-1
0
0
0
2
0
0
0
0
0
0
0
-19
10
-7
13
2
-20
33
42
35
7
3
-34
4
5
7
6
-7
18
49
-3
17
-5
-25
-41
-5
8
5
-23
6
4
4
25
5
-9
-1
2
8
12
-5
-2
4
25
-22
8
-1
13
-13
-36
8
9
-2
34
-24
-33
-9
3
4
-22
14
-3
-19
-5
19
7
-9
2
25
17
19
8
-2
6
-7
-8
0
0
-5
0
1
6
-14
-8
0
13
2
-9
0
4
-2
0
0
0
0
3
-1
0
0
-2
-1
-1
-2
0
1
2
0
0
-3
-4
-3
0
0
0
1
0
-1
0
0
0
6
0
0
3
0
0
1
1
0
0
0
-1
0
2
-3
0
-1
0
1
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-2
-2
0
0
0
-1
1
0
-1
-17
18
-41
-25
8
16
-57
-9
33
-5
-2
-54
7
8
-3
-2
-19
2
-8
0
2
-13
3
12
0
-29
11
-29
-12
0
4
1
2
0
-2
-2
2
-3
5
0
-27
3
59
24
8
-1
-10
13
-2
-7
-6
6
-2
-27
30
12
2
-3
-7
4
-8
-8
-5
-5
0
-10
66
21
8
-13
8
-28
11
19
-16
7
3
-6
-12
-10
2
-10
-9
0
1
-2
22
-3
-2
1
8
-3
2
2
0
-1
2
0
0
0
6
-7
-12
-5
0
2
-8
9
-1
0
-1
-2
0
-2
1
0
1
-2
2
0
-25
4
6
0
0
1
-7
-7
0
-1
4
0
3
-2
1
0
0
1
0
0
-7
20
-6
0
-3
0
8
-1
0
0
0
0
1
1
0
0
0
0
0
0
14
-13
8
-13
0
17
-15
-25
-25
1
41
32
5
-3
-1
-1
4
2
8
1
-8
-47
11
-38
3
-3
5
-21
4
0
1
-2
0
-8
1
0
-3
8
-3
0
2
35
-72
21
-7
23
19
16
7
-24
-16
28
-23
0
6
5
9
-6
-31
9
5
4
0
10
12
7
-60
57
-17
9
7
-2
40
-4
1
5
3
6
24
-1
-1
-13
-1
4
-1
1
6
1
-1
-2
0
-1
0
0
0
-2
-1
0
-1
0
-5
5
1
-2
0
-1
-1
-4
1
0
0
-3
0
0
0
1
1
1
0
0
0
2
2
-2
0
-1
0
2
-1
0
0
-4
0
0
0
0
0
1
0
0
0
-4
-2
3
0
1
1
0
1
0
0
0
0
0
0
0
-1
0
0
1
0
20
3
-23
-3
-4
-25
7
-2
-2
8
-7
0
3
0
4
4
4
5
0
7
-2
4
-17
4
13
0
5
16
-1
0
10
30
-17
-3
2
2
-4
14
0
8
-37
27
-7
-10
-1
54
5
6
-6
-3
39
-37
-8
-8
-1
-2
18
30
0
16
-59
4
5
-4
-8
69
-7
-21
-2
-1
-16
-9
6
-1
-5
24
-4
-20
13
0
-9
-2
-3
0
0
-1
0
-8
0
1
-8
-1
0
0
-2
0
0
0
0
1
5
0
-1
0
0
0
-3
1
0
0
-4
6
2
1
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
0
0
1
-1
0
0
-1
0
0
1
0
0
0
3
0
0
0
0
3
0
0
0
0
2
0
1
0
0
0
0
0
15
0
-22
6
-13
8
-22
-33
-12
6
-8
-14
8
-1
0
-1
-2
9
2
1
-9
-7
-33
4
0
4
25
0
8
-7
6
0
-20
4
0
0
0
5
-2
-1
-6
31
-12
3
16
-5
14
-1
8
-2
5
43
2
16
-3
0
-2
18
7
-7
8
10
49
21
3
0
-39
-9
-17
-8
0
-2
23
-23
3
0
-53
21
15
21
2
8
-1
-4
0
1
-5
1
0
0
0
1
0
0
0
0
0
-3
0
0
-3
0
0
1
1
0
-2
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
-2
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
-1
0
0
1
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
-1
0
0
-42
20
-51
-2
11
7
-49
-12
22
-22
42
-29
14
-55
24
-20
8
-15
8
-1
54
-10
3
-14
0
-8
-2
-8
6
1
3
5
0
-5
1
-2
0
-16
-4
0
49
-1
13
21
-1
-13
13
-6
24
1
0
-4
-2
19
-5
-22
5
5
2
0
0
17
-10
-4
-8
8
-7
-17
6
4
5
1
-4
-4
0
0
0
2
1
0
-26
43
6
4
-23
-25
-4
35
-14
19
-4
5
-15
10
-2
9
-25
2
-2
-1
28
10
5
-21
-13
-13
-4
-13
-12
-4
-6
0
-4
-4
-5
0
0
-2
8
0
4
30
0
10
-4
16
44
-6
-4
5
-2
3
-4
0
4
-12
-6
-13
3
0
15
-8
5
9
-3
-13
-10
9
1
3
2
-6
9
-3
2
-3
0
0
-8
0
-6
-72
42
24
18
-5
4
-2
-12
-1
-12
1
-13
10
7
24
-4
-3
27
3
-9
-5
-2
-5
-2
-4
0
0
1
4
3
0
-1
-2
-5
-5
0
-1
-2
0
5
-9
-15
-1
1
-25
-15
2
2
1
2
2
29
3
-1
9
2
1
3
0
2
22
8
-2
2
3
0
1
2
2
-2
-3
-8
-1
0
0
0
0
0
0
-13
19
12
-5
0
-7
-6
-4
-8
0
9
9
-1
5
-3
20
15
9
0
-1
17
5
13
7
-4
-9
-2
3
5
1
-4
4
-7
7
0
-2
0
0
4
0
-6
-14
9
8
-5
30
-16
-8
9
3
-3
-7
1
8
-3
14
-12
-1
6
-2
5
-5
12
5
-1
8
1
-4
2
0
-4
4
0
-3
-1
0
0
0
1
0
26
5
12
23
1
-16
-8
7
3
0
10
-1
-3
-10
-3
14
4
0
-1
0
-13
-2
3
-8
0
-4
4
6
0
0
0
8
13
5
-2
0
-10
1
-3
0
32
-16
2
0
-2
-5
7
6
2
-1
-24
7
10
7
7
0
5
1
1
0
-1
-2
22
-3
0
-1
0
0
0
-1
-1
0
-3
-1
-1
0
0
2
0
0
7
-53
4
-10
5
-12
5
-4
-3
0
-24
10
-8
5
-3
-2
2
8
2
0
19
-29
2
-2
1
-4
0
-1
0
0
-8
0
5
14
0
2
-1
1
4
-3
15
-3
14
13
1
0
12
2
-1
-1
-18
8
-8
-1
-6
-8
2
-1
2
-1
-2
-1
0
-14
0
8
1
3
0
0
-1
-6
7
9
0
0
-1
-2
8
0
-4
-18
-4
-1
-1
2
0
0
0
0
-3
-14
-8
-1
0
-1
16
-4
-2
0
1
-4
6
0
0
1
1
17
2
2
-1
1
-2
2
0
-1
0
-3
-6
-3
0
1
-3
0
0
0
-19
-1
-5
0
4
-8
-4
0
0
1
3
0
2
0
0
-2
2
0
0
0
0
1
-1
-2
0
0
4
-1
0
0
0
0
-3
0
-4
6
-1
1
1
12
7
3
-3
0
-2
-5
-4
2
3
0
5
-7
-9
3
0
0
7
-1
-4
2
-2
3
2
0
0
0
-1
0
0
0
0
-1
-3
0
-2
7
0
0
0
-6
3
1
-3
0
0
-5
2
2
0
3
0
0
2
1
-3
-5
-2
5
0
7
14
-2
1
0
0
1
6
2
0
0
0
1
-1
-2
-40
49
-17
-21
9
2
4
-17
-15
1
1
9
-2
2
3
-10
8
1
-2
0
41
1
10
-13
-4
-7
7
8
-3
0
-4
-4
-5
0
-1
0
-8
0
0
0
-8
-3
15
3
-1
-1
2
3
-3
-1
2
-2
-25
-1
-1
0
0
2
1
-1
4
20
-9
-7
0
0
-5
-1
1
0
-1
-1
-2
1
0
0
1
3
0
0
21
9
31
-17
9
-4
25
47
2
10
10
-23
8
-34
-8
-9
5
20
1
-1
16
15
-27
-1
-14
-5
-25
-5
-2
1
5
-1
5
-12
1
0
0
0
0
1
15
-2
9
6
-1
-6
5
-5
0
0
-7
19
-3
4
-10
0
-5
0
0
-1
18
10
-5
16
1
15
0
15
-10
3
-1
5
14
-7
-1
0
0
0
0
-1
12
-32
-19
-25
5
46
-34
13
3
0
-16
1
-6
8
0
19
0
10
8
-3
3
-2
-14
5
0
-2
-1
-8
1
0
0
-6
-1
1
0
0
-1
0
-1
-1
-2
13
3
0
-1
-7
2
1
0
0
-3
0
4
-13
-1
0
-1
-4
4
0
3
0
6
0
0
0
5
0
-5
0
3
1
0
0
0
0
0
1
0
0
2
13
-30
7
-8
-14
13
9
-3
1
12
-1
24
7
0
-5
21
-30
5
1
0
4
-6
-4
2
0
20
2
-10
-1
-1
-5
10
-4
-1
1
-6
1
0
0
-2
4
-8
-1
2
-15
3
-3
-2
18
-9
-2
1
0
0
3
-2
1
-6
1
-6
12
3
9
2
3
-3
-4
0
-1
-1
1
-2
-1
-1
0
-5
1
1
-1
8
-17
3
-1
-2
-15
19
1
-2
0
8
-8
4
-1
0
-4
-3
-2
0
0
17
10
-12
0
0
1
2
2
-1
0
0
5
-1
-4
0
1
1
0
1
0
-4
0
0
-1
0
-2
1
3
0
0
2
3
3
0
0
0
-3
-1
0
0
1
2
-1
0
1
0
0
0
0
0
-2
0
-1
2
0
0
0
0
1
0
12
13
10
-8
-1
0
-17
-2
6
0
0
3
4
16
1
0
-2
-1
2
0
32
-8
-7
0
0
1
1
-12
0
0
1
-5
2
-10
1
0
-2
-1
0
0
-5
19
-4
-2
-3
0
2
0
1
0
0
3
1
6
-3
0
0
7
6
0
-2
-2
6
3
0
0
-3
-5
2
0
-2
2
4
0
2
0
0
3
-1
0
1
-5
0
-5
0
1
-1
3
-3
1
0
3
3
-4
0
-1
0
6
-8
1
-3
10
-1
0
0
0
7
-7
1
0
3
2
0
1
0
0
0
0
2
0
0
2
0
0
0
1
-2
0
-1
0
1
0
-1
0
0
-1
-3
0
-1
0
0
0
-7
2
1
0
0
1
-2
0
0
4
0
0
0
0
-1
1
0
-3
0
-2
1
-2
0
1
-1
2
-5
0
0
2
1
12
1
0
1
0
-2
2
0
-16
2
-2
0
0
2
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
2
0
0
-1
-1
-1
0
0
0
6
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-8
1
0
-2
0
0
-2
-20
-43
-7
21
13
-6
-6
-1
9
-2
-24
-1
-14
5
0
0
3
8
2
2
3
-41
0
-3
2
-13
2
-9
3
0
0
0
0
-8
0
0
-3
0
1
0
-9
19
-3
-5
0
24
-6
7
1
0
3
-2
1
-5
0
0
3
1
-2
0
-21
-7
4
22
1
-2
1
-7
-4
0
-1
-1
0
-1
0
0
0
0
1
0
47
-21
-27
27
2
0
7
5
-13
2
0
5
0
-6
1
0
-4
8
10
0
9
-8
1
-9
0
-2
7
29
-24
-4
1
-9
-16
-2
0
-2
0
-1
-1
0
-6
-21
3
20
6
-5
4
13
5
3
8
14
-2
8
4
5
-8
-5
-6
0
8
16
-24
-2
2
3
-8
-1
-1
-9
-3
-3
8
13
-3
0
-1
2
-1
0
3
-24
10
10
0
0
0
6
4
0
0
2
0
-3
0
1
-2
-4
0
0
-6
4
-7
-1
-1
0
0
-1
-2
0
0
2
-2
0
0
0
0
0
-1
0
-6
1
10
0
2
-8
2
4
-2
1
-2
2
1
0
-1
0
0
-1
0
0
-7
-2
6
0
-1
-1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
9
5
9
-13
0
-4
2
-19
-8
0
0
5
-7
1
0
0
3
-2
4
0
1
-6
-6
8
1
7
-3
0
-5
0
0
3
0
1
0
0
1
0
-2
0
-3
6
8
15
5
2
1
6
5
0
0
5
0
8
-1
-2
-14
1
-6
4
1
15
14
7
5
-1
0
10
18
-5
0
9
0
2
2
0
3
3
-8
-1
-40
11
-2
-7
0
8
1
-7
5
0
6
3
-1
0
0
-1
0
-2
3
0
8
8
-2
4
0
0
0
-1
0
0
-1
-2
1
0
0
0
0
0
-2
0
6
13
-10
-1
1
1
3
-1
-1
0
-1
-2
1
0
0
-1
0
0
0
0
3
3
-5
2
0
-2
0
-1
0
0
0
0
3
1
0
0
0
0
0
0
27
-4
-31
-23
-13
2
-23
5
-2
0
-1
-3
5
3
1
0
0
3
0
0
1
8
-2
19
0
0
3
-3
-2
0
1
0
3
18
0
0
0
1
0
0
-40
16
-1
-9
6
4
17
16
-10
2
-2
8
-3
-2
0
-3
3
5
-1
0
3
4
-10
16
3
3
-2
4
8
0
7
-1
22
13
0
0
0
1
-6
0
-2
-3
5
0
-1
0
-2
0
0
0
0
-1
-1
0
0
1
0
0
-3
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
1
0
1
2
0
0
0
1
1
-1
0
0
0
1
0
0
-1
0
1
0
0
2
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
8
6
0
-1
1
3
0
0
0
0
-8
2
1
1
1
8
2
-1
0
0
-1
-8
8
-2
0
-2
-6
-8
-1
0
0
-1
4
-1
0
-2
-1
-3
0
-1
-9
8
-9
-2
0
4
10
3
0
5
-4
-9
-10
3
1
0
-9
3
4
0
6
10
7
0
0
3
8
2
-2
0
-2
3
-2
5
-1
8
-3
6
0
1
-30
12
-27
0
1
4
1
0
0
0
-2
-1
-2
0
2
-1
0
0
0
-5
9
-2
-2
-2
-2
0
-4
0
0
-1
-5
-1
1
0
4
0
0
0
0
4
5
12
1
1
-1
1
0
0
1
0
8
2
2
0
0
2
0
0
0
0
-2
-9
8
0
-1
0
0
0
1
0
4
1
0
0
0
0
0
0
-1
-2
-15
5
-13
-3
-3
0
-10
-12
-1
5
3
0
-1
-3
0
-6
5
0
0
4
19
4
-5
1
0
-3
5
-5
0
-1
0
-5
0
-2
2
-1
0
-3
0
2
1
11
12
-3
9
-7
-15
1
1
0
-4
-8
5
0
0
8
15
-4
0
3
7
-1
8
22
0
-7
47
1
1
0
8
-12
8
-4
0
3
8
10
5
-10
-8
-1
-3
0
-1
-2
1
0
1
0
1
2
0
0
0
2
-2
-1
0
0
-2
-2
1
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
4
20
0
0
0
8
-1
0
-2
0
-1
-5
0
0
0
-2
0
-4
0
0
5
1
4
0
0
0
1
6
-1
0
1
1
-3
1
0
0
0
1
1
1
-16
-16
-6
2
2
-3
1
0
0
0
-6
-5
-1
1
0
-3
2
4
-2
0
5
1
4
0
0
5
-17
-2
0
0
0
1
4
1
0
0
-2
0
0
2
-2
10
-13
0
-1
6
2
3
1
0
4
-7
-16
2
0
4
8
-3
4
0
-10
17
12
0
0
6
0
10
-8
0
3
-2
16
-1
0
1
2
-8
2
-1
8
-4
-8
-1
0
1
1
0
0
0
2
4
1
0
0
1
-1
0
0
0
-8
-1
0
0
0
0
1
0
0
0
0
3
0
-1
1
0
0
-1
0
0
1
-1
-5
0
0
-3
0
-4
0
0
4
-2
2
-3
0
0
1
0
0
-1
0
4
6
0
0
0
4
0
0
-1
-2
5
-2
0
0
0
2
0
0
0
-13
19
-4
0
0
0
-1
7
0
0
-1
4
-5
0
0
-2
0
-8
0
0
9
2
0
0
0
3
-1
0
0
0
1
-5
3
1
0
1
0
1
0
0
-9
2
10
4
2
0
-8
8
-3
0
4
5
-2
0
0
-3
-3
1
0
0
9
1
32
0
-1
1
13
4
0
0
1
-30
4
0
0
1
-1
8
0
0
1
1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
2
-5
0
-4
0
1
-1
1
1
0
-4
1
0
0
0
6
3
0
0
0
-1
-1
1
0
0
0
0
1
0
0
1
2
1
0
0
0
0
-1
0
0
-4
-19
0
2
0
0
-4
0
-2
0
0
-1
1
0
0
0
1
3
0
0
0
3
3
0
0
-1
1
-3
0
0
0
0
1
0
0
-1
1
0
0
0
-5
10
-3
-3
0
-1
2
-2
1
0
0
0
8
0
0
0
5
-3
1
0
2
-1
-7
-3
0
0
-2
-1
0
0
-1
2
-5
2
0
-2
-9
4
2
22
8
13
4
-45
16
-2
28
-10
0
0
0
0
3
-8
-59
7
1
0
-10
0
-1
5
-7
57
-29
6
0
0
0
1
-1
-17
-8
-47
7
7
1
0
0
5
-40
-29
-6
13
0
0
0
1
2
-45
91
21
3
0
4
0
0
0
-6
10
14
2
0
0
0
0
2
7
-47
-13
4
3
0
0
0
4
21
24
2
0
0
0
0
0
-1
-33
-47
15
0
0
0
0
0
-6
-3
106
-8
0
0
0
0
0
0
-13
34
8
0
-2
0
0
0
-1
-31
9
1
0
0
0
0
0
0
9
-1
2
0
0
1
0
0
0
-3
90
-7
0
0
0
0
0
0
0
-16
-18
0
0
0
0
-1
-1
19
-16
0
0
0
0
0
0
-4
-19
18
0
0
0
1
0
0
0
-3
42
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
-2
-3
-24
0
0
0
0
0
0
1
14
-12
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
3
-6
0
0
0
0
0
0
1
-29
22
0
0
0
-4
0
0
0
-4
30
0
0
0
0
0
0
0
1
-13
0
0
-1
0
0
0
0
25
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
13
0
0
0
0
3
24
-3
-13
15
-14
31
0
0
2
0
-4
-10
3
-10
11
0
0
0
1
1
2
-19
-17
-30
0
0
1
1
0
12
5
-11
-18
0
0
0
-1
3
-10
14
11
-15
0
0
2
0
-7
-2
21
3
26
0
0
0
-1
0
-4
0
4
7
0
0
1
4
2
8
16
-39
8
0
0
0
0
0
0
40
16
0
0
0
1
3
0
3
-58
55
0
0
0
0
0
0
15
95
14
0
0
0
-2
1
-1
0
7
16
0
0
0
0
0
0
-5
28
-4
0
0
0
0
0
0
4
70
-6
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-1
16
12
0
0
0
0
1
0
-7
-33
0
0
0
0
0
0
0
10
-21
0
0
0
0
0
0
0
0
41
0
0
0
0
1
-1
0
-4
4
0
0
0
0
0
0
0
-41
62
0
0
0
0
0
0
0
-14
-15
0
0
0
0
0
0
0
-1
33
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-5
-5
10
67
33
-5
0
0
-1
3
19
-25
5
-25
0
0
4
-1
0
-8
-8
5
2
4
0
0
0
-1
1
-13
15
-25
0
0
-8
0
0
0
19
-18
-30
6
0
0
0
0
4
2
24
-27
6
0
-3
0
0
6
8
25
-64
-4
0
0
0
0
1
1
30
28
5
0
0
0
0
8
-29
-28
11
0
0
0
0
0
0
2
0
-1
0
0
-4
0
0
1
13
4
-11
0
0
0
-1
0
1
1
-22
7
0
0
0
0
0
-1
-34
-8
1
0
0
0
0
0
0
0
2
12
0
0
0
0
0
1
-3
-20
-9
0
0
0
0
0
-2
0
-7
-1
0
0
-1
0
0
14
-5
0
0
0
0
0
0
0
2
-9
21
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
0
-6
19
0
0
0
2
0
-1
0
-40
56
0
0
0
0
0
0
0
-5
12
0
0
0
5
0
0
-2
0
-6
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-10
32
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
8
16
-8
47
-11
-24
0
0
2
0
0
-5
-38
3
35
0
0
0
0
-4
0
-21
-18
4
0
0
-5
0
1
25
-4
-45
8
0
0
0
0
-2
2
-9
-5
0
0
0
-3
-2
-1
-1
-5
-27
9
0
0
0
0
-3
14
2
-25
-14
0
0
-7
-2
2
7
1
-19
-10
0
0
0
0
6
-31
-4
24
0
0
0
0
0
0
13
28
-25
0
0
0
0
-1
0
1
16
-24
0
0
0
1
0
5
-4
25
-6
0
0
0
0
0
0
1
0
-10
0
0
0
-1
0
0
0
-12
21
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
14
-41
0
0
0
0
0
0
-3
-16
48
0
0
0
0
0
0
-2
-9
-4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
0
0
13
-27
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-8
36
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
6
2
0
2
-22
26
-13
12
-30
0
0
0
0
2
13
42
-8
-19
0
0
0
0
-1
13
-17
-77
-9
0
0
0
0
0
-6
5
-34
-20
13
1
0
0
-6
8
-19
18
-13
0
0
0
0
1
0
-3
21
-19
0
0
0
0
0
9
34
3
3
0
0
0
0
0
0
3
9
-3
9
0
0
0
0
4
51
-9
0
0
0
0
0
-2
-25
63
-25
0
0
2
0
0
0
14
25
-4
0
0
0
0
0
1
1
21
-5
0
1
0
0
0
6
-2
6
5
0
0
0
0
0
0
0
-44
2
0
0
0
0
0
0
3
10
-5
0
0
0
0
0
0
-1
8
-32
0
0
1
0
0
-2
5
-78
0
0
0
0
0
0
0
4
15
0
0
0
-1
0
0
0
2
-22
0
0
0
0
0
0
0
0
28
0
0
6
0
0
2
3
4
-44
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
-38
13
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
0
0
7
0
0
-9
0
0
0
0
17
-59
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
13
3
4
-63
0
0
0
-5
0
8
26
-7
-20
0
0
4
0
7
-18
119
-2
-14
0
0
1
3
0
-4
-41
15
14
0
0
0
0
0
-1
63
0
-10
0
0
0
0
-2
0
-45
8
-10
0
0
0
0
0
0
13
-13
5
0
0
0
3
0
0
9
13
2
0
0
0
0
-10
-6
61
7
0
0
0
0
0
0
-10
15
7
0
0
0
0
0
0
-5
125
0
0
0
0
1
0
0
7
57
-13
0
0
0
0
0
0
2
-41
5
0
0
0
0
0
0
0
19
2
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
5
-7
9
0
0
0
0
0
0
5
-5
-26
0
0
0
0
0
0
-13
-8
51
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
-2
1
-49
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
3
-32
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
14
-2
-1
-1
0
10
1
6
0
0
0
0
7
1
-3
-84
1
0
-12
0
0
4
-7
17
-33
-8
0
0
0
0
2
2
-15
-112
9
0
30
0
0
0
-6
27
-62
9
0
0
0
0
-1
-1
0
-33
15
0
-5
0
0
0
-14
-17
-21
2
0
0
0
-1
-1
0
-3
-50
4
0
3
0
0
-8
-6
-5
11
0
0
0
0
0
0
-3
-24
-25
0
0
-5
0
0
0
5
-30
13
0
0
0
0
0
-1
1
15
-27
0
0
1
0
0
0
0
24
-72
0
0
0
0
0
0
-1
5
-29
0
0
-6
0
0
0
0
4
6
0
0
0
0
0
0
0
-3
-91
0
0
2
0
0
-4
4
-14
0
0
0
0
0
0
1
8
8
0
0
0
-2
0
0
0
-12
-2
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
-1
16
2
0
0
0
0
0
0
0
2
2
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
8
16
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
-1
24
0
0
0
0
0
0
0
-2
10
0
0
0
-1
0
0
0
0
17
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
1
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
-12
8
28
19
-10
0
0
0
-1
-7
-5
9
-91
3
0
0
0
0
-6
2
-17
-22
-10
0
0
-7
-1
0
0
-2
-56
14
0
0
0
0
0
-5
-1
-5
-4
0
0
0
1
2
0
1
14
-17
0
0
0
0
1
1
0
-3
1
0
0
-1
-2
0
0
1
36
-15
0
0
0
0
0
-2
-6
7
0
0
0
0
0
0
1
-7
-61
0
0
0
0
0
0
1
-1
9
0
0
0
1
1
0
0
9
-29
0
0
0
0
-2
1
2
-19
0
0
0
0
1
0
0
0
8
-16
0
0
0
0
0
-1
0
0
-3
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
3
0
0
0
0
-1
1
0
0
9
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-2
0
0
0
-2
0
0
6
1
-9
40
9
0
0
0
1
1
0
34
-1
13
0
0
0
0
0
0
1
-22
-8
0
0
0
0
0
0
-3
-18
3
0
-19
1
0
-1
0
1
12
-8
0
0
0
0
0
0
6
23
10
0
0
0
0
0
0
8
29
-15
0
0
0
0
0
0
0
8
8
0
1
0
0
0
0
-29
-28
8
0
0
0
0
0
-2
-18
46
0
0
0
0
0
0
0
27
-40
-3
0
0
0
0
0
0
-1
-12
11
0
-7
0
0
0
-3
-8
-19
10
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
1
25
4
0
0
0
0
0
0
0
5
7
0
0
-1
0
0
8
-39
22
0
0
0
0
0
0
-2
18
-17
0
0
0
0
0
0
0
-5
-25
0
0
0
0
0
0
0
1
-4
0
0
-1
0
0
0
0
-15
29
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
13
-36
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-26
-29
0
0
0
0
0
0
-1
0
-89
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-1
23
0
0
2
0
0
0
0
-17
22
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
5
-42
0
0
0
0
0
0
0
0
31
0
0
0
0
0
-3
-1
20
-43
2
0
0
0
0
1
6
5
25
-48
0
0
0
0
0
-1
-14
19
-15
0
0
0
0
0
1
0
6
-20
0
0
0
0
-1
1
-2
2
-18
0
0
0
0
2
3
-8
-7
4
0
0
0
0
-6
0
2
-8
-1
0
0
0
0
5
0
5
-8
7
0
0
0
0
0
2
13
-8
-2
0
0
0
0
0
-1
0
-67
-9
0
0
0
0
0
0
3
-48
2
0
0
0
0
-3
0
0
0
-5
0
0
0
0
2
0
-2
30
5
0
0
0
0
0
0
6
-24
13
0
0
0
0
2
0
1
-1
15
0
0
0
0
-2
0
0
16
20
0
0
0
0
0
-2
-6
31
0
0
0
0
0
0
0
6
45
0
0
0
0
0
0
0
15
48
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
8
24
0
0
0
0
0
0
0
8
-19
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
0
-13
46
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
-24
12
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-4
1
-42
-12
-3
0
0
0
0
0
2
13
30
-19
0
0
3
0
0
-5
-3
46
-25
0
0
0
0
0
1
-7
22
-49
0
0
0
0
2
0
-7
3
-17
0
0
0
0
0
0
6
5
2
0
0
8
0
1
0
0
25
-27
0
0
0
1
1
0
4
-30
3
0
0
0
0
0
5
-3
-91
5
0
0
0
0
0
-1
-3
-2
7
0
0
0
0
0
1
-4
45
-13
0
0
0
0
0
4
2
18
-15
0
0
-1
0
0
0
-3
-1
4
0
0
0
0
0
-1
0
5
-10
0
0
-2
0
0
2
0
-6
-23
0
0
0
1
0
-6
0
22
-24
0
0
0
0
0
-6
10
9
0
0
0
0
0
0
-5
-25
5
0
0
0
0
0
0
1
8
-36
0
0
0
0
0
0
3
0
9
0
0
0
0
0
0
0
-7
-46
0
0
0
0
0
0
0
-20
-3
0
0
0
-3
0
0
0
10
9
0
0
0
0
0
0
0
-3
38
0
0
0
0
0
0
0
7
28
0
0
0
0
0
0
0
-3
5
0
0
0
-1
0
0
0
-5
-42
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-8
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
3
1
-23
-17
1
0
0
0
-2
2
-3
18
7
-18
0
0
0
0
0
0
6
2
-67
0
0
0
4
-6
0
-3
17
-57
0
0
0
0
0
0
-1
-5
8
0
0
0
-5
3
-1
-2
-19
-28
0
0
0
0
0
-1
-4
-1
-13
0
0
0
5
-1
0
-3
17
-31
0
0
0
0
-1
0
-1
30
1
0
0
0
0
0
0
0
-15
4
0
0
0
0
1
0
-7
47
-46
0
0
0
2
8
0
-1
34
-46
0
0
0
0
0
0
0
-18
12
0
0
0
0
0
0
0
2
10
0
0
0
0
5
0
0
7
-25
0
0
0
0
-4
-1
0
-1
6
0
0
0
0
0
0
-13
21
0
0
0
0
0
-1
0
-1
-24
0
0
0
0
0
0
0
1
-24
0
0
0
0
-1
0
1
1
-22
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
-2
-3
-6
0
0
0
0
0
0
0
10
-33
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
1
0
0
0
17
0
0
42
0
0
0
-3
-68
16
-29
0
0
0
0
0
0
-6
20
25
0
0
-1
0
0
0
9
-26
17
0
0
0
0
0
0
-8
-8
-5
0
-32
0
0
0
-1
-22
-86
19
0
0
0
0
1
0
-2
13
-6
0
0
0
0
0
0
-7
24
-10
0
0
0
0
0
0
0
13
2
0
2
0
0
0
2
-7
-9
-8
0
0
0
0
0
0
0
34
-5
0
0
1
0
0
0
-5
4
-3
0
0
0
0
0
0
6
72
-15
0
17
0
0
0
-1
-5
27
-4
0
0
0
0
0
0
0
30
-8
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
2
18
0
2
0
0
0
1
24
7
0
0
0
0
0
0
0
8
22
0
0
0
3
0
0
0
33
-5
0
0
0
0
0
0
0
0
24
0
0
8
0
0
0
0
-20
6
0
0
0
0
0
0
0
-2
17
0
0
0
-1
0
0
0
10
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-16
0
0
0
0
0
0
1
1
-52
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
-12
0
0
0
0
0
53
0
0
0
0
0
-1
0
0
-14
0
0
0
-2
0
0
0
1
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
2
-13
-12
-1
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
-22
9
0
0
0
4
-1
0
-1
-49
5
0
0
0
0
0
0
1
10
-10
0
0
0
0
-2
0
1
-29
-6
0
0
0
0
0
0
-8
-16
17
0
0
0
0
0
0
2
-1
-11
0
0
0
0
0
0
0
-28
4
0
0
0
0
0
0
0
-11
5
0
0
0
0
0
0
0
12
-15
0
0
0
0
-2
0
0
20
-13
0
0
0
0
0
0
0
9
14
0
0
0
0
0
0
0
27
8
0
0
0
0
0
0
0
75
-14
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
4
0
0
0
2
-2
1
-1
-4
10
-1
0
0
0
0
0
0
-7
-6
10
0
0
10
0
0
0
0
10
-18
0
0
0
0
0
0
0
14
6
0
0
0
0
0
0
3
12
-19
0
0
0
0
0
0
0
-9
-7
0
0
-5
0
0
0
0
0
6
0
0
0
3
0
0
-2
1
18
0
0
0
0
0
0
0
26
-17
0
0
0
0
0
0
0
9
-1
0
0
-1
0
0
0
0
-3
-6
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
16
-5
0
0
1
0
0
0
1
22
-15
0
0
0
-1
0
0
0
5
-19
0
0
4
0
0
3
2
7
0
0
0
0
0
0
0
25
22
0
0
0
-4
0
0
1
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
4
5
0
0
0
-18
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
5
-37
0
0
0
0
0
0
0
-22
18
0
0
0
8
0
0
0
-1
-4
0
0
0
0
-1
0
0
5
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
0
-6
-4
3
-3
-1
23
0
0
0
0
0
0
-5
6
-28
0
0
0
0
0
0
0
-8
-53
0
0
0
0
0
0
0
-1
-38
0
0
0
0
0
1
0
0
13
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
-1
-10
0
0
0
1
-2
0
0
0
12
0
0
0
0
0
-1
0
-8
17
0
0
0
2
0
0
0
6
-24
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
-27
30
0
0
0
0
0
0
0
12
3
0
0
0
0
-1
0
0
30
-29
0
0
0
0
0
0
0
25
-44
0
0
0
-2
0
0
0
-2
35
0
0
0
0
0
-1
-5
7
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
17
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-17
6
9
0
0
0
0
0
0
-2
6
-46
0
0
0
1
0
0
2
-1
17
0
0
0
0
0
0
0
-4
11
0
0
2
5
0
0
2
19
-37
0
0
0
0
0
-1
0
-3
37
0
0
0
0
0
0
-3
12
23
0
0
0
0
0
0
-2
-3
-4
0
0
0
0
0
0
15
10
7
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
-2
14
6
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
-16
41
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
36
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-8
13
48
0
0
0
0
0
0
-1
25
-16
0
0
0
0
0
0
0
33
-52
0
0
0
0
0
0
0
1
50
0
0
0
0
0
0
-1
-5
-1
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
-30
12
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
31
0
0
3
0
0
0
0
-39
-32
0
0
0
0
0
0
0
-14
48
0
0
0
0
0
0
0
-4
26
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-7
37
-70
0
0
0
0
0
0
0
18
-2
0
0
0
0
0
1
1
7
-9
0
0
0
0
0
0
0
25
-15
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
16
5
0
0
0
0
0
1
0
-5
-5
0
0
0
0
0
0
0
-20
43
0
0
0
0
0
0
0
-13
20
0
0
0
0
0
0
0
-8
37
0
0
0
0
0
0
0
2
41
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
1
46
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
-14
29
0
0
0
0
0
0
0
5
-36
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
8
-41
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
0
0
28
2
0
0
0
0
0
0
0
4
37
0
0
0
0
0
0
0
1
32
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
43
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
-4
9
0
0
0
1
0
0
4
-33
8
0
0
0
0
0
0
-1
-15
2
0
0
0
0
0
0
1
-29
-7
0
0
0
0
0
0
0
7
40
0
0
0
2
0
0
-14
-9
41
0
0
0
0
0
0
1
-2
21
0
0
0
-6
0
0
-6
3
29
0
0
0
0
0
0
2
-8
-13
0
0
0
0
0
0
-2
14
-3
0
0
0
0
0
0
1
3
-6
0
0
0
0
0
0
3
-12
22
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
-3
69
0
0
0
8
0
0
-1
-4
-73
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
7
-2
9
0
0
0
-1
0
0
0
-5
-1
0
0
0
0
0
0
0
31
-55
0
0
0
15
0
0
0
3
4
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
-1
2
25
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
1
-3
21
0
0
0
0
0
0
0
2
55
0
0
0
0
0
0
0
-33
42
0
0
0
0
0
0
0
1
38
0
0
0
-4
0
0
0
13
-30
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
3
7
-5
-13
0
0
0
0
1
0
0
-22
-3
0
0
0
0
0
0
0
15
10
0
0
0
0
0
0
0
-25
13
0
0
0
0
-2
0
0
-10
0
0
0
0
0
6
-3
0
6
-7
0
0
0
0
0
0
1
-1
-27
0
0
0
0
2
0
0
-1
19
0
0
0
0
0
0
0
15
7
0
0
0
0
0
0
-2
0
-10
0
0
0
0
0
0
0
2
-5
0
0
0
0
-1
0
0
2
-14
0
0
0
0
0
0
2
1
-22
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
5
14
0
0
0
0
0
0
0
-16
28
0
0
0
0
0
0
0
3
-27
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
-4
-26
0
0
0
0
0
0
0
7
108
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
1
36
0
0
0
0
0
0
0
0
25
0
0
7
0
0
0
0
-29
41
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
-16
-22
0
0
0
0
0
0
0
1
-43
0
0
-13
0
0
0
-2
-8
30
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
4
28
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
2
9
0
0
13
0
0
0
0
12
16
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
1
19
9
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
2
-22
-18
0
0
0
0
0
0
0
4
4
0
0
-2
-1
0
0
0
-18
43
0
0
0
0
0
0
0
-16
6
0
0
0
-1
0
0
0
-8
-12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-25
30
0
0
0
0
0
0
0
41
-63
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
-3
62
0
0
6
0
0
0
0
-48
6
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
1
8
1
-14
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
1
2
-10
0
0
0
0
1
0
0
3
-26
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
-17
29
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
0
0
0
28
0
0
0
0
0
3
1
1
25
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
4
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
5
44
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-1
105
0
0
0
0
0
0
0
1
-5
0
0
0
0
-1
-2
-2
9
-16
0
0
0
0
0
0
0
2
-8
0
0
0
-2
0
0
0
2
-3
0
0
0
0
0
0
0
-1
-20
0
0
0
3
0
0
1
17
-40
0
0
0
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
4
0
0
0
0
0
1
0
-2
-1
0
0
0
-2
0
0
-4
5
-61
0
0
0
0
0
0
0
0
28
0
0
0
-1
0
0
0
-5
-4
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
18
0
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
14
-7
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
8
-24
0
0
0
0
0
0
0
-1
5
0
0
0
1
0
0
0
1
10
0
0
0
0
0
0
0
3
3
0
0
0
8
0
0
0
-5
-4
0
0
0
0
0
0
0
-1
-1
0
0
0
2
0
0
6
2
-27
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-2
78
0
0
0
0
0
0
0
1
-20
0
0
0
-1
0
0
0
8
7
0
0
0
0
0
0
0
-1
28
0
0
0
3
0
0
0
0
28
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
-1
-6
22
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-6
-6
-1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
1
0
-1
27
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
1
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
1
0
8
8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
-9
14
0
0
0
0
0
0
0
8
-25
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
3
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
3
-9
0
0
0
0
0
1
10
9
10
0
0
0
0
0
1
1
-17
52
0
0
0
-2
0
0
0
-5
30
0
0
0
0
0
0
0
5
-20
0
0
-3
0
0
0
2
23
-66
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-16
53
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
1
3
-17
0
0
0
0
0
0
0
9
-12
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
-12
-39
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
1
-69
50
0
0
0
0
0
0
0
-28
12
0
0
0
3
0
0
0
53
-26
0
0
0
0
0
0
0
-2
11
0
0
-1
0
0
0
0
58
-12
0
0
0
0
0
0
0
-27
11
0
0
0
0
0
0
0
29
10
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-55
46
0
0
0
0
0
0
0
22
-31
0
0
0
0
0
0
0
-19
26
0
0
0
0
0
0
0
-3
14
0
0
-1
0
0
0
0
8
-2
0
0
0
0
0
0
0
-1
32
0
0
0
-1
0
0
0
10
54
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
48
-37
0
0
0
0
0
-1
1
-16
-6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
-7
58
0
0
0
0
0
-4
0
17
13
0
0
0
0
0
0
0
10
13
0
0
0
0
0
-1
0
-30
11
0
0
0
0
0
0
0
30
14
0
0
0
0
0
0
3
-6
22
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
2
-50
0
0
0
0
0
1
0
-10
-32
0
0
0
0
0
1
0
-2
-10
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
1
7
2
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
-20
5
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
3
0
-22
15
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
5
58
0
0
0
0
0
0
0
-7
36
0
0
0
0
0
0
0
-25
28
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-10
62
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
-25
0
0
0
0
1
0
-4
-22
39
0
0
0
0
0
0
-3
6
6
0
0
0
-3
0
0
-3
5
8
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
-3
4
24
0
0
0
0
0
0
-2
2
-5
0
0
0
-2
0
0
0
-12
15
0
0
0
0
0
0
2
3
-4
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
1
-13
45
0
0
0
0
0
0
0
-4
-2
0
0
0
0
1
0
-1
-2
-36
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
-1
64
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
3
0
-5
0
0
0
0
0
0
-2
-1
28
0
0
0
0
0
0
0
13
7
0
0
0
-1
0
0
2
-8
-32
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-12
42
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
-3
9
0
0
0
0
1
0
0
-2
15
0
0
0
0
0
0
0
29
-5
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
0
-10
21
0
0
0
0
-1
0
0
15
-47
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-10
52
0
0
0
1
0
0
0
-3
61
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-1
2
-5
-18
0
0
0
0
0
0
-2
-14
12
0
0
0
0
0
0
0
-1
41
0
0
0
0
-1
0
0
-2
-5
0
0
0
0
0
0
1
-10
14
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
-14
39
0
0
0
0
3
0
0
7
-15
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
0
0
9
3
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
-10
40
0
0
0
0
-1
0
0
-12
53
0
0
0
0
0
0
0
-3
30
0
0
0
0
1
0
0
0
-22
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-1
27
0
0
0
0
-1
0
0
-3
14
0
0
-7
0
0
1
-3
7
-48
0
0
0
0
0
0
0
-7
17
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-1
-5
0
0
-25
0
0
0
0
24
-24
0
0
0
0
0
0
0
-1
57
0
0
0
5
0
0
0
-1
5
0
0
0
0
0
0
0
0
56
0
0
-2
0
0
0
0
5
-30
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
-1
67
0
0
13
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
33
0
0
-2
0
0
0
1
17
7
0
0
0
0
0
0
0
0
71
0
0
0
-1
0
0
0
-3
-15
0
0
0
0
0
0
0
-1
29
0
0
-3
0
0
0
-2
-48
-27
0
0
0
0
0
0
0
6
25
0
0
0
1
0
0
0
5
-9
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
3
-7
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
1
73
0
0
15
0
0
0
0
-20
5
0
0
0
0
0
0
0
-8
-15
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
1
19
0
0
0
0
0
2
-1
-17
7
0
0
0
0
0
-1
0
-1
24
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
-1
-50
0
0
0
0
0
5
0
-2
7
0
0
0
0
0
1
0
13
4
0
0
0
0
0
2
0
0
20
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-51
56
0
0
0
0
0
0
0
-5
44
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-5
28
0
0
0
0
0
0
0
-1
65
0
0
0
0
0
0
0
-8
32
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
47
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
1
-8
0
0
0
1
0
0
-4
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
0
16
0
0
0
-1
0
0
0
0
27
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
2
-22
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
-2
26
0
0
0
0
0
0
0
-3
42
0
0
0
1
0
0
0
4
-25
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
22
0
0
0
2
0
0
0
4
19
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-3
4
0
0
0
2
0
0
0
0
57
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
-1
-4
47
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
3
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
-10
0
0
0
0
0
-2
0
0
19
0
0
0
0
0
0
0
0
4
0
0
0
0
2
-1
0
2
-13
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
48
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
3
-45
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-1
0
-1
6
0
0
0
4
0
6
-7
-22
101
28
6
0
0
0
4
5
21
-5
-4
-7
0
-19
0
0
7
-37
21
25
10
0
0
0
-1
-1
-24
8
2
5
1
-1
0
0
-8
6
-22
15
5
0
0
0
0
-1
-23
13
5
10
0
17
0
0
-8
8
-15
29
1
0
0
0
0
-1
-6
-7
-7
5
-1
0
0
-1
-1
13
-70
7
0
0
0
0
0
1
-8
51
1
0
0
-1
0
0
-4
6
13
-1
0
0
0
0
0
1
-8
23
-14
0
13
1
0
0
0
-9
-14
-10
0
0
0
0
0
0
1
16
-10
0
0
1
0
0
0
-12
-18
7
0
0
0
0
0
-1
0
3
-6
0
0
1
0
0
-8
10
-17
0
0
0
0
0
0
1
27
-44
0
0
0
0
0
0
-14
-68
68
0
0
0
0
0
0
0
4
12
0
0
-34
0
0
0
-3
-48
12
0
0
0
0
0
0
0
1
-5
0
0
0
-3
0
0
2
6
-6
0
0
0
0
0
0
0
-1
-2
0
0
-2
0
0
0
-1
29
19
0
0
0
0
0
0
0
13
14
0
0
0
-1
0
0
3
-48
33
0
0
0
0
0
0
0
-2
-32
0
0
5
0
0
0
0
-83
11
0
0
0
0
0
0
0
-20
-10
0
0
0
-1
0
0
0
1
5
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
15
-7
-14
4
5
0
0
-1
5
-3
-23
49
-25
3
0
0
0
0
-2
5
8
16
2
0
0
-6
8
-5
3
35
-42
1
0
0
0
0
-1
8
-55
5
9
0
0
0
-1
3
0
-39
6
-4
0
0
0
0
2
2
77
-1
-5
0
0
3
3
0
-5
-13
15
-34
0
0
0
0
1
5
34
-4
0
0
0
0
1
1
30
20
7
0
0
0
0
1
3
1
28
0
0
0
0
-2
-7
6
22
97
-15
0
0
0
0
0
0
-10
27
5
0
0
0
0
-2
1
7
9
-3
0
0
0
0
0
0
0
-48
2
0
0
0
0
0
0
-3
-36
-15
0
0
0
0
0
0
5
-28
0
0
0
0
0
0
0
-34
-8
0
0
0
0
0
0
1
-40
39
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
7
5
0
0
0
0
0
-1
-1
-9
28
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
24
-9
0
0
0
0
0
0
0
18
-2
0
0
0
0
0
0
1
12
-21
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
1
-1
6
15
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
-1
0
-24
23
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
2
15
0
0
0
5
0
0
-3
-2
94
-20
2
0
0
3
-1
-13
3
-30
-3
14
0
-13
0
0
1
-49
10
-31
0
0
0
0
0
-5
-17
-23
-22
4
0
30
0
-1
7
19
24
29
-17
0
0
0
0
-2
-13
34
-8
3
0
38
0
0
1
-18
-1
14
4
0
0
4
0
0
1
14
19
4
0
-1
0
0
5
4
5
5
0
0
0
0
4
-2
19
20
-4
0
0
-32
0
0
-13
-13
3
6
0
0
0
0
-1
-1
-8
43
-27
0
0
0
0
0
0
10
-2
-24
0
0
0
0
0
0
-6
-16
2
0
0
-21
0
0
2
-1
9
-13
0
0
0
-1
0
1
-1
-15
-10
0
0
0
0
0
7
1
-30
0
0
0
0
0
0
-1
-2
47
0
0
0
6
0
0
6
1
27
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
0
4
-40
0
0
0
0
0
0
0
-2
-16
0
0
0
11
0
0
0
-8
14
0
0
0
0
0
0
0
-2
-8
0
0
0
1
0
0
1
13
6
0
0
0
0
0
0
-1
-4
7
0
0
0
14
0
0
4
4
8
0
0
0
0
0
0
0
2
20
0
0
0
-3
0
0
0
1
18
0
0
0
0
0
0
0
-2
16
0
0
0
18
0
0
0
4
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
-2
-9
-5
-26
-1
0
0
-3
-2
-1
-25
25
-4
-17
0
0
1
-1
-8
8
14
-70
-1
0
0
-4
1
3
-9
22
-36
-2
0
0
0
2
0
-20
-41
27
-19
0
0
1
1
-2
5
-8
34
-4
0
0
-2
1
-5
-2
-1
30
-27
0
0
0
1
0
3
-2
39
-19
0
0
0
0
0
4
-14
-13
0
0
0
-4
-8
1
6
-16
45
0
0
0
0
-4
14
24
54
-28
0
0
0
5
7
8
9
8
-19
0
0
0
0
0
0
9
23
-40
0
0
0
2
-2
0
2
29
-19
0
0
0
0
0
1
3
19
-29
0
0
0
1
-1
0
-1
-2
29
0
0
0
0
0
1
13
3
0
0
0
0
0
0
-1
9
-2
0
0
0
0
0
0
1
-8
-7
0
0
0
0
-1
-1
-1
3
5
0
0
0
0
0
0
0
4
42
0
0
0
0
1
0
0
1
-7
0
0
0
0
0
0
0
-8
-2
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
-4
62
0
0
0
0
0
0
0
6
-20
0
0
0
0
0
0
3
-5
-27
0
0
0
0
1
0
0
4
25
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
-6
52
0
0
0
0
0
0
-1
-1
23
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
2
-14
-8
8
8
0
0
0
0
0
-1
15
36
5
0
0
6
0
0
0
-3
36
2
0
0
0
0
1
6
16
56
2
0
7
7
0
0
0
20
7
6
0
0
0
0
0
0
25
33
-7
0
0
-2
0
1
6
-24
-28
17
0
0
0
0
0
-1
1
18
-3
0
-11
0
0
0
-7
-8
16
-5
0
0
0
0
0
-1
-6
15
-2
0
0
0
0
0
5
4
-39
4
0
0
0
0
0
0
2
46
-18
0
-23
-1
0
0
0
-21
42
0
0
0
0
0
0
0
3
-48
-2
0
0
0
0
0
0
5
-38
0
0
0
0
0
0
0
-1
25
8
0
-2
0
0
0
-14
9
6
0
0
0
0
0
0
-17
4
-5
0
0
0
-2
0
0
-1
13
45
0
0
0
0
0
0
0
4
-9
0
0
30
-1
0
0
3
-48
12
0
0
0
0
0
0
2
20
11
0
0
0
-1
0
0
-1
12
-2
0
0
0
0
0
0
1
1
14
0
0
-8
-3
0
0
-8
24
-19
0
0
0
0
0
0
2
-27
-16
0
0
0
3
0
0
-4
-10
8
0
0
0
0
0
0
-3
-2
64
0
0
-3
-1
0
0
-2
50
-8
0
0
0
0
0
0
0
-10
24
0
0
0
1
0
0
0
6
10
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
2
-3
34
25
-3
0
0
0
0
2
-7
6
19
-40
0
0
0
0
-3
3
-2
17
-29
0
0
0
2
-7
16
-15
46
-16
0
0
0
0
0
0
-8
94
-12
0
0
0
0
1
1
-9
104
-7
0
0
0
0
0
-2
5
34
11
0
0
0
0
0
-2
2
-7
14
0
0
0
0
0
10
2
27
5
0
0
0
0
0
-3
-8
10
6
0
0
0
0
0
-12
5
24
-17
0
0
0
-3
0
-3
-23
-22
58
0
0
0
0
0
0
5
2
-2
0
0
0
0
1
1
-3
45
8
0
0
0
0
0
0
7
15
-21
0
0
0
0
0
0
-3
24
7
0
0
0
0
0
-1
-19
7
0
0
0
0
0
0
-1
0
-18
0
0
0
0
0
2
2
14
-12
0
0
0
0
3
-3
3
2
-9
0
0
0
0
0
0
0
-40
21
0
0
0
0
0
4
1
-1
22
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
1
-42
13
0
0
0
0
2
-1
0
29
-9
0
0
0
0
-1
0
0
5
-10
0
0
0
0
0
0
1
-8
41
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
-1
-18
6
0
0
0
0
0
0
0
-10
20
0
0
0
0
0
-3
0
-5
16
0
0
0
9
-3
2
-7
25
-32
-1
0
0
0
0
1
-6
-16
15
-12
0
0
-8
0
0
27
-42
73
-6
0
0
0
-1
0
5
1
-11
27
0
0
-2
0
-2
3
-12
86
-4
0
0
0
1
-1
1
-5
-45
-10
0
0
28
0
0
5
7
-21
13
0
0
0
-1
4
-1
1
-10
8
0
0
-1
0
0
-3
-25
101
6
0
0
0
0
0
0
4
-14
16
0
0
-4
1
-1
0
0
23
-14
0
0
0
1
-1
-1
-1
-46
29
0
0
0
0
0
0
0
15
-12
0
0
0
-1
0
-1
1
15
-18
0
0
2
0
0
4
-1
-25
3
0
0
0
5
-1
-4
1
23
38
0
0
0
0
0
8
-23
12
0
0
0
0
0
0
3
-3
49
0
0
0
-7
0
0
0
-19
67
0
0
0
0
1
0
0
0
-22
0
0
0
-2
0
1
10
-13
-9
0
0
0
0
0
0
3
10
-19
0
0
0
-25
0
0
9
13
-20
0
0
0
0
0
-1
-5
-1
41
0
0
0
-1
0
0
2
12
-11
0
0
0
0
0
0
0
0
-7
0
0
0
3
0
0
-2
-8
20
0
0
0
0
0
0
3
-9
27
0
0
0
3
0
0
1
29
-37
0
0
0
0
0
0
0
1
-2
0
0
0
-7
0
0
2
-8
32
0
0
0
0
-1
0
0
0
41
0
0
0
0
3
5
1
1
-11
-3
0
0
0
3
-1
0
17
45
-37
0
0
0
-4
-10
1
10
4
24
0
0
0
-9
-9
-22
12
9
-11
0
0
0
0
0
-4
0
5
4
0
0
0
0
0
0
2
-18
18
0
0
0
0
0
12
0
19
3
0
0
0
-1
-17
1
0
3
17
0
0
0
0
0
-1
-1
54
-4
0
0
0
4
18
0
8
-7
20
0
0
0
2
2
8
6
42
-36
0
0
0
-8
10
0
5
-21
2
0
0
0
0
0
0
0
-15
16
0
0
0
0
0
1
1
28
6
0
0
0
0
0
0
-4
36
-25
0
0
0
1
8
0
-8
25
-9
0
0
0
0
0
0
-4
2
0
0
0
0
0
-2
-1
-4
75
0
0
0
0
0
-1
-2
-5
-3
0
0
0
0
6
0
3
0
-7
0
0
0
0
0
-1
0
1
-38
0
0
0
0
0
7
1
-22
13
0
0
0
0
0
0
-8
1
41
0
0
0
0
6
-4
0
2
30
0
0
0
0
0
0
0
-3
23
0
0
0
0
-3
0
1
-3
-49
0
0
0
0
-2
-2
13
2
-22
0
0
0
0
4
12
-7
-8
-5
0
0
0
0
0
0
0
5
6
0
0
0
0
3
0
-1
0
21
0
0
0
0
0
6
-1
-4
-32
0
0
0
0
-4
-8
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
0
-2
-20
-49
17
0
0
0
0
0
0
8
10
-13
0
0
0
-1
0
0
-2
5
31
0
0
0
0
0
1
-1
-14
25
0
0
-4
3
0
0
-1
-3
-10
0
0
0
0
0
0
0
-33
44
0
0
0
-22
0
0
-1
41
1
0
0
0
0
0
0
-1
10
-1
0
0
-10
0
0
0
-1
11
-1
0
0
0
0
0
0
0
14
-7
0
0
0
-2
0
0
1
-40
-26
0
0
0
0
0
0
-1
-20
12
0
0
41
0
0
1
0
-10
9
0
0
0
0
0
0
0
-1
5
0
0
0
-1
0
0
0
6
17
0
0
0
0
0
0
0
-1
5
0
0
5
0
0
0
-1
-4
-14
0
0
0
0
0
0
0
-7
62
0
0
0
3
0
0
0
1
-1
0
0
0
0
0
0
0
9
48
0
0
-4
0
0
0
0
42
-3
0
0
0
0
0
0
0
-10
33
0
0
0
1
0
0
0
1
5
0
0
0
0
0
0
-2
6
-4
0
0
-1
0
0
0
1
14
-10
0
0
0
0
0
0
0
-54
5
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
8
13
0
0
-1
0
0
0
2
0
17
0
0
0
0
0
12
0
-12
-8
0
0
0
-1
0
0
1
10
36
0
0
0
0
0
0
1
3
42
0
0
0
0
0
-1
9
-18
2
0
0
0
0
0
0
0
-28
21
0
0
0
0
0
1
-2
-4
32
0
0
0
0
0
3
5
0
-2
0
0
0
0
0
0
0
8
25
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
-8
-29
0
0
0
0
0
0
0
9
-9
0
0
0
0
0
1
0
36
-20
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
0
-22
32
0
0
0
0
0
-1
0
9
10
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-1
-41
0
0
0
0
0
0
-1
4
59
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
53
-17
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
1
5
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-26
18
0
0
0
0
0
1
0
-7
27
0
0
0
0
0
0
1
-41
-11
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
1
25
6
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
13
-7
0
0
0
0
0
0
0
-3
11
0
0
0
-29
0
-1
-14
-4
49
0
0
0
0
-3
0
10
-9
-2
0
0
0
6
0
0
0
-18
-41
0
0
0
0
-1
0
1
1
0
0
0
0
8
0
2
0
-2
5
0
0
0
0
0
0
0
14
-17
0
0
0
23
0
0
1
3
30
0
0
0
0
0
0
-4
-1
5
0
0
0
1
0
0
-5
8
-40
0
0
0
0
0
2
3
4
30
0
0
0
-13
0
0
1
5
-18
0
0
0
0
0
5
8
22
-1
0
0
0
0
0
0
1
12
-51
0
0
0
0
0
1
0
2
16
0
0
0
-13
0
0
0
-1
-1
0
0
0
0
1
0
0
1
27
0
0
0
-2
0
0
0
-9
-10
0
0
0
0
0
0
0
-3
-10
0
0
0
36
0
0
1
-14
-12
0
0
0
0
0
0
0
-7
-25
0
0
0
0
0
0
-1
-41
42
0
0
0
0
0
0
0
-8
12
0
0
0
8
0
0
-1
-16
3
0
0
0
0
0
0
0
5
1
0
0
0
1
0
0
0
-56
13
0
0
0
0
0
0
0
-5
63
0
0
0
-12
0
0
-2
8
23
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
-12
2
0
0
0
0
0
0
0
9
29
0
0
0
9
0
0
0
-5
50
0
0
0
0
1
0
3
-3
6
0
0
0
0
1
3
-8
-30
18
0
0
0
0
1
8
-6
13
-19
0
0
0
0
0
0
8
-45
16
0
0
0
0
-1
3
14
-8
-7
0
0
0
0
0
0
0
22
9
0
0
0
0
0
0
-16
-1
4
0
0
0
0
0
-2
5
-2
-3
0
0
0
0
2
4
0
-2
-1
0
0
0
0
0
0
0
-23
14
0
0
0
0
1
-1
0
-15
-3
0
0
0
0
0
2
-1
3
-15
0
0
0
0
0
-2
-4
-2
28
0
0
0
0
0
0
0
0
-42
0
0
0
0
-2
-1
0
-2
-12
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
4
0
-2
12
0
0
0
0
0
0
0
8
100
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-6
41
0
0
0
0
1
0
0
22
-3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
23
2
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
12
7
0
0
0
0
0
0
-1
-3
29
0
0
0
0
0
0
0
3
38
0
0
0
0
0
0
0
-3
16
0
0
0
0
-1
0
0
-3
-5
0
0
0
0
-1
-1
0
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
-4
-4
-10
0
0
0
0
0
1
2
-20
-15
0
0
0
3
0
0
7
13
-39
0
0
0
0
0
0
0
-4
14
0
0
3
0
0
2
-2
13
-36
0
0
0
0
0
0
-5
-8
4
0
0
0
0
0
-1
1
5
-13
0
0
0
0
0
1
2
-2
-4
0
0
3
1
0
-1
3
-28
14
0
0
0
0
0
0
0
-14
37
0
0
0
0
0
0
0
19
-42
0
0
0
0
0
0
0
9
31
0
0
-23
0
0
0
-4
-37
18
0
0
0
0
0
0
0
-6
15
0
0
0
1
0
0
0
-15
10
0
0
0
0
0
0
-1
-3
23
0
0
0
4
0
1
-5
-43
5
0
0
0
0
0
-4
0
9
3
0
0
0
2
0
0
-1
-23
4
0
0
0
0
0
0
0
-40
24
0
0
3
-1
0
0
0
-33
-12
0
0
0
0
0
0
0
-18
27
0
0
0
-2
0
0
0
45
5
0
0
0
0
0
0
0
-13
13
0
0
2
-1
-1
-1
8
-39
16
0
0
0
0
0
0
3
-24
-18
0
0
0
-1
0
0
-1
47
5
0
0
0
0
0
0
-1
-3
13
0
0
7
-2
0
0
-2
-34
-17
0
0
0
0
0
0
0
-6
1
0
0
0
2
0
0
-2
6
-4
0
0
0
0
0
0
0
5
48
0
0
0
0
0
0
0
-6
54
0
0
0
0
-2
-2
0
-11
40
0
0
0
0
0
0
-3
-5
-9
0
0
0
0
0
0
3
1
25
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
1
18
10
0
0
0
0
0
0
-1
-8
-2
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
-1
-33
2
0
0
0
0
0
0
0
-14
38
0
0
0
0
0
0
4
-10
7
0
0
0
0
-2
1
0
-8
-74
0
0
0
0
0
-2
0
-9
1
0
0
0
0
0
-1
0
20
-32
0
0
0
0
0
0
0
40
-3
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
4
-2
0
0
0
0
-1
1
0
-11
24
0
0
0
0
0
0
-1
24
-19
0
0
0
0
0
0
-1
-33
40
0
0
0
0
0
-1
0
-5
9
0
0
0
0
0
0
0
7
-15
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-27
-7
0
0
0
0
0
0
1
-68
10
0
0
0
0
0
0
0
-14
26
0
0
0
0
0
0
0
4
-11
0
0
0
0
1
0
1
22
33
0
0
0
0
0
0
0
-12
27
0
0
0
0
0
0
0
-34
-42
0
0
0
0
0
0
0
-5
58
0
0
0
0
0
0
0
3
25
0
0
0
3
2
0
-3
-42
11
0
0
0
0
0
0
-3
19
8
0
0
0
-8
0
0
6
22
-21
0
0
0
0
0
0
0
-23
5
0
0
0
0
0
0
8
3
-1
0
0
0
0
0
0
2
13
-32
0
0
0
8
0
3
-1
-5
15
0
0
0
0
-2
0
0
0
12
0
0
0
0
0
0
-1
2
-39
0
0
0
0
0
-2
14
-24
-44
0
0
0
10
0
0
2
-2
-48
0
0
0
0
0
0
-5
-1
7
0
0
0
-1
0
0
-1
-41
55
0
0
0
0
3
-1
-2
-2
-67
0
0
0
12
-1
-3
-1
8
0
0
0
0
0
-2
0
0
4
1
0
0
0
0
0
0
2
22
-17
0
0
0
0
0
0
-1
0
-23
0
0
0
8
0
0
3
2
-35
0
0
0
0
2
0
-8
10
43
0
0
0
0
0
-1
8
-5
16
0
0
0
0
0
0
0
-3
12
0
0
0
-2
0
0
-2
-20
-18
0
0
0
0
-1
2
0
-3
8
0
0
0
-1
0
0
0
-3
27
0
0
0
0
-1
0
0
-2
67
0
0
0
6
0
0
0
-2
18
0
0
0
0
0
0
2
-7
22
0
0
0
4
0
0
-3
16
-2
0
0
0
0
0
0
-1
13
7
0
0
0
17
0
0
0
-25
17
0
0
0
0
-3
-1
0
7
3
0
0
0
0
0
0
3
50
-26
0
0
0
0
0
0
-1
-25
54
0
0
0
0
2
0
1
-3
-5
0
0
0
0
-1
0
0
12
-15
0
0
0
0
0
0
0
10
7
0
0
0
0
0
0
-3
-14
1
0
0
0
0
2
-1
4
-4
-13
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
8
-4
0
0
0
0
0
0
-1
-6
24
0
0
0
0
2
0
-6
-15
10
0
0
0
0
2
2
0
1
-46
0
0
0
0
0
0
-2
-5
-40
0
0
0
0
0
0
0
-13
30
0
0
0
0
2
0
2
-10
5
0
0
0
0
-5
-4
0
0
5
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
-6
0
29
0
0
0
0
-2
1
0
-22
16
0
0
0
0
0
-1
3
-2
7
0
0
0
0
0
0
1
-18
33
0
0
0
0
0
-1
0
7
-13
0
0
0
0
0
0
0
4
-10
0
0
0
0
-1
0
2
-46
8
0
0
0
0
1
0
0
-24
44
0
0
0
0
2
0
-1
-9
33
0
0
0
0
1
-1
0
17
-1
0
0
0
0
0
0
0
-2
67
0
0
0
0
0
0
0
2
1
0
0
0
0
-1
-1
0
0
33
0
0
0
0
5
-1
0
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
-7
-33
-48
-71
33
6
0
0
-7
5
-3
-9
-25
12
-6
0
10
-2
-6
-8
-1
-14
-4
-2
0
0
7
34
7
32
-4
16
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
3
6
36
5
16
-1
0
0
0
32
-25
-2
-28
26
-4
0
0
-32
74
-16
12
20
-9
-12
0
0
0
-28
18
-19
-32
54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-2
-1
-14
4
-9
0
0
0
0
0
-7
0
-37
-17
0
0
0
30
-8
8
14
-13
-21
0
0
0
0
-12
-19
7
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
-9
-2
-16
-3
-6
0
0
0
0
-8
4
8
-10
-16
0
0
0
9
-27
26
31
20
4
0
0
0
0
19
3
8
-20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
32
8
8
0
0
0
-2
-1
-5
-50
-21
5
0
0
0
0
-1
-9
-1
3
8
0
0
0
0
3
0
14
-87
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-16
11
0
0
0
0
0
-1
-20
-41
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
19
0
0
0
0
0
0
0
-8
13
0
0
0
0
0
-1
0
-28
19
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
37
0
0
0
0
0
0
0
-23
57
0
0
0
0
0
0
0
3
-38
0
0
0
0
0
0
1
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
-45
-15
6
0
0
0
0
0
24
46
-83
-1
0
11
0
0
-2
-9
29
16
-4
0
0
0
0
3
-2
5
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
6
-12
0
0
0
0
0
0
-6
26
4
0
0
2
0
0
5
-41
-1
16
0
0
0
0
0
0
1
-24
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-16
0
0
0
0
0
0
0
-16
30
0
0
0
-1
0
0
0
-6
7
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
15
0
0
0
0
0
0
0
-9
-21
0
0
0
0
0
0
-1
-2
-32
0
0
0
0
0
0
-3
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
30
-6
-2
0
0
0
0
7
21
-7
-43
1
0
0
0
0
7
-19
47
-63
-16
0
0
0
1
-1
6
8
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
41
0
0
0
0
0
-1
-41
42
29
0
0
0
0
0
0
16
-1
13
0
0
0
-5
0
6
-8
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
0
0
0
0
0
0
2
-7
-9
0
0
0
0
0
0
5
4
-18
0
0
0
0
1
0
2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
8
-25
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
-31
-7
13
5
0
0
0
0
-1
-25
77
12
-16
0
-1
0
0
8
-8
36
-23
0
0
0
0
0
0
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
30
19
5
0
0
0
0
0
0
3
-4
-13
0
0
0
0
0
0
-2
-46
8
0
0
0
0
0
0
-1
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
13
0
0
0
0
0
0
0
-10
-15
0
0
0
-1
0
0
-1
7
32
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-5
0
0
0
0
0
0
0
33
-10
0
0
0
0
0
0
0
-31
-5
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
24
8
-1
0
0
0
0
-1
9
-7
11
-19
0
0
0
0
0
2
-8
-42
9
0
0
0
0
-1
3
-4
-33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
32
-5
0
0
0
0
0
0
0
-4
-21
0
0
0
0
0
0
1
-30
4
0
0
0
1
0
0
-1
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
27
0
0
0
0
0
0
0
-9
43
0
0
0
0
0
0
0
2
27
0
0
0
0
0
-1
0
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
48
7
4
0
0
0
0
-3
10
-33
-1
2
0
-3
0
0
-1
22
5
16
2
0
0
0
1
0
10
7
62
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
92
-15
0
0
0
0
0
0
-10
19
-9
0
0
-1
0
0
1
13
-12
-4
0
0
0
0
1
0
0
30
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-9
7
0
0
0
0
0
0
0
1
18
0
0
0
7
0
0
0
-6
9
0
0
0
0
0
2
0
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
14
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
1
53
0
0
0
0
0
0
0
-8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-15
-6
0
0
0
4
0
-7
-18
25
-16
0
0
0
0
0
8
-9
24
-24
0
0
-3
-1
1
-1
3
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
8
-8
0
0
0
4
0
0
4
-2
-18
0
0
0
1
0
-4
-7
7
-4
0
0
0
0
2
0
0
-8
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
-4
0
0
9
0
0
0
0
0
0
0
13
3
0
0
0
0
0
1
10
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
-1
0
-4
-1
0
0
0
0
0
-1
-3
0
25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-12
9
27
10
0
0
0
0
0
5
2
-15
9
0
0
0
0
0
1
-32
12
21
0
0
0
0
0
0
-23
40
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
19
7
7
0
0
0
0
0
0
1
2
4
0
0
0
0
0
2
16
-39
6
0
0
0
0
0
-1
0
-24
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
-44
18
0
0
0
0
0
1
-1
-12
8
0
0
0
1
0
0
0
4
32
0
0
0
0
0
0
0
-16
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-13
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
-3
16
3
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
48
5
0
0
0
0
0
0
12
-72
15
0
0
0
0
0
0
-4
53
-20
0
0
0
0
0
0
-8
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
14
0
0
0
0
0
0
12
-5
10
0
0
0
0
2
-1
-2
90
-21
0
0
0
4
-1
0
-1
15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
17
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
13
23
0
0
0
0
0
0
0
-2
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
5
-28
0
0
0
0
0
0
0
4
9
0
0
0
0
0
1
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
74
4
0
0
0
0
0
-2
-20
40
1
0
0
9
0
0
-8
19
41
1
0
0
0
0
0
13
-5
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-10
2
0
0
0
0
0
2
2
40
-4
0
0
-4
0
0
-13
0
21
-5
0
0
0
0
0
-3
2
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
3
0
-5
26
0
0
0
0
0
0
5
5
3
0
0
0
0
0
-1
0
3
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-15
0
0
0
0
0
0
0
-9
10
0
0
0
2
0
0
1
-9
-5
0
0
0
0
0
0
0
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
26
-5
0
0
0
-1
0
5
14
24
-1
0
0
0
0
0
0
-25
44
-4
0
0
0
-4
-1
0
1
58
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-54
17
0
0
0
1
-1
1
-12
-1
12
0
0
0
0
1
3
0
23
6
0
0
0
0
-2
-2
3
15
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
0
0
0
0
0
1
1
10
0
0
0
0
0
0
4
2
1
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
-15
0
0
0
0
2
1
-12
5
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-48
-43
16
0
0
0
0
0
0
-1
23
-19
0
0
6
0
0
0
-2
13
-29
0
0
0
0
0
-4
0
31
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
-27
7
5
0
0
0
0
0
0
-4
7
-16
0
0
-1
0
0
4
-1
24
-22
0
0
0
0
0
-1
0
51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
13
-27
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
13
24
0
0
0
0
0
0
5
-2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
0
0
0
0
0
0
0
-8
13
0
0
0
3
0
0
2
-5
-17
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
11
0
0
0
0
0
0
-4
6
-4
0
0
0
0
0
0
5
64
-23
0
0
0
0
0
0
0
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
12
-2
0
0
0
0
1
-1
-3
2
-5
0
0
0
0
0
0
1
2
-19
0
0
0
0
3
-5
0
-24
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
0
-3
-21
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
5
-10
0
0
0
0
0
-1
0
-8
6
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
92
-12
0
0
0
0
1
0
-3
37
-13
0
0
5
0
0
-5
0
21
-27
0
0
0
1
-2
0
-1
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
42
10
0
0
0
0
0
0
0
-3
9
0
0
5
0
-1
0
0
-33
5
0
0
0
-1
2
1
0
61
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
0
1
19
0
0
0
-10
0
0
0
-1
24
0
0
0
0
0
0
-1
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
-2
-13
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
14
0
0
0
0
0
-2
-1
27
7
0
0
0
0
-1
0
-9
25
-21
0
0
0
0
4
1
-3
5
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
13
0
0
0
0
0
0
0
25
13
0
0
0
0
0
4
-1
40
-12
0
0
0
17
-16
5
0
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
1
0
-6
-10
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-1
-2
3
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
-6
27
0
0
0
0
0
0
0
16
-15
0
0
0
0
-2
0
0
2
-8
0
0
0
0
-1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
50
0
0
0
0
0
0
1
-40
32
0
0
0
0
0
0
2
-31
21
0
0
0
0
0
0
-1
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-13
0
0
0
0
0
0
-10
-10
26
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
-1
8
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-90
57
0
0
0
0
0
0
3
-18
-9
0
0
0
0
0
0
-1
-10
28
0
0
0
0
0
0
0
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
0
0
0
0
0
0
2
23
18
0
0
0
0
0
0
2
-12
15
0
0
0
0
0
0
-5
6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
22
0
0
0
0
0
0
0
33
-21
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
47
0
0
0
0
0
0
0
9
27
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-7
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
0
0
0
0
0
0
0
10
-23
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-10
8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
5
0
0
0
0
0
0
3
-15
-3
0
0
0
-5
0
0
0
-8
-38
0
0
0
0
0
0
0
22
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
14
0
0
0
0
0
0
0
4
-41
0
0
0
3
0
0
8
-3
-8
0
0
0
0
0
0
-1
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
26
0
0
0
0
0
0
0
0
31
0
0
0
-2
0
0
0
-48
24
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
33
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-2
-15
42
0
0
0
0
0
0
0
-9
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
5
-2
41
0
0
0
0
0
0
3
19
-3
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
22
0
0
0
0
0
0
3
-5
25
0
0
0
0
0
0
-12
1
14
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
58
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
15
0
0
0
0
0
0
1
-14
19
0
0
0
0
0
0
-13
23
9
0
0
0
0
2
0
2
-28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-2
-9
7
0
0
0
0
0
0
0
9
14
0
0
0
-2
0
0
0
-5
-31
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
-24
31
0
0
0
0
0
0
0
29
-4
0
0
0
0
0
0
2
-12
38
0
0
0
0
0
0
-1
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-28
0
0
0
0
0
0
0
-32
40
0
0
0
0
0
0
0
-13
48
0
0
0
0
0
0
0
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
-7
-50
0
0
0
0
0
0
0
-33
27
0
0
0
0
0
0
2
4
-16
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
-1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-52
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-1
-2
33
0
0
0
0
0
0
-1
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
25
18
0
0
0
0
0
0
0
-10
41
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
1
-12
49
0
0
0
0
0
0
0
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
3
63
0
0
0
0
0
0
0
-9
-15
0
0
0
7
0
0
0
-6
-19
0
0
0
0
0
0
-1
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
10
0
0
0
0
0
0
0
4
-10
0
0
0
-8
0
0
0
2
21
0
0
0
0
0
1
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
16
-41
0
0
0
0
0
0
0
16
-13
0
0
0
25
0
0
1
22
-22
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-8
-10
0
0
0
0
0
0
0
25
20
0
0
0
2
0
0
0
-30
-35
0
0
0
0
0
-1
0
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
1
-13
41
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
2
-2
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
26
0
0
0
0
-2
0
0
10
-7
0
0
0
0
0
0
-6
10
20
0
0
0
0
-1
5
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
25
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-9
19
0
0
0
0
2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
40
0
0
0
0
0
1
0
-5
-38
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-27
-59
0
0
0
0
0
0
1
-13
-11
0
0
0
0
0
0
8
40
-29
0
0
0
0
0
0
0
3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
36
-18
0
0
0
0
0
0
7
20
-54
0
0
0
1
0
0
2
-71
12
0
0
0
0
0
0
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
-1
-16
0
0
0
0
0
0
-5
-15
24
0
0
0
0
0
0
-1
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-28
20
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
2
-4
-19
0
0
0
0
0
0
1
-58
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
-7
8
0
0
0
0
0
0
0
20
16
0
0
0
0
0
0
1
-10
13
0
0
0
0
0
-1
-1
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
41
0
0
0
0
0
0
-3
6
39
0
0
0
0
0
0
2
14
-32
0
0
0
0
0
0
0
5
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
34
0
0
0
0
0
0
0
-20
52
0
0
0
0
0
0
0
17
-32
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
1
-27
15
0
0
0
0
0
0
0
38
-9
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
24
0
0
0
0
0
0
0
-1
-7
0
0
0
12
0
0
0
-4
12
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-23
0
0
0
0
0
0
-1
-25
14
0
0
0
-4
0
0
-3
-4
8
0
0
0
0
0
0
4
3
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
27
0
0
0
0
0
0
0
-9
39
0
0
0
-18
0
0
1
18
-11
0
0
0
0
0
1
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
20
8
0
0
0
0
0
0
0
-16
18
0
0
0
-1
0
0
10
-20
-31
0
0
0
0
1
0
0
8
-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
5
6
0
0
0
0
0
-2
0
19
-14
0
0
0
0
0
0
-4
8
-5
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
0
0
0
0
0
0
0
7
44
0
0
0
0
3
0
4
-6
2
0
0
0
0
4
-1
-2
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
50
0
0
0
0
0
-1
1
-4
-12
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
2
0
-1
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
30
0
0
0
0
0
0
-5
-12
1
0
0
0
0
2
0
3
5
-40
0
0
0
0
-8
1
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-47
0
0
0
0
0
0
0
0
29
0
0
0
0
-1
0
0
0
-3
-17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-47
14
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
-5
-77
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
6
0
0
0
0
0
0
0
49
0
0
0
0
2
0
0
0
-21
8
0
0
0
0
0
-1
0
6
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
-19
0
0
0
1
-4
1
0
0
0
0
0
0
0
27
-2
0
0
0
-3
0
0
-4
-9
38
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
1
0
-29
-21
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-9
83
0
0
0
0
0
0
2
-1
4
0
0
0
0
0
4
0
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
0
0
0
0
0
0
0
29
-13
0
0
0
0
0
0
-1
6
-3
0
0
0
0
0
-1
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
-18
-4
0
0
0
0
0
0
0
6
21
0
0
0
0
0
-1
0
-8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-49
0
0
0
0
0
0
0
-3
-16
0
0
0
-2
0
0
0
-3
15
0
0
0
0
3
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
1
-1
33
0
0
0
-4
0
0
6
-5
10
0
0
0
0
-1
-1
-1
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-18
18
0
0
0
0
0
0
-2
7
2
0
0
0
22
0
-1
1
0
13
0
0
0
0
-1
-1
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
0
-2
16
0
0
0
7
0
0
0
-10
22
0
0
0
0
0
-2
0
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
-6
1
0
0
0
0
1
0
0
2
1
0
0
0
0
-1
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
4
24
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
8
6
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
2
12
5
0
0
0
0
0
0
2
-6
-6
0
0
0
0
-1
3
0
11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
15
0
0
0
0
-2
2
0
-19
18
0
0
0
0
-1
2
-1
3
15
0
0
0
0
4
1
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
-2
0
-11
6
-13
8
-2
0
0
-1
-8
7
-2
90
1
-8
0
16
1
8
-14
-44
68
-11
5
0
0
-4
-19
46
-32
11
-44
5
12
-2
0
-1
-8
-30
-13
5
15
0
0
0
-6
1
-8
-43
1
2
0
25
0
17
-7
4
104
0
2
0
0
18
-22
-3
18
-8
-13
0
-10
0
-1
-4
17
16
4
-4
0
0
0
1
-2
3
19
-3
1
0
0
1
1
-1
6
-31
-1
-11
0
0
0
4
10
2
-7
-7
-29
0
17
-2
-3
0
17
13
-1
-41
0
0
0
0
-5
-14
-1
-17
-11
0
0
30
-7
6
-13
10
-4
-20
0
0
0
15
15
-8
8
25
-17
0
3
1
0
-9
24
-25
-20
0
0
0
0
0
-2
16
7
5
0
0
0
3
0
0
3
32
-6
0
0
0
0
2
7
-43
-28
-5
0
0
9
0
0
0
-2
-52
1
0
0
0
0
0
13
-8
-40
46
0
0
0
4
13
-4
-2
3
-20
0
0
0
0
-29
-2
3
14
5
0
0
6
1
0
12
46
-13
-10
0
0
0
0
0
2
2
-54
103
0
0
0
-14
-2
12
4
-43
17
0
0
0
0
-9
-49
-9
18
75
0
0
-3
8
0
-5
0
9
-27
0
0
0
0
0
-19
4
22
11
0
0
0
-19
8
-12
23
-3
30
0
0
0
0
-5
-11
19
-32
-10
0
0
0
0
0
0
0
-16
59
-12
6
0
0
0
0
0
5
2
16
-18
0
0
0
0
0
-8
1
-21
8
0
0
0
0
0
-3
3
-28
22
0
0
0
0
0
-12
53
17
12
0
0
0
0
0
1
-24
15
-19
0
0
0
0
1
0
48
8
-5
0
0
0
0
0
0
-3
-110
-5
0
0
0
0
0
10
14
-6
0
0
0
0
0
0
-4
34
-42
0
0
0
0
0
2
-13
45
-11
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
-45
25
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
0
-2
5
-16
0
0
0
0
0
0
-25
-13
0
0
0
0
0
0
0
5
25
0
0
0
0
0
0
0
25
15
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
10
-69
0
0
0
0
0
0
0
-6
19
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-15
-9
0
0
0
0
0
0
0
12
19
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-29
26
-80
10
0
0
0
0
0
5
20
-87
2
0
2
0
0
0
24
-29
15
3
0
0
0
0
0
0
14
22
-12
0
0
0
0
0
1
9
-2
-3
0
0
0
0
0
-4
16
-39
-7
0
2
0
0
-1
-2
6
-76
-17
0
0
0
0
0
-7
1
55
-14
0
0
0
0
0
12
82
-11
0
0
0
0
0
0
0
58
-6
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
1
-21
21
0
0
0
0
0
0
-7
24
-2
0
0
0
0
0
0
-1
-34
6
0
0
-5
0
0
0
-1
12
-24
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
3
53
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
-1
12
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
0
-3
21
0
0
0
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
7
12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
0
0
-32
0
0
0
1
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
18
53
-63
-8
0
0
0
0
0
-5
-17
-10
3
0
0
0
0
0
-1
14
-7
3
0
0
2
0
1
13
-2
-21
-10
0
0
0
0
0
0
-34
-67
-2
0
0
0
0
0
1
-13
-50
2
0
0
0
0
-2
0
25
-100
-10
0
0
0
0
0
0
-1
19
10
0
0
0
0
0
-7
-14
-3
0
0
0
0
0
-2
4
-5
11
0
0
0
0
0
-3
-3
-29
19
0
0
0
0
0
5
-2
5
-32
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
1
6
-5
-2
0
0
0
0
0
0
0
25
-14
0
0
0
0
0
0
0
-4
71
0
0
0
0
0
0
-3
62
0
0
0
0
0
0
0
7
-19
0
0
0
0
0
0
1
-1
41
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
-17
9
18
0
0
0
0
0
-6
7
-11
11
0
0
0
0
0
16
3
19
6
0
0
0
0
0
0
10
-17
11
3
0
0
0
0
7
12
7
-6
0
0
0
0
0
0
3
4
-21
0
0
0
0
0
2
-1
43
-1
0
0
0
0
0
1
-5
-24
-15
0
0
0
0
0
-6
-44
13
0
0
0
0
0
0
1
-7
9
0
0
0
0
0
0
6
45
6
0
0
0
0
0
0
-2
32
-20
0
-2
0
0
0
0
-8
-42
4
0
0
0
0
0
0
-3
-7
2
0
0
1
0
0
0
0
3
6
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
5
22
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
34
0
0
-1
0
0
0
0
-3
17
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
-1
65
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-15
-15
22
-24
0
0
0
0
0
2
-17
4
18
0
0
0
0
0
-9
-13
-19
6
0
0
0
0
0
-5
-4
52
-10
0
0
0
0
0
5
-3
4
-8
0
0
0
0
0
-1
0
-9
18
0
0
0
0
0
1
-2
-56
2
0
0
0
0
0
0
0
9
-28
0
0
0
0
0
-10
5
12
0
0
0
0
0
0
-4
4
14
0
0
0
0
0
0
0
-15
-12
0
0
0
0
0
0
-5
8
-7
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
8
-14
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
7
-28
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
-10
18
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
13
-19
-52
9
0
0
0
0
0
-14
-5
-5
9
0
0
0
0
0
-19
-7
-11
9
0
0
0
0
1
6
-6
37
-2
0
0
0
0
0
2
5
-15
1
0
0
0
0
0
-1
1
-15
-24
0
0
0
0
0
4
0
7
-7
0
0
0
0
0
1
2
10
10
0
0
0
0
0
0
40
-1
0
0
0
0
0
0
2
8
1
0
0
0
0
0
0
8
-24
3
0
0
0
0
0
0
0
-29
18
0
0
0
0
0
0
3
5
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
-7
-3
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
73
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-40
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-35
5
0
0
0
0
0
-3
-4
-14
25
0
0
0
0
0
0
8
-7
9
0
0
-1
0
0
16
0
-39
-10
0
0
0
0
0
0
-4
-12
9
0
0
0
-1
0
-1
2
-3
-15
0
0
0
0
0
0
4
-3
-8
0
0
0
0
0
-1
0
43
-25
0
0
0
0
0
0
4
10
0
0
0
0
1
0
-1
16
15
0
0
0
0
0
0
0
8
24
0
0
0
0
0
0
-2
1
16
0
0
0
0
0
0
-1
19
1
0
0
0
0
0
0
-1
3
-14
0
0
0
0
0
0
0
3
28
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
8
20
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
10
-1
0
0
0
0
0
3
7
-38
20
0
0
0
0
0
0
25
30
-19
0
0
0
0
0
0
5
-13
-16
0
-3
0
0
0
0
7
22
10
0
0
0
0
0
0
0
-20
7
0
0
0
0
0
0
-12
-8
42
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
-4
-7
24
19
0
0
0
0
0
0
12
-28
-7
0
0
0
0
0
0
0
37
-9
0
0
0
0
0
0
0
11
-40
0
0
0
0
0
1
1
-22
15
0
0
0
0
0
0
1
-23
3
0
0
0
0
0
0
0
33
-21
0
0
0
0
0
0
1
18
4
0
0
0
0
0
-3
-8
-3
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-23
0
0
-2
0
0
0
3
-5
8
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
-1
-3
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-3
11
-55
0
0
0
0
0
0
-34
8
1
0
0
0
0
0
0
-22
30
-49
0
0
0
0
0
0
13
41
-54
0
0
0
0
0
0
2
1
17
0
0
0
0
0
0
4
-13
4
0
0
0
0
0
0
0
13
-29
0
0
0
0
0
0
-3
-4
-27
0
0
0
0
0
0
-2
-20
11
0
0
0
0
0
0
-1
47
-3
0
0
0
0
0
0
0
32
-19
0
0
0
0
0
0
0
-13
-18
0
0
0
0
0
0
-2
42
-17
0
0
0
0
0
0
0
20
-7
0
0
0
0
0
0
1
-10
-48
0
0
0
0
0
0
-2
-9
-6
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
9
74
-39
0
0
0
0
0
0
-3
54
-21
0
0
0
0
0
0
-8
-36
31
0
0
0
0
0
0
2
28
-92
0
0
0
0
0
0
1
-16
23
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
2
4
-23
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-1
-10
1
0
0
0
0
0
0
0
47
-4
0
0
0
0
0
0
3
9
-17
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
72
1
0
0
0
0
0
0
0
27
3
0
0
-1
0
0
0
0
14
-30
0
0
0
0
0
0
0
-7
-17
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-7
-41
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-8
43
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
13
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
-1
-13
-7
0
0
0
0
0
0
-10
-9
-27
0
0
0
0
0
0
14
-19
46
0
0
0
0
0
-3
0
23
-45
0
0
0
0
0
0
5
-14
6
0
0
0
0
0
0
5
108
-23
0
0
0
0
0
0
0
14
-3
0
0
0
0
0
0
2
16
48
0
0
0
0
0
0
0
-28
4
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
0
2
6
1
0
0
0
0
0
-3
0
16
5
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
-26
6
0
0
0
0
0
0
0
-11
53
0
0
0
1
0
0
0
-17
15
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
78
-67
0
0
0
0
0
0
-1
-11
-17
0
0
0
0
0
-2
9
-7
-22
0
0
0
0
0
0
2
-46
14
0
2
0
0
0
0
1
-27
11
0
0
0
0
0
0
0
24
-6
0
0
0
0
0
0
1
29
-29
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
-6
19
8
0
0
0
0
0
0
-1
54
-12
0
0
0
0
0
2
0
19
-4
0
0
0
0
0
1
-1
-5
-6
0
0
0
0
0
0
0
18
6
0
0
0
0
0
0
-1
16
22
0
0
0
0
0
0
0
17
4
0
0
0
0
0
0
0
-13
-12
0
0
0
0
0
1
2
-7
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
4
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
1
51
0
0
0
0
0
0
0
0
51
0
0
-1
0
0
0
-1
3
16
0
0
0
0
0
0
0
0
24
0
0
0
4
0
0
0
-6
-19
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
-2
5
-43
0
0
0
0
0
0
2
5
-6
0
0
0
0
0
0
0
-42
9
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
4
-56
0
0
0
0
0
0
0
-9
39
0
0
0
0
0
0
1
-16
10
0
0
0
0
0
0
0
35
4
0
0
0
0
0
0
0
-65
20
0
0
0
0
0
-1
0
-9
20
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
16
-12
0
0
0
0
0
0
0
7
20
0
0
0
0
0
0
0
-15
16
0
0
0
0
0
0
0
-15
45
0
0
0
0
0
0
-2
10
1
0
0
0
0
0
0
0
-5
-6
0
0
-2
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-22
-3
0
0
1
0
0
0
0
-47
8
0
0
0
0
0
0
0
-15
62
0
0
0
0
0
0
0
-31
24
0
0
0
0
0
0
0
13
-1
0
0
-2
0
0
0
0
-16
25
0
0
0
0
0
0
0
18
-15
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
-2
0
44
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
15
0
0
0
0
0
0
0
0
32
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
25
-6
0
0
0
0
0
0
7
2
-10
0
0
0
0
0
0
0
2
32
0
0
0
0
0
0
-2
6
-48
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-55
40
0
0
0
0
0
0
1
8
17
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
2
-5
40
0
0
0
0
0
0
0
18
-13
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
1
54
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
-14
16
0
0
0
0
0
0
0
-8
41
0
0
0
0
0
0
-1
-4
44
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
-1
2
26
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
-1
-1
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
16
-10
0
0
0
0
0
0
0
-10
-11
0
0
0
0
0
0
0
-15
56
0
0
0
0
0
0
-4
-2
-12
0
0
0
0
0
0
-3
-15
2
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
1
-10
47
0
0
0
0
0
0
2
-4
-50
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
6
31
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
-23
12
0
0
0
0
0
0
0
24
-21
0
0
0
0
0
0
0
41
-16
0
0
0
0
0
0
0
14
-15
0
0
0
0
0
0
-3
-5
-52
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
-29
0
0
0
0
0
0
0
8
19
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-12
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-29
-23
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
63
0
0
0
0
0
0
0
-7
30
0
0
0
0
0
0
0
-1
-41
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-3
-32
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
1
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
8
-3
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
14
0
0
0
8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
2
-6
0
0
0
-4
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
14
-21
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
55
0
0
0
0
0
0
0
5
26
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
-7
35
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
2
-38
24
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-6
3
0
0
0
0
0
0
0
1
-5
0
0
1
0
0
0
0
-1
3
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
-40
63
0
0
0
0
0
0
0
24
-23
0
0
0
0
0
0
0
0
-23
0
0
-1
0
0
0
1
1
-17
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-3
-6
0
0
-2
0
0
0
0
6
1
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
19
28
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
38
0
0
0
0
0
0
0
-19
27
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
-3
36
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
22
-8
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
16
-18
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
-3
-33
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
-15
21
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
0
0
-21
32
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
8
-17
0
0
0
0
0
0
0
-8
5
0
0
0
-1
0
0
0
2
-1
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-22
39
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
0
0
-3
5
0
0
0
2
0
0
0
1
9
0
0
0
0
0
0
0
-17
8
0
0
0
-1
0
0
0
-8
-5
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
1
0
-1
8
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-16
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
67
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
0
-21
57
0
0
0
0
0
0
0
3
33
0
0
0
0
0
0
0
1
32
0
0
0
0
0
0
0
41
-3
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-8
21
0
0
0
0
0
0
0
-36
45
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
23
33
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
17
50
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-1
-22
-22
0
0
0
0
0
0
0
27
-16
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
12
14
0
0
-2
0
0
0
0
25
-26
0
0
0
0
0
0
0
-11
4
0
0
0
0
0
0
0
-13
17
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
-1
44
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
10
42
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
47
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
-30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
-13
22
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
0
0
3
-4
0
0
0
-3
0
0
0
3
8
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
38
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
0
4
3
0
0
0
3
0
0
0
4
-10
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
-7
23
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
0
-17
39
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
-32
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-5
-15
0
0
0
0
0
0
0
-1
-36
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
16
-6
0
0
0
0
0
0
0
-5
30
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
23
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
16
57
0
0
0
0
0
0
0
2
8
0
0
-1
0
0
0
0
5
-23
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-17
9
0
0
0
0
0
0
0
14
-10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-12
4
0
0
3
0
0
0
0
-2
-22
0
0
0
0
0
0
0
10
13
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
-25
-20
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-1
-48
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
21
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-2
0
0
23
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
1
-21
0
0
0
3
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-1
-49
0
0
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
26
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
24
41
-46
-8
15
17
-8
6
-3
0
0
-15
10
-14
6
-39
-1
5
0
1
-29
-72
40
-21
111
-6
-8
0
0
13
18
-3
-34
1
19
-12
21
-16
5
16
16
22
0
0
-11
0
0
13
50
-20
-125
104
7
10
0
-46
0
2
19
-67
8
-13
13
0
0
-3
-23
3
-57
13
3
12
25
20
-3
-27
-15
-46
43
-15
0
0
0
4
9
46
-80
-15
-19
0
0
47
-8
-7
-12
-7
20
-3
0
0
0
-1
4
-1
0
91
-33
0
-10
1
0
-8
-20
-93
24
40
0
0
0
1
-2
-5
-12
2
30
0
0
-16
0
2
-16
0
0
17
0
0
0
0
0
-3
44
57
-45
0
8
77
-15
-6
-26
1
1
0
0
0
0
0
-29
-31
9
21
0
0
0
2
-1
-3
-22
-55
29
0
0
0
0
0
-4
-25
96
-24
0
0
-25
33
0
8
7
-75
47
0
0
0
0
0
-5
-10
-35
59
0
0
0
27
0
0
8
-94
59
0
0
0
0
1
3
8
16
29
0
0
-2
1
0
-3
-2
12
13
0
0
0
0
0
-4
4
-10
-8
0
0
0
-4
0
3
25
-15
-33
0
0
0
0
0
3
-1
-52
-50
0
0
9
0
0
3
0
-7
4
0
0
0
0
-1
0
1
-38
-16
0
0
0
1
0
-1
3
1
0
0
0
0
0
0
0
-4
1
-25
0
0
0
0
38
118
-14
42
37
-39
11
0
0
-11
-7
4
42
98
5
-17
0
0
-13
43
-33
56
-53
-34
31
0
0
-25
-17
64
-100
82
6
13
0
0
-4
-26
39
-73
1
30
14
0
0
5
24
-71
22
-46
8
13
0
0
1
8
-1
11
78
-46
-1
0
0
15
33
-20
32
-31
-2
26
0
0
-13
-13
8
24
-57
11
0
0
0
23
25
-15
-125
14
30
0
0
0
-4
-6
18
54
20
-44
0
0
0
37
29
-54
-26
35
-21
0
0
0
0
-2
13
-30
13
-6
0
0
0
1
-4
14
-24
15
-11
0
0
0
1
0
0
14
-17
32
0
0
0
5
4
2
23
48
-4
0
0
0
-5
21
0
32
-4
0
0
0
0
0
-36
4
2
33
0
0
0
0
0
-5
29
35
-9
0
0
0
0
8
4
-14
-19
53
0
0
0
0
0
-34
-7
-19
34
0
0
0
0
1
-17
-3
-56
-44
0
0
0
0
0
-1
-23
-18
-19
0
0
0
0
1
-2
5
-7
-8
0
0
0
0
0
1
-8
-33
34
0
0
0
0
-2
0
-2
-13
-4
0
0
0
0
-8
0
-6
42
10
0
0
0
0
0
2
0
-41
-2
0
0
0
0
0
0
0
-5
24
0
0
0
0
-3
0
0
-50
43
0
0
0
0
0
0
0
-8
0
0
0
0
0
-2
3
2
-5
20
0
0
0
-20
1
3
9
-67
-26
3
36
0
0
18
26
107
-58
26
-4
18
0
-51
-5
6
-36
6
-32
-24
20
0
0
-16
-49
10
77
28
-43
17
0
1
4
-7
4
-4
-57
28
10
0
0
0
-9
18
-75
77
37
24
0
-23
0
1
-5
-35
27
30
3
0
0
22
20
-43
-17
22
22
6
0
-5
0
0
24
-140
29
0
0
0
0
0
-3
38
6
10
-8
0
0
48
-2
20
61
-44
23
-36
0
0
0
16
-23
5
-45
10
-16
0
0
-7
0
0
47
-95
-5
49
0
0
0
0
1
-5
6
30
-19
0
0
78
0
-3
19
-49
24
1
0
0
0
0
0
5
-14
-5
57
0
0
4
3
-29
12
40
28
0
0
0
0
-5
-6
8
-70
31
0
0
0
37
0
0
-20
-27
32
0
0
0
0
0
-1
2
-1
-18
0
0
0
8
0
-1
-26
-68
32
0
0
0
0
2
-1
-25
-32
-40
0
0
0
38
0
-2
-26
3
19
0
0
0
0
-4
-5
25
14
61
0
0
0
1
0
4
-21
-44
65
0
0
0
0
0
0
1
5
-8
0
0
0
-16
0
-1
5
-36
59
0
0
0
0
0
0
0
0
-23
0
0
0
1
0
0
-12
-55
17
0
0
0
0
0
0
1
22
6
0
0
0
-35
0
0
0
-25
9
0
0
0
0
0
0
1
0
14
0
0
0
0
25
52
55
30
-11
22
8
0
0
2
13
-28
-57
-45
48
89
0
0
-3
22
14
-49
-80
-1
17
0
0
-61
-5
-24
88
8
44
-2
0
0
6
18
-51
-53
2
32
10
0
0
-52
4
43
5
26
-8
7
0
0
0
-6
-19
25
94
15
0
0
0
-53
0
19
64
106
35
-28
0
0
0
17
50
-20
-4
-10
0
0
0
-48
-57
5
76
33
-36
0
0
0
2
4
9
-7
6
4
0
0
0
20
-41
-9
-45
-5
6
0
0
0
0
-1
17
-33
13
-52
0
0
0
-3
1
19
62
32
-52
0
0
0
0
1
16
-41
53
-42
0
0
0
103
-48
-13
-56
48
-12
0
0
0
-7
4
-3
29
-25
0
0
0
0
10
27
-25
-44
-11
0
0
0
0
0
-1
-5
-17
44
0
0
0
0
-16
8
-2
1
19
0
0
0
0
3
3
-9
-19
41
0
0
0
0
-3
36
-13
28
-5
0
0
0
0
0
4
-21
5
-4
0
0
0
0
22
22
-7
-7
-38
0
0
0
0
-2
0
18
-46
99
0
0
0
0
-3
19
-5
-3
77
0
0
0
0
0
0
3
-41
112
0
0
0
0
0
-7
-7
-24
29
0
0
0
0
0
0
-3
-13
7
0
0
0
0
-3
1
1
-15
28
0
0
0
0
0
0
1
-3
43
0
0
0
0
-7
3
1
-2
-18
0
0
18
34
-6
-72
-41
4
-51
16
19
0
0
-1
-10
21
22
2
-29
13
0
18
0
0
-33
-7
-63
-20
34
0
0
1
-9
-59
52
16
-29
44
-31
3
0
-6
9
7
66
-13
-13
0
0
0
7
-8
-61
30
14
9
0
6
0
0
-21
8
63
-44
2
0
0
0
1
-1
-3
-2
-42
19
1
1
0
5
63
-71
30
22
0
0
0
0
12
-30
-57
-43
37
0
0
13
0
-1
52
-13
53
-32
0
0
0
0
-1
15
-45
12
-7
0
14
0
0
2
21
24
23
-14
0
0
0
0
-3
3
-24
71
-9
0
0
-1
0
1
-1
49
73
-25
0
0
0
0
0
-4
-4
54
-10
0
11
0
0
-19
12
-49
-4
0
0
0
0
0
6
3
19
-42
0
0
0
-41
0
0
-10
-12
-21
0
0
0
0
0
0
-5
9
57
0
0
5
1
0
0
-41
-29
65
0
0
0
0
1
2
8
-23
-41
0
0
0
42
0
0
6
25
19
0
0
0
0
0
0
-5
14
31
0
0
-4
1
0
-2
-30
-29
108
0
0
0
0
0
-1
3
-11
5
0
0
0
0
0
-3
0
51
11
0
0
0
0
0
2
1
-6
94
0
0
-9
0
0
2
10
34
-33
0
0
0
0
0
0
0
-14
51
0
0
0
-6
0
1
0
-41
20
0
0
0
0
0
0
0
4
5
0
0
0
0
8
-31
0
0
52
4
-3
0
0
-5
-24
-2
-1
-77
1
59
0
0
8
-14
39
-22
-22
-2
-4
0
0
-51
-12
23
-32
22
-29
44
0
0
0
-31
-8
1
135
-37
-12
0
0
0
-1
-7
7
-36
18
-3
0
0
0
0
0
-4
10
-40
-2
0
0
12
40
9
30
-32
-36
33
0
0
0
0
-93
-21
56
10
0
0
0
0
-9
-8
-46
-7
23
0
0
0
0
-1
7
-10
16
6
0
0
0
0
16
19
27
-12
12
0
0
0
0
-4
8
3
53
-2
0
0
0
0
-5
3
5
10
0
0
0
0
0
0
14
0
-6
0
0
0
0
0
-3
-4
17
30
-49
0
0
0
0
-17
-14
-27
25
0
0
0
0
0
-3
0
-33
-5
0
0
0
0
0
0
-12
-4
23
0
0
0
0
0
-31
4
-38
-46
0
0
0
0
0
1
-10
-68
26
0
0
0
0
0
0
-2
-4
-44
0
0
0
0
0
-1
-1
-35
65
0
0
0
0
14
-17
-4
-14
66
0
0
0
0
0
1
4
-6
17
0
0
0
0
0
-2
0
-24
73
0
0
0
0
0
0
0
-10
20
0
0
0
0
0
4
-1
1
24
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
-3
10
0
0
0
0
0
0
0
-7
54
0
0
0
0
0
0
2
-5
-1
0
0
0
-16
6
-52
45
39
31
1
24
0
0
0
4
1
-74
46
16
33
0
-66
0
-2
56
-11
67
-35
8
0
0
-25
4
60
-9
-22
-45
7
0
51
0
-6
-23
-58
-42
8
13
0
0
0
0
16
-56
10
5
13
0
-41
0
1
-6
-76
29
26
19
0
0
0
-24
70
38
90
-37
-7
0
55
0
0
-13
-39
-32
0
0
0
0
0
0
-13
-9
21
6
0
0
23
0
0
16
-13
-31
16
0
0
0
0
2
-62
39
40
20
0
0
-5
0
-1
-3
-35
115
2
0
0
0
0
-1
2
-4
85
6
0
0
0
0
0
1
-25
3
32
0
0
0
-2
5
4
-7
23
-16
0
0
92
0
10
-42
5
-66
0
0
0
0
0
1
-2
7
5
0
0
0
8
0
-2
-1
-10
59
0
0
0
0
0
0
-14
6
13
0
0
0
-44
0
0
-15
29
36
0
0
0
0
0
2
-2
-5
46
0
0
0
99
0
0
1
-57
-22
0
0
0
0
0
-5
8
-12
29
0
0
0
1
0
0
0
27
-59
0
0
0
0
0
0
0
-41
87
0
0
0
-24
0
0
1
-14
6
0
0
0
0
0
-8
0
-4
17
0
0
0
1
0
-1
0
-5
19
0
0
0
0
0
0
1
2
-19
0
0
0
-32
0
-2
0
13
5
0
0
0
0
0
-2
4
1
4
0
0
0
0
48
-62
-15
9
77
8
4
0
0
25
18
-27
-40
110
6
-13
0
0
-1
-16
-29
-5
39
-55
24
0
0
4
4
13
11
-47
-17
-5
0
0
1
-5
37
20
13
-7
4
0
0
2
1
-17
8
1
0
12
0
0
0
-3
8
31
5
-2
1
0
0
-36
83
39
0
-1
-26
23
0
0
0
9
-6
-40
11
-11
0
0
0
-1
5
74
-29
-3
-6
0
0
0
-1
-2
-8
41
-16
12
0
0
0
4
-10
-17
6
71
28
0
0
0
0
-3
-3
22
-9
-13
0
0
0
11
-25
-20
3
46
9
0
0
0
0
0
2
-1
11
-11
0
0
0
26
-11
0
0
18
-67
0
0
0
-1
-20
19
-36
55
0
0
0
0
0
-4
4
0
-28
0
0
0
0
0
-1
14
14
-31
0
0
0
0
-2
9
25
6
15
0
0
0
0
0
1
8
-40
31
0
0
0
0
-1
10
5
-21
0
0
0
0
0
-3
7
-1
-2
-28
0
0
0
0
1
-14
8
-6
14
0
0
0
0
0
1
1
4
-2
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
3
-1
9
0
0
0
0
0
10
0
1
-15
0
0
0
0
0
1
1
-5
-9
0
0
0
0
1
-3
0
2
-4
0
0
0
0
0
0
-4
-1
-9
0
0
0
0
7
-4
3
-7
10
0
0
20
-24
17
-31
28
41
1
-12
0
0
0
-9
-12
25
45
-22
-2
0
0
-28
0
-38
27
-48
39
22
0
0
0
1
0
-29
18
-5
15
0
-54
7
0
-15
15
13
58
13
0
0
0
1
-8
-13
-80
45
21
0
0
2
0
0
-6
2
99
15
0
0
0
0
1
7
-10
27
9
0
-24
0
2
3
54
-40
10
7
0
0
0
-7
17
0
-14
26
0
0
0
-3
-1
-29
21
-4
-48
11
0
0
0
0
0
4
-2
39
7
0
9
0
0
1
-74
28
-2
20
0
0
0
2
0
0
-13
13
11
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
-2
-21
21
0
-4
-8
-5
-4
49
-10
47
0
0
0
0
8
4
-15
18
-20
0
0
0
3
0
0
29
11
-12
0
0
0
0
0
-5
0
-18
-22
0
0
-8
3
0
-6
4
-18
11
0
0
0
0
0
1
-4
-41
37
0
0
0
0
0
0
2
28
-21
0
0
0
0
0
1
4
-4
30
0
0
0
0
0
7
4
42
-48
0
0
0
0
0
0
-3
48
-1
0
0
0
1
0
-1
-14
18
40
0
0
0
0
0
0
2
-30
74
0
0
70
0
0
8
-14
-35
13
0
0
0
0
0
1
3
12
6
0
0
0
0
0
0
-3
-2
16
0
0
0
0
0
-1
0
-1
40
0
0
0
0
8
-10
5
-40
37
6
0
0
0
4
28
23
7
26
-28
0
0
0
0
-6
-15
-62
28
26
0
0
0
10
27
68
23
-12
-33
0
0
0
4
-25
43
29
16
7
0
0
0
-2
10
18
-16
38
8
0
0
0
0
-7
5
-20
1
8
0
0
0
-30
33
-7
14
12
2
0
0
0
0
6
-88
51
71
6
0
0
0
0
-5
-14
-29
-16
-4
0
0
0
0
1
-13
-7
26
-10
0
0
0
-3
-2
-21
-8
73
-6
0
0
0
3
6
-7
-30
40
2
0
0
0
-2
0
18
105
-34
-24
0
0
0
0
0
1
4
57
3
0
0
0
3
-6
3
-21
13
6
0
0
0
0
-6
42
-23
13
0
0
0
0
0
3
-14
-42
60
0
0
0
0
0
2
-2
-4
28
0
0
0
0
-2
0
0
-20
12
0
0
0
0
0
0
-4
7
48
0
0
0
0
-1
0
-4
63
-59
0
0
0
0
0
0
1
-16
-8
0
0
0
0
7
3
1
-31
-18
0
0
0
0
1
2
-3
-3
32
0
0
0
0
0
0
0
20
-47
0
0
0
0
4
0
0
-14
1
0
0
0
0
0
-2
-1
1
41
0
0
0
0
0
0
0
13
7
0
0
0
0
1
4
0
-2
-5
0
0
0
0
0
0
2
3
21
0
0
0
0
0
1
0
38
-53
0
0
0
32
51
-24
30
-51
39
-11
0
0
0
-4
-8
-6
-10
90
-42
0
0
-10
4
1
-21
-40
12
62
0
0
0
0
-8
6
-62
43
12
0
0
-33
0
8
16
-13
-16
4
0
0
0
0
3
-18
-31
-30
65
0
0
35
0
12
17
-37
73
-10
0
0
0
9
2
21
14
5
-7
0
0
-2
-5
6
59
2
-46
-12
0
0
0
6
0
-1
-13
-33
23
0
0
53
0
0
-13
-50
34
16
0
0
0
1
-1
-8
-5
-28
2
0
0
-5
0
0
6
-7
77
2
0
0
0
0
0
1
-7
82
8
0
0
-1
0
0
2
5
30
4
0
0
0
1
0
-7
13
-3
27
0
0
-3
-3
-2
52
78
-25
0
0
0
0
2
-1
18
-21
-23
0
0
0
9
0
0
47
30
-59
0
0
0
0
0
2
-13
-27
25
0
0
0
0
0
0
29
-53
13
0
0
0
0
-4
0
-9
-10
14
0
0
0
-15
0
0
0
-65
2
0
0
0
0
3
0
-24
-1
77
0
0
0
0
0
3
-6
15
-5
0
0
0
0
0
1
0
26
52
0
0
0
2
0
0
-3
-48
-6
0
0
0
0
-1
0
1
10
27
0
0
0
-1
0
-2
2
-47
68
0
0
0
0
0
-2
0
-22
42
0
0
0
-21
0
0
-1
-43
32
0
0
0
0
1
1
2
-18
5
0
0
0
0
-30
49
39
-62
-1
-3
0
0
0
-10
-15
-11
76
47
-26
0
0
0
0
-1
52
-23
-12
30
0
0
0
69
16
-26
11
77
-120
0
0
0
-1
-31
30
39
37
-17
0
0
0
-3
34
-27
-33
58
-24
0
0
0
0
25
-9
1
-44
9
0
0
0
-53
21
19
45
32
16
0
0
0
0
-4
-9
-20
16
6
0
0
0
-6
-8
15
8
26
-9
0
0
0
-2
2
-9
-58
39
8
0
0
0
8
29
9
8
-13
-34
0
0
0
0
-1
0
-30
50
30
0
0
0
5
4
2
-3
80
-41
0
0
0
0
9
0
3
-5
-1
0
0
0
18
-34
-2
-3
1
0
0
0
0
1
-1
39
20
0
0
0
0
0
0
0
21
25
-14
0
0
0
0
0
0
13
-43
48
0
0
0
0
0
1
60
10
-19
0
0
0
0
0
0
-4
-29
48
0
0
0
0
1
-3
-6
22
-45
0
0
0
0
0
4
2
-4
-14
0
0
0
0
47
4
3
-17
-33
0
0
0
0
0
-3
1
9
-8
0
0
0
0
5
0
-5
15
29
0
0
0
0
0
-1
-1
10
37
0
0
0
0
-3
0
2
-13
47
0
0
0
0
0
1
0
-8
-8
0
0
0
0
0
-2
0
15
41
0
0
0
0
0
-2
-4
1
88
0
0
0
0
-45
-3
0
3
58
0
0
37
30
7
23
12
-106
21
-32
0
0
0
1
-5
10
2
75
-45
0
0
-24
0
0
-40
-22
67
13
0
0
0
0
0
-1
-52
59
18
0
52
-5
-1
-1
-59
-94
15
9
0
0
0
1
2
9
-14
25
-13
0
0
-22
0
4
-29
54
-5
13
0
0
0
1
0
-1
2
78
12
0
-7
-2
0
-17
49
10
-43
10
0
0
0
0
0
-19
-16
-58
25
0
0
2
0
0
0
-25
20
18
0
0
0
0
0
0
15
25
18
0
65
0
0
0
-3
-1
59
19
0
0
0
0
-2
-1
-10
58
17
0
0
4
0
0
2
-3
48
1
0
0
0
0
-1
0
6
34
15
0
-20
0
0
0
34
7
1
0
0
0
0
0
0
-1
-4
-1
0
0
0
7
0
-3
1
82
12
0
0
0
0
0
0
0
-5
46
0
0
-4
3
0
0
11
-9
33
0
0
0
0
-2
0
8
-71
48
0
0
0
-3
0
0
4
39
-1
0
0
0
0
0
0
0
-13
5
0
0
1
0
0
-2
-13
15
30
0
0
0
0
0
0
8
-2
8
0
0
0
2
0
0
0
18
40
0
0
0
0
0
0
1
6
-5
0
0
-3
0
0
0
-3
5
18
0
0
0
0
0
-3
8
-23
61
0
0
0
4
0
0
-1
-4
-31
0
0
0
0
0
0
-5
-2
-23
0
0
0
0
-3
26
25
1
-21
-9
0
0
0
1
4
-5
2
47
-63
0
0
0
-5
7
-8
-44
59
1
0
0
0
-3
-17
3
45
2
-9
0
0
0
0
6
1
-42
9
14
0
0
0
3
-33
13
44
-81
2
0
0
0
0
-1
0
-28
32
17
0
0
0
5
-7
0
15
-23
-27
0
0
0
2
8
30
17
8
-12
0
0
0
2
4
-1
0
70
-30
0
0
0
0
1
1
-2
2
10
0
0
0
2
-7
-5
-6
0
-2
0
0
0
0
-3
7
-29
6
-6
0
0
0
2
6
21
-9
-6
12
0
0
0
0
-2
-7
3
1
8
0
0
0
3
3
-4
8
33
9
0
0
0
0
0
-11
7
-7
0
0
0
0
0
5
14
-68
-2
0
0
0
0
0
0
5
5
14
0
0
0
0
-1
-2
-17
-2
46
0
0
0
0
0
6
-15
-11
41
0
0
0
0
0
-2
5
27
20
0
0
0
0
0
0
0
-15
10
0
0
0
0
-1
2
4
13
-46
0
0
0
0
0
5
-5
-61
53
0
0
0
0
0
0
-3
8
38
0
0
0
0
0
0
3
2
46
0
0
0
0
-1
5
3
-7
21
0
0
0
0
0
0
0
-5
60
0
0
0
0
0
-8
-2
13
32
0
0
0
0
0
0
0
18
34
0
0
0
0
0
0
0
4
-30
0
0
0
58
22
-19
59
-78
-37
14
0
0
0
0
0
-10
8
14
5
0
0
75
0
3
-17
-23
24
53
0
0
0
-2
0
15
-4
20
10
0
0
30
-3
-2
10
15
-24
25
0
0
0
0
0
0
-20
-25
18
0
0
-10
0
1
5
-45
19
14
0
0
0
3
-2
-7
2
-40
62
0
0
2
0
2
-4
25
28
-11
0
0
0
0
-2
0
-4
11
9
0
0
-4
0
-1
-4
-24
67
20
0
0
0
1
-1
-1
0
11
-7
0
0
0
0
0
2
-8
60
-27
0
0
0
0
0
-4
5
4
19
0
0
16
0
0
1
3
21
12
0
0
0
-8
0
0
-7
-4
5
0
0
13
0
1
0
-30
-11
0
0
0
0
-1
2
25
60
-58
0
0
0
-54
0
0
2
-2
-24
0
0
0
0
0
3
2
1
42
0
0
0
-9
0
-4
8
14
15
0
0
0
0
0
0
0
13
-25
0
0
0
-8
0
0
2
-13
49
0
0
0
0
6
0
6
0
2
0
0
0
0
0
0
-1
-75
29
0
0
0
0
2
0
-1
-19
22
0
0
0
-23
0
0
-1
0
9
0
0
0
0
-2
-4
-4
7
58
0
0
0
-7
0
2
5
-17
13
0
0
0
0
0
-5
0
0
27
0
0
0
22
0
0
0
-22
-1
0
0
0
0
-1
3
3
4
70
0
0
0
0
-10
-60
35
26
1
21
0
0
0
-5
29
-8
-2
26
-12
0
0
0
-1
0
-1
-13
-7
73
0
0
0
59
-7
-16
2
-23
36
0
0
0
0
-7
-32
22
3
-43
0
0
0
0
-6
2
-19
2
24
0
0
0
1
-3
-2
-1
-10
7
0
0
0
19
-18
-9
0
1
5
0
0
0
0
-2
-6
3
5
-4
0
0
0
6
3
0
0
13
-18
0
0
0
0
0
-6
6
16
11
0
0
0
-4
2
0
0
-29
32
0
0
0
0
2
1
0
16
5
0
0
0
-4
3
0
5
0
3
0
0
0
0
1
1
0
38
-16
0
0
0
-9
12
3
0
-4
-34
0
0
0
4
-7
14
-3
8
0
0
0
0
10
0
1
-8
-18
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-8
0
-22
8
5
0
0
0
0
0
2
3
1
17
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
3
3
0
0
0
0
-4
-2
-15
5
17
0
0
0
0
0
0
-1
-6
48
0
0
0
0
0
0
-3
-5
46
0
0
0
0
0
1
0
-32
48
0
0
0
0
-7
-4
3
-2
24
0
0
0
0
0
0
-2
0
12
0
0
0
0
0
6
0
-3
12
0
0
0
0
0
0
0
0
3
0
0
0
0
25
-2
6
-4
1
0
0
62
0
-55
-47
6
14
-12
0
0
0
0
1
-2
-28
-61
-3
0
0
0
-7
-3
16
59
-28
11
0
0
0
0
2
-27
-60
-6
63
0
0
-58
61
0
3
43
-9
-18
0
0
0
0
7
-7
-77
33
-1
0
0
0
9
0
0
-17
16
43
0
0
0
0
-1
1
-38
-26
61
0
0
-3
0
14
9
77
-76
19
0
0
0
0
0
-3
1
38
40
0
0
0
-3
0
0
-18
67
-6
0
0
0
0
0
0
-1
-19
22
0
0
-28
0
0
-1
-21
-19
85
0
0
0
0
0
0
-16
40
12
0
0
0
0
0
0
-8
-33
93
0
0
0
0
0
3
0
-13
-21
0
0
0
-9
-3
2
53
-38
41
0
0
0
0
0
1
29
43
-36
0
0
0
-3
0
-3
-20
24
65
0
0
0
0
0
0
0
-26
25
0
0
28
-13
0
8
7
-2
43
0
0
0
0
0
0
5
-28
-10
0
0
0
0
0
0
-8
-22
67
0
0
0
0
0
0
0
-24
16
0
0
0
0
0
4
14
39
16
0
0
0
0
0
1
3
-7
36
0
0
0
-3
0
3
16
-52
55
0
0
0
0
0
0
0
-57
37
0
0
30
0
0
0
-6
-43
-4
0
0
0
0
0
0
1
-77
16
0
0
0
0
0
0
4
-59
-11
0
0
0
0
0
0
-8
-15
-51
0
0
0
0
34
-30
42
46
-28
0
0
0
0
-6
3
-5
96
-25
0
0
0
0
-1
1
21
-70
-1
0
0
0
0
1
-1
-8
85
0
0
0
0
0
0
-14
74
-45
4
0
0
0
0
-8
3
18
-103
16
0
0
0
0
0
-8
9
1
7
0
0
0
0
7
30
5
-54
13
0
0
0
0
0
-12
2
26
10
0
0
0
0
0
0
1
-34
42
0
0
0
0
0
2
5
-49
21
0
0
0
0
0
-4
-2
20
46
0
0
0
0
0
-5
17
-26
-15
0
0
0
0
0
0
0
4
30
0
0
0
0
0
0
0
-4
-24
0
0
0
0
0
0
-2
1
39
0
0
0
0
1
51
-8
-38
22
0
0
0
0
2
-4
9
12
6
0
0
0
0
0
0
29
-24
-15
0
0
0
0
0
0
-3
-26
39
0
0
0
0
0
-2
21
-10
-20
0
0
0
0
0
2
8
-17
19
0
0
0
0
0
0
0
24
-19
0
0
0
0
0
0
1
-21
30
0
0
0
0
-1
0
-9
6
43
0
0
0
0
0
0
-4
15
11
0
0
0
0
0
0
1
31
28
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-40
28
0
0
0
0
0
0
-1
-62
-1
0
0
0
0
0
0
0
-23
38
0
0
0
0
0
0
0
-45
54
0
0
0
54
-8
27
-94
58
-44
0
0
0
0
0
15
27
-24
14
0
0
0
-20
0
0
-11
-42
48
0
0
0
0
2
14
10
-4
-8
0
0
0
3
0
-8
-17
-19
15
0
0
0
0
-1
0
45
21
48
0
0
0
10
0
-2
16
-6
24
0
0
0
0
0
4
23
-74
-12
0
0
0
0
0
-1
19
27
-19
0
0
0
0
0
0
-9
15
24
0
0
0
18
0
0
16
-107
13
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
-75
49
48
0
0
0
0
0
0
17
-37
67
0
0
0
-28
0
0
38
6
-6
0
0
0
0
1
1
-5
-5
25
0
0
0
1
0
-4
-30
-69
39
0
0
0
0
0
-1
-5
-57
67
0
0
0
3
0
-2
-5
-32
28
0
0
0
0
0
1
3
14
-14
0
0
0
5
0
0
-17
-3
63
0
0
0
0
0
0
-4
11
10
0
0
0
58
0
1
2
-83
38
0
0
0
0
0
0
0
10
25
0
0
0
-3
0
-8
5
-55
34
0
0
0
0
0
0
-1
-20
67
0
0
0
-16
0
5
40
12
-10
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
3
-58
23
0
0
0
0
0
0
0
-30
25
0
0
0
31
0
0
-4
-21
2
0
0
0
0
0
0
0
-5
9
0
0
0
0
-14
10
-15
0
17
0
0
0
0
-13
22
-39
-2
32
0
0
0
0
3
-2
82
-61
14
0
0
0
0
34
-12
-6
-6
40
0
0
0
0
-3
-6
43
-81
58
0
0
0
0
12
-23
-30
-39
61
0
0
0
0
0
1
-10
14
9
0
0
0
0
-24
22
-5
-8
87
0
0
0
0
1
1
-18
-55
81
0
0
0
0
-1
0
-2
-7
-24
0
0
0
0
0
-1
3
50
8
0
0
0
0
-2
-5
-18
23
45
0
0
0
0
-1
-3
6
27
-15
0
0
0
0
-18
2
0
13
-57
0
0
0
0
0
0
12
2
-64
0
0
0
0
44
-2
-1
5
31
0
0
0
0
1
-6
6
-76
32
0
0
0
0
0
1
23
-79
26
0
0
0
0
0
0
-8
-11
-4
0
0
0
0
0
-1
-5
39
12
0
0
0
0
0
0
-4
25
-11
0
0
0
0
16
3
-5
2
-24
0
0
0
0
0
0
-1
27
28
0
0
0
0
-5
0
8
21
28
0
0
0
0
0
-4
1
-53
29
0
0
0
0
-1
-3
0
17
-7
0
0
0
0
0
0
0
10
52
0
0
0
0
0
-1
0
-25
-25
0
0
0
0
0
0
0
-41
56
0
0
0
0
-1
0
0
-15
17
0
0
0
0
0
0
-2
-8
55
0
0
0
0
6
0
0
7
5
0
0
-1
-39
0
-24
-36
10
16
0
0
0
0
0
4
2
-7
16
0
0
0
73
0
0
67
-52
-9
0
0
0
0
0
1
-6
44
-59
0
0
-4
3
0
27
-50
0
45
0
0
0
0
0
-16
1
-49
53
0
0
0
-14
0
0
-36
21
76
0
0
0
0
0
2
-2
-10
82
0
0
15
0
-6
17
-23
53
-27
0
0
0
0
-1
-1
16
31
-4
0
0
0
1
0
0
13
-4
13
0
0
0
0
0
-1
-2
-4
78
0
0
19
0
0
0
28
37
-2
0
0
0
0
0
-3
1
12
22
0
0
0
-4
0
0
9
18
28
0
0
0
0
0
0
-1
1
14
0
0
0
-5
0
-2
2
-23
43
0
0
0
0
0
2
2
-82
37
0
0
0
1
0
0
12
-130
101
0
0
0
0
0
-2
-2
39
64
0
0
-19
-6
0
8
-1
14
24
0
0
0
0
0
-3
3
43
-35
0
0
0
-1
0
0
0
-11
-30
0
0
0
0
0
0
8
-17
33
0
0
36
0
0
5
-29
-40
17
0
0
0
0
0
5
1
19
-33
0
0
0
10
0
-5
-1
-43
15
0
0
0
0
0
0
0
-15
51
0
0
-4
0
0
-1
10
-125
32
0
0
0
0
0
0
1
-30
20
0
0
0
-5
0
0
0
44
38
0
0
0
0
0
0
0
27
-16
0
0
0
0
-13
36
40
-48
19
0
0
0
0
5
10
-22
-125
56
0
0
0
0
-6
-9
13
27
27
0
0
0
0
-4
-3
5
52
42
0
0
0
0
0
5
4
-9
7
0
0
0
0
0
15
20
-54
-54
0
0
0
0
0
2
-1
-7
45
0
0
0
0
0
32
0
5
42
0
0
0
0
0
-13
-2
-51
31
0
0
0
0
4
-5
-1
-24
63
0
0
0
0
0
0
0
29
10
0
0
0
0
0
-32
4
-32
45
0
0
0
0
0
0
-24
1
20
0
0
0
0
1
-1
1
-16
59
0
0
0
0
0
0
-4
-4
13
0
0
0
0
0
6
6
-15
-11
0
0
0
0
0
13
-8
19
-19
0
0
0
0
1
-5
-1
-33
36
0
0
0
0
0
1
0
-32
28
0
0
0
0
0
-6
0
-10
11
0
0
0
0
0
-2
0
50
-46
0
0
0
0
0
0
-2
-25
-4
0
0
0
0
0
0
-5
-4
-63
0
0
0
0
0
0
0
-48
40
0
0
0
0
1
0
4
15
19
0
0
0
0
0
-2
0
-16
74
0
0
0
0
0
0
0
-36
23
0
0
0
0
0
0
-7
-8
37
0
0
0
0
0
0
0
-18
25
0
0
0
0
0
1
2
49
-37
0
0
0
0
0
0
0
-42
42
0
0
0
0
1
0
-2
-43
29
0
0
0
73
-4
-6
-37
18
37
0
0
0
0
0
-1
33
-47
0
0
0
0
21
0
2
-8
-58
46
0
0
0
0
0
-1
5
13
-5
0
0
0
26
0
-17
-17
40
48
0
0
0
0
0
0
15
47
-67
0
0
0
-31
0
0
23
-29
-2
0
0
0
0
0
1
38
-17
-20
0
0
0
-5
0
-1
28
16
38
0
0
0
0
0
5
6
3
33
0
0
0
0
0
0
-2
-43
35
0
0
0
0
0
1
2
-8
80
0
0
0
1
0
-1
-12
-16
-15
0
0
0
0
0
-1
0
1
43
0
0
0
-37
0
0
3
-7
2
0
0
0
0
0
-2
0
0
20
0
0
0
-1
0
-1
-22
48
13
0
0
0
0
0
2
0
-56
78
0
0
0
-5
0
1
-5
21
1
0
0
0
0
0
-4
-1
-13
66
0
0
0
7
0
-1
-17
28
-18
0
0
0
0
0
0
0
-13
-13
0
0
0
2
0
0
1
-44
-10
0
0
0
0
0
7
1
4
24
0
0
0
0
0
4
12
-25
21
0
0
0
0
0
0
0
36
28
0
0
0
47
0
0
0
-9
0
0
0
0
0
0
0
1
4
-25
0
0
0
-2
0
0
1
7
-18
0
0
0
0
0
1
-5
7
-6
0
0
0
8
0
0
1
15
63
0
0
0
0
0
-1
4
23
6
0
0
0
0
0
5
32
-98
39
0
0
0
0
1
29
15
-22
2
0
0
0
0
-1
-1
2
-5
18
0
0
0
0
-13
-3
1
-25
41
0
0
0
0
0
0
20
10
-82
0
0
0
0
0
-1
8
3
5
0
0
0
0
0
1
8
3
-31
0
0
0
0
24
-8
24
1
-15
0
0
0
0
0
-5
2
-13
24
0
0
0
0
-3
2
-2
46
5
0
0
0
0
6
0
-1
-5
43
0
0
0
0
-5
-9
3
9
-18
0
0
0
0
0
3
-1
-17
74
0
0
0
0
5
-3
-3
14
-4
0
0
0
0
0
0
0
8
5
0
0
0
0
5
5
0
2
-20
0
0
0
0
-1
10
-3
-38
41
0
0
0
0
0
-7
0
-12
29
0
0
0
0
0
0
0
-6
34
0
0
0
0
-4
-2
-2
62
-28
0
0
0
0
0
1
0
-15
7
0
0
0
0
1
-3
7
-3
40
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
18
-1
4
-31
0
0
0
0
0
-3
0
1
3
0
0
0
0
0
0
0
6
-23
0
0
0
0
-3
0
-3
8
65
0
0
0
0
0
-3
0
5
50
0
0
0
0
0
0
-3
15
21
0
0
0
0
-2
3
1
19
13
0
0
0
0
0
-1
0
5
44
0
0
0
0
-5
1
0
18
14
0
0
35
-20
-2
-7
58
13
-1
0
0
0
0
-4
-2
1
-4
9
0
0
0
0
1
-4
-23
-28
61
0
0
0
0
0
0
0
-46
-9
0
0
-32
0
0
-12
14
51
42
0
0
0
0
3
-2
-2
-7
18
0
0
0
0
0
0
4
33
21
0
0
0
0
0
0
0
-10
5
0
0
35
0
-2
6
-16
-7
12
0
0
0
0
0
1
1
-2
10
0
0
0
-4
0
3
6
-38
30
0
0
0
0
0
0
0
-5
67
0
0
30
7
0
1
41
-73
-26
0
0
0
0
0
0
-2
-21
64
0
0
0
0
0
0
4
15
-18
0
0
0
0
0
2
-2
15
11
0
0
0
-1
-8
-3
21
-37
38
0
0
0
0
0
1
-3
19
38
0
0
0
28
0
-1
23
50
-5
0
0
0
0
0
4
-3
-49
44
0
0
2
-2
0
0
37
-27
27
0
0
0
0
0
-10
-3
2
40
0
0
0
0
0
0
1
-44
21
0
0
0
0
0
0
0
27
-12
0
0
0
0
1
-6
-46
21
43
0
0
0
0
0
0
-5
7
-6
0
0
0
2
0
2
-1
18
5
0
0
0
0
0
0
0
-34
18
0
0
22
-2
0
0
5
49
-3
0
0
0
0
-1
-1
0
-52
19
0
0
0
-4
0
0
-2
-1
22
0
0
0
0
0
0
0
-40
30
0
0
0
0
7
12
2
14
-35
0
0
0
0
-4
7
10
-73
64
0
0
0
0
1
0
6
-28
48
0
0
0
0
0
5
-6
-26
-5
0
0
0
0
0
-13
-5
34
40
0
0
0
0
-3
-2
-4
18
74
0
0
0
0
0
0
0
-31
27
0
0
0
0
-6
0
-2
-1
44
0
0
0
0
0
1
10
-42
56
0
0
0
0
0
3
2
-17
75
0
0
0
0
-2
-1
8
30
-25
0
0
0
0
0
9
-1
-47
-3
0
0
0
0
0
2
-5
-70
10
0
0
0
0
0
-1
4
-19
8
0
0
0
0
0
0
0
12
-17
0
0
0
0
-1
0
0
6
-36
0
0
0
0
0
7
18
-2
12
0
0
0
0
3
-1
6
-18
19
0
0
0
0
1
-3
-7
-35
46
0
0
0
0
0
0
-1
24
16
0
0
0
0
0
5
16
31
18
0
0
0
0
0
0
-1
5
41
0
0
0
0
0
0
0
20
-23
0
0
0
0
-53
0
0
-7
116
0
0
0
0
-1
0
-36
-11
9
0
0
0
0
-1
-5
8
-38
26
0
0
0
0
1
0
1
-49
74
0
0
0
0
0
0
1
-41
30
0
0
0
0
0
0
1
-5
19
0
0
0
0
0
0
6
-70
23
0
0
0
0
0
0
2
-18
1
0
0
0
0
-2
0
-2
16
-22
0
0
0
15
8
24
-14
-81
39
0
0
0
0
-2
0
-8
-8
6
0
0
0
36
1
1
-49
31
42
0
0
0
0
-6
6
17
-59
29
0
0
0
-29
0
-1
2
-35
15
0
0
0
0
0
2
-7
-15
-9
0
0
0
-4
0
0
-13
-82
101
0
0
0
0
0
0
2
-14
3
0
0
0
0
0
-1
-8
23
-27
0
0
0
0
0
0
13
-24
59
0
0
0
12
0
0
5
-32
53
0
0
0
0
4
0
-8
-1
-32
0
0
0
10
0
1
25
10
-8
0
0
0
0
0
0
4
-1
-8
0
0
0
13
0
0
2
13
-9
0
0
0
0
-2
0
12
0
-36
0
0
0
0
3
0
-37
5
40
0
0
0
0
-1
0
-8
32
70
0
0
0
1
0
0
-48
-30
39
0
0
0
0
1
0
-1
-10
15
0
0
0
1
0
-5
3
11
37
0
0
0
0
0
0
10
21
4
0
0
0
1
0
0
0
-1
-19
0
0
0
0
6
4
-2
-5
20
0
0
0
-1
4
6
-29
24
34
0
0
0
0
0
0
0
-47
27
0
0
0
34
0
0
5
-9
-83
0
0
0
0
46
0
0
-7
21
0
0
0
-39
0
0
-3
33
13
0
0
0
0
1
0
0
-72
60
0
0
0
36
-3
0
-14
10
-19
0
0
0
0
-3
0
4
-1
26
0
0
0
0
-14
30
0
-68
25
0
0
0
0
-1
-1
10
-52
61
0
0
0
0
0
-2
-1
-24
100
0
0
0
0
-15
4
-8
26
13
0
0
0
0
2
1
-6
-82
57
0
0
0
0
2
-28
10
-14
-40
0
0
0
0
0
5
0
11
18
0
0
0
0
7
-7
-5
35
16
0
0
0
0
0
0
7
-28
39
0
0
0
0
0
0
-2
43
10
0
0
0
0
-1
0
18
1
-26
0
0
0
0
25
2
-13
-2
-15
0
0
0
0
0
0
22
47
-49
0
0
0
0
2
2
-3
6
27
0
0
0
0
0
0
-5
3
33
0
0
0
0
2
14
3
10
41
0
0
0
0
0
0
41
-103
72
0
0
0
0
4
0
1
-15
34
0
0
0
0
0
0
13
-25
-20
0
0
0
0
2
0
6
46
28
0
0
0
0
0
0
-8
19
68
0
0
0
0
-1
3
12
-14
52
0
0
0
0
0
0
0
14
-53
0
0
0
0
9
0
3
-5
74
0
0
0
0
0
0
-6
-15
-8
0
0
0
0
-1
1
0
-118
75
0
0
0
0
0
0
0
17
-22
0
0
0
0
-5
0
-10
15
9
0
0
0
0
0
0
0
-28
18
0
0
0
0
1
2
-10
28
-65
0
0
0
0
0
0
0
0
81
0
0
0
0
-49
0
8
-1
8
0
0
-42
-2
-1
50
19
27
15
0
0
0
0
-2
-1
24
-15
-6
0
0
0
1
0
0
-8
-17
6
0
0
0
0
0
0
-1
-22
23
0
0
-37
-4
0
0
3
3
14
0
0
0
0
0
5
0
4
46
0
0
0
17
0
0
0
39
30
0
0
0
0
0
2
0
2
43
0
0
-52
0
0
4
-5
11
3
0
0
0
0
0
0
0
24
72
0
0
0
0
0
0
0
-17
-55
0
0
0
0
0
0
-1
-6
72
0
0
-1
0
0
0
2
-49
15
0
0
0
0
0
3
0
-8
24
0
0
0
-3
0
0
-3
13
31
0
0
0
0
0
-4
0
-1
-22
0
0
3
-1
0
1
25
41
-19
0
0
0
0
0
0
3
-37
-4
0
0
0
-20
0
0
-2
-15
35
0
0
0
0
0
0
2
-12
30
0
0
72
-12
0
-8
16
-79
32
0
0
0
0
0
-2
3
-16
33
0
0
0
3
0
0
0
15
-6
0
0
0
0
0
0
0
2
7
0
0
19
0
0
1
5
-48
2
0
0
0
0
0
1
2
-18
18
0
0
0
0
0
0
0
-53
3
0
0
0
0
0
0
0
0
22
0
0
-16
0
0
0
9
8
36
0
0
0
0
-1
0
0
9
14
0
0
0
10
0
0
0
27
18
0
0
0
0
0
2
-1
-20
29
0
0
0
0
0
89
-3
-23
-2
0
0
0
0
1
13
-2
-8
4
0
0
0
0
0
0
1
-6
-9
0
0
0
0
2
-3
0
7
-40
0
0
0
0
2
2
1
-9
-3
0
0
0
0
-4
-8
5
52
6
0
0
0
0
0
8
0
-6
-7
0
0
0
0
8
-28
0
-5
4
0
0
0
0
0
0
2
-17
47
0
0
0
0
2
-6
-3
-15
73
0
0
0
0
0
2
-6
-1
53
0
0
0
0
-2
4
0
-4
49
0
0
0
0
0
4
-4
-3
17
0
0
0
0
2
3
0
-5
-7
0
0
0
0
0
0
0
4
24
0
0
0
0
5
10
-3
-18
24
0
0
0
0
0
-2
2
-135
60
0
0
0
0
0
1
0
-35
55
0
0
0
0
0
-4
3
10
-1
0
0
0
0
0
0
0
-6
-33
0
0
0
0
0
0
8
-85
-10
0
0
0
0
0
0
-4
14
6
0
0
0
0
0
-2
0
-15
70
0
0
0
0
1
4
0
-12
63
0
0
0
0
0
0
14
4
14
0
0
0
0
0
0
0
-56
29
0
0
0
0
0
0
0
-16
20
0
0
0
0
0
0
-4
-6
-57
0
0
0
0
0
2
0
-37
11
0
0
0
0
0
-1
0
-13
45
0
0
0
0
0
0
0
5
29
0
0
0
0
0
0
0
22
-30
0
0
0
30
40
-9
-109
-3
-4
0
0
0
0
0
-5
0
-1
34
0
0
0
-3
-1
0
3
-22
-32
0
0
0
0
3
7
-4
-5
26
0
0
0
-29
0
1
5
-5
41
0
0
0
0
0
1
-1
0
40
0
0
0
-31
0
0
-5
3
-4
0
0
0
0
0
-5
-2
2
7
0
0
0
-4
-2
-1
10
4
40
0
0
0
0
0
0
0
-2
1
0
0
0
15
0
0
-8
0
7
0
0
0
0
0
0
-2
-2
13
0
0
0
0
0
0
7
-5
51
0
0
0
0
0
0
5
3
6
0
0
0
18
0
2
0
-6
75
0
0
0
0
3
0
-1
0
8
0
0
0
1
0
0
-1
-79
48
0
0
0
0
-1
2
-4
-34
72
0
0
0
58
0
0
0
42
-87
0
0
0
0
3
-2
0
4
33
0
0
0
8
0
1
-3
-51
9
0
0
0
0
0
1
-2
27
-19
0
0
0
-26
0
0
0
46
-16
0
0
0
0
0
0
-1
-12
38
0
0
0
4
0
-1
-3
-58
28
0
0
0
0
0
0
-1
14
19
0
0
0
8
0
0
-1
11
-28
0
0
0
0
0
0
0
54
-2
0
0
0
-7
0
0
1
-56
22
0
0
0
0
0
4
-3
4
11
0
0
0
-3
0
0
0
25
26
0
0
0
0
-1
0
-1
5
-31
0
0
0
0
26
-49
56
-57
41
0
0
0
0
3
-3
0
-9
13
0
0
0
0
-1
0
0
-2
-7
0
0
0
0
16
8
1
8
-44
0
0
0
0
0
-3
-1
0
0
0
0
0
0
1
-4
0
-2
3
0
0
0
0
0
0
1
0
5
0
0
0
0
5
-55
-3
0
5
0
0
0
0
-1
2
-8
-48
10
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
22
0
0
0
0
-2
-1
5
3
-6
0
0
0
0
0
2
1
1
3
0
0
0
0
-5
8
0
6
22
0
0
0
0
-2
3
-1
-1
7
0
0
0
0
-38
2
1
0
26
0
0
0
0
0
-1
2
31
3
0
0
0
0
-2
0
0
4
-32
0
0
0
0
0
0
0
-21
41
0
0
0
0
1
0
-1
-13
24
0
0
0
0
0
-1
0
9
73
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
-2
-33
-2
0
0
0
0
-6
9
5
-2
13
0
0
0
0
0
0
3
14
-18
0
0
0
0
0
0
-1
12
-29
0
0
0
0
0
0
-2
-27
-25
0
0
0
0
-6
0
7
-42
53
0
0
0
0
0
0
2
11
23
0
0
0
0
2
1
-1
-14
66
0
0
0
0
-2
0
0
-1
50
0
0
0
0
5
0
-2
-34
84
0
0
-20
70
14
-43
-48
-10
13
15
6
0
0
-7
-16
20
-52
20
-13
-6
0
-39
10
8
-46
-39
59
8
8
0
0
7
28
-1
-21
21
34
3
46
-15
0
-9
-50
1
91
8
11
0
0
0
-36
-24
-114
32
-14
14
0
117
-1
-13
-37
-16
38
-11
9
0
0
1
-17
10
-44
47
-7
4
62
-25
-1
-41
17
32
-8
16
0
0
0
2
45
35
1
28
0
0
0
48
0
5
66
-12
122
-9
0
0
0
-7
-4
43
-33
104
-18
0
-51
3
1
-22
34
-49
14
24
0
0
0
-7
1
-42
-47
46
34
0
0
-12
0
6
20
-44
12
16
0
0
0
3
2
-18
-5
-2
43
0
38
11
-1
-40
-4
4
-55
0
0
0
0
1
-83
-23
2
-26
0
0
0
14
0
1
-30
-73
26
0
0
0
0
0
5
-36
-22
73
0
0
11
-1
0
30
-37
-16
-3
0
0
0
0
0
-12
12
-78
39
0
0
0
-23
0
1
27
-51
71
0
0
0
0
1
-1
1
38
8
0
0
14
7
0
-13
41
-11
-23
0
0
0
0
0
6
19
-23
29
0
0
0
-7
0
5
31
-26
65
0
0
0
0
0
0
-41
0
105
0
0
-52
0
0
9
-13
-12
26
0
0
0
0
0
-1
45
-67
-16
0
0
0
5
0
0
-25
42
12
0
0
0
0
0
-3
2
-3
35
0
0
0
0
-65
25
23
-22
-8
3
-14
0
0
-15
60
-108
-61
19
16
-15
0
0
-9
-71
-35
-23
-26
13
12
0
0
-53
63
25
24
20
-27
-10
0
0
-6
34
3
-47
21
-9
4
0
0
34
-80
-5
-63
-10
2
12
0
0
0
61
54
34
119
-5
-3
0
0
48
24
21
-14
-12
-27
22
0
0
-7
-8
-83
-58
74
15
0
0
0
-8
19
60
-1
52
-6
0
0
0
2
-4
11
-43
41
7
0
0
0
-40
-32
55
-4
25
-5
0
0
0
0
-9
-40
1
6
21
0
0
0
4
-2
-8
23
11
-11
0
0
0
0
0
-29
-39
2
30
0
0
0
-5
-17
36
-5
-29
46
0
0
0
6
-48
-53
-30
12
0
0
0
0
7
-3
40
-7
-19
0
0
0
0
0
2
-114
-29
64
0
0
0
0
16
21
19
-55
-18
0
0
0
0
0
-1
-38
-12
12
0
0
0
0
0
16
-7
-33
28
0
0
0
0
0
0
-3
70
-10
0
0
0
0
16
-4
-12
31
37
0
0
0
0
0
-2
30
-8
3
0
0
0
0
0
-6
19
-95
36
0
0
0
0
0
0
-8
0
35
0
0
0
0
-1
19
-5
8
20
0
0
0
0
0
1
4
-47
32
0
0
0
0
0
13
-4
-90
2
0
0
0
0
0
-6
-17
29
36
0
0
0
0
-17
-26
3
34
-28
0
0
0
6
-14
-32
44
-90
39
-6
7
0
0
50
58
-60
37
18
3
-20
0
-69
0
5
-32
-67
-25
-29
10
0
0
33
-30
6
-60
53
-16
-2
0
47
0
-6
-69
66
5
11
2
0
0
-1
19
-20
19
108
-37
3
0
69
0
-68
10
-25
72
-24
2
0
0
2
25
14
9
64
-25
-18
0
-59
0
8
53
10
7
22
0
0
0
13
22
79
25
6
-10
0
0
-68
1
-5
72
-102
0
10
0
0
0
7
12
-30
42
91
-47
0
0
67
0
3
28
-25
-7
-11
0
0
0
6
8
-3
-6
18
19
0
0
2
0
-23
38
33
-32
-6
0
0
0
-54
-1
47
-3
-2
-19
0
0
-18
4
-47
57
-26
-11
0
0
0
0
-5
-3
68
-72
34
0
0
0
-1
0
2
101
-121
-21
0
0
0
0
-27
-2
45
20
-2
0
0
0
-13
0
0
22
44
5
0
0
0
0
0
-6
-25
-30
61
0
0
0
67
0
0
-14
-30
0
0
0
0
0
-2
-8
15
-46
-11
0
0
0
1
0
-3
42
-38
-15
0
0
0
0
3
-2
-75
86
59
0
0
0
46
-1
-1
-11
-39
15
0
0
0
0
1
0
-24
3
49
0
0
0
20
0
-2
8
-7
-45
0
0
0
0
0
0
-14
8
10
0
0
0
-16
0
0
-6
7
7
0
0
0
0
0
0
4
-13
21
0
0
0
0
21
-51
9
-34
44
28
-14
0
0
-16
-18
16
-7
27
-32
40
0
0
-35
-2
9
36
-45
-15
17
0
0
23
-52
5
-34
45
19
5
0
0
-1
21
2
-15
-2
42
3
0
0
-7
-18
1
-48
31
22
-17
0
0
16
-42
9
-52
80
7
2
0
0
5
16
85
-24
-47
65
-23
0
0
-2
-35
30
27
132
-9
0
0
0
15
-2
-16
-53
57
26
0
0
0
-28
-34
41
11
25
5
0
0
0
61
49
-1
26
-46
-20
0
0
0
0
5
20
36
35
-33
0
0
0
15
19
42
-11
98
-68
0
0
0
-14
3
-7
30
29
-7
0
0
0
11
-45
17
6
-32
-8
0
0
0
-7
20
9
-15
11
0
0
0
0
1
2
2
12
-31
0
0
0
0
5
5
24
42
-46
0
0
0
0
-44
-84
-23
19
84
0
0
0
0
0
4
-34
-10
58
0
0
0
0
4
24
-40
27
-49
0
0
0
0
-2
6
17
1
-26
0
0
0
0
-36
-6
-41
-6
20
0
0
0
0
0
-2
-15
6
75
0
0
0
0
5
12
0
-33
-40
0
0
0
0
0
3
9
14
37
0
0
0
0
-9
-13
44
38
-28
0
0
0
0
0
2
-6
8
95
0
0
0
0
0
-1
2
-12
60
0
0
0
0
3
2
-25
32
-27
0
0
0
0
-14
7
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
12
-62
13
-61
-8
4
10
0
0
0
2
-21
16
-42
-4
2
0
0
-16
9
-26
11
-11
26
3
0
0
0
0
64
-10
-7
9
-23
0
2
86
0
-55
-49
39
5
4
0
0
0
0
-6
-28
-3
40
-1
0
0
-35
0
-14
-93
2
-6
15
0
0
0
0
3
-45
14
39
14
0
-3
4
2
-1
21
-19
89
1
0
0
0
13
43
-17
3
-7
-2
0
0
-40
0
8
29
-2
-22
13
0
0
0
-2
-8
-5
21
5
36
0
52
2
-2
23
-83
-46
42
-3
0
0
0
0
0
67
42
-52
-8
0
0
127
0
1
-10
61
-51
-10
0
0
0
2
0
9
-25
20
16
0
62
3
-4
-49
-20
-17
29
0
0
0
0
-3
-4
-29
35
-10
0
0
0
-7
2
-28
-55
14
47
0
0
0
0
0
-4
28
24
-18
0
0
-3
-8
-1
2
36
-43
48
0
0
0
0
3
9
43
-34
4
0
0
0
6
0
-4
16
5
11
0
0
0
0
0
1
67
-2
-14
0
0
-36
49
-1
-16
42
23
8
0
0
0
0
2
17
-30
2
34
0
0
0
20
0
-5
6
-42
4
0
0
0
0
0
-8
-27
-53
57
0
0
-65
4
0
29
0
-40
-17
0
0
0
0
0
28
-23
-29
-32
0
0
0
-28
0
-1
-21
20
38
0
0
0
0
-1
0
-4
-29
8
0
0
0
0
-28
-17
-116
7
77
-9
0
0
0
23
28
16
-57
5
-4
0
0
0
7
13
17
-69
-43
40
0
0
0
-11
-64
-6
10
7
12
0
0
0
0
0
-10
-18
4
-13
0
0
0
13
-5
54
-72
-29
-6
0
0
0
0
15
4
-124
53
25
0
0
0
-6
-21
-35
20
22
21
0
0
0
-1
-11
16
-24
7
-6
0
0
0
-11
-56
-20
-45
44
-9
0
0
0
0
1
12
58
52
6
0
0
0
-39
3
14
-14
12
21
0
0
0
2
24
-42
2
7
-12
0
0
0
32
3
18
-1
-28
-6
0
0
0
0
-7
53
12
20
28
0
0
0
12
-5
13
7
-22
16
0
0
0
-1
25
13
-58
-4
0
0
0
0
22
0
51
-87
10
0
0
0
0
0
-21
-39
36
26
0
0
0
0
39
-31
30
4
-34
0
0
0
0
0
-10
32
-23
20
0
0
0
0
-1
16
23
-63
20
0
0
0
0
0
-13
16
62
0
0
0
0
0
3
-14
1
20
50
0
0
0
0
0
-16
8
-29
43
0
0
0
0
35
12
5
-27
20
0
0
0
0
-1
3
-6
-3
61
0
0
0
0
58
-14
2
-9
-17
0
0
0
0
0
1
22
1
33
0
0
0
0
-1
-40
3
11
42
0
0
0
0
0
-1
-44
-21
84
0
0
0
0
-32
-5
48
-23
55
0
0
0
-47
-40
-12
100
7
18
-14
0
0
0
-102
13
-54
60
20
-1
0
0
-3
13
-1
67
-74
-24
2
0
0
0
-30
-27
-8
-15
54
58
0
0
-49
0
-8
21
-8
47
16
0
0
0
10
20
9
-40
31
-8
0
0
23
0
-9
-14
20
-27
-3
0
0
0
22
-6
90
-33
-29
3
0
0
45
5
25
-20
-70
93
-11
0
0
0
1
-38
24
-31
31
-3
0
0
15
-3
0
-21
-10
26
3
0
0
0
11
-3
-14
2
16
0
0
0
-55
-2
-10
-49
-47
6
19
0
0
0
0
-24
-10
24
83
7
0
0
27
1
-2
48
-49
63
-1
0
0
0
96
2
-68
5
86
1
0
0
40
4
34
-9
-100
-16
0
0
0
0
-4
-3
60
-49
6
0
0
0
23
0
0
-67
-30
8
0
0
0
0
4
-2
39
-6
-2
0
0
0
-27
-3
22
69
-4
-8
0
0
0
0
2
48
-18
10
5
0
0
0
-97
0
12
128
11
2
0
0
0
0
2
-9
51
-3
47
0
0
0
-5
-1
-38
12
44
10
0
0
0
0
0
23
-17
25
15
0
0
0
27
6
8
-6
-38
-41
0
0
0
0
-15
-8
17
-24
66
0
0
0
73
0
8
1
56
-98
0
0
0
0
0
7
-11
-51
82
0
0
0
-48
-2
5
50
-3
-48
0
0
0
0
-11
-14
13
10
29
0
0
0
0
-30
36
8
-73
19
15
0
0
0
32
3
-22
-12
-12
-28
0
0
0
39
63
1
-24
-11
-15
0
0
0
-69
36
-29
-25
68
15
0
0
0
-1
8
7
35
45
-18
0
0
0
-3
-45
81
-52
48
26
0
0
0
-8
-23
88
-45
22
-2
0
0
0
16
-28
-47
8
45
25
0
0
0
-3
-34
17
39
48
-12
0
0
0
5
20
21
-47
-7
17
0
0
0
64
5
-28
-63
34
25
0
0
0
-5
50
75
4
-13
-15
0
0
0
1
-10
-40
-15
38
46
0
0
0
18
14
13
-21
23
-3
0
0
0
-3
-15
86
-32
15
-18
0
0
0
-46
-1
-57
13
50
29
0
0
0
7
26
-3
-35
12
0
0
0
0
0
15
-2
44
2
0
0
0
0
-1
-1
19
-49
81
0
0
0
0
72
-107
14
-9
-9
0
0
0
0
0
25
-9
-12
6
0
0
0
0
14
29
34
-58
-1
0
0
0
0
0
-6
55
19
16
0
0
0
0
23
-10
7
42
-44
0
0
0
0
-5
-22
45
-5
-9
0
0
0
0
5
-9
12
4
16
0
0
0
0
47
23
-50
3
15
0
0
0
0
15
0
46
-66
22
0
0
0
0
0
-4
1
11
-6
0
0
0
0
57
-42
-17
-8
-15
0
0
0
0
24
13
-25
-18
30
0
0
0
0
-18
-57
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-26
9
8
23
-24
-5
0
0
0
0
-2
-27
-1
-12
-4
0
0
0
54
0
19
-17
-103
22
0
0
0
0
-1
-3
55
-41
1
0
0
14
41
0
27
-35
0
17
0
0
0
0
0
-6
-25
-79
36
0
0
0
-23
0
-7
-11
-60
61
0
0
0
0
-1
19
7
46
4
0
0
-22
1
1
3
39
3
-11
0
0
0
0
-3
2
-2
52
-29
0
0
0
13
2
2
25
-49
15
0
0
0
0
0
-1
57
-67
3
0
0
32
19
0
-10
-22
-64
12
0
0
0
0
0
10
-22
12
8
0
0
0
-84
0
1
-5
-66
83
0
0
0
0
3
0
-4
-32
83
0
0
-44
-2
-2
-52
12
-1
-6
0
0
0
0
0
23
8
-82
-15
0
0
0
55
0
-2
20
-70
-18
0
0
0
0
0
0
-5
-43
14
0
0
33
-1
0
6
-23
-26
24
0
0
0
0
0
-5
8
-75
83
0
0
0
26
0
-2
16
-36
29
0
0
0
0
-1
2
-8
41
7
0
0
36
1
0
-7
39
30
-6
0
0
0
0
0
-2
1
-96
40
0
0
0
23
0
0
-68
8
7
0
0
0
0
0
0
-1
51
6
0
0
-5
-17
0
0
-19
-60
33
0
0
0
0
0
13
-7
-49
-12
0
0
0
16
0
1
-7
-28
7
0
0
0
0
0
0
13
-21
64
0
0
0
0
7
47
31
-48
7
0
0
0
0
11
-43
-7
-25
-1
0
0
0
0
-2
3
-9
23
2
0
0
0
0
4
10
-11
22
-24
0
0
0
0
2
-19
-22
-39
39
0
0
0
0
0
1
24
14
-25
0
0
0
0
2
-4
8
3
0
0
0
0
0
-16
24
34
3
1
0
0
0
0
0
2
-43
16
-5
0
0
0
0
14
-1
-14
-20
-7
0
0
0
0
0
-6
30
1
5
0
0
0
0
20
-11
17
-27
21
0
0
0
0
1
-5
47
-138
56
0
0
0
0
0
10
5
-9
15
0
0
0
0
-1
0
-14
24
31
0
0
0
0
29
1
-45
-8
90
0
0
0
0
0
6
5
-27
-8
0
0
0
0
-2
-22
-10
-5
47
0
0
0
0
0
3
-4
1
-15
0
0
0
0
51
4
4
-1
37
0
0
0
0
0
0
8
-24
-13
0
0
0
0
1
0
-3
-128
81
0
0
0
0
0
0
7
1
29
0
0
0
0
-1
-13
-3
24
37
0
0
0
0
0
0
-28
-100
71
0
0
0
0
-3
0
4
7
11
0
0
0
0
0
-2
12
-39
-10
0
0
0
0
20
0
-4
3
-10
0
0
0
0
0
2
4
-37
-13
0
0
0
0
-1
-2
2
-16
21
0
0
0
0
0
-1
4
-13
88
0
0
0
0
12
3
-1
-6
84
0
0
0
71
-23
-13
-56
20
-33
0
0
0
0
2
8
-17
11
1
0
0
0
-7
-4
-4
-38
-44
65
0
0
0
0
-8
16
-16
-28
41
0
0
0
14
2
10
-4
47
-40
0
0
0
0
3
0
-9
-4
24
0
0
0
-62
0
-7
26
42
52
0
0
0
0
30
-7
-5
-3
57
0
0
0
2
-24
1
12
-90
44
0
0
0
0
1
5
2
27
17
0
0
0
1
4
0
13
29
3
0
0
0
0
-16
2
28
17
-3
0
0
0
14
0
4
-1
-40
61
0
0
0
0
0
-4
-2
28
-5
0
0
0
-12
0
1
-15
-14
68
0
0
0
0
14
-14
6
24
80
0
0
0
-4
0
1
-23
-88
80
0
0
0
0
0
-6
13
-5
-4
0
0
0
20
0
1
32
-92
-31
0
0
0
0
5
0
22
-67
37
0
0
0
1
0
-2
-1
-27
-2
0
0
0
0
0
0
-2
-52
15
0
0
0
28
0
-2
-25
-18
3
0
0
0
0
-3
-1
0
38
67
0
0
0
-3
1
7
3
-60
43
0
0
0
0
0
-3
-57
-100
47
0
0
0
16
0
0
1
-65
79
0
0
0
0
45
0
13
4
-1
0
0
0
-14
0
-2
6
-20
-3
0
0
0
0
0
-6
0
-9
9
0
0
0
32
0
7
-2
-26
65
0
0
0
0
5
0
5
-22
20
0
0
0
0
41
70
16
-6
-90
0
0
0
0
51
-46
37
-28
-1
0
0
0
0
7
-7
27
-13
-16
0
0
0
0
-26
56
-20
-28
23
0
0
0
0
0
-10
8
103
31
0
0
0
0
1
6
-21
-94
42
0
0
0
0
0
-38
-7
-14
50
0
0
0
0
57
-32
40
-22
7
0
0
0
0
0
-8
-3
-87
0
0
0
0
0
8
-32
-12
21
41
0
0
0
0
-5
44
18
-60
46
0
0
0
0
9
30
58
1
-19
0
0
0
0
0
2
-22
14
-6
0
0
0
0
-10
12
1
-14
8
0
0
0
0
-1
3
-10
-6
27
0
0
0
0
-5
21
-34
-4
82
0
0
0
0
0
-4
13
12
-46
0
0
0
0
3
5
-8
-51
10
0
0
0
0
0
0
53
-109
89
0
0
0
0
-15
21
-57
77
-6
0
0
0
0
0
0
12
52
-3
0
0
0
0
-1
3
6
-52
30
0
0
0
0
5
2
-6
22
10
0
0
0
0
13
14
1
10
37
0
0
0
0
-3
-2
-29
32
51
0
0
0
0
0
1
4
4
-9
0
0
0
0
0
8
0
-9
8
0
0
0
0
-8
-3
24
26
57
0
0
0
0
0
-4
0
55
50
0
0
0
0
13
25
5
-57
-11
0
0
0
0
-2
-4
15
-20
25
0
0
0
0
-5
33
-6
9
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
76
-20
10
-54
12
5
0
0
0
0
-8
-9
14
26
7
0
0
0
17
4
8
50
-42
-11
0
0
0
0
0
1
6
-49
12
0
0
-82
-6
0
-9
60
75
34
0
0
0
0
0
-2
-25
8
-42
0
0
0
2
0
-5
30
21
-30
0
0
0
0
0
-2
43
-18
24
0
0
8
5
0
1
14
-4
5
0
0
0
0
1
-1
-35
39
3
0
0
0
21
2
-8
-23
-41
3
0
0
0
0
0
-2
-13
13
85
0
0
-1
-1
0
-17
-29
-24
38
0
0
0
0
0
3
-14
18
39
0
0
0
15
0
0
-7
-6
27
0
0
0
0
0
3
-14
-21
22
0
0
-49
-64
2
31
13
-34
12
0
0
0
0
-1
-14
-26
40
-11
0
0
0
-10
-1
6
39
-52
-24
0
0
0
0
0
0
-20
-6
31
0
0
61
-7
-1
-13
26
27
10
0
0
0
0
5
-3
-6
-14
33
0
0
0
-29
0
8
-13
-68
11
0
0
0
0
0
-2
9
-18
52
0
0
77
-30
-6
63
53
-19
12
0
0
0
0
2
0
8
-49
20
0
0
0
10
-1
7
5
51
14
0
0
0
0
1
-4
5
-53
-8
0
0
36
-3
-3
2
43
-27
10
0
0
0
0
0
5
-7
0
20
0
0
0
33
0
-4
-41
-38
10
0
0
0
0
-1
0
8
-24
70
0
0
0
0
1
67
32
-23
-32
0
0
0
0
-40
1
46
69
-48
0
0
0
0
3
6
17
-38
6
0
0
0
0
11
52
56
5
-93
0
0
0
0
-4
2
16
-65
30
0
0
0
0
-5
-21
10
-27
48
0
0
0
0
0
3
2
-94
11
0
0
0
0
7
-38
4
4
17
0
0
0
0
17
-30
-13
23
-37
0
0
0
0
30
9
-19
-7
2
0
0
0
0
-3
1
26
41
45
0
0
0
0
-3
-24
2
-19
84
0
0
0
0
0
-7
22
-28
-21
0
0
0
0
-20
6
-9
-18
7
0
0
0
0
-2
-1
-1
4
55
0
0
0
0
-21
46
1
-53
15
0
0
0
0
0
-4
-41
33
41
0
0
0
0
-5
-3
25
11
-4
0
0
0
0
-3
-2
-30
70
27
0
0
0
0
44
0
-29
-38
48
0
0
0
0
0
-14
-24
21
9
0
0
0
0
2
0
3
11
-18
0
0
0
0
0
3
0
-47
77
0
0
0
0
2
-5
77
-56
-24
0
0
0
0
0
-7
-43
24
3
0
0
0
0
-52
-4
10
-55
14
0
0
0
0
10
1
4
-8
18
0
0
0
0
-54
1
53
-32
37
0
0
0
0
0
5
-6
-14
20
0
0
0
0
1
24
-1
-87
-9
0
0
0
0
1
-1
-9
-16
24
0
0
0
0
12
41
-1
1
19
0
0
0
103
13
-61
10
-75
38
0
0
0
0
21
-25
-42
19
22
0
0
0
23
4
-29
63
-30
19
0
0
0
0
13
3
27
-23
40
0
0
0
17
0
4
34
-68
-33
0
0
0
0
0
-1
-40
7
70
0
0
0
46
-8
14
-75
-40
44
0
0
0
0
0
-58
3
17
83
0
0
0
3
13
-29
19
-27
23
0
0
0
0
1
-14
19
-18
-5
0
0
0
64
0
7
18
-108
34
0
0
0
0
8
8
-3
-2
0
0
0
0
-14
0
-3
41
5
-4
0
0
0
0
5
12
-1
-32
-17
0
0
0
-41
-3
0
-1
15
-4
0
0
0
0
-17
-1
31
32
23
0
0
0
-27
0
6
-58
-37
34
0
0
0
0
6
-2
7
3
-16
0
0
0
21
4
-5
30
-16
13
0
0
0
0
27
-4
-10
-7
94
0
0
0
-42
-5
47
52
-70
25
0
0
0
0
-4
-13
44
6
-12
0
0
0
3
0
-4
-35
-34
6
0
0
0
0
1
6
-2
-33
49
0
0
0
-2
0
10
32
-24
19
0
0
0
0
-61
0
41
-60
38
0
0
0
-13
3
2
17
-4
-52
0
0
0
0
-21
0
3
54
-11
0
0
0
32
2
9
-35
21
-3
0
0
0
0
0
22
-29
10
3
0
0
0
73
0
-3
-6
-4
-6
0
0
0
0
10
4
2
17
-18
0
0
0
0
17
16
-59
68
-1
0
0
0
0
10
5
16
-46
27
0
0
0
0
55
1
15
-96
46
0
0
0
0
-37
-14
2
3
71
0
0
0
0
-4
10
10
-31
54
0
0
0
0
2
-47
33
-40
86
0
0
0
0
37
6
12
19
7
0
0
0
0
-23
-32
17
-6
37
0
0
0
0
-3
11
25
30
-26
0
0
0
0
54
-16
-34
47
5
0
0
0
0
-27
1
19
-95
15
0
0
0
0
-48
47
0
36
-42
0
0
0
0
-1
-1
-28
11
47
0
0
0
0
4
17
6
-54
41
0
0
0
0
33
-5
34
-27
8
0
0
0
0
-26
-5
17
-14
16
0
0
0
0
0
-25
-15
-41
65
0
0
0
0
-53
3
-12
-22
76
0
0
0
0
-1
16
-49
-30
56
0
0
0
0
21
57
-75
-16
68
0
0
0
0
-1
-5
2
-24
8
0
0
0
0
5
13
-26
-50
86
0
0
0
0
14
-19
-2
-6
-5
0
0
0
0
-43
-18
41
9
19
0
0
0
0
13
2
-19
-13
24
0
0
0
0
-68
13
29
2
57
0
0
0
0
30
-1
20
-120
22
0
0
0
0
9
-8
-22
19
9
0
0
0
0
0
0
-10
-16
-10
0
0
0
0
-17
-37
31
-29
28
0
0
0
0
65
-3
17
7
-37
0
0
0
0
31
-18
-7
-6
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
8
-60
-21
19
31
-5
0
0
-57
7
-46
-125
-27
18
-12
0
18
-53
-33
30
-51
20
17
1
0
0
-23
15
44
59
3
-1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
35
28
3
-51
2
21
-6
0
0
0
43
-31
34
10
19
-19
0
0
-57
12
-19
40
-62
20
-1
0
0
0
14
-45
-51
-62
73
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-10
-7
-14
-31
-20
0
0
0
0
9
-87
74
-22
9
0
0
0
8
47
107
-12
-47
-38
0
0
0
0
29
24
-2
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-21
-54
-1
23
41
-22
0
0
0
0
6
29
-5
-18
0
0
0
0
29
9
-50
5
-18
-9
0
0
0
0
-28
-40
-5
-57
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-27
-5
-35
-54
-1
3
0
0
8
-119
-15
16
19
-28
-9
0
0
0
-10
7
-23
29
-5
2
0
0
-14
74
60
16
10
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
-66
-59
40
16
0
0
0
21
-33
3
-41
13
-1
0
0
0
-8
5
25
-40
59
10
0
0
0
6
15
38
22
20
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
57
4
0
0
0
0
13
-8
-8
16
-13
0
0
0
0
2
-29
25
-47
32
0
0
0
0
-4
-4
12
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
11
-4
-19
0
0
0
0
-8
3
5
-53
-14
0
0
0
0
0
1
-19
0
48
0
0
0
0
29
-8
7
-22
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
-19
-17
39
45
18
0
0
5
5
26
18
-25
4
15
0
-98
-6
48
-40
37
80
-21
16
0
0
-54
-8
48
-5
-16
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
9
-34
0
1
-14
0
0
0
-12
-16
39
-16
61
20
0
0
38
-2
3
-38
-128
26
31
0
0
0
4
-4
-8
-54
3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
39
-90
-13
0
0
0
0
0
-8
7
7
4
0
0
0
-16
0
-3
13
-79
43
0
0
0
0
-1
8
5
-10
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-36
-4
-23
0
0
0
0
2
-1
41
16
-32
0
0
0
17
0
0
-32
-53
52
0
0
0
0
-1
0
-1
57
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
29
91
-30
12
2
0
0
-7
2
37
-51
84
39
6
0
0
8
11
30
-11
1
52
-18
0
0
-27
-34
-88
-26
62
2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
8
-35
50
19
0
0
0
9
3
18
-41
-2
-12
0
0
0
-4
-8
24
34
-11
-8
0
0
0
-55
2
75
-75
94
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
45
52
-19
0
0
0
0
5
-13
-12
15
35
0
0
0
0
-3
-5
-73
2
-6
0
0
0
0
-3
6
-6
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
9
23
0
0
0
0
5
13
0
-19
83
0
0
0
0
5
0
20
41
11
0
0
0
0
-1
-16
13
12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
7
1
-30
-48
-65
48
12
4
0
0
2
0
31
-25
67
-5
-10
0
29
0
-6
-8
4
63
-9
3
0
0
0
0
-9
85
14
8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-20
-74
62
-16
7
0
0
0
0
2
-49
9
31
7
0
0
-8
0
8
12
-100
8
-9
0
0
0
0
-3
-6
-25
-26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
3
0
-13
-20
-43
-2
0
0
0
0
0
2
1
-69
40
0
0
0
-6
0
-7
-22
28
13
0
0
0
0
0
-2
-2
-2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-36
-2
-21
0
0
0
0
0
-12
4
39
35
0
0
0
22
0
8
-21
24
2
0
0
0
0
0
-1
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
48
13
44
-8
4
0
0
0
25
-60
-25
-56
-5
-3
0
0
0
7
-20
-96
39
-6
10
0
0
-3
-71
-25
-25
35
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
17
12
46
-13
0
0
0
-1
5
-37
-62
11
-14
0
0
0
0
5
46
-41
-8
-7
0
0
0
12
-44
12
11
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-85
73
0
0
0
0
2
0
-8
-50
-18
0
0
0
0
0
8
-15
-6
5
0
0
0
0
1
52
-2
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
9
-11
45
0
0
0
0
2
2
-1
15
-19
0
0
0
0
0
1
1
-16
42
0
0
0
0
0
-19
0
-65
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
54
-32
28
-2
14
0
0
2
-2
27
53
-39
9
35
0
5
0
22
-21
11
-8
-15
1
0
0
8
5
47
44
66
-45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
-30
-52
42
24
0
0
0
1
-7
-21
-52
65
27
0
0
17
0
-7
55
43
16
-29
0
0
0
-2
17
6
-79
21
-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
-9
0
-2
-25
11
4
0
0
0
0
0
3
-1
-4
32
0
0
0
23
0
-1
-11
-69
-20
0
0
0
0
0
-12
10
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
5
-6
-49
50
0
0
0
0
-1
-1
1
-14
22
0
0
0
-7
0
-5
-7
-4
53
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-53
-26
0
-23
0
0
-12
0
-2
-8
-69
24
31
0
0
-29
-67
57
23
41
10
-11
0
0
3
-58
46
-5
19
-15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
16
-12
-1
15
0
0
0
16
3
8
15
-1
15
0
0
0
45
8
-43
-30
42
-16
0
0
0
-42
7
-16
11
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
40
-29
0
0
0
0
5
31
12
26
-44
0
0
0
0
0
8
9
-53
18
0
0
0
0
8
38
26
-32
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
17
0
0
0
0
3
6
0
-12
-7
0
0
0
0
27
-8
17
-24
31
0
0
0
0
-29
5
4
16
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-5
-66
-25
4
31
0
0
0
-2
-6
27
-38
-10
25
0
0
4
2
-17
81
-47
-4
35
0
0
0
0
20
-7
-51
66
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
23
-49
20
32
-6
0
0
0
1
-2
-13
13
29
-10
0
0
0
1
-3
23
48
-25
-4
0
0
0
0
14
66
-23
92
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
2
-15
-26
-38
39
0
0
0
0
8
19
-6
-22
-49
0
0
0
7
0
-6
38
-45
24
0
0
0
0
0
4
33
-53
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
-6
4
-1
-7
7
-7
10
0
0
0
0
0
1
-18
-44
70
0
0
0
0
0
-5
4
32
-4
0
0
0
0
-3
1
13
-8
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
1
-4
27
-32
-5
13
0
0
0
-3
21
-21
-70
-42
0
0
0
0
4
-1
-10
2
97
-35
0
0
0
27
8
22
-68
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-58
-53
4
-7
0
0
0
0
-15
22
-6
43
-17
0
0
0
-2
-4
14
27
37
-2
0
0
0
5
25
-9
-24
67
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
-57
20
0
0
0
0
-2
2
2
-8
19
0
0
0
0
0
0
13
27
-1
0
0
0
0
0
4
62
-80
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
-49
39
0
0
0
0
8
1
2
-5
7
0
0
0
0
0
0
1
24
59
0
0
0
0
15
8
6
-37
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-30
27
-17
18
20
0
0
0
0
8
0
-52
79
-10
0
0
43
1
1
37
-48
10
-10
0
0
0
-21
-17
29
14
-15
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-6
-44
-53
29
19
0
0
0
-17
22
-8
22
42
3
0
0
-32
4
0
-41
17
-102
37
0
0
0
-2
-3
-33
-16
21
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
8
-8
-101
44
0
0
0
0
0
4
-1
-10
59
0
0
0
32
0
4
-14
-37
31
0
0
0
0
0
-5
-7
11
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
45
64
-44
0
0
0
0
0
0
-13
-30
43
0
0
0
10
0
0
9
-14
-25
0
0
0
0
9
0
-5
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
80
-9
12
8
0
0
0
9
16
60
-20
7
-26
0
0
0
2
1
39
1
1
-19
0
0
0
-20
-19
-17
37
-10
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-71
-4
20
10
0
0
0
-1
-52
31
-8
-3
16
0
0
0
2
12
25
22
-11
-49
0
0
0
12
-32
-39
27
-41
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-25
29
0
0
0
0
-8
-6
9
37
54
0
0
0
0
0
0
63
19
26
0
0
0
0
41
-48
1
-17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-34
75
0
0
0
0
-12
5
6
-4
-29
0
0
0
0
-1
0
19
-74
87
0
0
0
0
-4
-2
-13
-5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
-2
5
-22
-5
27
0
0
0
0
-1
-27
-8
62
5
0
0
48
0
2
-4
-2
-34
14
0
0
0
0
2
68
-40
12
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
6
0
28
72
52
13
-16
0
0
0
-1
48
1
-49
49
-25
0
0
5
0
0
37
-50
34
-17
0
0
0
0
0
-49
-3
54
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
3
-1
-7
39
-73
24
0
0
0
0
0
23
17
-78
35
0
0
0
-29
0
-4
-30
47
37
0
0
0
0
0
-4
9
23
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
2
20
-26
21
-11
0
0
0
0
0
0
3
-3
37
0
0
0
13
0
0
44
-33
43
0
0
0
0
-1
-1
-17
8
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-32
42
16
0
0
0
-1
11
0
-65
-13
4
0
0
0
0
1
14
15
5
-22
0
0
0
-1
16
41
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
21
-25
5
-4
0
0
0
-5
-46
-21
-56
22
11
0
0
0
0
4
1
19
-29
17
0
0
0
-5
-11
17
-8
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-4
26
0
0
0
0
0
6
-49
-9
45
0
0
0
0
0
0
-38
16
32
0
0
0
0
0
13
16
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
0
56
0
0
0
0
0
-11
2
-9
-9
0
0
0
0
0
-4
-8
51
32
0
0
0
0
0
-5
-8
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-16
-25
-17
17
20
0
0
0
0
32
1
24
4
10
0
0
-41
0
-21
-9
54
8
13
0
0
0
-13
-55
-20
0
75
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
-21
0
1
-6
-6
27
9
0
0
0
5
-3
5
22
-40
7
0
0
33
0
-24
-21
-4
45
0
0
0
0
33
24
24
5
27
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
20
-23
23
0
0
0
0
0
-9
4
-36
27
0
0
0
-36
0
-1
-25
-36
143
0
0
0
0
-1
55
-48
-7
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-2
7
7
47
0
0
0
0
2
1
7
-3
34
0
0
0
13
-3
-5
2
-2
-17
0
0
0
0
18
0
1
4
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-6
35
-14
11
0
0
0
-36
49
23
-44
32
2
0
0
0
-2
-16
36
12
38
-13
0
0
0
24
36
37
-24
-14
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
29
48
38
19
0
0
0
4
-37
28
-21
20
7
0
0
0
60
-14
-45
-1
48
-24
0
0
0
63
-56
-30
8
56
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-31
34
0
0
0
0
7
29
-47
20
68
0
0
0
0
2
13
11
8
8
0
0
0
0
-41
-60
17
8
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
14
-11
50
0
0
0
0
-29
0
-12
9
65
0
0
0
0
13
-1
5
-6
16
0
0
0
0
27
16
-39
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-45
-80
-74
51
0
0
0
0
-1
42
-7
-105
28
0
0
0
-21
0
-22
21
-48
24
0
0
0
0
7
21
-50
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
8
80
-50
1
0
0
0
0
-1
-25
37
-28
35
0
0
0
0
1
5
-19
-52
28
0
0
0
0
-4
-32
12
27
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
1
0
-4
-40
-105
-18
0
0
0
0
0
-4
41
-26
13
0
0
0
2
0
-5
-3
-43
2
0
0
0
0
0
0
-14
36
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
16
17
8
16
0
0
0
0
0
5
18
0
-13
0
0
0
2
0
13
-17
64
-35
0
0
0
0
2
8
7
-33
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-100
17
22
0
0
0
0
-1
-12
-8
16
-38
0
0
0
0
0
-4
50
13
-6
0
0
0
0
-2
30
6
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
33
-54
28
0
0
0
0
0
1
-27
-68
71
0
0
0
0
-3
-3
22
-25
22
0
0
0
0
4
-6
6
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
0
0
0
0
0
0
-50
25
-11
0
0
0
0
0
0
1
-80
57
0
0
0
0
0
3
-6
40
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
26
-24
0
0
0
0
0
4
0
7
-15
0
0
0
0
0
-1
-13
-23
38
0
0
0
0
4
5
-1
-30
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
-11
-13
-14
0
0
0
0
0
1
-51
4
4
0
0
0
45
0
-4
5
-55
-22
0
0
0
0
1
0
-30
52
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
29
57
12
0
0
0
0
0
2
41
12
-10
0
0
0
-72
3
-1
57
-55
64
0
0
0
0
2
8
31
-44
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
5
-102
29
0
0
0
0
0
1
2
-72
25
0
0
0
-10
0
0
3
-69
78
0
0
0
0
0
0
2
-81
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
9
21
-31
0
0
0
0
0
1
-3
-3
7
0
0
0
-27
0
0
-30
-29
42
0
0
0
0
0
0
24
-67
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
93
-56
11
0
0
0
0
3
8
2
-63
16
0
0
0
0
2
-6
-6
-33
37
0
0
0
0
0
-40
30
28
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
42
8
0
0
0
0
0
-6
34
-21
29
0
0
0
0
0
1
27
9
2
0
0
0
0
19
-27
-19
-11
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-34
39
0
0
0
0
0
1
30
-29
41
0
0
0
0
-2
0
18
-53
32
0
0
0
0
0
3
-34
-25
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
20
-62
55
0
0
0
0
1
-4
28
-41
105
0
0
0
0
0
0
-54
49
-16
0
0
0
0
3
0
-38
-44
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-5
0
9
-34
-57
-7
0
0
0
0
0
2
29
-26
28
0
0
0
-5
0
-4
-29
21
12
0
0
0
0
0
-2
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-6
36
-10
-5
0
0
0
0
-1
1
16
52
-33
0
0
0
0
-1
5
60
-48
29
0
0
0
0
0
0
-2
-7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
0
0
-2
1
-28
0
0
0
0
0
0
2
-17
-7
0
0
0
8
0
-1
-2
-60
100
0
0
0
0
0
2
4
-27
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
11
-21
54
0
0
0
0
-3
-1
-1
-40
-3
0
0
0
-3
0
3
44
-63
16
0
0
0
0
1
-1
8
10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
5
-79
-4
0
0
0
0
-4
18
-2
-53
22
0
0
0
0
0
13
5
-33
5
0
0
0
0
0
-42
0
-10
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-7
-14
0
0
0
0
0
-6
3
-1
-40
0
0
0
0
3
-2
-5
13
0
0
0
0
0
29
22
-21
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
-14
0
0
0
0
0
1
0
-4
-7
0
0
0
0
0
1
6
-7
31
0
0
0
0
-1
2
0
-45
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-88
19
0
0
0
0
-2
1
13
-23
-24
0
0
0
0
0
1
23
-14
45
0
0
0
0
-2
13
4
-30
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-5
-6
-39
75
0
0
0
0
0
-9
-8
45
-54
0
0
0
-8
0
-2
7
-74
56
0
0
0
0
8
9
-8
-73
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-5
-29
35
-11
0
0
0
0
0
9
7
-13
-2
0
0
0
2
0
5
-12
58
-4
0
0
0
0
25
19
-10
-49
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
40
-41
23
0
0
0
0
0
-1
6
-12
39
0
0
0
57
0
0
3
-72
20
0
0
0
0
-9
2
3
-32
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
4
22
-101
6
0
0
0
0
-2
-10
-6
-49
97
0
0
0
59
0
-4
32
-24
19
0
0
0
0
-3
0
-5
7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-30
-9
9
0
0
0
0
5
38
-7
-24
-21
0
0
0
0
0
0
-35
14
30
0
0
0
0
-72
52
8
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
9
-16
7
0
0
0
0
-13
-20
52
47
-17
0
0
0
0
0
28
43
-36
36
0
0
0
0
31
29
-6
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
45
31
0
0
0
0
0
33
-4
4
-34
0
0
0
0
0
8
-3
-18
19
0
0
0
0
1
-68
13
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-44
-25
128
0
0
0
0
17
16
22
-68
-17
0
0
0
0
-15
5
-41
-17
95
0
0
0
0
-46
-64
-41
20
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
-4
-57
-23
31
0
0
0
0
0
-12
9
29
55
0
0
0
-2
0
0
19
-23
-3
0
0
0
0
0
16
12
-51
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-5
0
-46
2
-63
62
0
0
0
0
1
19
65
-23
6
0
0
0
1
-3
4
18
-59
50
0
0
0
0
2
52
24
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
0
-20
-3
-30
7
0
0
0
0
0
2
29
-83
-23
0
0
0
-2
0
-2
-42
18
6
0
0
0
0
0
2
42
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
20
-2
-23
-42
39
-12
0
0
0
0
0
-25
40
-2
7
0
0
0
3
0
2
33
-37
21
0
0
0
0
0
4
2
-41
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
-101
42
0
0
0
0
0
-5
-41
22
57
0
0
0
0
0
-1
13
-4
36
0
0
0
0
18
5
0
-12
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-57
-22
14
0
0
0
0
0
-3
-32
-45
17
0
0
0
0
0
-2
11
90
10
0
0
0
0
9
-18
20
-44
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-69
-2
0
0
0
0
0
-4
-6
-14
12
0
0
0
0
0
0
10
-34
41
0
0
0
0
0
-5
-2
64
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
40
74
-46
0
0
0
0
0
0
44
-22
-44
0
0
0
0
-2
0
10
-62
16
0
0
0
0
-1
-2
3
-54
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-40
-63
67
0
0
0
0
3
2
-17
66
28
0
0
0
-19
0
-2
-20
-65
52
0
0
0
0
-2
0
-17
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-5
40
-28
6
0
0
0
0
0
9
53
-35
-18
0
0
0
58
2
2
2
-39
-42
0
0
0
0
15
-23
61
-33
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
41
-41
-9
0
0
0
0
-1
-6
-4
-61
61
0
0
0
-31
0
0
-2
78
-58
0
0
0
0
0
7
-19
55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
56
-88
31
0
0
0
0
-2
3
-7
-13
32
0
0
0
-15
-2
0
-17
21
-26
0
0
0
0
3
0
-6
12
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
-38
94
0
0
0
0
-30
26
24
5
-42
0
0
0
0
0
1
0
-2
-12
0
0
0
0
-7
36
-45
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-33
71
0
0
0
0
18
-5
32
-50
15
0
0
0
0
8
-19
71
-62
39
0
0
0
0
2
-26
2
48
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
-34
88
0
0
0
0
7
-7
0
-22
13
0
0
0
0
5
-1
-33
21
15
0
0
0
0
44
-37
-41
45
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
21
-15
54
0
0
0
0
-11
14
24
-46
33
0
0
0
0
-5
-2
32
1
9
0
0
0
0
30
-9
28
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
2
-27
-14
0
0
0
0
1
1
2
-11
5
0
0
0
17
0
5
0
2
-7
0
0
0
0
0
3
0
4
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-8
-1
-8
-17
-11
-27
0
0
0
0
-3
-7
14
-43
19
0
0
0
16
0
-4
-15
3
1
0
0
0
0
0
0
16
5
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
23
4
0
9
17
-42
16
0
0
0
0
0
0
10
-42
37
0
0
0
15
0
-2
1
5
-27
0
0
0
0
0
2
-3
55
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
-16
-1
-31
59
0
0
0
0
1
0
-9
54
-22
0
0
0
-11
2
0
-6
-21
11
0
0
0
0
-4
2
-2
-61
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
34
-36
0
0
0
0
-1
3
1
-7
75
0
0
0
0
0
1
4
52
-9
0
0
0
0
0
-8
-2
48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
-44
0
0
0
0
0
0
-1
25
-62
47
0
0
0
0
0
-4
6
-10
22
0
0
0
0
-11
8
14
37
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
13
-12
0
0
0
0
0
2
0
22
-44
0
0
0
0
0
-1
26
-44
57
0
0
0
0
0
-1
4
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
6
-11
-4
0
0
0
0
2
13
-2
-62
38
0
0
0
0
1
0
-2
26
-39
0
0
0
0
-2
-22
-2
-31
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
27
3
-45
0
0
0
0
0
1
6
-41
60
0
0
0
1
0
3
1
8
-25
0
0
0
0
29
0
1
8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
3
-15
-14
-15
0
0
0
0
5
5
3
-25
-21
0
0
0
16
0
-7
6
57
-38
0
0
0
0
-10
5
-23
8
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
19
2
-27
23
0
0
0
0
0
-29
10
-25
73
0
0
0
44
0
0
9
-41
-4
0
0
0
0
6
12
8
-28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-22
1
29
-13
0
0
0
0
-1
-7
-4
40
31
0
0
0
5
0
2
47
-79
-44
0
0
0
0
-38
6
2
-22
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
19
33
0
0
0
0
31
-8
-23
46
59
0
0
0
0
3
0
18
-44
29
0
0
0
0
-5
3
63
42
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-11
0
0
0
0
15
-20
23
21
57
0
0
0
0
-1
4
-9
-63
-23
0
0
0
0
-17
16
14
-56
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
11
42
0
0
0
0
1
-13
5
-7
-11
0
0
0
0
-22
-1
-7
4
55
0
0
0
0
8
83
13
-3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-12
0
-47
0
0
0
0
-11
-30
30
-51
15
0
0
0
0
12
-38
36
22
56
0
0
0
0
-10
41
-15
-54
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
17
3
-12
-6
-9
-4
6
-3
0
0
21
29
16
-47
6
-11
24
0
20
-9
20
-32
-60
33
14
0
0
0
-17
-42
13
-3
4
19
21
13
71
-8
41
-94
-25
13
0
3
0
0
41
-11
-51
-102
13
-5
-17
0
25
-2
-32
58
7
12
3
19
0
0
33
32
57
46
-2
8
-10
-14
8
2
-7
26
3
32
-18
0
0
0
4
38
11
43
21
-24
0
0
8
1
74
46
-41
-29
-1
0
0
0
-42
15
-20
-6
21
22
0
68
-57
-12
31
-13
-31
11
-14
0
0
0
13
11
85
-78
-28
35
0
0
-5
66
-41
-25
23
-50
36
0
0
0
5
-8
30
-25
-19
5
0
3
-14
5
-98
-10
50
25
0
0
0
0
6
-7
-1
56
-7
0
0
0
-13
16
3
34
-57
-47
0
0
0
0
49
-10
-39
8
-10
0
0
73
-56
3
56
-42
-42
25
0
0
0
0
-16
71
-30
-39
17
0
0
0
-44
111
-9
-21
22
-25
0
0
0
0
-61
32
38
-49
81
0
0
-33
9
19
28
33
9
-21
0
0
0
0
9
16
31
7
-2
0
0
0
-30
14
9
7
-57
34
0
0
0
0
-48
-39
-24
15
69
0
0
25
60
-8
-19
22
-19
-38
0
0
0
0
-16
-91
82
-49
49
0
0
0
-34
13
-6
-25
13
6
0
0
0
0
-54
0
-30
-2
60
0
0
0
0
-22
-19
-3
-8
37
-8
-5
0
0
52
-31
-16
53
-18
-3
26
0
0
22
-8
25
-59
29
8
47
0
0
-2
-23
-3
-25
16
39
48
0
0
0
-5
-59
-44
34
-30
-8
0
0
0
10
-1
-6
49
-27
15
0
0
0
2
3
-22
125
-143
22
0
0
25
12
1
14
0
-49
12
0
0
1
1
17
3
-1
0
0
0
0
0
-3
-6
-12
-17
-1
0
0
0
3
0
19
8
59
-5
0
0
0
23
-1
8
-12
85
-34
0
0
0
0
2
4
-67
50
32
0
0
0
0
-1
-1
-41
-26
26
0
0
0
0
0
1
-16
20
12
0
0
0
-42
2
-3
-3
7
53
0
0
0
-1
-3
48
-52
4
0
0
0
0
2
-3
-4
-17
35
0
0
0
0
0
0
13
3
-30
0
0
0
0
-9
-3
-2
-30
40
0
0
0
0
-1
2
8
-40
-12
0
0
0
0
-3
0
1
-51
27
0
0
0
0
0
-12
0
54
-16
0
0
0
0
7
2
-2
-34
-22
0
0
0
0
0
0
0
-63
-24
0
0
0
0
1
2
0
-21
28
0
0
0
0
1
-1
-8
-3
-20
0
0
0
0
2
-1
0
-17
33
0
0
0
0
0
-3
0
-7
26
0
0
0
0
2
1
-3
-13
-16
0
0
0
0
0
0
0
7
-47
0
0
0
0
-43
-5
0
8
25
0
0
0
-21
-1
2
-13
-33
-1
8
9
0
0
0
-7
-29
-12
-12
47
-17
0
20
-1
2
-69
-9
-16
-9
21
0
0
-4
0
10
-6
-2
39
0
0
-6
0
1
-25
-27
93
-40
1
0
0
0
0
-5
-4
-20
-15
-15
0
11
0
0
4
6
5
-60
18
0
0
0
0
2
-21
22
7
18
0
-2
0
-4
6
-20
101
-13
0
0
0
-1
2
-6
-53
123
-4
0
0
-6
0
0
-5
-3
-22
20
0
0
0
0
-2
-4
-9
16
-29
0
0
-16
0
0
5
-8
27
6
0
0
0
0
0
-3
-19
-5
20
0
0
-43
0
-2
5
-1
-9
53
0
0
0
0
0
0
-2
-5
6
0
0
0
-2
5
-22
-13
20
0
0
0
0
0
0
-7
7
22
0
0
0
-4
0
0
-10
0
-70
0
0
0
0
0
0
-2
-10
13
0
0
0
1
0
0
15
-21
34
0
0
0
0
1
0
-1
-37
-33
0
0
0
-56
0
0
1
0
24
0
0
0
0
0
0
0
-1
8
0
0
0
2
1
-3
8
-27
-32
0
0
0
0
0
-5
3
-42
31
0
0
0
-31
0
-1
-5
31
41
0
0
0
0
0
-1
-1
10
-29
0
0
0
-2
0
0
0
31
-1
0
0
0
0
0
0
4
6
-24
0
0
0
-21
0
-1
-5
4
64
0
0
0
0
0
0
0
0
20
0
0
0
0
1
-14
-28
46
87
3
-33
0
0
-3
11
62
23
-21
-20
-19
0
0
2
0
39
17
81
-3
16
0
0
44
8
-67
18
45
23
3
0
0
3
2
1
43
-15
-14
24
0
0
-2
-7
-5
-20
26
8
-8
0
0
1
0
17
-28
-22
-71
28
0
0
0
14
23
52
-52
23
-21
0
0
0
-2
13
-100
-19
32
0
0
0
0
2
-12
-7
-25
17
0
0
0
0
-1
5
-11
3
18
0
0
0
-2
-4
27
-85
39
10
0
0
0
0
-2
0
-3
19
41
0
0
0
0
0
0
4
24
5
0
0
0
0
0
0
-5
28
39
0
0
0
7
2
-5
4
7
16
0
0
0
2
-1
-38
-19
49
0
0
0
0
0
0
-4
23
24
0
0
0
0
0
0
10
16
-15
0
0
0
0
5
-2
49
7
-4
0
0
0
0
0
-1
3
-41
63
0
0
0
0
0
7
-1
-52
77
0
0
0
0
-1
0
0
8
75
0
0
0
0
0
0
1
-4
35
0
0
0
0
0
0
-1
-19
58
0
0
0
0
0
0
1
-31
2
0
0
0
0
0
0
1
-17
64
0
0
0
0
2
0
4
-8
17
0
0
0
0
0
0
0
5
-36
0
0
0
0
0
-5
0
-29
51
0
0
0
0
0
-2
1
0
16
0
0
0
0
0
0
0
4
2
0
0
-29
3
0
-20
11
-64
72
28
-6
0
0
0
-4
-41
-48
-23
44
-23
0
-2
0
7
10
33
55
12
21
0
0
1
2
-8
-15
30
65
-3
27
0
0
-13
10
19
73
-14
-8
0
0
-4
0
20
-53
74
-17
29
0
-10
0
1
4
-26
-1
-36
6
0
0
0
0
-10
-32
-48
-21
22
32
0
0
0
25
-88
78
13
0
0
0
0
0
0
2
40
13
0
0
-1
0
0
-30
4
75
6
0
0
0
0
-1
3
-30
50
50
0
-60
0
0
-1
17
26
-79
21
0
0
0
0
0
0
-22
-45
4
0
0
8
0
0
0
6
-34
-9
0
0
0
0
-1
0
5
34
-26
0
52
3
2
8
-23
-70
-5
0
0
0
0
0
-2
-34
-16
19
0
0
0
-2
0
-1
-12
-62
-19
0
0
0
0
0
2
-9
-1
12
0
0
-11
0
0
-2
5
11
5
0
0
0
0
1
-1
17
-58
9
0
0
0
8
0
-3
58
-53
61
0
0
0
0
0
0
-1
5
8
0
0
-1
0
0
-6
-11
29
22
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
-3
-38
14
100
0
0
0
0
0
1
-5
-7
-23
0
0
7
0
0
4
0
-31
76
0
0
0
0
0
3
0
6
74
0
0
0
8
0
0
-1
-14
22
0
0
0
0
0
3
0
2
0
0
0
0
0
1
-6
8
-73
17
5
22
0
0
6
-16
-9
8
-18
-19
24
0
0
0
-7
-2
31
40
22
-1
0
0
-6
16
13
-12
65
0
-9
0
0
0
0
-9
-20
3
-8
6
0
0
1
0
0
-49
37
9
-17
0
0
0
0
-5
11
-6
9
26
0
0
0
0
1
-2
13
-75
-7
0
0
0
0
-1
21
-8
5
0
0
0
0
1
-5
13
3
1
0
0
0
0
0
0
15
21
20
0
0
0
0
0
-2
20
66
-17
0
0
0
0
0
-1
-14
86
-20
0
0
0
0
0
7
-1
33
13
0
0
0
0
0
0
8
18
21
0
0
0
0
-12
-4
0
5
30
0
0
0
0
3
-23
-40
44
0
0
0
0
0
0
16
-71
44
0
0
0
0
0
0
2
-10
48
0
0
0
0
1
-2
2
-28
65
0
0
0
0
0
0
1
-24
-30
0
0
0
0
0
0
1
-41
0
0
0
0
0
0
0
6
29
2
0
0
0
0
0
1
-3
14
-36
0
0
0
0
0
0
-8
-16
-12
0
0
0
0
0
0
-5
12
75
0
0
0
0
0
0
1
0
-33
0
0
0
0
0
0
-2
9
54
0
0
0
0
0
2
0
-14
-5
0
0
0
0
0
3
-2
0
-44
0
0
0
0
0
0
-3
-16
16
0
0
0
0
0
-1
0
-5
5
0
0
0
2
0
-4
-42
28
14
-13
19
0
0
0
0
0
-25
6
-3
16
0
-14
0
0
8
-143
-12
-14
31
0
0
1
0
-8
-13
13
34
16
0
5
0
-1
-18
39
-9
-3
9
0
0
0
0
0
-7
44
-12
-7
0
-23
0
-1
0
18
-7
18
-3
0
0
0
0
2
-13
8
15
-17
0
1
0
0
2
-41
11
16
0
0
0
0
1
0
-49
11
13
0
0
-15
0
-1
-6
-32
35
5
0
0
0
0
0
8
-40
-17
26
0
0
0
0
1
-2
-20
9
4
0
0
0
0
0
1
-29
29
2
0
0
8
0
0
8
5
21
-17
0
0
0
0
0
-2
-9
-5
4
0
0
0
0
-5
-1
-60
45
0
0
0
0
0
0
-1
-29
7
0
0
0
0
0
0
-4
-25
11
0
0
0
0
0
0
1
-42
32
0
0
0
0
0
0
4
-42
60
0
0
0
0
0
0
0
-28
-3
0
0
0
20
0
0
-5
7
25
0
0
0
0
0
6
-1
-10
-13
0
0
0
0
0
0
1
30
43
0
0
0
0
0
0
0
-9
50
0
0
0
25
0
0
-4
-36
30
0
0
0
0
0
-1
-1
-14
23
0
0
0
0
0
0
-1
50
4
0
0
0
0
0
0
-1
-8
-36
0
0
0
-5
0
1
0
1
5
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
-9
-8
-35
-9
49
14
0
0
0
-43
20
-54
39
22
-3
0
0
0
0
8
18
29
5
16
0
0
21
20
-9
100
-29
-64
19
0
0
0
1
8
19
-48
27
11
0
0
0
-2
-1
-51
-14
-6
34
0
0
0
1
-15
-15
27
-34
3
0
0
-14
-7
10
-22
0
8
21
0
0
0
0
3
-13
13
2
0
0
0
1
2
1
4
-21
-1
0
0
0
0
2
-30
-18
60
-17
0
0
0
-1
-19
-36
36
39
-18
0
0
0
0
1
-3
-9
-3
20
0
0
0
0
3
-2
-2
5
-21
0
0
0
0
0
-9
4
-6
-6
0
0
0
2
3
8
0
2
-28
0
0
0
0
6
0
39
-81
0
0
0
0
0
-3
3
-17
48
0
0
0
0
0
-1
16
-36
-19
0
0
0
0
0
-6
41
-51
30
0
0
0
0
0
0
2
-5
1
0
0
0
0
1
-3
3
-12
38
0
0
0
0
0
8
0
-13
-6
0
0
0
0
0
24
1
5
7
0
0
0
0
0
0
2
4
10
0
0
0
0
0
0
-3
-1
12
0
0
0
0
0
-1
13
-38
-28
0
0
0
0
0
6
-4
2
50
0
0
0
0
0
3
0
-24
43
0
0
0
0
0
16
2
3
28
0
0
0
0
0
-12
3
-2
10
0
0
0
0
-1
12
2
7
-8
0
0
-2
3
1
-1
29
-54
39
22
0
0
0
-1
5
47
11
18
22
0
0
-14
6
-8
-18
83
9
22
0
0
0
0
-6
-4
-42
2
-3
0
-6
0
0
-2
-14
64
38
-5
0
0
0
0
9
-29
-17
106
0
0
0
0
0
-3
8
5
-12
-28
0
0
0
0
17
5
-30
18
26
0
0
0
0
4
-51
-43
15
17
0
0
0
1
3
39
-12
-44
18
0
0
0
0
0
2
-51
22
9
0
0
0
0
-6
13
-9
34
-16
0
3
0
0
2
34
-45
8
1
0
0
0
0
4
-16
4
-10
21
0
0
0
0
-1
8
1
15
-25
0
0
0
0
-1
22
6
-26
6
0
0
0
0
-1
-4
-6
32
0
0
0
0
0
-1
-2
-46
34
0
0
0
1
0
0
2
-12
5
0
0
0
0
0
-1
-2
-4
-28
0
0
-3
0
0
-1
74
49
-20
0
0
0
0
0
0
0
-31
29
0
0
0
0
0
-3
-4
-32
49
0
0
0
0
0
1
-14
15
3
0
0
0
0
0
-2
10
39
-5
0
0
0
0
1
0
-14
48
22
0
0
0
0
0
0
0
83
-56
0
0
0
0
0
-1
0
4
43
0
0
1
0
0
0
1
9
29
0
0
0
0
0
1
2
-13
1
0
0
0
2
0
0
0
-1
4
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-9
25
-13
-9
11
0
0
0
-1
0
6
-108
32
12
0
0
0
7
-1
0
0
45
2
0
0
0
5
0
2
7
92
-128
0
0
0
0
0
-19
-1
15
-11
0
0
0
0
0
-1
34
-49
31
0
0
0
0
0
-1
3
29
21
0
0
0
0
0
1
-29
-13
6
0
0
0
0
-1
-3
-48
18
29
0
0
0
0
0
1
-71
51
21
0
0
0
0
0
-3
-27
3
29
0
0
0
1
1
-1
-17
22
10
0
0
0
0
0
8
36
36
11
0
0
0
0
-1
0
19
20
5
0
0
0
0
0
0
2
-4
-10
0
0
0
0
0
0
-4
-4
20
0
0
0
0
0
3
-2
4
0
0
0
0
0
0
0
5
55
0
0
0
0
0
0
-1
-25
45
0
0
0
0
0
0
0
3
46
0
0
0
0
0
4
0
16
15
0
0
0
0
0
0
0
29
-3
0
0
0
0
0
0
-2
10
-6
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
1
-1
-42
-5
0
0
0
0
0
0
8
10
-8
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
-24
12
0
0
0
0
0
0
2
7
-14
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
-13
17
0
0
0
-11
0
-8
-30
33
32
-21
0
0
0
0
1
3
29
-3
-8
0
0
19
0
0
14
-26
1
8
0
0
0
0
0
-7
-11
18
-2
0
0
8
0
3
-14
-4
35
-6
0
0
0
0
0
-1
-19
17
-8
0
0
1
0
0
4
-17
8
21
0
0
0
0
0
-3
-10
-29
24
0
0
0
0
3
7
-32
54
16
0
0
0
1
0
0
7
64
-14
0
0
0
0
0
-13
-27
23
-17
0
0
0
0
0
1
12
42
-96
0
0
0
0
0
-2
-16
-55
21
0
0
0
0
-2
0
5
8
-20
0
0
-3
0
0
-2
1
54
-37
0
0
0
0
0
0
0
41
-24
0
0
0
0
0
-5
41
9
0
0
0
0
0
0
1
-49
19
0
0
0
0
0
0
-12
-29
114
0
0
0
0
0
0
0
-3
46
0
0
0
0
0
0
18
-47
58
0
0
0
0
0
0
0
48
5
0
0
0
-2
0
0
3
24
4
0
0
0
0
0
0
0
0
20
0
0
0
0
0
1
1
-19
11
0
0
0
0
-1
0
0
-5
49
0
0
0
5
0
0
2
-8
8
0
0
0
0
0
0
-2
-2
-31
0
0
0
0
0
0
1
-9
15
0
0
0
0
0
0
-1
1
10
0
0
0
4
0
0
0
-5
-17
0
0
0
0
0
0
0
-10
37
0
0
0
0
-1
-1
6
2
-3
6
0
0
0
2
1
31
-50
-16
-16
0
0
0
1
0
6
6
10
-6
0
0
0
-21
-5
0
3
28
29
0
0
0
0
0
-6
65
-27
-1
0
0
0
0
-1
-6
7
29
-38
0
0
0
0
0
3
47
-29
19
0
0
0
5
-27
2
-1
31
36
0
0
0
1
0
-3
-9
5
5
0
0
0
1
2
-8
-29
0
33
0
0
0
0
0
-2
20
-1
-42
0
0
0
4
2
-1
3
-26
-57
0
0
0
0
0
0
12
10
2
0
0
0
0
0
-4
-2
-35
4
0
0
0
0
0
0
1
28
4
0
0
0
-3
0
0
0
52
-77
0
0
0
0
0
-10
-18
23
0
0
0
0
0
0
-1
-7
20
0
0
0
0
0
0
-1
-16
45
0
0
0
0
2
0
4
8
40
0
0
0
0
0
-2
-2
0
12
0
0
0
0
0
3
-1
0
36
0
0
0
0
0
1
6
0
-29
0
0
0
0
0
2
0
-4
97
0
0
0
0
0
0
2
25
-33
0
0
0
0
0
0
-4
-4
28
0
0
0
0
0
0
1
8
23
0
0
0
0
0
1
4
0
6
0
0
0
0
0
0
1
-9
7
0
0
0
0
0
-1
3
14
-39
0
0
0
0
0
0
-1
-4
10
0
0
0
0
3
0
0
2
-38
0
0
16
-3
0
-1
38
-45
7
-14
0
0
0
0
0
-2
-39
32
17
0
0
0
0
0
-28
-16
17
-28
0
0
0
0
0
13
7
-6
-4
0
16
0
0
-2
-16
-14
41
-8
0
0
0
0
0
8
-19
-1
24
0
0
-15
0
-1
0
3
21
-17
0
0
0
0
0
31
0
18
0
0
-7
0
0
-1
-12
25
10
12
0
0
0
0
-2
1
-22
20
3
0
0
0
0
0
-44
-1
29
-2
0
0
0
0
-2
30
-1
-11
22
0
-6
0
0
5
11
-33
-13
16
0
0
0
0
0
-1
19
26
-9
0
0
-30
0
0
-31
-7
12
46
0
0
0
0
0
-5
-2
46
-13
0
0
0
0
-3
46
-86
33
0
0
0
0
0
0
3
-12
37
0
0
0
0
0
0
-3
-51
66
0
0
0
0
0
0
0
12
32
0
0
0
0
0
0
13
17
-23
0
0
0
0
0
0
9
-8
-28
0
0
0
4
0
0
-7
5
10
0
0
0
0
0
0
-26
2
47
0
0
0
0
0
0
6
-51
-3
0
0
0
0
0
4
-2
-9
16
0
0
0
0
0
0
-2
-6
-21
0
0
0
0
0
0
5
0
1
0
0
3
0
0
2
-4
24
28
0
0
0
0
0
2
1
-12
32
0
0
0
12
0
0
0
-6
0
0
0
0
0
0
0
31
4
11
0
0
0
0
0
0
-27
-5
-17
12
0
0
0
-5
-2
0
-15
-10
2
0
0
0
0
0
8
31
58
-56
0
0
0
0
1
2
12
50
-20
0
0
0
0
0
7
-25
46
-1
0
0
0
0
-2
0
-4
-64
32
0
0
0
0
0
0
9
14
11
0
0
0
0
-2
21
-2
-7
17
0
0
0
0
-1
2
1
-32
2
0
0
0
0
0
2
34
2
-32
0
0
0
0
0
-8
-5
14
5
0
0
0
0
0
25
1
-33
35
0
0
0
0
0
-1
23
10
-16
0
0
0
0
-4
-1
-3
14
-22
0
0
0
0
0
4
-7
124
-32
0
0
0
4
2
-31
0
26
23
0
0
0
0
0
0
50
6
0
0
0
0
0
0
-2
1
25
0
0
0
0
0
0
0
31
-81
0
0
0
0
0
0
4
-9
-29
0
0
0
0
0
0
0
-17
14
0
0
0
0
1
0
1
-1
-28
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
-3
6
-8
0
0
0
0
0
0
-3
-29
25
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
6
20
-42
0
0
0
0
0
0
2
-1
-24
0
0
0
0
-6
0
0
0
64
0
0
0
0
0
2
0
6
-7
0
0
0
0
0
0
0
-7
-11
0
0
0
0
0
-1
-4
1
28
0
0
0
2
0
-2
-3
-21
22
-29
0
0
0
1
0
-1
-10
92
-53
0
0
1
0
0
3
-23
69
21
0
0
0
3
0
8
0
14
-24
0
0
1
0
0
2
-2
60
-29
0
0
0
0
-2
1
0
55
-21
0
0
5
0
0
-4
3
-14
-7
0
0
0
-1
-1
2
0
-24
61
0
0
0
0
0
1
7
0
3
0
0
0
0
0
0
14
-37
19
0
0
-1
0
3
0
1
66
-4
0
0
0
0
0
4
4
5
9
0
0
4
0
0
2
0
-36
-21
0
0
0
0
-1
0
0
82
-68
0
0
-3
0
0
0
0
-7
-40
0
0
0
0
0
1
0
15
-23
0
0
0
0
0
-1
-28
69
0
0
0
0
0
0
0
1
-67
0
0
0
-9
0
0
0
-23
53
0
0
0
0
0
0
2
-8
37
0
0
0
-1
0
0
-2
7
-51
0
0
0
0
0
0
0
-4
7
0
0
0
21
0
0
0
0
9
0
0
0
0
0
0
-1
-2
14
0
0
0
0
0
0
0
14
17
0
0
0
0
0
0
0
-5
42
0
0
0
-10
0
0
-2
-4
-11
0
0
0
0
0
0
-2
0
-2
0
0
0
1
0
1
3
0
-22
0
0
0
0
0
0
0
-12
55
0
0
0
49
0
0
3
-3
-87
0
0
0
0
0
0
0
1
-45
0
0
0
0
0
-3
2
-15
54
-47
0
0
0
-1
6
1
24
-37
-21
0
0
0
-6
0
6
8
47
7
0
0
0
3
-5
13
5
-5
4
0
0
0
0
0
0
7
22
-62
0
0
0
1
13
2
-10
24
-35
0
0
0
0
0
-1
2
4
-115
0
0
0
1
8
-5
1
-1
-35
0
0
0
0
0
0
0
-14
16
0
0
0
0
0
0
-1
-36
14
0
0
0
0
0
-9
0
114
-57
0
0
0
11
-5
16
6
26
-27
0
0
0
0
0
0
0
26
-6
0
0
0
0
0
0
1
20
-43
0
0
0
0
0
0
0
26
-9
0
0
0
7
-24
3
0
34
11
0
0
0
0
0
0
-19
-13
0
0
0
0
0
0
-2
13
12
0
0
0
0
0
0
3
0
-23
0
0
0
0
0
0
6
1
-7
0
0
0
0
0
0
-4
0
47
0
0
0
0
0
0
-4
10
-20
0
0
0
0
0
0
0
0
30
0
0
0
0
-1
0
-1
2
4
0
0
0
0
0
0
0
-10
60
0
0
0
0
0
-3
0
4
32
0
0
0
0
0
0
-4
-5
-6
0
0
0
0
3
-4
-3
8
6
0
0
0
0
0
0
1
1
41
0
0
0
0
-1
4
1
-8
28
0
0
0
0
0
-1
0
9
9
0
0
0
0
-24
-2
5
1
-2
0
0
-3
0
-5
-60
87
31
16
0
0
0
0
6
10
-2
-34
12
0
0
0
2
-4
10
-27
-36
31
0
0
0
0
1
4
35
-16
-19
0
0
6
0
0
-29
-11
-45
25
0
0
0
0
0
40
21
-35
-33
0
0
0
-1
0
-5
-8
-38
5
0
0
0
0
0
-63
-41
-5
43
0
0
0
0
0
-34
32
5
-90
0
0
0
0
-1
5
30
-49
42
0
0
0
0
0
1
-23
-101
38
0
0
0
0
0
-5
-37
-17
53
0
0
3
0
0
8
15
-10
-2
0
0
0
0
0
-6
-5
-36
52
0
0
0
0
0
-5
-18
-63
47
0
0
0
0
-1
7
37
1
-16
0
0
0
0
0
17
73
-4
0
0
0
0
0
0
-1
5
-30
46
0
0
0
0
0
0
-33
19
2
0
0
0
0
0
0
8
3
27
0
0
0
0
0
-3
1
-31
6
0
0
0
0
-1
-8
7
-12
23
0
0
0
0
0
5
3
-114
107
0
0
0
0
0
-4
16
-36
41
0
0
-1
2
0
5
31
-22
53
0
0
0
0
0
-1
1
-27
12
0
0
0
0
0
1
-25
-12
26
0
0
0
0
0
6
27
-40
-26
0
0
1
0
0
-1
5
-37
-8
0
0
0
0
0
0
2
1
27
0
0
0
-1
0
0
8
-33
38
0
0
0
0
0
5
-5
-52
23
0
0
0
0
0
14
-31
-72
115
0
0
0
0
-6
0
4
1
41
0
0
0
0
6
0
6
16
33
0
0
0
0
1
0
0
-10
5
0
0
0
0
0
7
-5
28
-30
0
0
0
0
1
-6
0
-3
-9
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-3
-1
0
27
0
0
0
0
0
0
-4
18
6
0
0
0
0
2
0
0
26
-17
0
0
0
0
-1
0
-2
-36
50
0
0
0
0
-4
0
-2
-6
14
0
0
0
0
0
0
-1
-5
-31
0
0
0
0
-2
0
0
12
7
0
0
0
0
0
0
0
15
17
0
0
0
0
24
0
0
3
-18
0
0
0
0
0
-4
1
-40
23
0
0
0
0
0
0
0
22
39
0
0
0
0
0
0
0
-28
30
0
0
0
0
0
0
-5
8
30
0
0
0
0
0
0
0
-10
-42
0
0
0
0
0
3
0
-5
-34
0
0
0
0
0
0
-1
-32
74
0
0
0
0
-1
0
0
6
5
0
0
0
0
0
1
3
-11
29
0
0
0
0
-3
0
0
-66
63
0
0
0
0
3
0
0
-44
55
0
0
0
0
3
-1
0
12
46
0
0
0
0
0
0
0
18
-2
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
-3
0
0
0
0
0
12
0
0
5
27
0
0
0
-2
0
0
5
-78
55
0
0
0
0
0
1
-3
-20
4
0
0
0
5
0
0
-21
-47
32
0
0
0
0
0
0
-1
26
-11
0
0
0
0
0
0
9
54
-9
0
0
0
0
0
0
-3
9
0
0
0
0
8
0
0
-6
5
-51
0
0
0
0
0
0
-1
-1
-13
0
0
0
0
0
0
-30
-49
12
0
0
0
0
0
0
-4
-42
44
0
0
0
-2
0
0
4
-22
-11
0
0
0
0
0
0
2
-4
-12
0
0
0
0
0
0
-13
21
34
0
0
0
0
0
0
1
-15
27
0
0
0
7
0
0
1
-4
-43
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
5
-19
32
0
0
0
0
0
0
0
-12
31
0
0
0
0
0
0
-1
-16
31
0
0
0
0
0
0
0
5
-46
0
0
0
0
0
0
-6
18
-29
0
0
0
0
0
0
0
14
27
0
0
0
31
0
0
0
-24
-22
0
0
0
0
0
0
1
-39
2
0
0
0
0
0
0
3
-17
34
0
0
0
0
0
-2
2
-4
-23
0
0
0
3
0
0
0
-39
39
0
0
0
0
0
0
4
-12
86
0
0
0
0
0
0
0
28
-22
0
0
0
0
0
0
1
9
34
0
0
0
-11
0
0
0
2
23
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
21
-43
-21
0
0
0
0
0
-2
-9
-33
65
0
0
0
0
0
0
65
-29
-4
0
0
0
0
-4
1
-13
23
24
0
0
0
0
0
-1
0
-3
39
0
0
0
0
0
3
1
44
27
0
0
0
0
0
0
6
-12
35
0
0
0
0
3
-1
-21
0
-17
0
0
0
0
0
0
1
-8
59
0
0
0
0
0
0
5
-15
51
0
0
0
0
0
0
-1
56
-38
0
0
0
0
2
0
2
25
-39
0
0
0
0
0
0
1
-8
68
0
0
0
0
0
0
1
-42
-32
0
0
0
0
0
0
-1
-7
1
0
0
0
0
-2
-1
0
-1
8
0
0
0
0
0
0
-9
-33
53
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
-8
10
0
0
0
0
0
0
4
-10
-28
0
0
0
0
0
0
0
-22
19
0
0
0
0
0
0
0
31
-51
0
0
0
0
0
0
8
-13
42
0
0
0
0
-1
0
-13
20
-10
0
0
0
0
0
0
2
-8
43
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
-48
31
0
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
3
13
17
0
0
0
0
0
0
-1
3
31
0
0
0
0
0
1
0
4
15
0
0
25
-2
0
-3
37
36
-8
0
0
0
0
0
2
5
18
-9
0
0
0
2
0
1
4
-23
32
0
0
0
0
-1
0
3
-30
20
0
0
46
0
0
-1
5
-26
-2
0
0
0
0
0
0
7
-28
7
0
0
0
-3
0
0
0
-3
-6
0
0
0
0
0
0
0
47
-13
0
0
-4
0
0
0
-19
47
-12
0
0
0
0
0
-3
0
-11
10
0
0
0
-9
0
0
16
25
-14
0
0
0
0
0
0
-8
27
-14
0
0
-14
0
0
0
15
16
-37
0
0
0
0
0
0
-6
14
28
0
0
0
-7
0
0
5
-40
31
0
0
0
0
0
0
0
20
0
0
0
-4
0
0
2
23
-56
38
0
0
0
0
0
0
7
63
-51
0
0
0
1
0
-1
0
-25
28
0
0
0
0
0
-6
19
2
-13
0
0
13
0
0
0
-33
26
16
0
0
0
0
0
1
0
23
-6
0
0
0
25
0
0
2
-65
19
0
0
0
0
0
0
-3
63
-16
0
0
0
0
0
4
25
-73
10
0
0
0
0
0
0
3
34
-11
0
0
0
0
0
-2
13
-40
78
0
0
0
0
0
0
5
-45
9
0
0
-19
0
0
-3
0
0
15
0
0
0
0
0
0
-2
-4
27
0
0
0
10
0
0
-2
17
29
0
0
0
0
0
-1
0
7
43
0
0
0
0
0
1
-25
15
29
0
0
0
0
-1
-1
2
-1
-9
0
0
0
0
0
0
-6
-1
-6
0
0
0
0
-1
0
-17
-11
109
0
0
0
0
0
0
0
-66
37
0
0
0
0
0
3
5
-10
-27
0
0
0
0
0
0
-4
-35
49
0
0
0
0
0
-4
-1
0
-2
0
0
0
0
0
-1
0
-28
43
0
0
0
0
0
1
0
-67
92
0
0
0
0
0
0
-3
2
9
0
0
0
0
2
-3
0
10
7
0
0
0
0
0
0
-3
-9
18
0
0
0
0
0
0
1
-5
-16
0
0
0
0
0
0
0
3
13
0
0
0
0
2
3
0
12
-6
0
0
0
0
0
0
-7
-106
16
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
8
55
-86
0
0
0
0
1
0
2
-22
83
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
-4
2
9
8
0
0
0
0
0
-1
0
-31
17
0
0
0
0
0
0
-1
-7
19
0
0
0
0
0
-1
0
1
7
0
0
0
0
0
0
0
2
37
0
0
0
0
0
0
-1
4
12
0
0
0
0
0
0
-8
-8
21
0
0
0
0
0
-2
0
-17
-2
0
0
0
0
0
0
4
19
18
0
0
0
0
0
-1
0
0
-3
0
0
0
0
-3
-1
-1
20
-8
0
0
0
-7
0
0
-40
75
-38
0
0
0
0
0
-3
-6
26
73
0
0
0
24
0
0
24
-48
-15
0
0
0
0
0
0
0
9
29
0
0
0
-2
0
0
-9
45
2
0
0
0
0
0
0
-1
-31
31
0
0
0
15
0
-1
0
-35
-21
0
0
0
0
0
-2
0
1
5
0
0
0
0
0
0
2
-5
13
0
0
0
0
0
0
0
-1
-39
0
0
0
9
0
0
1
17
57
0
0
0
0
0
0
-3
29
48
0
0
0
0
0
-2
-1
41
9
0
0
0
0
0
0
0
26
39
0
0
0
-52
0
0
0
1
41
0
0
0
0
0
0
2
-12
8
0
0
0
0
0
0
3
-45
28
0
0
0
0
0
0
5
2
34
0
0
0
1
0
0
0
-46
51
0
0
0
0
0
0
0
-7
5
0
0
0
3
0
0
-3
3
17
0
0
0
0
0
0
0
-16
53
0
0
0
36
0
0
2
-22
-6
0
0
0
0
0
0
0
23
6
0
0
0
0
0
0
-7
-30
39
0
0
0
0
0
0
0
28
-10
0
0
0
11
0
0
1
-50
8
0
0
0
0
0
0
0
0
37
0
0
0
2
0
0
0
-26
45
0
0
0
0
0
0
0
17
-8
0
0
0
-24
0
1
-1
-24
13
0
0
0
0
0
0
0
-34
-2
0
0
0
0
0
10
-17
-31
5
0
0
0
0
0
-4
0
-10
62
0
0
0
0
0
0
7
-59
3
0
0
0
0
0
3
2
-18
3
0
0
0
0
0
0
0
5
50
0
0
0
0
0
2
0
-12
13
0
0
0
0
0
-2
-2
9
6
0
0
0
0
6
-8
-4
9
1
0
0
0
0
0
0
4
27
-66
0
0
0
0
3
-2
0
33
21
0
0
0
0
-3
0
-9
-18
92
0
0
0
0
-7
-3
1
-30
7
0
0
0
0
0
0
-1
10
25
0
0
0
0
0
-7
-1
2
14
0
0
0
0
0
0
0
-5
10
0
0
0
0
-5
12
-1
-5
-10
0
0
0
0
0
0
-8
4
26
0
0
0
0
0
6
-4
-15
-28
0
0
0
0
0
0
-1
1
32
0
0
0
0
0
8
0
-6
21
0
0
0
0
0
0
0
12
26
0
0
0
0
0
-3
0
29
22
0
0
0
0
0
0
0
6
-4
0
0
0
0
-1
18
1
-26
-8
0
0
0
0
0
0
-1
6
23
0
0
0
0
0
0
4
-28
9
0
0
0
0
0
0
0
2
-14
0
0
0
0
3
2
-5
-10
49
0
0
0
0
0
0
0
-1
86
0
0
0
0
0
0
-12
-9
48
0
0
0
0
0
0
-1
10
41
0
0
0
0
-5
-2
-1
-24
3
0
0
1
0
0
-5
-22
-58
51
0
0
0
0
0
-1
1
-12
-5
0
0
0
0
0
0
-6
12
-50
0
0
0
0
0
0
3
-54
30
0
0
2
0
0
-2
13
7
-22
0
0
0
0
0
2
-5
-32
66
0
0
0
0
0
0
5
-21
30
0
0
0
0
0
-1
-3
-8
-1
0
0
0
0
0
23
-3
19
-13
0
0
0
0
0
0
-5
1
13
0
0
0
0
0
-1
-8
-11
23
0
0
0
0
0
-1
-5
-20
17
0
0
16
0
0
-6
4
35
-18
0
0
0
0
0
0
-4
13
23
0
0
0
0
0
0
-1
-22
30
0
0
0
0
0
5
0
-4
-2
0
0
0
0
0
-4
5
4
30
0
0
0
0
0
-3
0
24
51
0
0
0
0
0
1
8
-37
22
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
14
-16
16
0
0
0
0
0
1
-1
-41
13
0
0
0
0
0
-1
-5
22
27
0
0
0
0
0
4
0
15
-32
0
0
0
0
0
-3
-23
-35
40
0
0
0
0
0
0
-1
53
-27
0
0
0
3
0
0
5
-29
-10
0
0
0
0
1
0
2
-4
11
0
0
0
0
0
1
0
6
-29
0
0
0
0
0
3
-3
11
14
0
0
0
4
0
-1
-2
-1
-12
0
0
0
0
0
-1
2
22
57
0
0
0
0
0
5
7
-22
7
0
0
0
0
-4
0
0
-20
25
0
0
0
0
0
0
-2
19
10
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
-1
-4
-28
15
0
0
0
0
0
-1
0
-5
-4
0
0
0
0
0
0
-1
-18
6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-4
-9
32
0
0
0
0
0
0
0
-33
53
0
0
0
0
0
0
0
2
45
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-1
0
-12
5
0
0
0
0
0
0
0
-15
51
0
0
0
0
0
0
0
4
62
0
0
0
0
-1
0
0
-12
58
0
0
0
0
0
0
0
11
-19
0
0
0
0
0
0
0
-24
29
0
0
0
0
0
0
0
-24
5
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
-35
37
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
0
-21
12
0
0
0
0
0
0
0
41
-29
0
0
0
0
0
0
0
-59
23
0
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
5
26
0
0
0
0
0
0
0
14
53
0
0
0
0
0
0
0
-85
-6
0
0
0
0
0
0
-2
28
-5
0
0
0
0
0
0
0
-19
55
0
0
0
0
0
-1
0
-20
52
0
0
0
-6
0
-3
-5
-46
64
0
0
0
0
0
0
0
-2
45
0
0
0
-12
0
0
1
-17
-12
0
0
0
0
0
0
0
8
-43
0
0
0
1
0
0
3
-40
51
0
0
0
0
0
0
0
16
5
0
0
0
-13
0
0
-2
11
48
0
0
0
0
0
0
0
-52
-6
0
0
0
0
0
2
3
-9
37
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
2
-25
39
0
0
0
0
0
0
3
-24
50
0
0
0
0
0
0
0
-19
56
0
0
0
0
0
0
0
16
-61
0
0
0
1
0
0
0
-4
42
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-3
-11
0
0
0
-7
0
0
0
3
41
0
0
0
0
0
0
0
-13
34
0
0
0
0
0
0
1
4
43
0
0
0
0
0
0
0
-46
22
0
0
0
-23
0
0
1
-51
-29
0
0
0
0
0
0
0
10
9
0
0
0
1
0
0
0
-6
17
0
0
0
0
1
0
0
-39
20
0
0
0
5
0
1
0
9
-26
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
8
83
0
0
0
0
0
0
0
-25
24
0
0
0
9
0
0
0
6
-32
0
0
0
0
0
0
0
7
-24
0
0
0
0
0
8
3
-8
-41
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
-1
0
5
-4
0
0
0
0
0
0
2
-1
44
0
0
0
0
0
0
0
-27
6
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
-24
50
0
0
0
0
1
0
1
9
32
0
0
0
0
0
0
-3
6
-65
0
0
0
0
-6
0
-1
8
34
0
0
0
0
0
0
0
1
36
0
0
0
0
0
-1
0
3
42
0
0
0
0
0
0
0
0
31
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
-5
58
0
0
0
0
0
0
0
-65
40
0
0
0
0
0
0
0
-8
51
0
0
0
0
-1
0
0
7
7
0
0
0
0
0
0
0
-5
30
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
8
-42
20
0
0
0
0
0
4
0
0
30
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
2
6
14
0
0
0
0
0
0
-3
-25
-3
0
0
0
0
1
0
1
-25
62
0
0
0
0
0
0
0
9
15
0
0
0
0
0
-1
0
-1
14
0
0
0
0
0
-1
1
3
4
0
0
0
0
16
4
-1
-21
35
0
0
-14
0
0
2
-25
-57
-8
0
0
0
0
0
0
1
-31
64
0
0
0
0
0
0
5
-3
-25
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
-9
-44
37
0
0
0
0
0
0
-1
8
-4
0
0
0
1
0
0
0
80
-11
0
0
0
0
0
0
5
2
-8
0
0
-5
0
0
2
-3
-24
13
0
0
0
0
0
0
0
-22
59
0
0
0
1
0
-1
0
-14
36
0
0
0
0
0
0
0
-30
5
0
0
-1
0
0
0
-7
-5
37
0
0
0
0
0
0
0
19
-70
0
0
0
2
0
0
0
19
-1
0
0
0
0
0
-2
0
-8
34
0
0
0
0
0
1
0
42
36
0
0
0
0
0
0
0
-2
7
0
0
0
-1
0
0
0
-32
42
0
0
0
0
0
0
0
-7
24
0
0
-5
0
0
0
2
-8
-16
0
0
0
0
0
0
0
-5
40
0
0
0
11
0
0
2
-10
-40
0
0
0
0
0
0
0
-46
26
0
0
-3
0
0
0
21
-42
18
0
0
0
0
0
0
0
48
16
0
0
0
-2
0
0
3
62
-47
0
0
0
0
0
0
0
-25
-2
0
0
10
0
0
0
2
-75
1
0
0
0
0
0
0
0
6
-26
0
0
0
1
0
0
2
-13
-14
0
0
0
0
0
0
0
-22
53
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
-8
32
0
0
0
0
0
0
0
5
20
0
0
0
0
-1
0
0
-18
6
0
0
0
0
0
3
1
16
-32
0
0
0
0
0
0
0
-9
-33
0
0
0
0
0
0
0
-29
5
0
0
0
0
0
8
0
-6
-2
0
0
0
0
0
0
-1
0
24
0
0
0
0
0
0
2
-41
-4
0
0
0
0
0
0
2
-5
26
0
0
0
0
-1
-1
5
8
50
0
0
0
0
0
-3
0
-5
90
0
0
0
0
0
0
2
5
11
0
0
0
0
0
1
0
-1
63
0
0
0
0
-4
8
0
1
-34
0
0
0
0
0
0
0
-14
21
0
0
0
0
0
0
0
2
-51
0
0
0
0
0
0
0
5
39
0
0
0
0
0
0
0
-9
77
0
0
0
0
0
0
0
-8
69
0
0
0
0
0
0
0
-30
52
0
0
0
0
0
0
0
-3
34
0
0
0
0
0
-1
0
3
12
0
0
0
0
0
0
-1
5
33
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
-2
0
19
17
0
0
0
0
0
0
0
0
69
0
0
0
0
0
-8
3
15
-23
0
0
0
0
0
0
-5
0
23
0
0
0
0
0
0
0
6
8
0
0
0
18
0
0
-3
3
24
0
0
0
0
0
0
-2
0
58
0
0
0
0
0
-4
-3
0
19
0
0
0
0
0
0
1
0
-5
0
0
0
35
0
0
-3
-1
-1
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-15
40
0
0
0
0
0
0
0
4
10
0
0
0
-21
0
-2
1
-8
21
0
0
0
0
0
0
-2
5
-10
0
0
0
32
0
1
2
-8
-9
0
0
0
0
0
6
1
-1
82
0
0
0
15
0
1
0
4
-24
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
0
4
-40
0
0
0
0
0
0
0
-8
9
0
0
0
1
0
0
0
-9
21
0
0
0
0
0
0
0
-6
-9
0
0
0
-8
0
0
-1
9
18
0
0
0
0
0
0
0
1
16
0
0
0
-13
0
0
0
-5
3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
43
-15
0
0
0
0
0
0
0
4
-10
0
0
0
-9
0
0
0
-8
23
0
0
0
0
0
0
1
10
33
0
0
0
-23
0
0
0
-31
8
0
0
0
0
0
0
0
4
49
0
0
0
40
0
0
0
1
6
0
0
0
0
0
0
0
7
-22
0
0
0
0
3
0
-6
-8
21
0
0
0
0
0
0
0
-3
-35
0
0
0
0
0
0
0
1
-48
0
0
0
0
1
0
-1
3
5
0
0
0
0
0
0
-4
1
-8
0
0
0
0
0
-4
0
2
6
0
0
0
0
0
0
1
1
6
0
0
0
0
0
1
0
8
0
0
0
0
0
0
-1
0
-1
27
0
0
0
0
0
-1
-6
-10
18
0
0
0
0
-1
0
2
-3
11
0
0
0
0
14
3
2
13
-17
0
0
0
0
0
0
0
-3
43
0
0
0
0
0
-8
2
-5
-7
0
0
0
0
2
-2
-1
4
-20
0
0
0
0
-3
-36
0
0
29
0
0
0
0
0
0
0
-14
-9
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
-1
-8
0
0
0
0
0
0
0
-23
54
0
0
0
0
0
0
0
9
45
0
0
0
0
0
0
2
-1
-41
0
0
0
0
0
1
-4
2
38
0
0
0
0
3
-4
-2
8
5
0
0
0
0
0
0
0
-37
34
0
0
0
0
0
0
2
0
53
0
0
0
0
-8
0
10
-8
-4
0
0
0
0
-4
0
0
14
19
0
0
0
0
0
0
0
-4
64
0
0
0
0
0
4
0
9
-2
0
0
0
0
0
-1
5
1
-4
0
0
0
0
-8
2
-1
12
4
0
0
-21
7
-37
-60
16
15
16
10
-5
0
0
-27
-37
-19
6
19
-2
40
0
-40
-17
-23
43
-45
-13
-8
32
0
0
6
53
-22
10
2
-26
-25
6
-62
5
1
-45
-54
95
-5
3
0
0
22
29
53
-115
-11
-14
7
0
-31
0
-1
20
-36
24
-18
-9
0
0
-5
-20
-13
-98
6
-11
35
26
33
17
-5
-22
-18
-21
9
0
0
0
3
2
20
-31
-24
9
0
0
52
-8
28
-25
-10
-49
5
0
0
0
-1
3
-27
-23
90
-32
0
-5
1
0
-16
-14
-68
38
10
0
0
0
1
3
8
-5
54
-123
0
0
15
0
2
-38
-2
57
-23
0
0
0
0
0
-5
48
46
-92
0
-22
59
-1
-9
22
-31
19
0
0
0
0
5
-29
-16
58
12
0
0
0
-9
-1
-5
-8
-9
21
0
0
0
0
0
-5
-37
40
28
0
0
69
58
0
-6
16
-67
-17
0
0
0
0
0
-5
-3
-86
82
0
0
0
19
0
0
7
-46
12
0
0
0
0
1
3
5
16
-22
0
0
1
1
0
4
-33
8
34
0
0
0
0
0
-4
3
24
-28
0
0
0
-2
0
3
13
-30
-29
0
0
0
0
0
3
-1
-62
-32
0
0
43
0
0
3
22
7
-111
0
0
0
0
-1
0
2
-63
-30
0
0
0
1
0
-1
3
-21
2
0
0
0
0
0
0
-4
1
-47
0
0
0
0
79
60
38
-3
9
-19
35
0
0
62
40
9
42
-68
23
50
0
0
-37
78
-59
2
40
7
-7
0
0
-34
-31
83
-36
25
-48
109
0
0
-5
8
-32
6
32
-11
67
0
0
5
75
-7
10
-29
-9
-15
0
0
1
9
-5
-77
44
-4
-32
0
0
-12
-44
-13
65
-28
13
-9
0
0
16
-42
-18
-3
11
11
0
0
0
-14
70
-18
-9
33
-38
0
0
0
-5
-8
17
-37
-75
45
0
0
0
17
8
-24
-23
63
6
0
0
0
0
-2
32
-14
-41
35
0
0
0
1
-5
13
-4
47
-46
0
0
0
1
0
0
-29
-26
-33
0
0
0
5
4
2
-2
-37
19
0
0
0
6
-14
53
-41
18
0
0
0
0
0
-46
5
28
85
0
0
0
0
0
-5
20
-2
15
0
0
0
0
5
-14
-25
2
53
0
0
0
0
0
-40
1
45
-20
0
0
0
0
1
-12
37
-48
12
0
0
0
0
0
-1
-22
24
-23
0
0
0
0
1
-4
-5
-36
-12
0
0
0
0
0
3
13
-26
24
0
0
0
0
-2
0
-4
2
1
0
0
0
0
-8
0
-3
13
-2
0
0
0
0
0
2
0
-72
22
0
0
0
0
0
0
0
-24
17
0
0
0
0
-3
0
0
-52
56
0
0
0
0
0
0
0
-4
47
0
0
0
0
-2
3
2
-8
13
0
0
0
47
-23
0
60
7
34
-9
-12
0
0
-9
-31
53
11
57
4
29
0
-32
-2
5
13
-50
-6
-51
16
0
0
-4
-39
8
38
-24
34
42
0
-32
4
8
47
-39
-37
7
-6
0
0
0
-14
-12
39
-6
57
-10
0
-81
0
1
58
-106
15
12
39
0
0
24
13
-78
-13
19
35
34
0
-9
0
2
10
-68
87
16
0
0
0
-3
-3
13
-16
-2
10
0
0
65
-2
15
67
-20
1
-77
0
0
0
9
-24
-11
-35
52
27
0
0
0
0
0
34
-17
-17
9
0
0
0
0
1
-5
28
15
30
0
0
51
0
-3
15
-30
17
-21
0
0
0
0
0
9
-3
-21
42
0
0
-39
4
-37
42
-79
63
0
0
0
0
6
-18
-8
-24
58
0
0
0
-4
0
0
-4
-11
-1
0
0
0
0
0
-1
26
36
18
0
0
0
-10
0
-1
5
-52
11
0
0
0
0
2
-1
-18
27
-81
0
0
0
-9
0
-2
-24
10
-12
0
0
0
0
0
-5
-13
17
50
0
0
0
1
0
4
-11
-34
21
0
0
0
0
0
0
1
30
21
0
0
0
2
0
-1
10
-63
11
0
0
0
0
0
0
0
-9
-26
0
0
0
0
0
0
-14
-48
35
0
0
0
0
0
0
1
28
-2
0
0
0
-19
0
0
0
-26
-2
0
0
0
0
0
0
1
0
21
0
0
0
0
40
-7
26
27
-44
26
48
0
0
-11
-10
2
10
33
42
66
0
0
-5
34
141
-75
-3
-19
-19
0
0
-22
-13
-6
24
77
54
17
0
0
-8
-39
-52
-4
-15
37
38
0
0
-8
-45
65
39
24
-2
69
0
0
0
-5
-9
-24
57
16
29
0
0
-87
-16
11
85
103
15
-18
0
0
-5
10
69
20
-18
-30
0
0
0
-60
-25
-30
32
45
-22
0
0
0
-4
6
77
-36
78
-65
0
0
0
72
8
-69
-36
83
-84
0
0
0
0
-1
5
-29
58
-8
0
0
0
-3
1
25
51
21
-57
0
0
0
0
1
33
-55
46
10
0
0
0
104
-15
-23
-60
58
-15
0
0
0
-12
0
-11
0
-22
0
0
0
0
34
9
-17
-58
47
0
0
0
0
0
-1
20
-27
5
0
0
0
0
-2
17
-42
22
43
0
0
0
0
3
4
3
-2
39
0
0
0
0
-3
41
-23
12
31
0
0
0
0
0
4
-9
9
-37
0
0
0
0
13
19
-19
-21
-22
0
0
0
0
-2
0
16
-33
29
0
0
0
0
-3
0
-4
-7
42
0
0
0
0
0
0
4
-39
63
0
0
0
0
0
-7
15
-24
7
0
0
0
0
0
0
-3
-5
-3
0
0
0
0
-2
1
1
-9
22
0
0
0
0
0
0
1
2
35
0
0
0
0
-1
3
1
-2
-18
0
0
18
38
1
-80
-82
40
-25
-7
-2
0
0
-1
-8
12
-31
10
-33
27
0
12
0
3
-33
1
41
-86
22
0
0
1
-5
-67
21
36
-9
71
-55
3
0
1
-9
-27
65
-4
6
0
0
0
-7
-5
9
-10
-44
-10
0
-15
0
0
4
21
1
-15
29
0
0
0
0
1
-3
-18
26
24
13
1
0
-7
148
-132
-5
6
0
0
0
0
12
-8
20
-39
-35
0
0
8
0
-1
51
-13
116
-72
0
0
0
0
-1
18
-40
-1
-19
0
7
0
0
0
8
47
84
-22
0
0
0
0
0
0
-24
45
28
0
0
18
0
1
-2
50
48
-23
0
0
0
0
0
-4
-4
18
-9
0
17
0
0
-26
-41
30
-1
0
0
0
0
0
-6
5
13
-57
0
0
0
-6
0
0
-52
-55
63
0
0
0
0
0
0
-7
14
14
0
0
-82
1
0
1
-41
-45
76
0
0
0
0
1
2
7
-88
9
0
0
0
36
0
0
9
17
-44
0
0
0
0
0
0
-5
27
2
0
0
-7
1
0
-5
-45
-9
87
0
0
0
0
0
-1
7
2
-4
0
0
0
0
0
-3
0
52
0
0
0
0
0
0
2
1
-7
72
0
0
-58
0
0
2
13
-17
-7
0
0
0
0
0
0
0
-46
9
0
0
0
13
0
1
0
-41
-8
0
0
0
0
0
0
0
4
0
0
0
0
0
-47
-36
-32
-12
-49
-32
57
0
0
22
38
8
-27
-59
19
-3
0
0
8
-9
50
7
-28
39
-72
0
0
-25
-52
69
51
-8
-60
36
0
0
0
-60
-37
10
50
-42
-2
0
0
0
0
6
-23
3
-4
-35
0
0
0
0
-1
-18
-6
-1
27
0
0
-4
57
6
28
-36
43
-7
0
0
0
16
-90
-8
-29
62
0
0
0
0
-17
-8
-52
29
40
0
0
0
0
-1
9
-23
54
-42
0
0
0
0
46
25
54
58
-81
0
0
0
0
-4
-3
-6
12
-25
0
0
0
0
-4
1
-3
-47
10
0
0
0
0
0
13
1
-8
-18
0
0
0
0
-9
-4
23
44
-34
0
0
0
0
-39
-6
11
-14
0
0
0
0
0
-4
1
-100
37
0
0
0
0
0
0
-7
-18
-19
0
0
0
0
0
-33
-1
-42
55
0
0
0
0
0
1
-25
-80
72
0
0
0
0
0
0
-2
-24
-30
0
0
0
0
0
-1
-1
-36
69
0
0
0
0
6
-16
-4
-15
79
0
0
0
0
0
1
0
1
-6
0
0
0
0
0
-2
0
8
35
0
0
0
0
0
0
0
-17
41
0
0
0
0
0
4
-1
1
9
0
0
0
0
0
0
0
4
60
0
0
0
0
0
0
1
-4
12
0
0
0
0
0
0
0
-4
32
0
0
0
0
0
0
2
-5
-2
0
0
0
-23
5
-44
48
-78
42
6
2
0
0
0
33
26
-84
-36
-6
38
0
-66
0
-4
26
-1
6
38
-42
0
0
-5
4
-19
25
23
-29
20
0
42
0
-8
5
-8
-59
-35
1
0
0
0
0
14
-36
-20
50
14
0
3
0
0
-40
-12
27
20
42
0
0
0
-24
56
39
94
58
-17
0
13
0
5
-26
-32
-19
-8
0
0
0
0
5
-18
-15
24
21
0
0
22
0
0
16
-34
-9
20
0
0
0
0
2
-51
55
31
-35
0
0
-1
0
-1
-9
-4
-13
-2
0
0
0
0
-1
2
-6
71
-16
0
0
0
0
0
1
-24
-12
39
0
0
0
-2
5
4
-5
23
-4
0
0
54
0
20
-43
-30
-55
0
0
0
0
0
1
-2
-8
23
0
0
0
8
0
-2
-4
-5
30
0
0
0
0
0
0
-18
-2
5
0
0
0
-27
0
0
-10
7
36
0
0
0
0
0
2
-5
-13
48
0
0
0
86
0
0
1
-52
18
0
0
0
0
0
-5
8
-10
26
0
0
0
1
0
0
0
38
-39
0
0
0
0
0
0
0
-39
95
0
0
0
-30
0
0
2
0
4
0
0
0
0
0
-8
0
-5
9
0
0
0
1
0
-1
-1
1
62
0
0
0
0
0
0
1
2
10
0
0
0
-25
0
-2
0
13
0
0
0
0
0
0
-2
4
1
8
0
0
0
0
22
-80
19
-1
-42
13
-24
0
0
48
11
-30
-43
115
-14
-4
0
0
-3
-14
-12
-32
59
-26
38
0
0
11
24
9
7
-67
-55
79
0
0
1
-4
30
18
30
58
-38
0
0
16
44
-9
7
1
-24
-8
0
0
0
-3
8
27
2
-11
11
0
0
-23
143
31
0
-5
21
11
0
0
0
5
1
-46
4
23
0
0
0
-1
5
20
-2
-24
-38
0
0
0
-1
-2
-8
23
11
17
0
0
0
13
-13
-8
19
59
-22
0
0
0
0
-3
-3
25
3
20
0
0
0
3
-8
-24
2
40
-19
0
0
0
0
0
1
-2
25
-14
0
0
0
45
2
-3
1
24
-97
0
0
0
-1
-32
11
3
43
0
0
0
0
2
-1
3
12
-12
0
0
0
0
0
-1
16
7
-48
0
0
0
0
4
22
2
7
1
0
0
0
0
0
-2
8
-40
37
0
0
0
0
-1
10
5
-7
0
0
0
0
0
-3
7
-1
-8
-29
0
0
0
0
10
-32
5
-4
12
0
0
0
0
0
1
1
-3
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
1
9
0
0
0
0
0
13
0
-3
-13
0
0
0
0
0
1
1
-5
-1
0
0
0
0
1
-3
0
2
-1
0
0
0
0
0
0
-4
-3
-13
0
0
0
0
6
-11
5
-6
10
0
0
9
2
33
-48
-39
14
11
-8
0
0
0
-13
8
5
4
7
-29
0
0
-21
0
-74
5
-38
45
23
0
0
0
1
0
-45
7
5
-28
0
15
7
0
-21
0
-6
57
12
0
0
0
1
0
0
-73
29
39
0
0
0
0
0
-13
-24
68
-33
0
0
0
0
1
7
-10
-20
-9
0
5
0
2
-41
71
-30
5
-11
0
0
0
-7
14
-1
-86
41
-1
0
0
-3
-1
-40
56
-14
-81
11
0
0
0
0
0
3
1
20
-17
0
-10
0
0
1
-21
18
20
7
0
0
0
2
0
-1
41
-35
2
0
0
0
0
0
-1
2
27
-2
0
0
0
0
0
0
-3
1
-14
0
-4
-8
-6
5
37
7
9
0
0
0
0
8
4
-6
39
-3
0
0
0
3
0
1
38
0
-6
0
0
0
0
0
-5
2
-20
-21
0
0
-1
3
0
-3
-6
-24
13
0
0
0
0
0
3
-2
-100
89
0
0
0
0
0
0
2
-20
-43
0
0
0
0
0
1
4
-3
-5
0
0
0
0
0
21
-1
34
9
0
0
0
0
0
0
-3
15
26
0
0
0
1
0
-1
-19
-50
-4
0
0
0
0
0
0
2
-29
86
0
0
12
0
0
8
-6
-7
18
0
0
0
0
0
1
3
22
16
0
0
0
0
0
0
-3
8
19
0
0
0
0
0
-1
0
-1
-8
0
0
0
0
16
8
23
15
-35
-19
0
0
0
7
48
14
-11
-22
-57
0
0
0
0
-8
16
-44
71
-20
0
0
0
3
27
70
-6
-23
-66
0
0
0
3
-14
53
37
0
-30
0
0
0
-1
9
21
-44
3
-12
0
0
0
0
-7
6
-54
14
-1
0
0
0
-14
13
-7
6
11
13
0
0
0
-2
-13
-102
18
50
29
0
0
0
0
-5
-14
-4
19
-7
0
0
0
0
1
-14
30
22
-25
0
0
0
-3
-2
-21
-17
70
30
0
0
0
3
6
-18
-13
48
-47
0
0
0
-2
0
16
87
-28
-24
0
0
0
0
0
1
4
10
22
0
0
0
0
-6
3
-8
40
-4
0
0
0
1
-8
71
6
35
0
0
0
0
0
3
-10
-110
58
0
0
0
0
0
2
0
-31
2
0
0
0
0
-2
0
5
-13
-1
0
0
0
0
0
0
-3
23
17
0
0
0
0
-1
-4
-4
34
-39
0
0
0
0
0
0
1
-8
-7
0
0
0
0
0
3
1
-30
-34
0
0
0
0
1
1
4
29
3
0
0
0
0
0
0
0
41
1
0
0
0
0
4
0
0
9
-44
0
0
0
0
0
-2
-1
1
17
0
0
0
0
0
0
0
-2
5
0
0
0
0
1
4
0
2
4
0
0
0
0
0
0
2
9
8
0
0
0
0
0
1
0
33
-40
0
0
0
23
40
-61
36
-30
3
-19
0
0
0
-11
-5
-21
5
52
61
0
0
-47
4
1
-14
-5
55
9
0
0
0
-1
-12
17
-57
65
57
0
0
9
0
3
-15
19
1
2
0
0
0
0
3
-15
-48
4
46
0
0
7
0
0
13
-49
-29
35
0
0
0
-13
0
18
20
57
-27
0
0
-2
-5
7
63
6
-61
-38
0
0
0
6
0
-1
1
-20
2
0
0
24
0
0
-10
-15
2
2
0
0
0
1
-1
-13
-8
30
11
0
0
-4
0
0
9
-21
78
-37
0
0
0
0
0
2
-5
51
-23
0
0
-32
0
0
2
2
48
-12
0
0
0
1
0
-7
14
-2
26
0
0
-40
-3
-1
25
-28
25
0
0
0
0
2
-1
25
-31
10
0
0
0
-29
0
0
43
31
-2
0
0
0
0
0
2
-5
-44
45
0
0
0
0
0
0
37
-57
39
0
0
0
0
-4
0
-17
-11
54
0
0
0
-2
0
0
-1
-6
1
0
0
0
0
22
0
-24
8
37
0
0
0
0
0
3
-2
8
35
0
0
0
0
0
1
0
22
3
0
0
0
10
0
0
-4
-46
39
0
0
0
0
-1
0
1
20
42
0
0
0
-2
0
-2
2
12
7
0
0
0
0
0
-2
0
-16
18
0
0
0
22
0
0
-1
-49
8
0
0
0
0
1
1
2
-18
7
0
0
0
0
-24
19
-62
27
-3
11
0
0
0
-55
13
2
27
50
44
0
0
0
0
-1
33
-39
38
16
0
0
0
45
-6
-61
32
19
8
0
0
0
-1
-25
-13
56
37
-24
0
0
0
-4
19
14
-26
47
-4
0
0
0
0
19
-10
32
-55
28
0
0
0
-23
2
76
17
14
-1
0
0
0
0
-5
-12
-37
56
-39
0
0
0
-6
-8
15
-7
21
63
0
0
0
-2
2
-3
-43
6
5
0
0
0
-5
29
12
14
-31
-15
0
0
0
0
-1
0
-9
35
-28
0
0
0
5
3
2
-5
91
-105
0
0
0
0
9
0
3
6
-3
0
0
0
-5
-17
-2
-3
-2
-20
0
0
0
1
0
44
27
19
0
0
0
0
0
0
1
-12
-41
0
0
0
0
0
0
23
-48
27
0
0
0
0
0
1
45
-6
-22
0
0
0
0
0
0
2
-7
9
0
0
0
0
1
-3
-6
13
-14
0
0
0
0
0
4
4
19
-5
0
0
0
0
16
4
1
-16
-42
0
0
0
0
0
-3
1
1
7
0
0
0
0
5
0
-5
16
17
0
0
0
0
0
-1
-1
7
40
0
0
0
0
-3
0
0
-9
33
0
0
0
0
0
1
0
7
28
0
0
0
0
0
-2
0
27
44
0
0
0
0
0
-2
-4
-2
50
0
0
0
0
-23
-3
-3
8
51
0
0
39
19
9
-16
84
-79
-3
-43
0
0
0
1
-15
8
-13
16
3
0
0
2
0
0
-52
-10
29
30
0
0
0
0
0
-1
-31
96
-29
0
62
0
-1
-6
-41
-46
15
-10
0
0
0
1
2
9
-24
-32
18
0
0
-5
0
4
-30
50
31
-27
0
0
0
1
0
-1
2
61
25
0
15
-2
0
-36
15
2
40
4
0
0
0
0
0
-19
-19
-60
35
0
0
2
0
0
1
-14
51
39
0
0
0
0
0
0
15
82
16
0
45
0
0
0
-21
-18
67
44
0
0
0
0
-2
-2
-7
27
-6
0
0
4
0
0
2
-3
29
9
0
0
0
0
-1
0
6
19
16
0
-5
0
0
-1
-47
-2
42
0
0
0
0
0
2
2
-17
-26
0
0
0
7
0
-3
0
33
26
0
0
0
0
0
0
0
-3
7
0
0
20
3
0
0
39
-23
47
0
0
0
0
-2
0
10
-54
26
0
0
0
-1
0
0
4
-3
-24
0
0
0
0
0
0
0
-13
28
0
0
1
0
0
-2
-5
52
25
0
0
0
0
0
0
8
6
32
0
0
0
2
0
0
0
28
14
0
0
0
0
0
0
1
3
-8
0
0
31
0
0
0
-1
-3
-36
0
0
0
0
0
-3
8
-24
51
0
0
0
5
0
0
-1
12
10
0
0
0
0
0
0
-5
-3
9
0
0
0
0
6
54
20
-31
57
-14
0
0
0
1
0
-7
-4
53
-95
0
0
0
-5
7
-2
-42
11
26
0
0
0
3
-22
3
51
30
-37
0
0
0
0
7
1
-46
-9
57
0
0
0
3
4
4
40
-69
-8
0
0
0
0
-1
0
-26
7
22
0
0
0
15
-6
0
13
-19
3
0
0
0
2
16
29
8
6
-20
0
0
0
2
4
-1
-6
-6
-5
0
0
0
0
1
1
-3
-17
-12
0
0
0
2
-4
-5
3
51
-18
0
0
0
0
-3
8
-25
43
4
0
0
0
2
6
2
-15
-24
11
0
0
0
0
-2
-7
3
-3
-13
0
0
0
3
0
-4
8
19
6
0
0
0
0
0
-11
10
39
0
0
0
0
0
5
14
-74
25
0
0
0
0
0
0
4
9
6
0
0
0
0
-1
13
-17
0
38
0
0
0
0
0
6
-7
-28
58
0
0
0
0
0
-2
0
24
-10
0
0
0
0
0
0
0
-22
37
0
0
0
0
-4
1
4
10
-40
0
0
0
0
0
2
-5
-48
24
0
0
0
0
0
0
-3
-7
39
0
0
0
0
0
0
3
2
51
0
0
0
0
-1
5
3
-6
5
0
0
0
0
0
0
0
-5
36
0
0
0
0
0
-5
-2
18
37
0
0
0
0
0
0
0
19
49
0
0
0
0
0
0
0
3
-16
0
0
0
5
4
-14
72
-65
-5
-15
0
0
0
0
0
5
17
-3
-6
0
0
17
0
3
-5
-14
1
8
0
0
0
-2
0
13
-4
17
24
0
0
4
-3
-3
8
8
-26
-48
0
0
0
0
0
0
-18
-4
-3
0
0
-10
0
1
4
-51
43
-12
0
0
0
3
-2
-8
2
-40
37
0
0
2
0
2
-2
24
-15
-20
0
0
0
0
-2
0
-3
68
-23
0
0
-5
0
-1
-3
-30
31
31
0
0
0
1
-1
2
0
13
40
0
0
0
0
0
5
-10
4
-5
0
0
0
0
0
-7
5
3
55
0
0
10
0
0
0
3
-18
40
0
0
0
-8
0
0
-7
13
3
0
0
13
0
3
-18
23
-39
0
0
0
0
-1
2
24
22
-63
0
0
0
-15
0
0
2
-5
5
0
0
0
0
0
3
2
1
48
0
0
0
-28
0
-4
4
10
50
0
0
0
0
0
0
-2
8
-19
0
0
0
-1
0
0
2
-2
45
0
0
0
0
6
0
6
0
3
0
0
0
0
0
0
-1
-24
41
0
0
0
0
2
0
-1
-22
6
0
0
0
-4
0
0
-1
-1
46
0
0
0
0
-2
-4
-5
7
58
0
0
0
0
0
2
5
-8
10
0
0
0
0
0
-5
0
0
-8
0
0
0
17
0
0
0
-22
11
0
0
0
0
-1
3
3
4
67
0
0
0
0
-6
-9
26
23
-43
-13
0
0
0
-4
29
-4
-2
47
-33
0
0
0
-1
0
-4
-10
-22
81
0
0
0
8
1
-7
0
-35
15
0
0
0
0
-12
-25
22
4
20
0
0
0
-1
-8
2
-19
2
44
0
0
0
1
-3
-1
-1
-10
19
0
0
0
46
13
-8
0
2
-44
0
0
0
0
-2
-4
2
28
-6
0
0
0
8
1
0
0
12
-76
0
0
0
0
0
-6
5
-8
-3
0
0
0
-23
3
0
0
2
26
0
0
0
0
2
-18
0
52
30
0
0
0
-4
2
0
0
-13
31
0
0
0
0
0
1
0
77
-22
0
0
0
-19
3
5
0
5
-27
0
0
0
4
-7
15
10
6
0
0
0
0
7
0
1
-6
-20
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-8
0
-22
4
9
0
0
0
0
0
2
3
1
9
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
7
3
0
0
0
0
-5
-7
-15
3
16
0
0
0
0
0
0
-1
-6
41
0
0
0
0
0
0
-3
-5
41
0
0
0
0
0
1
0
-34
42
0
0
0
0
-8
-4
3
-2
25
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
6
0
-3
12
0
0
0
0
0
0
0
0
4
0
0
0
0
11
-2
6
-4
0
0
0
23
-36
-33
-89
-9
22
54
0
0
0
0
-9
-34
-35
24
50
0
0
0
-12
-3
26
20
14
28
0
0
0
0
2
-29
2
-52
93
0
0
-48
40
0
39
-21
-32
32
0
0
0
0
7
-42
-52
-8
18
0
0
0
12
0
0
-73
-28
33
0
0
0
0
-1
1
-65
27
49
0
0
3
0
1
21
53
-77
46
0
0
0
0
0
-3
4
31
-3
0
0
0
-3
0
0
9
20
24
0
0
0
0
0
0
-1
-17
46
0
0
-20
0
0
-1
18
-22
38
0
0
0
0
0
0
-16
18
31
0
0
0
0
0
0
-5
-54
35
0
0
0
0
0
3
0
-9
16
0
0
0
-36
-3
-2
-8
17
57
0
0
0
0
0
1
36
-52
31
0
0
0
1
0
-3
-22
-83
41
0
0
0
0
0
0
0
-39
-44
0
0
15
-12
0
13
17
-33
13
0
0
0
0
0
0
8
-31
11
0
0
0
0
0
0
-13
-13
-27
0
0
0
0
0
0
0
-48
35
0
0
0
0
0
7
15
-40
26
0
0
0
0
0
1
3
23
-2
0
0
0
-3
0
3
20
-48
12
0
0
0
0
0
0
0
-65
41
0
0
0
0
0
0
-8
-28
-5
0
0
0
0
0
0
1
-8
-61
0
0
0
0
0
0
4
-61
-9
0
0
0
0
0
0
-8
-18
-17
0
0
0
0
26
8
6
-8
31
0
0
0
0
24
-37
-9
-15
1
0
0
0
0
0
0
-7
-28
35
0
0
0
0
2
-2
-32
27
44
0
0
0
0
0
6
15
5
26
0
0
0
0
-8
-12
11
8
-8
0
0
0
0
0
-8
4
-26
52
0
0
0
0
18
44
4
-45
4
0
0
0
0
0
-10
3
81
25
0
0
0
0
0
0
1
15
-4
0
0
0
0
0
2
2
-73
3
0
0
0
0
0
-4
-2
19
47
0
0
0
0
0
-5
38
-28
-3
0
0
0
0
0
0
0
4
-29
0
0
0
0
0
0
0
-23
9
0
0
0
0
0
0
-2
6
43
0
0
0
0
3
72
-16
-23
-34
0
0
0
0
2
-4
7
2
22
0
0
0
0
0
0
8
-5
-19
0
0
0
0
0
0
-3
-23
-8
0
0
0
0
0
-2
22
-45
-13
0
0
0
0
0
1
9
-1
16
0
0
0
0
0
0
0
7
27
0
0
0
0
0
0
1
-12
-30
0
0
0
0
-1
0
5
38
2
0
0
0
0
0
0
-4
-45
38
0
0
0
0
0
0
1
-4
13
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
1
-97
64
0
0
0
0
0
0
-1
-71
-28
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-43
52
0
0
0
47
-16
-7
-67
9
15
0
0
0
0
0
-43
29
-35
37
0
0
0
16
0
0
-25
-32
8
0
0
0
0
2
13
29
-27
-26
0
0
0
4
0
-9
12
4
2
0
0
0
0
-1
0
6
-9
78
0
0
0
33
0
-2
1
-45
95
0
0
0
0
0
5
29
-3
33
0
0
0
0
0
-1
-54
-36
72
0
0
0
0
0
0
-10
-39
35
0
0
0
-2
0
0
15
-39
-18
0
0
0
0
0
0
-1
3
-39
0
0
0
0
0
0
-55
37
25
0
0
0
0
0
0
14
-23
-1
0
0
0
-40
0
0
8
6
-14
0
0
0
0
1
1
-5
-3
24
0
0
0
-1
0
-4
-19
-87
-20
0
0
0
0
0
-1
-10
-67
50
0
0
0
1
0
-2
-18
26
-14
0
0
0
0
0
1
-3
1
13
0
0
0
4
0
0
-8
-3
35
0
0
0
0
0
0
-9
-19
46
0
0
0
-7
0
1
3
-97
27
0
0
0
0
0
0
0
5
23
0
0
0
-3
0
-8
10
-30
2
0
0
0
0
0
0
0
7
68
0
0
0
-7
0
5
42
14
-43
0
0
0
0
0
0
0
-19
25
0
0
0
0
0
0
3
-8
49
0
0
0
0
0
0
3
-57
-24
0
0
0
18
0
0
-4
-6
-13
0
0
0
0
0
0
0
-3
3
0
0
0
0
-47
17
13
-32
9
0
0
0
0
24
-14
-53
20
46
0
0
0
0
3
-3
72
-83
-3
0
0
0
0
41
-20
-5
19
-14
0
0
0
0
-3
-3
-29
-44
115
0
0
0
0
13
-12
-36
-9
57
0
0
0
0
0
1
-8
6
33
0
0
0
0
-41
38
12
-18
44
0
0
0
0
1
1
-24
-66
46
0
0
0
0
0
0
-2
3
-19
0
0
0
0
0
-1
3
29
17
0
0
0
0
-2
-5
-18
14
42
0
0
0
0
-1
-3
6
29
-10
0
0
0
0
-1
2
1
8
-30
0
0
0
0
0
0
4
-4
-12
0
0
0
0
11
-2
-1
-5
3
0
0
0
0
1
-10
9
-57
75
0
0
0
0
0
1
29
-17
37
0
0
0
0
0
0
-8
0
62
0
0
0
0
0
-1
-5
8
-33
0
0
0
0
0
0
-5
19
60
0
0
0
0
-5
5
0
47
-82
0
0
0
0
0
0
1
36
-25
0
0
0
0
-4
0
8
20
41
0
0
0
0
0
-4
4
-67
11
0
0
0
0
-1
-3
-1
11
25
0
0
0
0
0
0
4
1
9
0
0
0
0
0
-1
-1
-10
-39
0
0
0
0
0
0
0
-48
32
0
0
0
0
-1
0
0
-7
-15
0
0
0
0
0
0
-2
-20
19
0
0
0
0
1
0
0
-1
-44
0
0
-63
-21
0
-55
21
5
83
0
0
0
0
0
7
-27
-6
-27
0
0
0
30
0
0
36
-59
-13
0
0
0
0
0
1
-8
43
-3
0
0
42
3
0
40
-16
-52
-32
0
0
0
0
0
-2
0
-26
11
0
0
0
-22
0
0
-38
12
68
0
0
0
0
0
2
-2
-8
22
0
0
74
0
-6
9
-27
20
-29
0
0
0
0
-1
-1
16
21
18
0
0
0
1
0
0
9
-28
47
0
0
0
0
0
-1
-1
-6
28
0
0
-19
0
0
0
9
27
-27
0
0
0
0
0
-3
1
9
-33
0
0
0
0
0
0
8
24
30
0
0
0
0
0
0
-1
0
42
0
0
5
-5
0
-1
-57
-22
17
0
0
0
0
0
2
-1
-32
37
0
0
0
1
0
0
-3
-43
55
0
0
0
0
0
-2
-3
29
44
0
0
3
-6
0
8
18
-5
1
0
0
0
0
0
-3
4
-8
-13
0
0
0
10
0
0
0
-20
-6
0
0
0
0
0
0
8
-16
16
0
0
7
0
0
6
-70
23
13
0
0
0
0
0
5
2
-22
61
0
0
0
-3
0
-5
-1
-52
72
0
0
0
0
0
0
1
-16
21
0
0
6
0
0
-1
13
-51
36
0
0
0
0
0
0
0
-10
5
0
0
0
-5
0
0
0
4
19
0
0
0
0
0
0
0
48
-30
0
0
0
0
-13
46
26
-56
-7
0
0
0
0
-1
14
-26
-92
72
0
0
0
0
-6
-9
30
23
10
0
0
0
0
-4
-18
12
43
-27
0
0
0
0
0
-2
6
-14
-14
0
0
0
0
0
14
18
-14
-45
0
0
0
0
0
2
1
-16
18
0
0
0
0
0
24
0
36
55
0
0
0
0
0
-14
13
2
-42
0
0
0
0
4
-5
1
-43
59
0
0
0
0
0
0
0
31
-39
0
0
0
0
2
-21
5
-38
50
0
0
0
0
0
0
-27
2
47
0
0
0
0
1
-1
2
-9
44
0
0
0
0
0
0
-4
-1
-24
0
0
0
0
0
6
7
-19
2
0
0
0
0
0
13
-21
41
-62
0
0
0
0
1
-5
-1
-3
0
0
0
0
0
0
1
0
-49
59
0
0
0
0
0
-9
0
16
16
0
0
0
0
0
-2
-1
12
-50
0
0
0
0
0
0
-1
-14
-24
0
0
0
0
0
0
-5
30
-39
0
0
0
0
0
0
0
-33
70
0
0
0
0
1
2
5
27
-46
0
0
0
0
0
-2
0
-43
80
0
0
0
0
0
0
0
-34
42
0
0
0
0
0
0
-7
-11
10
0
0
0
0
0
0
0
-40
9
0
0
0
0
0
1
2
48
-10
0
0
0
0
0
0
0
-12
16
0
0
0
0
1
0
-2
-28
26
0
0
0
75
-3
0
-40
-48
-29
0
0
0
0
0
-2
40
-30
10
0
0
0
13
0
2
-8
-22
35
0
0
0
0
0
-1
5
12
14
0
0
0
11
0
-25
-6
30
6
0
0
0
0
0
0
15
36
-58
0
0
0
14
0
0
27
-28
19
0
0
0
0
0
1
42
-17
-21
0
0
0
-8
0
-1
23
40
-5
0
0
0
0
0
5
7
-6
1
0
0
0
9
0
0
-1
-40
58
0
0
0
0
0
1
2
-8
57
0
0
0
1
0
-1
-19
-10
-69
0
0
0
0
0
-1
-8
1
29
0
0
0
-28
0
0
3
0
47
0
0
0
0
0
-2
0
0
-1
0
0
0
-2
0
-1
-16
12
-44
0
0
0
0
0
2
0
-50
54
0
0
0
1
0
1
-5
1
-13
0
0
0
0
0
-4
-1
-13
63
0
0
0
2
0
-1
-18
0
21
0
0
0
0
0
0
0
-8
-21
0
0
0
2
0
0
1
-52
-16
0
0
0
0
0
7
1
-10
16
0
0
0
0
0
4
13
-3
10
0
0
0
0
0
0
0
12
27
0
0
0
38
0
0
0
-21
6
0
0
0
0
0
0
1
5
50
0
0
0
-7
0
0
1
-30
26
0
0
0
0
0
1
-5
3
5
0
0
0
-17
0
0
1
8
67
0
0
0
0
0
-1
4
24
14
0
0
0
0
9
19
-25
-33
10
0
0
0
0
18
36
18
-8
-1
0
0
0
0
-1
-1
24
-9
51
0
0
0
0
-3
-8
-4
-8
42
0
0
0
0
0
0
19
8
-90
0
0
0
0
0
-2
8
0
7
0
0
0
0
0
1
9
1
-33
0
0
0
0
14
19
24
3
-15
0
0
0
0
0
-6
1
-23
-7
0
0
0
0
-3
2
-1
16
4
0
0
0
0
6
0
-1
-5
35
0
0
0
0
-5
-1
0
13
-4
0
0
0
0
0
3
0
-20
58
0
0
0
0
2
-2
-3
16
-5
0
0
0
0
0
0
0
8
12
0
0
0
0
-5
5
0
2
-20
0
0
0
0
-1
10
-3
-30
39
0
0
0
0
0
-6
0
-11
32
0
0
0
0
0
0
-2
-9
41
0
0
0
0
0
0
-2
41
-34
0
0
0
0
0
1
0
-17
5
0
0
0
0
1
-3
7
-24
41
0
0
0
0
0
0
0
-14
-9
0
0
0
0
0
16
-1
5
-52
0
0
0
0
0
-3
0
3
19
0
0
0
0
0
0
0
15
-18
0
0
0
0
-3
0
-3
6
39
0
0
0
0
0
-3
-1
7
46
0
0
0
0
0
0
-3
0
48
0
0
0
0
-2
3
1
-9
6
0
0
0
0
0
-1
0
0
45
0
0
0
0
-1
1
0
18
11
0
0
42
13
-1
-14
-28
-11
12
0
0
0
0
-4
-1
7
-19
-34
0
0
0
-1
1
-2
-53
1
31
0
0
0
0
0
0
0
-51
-23
0
0
-48
0
0
-25
1
-13
51
0
0
0
0
3
-2
-2
0
-8
0
0
0
0
0
0
4
66
-84
0
0
0
0
0
0
0
-8
30
0
0
-1
0
-2
17
-11
-9
17
0
0
0
0
0
1
0
27
-11
0
0
0
-4
0
3
12
-6
19
0
0
0
0
0
0
0
-4
12
0
0
-10
7
0
1
12
-51
1
0
0
0
0
0
0
-3
-12
13
0
0
0
0
0
0
4
14
-1
0
0
0
0
0
2
-2
16
-15
0
0
0
-1
-8
-7
39
53
3
0
0
0
0
0
1
-3
-21
-5
0
0
0
0
0
-1
11
16
8
0
0
0
0
0
4
-2
-21
25
0
0
-19
-2
0
3
23
37
66
0
0
0
0
0
-10
-2
18
30
0
0
0
0
0
0
6
-13
20
0
0
0
0
0
0
0
27
-16
0
0
0
0
1
-6
-43
15
84
0
0
0
0
0
0
-4
-2
-4
0
0
0
2
0
2
-3
-41
51
0
0
0
0
0
0
0
-17
-2
0
0
25
-2
0
0
0
6
-25
0
0
0
0
-1
-1
0
-19
12
0
0
0
-4
0
0
-2
-9
30
0
0
0
0
0
0
0
-47
28
0
0
0
0
-4
5
-18
15
41
0
0
0
0
2
8
1
-25
2
0
0
0
0
1
0
6
-7
-46
0
0
0
0
0
5
-6
0
-20
0
0
0
0
0
-9
-5
-3
57
0
0
0
0
-3
-2
-4
-36
51
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
-4
-21
28
0
0
0
0
0
1
13
-47
25
0
0
0
0
0
3
2
-15
14
0
0
0
0
-2
-1
8
16
1
0
0
0
0
0
30
-1
-38
23
0
0
0
0
0
2
2
-35
14
0
0
0
0
0
-1
5
13
8
0
0
0
0
0
0
0
12
36
0
0
0
0
1
0
0
6
-30
0
0
0
0
0
7
-4
17
-16
0
0
0
0
3
-1
8
-46
26
0
0
0
0
1
-3
-9
-8
54
0
0
0
0
0
0
-1
-3
18
0
0
0
0
0
5
8
24
24
0
0
0
0
0
0
-2
-20
34
0
0
0
0
0
0
0
0
30
0
0
0
0
-3
0
0
7
52
0
0
0
0
-1
0
-29
22
22
0
0
0
0
-1
-5
8
15
-31
0
0
0
0
1
0
1
-22
9
0
0
0
0
0
0
1
-39
32
0
0
0
0
0
0
2
-21
-1
0
0
0
0
0
0
6
-44
15
0
0
0
0
0
0
2
-10
-5
0
0
0
0
-4
0
-2
15
-9
0
0
0
-20
8
37
-7
-24
-3
0
0
0
0
-2
1
-7
23
-14
0
0
0
24
1
1
-54
20
17
0
0
0
0
-6
6
25
-93
44
0
0
0
-32
0
-1
-2
-54
5
0
0
0
0
0
2
-6
-45
-7
0
0
0
19
0
0
-13
-74
65
0
0
0
0
0
0
2
-14
20
0
0
0
0
0
-1
-30
-18
-17
0
0
0
0
0
0
13
27
17
0
0
0
6
0
0
8
-25
-13
0
0
0
0
4
0
-8
-1
-17
0
0
0
0
0
1
23
-3
30
0
0
0
0
0
0
4
3
-8
0
0
0
-9
0
0
2
18
-16
0
0
0
0
-2
0
12
0
-18
0
0
0
0
3
0
-23
58
-34
0
0
0
0
-1
0
-10
9
36
0
0
0
-3
0
0
-33
4
-6
0
0
0
0
1
0
-4
-11
11
0
0
0
6
0
-5
3
-14
36
0
0
0
0
0
0
8
2
1
0
0
0
-28
0
0
1
18
50
0
0
0
0
6
4
-2
-5
18
0
0
0
-1
4
6
-28
-1
14
0
0
0
0
0
0
3
-57
84
0
0
0
14
0
0
5
-14
5
0
0
0
0
-1
0
0
-16
5
0
0
0
-20
0
0
-3
34
-12
0
0
0
0
1
0
0
-23
-10
0
0
0
15
-3
0
-12
13
-28
0
0
0
0
-1
0
5
-2
36
0
0
0
0
-25
34
19
-46
4
0
0
0
0
-2
4
16
-18
43
0
0
0
0
0
-2
1
-29
87
0
0
0
0
1
4
-15
8
-33
0
0
0
0
2
1
2
-49
90
0
0
0
0
2
-15
8
-15
-6
0
0
0
0
0
5
0
5
42
0
0
0
0
2
0
2
32
12
0
0
0
0
0
0
9
-25
23
0
0
0
0
0
0
-2
49
0
0
0
0
0
-1
0
6
2
6
0
0
0
0
1
2
-13
0
23
0
0
0
0
0
0
22
44
-50
0
0
0
0
2
2
-2
13
-48
0
0
0
0
0
0
-8
4
-22
0
0
0
0
-41
1
3
9
49
0
0
0
0
0
0
10
-77
33
0
0
0
0
4
0
1
5
36
0
0
0
0
0
0
10
-26
-17
0
0
0
0
2
0
7
46
8
0
0
0
0
0
0
-7
8
37
0
0
0
0
-1
1
13
-1
67
0
0
0
0
0
0
0
-13
-9
0
0
0
0
-30
0
3
-2
75
0
0
0
0
0
0
-5
33
12
0
0
0
0
-1
1
0
-82
70
0
0
0
0
0
0
0
44
-21
0
0
0
0
4
0
-10
15
8
0
0
0
0
0
0
0
-19
-5
0
0
0
0
1
0
-10
32
-60
0
0
0
0
0
0
0
7
43
0
0
0
0
-14
0
-7
-20
47
0
0
-22
11
-1
64
57
-38
-56
0
0
0
0
-2
-1
29
-43
-40
0
0
0
-24
0
0
-8
0
40
0
0
0
0
0
0
-1
-22
62
0
0
-2
-3
0
0
-1
-36
-14
0
0
0
0
0
8
0
7
42
0
0
0
-15
0
0
0
37
13
0
0
0
0
0
2
0
2
10
0
0
-16
0
0
5
5
-18
-40
0
0
0
0
0
0
0
21
-14
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
-1
-6
-15
0
0
-4
0
0
0
3
-15
1
0
0
0
0
0
3
0
-8
44
0
0
0
-3
0
0
-3
13
53
0
0
0
0
0
-4
0
-1
16
0
0
4
-1
0
-1
26
-18
56
0
0
0
0
0
0
5
-17
7
0
0
0
-3
0
0
-3
7
-26
0
0
0
0
0
0
2
-10
8
0
0
4
-12
0
-8
65
-54
59
0
0
0
0
0
-2
3
3
-35
0
0
0
-7
0
0
0
44
14
0
0
0
0
0
0
0
1
1
0
0
5
0
0
1
-33
-90
57
0
0
0
0
0
1
2
-27
0
0
0
0
0
0
0
0
13
37
0
0
0
0
0
0
0
4
67
0
0
-55
0
0
0
9
-14
15
0
0
0
0
-1
0
0
1
39
0
0
0
-1
0
0
0
11
19
0
0
0
0
0
2
-1
-22
58
0
0
0
0
1
30
7
6
-79
0
0
0
0
0
19
-5
-1
-44
0
0
0
0
0
0
1
-12
-28
0
0
0
0
0
6
0
2
-6
0
0
0
0
2
3
1
-9
-19
0
0
0
0
-4
-8
6
59
12
0
0
0
0
0
8
0
-5
-10
0
0
0
0
8
-19
0
-2
6
0
0
0
0
0
0
2
-24
16
0
0
0
0
2
-6
-3
-13
61
0
0
0
0
0
2
-6
-1
50
0
0
0
0
-2
22
0
-4
40
0
0
0
0
0
4
-5
-5
17
0
0
0
0
2
3
0
-2
-18
0
0
0
0
0
0
0
4
45
0
0
0
0
18
3
-3
-16
27
0
0
0
0
0
1
5
7
13
0
0
0
0
0
1
0
-7
-45
0
0
0
0
0
-4
3
4
69
0
0
0
0
0
0
0
-6
12
0
0
0
0
0
0
6
-41
29
0
0
0
0
0
0
-4
28
16
0
0
0
0
0
-2
0
-1
26
0
0
0
0
1
3
0
-12
42
0
0
0
0
0
0
16
36
-5
0
0
0
0
0
0
0
-51
63
0
0
0
0
0
0
0
7
1
0
0
0
0
1
0
-4
-10
45
0
0
0
0
0
2
0
-39
32
0
0
0
0
0
-1
0
-4
80
0
0
0
0
0
0
0
5
46
0
0
0
0
0
0
0
17
14
0
0
0
3
-15
14
-79
-29
6
0
0
0
0
0
-5
0
-1
-25
0
0
0
6
-1
0
4
-15
-28
0
0
0
0
3
7
-4
-5
7
0
0
0
14
0
1
5
-6
19
0
0
0
0
0
1
-1
0
31
0
0
0
-3
0
0
-5
1
23
0
0
0
0
0
-4
-2
2
-2
0
0
0
-4
-2
-1
4
4
69
0
0
0
0
0
0
0
-1
30
0
0
0
25
0
0
-7
-2
9
0
0
0
0
0
0
-2
-2
52
0
0
0
-2
0
0
3
-5
63
0
0
0
0
0
0
5
3
66
0
0
0
38
0
2
0
-8
-6
0
0
0
0
3
0
-1
0
5
0
0
0
11
0
0
-2
-68
9
0
0
0
0
-1
2
-5
-31
111
0
0
0
27
0
0
0
39
-24
0
0
0
0
3
-2
0
2
4
0
0
0
16
0
1
-2
-38
26
0
0
0
0
0
1
-2
29
19
0
0
0
2
0
0
0
63
-17
0
0
0
0
0
0
-1
-9
30
0
0
0
14
0
-1
-3
-46
-13
0
0
0
0
0
0
-1
14
6
0
0
0
18
0
0
-1
8
-11
0
0
0
0
0
0
0
48
-29
0
0
0
14
0
0
2
-49
-17
0
0
0
0
0
4
-3
9
66
0
0
0
-55
0
0
0
18
20
0
0
0
0
0
0
-1
6
-3
0
0
0
0
34
-50
47
-53
66
0
0
0
0
2
-4
0
-8
17
0
0
0
0
-1
0
0
-5
-10
0
0
0
0
4
8
0
14
-35
0
0
0
0
0
-3
-1
0
9
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
3
0
0
0
0
1
-43
-3
0
0
0
0
0
0
-1
2
-6
-16
-3
0
0
0
0
0
-3
0
0
-18
0
0
0
0
0
0
0
0
19
0
0
0
0
-4
1
5
3
28
0
0
0
0
0
2
2
1
49
0
0
0
0
-4
8
0
6
1
0
0
0
0
-2
3
-1
-1
-10
0
0
0
0
-36
2
0
0
4
0
0
0
0
0
-2
2
28
30
0
0
0
0
-2
0
0
4
-11
0
0
0
0
0
0
0
-18
-4
0
0
0
0
1
0
-1
-6
7
0
0
0
0
0
-1
0
6
6
0
0
0
0
0
0
0
7
35
0
0
0
0
0
0
-2
-27
21
0
0
0
0
-5
8
5
0
18
0
0
0
0
0
0
3
40
14
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-2
-30
-13
0
0
0
0
-4
0
4
-34
11
0
0
0
0
0
0
2
2
59
0
0
0
0
2
1
-1
-8
21
0
0
0
0
-2
0
0
-1
57
0
0
0
0
-9
0
-2
-30
4
0
0
44
35
6
-22
21
5
21
5
3
0
0
3
3
-61
8
-62
-30
9
0
-11
13
-10
-58
17
-37
3
19
0
0
7
32
-14
-2
9
-40
45
11
-9
0
-2
-31
-12
-3
-41
6
0
0
0
-58
-27
-98
-33
-9
-12
0
48
-1
0
-87
7
52
-29
-9
0
0
1
8
20
-59
58
28
4
8
-39
-1
-59
20
21
63
11
0
0
0
2
29
-52
-3
-32
-10
0
0
22
0
9
71
-34
72
-12
0
0
0
-7
-5
40
-22
41
-5
0
66
3
1
-51
55
-82
2
18
0
0
0
-7
-2
-16
-93
96
12
0
0
2
0
0
33
-30
-30
11
0
0
0
3
2
-17
-10
17
43
0
-10
25
-1
-18
-26
-96
12
0
0
0
0
1
-107
-7
-39
19
0
0
0
43
0
13
-79
-77
6
0
0
0
0
0
5
-23
-44
50
0
0
25
-8
0
52
-49
-5
-16
0
0
0
0
0
-7
1
-49
3
0
0
0
-15
0
2
77
-55
-1
0
0
0
0
1
0
-32
13
-3
0
0
14
7
0
-47
73
-25
-10
0
0
0
0
0
8
2
-35
42
0
0
0
-2
0
5
24
33
3
0
0
0
0
0
0
-7
8
120
0
0
-63
-4
0
34
0
5
83
0
0
0
0
0
-1
43
-27
25
0
0
0
41
0
0
-25
2
50
0
0
0
0
0
-3
2
-1
8
0
0
0
0
-44
23
-19
-22
-25
-5
12
0
0
-25
45
-95
-120
-47
17
18
0
0
-11
-34
60
76
23
8
-16
0
0
-24
41
1
-16
43
5
34
0
0
-40
-8
35
-75
-9
-47
15
0
0
48
-101
8
-110
-122
-8
32
0
0
0
49
74
-5
-8
10
-3
0
0
9
48
42
8
-32
1
-22
0
0
-8
3
-52
-114
40
11
0
0
0
8
0
63
16
-6
-42
0
0
0
2
6
20
-8
21
21
0
0
0
-21
-28
81
3
70
8
0
0
0
0
-4
-70
32
37
16
0
0
0
6
9
0
-18
50
-55
0
0
0
0
0
-24
-17
6
38
0
0
0
-38
-4
31
22
-13
63
0
0
0
15
-76
-50
-72
105
0
0
0
0
-4
-13
-3
2
-36
0
0
0
0
0
7
-89
17
66
0
0
0
0
18
104
-60
-45
-11
0
0
0
0
0
1
-12
33
-27
0
0
0
0
1
-3
11
-63
18
0
0
0
0
0
0
1
27
25
0
0
0
0
13
4
-30
30
-2
0
0
0
0
0
-7
13
-76
17
0
0
0
0
0
-6
24
-1
-32
0
0
0
0
0
0
-11
-3
32
0
0
0
0
-1
19
10
-21
67
0
0
0
0
0
1
4
-60
43
0
0
0
0
0
-14
-4
-39
-25
0
0
0
0
0
-6
-22
34
9
0
0
0
0
-3
-19
3
45
17
0
0
0
24
-34
-16
16
10
8
0
-4
0
0
34
43
-28
41
70
-4
5
0
-54
0
-12
-73
9
34
11
4
0
0
1
-33
-3
-92
0
79
0
0
38
0
1
22
-3
51
-3
6
0
0
-1
32
-78
72
88
-22
-17
0
-83
0
-68
-11
-14
95
20
-3
0
0
3
35
4
25
6
-51
15
0
-51
0
10
106
-82
15
16
0
0
0
13
18
59
-26
18
4
0
0
-25
1
-4
68
-76
28
-8
0
0
0
8
32
-38
21
31
-6
0
0
49
0
2
-9
-90
28
-16
0
0
0
6
8
-18
9
29
18
0
0
-16
0
-20
42
37
46
-1
0
0
0
-33
8
74
5
3
28
0
0
6
4
-73
98
0
-23
0
0
0
0
1
5
41
-51
23
0
0
0
24
0
1
88
-82
-11
0
0
0
0
7
-1
21
10
-24
0
0
0
-19
0
0
-1
-31
7
0
0
0
0
0
-6
-30
-27
79
0
0
0
0
0
0
-2
-21
6
0
0
0
0
0
-18
36
-14
12
0
0
0
1
0
-5
31
-26
-26
0
0
0
0
3
-2
-80
74
52
0
0
0
47
-1
-1
-7
-12
-25
0
0
0
0
1
0
-27
-7
65
0
0
0
27
0
-2
9
7
-46
0
0
0
0
0
0
-19
14
44
0
0
0
18
0
0
-8
-7
5
0
0
0
0
0
0
5
-22
-8
0
0
0
0
10
-4
25
-22
-2
-20
22
0
0
-26
0
94
-73
64
41
-31
0
0
-26
-10
48
-13
9
-18
39
0
0
19
-34
-31
14
57
11
44
0
0
-1
4
-34
-22
45
-3
7
0
0
-15
11
84
-28
50
12
3
0
0
-15
-14
-44
-51
31
70
13
0
0
33
-14
2
9
-16
25
27
0
0
-2
-69
-4
14
24
19
0
0
0
-23
23
23
-40
42
-18
0
0
0
8
-48
30
16
34
6
0
0
0
48
17
-21
10
-32
-45
0
0
0
0
5
19
10
59
58
0
0
0
3
8
14
-10
55
-26
0
0
0
-17
2
-8
28
17
42
0
0
0
2
-14
26
8
-23
-14
0
0
0
-21
-16
20
-17
-7
0
0
0
0
-6
64
5
-24
-55
0
0
0
0
6
8
31
-75
2
0
0
0
0
-24
-72
-26
24
52
0
0
0
0
0
6
-54
12
62
0
0
0
0
5
43
-92
-2
-10
0
0
0
0
-2
7
12
14
27
0
0
0
0
-30
16
-45
-13
28
0
0
0
0
0
-2
-33
30
42
0
0
0
0
3
13
-2
-37
26
0
0
0
0
0
2
-6
24
12
0
0
0
0
-5
-5
32
32
-15
0
0
0
0
0
2
-6
-14
55
0
0
0
0
-1
-2
2
-8
2
0
0
0
0
3
2
-19
29
3
0
0
0
0
-16
-6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
30
-60
-24
-14
-29
13
-5
0
0
0
-8
-4
-62
-62
-13
34
0
0
-62
0
-12
-19
-3
59
-43
0
0
0
0
54
15
4
43
-92
0
-53
53
0
-78
-62
37
20
21
0
0
0
0
-9
-28
0
47
-12
0
0
36
0
-29
-84
8
-7
5
0
0
0
0
2
-43
-16
45
13
0
-5
-7
2
13
36
-39
7
-23
0
0
0
13
16
12
-16
40
-5
0
0
-36
0
6
7
12
20
22
0
0
0
-2
-9
-13
24
-2
29
0
43
2
-2
14
-87
38
28
-7
0
0
0
0
5
76
3
-4
2
0
0
60
0
1
-9
50
-1
-9
0
0
0
2
-1
9
-27
-23
25
0
-52
9
-4
-59
-16
-55
44
0
0
0
0
-3
-11
7
18
-3
0
0
0
-4
2
-19
-69
22
36
0
0
0
0
0
-12
31
27
27
0
0
24
-8
-1
6
57
23
-3
0
0
0
0
3
29
13
-45
23
0
0
0
-39
0
-3
31
-7
18
0
0
0
0
0
1
50
12
-12
0
0
10
32
-1
-6
3
4
-36
0
0
0
0
2
12
-21
2
10
0
0
0
21
0
-8
9
-80
40
0
0
0
0
0
-9
-17
-11
27
0
0
-31
25
0
67
37
-57
-14
0
0
0
0
0
33
-16
-7
-14
0
0
0
-24
0
-1
-2
11
20
0
0
0
0
-1
0
9
-23
31
0
0
0
0
-34
-23
-148
-30
46
2
0
0
0
67
-49
66
-1
25
-53
0
0
0
7
9
9
-31
2
-21
0
0
0
9
-26
5
44
-14
-17
0
0
0
-1
19
21
28
-46
4
0
0
0
-8
32
49
-71
1
-32
0
0
0
0
16
23
-144
15
10
0
0
0
-1
-44
6
5
15
1
0
0
0
-1
20
-48
-135
105
-3
0
0
0
2
-42
-14
-11
7
-14
0
0
0
0
1
15
19
64
12
0
0
0
-70
0
42
22
-12
46
0
0
0
5
48
-43
-4
-33
25
0
0
0
35
24
3
-9
-11
-18
0
0
0
0
-7
68
5
-10
10
0
0
0
10
-26
13
8
-56
8
0
0
0
-2
-11
5
-36
0
0
0
0
0
20
-14
46
-93
3
0
0
0
0
0
-13
-59
11
53
0
0
0
0
48
-12
55
14
-52
0
0
0
0
0
-2
50
28
-36
0
0
0
0
-1
-14
8
-17
-26
0
0
0
0
0
-29
1
18
66
0
0
0
0
0
-27
1
9
19
0
0
0
0
0
-19
-36
26
-9
0
0
0
0
22
20
-19
-14
59
0
0
0
0
-1
3
-27
1
64
0
0
0
0
-14
10
15
27
37
0
0
0
0
0
2
21
-51
54
0
0
0
0
0
-58
3
36
9
0
0
0
0
0
-1
-44
-5
87
0
0
0
0
-33
-11
51
-15
3
0
0
0
14
-4
-6
56
-52
20
-15
0
0
0
-79
22
-7
66
83
19
0
0
7
9
-1
10
-35
-36
6
0
0
0
-21
-21
-21
41
82
30
0
0
-26
0
-46
-7
-8
139
-39
0
0
0
10
4
13
-68
51
-7
0
0
24
0
-7
-73
8
38
6
0
0
0
35
5
-29
-31
45
-5
0
0
5
5
27
12
-29
-18
-8
0
0
0
0
-7
9
-49
-42
29
0
0
-20
-2
-2
-3
52
29
-43
0
0
0
17
-10
9
0
6
-11
0
0
-18
-2
-6
-47
-61
-8
27
0
0
0
0
6
-11
24
26
-7
0
0
-10
1
-2
37
-40
79
-23
0
0
0
-6
-3
-38
7
63
-9
0
0
-13
5
47
-48
-25
-18
0
0
0
0
-5
-47
90
-43
62
0
0
0
23
0
0
-57
7
-49
0
0
0
0
-6
-3
3
-17
44
0
0
0
-51
-3
25
16
22
-2
0
0
0
0
2
49
30
-16
-4
0
0
0
-45
0
17
89
-4
-20
0
0
0
0
-31
41
17
19
25
0
0
0
5
-1
-41
-10
-22
21
0
0
0
0
0
21
-18
-15
34
0
0
0
12
6
8
20
-39
-54
0
0
0
0
-8
-7
5
-9
27
0
0
0
4
0
4
13
18
21
0
0
0
0
0
4
-10
-47
58
0
0
0
13
-2
1
19
0
3
0
0
0
0
-1
-1
8
9
60
0
0
0
0
23
-38
82
-40
86
-11
0
0
0
-8
13
-9
-89
9
39
0
0
0
-12
24
56
-22
-24
36
0
0
0
19
-21
15
-70
116
-8
0
0
0
-1
-24
2
33
66
-25
0
0
0
-7
-9
25
-44
93
15
0
0
0
-1
-14
85
-88
7
3
0
0
0
52
-12
10
24
49
-38
0
0
0
-3
36
9
6
71
-25
0
0
0
-27
-17
20
-27
23
-17
0
0
0
-4
8
-16
-43
-38
42
0
0
0
-27
34
49
-6
18
4
0
0
0
1
-14
-35
-18
-12
14
0
0
0
30
-34
-25
-13
39
-27
0
0
0
-8
-10
16
-36
50
15
0
0
0
20
-11
-13
14
33
-48
0
0
0
7
13
3
-51
6
0
0
0
0
17
-8
-33
-4
38
0
0
0
0
-1
-8
43
-1
58
0
0
0
0
51
-77
-51
-10
41
0
0
0
0
0
25
-2
-5
54
0
0
0
0
8
8
16
-40
-1
0
0
0
0
0
6
20
1
-1
0
0
0
0
-25
-48
46
55
-64
0
0
0
0
-1
-24
14
23
-7
0
0
0
0
13
32
5
11
13
0
0
0
0
47
34
-26
-4
-11
0
0
0
0
5
3
58
-31
3
0
0
0
0
0
9
3
30
-62
0
0
0
0
38
18
-3
6
10
0
0
0
0
2
3
-10
-10
47
0
0
0
0
-6
-10
-9
1
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-47
-1
16
19
0
19
0
0
0
0
-3
19
-13
5
0
0
0
0
-12
0
-14
6
-11
-28
0
0
0
0
-1
-1
28
45
0
0
0
-49
29
0
30
-47
-42
43
0
0
0
0
0
-6
6
-5
-5
0
0
0
46
0
-8
39
-42
71
0
0
0
0
-1
20
31
-17
-21
0
0
69
-5
1
1
53
-46
-64
0
0
0
0
-3
0
6
44
-57
0
0
0
-31
2
2
22
48
-17
0
0
0
0
0
-1
79
-59
-17
0
0
-50
8
0
-29
-22
-1
47
0
0
0
0
0
12
-19
-5
14
0
0
0
-38
0
1
-7
-32
51
0
0
0
0
3
0
3
-29
47
0
0
-15
-9
-2
-27
-39
-69
17
0
0
0
0
0
24
4
-139
16
0
0
0
27
0
-2
27
-100
-6
0
0
0
0
0
0
4
-37
29
0
0
-2
-38
0
13
-71
-20
30
0
0
0
0
0
-8
13
-55
0
0
0
0
1
0
-2
10
-46
32
0
0
0
0
-1
2
-8
-20
9
0
0
-36
5
0
-5
1
-28
4
0
0
0
0
0
-2
2
-16
-5
0
0
0
13
0
0
-75
-11
34
0
0
0
0
0
0
-1
27
-19
0
0
-9
-37
0
0
13
-40
40
0
0
0
0
0
14
-6
-54
29
0
0
0
3
0
1
4
-69
69
0
0
0
0
0
0
13
-38
53
0
0
0
0
26
50
-10
7
-37
0
0
0
0
46
-11
-9
-3
-55
0
0
0
0
-4
9
12
-29
40
0
0
0
0
-14
37
7
-8
22
0
0
0
0
2
-23
-49
-1
32
0
0
0
0
0
-10
27
6
43
0
0
0
0
2
-13
-38
45
36
0
0
0
0
-46
31
-26
-8
-2
0
0
0
0
0
42
-81
-20
35
0
0
0
0
3
1
-23
34
-65
0
0
0
0
0
-13
6
-1
26
0
0
0
0
-17
-16
-1
10
17
0
0
0
0
1
-5
48
-73
40
0
0
0
0
0
9
5
-48
47
0
0
0
0
-1
0
19
-6
60
0
0
0
0
30
15
-62
-24
46
0
0
0
0
0
-11
7
-53
47
0
0
0
0
-2
-41
-5
21
-25
0
0
0
0
0
0
4
-98
31
0
0
0
0
-22
4
15
-10
29
0
0
0
0
0
-1
2
-46
12
0
0
0
0
1
0
-4
-77
-25
0
0
0
0
0
0
8
1
3
0
0
0
0
-1
-15
-5
7
49
0
0
0
0
0
5
-22
-8
-4
0
0
0
0
-3
0
0
17
-6
0
0
0
0
0
-2
16
-3
-9
0
0
0
0
-4
0
-13
-6
78
0
0
0
0
0
3
-5
-46
5
0
0
0
0
-1
-3
2
23
-25
0
0
0
0
0
-1
4
-27
68
0
0
0
0
13
3
-2
-22
53
0
0
0
-2
48
-34
-11
20
-16
0
0
0
0
4
20
12
5
-4
0
0
0
-30
-4
-16
-28
-50
56
0
0
0
0
26
29
-15
-39
17
0
0
0
19
2
10
-11
-12
-7
0
0
0
0
3
-13
-1
5
40
0
0
0
-9
0
-8
7
9
-6
0
0
0
0
22
3
-7
16
0
0
0
0
2
-24
0
6
-23
40
0
0
0
0
1
7
13
52
7
0
0
0
-13
4
0
1
29
16
0
0
0
0
2
-1
9
68
11
0
0
0
5
0
4
18
-30
-3
0
0
0
0
0
-3
-1
25
21
0
0
0
-3
0
1
-8
-28
40
0
0
0
0
-7
-12
17
12
50
0
0
0
32
0
2
-71
-77
58
0
0
0
0
0
-6
14
-22
9
0
0
0
-39
0
1
78
-80
-30
0
0
0
0
-4
0
49
-78
39
0
0
0
40
0
-2
1
-31
-4
0
0
0
0
0
0
1
-9
28
0
0
0
71
0
-2
-29
23
-67
0
0
0
0
-3
-1
0
18
71
0
0
0
-3
1
8
-15
-39
30
0
0
0
0
0
-3
-42
-19
63
0
0
0
36
0
0
1
-42
44
0
0
0
0
2
0
11
-61
-8
0
0
0
-27
0
-2
6
-47
37
0
0
0
0
0
-6
-1
32
47
0
0
0
31
0
7
-1
-46
-12
0
0
0
0
5
0
-22
12
57
0
0
0
0
17
66
-37
-75
-41
0
0
0
0
13
-33
92
-26
46
0
0
0
0
15
-5
10
-32
-44
0
0
0
0
-31
-8
-2
-36
63
0
0
0
0
0
-12
3
75
-12
0
0
0
0
7
22
-20
-14
-12
0
0
0
0
0
-33
-14
50
59
0
0
0
0
54
-16
54
-25
6
0
0
0
0
0
-8
3
-34
7
0
0
0
0
8
-2
3
34
21
0
0
0
0
-4
40
23
-62
49
0
0
0
0
18
-12
56
12
1
0
0
0
0
0
2
-31
16
54
0
0
0
0
-7
-21
-5
6
31
0
0
0
0
-1
4
-18
-2
39
0
0
0
0
-15
42
-26
-4
74
0
0
0
0
0
-3
8
-37
-16
0
0
0
0
3
5
-8
-29
32
0
0
0
0
0
0
0
-69
12
0
0
0
0
-20
8
-40
20
43
0
0
0
0
0
0
10
13
-22
0
0
0
0
5
2
-5
-32
-11
0
0
0
0
5
2
-14
19
4
0
0
0
0
5
15
1
-10
39
0
0
0
0
-3
-1
-25
23
68
0
0
0
0
0
-5
4
-43
49
0
0
0
0
0
9
1
-6
-25
0
0
0
0
-5
-2
22
52
9
0
0
0
0
0
-4
0
47
21
0
0
0
0
0
7
3
-21
-7
0
0
0
0
-1
-4
13
-3
-13
0
0
0
0
-5
20
-5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
103
-50
7
6
4
28
0
0
0
0
-10
-25
5
27
-11
0
0
0
22
0
-9
31
-46
38
0
0
0
0
0
1
10
-69
30
0
0
-76
-6
0
-42
29
58
57
0
0
0
0
0
-2
-37
-16
-26
0
0
0
11
0
-5
32
-17
-21
0
0
0
0
0
-2
8
-26
48
0
0
-6
2
0
-22
-3
51
26
0
0
0
0
1
-5
-17
-28
22
0
0
0
35
3
-8
7
-54
19
0
0
0
0
0
-2
-13
-18
90
0
0
-2
-1
0
-14
-8
-17
-1
0
0
0
0
0
4
-19
23
27
0
0
0
13
0
0
-12
-20
48
0
0
0
0
0
3
-10
-17
30
0
0
6
-45
-1
38
89
-58
11
0
0
0
0
-1
-22
-16
17
45
0
0
0
-9
-1
8
29
-47
-14
0
0
0
0
0
0
-11
35
45
0
0
44
-5
-1
-18
-26
-21
25
0
0
0
0
5
-4
-12
14
21
0
0
0
8
0
8
-15
-62
59
0
0
0
0
0
-2
9
-6
34
0
0
-6
-32
-6
90
81
-17
18
0
0
0
0
2
0
4
-25
-53
0
0
0
-2
-1
7
-17
-7
19
0
0
0
0
0
-4
9
-32
8
0
0
27
-3
-3
-2
15
64
6
0
0
0
0
0
21
-5
-20
9
0
0
0
32
0
-5
-42
6
-11
0
0
0
0
-1
0
7
-21
26
0
0
0
0
28
28
48
-22
8
0
0
0
0
-44
-16
39
17
-13
0
0
0
0
3
-12
31
-14
36
0
0
0
0
-16
32
-2
-33
31
0
0
0
0
-4
-18
18
-9
45
0
0
0
0
-5
-25
15
21
-48
0
0
0
0
0
4
5
-47
13
0
0
0
0
0
24
2
-4
1
0
0
0
0
20
-31
-17
49
0
0
0
0
0
28
10
-8
-37
20
0
0
0
0
-3
1
4
4
71
0
0
0
0
-17
-7
-1
-19
67
0
0
0
0
0
-28
24
11
43
0
0
0
0
-11
4
-10
-64
23
0
0
0
0
-2
-1
0
-33
38
0
0
0
0
-1
45
6
-25
-33
0
0
0
0
1
-3
-86
24
54
0
0
0
0
-7
14
34
13
-9
0
0
0
0
-3
-2
-32
1
37
0
0
0
0
9
5
-41
-34
34
0
0
0
0
0
-16
-43
-6
32
0
0
0
0
2
-2
4
-24
50
0
0
0
0
0
3
1
-58
25
0
0
0
0
1
12
61
-80
-11
0
0
0
0
0
-18
29
88
-7
0
0
0
0
-39
-3
3
-31
23
0
0
0
0
9
1
8
-14
5
0
0
0
0
-4
7
53
-23
-11
0
0
0
0
0
7
13
-39
36
0
0
0
0
0
25
-1
-79
55
0
0
0
0
1
-1
-13
-28
22
0
0
0
0
8
19
-1
26
3
0
0
0
46
7
-57
-2
18
-7
0
0
0
0
10
-25
-56
12
131
0
0
0
6
4
-45
50
-27
-53
0
0
0
0
-5
3
49
-21
21
0
0
0
7
0
25
77
-62
-51
0
0
0
0
0
0
-39
-9
58
0
0
0
-7
-8
22
-47
2
63
0
0
0
0
2
-33
-6
11
42
0
0
0
2
9
-23
12
-37
-2
0
0
0
0
1
-12
35
-6
0
0
0
0
54
0
4
-13
-126
30
0
0
0
0
1
13
7
-33
37
0
0
0
-13
0
-1
14
10
18
0
0
0
0
5
8
-1
-24
-13
0
0
0
-20
-3
2
4
7
17
0
0
0
0
-32
-3
13
29
28
0
0
0
-32
0
16
-78
-19
8
0
0
0
0
6
-3
17
-21
13
0
0
0
-35
4
-5
-3
4
23
0
0
0
0
14
-4
-8
-40
57
0
0
0
-12
-5
44
-11
-46
30
0
0
0
0
-4
-33
15
49
16
0
0
0
86
0
-1
-29
-67
27
0
0
0
0
1
8
34
-30
38
0
0
0
-5
0
8
29
-53
-10
0
0
0
0
-1
0
24
-39
-47
0
0
0
-38
3
2
0
-34
-40
0
0
0
0
-10
0
29
15
-2
0
0
0
31
2
10
-22
7
-13
0
0
0
0
0
-9
-27
-3
15
0
0
0
55
0
-5
-8
-2
0
0
0
0
0
4
0
-3
3
5
0
0
0
0
18
-13
-89
15
28
0
0
0
0
-4
5
22
-8
-11
0
0
0
0
58
-1
42
-103
19
0
0
0
0
-23
-42
25
8
100
0
0
0
0
-4
-25
29
-9
13
0
0
0
0
3
-27
-7
-38
69
0
0
0
0
20
0
2
5
3
0
0
0
0
2
-11
34
-15
32
0
0
0
0
-3
2
49
-15
-27
0
0
0
0
17
-2
-41
33
-19
0
0
0
0
6
2
11
-70
29
0
0
0
0
-20
65
9
10
-17
0
0
0
0
-1
0
-25
18
52
0
0
0
0
-1
11
12
-43
24
0
0
0
0
17
2
19
-21
-10
0
0
0
0
-22
-16
19
-12
31
0
0
0
0
0
-25
17
-29
63
0
0
0
0
-4
-8
-15
18
10
0
0
0
0
-6
12
-22
-33
-8
0
0
0
0
8
50
-44
-26
-2
0
0
0
0
-1
-28
46
-59
45
0
0
0
0
-1
35
-16
-4
-1
0
0
0
0
5
1
1
40
2
0
0
0
0
-14
-19
40
22
-3
0
0
0
0
47
3
-31
35
30
0
0
0
0
-50
4
24
7
6
0
0
0
0
21
-1
36
-70
1
0
0
0
0
18
-11
-13
-24
7
0
0
0
0
0
-1
20
-23
-18
0
0
0
0
-25
-8
23
13
46
0
0
0
0
14
1
7
-8
-32
0
0
0
0
26
-4
-2
20
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
-12
11
-53
-11
2
14
-7
0
0
-27
37
47
-38
-64
-15
1
0
18
2
-73
11
-53
-7
-1
2
0
0
-33
-80
-8
-39
-29
10
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
5
4
-4
-5
0
-3
0
0
0
54
-17
2
35
-4
-13
0
0
-21
-66
-25
-78
-91
28
-18
0
0
0
-16
-77
-2
8
114
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-40
2
-23
-5
9
-24
0
0
0
0
-57
-113
-5
16
27
0
0
0
16
50
32
-7
-17
-31
0
0
0
0
15
74
56
-65
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
27
-59
32
-11
25
7
0
0
0
0
13
-2
-7
-36
42
0
0
0
-9
-15
9
5
6
-3
0
0
0
0
-3
-43
9
32
-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
25
-27
-22
-36
23
-23
-23
0
0
-1
-26
24
-33
-46
-27
23
0
0
8
7
27
6
1
9
7
0
0
19
10
5
41
13
-20
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
65
-26
-47
24
-16
0
0
0
47
-35
5
32
18
-46
0
0
0
-27
4
63
-61
86
11
0
0
0
7
21
31
5
21
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
-36
-7
0
0
0
0
-18
7
-41
14
-34
0
0
0
0
2
-44
22
-37
76
0
0
0
0
11
-21
41
-18
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-29
-7
-29
0
0
0
0
-17
18
5
19
2
0
0
0
0
0
1
-24
-10
23
0
0
0
0
-36
-8
8
-8
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
1
-3
-53
3
14
8
31
0
0
17
5
16
24
74
-26
37
0
-51
-6
66
-4
-11
4
50
-6
0
0
-29
-13
68
18
-4
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-11
13
-99
13
14
0
0
0
-6
-24
12
2
51
53
0
0
-11
-2
-8
-39
-83
69
26
0
0
0
5
-5
-28
-37
54
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
-9
18
-83
48
0
0
0
0
0
-8
-29
30
-13
0
0
0
-35
0
0
81
-76
-70
0
0
0
0
2
8
-20
7
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-5
-8
18
-1
0
0
0
0
2
-1
41
-31
15
0
0
0
-3
0
0
-23
-53
28
0
0
0
0
-1
1
0
47
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
106
8
8
-14
-10
0
0
-30
-46
10
-21
108
16
-6
0
0
8
51
6
53
-10
3
12
0
0
4
-11
-118
-63
7
34
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
-18
-26
25
-58
0
0
0
7
-75
51
27
-53
39
0
0
0
-9
-12
20
50
-36
10
0
0
0
-69
15
10
-84
75
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
41
13
-5
0
0
0
0
-4
-16
10
3
-8
0
0
0
0
7
-4
-23
-31
-11
0
0
0
0
-38
38
31
-5
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
18
18
0
0
0
0
8
14
7
-77
48
0
0
0
0
5
0
20
51
-1
0
0
0
0
18
-16
-7
29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
6
1
-34
-42
-31
61
-9
4
0
0
2
1
75
-27
-130
22
-6
0
1
0
-8
-6
10
48
7
-7
0
0
0
1
-29
80
44
11
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-52
-39
80
57
-2
0
0
0
-1
-2
-36
6
-57
-24
0
0
28
0
8
-8
-81
109
-29
0
0
0
0
-2
-6
-30
73
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
0
-1
-33
-78
18
0
0
0
0
0
4
-5
-4
-37
0
0
0
23
0
-7
-7
14
-35
0
0
0
0
0
-2
-12
-11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
0
-14
-1
-48
17
0
0
0
0
0
-12
3
39
12
0
0
0
-12
0
6
-11
6
16
0
0
0
0
0
-1
0
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
68
54
-23
-71
-19
14
0
0
0
-38
-66
-6
-40
-10
-16
0
0
0
34
-1
-19
89
-8
11
0
0
-5
-40
-23
-74
53
48
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
0
-46
55
-7
0
0
0
-1
12
-48
-50
-11
-14
0
0
0
0
0
69
-45
26
24
0
0
0
10
-58
14
0
20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-79
3
0
0
0
0
2
8
-2
-38
5
0
0
0
0
0
8
-19
-45
43
0
0
0
0
2
52
-21
40
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
11
-50
10
0
0
0
0
2
2
-1
39
-4
0
0
0
0
0
2
1
-25
8
0
0
0
0
0
-5
0
-65
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-13
36
-34
-33
-9
11
0
0
2
7
12
-20
9
25
-23
0
-73
0
-8
-45
2
35
1
2
0
0
-22
14
80
39
-17
-37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
-41
-15
29
-10
0
0
0
1
-8
-15
-34
28
35
0
0
38
0
-12
33
16
-1
-32
0
0
0
-2
13
-1
-79
-7
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
1
44
-26
0
0
0
0
0
3
11
5
56
0
0
0
3
0
12
-21
-12
-1
0
0
0
0
0
-16
13
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
-8
-51
42
0
0
0
0
-1
-2
0
-27
35
0
0
0
-21
0
-5
-9
2
24
0
0
0
0
0
0
0
15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
-71
21
-48
24
0
0
-6
0
-6
20
-52
31
53
0
0
-6
-64
36
-38
7
21
-12
0
0
-48
-40
53
-22
14
74
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-28
42
-5
0
0
0
13
8
-2
53
23
-57
0
0
0
3
13
-51
-39
48
-4
0
0
0
-25
10
-21
-37
1
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-20
5
0
0
0
0
0
-29
14
7
11
-1
0
0
0
0
2
12
16
-54
12
0
0
0
0
13
20
-14
53
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-11
9
0
0
0
0
4
5
-5
3
-23
0
0
0
0
24
-8
7
-7
11
0
0
0
0
-23
-12
6
27
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-34
3
-40
-32
26
0
0
0
-2
10
29
-21
-20
1
0
0
5
2
9
76
20
5
-18
0
0
0
0
45
12
-65
20
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
34
-23
4
1
20
0
0
0
1
-2
-33
-18
11
-4
0
0
0
1
-17
13
-2
-54
19
0
0
0
0
7
-27
-37
46
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
2
14
42
36
8
0
0
0
0
8
17
-22
-50
-2
0
0
0
-2
0
-6
16
-47
-9
0
0
0
0
0
4
22
-25
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
-1
1
23
9
-16
0
0
0
0
0
3
-47
-25
30
0
0
0
0
0
-5
-28
-1
40
0
0
0
0
-3
13
2
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
39
-31
-35
-17
0
0
0
18
-18
-21
-105
3
-20
0
0
0
4
-1
12
-19
14
-2
0
0
0
11
2
30
-64
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-89
-48
-40
-8
0
0
0
0
-16
19
-20
4
-12
0
0
0
-2
-2
2
30
12
-33
0
0
0
5
-2
-4
-12
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
11
-35
4
0
0
0
0
-2
1
5
-37
-7
0
0
0
0
0
0
3
-15
20
0
0
0
0
-2
4
5
-51
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
-20
24
0
0
0
0
9
2
2
-20
-17
0
0
0
0
0
0
0
24
56
0
0
0
0
5
8
6
-40
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-34
-63
-13
38
-19
0
0
0
3
10
-15
6
-18
36
0
0
8
1
-10
44
-75
48
8
0
0
0
-5
-17
33
-11
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
-51
0
44
22
0
0
0
8
24
-10
0
62
-22
0
0
-6
4
1
-45
-16
-61
30
0
0
0
-5
-2
17
-22
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
8
-27
-48
67
0
0
0
0
0
5
-1
-28
50
0
0
0
-4
0
4
-22
-2
7
0
0
0
0
0
-8
-6
-19
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
8
-2
-15
-10
0
0
0
0
0
-3
-13
1
33
0
0
0
29
0
0
12
11
-50
0
0
0
0
-2
0
-1
-3
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
22
-29
43
22
0
0
0
7
8
15
4
-28
-22
0
0
0
5
0
97
8
-2
-25
0
0
0
-26
1
11
94
17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-40
-30
1
0
0
0
0
1
-87
55
21
22
-29
0
0
0
1
10
41
32
-62
13
0
0
0
11
-7
-47
45
-21
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
47
12
0
0
0
0
-3
-6
-38
-41
84
0
0
0
0
0
0
61
28
-10
0
0
0
0
23
-28
-28
-20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-37
44
0
0
0
0
-17
-2
5
4
36
0
0
0
0
-1
0
20
-83
79
0
0
0
0
-25
0
18
20
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
5
10
-24
47
8
0
0
0
0
9
-29
-58
14
52
0
0
46
0
2
9
18
51
-21
0
0
0
0
2
58
-35
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
0
64
-1
32
13
6
0
0
0
-1
72
37
-96
53
-2
0
0
22
0
-1
25
-46
30
-28
0
0
0
0
2
-29
-3
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
3
-1
-8
42
14
24
0
0
0
0
0
25
-14
-40
37
0
0
0
4
0
-4
-45
5
45
0
0
0
0
0
-4
5
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-2
2
21
5
-11
13
0
0
0
0
0
0
-9
-12
-2
0
0
0
-6
0
0
25
-16
6
0
0
0
0
-1
-1
0
8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
14
-31
97
0
0
0
0
-3
17
3
-120
15
37
0
0
0
0
0
6
18
-12
52
0
0
0
-1
-4
48
-3
56
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
36
-21
30
-3
0
0
0
-6
-41
-60
-65
41
11
0
0
0
0
4
34
17
4
-17
0
0
0
-8
36
40
-4
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
21
19
0
0
0
0
0
-2
-27
-46
40
0
0
0
0
0
0
-38
36
8
0
0
0
0
0
10
2
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
2
7
15
0
0
0
0
0
-8
3
-15
32
0
0
0
0
0
-4
-8
43
24
0
0
0
0
0
-5
7
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
-1
-5
-21
4
19
0
0
0
0
24
-3
56
51
20
0
0
-29
0
-3
-37
22
9
-3
0
0
0
-3
5
-42
3
128
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-17
-23
28
33
0
0
0
-2
-3
0
26
-17
-17
0
0
52
0
-28
-32
-7
16
-19
0
0
0
33
18
9
3
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
27
-17
26
0
0
0
0
0
-12
4
-42
61
0
0
0
19
0
-1
-25
-39
102
0
0
0
0
2
-6
-5
-5
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-2
9
-40
23
0
0
0
0
2
1
8
0
-6
0
0
0
28
-3
-5
4
5
-13
0
0
0
0
25
0
-1
15
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
15
-1
11
-3
0
0
0
-42
13
-9
-9
22
34
0
0
0
-18
-32
15
29
29
-37
0
0
0
-4
65
18
-11
-13
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
44
39
-9
0
0
0
42
-25
66
-9
56
3
0
0
0
21
-12
-33
0
34
-30
0
0
0
55
-32
-19
5
10
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
45
0
0
0
0
5
36
-45
5
26
0
0
0
0
2
3
13
10
19
0
0
0
0
-16
-80
44
4
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
18
0
22
0
0
0
0
-16
-17
-15
16
49
0
0
0
0
25
0
-2
-3
79
0
0
0
0
7
10
-49
-10
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
-72
-26
-30
4
0
0
0
0
-1
54
-24
-28
4
0
0
0
-32
0
-19
-13
-22
40
0
0
0
0
6
36
-87
-63
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
-5
52
-47
1
0
0
0
0
-1
-22
62
-56
-11
0
0
0
0
1
5
-26
-42
5
0
0
0
0
-4
-10
30
32
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
-20
6
-40
-24
0
0
0
0
0
-5
3
20
-74
0
0
0
3
0
-5
3
-5
-29
0
0
0
0
0
0
-23
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
23
6
-23
0
0
0
0
0
0
-8
12
18
15
0
0
0
2
0
8
10
1
-38
0
0
0
0
2
8
12
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-108
-60
-1
0
0
0
0
1
-35
-22
-22
44
0
0
0
0
0
-5
101
-38
-24
0
0
0
0
1
48
-13
-12
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
45
-43
-25
0
0
0
0
0
1
-45
-83
69
0
0
0
0
-4
-3
12
-8
40
0
0
0
0
7
-10
10
-20
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-15
8
0
0
0
0
0
0
-60
60
-37
0
0
0
0
0
0
-2
-31
51
0
0
0
0
0
3
0
71
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-56
84
-34
0
0
0
0
1
3
-6
-6
-12
0
0
0
0
0
-1
-15
-41
77
0
0
0
0
11
6
-4
-34
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
5
-91
-31
0
0
0
0
0
0
-31
-14
78
0
0
0
61
0
-5
5
-49
24
0
0
0
0
1
0
-34
-50
-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
-17
0
0
59
21
-34
0
0
0
0
0
2
65
-24
14
0
0
0
-35
3
-1
18
-33
57
0
0
0
0
2
8
38
-52
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-5
-94
19
0
0
0
0
0
1
6
-89
23
0
0
0
23
0
0
-2
-8
-23
0
0
0
0
0
0
0
-44
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-14
-14
37
0
0
0
0
0
1
-4
14
42
0
0
0
-21
0
0
2
-22
25
0
0
0
0
0
0
36
-67
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
26
-70
66
0
0
0
0
-4
16
43
-95
24
0
0
0
0
2
-9
31
-32
22
0
0
0
0
2
-42
26
31
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-23
14
37
0
0
0
0
0
14
49
-28
-2
0
0
0
0
0
1
53
0
-8
0
0
0
0
15
-40
28
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
31
-3
0
0
0
0
0
1
-16
-27
46
0
0
0
0
-2
0
-1
-31
16
0
0
0
0
0
5
-36
-7
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-25
34
0
0
0
0
1
-3
-10
-43
115
0
0
0
0
0
0
-35
25
33
0
0
0
0
2
0
-13
-62
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
20
-27
-28
-13
0
0
0
0
0
2
57
-35
0
0
0
0
-6
0
-5
-33
4
15
0
0
0
0
0
-2
3
-11
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
3
28
3
-25
0
0
0
0
-1
3
53
-46
-59
0
0
0
0
-1
5
74
-9
-34
0
0
0
0
0
0
9
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-9
-35
22
0
0
0
0
0
0
0
-21
-33
0
0
0
3
0
-1
-2
-58
-19
0
0
0
0
0
2
3
-9
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
0
-5
-5
24
41
0
0
0
0
-3
-1
1
-72
42
0
0
0
-31
0
3
20
-42
48
0
0
0
0
1
-1
27
-67
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-24
-5
0
0
0
0
-4
24
-7
-44
-20
0
0
0
0
0
7
-3
-47
60
0
0
0
0
0
-48
5
-62
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
67
-43
0
0
0
0
3
-27
3
11
-43
0
0
0
0
3
12
0
20
7
0
0
0
0
13
25
-4
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-59
-1
0
0
0
0
0
1
0
-76
37
0
0
0
0
0
1
5
32
-8
0
0
0
0
-1
2
0
-25
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-96
36
0
0
0
0
-2
1
13
-73
39
0
0
0
0
0
1
25
-16
53
0
0
0
0
-2
0
6
13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-4
1
-10
-44
0
0
0
0
0
-8
-9
-15
48
0
0
0
8
0
-2
-9
-13
87
0
0
0
0
-7
13
-7
-114
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
-36
78
19
0
0
0
0
0
12
-5
16
12
0
0
0
-47
0
5
-7
-21
62
0
0
0
0
20
14
-16
-30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
45
-62
41
0
0
0
0
0
-1
7
-66
19
0
0
0
37
0
0
4
-56
68
0
0
0
0
-9
2
3
-49
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
18
-8
-5
0
0
0
0
-2
-10
-6
-2
86
0
0
0
28
0
-2
43
-102
54
0
0
0
0
-2
0
-7
16
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
15
47
0
0
0
0
29
27
-17
50
-47
0
0
0
0
-1
3
-26
26
0
0
0
0
0
-65
25
11
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
30
0
3
0
0
0
0
-5
-22
67
51
-100
0
0
0
0
0
28
-25
-14
71
0
0
0
0
-18
-21
20
41
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
60
8
0
0
0
0
0
23
-5
36
-35
0
0
0
0
0
21
6
-73
14
0
0
0
0
-16
-14
13
30
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-44
56
0
0
0
0
5
10
23
-58
9
0
0
0
0
-2
-6
-36
1
80
0
0
0
0
-29
-68
-31
-1
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-53
-36
1
46
0
0
0
0
0
-36
-29
60
1
0
0
0
-2
0
0
0
-40
103
0
0
0
0
0
12
8
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
-74
46
-8
90
0
0
0
0
1
3
17
-110
50
0
0
0
1
-3
25
8
32
-59
0
0
0
0
2
30
5
-77
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
0
12
7
-131
44
0
0
0
0
0
1
-1
6
39
0
0
0
-2
0
-2
-24
-31
47
0
0
0
0
0
2
73
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-4
-2
-44
0
50
32
0
0
0
0
0
-43
57
24
17
0
0
0
3
0
-2
43
-31
-13
0
0
0
0
0
9
2
-31
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-49
12
-68
54
0
0
0
0
0
-18
-41
-35
58
0
0
0
0
0
-1
12
64
-18
0
0
0
0
5
7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-60
-13
20
0
0
0
0
0
-2
-33
-2
48
0
0
0
0
0
-2
-2
96
-14
0
0
0
0
6
-15
29
-25
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-78
33
0
0
0
0
0
-4
-5
12
-50
0
0
0
0
0
0
9
-49
19
0
0
0
0
0
0
-5
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
41
-2
-6
0
0
0
0
0
1
48
-6
-46
0
0
0
0
-2
0
24
-39
-13
0
0
0
0
-2
-2
3
-7
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-20
-50
23
0
0
0
0
3
2
-32
60
-67
0
0
0
9
0
-1
-21
-57
71
0
0
0
0
-1
-5
-11
24
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
64
-58
3
0
0
0
0
0
2
61
-18
-31
0
0
0
-3
2
2
4
-115
23
0
0
0
0
10
4
25
-54
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
1
40
20
10
0
0
0
0
-1
-6
-2
5
34
0
0
0
59
0
0
-5
59
-28
0
0
0
0
0
7
-31
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
-1
42
-80
34
0
0
0
0
-3
3
-7
-2
25
0
0
0
-60
-2
0
-33
-28
3
0
0
0
0
4
0
-3
-27
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-22
77
0
0
0
0
-21
20
60
21
3
0
0
0
0
1
-3
59
-20
-31
0
0
0
0
3
26
-53
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
-83
93
0
0
0
0
7
-9
44
-67
53
0
0
0
0
8
30
37
-76
34
0
0
0
0
14
12
-26
26
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
17
-36
67
0
0
0
0
4
5
32
20
12
0
0
0
0
5
-1
-26
23
116
0
0
0
0
47
-25
-51
-42
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
-28
41
0
0
0
0
-32
24
12
-9
42
0
0
0
0
6
-2
13
-12
-39
0
0
0
0
-11
-2
65
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
6
19
-21
37
0
0
0
0
1
1
4
26
0
0
0
0
-5
0
7
0
-29
21
0
0
0
0
0
3
0
9
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-8
-1
-18
-8
8
20
0
0
0
0
-3
-4
2
-18
-1
0
0
0
-33
0
-1
-16
9
-14
0
0
0
0
0
0
19
6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
4
0
8
19
-41
29
0
0
0
0
0
0
12
-25
23
0
0
0
19
0
-2
1
57
-15
0
0
0
0
0
-5
-3
13
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
-2
-21
9
-25
41
0
0
0
0
1
0
-14
19
2
0
0
0
21
2
0
0
38
-71
0
0
0
0
-4
7
-2
-67
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
40
-3
0
0
0
0
-1
2
-1
-14
35
0
0
0
0
0
1
4
25
28
0
0
0
0
0
-3
8
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-29
-7
53
0
0
0
0
0
-4
16
-26
5
0
0
0
0
0
-5
6
-16
18
0
0
0
0
0
-43
8
27
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
9
10
0
0
0
0
0
3
0
-2
23
0
0
0
0
0
-1
19
-4
24
0
0
0
0
0
-13
-5
26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
2
-5
-3
0
0
0
0
2
17
-3
-58
26
0
0
0
0
1
0
-3
30
-2
0
0
0
0
3
12
-2
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-3
13
-6
5
0
0
0
0
0
0
6
-54
47
0
0
0
-11
0
-5
1
15
-30
0
0
0
0
26
0
1
7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-2
-21
31
-15
0
0
0
0
1
10
-5
17
-41
0
0
0
-4
0
-5
7
42
-36
0
0
0
0
19
8
-7
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
1
24
-3
30
0
0
0
0
0
-13
5
-34
97
0
0
0
-17
0
0
15
-56
15
0
0
0
0
28
2
8
-11
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
2
19
-1
8
0
0
0
0
-1
-10
-2
45
-42
0
0
0
10
0
0
32
-61
-51
0
0
0
0
-15
1
-3
21
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-7
0
0
0
0
0
-3
0
-11
42
63
0
0
0
0
2
0
9
-7
8
0
0
0
0
-7
7
29
21
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
17
-13
0
0
0
0
-12
-35
-6
31
18
0
0
0
0
2
8
-7
-47
15
0
0
0
0
2
2
44
-47
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-29
42
0
0
0
0
0
-44
3
38
2
0
0
0
0
1
2
13
4
52
0
0
0
0
-9
90
13
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-18
39
34
0
0
0
0
-24
-34
8
-44
77
0
0
0
0
-7
-17
1
19
-1
0
0
0
0
16
-13
-1
-67
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
7
-2
-4
-4
1
-6
5
-5
0
0
22
109
63
8
8
-2
-9
0
-42
70
-63
-41
-12
-13
-41
43
0
0
-47
-45
-43
-78
-10
80
28
2
61
-10
-11
-73
20
-16
-7
-6
0
0
49
-25
-35
-38
11
-15
4
0
51
-30
-36
0
-62
-12
0
-17
0
0
10
4
-63
-35
37
13
29
17
27
17
41
-40
31
25
-15
0
0
0
-16
65
-43
30
37
-6
0
0
-32
10
48
44
31
-31
-21
0
0
0
-39
-19
24
3
-10
55
0
-57
18
-8
77
-25
-74
-3
-9
0
0
0
-11
-17
73
-47
-26
-6
0
0
-20
33
-45
-29
37
-34
-8
0
0
0
-20
-24
28
-2
36
22
0
-45
11
11
-73
23
19
-1
0
0
0
0
11
18
-12
-44
39
0
0
0
13
-1
8
42
-60
5
0
0
0
0
54
24
-44
27
-37
0
0
35
-91
6
53
-55
2
-26
0
0
0
0
26
11
37
-59
38
0
0
0
-84
4
29
-21
4
44
0
0
0
0
-49
4
-11
28
12
0
0
-38
-14
-5
15
32
3
56
0
0
0
0
8
-8
45
13
-47
0
0
0
15
-1
10
-28
-5
-24
0
0
0
0
-26
52
-66
-48
79
0
0
35
-9
-17
-24
89
-79
1
0
0
0
0
-29
-32
5
-11
28
0
0
0
-10
36
12
24
3
-17
0
0
0
0
-44
-18
10
-48
2
0
0
0
0
-34
6
-33
-9
-1
-13
19
0
0
52
-27
-32
47
-6
-4
25
0
0
43
-14
8
-29
66
39
-48
0
0
-7
-59
12
55
51
-37
8
0
0
0
-3
-49
-45
-25
-48
-15
0
0
0
9
-8
-28
41
-4
3
0
0
0
2
2
-18
67
25
-8
0
0
14
13
1
-21
-15
47
-2
0
0
1
0
26
22
-30
-54
0
0
0
-9
-3
-3
0
-12
-28
0
0
0
3
0
14
-30
50
-7
0
0
0
32
-1
12
-23
55
-2
0
0
0
0
2
3
-83
27
25
0
0
0
0
-1
-1
-40
11
-33
0
0
0
0
0
1
-18
28
-81
0
0
0
-14
2
-3
-3
4
8
0
0
0
-1
-18
26
-28
-14
0
0
0
0
1
-4
-10
-21
40
0
0
0
0
0
0
13
-60
-14
0
0
0
0
-10
-3
3
-38
60
0
0
0
0
-1
2
12
-30
-5
0
0
0
0
-4
0
1
-50
26
0
0
0
0
0
-12
0
59
19
0
0
0
0
0
11
-2
-41
-15
0
0
0
0
0
0
-1
0
37
0
0
0
0
1
2
0
-6
9
0
0
0
0
1
-1
-8
2
30
0
0
0
0
1
-1
0
-23
17
0
0
0
0
0
-3
0
-31
-53
0
0
0
0
2
1
-3
-10
-13
0
0
0
0
0
0
0
7
-57
0
0
0
0
-59
13
0
8
21
0
0
0
-34
-2
33
-55
27
11
-18
14
0
0
0
-6
-48
12
7
-5
4
0
40
-1
-3
-66
-57
-4
-43
38
0
0
-4
0
8
17
12
-37
-16
0
8
0
1
-29
11
29
-59
5
0
0
0
0
2
4
46
-3
19
0
17
0
0
35
47
-35
-32
-2
0
0
0
0
1
1
8
-42
35
0
-2
0
5
-27
-31
94
-16
0
0
0
-1
2
-6
-29
23
-13
0
0
20
0
0
6
-21
-31
-3
0
0
0
0
-2
-7
-15
18
38
0
0
3
0
0
3
40
8
25
0
0
0
0
0
-3
-15
8
20
0
0
-49
0
-2
4
1
-7
-11
0
0
0
0
0
0
-2
-5
-8
0
0
11
-2
5
-50
27
23
0
0
0
0
0
0
-7
1
45
0
0
0
0
0
0
-9
20
-14
0
0
0
0
0
0
-2
9
28
0
0
0
2
0
0
40
6
-8
0
0
0
0
1
0
-1
-39
-22
0
0
0
3
0
0
6
-28
51
0
0
0
0
0
0
0
-5
8
0
0
0
2
1
-3
24
8
10
0
0
0
0
0
-5
3
-63
-18
0
0
0
-3
0
-1
-5
16
17
0
0
0
0
0
-1
-1
9
-34
0
0
0
-6
0
0
-2
30
19
0
0
0
0
0
0
4
8
20
0
0
0
-23
0
-1
-5
4
43
0
0
0
0
0
0
0
0
17
0
0
0
0
1
-15
-42
-32
12
-1
-22
0
0
14
1
53
-1
-37
-65
-45
0
0
3
0
75
22
51
44
20
0
0
4
33
-72
-2
34
105
28
0
0
3
2
3
61
27
-11
-11
0
0
-2
-6
-3
40
20
-18
8
0
0
1
0
12
-12
-25
-9
42
0
0
0
17
58
41
-57
-49
0
0
0
0
-2
17
-67
-74
43
0
0
0
0
2
-18
5
-20
-37
0
0
0
0
-1
9
23
-1
31
0
0
0
-2
-4
5
-60
87
-11
0
0
0
0
-2
0
-5
75
-17
0
0
0
0
0
-2
-1
9
-11
0
0
0
0
0
0
-6
0
51
0
0
0
5
2
-3
4
-16
-40
0
0
0
2
-1
-19
-13
-12
0
0
0
0
0
-1
-2
36
2
0
0
0
0
0
0
1
-14
14
0
0
0
0
5
-5
4
1
75
0
0
0
0
0
-1
3
-36
63
0
0
0
0
0
7
-1
-51
76
0
0
0
0
-1
0
0
6
67
0
0
0
0
0
0
0
-21
39
0
0
0
0
0
0
-1
-36
72
0
0
0
0
0
0
1
-23
-11
0
0
0
0
0
0
1
-13
71
0
0
0
0
2
0
5
-8
30
0
0
0
0
0
0
0
5
-20
0
0
0
0
0
-5
0
-29
48
0
0
0
0
0
-2
1
0
2
0
0
0
0
0
0
0
4
9
0
0
-42
4
0
-29
52
-74
24
8
3
0
0
0
-7
-18
-73
38
34
25
0
-1
0
-16
25
4
17
7
-23
0
0
1
2
2
0
18
-17
13
1
0
0
-17
-6
18
48
11
-14
0
0
-4
0
31
-64
50
45
-29
0
-7
0
1
2
-20
-18
9
2
0
0
0
0
-29
-63
-47
31
68
-1
0
0
-3
30
-78
-49
49
0
0
0
0
0
2
9
44
-18
0
0
-1
0
4
-59
-21
78
3
0
0
0
0
-1
4
-24
-15
24
0
-2
0
0
-2
28
11
-8
1
0
0
0
0
-1
-3
-20
5
-10
0
0
8
0
0
1
4
-19
-1
0
0
0
0
-1
0
5
40
-54
0
25
3
2
-47
-35
25
-15
0
0
0
0
0
-7
-10
19
39
0
0
0
-2
0
-2
-28
-107
99
0
0
0
0
0
2
-18
5
-25
0
0
-3
0
0
-2
44
28
1
0
0
0
0
1
-1
9
-23
14
0
0
0
1
0
-3
65
-46
31
0
0
0
0
0
0
0
4
7
0
0
0
0
0
-6
-22
22
2
0
0
0
0
0
-1
1
5
43
0
0
0
0
0
-3
-41
-7
54
0
0
0
0
0
1
-5
-5
13
0
0
-36
0
0
4
-2
34
1
0
0
0
0
0
3
0
6
32
0
0
0
8
0
0
-1
-13
46
0
0
0
0
0
3
0
2
-6
0
0
0
0
1
9
32
-97
-21
-17
36
0
0
6
-25
-32
-27
-55
17
49
0
0
0
-7
-1
15
-17
35
33
0
0
-6
17
26
3
82
-66
32
0
0
0
0
-9
-16
-22
-34
51
0
0
1
0
0
-72
45
-7
-31
0
0
0
0
-3
12
-13
36
74
0
0
0
0
1
-3
13
-2
50
0
0
0
0
8
-44
-32
-6
0
0
0
0
1
-5
-6
50
-5
0
0
0
0
0
0
8
25
47
0
0
0
0
0
0
29
30
-54
0
0
0
0
0
-1
-29
87
-13
0
0
0
0
0
7
-5
22
6
0
0
0
0
0
-1
4
5
50
0
0
0
0
-13
-4
0
5
-26
0
0
0
0
3
-19
-31
6
0
0
0
0
0
0
39
-56
53
0
0
0
0
0
0
3
-34
33
0
0
0
0
1
-2
-5
-25
61
0
0
0
0
0
0
1
25
-7
0
0
0
0
0
0
1
-50
-8
0
0
0
0
0
0
13
33
1
0
0
0
0
0
1
-3
12
-41
0
0
0
0
0
0
-8
-7
-18
0
0
0
0
0
0
-5
17
61
0
0
0
0
0
0
2
5
-48
0
0
0
0
0
0
-3
8
41
0
0
0
0
0
2
0
-16
-26
0
0
0
0
0
3
-2
1
-23
0
0
0
0
0
0
-3
-13
20
0
0
0
0
0
-1
0
-4
5
0
0
0
5
0
-4
-37
-53
18
-20
35
0
0
0
0
0
52
24
-60
1
0
2
0
0
-1
-100
-5
38
-25
0
0
1
0
-16
-32
21
28
24
0
12
0
2
-17
54
-56
-24
7
0
0
0
0
0
-21
38
5
11
0
-67
0
-1
0
16
-7
22
2
0
0
0
0
2
-24
8
-7
-4
0
1
0
0
2
-78
-6
22
0
0
0
0
1
0
-26
17
-2
0
0
-4
0
-1
-6
-6
21
-29
0
0
0
0
0
6
-16
-11
-17
0
0
0
0
1
-8
-25
2
-9
0
0
0
0
0
1
-25
23
11
0
0
31
0
0
8
5
11
10
0
0
0
0
0
-2
-7
-4
54
0
0
0
0
-5
-5
-59
77
0
0
0
0
0
0
-1
-6
20
0
0
0
6
0
0
-8
-50
2
0
0
0
0
0
0
1
-71
34
0
0
0
0
0
0
6
-5
18
0
0
0
0
0
0
0
-28
-5
0
0
0
16
0
0
-5
-7
42
0
0
0
0
0
6
-1
-10
-14
0
0
0
0
0
0
1
29
51
0
0
0
0
0
0
0
-2
55
0
0
0
8
0
0
-4
-41
40
0
0
0
0
0
-1
-1
-13
51
0
0
0
0
0
0
-1
42
-15
0
0
0
0
0
0
-1
-8
-28
0
0
0
-11
0
1
0
0
12
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
-20
-27
12
50
8
-7
0
0
0
-34
33
-13
11
-27
3
0
0
0
0
-39
21
42
71
3
0
0
43
11
-4
39
-29
47
-36
0
0
0
1
8
5
-47
-37
63
0
0
0
9
-1
-38
-16
29
60
0
0
0
-8
3
-15
25
-4
34
0
0
-35
5
-1
-7
0
53
19
0
0
0
2
3
-5
-45
13
0
0
0
1
2
0
-5
-7
-70
0
0
0
0
1
-18
27
49
44
0
0
0
-15
-28
-45
25
8
22
0
0
0
0
1
-2
-12
-15
28
0
0
0
0
-4
3
0
12
21
0
0
0
0
1
-13
4
-14
15
0
0
0
-3
7
43
0
2
-36
0
0
0
0
6
14
33
-103
0
0
0
0
0
-3
3
-68
42
0
0
0
0
0
-1
17
-51
-17
0
0
0
0
0
-5
45
-63
35
0
0
0
0
0
0
4
-5
15
0
0
0
0
1
-3
3
-25
12
0
0
0
0
0
8
0
-19
-6
0
0
0
0
0
-9
1
7
8
0
0
0
0
0
0
2
4
49
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
-1
8
-34
-25
0
0
0
0
0
18
4
4
44
0
0
0
0
0
3
0
-25
45
0
0
0
0
0
-3
2
3
18
0
0
0
0
0
20
3
-2
5
0
0
0
0
-1
10
2
9
-8
0
0
-59
3
-1
-23
26
-46
41
19
0
0
0
-8
4
36
83
27
-6
0
0
-25
6
-14
-6
-4
-39
52
0
0
0
0
-19
-3
-32
88
-24
0
54
0
0
-20
-14
-44
27
-11
0
0
0
0
40
-30
-47
59
-1
0
0
0
0
-4
2
65
8
-6
0
0
0
0
14
-15
-49
21
12
0
0
0
0
16
2
-55
3
40
0
0
0
1
4
56
-35
-2
5
0
0
0
0
0
-7
-35
-5
12
0
0
0
0
-6
16
-10
23
-11
0
3
0
0
2
44
-36
50
-17
0
0
0
0
4
-12
1
45
8
0
0
0
0
1
5
1
-1
-8
0
0
0
0
-2
-3
6
-39
-30
0
0
0
0
-1
30
36
14
0
0
0
0
0
-1
-4
-28
19
0
0
0
1
0
0
23
-22
-19
0
0
0
0
0
-1
11
-7
41
0
0
-3
0
0
0
102
7
-70
0
0
0
0
0
0
0
-9
11
0
0
0
0
0
-3
-4
-92
84
0
0
0
0
0
1
-42
17
-4
0
0
0
0
0
-2
34
33
14
0
0
0
0
1
0
-19
69
31
0
0
0
0
0
0
7
42
-72
0
0
0
0
0
-1
0
10
16
0
0
1
0
0
0
1
28
-3
0
0
0
0
0
1
2
-13
0
0
0
0
2
0
0
0
-2
-39
0
0
0
0
0
0
1
3
-40
0
0
0
0
0
-25
53
-9
-37
-9
0
0
0
-1
5
5
-50
-1
73
0
0
0
7
-1
-5
20
13
-16
0
0
0
5
0
8
37
9
-25
0
0
0
0
0
-18
-25
-45
-5
0
0
0
0
0
-1
-23
-6
3
0
0
0
0
0
-1
-6
56
36
0
0
0
0
0
1
-30
28
5
0
0
0
0
1
-3
-41
20
-23
0
0
0
0
0
2
-74
51
28
0
0
0
0
0
-8
-29
43
51
0
0
0
1
1
-1
-17
1
-45
0
0
0
0
0
8
28
-11
-6
0
0
0
0
-1
0
16
9
-24
0
0
0
0
0
0
2
8
-10
0
0
0
0
0
0
-4
-7
42
0
0
0
0
0
0
40
-9
0
0
0
0
0
0
0
5
24
0
0
0
0
0
0
-3
-35
71
0
0
0
0
0
0
0
3
61
0
0
0
0
0
4
0
0
23
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
-2
-5
15
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
1
0
-46
31
0
0
0
0
0
0
8
8
29
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
0
-22
10
0
0
0
0
0
0
2
11
29
0
0
0
0
0
0
0
5
-37
0
0
0
0
0
0
0
-13
45
0
0
0
-21
0
-10
11
-9
74
14
0
0
0
0
1
-1
-14
6
4
0
0
16
0
0
29
-51
-34
4
0
0
0
0
0
0
-12
54
-8
0
0
8
0
3
-5
-7
126
-18
0
0
0
0
0
-1
-39
51
36
0
0
6
0
0
-15
-13
38
-57
0
0
0
0
0
-3
-10
2
1
0
0
0
0
3
5
-4
-12
-30
0
0
0
1
0
0
9
9
-8
0
0
0
0
0
-15
-32
29
16
0
0
0
0
0
1
22
43
-17
0
0
0
0
0
-3
-16
-40
0
0
0
0
0
-2
0
4
19
2
0
0
-4
0
0
-4
1
75
-24
0
0
0
0
0
0
0
42
24
0
0
0
0
0
-8
5
-35
0
0
0
0
0
0
1
-51
26
0
0
0
0
0
0
-7
-29
61
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
17
-38
39
0
0
0
0
0
0
0
51
16
0
0
0
-2
0
0
3
17
-7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
1
-12
10
0
0
0
0
-1
0
0
-6
80
0
0
0
5
0
0
2
-9
12
0
0
0
0
0
0
-2
-4
-25
0
0
0
0
0
0
1
-9
13
0
0
0
0
0
0
-1
0
4
0
0
0
4
0
0
0
-5
-4
0
0
0
0
0
0
0
-10
20
0
0
0
0
-1
-6
8
-56
22
11
0
0
0
2
1
59
-134
61
-68
0
0
0
1
4
16
22
54
-105
0
0
0
-43
-21
44
30
-5
49
0
0
0
0
0
-6
37
-26
11
0
0
0
0
-1
-5
-1
47
16
0
0
0
0
0
-9
31
9
10
0
0
0
2
-24
1
0
57
27
0
0
0
1
0
-3
-12
22
-33
0
0
0
1
2
-8
-35
4
2
0
0
0
0
0
-2
21
-35
-21
0
0
0
4
2
-3
3
-42
39
0
0
0
0
0
0
10
8
19
0
0
0
0
0
-4
3
-19
17
0
0
0
0
0
0
1
38
-8
0
0
0
6
0
0
0
70
-86
0
0
0
0
0
-18
-11
32
0
0
0
0
0
0
-1
-8
8
0
0
0
0
0
0
0
-17
50
0
0
0
0
2
0
5
8
8
0
0
0
0
0
-2
-2
0
10
0
0
0
0
0
3
-1
0
11
0
0
0
0
0
1
6
0
-45
0
0
0
0
0
2
0
-4
42
0
0
0
0
0
0
3
25
39
0
0
0
0
0
0
-3
-9
-15
0
0
0
0
0
0
1
8
-31
0
0
0
0
0
1
3
-2
8
0
0
0
0
0
0
1
-9
10
0
0
0
0
0
-1
3
18
-43
0
0
0
0
0
0
-1
-2
8
0
0
0
0
1
0
0
2
-20
0
0
44
-3
0
-1
60
-36
-31
8
0
0
0
0
0
-5
-65
32
12
0
0
0
0
0
-32
-8
38
-16
0
0
0
0
0
44
-5
8
-93
0
44
0
0
-2
-48
36
54
-1
0
0
0
0
0
10
-27
20
-16
0
0
-35
0
-1
17
23
58
-47
0
0
0
0
0
48
5
20
-24
0
-16
0
0
-1
-15
17
-23
57
0
0
0
0
-2
20
-21
-30
17
0
0
0
0
0
-42
-3
53
24
0
0
0
0
-2
20
0
22
22
0
8
0
0
5
-23
-38
30
50
0
0
0
0
0
-10
22
65
18
0
0
-6
0
0
-24
-6
16
16
0
0
0
0
0
-1
-2
93
-93
0
0
0
0
-3
43
-80
13
0
0
0
0
0
0
4
-9
7
0
0
0
0
0
0
8
-14
4
0
0
0
0
0
0
-3
13
-3
0
0
4
0
0
0
26
2
-1
0
0
0
0
0
0
13
-13
12
0
0
0
5
0
0
-8
-1
18
0
0
0
0
0
0
-10
5
5
0
0
0
0
0
0
3
-28
-4
0
0
0
0
0
4
2
-25
47
0
0
0
0
0
0
1
-6
58
0
0
0
0
0
0
3
0
43
0
0
-20
0
0
2
2
20
8
0
0
0
0
0
2
1
-16
17
0
0
0
-8
0
0
5
-6
10
0
0
0
0
0
0
14
4
-10
0
0
0
0
0
-1
-41
-32
28
36
0
0
0
-5
-2
0
-10
10
-42
0
0
0
0
0
5
27
68
-38
0
0
0
0
1
5
8
81
-15
0
0
0
0
0
8
-21
43
-23
0
0
0
0
-2
0
-4
-49
-39
0
0
0
0
0
0
8
20
-10
0
0
0
0
-2
28
-3
4
-31
0
0
0
0
-1
8
0
-33
9
0
0
0
0
0
2
36
-10
-31
0
0
0
0
0
29
-5
73
1
0
0
0
0
0
52
2
55
-90
0
0
0
0
0
-3
22
-14
-13
0
0
0
0
-4
-1
-8
45
-3
0
0
0
0
0
4
-7
88
-39
0
0
0
4
2
-25
0
4
28
0
0
0
0
0
0
27
13
0
0
0
0
0
0
-4
-4
26
0
0
0
0
0
0
0
30
-80
0
0
0
0
0
0
4
-25
7
0
0
0
0
0
0
0
-18
40
0
0
0
0
1
0
0
-1
-20
0
0
0
0
0
0
0
2
-40
0
0
0
0
0
0
1
6
-6
0
0
0
0
0
0
-3
-20
22
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
6
24
-21
0
0
0
0
0
0
2
0
6
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
2
0
6
-4
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
-1
-4
1
44
0
0
0
5
0
-2
-15
-19
-31
13
0
0
0
1
0
-1
-12
69
-32
0
0
-31
0
0
2
-31
91
35
0
0
0
3
0
8
0
26
-4
0
0
1
0
0
2
-3
77
-12
0
0
0
0
-2
1
0
5
26
0
0
13
0
0
-4
2
-15
5
0
0
0
-1
-1
2
0
-25
54
0
0
0
0
0
1
5
-29
5
0
0
0
0
0
0
8
-51
10
0
0
16
0
3
0
1
63
-18
0
0
0
0
0
4
4
51
-78
0
0
4
0
0
2
0
3
43
0
0
0
0
-1
0
0
72
10
0
0
-13
0
0
0
0
29
-26
0
0
0
0
0
1
0
31
26
0
0
0
0
0
-1
-24
6
0
0
0
0
0
0
0
1
-58
0
0
0
-6
0
0
4
-25
40
0
0
0
0
0
0
2
-6
28
0
0
0
-1
0
0
-2
8
-51
0
0
0
0
0
0
0
-4
75
0
0
0
5
0
0
0
-1
35
0
0
0
0
0
0
-1
-2
18
0
0
0
0
0
0
0
18
13
0
0
0
0
0
0
0
-6
41
0
0
0
-6
0
0
-4
0
35
0
0
0
0
0
0
-2
0
7
0
0
0
-3
0
1
3
2
57
0
0
0
0
0
0
0
-12
7
0
0
0
83
0
0
3
-3
-63
0
0
0
0
0
0
0
1
16
0
0
0
0
0
-1
5
-15
-12
-49
0
0
0
-1
5
1
28
-21
-111
0
0
0
-6
0
-6
9
-8
13
0
0
0
3
15
33
5
-17
4
0
0
0
0
0
0
5
6
-24
0
0
0
1
5
4
-8
12
-38
0
0
0
0
0
-1
4
2
28
0
0
0
-3
5
-10
1
2
-14
0
0
0
0
0
0
0
-9
-42
0
0
0
0
0
0
-13
16
3
0
0
0
0
0
-7
-1
97
-30
0
0
0
7
2
-16
6
19
-39
0
0
0
0
0
0
-1
16
-28
0
0
0
0
0
0
1
10
-33
0
0
0
0
0
-3
0
12
-37
0
0
0
-25
-21
-5
0
29
-36
0
0
0
0
0
0
-23
-15
0
0
0
0
0
0
-2
9
19
0
0
0
0
0
0
5
0
-16
0
0
0
0
0
0
2
1
6
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
-7
13
-3
0
0
0
0
0
0
0
0
41
0
0
0
0
-2
0
-1
0
4
0
0
0
0
0
0
0
-10
48
0
0
0
0
0
-3
0
6
-2
0
0
0
0
0
0
-4
-3
-21
0
0
0
0
0
-5
-7
7
14
0
0
0
0
0
0
1
1
37
0
0
0
0
-1
0
1
-8
32
0
0
0
0
0
-1
0
9
19
0
0
0
0
-2
-6
7
1
5
0
0
-2
1
-6
-55
66
51
1
0
0
0
0
13
6
-42
-51
26
0
0
0
2
-4
46
26
-52
-10
0
0
0
0
3
4
-32
17
-14
0
0
25
0
0
-32
-10
-67
3
0
0
0
0
0
25
39
-17
-31
0
0
0
-3
0
-5
-17
-8
-12
0
0
0
0
0
-39
-25
6
51
0
0
0
0
0
-18
49
31
27
0
0
0
0
-1
8
6
-5
-48
0
0
0
0
0
1
-21
-43
24
0
0
0
0
0
-8
-15
-10
4
0
0
3
0
0
10
44
-15
-5
0
0
0
0
0
-5
29
-36
66
0
0
0
0
0
-5
-24
-31
70
0
0
0
0
-1
-1
13
2
-6
0
0
0
0
0
17
121
-12
26
0
0
0
0
0
-6
-29
-2
67
0
0
0
0
0
0
-17
-21
3
0
0
0
0
0
12
-7
-5
24
0
0
0
0
0
-3
41
-58
77
0
0
0
0
-1
-9
10
-61
21
0
0
0
0
0
5
-1
-111
74
0
0
0
0
0
1
25
14
37
0
0
-1
2
0
-46
44
-7
33
0
0
0
0
0
-1
20
-16
11
0
0
0
0
0
1
-30
-19
23
0
0
0
0
0
4
42
-65
-14
0
0
1
0
0
-1
-2
7
-10
0
0
0
0
0
0
5
-38
-4
0
0
0
-1
0
0
-1
-5
-32
0
0
0
0
0
5
-8
-26
6
0
0
0
0
1
12
-13
-100
30
0
0
0
0
-6
0
4
61
-47
0
0
0
0
6
0
8
-9
50
0
0
0
0
1
0
2
-16
16
0
0
0
0
0
7
-10
11
-33
0
0
0
0
1
-6
1
12
-88
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
-3
-1
-3
34
0
0
0
0
0
0
-8
-36
-7
0
0
0
0
2
0
0
20
20
0
0
0
0
-1
0
1
-32
47
0
0
0
0
-3
0
-4
-1
35
0
0
0
0
0
0
-1
13
7
0
0
0
0
-2
0
0
13
18
0
0
0
0
0
0
0
15
10
0
0
0
0
27
0
0
5
-17
0
0
0
0
0
-4
1
-60
35
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
-42
9
0
0
0
0
0
0
-5
26
16
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
-4
-12
0
0
0
0
0
0
-1
-64
91
0
0
0
0
-1
0
0
6
5
0
0
0
0
0
1
3
33
-11
0
0
0
0
-3
0
0
-15
33
0
0
0
0
3
0
0
-39
19
0
0
0
0
3
-1
0
6
2
0
0
0
0
0
0
0
17
-32
0
0
0
0
0
0
0
-6
-33
0
0
0
0
0
0
0
-8
-5
0
0
0
0
22
0
0
-3
23
0
0
0
-8
0
0
48
-70
73
0
0
0
0
0
1
-2
-15
-9
0
0
0
9
0
0
-29
-38
29
0
0
0
0
0
0
-1
11
-12
0
0
0
0
0
0
8
49
-7
0
0
0
0
0
0
-3
3
-3
0
0
0
8
0
0
-6
12
-65
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-65
-53
21
0
0
0
0
0
0
-4
-41
50
0
0
0
-2
0
0
2
-23
-13
0
0
0
0
0
0
3
1
31
0
0
0
0
0
0
-15
30
21
0
0
0
0
0
0
1
-14
-1
0
0
0
7
0
0
1
-5
-43
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
-7
23
50
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-44
17
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
-8
-7
10
0
0
0
0
0
0
0
26
35
0
0
0
-12
0
0
0
-10
-58
0
0
0
0
0
0
1
-30
13
0
0
0
0
0
0
2
-28
10
0
0
0
0
0
-2
2
-29
43
0
0
0
3
0
0
0
-3
23
0
0
0
0
0
0
4
-9
38
0
0
0
0
0
0
0
43
14
0
0
0
0
0
0
1
6
56
0
0
0
-12
0
0
0
-1
9
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
0
32
-47
-22
0
0
0
0
0
-2
-7
-56
46
0
0
0
0
0
0
56
-66
34
0
0
0
0
-4
1
6
21
-5
0
0
0
0
0
-1
0
-4
25
0
0
0
0
0
3
1
48
28
0
0
0
0
0
0
9
-7
10
0
0
0
0
3
-1
-29
-5
-8
0
0
0
0
0
0
1
-6
44
0
0
0
0
0
0
5
-17
67
0
0
0
0
0
0
0
24
-23
0
0
0
0
2
0
9
22
-36
0
0
0
0
0
0
1
-6
64
0
0
0
0
0
0
1
-48
-30
0
0
0
0
0
0
-2
-7
-8
0
0
0
0
-2
-1
-1
-1
5
0
0
0
0
0
0
-10
-20
32
0
0
0
0
0
0
0
21
-6
0
0
0
0
0
0
-6
-8
-28
0
0
0
0
0
0
-4
15
-15
0
0
0
0
0
0
0
-25
12
0
0
0
0
0
0
0
45
-29
0
0
0
0
0
0
7
4
43
0
0
0
0
-1
0
4
25
-12
0
0
0
0
0
0
6
-12
23
0
0
0
0
0
0
1
31
-37
0
0
0
0
0
0
-2
-10
14
0
0
0
0
0
0
-7
-30
-10
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
3
7
45
0
0
0
0
0
0
-1
1
49
0
0
0
0
0
1
0
1
0
0
0
14
-2
0
-5
-3
66
-23
0
0
0
0
0
2
5
-39
-50
0
0
0
3
0
1
-28
-15
75
0
0
0
0
-1
0
5
-79
23
0
0
39
0
0
-1
-6
-15
13
0
0
0
0
0
0
6
-28
-14
0
0
0
-7
0
0
1
0
5
0
0
0
0
0
0
0
8
-12
0
0
-5
0
0
0
-29
11
60
0
0
0
0
0
-3
0
23
-40
0
0
0
-3
0
0
12
19
1
0
0
0
0
0
0
-8
4
-6
0
0
-26
0
0
0
20
69
-2
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
7
-41
0
0
0
0
0
0
0
0
16
0
0
0
-1
0
0
2
12
-1
-15
0
0
0
0
0
0
7
33
-10
0
0
0
1
0
-1
-4
-18
41
0
0
0
0
0
-6
24
10
-5
0
0
14
0
0
0
-43
-50
66
0
0
0
0
0
1
0
3
-7
0
0
0
16
0
0
2
-86
-3
0
0
0
0
0
0
-5
43
-18
0
0
0
0
0
5
25
-70
45
0
0
0
0
0
0
3
70
18
0
0
0
0
0
-2
13
-28
39
0
0
0
0
0
0
3
-52
4
0
0
7
0
0
-3
-3
-28
9
0
0
0
0
0
0
-2
-6
69
0
0
0
13
0
0
-2
7
28
0
0
0
0
0
-1
-2
7
5
0
0
0
0
0
1
-24
-39
8
0
0
0
0
-1
-1
3
-38
11
0
0
0
0
0
0
-6
32
56
0
0
0
0
-1
0
-17
-11
90
0
0
0
0
0
0
0
-62
12
0
0
0
0
0
3
5
-23
-11
0
0
0
0
0
0
-4
9
51
0
0
0
0
0
-4
-1
33
-2
0
0
0
0
0
-1
0
-21
53
0
0
0
0
0
1
0
-52
57
0
0
0
0
0
0
-3
-46
56
0
0
0
0
2
-3
0
21
4
0
0
0
0
0
0
-3
-6
17
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
4
26
0
0
0
0
2
1
-1
38
-4
0
0
0
0
0
0
-8
-51
0
0
0
0
0
0
0
4
-9
27
0
0
0
0
0
0
8
64
44
0
0
0
0
1
0
2
-55
57
0
0
0
0
0
0
0
11
-57
0
0
0
0
0
-4
2
2
-32
0
0
0
0
0
-1
0
-10
7
0
0
0
0
0
0
-1
-10
18
0
0
0
0
0
-1
0
-23
13
0
0
0
0
0
0
0
20
-4
0
0
0
0
0
0
-1
9
4
0
0
0
0
0
0
-12
-7
5
0
0
0
0
0
-2
0
-26
44
0
0
0
0
0
0
4
9
10
0
0
0
0
0
-1
0
1
-23
0
0
0
0
-3
-1
-1
16
-13
0
0
0
-7
0
0
-41
60
-47
0
0
0
0
0
-3
-6
1
35
0
0
0
19
0
0
22
-9
-15
0
0
0
0
0
0
0
5
-3
0
0
0
-1
0
0
-10
16
49
0
0
0
0
0
0
-1
-3
16
0
0
0
18
0
-1
0
-35
-22
0
0
0
0
0
-2
0
-51
5
0
0
0
0
0
0
2
19
50
0
0
0
0
0
0
0
18
-11
0
0
0
4
0
0
1
8
-31
0
0
0
0
0
0
-2
10
14
0
0
0
0
0
-2
-1
12
42
0
0
0
0
0
0
0
5
21
0
0
0
-53
0
0
1
2
-5
0
0
0
0
0
0
2
14
4
0
0
0
0
0
0
3
-26
7
0
0
0
0
0
0
5
13
53
0
0
0
1
0
0
0
9
10
0
0
0
0
0
0
0
-35
18
0
0
0
3
0
0
-3
-5
-15
0
0
0
0
0
0
0
-23
26
0
0
0
14
0
0
2
-24
-1
0
0
0
0
0
0
0
-18
8
0
0
0
0
0
0
-7
-26
33
0
0
0
0
0
0
0
36
-4
0
0
0
0
0
0
1
-65
51
0
0
0
0
0
0
0
-5
13
0
0
0
2
0
0
0
-9
68
0
0
0
0
0
0
0
60
-10
0
0
0
-53
0
1
-1
-1
21
0
0
0
0
0
0
0
-38
-10
0
0
0
0
0
-6
-17
-44
11
0
0
0
0
0
-4
-8
5
52
0
0
0
0
0
0
7
-54
35
0
0
0
0
0
6
-2
-8
-4
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
-2
-2
11
6
0
0
0
0
6
-6
-4
17
1
0
0
0
0
0
0
5
23
-13
0
0
0
0
3
-2
0
5
19
0
0
0
0
-3
0
-9
23
57
0
0
0
0
-1
-3
1
-6
-1
0
0
0
0
0
0
0
7
20
0
0
0
0
0
-6
-1
6
12
0
0
0
0
0
0
0
-13
6
0
0
0
0
-6
1
0
-2
-13
0
0
0
0
0
0
-8
3
21
0
0
0
0
0
6
-4
-41
-42
0
0
0
0
0
0
-1
-6
41
0
0
0
0
0
8
0
8
16
0
0
0
0
0
0
0
3
46
0
0
0
0
0
-3
0
17
10
0
0
0
0
0
0
0
9
1
0
0
0
0
-1
2
1
-34
-8
0
0
0
0
0
0
-1
7
43
0
0
0
0
0
0
4
-29
-4
0
0
0
0
0
0
0
5
18
0
0
0
0
3
2
-6
-18
50
0
0
0
0
0
0
0
-3
51
0
0
0
0
0
0
-12
-16
59
0
0
0
0
0
0
-1
4
40
0
0
0
0
2
-3
-1
-30
5
0
0
7
0
0
-25
-9
-35
53
0
0
0
0
0
-1
2
-28
6
0
0
0
0
0
0
-6
-36
-19
0
0
0
0
0
0
4
-14
5
0
0
1
0
0
-7
15
15
-25
0
0
0
0
0
2
-6
-33
29
0
0
0
0
0
11
5
-54
19
0
0
0
0
0
-14
-4
-8
-3
0
0
0
0
0
20
-2
-17
3
0
0
0
0
0
0
-5
22
-24
0
0
0
0
0
-1
-7
-41
60
0
0
0
0
0
-1
-5
-19
1
0
0
6
0
0
-7
-18
2
-6
0
0
0
0
0
0
-4
6
17
0
0
0
0
0
0
-1
-2
27
0
0
0
0
0
29
0
-4
2
0
0
0
0
0
-5
-4
-87
77
0
0
0
0
0
-3
0
30
-50
0
0
0
0
0
1
12
37
-45
0
0
0
0
0
0
0
1
23
0
0
-29
0
0
1
15
3
-23
0
0
0
0
0
-4
-1
-16
2
0
0
0
0
0
-1
-8
-4
11
0
0
0
0
0
4
-1
29
-19
0
0
0
0
0
-3
-24
-50
33
0
0
0
0
0
0
-5
19
-14
0
0
0
3
0
0
5
-71
17
0
0
0
0
1
-1
2
-11
-26
0
0
0
0
0
1
-4
21
19
0
0
0
0
0
3
-3
4
-5
0
0
0
4
0
-1
-5
7
9
0
0
0
0
0
-5
2
9
47
0
0
0
0
0
5
7
-28
-4
0
0
0
0
-4
0
0
-2
30
0
0
0
0
0
0
-2
30
4
0
0
0
0
0
0
0
12
-2
0
0
0
0
0
-1
-4
-57
-10
0
0
0
0
0
-1
0
-6
-2
0
0
0
0
0
0
-1
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-8
3
0
0
0
0
0
0
0
-43
46
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
2
5
0
0
0
0
0
-1
0
-10
37
0
0
0
0
0
0
0
-19
32
0
0
0
0
0
0
0
2
16
0
0
0
0
-1
0
0
-8
12
0
0
0
0
0
0
0
-38
-43
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-30
43
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
-57
71
0
0
0
0
0
0
0
8
24
0
0
0
0
0
0
0
-18
24
0
0
0
0
0
0
0
39
-38
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-27
24
0
0
0
0
0
0
0
-22
20
0
0
0
0
0
0
0
14
48
0
0
0
0
0
0
0
-4
66
0
0
0
0
0
0
-2
30
1
0
0
0
0
0
0
0
-21
16
0
0
0
0
0
-1
0
-17
17
0
0
0
-6
0
-3
-5
-50
57
0
0
0
0
0
0
0
-3
35
0
0
0
5
0
0
1
-5
31
0
0
0
0
0
0
0
-1
-47
0
0
0
1
0
0
3
-38
31
0
0
0
0
0
0
0
9
10
0
0
0
-13
0
0
-2
-7
51
0
0
0
0
0
0
0
-42
-1
0
0
0
0
0
2
3
4
31
0
0
0
0
0
0
0
-4
-63
0
0
0
0
0
0
2
-17
49
0
0
0
0
0
0
3
-23
68
0
0
0
0
0
0
0
-22
55
0
0
0
0
0
0
0
14
-39
0
0
0
1
0
0
0
-3
16
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
11
10
0
0
0
0
0
0
0
8
-26
0
0
0
1
0
0
0
-2
24
0
0
0
0
0
0
0
-24
39
0
0
0
0
0
0
1
-19
43
0
0
0
0
0
0
0
-23
39
0
0
0
0
0
0
1
-27
22
0
0
0
0
0
0
0
-5
11
0
0
0
1
0
0
0
29
32
0
0
0
0
1
0
0
-45
21
0
0
0
5
0
1
0
3
-13
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-14
16
0
0
0
0
0
0
0
-29
51
0
0
0
10
0
0
0
6
-12
0
0
0
0
0
0
0
14
-25
0
0
0
0
0
8
3
-7
-46
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
2
-1
30
0
0
0
0
0
0
0
-29
6
0
0
0
0
0
2
1
0
-18
0
0
0
0
0
5
-1
1
0
0
0
0
0
0
0
2
-22
-12
0
0
0
0
1
0
1
14
20
0
0
0
0
0
0
-3
8
10
0
0
0
0
-6
0
-1
18
-3
0
0
0
0
0
0
0
1
33
0
0
0
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
-4
-5
0
0
0
0
0
0
0
-1
63
0
0
0
0
0
0
0
-46
32
0
0
0
0
0
0
0
-8
31
0
0
0
0
-1
0
0
3
7
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
8
-40
28
0
0
0
0
0
5
0
-1
25
0
0
0
0
0
0
0
-2
-44
0
0
0
0
0
0
2
-12
3
0
0
0
0
0
0
-3
-18
-31
0
0
0
0
1
0
1
-20
4
0
0
0
0
0
0
0
10
-26
0
0
0
0
0
-1
0
-1
-14
0
0
0
0
0
-1
1
2
28
0
0
0
0
0
3
-1
-18
35
0
0
-17
0
0
2
-24
-30
-13
0
0
0
0
0
0
1
-38
52
0
0
0
0
0
0
5
28
33
0
0
0
0
0
0
0
0
-1
0
0
-31
0
0
0
-8
-48
45
0
0
0
0
0
0
-1
5
-15
0
0
0
1
0
0
0
57
-21
0
0
0
0
0
0
5
3
-5
0
0
2
0
0
2
-4
13
8
0
0
0
0
0
0
0
-25
13
0
0
0
1
0
-1
2
-19
-47
0
0
0
0
0
0
0
-28
29
0
0
-30
0
0
0
-7
8
4
0
0
0
0
0
0
0
14
-20
0
0
0
2
0
0
0
17
-10
0
0
0
0
0
-2
0
-7
25
0
0
0
0
0
1
0
-15
-22
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-13
10
0
0
4
0
0
0
4
-29
-51
0
0
0
0
0
0
0
-31
60
0
0
0
15
0
0
2
34
-24
0
0
0
0
0
0
0
-40
23
0
0
-3
0
0
0
24
-38
11
0
0
0
0
0
0
0
6
-3
0
0
0
2
0
0
3
12
-16
0
0
0
0
0
0
0
-87
77
0
0
23
0
0
0
2
-41
16
0
0
0
0
0
0
0
-11
37
0
0
0
-7
0
0
2
2
51
0
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
11
-52
0
0
0
0
0
0
0
-13
19
0
0
0
0
0
0
0
-2
-7
0
0
0
0
-1
0
0
-29
2
0
0
0
0
0
3
1
15
-26
0
0
0
0
0
0
0
-9
-26
0
0
0
0
0
0
0
-25
2
0
0
0
0
0
8
0
18
-2
0
0
0
0
0
0
-1
16
27
0
0
0
0
0
0
2
-41
-21
0
0
0
0
0
0
2
-5
28
0
0
0
0
-1
-1
5
9
30
0
0
0
0
0
-3
0
-5
47
0
0
0
0
0
0
2
4
17
0
0
0
0
0
1
0
-1
32
0
0
0
0
1
8
0
2
-30
0
0
0
0
0
0
0
-7
-11
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
10
-12
0
0
0
0
0
0
0
-11
47
0
0
0
0
0
0
0
-11
40
0
0
0
0
0
0
0
-41
47
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
-1
0
5
15
0
0
0
0
0
0
-1
4
46
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-8
46
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
-2
0
14
7
0
0
0
0
0
0
0
0
38
0
0
0
0
0
-7
3
5
29
0
0
0
0
0
0
-5
3
54
0
0
0
0
0
0
0
7
8
0
0
0
7
0
0
-3
1
33
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
-4
-3
2
30
0
0
0
0
0
0
1
0
-2
0
0
0
-6
0
0
-3
-2
-32
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
0
4
5
0
0
0
-1
0
-2
1
-8
-33
0
0
0
0
0
0
-2
2
-14
0
0
0
5
0
1
2
-8
48
0
0
0
0
0
6
1
-1
45
0
0
0
4
0
1
0
4
10
0
0
0
0
4
0
0
0
31
0
0
0
0
0
0
0
11
-53
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
-9
39
0
0
0
0
0
0
0
-6
30
0
0
0
-6
0
0
-1
17
-9
0
0
0
0
0
0
0
2
0
0
0
0
-16
0
0
0
-8
-5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
24
-31
0
0
0
0
0
0
0
7
-19
0
0
0
20
0
0
0
5
12
0
0
0
0
0
0
1
14
36
0
0
0
-5
0
0
0
-25
36
0
0
0
0
0
0
0
4
28
0
0
0
20
0
0
0
2
12
0
0
0
0
0
0
0
7
-6
0
0
0
0
3
0
-5
-8
20
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
1
-14
0
0
0
0
1
0
0
5
-24
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
-4
0
2
5
0
0
0
0
0
0
1
1
6
0
0
0
0
0
5
0
8
0
0
0
0
0
0
-1
0
-2
38
0
0
0
0
0
-1
-6
-14
19
0
0
0
0
-1
0
3
-3
9
0
0
0
0
1
3
4
13
-14
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
5
2
-5
-7
0
0
0
0
2
-2
-1
3
-3
0
0
0
0
-4
-37
0
-1
27
0
0
0
0
0
0
0
-13
-15
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
4
-3
-20
0
0
0
0
0
0
0
-7
44
0
0
0
0
0
0
0
8
26
0
0
0
0
0
0
2
-5
-39
0
0
0
0
0
1
-4
2
28
0
0
0
0
3
-4
-2
6
5
0
0
0
0
0
0
0
-33
40
0
0
0
0
0
0
2
-3
15
0
0
0
0
-8
0
10
3
-15
0
0
0
0
-9
0
5
9
32
0
0
0
0
0
0
0
-5
60
0
0
0
0
0
3
0
13
-6
0
0
0
0
0
-1
5
1
-13
0
0
0
0
-25
9
0
8
40
0
0
18
-26
-70
-8
37
-31
7
4
-16
0
0
-8
9
2
40
-16
-39
8
0
11
-6
7
25
-9
-36
-49
55
0
0
-2
-9
-34
32
26
-83
5
-14
-17
2
-21
-12
-12
4
43
24
0
0
12
6
10
6
-33
15
50
0
0
0
2
-5
-5
-37
37
-45
0
0
0
-1
5
-18
-14
-54
28
-13
0
-3
7
-46
27
37
26
0
0
0
2
-2
-8
12
3
-7
0
0
2
-3
2
31
-4
31
-29
0
0
0
-1
-6
1
-1
40
49
0
4
0
0
-2
-9
-19
6
-3
0
0
0
0
-1
-7
3
-5
-10
0
0
0
0
1
0
5
6
-32
0
0
0
0
0
1
1
-3
-24
0
1
0
-18
9
-21
14
-26
0
0
0
0
0
-4
16
10
-9
0
0
0
1
0
0
-7
33
19
0
0
0
0
0
-1
-7
1
-5
0
0
0
6
0
6
7
-21
-28
0
0
0
0
0
-4
-8
-32
30
0
0
0
2
0
0
8
-4
-15
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
13
-9
-30
-3
0
0
0
0
0
-1
1
3
7
0
0
0
0
0
0
-1
0
-18
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
1
8
-32
-3
0
0
0
0
0
0
-1
-3
-8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
10
-51
23
-3
38
22
28
0
0
2
7
-4
20
-42
1
51
0
0
-2
-4
-3
-13
-5
-12
36
0
0
-5
2
-17
-3
-8
-46
20
0
0
3
-4
4
47
-4
-17
-46
0
0
-3
15
9
-22
8
-23
-36
0
0
0
1
-1
-43
28
-24
-4
0
0
1
-7
-1
9
-8
-32
-29
0
0
-4
-3
10
-12
5
15
0
0
0
-2
-5
1
15
33
-29
0
0
0
0
0
-1
-29
4
6
0
0
0
0
0
-3
-2
66
48
0
0
0
0
0
-2
0
-14
-21
0
0
0
0
0
8
3
5
-29
0
0
0
0
0
0
-6
8
-15
0
0
0
2
0
0
-7
-4
-29
0
0
0
0
-7
11
-50
-6
0
0
0
0
0
-2
-6
16
-9
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
-4
2
-12
0
0
0
0
0
1
-1
12
6
0
0
0
0
0
0
-7
3
4
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
-10
3
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-1
-18
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
56
8
26
2
-8
-39
-42
37
0
0
-2
0
18
25
42
-16
-21
0
6
0
0
-17
-15
43
10
12
0
0
0
6
5
-2
-9
48
-17
0
0
0
-1
16
-36
28
-50
29
0
0
0
1
-1
34
6
6
-24
0
-8
0
0
2
-30
4
13
-10
0
0
0
0
-8
-18
-8
1
21
0
-4
0
-3
-1
-50
-13
-7
0
0
0
0
-1
-10
-6
2
21
0
0
-2
0
0
11
6
-18
-15
0
0
0
0
0
-1
-14
1
16
0
0
0
0
0
-4
0
2
-7
0
0
0
0
0
-2
6
5
34
0
0
0
0
-1
1
8
9
8
0
0
0
0
0
-1
2
-13
0
0
0
8
0
-5
-24
-21
18
0
0
0
0
-1
-3
-10
-5
-6
0
0
0
0
0
0
5
-3
5
0
0
0
0
0
-2
1
1
10
0
0
0
0
0
0
-12
-1
6
0
0
0
0
0
0
-6
4
-22
0
0
0
-2
0
0
2
-1
2
0
0
0
0
0
0
-5
0
20
0
0
0
0
0
0
1
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-5
-11
7
44
-51
0
0
-5
0
-10
14
17
42
-1
0
0
1
2
22
1
12
6
19
0
0
-5
-3
13
11
40
25
9
0
0
0
-1
0
-1
9
-97
96
0
0
5
-6
17
6
7
-2
-1
0
0
0
-1
2
-13
10
-14
-2
0
0
8
0
1
-7
-8
-20
4
0
0
0
8
17
12
2
23
0
0
0
0
8
1
-11
19
-36
0
0
0
0
-1
9
2
11
-9
0
0
0
0
-5
2
4
18
-23
0
0
0
0
0
0
2
8
-13
0
0
0
0
0
-1
0
6
3
0
0
0
0
0
0
2
6
6
0
0
0
0
0
0
-3
-2
7
0
0
0
0
1
-7
2
6
0
0
0
0
1
-5
0
13
27
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
2
4
14
0
0
0
0
0
0
-4
-1
10
0
0
0
0
0
2
4
1
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
-1
-6
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
1
0
0
0
-3
0
0
-6
0
0
-28
-20
3
53
45
-45
0
0
-1
-13
-12
8
-37
-40
34
0
1
0
-4
-3
7
13
-22
1
0
0
0
0
-5
-1
5
-11
2
7
0
0
9
0
-13
-25
4
25
0
0
0
0
-4
-2
-12
27
13
0
0
0
0
-16
4
0
-25
27
0
0
0
2
0
-2
-2
5
58
-4
0
0
-8
27
-11
12
-45
0
0
0
0
0
-3
21
-15
-17
0
0
0
0
0
6
3
-8
-24
0
0
0
0
-2
1
-3
0
25
0
-2
0
0
0
8
-1
7
-42
0
0
0
0
1
1
-4
-7
-15
0
0
0
0
0
-1
0
5
18
0
0
0
0
0
-1
0
-1
-18
0
-1
0
0
-5
-31
-17
49
0
0
0
0
0
1
1
-5
-30
0
0
0
0
0
0
-8
-1
3
0
0
0
0
0
0
0
3
0
0
0
-17
0
0
1
13
-13
27
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
4
-4
8
0
0
0
0
0
0
0
3
4
0
0
0
0
0
-2
-3
7
-21
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
4
1
-7
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
-10
-6
-5
-33
-18
10
0
0
1
2
-1
-21
11
-6
-9
0
0
0
-2
16
-5
2
13
-75
0
0
-1
-7
5
7
28
-53
-3
0
0
0
0
-13
19
4
-67
10
0
0
0
2
5
-12
0
22
-58
0
0
0
0
1
-10
-3
37
19
0
0
0
0
0
12
-3
-10
28
0
0
0
0
-2
-9
-8
-11
0
0
0
0
0
1
-1
-10
52
0
0
0
0
0
1
-13
0
7
0
0
0
0
1
0
2
4
13
0
0
0
0
0
-2
-1
1
2
0
0
0
0
-1
0
0
-14
23
0
0
0
0
0
2
1
6
25
0
0
0
0
0
0
4
1
9
0
0
0
0
-3
-6
1
3
0
0
0
0
0
0
-1
-8
8
0
0
0
0
0
-1
0
0
-20
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
-1
1
-12
-6
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
-3
0
14
0
0
0
0
0
0
-8
-3
-1
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-2
-2
-4
-17
-14
-1
29
0
0
0
0
10
-2
-5
25
-39
0
-20
0
0
9
7
15
48
-34
0
0
0
0
-8
-4
22
-4
28
0
1
0
2
0
5
-9
8
16
0
0
0
0
0
1
0
-2
19
0
-2
0
0
0
-5
2
14
46
0
0
0
-2
2
0
0
21
20
0
0
0
0
0
3
15
-37
0
0
0
0
0
1
14
12
-3
0
0
-7
0
-1
0
14
14
-18
0
0
0
0
0
-2
-2
-9
36
0
0
0
0
0
2
12
4
6
0
0
0
0
0
1
0
5
-13
0
0
-2
0
0
-2
-1
-3
18
0
0
0
0
0
0
0
1
-2
0
0
-1
0
1
-7
-1
11
0
0
0
0
0
0
-2
-25
4
0
0
0
1
0
0
2
-5
25
0
0
0
0
0
0
-4
-4
2
0
0
0
0
0
0
-4
6
-16
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-3
0
0
7
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
2
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
3
-15
5
9
-16
0
0
1
-6
0
5
8
23
3
0
0
0
-2
8
-20
6
13
39
0
0
-9
0
0
-1
-8
-1
28
0
0
0
1
4
0
7
-21
-11
0
0
0
1
0
0
0
-3
27
0
0
0
0
0
0
0
8
6
0
0
-1
29
3
-1
1
6
34
0
0
0
-1
1
-6
-17
43
0
0
0
0
1
0
-8
7
-1
0
0
0
0
0
-1
7
-5
-15
0
0
0
0
-1
0
-8
-4
-13
0
0
0
0
0
-1
3
0
5
0
0
0
0
0
1
0
1
6
0
0
0
0
0
-1
-1
0
-5
0
0
0
0
-1
0
0
0
-12
0
0
0
0
-3
5
10
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-1
8
1
-5
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
1
-1
3
0
-36
6
22
-35
0
0
0
0
3
-8
-23
2
13
0
0
0
0
1
5
-30
-50
41
0
0
0
0
0
-6
3
2
-2
0
-2
0
0
3
8
-10
20
-44
0
0
0
0
0
14
-13
13
6
0
0
0
0
0
-1
3
13
-28
0
0
0
0
0
0
1
-12
-3
0
0
0
3
-7
4
0
18
-12
0
0
0
0
-2
-3
-2
-14
-9
0
0
0
0
-3
-1
6
-14
38
0
0
0
0
0
0
6
4
-40
0
-2
0
0
-1
6
4
-1
17
0
0
0
0
0
0
9
-16
-3
0
0
0
0
0
0
1
-13
2
0
0
0
0
0
0
0
24
11
0
0
0
0
4
8
-5
8
0
0
0
0
1
-2
0
-20
-19
0
0
0
0
0
0
5
3
22
0
0
0
0
0
0
-3
-3
12
0
0
0
0
0
1
-7
0
4
0
0
0
0
0
0
1
-7
8
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
8
5
-12
-21
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
1
0
17
0
0
0
0
0
2
4
4
6
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
7
-8
0
42
-18
-31
0
0
0
1
5
-6
0
-24
33
0
0
0
0
0
13
-13
-15
11
0
0
0
0
0
2
-6
-3
7
0
0
0
0
0
-5
8
-21
19
0
0
0
0
1
4
-10
4
-19
0
0
0
0
0
0
0
5
6
0
0
0
0
0
-1
-3
-9
-13
0
0
0
0
1
-8
-3
24
-56
0
0
0
0
-1
0
0
1
-30
0
0
0
0
0
3
-2
-5
1
0
0
0
0
0
-1
0
12
-16
0
0
0
0
0
0
-5
2
-9
0
0
0
-3
0
0
0
17
16
0
0
0
0
0
0
1
-8
34
0
0
0
0
0
0
0
-1
27
0
0
0
1
0
7
6
1
0
0
0
0
0
0
0
-17
-13
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
-1
10
14
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
12
13
0
0
0
0
0
0
0
-6
19
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-30
-1
-14
6
-51
0
0
0
0
-1
-5
-25
-3
12
0
0
1
0
1
-1
-6
5
-11
0
0
0
-3
0
-1
-3
4
8
0
0
0
0
1
-5
-8
9
-4
0
0
0
0
0
0
-14
33
16
0
0
-1
0
0
4
3
-13
6
0
0
0
-1
0
0
-2
8
-29
0
0
0
0
0
-3
-6
9
-42
0
0
0
1
0
0
8
6
0
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
-5
0
-20
0
0
0
0
0
0
-2
-6
6
-34
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
2
3
12
-39
0
0
0
0
0
0
-1
-9
48
0
0
0
0
0
8
-8
3
0
0
0
0
0
0
7
1
5
0
0
0
0
0
0
3
12
-14
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
3
-4
0
0
0
0
0
0
-6
4
-1
0
0
0
0
0
0
0
-4
-3
0
0
0
0
1
0
0
1
-3
0
0
0
0
0
1
0
-20
-8
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
7
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-39
14
-2
50
0
0
0
0
-9
9
-8
-8
-6
0
0
0
0
0
0
-3
0
13
0
0
0
0
2
-6
0
-1
2
0
0
0
0
-1
10
-3
19
-7
0
0
0
0
4
-2
0
7
-23
0
0
0
0
0
-1
0
7
4
0
0
0
-1
3
5
-6
6
-41
0
0
0
1
0
-1
-2
-2
2
0
0
0
-1
0
2
-5
7
45
0
0
0
0
0
-3
1
14
1
0
0
0
0
1
0
0
-4
-18
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
2
1
-6
-42
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
3
1
-16
0
0
0
0
0
0
1
-5
3
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
-1
1
4
0
0
-8
0
1
2
7
-38
-8
39
0
0
0
0
2
4
-5
14
-56
0
0
0
0
0
-3
-9
-29
2
0
0
0
0
0
0
1
5
-9
0
18
0
0
0
-3
0
16
-16
0
0
0
1
-1
1
-3
-7
-17
0
0
0
0
0
0
8
5
-16
0
0
0
0
0
0
-1
3
34
0
0
0
0
2
8
12
5
-16
0
0
0
0
0
2
-2
-30
-30
0
0
0
0
0
0
2
7
9
0
0
0
0
0
0
0
3
1
0
8
0
0
0
-15
0
-5
16
0
0
0
0
0
0
-2
-8
29
0
0
0
0
0
0
0
-12
23
0
0
0
0
0
-1
1
3
40
0
0
0
0
-1
-21
1
3
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-12
-5
16
0
0
0
0
-1
0
0
-3
8
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-6
13
12
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
-5
0
-7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
-8
4
-9
16
-18
0
0
0
0
0
0
0
-12
-28
0
0
0
0
1
0
1
2
16
0
0
0
0
0
0
4
9
9
0
0
0
0
0
0
-14
17
-22
0
0
0
0
0
1
-1
-8
-14
0
0
0
0
0
0
1
2
57
0
0
0
0
0
0
0
-1
-15
0
0
0
1
4
-1
2
-9
-8
0
0
0
0
0
0
-3
-27
-40
0
0
0
0
1
1
0
17
7
0
0
0
1
0
0
0
-8
54
0
0
0
0
1
1
-3
-3
45
0
0
0
0
0
0
-5
-3
35
0
0
0
0
0
0
0
13
-32
0
0
0
-1
0
-2
3
9
-19
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
2
-1
0
-8
0
0
0
0
1
0
0
-3
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-1
0
2
9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
-6
0
0
0
-8
-1
4
8
-7
-5
3
0
0
0
0
0
0
1
-1
-9
0
0
9
0
0
-1
5
-6
11
0
0
0
0
0
0
0
2
12
0
0
1
0
0
3
2
0
11
0
0
0
0
0
0
1
0
24
0
0
2
0
0
0
-3
6
-23
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
0
-4
-4
-67
0
0
0
0
0
0
0
1
27
0
0
0
0
0
1
-1
-8
14
0
0
0
0
0
-1
0
15
-21
0
0
0
0
0
-1
0
5
-14
0
0
0
0
0
1
0
17
24
0
0
-1
0
0
0
0
-22
50
0
0
0
0
0
0
-1
-1
-68
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-2
-4
-15
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
-9
0
0
0
0
0
0
0
-2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
-1
-7
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
1
-4
0
0
0
0
0
0
1
0
-3
0
0
0
-1
0
0
0
0
6
0
0
0
0
0
-1
0
2
5
0
0
0
0
-4
-6
-2
5
4
9
0
0
0
-2
2
0
0
0
30
0
0
0
0
0
0
-4
-1
17
0
0
0
1
0
3
0
-5
-9
0
0
0
0
-1
-1
0
0
25
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
-1
1
1
51
0
0
0
1
1
0
1
0
17
0
0
0
0
0
-1
0
3
-29
0
0
0
4
0
0
0
0
-17
0
0
0
0
0
-1
1
-3
-5
0
0
0
-3
0
0
0
13
3
0
0
0
0
0
-1
0
-4
1
0
0
0
-1
0
0
0
-3
19
0
0
0
0
0
0
0
-12
17
0
0
0
1
0
0
0
4
-1
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
1
-7
-60
-32
10
78
0
0
0
0
-3
4
-3
-22
19
0
0
0
-1
-1
18
8
17
-33
0
0
0
0
-1
-2
0
-24
17
0
0
2
0
2
-7
-12
30
16
0
0
0
0
0
0
17
-37
4
0
0
0
0
0
0
-4
6
-29
0
0
0
0
0
1
-1
-10
12
0
0
0
0
1
1
5
-9
24
0
0
0
0
0
0
0
-16
-14
0
0
0
0
0
0
1
8
16
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
6
1
-13
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
-1
-1
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-17
-5
3
10
0
0
0
0
0
2
-1
-11
47
0
0
0
0
0
-2
-5
1
-6
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-1
5
-21
24
0
0
0
0
0
1
12
-14
-12
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
2
-5
-30
46
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
1
2
-14
-6
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-18
-11
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
1
15
-17
0
0
0
0
0
0
0
0
4
0
0
0
0
26
4
0
-2
-29
0
0
0
0
-1
4
2
4
-4
0
0
0
0
2
0
-3
-9
-10
0
0
0
0
0
0
-1
-29
-4
0
0
0
0
0
1
-3
-29
7
0
0
0
0
0
-1
-4
41
-11
0
0
0
0
0
0
0
5
17
0
0
0
0
0
2
0
-13
-8
0
0
0
0
0
-3
-1
-1
-8
0
0
0
0
0
0
2
5
5
0
0
0
0
0
-1
0
2
-1
0
0
0
0
0
0
-1
-20
4
0
0
0
0
0
-1
5
-4
25
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
1
3
0
0
0
0
0
2
-6
-6
27
0
0
0
0
0
-2
0
8
-19
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
6
16
0
0
0
0
0
0
4
-7
58
0
0
0
0
0
2
-3
19
22
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
0
1
-1
-19
0
0
0
0
0
0
4
-6
6
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
-6
5
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
9
0
0
0
-22
0
-1
29
-42
38
0
0
0
0
0
0
-5
-31
10
0
0
0
1
0
0
-8
0
-35
0
0
0
0
0
0
6
6
-6
0
0
0
0
0
-2
2
16
-7
0
0
0
0
0
-1
8
-17
29
0
0
0
0
0
0
0
-5
30
0
0
0
0
0
0
4
14
19
0
0
0
0
0
0
-8
-25
-8
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
1
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
8
0
0
0
-1
0
-1
-7
2
-29
0
0
0
0
0
0
1
16
5
0
0
0
0
0
0
-6
-12
-4
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
-22
-5
-19
0
0
0
0
0
0
-2
-3
5
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-3
1
-2
-1
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
2
2
-2
-27
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
6
13
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
-4
16
17
-9
0
0
0
0
0
0
-17
1
23
0
0
0
0
0
-1
-3
0
-6
0
0
0
0
0
0
-2
10
18
0
0
0
0
0
2
-1
-8
32
0
0
0
0
0
0
-7
-20
19
0
0
0
0
0
0
0
-4
-1
0
0
0
0
-1
1
-3
12
-12
0
0
0
0
0
0
-2
-8
7
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-15
3
0
0
0
0
0
0
1
-3
31
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
2
0
6
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-1
4
0
0
-29
0
0
-14
-35
7
7
0
0
0
0
0
2
18
-21
-30
0
0
0
0
0
0
-4
-30
-7
0
0
0
0
0
0
0
2
24
0
0
8
0
0
7
0
-5
3
0
0
0
0
0
0
-3
-8
23
0
0
0
0
0
0
-2
9
33
0
0
0
0
0
0
-1
-2
3
0
0
1
0
0
-6
0
-13
32
0
0
0
0
0
0
-1
18
-13
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
-25
15
0
0
0
0
0
-4
0
0
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-4
-2
18
0
0
0
0
0
1
1
-8
27
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
2
0
-8
-12
0
0
0
0
0
0
7
-5
-5
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
2
-2
-2
3
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
-9
33
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
6
-3
0
0
0
0
0
0
1
4
-6
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
1
1
0
0
0
0
0
6
7
-10
22
0
0
0
0
0
8
-1
6
10
0
0
0
0
-1
-1
0
-5
30
0
0
0
0
0
0
2
8
1
0
0
0
0
0
1
0
1
-8
0
0
0
0
0
-2
-6
-8
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
2
-1
9
3
0
0
0
0
0
-1
5
13
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
3
4
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
2
16
-25
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
-13
-15
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
-15
19
0
0
0
0
0
0
2
4
3
0
0
0
0
0
3
0
-8
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
3
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
9
0
0
0
2
0
-4
9
-11
-8
0
0
0
0
0
0
0
1
2
0
0
0
-4
0
-1
5
-6
5
0
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
-2
-12
-12
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
10
-8
-14
0
0
0
0
0
1
6
2
3
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
1
0
3
0
0
0
1
0
0
0
-1
8
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
-2
-8
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
-9
-8
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
1
0
8
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-1
8
0
0
0
0
0
0
0
-12
3
0
0
0
1
0
0
1
-1
-2
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
3
0
0
-29
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
2
2
-7
0
0
0
0
0
0
-1
3
5
0
0
0
-1
0
0
0
-4
4
0
0
0
0
0
0
1
2
1
0
0
0
0
0
-2
-3
6
4
0
0
0
0
-1
1
4
7
1
0
0
0
0
0
0
0
-5
-7
0
0
0
0
-1
1
-6
0
2
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
-3
1
6
0
0
0
0
1
-1
4
2
-2
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
-3
5
0
0
0
0
0
-4
0
-1
5
0
0
0
0
0
0
0
6
1
0
0
0
0
0
1
0
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
-1
0
-1
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
1
5
0
0
0
0
1
-5
-25
-29
10
0
0
0
0
-2
-2
3
20
-6
0
0
0
0
0
0
-29
4
-5
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
-5
-8
3
0
0
0
0
0
-1
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
-1
9
-15
-6
0
0
0
0
0
0
0
7
9
0
0
0
0
0
1
5
-1
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
12
-25
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-5
-4
29
12
0
0
0
0
0
1
0
16
-17
0
0
0
0
0
-1
1
14
26
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-6
-3
19
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
-1
0
-19
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
3
1
5
-2
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
-2
5
-10
0
0
0
0
0
-1
0
-9
3
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
4
12
-29
10
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
-1
3
19
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
14
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
-4
8
31
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
16
-9
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
19
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
8
-10
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
6
6
-21
6
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
-7
-8
1
0
0
0
0
0
1
2
-8
7
0
0
0
0
0
0
0
7
23
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
-1
-2
-5
-4
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
2
0
-8
0
0
0
0
0
0
0
-1
14
0
0
0
-2
0
0
0
3
-15
0
0
0
0
0
0
-3
-2
0
0
0
0
1
0
0
0
8
-8
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
1
7
0
0
0
0
0
1
-2
5
17
0
0
0
0
0
0
0
0
18
0
0
0
1
0
0
0
1
14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
3
-9
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
3
1
3
0
0
0
0
-3
1
14
-10
11
0
0
0
0
1
1
0
2
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
-1
-6
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
1
-28
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-5
6
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
8
-8
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
0
3
-2
0
0
-8
0
0
0
-5
-20
9
0
0
0
0
0
0
4
-13
3
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
1
-20
-27
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
-1
0
0
-14
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
3
3
6
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
17
-10
-1
0
0
0
0
0
0
-1
-1
13
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
4
24
-1
0
0
0
0
0
1
1
1
-8
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
1
-3
-14
50
0
0
0
0
0
0
1
10
-9
0
0
0
0
0
0
0
16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
27
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
-7
-1
14
-26
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-2
0
5
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
-1
-2
4
15
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
-1
0
-24
5
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
0
0
2
16
0
0
0
0
0
1
0
3
20
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
8
-5
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
0
-4
23
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
5
-22
0
0
0
0
0
0
6
2
-22
0
0
0
0
0
-2
1
0
-8
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-5
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
-3
13
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
3
0
0
0
-3
0
0
0
4
19
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
1
16
0
0
0
-3
0
0
0
2
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
1
1
22
0
0
0
1
0
0
0
0
41
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
-10
8
-1
30
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
-1
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-2
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
-5
0
0
0
-16
-5
-1
21
25
-6
-18
12
0
0
0
-6
4
-3
-24
-15
-31
0
13
1
-3
-7
-33
6
-13
-23
0
0
1
8
13
31
11
-64
-2
8
0
0
10
-2
-59
-5
30
-15
0
0
0
12
16
-13
11
0
-58
0
-1
-2
-8
-6
15
8
-8
35
0
0
-1
-3
-3
3
-8
68
23
-4
0
-1
-36
6
-21
-30
-18
0
0
0
0
8
-1
-22
-12
-35
0
0
0
0
0
23
-78
12
-43
0
0
0
0
0
1
-10
13
-11
0
24
0
0
-8
9
-22
3
-12
0
0
0
-2
1
5
-14
4
4
0
0
-1
0
-1
6
9
-20
-8
0
0
0
0
1
-3
0
1
-3
0
-13
0
-1
-7
30
-90
87
0
0
0
0
2
-12
5
-18
-2
0
0
0
-2
0
7
6
-4
-4
0
0
0
0
0
0
-6
-4
18
0
0
0
0
0
6
-40
9
-12
0
0
0
0
0
0
4
-4
15
0
0
0
2
0
0
27
-17
-28
0
0
0
0
3
0
1
6
-25
0
0
0
0
0
-1
-9
-16
23
0
0
0
0
-1
0
6
-4
-11
0
0
0
-1
0
0
-17
5
29
0
0
0
0
0
-1
12
-8
4
0
0
0
0
0
-1
7
9
25
0
0
0
0
0
0
2
9
-8
0
0
0
0
0
0
0
2
10
0
0
0
0
0
-1
-1
-1
4
0
0
0
0
-17
31
-17
-30
22
23
23
0
0
6
8
-12
-39
64
-15
7
0
0
0
-11
4
22
-3
-11
9
0
0
1
-3
25
-25
6
-8
65
0
0
0
-4
4
-33
10
-9
15
0
0
1
-8
-17
-10
-9
-52
4
0
0
0
3
12
10
-2
52
-4
0
0
-12
6
8
-17
-6
82
6
0
0
-1
-3
-9
-2
31
9
0
0
0
-3
-4
8
9
-49
-14
0
0
0
0
0
5
-2
12
-25
0
0
0
-3
-5
10
5
0
16
0
0
0
0
0
1
5
17
-36
0
0
0
0
1
-1
-3
4
-6
0
0
0
0
0
-3
-8
39
11
0
0
0
-1
1
-1
4
0
14
0
0
0
0
-32
-2
-37
6
0
0
0
0
0
8
-30
34
-61
0
0
0
0
0
-1
-10
3
21
0
0
0
0
1
2
-7
12
19
0
0
0
0
0
-4
13
-13
-48
0
0
0
0
0
1
-3
-4
-3
0
0
0
0
0
0
2
-13
-5
0
0
0
0
0
0
-8
12
8
0
0
0
0
0
1
-2
-22
4
0
0
0
0
0
0
4
-1
5
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
-10
14
0
0
0
0
0
0
6
8
5
0
0
0
0
0
0
-1
3
-25
0
0
0
0
0
1
0
0
29
0
0
0
0
0
0
0
7
6
0
0
0
-6
1
-23
28
-18
-7
2
15
0
0
-1
6
9
15
48
6
48
0
-17
0
3
-15
2
-18
-10
-10
0
0
-3
-6
-12
20
19
38
-5
0
-2
0
1
2
-10
6
-46
-49
0
0
0
-7
-8
-1
8
36
19
0
-6
0
-3
-5
-15
8
23
19
0
0
0
5
-8
7
-2
-26
17
0
-1
0
0
9
-20
33
-12
0
0
0
0
1
-4
13
4
14
0
0
-4
0
-2
1
-3
3
-10
0
0
0
0
0
-8
4
24
18
0
0
0
0
1
-2
-16
-3
-22
0
0
0
0
1
-2
1
-6
11
0
0
5
0
0
-4
7
14
12
0
0
0
0
0
0
2
0
-7
0
0
-3
-2
-2
9
-1
-17
0
0
0
0
0
-1
-12
8
3
0
0
0
0
0
0
11
-13
7
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
-1
-22
3
0
0
0
0
0
0
-17
-16
23
0
0
0
-1
0
0
-1
10
25
0
0
0
0
0
1
10
-8
-5
0
0
0
0
0
0
-2
6
-22
0
0
0
0
0
0
-3
12
-6
0
0
0
0
0
1
-5
-2
22
0
0
0
0
0
0
-6
-2
5
0
0
0
0
0
0
-1
9
-13
0
0
0
0
0
0
0
1
1
0
0
0
2
0
0
-2
-2
5
0
0
0
0
0
0
0
-5
8
0
0
0
0
-29
-12
24
13
1
-4
10
0
0
4
-14
38
-3
3
19
-1
0
0
-4
-4
34
-5
6
0
32
0
0
-5
-2
-1
33
2
-1
-9
0
0
-1
-5
-1
-3
16
-33
41
0
0
2
-2
13
-8
6
55
-31
0
0
0
-2
2
-1
-7
4
31
0
0
5
-6
19
12
-10
-1
4
0
0
-1
-8
-8
21
-9
-18
0
0
0
2
5
5
-9
7
18
0
0
0
-2
2
-1
5
7
-8
0
0
0
16
-6
-13
0
2
-16
0
0
0
0
2
0
-20
18
-14
0
0
0
0
0
3
-3
6
14
0
0
0
0
0
3
1
-1
-1
0
0
0
-3
4
0
3
-2
-25
0
0
0
0
5
5
-39
23
0
0
0
0
-1
19
-7
-28
8
0
0
0
0
1
0
24
-35
15
0
0
0
0
-1
-6
-1
35
6
0
0
0
0
0
1
-1
-2
8
0
0
0
0
0
0
-10
-22
8
0
0
0
0
0
3
8
5
-2
0
0
0
0
-1
0
-8
-3
1
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
1
0
12
0
0
0
0
0
0
-3
20
8
0
0
0
0
0
-2
4
-6
2
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
2
0
0
0
0
1
-2
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
-4
5
57
1
-13
-15
0
0
0
-1
-5
-12
9
-22
-25
0
0
-4
0
5
5
-12
27
4
0
0
0
0
5
-18
-13
12
-23
0
-3
0
0
-39
10
-13
9
-12
0
0
0
0
7
0
8
-12
-40
0
0
0
0
0
-65
29
25
25
0
0
0
0
2
-9
-12
-12
7
0
3
0
0
33
-8
18
12
-31
0
0
0
2
10
-8
3
9
6
0
0
0
0
2
-16
3
8
-31
0
0
0
-1
0
-6
2
-14
-27
0
-3
0
0
6
-16
-5
-36
74
0
0
0
0
6
2
1
9
49
0
0
1
0
0
-7
7
0
-24
0
0
0
1
0
3
-4
-4
27
0
1
-1
0
-40
4
13
36
0
0
0
0
-1
-14
33
-18
-55
0
0
0
0
0
-6
-5
7
-15
0
0
0
0
0
0
-3
-10
28
0
0
9
0
0
-5
-13
17
27
0
0
0
0
0
3
13
-12
4
0
0
0
0
0
-2
4
-18
13
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-5
-14
18
-6
0
0
0
0
0
-1
4
14
-10
0
0
0
0
0
0
-3
-7
27
0
0
0
0
0
0
0
17
2
0
0
-1
0
0
6
-10
-2
13
0
0
0
0
0
1
-3
-18
25
0
0
0
0
0
0
8
-2
29
0
0
0
0
0
0
6
4
4
0
0
0
0
-20
2
-1
-49
0
30
0
0
0
6
-36
6
-13
11
-46
0
0
0
1
-3
-25
-13
39
28
0
0
0
-2
-4
14
9
-6
-49
0
0
0
0
3
12
14
-51
25
0
0
0
-1
6
-13
-16
-19
-29
0
0
0
0
-1
-1
-2
9
8
0
0
0
0
-6
9
-1
-1
-21
0
0
0
-1
-10
-13
3
-14
42
0
0
0
5
1
-3
-1
8
-85
0
0
0
0
0
8
-10
-4
-46
0
0
0
0
1
3
-1
-13
42
0
0
0
0
1
-6
-2
-42
45
0
0
0
2
1
-3
-14
5
22
0
0
0
0
0
3
-1
-12
15
0
0
0
0
0
-1
1
-9
30
0
0
0
0
-2
4
29
6
0
0
0
0
-1
-2
-6
-11
0
0
0
0
0
0
0
-6
0
14
0
0
0
0
0
0
-9
-8
8
0
0
0
0
0
-2
12
5
8
0
0
0
0
0
-1
0
-5
-38
0
0
0
0
0
-1
1
-14
-3
0
0
0
0
0
3
0
-4
-10
0
0
0
0
0
-2
-8
44
18
0
0
0
0
0
1
-4
-30
7
0
0
0
0
0
-1
-3
-6
6
0
0
0
0
0
3
2
6
-10
0
0
0
0
0
0
2
4
25
0
0
0
0
1
1
0
7
-2
0
0
0
0
0
0
-1
3
-1
0
0
0
0
-1
-2
2
-2
6
0
0
0
3
-10
-1
-26
-1
64
-42
0
0
0
-4
-2
18
15
2
-20
0
0
10
0
-3
18
-4
2
8
0
0
0
2
-1
-13
-6
23
16
0
0
0
0
-14
5
12
17
-48
0
0
0
0
-2
-3
-8
-5
44
0
0
7
0
-1
-8
-5
14
-26
0
0
0
0
-1
-5
0
6
4
0
0
0
1
5
4
-17
-5
-26
0
0
0
0
0
0
-1
-5
61
0
0
0
0
0
6
-7
-3
24
0
0
0
3
0
1
0
37
1
0
0
0
0
1
-8
2
2
-48
0
0
0
0
0
0
0
6
-50
0
0
6
0
2
2
-1
4
-49
0
0
0
0
0
-10
0
7
37
0
0
1
-1
8
-37
18
-40
0
0
0
0
0
0
-3
-1
18
0
0
0
0
0
0
8
9
6
0
0
0
0
0
0
-7
0
8
0
0
0
0
0
2
-9
-8
13
0
0
0
0
0
8
-5
-4
7
0
0
0
8
0
-1
8
-2
13
0
0
0
0
-1
0
10
1
-1
0
0
0
0
0
1
-17
-1
-4
0
0
0
0
0
0
0
-4
24
0
0
0
2
0
2
-2
-19
18
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
1
-1
-6
-6
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
-1
4
7
-8
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-9
-13
-12
-7
30
52
0
0
0
-5
0
0
5
9
-39
0
0
0
0
5
16
-3
5
-32
0
0
0
15
2
21
-3
13
4
0
0
0
0
3
-8
-3
-5
-12
0
0
0
-3
-3
8
0
9
-37
0
0
0
0
0
9
-12
-1
9
0
0
0
13
5
5
-5
4
-24
0
0
0
0
-1
12
-8
3
3
0
0
0
1
1
0
-8
5
-6
0
0
0
2
-1
10
-15
4
-36
0
0
0
0
0
-5
-2
4
40
0
0
0
0
0
-6
0
5
7
0
0
0
2
-2
-2
-1
18
-34
0
0
0
0
0
-1
-1
-13
-5
0
0
0
1
-4
6
1
2
23
0
0
0
0
2
24
-5
8
0
0
0
0
-3
4
-1
-2
8
0
0
0
0
0
0
8
0
1
0
0
0
0
0
-3
2
2
23
0
0
0
0
0
-3
7
-3
6
0
0
0
0
0
1
-5
-1
27
0
0
0
0
0
0
1
8
-4
0
0
0
0
0
1
2
10
-4
0
0
0
0
0
0
-3
-20
-41
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
1
0
4
0
0
0
0
0
1
0
-8
17
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
1
-4
-1
-5
0
0
0
0
-2
-4
-8
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
9
-3
-13
-15
9
-8
0
0
0
0
0
10
-39
-44
34
0
0
0
-3
0
-2
2
3
14
0
0
0
0
2
-3
-6
26
14
0
0
-15
0
0
-6
-33
-19
30
0
0
0
0
0
0
-1
4
0
0
0
0
2
0
0
1
2
10
0
0
0
0
0
2
4
-24
5
0
0
0
0
0
1
9
-6
-39
0
0
0
0
0
-3
13
7
-9
0
0
0
0
0
0
-13
-5
-30
0
0
0
0
0
0
3
3
-3
0
0
7
0
0
0
-4
-6
-9
0
0
0
0
0
0
-4
-2
-3
0
0
0
-2
0
0
-1
1
24
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
-2
2
-29
51
0
0
0
0
0
0
-9
6
-11
0
0
0
0
0
0
-4
-21
-8
0
0
0
0
0
0
-1
-9
3
0
0
3
0
0
2
0
-21
10
0
0
0
0
0
0
-1
-6
2
0
0
0
0
0
-1
0
-8
18
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
1
15
-3
1
0
0
0
0
0
0
1
10
14
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
5
2
35
0
0
0
0
0
0
-1
-5
-2
0
0
0
2
0
-3
1
-9
28
0
0
0
0
0
-1
0
-8
7
0
0
0
0
5
12
-28
12
-15
0
0
0
0
4
-3
-14
-27
-29
0
0
0
0
0
0
6
-3
17
0
0
0
0
0
8
10
6
39
0
0
0
0
1
4
-24
9
-12
0
0
0
0
0
0
-8
-7
8
0
0
0
0
0
0
-2
11
39
0
0
0
0
0
6
6
-13
3
0
0
0
0
1
3
-7
-22
11
0
0
0
0
-1
-4
-1
-1
-6
0
0
0
0
0
-2
2
19
-6
0
0
0
0
-1
0
-3
2
9
0
0
0
0
1
-1
1
-3
-3
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
6
-8
6
0
0
0
0
-1
0
3
-4
-2
0
0
0
0
0
1
-7
-5
24
0
0
0
0
1
0
0
-19
11
0
0
0
0
0
0
-2
-47
17
0
0
0
0
0
1
1
-5
16
0
0
0
0
0
1
-4
-23
25
0
0
0
0
0
0
-1
-2
-28
0
0
0
0
0
1
1
13
-12
0
0
0
0
0
-2
-6
8
14
0
0
0
0
0
-3
2
16
8
0
0
0
0
0
0
-2
-1
-31
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
-14
-37
0
0
0
0
-1
0
0
29
4
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
15
0
0
0
2
1
-22
-4
5
5
0
0
0
0
-1
0
7
-10
20
0
0
0
-1
0
-6
-5
12
11
0
0
0
0
0
2
5
-50
16
0
0
0
0
0
0
-22
-32
-7
0
0
0
0
0
0
0
-15
-12
0
0
0
0
0
0
2
-1
-11
0
0
0
0
1
0
7
2
23
0
0
0
0
0
0
5
-24
11
0
0
0
0
0
1
-1
-4
20
0
0
0
-4
0
0
1
8
12
0
0
0
0
0
-1
-1
3
-7
0
0
0
0
0
0
-4
-8
-5
0
0
0
0
0
0
0
0
8
0
0
0
12
0
0
-1
-4
-7
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
-3
-5
-2
-15
0
0
0
0
0
-3
3
-5
-5
0
0
0
-2
0
1
-1
-3
-19
0
0
0
0
0
0
0
-13
18
0
0
0
0
0
0
0
-11
24
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
3
-10
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-4
-29
-12
0
0
0
0
0
0
0
8
8
0
0
0
1
0
0
1
1
-25
0
0
0
0
0
0
-1
-8
-2
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
-3
5
0
0
0
4
0
3
0
0
14
0
0
0
0
0
0
0
2
0
0
0
0
0
0
22
-32
7
34
0
0
0
0
0
-1
17
-3
14
0
0
0
0
1
-2
-41
7
-7
0
0
0
0
4
-4
0
-7
24
0
0
0
0
0
0
7
-4
-13
0
0
0
0
1
2
8
-12
-5
0
0
0
0
0
-3
-1
19
15
0
0
0
0
3
-1
-3
4
-3
0
0
0
0
0
-2
1
6
-8
0
0
0
0
0
-2
-2
10
-2
0
0
0
0
0
0
-7
-3
6
0
0
0
0
-2
0
7
-4
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
1
5
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
1
-2
-1
1
0
0
0
0
0
1
-1
-1
-2
-14
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
-3
3
-13
0
0
0
0
0
-1
-4
20
1
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
-20
2
0
0
0
0
0
-1
0
9
9
0
0
0
0
0
0
2
-3
8
0
0
0
0
0
2
0
-3
9
0
0
0
0
-3
0
0
3
-20
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-17
-10
18
18
27
0
0
0
0
-3
-3
9
-17
0
0
0
0
4
0
0
-6
-33
4
0
0
0
0
-1
2
2
8
-7
0
0
-17
0
0
4
-5
1
-2
0
0
0
0
0
-1
-4
-9
13
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
-1
1
-6
7
0
0
-1
0
1
-1
3
8
66
0
0
0
0
1
1
-7
8
-3
0
0
0
2
0
0
0
8
13
0
0
0
0
0
0
1
-9
-2
0
0
3
0
0
0
-19
20
5
0
0
0
0
0
0
-1
2
-20
0
0
0
0
0
0
0
-2
-31
0
0
0
0
0
2
-1
0
30
0
0
4
0
0
4
4
17
-45
0
0
0
0
-1
-3
-8
19
46
0
0
0
0
0
0
-1
-12
3
0
0
0
0
0
0
0
-2
-2
0
0
-7
0
0
3
-14
-32
36
0
0
0
0
4
0
8
5
-5
0
0
0
0
0
0
2
-3
15
0
0
0
0
0
-1
4
3
5
0
0
0
0
0
12
-3
-23
32
0
0
0
0
1
0
-2
16
3
0
0
0
0
0
3
0
-21
-28
0
0
0
0
0
0
3
0
-11
0
0
-4
0
0
0
14
31
24
0
0
0
0
0
-1
6
0
7
0
0
0
0
0
-2
-9
7
-17
0
0
0
0
0
0
1
-8
10
0
0
0
0
5
18
-11
-34
2
0
0
0
0
-1
-14
5
28
-5
0
0
0
0
0
-1
-3
8
-16
0
0
0
0
-2
1
8
-7
29
0
0
0
0
-1
-4
0
8
5
0
0
0
0
0
-2
0
2
-3
0
0
0
0
0
0
4
-6
13
0
0
0
0
0
0
-2
-8
-5
0
0
0
0
0
-5
-1
23
-18
0
0
0
0
0
0
3
-7
2
0
0
0
0
0
0
-8
-8
3
0
0
0
0
0
0
-2
-4
20
0
0
0
0
0
6
1
16
5
0
0
0
0
2
2
0
-12
5
0
0
0
0
-1
0
-2
-3
-5
0
0
0
0
0
0
0
3
-21
0
0
0
0
-1
-1
-17
-36
14
0
0
0
0
0
-1
0
-33
24
0
0
0
0
0
0
2
-9
-29
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
-1
0
-10
39
0
0
0
0
0
1
0
-4
-2
0
0
0
0
0
0
-1
-6
7
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
8
4
-25
0
0
0
0
0
1
1
-5
42
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
1
2
-4
-32
0
0
0
0
0
1
2
-8
22
0
0
0
0
0
-2
0
8
26
0
0
0
0
0
-1
-3
-5
-4
0
0
0
0
0
0
0
22
-1
0
0
0
-3
-5
-1
24
-4
-40
0
0
0
0
1
-2
-3
-9
13
0
0
0
28
0
0
-18
-16
-6
0
0
0
0
0
0
5
0
-5
0
0
0
0
0
1
7
-9
0
0
0
0
0
0
0
-13
-12
24
0
0
0
-10
0
0
-3
6
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
2
1
8
10
5
0
0
0
0
0
-2
1
-10
-19
0
0
0
-8
0
1
-4
-8
-8
0
0
0
0
0
2
5
0
4
0
0
0
0
0
0
8
5
-5
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
1
-3
0
0
0
0
-2
0
5
1
-3
0
0
0
0
0
0
-10
-13
-11
0
0
0
0
0
0
5
2
39
0
0
0
-5
0
-1
-22
-10
13
0
0
0
0
0
0
3
-16
-15
0
0
0
0
0
0
-4
7
5
0
0
0
0
0
0
-1
13
27
0
0
0
7
0
-1
0
-20
0
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
-1
1
-6
31
0
0
0
0
0
0
1
2
0
0
0
0
-1
0
0
3
-13
-16
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
-3
-3
28
0
0
0
5
0
0
0
-5
36
0
0
0
0
0
-1
0
-6
5
0
0
0
0
-7
-12
-28
-13
5
0
0
0
0
-8
-1
-1
3
-12
0
0
0
0
1
1
16
-36
31
0
0
0
0
5
0
8
2
22
0
0
0
0
0
-2
1
8
8
0
0
0
0
0
1
-1
2
4
0
0
0
0
0
0
0
-14
5
0
0
0
0
1
-1
3
0
-1
0
0
0
0
0
-2
5
8
6
0
0
0
0
0
1
0
8
-8
0
0
0
0
1
0
0
3
24
0
0
0
0
-1
0
-6
-1
-10
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
-2
0
1
-6
0
0
0
0
0
1
-1
-2
13
0
0
0
0
-1
0
0
1
6
0
0
0
0
-2
-3
8
5
24
0
0
0
0
-2
0
0
40
10
0
0
0
0
0
0
-4
-3
3
0
0
0
0
0
0
-4
-12
-15
0
0
0
0
0
0
4
1
3
0
0
0
0
1
0
2
-7
5
0
0
0
0
0
2
0
-8
2
0
0
0
0
-2
0
2
7
8
0
0
0
0
0
3
2
-4
-4
0
0
0
0
0
0
2
-9
7
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-1
-8
-21
0
0
0
0
0
0
2
-5
8
0
0
0
0
1
0
0
-3
-4
0
0
0
0
0
1
1
4
-2
0
0
0
0
6
2
1
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-4
14
32
-20
3
-8
-31
0
0
12
-8
-28
5
-55
-18
18
0
16
-3
-8
-6
18
-62
6
33
0
0
-16
0
27
-35
14
5
46
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-3
37
8
-32
-14
33
0
0
0
12
6
-22
-26
22
23
0
0
0
-31
-12
-14
22
32
-35
0
0
0
12
-28
34
-14
22
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
3
-9
-9
-22
32
0
0
0
0
-7
5
-7
-10
18
0
0
0
-10
4
1
4
-12
-6
0
0
0
0
3
-3
-44
21
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
5
3
-50
6
33
0
0
0
0
4
-12
-3
-20
1
0
0
0
1
8
17
-6
-68
-15
0
0
0
0
-1
-16
7
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-1
0
-44
1
-22
0
0
-4
2
-9
-17
-14
26
42
0
0
-2
-10
10
-20
27
51
54
0
0
-6
8
1
9
-16
-24
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
8
-11
41
-32
0
0
0
17
-6
-2
2
13
-30
0
0
0
0
0
16
-13
-14
32
0
0
0
-4
9
5
-15
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-21
-9
0
0
0
0
2
-8
2
-43
-11
0
0
0
0
1
0
-5
11
-4
0
0
0
0
1
-5
-4
-3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
40
0
0
0
0
0
0
0
14
-5
0
0
0
0
0
0
3
-6
-13
0
0
0
0
-6
0
-2
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-25
-7
10
-31
-49
51
0
0
-8
8
11
5
31
8
-17
0
-9
-2
1
-6
-63
5
44
-8
0
0
-1
-1
16
-13
1
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-5
-17
15
0
0
0
2
-2
5
-4
-3
19
0
0
-3
0
2
-5
0
33
-76
0
0
0
1
-1
-2
-3
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-3
-15
42
0
0
0
0
0
0
-8
20
-15
0
0
0
-6
0
0
25
-43
8
0
0
0
0
1
0
0
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-13
-10
0
0
0
0
0
0
2
-4
14
0
0
0
1
0
0
-1
-15
13
0
0
0
0
0
0
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
44
6
41
1
-3
0
0
-13
-12
15
-9
45
-20
33
0
0
1
-2
-4
20
-8
-13
11
0
0
11
-5
-21
-30
-15
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-8
19
-19
0
0
0
0
-3
24
6
-12
23
0
0
0
0
0
-14
9
8
-10
0
0
0
-6
5
-6
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-4
4
0
0
0
0
1
-5
1
16
16
0
0
0
0
1
0
-1
15
-16
0
0
0
0
-8
1
-4
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
7
0
0
0
0
0
1
0
-24
9
0
0
0
0
0
0
2
9
-2
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-13
-9
-15
-3
-32
26
0
0
-2
2
20
17
-92
-26
18
0
2
0
-3
-13
6
31
4
-47
0
0
0
0
8
3
6
-11
-20
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-15
-2
23
-6
49
0
0
0
0
3
-9
-10
3
-33
0
0
1
0
1
13
8
31
5
0
0
0
0
0
2
-1
8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-2
-29
-32
0
0
0
0
0
3
-1
21
-20
0
0
0
0
0
-5
2
-4
-1
0
0
0
0
0
0
-13
-7
-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
-2
0
0
-5
20
-28
45
0
0
0
0
0
-2
3
-3
9
0
0
0
-1
0
0
4
0
-18
0
0
0
0
0
-1
0
-1
-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
10
15
-41
-24
-82
47
0
0
0
13
-7
13
4
-19
25
0
0
0
1
6
7
5
-66
54
0
0
0
-5
14
-27
7
47
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
-6
-16
9
0
0
0
-1
-14
-2
-8
-24
-18
0
0
0
0
-1
0
4
22
17
0
0
0
0
-8
-1
4
14
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-17
-23
0
0
0
0
2
-4
-5
-9
-16
0
0
0
0
0
-1
-9
-29
1
0
0
0
0
0
-1
-1
-1
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
-2
-9
-14
0
0
0
0
0
0
-1
-7
13
0
0
0
0
0
0
-1
-5
7
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
3
11
4
5
4
0
0
0
0
3
-40
9
60
17
0
-20
0
5
-3
11
24
9
-53
0
0
0
5
18
-7
-6
-44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
14
-14
9
0
0
0
0
0
-7
9
-8
-15
0
0
2
0
-3
20
1
-5
-18
0
0
0
0
0
0
-5
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
11
-19
0
0
0
0
0
-2
4
6
1
0
0
0
-5
0
0
-4
11
18
0
0
0
0
0
-2
3
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-22
6
0
0
0
0
0
0
0
-4
6
0
0
0
8
0
-1
1
10
-9
0
0
0
0
0
0
0
4
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
-8
-4
0
3
59
-45
0
0
0
-2
-4
-1
13
-29
26
0
0
0
-1
7
2
-1
32
29
0
0
-13
-5
7
-1
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-8
-4
0
0
0
0
2
0
-5
6
-1
19
0
0
0
-1
0
-8
-4
2
-10
0
0
0
1
-4
-3
3
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
12
4
0
0
0
0
-1
5
-3
0
7
0
0
0
0
0
2
10
-29
2
0
0
0
0
0
5
5
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-7
-12
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
-2
2
0
-1
0
0
0
0
1
1
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-14
-12
-28
43
39
0
0
0
-1
-6
27
-37
2
-27
0
0
0
0
0
1
-5
32
-74
0
0
0
0
17
-10
7
12
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
5
-9
27
4
0
0
0
1
-4
-4
-25
-15
53
0
0
0
0
3
-10
13
-3
-10
0
0
0
0
1
-1
-1
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
4
26
16
-23
0
0
0
0
3
1
-1
-19
-28
0
0
0
0
0
0
-1
6
-1
0
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
8
26
0
0
0
0
-1
1
1
5
17
0
0
0
0
0
-2
-6
-16
27
0
0
0
0
0
0
1
-9
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
2
13
-14
10
-17
0
0
0
-2
3
-8
-31
24
-27
0
0
0
1
0
-1
-10
4
-4
0
0
0
0
0
3
3
9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
12
15
-20
0
0
0
0
3
4
-9
-21
-3
0
0
0
0
-2
3
9
-3
41
0
0
0
2
4
1
0
12
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-30
-32
0
0
0
0
-1
0
0
-6
9
0
0
0
0
0
0
1
9
-14
0
0
0
0
-1
0
0
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
-17
0
0
0
0
0
0
0
14
-13
0
0
0
0
0
0
2
-2
24
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
8
52
-45
0
0
0
0
2
-20
15
48
2
0
0
5
0
3
15
6
-31
-30
0
0
0
0
-2
9
4
4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
20
-35
0
0
0
0
0
-4
6
9
29
0
0
1
0
0
-13
-2
-17
-50
0
0
0
0
0
3
-1
-25
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-25
17
0
0
0
0
0
0
-3
-1
27
0
0
0
0
0
1
-5
-8
-8
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-3
45
0
0
0
0
0
-1
-5
9
2
0
0
0
-2
0
0
1
-2
3
0
0
0
0
0
0
-7
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-21
8
17
0
0
0
-1
0
-9
8
6
-18
0
0
0
1
0
10
-8
3
2
0
0
0
1
-5
14
17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
9
-13
-5
0
0
0
-2
0
9
1
17
24
0
0
0
0
0
13
1
-22
5
0
0
0
3
-2
-10
6
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
0
0
0
0
2
0
-10
3
-10
0
0
0
0
0
-1
0
-1
-6
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
19
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
4
-6
33
0
0
0
0
-4
-6
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
4
11
-42
65
-32
0
0
0
0
-1
-5
-15
29
49
0
0
0
0
0
-6
9
21
7
0
0
0
0
0
8
-2
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-12
18
-13
1
0
0
0
1
5
18
2
6
-37
0
0
-2
0
-1
-2
6
18
-1
0
0
0
0
1
-1
-1
27
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-7
4
-3
46
0
0
0
0
0
4
8
2
-8
0
0
0
0
0
0
-1
-5
40
0
0
0
0
0
0
-1
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-2
1
0
0
0
0
0
1
1
1
-3
0
0
0
-1
0
0
8
4
-39
0
0
0
0
0
-1
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-17
21
3
0
0
0
0
3
-4
-29
8
67
0
0
0
0
0
0
2
8
33
0
0
0
0
-2
5
-4
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
1
16
-7
0
0
0
-2
0
-7
-17
-42
20
0
0
0
0
0
-1
0
16
7
0
0
0
0
6
2
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-7
22
0
0
0
0
1
1
-1
-13
31
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
3
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
-2
2
0
0
0
0
-1
0
-1
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-4
28
9
0
0
0
0
0
2
18
23
11
0
0
-8
0
0
-3
1
-4
-13
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
-2
-11
-14
0
0
0
0
-1
-1
0
20
49
0
0
12
0
0
-5
-8
0
-20
0
0
0
0
0
-1
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
20
0
0
0
0
0
0
1
-8
-3
0
0
0
-2
0
0
-2
4
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-13
0
0
0
0
0
0
0
0
24
0
0
0
-4
0
0
0
1
-1
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-19
25
-45
0
0
0
0
-5
-2
3
-17
23
0
0
0
0
-1
-3
-7
3
-12
0
0
0
0
1
-5
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
10
-34
0
0
0
0
-2
-2
0
23
-34
0
0
0
0
6
-4
0
8
11
0
0
0
7
0
-5
0
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
3
-2
7
-2
0
0
0
0
0
1
0
0
-12
0
0
0
0
0
-4
3
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
5
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
1
-1
0
-3
0
0
0
0
3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
16
-24
-12
0
0
0
0
0
5
-8
-12
25
0
0
0
1
-1
-8
-24
-8
24
0
0
0
0
0
3
-10
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-41
26
0
0
0
0
-1
4
5
-16
-3
0
0
0
0
0
1
-6
1
-3
0
0
0
0
0
1
-7
-5
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-2
21
-17
0
0
0
0
0
-2
-18
10
-2
0
0
0
0
0
-1
0
-5
2
0
0
0
0
0
-1
-6
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
46
-16
0
0
0
0
1
-17
10
0
-6
0
0
0
0
0
1
14
-22
11
0
0
0
0
1
1
-7
-21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
9
22
0
0
0
0
0
1
2
-11
-52
0
0
0
0
0
-5
8
7
8
0
0
0
0
-1
5
1
30
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
8
-13
0
0
0
0
0
0
-8
-14
7
0
0
0
0
0
0
5
8
23
0
0
0
0
0
3
4
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
2
0
0
0
0
0
0
1
1
-20
0
0
0
0
0
0
1
-13
25
0
0
0
0
0
0
0
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
26
-14
0
0
0
0
0
1
-2
-2
7
0
0
0
0
0
0
-1
6
27
0
0
0
0
1
2
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-5
-42
-16
0
0
0
0
0
0
0
-8
34
0
0
0
0
0
0
-4
-9
19
0
0
0
0
0
1
-1
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-37
0
0
0
0
0
0
6
2
-16
0
0
0
0
0
-1
-2
5
21
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
19
56
0
0
0
0
0
0
1
-10
-12
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
-4
0
0
0
0
0
0
1
23
10
0
0
0
-2
0
0
-6
5
-5
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
7
-1
0
0
0
0
0
4
7
-10
-11
0
0
0
0
0
1
0
-1
27
0
0
0
0
0
-4
1
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
22
0
0
0
0
0
-2
0
-14
-8
0
0
0
0
0
-1
1
3
2
0
0
0
0
1
-8
5
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
20
0
0
0
0
0
2
-9
-15
14
0
0
0
0
0
0
2
-17
25
0
0
0
0
0
0
5
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
12
0
0
0
0
0
0
1
-8
-5
0
0
0
0
0
0
3
0
16
0
0
0
0
0
0
-4
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
7
22
-49
0
0
0
0
0
-1
21
-14
-12
0
0
0
0
0
0
-8
15
-8
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
6
-6
34
1
0
0
0
0
0
0
25
-23
-2
0
0
0
0
0
4
-18
-19
18
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
-44
44
0
0
0
0
0
0
-2
-20
6
0
0
0
2
0
-2
3
5
-17
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
17
-19
0
0
0
0
-2
0
1
-2
-4
0
0
0
-1
0
1
0
3
-18
0
0
0
0
0
0
-1
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
10
1
0
0
0
0
-4
3
-8
-19
4
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
-4
0
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-10
-27
0
0
0
0
0
1
3
-29
-15
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
-7
-1
-1
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
2
-24
-1
0
0
0
0
0
1
0
-33
29
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-35
14
0
0
0
0
0
0
2
-10
-6
0
0
0
0
0
2
2
-2
0
0
0
0
0
-1
0
1
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-6
-21
0
0
0
0
0
-2
-3
21
18
0
0
0
18
0
0
-1
27
17
0
0
0
0
0
1
1
-40
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
30
0
0
0
0
0
0
5
-7
1
0
0
0
-1
0
1
-2
-17
14
0
0
0
0
0
0
4
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-5
0
0
0
0
0
0
0
-23
4
0
0
0
1
0
0
0
-17
8
0
0
0
0
-1
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-6
0
0
0
0
0
0
-1
8
-6
0
0
0
1
0
0
3
-24
29
0
0
0
0
0
-1
0
-24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
4
0
0
0
0
0
3
6
12
2
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
-2
4
10
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
6
0
0
0
0
0
-3
0
13
-3
0
0
0
0
0
0
-4
3
8
0
0
0
0
7
10
2
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
1
0
0
0
0
0
2
0
-12
16
0
0
0
0
0
0
0
-2
6
0
0
0
0
1
3
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-6
0
0
0
0
0
1
0
-8
-10
0
0
0
0
0
2
-5
4
8
0
0
0
0
-2
0
5
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-8
-26
5
0
0
0
0
0
-8
-17
15
10
0
0
0
0
0
0
-3
4
15
0
0
0
0
0
4
6
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
2
40
0
0
0
0
-1
-5
-7
7
-6
0
0
0
0
0
2
1
-16
-4
0
0
0
0
0
0
0
-12
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
13
-9
0
0
0
0
0
0
-8
27
13
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
1
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-6
17
0
0
0
0
0
-5
2
17
-19
0
0
0
0
0
0
1
-1
-7
0
0
0
0
0
1
1
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
16
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
39
0
0
0
0
0
0
-3
6
-16
0
0
0
0
0
0
0
-4
9
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
0
0
0
0
0
0
0
-16
5
0
0
0
0
0
0
0
-16
13
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
-24
-18
0
0
0
0
0
0
2
18
-50
0
0
0
0
0
0
-2
-10
21
0
0
0
0
0
-1
0
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
-8
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
-2
1
-25
-6
0
0
0
0
0
0
-3
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-14
6
0
0
0
0
0
0
3
12
-34
0
0
0
0
0
0
3
-22
8
0
0
0
0
-3
0
-2
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-14
0
0
0
0
-1
-2
0
9
24
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-5
0
0
0
0
-1
0
0
-6
7
0
0
0
-1
0
0
-8
5
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
0
0
0
0
0
-1
4
12
17
0
0
0
0
0
1
0
-4
3
0
0
0
0
-1
2
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
1
-25
-2
0
0
0
0
0
0
4
0
9
0
0
0
0
5
-1
4
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
13
0
0
0
0
0
-1
-2
29
6
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-8
0
0
0
0
0
3
1
-25
-7
0
0
0
0
0
0
-9
0
10
0
0
0
0
7
0
-2
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
7
-4
-13
0
0
0
0
0
0
3
12
8
0
0
0
-2
0
1
0
1
3
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-8
-1
34
20
0
0
0
0
0
5
2
0
20
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-8
23
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
13
15
0
0
0
0
1
-2
-1
-2
2
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
-25
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
7
8
0
0
0
0
0
0
-3
6
14
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
17
20
0
0
0
0
0
0
2
21
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
3
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
26
0
0
0
0
0
0
-1
-9
1
0
0
0
0
0
0
0
12
-3
0
0
0
0
0
-1
1
5
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
-1
2
0
12
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
-24
0
0
0
0
0
1
6
0
6
0
0
0
5
0
-1
0
5
-17
0
0
0
0
0
1
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
1
0
0
0
0
0
0
0
-2
31
0
0
0
-3
0
0
0
-10
-7
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-8
31
0
0
0
0
0
0
0
-5
0
0
0
0
6
0
0
0
-18
17
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
3
0
0
0
0
0
1
-1
3
3
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
4
0
0
0
0
0
0
-5
-1
-20
0
0
0
0
2
0
1
8
-5
0
0
0
0
-13
-2
10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-6
0
0
0
0
0
1
0
-12
7
0
0
0
0
0
-1
-1
4
2
0
0
0
0
1
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
21
0
0
0
0
-1
0
0
2
19
0
0
0
0
-1
0
3
8
-6
0
0
0
0
3
3
2
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
6
31
22
-20
0
1
22
9
0
0
-22
40
14
-21
10
52
-19
0
7
-1
1
-4
13
34
-39
9
0
0
10
-4
-14
19
-11
-14
29
-11
4
0
7
8
13
-31
-38
-2
0
0
1
-14
-18
-16
-30
-18
65
0
13
-5
-13
-3
-24
12
-4
-24
0
0
-17
-21
8
-17
7
49
10
8
0
0
-26
-9
11
6
-15
0
0
0
-8
-5
8
-16
24
12
0
0
6
0
5
-12
16
49
-24
0
0
0
1
3
-6
-13
-13
61
0
1
3
1
16
18
-26
22
-29
0
0
0
0
-7
6
-20
16
11
0
0
-2
-14
-10
15
-8
9
3
0
0
0
8
-10
-3
-13
24
-1
0
-17
6
-1
-48
29
-25
37
0
0
0
0
0
1
-19
22
21
0
0
0
-7
0
6
-10
5
-8
0
0
0
0
1
-5
13
5
8
0
0
12
-3
0
-9
-10
-5
-43
0
0
0
0
0
-2
18
-40
33
0
0
0
5
2
-3
2
-13
2
0
0
0
0
-1
25
-22
12
-17
0
0
1
0
0
-13
25
18
7
0
0
0
0
-5
1
-5
12
20
0
0
0
8
0
-1
-10
6
-14
0
0
0
0
8
21
-2
-15
9
0
0
-6
-3
0
-8
23
2
13
0
0
0
0
-1
-7
-5
-1
40
0
0
0
-17
5
-3
-6
-5
7
0
0
0
0
10
0
21
-22
35
0
0
0
0
-1
22
-11
-4
2
-27
38
0
0
7
4
-5
-9
14
84
-12
0
0
0
0
-3
4
-3
-34
-9
0
0
6
-1
0
13
19
-22
16
0
0
0
0
-8
-29
-21
-21
71
0
0
0
1
-2
-16
10
-42
7
0
0
0
0
0
7
-5
64
-12
0
0
0
1
3
2
2
-2
-13
0
0
0
-1
-5
-7
-9
-39
0
0
0
0
0
0
7
-20
-18
0
0
0
1
0
-1
-1
8
-17
0
0
0
0
-1
0
-3
12
-1
0
0
0
0
2
0
-12
8
9
0
0
0
0
0
-2
-8
0
-60
0
0
0
0
0
0
-1
7
-13
0
0
0
1
0
0
0
-1
-3
0
0
0
-1
-3
3
-4
20
0
0
0
0
0
-1
2
-10
13
0
0
0
0
0
0
0
-21
17
0
0
0
0
-2
0
1
-1
9
0
0
0
0
-1
0
4
-8
1
0
0
0
0
-2
0
0
1
3
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
1
-1
-13
0
0
0
0
2
0
-1
-2
9
0
0
0
0
1
0
0
-1
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
0
0
0
0
0
0
0
-12
-3
2
-17
-14
25
-17
44
0
0
0
-4
-2
3
2
19
-16
0
5
0
1
7
-31
-8
-48
32
0
0
-1
0
-4
-8
-20
8
64
0
0
0
1
-4
-29
-19
29
-9
0
0
0
0
-2
7
2
39
-3
0
0
0
0
8
6
-17
-27
-20
0
0
0
0
0
1
-2
17
-59
0
0
0
0
-3
5
20
-15
0
0
0
0
0
-1
-5
-17
-27
0
0
1
0
1
-5
-3
33
6
0
0
0
0
0
5
1
10
4
0
0
-1
0
0
2
5
3
-44
0
0
0
0
0
-1
-1
9
-13
0
0
0
0
0
1
0
-12
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-18
2
-11
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
-8
14
4
0
0
0
0
0
0
0
14
-7
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
28
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
-2
0
-7
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
-8
0
0
0
-6
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
-19
-26
2
32
-52
0
0
-2
-3
-2
-19
-2
17
42
0
0
1
0
8
15
-13
0
19
0
0
0
-2
10
4
1
3
-6
0
0
0
1
0
13
18
-8
24
0
0
-1
0
-2
10
-5
9
2
0
0
0
0
-2
0
-1
-9
40
0
0
0
0
1
2
-4
-13
-13
0
0
0
-1
3
-7
-7
-6
0
0
0
-1
0
-2
9
8
-9
0
0
0
0
0
1
-3
-10
6
0
0
0
0
0
-6
-5
22
5
0
0
0
0
-1
0
-1
7
-31
0
0
0
0
0
1
-1
-17
7
0
0
0
0
0
1
-1
4
-1
0
0
0
0
1
0
0
6
-19
0
0
0
0
0
-2
10
2
0
0
0
0
0
0
3
13
25
0
0
0
0
0
0
3
-8
-3
0
0
0
0
1
0
-4
5
-1
0
0
0
0
0
0
0
3
4
0
0
0
0
0
1
1
1
5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
-2
0
2
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
-4
0
0
0
-3
25
-28
-4
13
0
0
0
-10
-3
-10
-1
13
83
0
0
0
-1
-13
5
-22
39
-14
0
0
0
0
1
14
31
4
4
2
0
0
-4
0
-2
0
25
-6
0
0
-1
0
3
-22
-1
36
-12
0
-1
0
3
3
-27
3
15
-13
0
0
0
0
-5
-7
0
-53
38
-2
0
0
4
6
-41
7
20
0
0
0
0
0
0
-9
14
-27
0
0
0
0
0
-13
-12
2
-8
0
0
0
0
0
2
-2
4
10
0
1
0
0
0
-1
0
7
-3
0
0
0
0
0
0
0
2
-28
0
0
0
0
0
-1
-2
0
-33
0
0
0
0
0
0
2
4
9
0
2
-1
0
-6
-9
9
-9
0
0
0
0
0
1
0
30
1
0
0
0
0
0
0
-9
-16
7
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
5
5
15
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
7
-2
12
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-8
12
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-2
-4
-27
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
3
-21
0
0
0
0
0
0
1
0
0
0
0
0
1
0
-1
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
15
-1
-14
-37
61
0
0
2
6
-4
-18
-20
-12
-32
0
0
0
-1
-1
4
-2
-6
30
0
0
-2
6
4
3
-2
15
-5
0
0
0
0
-1
10
-13
2
-39
0
0
0
0
0
-1
1
-91
56
0
0
0
0
0
-10
0
38
22
0
0
0
0
0
0
0
22
-13
0
0
0
0
1
7
-2
-16
0
0
0
0
0
-1
-7
5
-27
0
0
0
0
0
0
1
-2
-8
0
0
0
2
0
1
5
4
20
0
0
0
0
0
0
1
5
-38
0
0
0
0
0
1
-2
0
-1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-25
-11
45
0
0
0
0
0
0
5
-6
20
0
0
0
0
0
0
3
-13
-4
0
0
0
0
0
0
1
2
14
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
18
-8
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-33
9
-59
-6
0
0
0
0
0
22
-5
-47
-4
0
0
0
0
-1
-6
13
31
-27
0
0
0
0
-3
2
5
4
7
0
0
0
-1
-2
10
0
-1
-15
0
0
0
0
0
-7
2
-17
41
0
0
0
-1
0
4
0
2
-11
0
0
0
0
0
-1
0
-12
33
0
0
0
0
2
-19
-1
-8
0
0
0
0
0
0
-10
1
-12
0
0
1
0
-1
-1
14
4
18
0
0
0
0
0
-1
-3
-8
-30
0
0
0
0
0
-1
0
-2
-7
0
0
0
0
0
0
-2
0
30
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-2
1
0
-5
0
0
0
0
-2
-1
5
7
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
0
0
-25
10
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
1
2
-4
0
0
0
0
0
0
0
-2
3
0
0
0
1
0
0
0
-3
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
1
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
5
0
30
-5
-12
-8
0
0
1
-5
1
-21
0
5
17
0
0
0
0
-2
-8
-6
9
-4
0
0
0
2
8
-17
-8
22
-11
0
0
0
1
0
0
3
-32
26
0
0
0
0
1
3
-1
-26
-16
0
0
0
2
-2
-3
0
33
11
0
0
0
-6
4
0
0
6
34
0
0
0
0
0
0
2
36
0
0
0
0
0
0
22
7
-3
0
0
0
0
0
0
13
1
5
0
0
0
0
-3
3
-5
5
-12
0
0
0
0
0
0
-1
-1
37
0
0
0
0
1
0
-1
1
51
0
0
0
0
0
-2
0
0
13
0
0
0
0
-7
3
0
0
-7
0
0
0
0
0
-6
-12
-8
0
0
0
0
0
1
0
-2
-7
0
0
0
0
0
0
1
-9
-7
0
0
0
0
0
0
-4
-4
4
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-7
0
-1
-1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
3
-1
0
0
-5
0
1
-3
12
15
-15
60
0
0
0
-2
-6
10
-26
43
-90
0
0
-1
2
-1
-11
-35
-19
80
0
0
0
0
-2
-3
-12
57
-69
0
0
0
0
-2
4
-15
6
18
0
0
0
0
0
-9
-21
-4
-9
0
0
0
0
0
1
25
12
3
0
0
0
0
2
0
-8
0
-7
0
0
0
0
1
-2
-10
-10
42
0
0
0
0
0
25
-17
6
50
0
0
0
0
0
0
-8
6
1
0
0
0
0
-2
2
0
-11
-5
0
0
0
0
2
6
-6
-20
38
0
0
0
0
1
0
1
-5
-14
0
0
0
0
0
0
0
16
-3
0
0
0
0
0
-2
0
-1
-48
0
0
0
0
0
-4
13
43
0
0
0
0
0
0
9
4
10
0
0
0
0
0
0
-1
2
-10
0
0
0
0
0
0
1
1
3
0
0
0
0
0
-1
-3
6
-30
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
1
-10
-5
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
1
17
3
36
0
0
0
0
0
0
-2
4
30
0
0
0
0
0
0
1
4
-20
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
-1
7
2
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-12
0
-41
-17
0
0
0
-1
0
0
-11
26
41
0
0
0
1
0
0
9
2
-11
0
0
0
0
0
-6
-4
-18
8
0
0
0
0
0
-3
0
-12
22
0
0
0
0
0
-5
-30
7
-16
0
0
0
0
0
2
0
29
14
0
0
0
0
0
2
-10
7
-4
0
0
0
0
1
0
0
9
-3
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
-2
-1
-5
-48
0
0
0
0
1
0
0
-1
20
0
0
0
0
0
4
0
-6
-37
0
0
0
0
0
0
1
7
-50
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
0
-41
0
0
0
0
1
0
12
-6
0
0
0
0
0
0
0
12
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
4
0
0
0
0
0
1
1
-2
22
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
1
21
0
0
0
0
0
0
6
0
-13
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
10
15
12
0
0
0
0
1
0
-7
12
-4
0
0
-1
0
0
5
-16
-19
27
0
0
0
0
0
-4
-14
-6
-13
0
0
0
0
1
0
-12
12
3
0
0
0
0
0
0
-5
1
-1
0
0
3
0
0
0
-8
14
11
0
0
0
0
0
0
-2
0
25
0
0
0
0
3
-5
1
19
-29
0
0
0
0
0
0
8
-7
-31
0
0
0
0
0
-3
0
-5
60
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
-2
0
-16
1
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
3
8
11
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
8
-39
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
2
-4
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
-6
-17
-4
5
0
0
0
1
0
13
-7
-14
-30
0
0
0
2
0
9
-20
59
-65
0
0
0
-4
1
8
41
-8
-1
0
0
0
0
0
0
-24
-3
-8
0
0
0
0
0
-2
-8
14
-7
0
0
0
0
0
-4
-2
-13
7
0
0
0
1
0
-4
5
13
6
0
0
0
0
0
3
-1
4
18
0
0
0
0
0
0
-3
-2
-3
0
0
0
0
0
0
-3
-29
12
0
0
0
0
0
-2
0
-19
8
0
0
0
0
0
0
0
32
5
0
0
0
0
0
0
-1
25
13
0
0
0
0
0
0
0
19
-2
0
0
0
1
0
0
0
3
13
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
-1
-2
14
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-1
-13
0
0
0
0
-1
0
0
1
7
0
0
4
0
0
0
-4
-8
18
-8
0
0
0
0
0
1
-4
-12
-22
0
0
0
0
0
-1
-1
17
-53
0
0
0
0
0
-4
1
28
-13
0
-1
0
0
0
-13
3
5
-7
0
0
0
0
0
-2
-1
-1
-15
0
0
0
0
0
0
4
2
-25
0
0
0
0
0
-3
0
-1
8
0
-3
0
0
0
-18
-2
13
20
0
0
0
0
0
3
1
20
-11
0
0
0
0
0
-4
0
26
-32
0
0
0
0
0
7
0
30
-7
0
0
0
0
1
-8
-1
9
43
0
0
0
0
0
0
0
-8
71
0
0
1
0
0
0
0
6
-18
0
0
0
0
0
-1
0
1
-21
0
0
0
0
-1
2
-7
-6
0
0
0
0
0
0
2
4
9
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
2
0
-4
26
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-5
5
-1
-2
0
0
0
-2
0
0
0
0
-31
0
0
0
0
0
2
-8
-6
12
0
0
0
0
1
-2
0
13
1
0
0
0
0
0
1
-4
1
-29
0
0
0
0
-1
0
0
-6
20
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
3
29
-13
0
0
0
0
0
0
0
-3
49
0
0
0
0
0
0
0
16
-12
0
0
0
0
0
2
0
4
-13
0
0
0
0
0
-1
1
-15
53
0
0
0
0
0
0
0
8
14
0
0
0
0
-1
0
0
8
-1
0
0
0
0
-1
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
2
0
-18
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
-1
8
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
-9
-6
-2
0
0
0
0
-1
-1
-1
-1
-25
0
0
0
0
0
1
-6
9
-12
0
0
0
0
0
4
0
12
1
0
0
0
0
0
0
-2
-17
-19
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
8
-58
0
0
0
0
0
0
0
8
22
0
0
-2
0
0
0
0
14
-8
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-2
12
0
0
1
0
0
0
0
1
-28
0
0
0
0
0
0
0
1
-28
0
0
0
0
0
0
-6
-36
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
5
-3
-16
14
0
0
0
0
0
0
4
-3
-46
0
0
0
0
0
6
0
-8
-8
0
0
0
0
2
0
0
7
7
0
0
0
0
0
1
0
2
-5
0
0
0
0
-1
1
0
-4
12
0
0
0
0
0
1
3
0
-4
0
0
0
2
-1
-5
0
0
4
0
0
0
0
0
0
0
3
-15
0
0
0
0
-1
0
-1
0
47
0
0
0
0
0
-4
0
8
16
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
0
0
-3
-23
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
-18
28
-5
51
0
0
0
0
0
5
3
-9
5
0
0
0
0
0
0
16
0
-1
0
0
0
0
-1
3
-10
1
-25
0
0
1
0
0
5
20
9
5
0
0
0
0
0
-2
-5
-8
-6
0
0
0
0
0
-3
2
8
-19
0
0
0
0
0
4
-7
-1
5
0
0
0
0
0
7
-3
12
39
0
0
0
0
-3
0
0
7
7
0
0
0
0
0
0
-5
-3
-5
0
0
0
0
0
-2
-2
5
-8
0
0
0
0
0
4
10
-29
15
0
0
0
0
0
-2
8
-1
18
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
6
28
5
18
0
0
0
0
0
-1
0
6
49
0
0
0
0
0
-3
8
2
14
0
0
0
0
0
-2
-7
-6
4
0
0
0
0
0
2
9
-11
25
0
0
0
0
-1
-5
-1
-27
3
0
0
0
0
0
0
-1
-20
5
0
0
0
0
0
0
-5
4
12
0
0
0
0
0
-17
5
-16
11
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
-4
2
2
0
0
0
0
0
1
-1
-20
-19
0
0
0
0
0
-2
3
12
-1
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-1
-7
-8
0
0
0
0
0
2
0
0
-5
0
0
0
0
1
12
-25
-20
0
0
0
0
0
-1
1
-1
13
-12
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
7
-1
22
0
0
0
0
0
1
-1
0
-20
0
0
0
0
0
-1
0
8
-19
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-6
4
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
17
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
17
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
2
0
-8
-5
0
0
0
0
0
0
-1
-2
17
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
21
-6
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-4
5
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
0
-5
-10
24
0
0
0
0
0
0
0
-7
-17
0
0
0
0
0
0
-7
1
-6
0
0
0
0
0
0
1
-1
19
0
0
0
0
0
-1
2
6
2
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-2
5
32
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
1
-7
19
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
1
6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
-18
0
0
0
0
0
0
-3
-9
1
0
0
0
0
0
0
0
-23
3
0
0
0
0
0
0
-2
8
-3
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-8
-7
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-13
15
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
12
6
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
1
-4
0
0
0
0
0
-1
2
-3
-22
0
0
0
0
0
0
3
7
23
0
0
0
0
0
0
-2
-1
1
0
0
-1
0
0
-3
23
-25
5
0
0
0
0
0
0
4
-1
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
-5
0
0
-1
0
0
-1
-8
-4
18
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
7
8
-10
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
1
8
4
16
0
0
0
0
0
0
1
4
15
0
0
0
0
0
0
-1
-6
-5
0
0
0
0
0
-1
0
-5
5
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
1
0
4
-9
0
0
0
0
0
0
-1
4
7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
5
0
-16
-12
0
0
0
0
0
0
1
10
4
0
0
0
0
0
-1
3
-10
17
0
0
0
0
0
0
0
-8
6
0
0
-1
0
0
0
0
2
8
0
0
0
0
0
0
-2
15
22
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
-41
7
0
0
0
0
-1
-1
-1
-27
-1
0
0
0
0
0
0
-4
23
13
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
-1
-1
-5
4
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
0
0
0
0
0
0
0
-25
4
0
0
0
0
0
0
0
14
24
0
0
0
0
0
-1
0
-12
15
0
0
0
0
0
0
0
5
-23
0
0
0
0
0
-1
0
-5
-2
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
0
0
3
-5
0
0
0
-1
0
0
2
1
-1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
6
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
15
9
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
-9
-17
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-23
-1
0
0
0
0
0
0
0
-8
12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-4
-3
-3
0
0
0
0
0
1
-1
17
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-8
1
0
0
0
0
-1
0
0
8
2
0
0
0
0
1
0
2
-2
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
-1
-3
5
0
0
0
0
0
0
-2
6
2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
-5
3
-20
20
0
0
0
0
0
0
-2
-4
-1
0
0
0
0
0
0
-2
-2
-7
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
-1
-3
27
-17
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
12
-1
-4
14
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
1
-3
2
7
0
0
1
0
0
-4
1
14
-8
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
-16
17
0
0
0
0
0
-3
0
9
-6
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
-6
25
0
0
0
0
0
0
8
-1
-23
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
14
-4
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
5
-13
0
0
0
0
0
0
-1
-2
-8
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
1
4
-12
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
3
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-4
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
14
14
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
4
4
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-3
36
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-12
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
1
5
0
0
0
-1
0
0
1
-8
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
11
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
16
0
0
0
0
1
1
-1
0
8
0
0
0
0
0
0
-4
-19
-9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-1
1
2
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
17
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
-13
-7
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
4
13
0
0
-1
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
2
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
-6
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
1
20
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
40
34
38
24
16
-1
0
0
0
19
8
1
21
-39
24
-13
-2
0
0
23
14
-1
-27
-44
-29
22
0
3
0
13
7
15
1
16
125
-40
21
18
4
3
-2
0
-9
-1
14
41
51
14
2
-5
-4
-2
-6
2
-18
-15
29
13
0
-14
-4
-39
28
-1
23
22
-7
0
0
-63
-102
-29
14
62
-81
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
7
29
42
5
-1
1
-1
85
83
121
116
152
33
-17
-5
-25
-36
40
47
136
124
120
87
7
17
-6
-23
33
54
71
120
71
107
103
-14
5
-4
-4
9
45
65
65
89
99
100
98
-29
4
0
16
48
76
66
136
112
79
-37
-4
-10
-8
21
27
39
122
74
-8
-110
-57
-39
-28
-49
-22
37
-37
64
0
-64
-75
-58
-59
-65
-30
-21
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
38
35
53
3
-1
2
-2
36
25
53
47
106
150
69
7
16
-40
53
25
41
87
95
108
122
158
-102
-75
-78
4
9
62
75
98
163
116
63
-13
-56
-7
1
38
62
59
112
128
98
-59
-78
-41
-25
1
36
42
48
106
52
-84
-56
-53
-32
-25
-1
20
90
102
70
-72
-45
-37
-25
-33
-58
-55
25
71
9
-20
16
10
-84
-65
-52
-66
-80
48
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
7
1
4
0
1
0
0
-24
-4
-9
10
35
79
18
10
0
-8
35
5
14
20
75
58
-4
34
2
1
9
3
3
92
-3
3
71
26
-22
-57
-84
-16
30
16
29
-14
0
98
-6
-102
-23
30
-11
-9
7
8
25
-16
-16
-13
-66
-22
-13
0
-7
-7
67
6
-6
-52
-42
-70
19
78
-10
-34
17
-1
-7
-32
-24
35
76
-26
-51
-27
0
0
49
25
-2
3
10
51
-13
79
-7
-13
15
7
3
0
17
10
-4
-1
5
-14
-28
21
-32
0
-1
-9
-7
4
3
1
-4
-6
-2
21
-20
-26
-32
20
18
-4
0
-1
-73
14
18
-22
-86
-71
11
7
63
37
-58
15
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-2
36
3
0
0
0
0
0
0
22
44
0
0
0
0
0
0
0
16
15
5
0
0
0
0
0
0
5
30
-8
0
0
0
0
0
0
4
7
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-30
71
0
0
0
0
0
0
26
19
28
1
0
0
0
0
0
22
40
55
4
-1
0
0
2
0
24
-5
77
4
-3
1
0
0
0
-3
-60
47
22
-1
0
1
0
0
-16
54
25
-20
2
0
0
0
0
-1
5
-7
0
-1
0
0
0
0
1
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
21
-2
0
0
0
0
0
31
3
25
15
0
0
4
1
-1
21
20
-36
6
6
-3
0
8
1
-33
17
85
14
1
-8
3
8
-15
25
40
21
23
4
12
-22
22
4
-12
-42
43
30
24
4
-3
-3
-8
25
-22
1
9
12
8
3
0
2
1
-12
4
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
7
-13
0
1
0
-10
0
28
10
15
71
-31
0
-34
29
1
38
27
14
-14
-5
5
-7
-27
-38
3
40
45
-14
-20
8
-14
-35
2
74
4
13
65
-5
-9
43
32
-31
-18
26
33
44
12
5
16
41
23
14
-14
23
41
-20
7
12
-9
-2
0
-6
10
10
-6
0
-1
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
-2
-56
0
-6
1
-5
-1
7
-1
-29
55
47
-39
-5
-1
-11
16
3
23
-38
-27
13
-10
-6
57
39
9
34
25
4
-1
-30
4
1
-17
-14
50
52
-10
16
-74
-30
-14
46
11
44
-13
-16
6
-5
-14
-5
10
-16
9
54
14
6
25
-19
1
0
7
1
20
2
-7
0
1
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-12
-9
-30
11
12
12
-3
12
2
-3
-3
-10
-81
-8
8
-85
48
31
-1
-3
-12
-6
-34
31
128
-42
-13
23
-14
-22
-12
1
8
16
24
32
31
7
56
-28
25
-33
-33
-41
-4
22
-8
-11
40
-2
-20
14
-19
-6
6
-2
8
-38
14
-4
-12
3
6
0
0
8
3
13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-47
-49
-7
0
-31
5
-5
0
14
-45
-75
-33
-33
-19
-6
-4
6
-45
-9
-45
-76
-85
6
8
36
34
1
20
-14
-18
10
-45
31
15
8
33
57
19
-64
-16
3
38
-8
-4
20
-1
-33
74
16
-5
-16
1
0
0
-1
0
42
-6
-8
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-89
-42
-13
22
-2
-4
-10
-2
6
-98
2
-40
-3
-8
-20
-6
-5
-41
-18
-42
29
-29
31
-13
-9
9
45
48
-40
10
-53
-2
-4
5
-5
6
-24
14
-2
8
16
-15
0
0
0
-7
4
0
-4
-21
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
-1
19
-8
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
10
57
-1
0
0
0
0
0
0
41
45
10
1
0
0
0
0
0
32
92
-21
-2
1
0
0
0
0
61
129
-16
47
-7
0
0
0
0
9
121
22
58
0
1
2
0
0
69
5
41
-34
6
4
1
0
0
7
-8
-13
24
10
-1
0
0
0
18
18
4
7
1
0
0
0
0
-16
-5
0
-1
-3
0
0
0
0
-10
-13
0
0
0
0
0
0
0
52
-22
7
-7
0
0
0
2
0
73
55
2
-6
-3
4
1
2
4
58
48
40
33
58
-13
-47
23
8
55
31
47
60
51
46
69
3
54
57
54
55
120
10
41
77
-16
14
17
122
18
13
52
28
65
-9
-18
17
-18
75
-34
39
21
9
5
0
17
-7
-7
22
15
7
0
0
0
7
19
15
-3
-5
0
0
0
0
80
-1
-88
-3
0
0
0
0
0
54
-7
-86
18
7
-3
7
15
1
56
23
33
80
-70
17
-47
79
3
68
59
58
44
25
15
-29
-79
-119
50
64
65
43
-22
58
3
81
-38
-16
87
102
82
35
0
64
-61
49
3
53
61
122
88
102
-10
14
11
26
-57
46
133
49
-13
45
33
-43
-14
-9
-28
20
26
31
2
-5
-1
10
6
7
20
3
2
0
0
0
22
-33
-63
-10
0
3
0
11
-1
56
1
-28
-14
-43
-60
-59
24
-3
47
23
-27
-11
15
-5
-80
-53
-130
47
45
37
35
6
105
-23
7
17
25
60
43
63
29
-63
85
-54
32
21
92
85
22
-6
-3
-71
-34
20
-4
13
38
65
17
92
20
24
-36
10
93
33
0
87
79
-46
31
4
-30
8
-7
12
79
118
42
-40
1
0
13
15
1
67
-5
2
-3
0
13
-49
-82
-42
-22
-107
7
-13
-1
7
-28
-39
-31
-5
-34
-25
-48
26
28
9
-23
26
-8
14
18
29
-38
28
32
2
-18
-48
9
77
-46
4
7
34
38
-6
-7
-26
-2
-104
-2
7
16
20
21
-21
-37
-23
1
58
27
49
56
26
-4
-7
-27
-46
66
-43
167
48
22
38
18
-26
-26
-27
-29
67
4
19
67
-17
32
-3
0
0
-2
0
-6
40
-23
0
3
0
15
-65
-156
-90
4
15
-93
-36
-47
-25
-72
-118
-102
-62
-21
4
-59
38
-13
-28
-28
-72
39
14
16
-38
78
-1
0
-17
0
-53
-33
15
-5
15
-11
19
-1
-11
8
-67
-22
68
21
-16
55
-11
40
-36
-13
-65
-38
34
19
0
12
20
-13
8
-58
55
48
-46
12
50
-8
-40
38
99
25
0
0
-6
4
22
23
-18
1
6
0
0
0
0
-1
-2
-2
0
0
0
-24
-73
-49
-19
-33
-35
4
11
9
-52
-68
-154
-16
-57
22
-128
79
-26
-41
-65
-35
-40
-87
-51
51
-40
7
-46
-39
-14
-20
-1
-64
-14
-73
34
-22
24
51
-48
-59
-22
-11
-55
-17
-27
11
-30
22
-7
3
-18
23
19
-65
55
0
30
-50
7
3
55
-3
-1
8
13
-74
-55
78
-6
2
0
0
0
0
23
-21
16
0
0
0
0
0
0
0
0
-1
0
0
0
-56
17
-34
-12
-21
-21
-2
-103
-2
-55
-83
-11
-20
-10
-12
-76
-89
-16
-62
-86
-43
7
-50
51
-115
-35
-19
-14
-42
-2
-78
-137
-51
-82
-5
59
-28
25
13
-55
-56
28
-19
-39
3
13
2
-9
-38
7
-42
36
-49
0
0
-3
-8
28
29
-4
4
-4
0
0
0
0
-10
13
-20
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
-1
25
-9
0
0
0
0
0
0
-8
13
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
-4
-1
0
0
0
0
0
0
26
-25
9
1
0
0
0
0
0
64
69
-64
-2
1
0
0
0
0
26
33
-2
61
-7
0
0
0
0
41
58
12
68
-1
1
2
0
0
104
72
31
-33
5
4
1
0
0
34
-7
-11
28
13
-2
0
0
0
30
3
-4
6
0
0
0
0
0
-17
28
2
0
-3
0
0
0
0
18
-61
5
0
0
0
0
0
0
2
68
-28
4
0
0
0
2
0
36
-83
68
20
-3
4
1
2
4
34
11
73
-21
79
-6
-50
26
-21
46
40
22
-24
83
53
45
15
39
-57
100
47
124
24
-4
113
5
40
21
79
93
35
78
58
50
-36
9
94
18
42
56
-11
30
25
8
-3
3
102
-10
76
22
14
1
0
0
-16
-27
-7
17
-20
0
0
0
0
10
-39
-48
-3
0
0
0
0
0
-11
-27
-78
4
7
-3
7
-8
0
31
-61
-4
61
-65
11
27
37
14
29
13
20
48
-1
8
-37
-82
9
36
35
49
69
-4
39
16
8
33
44
74
20
36
65
127
89
2
70
12
98
75
45
89
55
1
26
9
9
31
28
82
22
1
25
51
-11
-24
19
27
-14
16
82
33
5
1
-28
3
5
17
59
47
0
0
0
0
-25
-23
-27
0
3
0
-10
-1
-9
-66
-23
-29
-54
-43
-34
-13
15
8
-12
-1
-9
-45
-17
-15
-14
-94
23
9
5
11
21
71
-2
-30
-31
24
16
16
14
19
31
51
42
35
22
46
39
33
24
16
25
10
80
-15
72
37
21
-3
7
76
47
-20
3
90
76
31
34
31
7
17
57
-49
58
-21
100
50
63
40
11
1
-1
25
6
47
-5
50
2
-29
0
-2
23
-54
-10
-23
-9
2
-38
-1
-43
-47
-155
-83
-57
-19
-16
-29
95
-6
-50
-54
3
-39
22
-48
51
-60
2
16
23
-14
25
-82
-37
-50
4
16
7
-9
-11
7
-31
16
-85
33
-30
0
34
11
-13
24
-54
17
-2
-9
43
5
0
4
32
27
16
50
-70
96
31
41
46
7
-32
-15
17
-95
70
21
-10
83
1
48
35
0
0
-2
0
-11
73
-60
0
3
0
-10
55
-150
-15
7
-1
-7
4
0
-54
-88
-9
-71
-56
-23
-18
0
21
-4
-42
-17
-11
21
-20
-4
-80
-38
-12
3
-19
-2
-50
-3
-59
1
-38
2
0
5
7
-8
-107
37
-22
7
3
-4
17
22
-34
-25
19
-52
17
-24
-37
7
11
-27
-1
-6
37
76
-68
77
88
-10
10
8
22
18
0
0
-8
5
54
70
-2
0
21
0
0
0
0
-4
10
8
0
0
0
60
53
-110
-48
-19
0
-1
-3
-8
-5
-9
-73
-16
-32
-11
-39
-30
19
7
-25
-76
-48
-84
34
-17
-76
-89
7
-41
-46
19
-25
-91
-33
-41
-38
-60
19
12
26
-85
-73
-28
-37
9
-120
35
40
24
14
13
-22
-12
18
-109
19
13
37
-78
18
29
-5
3
-1
15
-8
-52
-46
-16
2
52
0
0
0
0
19
-32
22
0
0
0
0
0
0
0
0
-1
0
0
0
-7
-9
-18
-3
-5
-8
2
-7
-2
-1
129
-103
-29
-27
-69
-46
-50
0
44
33
-25
-47
-51
24
-116
-75
-41
-26
15
-66
-80
2
-54
-101
-80
33
-61
47
-25
-42
-28
76
-33
-31
-60
9
54
-12
-1
-46
-61
-26
3
1
0
-5
-28
83
36
-2
-37
-1
0
0
0
0
-45
1
-7
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-16
-6
0
0
0
0
0
0
0
-29
32
7
0
0
0
0
0
0
2
-4
6
3
-2
0
0
0
0
14
-19
20
8
1
0
0
0
0
69
-8
-3
-3
-1
1
0
0
0
46
16
-1
5
0
0
0
0
0
16
-19
-8
8
4
0
0
0
0
-7
2
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-17
16
6
0
-1
1
0
0
0
10
18
-5
-3
8
1
-1
0
0
26
-6
-7
11
19
15
0
8
0
-4
69
3
4
-2
-5
4
-5
0
54
-4
6
48
-31
10
21
-2
1
-28
16
23
30
22
37
4
0
0
-13
-8
-7
-1
31
10
0
-1
0
7
11
-2
2
4
0
0
0
0
0
1
0
0
0
0
0
0
0
12
8
-13
-4
1
0
0
0
0
49
-17
-19
0
-2
0
-1
1
0
-36
-12
73
-11
-11
-2
2
2
6
-15
4
-36
30
-3
-5
7
-5
25
-40
20
65
15
48
37
5
23
6
47
-25
-6
-5
-15
28
-16
20
-2
29
40
-32
4
19
-32
11
-6
1
-5
15
12
4
10
22
12
3
0
8
8
0
-26
27
-5
0
0
0
-8
-6
0
0
0
0
0
0
0
-19
-28
2
-1
0
0
0
0
0
2
-77
-14
-6
-18
8
-8
3
-5
13
-14
9
29
6
-42
10
-5
-29
11
48
25
29
-54
-23
-13
-10
-9
-3
51
-13
-14
0
-2
1
11
46
-43
79
-50
-2
-3
4
48
8
6
-39
17
-4
-2
39
3
-5
2
-1
8
-12
-36
3
48
2
9
0
0
0
17
8
10
15
6
1
0
0
-1
-1
0
0
0
0
0
0
0
-61
2
-30
-8
0
0
0
0
0
-10
-32
18
-15
-9
-10
-3
-10
-5
7
18
-17
68
-15
-28
-14
-2
-25
36
-1
17
29
-12
-21
29
14
-22
48
-25
51
-32
-2
26
-7
0
2
1
-36
3
-15
8
45
-32
34
2
-7
17
-16
36
14
-2
15
-25
0
-14
14
-34
0
5
-10
8
2
0
-1
-3
0
-7
26
-24
0
0
0
-7
-4
0
0
0
0
0
0
0
20
-32
5
-2
-8
0
0
1
0
-40
-26
-48
-7
12
-1
-5
-5
-1
10
-14
-27
2
-2
24
-8
-2
-24
-5
63
-1
-5
-12
-10
35
-9
0
-53
5
-47
28
59
-11
-5
4
25
-66
-9
-3
24
-29
41
4
-10
7
-11
-29
36
15
-20
12
-7
0
0
0
-5
9
41
39
-13
-1
0
0
0
0
0
1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
10
-36
-1
-2
0
1
0
0
-17
70
-12
-40
-46
0
-8
-10
-1
67
60
-59
-22
-50
-40
-26
-7
-2
-45
33
-25
28
12
19
-8
2
0
-14
-43
62
53
-54
68
7
-10
1
-15
17
-2
-32
-2
1
14
1
-2
-1
4
7
9
-40
-16
0
1
0
0
0
0
8
-12
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
-14
-1
-10
-4
0
0
0
0
0
30
1
-20
-3
-22
-25
-3
-1
-1
31
-91
3
70
15
-19
-1
-7
2
-8
1
46
-5
-8
54
-10
0
-1
7
24
6
-3
-7
-11
-16
0
0
0
0
3
5
-2
-16
0
-2
0
0
0
0
-12
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-10
26
76
-32
96
-47
-8
13
11
-12
22
6
-38
-4
-31
6
-37
-12
31
27
23
19
20
6
14
0
65
98
-24
6
39
28
31
-23
53
-14
-37
23
21
-15
45
41
-42
1
59
119
153
226
62
78
35
81
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
68
11
41
20
64
87
-57
13
-28
-21
-14
-2
19
-6
69
42
48
0
28
-1
-10
17
10
2
-6
-5
72
-45
-7
25
35
-11
119
-6
70
79
-48
22
10
-90
75
32
38
-30
102
88
-18
-38
133
49
81
16
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-24
18
-37
23
66
-25
-17
-2
1
-79
-19
-6
-23
42
49
76
0
14
-2
-9
16
7
0
-6
-6
30
-8
-41
50
8
27
77
-1
3
41
-6
2
9
-40
18
35
-15
-13
90
42
-104
-48
70
32
43
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-5
0
0
0
0
-7
-5
13
-8
16
24
1
1
0
0
0
0
0
0
0
0
0
0
2
-1
4
4
2
0
1
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-245
-12
95
0
-2
-34
0
2
4
-8
-65
8
-75
-41
-49
-167
-55
25
149
65
47
-32
-48
-102
47
-154
28
-10
3
-9
-8
44
-36
19
-40
38
-23
-103
35
-17
-64
-11
68
-36
148
-107
-58
-117
-55
-6
16
54
65
-43
-30
-59
137
-106
-98
-30
-55
25
21
-8
33
-15
2
-68
-71
-77
4
-31
2
17
0
0
0
0
0
-31
52
3
75
74
33
22
-1
-48
-3
20
-14
12
-8
64
0
-10
50
18
-9
-24
-53
65
-101
49
14
27
5
-60
9
-30
4
25
5
0
-12
16
19
0
-30
-12
-6
9
-5
12
17
-34
-48
22
23
44
-42
-10
-37
-46
-67
-32
15
4
-19
8
33
-53
13
18
-42
-48
19
31
36
0
0
0
0
0
0
0
0
0
0
-27
-92
-26
45
-32
-2
-54
0
5
19
-20
-60
-25
11
-13
-25
-18
-6
-5
-10
-24
-49
81
13
-118
5
-59
11
-16
-43
27
87
-10
-6
-12
-23
-72
-18
-48
-27
-78
-39
19
-6
-31
44
-58
-41
-29
-95
-10
55
17
1
21
19
-25
-49
-20
-55
-12
2
15
-70
-2
-45
-11
20
-34
-14
-20
-21
-24
-7
-5
0
0
0
0
0
16
51
46
17
34
64
-47
27
-25
32
8
-2
-57
20
59
0
-10
78
-4
8
-8
-12
117
-31
3
-7
-29
-3
1
-45
-27
35
-58
-7
-42
-44
-15
-14
6
13
-12
6
6
-7
-24
-11
98
-16
-10
-6
20
-41
-73
23
17
-45
43
10
10
13
43
8
-89
-60
67
80
-36
-3
-2
-28
0
0
0
0
0
0
0
0
0
0
-3
-49
4
8
-10
-2
-36
2
4
13
-20
-41
-48
105
-25
-3
37
-43
10
-18
30
-33
-18
-21
-36
-58
50
-99
5
-2
30
49
28
-6
-23
7
-50
-26
17
-59
-32
-34
8
2
9
-3
17
39
-34
-30
20
30
4
17
36
19
12
16
-111
-43
-9
10
-34
-20
41
-28
-42
26
67
39
-17
6
18
-1
28
0
0
0
0
0
37
72
-52
-22
63
14
-27
-8
21
10
21
-70
-7
60
12
-3
20
-2
33
28
12
2
55
-12
-33
-49
-57
-26
97
70
102
34
-58
-16
-62
-41
32
-15
12
34
1
9
-13
12
-32
31
-2
13
-75
3
-61
-29
30
81
-27
-61
-80
76
-34
90
55
52
-9
-37
21
6
-63
1
23
22
0
0
0
0
0
0
0
0
0
0
0
-13
-1
13
4
0
1
-1
5
0
1
4
-22
5
0
0
9
14
-5
1
0
-13
-26
-23
-4
0
13
-33
14
5
2
11
8
8
-6
2
6
0
22
17
4
-26
41
31
20
-22
-7
18
17
0
43
25
34
-9
-2
2
-3
21
-42
-7
3
0
1
3
-14
-3
9
13
17
24
-5
-38
-14
13
56
0
0
0
0
0
4
2
4
-43
32
-2
-1
-2
-19
0
-6
-5
-1
30
-6
0
18
32
-15
-6
1
13
8
13
-15
4
-13
-9
-19
42
9
44
-47
-9
10
-12
3
31
-21
-23
38
45
-34
-31
-31
-33
-8
-8
-3
-4
-19
-1
24
1
6
2
3
14
-4
-30
-9
0
34
9
-16
8
2
-8
-5
-7
-1
-8
-7
2
6
1
8
7
-2
-5
-2
-1
0
2
9
6
1
0
-2
-9
0
-4
-3
3
-1
2
4
3
-3
1
-9
-1
3
4
11
15
8
-1
-1
0
2
2
2
-1
0
0
0
1
0
-10
-5
-7
-4
3
-8
15
-9
10
-2
-7
-2
0
4
4
12
30
49
-9
-2
-5
9
0
10
14
1
39
-1
-1
0
2
-1
2
1
1
-2
4
3
3
1
-2
-4
-12
-38
-32
5
-7
-7
-3
0
3
12
32
50
-10
-5
1
2
4
-1
7
5
-8
2
4
-3
1
1
-4
0
1
-1
4
0
0
-3
-2
-11
-22
-31
-41
-3
-14
2
0
4
6
12
19
15
-11
1
2
-1
-3
-1
-3
16
14
17
1
-12
10
1
2
-8
5
0
7
0
-1
-27
-37
-4
-2
5
-8
2
24
19
2
-10
-12
34
42
40
4
-10
3
20
28
20
-5
-42
-17
-29
-8
-223
-48
-536
-185
-302
-93
-76
-68
-74
-19
-100
32
-300
42
-99
43
-52
37
-53
-17
2
129
7
34
-27
56
26
5
0
0
-7
1
-19
-24
-52
-49
-19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-18
-5
0
0
15
13
-16
4
-17
-12
0
0
-48
-29
-9
-7
-156
-41
0
0
79
50
0
0
0
0
0
0
0
0
1
0
-8
-1
0
0
-29
3
-124
-12
-76
-27
0
0
-16
-16
-4
8
-25
-17
0
0
-73
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-173
-66
-74
1
0
0
-60
0
-20
-16
-106
-31
0
0
-248
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-354
-136
-357
-151
0
0
-140
-84
-5
-37
-185
-95
0
0
-263
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-483
-80
0
0
-245
67
-440
-83
-289
-145
0
0
-717
-169
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-162
-72
0
0
-234
-73
-206
-23
-347
-196
0
0
-430
-182
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-133
-20
-101
10
-63
-51
0
0
-115
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
-165
-27
0
0
-90
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-236
-122
0
0
-108
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
0
24
13
0
0
-74
-41
-69
-40
0
0
-28
-27
-32
-42
-60
4
-122
-74
0
0
0
0
0
0
0
0
0
0
1
0
-8
-3
-1
-10
0
0
-41
-22
-63
-65
0
0
-13
-13
5
16
-51
-25
21
31
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
9
0
0
-33
-8
-74
-28
0
0
-46
8
-33
-7
-9
-8
-39
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
0
0
-443
-139
-208
-122
0
0
-211
-58
-131
-7
-114
-97
-50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-390
-152
0
0
-155
-80
-206
-118
-264
-111
-288
-243
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
-102
0
0
-219
-57
-220
-220
-61
-22
-176
-150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-150
-128
-43
54
-240
58
-83
-124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-61
-214
-68
-180
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-20
-180
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
48
54
-44
1
0
0
30
43
-132
-44
-81
-3
0
0
9
10
68
17
-4
34
0
0
-49
-54
0
0
0
0
0
0
0
0
13
4
-25
-22
0
0
-55
-3
-227
-11
-51
-60
0
0
-126
61
96
-86
-16
30
0
0
-69
-8
0
0
0
0
0
0
0
0
0
0
25
25
0
0
-40
15
-194
-119
46
4
0
0
-14
27
-110
27
-32
-6
0
0
-99
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-629
-223
-103
-47
0
0
-102
-28
-69
16
-125
-13
0
0
-141
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-498
-107
0
0
-135
-31
-269
-17
-364
-49
0
0
-643
-196
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-34
0
0
-71
46
-90
16
-58
103
0
0
-329
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
-14
-83
61
0
0
-111
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-149
71
23
31
0
0
-65
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-65
0
0
-270
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-156
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-14
-69
-28
83
12
26
2
0
0
-101
-78
-79
-28
0
0
-106
-22
-130
36
-10
57
-35
-44
0
0
0
0
0
0
0
0
0
0
20
-4
12
21
-28
73
0
0
8
-30
41
-87
0
0
-43
-36
62
70
-82
-14
-135
20
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-22
11
0
0
-92
-27
-6
-25
0
0
8
1
-67
10
-31
-19
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
131
0
0
-447
-125
-187
-49
0
0
-117
-75
-86
-65
-67
-42
-51
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-253
-122
0
0
-117
-24
-191
-78
-182
-17
-320
-200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-84
0
0
-108
17
-150
48
-75
-11
-169
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-123
11
-85
52
-77
-19
-170
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-130
63
-56
39
-65
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-12
-89
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-145
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
25
54
-33
-9
0
0
-21
-21
-135
-55
-132
37
0
0
-9
65
11
-29
41
33
0
0
-20
-24
0
0
0
0
0
0
0
0
7
4
-27
-24
0
0
-33
-14
-35
106
37
67
0
0
-42
-46
9
-17
23
12
0
0
-18
-22
0
0
0
0
0
0
0
0
0
0
25
20
0
0
24
50
20
-58
-79
43
0
0
18
62
-27
49
-25
-54
0
0
11
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-335
-51
-28
181
0
0
-89
-33
-122
-54
73
114
0
0
-74
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-165
36
0
0
-100
50
-77
51
-149
44
0
0
-243
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
21
0
0
-54
-6
39
-40
-3
-35
0
0
-45
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
-10
-21
-46
41
0
0
-91
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-9
4
0
0
-70
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
73
0
0
70
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-129
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-13
-53
4
80
13
-39
5
0
0
-58
13
-33
37
0
0
-44
-36
-40
-32
-35
0
38
36
0
0
0
0
0
0
0
0
0
0
82
-33
8
14
-74
12
0
0
-45
2
15
36
0
0
-50
-22
88
-43
-60
13
-31
27
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-37
11
0
0
-111
3
-47
67
0
0
-75
34
48
50
-25
-84
3
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
32
0
0
-272
58
-61
33
0
0
28
-33
7
59
30
-16
44
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-220
77
0
0
-133
46
-115
75
-175
100
-165
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
33
0
0
30
-14
44
-6
8
4
-43
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
35
-2
-6
23
35
-24
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
44
-20
2
-32
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
35
-9
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
0
0
0
-5
-7
-54
-21
-44
-13
0
0
-7
4
5
7
2
-4
0
0
-29
-13
0
0
0
0
0
0
0
0
4
1
3
-1
0
0
2
3
-27
-6
-11
15
0
0
-1
1
12
33
41
-8
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
10
24
3
-66
-27
0
0
31
9
-24
10
-6
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
110
72
-4
54
0
0
-55
-87
71
21
19
9
0
0
24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
18
0
0
49
49
-26
-24
-17
9
0
0
98
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
7
0
0
22
58
-109
-16
-16
-2
0
0
48
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
17
38
-12
12
17
2
0
0
-37
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-5
-18
0
0
-39
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
36
0
0
84
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
2
1
-2
-30
-25
0
0
8
10
7
2
0
0
-15
-12
-47
-8
28
14
0
-4
0
0
0
0
0
0
0
0
0
0
7
3
14
3
-2
-3
0
0
4
-15
-9
12
0
0
30
9
41
24
-50
-21
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
0
-40
-30
-16
-1
0
0
-34
-16
18
12
-25
-8
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
0
0
63
52
19
35
0
0
-11
-7
65
38
-104
5
24
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
66
0
0
-35
22
-19
124
-63
21
9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-5
0
0
-68
17
-96
0
6
-5
53
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-14
48
-33
-7
-6
42
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
16
20
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
11
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-40
6
23
-10
-38
69
14
87
11
16
0
86
-11
64
-19
-33
-1
0
-32
-68
27
-33
42
41
14
0
0
0
0
0
0
44
-39
16
13
-11
70
-5
5
-20
9
-4
0
39
62
34
25
61
78
9
41
5
38
16
-6
2
-36
0
0
0
0
0
0
24
-54
2
-3
-6
23
32
-23
5
0
1
0
-14
-18
39
-55
2
-42
10
-36
17
-42
66
13
60
-77
0
0
0
0
0
0
-14
-1
5
21
1
-11
34
-83
-18
-30
11
0
32
-9
22
-7
6
57
-2
26
-52
-13
-16
18
47
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-8
-4
-24
0
0
-3
-4
0
0
0
0
0
0
-7
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-21
-29
-36
-12
-114
-2
0
0
0
0
0
0
-244
-151
-58
-31
-155
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-8
-70
-69
0
0
0
0
0
0
-80
-54
-32
-8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-319
-46
0
0
0
0
0
0
-207
-8
-281
-47
-315
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-158
-148
0
0
0
0
0
0
-225
-16
-346
-89
-211
-129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
-65
-241
-73
-171
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
22
-169
-151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
0
0
0
-6
0
0
0
0
0
0
-14
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-97
0
0
0
0
0
0
-94
-139
-10
-12
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-68
0
0
0
0
0
0
-61
-57
-31
-5
40
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
20
-36
7
15
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-44
-121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-44
51
-74
19
-1
0
-6
-35
0
0
0
0
0
0
27
33
38
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-152
-15
-121
-71
-338
-99
-91
65
0
0
0
0
0
0
-104
-5
-127
-26
-165
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-189
-49
-144
-35
0
0
0
0
0
0
-119
-21
-160
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-388
-22
0
0
0
0
0
0
-268
78
-310
-100
-361
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-195
14
0
0
0
0
0
0
-131
-18
-162
75
-160
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
25
-116
19
-174
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
12
-126
165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-7
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
25
34
9
-5
-47
-19
0
0
0
0
0
0
-21
24
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
14
-20
0
0
0
0
0
0
5
-15
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
-68
0
0
0
0
0
0
-111
-74
-72
44
-22
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-52
0
0
0
0
0
0
-15
15
-43
3
-57
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-67
-70
22
-63
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
22
-37
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
-53
-68
1
24
-1
0
21
13
0
0
0
0
0
0
46
45
-6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-14
-31
-33
-327
-80
-19
120
0
0
0
0
0
0
-82
-64
-12
-10
-79
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-174
-70
16
42
0
0
0
0
0
0
-120
0
-60
-27
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-123
63
0
0
0
0
0
0
-117
58
-147
-12
-210
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
56
0
0
0
0
0
0
-24
43
-75
14
-69
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
67
-42
-25
-82
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-14
39
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-8
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
21
23
16
-8
-41
-48
0
0
0
0
0
0
-36
-1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
10
13
0
0
0
0
0
0
29
-15
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
19
0
0
0
0
0
0
-40
34
-35
-56
-19
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-21
0
0
0
0
0
0
2
-79
9
41
-55
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
47
-14
28
23
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-89
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-3
6
0
0
1
1
0
0
0
0
0
0
4
8
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-5
-6
-1
14
13
0
0
0
0
0
0
-6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
7
0
0
0
0
0
0
-6
-14
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
67
0
0
0
0
0
0
18
59
-7
-10
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
29
0
0
0
0
0
0
-9
26
12
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-4
-8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
17
0
0
0
0
0
0
-21
16
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
-19
0
12
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
-6
-3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
2
0
0
0
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-62
-21
0
-2
0
0
8
-23
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
0
-4
5
0
0
-8
0
3
0
0
5
0
0
0
-24
-4
0
5
-23
3
0
-3
-2
5
0
0
-3
0
0
0
-15
7
0
-4
-22
1
9
0
15
-5
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-17
10
0
2
0
0
0
-1
2
-8
0
0
5
0
0
0
-18
-8
0
2
0
-12
0
0
-1
1
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
12
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
16
15
0
-2
0
5
4
-6
18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
0
0
1
0
0
3
-4
0
0
0
0
0
0
0
0
81
0
-17
4
2
0
-6
-1
-4
0
0
-4
0
8
0
24
-106
0
-5
-2
-9
-8
3
26
2
0
0
1
0
0
0
0
6
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
-4
7
0
-1
-6
0
0
0
-5
0
0
0
0
0
0
0
8
-6
0
2
-4
0
0
-1
1
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
8
6
1
-7
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-10
0
0
0
0
0
0
2
-3
0
-12
0
0
0
-1
-1
-24
0
0
0
0
0
0
0
1
0
-14
0
0
0
0
3
-29
0
0
0
0
0
0
0
-19
0
-2
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
-1
-15
-2
0
0
21
-6
21
11
81
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
41
27
0
4
12
6
-10
-10
-24
-17
0
0
24
19
-1
8
-30
68
0
26
45
15
14
93
-83
27
0
0
32
-8
-6
8
-9
31
0
-85
-8
5
23
1
28
16
0
0
-10
0
0
0
2
9
0
-2
28
0
25
5
12
-69
0
0
13
0
0
0
-26
3
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
12
0
0
-2
0
-2
8
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
-4
1
22
29
0
0
0
13
-2
8
75
-13
0
0
32
5
0
2
30
-7
0
-3
46
4
-1
-31
12
-1
0
0
3
0
3
0
3
-8
0
3
0
1
-4
3
-31
-57
0
0
0
0
0
0
0
13
0
0
0
0
0
-3
0
1
0
0
22
0
3
0
7
0
0
3
-1
0
0
3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
62
0
1
-3
0
-6
24
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
-2
0
0
0
3
0
0
0
-4
0
0
0
-16
16
0
24
0
-2
0
1
1
-19
0
0
7
0
0
0
-13
30
0
0
-8
0
-8
0
-32
43
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-2
-3
-14
0
0
14
0
0
0
0
4
0
0
0
0
0
0
-5
1
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
-10
3
-27
18
0
-1
2
5
-59
-29
-3
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
2
-35
0
2
-7
0
-1
7
-29
6
0
0
-11
-5
0
-2
38
26
0
-14
-1
5
-30
-59
-30
43
0
0
-90
0
1
5
-49
-3
0
8
53
9
0
-53
17
-18
0
0
-5
0
-2
0
-19
40
0
-3
-3
0
-13
30
8
58
0
0
0
0
0
0
10
-4
0
-25
1
0
6
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
3
0
0
-8
0
-5
-13
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
13
1
-30
39
0
0
-7
0
13
0
12
-4
0
0
4
0
1
0
-58
2
0
8
-26
0
0
-11
-10
-97
0
0
6
0
2
0
-8
0
0
-15
-18
0
-5
0
9
-18
0
0
-4
0
0
2
0
-6
0
-8
0
0
0
-12
0
15
0
0
-10
0
2
0
-24
-1
0
8
-13
0
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
47
0
0
16
10
6
-1
-12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-34
89
0
0
-1
0
0
-2
-7
43
0
0
71
0
0
-1
-40
27
0
-40
-23
19
1
58
-42
-75
0
0
23
0
0
8
28
-21
0
-3
-11
1
-20
-11
-26
-38
0
0
2
0
0
0
-19
-7
0
-2
-12
0
0
-1
-2
-70
0
0
25
0
0
0
-73
-17
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
2
3
0
0
3
0
0
-1
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
12
17
0
0
1
1
0
0
-90
-2
0
0
28
0
0
0
-18
8
0
-2
16
0
0
-8
-5
-46
0
0
5
0
0
0
-13
5
0
-1
-1
0
0
0
2
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-13
0
0
0
23
1
0
-5
-3
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
-2
0
-7
0
0
0
-19
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
1
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-1
-1
-32
48
0
-3
-8
-13
-55
-9
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
7
39
0
-7
-12
5
8
16
22
-6
0
0
-40
7
0
0
5
91
0
91
26
14
13
41
-4
23
0
0
7
-2
17
0
-25
26
0
-51
-4
0
15
-3
-22
18
0
0
4
0
0
0
-5
29
0
-16
1
1
2
8
-6
-14
0
0
-2
0
0
0
-48
-34
0
-3
0
0
0
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
6
-4
0
0
-8
-4
-3
-3
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-5
-1
-57
0
-2
-9
1
0
12
39
23
0
0
33
0
0
-3
73
8
1
13
32
6
0
-16
1
27
0
0
-8
0
0
0
-16
10
0
8
1
0
-1
0
3
4
0
0
0
0
0
0
0
-3
0
6
2
0
0
0
0
-2
0
0
-22
0
0
0
2
3
0
-1
-2
0
0
-17
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
2
0
-11
16
0
4
-5
6
0
-16
-36
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-12
0
0
7
0
0
-5
32
1
0
0
-5
1
0
3
-18
67
0
32
-2
-17
-3
9
-30
21
0
0
5
1
-5
0
7
-16
0
57
9
0
-21
-27
-27
5
0
0
-1
0
0
0
0
-19
0
0
0
0
0
-2
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
1
0
1
8
0
0
-6
-42
-4
0
0
38
0
0
-3
6
0
-3
3
-17
0
0
4
3
22
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
-3
7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-9
-8
0
0
0
0
0
0
0
5
0
0
8
0
0
0
0
0
-5
0
0
0
0
0
0
-2
-7
0
2
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-10
-2
2
0
-51
-16
-39
-93
-22
20
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-14
43
0
5
-28
-17
-10
-13
-54
-13
0
0
55
100
-1
-5
26
-22
-1
-11
-6
-18
-41
25
-161
125
0
0
-29
-8
-1
32
88
43
3
-63
-54
3
-30
22
-83
4
0
0
-13
0
-1
14
59
8
-3
9
40
1
-2
-24
-9
-4
0
0
13
0
0
0
-67
0
0
-7
0
0
3
-12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
2
0
22
-8
0
1
-18
0
0
-34
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
-5
-2
23
0
-16
-34
-27
-6
15
57
3
0
0
-61
6
6
-3
-30
15
0
-23
23
14
0
37
-41
-12
0
0
3
0
-3
0
49
-3
0
-22
-34
2
-2
1
2
-4
0
0
0
0
0
-1
0
1
0
3
-1
0
0
8
0
-17
0
0
17
0
0
3
58
0
0
-1
7
0
-6
-33
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
-3
0
0
0
0
-2
0
-33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
0
-6
0
0
0
-9
-1
3
0
0
4
0
0
0
13
18
0
-8
0
0
3
0
-32
10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
8
6
0
-1
0
0
0
0
-1
-8
0
0
2
0
0
0
-1
-1
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
29
0
0
0
0
2
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
42
-1
-2
0
0
0
0
0
0
2
8
0
0
0
0
4
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-9
0
0
0
0
0
0
8
-1
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
15
12
0
0
-2
0
-9
5
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
-2
1
0
0
-3
0
0
4
8
-10
0
0
0
0
0
0
10
0
0
-1
0
0
-9
0
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-23
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
-22
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
-46
0
2
0
0
0
0
-16
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
31
0
-1
-6
-2
-8
4
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-25
20
0
-2
2
0
0
2
24
6
0
0
1
0
0
0
22
5
0
-5
1
0
0
13
4
-3
0
0
9
0
-2
0
8
-17
0
22
6
7
-7
9
27
-70
0
0
0
0
0
0
0
-5
0
-4
0
0
0
-1
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
-5
-2
0
0
2
0
0
0
5
19
0
0
8
0
0
0
-4
-6
0
0
8
0
0
-1
0
-2
0
0
0
0
0
0
3
0
0
1
-5
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
-19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
-2
0
0
1
0
0
0
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-12
0
0
-8
0
0
0
-1
31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
1
0
0
-2
0
0
0
2
2
0
0
0
0
0
0
44
13
0
3
-3
0
0
52
4
7
0
0
-6
0
-1
0
-19
-32
0
14
-3
1
7
0
-50
18
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
-29
-20
0
0
4
0
0
0
-8
8
0
0
4
0
0
0
-25
-5
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
4
0
0
0
0
-2
2
-11
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-7
0
3
0
0
0
-3
8
-4
0
0
0
0
0
0
-1
-18
0
1
-6
0
-3
0
28
1
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
-47
0
0
0
0
0
-1
-11
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-1
0
0
8
0
0
-3
27
-3
0
0
0
0
0
0
-17
0
0
-1
4
0
0
-63
5
-7
0
0
21
0
0
0
33
8
0
2
7
3
4
0
-14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
14
-2
0
0
-14
0
0
-1
-8
3
0
0
5
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-20
-20
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
9
0
-1
0
5
1
4
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
29
31
0
8
15
-4
0
-16
48
-16
0
0
5
0
0
0
9
-5
0
-13
0
0
23
0
-28
-7
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
45
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
16
-25
0
0
0
0
0
0
-10
-8
0
0
-6
0
0
0
2
-2
0
0
-13
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-3
2
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
6
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
20
0
0
0
0
0
0
8
3
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
7
0
0
0
0
8
8
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
6
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
41
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
-7
0
0
-6
0
19
-1
35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
92
6
0
18
-5
0
0
5
14
-10
0
0
0
0
0
0
6
-1
0
-4
5
0
2
0
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-21
0
0
0
-13
0
0
0
-3
-1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
41
-16
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-57
-2
0
-1
2
-7
-33
-21
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
-13
-30
-3
-25
-22
5
2
0
0
-2
0
0
0
1
18
0
-9
-6
-2
4
17
40
3
0
0
-6
0
4
0
-15
-31
0
-8
10
-23
-52
1
-32
6
0
0
0
0
0
0
0
-26
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
5
-3
-1
0
-2
3
0
0
10
-9
2
0
0
-1
0
0
0
-1
-32
0
-6
-2
0
0
-3
0
0
0
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
2
0
-4
0
0
5
-13
-22
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
-5
0
3
5
0
0
-25
3
-6
0
0
-3
0
0
0
-14
-4
0
-86
-9
2
2
-1
-23
4
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
1
0
0
0
0
0
0
3
-1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
-4
0
0
-4
0
0
0
-9
-3
0
0
-4
0
0
0
2
24
0
3
0
0
0
2
-1
22
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
-1
0
0
0
24
-1
34
0
0
0
0
0
0
-3
-5
0
1
0
0
0
0
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
-1
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
3
2
0
0
-9
0
5
0
0
0
0
0
0
2
21
0
-4
0
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
-7
5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-9
1
0
10
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-8
0
-13
0
0
0
0
0
0
-3
2
0
2
0
0
-58
0
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-59
0
0
0
0
-6
13
-9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
-3
0
0
9
10
8
0
0
1
0
0
0
-5
1
0
5
2
0
0
15
12
3
0
0
0
0
0
0
10
-7
0
4
-1
0
-6
8
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
-13
0
0
-2
0
0
-1
-4
-3
0
0
0
0
0
0
0
6
0
-1
0
0
0
-22
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
23
0
0
0
0
0
1
8
-7
0
0
0
0
0
0
0
1
0
-2
0
0
-15
0
57
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
8
0
0
-1
0
0
0
-5
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-32
-19
0
2
19
-5
5
4
-11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-43
-14
0
0
8
0
-2
-1
-21
11
0
0
0
0
0
-1
14
-28
0
3
-34
5
-8
29
10
44
0
0
8
0
0
0
-97
-75
0
44
-31
8
-43
-8
0
24
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-5
18
0
0
1
1
0
0
0
-34
-2
0
0
-24
0
0
0
48
-9
0
19
10
0
0
22
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-29
1
0
1
0
1
0
-5
0
0
0
0
0
0
0
0
-31
6
0
3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
1
0
1
0
17
8
0
0
0
0
0
0
0
2
10
0
5
0
0
5
0
-7
16
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
8
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
0
0
0
0
14
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
14
0
0
0
1
0
8
6
0
0
0
0
0
0
0
-1
-8
0
0
0
-2
2
0
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-8
-14
1
1
-2
0
3
-12
-43
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-11
-29
0
17
15
-14
3
46
-10
-45
0
0
152
6
0
1
-16
6
6
-9
-26
10
-5
-54
-48
-19
0
0
114
0
-3
1
-34
-34
4
5
-2
3
-16
-2
-57
10
0
0
89
0
0
0
-8
5
0
-5
-2
0
-5
-2
-19
-3
0
0
38
0
0
0
15
-2
0
2
0
4
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-13
1
5
2
-8
-21
-8
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-13
-8
6
-6
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-6
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
4
6
-84
-59
-1
-7
-15
-8
-2
-22
3
-53
0
0
-60
0
-2
-3
-20
5
3
4
22
-2
-5
3
-24
-67
0
0
18
0
1
0
1
1
0
-19
-32
6
-20
-6
4
-25
0
0
3
0
0
0
0
-2
0
1
-25
0
0
1
0
-4
0
0
27
0
0
0
-10
0
0
-5
-8
1
-2
-8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
13
0
0
14
1
0
0
-1
0
0
-1
6
-6
0
0
0
44
0
0
2
0
0
-5
0
0
-8
0
-15
-8
0
0
0
22
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
3
0
0
0
0
1
0
0
0
-8
0
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-10
-8
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-3
0
-3
-6
0
0
3
25
-17
0
0
7
0
50
0
-17
-8
0
0
7
0
0
31
26
-31
0
0
4
0
115
0
-8
-1
0
-1
0
-4
-2
1
12
-66
0
0
0
0
-27
0
0
15
0
0
0
0
0
0
0
-30
0
0
0
0
47
0
-10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
-17
-27
0
0
1
0
0
2
4
-4
0
0
-1
0
15
0
-5
-7
0
4
2
0
0
13
2
-5
0
0
0
0
-6
0
0
0
0
4
-5
0
0
0
0
5
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-1
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
2
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-10
0
0
0
0
0
0
0
-4
0
0
0
0
0
5
-9
-14
0
5
10
0
0
-42
0
5
0
0
0
0
0
-40
0
2
0
8
0
0
4
0
-37
-42
0
0
0
0
0
114
0
4
0
-3
0
0
0
0
0
-16
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
41
-5
4
0
0
14
0
0
0
-34
-13
0
0
0
0
0
21
-2
10
0
-1
1
0
0
0
1
-6
0
0
0
0
0
9
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-44
-7
8
-24
-45
-55
-23
69
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
1
9
0
24
19
0
31
-50
45
-45
-9
18
-31
0
0
-56
-31
1
-15
23
47
-2
10
-1
-70
-46
9
-45
4
0
0
-55
14
46
5
41
-8
8
-67
-90
-121
-119
-10
-25
9
0
0
-14
0
0
0
71
-23
-1
-24
-6
-8
-12
21
0
31
0
0
-13
0
0
2
-31
-21
1
22
-52
-4
6
-159
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
1
-12
-3
-16
10
-84
-13
-29
0
0
0
0
0
0
0
0
-6
0
-1
0
0
5
0
-3
0
0
0
0
0
0
-3
0
0
10
0
-1
2
7
0
-8
0
0
0
0
0
0
-3
0
0
1
0
0
0
4
0
1
0
0
0
0
0
0
1
-3
0
21
-5
-2
0
21
0
1
0
0
0
0
0
0
59
0
0
-7
9
4
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-44
-28
0
2
1
-14
-16
27
-7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
16
13
-15
13
-7
-1
8
-20
-3
-18
-27
9
-66
0
0
-70
8
4
-5
-13
3
7
2
-23
-46
-5
-33
-13
-64
0
0
5
-1
8
0
-55
-58
-1
-23
-41
13
4
-36
-13
28
0
0
0
0
0
0
73
0
0
-9
8
-6
0
3
0
-163
0
0
33
0
-4
5
22
-2
0
-58
-8
11
-4
-59
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
2
14
-15
25
-30
19
-96
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-40
-7
20
-78
16
8
-92
-36
0
27
-13
-139
-35
0
0
-60
-45
5
-24
-31
47
-5
33
-61
-34
-54
-43
11
-14
0
0
-48
-63
-51
-45
-9
25
0
9
-75
-118
-114
-38
48
-120
0
0
-40
10
0
-15
-51
46
0
-4
-28
-84
-23
-109
-117
-50
0
0
-29
-1
-9
0
38
-49
0
-4
20
5
15
-7
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-49
21
25
23
65
9
-40
26
7
0
0
0
0
0
0
0
41
-12
8
13
1
1
5
-2
8
0
0
0
0
0
0
-16
5
2
15
0
3
0
29
-13
0
0
0
0
0
0
0
2
-9
0
7
-2
-3
0
-4
1
4
0
0
0
0
0
0
0
1
0
14
-6
-8
5
-60
-9
8
0
0
-1
0
0
0
20
6
0
48
19
0
-4
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
12
-3
2
1
-27
0
9
-4
-17
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-6
32
53
16
44
0
-3
-22
-48
-3
-18
-23
-30
0
0
-75
14
3
6
33
-52
22
4
-22
-51
-10
49
-62
-43
0
0
-21
0
-10
-10
15
-83
4
2
-41
-33
-4
-16
-14
-45
0
0
-9
0
1
-2
16
67
1
15
-66
-34
-13
-34
-15
17
0
0
-24
0
0
0
-26
-17
1
-13
-5
5
-29
1
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
-1
-6
3
0
0
0
0
0
0
2
-3
0
6
0
0
-3
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
3
6
42
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
14
0
-25
-1
0
0
-8
-75
4
0
0
-1
0
0
1
-26
22
0
3
-11
-5
-1
12
9
-5
0
0
-9
0
7
-5
-17
29
0
26
-1
3
-51
-6
-22
-37
0
0
0
0
0
0
0
-8
0
18
12
0
-1
10
0
-33
0
0
0
0
0
0
-19
5
0
-41
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
-34
17
0
-8
24
1
0
-3
-14
-7
0
0
5
0
0
-1
-7
-2
0
-8
2
0
0
2
3
1
0
0
5
0
0
0
-7
13
0
-99
6
0
7
-3
13
16
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
8
0
0
8
0
0
0
3
0
0
5
9
0
0
19
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
70
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
10
-22
0
-6
-25
-7
37
-34
3
-5
0
0
-17
4
0
0
-15
-55
0
-10
-30
4
-56
-3
40
44
0
0
-5
2
-41
4
-75
-40
-2
-47
-18
3
-47
-60
-37
74
0
0
0
0
0
0
4
-19
0
-14
1
0
-10
-28
-3
-42
0
0
0
0
0
0
-85
-8
0
0
0
0
0
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
-3
-16
-6
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
4
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
-1
-72
-26
0
0
5
0
-1
8
-48
-64
0
0
27
0
0
6
-5
-25
-9
-8
5
4
0
-22
-25
-34
0
0
7
0
0
0
-2
3
0
4
19
-1
-1
-6
-4
-8
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-6
0
-29
0
0
2
0
0
0
-13
0
0
1
-5
0
0
1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-101
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-49
0
2
-2
0
10
-1
-27
-8
0
0
5
-13
-6
-1
-98
-7
-2
-8
-36
-5
-16
37
-67
-28
0
0
-8
0
10
0
-58
-8
0
-14
-24
24
24
-16
-2
19
0
0
0
0
0
0
0
40
0
1
0
0
0
3
0
-72
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
1
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-2
-23
0
-1
-3
0
0
2
7
-13
0
0
-8
-2
0
-6
-29
-42
5
-5
-24
-1
0
0
9
-28
0
0
1
0
0
0
-2
-6
0
4
0
0
1
0
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
-17
0
0
0
-8
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-29
-103
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
-4
-118
-6
0
-2
13
8
-5
20
-7
-15
0
0
5
2
0
20
-15
-34
-2
17
-41
-39
-15
-78
5
0
0
0
-45
15
-1
-12
-41
1
-8
-12
-68
8
-31
8
-19
-19
0
0
1
0
0
0
-36
-57
0
10
10
-6
-125
30
-63
21
0
0
-1
0
0
0
-66
-43
0
1
-8
5
25
-10
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
8
0
-1
0
15
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
0
2
-4
0
-23
0
0
0
0
0
0
0
0
0
-1
2
0
-1
-6
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
-13
0
0
1
-3
17
2
-14
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-4
-2
-19
12
-58
1
16
7
-4
-8
-15
0
5
0
0
-5
2
0
-17
-29
25
-12
-37
-21
3
4
-85
-48
-20
0
0
-6
0
0
0
19
-7
0
1
-2
20
-83
-5
-27
-72
0
0
2
0
0
0
0
-8
0
-4
-9
0
-51
14
0
-40
0
0
-7
0
0
0
-26
0
0
-15
-4
3
-135
-24
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-82
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
1
-1
0
-22
-54
0
-4
-55
12
-54
-5
43
-14
0
0
-45
-5
-2
-2
-78
-14
-1
-48
-40
34
-22
-23
-86
-129
0
0
5
0
10
-6
46
28
3
-37
-62
-33
11
-114
-56
-136
0
0
-29
0
0
0
-7
-56
-4
13
-55
-20
-17
55
-70
-10
0
0
13
0
0
0
-19
-6
0
-5
-19
0
-2
-110
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
-12
-8
0
-7
-13
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
12
-1
0
0
25
-1
2
0
0
0
0
0
0
3
0
0
7
7
0
0
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-7
-5
0
-1
-5
-3
-2
3
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-8
-3
14
39
1
-10
-5
-8
-5
-35
20
-6
0
0
95
8
-1
-5
-50
-11
16
0
28
-5
-17
75
-42
12
0
0
-4
0
-2
0
1
-5
0
17
5
-24
6
-70
-9
-23
0
0
4
0
0
0
-4
-6
-2
12
-51
0
0
-5
0
-68
0
0
11
0
1
0
21
18
0
0
-17
-7
4
-209
-122
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
4
0
17
127
-43
-1
4
-61
-48
-49
-9
5
-14
0
0
-81
11
-7
-31
-15
-12
4
-122
-120
-16
-36
-47
3
-9
0
0
-53
3
30
-48
-40
0
4
27
-132
-89
-146
-112
-20
-11
0
0
-31
0
3
-19
0
-41
-1
-51
-62
-5
-22
-107
22
-31
0
0
-76
0
5
-10
7
-98
0
-57
-51
-15
12
-94
26
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-2
41
8
-35
6
-9
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
-5
0
0
0
0
0
0
0
0
1
1
0
-4
0
23
-12
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
16
-12
0
0
0
0
0
0
0
7
0
10
0
-2
0
12
10
19
0
0
2
0
0
0
-1
0
0
16
13
2
0
-5
-14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-6
-43
2
-3
1
0
3
-16
-84
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
-8
17
-45
-73
-49
2
-7
-88
-39
6
-23
-127
-85
0
0
-74
4
6
51
-42
-35
-2
72
-50
-24
-49
-50
-62
-56
0
0
-7
0
5
8
-53
-78
-6
9
17
-7
-34
-78
-118
-37
0
0
-1
0
16
-1
0
-18
0
33
-70
-2
-8
5
1
-26
0
0
-43
-3
-5
90
-16
-9
-3
-8
-80
18
3
-97
13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-3
1
7
-2
-50
0
10
-96
-1
-32
-18
-6
-24
0
0
-34
-51
-23
-22
-131
-18
-2
-61
4
9
8
-72
-25
52
0
0
-157
-13
16
-3
-151
-79
12
-102
-78
4
-68
-61
25
0
0
0
4
0
-3
-19
-6
6
-1
25
-74
-25
-51
-47
54
-32
0
0
-1
0
-2
0
-54
0
0
4
24
8
-13
-30
-170
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-16
-29
5
25
-1
53
8
-71
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
-33
0
0
0
0
0
0
-1
0
0
4
-1
19
0
-1
-6
-7
0
0
0
0
0
0
0
0
0
8
0
0
0
-4
13
-12
0
0
0
0
0
0
5
-6
0
-2
-6
0
5
42
-18
31
0
0
0
0
0
0
-13
0
0
7
0
0
0
7
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
1
0
-43
-19
0
2
-12
-17
-8
3
-63
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
8
-1
5
-20
-14
-1
-26
-48
-48
31
-58
8
-34
0
0
-88
18
0
18
-8
-15
-6
-13
-76
-66
-14
-14
-128
-119
0
0
-20
2
-8
-15
-53
-7
7
13
-3
-10
20
68
-138
-80
0
0
-29
0
0
13
13
0
-1
-22
-63
-9
3
-59
-22
-45
0
0
-77
0
1
-15
-65
0
0
1
80
16
-5
-18
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
1
0
0
1
-2
9
-3
0
0
-44
3
0
0
-45
-92
0
-4
36
-2
16
9
-64
-38
0
0
17
0
0
0
-44
39
0
49
-7
3
-37
8
-62
-49
0
0
-58
0
0
0
0
-5
0
-1
-4
0
-2
-19
-15
-31
0
0
53
0
0
0
13
0
0
0
0
0
0
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
5
6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
3
0
0
0
-1
0
-1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
-6
0
-1
22
0
0
0
-5
-3
0
0
-13
0
0
0
-14
0
1
0
-7
0
0
-1
1
-16
0
0
-30
0
0
0
0
-2
0
3
-5
0
-2
0
0
-6
0
0
-20
0
0
0
0
1
0
27
0
0
0
0
0
-8
0
0
-75
0
0
0
0
0
0
0
-1
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
2
-4
0
-1
0
0
0
0
0
-3
0
0
0
39
0
0
1
-2
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-6
7
0
-7
-1
0
0
7
-1
0
0
0
0
0
14
0
-5
3
0
14
0
0
1
0
-33
-40
0
0
0
0
-21
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
24
8
-3
0
3
6
0
0
-13
17
-25
0
0
0
0
0
-13
6
0
0
3
0
0
0
0
-49
-29
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
29
0
-2
-27
-31
-22
-1
-14
-3
0
0
-107
1
8
5
-21
-26
2
-65
-115
21
-35
53
-41
25
0
0
0
-10
-30
-5
-7
2
-2
-47
-27
-11
18
43
-74
71
0
0
0
0
0
0
-127
16
0
-8
-44
0
-35
11
0
-123
0
0
-30
0
-1
-2
87
-4
0
24
32
42
-4
-16
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
18
-2
0
24
-4
-6
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-1
0
-14
-4
0
0
-8
0
15
0
0
0
0
0
0
25
0
0
14
8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
23
-7
0
0
-4
-2
-13
-25
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
24
17
-2
0
31
0
0
-5
9
22
0
0
-39
0
-3
-2
23
2
-4
34
-51
-5
0
-25
1
10
0
0
-5
0
-6
0
9
-6
0
-31
9
-1
24
3
6
38
0
0
0
0
0
0
1
0
0
-13
0
0
0
18
0
-23
0
0
-53
0
-35
0
-93
0
0
-13
-71
0
0
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
20
-13
5
43
-3
6
12
0
0
14
8
-9
-8
-16
2
-1
19
-1
-1
-54
-94
0
1
0
0
1
18
50
7
-93
55
-3
-15
9
-38
-43
15
43
-40
0
0
-9
0
-34
-2
-5
8
2
-5
4
-19
5
0
-52
-67
0
0
-18
0
-9
0
-32
63
0
1
-4
0
-8
-8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
-1
2
-1
2
32
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-2
0
5
-1
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
17
-7
4
7
-13
-1
-7
0
0
0
0
0
0
1
0
0
0
2
0
0
12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
0
6
107
0
5
-6
2
-12
-14
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
1
-18
59
-1
-8
23
-1
-5
5
77
-17
0
0
3
-9
0
2
-7
-1
2
3
-48
4
-4
9
-19
-4
0
0
-8
0
-5
-2
12
53
0
-12
11
-5
-27
0
12
-7
0
0
-2
0
-3
0
3
-69
0
23
33
4
0
-25
1
-5
0
0
-9
0
0
0
1
-12
0
6
4
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
5
-5
-2
36
-6
0
0
5
-2
-3
0
81
-4
0
-36
73
0
7
27
-73
-8
0
0
-8
0
1
-1
91
-15
0
1
4
-10
1
-5
-58
92
0
0
0
0
0
0
-6
-34
0
-24
1
0
7
3
1
-1
0
0
0
0
0
0
5
1
0
-65
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
9
0
-5
0
0
2
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-13
-4
0
-12
-10
0
-2
2
-9
-15
0
0
-2
0
3
2
43
-5
0
-31
-13
0
0
3
-12
18
0
0
5
0
0
0
0
-5
0
-8
-6
0
-1
0
-3
-13
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
4
0
0
-1
0
0
0
-1
0
0
-11
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
6
-55
-11
0
0
-5
0
1
-19
-10
-12
0
40
-40
-49
81
-14
18
-101
0
0
5
-3
-8
5
-15
-27
0
5
-4
0
-39
-46
-28
-151
0
0
0
0
0
0
21
-16
0
-13
-8
0
3
5
-21
-105
0
0
0
0
0
0
-33
-4
0
6
0
0
0
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
-12
0
0
5
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
20
2
1
-2
4
1
1
-3
-74
-15
0
0
-5
0
0
0
-7
-38
1
3
9
2
0
-32
-14
-7
0
0
-6
0
0
0
-19
8
0
3
14
4
7
0
-6
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-1
0
5
0
0
-5
0
0
0
1
0
0
2
-16
0
-4
29
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-1
0
0
-13
0
-3
2
-37
-21
0
-40
-8
0
-18
-49
-96
-19
0
0
-2
0
0
-2
-13
14
0
-19
-25
3
-39
12
-36
-15
0
0
-2
0
0
0
0
9
0
4
0
0
0
1
-8
-38
0
0
0
0
0
0
7
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
-17
0
0
0
0
0
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
21
0
0
2
0
0
0
0
5
0
0
-4
0
0
0
-9
0
0
-1
12
0
0
-6
-1
-16
0
0
0
0
0
0
-3
0
0
-3
8
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
4
0
0
0
-2
0
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-32
0
0
-7
5
0
-8
16
-6
0
47
32
10
-8
-25
-28
-78
0
0
4
-1
0
0
-11
-17
-1
-23
-34
5
-59
-57
-125
-49
0
0
0
0
0
0
-17
-14
0
8
25
1
-48
0
-22
-7
0
0
0
0
0
0
-19
-1
0
-2
0
0
13
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
5
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
1
-17
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-9
0
5
23
0
0
0
-52
-4
0
0
-7
0
0
1
27
14
0
-3
8
0
0
5
8
-41
0
0
3
0
0
0
-13
-4
0
-10
3
-1
2
-1
-21
-35
0
0
0
0
0
0
0
9
0
-9
0
0
0
4
0
-5
0
0
-7
0
0
0
2
0
0
1
-5
0
41
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
0
-17
0
3
0
23
-7
-1
24
-22
-21
70
2
-22
48
0
0
6
-7
-3
0
-19
-11
0
6
-17
-22
1
63
-71
-33
0
0
0
0
0
0
1
-3
0
-3
13
0
-2
-23
0
89
0
0
1
0
0
0
5
-22
0
0
1
0
1
-58
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
1
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
2
0
0
0
0
0
0
5
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
-2
0
1
10
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-3
0
-6
-16
0
-3
-42
0
0
-15
43
8
0
0
-15
0
2
0
-6
9
-8
20
-48
0
-2
-32
-10
-12
0
0
3
0
1
0
8
-4
0
-10
1
0
4
24
-4
-14
0
0
0
0
0
0
0
4
0
-4
0
0
0
6
0
-7
0
0
-2
0
0
0
-17
0
0
2
-4
0
0
-63
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
61
0
0
-59
25
-2
-19
-10
-27
0
-93
-27
-56
64
-12
96
-97
0
0
-42
2
-27
-20
-23
7
-2
-37
42
1
11
-92
34
-63
0
0
-52
0
0
1
0
-35
0
-60
-12
-16
7
-69
-22
-9
0
0
-99
0
-1
-85
51
-4
0
-5
7
-1
-9
-151
-83
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
3
0
0
0
-2
14
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
43
0
0
0
0
0
0
0
0
0
19
0
0
0
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
-2
15
0
0
-22
17
-15
8
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
6
1
0
-7
0
19
44
13
2
-5
-79
-11
0
0
-119
7
-1
5
-12
-64
-2
-64
-30
-32
-17
-77
-20
-49
0
0
6
0
0
0
0
-5
0
39
-57
4
-11
-17
41
-11
0
0
4
0
0
1
0
0
0
-27
-32
0
0
-72
18
-83
0
0
-45
0
-20
1
6
16
0
23
3
-4
1
-156
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-44
-5
8
7
74
-7
-2
-16
42
7
35
-30
56
66
0
0
16
0
-1
-8
-39
-5
2
3
-28
-1
-58
-28
44
104
0
0
-2
0
-1
0
-21
2
0
-5
-5
2
1
-32
5
6
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
8
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-5
0
0
0
-3
5
4
13
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
5
-3
-9
25
0
-4
-88
0
1
17
-21
-16
0
0
46
-2
-9
-8
12
18
-4
27
-21
1
1
-4
6
5
0
0
3
0
-5
0
0
0
0
6
2
-1
-1
-5
2
-22
0
0
-3
0
0
0
0
0
0
10
1
0
0
3
0
-80
0
0
0
0
0
0
-5
0
0
5
13
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
-59
36
9
-2
-19
1
-21
0
0
89
0
0
29
-51
-48
0
-13
41
6
-27
-79
-57
-111
0
0
38
0
0
0
-7
7
0
-5
-8
-1
2
-3
-21
-76
0
0
83
0
0
0
5
0
0
0
-1
0
0
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
0
8
0
8
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
5
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
0
0
0
-4
-7
0
0
0
0
0
-1
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-4
-3
0
-12
40
0
-4
-3
-26
0
-8
4
-48
0
0
5
0
0
0
0
-2
0
-7
5
0
0
-15
3
-1
0
0
54
0
0
0
-1
-15
0
14
5
3
0
16
-7
9
0
0
24
0
0
0
0
1
0
5
-3
0
0
-5
0
9
0
0
122
0
0
0
2
0
0
-4
-24
-3
0
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-5
0
52
-21
1
-1
-29
43
-3
0
0
1
-24
0
0
-29
-8
0
10
-9
-14
-15
0
-62
-22
0
0
0
-12
0
0
1
-7
0
0
2
2
0
0
3
3
0
0
0
-9
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
0
0
1
7
0
0
5
0
0
1
-1
0
0
0
0
5
0
0
0
5
1
0
-2
2
0
-1
0
-1
0
0
0
-14
0
0
6
0
0
-1
17
0
0
0
1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
-2
-2
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-12
0
6
1
-1
0
-8
-8
-2
0
0
0
0
67
0
6
0
0
-6
-3
-6
-1
0
-38
-40
0
0
0
0
-46
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
18
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
-12
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-8
0
16
13
-8
0
76
-40
29
0
0
2
0
0
86
-10
-2
0
1
5
-5
0
-4
-66
-81
0
0
0
0
0
-56
0
3
0
-5
-9
0
0
0
0
-29
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-1
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
45
-4
-32
0
7
-10
1
3
0
-6
-4
0
0
0
0
0
8
2
-1
0
4
-2
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
-69
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
20
0
48
-67
-32
-19
29
96
-1
0
0
-15
17
-12
-108
0
14
0
-21
-94
-82
-117
126
46
0
0
0
-17
0
0
-1
121
59
-2
-1
-114
-23
-2
-27
0
-95
0
0
-52
-1
0
0
-56
6
0
-30
-63
-42
-8
9
-69
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
26
0
-36
30
51
-12
48
0
0
0
0
0
0
-7
1
0
8
0
0
0
-2
0
-12
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
10
0
0
0
0
0
0
1
0
0
8
0
-7
0
0
0
-3
0
0
0
0
0
0
17
2
0
18
-1
-12
0
-15
0
-16
0
0
0
0
0
0
-5
0
0
-8
-30
8
0
13
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
3
-1
-18
0
-1
-92
-4
-19
7
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-152
35
6
-5
-9
-75
-1
-3
-6
-9
-12
25
29
32
0
0
8
4
0
3
-28
-12
-8
-68
-50
10
2
-54
-8
-15
0
0
-25
-1
-8
0
74
-40
-6
29
-59
-5
1
-11
-27
-3
0
0
4
0
0
0
-24
5
0
6
3
-5
0
-29
0
42
0
0
-41
16
-5
4
-89
-16
0
-99
-117
-88
31
-17
-39
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-5
-10
-95
31
-25
-115
32
67
0
0
-35
30
16
-42
-2
31
0
-25
-22
-93
-103
40
-124
84
0
0
-48
1
-2
-7
-17
27
-1
-55
-149
3
-13
-38
8
-23
0
0
-29
0
6
0
5
16
0
3
-2
1
15
17
-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
-4
14
-8
1
51
0
75
-70
0
0
0
0
0
0
0
0
-29
-1
-1
0
0
0
-12
0
-5
0
0
0
0
0
0
-6
-7
-2
4
0
12
0
6
0
-5
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
52
0
31
-7
9
16
14
8
17
0
0
0
0
0
0
-8
12
0
0
9
-9
1
1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
6
5
-13
1
7
-40
-32
-29
1
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
4
-18
-59
-2
2
-19
61
-8
-13
-3
24
8
0
0
-20
5
0
5
-10
-36
5
16
25
-13
0
-6
25
9
0
0
-38
3
-3
-9
-9
-44
2
12
-11
-6
-40
10
-64
-30
0
0
-2
0
-1
-3
2
-10
-4
32
-36
21
4
-4
-2
31
0
0
-12
0
0
0
-4
18
0
-41
-19
8
8
-40
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
-8
-3
2
0
0
-1
0
0
1
-2
2
0
1
8
-1
0
0
-5
3
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
-6
-4
1
0
-1
0
0
0
0
-5
0
0
-1
0
0
0
-5
0
0
4
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-67
-46
38
16
48
-17
0
0
2
-5
-5
9
-6
-82
6
-28
-106
-69
47
105
-20
-48
0
0
-47
3
-15
-7
18
-46
2
-94
-34
-14
-24
-3
-8
72
0
0
21
0
0
1
13
8
0
-21
-7
-14
16
-40
-89
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
6
8
-1
-3
0
-42
8
43
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
12
-9
0
0
-4
0
-21
0
0
0
0
0
0
5
0
0
-6
-2
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-2
0
-15
-19
0
-48
5
-1
-5
6
-54
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-3
-3
0
7
-53
1
-60
29
-14
9
-7
18
-51
0
0
29
4
-1
-27
10
46
1
45
24
6
5
30
-12
13
0
0
-19
0
-3
-2
-65
-6
1
-50
23
1
-24
14
28
-2
0
0
5
0
0
-7
2
-1
0
-79
33
1
0
0
-7
-50
0
0
-43
-3
0
-25
1
3
0
-182
-66
-20
-25
-5
-91
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-65
0
-4
-2
-54
0
0
-1
-6
6
-16
-107
63
-15
8
-9
-48
-28
-5
-95
-87
0
0
4
0
0
17
-35
-166
0
-41
-21
10
-30
-38
53
-79
0
0
-3
0
0
0
39
-38
0
17
-31
8
-5
-18
-86
-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
2
14
0
-15
0
-17
-4
8
44
-43
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
-1
0
-46
8
1
0
0
0
0
0
0
1
0
0
15
0
0
0
1
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-9
-1
0
4
5
8
13
-18
-62
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
1
-18
31
-57
0
-8
-19
34
-3
25
-3
47
0
0
-10
6
1
3
22
-12
2
2
10
1
0
-14
-43
-19
0
0
-4
-1
0
0
-28
1
1
-27
-55
4
-29
30
-30
4
0
0
5
0
0
0
0
-23
2
25
-68
0
0
10
6
-16
0
0
2
0
-1
-12
45
-4
2
53
-35
30
-9
33
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
30
16
55
0
0
20
0
16
2
31
0
4
-7
-74
12
-7
-79
-82
-72
0
0
0
0
0
-3
-15
-1
0
-7
-12
5
-14
-14
18
2
0
0
-1
0
0
0
-26
-2
0
-10
5
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
2
0
-3
0
9
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
20
0
10
0
0
0
0
0
0
1
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
-7
1
0
0
8
3
6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
1
59
9
0
3
7
0
0
5
-57
0
0
0
4
0
1
-1
-12
13
-5
-4
-18
4
0
-3
-4
12
0
0
2
0
0
0
-10
-2
0
-7
-55
-2
8
1
-20
3
0
0
0
0
0
0
1
1
0
-8
-2
0
0
22
0
19
0
0
29
0
0
0
6
0
0
42
6
9
0
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-99
2
-52
0
0
-32
0
0
-9
47
4
-2
-2
-19
-6
73
58
-127
-71
0
0
-1
0
0
0
-23
-48
0
12
2
0
54
-10
3
-101
0
0
0
0
0
0
-32
1
0
0
4
0
7
-5
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
9
-15
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
-2
6
0
0
12
0
7
13
-8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
1
92
-50
0
-6
-22
14
18
-13
79
-46
0
0
14
0
0
0
-56
-8
0
-5
50
4
0
-4
-9
-4
0
0
2
0
0
0
-18
-7
0
12
-24
1
49
-8
-49
15
0
0
0
0
0
0
0
-1
0
-16
-15
0
5
9
0
-64
0
0
55
0
0
0
-20
0
0
-7
71
6
44
44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-21
20
0
0
-45
-23
-9
41
-52
-163
4
53
-109
1
-5
27
-12
-31
0
0
-4
4
-14
-27
-54
-33
9
7
-25
-47
17
-90
-43
-27
0
0
-16
7
-25
-6
-105
22
0
28
-51
11
-42
-23
-145
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
24
-42
29
-37
-8
5
-16
-46
0
0
0
0
0
0
0
4
-1
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
3
-1
0
18
0
-2
0
-12
0
0
0
0
0
0
0
0
0
4
0
0
0
1
5
13
0
0
0
0
0
0
0
17
0
-15
-30
-13
0
-81
-3
31
0
0
0
0
0
0
-14
0
0
22
1
3
0
12
15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-5
5
5
15
-32
0
30
-20
-13
-24
-16
-117
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
10
0
1
-104
-10
6
47
-90
-23
-32
0
0
-48
0
0
3
-2
0
34
6
-71
-5
-44
-21
-31
6
-18
-61
-7
0
0
-55
0
13
17
4
-28
0
-3
-76
12
1
-39
-75
-1
0
0
-26
0
-5
-4
-71
-71
-1
-40
71
7
12
-18
-45
-11
0
0
-36
-1
25
19
-84
-33
1
-24
3
-20
-69
-135
-26
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
-67
-28
34
-64
-106
-11
5
-21
-56
-56
-130
115
-11
-61
0
0
-20
0
-3
-27
0
-13
-2
-47
-161
-27
-73
-91
15
42
0
0
6
0
1
0
-45
-17
6
-22
123
-29
-35
-55
-9
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
6
-3
5
-29
-50
-57
22
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
3
0
0
0
0
0
0
0
0
0
-6
0
2
0
31
-9
35
0
0
0
0
0
0
0
0
0
14
16
1
0
4
23
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
2
-1
-23
-4
-1
-6
-6
9
4
-95
-48
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-7
-25
-43
-4
-86
-4
-5
-55
34
19
-55
-91
-28
0
0
-25
-17
5
-6
7
-88
1
-36
100
23
-15
35
-98
82
0
0
4
0
-10
-4
-17
-30
-3
-66
-133
-7
-6
-54
-68
3
0
0
-38
0
0
0
0
-1
0
-33
35
-4
0
-53
47
7
0
0
-68
5
-22
-1
-46
-62
0
-29
-124
-51
28
-91
-94
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
-69
7
-11
22
-42
18
0
-58
-56
-55
-10
-11
-16
39
0
0
-10
0
1
-29
-46
-23
3
-12
-64
-27
-54
-96
-22
20
0
0
-3
0
0
0
18
0
0
-31
23
-8
7
-33
-79
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
12
-6
4
-5
-8
-38
-11
58
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
30
-4
12
1
-14
11
46
0
0
0
0
0
0
-4
0
0
-15
-7
0
0
25
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
1
-1
-19
-75
12
2
4
-73
-8
26
-17
-15
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
10
25
59
-187
-37
0
-45
18
14
12
-21
-33
18
0
0
-9
-1
3
-3
24
-34
-10
-51
-52
-25
-3
-26
-29
-111
0
0
-72
0
-4
0
-56
9
-5
-57
-61
-30
-53
-35
-47
-109
0
0
0
0
0
-3
-14
4
0
-11
-50
5
0
-48
-2
-82
0
0
32
0
-5
-5
-46
0
0
-93
-16
16
-43
-136
38
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
0
11
21
0
-16
-1
4
-21
-18
-40
22
0
0
50
0
0
0
5
2
0
-1
-20
0
-8
13
-24
-30
0
0
76
0
0
0
22
9
0
14
0
0
0
-18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-4
5
-9
-13
4
-17
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
1
0
0
8
0
20
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
-8
0
0
1
0
3
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-6
0
-25
-1
0
-9
-33
-8
6
-5
16
-6
0
0
-42
0
0
0
-28
21
18
-15
0
-5
-2
-37
-24
-14
0
0
41
0
0
0
0
-5
0
0
-15
6
-1
0
1
-3
0
0
-19
0
0
0
0
-5
0
-2
-2
0
0
10
0
-13
0
0
24
0
0
0
8
0
0
-8
-25
0
-3
-8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
-23
0
1
3
0
1
0
11
1
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
2
-7
0
0
5
0
0
0
0
0
0
0
2
22
0
0
-5
-13
0
0
2
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
-41
12
0
6
-6
0
1
-3
20
-24
0
0
0
0
25
0
0
9
0
-1
0
0
0
3
0
-29
0
0
0
0
58
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
3
0
6
0
1
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-4
-4
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
7
0
-85
-12
0
1
7
0
0
0
-32
3
0
0
-3
0
-30
0
3
4
1
10
7
0
0
-3
-14
38
0
0
0
0
-15
0
0
0
0
-1
-1
0
0
0
0
6
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
-63
0
-3
0
0
1
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-6
0
-14
0
0
-6
0
-10
6
0
0
0
0
0
30
-2
7
0
-3
0
0
0
0
0
6
0
0
6
0
0
-14
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
1
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
4
2
-16
0
8
4
0
0
0
-26
-15
0
0
-1
0
0
-6
-5
-1
0
9
-7
0
0
0
-2
-70
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-50
0
-92
-62
-24
-5
-34
-59
2
0
0
20
0
0
0
74
-42
0
-65
-112
13
-33
70
0
55
0
0
-22
0
0
1
3
-49
-2
-49
-38
-50
-4
-20
-35
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
20
1
15
-5
-3
7
11
-21
-27
0
0
0
0
0
0
-4
0
2
1
0
0
0
1
0
-13
0
0
0
0
0
0
-9
0
-2
-2
0
-8
-1
1
0
1
0
0
0
0
0
0
13
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
3
1
0
15
3
-4
0
0
0
-41
0
0
0
0
0
0
45
0
0
17
12
1
1
2
-16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
100
-59
0
-6
-5
3
-58
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
15
-3
-7
-24
-62
1
19
13
-20
-18
10
21
-36
0
0
-6
-1
-4
-2
3
21
-2
-11
14
63
-10
20
-47
-96
0
0
-6
1
-7
0
79
-20
-2
-21
-50
-5
-12
9
-10
-18
0
0
0
0
0
0
-31
-1
0
-34
32
0
0
-29
0
-92
0
0
-33
-1
1
2
-24
-7
0
-5
-131
21
-4
7
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
10
-9
18
55
20
-21
26
61
0
0
-30
-8
5
0
-7
-9
2
71
-23
-14
7
-61
11
7
0
0
-29
0
10
0
12
-24
0
-1
-12
1
0
8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-46
0
8
-19
-7
1
-1
-26
-8
0
0
0
0
0
0
0
8
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-6
0
0
0
-1
5
3
0
0
0
0
0
0
0
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-8
-40
-6
5
-5
-9
0
0
0
0
0
0
-14
1
0
-25
-8
5
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
0
2
28
-1
6
1
-70
2
-2
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
2
14
-1
-62
-8
6
-39
-9
7
-11
4
-110
23
0
0
-34
-2
9
-3
-46
-1
15
46
-18
5
3
-43
1
-32
0
0
-6
0
-8
0
3
14
-1
20
-13
0
0
8
10
-4
0
0
-4
0
-1
0
-12
-37
-4
7
-41
-4
-3
2
3
8
0
0
-10
0
0
0
5
-54
0
-27
-34
3
-5
-19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-1
0
-1
0
-13
3
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
1
0
0
1
0
0
0
3
7
0
0
-3
0
0
0
-3
-2
-2
-4
1
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
23
21
27
80
-2
42
0
0
25
0
0
4
-30
22
0
-63
-1
25
38
-40
7
-79
0
0
-8
0
0
0
-3
1
0
-64
6
-5
-9
-3
43
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
17
8
7
-18
1
-2
-62
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
2
-1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
31
0
-24
7
0
0
-7
0
8
0
0
0
0
0
0
-1
0
0
20
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-8
-20
0
-58
1
2
6
-3
-2
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
1
-4
43
19
0
6
18
1
-10
3
-63
-14
0
0
7
4
0
-2
-19
-26
3
-52
-2
-27
-10
93
-48
-32
0
0
-12
0
-1
0
29
-2
0
-4
-9
1
-6
2
45
24
0
0
-4
0
0
0
-2
-2
0
-56
-17
2
-2
-3
0
44
0
0
-49
2
38
-1
-47
-4
0
-19
-74
-17
-10
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-69
-19
-2
-193
0
0
9
0
0
-2
-19
-48
-1
-28
-61
1
-32
-46
-57
-93
0
0
14
0
0
0
-116
13
0
-6
20
0
-1
-16
-59
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
-18
-4
-7
-3
0
-56
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
-17
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
-9
0
0
6
-5
-1
17
1
21
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
0
3
-98
-15
0
9
-2
-13
-4
5
-51
-24
0
0
9
0
8
-5
-121
-19
-8
-23
31
-22
-3
-42
15
-39
0
0
5
0
0
0
-4
-7
0
-6
-7
0
0
0
2
-22
0
0
2
0
0
0
0
-8
0
-25
0
0
0
5
0
-9
0
0
14
0
8
0
-35
-3
0
-16
-16
3
0
-9
-150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
-85
1
0
0
0
0
0
0
-25
-10
0
1
-17
0
-3
-18
1
-18
0
0
0
0
0
0
-57
5
0
-1
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
1
0
0
0
2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
-1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
-5
8
0
8
0
0
0
1
-26
-3
0
0
-9
4
-1
0
-17
-31
-2
1
-14
0
0
7
-13
-33
0
0
0
0
0
0
-12
1
0
-3
-3
24
0
0
0
-9
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
-4
0
0
-7
0
0
0
1
0
0
-7
-13
0
0
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
37
-50
0
0
-7
0
0
-5
6
-16
-6
-70
-55
1
-48
-35
-70
-58
0
0
-8
0
0
0
-45
-29
0
14
-29
-12
-83
-10
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-2
-12
0
-8
1
-15
30
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
3
0
0
4
2
2
-19
0
0
0
0
0
0
-2
0
0
-8
-12
0
-1
15
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-22
26
0
-6
-40
4
-57
-13
-34
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-8
-3
-8
-122
-13
1
-2
-23
16
48
-7
-84
48
0
0
-6
3
0
-1
56
-2
0
-8
96
-12
-2
-88
-170
-13
0
0
-7
0
0
0
-18
0
-6
-11
-50
3
-76
-2
-57
-78
0
0
-2
0
0
0
0
0
-4
-37
-7
-2
5
-32
-6
-53
0
0
-12
0
0
-4
-16
2
2
8
-8
3
-236
-48
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
31
-83
0
0
8
0
0
0
-30
-21
0
17
-75
0
-2
-39
-40
-48
0
0
15
0
0
0
-89
1
0
-8
-28
0
-5
-25
-38
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
11
0
-4
3
5
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
17
0
10
0
0
0
0
0
0
4
0
0
4
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-28
-14
0
2
-17
-8
-7
-50
21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-10
-11
0
5
-9
4
-4
-54
-4
-25
0
0
25
-2
-1
0
19
29
4
-31
36
-8
0
37
-142
67
0
0
0
0
0
0
3
-4
0
0
19
0
0
40
3
2
0
0
3
0
0
0
0
-1
0
1
-16
0
0
-82
0
84
0
0
-11
0
0
0
6
19
0
-2
16
13
-1
-82
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
16
0
0
-63
1
-7
-118
0
-48
-4
19
-86
-94
-29
-179
14
-52
0
0
-147
-2
-41
9
38
27
-2
-8
-50
-15
-104
24
-88
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
22
-21
1
-6
-5
76
-39
36
0
0
0
0
0
0
0
-2
17
2
0
0
0
15
2
-5
0
0
0
0
0
0
0
0
0
5
0
1
0
-34
2
-8
0
0
0
0
0
0
0
0
0
5
0
-1
0
1
-9
-5
0
0
0
0
0
0
0
-5
0
-45
-3
7
0
23
75
55
0
0
0
0
0
0
-1
0
0
6
-26
0
3
-42
7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-2
-3
-16
-62
0
-49
-51
23
-61
-123
-161
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
9
-120
-4
-19
-49
5
-54
-30
-9
-103
13
-148
-49
0
0
-79
-37
-49
-106
-35
-14
23
39
-128
-113
18
-65
-102
-55
0
0
-7
0
-23
-2
-6
-3
0
-53
61
-17
14
-58
19
-27
0
0
-22
0
-13
-9
0
4
0
-92
3
13
4
-84
-8
-120
0
0
-76
-21
-106
6
-47
-47
-6
-13
-11
-30
4
-25
-56
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
1
0
1
-106
-60
-8
-1
-28
-70
-52
-54
-76
-5
-2
0
0
-35
0
-12
-22
-57
0
-1
2
-45
-5
104
-72
-34
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
40
-36
-13
-19
-21
-25
1
-28
0
0
0
0
0
0
0
0
3
-1
-1
0
0
1
1
-8
0
0
0
0
0
0
0
0
2
5
0
8
0
10
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-14
0
0
0
0
0
0
0
-1
0
19
4
-12
-2
-32
-27
50
0
0
0
0
0
0
6
0
0
-3
-1
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-12
-2
-49
-27
0
-17
-39
5
-68
-15
-128
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
27
9
0
-7
2
-5
20
-95
21
3
-40
-28
5
0
0
-95
76
24
-67
-26
-41
13
10
-44
-41
20
-12
-63
-22
0
0
-4
0
-6
-12
35
-6
9
-73
110
-18
-16
-83
-122
-92
0
0
-20
0
-3
4
-2
-22
-8
-19
-66
-2
-4
3
-16
13
0
0
25
6
-53
-47
-84
0
-5
-44
30
-53
-12
-28
-105
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
-22
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
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
0
0
0
-3
-9
0
0
-7
0
0
0
-1
-5
0
0
41
0
0
0
8
10
0
-5
0
0
0
-14
0
15
0
0
-31
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
-2
0
0
0
0
0
0
0
-2
0
0
2
0
0
-45
0
1
0
6
0
0
0
0
0
-4
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-109
-23
0
0
-2
0
0
0
0
1
0
0
6
0
0
0
-40
-13
0
1
9
0
0
-2
0
-41
0
0
0
0
0
0
40
0
0
6
-22
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
2
2
1
-10
0
32
0
0
-2
0
0
0
-10
-40
0
-5
0
-1
0
2
-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
-9
1
-5
2
32
0
-40
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
0
0
-4
-18
-6
-4
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
-3
2
-4
-95
0
-5
8
8
-1
7
-58
-12
0
0
1
0
0
2
23
40
0
-34
-37
-5
0
-12
-24
-14
0
0
9
0
0
0
0
-17
0
0
5
5
-15
-3
4
-3
0
0
0
0
0
0
0
14
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-30
0
-4
30
0
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
12
0
14
0
0
0
0
0
0
13
-19
0
-33
0
0
0
-9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
-1
0
0
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
-9
0
-13
-16
0
3
5
-10
14
0
0
-7
0
0
0
-14
24
-4
19
-12
0
0
-9
24
-18
0
0
0
0
0
0
-1
2
0
-81
15
0
5
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
-57
-16
0
6
15
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
-8
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
-22
0
0
6
-2
0
-2
4
11
0
0
13
0
0
0
5
17
0
-25
7
0
0
-41
4
-75
0
0
0
0
0
0
0
-1
0
0
-20
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
-7
0
0
-1
0
0
0
-14
-2
0
2
-3
0
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
-1
0
0
0
0
-98
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-1
-43
0
0
-21
-1
-10
0
3
5
0
0
0
0
0
0
-19
-8
0
-2
-6
0
1
6
0
-20
0
0
0
0
0
0
0
1
0
-8
-4
0
-57
4
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-13
0
0
0
0
0
0
0
-5
0
0
-11
0
0
-40
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
3
0
4
0
0
0
-20
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
-9
0
-2
-44
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
15
-54
0
3
29
2
0
-18
17
44
0
0
-20
0
0
0
-1
-10
7
-1
-8
1
2
-41
-15
-57
0
0
0
0
0
0
1
-1
0
-9
-20
0
6
56
-3
-34
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-2
0
0
-2
0
0
0
-1
0
0
22
-47
0
0
-88
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
57
0
0
7
-10
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
-7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-22
0
0
3
13
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
-74
0
0
-18
0
0
0
125
21
0
0
-44
0
0
0
0
-28
0
-6
4
0
0
-56
62
-13
0
0
0
0
0
0
0
0
0
-9
28
0
0
0
-8
-197
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
-4
-16
0
0
30
73
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-18
0
0
0
-88
0
0
-2
-101
9
-20
70
-74
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
5
-12
9
-62
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-7
20
0
-3
-31
8
9
24
-6
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-127
7
5
20
25
-11
0
16
-32
-1
1
-7
-45
-135
0
0
-47
-17
-1
22
-25
-6
0
-36
-97
-38
-25
-44
23
-73
0
0
-20
1
4
6
-68
-2
-1
-32
-45
-18
-11
23
-101
-53
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-25
0
0
-60
0
1
8
-29
0
0
-14
-13
4
63
3
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-5
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
0
0
0
-14
-7
0
0
-9
0
0
0
10
0
0
0
-11
0
0
0
-4
12
0
13
-1
0
0
-27
-8
-19
0
0
7
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
13
-2
0
2
-3
-8
-3
3
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
12
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-1
0
0
-10
2
-9
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
27
0
-5
61
-8
15
4
-9
-13
0
0
-8
0
0
1
-14
-2
-1
-13
-21
12
0
-5
5
-20
0
0
13
0
0
0
5
0
0
4
-87
5
13
-5
1
39
0
0
0
0
0
0
41
0
0
8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
-1
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
-1
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
5
-44
0
-5
-7
-2
0
0
-8
0
0
0
3
0
0
0
1
110
0
5
-18
0
0
-12
-4
0
0
0
1
0
0
0
0
-22
0
-6
-7
0
9
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
24
0
-7
-5
0
0
0
-15
3
0
0
10
0
0
0
-19
-7
3
-90
0
0
0
6
-5
8
0
0
0
0
0
0
0
0
0
-29
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
3
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-6
-8
0
5
-7
-3
0
0
-11
0
0
0
-15
0
0
0
-67
14
0
-19
1
0
0
-51
-4
0
0
0
0
0
0
0
-1
0
0
-11
-5
0
0
-6
-5
-46
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-1
0
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-28
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-29
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
-56
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
-10
-10
0
1
-13
3
0
54
-33
0
0
0
-18
0
0
0
-17
0
1
-10
-1
0
0
19
1
15
0
0
0
0
0
0
-4
0
0
15
4
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
7
0
-4
0
-34
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
-4
8
-15
0
0
-4
-14
2
12
-17
0
0
0
-58
1
1
4
14
-6
0
55
-76
-3
0
-52
-15
-15
0
0
-3
0
0
0
0
1
0
4
-16
9
-4
-2
-28
-47
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-50
0
0
0
1
0
0
0
-59
35
0
0
-7
0
0
0
9
0
0
1
9
0
0
3
-8
7
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-69
-5
0
0
0
0
0
0
0
1
0
0
4
0
0
0
17
2
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-3
-33
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
34
0
0
-4
2
0
3
-2
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
22
0
1
-1
0
0
0
7
-3
0
0
0
0
0
0
3
-5
0
-8
-2
2
0
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
4
0
0
2
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
-4
7
9
0
-2
2
13
0
0
15
29
0
0
-5
0
0
-7
17
6
0
0
12
3
2
6
4
5
0
0
4
0
1
0
3
1
0
0
8
0
0
-1
-3
16
0
0
0
0
0
0
0
2
0
-1
0
0
0
1
0
2
0
0
6
0
0
0
13
-3
0
0
-29
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
8
1
0
0
0
0
0
2
-3
1
0
0
0
0
0
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
0
0
-1
8
0
0
0
-3
1
0
0
5
0
0
-3
-12
4
0
-1
9
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
22
2
0
1
0
0
0
0
6
-8
0
0
-6
0
0
-4
-17
9
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
-1
0
0
-24
-1
-1
-10
-8
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
3
8
0
1
15
-2
0
0
38
-24
0
0
-46
0
5
-3
-17
-8
1
-3
14
-1
0
-8
-4
-64
0
0
0
0
0
0
2
-1
0
-2
-16
0
1
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
0
0
-44
0
-2
0
-29
0
0
-6
-9
-1
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
4
0
0
-2
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
6
24
0
-5
0
0
0
-1
10
-4
0
0
-6
0
0
1
-6
-12
0
1
13
0
0
-3
-31
-4
0
0
0
0
0
0
0
3
0
0
-8
0
1
0
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
-15
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
6
-4
0
0
-3
0
5
-6
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
1
59
-6
0
-3
28
7
0
-1
66
34
0
0
-8
1
-1
-7
12
-8
4
-8
-31
0
0
-9
-8
-11
0
0
-8
0
0
0
20
-4
0
-23
37
0
1
0
-3
-55
0
0
0
0
0
0
0
-7
0
-12
0
0
0
10
0
7
0
0
-80
0
0
0
-24
0
0
0
-39
6
3
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
-7
4
0
0
0
0
0
0
2
1
0
0
4
0
0
0
-10
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
6
0
0
0
0
0
0
-2
2
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-9
-8
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-4
0
0
1
0
0
0
6
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
3
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
5
0
0
0
-3
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
27
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
59
0
0
4
0
0
0
-17
29
0
0
16
0
0
0
-24
5
0
0
-1
0
0
6
1
-10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
17
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
3
-1
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
14
2
0
-3
-1
-1
0
1
12
10
0
0
15
0
0
0
-6
-17
0
-7
-1
0
0
8
-1
-13
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-10
0
0
0
0
0
0
69
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-147
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-30
-21
0
-4
10
0
0
-1
-8
-54
0
0
-3
0
0
0
43
1
0
-1
1
0
0
13
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-17
-11
0
0
-1
1
0
5
-26
-3
0
0
0
0
0
2
-26
5
1
7
2
0
0
2
-1
0
0
0
0
0
0
0
2
1
0
0
-6
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
4
0
0
-1
0
0
0
-22
10
0
0
2
0
0
0
25
1
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
8
0
0
1
0
0
0
40
1
0
0
4
0
0
0
5
-6
0
-2
-2
0
0
-10
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-5
1
0
0
0
-2
0
1
-24
16
0
0
-34
0
0
0
8
-33
0
-5
3
0
0
-24
-2
-16
0
0
-3
0
0
0
0
0
0
-4
5
0
0
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
3
0
-18
0
0
-17
0
0
0
0
0
0
0
-4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
5
0
0
0
0
0
0
9
2
0
0
4
0
1
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-12
0
0
0
0
0
0
-1
2
0
0
0
0
0
10
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-138
8
0
1
38
-2
0
0
0
5
0
0
-5
0
0
0
47
-2
1
1
-7
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-52
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
-15
-82
0
5
8
-3
0
0
-4
-3
0
0
-13
0
0
-1
-6
-149
2
1
0
1
0
-9
0
-4
0
0
0
0
0
0
0
20
0
1
-5
-3
-1
7
-6
0
0
0
0
0
0
0
0
-37
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
39
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
1
18
0
1
-1
0
0
0
-3
-2
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-7
17
0
1
0
-8
0
-1
-24
-5
0
0
-8
-5
2
0
-4
-7
-3
2
21
0
0
-29
4
11
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
-2
0
0
-5
0
0
0
1
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-1
-1
8
0
0
0
0
0
0
-1
-1
0
0
-4
0
0
0
-8
0
0
0
-6
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-21
-3
0
1
21
-1
0
1
-12
-17
0
0
-5
0
0
0
-7
6
0
0
-1
0
4
7
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
-103
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
2
0
-4
-8
0
-2
2
0
0
-8
3
2
0
0
7
0
0
1
-3
-15
3
-5
2
0
0
-2
21
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
14
-4
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
-39
0
-12
0
0
-3
0
0
0
0
0
0
2
-18
0
0
-172
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-9
-14
-23
0
6
-16
-4
0
-1
-159
-13
0
0
8
0
0
-3
2
-4
5
-6
-16
0
0
-34
-62
-56
0
0
-3
0
0
0
0
0
0
-2
1
-1
0
5
-123
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
3
-26
0
0
-8
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
-1
-22
-4
5
0
-3
-30
-13
0
6
-46
-57
0
0
-47
0
-2
2
-16
-4
-6
5
-8
-3
-1
-18
-5
-181
0
0
-2
0
0
0
-15
0
0
0
-3
-1
0
-2
-8
-118
0
0
0
0
0
0
0
0
0
-6
0
0
0
-8
0
-107
0
0
0
0
0
0
-2
0
0
0
-70
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
-1
3
19
0
10
-33
6
0
-12
34
-5
0
0
-17
0
3
-4
4
-25
-5
19
-33
-4
-7
-44
-29
-57
0
0
-29
0
5
1
1
31
1
-8
28
3
5
13
-24
-45
0
0
4
0
0
-1
3
0
0
-8
-20
0
0
-1
14
-80
0
0
-69
0
-3
-1
-5
-1
0
-9
22
0
2
-21
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
21
0
0
5
-1
0
0
3
1
0
0
0
0
0
0
0
6
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
1
0
0
0
-1
0
3
0
0
-8
0
9
0
0
0
0
-6
-8
0
0
5
0
2
0
0
0
0
12
0
0
1
0
0
3
0
1
0
0
-1
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-103
-5
-4
0
-4
22
0
0
8
0
-2
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
6
0
1
0
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-4
0
19
-74
-3
2
0
-5
0
0
0
1
1
0
-3
-70
31
-1
45
3
-7
7
-67
0
-4
0
0
8
0
-15
0
-75
-2
-2
32
-13
10
13
-22
-12
21
0
0
0
0
0
0
-37
1
0
24
-14
0
0
-8
0
13
0
0
-3
0
-2
0
68
0
0
-21
-131
-9
12
-21
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
11
9
-2
-32
-4
-50
8
0
0
-31
-8
6
6
13
20
-2
4
-34
-8
-24
-4
-34
17
0
0
2
0
-5
-8
-12
-58
2
16
-30
2
-32
-2
-25
-54
0
0
0
0
0
0
6
-25
-4
55
-32
-3
0
16
-3
42
0
0
-13
0
0
0
-13
-81
0
-51
-26
0
-13
5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
1
7
-15
0
0
-7
0
3
1
-7
0
1
0
-8
2
0
20
-7
34
0
0
-7
0
0
0
5
0
0
10
13
0
-1
0
2
0
0
0
0
0
0
0
0
1
0
8
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
-33
-4
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-4
6
29
-5
0
0
12
0
1
0
25
-5
2
5
-3
15
-3
31
-27
25
0
0
-2
0
1
0
-14
-5
0
5
18
2
7
5
1
-17
0
0
0
0
0
0
0
3
0
24
1
0
0
3
0
0
0
0
-8
0
0
0
8
-2
0
12
27
-3
6
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
2
3
0
0
0
0
-5
-1
-18
0
0
0
0
0
0
5
-10
0
-1
-2
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-11
0
0
0
0
0
0
-1
35
0
0
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
8
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-8
0
1
0
10
-6
-1
0
25
0
0
79
-2
0
0
0
0
0
0
0
0
1
0
0
8
0
0
-1
0
1
0
0
0
0
0
0
0
2
0
-1
0
0
0
16
0
2
0
0
14
0
0
0
12
0
0
0
-2
0
0
-18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
2
0
0
19
0
2
-5
-29
-15
1
74
-47
-13
19
-48
-179
-72
0
0
-9
0
-9
-1
6
-22
-3
-11
-109
9
-4
-2
-78
-89
0
0
25
0
0
0
0
-4
0
8
24
0
0
60
77
22
0
0
15
0
0
-4
12
0
0
-41
-184
0
25
-26
-133
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
3
2
-1
3
-4
2
3
-24
55
0
-7
16
-7
87
0
0
-5
0
-3
2
-25
-4
2
12
-13
-4
6
17
-17
-145
0
0
2
0
0
0
0
-1
0
-15
5
0
0
8
1
44
0
0
0
0
0
0
1
0
0
-4
-5
0
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-5
22
-6
-2
4
0
-25
1
-1
0
0
-21
0
0
0
38
13
0
-3
-11
-1
9
0
24
-32
0
0
0
0
0
0
0
-8
0
48
6
0
2
15
0
-39
0
0
120
0
0
0
8
0
0
-9
-20
-20
0
-28
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
-8
0
0
0
0
0
21
0
0
0
-6
4
0
0
0
1
-24
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-5
19
14
-1
-10
0
-103
1
25
0
0
-1
0
0
-1
-74
-10
5
-15
-50
-12
-9
-14
-22
-6
0
0
0
0
0
0
-71
0
0
-6
1
-3
0
22
0
11
0
0
-5
0
0
0
-70
0
0
-4
-127
1
0
-4
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
2
-25
-20
-2
0
-1
-1
-3
0
0
-3
0
0
0
-1
-56
0
12
6
0
2
-16
6
-4
0
0
0
0
0
0
0
-73
0
-15
-13
-2
0
-8
0
-9
0
0
-3
0
0
0
0
13
0
-3
4
5
0
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-1
7
0
0
4
0
0
0
0
2
0
-1
2
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
-2
0
0
1
3
1
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
13
-5
-16
0
0
23
0
0
0
-2
5
0
-56
-2
5
-8
-1
-4
-40
0
0
0
0
0
0
0
-7
0
-47
0
0
0
-5
0
-18
0
0
-4
0
0
0
0
0
0
-24
-20
-5
0
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
0
7
3
-47
0
0
2
0
0
3
-5
-10
-1
-1
1
-2
8
-1
1
11
0
0
0
0
0
0
0
-4
0
-3
3
0
0
5
0
30
0
0
-18
0
0
0
-13
2
0
11
-3
-4
0
64
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-6
0
0
3
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
-26
0
0
-1
0
0
0
-28
10
0
-5
7
-1
1
-43
19
-14
0
0
0
0
0
0
0
2
0
-12
1
0
0
-78
0
-18
0
0
-77
0
0
0
-6
0
0
13
-41
-9
12
-42
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
-3
0
0
0
0
-2
0
-27
2
0
0
0
-96
-13
0
0
0
0
0
0
0
0
0
24
0
0
0
4
0
-34
0
0
1
0
0
0
0
0
0
-1
51
0
0
27
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
-12
0
-3
-1
-10
0
0
-8
-55
-3
-8
22
-21
-181
0
0
5
0
0
1
0
0
0
-28
-13
0
0
8
0
-189
0
0
-8
0
0
0
-7
0
0
-24
-75
0
0
-60
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
-10
5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-38
0
0
-2
-69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
9
-4
0
-7
8
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
-5
0
0
7
0
0
0
1
0
0
-152
-84
0
6
-10
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-23
0
0
0
0
0
0
0
0
0
1
-1
0
0
-7
0
-44
0
0
-45
0
0
0
-49
-3
0
-4
15
-2
0
-13
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
1
0
0
0
-3
0
0
0
-10
0
0
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
4
0
0
0
-8
0
-10
0
0
0
0
0
0
0
0
0
-1
-30
0
0
-4
-168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
3
0
0
0
0
0
0
5
-4
0
0
0
0
-75
0
0
-30
0
0
0
-15
0
0
4
-242
-5
0
-27
-59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-137
-19
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-48
0
0
-84
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
-84
0
0
-11
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
99
0
26
0
0
0
48
0
-160
0
0
0
0
0
0
50
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
-39
-67
0
-8
0
0
0
0
0
5
0
0
0
0
0
0
39
0
0
-6
0
0
0
0
0
-3
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-2
0
3
-23
0
-51
47
-1
22
34
-26
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-11
38
0
-17
30
0
-8
45
-22
-1
0
0
66
-3
0
0
40
4
0
39
31
14
-3
-1
-43
-24
0
0
-34
0
17
0
-91
101
-2
1
-76
-24
2
14
59
18
0
0
0
0
0
0
-14
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-19
31
0
-8
0
0
0
3
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
-6
-5
-34
93
0
9
17
-1
0
-3
14
13
0
0
21
0
0
3
6
-61
-10
-11
19
-21
0
-10
-9
24
0
0
-3
0
-10
0
11
-19
0
-36
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-39
0
0
2
-1
10
-2
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
0
-1
0
0
0
-8
-1
0
0
0
0
0
0
0
-5
-3
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
-22
0
-4
35
0
-17
-13
19
85
37
-79
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-51
-51
0
4
4
-3
-12
12
-24
-2
0
0
-16
2
-1
0
-26
13
-1
-24
3
-9
0
-2
-26
-6
0
0
-13
0
41
-1
-15
-85
3
6
4
6
63
28
-2
48
0
0
2
0
0
0
-4
-54
0
5
0
0
3
2
0
1
0
0
0
0
0
0
-1
-11
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
-36
0
0
6
0
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
5
-4
67
-75
0
-2
-21
0
0
-6
-22
6
0
0
-20
0
0
0
-55
-64
-2
9
-10
-2
0
-31
-12
-14
0
0
2
0
6
0
10
-27
0
9
2
0
0
0
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
44
23
0
-1
0
-1
0
4
12
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
2
0
0
-1
-2
0
-2
-4
-1
0
0
10
0
0
0
-12
-25
-1
39
-18
-12
0
-20
20
29
0
0
-6
0
1
0
-15
-19
7
9
5
0
9
2
36
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
11
49
0
1
2
0
0
3
8
-8
0
0
0
0
0
0
13
-18
-1
9
1
0
0
-2
10
5
0
0
0
0
0
0
2
0
0
3
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-130
30
8
-11
8
30
68
0
0
0
0
0
0
-8
2
0
16
0
0
0
9
-12
-14
0
0
0
0
0
0
16
-21
0
-70
0
-7
0
2
-9
1
0
0
0
0
0
0
6
8
0
-15
0
0
0
0
9
-2
0
0
0
0
0
0
0
70
0
-5
0
0
0
-3
0
-26
0
0
0
0
0
0
6
0
0
22
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
82
-3
-7
31
-5
-39
4
1
15
30
-55
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-4
-13
-2
24
-35
0
79
61
55
29
-69
-42
14
0
0
19
-18
-19
98
68
12
-16
-43
-35
24
3
50
-11
-13
0
0
79
31
40
-1
-32
-8
2
-116
-16
4
34
6
4
34
0
0
-21
1
17
2
33
-33
6
-45
9
7
17
-11
-16
20
0
0
56
0
-2
0
68
32
2
-14
-3
0
-2
-35
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
0
-5
0
-5
4
-11
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
26
0
-32
85
0
-4
29
5
21
40
-2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
4
128
15
-44
41
0
-66
-30
63
30
7
-58
70
0
0
71
7
16
35
26
56
-8
-85
128
-18
-7
32
-28
-16
0
0
37
0
50
8
12
-19
0
64
4
-23
-21
3
-59
-43
0
0
3
0
2
3
12
46
0
30
13
0
0
0
0
-45
0
0
75
0
13
1
39
17
0
-8
-13
0
-1
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
-47
-13
0
-5
-8
1
-28
50
67
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
5
25
0
-12
-7
2
0
4
67
0
0
0
-15
-3
0
0
-66
76
4
-42
9
-23
-2
22
26
-87
0
0
11
0
5
-3
-12
25
-3
34
11
1
15
4
42
-3
0
0
0
0
0
0
1
-2
0
16
0
0
0
-5
0
-20
0
0
0
0
0
0
-14
3
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
-2
0
0
0
2
4
-8
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-4
-26
-23
0
-8
22
1
0
-1
-48
-94
0
0
-11
0
0
2
-30
-40
6
-8
0
0
0
-2
5
-24
0
0
2
0
0
0
-32
6
0
-9
13
0
-2
0
-8
-10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
4
0
20
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
-9
54
35
-67
0
-3
-10
42
-48
-14
54
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
92
-88
0
-33
-14
-1
19
4
-33
-62
0
0
16
-16
-12
-17
63
-17
-31
-104
37
-27
-51
-47
84
58
0
0
-52
0
-66
13
29
19
-47
-19
120
29
54
-4
-7
29
0
0
2
0
7
4
10
-4
-6
-88
-72
0
-5
27
70
-81
0
0
-1
0
0
-2
37
8
4
-42
9
0
6
7
-148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
0
16
58
0
1
-7
0
-21
-43
-97
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
56
-3
-5
30
2
58
16
0
-13
9
51
0
0
0
-4
0
-22
19
-24
-52
-44
-24
-28
2
9
-27
20
-58
0
0
-44
0
17
-1
-21
-7
0
8
-58
0
6
4
-20
58
0
0
7
0
0
5
1
-12
0
24
2
0
0
-71
0
-50
0
0
17
0
1
0
30
-31
0
13
-6
0
-4
-68
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-21
-1
-48
110
-4
15
25
15
7
14
4
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
16
36
0
-4
-43
2
5
44
-27
34
0
0
20
0
0
19
46
-4
0
-9
-25
-51
3
-34
9
-43
0
0
-25
2
-8
-1
-17
-63
-5
35
46
-7
22
-13
-33
-13
0
0
-4
0
0
0
-28
-4
0
-56
-4
-1
3
4
-6
-93
0
0
0
0
0
0
-6
-58
0
7
0
0
0
-31
126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
-2
12
0
0
12
-1
0
3
-9
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
1
0
8
-18
17
0
-24
-20
1
0
11
50
-137
0
0
-17
0
-6
0
-142
0
-13
-5
-29
0
0
-5
11
7
0
0
30
0
0
0
-56
37
0
-4
1
-2
0
0
2
-8
0
0
3
0
0
0
0
-17
0
2
1
0
0
0
0
-67
0
0
-27
0
0
0
-13
3
0
-3
7
-6
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-41
-76
0
0
0
0
0
0
4
0
0
7
0
0
0
-7
5
-11
0
0
0
0
0
0
-22
-6
-1
1
0
-1
-1
-7
-26
-20
0
0
0
0
0
0
-18
1
-1
-3
0
0
0
1
1
-12
0
0
0
0
0
0
0
-34
0
-46
0
0
0
-17
0
-2
0
0
0
0
0
0
8
0
0
-5
0
0
0
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-21
-55
-11
31
31
52
-14
-10
0
-103
103
10
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
18
6
54
94
4
39
-122
37
6
-41
8
33
0
0
-61
34
-2
-11
-30
60
19
-24
-2
-96
-19
-6
38
-65
0
0
-1
-23
62
-7
-1
115
-7
-27
-44
43
-7
36
24
71
0
0
9
0
4
-2
-22
66
9
-21
-6
4
20
19
-10
-6
0
0
-64
0
-5
0
-88
-44
0
15
-3
0
-3
3
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
9
0
0
0
21
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
13
0
0
2
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-15
-1
1
5
0
10
-11
-12
-55
27
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-19
57
46
26
-5
-1
13
3
-53
3
13
-29
68
0
0
15
-3
4
33
15
-22
34
-38
10
19
-5
-75
-23
-13
0
0
-15
5
-9
-3
0
17
0
67
3
-7
-27
-5
2
31
0
0
-3
0
3
0
8
3
0
-9
6
0
0
-34
0
57
0
0
-38
0
-3
0
-64
0
0
-6
24
0
0
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-4
5
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
3
-29
-6
-7
-49
-2
46
-26
-8
-9
-102
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
60
-58
0
3
84
10
-8
-41
6
60
0
0
28
42
-4
-9
-41
93
0
-60
-19
-58
3
-55
29
14
0
0
54
5
-37
0
42
-42
25
-2
-63
23
10
-54
-16
93
0
0
-25
0
0
0
0
70
0
9
1
0
-1
-3
-2
7
0
0
5
0
0
0
13
-13
0
-15
0
0
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-9
0
-2
1
-4
6
7
-36
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
-1
-7
7
4
4
8
-49
-5
-14
-24
-92
12
0
0
29
4
3
-31
14
-129
2
14
-50
0
0
-7
73
3
0
0
-6
0
0
0
5
3
0
-40
-31
-1
0
-8
-7
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
9
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
28
0
0
0
-1
-1
0
0
0
0
0
0
0
3
0
2
64
0
12
0
37
20
8
0
0
0
0
0
0
8
0
0
-11
0
0
0
9
-3
-11
0
0
0
0
0
0
-1
25
0
-23
0
0
1
8
0
24
0
0
0
0
0
0
5
0
0
-1
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
-15
-57
2
31
-52
9
1
-84
-35
-44
-56
69
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
1
2
22
30
0
-98
-62
-13
-8
-3
100
-28
0
0
65
57
20
-11
10
10
23
6
15
4
-114
48
12
-10
0
0
-76
-5
-40
-39
-75
5
-12
-12
-72
9
38
-3
20
-4
0
0
-17
0
1
4
60
-17
10
-27
14
2
23
-3
41
-58
0
0
53
0
0
0
36
0
0
24
0
0
8
-17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-23
0
5
0
19
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
10
0
0
0
0
0
0
10
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
27
2
-6
-46
0
-20
92
10
-25
-7
-38
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-10
5
-99
48
-16
-106
0
0
-13
-46
72
-74
0
0
8
27
6
-27
60
19
3
-38
44
8
5
19
-27
-69
0
0
-29
-2
15
-8
-1
-56
-4
9
-122
-5
17
-22
-58
26
0
0
2
0
14
-5
4
-9
0
-9
-2
0
3
-54
0
-50
0
0
-87
0
2
6
7
0
0
20
-4
-3
-8
1
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-79
-15
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
4
0
0
0
-7
0
0
0
0
5
0
0
0
24
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-54
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
21
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
31
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
2
9
0
4
0
0
5
0
-17
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-11
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
1
0
0
0
9
-2
-3
0
0
0
0
0
0
-1
8
9
0
0
0
0
0
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
3
0
10
28
0
-4
0
0
0
1
-79
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-57
-54
0
0
0
0
0
0
-17
3
0
0
8
1
0
5
18
3
-2
-19
36
5
6
-15
7
63
0
0
56
0
-21
1
-51
27
0
-45
-30
0
-27
0
27
19
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
17
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-1
0
19
0
0
-5
0
0
0
-6
-39
-7
0
0
11
2
0
-2
16
14
0
1
2
0
0
-23
-1
-7
0
0
0
0
0
0
-8
4
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
0
0
1
0
-4
0
0
0
0
0
0
-13
9
0
-5
0
0
0
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
3
5
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
1
8
0
0
0
0
0
-25
-3
0
0
0
-1
0
0
0
2
-5
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
5
3
0
6
0
0
0
0
-45
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
51
100
0
-10
4
-1
61
-46
9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
0
-5
0
0
0
-1
6
0
0
0
25
0
-2
0
-16
-12
0
-10
-8
9
0
-83
3
6
0
0
17
0
-19
0
-10
10
0
1
-23
0
3
-1
47
17
0
0
0
0
0
0
-4
-5
0
-1
0
0
2
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
7
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
65
84
0
1
0
0
0
0
-1
-26
0
0
-5
0
-8
0
-39
34
-5
-2
-1
0
0
16
1
11
0
0
-2
0
0
0
-5
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
75
0
0
0
0
0
13
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-15
-8
0
3
0
0
0
-8
-13
4
0
0
3
0
0
0
3
-6
0
-7
0
0
-23
0
85
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
0
0
-18
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
46
91
0
4
3
0
2
29
-80
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
13
0
-4
8
0
0
3
-7
-14
0
0
-8
0
0
0
16
8
0
-3
-35
0
-2
38
57
0
0
0
-11
0
0
0
-28
-22
2
6
9
0
20
2
11
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
8
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-18
0
0
0
-3
0
0
0
9
-7
0
0
-21
0
0
0
19
0
0
-5
0
0
0
-5
10
-38
0
0
-1
0
0
0
8
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
56
0
0
-1
0
-2
-6
18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
30
0
22
-13
-1
0
-13
0
-2
0
0
4
0
0
0
-48
4
0
97
0
0
5
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
66
64
0
-5
1
0
0
0
0
-22
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
12
-14
0
-3
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
2
0
-2
0
0
0
-5
0
0
0
0
-3
0
0
0
5
-24
0
0
0
-1
0
-36
-7
0
0
0
0
0
0
0
3
-17
0
-3
0
0
1
0
-16
-5
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
17
0
0
0
0
-1
-3
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
5
-12
0
0
2
0
0
-5
4
0
0
0
-7
0
0
0
-40
57
-45
-16
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-43
39
0
0
1
0
0
0
6
-4
0
0
0
0
0
0
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-5
0
0
0
0
0
-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
-2
1
0
-12
47
-19
-2
-22
33
9
3
1
-84
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
27
62
0
7
-2
-7
0
0
41
-17
0
0
-12
-21
0
5
47
54
-1
12
-56
0
0
34
7
48
0
0
-59
5
-12
-11
81
22
0
67
80
65
-135
19
-12
-64
0
0
0
0
0
0
1
-27
0
-30
0
0
0
-2
0
47
0
0
4
0
0
0
-20
-5
0
-3
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
-8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
0
0
0
-43
23
0
1
14
0
-5
10
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
-10
-13
71
0
24
17
-1
0
3
88
-46
0
0
16
0
6
0
-49
6
1
-1
12
0
0
-11
39
33
0
0
9
0
0
4
3
5
0
32
-24
-1
-3
0
-3
-25
0
0
0
0
0
0
0
0
0
-19
0
0
0
-8
0
4
0
0
3
0
0
0
34
5
0
0
-5
0
0
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-45
-4
0
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
40
-29
0
0
0
0
0
0
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
-79
0
5
0
0
-1
0
0
0
15
-4
0
0
0
0
4
0
-21
11
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-14
33
0
0
0
0
0
0
6
9
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
-27
0
0
0
0
0
4
-44
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-41
-39
2
-24
0
0
0
1
6
-11
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
17
23
0
-1
0
0
0
0
9
-12
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
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
-66
0
-4
0
-48
70
0
-30
-7
-4
45
-29
6
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-26
-14
0
-19
24
4
0
-21
75
64
0
0
-13
-5
0
0
-5
-67
0
-8
5
20
0
79
-11
72
0
0
48
3
18
-2
-81
52
3
-28
-6
-5
36
6
-3
123
0
0
-5
0
0
0
-7
47
0
4
0
0
0
-1
0
10
0
0
0
0
0
0
-51
-13
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-22
0
0
3
-2
2
-8
3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
-8
1
0
-55
-15
0
32
-36
0
0
8
9
32
0
0
10
0
9
-8
-15
-49
-2
-29
2
1
0
-2
-2
-30
0
0
31
0
0
0
34
43
0
21
-1
0
0
-13
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-5
0
0
-33
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
-38
25
0
3
3
0
-5
49
34
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-22
0
5
5
0
0
-4
26
-30
0
0
1
0
0
0
16
-116
5
28
-29
0
0
96
46
-38
0
0
10
0
0
0
29
24
0
46
-40
4
1
-2
-34
-63
0
0
0
0
0
0
0
-7
0
0
0
0
0
-2
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-7
-10
0
0
5
0
0
0
70
-6
0
0
-1
0
0
0
-12
-40
0
0
0
0
0
0
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
91
55
0
8
8
0
22
4
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
46
41
0
7
13
0
3
0
37
14
0
0
-2
0
0
0
-31
14
0
20
31
-4
0
20
-40
-10
0
0
70
0
5
-8
-37
-47
-6
-37
12
7
-11
12
-21
-156
0
0
0
0
0
0
-7
7
0
7
0
0
0
0
0
36
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-7
-4
0
0
-1
0
0
-21
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
5
4
22
17
0
0
1
0
0
-22
-34
-61
0
0
2
0
0
-5
-50
1
0
-16
1
0
0
22
0
-14
0
0
0
0
0
0
4
-5
0
1
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-41
-42
0
-1
-2
0
-41
2
18
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
-17
0
-19
-5
0
0
7
2
9
0
0
0
0
0
0
-43
-30
0
43
0
0
-8
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
2
-51
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-108
-2
0
-8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
24
-2
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-47
0
-1
0
0
0
4
-1
0
0
0
0
0
0
0
-2
3
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
0
13
4
0
0
0
-3
0
0
0
0
0
0
0
0
6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
0
0
0
0
1
7
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
0
1
0
0
0
1
1
-3
0
0
0
0
0
0
0
22
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
-5
2
1
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
8
0
82
53
0
-47
-19
4
38
-31
53
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
61
-22
0
-18
-8
1
-2
0
-13
-42
0
0
28
0
1
5
11
-26
0
25
-2
3
-1
87
17
-18
0
0
20
0
6
0
2
10
0
-31
16
-8
27
-5
54
-124
0
0
0
0
0
0
4
-5
0
22
0
0
0
-8
0
69
0
0
1
0
0
0
22
3
0
1
0
0
0
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
12
3
0
0
1
0
0
-15
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-7
61
-1
0
-8
-21
-1
0
0
58
8
0
0
-15
0
0
0
16
16
-1
7
-16
0
0
53
-4
10
0
0
0
0
2
0
-7
2
0
-1
-13
0
0
0
0
15
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
3
0
0
0
-4
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
55
32
0
12
-3
2
15
36
-48
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
34
0
-1
0
0
0
1
0
-3
0
0
-4
0
0
0
33
33
0
0
7
0
0
-5
9
-55
0
0
29
0
0
0
16
-33
0
13
0
0
1
0
45
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
4
48
0
0
0
0
0
0
32
15
0
0
0
0
0
0
96
23
0
-8
0
0
0
-1
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
-4
26
0
4
0
0
41
21
28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
-76
0
48
0
0
0
-7
74
-41
0
0
5
0
-8
0
0
9
0
-38
10
0
-4
0
60
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
6
-15
0
0
0
0
0
0
-18
-23
0
0
-4
0
0
0
2
3
0
-3
5
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-2
0
33
-55
0
-24
-4
1
30
98
-30
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-20
0
-4
-5
0
0
-5
-5
-2
0
0
-21
0
0
0
114
51
0
-24
-20
10
6
-36
60
4
0
0
-15
0
0
-1
48
-69
0
-29
12
0
7
0
-38
37
0
0
0
0
0
0
-2
3
0
2
0
0
0
0
0
-73
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
3
0
0
1
0
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
1
0
-12
19
0
-9
3
0
4
0
-6
-29
0
0
-33
0
0
0
38
-15
0
-5
9
0
0
-3
1
-56
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-6
0
0
0
0
0
6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-1
0
-2
0
0
0
39
0
-13
0
0
0
0
0
0
67
-28
0
-7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-75
24
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
9
-124
32
8
-7
-28
12
-49
34
-42
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
-1
27
33
-3
-18
-123
-8
-64
-84
76
-9
0
0
12
0
-12
2
-39
40
-7
-27
-46
9
12
-45
57
18
0
0
-42
0
11
2
18
28
-14
-46
26
91
-27
-21
0
-4
0
0
0
0
0
0
0
69
0
-32
0
0
0
2
0
1
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-2
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
33
5
10
-65
-69
-5
31
-45
-1
0
45
-15
-11
0
0
11
0
0
-2
14
94
14
71
16
-21
0
-16
1
-20
0
0
-12
0
0
0
0
14
0
-8
7
0
0
0
0
-2
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
2
-23
70
0
-51
4
6
29
-65
-44
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
50
-34
0
-5
-30
0
-2
12
-37
-23
0
0
11
0
0
-7
-52
-36
1
8
65
-5
9
-47
-15
51
0
0
53
0
2
6
-13
31
-2
-52
58
9
20
38
-19
-12
0
0
0
0
0
0
0
-20
0
48
0
0
0
0
0
42
0
0
0
0
0
0
-15
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
24
0
0
-1
0
0
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
5
-34
-9
0
23
-29
0
0
1
-48
-20
0
0
-34
0
0
1
-6
-25
2
-3
-8
0
0
-22
-2
6
0
0
5
0
0
0
-7
-4
0
34
2
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
39
0
5
0
0
-1
0
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-29
-42
0
-8
0
0
0
35
-1
34
0
0
4
0
0
0
-17
-83
0
15
0
0
0
0
12
54
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-17
10
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-18
-40
0
0
0
0
0
-2
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
4
0
0
3
0
0
0
-31
-81
0
-17
12
0
0
-21
0
14
0
0
0
0
0
0
-19
35
0
14
0
0
0
0
-6
-13
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
6
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
33
0
-5
0
0
38
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
4
-1
0
7
8
0
5
0
0
0
0
0
0
-12
-3
0
-8
0
0
1
-13
0
-7
0
0
2
0
0
0
-34
41
0
2
0
0
-48
0
-34
-52
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
7
8
0
0
-13
0
0
0
0
0
0
0
-2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
21
-194
0
5
-18
-3
38
51
-63
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-32
-80
0
1
-20
0
2
114
22
-3
0
0
-22
0
0
0
13
25
0
-8
68
13
0
7
50
81
0
0
-23
0
0
0
-28
-23
2
-16
-4
0
-21
-51
9
-30
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
-5
0
2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-1
10
0
0
2
0
0
-74
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
52
-92
0
-12
-15
0
0
-12
0
-62
0
0
-23
0
2
-2
8
12
5
-18
7
0
0
4
7
18
0
0
0
0
0
0
0
13
0
25
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
51
0
0
0
0
-3
0
-89
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-3
0
-1
0
0
15
-1
0
0
0
0
0
0
0
62
0
-4
0
0
0
33
-46
-24
0
0
8
0
0
0
0
9
0
3
0
0
-10
6
43
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-2
0
0
7
0
1
-2
0
0
0
59
-23
0
0
-2
0
0
0
0
-4
0
0
0
0
0
3
8
1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-9
0
44
-18
0
25
15
7
-52
-18
-11
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-50
-20
0
18
30
5
-2
-20
-12
50
0
0
23
2
0
6
29
-8
3
-13
-13
31
20
-10
9
45
0
0
13
-7
2
0
-56
-76
3
39
-26
3
-81
12
-18
17
0
0
0
0
0
0
0
-11
0
25
0
0
0
-2
0
22
0
0
0
0
0
0
60
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-1
0
0
-1
0
0
0
-7
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
4
-14
12
6
0
-15
38
0
0
3
-85
-32
0
0
-78
0
1
5
-54
35
-2
-41
19
0
0
-7
-2
-12
0
0
-9
0
0
0
1
0
0
-24
-9
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
4
0
0
0
0
0
-1
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
-20
0
0
0
0
2
-12
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
-56
13
0
4
3
18
0
-46
0
-4
0
0
-2
0
0
0
65
39
-2
7
0
0
-10
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
-1
8
0
0
6
0
0
8
0
0
0
0
0
0
0
0
-5
0
4
3
0
0
0
-2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-55
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-48
-26
0
-5
0
23
1
-10
-69
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-22
0
-29
-5
0
0
-1
-8
-3
0
0
5
0
0
8
-68
6
6
-19
41
15
0
21
-32
5
0
0
16
6
-1
0
-1
4
-1
118
20
-3
10
44
-43
5
0
0
0
0
0
0
0
-2
0
22
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
22
1
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-3
20
0
3
21
0
0
1
-82
11
0
0
-2
0
0
-4
1
-27
0
-13
0
0
0
25
-8
8
0
0
6
0
0
2
22
5
0
5
0
0
1
0
1
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
3
0
0
0
0
0
-7
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-25
-7
0
9
-2
0
0
-8
28
1
0
0
0
0
0
0
-18
12
0
-13
0
0
0
0
28
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-9
3
0
3
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
57
0
0
1
0
24
-34
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
2
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
15
29
0
-9
-12
-10
0
15
24
-1
0
0
0
0
0
0
-2
5
0
1
0
0
1
-8
-24
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-24
16
0
0
-3
0
0
0
31
0
0
0
3
0
0
0
-19
20
0
3
1
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
-7
0
0
0
0
-2
-5
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-11
2
0
-2
4
10
0
-9
-6
-4
0
0
-5
0
0
0
-5
-33
0
5
0
-5
8
3
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
13
-99
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
7
4
0
1
-3
0
0
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-5
-3
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-5
-14
0
0
0
1
0
0
0
5
0
0
2
0
0
1
0
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
0
-1
20
2
-19
80
37
37
18
36
-4
-120
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
11
0
2
4
42
-19
-10
30
10
25
0
0
66
-13
1
-11
21
26
4
-19
37
-33
3
-12
-121
-52
0
0
246
8
-3
28
-13
-61
11
42
101
61
-66
6
-88
-57
0
0
187
0
0
0
-40
58
31
-44
-5
-2
7
-23
14
34
0
0
178
0
0
0
89
14
-15
16
-1
-1
-5
-46
83
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
6
4
-7
-43
-21
23
3
21
-21
0
0
0
0
0
0
0
0
29
13
0
0
0
48
0
-2
0
0
0
0
0
0
0
0
-7
-75
0
4
-5
-25
-24
6
0
0
0
0
0
0
0
0
0
-6
-6
3
1
6
-23
-6
0
0
0
0
0
0
0
12
0
-48
-6
-2
-14
-4
3
4
0
0
0
0
0
0
1
0
0
8
-4
0
1
-17
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
0
5
0
-11
-42
1
8
-10
-12
-1
36
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
41
0
-40
-16
-2
-68
147
-45
-19
-35
-16
-54
0
0
-22
-23
9
-54
-3
-95
48
-30
4
25
-18
-6
-162
-123
0
0
127
0
-7
1
62
70
-34
-24
14
13
7
-15
25
-14
0
0
125
0
0
0
5
5
3
-5
-23
0
0
45
2
9
0
0
70
0
0
0
-24
16
0
6
-45
-8
0
82
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
18
32
0
0
0
0
13
-25
-46
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
-9
32
0
-5
5
0
-6
25
3
-5
0
0
2
41
0
0
-54
58
-1
-25
2
0
8
31
-29
-46
0
0
-3
107
0
0
1
-44
1
-63
12
-1
-3
5
-10
-59
0
0
0
110
0
0
0
-4
0
0
0
0
0
0
0
6
0
0
0
-24
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-66
0
0
0
0
3
-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
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-2
-8
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
-9
37
0
-4
15
-1
0
4
-5
-4
0
0
-8
-46
0
0
25
-34
-5
-8
-7
0
0
5
8
-51
0
0
0
-14
0
0
7
3
0
-24
-1
0
0
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
1
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
0
-19
-6
-8
-8
5
-14
7
1
-33
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
181
0
59
-21
0
-31
16
16
-3
-24
20
-81
0
0
18
0
36
0
-136
-11
13
28
4
47
0
-9
52
-42
0
0
15
0
167
2
-44
-17
-1
-27
-3
-45
-30
-20
58
-45
0
0
0
0
65
0
0
-14
0
-3
0
0
0
20
0
-28
0
0
0
0
83
0
-9
-1
0
3
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
25
-10
6
0
51
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
0
8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
-7
0
0
22
2
0
13
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
5
-15
-25
18
0
6
27
-1
0
-20
-46
-74
0
0
7
0
6
0
-60
12
15
-4
-44
-12
0
63
-34
-47
0
0
-15
0
117
0
-13
-6
0
38
56
-5
0
6
0
48
0
0
0
0
77
0
0
8
0
-1
-1
0
0
-7
0
1
0
0
2
0
69
0
-1
0
0
0
2
0
0
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
51
90
0
2
0
0
4
-9
52
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
146
-41
35
0
-5
-4
7
-1
-1
-5
75
0
0
0
0
0
48
-38
2
8
7
-5
9
-1
-87
-79
-66
0
0
-8
0
-1
74
49
-21
0
-50
-1
0
-20
5
-47
1
0
0
0
0
0
124
0
-12
0
0
0
0
0
5
0
37
0
0
0
0
0
51
-1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
2
12
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-6
-27
8
-59
0
-7
9
3
0
0
-48
-33
0
0
-1
0
0
-63
-53
-40
5
6
11
0
0
8
-2
-143
0
0
0
0
0
1
8
-5
0
-19
-3
0
0
0
9
-28
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
32
0
0
0
0
-3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-33
-10
6
-92
-52
-30
32
21
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
17
34
-19
67
-10
-37
-27
-83
-10
47
-17
17
-6
0
0
-92
-76
88
58
11
14
-10
15
-27
-97
-28
-30
13
-18
0
0
-37
1
58
-15
37
-6
68
-3
-97
-94
-20
-17
-19
-13
0
0
4
0
0
13
7
52
23
9
-6
-21
8
38
0
1
0
0
-73
-4
7
6
39
2
24
-4
-19
4
41
-146
24
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
28
14
20
4
27
-12
90
-64
-49
0
0
0
0
0
0
8
0
3
-22
-4
-1
0
18
0
4
0
0
0
0
0
0
-34
14
-21
73
2
19
-10
44
-1
-68
0
0
0
0
0
0
45
0
-1
-3
-6
-7
-1
29
1
-17
0
0
0
0
0
0
7
20
0
42
-41
6
3
-64
0
83
0
0
-1
0
0
0
107
0
0
79
45
2
-10
-79
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
-5
-46
-77
21
-2
-76
-66
-58
104
-9
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
64
-28
-15
13
-10
-46
-29
-64
-1
-61
2
-23
-39
0
0
27
-42
3
-34
11
24
18
-17
-24
-89
39
-35
16
-27
0
0
-19
2
-2
16
-7
-82
-3
-54
7
-35
0
-22
5
-13
0
0
0
0
0
0
101
-87
-5
-35
7
-19
-3
-28
0
-110
0
0
72
-5
-22
8
99
13
13
-41
-32
1
-23
-25
63
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
115
93
65
6
-34
18
-27
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-9
7
82
-26
6
-30
-23
44
38
69
-56
-32
49
0
0
-79
-74
-35
10
-33
6
29
-21
-38
12
-12
-28
-1
-40
0
0
-10
-95
-100
29
-63
31
13
-55
-59
-102
-3
-134
-66
9
0
0
-67
-5
-8
18
-28
18
38
-98
-73
-35
9
-141
-112
55
0
0
54
13
-5
-6
65
129
35
40
-7
0
22
32
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-59
23
75
28
53
-21
-1
-11
21
0
0
0
0
0
0
3
-34
-42
46
98
-3
-20
-41
-6
38
0
0
0
0
0
0
-47
-25
35
-64
17
-10
-17
67
-38
31
0
0
0
0
0
0
4
-6
-22
69
-58
-20
-7
3
5
-24
0
0
0
0
0
0
6
-24
0
1
-9
-58
8
-37
48
-20
0
0
-1
0
0
0
10
17
0
32
23
-20
8
38
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-27
-9
10
51
93
19
49
-48
-48
18
-18
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-37
1
14
13
29
-39
63
9
-44
31
27
-20
-19
0
0
1
1
33
4
48
2
-4
9
-16
-71
34
41
24
1
0
0
-34
-32
23
-71
-7
50
-5
-85
20
-80
43
-18
-19
-63
0
0
48
1
-35
-34
55
-6
-70
37
24
51
-59
-47
-8
-50
0
0
-15
0
0
6
15
61
10
18
-47
64
-30
62
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-52
3
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-17
24
10
-4
-7
0
5
17
48
-10
0
0
16
0
0
6
22
-54
-134
-24
-33
-23
-7
-46
4
81
0
0
2
0
4
3
58
6
16
-12
19
2
-32
29
61
-25
0
0
0
0
0
0
0
34
0
-5
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
25
-9
0
0
8
0
-4
29
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
1
-15
9
-5
6
26
-1
0
0
-23
-7
0
0
14
0
0
1
11
-65
23
-26
24
1
0
13
28
-99
0
0
-5
0
0
0
5
12
0
-5
3
0
0
-2
-6
3
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
-5
0
0
-3
0
0
0
4
0
0
0
1
0
0
-22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
97
-8
11
97
82
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-3
15
-98
20
0
-35
35
-12
1
-54
-137
-60
0
0
7
-2
14
-36
-69
-30
-12
58
-36
6
-13
31
-30
-59
0
0
-35
4
19
-16
-161
-53
35
-47
33
27
-53
6
36
-15
0
0
-9
0
0
-2
-9
-9
-21
-17
7
3
9
-13
-3
-35
0
0
8
0
0
0
-88
34
1
-61
16
0
0
47
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
12
18
-4
-19
-31
-1
21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
9
0
0
0
38
0
8
0
0
0
0
0
0
9
0
0
-7
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-4
3
0
15
0
-1
9
7
57
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
-6
7
-116
28
-2
-57
-46
10
8
19
24
-45
0
0
27
2
-16
-52
64
-69
21
14
-29
12
2
-2
-32
-49
0
0
7
0
10
6
-26
43
2
-26
28
-10
6
13
26
29
0
0
-1
0
0
0
0
2
0
-49
-1
0
-1
54
0
0
0
0
44
0
0
0
-6
-6
0
-92
28
0
-1
48
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-20
-9
24
48
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
-1
0
-84
-5
35
-45
-17
-146
-30
0
0
-26
3
6
-1
-3
-31
42
-19
81
-26
-81
-15
-72
-55
0
0
-19
-17
-143
-5
-120
-8
-61
-8
32
30
-40
-120
-73
-108
0
0
0
0
0
0
22
-4
-21
-31
12
0
-20
-34
11
-82
0
0
-5
0
0
0
-65
60
-2
-5
5
0
2
31
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
30
23
48
31
-17
-71
79
-74
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
4
0
-1
8
6
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
4
1
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
4
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
2
-54
5
-2
11
2
-4
6
1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
2
5
-67
17
-69
-1
5
64
-36
-5
14
-65
22
0
0
78
-3
14
23
-41
-144
-24
80
49
8
-13
45
-60
-55
0
0
26
0
3
4
6
-21
11
-48
67
17
-14
-13
10
-52
0
0
0
0
0
0
0
-7
1
27
1
0
0
10
0
-65
0
0
-3
0
0
0
-14
-9
4
-5
-55
-2
0
45
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-98
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-26
16
0
17
-39
2
0
-7
30
-43
0
0
31
49
-14
15
-28
18
-14
-62
48
-18
-29
-17
-35
5
0
0
44
0
24
10
-44
-33
-14
-48
-35
42
73
-74
-152
-69
0
0
2
0
0
0
13
31
6
-5
3
0
2
31
-9
-22
0
0
0
0
0
0
-6
0
-1
0
0
0
3
-11
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
6
66
1
-1
0
3
13
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-32
0
0
0
-19
0
-3
0
0
0
0
0
0
1
0
0
9
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
11
-3
0
0
0
0
-1
-31
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
13
-6
-2
-73
-1
-27
-6
1
1
25
-42
-60
0
0
10
-7
3
9
70
-58
0
0
14
-27
0
-68
-26
-107
0
0
9
0
0
0
-1
-39
-8
23
6
-3
5
-2
-33
25
0
0
0
0
0
0
0
13
0
-45
0
0
-1
8
0
33
0
0
5
0
0
0
4
0
2
-2
-3
0
0
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
-12
-50
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
3
0
-37
-29
56
-20
-22
19
-78
31
11
15
23
0
0
-40
44
4
23
-10
-40
92
-99
84
-67
-48
-53
-15
-23
0
0
15
28
-48
-22
-59
-9
61
55
-38
-47
104
-30
-36
-96
0
0
1
0
0
9
-61
-137
-33
7
18
-2
-12
29
-93
-78
0
0
-8
0
0
0
-79
-68
15
-19
-4
36
45
-42
-66
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
-53
-2
-4
13
25
-22
23
-57
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-29
-3
1
0
0
0
0
0
0
0
0
-5
40
0
14
0
-47
-10
-13
0
0
0
0
0
0
0
0
0
25
0
0
0
-38
1
12
0
0
0
0
0
0
0
18
0
-43
-7
3
-3
25
-1
-29
0
0
0
0
0
0
-13
0
0
21
7
0
11
-20
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-8
-42
-23
9
51
-25
51
-16
-76
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-23
-38
-6
-14
-65
-33
-38
-46
-81
51
44
-3
-42
0
0
-20
13
-2
-44
-14
44
-23
-82
29
-17
-25
38
-21
10
0
0
66
0
1
-16
-3
46
-3
-51
99
58
64
-49
26
29
0
0
-10
0
0
0
2
-45
-8
42
-48
14
-2
-16
-7
-7
0
0
-10
4
0
0
-155
10
-15
-10
-9
22
27
16
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-116
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
32
-8
9
-29
18
-25
74
-41
82
-75
103
-32
-49
0
0
18
-18
-107
-75
-50
-3
25
-82
-40
-33
-91
63
-74
-88
0
0
85
6
-26
-29
-82
85
42
36
-58
-132
-43
82
-42
-1
0
0
-116
0
-5
8
28
-75
12
-84
-44
-44
-66
-48
-1
16
0
0
49
0
2
0
-48
-38
11
58
3
4
3
66
28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-10
17
26
21
69
-64
42
-61
-23
0
0
0
0
0
0
0
1
6
0
0
0
0
18
0
1
0
0
0
0
0
0
1
-8
-16
-52
0
13
-8
-10
-28
5
0
0
0
0
0
0
0
0
0
12
0
0
1
18
-2
12
0
0
0
0
0
0
0
-2
0
-43
23
1
1
64
1
14
0
0
0
0
0
0
-3
0
0
33
-17
0
0
-152
11
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
13
2
-26
-51
-10
0
51
5
-21
-4
-37
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
19
4
-135
-16
-32
49
37
-20
-43
68
19
-5
-65
0
0
16
-4
-55
21
-13
-26
1
17
85
0
-39
-4
-62
6
0
0
-33
0
21
1
-55
-36
25
112
38
-17
20
9
-11
-87
0
0
3
0
0
2
-42
-64
-28
112
-25
-7
20
47
-6
-32
0
0
-42
0
8
3
8
-18
-9
3
22
-13
-3
-41
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
-1
65
7
15
-4
-53
-18
89
-12
-60
8
37
0
0
23
45
-66
-9
62
-28
55
18
11
40
-104
5
39
-21
0
0
-20
-18
0
-43
49
-46
-8
-48
-87
-28
-6
-86
-40
-24
0
0
-29
0
8
20
0
-105
-13
-66
-64
-16
0
-20
136
-19
0
0
-64
0
-61
-74
16
6
41
-147
-14
-12
-2
-108
55
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
9
-67
5
28
32
14
-23
28
0
0
0
0
0
0
0
2
14
6
0
-1
0
5
-47
-19
0
0
0
0
0
0
0
0
-4
-48
0
-66
14
58
-14
43
0
0
0
0
0
0
0
0
6
74
12
0
-1
10
2
31
0
0
0
0
0
0
0
6
0
59
4
-18
0
-49
-1
0
0
0
2
0
0
0
17
5
0
-18
3
5
0
-12
-108
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-14
5
-21
-31
2
-11
-17
-54
-30
-19
-22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
-26
46
-76
37
-43
3
33
41
-7
52
-15
35
-26
0
0
-25
-6
-52
1
24
-3
9
-21
-36
-12
-35
-21
-33
-77
0
0
59
0
31
-8
-61
-139
-33
36
76
37
-71
-41
-142
-38
0
0
-7
0
14
3
0
10
13
67
-92
1
3
-43
9
-88
0
0
-94
-17
-28
65
-36
-47
10
34
6
-5
-44
-86
-41
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-48
-14
26
-41
-39
-29
-14
-64
175
44
41
-80
7
0
0
13
-85
-75
30
-34
-72
53
-26
-17
27
31
-25
-69
-7
0
0
-44
-73
-78
-4
-3
-55
42
1
4
-10
-44
-47
-1
-34
0
0
-65
-8
-53
-5
-61
-80
64
-30
-94
-19
-9
-93
22
-7
0
0
-44
0
2
-7
-92
0
10
-41
10
1
-14
-26
-59
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-2
-53
1
-59
-36
-9
-1
-3
-21
0
0
0
0
0
0
0
0
23
48
0
13
5
-18
-1
-49
0
0
0
0
0
0
-7
-2
-8
1
-3
1
-7
2
-4
13
0
0
0
0
0
0
0
0
-3
0
-7
-3
-7
-26
53
-32
0
0
0
0
0
0
18
-91
0
-8
-17
-49
46
-67
-52
-111
0
0
0
0
0
0
-21
0
0
146
10
0
0
10
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
26
4
-76
-31
-10
7
-48
-54
9
-69
-68
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
-85
78
-18
55
-19
1
-39
46
66
-54
2
-38
0
0
18
76
-55
57
9
-105
-13
66
39
-38
23
29
13
-54
0
0
-76
0
-24
70
-115
-84
3
-84
37
-2
-49
147
-89
-44
0
0
32
0
-17
17
4
-85
6
-78
10
0
-49
2
35
-23
0
0
-77
0
5
-12
-63
0
-12
49
-14
28
-35
85
-48
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-13
29
0
-18
-6
-5
-13
33
27
10
0
0
-12
10
7
1
-11
-67
-16
84
52
-29
54
71
-39
50
0
0
7
0
-33
2
-18
-51
2
105
-70
-6
18
38
-20
30
0
0
8
0
0
0
7
-10
2
-42
-1
0
-27
-75
-16
-12
0
0
39
0
0
-1
-38
3
-1
-3
0
0
3
-27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-17
0
5
36
4
22
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
8
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
33
-7
0
5
-14
0
-25
10
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
64
-11
0
3
64
-7
0
24
-19
-28
0
0
62
-2
-3
0
-89
-38
-25
-12
-47
0
0
38
-13
-70
0
0
-16
0
7
0
4
18
-1
-19
-21
0
-1
-22
-17
17
0
0
-21
0
0
0
0
25
0
15
-2
0
0
18
0
-22
0
0
-125
0
0
0
0
0
0
9
-18
0
8
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
5
0
0
33
-60
0
8
2
-2
0
-47
-7
-3
0
0
0
-7
0
0
-18
68
0
46
0
-1
-8
0
14
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
7
9
0
0
1
-23
0
0
0
0
0
0
0
-4
0
0
0
-10
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
-8
0
-1
0
0
0
0
-6
0
0
0
0
0
-5
0
-12
63
-2
-78
1
0
0
23
14
10
0
0
1
0
70
0
-5
5
0
18
4
0
-5
1
28
-39
0
0
0
0
-69
0
0
-18
0
2
0
0
0
0
0
2
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-15
33
0
0
-8
0
0
-2
3
-16
0
0
0
0
-1
0
-4
5
0
0
-2
0
0
1
0
5
0
0
0
0
-21
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
-13
0
0
0
0
0
0
0
0
-1
0
0
70
38
-28
4
-19
4
1
0
-20
-3
-109
0
0
9
0
0
49
65
16
0
7
0
0
-7
0
5
-35
0
0
0
0
0
68
0
-31
0
-1
0
0
0
0
0
3
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-5
13
-33
0
-5
-2
0
0
0
5
0
0
0
13
0
0
4
28
5
2
4
10
0
0
15
8
-1
0
0
0
0
0
6
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-2
-61
-23
-27
47
-11
-3
-4
0
0
-45
-7
13
8
19
-37
3
23
-25
-59
-18
-64
-38
-31
0
0
20
-8
31
-36
23
-10
49
22
63
16
-37
-21
124
-36
0
0
-12
0
0
5
-2
25
17
-15
-28
0
-52
45
0
-37
0
0
-20
0
13
1
30
-9
-8
81
55
39
63
-63
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
-16
11
34
11
53
-3
-4
49
0
0
0
0
0
0
29
0
6
0
0
0
0
-12
0
1
0
0
0
0
0
0
17
0
6
42
1
-9
-1
-8
0
7
0
0
0
0
0
0
-11
0
0
5
-2
-1
0
-18
0
-6
0
0
0
0
0
0
-7
0
0
-80
6
0
0
-40
0
-13
0
0
0
0
0
0
58
0
0
33
8
0
0
29
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
1
-52
-29
-8
8
-23
-6
-22
44
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
5
-54
-23
-4
33
-30
7
-32
-97
-18
77
0
0
-39
1
16
9
-43
-68
-65
8
-8
0
-1
-34
-23
68
0
0
73
0
5
0
-9
-15
-10
-59
-61
16
46
27
31
1
0
0
0
0
0
0
30
-34
9
-34
2
0
8
-33
0
-4
0
0
-3
0
-88
2
-43
5
0
-46
-37
0
6
35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-9
-15
13
105
2
45
-15
30
0
0
56
28
-41
20
-95
-60
-64
-21
53
-65
-95
-30
22
10
0
0
8
-16
-74
-31
21
53
-2
-24
48
5
-5
-16
52
-35
0
0
-32
1
-48
9
-54
-30
-26
-59
-47
-76
-10
4
12
-19
0
0
-71
0
-21
0
39
-10
-7
-9
7
-1
-38
28
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
-2
21
-36
-3
24
17
-13
-12
0
0
0
0
0
0
0
-27
-13
2
0
0
13
-2
0
0
0
0
0
0
0
0
-8
-20
23
-5
-2
-4
-38
0
10
-31
0
0
0
0
0
0
0
-1
0
-16
1
0
0
17
0
0
0
0
0
0
0
0
0
83
0
38
23
24
8
27
5
9
0
0
0
0
0
0
30
-2
0
15
1
0
0
5
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
1
9
-8
10
80
-21
-41
10
10
-35
-79
-71
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-22
-9
11
-90
-20
-36
-82
38
-8
-30
-52
95
47
0
0
-23
-28
11
35
13
-14
-41
4
-52
0
7
-43
-7
-18
0
0
-27
-8
25
2
39
11
12
-19
6
-45
-102
-10
-38
11
0
0
5
0
-36
-3
8
-38
-10
-7
127
3
-6
-86
3
-21
0
0
-15
0
0
0
-11
106
0
-20
-81
5
0
17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
1
0
0
0
0
0
0
7
-50
-23
-20
15
0
0
-15
1
-5
0
0
7
0
0
0
10
-3
1
-15
1
0
-5
0
10
-29
0
0
0
0
0
0
0
-5
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
12
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-8
38
0
0
0
0
0
0
-2
-2
0
0
12
0
0
0
23
1
0
-18
-1
0
0
3
0
7
0
0
0
0
0
0
3
19
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-6
44
2
-38
16
11
0
0
-6
-17
-26
-18
-17
-30
-23
-10
22
9
-8
35
97
-5
0
0
9
0
-36
20
50
0
-40
71
13
-52
-5
0
-74
5
0
0
-13
0
0
0
3
-47
1
-25
-15
-1
4
-4
-5
1
0
0
-4
0
0
0
-20
59
8
-36
4
0
0
-45
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
7
-29
1
0
25
-45
-27
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
5
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-33
0
0
0
-5
0
-3
0
0
0
0
0
0
-2
0
0
12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
7
0
3
41
0
-4
18
-1
-18
70
31
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
2
-12
-83
-85
2
-14
51
-5
-1
20
-12
-54
0
0
-8
-1
-7
12
-11
-29
-25
-46
-64
0
-1
2
-29
46
0
0
-43
0
1
-5
-89
-65
0
75
-25
-20
17
3
-6
-25
0
0
0
0
0
0
0
-20
0
41
-2
0
0
9
0
7
0
0
-4
0
0
0
-24
1
0
-30
-15
-3
0
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-94
-25
-57
43
0
0
83
-18
41
8
74
-41
29
-10
85
-106
-3
-58
44
-98
0
0
87
-38
66
-2
-41
-53
-8
-57
35
26
32
39
35
122
0
0
8
0
-1
0
26
-46
3
17
3
1
24
-7
-45
-25
0
0
0
0
0
0
-83
-54
-2
29
-2
0
0
-10
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-35
11
3
0
50
-6
8
-15
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-1
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-15
0
-7
5
2
0
-34
0
-25
0
0
0
0
0
0
2
0
0
41
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-3
0
21
-50
0
16
-50
1
-5
-18
-6
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-122
0
-51
-6
-38
-21
-10
-4
-65
14
-5
-37
-97
-22
0
0
-40
1
22
-16
-121
6
-65
-14
60
-2
2
-72
-22
10
0
0
20
3
8
-6
-84
84
-2
69
83
-17
31
-78
9
4
0
0
1
0
0
0
0
-13
0
-8
0
0
0
8
0
94
0
0
-5
0
0
0
-55
5
0
-1
-25
7
0
16
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
47
12
0
0
-22
0
-25
9
-89
-33
-13
-106
-29
1
-5
-88
-8
-84
0
0
25
0
34
-6
34
-20
-7
-74
6
-1
32
21
68
-23
0
0
-15
0
0
0
-14
12
1
-2
0
0
7
-18
-1
9
0
0
-1
0
0
0
13
0
0
0
1
0
0
17
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
7
-55
0
0
0
17
13
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-28
-30
0
2
1
0
8
14
9
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-30
101
0
-3
10
0
0
-3
21
23
0
0
12
0
-4
-3
-2
20
27
-7
-19
0
0
6
-50
-68
0
0
-4
0
0
0
-5
48
-2
37
19
0
-1
-2
-40
-8
0
0
-4
0
0
0
0
2
0
0
0
0
0
6
0
17
0
0
-1
0
0
0
-19
9
0
12
-13
0
0
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-52
63
-31
0
0
14
5
0
-13
-82
-61
-4
-24
-13
-93
100
30
85
-38
0
0
83
0
0
2
-64
-33
-36
-53
20
-9
51
-11
-113
0
0
0
0
0
0
0
-51
24
0
41
36
-8
-43
-19
2
49
0
0
0
0
0
0
-33
-27
2
-19
3
0
-44
22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-12
0
5
0
3
-13
-42
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
10
0
0
0
31
0
-1
0
0
0
0
0
0
-1
0
0
-22
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
41
8
0
14
7
0
8
51
-37
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-8
35
42
0
-26
30
-4
0
-18
11
-46
0
0
-27
0
0
-4
71
24
-28
24
-18
-4
4
-3
50
-108
0
0
15
0
0
0
-29
16
5
-9
-11
-14
22
-10
-22
-71
0
0
0
0
0
0
0
21
0
-28
1
0
0
2
0
-56
0
0
48
0
0
0
16
-3
0
-13
94
0
10
-1
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-25
-47
0
0
89
0
-54
50
-64
-62
-19
26
-2
47
65
36
-18
-85
0
0
43
-5
-31
10
86
-62
24
-39
-37
28
-5
37
-7
3
0
0
-6
0
0
0
-13
-43
7
64
19
-3
-28
-21
20
46
0
0
28
0
0
0
-35
-13
6
10
2
0
5
-72
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-29
-8
0
-5
-114
-27
67
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-5
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
45
8
0
0
25
0
3
0
0
0
0
0
0
4
0
0
-42
-3
1
0
-12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-3
0
22
-46
0
-3
2
8
-2
-50
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
2
-54
-6
-72
-20
0
-47
-42
8
29
-44
-5
36
0
0
-63
-4
-5
25
49
87
-28
40
-19
-8
3
-53
-1
-33
0
0
-16
0
-9
0
-29
-42
0
-61
41
4
-15
19
-20
-20
0
0
0
0
0
0
-12
-6
0
-8
-8
0
0
10
0
-26
0
0
-12
0
0
0
-66
0
0
5
15
0
0
102
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
0
0
-48
47
6
-25
14
42
6
-62
-20
71
-28
15
12
-7
0
0
-27
17
14
-10
-2
1
-2
15
-29
89
76
59
7
11
0
0
-51
0
1
3
0
-53
-1
13
-34
-20
-31
-30
43
-22
0
0
-51
0
-7
-6
3
26
-4
-17
8
0
-30
-14
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
33
72
-5
-4
-2
-57
-12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
0
0
0
0
0
0
0
-2
-8
-16
0
9
0
43
36
-3
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
-53
0
0
0
-34
-11
78
0
0
0
0
0
0
17
0
0
-57
4
0
0
16
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
20
-16
-37
-79
1
-18
-40
14
52
54
-23
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
44
0
-44
28
1
92
41
-17
9
-72
-52
1
0
0
-13
32
3
-5
25
-85
53
18
-86
-13
27
-87
-35
19
0
0
37
0
47
11
18
-34
5
55
-21
-22
1
3
51
17
0
0
-3
0
1
5
0
-17
0
55
-3
0
0
-59
9
-93
0
0
-52
-2
-2
-7
34
43
0
10
98
-4
0
-25
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-48
13
7
53
14
-8
-25
-30
16
9
54
-38
-6
-2
0
0
-43
1
-5
9
3
-11
7
41
31
91
-12
-59
32
11
0
0
30
0
0
0
-59
12
21
31
-31
13
2
-32
7
-21
0
0
0
0
0
0
10
0
-7
6
0
0
2
-4
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
14
41
-6
3
-6
30
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
1
-4
0
1
0
5
-3
-15
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
-10
0
0
0
0
0
0
0
-1
0
31
0
-4
0
-44
0
9
0
0
0
0
0
0
0
0
0
-55
3
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
-9
5
26
-54
-13
-3
-63
31
-20
29
-50
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
2
16
21
20
15
0
5
-16
-17
2
36
-61
-9
0
0
8
-7
-47
14
30
-9
-13
34
-29
-19
22
34
-11
-31
0
0
-2
0
-16
2
-16
-8
-6
59
9
-29
-24
-12
50
-33
0
0
3
0
0
3
-12
-9
0
-22
-6
0
3
6
0
-124
0
0
-3
0
0
0
-10
0
0
30
0
0
4
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-2
0
-28
-43
-7
-6
6
47
-18
30
75
64
46
0
0
126
14
8
34
-95
-105
20
-25
64
-26
73
12
-64
-74
0
0
21
0
0
0
21
-41
-8
27
-9
4
21
9
-8
-16
0
0
95
0
0
0
-35
8
4
12
1
0
0
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
-27
-1
11
15
-4
-22
9
-28
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
9
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
46
-1
4
0
-4
0
11
0
0
-3
0
0
0
0
0
0
-14
2
0
0
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
-41
-51
0
-8
-3
-5
-6
-17
5
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-3
-5
-1
-27
0
-46
8
-46
8
-8
-29
17
0
0
25
-2
1
3
-86
1
-29
-26
-32
-3
0
-58
5
-18
0
0
50
0
0
0
23
-63
12
29
31
-6
45
-31
4
16
0
0
34
0
0
0
0
-3
1
-17
-4
0
0
33
0
-2
0
0
17
0
0
0
49
2
0
-20
-53
5
0
-30
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-18
-35
2
40
5
30
-1
-8
12
46
0
0
25
98
1
0
15
33
-7
-21
-26
8
-8
23
44
-62
0
0
0
-9
0
0
-4
42
0
-8
1
15
5
-5
-9
-9
0
0
0
33
0
0
-17
0
0
0
0
0
0
-3
-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
13
0
-8
-4
0
12
0
-36
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
2
2
0
0
5
0
-1
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-1
0
-27
24
0
-5
-38
-2
0
-2
-13
-16
0
0
0
45
0
0
-13
33
-2
3
-7
-1
0
-49
0
-37
0
0
0
-68
9
0
-2
0
0
-43
13
2
-1
0
1
-33
0
0
0
-5
0
0
0
-2
0
5
0
0
0
0
0
-5
0
0
-5
22
0
0
14
0
0
0
5
-4
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-7
20
4
15
6
-1
0
-30
-40
-1
0
0
-7
2
171
-1
20
31
-3
-74
8
5
-5
0
-10
2
0
0
0
0
-50
0
0
-35
0
-2
-2
0
0
4
0
8
0
0
0
0
-49
0
-5
0
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
-23
0
-1
0
11
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
3
4
0
0
-14
0
0
-30
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
37
0
13
1
0
-51
-15
-2
0
8
3
-62
0
0
0
0
5
0
4
18
-5
24
0
-1
0
0
0
-33
0
0
1
0
-58
0
6
0
0
-18
14
0
0
0
2
-2
0
0
0
0
12
0
0
-7
0
0
0
0
0
0
0
6
0
0
0
0
-45
0
0
0
0
0
-13
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-122
65
-1
14
-81
6
5
-9
1
-5
0
0
17
0
0
70
-36
32
4
33
-7
-1
19
-40
27
-49
0
0
0
0
0
5
-4
39
0
9
3
0
0
-3
2
-34
0
0
0
0
0
26
-24
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
-1
-7
-8
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
18
4
-43
-1
0
29
-1
0
-6
-25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-39
29
6
-2
32
-26
5
18
-4
26
64
0
0
-1
0
0
32
17
-2
-4
39
6
0
0
6
-5
8
0
0
-2
0
0
21
2
-18
-1
7
-9
-6
0
0
-3
-14
0
0
-2
0
0
-50
0
-18
0
2
-4
0
0
-1
0
-34
0
0
0
0
0
-2
-2
0
0
19
-12
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
65
40
-61
20
-80
-17
-44
-61
17
0
0
40
-37
43
-29
22
-8
-24
42
16
-29
20
-12
-11
29
0
0
6
0
0
33
15
-30
-64
-36
-96
25
-44
-28
0
44
0
0
-39
-5
-2
-3
-26
-15
-1
-8
-20
-73
-8
-50
69
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
36
23
58
-29
16
-8
14
2
0
0
0
0
0
0
-45
1
-14
27
2
2
0
62
0
3
0
0
0
0
0
0
6
0
-9
2
0
30
1
1
0
-8
0
0
0
0
0
0
-25
0
3
-15
-7
-4
4
-39
3
15
0
0
0
0
0
0
4
-4
0
47
-43
-55
0
-75
0
-100
0
0
0
0
0
0
94
0
0
-43
62
27
0
-40
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-18
78
3
44
-15
-32
10
25
-32
86
20
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-20
-44
-41
-12
-36
33
-78
97
4
31
80
-35
0
0
-36
4
-5
-40
-18
29
18
-73
20
-2
40
-7
-41
2
0
0
-53
3
-112
-17
-30
-17
1
42
1
37
-26
-24
11
7
0
0
0
0
0
0
-45
16
-19
-37
-40
11
0
24
0
-61
0
0
52
47
-2
32
-98
20
29
-3
-51
21
33
-35
-31
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
24
51
81
41
51
-24
-11
55
0
0
-6
-19
-17
-57
16
18
9
-27
-112
-37
-28
-30
-1
-18
0
0
4
5
-18
11
-18
-14
-61
-81
-26
-5
-13
-24
1
-19
0
0
-9
0
15
4
-14
48
-19
94
55
27
-7
57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
42
-13
-25
-19
-51
71
-23
7
0
0
0
0
0
0
-6
-71
-17
-34
5
1
0
15
-7
9
0
0
0
0
0
0
-9
-87
-45
6
-1
40
-26
9
11
-3
0
0
0
0
0
0
-2
-48
5
16
4
0
-6
1
6
-12
0
0
1
0
0
0
-3
57
0
3
8
-30
47
64
-16
-25
0
0
0
0
0
0
-76
-4
0
8
37
-8
-1
-63
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-13
-26
2
-27
71
-24
-3
-33
-47
-19
-82
-20
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-14
74
-35
31
-20
57
90
4
-91
-34
9
-6
-41
0
0
29
34
20
32
9
-1
-45
3
41
-41
40
10
30
-56
0
0
-43
-7
-18
-64
-29
68
66
-51
14
9
-58
-33
-55
-10
0
0
-22
0
-17
-5
0
18
-8
-49
-56
-74
21
-37
-22
32
0
0
9
0
5
0
23
-58
-3
-25
-25
25
9
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-17
88
-32
4
18
-75
-50
0
0
-6
5
-3
5
-61
-72
38
47
-3
-17
7
6
41
-9
0
0
6
0
0
0
-8
-48
15
-4
-2
4
-13
50
0
-31
0
0
4
0
0
0
29
-7
22
8
1
2
0
60
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
18
16
-4
0
-17
-5
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
0
0
0
-12
0
8
0
0
0
0
0
0
0
0
0
5
3
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
9
0
26
-8
0
-18
-23
5
-23
-1
-45
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-2
2
-29
-19
29
4
-8
2
8
-12
-67
-27
0
0
39
-1
0
0
-26
-56
-29
40
5
1
0
6
7
-27
0
0
16
0
-2
0
-24
42
16
27
13
19
2
15
-11
22
0
0
6
0
0
0
3
-13
5
-4
-9
0
0
10
0
-24
0
0
-10
0
-1
0
33
0
1
-8
-48
-2
0
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
-59
-20
-16
94
-58
0
0
-5
-11
-34
-53
-63
-37
-40
50
-2
-100
-3
-6
-81
-22
0
0
-42
7
-26
-22
30
8
-48
10
-145
-25
-12
34
77
65
0
0
-65
0
-2
0
-47
-13
0
18
32
12
31
-57
-6
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
43
-68
-29
-73
4
-15
-71
3
3
0
0
0
0
0
0
0
0
7
2
0
-1
0
-4
5
-3
0
0
0
0
0
0
0
0
0
-16
0
-14
-2
54
-2
8
0
0
0
0
0
0
-10
0
-1
31
-4
5
0
-1
9
15
0
0
0
0
0
0
0
-13
0
-51
-40
9
-4
70
1
-32
0
0
0
0
0
0
-13
0
0
-34
3
0
2
10
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
8
-42
6
29
-18
0
-48
-6
-44
-49
-48
-64
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
29
37
17
-28
-14
25
10
20
-10
32
-68
0
-1
0
0
-49
1
12
-45
-42
19
14
120
-33
27
14
-55
-89
1
0
0
-48
4
-21
-34
-130
-116
-2
18
-19
-16
-23
-10
-39
-18
0
0
1
0
1
-34
-1
59
-29
65
-13
-9
1
-70
-13
-88
0
0
25
-5
-11
-21
-6
56
27
-58
-122
-61
-46
6
-44
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
84
-8
6
20
31
0
0
57
6
-5
-67
-92
-88
30
35
20
-26
66
-14
-23
-37
0
0
-47
0
0
-8
1
-94
54
47
-71
-31
-26
40
34
-43
0
0
-1
0
1
-1
-5
-26
-6
124
2
10
-30
8
-58
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
13
-5
-49
-25
-12
27
-95
-8
0
0
0
0
0
0
0
0
-7
-3
0
0
0
8
0
13
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-17
14
-9
0
0
0
0
0
0
0
-3
0
-1
0
0
0
9
1
10
0
0
0
0
0
0
0
8
0
22
4
6
0
-14
19
-25
0
0
0
0
0
0
10
0
0
102
4
0
0
-7
11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
7
19
-15
19
1
23
-9
29
37
51
-16
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-19
6
1
-13
-120
-5
5
-4
49
16
77
33
18
0
0
-9
-5
8
19
74
-21
0
-23
98
5
21
21
-42
0
0
0
11
3
6
-6
92
49
-3
-17
-82
49
-10
35
101
124
0
0
-6
0
1
4
22
124
8
57
-64
1
2
-58
15
-1
0
0
50
5
0
-18
115
-4
36
57
-15
55
-11
50
-57
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-80
-17
-23
124
0
0
-22
16
27
6
51
18
23
-1
20
60
-51
-39
-80
23
0
0
3
0
0
-5
-24
9
29
-67
-43
-2
-12
-61
30
98
0
0
6
0
0
0
-20
5
12
-26
-2
0
-5
-12
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
2
-37
5
-14
-1
15
-27
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
2
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-3
0
-1
72
0
12
0
0
0
0
0
0
-1
0
0
42
4
0
0
45
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
24
4
-5
20
3
8
17
-27
-3
-42
2
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
-5
5
-6
36
-8
29
-115
5
-11
19
-146
-69
0
0
-32
1
-9
8
-40
-19
-23
9
-20
-5
0
15
-25
-41
0
0
15
0
-10
8
-16
-19
-2
29
-54
-7
0
24
-38
-8
0
0
0
0
0
0
5
18
1
18
-4
0
0
40
-1
11
0
0
22
4
0
0
-3
-3
0
62
-12
16
0
-50
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
133
50
81
0
0
-25
0
12
5
11
78
-5
55
-77
-9
-16
37
9
11
0
0
-17
0
0
9
-75
45
-6
47
-18
2
10
-2
-13
-84
0
0
-4
0
0
0
-23
0
0
8
9
0
26
-18
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
25
-10
1
0
9
-20
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-22
0
13
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
0
0
2
-19
0
12
57
-3
-29
55
-104
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-6
8
73
12
0
3
2
-20
13
15
38
-5
0
0
11
0
0
-5
-18
81
8
-60
-6
7
0
21
-2
15
0
0
-3
0
0
-4
-30
-9
1
98
21
-6
43
-9
-60
-25
0
0
0
0
0
0
0
-30
0
-92
30
2
3
73
0
-40
0
0
29
0
0
1
-16
-5
0
-32
35
19
84
46
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
-36
0
0
-9
-99
-26
0
-31
-29
24
-8
-54
-27
-63
2
-47
10
0
0
-43
-18
-91
-57
98
-35
33
5
-57
-38
65
-11
-7
20
0
0
-75
0
-52
-40
59
-23
4
9
33
-30
9
-28
-45
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-35
0
-47
16
12
17
-46
58
-54
0
0
0
0
0
0
0
8
8
-18
-2
-3
2
-30
-7
-21
0
0
0
0
0
0
-8
5
29
-10
0
-9
0
2
-2
-30
0
0
0
0
0
0
-1
0
0
-4
8
-5
0
28
19
-15
0
0
0
0
0
0
1
44
0
-34
-28
57
5
0
13
-36
0
0
4
0
0
0
18
0
0
-66
5
18
6
-53
43
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-32
40
23
28
-68
22
22
92
41
19
37
-32
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-65
-7
-69
10
-73
-63
-25
12
-64
2
-15
26
0
0
-35
-29
-27
36
-84
-50
-38
-76
18
-47
35
-17
-67
-5
0
0
-81
5
-73
-35
-96
-131
-7
-83
44
-27
-13
39
-39
-11
0
0
-50
0
42
5
-74
-53
-71
13
4
-49
-5
45
-18
31
0
0
22
-25
-36
1
-114
9
44
102
-1
-14
-5
-13
-59
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
-14
20
-18
-108
37
-40
-18
6
-93
-71
-7
15
45
-37
0
0
4
0
7
-79
0
-34
-6
-71
-71
-94
-22
-45
84
-19
0
0
-28
1
2
-7
-29
-19
49
4
29
5
9
-13
-87
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
35
-65
39
54
-42
-75
-13
-29
0
0
0
0
0
0
0
0
8
0
-2
0
0
21
-58
12
0
0
0
0
0
0
0
2
-5
-4
5
5
0
49
-10
4
0
0
0
0
0
0
0
0
3
-7
0
0
0
3
8
17
0
0
0
0
0
0
0
8
0
7
1
6
0
69
2
6
0
0
0
0
0
0
10
0
0
0
16
1
0
67
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
21
-27
-25
-16
-7
-36
14
-39
8
-68
-114
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
6
-9
26
33
-19
-4
-11
32
95
83
-3
22
-50
0
0
37
37
6
2
-2
11
-76
-12
-45
-10
-5
59
48
66
0
0
52
16
-64
-18
66
28
-29
-20
-3
-21
-5
17
-51
-44
0
0
8
0
0
6
0
-61
-6
-48
8
-17
1
-2
16
30
0
0
6
-23
-37
-56
-49
-24
-1
0
-34
29
3
-119
-104
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-15
-45
13
-62
12
20
-23
-29
-83
48
-48
-7
-15
36
0
0
-61
-2
-9
-50
-78
-39
-42
-79
-1
-57
14
-59
22
3
0
0
29
0
5
-1
0
0
33
-67
47
-38
20
-67
-33
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-9
-39
0
-5
-28
-44
-64
-45
-55
0
0
0
0
0
0
-1
0
2
14
2
0
0
-1
-6
-18
0
0
0
0
0
0
2
0
-9
-41
-1
-7
0
48
4
-44
0
0
0
0
0
0
3
0
8
-5
-1
-17
0
33
-1
-163
0
0
0
0
0
0
5
2
0
3
7
45
18
26
-3
-89
0
0
0
0
0
0
-14
0
0
7
-22
0
0
9
52
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
-50
-7
-149
-121
25
-20
-136
44
-4
-51
-2
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
50
46
-4
-41
-7
-65
80
-119
50
18
-36
-23
0
0
-23
43
31
-51
-41
-17
-35
5
-12
-12
-26
-18
39
-21
0
0
-6
3
-55
27
31
28
-53
-27
-11
-103
-23
-58
-49
-84
0
0
-35
0
-13
7
77
17
-4
-73
-7
-6
-1
35
43
-105
0
0
-7
-5
9
-11
-32
0
24
15
45
-1
-13
-118
-30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
190
3
37
0
23
-38
-6
16
34
5
-12
-47
-5
-164
0
0
105
0
0
0
8
5
-2
2
5
-7
8
62
-35
41
0
0
113
0
1
0
-2
38
10
-6
-13
-8
-1
-22
85
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-16
-35
42
1
44
-8
-18
4
-49
0
0
0
0
0
0
0
0
13
8
0
0
0
-25
1
-12
0
0
0
0
0
0
6
0
3
-53
0
1
-7
-14
9
-10
0
0
0
0
0
0
0
0
0
24
2
0
0
-4
-8
-2
0
0
0
0
0
0
0
-8
0
50
-12
1
-3
51
3
17
0
0
0
0
0
0
-1
0
0
4
2
0
0
3
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181
0
0
0
-3
-16
-2
41
17
-8
2
44
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-5
22
11
-64
-65
16
-35
14
22
0
-114
65
-78
0
0
-39
-2
19
-5
7
-87
32
-75
-39
57
22
-100
13
53
0
0
74
0
0
0
-8
14
-1
-24
33
21
5
-1
0
-8
0
0
58
0
0
0
0
-23
4
47
-2
-1
0
35
0
-10
0
0
165
2
0
0
-11
20
-1
12
-34
8
-13
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-67
-40
0
48
14
-1
-9
4
52
-9
0
0
0
33
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
13
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
-4
-4
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
-1
0
0
0
3
0
0
0
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
47
0
0
-15
-1
0
-10
40
0
0
5
9
6
0
0
7
28
1
0
-30
13
-18
-43
-18
-7
0
-9
-1
10
0
0
0
-9
0
0
-1
-7
0
-2
0
2
0
0
-2
5
0
0
0
5
0
0
0
0
0
3
0
0
0
-4
0
-8
0
0
0
14
0
0
0
0
0
0
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
0
-15
13
22
-1
15
6
-42
17
-94
-51
0
0
0
0
67
0
-2
46
0
13
-3
0
-4
13
-13
95
0
0
0
0
51
0
-21
-17
3
-12
6
0
0
-8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
33
-1
6
4
-4
28
52
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
12
0
6
0
0
0
0
0
0
0
0
0
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
22
0
-6
0
0
0
0
0
0
0
0
0
-27
0
0
0
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
128
0
24
-4
0
5
-7
15
-6
-2
-48
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
-44
-5
35
-35
0
45
10
16
2
3
29
-72
0
0
-31
0
99
-9
40
55
31
31
16
5
0
-2
-2
-20
0
0
5
0
-71
0
-6
-11
15
79
-5
-1
-5
1
-1
1
0
0
0
0
26
0
0
-7
0
-37
0
0
0
-1
0
6
0
0
-8
0
54
0
-2
0
-2
8
27
0
0
41
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
24
-47
0
25
-8
-5
-21
0
13
16
0
0
0
0
0
93
-13
-50
0
25
1
0
-1
1
2
30
0
0
3
0
0
111
-5
-4
0
19
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
-19
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
9
0
5
6
0
-2
3
-13
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
-13
34
-8
0
50
-28
5
0
4
-11
-74
0
0
-5
0
0
8
-49
-30
20
40
-17
4
0
-25
-35
-62
0
0
0
0
0
27
0
1
0
3
-1
3
0
0
0
-7
0
0
0
0
0
24
0
-1
0
9
0
0
0
-2
0
-13
0
0
-2
0
0
6
-1
0
0
2
8
0
0
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
19
4
43
-79
-34
14
-2
-43
21
0
0
-26
0
-2
-2
62
-57
-66
-140
-72
32
19
62
0
-26
0
0
24
0
11
-3
47
-127
-37
-59
11
-26
21
-42
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
7
41
29
-31
16
-27
75
-15
-37
0
0
0
0
0
0
-55
-4
4
0
-1
0
-2
-64
0
33
0
0
0
0
0
0
22
0
8
19
-9
26
-9
20
1
-44
0
0
0
0
0
0
-73
0
0
19
8
-2
-7
6
-2
3
0
0
0
0
0
0
23
-47
0
-1
34
-2
0
10
0
26
0
0
0
0
0
0
35
0
0
5
-16
-12
0
27
6
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
34
-4
75
-48
-4
-71
-31
61
-47
51
-2
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
23
-43
-16
-67
16
47
72
-3
0
-17
82
49
32
0
0
-26
-30
-45
40
-30
56
-15
-70
108
-35
-19
-31
-13
-20
0
0
-46
6
-1
2
23
-26
4
-48
20
20
9
30
-9
-57
0
0
0
0
0
0
-6
-16
-4
7
-33
15
0
-23
0
-24
0
0
-36
13
-17
6
44
3
16
-87
-90
5
-24
-65
-95
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
123
28
-44
59
-58
-25
-18
8
0
0
-106
-25
1
47
25
-15
-28
64
-15
53
-30
9
-43
-36
0
0
-42
-1
2
5
-12
58
27
15
17
47
-8
8
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
26
7
18
11
-28
6
39
-45
8
0
0
0
0
0
0
0
12
-3
-20
19
-2
0
-8
2
-2
0
0
0
0
0
0
-2
-8
-34
-4
2
-43
11
48
-68
7
0
0
0
0
0
0
-4
0
8
3
0
1
-2
14
-9
0
0
0
-8
0
0
0
0
1
0
-54
-66
-58
-62
22
-13
-9
0
0
0
0
0
0
15
-29
0
-42
4
21
29
-42
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
24
-8
-31
63
-6
-22
-63
-62
19
117
-73
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-39
-76
-5
42
10
31
-30
31
28
-63
-14
35
26
0
0
-5
-75
-26
-18
1
25
29
50
46
-9
0
-15
-71
40
0
0
-46
3
6
5
25
56
-19
37
-24
3
-12
70
-35
-67
0
0
-30
-5
1
3
-29
43
-27
-23
48
19
-2
48
-8
-30
0
0
-19
0
5
0
-23
90
-14
49
21
-10
-6
-10
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
-3
16
69
18
10
-1
0
0
0
0
0
0
8
-13
-23
49
-2
6
5
50
0
97
0
0
-3
0
0
0
-51
2
89
-1
0
0
0
3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-5
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
0
2
28
-5
0
2
5
62
31
51
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
8
5
17
-40
3
24
-25
0
-1
-9
-44
18
0
0
18
0
0
-5
-3
-67
-5
7
7
-13
1
-38
-20
10
0
0
0
0
0
0
-16
13
0
-4
29
18
8
0
3
-3
0
0
0
0
0
0
-2
-3
0
-17
0
0
0
22
0
33
0
0
5
0
0
0
-3
7
3
25
4
-1
-1
68
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
28
23
16
69
48
-9
0
0
67
0
10
87
-52
18
26
24
47
31
45
21
2
-40
0
0
-18
2
-9
-5
-9
24
6
63
39
29
-24
-25
-28
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
64
35
27
-68
-15
-63
-2
37
0
0
0
0
0
0
0
-1
-5
-22
0
0
1
-22
-2
6
0
0
0
0
0
0
2
-1
-10
-42
5
-7
7
-14
29
50
0
0
0
0
0
0
-2
1
0
21
0
-2
0
-14
-6
29
0
0
0
0
0
0
0
43
0
-48
18
-9
-5
4
5
-7
0
0
2
0
0
0
16
0
0
69
-6
0
0
-6
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
25
2
-32
-30
-7
-70
-29
13
30
14
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
10
-19
28
54
-51
-6
62
81
-22
37
-5
13
-17
0
0
60
18
-72
14
75
-7
-9
13
50
-82
-2
115
-109
-17
0
0
7
0
-11
-5
34
-19
40
38
6
-16
-27
21
-7
-54
0
0
11
0
-5
23
54
-34
6
21
-34
-2
0
-16
-14
67
0
0
-27
-5
47
0
-19
-3
-10
24
37
-30
49
24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
18
1
-78
-95
0
0
26
0
-3
5
9
-12
13
-45
6
-7
-27
57
6
51
0
0
-22
0
0
0
-44
31
8
29
21
-1
3
27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-12
41
29
-1
-26
0
-82
-59
5
0
0
0
0
0
0
0
0
2
1
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
-59
0
13
-7
-8
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
0
0
0
40
0
-53
0
0
0
0
0
0
-7
0
0
41
-5
0
0
-2
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
-36
11
1
40
24
6
11
79
2
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
25
-12
-2
2
-59
5
-20
93
-40
2
7
14
53
0
0
39
12
-8
17
71
-1
-33
-45
1
-8
12
2
19
-63
0
0
22
0
-4
0
48
48
3
-2
13
-9
-1
-40
61
38
0
0
-2
0
0
0
2
-30
-1
9
-3
0
-2
6
0
-29
0
0
18
0
20
0
-31
-12
-7
19
80
-7
5
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
-14
-73
0
0
0
0
0
0
-59
-26
-5
-67
-8
0
14
-20
5
-36
0
0
1
0
0
0
-57
41
2
-10
0
0
0
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
40
17
-18
-2
16
-1
9
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
13
0
8
0
0
0
0
0
0
-4
0
0
34
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
5
-21
0
8
19
-7
4
-8
-15
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
-9
22
47
0
11
-20
2
0
0
17
29
0
0
38
44
0
-2
-19
38
-32
51
8
5
0
5
25
-8
0
0
-13
0
0
0
-38
-16
0
21
65
8
-5
0
9
-26
0
0
0
0
0
0
0
-18
0
23
0
0
0
-4
0
-19
0
0
-5
0
0
0
83
0
0
-17
-16
0
0
14
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-67
-28
-14
0
0
-4
0
8
11
-7
63
-48
-96
-35
21
53
-14
-58
-42
0
0
21
0
5
0
-5
29
-13
29
26
-17
49
-56
-42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-33
4
-104
10
-89
10
42
66
54
0
0
0
0
0
0
0
0
-2
21
0
-8
0
3
-2
22
0
0
0
0
0
0
0
0
-5
-25
0
-1
-1
36
-9
-10
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-5
0
-12
0
0
0
0
0
0
0
17
0
-13
0
8
0
53
4
47
0
0
0
0
0
0
-13
0
0
3
-2
0
-7
-23
-50
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
-9
-1
-55
93
24
17
-33
-22
57
-4
-80
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
3
-44
6
-44
-10
27
78
-80
7
74
-16
47
-14
0
0
-52
8
8
21
-3
-89
39
-24
67
-59
-2
21
-42
-60
0
0
-45
0
-3
0
38
53
-4
-6
31
-12
-33
-71
13
-80
0
0
-43
0
0
0
2
20
-14
36
-12
13
-12
17
3
-119
0
0
46
0
6
-4
46
-4
-19
45
15
-41
-111
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
-12
0
0
18
0
0
4
-39
-87
9
34
-10
0
-18
17
-23
-92
0
0
86
0
0
0
-65
4
28
-18
-33
1
18
-21
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
21
-11
-3
-5
43
3
7
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-27
0
4
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-11
0
0
0
42
0
23
0
0
0
0
0
0
14
0
0
103
0
0
0
24
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
2
0
-2
-19
0
8
4
2
7
-4
-11
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
-3
-28
23
-14
-4
64
2
7
20
-61
-22
10
0
0
3
-8
-15
23
25
50
-10
51
-6
-4
20
-25
-6
6
0
0
-14
0
-1
0
-18
-28
-1
-7
50
0
-3
4
76
-15
0
0
-3
0
0
0
-10
57
0
27
1
0
1
47
1
64
0
0
-8
0
0
0
65
46
3
91
-30
9
9
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
0
0
-73
-7
-12
-158
0
-1
-50
-99
-11
11
-66
-45
108
-10
0
0
-110
-22
-72
-120
-47
-68
-23
-39
-13
-29
9
-11
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
-23
21
22
-17
99
8
-20
0
0
0
0
0
0
0
7
1
-10
9
-3
-1
-16
63
5
0
0
0
0
0
0
0
6
32
-45
-15
-4
21
-31
29
-18
0
0
0
0
0
0
0
0
0
22
-2
1
0
-3
39
18
0
0
0
0
0
0
0
11
0
-38
12
-3
0
88
24
-8
0
0
0
0
0
0
-2
-3
0
-45
-92
5
2
-42
-17
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-10
6
8
-2
-146
-6
-73
-29
59
58
-92
-49
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
17
40
-28
-73
-41
74
30
-85
9
86
19
-34
0
0
27
-10
8
-52
91
37
76
41
38
0
32
61
-73
-91
0
0
-50
0
53
-5
-4
-62
2
-14
-64
-51
-33
-2
-55
-41
0
0
-1
0
-16
-26
0
-1
0
-110
-18
13
-7
-6
36
-63
0
0
-17
5
-197
14
22
-59
-8
30
7
-4
49
-49
5
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
-58
0
35
-4
-43
39
-17
-48
-147
-52
-58
-70
-30
-15
0
0
-31
0
11
-56
-29
0
49
-9
-35
-10
-78
-43
-19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-29
-35
-70
11
-19
24
-24
-11
-74
0
0
0
0
0
0
0
0
31
-32
-1
4
1
-25
1
-32
0
0
0
0
0
0
-4
0
-7
61
0
7
-12
25
-44
-45
0
0
0
0
0
0
4
0
0
-9
0
14
0
-8
-20
44
0
0
0
0
0
0
5
3
0
-43
14
1
-46
-6
-70
22
0
0
0
0
0
0
24
0
0
-46
-43
0
0
33
-27
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-16
-26
2
-10
-31
15
-24
13
-1
-60
-95
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
73
18
-55
-55
-9
-8
11
-10
14
-46
16
-6
9
0
0
4
-19
5
-49
-51
-28
56
-17
-20
11
-22
78
65
-33
0
0
-25
9
-37
-11
-40
4
26
47
17
-38
-17
-61
-67
-91
0
0
-33
0
26
137
7
-23
61
-106
-112
-5
20
-35
46
24
0
0
-28
-7
-61
21
-122
0
-14
-81
-5
-35
-40
-52
-4
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
-3
0
-28
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-2
1
0
-3
12
0
10
-22
-7
0
-10
-8
-17
0
0
35
0
0
0
24
34
1
9
-1
0
0
-42
-5
20
0
0
33
0
0
0
0
0
0
-10
11
0
0
19
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-19
1
0
62
0
0
-2
0
0
0
-10
-59
0
0
0
0
-22
0
0
-3
0
0
0
0
0
8
0
1
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
-19
-1
-47
0
-6
-3
0
0
0
-5
-19
0
0
-4
0
0
5
0
-20
0
13
13
0
0
2
0
4
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-36
-2
-4
0
27
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
2
0
0
-4
-2
2
-8
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
4
0
-4
-56
-1
0
-4
-12
5
0
-10
0
-26
0
0
9
0
0
0
-96
-50
-5
-24
-56
4
0
13
0
-109
0
0
0
0
0
0
96
-8
0
18
-48
-2
-1
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
-1
-48
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-15
-8
-11
6
-6
1
0
86
0
0
-7
0
0
0
-24
75
0
-30
12
1
-8
-2
-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
-40
-9
-55
-3
73
13
5
-64
-76
0
0
0
0
0
0
0
-2
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
10
7
-87
0
-5
-1
9
0
8
0
0
0
0
0
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-32
0
-18
8
0
0
-12
0
4
0
0
0
0
0
0
0
0
0
-49
3
0
0
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
-9
28
-6
-19
9
-43
13
-78
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-7
-19
73
-9
-18
6
-11
-55
35
9
4
45
-47
0
0
82
-9
-1
51
22
-13
62
-6
-26
-46
-1
-45
-14
-8
0
0
44
0
0
3
3
16
-2
-77
49
3
-44
-6
14
-47
0
0
0
0
0
0
0
-15
0
-1
0
0
0
5
0
0
0
0
-1
0
0
0
0
-36
-2
-3
42
-4
0
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-9
0
0
0
12
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
3
19
0
4
0
1
-1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
4
-26
-5
0
-1
-5
0
3
19
-30
0
0
-14
0
0
0
51
28
36
7
8
6
0
60
4
-19
0
0
0
0
0
0
-2
23
0
7
15
0
0
1
0
23
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
-15
8
0
-44
0
0
-1
0
0
0
-18
-29
-5
-20
7
0
0
-29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
-30
0
5
0
15
5
-9
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
3
0
-4
-27
0
-1
16
2
-7
-49
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-5
-45
-31
0
-55
7
0
8
-37
99
-30
0
0
-7
0
0
-22
44
-7
16
-41
52
-30
0
68
57
-74
0
0
8
0
-1
0
-6
-51
0
-72
27
-3
3
22
-11
-44
0
0
0
0
0
0
0
1
0
49
0
0
0
1
0
3
0
0
-5
0
0
0
7
10
0
-27
-48
0
17
-61
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
-31
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
0
0
0
57
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
3
0
0
13
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
0
-10
0
-35
-67
0
9
-8
-8
0
-9
14
-42
0
0
-12
0
0
3
-28
-17
6
-53
24
0
0
-42
-5
-58
0
0
2
0
0
0
0
-20
0
8
14
0
0
0
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-12
30
0
0
-4
0
0
0
6
-51
0
0
-7
0
0
0
-52
-4
9
-1
-5
0
0
15
0
5
0
0
0
0
0
0
0
3
0
-1
3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
-1
0
0
0
0
-118
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-21
8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
0
0
5
0
-75
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
1
0
0
-79
-46
0
3
-44
28
-11
1
23
11
0
0
13
0
0
0
10
-46
4
-19
-17
-3
8
-19
0
0
0
0
-2
0
0
0
0
7
0
-32
31
2
46
7
0
-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
1
0
-133
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-20
0
0
0
0
0
0
34
-38
2
-3
-20
0
0
9
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
-27
0
1
-2
-69
1
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
4
0
-6
55
1
-7
-52
-8
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
5
-1
-23
80
0
29
-13
22
-1
13
-25
6
0
0
-7
0
-5
0
21
-90
-3
9
61
9
12
5
-41
-14
0
0
8
0
0
0
-2
-28
0
16
-39
1
41
46
-12
-103
0
0
0
0
0
0
0
0
0
13
0
0
0
-3
0
-1
0
0
1
0
0
0
8
-2
0
44
-62
-4
0
20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
33
0
0
-2
39
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
45
-53
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
12
0
0
-16
0
0
-34
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
-70
0
-4
-44
0
0
8
35
-1
0
0
-58
0
0
-3
0
-21
5
-41
-25
0
0
13
86
10
0
0
4
0
0
0
0
-1
0
-14
-7
0
-4
8
32
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
4
0
2
30
0
0
33
59
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
0
0
-13
0
0
0
10
0
0
-51
-17
9
-20
-38
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-11
5
2
-61
17
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
6
-13
0
8
3
-51
8
-20
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
32
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
5
-3
-49
-4
0
36
-16
-26
34
72
-11
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-8
-48
47
80
-47
-1
54
14
46
-19
53
-52
5
0
0
34
-18
-31
-16
-7
0
18
-56
43
-4
-21
44
-51
24
0
0
18
0
-26
17
-22
8
-5
-29
-33
-15
-60
-5
-32
-129
0
0
1
0
0
0
0
0
0
-8
0
0
0
-1
0
-24
0
0
-49
0
-15
2
-29
0
0
13
26
15
-27
-9
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
9
-1
-8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
8
0
0
1
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
-81
4
0
-3
-50
0
0
12
-17
0
0
0
-16
0
0
0
-24
26
-8
6
-6
0
0
-41
-12
-10
0
0
-22
0
0
0
8
0
0
-10
-32
0
0
0
0
14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-30
-45
0
0
2
0
0
0
5
0
0
0
0
0
-6
0
2
-4
0
-3
3
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
8
55
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
27
-33
-10
-24
-1
-8
-10
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
1
8
0
0
0
-14
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
32
0
0
0
0
0
0
1
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
26
0
3
1
-21
16
-15
-83
7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-22
0
8
-55
-1
0
-49
80
-14
17
53
41
-56
0
0
26
-1
0
5
66
-10
19
-98
9
8
-4
-31
36
-36
0
0
26
0
-1
0
137
-4
0
-30
-82
6
38
47
2
51
0
0
0
0
0
0
38
0
0
14
3
0
0
14
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
5
0
52
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
12
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
160
0
1
-14
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
1
-1
0
-49
-42
0
-70
-15
-17
-1
-4
-41
0
0
0
-26
-4
0
0
25
-9
-15
-17
-14
-3
-1
-96
-22
0
0
0
-1
0
-7
0
-4
3
0
-33
15
4
-4
4
-10
0
0
0
0
0
0
0
0
-14
0
8
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
-5
0
0
-4
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
7
3
0
-2
-9
0
0
7
69
4
0
0
-4
0
0
0
18
2
10
8
-3
0
0
16
13
37
0
0
1
0
0
0
5
0
0
7
3
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
-4
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
-44
0
0
0
-2
25
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
1
-16
92
0
62
6
5
0
18
-86
-31
0
0
-6
0
0
-13
-54
-41
19
-76
0
-9
1
5
-38
-26
0
0
0
0
6
0
7
-2
0
-36
19
-2
4
1
9
-8
0
0
0
0
0
0
0
0
0
31
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-1
0
-42
-8
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-4
0
0
0
0
0
-32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
0
-50
34
0
27
-25
-10
0
12
-13
-5
0
0
-32
0
0
3
-43
25
-10
-45
0
2
0
19
-21
-26
0
0
0
0
0
0
15
0
0
-4
6
-1
0
3
-37
-17
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
29
0
0
4
0
0
0
2
0
0
0
-11
0
0
0
-82
0
0
32
0
0
0
-5
0
18
0
0
0
0
0
0
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
1
0
-26
53
0
12
-3
0
0
-5
-31
0
0
0
3
0
0
0
-7
13
0
6
-7
1
0
3
0
-2
0
0
0
0
0
0
0
0
0
-9
-20
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
59
0
0
0
25
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-13
15
0
0
4
0
-1
23
51
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-118
0
-5
0
3
-127
0
8
-29
-1
0
1
0
-14
0
0
-30
0
0
0
-33
77
-39
-73
-15
9
0
30
-5
-5
0
0
-5
0
0
0
-19
0
0
-26
18
0
0
15
3
-17
0
0
0
0
0
0
0
0
0
-8
0
0
0
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
3
-30
11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
18
0
0
9
0
23
9
38
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-22
-10
47
0
-24
73
-12
22
38
-28
0
0
0
51
0
3
15
-11
12
27
-13
-51
-55
1
-70
33
-24
0
0
-9
0
-8
0
5
0
2
10
-4
29
-16
29
-50
-7
0
0
0
0
0
0
0
0
0
-18
0
0
0
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-14
0
0
0
0
0
0
0
-1
41
0
0
-13
0
0
0
-3
0
0
8
-3
0
0
5
-3
51
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-9
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
0
0
0
0
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
-85
-85
0
1
4
8
0
16
5
-64
0
0
-22
0
1
0
49
12
1
-33
25
0
0
-6
1
-4
0
0
5
0
0
0
-12
14
0
2
0
0
-13
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-57
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
-4
-3
-53
-38
0
4
-26
-1
0
5
7
-4
0
0
9
0
-1
14
15
63
3
8
-7
0
0
30
-7
2
0
0
0
0
0
0
-3
-34
0
1
5
-1
0
-2
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-15
-12
0
0
0
1
10
-2
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
-7
5
-24
-3
0
0
9
-13
0
0
59
-31
0
0
-13
0
2
4
1
-22
0
-32
24
16
0
17
8
6
0
0
-8
0
0
0
2
-5
0
-29
27
0
3
3
-1
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
-4
1
1
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-1
6
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
6
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
4
31
-1
-60
34
0
0
32
-7
-5
-40
-65
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-13
21
-21
94
-7
-5
80
47
-3
-2
9
52
-2
0
0
-9
-8
-21
-20
-25
75
-12
53
20
17
16
-10
20
60
0
0
21
1
13
3
15
-6
13
7
0
-1
4
13
-58
-18
0
0
9
0
0
5
-4
10
0
-17
-3
0
0
24
0
-44
0
0
-14
0
2
0
-8
-3
0
2
43
0
0
-7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
5
-12
0
0
3
0
0
13
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-2
0
57
57
0
-1
-3
0
0
-7
-68
-6
0
0
-32
0
0
0
29
-71
-4
-4
0
0
0
33
5
-13
0
0
0
0
0
0
21
-8
0
0
2
0
1
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-10
0
0
5
0
0
19
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-3
0
55
35
0
-5
59
0
0
-3
-69
9
0
0
-20
-5
0
-2
29
-37
33
23
-2
0
0
-33
10
-8
0
0
8
0
0
0
7
-15
0
3
8
0
-1
0
-5
-13
0
0
1
0
0
0
0
8
0
3
0
0
0
7
0
0
0
0
-7
0
0
0
-4
0
0
0
-1
0
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
8
-5
0
-4
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
-2
-13
1
0
5
-5
0
0
6
8
-4
0
0
-17
0
0
-2
14
8
-5
-6
-1
0
0
4
-8
-7
0
0
0
0
0
0
-4
16
0
3
-4
0
0
0
0
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
-5
0
0
0
77
0
0
0
0
0
0
0
0
8
0
0
-18
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
-1
-2
-9
-14
0
8
-41
7
-3
-13
-1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-12
-57
-1
27
-88
-1
29
-26
24
0
-3
28
36
0
0
1
25
-10
-2
-55
-73
-32
-18
-13
-24
5
-44
-32
-97
0
0
1
0
-14
-5
-11
56
0
-17
-44
9
-34
-14
-30
-13
0
0
4
0
0
0
-4
-18
0
13
-13
0
0
0
0
22
0
0
-60
2
2
0
-6
6
0
15
-26
-2
0
-44
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
-4
21
0
-12
-5
0
2
-11
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-8
-25
-2
-17
-2
0
-15
13
0
16
15
132
-56
0
0
31
1
-6
-5
8
-22
8
38
18
0
0
-75
-90
-22
0
0
1
0
0
0
-6
-1
0
-17
-11
-5
5
0
27
25
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
-3
0
0
-4
0
0
0
0
-1
0
1
-41
0
0
5
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-8
0
-7
0
0
0
0
0
0
0
0
0
-13
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
2
-7
0
-3
-37
-5
4
-48
-5
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
-7
-13
38
-35
-5
5
21
34
7
-19
-47
-11
0
0
44
-3
1
-33
56
-64
-18
-5
97
2
24
-45
-44
8
0
0
-25
0
25
0
29
-26
-8
-76
-19
-10
29
4
26
-33
0
0
0
0
0
0
0
-13
0
-2
5
0
0
-18
0
37
0
0
-44
-1
-1
0
-21
0
0
4
14
3
6
-28
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
-12
0
-8
-4
0
0
0
0
-6
0
0
-1
0
0
0
-7
4
0
2
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
8
0
1
0
0
0
0
7
9
0
0
1
0
0
-4
-14
-13
5
0
2
0
0
2
0
17
0
0
3
0
0
0
-2
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
-2
-53
5
0
0
6
0
0
0
-5
-16
0
0
15
0
-5
0
-15
-4
0
0
-7
0
0
0
7
6
0
0
0
0
0
0
-1
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-5
-13
0
0
0
0
0
0
-5
5
0
0
-8
0
0
0
4
0
0
0
0
0
0
-1
0
-71
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-9
51
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-43
-40
0
-6
0
0
0
6
-5
3
0
0
1
0
0
0
-12
-12
0
-3
-2
0
0
3
0
-1
0
0
0
0
0
0
-2
1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-8
0
0
1
0
0
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
0
0
6
-43
19
0
9
22
0
0
-12
-34
-3
0
0
-14
0
0
0
28
-40
0
-2
0
0
0
-4
7
23
0
0
6
0
0
0
0
-28
0
-30
2
0
0
2
0
-20
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
-14
0
0
1
0
0
0
-13
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
8
0
0
0
0
0
-9
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-45
-1
0
0
0
0
0
-4
-12
40
0
0
0
0
0
0
-1
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-15
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
2
-9
0
-2
19
0
0
-12
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
29
-103
0
6
23
0
0
0
12
64
0
0
-3
0
0
0
22
26
0
-3
4
0
0
16
9
-8
0
0
-3
0
0
0
-23
-3
0
-8
13
0
0
0
-1
-16
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
-5
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
10
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
2
-61
0
0
-2
0
0
-2
-50
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-69
0
0
0
6
0
0
-2
13
-55
0
0
0
0
0
0
-14
5
0
0
0
1
0
21
0
-21
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
-11
80
0
1
0
0
0
0
35
8
0
0
-5
0
0
0
17
19
0
-15
1
0
0
1
1
15
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
2
-29
0
3
0
0
0
0
-3
0
0
0
3
0
0
0
-4
-17
0
-7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-6
-17
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
9
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
18
1
0
0
0
0
0
0
30
-22
0
0
5
0
3
0
-15
-25
-1
7
-2
0
0
3
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-4
-5
0
0
16
0
0
0
-100
8
0
0
-30
0
0
0
0
24
0
0
0
0
0
0
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
19
14
0
3
1
0
0
2
2
-33
0
0
-1
0
0
0
8
1
0
-2
0
0
0
-13
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
2
0
-15
4
0
-14
-2
0
0
-8
-4
-2
0
0
-3
0
0
0
-2
19
0
7
-3
0
0
-2
0
0
0
0
1
0
0
0
0
-44
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
0
5
0
0
0
-17
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
7
4
5
-67
0
1
-10
7
0
-4
66
-20
0
0
-19
0
-5
-6
-8
-81
6
42
38
-2
0
-46
34
115
0
0
-8
0
0
0
35
70
0
83
-8
-4
2
0
-5
-29
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
9
15
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-6
81
0
-5
-15
0
0
0
-5
16
0
0
6
0
0
0
-8
14
0
-4
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
-49
0
-8
-5
0
0
0
0
13
0
0
17
0
0
0
40
6
3
0
0
0
0
2
0
5
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
-9
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
-1
-43
0
-6
-16
0
8
91
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-1
-6
19
47
0
20
-8
-7
0
23
-8
43
0
0
-30
0
1
13
-79
-27
4
10
19
0
0
-2
-29
55
0
0
8
0
0
0
8
-12
0
14
9
3
0
3
4
-42
0
0
0
0
0
0
0
3
0
0
0
0
0
13
0
0
0
0
-5
0
0
0
3
0
0
-1
-36
-2
0
72
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-29
0
0
1
0
0
0
93
4
0
0
2
0
0
0
0
0
0
2
-2
0
0
0
12
9
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
-1
0
-145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
0
-47
-18
0
-4
25
3
0
-5
-54
-124
0
0
47
0
0
1
-51
-23
0
16
55
0
0
73
0
-85
0
0
-3
0
0
0
0
0
0
26
-29
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-38
63
0
3
33
0
0
0
16
5
0
0
0
0
0
0
39
-8
0
9
1
0
0
1
2
-24
0
0
0
0
0
0
-61
0
0
-4
1
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
-32
0
0
0
2
5
5
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-3
33
2
24
6
1
51
-31
22
0
1
-84
28
0
0
-60
0
5
6
-46
52
-15
-39
43
-1
0
6
21
11
0
0
20
4
4
-3
16
-40
2
29
-9
0
-18
-4
12
-15
0
0
0
0
0
0
1
-5
0
-78
0
0
0
8
0
-1
0
0
0
0
0
0
4
0
0
-1
-5
0
0
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
-28
10
0
0
-3
3
0
0
-30
-13
0
0
3
0
0
0
-7
-24
4
-5
2
0
0
-16
3
-13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
15
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
3
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-13
-77
0
2
-14
0
-3
0
-84
7
0
0
24
0
0
0
21
-58
12
10
11
-2
0
-9
-17
5
0
0
6
0
0
0
3
0
0
16
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
20
0
0
1
0
0
2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-7
0
20
13
0
7
47
0
0
0
47
-14
0
0
0
0
-2
0
-75
-43
-1
-12
4
0
0
-40
-113
-18
0
0
0
0
0
0
0
2
0
6
2
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
0
3
0
0
0
-4
-1
0
0
2
5
0
0
-3
0
0
0
-34
0
2
3
0
0
0
0
-8
65
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
-30
2
-2
10
1
12
-9
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
9
27
9
38
-62
-1
-20
16
-37
-2
8
-104
27
0
0
57
0
1
-4
36
-63
17
21
11
7
-3
-1
11
-30
0
0
3
0
0
0
-16
-1
-8
32
3
0
8
33
5
8
0
0
2
0
0
0
0
8
0
3
1
0
0
67
0
-26
0
0
35
0
0
0
0
0
0
-4
-38
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
3
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
39
-2
14
-29
0
-12
9
2
0
5
57
17
0
0
18
0
-42
-4
-13
-9
12
-1
-6
0
0
26
-4
-5
0
0
0
0
1
0
2
0
0
25
0
0
0
0
5
14
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-43
9
-17
0
-2
0
0
0
0
18
-22
0
0
1
0
0
-1
4
9
-2
0
1
-1
0
-13
0
-40
0
0
0
0
0
41
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-2
0
-1
1
4
-1
-9
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-1
-12
-25
-34
0
-21
-11
-22
-1
-25
101
50
0
0
-53
0
1
6
-97
-58
-15
-37
-10
9
0
-15
13
-73
0
0
14
0
0
0
17
12
0
-40
13
1
-5
-1
-7
-42
0
0
0
0
0
0
-83
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-124
0
0
-18
-9
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
3
-1
23
2
-7
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-7
-4
-24
-53
-26
5
-35
13
-49
-1
-56
10
-4
0
0
-41
0
6
-30
67
-68
16
-16
0
17
-2
39
19
-5
0
0
6
0
-1
0
29
65
17
-50
18
-13
8
-30
-61
-21
0
0
0
0
1
0
0
24
-1
-14
0
0
0
40
0
3
0
0
0
0
0
0
0
88
0
-4
-23
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-34
21
0
-2
0
0
0
2
-14
-3
0
0
-22
0
0
0
8
-5
0
-2
0
0
0
-16
0
10
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-3
4
15
31
0
-19
0
-1
0
3
-13
-17
0
0
12
0
0
5
0
0
0
0
8
-5
0
60
-6
24
0
0
0
0
-1
0
30
8
0
72
-5
0
12
-7
4
-42
0
0
0
0
0
0
0
2
0
2
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
45
-18
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
17
13
0
1
-50
1
19
51
-18
0
-9
-19
7
0
0
-46
-18
22
7
42
-32
-20
-20
19
0
0
-28
31
-5
0
0
-4
0
-2
0
-23
17
2
17
14
0
7
27
14
6
0
0
2
0
0
0
0
7
0
-7
0
0
0
28
0
-6
0
0
-8
0
0
0
23
0
0
-7
1
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
1
8
40
45
0
-1
4
0
0
-8
4
10
0
0
3
0
0
0
-42
26
-9
-13
-3
4
-5
-12
25
-53
0
0
-8
0
0
0
1
-9
0
-16
0
0
0
5
8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
17
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
1
0
1
-33
-26
0
31
33
6
16
29
-86
12
0
0
1
0
0
0
-5
4
-5
5
-1
0
12
54
-5
-36
0
0
-7
0
0
0
4
5
2
-8
5
-4
-44
-1
7
55
0
0
0
0
0
0
0
-4
0
6
0
0
-21
5
0
-2
0
0
0
0
0
0
0
0
0
3
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-2
-17
16
-3
-6
0
-11
-22
4
12
-55
42
-41
0
0
51
-7
1
1
-19
-157
50
-7
-82
-12
-2
6
30
-34
0
0
-1
0
1
0
12
-7
-7
41
4
14
10
-27
10
-64
0
0
0
0
0
0
-1
-9
-1
18
6
0
0
-67
0
-66
0
0
2
0
0
0
7
0
0
-2
11
-3
0
-122
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
3
6
-29
21
26
-7
52
15
-16
1
25
-121
-5
0
0
-15
-2
-7
2
-46
24
5
2
-58
17
-7
-112
-110
-58
0
0
-52
1
4
0
-10
0
-3
14
4
-1
-2
42
-126
1
0
0
0
0
0
0
0
-4
0
-4
0
0
0
4
5
-21
0
0
2
0
0
0
-1
0
-8
2
-38
0
0
18
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
11
-11
11
65
-12
5
-12
-17
-8
-37
-68
-137
0
0
-147
-13
20
-2
-36
-28
-21
41
58
-3
-5
36
-1
-133
0
0
25
0
16
4
1
-5
7
28
52
-13
-13
40
-37
-131
0
0
0
0
0
0
0
0
-2
24
5
0
0
-1
0
-75
0
0
1
0
0
0
0
0
3
1
-41
0
0
-46
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-2
-21
41
-41
15
-10
22
-91
-9
-11
-29
35
18
0
0
-81
0
5
-72
-45
-59
30
-40
17
61
-17
-41
-35
6
0
0
6
0
5
-30
-2
-9
-6
13
89
14
-24
-43
-40
-95
0
0
49
0
0
-8
12
-94
-2
-34
12
-3
4
-25
29
-55
0
0
7
0
-23
-1
16
57
21
-51
-3
-8
20
-46
-40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
1
0
0
0
3
0
0
0
-18
2
-2
0
4
0
-1
-1
-13
4
0
5
0
-3
0
0
1
14
0
0
16
37
0
6
9
0
3
2
-4
-19
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-4
-95
0
-45
-14
-9
0
-1
-5
-21
0
0
-48
0
-11
0
-8
-52
34
7
-34
6
0
27
-23
-33
0
0
29
0
-6
0
1
3
2
-22
4
0
0
3
2
-43
0
0
0
0
2
0
0
13
0
2
0
0
0
-25
0
7
0
0
0
0
42
0
0
0
0
1
3
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-56
21
0
-8
-24
0
0
3
-33
-82
0
0
6
-4
-3
-70
-76
-8
-4
-34
37
0
0
9
-9
-25
0
0
0
0
-2
-27
-8
-37
0
-41
-29
4
0
-8
6
-52
0
0
0
0
0
-16
0
10
0
-7
0
0
0
0
0
10
0
0
0
0
0
-17
-4
0
0
-1
1
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-62
29
36
-9
15
0
-48
51
13
0
0
-15
10
-27
-71
-38
-23
-12
0
88
-61
-3
-56
39
-15
0
0
-28
0
44
-1
-7
-8
-33
-10
37
25
89
-99
-52
-51
0
0
2
0
0
0
-55
9
-3
-24
-41
-2
4
-67
0
35
0
0
28
0
-17
4
66
7
4
-17
-69
-34
-50
-61
39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
26
-15
-51
-39
-60
53
50
57
0
0
9
-8
5
28
-4
-61
-16
14
-45
-66
-51
3
-2
55
0
0
24
5
-32
13
11
-91
29
10
61
3
11
-84
-61
-30
0
0
-32
0
-21
20
-4
-55
-66
129
-2
7
-25
68
-5
65
0
0
22
0
8
0
-57
-54
-14
1
-15
7
-17
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-8
7
0
0
-15
0
-1
0
-9
30
21
-8
0
0
0
-19
-1
8
0
0
1
0
0
0
5
-1
0
-1
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-8
-2
-25
42
-52
0
0
-100
2
-3
50
-119
18
-9
7
46
0
-2
9
-91
15
0
0
-27
0
-27
-14
-22
-61
-12
-54
2
-5
1
5
-34
27
0
0
-10
0
0
1
0
34
2
27
0
0
0
-49
0
-46
0
0
2
0
0
0
-13
-2
0
81
-29
-3
0
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-2
-6
1
15
-21
0
0
-40
1
-22
-14
-31
-38
-20
60
40
34
-26
27
-31
0
0
0
-17
5
-23
-4
-37
-28
5
-27
-77
22
-17
4
-105
39
0
0
1
0
0
4
5
48
1
-14
8
0
0
-39
0
-3
0
0
25
0
-8
5
37
-7
0
24
24
-7
14
-13
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
3
0
0
-35
0
-3
3
44
17
-17
-12
19
-2
-3
-24
1
-7
0
0
17
0
3
0
-4
-54
-1
-21
15
0
4
-9
-28
-12
0
0
0
0
0
0
0
-2
0
3
0
0
0
18
0
-7
0
0
9
0
0
0
6
0
0
-18
-38
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
-8
0
0
-6
0
0
-5
44
31
2
6
0
0
1
5
0
-24
0
0
0
0
0
0
3
-4
0
-12
-2
0
24
0
0
8
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
-52
0
0
42
0
4
1
6
-13
-39
29
-26
-3
-8
98
-31
13
0
0
-2
12
8
2
-30
12
-1
9
28
12
-1
-3
24
-100
0
0
0
0
0
0
0
16
0
8
0
0
0
59
0
-94
0
0
20
0
0
0
-4
3
0
13
-9
1
0
91
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-23
0
0
39
30
37
-40
-53
12
-5
55
-59
-8
-36
25
-56
-26
0
0
9
0
43
-28
34
64
-5
82
-63
0
-35
66
-95
18
0
0
30
0
1
9
0
66
5
46
-1
0
0
-9
53
2
0
0
62
0
-12
-13
56
10
-56
-32
-69
4
7
-116
-146
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
19
13
-32
31
31
18
0
85
60
14
-24
-1
47
0
0
0
-17
2
-87
-19
59
-7
-18
-3
-7
-23
60
59
-7
-67
0
0
9
0
0
15
3
-28
26
-40
9
5
-1
41
5
-105
0
0
0
0
0
0
19
0
42
-14
-12
0
0
11
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
2
-1
5
4
-43
18
12
39
12
0
16
11
-3
0
0
-22
0
1
-4
-8
-18
1
-49
47
71
42
-43
-11
-45
0
0
-24
0
0
0
0
-28
-1
15
6
1
0
67
3
-15
0
0
25
0
0
0
-55
8
0
-16
3
-34
0
13
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
-2
1
-1
4
5
0
2
0
8
0
0
0
-2
0
0
-8
1
0
-5
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
-1
7
0
0
8
0
-7
0
0
4
0
88
0
0
-5
0
-42
-5
0
0
-13
-2
-57
0
0
0
0
-5
0
0
0
0
0
0
0
0
9
0
3
0
0
0
0
15
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
16
3
10
21
0
0
-52
-9
-67
0
0
9
0
0
11
-2
5
0
-51
-21
0
0
-4
9
-103
0
0
0
0
0
-116
0
-3
0
3
0
0
0
-1
0
18
0
0
0
0
0
3
0
1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-29
42
13
-21
-44
-2
-52
-18
13
0
0
15
3
1
-1
-36
-66
32
-39
-16
-25
-28
33
-56
-45
0
0
1
0
0
0
-39
9
5
-71
-6
-3
0
10
0
2
0
0
-25
8
0
0
-32
-8
33
-18
-87
0
-2
-10
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-74
24
-29
21
12
2
-25
0
0
16
-7
15
-28
7
-34
-5
-75
-3
44
14
-47
7
29
0
0
-5
0
0
5
1
-56
-8
47
-16
-8
0
-30
-2
-65
0
0
13
0
0
0
0
-52
0
55
45
8
8
-14
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-31
18
0
0
12
-20
52
0
0
37
0
0
2
1
-33
0
-82
20
-13
3
8
-10
-4
0
0
0
0
0
0
0
-15
2
33
0
0
0
-1
0
-22
0
0
20
0
0
0
28
0
0
-7
-12
-13
0
-26
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
37
7
3
-50
-63
11
0
0
1
-6
4
0
0
27
-14
-26
18
-1
-27
-15
-49
-37
0
0
0
0
-1
-2
3
-19
7
-69
0
4
0
21
0
0
0
0
-11
0
0
-1
25
-1
6
31
-57
-7
-5
-74
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
2
-58
-14
-53
0
0
44
1
3
3
-55
-32
1
-62
64
9
23
10
10
2
0
0
-1
0
0
3
1
-38
-3
29
10
-3
0
15
0
3
0
0
-67
0
0
13
-3
24
3
-87
-59
7
0
93
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
10
0
0
0
2
0
0
-35
-8
0
7
1
0
-4
-1
-2
19
0
0
0
0
0
3
0
-3
0
2
0
0
0
-7
0
8
0
0
0
0
0
0
0
0
0
-6
1
6
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
-2
0
0
0
0
4
0
-5
-19
0
8
0
1
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
0
0
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-56
6
0
0
31
0
34
0
27
-18
-2
-19
60
6
2
100
69
-25
0
0
9
0
0
0
5
0
0
-43
41
-5
0
81
1
-76
0
0
-54
0
4
0
-61
7
1
101
-9
23
12
-43
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
-49
0
0
0
-2
-10
-7
-37
35
-2
22
-2
-3
-55
0
0
0
0
0
0
0
4
0
11
-1
0
0
-35
2
-21
0
0
-5
0
0
0
12
5
-3
-29
4
0
0
-3
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
17
-8
41
-26
0
-42
-15
73
-17
-7
-10
6
29
-66
0
0
13
0
0
5
-3
-1
3
41
19
-5
0
-26
9
-20
0
0
6
0
3
0
-49
0
5
-33
7
1
0
-27
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-13
0
-1
23
1
-1
2
12
6
1
0
0
-26
0
0
0
0
2
0
8
0
0
0
-1
0
5
0
0
15
0
0
0
-10
-1
0
16
-23
0
0
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
1
1
0
-1
0
0
10
0
0
0
0
-22
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
4
-8
-50
4
4
-3
-10
-1
61
0
0
0
0
0
0
-14
0
0
-29
0
0
0
1
0
-13
0
0
-4
0
0
0
-31
0
0
20
-76
-5
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
19
-13
-8
-15
-5
-4
0
0
3
0
0
0
0
-15
0
13
2
0
0
-14
0
2
0
0
0
0
0
0
0
-30
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-81
24
-9
20
-33
-82
0
0
-4
0
0
0
-4
1
-2
-46
-2
0
-5
4
0
-32
0
0
-25
0
0
0
-10
-5
-4
-99
-43
-25
8
67
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
18
18
3
20
0
0
5
0
6
0
0
7
-4
-4
5
0
0
14
1
14
0
0
-24
0
0
0
18
-1
0
11
-51
-17
1
-9
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
5
0
0
-6
2
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
-2
0
0
4
7
0
-2
0
0
1
0
0
0
13
0
0
-5
-16
0
21
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
0
-1
0
1
0
0
0
42
0
1
0
0
8
0
0
0
-30
0
0
8
-37
0
0
13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
13
0
0
0
0
0
0
0
0
0
9
0
0
0
-10
0
-8
0
0
-6
0
0
0
7
0
4
0
-24
0
0
-12
-105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-151
0
0
19
0
0
0
0
2
-5
58
21
0
0
35
0
-253
0
0
-18
0
0
0
38
0
0
51
-110
-8
0
-28
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
-154
4
0
0
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
-1
0
0
-19
-4
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
-2
9
0
0
-27
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
29
0
-2
0
0
0
21
0
-99
0
0
0
0
0
0
-15
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
-13
-45
0
-7
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
-8
0
0
0
-3
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
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
0
0
0
14
-6
-1
-67
18
-5
-23
0
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
0
-3
-4
0
-5
47
-27
3
0
0
52
-4
0
0
25
-11
-2
-50
-14
23
0
-121
-30
33
0
0
-48
0
18
0
-49
-29
0
-27
-48
-17
-19
6
4
59
0
0
0
0
0
0
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-21
14
0
-8
0
0
0
4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-13
-8
-71
0
0
8
15
2
0
-4
10
-21
0
0
5
0
0
5
-43
11
-14
-21
5
-12
0
-14
-8
6
0
0
-2
0
-15
0
24
-19
0
-40
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
4
0
0
2
9
-19
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-2
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
5
7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
80
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-31
0
25
16
-1
10
-3
13
30
26
-32
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
-81
0
5
1
0
3
17
-51
-3
0
0
5
7
0
0
-27
6
-1
0
-3
-21
0
-26
-16
-3
0
0
39
0
9
0
-20
-7
1
16
-6
-4
-22
5
18
7
0
0
0
0
0
0
0
-7
0
3
0
0
1
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
1
-18
0
0
5
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
-3
-4
-37
0
3
-12
0
0
-7
-63
3
0
0
-13
0
0
0
0
-64
-2
-21
-8
-3
0
-24
-3
-8
0
0
2
0
5
0
13
7
0
9
2
1
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
50
20
0
-1
5
-1
-3
-54
16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
0
-1
-2
-2
0
-2
-5
-1
0
0
15
0
0
0
0
-51
6
28
-29
-15
0
-6
-13
91
0
0
4
0
4
0
-11
-43
-5
-4
5
0
23
1
23
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-6
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-6
2
0
2
0
0
0
4
-12
-20
0
0
2
0
0
0
-9
-47
15
3
1
0
0
-1
19
26
0
0
0
0
0
0
13
0
0
5
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
20
-10
8
19
42
49
0
0
0
0
0
0
-14
0
0
9
0
0
0
6
-8
-25
0
0
0
0
0
0
0
-14
0
14
0
-6
-1
1
-8
-10
0
0
0
0
0
0
-5
9
0
14
0
0
0
0
5
-5
0
0
0
0
0
0
0
95
0
11
0
0
0
-3
0
10
0
0
0
0
0
0
5
0
0
13
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-23
119
45
-94
50
-7
1
62
-21
-40
-13
-84
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-12
-17
3
-45
-36
0
-17
15
24
-26
-34
-40
-58
0
0
-26
-62
143
34
37
32
20
-19
37
47
45
32
47
-64
0
0
-14
5
35
9
-21
-14
28
90
7
1
-12
41
31
29
0
0
2
0
10
-2
32
20
10
1
9
1
35
-45
-5
-26
0
0
3
0
-2
0
-36
22
14
-9
3
0
2
3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
-20
0
1
1
-45
-4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
4
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
9
-3
-2
13
0
-7
17
9
-3
77
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
22
16
-21
47
75
5
-102
18
4
3
-58
34
25
0
0
-17
12
-6
11
-25
-3
-14
-85
29
-66
-1
-28
-18
-27
0
0
23
0
50
4
-65
-44
0
-32
-1
-8
-13
39
43
9
0
0
5
0
2
3
0
8
0
30
4
0
0
24
0
-28
0
0
16
0
-1
1
-21
-1
0
-11
-9
0
-1
-9
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
5
0
-35
2
0
-6
-10
0
-8
-70
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
-26
20
0
-13
3
1
0
9
23
0
0
0
-12
-3
0
-3
-20
-32
17
-50
-5
-4
0
8
-28
12
0
0
5
0
10
-3
-16
19
-12
100
4
2
17
23
73
11
0
0
0
0
0
0
1
-5
0
16
0
0
0
-2
0
3
0
0
0
0
0
0
-5
3
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
3
0
1
0
2
4
-12
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-47
75
0
-24
9
1
0
0
-17
-56
0
0
-6
0
0
5
9
-24
5
33
-4
0
0
-38
5
39
0
0
-1
0
0
0
-36
18
0
-8
-5
0
-1
0
-7
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
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
58
0
-23
38
26
6
0
54
-37
32
-21
-42
56
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
1
0
126
80
0
2
-17
-1
-14
20
16
-22
0
0
-9
-14
-4
-15
39
-4
-7
-61
18
-3
-4
51
18
52
0
0
-48
5
5
-22
7
7
-51
39
31
7
-8
27
8
-42
0
0
0
0
3
-1
-5
-14
-10
-45
2
0
-8
-2
8
-6
0
0
-8
0
0
-2
54
13
-31
-23
8
0
6
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
6
0
11
61
0
1
-16
0
-12
-20
-28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
14
-21
33
49
0
-2
-9
-1
-7
20
24
-35
0
0
-15
0
-17
13
-66
-69
-43
-49
-6
2
17
-14
-35
5
0
0
-27
0
10
-1
27
0
0
10
-25
0
6
9
6
22
0
0
7
0
-1
4
1
-8
0
13
4
0
0
-17
0
-2
0
0
13
0
1
0
28
-22
0
14
12
0
-3
-24
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
-17
3
25
41
-5
-22
31
7
-38
2
30
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
12
-46
0
0
-27
3
-2
12
37
-41
0
0
7
1
0
14
74
-15
-2
16
-4
-2
2
-58
56
-48
0
0
-16
-4
-8
-8
-33
69
-22
34
19
-5
32
4
42
-7
0
0
-7
0
0
0
-22
-7
0
-29
-2
0
3
-6
-3
-34
0
0
0
0
0
0
14
-22
-1
8
0
0
0
-16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-2
46
1
0
8
0
0
4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
4
59
53
0
-33
1
5
0
17
12
-19
0
0
-28
1
-10
-1
11
-37
-10
-3
-44
0
0
19
5
6
0
0
20
0
0
0
4
-5
0
1
-2
-2
0
0
7
-7
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-9
0
0
6
0
0
0
-5
0
0
-3
3
-2
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-50
0
0
0
0
0
0
3
0
0
13
0
0
0
-1
4
-6
0
0
0
0
0
0
-9
-3
-1
1
0
-1
-1
22
8
-4
0
0
0
0
0
0
-7
2
-2
-5
0
0
0
0
0
-8
0
0
0
0
0
0
0
-38
0
-12
0
0
0
-4
0
3
0
0
0
0
0
0
8
0
0
-5
0
0
0
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
-33
-10
129
49
58
27
19
-6
-2
-20
-23
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
20
3
20
-38
5
62
-21
-8
7
-37
-9
38
0
0
-16
-6
-23
-1
-25
-32
-5
-15
-50
-56
-42
3
-8
-42
0
0
-9
-2
-8
-11
-65
49
-8
43
-15
-43
19
15
25
60
0
0
-15
0
5
-2
47
78
-10
-41
-12
1
8
18
-30
-37
0
0
-29
0
-2
0
-48
-18
-9
-29
4
0
-2
13
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
16
-1
1
0
-8
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-1
3
-1
-8
69
0
18
2
-13
-49
92
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
7
22
22
38
20
-1
-21
-50
-7
44
-72
5
35
0
0
75
3
-9
-13
-41
18
0
-5
43
5
4
-46
-80
-78
0
0
22
5
-15
-3
-24
-18
0
58
-25
-12
-24
2
-18
73
0
0
-1
0
3
0
17
3
0
-42
6
0
0
-55
0
16
0
0
1
0
-3
0
-1
2
0
3
-1
0
0
-38
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-4
1
4
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
2
5
-12
-1
-26
3
28
-37
-5
-44
47
-4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-36
3
0
-14
51
7
-5
-25
-17
24
0
0
10
19
2
-4
-22
55
7
1
-1
-50
4
28
-51
-14
0
0
-38
-5
-21
2
-21
-14
32
-72
-2
22
45
-5
7
-21
0
0
-9
0
0
0
0
33
0
24
0
0
0
-2
1
26
0
0
0
0
0
0
10
-6
5
-9
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
6
-39
0
1
5
-6
3
17
-92
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
14
5
-5
59
19
3
38
-35
1
-12
-18
0
-20
0
0
-43
0
1
-1
-15
-1
17
20
-15
0
0
18
-59
-34
0
0
5
0
0
0
2
21
0
-46
-34
-2
0
-8
-5
10
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
2
30
0
2
0
-19
3
0
0
0
0
0
0
0
-3
0
0
-4
0
0
0
13
-1
-5
0
0
0
0
0
0
0
-1
0
-18
0
0
1
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-6
-6
2
-62
16
36
70
-84
-26
-36
37
-50
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
2
22
-26
0
-38
-10
9
21
-38
23
-60
0
0
38
11
8
-5
-30
-61
17
46
5
-4
11
3
-32
100
0
0
-37
11
-17
7
-15
19
2
-11
-41
13
46
16
-24
-6
0
0
3
0
1
9
13
3
31
-14
3
1
13
-10
0
34
0
0
10
0
0
0
28
0
0
4
0
0
7
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
0
0
0
11
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
1
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
1
18
2
-38
-53
-2
-8
-4
8
3
-20
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
1
11
-9
71
-13
5
-61
22
6
-8
-45
15
35
0
0
52
8
-16
-15
6
-67
-30
-11
39
5
5
-144
-70
-13
0
0
6
-2
5
-15
-33
-18
-5
53
-60
-4
33
2
-24
-3
0
0
1
0
13
-5
3
-7
0
13
-6
0
3
0
0
-15
0
0
-11
0
-1
2
3
0
0
-6
10
-3
-4
9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-37
49
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
7
0
4
0
0
0
-3
0
0
0
0
4
0
0
0
42
-11
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-78
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
17
0
0
0
0
0
-13
0
0
0
0
-1
0
0
0
-4
-17
0
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
29
0
3
0
0
0
0
0
0
1
-3
14
0
0
0
0
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
3
0
38
51
0
-7
0
0
-1
-44
43
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-51
0
0
0
0
-1
0
-16
4
0
0
-4
1
-1
7
-30
16
-7
6
-21
5
0
87
11
45
0
0
49
0
-17
0
-11
33
0
63
-25
0
-12
-4
-19
43
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
8
30
0
0
0
0
0
-13
-11
-2
0
0
7
2
0
-1
12
-43
0
-7
4
0
0
-11
0
-9
0
0
1
0
0
0
-4
6
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-4
0
0
0
5
0
-2
0
0
0
0
0
0
-16
6
0
-5
0
0
0
0
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
0
2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
-3
0
0
-31
-1
0
0
0
-1
0
0
0
-1
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
2
0
0
0
0
-2
0
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
12
0
11
-79
0
-8
3
-1
49
2
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-64
0
-4
0
0
0
2
3
0
0
0
30
0
2
0
-28
30
-5
-2
-11
10
0
-42
-3
30
0
0
1
0
-22
0
-6
37
0
0
-20
0
-2
0
10
-28
0
0
0
0
0
0
-5
-8
0
-1
0
0
5
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-69
59
0
3
0
0
0
0
-11
-6
0
0
-18
0
-13
0
44
-11
-20
1
-2
0
0
23
2
9
0
0
-2
0
0
0
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
0
0
0
0
3
18
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-5
11
0
-10
-2
0
0
-4
-12
6
0
0
6
0
0
0
9
2
0
-13
0
0
-17
0
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
-15
0
7
0
0
0
20
-23
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
-3
8
0
0
3
-2
-1
0
0
-5
0
0
-1
-21
8
0
-11
-21
0
0
28
-10
19
0
0
-5
0
0
0
24
-20
1
26
8
0
5
2
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
7
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
1
0
0
-1
0
0
0
6
4
0
0
-31
0
0
0
-4
0
0
-4
0
0
0
-1
5
-57
0
0
-2
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
75
0
1
-3
0
0
-10
18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
48
6
0
13
-6
-1
0
-15
0
-17
0
0
2
0
0
0
36
5
0
76
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-24
64
0
-1
1
0
0
0
0
-34
0
0
0
0
0
0
33
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-27
-12
0
-3
0
0
0
14
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
33
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
8
48
0
0
0
0
0
-46
-4
0
0
0
0
0
0
0
12
-18
0
2
0
0
1
0
-17
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
18
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
20
0
0
0
0
-1
0
41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
20
-23
0
1
2
0
0
8
5
-5
0
0
-10
0
0
0
8
45
-53
-25
0
0
1
0
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-63
50
0
0
1
0
0
0
-9
-10
0
0
0
0
0
0
-19
8
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
-5
29
-22
-3
-51
-24
3
-12
-18
14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
13
-16
0
15
27
-6
0
11
-58
-68
0
0
-22
-10
0
8
-27
25
-5
12
-33
11
0
-40
2
32
0
0
26
5
-13
2
50
-20
3
22
41
28
-31
37
-1
-34
0
0
0
0
0
0
14
8
0
-7
0
0
0
5
0
51
0
0
3
0
0
0
64
-1
0
-3
0
0
0
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
2
9
0
1
14
0
-2
27
3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
4
-9
-36
29
0
36
33
-5
-1
-17
67
0
0
0
-7
0
5
0
-39
-26
2
23
6
0
0
0
26
60
0
0
-3
0
0
4
-50
-8
0
41
-8
-1
-7
0
5
10
0
0
0
0
0
0
0
5
0
-16
0
0
0
-8
0
-8
0
0
3
0
0
0
-5
8
0
0
-2
0
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-18
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
-18
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-8
0
1
0
0
0
-50
0
5
0
0
1
0
0
0
1
3
0
0
0
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
29
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-17
-1
0
0
0
0
0
5
2
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-8
2
5
-21
0
0
-1
-1
2
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
19
0
-3
0
0
0
0
8
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
23
57
0
-2
-15
3
59
-51
19
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-84
6
0
-9
0
4
0
-46
48
34
0
0
-5
-4
0
0
35
-2
0
-13
-3
19
0
75
-46
31
0
0
7
3
25
-2
14
31
8
6
-6
-7
27
-4
-43
4
0
0
-5
0
0
0
-8
10
0
10
0
0
0
1
0
-30
0
0
0
0
0
0
-46
-8
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
12
-7
0
0
5
-1
3
-13
11
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-8
0
0
-17
3
0
12
-21
0
0
8
18
-20
0
0
35
0
12
-8
13
-65
0
-93
5
0
0
-7
-5
-28
0
0
31
0
0
0
11
11
0
5
-1
0
0
-13
0
-18
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
0
0
-23
0
0
0
0
0
0
0
0
0
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-31
12
6
-5
3
0
-10
-4
15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-3
6
0
0
-2
-42
-21
0
0
2
0
0
0
6
-77
5
20
-24
0
0
15
-36
-11
0
0
4
0
0
0
-17
8
0
-19
-21
4
-1
0
41
-69
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-9
24
0
-3
5
0
0
0
3
-31
0
0
1
0
0
0
-8
-12
0
0
0
0
0
0
-33
-9
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
60
9
-2
-12
-13
-3
34
4
14
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-19
6
0
7
8
0
5
1
15
-3
0
0
-5
0
0
0
-48
53
0
39
13
3
0
9
2
-34
0
0
63
0
7
-2
-11
-32
-6
6
5
2
1
13
-52
-30
0
0
0
0
0
0
-7
-3
0
12
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-7
-5
0
0
-2
0
0
-20
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
5
0
-44
61
0
1
49
0
0
23
-17
-76
0
0
-8
0
0
-1
-34
3
0
3
-5
0
0
5
0
-2
0
0
0
0
0
0
12
-5
0
1
0
0
-2
0
0
-29
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
-25
0
-1
0
0
-32
6
4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-13
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
51
-40
0
-24
-6
0
0
-1
0
13
0
0
0
0
0
0
-24
-16
0
22
0
0
-7
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
12
-32
0
0
2
0
0
0
0
3
0
0
0
0
0
0
-33
-8
0
-12
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
30
0
3
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-28
0
-1
0
0
0
-2
1
0
0
0
0
0
0
0
-1
1
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
11
-9
0
22
6
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
44
0
0
0
0
1
6
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
1
0
0
0
-4
6
-3
0
0
0
0
0
0
0
22
-3
-1
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
-9
5
1
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
22
0
9
0
8
86
0
-55
-5
4
38
3
-26
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
5
17
0
-5
-8
1
3
2
-7
-25
0
0
5
0
9
5
1
-43
0
76
21
-9
-2
13
-9
17
0
0
-5
0
6
0
100
-16
0
0
8
-8
10
-1
49
-4
0
0
0
0
0
0
1
-1
0
36
0
0
0
-5
0
6
0
0
1
0
0
0
22
0
0
1
0
0
0
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
8
8
0
0
0
0
0
-16
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
-7
113
58
0
-4
-8
-1
0
0
23
-37
0
0
-2
0
0
0
-53
14
-1
24
-1
0
0
29
8
-24
0
0
0
0
1
0
-4
-1
0
-5
-13
0
0
0
0
20
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
3
0
0
0
-4
0
-1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-24
35
0
12
-5
2
6
24
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
0
-1
0
0
0
2
-1
-1
0
0
0
0
0
0
64
65
0
9
8
0
0
-19
19
-17
0
0
31
0
0
0
-10
-13
0
5
0
0
-3
0
-9
34
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
0
9
6
0
0
0
0
0
0
22
24
0
0
0
0
0
0
-3
48
0
-8
0
0
0
-1
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
0
3
11
0
-4
0
0
29
18
-2
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
-5
0
0
0
5
-39
0
6
-1
0
0
-1
51
-21
0
0
9
0
-8
0
0
27
0
-8
9
0
0
0
21
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-1
0
-2
70
0
0
0
0
0
0
17
-25
0
0
4
0
0
0
0
5
0
0
5
0
0
0
5
-14
0
0
0
0
0
0
0
1
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
6
10
0
-20
-2
0
13
18
-36
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
0
-1
-8
0
0
-3
-4
2
0
0
-18
0
0
0
49
3
1
51
1
7
4
7
-15
-25
0
0
-8
0
0
0
5
-4
1
23
8
0
-9
0
-14
70
0
0
0
0
0
0
-1
3
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
5
0
0
0
0
0
4
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
-3
0
-24
3
0
4
0
24
17
0
0
-9
0
0
0
-19
17
0
2
5
0
0
8
1
-30
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
0
0
0
0
0
5
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
6
0
-1
0
0
0
4
0
-25
0
0
0
0
0
0
46
-11
0
-7
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
23
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-34
52
16
-11
2
1
3
33
-28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
7
19
-5
-21
-52
-1
-12
-20
-35
-10
0
0
10
0
-14
0
-49
-44
-16
0
-24
11
2
-98
32
18
0
0
-26
0
4
2
22
24
-22
-2
-11
-28
6
-23
48
31
0
0
0
0
0
0
0
15
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-19
0
-1
3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
29
3
14
-17
184
-4
19
6
-1
0
29
36
0
0
0
1
0
0
1
1
34
4
49
15
-7
0
-22
9
-10
0
0
-9
0
0
0
0
-28
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-3
2
1
48
0
-74
-2
2
53
-37
-31
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
2
29
0
21
5
0
-3
9
-17
13
0
0
13
0
1
-7
22
45
1
54
18
-14
5
50
59
-33
0
0
56
0
1
4
4
40
-2
76
-1
12
3
17
-19
-36
0
0
0
0
0
0
0
-6
0
8
0
0
0
0
0
13
0
0
0
0
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
35
0
0
-1
0
0
-10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
2
-4
-16
-37
0
4
-6
0
0
3
10
-90
0
0
-33
0
3
0
-12
-9
23
32
-11
0
0
-13
-4
75
0
0
1
0
0
0
-4
-1
0
1
3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
6
-21
0
4
0
0
-1
8
19
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-25
-24
0
-8
1
0
0
7
0
30
0
0
4
0
0
0
-6
-9
0
4
0
0
0
0
-2
13
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-17
-56
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
5
0
0
3
0
0
0
-31
-19
0
-5
12
0
0
15
0
5
0
0
0
0
0
0
-14
-37
0
-9
0
0
0
0
-3
9
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
13
0
-2
0
0
11
5
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
-3
3
0
6
0
0
0
0
0
0
-2
-12
0
-2
0
0
1
3
0
-10
0
0
4
0
0
0
-18
15
0
1
0
0
22
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
31
0
0
-13
0
0
0
1
3
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-24
21
0
9
-7
-4
30
-21
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
16
-15
-1
9
-13
0
4
59
6
29
0
0
-12
0
0
0
-46
43
-5
-9
42
5
0
-11
4
65
0
0
-7
0
0
0
-31
-119
2
12
-1
0
38
-28
1
42
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
13
0
0
0
0
0
0
1
-5
0
2
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-1
16
0
0
1
0
0
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-15
38
0
-22
-4
0
0
-13
48
-27
0
0
20
0
4
-3
-21
7
-7
9
-2
0
0
76
5
10
0
0
0
0
0
0
0
25
0
25
-1
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
6
0
0
0
0
-3
17
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
-1
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-8
8
-19
0
0
7
0
0
0
0
4
0
-8
0
0
-7
6
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
33
0
1
-2
0
0
0
2
-24
0
0
-2
0
0
0
0
-4
0
0
0
0
0
4
6
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
50
-5
0
10
11
-5
-33
-32
-41
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
6
12
0
6
10
6
-2
-12
13
10
0
0
11
0
0
5
43
-22
7
-4
2
-6
-10
-7
22
-62
0
0
57
-8
-5
-1
-11
-27
-1
67
-6
-4
-80
-8
-13
-16
0
0
0
0
0
0
0
-5
0
21
0
0
0
-4
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
-7
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-12
51
-79
1
-23
-17
-2
0
22
13
9
0
0
-20
0
2
1
-45
47
-4
-14
13
0
0
-27
-2
-18
0
0
-5
0
0
0
1
0
0
-29
-4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
1
-9
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
66
13
0
-47
3
14
0
-14
0
-1
0
0
-2
0
0
0
53
25
-2
-5
0
0
-10
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-51
24
0
0
3
0
0
8
0
-1
0
0
0
0
0
0
24
0
5
1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
5
0
-49
-46
0
-6
-10
25
57
-34
-82
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
-11
-4
0
0
-1
-8
-3
0
0
7
0
6
16
-54
0
3
9
31
10
0
56
-66
-6
0
0
11
6
0
0
-30
10
-1
156
13
-3
4
33
-48
-30
0
0
0
0
0
0
0
-2
0
73
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
1
0
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-17
9
0
15
15
0
0
1
12
13
0
0
-4
0
0
-4
-11
-24
-1
-24
2
0
0
31
-9
21
0
0
1
0
0
1
10
8
0
6
-4
0
1
0
3
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
0
9
-2
0
0
-1
19
2
0
0
0
0
0
0
-27
-18
0
8
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
-4
0
30
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
20
20
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
11
52
0
5
-13
-14
0
69
14
-1
0
0
-1
0
0
0
-3
11
0
14
0
0
2
-8
-17
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-21
29
0
0
-8
0
0
0
46
0
0
0
0
0
0
0
-7
28
0
4
1
0
0
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
-24
0
0
0
0
-2
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-23
-3
0
-12
6
8
0
-5
-10
-1
0
0
-3
0
0
0
-3
-12
0
1
0
-4
7
3
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
18
-39
0
0
-4
0
0
0
-5
7
0
0
0
0
0
0
7
13
0
1
0
0
0
-3
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
0
-3
-4
4
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
-8
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-3
-10
0
0
0
-1
0
0
0
0
0
0
3
0
0
2
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
4
17
-55
8
85
11
-5
41
-51
55
-21
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
62
-112
-8
-4
-37
-21
-19
-26
24
-25
0
0
42
39
5
-2
19
-28
19
-42
37
-15
-11
46
35
-67
0
0
104
26
-18
27
81
-33
25
41
57
63
-6
-12
-77
-96
0
0
6
0
0
0
-23
6
33
-11
-5
-2
24
-1
2
-23
0
0
84
0
0
0
-37
7
-7
27
0
0
-6
-30
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
37
-68
40
48
-27
-22
108
0
0
0
0
0
0
0
0
29
43
0
0
0
40
0
2
0
0
0
0
0
0
0
1
-35
-166
0
13
-22
-27
-12
-2
0
0
0
0
0
0
0
0
0
-41
-5
-3
1
8
-25
-2
0
0
0
0
0
0
0
16
0
-33
-8
1
-3
42
1
-9
0
0
0
0
0
0
1
0
0
24
-7
0
1
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
0
5
0
-23
-8
-15
-2
-41
-13
5
44
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
21
-4
28
65
14
-20
84
-56
12
40
23
75
0
0
6
-14
-3
-40
-34
-34
19
-32
30
15
-18
42
-17
-78
0
0
101
0
-9
-1
8
71
-26
-25
16
15
33
-12
49
16
0
0
72
0
0
0
5
34
0
-4
5
0
0
-17
2
72
0
0
13
3
0
0
-9
16
-6
33
-35
-5
-1
51
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-5
-17
1
0
0
0
15
-9
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-2
-4
0
-1
7
0
-6
25
7
-4
0
0
2
-66
0
0
3
39
-4
-46
34
0
8
0
-9
-17
0
0
-6
19
0
0
35
-67
6
-39
6
-1
-21
8
27
-19
0
0
0
15
0
0
0
-4
0
0
0
0
0
0
0
7
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-96
0
0
0
14
3
-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
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
-7
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
-11
33
0
-4
10
-1
0
3
4
-5
0
0
-8
-24
0
0
-5
-45
-12
-5
-13
0
0
-13
9
-17
0
0
0
5
0
0
25
0
0
-20
-6
0
0
0
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
19
-15
-8
-17
1
-12
17
-10
-37
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
88
0
9
-52
0
8
-14
14
-4
13
-22
-65
0
0
0
0
52
-1
-47
-57
9
86
-16
41
0
-6
-47
-102
0
0
-4
0
22
2
60
60
16
-13
-26
-11
-37
-8
75
-38
0
0
0
0
96
0
0
5
-3
-3
0
0
0
14
0
-2
0
0
0
0
88
0
0
-1
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
-7
8
0
-29
2
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
2
-6
0
0
24
2
0
13
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
10
-16
7
-27
0
-10
-33
-20
0
-57
-4
-64
0
0
-19
0
116
0
-44
-36
-61
-23
-6
-12
0
43
-13
-117
0
0
-6
0
101
0
-11
-11
0
24
62
-3
0
8
-6
46
0
0
0
0
6
0
0
6
0
-2
-1
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
-1
0
0
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
37
-2
0
0
0
0
13
7
33
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
35
0
5
0
-6
2
7
0
-2
12
-13
0
0
1
0
0
28
18
-71
8
63
-18
9
5
-41
-63
23
0
0
-8
0
-1
52
49
30
1
-17
0
0
3
4
-33
39
0
0
0
0
0
34
0
-8
0
4
0
0
0
5
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-46
0
1
2
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-1
-14
37
-21
0
-5
-11
2
0
0
-32
12
0
0
-10
0
0
-18
-51
-76
7
-23
15
0
0
-21
-33
-35
0
0
0
0
0
12
3
-2
0
-13
5
0
0
0
9
-9
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
9
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-71
51
10
-53
-10
24
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
11
-3
-18
-48
4
-59
34
4
23
-17
-23
45
-26
0
0
12
-40
-35
-54
19
-110
2
-53
-76
55
25
-31
-50
-84
0
0
37
39
-31
-71
10
1
-12
39
-35
43
88
-35
-12
-14
0
0
8
0
0
4
93
-7
1
18
-5
19
-23
-16
0
-14
0
0
-27
-1
11
8
19
2
-15
5
0
11
-11
-8
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
44
-1
6
-48
17
9
-24
79
0
0
0
0
0
0
0
0
-4
-28
-5
2
0
11
0
6
0
0
0
0
0
0
23
13
-20
8
5
9
10
60
0
-15
0
0
0
0
0
0
-3
-1
-3
0
-3
-4
-2
38
4
-3
0
0
0
0
0
0
17
13
0
14
-23
13
2
43
0
0
0
0
0
0
0
0
16
0
0
-3
37
-8
-10
-50
19
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
-6
-4
-37
25
-7
-52
34
-43
112
-30
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-36
-11
5
-8
-26
-49
-24
-25
-14
-1
27
40
-85
0
0
10
-34
59
41
-12
-66
-2
-50
-72
-5
-18
-54
-7
-33
0
0
-29
-3
-7
14
-2
16
27
-102
63
16
-8
5
-24
-49
0
0
-1
0
0
0
37
5
-5
-26
-2
-8
-3
-59
0
12
0
0
39
1
-2
10
75
-12
-13
-25
-8
-14
-5
-52
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
29
-47
-29
-1
41
-6
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
-15
3
14
-7
-12
-36
51
22
-3
-68
20
46
0
0
4
23
39
-29
-7
29
4
-16
59
49
-22
14
-41
-61
0
0
-25
7
-17
-80
-2
73
69
9
13
-9
-52
-53
8
37
0
0
-52
-6
-32
86
-27
49
-24
16
30
78
-24
-49
-9
-34
0
0
28
13
-11
-7
-31
71
9
-2
-17
4
-22
12
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-24
-58
-30
-73
-9
-5
-34
-44
60
0
0
0
0
0
0
0
-64
-30
91
91
4
-13
-43
-14
7
0
0
0
0
0
0
4
-14
-20
-13
-9
-62
39
-9
-53
10
0
0
0
0
0
0
6
-2
-30
-18
-21
-5
-12
-13
8
-9
0
0
0
0
0
0
4
17
0
55
20
-28
-22
-76
76
17
0
0
0
0
0
0
-49
2
0
-33
13
5
8
-40
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-15
-14
-28
72
8
-34
-49
26
34
90
-131
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
76
-22
-1
84
-17
-71
-17
42
-48
3
-53
-22
46
0
0
-10
26
-20
-16
18
16
-64
-109
53
19
4
-53
-61
-41
0
0
21
-4
0
8
-69
-8
0
-2
-76
-56
15
-5
-94
-31
0
0
13
1
-7
-17
48
-21
-39
-33
24
13
1
18
2
-45
0
0
15
0
0
1
20
69
16
43
-25
39
-5
43
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-34
-15
16
86
47
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-60
75
-36
-4
-16
2
-7
38
61
21
0
0
-18
0
0
2
-79
-89
-76
11
-5
32
8
-11
21
106
0
0
-47
0
-42
5
77
6
-7
-25
42
-24
-84
18
73
-7
0
0
0
0
0
0
0
-1
12
-6
0
0
0
3
0
12
0
0
0
0
0
0
3
0
0
0
0
0
5
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
41
-35
0
0
-1
0
-14
37
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
3
14
-63
-50
-5
-8
14
-4
0
-19
98
-70
0
0
-20
0
0
9
68
-80
79
-36
-8
1
2
-26
-10
-14
0
0
2
0
0
0
-5
21
0
-34
9
0
-1
0
-19
23
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
-8
0
0
-2
0
0
0
5
1
0
0
2
0
0
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
101
-6
-22
-37
-21
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-4
1
9
-4
0
-51
48
-7
37
-34
-19
8
0
0
-12
-4
27
-3
-64
-25
-31
-12
-65
59
-20
4
8
-13
0
0
11
1
36
-41
-76
-82
36
23
35
12
58
6
-24
-15
0
0
-16
0
0
0
-10
-11
-11
19
0
3
9
8
-4
1
0
0
15
0
0
0
-19
37
5
97
5
0
1
13
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
22
-2
-2
-23
-47
-80
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
0
0
0
16
0
5
0
0
0
0
0
0
10
0
0
15
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-31
-20
0
22
3
-3
8
66
22
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-8
1
22
-2
-91
-3
-1
-34
-1
16
17
50
-41
0
0
92
-3
-44
-13
-54
6
-15
-75
-13
23
3
53
-74
-59
0
0
-5
0
2
6
90
-71
2
-6
47
-14
-9
14
-15
10
0
0
-1
0
0
0
0
10
0
-18
-2
0
-1
15
0
2
0
0
8
0
-1
0
-22
-8
0
-24
23
0
-2
35
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
42
5
48
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
76
57
-2
-9
-40
1
-28
-10
-120
-6
0
0
7
-2
6
5
-36
30
15
16
67
-55
-6
-70
60
-20
0
0
30
-13
-19
28
-84
0
-18
45
91
25
-5
-16
36
34
0
0
-1
0
0
0
-14
-52
11
19
6
0
-9
67
-5
-68
0
0
-6
0
0
0
37
7
-24
3
6
0
1
44
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
31
26
31
-13
-16
7
29
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-1
4
0
-3
8
4
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
-27
0
0
-1
-1
0
-5
0
0
0
0
0
0
16
0
0
7
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
2
-14
6
1
3
3
-3
9
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
6
-19
-71
7
76
3
53
5
-11
4
10
-4
95
0
0
19
-1
16
29
-96
-8
10
48
-15
-2
-5
8
-47
18
0
0
17
0
3
2
-31
12
2
26
17
22
8
-34
49
13
0
0
0
0
0
0
0
2
1
9
0
0
0
-5
0
-10
0
0
-4
0
0
0
-8
-6
-24
4
5
-2
0
30
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
11
44
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
27
-20
0
8
-24
0
1
4
-16
-56
0
0
-40
3
-10
5
-19
-51
7
-10
0
13
-38
-48
47
55
0
0
-19
0
1
8
23
-117
15
-99
-22
12
23
15
-54
-49
0
0
2
0
0
0
0
55
13
7
0
0
-1
4
-6
26
0
0
0
0
0
0
14
-7
8
0
0
0
3
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
8
28
1
-1
0
-19
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
35
-15
0
0
2
0
-5
-77
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
13
-1
-29
25
-2
-7
2
5
1
5
2
-15
0
0
22
-6
1
15
3
-53
-63
-10
2
-13
0
-19
-27
-26
0
0
5
0
-1
0
41
12
-7
-13
15
-2
8
-5
-28
-3
0
0
0
0
0
0
0
19
0
-29
0
0
-2
5
0
27
0
0
9
0
0
0
0
0
2
2
1
0
0
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
69
24
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-16
0
-21
110
-4
1
10
49
-11
-7
-92
-14
16
0
0
-34
28
6
-30
-74
-45
6
-46
6
-15
14
-62
1
38
0
0
68
-17
-20
-18
54
-91
-30
-62
-35
25
76
29
-3
-39
0
0
-10
0
0
16
-9
17
25
16
4
-1
87
-2
-33
-75
0
0
-5
0
0
0
-135
-31
5
-4
8
20
69
-55
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
15
60
-13
17
-7
-17
22
-23
0
0
0
0
0
0
0
3
3
-6
-1
0
0
-22
-3
-1
0
0
0
0
0
0
0
0
-7
8
0
17
0
-26
-18
-5
0
0
0
0
0
0
0
0
0
30
0
0
0
-28
2
8
0
0
0
0
0
0
0
17
0
28
1
2
-7
19
-3
-5
0
0
0
0
0
0
-5
0
0
83
-3
0
2
25
22
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
-9
42
-14
11
7
-16
35
13
-33
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-8
-16
54
1
42
33
-17
15
-71
12
8
-2
-16
0
0
25
8
-1
-31
-13
-62
56
6
28
-23
-13
46
16
0
0
0
68
0
0
-20
12
57
51
-38
93
20
-54
14
28
51
0
0
-6
0
-1
0
3
-40
15
24
-24
8
17
-18
-7
30
0
0
-32
4
0
0
-20
7
-3
26
-10
15
102
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
3
-46
4
-14
81
-21
19
14
-16
46
34
0
0
-20
-11
-30
15
-32
16
-50
26
-10
-54
-60
-21
60
-54
0
0
-4
-42
27
64
-53
-76
72
24
-5
-57
24
94
-64
34
0
0
-12
0
-5
5
36
6
21
-11
-10
-26
10
3
54
-81
0
0
41
0
6
1
-21
-12
36
-1
33
10
7
143
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
29
59
0
-3
-21
0
19
35
0
0
0
0
0
0
0
1
14
-4
0
0
0
16
0
-3
0
0
0
0
0
0
0
-6
-32
-26
1
10
-13
-40
-5
5
0
0
0
0
0
0
0
0
2
6
0
0
1
22
-1
9
0
0
0
0
0
0
0
-11
0
43
17
8
1
53
8
-9
0
0
0
0
0
0
-5
0
0
-41
-20
0
0
-41
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
16
3
6
-4
-22
13
1
2
7
10
-62
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-35
-35
-161
-55
-19
39
-98
60
-22
65
8
36
19
0
0
-46
2
-143
19
4
-12
28
63
32
-8
-20
62
9
-12
0
0
35
0
28
2
-45
-72
4
-21
31
-14
29
6
18
-66
0
0
-7
0
0
0
-40
10
0
18
-4
-5
12
17
-2
4
0
0
28
0
6
0
-24
-1
-18
20
-13
-2
-15
51
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
25
18
17
44
-50
42
-33
6
1
-52
-13
64
-1
0
0
-40
-47
-7
16
-25
-59
-12
69
34
-9
33
-25
38
-110
0
0
-54
9
38
2
-79
-100
4
6
16
-24
-53
-40
-56
15
0
0
-35
0
0
8
0
-89
66
1
-52
2
-33
76
48
-22
0
0
19
0
-8
-8
-19
38
28
-44
-70
19
-8
-29
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
23
17
-55
3
3
-25
-11
-32
76
0
0
0
0
0
0
0
0
-3
9
5
-1
0
21
6
-26
0
0
0
0
0
0
0
0
-40
-64
0
-30
17
37
51
-3
0
0
0
0
0
0
0
-2
7
45
12
-1
-1
5
-9
-12
0
0
0
0
0
0
0
5
0
-32
-2
-8
0
-13
22
14
0
0
2
0
0
0
18
5
0
-6
-9
5
0
8
-79
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
-47
5
11
-15
2
9
28
-41
-6
47
12
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
20
-7
-92
-30
-48
-58
16
28
-49
11
-13
-25
30
0
0
40
0
-6
-35
-1
3
-37
8
-31
1
7
-9
24
14
0
0
-35
0
32
-24
-56
-36
-13
-73
28
14
1
-18
-38
64
0
0
-9
0
9
0
0
-7
16
-15
4
2
2
-43
22
-6
0
0
20
-13
0
7
-39
-64
-33
-40
-30
-1
-9
27
-52
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
40
5
-85
29
13
50
8
90
27
15
22
-32
0
0
35
10
-56
-7
-24
16
58
-30
-148
32
45
30
-37
27
0
0
25
-39
-58
-59
11
38
31
16
16
-59
-8
64
20
64
0
0
-5
-7
-13
6
15
-43
41
-2
-8
-57
19
-16
-45
17
0
0
0
0
-1
0
11
0
65
-42
-39
2
-4
-3
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-10
-70
49
-58
-64
-77
-113
48
8
0
0
0
0
0
0
0
0
9
53
2
14
4
5
0
40
0
0
0
0
0
0
4
-1
-2
-6
0
1
-6
-91
-35
10
0
0
0
0
0
0
-5
0
-3
19
3
0
-6
-37
30
39
0
0
0
0
0
0
9
-20
0
15
-50
23
22
-5
13
-31
0
0
0
0
0
0
3
0
0
6
-16
0
0
20
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
4
-20
-37
9
-18
10
31
-7
101
-18
-3
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-6
-201
39
7
-25
1
-38
-27
-20
-9
-58
57
-6
0
0
81
24
9
-17
47
-34
-24
17
-2
15
-1
-44
71
-20
0
0
-68
-4
30
1
-98
-20
4
-40
67
18
-10
141
-77
-1
0
0
27
0
-13
9
16
-22
-21
-27
4
-6
7
67
4
-40
0
0
-3
0
-1
-5
-70
0
-6
26
18
-16
-7
-6
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-29
-1
0
-27
-5
-5
-14
28
47
-6
0
0
38
6
14
-5
-25
-6
-15
12
-54
-38
-2
22
-100
-17
0
0
57
0
-25
-3
-7
-55
5
-9
-16
-19
-17
11
-16
-13
0
0
-2
0
0
0
6
-28
4
-26
6
0
-19
-30
-5
27
0
0
79
0
0
-1
-28
6
-3
-3
0
0
2
-21
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
8
-2
5
0
26
22
-25
0
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
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
23
0
0
5
-25
0
-21
5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
15
-13
0
4
-13
-6
0
23
1
13
0
0
19
-2
-3
0
-50
-51
-40
-6
-77
0
0
-20
-20
26
0
0
-27
0
7
0
17
20
1
0
-12
0
-1
-23
-8
-2
0
0
-18
0
0
0
0
8
0
0
-2
0
0
14
0
6
0
0
10
0
0
0
0
0
0
5
-8
0
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
34
0
0
30
-54
0
-1
1
-1
0
-18
-5
-9
0
0
0
20
0
0
0
11
0
38
0
0
-8
0
6
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
5
-13
0
0
1
-8
0
0
5
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
3
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
-8
0
-1
0
0
0
-4
-6
0
0
0
0
0
-22
0
-15
19
-5
-3
1
0
0
20
8
3
0
0
0
0
26
0
5
25
0
-8
6
0
3
2
9
0
0
0
0
0
-31
0
0
5
0
1
0
0
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
0
0
-1
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
0
5
-28
0
0
-8
0
0
-2
0
-29
0
0
-1
0
24
0
-5
5
-3
0
-1
0
0
-2
0
8
0
0
0
0
-6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
0
7
0
0
0
0
1
0
0
0
-5
0
0
10
25
43
5
-7
14
3
0
17
-14
-14
0
0
12
0
0
43
6
-15
0
-63
0
0
-8
0
6
-6
0
0
0
0
0
56
0
-12
0
1
0
0
0
0
0
1
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
-10
-32
0
-6
-2
0
0
0
2
0
0
0
-7
0
0
54
17
5
4
8
14
0
0
19
12
7
0
0
0
0
0
38
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
24
-5
-77
22
-14
9
-10
66
5
0
0
10
5
51
46
-31
16
-35
27
-61
-41
25
68
-46
-38
0
0
-16
-19
86
35
24
34
-22
-46
14
-71
-99
11
42
3
0
0
-8
0
0
3
29
-7
4
-50
-1
0
-6
-41
0
28
0
0
-5
0
6
-15
-16
35
-23
74
-7
25
7
-45
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-4
-34
18
0
-1
25
23
-49
89
0
0
0
0
0
0
14
0
8
0
0
0
0
-4
0
2
0
0
0
0
0
0
-9
0
6
47
1
-14
-1
17
0
8
0
0
0
0
0
0
-31
0
0
5
0
-1
0
-10
0
-2
0
0
0
0
0
0
-2
0
0
-23
3
0
0
-23
0
4
0
0
0
0
0
0
93
0
0
8
8
0
0
41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-10
-1
10
-35
-4
7
-13
1
23
8
-31
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-5
18
12
5
8
-45
-4
2
-16
-33
-19
15
0
0
-16
0
29
3
48
-52
5
1
-59
-13
-8
11
-1
21
0
0
8
0
10
-1
-58
-59
1
-20
-87
-9
11
11
8
-142
0
0
0
0
0
0
-47
-15
1
-7
0
0
8
-1
0
-10
0
0
22
0
-5
1
-28
3
0
-10
-22
-2
-3
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
-26
36
31
49
-39
21
-2
0
0
35
14
-15
-13
-3
-14
-27
27
-41
-43
-93
-71
-85
99
0
0
-13
19
-79
-40
27
2
-15
12
25
5
-41
-38
-62
53
0
0
7
1
-19
8
-41
53
-19
40
6
-18
-47
-14
-15
29
0
0
-8
0
-12
0
8
15
0
-24
3
0
-29
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
25
-97
14
-53
18
63
145
-39
-25
0
0
0
0
0
0
0
-9
2
19
0
0
8
9
0
0
0
0
0
0
0
0
-3
-23
10
-74
1
3
-21
47
9
-9
0
0
0
0
0
0
0
0
0
-22
1
0
0
6
3
0
0
0
0
0
0
0
0
21
0
16
2
44
3
10
-8
-8
0
0
0
0
0
0
17
0
0
-3
-16
0
0
2
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-4
-13
30
22
-17
-112
-16
-23
-24
-18
-27
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
6
75
58
-24
-14
-86
-49
-40
9
25
50
-59
-21
0
0
-30
-23
-22
25
-31
-15
-1
-74
71
30
-6
1
37
-60
0
0
-15
-8
-4
6
97
-3
30
-43
-16
-33
0
-35
-19
26
0
0
3
0
-21
-5
16
38
-52
-52
21
7
-3
-95
0
16
0
0
-21
0
2
0
-1
-14
0
3
-3
6
0
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
2
0
0
-4
0
0
0
-3
-104
46
1
9
0
0
-10
-21
8
0
0
5
0
1
0
-11
-1
-13
-13
5
0
29
1
48
-15
0
0
0
0
0
0
0
-5
23
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
17
0
0
0
0
0
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-27
3
0
0
0
0
0
1
1
9
0
0
38
0
0
0
62
46
17
-16
-1
0
0
27
1
18
0
0
0
0
0
0
8
23
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-22
5
-10
-57
8
-2
0
0
51
-10
-1
4
-103
-5
-5
-35
0
1
41
-41
-29
-100
0
0
1
0
-62
-1
-44
7
25
-37
3
36
4
18
-44
-50
0
0
-13
0
0
0
-2
-39
4
-35
-8
0
9
-7
-5
-22
0
0
-2
0
0
0
44
17
10
33
4
0
0
-28
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
2
-43
0
0
24
-23
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
-6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
30
0
0
0
11
0
-3
0
0
0
0
0
0
-2
0
0
16
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
8
0
-9
-15
0
47
21
-1
5
30
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
2
-6
-8
-28
-33
3
-19
-43
-8
-3
25
-50
-11
0
0
-54
1
-8
2
-31
-37
-47
13
-52
-4
-3
90
-51
-51
0
0
-46
0
2
-10
-38
2
1
42
-7
-13
-1
-19
-19
-11
0
0
0
0
0
0
-1
-30
0
51
-4
0
0
7
0
9
0
0
-3
0
0
0
-19
0
0
5
22
-2
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
-11
-9
-9
43
0
0
-11
9
8
0
27
-49
-3
-48
71
-60
-38
68
73
-71
0
0
110
-9
14
0
-41
-48
-17
21
33
-29
-51
41
15
-6
0
0
-5
0
-1
0
-3
48
1
32
7
1
15
-30
-5
20
0
0
1
0
0
0
24
-10
13
3
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-51
4
44
0
13
0
-13
20
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
1
3
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-9
0
-17
3
4
0
-8
0
-7
0
0
0
0
0
0
1
0
0
41
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-8
0
-3
-25
0
12
-3
1
7
14
-43
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
1
-13
-2
-62
-81
-25
18
-18
13
7
90
-67
-20
0
0
-75
-9
12
16
13
29
-46
-13
51
-1
0
-18
33
-30
0
0
26
5
8
6
-50
35
0
-39
41
-18
12
5
23
-9
0
0
2
0
0
0
0
2
0
-4
0
0
0
-16
0
25
0
0
-9
0
-1
0
-5
4
0
4
34
0
1
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
-2
2
0
0
6
0
-14
-4
-58
-63
-33
-5
-52
10
-14
5
-14
38
0
0
0
0
8
-8
2
-23
-13
17
41
-1
65
26
11
6
0
0
-5
0
0
0
-15
-4
3
0
-1
0
4
-9
-2
17
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-48
0
0
2
18
12
-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
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-47
-33
0
3
-3
0
7
22
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
6
24
0
-6
10
0
0
-6
1
-13
0
0
-12
0
0
0
-24
82
-26
-60
2
0
0
-12
-18
-16
0
0
-12
0
0
0
-2
54
-4
65
-1
0
-1
0
-42
-15
0
0
-1
0
0
0
0
3
0
0
0
0
0
8
0
18
0
0
0
0
0
0
-7
8
0
12
13
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
18
31
0
0
-8
2
0
3
-40
-11
-20
20
21
-39
6
-61
96
48
0
0
66
0
1
4
-15
-41
-26
27
38
12
20
7
-102
-85
0
0
0
0
0
3
-14
-8
0
32
6
-7
-14
5
-17
21
0
0
0
0
0
0
-13
-5
5
-16
1
0
-5
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
25
0
1
0
22
-9
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
0
0
0
23
0
-3
0
0
0
0
0
0
0
0
0
-12
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
7
23
0
8
13
0
30
39
-10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
65
-5
0
-28
40
-2
0
-5
-10
-1
0
0
2
0
0
-1
38
111
-41
-6
1
-3
1
9
18
4
0
0
30
0
1
0
-15
22
1
30
6
-8
4
-4
-13
-35
0
0
0
0
0
0
0
14
0
-15
1
0
0
1
0
-45
0
0
-3
0
0
0
6
0
0
-4
18
0
14
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
-6
0
0
11
13
-36
13
6
43
15
74
23
58
34
-15
28
-9
0
0
-52
11
35
6
34
5
23
-72
-6
26
-22
-124
-87
-16
0
0
1
0
0
0
4
-16
24
49
12
-1
17
-31
1
4
0
0
-2
0
0
0
-1
-35
-5
12
1
0
5
7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
-4
-1
-18
-104
-14
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-4
0
0
0
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
16
3
0
0
36
0
8
0
0
0
0
0
0
1
0
0
-26
-3
1
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
-4
0
-8
41
0
-4
-18
0
9
-8
-46
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
3
-23
-3
38
-6
0
8
10
0
23
22
0
-10
0
0
-1
-4
2
25
13
-9
-34
-49
-34
-5
4
98
24
-24
0
0
-21
0
-15
0
-27
13
0
-41
21
7
-19
9
8
2
0
0
0
0
0
0
-5
7
0
-11
-5
0
0
15
0
-19
0
0
-30
0
0
0
-30
0
0
-9
19
0
0
98
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
10
0
0
-38
3
24
-14
29
-11
38
15
5
-10
-67
-71
-7
8
0
0
35
-13
-7
0
-8
-41
6
23
3
23
-16
62
-14
20
0
0
6
0
-4
4
0
-51
8
-8
1
-9
0
-1
-3
-38
0
0
-3
0
-7
2
-17
25
6
55
-23
2
-15
-34
83
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
24
28
4
1
-4
-45
-29
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
-8
-9
0
9
0
3
-15
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
-30
0
0
0
-2
-23
33
0
0
0
0
0
0
15
0
0
-17
0
0
0
25
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-19
-13
-26
60
6
-77
0
37
1
2
-8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
24
13
59
-19
3
73
-6
-26
18
-15
41
37
0
0
-9
21
9
34
19
-49
66
20
-26
-6
14
18
-59
19
0
0
-4
0
28
2
21
-38
5
-9
-21
-17
-10
12
30
-3
0
0
-3
0
1
0
0
2
0
14
5
0
0
-6
6
-16
0
0
-28
-2
15
-13
39
6
-1
-8
5
-2
-2
48
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
-4
6
-18
1
-35
-12
-17
-40
-80
59
48
-68
21
-85
0
0
-42
6
-5
28
9
-24
-2
0
31
53
53
-14
-26
53
0
0
10
0
1
0
-14
14
-43
12
-8
10
-50
11
7
1
0
0
0
0
0
0
5
0
-5
0
0
0
2
2
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
44
66
-6
0
8
-7
-28
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
-14
0
1
0
-2
-3
5
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-23
0
-3
0
-2
0
-20
0
0
0
0
0
0
0
0
0
-45
3
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-23
3
-35
-79
-22
-10
2
32
16
10
-43
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
3
15
-3
-74
-29
0
13
-4
-23
2
33
6
39
0
0
11
-6
2
-17
-122
18
-16
-22
-7
-17
16
-111
-25
1
0
0
-36
0
-12
-11
-42
-21
-7
2
2
-20
-4
12
49
-39
0
0
7
0
0
4
-14
-13
0
-6
6
0
4
-6
0
-45
0
0
-1
0
0
0
-15
0
0
12
3
0
1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-17
37
81
-19
-45
8
22
-5
14
40
52
0
0
26
14
8
13
-50
-78
-58
12
-14
-41
56
-70
53
34
0
0
10
0
0
0
-7
-18
-20
29
-8
3
24
-9
-10
38
0
0
91
0
0
0
-46
8
-16
8
1
0
0
7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
-8
19
16
10
-3
-50
9
57
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
0
17
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
2
0
3
0
-12
0
3
0
0
-4
0
0
0
0
0
0
1
2
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
-1
0
-18
-33
0
-15
24
8
-7
2
-36
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-15
-3
15
-11
21
-9
-18
1
7
11
9
6
0
0
-24
0
-4
5
17
64
-62
-42
-8
0
0
-30
-13
-6
0
0
88
0
0
-1
22
-53
19
5
-12
-1
9
-14
-23
20
0
0
3
0
0
0
0
-6
1
-18
3
0
0
10
0
6
0
0
-11
0
0
0
6
0
5
-12
-93
12
0
-11
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
15
-15
7
1
45
-9
-1
-27
-28
45
0
0
2
28
-4
-2
-61
-23
-13
27
2
10
-19
35
-5
-21
0
0
0
14
0
0
-4
12
-2
-6
2
8
4
-3
-9
2
0
0
0
15
0
0
-12
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
-21
0
12
0
20
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
5
5
0
0
7
0
-2
3
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-1
0
2
13
0
-13
-15
-3
0
-2
-40
-29
0
0
0
31
0
0
21
-24
1
-1
9
-2
0
-11
10
-6
0
0
0
23
8
0
-7
-1
0
-13
-2
0
-2
0
2
6
0
0
0
15
0
0
0
-1
0
4
0
0
0
0
0
-1
0
0
-8
2
0
0
12
0
0
0
4
-3
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
13
13
10
-22
-7
2
0
-2
-21
-3
0
0
-3
2
-29
2
35
-28
-8
-67
2
-4
-2
5
22
-23
0
0
0
0
-34
0
0
-17
0
1
-2
0
0
5
0
15
0
0
0
0
-9
0
-3
0
0
1
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-12
0
0
0
15
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-12
0
5
12
0
0
-16
0
0
-23
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
16
0
-4
77
0
-53
-3
-5
0
8
58
-30
0
0
0
0
0
0
-2
20
-10
25
2
-1
0
5
0
-34
0
0
1
0
-66
0
1
3
9
-10
13
0
0
2
3
1
0
0
0
0
5
0
0
-7
0
0
0
0
0
0
0
3
0
0
0
0
-14
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
16
7
-24
-5
2
2
-2
49
-56
0
0
22
0
0
15
-29
-16
3
46
-12
3
33
-9
-51
72
0
0
0
0
0
11
-2
19
0
38
-1
0
0
1
1
-14
0
0
0
0
0
-2
-7
0
0
-2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-65
1
0
-5
-33
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
45
-6
-31
-1
1
30
-3
-1
-3
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
22
-85
-2
8
-76
5
8
-5
-3
25
0
0
1
0
0
48
-71
5
-46
44
33
0
0
5
-16
14
0
0
-2
0
0
49
3
-23
-1
21
-22
-6
0
0
-2
7
0
0
-4
0
0
82
0
-25
0
-2
1
0
0
-2
0
-20
0
0
0
0
0
11
-1
0
0
19
1
2
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-127
-6
-26
-9
57
-20
-29
-65
-47
0
0
-23
16
-28
9
27
-71
16
9
11
-5
32
11
3
77
0
0
-6
0
0
21
90
-59
-43
-2
-9
-3
-22
-53
0
4
0
0
89
-3
3
-8
24
-33
44
-5
25
-2
12
-80
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-75
27
-3
55
38
52
-41
-29
-24
0
0
0
0
0
0
-26
1
-11
64
3
0
0
12
0
3
0
0
0
0
0
0
-1
0
1
-14
0
24
-1
14
0
7
0
0
0
0
0
0
9
0
2
-7
-2
-32
4
-29
-1
6
0
0
0
0
0
0
7
-9
0
61
-6
-3
0
-17
0
-1
0
0
0
0
0
0
-31
0
0
-1
54
30
0
-17
-14
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
51
51
-55
70
-5
30
59
-30
28
-25
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-13
27
-9
10
-6
-13
-50
21
7
-2
-18
29
-33
0
0
-72
22
19
16
41
-54
3
21
-38
15
12
-9
29
48
0
0
8
-21
-75
-4
-9
-30
-40
-59
-63
-31
-5
-58
-8
30
0
0
-6
0
0
0
37
1
-10
1
-8
7
0
7
0
-51
0
0
-45
4
-3
16
23
-27
43
23
-77
27
5
26
32
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
22
-8
-32
-1
-2
-7
-47
36
0
0
1
24
-5
-34
7
-18
9
-23
79
-18
2
-23
7
-36
0
0
-13
1
-50
-30
-5
-3
-12
-26
17
53
-50
-35
-11
18
0
0
20
0
10
2
37
68
13
-3
38
6
8
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-28
1
3
2
-39
-19
15
72
0
0
0
0
0
0
-5
-86
-38
-76
13
1
0
30
-3
5
0
0
0
0
0
0
5
-59
-67
-13
-2
1
-20
94
32
-12
0
0
0
0
0
0
-7
-25
9
5
17
1
-6
-85
6
-14
0
0
1
0
0
0
-5
62
0
-9
-9
8
22
-33
10
-11
0
0
0
0
0
0
7
18
0
28
42
1
-2
-13
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-2
3
9
-38
29
-24
-17
-38
-7
-122
105
-20
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-15
-17
-9
88
9
78
-85
-43
21
7
-36
21
-102
0
0
118
17
33
-8
7
32
-7
-27
51
2
37
39
-36
1
0
0
-56
15
-102
-15
17
-14
18
-81
91
-100
-7
-44
15
23
0
0
5
0
-15
1
14
-55
-9
-56
-45
-34
14
-85
-8
-4
0
0
55
0
6
0
-14
-48
-16
-22
20
-3
7
-57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
32
60
-23
-19
39
-70
-12
0
0
-64
5
-25
-10
53
-47
11
14
1
7
-29
15
-20
16
0
0
25
0
0
0
-1
7
0
-9
4
4
-15
46
0
8
0
0
4
0
0
0
15
-29
69
-3
1
1
-1
27
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
-4
13
7
2
0
1
19
-28
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
-28
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
-29
4
0
0
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
5
0
67
2
-2
-8
-5
-1
-19
83
-56
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
4
-15
6
-10
-49
73
35
24
8
3
41
-48
26
0
0
-20
0
0
15
16
-32
-28
-1
30
5
0
46
13
50
0
0
-34
0
2
-1
26
59
-12
0
-62
-41
-40
12
-54
79
0
0
7
0
0
0
3
-66
22
12
-9
0
0
-1
0
-50
0
0
-15
0
-1
0
46
-1
0
-9
-31
-5
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-48
-44
39
10
-34
-42
0
0
-16
-6
20
-4
4
-18
-41
-15
2
-25
-11
14
0
8
0
0
12
7
-8
24
-28
35
-34
13
-3
-26
-43
18
36
56
0
0
-28
0
-1
-1
-32
-29
-19
14
9
6
38
-17
12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
48
-32
-56
-52
-23
-28
11
49
-55
0
0
0
0
0
0
0
0
6
-4
0
-4
0
0
3
-15
0
0
0
0
0
0
2
0
3
-22
0
-6
-3
21
-12
9
0
0
0
0
0
0
-5
0
-7
10
-5
2
0
8
19
8
0
0
0
0
0
0
0
-14
0
17
4
14
-5
12
2
14
0
0
0
0
0
0
-2
0
0
-14
35
0
3
10
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
17
-8
4
2
26
-3
47
-79
-23
-13
60
-70
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
13
1
-35
2
72
17
34
-17
-26
9
-47
-19
15
0
0
20
-7
-13
-16
26
-51
3
10
-46
2
6
27
16
-70
0
0
-43
4
-49
-12
2
-5
-1
16
-44
27
2
-77
-12
-6
0
0
56
0
1
-20
-39
45
-6
-19
21
-3
5
-17
-12
-68
0
0
5
-4
3
8
69
-21
39
65
-6
-25
-31
-8
69
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
66
-23
-2
39
-21
0
0
6
-24
33
21
-22
15
-13
42
16
46
-116
94
5
-21
0
0
0
0
0
-9
19
-21
27
112
-4
-8
-19
0
-4
58
0
0
-13
0
0
0
-48
-6
16
41
-14
9
-19
66
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-40
-8
-9
-45
42
-15
18
3
-43
0
0
0
0
0
0
0
0
-6
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
-12
0
0
0
-49
6
2
0
0
0
0
0
0
0
-3
0
4
0
0
0
12
1
4
0
0
0
0
0
0
0
6
0
51
9
0
0
8
12
30
0
0
0
0
0
0
15
0
0
-2
5
0
0
-7
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
12
17
-18
35
3
17
8
2
14
109
33
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
2
1
-51
32
41
-1
56
74
-1
10
-37
49
0
0
-1
-8
7
-8
-7
-58
56
73
77
21
19
-9
-89
21
0
0
-18
-1
13
-3
14
39
-14
42
-32
54
-1
3
46
-9
0
0
-12
0
1
5
17
113
13
-42
-27
3
2
11
14
-36
0
0
3
5
2
-10
41
0
43
19
-24
29
-9
1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
-45
60
46
0
0
25
17
16
-18
-17
-50
0
49
68
5
33
33
-89
-5
0
0
-3
0
0
-5
-10
55
66
-14
8
0
-3
-23
-1
31
0
0
3
0
0
0
49
-19
56
-9
1
0
-1
-26
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
29
-48
8
-4
-1
7
-30
-59
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
0
-1
11
0
16
0
0
0
0
0
0
0
0
0
27
1
0
0
17
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
12
5
9
19
3
8
34
-12
2
-5
44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-1
0
9
-2
13
-13
-12
23
4
-3
50
-2
-79
0
0
-24
0
3
1
-18
134
9
-26
-3
1
0
81
0
-42
0
0
48
0
-6
8
21
37
-1
2
17
-8
0
54
-9
14
0
0
0
0
0
0
5
8
0
-3
-6
0
0
39
-1
-10
0
0
-3
3
0
0
2
-6
0
22
-2
14
0
-17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-71
43
0
0
31
-1
12
-12
24
33
-38
49
-54
-2
1
4
55
-8
0
0
9
0
0
8
-6
12
-8
36
-5
0
13
6
-4
17
0
0
-3
0
0
0
-4
-8
0
0
-3
0
13
-8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-11
-12
1
0
-14
-3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
0
5
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
-2
-11
0
13
66
-1
-9
33
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-7
9
-52
43
0
-1
-34
-9
1
-2
-11
-2
0
0
-4
0
0
-4
43
81
-13
-20
-49
6
0
-5
25
42
0
0
-34
0
2
-4
-28
-43
3
10
-10
-1
3
6
-33
49
0
0
0
0
0
0
0
-10
0
-84
3
0
0
24
0
-12
0
0
8
0
0
0
-11
-3
0
6
7
8
27
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
12
12
0
0
-33
-108
-30
-52
-30
-12
88
-34
33
46
20
16
5
-45
0
0
30
-20
-13
-19
71
-52
-16
-47
-24
-55
-2
-12
7
5
0
0
-2
0
-4
-4
-7
40
-8
4
20
-15
10
-29
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-25
-19
-3
-73
58
8
-46
-6
25
0
0
0
0
0
0
0
7
-34
-27
1
0
2
-30
-7
21
0
0
0
0
0
0
4
7
4
-63
0
0
0
-24
1
-37
0
0
0
0
0
0
-6
0
0
-9
8
-3
0
5
19
-4
0
0
0
0
0
0
1
16
0
1
-2
3
12
179
-14
-13
0
0
4
0
0
0
0
0
0
-49
4
8
1
-84
45
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
27
26
-34
-35
64
-24
20
55
41
13
15
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-13
-13
38
22
18
-17
-4
8
29
-39
18
82
-47
0
0
-22
11
-59
36
-32
8
19
38
78
-45
26
-6
-38
39
0
0
35
1
-46
1
-4
5
-29
39
-106
27
4
19
-47
25
0
0
-18
1
14
12
-24
30
-10
18
-9
-1
-4
15
8
22
0
0
47
-22
4
1
38
63
41
55
17
0
1
7
72
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
-22
-57
-94
-35
-68
21
37
-36
-26
47
-61
-71
-32
-24
0
0
13
0
3
-16
0
-2
24
3
-10
-18
18
3
62
23
0
0
24
1
0
-5
-40
-46
46
25
-11
12
17
0
36
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
-1
64
-15
-54
18
35
-64
0
0
0
0
0
0
0
0
9
-2
-10
0
0
5
-57
8
0
0
0
0
0
0
0
2
-15
3
5
2
0
27
-32
4
0
0
0
0
0
0
0
0
1
-19
0
0
0
1
-46
13
0
0
0
0
0
0
0
10
0
-1
4
10
0
78
8
7
0
0
0
0
0
0
6
0
0
1
-26
2
0
38
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
-15
-56
-101
2
-21
5
-30
66
-9
-26
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-41
-8
12
-43
-12
3
33
58
56
43
-44
1
-56
0
0
-22
8
-28
27
-3
-25
34
86
7
2
-3
-95
21
-25
0
0
42
17
-44
-9
50
6
-39
-14
15
32
20
-18
51
13
0
0
9
0
0
4
0
6
-5
-39
-12
1
1
7
6
-24
0
0
-4
-6
3
-9
-5
-23
-15
5
-47
1
1
-3
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
22
61
45
-24
43
120
12
15
-2
77
-10
-22
-70
36
0
0
-83
-6
-12
-21
-49
-77
-44
-76
-59
-5
-33
80
43
46
0
0
-9
0
0
-1
-14
0
-57
-13
1
0
30
-9
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
2
-8
-25
26
-9
-25
-13
-33
-69
0
0
0
0
0
0
-2
0
10
24
1
0
0
24
-8
1
0
0
0
0
0
0
2
0
-7
-45
-1
-9
0
24
3
-69
0
0
0
0
0
0
-4
0
7
-1
-1
-17
0
-12
-3
-50
0
0
0
0
0
0
5
0
0
48
-15
41
10
52
16
-19
0
0
0
0
0
0
-5
0
0
-9
-5
0
0
31
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
-6
-29
-38
-174
30
-69
-20
16
-60
-41
12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
-15
-46
35
41
-47
81
-50
-92
31
-38
-18
21
0
0
-2
30
-16
-45
35
31
1
-24
-32
-16
-16
36
15
-37
0
0
-33
-8
-30
11
34
15
-55
30
-13
46
22
-25
-7
-54
0
0
-12
0
-2
-9
-2
12
9
-37
18
-13
-3
-16
13
-16
0
0
-26
4
3
-2
26
0
11
32
-3
-3
-15
-55
41
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
2
17
0
18
35
-17
-11
36
-5
1
-21
-5
-30
0
0
4
0
0
0
-5
2
-1
-82
-13
-4
-4
6
4
67
0
0
39
0
0
0
-2
66
40
3
-17
-7
-3
-13
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-9
-7
-25
9
8
-21
-45
11
4
0
0
0
0
0
0
0
0
13
1
0
0
0
-16
2
-12
0
0
0
0
0
0
5
0
-3
19
1
1
-2
40
8
-12
0
0
0
0
0
0
0
0
0
12
2
0
0
-8
-15
0
0
0
0
0
0
0
0
-13
0
-17
-10
2
-1
80
2
18
0
0
0
0
0
0
-1
0
0
-19
1
0
0
7
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
-58
-14
1
46
21
-4
1
24
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
-8
15
-48
-4
13
-40
-20
-15
-2
-55
-26
99
0
0
-64
-3
-22
-1
29
-33
3
-16
-50
-4
9
0
-31
-109
0
0
90
0
0
0
-22
20
28
-4
11
38
5
42
4
4
0
0
-17
0
0
0
0
-15
5
3
-1
0
0
45
1
27
0
0
53
4
0
0
-12
10
14
17
-11
8
-9
19
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
-77
0
5
14
-1
-19
7
-8
6
0
0
0
-13
0
0
0
-4
0
0
0
0
0
-1
0
12
0
0
0
46
0
0
10
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-38
0
0
-4
22
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
-1
0
0
0
0
0
0
-5
15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
15
0
-9
19
0
0
2
6
-6
0
0
9
79
0
0
0
-2
24
-29
-39
-7
0
-38
-12
42
0
0
0
-4
0
0
-2
-8
0
-5
3
2
0
0
-2
4
0
0
0
8
0
0
0
-1
0
2
0
0
0
-2
0
-8
0
0
0
27
0
0
0
0
0
0
15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
49
15
36
-21
-8
4
-6
6
30
-12
0
0
0
0
66
0
-1
24
-2
2
-3
0
-4
7
-14
10
0
0
0
0
37
0
11
-16
3
-17
6
0
-2
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
2
29
-1
8
2
-17
12
-12
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
16
0
6
0
0
0
0
0
0
0
0
0
-16
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
50
0
29
23
0
5
4
6
-7
6
-47
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
-78
-8
48
-46
0
6
-68
21
1
-18
-34
-80
0
0
-1
0
68
-8
12
-30
16
13
-48
3
0
30
-20
8
0
0
5
0
-19
0
-23
-5
23
46
-6
-3
-6
2
-1
-24
0
0
0
0
4
0
0
-14
0
-13
0
0
0
0
0
-3
0
0
-8
0
11
0
-4
0
0
-1
49
0
0
25
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-23
-15
0
-53
-5
0
-8
0
2
-59
0
0
1
0
0
13
4
-3
0
8
-1
0
0
0
0
54
0
0
5
0
0
51
-6
-2
0
17
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
-1
15
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
65
0
30
0
5
5
0
-2
6
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
-1
-31
12
-38
0
14
-20
3
0
3
17
-3
0
0
60
0
0
63
14
7
33
44
23
-3
0
13
-51
67
0
0
0
0
0
1
0
1
0
4
-1
1
0
0
0
-1
0
0
0
0
0
-13
0
0
0
10
0
0
0
-5
0
-4
0
0
0
0
0
44
0
0
0
0
8
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-95
52
5
-24
-41
60
4
-2
-33
0
0
1
0
-2
0
102
-8
-1
-58
-46
17
4
-44
0
-17
0
0
21
0
9
3
157
-97
-59
-90
29
6
-47
-55
40
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-96
22
-85
19
1
-34
-90
-7
-36
0
0
0
0
0
0
-11
0
-10
-37
1
0
-1
-40
0
-8
0
0
0
0
0
0
43
0
-7
-17
-17
2
-6
-50
1
10
0
0
0
0
0
0
0
0
0
-2
4
4
-7
2
-3
-8
0
0
0
0
0
0
10
-13
0
-10
8
-13
0
30
0
23
0
0
0
0
0
0
9
0
0
6
34
-6
1
5
26
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
5
15
-5
84
17
-7
-14
21
-19
13
-13
51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
71
17
5
5
-69
21
-23
82
16
-11
69
3
-54
0
0
-33
6
-22
9
21
39
-32
-7
60
16
-61
39
-18
-29
0
0
48
6
1
-2
61
31
-25
-64
70
-29
33
-1
16
-129
0
0
0
0
0
0
35
15
-3
19
-19
2
0
-1
0
8
0
0
-43
9
-2
7
32
-13
-6
-5
-44
3
8
-29
-67
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-17
-29
-30
-73
67
-21
-65
-47
0
0
-47
-16
-13
33
0
39
-16
35
17
39
-10
-11
-27
-38
0
0
-20
3
-1
-2
-11
-7
44
-46
25
43
-12
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-14
-15
55
-36
-67
23
1
70
-10
0
0
0
0
0
0
0
-18
4
-48
15
-1
0
3
-6
-6
0
0
0
0
0
0
5
-8
-85
-35
0
-36
30
81
-26
-1
0
0
0
0
0
0
-8
-1
8
-17
1
1
-2
8
-8
0
0
0
-4
0
0
0
0
48
0
-46
-48
-10
-15
-41
-5
-70
0
0
0
0
0
0
6
-3
0
-24
16
13
3
-89
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
11
-5
31
-33
-42
-39
-17
34
46
51
-34
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-68
-3
-23
51
-7
2
94
105
24
-47
-17
19
-83
0
0
-19
-34
0
-48
-41
9
38
-2
48
-13
-18
-37
7
-49
0
0
-12
-1
12
4
16
-12
-66
34
-43
25
-49
32
-2
-4
0
0
0
-5
-1
2
-28
16
-20
-2
20
0
-3
67
-8
-21
0
0
-3
0
0
0
-9
0
-21
34
-14
15
-2
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
93
4
-17
37
-12
18
73
0
0
-3
0
0
0
4
24
-54
51
-1
7
8
40
0
0
0
0
-3
0
0
0
-20
5
88
-3
0
0
0
20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
40
4
22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
4
0
-72
44
-4
-3
-43
5
89
50
18
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
5
16
5
68
-46
-9
37
0
10
-2
11
-3
0
0
0
53
0
1
-18
-26
-59
19
13
-15
-13
1
12
-2
64
0
0
15
0
0
0
-15
33
0
-24
42
18
8
1
5
-10
0
0
0
0
0
0
-3
-12
0
-4
0
0
0
30
0
18
0
0
7
0
0
0
-8
7
1
24
18
-1
-1
42
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-56
26
-19
-85
-18
37
0
0
51
0
9
12
-2
41
-40
50
-19
29
47
157
-2
98
0
0
-35
2
0
-5
-102
-36
19
34
14
6
-7
-50
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
60
-83
15
-61
-6
87
59
76
0
0
0
0
0
0
0
-1
10
-1
-1
0
1
-48
-5
18
0
0
0
0
0
0
5
-5
-4
-20
2
0
4
6
19
9
0
0
0
0
0
0
0
1
0
23
0
-5
0
-13
-4
28
0
0
0
0
0
0
0
-31
0
138
13
-12
-8
-18
4
13
0
0
0
0
0
0
-2
0
0
-19
-11
0
0
11
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
27
4
-33
-3
-11
-13
52
-4
21
-68
-37
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
40
-36
-10
-16
19
22
-48
62
-14
41
-42
26
-22
0
0
-13
-3
-48
-25
-14
-3
0
3
46
-66
-44
2
39
-68
0
0
0
3
18
-7
-23
27
22
-67
2
3
-25
31
-58
-61
0
0
6
-3
-4
20
33
-71
29
22
18
-2
1
23
-5
3
0
0
-24
0
17
2
100
-44
6
60
67
2
13
-34
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
68
-21
38
21
0
0
20
0
-2
5
9
51
19
-17
-5
-5
6
98
2
-25
0
0
-7
0
0
0
-12
-5
6
21
2
0
-2
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
29
0
4
-20
7
65
8
-28
0
0
0
0
0
0
0
0
2
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-23
0
9
-8
-5
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
0
0
0
10
0
-2
0
0
0
0
0
0
-7
0
0
-10
-3
0
0
-6
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
-13
77
-1
30
-11
8
31
27
-20
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
6
-1
-9
83
8
-26
22
-6
-12
-19
-17
2
0
0
39
15
27
-2
88
61
20
58
-7
-7
-7
26
17
-17
0
0
44
0
-2
0
-10
24
-7
-21
-28
3
6
-13
28
-30
0
0
-3
0
0
0
3
-12
-1
-4
-6
0
-3
47
0
-8
0
0
-6
0
8
0
-5
-9
4
2
20
0
-1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
-42
31
0
0
0
0
0
0
-16
-27
8
-14
0
0
9
-17
0
14
0
0
0
0
0
0
-1
-1
2
-5
0
0
0
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
42
13
12
-1
18
-2
-10
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
15
0
8
0
0
0
0
0
0
-3
0
0
38
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
0
-30
-21
0
9
-1
-6
2
2
-4
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
7
-14
15
-33
-1
-22
-72
3
0
7
-23
15
0
0
-17
15
2
0
59
-13
-19
48
-20
-2
0
53
-11
-20
0
0
-10
0
0
0
12
9
0
37
13
13
-8
0
-2
-32
0
0
0
0
0
0
0
-2
0
36
-2
0
0
-1
0
-8
0
0
-1
0
0
0
17
0
0
-11
-16
0
0
6
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-53
-51
-9
0
0
-41
0
8
-6
21
45
-22
-45
-8
17
106
-22
-5
37
0
0
-4
0
1
0
4
-53
-38
-32
8
-17
9
31
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-36
47
-30
-32
-38
-11
57
-18
3
0
0
0
0
0
0
0
0
-4
22
0
-8
0
-6
0
0
0
0
0
0
0
0
0
-2
-5
-49
0
-1
-1
36
-1
-6
0
0
0
0
0
0
-7
0
0
-5
0
0
0
-2
0
-7
0
0
0
0
0
0
0
3
0
-19
0
6
3
70
10
60
0
0
0
0
0
0
2
0
0
-4
-4
0
-12
22
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
-10
-1
-22
-4
22
56
12
23
56
76
-109
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
6
-13
-3
-55
-13
10
-75
50
24
54
22
6
-56
0
0
-73
2
1
-14
35
-75
9
8
-32
6
5
7
8
4
0
0
20
0
-3
0
-28
23
6
9
-22
-10
-22
-4
-10
6
0
0
-8
0
0
0
2
51
-1
11
17
8
0
19
2
-5
0
0
31
0
1
0
38
-4
2
27
-26
5
1
22
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
6
0
0
25
0
0
0
-27
-48
4
9
-5
-6
-3
44
-16
17
0
0
48
0
0
0
-36
-10
41
-5
-20
0
20
-66
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
6
18
-4
13
15
-3
-12
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-24
0
4
0
-21
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
80
0
0
0
-16
0
0
0
0
0
0
0
0
15
0
0
79
1
0
0
22
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
17
0
-5
-38
0
-5
26
5
-8
-4
2
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-4
-14
1
-57
-4
19
-54
4
15
10
40
17
0
0
-23
-5
2
5
54
-103
29
1
-3
4
3
54
1
22
0
0
-9
0
-1
0
1
40
0
39
18
-2
-2
-3
48
29
0
0
-6
0
0
0
-12
55
0
44
-8
0
1
32
0
27
0
0
18
0
0
0
-4
12
7
0
25
4
0
40
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-22
0
0
-75
-4
22
-41
0
70
-45
-22
24
12
-44
10
17
5
0
0
-38
-12
-32
-12
-25
-17
-23
-34
-12
-15
-17
-45
44
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
60
-2
-58
-13
34
-53
84
-53
0
0
0
0
0
0
0
9
3
2
6
-2
0
14
12
4
0
0
0
0
0
0
0
8
13
-22
-16
-6
9
-6
49
-17
0
0
0
0
0
0
0
0
0
-12
-1
1
0
5
69
-5
0
0
0
0
0
0
0
16
0
-55
20
-3
0
14
-9
-28
0
0
0
0
0
0
1
-4
0
-9
-36
4
1
-29
-49
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-10
8
7
8
49
-12
5
29
-48
-9
11
16
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
7
40
-21
-17
9
-24
-31
29
8
37
17
15
-48
0
0
-1
-22
11
3
-19
41
23
-88
43
39
-23
27
-32
-121
0
0
-17
1
35
3
-35
-96
6
-80
32
-6
-1
-24
-88
-8
0
0
10
0
1
-38
0
29
22
21
-20
2
-10
6
5
-25
0
0
7
-4
-41
-10
38
-3
11
7
-17
15
12
-23
37
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-21
0
19
8
0
18
29
-45
-7
-35
-80
55
26
25
0
0
-17
0
8
-21
-83
0
46
6
1
-3
-5
-32
36
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-14
7
98
-43
-60
23
42
-28
14
0
0
0
0
0
0
0
0
9
-3
0
2
-2
31
2
-59
0
0
0
0
0
0
-12
0
-27
22
0
0
0
0
-43
-19
0
0
0
0
0
0
-6
0
0
17
0
10
0
-5
-30
27
0
0
0
0
0
0
2
7
0
-28
22
7
-12
41
-12
22
0
0
0
0
0
0
-6
0
0
16
-9
0
0
37
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
22
-17
-24
8
22
32
22
20
-27
24
-91
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
47
6
-4
3
-21
-15
21
60
44
-33
-54
-11
36
0
0
-131
45
0
-6
20
-37
11
-70
45
-48
12
-31
21
-66
0
0
6
15
-36
14
21
32
63
-27
41
-94
-4
-5
-120
17
0
0
-53
0
21
3
-6
-15
44
14
8
-6
15
-80
13
-11
0
0
37
1
-8
-1
-7
0
2
-9
-8
-8
-1
-9
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-20
0
-2
0
13
0
-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
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-4
3
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
0
0
-5
-63
0
8
-19
-4
0
-8
-8
9
0
0
52
0
0
0
-4
-5
-8
30
1
0
0
-29
-6
41
0
0
31
0
0
0
0
0
0
0
22
0
0
20
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
0
-1
25
0
-2
-2
0
0
0
-3
-40
0
0
0
0
-5
0
0
-6
0
0
0
0
0
9
0
-1
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
3
-6
0
-6
-3
2
0
0
-5
-11
0
0
1
0
0
-55
0
12
0
6
19
0
0
1
0
-32
0
0
0
0
0
4
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
-5
-2
0
48
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
-2
-2
5
-1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
5
0
-4
-3
-28
0
-1
-3
-1
0
-12
0
-50
0
0
10
0
0
0
-91
-26
-1
-19
-15
0
0
-21
0
-42
0
0
0
0
0
0
-15
-5
0
18
-13
0
-1
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
-21
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-20
-2
-8
1
-8
-14
0
17
0
0
-5
0
0
0
2
6
0
-30
4
1
-7
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-19
-4
-2
22
4
-9
-25
-23
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
5
7
-47
0
-2
-1
-9
0
8
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
-2
8
0
0
-13
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
0
-4
24
-5
5
-30
-29
2
27
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
4
-20
32
-80
-15
5
-60
-3
-6
-1
-40
40
-43
0
0
50
-5
1
6
3
88
9
-72
12
-11
0
14
-8
-8
0
0
27
0
0
3
-6
56
-4
-32
52
-2
-20
6
-4
-17
0
0
0
0
0
0
0
5
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
-2
-5
42
-5
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
0
2
0
40
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
1
0
-5
26
2
5
6
0
7
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
-1
11
-15
-5
-20
-13
7
0
31
1
1
0
0
2
0
0
0
40
37
43
25
-39
9
0
36
6
-20
0
0
15
0
0
0
0
80
0
-29
-11
0
0
2
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-16
4
0
-23
0
0
-1
0
0
0
-13
-4
-8
-67
7
0
0
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-11
0
13
0
14
5
67
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
3
0
-4
10
0
30
5
2
-6
-46
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-15
13
3
0
17
20
0
8
-43
-13
28
0
0
-6
0
1
-21
6
-105
44
-38
-5
-24
0
-1
-6
-12
0
0
-12
0
-2
0
-45
-5
0
8
-16
-5
0
25
-5
0
0
0
0
0
0
0
0
2
0
15
0
0
0
0
0
0
0
0
2
0
0
0
-3
8
0
-23
0
0
8
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
9
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-8
0
-13
87
0
12
-1
-4
0
-6
-8
-22
0
0
-5
0
0
5
-19
24
1
-11
2
0
0
-7
-4
-10
0
0
0
0
0
0
0
-8
0
23
-9
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
100
0
0
3
0
0
0
0
-23
0
0
-6
0
0
0
-9
-5
20
0
-3
0
0
16
0
-15
0
0
0
0
0
0
0
5
0
-2
-1
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
-42
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-25
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
5
0
-30
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-84
-12
0
-11
0
23
5
-5
25
-51
0
0
14
0
0
0
0
-14
8
20
-8
-2
-1
-9
0
-5
0
0
1
0
0
0
0
8
0
-13
0
1
7
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-14
0
0
0
0
0
0
4
-2
5
-8
-13
0
0
88
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-56
0
0
0
-6
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
8
10
0
5
15
0
0
19
-3
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
5
5
23
63
0
53
-56
12
-1
20
43
-42
0
0
35
0
-3
1
22
-96
-10
5
62
5
7
3
-3
39
0
0
8
0
0
0
-4
-26
0
-20
-1
2
32
-31
-8
-29
0
0
0
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
2
0
0
0
-3
-2
0
29
-13
-4
0
62
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
13
0
0
0
0
0
-6
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-2
0
0
-32
0
1
-6
0
0
0
38
-42
0
0
-12
0
0
-1
0
-1
0
9
-23
0
0
31
-7
16
0
0
6
0
0
0
0
0
0
-12
-6
0
-2
9
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
4
0
1
8
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
2
0
0
0
-20
0
0
-3
5
5
-1
-35
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
7
0
-19
64
-55
-30
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
-8
0
6
1
-39
6
-8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
7
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
4
-3
-7
-11
0
19
11
6
41
-1
-22
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
0
-16
79
48
32
-3
-18
4
25
4
44
-85
28
0
0
-47
2
-16
-34
-61
-28
15
-98
-28
-10
-32
94
-6
-12
0
0
-9
0
-3
7
-8
7
-12
39
59
-7
-12
10
5
-1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
-35
0
0
6
0
-2
2
15
0
0
7
-4
14
-13
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
10
-1
4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
5
0
0
1
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
18
-5
0
-1
-32
-2
0
8
10
0
0
0
-4
0
0
0
3
10
0
28
-13
0
0
-2
-11
-13
0
0
23
0
0
0
8
0
0
-13
-27
0
0
0
0
12
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
-48
0
0
3
0
0
0
8
0
0
0
0
0
7
0
1
-5
0
-3
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
44
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-2
5
-8
-15
-3
5
29
-12
4
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
1
13
0
0
0
-13
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
36
4
2
0
-16
18
-8
20
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
2
0
-9
-50
-57
0
-11
-14
-13
16
30
6
-19
0
0
-9
-3
0
0
38
-13
-35
8
-16
10
-4
-19
9
-26
0
0
3
0
0
0
7
-7
0
34
-29
13
23
16
1
1
0
0
0
0
0
0
25
0
0
8
0
0
0
14
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-9
0
4
0
48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
94
0
2
-6
0
0
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
-2
0
-10
61
0
-72
-17
-13
0
7
-41
0
0
0
-13
-1
0
0
18
-61
-11
11
9
-4
-1
-13
-8
0
0
0
8
0
-9
0
0
78
-2
-46
12
-1
4
5
-1
0
0
0
0
0
0
0
0
-2
0
6
-2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
12
0
5
0
0
0
5
59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
22
-3
0
8
-5
-1
0
38
12
-21
0
0
-24
0
0
0
38
3
86
-20
-8
2
0
57
0
48
0
0
5
0
0
0
-8
-2
0
16
12
0
0
0
5
20
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
0
-23
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
-23
2
0
0
-2
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
1
-16
15
0
57
-34
0
0
12
-60
-24
0
0
-5
0
0
-8
33
-32
12
28
-11
-8
1
27
15
9
0
0
2
0
-1
0
16
-2
0
23
30
1
2
2
5
-4
0
0
0
0
0
0
0
0
0
45
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-47
7
-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
2
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-12
-41
0
25
1
-4
0
13
4
-5
0
0
-1
0
0
0
32
8
-5
-6
-2
-10
0
23
2
-3
0
0
0
0
0
0
8
0
0
-12
-2
0
0
-1
-8
-5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
-16
0
0
3
0
0
0
2
0
0
0
-2
0
0
0
-6
-1
0
19
0
0
0
-5
0
19
0
0
0
0
0
0
1
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-26
65
0
8
-1
0
0
-5
-3
0
0
0
1
0
0
0
-1
15
0
4
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-9
-13
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
-1
0
33
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
2
0
0
1
-1
-1
67
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
-1
0
-3
11
0
30
-13
-2
0
-33
48
-14
0
0
-13
0
0
0
-9
1
4
-10
13
8
0
56
-15
16
0
0
-4
0
0
0
-1
0
0
36
5
0
0
8
1
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
2
1
-52
17
-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
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
6
0
0
4
0
25
9
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-1
-6
-37
16
0
7
23
-10
18
22
-102
-1
0
0
2
0
0
6
-24
45
1
-2
-13
-12
1
-50
23
-6
0
0
-11
0
-4
0
1
-10
1
30
-7
6
10
16
-2
2
0
0
0
0
0
0
0
0
0
-13
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-10
9
0
0
-8
0
0
0
-8
0
0
-5
-2
0
0
5
-6
12
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-13
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-29
2
0
0
0
-2
1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
39
-48
0
0
-5
15
0
9
8
-37
0
0
-21
0
1
0
36
5
3
-40
21
0
0
6
1
-27
0
0
6
0
0
0
-24
13
-1
3
0
0
-15
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
-3
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-6
-6
-47
30
0
14
-24
-1
0
9
-41
-2
0
0
4
0
-2
9
-10
-102
-4
-9
6
5
0
9
-3
2
0
0
2
0
0
0
1
-46
0
1
13
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-8
8
0
0
-1
-3
10
4
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-5
0
-37
20
0
15
19
-7
0
3
67
9
0
0
28
0
3
3
37
-36
0
-46
5
-25
0
31
1
39
0
0
-10
0
0
0
31
-10
0
-24
29
0
3
3
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
-4
0
1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
6
5
4
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
4
29
-2
-60
-25
0
19
6
-7
7
-94
-9
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-40
43
9
62
-25
-8
40
8
-21
-2
17
-50
-20
0
0
34
-12
-4
-1
-60
100
100
-16
-13
21
7
-21
-66
-4
0
0
-16
2
25
-5
-20
13
17
54
9
-3
4
-49
-5
-47
0
0
8
0
0
5
-7
30
0
-20
-3
0
0
13
0
9
0
0
4
0
3
0
-15
-18
0
-2
23
0
0
-2
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
9
-16
0
0
3
0
0
15
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
81
-10
0
0
-5
0
0
-8
-42
15
0
0
-10
0
0
1
-13
-42
-6
-3
0
0
0
40
6
-22
0
0
4
0
0
0
11
-7
0
-1
1
0
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
13
0
0
16
-2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
12
0
0
8
16
0
0
-1
-78
7
0
0
-5
-4
0
-2
20
-20
53
9
-3
0
0
-29
-15
-58
0
0
8
0
0
0
6
-18
0
22
6
0
-2
0
-4
-10
0
0
1
0
0
0
0
8
0
1
0
0
0
4
0
0
0
0
-7
0
0
0
-2
0
0
0
-1
0
0
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
0
8
-4
0
-1
5
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
13
-6
0
2
-5
0
0
7
-9
18
0
0
-1
2
0
-5
8
30
-4
-12
-1
0
0
4
-7
-6
0
0
0
0
0
0
-1
9
0
7
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
1
0
0
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
21
0
-6
0
0
0
90
0
0
0
0
0
0
0
0
8
0
0
-22
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
-15
1
-2
60
0
44
-24
18
-2
-9
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-15
16
-45
-27
-5
68
-32
26
-5
-42
34
87
0
0
13
20
12
46
46
-22
-15
30
99
-41
-1
-67
6
69
0
0
3
-1
2
0
26
5
0
50
-59
7
-45
-5
-5
-1
0
0
12
0
0
0
-3
-2
0
3
-10
0
0
10
0
24
0
0
-1
1
3
0
32
3
0
4
55
-3
0
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
4
0
-8
5
0
-13
-1
0
3
-8
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-14
-18
0
-11
-12
0
-9
27
8
16
8
64
61
0
0
-2
2
-11
3
30
10
11
-5
18
0
0
-24
25
2
0
0
-8
0
0
0
-5
-4
0
29
-6
-7
4
0
-23
19
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
-2
0
0
7
0
0
0
0
0
0
1
-13
0
0
4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-18
0
-4
0
0
0
0
0
0
0
0
0
-8
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
14
-14
0
-15
-27
-2
-1
-27
-23
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
2
-19
-1
18
-9
-6
5
-13
9
9
38
-63
-76
0
0
59
-1
5
-22
36
-51
-25
-18
34
-5
24
-1
-35
27
0
0
12
1
40
0
8
2
-8
-2
-4
-5
-5
0
30
-42
0
0
1
0
0
0
0
-12
0
1
0
0
0
-1
0
15
0
0
-2
-1
-1
0
-10
0
0
-4
20
3
5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-25
-18
0
-8
-4
0
0
0
-1
-7
0
0
1
0
0
0
-8
1
0
2
0
0
0
0
0
-8
0
0
2
0
0
0
0
2
0
3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
0
12
13
0
1
0
0
0
0
6
25
0
0
-2
0
0
-7
-16
-10
6
0
-2
0
0
-4
0
24
0
0
4
0
0
0
2
5
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
0
0
-1
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-5
-59
73
0
-3
7
0
0
1
-7
-34
0
0
21
0
9
0
-40
-29
1
4
-12
0
0
-8
6
13
0
0
0
0
0
0
-1
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
28
-21
0
0
0
0
0
0
-9
1
0
0
-10
0
0
0
-3
0
0
0
0
0
0
-2
0
6
0
0
-4
0
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-13
34
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-3
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-25
36
0
-16
0
0
0
6
-9
9
0
0
1
0
0
0
-5
-1
0
-5
-3
0
0
3
0
-4
0
0
0
0
0
0
-6
1
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
-11
0
0
2
0
0
-69
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
6
-12
-6
0
18
-1
0
0
10
-7
4
0
0
-17
0
0
0
-45
-81
3
21
0
0
0
3
-20
-4
0
0
12
0
0
0
4
-46
-1
5
-1
0
0
1
0
12
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
-10
0
0
2
0
0
0
-14
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-4
31
0
-1
0
0
0
0
2
-4
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
-9
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
6
0
0
0
0
0
0
-6
0
-17
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
-48
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
30
0
-4
23
0
0
7
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
-4
-64
0
22
23
0
0
-4
9
28
0
0
-8
0
0
0
0
42
-2
21
3
0
0
14
3
-17
0
0
-5
0
0
0
-20
-2
0
7
16
0
0
0
-1
-15
0
0
0
0
0
0
0
-4
0
0
0
0
0
4
0
0
0
0
3
0
0
0
-3
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
12
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
2
-38
0
0
0
0
0
-2
-39
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
-5
-6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-12
0
0
-1
22
4
0
-1
8
3
0
0
0
0
0
0
4
-2
0
0
0
2
0
23
0
-18
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
3
0
0
0
0
-4
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
-8
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-15
-3
0
1
4
0
0
0
41
0
0
0
2
0
0
0
8
40
0
-15
1
0
0
-1
1
9
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-15
-44
0
4
0
0
0
0
-3
0
0
0
3
0
0
0
-4
-18
-3
-7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-13
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
-34
0
0
0
0
0
0
5
-16
0
0
5
0
5
0
-49
-15
-1
-10
-2
0
0
4
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-7
27
0
0
23
0
0
0
-52
7
0
0
-17
0
0
0
0
23
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
5
12
0
2
-6
0
0
2
-5
70
0
0
-1
0
0
0
-13
1
2
1
0
0
0
-8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
-21
0
-12
-2
0
0
-8
-2
0
0
0
-1
0
0
0
-2
13
0
8
-4
0
0
-2
0
0
0
0
0
0
0
0
0
-9
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-4
-7
0
10
0
0
1
-19
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
13
-5
25
2
0
-33
23
16
0
-6
26
38
0
0
-28
0
-3
0
25
-7
9
18
9
-2
0
-17
17
51
0
0
8
0
0
0
40
59
0
36
-13
-4
3
0
-4
-18
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
5
5
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-8
79
0
-4
-17
0
0
0
-1
21
0
0
2
0
0
0
-5
16
0
-8
0
0
0
0
0
16
0
0
0
0
0
0
0
-5
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
29
0
-18
-6
0
0
0
0
6
0
0
6
0
0
0
15
14
4
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
-3
0
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
21
0
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-6
-4
0
-5
-7
0
7
25
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-4
-9
45
-9
0
1
-6
-7
0
7
6
33
0
0
7
0
0
12
-17
67
43
20
13
0
0
-12
-19
24
0
0
5
0
0
0
5
-8
0
8
8
4
0
6
4
-44
0
0
0
0
0
0
0
3
0
0
0
0
0
21
0
5
0
0
-7
0
0
0
6
0
0
-1
-5
-2
0
40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-19
0
0
1
0
0
0
30
2
0
0
1
0
0
0
0
2
0
2
-2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
-46
-4
0
-6
20
3
0
-5
-21
-54
0
0
19
0
0
1
-30
-40
0
-8
11
0
0
22
0
-37
0
0
-5
0
0
0
0
0
0
30
-13
0
0
2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
0
0
0
-28
11
0
2
48
0
0
-2
15
-1
0
0
0
0
0
0
-4
-2
0
9
1
0
0
0
2
-16
0
0
0
0
0
0
-53
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-2
-49
0
0
-1
3
4
2
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
48
9
-79
-56
0
65
-46
22
0
2
-44
-22
0
0
-23
1
6
10
9
4
35
-19
41
1
0
-95
-36
-40
0
0
-16
4
5
-3
-37
-6
4
3
-5
-2
-14
1
18
-11
0
0
0
0
0
0
1
-4
0
-23
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
5
-5
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-3
0
0
-5
8
0
0
-41
-14
0
0
5
0
0
0
10
-24
0
1
1
0
0
-6
1
5
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
5
0
0
-1
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-16
40
0
-1
-6
0
-3
0
-1
20
0
0
18
0
-1
0
-81
-47
19
22
8
-2
0
-13
-15
27
0
0
5
0
0
0
2
0
0
30
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
19
0
0
1
0
0
1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-7
0
-1
-28
0
8
51
1
0
0
84
-15
0
0
1
0
-2
0
-65
-64
-4
-18
2
0
0
-24
-36
-12
0
0
0
0
0
0
0
0
0
3
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-18
0
0
0
-4
-1
0
0
7
4
0
0
-3
0
0
0
2
0
0
3
0
0
0
0
-9
8
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-9
0
-1
-6
3
-4
8
8
13
-5
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
31
4
-10
27
1
13
-12
3
-5
36
-46
46
0
0
59
0
1
-5
65
-34
-53
34
9
9
-2
9
49
12
0
0
69
0
0
0
-33
1
6
6
-21
1
2
25
29
1
0
0
-5
0
0
0
0
7
-1
-1
1
0
0
30
0
8
0
0
16
0
0
0
1
0
0
-1
16
0
0
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-3
0
5
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
8
-2
7
1
0
-25
9
2
0
9
122
12
0
0
21
0
11
-3
-7
-48
10
1
-5
0
0
22
-12
-10
0
0
0
0
-14
0
-2
1
0
39
2
0
0
0
4
28
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-7
14
-17
0
-2
0
0
0
0
17
-56
0
0
2
0
0
-35
14
6
-3
0
5
1
0
-16
0
6
0
0
0
0
0
26
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
0
-1
5
5
-2
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-1
-6
-60
-87
0
22
-49
-21
-5
-50
63
41
0
0
-24
0
0
7
-94
-44
21
5
-8
12
-2
19
20
-164
0
0
10
0
0
0
42
9
-2
6
-4
-2
-5
0
-5
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
-2
0
0
-21
-9
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
2
4
-2
-8
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
-1
-6
-57
-28
14
9
51
-15
-12
-51
-12
21
0
0
58
13
12
-1
-43
7
10
-13
-35
29
3
-11
19
7
0
0
11
0
0
0
-4
57
14
11
27
-20
-15
-21
-87
-25
0
0
0
0
1
0
0
100
-5
-19
-5
0
0
13
0
6
0
0
0
0
0
0
0
36
0
0
-21
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
10
0
-2
-1
0
0
3
-18
2
0
0
-23
0
0
1
-44
35
0
-5
0
0
0
-15
0
18
0
0
0
0
0
0
5
9
0
-1
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
-4
4
2
15
0
22
32
-1
-1
3
-41
-22
0
0
29
0
0
1
-10
-52
23
59
22
-8
2
74
-6
52
0
0
3
0
-1
0
17
7
-3
33
-10
0
22
-8
6
-21
0
0
0
0
0
0
0
3
0
8
0
0
0
2
0
3
0
0
0
0
0
0
-1
0
0
32
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
8
0
-45
13
2
30
51
1
0
17
8
-27
0
0
-27
-14
31
2
13
-9
-43
0
34
2
0
-17
22
-16
0
0
-19
0
1
0
4
-2
1
30
-18
0
8
15
-1
-27
0
0
0
0
0
0
0
8
0
-7
0
0
0
27
0
-3
0
0
-8
0
0
0
3
0
0
-3
1
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
2
13
28
17
0
0
-5
0
0
-8
3
-10
0
0
3
0
0
0
12
9
-18
1
-1
4
-7
-30
27
-55
0
0
-13
0
0
0
5
-12
0
-7
-1
0
0
5
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
3
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
20
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
1
0
-14
42
0
9
3
12
13
5
-8
-3
0
0
-14
-3
0
0
30
-7
-7
5
-7
0
8
76
-8
29
0
0
-8
0
0
0
8
8
4
-16
-6
-3
-13
1
7
12
0
0
0
0
0
0
0
-4
0
3
0
0
-18
5
0
-3
0
0
0
0
0
0
0
0
0
3
3
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-25
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-4
-15
41
22
38
1
-32
14
6
6
-35
-97
39
0
0
12
-10
-1
-4
-26
-66
25
60
-19
-4
1
6
-23
1
0
0
-23
0
1
0
-23
-77
-7
15
-18
20
10
-16
27
-47
0
0
0
0
0
0
-2
6
-4
-9
5
0
0
19
0
-10
0
0
5
0
0
0
9
0
0
6
-1
0
0
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
5
2
-32
18
-46
-9
70
-53
-28
0
34
13
32
0
0
19
3
-7
10
38
1
2
-2
-13
17
-5
-65
-38
-41
0
0
-42
2
2
1
-12
-12
0
-32
23
-5
7
19
26
-18
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
3
-7
0
0
4
0
0
0
-1
1
-5
6
2
1
0
22
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
32
30
45
26
-12
5
-30
22
-5
-23
-36
-58
0
0
-7
-13
10
12
-60
-25
4
-95
2
-7
-10
-44
-21
-12
0
0
4
0
16
-5
-4
-1
5
31
40
-8
4
22
-56
3
0
0
0
0
0
0
0
0
-2
20
5
0
0
25
0
-15
0
0
1
0
0
0
1
0
-1
12
-7
0
0
-18
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
-31
-37
69
-32
-13
11
-54
18
-7
-80
43
48
0
0
-65
-8
-62
8
-34
-3
60
-63
53
2
-14
-13
31
38
0
0
-5
0
-27
10
-73
6
22
-21
51
-7
18
-42
-14
-66
0
0
33
0
0
-5
16
-62
50
-1
-5
-1
5
-32
29
-20
0
0
52
0
-25
-2
1
3
-21
10
-2
-3
22
-14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
-2
0
0
0
2
0
0
0
8
36
0
0
8
-38
-4
-1
5
3
0
-3
-2
10
0
0
1
2
0
0
17
6
0
-8
4
0
4
0
1
-17
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-4
-18
-33
0
-49
-20
-14
0
4
-29
-26
0
0
-45
0
-27
0
-12
-49
32
-8
-16
3
0
-22
-14
-23
0
0
29
0
15
0
-10
-1
7
-24
9
0
0
5
1
-49
0
0
0
0
1
0
0
4
0
5
0
0
0
-15
0
6
0
0
0
0
13
0
0
0
0
1
3
0
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
28
0
-14
-28
2
0
0
-17
-24
0
0
7
-2
1
-78
-48
-23
-17
2
-26
0
0
-26
0
-13
0
0
0
0
9
-4
-9
-14
0
-35
-21
3
0
-8
7
3
0
0
0
0
0
1
0
1
0
7
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
7
24
-23
41
13
3
-5
24
-29
0
0
-74
4
0
-8
-31
-67
-7
-48
-13
-48
4
57
-12
-76
0
0
28
0
72
3
1
-1
-47
109
43
41
44
-9
23
-75
0
0
2
0
0
0
4
7
-4
-11
-30
-1
1
-31
0
14
0
0
-6
0
5
3
-20
29
10
40
57
-22
-20
-34
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-8
49
3
-93
-56
-2
-7
9
0
0
-85
5
-11
-46
-85
-2
-50
-20
26
34
2
1
18
-57
0
0
54
9
-15
-25
-39
4
9
-53
72
-50
49
-44
-80
-10
0
0
-8
0
-20
10
-22
30
-37
-48
31
9
10
-18
-11
34
0
0
17
0
3
0
-39
-88
-5
-36
22
3
-11
-23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
4
-24
16
0
0
-9
0
-2
0
24
29
2
-20
-1
0
0
-43
-4
13
0
0
2
0
0
0
7
0
0
-9
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
22
-1
-40
-20
-53
0
0
-62
5
-44
52
-17
58
-29
34
17
1
-5
55
-42
18
0
0
-40
0
-64
-12
18
72
-7
72
7
-5
-21
16
-16
-12
0
0
-8
0
0
1
0
-19
4
1
0
0
0
17
0
-43
0
0
1
0
0
0
0
-2
4
52
-14
-4
0
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
-29
-3
-1
0
0
28
3
-32
-26
-6
-15
-41
-66
44
14
-13
-37
14
-47
0
0
3
4
-3
-8
42
38
6
25
-20
3
-19
0
23
40
0
0
1
0
0
3
2
3
2
-2
5
0
0
-52
0
-10
0
0
-29
0
-9
5
30
-9
-2
18
57
-10
1
17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
46
-13
0
0
-55
0
-2
2
2
-97
-20
-3
-8
-2
0
-61
-8
-24
0
0
0
0
-1
0
25
-58
-1
-37
31
0
14
-6
-22
-38
0
0
-1
0
-1
0
0
-1
0
10
0
0
0
18
0
-8
0
0
-3
0
0
0
4
0
0
-7
-5
0
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
-1
0
0
-6
0
0
-6
9
10
0
-12
0
0
0
0
0
-11
0
0
-1
0
0
0
-5
-10
-1
0
1
0
8
0
-2
5
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-35
0
0
19
0
3
3
-59
-11
-4
9
2
-3
-10
-17
13
14
0
0
-10
12
8
0
23
8
-4
-25
20
8
0
-23
2
-50
0
0
0
0
0
0
0
21
0
-17
0
0
0
11
0
-22
0
0
-2
0
0
0
10
3
3
2
9
0
0
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
18
0
0
-33
23
-21
23
-36
-83
8
13
-60
-22
-11
52
-5
-73
0
0
6
0
40
-14
-16
70
-50
17
-9
-5
-9
22
-56
4
0
0
8
0
1
12
0
-2
2
49
3
0
0
-15
10
-22
0
0
25
0
7
8
28
-3
-43
-37
15
-1
7
-26
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-32
14
6
6
67
44
-82
19
-53
2
-20
10
1
-35
0
0
6
1
-76
-11
36
-26
-49
15
-1
-20
34
50
-89
-13
0
0
16
0
0
21
0
-24
45
48
-2
3
1
-19
4
-43
0
0
0
0
0
0
17
0
35
5
-5
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
5
22
-28
-6
-60
-12
5
0
0
26
-79
0
0
2
0
1
-3
-52
-7
-2
11
20
60
20
-27
-1
-18
0
0
3
0
0
0
0
-18
-1
-7
-2
1
-2
42
3
-4
0
0
41
0
0
0
-22
6
1
1
6
-10
0
-8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
5
-1
2
-4
1
1
0
6
0
1
0
0
0
-7
0
0
-2
-6
0
-2
5
0
0
0
-2
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
14
-1
-6
0
0
5
0
7
0
1
-7
0
-27
-8
-1
0
-10
-2
-35
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
59
9
-12
-6
0
0
-66
-14
-41
0
0
19
0
0
-53
-2
14
0
-50
6
0
0
-5
7
-24
0
0
0
0
0
-15
0
0
0
1
0
0
0
-2
0
7
0
0
0
0
0
-7
0
2
0
6
8
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-109
-10
-48
2
9
-10
-6
7
5
0
0
10
5
13
-3
-67
-30
48
-97
32
-32
-3
-6
15
-64
0
0
-1
0
0
0
-39
9
8
-59
-10
-1
0
-9
0
-6
0
0
-6
6
0
0
-26
-8
-10
4
-32
-21
-1
46
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
-15
27
-8
19
1
21
-26
0
0
-39
8
1
-29
16
52
-35
-75
8
1
73
-59
10
58
0
0
-4
0
1
5
0
-13
-14
-43
6
-1
0
-11
0
-32
0
0
10
0
0
0
-2
10
12
39
2
7
9
-7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
12
8
-7
0
-11
17
-5
0
0
1
0
-1
2
21
-76
-3
-56
-57
-15
20
-31
-37
-5
0
0
0
0
0
0
0
-7
-5
22
0
0
0
-19
0
-6
0
0
11
0
0
0
11
3
0
-17
2
-18
0
-34
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-1
5
7
-24
-43
33
0
0
-23
-5
-13
2
-82
48
-27
0
26
-6
-7
9
-2
18
0
0
0
0
-1
-2
2
-3
9
156
0
-1
0
9
0
24
0
0
8
0
0
-1
0
-3
5
42
-5
3
0
31
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
0
18
-26
37
0
0
37
0
-4
7
-7
-33
1
54
59
10
24
2
8
-20
0
0
0
0
0
3
1
0
2
42
13
0
0
6
0
-25
0
0
-18
0
0
13
10
30
7
1
-22
8
0
62
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
6
0
0
2
2
0
0
-42
-11
0
7
7
0
-5
-2
-3
23
0
0
0
0
0
3
0
0
0
-1
0
0
0
-7
0
4
0
0
0
0
0
0
5
0
0
-2
0
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
8
0
0
0
-12
1
0
-15
-9
0
4
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-25
18
0
0
-49
0
16
0
20
-50
1
-24
10
-20
12
45
61
-57
0
0
13
0
0
0
8
-13
-3
-20
10
-4
0
69
2
49
0
0
19
0
0
0
7
9
5
15
-11
24
13
-47
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-6
0
0
8
0
-5
0
-7
-42
-2
-42
32
-8
22
4
14
-54
0
0
0
0
0
0
0
7
0
5
-2
0
0
-13
1
-23
0
0
-6
0
0
0
9
5
1
-28
-18
0
0
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
13
-8
30
1
70
-47
4
-6
59
5
-10
-35
-7
-20
0
0
8
0
0
4
0
0
9
50
17
-4
2
56
-7
-92
0
0
6
0
0
0
0
0
-10
-26
-42
1
0
0
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-12
0
-1
87
0
0
-3
19
18
-7
0
0
3
0
0
0
0
-3
0
6
0
0
0
0
0
5
0
0
24
0
0
0
-9
-1
1
16
6
0
0
6
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
-1
1
0
-1
0
0
8
0
0
0
0
-33
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
6
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
10
-13
-31
-17
2
-5
-7
-2
8
0
0
0
0
0
0
5
0
0
-18
0
0
0
0
0
-5
0
0
0
0
0
0
49
0
0
17
-43
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
10
3
-14
-7
-13
-5
-8
0
0
1
0
0
0
0
48
0
-19
0
0
0
-10
0
2
0
0
0
0
0
0
0
-4
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
4
6
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
0
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-88
14
8
31
-23
-55
0
0
-5
0
0
0
-3
-3
-2
6
0
0
-5
42
0
-47
0
0
18
0
0
0
-6
3
1
41
-23
7
5
-13
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
25
13
13
24
0
0
6
0
5
0
0
6
-3
-9
5
0
0
7
1
-4
0
0
-8
0
0
0
-33
1
0
15
-13
-15
0
4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
-6
0
0
2
7
0
0
0
0
1
0
0
0
3
0
0
-3
-6
0
-7
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-1
0
6
-1
0
0
17
0
2
0
0
7
0
0
0
-10
0
0
7
-18
0
0
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
-2
0
0
-4
0
0
0
3
0
4
1
-1
0
0
2
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
15
0
0
0
1
0
-6
52
12
0
0
40
0
-30
0
0
2
0
0
0
-13
0
0
8
-81
-2
0
-19
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
-10
-8
0
0
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-16
-12
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
-6
0
0
-5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
3
0
-2
0
0
1
-6
0
-1
0
0
-5
0
0
0
-11
2
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
7
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
-1
0
-4
-5
0
0
0
-1
0
0
0
5
-1
0
3
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
5
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-2
-15
0
2
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
7
12
0
2
-4
-1
0
-1
-1
17
0
0
0
0
0
0
5
4
1
8
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-2
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
5
0
-7
-27
0
-2
4
2
6
4
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-9
1
0
5
-5
-1
0
0
-5
3
0
0
-10
2
0
3
-23
1
1
-20
8
0
-3
13
-1
-1
0
0
1
0
6
2
4
-12
2
1
-8
6
6
-2
11
6
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
-14
0
0
0
0
0
0
-3
-8
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
-1
0
-1
2
0
0
8
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
1
2
-5
0
6
16
-4
0
-6
0
-13
0
0
13
0
0
3
11
-17
1
-5
7
-1
0
-12
1
-3
0
0
-1
0
2
0
-20
2
0
0
4
0
0
0
1
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
2
-2
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
7
0
-1
1
0
-2
-7
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
-7
2
0
-1
0
0
-6
-5
-2
0
0
-1
0
0
0
-1
-8
0
2
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-5
0
0
0
0
-3
2
0
0
1
0
0
0
0
2
0
-8
0
0
0
-3
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-8
1
0
2
0
1
6
-4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
0
0
5
0
0
-2
9
10
1
21
7
0
0
2
13
-4
0
0
-4
0
4
0
5
-3
5
13
1
0
2
-2
9
8
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-11
0
1
0
0
0
1
3
-5
0
0
-1
0
0
-1
5
5
-1
-8
2
0
0
-1
-2
0
0
0
0
0
0
0
-3
-2
0
-1
2
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
-2
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
4
-1
0
0
2
0
0
0
-5
-3
0
6
1
0
0
0
2
0
0
0
0
0
0
0
-3
6
-1
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-4
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
4
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-2
0
-1
-1
16
4
-6
6
14
-12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
-8
0
0
5
-1
1
2
-4
4
0
0
-2
0
-2
-8
-13
-11
-3
2
2
1
6
1
8
1
0
0
5
-1
-2
-1
16
-19
7
-11
-1
-1
1
-8
-18
1
0
0
0
0
0
0
1
-3
0
3
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
8
0
0
-3
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-5
-26
0
0
-3
-3
4
-9
-10
-5
0
0
5
0
2
0
2
-38
0
-1
4
0
0
-9
6
-6
0
0
2
-2
0
0
-3
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-5
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
6
0
0
0
0
-4
4
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
0
-1
0
1
4
0
4
0
0
0
14
-11
0
0
0
-3
0
1
0
3
0
0
-9
0
-2
4
0
-16
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
20
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
-18
-1
-2
17
-3
0
-1
1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
-2
0
0
0
0
1
0
-3
-2
0
0
-5
0
0
1
1
-7
4
-5
0
-1
0
-22
-6
21
0
0
5
0
2
-2
20
3
-8
28
-3
-1
0
-2
-6
16
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-6
0
0
-3
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
1
-9
-7
0
-4
0
0
0
-1
0
2
0
0
4
0
0
1
-2
2
-1
-6
2
0
0
-5
-2
-2
0
0
-2
0
0
1
6
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-5
-1
0
0
3
-3
-2
0
0
0
0
0
0
-1
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
-4
-5
0
-3
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-12
0
0
0
0
1
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
0
0
0
5
0
2
0
-3
-3
0
0
0
0
0
-2
1
-1
0
0
-1
0
0
0
0
6
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-1
0
0
0
2
-4
-3
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
16
0
-6
0
0
0
8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
1
0
0
0
-1
1
0
0
-1
0
0
0
-2
7
0
-1
-3
0
0
-2
2
0
0
0
1
0
0
-1
-5
-18
0
-5
1
0
-4
0
-6
-3
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
37
0
0
2
0
0
4
5
3
0
0
2
0
0
0
4
5
0
-1
0
0
0
2
0
2
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
-2
0
-2
0
1
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
2
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-2
1
0
-5
0
1
0
0
-5
0
0
0
0
0
0
0
0
-9
0
-8
0
0
0
0
2
1
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
14
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
-5
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-3
0
0
2
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
6
0
-1
0
8
-2
-4
0
0
-2
0
0
0
6
-1
0
2
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
5
2
0
0
-3
0
0
0
-5
6
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
2
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
3
0
0
0
-6
-1
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
3
0
0
1
0
0
-1
0
0
0
0
3
0
0
0
0
19
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
5
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
3
0
-3
1
0
0
1
0
-1
0
0
4
0
1
0
1
3
0
-8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
15
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-1
2
-4
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
-1
3
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
0
-2
0
0
0
2
-6
0
0
1
0
0
0
2
-1
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
-9
0
0
-2
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-3
0
0
0
0
4
0
7
0
0
3
0
0
0
2
0
0
1
0
0
0
-2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
-3
0
0
0
3
0
-1
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-2
6
0
-4
0
0
0
2
-4
0
0
0
-2
0
0
0
2
1
0
18
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
0
3
0
0
0
0
-2
0
0
0
0
0
-1
1
0
1
-1
1
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
6
23
5
3
-1
1
0
5
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-14
0
-5
5
9
-2
-1
9
-7
0
0
-7
1
0
-1
0
-33
26
-9
5
-3
6
-22
8
-7
0
0
1
1
0
-1
26
19
-15
6
-5
6
1
2
-3
-9
0
0
-4
0
0
0
0
-3
2
0
0
0
0
2
0
0
0
0
19
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
-6
-1
-2
-5
6
7
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
-5
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-1
3
-3
2
0
-1
1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-30
15
-2
2
5
1
-1
1
4
-20
0
0
5
0
0
-1
1
4
10
-9
0
0
-1
-7
14
-26
0
0
2
0
0
0
-8
-3
-2
-3
1
3
5
0
-4
-7
0
0
3
0
0
0
0
1
0
-4
1
0
0
0
0
2
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
0
0
0
-12
-2
0
2
0
0
-3
-2
0
0
0
0
1
0
0
2
-3
-1
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
-1
1
-1
0
0
0
-2
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-12
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
0
0
-1
0
0
0
5
-4
0
0
0
0
20
0
2
2
-2
5
-4
0
0
3
-5
-9
0
0
1
0
-23
0
-4
12
-1
-4
-4
0
-5
0
-1
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
-13
0
0
0
0
0
0
7
-1
0
0
0
0
2
0
-1
4
6
3
-3
0
0
3
-2
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
-1
0
0
0
1
-1
0
0
0
0
0
-3
3
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
21
3
8
0
-2
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
-1
0
0
0
-1
4
0
0
0
0
0
1
-3
-5
4
1
0
0
0
0
-2
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
8
-6
8
-1
7
12
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-21
-6
0
-4
7
2
2
-3
-10
-10
0
0
-14
0
-6
4
70
-18
26
-50
16
12
-2
18
13
8
0
0
7
-4
2
0
-8
-10
5
-27
-5
3
-17
5
8
5
0
0
0
0
0
0
0
-1
5
0
0
0
-1
0
0
1
0
0
-2
0
0
0
0
0
-8
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
4
0
-15
0
15
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-5
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
20
-3
0
1
8
-4
-4
7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-9
5
0
-7
4
-1
0
2
22
-6
0
0
-7
0
1
-1
0
-1
-16
-10
4
1
-1
-2
-4
-20
0
0
-1
0
0
0
19
-8
4
-5
5
1
5
1
4
1
0
0
0
0
0
0
-4
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
-5
2
4
9
6
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
8
2
-12
-5
-2
-5
7
7
3
27
-6
0
0
7
4
2
5
-21
-63
-5
9
-16
13
-2
1
-16
8
0
0
22
9
-4
1
49
4
-2
-19
-10
-28
-23
-3
6
-14
0
0
-1
0
0
0
1
-8
10
-7
3
3
0
0
0
3
0
0
-2
0
4
0
-4
16
-5
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-15
-1
0
0
-18
6
-2
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-12
-1
0
0
0
0
0
0
0
0
2
-4
6
0
0
3
0
-1
0
0
0
0
0
0
0
0
2
-1
-2
-2
0
-1
-5
1
0
0
0
0
0
0
0
0
2
0
-1
0
1
4
-4
2
4
0
0
0
0
0
0
-1
0
0
3
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
-8
-30
-5
-4
0
2
-5
7
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
-1
-2
-8
-40
-3
13
9
9
-1
2
32
-13
0
0
11
4
-2
-3
7
5
-7
-32
-4
3
0
-28
-15
9
0
0
5
1
-1
2
-8
4
-1
12
-10
1
2
-1
-1
-5
0
0
0
0
0
0
-1
13
-2
3
-2
0
0
10
-1
2
0
0
0
0
0
0
1
6
2
1
4
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-8
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-12
0
0
1
0
1
1
0
0
0
-5
0
0
0
-8
23
9
-2
6
0
-1
-5
-4
4
0
0
-8
0
0
0
28
33
0
1
7
0
-7
2
-14
4
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-3
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
1
4
-2
-1
0
0
0
-2
5
16
0
0
-1
0
0
1
2
3
-8
6
0
0
0
-8
0
0
0
0
-2
0
0
0
-3
-1
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-2
-6
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-3
0
1
-3
0
1
-2
6
-5
0
0
3
-1
0
-2
-2
-10
4
-16
-9
14
0
33
-7
0
0
0
5
0
7
2
-7
3
-9
-9
3
2
2
5
-15
14
0
0
0
0
0
0
-1
-5
-1
3
0
0
0
-2
0
-4
0
0
0
0
0
0
-4
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
5
0
0
-1
0
0
12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
-4
-27
0
-6
-1
-1
0
1
14
-14
0
0
9
-1
-4
1
-14
-7
-5
2
-4
0
0
-2
2
-11
0
0
0
0
1
0
6
-2
0
21
4
1
0
-2
0
-2
0
0
0
0
0
0
-1
4
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
14
0
0
2
0
-1
0
-4
2
0
0
0
0
2
0
-4
-9
-1
6
-4
0
0
-1
10
-3
0
0
-2
0
-2
0
-18
8
0
7
3
2
13
8
-5
-3
0
0
0
0
0
0
0
-1
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
25
0
2
-1
0
0
-1
5
-4
0
0
1
-1
0
-1
4
-8
3
1
-4
-1
0
-6
2
12
0
0
-2
0
0
0
-6
2
0
-3
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
-1
0
0
-5
0
0
0
0
1
0
0
0
-1
-5
7
-1
4
-1
-1
-2
2
-2
0
0
0
0
0
0
24
-17
0
-8
0
0
2
0
5
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
-3
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
5
3
-8
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
6
-2
-1
-4
-1
2
-2
0
0
1
1
0
-1
-10
-10
-6
5
-3
1
5
-10
-6
7
0
0
0
0
0
0
-3
-13
4
-9
4
-1
13
-3
5
12
0
0
0
0
0
0
0
5
3
1
0
0
6
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
5
1
0
0
0
-4
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
1
-11
-22
0
-2
-3
1
-2
-6
1
6
0
0
-1
0
0
0
-5
8
1
10
6
1
0
5
0
-7
0
0
0
0
0
-1
-1
1
1
2
6
0
0
3
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
9
-13
0
-5
-3
-5
10
-18
11
4
0
0
0
1
-5
0
45
-19
15
3
-4
4
5
-17
-13
-5
0
0
7
0
13
0
-23
15
14
12
-4
7
-5
22
-11
-2
0
0
-2
0
0
0
0
19
8
5
2
0
-1
7
3
-5
0
0
0
0
0
0
-1
-1
13
-2
3
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
8
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
0
0
6
0
-2
-3
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
-8
-14
-22
-4
-12
1
-10
0
-5
-11
-6
0
0
9
1
1
6
-16
15
16
13
-8
-6
1
17
9
31
0
0
6
0
2
0
-4
5
8
1
-13
-2
-1
3
-4
-4
0
0
0
0
0
0
0
2
0
-4
0
0
0
4
0
0
0
0
1
0
0
0
0
0
-1
2
6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
3
-26
0
2
0
1
4
-2
-9
-2
0
0
2
5
1
5
3
-52
13
-6
-6
-2
-7
-1
-14
-6
0
0
-2
4
1
2
3
4
-14
15
-15
1
2
14
12
-10
0
0
0
0
0
0
0
2
-1
2
0
0
0
4
0
-5
0
0
0
0
0
0
0
4
-3
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
5
-2
0
-4
-4
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
1
0
4
1
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
-2
13
28
0
-3
2
13
-3
2
-12
6
0
0
4
0
0
-3
2
6
-23
0
-8
-4
0
7
-2
13
0
0
1
0
-5
0
-1
2
0
-1
-5
-2
1
-5
-6
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-1
0
0
0
3
0
-1
2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
-15
0
1
2
1
1
3
-1
10
0
0
12
1
-1
-4
-21
9
12
5
-8
-5
-8
-21
-15
-12
0
0
12
-4
-6
-1
16
-25
4
-5
8
-2
-15
34
-4
-5
0
0
0
0
0
0
2
1
1
-5
1
0
-4
0
-2
-1
0
0
-1
0
0
0
3
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
-1
-1
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
-5
0
1
-2
-1
5
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-4
4
-14
4
-2
4
-5
-6
0
2
-8
-108
0
0
-19
-3
0
6
32
8
17
-7
0
0
2
-3
12
-6
0
0
-3
0
2
3
-11
5
4
-9
-3
-2
-1
-2
-1
-24
0
0
2
0
0
0
0
0
0
7
0
0
0
1
0
15
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-5
0
0
0
0
0
0
3
0
0
0
-22
0
1
0
-3
-8
6
-11
0
0
0
-3
-3
7
0
0
-5
0
0
0
2
-3
0
-3
0
0
-1
-5
-1
-3
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-17
0
0
1
0
0
0
0
1
0
0
-1
0
0
0
-9
-5
-4
2
0
0
0
3
0
1
0
0
9
0
0
0
1
0
0
5
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
5
0
1
0
0
0
0
0
0
0
0
1
0
0
-6
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-2
2
0
0
0
13
0
0
0
0
-5
0
0
6
3
17
4
-17
-17
1
1
-4
0
-4
0
0
-2
0
-2
1
-52
-3
4
-4
-4
-4
-8
1
3
-1
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-6
-5
0
0
1
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
49
-10
0
-1
-4
0
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-6
10
0
-5
-3
2
0
0
-1
7
0
0
-7
0
0
1
-15
-10
-7
-2
-6
0
0
-5
1
0
0
0
0
0
0
0
11
-2
1
4
-2
-3
0
1
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-4
0
0
0
13
-1
0
0
11
2
-1
0
2
58
15
-20
-1
0
-1
24
-12
0
0
0
9
0
-9
-8
6
7
1
31
-2
5
-4
-25
-1
14
0
0
0
0
0
0
2
20
-2
0
1
2
-10
3
0
3
0
0
4
0
0
0
1
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
3
0
1
-5
4
-4
0
0
0
0
0
0
0
0
1
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
6
-1
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
-14
0
-13
2
0
4
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
4
28
-5
2
20
-1
-1
4
-15
0
0
0
12
1
-5
1
2
27
-13
-7
1
-3
-1
-14
-14
-4
0
0
-2
0
0
0
3
-22
3
6
0
2
4
-12
-6
0
0
0
0
0
0
0
0
-6
0
-7
-1
0
0
-6
0
3
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
4
0
0
0
1
0
3
0
0
1
0
0
0
2
1
-3
-6
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
-1
0
0
-1
0
2
-1
-17
32
-3
30
19
0
-1
-12
-7
-1
0
0
-7
0
0
1
2
18
6
-39
0
0
-7
4
8
-2
0
0
0
0
0
0
0
-2
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-4
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
7
1
-6
-2
0
0
1
2
-2
0
0
-8
0
0
0
-3
-10
2
14
-1
0
0
4
2
3
0
0
7
0
0
0
0
-2
0
-5
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
1
5
-1
-9
-5
4
2
0
-12
5
-3
0
0
2
0
0
0
-10
-16
-4
-6
0
0
-5
0
2
-5
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
8
-2
1
0
0
0
6
-4
-6
0
0
0
0
-1
0
-3
6
-5
-2
-2
5
0
-2
3
-7
0
0
3
0
0
0
-1
-2
0
-17
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
4
-17
-8
4
-5
0
0
14
-2
2
0
0
2
0
3
0
-6
-4
-3
-3
1
0
0
0
-2
5
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
-3
9
-3
-1
1
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
-1
1
-13
4
5
0
0
4
0
0
0
3
-1
0
-5
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
3
0
0
-3
0
0
0
2
0
0
0
3
0
0
0
3
1
-2
-2
0
0
0
-2
-1
0
0
0
2
0
0
0
1
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
0
0
-3
2
0
0
-20
-1
-4
2
0
-3
2
-10
0
-16
0
0
-4
0
1
0
0
-3
1
-12
0
0
-5
-31
-5
-17
0
0
0
0
0
0
0
0
1
2
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
-3
0
-1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
15
0
6
0
0
0
-2
-4
-3
0
0
4
0
0
0
-1
-12
7
4
-4
0
0
7
1
-2
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
3
5
-5
10
-22
-5
0
0
8
3
13
0
0
0
0
0
0
4
-3
5
-28
0
0
-5
7
-19
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
-1
3
0
-9
1
0
1
-1
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-8
0
0
-3
0
0
-2
-5
5
0
0
-5
0
0
2
4
19
-6
6
-5
0
0
-4
15
1
0
0
2
0
0
0
2
0
1
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
-2
0
-1
0
-19
-6
-6
-3
1
-6
4
-19
0
0
-4
0
-2
3
-3
5
-8
-1
-3
2
-6
1
-3
29
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-5
0
0
2
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-8
-13
0
-13
-1
-3
0
-1
-1
3
0
0
-5
0
0
0
6
3
-1
-2
-5
0
0
0
-7
-27
0
0
-3
0
0
0
2
0
0
-4
2
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
-7
-13
-7
-9
0
-1
10
12
-6
0
0
35
0
0
1
-10
2
-5
-11
-6
-2
0
-7
3
-9
0
0
3
0
0
0
0
3
-2
0
0
0
0
-1
0
-1
0
0
15
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
6
0
0
-5
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
-3
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
12
1
-1
-1
3
0
-8
-2
-11
0
0
-13
0
0
1
3
9
4
2
-2
0
0
-6
2
21
0
0
27
0
0
0
1
-5
7
2
-1
0
0
-8
-1
4
0
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
2
-4
0
0
2
-1
2
0
0
0
-11
0
0
-1
13
0
3
0
0
2
0
1
-4
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-4
2
4
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-2
-2
0
0
0
0
0
-4
0
6
3
-2
-4
0
0
0
0
-4
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
3
-27
0
-1
-1
0
0
0
-5
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
6
-2
3
-1
1
0
-2
5
0
0
0
0
0
0
-29
2
6
2
8
0
0
0
0
-7
-3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-4
6
-2
-1
-2
0
0
0
6
5
0
0
2
0
0
1
-3
0
-3
2
0
0
0
0
0
2
0
0
0
0
0
13
-1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
1
-2
7
2
-2
10
-3
-5
0
0
0
4
-1
3
14
-45
13
31
9
1
20
10
10
-20
0
0
-1
0
0
0
-5
-3
-5
-3
0
0
0
0
0
-4
0
0
5
0
0
0
-26
0
-4
1
0
0
0
-1
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
-4
-2
9
-4
-5
5
0
17
-2
4
0
0
0
0
0
0
0
0
-2
14
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
-5
1
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
21
-2
0
5
5
2
1
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
1
-3
72
4
-1
-22
11
0
2
-12
-7
-2
0
0
-9
4
-1
-5
-13
-2
10
11
-6
-2
0
-2
-3
7
0
0
9
0
0
0
4
-14
-4
-4
5
-6
-5
-5
-5
2
0
0
0
0
0
0
-11
0
0
-4
0
0
0
1
0
0
0
0
-2
0
0
0
-3
-1
1
2
-3
0
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
10
21
-7
3
4
8
-8
4
0
0
-7
6
19
-5
23
49
39
89
-1
8
-4
-4
-2
0
0
0
-3
0
0
-4
-6
-38
18
13
-2
8
-6
7
1
5
0
0
5
0
0
0
-2
18
-5
-4
5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
3
7
-7
-3
10
-1
-3
0
0
0
0
0
0
0
1
1
5
0
0
0
4
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
-3
1
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
4
0
8
2
-2
0
-43
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-48
-1
15
-3
3
-5
25
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
-6
-3
-31
-51
-2
23
-11
12
-3
-1
6
-9
0
0
18
0
2
-4
5
-11
29
5
-7
-6
-1
-8
13
-5
0
0
7
-1
0
10
0
-10
1
32
9
0
-2
-6
-1
1
0
0
3
0
0
-2
0
1
3
-8
-8
-1
0
-14
0
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
-3
2
0
-3
15
-18
0
0
4
2
-6
-3
-1
-7
-12
-36
6
1
17
26
15
-15
0
0
0
0
0
0
1
-5
-8
-4
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
10
3
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
-2
-2
-2
0
0
1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
0
28
13
12
-7
0
0
22
10
7
0
0
1
0
0
0
25
-2
25
17
-3
-2
0
12
-7
29
0
0
-3
0
-3
0
12
-11
-8
-21
-4
5
0
3
-5
1
0
0
0
0
0
0
0
-5
0
-1
0
0
0
1
0
0
0
0
1
0
0
0
-4
-2
0
0
-8
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
-2
-6
19
-13
5
0
0
14
8
-7
4
14
-4
5
-54
21
8
-17
6
5
-3
0
0
0
0
0
0
0
-9
-7
19
1
-1
1
15
-1
-8
0
0
-1
0
0
0
-5
-6
-1
-8
1
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
4
1
9
0
-2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-5
19
0
31
-7
1
-2
-5
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
2
-1
24
-1
13
3
8
0
0
-19
27
0
0
0
0
0
1
-16
-10
-4
-15
-15
-2
3
10
1
12
0
0
4
0
-6
7
-2
6
-1
-38
6
-2
-1
3
0
-11
0
0
0
0
0
0
0
8
-1
-4
2
0
0
2
0
4
0
0
3
0
0
0
8
-4
-2
-5
2
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
4
-35
12
-9
0
0
-6
-5
0
4
-5
14
12
-11
0
4
2
6
5
23
0
0
-1
0
0
0
1
-2
0
12
2
0
0
0
0
5
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
5
1
0
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
4
-5
0
0
-2
0
-1
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
2
2
-33
1
7
13
0
-2
-1
12
-31
0
0
0
0
0
-2
10
-25
-17
6
1
5
0
5
-15
-5
0
0
-4
-1
0
0
-2
5
0
7
3
1
-1
2
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
1
0
0
-1
1
0
0
-14
19
-1
6
4
0
1
-8
-14
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
0
0
0
3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
11
1
-3
1
0
0
2
-4
-6
0
0
-1
0
0
0
-2
5
6
1
1
0
0
4
1
0
0
0
2
0
0
0
-3
1
0
1
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-3
0
0
0
2
-8
-2
-2
-1
0
-8
-2
2
-11
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
10
0
-2
-4
0
0
-1
-1
-9
0
0
-1
0
0
0
5
12
1
0
-3
0
0
0
-1
5
0
0
-6
0
0
0
-2
-5
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-10
0
0
-6
-3
-4
-1
-16
16
24
5
7
5
15
4
19
-39
0
0
5
0
0
-1
0
4
-1
-2
0
1
4
-7
-3
-7
0
0
-3
0
0
0
-6
4
4
4
1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
13
-16
-2
6
-3
-4
0
9
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
-8
-4
0
1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
30
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
-9
-30
4
8
-15
-2
2
-17
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
2
0
25
29
3
-7
0
-7
3
22
28
-32
0
0
-5
3
-1
0
-8
7
35
15
15
-5
0
-7
17
-14
0
0
5
0
4
0
-14
0
-5
-19
-8
-2
0
-1
2
2
0
0
0
0
0
0
5
0
-13
-2
-3
0
0
6
0
3
0
0
6
0
0
0
-3
0
6
4
8
-2
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
-31
-5
3
-2
4
-9
6
-12
-15
-1
-3
-15
31
8
0
0
0
0
0
0
0
-9
-1
-7
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
8
0
0
6
-10
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
1
4
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-5
0
-8
-5
0
13
-2
0
0
-5
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
1
4
-72
0
9
-3
10
0
-2
-34
33
0
0
-5
0
-1
-2
-4
-50
-1
-2
-2
-1
0
-15
-58
-14
0
0
1
0
0
1
8
4
-2
-9
-1
0
-1
-2
6
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
3
1
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
17
1
5
-2
11
-6
12
25
3
-1
-10
6
-22
28
0
0
0
0
0
0
-3
1
4
-1
-2
0
-4
3
-1
-9
0
0
3
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-5
0
2
3
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
5
-1
2
-5
1
4
1
20
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-4
-5
-9
12
-3
-9
6
-3
1
0
-3
65
0
0
1
0
-2
-12
-3
-1
9
-4
-1
-1
0
-9
-2
3
0
0
-3
0
3
-1
-4
2
-1
-8
-8
0
-1
5
6
-12
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-6
-9
8
-3
-4
-1
-1
1
0
1
0
0
-3
0
0
0
0
3
1
-4
0
0
0
1
0
0
0
0
6
0
0
0
0
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
5
0
0
0
-8
-1
15
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-8
0
0
2
-3
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
-14
20
1
-2
-2
5
0
-1
-26
13
0
0
27
0
-5
0
-2
-13
21
4
-2
3
0
0
4
-11
0
0
8
0
0
0
-3
6
-1
-2
-10
2
-1
3
-2
-5
0
0
1
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
-1
0
0
0
1
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
-3
0
0
0
0
1
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
2
-1
-2
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
5
0
1
0
-1
0
0
3
0
0
0
0
0
-1
0
0
1
3
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
0
-2
-19
0
-2
-3
1
0
0
-6
-10
0
0
0
0
0
0
-5
5
2
0
-4
0
0
2
-1
-5
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
2
0
5
1
0
0
0
3
5
0
0
-3
0
0
0
3
-1
3
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
19
15
-1
3
2
-1
2
-8
0
0
0
0
0
0
-13
-7
-1
6
0
0
0
0
0
-2
0
0
0
0
0
0
-20
-1
-26
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
3
1
1
-3
2
-3
0
1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
48
-5
1
3
-3
-2
-4
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
60
-2
-2
1
22
8
2
-8
0
20
0
0
-15
-1
1
2
-8
-39
3
2
-5
0
-2
-2
6
-6
0
0
5
-1
2
0
22
-1
2
-8
4
-2
0
6
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
12
0
0
-1
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
42
25
-1
-7
15
-16
-10
0
0
0
0
0
0
0
2
-30
4
-8
-1
0
3
7
-2
-4
0
0
0
0
0
0
0
-6
3
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-2
10
0
1
-5
-12
3
2
0
0
0
0
0
0
0
-2
-4
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
4
-8
16
0
0
0
13
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
11
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
4
-50
-1
-4
8
-2
-8
7
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
13
-1
-29
44
-7
-13
3
-2
1
12
26
-7
0
0
15
1
-1
-2
-47
-6
24
-8
15
-1
0
17
-4
-5
0
0
1
0
1
0
-6
4
1
5
0
0
4
-7
-1
0
0
0
0
0
0
0
0
-19
-2
5
0
0
0
1
0
-1
0
0
5
0
0
0
0
-5
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
3
0
3
2
0
-26
0
0
0
0
0
0
0
5
-5
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-2
-5
-3
0
3
8
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
19
57
0
3
2
-1
0
-1
-21
0
0
0
5
0
0
0
-6
-11
-3
4
5
0
0
-2
-3
7
0
0
-2
0
0
0
0
6
0
10
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
11
1
-8
-24
-31
-5
0
0
1
0
0
0
0
13
-12
10
-1
3
1
29
0
6
0
0
0
0
0
0
7
-4
3
12
4
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
-2
-3
-4
-8
21
1
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-6
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
3
3
-1
2
4
0
0
-20
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
-4
6
63
5
-12
7
5
-8
-1
-9
-31
0
0
-2
-3
-7
6
-12
16
-7
19
-23
4
2
-16
4
-26
0
0
10
0
4
0
5
0
1
-11
8
4
1
3
-9
13
0
0
0
0
0
0
4
1
-2
4
3
0
0
0
0
7
0
0
-1
0
0
0
6
-5
0
9
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
6
3
0
0
-1
0
0
0
0
5
0
8
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
2
0
1
0
0
5
2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
3
2
0
-5
-2
-1
0
-2
-9
-7
0
0
6
0
0
0
-5
-3
2
4
0
0
0
10
4
-6
0
0
0
0
0
0
5
-2
-3
2
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
4
2
0
0
1
0
0
0
0
1
0
0
-4
0
-3
0
2
1
-1
3
-1
0
0
-3
3
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-20
0
0
0
0
0
0
0
-1
-6
-1
0
0
-2
1
0
2
0
0
0
0
0
0
5
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
-1
1
1
-1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
1
7
7
0
-1
4
-3
2
11
-8
10
0
0
9
0
0
0
7
5
1
-4
2
0
0
1
0
-4
0
0
-1
0
0
0
-3
-3
1
6
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-2
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
3
6
0
0
0
0
0
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
-8
18
0
4
-2
0
0
3
-4
20
0
0
-6
0
0
1
17
7
-1
1
-2
0
0
-25
-13
13
0
0
0
0
0
0
-1
0
0
-4
0
0
0
-2
0
3
0
0
0
0
0
0
0
2
0
2
0
0
0
2
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
4
2
0
0
0
0
-1
0
4
0
0
4
0
0
0
0
-1
-4
-22
1
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-1
-3
1
-3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
-5
5
-2
2
3
0
-4
-3
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-3
1
-9
1
-14
8
1
0
2
-31
-9
0
0
-7
-1
-1
-1
1
3
4
-5
5
2
-1
-11
-15
-10
0
0
1
0
2
0
2
2
-1
-11
7
0
0
2
-2
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-1
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
-3
0
-2
1
0
0
-1
0
0
15
0
0
0
0
0
0
-1
0
3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-8
0
0
0
1
7
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
-2
-3
-3
7
-3
1
1
-5
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
2
10
24
-8
7
0
1
-2
-15
21
-71
0
0
3
0
0
2
-5
3
-5
-28
0
1
1
-4
7
15
0
0
3
0
0
0
0
3
1
-4
8
-6
-1
0
-4
3
0
0
-3
0
1
0
0
1
5
1
0
0
0
-7
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-6
-23
0
-8
0
-1
0
5
4
-1
0
0
5
0
0
2
0
27
5
8
0
0
0
0
-2
0
0
0
1
0
0
0
0
6
0
1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
1
1
0
0
1
-9
0
0
0
0
0
0
9
6
0
4
-5
0
0
0
0
12
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
15
0
-18
-1
0
0
1
-3
-5
0
0
-2
0
0
0
2
-12
1
11
-2
-1
0
5
0
2
0
0
0
0
0
0
0
3
0
-7
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
11
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
5
5
0
8
-3
0
0
-5
0
-6
0
0
1
0
0
0
-4
-9
0
1
2
0
0
-10
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
5
-6
0
-5
-2
-4
0
-2
-1
18
0
0
-2
0
0
-1
2
-5
-2
-6
-2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-2
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
-1
3
0
1
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-9
0
-1
0
0
0
-2
0
0
0
0
-1
0
0
0
-14
1
-2
-2
0
0
0
-3
0
-3
0
0
0
0
0
0
-9
0
0
3
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
-19
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
1
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
18
0
-2
1
0
0
0
-8
2
0
0
0
0
0
0
-3
10
10
7
1
0
0
10
4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
-5
0
0
-5
0
0
0
-6
0
0
0
0
0
0
0
4
1
-2
5
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
6
0
1
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
1
1
3
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
-3
0
0
-1
0
0
-1
1
4
0
0
0
0
0
0
-1
-1
0
-2
1
0
0
-1
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
-5
4
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-22
-31
1
-3
-1
-1
0
3
-20
-18
0
0
3
0
0
0
-7
-16
7
-21
-4
0
0
4
-2
5
0
0
2
0
4
0
-7
-2
6
5
2
0
-1
-3
0
-4
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
1
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-6
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
2
4
0
2
-1
5
-1
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
0
5
21
0
3
1
2
0
-2
-6
9
0
0
5
0
3
3
6
10
-6
-20
5
-2
0
-1
0
-4
0
0
-1
0
1
0
2
2
0
6
-1
0
-2
1
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
-7
0
0
0
2
0
0
-8
4
0
0
1
0
0
0
0
0
2
1
0
0
0
-2
2
3
0
0
1
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
1
0
5
-4
-1
0
1
1
-4
0
0
-1
0
0
-1
3
-2
3
3
3
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-17
0
2
6
0
0
-2
-1
3
0
0
1
0
0
0
-1
-7
0
-1
0
0
0
0
0
-2
0
0
1
0
0
0
0
-1
0
2
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
1
8
0
3
1
0
0
0
-1
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
0
0
-2
0
0
1
1
-2
0
0
0
0
0
0
1
-2
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
10
0
-1
-2
0
0
0
2
-1
0
0
-2
0
0
2
1
14
0
-1
1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
2
0
4
5
0
0
1
-3
0
0
0
0
0
0
0
5
2
0
8
0
0
0
-2
0
-3
0
0
0
0
0
0
-7
1
0
-1
-2
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
4
0
-4
-2
0
0
0
7
0
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-4
42
0
3
3
0
0
0
9
0
0
0
14
0
0
0
-1
-1
-9
1
0
0
0
-1
7
6
0
0
1
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
3
1
0
-2
0
0
0
0
-2
-3
0
0
0
0
4
0
0
0
1
0
0
0
0
2
-2
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
3
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
-19
0
-5
-4
0
0
5
2
11
0
0
-1
0
0
0
5
-1
3
16
3
0
0
8
0
-17
0
0
0
0
0
0
0
-1
0
0
5
0
0
-1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
6
-2
-9
-52
1
-2
-8
5
0
7
-25
-2
0
0
3
2
3
-4
-10
17
-5
-1
-4
0
0
5
1
3
0
0
0
0
0
0
1
-9
0
4
0
0
0
-5
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
-6
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
-8
0
-2
2
0
1
4
-5
6
0
0
0
0
0
0
2
-6
-2
-2
0
0
0
9
4
5
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
6
-14
0
0
6
0
0
0
-5
0
0
0
2
0
0
0
0
-10
5
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
0
3
0
0
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-2
0
2
0
0
0
0
1
-3
0
0
-1
0
0
0
2
3
1
1
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
17
27
0
-1
4
2
0
1
-15
-13
0
0
1
0
0
0
-10
-2
1
5
2
0
0
-9
-2
-23
0
0
0
0
0
0
-1
-1
0
3
1
0
0
0
1
3
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-28
0
9
5
-2
0
5
0
2
0
0
-1
0
0
2
0
3
-1
1
0
0
0
3
-1
3
0
0
-4
0
0
0
0
0
0
4
-2
0
0
4
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
-8
0
4
0
4
0
-2
-7
-12
0
0
0
0
0
0
6
-2
5
-1
0
0
0
4
0
-2
0
0
1
0
0
0
4
0
0
3
-2
0
1
8
0
-15
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
1
6
-39
-2
2
-4
1
0
-2
-6
0
0
0
-24
0
-5
2
-1
3
-9
3
-1
0
-1
9
0
17
0
0
1
0
5
0
4
-12
0
15
-5
0
-1
6
1
5
0
0
0
0
0
0
0
-2
2
6
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
2
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
-1
0
0
0
-1
-5
0
0
0
0
4
0
0
-1
0
-2
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-27
-8
0
1
0
-8
0
0
1
1
0
0
0
0
0
0
-1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-12
0
-7
-4
0
0
7
6
-20
0
0
-5
0
-6
2
-33
-19
-8
-14
-2
-4
8
5
-10
-25
0
0
-4
0
0
3
-36
1
-4
20
-5
-2
4
8
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
2
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
-3
-1
-14
-6
7
-1
7
0
0
6
-3
-26
6
-50
27
-27
53
9
-5
7
-30
6
14
0
0
12
0
1
4
6
1
-3
-32
-3
-6
9
-3
8
5
0
0
3
0
0
0
-6
-2
-3
-5
-3
0
1
5
0
-1
0
0
3
0
0
0
4
7
0
-1
-2
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-1
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
-7
-13
-11
0
0
-5
0
2
2
17
5
-16
-16
1
0
-1
4
2
14
0
0
1
0
1
0
-5
4
0
19
-2
-2
-1
2
0
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
-2
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
9
0
0
10
0
-2
0
-8
-13
7
3
2
0
0
3
5
-1
0
0
10
0
0
0
-9
4
0
5
-2
0
1
3
3
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-40
-3
2
-1
1
0
3
0
-9
0
0
-1
0
-1
0
1
-4
0
-1
1
0
2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
-1
2
8
2
6
8
3
0
0
-38
4
1
0
0
-1
0
0
0
2
2
0
-6
1
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
3
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
-8
0
-2
6
-1
-37
-3
1
-1
-1
0
10
-7
7
0
0
30
0
2
0
0
-4
0
-11
6
1
-3
4
-1
-2
0
0
0
0
0
0
0
1
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
-8
-2
12
4
-6
-3
0
0
-3
0
0
-14
0
0
-10
0
0
0
41
0
1
-26
-1
2
-3
5
1
17
0
0
0
0
0
0
1
0
2
8
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
-4
4
-2
3
0
0
4
5
-14
0
0
12
0
0
0
0
6
0
19
7
0
1
1
-2
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
5
0
4
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
6
-3
5
0
2
4
-10
0
0
8
0
4
0
-27
-9
0
-17
-1
0
0
0
-1
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
-13
0
0
5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
-4
-1
-2
0
-23
5
-2
0
0
-3
0
-1
-3
-10
7
-4
-6
16
-13
3
-8
1
1
0
0
0
0
0
0
0
-1
2
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
9
0
0
-3
0
-7
0
0
-8
0
0
0
-1
-9
0
-4
-2
1
-1
2
-8
-6
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
2
0
-7
3
1
0
0
-13
0
0
1
-9
6
2
11
5
-1
0
5
4
1
0
0
0
0
0
0
0
-1
1
14
0
0
0
-2
0
-2
0
0
1
0
0
0
-2
0
0
5
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
-1
-1
0
-2
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-8
0
0
-6
0
7
0
-3
-15
2
-2
-2
0
0
4
4
1
0
0
0
0
0
0
0
-3
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
1
0
1
0
3
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
-6
0
0
0
0
0
-1
1
1
0
0
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
6
0
0
5
2
0
0
-4
5
-2
0
1
0
-13
0
0
1
0
0
0
0
0
0
1
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-1
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
0
-2
0
4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
9
-31
22
-144
-46
-137
-52
-2
0
5
-21
-4
25
14
39
-80
21
48
-17
35
0
-6
24
-136
-6
0
-11
0
0
0
0
0
0
0
0
-6
0
11
0
0
0
0
0
0
0
0
0
0
0
16
0
-39
0
46
16
-20
0
0
0
0
0
0
0
-15
-84
-47
-117
-93
-167
-38
-110
-39
-16
-36
-154
-98
-11
-14
-110
-113
95
9
-179
-70
0
-34
-100
-158
-112
0
47
0
0
0
0
0
0
0
0
-1
0
-36
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
16
-33
-19
0
0
0
0
0
0
0
-78
-148
-151
-240
3
-75
-54
-59
27
-25
48
-116
-47
-10
0
-71
-147
-36
-21
-118
-31
0
-40
-65
-87
-79
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
-5
-20
-29
3
-23
-6
0
0
0
19
0
6
-3
6
-1
0
7
-19
0
0
0
-8
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-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
-32
0
0
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
-24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
61
0
0
0
0
0
0
25
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
46
0
0
0
0
0
0
16
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
31
0
1
0
0
0
0
7
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-43
0
0
0
0
0
0
-45
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-5
1
0
0
0
0
0
4
0
-5
-37
0
0
0
0
0
0
-5
1
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
-39
0
0
0
0
0
0
60
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
56
-6
0
0
0
0
0
0
0
0
0
19
0
1
0
0
0
0
-51
-1
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
15
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-23
1
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
17
-1
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
-84
0
0
0
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
7
-2
0
0
2
0
0
0
0
-10
10
0
0
0
0
0
0
0
0
0
-44
0
4
0
0
0
0
-41
-8
0
5
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-80
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
4
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
45
0
0
0
81
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
2
0
1
74
0
-2
0
0
0
0
21
0
0
0
29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
31
0
0
0
33
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
16
-2
0
4
0
0
0
0
0
0
-2
35
0
3
0
0
0
0
-13
52
0
0
41
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
-28
0
0
0
0
0
0
0
2
-2
0
-25
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
3
4
0
0
18
0
0
0
0
-17
11
1
0
0
0
0
0
0
-1
0
36
0
0
0
0
0
0
24
-9
0
-1
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
8
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
-78
0
0
0
0
0
0
-9
0
0
0
0
0
0
-27
0
0
0
-1
0
0
0
0
0
13
0
0
0
0
0
0
0
13
-9
2
4
0
0
0
0
0
9
0
0
0
4
0
0
0
0
-2
-8
29
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
-70
0
0
0
7
0
0
-66
0
0
0
0
0
-4
-24
0
-1
0
12
0
0
1
6
9
47
-1
28
-13
0
0
0
0
-62
-41
0
32
0
0
0
0
38
-5
29
-15
0
11
0
0
0
2
5
35
90
0
42
0
0
0
0
-8
0
33
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
-78
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
5
0
0
1
0
0
0
0
-32
-1
-1
-1
0
0
0
0
0
-3
0
-17
0
0
0
0
0
0
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
27
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
-49
0
7
0
0
0
0
-28
-1
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
2
-39
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
1
-29
0
0
0
9
0
0
0
0
-4
-6
0
0
2
0
0
0
0
8
11
1
4
0
0
0
0
-7
-13
-5
-81
0
6
0
0
0
0
17
-4
0
0
28
0
0
0
0
3
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
35
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
-25
0
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
6
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
-58
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
31
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
39
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
9
0
-1
-44
0
0
0
0
0
0
1
4
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
58
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
14
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-37
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-69
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-52
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
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
77
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
55
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
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
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
2
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
-40
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-54
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
38
0
0
0
0
0
0
-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
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-41
0
0
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
37
0
0
0
-60
0
0
0
0
0
0
11
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-73
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-56
0
0
0
0
0
0
52
0
0
0
0
0
0
-9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-52
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
-6
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
15
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
-37
0
0
0
0
0
0
19
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
28
0
0
0
37
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
-44
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
2
-58
0
0
0
0
0
0
9
13
0
0
10
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
0
0
-25
0
0
0
0
0
0
60
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
-43
0
0
0
0
0
0
39
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-45
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-9
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
3
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
5
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-47
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
-12
0
0
0
0
0
0
33
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-25
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-38
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
73
0
0
0
-41
0
0
0
0
0
0
-39
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
34
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-49
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
39
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
5
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
-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
8
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
20
0
0
0
0
0
0
-9
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
18
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
6
0
0
46
0
0
0
0
0
0
5
0
0
0
0
0
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-63
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
10
0
0
0
0
0
0
-54
0
0
0
0
0
0
-100
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
-53
0
0
0
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
17
0
0
0
5
0
0
13
0
0
0
0
0
0
62
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
-4
0
0
42
0
0
0
0
0
0
-1
0
0
0
51
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
-92
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
16
0
0
0
0
0
0
-56
0
0
0
0
0
0
-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
-24
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-79
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
37
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-3
1
0
0
18
0
0
0
2
0
0
35
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-43
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
-2
51
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
-5
0
-57
0
5
0
0
0
0
-4
-2
0
0
-19
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
50
0
0
0
14
0
0
0
0
0
0
-81
0
0
0
0
0
0
-24
-1
0
0
0
0
0
0
0
10
5
9
0
0
0
0
0
0
14
-4
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
34
0
0
0
17
0
0
0
0
0
0
-48
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
27
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
6
0
0
-36
0
0
0
0
0
0
56
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
-31
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-27
-6
0
0
-6
0
0
0
6
0
7
-19
0
0
0
0
0
-4
5
-5
0
0
0
0
0
0
0
31
13
-3
2
0
0
0
0
-6
-28
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
-18
-1
0
0
6
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-39
0
0
0
-43
0
0
0
0
0
0
-79
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
2
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
-1
17
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-17
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
31
0
0
0
37
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
13
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
-61
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
40
0
0
0
8
0
0
0
0
0
0
-8
0
-1
0
0
0
0
-23
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
-53
22
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-1
0
0
0
0
0
0
35
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-17
0
0
0
0
0
0
103
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
2
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-4
0
0
0
0
0
0
48
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
23
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
19
0
0
0
0
0
0
37
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-8
0
0
0
0
0
0
44
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
54
0
0
0
-11
0
0
0
0
0
0
50
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-11
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-22
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-34
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-12
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
66
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-50
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
44
0
1
0
0
0
0
-15
-5
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
-56
0
0
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
-90
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
0
0
0
0
-6
0
0
26
0
0
0
0
0
0
5
71
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-8
4
0
0
0
-45
0
0
0
-1
0
0
89
0
0
0
0
0
0
-48
1
5
0
0
0
0
0
0
-6
-1
0
0
22
0
0
0
0
-6
-3
0
0
0
0
0
0
-2
0
0
-14
0
3
0
0
0
0
9
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
63
0
0
0
19
0
0
0
0
0
0
32
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-14
1
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-5
24
0
0
0
-4
0
0
0
0
0
0
72
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
16
0
0
0
-4
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
23
-14
0
0
28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
20
0
0
0
0
0
0
-5
1
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-24
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
5
-6
0
-1
0
0
0
0
-21
8
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
-54
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
22
-3
0
0
0
0
0
0
0
0
2
78
0
0
0
0
0
0
-31
-30
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
-48
0
0
0
-1
0
0
51
0
0
0
0
0
1
44
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
11
-7
0
0
0
0
0
0
6
-2
-2
30
0
0
0
0
0
0
-37
-9
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
43
0
0
0
0
0
0
0
18
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
36
0
0
0
20
0
0
0
0
0
0
-33
0
0
0
0
0
-8
5
0
3
0
0
0
0
0
0
16
-15
0
0
0
0
0
0
0
2
6
0
-1
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
5
14
0
0
-44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
63
0
0
0
-61
0
0
0
0
0
0
-33
0
0
0
0
0
-1
27
2
0
2
3
0
0
1
8
41
7
4
-6
0
0
0
0
10
76
14
2
-10
0
0
0
0
2
7
20
-4
0
1
0
0
0
0
-28
32
-5
0
43
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
6
0
0
0
-62
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-41
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
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
30
0
0
0
0
0
0
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-38
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-13
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-27
0
0
0
-15
0
0
0
-10
0
0
12
0
0
0
0
0
1
-36
4
0
0
0
0
0
0
-1
-4
1
0
0
-2
0
0
0
0
-7
-5
2
0
0
0
0
0
-1
2
-3
29
0
4
0
0
0
0
-13
15
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
15
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
9
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
17
0
0
0
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
22
0
0
0
0
0
0
-42
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
6
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-16
0
0
0
0
0
0
-17
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
-7
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
28
0
0
0
0
0
0
-14
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
34
0
1
0
0
0
0
18
6
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
-22
0
0
0
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
8
0
3
-39
0
8
0
0
0
0
-29
0
0
0
51
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
42
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
17
0
0
0
0
0
0
41
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
59
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-33
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
-47
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
69
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
25
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
58
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
-22
0
0
0
0
0
0
23
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
48
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
0
0
0
0
0
0
90
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
-16
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-41
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
22
0
0
0
0
0
0
47
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
35
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
62
0
0
0
36
0
0
0
0
0
0
110
0
0
0
0
0
0
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
62
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
44
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
65
0
0
0
32
0
0
0
0
0
0
15
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
37
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
9
12
0
0
11
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
74
0
0
0
0
0
0
-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
0
0
0
63
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
64
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
8
3
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
88
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
36
0
0
0
21
0
0
0
0
0
0
44
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-8
1
0
0
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-24
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-16
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-46
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
16
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
-9
12
0
0
0
0
0
0
24
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-12
14
0
0
0
0
0
0
0
31
0
27
0
0
0
0
0
0
15
0
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-15
0
-5
-30
0
0
0
0
0
-1
41
10
0
0
0
0
0
0
0
3
57
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-10
0
-7
3
0
0
0
0
0
0
-30
0
0
0
-19
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
50
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
2
0
0
0
0
0
0
0
57
0
0
0
0
0
0
14
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-6
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
31
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
-4
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
11
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
3
26
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
44
3
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
-14
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
10
-12
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
-5
0
0
-40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-8
4
0
0
0
0
0
0
-28
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
45
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-33
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-25
12
0
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
-8
-4
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-30
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
10
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-18
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
13
0
0
0
4
0
0
-8
0
0
0
0
0
-1
57
-1
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-52
6
0
5
0
0
0
0
-10
0
-2
-13
0
0
0
0
0
0
-47
-1
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
-72
0
0
0
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
-46
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
-55
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
11
0
0
0
-82
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-27
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
34
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
28
0
0
0
6
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
13
0
-6
0
0
0
8
0
0
-24
0
0
0
0
0
0
-45
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
-1
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-26
0
0
0
-31
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
56
0
0
0
-13
0
0
0
0
0
0
-32
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-26
0
0
0
-41
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-6
0
0
0
2
0
0
65
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-107
0
0
0
15
0
0
0
-1
0
2
12
0
0
0
0
0
4
-29
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-94
4
0
0
0
0
0
0
0
1
0
7
0
15
0
0
0
0
-13
1
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
31
0
0
0
7
0
0
0
-3
0
0
7
0
0
0
0
0
0
41
-5
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
-11
4
0
-2
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-18
1
0
0
21
0
0
0
0
0
0
-104
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
-3
7
0
0
0
-19
0
0
0
-14
6
2
-41
0
0
0
0
0
0
13
-1
19
0
0
0
0
0
7
9
42
7
0
-4
0
0
0
0
1
-13
14
0
0
0
0
0
0
-1
-1
35
0
0
0
0
0
-5
-50
-5
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
69
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
12
0
0
0
19
0
0
0
0
0
0
33
0
0
0
0
0
0
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
2
0
0
0
45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-23
0
0
0
19
0
0
0
-2
0
0
40
0
0
0
0
0
-1
3
-4
15
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
46
5
0
0
0
0
0
0
-5
0
2
4
0
0
0
0
0
0
25
0
0
0
24
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
67
0
0
0
0
0
-4
-7
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
0
0
13
0
10
0
0
0
0
-22
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
42
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-40
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
-14
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-45
0
0
0
-19
0
0
0
0
0
0
50
0
0
0
0
0
0
65
-7
8
0
0
0
0
0
0
-4
13
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
-40
0
0
0
0
0
0
4
2
0
0
12
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-57
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
9
2
5
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
38
10
0
0
8
0
0
0
0
0
-1
30
0
0
0
0
0
0
-50
-5
0
0
29
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
38
0
0
0
0
0
-1
12
0
0
0
-1
0
0
0
15
-13
0
30
0
0
0
0
0
3
43
12
0
0
0
0
0
0
-3
29
-8
0
5
-5
0
0
0
0
28
14
0
0
0
0
0
0
-12
0
-1
-8
0
0
0
0
0
0
30
-17
1
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
45
0
0
0
-34
0
0
0
0
0
0
27
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
11
0
0
0
24
0
0
0
0
0
0
63
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-1
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
-5
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-33
0
0
0
0
0
0
41
0
0
0
-10
0
0
0
9
3
4
9
0
0
0
0
0
-7
-34
4
-5
0
0
0
0
0
0
-11
-5
0
0
0
0
0
0
0
-15
7
0
0
0
0
0
0
0
0
11
0
0
-8
0
0
0
0
-75
-16
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
37
0
0
0
-4
0
0
0
0
0
1
-19
0
0
0
0
0
0
2
-8
6
0
0
0
0
0
0
19
-7
0
0
0
0
0
0
0
-11
-27
0
3
0
0
0
0
2
1
0
-2
0
0
0
0
0
0
-73
31
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-48
0
0
0
1
0
0
0
3
0
-1
12
0
0
0
0
0
0
24
-10
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-49
13
0
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
-57
2
0
0
26
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-17
0
0
0
13
0
0
0
0
0
0
54
0
0
0
0
0
0
-14
8
-1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
7
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
5
0
0
0
1
0
0
0
1
1
0
44
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
5
26
0
0
0
0
0
0
-4
-28
-2
1
0
0
0
0
0
-1
1
-8
55
0
0
0
0
0
0
-3
0
0
0
25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
2
-41
0
0
0
3
0
0
0
-18
7
0
18
0
0
0
0
0
-1
-10
-2
0
0
0
0
0
0
1
-15
6
0
0
0
0
0
0
-5
-17
34
0
0
0
0
0
0
-4
0
0
-5
0
-5
0
0
0
-1
9
-28
0
0
17
0
0
0
0
0
-13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-19
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
-58
0
0
0
0
0
0
53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
-14
0
0
0
0
0
0
16
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-55
0
0
0
0
0
0
41
0
0
0
0
0
0
-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
-39
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
1
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
14
0
0
0
0
0
0
-30
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
9
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
80
0
0
0
0
0
0
-26
0
0
0
-13
0
0
0
0
0
0
35
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-79
1
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-91
0
0
0
17
0
0
0
0
0
0
-48
0
0
0
0
0
0
21
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-54
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
60
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
34
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
-51
0
0
0
0
0
0
21
0
0
0
0
0
7
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-23
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-52
0
0
0
0
0
0
-67
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
24
0
0
0
0
0
0
-39
0
0
0
0
0
0
14
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-39
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
-36
0
0
0
0
0
0
0
0
0
5
50
0
0
0
0
0
0
6
0
0
0
-29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-38
0
0
0
-18
0
0
0
0
0
0
-35
0
0
0
0
0
0
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-20
0
0
0
-21
0
0
0
0
0
-1
-23
0
0
0
0
0
0
-51
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
-55
0
-4
0
0
0
0
-1
7
0
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-66
0
0
0
16
0
0
0
0
0
0
-18
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
-2
10
0
0
0
0
0
0
-1
8
0
0
-28
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
4
8
0
0
5
0
0
0
0
-9
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
18
0
0
0
19
0
0
0
0
0
0
19
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
-48
0
0
0
0
0
0
34
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
-47
0
0
0
0
0
0
-39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
-61
0
0
0
0
0
0
9
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-24
0
0
0
-21
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-31
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
10
0
0
0
-16
0
0
0
0
0
0
-20
0
0
0
0
0
0
60
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
1
13
-12
0
0
0
0
0
0
-11
2
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-32
0
0
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
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-10
0
0
0
0
0
-2
-10
0
0
0
-17
0
0
0
0
0
22
-37
0
0
0
0
0
2
-44
-6
0
0
0
0
0
0
0
0
-24
3
0
0
0
0
0
3
48
-9
18
0
0
0
0
0
0
0
0
-10
0
25
0
0
0
-27
-38
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
14
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-12
0
0
0
0
0
0
62
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
38
0
0
0
8
0
0
-68
0
0
0
0
0
-10
-29
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
6
68
0
0
0
0
0
-5
-24
0
0
0
-4
0
0
0
4
-26
0
52
0
0
0
0
0
-6
40
33
-1
0
0
0
0
0
0
11
19
3
0
0
0
0
0
-7
17
0
0
0
0
0
0
0
2
1
0
-4
0
8
0
0
0
0
21
0
0
0
21
0
0
0
0
0
0
-32
0
0
0
0
0
0
-5
12
-91
0
0
0
0
0
-10
1
20
0
0
15
0
0
0
0
-11
3
0
0
0
0
0
0
6
-13
-2
-6
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
10
-84
-2
-26
0
0
0
0
0
-27
6
0
8
0
0
0
0
0
14
10
8
4
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
23
0
0
0
-10
0
0
0
0
0
0
-51
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-73
13
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-31
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-39
0
0
0
-9
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-29
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
46
0
0
0
0
0
0
32
14
0
0
-15
0
0
0
13
0
-1
21
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
1
-45
0
1
0
0
0
0
-40
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
3
44
-27
0
0
0
0
0
55
87
-2
0
0
17
0
0
0
74
42
49
19
0
-2
0
0
0
32
25
0
0
0
0
0
0
1
-7
-11
32
24
6
0
0
0
0
11
49
-21
0
0
0
0
0
0
-21
-24
-3
11
-17
4
0
0
5
-5
34
-39
19
-1
29
0
0
0
0
0
0
-38
0
0
0
0
0
0
-6
-6
-20
0
0
0
0
0
-8
-48
-61
0
0
12
0
0
0
27
26
90
37
0
3
0
0
0
-52
8
-31
0
0
15
0
0
0
-11
-5
-14
14
-5
0
0
0
0
19
-26
53
0
0
27
0
0
-7
-6
-19
4
-3
6
22
0
0
-4
13
-19
-5
0
3
27
0
0
0
2
0
0
-17
0
0
0
0
0
0
15
64
22
0
0
0
0
0
21
-81
2
0
0
19
0
0
0
0
0
29
-16
1
0
0
0
0
0
-28
-33
0
0
30
0
0
0
-3
-43
54
5
0
0
0
0
0
5
-56
9
10
0
0
0
0
0
16
-6
7
-5
0
-4
0
0
0
1
-83
-2
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
30
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-52
0
0
0
0
0
0
153
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
27
1
0
0
-15
0
0
0
0
0
0
39
0
0
0
0
0
5
28
-7
0
0
0
0
0
1
-18
0
4
0
0
0
0
0
0
5
20
-2
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-37
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
5
7
-11
-10
0
0
0
0
0
1
-8
21
0
0
16
0
0
0
45
-4
24
68
0
-20
0
0
0
-46
20
47
11
0
20
0
0
1
-35
-46
0
9
-24
0
0
0
0
-2
-14
-49
-11
-4
-3
0
0
0
-6
10
9
26
1
-28
0
0
0
-36
-13
30
0
13
30
0
0
-5
3
0
0
-37
0
0
0
0
0
0
5
-42
0
0
0
0
0
0
24
-48
3
0
0
14
0
0
0
7
-27
29
-24
0
-5
0
0
0
-15
13
-10
54
2
0
0
0
0
-1
44
8
0
0
3
0
0
0
44
-4
-30
17
57
0
0
0
0
10
-30
14
3
0
85
0
0
0
-73
-33
-57
-14
-8
3
0
0
0
-25
5
0
-27
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
6
0
0
0
-49
0
0
0
0
0
0
-57
0
4
0
0
0
0
-14
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-3
0
0
-35
0
0
0
0
0
0
-49
0
0
0
-47
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-52
0
0
0
0
0
0
-9
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-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
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-29
0
0
0
0
0
0
-81
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
43
0
0
0
0
0
0
-21
16
0
0
-2
0
0
0
0
0
29
8
0
0
0
0
0
2
33
-37
0
0
0
0
0
0
-2
16
-16
2
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
2
0
0
30
0
4
0
0
0
9
7
4
-5
0
-35
0
0
0
0
0
0
-11
0
0
0
0
0
2
-15
-21
-49
0
0
0
0
0
43
5
77
0
0
1
0
0
0
-8
-8
-17
11
0
-27
0
0
0
6
59
5
-5
0
-13
0
0
0
-20
20
11
-3
-12
0
0
0
0
26
2
0
0
0
24
0
0
0
-17
-6
-11
14
0
-16
0
0
1
-18
-14
-2
3
1
2
0
0
0
-5
0
0
-114
0
0
0
0
0
9
6
-5
-3
0
0
0
0
0
0
-37
58
0
0
3
0
0
0
-40
-7
50
30
0
3
0
0
0
-4
18
17
1
13
10
0
0
0
2
17
-5
30
0
0
0
0
0
0
-93
3
0
0
33
0
0
0
-4
-35
-40
5
0
-11
0
0
0
6
-83
-20
2
0
-8
0
0
0
0
0
0
-34
0
0
0
0
0
11
16
74
-23
0
0
0
0
0
12
6
-23
0
0
-1
0
0
0
68
-7
44
-4
0
-3
0
0
0
-5
-7
4
-9
0
-13
0
0
0
7
-28
-42
-8
-3
2
0
0
0
11
-60
6
27
0
6
0
0
0
8
-31
-3
-62
0
10
0
0
0
23
-3
-11
0
0
-4
0
0
-33
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
-45
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
18
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
75
-17
0
0
-23
0
0
0
0
8
0
62
0
17
0
0
0
0
-40
42
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
2
32
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-42
0
3
0
-34
0
0
0
0
0
0
45
0
0
0
0
0
0
5
11
-1
0
0
0
0
0
-33
17
-12
0
0
35
0
0
0
1
11
12
27
0
21
0
0
0
-5
18
-24
7
0
0
0
0
0
-1
41
-7
3
-2
1
0
0
0
13
16
12
8
-14
0
0
0
0
1
-31
0
15
0
48
0
0
0
0
-26
3
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
-16
29
47
-4
0
0
0
0
0
55
6
-39
17
0
9
0
0
0
-2
31
43
12
0
32
0
0
0
-31
24
57
9
3
-2
0
0
1
-10
-68
18
-37
-1
-2
0
0
0
-6
-10
21
12
14
-2
0
0
0
-31
-12
2
0
0
-7
0
0
0
-40
17
-35
-19
0
4
0
0
0
0
0
3
-34
17
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
-8
0
0
0
-11
0
-2
-10
0
0
0
0
0
-16
-10
-7
0
0
7
0
0
0
0
15
-8
0
0
1
0
0
0
9
-54
-32
-6
1
0
0
0
0
-15
-2
-24
-17
0
-16
0
0
0
0
-34
33
5
0
-2
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
36
0
0
0
4
0
0
0
-2
0
-2
-13
0
0
0
0
0
2
-6
-1
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
-8
-91
-2
0
0
0
0
0
0
-4
10
4
-50
0
0
0
0
0
0
61
-8
0
0
10
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
16
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
27
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
14
0
0
0
0
0
2
2
17
0
0
-50
0
0
0
0
0
0
59
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
-58
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-29
0
0
0
0
0
17
55
-40
0
0
-3
0
0
0
2
15
1
17
0
0
0
0
0
8
0
-3
1
0
0
0
0
0
0
-52
19
-2
-1
0
0
0
0
-48
20
36
0
7
0
0
0
0
0
-51
6
-60
0
0
0
0
0
0
-19
0
0
6
14
0
0
0
0
0
0
19
0
0
0
0
0
4
0
-3
5
0
0
0
0
0
2
11
18
0
0
30
0
0
0
3
1
-7
17
0
29
0
0
0
-10
-18
-15
1
0
11
0
0
0
-24
-63
17
-2
0
0
0
0
0
14
-21
-18
1
0
0
0
0
0
35
4
4
5
0
-5
0
0
0
-4
2
17
0
0
3
0
0
0
-8
0
0
-22
0
0
0
0
0
0
5
-22
-16
0
0
0
0
0
-10
-30
-38
0
0
11
0
0
0
-6
4
44
4
8
-1
0
0
0
-27
-3
-25
23
2
0
0
0
0
9
29
-1
-1
-1
0
0
0
0
-39
-26
-25
44
3
21
0
0
0
12
34
-23
-25
0
8
0
0
0
-8
-39
-21
-2
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-33
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
48
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-57
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
31
0
0
0
4
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-16
0
0
0
45
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-32
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-50
-1
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
-1
0
0
41
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
9
-20
0
0
0
0
0
0
8
-14
0
61
0
0
0
0
0
0
37
3
0
0
-2
0
0
0
0
55
-9
-9
0
0
0
0
0
0
13
-2
0
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-2
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
2
-5
0
12
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
27
11
0
0
0
0
0
2
-57
29
0
0
0
0
0
0
6
1
20
51
0
0
0
0
0
-12
53
0
0
0
0
0
0
0
0
-4
50
10
0
0
0
0
0
0
21
1
31
-17
0
0
0
0
-5
25
-5
45
0
-1
0
0
0
0
18
8
0
0
26
0
0
0
0
0
0
20
0
0
0
0
0
43
14
66
-5
0
0
0
0
0
-8
15
18
-18
0
0
0
0
0
22
11
6
25
3
0
0
0
0
16
-8
3
0
3
-26
0
0
0
-15
24
22
-55
0
5
0
0
0
-46
36
-20
0
20
-25
0
0
0
-25
-16
12
4
0
-2
0
0
0
-1
16
-17
18
0
28
0
0
0
9
0
18
-65
0
0
0
0
0
0
0
1
17
0
0
0
0
0
-1
3
-6
0
0
0
0
0
0
-1
-1
-1
-7
0
0
0
0
0
-2
37
25
2
0
27
0
0
0
0
10
-10
5
0
0
0
0
0
1
-3
4
0
1
0
0
0
0
-10
-9
7
-36
0
0
0
0
0
4
-86
0
0
0
-42
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
52
-2
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
35
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
4
5
8
43
0
0
0
0
0
13
41
-35
0
0
0
0
0
0
-8
15
22
68
-6
0
0
0
0
19
-28
27
23
0
1
0
0
0
-8
-10
0
-5
-3
0
0
0
0
18
-170
11
88
31
-1
0
0
0
5
-9
-1
-1
0
-2
0
0
0
0
50
-2
0
0
6
0
0
0
0
0
0
37
0
0
0
0
0
0
0
31
12
0
0
0
0
0
3
-12
-33
0
0
0
0
0
0
1
1
2
-10
0
0
0
0
0
11
60
-35
6
0
0
0
0
0
-5
-83
32
0
0
-1
0
0
0
1
15
26
1
6
0
0
0
0
-5
33
43
19
0
0
0
0
0
-1
-84
5
13
0
26
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-6
1
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
5
-24
2
5
4
0
0
0
0
0
-4
0
-23
0
0
0
0
0
0
26
-16
0
0
-48
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
1
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
6
29
-69
0
0
0
0
0
0
1
-16
14
50
0
0
0
0
0
-2
81
-4
5
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
-15
45
0
0
74
0
0
0
0
-8
0
31
-10
0
0
0
0
0
2
-1
21
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
-1
10
1
-36
0
0
0
0
0
0
-25
-6
-2
0
0
0
0
0
18
-14
87
16
0
0
0
0
0
-4
23
33
-8
0
0
0
0
0
1
95
16
-37
0
0
0
0
0
3
-16
37
0
33
-7
0
0
0
-7
25
19
47
0
0
0
0
0
8
-26
56
-21
0
18
0
0
0
0
0
1
-53
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
8
-12
-25
0
0
0
0
0
0
-19
29
4
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
47
-20
0
0
0
0
0
0
1
7
3
-18
0
0
0
0
0
-4
50
-11
0
0
15
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
16
0
0
0
-59
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
2
58
0
0
0
0
0
0
73
-1
0
0
0
0
0
0
0
-19
0
4
0
0
0
0
0
0
4
-28
3
0
0
0
0
0
-4
0
0
-18
0
0
0
0
0
0
7
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
-29
57
85
-22
0
0
0
0
0
-1
-34
-10
0
0
0
0
0
0
-9
-11
65
-2
1
0
0
0
0
-1
-10
33
-17
0
0
0
0
0
-2
43
-16
7
0
1
0
0
0
5
-12
-20
1
40
0
0
0
0
4
9
-23
0
0
-7
0
0
0
-3
7
-42
0
0
-10
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-49
0
0
0
0
0
0
-13
0
0
-4
5
0
0
0
0
0
5
11
1
0
0
0
0
0
0
0
51
-33
0
0
0
0
0
0
42
-21
18
-1
8
0
0
0
0
-6
1
-17
20
0
0
0
0
0
0
46
14
0
0
-36
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-29
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
18
-3
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
31
14
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
3
15
0
0
0
43
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
-79
0
0
0
0
0
-1
-5
-11
0
0
0
0
0
0
1
-3
-1
14
0
0
0
0
0
-2
47
-3
0
2
0
0
0
0
4
33
-24
-32
0
0
0
0
0
-60
-25
-2
43
0
0
0
0
0
7
14
13
19
0
1
0
0
0
-2
76
-10
0
0
29
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
31
34
0
0
0
0
0
-3
-24
-8
0
0
0
0
0
0
-3
3
4
-5
0
0
0
0
0
4
28
-4
0
0
18
0
0
0
0
11
-3
1
0
0
0
0
0
-6
-46
40
-1
29
0
0
0
0
5
-7
4
17
0
1
0
0
0
5
-8
5
0
0
21
0
0
0
0
0
0
-30
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
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
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-19
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
47
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
-3
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-44
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
10
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-26
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
12
6
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
22
0
0
0
-45
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-8
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-15
0
0
0
0
0
0
38
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
8
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-3
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
-2
28
0
4
0
0
0
0
-6
0
-3
-27
0
1
0
0
0
0
-32
7
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
-83
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
14
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
-31
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
10
25
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
58
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
93
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
-2
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-2
0
0
0
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-13
0
0
0
51
0
0
0
0
0
0
69
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
4
22
5
0
0
0
0
0
-1
0
-4
8
0
0
0
0
0
0
-34
-3
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
72
0
2
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-20
22
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-33
0
0
0
0
0
0
-31
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-9
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
6
0
0
0
-24
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
102
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
23
0
0
0
0
0
0
61
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
51
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
-96
0
0
0
0
0
0
16
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
1
0
0
0
0
0
0
26
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
39
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
0
-15
0
0
0
0
0
0
100
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
6
9
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-10
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
4
0
0
0
0
0
0
74
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
-35
0
0
0
0
0
0
46
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
-25
0
0
0
0
0
0
32
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
36
0
0
0
7
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
-14
0
0
0
0
0
0
61
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
6
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
15
3
0
0
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
100
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
8
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-40
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-31
0
0
0
14
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
5
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
-14
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-9
0
0
0
0
0
-2
-56
0
0
0
0
0
0
-29
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
5
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
-14
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
5
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
22
0
0
0
0
0
0
21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
6
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-54
0
0
0
9
0
0
0
0
0
0
-36
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
45
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
-41
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-20
3
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
15
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
37
0
0
0
0
0
0
27
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
8
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
50
0
0
0
32
0
0
0
0
0
0
41
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
25
0
0
0
0
0
0
60
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
10
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
-32
0
0
0
0
0
0
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-53
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
11
-16
0
0
-1
0
0
0
0
0
-1
37
0
0
0
0
0
0
-44
-7
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
24
0
1
0
0
0
0
28
1
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
-45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
72
-8
0
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
-41
0
0
0
0
0
0
59
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
1
76
0
0
0
0
0
0
34
-3
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-9
0
0
0
0
0
0
51
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
33
0
0
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
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
-50
0
0
0
0
0
0
-41
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-15
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-31
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
-19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-99
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
23
0
0
0
15
0
0
0
-5
0
0
-21
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-19
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
120
0
0
0
-37
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
54
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
-1
0
36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
47
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
-2
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-35
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
-13
0
0
6
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-4
4
5
0
0
0
0
0
35
0
2
-16
0
0
0
0
0
-1
-13
2
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
70
0
0
0
0
0
0
25
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-45
0
0
0
26
0
0
0
0
0
0
13
0
0
0
0
0
0
-58
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-14
-1
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
-30
0
-4
0
-35
0
0
0
0
0
0
27
0
0
0
0
0
0
38
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-33
0
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
51
-2
0
0
53
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
44
0
0
0
-18
0
0
0
0
0
0
36
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-19
0
0
0
37
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
-54
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
44
0
0
0
0
0
0
44
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
22
0
0
0
36
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
1
0
0
-23
0
0
0
-2
0
0
15
0
0
0
0
0
0
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
5
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
14
22
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
49
0
0
0
0
0
-2
0
-2
0
0
-31
0
0
0
-1
3
0
31
0
0
0
0
0
0
28
0
6
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
33
15
-3
0
0
0
0
0
7
0
-2
2
0
0
0
0
0
0
-60
12
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
38
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
41
0
0
0
-9
0
0
0
1
0
0
-8
0
0
0
0
0
0
-12
8
9
0
0
0
0
0
0
1
8
-1
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-8
2
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-29
0
0
0
-20
0
0
0
0
0
0
14
0
0
0
0
0
1
-4
-3
6
0
0
0
0
0
0
6
-3
0
0
-1
0
0
0
3
-58
-9
-7
5
0
0
0
0
-10
1
8
17
0
0
0
0
0
0
-116
-10
0
0
21
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-52
0
0
0
-9
0
0
0
0
0
0
45
0
0
0
0
0
0
-140
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-55
-1
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-23
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-7
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
44
0
0
0
7
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
0
0
0
0
0
0
0
0
-5
30
0
0
0
0
0
0
14
1
0
0
24
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-41
0
0
0
-7
0
0
0
2
0
0
20
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-16
-13
4
0
0
0
0
0
9
5
0
-4
0
0
0
0
0
0
-21
0
0
0
32
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
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
-65
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-15
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
2
0
0
0
-12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
21
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
50
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
15
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-43
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
32
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-17
10
0
13
0
0
0
0
-5
0
3
5
0
0
0
0
0
0
-14
18
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
21
0
0
0
0
0
0
-76
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-19
0
0
0
45
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
17
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-30
0
0
0
-12
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-68
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
38
0
0
0
-18
0
0
0
0
0
0
-16
0
0
0
0
0
-1
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
44
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
30
0
0
-8
0
0
0
0
9
0
34
0
0
0
0
0
0
-33
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-49
0
0
0
35
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
22
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
12
0
0
0
0
0
0
-18
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
145
7
0
0
-30
0
0
0
0
12
1
-11
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
12
-5
0
0
13
0
0
0
8
31
0
0
0
0
0
0
0
3
0
-18
16
0
0
0
0
0
0
21
0
0
0
45
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-25
11
0
0
10
0
0
0
0
5
0
-8
0
0
0
0
0
0
-23
5
0
0
2
0
0
0
0
10
9
15
0
0
0
0
0
2
-27
2
0
0
0
0
0
0
-10
13
1
-19
0
0
0
0
0
1
-55
5
0
0
9
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-80
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-24
0
0
0
13
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-51
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
0
0
-32
0
0
0
0
0
0
-20
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
9
0
0
30
0
0
0
0
0
0
-16
0
-2
0
0
0
0
73
37
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
6
38
-2
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
28
0
0
0
0
1
0
-1
0
0
0
0
0
0
-7
-30
-7
0
1
0
0
0
0
3
-27
0
0
0
0
0
0
-4
25
-1
0
0
0
0
0
0
1
0
1
23
0
0
0
0
0
0
-18
0
0
0
14
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
-33
0
0
0
0
0
0
-94
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
7
0
0
0
-57
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
61
1
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
16
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
14
1
0
28
0
0
0
0
0
0
26
0
0
0
0
0
2
7
-23
0
0
0
0
0
0
0
-38
-8
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
0
0
31
0
-4
0
0
0
0
-72
1
0
0
6
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
0
0
29
0
0
0
0
-14
0
-98
0
0
0
0
0
0
-33
2
-8
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-29
-24
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
-1
0
0
18
0
0
0
-1
0
0
-69
0
0
0
0
0
13
5
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-35
0
-3
0
0
0
0
0
0
0
0
-15
0
6
0
0
0
0
-5
8
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-117
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
-9
0
0
0
0
0
0
58
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
54
9
0
0
1
0
0
0
0
0
0
-46
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-18
0
0
0
-11
0
0
0
0
0
0
-24
0
0
0
0
0
-15
3
0
23
0
0
0
0
0
3
0
7
0
0
-7
0
0
0
-7
29
-5
-3
0
-10
0
0
0
-11
13
3
-11
0
0
0
0
0
4
10
4
-2
0
8
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
6
0
0
13
0
0
0
0
42
-9
0
0
13
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
2
4
0
-116
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-3
-2
0
0
-5
0
0
0
-4
4
54
-5
-2
0
0
0
0
-6
2
0
-10
0
0
0
0
0
0
-63
-51
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
20
0
0
0
0
0
0
-65
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-18
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-12
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
50
0
0
0
-57
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
66
-15
0
0
-20
0
0
0
0
7
0
15
0
0
0
0
0
0
-98
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
7
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
56
2
0
0
44
0
0
0
0
0
0
-22
0
0
0
0
0
0
-37
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-55
-7
0
0
0
0
0
0
0
3
0
29
0
0
0
0
0
0
-15
0
0
0
-13
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
-5
69
0
0
8
0
0
0
0
0
0
-91
0
0
0
0
0
9
14
7
0
0
0
0
0
0
0
21
11
0
0
23
0
0
0
0
-14
30
0
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
-58
-2
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
-38
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
58
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
1
0
0
0
-56
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
117
0
0
0
-59
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
6
0
0
-10
0
0
0
0
0
0
29
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-38
61
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
8
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
0
0
0
-57
0
1
0
0
0
0
-51
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
22
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
54
14
0
0
-63
0
0
0
2
-1
5
29
0
0
0
0
0
4
32
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-66
3
0
0
0
0
0
0
0
7
5
20
0
0
0
0
0
0
81
0
0
0
99
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
11
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
36
5
0
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
11
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
42
0
0
0
-26
0
0
0
0
0
0
-16
0
0
0
0
0
0
11
1
2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
12
2
0
0
-35
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
15
0
0
0
-7
0
0
0
0
0
3
-51
0
0
0
0
0
0
-89
6
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
6
4
19
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
32
1
0
0
4
0
0
0
0
0
12
-82
0
0
0
0
0
0
-12
10
4
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
0
21
0
-2
0
0
0
0
26
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
44
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-2
0
0
-47
0
0
0
0
0
0
-16
0
0
0
0
0
0
54
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
22
0
0
0
52
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-10
0
0
0
29
0
0
0
0
-1
4
-54
0
0
0
0
0
0
35
1
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
-1
-31
-14
0
0
0
0
0
0
0
0
0
15
0
20
0
0
0
0
-55
-2
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-25
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-16
-10
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-45
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
-13
0
0
-14
0
0
0
3
0
0
-73
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
54
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-62
0
0
0
-70
0
0
0
0
0
0
-52
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
-20
5
2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
24
7
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
-83
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
27
0
0
0
-2
0
0
0
0
0
0
-93
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
10
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
74
0
0
0
-5
0
0
0
0
0
0
-48
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-12
1
0
0
-18
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
39
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
18
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-18
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
-29
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
30
0
0
0
0
0
0
27
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
5
1
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
-22
0
0
0
0
0
0
60
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
9
-1
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
40
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-7
0
0
0
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
57
0
0
0
0
0
0
-22
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-23
1
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
52
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
0
0
31
0
-2
0
0
0
0
-1
5
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
26
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
25
8
0
-7
0
0
0
0
5
0
-1
42
0
2
0
0
0
0
-7
11
0
0
62
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
59
0
0
0
-17
0
0
0
0
0
0
115
0
0
0
0
0
-2
-32
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
-2
0
0
78
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
0
0
12
0
0
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
-1
0
0
0
0
0
0
92
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-6
0
0
0
61
0
0
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
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
-37
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
-9
0
0
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
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
101
0
0
0
0
0
0
-10
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
3
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
46
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
-6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-32
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
134
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
41
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
28
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
57
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
70
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
37
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
121
0
0
0
0
0
0
2
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
108
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
-32
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
0
0
-36
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-13
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
17
0
0
0
-73
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
83
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
4
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
23
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
64
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-7
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-45
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
24
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-32
0
0
0
12
0
0
0
0
0
-4
-36
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
0
0
23
0
-1
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
25
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
19
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
-6
-22
0
0
0
0
0
0
3
0
-4
-9
0
0
0
0
0
0
7
-25
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-23
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
-29
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-29
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-59
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
2
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-42
0
0
0
0
0
0
47
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
58
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
-87
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
-5
0
0
-47
0
0
0
0
0
0
-8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-3
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
9
0
0
0
-32
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-12
0
0
0
0
0
0
-30
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
0
0
-16
0
0
0
0
0
7
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-49
0
0
0
11
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
-43
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
29
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
7
0
0
0
0
0
0
71
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
16
0
0
0
-46
0
0
0
-1
0
1
-37
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
44
0
0
0
-32
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
12
0
0
0
0
0
0
97
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-8
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
-82
0
0
0
0
0
0
-2
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
75
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
4
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
75
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
-31
0
0
0
0
0
0
17
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-45
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-68
0
0
0
0
0
0
10
0
0
0
0
0
0
-50
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
38
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
30
-2
0
0
-49
0
0
0
0
0
2
-34
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-9
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
45
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
-21
0
0
0
0
0
0
-33
0
0
0
0
0
0
-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
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
32
0
0
0
-49
0
0
0
0
0
0
-37
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-66
0
0
0
-53
0
0
0
0
0
0
4
0
0
0
0
0
0
71
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
1
2
7
4
0
0
0
0
0
0
-16
-15
0
0
29
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
-37
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-51
0
0
0
0
0
0
45
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
33
0
0
0
-33
0
0
0
0
0
0
-75
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-20
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
7
0
0
0
-44
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-2
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-36
-1
0
0
31
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
51
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
33
0
0
0
0
0
0
18
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-21
0
0
0
-54
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-24
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
43
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
24
0
0
0
13
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
24
-4
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
87
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-31
0
0
0
-16
0
0
0
0
0
0
-25
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
26
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
42
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-37
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
39
0
0
0
-67
0
0
0
0
0
0
29
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
2
2
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
58
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
27
0
0
0
-6
0
0
0
0
0
0
-59
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-24
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
-41
0
0
0
0
0
0
15
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
29
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-21
0
0
0
40
0
0
0
0
0
0
-50
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-59
0
0
0
0
0
0
-58
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-41
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-28
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
21
0
0
0
-23
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
29
0
0
0
0
0
0
67
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
15
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
39
0
0
0
44
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-108
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
-1
53
0
0
0
0
0
0
-9
1
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-30
-6
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
-7
13
0
0
-7
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
9
0
0
-4
0
0
0
0
0
2
1
0
3
0
0
0
0
49
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-46
4
0
0
15
0
0
0
0
4
3
11
0
0
0
0
0
1
27
1
0
0
0
0
0
0
0
1
19
19
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
2
-48
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-86
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-5
0
0
0
55
0
0
0
0
0
0
57
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-11
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-65
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
30
34
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
42
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
59
4
41
0
28
0
0
0
-10
2
7
0
0
-6
0
0
0
7
-16
-1
-3
0
0
0
0
0
-12
16
-9
-10
0
1
0
0
0
-1
-15
48
0
1
-1
0
0
0
20
0
8
7
0
-2
0
0
0
0
-6
-16
0
7
-2
0
0
0
0
16
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
4
82
0
8
0
0
0
0
5
-11
-36
0
8
0
0
0
-1
12
3
0
0
0
0
0
1
0
-2
4
0
0
3
0
0
0
0
-49
0
0
0
0
0
0
0
-7
0
0
-28
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-42
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-94
0
0
0
22
0
0
0
0
0
0
26
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
24
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-31
9
0
0
52
0
0
0
0
-3
-63
-30
0
-2
0
0
0
-9
67
0
0
0
0
0
0
0
0
-21
2
20
0
0
0
0
0
4
-42
0
0
0
0
0
0
0
40
0
0
20
1
0
0
0
0
0
-46
39
12
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-31
-3
0
0
15
0
0
0
1
0
0
-58
0
0
0
0
0
0
-106
-11
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
28
-3
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
-29
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
76
0
0
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
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
18
0
0
0
65
0
0
0
0
0
0
-11
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
-2
0
0
0
91
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
61
0
0
0
21
0
0
0
0
2
27
27
0
0
0
0
0
18
0
19
0
0
0
0
0
-3
4
-14
0
0
0
0
0
0
0
4
-62
4
9
0
0
0
0
0
20
2
0
43
0
0
0
0
0
0
22
25
0
0
28
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-16
6
0
0
15
0
0
0
0
-5
-7
27
0
4
0
0
0
-5
-57
23
0
0
-5
0
0
0
0
-37
6
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
-3
-2
-6
16
0
0
0
0
0
0
34
-4
0
8
3
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-61
0
0
0
0
0
0
15
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
14
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
-12
0
0
0
0
0
0
-45
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-45
0
0
0
-32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
46
-3
0
0
43
0
0
0
0
1
9
50
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
2
23
9
0
0
6
0
0
0
-7
38
0
0
0
0
0
0
0
0
-3
6
12
0
0
0
0
0
0
-2
31
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
16
0
0
0
0
0
6
17
0
0
0
0
0
3
-6
1
0
0
0
0
0
0
13
2
21
0
0
0
0
0
0
5
-18
-5
0
0
0
0
0
0
-5
-17
0
-12
0
4
0
0
0
0
-1
9
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
-8
0
0
-15
0
0
0
0
0
-2
8
0
0
0
0
0
8
-64
5
0
0
0
0
0
0
0
15
43
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
5
0
17
0
0
0
0
0
0
-33
-8
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-36
0
0
0
0
0
0
81
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
50
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
78
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
6
0
0
0
27
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
-29
0
0
0
0
0
0
-9
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-29
0
0
0
27
0
0
0
-1
0
-31
21
0
0
0
0
0
11
-32
13
0
0
0
0
0
0
0
-29
39
-2
0
0
0
0
0
0
-32
-4
18
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
7
9
0
0
-14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
-1
7
0
-66
0
1
0
0
0
0
-26
8
0
0
6
0
0
0
0
12
21
35
0
0
0
0
0
2
-72
4
-1
5
0
0
0
0
41
2
3
26
0
5
0
0
0
0
-22
44
0
0
-12
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
9
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-44
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-20
0
0
0
-11
0
0
0
0
0
0
57
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
43
0
0
0
39
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-23
0
0
0
34
0
0
0
0
0
0
-18
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
-48
1
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-9
2
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
1
-29
10
0
0
0
0
0
0
-1
6
-3
0
0
0
0
0
0
2
41
14
0
0
0
0
0
0
1
0
0
-27
0
-4
0
0
0
0
-52
-7
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
-50
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
38
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
2
0
0
0
0
0
0
93
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-6
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
6
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
114
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
3
0
0
-6
0
0
0
0
0
1
1
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-25
0
0
0
-28
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-59
0
0
0
43
0
0
0
0
0
0
-25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
23
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-91
0
0
0
32
0
0
0
0
-3
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
28
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
12
-5
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
27
1
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
6
-1
0
0
-19
0
0
0
-1
0
0
65
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-35
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
-26
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
5
-13
0
0
0
0
0
7
-9
0
0
0
0
0
0
0
0
7
-8
10
4
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
17
0
0
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-41
17
0
0
-3
0
0
0
2
-14
-1
30
0
0
0
0
0
4
-17
-2
0
0
0
0
0
0
1
-10
0
13
0
0
0
0
0
0
34
0
-1
0
6
0
0
0
0
-15
0
-26
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
-96
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
23
0
0
0
44
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
15
0
0
34
0
0
0
-1
0
-1
8
0
0
0
0
0
-7
-19
-1
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-2
-6
-4
4
0
0
0
0
0
3
0
0
32
0
0
0
0
0
0
-6
5
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
0
4
0
-18
0
0
0
0
0
0
-17
1
13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
34
1
15
0
0
0
0
0
0
19
0
29
0
0
0
0
0
0
21
-1
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-39
0
0
0
-21
0
0
0
0
0
0
34
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-6
0
7
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-11
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
-53
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
25
15
0
0
16
0
0
0
0
0
0
38
0
1
0
0
0
3
-42
0
0
0
0
0
0
0
0
9
4
0
3
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
-4
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
-6
19
-32
0
0
34
0
0
0
-2
4
5
0
0
0
0
0
0
-12
12
-11
6
0
0
0
0
0
-5
21
-15
6
0
0
0
0
0
12
2
21
0
0
0
0
0
0
8
60
0
26
0
0
0
0
0
0
36
1
-24
0
23
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
7
0
0
0
0
0
0
-26
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
9
-5
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
19
0
1
0
0
0
0
0
0
50
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-46
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
-2
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-46
0
0
0
41
0
0
0
0
0
0
36
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
16
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
10
3
0
0
-7
0
0
0
-3
-3
0
6
0
0
0
0
0
-1
-30
3
0
0
0
0
0
0
0
5
10
29
4
0
0
0
0
0
63
-9
-6
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
8
0
0
0
-24
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
10
0
2
9
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-17
8
0
2
0
0
0
0
0
-23
4
0
0
0
0
0
0
10
0
0
-13
0
0
0
0
0
0
15
0
0
0
-29
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-19
0
0
0
7
0
0
0
0
0
0
42
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
7
0
0
0
58
0
0
0
0
0
0
63
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
65
39
0
0
0
0
0
0
0
0
2
0
-42
0
0
0
0
0
0
19
-1
0
0
-37
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-47
-1
0
0
-20
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
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
42
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
-3
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-24
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
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
0
47
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-11
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
69
0
0
0
0
0
0
-38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
0
0
0
43
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
51
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-20
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-43
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-27
-17
1
0
-1
0
0
0
6
0
3
37
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
-42
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-69
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-57
0
0
0
0
0
0
20
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
7
0
0
0
23
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-59
0
0
0
-12
0
0
0
0
0
2
-24
0
0
0
0
0
0
11
9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
1
-46
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
63
0
0
0
27
0
0
0
0
0
0
6
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
-9
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
2
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-9
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-17
0
0
0
8
0
0
0
0
0
0
47
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
41
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
26
0
0
0
0
0
0
31
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
-1
50
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-15
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
27
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-10
0
0
0
-46
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-32
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
33
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
26
0
0
0
6
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-60
0
0
0
-28
0
0
0
0
0
0
-10
0
0
0
0
0
0
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
0
0
0
0
0
0
0
3
-39
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
1
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-62
0
0
0
-1
0
0
1
0
0
0
0
0
0
23
-8
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-53
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
-94
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-50
0
0
0
-40
0
0
0
0
0
0
74
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-41
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-36
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
1
0
0
-9
0
0
0
0
0
0
-31
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-42
0
0
0
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-48
0
0
0
38
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
33
0
0
0
-26
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
12
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-9
0
0
0
0
0
0
65
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-39
-3
0
0
-16
0
0
0
-1
-4
2
22
0
-4
0
0
0
0
38
-13
14
0
0
0
0
0
3
15
-1
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
51
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
-6
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
42
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
27
-7
0
0
2
0
0
0
0
-18
0
0
0
0
0
0
0
5
0
0
12
0
0
0
0
0
0
26
0
0
0
17
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-82
2
0
0
38
0
0
0
8
0
16
23
0
0
0
0
0
0
-22
15
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
1
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-20
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
19
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
15
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-82
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-47
0
0
0
17
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
6
0
0
0
14
0
0
0
0
0
0
-9
0
23
0
0
0
0
-34
16
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
6
54
0
0
0
0
0
0
0
0
12
3
21
0
0
0
0
0
0
61
1
0
0
9
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-22
0
0
0
-1
0
0
0
0
0
0
-60
0
0
0
0
0
0
-32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
-62
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
13
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
37
0
0
0
0
0
0
51
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
23
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
5
0
13
0
0
0
0
0
0
-6
15
0
0
19
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-24
0
0
0
14
0
0
0
-6
0
20
27
0
0
0
0
0
0
-57
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
47
0
0
0
0
0
0
-12
-3
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-66
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-22
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
13
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
16
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
12
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
46
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
0
0
-24
0
0
0
0
0
0
-22
0
0
0
9
0
0
0
0
0
0
39
0
0
0
0
0
-1
0
1
-24
0
0
0
0
0
0
-24
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
3
-21
-4
-1
0
0
0
0
0
0
65
17
-1
0
0
0
0
0
4
5
-2
0
0
0
0
0
0
-1
-1
-12
0
0
0
0
0
0
0
-20
7
0
0
7
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-31
0
0
0
1
0
0
0
0
0
0
16
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-12
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
32
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-38
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-53
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
35
0
0
0
16
0
0
0
0
0
0
49
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-20
-2
0
0
0
0
0
0
-5
0
0
10
0
0
0
0
0
0
-11
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-68
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
58
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-31
0
0
0
0
0
0
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-11
0
0
0
0
0
0
62
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
-7
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-21
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
12
-19
0
0
-7
0
0
0
-13
0
3
16
0
0
0
0
0
0
-13
17
6
2
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
18
17
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
2
20
0
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-2
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-11
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-22
54
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
50
5
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
-104
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
71
-2
0
0
55
0
0
0
0
0
9
26
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
9
0
0
0
-32
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-17
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-49
-13
-1
0
-5
0
0
0
-1
0
0
19
0
0
0
0
0
9
-15
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
54
0
0
0
32
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-26
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-47
0
3
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-7
-2
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
54
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
0
0
0
0
0
0
22
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
21
0
0
0
0
0
0
14
0
0
0
0
0
0
42
7
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
24
0
0
0
31
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
1
0
0
0
-1
0
-3
-6
0
0
0
0
0
0
50
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
5
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-11
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-39
0
0
0
6
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
39
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
9
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-20
0
0
0
39
0
0
0
0
0
0
16
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
63
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-16
11
0
0
32
0
0
0
-3
0
0
2
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
-17
-1
14
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
21
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
18
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
15
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
60
0
0
0
-29
0
0
0
0
0
0
65
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
0
0
0
42
0
0
0
0
0
0
20
0
0
0
0
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-32
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
15
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
108
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
-32
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-4
0
0
-31
0
0
0
0
0
0
22
0
0
0
-25
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-7
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
5
0
0
52
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
1
-16
0
0
0
-44
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
-28
0
8
0
0
0
0
0
23
3
0
-1
0
0
0
0
0
10
1
0
0
0
0
0
0
4
-1
7
61
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
-5
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
27
0
0
0
0
0
0
26
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
23
0
0
0
0
0
0
-63
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
20
25
0
0
0
0
0
0
10
0
-2
-94
0
0
0
0
0
0
90
-8
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
23
-39
0
21
0
-14
0
0
0
7
-3
-3
0
0
0
0
0
0
-1
-30
-4
1
-28
0
0
0
0
-24
-24
1
12
0
-13
0
0
0
10
-48
5
-5
0
0
0
0
0
-32
0
-8
15
0
-27
0
0
0
2
8
-4
0
0
-21
0
0
0
0
-2
-4
17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
7
0
0
-9
0
0
0
-31
4
34
50
0
3
0
0
0
0
-2
-2
31
0
2
0
0
0
0
-14
19
0
0
0
0
0
0
-5
-11
9
-7
0
-1
0
0
0
-2
0
-8
-14
0
0
0
0
0
0
88
14
0
0
6
0
0
0
0
2
0
16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
8
0
0
0
0
-6
0
-44
0
0
0
0
0
0
25
-14
0
0
1
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-35
28
0
0
0
0
0
0
24
2
-1
36
0
0
0
0
0
0
33
0
0
0
-52
0
0
0
0
0
-2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
8
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-11
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-48
0
0
0
-47
0
0
0
0
0
0
-25
0
0
0
0
0
0
-80
0
0
0
13
0
0
0
0
-11
-8
-12
5
5
0
0
0
0
-34
-19
18
0
-1
0
0
0
5
7
13
69
0
16
0
0
0
0
-28
3
0
0
35
0
0
0
0
2
0
59
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
92
0
0
0
10
0
0
0
0
1
0
21
0
0
0
0
0
3
-34
0
0
-2
3
0
0
0
-13
11
18
-2
5
40
0
0
0
0
-17
16
1
2
0
0
0
0
-58
56
20
-30
0
0
0
0
0
0
28
-34
0
0
-31
0
0
0
0
3
0
51
0
0
0
0
0
-5
0
0
14
0
0
0
0
0
-24
91
3
2
0
-24
0
0
0
-24
5
0
-19
0
2
0
0
0
-10
-19
-13
35
0
0
0
0
0
20
91
-18
-2
0
33
0
0
0
-5
84
45
0
1
0
0
0
0
3
58
-5
54
0
-24
0
0
0
-13
-40
-18
-4
2
-7
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
17
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
19
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
-18
0
0
0
0
-1
0
80
0
0
0
0
0
-6
-14
-2
0
0
44
0
0
0
-2
7
0
0
23
0
0
0
0
2
-49
-13
13
6
3
0
0
0
-13
-19
15
30
0
0
0
0
0
-3
-1
-10
-1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-2
0
0
0
0
0
1
-42
2
0
0
-33
0
0
0
-2
-2
3
-48
0
0
0
0
0
1
47
0
0
1
-12
0
0
4
0
2
-22
0
0
-20
0
0
0
11
-60
23
0
2
0
0
0
0
15
-53
-7
83
0
5
0
0
0
-1
-36
-75
-1
29
24
0
0
0
-23
0
0
7
0
0
0
0
0
0
0
0
50
0
0
0
0
0
-1
-21
6
0
0
29
0
0
0
0
0
0
-29
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-1
26
32
0
14
0
0
0
0
1
5
-17
18
7
3
0
0
0
5
51
4
0
0
10
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-43
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
8
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
58
0
0
0
0
0
0
-144
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
38
0
0
0
0
0
0
-24
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-2
80
2
0
0
-14
0
0
0
-13
0
0
-15
0
5
0
0
0
-1
-25
-11
0
5
0
0
0
0
0
15
50
0
0
2
0
0
0
-40
-22
0
0
-25
0
0
0
0
18
-17
12
17
0
2
0
0
0
0
60
5
0
0
38
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
87
-8
0
0
13
0
0
0
1
-15
0
-42
0
0
0
0
0
29
-26
-20
0
0
0
0
0
1
-10
-46
15
-1
-2
-12
0
0
0
-2
18
-2
0
2
13
0
0
0
-13
17
-2
19
0
13
0
0
0
-4
-62
73
1
0
42
0
0
0
-3
0
15
-9
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
8
22
0
0
0
-15
0
0
0
-6
-6
-7
19
0
2
0
0
0
0
2
-45
4
0
-2
0
0
1
-19
-24
20
-9
-22
-15
0
0
0
0
22
22
-55
0
0
0
0
0
-38
-11
-2
42
0
29
0
0
0
-3
72
-52
1
30
29
0
0
0
-2
17
19
-20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
3
0
53
0
0
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
13
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
34
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
10
0
0
22
0
0
0
0
0
0
20
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
24
0
0
0
27
0
0
0
0
0
0
37
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
6
0
0
0
0
0
8
0
-9
0
0
0
0
0
0
46
29
0
0
54
0
0
0
0
0
0
-1
0
0
0
0
0
-2
-13
0
3
0
0
0
0
0
4
-30
-6
0
6
42
0
0
2
38
-6
10
-7
1
-1
0
0
20
13
66
16
1
0
1
0
0
0
-25
19
20
0
-11
-14
0
0
0
-23
12
-46
-15
38
2
0
0
0
-11
57
12
0
0
-22
0
0
0
-2
58
1
35
8
-17
0
0
0
-21
-1
0
-48
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
1
-18
-1
0
0
31
0
0
0
22
0
-8
19
0
0
0
0
2
-36
35
-62
6
3
5
0
0
40
29
-24
48
-4
27
3
0
0
-1
-44
-40
23
-35
-19
5
0
0
0
8
12
26
29
0
56
0
0
0
52
-6
-44
6
36
8
0
0
0
-28
-5
6
-20
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-2
86
0
0
0
-4
0
0
0
0
-1
-1
44
0
0
0
0
0
0
-18
0
0
-3
3
0
0
0
8
27
36
0
-2
-6
0
0
0
-14
-26
-20
12
24
2
0
0
0
-12
5
-14
14
-1
0
0
0
0
1
-79
-9
0
15
33
0
0
0
0
-3
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
16
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
5
1
1
4
0
0
0
0
0
0
13
2
27
0
-11
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-38
0
0
0
-53
0
0
0
0
0
0
91
0
0
0
0
0
0
-56
2
0
0
0
0
0
0
0
-68
-14
0
0
7
0
0
0
11
-43
20
5
0
-2
0
0
0
-7
3
8
92
0
-8
0
0
0
2
30
-15
0
0
17
0
0
0
-1
-3
1
-34
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-7
6
-4
0
1
-21
0
0
0
2
-11
1
11
0
0
0
0
0
14
-10
-31
1
7
13
0
0
-2
11
57
26
2
0
-9
0
0
0
-36
9
42
-23
25
7
0
0
0
6
40
-43
-59
-7
33
0
0
0
-29
-78
49
-2
0
-2
0
0
0
-4
-13
-9
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
70
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
37
-1
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
13
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
17
-2
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
59
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
71
0
0
0
0
0
0
49
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
59
0
0
0
-49
0
0
0
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
32
0
0
0
40
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
24
0
0
0
1
0
0
72
0
0
0
0
0
0
19
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
45
7
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
26
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-41
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
4
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
72
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-14
0
0
0
-5
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
34
31
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
80
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-3
3
0
-5
0
6
0
0
0
0
43
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
-3
25
0
0
0
18
0
0
0
8
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
-2
0
0
24
0
0
0
0
-41
59
0
0
0
0
0
0
2
13
1
-32
0
0
0
0
0
0
40
22
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-45
0
0
0
0
0
0
16
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
42
24
0
0
0
0
0
0
0
-1
1
0
0
7
0
0
0
1
-14
-30
1
0
0
0
0
0
12
-3
0
0
0
0
0
0
0
5
-5
12
0
0
44
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-42
0
0
0
91
0
0
0
0
0
0
45
0
0
0
0
0
37
39
0
0
0
0
0
0
0
0
9
1
0
0
1
0
0
0
-17
13
33
0
1
0
0
0
0
-26
38
-27
-48
0
-1
0
0
0
0
29
29
0
0
6
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
48
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
-32
0
0
0
0
0
0
47
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
1
-12
-1
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
15
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
-10
15
7
0
0
0
0
0
0
2
3
9
-2
0
0
0
0
0
0
-69
7
0
0
2
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
8
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
51
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
27
-10
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-7
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-12
0
0
0
0
0
0
61
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-18
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
16
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
1
0
-12
0
0
0
0
2
0
33
-67
0
0
0
0
0
0
34
-2
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
-5
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-46
0
0
0
0
0
0
23
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
-5
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-38
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-13
0
0
0
0
0
0
-55
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-54
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
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
-46
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-28
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
0
0
0
77
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
26
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
61
0
0
0
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
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-57
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
72
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
47
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
-61
0
0
0
0
0
0
-49
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-67
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-53
0
0
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
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
64
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
-131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
51
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
38
0
0
0
0
0
0
52
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
93
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
11
0
0
0
0
0
0
32
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
2
0
0
0
-63
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
-26
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-18
0
0
0
-58
0
0
0
0
0
0
12
0
0
0
0
0
0
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
34
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
0
0
0
-72
0
0
0
0
0
0
68
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
77
0
0
0
0
0
0
12
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
28
0
0
0
-92
0
0
0
0
-4
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
51
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-50
0
0
0
0
0
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
2
0
0
0
0
0
0
49
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-16
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
40
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
15
0
0
0
20
0
0
0
0
0
0
-48
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-1
0
0
0
-45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-29
-5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
0
2
48
0
0
0
0
0
0
-22
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
108
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
12
0
0
0
6
0
0
0
-1
0
0
-9
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
42
0
0
0
0
0
1
-88
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
-11
-5
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-26
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
-38
0
0
0
0
0
0
30
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-16
0
0
0
65
0
0
0
0
0
0
-65
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-37
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
1
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-8
0
0
0
0
0
0
104
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-13
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
-27
0
0
0
0
0
0
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
-10
1
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
0
72
0
0
0
0
0
0
59
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
0
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
-5
0
0
0
0
0
0
-66
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
0
0
0
27
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
35
-6
0
0
19
0
0
0
0
11
0
-41
0
0
0
0
0
-3
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
4
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
25
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
27
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-18
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
1
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-44
0
0
0
76
0
0
0
0
-13
0
-5
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-1
7
0
0
-1
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-11
0
0
0
56
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-46
-12
0
0
-31
0
0
0
12
0
1
-78
0
0
0
0
0
-8
13
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
11
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
1
0
0
35
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
39
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
-16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-40
-8
0
0
24
0
0
0
0
0
-2
-59
0
0
0
0
0
2
-28
1
25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-9
-55
2
0
2
0
0
0
0
-28
0
0
-8
0
0
0
0
0
0
109
0
0
0
26
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
32
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
5
-3
0
-1
0
0
0
0
0
0
-25
10
0
0
-36
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
13
0
0
0
0
0
0
75
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
-16
0
0
0
0
0
0
-59
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
39
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
2
0
0
22
0
0
0
0
0
0
13
25
0
0
16
0
0
0
27
1
-40
-76
0
0
0
0
0
3
11
0
0
0
0
0
0
0
0
39
0
0
5
0
0
0
0
-26
-11
0
0
0
0
0
0
0
0
-10
0
-94
0
1
0
0
0
0
18
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
53
12
0
0
-6
0
0
0
-1
0
1
-46
0
0
0
0
0
20
87
1
0
0
0
0
0
0
0
15
0
1
0
0
0
0
0
-14
-30
-7
0
0
0
0
0
0
-5
-20
-2
25
0
26
0
0
0
0
12
12
0
0
39
0
0
0
0
0
0
-25
0
0
0
0
0
1
0
0
-17
0
0
0
0
0
0
52
0
0
0
-37
0
0
0
6
0
0
-22
0
0
0
0
0
2
27
-3
0
0
0
0
0
0
0
7
-15
60
0
20
0
0
0
1
59
-5
-6
0
0
0
0
0
1
0
-2
53
0
15
0
0
0
0
-41
-5
0
0
5
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-8
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
11
-4
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
14
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
17
10
0
0
20
0
0
0
-4
0
-1
8
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
1
-13
0
82
0
0
0
0
0
0
7
-8
0
0
-15
0
0
0
0
0
0
51
0
0
0
0
0
-14
2
7
27
0
0
0
0
0
-2
10
-63
24
0
-4
0
0
0
-12
0
-2
75
0
0
0
0
0
0
-51
-5
0
0
0
0
0
1
-39
26
-38
7
4
0
0
0
0
-4
-46
-9
0
0
0
0
0
0
-2
6
17
0
0
0
0
0
0
0
-60
-2
0
0
-15
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-47
0
0
0
-5
0
0
0
5
0
0
-70
0
0
0
0
0
5
22
-3
0
0
3
0
0
0
1
15
1
0
0
9
0
0
0
-1
44
-15
0
0
0
0
0
0
-65
5
3
-19
0
6
0
0
0
0
-15
-19
1
0
-19
0
0
0
0
0
-1
-53
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
-27
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
-20
0
0
0
0
0
0
-38
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-6
0
0
-12
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-21
37
0
0
-18
0
0
0
-8
0
0
49
0
0
0
0
0
9
-27
18
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-23
5
0
1
0
0
0
0
-1
0
2
-6
0
7
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
-17
0
0
0
0
0
0
-28
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-5
13
1
0
0
0
0
0
0
-1
-17
12
0
0
0
0
0
0
0
0
-4
-49
0
0
0
0
0
2
-44
0
0
0
46
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-31
-3
0
0
8
0
0
0
-12
1
0
4
0
5
0
0
0
0
8
3
0
0
0
0
0
0
3
28
-3
0
0
-1
0
0
0
0
18
3
0
0
0
0
0
0
4
-3
-3
-62
0
18
0
0
0
0
-35
6
2
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
58
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
30
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
55
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
0
-16
0
0
0
0
0
0
28
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
-54
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
53
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
65
0
0
0
0
0
0
-70
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
69
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-19
0
0
0
0
0
0
-23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
84
0
0
0
0
0
0
5
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
52
0
0
0
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
13
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-19
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
0
0
-31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
9
0
0
-32
0
0
0
0
0
0
20
0
0
0
0
0
0
48
22
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-50
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-3
0
0
0
0
0
0
69
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
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
-88
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
2
0
0
29
0
0
0
0
0
0
-44
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
2
43
0
0
0
75
0
0
0
0
0
0
-75
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
24
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
46
1
0
0
-53
0
0
0
-9
2
-1
-37
0
0
0
0
0
0
49
-10
0
0
0
0
0
0
0
9
-4
-1
-4
-4
0
0
0
0
4
6
0
0
1
0
0
0
-35
-20
-1
21
0
0
0
0
0
-4
-43
0
0
0
20
0
0
0
0
-13
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
45
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
-5
0
0
12
0
0
0
0
0
0
-1
-4
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
0
2
0
0
61
0
16
0
0
0
0
-39
2
0
16
0
0
0
0
-1
-1
3
0
0
0
0
0
0
4
1
49
0
0
0
0
0
0
-17
1
-3
16
0
0
0
0
0
0
-21
3
0
0
57
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
30
0
0
0
0
0
8
-12
16
0
0
-13
0
0
0
-82
0
8
0
0
15
0
0
0
0
-34
-9
0
44
5
0
0
0
72
31
41
-8
3
-8
0
0
0
2
-61
31
15
0
0
0
0
0
-5
16
-7
38
0
40
0
0
0
1
-52
38
-18
0
26
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
7
6
0
0
0
0
0
-14
3
-14
0
0
-4
0
0
0
-25
0
22
-34
0
1
0
0
0
3
-11
7
0
2
0
0
0
0
-5
6
-8
4
-22
6
0
0
0
0
-32
49
0
0
0
0
0
0
-30
-3
0
56
0
0
0
0
0
-2
-19
-4
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
25
0
0
0
-1
0
0
0
7
0
0
-13
0
0
0
0
0
0
39
-1
0
0
0
0
0
0
0
67
-2
0
0
-15
0
0
0
1
6
10
0
-3
0
0
0
0
-12
4
-1
-13
0
0
0
0
0
-8
-38
1
0
0
-9
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
29
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
0
0
-18
2
0
0
0
0
0
-1
1
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-42
0
0
0
24
0
0
0
15
32
0
-5
0
0
0
0
0
2
119
0
0
0
0
0
0
0
6
-7
19
0
24
0
0
0
0
-2
35
-6
0
-9
0
0
0
0
-1
-10
0
27
0
19
0
0
0
0
61
-14
0
0
25
0
0
0
-3
0
4
4
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
30
1
0
0
4
0
0
0
5
0
0
21
0
0
0
0
0
0
80
3
0
0
14
0
0
-18
-1
-17
-10
10
0
23
0
0
0
-11
6
-65
5
0
0
0
0
0
-54
8
37
12
0
2
0
0
0
28
-81
62
0
0
-3
0
0
0
-8
0
0
10
0
0
0
0
0
0
-3
0
-37
0
0
0
0
0
14
23
0
0
0
-38
0
0
0
37
-1
-2
-42
0
3
0
0
0
52
-33
-34
30
0
0
0
0
0
-32
-9
25
4
5
55
0
0
0
11
60
36
1
0
0
0
0
0
-17
-16
-5
80
0
65
0
0
0
0
48
-24
0
0
54
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-31
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
5
-10
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
-1
0
0
27
0
0
0
6
0
0
32
0
0
0
0
0
5
34
-19
3
5
18
0
0
0
15
-9
0
0
-6
-7
0
0
0
10
132
-33
0
-13
0
0
0
0
-38
-9
4
-10
8
-1
0
0
0
-8
10
-4
0
0
-3
0
0
0
1
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
11
4
0
0
0
46
0
0
0
1
0
-2
29
0
0
0
0
0
-12
-29
5
-5
41
5
0
0
5
2
55
-1
0
0
-21
0
0
0
-35
26
-17
0
0
0
0
0
0
52
-16
6
44
0
15
0
0
0
-2
31
-21
0
0
14
0
0
0
-2
0
0
17
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-2
-60
-15
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
64
0
0
0
0
0
0
0
1
7
0
-2
0
0
0
0
0
-18
17
-9
-2
0
2
0
0
0
-33
15
98
19
0
0
0
0
0
0
79
-11
0
0
24
0
0
0
0
4
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
53
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
0
0
0
0
0
0
0
-2
0
26
0
0
0
0
0
0
6
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
-35
0
0
0
0
0
0
-68
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
21
0
0
0
0
0
0
10
-5
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
0
0
0
0
41
0
0
0
19
-6
0
50
0
17
0
0
0
0
-11
21
0
0
0
0
0
0
28
7
11
10
5
1
0
0
0
26
-39
0
-5
-7
0
0
0
0
4
-41
18
41
0
76
0
0
0
-1
69
49
0
0
28
0
0
0
-2
7
0
-14
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
-13
0
2
29
0
0
0
0
0
1
41
13
0
0
0
0
0
-5
23
0
5
-18
-8
11
0
0
0
36
-35
9
0
-3
33
0
0
0
1
-5
12
-23
0
-47
0
0
0
-4
-70
22
4
-5
45
0
0
0
-3
-1
0
39
2
0
0
0
0
0
0
24
22
0
0
0
0
0
3
72
-2
0
0
7
0
0
0
16
-2
-2
4
0
-6
0
0
0
28
31
16
-9
0
22
0
0
-1
-36
-2
-52
13
-30
22
0
0
0
-8
-5
-23
8
0
0
0
0
0
-6
18
-14
-24
0
-20
0
0
0
-11
-28
8
-9
19
11
0
0
0
-14
10
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
33
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
-3
0
0
0
0
0
0
1
35
0
6
0
0
0
0
7
2
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
1
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
70
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-23
0
0
21
0
0
0
0
0
0
-16
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
20
0
0
0
-90
0
0
0
0
0
0
-38
0
0
0
0
0
3
31
4
0
0
0
0
0
0
2
-5
-5
1
0
0
0
0
0
-6
-27
15
-3
0
0
0
0
0
24
-20
0
-14
0
-14
0
0
0
0
-18
-36
0
0
13
0
0
0
0
0
0
37
0
0
0
0
0
0
-4
0
70
0
0
0
0
0
49
-1
11
0
0
24
0
0
0
-12
-1
5
2
-5
7
0
0
0
-41
-29
-27
18
-1
0
0
0
1
0
41
-9
12
2
12
0
0
0
12
6
-68
-13
-17
1
0
0
0
-108
28
9
0
0
-24
0
0
0
-14
-25
-31
11
0
32
0
0
0
-6
-3
0
34
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-4
18
5
0
0
48
0
0
1
-27
7
1
42
0
0
0
0
-1
-12
-74
59
-12
0
13
0
0
32
5
18
-64
-15
22
3
0
0
7
27
73
46
-31
-19
6
0
0
0
-2
-16
54
-34
0
-7
0
0
0
-3
-13
-66
-86
10
-17
0
0
0
-4
14
1
-51
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
67
0
0
0
22
0
0
0
1
-3
3
-20
0
0
0
0
0
1
51
-1
9
0
-1
0
0
0
16
53
-8
0
-4
5
0
0
0
-15
-51
-8
3
4
25
0
0
0
-24
8
-8
26
0
0
0
0
0
9
21
-36
0
8
22
0
0
0
0
-4
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-29
-8
0
-42
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
72
0
0
0
8
-1
0
-45
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-23
-3
0
4
0
0
0
0
5
2
-1
90
0
4
0
0
0
-3
4
0
0
17
-63
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
9
0
0
0
8
0
0
0
2
5
0
-43
27
29
0
0
0
6
35
15
0
0
0
0
0
0
55
51
-1
0
0
0
0
0
0
-13
35
-28
-1
0
-7
0
0
0
-39
20
26
20
1
-16
0
0
0
-39
-17
-18
0
3
53
0
0
0
-1
44
1
-6
0
0
0
0
0
0
0
0
-41
0
0
0
0
5
-3
-34
0
0
0
50
0
0
0
-27
-1
-2
63
0
47
0
0
0
5
2
-11
-4
0
-7
0
0
-4
56
24
5
1
-3
-10
0
0
1
-12
-52
13
-16
25
-4
0
0
0
20
15
-18
-4
0
52
0
0
0
-14
10
42
0
0
16
0
0
0
6
-8
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-20
0
0
0
-53
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
-91
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
2
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-52
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
30
0
0
0
0
0
0
14
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
14
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-9
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
14
-14
10
0
0
0
0
0
52
0
0
54
0
0
0
0
0
0
48
0
2
0
42
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
-15
0
0
0
-15
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
38
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
-3
-41
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
0
32
-8
0
0
0
0
0
0
-42
9
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
28
0
0
0
0
0
0
28
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
-7
-4
0
0
0
0
0
0
5
0
2
69
0
0
0
0
0
0
-6
9
0
0
48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
-10
0
0
0
-12
0
0
0
2
0
0
-29
0
0
0
0
0
9
35
1
3
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
-1
0
-5
24
0
5
0
0
0
0
-11
13
0
0
42
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-7
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
1
51
-1
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
35
2
8
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
40
30
0
0
59
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-11
0
0
0
9
0
0
0
0
0
0
77
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
19
0
0
0
25
0
0
0
6
33
4
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
41
-8
0
-1
-31
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
61
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
4
0
-18
46
0
0
0
0
0
0
4
6
0
0
50
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
61
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
32
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
-51
-5
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-23
0
0
0
-36
0
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
1
0
0
0
0
0
-10
11
0
0
0
0
0
0
0
2
15
7
0
0
-1
0
0
0
2
1
1
25
0
-5
0
0
0
0
-17
30
0
0
58
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
3
38
0
0
0
-2
0
0
0
-2
0
0
18
0
1
0
0
0
-1
-19
-3
5
3
0
0
0
1
-13
46
-1
0
0
8
0
0
0
-53
13
-22
24
0
-14
0
0
0
-42
-21
-1
-44
0
18
0
0
0
3
37
20
0
0
11
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-46
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-26
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
0
-31
0
0
0
0
0
0
-5
-5
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-79
0
0
0
11
0
0
0
-1
0
0
-9
0
4
0
0
0
5
-5
4
1
0
0
0
0
0
0
-6
41
0
0
2
0
0
0
33
9
-8
-1
9
0
0
0
0
-4
26
0
0
0
0
0
0
0
0
3
31
0
0
42
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
75
0
0
0
1
0
0
50
0
0
0
0
0
13
-4
0
0
0
0
0
0
1
39
-18
-7
-1
0
3
0
0
0
-34
25
-28
-3
-2
0
0
0
0
30
-11
11
-27
0
7
0
0
0
2
-15
-111
9
0
-24
0
0
0
23
7
0
-1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
25
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
6
33
0
0
0
0
0
0
0
-2
-1
0
0
0
13
0
0
0
6
36
1
0
-2
0
0
0
0
-8
-27
1
22
0
0
0
0
0
0
4
-4
0
0
29
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-54
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-31
0
0
0
54
0
0
0
0
0
0
-70
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
18
8
0
0
0
0
0
0
9
11
4
0
0
0
0
0
0
3
0
6
22
0
0
0
0
0
0
53
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
31
0
0
0
-8
0
0
0
-1
0
0
8
0
0
0
0
0
1
20
24
-4
0
0
0
0
1
-2
-14
-5
0
0
0
0
0
0
7
-11
28
-13
0
0
0
0
0
78
23
16
41
0
-3
0
0
0
-1
23
-15
0
0
44
0
0
0
0
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
0
-14
0
0
0
0
0
0
-93
0
0
0
0
0
0
14
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
55
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-68
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
59
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
9
3
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
9
0
0
0
0
0
0
32
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
-5
-23
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
0
0
0
0
0
7
0
0
2
0
0
0
0
0
0
-10
0
0
0
62
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
41
0
0
0
0
0
0
18
0
0
0
0
0
0
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
9
0
5
0
0
0
0
0
0
0
89
0
0
0
0
0
0
6
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
18
0
0
0
0
0
0
-46
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-4
0
0
-43
0
1
0
0
0
0
31
6
0
0
18
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
35
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
13
0
0
0
5
0
0
-10
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
14
0
0
17
0
0
0
0
0
0
23
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
4
0
0
0
0
0
0
35
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
0
0
0
0
0
0
0
0
0
-34
0
7
0
0
0
0
-21
5
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
17
-1
0
0
0
0
0
0
0
-9
0
52
0
-13
0
0
0
0
-45
1
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
39
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
6
0
0
0
74
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
19
0
0
0
33
0
0
0
0
0
0
-28
0
0
0
0
0
0
28
30
0
0
0
0
0
0
0
-1
-20
0
0
-4
0
0
0
-13
-9
-9
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-3
2
0
0
50
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
91
0
0
0
0
0
0
34
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
12
-8
94
-1
0
0
0
0
0
-11
2
-7
-11
0
0
0
0
0
0
23
-18
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-68
0
0
0
0
0
0
60
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-3
0
-29
0
0
0
0
0
0
-33
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
19
0
0
0
0
0
-4
21
0
0
0
0
0
0
34
-13
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
11
0
35
0
0
0
0
0
0
10
52
0
0
30
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
63
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-69
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-5
0
9
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
19
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
36
0
0
0
0
-5
0
30
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
14
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
34
0
0
0
0
0
0
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
50
0
0
0
53
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
12
0
0
0
1
0
0
32
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-18
7
0
0
0
0
0
0
0
0
0
4
0
-4
0
0
0
0
-2
0
0
0
58
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
32
0
0
0
-4
0
0
0
0
0
0
49
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-8
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-29
-28
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
-3
0
0
20
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
43
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
70
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
-1
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
4
60
0
0
0
0
0
0
-10
3
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
46
0
0
0
-7
0
0
0
0
0
0
-76
0
0
0
0
0
0
26
-7
0
0
0
0
0
0
3
2
0
2
0
19
0
0
0
3
32
10
0
0
0
0
0
0
-6
10
0
-25
0
0
0
0
0
0
21
27
0
0
19
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-59
0
0
0
18
0
0
0
-1
0
0
8
0
0
0
0
0
0
-14
11
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
29
-5
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
-6
0
0
0
7
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-23
0
0
0
-39
0
0
0
0
0
0
122
0
0
0
0
0
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
2
0
0
0
0
0
0
0
5
0
18
0
0
0
0
0
0
22
41
0
0
13
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
45
0
0
0
0
0
0
53
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-49
0
0
0
70
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-17
0
0
0
8
0
0
0
0
0
0
26
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
6
4
0
1
0
0
0
0
0
-29
-1
0
0
0
0
0
0
-1
12
0
15
0
1
0
0
0
0
-10
3
0
0
23
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
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
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
70
0
0
0
0
0
0
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-16
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-15
-1
0
0
58
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
-22
0
0
0
-1
0
0
-22
0
0
0
0
0
0
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
36
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
34
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
20
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
23
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
69
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-8
0
0
0
0
52
0
0
0
-1
5
-3
-58
0
0
0
0
0
2
4
-10
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-38
23
0
12
0
0
0
0
7
54
-5
24
0
0
0
0
0
0
33
-1
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
1
0
-9
39
0
0
0
0
0
30
-4
3
-1
0
0
0
0
0
-5
-4
28
0
1
0
0
0
0
-1
-14
28
0
0
0
0
0
0
-27
-13
25
51
0
-5
0
0
0
-6
-31
-5
0
0
84
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-44
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-19
0
0
0
0
0
0
-41
-11
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
0
6
9
0
6
0
0
0
0
0
-5
0
18
0
0
0
0
0
0
37
30
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
-2
0
0
14
0
10
0
0
0
0
-25
3
0
0
0
0
0
0
5
6
-7
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-20
6
0
0
28
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-1
52
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
19
0
0
0
18
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
51
0
0
0
3
0
1
27
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-39
0
0
0
-1
0
0
0
0
0
1
42
0
0
0
0
0
0
50
6
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-4
-19
0
0
0
0
0
-4
37
20
0
0
0
0
0
0
0
11
-4
0
0
0
0
0
0
0
27
-33
0
0
0
0
0
0
3
-2
0
-41
0
16
0
0
0
0
31
-4
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
-6
0
0
55
0
0
0
0
0
0
22
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
41
0
0
0
0
0
7
0
0
0
0
32
0
0
0
2
0
-7
-10
0
0
0
0
0
0
16
-14
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
0
30
5
0
-18
0
0
0
0
4
-1
0
0
0
11
0
0
0
0
-19
1
0
0
20
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
36
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
1
16
48
3
0
0
0
0
0
-4
9
14
-30
0
14
0
0
0
0
5
29
4
0
-10
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
21
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
1
15
0
-4
0
0
0
0
0
0
-10
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
1
55
0
0
0
0
0
0
24
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-18
0
0
36
0
0
0
0
0
1
-49
4
0
0
0
0
0
0
0
-21
-12
0
0
0
0
0
0
-1
18
7
0
6
0
0
0
0
-24
-1
-4
6
0
0
0
0
0
1
-34
-16
0
0
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
53
0
0
0
0
0
0
61
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
4
0
0
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
29
0
0
0
2
0
0
0
0
0
0
48
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
-40
0
0
0
2
0
0
64
0
0
0
0
0
0
-14
-23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
46
3
0
0
0
0
0
0
0
0
-1
-37
0
0
0
0
0
0
22
0
0
0
85
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-36
0
0
0
0
0
0
11
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
30
0
0
0
44
0
0
0
-9
0
0
-66
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-24
0
0
0
41
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
-6
0
0
21
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
8
-5
0
4
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
50
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
12
0
0
0
16
0
0
0
1
-1
0
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
29
21
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
2
0
0
-22
0
0
0
0
0
0
21
3
0
0
-29
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-6
38
0
9
0
6
0
0
0
9
0
0
41
0
0
0
0
0
0
28
-4
0
-1
-3
0
0
0
0
1
7
0
0
0
0
0
0
0
-27
9
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
34
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
-16
0
0
0
0
2
0
62
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-23
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-39
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
-3
0
0
0
-1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-4
0
0
0
46
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
-39
0
0
0
13
0
0
0
2
4
-4
5
0
0
0
0
0
16
-34
0
0
0
0
0
0
13
0
-3
-8
0
0
0
0
0
0
-5
-4
9
0
0
0
0
0
0
-15
2
0
55
0
-3
0
0
0
0
-39
2
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
18
0
0
0
-9
0
0
0
5
-3
15
8
0
0
0
0
0
0
29
8
0
0
9
0
0
0
0
-5
6
0
1
0
0
0
0
0
-5
3
0
-10
0
0
0
0
-22
0
0
-13
0
-1
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-4
2
47
0
0
0
0
0
-6
2
0
1
0
20
0
0
1
-15
12
16
57
-1
0
0
0
0
14
33
13
-11
0
-10
0
0
0
11
53
-12
-2
0
21
0
0
0
-1
-27
35
14
0
0
0
0
0
21
7
-2
-17
0
20
0
0
0
-7
7
-35
-1
0
36
0
0
0
-1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
36
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
37
0
0
0
0
0
0
31
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
29
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-15
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
39
0
0
0
0
0
0
13
0
0
0
21
0
0
0
-11
3
0
-11
0
0
0
0
0
-55
74
-4
26
0
0
0
0
0
-28
-24
0
0
0
0
0
0
0
-4
53
44
0
0
0
0
0
0
-10
0
-5
-8
0
5
0
0
0
0
-14
5
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
-59
0
0
0
-20
0
2
6
0
0
0
0
0
-7
49
-21
1
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
-5
-8
12
0
0
0
0
0
0
0
1
0
-1
0
-2
0
0
0
1
-62
1
0
0
20
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-33
0
0
0
-2
0
0
11
0
0
0
0
0
0
-44
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-22
0
0
0
7
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
53
0
0
0
0
0
0
40
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
36
0
0
0
34
0
0
0
7
0
0
-3
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
2
0
0
-18
0
0
0
0
0
0
-24
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
4
54
0
0
0
30
0
0
0
51
0
0
-3
0
0
0
0
0
-6
-6
23
-10
0
0
0
0
0
0
-46
-2
2
0
0
0
0
0
-9
14
0
0
0
0
0
0
0
-24
14
19
68
0
-4
0
0
0
0
-9
-23
0
0
50
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
-31
0
0
0
0
0
0
97
0
0
0
7
0
0
0
4
0
-5
-24
0
0
0
0
0
-14
19
20
-1
0
0
0
0
0
-8
15
14
0
0
2
0
0
0
-1
41
14
0
-3
2
0
0
0
6
-19
-2
10
0
-5
0
0
0
0
64
-33
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
-2
50
0
0
0
47
0
0
7
34
45
-15
5
0
0
0
0
0
13
-31
19
1
0
0
0
0
-4
-61
-1
-41
0
7
0
0
0
0
-15
5
-41
-26
0
0
0
0
0
26
-16
-1
2
0
-17
0
0
0
0
52
23
2
0
-9
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
57
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
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
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
63
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-11
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
52
0
0
0
-10
0
0
0
-3
8
0
42
0
0
0
0
0
0
27
-1
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
7
38
0
0
0
0
0
0
0
18
0
0
31
0
2
0
0
0
0
-5
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
11
20
35
0
0
0
0
0
5
95
0
0
0
-12
0
0
0
45
-1
7
21
0
-7
0
0
0
-31
31
-9
12
0
0
0
0
-8
-9
14
-11
0
0
0
0
0
0
5
20
37
1
0
0
0
0
0
2
19
28
0
7
-34
0
0
0
0
-19
-6
2
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
45
0
0
0
-20
0
0
0
19
0
2
69
0
0
0
0
0
-3
-30
-4
3
0
0
0
0
0
0
6
6
0
0
5
0
0
0
-20
-6
-29
-1
-12
0
0
0
0
-49
20
-1
4
0
4
0
0
0
0
4
2
5
0
-3
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
37
0
0
0
-47
0
0
0
-1
-6
-6
34
0
0
0
0
0
-4
9
-6
-1
0
0
0
0
0
0
20
30
0
0
0
0
0
0
-13
-25
19
4
0
0
0
0
0
-14
-2
-2
-3
0
0
0
0
0
0
8
-4
0
0
-18
0
0
0
2
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
64
0
0
0
0
0
0
38
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
-27
0
0
0
16
-4
0
48
0
0
0
0
0
0
-26
46
25
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-24
-1
0
0
0
0
0
0
0
-4
-1
63
0
0
0
0
0
0
8
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-46
0
0
0
-8
0
0
0
6
1
0
-53
0
0
0
0
0
-1
20
-2
0
0
0
0
0
0
-6
-4
31
0
18
0
0
0
0
42
-26
-17
0
0
5
0
0
0
6
8
6
24
0
0
0
0
0
1
-16
1
0
0
17
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
24
0
0
0
0
0
3
-15
0
1
0
-35
0
0
1
10
11
-2
-1
0
0
0
0
0
-11
14
3
0
0
1
0
0
0
-1
-27
45
0
0
0
0
0
0
-18
50
-25
9
-2
0
0
0
0
4
-4
7
18
0
-44
0
0
0
-10
45
-51
0
0
-24
0
0
0
0
0
-5
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
18
0
0
0
0
0
0
-21
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
8
0
0
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
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
34
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
37
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-33
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
82
0
0
0
0
0
0
36
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
-2
0
0
0
91
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
47
0
0
0
53
0
0
0
0
-1
9
79
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
-14
0
0
0
18
0
0
0
0
-1
0
-15
0
0
0
0
0
1
-63
10
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-23
1
0
0
3
0
0
0
0
0
0
-62
0
-8
0
0
0
0
-15
5
0
0
9
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-55
0
0
0
64
0
0
0
0
0
0
-38
0
0
0
0
0
1
17
-9
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-35
-2
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-48
0
0
0
-27
0
0
0
0
0
0
42
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
41
0
0
0
-5
0
0
0
5
0
0
-1
0
0
0
0
0
0
66
-2
0
0
0
0
0
0
1
27
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
7
0
0
0
62
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
-48
0
0
0
0
0
4
13
-5
4
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-63
0
-4
0
0
0
0
-17
0
0
0
97
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-42
0
0
0
0
0
0
-53
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-37
0
0
0
16
0
0
0
0
5
0
-34
0
0
0
0
0
8
27
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
27
-9
0
0
0
0
0
0
0
0
8
-1
3
0
0
0
0
0
-1
-10
0
0
0
50
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
31
-1
0
0
15
0
0
0
-8
0
0
46
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
3
-4
-4
0
0
0
0
0
0
-5
1
5
13
0
0
0
0
0
0
18
1
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-23
0
0
0
0
0
0
27
2
0
0
-22
0
0
0
0
0
1
-11
0
0
0
0
0
5
-51
-5
0
0
0
0
0
0
12
11
-1
-2
0
0
0
0
0
0
-32
1
0
0
0
0
0
0
3
-1
0
-4
0
9
0
0
0
0
-15
17
0
0
19
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-9
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
-16
0
0
0
0
0
0
35
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-7
-1
0
21
0
0
0
0
0
0
27
-3
0
0
49
0
0
0
0
0
0
-14
0
0
0
0
0
4
0
5
29
0
0
0
0
0
0
0
30
0
0
24
0
0
0
2
11
0
-22
0
0
0
0
0
22
-68
-5
0
0
0
0
0
0
0
-39
-3
0
0
0
0
0
0
-6
-11
-2
0
0
0
0
0
0
-2
33
-2
0
0
18
0
0
0
0
-13
0
0
0
27
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-44
0
0
0
50
0
0
0
0
0
0
-3
0
0
0
0
0
0
28
-1
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-6
1
-20
-30
0
9
0
0
0
0
15
-1
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
53
0
0
0
0
-1
0
-33
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
49
0
0
0
0
0
0
47
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
0
0
-49
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
17
0
0
0
-4
0
0
0
0
0
0
-35
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
-5
-2
6
92
0
0
0
0
0
0
67
-1
0
0
39
0
0
0
0
0
0
30
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
-8
0
0
0
-53
0
0
0
0
-1
0
-43
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-38
10
0
0
0
0
0
0
-10
-1
0
78
0
0
0
0
0
0
25
9
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
21
0
0
0
0
0
0
-15
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
72
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
-25
0
0
0
0
0
0
-9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
53
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
67
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
-15
0
0
0
0
0
9
-38
0
5
0
-17
0
0
0
0
1
22
33
0
-13
0
0
0
23
22
26
0
0
14
0
0
7
-1
-41
3
10
0
0
0
0
0
-8
24
3
35
0
0
0
0
0
17
23
8
30
0
107
0
0
23
-6
-3
-4
3
5
54
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
4
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-14
0
0
41
0
0
0
0
5
0
123
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
73
0
0
0
-11
0
0
0
8
0
4
29
0
0
0
0
0
2
-45
-13
12
0
0
0
0
0
0
-21
9
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
18
0
0
0
50
0
0
0
0
0
0
-54
0
0
0
0
0
0
1
13
35
0
0
0
0
0
13
13
8
0
0
-11
0
0
0
9
40
0
-51
0
0
0
0
0
-3
14
105
-30
0
5
0
0
0
5
23
34
1
0
0
0
0
0
-6
76
3
0
0
-1
0
0
0
35
12
-4
27
0
6
0
0
0
-9
72
13
0
0
13
0
0
0
-1
0
0
53
0
0
0
0
0
0
13
75
30
0
0
0
0
0
-12
61
-33
0
0
-23
0
0
0
32
12
23
0
0
0
0
0
0
40
-55
-7
-1
0
3
0
0
-1
12
10
-24
0
-4
0
0
0
0
5
-4
-6
-14
-3
0
0
0
0
-38
26
-2
36
0
7
0
0
-25
34
-5
18
9
0
9
0
0
0
3
13
0
27
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
27
0
0
0
-23
0
0
0
-2
0
0
-26
0
0
0
0
0
0
-31
-2
0
0
0
0
0
0
0
-5
34
0
0
0
0
0
0
0
-39
-7
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
-8
0
0
0
-63
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
34
0
0
0
0
0
0
-34
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
88
0
0
0
-14
0
0
0
0
0
0
71
0
0
0
0
0
0
-49
12
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
3
0
49
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
-8
0
0
0
0
0
2
14
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
34
0
0
0
0
0
4
55
41
0
0
30
0
0
0
77
0
17
-38
0
0
0
0
0
-18
0
7
-1
0
0
0
0
0
-38
-8
38
0
0
0
0
0
0
11
1
-2
-8
0
0
0
0
0
6
1
4
60
0
1
0
0
0
1
-12
0
0
0
21
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
-25
29
0
0
0
0
0
10
-57
15
0
0
24
0
0
0
6
16
22
40
0
14
0
0
0
-17
1
0
0
0
0
0
0
4
40
-50
33
-31
10
20
0
0
0
-9
15
-27
30
-7
0
0
0
2
-22
20
7
44
-5
-31
0
0
14
-29
-81
-21
-32
-5
50
0
0
0
0
0
0
-17
0
0
0
0
0
1
17
-5
-5
0
0
0
0
0
-32
77
28
0
0
-3
0
0
0
61
-23
40
10
0
2
0
0
0
11
22
50
0
0
19
0
0
0
-36
-74
-12
18
-1
12
0
0
5
-46
2
-10
-20
0
3
0
0
50
-32
-38
-17
62
22
43
0
0
-9
24
15
-15
0
-2
-3
0
0
0
-43
0
0
-11
0
0
0
0
0
0
-11
34
18
0
0
0
0
0
1
44
2
2
0
-19
0
0
0
-7
-14
7
44
0
-4
0
0
0
-35
72
-49
3
0
-51
0
0
-20
5
-19
31
2
0
-1
0
0
0
-38
20
24
9
0
0
0
0
0
36
6
0
-5
17
36
0
0
0
6
17
-43
-3
0
22
0
0
0
-64
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
38
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-7
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
-66
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
10
0
0
0
0
0
0
69
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
6
0
0
31
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
7
0
0
0
0
0
0
22
-1
17
0
0
0
0
0
0
-15
-29
0
0
43
0
0
0
8
3
-1
36
0
0
0
0
0
18
26
1
1
0
0
0
0
1
45
0
-1
0
0
0
0
0
0
7
-2
-1
0
0
0
0
0
3
47
6
-13
1
0
0
0
0
0
0
61
5
0
0
26
0
0
0
0
0
0
11
0
0
0
0
0
19
-43
49
-35
0
0
0
0
0
10
75
70
5
0
22
0
0
0
54
4
20
-7
0
9
0
0
0
-7
14
-14
79
16
30
0
0
-9
-7
35
0
2
5
0
0
0
0
-20
2
-20
-10
-25
63
0
0
-1
57
9
27
44
11
17
0
0
0
-13
-54
-29
14
17
11
0
0
-8
13
1
6
15
0
0
0
0
0
0
10
-8
-21
0
0
0
0
-2
-4
20
6
0
0
4
0
0
0
26
-11
-52
25
0
10
0
0
0
2
-12
46
2
-8
0
0
0
5
30
-41
17
0
0
-7
0
0
0
5
-14
-27
-1
7
0
0
0
-1
-85
13
8
-6
0
39
0
0
0
-37
-5
-49
17
-5
32
0
0
-1
-1
65
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
5
0
0
15
0
0
0
3
1
9
3
0
-3
0
0
0
0
1
0
-4
0
4
0
0
0
0
2
-2
16
0
0
0
0
0
-10
6
0
0
0
0
0
0
0
-8
5
-1
30
0
0
0
0
0
0
-47
3
0
0
29
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
16
0
0
0
0
0
0
86
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
43
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
75
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-40
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
41
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-3
0
86
0
0
0
0
0
0
16
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-3
-6
60
0
0
0
0
0
3
-71
-13
0
0
12
0
0
0
2
-22
-33
30
0
0
0
0
0
8
23
-15
0
0
4
0
0
0
21
-14
4
-7
0
0
0
0
0
-38
0
-39
0
0
0
0
0
0
15
29
0
20
-16
13
0
0
-15
-22
13
38
-45
0
28
0
0
0
0
0
0
24
0
0
0
0
0
43
-12
-26
60
0
0
0
0
0
-41
59
-43
-5
0
21
0
0
0
39
-5
12
22
0
-5
0
0
0
-8
28
14
-35
0
26
0
0
13
-73
-3
-25
-23
-14
5
0
0
0
2
39
0
-12
-2
24
0
0
0
-7
-31
15
25
-14
-44
0
0
5
11
27
-7
-3
2
27
0
0
0
-7
0
0
16
0
0
0
0
0
4
3
-45
39
0
0
0
0
-2
43
24
15
0
0
9
0
0
0
-69
10
-41
-17
0
-2
0
0
0
18
46
9
-7
8
28
0
0
1
10
0
30
26
-7
0
0
0
0
-29
7
-17
0
-7
27
0
0
0
-84
4
-39
5
18
-18
0
0
0
-29
12
6
8
0
16
0
0
0
24
0
0
-50
0
0
0
0
0
26
54
-8
-25
0
0
0
0
0
27
-24
-47
0
0
-1
0
0
0
26
9
-1
13
0
-4
0
0
0
43
-15
17
12
8
-24
0
0
-12
-8
-38
29
1
4
4
0
0
0
-4
-59
33
-10
0
6
0
0
2
42
40
-22
-10
13
-16
0
0
0
-29
-1
-54
-5
0
-1
0
0
-16
-11
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
24
0
0
0
0
0
0
34
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-29
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
33
0
0
0
-60
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
14
0
0
0
0
0
0
37
0
0
0
4
0
0
0
0
0
13
5
0
0
0
0
0
-6
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
7
0
-59
0
0
0
0
0
0
20
-3
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-20
-18
0
0
0
0
0
3
99
39
0
0
-1
0
0
0
53
7
-40
-32
0
47
0
0
0
-4
-1
5
0
0
28
0
0
0
0
-19
13
10
0
0
0
0
0
8
48
-6
-8
0
-1
0
0
0
-28
0
0
-33
0
1
0
0
0
0
-48
-3
-19
0
26
0
0
0
0
0
0
-27
0
0
0
0
0
2
70
3
-6
0
0
0
0
0
28
-28
-44
0
0
1
0
0
0
-8
21
-10
-5
0
16
0
0
0
29
4
-45
-5
0
-1
0
0
0
9
4
31
-11
6
-1
0
0
0
-21
22
45
-1
-4
0
0
0
0
-24
21
0
-15
-1
42
0
0
0
-14
14
-6
9
0
-25
0
0
0
2
0
0
1
0
0
0
0
0
-70
10
-81
-55
0
0
0
0
-2
62
39
-3
46
0
6
0
0
-1
32
15
-33
6
0
22
0
0
0
49
8
-54
-17
6
-2
0
0
-2
-16
38
-26
-36
1
-17
0
0
0
6
-42
15
30
17
3
0
0
0
-24
32
30
0
0
61
0
0
8
-26
-26
-11
-37
0
6
0
0
0
7
2
1
17
2
0
0
0
0
0
-4
0
-36
0
0
0
0
0
2
-38
-4
0
0
-41
0
0
0
31
12
-20
-85
0
0
0
0
0
9
-8
9
-5
0
-7
0
0
3
12
23
-13
-8
0
-5
0
0
0
4
79
2
30
8
5
0
0
0
-46
9
16
2
0
22
0
0
0
0
18
8
-8
-7
17
0
0
0
-17
5
0
27
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
-35
0
0
0
-8
0
-7
-6
0
0
0
0
0
23
56
0
0
0
0
0
0
2
1
19
-3
0
5
0
0
0
0
-38
-61
-7
0
0
0
0
0
0
4
17
14
38
0
0
0
0
0
0
-44
18
0
0
11
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-28
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
-39
0
0
0
0
0
0
13
0
0
0
-34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
-43
0
0
0
0
0
0
31
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
-28
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
40
2
0
0
0
0
0
4
15
15
0
0
10
0
0
0
3
0
4
96
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
1
-2
1
3
0
0
0
0
1
-1
-22
0
6
0
0
0
0
0
18
-1
10
40
0
34
0
0
-1
3
0
0
0
0
-27
0
0
0
0
0
0
-12
0
0
0
0
0
13
48
-18
-38
0
0
0
0
0
-45
45
4
0
0
4
0
0
0
-5
19
28
39
0
-13
0
0
0
14
5
-19
-3
0
1
0
0
0
17
-7
16
-21
1
5
0
0
0
0
-23
-34
0
-7
0
0
0
0
2
-42
27
-5
0
31
0
0
0
-18
16
0
0
4
5
0
0
0
-6
0
0
12
0
0
0
0
0
0
6
-5
-61
0
0
0
0
0
-52
24
-23
0
0
-46
0
0
0
13
29
-19
-44
0
-16
0
0
0
-43
-14
-19
-7
0
8
0
0
0
18
-33
64
0
0
4
0
0
0
7
48
-25
3
-1
1
0
0
0
0
-11
14
34
0
14
0
0
0
37
1
-5
0
8
6
0
0
0
-25
9
0
-20
0
0
0
0
0
4
18
21
-92
0
0
0
0
0
6
49
-3
0
0
-17
0
0
0
20
10
53
-31
1
-12
0
0
0
-17
32
-3
2
3
4
0
0
5
32
54
-23
4
-1
-6
0
0
0
-20
16
-6
24
-9
60
0
0
0
-47
-16
13
-12
17
-6
0
0
0
11
-93
-4
-1
0
14
0
0
0
4
-5
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-1
0
31
0
0
0
0
0
0
-13
0
0
0
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
18
0
0
0
0
0
8
-12
-2
0
0
-39
0
0
0
8
2
10
35
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
10
26
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
-24
0
6
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
0
0
0
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
63
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
9
0
0
0
67
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
1
0
0
41
0
0
0
0
0
0
23
12
0
0
46
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
16
0
0
0
0
0
1
31
-5
0
0
0
0
0
0
-12
8
0
17
0
0
0
0
0
0
-66
2
0
0
0
0
0
0
3
-31
3
-3
0
0
0
0
0
1
-22
-1
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-48
0
0
0
56
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-7
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
-52
-15
0
0
0
0
0
0
-2
0
0
59
0
0
0
0
0
-1
89
13
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
4
0
0
40
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
1
39
0
0
0
0
0
0
27
-32
0
0
0
0
0
0
15
9
0
-17
0
0
0
0
0
11
88
4
1
2
-6
0
0
0
2
54
-2
-4
0
24
0
0
0
-1
55
-4
0
2
0
0
0
0
37
0
7
39
0
0
0
0
0
0
-13
2
0
0
24
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-19
10
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
35
21
-6
0
0
7
0
0
0
0
7
7
-8
0
0
0
0
0
0
9
-18
0
12
0
0
0
0
25
0
0
-3
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
-40
3
0
0
0
0
0
0
3
-3
0
-19
0
0
0
0
0
16
116
-1
-3
0
0
0
0
0
-2
4
6
0
0
0
0
0
0
1
43
16
0
-2
0
0
0
0
-2
0
0
35
0
0
0
0
0
0
-5
0
0
0
41
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
5
8
28
0
0
0
0
0
0
40
2
8
40
0
0
0
0
0
25
0
2
0
0
0
0
0
0
1
11
0
3
0
0
0
0
0
0
11
-10
0
0
0
0
0
0
-1
0
2
-6
0
0
0
0
0
0
19
7
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
-18
0
55
-16
0
0
0
0
0
-6
35
-27
1
0
0
0
0
0
38
47
11
-6
0
0
0
0
0
44
-19
0
0
0
0
0
0
0
-15
3
16
40
0
0
0
0
0
-8
31
-28
42
47
0
0
0
0
-28
26
6
46
0
-10
0
0
0
-22
13
44
0
0
30
0
0
0
3
0
4
35
0
0
0
0
0
43
20
-40
41
0
0
0
0
0
-19
17
-6
1
0
0
0
0
-2
34
0
34
23
9
0
0
0
0
-19
52
-11
0
-2
14
0
0
-1
-14
-19
57
-43
9
-1
0
0
7
16
32
5
-1
-28
44
0
0
-19
-4
-11
-31
7
-10
-9
0
0
0
23
-30
8
9
7
11
0
0
3
4
-5
-1
-44
0
0
0
0
0
-4
9
8
53
0
0
0
0
0
-3
53
-16
0
0
0
0
0
0
9
4
6
-12
0
0
0
0
0
-10
30
32
-1
0
9
0
0
0
3
-7
-7
11
0
0
0
0
0
0
-19
-33
7
1
0
0
0
0
11
-14
9
-52
0
2
0
0
0
-2
4
14
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
-1
0
0
20
0
0
0
0
0
0
7
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-23
-3
0
0
0
0
0
0
0
-20
0
25
0
0
0
0
0
-4
6
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
63
5
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-38
2
0
0
35
0
0
0
0
0
0
17
0
0
0
0
0
-13
45
18
-2
0
0
0
0
0
19
-3
-11
1
0
0
0
0
0
0
41
-34
24
-14
0
0
0
0
38
37
29
68
0
30
0
0
0
-28
25
0
13
-2
0
0
0
0
-27
25
-15
20
10
14
0
0
0
2
10
29
44
0
-3
0
0
0
-27
64
66
15
0
12
0
0
0
2
0
0
13
0
0
0
0
0
-9
16
-21
-14
0
0
0
0
0
-5
-32
-10
0
0
0
0
0
0
-19
31
8
27
0
0
0
0
0
61
-23
67
8
0
0
0
0
0
-14
1
17
0
0
-8
0
0
0
-32
-2
39
4
-22
0
0
0
0
18
-6
13
-33
0
8
0
0
0
43
63
51
-8
0
15
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
28
-7
0
0
0
0
0
0
2
1
2
5
0
0
0
0
0
2
29
-5
-1
0
5
0
0
0
-2
-14
2
8
0
0
0
0
0
2
-14
11
0
-1
3
0
0
0
-13
5
0
-6
0
0
0
0
0
0
48
-14
0
0
-36
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
3
-26
10
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
0
-2
-7
3
-11
0
0
0
0
0
-4
41
36
0
0
0
0
0
0
-1
0
23
0
0
0
0
0
0
-9
-1
13
42
0
7
0
0
0
19
-12
5
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
-10
9
12
-31
0
0
0
0
0
-15
47
-30
0
0
0
0
0
0
-14
5
21
-14
0
0
0
0
0
-18
2
-2
17
0
0
0
0
-1
-2
4
36
-14
0
0
0
0
0
32
70
0
1
19
8
0
0
0
-17
-52
-9
1
0
5
0
0
0
-3
14
17
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
-37
19
38
-31
0
0
0
0
-20
-30
46
57
9
0
0
0
0
-1
-20
45
82
-34
5
0
0
0
-1
-87
22
28
2
0
7
0
0
0
-29
78
-15
-6
2
0
0
0
0
-7
41
-52
0
-8
14
0
0
0
-17
-18
-18
34
0
5
0
0
0
17
-48
-6
1
0
23
0
0
0
-8
0
1
-67
0
0
0
0
0
2
-1
88
-31
0
0
0
0
0
11
35
10
0
0
0
0
0
4
-3
0
-15
-16
1
0
0
0
0
-17
108
65
23
0
0
0
0
0
-6
-26
-18
8
0
-1
0
0
0
-15
61
8
6
0
0
0
0
0
-22
-18
0
0
0
0
0
0
0
-29
15
-1
0
3
-43
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
13
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
49
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
3
5
0
0
3
0
0
0
0
-32
0
0
0
0
0
0
0
12
-20
0
10
0
0
0
0
0
6
0
0
32
0
0
0
0
0
0
7
4
0
0
66
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
-30
0
0
0
0
0
0
-29
-23
0
0
0
0
0
0
2
1
-8
-30
0
0
0
0
0
5
-66
3
0
0
0
0
0
-1
8
-28
7
15
0
0
0
0
0
7
17
-33
12
1
0
0
0
0
-14
-6
0
18
0
25
0
0
0
0
-10
2
-5
0
-5
0
0
0
3
0
0
13
0
0
0
0
0
12
-29
17
-8
0
0
0
0
0
6
22
18
-4
0
0
0
0
0
-27
56
-6
21
10
0
0
0
0
22
-54
42
-6
0
0
0
0
0
-4
-35
-10
54
0
12
0
0
0
23
-16
-36
32
1
0
0
0
0
0
-25
-43
0
0
-22
0
0
0
1
-30
32
2
0
-5
0
0
0
0
0
0
21
1
0
0
0
0
0
0
0
-58
0
0
0
0
0
1
44
7
0
0
0
0
0
18
1
0
-6
-11
0
0
0
0
0
30
52
0
0
0
0
0
0
1
-6
16
-1
0
0
0
0
0
0
9
5
-32
-5
0
0
0
0
0
13
-1
22
0
0
-1
0
0
0
0
37
5
-4
0
-43
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
9
-4
0
-37
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
-11
-15
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-7
0
0
0
65
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-10
0
0
10
0
0
0
0
0
4
0
1
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
1
2
1
29
0
0
0
0
0
2
-13
21
0
0
0
0
0
0
-3
1
-2
31
0
0
0
0
0
-9
37
59
10
0
0
0
0
0
0
25
1
0
0
0
0
0
0
24
-14
-1
0
0
0
0
0
0
-10
-2
-9
-29
0
2
0
0
0
14
-26
0
0
0
50
0
0
0
-1
0
0
-26
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
-9
-20
20
0
0
0
0
0
0
4
36
-5
5
0
0
0
0
0
-5
5
-4
0
0
0
0
0
0
-16
68
5
15
0
0
0
0
0
14
46
8
8
1
-1
0
0
0
10
15
4
31
4
0
0
0
0
9
-51
-13
0
0
-32
0
0
0
0
0
0
-17
0
0
0
0
0
0
-15
61
-40
0
0
0
0
0
-1
-26
-18
0
0
0
0
0
0
-13
42
0
-34
0
0
0
0
0
16
-42
18
2
0
-4
0
0
0
-1
-28
0
3
10
0
0
0
0
4
23
33
-1
8
4
0
0
0
17
-9
8
30
-1
2
0
0
0
-21
16
25
-2
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
-34
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
51
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
33
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
2
21
0
0
0
0
0
0
16
2
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
0
10
0
0
0
34
0
0
0
0
0
0
-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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-39
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
4
0
0
0
0
0
0
-56
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
16
17
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
33
0
0
0
-9
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-3
-6
0
0
0
0
7
1
0
22
0
0
0
0
0
31
-20
8
0
0
0
0
0
0
1
0
0
10
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
18
7
0
0
39
0
0
0
1
0
0
-45
0
0
0
0
0
0
-2
-1
0
1
0
0
0
0
0
16
1
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-45
1
0
0
103
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
47
0
0
0
-1
0
0
-25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
3
0
0
-19
0
0
0
0
0
0
-4
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
75
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
45
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-23
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
9
0
-5
0
0
0
0
52
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
37
0
0
0
-4
0
-1
-18
0
-1
0
0
0
0
46
-1
0
0
0
0
0
0
0
-1
0
0
9
4
0
0
0
13
0
19
0
0
0
0
0
0
-2
0
0
26
0
0
0
0
0
0
57
-18
0
0
35
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
57
0
0
0
0
0
-3
27
0
0
0
41
0
0
0
2
0
0
44
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
17
2
0
0
-7
0
0
0
0
-16
1
0
0
0
0
0
0
1
1
0
23
0
0
0
0
0
0
16
-1
0
0
15
0
0
0
0
0
4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
39
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
20
0
0
0
-88
0
0
0
0
0
0
-35
0
1
0
0
0
0
-11
-3
0
0
0
0
0
0
0
-10
0
0
-5
0
0
0
0
3
6
-2
0
0
0
0
0
0
26
77
0
83
0
3
0
0
0
0
51
11
0
0
87
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
-35
0
0
0
0
10
0
31
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-20
13
0
0
24
0
0
0
-17
16
-3
-23
0
6
0
0
0
23
3
0
6
0
0
0
0
0
1
40
-29
0
0
67
0
0
0
1
19
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
80
0
0
0
0
0
0
15
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-5
0
6
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-9
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-69
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-36
0
0
0
51
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-5
42
5
0
0
0
0
0
6
-2
0
0
-13
0
0
0
0
0
-5
0
-24
0
0
0
0
0
0
-31
-3
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
-36
0
0
0
1
0
0
-74
0
0
0
0
0
-8
-14
-1
0
0
0
0
0
-1
74
4
0
1
13
0
0
0
0
10
113
-26
0
-14
0
0
0
0
10
9
20
81
0
-4
0
0
0
0
-24
-3
0
0
55
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-24
16
0
0
0
90
0
0
0
-5
0
0
-63
0
0
0
0
0
-1
-4
5
0
0
0
0
0
0
5
-5
22
0
-3
8
0
0
0
31
7
-13
-10
0
0
0
0
0
-31
-36
10
1
0
2
0
0
0
0
-30
-27
-2
0
45
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
79
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
1
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
11
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
30
0
0
0
-20
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
6
0
0
71
0
0
0
0
0
0
-33
30
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
26
1
0
0
29
0
0
0
4
0
0
49
0
0
0
0
0
-1
33
-20
0
0
0
0
0
0
54
-11
4
1
0
-8
0
0
0
12
9
-36
-4
4
0
0
0
0
2
-18
-3
0
0
11
0
0
0
0
-14
4
1
0
25
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
16
25
-8
0
0
43
0
0
0
29
0
3
-32
0
0
0
0
0
13
-13
25
-1
0
0
0
0
-11
-5
43
12
-4
24
0
0
0
0
-54
-58
68
10
52
0
0
0
0
35
7
-18
-17
0
-21
0
0
0
-5
12
72
0
0
36
0
0
0
11
28
-1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
28
0
0
0
0
0
4
-19
0
0
0
0
0
11
13
0
0
0
0
0
0
0
0
5
1
0
-5
0
0
0
0
-1
-7
5
0
0
0
0
0
0
5
23
-2
-60
0
0
0
0
0
0
-12
11
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
22
0
12
0
0
0
0
30
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
16
0
0
0
2
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-7
49
12
0
0
0
0
0
0
-1
-13
9
45
1
10
0
0
0
-1
43
1
0
0
45
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
71
0
0
0
-26
0
0
0
-1
7
0
29
0
0
0
0
0
21
13
0
0
0
0
0
0
0
4
25
3
0
2
0
0
0
0
3
2
-46
-7
-5
0
0
0
0
13
-11
-4
-10
0
-5
0
0
0
-1
23
-10
0
0
39
0
0
0
-1
16
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
-16
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
8
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
18
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
41
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
45
5
0
0
-17
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
24
0
0
0
-21
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
38
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-100
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
56
0
0
0
0
0
0
-5
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
15
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
25
-9
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
57
-2
0
0
0
0
0
0
0
0
1
56
0
0
0
0
0
0
106
9
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
19
-5
0
0
0
0
0
0
5
5
0
2
0
0
0
0
0
0
-13
-12
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
43
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-45
0
0
0
0
0
0
32
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
20
13
0
0
0
0
0
0
1
5
0
77
0
0
0
0
0
0
-15
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
15
0
0
0
0
0
0
114
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
8
0
0
0
25
0
0
0
0
31
18
5
0
-2
0
0
0
-30
-7
0
50
0
0
0
0
0
0
-29
-8
0
0
48
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
-44
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-1
0
0
0
0
0
3
1
4
14
0
0
0
0
0
0
17
16
0
0
41
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
40
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
21
0
0
0
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
65
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
2
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
23
0
0
0
0
0
0
91
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
10
-62
0
0
2
0
0
0
0
4
1
0
45
0
0
0
0
0
0
21
38
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
22
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
-2
0
3
0
0
0
0
0
2
-1
42
0
0
0
0
0
-3
-16
-1
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
14
0
0
0
-24
0
0
0
1
0
0
62
0
0
0
0
0
-8
-20
0
0
0
0
0
0
0
0
-4
-2
2
0
27
0
0
0
31
-14
57
0
0
0
0
0
0
-8
25
0
74
0
-2
0
0
0
0
-40
-3
0
0
16
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-44
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
24
0
0
0
0
0
0
-5
0
0
-26
0
0
0
0
0
0
-9
-2
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-4
-20
0
0
0
23
0
0
0
0
0
0
-28
0
0
0
0
0
18
-33
0
6
0
0
0
0
0
3
27
5
0
0
0
0
0
0
47
-22
5
-2
21
0
0
0
0
7
-11
0
0
0
8
0
0
0
-4
31
-33
0
0
43
0
0
0
0
2
0
11
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
-2
0
0
53
0
0
0
0
0
0
32
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
47
-16
7
8
-6
-25
0
0
0
-13
61
58
12
-1
8
0
0
0
53
-19
-21
-14
0
-9
0
0
0
-1
27
32
-4
0
-11
0
0
0
-2
6
0
43
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
32
0
0
0
97
0
0
0
0
0
0
-44
0
0
0
0
0
1
21
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
-1
-68
0
0
0
0
0
0
-9
-5
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-73
0
1
0
0
0
0
42
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
36
0
0
0
20
0
0
0
2
0
0
37
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
-12
43
8
0
0
0
0
0
0
1
-1
0
27
0
-2
0
0
0
0
35
1
0
0
35
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
-1
0
0
-67
0
0
0
0
0
0
32
-7
0
0
0
0
0
0
1
24
5
0
0
0
0
0
0
3
65
3
0
0
0
0
0
0
13
31
1
111
-1
1
0
0
0
2
52
-2
0
0
32
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
9
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
31
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
5
3
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
-42
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
24
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
-10
4
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
28
0
0
0
-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
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
-5
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-2
18
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
28
0
0
0
0
0
0
51
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
51
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
12
-5
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
0
56
0
0
0
0
0
0
56
5
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
60
0
0
0
0
0
0
-31
-6
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
44
-13
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
-44
0
0
0
0
0
0
-45
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
-10
0
0
0
2
0
0
0
-4
16
25
-14
0
0
0
0
0
-15
15
14
30
0
0
0
0
0
0
-17
-4
17
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-44
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-8
0
46
0
0
0
0
0
0
38
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
82
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
4
-2
0
-50
0
-1
0
0
0
0
26
-8
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
71
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
30
0
0
0
15
0
0
0
0
0
0
52
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
12
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
-6
0
0
0
-50
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
30
0
0
0
-72
0
0
0
0
0
0
-22
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
2
-42
0
0
0
-39
0
0
0
0
0
0
16
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
25
0
0
0
103
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-30
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
0
0
-8
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
-14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
43
0
0
0
0
0
0
-14
0
0
0
0
0
23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-24
1
0
0
-12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
76
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
17
0
0
0
15
0
0
0
0
0
0
-41
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-12
0
18
0
0
0
0
0
0
6
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
26
0
0
0
0
0
0
14
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
25
0
0
0
11
0
0
0
0
0
0
-27
0
0
0
0
0
-8
-51
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-20
-3
0
0
0
0
0
0
0
-4
0
24
0
0
0
0
0
0
7
3
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
69
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
38
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
-45
0
0
0
0
0
0
64
0
0
0
0
0
0
34
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-6
-1
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-41
0
0
0
23
0
0
0
0
0
0
47
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
-29
36
1
-10
0
0
0
0
-18
-1
-1
-87
0
0
0
0
0
0
-12
58
0
0
65
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
14
0
0
0
0
0
0
-69
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-5
0
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
19
0
0
0
52
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
85
0
0
0
64
0
0
0
0
0
0
-14
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
9
0
0
0
37
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
-40
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
4
0
0
0
0
0
0
0
0
0
-28
0
9
0
0
0
1
35
0
0
0
86
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
10
0
0
0
0
0
0
41
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
-3
0
0
0
1
0
0
0
1
-3
-3
15
0
0
0
0
0
0
49
1
0
0
39
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-15
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
52
1
0
0
-38
0
0
0
2
0
-2
66
0
0
0
0
0
0
-43
-2
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
38
0
0
0
68
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
52
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
6
0
0
-60
0
0
0
-3
0
0
-16
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
43
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-10
0
0
0
78
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
-9
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-21
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
-4
0
0
0
0
0
0
-58
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
4
0
0
-38
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-16
0
0
0
11
0
-2
21
0
0
0
0
0
0
-59
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-19
6
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
1
28
0
0
0
79
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
30
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
18
0
0
0
-59
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
-21
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-22
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
22
0
0
0
19
0
0
-22
0
0
0
0
0
0
44
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
40
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
-52
0
0
0
-7
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
-37
0
0
0
0
0
0
-69
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
28
-40
0
0
57
0
0
0
-7
0
3
36
0
0
0
0
0
0
-29
10
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
38
8
0
0
0
0
0
0
24
0
0
10
0
0
0
0
0
0
21
51
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
12
0
0
0
0
0
0
-54
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-55
-13
0
0
-30
0
0
0
9
0
-3
61
0
0
0
0
0
2
-4
-7
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
-17
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-1
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-41
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
1
-41
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-37
80
0
0
0
0
0
0
-4
17
45
-38
0
7
0
0
0
0
-16
-8
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
40
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-2
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
36
0
0
0
0
0
0
-73
0
0
0
0
0
0
14
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
38
0
0
0
0
0
0
31
0
0
0
0
0
0
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
19
-1
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
43
9
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
-7
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
45
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
7
0
0
0
-52
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
45
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
1
0
0
-13
0
0
0
-9
0
0
97
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-19
-2
0
0
0
0
0
0
0
21
-13
0
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
44
0
0
0
58
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
56
0
0
0
0
0
0
-32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
-41
0
0
0
1
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
30
0
0
0
30
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
0
0
0
0
0
0
-1
0
0
33
0
0
0
0
0
0
10
0
0
0
-19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-33
1
1
0
37
0
0
0
16
1
0
113
0
0
0
0
0
9
8
-11
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
5
0
0
66
0
0
0
0
0
0
-9
13
0
0
-9
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
24
0
0
0
-1
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-34
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
78
0
0
0
-16
0
0
0
1
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
43
0
0
0
2
0
0
0
-7
-3
0
-32
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
1
-1
-4
3
0
0
0
0
0
4
-25
0
65
0
2
0
0
0
0
9
1
0
0
26
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-40
5
0
0
61
0
0
0
0
0
0
-22
0
0
0
0
0
0
37
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
8
0
0
32
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
47
0
0
0
7
0
0
0
-30
-4
0
33
0
0
0
0
0
2
34
7
0
0
0
0
0
0
2
-11
9
0
22
0
0
0
0
-1
-24
-31
-18
0
0
0
0
0
18
2
32
-3
0
0
0
0
0
-2
33
27
0
0
28
0
0
0
0
0
14
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
55
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
76
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
88
0
0
0
0
0
0
70
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
125
0
0
0
0
0
0
21
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
-1
0
0
30
0
0
0
-3
7
0
0
0
0
0
0
0
0
35
-6
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
4
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
49
0
-10
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
40
-3
8
0
0
0
0
0
3
0
2
23
0
0
0
0
0
0
-32
-1
0
1
-11
0
0
0
-7
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
1
0
0
42
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-1
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
10
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
9
0
0
0
0
0
0
70
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
23
0
0
0
-4
0
0
-21
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-4
-13
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
29
-1
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
40
3
0
0
-8
0
0
0
-8
5
0
-20
0
0
0
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
-23
0
0
2
0
0
0
-14
0
0
56
0
0
0
0
0
0
2
39
0
0
31
0
0
0
-8
0
0
-7
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-3
-4
3
0
0
70
0
0
0
-4
8
0
-43
0
0
0
0
0
-7
2
4
6
0
0
0
0
0
18
32
82
0
0
0
0
0
0
0
33
2
2
0
0
0
0
0
44
-5
2
-36
0
0
0
0
0
2
-27
15
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-25
0
0
0
0
0
0
61
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-59
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
15
0
0
0
0
0
0
17
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
8
-3
0
0
-42
0
0
0
-9
1
0
37
0
-31
0
0
0
-1
64
41
-4
0
0
0
0
0
0
10
28
1
0
0
0
0
0
1
-37
-4
1
0
0
0
0
0
1
20
-5
0
0
0
0
0
0
0
-12
8
0
0
23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-9
0
0
0
33
0
0
0
4
0
0
24
0
0
0
0
0
7
-9
15
0
0
0
0
0
0
-1
-10
4
0
0
19
0
0
0
7
-32
-52
4
1
0
0
0
0
-30
-18
1
-42
0
0
0
0
0
0
13
-22
0
0
49
0
0
0
5
-15
0
-8
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-23
0
0
0
-45
0
0
0
2
0
0
-24
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
7
0
0
12
0
0
0
0
0
0
-18
-1
0
0
34
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-42
0
0
0
32
0
0
0
0
-1
0
28
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
42
0
0
0
86
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
61
0
4
0
20
0
0
0
1
0
0
9
0
-1
0
0
0
3
-26
-4
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-10
-9
0
0
0
0
0
0
-15
3
-5
29
0
0
0
0
0
0
-32
18
0
0
35
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
-25
0
0
2
33
3
0
-96
0
0
0
0
0
0
-32
-4
0
0
0
0
0
0
0
-3
20
0
0
0
0
0
0
-3
18
-3
7
0
0
0
0
0
15
23
0
15
0
0
0
0
0
0
-4
-2
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
64
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
7
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-23
0
0
0
3
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
19
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
11
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
36
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
142
0
0
0
1
0
0
0
0
0
0
0
0
0
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
48
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-16
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-12
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-18
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
6
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
18
-6
0
29
0
0
0
0
-14
0
10
-7
0
0
0
0
0
0
-28
2
0
0
54
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-35
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
32
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
0
0
-34
0
0
0
0
0
0
2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-42
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-9
0
0
0
11
0
0
0
0
0
0
41
0
0
0
0
0
0
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
32
-19
0
0
42
0
0
0
0
-2
1
56
0
1
0
0
0
-1
21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
28
0
0
0
44
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
21
4
0
0
3
0
0
0
-1
-3
-1
74
0
1
0
0
0
1
-45
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-17
0
0
0
88
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
27
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-38
1
0
0
-22
0
0
0
6
0
0
52
0
0
0
0
0
-5
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
54
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
36
1
2
0
25
0
0
0
37
-3
0
37
0
0
0
0
0
31
48
-8
-10
0
0
0
0
0
-2
4
5
0
0
0
0
0
0
0
-61
8
0
0
0
0
0
0
-4
-3
0
-14
0
0
0
0
0
0
10
-2
0
0
5
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
-44
25
0
0
-14
0
0
0
-19
-1
1
0
0
4
0
0
0
0
31
9
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
14
17
8
1
0
0
0
0
0
0
0
0
44
0
0
0
0
0
2
54
0
0
0
57
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
42
0
0
0
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
95
0
0
0
-62
0
0
0
-1
1
0
11
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
-7
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
41
0
0
0
77
0
0
0
0
0
0
21
0
0
0
0
0
1
0
0
29
0
0
0
0
0
0
-115
-23
0
0
20
0
0
0
-2
54
-8
40
0
4
0
0
0
8
-14
0
0
0
0
0
0
-6
0
-14
-5
0
-14
5
0
0
0
15
96
2
1
0
0
0
0
3
9
9
21
-42
0
15
0
0
0
0
-31
-6
-5
0
35
0
0
0
-6
0
0
16
0
0
0
0
0
0
16
0
-8
0
0
0
0
0
-1
-4
-3
0
0
-1
0
0
0
28
42
-8
21
0
-1
0
0
0
-8
25
4
0
0
-4
0
0
0
1
-24
4
-12
0
0
0
0
0
-4
65
22
0
0
0
0
0
0
-13
-16
9
48
0
0
0
0
0
19
18
46
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
32
0
0
0
-58
0
0
0
-2
0
0
-27
0
0
0
0
0
0
28
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
9
0
0
-81
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
42
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
43
0
0
0
0
0
0
10
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
3
0
0
60
0
0
0
0
0
0
-45
0
0
0
0
0
0
30
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
25
0
0
0
19
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
15
-3
0
0
54
0
0
0
-40
3
1
37
0
0
0
0
0
-2
-27
89
14
0
0
0
0
0
15
-12
0
0
0
0
0
0
0
-16
4
-12
-4
-1
0
0
0
0
-13
-5
-1
11
0
0
0
0
0
0
2
-52
0
0
-24
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
-6
0
0
0
18
0
0
0
1
1
0
-54
0
-4
0
0
0
-6
21
27
-2
0
-6
0
0
0
2
8
-6
0
0
-3
0
0
0
-8
46
30
4
0
0
0
0
0
6
2
0
-11
0
0
0
0
0
0
15
-2
0
0
7
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
19
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
0
0
0
-2
0
0
0
47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
17
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
66
0
0
0
2
0
0
0
-3
0
0
-18
0
0
0
0
0
0
-50
28
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-24
0
0
0
56
0
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
-9
0
0
0
0
0
-5
-24
13
6
0
26
0
0
0
-12
0
0
43
0
0
0
0
0
7
-7
-34
0
0
0
0
0
0
0
-10
6
-1
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
-8
0
5
45
0
16
0
0
0
0
76
3
0
0
8
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
60
0
0
0
0
0
0
9
-25
0
0
-22
0
0
0
2
-25
-6
57
0
0
0
0
0
-6
37
18
3
0
0
0
0
0
0
19
0
-5
0
0
0
0
0
0
-6
-28
0
0
5
0
0
0
-8
4
0
28
0
0
0
0
0
0
-26
47
0
0
4
0
0
0
1
0
0
26
0
0
0
0
0
0
-4
0
-33
0
0
0
0
0
0
-38
-17
0
0
-15
0
0
0
-25
-1
20
-23
0
0
0
0
0
11
26
-5
0
0
0
0
0
0
0
-40
5
-10
0
-1
0
0
0
-12
-1
-5
-5
0
0
0
0
0
6
0
0
59
0
8
0
0
0
-6
-13
34
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
57
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-29
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
-28
0
0
39
0
0
0
0
0
0
55
0
0
0
0
0
0
47
-1
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
-35
1
0
2
0
0
0
0
0
0
-9
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
-12
-26
-3
33
0
0
0
0
0
-12
29
38
-2
0
3
0
0
0
-48
16
-25
-2
0
-3
0
0
0
-16
9
-19
1
0
0
0
0
0
8
-7
14
-7
0
-5
0
0
0
-3
-21
-1
0
0
0
0
0
0
-9
-9
43
0
0
14
0
0
0
-2
21
-10
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
1
0
0
9
0
0
0
0
12
0
51
0
0
0
0
0
-1
9
19
0
0
0
0
0
0
-1
-24
40
0
-8
-7
0
0
0
24
-4
31
-1
-52
0
0
0
0
-8
8
2
6
0
0
0
0
0
0
-40
4
0
0
20
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
0
5
0
0
0
0
0
0
25
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-35
-9
0
0
64
0
0
0
-12
41
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
10
0
-45
0
0
0
0
0
0
-56
0
0
0
36
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
4
0
0
44
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-9
0
-2
0
0
0
0
0
3
0
-14
0
0
0
0
0
0
6
-1
-11
0
0
0
0
0
0
-6
5
2
-39
0
0
0
0
0
0
-11
0
0
0
23
0
0
0
0
0
0
11
2
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
17
-9
1
0
10
0
0
0
3
-7
0
42
0
0
0
0
0
-14
-4
-11
0
0
0
0
0
0
-3
14
8
0
0
61
0
0
0
10
20
52
0
0
0
0
0
0
3
-1
3
-9
0
0
0
0
0
0
17
-5
0
0
-6
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
-34
0
0
0
0
-3
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
6
0
0
0
38
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-12
0
0
0
0
-2
0
-43
0
0
0
0
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
-12
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
0
0
22
0
0
0
1
1
0
105
0
0
0
0
0
1
23
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
54
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
116
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
6
0
0
-68
0
0
0
0
3
0
-13
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
52
0
0
0
-41
0
0
0
0
0
0
-10
0
0
0
0
0
-12
0
0
80
-2
0
0
0
0
3
0
61
0
0
-12
0
0
0
-2
5
-20
0
0
0
0
0
0
0
-27
58
10
0
0
0
0
0
21
-17
4
13
0
0
0
0
0
-3
61
-31
0
6
0
0
0
-2
0
0
2
70
0
-4
0
0
0
0
39
-20
0
0
-1
0
0
0
6
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
38
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
11
0
0
0
-40
0
2
24
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
45
0
0
30
0
0
0
33
2
2
-48
0
0
0
0
0
-33
3
0
0
0
0
0
0
0
0
-13
5
-30
0
0
0
0
0
3
-8
-5
0
0
0
0
0
0
0
0
9
27
0
-8
0
0
0
0
30
0
0
0
7
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
-1
0
0
18
0
0
0
-1
17
32
-28
0
0
0
0
0
1
-9
18
0
5
0
0
0
0
11
4
0
1
6
0
0
0
0
-2
56
22
0
0
0
0
0
6
1
2
0
27
0
0
0
0
0
0
-6
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
23
0
0
0
43
0
0
0
-26
-9
4
20
0
0
0
0
0
0
2
32
0
0
0
0
0
0
0
-5
2
2
0
0
0
0
0
0
52
9
0
0
0
0
0
0
1
0
0
49
0
0
0
0
0
0
15
7
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
84
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
28
5
0
0
3
0
0
0
-2
0
-3
27
0
0
0
0
0
-5
52
5
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
3
44
10
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
82
-27
0
0
-33
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-53
7
0
0
18
0
0
0
-7
-1
13
53
0
0
0
0
0
-3
8
14
-2
0
0
0
0
0
0
48
25
0
0
0
0
0
0
-2
21
-30
3
0
0
0
0
0
6
0
0
3
0
-6
0
0
0
0
34
0
0
0
28
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
38
-1
0
0
-26
0
0
0
-1
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
49
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
17
0
0
5
0
0
0
0
0
-3
12
0
0
0
0
0
10
26
40
0
0
0
0
0
0
0
3
-6
5
0
0
0
0
0
4
67
0
0
0
0
0
0
0
0
3
0
15
0
0
0
0
0
0
-24
0
0
0
33
0
0
0
0
0
0
8
0
0
0
0
0
0
1
-8
-25
0
0
0
0
0
0
-19
-5
0
0
-10
0
0
0
-1
-2
14
11
0
0
0
0
0
16
35
-6
0
0
0
0
0
0
0
56
1
0
0
0
0
0
0
5
-10
7
0
0
0
0
0
0
7
-8
0
4
0
-3
0
0
0
0
-10
-1
0
0
27
0
0
0
0
0
15
-17
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
-25
0
0
0
2
0
0
-24
0
0
0
0
0
1
30
0
0
0
0
0
0
0
0
6
27
0
0
0
0
0
0
-1
13
-10
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
-3
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
73
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-7
0
0
0
27
0
0
0
0
0
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-21
3
0
0
0
0
0
0
0
-5
0
22
0
0
0
0
0
0
-12
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
4
32
0
0
0
0
0
0
38
-57
0
0
-3
0
0
0
-3
0
3
82
0
0
0
0
0
1
-37
-7
5
0
0
0
0
0
-3
63
4
57
0
0
0
0
0
0
-19
-4
0
0
0
0
0
0
0
-4
5
0
0
-2
0
0
0
0
61
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
3
37
1
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
0
-5
-91
15
2
0
0
0
0
0
-3
2
-1
-27
0
14
0
0
0
0
-55
-41
0
0
19
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
77
0
0
0
0
0
0
49
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
3
0
0
30
0
0
0
-3
0
0
-21
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
11
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
-59
0
0
0
8
4
0
-17
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-21
-41
2
2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-7
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
81
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
11
0
0
-37
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
49
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
45
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
27
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
15
0
0
0
38
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
0
53
-4
0
0
7
0
0
0
5
19
3
-28
0
-1
0
0
0
8
0
-20
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-27
1
0
5
0
0
0
0
-7
0
0
40
0
0
0
0
0
0
38
-8
0
0
7
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
2
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
56
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
111
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
99
0
0
0
-1
0
0
41
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-15
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-21
0
0
0
-4
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
33
0
0
0
0
0
-2
20
0
0
0
12
0
0
0
0
-3
0
0
0
12
0
0
0
23
-37
5
0
1
0
0
0
0
19
2
29
0
0
0
0
0
0
3
-5
8
-5
0
0
0
0
0
8
0
0
36
0
0
0
0
0
0
8
-6
0
0
60
0
0
0
0
7
0
34
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-37
17
0
0
-22
0
0
0
-5
68
2
-23
0
-25
0
0
0
80
-7
-19
0
0
0
0
0
0
-5
1
0
4
-5
0
0
0
0
0
49
1
0
1
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
28
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
31
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
4
-4
0
-14
0
0
0
0
0
3
34
0
0
0
0
0
0
0
-2
29
-8
0
0
0
0
0
0
0
38
24
0
0
0
0
0
0
0
-1
0
0
0
30
0
0
0
0
30
-1
0
0
54
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
40
0
0
0
0
0
-3
-24
0
0
0
-20
0
0
0
0
0
0
26
0
0
0
0
0
-1
85
51
0
0
0
0
0
0
8
22
3
0
0
1
0
0
0
-1
33
26
0
0
0
0
0
0
5
0
0
32
0
0
0
0
0
0
74
-2
0
0
41
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
21
0
0
0
0
0
7
21
5
0
0
53
0
0
0
4
0
0
-20
0
0
0
0
0
-1
-26
-2
0
0
0
0
0
0
9
0
23
0
0
-5
0
0
0
-2
-59
4
2
0
0
0
0
0
0
0
0
77
0
18
0
0
0
0
4
-23
0
0
30
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
1
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
15
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-40
0
0
0
0
0
0
62
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-56
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-7
8
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
27
0
0
-4
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-23
11
0
0
0
0
0
0
-4
7
0
36
0
0
0
0
0
0
60
5
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
4
0
0
22
0
0
0
15
1
0
-3
0
0
0
0
0
-8
21
0
0
0
0
0
0
0
1
4
0
0
0
31
0
0
0
0
2
9
0
-36
-1
0
0
0
-2
46
0
22
0
-24
0
0
0
0
-47
-15
0
0
18
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
44
0
0
0
1
0
0
-58
0
0
0
0
0
-1
18
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-33
0
0
0
0
0
0
-6
-1
0
21
0
1
0
0
0
0
27
-2
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
44
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-51
0
0
0
0
0
0
77
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
44
0
0
0
0
0
0
4
0
0
0
0
0
5
37
2
0
0
0
0
0
0
5
53
-8
0
-1
13
0
0
0
0
35
0
0
-14
0
0
0
0
5
33
18
-6
0
6
0
0
0
0
-51
31
0
0
44
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
26
42
13
0
0
0
0
0
0
-16
21
0
-7
0
-2
0
0
0
-18
61
5
0
7
21
0
0
0
-6
8
8
33
0
-7
0
0
0
0
-39
-18
0
0
72
0
0
0
0
0
0
37
0
0
0
0
0
0
0
-2
104
0
0
0
0
0
0
-10
0
0
0
-26
0
0
0
0
-19
0
46
0
0
0
0
0
10
9
0
0
0
0
0
0
13
8
-8
5
0
0
35
0
0
0
5
66
81
-10
0
0
0
0
0
-1
6
8
17
0
-19
0
0
0
2
50
-18
-12
0
16
0
0
0
6
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
31
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-62
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
7
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-45
0
0
0
-29
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
9
0
-3
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
0
-11
0
0
-33
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
-29
0
0
0
0
0
0
26
-9
0
0
51
0
0
0
0
0
0
-50
0
0
0
0
0
-8
73
8
0
0
0
0
0
3
-3
-4
-17
6
0
3
0
0
0
-15
23
-3
15
6
3
0
0
0
9
-20
7
0
0
-62
0
0
0
0
56
-4
-6
0
-16
0
0
0
0
1
1
22
0
0
0
0
0
0
0
0
85
0
0
0
0
0
1
-38
3
0
0
-16
0
0
0
5
0
-1
-3
0
0
0
0
0
68
-29
-18
3
-1
18
0
0
42
81
-4
4
-16
5
6
0
0
0
24
32
-12
-44
-33
2
0
0
0
14
-38
-36
1
0
-27
0
0
0
14
13
-56
-3
0
15
0
0
0
40
76
1
-53
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-57
0
0
0
57
0
0
0
0
0
0
77
0
0
0
0
0
4
44
0
0
0
0
0
0
0
4
41
0
0
0
2
0
0
0
0
2
-14
0
0
0
0
0
0
1
8
0
19
0
0
0
0
0
0
15
-10
0
0
61
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-3
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
-54
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
12
0
0
0
0
0
0
3
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-51
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
1
21
0
0
0
0
0
0
0
13
24
2
0
0
-1
0
0
0
37
-26
18
5
-7
0
0
0
0
19
25
-2
47
-2
35
0
0
0
0
31
39
0
0
83
0
0
0
1
0
0
23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
5
38
-6
0
0
0
0
0
-7
10
52
-19
0
0
3
0
0
0
33
-36
53
24
32
0
0
0
0
-1
-70
22
-26
0
-6
0
0
0
0
23
-27
3
0
71
0
0
0
1
11
-1
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
2
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-74
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
36
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
36
0
0
0
0
0
0
33
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-46
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
15
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
22
8
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
-6
0
0
57
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-6
0
0
0
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
-48
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
38
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
10
2
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-32
0
0
0
0
0
0
28
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
61
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
2
0
50
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
4
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-13
0
0
0
0
0
0
41
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-38
-8
0
0
0
0
0
0
0
-1
0
-31
0
51
0
0
0
0
11
0
0
0
-50
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
73
0
0
0
0
0
0
19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-53
0
0
0
31
0
0
0
0
0
0
-24
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
5
19
-1
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-56
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
0
0
1
33
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
51
-52
-12
5
5
0
0
0
0
14
3
-10
18
0
2
0
0
0
0
-4
-22
1
0
61
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
-3
0
10
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
67
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
25
0
0
0
0
0
0
-78
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-12
35
0
0
0
0
0
0
1
0
0
93
0
6
0
0
0
0
17
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
11
0
0
0
30
0
0
0
0
0
0
-45
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
2
4
12
0
0
0
0
0
0
1
0
0
-34
0
0
0
0
0
0
-22
0
0
0
42
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
-18
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
64
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
16
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
11
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-53
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-67
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-50
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
64
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
11
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
17
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
-4
-2
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-14
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
15
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-11
0
0
0
4
0
0
0
0
0
0
-34
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
5
3
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
26
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
-27
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
60
0
0
0
43
0
0
0
0
0
0
-12
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
8
10
4
3
11
0
0
0
0
-2
0
49
36
0
-2
0
0
0
0
15
-8
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
8
0
0
0
39
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-2
0
0
0
0
-8
0
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
2
0
0
0
33
0
0
0
0
0
0
43
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-33
2
0
0
-2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-45
0
0
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
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
52
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
72
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-63
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-5
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
0
0
0
0
0
0
98
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-41
0
0
0
0
0
0
49
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
26
0
0
0
-59
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-31
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
40
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
24
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
21
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
42
0
0
0
0
0
0
21
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-19
0
0
0
0
0
0
42
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-9
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-21
0
0
0
0
0
0
37
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
6
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
48
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
12
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
-23
0
0
0
2
0
0
7
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-97
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
26
-9
0
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
34
0
0
0
0
0
0
78
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
5
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
42
0
0
0
124
0
0
0
0
0
0
70
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
23
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
-20
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
22
0
0
0
-23
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
14
-3
0
0
-16
0
0
0
0
0
3
5
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
-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
-29
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-24
0
0
0
1
0
0
0
0
0
0
0
0
12
0
8
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
21
0
0
0
-56
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
47
0
0
-73
0
0
0
0
2
2
25
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
17
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-20
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
35
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
39
0
0
0
0
0
-1
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
1
52
0
0
0
0
0
0
-4
0
0
0
59
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
72
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-10
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
27
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-42
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-31
30
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-7
-9
0
0
-19
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
19
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
41
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
24
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
39
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
0
0
39
0
0
0
0
0
0
-43
-5
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
74
0
0
0
-18
0
0
0
2
0
-6
-27
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
0
0
2
0
58
0
28
0
0
0
0
28
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
20
-5
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
-22
0
0
0
0
3
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
3
0
0
0
0
0
0
-10
16
25
0
-5
0
0
0
0
0
-1
3
44
0
3
0
0
0
0
31
-15
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
-26
0
0
0
0
0
0
10
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-25
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
27
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-30
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
6
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-14
0
0
0
0
0
0
-1
-5
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
21
0
0
16
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-17
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
25
0
0
0
4
0
0
-21
0
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
-28
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
12
7
0
0
46
0
0
0
5
0
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-47
10
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
25
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-45
0
0
0
55
0
0
0
0
0
0
-7
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
45
0
0
0
-4
0
0
-5
0
0
0
0
0
-13
-19
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
1
0
0
70
0
0
0
1
0
0
0
0
0
0
0
0
9
37
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
44
3
0
1
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
13
0
0
69
0
0
0
-9
-1
23
24
0
0
0
0
0
11
-50
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
12
0
0
0
48
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
16
0
0
0
-33
0
0
0
0
0
0
78
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
34
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
62
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
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
0
0
0
30
-1
0
0
-21
0
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
23
0
0
0
33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
0
0
8
0
0
0
10
0
1
51
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
4
-2
0
0
-1
0
0
0
0
50
9
-1
0
0
0
0
0
1
-1
4
9
0
0
0
0
0
-2
22
1
0
0
96
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-17
0
0
0
0
0
0
38
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
24
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-43
0
0
0
7
0
0
0
5
5
0
51
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-32
0
0
-42
0
0
0
0
0
0
-6
2
0
0
34
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
31
0
0
0
5
0
0
76
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
114
0
0
0
0
0
0
76
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-16
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
31
0
0
0
67
0
0
0
0
0
0
18
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
5
0
34
0
0
0
0
0
0
-33
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-16
0
0
0
-30
0
0
0
0
0
0
-14
0
0
0
0
0
0
-40
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
10
0
96
0
0
0
0
0
0
22
-3
0
0
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
7
-45
8
2
0
29
0
0
0
24
2
4
21
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
1
48
1
-6
0
0
0
0
0
0
-34
-1
25
0
0
0
0
0
0
13
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
59
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
14
0
0
0
0
0
0
-50
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
42
0
0
0
1
0
0
-66
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
7
0
0
0
0
0
0
0
3
17
0
0
-3
0
0
0
0
-1
6
0
0
-2
0
0
0
0
14
0
0
0
37
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
29
0
0
0
5
0
0
15
0
0
0
0
0
0
67
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
-23
33
0
0
0
0
0
0
24
11
34
-10
0
0
0
0
0
0
-1
-27
0
0
-10
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-35
0
0
0
22
0
0
0
0
0
0
11
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
-19
-2
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
38
0
0
0
34
0
0
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
7
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
34
0
0
0
-9
0
0
0
0
0
0
27
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
73
-20
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
3
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
0
0
30
0
0
0
3
1
0
-35
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
-2
44
7
0
0
0
0
0
0
0
-1
1
30
0
0
0
0
0
2
-7
-4
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
10
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
48
0
0
0
0
0
0
-5
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
26
0
0
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
1
0
0
-25
0
0
0
0
0
0
10
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-20
0
0
0
46
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
68
0
0
0
0
0
0
46
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
36
0
0
0
0
0
0
36
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
47
0
0
0
0
-1
-8
0
0
0
0
0
0
-2
-21
0
0
8
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
7
-18
0
-3
0
0
0
0
-9
0
7
0
-7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
50
0
0
0
9
0
0
23
0
0
0
0
0
0
-34
-5
0
13
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-51
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
-9
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
21
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
-5
14
14
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
-26
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
-77
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
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
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
45
-8
0
0
21
0
0
0
0
1
0
-87
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
-32
0
0
0
101
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
15
7
0
0
-48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
37
0
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
64
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-22
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-28
0
0
0
35
0
0
0
0
0
4
-49
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-27
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-51
0
0
0
0
0
0
-8
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
56
-58
1
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
16
0
0
0
41
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-23
0
0
0
-10
0
0
0
0
0
1
47
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-5
-6
0
0
5
0
0
0
0
-24
-2
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-6
0
0
0
59
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-1
0
0
0
0
0
0
54
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-6
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-34
0
0
0
-51
0
0
0
0
0
0
-30
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
-5
26
0
0
0
0
0
0
1
-3
0
3
0
0
0
0
0
1
11
4
0
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
32
0
0
0
0
0
0
4
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
26
7
0
-7
7
0
0
0
-22
69
-19
0
1
0
0
0
0
-26
0
7
-19
0
0
0
0
0
0
43
2
0
0
12
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-6
0
0
0
-68
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-30
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
48
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
-43
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-41
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
-8
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
-1
0
0
26
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
13
0
0
0
8
0
0
0
1
1
-1
27
0
0
0
0
0
8
-44
14
0
0
14
0
0
0
0
3
-24
8
0
0
0
0
0
-9
13
-36
0
0
0
0
0
0
15
0
0
46
0
0
0
0
0
0
-28
5
0
0
17
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-6
-34
5
0
0
-13
0
0
0
-25
0
7
-16
0
28
0
0
0
-11
50
-27
0
0
0
0
0
-4
20
21
6
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
23
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
-1
12
20
0
0
7
0
0
0
-2
12
2
-14
0
0
0
0
0
20
59
3
0
0
0
0
0
0
0
11
13
1
0
0
0
0
0
-4
32
5
0
0
0
0
0
0
0
-5
6
8
0
0
0
0
0
0
-11
0
0
0
30
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-8
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
11
0
0
0
0
0
0
-43
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
45
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-52
0
0
0
37
0
0
0
0
0
0
-15
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
27
0
0
0
45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
65
12
0
0
1
0
0
0
12
2
0
-9
0
0
0
0
0
-1
52
19
10
0
0
0
0
3
0
-15
1
-11
0
0
0
0
0
0
-27
15
0
0
-1
0
0
0
0
0
0
11
0
19
0
0
0
0
4
1
0
0
-19
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-23
-24
50
10
3
7
0
0
0
-5
-66
7
0
6
-14
0
0
0
-11
28
6
-6
0
-1
0
0
0
-38
-42
22
-26
0
0
0
0
0
-8
51
51
1
11
5
0
0
0
40
18
7
37
0
30
0
0
0
-11
99
15
0
9
16
0
0
0
-31
-5
-5
-25
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-17
-28
-12
61
0
2
0
0
0
30
-3
48
32
0
0
0
0
0
-24
32
-35
-5
0
0
0
0
11
-4
11
13
0
0
6
0
0
0
3
17
0
0
0
0
0
0
0
-15
0
2
-17
0
0
0
0
0
0
50
10
0
0
63
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-11
3
0
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
7
-5
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
60
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
-2
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
36
0
0
0
0
0
7
44
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
-27
4
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
26
3
0
0
41
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-1
30
10
0
0
12
0
0
0
-13
29
-43
14
0
7
0
0
0
-50
24
0
0
0
0
0
0
0
1
-21
-10
5
0
2
0
0
0
31
38
4
0
0
0
0
0
0
-10
2
1
-31
0
0
0
0
0
0
-10
65
4
0
26
0
0
0
25
0
1
11
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-7
-26
-2
0
0
14
0
0
0
-19
1
-2
-38
0
0
0
0
0
24
-23
-9
0
0
-1
0
0
0
9
0
8
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-2
-3
0
-14
0
0
0
0
0
0
-41
45
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
59
0
0
0
0
0
0
45
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-19
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
89
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-7
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
-4
0
0
0
0
0
0
44
0
0
0
0
0
-2
44
0
0
0
0
0
0
0
7
0
28
2
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
49
0
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
3
0
0
-32
0
0
0
0
0
0
9
-1
2
0
-3
0
0
0
-5
3
-3
-11
5
0
0
0
0
1
12
-4
0
0
0
0
0
9
31
-3
0
0
0
0
0
0
0
7
-91
-9
1
0
0
0
0
0
-23
7
0
-24
0
0
0
0
0
0
-66
27
0
0
-9
0
0
0
-5
0
0
13
0
0
0
0
0
-8
0
0
-22
-1
0
0
0
0
0
15
9
0
0
35
0
0
0
-11
-2
6
5
2
29
0
0
0
-5
32
44
0
0
9
0
0
0
-1
-28
14
0
0
0
0
0
0
-4
5
-2
7
0
0
0
0
0
7
-5
10
20
0
-6
0
0
0
0
30
-13
0
18
12
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-82
4
0
0
-7
0
0
0
0
0
0
78
0
0
0
0
0
0
-18
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
11
0
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
0
15
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
63
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
-32
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
10
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
39
1
0
0
47
0
0
0
1
-1
0
-61
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
13
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
9
0
0
0
0
0
0
13
0
0
0
53
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
10
-26
0
0
50
0
0
0
-22
2
36
12
0
0
0
0
0
35
-53
31
0
0
0
0
0
0
16
63
-18
0
0
21
0
0
0
4
12
0
0
0
0
0
0
0
8
-16
-11
31
0
-12
0
0
0
-3
9
33
-6
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
5
0
0
23
0
0
0
0
0
0
46
8
0
0
13
0
0
0
2
-3
4
-7
0
0
0
0
0
-1
20
-2
0
0
0
0
0
0
30
23
-30
4
0
0
0
0
0
30
0
-1
0
0
3
0
0
0
25
-43
1
38
0
2
0
0
0
5
-30
5
-3
0
16
0
0
0
-27
0
0
-20
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-31
4
0
0
29
0
0
0
0
-5
-5
-34
0
0
0
0
0
31
39
-2
0
0
-22
0
0
0
-22
25
-11
0
0
0
0
0
0
-1
43
25
-1
0
0
0
0
0
-29
30
-1
2
0
0
0
0
0
0
-45
-5
0
0
16
0
0
0
8
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-16
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-39
4
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
31
0
0
0
0
0
0
-74
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
6
0
0
0
48
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
1
0
0
55
0
0
0
12
0
0
22
0
0
0
0
0
-24
12
2
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
26
-1
0
0
0
0
0
0
18
22
0
-45
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
88
0
0
0
0
0
2
97
6
0
0
4
0
0
0
57
27
4
-6
0
-2
0
0
0
17
-22
-10
-8
0
0
0
0
0
7
23
2
-33
0
0
0
0
0
-57
6
8
-14
0
1
0
0
0
10
14
0
0
0
3
0
0
0
0
5
-1
54
0
11
0
0
0
-3
0
0
55
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
-2
-20
3
0
0
-29
0
0
0
24
-3
0
-36
0
0
0
0
0
1
110
-14
2
0
4
0
0
0
1
64
9
15
0
0
0
0
0
2
-33
-10
-11
13
0
0
0
0
-11
-10
10
27
0
12
0
0
0
-2
24
-17
-7
0
56
0
0
0
-5
2
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
20
0
0
0
0
0
0
-42
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-5
0
0
0
0
0
0
-4
0
-1
38
0
0
0
0
0
0
-7
0
0
0
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
80
0
0
0
0
0
0
38
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-21
1
0
0
30
0
0
0
0
0
0
-53
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
0
-4
0
0
9
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
39
0
0
0
56
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
-34
0
0
0
1
0
-4
-44
0
5
0
0
0
2
-7
-3
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
40
30
-2
0
0
0
0
0
0
5
6
0
-7
1
0
0
0
0
0
-2
-9
0
0
6
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
42
9
0
0
9
0
0
0
1
0
10
-23
0
0
0
0
0
0
44
-1
1
0
0
0
0
0
-3
31
-15
0
0
0
0
0
0
4
23
16
0
0
0
0
0
0
-7
-1
0
-14
0
2
0
0
0
-21
49
9
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
36
0
0
0
0
0
0
12
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
15
0
0
0
0
0
0
18
0
0
0
0
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
0
0
0
0
0
0
-11
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
37
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-27
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
3
0
0
-63
0
0
0
-4
7
0
69
0
0
0
0
0
-8
-15
0
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
3
47
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
39
0
0
0
37
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
45
10
0
0
72
0
0
0
-9
2
3
40
0
0
0
0
0
12
7
-4
-1
0
0
0
0
0
0
8
11
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-11
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
20
0
0
0
0
0
0
16
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
20
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-1
0
0
50
0
0
0
4
-1
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-2
12
3
3
0
0
0
0
0
-9
-41
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-8
0
0
0
28
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
18
-2
-13
0
0
6
0
0
0
-2
1
-6
0
0
0
0
0
0
13
-12
-1
7
0
0
0
0
0
0
-25
27
7
0
0
0
0
0
6
-48
18
-2
0
0
0
0
0
18
-8
2
67
0
27
0
0
0
0
-16
-4
0
0
52
0
0
0
0
-6
0
13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
15
-28
0
0
55
0
0
0
-2
2
-2
-29
0
0
0
0
0
6
26
6
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
72
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-19
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
-29
0
0
-7
0
0
0
1
0
0
17
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
49
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
73
2
0
0
28
0
0
0
6
5
-18
-44
0
0
0
0
0
9
-9
0
-6
0
0
0
0
0
0
-9
-8
5
6
0
0
0
0
-17
-45
1
0
0
0
0
0
0
-2
0
0
86
0
2
0
0
0
0
-40
-1
0
0
-21
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-22
6
0
0
70
0
0
0
-23
-11
-11
-26
1
0
0
0
0
19
-22
-18
0
0
0
0
0
0
15
-34
-13
8
0
0
0
0
0
0
-73
-6
5
0
15
0
0
0
27
-24
0
9
0
2
0
0
0
0
-72
-8
0
0
28
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
20
0
0
0
0
0
0
-53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
16
0
0
0
-27
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
68
0
0
0
-46
0
0
0
0
0
0
10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
-11
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
1
46
18
0
0
-4
0
0
0
-3
0
17
-35
0
0
0
0
0
8
66
15
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-45
5
4
-5
0
0
0
0
0
17
0
0
-29
0
1
0
0
0
1
16
-12
0
0
15
0
0
0
1
0
1
-31
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-52
18
0
0
46
0
0
0
0
-9
3
70
0
0
0
0
0
-4
-16
-2
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-3
-21
1
-9
0
3
0
0
0
6
39
0
-33
0
0
0
0
0
0
28
2
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
71
3
0
0
53
0
0
0
-4
0
0
-17
0
0
0
0
0
0
-31
-1
0
0
0
0
0
0
0
-12
0
-4
0
0
0
0
0
0
1
2
3
0
0
0
0
0
2
3
0
10
0
0
0
0
0
0
-9
1
0
0
-26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-30
0
0
0
42
0
0
0
0
0
0
-7
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
4
0
0
28
0
0
0
0
0
0
26
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
16
-19
0
0
-19
0
0
0
0
10
0
-71
0
21
0
0
0
-2
22
-1
0
0
0
0
0
0
0
-4
26
0
0
0
0
0
0
5
33
0
0
0
0
0
0
0
8
23
-7
-14
1
0
0
0
0
0
10
4
0
0
-3
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
0
10
0
0
0
0
0
7
-9
12
0
0
-20
0
0
0
-5
-21
-6
42
0
0
0
0
0
5
-40
30
-7
0
0
0
0
0
0
-9
20
-10
0
0
0
0
0
-6
45
-2
0
0
-1
0
0
0
35
23
2
5
0
0
0
0
0
1
14
10
-13
0
18
0
0
0
5
0
2
25
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
23
0
0
0
-5
5
5
14
0
0
0
0
0
22
29
-1
0
0
0
0
0
0
-2
14
-1
1
0
0
0
0
0
-9
5
2
-6
0
0
0
0
0
0
17
8
55
0
0
0
0
0
0
-22
2
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-37
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
14
-1
-1
0
0
0
0
0
-1
6
0
34
0
0
0
0
0
0
19
-14
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-2
-27
0
0
0
0
0
0
42
8
0
0
32
0
0
0
3
-13
-1
23
0
0
0
0
0
19
32
-9
1
0
0
0
0
0
0
18
32
-1
-4
0
0
0
0
2
-16
-1
39
0
0
0
0
0
8
-21
28
0
0
5
0
0
0
-2
22
11
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
64
0
0
0
-1
0
0
0
5
0
2
-15
0
0
0
0
0
4
40
0
0
0
0
0
0
0
0
28
-4
0
0
0
0
0
0
1
-9
-5
1
0
0
0
0
0
38
-6
-9
-48
0
3
0
0
0
4
-9
10
0
0
36
0
0
0
2
0
0
11
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
-76
0
0
0
0
0
0
-70
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-2
7
0
0
0
-20
0
0
0
0
0
-3
11
0
0
0
0
0
4
57
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
47
-16
5
0
0
0
0
0
0
3
-6
0
-5
0
0
0
0
0
-3
-28
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
10
0
0
22
0
0
0
5
0
0
6
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
-18
0
-1
0
0
0
0
0
-4
0
-5
18
0
0
0
0
0
0
-25
-3
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
26
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
0
0
29
0
0
0
0
0
0
41
0
0
0
0
0
-2
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
39
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
10
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-82
65
0
0
21
0
0
0
10
0
-30
33
0
-1
0
0
0
-1
-35
-27
0
5
0
0
0
0
9
1
3
0
0
0
0
0
0
-3
26
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
48
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-78
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-21
-5
0
0
40
0
0
0
0
0
0
79
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
7
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-11
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-16
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
49
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-19
0
0
0
41
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-24
0
4
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-46
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
1
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
77
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
-2
0
0
26
0
0
0
0
0
0
-24
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
2
5
1
0
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
-9
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
-49
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
57
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-32
0
0
0
-1
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-1
-1
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
11
10
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
34
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
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
0
52
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
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
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-37
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-5
0
0
51
0
0
0
3
0
5
-28
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
21
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-73
0
0
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
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-66
0
0
0
0
0
0
-49
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-3
0
0
0
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
19
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
32
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
31
0
0
0
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
34
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-11
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-10
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
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
0
-22
0
0
0
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
2
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
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
0
-17
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
27
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
59
0
0
0
0
0
-15
1
0
0
0
0
0
0
27
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-34
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
48
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
30
0
0
0
0
0
0
83
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
4
0
0
0
0
0
0
36
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-70
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-105
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-47
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
83
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
25
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-59
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
37
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
37
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
-41
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
19
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
30
0
0
0
0
0
0
-53
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
15
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
1
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
31
0
0
0
0
0
0
36
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
3
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
25
0
0
0
0
0
0
22
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
46
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-23
0
0
0
-7
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-18
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-37
0
0
0
0
0
0
9
-34
25
0
51
0
0
0
22
0
2
73
0
0
0
0
0
4
56
4
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-43
1
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-46
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-34
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
59
0
0
0
48
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-36
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
0
0
106
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
11
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
6
0
0
0
54
0
0
0
11
0
8
12
0
0
0
0
0
0
-49
-13
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
1
0
6
7
0
0
0
0
0
1
31
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
22
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
22
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
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
33
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
41
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
-28
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-61
0
0
0
13
0
0
0
-1
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
45
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
36
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
0
-2
13
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
-11
10
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
108
0
0
0
0
0
0
-1
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
-2
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-8
0
0
0
-46
0
0
0
0
0
1
34
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
-26
0
0
0
0
0
0
25
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
13
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
21
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
49
0
0
0
-50
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
-33
0
0
0
1
0
-1
-33
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
31
3
0
0
0
0
0
0
0
0
4
38
0
0
0
0
0
0
49
5
0
0
68
0
0
0
0
0
5
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
55
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
33
0
0
0
7
0
2
1
0
0
0
0
0
0
27
21
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
36
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
-7
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
25
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
22
0
0
0
0
0
0
76
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
7
0
0
0
0
0
0
74
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
43
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-21
6
0
0
32
0
0
0
0
0
0
-26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-60
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
32
0
0
0
0
0
0
-48
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
40
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
40
0
0
0
-62
0
0
0
2
0
0
-7
0
0
0
0
0
-1
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
7
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
55
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
12
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
17
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
74
0
0
0
5
-4
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
-9
-4
0
-15
0
0
0
0
0
-14
15
33
0
0
33
0
0
0
12
18
0
0
0
-16
0
0
0
-10
23
-24
-5
0
0
0
0
0
19
43
19
0
0
-2
0
0
0
0
-10
-13
0
0
0
0
0
0
0
7
0
-62
0
0
0
0
0
0
20
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
56
0
0
0
0
0
1
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
73
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
59
0
0
0
0
0
0
48
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-40
-1
0
0
11
0
0
0
1
0
0
28
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
18
-7
0
0
17
0
0
0
0
-20
-1
0
0
0
0
0
0
17
0
0
37
0
0
0
0
0
0
17
0
0
0
5
0
0
0
0
0
0
-51
0
0
0
0
0
0
-4
0
29
0
0
0
0
0
0
11
25
0
0
-32
0
0
0
-35
8
40
4
0
-20
0
0
0
-1
-43
10
0
0
0
0
0
0
8
0
-3
-1
0
0
0
0
0
0
-48
1
0
0
0
0
0
0
-1
4
2
-28
0
0
0
0
0
0
-22
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
7
0
0
0
-1
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-21
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-34
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
34
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
35
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
-17
0
0
0
17
0
-1
15
0
27
0
0
0
-20
-1
-1
-4
0
0
0
0
0
-6
-49
0
0
0
0
0
0
0
-5
19
0
0
-1
0
0
0
0
1
-5
9
32
0
0
0
0
0
-1
7
6
0
0
24
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
17
0
0
0
0
0
17
46
0
0
0
0
0
0
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
1
0
0
-61
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
36
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
61
0
0
0
0
0
0
-18
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-73
0
0
0
0
0
0
49
-4
0
0
-7
0
0
0
0
0
0
-85
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
27
-103
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
0
0
0
11
10
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
12
-4
0
0
-38
0
0
0
-12
0
33
-2
0
0
0
0
0
3
59
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
85
7
0
0
11
0
0
0
-1
38
1
-33
0
0
0
0
0
0
26
-8
0
0
26
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
38
0
0
0
-14
0
0
0
13
0
0
39
0
0
0
0
0
0
83
23
0
0
0
0
0
0
-1
8
10
0
0
0
0
0
0
9
15
-8
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
18
0
0
0
-12
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
-43
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
9
0
0
0
56
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-28
0
0
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
31
0
0
0
-10
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
5
26
0
-9
0
0
0
0
0
0
-9
0
0
0
63
0
0
0
0
0
0
5
0
0
0
0
0
-2
0
-1
52
0
0
0
0
0
0
9
2
0
0
-2
0
0
0
7
0
0
9
0
0
0
0
0
6
74
39
-4
0
0
0
0
0
0
-15
45
-1
0
0
0
0
0
7
56
14
0
0
0
0
0
0
29
2
5
0
0
0
0
0
0
0
3
-22
0
0
23
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
-35
-1
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
-15
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-6
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
29
0
0
0
-5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
42
0
0
0
0
0
4
44
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
37
0
0
0
0
0
0
0
5
-7
1
5
0
4
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
0
0
-28
0
0
0
0
0
0
11
3
0
0
-8
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
61
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
15
0
0
0
33
0
0
0
9
-1
-1
5
0
0
0
0
0
3
0
15
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
45
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
70
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
6
0
0
20
0
0
0
0
0
0
29
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
1
0
0
7
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-11
0
0
0
0
0
1
62
-33
1
0
3
0
0
0
-71
22
-27
-65
0
0
0
0
0
-8
13
-33
-7
7
0
0
0
0
-3
-3
11
0
0
0
0
0
0
1
-30
1
0
0
0
0
0
0
1
0
3
-6
0
0
0
0
0
0
-3
2
0
0
23
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-23
25
0
0
-44
0
0
0
1
-3
0
23
0
0
0
0
0
5
44
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
52
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-57
17
0
0
56
0
0
0
-5
1
0
-37
0
0
0
0
0
10
60
-9
0
0
0
0
0
0
-4
5
1
-3
0
0
0
0
0
0
14
6
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
10
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
-1
-18
-6
0
0
27
0
0
0
0
0
7
28
0
0
0
0
0
-1
-6
2
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
3
0
0
-11
0
0
0
0
0
0
-22
-1
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-47
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-42
0
0
0
-6
0
0
0
0
0
0
50
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
16
-11
-1
0
-48
0
0
0
-36
0
0
-17
0
0
0
0
0
4
34
7
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
15
0
36
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
20
0
0
0
37
0
0
0
0
0
5
32
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-25
3
4
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-22
1
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
91
0
0
0
0
0
0
88
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-90
0
0
0
20
0
0
0
1
-3
1
11
0
0
0
0
0
0
30
4
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
29
-3
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
35
0
0
0
-1
5
-8
-25
0
0
0
0
0
0
53
-13
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
7
37
-2
0
0
0
0
0
0
3
5
0
-3
0
0
0
0
0
-28
38
-4
0
0
-27
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-3
1
0
0
-59
0
0
0
0
0
0
36
0
0
0
0
0
3
-75
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
8
2
0
0
0
0
0
-5
-13
0
16
0
0
0
0
0
-8
-14
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
12
0
0
0
0
0
0
38
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
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
17
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-22
6
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
2
0
58
0
0
0
0
0
0
4
0
0
0
94
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
62
-1
0
0
-34
0
0
0
4
0
0
113
0
0
0
0
0
8
31
18
0
0
0
0
0
0
2
-14
13
0
0
0
0
0
0
0
3
0
-16
-1
0
0
0
0
0
4
13
0
0
0
0
0
0
0
55
3
0
0
-12
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-26
0
0
0
68
0
0
0
0
0
0
52
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
72
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
40
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
27
0
0
0
34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
60
0
0
0
0
0
0
42
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
23
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
28
0
0
0
0
0
0
17
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
29
0
0
0
0
0
0
3
3
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-15
0
0
0
0
1
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-33
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
11
-6
0
2
0
0
0
0
1
0
2
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
-12
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
-53
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
3
0
0
0
94
0
0
0
2
0
-2
0
0
0
0
0
0
0
5
0
0
-7
0
0
0
0
-1
-15
-2
0
0
0
0
0
0
0
5
2
0
4
0
0
0
0
-1
0
-4
50
0
2
0
0
0
0
9
0
0
0
-11
0
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
23
0
0
0
4
0
4
-23
0
1
0
0
0
0
9
-23
4
0
-2
0
0
0
0
7
8
0
0
0
0
0
0
5
11
3
0
0
0
0
0
0
-2
0
1
72
0
0
0
0
0
0
-1
15
0
0
-15
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-30
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
4
0
0
25
0
0
0
0
0
0
45
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
1
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
52
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
7
1
28
0
0
0
0
0
0
-16
0
0
0
47
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
77
0
0
0
0
1
0
29
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
2
1
0
0
-5
0
0
0
0
15
0
0
0
0
0
0
0
-25
-3
15
14
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
0
0
0
5
0
0
0
-3
7
-1
6
0
1
0
0
0
-3
-13
1
0
0
0
0
0
0
-1
-3
9
0
0
2
0
0
0
0
25
24
0
0
0
0
0
0
15
10
0
81
0
2
0
0
0
1
-3
1
0
0
-9
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
28
0
0
0
0
-3
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
0
22
-5
0
0
0
0
0
0
-13
4
0
45
0
0
0
0
0
3
-6
-3
0
0
-51
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-30
0
0
0
25
0
0
0
0
1
0
-15
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
4
-3
0
0
0
0
0
0
9
-10
14
0
0
0
0
0
0
0
-1
0
-34
0
0
0
0
0
1
-8
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
2
1
41
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
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
0
0
61
0
0
0
0
0
0
-9
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
2
0
0
-96
0
0
0
13
0
0
-9
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
-9
1
0
0
0
0
0
0
-3
-8
0
0
3
0
0
0
0
-6
3
1
-51
0
4
0
0
0
0
23
3
0
0
20
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
35
1
0
0
89
0
0
0
-1
0
0
7
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
-5
-2
-3
0
2
-1
0
0
0
-13
1
-14
0
0
0
0
0
0
-12
12
-19
-8
0
1
0
0
0
-4
8
-1
0
0
20
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-26
0
0
0
32
0
0
0
-19
0
0
6
0
0
0
0
0
0
4
-5
-2
0
0
0
0
0
13
-17
-3
-13
0
-8
0
0
0
-1
12
-25
-10
0
0
0
0
0
1
35
-15
67
0
4
0
0
0
-1
-6
-18
0
0
7
0
0
0
0
-9
1
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
37
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
39
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
33
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-9
0
0
30
0
0
0
0
0
0
20
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-76
-11
0
1
0
0
0
0
7
0
0
-30
0
0
0
0
0
0
78
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
3
0
0
0
0
0
0
-7
-6
0
1
79
0
0
13
21
-9
3
-21
1
0
0
0
5
-2
35
-1
0
0
0
0
0
0
1
25
0
0
0
9
0
0
0
37
5
10
-7
-10
1
0
0
0
-17
13
-2
0
0
-2
0
0
0
1
46
17
1
0
52
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
58
0
0
0
-12
0
0
0
-2
0
0
25
0
0
0
0
0
-16
37
-1
1
0
1
0
0
0
-2
-1
18
-9
-7
6
0
0
0
18
28
40
3
-12
1
0
0
0
-5
27
-34
-28
0
-6
0
0
0
19
-14
-42
-24
2
3
0
0
0
-5
17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
17
-10
0
1
6
0
0
0
0
2
6
-1
-89
0
0
0
0
0
0
-18
1
0
0
23
0
0
0
0
1
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
11
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
28
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
-1
1
-1
1
0
0
0
0
0
0
6
0
-38
0
-3
0
0
0
0
-72
0
0
0
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
71
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
1
-8
1
0
0
0
0
0
0
1
26
5
0
0
0
0
0
0
1
-2
-3
-25
0
-4
0
0
0
0
-15
-5
0
0
89
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
68
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
-1
-6
-3
0
-2
0
0
0
-4
0
29
-14
0
0
-2
0
0
0
-13
-30
12
2
1
0
0
0
0
9
41
-15
51
0
-5
0
0
0
2
-42
-37
-1
0
-14
0
0
0
-1
5
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-40
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
47
0
0
0
0
0
0
-3
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
-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
5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
50
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-73
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-7
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
-27
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-21
0
0
0
0
0
0
-19
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
4
-5
0
5
0
0
0
0
0
0
-1
0
0
0
-75
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
-12
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
5
-17
0
0
0
0
0
0
-29
8
0
21
0
0
0
0
0
0
-12
0
0
0
-116
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-25
0
0
0
41
0
0
0
0
0
0
-22
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-1
0
33
0
0
0
0
0
0
9
2
0
0
72
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
12
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-47
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-1
0
0
0
0
4
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
42
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-38
0
0
0
0
0
0
34
0
0
0
0
0
0
-27
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
26
0
0
0
0
0
0
-45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
27
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
15
0
0
0
0
0
0
-34
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-17
-2
0
0
5
0
0
0
2
0
0
-8
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
2
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
-27
0
0
0
0
0
0
-18
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
-6
0
0
-34
0
0
0
0
0
0
21
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-8
-3
0
0
0
0
0
0
-36
-5
-1
0
31
0
0
0
-4
23
0
17
0
0
0
0
0
1
5
-4
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-18
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-3
3
1
12
0
7
0
0
0
0
-2
-12
0
0
-43
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
97
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
37
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
34
0
0
0
61
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
-60
0
0
0
-1
0
0
-3
0
0
0
0
0
0
3
1
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-28
0
-1
0
0
0
0
4
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-40
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
8
0
0
0
66
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
-90
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
22
1
0
0
35
0
0
0
2
0
0
-11
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
1
2
0
0
0
-2
0
0
0
0
-8
1
0
0
1
0
0
0
17
-1
0
46
0
0
0
0
0
-1
1
0
0
0
38
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
42
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
4
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
0
0
-25
0
0
0
0
0
0
-4
-2
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
16
0
0
0
5
0
0
-18
0
0
0
0
0
0
7
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
7
-13
0
0
0
0
0
0
0
5
0
-32
0
0
0
0
0
0
-42
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
-30
-1
0
0
50
0
0
0
-13
0
0
0
0
0
0
0
0
-5
-10
3
8
12
0
0
0
0
5
0
-7
-1
0
-9
0
0
0
7
-9
-6
5
0
0
0
0
0
-3
10
0
-45
0
0
0
0
0
0
-19
27
-9
0
1
0
0
0
0
5
0
-16
0
0
0
0
0
-1
0
0
16
0
0
0
0
0
2
10
-16
0
0
66
0
0
0
38
4
31
24
0
0
0
0
0
-9
6
36
4
0
0
0
0
0
1
5
-1
5
-5
-1
0
0
0
0
8
-3
0
0
0
0
0
0
19
1
0
-9
0
0
0
0
0
0
9
4
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
16
0
0
0
16
0
0
0
1
0
0
-20
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
28
0
0
0
2
0
0
0
0
-16
5
0
0
0
0
0
0
4
1
0
-7
0
0
0
0
0
0
-15
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
2
0
0
0
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-35
2
0
0
0
0
0
1
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-35
0
0
0
99
0
0
0
8
6
0
-32
0
0
0
0
0
1
5
0
0
0
0
0
0
0
8
10
1
0
0
0
0
0
0
1
1
2
0
-1
0
0
0
0
1
-2
0
49
0
1
0
0
0
0
-5
-3
0
2
22
0
0
0
1
0
1
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
44
0
0
0
1
0
0
-64
0
-1
0
0
0
0
35
9
0
0
0
0
0
-1
1
0
0
0
0
7
0
0
0
0
32
8
0
0
0
0
0
0
-6
10
1
-9
0
-17
0
0
0
0
5
4
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-2
9
0
0
0
15
0
0
0
4
2
0
-73
0
-1
0
0
0
8
-43
-16
31
0
0
0
0
0
-10
-19
9
0
0
9
0
0
0
-6
12
10
0
0
0
0
0
0
-9
-5
0
38
0
4
0
0
0
1
-19
-8
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
24
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
68
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
2
0
0
-16
0
0
0
0
0
0
-40
0
0
0
0
0
-7
-10
-28
0
-2
0
0
0
0
-19
-63
0
0
0
0
0
0
0
-2
68
-7
0
0
0
0
0
0
-9
1
0
-38
1
0
0
0
0
-3
41
15
0
0
-70
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-42
0
0
0
61
0
0
0
-1
0
-1
-2
0
0
0
0
0
0
-7
14
0
2
0
0
0
0
0
7
-4
0
0
0
0
0
0
-4
26
6
0
0
0
0
0
0
-2
-7
0
28
0
1
0
0
0
0
-14
5
0
0
-43
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-2
0
0
47
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
-5
2
6
48
0
0
0
0
0
0
3
-5
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
2
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
31
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
45
0
0
0
0
0
0
-27
0
0
0
0
0
0
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
13
0
0
-13
0
0
0
0
0
0
-11
-4
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
2
12
0
0
0
25
0
0
0
0
-2
0
5
0
0
0
0
0
0
-50
18
0
0
0
0
0
0
25
5
-3
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
-6
-7
-2
10
0
27
0
0
0
0
26
33
0
0
7
0
0
0
0
30
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
-2
0
0
106
0
0
0
-1
0
3
8
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
18
-12
0
6
5
8
0
0
0
1
40
15
0
3
-2
0
0
0
7
6
15
-38
0
-8
0
0
0
-1
6
14
0
-3
17
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
8
0
0
0
0
0
0
20
-2
0
0
-17
0
0
0
-1
-1
0
-13
0
0
0
0
0
2
17
0
-9
0
19
0
0
-2
-3
-35
8
0
-8
-4
0
0
0
17
-17
26
15
0
0
0
0
0
8
12
1
28
0
-15
0
0
0
6
44
9
5
3
40
0
0
0
-5
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
39
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
-2
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
-48
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-11
0
0
-14
0
0
0
0
0
-2
-12
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-2
0
0
0
36
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
0
0
0
0
3
1
3
0
0
0
0
0
0
4
17
-6
0
0
0
0
0
0
5
-6
0
25
0
0
0
0
0
0
7
-41
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
10
-24
-5
0
0
52
0
0
0
0
4
0
-11
-4
11
0
0
0
5
31
2
0
-3
0
0
0
0
-4
8
10
0
0
0
0
0
0
-8
-8
-37
-2
11
5
0
0
0
-37
10
-10
0
0
-2
0
0
0
-10
18
-14
-20
-3
27
0
0
0
0
4
3
56
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-30
0
0
0
75
0
0
0
2
-1
1
58
0
0
0
0
0
9
18
6
0
0
0
0
0
14
15
5
-5
8
23
0
0
0
0
-20
38
39
-7
-8
-1
0
0
0
-36
-22
-31
56
0
0
0
0
0
10
43
-26
1
15
-4
0
0
0
-1
-15
32
18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
5
0
0
0
29
0
0
0
0
0
0
32
0
0
0
0
0
1
29
0
0
0
0
0
0
0
-1
-4
5
0
0
0
0
0
0
-3
-15
5
-6
-1
0
0
0
0
19
-17
2
16
0
0
0
0
0
14
-23
2
0
-3
-2
0
0
0
0
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
0
-6
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
75
0
0
0
0
1
0
4
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
0
-2
0
0
0
0
4
3
0
60
0
8
0
0
0
0
-23
0
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-42
0
0
0
14
0
0
0
0
1
0
-52
0
4
0
0
0
29
20
0
0
1
0
0
0
0
3
9
3
0
0
0
0
0
0
32
0
0
-1
0
0
0
0
0
-37
-9
-1
49
-1
0
0
0
0
-6
-43
-9
0
10
-35
0
0
0
2
25
0
49
0
0
0
0
0
0
0
0
3
0
0
0
0
0
9
14
0
0
0
-15
0
0
0
12
0
0
5
0
-4
0
0
0
-3
24
0
0
0
0
0
0
-1
14
-6
15
-1
6
0
0
0
0
-11
24
-19
-3
1
0
0
0
0
29
25
-5
-2
0
-1
0
0
0
-15
-1
-12
0
0
-22
0
0
0
0
1
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-26
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-61
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
55
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
0
12
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
49
0
0
0
8
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
21
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
37
0
0
0
0
0
0
31
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
0
0
-9
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
30
0
0
0
0
0
0
-27
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
-20
0
0
0
0
0
0
-3
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
14
0
0
0
49
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
39
0
0
0
0
0
0
-33
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
17
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
24
0
0
0
-10
0
0
0
2
0
0
47
0
0
0
0
0
3
21
-1
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-13
15
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-13
1
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
44
0
0
0
0
0
0
45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
34
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
45
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
43
0
0
0
0
0
0
77
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
-1
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
49
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-16
0
0
0
1
0
0
0
0
0
0
68
0
0
0
0
0
-1
-9
-1
0
8
0
0
0
0
-3
6
0
0
0
1
0
0
0
0
13
-3
65
0
0
0
0
0
-26
-2
0
-17
0
0
0
0
0
-1
22
4
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
24
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
-1
-1
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
55
0
0
0
-1
0
0
-9
0
0
0
0
0
0
11
3
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
24
18
0
1
2
0
0
0
0
-10
15
0
0
0
0
0
0
0
0
21
-5
0
0
92
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
81
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
-38
0
-3
0
0
0
0
0
0
2
3
0
0
0
0
0
0
2
-10
-1
0
0
0
0
0
0
-1
0
-2
-23
0
2
0
0
0
0
-35
25
1
0
44
0
0
0
2
-12
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
16
0
0
0
0
0
0
-53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
-1
-6
0
39
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
-35
0
0
0
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
67
0
0
0
-26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
-25
0
0
0
0
0
0
49
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
2
12
15
0
0
0
0
0
0
7
-17
9
0
0
0
0
0
0
5
0
-4
0
-1
0
0
0
0
0
-9
-4
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
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
0
0
0
0
0
0
26
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
45
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
49
0
0
0
0
0
0
-6
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
7
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
18
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-28
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
45
0
0
0
-39
0
0
0
0
0
0
15
0
0
0
0
0
0
16
13
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
7
-1
2
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
-1
0
0
0
75
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
45
0
0
0
0
0
0
32
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
10
-2
-3
0
0
0
0
0
0
7
1
0
31
0
0
0
0
0
0
-10
-13
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
27
0
0
0
0
0
0
14
-1
0
0
-79
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
-8
0
0
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
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
2
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-55
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
43
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
66
0
0
0
0
0
0
28
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
7
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
4
0
17
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
48
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
-12
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
46
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
0
37
0
0
0
0
0
0
7
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
-14
0
0
0
0
0
0
-1
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
12
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
-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
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
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
0
-42
0
0
0
0
0
0
-24
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
-2
0
0
5
0
1
0
0
0
0
2
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-11
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
-12
0
0
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
0
0
0
-1
0
0
-6
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
22
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-28
0
0
0
0
0
0
33
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-28
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-6
-1
0
-17
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-18
0
0
0
59
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
3
0
0
0
-15
0
0
-20
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
9
0
0
0
44
0
0
0
-2
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
9
0
0
17
0
3
0
0
0
0
-7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-43
0
0
0
38
0
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
0
0
0
-6
0
0
32
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
2
2
0
-31
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-48
0
0
0
0
0
0
49
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
1
0
0
37
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
1
1
-8
0
0
0
0
0
0
5
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
4
0
0
0
-18
0
0
-21
0
0
0
0
0
0
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
3
0
64
0
0
0
0
0
0
21
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
-2
0
0
50
0
0
0
0
0
2
-31
8
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
37
-2
0
0
0
0
0
0
-3
0
0
-25
0
9
0
0
0
0
21
4
0
0
-63
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
-13
0
0
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-43
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
9
0
0
-73
0
0
0
0
0
0
-2
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
-19
0
0
0
0
0
0
33
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
-2
0
0
0
38
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
-35
0
0
0
2
0
0
54
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
3
0
0
-14
0
0
0
0
0
0
-1
2
0
0
-26
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
28
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
37
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
21
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-19
0
0
0
-3
0
0
10
0
0
0
0
0
0
12
-3
0
0
0
0
0
0
0
9
1
0
1
0
0
0
0
-6
-15
0
0
0
0
0
0
0
2
0
0
-29
0
0
0
0
0
0
-18
5
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
76
0
0
0
0
0
0
-66
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
-38
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
-45
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
-49
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-10
0
0
0
0
0
0
-48
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
-30
0
0
0
0
0
0
2
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
46
0
0
0
-8
-2
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
35
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
10
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
9
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
24
0
0
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
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-2
0
0
0
19
0
0
0
0
0
3
-30
0
0
0
0
0
2
24
1
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
32
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
-43
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
25
0
0
-20
0
0
0
0
0
5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-16
0
0
0
13
0
0
0
-1
5
0
-29
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
-67
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
-1
1
0
0
0
0
0
-5
3
0
0
0
8
0
0
0
6
-4
0
0
0
0
0
0
0
2
23
-4
-2
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
18
8
0
0
0
0
0
0
0
27
0
0
-2
0
0
0
0
0
1
4
0
0
0
-25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
28
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
67
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-22
0
0
0
8
0
0
46
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
0
33
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
9
5
0
0
-15
0
0
0
-22
-5
19
-58
0
5
0
0
0
-31
-58
0
0
0
0
0
0
0
12
-3
-18
0
-2
0
0
0
0
-8
-1
8
-7
1
0
0
0
0
8
-3
5
38
0
0
0
0
0
-18
10
2
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
32
20
0
0
51
0
0
0
74
-4
-5
3
0
0
0
0
0
2
2
5
0
0
4
0
0
0
6
-10
5
0
0
1
0
0
0
-34
25
-14
0
0
2
0
0
21
25
5
-2
-4
0
0
0
0
0
1
26
0
0
0
-5
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
-4
18
0
0
0
-49
0
0
1
0
1
0
-20
0
-1
0
0
0
-5
34
4
0
0
0
0
0
0
2
-12
-1
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
-3
2
0
26
0
-1
0
0
0
0
0
0
0
0
-48
0
0
0
1
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
-39
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
0
0
-5
0
0
0
3
0
0
-3
0
0
0
0
0
-5
-14
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
0
1
-6
0
55
0
0
0
0
0
0
-7
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-5
-4
0
0
0
0
0
-3
-21
-8
0
0
48
0
0
0
-44
4
15
42
0
0
0
0
0
30
-4
3
0
0
0
0
0
-2
26
-13
0
0
0
0
0
0
0
31
-16
1
0
-6
0
0
0
3
13
-6
-19
3
0
7
0
0
0
0
-73
17
0
-4
38
0
0
0
0
1
0
24
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
-4
-32
2
0
0
-11
0
0
0
-1
0
-5
-17
0
0
0
0
0
-4
51
8
5
0
0
0
0
0
6
-4
4
0
0
0
0
0
0
-1
7
-14
0
0
0
0
0
0
-4
39
0
38
-6
1
0
0
0
0
0
0
0
0
54
0
0
0
0
-5
0
-24
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
33
0
0
0
3
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
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
9
0
0
-14
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
19
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
28
0
0
0
-13
0
0
0
26
0
-9
60
0
0
0
0
0
18
-4
7
0
0
0
0
0
0
-11
-4
9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-13
4
0
46
0
0
0
0
0
0
-9
0
0
0
97
0
0
0
0
0
0
-22
0
0
0
0
0
0
10
0
-6
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
10
-3
1
6
0
4
0
0
0
-7
-24
0
0
0
0
0
0
0
-9
-15
-12
-2
0
2
0
0
0
30
-11
0
0
0
0
0
0
0
9
34
1
24
0
-30
0
0
0
0
-28
-1
0
0
-3
0
0
0
-2
0
0
30
0
0
0
0
0
0
4
0
2
0
0
0
0
0
5
22
5
0
0
-50
0
0
0
6
-3
-3
19
0
-2
0
0
0
15
33
0
0
0
0
0
0
0
37
9
-1
-1
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
5
-6
0
-60
0
-8
0
0
0
1
14
2
-2
0
-58
0
0
0
0
0
0
29
0
0
0
0
0
0
2
-8
5
0
0
0
0
0
13
-28
-3
0
0
27
0
0
0
-6
-1
5
-25
0
0
0
0
0
11
-24
5
0
0
0
0
0
3
13
-4
-3
-2
0
-1
0
0
0
23
-2
0
-2
0
0
0
0
0
19
28
-13
25
0
-5
0
0
0
-5
17
-3
0
0
-29
0
0
0
-15
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-40
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
0
0
0
38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
0
0
-30
0
0
0
0
0
0
0
0
4
0
0
0
0
23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
4
0
0
32
0
0
0
0
0
0
-13
2
0
0
37
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
10
1
0
0
2
0
0
0
-1
-1
1
57
0
5
0
0
0
1
-5
-6
0
0
0
0
0
0
16
5
-9
0
0
0
0
0
0
16
-55
1
0
2
0
0
0
0
-7
18
0
22
0
-2
0
0
0
0
-17
1
0
0
73
0
0
0
0
0
0
5
0
0
0
0
0
-2
4
-1
-1
0
0
0
0
0
3
-49
2
0
0
-3
0
0
0
-33
9
0
-11
0
1
0
0
0
13
7
-5
0
0
3
0
0
0
3
9
-10
3
0
1
0
0
0
-3
7
5
1
0
0
0
0
0
27
18
1
0
0
0
0
0
0
-5
-15
6
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
6
47
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
-2
20
6
0
0
0
0
0
0
-2
-6
5
12
0
-2
0
0
0
0
-7
-1
0
0
20
0
0
0
-5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
2
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
-15
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-37
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
1
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
4
0
0
0
0
0
8
18
1
0
0
59
0
0
0
-6
0
-10
21
0
0
0
0
0
13
-19
0
0
0
2
0
0
0
-4
22
0
0
0
0
0
0
0
-1
1
5
3
0
0
0
0
0
0
0
0
29
0
1
0
0
0
-1
10
0
0
-1
41
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
-16
0
0
0
69
0
0
0
-1
-11
0
36
0
0
0
0
0
-7
21
1
0
0
1
0
0
0
0
-26
0
0
0
0
0
0
0
11
-25
-1
0
1
0
0
0
0
1
-5
-8
-41
0
20
0
0
0
1
8
1
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
30
0
0
0
-3
0
1
-29
0
0
0
0
0
-1
2
-3
0
0
0
0
0
0
-18
-11
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
0
-8
1
1
-7
1
0
0
0
0
0
3
5
0
0
16
0
0
0
-1
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-1
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
5
0
0
-11
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
17
17
0
6
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
7
0
0
11
0
0
0
0
0
0
5
0
0
0
64
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-9
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
29
0
0
19
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
50
0
0
0
0
0
0
0
13
-1
-4
-70
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
13
0
7
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
2
-4
0
35
0
0
0
0
0
0
6
0
0
0
-46
0
0
0
0
0
0
1
0
0
0
0
0
-6
-1
-9
2
0
0
0
0
0
1
31
-8
0
0
0
0
0
0
-6
10
12
-38
0
0
0
0
0
-23
-23
-25
0
0
-19
0
0
0
7
-2
6
-3
0
0
0
0
0
-27
-3
1
0
0
5
0
0
-3
36
3
14
21
0
0
0
0
0
2
13
-1
0
0
-59
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
6
-22
-7
-1
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
0
21
0
0
0
-44
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
2
-2
-1
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
12
-4
-3
-8
0
0
0
0
0
6
-31
-1
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-11
18
0
2
0
-1
0
0
0
8
3
9
-17
0
-2
0
0
0
-5
-7
-4
0
0
-2
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
49
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
11
0
0
0
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
-7
0
0
0
0
0
0
10
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-2
0
0
-45
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
2
18
0
-17
0
0
0
0
0
-1
0
-7
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
3
-1
0
0
1
1
0
0
0
1
2
-5
-14
0
0
0
0
0
-1
8
0
0
0
21
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-22
6
0
0
0
0
0
0
6
4
0
64
0
0
0
0
0
-30
-15
-5
-1
0
0
0
0
0
-13
0
0
-5
0
0
0
0
0
0
-16
11
0
0
0
0
0
0
0
-2
0
-25
0
0
0
0
0
-11
3
7
0
0
25
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
5
1
0
39
0
0
0
0
0
11
-13
2
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
-8
-4
0
30
0
0
0
0
0
-2
14
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-14
0
0
0
0
0
0
-5
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
5
4
3
0
0
0
0
0
0
0
16
0
-4
0
0
0
0
0
0
-7
0
0
0
84
0
0
0
0
0
0
-17
0
0
0
0
0
3
-10
0
4
0
0
0
0
0
-2
21
5
0
0
0
0
0
0
0
8
0
48
0
0
0
0
0
3
-4
-10
-1
2
0
0
0
0
0
2
-20
0
0
0
0
0
0
-2
-1
0
0
-3
0
0
0
0
6
-1
2
0
0
6
0
0
0
1
-8
2
0
0
-9
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
16
4
-4
0
0
0
0
0
0
-15
1
1
-3
0
0
0
0
0
0
-25
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
24
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
2
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
48
0
0
0
40
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
2
-3
5
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
-17
6
2
0
0
0
0
0
0
-2
0
0
92
0
0
0
0
0
-1
-52
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-13
5
0
-4
0
0
0
0
0
2
-24
-1
0
0
0
0
0
0
0
30
2
0
0
0
0
0
0
8
6
-3
0
0
0
0
0
0
-1
3
0
-38
0
0
0
0
0
0
19
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
14
0
0
0
0
0
0
56
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
22
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
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
-3
0
0
-13
0
0
0
0
0
2
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
72
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-3
-2
-5
0
0
0
0
1
-1
0
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
28
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
-2
0
0
-62
0
0
0
2
0
0
-25
0
0
0
0
0
0
-15
0
0
3
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
27
0
0
0
-1
0
0
-35
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-50
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
57
0
0
0
0
-1
0
26
0
3
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
-3
0
0
18
0
0
0
0
0
0
15
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
12
3
0
0
-3
0
0
0
0
-27
-1
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
-9
3
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
-36
0
0
0
0
0
0
-13
-7
0
0
0
0
0
0
0
11
0
0
9
0
0
0
0
0
-3
0
0
0
0
0
0
0
11
32
0
47
0
0
0
0
0
0
23
0
0
0
73
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
-1
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-6
0
0
0
0
0
0
12
0
0
21
0
0
0
0
0
2
12
5
0
0
-49
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
9
0
0
0
68
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
10
34
0
0
-17
0
0
0
0
3
2
0
59
0
0
0
0
0
0
-18
-4
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
53
0
0
0
0
0
0
-64
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
4
1
0
-1
5
0
0
0
0
2
41
-6
0
-9
0
0
0
0
5
-2
0
-25
0
0
0
0
0
0
7
8
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
-4
1
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
8
-1
-7
0
0
9
0
0
0
2
16
-7
-5
0
0
0
0
0
7
1
1
24
0
3
0
0
0
-1
-4
-3
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
77
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
-4
0
34
0
0
0
0
0
0
2
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
42
0
0
0
8
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
22
7
11
2
0
0
0
0
0
10
3
2
1
0
0
0
0
0
2
-27
0
0
0
-9
0
0
0
0
-14
-5
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
-18
0
0
0
26
0
0
0
0
0
-2
41
0
0
0
0
0
0
2
1
0
0
0
0
0
0
4
22
6
0
0
0
0
0
0
-5
-22
3
4
2
0
0
0
0
31
13
-22
58
0
-5
0
0
0
-13
55
-37
0
0
-8
0
0
0
2
1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
-2
-44
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-7
23
5
66
0
0
0
0
0
0
-3
0
0
0
-45
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-46
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
8
0
0
0
0
-21
0
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-75
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
1
0
0
0
0
0
0
1
21
3
19
0
2
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
55
0
0
0
0
0
0
-25
0
0
0
0
0
6
-3
0
-1
0
0
0
0
0
10
-2
1
0
0
0
0
0
0
-1
-1
-8
0
0
0
0
0
0
-4
-17
0
37
0
-2
0
0
0
0
19
-10
0
0
28
0
0
0
0
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
47
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
37
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
32
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
84
1
0
0
15
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
21
0
0
0
-6
0
0
-16
0
0
0
0
0
0
6
-3
0
0
0
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
0
0
0
0
0
0
14
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
-55
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
61
0
0
0
0
0
0
-43
0
0
0
0
0
0
-30
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
35
0
0
0
0
0
0
-77
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
20
5
0
0
0
0
0
0
0
6
0
-11
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
81
0
0
0
0
0
0
24
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-13
0
0
0
0
0
0
10
-13
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
38
0
0
0
0
0
0
56
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
5
6
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
69
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
41
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
55
0
0
0
19
0
0
0
0
0
0
-58
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
1
0
0
0
0
-3
0
0
6
0
0
0
0
0
0
-6
-2
0
0
40
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
1
0
0
0
0
0
0
0
5
0
21
0
0
0
0
0
-4
-31
-3
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
-50
0
0
0
0
0
0
-27
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
0
2
-8
0
0
-1
0
0
0
9
8
-6
0
0
0
0
0
0
-2
10
-1
-37
0
-12
0
0
0
0
-13
-5
0
0
67
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
2
0
0
23
0
0
0
0
0
0
-9
5
0
0
76
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
5
0
0
0
0
0
1
16
0
0
0
44
0
0
0
0
0
0
-9
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-11
-1
3
0
0
0
0
0
0
13
1
27
4
1
0
0
0
0
12
-3
0
0
0
0
0
0
0
0
-47
-3
0
0
46
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
39
0
0
0
0
0
0
0
-4
0
0
64
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
-1
-20
-2
0
-10
-2
0
0
0
15
1
6
-6
0
0
0
0
0
-3
-3
3
10
0
2
0
0
0
3
-40
36
0
0
18
0
0
0
2
4
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
72
0
0
0
0
0
0
-3
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-1
0
-28
0
0
0
0
0
0
-5
-3
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
32
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
40
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
5
10
-1
0
0
0
0
0
0
3
-1
0
49
0
0
0
0
0
1
23
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-10
0
0
0
-17
0
0
0
0
0
0
47
0
0
0
0
0
0
38
-2
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
3
21
21
0
0
0
0
0
0
7
7
0
37
0
0
0
0
0
0
29
31
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-7
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-44
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
4
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-27
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
34
2
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
54
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
37
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-27
-2
0
31
0
0
0
0
0
0
-7
8
0
0
92
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
39
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
-1
3
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
10
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
34
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
33
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
36
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-27
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-29
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
14
-1
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
31
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-45
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
51
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
4
0
0
-9
0
0
0
0
0
0
0
-1
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-14
0
0
0
1
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
8
0
5
0
0
0
0
0
0
-1
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-38
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
-29
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
-47
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
39
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
3
0
0
-8
0
0
0
0
0
0
-64
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
48
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
19
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
-3
-2
0
5
0
0
0
0
0
0
5
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
1
0
0
-36
0
0
0
0
0
0
-11
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
77
0
0
0
0
0
0
56
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
2
0
0
0
0
0
0
-13
2
0
10
0
0
0
0
0
0
25
-3
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-48
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-32
0
0
0
1
0
0
-39
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
50
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
103
0
0
0
0
-2
0
25
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
8
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
-46
0
0
0
2
0
0
0
0
0
0
0
0
-2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
1
0
0
0
2
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
46
0
0
0
-50
0
0
0
21
-4
0
-31
0
0
0
0
0
-2
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
29
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-64
0
0
0
0
0
0
-29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
10
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
3
0
0
17
0
0
0
0
0
0
-32
-1
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
2
0
-1
20
0
0
0
0
0
0
-3
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
-2
0
0
-21
0
0
0
-12
-1
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
19
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-25
-2
0
0
55
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-65
0
0
0
2
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
60
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-40
0
0
0
0
0
1
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
11
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
22
0
0
0
-8
0
1
40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
0
43
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
20
-3
0
0
52
0
0
0
2
-2
0
28
0
0
0
0
0
-7
-11
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
58
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-31
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
2
0
0
-49
0
0
0
0
0
0
6
42
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
22
0
0
0
1
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
56
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
30
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
26
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
-1
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
22
0
0
0
0
1
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
5
-1
0
0
0
-52
0
0
0
-1
2
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-9
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
15
-1
0
1
0
0
0
0
0
-9
18
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
12
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-45
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
37
0
0
0
0
0
0
-12
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
35
0
0
0
2
0
0
-22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-2
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
39
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
39
0
0
0
63
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
9
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
-16
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
-9
0
0
0
50
0
0
0
0
0
0
123
0
0
0
0
0
0
5
1
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
-3
0
0
-63
0
0
0
7
9
1
-24
0
3
0
0
0
-10
0
38
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
16
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
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
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
-12
0
0
0
-2
0
0
-39
0
0
0
0
0
8
-11
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-9
0
0
0
-21
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-1
-22
0
0
0
-17
0
0
0
0
-5
2
0
0
0
0
0
0
10
-22
0
0
0
0
0
0
0
9
-10
10
0
0
0
0
0
0
0
-27
-4
0
0
0
0
0
0
-5
0
0
5
0
0
0
0
0
0
58
-4
0
0
-62
0
0
0
0
2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
0
0
0
8
0
0
0
-13
22
14
-4
0
-10
0
0
0
31
-12
-22
0
0
0
0
0
0
-5
1
0
0
6
0
0
0
0
0
20
-3
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-22
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
24
0
0
0
-7
0
0
4
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
101
0
0
0
-6
-1
0
32
0
0
0
0
0
12
13
0
0
0
0
0
0
0
0
11
-2
0
0
0
0
0
0
0
43
5
0
0
0
0
0
0
0
0
0
-1
0
13
0
0
0
0
-25
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-27
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
4
-13
6
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
16
6
0
0
0
0
0
0
-7
0
0
44
0
0
0
0
0
0
2
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
-8
1
0
0
-23
0
0
0
1
0
0
16
0
3
0
0
0
1
0
0
0
0
0
0
0
0
-1
9
2
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
1
-7
0
0
48
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
2
0
0
0
-3
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
0
22
0
0
0
0
0
0
14
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
23
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-37
9
0
0
-15
0
0
0
7
0
0
21
0
0
0
0
0
-1
50
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
3
16
0
-42
0
-4
0
0
0
0
25
-3
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-19
0
0
0
4
0
0
-27
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
10
0
46
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
72
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
15
-13
0
0
2
0
0
0
-2
-11
0
0
0
0
0
0
0
2
2
0
39
0
5
0
0
0
0
41
-5
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
3
0
0
-6
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
15
0
0
16
0
-4
0
0
0
-3
-1
-8
0
-3
0
0
0
0
-7
0
0
-16
0
7
0
0
0
0
17
-1
0
0
-51
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
-56
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
1
0
1
0
0
31
0
0
0
-3
42
-20
-5
0
0
0
0
0
5
25
10
-5
0
-8
0
0
0
0
1
6
7
0
49
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
45
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-19
0
0
0
50
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-5
0
0
-4
0
0
0
0
0
0
-9
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-34
-22
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
3
13
9
0
0
0
0
0
0
13
-37
4
-4
1
0
0
0
0
-3
45
29
6
16
3
0
0
0
-2
-13
3
0
0
8
0
0
0
0
35
4
-1
0
40
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
3
0
0
15
0
0
0
0
0
-2
-20
0
0
0
0
0
16
-25
-1
11
0
3
0
0
2
10
-7
11
-2
0
0
0
0
0
32
32
12
-2
19
-1
0
0
0
52
-2
-11
46
0
-27
0
0
0
7
18
-11
11
-6
-21
0
0
0
-9
28
0
24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
26
0
0
0
0
0
0
42
0
0
0
0
0
1
29
0
0
0
0
0
0
0
1
-32
0
0
0
0
0
0
0
0
-25
-2
0
0
0
0
0
0
0
-5
0
56
0
0
0
0
0
0
21
10
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
50
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
97
0
0
0
0
0
0
42
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
4
0
2
0
0
0
0
45
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
12
-52
-6
0
-2
0
0
0
0
11
4
0
158
-1
-2
0
0
0
0
13
3
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
3
-29
0
0
0
0
0
0
-4
-5
28
2
0
0
0
0
0
0
-6
-9
12
5
0
0
0
0
0
8
-11
22
67
0
10
0
0
0
0
7
37
0
0
18
0
0
0
0
3
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
-1
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
62
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-12
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
64
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
0
49
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
21
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
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
0
13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
16
0
0
0
-40
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
-5
36
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
86
0
0
0
0
0
0
-41
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
57
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
86
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
6
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
28
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-9
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
2
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
0
0
0
0
0
0
0
6
0
48
0
5
0
0
0
0
-9
0
0
0
-36
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
46
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
38
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
32
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
7
-4
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
29
-41
13
1
0
0
0
0
0
3
7
0
0
0
4
0
0
0
0
-2
-2
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
-2
0
-18
0
0
0
0
0
0
-1
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-78
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
2
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
147
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
28
10
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
20
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
-78
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
-1
1
0
18
0
0
0
0
0
0
3
-1
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
-37
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-13
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-46
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
5
0
0
0
-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
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
60
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
57
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
30
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
20
1
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-36
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-42
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
13
-3
0
0
-16
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-57
0
0
0
0
0
0
-60
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
17
25
23
0
3
0
0
0
0
-2
0
3
18
0
0
0
0
0
0
-23
-2
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
57
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-24
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
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
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
40
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
6
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
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
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-85
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
10
0
0
0
8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
65
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
43
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
58
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
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
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
61
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
73
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-2
0
0
22
0
0
0
0
0
0
6
0
0
0
-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
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
29
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
1
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
36
0
0
0
0
0
0
45
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
51
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
47
0
0
0
2
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-1
-2
0
-24
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
22
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
6
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-12
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
-5
0
0
22
0
0
0
0
0
0
-15
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-45
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
0
1
16
0
0
0
0
0
0
-10
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
-15
0
0
0
0
0
0
-53
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
26
0
0
-6
0
0
0
0
0
0
-33
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
-23
0
0
0
0
0
0
32
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
30
0
0
0
1
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
1
0
0
-5
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
-49
0
0
0
-1
1
0
0
0
0
0
0
0
-6
-3
6
0
0
0
0
0
0
0
12
-21
10
0
0
0
0
0
2
14
15
0
0
-5
0
0
0
18
-6
0
8
0
-2
0
0
0
0
38
-1
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
-2
0
0
24
0
0
0
20
1
2
-15
0
0
0
0
0
-6
5
-5
0
0
0
0
0
0
14
-1
5
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
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
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
-1
0
3
49
0
2
0
0
0
-17
41
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
2
34
0
0
0
0
0
0
0
6
-1
0
45
0
0
0
0
0
0
28
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
-47
0
0
0
0
0
0
-37
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-17
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
5
0
0
0
-3
0
0
-43
0
0
0
0
0
0
-57
-7
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
-23
1
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
44
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
4
0
0
118
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-46
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
-4
0
0
0
-2
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-11
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-18
0
0
0
0
0
0
28
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
24
0
0
0
0
0
0
4
0
0
-19
0
0
0
0
0
-3
6
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
-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
18
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
53
0
0
0
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
11
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-32
0
0
0
3
0
0
0
5
0
0
-22
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-42
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
23
5
0
0
0
0
0
0
-7
0
0
39
0
0
0
0
0
0
9
-4
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-54
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-22
0
0
0
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
-49
0
0
0
0
-1
0
-8
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
44
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
-59
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-44
0
0
0
0
4
0
-42
0
0
0
0
0
-2
-39
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
-38
0
0
0
0
0
0
25
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
-8
0
0
-4
0
0
0
-3
1
0
1
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-20
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
24
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-19
0
0
0
-2
0
0
-7
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
-5
0
0
37
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
7
0
0
0
1
0
0
3
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
15
-4
0
26
0
0
0
0
0
0
14
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
18
0
0
0
2
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-9
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
10
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
0
0
0
-28
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-14
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
52
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
75
0
0
0
0
0
0
15
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
84
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
-8
0
0
11
0
0
0
-34
-1
-1
53
0
5
0
0
0
-9
7
-28
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
39
0
0
0
50
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
75
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
-46
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
11
0
0
0
38
0
0
0
0
0
0
-24
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
46
0
0
0
2
0
0
24
0
0
0
0
0
-2
-10
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
40
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
26
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-16
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
-63
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
4
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-51
-1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
30
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
51
0
0
0
0
0
0
24
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-2
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
63
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
-45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-11
0
21
0
0
0
0
0
0
-31
5
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
40
0
0
0
1
0
6
-19
0
0
0
0
0
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-42
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
55
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-38
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
6
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
37
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
1
0
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-34
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
9
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
80
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
37
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
3
0
0
5
0
0
0
1
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-10
0
0
0
-6
-1
0
48
0
0
0
0
0
0
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
20
0
0
0
-1
0
0
-33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
0
0
-14
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-10
0
0
0
4
0
0
30
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
10
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
27
0
0
0
0
0
0
32
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
0
0
0
1
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
2
0
0
50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-2
0
0
139
0
0
0
30
0
-1
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-48
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
35
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-11
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
66
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
-28
0
0
0
-2
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
-49
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-38
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-46
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
2
0
0
37
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
-10
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
36
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
-56
0
0
0
0
0
0
66
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
7
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
7
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
1
6
0
0
0
51
0
0
0
0
1
0
-1
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
26
-6
0
0
22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
-26
0
0
0
0
0
0
105
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
45
0
0
0
-41
0
0
0
0
0
0
-19
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-19
2
0
0
0
0
0
0
3
2
0
-43
0
-1
0
0
0
0
4
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
0
0
-27
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
-60
0
0
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
5
3
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
-67
0
0
0
-2
0
2
-7
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-4
-1
0
0
2
0
0
0
0
1
-3
0
0
0
0
0
0
-2
-5
0
-22
0
2
0
0
0
0
-3
16
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
-5
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
-1
0
0
21
0
0
0
0
0
0
-20
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
2
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
7
0
0
0
-41
0
0
0
0
0
0
39
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
1
0
12
24
1
0
0
0
0
-4
-1
4
32
0
0
0
0
0
0
-17
-2
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
-44
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-3
0
-16
0
0
0
0
0
0
-12
2
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
22
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-20
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-31
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
32
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-73
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
24
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
28
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
35
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
23
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
-29
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-33
0
0
0
0
0
0
17
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-49
0
0
0
0
0
0
-48
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
4
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
-30
0
0
0
0
0
0
32
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-68
0
0
0
0
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
42
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-32
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-18
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-28
0
0
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
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
16
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
-33
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-35
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
12
0
0
0
0
0
0
29
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
13
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
12
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
2
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-9
0
0
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-19
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
-21
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-61
0
0
0
0
0
0
21
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
40
0
0
0
-4
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
6
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-7
0
0
0
0
0
0
20
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-5
0
0
0
0
0
0
38
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
27
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
47
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-41
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-16
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
20
15
0
0
0
0
0
0
-19
0
0
31
0
0
0
0
0
0
-15
-14
0
0
7
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-2
0
0
0
0
0
0
30
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
-42
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
-33
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
44
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
17
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
-15
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
22
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-23
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-14
0
0
0
0
0
0
-38
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-18
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-6
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
10
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
-4
0
0
0
0
0
0
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
0
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-13
6
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
8
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
33
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
48
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
53
0
0
0
0
0
0
18
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-10
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
41
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
13
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
3
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
-26
0
0
0
0
0
0
34
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
17
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
44
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
31
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
35
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
-26
0
0
0
0
0
0
-30
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-46
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
5
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
38
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
22
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-22
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
-34
0
0
0
0
0
0
71
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
7
0
0
0
38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
39
0
0
0
0
0
0
-17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
4
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
-48
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
18
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-19
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-42
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-53
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-34
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-66
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
0
18
0
0
0
0
0
0
36
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
-27
0
0
0
0
0
0
66
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
31
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
-14
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
40
-5
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-13
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
-36
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-17
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
-10
3
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
15
0
0
0
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-22
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-44
0
0
0
45
0
0
0
0
0
0
34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
20
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-25
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
31
0
0
0
3
0
0
0
0
0
0
-28
0
-2
0
0
0
0
-42
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
10
0
0
0
-4
0
0
0
0
-1
2
-25
0
0
0
0
0
0
1
13
0
0
0
0
0
0
2
-2
-10
0
0
0
0
0
0
7
1
1
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
-19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
31
0
0
0
37
0
0
0
0
0
0
29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
44
0
0
0
-9
0
0
0
0
0
0
13
0
2
0
0
0
0
-20
25
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
-38
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-29
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
7
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-13
-30
2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-60
0
0
0
-37
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-32
-5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
60
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-21
0
0
0
-9
0
0
0
0
0
1
3
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
13
10
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
25
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
10
0
0
0
6
0
0
0
-1
0
11
-21
0
0
0
0
0
-5
-31
1
0
0
0
0
0
0
2
11
-4
3
0
0
0
0
0
0
-20
6
0
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
5
5
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
39
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
-22
26
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
-29
-2
0
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-10
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
41
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
32
0
0
0
31
0
0
0
8
0
0
8
0
0
0
0
0
12
-43
10
0
0
0
0
0
0
9
29
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
5
8
0
-3
0
0
0
0
0
0
59
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
23
0
1
0
0
0
-4
-19
37
1
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-5
30
0
0
0
0
0
0
-49
4
0
0
-7
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-54
0
0
0
-11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
28
0
0
0
4
0
0
0
-3
0
0
24
0
5
0
0
0
0
3
7
0
0
0
0
0
0
0
19
3
0
0
0
0
0
0
-17
8
0
0
0
0
0
0
0
0
-5
0
18
0
-17
0
0
0
0
13
0
0
0
17
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-35
0
0
0
16
0
0
0
0
0
0
14
0
0
0
0
0
-2
-5
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
25
7
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
26
18
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
48
0
0
0
0
0
0
-30
0
0
0
-21
0
0
0
-4
14
0
-28
0
0
0
0
0
0
-5
32
0
0
0
0
0
0
0
-17
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
-12
0
0
0
-10
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
-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
1
0
0
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
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
40
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-51
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
48
-27
18
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
1
0
0
0
35
0
0
0
-2
30
0
0
0
19
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
35
0
0
0
-22
0
0
0
0
0
0
21
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
13
-1
0
9
0
0
0
0
0
0
11
18
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
37
0
0
0
24
0
0
0
0
0
0
-19
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
-40
0
0
0
0
0
0
13
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-27
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
20
0
0
0
-9
0
0
0
0
0
0
-29
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
1
-16
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
61
-3
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-16
1
0
0
7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-47
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-43
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
0
27
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
0
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
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
12
0
0
0
0
0
0
-45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
10
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
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
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
12
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
10
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
12
0
0
0
0
0
0
-32
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
36
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
18
-5
0
0
-8
0
0
0
-1
-1
0
-38
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
1
0
0
-9
0
0
0
0
0
0
0
0
-13
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
2
0
0
-2
0
0
0
-3
0
0
-47
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
5
0
0
0
1
9
3
-22
0
0
0
0
0
0
-22
-1
1
3
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
1
0
-2
10
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-19
0
0
0
-15
0
0
0
-1
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
11
0
0
10
0
0
0
0
0
0
-20
0
-2
0
0
0
0
-19
0
0
0
0
0
0
-1
0
13
-22
2
0
0
0
0
0
0
28
-3
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
-37
13
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-19
11
0
0
5
0
0
0
3
0
0
-44
0
-8
0
0
0
0
-47
6
0
0
1
0
0
0
0
1
15
3
0
0
0
0
0
1
6
5
-12
0
0
0
0
0
-4
4
11
-14
0
0
0
0
0
0
-11
-20
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-39
-7
0
0
7
0
0
0
0
-3
0
-47
0
6
0
0
0
-6
-12
0
43
0
3
0
0
0
-6
2
-10
-1
0
5
0
0
0
3
-19
9
26
0
0
0
0
0
42
-6
4
-7
0
13
0
0
0
0
12
6
0
0
1
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
-13
0
0
0
0
0
0
17
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
19
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
63
-9
0
0
10
0
0
0
0
0
2
-9
0
0
0
0
0
0
1
7
0
0
0
0
0
0
2
3
0
2
6
0
0
0
0
0
-13
-11
-10
0
0
0
0
0
0
21
-7
20
0
0
0
0
0
0
48
-3
0
0
5
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-33
-25
0
0
4
0
0
0
6
-1
0
-54
0
20
0
0
0
0
-51
4
1
0
0
0
0
0
0
32
32
0
4
0
0
0
0
5
-4
-21
1
0
0
0
0
7
-5
-4
3
7
0
0
0
0
0
0
17
-1
0
-1
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-44
0
0
0
0
0
0
4
0
-2
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-38
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-24
-10
0
0
11
0
0
0
1
0
0
-3
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-13
0
6
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-6
0
3
37
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-24
4
0
0
2
0
0
0
0
-9
0
-21
0
-3
0
0
0
0
-41
-1
3
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
1
-2
-5
0
0
0
0
0
0
-5
5
4
19
0
6
0
0
0
0
-9
-7
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
12
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
-27
1
3
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
11
-12
0
0
0
0
0
0
4
-3
-1
-26
0
0
0
0
0
0
-14
0
0
0
-3
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
7
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
17
0
0
0
0
0
0
-41
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
48
7
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
2
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
21
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-46
0
0
0
-2
0
0
0
0
0
0
2
0
1
0
0
0
0
-40
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
3
-14
-19
0
0
0
0
0
0
-4
1
22
12
0
0
0
0
0
0
16
-5
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
39
0
0
0
15
0
0
0
0
0
0
-55
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-10
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-7
4
0
0
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
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
-6
0
0
0
16
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
36
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-59
0
0
0
29
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
17
0
0
0
0
0
0
49
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-11
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-10
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
10
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
41
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-8
8
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
3
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
-41
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
22
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
-67
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
16
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
-5
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
25
0
0
0
0
0
0
51
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-53
0
0
0
0
0
0
43
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-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
-22
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
50
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
-30
0
0
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
0
0
0
0
0
0
-26
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
21
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
30
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
-32
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
-30
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
20
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
-2
0
0
3
0
0
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
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-29
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-27
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
-3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-42
0
0
0
-29
0
0
0
0
0
0
-26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
19
-8
-1
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
-2
-7
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
-44
0
0
0
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
16
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
-31
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-18
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
1
-2
0
0
0
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
19
1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
0
-37
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
-6
0
0
0
0
0
0
22
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
22
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
16
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
11
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
-1
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
-69
0
0
0
0
0
0
-41
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
-12
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
12
0
0
0
0
0
0
49
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
-88
0
0
0
0
0
0
-56
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
20
0
0
0
0
0
0
12
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
28
2
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-40
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
3
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
13
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
12
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-27
0
0
0
-11
0
0
0
0
0
0
-17
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
40
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
44
0
0
0
20
0
0
0
0
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-31
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-22
0
0
0
0
0
0
16
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-22
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-46
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
10
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
10
0
0
0
0
0
0
15
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-66
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
4
0
0
-12
0
0
0
0
0
4
14
0
0
0
0
0
0
-48
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
15
0
0
0
16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
-34
0
0
0
0
0
0
44
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
11
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
44
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
30
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
24
-5
0
0
8
0
0
0
0
0
0
35
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
10
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-11
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
9
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
-42
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-32
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
-4
0
0
-40
0
0
0
0
0
0
22
12
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
89
0
0
0
-53
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
14
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
31
0
0
0
0
0
0
33
0
0
0
0
0
0
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
-29
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
-11
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-13
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
-35
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
15
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-15
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
7
0
0
0
0
0
0
-23
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
15
0
0
0
14
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
10
0
0
6
0
0
0
0
1
-6
0
0
-3
0
0
0
-10
16
0
-1
0
0
0
0
0
0
17
7
0
0
1
0
0
0
13
20
10
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-56
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
35
-5
0
0
1
0
0
0
-6
7
-6
0
0
0
0
0
0
12
-26
1
0
1
0
0
0
0
1
8
12
1
0
-2
0
0
0
-1
-1
1
0
0
0
0
0
0
-3
0
6
-11
0
13
0
0
0
0
-16
0
0
0
3
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
20
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-29
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
9
-4
9
0
8
0
0
0
0
5
0
0
0
0
0
0
0
-5
-11
0
8
1
0
0
0
0
0
21
8
8
0
19
0
0
0
1
22
0
-9
0
0
0
0
0
2
1
5
0
0
0
0
0
0
0
-13
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-34
0
0
0
0
0
0
13
-1
6
0
-18
0
0
0
-7
-5
0
0
0
0
0
0
0
-1
23
-1
0
0
0
0
0
3
0
14
-31
0
0
0
0
0
0
2
-52
13
-8
0
0
0
0
0
-4
19
-3
-4
0
0
0
0
0
0
9
-1
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-34
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-11
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-86
-3
8
0
5
0
0
0
4
-8
13
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-29
10
40
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
2
0
-9
-5
0
0
0
0
0
0
5
-1
0
0
19
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
5
40
0
0
-3
0
0
0
5
-12
4
0
0
4
0
0
0
6
-31
15
0
0
3
0
0
0
-4
-6
23
8
0
-3
0
0
0
6
-12
-27
0
0
0
0
0
0
-6
10
21
12
0
0
0
0
0
0
-23
-13
0
0
2
0
0
0
4
0
-11
13
0
0
0
0
0
0
-2
0
-62
0
0
0
0
0
9
-21
-1
0
0
-2
0
0
0
0
-50
-6
0
0
-6
0
0
0
-1
-3
1
0
0
0
0
0
0
23
-21
-13
5
-4
-10
0
0
0
8
30
-21
0
0
0
0
0
0
10
-2
2
19
0
0
0
0
0
0
24
-14
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
11
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
67
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
-9
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-12
41
0
0
14
0
0
0
-1
6
5
0
0
0
0
0
0
10
-33
-2
4
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
-16
-2
-1
-3
0
0
0
0
0
-7
26
16
0
0
0
0
0
0
43
-21
0
0
11
0
0
0
1
0
-2
18
0
0
0
0
0
6
0
10
0
0
0
0
0
0
0
-16
-31
0
0
3
0
0
0
2
-2
0
0
0
5
0
0
0
-5
-5
0
50
0
0
0
0
0
0
13
-38
0
0
0
0
0
0
-2
13
-11
17
0
0
0
0
0
-1
-2
0
-4
0
0
0
0
0
-17
0
2
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
-54
0
0
0
0
0
1
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
6
0
-9
0
0
0
0
0
0
69
0
0
0
-21
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
38
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
47
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
40
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-14
-2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
-11
12
32
0
0
0
0
0
4
34
0
0
0
0
0
0
0
8
-5
24
2
0
0
0
0
0
0
-32
11
0
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
0
28
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-20
2
9
0
0
0
0
0
-2
4
11
48
0
-15
0
0
0
-6
3
-7
0
0
0
0
0
0
47
0
3
1
0
0
0
0
0
0
20
13
0
0
9
0
0
0
0
0
0
17
0
0
0
0
0
0
4
-1
-17
0
0
0
0
0
-1
8
-24
0
0
5
0
0
0
0
-1
0
0
0
1
0
0
0
12
-19
-1
6
0
0
0
0
0
-1
-1
6
9
0
0
0
0
0
5
2
8
1
0
0
0
0
0
-25
10
-1
-11
0
0
0
0
0
4
-19
15
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
35
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-33
0
0
0
-6
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-31
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
25
0
0
0
0
0
0
-24
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
39
14
0
0
0
0
0
5
-3
-3
0
0
-7
0
0
0
1
-5
2
0
0
0
0
0
0
0
51
0
14
0
0
0
0
0
0
-8
-19
23
0
1
0
0
0
7
-9
-1
17
0
0
0
0
0
13
16
-2
0
0
5
0
0
0
14
60
-12
0
0
9
0
0
0
0
0
0
-20
5
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-49
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-16
2
10
0
2
0
0
0
10
3
22
4
-15
0
0
0
0
-15
-3
4
18
0
0
0
0
0
0
-7
-11
14
0
-1
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-22
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-26
7
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-32
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-10
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
23
-8
0
0
0
0
0
0
-32
-5
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
36
21
0
0
0
0
0
0
0
-14
8
6
0
4
0
0
0
0
17
0
0
0
25
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-4
10
6
0
0
0
0
0
4
-6
-12
10
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
5
-5
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
24
-8
0
0
0
0
0
0
1
-2
3
0
0
3
0
0
0
2
0
2
3
0
0
0
0
0
0
-34
-1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
27
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-47
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
28
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-31
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-49
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
1
0
0
6
0
0
0
0
0
-4
0
0
0
0
0
0
0
11
-1
6
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
-3
-41
-1
15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-18
5
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-7
0
0
0
-1
0
0
0
-1
0
18
-40
0
0
0
0
0
0
39
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
2
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
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
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-23
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
23
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
20
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
-35
0
0
0
0
0
0
34
0
0
0
0
0
0
-45
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-21
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
48
0
0
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-12
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
-19
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-17
0
0
0
-20
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-23
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-10
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
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
-5
0
0
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
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
19
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
74
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
66
4
0
0
0
0
0
0
0
42
1
0
0
0
0
0
0
0
-29
7
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-24
12
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-41
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-30
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
36
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
6
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-58
9
0
0
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
2
0
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
4
1
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
15
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
29
0
0
0
0
0
0
-50
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
48
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-8
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
5
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
-74
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
33
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
26
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
-25
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
6
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-11
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-25
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
9
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
25
0
0
0
0
0
0
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-14
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-31
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
43
0
0
0
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
69
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-26
0
0
0
0
0
0
65
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-5
0
0
0
46
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
26
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
8
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
-52
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
21
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
27
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
-44
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
-62
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-25
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
40
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
17
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
-44
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-37
0
0
0
23
0
0
0
0
0
0
-32
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
-3
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
19
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
42
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
37
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
43
0
0
0
-13
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
45
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
41
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
23
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
0
0
0
40
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
29
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
17
0
0
0
0
0
0
42
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
16
0
0
0
25
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-21
0
0
0
34
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
23
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
43
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
-15
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-27
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
25
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
-46
0
0
0
0
0
0
53
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
26
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
-24
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
7
-1
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-31
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
40
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
6
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-24
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
23
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
33
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
9
0
0
0
0
0
0
50
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-42
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
34
-5
0
0
2
0
0
0
5
0
-3
-37
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
41
1
0
0
-18
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
-3
0
0
16
0
0
0
0
2
0
-2
0
0
0
0
0
0
-28
0
0
7
0
0
0
0
0
-5
-3
1
0
0
0
0
0
-1
-3
19
0
0
2
0
0
0
-1
0
0
-3
0
0
0
0
0
0
2
-1
0
0
-21
0
0
0
0
0
0
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
0
-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
4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
40
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
0
0
7
0
0
0
0
0
0
22
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-11
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
36
-1
0
0
-2
0
0
0
-3
-41
0
19
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
0
3
-2
1
0
0
0
0
0
-1
5
-15
0
5
0
0
0
0
1
15
-12
40
0
0
0
0
0
0
66
0
0
0
40
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
18
-2
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-2
17
3
0
-1
0
0
0
0
16
5
0
0
0
0
0
0
2
8
1
8
0
0
0
0
0
0
60
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
5
0
0
0
0
0
0
11
-7
36
-10
0
1
0
0
0
11
10
0
-10
0
0
0
0
0
-1
7
8
5
0
0
0
0
0
3
-21
-1
0
1
0
0
0
0
2
0
0
10
0
0
0
0
0
0
-30
-5
0
0
-36
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
21
0
0
-9
0
0
0
0
0
0
41
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
15
0
12
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
1
0
0
73
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-15
-12
0
0
-13
0
0
0
2
-20
1
-1
0
0
0
0
0
-14
10
0
0
0
19
0
0
0
0
-15
9
20
0
0
0
0
0
-4
23
15
0
0
0
0
0
0
0
2
-8
18
0
0
0
0
0
0
29
-2
0
1
-4
0
0
0
0
0
0
-62
0
0
0
0
0
9
0
0
-4
0
0
0
0
0
4
41
19
0
0
-3
0
0
0
-2
20
9
-12
0
0
0
0
0
2
-44
0
0
0
0
0
0
0
2
25
-21
7
0
0
0
0
0
-1
-20
3
1
0
0
0
0
0
4
-6
2
-10
0
0
0
0
0
0
33
-3
0
0
-8
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
10
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
-5
0
1
4
0
0
0
0
0
16
-36
6
0
0
-5
0
0
0
0
-13
5
12
1
0
0
0
0
2
26
0
7
0
0
0
0
0
-5
-18
0
23
-3
0
0
0
0
1
-3
23
1
0
0
0
0
0
-8
19
5
-14
0
0
0
0
0
0
12
-8
0
0
9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-32
-20
0
0
11
0
0
0
0
0
1
-31
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-11
-4
0
0
5
0
0
0
0
-27
2
0
0
0
0
0
0
0
0
0
-36
0
2
0
0
0
0
1
0
0
0
-30
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
-2
0
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
21
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-24
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
42
0
0
0
44
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
46
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
11
-8
0
0
22
0
0
0
0
-1
0
0
0
0
0
0
0
-12
15
0
1
0
0
0
0
0
0
-1
9
-10
0
3
0
0
0
1
26
0
0
0
0
0
0
0
0
-2
12
6
0
0
0
0
0
0
-29
2
0
0
13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
-1
0
0
-2
0
0
0
-6
-4
27
16
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
18
3
-11
0
3
0
0
0
2
-15
15
0
0
0
0
0
0
0
28
-1
-12
0
0
0
0
0
0
50
-4
0
0
18
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
-32
0
0
0
0
0
0
-6
-4
0
0
-7
0
0
0
4
-12
-5
13
0
0
0
0
0
-2
1
0
0
5
0
0
0
0
0
1
15
-13
0
12
0
0
0
-10
18
23
0
0
0
0
0
0
-2
-3
1
12
0
12
0
0
0
0
-1
22
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-16
0
0
0
29
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
21
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
-22
-8
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
2
1
0
-5
0
0
0
0
0
14
-34
-14
0
0
29
0
0
0
20
-21
0
-14
0
0
0
0
0
3
-20
0
-8
1
0
0
0
0
0
36
5
-16
0
0
0
0
0
-2
-5
1
-5
0
0
0
0
0
0
-27
1
0
0
0
0
0
0
0
20
-4
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
-10
0
0
0
-5
0
0
-12
0
0
0
0
0
1
37
0
0
-18
0
0
0
0
0
-2
18
-29
3
-2
0
0
0
-12
13
3
-11
28
0
0
0
0
0
2
5
4
0
0
0
0
0
0
22
2
-5
0
-13
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
32
0
0
0
-13
0
0
0
0
0
0
-61
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
27
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
34
2
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
35
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
14
0
0
0
0
0
1
-9
0
0
0
-3
0
0
0
0
-1
0
10
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
1
-43
-11
0
0
0
0
0
0
0
4
0
9
0
0
0
0
0
0
0
15
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
11
33
0
0
7
0
0
0
0
42
3
-6
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
15
32
0
0
-12
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
15
0
0
0
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-27
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
24
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-50
0
0
0
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
-31
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-9
0
0
0
0
0
0
-69
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
40
0
0
0
-12
0
0
0
0
0
0
-45
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
10
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
0
17
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-35
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-39
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-21
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-12
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-23
0
0
0
4
0
0
0
1
0
0
-8
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
24
0
-27
0
0
0
0
0
0
7
2
0
0
13
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
11
0
0
0
21
0
0
0
4
7
1
-11
0
1
0
0
0
-10
14
0
3
0
-5
0
0
0
-5
-29
-18
2
0
3
0
0
0
5
-26
1
0
0
0
0
0
0
0
-2
-1
26
0
0
0
0
0
0
12
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
42
0
0
0
0
0
-8
-15
1
0
0
5
0
0
0
-14
-4
6
28
0
0
0
0
0
-1
-3
-4
0
0
0
0
0
0
2
20
3
-1
0
9
0
0
0
-26
-7
6
0
0
0
0
0
0
-15
-7
14
24
0
0
0
0
0
-2
26
21
0
0
18
0
0
0
0
0
8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
59
0
0
0
23
0
0
0
11
-5
0
12
0
0
0
0
0
1
2
-3
0
0
0
0
0
0
0
6
3
0
0
-1
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
7
0
0
9
0
0
0
0
7
0
-50
0
0
0
0
0
3
0
0
-33
0
0
0
0
0
8
-6
-9
-3
0
17
0
0
0
-8
-1
-4
0
0
2
0
0
0
0
8
12
-3
0
0
0
0
0
-12
-35
7
3
-5
-24
0
0
0
29
-41
9
-2
-1
0
0
0
0
-24
-30
-7
-5
8
11
0
0
0
-7
39
-8
5
0
0
0
0
0
2
24
13
-6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-42
5
-5
0
13
0
0
0
7
-5
-8
-15
0
-2
0
0
0
-6
-2
-2
1
0
0
0
0
0
4
-13
0
0
0
-1
0
0
0
-6
11
-5
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-24
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
11
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-25
0
0
0
19
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
0
-35
11
3
0
9
0
0
0
0
-8
4
5
0
3
0
0
0
-22
-1
0
0
0
0
0
0
0
1
1
-21
0
0
0
0
0
0
-21
-5
-3
0
0
0
0
0
0
-23
3
8
18
0
0
0
0
0
7
-20
31
0
0
35
0
0
0
2
0
1
1
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
1
20
-1
4
0
-5
0
0
0
6
8
0
16
0
0
0
0
0
-4
6
-7
0
0
0
0
0
0
-32
32
6
0
0
40
0
0
0
-27
-1
-9
20
0
0
0
0
0
27
-11
5
9
0
0
0
0
0
-2
-1
39
8
0
-1
0
0
0
16
12
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-10
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
-36
6
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
5
-45
17
14
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-46
14
2
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-22
1
0
0
-13
0
0
0
0
0
2
16
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
7
-5
-13
0
0
-2
0
0
0
0
2
-3
0
1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
11
8
0
0
-10
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-74
-1
0
0
-15
0
0
0
0
0
0
-35
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-26
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
-9
0
0
35
0
0
0
-4
1
1
-8
-2
16
0
0
0
0
-18
-2
0
0
0
0
0
0
0
1
5
0
9
1
0
0
0
20
26
0
0
0
0
0
0
0
1
42
-27
-43
0
0
0
0
0
5
81
-10
0
0
-1
0
0
0
8
15
-2
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-38
0
0
0
31
0
0
0
3
0
4
26
0
-1
0
0
0
0
-39
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
12
-8
-7
0
0
0
0
0
0
2
4
0
10
0
0
0
0
0
3
-32
20
-6
0
25
0
0
0
0
0
16
26
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
-27
0
0
0
-5
0
0
0
-18
0
0
3
0
0
0
0
0
0
40
3
0
0
0
0
0
0
0
-38
-3
0
0
14
0
0
0
0
-34
-16
4
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
-4
0
0
5
0
0
0
7
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-9
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
45
0
0
0
12
0
0
0
0
0
0
51
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
9
-1
0
0
38
0
0
0
0
0
0
17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-36
0
-3
0
0
0
0
0
0
-12
0
44
0
0
0
0
0
0
5
36
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-46
-1
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-15
-1
-1
0
0
0
0
0
7
-10
-9
0
0
0
0
0
0
1
-23
41
0
0
3
0
0
0
0
-1
0
70
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
8
0
0
0
0
0
0
0
-7
7
0
0
7
0
0
0
4
-32
-6
1
0
0
0
0
0
-12
6
-1
-16
0
0
0
0
0
0
-8
-15
0
0
-4
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
16
0
0
0
28
0
0
0
0
0
0
-12
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
31
0
0
0
0
0
0
-15
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
12
16
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
-27
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-45
0
0
0
17
0
0
0
0
0
0
25
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-16
0
0
0
6
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-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
34
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
-27
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-35
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
35
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-29
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-73
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
27
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
40
14
0
0
-19
0
0
0
2
0
0
-14
0
0
0
0
0
1
7
7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-91
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
0
0
0
24
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-20
1
0
0
0
0
0
0
2
0
0
43
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-17
0
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-42
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-14
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-17
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
6
0
0
0
-21
0
0
0
0
0
0
78
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
2
0
0
13
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
26
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
-38
-2
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
-26
-2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
-30
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
28
0
0
0
-21
0
0
0
0
0
0
44
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
20
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
22
0
0
0
-27
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
-3
7
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
33
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
24
2
3
0
-12
0
0
0
-16
0
-2
4
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-38
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-42
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
2
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-36
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-8
0
0
0
-18
0
0
0
-2
-1
0
16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
2
2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
20
0
0
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-17
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-22
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
19
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
43
0
0
0
-10
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-23
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
-22
0
0
0
-5
1
0
41
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
1
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
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
42
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
9
0
0
0
0
0
0
28
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
-32
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
0
0
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
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
28
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-22
25
0
0
10
0
0
0
18
1
-1
-24
0
3
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
12
0
0
0
0
0
0
52
1
0
0
-27
0
0
0
0
-7
14
-6
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
5
0
0
5
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-4
28
0
0
0
0
0
0
15
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
0
13
-12
0
0
0
0
0
13
-17
-21
3
0
25
0
0
0
0
0
5
-16
0
1
0
0
0
0
-28
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-2
-19
1
7
1
0
0
0
0
0
9
2
-5
0
0
0
0
0
-1
-11
-5
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
26
0
0
0
-1
0
0
0
0
0
0
47
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
30
0
0
0
-19
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-11
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
54
13
0
0
5
0
0
0
-5
0
0
15
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
0
0
1
-13
0
2
0
0
0
0
21
0
0
0
4
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
32
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
3
-16
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-25
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
7
-18
0
0
0
0
0
0
7
2
0
0
-12
0
0
0
20
0
20
-2
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
4
-34
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-6
-14
0
0
0
0
0
0
28
0
0
0
26
0
0
0
0
0
0
49
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
-33
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
36
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
0
37
0
0
0
0
0
0
27
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
4
0
-28
0
0
0
0
0
0
-22
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
13
36
-7
0
0
0
0
0
0
-2
-15
6
0
-9
0
0
0
-5
-3
23
10
0
4
0
0
0
-1
-16
11
0
0
0
0
0
0
0
10
-25
0
0
5
0
0
0
1
17
0
0
3
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-7
0
0
0
-28
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
11
0
0
0
0
0
0
27
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
10
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
32
-2
0
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
12
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-46
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
-8
-1
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
-15
1
0
0
-15
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-24
0
0
0
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-28
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-18
0
0
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
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-40
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
60
0
0
0
0
0
0
-3
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-12
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-15
-1
4
0
0
0
0
0
-6
0
0
14
0
0
0
0
0
7
-51
5
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-5
-43
0
0
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
43
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-19
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-30
0
0
0
4
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-10
0
0
0
13
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-37
0
0
0
4
0
0
0
0
0
0
75
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
9
0
0
0
3
0
0
0
0
0
8
-24
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
23
0
0
0
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
-16
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-77
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-39
-3
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
25
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
0
0
33
0
0
0
0
0
0
-24
0
0
0
0
0
0
-38
-12
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-8
0
0
0
0
0
0
-50
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
-15
0
0
0
0
0
0
-53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
22
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
27
0
0
0
18
0
0
0
0
0
0
-37
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-51
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
-26
0
0
0
0
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
46
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
11
0
0
0
0
0
0
17
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-5
16
0
0
0
-2
0
0
0
-1
6
-1
-35
0
0
0
0
0
0
35
-2
0
0
0
0
0
0
0
11
-4
2
2
0
0
0
0
2
13
-10
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
51
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
-20
0
0
0
3
0
0
34
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
1
16
-1
0
0
-1
0
0
0
0
19
11
0
-1
0
0
0
0
-1
-3
-1
21
1
-3
0
0
0
3
33
-11
-1
0
0
0
0
0
-2
-2
-2
-12
0
0
0
0
0
0
30
2
0
0
7
0
0
0
1
-3
-1
18
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
32
17
0
0
25
0
0
0
-33
0
0
-21
0
4
0
0
0
5
28
-5
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
-5
-2
0
0
0
0
0
0
0
-7
0
7
0
0
0
0
0
0
-37
-7
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
21
0
0
0
-23
0
0
0
0
0
0
-46
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
7
2
0
0
1
0
0
0
0
-22
3
0
0
0
0
0
0
4
7
0
-24
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
20
0
0
0
0
9
-1
-14
0
-5
0
0
0
3
-23
0
0
0
0
0
0
0
0
-13
3
0
0
-7
0
0
0
0
-24
21
0
-5
0
0
0
0
-2
18
-2
-1
0
0
0
0
0
0
13
-8
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-15
0
0
0
53
0
0
0
0
0
0
-57
0
-13
0
0
0
0
-7
-6
0
0
0
0
0
0
0
-2
8
-7
0
-3
0
0
0
0
-8
-7
0
0
1
0
0
0
0
25
1
-28
0
0
0
0
0
0
26
0
0
0
-39
0
0
0
0
0
0
16
0
0
0
0
0
-1
0
0
17
0
0
0
0
0
1
26
0
0
0
14
0
0
0
8
3
0
24
0
-1
0
0
0
-15
-25
10
3
0
0
0
0
0
-2
4
-6
-6
0
1
0
0
0
0
9
5
0
0
0
0
0
0
-4
-15
0
28
0
0
0
0
0
-22
24
0
0
0
7
0
0
0
-1
0
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-22
0
0
0
-16
0
0
0
0
-1
2
10
0
0
0
0
0
0
-25
-10
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
-9
35
-4
0
8
0
0
0
0
0
0
0
-32
0
3
0
0
0
0
35
1
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
39
0
0
0
-7
0
0
0
29
0
0
24
0
2
0
0
0
-1
40
13
0
0
0
0
0
0
0
-3
2
0
1
15
0
0
0
-7
-18
24
0
2
0
0
0
0
3
-4
2
-25
0
7
0
0
0
0
31
18
0
0
-7
0
0
0
1
-1
0
-30
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
38
0
0
0
57
0
0
0
0
0
0
52
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
0
0
0
1
0
0
0
0
9
0
9
0
0
0
0
0
0
51
-3
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-68
0
0
0
0
0
0
25
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
1
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
0
0
-10
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-9
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
3
-24
1
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
6
-1
0
18
0
8
0
0
0
0
57
-2
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
0
0
10
0
0
0
0
0
0
1
0
1
0
0
0
0
33
0
0
0
0
0
0
0
1
8
-5
-2
6
0
0
0
0
-13
-1
-6
0
0
2
0
0
0
2
-2
1
-39
0
-6
0
0
0
-1
7
24
-5
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
7
-34
3
0
0
-6
0
0
0
-5
0
6
-15
0
1
0
0
0
0
-20
-14
2
1
0
0
0
0
0
-24
1
0
0
10
0
0
0
10
-26
19
8
0
0
0
0
0
4
-17
0
-34
0
4
0
0
0
0
21
5
0
0
23
0
0
0
-4
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-24
0
0
0
-24
0
0
0
0
0
0
22
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
27
1
1
0
0
0
0
0
21
0
0
5
0
0
0
0
0
0
4
7
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
0
0
0
0
0
1
23
-19
0
0
10
0
0
0
2
-3
0
0
0
0
0
0
0
3
-35
18
0
0
0
0
0
0
2
-46
-6
1
0
-1
0
0
0
-22
-28
46
17
1
-5
0
0
0
-1
-1
0
0
0
4
0
0
0
1
8
-5
2
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-21
0
0
0
-4
0
0
0
3
0
-1
-9
0
0
0
0
0
1
19
0
0
4
2
0
0
0
-13
7
-7
-1
-1
-16
0
0
0
-20
15
5
75
4
14
0
0
0
-64
-23
4
-27
0
9
0
0
0
0
-26
-18
-2
0
36
0
0
0
-1
-9
-6
-21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
0
11
0
0
0
-3
0
0
-11
0
0
0
0
0
0
-52
5
0
0
0
0
0
0
0
17
-4
0
0
3
0
0
0
0
-21
-1
1
0
2
0
0
0
-3
-4
0
5
0
0
0
0
0
0
26
-3
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
-16
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
-6
0
-14
0
0
0
0
0
0
-18
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
-3
-15
8
3
0
0
0
0
0
-8
0
1
8
-5
7
0
0
0
0
18
5
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
-12
0
0
0
-2
0
0
-48
0
0
0
0
0
1
-24
-6
0
0
0
0
0
0
-3
-11
-5
0
3
-1
0
0
0
8
23
-1
9
0
0
0
0
0
3
11
1
-23
0
2
0
0
0
-1
-20
19
0
0
-13
0
0
0
0
0
4
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
6
0
0
0
-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
-56
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
12
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
21
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
17
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
57
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
1
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
40
0
0
0
0
0
0
-27
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-28
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
2
0
0
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
46
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-11
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
31
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
30
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
11
0
0
0
58
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-8
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
17
1
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
26
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
7
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
12
13
0
0
0
0
0
0
0
0
-6
26
0
5
0
0
0
0
15
-11
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-6
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
1
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-37
0
0
0
65
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-37
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
-35
0
0
0
5
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-75
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-2
0
0
0
-48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-1
0
0
0
1
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
3
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
19
0
0
0
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
-32
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
-39
0
0
0
1
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
9
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
44
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
21
0
0
0
0
0
0
19
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
18
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
3
-6
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
7
-1
8
-7
0
0
0
0
0
0
-9
9
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
21
0
0
0
39
0
0
0
0
0
0
-25
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
4
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-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
49
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-1
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-19
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
27
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
41
0
0
0
6
17
0
57
0
0
0
0
0
1
28
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
22
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
7
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
16
0
-37
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-11
-5
0
0
0
0
0
0
-3
0
0
45
0
0
0
0
0
0
4
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
47
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
0
0
0
0
1
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
11
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
29
0
0
0
0
0
0
-42
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
1
27
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
20
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
31
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
31
0
0
0
0
0
0
28
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
1
0
0
0
27
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
3
38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
0
0
52
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-3
0
0
0
0
-3
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
11
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
36
0
4
0
0
0
1
33
5
7
0
0
0
0
0
1
11
0
0
0
0
0
0
0
-2
15
4
0
0
0
0
0
0
0
2
0
28
0
0
0
0
0
0
9
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
-2
0
0
-9
0
0
0
0
0
0
17
0
0
0
-57
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
1
-10
6
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
44
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-11
0
0
0
23
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
18
0
0
0
0
0
0
11
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-19
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
3
0
25
0
0
0
0
0
0
26
-6
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
-18
11
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
21
2
0
0
-1
0
0
0
0
-2
0
-25
0
0
0
0
0
0
-14
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-58
0
0
0
0
0
0
-20
0
0
0
0
0
0
-48
3
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-7
0
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
0
0
-11
0
0
0
0
1
0
-1
0
0
0
0
0
0
-18
-3
3
7
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-23
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
21
-16
0
-1
0
0
0
0
0
5
-28
-9
0
0
1
0
0
0
-35
2
-5
-7
0
3
0
0
0
0
9
21
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-11
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
35
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
1
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
-57
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-43
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
-27
0
0
0
0
0
0
47
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
-22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-5
0
0
4
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-35
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-8
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-11
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
-2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
-4
-24
-4
0
0
0
0
0
0
0
0
4
21
0
-8
0
0
0
0
24
2
0
0
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
-2
0
0
36
0
0
0
0
0
0
16
0
0
0
0
0
-3
11
1
0
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
0
-31
0
0
0
0
0
0
9
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
6
0
39
0
0
0
0
0
0
6
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
33
0
0
0
0
0
-3
10
0
3
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
46
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
20
2
0
0
7
0
0
3
0
0
3
0
0
0
0
0
0
0
40
11
-3
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
-20
12
0
0
0
0
0
0
2
1
1
-31
0
0
0
0
0
0
13
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
27
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-32
0
0
0
-42
0
0
0
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
36
-2
0
0
0
0
0
0
-6
0
0
-19
0
0
0
0
0
0
-11
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
0
0
0
0
15
-4
0
0
-29
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
36
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
52
0
0
0
0
0
0
59
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
-6
33
0
0
0
0
0
0
36
10
0
0
-61
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-26
0
0
0
43
0
0
0
0
0
0
-17
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
3
0
0
0
0
0
0
5
0
2
-7
0
0
0
0
0
0
-2
-6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
-4
0
0
-35
0
0
0
0
0
1
18
5
0
0
0
0
0
0
1
4
2
0
0
6
0
0
0
-5
2
14
0
0
0
0
0
0
15
-6
0
-2
0
4
0
0
0
0
20
31
1
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
46
0
0
0
0
0
0
20
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
3
0
2
0
0
0
0
-44
0
0
0
0
0
0
0
0
22
2
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-24
4
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
0
3
33
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
15
14
-2
-5
0
0
0
0
0
25
-15
0
0
13
0
0
0
0
11
2
3
6
0
0
0
0
0
0
-36
-30
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-27
0
0
0
0
0
0
-51
0
0
0
0
0
0
18
0
0
0
0
0
0
0
9
2
0
0
0
2
0
0
0
0
25
-7
0
0
0
0
0
0
2
-2
-2
-91
0
0
0
0
0
0
-16
34
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
36
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-9
14
0
0
0
0
0
0
0
1
0
-29
0
9
0
0
0
0
-10
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
-35
0
0
0
7
0
0
0
0
0
0
0
0
-8
56
0
0
0
0
0
0
0
0
20
-7
0
0
3
0
0
0
1
7
-8
0
0
0
0
0
0
-9
-19
5
4
0
0
0
0
0
2
-23
-6
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
18
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
27
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
18
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
9
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
8
0
0
0
53
0
0
0
16
0
0
13
0
0
0
0
0
0
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-38
8
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
30
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
4
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
27
0
0
0
20
0
0
0
0
0
0
-32
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
28
-2
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
-12
0
0
0
0
1
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
24
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-12
2
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
42
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
19
0
0
0
-22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
0
-17
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
3
0
0
0
0
0
0
-44
1
0
-24
0
0
0
0
0
0
-27
10
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
16
0
0
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
-2
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
23
0
0
0
0
0
0
11
0
0
0
0
0
0
-26
31
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
-24
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
17
-16
0
0
0
0
0
0
-2
2
0
6
0
0
0
0
0
0
4
8
5
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
22
0
1
0
0
0
0
-1
1
0
0
-21
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
-14
0
0
0
0
0
0
-37
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
0
0
17
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-63
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
13
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
37
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
0
0
-9
0
0
0
0
0
0
13
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
35
0
0
0
-63
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
4
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
24
0
0
0
36
0
0
0
0
-5
0
-24
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
12
-2
0
0
0
14
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
1
0
0
19
0
0
0
0
0
0
16
24
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
10
0
0
0
-12
0
0
0
0
0
0
33
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
21
0
0
1
0
0
0
0
3
0
0
-14
0
0
0
0
0
0
10
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
15
0
0
0
0
0
0
21
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-5
0
0
-14
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
46
0
0
0
0
-1
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-11
0
0
0
-32
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
0
8
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
1
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-5
0
0
0
-6
0
0
0
-3
0
2
-46
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
8
0
0
45
0
0
0
0
0
0
-17
5
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
0
0
0
-32
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
21
0
0
0
0
0
0
-21
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
28
0
0
0
0
0
0
-12
0
1
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
3
-30
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
2
0
0
16
0
1
0
0
0
0
-19
3
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
29
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-2
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
44
0
2
0
0
0
0
-34
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
35
0
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
58
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
-26
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
26
0
0
0
-67
0
0
0
0
0
0
7
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
0
0
0
-15
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
-17
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
31
0
0
0
-49
0
0
0
0
0
2
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-12
-38
0
0
0
0
0
0
3
0
0
-6
0
0
0
0
0
0
-22
1
0
0
-28
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
0
-46
0
0
0
3
0
3
-36
0
1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
63
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
-21
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
-1
16
0
-12
0
0
0
0
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
-7
0
0
-26
0
0
0
0
0
0
-7
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-20
0
0
0
-11
0
0
0
0
0
0
-38
0
4
0
0
0
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
0
0
0
0
0
-1
0
0
-37
0
0
0
0
0
0
13
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
-35
0
0
0
0
0
0
16
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
-61
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
-26
0
0
0
0
0
0
-16
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
14
0
-10
0
-4
0
0
0
0
1
2
0
0
41
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
0
0
-6
0
0
0
1
0
0
-12
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
1
0
0
63
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
26
0
0
0
-32
0
0
0
1
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-15
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
0
0
20
0
0
0
0
0
0
3
14
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
20
0
0
0
0
0
0
38
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
5
0
0
0
0
-2
0
27
0
0
1
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
67
0
0
0
0
0
0
29
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-9
-6
0
0
1
0
0
0
19
9
1
-7
0
1
0
0
0
0
-28
-4
3
0
40
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
77
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-57
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
34
0
0
0
0
0
0
-34
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
41
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
42
0
0
0
0
0
0
-39
4
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
19
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-25
0
-2
0
0
0
0
3
-4
0
0
13
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-3
0
0
2
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
10
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
6
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
29
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-47
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
-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
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-1
0
0
-24
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-34
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-7
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
-9
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
8
-7
0
0
0
-6
0
0
0
4
0
-2
-40
0
30
0
0
0
26
6
-18
0
0
0
0
0
0
3
-3
13
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
26
0
0
0
-2
-10
3
-5
0
26
0
0
0
-5
-18
41
0
0
0
0
0
1
2
11
15
5
0
2
0
0
0
6
-11
29
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
10
0
0
0
17
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
-17
0
0
0
0
0
0
50
0
0
0
0
0
0
50
5
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
1
-8
0
0
0
22
0
0
-14
0
10
0
0
0
0
-27
16
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
-14
0
0
0
-4
0
0
0
-2
0
-1
58
0
0
0
0
0
0
16
8
0
0
26
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
-12
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
3
0
0
20
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
7
0
0
0
-12
2
6
36
0
8
0
0
0
11
13
6
0
0
0
0
0
6
-10
7
-2
-2
0
-9
0
0
0
-11
-16
-6
0
0
0
0
0
0
1
0
-1
-8
0
0
0
0
0
0
-13
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
-7
0
0
0
0
0
0
-2
6
1
0
0
21
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
50
0
0
0
0
0
0
-36
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
-47
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
23
0
0
0
-38
0
0
0
0
3
13
26
0
-3
0
0
0
-5
43
0
0
0
0
0
0
0
7
62
12
0
-2
0
0
0
0
0
-3
0
-12
-7
0
0
0
0
1
3
0
-11
0
0
0
0
0
0
40
0
0
0
-2
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
-39
0
0
0
15
0
0
0
-12
-1
13
-31
0
20
0
0
0
13
2
21
0
0
-23
0
0
0
-1
15
23
2
0
5
0
0
0
10
24
3
0
0
0
0
0
0
-1
0
-19
10
0
0
0
0
0
0
0
5
1
0
-15
0
0
0
1
0
0
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
13
0
0
0
-19
0
0
0
19
10
1
-2
0
0
0
0
0
4
-51
46
1
0
0
0
0
0
-5
18
4
9
0
-3
0
0
0
-13
-29
-12
0
0
0
0
0
0
6
0
-3
34
-12
30
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
15
0
0
0
0
0
0
39
0
0
0
0
0
0
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
25
0
0
0
0
0
0
10
0
0
0
-10
0
0
0
-3
0
0
-32
0
1
0
0
0
-8
-7
-2
0
0
0
0
0
0
13
41
0
0
0
0
0
0
0
-3
23
1
0
0
0
0
0
0
5
2
20
50
0
0
0
0
0
0
12
3
-6
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-12
0
0
0
-13
0
0
0
4
-9
-5
-10
0
9
0
0
0
-29
-16
13
1
0
0
0
0
0
-15
-2
-6
0
0
1
0
0
0
0
-46
-1
-2
0
0
0
0
0
1
0
-1
-22
0
0
0
0
0
0
-18
0
0
0
-17
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
47
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-28
0
0
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
-19
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
25
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-29
0
0
0
31
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-32
0
0
0
-38
0
0
0
-2
0
-4
5
0
3
0
0
0
9
15
1
0
0
0
0
0
0
1
35
1
-2
-1
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
-10
-2
14
0
27
0
0
0
0
-6
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
-19
0
0
0
2
0
1
52
0
16
0
0
0
5
15
28
1
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-5
-27
-11
0
0
-3
0
0
0
-7
0
-2
-22
0
0
0
0
0
0
-16
20
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
0
17
24
0
0
0
0
0
0
11
0
0
0
-15
0
0
0
-13
20
-1
-2
0
1
0
0
0
-30
18
-17
0
0
9
0
0
0
0
-35
3
-3
0
1
0
0
0
-9
23
-4
0
0
0
0
0
0
0
-1
12
-26
0
0
0
0
0
1
-58
4
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
4
0
0
-18
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
33
0
0
0
0
0
0
-14
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
2
4
0
-1
0
0
0
0
0
0
-16
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
1
3
0
-31
0
0
0
0
0
0
-44
0
0
0
-13
0
0
0
5
6
1
-3
-4
2
0
0
0
13
70
13
0
0
0
0
0
0
0
4
10
0
0
1
0
0
0
-5
67
1
3
1
0
0
0
0
-4
5
-6
0
0
1
0
0
0
12
17
1
8
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
1
0
0
5
0
0
0
-5
39
-18
0
0
-2
0
0
0
-1
17
-1
0
0
0
0
0
0
13
-16
0
-23
0
3
0
0
0
1
-2
-16
4
0
-8
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
-42
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
56
0
0
0
0
6
0
-16
0
0
0
0
0
6
-29
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
-55
0
0
0
0
0
0
-34
0
0
0
0
0
0
50
4
0
0
0
0
0
0
1
-4
0
-1
0
0
0
0
0
5
18
9
0
0
0
0
0
0
-5
7
0
-14
0
0
0
0
0
0
10
-1
0
0
-38
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
-20
0
0
0
-1
0
0
5
0
0
0
0
0
11
5
1
0
0
0
0
0
0
0
-1
18
0
0
1
0
0
0
2
1
-9
0
0
1
0
0
0
-1
2
20
-2
0
4
0
0
0
0
-7
3
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
25
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-1
0
0
0
0
0
0
-58
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
-19
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
-44
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-41
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-22
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
35
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
13
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
29
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
10
0
0
0
-26
0
0
0
0
-1
0
33
0
-2
0
0
0
6
28
5
4
0
7
0
0
0
0
7
7
0
0
0
0
0
0
-2
-2
5
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
7
4
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
-26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
-18
0
0
39
0
0
0
2
-1
0
20
0
0
0
0
0
0
46
0
-2
0
0
0
0
0
0
12
-9
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-16
0
0
0
-6
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
0
0
-69
0
0
0
-3
-9
0
0
0
46
0
0
0
0
6
5
1
4
0
0
0
0
0
15
-2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
4
0
0
23
0
0
0
0
0
0
13
0
0
0
19
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
-1
0
0
13
0
0
0
0
1
0
43
0
9
0
0
0
13
-12
12
6
0
0
0
0
0
3
-10
-1
0
0
0
0
0
0
-2
20
1
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
2
-13
0
0
0
19
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-5
-7
-1
0
0
-37
0
0
0
8
12
3
75
0
0
0
0
0
0
7
-1
-1
4
0
0
0
-1
-3
28
-10
0
0
0
0
0
0
1
-18
3
2
0
-3
0
0
0
4
-8
3
-2
1
-2
0
0
0
2
37
1
-4
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
24
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
13
0
0
14
0
0
0
3
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
-24
0
0
-25
0
0
0
-8
0
0
24
0
0
0
0
0
7
26
0
0
0
0
0
0
-9
0
-2
-30
0
0
0
0
0
0
0
-18
-1
0
0
0
0
0
0
0
-5
0
-36
0
0
0
0
0
0
-31
-14
0
0
53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
19
0
0
26
0
0
0
-10
3
0
12
0
-18
0
0
0
0
44
-6
0
0
-5
0
0
0
-7
11
10
7
3
5
0
0
0
-31
-26
5
-1
0
0
0
0
0
-6
-8
-6
42
0
0
0
0
0
0
26
-25
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
-9
-7
-8
0
0
26
0
0
0
4
21
-5
51
0
12
0
0
0
-1
35
-13
8
0
2
0
0
7
-13
15
0
41
0
9
0
0
0
0
19
7
5
0
0
0
0
0
2
-19
11
-24
0
-5
0
0
0
0
-16
-7
0
0
3
0
0
0
0
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
6
0
0
-23
0
0
0
-1
0
0
24
0
0
0
0
0
8
37
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
66
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
13
-4
0
0
8
0
0
0
-7
3
3
-19
0
5
0
0
0
-3
-42
16
0
4
0
0
0
0
2
-8
0
3
2
0
0
0
0
0
13
-4
13
0
0
0
0
0
-1
7
0
-6
0
0
0
0
0
0
24
2
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-31
-28
0
0
-4
0
0
0
-14
-4
0
-5
0
31
0
0
0
-3
-28
0
1
0
0
0
0
0
20
23
19
0
13
9
0
0
0
44
-15
-7
2
0
0
0
0
2
5
-14
3
7
0
0
0
0
0
0
12
-6
0
-3
6
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
24
0
0
0
0
0
0
-18
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
44
-1
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-14
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
-1
0
0
7
0
0
0
0
0
0
-60
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-16
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-30
1
0
0
7
0
0
0
-13
0
0
-50
0
-3
0
0
0
2
18
-1
7
1
0
0
0
0
8
7
8
0
8
0
0
0
0
7
-9
0
0
0
0
0
0
0
-17
-1
-6
9
0
0
0
0
0
1
-5
-7
-1
0
23
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
7
0
0
6
0
0
0
1
-4
0
28
0
4
0
0
0
0
19
-1
0
0
0
0
0
0
0
14
-13
0
0
2
0
0
0
9
-25
0
0
0
0
0
0
0
-2
9
0
-36
0
5
0
0
0
0
-13
-6
0
0
22
0
0
0
0
0
0
-11
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
22
-3
0
0
4
0
0
0
0
1
0
-13
0
-3
0
0
0
0
36
3
-1
1
0
0
0
0
-3
0
-7
-1
0
0
0
0
0
-9
-37
-39
0
0
0
0
0
0
10
4
0
6
0
0
0
0
0
3
2
-1
0
0
30
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
67
0
0
0
-6
0
0
0
0
21
0
-30
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
56
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-8
4
0
0
-50
0
0
0
0
0
0
-4
0
1
0
0
0
0
-2
0
0
1
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-24
12
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
0
-17
-11
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
11
0
0
0
20
0
0
0
0
0
0
21
0
0
0
0
0
-6
-16
0
-3
0
0
0
0
0
0
6
3
0
13
0
0
0
0
2
42
-12
0
0
-1
0
0
0
11
6
25
17
0
0
0
0
0
0
-4
-12
5
0
2
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
38
0
0
0
0
0
0
37
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
2
0
0
29
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
9
0
0
0
-30
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-23
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
7
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-62
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-7
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
50
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-15
0
0
0
0
0
0
57
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
0
-1
-2
0
0
-1
0
0
0
5
-4
-9
0
0
0
0
0
0
0
3
0
11
0
4
0
0
0
0
-27
4
0
0
-58
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-55
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
23
0
0
0
-18
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
75
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
28
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
-31
0
0
0
29
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
31
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
27
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
-40
0
0
0
0
0
0
51
0
0
-4
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
-7
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
20
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
31
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
-8
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
17
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
13
0
0
0
0
0
0
-43
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-5
5
0
-14
0
0
0
0
0
0
-10
29
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
32
0
0
0
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
0
0
0
0
0
0
9
0
1
-13
0
0
0
0
0
0
-7
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
2
0
0
0
0
0
0
20
1
0
21
0
0
0
0
0
0
5
-4
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
9
0
0
16
0
0
0
0
0
0
-21
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-6
0
0
0
-30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
39
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-17
5
-1
0
0
0
0
0
0
2
-18
-8
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
20
-16
0
0
-19
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
15
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
16
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-45
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-55
1
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
11
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
-40
0
0
0
0
0
0
-54
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
4
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-1
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
28
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
5
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
16
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
31
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
23
0
0
0
0
0
0
-46
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-4
-2
0
0
0
0
0
0
-10
0
0
10
0
0
0
0
0
0
18
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-36
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
17
0
0
0
0
0
0
-50
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-7
0
0
0
0
0
0
13
-1
0
20
0
0
0
0
0
0
0
-8
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
24
0
0
0
0
0
0
-50
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
5
17
0
0
0
0
0
0
2
0
0
30
0
0
0
0
0
0
2
0
0
0
-51
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
36
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
17
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
-12
0
0
0
0
0
0
28
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
4
-1
-6
0
0
1
0
0
0
0
2
-8
0
0
0
0
0
0
0
50
-18
0
0
0
0
0
0
2
0
2
-40
0
0
0
0
0
0
-11
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
75
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
0
0
-17
0
0
0
3
0
1
0
-5
0
0
0
0
0
22
1
0
0
0
0
0
0
-3
-3
-8
0
0
9
0
0
0
-2
-18
-2
0
0
3
0
0
0
-12
0
3
-10
0
0
0
0
0
0
-35
-9
0
0
13
0
0
0
-19
5
1
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
18
0
0
0
1
0
0
39
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
14
0
0
0
-51
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
35
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
9
0
0
0
0
0
0
2
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-19
1
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
18
8
6
0
0
0
0
0
13
2
0
3
0
0
0
0
0
0
-15
2
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
-9
0
0
0
0
0
0
24
0
3
0
0
0
-1
27
0
0
0
7
0
0
0
0
-6
0
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
-1
-2
0
-28
0
0
0
0
0
0
-8
-15
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
2
1
0
0
0
14
0
0
0
3
-2
0
19
0
0
0
0
0
1
12
-1
0
0
0
0
0
0
0
16
-3
4
0
0
0
0
0
0
12
5
0
0
0
0
0
0
7
2
0
31
0
2
0
0
0
-2
-31
0
0
0
-9
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
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
16
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
-23
0
0
0
-3
0
0
8
0
0
0
0
0
20
52
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
7
3
19
0
3
0
0
0
0
-1
-4
0
3
0
0
0
0
0
0
55
6
0
0
31
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-18
-5
0
0
7
0
0
0
0
-9
-22
0
0
0
0
0
0
7
2
0
-7
0
-1
0
0
0
0
10
-6
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-27
0
0
0
-1
0
0
-25
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-14
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
5
-4
0
-17
0
0
0
0
0
0
12
5
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
3
0
0
0
1
-2
-5
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
1
3
2
0
0
0
0
0
2
1
37
0
0
0
0
0
0
8
1
0
21
0
0
0
0
0
-6
-22
-7
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
25
0
0
0
1
0
0
-7
0
0
0
0
0
3
-10
3
0
0
0
0
0
0
3
2
-5
0
0
-1
0
0
0
-9
13
19
0
0
0
0
0
0
-1
7
0
-43
0
0
0
0
0
0
-41
-6
0
0
21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
4
19
0
-21
0
0
0
0
0
0
23
1
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
47
0
0
0
-69
0
0
0
0
0
0
34
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-6
-18
5
0
-5
0
0
0
2
0
2
0
0
0
0
0
0
0
-55
8
0
0
-15
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-14
0
0
0
54
0
0
0
-3
0
0
-21
0
0
0
0
0
5
25
3
0
0
0
0
0
0
-2
-1
5
-1
0
0
0
0
0
-20
-4
-22
-6
0
0
0
0
0
2
-11
4
-39
0
0
0
0
0
0
18
1
0
0
21
0
0
0
-5
-2
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
1
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
4
0
-15
0
0
0
0
0
0
-15
1
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-31
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
-38
0
0
0
0
0
0
-69
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
0
1
0
0
0
7
0
1
-11
0
3
0
0
0
0
0
-2
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
-45
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-2
-5
5
6
0
0
0
0
0
5
18
1
-20
0
-2
0
0
0
0
-40
17
0
0
-2
0
0
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
11
0
0
0
0
0
0
-52
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-34
0
0
0
0
-3
0
-53
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-19
9
0
0
0
0
0
0
1
0
0
35
0
0
0
0
0
0
18
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
12
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
26
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-38
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
41
0
0
0
13
0
0
-13
0
8
-1
0
0
46
0
0
0
-5
3
0
0
0
0
0
0
0
0
15
-34
1
0
0
0
0
0
-32
-14
27
0
4
0
0
0
0
-5
0
2
9
0
0
0
0
0
0
44
-4
0
0
40
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-7
10
22
0
0
0
0
0
-3
9
23
2
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
12
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
-36
0
0
0
0
7
1
-12
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
44
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-43
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
1
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
-31
0
0
0
0
1
0
17
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
0
0
0
-26
0
0
0
0
-2
0
17
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-12
0
0
0
0
0
0
0
-3
0
0
63
0
0
0
0
0
0
-18
3
0
0
-21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
5
0
0
0
19
0
0
0
0
-4
0
-28
0
-2
0
0
0
7
7
9
0
0
0
0
0
0
0
-4
2
0
0
17
0
0
0
0
-18
13
3
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
-3
8
-7
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
-2
-47
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-30
-1
0
0
0
0
0
0
3
1
0
-35
0
0
0
0
0
0
-9
0
0
0
-42
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
14
0
0
0
-1
0
0
0
0
0
0
60
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-17
5
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
16
-6
0
0
43
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
-9
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
-10
0
0
0
0
-5
0
8
0
0
0
0
0
-8
-54
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-1
0
2
46
0
0
0
0
0
0
44
0
0
0
8
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
17
0
0
0
-26
0
0
0
0
0
0
49
0
0
0
0
0
-2
48
0
0
0
0
0
0
0
10
-6
0
0
3
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
16
1
0
0
58
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-49
0
0
0
32
0
0
0
0
-6
0
27
0
0
0
0
0
-4
-3
3
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
37
26
0
0
0
0
0
0
-2
-1
0
-30
0
0
0
0
0
2
-9
18
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
-37
0
0
0
0
0
0
19
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
-26
0
0
0
0
1
0
8
0
0
0
0
0
4
12
-1
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
-1
13
0
0
-6
0
0
0
1
4
12
0
0
51
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
-39
1
0
0
-5
0
0
0
0
-1
2
-6
0
0
0
0
0
39
7
7
0
0
0
0
0
0
-4
-12
0
0
8
0
0
0
0
1
-17
-2
-9
0
0
0
0
0
-12
5
-2
-32
0
-4
0
0
0
-1
9
-2
0
0
-18
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
2
0
-5
0
0
0
0
0
3
4
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
9
0
-73
0
0
0
0
0
0
-1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
24
0
0
0
56
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
2
-48
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-11
21
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
0
24
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-64
0
0
0
20
0
0
1
0
0
0
31
0
0
0
0
0
12
20
0
0
0
0
0
0
0
4
4
9
0
0
0
0
0
0
-1
22
21
0
0
0
0
0
0
-3
6
0
-17
0
1
0
0
0
0
-11
4
0
0
-5
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-28
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
1
0
0
-15
0
0
0
3
0
9
-2
0
0
0
0
0
0
-47
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
20
8
0
0
-15
0
0
0
3
0
0
13
0
8
0
0
0
4
0
2
0
0
0
0
0
0
0
7
32
0
0
0
0
0
0
0
-22
-4
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
-6
0
0
0
-60
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
3
0
0
-12
0
0
0
0
0
0
28
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-28
-2
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-26
0
0
0
-32
0
0
0
0
0
0
0
0
22
0
0
0
0
24
-2
3
-13
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
33
7
0
0
0
0
0
0
23
2
0
69
0
0
0
0
0
0
11
1
0
0
-35
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-16
-7
0
0
-25
0
0
0
4
0
-8
26
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
1
0
0
-32
0
0
0
-1
0
0
34
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
14
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-8
0
0
0
-1
0
-8
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
23
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
-74
0
2
0
0
0
0
12
5
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
1
0
0
19
0
0
0
9
0
0
-24
0
6
0
0
0
1
87
-16
0
0
0
0
0
0
2
-2
-1
0
0
0
0
0
0
0
-16
5
0
0
-1
0
0
0
-12
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-1
-28
0
0
0
-16
0
0
0
-3
0
-1
1
0
0
0
0
0
-32
-3
-5
3
0
0
0
0
0
11
5
0
0
0
0
0
0
0
0
27
6
0
0
0
0
0
0
5
0
0
-31
0
0
0
0
0
0
-41
-3
0
0
11
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
41
0
0
0
0
0
0
-16
0
0
0
0
0
0
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-40
21
0
0
-1
0
0
0
0
0
4
39
0
0
0
0
0
-9
-29
-1
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
-4
48
6
0
0
0
0
0
0
31
5
-2
-3
0
0
0
0
0
0
0
1
0
0
-11
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
-32
0
0
0
15
0
0
7
0
0
0
0
0
-7
-27
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
21
1
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
13
0
0
0
-28
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
50
0
0
0
0
0
0
-29
0
0
0
0
0
0
30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
-1
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-39
0
0
0
-19
0
0
0
3
0
-1
1
0
0
0
0
0
0
57
6
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
-31
0
2
3
0
0
0
0
0
0
11
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
0
9
0
0
0
-4
0
0
-21
0
0
0
0
0
0
-25
7
-1
0
0
0
0
0
6
2
0
-2
1
0
0
0
0
1
-2
-13
0
0
0
0
0
0
-10
0
32
-10
0
-1
0
0
0
0
-13
-6
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-14
1
0
0
32
0
0
0
1
0
0
33
0
0
0
0
0
-1
19
-6
0
0
0
0
0
0
6
-10
-9
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-1
1
-26
0
-15
0
0
0
0
19
-24
0
0
3
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
3
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
14
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
-22
0
0
0
-3
0
0
8
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
2
-3
0
-1
0
0
0
0
0
0
34
2
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-16
4
0
0
-19
0
0
0
21
0
0
-37
0
0
0
0
0
7
13
-15
0
0
0
0
0
0
5
3
12
0
0
0
0
0
0
0
4
4
-8
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
-8
11
4
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
-33
0
0
0
9
0
1
19
0
0
0
0
0
0
14
-3
0
0
0
0
0
0
6
25
15
0
0
0
0
0
0
7
32
-1
3
0
1
0
0
0
-11
14
-3
-26
0
1
0
0
0
0
-35
9
2
0
18
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
48
0
0
0
0
0
4
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
-2
0
33
0
0
0
0
0
0
-1
-5
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
70
3
0
0
42
0
0
0
4
0
0
26
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
23
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
-6
28
13
0
-12
0
0
0
0
7
-3
0
41
0
-2
0
0
0
0
-1
4
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-10
0
0
0
-17
0
0
0
0
0
0
-19
0
0
0
0
0
-2
-35
3
0
0
0
0
0
0
10
5
-11
-1
3
0
0
0
0
1
-3
23
4
0
0
0
0
0
2
15
4
28
0
0
0
0
0
0
28
-4
0
0
25
0
0
0
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
16
0
0
0
-6
0
0
-3
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-9
0
0
0
-25
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-18
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
43
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
-13
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
16
0
0
16
0
0
0
-6
0
0
0
0
0
0
0
0
0
29
32
-2
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
48
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
55
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
5
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
-42
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
-8
1
0
0
47
0
0
0
0
0
0
6
0
1
0
0
0
0
-2
10
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
-77
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
29
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
8
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
1
0
0
-5
0
0
0
-10
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
40
0
0
0
0
0
0
33
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-6
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
14
0
0
0
0
0
0
36
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
26
-2
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
32
0
0
0
-51
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
0
25
0
0
0
0
0
0
13
0
0
0
0
0
0
-22
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-29
0
0
0
41
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
1
13
8
0
0
0
0
0
0
0
-3
1
0
0
39
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
-1
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
-12
0
0
0
-6
-1
0
0
0
1
0
0
0
0
-18
-8
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
1
0
22
0
0
0
0
0
0
-8
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
-4
0
4
17
0
0
0
0
0
2
39
-15
0
0
5
0
0
0
29
1
25
0
0
42
0
0
0
-12
0
-2
22
1
1
0
0
0
-1
8
19
0
0
-7
0
0
0
29
-22
-10
0
0
0
0
0
0
-6
0
-3
-14
0
0
0
0
0
0
-13
1
0
0
-17
0
0
0
0
0
0
-24
0
0
0
0
0
3
0
0
-11
0
0
0
0
0
-4
6
-5
0
0
-16
0
0
0
-10
5
-17
0
0
2
0
0
0
22
-14
2
1
-7
2
0
0
0
-1
43
17
-1
0
-3
0
0
0
10
23
3
0
0
0
0
0
0
8
4
8
7
0
16
0
0
0
0
51
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
33
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
1
0
0
25
0
0
0
-1
0
0
0
0
9
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
42
0
0
0
-27
0
0
0
0
0
0
10
0
0
0
0
0
-1
19
0
-1
0
0
0
0
0
0
2
-13
-1
0
-9
0
0
0
38
-24
0
0
0
24
0
0
0
1
-35
9
7
4
-1
0
0
0
-4
18
-9
1
0
-9
0
0
0
14
39
11
-6
0
1
0
0
0
2
9
0
6
0
3
0
0
0
0
55
-25
0
0
-33
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
3
4
0
0
0
0
0
-15
24
-5
-2
0
26
0
0
0
-14
-23
5
0
0
5
0
0
0
-2
25
-14
-2
-9
7
0
0
9
17
-18
-12
4
0
-8
0
0
0
11
25
10
-1
-1
0
0
0
0
8
31
-7
43
0
0
0
0
0
0
-27
29
0
0
8
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-15
0
0
0
6
0
0
0
-4
-2
3
0
0
0
0
0
0
16
-39
0
0
0
0
0
0
-2
2
-1
-1
0
0
0
0
0
0
0
-37
-3
0
0
0
0
0
2
0
2
0
24
0
0
0
0
0
0
-20
0
0
0
-52
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
35
0
0
0
6
0
0
0
0
10
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-14
-2
0
0
-3
0
0
0
15
-5
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
24
3
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
-7
0
0
-12
0
0
0
0
0
1
28
-10
-2
0
8
0
0
0
50
-17
-3
0
0
-1
0
0
0
18
15
0
0
-4
0
0
0
0
1
-7
35
-3
0
0
0
0
0
-7
14
-13
3
0
0
0
0
0
1
-4
-13
-11
0
0
0
0
0
0
31
-2
0
0
19
0
0
0
0
0
1
2
0
0
0
0
0
3
8
1
2
0
0
0
0
0
-5
-14
6
1
0
18
0
0
0
4
-28
2
0
0
19
0
0
0
14
-27
-33
0
3
8
0
0
0
-8
-8
0
12
0
-1
0
0
0
13
-19
19
3
0
0
0
0
0
-8
2
22
4
0
5
0
0
0
0
12
-1
-2
0
2
0
0
-2
6
0
-6
-12
0
0
0
0
0
-5
1
0
22
0
0
0
0
0
27
-33
-9
0
0
15
0
0
0
-17
26
8
0
9
16
0
0
0
15
-2
-15
0
0
0
0
0
0
-8
-34
-15
22
-1
-15
0
0
0
-36
52
-2
5
0
0
0
0
0
12
-35
-27
14
0
5
0
0
0
-3
-7
11
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
46
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
21
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
17
18
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
18
11
3
0
0
0
0
0
0
1
13
0
-23
0
0
0
0
0
0
7
0
0
0
64
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
14
0
0
0
0
0
3
10
-12
0
0
-6
0
0
0
-8
-6
2
0
0
0
0
0
0
-13
-8
-1
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
-27
6
-19
5
4
0
0
0
0
-7
13
22
2
0
0
0
0
0
0
2
-20
2
0
15
0
0
0
1
0
-2
-2
0
0
0
0
0
0
23
-6
22
0
0
0
0
0
-2
6
-8
0
-2
-16
0
0
0
-6
-17
2
0
0
-3
0
0
0
-13
1
9
-13
0
0
0
0
0
-5
46
-12
0
0
-2
0
0
0
4
56
17
4
0
0
0
0
0
-3
1
-4
-16
0
0
0
0
0
-4
-2
6
0
5
-17
0
0
0
-3
0
0
-49
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-17
0
0
0
-12
0
0
0
0
0
5
0
0
0
0
0
0
-4
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
0
2
0
0
0
0
0
10
-3
0
29
0
0
0
0
0
0
-33
0
0
0
-7
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-12
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
17
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
44
0
0
0
0
0
0
1
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
-5
2
0
0
38
0
0
0
0
25
4
0
0
2
0
0
0
9
-63
4
0
2
0
0
0
0
15
4
-2
9
0
-4
0
0
0
-17
6
0
4
0
0
0
0
0
11
-23
9
35
0
0
0
0
0
0
-2
7
0
0
-37
0
0
0
15
0
0
16
0
0
0
0
0
0
-8
0
-32
0
0
0
0
0
0
13
7
0
0
-4
0
0
0
3
-8
0
0
0
0
0
0
0
-14
-30
4
-4
3
0
0
0
1
1
-8
-8
24
0
-20
0
0
0
7
65
4
0
0
-1
0
0
0
-12
-2
15
-28
0
0
0
0
0
0
-33
-6
0
0
36
0
0
0
0
0
0
-7
0
0
0
0
0
-7
-18
-1
10
0
0
0
0
0
-4
9
0
0
0
17
0
0
0
-3
-1
-1
0
0
7
0
0
0
37
-13
15
20
0
0
0
0
0
8
6
-29
-14
0
7
0
0
0
-7
-44
4
0
0
0
0
0
0
9
17
-13
8
0
0
0
0
0
3
-3
7
6
0
-3
0
0
0
1
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
-11
0
0
0
48
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
39
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
2
0
0
32
0
0
0
0
0
0
-51
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
21
0
0
0
0
1
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
2
7
-3
0
0
0
0
0
1
-23
2
1
0
0
0
0
0
11
4
0
-65
0
0
0
0
0
0
34
-1
0
0
62
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
-15
1
0
0
0
0
0
-6
8
-1
0
0
8
0
0
0
-2
14
12
0
0
0
0
0
0
-11
19
-7
-12
-2
0
0
0
0
1
46
-28
-1
0
5
0
0
0
6
-16
-6
4
0
0
0
0
0
12
8
29
0
0
17
0
0
0
6
6
-22
-2
0
19
0
0
0
4
0
0
51
2
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
18
0
0
0
0
0
0
0
0
-1
0
0
0
3
-21
0
0
0
0
0
0
13
4
-11
1
10
0
4
0
0
0
10
17
-5
3
7
0
0
0
0
18
9
9
-5
0
-7
0
0
0
-3
13
-6
3
0
-5
0
0
0
21
2
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
-1
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
17
-4
0
0
0
0
0
0
1
2
0
9
0
0
0
0
0
0
-13
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
1
0
0
0
0
41
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
9
-12
0
0
0
0
0
0
4
13
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
17
-1
7
-1
0
0
0
0
0
-13
15
13
0
0
0
0
0
0
0
-15
18
-24
0
-1
0
0
0
0
8
0
0
0
6
0
0
0
1
-2
0
-3
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
20
0
0
0
-20
0
0
0
0
0
2
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
0
-8
10
1
0
0
0
0
0
8
-40
-7
0
0
0
0
0
0
3
-1
40
-5
-1
0
0
0
0
0
-2
-2
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
25
0
0
0
24
0
0
0
4
-2
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
-3
3
0
0
1
0
0
0
27
-37
6
0
0
1
0
0
0
21
8
1
39
0
0
0
0
0
0
-10
-25
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-27
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
34
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-56
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
1
0
0
10
0
0
0
0
0
0
-18
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
57
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
18
0
-1
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
7
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
18
0
0
0
0
2
0
33
0
0
0
0
0
-2
-9
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
30
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
-4
0
0
-21
0
0
0
6
0
0
-57
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
58
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
43
-16
0
0
-48
0
0
0
-11
-3
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
33
0
0
0
0
0
0
0
-2
0
0
39
0
0
0
0
0
0
15
0
0
0
4
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
-17
-3
0
-12
0
0
0
0
-1
14
0
0
0
0
0
0
-12
-2
1
17
0
0
0
0
-1
-6
-2
3
0
0
4
0
0
0
-21
41
-2
8
0
0
0
0
0
22
-4
0
41
0
0
0
0
0
0
-39
1
0
0
-32
0
0
0
15
0
0
2
0
0
0
0
0
0
2
0
-9
3
0
0
0
0
-13
-19
13
0
0
50
0
0
0
3
17
8
-30
0
0
0
0
0
1
27
3
3
0
0
0
0
0
9
28
1
0
0
-3
0
0
0
0
-24
0
-2
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-39
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
48
-1
0
0
25
0
0
0
0
0
0
19
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
5
0
0
8
0
0
0
0
0
0
23
-5
0
0
6
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
27
0
0
0
0
0
1
7
-3
0
0
0
0
0
0
-3
0
0
-41
0
0
0
0
0
0
10
-7
0
0
0
0
0
0
0
-27
4
0
0
0
0
0
0
4
19
-1
9
0
0
0
0
0
0
0
1
-19
-2
0
0
0
0
0
-13
0
0
0
34
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
21
0
0
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
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
0
2
0
0
0
0
0
1
38
0
0
0
0
0
0
22
0
0
0
0
0
0
0
6
3
0
5
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
-34
0
0
0
-2
0
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
25
0
0
0
0
0
0
-36
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
10
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
43
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
9
0
0
0
-5
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
13
17
9
0
0
0
0
0
0
13
-2
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
41
0
0
0
53
0
0
0
0
0
0
1
0
0
0
0
0
0
12
6
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
-17
-1
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
49
-1
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
-3
0
0
0
-13
0
0
-35
0
0
0
0
0
0
23
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
4
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-9
0
0
0
22
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
-17
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
47
0
0
0
-21
0
0
0
0
0
0
15
0
0
0
0
0
0
18
1
0
0
0
0
0
0
-7
1
-1
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-21
23
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-24
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
0
0
0
-44
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
-10
-4
0
0
28
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
-75
0
0
0
0
0
0
-47
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
9
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-48
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-43
0
0
0
0
0
0
15
0
0
0
0
0
0
30
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
18
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-31
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-45
0
0
0
-6
0
0
0
0
0
0
39
0
3
0
0
0
0
39
8
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-24
0
0
0
-7
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
5
0
0
38
0
0
0
0
-1
0
18
0
4
0
0
0
0
33
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
52
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-19
0
0
0
-11
0
0
0
-4
0
0
61
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
14
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
17
0
3
0
-7
0
0
0
0
0
5
0
0
0
0
0
0
2
-38
22
0
0
0
0
0
0
-1
-3
19
0
0
0
0
0
0
6
13
1
0
0
0
0
0
0
-11
0
0
20
0
0
0
0
0
-1
-33
0
0
0
40
0
0
0
0
0
-13
71
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
38
2
0
0
-19
0
0
0
-1
0
-7
31
0
10
0
0
0
0
33
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-40
1
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
23
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-38
0
0
0
0
0
0
-43
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
9
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-12
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
47
0
0
0
14
0
0
0
0
0
8
8
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
11
0
0
0
1
-1
5
33
0
5
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
2
0
29
18
0
0
0
0
0
3
27
10
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
26
0
0
0
-35
0
0
0
1
-2
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
-61
0
0
5
0
0
0
0
0
15
0
-74
0
0
0
0
0
0
-3
1
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
38
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-39
0
0
0
15
0
0
0
0
0
0
42
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-24
10
0
0
0
0
0
0
1
-4
5
14
0
0
0
0
0
0
-40
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
9
0
0
-1
0
0
0
0
39
4
0
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
30
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
50
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
0
0
0
29
0
0
0
0
0
0
1
0
-4
0
0
0
0
-7
0
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
-4
-76
0
0
0
0
0
0
0
6
-1
0
-12
0
0
0
0
0
0
20
1
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
19
0
0
0
0
0
0
-10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
-8
0
0
32
0
1
0
0
0
0
2
-4
0
0
-23
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
-4
0
0
12
0
0
0
0
0
0
34
0
0
0
0
0
0
-30
5
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
-11
26
0
-35
0
0
0
0
0
0
12
1
0
0
27
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-56
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
-33
0
0
0
0
0
0
45
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
-2
0
0
-20
0
0
0
0
0
0
-15
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
13
0
0
0
21
0
0
0
0
0
0
14
-1
0
0
-4
0
0
0
0
-2
2
0
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
6
7
1
0
0
0
0
0
0
0
-7
2
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-34
0
0
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
0
0
7
0
10
0
0
0
0
0
0
4
16
30
14
0
0
0
0
0
13
3
0
61
0
0
0
0
0
0
27
13
0
0
43
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
47
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
50
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
-23
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
52
0
0
0
0
0
0
26
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
-1
0
0
21
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
15
0
0
0
-36
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
-15
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
26
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
38
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
68
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-5
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
77
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
-21
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
19
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
36
0
0
0
0
0
0
9
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-20
14
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
6
0
0
0
43
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
-15
0
0
0
0
0
0
-21
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-15
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
-14
15
-1
0
0
0
0
0
0
2
0
0
30
0
0
0
0
0
0
-14
-6
0
0
26
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-22
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
-15
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
-13
0
0
0
0
0
0
-35
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
9
-10
4
0
0
0
0
0
0
-4
0
1
-11
0
0
0
0
0
0
14
-20
-2
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
2
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
13
0
0
0
0
0
0
24
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
1
0
49
0
0
0
0
0
0
15
6
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
49
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
17
30
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-55
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-15
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
10
0
0
0
0
1
0
13
0
-2
0
0
0
-2
1
2
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
37
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-11
0
0
0
-57
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
11
0
0
0
10
0
0
0
0
3
0
0
0
7
0
0
0
0
-21
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
-1
-24
2
0
0
0
0
0
0
-5
0
0
40
0
0
0
0
0
0
-41
10
0
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
41
0
0
0
-28
0
0
0
0
0
0
27
0
0
0
0
0
4
5
4
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-23
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-52
0
0
0
0
0
0
-12
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
-8
0
-1
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-23
-12
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
14
0
0
0
5
0
0
0
0
0
0
29
0
-7
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
-22
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-14
0
0
0
-4
0
0
0
0
8
0
12
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
52
0
0
0
0
4
0
-32
0
0
0
0
0
4
22
0
0
0
0
0
0
0
-4
1
-2
8
0
-4
0
0
0
0
-23
38
0
0
0
0
0
0
-5
2
2
32
0
0
0
0
0
0
10
7
0
0
32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
25
0
0
0
0
0
0
-25
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-23
-2
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
33
0
0
0
0
0
0
-29
0
0
0
0
0
8
13
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
43
15
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
3
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
13
0
0
0
-19
0
0
0
0
5
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
-6
0
0
0
0
5
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
-1
0
-20
0
0
0
0
0
0
22
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
1
0
0
13
0
0
0
0
-2
0
-47
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-24
-12
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-47
-3
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
-23
0
0
0
0
10
0
-31
0
0
0
0
0
13
31
0
0
0
0
0
0
-1
-1
-6
-8
0
0
0
0
0
0
0
-8
22
0
0
-7
0
0
0
13
1
0
-16
0
0
0
0
0
0
18
4
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
21
0
0
0
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
2
-6
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
15
0
0
0
12
0
0
0
0
2
0
23
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
-5
10
1
0
0
0
0
0
0
0
-15
2
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
23
-1
0
0
52
0
0
0
0
0
0
-21
0
0
0
0
0
-12
30
0
0
0
0
0
0
0
7
13
2
0
0
2
0
0
0
-20
-15
-29
0
-8
-10
0
0
0
-3
2
5
8
0
0
0
0
0
1
-8
-1
10
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
24
-3
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
-1
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
23
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
21
0
0
0
0
0
0
11
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-25
-2
0
-1
0
0
0
0
-6
4
0
-9
2
0
0
0
0
0
-2
0
0
0
54
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-25
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
5
-3
-2
0
0
0
0
0
0
1
-11
-10
0
0
0
0
0
0
5
-2
2
49
0
0
0
0
0
0
-5
-10
0
0
-4
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
24
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
43
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-17
0
0
0
0
5
0
-25
0
-1
0
0
0
0
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-2
0
0
0
21
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
-4
0
0
5
0
0
0
4
2
0
-6
0
18
0
0
0
0
3
2
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
3
0
0
-19
0
0
0
0
0
0
9
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-44
0
0
0
0
0
0
-39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
11
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
64
0
0
0
0
0
0
-22
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
29
0
0
0
48
0
0
0
-10
0
0
18
0
0
0
0
0
0
47
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
12
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
8
0
0
0
0
0
5
-16
-3
0
0
-17
0
0
0
9
8
0
0
0
3
0
0
0
0
7
2
0
17
0
0
0
0
-1
-7
-24
6
0
0
0
0
0
2
-12
-9
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
-44
0
0
-20
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
-3
0
0
-16
0
0
0
-6
-18
-12
24
0
1
0
0
-1
0
46
7
0
-5
-14
0
0
0
-1
7
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-42
1
0
0
26
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
27
0
0
0
2
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-15
0
0
0
-47
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
36
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
1
48
-14
0
0
-23
0
0
0
-10
2
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
0
3
2
2
1
0
-1
0
0
0
0
25
-4
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-9
-1
0
0
30
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-20
2
0
0
-15
0
0
0
-3
0
0
35
0
9
0
0
0
0
12
3
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
-10
0
0
0
0
0
0
-5
-2
0
0
5
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-13
0
-1
-10
0
-5
0
0
-1
0
-17
-8
0
0
0
0
0
0
22
-11
0
2
0
11
0
0
0
0
14
-2
0
0
0
0
0
0
-18
1
0
-12
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
5
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-27
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-4
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
0
0
-18
0
0
0
2
0
0
16
0
0
0
0
0
0
51
2
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
18
-11
7
0
1
-1
0
0
0
1
0
0
-47
0
13
0
0
0
0
-4
5
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
50
0
0
0
-7
0
0
0
2
-10
0
15
0
-1
0
0
0
0
-29
-6
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
0
56
-4
0
-2
0
0
0
0
0
2
-3
-22
0
1
0
0
0
0
-20
-5
0
0
21
0
0
0
1
2
0
-20
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-30
0
0
0
24
0
0
0
0
-1
0
16
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
12
0
0
0
-45
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
0
-45
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-56
0
0
0
0
0
0
-29
0
0
0
0
0
0
-19
-2
0
0
0
0
0
0
-1
1
0
0
-1
-1
0
0
0
0
-33
-9
0
0
0
0
0
0
5
8
6
9
-1
9
0
0
0
0
-9
-6
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-18
-2
0
0
-2
0
0
0
17
8
0
13
0
0
0
0
0
0
-12
13
0
0
0
0
0
0
10
5
-3
0
0
0
0
0
0
-1
-11
10
-2
0
0
0
0
0
-1
-2
0
-15
0
0
0
0
0
3
-3
15
0
0
37
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
2
0
0
-40
0
0
0
0
0
0
30
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-27
0
0
0
-14
0
0
0
-5
4
0
-27
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
-2
7
6
0
0
-3
0
0
0
1
2
0
1
4
0
0
0
0
-1
0
-2
0
0
4
0
0
0
-1
-37
9
10
0
-3
0
0
0
0
2
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
13
-1
0
0
-2
0
0
0
0
-1
0
24
0
0
0
0
0
0
-43
0
0
0
0
0
0
1
11
-44
37
37
0
0
0
0
0
11
12
52
-15
-6
0
0
0
0
-11
-31
5
4
0
-12
0
0
0
-1
0
-31
-6
0
6
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-20
0
0
0
-56
0
0
0
0
0
0
7
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
11
0
0
0
27
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
32
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-1
0
43
0
6
0
0
0
0
5
-1
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
1
4
-3
0
0
0
0
0
0
-13
13
-2
16
1
4
0
0
0
14
4
1
17
0
-2
0
0
0
0
-27
18
1
0
-1
0
0
0
0
2
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
67
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
41
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
86
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
3
-10
-1
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
-41
-2
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
-38
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
16
-10
0
0
4
0
0
0
1
0
3
0
0
0
0
0
0
0
29
-6
0
0
0
0
0
0
0
-12
4
0
0
0
0
0
0
0
5
0
13
0
0
0
0
0
0
-57
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
9
0
0
12
0
0
0
3
18
1
41
0
0
0
0
0
-10
0
-8
2
-1
0
0
0
0
0
-31
2
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-23
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-6
0
0
0
0
-3
0
19
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-14
0
0
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-10
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
33
0
0
0
19
0
0
0
3
-1
0
-14
0
0
0
0
0
0
0
3
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
2
0
0
37
0
0
0
0
0
0
-15
-2
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
16
0
0
0
-26
-5
-2
5
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
10
0
1
0
0
0
0
0
0
-32
0
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
41
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-10
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
34
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
12
-8
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
-29
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
0
-34
0
0
0
-1
4
0
-12
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
13
5
0
0
0
0
0
0
0
24
-1
0
0
0
0
0
0
0
17
0
-26
0
0
0
0
0
0
32
0
0
0
19
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
52
0
0
0
0
0
-2
-39
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
11
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-13
-5
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
6
0
0
0
19
0
0
0
3
-1
1
-42
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
1
4
29
0
0
0
0
0
0
0
10
0
7
0
0
0
0
0
0
38
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-5
1
0
14
0
0
0
0
0
0
26
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
4
0
25
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-25
0
1
0
0
0
0
1
10
-3
0
0
0
0
0
0
1
-24
2
0
0
0
0
0
0
0
-39
2
0
0
35
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
0
0
0
31
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
-12
-7
-6
0
0
1
0
0
0
2
1
2
0
0
0
0
0
0
21
11
16
8
0
0
0
0
0
0
36
48
0
0
36
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
22
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
13
0
0
0
45
0
0
0
0
0
0
27
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
35
2
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
5
-3
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
74
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-36
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
31
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-16
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-37
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
38
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
-1
-22
0
0
0
-23
0
0
0
3
-2
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
-17
-3
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
2
-33
1
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
9
0
0
0
0
0
-2
22
-7
0
0
10
0
0
0
22
-16
-9
-6
1
12
0
0
0
63
16
0
0
0
-5
0
0
0
5
2
-1
0
-1
0
0
0
0
14
-6
-1
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-8
4
1
0
31
0
0
0
0
0
0
8
0
0
0
0
0
5
0
0
-13
0
0
0
0
0
-3
6
19
0
0
20
0
0
0
1
2
-11
0
3
-1
0
0
0
-6
-2
0
3
33
0
0
0
0
0
-12
-29
-1
0
2
0
0
0
-22
5
6
2
0
1
0
0
0
-10
15
-2
17
0
-8
0
0
0
0
-8
-5
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
-8
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
26
16
0
0
-20
0
0
0
14
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-3
0
0
0
0
0
0
1
0
0
28
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
-5
0
0
-15
0
0
0
0
0
-30
-2
-13
0
0
9
0
0
0
29
24
0
-28
0
-1
0
0
0
-17
-42
0
0
0
0
0
0
0
-4
-1
10
12
0
0
0
0
0
29
36
-28
0
-4
0
0
0
0
-2
13
-15
30
0
12
0
0
0
0
-1
13
0
0
-16
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
11
1
0
-6
0
0
0
-2
40
-13
0
0
-4
0
0
0
-12
-8
0
0
0
5
0
0
0
0
-17
-5
10
0
25
0
0
0
24
-2
11
0
-8
0
0
0
0
32
16
3
45
0
5
0
0
0
0
14
-9
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
-7
-1
0
-19
0
0
0
0
0
5
46
0
3
0
4
0
0
0
-28
17
45
3
0
-5
0
0
0
-23
17
0
15
0
0
0
0
0
-32
0
15
-3
0
0
0
0
0
-8
0
-12
0
0
0
0
0
0
1
14
-1
8
0
0
0
0
0
0
-2
-5
0
0
19
0
0
0
0
0
0
-46
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
68
5
0
0
-6
0
0
0
0
-2
-1
-78
0
0
0
0
0
0
67
0
0
3
0
0
0
0
4
-16
0
0
0
1
0
0
0
0
-34
3
0
0
0
0
0
0
3
-1
-6
11
0
0
0
0
0
0
56
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
63
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
32
0
0
0
0
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
2
0
0
-27
0
0
0
20
-5
0
-15
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
-3
-6
0
0
2
0
0
0
36
0
-7
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
1
0
0
38
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
69
0
0
0
0
0
-7
10
-3
0
0
18
0
0
0
-60
-40
-10
-7
0
-15
0
0
0
32
4
0
0
0
42
0
0
0
0
13
-3
-18
-4
8
0
0
0
-7
-17
12
2
4
0
0
0
0
-12
3
7
13
0
0
0
0
0
-6
-25
-5
0
-1
11
0
0
0
0
-1
0
19
0
0
0
0
0
37
5
-1
-10
1
0
0
0
0
14
3
53
0
0
25
0
0
0
-28
-1
11
-9
0
5
0
0
0
24
46
0
0
0
1
0
0
2
-10
4
-34
26
-1
-31
0
0
0
-11
34
18
-8
0
0
0
0
0
18
15
-1
25
0
-5
0
0
0
-19
21
32
0
0
26
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
40
0
0
0
0
0
0
-3
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
34
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
47
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-36
29
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
-22
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-1
0
0
0
0
0
0
0
-6
0
-11
0
0
0
0
0
0
18
0
0
0
29
0
0
0
0
0
0
18
0
0
0
0
0
25
7
-1
0
0
0
0
0
0
27
-17
14
0
0
8
0
0
0
-31
2
-16
2
9
15
0
0
0
-25
4
0
-3
-7
2
0
0
0
17
21
0
-11
8
0
0
0
0
3
5
-19
1
20
0
0
0
3
13
-5
22
49
0
-13
0
0
0
-5
3
-8
1
0
35
0
0
0
0
0
-5
11
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
1
30
-30
0
0
10
0
0
0
1
-2
-1
26
0
-1
0
0
0
13
59
0
0
1
1
0
0
0
1
-7
-4
0
0
8
0
0
0
-11
12
-2
0
0
0
0
0
0
-16
5
0
35
0
1
0
0
0
0
33
-14
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
-26
6
0
0
-9
0
0
0
-3
1
0
41
-5
8
0
0
0
9
18
0
0
0
2
0
0
0
5
-5
0
7
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
-5
-10
-5
15
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
0
0
0
-56
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-22
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
78
-2
0
0
-3
0
0
0
0
0
0
31
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
4
-28
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
21
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
-3
1
2
-17
0
0
0
0
0
0
-25
15
0
0
35
0
0
0
25
-12
-1
38
0
2
0
0
0
21
18
0
4
0
0
0
0
0
2
2
-20
-23
0
-6
0
0
0
-14
4
0
0
0
0
0
0
0
32
1
16
1
0
16
0
0
0
-14
27
24
-1
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
2
1
0
17
0
0
0
0
0
1
-21
43
0
0
15
0
0
0
7
4
18
-37
0
-3
0
0
0
12
24
0
0
0
0
0
0
0
9
-2
28
-41
-3
24
0
0
0
3
-23
-11
0
-3
-3
0
0
0
30
26
-15
-27
0
-9
0
0
0
-8
-10
13
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
3
5
-11
-48
0
0
0
0
0
-35
27
2
-3
0
-6
0
0
0
2
-1
5
-21
0
6
0
0
0
9
14
0
0
-2
0
0
0
0
-2
18
16
21
0
36
0
0
0
-5
-17
7
11
0
0
0
0
0
16
17
-1
0
0
3
0
0
0
-5
23
13
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
1
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
18
0
0
38
0
0
0
0
0
0
-11
1
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
23
0
0
0
0
0
4
21
-1
0
0
35
0
0
0
0
0
0
15
0
0
0
0
0
-13
30
0
0
0
0
0
0
0
-4
3
-16
0
0
0
0
0
0
0
13
12
0
0
0
0
0
0
28
-15
0
-4
0
0
0
0
0
6
33
-3
0
0
11
0
0
0
0
0
0
41
0
0
0
0
0
-8
2
0
33
0
0
0
0
0
33
-13
-4
0
0
-14
0
0
0
5
16
-1
28
6
0
0
0
0
-9
27
0
-4
-12
0
0
0
0
0
14
1
-6
13
8
0
0
0
-8
64
-19
-15
19
0
0
0
0
-10
-13
-34
0
0
-32
0
0
0
-42
29
7
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
30
-6
0
0
-28
0
0
0
10
2
1
11
0
0
0
0
0
-3
9
0
-3
8
-4
0
0
-5
4
10
-25
-17
-1
20
0
0
0
-32
34
4
-2
27
12
0
0
0
-32
34
-21
6
0
2
0
0
0
1
18
-7
-5
0
25
0
0
0
-2
-6
13
12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
31
-6
0
0
-2
0
0
0
0
0
-8
1
0
0
0
0
0
2
1
10
18
0
0
0
0
0
0
-4
0
0
0
37
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-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
-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
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-31
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
6
0
0
-6
0
0
0
15
0
0
-22
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
-4
7
0
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
6
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-22
0
0
0
-22
0
0
0
0
0
0
-32
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
-3
14
-2
0
0
0
0
0
0
-1
-42
12
2
0
0
0
0
0
-6
8
-10
-2
0
0
0
0
0
-8
27
-27
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
19
0
0
0
-4
1
1
-7
0
0
0
0
0
-18
28
0
0
0
0
0
0
0
8
14
18
0
1
16
0
0
0
2
31
0
-7
0
0
0
0
0
-12
37
6
26
0
0
0
0
0
-9
39
33
-8
0
19
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
-48
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-35
3
0
0
36
0
0
0
4
-2
0
-3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
12
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
-14
0
0
0
0
-1
0
0
0
18
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-9
0
-1
0
0
0
0
0
0
0
-7
-3
0
0
-22
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-6
25
0
0
43
0
0
0
5
0
3
-39
0
9
0
0
0
2
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
2
0
0
24
0
0
0
0
0
0
-26
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
1
0
0
43
0
0
0
1
0
0
-42
0
0
0
0
0
10
10
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
10
0
0
-27
0
0
0
0
0
0
25
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
-1
0
-3
0
0
6
0
0
0
0
45
3
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
0
0
-22
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-5
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
19
0
0
0
0
0
0
-55
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
32
0
0
0
0
0
0
43
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
-98
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-6
0
0
-11
0
0
0
0
0
0
8
0
0
0
-102
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
11
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
2
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
19
0
0
0
0
0
0
-38
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
2
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
-7
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
24
0
0
0
0
-12
-1
-16
-61
0
0
0
0
0
0
-12
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-1
0
0
31
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-1
0
0
-29
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
3
0
0
-1
0
-1
0
0
0
0
-2
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
37
0
0
0
20
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-5
-46
0
0
0
-11
0
0
0
7
0
2
-3
0
-3
0
0
0
0
-37
-3
0
0
0
0
0
0
0
-5
2
0
0
14
0
0
0
-3
19
8
0
0
0
0
0
0
-6
8
-9
24
0
2
0
0
0
0
-14
-6
0
0
-69
0
0
0
0
0
-6
52
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
10
10
-1
0
0
34
0
0
0
27
-2
6
-1
0
32
0
0
0
-21
10
11
2
0
5
0
0
0
-5
-23
27
5
0
0
0
0
0
-8
-14
4
-9
0
0
0
0
0
0
0
5
25
0
0
0
0
0
0
23
0
0
0
-51
0
0
0
0
-8
0
-19
0
0
0
0
0
3
-3
0
-8
0
0
0
0
0
-15
-1
10
1
0
12
0
0
0
-32
8
-6
-29
-1
3
0
0
0
8
17
12
0
0
2
0
0
0
-9
-6
-5
1
0
15
0
0
0
3
12
-10
0
0
0
0
0
0
-5
0
-22
-36
0
0
0
0
0
-8
-38
8
0
0
25
0
0
0
0
0
5
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
-3
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-50
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
-2
0
0
-23
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
-1
0
0
13
0
0
0
19
-27
0
11
0
6
0
0
0
-15
54
-2
0
0
0
0
0
0
10
-17
-6
0
0
-2
0
0
0
-1
18
-2
0
0
0
0
0
0
-6
1
-8
10
0
-1
0
0
0
-2
10
1
0
0
-5
0
0
0
0
6
0
-22
0
0
0
0
0
7
0
0
-2
0
0
0
0
5
3
-2
3
-37
0
-13
0
0
0
4
-7
-7
0
1
-22
0
0
0
-12
-45
-8
12
0
0
0
0
0
-51
5
5
0
8
-27
0
0
0
0
27
-16
-12
-10
0
0
0
-1
-19
23
-16
41
2
6
0
0
0
31
10
-41
5
0
-23
0
0
0
2
-18
-18
-14
0
0
0
0
0
-7
0
0
-17
0
0
0
0
0
0
-12
5
25
0
-16
0
0
0
-17
-20
16
19
0
-4
0
0
0
-63
18
24
6
0
0
0
0
-1
47
0
12
0
0
0
0
0
0
-6
2
1
0
0
0
0
0
0
12
0
0
16
0
0
0
0
0
0
-23
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
40
-2
0
0
-6
0
0
0
-1
2
0
-9
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
-26
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
42
0
0
0
-1
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
5
0
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
29
2
0
0
45
0
0
0
0
0
0
-9
0
0
0
0
0
2
0
0
1
0
0
0
0
0
3
4
-3
3
0
21
0
0
0
16
-5
-2
-4
0
-9
0
0
0
-17
-11
0
1
0
0
0
0
0
-1
-22
-44
1
0
7
0
0
0
58
-24
25
15
-3
0
0
0
0
-5
48
-17
31
0
-1
0
0
0
13
17
-13
0
0
-42
0
0
0
-4
-19
0
-7
0
0
0
0
0
-1
4
31
11
0
0
0
0
0
2
62
-9
0
0
-16
0
0
0
-17
-35
0
-21
-2
1
0
0
0
-58
50
19
0
0
0
0
0
0
29
-7
3
0
-1
24
0
0
0
-26
44
12
12
5
-2
0
0
0
31
20
39
12
0
0
0
0
0
6
69
12
15
0
-19
0
0
0
-14
18
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
13
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-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
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-30
0
0
0
-36
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
12
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
30
-1
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
3
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
-40
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-16
0
0
0
47
0
0
0
0
0
4
18
0
0
0
0
0
-10
-21
1
6
0
0
0
0
0
-5
7
0
0
0
3
0
0
0
-7
-8
13
6
0
0
0
0
0
24
5
0
-22
0
0
0
0
0
2
18
-21
2
4
24
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
-9
0
0
-15
0
0
0
0
0
2
-19
0
-14
0
0
0
1
-18
0
-2
0
0
0
0
0
0
-14
-13
0
0
-1
0
0
0
2
32
-1
0
2
0
0
0
0
0
0
-2
3
0
0
0
0
0
-4
2
19
0
0
-11
0
0
0
0
21
1
-35
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
6
4
0
0
40
0
0
0
-10
-1
0
15
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
10
13
0
0
0
5
0
0
0
4
-10
-1
0
-1
0
0
0
0
-5
0
0
48
0
0
0
0
0
0
31
-1
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-11
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
3
0
0
56
0
0
0
-5
0
0
10
0
3
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-4
0
0
-9
0
0
0
0
0
0
23
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
35
0
0
0
0
0
0
19
-9
0
0
15
0
0
0
-17
3
3
26
-5
28
0
0
0
12
-39
10
0
0
0
0
0
0
1
11
-8
0
1
0
0
0
0
-1
41
0
0
2
0
0
0
0
-17
16
-47
-28
0
0
0
0
0
7
-17
8
0
0
-13
0
0
0
-5
12
-7
-7
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-1
34
0
0
0
-32
0
0
0
10
0
0
0
0
4
0
0
0
0
-7
4
0
0
-1
0
0
0
2
-19
0
0
0
-2
0
0
0
14
30
0
0
0
-1
0
0
0
30
0
13
-15
0
0
0
0
0
11
5
-18
0
0
20
0
0
0
3
0
5
-1
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
-1
2
0
0
-1
0
0
0
-13
0
-13
17
0
4
0
0
0
0
-33
1
0
0
0
0
0
0
4
-1
1
-1
0
8
0
0
0
19
1
13
5
0
0
0
0
0
12
-3
8
1
0
0
0
0
0
4
-5
-5
0
0
38
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-52
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
34
0
0
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-40
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
9
0
0
-40
0
0
0
0
0
0
30
3
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
20
7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-5
1
0
0
6
0
0
0
0
15
16
-1
0
0
0
0
0
-4
1
0
-46
0
0
0
0
0
0
-5
3
0
0
-32
0
0
0
0
0
0
-39
0
0
0
0
0
0
43
-3
49
0
0
0
0
0
0
-11
-2
0
0
27
0
0
0
-4
0
0
-17
0
0
0
0
0
-1
3
-27
0
0
0
0
0
0
-4
-4
-9
0
0
-4
0
0
0
-15
-27
-1
-1
0
0
0
0
0
8
12
16
0
0
-1
0
0
0
8
0
13
-3
0
-20
0
0
0
7
-10
12
-12
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
15
0
0
0
-3
0
0
0
1
0
0
-20
0
0
0
0
0
-2
65
3
0
0
0
0
0
0
2
-21
17
0
0
15
0
0
0
-5
35
4
-1
-4
0
0
0
0
-29
-5
4
-5
0
0
0
0
0
-2
55
-12
10
0
-12
0
0
0
0
2
0
-47
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
15
0
0
0
-20
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
-15
-12
-10
0
0
0
0
0
0
45
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
16
12
4
0
0
0
0
0
-3
-1
0
12
0
0
0
0
0
0
9
0
0
0
-11
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-19
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
13
0
1
0
0
0
0
0
-1
-9
0
8
0
1
0
0
0
0
-5
6
0
0
12
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
28
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-1
0
0
0
21
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
28
0
0
0
0
0
0
22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-11
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
35
-6
0
0
-13
0
0
0
2
0
0
-10
0
0
0
0
0
0
27
-13
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-15
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
0
0
-26
0
0
0
0
0
0
9
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
25
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
42
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
-38
0
0
0
3
0
0
63
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
62
0
0
0
0
0
0
26
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
-2
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
60
0
0
0
0
0
0
41
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
55
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
9
1
0
0
0
0
0
4
-2
5
0
0
8
0
0
0
0
0
1
34
0
0
0
0
0
0
-41
-9
0
0
0
0
0
0
0
5
-26
1
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-22
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
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
44
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-41
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
21
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
31
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
-5
0
2
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-33
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
23
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
21
0
0
0
0
0
0
-22
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
46
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-21
0
0
0
41
0
0
0
0
0
0
-12
0
0
0
0
0
0
25
5
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
30
0
0
0
0
0
0
-25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
2
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-9
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
63
0
0
0
26
0
0
0
1
0
0
32
0
-2
0
0
0
10
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-28
0
0
0
-11
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
37
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
39
0
0
0
0
0
0
37
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
55
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
28
0
0
0
0
0
0
64
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
-10
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
-58
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-21
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-10
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
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
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
36
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
18
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-19
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
40
0
0
0
1
0
0
0
13
0
0
4
0
0
0
0
0
2
-14
18
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-26
-4
0
0
0
0
0
0
0
0
0
-34
0
-6
0
0
0
0
-9
-4
0
0
-15
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
13
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
-3
0
0
-32
0
0
0
17
-1
-2
-15
0
0
0
0
0
8
43
9
0
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
61
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
66
0
0
0
0
0
0
-46
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
48
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-49
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
35
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
8
0
10
0
0
0
0
0
0
-5
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-23
0
0
0
-32
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
53
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-25
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-30
0
0
0
0
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-5
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-42
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
56
0
0
0
0
0
0
-41
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
36
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
48
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-15
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
10
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
0
0
-4
0
0
0
0
0
0
41
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
-27
0
0
0
0
0
0
-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
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-20
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-4
4
0
7
0
0
0
0
0
0
12
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
-15
26
2
0
25
0
0
0
6
-2
2
19
0
0
0
0
0
25
-9
-23
3
6
3
0
0
-5
-5
0
51
0
0
0
0
0
0
2
-6
1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
31
0
0
0
-1
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
16
0
0
0
-1
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
-15
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
-16
0
0
0
8
0
-2
28
0
0
0
0
0
0
10
4
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
44
2
0
0
0
0
0
0
4
-14
0
25
0
0
0
0
0
0
-9
-1
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
-1
0
0
25
0
0
0
-7
0
0
-5
0
0
0
0
0
0
34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-12
0
0
0
0
0
0
-1
-1
0
0
0
4
0
0
0
0
39
3
0
0
36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-40
0
0
0
32
0
0
0
1
0
0
24
0
0
0
0
0
0
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-6
0
0
0
0
0
0
-6
0
0
21
0
0
0
0
0
0
-8
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
-33
0
0
0
0
0
0
12
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
9
12
0
0
-1
0
0
0
-1
0
0
19
0
0
0
0
0
0
-1
16
0
0
-26
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
-32
0
0
0
0
0
0
-46
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
3
0
36
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-12
5
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
9
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
7
0
0
20
0
0
0
0
0
0
23
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
11
23
0
0
-12
0
0
0
-2
0
5
46
0
0
0
0
0
-1
-7
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
6
4
0
0
-48
0
0
0
5
-28
0
-22
0
0
0
0
0
0
10
-2
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-45
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
-12
0
0
37
0
0
0
0
0
6
-30
15
0
0
0
0
0
0
-1
0
-29
-2
0
13
0
0
0
1
-35
18
0
0
0
0
0
0
2
-26
0
13
0
0
0
0
0
0
-8
1
0
0
-5
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
16
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
13
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-31
0
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
13
0
8
0
0
0
0
0
0
9
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
22
13
0
0
12
0
0
0
2
0
0
-15
0
0
0
0
0
1
-32
11
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
-11
12
4
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
32
-2
0
0
-3
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
17
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
8
0
0
20
0
0
0
0
0
0
-9
-18
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
41
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
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
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
61
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
-2
0
0
-8
0
0
0
0
0
2
-12
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
33
3
0
0
0
0
0
0
7
0
0
25
0
0
0
0
0
0
-24
21
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
49
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
15
-4
7
0
-36
0
0
0
-17
0
-16
24
0
0
0
0
0
0
2
-4
-16
0
0
0
0
0
-1
-9
0
0
0
1
0
0
0
0
-27
3
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
18
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
0
0
37
0
0
0
-13
0
0
7
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
14
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
0
0
23
0
0
0
5
21
0
15
0
0
0
0
0
0
-70
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
-11
0
-2
0
0
0
0
-1
1
0
52
0
0
0
0
0
1
21
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
12
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
-33
0
0
0
0
0
0
-25
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
2
22
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
38
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
0
5
0
18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
38
0
0
0
4
0
0
-18
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
15
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-1
0
-19
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
-2
0
0
2
0
0
0
0
0
0
12
14
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
0
8
-15
-9
0
0
-1
0
0
0
-1
-1
0
0
0
34
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
55
0
0
0
0
0
0
20
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
-4
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
2
0
0
0
-22
0
-3
35
0
0
0
0
0
0
-12
-1
-2
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
6
13
0
2
0
4
0
0
0
4
-1
1
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
19
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
3
0
0
0
-24
0
0
0
0
0
-1
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-27
0
0
0
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
32
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-37
0
0
0
0
0
0
15
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-7
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
0
0
0
0
0
1
21
19
-1
0
-16
0
0
0
40
-29
-9
43
0
-14
0
0
0
-10
-4
7
13
37
0
0
0
0
-5
-44
0
0
0
3
0
0
0
0
-2
1
-16
-1
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
-12
0
0
0
74
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-49
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
28
0
0
0
0
0
0
-9
4
0
0
37
0
0
0
-5
0
32
27
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
8
0
0
3
0
0
0
3
46
0
0
0
0
0
0
0
-5
0
2
5
0
0
0
0
0
-1
37
0
0
0
-21
0
0
0
0
0
0
7
0
0
0
0
0
-1
0
9
-1
0
0
0
0
0
12
-32
-2
0
0
-7
0
0
0
4
8
-11
-59
0
9
0
0
0
3
6
-3
0
17
-1
0
0
0
0
-21
7
0
0
-5
0
0
0
16
-21
3
-6
4
0
0
0
0
-5
11
13
27
0
-1
0
0
0
-5
23
4
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-21
0
0
0
14
0
0
0
0
-1
6
22
0
0
0
0
0
0
18
0
0
0
0
0
0
0
1
-6
0
0
0
-13
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
24
-1
0
0
11
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-15
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
37
0
0
0
0
0
0
-29
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
29
0
0
-2
0
0
0
-6
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
7
-22
0
-12
0
0
0
0
0
-2
5
5
-13
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-27
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
10
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
30
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
3
-15
0
0
0
-9
0
0
0
-2
1
4
-13
0
0
0
0
0
-9
40
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-10
-2
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
44
0
0
0
0
0
0
-15
-2
0
0
26
0
0
0
19
8
9
-40
0
0
0
0
0
5
-15
-4
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
49
-3
0
0
0
0
0
0
0
7
-1
-36
0
4
0
0
0
0
-19
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
10
0
0
0
21
0
0
0
0
13
5
-24
0
-8
0
0
0
0
34
0
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
10
0
-73
0
0
0
0
0
0
27
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
30
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
15
0
0
5
0
0
0
0
6
3
0
6
0
0
0
0
0
0
31
1
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
3
5
30
-13
0
0
0
0
0
-10
8
-3
5
0
-23
0
0
0
-30
6
4
10
0
0
0
0
0
-43
-7
-3
0
-4
0
0
0
0
12
-8
43
0
0
11
0
0
0
0
5
0
0
1
0
0
0
0
-8
0
-9
0
0
1
0
0
0
1
-21
15
0
0
33
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
22
1
1
-8
0
0
0
0
0
20
0
-20
0
2
0
0
0
0
27
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-11
0
0
0
-36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
8
0
0
0
0
0
0
16
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-34
5
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
0
-20
0
0
0
0
0
0
11
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
21
0
0
0
0
0
0
33
0
0
0
0
0
0
20
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-24
0
0
1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-25
1
0
0
-25
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
28
0
0
0
0
0
0
-13
-2
0
0
17
0
0
0
3
0
3
11
0
0
0
0
0
-5
6
1
0
-1
0
0
0
0
0
5
-27
0
0
0
0
0
0
0
-43
0
-3
1
0
0
0
0
-1
-18
-1
-2
0
2
0
0
0
0
19
-1
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
36
0
0
0
-26
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-51
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-69
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
-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
31
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
36
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
45
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
6
0
0
0
0
0
0
-59
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
-76
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-10
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
46
10
16
0
26
0
0
0
-26
3
7
-22
0
0
0
0
0
5
48
-4
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-5
-42
0
0
1
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
43
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
-36
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
4
0
0
11
0
0
0
0
4
0
-28
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
-56
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-41
0
0
0
-2
0
0
-39
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
36
0
0
0
0
0
0
23
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
-17
0
0
0
0
0
4
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-12
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
3
0
0
-36
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
24
0
0
0
0
0
0
7
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-13
0
0
0
-61
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
42
3
0
0
-40
0
0
0
0
0
8
-3
0
0
0
0
0
0
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
0
0
39
0
0
0
0
0
0
6
-4
0
0
48
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
47
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
16
0
0
0
-25
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
5
0
0
0
-40
0
0
0
0
0
0
11
0
0
0
0
0
6
-15
-18
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
-34
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
-24
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
3
0
0
0
0
-1
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
2
0
0
12
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
7
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
0
-14
8
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
61
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
27
0
0
0
0
0
0
-15
0
-1
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-19
0
0
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
-28
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
1
0
8
24
0
0
0
0
0
-3
36
1
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
1
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-9
0
0
0
7
0
0
-43
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
-2
0
0
0
0
10
0
0
-10
0
0
0
0
0
0
-9
1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
9
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-3
-24
0
-13
0
0
0
0
0
0
-9
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-6
0
0
0
0
0
0
0
0
0
-17
0
-2
0
0
0
0
-12
-4
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
-3
0
0
14
0
0
0
1
0
0
12
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
0
4
-1
0
1
0
0
0
0
3
7
5
0
0
0
0
0
9
0
0
-7
0
1
0
0
0
2
-10
9
0
0
37
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
4
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-20
30
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
7
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
2
6
-1
7
0
0
0
0
0
6
6
-3
-11
0
-1
0
0
0
0
-34
-4
0
0
21
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-2
0
-1
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-20
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
-3
0
1
2
1
0
0
0
0
19
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-11
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
-2
19
0
1
0
0
0
0
0
6
6
9
28
0
0
0
0
0
0
-7
-1
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
1
0
0
0
0
-4
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
51
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
0
0
0
0
-5
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
20
0
0
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
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
-2
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
0
0
14
0
0
0
0
0
0
15
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
49
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-19
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
-29
0
0
0
1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
-2
1
0
-2
0
0
0
0
0
0
7
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-26
0
0
0
0
0
0
7
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
2
-1
0
0
6
0
0
0
0
13
0
0
0
0
0
0
0
8
1
0
1
0
3
0
0
0
0
-6
1
0
0
55
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-37
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
0
18
0
0
0
0
0
0
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
9
0
0
0
0
0
0
-19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
-5
-4
1
0
0
0
0
0
0
-5
6
1
-3
0
0
0
0
0
0
4
-2
0
0
-15
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
19
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
5
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
-1
0
0
-20
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
-32
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-39
0
0
0
0
0
0
-20
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
17
0
0
0
0
0
0
-3
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-36
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
-13
0
0
0
0
13
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
0
-12
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
34
0
0
0
0
1
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-43
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
-2
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-44
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-51
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
10
0
0
0
0
0
0
5
0
0
0
77
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-22
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
-1
0
0
-25
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
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
9
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
-39
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
29
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
-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
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
-15
0
0
0
0
0
0
4
0
1
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
6
0
-17
0
0
0
0
0
3
26
-2
0
0
0
0
0
0
0
13
7
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
3
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
2
0
0
17
0
3
0
0
0
-2
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
85
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-17
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
39
0
0
0
1
0
0
-38
0
13
0
0
0
4
33
0
0
0
0
0
0
0
1
3
2
0
0
12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
19
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
5
0
0
0
43
0
0
0
5
0
0
-46
0
0
0
0
0
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
34
0
0
0
0
0
0
17
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
3
0
0
-13
0
0
0
0
0
0
10
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
0
0
-22
0
0
0
-13
0
0
3
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-12
-19
0
0
0
0
0
0
-7
0
0
7
0
0
0
0
0
0
-11
-1
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
24
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-7
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
-1
0
0
7
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
-56
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
5
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-11
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
-42
0
0
0
0
0
0
-17
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
7
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
17
0
0
0
14
14
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
-2
0
0
0
0
5
-1
0
0
0
0
0
0
-2
0
0
-46
0
0
0
0
0
0
-4
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-3
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
1
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-23
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-53
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
13
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
17
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
12
0
0
0
43
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
12
0
0
0
-41
0
0
0
0
0
0
46
0
-1
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
34
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-8
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
16
0
0
0
0
-2
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-3
0
0
-9
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
39
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
0
-3
0
0
-11
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
-4
2
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-8
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
12
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
-8
-2
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
-3
0
0
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
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
28
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
-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
-39
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
28
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-39
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
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
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-21
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
-2
-4
-14
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
7
0
0
-4
0
0
0
0
0
0
-6
0
0
0
-9
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-8
0
-1
8
0
0
0
0
0
0
-27
-1
0
0
16
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
5
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
7
0
0
0
44
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
21
0
0
0
0
0
0
16
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
-9
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
-1
0
30
0
0
0
0
0
0
-34
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-27
0
0
0
-1
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
4
2
0
-16
0
0
0
0
0
1
-10
0
0
0
-33
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
-8
0
0
0
0
0
9
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
14
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
-9
0
0
0
0
0
0
-9
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
19
0
0
0
0
0
0
-2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
39
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
8
0
7
0
0
0
0
0
0
8
-2
0
0
59
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
18
0
0
0
-1
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
-6
-2
2
0
0
0
0
0
0
0
-2
0
35
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
-8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-8
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
-9
5
0
0
0
0
0
0
-1
9
1
8
0
0
0
0
0
0
-8
2
0
0
-11
0
0
0
0
-3
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
-3
13
0
-11
0
0
0
0
0
0
1
14
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
-77
0
0
0
0
0
3
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
-5
15
-1
0
0
0
0
0
0
3
0
0
-25
0
0
0
0
0
0
11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
-46
0
0
0
0
1
0
-9
0
0
0
0
0
-9
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-47
0
0
0
0
3
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
-48
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
11
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-6
0
0
0
0
-6
0
19
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
7
2
0
0
0
0
0
0
-3
0
0
-10
0
0
0
0
0
-3
8
-6
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
30
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
2
0
0
-32
0
0
0
0
0
0
12
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
56
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
39
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
-2
0
37
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
1
4
0
5
0
0
0
0
0
0
0
3
0
0
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-70
0
0
0
0
0
0
-31
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
23
0
0
0
0
0
0
22
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-2
3
0
2
0
0
0
0
0
0
5
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-10
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
61
0
6
0
0
0
0
-14
-1
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
-44
0
0
0
0
0
0
2
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
-1
0
0
55
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
-5
1
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
-2
0
0
0
9
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-16
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
-24
0
0
-4
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
25
0
0
0
4
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
-30
0
0
0
0
0
0
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
43
0
0
0
0
0
0
10
2
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
-38
0
0
0
0
0
0
17
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
1
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
0
3
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
-39
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
1
-1
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
20
0
0
0
0
0
0
-14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-4
0
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-29
0
0
0
0
0
0
3
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
25
0
0
0
20
0
0
4
0
0
0
0
0
0
-24
-2
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
-1
1
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
13
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
-25
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
0
0
6
2
0
-16
0
5
0
0
0
0
-24
6
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
49
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
3
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
28
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
0
23
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
3
0
0
31
0
0
0
1
9
-5
0
0
9
0
0
0
0
-6
0
1
0
0
0
0
0
0
5
3
0
0
-4
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-33
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
-5
0
0
0
17
0
0
0
-15
3
0
0
0
0
0
0
0
5
-4
0
0
-2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
-4
0
0
-3
0
0
0
-1
3
0
0
0
3
0
0
0
0
-27
0
0
4
0
0
0
0
-1
7
2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
0
11
0
0
0
0
0
0
11
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
-15
0
0
0
0
6
-1
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
0
2
0
1
0
0
0
-3
1
0
0
0
0
0
0
0
2
0
0
18
0
0
0
0
0
0
17
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
4
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
-1
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
1
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
-4
-6
0
0
14
0
0
0
2
-9
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
5
-2
0
0
0
0
0
0
13
2
0
0
0
0
0
0
-2
-2
7
0
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-3
2
0
0
0
-24
0
0
0
0
5
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
-5
1
1
0
0
0
0
0
0
-4
0
0
25
0
0
0
0
0
0
10
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-19
0
0
0
-2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-22
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
2
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
6
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
-6
1
0
40
0
0
0
0
0
0
-5
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
4
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
-1
13
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
9
15
7
-5
0
0
0
0
0
5
8
0
37
0
0
0
0
0
-2
13
8
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
-9
0
0
0
0
0
0
0
-3
5
0
28
0
0
0
0
0
0
-7
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
-1
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
5
0
0
0
3
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
13
0
0
70
0
0
0
12
1
1
30
0
0
0
0
0
3
9
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
-11
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-52
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
-28
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
54
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
14
0
0
0
-2
0
-1
-15
0
0
0
0
0
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
12
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
6
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
25
0
0
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
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
37
0
0
0
0
-2
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-1
-4
0
0
0
19
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
-2
0
2
0
0
0
0
0
-1
8
0
0
0
0
0
0
9
14
1
0
0
0
0
0
0
5
0
0
46
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
-7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
39
0
0
0
-1
0
11
30
0
2
0
0
0
0
2
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
4
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
-4
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
30
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
-28
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
4
21
-5
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
-25
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-17
0
0
1
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
46
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-27
0
0
0
-28
0
0
0
0
0
0
25
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-1
0
7
-18
0
0
0
0
0
0
19
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
31
0
0
0
0
0
0
74
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-1
1
0
-11
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
48
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
-24
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-4
0
0
5
0
2
0
0
0
0
16
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
9
5
0
-20
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-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
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
12
0
0
0
0
0
0
-23
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
45
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
2
2
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
8
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
7
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-21
0
0
0
0
0
0
16
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
10
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
12
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
-7
0
0
0
0
0
0
38
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
16
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
58
0
0
0
0
0
0
27
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
16
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
2
0
0
0
9
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-3
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
1
0
0
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
-1
6
0
0
-46
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-18
1
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
15
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
0
0
3
-3
1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-9
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
5
0
0
0
1
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
8
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
2
0
0
-9
0
0
0
-2
2
0
-30
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
26
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
-5
0
-34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
-38
0
0
0
0
0
0
38
0
0
0
0
0
0
-32
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
-1
0
6
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
0
0
0
-7
5
0
0
0
0
0
0
-1
1
0
7
0
0
0
0
0
0
9
4
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
26
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
14
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-37
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-22
0
0
0
0
-2
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-1
2
0
-37
0
0
0
0
0
0
-14
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
12
0
0
0
0
2
0
-24
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
-12
-2
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
-3
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
-16
0
0
0
0
-1
0
-10
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-7
-5
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
13
-8
-3
0
0
0
0
0
0
-3
-1
-7
-1
0
0
0
0
0
0
-1
-1
3
0
51
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-4
3
0
18
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
-1
1
3
-19
0
0
0
0
0
0
13
6
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
-38
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
3
0
0
0
6
0
0
-25
0
-4
0
0
0
0
-2
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
48
0
0
0
-2
0
0
-9
0
0
0
0
0
0
24
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
41
0
0
0
7
0
0
0
0
0
0
0
0
0
8
-8
0
8
0
0
0
0
0
7
-7
0
0
0
0
0
0
1
-9
1
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
-2
0
0
0
-42
0
0
0
0
2
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
2
0
0
30
0
0
0
1
-10
7
-34
0
0
0
0
5
0
24
-2
0
-2
-1
0
0
0
1
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-10
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
14
0
0
0
-2
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
9
0
0
19
0
0
0
-4
7
0
16
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
2
0
-2
1
0
-2
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
-5
0
0
21
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
0
0
-18
0
0
0
-2
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
2
0
0
13
0
0
0
0
0
0
6
0
0
0
-71
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
0
0
-4
0
0
0
-3
0
0
-9
0
-1
0
0
0
0
-4
6
0
0
1
0
0
0
10
-1
0
0
0
-5
0
0
0
0
16
1
0
0
0
0
0
0
1
0
0
20
0
0
0
0
0
0
-16
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-17
2
0
0
-2
0
0
0
2
0
0
-10
0
3
0
0
0
0
-23
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
15
0
0
0
3
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
9
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
29
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
-13
0
0
0
0
0
0
-18
0
0
0
0
0
0
24
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
39
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
18
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
-43
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
19
-3
0
0
0
0
0
0
4
7
0
67
0
2
0
0
0
0
-8
-2
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-51
0
0
0
-16
0
0
0
0
2
0
-29
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
2
-4
0
0
0
0
0
0
18
0
37
0
0
0
0
0
-1
28
2
0
0
-23
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-92
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-5
0
0
-26
0
0
0
0
0
0
25
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
16
0
0
0
-2
4
0
2
0
0
0
0
0
0
19
6
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
-2
1
-4
0
0
2
0
0
0
0
3
0
1
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
3
0
0
0
0
-5
0
-29
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-1
0
-2
-2
0
0
0
0
0
2
-12
7
-8
0
0
0
0
0
-7
-12
3
-6
0
15
0
0
0
0
-11
-12
0
0
68
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
-22
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
14
0
1
0
0
0
0
13
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
3
0
-1
1
0
0
0
0
1
-1
0
5
0
-1
0
0
0
0
-13
1
0
0
26
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
53
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
-2
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
-12
0
0
0
0
-1
0
0
0
-5
0
0
0
-1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-18
0
0
0
5
9
-3
-11
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
21
0
0
0
0
2
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-16
0
0
0
-3
0
0
27
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
-8
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-9
0
0
0
0
0
0
10
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-24
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
17
0
0
0
0
0
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
6
0
0
0
0
1
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
2
6
-15
0
0
0
0
0
0
-9
2
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
37
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
2
0
0
85
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
50
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-11
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
59
0
0
0
6
0
0
-26
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
-10
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
6
0
0
5
0
0
0
8
0
0
-4
0
0
0
0
0
0
9
0
0
10
0
0
0
0
0
-1
4
0
0
0
0
0
0
-4
23
0
0
0
0
0
0
0
-2
0
0
-29
0
0
0
0
0
0
-4
1
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-40
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-40
0
0
0
-4
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-37
-1
0
0
-27
0
0
0
33
11
0
1
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
20
16
2
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
26
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
-13
2
0
0
0
0
0
0
2
0
0
9
0
0
0
0
0
0
-16
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
16
-19
0
0
-5
0
0
0
-22
-3
0
-3
0
5
0
0
0
8
-3
0
-1
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
-1
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-4
0
0
0
0
4
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
10
0
0
10
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
0
0
21
0
0
0
-6
5
0
-6
0
0
0
0
0
7
-14
0
0
0
0
0
0
0
-2
2
2
9
6
0
0
0
0
-2
-6
-10
0
0
0
0
0
0
3
0
4
-16
0
0
0
0
0
0
-13
-1
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
-2
2
0
12
0
0
0
0
0
-4
24
3
0
0
-25
0
0
0
22
3
2
-36
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
1
2
3
0
1
0
0
0
0
2
-6
0
0
0
0
0
0
9
14
0
-11
0
0
0
0
0
0
-38
2
0
0
-4
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
2
-2
0
0
-60
0
0
0
-9
1
4
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
11
13
0
-1
4
0
0
0
0
0
0
0
0
1
0
0
0
0
2
13
3
-50
0
0
0
0
0
5
-31
0
0
0
23
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-3
0
0
37
0
0
0
1
1
0
-32
0
0
0
0
0
1
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
1
0
0
29
0
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
2
0
0
0
0
0
0
40
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
10
0
0
-4
0
0
0
2
-5
0
1
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
0
13
-1
0
-27
0
0
0
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-4
6
0
0
34
0
0
0
5
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
-1
0
-1
2
0
0
0
3
4
-4
0
0
0
0
0
0
3
1
0
10
0
-2
0
0
0
0
-18
5
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
8
0
0
0
0
0
-1
5
3
0
0
33
0
0
0
3
0
0
40
0
0
0
0
0
0
14
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
18
42
12
1
0
0
0
0
0
-1
1
0
-21
0
0
0
0
0
0
1
-1
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
42
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-22
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
8
7
0
7
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
3
0
0
-3
0
0
0
-1
5
3
19
0
0
0
0
0
32
-10
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
1
-1
0
0
0
2
0
0
0
0
7
5
0
0
17
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
14
0
0
0
-51
0
0
0
0
0
0
-49
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-5
25
-2
5
0
0
0
0
0
-5
10
-3
-3
0
0
0
0
0
-11
-3
2
-27
0
-1
0
0
0
0
-6
-14
-10
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
3
-1
-29
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
28
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
25
0
0
0
0
0
0
-11
0
0
0
0
0
1
21
0
0
0
0
0
0
0
1
13
-2
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
-3
3
0
39
0
0
0
0
0
2
-4
10
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
59
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
32
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
-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
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
1
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
1
0
-15
0
0
0
0
0
0
-19
5
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
3
-2
0
-14
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
15
-5
0
0
-41
0
0
0
-1
9
0
20
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
2
0
0
0
0
1
0
0
11
0
0
0
0
0
0
13
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
20
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
3
0
0
-16
0
0
0
0
3
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
10
0
0
0
0
0
0
-37
0
0
0
17
0
0
0
5
8
9
0
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
2
8
-6
0
0
-8
0
0
0
10
-9
7
-4
0
0
0
0
0
-12
-1
1
-6
0
1
0
0
0
0
-7
5
0
0
-5
0
0
0
7
5
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
-2
0
0
-36
0
0
0
-7
17
-5
-56
0
2
0
0
0
-18
18
1
0
0
0
0
0
0
-1
-18
2
0
0
-2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
-2
0
-11
0
-4
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
0
11
0
-8
0
0
0
0
0
0
8
3
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
3
0
0
0
-26
0
0
0
6
-7
0
-18
0
0
0
0
0
-15
-26
1
0
0
0
0
0
0
-2
-22
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
15
-5
0
20
0
0
0
0
0
0
0
5
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-23
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
-15
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
4
0
0
15
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
14
0
19
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
3
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
10
0
17
0
0
0
0
0
0
7
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
23
-2
0
0
0
0
0
0
-2
0
0
-38
0
0
0
0
0
0
5
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
2
3
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
-34
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
2
4
0
21
0
0
0
0
0
0
-8
4
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
0
0
-13
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-32
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
7
0
0
11
0
0
0
0
0
0
47
0
0
0
0
0
0
28
-3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
38
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-28
0
0
0
0
0
0
26
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
26
6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
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
0
0
0
0
0
0
-37
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-28
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
6
0
0
0
-6
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
1
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
12
0
0
0
1
0
0
-1
0
-5
0
0
0
0
-23
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
12
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-38
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-27
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
45
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
24
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-58
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
64
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
24
0
0
0
-13
0
0
0
5
0
0
-24
0
0
0
0
0
0
-15
-20
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
12
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
-15
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
8
-5
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
30
0
0
0
9
0
1
6
0
0
0
0
0
1
10
2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
7
0
0
0
11
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
49
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
-10
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
14
14
-1
0
2
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
31
0
0
0
-33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
51
0
0
0
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-47
0
0
0
-5
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
43
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
16
0
0
0
-2
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-5
6
0
0
-1
0
0
0
-4
-6
0
14
0
0
0
0
0
0
-7
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
6
0
0
0
-9
0
0
9
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
5
3
0
0
0
0
0
0
-8
-1
0
-28
0
0
0
0
0
0
6
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
-12
0
0
0
0
0
0
37
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
1
0
0
-62
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
27
0
0
0
0
0
0
6
0
0
0
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
18
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
53
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
5
-1
0
-1
0
0
0
0
0
0
11
-7
0
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
1
0
0
34
0
0
0
5
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
31
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
-32
0
0
0
0
1
0
-20
0
0
0
0
0
0
-34
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
20
0
0
0
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
-23
0
0
0
-3
-1
0
22
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
0
0
-43
0
0
0
0
0
0
22
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-4
0
0
0
2
0
0
8
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-22
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
-1
0
0
27
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
10
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-4
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
-35
-10
13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
-38
-25
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
3
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
9
-1
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
-6
0
-16
-1
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
0
-9
-28
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
-6
-2
0
0
0
-1
-2
-7
3
-5
0
0
-28
-8
0
-23
-23
-8
0
0
0
-37
-7
-5
-13
-45
0
0
-29
-14
0
-3
-15
-11
0
0
0
2
4
3
-4
0
0
0
-12
-20
-6
-25
-28
0
-23
0
0
7
0
1
0
0
0
0
-4
24
0
-10
0
0
0
0
0
2
0
2
0
-12
0
-1
-5
-41
0
-14
-16
-10
0
0
0
6
-1
-6
2
-13
0
0
-11
14
-4
-14
-25
-11
0
0
0
-28
-13
-15
-12
-51
0
0
-37
-24
-2
3
-17
-21
0
0
0
1
3
-3
2
0
-4
-4
2
-7
2
-8
1
0
-8
0
0
11
0
1
0
0
0
0
-19
12
0
-11
-4
0
0
0
0
1
-2
3
0
-9
0
7
-5
-29
0
-15
-3
-14
0
0
0
-1
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
-3
0
-2
1
-3
0
0
-6
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-1
0
0
0
0
1
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
1
-1
0
0
0
-21
31
-5
35
-24
-3
1
0
19
79
-8
54
68
26
60
1
10
-42
-2
1
-4
-9
-14
-13
-3
-19
-41
-3
4
3
28
-47
-23
-31
-19
5
2
0
-9
21
8
-9
3
-9
8
7
-7
3
1
-8
-2
-9
-6
-4
-7
-2
-5
-1
18
20
3
18
-15
